diff options
134 files changed, 5925 insertions, 2966 deletions
diff --git a/Documentation/RelNotes-1.5.4.5.txt b/Documentation/RelNotes-1.5.4.5.txt new file mode 100644 index 0000000000..fe768d497f --- /dev/null +++ b/Documentation/RelNotes-1.5.4.5.txt @@ -0,0 +1,53 @@ +GIT v1.5.4.5 Release Notes +========================== + +Fixes since v1.5.4.4 +-------------------- + + * You couldn't specify a custom editor whose path contains a whitespace + via GIT_EDITOR (and core.editor). + + * The subdirectory filter to "git filter-branch" mishandled a history + where the subdirectory becomes empty and then later becomes non-empty. + + * "git shortlog" gave an empty line if the original commit message was + malformed (e.g. a botched import from foreign SCM). Now it finds the + first non-empty line and uses it for better information. + + * When the user fails to give a revision parameter to "git svn", an error + from the Perl interpreter was issued because the script lacked proper + error checking. + + * After "git rebase" stopped due to conflicts, if the user played with + "git reset" and friends, "git rebase --abort" failed to go back to the + correct commit. + + * Additional work trees prepared with git-new-workdir (in contrib/) did + not share git-svn metadata directory .git/svn with the original. + + * "git-merge-recursive" did not mark addition of the same path with + different filemodes correctly as a conflict. + + * "gitweb" gave malformed URL when pathinfo stype paths are in use. + + * "-n" stands for "--no-tags" again for "git fetch". + + * "git format-patch" did not detect the need to add 8-bit MIME header + when the user used format.header configuration. + + * "rev~" revision specifier used to mean "rev", which was inconsistent + with how "rev^" worked. Now "rev~" is the same as "rev~1" (hence it + also is the same as "rev^1"), and "rev~0" is the same as "rev^0" + (i.e. it has to be a commit). + + * "git quiltimport" did not grok empty lines, lines in "file -pNNN" + format to specify the prefix levels and lines with trailing comments. + + * "git rebase -m" triggered pre-commit verification, which made + "rebase --continue" impossible. + +-- +exec >/var/tmp/1 +echo O=$(git describe maint) +O=v1.5.4.4-25-ga6f7728 +git shortlog --no-merges $O..maint diff --git a/Documentation/RelNotes-1.5.5.txt b/Documentation/RelNotes-1.5.5.txt index 874dad9a4f..e31ae6a293 100644 --- a/Documentation/RelNotes-1.5.5.txt +++ b/Documentation/RelNotes-1.5.5.txt @@ -6,7 +6,16 @@ Updates since v1.5.4 (subsystems) - * Comes with git-gui 0.9.3 + * Comes with git-gui 0.9.3. + +(portability) + + * We shouldn't ask for BSD group ownership semantics by setting g+s bit + on directories on older BSD systems that refuses chmod() by non root + users. BSD semantics is the default there anyway. + + * Bunch of portability improvement patches coming from an effort to port + to Solaris has been applied. (performance) @@ -27,6 +36,9 @@ Updates since v1.5.4 (usability, bells and whistles) + * Bash completion script (in contrib) are aware of more commands and + options. + * You can be warned when core.autocrlf conversion is applied in such a way that results in an irreversible conversion. @@ -54,11 +66,6 @@ Updates since v1.5.4 used to tell "git-fetch" and "git-push" to use different URL than what is given from the command line. - * "git push <somewhere> HEAD" and "git push <somewhere> +HEAD" works as - expected; they push the current branch (and only the current branch). - In addition, HEAD can be written as the value of "remote.<there>.push" - configuration variable. - * "git add -i" behaves better even before you make an initial commit. * "git am" refused to run from a subdirectory without a good reason. @@ -114,24 +121,46 @@ Updates since v1.5.4 * "git gc" learned --quiet option. + * "git gc" now automatically prunes unreachable objects that are two + weeks old or older. + * "git grep" now knows "--name-only" is a synonym for the "-l" option. * "git help <alias>" now reports "'git <alias>' is alias to <what>", instead of saying "No manual entry for git-<alias>". + * "git help" can use different backends to show manual pages and this can + be configured using "man.viewer" configuration. + + * "gitk" does not restore window position from $HOME/.gitk anymore (it + still restores the size). + * "git log --grep=<what>" learned "--fixed-strings" option to look for <what> without treating it as a regular expression. * "git gui" learned an auto-spell checking. + * "git push <somewhere> HEAD" and "git push <somewhere> +HEAD" works as + expected; they push the current branch (and only the current branch). + In addition, HEAD can be written as the value of "remote.<there>.push" + configuration variable. + + * When the configuration variable "pack.threads" is set to 0, "git + repack" auto detects the number of CPUs and uses that many threads. + * "git send-email" learned to prompt for passwords interactively. * "git send-email" learned an easier way to suppress CC recipients. - * When the configuration variable "pack.threads" is set to 0, "git - repack" auto detects the number of CPUs and uses that many threads. + * "git stash" learned "pop" command, that applies the latest stash and + removes it from the stash, and "drop" command to discard the named + stash entry. + + * "git submodule" learned a new subcommand "summary" to show the + symmetric difference between the HEAD version and the work tree version + of the submodule commits. * Various "git cvsimport", "git cvsexportcommit", "git svn" and "git p4" improvements. @@ -146,6 +175,8 @@ Updates since v1.5.4 * "git checkout" is rewritten in C. + * "git remote" is rewritten in C. + * Two conflict hunks that are separated by a very short span of common lines are now coalesced into one larger hunk, to make the result easier to read. @@ -153,6 +184,8 @@ Updates since v1.5.4 * Run-command API's use of file descriptors is documented clearer and is more consistent now. + * diff output can be sent to FILE * that is different from stdout. This + will help reimplementing more things in C. Fixes since v1.5.4 ------------------ @@ -168,6 +201,6 @@ this release, unless otherwise noted. --- exec >/var/tmp/1 -O=v1.5.4.3-428-g6b48990 +O=v1.5.4.4-620-gc817faa echo O=`git describe refs/heads/master` git shortlog --no-merges $O..refs/heads/master ^refs/heads/maint diff --git a/Documentation/config.txt b/Documentation/config.txt index c5e094a9c4..0865f4e01a 100644 --- a/Documentation/config.txt +++ b/Documentation/config.txt @@ -420,6 +420,11 @@ branch.<name>.rebase:: it unless you understand the implications (see linkgit:git-rebase[1] for details). +browser.<tool>.cmd:: + Specify the command to invoke the specified browser. The + specified command is evaluated in shell with the URLs passed + as arguments. (See linkgit:git-web--browse[1].) + browser.<tool>.path:: Override the path for the given tool that may be used to browse HTML help (see '-w' option in linkgit:git-help[1]) or a @@ -590,6 +595,10 @@ gc.packrefs:: at some stage, and setting this to `false` will continue to prevent `git pack-refs` from being run from `git gc`. +gc.pruneexpire:: + When `git gc` is run, it will call `prune --expire 2.weeks.ago`. + Override the grace period with this config variable. + gc.reflogexpire:: `git reflog expire` removes reflog entries older than this time; defaults to 90 days. @@ -748,6 +757,10 @@ log.showroot:: Tools like linkgit:git-log[1] or linkgit:git-whatchanged[1], which normally hide the root commit will now show it. True by default. +man.viewer:: + Specify the programs that may be used to display help in the + 'man' format. See linkgit:git-help[1]. + merge.summary:: Whether to include summaries of merged commits in newly created merge commit messages. False by default. @@ -860,7 +873,7 @@ pack.indexVersion:: whenever the corresponding pack is larger than 2 GB. Otherwise the default is 1. -pack.packSizeLimit: +pack.packSizeLimit:: The default maximum size of a pack. This setting only affects packing to a file, i.e. the git:// protocol is unaffected. It can be overridden by the `\--max-pack-size` option of diff --git a/Documentation/git-add.txt b/Documentation/git-add.txt index 47799097ce..c751a17d07 100644 --- a/Documentation/git-add.txt +++ b/Documentation/git-add.txt @@ -207,16 +207,14 @@ patch:: and the working tree file and asks you if you want to stage the change of each hunk. You can say: - y - add the change from that hunk to index - n - do not add the change from that hunk to index - a - add the change from that hunk and all the rest to index - d - do not the change from that hunk nor any of the rest to index - j - do not decide on this hunk now, and view the next - undecided hunk - J - do not decide on this hunk now, and view the next hunk - k - do not decide on this hunk now, and view the previous - undecided hunk - K - do not decide on this hunk now, and view the previous hunk + y - stage this hunk + n - do not stage this hunk + a - stage this and all the remaining hunks in the file + d - do not stage this hunk nor any of the remaining hunks in the file + j - leave this hunk undecided, see next undecided hunk + J - leave this hunk undecided, see next hunk + k - leave this hunk undecided, see previous undecided hunk + K - leave this hunk undecided, see previous hunk s - split the current hunk into smaller hunks ? - print help + diff --git a/Documentation/git-gc.txt b/Documentation/git-gc.txt index 2e7be916aa..229a7c9b30 100644 --- a/Documentation/git-gc.txt +++ b/Documentation/git-gc.txt @@ -8,7 +8,7 @@ git-gc - Cleanup unnecessary files and optimize the local repository SYNOPSIS -------- -'git-gc' [--prune] [--aggressive] [--auto] [--quiet] +'git-gc' [--aggressive] [--auto] [--quiet] DESCRIPTION ----------- @@ -25,17 +25,6 @@ operating performance. Some git commands may automatically run OPTIONS ------- ---prune:: - Usually `git-gc` packs refs, expires old reflog entries, - packs loose objects, - and removes old 'rerere' records. Removal - of unreferenced loose objects is an unsafe operation - while other git operations are in progress, so it is not - done by default. Pass this option if you want it, and only - when you know nobody else is creating new objects in the - repository at the same time (e.g. never use this option - in a cron script). - --aggressive:: Usually 'git-gc' runs very quickly while providing good disk space utilization and performance. This option will cause @@ -104,6 +93,10 @@ the value, the more time is spent optimizing the delta compression. See the documentation for the --window' option in linkgit:git-repack[1] for more details. This defaults to 10. +The optional configuration variable 'gc.pruneExpire' controls how old +the unreferenced loose objects have to be before they are pruned. The +default is "2 weeks ago". + See Also -------- linkgit:git-prune[1] diff --git a/Documentation/git-help.txt b/Documentation/git-help.txt index 0926dc12ba..be2ae53b90 100644 --- a/Documentation/git-help.txt +++ b/Documentation/git-help.txt @@ -33,17 +33,21 @@ OPTIONS option supersedes any other option. -i|--info:: - Use the 'info' program to display the manual page, instead of - the 'man' program that is used by default. + Display manual page for the command in the 'info' format. The + 'info' program will be used for that purpose. -m|--man:: - Use the 'man' program to display the manual page. This may be - used to override a value set in the 'help.format' - configuration variable. + Display manual page for the command in the 'man' format. This + option may be used to override a value set in the + 'help.format' configuration variable. ++ +By default the 'man' program will be used to display the manual page, +but the 'man.viewer' configuration variable may be used to choose +other display programs (see below). -w|--web:: - Use a web browser to display the HTML manual page, instead of - the 'man' program that is used by default. + Display manual page for the command in the 'web' (HTML) + format. A web browser will be used for that purpose. + The web browser can be specified using the configuration variable 'help.browser', or 'web.browser' if the former is not set. If none of @@ -54,6 +58,9 @@ linkgit:git-web--browse[1] for more information about this. CONFIGURATION VARIABLES ----------------------- +help.format +~~~~~~~~~~~ + If no command line option is passed, the 'help.format' configuration variable will be checked. The following values are supported for this variable; they make 'git-help' behave as their corresponding command @@ -61,15 +68,47 @@ line option: * "man" corresponds to '-m|--man', * "info" corresponds to '-i|--info', -* "web" or "html" correspond to '-w|--web', +* "web" or "html" correspond to '-w|--web'. + +help.browser, web.browser and browser.<tool>.path +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The 'help.browser', 'web.browser' and 'browser.<tool>.path' will also be checked if the 'web' format is chosen (either by command line option or configuration variable). See '-w|--web' in the OPTIONS section above and linkgit:git-web--browse[1]. -Note that these configuration variables should probably be set using -the '--global' flag, for example like this: +man.viewer +~~~~~~~~~~ + +The 'man.viewer' config variable will be checked if the 'man' format +is chosen. Only the following values are currently supported: + +* "man": use the 'man' program as usual, +* "woman": use 'emacsclient' to launch the "woman" mode in emacs +(this only works starting with emacsclient versions 22), +* "konqueror": use a man KIO slave in konqueror. + +Multiple values may be given to this configuration variable. Their +corresponding programs will be tried in the order listed in the +configuration file. + +For example, this configuration: + + [man] + viewer = konqueror + viewer = woman + +will try to use konqueror first. But this may fail (for example if +DISPLAY is not set) and in that case emacs' woman mode will be tried. + +If everything fails the 'man' program will be tried anyway. + +Note about git config --global +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Note that all these configuration variables should probably be set +using the '--global' flag, for example like this: ------------------------------------------------ $ git config --global help.format web diff --git a/Documentation/git-submodule.txt b/Documentation/git-submodule.txt index b4d01605a5..41f9f63566 100644 --- a/Documentation/git-submodule.txt +++ b/Documentation/git-submodule.txt @@ -12,6 +12,7 @@ SYNOPSIS 'git-submodule' [--quiet] add [-b branch] [--] <repository> [<path>] 'git-submodule' [--quiet] status [--cached] [--] [<path>...] 'git-submodule' [--quiet] [init|update] [--] [<path>...] +'git-submodule' [--quiet] summary [--summary-limit <n>] [commit] [--] [<path>...] COMMANDS @@ -47,6 +48,11 @@ update:: checkout the commit specified in the index of the containing repository. This will make the submodules HEAD be detached. +summary:: + Show commit summary between the given commit (defaults to HEAD) and + working tree/index. For a submodule in question, a series of commits + in the submodule between the given super project commit and the + index or working tree (switched by --cached) are shown. OPTIONS ------- @@ -57,9 +63,16 @@ OPTIONS Branch of repository to add as submodule. --cached:: - Display the SHA-1 stored in the index, not the SHA-1 of the currently - checked out submodule commit. This option is only valid for the - status command. + This option is only valid for status and summary commands. These + commands typically use the commit found in the submodule HEAD, but + with this option, the commit stored in the index is used instead. + +-n, --summary-limit:: + This option is only valid for the summary command. + Limit the summary size (number of commits shown in total). + Giving 0 will disable the summary; a negative number means unlimted + (the default). This limit only applies to modified submodules. The + size is always limited to 1 for added/deleted/typechanged submodules. <path>:: Path to submodule(s). When specified this will restrict the command diff --git a/Documentation/git-web--browse.txt b/Documentation/git-web--browse.txt index df57d010e5..ddbae5b194 100644 --- a/Documentation/git-web--browse.txt +++ b/Documentation/git-web--browse.txt @@ -27,6 +27,8 @@ The following browsers (or commands) are currently supported: * dillo * open (this is the default under Mac OS X GUI) +Custom commands may also be specified. + OPTIONS ------- -b BROWSER|--browser=BROWSER:: @@ -43,16 +45,35 @@ OPTIONS CONFIGURATION VARIABLES ----------------------- +CONF.VAR (from -c option) and web.browser +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + The web browser can be specified using a configuration variable passed with the -c (or --config) command line option, or the 'web.browser' configuration variable if the former is not used. +browser.<tool>.path +~~~~~~~~~~~~~~~~~~~ + You can explicitly provide a full path to your preferred browser by setting the configuration variable 'browser.<tool>.path'. For example, you can configure the absolute path to firefox by setting 'browser.firefox.path'. Otherwise, 'git-web--browse' assumes the tool is available in PATH. +browser.<tool>.cmd +~~~~~~~~~~~~~~~~~~ + +When the browser, specified by options or configuration variables, is +not among the supported ones, then the corresponding +'browser.<tool>.cmd' configuration variable will be looked up. If this +variable exists then "git web--browse" will treat the specified tool +as a custom command and will use a shell eval to run the command with +the URLs passed as arguments. + +Note about git config --global +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Note that these configuration variables should probably be set using the '--global' flag, for example like this: diff --git a/Documentation/manpage-1.72.xsl b/Documentation/manpage-1.72.xsl index fe3cd72d6f..4065a3a27a 100644 --- a/Documentation/manpage-1.72.xsl +++ b/Documentation/manpage-1.72.xsl @@ -1,5 +1,9 @@ -<!-- callout.xsl: converts asciidoc callouts to man page format --> +<!-- Based on callouts.xsl. Fixes man page callouts for DocBook 1.72 XSL --> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> + +<xsl:param name="man.output.quietly" select="1"/> +<xsl:param name="refentry.meta.get.quietly" select="1"/> + <xsl:template match="co"> <xsl:value-of select="concat('▓fB(',substring-after(@id,'-'),')▓fR')"/> </xsl:template> @@ -148,6 +148,9 @@ all:: # is a simplified version of the merge sort used in glibc. This is # recommended if Git triggers O(n^2) behavior in your platform's qsort(). # +# Define NO_EXTERNAL_GREP if you don't want "git grep" to ever call +# your external grep (e.g., if your system lacks grep, if its grep is +# broken, or spawning external process is slower than built-in grep git has). GIT-VERSION-FILE: .FORCE-GIT-VERSION-FILE @$(SHELL_PATH) ./GIT-VERSION-GEN @@ -886,6 +889,9 @@ endif ifdef DIR_HAS_BSD_GROUP_SEMANTICS COMPAT_CFLAGS += -DDIR_HAS_BSD_GROUP_SEMANTICS endif +ifdef NO_EXTERNAL_GREP + BASIC_CFLAGS += -DNO_EXTERNAL_GREP +endif ifeq ($(TCLTK_PATH),) NO_TCLTK=NoThanks @@ -993,6 +999,7 @@ common-cmds.h: $(wildcard Documentation/git-*.txt) $(patsubst %.sh,%,$(SCRIPT_SH)) : % : %.sh $(QUIET_GEN)$(RM) $@ $@+ && \ sed -e '1s|#!.*/sh|#!$(SHELL_PATH_SQ)|' \ + -e 's|@SHELL_PATH@|$(SHELL_PATH_SQ)|' \ -e 's|@@PERL@@|$(PERL_PATH_SQ)|g' \ -e 's/@@GIT_VERSION@@/$(GIT_VERSION)/g' \ -e 's/@@NO_CURL@@/$(NO_CURL)/g' \ diff --git a/builtin-fetch.c b/builtin-fetch.c index 55f611e3c2..b2b9935ed6 100644 --- a/builtin-fetch.c +++ b/builtin-fetch.c @@ -40,6 +40,8 @@ static struct option builtin_fetch_options[] = { "force overwrite of local branch"), OPT_SET_INT('t', "tags", &tags, "fetch all tags and associated objects", TAGS_SET), + OPT_SET_INT('n', NULL, &tags, + "do not fetch all tags (--no-tags)", TAGS_UNSET), OPT_BOOLEAN('k', "keep", &keep, "keep downloaded pack"), OPT_BOOLEAN('u', "update-head-ok", &update_head_ok, "allow updating of HEAD ref"), diff --git a/builtin-gc.c b/builtin-gc.c index 045bf0e487..95917d74a8 100644 --- a/builtin-gc.c +++ b/builtin-gc.c @@ -26,12 +26,13 @@ static int pack_refs = 1; static int aggressive_window = -1; static int gc_auto_threshold = 6700; static int gc_auto_pack_limit = 20; +static char *prune_expire = "2.weeks.ago"; #define MAX_ADD 10 static const char *argv_pack_refs[] = {"pack-refs", "--all", "--prune", NULL}; static const char *argv_reflog[] = {"reflog", "expire", "--all", NULL}; static const char *argv_repack[MAX_ADD] = {"repack", "-d", "-l", NULL}; -static const char *argv_prune[] = {"prune", NULL}; +static const char *argv_prune[] = {"prune", "--expire", NULL, NULL}; static const char *argv_rerere[] = {"rerere", "gc", NULL}; static int gc_config(const char *var, const char *value) @@ -55,6 +56,17 @@ static int gc_config(const char *var, const char *value) gc_auto_pack_limit = git_config_int(var, value); return 0; } + if (!strcmp(var, "gc.pruneexpire")) { + if (!value) + return config_error_nonbool(var); + if (strcmp(value, "now")) { + unsigned long now = approxidate("now"); + if (approxidate(value) >= now) + return error("Invalid %s: '%s'", var, value); + } + prune_expire = xstrdup(value); + return 0; + } return git_default_config(var, value); } @@ -234,7 +246,8 @@ int cmd_gc(int argc, const char **argv, const char *prefix) if (run_command_v_opt(argv_repack, RUN_GIT_CMD)) return error(FAILED_RUN, argv_repack[0]); - if (prune && run_command_v_opt(argv_prune, RUN_GIT_CMD)) + argv_prune[2] = prune_expire; + if (run_command_v_opt(argv_prune, RUN_GIT_CMD)) return error(FAILED_RUN, argv_prune[0]); if (run_command_v_opt(argv_rerere, RUN_GIT_CMD)) diff --git a/builtin-grep.c b/builtin-grep.c index f4f4ecb11b..ef299108f5 100644 --- a/builtin-grep.c +++ b/builtin-grep.c @@ -12,6 +12,14 @@ #include "builtin.h" #include "grep.h" +#ifndef NO_EXTERNAL_GREP +#ifdef __unix__ +#define NO_EXTERNAL_GREP 0 +#else +#define NO_EXTERNAL_GREP 1 +#endif +#endif + /* * git grep pathspecs are somewhat different from diff-tree pathspecs; * pathname wildcards are allowed. @@ -153,7 +161,7 @@ static int grep_file(struct grep_opt *opt, const char *filename) return i; } -#ifdef __unix__ +#if !NO_EXTERNAL_GREP static int exec_grep(int argc, const char **argv) { pid_t pid; @@ -372,7 +380,7 @@ static int grep_cache(struct grep_opt *opt, const char **paths, int cached) int nr; read_cache(); -#ifdef __unix__ +#if !NO_EXTERNAL_GREP /* * Use the external "grep" command for the case where * we grep through the checked-out files. It tends to diff --git a/builtin-log.c b/builtin-log.c index d983cbc7bc..5c00725f03 100644 --- a/builtin-log.c +++ b/builtin-log.c @@ -662,6 +662,7 @@ static void make_cover_letter(struct rev_info *rev, int use_stdout, int i; const char *encoding = "utf-8"; struct diff_options opts; + int need_8bit_cte = 0; if (rev->commit_format != CMIT_FMT_EMAIL) die("Cover letter needs email format"); @@ -672,7 +673,8 @@ static void make_cover_letter(struct rev_info *rev, int use_stdout, head_sha1 = sha1_to_hex(head->object.sha1); - log_write_email_headers(rev, head_sha1, &subject_start, &extra_headers); + log_write_email_headers(rev, head_sha1, &subject_start, &extra_headers, + &need_8bit_cte); committer = git_committer_info(0); @@ -681,7 +683,7 @@ static void make_cover_letter(struct rev_info *rev, int use_stdout, pp_user_info(NULL, CMIT_FMT_EMAIL, &sb, committer, DATE_RFC2822, encoding); pp_title_line(CMIT_FMT_EMAIL, &msg, &sb, subject_start, extra_headers, - encoding, 0); + encoding, need_8bit_cte); pp_remainder(CMIT_FMT_EMAIL, &msg, &sb, 0); printf("%s\n", sb.buf); diff --git a/builtin-merge-file.c b/builtin-merge-file.c index adce6d4635..3605960c2d 100644 --- a/builtin-merge-file.c +++ b/builtin-merge-file.c @@ -57,7 +57,8 @@ int cmd_merge_file(int argc, const char **argv, const char *prefix) if (!f) ret = error("Could not open %s for writing", filename); - else if (fwrite(result.ptr, result.size, 1, f) != 1) + else if (result.size && + fwrite(result.ptr, result.size, 1, f) != 1) ret = error("Could not write to %s", filename); else if (fclose(f)) ret = error("Could not close %s", filename); diff --git a/builtin-merge-recursive.c b/builtin-merge-recursive.c index 5c7fbb2599..910c0d20e7 100644 --- a/builtin-merge-recursive.c +++ b/builtin-merge-recursive.c @@ -668,9 +668,20 @@ static struct merge_file_info merge_file(struct diff_filespec *o, if (!sha_eq(a->sha1, o->sha1) && !sha_eq(b->sha1, o->sha1)) result.merge = 1; - result.mode = a->mode == o->mode ? b->mode: a->mode; + /* + * Merge modes + */ + if (a->mode == b->mode || a->mode == o->mode) + result.mode = b->mode; + else { + result.mode = a->mode; + if (b->mode != o->mode) { + result.clean = 0; + result.merge = 1; + } + } - if (sha_eq(a->sha1, o->sha1)) + if (sha_eq(a->sha1, b->sha1) || sha_eq(a->sha1, o->sha1)) hashcpy(result.sha, b->sha1); else if (sha_eq(b->sha1, o->sha1)) hashcpy(result.sha, a->sha1); diff --git a/builtin-pack-objects.c b/builtin-pack-objects.c index f504cff756..777f272668 100644 --- a/builtin-pack-objects.c +++ b/builtin-pack-objects.c @@ -454,6 +454,7 @@ static void write_pack_file(void) struct pack_header hdr; int do_progress = progress >> pack_to_stdout; uint32_t nr_remaining = nr_result; + time_t last_mtime = 0; if (do_progress) progress_state = start_progress("Writing objects", nr_result); @@ -504,6 +505,7 @@ static void write_pack_file(void) if (!pack_to_stdout) { mode_t mode = umask(0); + struct stat st; char *idx_tmp_name, tmpname[PATH_MAX]; umask(mode); @@ -511,6 +513,7 @@ static void write_pack_file(void) idx_tmp_name = write_idx_file(NULL, written_list, nr_written, sha1); + snprintf(tmpname, sizeof(tmpname), "%s-%s.pack", base_name, sha1_to_hex(sha1)); if (adjust_perm(pack_tmp_name, mode)) @@ -519,6 +522,28 @@ static void write_pack_file(void) if (rename(pack_tmp_name, tmpname)) die("unable to rename temporary pack file: %s", strerror(errno)); + + /* + * Packs are runtime accessed in their mtime + * order since newer packs are more likely to contain + * younger objects. So if we are creating multiple + * packs then we should modify the mtime of later ones + * to preserve this property. + */ + if (stat(tmpname, &st) < 0) { + warning("failed to stat %s: %s", + tmpname, strerror(errno)); + } else if (!last_mtime) { + last_mtime = st.st_mtime; + } else { + struct utimbuf utb; + utb.actime = st.st_atime; + utb.modtime = --last_mtime; + if (utime(tmpname, &utb) < 0) + warning("failed utime() on %s: %s", + tmpname, strerror(errno)); + } + snprintf(tmpname, sizeof(tmpname), "%s-%s.idx", base_name, sha1_to_hex(sha1)); if (adjust_perm(idx_tmp_name, mode)) @@ -527,6 +552,7 @@ static void write_pack_file(void) if (rename(idx_tmp_name, tmpname)) die("unable to rename temporary index file: %s", strerror(errno)); + free(idx_tmp_name); free(pack_tmp_name); puts(sha1_to_hex(sha1)); diff --git a/builtin-read-tree.c b/builtin-read-tree.c index 160456dad1..e9cfd2bbc5 100644 --- a/builtin-read-tree.c +++ b/builtin-read-tree.c @@ -13,16 +13,15 @@ #include "dir.h" #include "builtin.h" -#define MAX_TREES 8 static int nr_trees; -static struct tree *trees[MAX_TREES]; +static struct tree *trees[MAX_UNPACK_TREES]; static int list_tree(unsigned char *sha1) { struct tree *tree; - if (nr_trees >= MAX_TREES) - die("I cannot read more than %d trees", MAX_TREES); + if (nr_trees >= MAX_UNPACK_TREES) + die("I cannot read more than %d trees", MAX_UNPACK_TREES); tree = parse_tree_indirect(sha1); if (!tree) return -1; @@ -97,7 +96,7 @@ int cmd_read_tree(int argc, const char **argv, const char *unused_prefix) { int i, newfd, stage = 0; unsigned char sha1[20]; - struct tree_desc t[MAX_TREES]; + struct tree_desc t[MAX_UNPACK_TREES]; struct unpack_trees_options opts; memset(&opts, 0, sizeof(opts)); diff --git a/builtin-shortlog.c b/builtin-shortlog.c index b22b0edd65..bd795b1db7 100644 --- a/builtin-shortlog.c +++ b/builtin-shortlog.c @@ -229,7 +229,9 @@ int cmd_shortlog(int argc, const char **argv, const char *prefix) { struct shortlog log; struct rev_info rev; + int nongit; + prefix = setup_git_directory_gently(&nongit); shortlog_init(&log); /* since -n is a shadowed rev argument, parse our args first */ @@ -259,7 +261,7 @@ int cmd_shortlog(int argc, const char **argv, const char *prefix) die ("unrecognized argument: %s", argv[1]); /* assume HEAD if from a tty */ - if (!rev.pending.nr && isatty(0)) + if (!nongit && !rev.pending.nr && isatty(0)) add_head_to_pending(&rev); if (rev.pending.nr == 0) { read_from_stdin(&log); @@ -70,7 +70,7 @@ extern void pretty_print_commit(enum cmit_fmt fmt, const struct commit*, struct strbuf *, int abbrev, const char *subject, const char *after_subject, enum date_mode, - int non_ascii_present); + int need_8bit_cte); void pp_user_info(const char *what, enum cmit_fmt fmt, struct strbuf *sb, const char *line, enum date_mode dmode, const char *encoding); @@ -80,7 +80,7 @@ void pp_title_line(enum cmit_fmt fmt, const char *subject, const char *after_subject, const char *encoding, - int plain_non_ascii); + int need_8bit_cte); void pp_remainder(enum cmit_fmt fmt, const char **msg_p, struct strbuf *sb, diff --git a/config.mak.in b/config.mak.in index 8e1cd5f03d..7868dfd93a 100644 --- a/config.mak.in +++ b/config.mak.in @@ -46,4 +46,5 @@ NO_MKDTEMP=@NO_MKDTEMP@ NO_ICONV=@NO_ICONV@ OLD_ICONV=@OLD_ICONV@ NO_DEFLATE_BOUND=@NO_DEFLATE_BOUND@ +FREAD_READS_DIRECTORIES=@FREAD_READS_DIRECTORIES@ SNPRINTF_RETURNS_BOGUS=@SNPRINTF_RETURNS_BOGUS@ diff --git a/configure.ac b/configure.ac index 287149d304..82584e9153 100644 --- a/configure.ac +++ b/configure.ac @@ -327,6 +327,26 @@ else fi AC_SUBST(NO_C99_FORMAT) # +# Define FREAD_READS_DIRECTORIES if your are on a system which succeeds +# when attempting to read from an fopen'ed directory. +AC_CACHE_CHECK([whether system succeeds to read fopen'ed directory], + [ac_cv_fread_reads_directories], +[ +AC_RUN_IFELSE( + [AC_LANG_PROGRAM([AC_INCLUDES_DEFAULT], + [[char c; + FILE *f = fopen(".", "r"); + return f && fread(&c, 1, 1, f)]])], + [ac_cv_fread_reads_directories=no], + [ac_cv_fread_reads_directories=yes]) +]) +if test $ac_cv_fread_reads_directories = yes; then + FREAD_READS_DIRECTORIES=UnfortunatelyYes +else + FREAD_READS_DIRECTORIES= +fi +AC_SUBST(FREAD_READS_DIRECTORIES) +# # Define SNPRINTF_RETURNS_BOGUS if your are on a system which snprintf() # or vsnprintf() return -1 instead of number of characters which would # have been written to the final string if enough space had been available. diff --git a/contrib/examples/git-rerere.perl b/contrib/examples/git-rerere.perl new file mode 100755 index 0000000000..4f692091e7 --- /dev/null +++ b/contrib/examples/git-rerere.perl @@ -0,0 +1,284 @@ +#!/usr/bin/perl +# +# REuse REcorded REsolve. This tool records a conflicted automerge +# result and its hand resolution, and helps to resolve future +# automerge that results in the same conflict. +# +# To enable this feature, create a directory 'rr-cache' under your +# .git/ directory. + +use Digest; +use File::Path; +use File::Copy; + +my $git_dir = $::ENV{GIT_DIR} || ".git"; +my $rr_dir = "$git_dir/rr-cache"; +my $merge_rr = "$git_dir/rr-cache/MERGE_RR"; + +my %merge_rr = (); + +sub read_rr { + if (!-f $merge_rr) { + %merge_rr = (); + return; + } + my $in; + local $/ = "\0"; + open $in, "<$merge_rr" or die "$!: $merge_rr"; + while (<$in>) { + chomp; + my ($name, $path) = /^([0-9a-f]{40})\t(.*)$/s; + $merge_rr{$path} = $name; + } + close $in; +} + +sub write_rr { + my $out; + open $out, ">$merge_rr" or die "$!: $merge_rr"; + for my $path (sort keys %merge_rr) { + my $name = $merge_rr{$path}; + print $out "$name\t$path\0"; + } + close $out; +} + +sub compute_conflict_name { + my ($path) = @_; + my @side = (); + my $in; + open $in, "<$path" or die "$!: $path"; + + my $sha1 = Digest->new("SHA-1"); + my $hunk = 0; + while (<$in>) { + if (/^<<<<<<< .*/) { + $hunk++; + @side = ([], undef); + } + elsif (/^=======$/) { + $side[1] = []; + } + elsif (/^>>>>>>> .*/) { + my ($one, $two); + $one = join('', @{$side[0]}); + $two = join('', @{$side[1]}); + if ($two le $one) { + ($one, $two) = ($two, $one); + } + $sha1->add($one); + $sha1->add("\0"); + $sha1->add($two); + $sha1->add("\0"); + @side = (); + } + elsif (@side == 0) { + next; + } + elsif (defined $side[1]) { + push @{$side[1]}, $_; + } + else { + push @{$side[0]}, $_; + } + } + close $in; + return ($sha1->hexdigest, $hunk); +} + +sub record_preimage { + my ($path, $name) = @_; + my @side = (); + my ($in, $out); + open $in, "<$path" or die "$!: $path"; + open $out, ">$name" or die "$!: $name"; + + while (<$in>) { + if (/^<<<<<<< .*/) { + @side = ([], undef); + } + elsif (/^=======$/) { + $side[1] = []; + } + elsif (/^>>>>>>> .*/) { + my ($one, $two); + $one = join('', @{$side[0]}); + $two = join('', @{$side[1]}); + if ($two le $one) { + ($one, $two) = ($two, $one); + } + print $out "<<<<<<<\n"; + print $out $one; + print $out "=======\n"; + print $out $two; + print $out ">>>>>>>\n"; + @side = (); + } + elsif (@side == 0) { + print $out $_; + } + elsif (defined $side[1]) { + push @{$side[1]}, $_; + } + else { + push @{$side[0]}, $_; + } + } + close $out; + close $in; +} + +sub find_conflict { + my $in; + local $/ = "\0"; + my $pid = open($in, '-|'); + die "$!" unless defined $pid; + if (!$pid) { + exec(qw(git ls-files -z -u)) or die "$!: ls-files"; + } + my %path = (); + my @path = (); + while (<$in>) { + chomp; + my ($mode, $sha1, $stage, $path) = + /^([0-7]+) ([0-9a-f]{40}) ([123])\t(.*)$/s; + $path{$path} |= (1 << $stage); + } + close $in; + while (my ($path, $status) = each %path) { + if ($status == 14) { push @path, $path; } + } + return @path; +} + +sub merge { + my ($name, $path) = @_; + record_preimage($path, "$rr_dir/$name/thisimage"); + unless (system('git', 'merge-file', map { "$rr_dir/$name/${_}image" } + qw(this pre post))) { + my $in; + open $in, "<$rr_dir/$name/thisimage" or + die "$!: $name/thisimage"; + my $out; + open $out, ">$path" or die "$!: $path"; + while (<$in>) { print $out $_; } + close $in; + close $out; + return 1; + } + return 0; +} + +sub garbage_collect_rerere { + # We should allow specifying these from the command line and + # that is why the caller gives @ARGV to us, but I am lazy. + + my $cutoff_noresolve = 15; # two weeks + my $cutoff_resolve = 60; # two months + my @to_remove; + while (<$rr_dir/*/preimage>) { + my ($dir) = /^(.*)\/preimage$/; + my $cutoff = ((-f "$dir/postimage") + ? $cutoff_resolve + : $cutoff_noresolve); + my $age = -M "$_"; + if ($cutoff <= $age) { + push @to_remove, $dir; + } + } + if (@to_remove) { + rmtree(\@to_remove); + } +} + +-d "$rr_dir" || exit(0); + +read_rr(); + +if (@ARGV) { + my $arg = shift @ARGV; + if ($arg eq 'clear') { + for my $path (keys %merge_rr) { + my $name = $merge_rr{$path}; + if (-d "$rr_dir/$name" && + ! -f "$rr_dir/$name/postimage") { + rmtree(["$rr_dir/$name"]); + } + } + unlink $merge_rr; + } + elsif ($arg eq 'status') { + for my $path (keys %merge_rr) { + print $path, "\n"; + } + } + elsif ($arg eq 'diff') { + for my $path (keys %merge_rr) { + my $name = $merge_rr{$path}; + system('diff', ((@ARGV == 0) ? ('-u') : @ARGV), + '-L', "a/$path", '-L', "b/$path", + "$rr_dir/$name/preimage", $path); + } + } + elsif ($arg eq 'gc') { + garbage_collect_rerere(@ARGV); + } + else { + die "$0 unknown command: $arg\n"; + } + exit 0; +} + +my %conflict = map { $_ => 1 } find_conflict(); + +# MERGE_RR records paths with conflicts immediately after merge +# failed. Some of the conflicted paths might have been hand resolved +# in the working tree since then, but the initial run would catch all +# and register their preimages. + +for my $path (keys %conflict) { + # This path has conflict. If it is not recorded yet, + # record the pre-image. + if (!exists $merge_rr{$path}) { + my ($name, $hunk) = compute_conflict_name($path); + next unless ($hunk); + $merge_rr{$path} = $name; + if (! -d "$rr_dir/$name") { + mkpath("$rr_dir/$name", 0, 0777); + print STDERR "Recorded preimage for '$path'\n"; + record_preimage($path, "$rr_dir/$name/preimage"); + } + } +} + +# Now some of the paths that had conflicts earlier might have been +# hand resolved. Others may be similar to a conflict already that +# was resolved before. + +for my $path (keys %merge_rr) { + my $name = $merge_rr{$path}; + + # We could resolve this automatically if we have images. + if (-f "$rr_dir/$name/preimage" && + -f "$rr_dir/$name/postimage") { + if (merge($name, $path)) { + print STDERR "Resolved '$path' using previous resolution.\n"; + # Then we do not have to worry about this path + # anymore. + delete $merge_rr{$path}; + next; + } + } + + # Let's see if we have resolved it. + (undef, my $hunk) = compute_conflict_name($path); + next if ($hunk); + + print STDERR "Recorded resolution for '$path'.\n"; + copy($path, "$rr_dir/$name/postimage"); + # And we do not have to worry about this path anymore. + delete $merge_rr{$path}; +} + +# Write out the rest. +write_rr(); diff --git a/contrib/workdir/git-new-workdir b/contrib/workdir/git-new-workdir index 2838546d16..7959eab902 100755 --- a/contrib/workdir/git-new-workdir +++ b/contrib/workdir/git-new-workdir @@ -63,7 +63,7 @@ mkdir -p "$new_workdir/.git" || die "unable to create \"$new_workdir\"!" # create the links to the original repo. explictly exclude index, HEAD and # logs/HEAD from the list since they are purely related to the current working # directory, and should not be shared. -for x in config refs logs/refs objects info hooks packed-refs remotes rr-cache +for x in config refs logs/refs objects info hooks packed-refs remotes rr-cache svn do case $x in */*) @@ -256,40 +256,41 @@ static int count_lines(const char *data, int size) return count; } -static void print_line_count(int count) +static void print_line_count(FILE *file, int count) { switch (count) { case 0: - printf("0,0"); + fprintf(file, "0,0"); break; case 1: - printf("1"); + fprintf(file, "1"); break; default: - printf("1,%d", count); + fprintf(file, "1,%d", count); break; } } -static void copy_file_with_prefix(int prefix, const char *data, int size, +static void copy_file_with_prefix(FILE *file, + int prefix, const char *data, int size, const char *set, const char *reset) { int ch, nl_just_seen = 1; while (0 < size--) { ch = *data++; if (nl_just_seen) { - fputs(set, stdout); - putchar(prefix); + fputs(set, file); + putc(prefix, file); } if (ch == '\n') { nl_just_seen = 1; - fputs(reset, stdout); + fputs(reset, file); } else nl_just_seen = 0; - putchar(ch); + putc(ch, file); } if (!nl_just_seen) - printf("%s\n\\ No newline at end of file\n", reset); + fprintf(file, "%s\n\\ No newline at end of file\n", reset); } static void emit_rewrite_diff(const char *name_a, @@ -322,17 +323,18 @@ static void emit_rewrite_diff(const char *name_a, diff_populate_filespec(two, 0); lc_a = count_lines(one->data, one->size); lc_b = count_lines(two->data, two->size); - printf("%s--- %s%s%s\n%s+++ %s%s%s\n%s@@ -", - metainfo, a_name.buf, name_a_tab, reset, - metainfo, b_name.buf, name_b_tab, reset, fraginfo); - print_line_count(lc_a); - printf(" +"); - print_line_count(lc_b); - printf(" @@%s\n", reset); + fprintf(o->file, + "%s--- %s%s%s\n%s+++ %s%s%s\n%s@@ -", + metainfo, a_name.buf, name_a_tab, reset, + metainfo, b_name.buf, name_b_tab, reset, fraginfo); + print_line_count(o->file, lc_a); + fprintf(o->file, " +"); + print_line_count(o->file, lc_b); + fprintf(o->file, " @@%s\n", reset); if (lc_a) - copy_file_with_prefix('-', one->data, one->size, old, reset); + copy_file_with_prefix(o->file, '-', one->data, one->size, old, reset); if (lc_b) - copy_file_with_prefix('+', two->data, two->size, new, reset); + copy_file_with_prefix(o->file, '+', two->data, two->size, new, reset); } static int fill_mmfile(mmfile_t *mf, struct diff_filespec *one) @@ -372,9 +374,10 @@ static void diff_words_append(char *line, unsigned long len, struct diff_words_data { struct xdiff_emit_state xm; struct diff_words_buffer minus, plus; + FILE *file; }; -static void print_word(struct diff_words_buffer *buffer, int len, int color, +static void print_word(FILE *file, struct diff_words_buffer *buffer, int len, int color, int suppress_newline) { const char *ptr; @@ -391,15 +394,15 @@ static void print_word(struct diff_words_buffer *buffer, int len, int color, len--; } - fputs(diff_get_color(1, color), stdout); - fwrite(ptr, len, 1, stdout); - fputs(diff_get_color(1, DIFF_RESET), stdout); + fputs(diff_get_color(1, color), file); + fwrite(ptr, len, 1, file); + fputs(diff_get_color(1, DIFF_RESET), file); if (eol) { if (suppress_newline) buffer->suppressed_newline = 1; else - putchar('\n'); + putc('\n', file); } } @@ -409,20 +412,23 @@ static void fn_out_diff_words_aux(void *priv, char *line, unsigned long len) if (diff_words->minus.suppressed_newline) { if (line[0] != '+') - putchar('\n'); + putc('\n', diff_words->file); diff_words->minus.suppressed_newline = 0; } len--; switch (line[0]) { case '-': - print_word(&diff_words->minus, len, DIFF_FILE_OLD, 1); + print_word(diff_words->file, + &diff_words->minus, len, DIFF_FILE_OLD, 1); break; case '+': - print_word(&diff_words->plus, len, DIFF_FILE_NEW, 0); + print_word(diff_words->file, + &diff_words->plus, len, DIFF_FILE_NEW, 0); break; case ' ': - print_word(&diff_words->plus, len, DIFF_PLAIN, 0); + print_word(diff_words->file, + &diff_words->plus, len, DIFF_PLAIN, 0); diff_words->minus.current += len; break; } @@ -466,7 +472,7 @@ static void diff_words_show(struct diff_words_data *diff_words) diff_words->minus.text.size = diff_words->plus.text.size = 0; if (diff_words->minus.suppressed_newline) { - putchar('\n'); + putc('\n', diff_words->file); diff_words->minus.suppressed_newline = 0; } } @@ -481,6 +487,7 @@ struct emit_callback { const char **label_path; struct diff_words_data *diff_words; int *found_changesp; + FILE *file; }; static void free_diff_words_data(struct emit_callback *ecbdata) @@ -505,11 +512,11 @@ const char *diff_get_color(int diff_use_color, enum color_diff ix) return ""; } -static void emit_line(const char *set, const char *reset, const char *line, int len) +static void emit_line(FILE *file, const char *set, const char *reset, const char *line, int len) { - fputs(set, stdout); - fwrite(line, len, 1, stdout); - fputs(reset, stdout); + fputs(set, file); + fwrite(line, len, 1, file); + fputs(reset, file); } static void emit_add_line(const char *reset, struct emit_callback *ecbdata, const char *line, int len) @@ -518,13 +525,13 @@ static void emit_add_line(const char *reset, struct emit_callback *ecbdata, cons const char *set = diff_get_color(ecbdata->color_diff, DIFF_FILE_NEW); if (!*ws) - emit_line(set, reset, line, len); + emit_line(ecbdata->file, set, reset, line, len); else { /* Emit just the prefix, then the rest. */ - emit_line(set, reset, line, ecbdata->nparents); + emit_line(ecbdata->file, set, reset, line, ecbdata->nparents); (void)check_and_emit_line(line + ecbdata->nparents, len - ecbdata->nparents, ecbdata->ws_rule, - stdout, set, reset, ws); + ecbdata->file, set, reset, ws); } } @@ -563,10 +570,10 @@ static void fn_out_consume(void *priv, char *line, unsigned long len) name_a_tab = strchr(ecbdata->label_path[0], ' ') ? "\t" : ""; name_b_tab = strchr(ecbdata->label_path[1], ' ') ? "\t" : ""; - printf("%s--- %s%s%s\n", - meta, ecbdata->label_path[0], reset, name_a_tab); - printf("%s+++ %s%s%s\n", - meta, ecbdata->label_path[1], reset, name_b_tab); + fprintf(ecbdata->file, "%s--- %s%s%s\n", + meta, ecbdata->label_path[0], reset, name_a_tab); + fprintf(ecbdata->file, "%s+++ %s%s%s\n", + meta, ecbdata->label_path[1], reset, name_b_tab); ecbdata->label_path[0] = ecbdata->label_path[1] = NULL; } @@ -578,15 +585,16 @@ static void fn_out_consume(void *priv, char *line, unsigned long len) if (2 <= i && i < len && line[i] == ' ') { ecbdata->nparents = i - 1; len = sane_truncate_line(ecbdata, line, len); - emit_line(diff_get_color(ecbdata->color_diff, DIFF_FRAGINFO), + emit_line(ecbdata->file, + diff_get_color(ecbdata->color_diff, DIFF_FRAGINFO), reset, line, len); if (line[len-1] != '\n') - putchar('\n'); + putc('\n', ecbdata->file); return; } if (len < ecbdata->nparents) { - emit_line(reset, reset, line, len); + emit_line(ecbdata->file, reset, reset, line, len); return; } @@ -609,7 +617,7 @@ static void fn_out_consume(void *priv, char *line, unsigned long len) diff_words_show(ecbdata->diff_words); line++; len--; - emit_line(plain, reset, line, len); + emit_line(ecbdata->file, plain, reset, line, len); return; } for (i = 0; i < ecbdata->nparents && len; i++) { @@ -620,7 +628,8 @@ static void fn_out_consume(void *priv, char *line, unsigned long len) } if (color != DIFF_FILE_NEW) { - emit_line(diff_get_color(ecbdata->color_diff, color), + emit_line(ecbdata->file, + diff_get_color(ecbdata->color_diff, color), reset, line, len); return; } @@ -759,20 +768,21 @@ static int scale_linear(int it, int width, int max_change) return ((it - 1) * (width - 1) + max_change - 1) / (max_change - 1); } -static void show_name(const char *prefix, const char *name, int len, +static void show_name(FILE *file, + const char *prefix, const char *name, int len, const char *reset, const char *set) { - printf(" %s%s%-*s%s |", set, prefix, len, name, reset); + fprintf(file, " %s%s%-*s%s |", set, prefix, len, name, reset); } -static void show_graph(char ch, int cnt, const char *set, const char *reset) +static void show_graph(FILE *file, char ch, int cnt, const char *set, const char *reset) { if (cnt <= 0) return; - printf("%s", set); + fprintf(file, "%s", set); while (cnt--) - putchar(ch); - printf("%s", reset); + putc(ch, file); + fprintf(file, "%s", reset); } static void fill_print_name(struct diffstat_file *file) @@ -877,18 +887,18 @@ static void show_stats(struct diffstat_t* data, struct diff_options *options) } if (data->files[i]->is_binary) { - show_name(prefix, name, len, reset, set); - printf(" Bin "); - printf("%s%d%s", del_c, deleted, reset); - printf(" -> "); - printf("%s%d%s", add_c, added, reset); - printf(" bytes"); - printf("\n"); + show_name(options->file, prefix, name, len, reset, set); + fprintf(options->file, " Bin "); + fprintf(options->file, "%s%d%s", del_c, deleted, reset); + fprintf(options->file, " -> "); + fprintf(options->file, "%s%d%s", add_c, added, reset); + fprintf(options->file, " bytes"); + fprintf(options->file, "\n"); continue; } else if (data->files[i]->is_unmerged) { - show_name(prefix, name, len, reset, set); - printf(" Unmerged\n"); + show_name(options->file, prefix, name, len, reset, set); + fprintf(options->file, " Unmerged\n"); continue; } else if (!data->files[i]->is_renamed && @@ -911,17 +921,18 @@ static void show_stats(struct diffstat_t* data, struct diff_options *options) del = scale_linear(del, width, max_change); total = add + del; } - show_name(prefix, name, len, reset, set); - printf("%5d ", added + deleted); - show_graph('+', add, add_c, reset); - show_graph('-', del, del_c, reset); - putchar('\n'); - } - printf("%s %d files changed, %d insertions(+), %d deletions(-)%s\n", + show_name(options->file, prefix, name, len, reset, set); + fprintf(options->file, "%5d ", added + deleted); + show_graph(options->file, '+', add, add_c, reset); + show_graph(options->file, '-', del, del_c, reset); + fprintf(options->file, "\n"); + } + fprintf(options->file, + "%s %d files changed, %d insertions(+), %d deletions(-)%s\n", set, total_files, adds, dels, reset); } -static void show_shortstats(struct diffstat_t* data) +static void show_shortstats(struct diffstat_t* data, struct diff_options *options) { int i, adds = 0, dels = 0, total_files = data->nr; @@ -942,7 +953,7 @@ static void show_shortstats(struct diffstat_t* data) } } } - printf(" %d files changed, %d insertions(+), %d deletions(-)\n", + fprintf(options->file, " %d files changed, %d insertions(+), %d deletions(-)\n", total_files, adds, dels); } @@ -957,24 +968,25 @@ static void show_numstat(struct diffstat_t* data, struct diff_options *options) struct diffstat_file *file = data->files[i]; if (file->is_binary) - printf("-\t-\t"); + fprintf(options->file, "-\t-\t"); else - printf("%d\t%d\t", file->added, file->deleted); + fprintf(options->file, + "%d\t%d\t", file->added, file->deleted); if (options->line_termination) { fill_print_name(file); if (!file->is_renamed) - write_name_quoted(file->name, stdout, + write_name_quoted(file->name, options->file, options->line_termination); else { - fputs(file->print_name, stdout); - putchar(options->line_termination); + fputs(file->print_name, options->file); + putc(options->line_termination, options->file); } } else { if (file->is_renamed) { - putchar('\0'); - write_name_quoted(file->from_name, stdout, '\0'); + putc('\0', options->file); + write_name_quoted(file->from_name, options->file, '\0'); } - write_name_quoted(file->name, stdout, '\0'); + write_name_quoted(file->name, options->file, '\0'); } } } @@ -984,7 +996,7 @@ struct diffstat_dir { int nr, percent, cumulative; }; -static long gather_dirstat(struct diffstat_dir *dir, unsigned long changed, const char *base, int baselen) +static long gather_dirstat(FILE *file, struct diffstat_dir *dir, unsigned long changed, const char *base, int baselen) { unsigned long this_dir = 0; unsigned int sources = 0; @@ -1002,7 +1014,7 @@ static long gather_dirstat(struct diffstat_dir *dir, unsigned long changed, cons slash = strchr(f->name + baselen, '/'); if (slash) { int newbaselen = slash + 1 - f->name; - this = gather_dirstat(dir, changed, f->name, newbaselen); + this = gather_dirstat(file, dir, changed, f->name, newbaselen); sources++; } else { if (f->is_unmerged || f->is_binary) @@ -1027,7 +1039,7 @@ static long gather_dirstat(struct diffstat_dir *dir, unsigned long changed, cons if (permille) { int percent = permille / 10; if (percent >= dir->percent) { - printf("%4d.%01d%% %.*s\n", percent, permille % 10, baselen, base); + fprintf(file, "%4d.%01d%% %.*s\n", percent, permille % 10, baselen, base); if (!dir->cumulative) return 0; } @@ -1060,7 +1072,7 @@ static void show_dirstat(struct diffstat_t *data, struct diff_options *options) dir.nr = data->nr; dir.percent = options->dirstat_percent; dir.cumulative = options->output_format & DIFF_FORMAT_CUMULATIVE; - gather_dirstat(&dir, changed, "", 0); + gather_dirstat(options->file, &dir, changed, "", 0); } static void free_diffstat_info(struct diffstat_t *diffstat) @@ -1083,6 +1095,7 @@ struct checkdiff_t { int lineno, color_diff; unsigned ws_rule; unsigned status; + FILE *file; }; static void checkdiff_consume(void *priv, char *line, unsigned long len) @@ -1100,11 +1113,11 @@ static void checkdiff_consume(void *priv, char *line, unsigned long len) if (!data->status) return; err = whitespace_error_string(data->status); - printf("%s:%d: %s.\n", data->filename, data->lineno, err); + fprintf(data->file, "%s:%d: %s.\n", data->filename, data->lineno, err); free(err); - emit_line(set, reset, line, 1); + emit_line(data->file, set, reset, line, 1); (void)check_and_emit_line(line + 1, len - 1, data->ws_rule, - stdout, set, reset, ws); + data->file, set, reset, ws); } else if (line[0] == ' ') data->lineno++; else if (line[0] == '@') { @@ -1140,7 +1153,7 @@ static unsigned char *deflate_it(char *data, return deflated; } -static void emit_binary_diff_body(mmfile_t *one, mmfile_t *two) +static void emit_binary_diff_body(FILE *file, mmfile_t *one, mmfile_t *two) { void *cp; void *delta; @@ -1169,13 +1182,13 @@ static void emit_binary_diff_body(mmfile_t *one, mmfile_t *two) } if (delta && delta_size < deflate_size) { - printf("delta %lu\n", orig_size); + fprintf(file, "delta %lu\n", orig_size); free(deflated); data = delta; data_size = delta_size; } else { - printf("literal %lu\n", two->size); + fprintf(file, "literal %lu\n", two->size); free(delta); data = deflated; data_size = deflate_size; @@ -1193,17 +1206,18 @@ static void emit_binary_diff_body(mmfile_t *one, mmfile_t *two) line[0] = bytes - 26 + 'a' - 1; encode_85(line + 1, cp, bytes); cp = (char *) cp + bytes; - puts(line); + fputs(line, file); + fputc('\n', file); } - printf("\n"); + fprintf(file, "\n"); free(data); } -static void emit_binary_diff(mmfile_t *one, mmfile_t *two) +static void emit_binary_diff(FILE *file, mmfile_t *one, mmfile_t *two) { - printf("GIT binary patch\n"); - emit_binary_diff_body(one, two); - emit_binary_diff_body(two, one); + fprintf(file, "GIT binary patch\n"); + emit_binary_diff_body(file, one, two); + emit_binary_diff_body(file, two, one); } static void setup_diff_attr_check(struct git_attr_check *check) @@ -1334,25 +1348,25 @@ static void builtin_diff(const char *name_a, b_two = quote_two(o->b_prefix, name_b + (*name_b == '/')); lbl[0] = DIFF_FILE_VALID(one) ? a_one : "/dev/null"; lbl[1] = DIFF_FILE_VALID(two) ? b_two : "/dev/null"; - printf("%sdiff --git %s %s%s\n", set, a_one, b_two, reset); + fprintf(o->file, "%sdiff --git %s %s%s\n", set, a_one, b_two, reset); if (lbl[0][0] == '/') { /* /dev/null */ - printf("%snew file mode %06o%s\n", set, two->mode, reset); + fprintf(o->file, "%snew file mode %06o%s\n", set, two->mode, reset); if (xfrm_msg && xfrm_msg[0]) - printf("%s%s%s\n", set, xfrm_msg, reset); + fprintf(o->file, "%s%s%s\n", set, xfrm_msg, reset); } else if (lbl[1][0] == '/') { - printf("%sdeleted file mode %06o%s\n", set, one->mode, reset); + fprintf(o->file, "%sdeleted file mode %06o%s\n", set, one->mode, reset); if (xfrm_msg && xfrm_msg[0]) - printf("%s%s%s\n", set, xfrm_msg, reset); + fprintf(o->file, "%s%s%s\n", set, xfrm_msg, reset); } else { if (one->mode != two->mode) { - printf("%sold mode %06o%s\n", set, one->mode, reset); - printf("%snew mode %06o%s\n", set, two->mode, reset); + fprintf(o->file, "%sold mode %06o%s\n", set, one->mode, reset); + fprintf(o->file, "%snew mode %06o%s\n", set, two->mode, reset); } if (xfrm_msg && xfrm_msg[0]) - printf("%s%s%s\n", set, xfrm_msg, reset); + fprintf(o->file, "%s%s%s\n", set, xfrm_msg, reset); /* * we do not run diff between different kind * of objects. @@ -1376,10 +1390,10 @@ static void builtin_diff(const char *name_a, !memcmp(mf1.ptr, mf2.ptr, mf1.size)) goto free_ab_and_return; if (DIFF_OPT_TST(o, BINARY)) - emit_binary_diff(&mf1, &mf2); + emit_binary_diff(o->file, &mf1, &mf2); else - printf("Binary files %s and %s differ\n", - lbl[0], lbl[1]); + fprintf(o->file, "Binary files %s and %s differ\n", + lbl[0], lbl[1]); o->found_changes = 1; } else { @@ -1401,6 +1415,7 @@ static void builtin_diff(const char *name_a, ecbdata.color_diff = DIFF_OPT_TST(o, COLOR_DIFF); ecbdata.found_changesp = &o->found_changes; ecbdata.ws_rule = whitespace_rule(name_b ? name_b : name_a); + ecbdata.file = o->file; xpp.flags = XDF_NEED_MINIMAL | o->xdl_opts; xecfg.ctxlen = o->context; xecfg.flags = XDL_EMIT_FUNCNAMES; @@ -1415,9 +1430,11 @@ static void builtin_diff(const char *name_a, ecb.outf = xdiff_outf; ecb.priv = &ecbdata; ecbdata.xm.consume = fn_out_consume; - if (DIFF_OPT_TST(o, COLOR_DIFF_WORDS)) + if (DIFF_OPT_TST(o, COLOR_DIFF_WORDS)) { ecbdata.diff_words = xcalloc(1, sizeof(struct diff_words_data)); + ecbdata.diff_words->file = o->file; + } xdi_diff(&mf1, &mf2, &xpp, &xecfg, &ecb); if (DIFF_OPT_TST(o, COLOR_DIFF_WORDS)) free_diff_words_data(&ecbdata); @@ -1496,6 +1513,7 @@ static void builtin_checkdiff(const char *name_a, const char *name_b, data.lineno = 0; data.color_diff = DIFF_OPT_TST(o, COLOR_DIFF); data.ws_rule = whitespace_rule(attr_path); + data.file = o->file; if (fill_mmfile(&mf1, one) < 0 || fill_mmfile(&mf2, two) < 0) die("unable to read files to diff"); @@ -1966,7 +1984,7 @@ static void run_diff_cmd(const char *pgm, builtin_diff(name, other ? other : name, one, two, xfrm_msg, o, complete_rewrite); else - printf("* Unmerged path %s\n", name); + fprintf(o->file, "* Unmerged path %s\n", name); } static void diff_fill_sha1_info(struct diff_filespec *one) @@ -2157,6 +2175,9 @@ static void run_checkdiff(struct diff_filepair *p, struct diff_options *o) void diff_setup(struct diff_options *options) { memset(options, 0, sizeof(*options)); + + options->file = stdout; + options->line_termination = '\n'; options->break_opt = -1; options->rename_limit = -1; @@ -2470,7 +2491,10 @@ int diff_opt_parse(struct diff_options *options, const char **av, int ac) options->b_prefix = arg + 13; else if (!strcmp(arg, "--no-prefix")) options->a_prefix = options->b_prefix = ""; - else + else if (!prefixcmp(arg, "--output=")) { + options->file = fopen(arg + strlen("--output="), "w"); + options->close_file = 1; + } else return 0; return 1; } @@ -2599,15 +2623,15 @@ static void diff_flush_raw(struct diff_filepair *p, struct diff_options *opt) int inter_name_termination = line_termination ? '\t' : '\0'; if (!(opt->output_format & DIFF_FORMAT_NAME_STATUS)) { - printf(":%06o %06o %s ", p->one->mode, p->two->mode, - diff_unique_abbrev(p->one->sha1, opt->abbrev)); - printf("%s ", diff_unique_abbrev(p->two->sha1, opt->abbrev)); + fprintf(opt->file, ":%06o %06o %s ", p->one->mode, p->two->mode, + diff_unique_abbrev(p->one->sha1, opt->abbrev)); + fprintf(opt->file, "%s ", diff_unique_abbrev(p->two->sha1, opt->abbrev)); } if (p->score) { - printf("%c%03d%c", p->status, similarity_index(p), - inter_name_termination); + fprintf(opt->file, "%c%03d%c", p->status, similarity_index(p), + inter_name_termination); } else { - printf("%c%c", p->status, inter_name_termination); + fprintf(opt->file, "%c%c", p->status, inter_name_termination); } if (p->status == DIFF_STATUS_COPIED || @@ -2616,14 +2640,14 @@ static void diff_flush_raw(struct diff_filepair *p, struct diff_options *opt) name_a = p->one->path; name_b = p->two->path; strip_prefix(opt->prefix_length, &name_a, &name_b); - write_name_quoted(name_a, stdout, inter_name_termination); - write_name_quoted(name_b, stdout, line_termination); + write_name_quoted(name_a, opt->file, inter_name_termination); + write_name_quoted(name_b, opt->file, line_termination); } else { const char *name_a, *name_b; name_a = p->one->mode ? p->one->path : p->two->path; name_b = NULL; strip_prefix(opt->prefix_length, &name_a, &name_b); - write_name_quoted(name_a, stdout, line_termination); + write_name_quoted(name_a, opt->file, line_termination); } } @@ -2825,62 +2849,62 @@ static void flush_one_pair(struct diff_filepair *p, struct diff_options *opt) name_a = p->two->path; name_b = NULL; strip_prefix(opt->prefix_length, &name_a, &name_b); - write_name_quoted(name_a, stdout, opt->line_termination); + write_name_quoted(name_a, opt->file, opt->line_termination); } } -static void show_file_mode_name(const char *newdelete, struct diff_filespec *fs) +static void show_file_mode_name(FILE *file, const char *newdelete, struct diff_filespec *fs) { if (fs->mode) - printf(" %s mode %06o ", newdelete, fs->mode); + fprintf(file, " %s mode %06o ", newdelete, fs->mode); else - printf(" %s ", newdelete); - write_name_quoted(fs->path, stdout, '\n'); + fprintf(file, " %s ", newdelete); + write_name_quoted(fs->path, file, '\n'); } -static void show_mode_change(struct diff_filepair *p, int show_name) +static void show_mode_change(FILE *file, struct diff_filepair *p, int show_name) { if (p->one->mode && p->two->mode && p->one->mode != p->two->mode) { - printf(" mode change %06o => %06o%c", p->one->mode, p->two->mode, + fprintf(file, " mode change %06o => %06o%c", p->one->mode, p->two->mode, show_name ? ' ' : '\n'); if (show_name) { - write_name_quoted(p->two->path, stdout, '\n'); + write_name_quoted(p->two->path, file, '\n'); } } } -static void show_rename_copy(const char *renamecopy, struct diff_filepair *p) +static void show_rename_copy(FILE *file, const char *renamecopy, struct diff_filepair *p) { char *names = pprint_rename(p->one->path, p->two->path); - printf(" %s %s (%d%%)\n", renamecopy, names, similarity_index(p)); + fprintf(file, " %s %s (%d%%)\n", renamecopy, names, similarity_index(p)); free(names); - show_mode_change(p, 0); + show_mode_change(file, p, 0); } -static void diff_summary(struct diff_filepair *p) +static void diff_summary(FILE *file, struct diff_filepair *p) { switch(p->status) { case DIFF_STATUS_DELETED: - show_file_mode_name("delete", p->one); + show_file_mode_name(file, "delete", p->one); break; case DIFF_STATUS_ADDED: - show_file_mode_name("create", p->two); + show_file_mode_name(file, "create", p->two); break; case DIFF_STATUS_COPIED: - show_rename_copy("copy", p); + show_rename_copy(file, "copy", p); break; case DIFF_STATUS_RENAMED: - show_rename_copy("rename", p); + show_rename_copy(file, "rename", p); break; default: if (p->score) { - fputs(" rewrite ", stdout); - write_name_quoted(p->two->path, stdout, ' '); - printf("(%d%%)\n", similarity_index(p)); + fputs(" rewrite ", file); + write_name_quoted(p->two->path, file, ' '); + fprintf(file, "(%d%%)\n", similarity_index(p)); } - show_mode_change(p, !p->score); + show_mode_change(file, p, !p->score); break; } } @@ -3088,14 +3112,14 @@ void diff_flush(struct diff_options *options) if (output_format & DIFF_FORMAT_DIFFSTAT) show_stats(&diffstat, options); if (output_format & DIFF_FORMAT_SHORTSTAT) - show_shortstats(&diffstat); + show_shortstats(&diffstat, options); free_diffstat_info(&diffstat); separator++; } if (output_format & DIFF_FORMAT_SUMMARY && !is_summary_empty(q)) { for (i = 0; i < q->nr; i++) - diff_summary(q->queue[i]); + diff_summary(options->file, q->queue[i]); separator++; } @@ -3103,9 +3127,9 @@ void diff_flush(struct diff_options *options) if (separator) { if (options->stat_sep) { /* attach patch instead of inline */ - fputs(options->stat_sep, stdout); + fputs(options->stat_sep, options->file); } else { - putchar(options->line_termination); + putc(options->line_termination, options->file); } } @@ -3125,6 +3149,8 @@ free_queue: free(q->queue); q->queue = NULL; q->nr = q->alloc = 0; + if (options->close_file) + fclose(options->file); } static void diffcore_apply_filter(const char *filter) @@ -98,6 +98,9 @@ struct diff_options { /* this is set by diffcore for DIFF_FORMAT_PATCH */ int found_changes; + FILE *file; + int close_file; + int nr_paths; const char **paths; int *pathlens; diff --git a/fast-import.c b/fast-import.c index 655913ddb2..73e5439d97 100644 --- a/fast-import.c +++ b/fast-import.c @@ -1516,6 +1516,8 @@ static int update_branch(struct branch *b) struct ref_lock *lock; unsigned char old_sha1[20]; + if (is_null_sha1(b->sha1)) + return 0; if (read_ref(b->name, old_sha1)) hashclr(old_sha1); lock = lock_any_ref_for_update(b->name, old_sha1, 0); @@ -357,7 +357,7 @@ do LAST_SIGNED_OFF_BY=` sed -ne '/^Signed-off-by: /p' \ "$dotest/msg-clean" | - tail -n 1 + sed -ne '$p' ` ADD_SIGNOFF=` test "$LAST_SIGNED_OFF_BY" = "$SIGNOFF" || { diff --git a/git-bisect.sh b/git-bisect.sh index 2c32d0b9eb..48fb92d612 100755 --- a/git-bisect.sh +++ b/git-bisect.sh @@ -293,14 +293,14 @@ bisect_next() { bisect_next_check good skip=$(git for-each-ref --format='%(objectname)' \ - "refs/bisect/skip-*" | tr '[\012]' ' ') || exit + "refs/bisect/skip-*" | tr '\012' ' ') || exit BISECT_OPT='' test -n "$skip" && BISECT_OPT='--bisect-all' bad=$(git rev-parse --verify refs/bisect/bad) && good=$(git for-each-ref --format='^%(objectname)' \ - "refs/bisect/good-*" | tr '[\012]' ' ') && + "refs/bisect/good-*" | tr '\012' ' ') && eval="git rev-list --bisect-vars $BISECT_OPT $good $bad --" && eval="$eval $(cat "$GIT_DIR/BISECT_NAMES")" && eval=$(filter_skipped "$eval" "$skip") && diff --git a/git-compat-util.h b/git-compat-util.h index 73968e02b0..a18235e6d0 100644 --- a/git-compat-util.h +++ b/git-compat-util.h @@ -68,6 +68,7 @@ #include <sys/poll.h> #include <sys/socket.h> #include <sys/ioctl.h> +#include <utime.h> #ifndef NO_SYS_SELECT_H #include <sys/select.h> #endif diff --git a/git-cvsimport.perl b/git-cvsimport.perl index 47f116f37e..95c5eec51e 100755 --- a/git-cvsimport.perl +++ b/git-cvsimport.perl @@ -735,7 +735,7 @@ sub commit { next unless $logmsg =~ $rx && $1; my $mparent = $1 eq 'HEAD' ? $opt_o : $1; if (my $sha1 = get_headref("$remote/$mparent")) { - push @commit_args, '-p', $mparent; + push @commit_args, '-p', "$remote/$mparent"; print "Merge parent branch: $mparent\n" if $opt_v; } } diff --git a/git-filter-branch.sh b/git-filter-branch.sh index 010353ad82..22b6ed4a78 100755 --- a/git-filter-branch.sh +++ b/git-filter-branch.sh @@ -58,8 +58,8 @@ eval "$functions" # "author" or "committer set_ident () { - lid="$(echo "$1" | tr "A-Z" "a-z")" - uid="$(echo "$1" | tr "a-z" "A-Z")" + lid="$(echo "$1" | tr "[A-Z]" "[a-z]")" + uid="$(echo "$1" | tr "[a-z]" "[A-Z]")" pick_id_script=' /^'$lid' /{ s/'\''/'\''\\'\'\''/g @@ -281,7 +281,7 @@ while read commit parents; do die "Could not checkout the index" # files that $commit removed are now still in the working tree; # remove them, else they would be added again - git ls-files -z --others | xargs -0 rm -f + git clean -q -f -x eval "$filter_tree" < /dev/null || die "tree filter failed: $filter_tree" @@ -309,7 +309,7 @@ while read commit parents; do sed -e '1,/^$/d' <../commit | \ eval "$filter_msg" > ../message || die "msg filter failed: $filter_msg" - sh -c "$filter_commit" "git commit-tree" \ + @SHELL_PATH@ -c "$filter_commit" "git commit-tree" \ $(git write-tree) $parentstr < ../message > ../map/$commit done <../revs diff --git a/git-gui/git-gui.sh b/git-gui/git-gui.sh index 3a58cd2c6b..5e97fbf03e 100755 --- a/git-gui/git-gui.sh +++ b/git-gui/git-gui.sh @@ -2089,7 +2089,7 @@ if {[is_enabled transport]} { if {[is_MacOSX]} { # -- Apple Menu (Mac OS X only) # - .mbar add cascade -label [mc Apple] -menu .mbar.apple + .mbar add cascade -label Apple -menu .mbar.apple menu .mbar.apple .mbar.apple add command -label [mc "About %s" [appname]] \ diff --git a/git-gui/lib/choose_repository.tcl b/git-gui/lib/choose_repository.tcl index 0adcf9d958..ae4a4cd0a8 100644 --- a/git-gui/lib/choose_repository.tcl +++ b/git-gui/lib/choose_repository.tcl @@ -38,7 +38,7 @@ constructor pick {} { menu $m_repo if {[is_MacOSX]} { - $w.mbar add cascade -label [mc Apple] -menu .mbar.apple + $w.mbar add cascade -label Apple -menu .mbar.apple menu $w.mbar.apple $w.mbar.apple add command \ -label [mc "About %s" [appname]] \ diff --git a/git-gui/po/README b/git-gui/po/README index 9d8b7364fd..5e77a7d7d2 100644 --- a/git-gui/po/README +++ b/git-gui/po/README @@ -178,18 +178,6 @@ step. $ msgmerge -U po/af.po po/git-gui.pot -[NEEDSWORK: who is responsible for updating po/git-gui.pot file by -running xgettext? IIRC, Christian recommended against running it -nilly-willy because it can become a source of unnecessary merge -conflicts. Perhaps we should mention something like " - -The po/git-gui.pot file is updated by the internationalization -coordinator from time to time. You _could_ update it yourself, but -translators are discouraged from doing so because we would want all -language teams to be working off of the same version of git-gui.pot. - -" here?] - This updates po/af.po (again, replace "af" with your language code) so that it contains msgid lines (i.e. the original) that your translation did not have before. There are a few things to @@ -207,3 +195,53 @@ watch out for: - New messages added to the software will have msgstr lines with empty strings. You would need to translate them. + +The po/git-gui.pot file is updated by the internationalization +coordinator from time to time. You _could_ update it yourself, but +translators are discouraged from doing so because we would want all +language teams to be working off of the same version of git-gui.pot. + +**************************************************************** + +This section is a note to the internationalization coordinator, and +translators do not have to worry about it too much. + +The message template file po/git-gui.pot needs to be kept up to date +relative to the software the translations apply to, and it is the +responsibility of the internationalization coordinator. + +When updating po/git-gui.pot file, however, _never_ run "msgmerge -U +po/xx.po" for individual language translations, unless you are absolutely +sure that there is no outstanding work on translation for language xx. +Doing so will create unnecessary merge conflicts and force needless +re-translation on translators. The translator however may not have access +to the msgmerge tool, in which case the coordinator may run it for the +translator as a service. + +But mistakes do happen. Suppose a translation was based on an older +version X, the POT file was updated at version Y and then msgmerge was run +at version Z for the language, and the translator sent in a patch based on +version X: + + ? translated + / + ---X---Y---Z (master) + +The coordinator could recover from such a mistake by first applying the +patch to X, replace the translated file in Z, and then running msgmerge +again based on the updated POT file and commit the result. The sequence +would look like this: + + $ git checkout X + $ git am -s xx.patch + $ git checkout master + $ git checkout HEAD@{1} po/xx.po + $ msgmerge -U po/xx.po po/git-gui.pot + $ git commit -c HEAD@{1} po/xx.po + +State in the message that the translated messages are based on a slightly +older version, and msgmerge was run to incorporate changes to message +templates from the updated POT file. The result needs to be further +translated, but at least the messages that were updated by the patch that +were not changed by the POT update will survive the process and do not +need to be re-translated. diff --git a/git-gui/po/de.po b/git-gui/po/de.po index e84e1c7e08..022b816ae1 100644 --- a/git-gui/po/de.po +++ b/git-gui/po/de.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: git-gui\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2008-02-16 21:24+0100\n" +"POT-Creation-Date: 2008-03-14 07:18+0100\n" "PO-Revision-Date: 2008-02-16 21:52+0100\n" "Last-Translator: Christian Stimming <stimming@tuhh.de>\n" "Language-Team: German\n" @@ -15,33 +15,33 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: git-gui.sh:41 git-gui.sh:604 git-gui.sh:618 git-gui.sh:631 git-gui.sh:714 -#: git-gui.sh:733 +#: git-gui.sh:41 git-gui.sh:634 git-gui.sh:648 git-gui.sh:661 git-gui.sh:744 +#: git-gui.sh:763 msgid "git-gui: fatal error" msgstr "git-gui: Programmfehler" -#: git-gui.sh:565 +#: git-gui.sh:593 #, tcl-format msgid "Invalid font specified in %s:" msgstr "Ungültige Zeichensatz-Angabe in %s:" -#: git-gui.sh:590 +#: git-gui.sh:620 msgid "Main Font" msgstr "Programmschriftart" -#: git-gui.sh:591 +#: git-gui.sh:621 msgid "Diff/Console Font" msgstr "Vergleich-Schriftart" -#: git-gui.sh:605 +#: git-gui.sh:635 msgid "Cannot find git in PATH." msgstr "Git kann im PATH nicht gefunden werden." -#: git-gui.sh:632 +#: git-gui.sh:662 msgid "Cannot parse Git version string:" msgstr "Git Versionsangabe kann nicht erkannt werden:" -#: git-gui.sh:650 +#: git-gui.sh:680 #, tcl-format msgid "" "Git version cannot be determined.\n" @@ -60,81 +60,81 @@ msgstr "" "\n" "Soll angenommen werden, »%s« sei Version 1.5.0?\n" -#: git-gui.sh:888 +#: git-gui.sh:918 msgid "Git directory not found:" msgstr "Git-Verzeichnis nicht gefunden:" -#: git-gui.sh:895 +#: git-gui.sh:925 msgid "Cannot move to top of working directory:" msgstr "" "Es konnte nicht in das oberste Verzeichnis der Arbeitskopie gewechselt " "werden:" -#: git-gui.sh:902 +#: git-gui.sh:932 msgid "Cannot use funny .git directory:" msgstr "Unerwartete Struktur des .git Verzeichnis:" -#: git-gui.sh:907 +#: git-gui.sh:937 msgid "No working directory" msgstr "Kein Arbeitsverzeichnis" -#: git-gui.sh:1054 +#: git-gui.sh:1084 lib/checkout_op.tcl:283 msgid "Refreshing file status..." msgstr "Dateistatus aktualisieren..." -#: git-gui.sh:1119 +#: git-gui.sh:1149 msgid "Scanning for modified files ..." msgstr "Nach geänderten Dateien suchen..." -#: git-gui.sh:1294 lib/browser.tcl:245 +#: git-gui.sh:1324 lib/browser.tcl:246 msgid "Ready." msgstr "Bereit." -#: git-gui.sh:1560 +#: git-gui.sh:1590 msgid "Unmodified" msgstr "Unverändert" -#: git-gui.sh:1562 +#: git-gui.sh:1592 msgid "Modified, not staged" msgstr "Verändert, nicht bereitgestellt" -#: git-gui.sh:1563 git-gui.sh:1568 +#: git-gui.sh:1593 git-gui.sh:1598 msgid "Staged for commit" msgstr "Bereitgestellt zum Eintragen" -#: git-gui.sh:1564 git-gui.sh:1569 +#: git-gui.sh:1594 git-gui.sh:1599 msgid "Portions staged for commit" msgstr "Teilweise bereitgestellt zum Eintragen" -#: git-gui.sh:1565 git-gui.sh:1570 +#: git-gui.sh:1595 git-gui.sh:1600 msgid "Staged for commit, missing" msgstr "Bereitgestellt zum Eintragen, fehlend" -#: git-gui.sh:1567 +#: git-gui.sh:1597 msgid "Untracked, not staged" msgstr "Nicht unter Versionskontrolle, nicht bereitgestellt" -#: git-gui.sh:1572 +#: git-gui.sh:1602 msgid "Missing" msgstr "Fehlend" -#: git-gui.sh:1573 +#: git-gui.sh:1603 msgid "Staged for removal" msgstr "Bereitgestellt zum Löschen" -#: git-gui.sh:1574 +#: git-gui.sh:1604 msgid "Staged for removal, still present" msgstr "Bereitgestellt zum Löschen, trotzdem vorhanden" -#: git-gui.sh:1576 git-gui.sh:1577 git-gui.sh:1578 git-gui.sh:1579 +#: git-gui.sh:1606 git-gui.sh:1607 git-gui.sh:1608 git-gui.sh:1609 msgid "Requires merge resolution" msgstr "Konfliktauflösung nötig" -#: git-gui.sh:1614 +#: git-gui.sh:1644 msgid "Starting gitk... please wait..." msgstr "Gitk wird gestartet... bitte warten." -#: git-gui.sh:1623 +#: git-gui.sh:1653 #, tcl-format msgid "" "Unable to start gitk:\n" @@ -145,297 +145,297 @@ msgstr "" "\n" "%s existiert nicht" -#: git-gui.sh:1823 lib/choose_repository.tcl:35 +#: git-gui.sh:1860 lib/choose_repository.tcl:36 msgid "Repository" msgstr "Projektarchiv" -#: git-gui.sh:1824 +#: git-gui.sh:1861 msgid "Edit" msgstr "Bearbeiten" -#: git-gui.sh:1826 lib/choose_rev.tcl:560 +#: git-gui.sh:1863 lib/choose_rev.tcl:561 msgid "Branch" msgstr "Zweig" -#: git-gui.sh:1829 lib/choose_rev.tcl:547 +#: git-gui.sh:1866 lib/choose_rev.tcl:548 msgid "Commit@@noun" msgstr "Version" -#: git-gui.sh:1832 lib/merge.tcl:121 lib/merge.tcl:150 lib/merge.tcl:168 +#: git-gui.sh:1869 lib/merge.tcl:120 lib/merge.tcl:149 lib/merge.tcl:167 msgid "Merge" msgstr "Zusammenführen" -#: git-gui.sh:1833 lib/choose_rev.tcl:556 +#: git-gui.sh:1870 lib/choose_rev.tcl:557 msgid "Remote" msgstr "Andere Archive" -#: git-gui.sh:1842 +#: git-gui.sh:1879 msgid "Browse Current Branch's Files" msgstr "Aktuellen Zweig durchblättern" -#: git-gui.sh:1846 +#: git-gui.sh:1883 msgid "Browse Branch Files..." msgstr "Einen Zweig durchblättern..." -#: git-gui.sh:1851 +#: git-gui.sh:1888 msgid "Visualize Current Branch's History" msgstr "Aktuellen Zweig darstellen" -#: git-gui.sh:1855 +#: git-gui.sh:1892 msgid "Visualize All Branch History" msgstr "Alle Zweige darstellen" -#: git-gui.sh:1862 +#: git-gui.sh:1899 #, tcl-format msgid "Browse %s's Files" msgstr "Zweig »%s« durchblättern" -#: git-gui.sh:1864 +#: git-gui.sh:1901 #, tcl-format msgid "Visualize %s's History" msgstr "Historie von »%s« darstellen" -#: git-gui.sh:1869 lib/database.tcl:27 lib/database.tcl:67 +#: git-gui.sh:1906 lib/database.tcl:27 lib/database.tcl:67 msgid "Database Statistics" msgstr "Datenbankstatistik" -#: git-gui.sh:1872 lib/database.tcl:34 +#: git-gui.sh:1909 lib/database.tcl:34 msgid "Compress Database" msgstr "Datenbank komprimieren" -#: git-gui.sh:1875 +#: git-gui.sh:1912 msgid "Verify Database" msgstr "Datenbank überprüfen" -#: git-gui.sh:1882 git-gui.sh:1886 git-gui.sh:1890 lib/shortcut.tcl:7 +#: git-gui.sh:1919 git-gui.sh:1923 git-gui.sh:1927 lib/shortcut.tcl:7 #: lib/shortcut.tcl:39 lib/shortcut.tcl:71 msgid "Create Desktop Icon" msgstr "Desktop-Icon erstellen" -#: git-gui.sh:1895 lib/choose_repository.tcl:176 lib/choose_repository.tcl:184 +#: git-gui.sh:1932 lib/choose_repository.tcl:177 lib/choose_repository.tcl:185 msgid "Quit" msgstr "Beenden" -#: git-gui.sh:1902 +#: git-gui.sh:1939 msgid "Undo" msgstr "Rückgängig" -#: git-gui.sh:1905 +#: git-gui.sh:1942 msgid "Redo" msgstr "Wiederholen" -#: git-gui.sh:1909 git-gui.sh:2403 +#: git-gui.sh:1946 git-gui.sh:2443 msgid "Cut" msgstr "Ausschneiden" -#: git-gui.sh:1912 git-gui.sh:2406 git-gui.sh:2477 git-gui.sh:2549 -#: lib/console.tcl:67 +#: git-gui.sh:1949 git-gui.sh:2446 git-gui.sh:2520 git-gui.sh:2614 +#: lib/console.tcl:69 msgid "Copy" msgstr "Kopieren" -#: git-gui.sh:1915 git-gui.sh:2409 +#: git-gui.sh:1952 git-gui.sh:2449 msgid "Paste" msgstr "Einfügen" -#: git-gui.sh:1918 git-gui.sh:2412 lib/branch_delete.tcl:26 +#: git-gui.sh:1955 git-gui.sh:2452 lib/branch_delete.tcl:26 #: lib/remote_branch_delete.tcl:38 msgid "Delete" msgstr "Löschen" -#: git-gui.sh:1922 git-gui.sh:2416 git-gui.sh:2553 lib/console.tcl:69 +#: git-gui.sh:1959 git-gui.sh:2456 git-gui.sh:2618 lib/console.tcl:71 msgid "Select All" msgstr "Alle auswählen" -#: git-gui.sh:1931 +#: git-gui.sh:1968 msgid "Create..." msgstr "Erstellen..." -#: git-gui.sh:1937 +#: git-gui.sh:1974 msgid "Checkout..." msgstr "Umstellen..." -#: git-gui.sh:1943 +#: git-gui.sh:1980 msgid "Rename..." msgstr "Umbenennen..." -#: git-gui.sh:1948 git-gui.sh:2048 +#: git-gui.sh:1985 git-gui.sh:2085 msgid "Delete..." msgstr "Löschen..." -#: git-gui.sh:1953 +#: git-gui.sh:1990 msgid "Reset..." msgstr "Zurücksetzen..." -#: git-gui.sh:1965 git-gui.sh:2350 +#: git-gui.sh:2002 git-gui.sh:2389 msgid "New Commit" msgstr "Neue Version" -#: git-gui.sh:1973 git-gui.sh:2357 +#: git-gui.sh:2010 git-gui.sh:2396 msgid "Amend Last Commit" msgstr "Letzte nachbessern" -#: git-gui.sh:1982 git-gui.sh:2317 lib/remote_branch_delete.tcl:99 +#: git-gui.sh:2019 git-gui.sh:2356 lib/remote_branch_delete.tcl:99 msgid "Rescan" msgstr "Neu laden" -#: git-gui.sh:1988 +#: git-gui.sh:2025 msgid "Stage To Commit" msgstr "Zum Eintragen bereitstellen" -#: git-gui.sh:1994 +#: git-gui.sh:2031 msgid "Stage Changed Files To Commit" msgstr "Geänderte Dateien bereitstellen" -#: git-gui.sh:2000 +#: git-gui.sh:2037 msgid "Unstage From Commit" msgstr "Aus der Bereitstellung herausnehmen" -#: git-gui.sh:2005 lib/index.tcl:393 +#: git-gui.sh:2042 lib/index.tcl:395 msgid "Revert Changes" msgstr "Änderungen verwerfen" -#: git-gui.sh:2012 git-gui.sh:2329 git-gui.sh:2427 +#: git-gui.sh:2049 git-gui.sh:2368 git-gui.sh:2467 msgid "Sign Off" msgstr "Abzeichnen" -#: git-gui.sh:2016 git-gui.sh:2333 +#: git-gui.sh:2053 git-gui.sh:2372 msgid "Commit@@verb" msgstr "Eintragen" -#: git-gui.sh:2027 +#: git-gui.sh:2064 msgid "Local Merge..." msgstr "Lokales Zusammenführen..." -#: git-gui.sh:2032 +#: git-gui.sh:2069 msgid "Abort Merge..." msgstr "Zusammenführen abbrechen..." -#: git-gui.sh:2044 +#: git-gui.sh:2081 msgid "Push..." msgstr "Versenden..." -#: git-gui.sh:2055 lib/choose_repository.tcl:40 +#: git-gui.sh:2092 lib/choose_repository.tcl:41 msgid "Apple" msgstr "Apple" -#: git-gui.sh:2058 git-gui.sh:2080 lib/about.tcl:13 -#: lib/choose_repository.tcl:43 lib/choose_repository.tcl:49 +#: git-gui.sh:2095 git-gui.sh:2117 lib/about.tcl:14 +#: lib/choose_repository.tcl:44 lib/choose_repository.tcl:50 #, tcl-format msgid "About %s" msgstr "Ãœber %s" -#: git-gui.sh:2062 +#: git-gui.sh:2099 msgid "Preferences..." msgstr "Einstellungen..." -#: git-gui.sh:2070 git-gui.sh:2595 +#: git-gui.sh:2107 git-gui.sh:2639 msgid "Options..." msgstr "Optionen..." -#: git-gui.sh:2076 lib/choose_repository.tcl:46 +#: git-gui.sh:2113 lib/choose_repository.tcl:47 msgid "Help" msgstr "Hilfe" -#: git-gui.sh:2117 +#: git-gui.sh:2154 msgid "Online Documentation" msgstr "Online-Dokumentation" -#: git-gui.sh:2201 +#: git-gui.sh:2238 #, tcl-format msgid "fatal: cannot stat path %s: No such file or directory" msgstr "" "Fehler: Verzeichnis »%s« kann nicht gelesen werden: Datei oder Verzeichnis " "nicht gefunden" -#: git-gui.sh:2234 +#: git-gui.sh:2271 msgid "Current Branch:" msgstr "Aktueller Zweig:" -#: git-gui.sh:2255 +#: git-gui.sh:2292 msgid "Staged Changes (Will Commit)" msgstr "Bereitstellung (zum Eintragen)" -#: git-gui.sh:2274 +#: git-gui.sh:2312 msgid "Unstaged Changes" msgstr "Nicht bereitgestellte Änderungen" -#: git-gui.sh:2323 +#: git-gui.sh:2362 msgid "Stage Changed" msgstr "Alles bereitstellen" -#: git-gui.sh:2339 lib/transport.tcl:93 lib/transport.tcl:182 +#: git-gui.sh:2378 lib/transport.tcl:93 lib/transport.tcl:182 msgid "Push" msgstr "Versenden" -#: git-gui.sh:2369 +#: git-gui.sh:2408 msgid "Initial Commit Message:" msgstr "Erste Versionsbeschreibung:" -#: git-gui.sh:2370 +#: git-gui.sh:2409 msgid "Amended Commit Message:" msgstr "Nachgebesserte Beschreibung:" -#: git-gui.sh:2371 +#: git-gui.sh:2410 msgid "Amended Initial Commit Message:" msgstr "Nachgebesserte erste Beschreibung:" -#: git-gui.sh:2372 +#: git-gui.sh:2411 msgid "Amended Merge Commit Message:" msgstr "Nachgebesserte Zusammenführungs-Beschreibung:" -#: git-gui.sh:2373 +#: git-gui.sh:2412 msgid "Merge Commit Message:" msgstr "Zusammenführungs-Beschreibung:" -#: git-gui.sh:2374 +#: git-gui.sh:2413 msgid "Commit Message:" msgstr "Versionsbeschreibung:" -#: git-gui.sh:2419 git-gui.sh:2557 lib/console.tcl:71 +#: git-gui.sh:2459 git-gui.sh:2622 lib/console.tcl:73 msgid "Copy All" msgstr "Alle kopieren" -#: git-gui.sh:2443 lib/blame.tcl:104 +#: git-gui.sh:2483 lib/blame.tcl:107 msgid "File:" msgstr "Datei:" -#: git-gui.sh:2573 +#: git-gui.sh:2589 msgid "Apply/Reverse Hunk" msgstr "Kontext anwenden/umkehren" -#: git-gui.sh:2579 +#: git-gui.sh:2595 msgid "Show Less Context" msgstr "Weniger Zeilen anzeigen" -#: git-gui.sh:2586 +#: git-gui.sh:2602 msgid "Show More Context" msgstr "Mehr Zeilen anzeigen" -#: git-gui.sh:2594 +#: git-gui.sh:2610 msgid "Refresh" msgstr "Aktualisieren" -#: git-gui.sh:2615 +#: git-gui.sh:2631 msgid "Decrease Font Size" msgstr "Schriftgröße verkleinern" -#: git-gui.sh:2619 +#: git-gui.sh:2635 msgid "Increase Font Size" msgstr "Schriftgröße vergrößern" -#: git-gui.sh:2630 +#: git-gui.sh:2646 msgid "Unstage Hunk From Commit" msgstr "Kontext aus Bereitstellung herausnehmen" -#: git-gui.sh:2604 +#: git-gui.sh:2648 msgid "Stage Hunk For Commit" msgstr "Kontext zur Bereitstellung hinzufügen" -#: git-gui.sh:2623 +#: git-gui.sh:2667 msgid "Initializing..." msgstr "Initialisieren..." -#: git-gui.sh:2718 +#: git-gui.sh:2762 #, tcl-format msgid "" "Possible environment issues exist.\n" @@ -451,7 +451,7 @@ msgstr "" "von %s an Git weitergegeben werden:\n" "\n" -#: git-gui.sh:2748 +#: git-gui.sh:2792 msgid "" "\n" "This is due to a known issue with the\n" @@ -461,7 +461,7 @@ msgstr "" "Dies ist ein bekanntes Problem der Tcl-Version, die\n" "in Cygwin mitgeliefert wird." -#: git-gui.sh:2753 +#: git-gui.sh:2797 #, tcl-format msgid "" "\n" @@ -477,7 +477,7 @@ msgstr "" "gewünschten Werte für die Einstellung user.name und \n" "user.email in Ihre Datei ~/.gitconfig einfügen.\n" -#: lib/about.tcl:25 +#: lib/about.tcl:26 msgid "git-gui - a graphical user interface for Git." msgstr "git-gui - eine grafische Oberfläche für Git." @@ -489,56 +489,56 @@ msgstr "Datei-Browser" msgid "Commit:" msgstr "Version:" -#: lib/blame.tcl:249 +#: lib/blame.tcl:264 msgid "Copy Commit" msgstr "Version kopieren" -#: lib/blame.tcl:369 +#: lib/blame.tcl:384 #, tcl-format msgid "Reading %s..." msgstr "%s lesen..." -#: lib/blame.tcl:473 +#: lib/blame.tcl:488 msgid "Loading copy/move tracking annotations..." msgstr "Annotierungen für Kopieren/Verschieben werden geladen..." -#: lib/blame.tcl:493 +#: lib/blame.tcl:508 msgid "lines annotated" msgstr "Zeilen annotiert" -#: lib/blame.tcl:674 +#: lib/blame.tcl:689 msgid "Loading original location annotations..." msgstr "Annotierungen für ursprünglichen Ort werden geladen..." -#: lib/blame.tcl:677 +#: lib/blame.tcl:692 msgid "Annotation complete." msgstr "Annotierung vollständig." -#: lib/blame.tcl:731 +#: lib/blame.tcl:746 msgid "Loading annotation..." msgstr "Annotierung laden..." -#: lib/blame.tcl:787 +#: lib/blame.tcl:802 msgid "Author:" msgstr "Autor:" -#: lib/blame.tcl:791 +#: lib/blame.tcl:806 msgid "Committer:" msgstr "Eintragender:" -#: lib/blame.tcl:796 +#: lib/blame.tcl:811 msgid "Original File:" msgstr "Ursprüngliche Datei:" -#: lib/blame.tcl:910 +#: lib/blame.tcl:925 msgid "Originally By:" msgstr "Ursprünglich von:" -#: lib/blame.tcl:916 +#: lib/blame.tcl:931 msgid "In File:" msgstr "In Datei:" -#: lib/blame.tcl:921 +#: lib/blame.tcl:936 msgid "Copied Or Moved Here By:" msgstr "Kopiert oder verschoben durch:" @@ -551,17 +551,17 @@ msgid "Checkout" msgstr "Umstellen" #: lib/branch_checkout.tcl:27 lib/branch_create.tcl:35 -#: lib/branch_delete.tcl:32 lib/branch_rename.tcl:30 lib/browser.tcl:281 -#: lib/checkout_op.tcl:522 lib/choose_font.tcl:43 lib/merge.tcl:172 -#: lib/option.tcl:90 lib/remote_branch_delete.tcl:42 lib/transport.tcl:97 +#: lib/branch_delete.tcl:32 lib/branch_rename.tcl:30 lib/browser.tcl:282 +#: lib/checkout_op.tcl:522 lib/choose_font.tcl:43 lib/merge.tcl:171 +#: lib/option.tcl:103 lib/remote_branch_delete.tcl:42 lib/transport.tcl:97 msgid "Cancel" msgstr "Abbrechen" -#: lib/branch_checkout.tcl:32 lib/browser.tcl:286 +#: lib/branch_checkout.tcl:32 lib/browser.tcl:287 msgid "Revision" msgstr "Version" -#: lib/branch_checkout.tcl:36 lib/branch_create.tcl:69 lib/option.tcl:202 +#: lib/branch_checkout.tcl:36 lib/branch_create.tcl:69 lib/option.tcl:242 msgid "Options" msgstr "Optionen" @@ -581,7 +581,7 @@ msgstr "Zweig erstellen" msgid "Create New Branch" msgstr "Neuen Zweig erstellen" -#: lib/branch_create.tcl:31 lib/choose_repository.tcl:375 +#: lib/branch_create.tcl:31 lib/choose_repository.tcl:371 msgid "Create" msgstr "Erstellen" @@ -721,22 +721,22 @@ msgstr "Starten..." msgid "File Browser" msgstr "Datei-Browser" -#: lib/browser.tcl:125 lib/browser.tcl:142 +#: lib/browser.tcl:126 lib/browser.tcl:143 #, tcl-format msgid "Loading %s..." msgstr "%s laden..." -#: lib/browser.tcl:186 +#: lib/browser.tcl:187 msgid "[Up To Parent]" msgstr "[Nach oben]" -#: lib/browser.tcl:266 lib/browser.tcl:272 +#: lib/browser.tcl:267 lib/browser.tcl:273 msgid "Browse Branch Files" msgstr "Dateien des Zweigs durchblättern" -#: lib/browser.tcl:277 lib/choose_repository.tcl:391 -#: lib/choose_repository.tcl:482 lib/choose_repository.tcl:492 -#: lib/choose_repository.tcl:989 +#: lib/browser.tcl:278 lib/choose_repository.tcl:387 +#: lib/choose_repository.tcl:474 lib/choose_repository.tcl:484 +#: lib/choose_repository.tcl:987 msgid "Browse" msgstr "Blättern" @@ -750,7 +750,7 @@ msgstr "Änderungen »%s« von »%s« anfordern" msgid "fatal: Cannot resolve %s" msgstr "Fehler: »%s« kann nicht als Zweig oder Version erkannt werden" -#: lib/checkout_op.tcl:140 lib/console.tcl:79 lib/database.tcl:31 +#: lib/checkout_op.tcl:140 lib/console.tcl:81 lib/database.tcl:31 msgid "Close" msgstr "Schließen" @@ -839,7 +839,7 @@ msgstr "" "Wenn Sie auf einem Zweig arbeiten möchten, erstellen Sie bitte jetzt einen " "Zweig mit der Auswahl »Abgetrennte Arbeitskopie-Version«." -#: lib/checkout_op.tcl:446 +#: lib/checkout_op.tcl:446 lib/checkout_op.tcl:450 #, tcl-format msgid "Checked out '%s'." msgstr "Umgestellt auf »%s«." @@ -860,7 +860,7 @@ msgstr "" msgid "Reset '%s'?" msgstr "»%s« zurücksetzen?" -#: lib/checkout_op.tcl:510 lib/merge.tcl:164 +#: lib/checkout_op.tcl:510 lib/merge.tcl:163 msgid "Visualize" msgstr "Darstellen" @@ -890,15 +890,15 @@ msgstr "Auswählen" msgid "Font Family" msgstr "Schriftfamilie" -#: lib/choose_font.tcl:73 +#: lib/choose_font.tcl:74 msgid "Font Size" msgstr "Schriftgröße" -#: lib/choose_font.tcl:90 +#: lib/choose_font.tcl:91 msgid "Font Example" msgstr "Schriftbeispiel" -#: lib/choose_font.tcl:101 +#: lib/choose_font.tcl:103 msgid "" "This is example text.\n" "If you like this text, it can be your font." @@ -906,231 +906,231 @@ msgstr "" "Dies ist ein Beispieltext.\n" "Wenn Ihnen dieser Text gefällt, sollten Sie diese Schriftart wählen." -#: lib/choose_repository.tcl:27 +#: lib/choose_repository.tcl:28 msgid "Git Gui" msgstr "Git Gui" -#: lib/choose_repository.tcl:80 lib/choose_repository.tcl:380 +#: lib/choose_repository.tcl:81 lib/choose_repository.tcl:376 msgid "Create New Repository" msgstr "Neues Projektarchiv" -#: lib/choose_repository.tcl:86 +#: lib/choose_repository.tcl:87 msgid "New..." msgstr "Neu..." -#: lib/choose_repository.tcl:93 lib/choose_repository.tcl:468 +#: lib/choose_repository.tcl:94 lib/choose_repository.tcl:460 msgid "Clone Existing Repository" msgstr "Projektarchiv klonen" -#: lib/choose_repository.tcl:99 +#: lib/choose_repository.tcl:100 msgid "Clone..." msgstr "Klonen..." -#: lib/choose_repository.tcl:106 lib/choose_repository.tcl:978 +#: lib/choose_repository.tcl:107 lib/choose_repository.tcl:976 msgid "Open Existing Repository" msgstr "Projektarchiv öffnen" -#: lib/choose_repository.tcl:112 +#: lib/choose_repository.tcl:113 msgid "Open..." msgstr "Öffnen..." -#: lib/choose_repository.tcl:125 +#: lib/choose_repository.tcl:126 msgid "Recent Repositories" msgstr "Zuletzt benutzte Projektarchive" -#: lib/choose_repository.tcl:131 +#: lib/choose_repository.tcl:132 msgid "Open Recent Repository:" msgstr "Zuletzt benutztes Projektarchiv öffnen:" -#: lib/choose_repository.tcl:294 -#, tcl-format -msgid "Location %s already exists." -msgstr "Projektarchiv »%s« existiert bereits." - -#: lib/choose_repository.tcl:300 lib/choose_repository.tcl:307 -#: lib/choose_repository.tcl:314 +#: lib/choose_repository.tcl:296 lib/choose_repository.tcl:303 +#: lib/choose_repository.tcl:310 #, tcl-format msgid "Failed to create repository %s:" msgstr "Projektarchiv »%s« konnte nicht erstellt werden:" -#: lib/choose_repository.tcl:385 lib/choose_repository.tcl:486 +#: lib/choose_repository.tcl:381 lib/choose_repository.tcl:478 msgid "Directory:" msgstr "Verzeichnis:" -#: lib/choose_repository.tcl:415 lib/choose_repository.tcl:544 -#: lib/choose_repository.tcl:1013 +#: lib/choose_repository.tcl:412 lib/choose_repository.tcl:537 +#: lib/choose_repository.tcl:1011 msgid "Git Repository" msgstr "Git Projektarchiv" -#: lib/choose_repository.tcl:430 lib/choose_repository.tcl:437 +#: lib/choose_repository.tcl:437 #, tcl-format msgid "Directory %s already exists." msgstr "Verzeichnis »%s« existiert bereits." -#: lib/choose_repository.tcl:442 +#: lib/choose_repository.tcl:441 #, tcl-format msgid "File %s already exists." msgstr "Datei »%s« existiert bereits." -#: lib/choose_repository.tcl:463 +#: lib/choose_repository.tcl:455 msgid "Clone" msgstr "Klonen" -#: lib/choose_repository.tcl:476 +#: lib/choose_repository.tcl:468 msgid "URL:" msgstr "URL:" -#: lib/choose_repository.tcl:496 +#: lib/choose_repository.tcl:489 msgid "Clone Type:" msgstr "Art des Klonens:" -#: lib/choose_repository.tcl:502 +#: lib/choose_repository.tcl:495 msgid "Standard (Fast, Semi-Redundant, Hardlinks)" msgstr "Standard (schnell, teilweise redundant, Hardlinks)" -#: lib/choose_repository.tcl:508 +#: lib/choose_repository.tcl:501 msgid "Full Copy (Slower, Redundant Backup)" msgstr "Alles kopieren (langsamer, volle Redundanz)" -#: lib/choose_repository.tcl:514 +#: lib/choose_repository.tcl:507 msgid "Shared (Fastest, Not Recommended, No Backup)" msgstr "Verknüpft (schnell, nicht empfohlen, kein Backup)" -#: lib/choose_repository.tcl:550 lib/choose_repository.tcl:597 -#: lib/choose_repository.tcl:738 lib/choose_repository.tcl:808 -#: lib/choose_repository.tcl:1019 lib/choose_repository.tcl:1027 +#: lib/choose_repository.tcl:543 lib/choose_repository.tcl:590 +#: lib/choose_repository.tcl:736 lib/choose_repository.tcl:806 +#: lib/choose_repository.tcl:1017 lib/choose_repository.tcl:1025 #, tcl-format msgid "Not a Git repository: %s" msgstr "Kein Git-Projektarchiv in »%s« gefunden." -#: lib/choose_repository.tcl:586 +#: lib/choose_repository.tcl:579 msgid "Standard only available for local repository." msgstr "Standard ist nur für lokale Projektarchive verfügbar." -#: lib/choose_repository.tcl:590 +#: lib/choose_repository.tcl:583 msgid "Shared only available for local repository." msgstr "Verknüpft ist nur für lokale Projektarchive verfügbar." -#: lib/choose_repository.tcl:617 +#: lib/choose_repository.tcl:604 +#, tcl-format +msgid "Location %s already exists." +msgstr "Projektarchiv »%s« existiert bereits." + +#: lib/choose_repository.tcl:615 msgid "Failed to configure origin" msgstr "Der Ursprungsort konnte nicht eingerichtet werden" -#: lib/choose_repository.tcl:629 +#: lib/choose_repository.tcl:627 msgid "Counting objects" msgstr "Objekte werden gezählt" -#: lib/choose_repository.tcl:630 +#: lib/choose_repository.tcl:628 msgid "buckets" msgstr "Buckets" -#: lib/choose_repository.tcl:654 +#: lib/choose_repository.tcl:652 #, tcl-format msgid "Unable to copy objects/info/alternates: %s" msgstr "Kopien von Objekten/Info/Alternates konnten nicht erstellt werden: %s" -#: lib/choose_repository.tcl:690 +#: lib/choose_repository.tcl:688 #, tcl-format msgid "Nothing to clone from %s." msgstr "Von »%s« konnte nichts geklont werden." -#: lib/choose_repository.tcl:692 lib/choose_repository.tcl:906 -#: lib/choose_repository.tcl:918 +#: lib/choose_repository.tcl:690 lib/choose_repository.tcl:904 +#: lib/choose_repository.tcl:916 msgid "The 'master' branch has not been initialized." msgstr "Der »master«-Zweig wurde noch nicht initialisiert." -#: lib/choose_repository.tcl:705 +#: lib/choose_repository.tcl:703 msgid "Hardlinks are unavailable. Falling back to copying." msgstr "Hardlinks nicht verfügbar. Stattdessen wird kopiert." -#: lib/choose_repository.tcl:717 +#: lib/choose_repository.tcl:715 #, tcl-format msgid "Cloning from %s" msgstr "Kopieren von »%s«" -#: lib/choose_repository.tcl:748 +#: lib/choose_repository.tcl:746 msgid "Copying objects" msgstr "Objektdatenbank kopieren" -#: lib/choose_repository.tcl:749 +#: lib/choose_repository.tcl:747 msgid "KiB" msgstr "KB" -#: lib/choose_repository.tcl:773 +#: lib/choose_repository.tcl:771 #, tcl-format msgid "Unable to copy object: %s" msgstr "Objekt kann nicht kopiert werden: %s" -#: lib/choose_repository.tcl:783 +#: lib/choose_repository.tcl:781 msgid "Linking objects" msgstr "Objekte verlinken" -#: lib/choose_repository.tcl:784 +#: lib/choose_repository.tcl:782 msgid "objects" msgstr "Objekte" -#: lib/choose_repository.tcl:792 +#: lib/choose_repository.tcl:790 #, tcl-format msgid "Unable to hardlink object: %s" msgstr "Für Objekt konnte kein Hardlink erstellt werden: %s" -#: lib/choose_repository.tcl:847 +#: lib/choose_repository.tcl:845 msgid "Cannot fetch branches and objects. See console output for details." msgstr "" "Zweige und Objekte konnten nicht angefordert werden. Kontrollieren Sie die " "Ausgaben auf der Konsole für weitere Angaben." -#: lib/choose_repository.tcl:858 +#: lib/choose_repository.tcl:856 msgid "Cannot fetch tags. See console output for details." msgstr "" "Markierungen konnten nicht angefordert werden. Kontrollieren Sie die " "Ausgaben auf der Konsole für weitere Angaben." -#: lib/choose_repository.tcl:882 +#: lib/choose_repository.tcl:880 msgid "Cannot determine HEAD. See console output for details." msgstr "" "Die Zweigspitze (HEAD) konnte nicht gefunden werden. Kontrollieren Sie die " "Ausgaben auf der Konsole für weitere Angaben." -#: lib/choose_repository.tcl:891 +#: lib/choose_repository.tcl:889 #, tcl-format msgid "Unable to cleanup %s" msgstr "Verzeichnis »%s« kann nicht aufgeräumt werden." -#: lib/choose_repository.tcl:897 +#: lib/choose_repository.tcl:895 msgid "Clone failed." msgstr "Klonen fehlgeschlagen." -#: lib/choose_repository.tcl:904 +#: lib/choose_repository.tcl:902 msgid "No default branch obtained." msgstr "Kein voreingestellter Zweig gefunden." -#: lib/choose_repository.tcl:915 +#: lib/choose_repository.tcl:913 #, tcl-format msgid "Cannot resolve %s as a commit." msgstr "»%s« wurde nicht als Version gefunden." -#: lib/choose_repository.tcl:927 +#: lib/choose_repository.tcl:925 msgid "Creating working directory" msgstr "Arbeitskopie erstellen" -#: lib/choose_repository.tcl:928 lib/index.tcl:65 lib/index.tcl:127 +#: lib/choose_repository.tcl:926 lib/index.tcl:65 lib/index.tcl:127 #: lib/index.tcl:193 msgid "files" msgstr "Dateien" -#: lib/choose_repository.tcl:957 +#: lib/choose_repository.tcl:955 msgid "Initial file checkout failed." msgstr "Erstellen der Arbeitskopie fehlgeschlagen." -#: lib/choose_repository.tcl:973 +#: lib/choose_repository.tcl:971 msgid "Open" msgstr "Öffnen" -#: lib/choose_repository.tcl:983 +#: lib/choose_repository.tcl:981 msgid "Repository:" msgstr "Projektarchiv:" -#: lib/choose_repository.tcl:1033 +#: lib/choose_repository.tcl:1031 #, tcl-format msgid "Failed to open repository %s:" msgstr "Projektarchiv »%s« konnte nicht geöffnet werden." @@ -1151,7 +1151,7 @@ msgstr "Lokaler Zweig" msgid "Tracking Branch" msgstr "Ãœbernahmezweig" -#: lib/choose_rev.tcl:84 lib/choose_rev.tcl:537 +#: lib/choose_rev.tcl:84 lib/choose_rev.tcl:538 msgid "Tag" msgstr "Markierung" @@ -1168,11 +1168,11 @@ msgstr "Keine Version ausgewählt." msgid "Revision expression is empty." msgstr "Versions-Ausdruck ist leer." -#: lib/choose_rev.tcl:530 +#: lib/choose_rev.tcl:531 msgid "Updated" msgstr "Aktualisiert" -#: lib/choose_rev.tcl:558 +#: lib/choose_rev.tcl:559 msgid "URL" msgstr "URL" @@ -1304,7 +1304,9 @@ msgstr "Aufrufen der Versionsbeschreibungs-Kontrolle..." #: lib/commit.tcl:274 msgid "Commit declined by commit-msg hook." -msgstr "Eintragen abgelehnt durch Versionsbeschreibungs-Kontrolle (»commit-message hook«)." +msgstr "" +"Eintragen abgelehnt durch Versionsbeschreibungs-Kontrolle (»commit-message " +"hook«)." #: lib/commit.tcl:287 msgid "Committing changes..." @@ -1323,7 +1325,7 @@ msgstr "Eintragen fehlgeschlagen." msgid "Commit %s appears to be corrupt" msgstr "Version »%s« scheint beschädigt zu sein" -#: lib/commit.tcl:279 +#: lib/commit.tcl:326 msgid "" "No changes to commit.\n" "\n" @@ -1338,7 +1340,7 @@ msgstr "" "\n" "Das Arbeitsverzeichnis wird daher jetzt neu geladen.\n" -#: lib/commit.tcl:286 +#: lib/commit.tcl:333 msgid "No changes to commit." msgstr "Keine Änderungen, die eingetragen werden können." @@ -1346,24 +1348,24 @@ msgstr "Keine Änderungen, die eingetragen werden können." msgid "commit-tree failed:" msgstr "commit-tree fehlgeschlagen:" -#: lib/commit.tcl:339 +#: lib/commit.tcl:367 msgid "update-ref failed:" msgstr "update-ref fehlgeschlagen:" -#: lib/commit.tcl:430 +#: lib/commit.tcl:454 #, tcl-format msgid "Created commit %s: %s" msgstr "Version %s übertragen: %s" -#: lib/console.tcl:57 +#: lib/console.tcl:59 msgid "Working... please wait..." msgstr "Verarbeitung. Bitte warten..." -#: lib/console.tcl:183 +#: lib/console.tcl:186 msgid "Success" msgstr "Erfolgreich" -#: lib/console.tcl:196 +#: lib/console.tcl:200 msgid "Error: Command Failed" msgstr "Fehler: Kommando fehlgeschlagen" @@ -1474,24 +1476,24 @@ msgstr "* Binärdatei (Inhalt wird nicht angezeigt)" msgid "Error loading diff:" msgstr "Fehler beim Laden des Vergleichs:" -#: lib/diff.tcl:302 +#: lib/diff.tcl:303 msgid "Failed to unstage selected hunk." msgstr "" "Fehler beim Herausnehmen des gewählten Kontexts aus der Bereitstellung." -#: lib/diff.tcl:309 +#: lib/diff.tcl:310 msgid "Failed to stage selected hunk." msgstr "Fehler beim Bereitstellen des gewählten Kontexts." -#: lib/error.tcl:12 lib/error.tcl:102 +#: lib/error.tcl:20 lib/error.tcl:114 msgid "error" msgstr "Fehler" -#: lib/error.tcl:28 +#: lib/error.tcl:36 msgid "warning" msgstr "Warnung" -#: lib/error.tcl:81 +#: lib/error.tcl:94 msgid "You must correct the above errors before committing." msgstr "" "Sie müssen die obigen Fehler zuerst beheben, bevor Sie eintragen können." @@ -1545,12 +1547,12 @@ msgstr "Änderungen in Datei »%s« verwerfen?" msgid "Revert changes in these %i files?" msgstr "Änderungen in den gewählten %i Dateien verwerfen?" -#: lib/index.tcl:389 +#: lib/index.tcl:391 msgid "Any unstaged changes will be permanently lost by the revert." msgstr "" "Alle nicht bereitgestellten Änderungen werden beim Verwerfen verloren gehen." -#: lib/index.tcl:392 +#: lib/index.tcl:394 msgid "Do Nothing" msgstr "Nichts tun" @@ -1629,20 +1631,20 @@ msgstr "Zusammenführen von %s und %s..." msgid "Merge completed successfully." msgstr "Zusammenführen erfolgreich abgeschlossen." -#: lib/merge.tcl:133 +#: lib/merge.tcl:132 msgid "Merge failed. Conflict resolution is required." msgstr "Zusammenführen fehlgeschlagen. Konfliktauflösung ist notwendig." -#: lib/merge.tcl:158 +#: lib/merge.tcl:157 #, tcl-format msgid "Merge Into %s" msgstr "Zusammenführen in »%s«" -#: lib/merge.tcl:177 +#: lib/merge.tcl:176 msgid "Revision To Merge" msgstr "Zusammenzuführende Version" -#: lib/merge.tcl:212 +#: lib/merge.tcl:211 msgid "" "Cannot abort while amending.\n" "\n" @@ -1652,7 +1654,7 @@ msgstr "" "\n" "Sie müssen die Nachbesserung der Version abschließen.\n" -#: lib/merge.tcl:222 +#: lib/merge.tcl:221 msgid "" "Abort merge?\n" "\n" @@ -1667,7 +1669,7 @@ msgstr "" "\n" "Zusammenführen jetzt abbrechen?" -#: lib/merge.tcl:228 +#: lib/merge.tcl:227 msgid "" "Reset changes?\n" "\n" @@ -1682,7 +1684,7 @@ msgstr "" "\n" "Änderungen jetzt zurücksetzen?" -#: lib/merge.tcl:239 +#: lib/merge.tcl:238 msgid "Aborting" msgstr "Abbruch" @@ -1694,89 +1696,94 @@ msgstr "Dateien zurückgesetzt" msgid "Abort failed." msgstr "Abbruch fehlgeschlagen." -#: lib/merge.tcl:268 +#: lib/merge.tcl:267 msgid "Abort completed. Ready." msgstr "Abbruch durchgeführt. Bereit." -#: lib/option.tcl:82 +#: lib/option.tcl:95 msgid "Restore Defaults" msgstr "Voreinstellungen wiederherstellen" -#: lib/option.tcl:86 +#: lib/option.tcl:99 msgid "Save" msgstr "Speichern" -#: lib/option.tcl:96 +#: lib/option.tcl:109 #, tcl-format msgid "%s Repository" msgstr "Projektarchiv %s" -#: lib/option.tcl:97 +#: lib/option.tcl:110 msgid "Global (All Repositories)" msgstr "Global (Alle Projektarchive)" -#: lib/option.tcl:103 +#: lib/option.tcl:116 msgid "User Name" msgstr "Benutzername" -#: lib/option.tcl:104 +#: lib/option.tcl:117 msgid "Email Address" msgstr "E-Mail-Adresse" -#: lib/option.tcl:106 +#: lib/option.tcl:119 msgid "Summarize Merge Commits" msgstr "Zusammenführungs-Versionen zusammenfassen" -#: lib/option.tcl:107 +#: lib/option.tcl:120 msgid "Merge Verbosity" msgstr "Ausführlichkeit der Zusammenführen-Meldungen" -#: lib/option.tcl:108 +#: lib/option.tcl:121 msgid "Show Diffstat After Merge" msgstr "Vergleichsstatistik nach Zusammenführen anzeigen" -#: lib/option.tcl:110 +#: lib/option.tcl:123 msgid "Trust File Modification Timestamps" msgstr "Auf Dateiänderungsdatum verlassen" -#: lib/option.tcl:111 +#: lib/option.tcl:124 msgid "Prune Tracking Branches During Fetch" msgstr "Ãœbernahmezweige aufräumen während Anforderung" -#: lib/option.tcl:112 +#: lib/option.tcl:125 msgid "Match Tracking Branches" msgstr "Passend zu Ãœbernahmezweig" -#: lib/option.tcl:113 +#: lib/option.tcl:126 msgid "Number of Diff Context Lines" msgstr "Anzahl der Kontextzeilen beim Vergleich" -#: lib/option.tcl:114 +#: lib/option.tcl:127 +#, fuzzy +msgid "Commit Message Text Width" +msgstr "Versionsbeschreibung:" + +#: lib/option.tcl:128 msgid "New Branch Name Template" msgstr "Namensvorschlag für neue Zweige" -#: lib/option.tcl:191 +#: lib/option.tcl:192 msgid "Spelling Dictionary:" msgstr "Wörterbuch Rechtschreibprüfung:" -#: lib/option.tcl:215 +#: lib/option.tcl:216 msgid "Change Font" msgstr "Schriftart ändern" -#: lib/option.tcl:180 +#: lib/option.tcl:220 #, tcl-format msgid "Choose %s" msgstr "%s wählen" -#: lib/option.tcl:186 +#: lib/option.tcl:226 msgid "pt." msgstr "pt." -#: lib/option.tcl:200 +#: lib/option.tcl:240 msgid "Preferences" msgstr "Einstellungen" -#: lib/option.tcl:235 +#: lib/option.tcl:275 msgid "Failed to completely save options:" msgstr "Optionen konnten nicht gespeichert werden:" @@ -1886,23 +1893,44 @@ msgstr "Fehler beim Schreiben der Verknüpfung:" msgid "Cannot write icon:" msgstr "Fehler beim Erstellen des Icons:" -#: lib/spellcheck.tcl:37 -msgid "Not connected to aspell" -msgstr "Keine Verbindung zu »aspell«" +#: lib/spellcheck.tcl:57 +msgid "Unsupported spell checker" +msgstr "" + +#: lib/spellcheck.tcl:65 +#, fuzzy +msgid "Spell checking is unavailable" +msgstr "Rechtschreibprüfung fehlgeschlagen" + +#: lib/spellcheck.tcl:68 +msgid "Invalid spell checking configuration" +msgstr "" + +#: lib/spellcheck.tcl:70 +#, tcl-format +msgid "Reverting dictionary to %s." +msgstr "" + +#: lib/spellcheck.tcl:73 +#, fuzzy +msgid "Spell checker silently failed on startup" +msgstr "Rechtschreibprüfung fehlgeschlagen" -#: lib/spellcheck.tcl:41 -msgid "Unrecognized aspell version" +#: lib/spellcheck.tcl:80 +#, fuzzy +msgid "Unrecognized spell checker" msgstr "Unbekannte Version von »aspell«" -#: lib/spellcheck.tcl:135 +#: lib/spellcheck.tcl:180 msgid "No Suggestions" msgstr "Keine Vorschläge" -#: lib/spellcheck.tcl:336 -msgid "Unexpected EOF from aspell" +#: lib/spellcheck.tcl:381 +#, fuzzy +msgid "Unexpected EOF from spell checker" msgstr "Unerwartetes EOF von »aspell«" -#: lib/spellcheck.tcl:340 +#: lib/spellcheck.tcl:385 msgid "Spell Checker Failed" msgstr "Rechtschreibprüfung fehlgeschlagen" @@ -1974,3 +2002,6 @@ msgstr "Kompaktes Datenformat benutzen (für langsame Netzverbindungen)" #: lib/transport.tcl:168 msgid "Include tags" msgstr "Mit Markierungen übertragen" + +#~ msgid "Not connected to aspell" +#~ msgstr "Keine Verbindung zu »aspell«" diff --git a/git-gui/po/fr.po b/git-gui/po/fr.po index d389bdaca1..d281938e33 100644 --- a/git-gui/po/fr.po +++ b/git-gui/po/fr.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: fr\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2007-11-24 10:36+0100\n" +"POT-Creation-Date: 2008-03-14 07:18+0100\n" "PO-Revision-Date: 2008-01-14 21:08+0100\n" "Last-Translator: Christian Couder <chriscool@tuxfamily.org>\n" "Language-Team: French\n" @@ -18,33 +18,33 @@ msgstr "" "X-Generator: KBabel 1.11.4\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: git-gui.sh:41 git-gui.sh:604 git-gui.sh:618 git-gui.sh:631 git-gui.sh:714 -#: git-gui.sh:733 +#: git-gui.sh:41 git-gui.sh:634 git-gui.sh:648 git-gui.sh:661 git-gui.sh:744 +#: git-gui.sh:763 msgid "git-gui: fatal error" msgstr "git-gui: erreur fatale" -#: git-gui.sh:565 +#: git-gui.sh:593 #, tcl-format msgid "Invalid font specified in %s:" msgstr "Invalide fonte spécifiée dans %s :" -#: git-gui.sh:590 +#: git-gui.sh:620 msgid "Main Font" msgstr "Fonte principale" -#: git-gui.sh:591 +#: git-gui.sh:621 msgid "Diff/Console Font" msgstr "Fonte diff/console" -#: git-gui.sh:605 +#: git-gui.sh:635 msgid "Cannot find git in PATH." msgstr "Impossible de trouver git dans PATH." -#: git-gui.sh:632 +#: git-gui.sh:662 msgid "Cannot parse Git version string:" msgstr "Impossible de parser la version de Git :" -#: git-gui.sh:650 +#: git-gui.sh:680 #, tcl-format msgid "" "Git version cannot be determined.\n" @@ -63,79 +63,79 @@ msgstr "" "\n" "Peut'on considérer que '%s' est en version 1.5.0 ?\n" -#: git-gui.sh:888 +#: git-gui.sh:918 msgid "Git directory not found:" msgstr "Impossible de trouver le répertoire de Git :" -#: git-gui.sh:895 +#: git-gui.sh:925 msgid "Cannot move to top of working directory:" msgstr "Impossible d'aller à la racine du répertoire de travail :" -#: git-gui.sh:902 +#: git-gui.sh:932 msgid "Cannot use funny .git directory:" msgstr "Impossible d'utiliser un drôle de répertoire git :" -#: git-gui.sh:907 +#: git-gui.sh:937 msgid "No working directory" msgstr "Pas de répertoire de travail" -#: git-gui.sh:1054 +#: git-gui.sh:1084 lib/checkout_op.tcl:283 msgid "Refreshing file status..." msgstr "Rafraichissement du status des fichiers..." -#: git-gui.sh:1119 +#: git-gui.sh:1149 msgid "Scanning for modified files ..." msgstr "Recherche de fichiers modifiés..." -#: git-gui.sh:1294 lib/browser.tcl:245 +#: git-gui.sh:1324 lib/browser.tcl:246 msgid "Ready." msgstr "Prêt." -#: git-gui.sh:1560 +#: git-gui.sh:1590 msgid "Unmodified" msgstr "Non modifié" -#: git-gui.sh:1562 +#: git-gui.sh:1592 msgid "Modified, not staged" msgstr "Modifié, non pré-commité" -#: git-gui.sh:1563 git-gui.sh:1568 +#: git-gui.sh:1593 git-gui.sh:1598 msgid "Staged for commit" msgstr "Pré-commité" -#: git-gui.sh:1564 git-gui.sh:1569 +#: git-gui.sh:1594 git-gui.sh:1599 msgid "Portions staged for commit" msgstr "En partie pré-commité" -#: git-gui.sh:1565 git-gui.sh:1570 +#: git-gui.sh:1595 git-gui.sh:1600 msgid "Staged for commit, missing" msgstr "Pré-commité, manquant" -#: git-gui.sh:1567 +#: git-gui.sh:1597 msgid "Untracked, not staged" msgstr "Non suivi, non pré-commité" -#: git-gui.sh:1572 +#: git-gui.sh:1602 msgid "Missing" msgstr "Manquant" -#: git-gui.sh:1573 +#: git-gui.sh:1603 msgid "Staged for removal" msgstr "Pré-commité pour suppression" -#: git-gui.sh:1574 +#: git-gui.sh:1604 msgid "Staged for removal, still present" msgstr "Pré-commité pour suppression, toujours présent" -#: git-gui.sh:1576 git-gui.sh:1577 git-gui.sh:1578 git-gui.sh:1579 +#: git-gui.sh:1606 git-gui.sh:1607 git-gui.sh:1608 git-gui.sh:1609 msgid "Requires merge resolution" msgstr "Nécessite la résolution d'une fusion" -#: git-gui.sh:1614 +#: git-gui.sh:1644 msgid "Starting gitk... please wait..." msgstr "Lancement de gitk... merci de patienter..." -#: git-gui.sh:1623 +#: git-gui.sh:1653 #, tcl-format msgid "" "Unable to start gitk:\n" @@ -146,295 +146,296 @@ msgstr "" "\n" "%s inexistant" -#: git-gui.sh:1823 lib/choose_repository.tcl:35 +#: git-gui.sh:1860 lib/choose_repository.tcl:36 msgid "Repository" msgstr "Référentiel" -#: git-gui.sh:1824 +#: git-gui.sh:1861 msgid "Edit" msgstr "Editer" -#: git-gui.sh:1826 lib/choose_rev.tcl:560 +#: git-gui.sh:1863 lib/choose_rev.tcl:561 msgid "Branch" msgstr "Branche" -#: git-gui.sh:1829 lib/choose_rev.tcl:547 +#: git-gui.sh:1866 lib/choose_rev.tcl:548 msgid "Commit@@noun" msgstr "Commit" -#: git-gui.sh:1832 lib/merge.tcl:121 lib/merge.tcl:150 lib/merge.tcl:168 +#: git-gui.sh:1869 lib/merge.tcl:120 lib/merge.tcl:149 lib/merge.tcl:167 msgid "Merge" msgstr "Fusionner" -#: git-gui.sh:1833 lib/choose_rev.tcl:556 +#: git-gui.sh:1870 lib/choose_rev.tcl:557 msgid "Remote" msgstr "Référentiel distant" -#: git-gui.sh:1842 +#: git-gui.sh:1879 msgid "Browse Current Branch's Files" msgstr "Visionner fichiers dans branche courante" -#: git-gui.sh:1846 +#: git-gui.sh:1883 msgid "Browse Branch Files..." msgstr "Visionner fichiers de branche" -#: git-gui.sh:1851 +#: git-gui.sh:1888 msgid "Visualize Current Branch's History" msgstr "Visualiser historique branche courante" -#: git-gui.sh:1855 +#: git-gui.sh:1892 msgid "Visualize All Branch History" msgstr "Visualiser historique toutes branches" -#: git-gui.sh:1862 +#: git-gui.sh:1899 #, tcl-format msgid "Browse %s's Files" msgstr "Visionner fichiers de %s" -#: git-gui.sh:1864 +#: git-gui.sh:1901 #, tcl-format msgid "Visualize %s's History" msgstr "Visualiser historique de %s" -#: git-gui.sh:1869 lib/database.tcl:27 lib/database.tcl:67 +#: git-gui.sh:1906 lib/database.tcl:27 lib/database.tcl:67 msgid "Database Statistics" msgstr "Statistiques base de donnée" -#: git-gui.sh:1872 lib/database.tcl:34 +#: git-gui.sh:1909 lib/database.tcl:34 msgid "Compress Database" msgstr "Comprimer base de donnée" -#: git-gui.sh:1875 +#: git-gui.sh:1912 msgid "Verify Database" msgstr "Vérifier base de donnée" -#: git-gui.sh:1882 git-gui.sh:1886 git-gui.sh:1890 lib/shortcut.tcl:7 +#: git-gui.sh:1919 git-gui.sh:1923 git-gui.sh:1927 lib/shortcut.tcl:7 #: lib/shortcut.tcl:39 lib/shortcut.tcl:71 msgid "Create Desktop Icon" msgstr "Créer icône sur bureau" -#: git-gui.sh:1895 lib/choose_repository.tcl:176 lib/choose_repository.tcl:184 +#: git-gui.sh:1932 lib/choose_repository.tcl:177 lib/choose_repository.tcl:185 msgid "Quit" msgstr "Quitter" -#: git-gui.sh:1902 +#: git-gui.sh:1939 msgid "Undo" msgstr "Défaire" -#: git-gui.sh:1905 +#: git-gui.sh:1942 msgid "Redo" msgstr "Refaire" -#: git-gui.sh:1909 git-gui.sh:2403 +#: git-gui.sh:1946 git-gui.sh:2443 msgid "Cut" msgstr "Couper" -#: git-gui.sh:1912 git-gui.sh:2406 git-gui.sh:2477 git-gui.sh:2549 -#: lib/console.tcl:67 +#: git-gui.sh:1949 git-gui.sh:2446 git-gui.sh:2520 git-gui.sh:2614 +#: lib/console.tcl:69 msgid "Copy" msgstr "Copier" -#: git-gui.sh:1915 git-gui.sh:2409 +#: git-gui.sh:1952 git-gui.sh:2449 msgid "Paste" msgstr "Coller" -#: git-gui.sh:1918 git-gui.sh:2412 lib/branch_delete.tcl:26 +#: git-gui.sh:1955 git-gui.sh:2452 lib/branch_delete.tcl:26 #: lib/remote_branch_delete.tcl:38 msgid "Delete" msgstr "Supprimer" -#: git-gui.sh:1922 git-gui.sh:2416 git-gui.sh:2553 lib/console.tcl:69 +#: git-gui.sh:1959 git-gui.sh:2456 git-gui.sh:2618 lib/console.tcl:71 msgid "Select All" msgstr "Tout sélectionner" -#: git-gui.sh:1931 +#: git-gui.sh:1968 msgid "Create..." msgstr "Créer..." -#: git-gui.sh:1937 +#: git-gui.sh:1974 msgid "Checkout..." msgstr "Emprunter... " -#: git-gui.sh:1943 +#: git-gui.sh:1980 msgid "Rename..." msgstr "Renommer..." -#: git-gui.sh:1948 git-gui.sh:2048 +#: git-gui.sh:1985 git-gui.sh:2085 msgid "Delete..." msgstr "Supprimer..." -#: git-gui.sh:1953 +#: git-gui.sh:1990 msgid "Reset..." msgstr "Réinitialiser..." -#: git-gui.sh:1965 git-gui.sh:2350 +#: git-gui.sh:2002 git-gui.sh:2389 msgid "New Commit" msgstr "Nouveau commit" -#: git-gui.sh:1973 git-gui.sh:2357 +#: git-gui.sh:2010 git-gui.sh:2396 msgid "Amend Last Commit" msgstr "Corriger dernier commit" -#: git-gui.sh:1982 git-gui.sh:2317 lib/remote_branch_delete.tcl:99 +#: git-gui.sh:2019 git-gui.sh:2356 lib/remote_branch_delete.tcl:99 msgid "Rescan" msgstr "Resynchroniser" -#: git-gui.sh:1988 +#: git-gui.sh:2025 msgid "Stage To Commit" msgstr "Commiter un pré-commit" -#: git-gui.sh:1994 +#: git-gui.sh:2031 msgid "Stage Changed Files To Commit" msgstr "Commiter fichiers modifiés dans pré-commit" -#: git-gui.sh:2000 +#: git-gui.sh:2037 msgid "Unstage From Commit" msgstr "Commit vers pré-commit" -#: git-gui.sh:2005 lib/index.tcl:393 +#: git-gui.sh:2042 lib/index.tcl:395 msgid "Revert Changes" msgstr "Inverser modification" -#: git-gui.sh:2012 git-gui.sh:2329 git-gui.sh:2427 +#: git-gui.sh:2049 git-gui.sh:2368 git-gui.sh:2467 msgid "Sign Off" msgstr "Se désinscrire" -#: git-gui.sh:2016 git-gui.sh:2333 +#: git-gui.sh:2053 git-gui.sh:2372 msgid "Commit@@verb" msgstr "Commiter" -#: git-gui.sh:2027 +#: git-gui.sh:2064 msgid "Local Merge..." msgstr "Fusion locale..." -#: git-gui.sh:2032 +#: git-gui.sh:2069 msgid "Abort Merge..." msgstr "Abandonner fusion..." -#: git-gui.sh:2044 +#: git-gui.sh:2081 msgid "Push..." msgstr "Pousser..." -#: git-gui.sh:2055 lib/choose_repository.tcl:40 +#: git-gui.sh:2092 lib/choose_repository.tcl:41 msgid "Apple" msgstr "Pomme" -#: git-gui.sh:2058 git-gui.sh:2080 lib/about.tcl:13 -#: lib/choose_repository.tcl:43 lib/choose_repository.tcl:49 +#: git-gui.sh:2095 git-gui.sh:2117 lib/about.tcl:14 +#: lib/choose_repository.tcl:44 lib/choose_repository.tcl:50 #, tcl-format msgid "About %s" msgstr "A propos de %s" -#: git-gui.sh:2062 +#: git-gui.sh:2099 msgid "Preferences..." msgstr "Préférences..." -#: git-gui.sh:2070 git-gui.sh:2595 +#: git-gui.sh:2107 git-gui.sh:2639 msgid "Options..." msgstr "Options..." -#: git-gui.sh:2076 lib/choose_repository.tcl:46 +#: git-gui.sh:2113 lib/choose_repository.tcl:47 msgid "Help" msgstr "Aide" -#: git-gui.sh:2117 +#: git-gui.sh:2154 msgid "Online Documentation" msgstr "Documentation en ligne" -#: git-gui.sh:2201 +#: git-gui.sh:2238 #, tcl-format msgid "fatal: cannot stat path %s: No such file or directory" -msgstr "fatale : pas d'infos sur le chemin %s : Fichier ou répertoire inexistant" +msgstr "" +"fatale : pas d'infos sur le chemin %s : Fichier ou répertoire inexistant" -#: git-gui.sh:2234 +#: git-gui.sh:2271 msgid "Current Branch:" msgstr "Branche courante :" -#: git-gui.sh:2255 +#: git-gui.sh:2292 msgid "Staged Changes (Will Commit)" msgstr "Modifications pré-commitées" -#: git-gui.sh:2274 +#: git-gui.sh:2312 msgid "Unstaged Changes" msgstr "Modifications non pré-commitées" -#: git-gui.sh:2323 +#: git-gui.sh:2362 msgid "Stage Changed" msgstr "Pré-commit modifié" -#: git-gui.sh:2339 lib/transport.tcl:93 lib/transport.tcl:182 +#: git-gui.sh:2378 lib/transport.tcl:93 lib/transport.tcl:182 msgid "Push" msgstr "Pousser" -#: git-gui.sh:2369 +#: git-gui.sh:2408 msgid "Initial Commit Message:" msgstr "Message de commit initial :" -#: git-gui.sh:2370 +#: git-gui.sh:2409 msgid "Amended Commit Message:" msgstr "Message de commit corrigé :" -#: git-gui.sh:2371 +#: git-gui.sh:2410 msgid "Amended Initial Commit Message:" msgstr "Message de commit initial corrigé :" -#: git-gui.sh:2372 +#: git-gui.sh:2411 msgid "Amended Merge Commit Message:" msgstr "Message de commit de fusion corrigé :" -#: git-gui.sh:2373 +#: git-gui.sh:2412 msgid "Merge Commit Message:" msgstr "Message de commit de fusion :" -#: git-gui.sh:2374 +#: git-gui.sh:2413 msgid "Commit Message:" msgstr "Message de commit :" -#: git-gui.sh:2419 git-gui.sh:2557 lib/console.tcl:71 +#: git-gui.sh:2459 git-gui.sh:2622 lib/console.tcl:73 msgid "Copy All" msgstr "Copier tout" -#: git-gui.sh:2443 lib/blame.tcl:104 +#: git-gui.sh:2483 lib/blame.tcl:107 msgid "File:" msgstr "Fichier :" -#: git-gui.sh:2545 -msgid "Refresh" -msgstr "Rafraichir" - -#: git-gui.sh:2566 +#: git-gui.sh:2589 msgid "Apply/Reverse Hunk" msgstr "Appliquer/Inverser section" -#: git-gui.sh:2572 -msgid "Decrease Font Size" -msgstr "Réduire fonte" - -#: git-gui.sh:2576 -msgid "Increase Font Size" -msgstr "Agrandir fonte" - -#: git-gui.sh:2581 +#: git-gui.sh:2595 msgid "Show Less Context" msgstr "Montrer moins de contexte" -#: git-gui.sh:2588 +#: git-gui.sh:2602 msgid "Show More Context" msgstr "Montrer plus de contexte" -#: git-gui.sh:2602 +#: git-gui.sh:2610 +msgid "Refresh" +msgstr "Rafraichir" + +#: git-gui.sh:2631 +msgid "Decrease Font Size" +msgstr "Réduire fonte" + +#: git-gui.sh:2635 +msgid "Increase Font Size" +msgstr "Agrandir fonte" + +#: git-gui.sh:2646 msgid "Unstage Hunk From Commit" msgstr "Enlever section pré-commitée" -#: git-gui.sh:2604 +#: git-gui.sh:2648 msgid "Stage Hunk For Commit" msgstr "Pré-commiter section" -#: git-gui.sh:2623 +#: git-gui.sh:2667 msgid "Initializing..." msgstr "Initialisation..." -#: git-gui.sh:2718 +#: git-gui.sh:2762 #, tcl-format msgid "" "Possible environment issues exist.\n" @@ -451,7 +452,7 @@ msgstr "" "sous-processus de Git lancés par %s\n" "\n" -#: git-gui.sh:2748 +#: git-gui.sh:2792 msgid "" "\n" "This is due to a known issue with the\n" @@ -461,7 +462,7 @@ msgstr "" "Ceci est du à un problème connu avec\n" "le binaire Tcl distribué par Cygwin." -#: git-gui.sh:2753 +#: git-gui.sh:2797 #, tcl-format msgid "" "\n" @@ -478,7 +479,7 @@ msgstr "" "de l'utilisateur) et 'user.email' (addresse email\n" "de l'utilisateur) dans votre fichier '~/.gitconfig'.\n" -#: lib/about.tcl:25 +#: lib/about.tcl:26 msgid "git-gui - a graphical user interface for Git." msgstr "git-gui - une interface graphique utilisateur pour Git" @@ -490,56 +491,56 @@ msgstr "Visionneur de fichier" msgid "Commit:" msgstr "Commit :" -#: lib/blame.tcl:249 +#: lib/blame.tcl:264 msgid "Copy Commit" msgstr "Copier commit" -#: lib/blame.tcl:369 +#: lib/blame.tcl:384 #, tcl-format msgid "Reading %s..." msgstr "Lecture de %s..." -#: lib/blame.tcl:473 +#: lib/blame.tcl:488 msgid "Loading copy/move tracking annotations..." msgstr "Chargement des annotations de suivi des copies/déplacements..." -#: lib/blame.tcl:493 +#: lib/blame.tcl:508 msgid "lines annotated" msgstr "lignes annotées" -#: lib/blame.tcl:674 +#: lib/blame.tcl:689 msgid "Loading original location annotations..." msgstr "Chargement des annotations d'emplacement original" -#: lib/blame.tcl:677 +#: lib/blame.tcl:692 msgid "Annotation complete." msgstr "Annotation terminée." -#: lib/blame.tcl:731 +#: lib/blame.tcl:746 msgid "Loading annotation..." msgstr "Chargement des annotations..." -#: lib/blame.tcl:787 +#: lib/blame.tcl:802 msgid "Author:" msgstr "Auteur :" -#: lib/blame.tcl:791 +#: lib/blame.tcl:806 msgid "Committer:" msgstr "Commiteur :" -#: lib/blame.tcl:796 +#: lib/blame.tcl:811 msgid "Original File:" msgstr "Fichier original :" -#: lib/blame.tcl:910 +#: lib/blame.tcl:925 msgid "Originally By:" msgstr "A l'origine par :" -#: lib/blame.tcl:916 +#: lib/blame.tcl:931 msgid "In File:" msgstr "Dans le fichier :" -#: lib/blame.tcl:921 +#: lib/blame.tcl:936 msgid "Copied Or Moved Here By:" msgstr "Copié ou déplacé ici par :" @@ -552,17 +553,17 @@ msgid "Checkout" msgstr "Emprunter" #: lib/branch_checkout.tcl:27 lib/branch_create.tcl:35 -#: lib/branch_delete.tcl:32 lib/branch_rename.tcl:30 lib/browser.tcl:281 -#: lib/checkout_op.tcl:522 lib/choose_font.tcl:43 lib/merge.tcl:172 -#: lib/option.tcl:90 lib/remote_branch_delete.tcl:42 lib/transport.tcl:97 +#: lib/branch_delete.tcl:32 lib/branch_rename.tcl:30 lib/browser.tcl:282 +#: lib/checkout_op.tcl:522 lib/choose_font.tcl:43 lib/merge.tcl:171 +#: lib/option.tcl:103 lib/remote_branch_delete.tcl:42 lib/transport.tcl:97 msgid "Cancel" msgstr "Annuler" -#: lib/branch_checkout.tcl:32 lib/browser.tcl:286 +#: lib/branch_checkout.tcl:32 lib/browser.tcl:287 msgid "Revision" msgstr "Révision" -#: lib/branch_checkout.tcl:36 lib/branch_create.tcl:69 lib/option.tcl:202 +#: lib/branch_checkout.tcl:36 lib/branch_create.tcl:69 lib/option.tcl:242 msgid "Options" msgstr "Options" @@ -582,7 +583,7 @@ msgstr "Créer branche" msgid "Create New Branch" msgstr "Créer nouvelle branche" -#: lib/branch_create.tcl:31 lib/choose_repository.tcl:375 +#: lib/branch_create.tcl:31 lib/choose_repository.tcl:371 msgid "Create" msgstr "Créer" @@ -629,7 +630,8 @@ msgstr "Merci de choisir une branche de suivi" #: lib/branch_create.tcl:140 #, tcl-format msgid "Tracking branch %s is not a branch in the remote repository." -msgstr "La branche de suivi %s n'est pas une branche dans le référentiel distant." +msgstr "" +"La branche de suivi %s n'est pas une branche dans le référentiel distant." #: lib/branch_create.tcl:153 lib/branch_rename.tcl:86 msgid "Please supply a branch name." @@ -722,22 +724,22 @@ msgstr "Lancement..." msgid "File Browser" msgstr "Visionneur de fichier" -#: lib/browser.tcl:125 lib/browser.tcl:142 +#: lib/browser.tcl:126 lib/browser.tcl:143 #, tcl-format msgid "Loading %s..." msgstr "Chargement de %s..." -#: lib/browser.tcl:186 +#: lib/browser.tcl:187 msgid "[Up To Parent]" msgstr "[Jusqu'au parent]" -#: lib/browser.tcl:266 lib/browser.tcl:272 +#: lib/browser.tcl:267 lib/browser.tcl:273 msgid "Browse Branch Files" msgstr "Visionner fichiers de branches" -#: lib/browser.tcl:277 lib/choose_repository.tcl:391 -#: lib/choose_repository.tcl:482 lib/choose_repository.tcl:492 -#: lib/choose_repository.tcl:989 +#: lib/browser.tcl:278 lib/choose_repository.tcl:387 +#: lib/choose_repository.tcl:474 lib/choose_repository.tcl:484 +#: lib/choose_repository.tcl:987 msgid "Browse" msgstr "Visionner" @@ -751,7 +753,7 @@ msgstr "Récupération de %s à partir de %s" msgid "fatal: Cannot resolve %s" msgstr "Erreur fatale : Impossible de résoudre %s" -#: lib/checkout_op.tcl:140 lib/console.tcl:79 lib/database.tcl:31 +#: lib/checkout_op.tcl:140 lib/console.tcl:81 lib/database.tcl:31 msgid "Close" msgstr "Fermer" @@ -796,9 +798,12 @@ msgid "" "\n" "The rescan will be automatically started now.\n" msgstr "" -"L'état lors de la dernière synchronisation ne correspond plus à l'état du référentiel.\n" +"L'état lors de la dernière synchronisation ne correspond plus à l'état du " +"référentiel.\n" "\n" -"Un autre programme Git a modifié ce référentiel depuis la dernière synchronisation. Une resynchronisation doit être effectuée avant de pouvoir modifier la branche courante.\n" +"Un autre programme Git a modifié ce référentiel depuis la dernière " +"synchronisation. Une resynchronisation doit être effectuée avant de pouvoir " +"modifier la branche courante.\n" "\n" "Cela va être fait tout de suite automatiquement.\n" @@ -807,10 +812,15 @@ msgstr "" msgid "Updating working directory to '%s'..." msgstr "Mise à jour du répertoire courant avec '%s'..." +#: lib/checkout_op.tcl:323 +msgid "files checked out" +msgstr "" + #: lib/checkout_op.tcl:353 #, tcl-format msgid "Aborted checkout of '%s' (file level merging is required)." -msgstr "Emprunt de '%s' abandonné. (Il est nécessaire de fusionner des fichiers.)" +msgstr "" +"Emprunt de '%s' abandonné. (Il est nécessaire de fusionner des fichiers.)" #: lib/checkout_op.tcl:354 msgid "File level merge required." @@ -830,9 +840,10 @@ msgid "" msgstr "" "Vous n'êtes plus ur une branche locale.\n" "\n" -"Si vous vouliez être sur une branche, créez en une maintenant en partant de 'Cet emprunt détaché'." +"Si vous vouliez être sur une branche, créez en une maintenant en partant de " +"'Cet emprunt détaché'." -#: lib/checkout_op.tcl:446 +#: lib/checkout_op.tcl:446 lib/checkout_op.tcl:450 #, tcl-format msgid "Checked out '%s'." msgstr "'%s' emprunté." @@ -851,7 +862,7 @@ msgstr "Récupérer les commits perdus ne sera peut être pas facile." msgid "Reset '%s'?" msgstr "Réinitialiser '%s' ?" -#: lib/checkout_op.tcl:510 lib/merge.tcl:164 +#: lib/checkout_op.tcl:510 lib/merge.tcl:163 msgid "Visualize" msgstr "Visualiser" @@ -867,7 +878,9 @@ msgid "" msgstr "" "Le changement de la branche courante a échoué.\n" "\n" -"Le répertoire courant n'est que partiellement modifié. Les fichiers ont été mis à jour avec succès, mais la mise à jour d'un fichier interne à Git a échouée.\n" +"Le répertoire courant n'est que partiellement modifié. Les fichiers ont été " +"mis à jour avec succès, mais la mise à jour d'un fichier interne à Git a " +"échouée.\n" "\n" "Cela n'aurait pas du se produire. %s va abandonner et se terminer." @@ -879,15 +892,15 @@ msgstr "Sélectionner" msgid "Font Family" msgstr "Famille de fonte" -#: lib/choose_font.tcl:73 +#: lib/choose_font.tcl:74 msgid "Font Size" msgstr "Taille de fonte" -#: lib/choose_font.tcl:90 +#: lib/choose_font.tcl:91 msgid "Font Example" msgstr "Exemple de fonte" -#: lib/choose_font.tcl:101 +#: lib/choose_font.tcl:103 msgid "" "This is example text.\n" "If you like this text, it can be your font." @@ -895,225 +908,230 @@ msgstr "" "C'est un texte d'exemple.\n" "Si vous aimez ce texte, vous pouvez choisir cette fonte." -#: lib/choose_repository.tcl:27 +#: lib/choose_repository.tcl:28 msgid "Git Gui" msgstr "Git Gui" -#: lib/choose_repository.tcl:80 lib/choose_repository.tcl:380 +#: lib/choose_repository.tcl:81 lib/choose_repository.tcl:376 msgid "Create New Repository" msgstr "Créer nouveau référentiel" -#: lib/choose_repository.tcl:86 +#: lib/choose_repository.tcl:87 msgid "New..." msgstr "Nouveau..." -#: lib/choose_repository.tcl:93 lib/choose_repository.tcl:468 +#: lib/choose_repository.tcl:94 lib/choose_repository.tcl:460 msgid "Clone Existing Repository" msgstr "Cloner référentiel existant" -#: lib/choose_repository.tcl:99 +#: lib/choose_repository.tcl:100 msgid "Clone..." msgstr "Cloner..." -#: lib/choose_repository.tcl:106 lib/choose_repository.tcl:978 +#: lib/choose_repository.tcl:107 lib/choose_repository.tcl:976 msgid "Open Existing Repository" msgstr "Ouvrir référentiel existant" -#: lib/choose_repository.tcl:112 +#: lib/choose_repository.tcl:113 msgid "Open..." msgstr "Ouvrir..." -#: lib/choose_repository.tcl:125 +#: lib/choose_repository.tcl:126 msgid "Recent Repositories" msgstr "Référentiels récents" -#: lib/choose_repository.tcl:131 +#: lib/choose_repository.tcl:132 msgid "Open Recent Repository:" msgstr "Ouvrir référentiel récent :" -#: lib/choose_repository.tcl:294 -#, tcl-format -msgid "Location %s already exists." -msgstr "L'emplacement %s existe déjà ." - -#: lib/choose_repository.tcl:300 lib/choose_repository.tcl:307 -#: lib/choose_repository.tcl:314 +#: lib/choose_repository.tcl:296 lib/choose_repository.tcl:303 +#: lib/choose_repository.tcl:310 #, tcl-format msgid "Failed to create repository %s:" msgstr "La création du référentiel %s a échouée :" -#: lib/choose_repository.tcl:385 lib/choose_repository.tcl:486 +#: lib/choose_repository.tcl:381 lib/choose_repository.tcl:478 msgid "Directory:" msgstr "Répertoire :" -#: lib/choose_repository.tcl:415 lib/choose_repository.tcl:544 -#: lib/choose_repository.tcl:1013 +#: lib/choose_repository.tcl:412 lib/choose_repository.tcl:537 +#: lib/choose_repository.tcl:1011 msgid "Git Repository" msgstr "Référentiel Git" -#: lib/choose_repository.tcl:430 lib/choose_repository.tcl:437 +#: lib/choose_repository.tcl:437 #, tcl-format msgid "Directory %s already exists." msgstr "Le répertoire %s existe déjà ." -#: lib/choose_repository.tcl:442 +#: lib/choose_repository.tcl:441 #, tcl-format msgid "File %s already exists." msgstr "Le fichier %s existe déjà ." -#: lib/choose_repository.tcl:463 +#: lib/choose_repository.tcl:455 msgid "Clone" msgstr "Cloner" -#: lib/choose_repository.tcl:476 +#: lib/choose_repository.tcl:468 msgid "URL:" msgstr "URL :" -#: lib/choose_repository.tcl:496 +#: lib/choose_repository.tcl:489 msgid "Clone Type:" msgstr "Type de clonage :" -#: lib/choose_repository.tcl:502 +#: lib/choose_repository.tcl:495 msgid "Standard (Fast, Semi-Redundant, Hardlinks)" msgstr "Standard (rapide, semi-redondant, liens durs)" -#: lib/choose_repository.tcl:508 +#: lib/choose_repository.tcl:501 msgid "Full Copy (Slower, Redundant Backup)" msgstr "Copy complète (plus lent, sauvegarde redondante)" -#: lib/choose_repository.tcl:514 +#: lib/choose_repository.tcl:507 msgid "Shared (Fastest, Not Recommended, No Backup)" msgstr "Partagé (le plus rapide, non recommandé, pas de sauvegarde)" -#: lib/choose_repository.tcl:550 lib/choose_repository.tcl:597 -#: lib/choose_repository.tcl:738 lib/choose_repository.tcl:808 -#: lib/choose_repository.tcl:1019 lib/choose_repository.tcl:1027 +#: lib/choose_repository.tcl:543 lib/choose_repository.tcl:590 +#: lib/choose_repository.tcl:736 lib/choose_repository.tcl:806 +#: lib/choose_repository.tcl:1017 lib/choose_repository.tcl:1025 #, tcl-format msgid "Not a Git repository: %s" msgstr "'%s' n'est pas un référentiel Git." -#: lib/choose_repository.tcl:586 +#: lib/choose_repository.tcl:579 msgid "Standard only available for local repository." msgstr "Standard n'est disponible que pour un référentiel local." -#: lib/choose_repository.tcl:590 +#: lib/choose_repository.tcl:583 msgid "Shared only available for local repository." msgstr "Partagé n'est disponible que pour un référentiel local." -#: lib/choose_repository.tcl:617 +#: lib/choose_repository.tcl:604 +#, tcl-format +msgid "Location %s already exists." +msgstr "L'emplacement %s existe déjà ." + +#: lib/choose_repository.tcl:615 msgid "Failed to configure origin" msgstr "La configuration de l'origine a échouée." -#: lib/choose_repository.tcl:629 +#: lib/choose_repository.tcl:627 msgid "Counting objects" msgstr "Comptage des objets" -#: lib/choose_repository.tcl:630 +#: lib/choose_repository.tcl:628 msgid "buckets" msgstr "paniers" -#: lib/choose_repository.tcl:654 +#: lib/choose_repository.tcl:652 #, tcl-format msgid "Unable to copy objects/info/alternates: %s" msgstr "Impossible de copier 'objects/info/alternates' : %s" -#: lib/choose_repository.tcl:690 +#: lib/choose_repository.tcl:688 #, tcl-format msgid "Nothing to clone from %s." msgstr "Il n'y a rien à cloner depuis %s." -#: lib/choose_repository.tcl:692 lib/choose_repository.tcl:906 -#: lib/choose_repository.tcl:918 +#: lib/choose_repository.tcl:690 lib/choose_repository.tcl:904 +#: lib/choose_repository.tcl:916 msgid "The 'master' branch has not been initialized." msgstr "Cette branche 'master' n'a pas été initialisée." -#: lib/choose_repository.tcl:705 +#: lib/choose_repository.tcl:703 msgid "Hardlinks are unavailable. Falling back to copying." msgstr "Les liens durs ne sont pas disponibles. On se résoud à copier." -#: lib/choose_repository.tcl:717 +#: lib/choose_repository.tcl:715 #, tcl-format msgid "Cloning from %s" msgstr "Clonage depuis %s" -#: lib/choose_repository.tcl:748 +#: lib/choose_repository.tcl:746 msgid "Copying objects" msgstr "Copie des objets" -#: lib/choose_repository.tcl:749 +#: lib/choose_repository.tcl:747 msgid "KiB" msgstr "KiB" -#: lib/choose_repository.tcl:773 +#: lib/choose_repository.tcl:771 #, tcl-format msgid "Unable to copy object: %s" msgstr "Impossible de copier l'objet : %s" -#: lib/choose_repository.tcl:783 +#: lib/choose_repository.tcl:781 msgid "Linking objects" msgstr "Liaison des objets" -#: lib/choose_repository.tcl:784 +#: lib/choose_repository.tcl:782 msgid "objects" msgstr "objets" -#: lib/choose_repository.tcl:792 +#: lib/choose_repository.tcl:790 #, tcl-format msgid "Unable to hardlink object: %s" msgstr "Impossible créer un lien dur pour l'objet : %s" -#: lib/choose_repository.tcl:847 +#: lib/choose_repository.tcl:845 msgid "Cannot fetch branches and objects. See console output for details." -msgstr "Impossible de récupérer les branches et objets. Voir la sortie console pour plus de détails." +msgstr "" +"Impossible de récupérer les branches et objets. Voir la sortie console pour " +"plus de détails." -#: lib/choose_repository.tcl:858 +#: lib/choose_repository.tcl:856 msgid "Cannot fetch tags. See console output for details." -msgstr "Impossible de récupérer les marques. Voir la sortie console pour plus de détails." +msgstr "" +"Impossible de récupérer les marques. Voir la sortie console pour plus de " +"détails." -#: lib/choose_repository.tcl:882 +#: lib/choose_repository.tcl:880 msgid "Cannot determine HEAD. See console output for details." -msgstr "Impossible de déterminer HEAD. Voir la sortie console pour plus de détails." +msgstr "" +"Impossible de déterminer HEAD. Voir la sortie console pour plus de détails." -#: lib/choose_repository.tcl:891 +#: lib/choose_repository.tcl:889 #, tcl-format msgid "Unable to cleanup %s" msgstr "Impossible de nettoyer %s" -#: lib/choose_repository.tcl:897 +#: lib/choose_repository.tcl:895 msgid "Clone failed." msgstr "Le clonage a échoué." -#: lib/choose_repository.tcl:904 +#: lib/choose_repository.tcl:902 msgid "No default branch obtained." msgstr "Aucune branche par défaut n'a été obtenue." -#: lib/choose_repository.tcl:915 +#: lib/choose_repository.tcl:913 #, tcl-format msgid "Cannot resolve %s as a commit." msgstr "Impossible de résoudre %s comme commit." -#: lib/choose_repository.tcl:927 +#: lib/choose_repository.tcl:925 msgid "Creating working directory" msgstr "Création du répertoire de travail" -#: lib/choose_repository.tcl:928 lib/index.tcl:65 lib/index.tcl:127 +#: lib/choose_repository.tcl:926 lib/index.tcl:65 lib/index.tcl:127 #: lib/index.tcl:193 msgid "files" msgstr "fichiers" -#: lib/choose_repository.tcl:957 +#: lib/choose_repository.tcl:955 msgid "Initial file checkout failed." msgstr "L'emprunt initial de fichier a échoué." -#: lib/choose_repository.tcl:973 +#: lib/choose_repository.tcl:971 msgid "Open" msgstr "Ouvrir" -#: lib/choose_repository.tcl:983 +#: lib/choose_repository.tcl:981 msgid "Repository:" msgstr "Référentiel :" -#: lib/choose_repository.tcl:1033 +#: lib/choose_repository.tcl:1031 #, tcl-format msgid "Failed to open repository %s:" msgstr "Impossible d'ouvrir le référentiel %s :" @@ -1134,7 +1152,7 @@ msgstr "Branche locale" msgid "Tracking Branch" msgstr "Suivi de branche" -#: lib/choose_rev.tcl:84 lib/choose_rev.tcl:537 +#: lib/choose_rev.tcl:84 lib/choose_rev.tcl:538 msgid "Tag" msgstr "Marque" @@ -1151,11 +1169,11 @@ msgstr "Pas de révision selectionnée." msgid "Revision expression is empty." msgstr "L'expression de révision est vide." -#: lib/choose_rev.tcl:530 +#: lib/choose_rev.tcl:531 msgid "Updated" msgstr "Misa à jour" -#: lib/choose_rev.tcl:558 +#: lib/choose_rev.tcl:559 msgid "URL" msgstr "URL" @@ -1168,7 +1186,8 @@ msgid "" msgstr "" "Il n'y a rien à corriger.\n" "\n" -"Vous allez créer le commit initial. Il n'y a pas de commit avant celui-ci à corriger.\n" +"Vous allez créer le commit initial. Il n'y a pas de commit avant celui-ci à " +"corriger.\n" #: lib/commit.tcl:18 msgid "" @@ -1180,7 +1199,9 @@ msgid "" msgstr "" "Impossible de corriger pendant une fusion.\n" "\n" -"Vous êtes actuellement au milieu d'une fusion qui n'a pas été completement terminée. Vous ne pouvez pas corriger le commit précédant sauf si vous abandonnez la fusion courante.\n" +"Vous êtes actuellement au milieu d'une fusion qui n'a pas été completement " +"terminée. Vous ne pouvez pas corriger le commit précédant sauf si vous " +"abandonnez la fusion courante.\n" #: lib/commit.tcl:49 msgid "Error loading commit data for amend:" @@ -1203,9 +1224,12 @@ msgid "" "\n" "The rescan will be automatically started now.\n" msgstr "" -"L'état lors de la dernière synchronisation ne correspond plus à l'état du référentiel.\n" +"L'état lors de la dernière synchronisation ne correspond plus à l'état du " +"référentiel.\n" "\n" -"Un autre programme Git a modifié ce référentiel depuis la dernière synchronisation. Une resynshronisation doit être effectuée avant de pouvoir créer un nouveau commit.\n" +"Un autre programme Git a modifié ce référentiel depuis la dernière " +"synchronisation. Une resynshronisation doit être effectuée avant de pouvoir " +"créer un nouveau commit.\n" "\n" "Cela va être fait tout de suite automatiquement.\n" @@ -1219,7 +1243,8 @@ msgid "" msgstr "" "Des fichiers non fusionnés ne peuvent être commités.\n" "\n" -"Le fichier %s a des conflicts de fusion. Vous devez les résoudre et pré-commiter le fichier avant de pouvoir commiter.\n" +"Le fichier %s a des conflicts de fusion. Vous devez les résoudre et pré-" +"commiter le fichier avant de pouvoir commiter.\n" #: lib/commit.tcl:162 #, tcl-format @@ -1260,16 +1285,46 @@ msgstr "" "- Deuxième ligne : rien.\n" "- Lignes suivantes : Décrire pourquoi ces modifications sont bonnes.\n" -#: lib/commit.tcl:257 +#: lib/commit.tcl:207 +#, tcl-format +msgid "warning: Tcl does not support encoding '%s'." +msgstr "attention : Tcl ne supporte pas l'encodage '%s'." + +#: lib/commit.tcl:221 +msgid "Calling pre-commit hook..." +msgstr "" + +#: lib/commit.tcl:236 +msgid "Commit declined by pre-commit hook." +msgstr "" + +#: lib/commit.tcl:259 +msgid "Calling commit-msg hook..." +msgstr "" + +#: lib/commit.tcl:274 +msgid "Commit declined by commit-msg hook." +msgstr "" + +#: lib/commit.tcl:287 +msgid "Committing changes..." +msgstr "" + +#: lib/commit.tcl:303 msgid "write-tree failed:" msgstr "write-tree a échoué :" -#: lib/commit.tcl:275 +#: lib/commit.tcl:304 lib/commit.tcl:348 lib/commit.tcl:368 +#, fuzzy +msgid "Commit failed." +msgstr "Le clonage a échoué." + +#: lib/commit.tcl:321 #, tcl-format msgid "Commit %s appears to be corrupt" msgstr "Le commit %s semble être corrompu" -#: lib/commit.tcl:279 +#: lib/commit.tcl:326 msgid "" "No changes to commit.\n" "\n" @@ -1279,41 +1334,37 @@ msgid "" msgstr "" "Pas de modification à commiter.\n" "\n" -"Aucun fichier n'a été modifié par ce commit et il ne s'agit pas d'un commit de fusion.\n" +"Aucun fichier n'a été modifié par ce commit et il ne s'agit pas d'un commit " +"de fusion.\n" "\n" "Une resynchronisation va être lancée tout de suite automatiquement.\n" -#: lib/commit.tcl:286 +#: lib/commit.tcl:333 msgid "No changes to commit." msgstr "Pas de modifications à commiter." -#: lib/commit.tcl:303 -#, tcl-format -msgid "warning: Tcl does not support encoding '%s'." -msgstr "attention : Tcl ne supporte pas l'encodage '%s'." - -#: lib/commit.tcl:317 +#: lib/commit.tcl:347 msgid "commit-tree failed:" msgstr "commit-tree a échoué :" -#: lib/commit.tcl:339 +#: lib/commit.tcl:367 msgid "update-ref failed:" msgstr "update-ref a échoué" -#: lib/commit.tcl:430 +#: lib/commit.tcl:454 #, tcl-format msgid "Created commit %s: %s" msgstr "Commit créé %s : %s" -#: lib/console.tcl:57 +#: lib/console.tcl:59 msgid "Working... please wait..." msgstr "Travail en cours... merci de patienter..." -#: lib/console.tcl:183 +#: lib/console.tcl:186 msgid "Success" msgstr "Succès" -#: lib/console.tcl:196 +#: lib/console.tcl:200 msgid "Error: Command Failed" msgstr "Erreur : échec de la commande" @@ -1345,7 +1396,7 @@ msgstr "Objets empaquetés attendant d'être supprimés" msgid "Garbage files" msgstr "Fichiers poubelle" -#: lib/database.tcl:72ets +#: lib/database.tcl:72 msgid "Compressing the object database" msgstr "Compression de la base des objets" @@ -1363,9 +1414,12 @@ msgid "" "\n" "Compress the database now?" msgstr "" -"Ce référentiel comprend actuellement environ %i objets ayant leur fichier particulier.\n" +"Ce référentiel comprend actuellement environ %i objets ayant leur fichier " +"particulier.\n" "\n" -"Pour conserver une performance optimale, il est fortement recommandé de comprimer la base quand plus de %i objets ayant leur fichier particulier existent.\n" +"Pour conserver une performance optimale, il est fortement recommandé de " +"comprimer la base quand plus de %i objets ayant leur fichier particulier " +"existent.\n" "\n" "Comprimer la base maintenant ?" @@ -1391,9 +1445,11 @@ msgstr "" "\n" "%s ne comporte aucune modification.\n" "\n" -"La date de modification de ce fichier a été mise à jour par une autre application, mais le contenu du fichier n'a pas changé.\n" +"La date de modification de ce fichier a été mise à jour par une autre " +"application, mais le contenu du fichier n'a pas changé.\n" "\n" -"Une resynchronisation va être lancée automatiquement pour trouver d'autres fichiers qui pourraient se trouver dans le même état." +"Une resynchronisation va être lancée automatiquement pour trouver d'autres " +"fichiers qui pourraient se trouver dans le même état." #: lib/diff.tcl:81 #, tcl-format @@ -1421,23 +1477,24 @@ msgstr "* Fichier binaire (pas d'apperçu du contenu)." msgid "Error loading diff:" msgstr "Erreur lors du chargement des différences :" -#: lib/diff.tcl:302 +#: lib/diff.tcl:303 msgid "Failed to unstage selected hunk." -msgstr "La suppression dans le pré-commit de la section sélectionnée a échouée." +msgstr "" +"La suppression dans le pré-commit de la section sélectionnée a échouée." -#: lib/diff.tcl:309 +#: lib/diff.tcl:310 msgid "Failed to stage selected hunk." msgstr "Le pré-commit de la section sélectionnée a échoué." -#: lib/error.tcl:12 lib/error.tcl:102 +#: lib/error.tcl:20 lib/error.tcl:114 msgid "error" msgstr "erreur" -#: lib/error.tcl:28 +#: lib/error.tcl:36 msgid "warning" msgstr "attention" -#: lib/error.tcl:81 +#: lib/error.tcl:94 msgid "You must correct the above errors before committing." msgstr "Vous devez corriger les erreurs suivantes avant de pouvoir commiter." @@ -1453,7 +1510,8 @@ msgstr "Erreur de pré-commit" msgid "" "Updating the Git index failed. A rescan will be automatically started to " "resynchronize git-gui." -msgstr "Le pré-commit a échoué. Une resynchronisation va être lancée automatiquement." +msgstr "" +"Le pré-commit a échoué. Une resynchronisation va être lancée automatiquement." #: lib/index.tcl:27 msgid "Continue" @@ -1468,6 +1526,11 @@ msgstr "Dévérouiller le pré-commit" msgid "Unstaging %s from commit" msgstr "Supprimer %s du commit" +#: lib/index.tcl:313 +#, fuzzy +msgid "Ready to commit." +msgstr "Pré-commité" + #: lib/index.tcl:326 #, tcl-format msgid "Adding %s" @@ -1483,11 +1546,13 @@ msgstr "Inverser les modifications dans le fichier %s ? " msgid "Revert changes in these %i files?" msgstr "Inverser les modifications dans ces %i fichiers ?" -#: lib/index.tcl:389 +#: lib/index.tcl:391 msgid "Any unstaged changes will be permanently lost by the revert." -msgstr "Toutes les modifications non pré-commitées seront définitivement perdues lors de l'inversion." +msgstr "" +"Toutes les modifications non pré-commitées seront définitivement perdues " +"lors de l'inversion." -#: lib/index.tcl:392 +#: lib/index.tcl:394 msgid "Do Nothing" msgstr "Ne rien faire" @@ -1499,7 +1564,8 @@ msgid "" msgstr "" "Impossible de fucionner pendant une correction.\n" "\n" -"Vous devez finir de corriger ce commit avant de lancer une quelconque fusion.\n" +"Vous devez finir de corriger ce commit avant de lancer une quelconque " +"fusion.\n" #: lib/merge.tcl:27 msgid "" @@ -1510,9 +1576,12 @@ msgid "" "\n" "The rescan will be automatically started now.\n" msgstr "" -"L'état lors de la dernière synchronisation ne correspond plus à l'état du référentiel.\n" +"L'état lors de la dernière synchronisation ne correspond plus à l'état du " +"référentiel.\n" "\n" -"Un autre programme Git a modifié ce référentiel depuis la dernière synchronisation. Une resynchronisation doit être effectuée avant de pouvoir fusionner de nouveau.\n" +"Un autre programme Git a modifié ce référentiel depuis la dernière " +"synchronisation. Une resynchronisation doit être effectuée avant de pouvoir " +"fusionner de nouveau.\n" "\n" "Cela va être fait tout de suite automatiquement\n" @@ -1530,7 +1599,9 @@ msgstr "" "\n" "Le fichier %s a des conflicts de fusion.\n" "\n" -"Vous devez les résoudre, puis pré-commiter le fichier, et enfin commiter pour terminer la fusion courante. Seulementà ce moment là , il sera possible d'effectuer une nouvelle fusion.\n" +"Vous devez les résoudre, puis pré-commiter le fichier, et enfin commiter " +"pour terminer la fusion courante. Seulementà ce moment là , il sera possible " +"d'effectuer une nouvelle fusion.\n" #: lib/merge.tcl:54 #, tcl-format @@ -1546,7 +1617,9 @@ msgstr "" "\n" "Le fichier %s est modifié.\n" "\n" -"Vous devriez terminer le commit courant avant de lancer une fusion. En faisait comme cela, vous éviterez de devoir éventuellement abandonner une fusion ayant échouée.\n" +"Vous devriez terminer le commit courant avant de lancer une fusion. En " +"faisait comme cela, vous éviterez de devoir éventuellement abandonner une " +"fusion ayant échouée.\n" #: lib/merge.tcl:106 #, tcl-format @@ -1554,28 +1627,28 @@ msgid "%s of %s" msgstr "%s de %s" #: lib/merge.tcl:119 -#, tcl-format -msgid "Merging %s and %s" +#, fuzzy, tcl-format +msgid "Merging %s and %s..." msgstr "Fusion de %s et %s" -#: lib/merge.tcl:131 +#: lib/merge.tcl:130 msgid "Merge completed successfully." msgstr "La fusion s'est faite avec succès." -#: lib/merge.tcl:133 +#: lib/merge.tcl:132 msgid "Merge failed. Conflict resolution is required." msgstr "La fusion a echouée. Il est nécessaire de résoudre les conflicts." -#: lib/merge.tcl:158 +#: lib/merge.tcl:157 #, tcl-format msgid "Merge Into %s" msgstr "Fusion dans %s" -#: lib/merge.tcl:177 +#: lib/merge.tcl:176 msgid "Revision To Merge" msgstr "Révision à fusionner" -#: lib/merge.tcl:212 +#: lib/merge.tcl:211 msgid "" "Cannot abort while amending.\n" "\n" @@ -1585,7 +1658,7 @@ msgstr "" "\n" "Vous devez finir de corriger ce commit.\n" -#: lib/merge.tcl:222 +#: lib/merge.tcl:221 msgid "" "Abort merge?\n" "\n" @@ -1595,11 +1668,12 @@ msgid "" msgstr "" "Abandonner la fusion ?\n" "\n" -"Abandonner la fusion courante entrainera la perte de TOUTES les modifications non commitées.\n" +"Abandonner la fusion courante entrainera la perte de TOUTES les " +"modifications non commitées.\n" "\n" "Abandonner quand même la fusion courante ?" -#: lib/merge.tcl:228 +#: lib/merge.tcl:227 msgid "" "Reset changes?\n" "\n" @@ -1609,97 +1683,112 @@ msgid "" msgstr "" "Réinitialiser les modifications ?\n" "\n" -"Réinitialiser les modifications va faire perdre TOUTES les modifications non commitées.\n" +"Réinitialiser les modifications va faire perdre TOUTES les modifications non " +"commitées.\n" "\n" "Réinitialiser quand même les modifications courantes ?" -#: lib/merge.tcl:239 +#: lib/merge.tcl:238 msgid "Aborting" msgstr "Abandon" -#: lib/merge.tcl:266 +#: lib/merge.tcl:238 +#, fuzzy +msgid "files reset" +msgstr "fichiers" + +#: lib/merge.tcl:265 msgid "Abort failed." msgstr "L'abandon a échoué." -#: lib/merge.tcl:268 +#: lib/merge.tcl:267 msgid "Abort completed. Ready." msgstr "Abandon teminé. Prêt." -#: lib/option.tcl:82 +#: lib/option.tcl:95 msgid "Restore Defaults" msgstr "Remettre les valeurs par défaut" -#: lib/option.tcl:86 +#: lib/option.tcl:99 msgid "Save" msgstr "Sauvegarder" -#: lib/option.tcl:96 +#: lib/option.tcl:109 #, tcl-format msgid "%s Repository" msgstr "Référentiel de %s" -#: lib/option.tcl:97 +#: lib/option.tcl:110 msgid "Global (All Repositories)" msgstr "Globales (tous les référentiels)" -#: lib/option.tcl:103 +#: lib/option.tcl:116 msgid "User Name" msgstr "Nom d'utilisateur" -#: lib/option.tcl:104 +#: lib/option.tcl:117 msgid "Email Address" msgstr "Adresse email" -#: lib/option.tcl:106 +#: lib/option.tcl:119 msgid "Summarize Merge Commits" msgstr "Résumer les commits de fusion" -#: lib/option.tcl:107 +#: lib/option.tcl:120 msgid "Merge Verbosity" msgstr "Fusion bavarde" -#: lib/option.tcl:108 +#: lib/option.tcl:121 msgid "Show Diffstat After Merge" msgstr "Montrer statistiques de diff après fusion" -#: lib/option.tcl:110 +#: lib/option.tcl:123 msgid "Trust File Modification Timestamps" msgstr "Faire confiance aux dates de modification de fichiers " -#: lib/option.tcl:111 +#: lib/option.tcl:124 msgid "Prune Tracking Branches During Fetch" msgstr "Nettoyer les branches de suivi pendant la récupération" -#: lib/option.tcl:112 +#: lib/option.tcl:125 msgid "Match Tracking Branches" msgstr "Faire correspondre les branches de suivi" -#: lib/option.tcl:113 +#: lib/option.tcl:126 msgid "Number of Diff Context Lines" msgstr "Nombre de lignes de contexte dans les diffs" -#: lib/option.tcl:114 +#: lib/option.tcl:127 +#, fuzzy +msgid "Commit Message Text Width" +msgstr "Message de commit :" + +#: lib/option.tcl:128 msgid "New Branch Name Template" msgstr "Nouveau modèle de nom de branche" -#: lib/option.tcl:176 +#: lib/option.tcl:192 +msgid "Spelling Dictionary:" +msgstr "" + +#: lib/option.tcl:216 msgid "Change Font" msgstr "Modifier les fontes" -#: lib/option.tcl:180 +#: lib/option.tcl:220 #, tcl-format msgid "Choose %s" msgstr "Choisir %s" -#: lib/option.tcl:186 +#: lib/option.tcl:226 msgid "pt." msgstr "pt." -#: lib/option.tcl:200 +#: lib/option.tcl:240 msgid "Preferences" msgstr "Préférences" -#: lib/option.tcl:235 +#: lib/option.tcl:275 msgid "Failed to completely save options:" msgstr "La sauvegarde complète des options a échouée :" @@ -1755,7 +1844,9 @@ msgstr "" msgid "" "One or more of the merge tests failed because you have not fetched the " "necessary commits. Try fetching from %s first." -msgstr "Une ou plusieurs des tests de fusion ont échoués parce que vous n'avez pas récupéré les commits nécessaires. Essayez de récupéré à partir de %s d'abord." +msgstr "" +"Une ou plusieurs des tests de fusion ont échoués parce que vous n'avez pas " +"récupéré les commits nécessaires. Essayez de récupéré à partir de %s d'abord." #: lib/remote_branch_delete.tcl:207 msgid "Please select one or more branches to delete." @@ -1805,6 +1896,43 @@ msgstr "Impossible d'écrire le raccourcis :" msgid "Cannot write icon:" msgstr "Impossible d'écrire l'icône :" +#: lib/spellcheck.tcl:57 +msgid "Unsupported spell checker" +msgstr "" + +#: lib/spellcheck.tcl:65 +msgid "Spell checking is unavailable" +msgstr "" + +#: lib/spellcheck.tcl:68 +msgid "Invalid spell checking configuration" +msgstr "" + +#: lib/spellcheck.tcl:70 +#, tcl-format +msgid "Reverting dictionary to %s." +msgstr "" + +#: lib/spellcheck.tcl:73 +msgid "Spell checker silently failed on startup" +msgstr "" + +#: lib/spellcheck.tcl:80 +msgid "Unrecognized spell checker" +msgstr "" + +#: lib/spellcheck.tcl:180 +msgid "No Suggestions" +msgstr "" + +#: lib/spellcheck.tcl:381 +msgid "Unexpected EOF from spell checker" +msgstr "" + +#: lib/spellcheck.tcl:385 +msgid "Spell Checker Failed" +msgstr "" + #: lib/status_bar.tcl:83 #, tcl-format msgid "%s ... %*i of %*i %s (%3i%%)" @@ -1863,7 +1991,9 @@ msgstr "Transférer options" #: lib/transport.tcl:160 msgid "Force overwrite existing branch (may discard changes)" -msgstr "Forcer l'écrasement d'une branche existante (peut supprimer des modifications)" +msgstr "" +"Forcer l'écrasement d'une branche existante (peut supprimer des " +"modifications)" #: lib/transport.tcl:164 msgid "Use thin pack (for slow network connections)" @@ -1872,4 +2002,3 @@ msgstr "Utiliser des petits paquets (pour les connexions lentes)" #: lib/transport.tcl:168 msgid "Include tags" msgstr "Inclure les marques" - diff --git a/git-gui/po/git-gui.pot b/git-gui/po/git-gui.pot index 2e332849fb..813199f782 100644 --- a/git-gui/po/git-gui.pot +++ b/git-gui/po/git-gui.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2008-02-16 21:24+0100\n" +"POT-Creation-Date: 2008-03-14 07:18+0100\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" @@ -16,33 +16,33 @@ msgstr "" "Content-Type: text/plain; charset=CHARSET\n" "Content-Transfer-Encoding: 8bit\n" -#: git-gui.sh:41 git-gui.sh:604 git-gui.sh:618 git-gui.sh:631 git-gui.sh:714 -#: git-gui.sh:733 +#: git-gui.sh:41 git-gui.sh:634 git-gui.sh:648 git-gui.sh:661 git-gui.sh:744 +#: git-gui.sh:763 msgid "git-gui: fatal error" msgstr "" -#: git-gui.sh:565 +#: git-gui.sh:593 #, tcl-format msgid "Invalid font specified in %s:" msgstr "" -#: git-gui.sh:590 +#: git-gui.sh:620 msgid "Main Font" msgstr "" -#: git-gui.sh:591 +#: git-gui.sh:621 msgid "Diff/Console Font" msgstr "" -#: git-gui.sh:605 +#: git-gui.sh:635 msgid "Cannot find git in PATH." msgstr "" -#: git-gui.sh:632 +#: git-gui.sh:662 msgid "Cannot parse Git version string:" msgstr "" -#: git-gui.sh:650 +#: git-gui.sh:680 #, tcl-format msgid "" "Git version cannot be determined.\n" @@ -54,79 +54,79 @@ msgid "" "Assume '%s' is version 1.5.0?\n" msgstr "" -#: git-gui.sh:888 +#: git-gui.sh:918 msgid "Git directory not found:" msgstr "" -#: git-gui.sh:895 +#: git-gui.sh:925 msgid "Cannot move to top of working directory:" msgstr "" -#: git-gui.sh:902 +#: git-gui.sh:932 msgid "Cannot use funny .git directory:" msgstr "" -#: git-gui.sh:907 +#: git-gui.sh:937 msgid "No working directory" msgstr "" -#: git-gui.sh:1054 +#: git-gui.sh:1084 lib/checkout_op.tcl:283 msgid "Refreshing file status..." msgstr "" -#: git-gui.sh:1119 +#: git-gui.sh:1149 msgid "Scanning for modified files ..." msgstr "" -#: git-gui.sh:1294 lib/browser.tcl:245 +#: git-gui.sh:1324 lib/browser.tcl:246 msgid "Ready." msgstr "" -#: git-gui.sh:1560 +#: git-gui.sh:1590 msgid "Unmodified" msgstr "" -#: git-gui.sh:1562 +#: git-gui.sh:1592 msgid "Modified, not staged" msgstr "" -#: git-gui.sh:1563 git-gui.sh:1568 +#: git-gui.sh:1593 git-gui.sh:1598 msgid "Staged for commit" msgstr "" -#: git-gui.sh:1564 git-gui.sh:1569 +#: git-gui.sh:1594 git-gui.sh:1599 msgid "Portions staged for commit" msgstr "" -#: git-gui.sh:1565 git-gui.sh:1570 +#: git-gui.sh:1595 git-gui.sh:1600 msgid "Staged for commit, missing" msgstr "" -#: git-gui.sh:1567 +#: git-gui.sh:1597 msgid "Untracked, not staged" msgstr "" -#: git-gui.sh:1572 +#: git-gui.sh:1602 msgid "Missing" msgstr "" -#: git-gui.sh:1573 +#: git-gui.sh:1603 msgid "Staged for removal" msgstr "" -#: git-gui.sh:1574 +#: git-gui.sh:1604 msgid "Staged for removal, still present" msgstr "" -#: git-gui.sh:1576 git-gui.sh:1577 git-gui.sh:1578 git-gui.sh:1579 +#: git-gui.sh:1606 git-gui.sh:1607 git-gui.sh:1608 git-gui.sh:1609 msgid "Requires merge resolution" msgstr "" -#: git-gui.sh:1614 +#: git-gui.sh:1644 msgid "Starting gitk... please wait..." msgstr "" -#: git-gui.sh:1623 +#: git-gui.sh:1653 #, tcl-format msgid "" "Unable to start gitk:\n" @@ -134,295 +134,295 @@ msgid "" "%s does not exist" msgstr "" -#: git-gui.sh:1823 lib/choose_repository.tcl:35 +#: git-gui.sh:1860 lib/choose_repository.tcl:36 msgid "Repository" msgstr "" -#: git-gui.sh:1824 +#: git-gui.sh:1861 msgid "Edit" msgstr "" -#: git-gui.sh:1826 lib/choose_rev.tcl:560 +#: git-gui.sh:1863 lib/choose_rev.tcl:561 msgid "Branch" msgstr "" -#: git-gui.sh:1829 lib/choose_rev.tcl:547 +#: git-gui.sh:1866 lib/choose_rev.tcl:548 msgid "Commit@@noun" msgstr "" -#: git-gui.sh:1832 lib/merge.tcl:121 lib/merge.tcl:150 lib/merge.tcl:168 +#: git-gui.sh:1869 lib/merge.tcl:120 lib/merge.tcl:149 lib/merge.tcl:167 msgid "Merge" msgstr "" -#: git-gui.sh:1833 lib/choose_rev.tcl:556 +#: git-gui.sh:1870 lib/choose_rev.tcl:557 msgid "Remote" msgstr "" -#: git-gui.sh:1842 +#: git-gui.sh:1879 msgid "Browse Current Branch's Files" msgstr "" -#: git-gui.sh:1846 +#: git-gui.sh:1883 msgid "Browse Branch Files..." msgstr "" -#: git-gui.sh:1851 +#: git-gui.sh:1888 msgid "Visualize Current Branch's History" msgstr "" -#: git-gui.sh:1855 +#: git-gui.sh:1892 msgid "Visualize All Branch History" msgstr "" -#: git-gui.sh:1862 +#: git-gui.sh:1899 #, tcl-format msgid "Browse %s's Files" msgstr "" -#: git-gui.sh:1864 +#: git-gui.sh:1901 #, tcl-format msgid "Visualize %s's History" msgstr "" -#: git-gui.sh:1869 lib/database.tcl:27 lib/database.tcl:67 +#: git-gui.sh:1906 lib/database.tcl:27 lib/database.tcl:67 msgid "Database Statistics" msgstr "" -#: git-gui.sh:1872 lib/database.tcl:34 +#: git-gui.sh:1909 lib/database.tcl:34 msgid "Compress Database" msgstr "" -#: git-gui.sh:1875 +#: git-gui.sh:1912 msgid "Verify Database" msgstr "" -#: git-gui.sh:1882 git-gui.sh:1886 git-gui.sh:1890 lib/shortcut.tcl:7 +#: git-gui.sh:1919 git-gui.sh:1923 git-gui.sh:1927 lib/shortcut.tcl:7 #: lib/shortcut.tcl:39 lib/shortcut.tcl:71 msgid "Create Desktop Icon" msgstr "" -#: git-gui.sh:1895 lib/choose_repository.tcl:176 lib/choose_repository.tcl:184 +#: git-gui.sh:1932 lib/choose_repository.tcl:177 lib/choose_repository.tcl:185 msgid "Quit" msgstr "" -#: git-gui.sh:1902 +#: git-gui.sh:1939 msgid "Undo" msgstr "" -#: git-gui.sh:1905 +#: git-gui.sh:1942 msgid "Redo" msgstr "" -#: git-gui.sh:1909 git-gui.sh:2403 +#: git-gui.sh:1946 git-gui.sh:2443 msgid "Cut" msgstr "" -#: git-gui.sh:1912 git-gui.sh:2406 git-gui.sh:2477 git-gui.sh:2549 -#: lib/console.tcl:67 +#: git-gui.sh:1949 git-gui.sh:2446 git-gui.sh:2520 git-gui.sh:2614 +#: lib/console.tcl:69 msgid "Copy" msgstr "" -#: git-gui.sh:1915 git-gui.sh:2409 +#: git-gui.sh:1952 git-gui.sh:2449 msgid "Paste" msgstr "" -#: git-gui.sh:1918 git-gui.sh:2412 lib/branch_delete.tcl:26 +#: git-gui.sh:1955 git-gui.sh:2452 lib/branch_delete.tcl:26 #: lib/remote_branch_delete.tcl:38 msgid "Delete" msgstr "" -#: git-gui.sh:1922 git-gui.sh:2416 git-gui.sh:2553 lib/console.tcl:69 +#: git-gui.sh:1959 git-gui.sh:2456 git-gui.sh:2618 lib/console.tcl:71 msgid "Select All" msgstr "" -#: git-gui.sh:1931 +#: git-gui.sh:1968 msgid "Create..." msgstr "" -#: git-gui.sh:1937 +#: git-gui.sh:1974 msgid "Checkout..." msgstr "" -#: git-gui.sh:1943 +#: git-gui.sh:1980 msgid "Rename..." msgstr "" -#: git-gui.sh:1948 git-gui.sh:2048 +#: git-gui.sh:1985 git-gui.sh:2085 msgid "Delete..." msgstr "" -#: git-gui.sh:1953 +#: git-gui.sh:1990 msgid "Reset..." msgstr "" -#: git-gui.sh:1965 git-gui.sh:2350 +#: git-gui.sh:2002 git-gui.sh:2389 msgid "New Commit" msgstr "" -#: git-gui.sh:1973 git-gui.sh:2357 +#: git-gui.sh:2010 git-gui.sh:2396 msgid "Amend Last Commit" msgstr "" -#: git-gui.sh:1982 git-gui.sh:2317 lib/remote_branch_delete.tcl:99 +#: git-gui.sh:2019 git-gui.sh:2356 lib/remote_branch_delete.tcl:99 msgid "Rescan" msgstr "" -#: git-gui.sh:1988 +#: git-gui.sh:2025 msgid "Stage To Commit" msgstr "" -#: git-gui.sh:1994 +#: git-gui.sh:2031 msgid "Stage Changed Files To Commit" msgstr "" -#: git-gui.sh:2000 +#: git-gui.sh:2037 msgid "Unstage From Commit" msgstr "" -#: git-gui.sh:2005 lib/index.tcl:393 +#: git-gui.sh:2042 lib/index.tcl:395 msgid "Revert Changes" msgstr "" -#: git-gui.sh:2012 git-gui.sh:2329 git-gui.sh:2427 +#: git-gui.sh:2049 git-gui.sh:2368 git-gui.sh:2467 msgid "Sign Off" msgstr "" -#: git-gui.sh:2016 git-gui.sh:2333 +#: git-gui.sh:2053 git-gui.sh:2372 msgid "Commit@@verb" msgstr "" -#: git-gui.sh:2027 +#: git-gui.sh:2064 msgid "Local Merge..." msgstr "" -#: git-gui.sh:2032 +#: git-gui.sh:2069 msgid "Abort Merge..." msgstr "" -#: git-gui.sh:2044 +#: git-gui.sh:2081 msgid "Push..." msgstr "" -#: git-gui.sh:2055 lib/choose_repository.tcl:40 +#: git-gui.sh:2092 lib/choose_repository.tcl:41 msgid "Apple" msgstr "" -#: git-gui.sh:2058 git-gui.sh:2080 lib/about.tcl:13 -#: lib/choose_repository.tcl:43 lib/choose_repository.tcl:49 +#: git-gui.sh:2095 git-gui.sh:2117 lib/about.tcl:14 +#: lib/choose_repository.tcl:44 lib/choose_repository.tcl:50 #, tcl-format msgid "About %s" msgstr "" -#: git-gui.sh:2062 +#: git-gui.sh:2099 msgid "Preferences..." msgstr "" -#: git-gui.sh:2070 git-gui.sh:2595 +#: git-gui.sh:2107 git-gui.sh:2639 msgid "Options..." msgstr "" -#: git-gui.sh:2076 lib/choose_repository.tcl:46 +#: git-gui.sh:2113 lib/choose_repository.tcl:47 msgid "Help" msgstr "" -#: git-gui.sh:2117 +#: git-gui.sh:2154 msgid "Online Documentation" msgstr "" -#: git-gui.sh:2201 +#: git-gui.sh:2238 #, tcl-format msgid "fatal: cannot stat path %s: No such file or directory" msgstr "" -#: git-gui.sh:2234 +#: git-gui.sh:2271 msgid "Current Branch:" msgstr "" -#: git-gui.sh:2255 +#: git-gui.sh:2292 msgid "Staged Changes (Will Commit)" msgstr "" -#: git-gui.sh:2274 +#: git-gui.sh:2312 msgid "Unstaged Changes" msgstr "" -#: git-gui.sh:2323 +#: git-gui.sh:2362 msgid "Stage Changed" msgstr "" -#: git-gui.sh:2339 lib/transport.tcl:93 lib/transport.tcl:182 +#: git-gui.sh:2378 lib/transport.tcl:93 lib/transport.tcl:182 msgid "Push" msgstr "" -#: git-gui.sh:2369 +#: git-gui.sh:2408 msgid "Initial Commit Message:" msgstr "" -#: git-gui.sh:2370 +#: git-gui.sh:2409 msgid "Amended Commit Message:" msgstr "" -#: git-gui.sh:2371 +#: git-gui.sh:2410 msgid "Amended Initial Commit Message:" msgstr "" -#: git-gui.sh:2372 +#: git-gui.sh:2411 msgid "Amended Merge Commit Message:" msgstr "" -#: git-gui.sh:2373 +#: git-gui.sh:2412 msgid "Merge Commit Message:" msgstr "" -#: git-gui.sh:2374 +#: git-gui.sh:2413 msgid "Commit Message:" msgstr "" -#: git-gui.sh:2419 git-gui.sh:2557 lib/console.tcl:71 +#: git-gui.sh:2459 git-gui.sh:2622 lib/console.tcl:73 msgid "Copy All" msgstr "" -#: git-gui.sh:2443 lib/blame.tcl:104 +#: git-gui.sh:2483 lib/blame.tcl:107 msgid "File:" msgstr "" -#: git-gui.sh:2573 +#: git-gui.sh:2589 msgid "Apply/Reverse Hunk" msgstr "" -#: git-gui.sh:2579 +#: git-gui.sh:2595 msgid "Show Less Context" msgstr "" -#: git-gui.sh:2586 +#: git-gui.sh:2602 msgid "Show More Context" msgstr "" -#: git-gui.sh:2594 +#: git-gui.sh:2610 msgid "Refresh" msgstr "" -#: git-gui.sh:2615 +#: git-gui.sh:2631 msgid "Decrease Font Size" msgstr "" -#: git-gui.sh:2619 +#: git-gui.sh:2635 msgid "Increase Font Size" msgstr "" -#: git-gui.sh:2630 +#: git-gui.sh:2646 msgid "Unstage Hunk From Commit" msgstr "" -#: git-gui.sh:2604 +#: git-gui.sh:2648 msgid "Stage Hunk For Commit" msgstr "" -#: git-gui.sh:2623 +#: git-gui.sh:2667 msgid "Initializing..." msgstr "" -#: git-gui.sh:2718 +#: git-gui.sh:2762 #, tcl-format msgid "" "Possible environment issues exist.\n" @@ -433,14 +433,14 @@ msgid "" "\n" msgstr "" -#: git-gui.sh:2748 +#: git-gui.sh:2792 msgid "" "\n" "This is due to a known issue with the\n" "Tcl binary distributed by Cygwin." msgstr "" -#: git-gui.sh:2753 +#: git-gui.sh:2797 #, tcl-format msgid "" "\n" @@ -451,7 +451,7 @@ msgid "" "~/.gitconfig file.\n" msgstr "" -#: lib/about.tcl:25 +#: lib/about.tcl:26 msgid "git-gui - a graphical user interface for Git." msgstr "" @@ -463,56 +463,56 @@ msgstr "" msgid "Commit:" msgstr "" -#: lib/blame.tcl:249 +#: lib/blame.tcl:264 msgid "Copy Commit" msgstr "" -#: lib/blame.tcl:369 +#: lib/blame.tcl:384 #, tcl-format msgid "Reading %s..." msgstr "" -#: lib/blame.tcl:473 +#: lib/blame.tcl:488 msgid "Loading copy/move tracking annotations..." msgstr "" -#: lib/blame.tcl:493 +#: lib/blame.tcl:508 msgid "lines annotated" msgstr "" -#: lib/blame.tcl:674 +#: lib/blame.tcl:689 msgid "Loading original location annotations..." msgstr "" -#: lib/blame.tcl:677 +#: lib/blame.tcl:692 msgid "Annotation complete." msgstr "" -#: lib/blame.tcl:731 +#: lib/blame.tcl:746 msgid "Loading annotation..." msgstr "" -#: lib/blame.tcl:787 +#: lib/blame.tcl:802 msgid "Author:" msgstr "" -#: lib/blame.tcl:791 +#: lib/blame.tcl:806 msgid "Committer:" msgstr "" -#: lib/blame.tcl:796 +#: lib/blame.tcl:811 msgid "Original File:" msgstr "" -#: lib/blame.tcl:910 +#: lib/blame.tcl:925 msgid "Originally By:" msgstr "" -#: lib/blame.tcl:916 +#: lib/blame.tcl:931 msgid "In File:" msgstr "" -#: lib/blame.tcl:921 +#: lib/blame.tcl:936 msgid "Copied Or Moved Here By:" msgstr "" @@ -525,17 +525,17 @@ msgid "Checkout" msgstr "" #: lib/branch_checkout.tcl:27 lib/branch_create.tcl:35 -#: lib/branch_delete.tcl:32 lib/branch_rename.tcl:30 lib/browser.tcl:281 -#: lib/checkout_op.tcl:522 lib/choose_font.tcl:43 lib/merge.tcl:172 -#: lib/option.tcl:90 lib/remote_branch_delete.tcl:42 lib/transport.tcl:97 +#: lib/branch_delete.tcl:32 lib/branch_rename.tcl:30 lib/browser.tcl:282 +#: lib/checkout_op.tcl:522 lib/choose_font.tcl:43 lib/merge.tcl:171 +#: lib/option.tcl:103 lib/remote_branch_delete.tcl:42 lib/transport.tcl:97 msgid "Cancel" msgstr "" -#: lib/branch_checkout.tcl:32 lib/browser.tcl:286 +#: lib/branch_checkout.tcl:32 lib/browser.tcl:287 msgid "Revision" msgstr "" -#: lib/branch_checkout.tcl:36 lib/branch_create.tcl:69 lib/option.tcl:202 +#: lib/branch_checkout.tcl:36 lib/branch_create.tcl:69 lib/option.tcl:242 msgid "Options" msgstr "" @@ -555,7 +555,7 @@ msgstr "" msgid "Create New Branch" msgstr "" -#: lib/branch_create.tcl:31 lib/choose_repository.tcl:375 +#: lib/branch_create.tcl:31 lib/choose_repository.tcl:371 msgid "Create" msgstr "" @@ -690,22 +690,22 @@ msgstr "" msgid "File Browser" msgstr "" -#: lib/browser.tcl:125 lib/browser.tcl:142 +#: lib/browser.tcl:126 lib/browser.tcl:143 #, tcl-format msgid "Loading %s..." msgstr "" -#: lib/browser.tcl:186 +#: lib/browser.tcl:187 msgid "[Up To Parent]" msgstr "" -#: lib/browser.tcl:266 lib/browser.tcl:272 +#: lib/browser.tcl:267 lib/browser.tcl:273 msgid "Browse Branch Files" msgstr "" -#: lib/browser.tcl:277 lib/choose_repository.tcl:391 -#: lib/choose_repository.tcl:482 lib/choose_repository.tcl:492 -#: lib/choose_repository.tcl:989 +#: lib/browser.tcl:278 lib/choose_repository.tcl:387 +#: lib/choose_repository.tcl:474 lib/choose_repository.tcl:484 +#: lib/choose_repository.tcl:987 msgid "Browse" msgstr "" @@ -719,7 +719,7 @@ msgstr "" msgid "fatal: Cannot resolve %s" msgstr "" -#: lib/checkout_op.tcl:140 lib/console.tcl:79 lib/database.tcl:31 +#: lib/checkout_op.tcl:140 lib/console.tcl:81 lib/database.tcl:31 msgid "Close" msgstr "" @@ -792,7 +792,7 @@ msgid "" "Checkout'." msgstr "" -#: lib/checkout_op.tcl:446 +#: lib/checkout_op.tcl:446 lib/checkout_op.tcl:450 #, tcl-format msgid "Checked out '%s'." msgstr "" @@ -811,7 +811,7 @@ msgstr "" msgid "Reset '%s'?" msgstr "" -#: lib/checkout_op.tcl:510 lib/merge.tcl:164 +#: lib/checkout_op.tcl:510 lib/merge.tcl:163 msgid "Visualize" msgstr "" @@ -834,239 +834,239 @@ msgstr "" msgid "Font Family" msgstr "" -#: lib/choose_font.tcl:73 +#: lib/choose_font.tcl:74 msgid "Font Size" msgstr "" -#: lib/choose_font.tcl:90 +#: lib/choose_font.tcl:91 msgid "Font Example" msgstr "" -#: lib/choose_font.tcl:101 +#: lib/choose_font.tcl:103 msgid "" "This is example text.\n" "If you like this text, it can be your font." msgstr "" -#: lib/choose_repository.tcl:27 +#: lib/choose_repository.tcl:28 msgid "Git Gui" msgstr "" -#: lib/choose_repository.tcl:80 lib/choose_repository.tcl:380 +#: lib/choose_repository.tcl:81 lib/choose_repository.tcl:376 msgid "Create New Repository" msgstr "" -#: lib/choose_repository.tcl:86 +#: lib/choose_repository.tcl:87 msgid "New..." msgstr "" -#: lib/choose_repository.tcl:93 lib/choose_repository.tcl:468 +#: lib/choose_repository.tcl:94 lib/choose_repository.tcl:460 msgid "Clone Existing Repository" msgstr "" -#: lib/choose_repository.tcl:99 +#: lib/choose_repository.tcl:100 msgid "Clone..." msgstr "" -#: lib/choose_repository.tcl:106 lib/choose_repository.tcl:978 +#: lib/choose_repository.tcl:107 lib/choose_repository.tcl:976 msgid "Open Existing Repository" msgstr "" -#: lib/choose_repository.tcl:112 +#: lib/choose_repository.tcl:113 msgid "Open..." msgstr "" -#: lib/choose_repository.tcl:125 +#: lib/choose_repository.tcl:126 msgid "Recent Repositories" msgstr "" -#: lib/choose_repository.tcl:131 +#: lib/choose_repository.tcl:132 msgid "Open Recent Repository:" msgstr "" -#: lib/choose_repository.tcl:294 -#, tcl-format -msgid "Location %s already exists." -msgstr "" - -#: lib/choose_repository.tcl:300 lib/choose_repository.tcl:307 -#: lib/choose_repository.tcl:314 +#: lib/choose_repository.tcl:296 lib/choose_repository.tcl:303 +#: lib/choose_repository.tcl:310 #, tcl-format msgid "Failed to create repository %s:" msgstr "" -#: lib/choose_repository.tcl:385 lib/choose_repository.tcl:486 +#: lib/choose_repository.tcl:381 lib/choose_repository.tcl:478 msgid "Directory:" msgstr "" -#: lib/choose_repository.tcl:415 lib/choose_repository.tcl:544 -#: lib/choose_repository.tcl:1013 +#: lib/choose_repository.tcl:412 lib/choose_repository.tcl:537 +#: lib/choose_repository.tcl:1011 msgid "Git Repository" msgstr "" -#: lib/choose_repository.tcl:430 lib/choose_repository.tcl:437 +#: lib/choose_repository.tcl:437 #, tcl-format msgid "Directory %s already exists." msgstr "" -#: lib/choose_repository.tcl:442 +#: lib/choose_repository.tcl:441 #, tcl-format msgid "File %s already exists." msgstr "" -#: lib/choose_repository.tcl:463 +#: lib/choose_repository.tcl:455 msgid "Clone" msgstr "" -#: lib/choose_repository.tcl:476 +#: lib/choose_repository.tcl:468 msgid "URL:" msgstr "" -#: lib/choose_repository.tcl:496 +#: lib/choose_repository.tcl:489 msgid "Clone Type:" msgstr "" -#: lib/choose_repository.tcl:502 +#: lib/choose_repository.tcl:495 msgid "Standard (Fast, Semi-Redundant, Hardlinks)" msgstr "" -#: lib/choose_repository.tcl:508 +#: lib/choose_repository.tcl:501 msgid "Full Copy (Slower, Redundant Backup)" msgstr "" -#: lib/choose_repository.tcl:514 +#: lib/choose_repository.tcl:507 msgid "Shared (Fastest, Not Recommended, No Backup)" msgstr "" -#: lib/choose_repository.tcl:550 lib/choose_repository.tcl:597 -#: lib/choose_repository.tcl:738 lib/choose_repository.tcl:808 -#: lib/choose_repository.tcl:1019 lib/choose_repository.tcl:1027 +#: lib/choose_repository.tcl:543 lib/choose_repository.tcl:590 +#: lib/choose_repository.tcl:736 lib/choose_repository.tcl:806 +#: lib/choose_repository.tcl:1017 lib/choose_repository.tcl:1025 #, tcl-format msgid "Not a Git repository: %s" msgstr "" -#: lib/choose_repository.tcl:586 +#: lib/choose_repository.tcl:579 msgid "Standard only available for local repository." msgstr "" -#: lib/choose_repository.tcl:590 +#: lib/choose_repository.tcl:583 msgid "Shared only available for local repository." msgstr "" -#: lib/choose_repository.tcl:617 +#: lib/choose_repository.tcl:604 +#, tcl-format +msgid "Location %s already exists." +msgstr "" + +#: lib/choose_repository.tcl:615 msgid "Failed to configure origin" msgstr "" -#: lib/choose_repository.tcl:629 +#: lib/choose_repository.tcl:627 msgid "Counting objects" msgstr "" -#: lib/choose_repository.tcl:630 +#: lib/choose_repository.tcl:628 msgid "buckets" msgstr "" -#: lib/choose_repository.tcl:654 +#: lib/choose_repository.tcl:652 #, tcl-format msgid "Unable to copy objects/info/alternates: %s" msgstr "" -#: lib/choose_repository.tcl:690 +#: lib/choose_repository.tcl:688 #, tcl-format msgid "Nothing to clone from %s." msgstr "" -#: lib/choose_repository.tcl:692 lib/choose_repository.tcl:906 -#: lib/choose_repository.tcl:918 +#: lib/choose_repository.tcl:690 lib/choose_repository.tcl:904 +#: lib/choose_repository.tcl:916 msgid "The 'master' branch has not been initialized." msgstr "" -#: lib/choose_repository.tcl:705 +#: lib/choose_repository.tcl:703 msgid "Hardlinks are unavailable. Falling back to copying." msgstr "" -#: lib/choose_repository.tcl:717 +#: lib/choose_repository.tcl:715 #, tcl-format msgid "Cloning from %s" msgstr "" -#: lib/choose_repository.tcl:748 +#: lib/choose_repository.tcl:746 msgid "Copying objects" msgstr "" -#: lib/choose_repository.tcl:749 +#: lib/choose_repository.tcl:747 msgid "KiB" msgstr "" -#: lib/choose_repository.tcl:773 +#: lib/choose_repository.tcl:771 #, tcl-format msgid "Unable to copy object: %s" msgstr "" -#: lib/choose_repository.tcl:783 +#: lib/choose_repository.tcl:781 msgid "Linking objects" msgstr "" -#: lib/choose_repository.tcl:784 +#: lib/choose_repository.tcl:782 msgid "objects" msgstr "" -#: lib/choose_repository.tcl:792 +#: lib/choose_repository.tcl:790 #, tcl-format msgid "Unable to hardlink object: %s" msgstr "" -#: lib/choose_repository.tcl:847 +#: lib/choose_repository.tcl:845 msgid "Cannot fetch branches and objects. See console output for details." msgstr "" -#: lib/choose_repository.tcl:858 +#: lib/choose_repository.tcl:856 msgid "Cannot fetch tags. See console output for details." msgstr "" -#: lib/choose_repository.tcl:882 +#: lib/choose_repository.tcl:880 msgid "Cannot determine HEAD. See console output for details." msgstr "" -#: lib/choose_repository.tcl:891 +#: lib/choose_repository.tcl:889 #, tcl-format msgid "Unable to cleanup %s" msgstr "" -#: lib/choose_repository.tcl:897 +#: lib/choose_repository.tcl:895 msgid "Clone failed." msgstr "" -#: lib/choose_repository.tcl:904 +#: lib/choose_repository.tcl:902 msgid "No default branch obtained." msgstr "" -#: lib/choose_repository.tcl:915 +#: lib/choose_repository.tcl:913 #, tcl-format msgid "Cannot resolve %s as a commit." msgstr "" -#: lib/choose_repository.tcl:927 +#: lib/choose_repository.tcl:925 msgid "Creating working directory" msgstr "" -#: lib/choose_repository.tcl:928 lib/index.tcl:65 lib/index.tcl:127 +#: lib/choose_repository.tcl:926 lib/index.tcl:65 lib/index.tcl:127 #: lib/index.tcl:193 msgid "files" msgstr "" -#: lib/choose_repository.tcl:957 +#: lib/choose_repository.tcl:955 msgid "Initial file checkout failed." msgstr "" -#: lib/choose_repository.tcl:973 +#: lib/choose_repository.tcl:971 msgid "Open" msgstr "" -#: lib/choose_repository.tcl:983 +#: lib/choose_repository.tcl:981 msgid "Repository:" msgstr "" -#: lib/choose_repository.tcl:1033 +#: lib/choose_repository.tcl:1031 #, tcl-format msgid "Failed to open repository %s:" msgstr "" @@ -1087,7 +1087,7 @@ msgstr "" msgid "Tracking Branch" msgstr "" -#: lib/choose_rev.tcl:84 lib/choose_rev.tcl:537 +#: lib/choose_rev.tcl:84 lib/choose_rev.tcl:538 msgid "Tag" msgstr "" @@ -1104,11 +1104,11 @@ msgstr "" msgid "Revision expression is empty." msgstr "" -#: lib/choose_rev.tcl:530 +#: lib/choose_rev.tcl:531 msgid "Updated" msgstr "" -#: lib/choose_rev.tcl:558 +#: lib/choose_rev.tcl:559 msgid "URL" msgstr "" @@ -1224,7 +1224,7 @@ msgstr "" msgid "Commit %s appears to be corrupt" msgstr "" -#: lib/commit.tcl:279 +#: lib/commit.tcl:326 msgid "" "No changes to commit.\n" "\n" @@ -1233,7 +1233,7 @@ msgid "" "A rescan will be automatically started now.\n" msgstr "" -#: lib/commit.tcl:286 +#: lib/commit.tcl:333 msgid "No changes to commit." msgstr "" @@ -1241,24 +1241,24 @@ msgstr "" msgid "commit-tree failed:" msgstr "" -#: lib/commit.tcl:339 +#: lib/commit.tcl:367 msgid "update-ref failed:" msgstr "" -#: lib/commit.tcl:430 +#: lib/commit.tcl:454 #, tcl-format msgid "Created commit %s: %s" msgstr "" -#: lib/console.tcl:57 +#: lib/console.tcl:59 msgid "Working... please wait..." msgstr "" -#: lib/console.tcl:183 +#: lib/console.tcl:186 msgid "Success" msgstr "" -#: lib/console.tcl:196 +#: lib/console.tcl:200 msgid "Error: Command Failed" msgstr "" @@ -1354,23 +1354,23 @@ msgstr "" msgid "Error loading diff:" msgstr "" -#: lib/diff.tcl:302 +#: lib/diff.tcl:303 msgid "Failed to unstage selected hunk." msgstr "" -#: lib/diff.tcl:309 +#: lib/diff.tcl:310 msgid "Failed to stage selected hunk." msgstr "" -#: lib/error.tcl:12 lib/error.tcl:102 +#: lib/error.tcl:20 lib/error.tcl:114 msgid "error" msgstr "" -#: lib/error.tcl:28 +#: lib/error.tcl:36 msgid "warning" msgstr "" -#: lib/error.tcl:81 +#: lib/error.tcl:94 msgid "You must correct the above errors before committing." msgstr "" @@ -1420,11 +1420,11 @@ msgstr "" msgid "Revert changes in these %i files?" msgstr "" -#: lib/index.tcl:389 +#: lib/index.tcl:391 msgid "Any unstaged changes will be permanently lost by the revert." msgstr "" -#: lib/index.tcl:392 +#: lib/index.tcl:394 msgid "Do Nothing" msgstr "" @@ -1481,27 +1481,27 @@ msgstr "" msgid "Merge completed successfully." msgstr "" -#: lib/merge.tcl:133 +#: lib/merge.tcl:132 msgid "Merge failed. Conflict resolution is required." msgstr "" -#: lib/merge.tcl:158 +#: lib/merge.tcl:157 #, tcl-format msgid "Merge Into %s" msgstr "" -#: lib/merge.tcl:177 +#: lib/merge.tcl:176 msgid "Revision To Merge" msgstr "" -#: lib/merge.tcl:212 +#: lib/merge.tcl:211 msgid "" "Cannot abort while amending.\n" "\n" "You must finish amending this commit.\n" msgstr "" -#: lib/merge.tcl:222 +#: lib/merge.tcl:221 msgid "" "Abort merge?\n" "\n" @@ -1510,7 +1510,7 @@ msgid "" "Continue with aborting the current merge?" msgstr "" -#: lib/merge.tcl:228 +#: lib/merge.tcl:227 msgid "" "Reset changes?\n" "\n" @@ -1519,7 +1519,7 @@ msgid "" "Continue with resetting the current changes?" msgstr "" -#: lib/merge.tcl:239 +#: lib/merge.tcl:238 msgid "Aborting" msgstr "" @@ -1531,89 +1531,93 @@ msgstr "" msgid "Abort failed." msgstr "" -#: lib/merge.tcl:268 +#: lib/merge.tcl:267 msgid "Abort completed. Ready." msgstr "" -#: lib/option.tcl:82 +#: lib/option.tcl:95 msgid "Restore Defaults" msgstr "" -#: lib/option.tcl:86 +#: lib/option.tcl:99 msgid "Save" msgstr "" -#: lib/option.tcl:96 +#: lib/option.tcl:109 #, tcl-format msgid "%s Repository" msgstr "" -#: lib/option.tcl:97 +#: lib/option.tcl:110 msgid "Global (All Repositories)" msgstr "" -#: lib/option.tcl:103 +#: lib/option.tcl:116 msgid "User Name" msgstr "" -#: lib/option.tcl:104 +#: lib/option.tcl:117 msgid "Email Address" msgstr "" -#: lib/option.tcl:106 +#: lib/option.tcl:119 msgid "Summarize Merge Commits" msgstr "" -#: lib/option.tcl:107 +#: lib/option.tcl:120 msgid "Merge Verbosity" msgstr "" -#: lib/option.tcl:108 +#: lib/option.tcl:121 msgid "Show Diffstat After Merge" msgstr "" -#: lib/option.tcl:110 +#: lib/option.tcl:123 msgid "Trust File Modification Timestamps" msgstr "" -#: lib/option.tcl:111 +#: lib/option.tcl:124 msgid "Prune Tracking Branches During Fetch" msgstr "" -#: lib/option.tcl:112 +#: lib/option.tcl:125 msgid "Match Tracking Branches" msgstr "" -#: lib/option.tcl:113 +#: lib/option.tcl:126 msgid "Number of Diff Context Lines" msgstr "" -#: lib/option.tcl:114 +#: lib/option.tcl:127 +msgid "Commit Message Text Width" +msgstr "" + +#: lib/option.tcl:128 msgid "New Branch Name Template" msgstr "" -#: lib/option.tcl:191 +#: lib/option.tcl:192 msgid "Spelling Dictionary:" msgstr "" -#: lib/option.tcl:215 +#: lib/option.tcl:216 msgid "Change Font" msgstr "" -#: lib/option.tcl:180 +#: lib/option.tcl:220 #, tcl-format msgid "Choose %s" msgstr "" -#: lib/option.tcl:186 +#: lib/option.tcl:226 msgid "pt." msgstr "" -#: lib/option.tcl:200 +#: lib/option.tcl:240 msgid "Preferences" msgstr "" -#: lib/option.tcl:235 +#: lib/option.tcl:275 msgid "Failed to completely save options:" msgstr "" @@ -1713,23 +1717,40 @@ msgstr "" msgid "Cannot write icon:" msgstr "" -#: lib/spellcheck.tcl:37 -msgid "Not connected to aspell" +#: lib/spellcheck.tcl:57 +msgid "Unsupported spell checker" +msgstr "" + +#: lib/spellcheck.tcl:65 +msgid "Spell checking is unavailable" +msgstr "" + +#: lib/spellcheck.tcl:68 +msgid "Invalid spell checking configuration" +msgstr "" + +#: lib/spellcheck.tcl:70 +#, tcl-format +msgid "Reverting dictionary to %s." +msgstr "" + +#: lib/spellcheck.tcl:73 +msgid "Spell checker silently failed on startup" msgstr "" -#: lib/spellcheck.tcl:41 -msgid "Unrecognized aspell version" +#: lib/spellcheck.tcl:80 +msgid "Unrecognized spell checker" msgstr "" -#: lib/spellcheck.tcl:135 +#: lib/spellcheck.tcl:180 msgid "No Suggestions" msgstr "" -#: lib/spellcheck.tcl:336 -msgid "Unexpected EOF from aspell" +#: lib/spellcheck.tcl:381 +msgid "Unexpected EOF from spell checker" msgstr "" -#: lib/spellcheck.tcl:340 +#: lib/spellcheck.tcl:385 msgid "Spell Checker Failed" msgstr "" diff --git a/git-gui/po/hu.po b/git-gui/po/hu.po index 627c05eb99..28760ed978 100644 --- a/git-gui/po/hu.po +++ b/git-gui/po/hu.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: git-gui-i 18n\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2007-11-24 10:36+0100\n" -"PO-Revision-Date: 2007-12-04 01:15+0100\n" +"POT-Creation-Date: 2008-03-14 07:18+0100\n" +"PO-Revision-Date: 2008-03-14 17:24+0100\n" "Last-Translator: Miklos Vajna <vmiklos@frugalware.org>\n" "Language-Team: Hungarian\n" "MIME-Version: 1.0\n" @@ -16,33 +16,33 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: git-gui.sh:41 git-gui.sh:604 git-gui.sh:618 git-gui.sh:631 git-gui.sh:714 -#: git-gui.sh:733 +#: git-gui.sh:41 git-gui.sh:634 git-gui.sh:648 git-gui.sh:661 git-gui.sh:744 +#: git-gui.sh:763 msgid "git-gui: fatal error" msgstr "git-gui: végzetes hiba" -#: git-gui.sh:565 +#: git-gui.sh:593 #, tcl-format msgid "Invalid font specified in %s:" msgstr "Érvénytelen font lett megadva itt: %s:" -#: git-gui.sh:590 +#: git-gui.sh:620 msgid "Main Font" msgstr "FÅ‘ betűtÃpus" -#: git-gui.sh:591 +#: git-gui.sh:621 msgid "Diff/Console Font" msgstr "Diff/konzol betűtÃpus" -#: git-gui.sh:605 +#: git-gui.sh:635 msgid "Cannot find git in PATH." msgstr "A git nem található a PATH-ban." -#: git-gui.sh:632 +#: git-gui.sh:662 msgid "Cannot parse Git version string:" msgstr "Nem értelmezhetÅ‘ a Git verzió sztring:" -#: git-gui.sh:650 +#: git-gui.sh:680 #, tcl-format msgid "" "Git version cannot be determined.\n" @@ -61,79 +61,79 @@ msgstr "" "\n" "Feltételezhetjük, hogy a(z) '%s' verziója legalább 1.5.0?\n" -#: git-gui.sh:888 +#: git-gui.sh:918 msgid "Git directory not found:" msgstr "A Git könyvtár nem található:" -#: git-gui.sh:895 +#: git-gui.sh:925 msgid "Cannot move to top of working directory:" msgstr "Nem lehet a munkakönyvtár tetejére lépni:" -#: git-gui.sh:902 +#: git-gui.sh:932 msgid "Cannot use funny .git directory:" msgstr "Nem használható vicces .git könyvtár:" -#: git-gui.sh:907 +#: git-gui.sh:937 msgid "No working directory" msgstr "Nincs munkakönyvtár" -#: git-gui.sh:1054 +#: git-gui.sh:1084 lib/checkout_op.tcl:283 msgid "Refreshing file status..." msgstr "A fájlok státuszának frissÃtése..." -#: git-gui.sh:1119 +#: git-gui.sh:1149 msgid "Scanning for modified files ..." msgstr "MódosÃtott fájlok keresése ..." -#: git-gui.sh:1294 lib/browser.tcl:245 +#: git-gui.sh:1324 lib/browser.tcl:246 msgid "Ready." msgstr "Kész." -#: git-gui.sh:1560 +#: git-gui.sh:1590 msgid "Unmodified" msgstr "Nem módosÃtott" -#: git-gui.sh:1562 +#: git-gui.sh:1592 msgid "Modified, not staged" msgstr "MódosÃtott, de nem kiválasztott" -#: git-gui.sh:1563 git-gui.sh:1568 +#: git-gui.sh:1593 git-gui.sh:1598 msgid "Staged for commit" msgstr "Kiválasztva commitolásra" -#: git-gui.sh:1564 git-gui.sh:1569 +#: git-gui.sh:1594 git-gui.sh:1599 msgid "Portions staged for commit" msgstr "Részek kiválasztva commitolásra" -#: git-gui.sh:1565 git-gui.sh:1570 +#: git-gui.sh:1595 git-gui.sh:1600 msgid "Staged for commit, missing" msgstr "Kiválasztva commitolásra, hiányzó" -#: git-gui.sh:1567 +#: git-gui.sh:1597 msgid "Untracked, not staged" msgstr "Nem követett, nem kiválasztott" -#: git-gui.sh:1572 +#: git-gui.sh:1602 msgid "Missing" msgstr "Hiányzó" -#: git-gui.sh:1573 +#: git-gui.sh:1603 msgid "Staged for removal" msgstr "Kiválasztva eltávolÃtásra" -#: git-gui.sh:1574 +#: git-gui.sh:1604 msgid "Staged for removal, still present" msgstr "Kiválasztva eltávolÃtásra, jelenleg is elérhetÅ‘" -#: git-gui.sh:1576 git-gui.sh:1577 git-gui.sh:1578 git-gui.sh:1579 +#: git-gui.sh:1606 git-gui.sh:1607 git-gui.sh:1608 git-gui.sh:1609 msgid "Requires merge resolution" msgstr "Merge feloldás szükséges" -#: git-gui.sh:1614 +#: git-gui.sh:1644 msgid "Starting gitk... please wait..." msgstr "A gitk indÃtása... várjunk..." -#: git-gui.sh:1623 +#: git-gui.sh:1653 #, tcl-format msgid "" "Unable to start gitk:\n" @@ -144,295 +144,296 @@ msgstr "" "\n" "A(z) %s nem létezik" -#: git-gui.sh:1823 lib/choose_repository.tcl:35 +#: git-gui.sh:1860 lib/choose_repository.tcl:36 msgid "Repository" msgstr "Repó" -#: git-gui.sh:1824 +#: git-gui.sh:1861 msgid "Edit" msgstr "Szerkesztés" -#: git-gui.sh:1826 lib/choose_rev.tcl:560 +#: git-gui.sh:1863 lib/choose_rev.tcl:561 msgid "Branch" msgstr "Branch" -#: git-gui.sh:1829 lib/choose_rev.tcl:547 +#: git-gui.sh:1866 lib/choose_rev.tcl:548 msgid "Commit@@noun" msgstr "Commit@@fÅ‘név" -#: git-gui.sh:1832 lib/merge.tcl:121 lib/merge.tcl:150 lib/merge.tcl:168 +#: git-gui.sh:1869 lib/merge.tcl:120 lib/merge.tcl:149 lib/merge.tcl:167 msgid "Merge" msgstr "Merge" -#: git-gui.sh:1833 lib/choose_rev.tcl:556 +#: git-gui.sh:1870 lib/choose_rev.tcl:557 msgid "Remote" msgstr "Távoli" -#: git-gui.sh:1842 +#: git-gui.sh:1879 msgid "Browse Current Branch's Files" msgstr "A jelenlegi branch fájljainak böngészése" -#: git-gui.sh:1846 +#: git-gui.sh:1883 msgid "Browse Branch Files..." msgstr "A branch fájljainak böngészése..." -#: git-gui.sh:1851 +#: git-gui.sh:1888 msgid "Visualize Current Branch's History" msgstr "A jelenlegi branch történetének vizualizálása" -#: git-gui.sh:1855 +#: git-gui.sh:1892 msgid "Visualize All Branch History" msgstr "Az összes branch történetének vizualizálása" -#: git-gui.sh:1862 +#: git-gui.sh:1899 #, tcl-format msgid "Browse %s's Files" msgstr "A(z) %s branch fájljainak böngészése" -#: git-gui.sh:1864 +#: git-gui.sh:1901 #, tcl-format msgid "Visualize %s's History" msgstr "A(z) %s branch történetének vizualizálása" -#: git-gui.sh:1869 lib/database.tcl:27 lib/database.tcl:67 +#: git-gui.sh:1906 lib/database.tcl:27 lib/database.tcl:67 msgid "Database Statistics" msgstr "Adatbázis statisztikák" -#: git-gui.sh:1872 lib/database.tcl:34 +#: git-gui.sh:1909 lib/database.tcl:34 msgid "Compress Database" msgstr "Adatbázis tömörÃtése" -#: git-gui.sh:1875 +#: git-gui.sh:1912 msgid "Verify Database" msgstr "Adatbázis ellenÅ‘rzése" -#: git-gui.sh:1882 git-gui.sh:1886 git-gui.sh:1890 lib/shortcut.tcl:7 +#: git-gui.sh:1919 git-gui.sh:1923 git-gui.sh:1927 lib/shortcut.tcl:7 #: lib/shortcut.tcl:39 lib/shortcut.tcl:71 msgid "Create Desktop Icon" msgstr "Asztal ikon létrehozása" -#: git-gui.sh:1895 lib/choose_repository.tcl:176 lib/choose_repository.tcl:184 +#: git-gui.sh:1932 lib/choose_repository.tcl:177 lib/choose_repository.tcl:185 msgid "Quit" msgstr "Kilépés" -#: git-gui.sh:1902 +#: git-gui.sh:1939 msgid "Undo" msgstr "Visszavonás" -#: git-gui.sh:1905 +#: git-gui.sh:1942 msgid "Redo" msgstr "Mégis" -#: git-gui.sh:1909 git-gui.sh:2403 +#: git-gui.sh:1946 git-gui.sh:2443 msgid "Cut" msgstr "Kivágás" -#: git-gui.sh:1912 git-gui.sh:2406 git-gui.sh:2477 git-gui.sh:2549 -#: lib/console.tcl:67 +#: git-gui.sh:1949 git-gui.sh:2446 git-gui.sh:2520 git-gui.sh:2614 +#: lib/console.tcl:69 msgid "Copy" msgstr "Másolás" -#: git-gui.sh:1915 git-gui.sh:2409 +#: git-gui.sh:1952 git-gui.sh:2449 msgid "Paste" msgstr "Beillesztés" -#: git-gui.sh:1918 git-gui.sh:2412 lib/branch_delete.tcl:26 +#: git-gui.sh:1955 git-gui.sh:2452 lib/branch_delete.tcl:26 #: lib/remote_branch_delete.tcl:38 msgid "Delete" msgstr "Törlés" -#: git-gui.sh:1922 git-gui.sh:2416 git-gui.sh:2553 lib/console.tcl:69 +#: git-gui.sh:1959 git-gui.sh:2456 git-gui.sh:2618 lib/console.tcl:71 msgid "Select All" msgstr "Mindent kiválaszt" -#: git-gui.sh:1931 +#: git-gui.sh:1968 msgid "Create..." msgstr "Létrehozás..." -#: git-gui.sh:1937 +#: git-gui.sh:1974 msgid "Checkout..." msgstr "Checkout..." -#: git-gui.sh:1943 +#: git-gui.sh:1980 msgid "Rename..." msgstr "Ãtnevezés..." -#: git-gui.sh:1948 git-gui.sh:2048 +#: git-gui.sh:1985 git-gui.sh:2085 msgid "Delete..." msgstr "Törlés..." -#: git-gui.sh:1953 +#: git-gui.sh:1990 msgid "Reset..." msgstr "VisszaállÃtás..." -#: git-gui.sh:1965 git-gui.sh:2350 +#: git-gui.sh:2002 git-gui.sh:2389 msgid "New Commit" msgstr "Új commit" -#: git-gui.sh:1973 git-gui.sh:2357 +#: git-gui.sh:2010 git-gui.sh:2396 msgid "Amend Last Commit" msgstr "Utolsó commit javÃtása" -#: git-gui.sh:1982 git-gui.sh:2317 lib/remote_branch_delete.tcl:99 +#: git-gui.sh:2019 git-gui.sh:2356 lib/remote_branch_delete.tcl:99 msgid "Rescan" msgstr "Keresés újra" -#: git-gui.sh:1988 +#: git-gui.sh:2025 msgid "Stage To Commit" msgstr "Kiválasztás commitolásra" -#: git-gui.sh:1994 +#: git-gui.sh:2031 msgid "Stage Changed Files To Commit" msgstr "MódosÃtott fájlok kiválasztása commitolásra" -#: git-gui.sh:2000 +#: git-gui.sh:2037 msgid "Unstage From Commit" msgstr "Commitba való kiválasztás visszavonása" -#: git-gui.sh:2005 lib/index.tcl:393 +#: git-gui.sh:2042 lib/index.tcl:395 msgid "Revert Changes" msgstr "Változtatások visszaállÃtása" -#: git-gui.sh:2012 git-gui.sh:2329 git-gui.sh:2427 +#: git-gui.sh:2049 git-gui.sh:2368 git-gui.sh:2467 msgid "Sign Off" msgstr "AláÃr" -#: git-gui.sh:2016 git-gui.sh:2333 +#: git-gui.sh:2053 git-gui.sh:2372 msgid "Commit@@verb" msgstr "Commit@@ige" -#: git-gui.sh:2027 +#: git-gui.sh:2064 msgid "Local Merge..." msgstr "Helyi merge..." -#: git-gui.sh:2032 +#: git-gui.sh:2069 msgid "Abort Merge..." msgstr "Merge megszakÃtása..." -#: git-gui.sh:2044 +#: git-gui.sh:2081 msgid "Push..." msgstr "Push..." -#: git-gui.sh:2055 lib/choose_repository.tcl:40 +#: git-gui.sh:2092 lib/choose_repository.tcl:41 msgid "Apple" msgstr "Apple" -#: git-gui.sh:2058 git-gui.sh:2080 lib/about.tcl:13 -#: lib/choose_repository.tcl:43 lib/choose_repository.tcl:49 +#: git-gui.sh:2095 git-gui.sh:2117 lib/about.tcl:14 +#: lib/choose_repository.tcl:44 lib/choose_repository.tcl:50 #, tcl-format msgid "About %s" msgstr "Névjegy: %s" -#: git-gui.sh:2062 +#: git-gui.sh:2099 msgid "Preferences..." msgstr "BeállÃtások..." -#: git-gui.sh:2070 git-gui.sh:2595 +#: git-gui.sh:2107 git-gui.sh:2639 msgid "Options..." msgstr "Opciók..." -#: git-gui.sh:2076 lib/choose_repository.tcl:46 +#: git-gui.sh:2113 lib/choose_repository.tcl:47 msgid "Help" msgstr "SegÃtség" -#: git-gui.sh:2117 +#: git-gui.sh:2154 msgid "Online Documentation" msgstr "Online dokumentáció" -#: git-gui.sh:2201 +#: git-gui.sh:2238 #, tcl-format msgid "fatal: cannot stat path %s: No such file or directory" -msgstr "végzetes hiba: nem érhetÅ‘ el a(z) %s útvonal: Nincs ilyen fájl vagy könyvtár" +msgstr "" +"végzetes hiba: nem érhetÅ‘ el a(z) %s útvonal: Nincs ilyen fájl vagy könyvtár" -#: git-gui.sh:2234 +#: git-gui.sh:2271 msgid "Current Branch:" msgstr "Jelenlegi branch:" -#: git-gui.sh:2255 +#: git-gui.sh:2292 msgid "Staged Changes (Will Commit)" msgstr "Kiválasztott változtatások (commitolva lesz)" -#: git-gui.sh:2274 +#: git-gui.sh:2312 msgid "Unstaged Changes" msgstr "Kiválasztatlan változtatások" -#: git-gui.sh:2323 +#: git-gui.sh:2362 msgid "Stage Changed" msgstr "Változtatások kiválasztása" -#: git-gui.sh:2339 lib/transport.tcl:93 lib/transport.tcl:182 +#: git-gui.sh:2378 lib/transport.tcl:93 lib/transport.tcl:182 msgid "Push" msgstr "Push" -#: git-gui.sh:2369 +#: git-gui.sh:2408 msgid "Initial Commit Message:" msgstr "Kezdeti commit üzenet:" -#: git-gui.sh:2370 +#: git-gui.sh:2409 msgid "Amended Commit Message:" msgstr "JavÃtó commit üzenet:" -#: git-gui.sh:2371 +#: git-gui.sh:2410 msgid "Amended Initial Commit Message:" msgstr "Kezdeti javÃtó commit üzenet:" -#: git-gui.sh:2372 +#: git-gui.sh:2411 msgid "Amended Merge Commit Message:" msgstr "JavÃtó merge commit üzenet:" -#: git-gui.sh:2373 +#: git-gui.sh:2412 msgid "Merge Commit Message:" msgstr "Merge commit üzenet:" -#: git-gui.sh:2374 +#: git-gui.sh:2413 msgid "Commit Message:" msgstr "Commit üzenet:" -#: git-gui.sh:2419 git-gui.sh:2557 lib/console.tcl:71 +#: git-gui.sh:2459 git-gui.sh:2622 lib/console.tcl:73 msgid "Copy All" msgstr "Összes másolása" -#: git-gui.sh:2443 lib/blame.tcl:104 +#: git-gui.sh:2483 lib/blame.tcl:107 msgid "File:" msgstr "Fájl:" -#: git-gui.sh:2545 -msgid "Refresh" -msgstr "FrissÃtés" - -#: git-gui.sh:2566 +#: git-gui.sh:2589 msgid "Apply/Reverse Hunk" msgstr "Hunk alkalmazása/visszaállÃtása" -#: git-gui.sh:2572 -msgid "Decrease Font Size" -msgstr "Font méret csökkentése" - -#: git-gui.sh:2576 -msgid "Increase Font Size" -msgstr "Fönt méret növelése" - -#: git-gui.sh:2581 +#: git-gui.sh:2595 msgid "Show Less Context" msgstr "Kevesebb környezet mutatása" -#: git-gui.sh:2588 +#: git-gui.sh:2602 msgid "Show More Context" msgstr "Több környezet mutatása" -#: git-gui.sh:2602 +#: git-gui.sh:2610 +msgid "Refresh" +msgstr "FrissÃtés" + +#: git-gui.sh:2631 +msgid "Decrease Font Size" +msgstr "Font méret csökkentése" + +#: git-gui.sh:2635 +msgid "Increase Font Size" +msgstr "Fönt méret növelése" + +#: git-gui.sh:2646 msgid "Unstage Hunk From Commit" msgstr "Hunk törlése commitból" -#: git-gui.sh:2604 +#: git-gui.sh:2648 msgid "Stage Hunk For Commit" msgstr "Hunk kiválasztása commitba" -#: git-gui.sh:2623 +#: git-gui.sh:2667 msgid "Initializing..." msgstr "Inicializálás..." -#: git-gui.sh:2718 +#: git-gui.sh:2762 #, tcl-format msgid "" "Possible environment issues exist.\n" @@ -449,7 +450,7 @@ msgstr "" "indÃtott folyamatok által:\n" "\n" -#: git-gui.sh:2748 +#: git-gui.sh:2792 msgid "" "\n" "This is due to a known issue with the\n" @@ -459,7 +460,7 @@ msgstr "" "Ez a Cygwin által terjesztett Tcl binárisban\n" "lévÅ‘ ismert hiba miatt van." -#: git-gui.sh:2753 +#: git-gui.sh:2797 #, tcl-format msgid "" "\n" @@ -476,7 +477,7 @@ msgstr "" "elhelyezése a személyes\n" "~/.gitconfig fájlba.\n" -#: lib/about.tcl:25 +#: lib/about.tcl:26 msgid "git-gui - a graphical user interface for Git." msgstr "git-gui - egy grafikus felület a Githez." @@ -488,56 +489,56 @@ msgstr "Fájl nézÅ‘" msgid "Commit:" msgstr "Commit:" -#: lib/blame.tcl:249 +#: lib/blame.tcl:264 msgid "Copy Commit" msgstr "Commit másolása" -#: lib/blame.tcl:369 +#: lib/blame.tcl:384 #, tcl-format msgid "Reading %s..." msgstr "A(z) %s olvasása..." -#: lib/blame.tcl:473 +#: lib/blame.tcl:488 msgid "Loading copy/move tracking annotations..." msgstr "A másolást/átnevezést követÅ‘ annotációk betöltése..." -#: lib/blame.tcl:493 +#: lib/blame.tcl:508 msgid "lines annotated" msgstr "sor annotálva" -#: lib/blame.tcl:674 +#: lib/blame.tcl:689 msgid "Loading original location annotations..." msgstr "Az eredeti hely annotációk betöltése..." -#: lib/blame.tcl:677 +#: lib/blame.tcl:692 msgid "Annotation complete." msgstr "Az annotáció kész." -#: lib/blame.tcl:731 +#: lib/blame.tcl:746 msgid "Loading annotation..." msgstr "Az annotáció betöltése..." -#: lib/blame.tcl:787 +#: lib/blame.tcl:802 msgid "Author:" msgstr "SzerzÅ‘:" -#: lib/blame.tcl:791 +#: lib/blame.tcl:806 msgid "Committer:" msgstr "Commiter:" -#: lib/blame.tcl:796 +#: lib/blame.tcl:811 msgid "Original File:" msgstr "Eredeti fájl:" -#: lib/blame.tcl:910 +#: lib/blame.tcl:925 msgid "Originally By:" msgstr "Eredeti szerzÅ‘:" -#: lib/blame.tcl:916 +#: lib/blame.tcl:931 msgid "In File:" msgstr "Ebben a fájlban:" -#: lib/blame.tcl:921 +#: lib/blame.tcl:936 msgid "Copied Or Moved Here By:" msgstr "Ide másolta vagy helyezte:" @@ -550,17 +551,17 @@ msgid "Checkout" msgstr "Checkout" #: lib/branch_checkout.tcl:27 lib/branch_create.tcl:35 -#: lib/branch_delete.tcl:32 lib/branch_rename.tcl:30 lib/browser.tcl:281 -#: lib/checkout_op.tcl:522 lib/choose_font.tcl:43 lib/merge.tcl:172 -#: lib/option.tcl:90 lib/remote_branch_delete.tcl:42 lib/transport.tcl:97 +#: lib/branch_delete.tcl:32 lib/branch_rename.tcl:30 lib/browser.tcl:282 +#: lib/checkout_op.tcl:522 lib/choose_font.tcl:43 lib/merge.tcl:171 +#: lib/option.tcl:103 lib/remote_branch_delete.tcl:42 lib/transport.tcl:97 msgid "Cancel" msgstr "Mégsem" -#: lib/branch_checkout.tcl:32 lib/browser.tcl:286 +#: lib/branch_checkout.tcl:32 lib/browser.tcl:287 msgid "Revision" msgstr "RevÃzió" -#: lib/branch_checkout.tcl:36 lib/branch_create.tcl:69 lib/option.tcl:202 +#: lib/branch_checkout.tcl:36 lib/branch_create.tcl:69 lib/option.tcl:242 msgid "Options" msgstr "Opciók" @@ -580,7 +581,7 @@ msgstr "Branch létrehozása" msgid "Create New Branch" msgstr "Új branch létrehozása" -#: lib/branch_create.tcl:31 lib/choose_repository.tcl:375 +#: lib/branch_create.tcl:31 lib/choose_repository.tcl:371 msgid "Create" msgstr "Létrehozás" @@ -720,22 +721,22 @@ msgstr "IndÃtás..." msgid "File Browser" msgstr "Fájl böngészÅ‘" -#: lib/browser.tcl:125 lib/browser.tcl:142 +#: lib/browser.tcl:126 lib/browser.tcl:143 #, tcl-format msgid "Loading %s..." msgstr "A(z) %s betöltése..." -#: lib/browser.tcl:186 +#: lib/browser.tcl:187 msgid "[Up To Parent]" msgstr "[Fel a szülÅ‘höz]" -#: lib/browser.tcl:266 lib/browser.tcl:272 +#: lib/browser.tcl:267 lib/browser.tcl:273 msgid "Browse Branch Files" msgstr "A branch fájljainak böngészése" -#: lib/browser.tcl:277 lib/choose_repository.tcl:391 -#: lib/choose_repository.tcl:482 lib/choose_repository.tcl:492 -#: lib/choose_repository.tcl:989 +#: lib/browser.tcl:278 lib/choose_repository.tcl:387 +#: lib/choose_repository.tcl:474 lib/choose_repository.tcl:484 +#: lib/choose_repository.tcl:987 msgid "Browse" msgstr "Böngészés" @@ -749,7 +750,7 @@ msgstr "A(z) %s letöltése innen: %s" msgid "fatal: Cannot resolve %s" msgstr "végzetes: Nem lehet feloldani a következÅ‘t: %s" -#: lib/checkout_op.tcl:140 lib/console.tcl:79 lib/database.tcl:31 +#: lib/checkout_op.tcl:140 lib/console.tcl:81 lib/database.tcl:31 msgid "Close" msgstr "Bezárás" @@ -807,6 +808,10 @@ msgstr "" msgid "Updating working directory to '%s'..." msgstr "A munkkönyvtár frissiÃtése a következÅ‘re: '%s'..." +#: lib/checkout_op.tcl:323 +msgid "files checked out" +msgstr "fájl frissÃtve" + #: lib/checkout_op.tcl:353 #, tcl-format msgid "Aborted checkout of '%s' (file level merging is required)." @@ -833,7 +838,7 @@ msgstr "" "Ha egy branchen szeretnénk lenni, hozzunk létre egyet az 'Ez a leválasztott " "checkout'-ból." -#: lib/checkout_op.tcl:446 +#: lib/checkout_op.tcl:446 lib/checkout_op.tcl:450 #, tcl-format msgid "Checked out '%s'." msgstr "'%s' kifejtve." @@ -853,7 +858,7 @@ msgstr "Az elveszett commitok helyreállÃtása nem biztos, hogy egyszerű." msgid "Reset '%s'?" msgstr "VisszaállÃtjuk a következÅ‘t: '%s'?" -#: lib/checkout_op.tcl:510 lib/merge.tcl:164 +#: lib/checkout_op.tcl:510 lib/merge.tcl:163 msgid "Visualize" msgstr "Vizualizálás" @@ -882,15 +887,15 @@ msgstr "Kiválaszt" msgid "Font Family" msgstr "Font család" -#: lib/choose_font.tcl:73 +#: lib/choose_font.tcl:74 msgid "Font Size" msgstr "Font méret" -#: lib/choose_font.tcl:90 +#: lib/choose_font.tcl:91 msgid "Font Example" msgstr "Font példa" -#: lib/choose_font.tcl:101 +#: lib/choose_font.tcl:103 msgid "" "This is example text.\n" "If you like this text, it can be your font." @@ -898,225 +903,227 @@ msgstr "" "Ez egy példa szöveg.\n" "Ha ez megfelel, ez lehet a betűtÃpus." -#: lib/choose_repository.tcl:27 +#: lib/choose_repository.tcl:28 msgid "Git Gui" msgstr "Git Gui" -#: lib/choose_repository.tcl:80 lib/choose_repository.tcl:380 +#: lib/choose_repository.tcl:81 lib/choose_repository.tcl:376 msgid "Create New Repository" msgstr "Új repó létrehozása" -#: lib/choose_repository.tcl:86 +#: lib/choose_repository.tcl:87 msgid "New..." msgstr "Új..." -#: lib/choose_repository.tcl:93 lib/choose_repository.tcl:468 +#: lib/choose_repository.tcl:94 lib/choose_repository.tcl:460 msgid "Clone Existing Repository" msgstr "LétezÅ‘ repó másolása" -#: lib/choose_repository.tcl:99 +#: lib/choose_repository.tcl:100 msgid "Clone..." msgstr "Másolás..." -#: lib/choose_repository.tcl:106 lib/choose_repository.tcl:978 +#: lib/choose_repository.tcl:107 lib/choose_repository.tcl:976 msgid "Open Existing Repository" msgstr "LétezÅ‘ könyvtár megnyitása" -#: lib/choose_repository.tcl:112 +#: lib/choose_repository.tcl:113 msgid "Open..." msgstr "Meggyitás..." -#: lib/choose_repository.tcl:125 +#: lib/choose_repository.tcl:126 msgid "Recent Repositories" msgstr "Legutóbbi repók" -#: lib/choose_repository.tcl:131 +#: lib/choose_repository.tcl:132 msgid "Open Recent Repository:" msgstr "Legutóbbi repók megnyitása:" -#: lib/choose_repository.tcl:294 -#, tcl-format -msgid "Location %s already exists." -msgstr "A(z) '%s' hely már létezik." - -#: lib/choose_repository.tcl:300 lib/choose_repository.tcl:307 -#: lib/choose_repository.tcl:314 +#: lib/choose_repository.tcl:296 lib/choose_repository.tcl:303 +#: lib/choose_repository.tcl:310 #, tcl-format msgid "Failed to create repository %s:" msgstr "Nem sikerült letrehozni a(z) %s repót:" -#: lib/choose_repository.tcl:385 lib/choose_repository.tcl:486 +#: lib/choose_repository.tcl:381 lib/choose_repository.tcl:478 msgid "Directory:" msgstr "Könyvtár:" -#: lib/choose_repository.tcl:415 lib/choose_repository.tcl:544 -#: lib/choose_repository.tcl:1013 +#: lib/choose_repository.tcl:412 lib/choose_repository.tcl:537 +#: lib/choose_repository.tcl:1011 msgid "Git Repository" msgstr "Git repó" -#: lib/choose_repository.tcl:430 lib/choose_repository.tcl:437 +#: lib/choose_repository.tcl:437 #, tcl-format msgid "Directory %s already exists." msgstr "A(z) '%s' könyvtár már létezik." -#: lib/choose_repository.tcl:442 +#: lib/choose_repository.tcl:441 #, tcl-format msgid "File %s already exists." msgstr "A(z) '%s' fájl már létezik." -#: lib/choose_repository.tcl:463 +#: lib/choose_repository.tcl:455 msgid "Clone" msgstr "Bezárás" -#: lib/choose_repository.tcl:476 +#: lib/choose_repository.tcl:468 msgid "URL:" msgstr "URL:" -#: lib/choose_repository.tcl:496 +#: lib/choose_repository.tcl:489 msgid "Clone Type:" msgstr "Másolás tÃpusa:" -#: lib/choose_repository.tcl:502 +#: lib/choose_repository.tcl:495 msgid "Standard (Fast, Semi-Redundant, Hardlinks)" msgstr "Ãltalános (Gyors, félig-redundáns, hardlinkek)" -#: lib/choose_repository.tcl:508 +#: lib/choose_repository.tcl:501 msgid "Full Copy (Slower, Redundant Backup)" msgstr "Teljes másolás (Lassabb, redundáns biztonsági mentés)" -#: lib/choose_repository.tcl:514 +#: lib/choose_repository.tcl:507 msgid "Shared (Fastest, Not Recommended, No Backup)" msgstr "Megosztott (Leggyorsabb, nem ajánlott, nincs mentés)" -#: lib/choose_repository.tcl:550 lib/choose_repository.tcl:597 -#: lib/choose_repository.tcl:738 lib/choose_repository.tcl:808 -#: lib/choose_repository.tcl:1019 lib/choose_repository.tcl:1027 +#: lib/choose_repository.tcl:543 lib/choose_repository.tcl:590 +#: lib/choose_repository.tcl:736 lib/choose_repository.tcl:806 +#: lib/choose_repository.tcl:1017 lib/choose_repository.tcl:1025 #, tcl-format msgid "Not a Git repository: %s" msgstr "Nem Git repó: %s" -#: lib/choose_repository.tcl:586 +#: lib/choose_repository.tcl:579 msgid "Standard only available for local repository." msgstr "A standard csak helyi repókra érhetÅ‘ el." -#: lib/choose_repository.tcl:590 +#: lib/choose_repository.tcl:583 msgid "Shared only available for local repository." msgstr "A megosztott csak helyi repókra érhetÅ‘ el." -#: lib/choose_repository.tcl:617 +#: lib/choose_repository.tcl:604 +#, tcl-format +msgid "Location %s already exists." +msgstr "A(z) '%s' hely már létezik." + +#: lib/choose_repository.tcl:615 msgid "Failed to configure origin" msgstr "Nem sikerült beállÃtani az origint" -#: lib/choose_repository.tcl:629 +#: lib/choose_repository.tcl:627 msgid "Counting objects" msgstr "Objektumok számolása" -#: lib/choose_repository.tcl:630 +#: lib/choose_repository.tcl:628 msgid "buckets" msgstr "vödrök" -#: lib/choose_repository.tcl:654 +#: lib/choose_repository.tcl:652 #, tcl-format msgid "Unable to copy objects/info/alternates: %s" msgstr "Nem sikerült másolni az objects/info/alternates-t: %s" -#: lib/choose_repository.tcl:690 +#: lib/choose_repository.tcl:688 #, tcl-format msgid "Nothing to clone from %s." msgstr "Semmi másolni való nincs innen: %s" -#: lib/choose_repository.tcl:692 lib/choose_repository.tcl:906 -#: lib/choose_repository.tcl:918 +#: lib/choose_repository.tcl:690 lib/choose_repository.tcl:904 +#: lib/choose_repository.tcl:916 msgid "The 'master' branch has not been initialized." msgstr "A 'master' branch nincs inicializálva." -#: lib/choose_repository.tcl:705 +#: lib/choose_repository.tcl:703 msgid "Hardlinks are unavailable. Falling back to copying." msgstr "Nem érhetÅ‘ek el hardlinkek. Másolás használata." -#: lib/choose_repository.tcl:717 +#: lib/choose_repository.tcl:715 #, tcl-format msgid "Cloning from %s" msgstr "Másolás innen: %s" -#: lib/choose_repository.tcl:748 +#: lib/choose_repository.tcl:746 msgid "Copying objects" msgstr "Objektumok másolása" -#: lib/choose_repository.tcl:749 +#: lib/choose_repository.tcl:747 msgid "KiB" msgstr "KiB" -#: lib/choose_repository.tcl:773 +#: lib/choose_repository.tcl:771 #, tcl-format msgid "Unable to copy object: %s" msgstr "Nem sikerült másolni az objektumot: %s" -#: lib/choose_repository.tcl:783 +#: lib/choose_repository.tcl:781 msgid "Linking objects" msgstr "Objektumok összefűzése" -#: lib/choose_repository.tcl:784 +#: lib/choose_repository.tcl:782 msgid "objects" msgstr "objektum" -#: lib/choose_repository.tcl:792 +#: lib/choose_repository.tcl:790 #, tcl-format msgid "Unable to hardlink object: %s" msgstr "Nem sikerült hardlinkelni az objektumot: %s" -#: lib/choose_repository.tcl:847 +#: lib/choose_repository.tcl:845 msgid "Cannot fetch branches and objects. See console output for details." -msgstr "Nem sikerült letölteni a branch-eket és az objektumokat. BÅ‘vebben a konzolos kimenetben." +msgstr "" +"Nem sikerült letölteni a branch-eket és az objektumokat. BÅ‘vebben a " +"konzolos kimenetben." -#: lib/choose_repository.tcl:858 +#: lib/choose_repository.tcl:856 msgid "Cannot fetch tags. See console output for details." msgstr "Nem sikerült letölteni a tageket. BÅ‘vebben a konzolos kimenetben." -#: lib/choose_repository.tcl:882 +#: lib/choose_repository.tcl:880 msgid "Cannot determine HEAD. See console output for details." msgstr "Nem sikerült megállapÃtani a HEAD-et. BÅ‘vebben a konzolos kimenetben." -#: lib/choose_repository.tcl:891 +#: lib/choose_repository.tcl:889 #, tcl-format msgid "Unable to cleanup %s" msgstr "Nem sikerült tiszÃtani: %s." -#: lib/choose_repository.tcl:897 +#: lib/choose_repository.tcl:895 msgid "Clone failed." msgstr "A másolás nem sikerült." -#: lib/choose_repository.tcl:904 +#: lib/choose_repository.tcl:902 msgid "No default branch obtained." msgstr "Nincs alapértelmezett branch." -#: lib/choose_repository.tcl:915 +#: lib/choose_repository.tcl:913 #, tcl-format msgid "Cannot resolve %s as a commit." msgstr "Nem sikerült felöldani a(z) %s objektumot commitként." -#: lib/choose_repository.tcl:927 +#: lib/choose_repository.tcl:925 msgid "Creating working directory" msgstr "Munkakönyvtár létrehozása" -#: lib/choose_repository.tcl:928 lib/index.tcl:65 lib/index.tcl:127 +#: lib/choose_repository.tcl:926 lib/index.tcl:65 lib/index.tcl:127 #: lib/index.tcl:193 msgid "files" msgstr "fájl" -#: lib/choose_repository.tcl:957 +#: lib/choose_repository.tcl:955 msgid "Initial file checkout failed." msgstr "A kezdeti fájl-kibontás sikertelen." -#: lib/choose_repository.tcl:973 +#: lib/choose_repository.tcl:971 msgid "Open" msgstr "Megnyitás" -#: lib/choose_repository.tcl:983 +#: lib/choose_repository.tcl:981 msgid "Repository:" msgstr "Repó:" -#: lib/choose_repository.tcl:1033 +#: lib/choose_repository.tcl:1031 #, tcl-format msgid "Failed to open repository %s:" msgstr "Nem sikerült megnyitni a(z) %s repót:" @@ -1137,7 +1144,7 @@ msgstr "Helyi branch" msgid "Tracking Branch" msgstr "KövetÅ‘ branch" -#: lib/choose_rev.tcl:84 lib/choose_rev.tcl:537 +#: lib/choose_rev.tcl:84 lib/choose_rev.tcl:538 msgid "Tag" msgstr "Tag" @@ -1154,11 +1161,11 @@ msgstr "Nincs kiválasztva revÃzió." msgid "Revision expression is empty." msgstr "A revÃzió kifejezés üres." -#: lib/choose_rev.tcl:530 +#: lib/choose_rev.tcl:531 msgid "Updated" msgstr "FrissÃtve" -#: lib/choose_rev.tcl:558 +#: lib/choose_rev.tcl:559 msgid "URL" msgstr "URL" @@ -1268,16 +1275,45 @@ msgstr "" "- Második sor: Ãœres\n" "- A többi sor: LeÃrja, hogy miért jó ez a változtatás.\n" -#: lib/commit.tcl:257 +#: lib/commit.tcl:207 +#, tcl-format +msgid "warning: Tcl does not support encoding '%s'." +msgstr "figyelmeztetés: a Tcl nem támogatja a(z) '%s' kódolást." + +#: lib/commit.tcl:221 +msgid "Calling pre-commit hook..." +msgstr "A pre-commit hurok meghÃvása..." + +#: lib/commit.tcl:236 +msgid "Commit declined by pre-commit hook." +msgstr "A commitot megakadályozta a pre-commit hurok. " + +#: lib/commit.tcl:259 +msgid "Calling commit-msg hook..." +msgstr "A commit-msg hurok meghÃvása..." + +#: lib/commit.tcl:274 +msgid "Commit declined by commit-msg hook." +msgstr "A commiot megakadályozta a commit-msg hurok." + +#: lib/commit.tcl:287 +msgid "Committing changes..." +msgstr "A változtatások commitolása..." + +#: lib/commit.tcl:303 msgid "write-tree failed:" msgstr "a write-tree sikertelen:" -#: lib/commit.tcl:275 +#: lib/commit.tcl:304 lib/commit.tcl:348 lib/commit.tcl:368 +msgid "Commit failed." +msgstr "A commit nem sikerült." + +#: lib/commit.tcl:321 #, tcl-format msgid "Commit %s appears to be corrupt" msgstr "A(z) %s commit sérültnek tűnik" -#: lib/commit.tcl:279 +#: lib/commit.tcl:326 msgid "" "No changes to commit.\n" "\n" @@ -1291,37 +1327,32 @@ msgstr "" "\n" "Az újrakeresés most automatikusan el fog indulni.\n" -#: lib/commit.tcl:286 +#: lib/commit.tcl:333 msgid "No changes to commit." msgstr "Nincs commitolandó változtatás." -#: lib/commit.tcl:303 -#, tcl-format -msgid "warning: Tcl does not support encoding '%s'." -msgstr "figyelmeztetés: a Tcl nem támogatja a(z) '%s' kódolást." - -#: lib/commit.tcl:317 +#: lib/commit.tcl:347 msgid "commit-tree failed:" msgstr "a commit-tree sikertelen:" -#: lib/commit.tcl:339 +#: lib/commit.tcl:367 msgid "update-ref failed:" msgstr "az update-ref sikertelen:" -#: lib/commit.tcl:430 +#: lib/commit.tcl:454 #, tcl-format msgid "Created commit %s: %s" msgstr "Létrejött a %s commit: %s" -#: lib/console.tcl:57 +#: lib/console.tcl:59 msgid "Working... please wait..." msgstr "Munka folyamatban.. Várjunk..." -#: lib/console.tcl:183 +#: lib/console.tcl:186 msgid "Success" msgstr "Siker" -#: lib/console.tcl:196 +#: lib/console.tcl:200 msgid "Error: Command Failed" msgstr "Hiba: a parancs sikertelen" @@ -1431,23 +1462,23 @@ msgstr "* Bináris fájl (tartalom elrejtése)." msgid "Error loading diff:" msgstr "Hiba a diff betöltése közben:" -#: lib/diff.tcl:302 +#: lib/diff.tcl:303 msgid "Failed to unstage selected hunk." msgstr "Nem visszavonni a hunk kiválasztását." -#: lib/diff.tcl:309 +#: lib/diff.tcl:310 msgid "Failed to stage selected hunk." msgstr "Nem sikerült kiválasztani a hunkot." -#: lib/error.tcl:12 lib/error.tcl:102 +#: lib/error.tcl:20 lib/error.tcl:114 msgid "error" msgstr "hiba" -#: lib/error.tcl:28 +#: lib/error.tcl:36 msgid "warning" msgstr "figyelmeztetés" -#: lib/error.tcl:81 +#: lib/error.tcl:94 msgid "You must correct the above errors before committing." msgstr "Ki kell javÃtanunk a fenti hibákat commit elÅ‘tt." @@ -1464,8 +1495,8 @@ msgid "" "Updating the Git index failed. A rescan will be automatically started to " "resynchronize git-gui." msgstr "" -"A Git index frissÃtése sikertelen volt. Egy újraolvasás automatikusan elindult, hogy " -"a git-gui újra szinkonban legyen." +"A Git index frissÃtése sikertelen volt. Egy újraolvasás automatikusan " +"elindult, hogy a git-gui újra szinkonban legyen." #: lib/index.tcl:27 msgid "Continue" @@ -1480,6 +1511,10 @@ msgstr "Index zárolásának feloldása" msgid "Unstaging %s from commit" msgstr "A(z) %s commitba való kiválasztásának visszavonása" +#: lib/index.tcl:313 +msgid "Ready to commit." +msgstr "Commitolásra kész." + #: lib/index.tcl:326 #, tcl-format msgid "Adding %s" @@ -1495,13 +1530,13 @@ msgstr "VisszaállÃtja a változtatásokat a(z) %s fájlban?" msgid "Revert changes in these %i files?" msgstr "VisszaállÃtja a változtatásokat ebben e %i fájlban?" -#: lib/index.tcl:389 +#: lib/index.tcl:391 msgid "Any unstaged changes will be permanently lost by the revert." msgstr "" "Minden nem kiválasztott változtatás el fog veszni ezáltal a visszaállÃtás " "által." -#: lib/index.tcl:392 +#: lib/index.tcl:394 msgid "Do Nothing" msgstr "Ne csináljunk semmit" @@ -1574,27 +1609,27 @@ msgstr "%s / %s" #: lib/merge.tcl:119 #, tcl-format -msgid "Merging %s and %s" -msgstr "A(z) %s és a(z) %s merge-ölése" +msgid "Merging %s and %s..." +msgstr "A(z) %s és a(z) %s merge-ölése..." -#: lib/merge.tcl:131 +#: lib/merge.tcl:130 msgid "Merge completed successfully." msgstr "A merge sikeresen befejezÅ‘dött." -#: lib/merge.tcl:133 +#: lib/merge.tcl:132 msgid "Merge failed. Conflict resolution is required." msgstr "A merge sikertelen. Fel kell oldanunk az ütközéseket." -#: lib/merge.tcl:158 +#: lib/merge.tcl:157 #, tcl-format msgid "Merge Into %s" msgstr "Merge-ölés a következÅ‘be: %s" -#: lib/merge.tcl:177 +#: lib/merge.tcl:176 msgid "Revision To Merge" msgstr "Merge-ölni szándékozott revÃzió" -#: lib/merge.tcl:212 +#: lib/merge.tcl:211 msgid "" "Cannot abort while amending.\n" "\n" @@ -1604,7 +1639,7 @@ msgstr "" "\n" "Be kell fejeznünk ennek a commitnak a javÃtását.\n" -#: lib/merge.tcl:222 +#: lib/merge.tcl:221 msgid "" "Abort merge?\n" "\n" @@ -1619,7 +1654,7 @@ msgstr "" "\n" "Folytatjuk a jelenlegi merge megszakÃtását?" -#: lib/merge.tcl:228 +#: lib/merge.tcl:227 msgid "" "Reset changes?\n" "\n" @@ -1634,93 +1669,105 @@ msgstr "" "\n" "Folytatjuk a jelenlegi módosÃtások visszavonását?" -#: lib/merge.tcl:239 +#: lib/merge.tcl:238 msgid "Aborting" msgstr "FélbeszakÃtás" -#: lib/merge.tcl:266 +#: lib/merge.tcl:238 +msgid "files reset" +msgstr "fájl visszaállÃtva" + +#: lib/merge.tcl:265 msgid "Abort failed." msgstr "A félbeszakÃtás nem sikerült." -#: lib/merge.tcl:268 +#: lib/merge.tcl:267 msgid "Abort completed. Ready." msgstr "A megkeszakÃtás befejezÅ‘dött. Kész." -#: lib/option.tcl:82 +#: lib/option.tcl:95 msgid "Restore Defaults" msgstr "Alapértelmezés visszaállÃtása" -#: lib/option.tcl:86 +#: lib/option.tcl:99 msgid "Save" msgstr "Mentés" -#: lib/option.tcl:96 +#: lib/option.tcl:109 #, tcl-format msgid "%s Repository" msgstr "%s Repó" -#: lib/option.tcl:97 +#: lib/option.tcl:110 msgid "Global (All Repositories)" msgstr "Globális (minden repó)" -#: lib/option.tcl:103 +#: lib/option.tcl:116 msgid "User Name" msgstr "Felhasználónév" -#: lib/option.tcl:104 +#: lib/option.tcl:117 msgid "Email Address" msgstr "Email cÃm" -#: lib/option.tcl:106 +#: lib/option.tcl:119 msgid "Summarize Merge Commits" msgstr "A merge commitok összegzése" -#: lib/option.tcl:107 +#: lib/option.tcl:120 msgid "Merge Verbosity" msgstr "Merge beszédesség" -#: lib/option.tcl:108 +#: lib/option.tcl:121 msgid "Show Diffstat After Merge" msgstr "Diffstat mutatása merge után" -#: lib/option.tcl:110 +#: lib/option.tcl:123 msgid "Trust File Modification Timestamps" msgstr "A fájl módosÃtási dátumok megbÃzhatóak" -#: lib/option.tcl:111 +#: lib/option.tcl:124 msgid "Prune Tracking Branches During Fetch" msgstr "A követÅ‘ branchek eltávolÃtása letöltés alatt" -#: lib/option.tcl:112 +#: lib/option.tcl:125 msgid "Match Tracking Branches" msgstr "A követÅ‘ branchek egyeztetése" -#: lib/option.tcl:113 +#: lib/option.tcl:126 msgid "Number of Diff Context Lines" msgstr "A diff környezeti sorok száma" -#: lib/option.tcl:114 +#: lib/option.tcl:127 +msgid "Commit Message Text Width" +msgstr "Commit üzenet szövegének szélessége" + +#: lib/option.tcl:128 msgid "New Branch Name Template" msgstr "Új branch név sablon" -#: lib/option.tcl:176 +#: lib/option.tcl:192 +msgid "Spelling Dictionary:" +msgstr "HelyesÃrás-ellenÅ‘rzÅ‘ szótár:" + +#: lib/option.tcl:216 msgid "Change Font" msgstr "BetűtÃpus megváltoztatása" -#: lib/option.tcl:180 +#: lib/option.tcl:220 #, tcl-format msgid "Choose %s" msgstr "%s választása" -#: lib/option.tcl:186 +#: lib/option.tcl:226 msgid "pt." msgstr "pt." -#: lib/option.tcl:200 +#: lib/option.tcl:240 msgid "Preferences" msgstr "BeállÃtások" -#: lib/option.tcl:235 +#: lib/option.tcl:275 msgid "Failed to completely save options:" msgstr "Nem sikerült teljesen elmenteni a beállÃtásokat:" @@ -1767,8 +1814,7 @@ msgid "" "\n" " - %s" msgstr "" -"A következÅ‘ branchek nem teljesen lettek merge-ölve ebbe: %s:" -"\n" +"A következÅ‘ branchek nem teljesen lettek merge-ölve ebbe: %s:\n" " - %s" #: lib/remote_branch_delete.tcl:189 @@ -1829,6 +1875,43 @@ msgstr "Nem sikerült Ãrni a gyorsbillentyűt:" msgid "Cannot write icon:" msgstr "Nem sikerült Ãrni az ikont:" +#: lib/spellcheck.tcl:57 +msgid "Unsupported spell checker" +msgstr "Nem támogatott helyesÃrás-ellenÅ‘rzÅ‘" + +#: lib/spellcheck.tcl:65 +msgid "Spell checking is unavailable" +msgstr "A helyesÃrás-ellenÅ‘rzés nem elérhetÅ‘" + +#: lib/spellcheck.tcl:68 +msgid "Invalid spell checking configuration" +msgstr "Érvénytelen a helyesÃrás-ellenÅ‘rzÅ‘ beállÃtása" + +#: lib/spellcheck.tcl:70 +#, tcl-format +msgid "Reverting dictionary to %s." +msgstr "Szótár visszaállÃtása a következÅ‘re: %s." + +#: lib/spellcheck.tcl:73 +msgid "Spell checker silently failed on startup" +msgstr "A helyesÃrás-ellenÅ‘rÅ‘ indÃtása sikertelen" + +#: lib/spellcheck.tcl:80 +msgid "Unrecognized spell checker" +msgstr "Ismeretlen helyesÃrás-ellenÅ‘rzÅ‘" + +#: lib/spellcheck.tcl:180 +msgid "No Suggestions" +msgstr "Nincs javaslat" + +#: lib/spellcheck.tcl:381 +msgid "Unexpected EOF from spell checker" +msgstr "Nem várt EOF a helyesÃrás-ellenÅ‘rzÅ‘tÅ‘l" + +#: lib/spellcheck.tcl:385 +msgid "Spell Checker Failed" +msgstr "A helyesÃrás-ellenÅ‘rzés sikertelen" + #: lib/status_bar.tcl:83 #, tcl-format msgid "%s ... %*i of %*i %s (%3i%%)" @@ -1887,7 +1970,9 @@ msgstr "Ãtviteli opciók" #: lib/transport.tcl:160 msgid "Force overwrite existing branch (may discard changes)" -msgstr "LétezÅ‘ branch felülÃrásának erÅ‘ltetése (lehet, hogy el fog dobni változtatásokat)" +msgstr "" +"LétezÅ‘ branch felülÃrásának erÅ‘ltetése (lehet, hogy el fog dobni " +"változtatásokat)" #: lib/transport.tcl:164 msgid "Use thin pack (for slow network connections)" @@ -1897,6 +1982,9 @@ msgstr "Vékony csomagok használata (lassú hálózati kapcsolatok számára)" msgid "Include tags" msgstr "Tageket is" +#~ msgid "Not connected to aspell" +#~ msgstr "Nincs kapcsolat az aspellhez" + #~ msgid "Cannot find the git directory:" #~ msgstr "Nem található a git könyvtár:" diff --git a/git-gui/po/it.po b/git-gui/po/it.po index 33a8399175..11cc79bb5e 100644 --- a/git-gui/po/it.po +++ b/git-gui/po/it.po @@ -9,41 +9,41 @@ msgid "" msgstr "" "Project-Id-Version: git-gui\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2007-11-09 11:18+0100\n" -"PO-Revision-Date: 2007-11-01 21:05+0100\n" +"POT-Creation-Date: 2008-03-14 07:18+0100\n" +"PO-Revision-Date: 2008-03-12 22:12+0100\n" "Last-Translator: Michele Ballabio <barra_cuda@katamail.com>\n" "Language-Team: Italian <tp@lists.linux.it>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: git-gui.sh:41 git-gui.sh:604 git-gui.sh:618 git-gui.sh:631 git-gui.sh:714 -#: git-gui.sh:733 +#: git-gui.sh:41 git-gui.sh:634 git-gui.sh:648 git-gui.sh:661 git-gui.sh:744 +#: git-gui.sh:763 msgid "git-gui: fatal error" msgstr "git-gui: errore grave" -#: git-gui.sh:565 +#: git-gui.sh:593 #, tcl-format msgid "Invalid font specified in %s:" msgstr "Caratteri non validi specificati in %s:" -#: git-gui.sh:590 +#: git-gui.sh:620 msgid "Main Font" msgstr "Caratteri principali" -#: git-gui.sh:591 +#: git-gui.sh:621 msgid "Diff/Console Font" msgstr "Caratteri per confronti e terminale" -#: git-gui.sh:605 +#: git-gui.sh:635 msgid "Cannot find git in PATH." msgstr "Impossibile trovare git nel PATH" -#: git-gui.sh:632 +#: git-gui.sh:662 msgid "Cannot parse Git version string:" msgstr "Impossibile determinare la versione di Git:" -#: git-gui.sh:650 +#: git-gui.sh:680 #, tcl-format msgid "" "Git version cannot be determined.\n" @@ -62,79 +62,79 @@ msgstr "" "\n" "Assumere che '%s' sia alla versione 1.5.0?\n" -#: git-gui.sh:888 +#: git-gui.sh:918 msgid "Git directory not found:" msgstr "Non trovo la directory di git: " -#: git-gui.sh:895 +#: git-gui.sh:925 msgid "Cannot move to top of working directory:" msgstr "Impossibile spostarsi sulla directory principale del progetto:" -#: git-gui.sh:902 +#: git-gui.sh:932 msgid "Cannot use funny .git directory:" msgstr "Impossibile usare una .git directory strana:" -#: git-gui.sh:907 +#: git-gui.sh:937 msgid "No working directory" msgstr "Nessuna directory di lavoro" -#: git-gui.sh:1054 +#: git-gui.sh:1084 lib/checkout_op.tcl:283 msgid "Refreshing file status..." msgstr "Controllo dello stato dei file in corso..." -#: git-gui.sh:1119 +#: git-gui.sh:1149 msgid "Scanning for modified files ..." msgstr "Ricerca di file modificati in corso..." -#: git-gui.sh:1294 lib/browser.tcl:245 +#: git-gui.sh:1324 lib/browser.tcl:246 msgid "Ready." msgstr "Pronto." -#: git-gui.sh:1560 +#: git-gui.sh:1590 msgid "Unmodified" msgstr "Non modificato" -#: git-gui.sh:1562 +#: git-gui.sh:1592 msgid "Modified, not staged" msgstr "Modificato, non preparato per una nuova revisione" -#: git-gui.sh:1563 git-gui.sh:1568 +#: git-gui.sh:1593 git-gui.sh:1598 msgid "Staged for commit" msgstr "Preparato per una nuova revisione" -#: git-gui.sh:1564 git-gui.sh:1569 +#: git-gui.sh:1594 git-gui.sh:1599 msgid "Portions staged for commit" msgstr "Parti preparate per una nuova revisione" -#: git-gui.sh:1565 git-gui.sh:1570 +#: git-gui.sh:1595 git-gui.sh:1600 msgid "Staged for commit, missing" msgstr "Preparato per una nuova revisione, mancante" -#: git-gui.sh:1567 +#: git-gui.sh:1597 msgid "Untracked, not staged" msgstr "Non tracciato, non preparato per una nuova revisione" -#: git-gui.sh:1572 +#: git-gui.sh:1602 msgid "Missing" msgstr "Mancante" -#: git-gui.sh:1573 +#: git-gui.sh:1603 msgid "Staged for removal" msgstr "Preparato per la rimozione" -#: git-gui.sh:1574 +#: git-gui.sh:1604 msgid "Staged for removal, still present" msgstr "Preparato alla rimozione, ancora presente" -#: git-gui.sh:1576 git-gui.sh:1577 git-gui.sh:1578 git-gui.sh:1579 +#: git-gui.sh:1606 git-gui.sh:1607 git-gui.sh:1608 git-gui.sh:1609 msgid "Requires merge resolution" msgstr "Richiede risoluzione dei conflitti" -#: git-gui.sh:1614 +#: git-gui.sh:1644 msgid "Starting gitk... please wait..." msgstr "Avvio di gitk... attendere..." -#: git-gui.sh:1623 +#: git-gui.sh:1653 #, tcl-format msgid "" "Unable to start gitk:\n" @@ -145,297 +145,297 @@ msgstr "" "\n" "%s non esiste" -#: git-gui.sh:1823 lib/choose_repository.tcl:35 +#: git-gui.sh:1860 lib/choose_repository.tcl:36 msgid "Repository" msgstr "Archivio" -#: git-gui.sh:1824 +#: git-gui.sh:1861 msgid "Edit" msgstr "Modifica" -#: git-gui.sh:1826 lib/choose_rev.tcl:560 +#: git-gui.sh:1863 lib/choose_rev.tcl:561 msgid "Branch" msgstr "Ramo" -#: git-gui.sh:1829 lib/choose_rev.tcl:547 +#: git-gui.sh:1866 lib/choose_rev.tcl:548 msgid "Commit@@noun" msgstr "Revisione" -#: git-gui.sh:1832 lib/merge.tcl:121 lib/merge.tcl:150 lib/merge.tcl:168 +#: git-gui.sh:1869 lib/merge.tcl:120 lib/merge.tcl:149 lib/merge.tcl:167 msgid "Merge" msgstr "Fusione (Merge)" -#: git-gui.sh:1833 lib/choose_rev.tcl:556 +#: git-gui.sh:1870 lib/choose_rev.tcl:557 msgid "Remote" msgstr "Remoto" -#: git-gui.sh:1842 +#: git-gui.sh:1879 msgid "Browse Current Branch's Files" msgstr "Esplora i file del ramo attuale" -#: git-gui.sh:1846 +#: git-gui.sh:1883 msgid "Browse Branch Files..." msgstr "Esplora i file del ramo..." -#: git-gui.sh:1851 +#: git-gui.sh:1888 msgid "Visualize Current Branch's History" msgstr "Visualizza la cronologia del ramo attuale" -#: git-gui.sh:1855 +#: git-gui.sh:1892 msgid "Visualize All Branch History" msgstr "Visualizza la cronologia di tutti i rami" -#: git-gui.sh:1862 +#: git-gui.sh:1899 #, tcl-format msgid "Browse %s's Files" msgstr "Esplora i file di %s" -#: git-gui.sh:1864 +#: git-gui.sh:1901 #, tcl-format msgid "Visualize %s's History" msgstr "Visualizza la cronologia di %s" -#: git-gui.sh:1869 lib/database.tcl:27 lib/database.tcl:67 +#: git-gui.sh:1906 lib/database.tcl:27 lib/database.tcl:67 msgid "Database Statistics" msgstr "Statistiche dell'archivio" -#: git-gui.sh:1872 lib/database.tcl:34 +#: git-gui.sh:1909 lib/database.tcl:34 msgid "Compress Database" msgstr "Comprimi l'archivio" -#: git-gui.sh:1875 +#: git-gui.sh:1912 msgid "Verify Database" msgstr "Verifica l'archivio" -#: git-gui.sh:1882 git-gui.sh:1886 git-gui.sh:1890 lib/shortcut.tcl:7 +#: git-gui.sh:1919 git-gui.sh:1923 git-gui.sh:1927 lib/shortcut.tcl:7 #: lib/shortcut.tcl:39 lib/shortcut.tcl:71 msgid "Create Desktop Icon" msgstr "Crea icona desktop" -#: git-gui.sh:1895 lib/choose_repository.tcl:176 lib/choose_repository.tcl:184 +#: git-gui.sh:1932 lib/choose_repository.tcl:177 lib/choose_repository.tcl:185 msgid "Quit" msgstr "Esci" -#: git-gui.sh:1902 +#: git-gui.sh:1939 msgid "Undo" msgstr "Annulla" -#: git-gui.sh:1905 +#: git-gui.sh:1942 msgid "Redo" msgstr "Ripeti" -#: git-gui.sh:1909 git-gui.sh:2403 +#: git-gui.sh:1946 git-gui.sh:2443 msgid "Cut" msgstr "Taglia" -#: git-gui.sh:1912 git-gui.sh:2406 git-gui.sh:2477 git-gui.sh:2549 -#: lib/console.tcl:67 +#: git-gui.sh:1949 git-gui.sh:2446 git-gui.sh:2520 git-gui.sh:2614 +#: lib/console.tcl:69 msgid "Copy" msgstr "Copia" -#: git-gui.sh:1915 git-gui.sh:2409 +#: git-gui.sh:1952 git-gui.sh:2449 msgid "Paste" msgstr "Incolla" -#: git-gui.sh:1918 git-gui.sh:2412 lib/branch_delete.tcl:26 +#: git-gui.sh:1955 git-gui.sh:2452 lib/branch_delete.tcl:26 #: lib/remote_branch_delete.tcl:38 msgid "Delete" msgstr "Elimina" -#: git-gui.sh:1922 git-gui.sh:2416 git-gui.sh:2553 lib/console.tcl:69 +#: git-gui.sh:1959 git-gui.sh:2456 git-gui.sh:2618 lib/console.tcl:71 msgid "Select All" msgstr "Seleziona tutto" -#: git-gui.sh:1931 +#: git-gui.sh:1968 msgid "Create..." msgstr "Crea..." -#: git-gui.sh:1937 +#: git-gui.sh:1974 msgid "Checkout..." msgstr "Attiva..." -#: git-gui.sh:1943 +#: git-gui.sh:1980 msgid "Rename..." msgstr "Rinomina" -#: git-gui.sh:1948 git-gui.sh:2048 +#: git-gui.sh:1985 git-gui.sh:2085 msgid "Delete..." msgstr "Elimina..." -#: git-gui.sh:1953 +#: git-gui.sh:1990 msgid "Reset..." msgstr "Ripristina..." -#: git-gui.sh:1965 git-gui.sh:2350 +#: git-gui.sh:2002 git-gui.sh:2389 msgid "New Commit" msgstr "Nuova revisione" -#: git-gui.sh:1973 git-gui.sh:2357 +#: git-gui.sh:2010 git-gui.sh:2396 msgid "Amend Last Commit" msgstr "Correggi l'ultima revisione" -#: git-gui.sh:1982 git-gui.sh:2317 lib/remote_branch_delete.tcl:99 +#: git-gui.sh:2019 git-gui.sh:2356 lib/remote_branch_delete.tcl:99 msgid "Rescan" msgstr "Analizza nuovamente" -#: git-gui.sh:1988 +#: git-gui.sh:2025 msgid "Stage To Commit" msgstr "Prepara per una nuova revisione" -#: git-gui.sh:1994 +#: git-gui.sh:2031 msgid "Stage Changed Files To Commit" msgstr "Prepara i file modificati per una nuova revisione" -#: git-gui.sh:2000 +#: git-gui.sh:2037 msgid "Unstage From Commit" msgstr "Annulla preparazione" -#: git-gui.sh:2005 lib/index.tcl:393 +#: git-gui.sh:2042 lib/index.tcl:395 msgid "Revert Changes" msgstr "Annulla modifiche" -#: git-gui.sh:2012 git-gui.sh:2329 git-gui.sh:2427 +#: git-gui.sh:2049 git-gui.sh:2368 git-gui.sh:2467 msgid "Sign Off" msgstr "Sign Off" -#: git-gui.sh:2016 git-gui.sh:2333 +#: git-gui.sh:2053 git-gui.sh:2372 msgid "Commit@@verb" msgstr "Nuova revisione" -#: git-gui.sh:2027 +#: git-gui.sh:2064 msgid "Local Merge..." msgstr "Fusione locale..." -#: git-gui.sh:2032 +#: git-gui.sh:2069 msgid "Abort Merge..." msgstr "Interrompi fusione..." -#: git-gui.sh:2044 +#: git-gui.sh:2081 msgid "Push..." msgstr "Propaga..." -#: git-gui.sh:2055 lib/choose_repository.tcl:40 +#: git-gui.sh:2092 lib/choose_repository.tcl:41 msgid "Apple" msgstr "Apple" -#: git-gui.sh:2058 git-gui.sh:2080 lib/about.tcl:13 -#: lib/choose_repository.tcl:43 lib/choose_repository.tcl:49 +#: git-gui.sh:2095 git-gui.sh:2117 lib/about.tcl:14 +#: lib/choose_repository.tcl:44 lib/choose_repository.tcl:50 #, tcl-format msgid "About %s" msgstr "Informazioni su %s" -#: git-gui.sh:2062 +#: git-gui.sh:2099 msgid "Preferences..." msgstr "Preferenze..." -#: git-gui.sh:2070 git-gui.sh:2595 +#: git-gui.sh:2107 git-gui.sh:2639 msgid "Options..." msgstr "Opzioni..." -#: git-gui.sh:2076 lib/choose_repository.tcl:46 +#: git-gui.sh:2113 lib/choose_repository.tcl:47 msgid "Help" msgstr "Aiuto" -#: git-gui.sh:2117 +#: git-gui.sh:2154 msgid "Online Documentation" msgstr "Documentazione sul web" -#: git-gui.sh:2201 +#: git-gui.sh:2238 #, tcl-format msgid "fatal: cannot stat path %s: No such file or directory" msgstr "" "errore grave: impossibile effettuare lo stat del path %s: file o directory " "non trovata" -#: git-gui.sh:2234 +#: git-gui.sh:2271 msgid "Current Branch:" msgstr "Ramo attuale:" -#: git-gui.sh:2255 +#: git-gui.sh:2292 msgid "Staged Changes (Will Commit)" msgstr "Modifiche preparate (saranno nella nuova revisione)" -#: git-gui.sh:2274 +#: git-gui.sh:2312 msgid "Unstaged Changes" msgstr "Modifiche non preparate" -#: git-gui.sh:2323 +#: git-gui.sh:2362 msgid "Stage Changed" msgstr "Prepara modificati" -#: git-gui.sh:2339 lib/transport.tcl:93 lib/transport.tcl:182 +#: git-gui.sh:2378 lib/transport.tcl:93 lib/transport.tcl:182 msgid "Push" msgstr "Propaga (Push)" -#: git-gui.sh:2369 +#: git-gui.sh:2408 msgid "Initial Commit Message:" msgstr "Messaggio di revisione iniziale:" -#: git-gui.sh:2370 +#: git-gui.sh:2409 msgid "Amended Commit Message:" msgstr "Messaggio di revisione corretto:" -#: git-gui.sh:2371 +#: git-gui.sh:2410 msgid "Amended Initial Commit Message:" msgstr "Messaggio iniziale di revisione corretto:" -#: git-gui.sh:2372 +#: git-gui.sh:2411 msgid "Amended Merge Commit Message:" msgstr "Messaggio di fusione corretto:" -#: git-gui.sh:2373 +#: git-gui.sh:2412 msgid "Merge Commit Message:" msgstr "Messaggio di fusione:" -#: git-gui.sh:2374 +#: git-gui.sh:2413 msgid "Commit Message:" msgstr "Messaggio di revisione:" -#: git-gui.sh:2419 git-gui.sh:2557 lib/console.tcl:71 +#: git-gui.sh:2459 git-gui.sh:2622 lib/console.tcl:73 msgid "Copy All" msgstr "Copia tutto" -#: git-gui.sh:2443 lib/blame.tcl:104 +#: git-gui.sh:2483 lib/blame.tcl:107 msgid "File:" msgstr "File:" -#: git-gui.sh:2545 -msgid "Refresh" -msgstr "Rinfresca" - -#: git-gui.sh:2566 +#: git-gui.sh:2589 msgid "Apply/Reverse Hunk" msgstr "Applica/Inverti sezione" -#: git-gui.sh:2572 -msgid "Decrease Font Size" -msgstr "Diminuisci dimensione caratteri" - -#: git-gui.sh:2576 -msgid "Increase Font Size" -msgstr "Aumenta dimensione caratteri" - -#: git-gui.sh:2581 +#: git-gui.sh:2595 msgid "Show Less Context" msgstr "Mostra meno contesto" -#: git-gui.sh:2588 +#: git-gui.sh:2602 msgid "Show More Context" msgstr "Mostra più contesto" -#: git-gui.sh:2602 +#: git-gui.sh:2610 +msgid "Refresh" +msgstr "Rinfresca" + +#: git-gui.sh:2631 +msgid "Decrease Font Size" +msgstr "Diminuisci dimensione caratteri" + +#: git-gui.sh:2635 +msgid "Increase Font Size" +msgstr "Aumenta dimensione caratteri" + +#: git-gui.sh:2646 msgid "Unstage Hunk From Commit" msgstr "Sezione non preparata per una nuova revisione" -#: git-gui.sh:2604 +#: git-gui.sh:2648 msgid "Stage Hunk For Commit" msgstr "Prepara sezione per una nuova revisione" -#: git-gui.sh:2623 +#: git-gui.sh:2667 msgid "Initializing..." msgstr "Inizializzazione..." -#: git-gui.sh:2718 +#: git-gui.sh:2762 #, tcl-format msgid "" "Possible environment issues exist.\n" @@ -452,7 +452,7 @@ msgstr "" "da %s:\n" "\n" -#: git-gui.sh:2748 +#: git-gui.sh:2792 msgid "" "\n" "This is due to a known issue with the\n" @@ -462,7 +462,7 @@ msgstr "" "Ciò è dovuto a un problema conosciuto\n" "causato dall'eseguibile Tcl distribuito da Cygwin." -#: git-gui.sh:2753 +#: git-gui.sh:2797 #, tcl-format msgid "" "\n" @@ -478,7 +478,7 @@ msgstr "" "consiste nell'assegnare valori alle variabili di configurazione\n" "user.name e user.email nel tuo file ~/.gitconfig personale.\n" -#: lib/about.tcl:25 +#: lib/about.tcl:26 msgid "git-gui - a graphical user interface for Git." msgstr "git-gui - un'interfaccia grafica per Git." @@ -490,56 +490,56 @@ msgstr "Mostra file" msgid "Commit:" msgstr "Revisione:" -#: lib/blame.tcl:249 +#: lib/blame.tcl:264 msgid "Copy Commit" msgstr "Copia revisione" -#: lib/blame.tcl:369 +#: lib/blame.tcl:384 #, tcl-format msgid "Reading %s..." msgstr "Lettura di %s..." -#: lib/blame.tcl:473 +#: lib/blame.tcl:488 msgid "Loading copy/move tracking annotations..." msgstr "Caricamento annotazioni per copie/spostamenti..." -#: lib/blame.tcl:493 +#: lib/blame.tcl:508 msgid "lines annotated" msgstr "linee annotate" -#: lib/blame.tcl:674 +#: lib/blame.tcl:689 msgid "Loading original location annotations..." msgstr "Caricamento annotazioni per posizione originaria..." -#: lib/blame.tcl:677 +#: lib/blame.tcl:692 msgid "Annotation complete." msgstr "Annotazione completata." -#: lib/blame.tcl:731 +#: lib/blame.tcl:746 msgid "Loading annotation..." msgstr "Caricamento annotazioni..." -#: lib/blame.tcl:787 +#: lib/blame.tcl:802 msgid "Author:" msgstr "Autore:" -#: lib/blame.tcl:791 +#: lib/blame.tcl:806 msgid "Committer:" msgstr "Revisione creata da:" -#: lib/blame.tcl:796 +#: lib/blame.tcl:811 msgid "Original File:" msgstr "File originario:" -#: lib/blame.tcl:910 +#: lib/blame.tcl:925 msgid "Originally By:" msgstr "In origine da:" -#: lib/blame.tcl:916 +#: lib/blame.tcl:931 msgid "In File:" msgstr "Nel file:" -#: lib/blame.tcl:921 +#: lib/blame.tcl:936 msgid "Copied Or Moved Here By:" msgstr "Copiato o spostato qui da:" @@ -552,17 +552,17 @@ msgid "Checkout" msgstr "Attiva" #: lib/branch_checkout.tcl:27 lib/branch_create.tcl:35 -#: lib/branch_delete.tcl:32 lib/branch_rename.tcl:30 lib/browser.tcl:281 -#: lib/checkout_op.tcl:522 lib/choose_font.tcl:43 lib/merge.tcl:172 -#: lib/option.tcl:90 lib/remote_branch_delete.tcl:42 lib/transport.tcl:97 +#: lib/branch_delete.tcl:32 lib/branch_rename.tcl:30 lib/browser.tcl:282 +#: lib/checkout_op.tcl:522 lib/choose_font.tcl:43 lib/merge.tcl:171 +#: lib/option.tcl:103 lib/remote_branch_delete.tcl:42 lib/transport.tcl:97 msgid "Cancel" msgstr "Annulla" -#: lib/branch_checkout.tcl:32 lib/browser.tcl:286 +#: lib/branch_checkout.tcl:32 lib/browser.tcl:287 msgid "Revision" msgstr "Revisione" -#: lib/branch_checkout.tcl:36 lib/branch_create.tcl:69 lib/option.tcl:202 +#: lib/branch_checkout.tcl:36 lib/branch_create.tcl:69 lib/option.tcl:242 msgid "Options" msgstr "Opzioni" @@ -582,7 +582,7 @@ msgstr "Crea ramo" msgid "Create New Branch" msgstr "Crea nuovo ramo" -#: lib/branch_create.tcl:31 lib/choose_repository.tcl:375 +#: lib/branch_create.tcl:31 lib/choose_repository.tcl:371 msgid "Create" msgstr "Crea" @@ -723,24 +723,24 @@ msgstr "Avvio in corso..." msgid "File Browser" msgstr "File browser" -#: lib/browser.tcl:125 lib/browser.tcl:142 +#: lib/browser.tcl:126 lib/browser.tcl:143 #, tcl-format msgid "Loading %s..." msgstr "Caricamento %s..." -#: lib/browser.tcl:186 +#: lib/browser.tcl:187 msgid "[Up To Parent]" msgstr "[Directory superiore]" -#: lib/browser.tcl:266 lib/browser.tcl:272 +#: lib/browser.tcl:267 lib/browser.tcl:273 msgid "Browse Branch Files" msgstr "Esplora i file del ramo" -#: lib/browser.tcl:277 lib/choose_repository.tcl:391 -#: lib/choose_repository.tcl:482 lib/choose_repository.tcl:492 -#: lib/choose_repository.tcl:989 +#: lib/browser.tcl:278 lib/choose_repository.tcl:387 +#: lib/choose_repository.tcl:474 lib/choose_repository.tcl:484 +#: lib/choose_repository.tcl:987 msgid "Browse" -msgstr "Sfoglia" +msgstr "Esplora" #: lib/checkout_op.tcl:79 #, tcl-format @@ -752,7 +752,7 @@ msgstr "Recupero %s da %s" msgid "fatal: Cannot resolve %s" msgstr "errore grave: impossibile risolvere %s" -#: lib/checkout_op.tcl:140 lib/console.tcl:79 lib/database.tcl:31 +#: lib/checkout_op.tcl:140 lib/console.tcl:81 lib/database.tcl:31 msgid "Close" msgstr "Chiudi" @@ -811,6 +811,10 @@ msgstr "" msgid "Updating working directory to '%s'..." msgstr "Aggiornamento della directory di lavoro a '%s' in corso..." +#: lib/checkout_op.tcl:323 +msgid "files checked out" +msgstr "file presenti nella directory di lavoro" + #: lib/checkout_op.tcl:353 #, tcl-format msgid "Aborted checkout of '%s' (file level merging is required)." @@ -837,7 +841,7 @@ msgstr "" "Se si vuole rimanere su un ramo, crearne uno ora a partire da 'Questa " "revisione attiva staccata'." -#: lib/checkout_op.tcl:446 +#: lib/checkout_op.tcl:446 lib/checkout_op.tcl:450 #, tcl-format msgid "Checked out '%s'." msgstr "Attivazione di '%s' completata." @@ -857,7 +861,7 @@ msgstr "Ricomporre le revisioni perdute potrebbe non essere semplice." msgid "Reset '%s'?" msgstr "Ripristinare '%s'?" -#: lib/checkout_op.tcl:510 lib/merge.tcl:164 +#: lib/checkout_op.tcl:510 lib/merge.tcl:163 msgid "Visualize" msgstr "Visualizza" @@ -887,246 +891,246 @@ msgstr "Seleziona" msgid "Font Family" msgstr "Famiglia di caratteri" -#: lib/choose_font.tcl:73 +#: lib/choose_font.tcl:74 msgid "Font Size" msgstr "Dimensione caratteri" -#: lib/choose_font.tcl:90 +#: lib/choose_font.tcl:91 msgid "Font Example" msgstr "Esempio caratteri" -#: lib/choose_font.tcl:101 +#: lib/choose_font.tcl:103 msgid "" "This is example text.\n" "If you like this text, it can be your font." msgstr "" "Questo è un testo d'esempio.\n" -"Se ti piace questo testo, può essere il carattere giusto." +"Se ti piace questo testo, scegli questo carattere." -#: lib/choose_repository.tcl:27 +#: lib/choose_repository.tcl:28 msgid "Git Gui" msgstr "Git Gui" -#: lib/choose_repository.tcl:80 lib/choose_repository.tcl:380 +#: lib/choose_repository.tcl:81 lib/choose_repository.tcl:376 msgid "Create New Repository" msgstr "Crea nuovo archivio" -#: lib/choose_repository.tcl:86 +#: lib/choose_repository.tcl:87 msgid "New..." msgstr "Nuovo..." -#: lib/choose_repository.tcl:93 lib/choose_repository.tcl:468 +#: lib/choose_repository.tcl:94 lib/choose_repository.tcl:460 msgid "Clone Existing Repository" msgstr "Clona archivio esistente" -#: lib/choose_repository.tcl:99 +#: lib/choose_repository.tcl:100 msgid "Clone..." msgstr "Clona..." -#: lib/choose_repository.tcl:106 lib/choose_repository.tcl:978 +#: lib/choose_repository.tcl:107 lib/choose_repository.tcl:976 msgid "Open Existing Repository" msgstr "Apri archivio esistente" -#: lib/choose_repository.tcl:112 +#: lib/choose_repository.tcl:113 msgid "Open..." msgstr "Apri..." -#: lib/choose_repository.tcl:125 +#: lib/choose_repository.tcl:126 msgid "Recent Repositories" msgstr "Archivi recenti" -#: lib/choose_repository.tcl:131 +#: lib/choose_repository.tcl:132 msgid "Open Recent Repository:" msgstr "Apri archivio recente:" -#: lib/choose_repository.tcl:294 -#, tcl-format -msgid "Location %s already exists." -msgstr "La posizione %s esiste già ." - -#: lib/choose_repository.tcl:300 lib/choose_repository.tcl:307 -#: lib/choose_repository.tcl:314 +#: lib/choose_repository.tcl:296 lib/choose_repository.tcl:303 +#: lib/choose_repository.tcl:310 #, tcl-format msgid "Failed to create repository %s:" msgstr "Impossibile creare l'archivio %s:" -#: lib/choose_repository.tcl:385 lib/choose_repository.tcl:486 +#: lib/choose_repository.tcl:381 lib/choose_repository.tcl:478 msgid "Directory:" msgstr "Directory:" -#: lib/choose_repository.tcl:415 lib/choose_repository.tcl:544 -#: lib/choose_repository.tcl:1013 +#: lib/choose_repository.tcl:412 lib/choose_repository.tcl:537 +#: lib/choose_repository.tcl:1011 msgid "Git Repository" msgstr "Archivio Git" -#: lib/choose_repository.tcl:430 lib/choose_repository.tcl:437 +#: lib/choose_repository.tcl:437 #, tcl-format msgid "Directory %s already exists." msgstr "La directory %s esiste già ." -#: lib/choose_repository.tcl:442 +#: lib/choose_repository.tcl:441 #, tcl-format msgid "File %s already exists." msgstr "Il file %s esiste già ." -#: lib/choose_repository.tcl:463 +#: lib/choose_repository.tcl:455 msgid "Clone" msgstr "Clona" -#: lib/choose_repository.tcl:476 +#: lib/choose_repository.tcl:468 msgid "URL:" msgstr "URL:" -#: lib/choose_repository.tcl:496 +#: lib/choose_repository.tcl:489 msgid "Clone Type:" msgstr "Tipo di clone:" -#: lib/choose_repository.tcl:502 +#: lib/choose_repository.tcl:495 msgid "Standard (Fast, Semi-Redundant, Hardlinks)" msgstr "Standard (veloce, semi-ridondante, con hardlink)" -#: lib/choose_repository.tcl:508 +#: lib/choose_repository.tcl:501 msgid "Full Copy (Slower, Redundant Backup)" msgstr "Copia completa (più lento, backup ridondante)" -#: lib/choose_repository.tcl:514 +#: lib/choose_repository.tcl:507 msgid "Shared (Fastest, Not Recommended, No Backup)" msgstr "Shared (il più veloce, non raccomandato, nessun backup)" -#: lib/choose_repository.tcl:550 lib/choose_repository.tcl:597 -#: lib/choose_repository.tcl:738 lib/choose_repository.tcl:808 -#: lib/choose_repository.tcl:1019 lib/choose_repository.tcl:1027 +#: lib/choose_repository.tcl:543 lib/choose_repository.tcl:590 +#: lib/choose_repository.tcl:736 lib/choose_repository.tcl:806 +#: lib/choose_repository.tcl:1017 lib/choose_repository.tcl:1025 #, tcl-format msgid "Not a Git repository: %s" msgstr "%s non è un archivio Git." -#: lib/choose_repository.tcl:586 +#: lib/choose_repository.tcl:579 msgid "Standard only available for local repository." msgstr "Standard è disponibile solo per archivi locali." -#: lib/choose_repository.tcl:590 +#: lib/choose_repository.tcl:583 msgid "Shared only available for local repository." msgstr "Shared è disponibile solo per archivi locali." -#: lib/choose_repository.tcl:617 +#: lib/choose_repository.tcl:604 +#, tcl-format +msgid "Location %s already exists." +msgstr "Il file/directory %s esiste già ." + +#: lib/choose_repository.tcl:615 msgid "Failed to configure origin" msgstr "Impossibile configurare origin" -#: lib/choose_repository.tcl:629 +#: lib/choose_repository.tcl:627 msgid "Counting objects" msgstr "Calcolo oggetti" -#: lib/choose_repository.tcl:630 +#: lib/choose_repository.tcl:628 msgid "buckets" msgstr "" -#: lib/choose_repository.tcl:654 +#: lib/choose_repository.tcl:652 #, tcl-format msgid "Unable to copy objects/info/alternates: %s" msgstr "Impossibile copiare oggetti/info/alternate: %s" -#: lib/choose_repository.tcl:690 +#: lib/choose_repository.tcl:688 #, tcl-format msgid "Nothing to clone from %s." msgstr "Niente da clonare da %s." -#: lib/choose_repository.tcl:692 lib/choose_repository.tcl:906 -#: lib/choose_repository.tcl:918 +#: lib/choose_repository.tcl:690 lib/choose_repository.tcl:904 +#: lib/choose_repository.tcl:916 msgid "The 'master' branch has not been initialized." msgstr "Il ramo 'master' non è stato inizializzato." -#: lib/choose_repository.tcl:705 +#: lib/choose_repository.tcl:703 msgid "Hardlinks are unavailable. Falling back to copying." msgstr "Impossibile utilizzare gli hardlink. Si ricorrerà alla copia." -#: lib/choose_repository.tcl:717 +#: lib/choose_repository.tcl:715 #, tcl-format msgid "Cloning from %s" msgstr "Clonazione da %s" -#: lib/choose_repository.tcl:748 +#: lib/choose_repository.tcl:746 msgid "Copying objects" msgstr "Copia degli oggetti" -#: lib/choose_repository.tcl:749 +#: lib/choose_repository.tcl:747 msgid "KiB" msgstr "KiB" -#: lib/choose_repository.tcl:773 +#: lib/choose_repository.tcl:771 #, tcl-format msgid "Unable to copy object: %s" msgstr "Impossibile copiare oggetto: %s" -#: lib/choose_repository.tcl:783 +#: lib/choose_repository.tcl:781 msgid "Linking objects" msgstr "Collegamento oggetti" -#: lib/choose_repository.tcl:784 +#: lib/choose_repository.tcl:782 msgid "objects" msgstr "oggetti" -#: lib/choose_repository.tcl:792 +#: lib/choose_repository.tcl:790 #, tcl-format msgid "Unable to hardlink object: %s" msgstr "Hardlink impossibile sull'oggetto: %s" -#: lib/choose_repository.tcl:847 +#: lib/choose_repository.tcl:845 msgid "Cannot fetch branches and objects. See console output for details." msgstr "" "Impossibile recuperare rami e oggetti. Controllare i dettagli forniti dalla " "console." -#: lib/choose_repository.tcl:858 +#: lib/choose_repository.tcl:856 msgid "Cannot fetch tags. See console output for details." msgstr "" "Impossibile recuperare le etichette. Controllare i dettagli forniti dalla " "console." -#: lib/choose_repository.tcl:882 +#: lib/choose_repository.tcl:880 msgid "Cannot determine HEAD. See console output for details." msgstr "" "Impossibile determinare HEAD. Controllare i dettagli forniti dalla console." -#: lib/choose_repository.tcl:891 +#: lib/choose_repository.tcl:889 #, tcl-format msgid "Unable to cleanup %s" msgstr "Impossibile ripulire %s" -#: lib/choose_repository.tcl:897 +#: lib/choose_repository.tcl:895 msgid "Clone failed." msgstr "Clonazione non riuscita." -#: lib/choose_repository.tcl:904 +#: lib/choose_repository.tcl:902 msgid "No default branch obtained." msgstr "Non è stato trovato un ramo predefinito." -#: lib/choose_repository.tcl:915 +#: lib/choose_repository.tcl:913 #, tcl-format msgid "Cannot resolve %s as a commit." msgstr "Impossibile risolvere %s come una revisione." -#: lib/choose_repository.tcl:927 +#: lib/choose_repository.tcl:925 msgid "Creating working directory" msgstr "Creazione directory di lavoro" -#: lib/choose_repository.tcl:928 lib/index.tcl:65 lib/index.tcl:127 +#: lib/choose_repository.tcl:926 lib/index.tcl:65 lib/index.tcl:127 #: lib/index.tcl:193 msgid "files" msgstr "file" -#: lib/choose_repository.tcl:957 +#: lib/choose_repository.tcl:955 msgid "Initial file checkout failed." msgstr "Attivazione iniziale non riuscita." -#: lib/choose_repository.tcl:973 +#: lib/choose_repository.tcl:971 msgid "Open" msgstr "Apri" -#: lib/choose_repository.tcl:983 +#: lib/choose_repository.tcl:981 msgid "Repository:" msgstr "Archivio:" -#: lib/choose_repository.tcl:1033 +#: lib/choose_repository.tcl:1031 #, tcl-format msgid "Failed to open repository %s:" msgstr "Impossibile accedere all'archivio %s:" @@ -1147,7 +1151,7 @@ msgstr "Ramo locale" msgid "Tracking Branch" msgstr "Duplicato locale di ramo remoto" -#: lib/choose_rev.tcl:84 lib/choose_rev.tcl:537 +#: lib/choose_rev.tcl:84 lib/choose_rev.tcl:538 msgid "Tag" msgstr "Etichetta" @@ -1164,11 +1168,11 @@ msgstr "Nessuna revisione selezionata." msgid "Revision expression is empty." msgstr "L'espressione di revisione è vuota." -#: lib/choose_rev.tcl:530 +#: lib/choose_rev.tcl:531 msgid "Updated" msgstr "Aggiornato" -#: lib/choose_rev.tcl:558 +#: lib/choose_rev.tcl:559 msgid "URL" msgstr "URL" @@ -1268,7 +1272,7 @@ msgid "" "\n" "A good commit message has the following format:\n" "\n" -"- First line: Describe in one sentance what you did.\n" +"- First line: Describe in one sentence what you did.\n" "- Second line: Blank\n" "- Remaining lines: Describe why this change is good.\n" msgstr "" @@ -1280,16 +1284,45 @@ msgstr "" "- Seconda linea: vuota.\n" "- Terza linea: spiega a cosa serve la tua modifica.\n" -#: lib/commit.tcl:257 +#: lib/commit.tcl:207 +#, tcl-format +msgid "warning: Tcl does not support encoding '%s'." +msgstr "attenzione: Tcl non supporta la codifica '%s'." + +#: lib/commit.tcl:221 +msgid "Calling pre-commit hook..." +msgstr "Avvio pre-commit hook..." + +#: lib/commit.tcl:236 +msgid "Commit declined by pre-commit hook." +msgstr "Revisione rifiutata dal pre-commit hook." + +#: lib/commit.tcl:259 +msgid "Calling commit-msg hook..." +msgstr "Avvio commit-msg hook..." + +#: lib/commit.tcl:274 +msgid "Commit declined by commit-msg hook." +msgstr "Revisione rifiutata dal commit-msg hook." + +#: lib/commit.tcl:287 +msgid "Committing changes..." +msgstr "Archiviazione modifiche..." + +#: lib/commit.tcl:303 msgid "write-tree failed:" msgstr "write-tree non riuscito:" -#: lib/commit.tcl:275 +#: lib/commit.tcl:304 lib/commit.tcl:348 lib/commit.tcl:368 +msgid "Commit failed." +msgstr "Impossibile creare una nuova revisione." + +#: lib/commit.tcl:321 #, tcl-format msgid "Commit %s appears to be corrupt" msgstr "La revisione %s sembra essere danneggiata" -#: lib/commit.tcl:279 +#: lib/commit.tcl:326 msgid "" "No changes to commit.\n" "\n" @@ -1303,37 +1336,32 @@ msgstr "" "\n" "Si procederà subito ad una nuova analisi.\n" -#: lib/commit.tcl:286 +#: lib/commit.tcl:333 msgid "No changes to commit." msgstr "Nessuna modifica per la nuova revisione." -#: lib/commit.tcl:303 -#, tcl-format -msgid "warning: Tcl does not support encoding '%s'." -msgstr "attenzione: Tcl non supporta la codifica '%s'." - -#: lib/commit.tcl:317 +#: lib/commit.tcl:347 msgid "commit-tree failed:" msgstr "commit-tree non riuscito:" -#: lib/commit.tcl:339 +#: lib/commit.tcl:367 msgid "update-ref failed:" msgstr "update-ref non riuscito:" -#: lib/commit.tcl:430 +#: lib/commit.tcl:454 #, tcl-format msgid "Created commit %s: %s" msgstr "Creata revisione %s: %s" -#: lib/console.tcl:57 +#: lib/console.tcl:59 msgid "Working... please wait..." msgstr "Elaborazione in corso... attendere..." -#: lib/console.tcl:183 +#: lib/console.tcl:186 msgid "Success" msgstr "Successo" -#: lib/console.tcl:196 +#: lib/console.tcl:200 msgid "Error: Command Failed" msgstr "Errore: comando non riuscito" @@ -1444,23 +1472,23 @@ msgstr "* File binario (il contenuto non sarà mostrato)." msgid "Error loading diff:" msgstr "Errore nel caricamento delle differenze:" -#: lib/diff.tcl:302 +#: lib/diff.tcl:303 msgid "Failed to unstage selected hunk." msgstr "Impossibile rimuovere la sezione scelta dalla nuova revisione." -#: lib/diff.tcl:309 +#: lib/diff.tcl:310 msgid "Failed to stage selected hunk." msgstr "Impossibile preparare la sezione scelta per una nuova revisione." -#: lib/error.tcl:12 lib/error.tcl:102 +#: lib/error.tcl:20 lib/error.tcl:114 msgid "error" msgstr "errore" -#: lib/error.tcl:28 +#: lib/error.tcl:36 msgid "warning" msgstr "attenzione" -#: lib/error.tcl:81 +#: lib/error.tcl:94 msgid "You must correct the above errors before committing." msgstr "" "Bisogna correggere gli errori suddetti prima di creare una nuova revisione." @@ -1494,6 +1522,10 @@ msgstr "Sblocca l'accesso all'indice" msgid "Unstaging %s from commit" msgstr "%s non farà parte della prossima revisione" +#: lib/index.tcl:313 +msgid "Ready to commit." +msgstr "Pronto per creare una nuova revisione." + #: lib/index.tcl:326 #, tcl-format msgid "Adding %s" @@ -1509,13 +1541,13 @@ msgstr "Annullare le modifiche nel file %s?" msgid "Revert changes in these %i files?" msgstr "Annullare le modifiche in questi %i file?" -#: lib/index.tcl:389 +#: lib/index.tcl:391 msgid "Any unstaged changes will be permanently lost by the revert." msgstr "" "Tutte le modifiche non preparate per una nuova revisione saranno perse per " "sempre." -#: lib/index.tcl:392 +#: lib/index.tcl:394 msgid "Do Nothing" msgstr "Non fare niente" @@ -1589,27 +1621,27 @@ msgstr "%s di %s" #: lib/merge.tcl:119 #, tcl-format -msgid "Merging %s and %s" -msgstr "Fusione di %s e %s in corso" +msgid "Merging %s and %s..." +msgstr "Fusione di %s e %s in corso..." -#: lib/merge.tcl:131 +#: lib/merge.tcl:130 msgid "Merge completed successfully." msgstr "Fusione completata con successo." -#: lib/merge.tcl:133 +#: lib/merge.tcl:132 msgid "Merge failed. Conflict resolution is required." msgstr "Fusione non riuscita. Bisogna risolvere i conflitti." -#: lib/merge.tcl:158 +#: lib/merge.tcl:157 #, tcl-format msgid "Merge Into %s" msgstr "Fusione in %s" -#: lib/merge.tcl:177 +#: lib/merge.tcl:176 msgid "Revision To Merge" msgstr "Revisione da fondere" -#: lib/merge.tcl:212 +#: lib/merge.tcl:211 msgid "" "Cannot abort while amending.\n" "\n" @@ -1619,7 +1651,7 @@ msgstr "" "\n" "Bisogna finire di correggere questa revisione.\n" -#: lib/merge.tcl:222 +#: lib/merge.tcl:221 msgid "" "Abort merge?\n" "\n" @@ -1634,7 +1666,7 @@ msgstr "" "\n" "Continuare con l'interruzione della fusione attuale?" -#: lib/merge.tcl:228 +#: lib/merge.tcl:227 msgid "" "Reset changes?\n" "\n" @@ -1649,109 +1681,109 @@ msgstr "" "\n" "Continuare con l'annullamento delle modifiche attuali?" -#: lib/merge.tcl:239 +#: lib/merge.tcl:238 msgid "Aborting" -msgstr "Interruzione in corso" +msgstr "Interruzione" + +#: lib/merge.tcl:238 +msgid "files reset" +msgstr "ripristino file" -#: lib/merge.tcl:266 +#: lib/merge.tcl:265 msgid "Abort failed." msgstr "Interruzione non riuscita." -#: lib/merge.tcl:268 +#: lib/merge.tcl:267 msgid "Abort completed. Ready." msgstr "Interruzione completata. Pronto." -#: lib/option.tcl:82 +#: lib/option.tcl:95 msgid "Restore Defaults" msgstr "Ripristina valori predefiniti" -#: lib/option.tcl:86 +#: lib/option.tcl:99 msgid "Save" msgstr "Salva" -#: lib/option.tcl:96 +#: lib/option.tcl:109 #, tcl-format msgid "%s Repository" msgstr "Archivio di %s" -#: lib/option.tcl:97 +#: lib/option.tcl:110 msgid "Global (All Repositories)" msgstr "Tutti gli archivi" -#: lib/option.tcl:103 +#: lib/option.tcl:116 msgid "User Name" msgstr "Nome utente" -#: lib/option.tcl:104 +#: lib/option.tcl:117 msgid "Email Address" msgstr "Indirizzo Email" -#: lib/option.tcl:106 +#: lib/option.tcl:119 msgid "Summarize Merge Commits" msgstr "Riepilogo nelle revisioni di fusione" -#: lib/option.tcl:107 +#: lib/option.tcl:120 msgid "Merge Verbosity" msgstr "Prolissità della fusione" -#: lib/option.tcl:108 +#: lib/option.tcl:121 msgid "Show Diffstat After Merge" msgstr "Mostra statistiche delle differenze dopo la fusione" -#: lib/option.tcl:110 +#: lib/option.tcl:123 msgid "Trust File Modification Timestamps" msgstr "Fidati delle date di modifica dei file" -#: lib/option.tcl:111 +#: lib/option.tcl:124 msgid "Prune Tracking Branches During Fetch" msgstr "" "Effettua potatura dei duplicati locali di rami remoti durante il recupero" -#: lib/option.tcl:112 +#: lib/option.tcl:125 msgid "Match Tracking Branches" msgstr "Appaia duplicati locali di rami remoti" -#: lib/option.tcl:113 +#: lib/option.tcl:126 msgid "Number of Diff Context Lines" msgstr "Numero di linee di contesto nelle differenze" -#: lib/option.tcl:114 +#: lib/option.tcl:127 +msgid "Commit Message Text Width" +msgstr "Larghezza del messaggio di revisione" + +#: lib/option.tcl:128 msgid "New Branch Name Template" msgstr "Modello per il nome di un nuovo ramo" -#: lib/option.tcl:176 +#: lib/option.tcl:192 +msgid "Spelling Dictionary:" +msgstr "Lingua dizionario:" + +#: lib/option.tcl:216 msgid "Change Font" msgstr "Cambia caratteri" -#: lib/option.tcl:180 +#: lib/option.tcl:220 #, tcl-format msgid "Choose %s" msgstr "Scegli %s" -#: lib/option.tcl:186 +#: lib/option.tcl:226 msgid "pt." msgstr "pt." -#: lib/option.tcl:200 +#: lib/option.tcl:240 msgid "Preferences" msgstr "Preferenze" -#: lib/option.tcl:235 +#: lib/option.tcl:275 msgid "Failed to completely save options:" msgstr "Impossibile salvare completamente le opzioni:" -#: lib/remote.tcl:165 -msgid "Prune from" -msgstr "Effettua potatura da" - -#: lib/remote.tcl:170 -msgid "Fetch from" -msgstr "Recupera da" - -#: lib/remote.tcl:213 -msgid "Push to" -msgstr "Propaga verso" - #: lib/remote_branch_delete.tcl:29 lib/remote_branch_delete.tcl:34 msgid "Delete Remote Branch" msgstr "Cancella ramo remoto" @@ -1836,6 +1868,18 @@ msgstr "Nessun archivio selezionato." msgid "Scanning %s..." msgstr "Analisi in corso %s..." +#: lib/remote.tcl:165 +msgid "Prune from" +msgstr "Effettua potatura da" + +#: lib/remote.tcl:170 +msgid "Fetch from" +msgstr "Recupera da" + +#: lib/remote.tcl:213 +msgid "Push to" +msgstr "Propaga verso" + #: lib/shortcut.tcl:20 lib/shortcut.tcl:61 msgid "Cannot write shortcut:" msgstr "Impossibile scrivere shortcut:" @@ -1844,6 +1888,43 @@ msgstr "Impossibile scrivere shortcut:" msgid "Cannot write icon:" msgstr "Impossibile scrivere icona:" +#: lib/spellcheck.tcl:57 +msgid "Unsupported spell checker" +msgstr "Correttore ortografico non supportato" + +#: lib/spellcheck.tcl:65 +msgid "Spell checking is unavailable" +msgstr "Correzione ortografica indisponibile" + +#: lib/spellcheck.tcl:68 +msgid "Invalid spell checking configuration" +msgstr "La configurazione del correttore ortografico non è valida" + +#: lib/spellcheck.tcl:70 +#, tcl-format +msgid "Reverting dictionary to %s." +msgstr "Il dizionario è stato reimpostato su %s." + +#: lib/spellcheck.tcl:73 +msgid "Spell checker silently failed on startup" +msgstr "Il correttore ortografico ha riportato un errore all'avvio" + +#: lib/spellcheck.tcl:80 +msgid "Unrecognized spell checker" +msgstr "Correttore ortografico sconosciuto" + +#: lib/spellcheck.tcl:180 +msgid "No Suggestions" +msgstr "Nessun suggerimento" + +#: lib/spellcheck.tcl:381 +msgid "Unexpected EOF from spell checker" +msgstr "Il correttore ortografico ha mandato un EOF inaspettato" + +#: lib/spellcheck.tcl:385 +msgid "Spell Checker Failed" +msgstr "Errore nel correttore ortografico" + #: lib/status_bar.tcl:83 #, tcl-format msgid "%s ... %*i of %*i %s (%3i%%)" diff --git a/git-gui/po/ja.po b/git-gui/po/ja.po index e2cf5bdc06..28e6d6246b 100644 --- a/git-gui/po/ja.po +++ b/git-gui/po/ja.po @@ -8,41 +8,41 @@ msgid "" msgstr "" "Project-Id-Version: git-gui\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2007-11-24 10:36+0100\n" -"PO-Revision-Date: 2007-12-05 06:12+0900\n" +"POT-Creation-Date: 2008-03-14 07:18+0100\n" +"PO-Revision-Date: 2008-03-15 20:12+0900\n" "Last-Translator: ã—らã„ã— ãªãªã“ <nanako3@bluebottle.com>\n" "Language-Team: Japanese\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: git-gui.sh:41 git-gui.sh:604 git-gui.sh:618 git-gui.sh:631 git-gui.sh:714 -#: git-gui.sh:733 +#: git-gui.sh:41 git-gui.sh:634 git-gui.sh:648 git-gui.sh:661 git-gui.sh:744 +#: git-gui.sh:763 msgid "git-gui: fatal error" msgstr "git-gui: 致命的ãªã‚¨ãƒ©ãƒ¼" -#: git-gui.sh:565 +#: git-gui.sh:593 #, tcl-format msgid "Invalid font specified in %s:" msgstr "%s ã«ç„¡åŠ¹ãªãƒ•ã‚©ãƒ³ãƒˆãŒæŒ‡å®šã•ã‚Œã¦ã„ã¾ã™:" -#: git-gui.sh:590 +#: git-gui.sh:620 msgid "Main Font" msgstr "主フォント" -#: git-gui.sh:591 +#: git-gui.sh:621 msgid "Diff/Console Font" msgstr "diff/コンソール・フォント" -#: git-gui.sh:605 +#: git-gui.sh:635 msgid "Cannot find git in PATH." msgstr "PATH ä¸ã« git ãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“" -#: git-gui.sh:632 +#: git-gui.sh:662 msgid "Cannot parse Git version string:" msgstr "Git ãƒãƒ¼ã‚¸ãƒ§ãƒ³åãŒç†è§£ã§ãã¾ã›ã‚“:" -#: git-gui.sh:650 +#: git-gui.sh:680 #, tcl-format msgid "" "Git version cannot be determined.\n" @@ -61,79 +61,79 @@ msgstr "" "\n" "'%s' ã¯ãƒãƒ¼ã‚¸ãƒ§ãƒ³ 1.5.0 ã¨æ€ã£ã¦è‰¯ã„ã§ã™ã‹ï¼Ÿ\n" -#: git-gui.sh:888 +#: git-gui.sh:918 msgid "Git directory not found:" msgstr "Git ディレクトリãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“:" -#: git-gui.sh:895 +#: git-gui.sh:925 msgid "Cannot move to top of working directory:" msgstr "作æ¥ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã®æœ€ä¸Šä½ã«ç§»å‹•ã§ãã¾ã›ã‚“" -#: git-gui.sh:902 +#: git-gui.sh:932 msgid "Cannot use funny .git directory:" msgstr "変㪠.git ディレクトリã¯ä½¿ãˆã¾ã›ã‚“" -#: git-gui.sh:907 +#: git-gui.sh:937 msgid "No working directory" msgstr "作æ¥ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªãŒã‚ã‚Šã¾ã›ã‚“" -#: git-gui.sh:1054 +#: git-gui.sh:1084 lib/checkout_op.tcl:283 msgid "Refreshing file status..." msgstr "ファイル状態を更新ã—ã¦ã„ã¾ã™â€¦" -#: git-gui.sh:1119 +#: git-gui.sh:1149 msgid "Scanning for modified files ..." msgstr "変更ã•ã‚ŒãŸãƒ•ã‚¡ã‚¤ãƒ«ã‚’スã‚ャンã—ã¦ã„ã¾ã™â€¦" -#: git-gui.sh:1294 lib/browser.tcl:245 +#: git-gui.sh:1324 lib/browser.tcl:246 msgid "Ready." msgstr "準備完了" -#: git-gui.sh:1560 +#: git-gui.sh:1590 msgid "Unmodified" msgstr "変更無ã—" -#: git-gui.sh:1562 +#: git-gui.sh:1592 msgid "Modified, not staged" msgstr "変更ã‚ã‚Šã€ã‚³ãƒŸãƒƒãƒˆæœªäºˆå®š" -#: git-gui.sh:1563 git-gui.sh:1568 +#: git-gui.sh:1593 git-gui.sh:1598 msgid "Staged for commit" msgstr "コミット予定済" -#: git-gui.sh:1564 git-gui.sh:1569 +#: git-gui.sh:1594 git-gui.sh:1599 msgid "Portions staged for commit" msgstr "部分的ã«ã‚³ãƒŸãƒƒãƒˆäºˆå®šæ¸ˆ" -#: git-gui.sh:1565 git-gui.sh:1570 +#: git-gui.sh:1595 git-gui.sh:1600 msgid "Staged for commit, missing" msgstr "コミット予定済ã€ãƒ•ã‚¡ã‚¤ãƒ«ç„¡ã—" -#: git-gui.sh:1567 +#: git-gui.sh:1597 msgid "Untracked, not staged" msgstr "管ç†å¤–ã€ã‚³ãƒŸãƒƒãƒˆæœªäºˆå®š" -#: git-gui.sh:1572 +#: git-gui.sh:1602 msgid "Missing" msgstr "ファイル無ã—" -#: git-gui.sh:1573 +#: git-gui.sh:1603 msgid "Staged for removal" msgstr "削除予定済" -#: git-gui.sh:1574 +#: git-gui.sh:1604 msgid "Staged for removal, still present" msgstr "削除予定済ã€ãƒ•ã‚¡ã‚¤ãƒ«æœªå‰Šé™¤" -#: git-gui.sh:1576 git-gui.sh:1577 git-gui.sh:1578 git-gui.sh:1579 +#: git-gui.sh:1606 git-gui.sh:1607 git-gui.sh:1608 git-gui.sh:1609 msgid "Requires merge resolution" msgstr "è¦ãƒžãƒ¼ã‚¸è§£æ±º" -#: git-gui.sh:1614 +#: git-gui.sh:1644 msgid "Starting gitk... please wait..." msgstr "gitk ã‚’èµ·å‹•ä¸â€¦ãŠå¾…ã¡ä¸‹ã•ã„…" -#: git-gui.sh:1623 +#: git-gui.sh:1653 #, tcl-format msgid "" "Unable to start gitk:\n" @@ -144,297 +144,297 @@ msgstr "" "\n" "%s ãŒã‚ã‚Šã¾ã›ã‚“" -#: git-gui.sh:1823 lib/choose_repository.tcl:35 +#: git-gui.sh:1860 lib/choose_repository.tcl:36 msgid "Repository" msgstr "リãƒã‚¸ãƒˆãƒª" -#: git-gui.sh:1824 +#: git-gui.sh:1861 msgid "Edit" msgstr "編集" -#: git-gui.sh:1826 lib/choose_rev.tcl:560 +#: git-gui.sh:1863 lib/choose_rev.tcl:561 msgid "Branch" msgstr "ブランãƒ" -#: git-gui.sh:1829 lib/choose_rev.tcl:547 +#: git-gui.sh:1866 lib/choose_rev.tcl:548 msgid "Commit@@noun" msgstr "コミット" -#: git-gui.sh:1832 lib/merge.tcl:121 lib/merge.tcl:150 lib/merge.tcl:168 +#: git-gui.sh:1869 lib/merge.tcl:120 lib/merge.tcl:149 lib/merge.tcl:167 msgid "Merge" msgstr "マージ" -#: git-gui.sh:1833 lib/choose_rev.tcl:556 +#: git-gui.sh:1870 lib/choose_rev.tcl:557 msgid "Remote" msgstr "リモート" -#: git-gui.sh:1842 +#: git-gui.sh:1879 msgid "Browse Current Branch's Files" msgstr "ç¾åœ¨ã®ãƒ–ランãƒã®ãƒ•ã‚¡ã‚¤ãƒ«ã‚’見る" -#: git-gui.sh:1846 +#: git-gui.sh:1883 msgid "Browse Branch Files..." msgstr "ブランãƒã®ãƒ•ã‚¡ã‚¤ãƒ«ã‚’見る…" -#: git-gui.sh:1851 +#: git-gui.sh:1888 msgid "Visualize Current Branch's History" msgstr "ç¾åœ¨ã®ãƒ–ランãƒã®å±¥æ´ã‚’見る" -#: git-gui.sh:1855 +#: git-gui.sh:1892 msgid "Visualize All Branch History" msgstr "å…¨ã¦ã®ãƒ–ランãƒã®å±¥æ´ã‚’見る" -#: git-gui.sh:1862 +#: git-gui.sh:1899 #, tcl-format msgid "Browse %s's Files" msgstr "ブランム%s ã®ãƒ•ã‚¡ã‚¤ãƒ«ã‚’見る" -#: git-gui.sh:1864 +#: git-gui.sh:1901 #, tcl-format msgid "Visualize %s's History" msgstr "ブランム%s ã®å±¥æ´ã‚’見る" -#: git-gui.sh:1869 lib/database.tcl:27 lib/database.tcl:67 +#: git-gui.sh:1906 lib/database.tcl:27 lib/database.tcl:67 msgid "Database Statistics" msgstr "データベース統計" -#: git-gui.sh:1872 lib/database.tcl:34 +#: git-gui.sh:1909 lib/database.tcl:34 msgid "Compress Database" msgstr "データベース圧縮" -#: git-gui.sh:1875 +#: git-gui.sh:1912 msgid "Verify Database" msgstr "データベース検証" -#: git-gui.sh:1882 git-gui.sh:1886 git-gui.sh:1890 lib/shortcut.tcl:7 +#: git-gui.sh:1919 git-gui.sh:1923 git-gui.sh:1927 lib/shortcut.tcl:7 #: lib/shortcut.tcl:39 lib/shortcut.tcl:71 msgid "Create Desktop Icon" msgstr "デスクトップ・アイコンを作る" -#: git-gui.sh:1895 lib/choose_repository.tcl:176 lib/choose_repository.tcl:184 +#: git-gui.sh:1932 lib/choose_repository.tcl:177 lib/choose_repository.tcl:185 msgid "Quit" msgstr "終了" -#: git-gui.sh:1902 +#: git-gui.sh:1939 msgid "Undo" msgstr "å…ƒã«æˆ»ã™" -#: git-gui.sh:1905 +#: git-gui.sh:1942 msgid "Redo" msgstr "ã‚„ã‚Šç›´ã—" -#: git-gui.sh:1909 git-gui.sh:2403 +#: git-gui.sh:1946 git-gui.sh:2443 msgid "Cut" msgstr "切りå–ã‚Š" -#: git-gui.sh:1912 git-gui.sh:2406 git-gui.sh:2477 git-gui.sh:2549 -#: lib/console.tcl:67 +#: git-gui.sh:1949 git-gui.sh:2446 git-gui.sh:2520 git-gui.sh:2614 +#: lib/console.tcl:69 msgid "Copy" msgstr "コピー" -#: git-gui.sh:1915 git-gui.sh:2409 +#: git-gui.sh:1952 git-gui.sh:2449 msgid "Paste" msgstr "貼り付ã‘" -#: git-gui.sh:1918 git-gui.sh:2412 lib/branch_delete.tcl:26 +#: git-gui.sh:1955 git-gui.sh:2452 lib/branch_delete.tcl:26 #: lib/remote_branch_delete.tcl:38 msgid "Delete" msgstr "削除" -#: git-gui.sh:1922 git-gui.sh:2416 git-gui.sh:2553 lib/console.tcl:69 +#: git-gui.sh:1959 git-gui.sh:2456 git-gui.sh:2618 lib/console.tcl:71 msgid "Select All" msgstr "å…¨ã¦é¸æŠž" -#: git-gui.sh:1931 +#: git-gui.sh:1968 msgid "Create..." msgstr "作æˆâ€¦" -#: git-gui.sh:1937 +#: git-gui.sh:1974 msgid "Checkout..." msgstr "ãƒã‚§ãƒƒã‚¯ã‚¢ã‚¦ãƒˆ" -#: git-gui.sh:1943 +#: git-gui.sh:1980 msgid "Rename..." msgstr "åå‰å¤‰æ›´â€¦" -#: git-gui.sh:1948 git-gui.sh:2048 +#: git-gui.sh:1985 git-gui.sh:2085 msgid "Delete..." msgstr "削除…" -#: git-gui.sh:1953 +#: git-gui.sh:1990 msgid "Reset..." msgstr "リセット…" -#: git-gui.sh:1965 git-gui.sh:2350 +#: git-gui.sh:2002 git-gui.sh:2389 msgid "New Commit" msgstr "æ–°è¦ã‚³ãƒŸãƒƒãƒˆ" -#: git-gui.sh:1973 git-gui.sh:2357 +#: git-gui.sh:2010 git-gui.sh:2396 msgid "Amend Last Commit" msgstr "最新コミットを訂æ£" -#: git-gui.sh:1982 git-gui.sh:2317 lib/remote_branch_delete.tcl:99 +#: git-gui.sh:2019 git-gui.sh:2356 lib/remote_branch_delete.tcl:99 msgid "Rescan" msgstr "å†ã‚¹ã‚ャン" -#: git-gui.sh:1988 +#: git-gui.sh:2025 msgid "Stage To Commit" msgstr "コミット予定ã™ã‚‹" -#: git-gui.sh:1994 +#: git-gui.sh:2031 msgid "Stage Changed Files To Commit" msgstr "変更ã•ã‚ŒãŸãƒ•ã‚¡ã‚¤ãƒ«ã‚’コミット予定" -#: git-gui.sh:2000 +#: git-gui.sh:2037 msgid "Unstage From Commit" msgstr "コミットã‹ã‚‰é™ã‚ã™" -#: git-gui.sh:2005 lib/index.tcl:393 +#: git-gui.sh:2042 lib/index.tcl:395 msgid "Revert Changes" msgstr "変更を元ã«æˆ»ã™" -#: git-gui.sh:2012 git-gui.sh:2329 git-gui.sh:2427 +#: git-gui.sh:2049 git-gui.sh:2368 git-gui.sh:2467 msgid "Sign Off" msgstr "ç½²å" -#: git-gui.sh:2016 git-gui.sh:2333 +#: git-gui.sh:2053 git-gui.sh:2372 msgid "Commit@@verb" msgstr "コミット" -#: git-gui.sh:2027 +#: git-gui.sh:2064 msgid "Local Merge..." msgstr "ãƒãƒ¼ã‚«ãƒ«ãƒ»ãƒžãƒ¼ã‚¸â€¦" -#: git-gui.sh:2032 +#: git-gui.sh:2069 msgid "Abort Merge..." msgstr "マージä¸æ¢â€¦" -#: git-gui.sh:2044 +#: git-gui.sh:2081 msgid "Push..." msgstr "プッシュ…" -#: git-gui.sh:2055 lib/choose_repository.tcl:40 +#: git-gui.sh:2092 lib/choose_repository.tcl:41 msgid "Apple" msgstr "ã‚Šã‚“ã”" -#: git-gui.sh:2058 git-gui.sh:2080 lib/about.tcl:13 -#: lib/choose_repository.tcl:43 lib/choose_repository.tcl:49 +#: git-gui.sh:2095 git-gui.sh:2117 lib/about.tcl:14 +#: lib/choose_repository.tcl:44 lib/choose_repository.tcl:50 #, tcl-format msgid "About %s" msgstr "%s ã«ã¤ã„ã¦" -#: git-gui.sh:2062 +#: git-gui.sh:2099 msgid "Preferences..." msgstr "è¨å®šâ€¦" -#: git-gui.sh:2070 git-gui.sh:2595 +#: git-gui.sh:2107 git-gui.sh:2639 msgid "Options..." msgstr "オプション…" -#: git-gui.sh:2076 lib/choose_repository.tcl:46 +#: git-gui.sh:2113 lib/choose_repository.tcl:47 msgid "Help" msgstr "ヘルプ" -#: git-gui.sh:2117 +#: git-gui.sh:2154 msgid "Online Documentation" msgstr "オンライン・ドã‚ュメント" -#: git-gui.sh:2201 +#: git-gui.sh:2238 #, tcl-format msgid "fatal: cannot stat path %s: No such file or directory" msgstr "" "致命的: パス %s ㌠stat ã§ãã¾ã›ã‚“。ãã®ã‚ˆã†ãªãƒ•ã‚¡ã‚¤ãƒ«ã‚„ディレクトリã¯ã‚ã‚Šã¾" "ã›ã‚“" -#: git-gui.sh:2234 +#: git-gui.sh:2271 msgid "Current Branch:" msgstr "ç¾åœ¨ã®ãƒ–ランãƒ" -#: git-gui.sh:2255 +#: git-gui.sh:2292 msgid "Staged Changes (Will Commit)" msgstr "ステージングã•ã‚ŒãŸï¼ˆã‚³ãƒŸãƒƒãƒˆäºˆå®šæ¸ˆã®ï¼‰å¤‰æ›´" -#: git-gui.sh:2274 +#: git-gui.sh:2312 msgid "Unstaged Changes" msgstr "コミット予定ã«å…¥ã£ã¦ã„ãªã„変更" -#: git-gui.sh:2323 +#: git-gui.sh:2362 msgid "Stage Changed" msgstr "変更をコミット予定ã«å…¥ã‚Œã‚‹" -#: git-gui.sh:2339 lib/transport.tcl:93 lib/transport.tcl:182 +#: git-gui.sh:2378 lib/transport.tcl:93 lib/transport.tcl:182 msgid "Push" msgstr "プッシュ" -#: git-gui.sh:2369 +#: git-gui.sh:2408 msgid "Initial Commit Message:" msgstr "最åˆã®ã‚³ãƒŸãƒƒãƒˆãƒ¡ãƒƒã‚»ãƒ¼ã‚¸:" -#: git-gui.sh:2370 +#: git-gui.sh:2409 msgid "Amended Commit Message:" msgstr "訂æ£ã—ãŸã‚³ãƒŸãƒƒãƒˆãƒ¡ãƒƒã‚»ãƒ¼ã‚¸:" -#: git-gui.sh:2371 +#: git-gui.sh:2410 msgid "Amended Initial Commit Message:" msgstr "訂æ£ã—ãŸæœ€åˆã®ã‚³ãƒŸãƒƒãƒˆãƒ¡ãƒƒã‚»ãƒ¼ã‚¸:" -#: git-gui.sh:2372 +#: git-gui.sh:2411 msgid "Amended Merge Commit Message:" msgstr "訂æ£ã—ãŸãƒžãƒ¼ã‚¸ã‚³ãƒŸãƒƒãƒˆãƒ¡ãƒƒã‚»ãƒ¼ã‚¸:" -#: git-gui.sh:2373 +#: git-gui.sh:2412 msgid "Merge Commit Message:" msgstr "マージコミットメッセージ:" -#: git-gui.sh:2374 +#: git-gui.sh:2413 msgid "Commit Message:" msgstr "コミットメッセージ:" -#: git-gui.sh:2419 git-gui.sh:2557 lib/console.tcl:71 +#: git-gui.sh:2459 git-gui.sh:2622 lib/console.tcl:73 msgid "Copy All" msgstr "å…¨ã¦ã‚³ãƒ”ー" -#: git-gui.sh:2443 lib/blame.tcl:104 +#: git-gui.sh:2483 lib/blame.tcl:107 msgid "File:" msgstr "ファイル:" -#: git-gui.sh:2545 -msgid "Refresh" -msgstr "å†èªã¿è¾¼ã¿" - -#: git-gui.sh:2566 +#: git-gui.sh:2589 msgid "Apply/Reverse Hunk" msgstr "パッãƒã‚’é©ç”¨/å–り消ã™" -#: git-gui.sh:2572 -msgid "Decrease Font Size" -msgstr "フォントをå°ã•ã" - -#: git-gui.sh:2576 -msgid "Increase Font Size" -msgstr "フォントを大ãã" - -#: git-gui.sh:2581 +#: git-gui.sh:2595 msgid "Show Less Context" msgstr "文脈を少ãªã" -#: git-gui.sh:2588 +#: git-gui.sh:2602 msgid "Show More Context" msgstr "文脈を多ã" -#: git-gui.sh:2602 +#: git-gui.sh:2610 +msgid "Refresh" +msgstr "å†èªã¿è¾¼ã¿" + +#: git-gui.sh:2631 +msgid "Decrease Font Size" +msgstr "フォントをå°ã•ã" + +#: git-gui.sh:2635 +msgid "Increase Font Size" +msgstr "フォントを大ãã" + +#: git-gui.sh:2646 msgid "Unstage Hunk From Commit" msgstr "パッãƒã‚’コミット予定ã‹ã‚‰å¤–ã™" -#: git-gui.sh:2604 +#: git-gui.sh:2648 msgid "Stage Hunk For Commit" msgstr "パッãƒã‚’コミット予定ã«åŠ ãˆã‚‹" -#: git-gui.sh:2623 +#: git-gui.sh:2667 msgid "Initializing..." msgstr "åˆæœŸåŒ–ã—ã¦ã„ã¾ã™â€¦" -#: git-gui.sh:2718 +#: git-gui.sh:2762 #, tcl-format msgid "" "Possible environment issues exist.\n" @@ -449,7 +449,7 @@ msgstr "" "以下ã®ç’°å¢ƒå¤‰æ•°ã¯ %s ãŒèµ·å‹•ã™ã‚‹ Git サブプãƒã‚»ã‚¹ã«ã‚ˆã£ã¦ç„¡è¦–ã•ã‚Œã‚‹ã§ã—ょã†:\n" "\n" -#: git-gui.sh:2748 +#: git-gui.sh:2792 msgid "" "\n" "This is due to a known issue with the\n" @@ -459,7 +459,7 @@ msgstr "" "ã“れ㯠Cygwin ã§é…布ã•ã‚Œã¦ã„ã‚‹ Tcl ãƒã‚¤ãƒŠãƒªã«\n" "é–¢ã—ã¦ã®æ—¢çŸ¥ã®å•é¡Œã«ã‚ˆã‚Šã¾ã™" -#: git-gui.sh:2753 +#: git-gui.sh:2797 #, tcl-format msgid "" "\n" @@ -474,7 +474,7 @@ msgstr "" "個人的㪠~/.gitconfig ファイル内㧠user.name 㨠user.email ã®å€¤ã‚’è¨å®š\n" "ã™ã‚‹ã®ãŒã€%s ã®è‰¯ã„代用ã¨ãªã‚Šã¾ã™\n" -#: lib/about.tcl:25 +#: lib/about.tcl:26 msgid "git-gui - a graphical user interface for Git." msgstr "Git ã®ã‚°ãƒ©ãƒ•ã‚£ã‚«ãƒ«UI git-gui" @@ -486,56 +486,56 @@ msgstr "ファイルピューワ" msgid "Commit:" msgstr "コミット:" -#: lib/blame.tcl:249 +#: lib/blame.tcl:264 msgid "Copy Commit" msgstr "コミットをコピー" -#: lib/blame.tcl:369 +#: lib/blame.tcl:384 #, tcl-format msgid "Reading %s..." msgstr "%s ã‚’èªã‚“ã§ã„ã¾ã™â€¦" -#: lib/blame.tcl:473 +#: lib/blame.tcl:488 msgid "Loading copy/move tracking annotations..." msgstr "コピー・移動追跡データをèªã‚“ã§ã„ã¾ã™â€¦" -#: lib/blame.tcl:493 +#: lib/blame.tcl:508 msgid "lines annotated" msgstr "行を注釈ã—ã¾ã—ãŸ" -#: lib/blame.tcl:674 +#: lib/blame.tcl:689 msgid "Loading original location annotations..." msgstr "å…ƒä½ç½®è¡Œã®æ³¨é‡ˆãƒ‡ãƒ¼ã‚¿ã‚’èªã‚“ã§ã„ã¾ã™â€¦" -#: lib/blame.tcl:677 +#: lib/blame.tcl:692 msgid "Annotation complete." msgstr "注釈完了ã—ã¾ã—ãŸ" -#: lib/blame.tcl:731 +#: lib/blame.tcl:746 msgid "Loading annotation..." msgstr "注釈をèªã¿è¾¼ã‚“ã§ã„ã¾ã™â€¦" -#: lib/blame.tcl:787 +#: lib/blame.tcl:802 msgid "Author:" msgstr "作者:" -#: lib/blame.tcl:791 +#: lib/blame.tcl:806 msgid "Committer:" msgstr "コミット者:" -#: lib/blame.tcl:796 +#: lib/blame.tcl:811 msgid "Original File:" msgstr "元ファイル" -#: lib/blame.tcl:910 +#: lib/blame.tcl:925 msgid "Originally By:" msgstr "原作者:" -#: lib/blame.tcl:916 +#: lib/blame.tcl:931 msgid "In File:" msgstr "ファイル:" -#: lib/blame.tcl:921 +#: lib/blame.tcl:936 msgid "Copied Or Moved Here By:" msgstr "複写・移動者:" @@ -548,17 +548,17 @@ msgid "Checkout" msgstr "ãƒã‚§ãƒƒã‚¯ã‚¢ã‚¦ãƒˆ" #: lib/branch_checkout.tcl:27 lib/branch_create.tcl:35 -#: lib/branch_delete.tcl:32 lib/branch_rename.tcl:30 lib/browser.tcl:281 -#: lib/checkout_op.tcl:522 lib/choose_font.tcl:43 lib/merge.tcl:172 -#: lib/option.tcl:90 lib/remote_branch_delete.tcl:42 lib/transport.tcl:97 +#: lib/branch_delete.tcl:32 lib/branch_rename.tcl:30 lib/browser.tcl:282 +#: lib/checkout_op.tcl:522 lib/choose_font.tcl:43 lib/merge.tcl:171 +#: lib/option.tcl:103 lib/remote_branch_delete.tcl:42 lib/transport.tcl:97 msgid "Cancel" msgstr "ä¸æ¢" -#: lib/branch_checkout.tcl:32 lib/browser.tcl:286 +#: lib/branch_checkout.tcl:32 lib/browser.tcl:287 msgid "Revision" msgstr "リビジョン" -#: lib/branch_checkout.tcl:36 lib/branch_create.tcl:69 lib/option.tcl:202 +#: lib/branch_checkout.tcl:36 lib/branch_create.tcl:69 lib/option.tcl:242 msgid "Options" msgstr "オプション" @@ -578,7 +578,7 @@ msgstr "ブランãƒã‚’作æˆ" msgid "Create New Branch" msgstr "ブランãƒã‚’æ–°è¦ä½œæˆ" -#: lib/branch_create.tcl:31 lib/choose_repository.tcl:375 +#: lib/branch_create.tcl:31 lib/choose_repository.tcl:371 msgid "Create" msgstr "作æˆ" @@ -718,22 +718,22 @@ msgstr "èµ·å‹•ä¸â€¦" msgid "File Browser" msgstr "ファイル・ブラウザ" -#: lib/browser.tcl:125 lib/browser.tcl:142 +#: lib/browser.tcl:126 lib/browser.tcl:143 #, tcl-format msgid "Loading %s..." msgstr "%s ã‚’ãƒãƒ¼ãƒ‰ä¸â€¦" -#: lib/browser.tcl:186 +#: lib/browser.tcl:187 msgid "[Up To Parent]" msgstr "[上ä½ãƒ•ã‚©ãƒ«ãƒ€ã¸]" -#: lib/browser.tcl:266 lib/browser.tcl:272 +#: lib/browser.tcl:267 lib/browser.tcl:273 msgid "Browse Branch Files" msgstr "ç¾åœ¨ã®ãƒ–ランãƒã®ãƒ•ã‚¡ã‚¤ãƒ«ã‚’見る" -#: lib/browser.tcl:277 lib/choose_repository.tcl:391 -#: lib/choose_repository.tcl:482 lib/choose_repository.tcl:492 -#: lib/choose_repository.tcl:989 +#: lib/browser.tcl:278 lib/choose_repository.tcl:387 +#: lib/choose_repository.tcl:474 lib/choose_repository.tcl:484 +#: lib/choose_repository.tcl:987 msgid "Browse" msgstr "ブラウズ" @@ -747,7 +747,7 @@ msgstr "%s ã‹ã‚‰ %s をフェッãƒã—ã¦ã„ã¾ã™" msgid "fatal: Cannot resolve %s" msgstr "致命的エラー: %s を解決ã§ãã¾ã›ã‚“" -#: lib/checkout_op.tcl:140 lib/console.tcl:79 lib/database.tcl:31 +#: lib/checkout_op.tcl:140 lib/console.tcl:81 lib/database.tcl:31 msgid "Close" msgstr "é–‰ã˜ã‚‹" @@ -804,6 +804,10 @@ msgstr "" msgid "Updating working directory to '%s'..." msgstr "作æ¥ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚’ '%s' ã«æ›´æ–°ã—ã¦ã„ã¾ã™â€¦" +#: lib/checkout_op.tcl:323 +msgid "files checked out" +msgstr "ãƒã‚§ãƒƒã‚¯ã‚¢ã‚¦ãƒˆã•ã‚ŒãŸãƒ•ã‚¡ã‚¤ãƒ«" + #: lib/checkout_op.tcl:353 #, tcl-format msgid "Aborted checkout of '%s' (file level merging is required)." @@ -830,7 +834,7 @@ msgstr "" "ブランãƒä¸Šã«æ»žã¾ã‚ŠãŸã„ã¨ãã¯ã€ã“ã®ã€Œåˆ†é›¢ã•ã‚ŒãŸãƒã‚§ãƒƒã‚¯ã‚¢ã‚¦ãƒˆã€ã‹ã‚‰æ–°è¦ãƒ–ラン" "ãƒã‚’開始ã—ã¦ãã ã•ã„。" -#: lib/checkout_op.tcl:446 +#: lib/checkout_op.tcl:446 lib/checkout_op.tcl:450 #, tcl-format msgid "Checked out '%s'." msgstr "'%s' ã‚’ãƒã‚§ãƒƒã‚¯ã‚¢ã‚¦ãƒˆã—ã¾ã—ãŸ" @@ -849,7 +853,7 @@ msgstr "失ãªã‚ã‚ŒãŸã‚³ãƒŸãƒƒãƒˆã‚’回復ã™ã‚‹ã®ã¯ç°¡å˜ã§ã¯ã‚ã‚Šã¾ã› msgid "Reset '%s'?" msgstr "'%s' をリセットã—ã¾ã™ã‹ï¼Ÿ" -#: lib/checkout_op.tcl:510 lib/merge.tcl:164 +#: lib/checkout_op.tcl:510 lib/merge.tcl:163 msgid "Visualize" msgstr "å¯è¦–化" @@ -877,15 +881,15 @@ msgstr "é¸æŠž" msgid "Font Family" msgstr "フォント・ファミリー" -#: lib/choose_font.tcl:73 +#: lib/choose_font.tcl:74 msgid "Font Size" msgstr "フォントã®å¤§ãã•" -#: lib/choose_font.tcl:90 +#: lib/choose_font.tcl:91 msgid "Font Example" msgstr "フォント・サンプル" -#: lib/choose_font.tcl:101 +#: lib/choose_font.tcl:103 msgid "" "This is example text.\n" "If you like this text, it can be your font." @@ -893,225 +897,225 @@ msgstr "" "ã“ã‚Œã¯ã‚µãƒ³ãƒ—ル文ã§ã™ã€‚\n" "ã“ã®ãƒ•ã‚©ãƒ³ãƒˆãŒæ°—ã«å…¥ã‚Œã°ãŠä½¿ã„ã«ãªã‚Œã¾ã™ã€‚" -#: lib/choose_repository.tcl:27 +#: lib/choose_repository.tcl:28 msgid "Git Gui" msgstr "Git GUI" -#: lib/choose_repository.tcl:80 lib/choose_repository.tcl:380 +#: lib/choose_repository.tcl:81 lib/choose_repository.tcl:376 msgid "Create New Repository" msgstr "æ–°ã—ã„リãƒã‚¸ãƒˆãƒªã‚’作る" -#: lib/choose_repository.tcl:86 +#: lib/choose_repository.tcl:87 msgid "New..." msgstr "æ–°è¦â€¦" -#: lib/choose_repository.tcl:93 lib/choose_repository.tcl:468 +#: lib/choose_repository.tcl:94 lib/choose_repository.tcl:460 msgid "Clone Existing Repository" msgstr "æ—¢å˜ãƒªãƒã‚¸ãƒˆãƒªã‚’複製ã™ã‚‹" -#: lib/choose_repository.tcl:99 +#: lib/choose_repository.tcl:100 msgid "Clone..." msgstr "複製…" -#: lib/choose_repository.tcl:106 lib/choose_repository.tcl:978 +#: lib/choose_repository.tcl:107 lib/choose_repository.tcl:976 msgid "Open Existing Repository" msgstr "æ—¢å˜ãƒªãƒã‚¸ãƒˆãƒªã‚’é–‹ã" -#: lib/choose_repository.tcl:112 +#: lib/choose_repository.tcl:113 msgid "Open..." msgstr "é–‹ã…" -#: lib/choose_repository.tcl:125 +#: lib/choose_repository.tcl:126 msgid "Recent Repositories" msgstr "最近使ã£ãŸãƒªãƒã‚¸ãƒˆãƒª" -#: lib/choose_repository.tcl:131 +#: lib/choose_repository.tcl:132 msgid "Open Recent Repository:" msgstr "最近使ã£ãŸãƒªãƒã‚¸ãƒˆãƒªã‚’é–‹ã" -#: lib/choose_repository.tcl:294 -#, tcl-format -msgid "Location %s already exists." -msgstr "'%s' ã¯æ—¢ã«å˜åœ¨ã—ã¾ã™ã€‚" - -#: lib/choose_repository.tcl:300 lib/choose_repository.tcl:307 -#: lib/choose_repository.tcl:314 +#: lib/choose_repository.tcl:296 lib/choose_repository.tcl:303 +#: lib/choose_repository.tcl:310 #, tcl-format msgid "Failed to create repository %s:" msgstr "リãƒã‚¸ãƒˆãƒª %s を作製ã§ãã¾ã›ã‚“:" -#: lib/choose_repository.tcl:385 lib/choose_repository.tcl:486 +#: lib/choose_repository.tcl:381 lib/choose_repository.tcl:478 msgid "Directory:" msgstr "ディレクトリ:" -#: lib/choose_repository.tcl:415 lib/choose_repository.tcl:544 -#: lib/choose_repository.tcl:1013 +#: lib/choose_repository.tcl:412 lib/choose_repository.tcl:537 +#: lib/choose_repository.tcl:1011 msgid "Git Repository" msgstr "GIT リãƒã‚¸ãƒˆãƒª" -#: lib/choose_repository.tcl:430 lib/choose_repository.tcl:437 +#: lib/choose_repository.tcl:437 #, tcl-format msgid "Directory %s already exists." msgstr "ディレクトリ '%s' ã¯æ—¢ã«å˜åœ¨ã—ã¾ã™ã€‚" -#: lib/choose_repository.tcl:442 +#: lib/choose_repository.tcl:441 #, tcl-format msgid "File %s already exists." msgstr "ファイル '%s' ã¯æ—¢ã«å˜åœ¨ã—ã¾ã™ã€‚" -#: lib/choose_repository.tcl:463 +#: lib/choose_repository.tcl:455 msgid "Clone" msgstr "複製" -#: lib/choose_repository.tcl:476 +#: lib/choose_repository.tcl:468 msgid "URL:" msgstr "URL:" -#: lib/choose_repository.tcl:496 +#: lib/choose_repository.tcl:489 msgid "Clone Type:" msgstr "複製方å¼:" -#: lib/choose_repository.tcl:502 +#: lib/choose_repository.tcl:495 msgid "Standard (Fast, Semi-Redundant, Hardlinks)" msgstr "標準(高速・ä¸å†—長度・ãƒãƒ¼ãƒ‰ãƒªãƒ³ã‚¯)" -#: lib/choose_repository.tcl:508 +#: lib/choose_repository.tcl:501 msgid "Full Copy (Slower, Redundant Backup)" msgstr "全複写(低速・冗長ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—)" -#: lib/choose_repository.tcl:514 +#: lib/choose_repository.tcl:507 msgid "Shared (Fastest, Not Recommended, No Backup)" msgstr "共有(最高速・éžæŽ¨å¥¨ãƒ»ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—ç„¡ã—)" -#: lib/choose_repository.tcl:550 lib/choose_repository.tcl:597 -#: lib/choose_repository.tcl:738 lib/choose_repository.tcl:808 -#: lib/choose_repository.tcl:1019 lib/choose_repository.tcl:1027 +#: lib/choose_repository.tcl:543 lib/choose_repository.tcl:590 +#: lib/choose_repository.tcl:736 lib/choose_repository.tcl:806 +#: lib/choose_repository.tcl:1017 lib/choose_repository.tcl:1025 #, tcl-format msgid "Not a Git repository: %s" msgstr "Git リãƒã‚¸ãƒˆãƒªã§ã¯ã‚ã‚Šã¾ã›ã‚“: %s" -#: lib/choose_repository.tcl:586 +#: lib/choose_repository.tcl:579 msgid "Standard only available for local repository." msgstr "標準方å¼ã¯åŒä¸€è¨ˆç®—機上ã®ãƒªãƒã‚¸ãƒˆãƒªã«ã®ã¿ä½¿ãˆã¾ã™ã€‚" -#: lib/choose_repository.tcl:590 +#: lib/choose_repository.tcl:583 msgid "Shared only available for local repository." msgstr "共有方å¼ã¯åŒä¸€è¨ˆç®—機上ã®ãƒªãƒã‚¸ãƒˆãƒªã«ã®ã¿ä½¿ãˆã¾ã™ã€‚" -#: lib/choose_repository.tcl:617 +#: lib/choose_repository.tcl:604 +#, tcl-format +msgid "Location %s already exists." +msgstr "'%s' ã¯æ—¢ã«å˜åœ¨ã—ã¾ã™ã€‚" + +#: lib/choose_repository.tcl:615 msgid "Failed to configure origin" msgstr "origin ã‚’è¨å®šã§ãã¾ã›ã‚“ã§ã—ãŸ" -#: lib/choose_repository.tcl:629 +#: lib/choose_repository.tcl:627 msgid "Counting objects" msgstr "オブジェクトを数ãˆã¦ã„ã¾ã™" -#: lib/choose_repository.tcl:630 +#: lib/choose_repository.tcl:628 msgid "buckets" msgstr "ãƒã‚±ãƒ„" -#: lib/choose_repository.tcl:654 +#: lib/choose_repository.tcl:652 #, tcl-format msgid "Unable to copy objects/info/alternates: %s" msgstr "objects/info/alternates を複写ã§ãã¾ã›ã‚“: %s" -#: lib/choose_repository.tcl:690 +#: lib/choose_repository.tcl:688 #, tcl-format msgid "Nothing to clone from %s." msgstr "%s ã‹ã‚‰è¤‡è£½ã™ã‚‹å†…容ã¯ã‚ã‚Šã¾ã›ã‚“" -#: lib/choose_repository.tcl:692 lib/choose_repository.tcl:906 -#: lib/choose_repository.tcl:918 +#: lib/choose_repository.tcl:690 lib/choose_repository.tcl:904 +#: lib/choose_repository.tcl:916 msgid "The 'master' branch has not been initialized." msgstr "'master' ブランãƒãŒåˆæœŸåŒ–ã•ã‚Œã¦ã„ã¾ã›ã‚“" -#: lib/choose_repository.tcl:705 +#: lib/choose_repository.tcl:703 msgid "Hardlinks are unavailable. Falling back to copying." msgstr "ãƒãƒ¼ãƒ‰ãƒªãƒ³ã‚¯ãŒä½œã‚Œãªã„ã®ã§ã€ã‚³ãƒ”ーã—ã¾ã™" -#: lib/choose_repository.tcl:717 +#: lib/choose_repository.tcl:715 #, tcl-format msgid "Cloning from %s" msgstr "%s ã‹ã‚‰è¤‡è£½ã—ã¦ã„ã¾ã™" -#: lib/choose_repository.tcl:748 +#: lib/choose_repository.tcl:746 msgid "Copying objects" msgstr "オブジェクトを複写ã—ã¦ã„ã¾ã™" -#: lib/choose_repository.tcl:749 +#: lib/choose_repository.tcl:747 msgid "KiB" msgstr "KiB" -#: lib/choose_repository.tcl:773 +#: lib/choose_repository.tcl:771 #, tcl-format msgid "Unable to copy object: %s" msgstr "オブジェクトを複写ã§ãã¾ã›ã‚“: %s" -#: lib/choose_repository.tcl:783 +#: lib/choose_repository.tcl:781 msgid "Linking objects" msgstr "オブジェクトを連çµã—ã¦ã„ã¾ã™" -#: lib/choose_repository.tcl:784 +#: lib/choose_repository.tcl:782 msgid "objects" msgstr "オブジェクト" -#: lib/choose_repository.tcl:792 +#: lib/choose_repository.tcl:790 #, tcl-format msgid "Unable to hardlink object: %s" msgstr "オブジェクトをãƒãƒ¼ãƒ‰ãƒªãƒ³ã‚¯ã§ãã¾ã›ã‚“: %s" -#: lib/choose_repository.tcl:847 +#: lib/choose_repository.tcl:845 msgid "Cannot fetch branches and objects. See console output for details." msgstr "ブランãƒã‚„オブジェクトをå–å¾—ã§ãã¾ã›ã‚“。コンソール出力を見ã¦ä¸‹ã•ã„" -#: lib/choose_repository.tcl:858 +#: lib/choose_repository.tcl:856 msgid "Cannot fetch tags. See console output for details." msgstr "ã‚¿ã‚°ã‚’å–å¾—ã§ãã¾ã›ã‚“。コンソール出力を見ã¦ä¸‹ã•ã„" -#: lib/choose_repository.tcl:882 +#: lib/choose_repository.tcl:880 msgid "Cannot determine HEAD. See console output for details." msgstr "HEAD を確定ã§ãã¾ã›ã‚“。コンソール出力を見ã¦ä¸‹ã•ã„" -#: lib/choose_repository.tcl:891 +#: lib/choose_repository.tcl:889 #, tcl-format msgid "Unable to cleanup %s" msgstr "%s を掃除ã§ãã¾ã›ã‚“" -#: lib/choose_repository.tcl:897 +#: lib/choose_repository.tcl:895 msgid "Clone failed." msgstr "複写ã«å¤±æ•—ã—ã¾ã—ãŸã€‚" -#: lib/choose_repository.tcl:904 +#: lib/choose_repository.tcl:902 msgid "No default branch obtained." msgstr "デフォールト・ブランãƒãŒå–å¾—ã•ã‚Œã¾ã›ã‚“ã§ã—ãŸ" -#: lib/choose_repository.tcl:915 +#: lib/choose_repository.tcl:913 #, tcl-format msgid "Cannot resolve %s as a commit." msgstr "%s をコミットã¨ã—ã¦è§£é‡ˆã§ãã¾ã›ã‚“" -#: lib/choose_repository.tcl:927 +#: lib/choose_repository.tcl:925 msgid "Creating working directory" msgstr "作æ¥ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚’作æˆã—ã¦ã„ã¾ã™" -#: lib/choose_repository.tcl:928 lib/index.tcl:65 lib/index.tcl:127 +#: lib/choose_repository.tcl:926 lib/index.tcl:65 lib/index.tcl:127 #: lib/index.tcl:193 msgid "files" msgstr "ファイル" -#: lib/choose_repository.tcl:957 +#: lib/choose_repository.tcl:955 msgid "Initial file checkout failed." msgstr "åˆæœŸãƒã‚§ãƒƒã‚¯ã‚¢ã‚¦ãƒˆã«å¤±æ•—ã—ã¾ã—ãŸ" -#: lib/choose_repository.tcl:973 +#: lib/choose_repository.tcl:971 msgid "Open" msgstr "é–‹ã" -#: lib/choose_repository.tcl:983 +#: lib/choose_repository.tcl:981 msgid "Repository:" msgstr "リãƒã‚¸ãƒˆãƒª:" -#: lib/choose_repository.tcl:1033 +#: lib/choose_repository.tcl:1031 #, tcl-format msgid "Failed to open repository %s:" msgstr "リãƒã‚¸ãƒˆãƒª %s ã‚’é–‹ã‘ã¾ã›ã‚“:" @@ -1132,7 +1136,7 @@ msgstr "ãƒãƒ¼ã‚«ãƒ«ãƒ»ãƒ–ランãƒ" msgid "Tracking Branch" msgstr "トラッã‚ング・ブランãƒ" -#: lib/choose_rev.tcl:84 lib/choose_rev.tcl:537 +#: lib/choose_rev.tcl:84 lib/choose_rev.tcl:538 msgid "Tag" msgstr "ã‚¿ã‚°" @@ -1149,11 +1153,11 @@ msgstr "リビジョンãŒæœªé¸æŠžã§ã™ã€‚" msgid "Revision expression is empty." msgstr "リビジョンå¼ãŒç©ºã§ã™ã€‚" -#: lib/choose_rev.tcl:530 +#: lib/choose_rev.tcl:531 msgid "Updated" msgstr "æ›´æ–°ã—ã¾ã—ãŸ" -#: lib/choose_rev.tcl:558 +#: lib/choose_rev.tcl:559 msgid "URL" msgstr "URL" @@ -1262,16 +1266,45 @@ msgstr "" "- 第2行: 空白\n" "- 残りã®è¡Œ: ãªãœã€ã“ã®å¤‰æ›´ãŒè‰¯ã„変更ã‹ã€ã®èª¬æ˜Žã€‚\n" -#: lib/commit.tcl:257 +#: lib/commit.tcl:207 +#, tcl-format +msgid "warning: Tcl does not support encoding '%s'." +msgstr "è¦å‘Š: Tcl ã¯ã‚¨ãƒ³ã‚³ãƒ¼ãƒ‡ã‚£ãƒ³ã‚° '%s' をサãƒãƒ¼ãƒˆã—ã¦ã„ã¾ã›ã‚“" + +#: lib/commit.tcl:221 +msgid "Calling pre-commit hook..." +msgstr "コミットå‰ãƒ•ãƒƒã‚¯ã‚’実行ä¸ãƒ»ãƒ»ãƒ»" + +#: lib/commit.tcl:236 +msgid "Commit declined by pre-commit hook." +msgstr "コミットå‰ãƒ•ãƒƒã‚¯ãŒã‚³ãƒŸãƒƒãƒˆã‚’æ‹’å¦ã—ã¾ã—ãŸ" + +#: lib/commit.tcl:259 +msgid "Calling commit-msg hook..." +msgstr "コミット・メッセージ・フックを実行ä¸ãƒ»ãƒ»ãƒ»" + +#: lib/commit.tcl:274 +msgid "Commit declined by commit-msg hook." +msgstr "コミット・メッセージ・フックãŒã‚³ãƒŸãƒƒãƒˆã‚’æ‹’å¦ã—ã¾ã—ãŸ" + +#: lib/commit.tcl:287 +msgid "Committing changes..." +msgstr "変更点をコミットä¸ãƒ»ãƒ»ãƒ»" + +#: lib/commit.tcl:303 msgid "write-tree failed:" msgstr "write-tree ãŒå¤±æ•—ã—ã¾ã—ãŸ:" -#: lib/commit.tcl:275 +#: lib/commit.tcl:304 lib/commit.tcl:348 lib/commit.tcl:368 +msgid "Commit failed." +msgstr "コミットã«å¤±æ•—ã—ã¾ã—ãŸã€‚" + +#: lib/commit.tcl:321 #, tcl-format msgid "Commit %s appears to be corrupt" msgstr "コミット %s ã¯å£Šã‚Œã¦ã„ã¾ã™" -#: lib/commit.tcl:279 +#: lib/commit.tcl:326 msgid "" "No changes to commit.\n" "\n" @@ -1285,37 +1318,32 @@ msgstr "" "\n" "自動的ã«å†ã‚¹ã‚ャンを開始ã—ã¾ã™ã€‚\n" -#: lib/commit.tcl:286 +#: lib/commit.tcl:333 msgid "No changes to commit." msgstr "コミットã™ã‚‹å¤‰æ›´ãŒã‚ã‚Šã¾ã›ã‚“。" -#: lib/commit.tcl:303 -#, tcl-format -msgid "warning: Tcl does not support encoding '%s'." -msgstr "è¦å‘Š: Tcl ã¯ã‚¨ãƒ³ã‚³ãƒ¼ãƒ‡ã‚£ãƒ³ã‚° '%s' をサãƒãƒ¼ãƒˆã—ã¦ã„ã¾ã›ã‚“" - -#: lib/commit.tcl:317 +#: lib/commit.tcl:347 msgid "commit-tree failed:" msgstr "commit-tree ãŒå¤±æ•—ã—ã¾ã—ãŸ:" -#: lib/commit.tcl:339 +#: lib/commit.tcl:367 msgid "update-ref failed:" msgstr "update-ref ãŒå¤±æ•—ã—ã¾ã—ãŸ:" -#: lib/commit.tcl:430 +#: lib/commit.tcl:454 #, tcl-format msgid "Created commit %s: %s" msgstr "コミット %s を作æˆã—ã¾ã—ãŸ: %s" -#: lib/console.tcl:57 +#: lib/console.tcl:59 msgid "Working... please wait..." msgstr "実行ä¸â€¦ãŠå¾…ã¡ä¸‹ã•ã„…" -#: lib/console.tcl:183 +#: lib/console.tcl:186 msgid "Success" msgstr "æˆåŠŸ" -#: lib/console.tcl:196 +#: lib/console.tcl:200 msgid "Error: Command Failed" msgstr "エラー: コマンドãŒå¤±æ•—ã—ã¾ã—ãŸ" @@ -1425,23 +1453,23 @@ msgstr "* ãƒã‚¤ãƒŠãƒªãƒ•ã‚¡ã‚¤ãƒ«(内容ã¯è¡¨ç¤ºã—ã¾ã›ã‚“)" msgid "Error loading diff:" msgstr "diff ã‚’èªã‚€éš›ã®ã‚¨ãƒ©ãƒ¼ã§ã™:" -#: lib/diff.tcl:302 +#: lib/diff.tcl:303 msgid "Failed to unstage selected hunk." msgstr "é¸æŠžã•ã‚ŒãŸãƒ‘ッãƒã‚’コミット予定ã‹ã‚‰å¤–ã›ã¾ã›ã‚“。" -#: lib/diff.tcl:309 +#: lib/diff.tcl:310 msgid "Failed to stage selected hunk." msgstr "é¸æŠžã•ã‚ŒãŸãƒ‘ッãƒã‚’コミット予定ã«åŠ ãˆã‚‰ã‚Œã¾ã›ã‚“。" -#: lib/error.tcl:12 lib/error.tcl:102 +#: lib/error.tcl:20 lib/error.tcl:114 msgid "error" msgstr "エラー" -#: lib/error.tcl:28 +#: lib/error.tcl:36 msgid "warning" msgstr "è¦å‘Š" -#: lib/error.tcl:81 +#: lib/error.tcl:94 msgid "You must correct the above errors before committing." msgstr "コミットã™ã‚‹å‰ã«ã€ä»¥ä¸Šã®ã‚¨ãƒ©ãƒ¼ã‚’ä¿®æ£ã—ã¦ä¸‹ã•ã„" @@ -1457,7 +1485,9 @@ msgstr "索引エラー" msgid "" "Updating the Git index failed. A rescan will be automatically started to " "resynchronize git-gui." -msgstr "GIT インデックスã®æ›´æ–°ãŒå¤±æ•—ã—ã¾ã—ãŸã€‚git-gui ã¨åŒæœŸã‚’ã¨ã‚‹ãŸã‚ã«å†ã‚¹ã‚ャンã—ã¾ã™ã€‚" +msgstr "" +"GIT インデックスã®æ›´æ–°ãŒå¤±æ•—ã—ã¾ã—ãŸã€‚git-gui ã¨åŒæœŸã‚’ã¨ã‚‹ãŸã‚ã«å†ã‚¹ã‚ャンã—" +"ã¾ã™ã€‚" #: lib/index.tcl:27 msgid "Continue" @@ -1472,6 +1502,10 @@ msgstr "インデックスã®ãƒãƒƒã‚¯è§£é™¤" msgid "Unstaging %s from commit" msgstr "コミットã‹ã‚‰ '%s' ã‚’é™ã‚ã™" +#: lib/index.tcl:313 +msgid "Ready to commit." +msgstr "コミット準備完了" + #: lib/index.tcl:326 #, tcl-format msgid "Adding %s" @@ -1487,11 +1521,11 @@ msgstr "ファイル %s ã«ã—ãŸå¤‰æ›´ã‚’å…ƒã«æˆ»ã—ã¾ã™ã‹ï¼Ÿ" msgid "Revert changes in these %i files?" msgstr "ã“れら %i 個ã®ãƒ•ã‚¡ã‚¤ãƒ«ã«ã—ãŸå¤‰æ›´ã‚’å…ƒã«æˆ»ã—ã¾ã™ã‹ï¼Ÿ" -#: lib/index.tcl:389 +#: lib/index.tcl:391 msgid "Any unstaged changes will be permanently lost by the revert." msgstr "変更を元ã«æˆ»ã™ã¨ã‚³ãƒŸãƒƒãƒˆäºˆå®šã—ã¦ã„ãªã„変更ã¯å…¨ã¦å¤±ã‚ã‚Œã¾ã™ã€‚" -#: lib/index.tcl:392 +#: lib/index.tcl:394 msgid "Do Nothing" msgstr "何もã—ãªã„" @@ -1562,27 +1596,27 @@ msgstr "%s ã® %s ブランãƒ" #: lib/merge.tcl:119 #, tcl-format -msgid "Merging %s and %s" -msgstr "%s 㨠%s をマージã—ã¾ã™" +msgid "Merging %s and %s..." +msgstr "%s 㨠%s をマージä¸ãƒ»ãƒ»ãƒ»" -#: lib/merge.tcl:131 +#: lib/merge.tcl:130 msgid "Merge completed successfully." msgstr "マージãŒå®Œäº†ã—ã¾ã—ãŸ" -#: lib/merge.tcl:133 +#: lib/merge.tcl:132 msgid "Merge failed. Conflict resolution is required." msgstr "マージãŒå¤±æ•—ã—ã¾ã—ãŸã€‚è¡çªã®è§£æ±ºãŒå¿…è¦ã§ã™ã€‚" -#: lib/merge.tcl:158 +#: lib/merge.tcl:157 #, tcl-format msgid "Merge Into %s" msgstr "%s ã«ãƒžãƒ¼ã‚¸" -#: lib/merge.tcl:177 +#: lib/merge.tcl:176 msgid "Revision To Merge" msgstr "マージã™ã‚‹ãƒªãƒ“ジョン" -#: lib/merge.tcl:212 +#: lib/merge.tcl:211 msgid "" "Cannot abort while amending.\n" "\n" @@ -1592,7 +1626,7 @@ msgstr "" "\n" "ã¾ãšä»Šã®ã‚³ãƒŸãƒƒãƒˆè¨‚æ£ã‚’完了ã•ã›ã¦ä¸‹ã•ã„。\n" -#: lib/merge.tcl:222 +#: lib/merge.tcl:221 msgid "" "Abort merge?\n" "\n" @@ -1606,7 +1640,7 @@ msgstr "" "\n" "マージをä¸æ–ã—ã¦ã‚ˆã‚ã—ã„ã§ã™ã‹ï¼Ÿ" -#: lib/merge.tcl:228 +#: lib/merge.tcl:227 msgid "" "Reset changes?\n" "\n" @@ -1620,93 +1654,105 @@ msgstr "" "\n" "リセットã—ã¦ã‚ˆã‚ã—ã„ã§ã™ã‹ï¼Ÿ" -#: lib/merge.tcl:239 +#: lib/merge.tcl:238 msgid "Aborting" msgstr "ä¸æ–ã—ã¦ã„ã¾ã™" -#: lib/merge.tcl:266 +#: lib/merge.tcl:238 +msgid "files reset" +msgstr "リセットã—ãŸãƒ•ã‚¡ã‚¤ãƒ«" + +#: lib/merge.tcl:265 msgid "Abort failed." msgstr "ä¸æ–ã«å¤±æ•—ã—ã¾ã—ãŸã€‚" -#: lib/merge.tcl:268 +#: lib/merge.tcl:267 msgid "Abort completed. Ready." msgstr "ä¸æ–完了。" -#: lib/option.tcl:82 +#: lib/option.tcl:95 msgid "Restore Defaults" msgstr "既定値ã«æˆ»ã™" -#: lib/option.tcl:86 +#: lib/option.tcl:99 msgid "Save" msgstr "ä¿å˜" -#: lib/option.tcl:96 +#: lib/option.tcl:109 #, tcl-format msgid "%s Repository" msgstr "%s リãƒã‚¸ãƒˆãƒª" -#: lib/option.tcl:97 +#: lib/option.tcl:110 msgid "Global (All Repositories)" msgstr "大域(全ã¦ã®ãƒªãƒã‚¸ãƒˆãƒªï¼‰" -#: lib/option.tcl:103 +#: lib/option.tcl:116 msgid "User Name" msgstr "ユーザå" -#: lib/option.tcl:104 +#: lib/option.tcl:117 msgid "Email Address" msgstr "é›»åメールアドレス" -#: lib/option.tcl:106 +#: lib/option.tcl:119 msgid "Summarize Merge Commits" msgstr "マージコミットã®è¦ç´„" -#: lib/option.tcl:107 +#: lib/option.tcl:120 msgid "Merge Verbosity" msgstr "マージã®å†—長度" -#: lib/option.tcl:108 +#: lib/option.tcl:121 msgid "Show Diffstat After Merge" msgstr "マージ後㫠diffstat を表示" -#: lib/option.tcl:110 +#: lib/option.tcl:123 msgid "Trust File Modification Timestamps" msgstr "ãƒ•ã‚¡ã‚¤ãƒ«å¤‰æ›´æ™‚åˆ»ã‚’ä¿¡é ¼ã™ã‚‹" -#: lib/option.tcl:111 +#: lib/option.tcl:124 msgid "Prune Tracking Branches During Fetch" msgstr "フェッãƒä¸ã«ãƒˆãƒ©ãƒƒã‚ングブランãƒã‚’刈る" -#: lib/option.tcl:112 +#: lib/option.tcl:125 msgid "Match Tracking Branches" msgstr "トラッã‚ングブランãƒã‚’åˆã‚ã›ã‚‹" -#: lib/option.tcl:113 +#: lib/option.tcl:126 msgid "Number of Diff Context Lines" msgstr "diff ã®æ–‡è„ˆè¡Œæ•°" -#: lib/option.tcl:114 +#: lib/option.tcl:127 +msgid "Commit Message Text Width" +msgstr "コミットメッセージã®ãƒ†ã‚スト幅" + +#: lib/option.tcl:128 msgid "New Branch Name Template" msgstr "æ–°ã—ã„ブランãƒåã®ãƒ†ãƒ³ãƒ—レート" -#: lib/option.tcl:176 +#: lib/option.tcl:192 +msgid "Spelling Dictionary:" +msgstr "スペルãƒã‚§ãƒƒã‚¯è¾žæ›¸" + +#: lib/option.tcl:216 msgid "Change Font" msgstr "フォントを変更" -#: lib/option.tcl:180 +#: lib/option.tcl:220 #, tcl-format msgid "Choose %s" msgstr "%s ã‚’é¸æŠž" -#: lib/option.tcl:186 +#: lib/option.tcl:226 msgid "pt." msgstr "ãƒã‚¤ãƒ³ãƒˆ" -#: lib/option.tcl:200 +#: lib/option.tcl:240 msgid "Preferences" msgstr "è¨å®š" -#: lib/option.tcl:235 +#: lib/option.tcl:275 msgid "Failed to completely save options:" msgstr "完全ã«ã‚ªãƒ—ションをä¿å˜ã§ãã¾ã›ã‚“:" @@ -1814,6 +1860,43 @@ msgstr "ショートカットãŒæ›¸ã‘ã¾ã›ã‚“:" msgid "Cannot write icon:" msgstr "アイコンãŒæ›¸ã‘ã¾ã›ã‚“:" +#: lib/spellcheck.tcl:57 +msgid "Unsupported spell checker" +msgstr "サãƒãƒ¼ãƒˆã•ã‚Œã¦ã„ãªã„スペルãƒã‚§ãƒƒã‚«ãƒ¼ã§ã™" + +#: lib/spellcheck.tcl:65 +msgid "Spell checking is unavailable" +msgstr "スペルãƒã‚§ãƒƒã‚¯æ©Ÿèƒ½ã¯ä½¿ãˆã¾ã›ã‚“" + +#: lib/spellcheck.tcl:68 +msgid "Invalid spell checking configuration" +msgstr "スペルãƒã‚§ãƒƒã‚¯ã®è¨å®šãŒä¸æ£ã§ã™" + +#: lib/spellcheck.tcl:70 +#, tcl-format +msgid "Reverting dictionary to %s." +msgstr "辞書を %s ã«å·»ã戻ã—ã¾ã™" + +#: lib/spellcheck.tcl:73 +msgid "Spell checker silently failed on startup" +msgstr "スペルãƒã‚§ãƒƒã‚«ãƒ¼ã®èµ·å‹•ã«å¤±æ•—ã—ã¾ã—ãŸ" + +#: lib/spellcheck.tcl:80 +msgid "Unrecognized spell checker" +msgstr "スペルãƒã‚§ãƒƒã‚«ãƒ¼ãŒåˆ¤åˆ¥ã§ãã¾ã›ã‚“" + +#: lib/spellcheck.tcl:180 +msgid "No Suggestions" +msgstr "æ案ãªã—" + +#: lib/spellcheck.tcl:381 +msgid "Unexpected EOF from spell checker" +msgstr "スペルãƒã‚§ãƒƒã‚«ãƒ¼ãŒäºˆæƒ³å¤–ã® EOF ã‚’è¿”ã—ã¾ã—ãŸ" + +#: lib/spellcheck.tcl:385 +msgid "Spell Checker Failed" +msgstr "スペルãƒã‚§ãƒƒã‚¯å¤±æ•—" + #: lib/status_bar.tcl:83 #, tcl-format msgid "%s ... %*i of %*i %s (%3i%%)" @@ -1881,3 +1964,6 @@ msgstr "Thin Pack を使ã†ï¼ˆé…ã„ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯æŽ¥ç¶šï¼‰" #: lib/transport.tcl:168 msgid "Include tags" msgstr "ã‚¿ã‚°ã‚’å«ã‚ã‚‹" + +#~ msgid "Not connected to aspell" +#~ msgstr "aspell ã«æŽ¥ç¶šã—ã¦ã„ã¾ã›ã‚“" diff --git a/git-gui/po/ru.po b/git-gui/po/ru.po index 6727a832ea..db55b3e0a6 100644 --- a/git-gui/po/ru.po +++ b/git-gui/po/ru.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: git-gui\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2007-10-31 21:23+0100\n" +"POT-Creation-Date: 2008-03-14 07:18+0100\n" "PO-Revision-Date: 2007-10-22 22:30-0200\n" "Last-Translator: Alex Riesen <raa.lkml@gmail.com>\n" "Language-Team: Russian Translation <git@vger.kernel.org>\n" @@ -15,33 +15,33 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: git-gui.sh:41 git-gui.sh:597 git-gui.sh:611 git-gui.sh:624 git-gui.sh:707 -#: git-gui.sh:726 +#: git-gui.sh:41 git-gui.sh:634 git-gui.sh:648 git-gui.sh:661 git-gui.sh:744 +#: git-gui.sh:763 msgid "git-gui: fatal error" msgstr "git-gui: критичеÑÐºÐ°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ°" -#: git-gui.sh:558 +#: git-gui.sh:593 #, tcl-format msgid "Invalid font specified in %s:" msgstr "Ð’ %s уÑтановлен неверный шрифт:" -#: git-gui.sh:583 +#: git-gui.sh:620 msgid "Main Font" msgstr "Шрифт интерфейÑа" -#: git-gui.sh:584 +#: git-gui.sh:621 msgid "Diff/Console Font" msgstr "Шрифт конÑоли и изменений (diff)" -#: git-gui.sh:598 +#: git-gui.sh:635 msgid "Cannot find git in PATH." msgstr "git не найден в PATH." -#: git-gui.sh:625 +#: git-gui.sh:662 msgid "Cannot parse Git version string:" msgstr "Ðевозможно раÑпознать Ñтроку верÑии Git: " -#: git-gui.sh:643 +#: git-gui.sh:680 #, tcl-format msgid "" "Git version cannot be determined.\n" @@ -59,79 +59,79 @@ msgstr "" "\n" "ПринÑÑ‚ÑŒ '%s' как верÑию 1.5.0?\n" -#: git-gui.sh:881 +#: git-gui.sh:918 msgid "Git directory not found:" msgstr "Каталог Git не найден:" -#: git-gui.sh:888 +#: git-gui.sh:925 msgid "Cannot move to top of working directory:" msgstr "Ðевозможно перейти к корню рабочего каталога репозиториÑ: " -#: git-gui.sh:895 +#: git-gui.sh:932 msgid "Cannot use funny .git directory:" msgstr "Каталог.git иÑпорчен: " -#: git-gui.sh:900 +#: git-gui.sh:937 msgid "No working directory" msgstr "ОтÑутÑтвует рабочий каталог" -#: git-gui.sh:1047 +#: git-gui.sh:1084 lib/checkout_op.tcl:283 msgid "Refreshing file status..." msgstr "Обновление информации о ÑоÑтоÑнии файлов..." -#: git-gui.sh:1112 +#: git-gui.sh:1149 msgid "Scanning for modified files ..." msgstr "ПоиÑк измененных файлов..." -#: git-gui.sh:1287 lib/browser.tcl:245 +#: git-gui.sh:1324 lib/browser.tcl:246 msgid "Ready." msgstr "Готово." -#: git-gui.sh:1553 +#: git-gui.sh:1590 msgid "Unmodified" msgstr "Ðе изменено" -#: git-gui.sh:1555 +#: git-gui.sh:1592 msgid "Modified, not staged" msgstr "Изменено, не подготовлено" -#: git-gui.sh:1556 git-gui.sh:1561 +#: git-gui.sh:1593 git-gui.sh:1598 msgid "Staged for commit" msgstr "Подготовлено Ð´Ð»Ñ ÑохранениÑ" -#: git-gui.sh:1557 git-gui.sh:1562 +#: git-gui.sh:1594 git-gui.sh:1599 msgid "Portions staged for commit" msgstr "ЧаÑти, подготовленные Ð´Ð»Ñ ÑохранениÑ" -#: git-gui.sh:1558 git-gui.sh:1563 +#: git-gui.sh:1595 git-gui.sh:1600 msgid "Staged for commit, missing" msgstr "Подготовлено Ð´Ð»Ñ ÑохранениÑ, отÑутÑтвует" -#: git-gui.sh:1560 +#: git-gui.sh:1597 msgid "Untracked, not staged" msgstr "Ðе отÑлеживаетÑÑ, не подготовлено" -#: git-gui.sh:1565 +#: git-gui.sh:1602 msgid "Missing" msgstr "ОтÑутÑтвует" -#: git-gui.sh:1566 +#: git-gui.sh:1603 msgid "Staged for removal" msgstr "Подготовлено Ð´Ð»Ñ ÑƒÐ´Ð°Ð»ÐµÐ½Ð¸Ñ" -#: git-gui.sh:1567 +#: git-gui.sh:1604 msgid "Staged for removal, still present" msgstr "Подготовлено Ð´Ð»Ñ ÑƒÐ´Ð°Ð»ÐµÐ½Ð¸Ñ, еще не удалено" -#: git-gui.sh:1569 git-gui.sh:1570 git-gui.sh:1571 git-gui.sh:1572 +#: git-gui.sh:1606 git-gui.sh:1607 git-gui.sh:1608 git-gui.sh:1609 msgid "Requires merge resolution" msgstr "ТребуетÑÑ Ñ€Ð°Ð·Ñ€ÐµÑˆÐµÐ½Ð¸Ðµ конфликта при объединении" -#: git-gui.sh:1607 +#: git-gui.sh:1644 msgid "Starting gitk... please wait..." msgstr "ЗапуÑкаетÑÑ gitk... пожалуйÑта, ждите..." -#: git-gui.sh:1616 +#: git-gui.sh:1653 #, tcl-format msgid "" "Unable to start gitk:\n" @@ -142,295 +142,295 @@ msgstr "" "\n" "%s не ÑущеÑтвует" -#: git-gui.sh:1816 lib/choose_repository.tcl:35 +#: git-gui.sh:1860 lib/choose_repository.tcl:36 msgid "Repository" msgstr "Репозиторий" -#: git-gui.sh:1817 +#: git-gui.sh:1861 msgid "Edit" msgstr "Редактировать" -#: git-gui.sh:1819 lib/choose_rev.tcl:560 +#: git-gui.sh:1863 lib/choose_rev.tcl:561 msgid "Branch" msgstr "Ветвь" -#: git-gui.sh:1822 lib/choose_rev.tcl:547 +#: git-gui.sh:1866 lib/choose_rev.tcl:548 msgid "Commit@@noun" msgstr "СоÑтоÑние" -#: git-gui.sh:1825 lib/merge.tcl:121 lib/merge.tcl:150 lib/merge.tcl:168 +#: git-gui.sh:1869 lib/merge.tcl:120 lib/merge.tcl:149 lib/merge.tcl:167 msgid "Merge" msgstr "Объединить" -#: git-gui.sh:1826 lib/choose_rev.tcl:556 +#: git-gui.sh:1870 lib/choose_rev.tcl:557 msgid "Remote" msgstr "Внешние репозитории" -#: git-gui.sh:1835 +#: git-gui.sh:1879 msgid "Browse Current Branch's Files" msgstr "ПроÑмотреть файлы текущей ветви" -#: git-gui.sh:1839 +#: git-gui.sh:1883 msgid "Browse Branch Files..." msgstr "Показать файлы ветви..." -#: git-gui.sh:1844 +#: git-gui.sh:1888 msgid "Visualize Current Branch's History" msgstr "ИÑÑ‚Ð¾Ñ€Ð¸Ñ Ñ‚ÐµÐºÑƒÑ‰ÐµÐ¹ ветви наглÑдно" -#: git-gui.sh:1848 +#: git-gui.sh:1892 msgid "Visualize All Branch History" msgstr "ИÑÑ‚Ð¾Ñ€Ð¸Ñ Ð²Ñех ветвей наглÑдно" -#: git-gui.sh:1855 +#: git-gui.sh:1899 #, tcl-format msgid "Browse %s's Files" msgstr "Показать файлы ветви %s" -#: git-gui.sh:1857 +#: git-gui.sh:1901 #, tcl-format msgid "Visualize %s's History" msgstr "ИÑÑ‚Ð¾Ñ€Ð¸Ñ Ð²ÐµÑ‚Ð²Ð¸ %s наглÑдно" -#: git-gui.sh:1862 lib/database.tcl:27 lib/database.tcl:67 +#: git-gui.sh:1906 lib/database.tcl:27 lib/database.tcl:67 msgid "Database Statistics" msgstr "СтатиÑтика базы данных" -#: git-gui.sh:1865 lib/database.tcl:34 +#: git-gui.sh:1909 lib/database.tcl:34 msgid "Compress Database" msgstr "Сжать базу данных" -#: git-gui.sh:1868 +#: git-gui.sh:1912 msgid "Verify Database" msgstr "Проверить базу данных" -#: git-gui.sh:1875 git-gui.sh:1879 git-gui.sh:1883 lib/shortcut.tcl:7 +#: git-gui.sh:1919 git-gui.sh:1923 git-gui.sh:1927 lib/shortcut.tcl:7 #: lib/shortcut.tcl:39 lib/shortcut.tcl:71 msgid "Create Desktop Icon" msgstr "Создать Ñрлык на рабочем Ñтоле" -#: git-gui.sh:1888 lib/choose_repository.tcl:176 lib/choose_repository.tcl:184 +#: git-gui.sh:1932 lib/choose_repository.tcl:177 lib/choose_repository.tcl:185 msgid "Quit" msgstr "Выход" -#: git-gui.sh:1895 +#: git-gui.sh:1939 msgid "Undo" msgstr "Отменить" -#: git-gui.sh:1898 +#: git-gui.sh:1942 msgid "Redo" msgstr "Повторить" -#: git-gui.sh:1902 git-gui.sh:2395 +#: git-gui.sh:1946 git-gui.sh:2443 msgid "Cut" msgstr "Вырезать" -#: git-gui.sh:1905 git-gui.sh:2398 git-gui.sh:2469 git-gui.sh:2541 -#: lib/console.tcl:67 +#: git-gui.sh:1949 git-gui.sh:2446 git-gui.sh:2520 git-gui.sh:2614 +#: lib/console.tcl:69 msgid "Copy" msgstr "Копировать" -#: git-gui.sh:1908 git-gui.sh:2401 +#: git-gui.sh:1952 git-gui.sh:2449 msgid "Paste" msgstr "Ð’Ñтавить" -#: git-gui.sh:1911 git-gui.sh:2404 lib/branch_delete.tcl:26 +#: git-gui.sh:1955 git-gui.sh:2452 lib/branch_delete.tcl:26 #: lib/remote_branch_delete.tcl:38 msgid "Delete" msgstr "Удалить" -#: git-gui.sh:1915 git-gui.sh:2408 git-gui.sh:2545 lib/console.tcl:69 +#: git-gui.sh:1959 git-gui.sh:2456 git-gui.sh:2618 lib/console.tcl:71 msgid "Select All" msgstr "Выделить вÑе" -#: git-gui.sh:1924 +#: git-gui.sh:1968 msgid "Create..." msgstr "Создать..." -#: git-gui.sh:1930 +#: git-gui.sh:1974 msgid "Checkout..." msgstr "Перейти..." -#: git-gui.sh:1936 +#: git-gui.sh:1980 msgid "Rename..." msgstr "Переименовать..." -#: git-gui.sh:1941 git-gui.sh:2040 +#: git-gui.sh:1985 git-gui.sh:2085 msgid "Delete..." msgstr "Удалить..." -#: git-gui.sh:1946 +#: git-gui.sh:1990 msgid "Reset..." msgstr "СброÑить..." -#: git-gui.sh:1958 git-gui.sh:2342 +#: git-gui.sh:2002 git-gui.sh:2389 msgid "New Commit" msgstr "Ðовое ÑоÑтоÑние" -#: git-gui.sh:1966 git-gui.sh:2349 +#: git-gui.sh:2010 git-gui.sh:2396 msgid "Amend Last Commit" msgstr "ИÑправить поÑледнее ÑоÑтоÑние" -#: git-gui.sh:1975 git-gui.sh:2309 lib/remote_branch_delete.tcl:99 +#: git-gui.sh:2019 git-gui.sh:2356 lib/remote_branch_delete.tcl:99 msgid "Rescan" msgstr "Перечитать" -#: git-gui.sh:1981 +#: git-gui.sh:2025 msgid "Stage To Commit" msgstr "Подготовить Ð´Ð»Ñ ÑохранениÑ" -#: git-gui.sh:1986 +#: git-gui.sh:2031 msgid "Stage Changed Files To Commit" msgstr "Подготовить измененные файлы Ð´Ð»Ñ ÑохранениÑ" -#: git-gui.sh:1992 +#: git-gui.sh:2037 msgid "Unstage From Commit" msgstr "Убрать из подготовленного" -#: git-gui.sh:1997 lib/index.tcl:393 +#: git-gui.sh:2042 lib/index.tcl:395 msgid "Revert Changes" msgstr "Отменить изменениÑ" -#: git-gui.sh:2004 git-gui.sh:2321 git-gui.sh:2419 +#: git-gui.sh:2049 git-gui.sh:2368 git-gui.sh:2467 msgid "Sign Off" msgstr "ПодпиÑать" -#: git-gui.sh:2008 git-gui.sh:2325 +#: git-gui.sh:2053 git-gui.sh:2372 msgid "Commit@@verb" msgstr "Сохранить" -#: git-gui.sh:2019 +#: git-gui.sh:2064 msgid "Local Merge..." msgstr "Локальное объединение..." -#: git-gui.sh:2024 +#: git-gui.sh:2069 msgid "Abort Merge..." msgstr "Прервать объединение..." -#: git-gui.sh:2036 +#: git-gui.sh:2081 msgid "Push..." msgstr "Отправить..." -#: git-gui.sh:2047 lib/choose_repository.tcl:40 +#: git-gui.sh:2092 lib/choose_repository.tcl:41 msgid "Apple" msgstr "" -#: git-gui.sh:2050 git-gui.sh:2072 lib/about.tcl:13 -#: lib/choose_repository.tcl:43 lib/choose_repository.tcl:49 +#: git-gui.sh:2095 git-gui.sh:2117 lib/about.tcl:14 +#: lib/choose_repository.tcl:44 lib/choose_repository.tcl:50 #, tcl-format msgid "About %s" msgstr "О %s" -#: git-gui.sh:2054 +#: git-gui.sh:2099 msgid "Preferences..." msgstr "ÐаÑтройки..." -#: git-gui.sh:2062 git-gui.sh:2587 +#: git-gui.sh:2107 git-gui.sh:2639 msgid "Options..." msgstr "ÐаÑтройки..." -#: git-gui.sh:2068 lib/choose_repository.tcl:46 +#: git-gui.sh:2113 lib/choose_repository.tcl:47 msgid "Help" msgstr "Помощь" -#: git-gui.sh:2109 +#: git-gui.sh:2154 msgid "Online Documentation" msgstr "Ð”Ð¾ÐºÑƒÐ¼ÐµÐ½Ñ‚Ð°Ñ†Ð¸Ñ Ð² интернете" -#: git-gui.sh:2193 +#: git-gui.sh:2238 #, tcl-format msgid "fatal: cannot stat path %s: No such file or directory" msgstr "критичеÑÐºÐ°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ°: %s: нет такого файла или каталога" -#: git-gui.sh:2226 +#: git-gui.sh:2271 msgid "Current Branch:" msgstr "Ð¢ÐµÐºÑƒÑ‰Ð°Ñ Ð²ÐµÑ‚Ð²ÑŒ:" -#: git-gui.sh:2247 +#: git-gui.sh:2292 msgid "Staged Changes (Will Commit)" msgstr "Подготовлено (будет Ñохранено)" -#: git-gui.sh:2266 +#: git-gui.sh:2312 msgid "Unstaged Changes" msgstr "Изменено (не будет Ñохранено)" -#: git-gui.sh:2315 +#: git-gui.sh:2362 msgid "Stage Changed" msgstr "Подготовить вÑе" -#: git-gui.sh:2331 lib/transport.tcl:93 lib/transport.tcl:182 +#: git-gui.sh:2378 lib/transport.tcl:93 lib/transport.tcl:182 msgid "Push" msgstr "Отправить" -#: git-gui.sh:2361 +#: git-gui.sh:2408 msgid "Initial Commit Message:" msgstr "Комментарий к первому ÑоÑтоÑнию:" -#: git-gui.sh:2362 +#: git-gui.sh:2409 msgid "Amended Commit Message:" msgstr "Комментарий к иÑправленному ÑоÑтоÑнию:" -#: git-gui.sh:2363 +#: git-gui.sh:2410 msgid "Amended Initial Commit Message:" msgstr "Комментарий к иÑправленному первоначальному ÑоÑтоÑнию:" -#: git-gui.sh:2364 +#: git-gui.sh:2411 msgid "Amended Merge Commit Message:" msgstr "Комментарий к иÑправленному объединению:" -#: git-gui.sh:2365 +#: git-gui.sh:2412 msgid "Merge Commit Message:" msgstr "Комментарий к объединению:" -#: git-gui.sh:2366 +#: git-gui.sh:2413 msgid "Commit Message:" msgstr "Комментарий к ÑоÑтоÑнию:" -#: git-gui.sh:2411 git-gui.sh:2549 lib/console.tcl:71 +#: git-gui.sh:2459 git-gui.sh:2622 lib/console.tcl:73 msgid "Copy All" msgstr "Копировать вÑе" -#: git-gui.sh:2435 lib/blame.tcl:104 +#: git-gui.sh:2483 lib/blame.tcl:107 msgid "File:" msgstr "Файл:" -#: git-gui.sh:2537 -msgid "Refresh" -msgstr "Обновить" - -#: git-gui.sh:2558 +#: git-gui.sh:2589 msgid "Apply/Reverse Hunk" msgstr "Применить/Убрать изменение" -#: git-gui.sh:2564 -msgid "Decrease Font Size" -msgstr "Уменьшить размер шрифта" - -#: git-gui.sh:2568 -msgid "Increase Font Size" -msgstr "Увеличить размер шрифта" - -#: git-gui.sh:2573 +#: git-gui.sh:2595 msgid "Show Less Context" msgstr "Меньше контекÑта" -#: git-gui.sh:2580 +#: git-gui.sh:2602 msgid "Show More Context" msgstr "Больше контекÑта" -#: git-gui.sh:2594 +#: git-gui.sh:2610 +msgid "Refresh" +msgstr "Обновить" + +#: git-gui.sh:2631 +msgid "Decrease Font Size" +msgstr "Уменьшить размер шрифта" + +#: git-gui.sh:2635 +msgid "Increase Font Size" +msgstr "Увеличить размер шрифта" + +#: git-gui.sh:2646 msgid "Unstage Hunk From Commit" msgstr "Ðе ÑохранÑÑ‚ÑŒ чаÑÑ‚ÑŒ" -#: git-gui.sh:2596 +#: git-gui.sh:2648 msgid "Stage Hunk For Commit" msgstr "Подготовить чаÑÑ‚ÑŒ Ð´Ð»Ñ ÑохранениÑ" -#: git-gui.sh:2615 +#: git-gui.sh:2667 msgid "Initializing..." msgstr "ИнициализациÑ..." -#: git-gui.sh:2706 +#: git-gui.sh:2762 #, tcl-format msgid "" "Possible environment issues exist.\n" @@ -447,7 +447,7 @@ msgstr "" "запущенными из %s\n" "\n" -#: git-gui.sh:2736 +#: git-gui.sh:2792 msgid "" "\n" "This is due to a known issue with the\n" @@ -457,7 +457,7 @@ msgstr "" "Ðто извеÑÑ‚Ð½Ð°Ñ Ð¿Ñ€Ð¾Ð±Ð»ÐµÐ¼Ð° Ñ Tcl,\n" "раÑпроÑтранÑемым Cygwin." -#: git-gui.sh:2741 +#: git-gui.sh:2797 #, tcl-format msgid "" "\n" @@ -474,7 +474,7 @@ msgstr "" "user.email в Вашем перÑональном\n" "файле ~/.gitconfig.\n" -#: lib/about.tcl:25 +#: lib/about.tcl:26 msgid "git-gui - a graphical user interface for Git." msgstr "git-gui - графичеÑкий пользовательÑкий Ð¸Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ Ðº Git." @@ -486,56 +486,56 @@ msgstr "ПроÑмотр файла" msgid "Commit:" msgstr "Сохраненное ÑоÑтоÑние:" -#: lib/blame.tcl:249 +#: lib/blame.tcl:264 msgid "Copy Commit" msgstr "Скопировать SHA-1" -#: lib/blame.tcl:369 +#: lib/blame.tcl:384 #, tcl-format msgid "Reading %s..." msgstr "Чтение %s..." -#: lib/blame.tcl:473 +#: lib/blame.tcl:488 msgid "Loading copy/move tracking annotations..." msgstr "Загрузка аннотации копирований/переименований..." -#: lib/blame.tcl:493 +#: lib/blame.tcl:508 msgid "lines annotated" msgstr "Ñтрок прокомментировано" -#: lib/blame.tcl:674 +#: lib/blame.tcl:689 msgid "Loading original location annotations..." msgstr "Загрузка аннотаций первоначального Ð¿Ð¾Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ð¾Ð±ÑŠÐµÐºÑ‚Ð°..." -#: lib/blame.tcl:677 +#: lib/blame.tcl:692 msgid "Annotation complete." msgstr "ÐÐ½Ð½Ð¾Ñ‚Ð°Ñ†Ð¸Ñ Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð°." -#: lib/blame.tcl:731 +#: lib/blame.tcl:746 msgid "Loading annotation..." msgstr "Загрузка аннотации..." -#: lib/blame.tcl:787 +#: lib/blame.tcl:802 msgid "Author:" msgstr "Ðвтор:" -#: lib/blame.tcl:791 +#: lib/blame.tcl:806 msgid "Committer:" msgstr "Сохранил:" -#: lib/blame.tcl:796 +#: lib/blame.tcl:811 msgid "Original File:" msgstr "ИÑходный файл:" -#: lib/blame.tcl:910 +#: lib/blame.tcl:925 msgid "Originally By:" msgstr "ИÑточник:" -#: lib/blame.tcl:916 +#: lib/blame.tcl:931 msgid "In File:" msgstr "Файл:" -#: lib/blame.tcl:921 +#: lib/blame.tcl:936 msgid "Copied Or Moved Here By:" msgstr "Скопировано/перемещено в:" @@ -548,17 +548,17 @@ msgid "Checkout" msgstr "Перейти" #: lib/branch_checkout.tcl:27 lib/branch_create.tcl:35 -#: lib/branch_delete.tcl:32 lib/branch_rename.tcl:30 lib/browser.tcl:281 -#: lib/checkout_op.tcl:522 lib/choose_font.tcl:43 lib/merge.tcl:172 -#: lib/option.tcl:90 lib/remote_branch_delete.tcl:42 lib/transport.tcl:97 +#: lib/branch_delete.tcl:32 lib/branch_rename.tcl:30 lib/browser.tcl:282 +#: lib/checkout_op.tcl:522 lib/choose_font.tcl:43 lib/merge.tcl:171 +#: lib/option.tcl:103 lib/remote_branch_delete.tcl:42 lib/transport.tcl:97 msgid "Cancel" msgstr "Отменить" -#: lib/branch_checkout.tcl:32 lib/browser.tcl:286 +#: lib/branch_checkout.tcl:32 lib/browser.tcl:287 msgid "Revision" msgstr "ВерÑиÑ" -#: lib/branch_checkout.tcl:36 lib/branch_create.tcl:69 lib/option.tcl:202 +#: lib/branch_checkout.tcl:36 lib/branch_create.tcl:69 lib/option.tcl:242 msgid "Options" msgstr "ÐаÑтройки" @@ -578,7 +578,7 @@ msgstr "Создание ветви" msgid "Create New Branch" msgstr "Создать новую ветвь" -#: lib/branch_create.tcl:31 lib/choose_repository.tcl:375 +#: lib/branch_create.tcl:31 lib/choose_repository.tcl:371 msgid "Create" msgstr "Создать" @@ -718,22 +718,22 @@ msgstr "ЗапуÑк..." msgid "File Browser" msgstr "ПроÑмотр ÑпиÑка файлов" -#: lib/browser.tcl:125 lib/browser.tcl:142 +#: lib/browser.tcl:126 lib/browser.tcl:143 #, tcl-format msgid "Loading %s..." msgstr "Загрузка %s..." -#: lib/browser.tcl:186 +#: lib/browser.tcl:187 msgid "[Up To Parent]" msgstr "[Ðа уровень выше]" -#: lib/browser.tcl:266 lib/browser.tcl:272 +#: lib/browser.tcl:267 lib/browser.tcl:273 msgid "Browse Branch Files" msgstr "Показать файлы ветви" -#: lib/browser.tcl:277 lib/choose_repository.tcl:391 -#: lib/choose_repository.tcl:482 lib/choose_repository.tcl:492 -#: lib/choose_repository.tcl:989 +#: lib/browser.tcl:278 lib/choose_repository.tcl:387 +#: lib/choose_repository.tcl:474 lib/choose_repository.tcl:484 +#: lib/choose_repository.tcl:987 msgid "Browse" msgstr "Показать" @@ -747,7 +747,7 @@ msgstr "Получение %s из %s " msgid "fatal: Cannot resolve %s" msgstr "критичеÑÐºÐ°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ°: невозможно разрешить %s" -#: lib/checkout_op.tcl:140 lib/console.tcl:79 lib/database.tcl:31 +#: lib/checkout_op.tcl:140 lib/console.tcl:81 lib/database.tcl:31 msgid "Close" msgstr "Закрыть" @@ -804,6 +804,10 @@ msgstr "" msgid "Updating working directory to '%s'..." msgstr "Обновление рабочего каталога из '%s'..." +#: lib/checkout_op.tcl:323 +msgid "files checked out" +msgstr "файлы извлечены" + #: lib/checkout_op.tcl:353 #, tcl-format msgid "Aborted checkout of '%s' (file level merging is required)." @@ -830,7 +834,7 @@ msgstr "" "ЕÑли вы хотите Ñнова вернутьÑÑ Ðº какой-нибудь ветви, Ñоздайте ее ÑейчаÑ, " "Ð½Ð°Ñ‡Ð¸Ð½Ð°Ñ Ñ 'Текущего отÑоединенного ÑоÑтоÑниÑ'." -#: lib/checkout_op.tcl:446 +#: lib/checkout_op.tcl:446 lib/checkout_op.tcl:450 #, tcl-format msgid "Checked out '%s'." msgstr "Ветвь '%s' Ñделана текущей." @@ -849,7 +853,7 @@ msgstr "ВоÑÑтановить потерÑнные Ñохраненные ÑÐ msgid "Reset '%s'?" msgstr "СброÑить '%s'?" -#: lib/checkout_op.tcl:510 lib/merge.tcl:164 +#: lib/checkout_op.tcl:510 lib/merge.tcl:163 msgid "Visualize" msgstr "ÐаглÑдно" @@ -878,15 +882,15 @@ msgstr "Выбрать" msgid "Font Family" msgstr "Шрифт" -#: lib/choose_font.tcl:73 +#: lib/choose_font.tcl:74 msgid "Font Size" msgstr "Размер шрифта" -#: lib/choose_font.tcl:90 +#: lib/choose_font.tcl:91 msgid "Font Example" msgstr "Пример текÑта" -#: lib/choose_font.tcl:101 +#: lib/choose_font.tcl:103 msgid "" "This is example text.\n" "If you like this text, it can be your font." @@ -894,226 +898,226 @@ msgstr "" "Ðто пример текÑта.\n" "ЕÑли Вам нравитÑÑ Ñтот текÑÑ‚, Ñто может быть Ваш шрифт." -#: lib/choose_repository.tcl:27 +#: lib/choose_repository.tcl:28 msgid "Git Gui" msgstr "" -#: lib/choose_repository.tcl:80 lib/choose_repository.tcl:380 +#: lib/choose_repository.tcl:81 lib/choose_repository.tcl:376 msgid "Create New Repository" msgstr "Создать новый репозиторий" -#: lib/choose_repository.tcl:86 +#: lib/choose_repository.tcl:87 msgid "New..." msgstr "Ðовый..." -#: lib/choose_repository.tcl:93 lib/choose_repository.tcl:468 +#: lib/choose_repository.tcl:94 lib/choose_repository.tcl:460 msgid "Clone Existing Repository" msgstr "Склонировать ÑущеÑтвующий репозиторий" -#: lib/choose_repository.tcl:99 +#: lib/choose_repository.tcl:100 msgid "Clone..." msgstr "Склонировать..." -#: lib/choose_repository.tcl:106 lib/choose_repository.tcl:978 +#: lib/choose_repository.tcl:107 lib/choose_repository.tcl:976 msgid "Open Existing Repository" msgstr "Выбрать ÑущеÑтвующий репозиторий" -#: lib/choose_repository.tcl:112 +#: lib/choose_repository.tcl:113 msgid "Open..." msgstr "Открыть..." -#: lib/choose_repository.tcl:125 +#: lib/choose_repository.tcl:126 msgid "Recent Repositories" msgstr "Ðедавние репозитории" -#: lib/choose_repository.tcl:131 +#: lib/choose_repository.tcl:132 msgid "Open Recent Repository:" msgstr "Открыть поÑледний репозиторий" -#: lib/choose_repository.tcl:294 -#, tcl-format -msgid "Location %s already exists." -msgstr "Путь '%s' уже ÑущеÑтвует." - -#: lib/choose_repository.tcl:300 lib/choose_repository.tcl:307 -#: lib/choose_repository.tcl:314 +#: lib/choose_repository.tcl:296 lib/choose_repository.tcl:303 +#: lib/choose_repository.tcl:310 #, tcl-format msgid "Failed to create repository %s:" msgstr "Ðе удалоÑÑŒ Ñоздать репозиторий %s:" -#: lib/choose_repository.tcl:385 lib/choose_repository.tcl:486 +#: lib/choose_repository.tcl:381 lib/choose_repository.tcl:478 msgid "Directory:" msgstr "Каталог:" -#: lib/choose_repository.tcl:415 lib/choose_repository.tcl:544 -#: lib/choose_repository.tcl:1013 +#: lib/choose_repository.tcl:412 lib/choose_repository.tcl:537 +#: lib/choose_repository.tcl:1011 msgid "Git Repository" msgstr "Репозиторий" -#: lib/choose_repository.tcl:430 lib/choose_repository.tcl:437 +#: lib/choose_repository.tcl:437 #, tcl-format msgid "Directory %s already exists." msgstr "Каталог '%s' уже ÑущеÑтвует." -#: lib/choose_repository.tcl:442 +#: lib/choose_repository.tcl:441 #, tcl-format msgid "File %s already exists." msgstr "Файл '%s' уже ÑущеÑтвует." -#: lib/choose_repository.tcl:463 +#: lib/choose_repository.tcl:455 msgid "Clone" msgstr "Склонировать" -#: lib/choose_repository.tcl:476 +#: lib/choose_repository.tcl:468 msgid "URL:" msgstr "СÑылка:" -#: lib/choose_repository.tcl:496 +#: lib/choose_repository.tcl:489 msgid "Clone Type:" msgstr "Тип клона:" -#: lib/choose_repository.tcl:502 +#: lib/choose_repository.tcl:495 msgid "Standard (Fast, Semi-Redundant, Hardlinks)" msgstr "Стандартный (БыÑтрый, полуизбыточный, \"жеÑткие\" ÑÑылки)" -#: lib/choose_repository.tcl:508 +#: lib/choose_repository.tcl:501 msgid "Full Copy (Slower, Redundant Backup)" msgstr "ÐŸÐ¾Ð»Ð½Ð°Ñ ÐºÐ¾Ð¿Ð¸Ñ (Медленный, Ñоздает резервную копию)" -#: lib/choose_repository.tcl:514 +#: lib/choose_repository.tcl:507 msgid "Shared (Fastest, Not Recommended, No Backup)" msgstr "Общий (Самый быÑтрый, не рекомендуетÑÑ, без резервной копии)" -#: lib/choose_repository.tcl:550 lib/choose_repository.tcl:597 -#: lib/choose_repository.tcl:738 lib/choose_repository.tcl:808 -#: lib/choose_repository.tcl:1019 lib/choose_repository.tcl:1027 +#: lib/choose_repository.tcl:543 lib/choose_repository.tcl:590 +#: lib/choose_repository.tcl:736 lib/choose_repository.tcl:806 +#: lib/choose_repository.tcl:1017 lib/choose_repository.tcl:1025 #, tcl-format msgid "Not a Git repository: %s" msgstr "Каталог не ÑвлÑетÑÑ Ñ€ÐµÐ¿Ð¾Ð·Ð¸Ñ‚Ð¾Ñ€Ð¸ÐµÐ¼: %s" -#: lib/choose_repository.tcl:586 +#: lib/choose_repository.tcl:579 msgid "Standard only available for local repository." msgstr "Стандартный клон возможен только Ð´Ð»Ñ Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ð¾Ð³Ð¾ репозиториÑ." -#: lib/choose_repository.tcl:590 +#: lib/choose_repository.tcl:583 msgid "Shared only available for local repository." msgstr "Общий клон возможен только Ð´Ð»Ñ Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ð¾Ð³Ð¾ репозиториÑ." -#: lib/choose_repository.tcl:617 +#: lib/choose_repository.tcl:604 +#, tcl-format +msgid "Location %s already exists." +msgstr "Путь '%s' уже ÑущеÑтвует." + +#: lib/choose_repository.tcl:615 msgid "Failed to configure origin" msgstr "Ðе могу Ñконфигурировать иÑходный репозиторий." -#: lib/choose_repository.tcl:629 +#: lib/choose_repository.tcl:627 msgid "Counting objects" msgstr "Считаю объекты" -#: lib/choose_repository.tcl:630 +#: lib/choose_repository.tcl:628 msgid "buckets" msgstr "" -#: lib/choose_repository.tcl:654 +#: lib/choose_repository.tcl:652 #, tcl-format msgid "Unable to copy objects/info/alternates: %s" msgstr "Ðе могу Ñкопировать objects/info/alternates: %s" -#: lib/choose_repository.tcl:690 +#: lib/choose_repository.tcl:688 #, tcl-format msgid "Nothing to clone from %s." msgstr "Ðечего клонировать Ñ %s." -#: lib/choose_repository.tcl:692 lib/choose_repository.tcl:906 -#: lib/choose_repository.tcl:918 +#: lib/choose_repository.tcl:690 lib/choose_repository.tcl:904 +#: lib/choose_repository.tcl:916 msgid "The 'master' branch has not been initialized." msgstr "Ðе инициализирована ветвь 'master'." -#: lib/choose_repository.tcl:705 +#: lib/choose_repository.tcl:703 msgid "Hardlinks are unavailable. Falling back to copying." msgstr "\"ЖеÑткие ÑÑылки\" не доÑтупны. Буду иÑпользовать копирование." -#: lib/choose_repository.tcl:717 +#: lib/choose_repository.tcl:715 #, tcl-format msgid "Cloning from %s" msgstr "Клонирование %s" -#: lib/choose_repository.tcl:748 +#: lib/choose_repository.tcl:746 msgid "Copying objects" msgstr "Копирование objects" -#: lib/choose_repository.tcl:749 +#: lib/choose_repository.tcl:747 msgid "KiB" msgstr "КБ" -#: lib/choose_repository.tcl:773 +#: lib/choose_repository.tcl:771 #, tcl-format msgid "Unable to copy object: %s" msgstr "Ðе могу Ñкопировать объект: %s" -#: lib/choose_repository.tcl:783 +#: lib/choose_repository.tcl:781 msgid "Linking objects" msgstr "Создание ÑÑылок на objects" -#: lib/choose_repository.tcl:784 +#: lib/choose_repository.tcl:782 msgid "objects" msgstr "объекты" -#: lib/choose_repository.tcl:792 +#: lib/choose_repository.tcl:790 #, tcl-format msgid "Unable to hardlink object: %s" msgstr "Ðе могу \"жеÑтко ÑвÑзать\" объект: %s" -#: lib/choose_repository.tcl:847 +#: lib/choose_repository.tcl:845 msgid "Cannot fetch branches and objects. See console output for details." msgstr "" "Ðе могу получить ветви и объекты. Ð”Ð¾Ð¿Ð¾Ð»Ð½Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð°Ñ Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð½Ð° конÑоли." -#: lib/choose_repository.tcl:858 +#: lib/choose_repository.tcl:856 msgid "Cannot fetch tags. See console output for details." msgstr "Ðе могу получить метки. Ð”Ð¾Ð¿Ð¾Ð»Ð½Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð°Ñ Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð½Ð° конÑоли." -#: lib/choose_repository.tcl:882 +#: lib/choose_repository.tcl:880 msgid "Cannot determine HEAD. See console output for details." msgstr "Ðе могу определить HEAD. Ð”Ð¾Ð¿Ð¾Ð»Ð½Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð°Ñ Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð½Ð° конÑоли." -#: lib/choose_repository.tcl:891 +#: lib/choose_repository.tcl:889 #, tcl-format msgid "Unable to cleanup %s" msgstr "Ðе могу очиÑтить %s" -#: lib/choose_repository.tcl:897 +#: lib/choose_repository.tcl:895 msgid "Clone failed." msgstr "Клонирование не удалоÑÑŒ." -#: lib/choose_repository.tcl:904 +#: lib/choose_repository.tcl:902 msgid "No default branch obtained." msgstr "Ðе было получено ветви по умолчанию." -#: lib/choose_repository.tcl:915 +#: lib/choose_repository.tcl:913 #, tcl-format msgid "Cannot resolve %s as a commit." msgstr "Ðе могу раÑпознать %s как ÑоÑтоÑние." -#: lib/choose_repository.tcl:927 +#: lib/choose_repository.tcl:925 msgid "Creating working directory" msgstr "Создаю рабочий каталог" -#: lib/choose_repository.tcl:928 lib/index.tcl:65 lib/index.tcl:127 +#: lib/choose_repository.tcl:926 lib/index.tcl:65 lib/index.tcl:127 #: lib/index.tcl:193 msgid "files" msgstr "файлов" -#: lib/choose_repository.tcl:957 +#: lib/choose_repository.tcl:955 msgid "Initial file checkout failed." msgstr "Ðе удалоÑÑŒ получить начальное ÑоÑтоÑние файлов репозиториÑ." -#: lib/choose_repository.tcl:973 +#: lib/choose_repository.tcl:971 msgid "Open" msgstr "Открыть" -#: lib/choose_repository.tcl:983 +#: lib/choose_repository.tcl:981 msgid "Repository:" msgstr "Репозиторий:" -#: lib/choose_repository.tcl:1033 +#: lib/choose_repository.tcl:1031 #, tcl-format msgid "Failed to open repository %s:" msgstr "Ðе удалоÑÑŒ открыть репозиторий %s:" @@ -1134,7 +1138,7 @@ msgstr "Ð›Ð¾ÐºÐ°Ð»ÑŒÐ½Ð°Ñ Ð²ÐµÑ‚Ð²ÑŒ:" msgid "Tracking Branch" msgstr "Ветвь ÑлежениÑ" -#: lib/choose_rev.tcl:84 lib/choose_rev.tcl:537 +#: lib/choose_rev.tcl:84 lib/choose_rev.tcl:538 msgid "Tag" msgstr "Таг" @@ -1151,11 +1155,11 @@ msgstr "ВерÑÐ¸Ñ Ð½Ðµ указана." msgid "Revision expression is empty." msgstr "ПуÑтое выражение Ð´Ð»Ñ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ð²ÐµÑ€Ñии." -#: lib/choose_rev.tcl:530 +#: lib/choose_rev.tcl:531 msgid "Updated" msgstr "Обновлено" -#: lib/choose_rev.tcl:558 +#: lib/choose_rev.tcl:559 msgid "URL" msgstr "СÑылка" @@ -1251,7 +1255,7 @@ msgid "" "\n" "A good commit message has the following format:\n" "\n" -"- First line: Describe in one sentance what you did.\n" +"- First line: Describe in one sentence what you did.\n" "- Second line: Blank\n" "- Remaining lines: Describe why this change is good.\n" msgstr "" @@ -1263,16 +1267,45 @@ msgstr "" "- Ð²Ñ‚Ð¾Ñ€Ð°Ñ Ñтрока пуÑтаÑ\n" "- оÑтавшиеÑÑ Ñтроки: опишите, что дают ваши изменениÑ.\n" -#: lib/commit.tcl:257 +#: lib/commit.tcl:207 +#, tcl-format +msgid "warning: Tcl does not support encoding '%s'." +msgstr "предупреждение: Tcl не поддерживает кодировку '%s'." + +#: lib/commit.tcl:221 +msgid "Calling pre-commit hook..." +msgstr "Вызов программы поддержки Ñ€ÐµÐ¿Ð¾Ð·Ð¸Ñ‚Ð¾Ñ€Ð¸Ñ pre-commit..." + +#: lib/commit.tcl:236 +msgid "Commit declined by pre-commit hook." +msgstr "Сохранение прервано программой поддержки Ñ€ÐµÐ¿Ð¾Ð·Ð¸Ñ‚Ð¾Ñ€Ð¸Ñ pre-commit" + +#: lib/commit.tcl:259 +msgid "Calling commit-msg hook..." +msgstr "Вызов программы поддержки Ñ€ÐµÐ¿Ð¾Ð·Ð¸Ñ‚Ð¾Ñ€Ð¸Ñ commit-msg..." + +#: lib/commit.tcl:274 +msgid "Commit declined by commit-msg hook." +msgstr "Сохранение прервано программой поддержки Ñ€ÐµÐ¿Ð¾Ð·Ð¸Ñ‚Ð¾Ñ€Ð¸Ñ commit-msg" + +#: lib/commit.tcl:287 +msgid "Committing changes..." +msgstr "Сохранение изменений..." + +#: lib/commit.tcl:303 msgid "write-tree failed:" msgstr "Программа write-tree завершилаÑÑŒ Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ¾Ð¹:" -#: lib/commit.tcl:275 +#: lib/commit.tcl:304 lib/commit.tcl:348 lib/commit.tcl:368 +msgid "Commit failed." +msgstr "Сохранить ÑоÑтоÑние не удалоÑÑŒ." + +#: lib/commit.tcl:321 #, tcl-format msgid "Commit %s appears to be corrupt" msgstr "СоÑтоÑние %s выглÑдит поврежденным" -#: lib/commit.tcl:279 +#: lib/commit.tcl:326 msgid "" "No changes to commit.\n" "\n" @@ -1286,37 +1319,32 @@ msgstr "" "\n" "Ð¡ÐµÐ¹Ñ‡Ð°Ñ Ð°Ð²Ñ‚Ð¾Ð¼Ð°Ñ‚Ð¸Ñ‡ÐµÑки запуÑтитÑÑ Ð¿ÐµÑ€ÐµÑ‡Ð¸Ñ‚Ñ‹Ð²Ð°Ð½Ð¸Ðµ репозиториÑ.\n" -#: lib/commit.tcl:286 +#: lib/commit.tcl:333 msgid "No changes to commit." msgstr "ОтуÑтвуют Ð¸Ð·Ð¼ÐµÐ½Ð¸Ñ Ð´Ð»Ñ ÑохранениÑ." -#: lib/commit.tcl:303 -#, tcl-format -msgid "warning: Tcl does not support encoding '%s'." -msgstr "предупреждение: Tcl не поддерживает кодировку '%s'." - -#: lib/commit.tcl:317 +#: lib/commit.tcl:347 msgid "commit-tree failed:" msgstr "Программа commit-tree завершилаÑÑŒ Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ¾Ð¹:" -#: lib/commit.tcl:339 +#: lib/commit.tcl:367 msgid "update-ref failed:" msgstr "Программа update-ref завершилаÑÑŒ Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ¾Ð¹:" -#: lib/commit.tcl:430 +#: lib/commit.tcl:454 #, tcl-format msgid "Created commit %s: %s" msgstr "Создано ÑоÑтоÑние %s: %s " -#: lib/console.tcl:57 +#: lib/console.tcl:59 msgid "Working... please wait..." msgstr "Ð’ процеÑÑе... пожалуйÑта, ждите..." -#: lib/console.tcl:183 +#: lib/console.tcl:186 msgid "Success" msgstr "ПроцеÑÑ ÑƒÑпешно завершен" -#: lib/console.tcl:196 +#: lib/console.tcl:200 msgid "Error: Command Failed" msgstr "Ошибка: не удалоÑÑŒ выполнить команду" @@ -1426,23 +1454,23 @@ msgstr "* Двоичный файл (Ñодержимое не показано) msgid "Error loading diff:" msgstr "Ошибка загрузки diff:" -#: lib/diff.tcl:302 +#: lib/diff.tcl:303 msgid "Failed to unstage selected hunk." msgstr "Ðе удалоÑÑŒ иÑключить выбранную чаÑÑ‚ÑŒ." -#: lib/diff.tcl:309 +#: lib/diff.tcl:310 msgid "Failed to stage selected hunk." msgstr "Ðе удалоÑÑŒ подготовить к Ñохранению выбранную чаÑÑ‚ÑŒ." -#: lib/error.tcl:12 lib/error.tcl:102 +#: lib/error.tcl:20 lib/error.tcl:114 msgid "error" msgstr "ошибка" -#: lib/error.tcl:28 +#: lib/error.tcl:36 msgid "warning" msgstr "предупреждение" -#: lib/error.tcl:81 +#: lib/error.tcl:94 msgid "You must correct the above errors before committing." msgstr "Прежде чем Ñохранить, иÑправьте вышеуказанные ошибки." @@ -1459,8 +1487,8 @@ msgid "" "Updating the Git index failed. A rescan will be automatically started to " "resynchronize git-gui." msgstr "" -"Ðе удалоÑÑŒ обновить Ð¸Ð½Ð´ÐµÐºÑ Git. СоÑтоÑние Ñ€ÐµÐ¿Ð¾Ð·Ð¸Ñ‚Ð¾Ñ€Ð¸Ñ Ð±ÑƒÐ´ÐµÑ‚" -"перечитано автоматичеÑки." +"Ðе удалоÑÑŒ обновить Ð¸Ð½Ð´ÐµÐºÑ Git. СоÑтоÑние Ñ€ÐµÐ¿Ð¾Ð·Ð¸Ñ‚Ð¾Ñ€Ð¸Ñ Ð±ÑƒÐ´ÐµÑ‚Ð¿ÐµÑ€ÐµÑ‡Ð¸Ñ‚Ð°Ð½Ð¾ " +"автоматичеÑки." #: lib/index.tcl:27 msgid "Continue" @@ -1475,6 +1503,10 @@ msgstr "Разблокировать индекÑ" msgid "Unstaging %s from commit" msgstr "Удаление %s из подготовленного" +#: lib/index.tcl:313 +msgid "Ready to commit." +msgstr "Подготовлено Ð´Ð»Ñ ÑохранениÑ" + #: lib/index.tcl:326 #, tcl-format msgid "Adding %s" @@ -1490,13 +1522,13 @@ msgstr "Отменить Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² файле %s?" msgid "Revert changes in these %i files?" msgstr "Отменить Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² %i файле(-ах)?" -#: lib/index.tcl:389 +#: lib/index.tcl:391 msgid "Any unstaged changes will be permanently lost by the revert." msgstr "" "Любые изменениÑ, не подготовленные к Ñохранению, будут потерÑны при данной " "операции." -#: lib/index.tcl:392 +#: lib/index.tcl:394 msgid "Do Nothing" msgstr "Ðичего не делать" @@ -1567,28 +1599,27 @@ msgid "%s of %s" msgstr "%s из %s" #: lib/merge.tcl:119 -#, tcl-format -msgid "Merging %s and %s" -msgstr "Объединение %s и %s" +msgid "Merging %s and %s..." +msgstr "Объединение %s и %s..." -#: lib/merge.tcl:131 +#: lib/merge.tcl:130 msgid "Merge completed successfully." msgstr "Объединение уÑпешно завершено." -#: lib/merge.tcl:133 +#: lib/merge.tcl:132 msgid "Merge failed. Conflict resolution is required." msgstr "Ðе удалоÑÑŒ завершить объединение. ТребуетÑÑ Ñ€Ð°Ð·Ñ€ÐµÑˆÐµÐ½Ð¸Ðµ конфликта." -#: lib/merge.tcl:158 +#: lib/merge.tcl:157 #, tcl-format msgid "Merge Into %s" msgstr "Объединить Ñ %s" -#: lib/merge.tcl:177 +#: lib/merge.tcl:176 msgid "Revision To Merge" msgstr "ВерÑÐ¸Ñ Ð´Ð»Ñ Ð¾Ð±ÑŠÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ" -#: lib/merge.tcl:212 +#: lib/merge.tcl:211 msgid "" "Cannot abort while amending.\n" "\n" @@ -1598,7 +1629,7 @@ msgstr "" "\n" "Завершите текущее иÑправление Ñохраненного ÑоÑтоÑниÑ.\n" -#: lib/merge.tcl:222 +#: lib/merge.tcl:221 msgid "" "Abort merge?\n" "\n" @@ -1612,7 +1643,7 @@ msgstr "" "\n" "Продолжить?" -#: lib/merge.tcl:228 +#: lib/merge.tcl:227 msgid "" "Reset changes?\n" "\n" @@ -1626,94 +1657,106 @@ msgstr "" "\n" "Продолжить?" -#: lib/merge.tcl:239 +#: lib/merge.tcl:238 msgid "Aborting" msgstr "Прерываю" -#: lib/merge.tcl:266 +#: lib/merge.tcl:238 +msgid "files reset" +msgstr "Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² файлах отменены" + +#: lib/merge.tcl:265 msgid "Abort failed." msgstr "Прервать не удалоÑÑŒ." -#: lib/merge.tcl:268 +#: lib/merge.tcl:267 msgid "Abort completed. Ready." msgstr "Прервано." -#: lib/option.tcl:82 +#: lib/option.tcl:95 msgid "Restore Defaults" msgstr "ВоÑÑтановить наÑтройки по умолчанию" -#: lib/option.tcl:86 +#: lib/option.tcl:99 msgid "Save" msgstr "Сохранить" -#: lib/option.tcl:96 +#: lib/option.tcl:109 #, tcl-format msgid "%s Repository" msgstr "Ð´Ð»Ñ Ñ€ÐµÐ¿Ð¾Ð·Ð¸Ñ‚Ð¾Ñ€Ð¸Ñ %s" -#: lib/option.tcl:97 +#: lib/option.tcl:110 msgid "Global (All Repositories)" msgstr "Общие (Ð´Ð»Ñ Ð²Ñех репозиториев)" -#: lib/option.tcl:103 +#: lib/option.tcl:116 msgid "User Name" msgstr "Ð˜Ð¼Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ" -#: lib/option.tcl:104 +#: lib/option.tcl:117 msgid "Email Address" -msgstr "ÐÐ´ÐµÑ Ñлектронной почты" +msgstr "ÐÐ´Ñ€ÐµÑ Ñлектронной почты" -#: lib/option.tcl:106 +#: lib/option.tcl:119 msgid "Summarize Merge Commits" msgstr "Суммарный комментарий при объединении" -#: lib/option.tcl:107 +#: lib/option.tcl:120 msgid "Merge Verbosity" msgstr "Уровень детальноÑти Ñообщений при объединении" -#: lib/option.tcl:108 +#: lib/option.tcl:121 msgid "Show Diffstat After Merge" msgstr "Показать отчет об изменениÑÑ… поÑле объединениÑ" -#: lib/option.tcl:110 +#: lib/option.tcl:123 msgid "Trust File Modification Timestamps" msgstr "ДоверÑÑ‚ÑŒ времени модификации файла" -#: lib/option.tcl:111 +#: lib/option.tcl:124 msgid "Prune Tracking Branches During Fetch" msgstr "ЧиÑтка ветвей ÑÐ»ÐµÐ¶ÐµÐ½Ð¸Ñ Ð¿Ñ€Ð¸ получении изменений" -#: lib/option.tcl:112 +#: lib/option.tcl:125 msgid "Match Tracking Branches" msgstr "Ð˜Ð¼Ñ Ð½Ð¾Ð²Ð¾Ð¹ ветви взÑÑ‚ÑŒ из имен ветвей ÑлежениÑ" -#: lib/option.tcl:113 +#: lib/option.tcl:126 msgid "Number of Diff Context Lines" msgstr "ЧиÑло Ñтрок в контекÑте diff" -#: lib/option.tcl:114 +#: lib/option.tcl:127 +msgid "Commit Message Text Width" +msgstr "Ширина ÐºÐ¾Ð¼Ð¼ÐµÐ½Ñ‚Ð°Ñ€Ð¸Ñ Ðº ÑоÑтоÑнию:" + +#: lib/option.tcl:128 msgid "New Branch Name Template" msgstr "Шаблон Ð´Ð»Ñ Ð¸Ð¼ÐµÐ½Ð¸ новой ветви" -#: lib/option.tcl:176 +#: lib/option.tcl:192 +msgid "Spelling Dictionary:" +msgstr "Словарь Ð´Ð»Ñ Ð¿Ñ€Ð¾Ð²ÐµÑ€ÐºÐ¸ правопиÑаниÑ:" + +#: lib/option.tcl:216 msgid "Change Font" msgstr "Изменить шрифт" -#: lib/option.tcl:180 +#: lib/option.tcl:220 #, tcl-format msgid "Choose %s" msgstr "Выберите %s" # carbon copy -#: lib/option.tcl:186 +#: lib/option.tcl:226 msgid "pt." msgstr "" -#: lib/option.tcl:200 +#: lib/option.tcl:240 msgid "Preferences" msgstr "ÐаÑтройки" -#: lib/option.tcl:235 +#: lib/option.tcl:275 msgid "Failed to completely save options:" msgstr "Ðе удалоÑÑŒ полноÑтью Ñохранить наÑтройки:" @@ -1820,6 +1863,43 @@ msgstr "Ðевозможно запиÑать ÑÑылку:" msgid "Cannot write icon:" msgstr "Ðевозможно запиÑать значок:" +#: lib/spellcheck.tcl:57 +msgid "Unsupported spell checker" +msgstr "ÐÐµÐ¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÐ¼Ð°Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð° проверки правопиÑаниÑ" + +#: lib/spellcheck.tcl:65 +msgid "Spell checking is unavailable" +msgstr "Проверка правопиÑÐ°Ð½Ð¸Ñ Ð½Ðµ доÑтупна" + +#: lib/spellcheck.tcl:68 +msgid "Invalid spell checking configuration" +msgstr "ÐÐµÐ¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ð°Ñ ÐºÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ñ‹ проверки правопиÑаниÑ" + +#: lib/spellcheck.tcl:70 +#, tcl-format +msgid "Reverting dictionary to %s." +msgstr "Словарь вернут к %s." + +#: lib/spellcheck.tcl:73 +msgid "Spell checker silently failed on startup" +msgstr "Программа проверки правопиÑÐ°Ð½Ð¸Ñ Ð½Ðµ Ñмогла запуÑтитÑÑ" + +#: lib/spellcheck.tcl:80 +msgid "Unrecognized spell checker" +msgstr "ÐераÑÐ¿Ð¾Ð·Ð½Ð°Ð½Ð°Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð° проверки правопиÑаниÑ" + +#: lib/spellcheck.tcl:180 +msgid "No Suggestions" +msgstr "ИÑправлений не найдено" + +#: lib/spellcheck.tcl:381 +msgid "Unexpected EOF from spell checker" +msgstr "Программа проверки правопиÑÐ°Ð½Ð¸Ñ Ð¿Ñ€ÐµÑ€Ð²Ð°Ð»Ð° передачу данных" + +#: lib/spellcheck.tcl:385 +msgid "Spell Checker Failed" +msgstr "Ошибка проверки правопиÑаниÑ" + #: lib/status_bar.tcl:83 #, tcl-format msgid "%s ... %*i of %*i %s (%3i%%)" diff --git a/git-gui/po/sv.po b/git-gui/po/sv.po index cd3f40b4a8..4da687bb41 100644 --- a/git-gui/po/sv.po +++ b/git-gui/po/sv.po @@ -7,42 +7,41 @@ msgid "" msgstr "" "Project-Id-Version: sv\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2007-11-24 10:36+0100\n" -"PO-Revision-Date: 2008-01-12 09:27+0100\n" +"POT-Creation-Date: 2008-03-14 07:18+0100\n" +"PO-Revision-Date: 2008-03-14 07:23+0100\n" "Last-Translator: Peter Karlsson <peter@softwolves.pp.se>\n" -"Language-Team: Swedish <sv@li.org>\n" +"Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Generator: KBabel 1.11.4\n" +"Content-Transfer-Encoding: 8bit" -#: git-gui.sh:41 git-gui.sh:604 git-gui.sh:618 git-gui.sh:631 git-gui.sh:714 -#: git-gui.sh:733 +#: git-gui.sh:41 git-gui.sh:634 git-gui.sh:648 git-gui.sh:661 git-gui.sh:744 +#: git-gui.sh:763 msgid "git-gui: fatal error" msgstr "git-gui: ödesdigert fel" -#: git-gui.sh:565 +#: git-gui.sh:593 #, tcl-format msgid "Invalid font specified in %s:" msgstr "Ogiltigt teckensnitt angivet i %s:" -#: git-gui.sh:590 +#: git-gui.sh:620 msgid "Main Font" msgstr "Huvudteckensnitt" -#: git-gui.sh:591 +#: git-gui.sh:621 msgid "Diff/Console Font" msgstr "Diff/konsolteckensnitt" -#: git-gui.sh:605 +#: git-gui.sh:635 msgid "Cannot find git in PATH." msgstr "Hittar inte git i PATH." -#: git-gui.sh:632 +#: git-gui.sh:662 msgid "Cannot parse Git version string:" msgstr "Kan inte tolka versionssträng frÃ¥n Git:" -#: git-gui.sh:650 +#: git-gui.sh:680 #, tcl-format msgid "" "Git version cannot be determined.\n" @@ -61,79 +60,79 @@ msgstr "" "\n" "Anta att \"%s\" är version 1.5.0?\n" -#: git-gui.sh:888 +#: git-gui.sh:918 msgid "Git directory not found:" msgstr "Git-katalogen hittades inte:" -#: git-gui.sh:895 +#: git-gui.sh:925 msgid "Cannot move to top of working directory:" msgstr "Kan inte gÃ¥ till början pÃ¥ arbetskatalogen:" -#: git-gui.sh:902 +#: git-gui.sh:932 msgid "Cannot use funny .git directory:" msgstr "Kan inte använda underlig .git-katalog:" -#: git-gui.sh:907 +#: git-gui.sh:937 msgid "No working directory" msgstr "Ingen arbetskatalog" -#: git-gui.sh:1054 +#: git-gui.sh:1084 lib/checkout_op.tcl:283 msgid "Refreshing file status..." msgstr "Uppdaterar filstatus..." -#: git-gui.sh:1119 +#: git-gui.sh:1149 msgid "Scanning for modified files ..." msgstr "Söker efter ändrade filer..." -#: git-gui.sh:1294 lib/browser.tcl:245 +#: git-gui.sh:1324 lib/browser.tcl:246 msgid "Ready." msgstr "Klar." -#: git-gui.sh:1560 +#: git-gui.sh:1590 msgid "Unmodified" msgstr "Oförändrade" -#: git-gui.sh:1562 +#: git-gui.sh:1592 msgid "Modified, not staged" msgstr "Förändrade, ej köade" -#: git-gui.sh:1563 git-gui.sh:1568 +#: git-gui.sh:1593 git-gui.sh:1598 msgid "Staged for commit" msgstr "Köade för incheckning" -#: git-gui.sh:1564 git-gui.sh:1569 +#: git-gui.sh:1594 git-gui.sh:1599 msgid "Portions staged for commit" msgstr "Delar köade för incheckning" -#: git-gui.sh:1565 git-gui.sh:1570 +#: git-gui.sh:1595 git-gui.sh:1600 msgid "Staged for commit, missing" msgstr "Köade för incheckning, saknade" -#: git-gui.sh:1567 +#: git-gui.sh:1597 msgid "Untracked, not staged" msgstr "Ej spÃ¥rade, ej köade" -#: git-gui.sh:1572 +#: git-gui.sh:1602 msgid "Missing" msgstr "Saknade" -#: git-gui.sh:1573 +#: git-gui.sh:1603 msgid "Staged for removal" msgstr "Köade för borttagning" -#: git-gui.sh:1574 +#: git-gui.sh:1604 msgid "Staged for removal, still present" msgstr "Köade för borttagning, fortfarande närvarande" -#: git-gui.sh:1576 git-gui.sh:1577 git-gui.sh:1578 git-gui.sh:1579 +#: git-gui.sh:1606 git-gui.sh:1607 git-gui.sh:1608 git-gui.sh:1609 msgid "Requires merge resolution" msgstr "Kräver konflikthantering efter sammanslagning" -#: git-gui.sh:1614 +#: git-gui.sh:1644 msgid "Starting gitk... please wait..." msgstr "Startar gitk... vänta..." -#: git-gui.sh:1623 +#: git-gui.sh:1653 #, tcl-format msgid "" "Unable to start gitk:\n" @@ -144,295 +143,296 @@ msgstr "" "\n" "%s finns inte" -#: git-gui.sh:1823 lib/choose_repository.tcl:35 +#: git-gui.sh:1860 lib/choose_repository.tcl:36 msgid "Repository" msgstr "Arkiv" -#: git-gui.sh:1824 +#: git-gui.sh:1861 msgid "Edit" msgstr "Redigera" -#: git-gui.sh:1826 lib/choose_rev.tcl:560 +#: git-gui.sh:1863 lib/choose_rev.tcl:561 msgid "Branch" msgstr "Gren" -#: git-gui.sh:1829 lib/choose_rev.tcl:547 +#: git-gui.sh:1866 lib/choose_rev.tcl:548 msgid "Commit@@noun" msgstr "Incheckning" -#: git-gui.sh:1832 lib/merge.tcl:121 lib/merge.tcl:150 lib/merge.tcl:168 +#: git-gui.sh:1869 lib/merge.tcl:120 lib/merge.tcl:149 lib/merge.tcl:167 msgid "Merge" msgstr "SlÃ¥ ihop" -#: git-gui.sh:1833 lib/choose_rev.tcl:556 +#: git-gui.sh:1870 lib/choose_rev.tcl:557 msgid "Remote" msgstr "Fjärr" -#: git-gui.sh:1842 +#: git-gui.sh:1879 msgid "Browse Current Branch's Files" msgstr "Bläddra i grenens filer" -#: git-gui.sh:1846 +#: git-gui.sh:1883 msgid "Browse Branch Files..." msgstr "Bläddra filer pÃ¥ gren..." -#: git-gui.sh:1851 +#: git-gui.sh:1888 msgid "Visualize Current Branch's History" msgstr "Visualisera grenens historik" -#: git-gui.sh:1855 +#: git-gui.sh:1892 msgid "Visualize All Branch History" msgstr "Visualisera alla grenars historik" -#: git-gui.sh:1862 +#: git-gui.sh:1899 #, tcl-format msgid "Browse %s's Files" msgstr "Bläddra i filer för %s" -#: git-gui.sh:1864 +#: git-gui.sh:1901 #, tcl-format msgid "Visualize %s's History" msgstr "Visualisera historik för %s" -#: git-gui.sh:1869 lib/database.tcl:27 lib/database.tcl:67 +#: git-gui.sh:1906 lib/database.tcl:27 lib/database.tcl:67 msgid "Database Statistics" msgstr "Databasstatistik" -#: git-gui.sh:1872 lib/database.tcl:34 +#: git-gui.sh:1909 lib/database.tcl:34 msgid "Compress Database" msgstr "Komprimera databas" -#: git-gui.sh:1875 +#: git-gui.sh:1912 msgid "Verify Database" msgstr "Verifiera databas" -#: git-gui.sh:1882 git-gui.sh:1886 git-gui.sh:1890 lib/shortcut.tcl:7 +#: git-gui.sh:1919 git-gui.sh:1923 git-gui.sh:1927 lib/shortcut.tcl:7 #: lib/shortcut.tcl:39 lib/shortcut.tcl:71 msgid "Create Desktop Icon" msgstr "Skapa skrivbordsikon" -#: git-gui.sh:1895 lib/choose_repository.tcl:176 lib/choose_repository.tcl:184 +#: git-gui.sh:1932 lib/choose_repository.tcl:177 lib/choose_repository.tcl:185 msgid "Quit" msgstr "Avsluta" -#: git-gui.sh:1902 +#: git-gui.sh:1939 msgid "Undo" msgstr "Ã…ngra" -#: git-gui.sh:1905 +#: git-gui.sh:1942 msgid "Redo" msgstr "Gör om" -#: git-gui.sh:1909 git-gui.sh:2403 +#: git-gui.sh:1946 git-gui.sh:2443 msgid "Cut" msgstr "Klipp ut" -#: git-gui.sh:1912 git-gui.sh:2406 git-gui.sh:2477 git-gui.sh:2549 -#: lib/console.tcl:67 +#: git-gui.sh:1949 git-gui.sh:2446 git-gui.sh:2520 git-gui.sh:2614 +#: lib/console.tcl:69 msgid "Copy" msgstr "Kopiera" -#: git-gui.sh:1915 git-gui.sh:2409 +#: git-gui.sh:1952 git-gui.sh:2449 msgid "Paste" msgstr "Klistra in" -#: git-gui.sh:1918 git-gui.sh:2412 lib/branch_delete.tcl:26 +#: git-gui.sh:1955 git-gui.sh:2452 lib/branch_delete.tcl:26 #: lib/remote_branch_delete.tcl:38 msgid "Delete" msgstr "Ta bort" -#: git-gui.sh:1922 git-gui.sh:2416 git-gui.sh:2553 lib/console.tcl:69 +#: git-gui.sh:1959 git-gui.sh:2456 git-gui.sh:2618 lib/console.tcl:71 msgid "Select All" msgstr "Markera alla" -#: git-gui.sh:1931 +#: git-gui.sh:1968 msgid "Create..." msgstr "Skapa..." -#: git-gui.sh:1937 +#: git-gui.sh:1974 msgid "Checkout..." msgstr "Checka ut..." -#: git-gui.sh:1943 +#: git-gui.sh:1980 msgid "Rename..." msgstr "Byt namn..." -#: git-gui.sh:1948 git-gui.sh:2048 +#: git-gui.sh:1985 git-gui.sh:2085 msgid "Delete..." msgstr "Ta bort..." -#: git-gui.sh:1953 +#: git-gui.sh:1990 msgid "Reset..." msgstr "Ã…terställ..." -#: git-gui.sh:1965 git-gui.sh:2350 +#: git-gui.sh:2002 git-gui.sh:2389 msgid "New Commit" msgstr "Ny incheckning" -#: git-gui.sh:1973 git-gui.sh:2357 +#: git-gui.sh:2010 git-gui.sh:2396 msgid "Amend Last Commit" msgstr "Lägg till föregÃ¥ende incheckning" -#: git-gui.sh:1982 git-gui.sh:2317 lib/remote_branch_delete.tcl:99 +#: git-gui.sh:2019 git-gui.sh:2356 lib/remote_branch_delete.tcl:99 msgid "Rescan" msgstr "Sök pÃ¥ nytt" -#: git-gui.sh:1988 +#: git-gui.sh:2025 msgid "Stage To Commit" msgstr "Köa för incheckning" -#: git-gui.sh:1994 +#: git-gui.sh:2031 msgid "Stage Changed Files To Commit" msgstr "Köa ändrade filer för incheckning" -#: git-gui.sh:2000 +#: git-gui.sh:2037 msgid "Unstage From Commit" msgstr "Ta bort frÃ¥n incheckningskö" -#: git-gui.sh:2005 lib/index.tcl:393 +#: git-gui.sh:2042 lib/index.tcl:395 msgid "Revert Changes" msgstr "Ã…terställ ändringar" -#: git-gui.sh:2012 git-gui.sh:2329 git-gui.sh:2427 +#: git-gui.sh:2049 git-gui.sh:2368 git-gui.sh:2467 msgid "Sign Off" msgstr "Skriv under" -#: git-gui.sh:2016 git-gui.sh:2333 +#: git-gui.sh:2053 git-gui.sh:2372 msgid "Commit@@verb" msgstr "Checka in" -#: git-gui.sh:2027 +#: git-gui.sh:2064 msgid "Local Merge..." msgstr "Lokal sammanslagning..." -#: git-gui.sh:2032 +#: git-gui.sh:2069 msgid "Abort Merge..." msgstr "Avbryt sammanslagning..." -#: git-gui.sh:2044 +#: git-gui.sh:2081 msgid "Push..." msgstr "Sänd..." -#: git-gui.sh:2055 lib/choose_repository.tcl:40 +#: git-gui.sh:2092 lib/choose_repository.tcl:41 msgid "Apple" msgstr "Äpple" -#: git-gui.sh:2058 git-gui.sh:2080 lib/about.tcl:13 -#: lib/choose_repository.tcl:43 lib/choose_repository.tcl:49 +#: git-gui.sh:2095 git-gui.sh:2117 lib/about.tcl:14 +#: lib/choose_repository.tcl:44 lib/choose_repository.tcl:50 #, tcl-format msgid "About %s" msgstr "Om %s" -#: git-gui.sh:2062 +#: git-gui.sh:2099 msgid "Preferences..." msgstr "Inställningar..." -#: git-gui.sh:2070 git-gui.sh:2595 +#: git-gui.sh:2107 git-gui.sh:2639 msgid "Options..." msgstr "Alternativ..." -#: git-gui.sh:2076 lib/choose_repository.tcl:46 +#: git-gui.sh:2113 lib/choose_repository.tcl:47 msgid "Help" msgstr "Hjälp" -#: git-gui.sh:2117 +#: git-gui.sh:2154 msgid "Online Documentation" msgstr "Webbdokumentation" -#: git-gui.sh:2201 +#: git-gui.sh:2238 #, tcl-format msgid "fatal: cannot stat path %s: No such file or directory" -msgstr "ödesdigert: kunde inte ta status pÃ¥ sökvägen %s: Fil eller katalog saknas" +msgstr "" +"ödesdigert: kunde inte ta status pÃ¥ sökvägen %s: Fil eller katalog saknas" -#: git-gui.sh:2234 +#: git-gui.sh:2271 msgid "Current Branch:" msgstr "Aktuell gren:" -#: git-gui.sh:2255 +#: git-gui.sh:2292 msgid "Staged Changes (Will Commit)" msgstr "Köade ändringar (kommer att checkas in)" -#: git-gui.sh:2274 +#: git-gui.sh:2312 msgid "Unstaged Changes" msgstr "Oköade ändringar" -#: git-gui.sh:2323 +#: git-gui.sh:2362 msgid "Stage Changed" msgstr "Köa ändrade" -#: git-gui.sh:2339 lib/transport.tcl:93 lib/transport.tcl:182 +#: git-gui.sh:2378 lib/transport.tcl:93 lib/transport.tcl:182 msgid "Push" msgstr "Sänd" -#: git-gui.sh:2369 +#: git-gui.sh:2408 msgid "Initial Commit Message:" msgstr "Inledande incheckningsmeddelande:" -#: git-gui.sh:2370 +#: git-gui.sh:2409 msgid "Amended Commit Message:" msgstr "Utökat incheckningsmeddelande:" -#: git-gui.sh:2371 +#: git-gui.sh:2410 msgid "Amended Initial Commit Message:" msgstr "Utökat inledande incheckningsmeddelande:" -#: git-gui.sh:2372 +#: git-gui.sh:2411 msgid "Amended Merge Commit Message:" msgstr "Utökat incheckningsmeddelande för sammanslagning:" -#: git-gui.sh:2373 +#: git-gui.sh:2412 msgid "Merge Commit Message:" msgstr "Incheckningsmeddelande för sammanslagning:" -#: git-gui.sh:2374 +#: git-gui.sh:2413 msgid "Commit Message:" msgstr "Incheckningsmeddelande:" -#: git-gui.sh:2419 git-gui.sh:2557 lib/console.tcl:71 +#: git-gui.sh:2459 git-gui.sh:2622 lib/console.tcl:73 msgid "Copy All" msgstr "Kopiera alla" -#: git-gui.sh:2443 lib/blame.tcl:104 +#: git-gui.sh:2483 lib/blame.tcl:107 msgid "File:" msgstr "Fil:" -#: git-gui.sh:2545 -msgid "Refresh" -msgstr "Uppdatera" - -#: git-gui.sh:2566 +#: git-gui.sh:2589 msgid "Apply/Reverse Hunk" msgstr "Använd/Ã¥terställ del" -#: git-gui.sh:2572 -msgid "Decrease Font Size" -msgstr "Minska teckensnittsstorlek" - -#: git-gui.sh:2576 -msgid "Increase Font Size" -msgstr "Öka teckensnittsstorlek" - -#: git-gui.sh:2581 +#: git-gui.sh:2595 msgid "Show Less Context" msgstr "Visa mindre sammanhang" -#: git-gui.sh:2588 +#: git-gui.sh:2602 msgid "Show More Context" msgstr "Visa mer sammanhang" -#: git-gui.sh:2602 +#: git-gui.sh:2610 +msgid "Refresh" +msgstr "Uppdatera" + +#: git-gui.sh:2631 +msgid "Decrease Font Size" +msgstr "Minska teckensnittsstorlek" + +#: git-gui.sh:2635 +msgid "Increase Font Size" +msgstr "Öka teckensnittsstorlek" + +#: git-gui.sh:2646 msgid "Unstage Hunk From Commit" msgstr "Ta bort del ur incheckningskö" -#: git-gui.sh:2604 +#: git-gui.sh:2648 msgid "Stage Hunk For Commit" msgstr "Ställ del i incheckningskö" -#: git-gui.sh:2623 +#: git-gui.sh:2667 msgid "Initializing..." msgstr "Initierar..." -#: git-gui.sh:2718 +#: git-gui.sh:2762 #, tcl-format msgid "" "Possible environment issues exist.\n" @@ -449,7 +449,7 @@ msgstr "" "av %s:\n" "\n" -#: git-gui.sh:2748 +#: git-gui.sh:2792 msgid "" "\n" "This is due to a known issue with the\n" @@ -459,7 +459,7 @@ msgstr "" "Detta beror pÃ¥ ett känt problem med\n" "Tcl-binären som följer med Cygwin." -#: git-gui.sh:2753 +#: git-gui.sh:2797 #, tcl-format msgid "" "\n" @@ -476,7 +476,7 @@ msgstr "" "user.name och user.email i din personliga\n" "~/.gitconfig-fil.\n" -#: lib/about.tcl:25 +#: lib/about.tcl:26 msgid "git-gui - a graphical user interface for Git." msgstr "git-gui - ett grafiskt användargränssnitt för Git." @@ -488,56 +488,56 @@ msgstr "Filvisare" msgid "Commit:" msgstr "Incheckning:" -#: lib/blame.tcl:249 +#: lib/blame.tcl:264 msgid "Copy Commit" msgstr "Kopiera incheckning" -#: lib/blame.tcl:369 +#: lib/blame.tcl:384 #, tcl-format msgid "Reading %s..." msgstr "Läser %s..." -#: lib/blame.tcl:473 +#: lib/blame.tcl:488 msgid "Loading copy/move tracking annotations..." msgstr "Läser annoteringar för kopiering/flyttning..." -#: lib/blame.tcl:493 +#: lib/blame.tcl:508 msgid "lines annotated" msgstr "rader annoterade" -#: lib/blame.tcl:674 +#: lib/blame.tcl:689 msgid "Loading original location annotations..." msgstr "Läser in annotering av originalplacering..." -#: lib/blame.tcl:677 +#: lib/blame.tcl:692 msgid "Annotation complete." msgstr "Annotering fullbordad." -#: lib/blame.tcl:731 +#: lib/blame.tcl:746 msgid "Loading annotation..." msgstr "Läser in annotering..." -#: lib/blame.tcl:787 +#: lib/blame.tcl:802 msgid "Author:" msgstr "Författare:" -#: lib/blame.tcl:791 +#: lib/blame.tcl:806 msgid "Committer:" msgstr "Incheckare:" -#: lib/blame.tcl:796 +#: lib/blame.tcl:811 msgid "Original File:" msgstr "Ursprunglig fil:" -#: lib/blame.tcl:910 +#: lib/blame.tcl:925 msgid "Originally By:" msgstr "Ursprungligen av:" -#: lib/blame.tcl:916 +#: lib/blame.tcl:931 msgid "In File:" msgstr "I filen:" -#: lib/blame.tcl:921 +#: lib/blame.tcl:936 msgid "Copied Or Moved Here By:" msgstr "Kopierad eller flyttad hit av:" @@ -550,17 +550,17 @@ msgid "Checkout" msgstr "Checka ut" #: lib/branch_checkout.tcl:27 lib/branch_create.tcl:35 -#: lib/branch_delete.tcl:32 lib/branch_rename.tcl:30 lib/browser.tcl:281 -#: lib/checkout_op.tcl:522 lib/choose_font.tcl:43 lib/merge.tcl:172 -#: lib/option.tcl:90 lib/remote_branch_delete.tcl:42 lib/transport.tcl:97 +#: lib/branch_delete.tcl:32 lib/branch_rename.tcl:30 lib/browser.tcl:282 +#: lib/checkout_op.tcl:522 lib/choose_font.tcl:43 lib/merge.tcl:171 +#: lib/option.tcl:103 lib/remote_branch_delete.tcl:42 lib/transport.tcl:97 msgid "Cancel" msgstr "Avbryt" -#: lib/branch_checkout.tcl:32 lib/browser.tcl:286 +#: lib/branch_checkout.tcl:32 lib/browser.tcl:287 msgid "Revision" msgstr "Revision" -#: lib/branch_checkout.tcl:36 lib/branch_create.tcl:69 lib/option.tcl:202 +#: lib/branch_checkout.tcl:36 lib/branch_create.tcl:69 lib/option.tcl:242 msgid "Options" msgstr "Alternativ" @@ -580,7 +580,7 @@ msgstr "Skapa gren" msgid "Create New Branch" msgstr "Skapa ny gren" -#: lib/branch_create.tcl:31 lib/choose_repository.tcl:375 +#: lib/branch_create.tcl:31 lib/choose_repository.tcl:371 msgid "Create" msgstr "Skapa" @@ -720,22 +720,22 @@ msgstr "Startar..." msgid "File Browser" msgstr "Filbläddrare" -#: lib/browser.tcl:125 lib/browser.tcl:142 +#: lib/browser.tcl:126 lib/browser.tcl:143 #, tcl-format msgid "Loading %s..." msgstr "Läser %s..." -#: lib/browser.tcl:186 +#: lib/browser.tcl:187 msgid "[Up To Parent]" msgstr "[Upp till förälder]" -#: lib/browser.tcl:266 lib/browser.tcl:272 +#: lib/browser.tcl:267 lib/browser.tcl:273 msgid "Browse Branch Files" msgstr "Bläddra filer pÃ¥ grenen" -#: lib/browser.tcl:277 lib/choose_repository.tcl:391 -#: lib/choose_repository.tcl:482 lib/choose_repository.tcl:492 -#: lib/choose_repository.tcl:989 +#: lib/browser.tcl:278 lib/choose_repository.tcl:387 +#: lib/choose_repository.tcl:474 lib/choose_repository.tcl:484 +#: lib/choose_repository.tcl:987 msgid "Browse" msgstr "Bläddra" @@ -749,7 +749,7 @@ msgstr "Hämtar %s frÃ¥n %s" msgid "fatal: Cannot resolve %s" msgstr "ödesdigert: Kunde inte slÃ¥ upp %s" -#: lib/checkout_op.tcl:140 lib/console.tcl:79 lib/database.tcl:31 +#: lib/checkout_op.tcl:140 lib/console.tcl:81 lib/database.tcl:31 msgid "Close" msgstr "Stäng" @@ -796,8 +796,8 @@ msgid "" msgstr "" "Det senaste inlästa tillstÃ¥ndet motsvarar inte tillstÃ¥ndet i arkivet.\n" "\n" -"Ett annat Git-program har ändrat arkivet sedan senaste avsökningen. Du " -"mÃ¥ste utföra en ny sökning innan den aktuella grenen kan ändras.\n" +"Ett annat Git-program har ändrat arkivet sedan senaste avsökningen. Du mÃ¥ste " +"utföra en ny sökning innan den aktuella grenen kan ändras.\n" "\n" "Sökningen kommer att startas automatiskt nu.\n" @@ -806,6 +806,10 @@ msgstr "" msgid "Updating working directory to '%s'..." msgstr "Uppdaterar arbetskatalogen till \"%s\"..." +#: lib/checkout_op.tcl:323 +msgid "files checked out" +msgstr "filer utcheckade" + #: lib/checkout_op.tcl:353 #, tcl-format msgid "Aborted checkout of '%s' (file level merging is required)." @@ -829,10 +833,10 @@ msgid "" msgstr "" "Du är inte längre pÃ¥ en lokal gren.\n" "\n" -"Om du ville vara pÃ¥ en gren skapar du en nu, baserad pÃ¥ \"Denna " -"frÃ¥nkopplade utcheckning\"." +"Om du ville vara pÃ¥ en gren skapar du en nu, baserad pÃ¥ \"Denna frÃ¥nkopplade " +"utcheckning\"." -#: lib/checkout_op.tcl:446 +#: lib/checkout_op.tcl:446 lib/checkout_op.tcl:450 #, tcl-format msgid "Checked out '%s'." msgstr "Checkade ut \"%s\"." @@ -840,7 +844,8 @@ msgstr "Checkade ut \"%s\"." #: lib/checkout_op.tcl:478 #, tcl-format msgid "Resetting '%s' to '%s' will lose the following commits:" -msgstr "Om du Ã¥terställer \"%s\" till \"%s\" fÃ¥r följande incheckningar förlorade:" +msgstr "" +"Om du Ã¥terställer \"%s\" till \"%s\" gÃ¥r följande incheckningar förlorade:" #: lib/checkout_op.tcl:500 msgid "Recovering lost commits may not be easy." @@ -851,7 +856,7 @@ msgstr "Det kanske inte är sÃ¥ enkelt att Ã¥terskapa förlorade incheckningar." msgid "Reset '%s'?" msgstr "Ã…terställa \"%s\"?" -#: lib/checkout_op.tcl:510 lib/merge.tcl:164 +#: lib/checkout_op.tcl:510 lib/merge.tcl:163 msgid "Visualize" msgstr "Visualisera" @@ -867,8 +872,8 @@ msgid "" msgstr "" "Kunde inte ställa in aktuell gren.\n" "\n" -"Arbetskatalogen har bara växlats delvis. Vi uppdaterade filerna " -"utan problem, men kunde inte uppdatera en intern fil i Git.\n" +"Arbetskatalogen har bara växlats delvis. Vi uppdaterade filerna utan " +"problem, men kunde inte uppdatera en intern fil i Git.\n" "\n" "Detta skulle inte ha hänt. %s kommer nu stängas och ge upp." @@ -880,15 +885,15 @@ msgstr "Välj" msgid "Font Family" msgstr "Teckensnittsfamilj" -#: lib/choose_font.tcl:73 +#: lib/choose_font.tcl:74 msgid "Font Size" msgstr "Storlek" -#: lib/choose_font.tcl:90 +#: lib/choose_font.tcl:91 msgid "Font Example" msgstr "Exempel" -#: lib/choose_font.tcl:101 +#: lib/choose_font.tcl:103 msgid "" "This is example text.\n" "If you like this text, it can be your font." @@ -896,225 +901,225 @@ msgstr "" "Detta är en exempeltext.\n" "Om du tycker om den här texten kan den vara ditt teckensnitt." -#: lib/choose_repository.tcl:27 +#: lib/choose_repository.tcl:28 msgid "Git Gui" msgstr "Git Gui" -#: lib/choose_repository.tcl:80 lib/choose_repository.tcl:380 +#: lib/choose_repository.tcl:81 lib/choose_repository.tcl:376 msgid "Create New Repository" msgstr "Skapa nytt arkiv" -#: lib/choose_repository.tcl:86 +#: lib/choose_repository.tcl:87 msgid "New..." msgstr "Nytt..." -#: lib/choose_repository.tcl:93 lib/choose_repository.tcl:468 +#: lib/choose_repository.tcl:94 lib/choose_repository.tcl:460 msgid "Clone Existing Repository" msgstr "Klona befintligt arkiv" -#: lib/choose_repository.tcl:99 +#: lib/choose_repository.tcl:100 msgid "Clone..." msgstr "Klona..." -#: lib/choose_repository.tcl:106 lib/choose_repository.tcl:978 +#: lib/choose_repository.tcl:107 lib/choose_repository.tcl:976 msgid "Open Existing Repository" msgstr "Öppna befintligt arkiv" -#: lib/choose_repository.tcl:112 +#: lib/choose_repository.tcl:113 msgid "Open..." msgstr "Öppna..." -#: lib/choose_repository.tcl:125 +#: lib/choose_repository.tcl:126 msgid "Recent Repositories" msgstr "Senaste arkiven" -#: lib/choose_repository.tcl:131 +#: lib/choose_repository.tcl:132 msgid "Open Recent Repository:" msgstr "Öppna tidigare arkiv:" -#: lib/choose_repository.tcl:294 -#, tcl-format -msgid "Location %s already exists." -msgstr "Platsen %s finns redan." - -#: lib/choose_repository.tcl:300 lib/choose_repository.tcl:307 -#: lib/choose_repository.tcl:314 +#: lib/choose_repository.tcl:296 lib/choose_repository.tcl:303 +#: lib/choose_repository.tcl:310 #, tcl-format msgid "Failed to create repository %s:" msgstr "Kunde inte skapa arkivet %s:" -#: lib/choose_repository.tcl:385 lib/choose_repository.tcl:486 +#: lib/choose_repository.tcl:381 lib/choose_repository.tcl:478 msgid "Directory:" msgstr "Katalog:" -#: lib/choose_repository.tcl:415 lib/choose_repository.tcl:544 -#: lib/choose_repository.tcl:1013 +#: lib/choose_repository.tcl:412 lib/choose_repository.tcl:537 +#: lib/choose_repository.tcl:1011 msgid "Git Repository" msgstr "Gitarkiv" -#: lib/choose_repository.tcl:430 lib/choose_repository.tcl:437 +#: lib/choose_repository.tcl:437 #, tcl-format msgid "Directory %s already exists." msgstr "Katalogen %s finns redan." -#: lib/choose_repository.tcl:442 +#: lib/choose_repository.tcl:441 #, tcl-format msgid "File %s already exists." msgstr "Filen %s finns redan." -#: lib/choose_repository.tcl:463 +#: lib/choose_repository.tcl:455 msgid "Clone" msgstr "Klona" -#: lib/choose_repository.tcl:476 +#: lib/choose_repository.tcl:468 msgid "URL:" msgstr "Webbadress:" -#: lib/choose_repository.tcl:496 +#: lib/choose_repository.tcl:489 msgid "Clone Type:" msgstr "Typ av klon:" -#: lib/choose_repository.tcl:502 +#: lib/choose_repository.tcl:495 msgid "Standard (Fast, Semi-Redundant, Hardlinks)" msgstr "Standard (snabb, semiredundant, hÃ¥rda länkar)" -#: lib/choose_repository.tcl:508 +#: lib/choose_repository.tcl:501 msgid "Full Copy (Slower, Redundant Backup)" msgstr "Full kopia (lÃ¥ngsammare, redundant säkerhetskopia)" -#: lib/choose_repository.tcl:514 +#: lib/choose_repository.tcl:507 msgid "Shared (Fastest, Not Recommended, No Backup)" msgstr "Delad (snabbast, rekommenderas ej, ingen säkerhetskopia)" -#: lib/choose_repository.tcl:550 lib/choose_repository.tcl:597 -#: lib/choose_repository.tcl:738 lib/choose_repository.tcl:808 -#: lib/choose_repository.tcl:1019 lib/choose_repository.tcl:1027 +#: lib/choose_repository.tcl:543 lib/choose_repository.tcl:590 +#: lib/choose_repository.tcl:736 lib/choose_repository.tcl:806 +#: lib/choose_repository.tcl:1017 lib/choose_repository.tcl:1025 #, tcl-format msgid "Not a Git repository: %s" msgstr "Inte ett Gitarkiv: %s" -#: lib/choose_repository.tcl:586 +#: lib/choose_repository.tcl:579 msgid "Standard only available for local repository." msgstr "Standard är endast tillgängligt för lokala arkiv." -#: lib/choose_repository.tcl:590 +#: lib/choose_repository.tcl:583 msgid "Shared only available for local repository." msgstr "Delat är endast tillgängligt för lokala arkiv." -#: lib/choose_repository.tcl:617 +#: lib/choose_repository.tcl:604 +#, tcl-format +msgid "Location %s already exists." +msgstr "Platsen %s finns redan." + +#: lib/choose_repository.tcl:615 msgid "Failed to configure origin" msgstr "Kunde inte konfigurera ursprung" -#: lib/choose_repository.tcl:629 +#: lib/choose_repository.tcl:627 msgid "Counting objects" msgstr "Räknar objekt" -#: lib/choose_repository.tcl:630 +#: lib/choose_repository.tcl:628 msgid "buckets" msgstr "hinkar" -#: lib/choose_repository.tcl:654 +#: lib/choose_repository.tcl:652 #, tcl-format msgid "Unable to copy objects/info/alternates: %s" msgstr "Kunde inte kopiera objekt/info/alternativ: %s" -#: lib/choose_repository.tcl:690 +#: lib/choose_repository.tcl:688 #, tcl-format msgid "Nothing to clone from %s." msgstr "Ingenting att klona frÃ¥n %s." -#: lib/choose_repository.tcl:692 lib/choose_repository.tcl:906 -#: lib/choose_repository.tcl:918 +#: lib/choose_repository.tcl:690 lib/choose_repository.tcl:904 +#: lib/choose_repository.tcl:916 msgid "The 'master' branch has not been initialized." msgstr "Grenen \"master\" har inte initierats." -#: lib/choose_repository.tcl:705 +#: lib/choose_repository.tcl:703 msgid "Hardlinks are unavailable. Falling back to copying." msgstr "HÃ¥rda länkar är inte tillgängliga. Faller tillbaka pÃ¥ kopiering." -#: lib/choose_repository.tcl:717 +#: lib/choose_repository.tcl:715 #, tcl-format msgid "Cloning from %s" msgstr "Klonar frÃ¥n %s" -#: lib/choose_repository.tcl:748 +#: lib/choose_repository.tcl:746 msgid "Copying objects" msgstr "Kopierar objekt" -#: lib/choose_repository.tcl:749 +#: lib/choose_repository.tcl:747 msgid "KiB" msgstr "KiB" -#: lib/choose_repository.tcl:773 +#: lib/choose_repository.tcl:771 #, tcl-format msgid "Unable to copy object: %s" msgstr "Kunde inte kopiera objekt: %s" -#: lib/choose_repository.tcl:783 +#: lib/choose_repository.tcl:781 msgid "Linking objects" msgstr "Länkar objekt" -#: lib/choose_repository.tcl:784 +#: lib/choose_repository.tcl:782 msgid "objects" msgstr "objekt" -#: lib/choose_repository.tcl:792 +#: lib/choose_repository.tcl:790 #, tcl-format msgid "Unable to hardlink object: %s" msgstr "Kunde inte hÃ¥rdlänka objekt: %s" -#: lib/choose_repository.tcl:847 +#: lib/choose_repository.tcl:845 msgid "Cannot fetch branches and objects. See console output for details." msgstr "Kunde inte hämta grenar och objekt. Se konsolutdata för detaljer." -#: lib/choose_repository.tcl:858 +#: lib/choose_repository.tcl:856 msgid "Cannot fetch tags. See console output for details." msgstr "Kunde inte hämta taggar. Se konsolutdata för detaljer." -#: lib/choose_repository.tcl:882 +#: lib/choose_repository.tcl:880 msgid "Cannot determine HEAD. See console output for details." msgstr "Kunde inte avgöra HEAD. Se konsolutdata för detaljer." -#: lib/choose_repository.tcl:891 +#: lib/choose_repository.tcl:889 #, tcl-format msgid "Unable to cleanup %s" msgstr "Kunde inte städa upp %s" -#: lib/choose_repository.tcl:897 +#: lib/choose_repository.tcl:895 msgid "Clone failed." msgstr "Kloning misslyckades." -#: lib/choose_repository.tcl:904 +#: lib/choose_repository.tcl:902 msgid "No default branch obtained." msgstr "Hämtade ingen standardgren." -#: lib/choose_repository.tcl:915 +#: lib/choose_repository.tcl:913 #, tcl-format msgid "Cannot resolve %s as a commit." msgstr "Kunde inte slÃ¥ upp %s till nÃ¥gon incheckning." -#: lib/choose_repository.tcl:927 +#: lib/choose_repository.tcl:925 msgid "Creating working directory" msgstr "Skapar arbetskatalog" -#: lib/choose_repository.tcl:928 lib/index.tcl:65 lib/index.tcl:127 +#: lib/choose_repository.tcl:926 lib/index.tcl:65 lib/index.tcl:127 #: lib/index.tcl:193 msgid "files" msgstr "filer" -#: lib/choose_repository.tcl:957 +#: lib/choose_repository.tcl:955 msgid "Initial file checkout failed." msgstr "Inledande filutcheckning misslyckades." -#: lib/choose_repository.tcl:973 +#: lib/choose_repository.tcl:971 msgid "Open" msgstr "Öppna" -#: lib/choose_repository.tcl:983 +#: lib/choose_repository.tcl:981 msgid "Repository:" msgstr "Arkiv:" -#: lib/choose_repository.tcl:1033 +#: lib/choose_repository.tcl:1031 #, tcl-format msgid "Failed to open repository %s:" msgstr "Kunde inte öppna arkivet %s:" @@ -1135,7 +1140,7 @@ msgstr "Lokal gren" msgid "Tracking Branch" msgstr "SpÃ¥rande gren" -#: lib/choose_rev.tcl:84 lib/choose_rev.tcl:537 +#: lib/choose_rev.tcl:84 lib/choose_rev.tcl:538 msgid "Tag" msgstr "Tagg" @@ -1152,11 +1157,11 @@ msgstr "Ingen revision vald." msgid "Revision expression is empty." msgstr "Revisionsuttrycket är tomt." -#: lib/choose_rev.tcl:530 +#: lib/choose_rev.tcl:531 msgid "Updated" msgstr "Uppdaterad" -#: lib/choose_rev.tcl:558 +#: lib/choose_rev.tcl:559 msgid "URL" msgstr "Webbadress" @@ -1182,9 +1187,9 @@ msgid "" msgstr "" "Kan inte utöka vid sammanslagning.\n" "\n" -"Du är i mitten av en sammanslagning som inte är fullbordad. Du kan " -"inte utöka tidigare incheckningar om du inte först avbryter den " -"pÃ¥gÃ¥ende sammanslagningen.\n" +"Du är i mitten av en sammanslagning som inte är fullbordad. Du kan inte " +"utöka tidigare incheckningar om du inte först avbryter den pÃ¥gÃ¥ende " +"sammanslagningen.\n" #: lib/commit.tcl:49 msgid "Error loading commit data for amend:" @@ -1209,8 +1214,8 @@ msgid "" msgstr "" "Det senaste inlästa tillstÃ¥ndet motsvarar inte tillstÃ¥ndet i arkivet.\n" "\n" -"Ett annat Git-program har ändrat arkivet sedan senaste avsökningen. Du " -"mÃ¥ste utföra en ny sökning innan du kan göra en ny incheckning.\n" +"Ett annat Git-program har ändrat arkivet sedan senaste avsökningen. Du mÃ¥ste " +"utföra en ny sökning innan du kan göra en ny incheckning.\n" "\n" "Sökningen kommer att startas automatiskt nu.\n" @@ -1266,16 +1271,45 @@ msgstr "" "- Andra raden: Tom\n" "- Följande rader: Beskriv varför det här är en bra ändring.\n" -#: lib/commit.tcl:257 +#: lib/commit.tcl:207 +#, tcl-format +msgid "warning: Tcl does not support encoding '%s'." +msgstr "varning: Tcl stöder inte teckenkodningen \"%s\"." + +#: lib/commit.tcl:221 +msgid "Calling pre-commit hook..." +msgstr "Anropar krok före incheckning..." + +#: lib/commit.tcl:236 +msgid "Commit declined by pre-commit hook." +msgstr "Incheckningen avvisades av krok före incheckning." + +#: lib/commit.tcl:259 +msgid "Calling commit-msg hook..." +msgstr "Anropar krok för incheckningsmeddelande..." + +#: lib/commit.tcl:274 +msgid "Commit declined by commit-msg hook." +msgstr "Incheckning avvisad av krok för incheckningsmeddelande." + +#: lib/commit.tcl:287 +msgid "Committing changes..." +msgstr "Checkar in ändringar..." + +#: lib/commit.tcl:303 msgid "write-tree failed:" msgstr "write-tree misslyckades:" -#: lib/commit.tcl:275 +#: lib/commit.tcl:304 lib/commit.tcl:348 lib/commit.tcl:368 +msgid "Commit failed." +msgstr "Incheckningen misslyckades." + +#: lib/commit.tcl:321 #, tcl-format msgid "Commit %s appears to be corrupt" msgstr "Incheckningen %s verkar vara trasig" -#: lib/commit.tcl:279 +#: lib/commit.tcl:326 msgid "" "No changes to commit.\n" "\n" @@ -1289,37 +1323,32 @@ msgstr "" "\n" "En sökning kommer att startas automatiskt nu.\n" -#: lib/commit.tcl:286 +#: lib/commit.tcl:333 msgid "No changes to commit." msgstr "Inga ändringar att checka in." -#: lib/commit.tcl:303 -#, tcl-format -msgid "warning: Tcl does not support encoding '%s'." -msgstr "varning: Tcl stöder inte teckenkodningen \"%s\"." - -#: lib/commit.tcl:317 +#: lib/commit.tcl:347 msgid "commit-tree failed:" msgstr "commit-tree misslyckades:" -#: lib/commit.tcl:339 +#: lib/commit.tcl:367 msgid "update-ref failed:" msgstr "update-ref misslyckades:" -#: lib/commit.tcl:430 +#: lib/commit.tcl:454 #, tcl-format msgid "Created commit %s: %s" msgstr "Skapade incheckningen %s: %s" -#: lib/console.tcl:57 +#: lib/console.tcl:59 msgid "Working... please wait..." msgstr "Arbetar... vänta..." -#: lib/console.tcl:183 +#: lib/console.tcl:186 msgid "Success" msgstr "Lyckades" -#: lib/console.tcl:196 +#: lib/console.tcl:200 msgid "Error: Command Failed" msgstr "Fel: Kommando misslyckades" @@ -1398,8 +1427,8 @@ msgstr "" "\n" "%s innehÃ¥ller inga ändringar.\n" "\n" -"Modifieringsdatum för filen uppdaterades av ett annat program, men innehÃ¥llet " -"i filen har inte ändrats.\n" +"Modifieringsdatum för filen uppdaterades av ett annat program, men " +"innehÃ¥llet i filen har inte ändrats.\n" "\n" "En sökning kommer automatiskt att startas för att hitta andra filer som kan " "vara i samma tillstÃ¥nd." @@ -1430,23 +1459,23 @@ msgstr "* Binärfil (visar inte innehÃ¥llet)." msgid "Error loading diff:" msgstr "Fel vid inläsning av differens:" -#: lib/diff.tcl:302 +#: lib/diff.tcl:303 msgid "Failed to unstage selected hunk." msgstr "Kunde inte ta bort den valda delen frÃ¥n kön." -#: lib/diff.tcl:309 +#: lib/diff.tcl:310 msgid "Failed to stage selected hunk." msgstr "Kunde inte lägga till den valda delen till kön." -#: lib/error.tcl:12 lib/error.tcl:102 +#: lib/error.tcl:20 lib/error.tcl:114 msgid "error" msgstr "fel" -#: lib/error.tcl:28 +#: lib/error.tcl:36 msgid "warning" msgstr "varning" -#: lib/error.tcl:81 +#: lib/error.tcl:94 msgid "You must correct the above errors before committing." msgstr "Du mÃ¥ste rätta till felen ovan innan du checkar in." @@ -1479,6 +1508,10 @@ msgstr "LÃ¥s upp index" msgid "Unstaging %s from commit" msgstr "Tar bort %s för incheckningskön" +#: lib/index.tcl:313 +msgid "Ready to commit." +msgstr "Redo att checka in." + #: lib/index.tcl:326 #, tcl-format msgid "Adding %s" @@ -1494,11 +1527,12 @@ msgstr "Ã…terställ ändringarna i filen %s?" msgid "Revert changes in these %i files?" msgstr "Ã…terställ ändringarna i dessa %i filer?" -#: lib/index.tcl:389 +#: lib/index.tcl:391 msgid "Any unstaged changes will be permanently lost by the revert." -msgstr "Alla oköade ändringar kommer permanent gÃ¥ förlorade vid Ã¥terställningen." +msgstr "" +"Alla oköade ändringar kommer permanent gÃ¥ förlorade vid Ã¥terställningen." -#: lib/index.tcl:392 +#: lib/index.tcl:394 msgid "Do Nothing" msgstr "Gör ingenting" @@ -1510,7 +1544,7 @@ msgid "" msgstr "" "Kan inte slÃ¥ ihop vid utökning.\n" "\n" -"Du mÃ¥ste föra färdig utökningen av incheckningen innan du pÃ¥börjar nÃ¥gon " +"Du mÃ¥ste göra färdig utökningen av incheckningen innan du pÃ¥börjar nÃ¥gon " "slags sammanslagning.\n" #: lib/merge.tcl:27 @@ -1524,8 +1558,8 @@ msgid "" msgstr "" "Det senaste inlästa tillstÃ¥ndet motsvarar inte tillstÃ¥ndet i arkivet.\n" "\n" -"Ett annat Git-program har ändrat arkivet sedan senaste avsökningen. Du " -"mÃ¥ste utföra en ny sökning innan du kan utföra en sammanslagning.\n" +"Ett annat Git-program har ändrat arkivet sedan senaste avsökningen. Du mÃ¥ste " +"utföra en ny sökning innan du kan utföra en sammanslagning.\n" "\n" "Sökningen kommer att startas automatiskt nu.\n" @@ -1571,27 +1605,27 @@ msgstr "%s av %s" #: lib/merge.tcl:119 #, tcl-format -msgid "Merging %s and %s" -msgstr "SlÃ¥r ihop %s och %s" +msgid "Merging %s and %s..." +msgstr "SlÃ¥r ihop %s och %s..." -#: lib/merge.tcl:131 +#: lib/merge.tcl:130 msgid "Merge completed successfully." msgstr "Sammanslagningen avslutades framgÃ¥ngsrikt." -#: lib/merge.tcl:133 +#: lib/merge.tcl:132 msgid "Merge failed. Conflict resolution is required." msgstr "Sammanslagningen misslyckades. Du mÃ¥ste lösa konflikterna." -#: lib/merge.tcl:158 +#: lib/merge.tcl:157 #, tcl-format msgid "Merge Into %s" msgstr "SlÃ¥ ihop i %s" -#: lib/merge.tcl:177 +#: lib/merge.tcl:176 msgid "Revision To Merge" msgstr "Revisioner att slÃ¥ ihop" -#: lib/merge.tcl:212 +#: lib/merge.tcl:211 msgid "" "Cannot abort while amending.\n" "\n" @@ -1601,7 +1635,7 @@ msgstr "" "\n" "Du mÃ¥ste göra dig färdig med att utöka incheckningen.\n" -#: lib/merge.tcl:222 +#: lib/merge.tcl:221 msgid "" "Abort merge?\n" "\n" @@ -1611,12 +1645,12 @@ msgid "" msgstr "" "Avbryt sammanslagning?\n" "\n" -"Om du avbryter sammanslagningen kommer *ALLA* ej incheckade ändringar att " -"gÃ¥ förlorade.\n" +"Om du avbryter sammanslagningen kommer *ALLA* ej incheckade ändringar att gÃ¥ " +"förlorade.\n" "\n" "GÃ¥ vidare med att avbryta den aktuella sammanslagningen?" -#: lib/merge.tcl:228 +#: lib/merge.tcl:227 msgid "" "Reset changes?\n" "\n" @@ -1626,98 +1660,110 @@ msgid "" msgstr "" "Ã…terställ ändringar?\n" "\n" -"Om du Ã¥terställer ändringarna kommer *ALLA* ej incheckade ändringar att " -"gÃ¥ förlorade.\n" +"Om du Ã¥terställer ändringarna kommer *ALLA* ej incheckade ändringar att gÃ¥ " +"förlorade.\n" "\n" "GÃ¥ vidare med att Ã¥terställa de aktuella ändringarna?" -#: lib/merge.tcl:239 +#: lib/merge.tcl:238 msgid "Aborting" msgstr "Avbryter" -#: lib/merge.tcl:266 +#: lib/merge.tcl:238 +msgid "files reset" +msgstr "filer Ã¥terställda" + +#: lib/merge.tcl:265 msgid "Abort failed." msgstr "Misslyckades avbryta." -#: lib/merge.tcl:268 +#: lib/merge.tcl:267 msgid "Abort completed. Ready." msgstr "Avbrytning fullbordad. Redo." -#: lib/option.tcl:82 +#: lib/option.tcl:95 msgid "Restore Defaults" msgstr "Ã…terställ standardvärden" -#: lib/option.tcl:86 +#: lib/option.tcl:99 msgid "Save" msgstr "Spara" -#: lib/option.tcl:96 +#: lib/option.tcl:109 #, tcl-format msgid "%s Repository" msgstr "Arkivet %s" -#: lib/option.tcl:97 +#: lib/option.tcl:110 msgid "Global (All Repositories)" msgstr "Globalt (alla arkiv)" -#: lib/option.tcl:103 +#: lib/option.tcl:116 msgid "User Name" msgstr "Användarnamn" -#: lib/option.tcl:104 +#: lib/option.tcl:117 msgid "Email Address" msgstr "E-postadress" -#: lib/option.tcl:106 +#: lib/option.tcl:119 msgid "Summarize Merge Commits" msgstr "Summera sammanslagningsincheckningar" -#: lib/option.tcl:107 +#: lib/option.tcl:120 msgid "Merge Verbosity" msgstr "Pratsamhet för sammanslagningar" -#: lib/option.tcl:108 +#: lib/option.tcl:121 msgid "Show Diffstat After Merge" msgstr "Visa diffstatistik efter sammanslagning" -#: lib/option.tcl:110 +#: lib/option.tcl:123 msgid "Trust File Modification Timestamps" msgstr "Lita pÃ¥ filändringstidsstämplar" -#: lib/option.tcl:111 +#: lib/option.tcl:124 msgid "Prune Tracking Branches During Fetch" msgstr "Städa spÃ¥rade grenar vid hämtning" -#: lib/option.tcl:112 +#: lib/option.tcl:125 msgid "Match Tracking Branches" msgstr "Matcha spÃ¥rade grenar" -#: lib/option.tcl:113 +#: lib/option.tcl:126 msgid "Number of Diff Context Lines" msgstr "Antal rader sammanhang i differenser" -#: lib/option.tcl:114 +#: lib/option.tcl:127 +msgid "Commit Message Text Width" +msgstr "Textbredd för incheckningsmeddelande" + +#: lib/option.tcl:128 msgid "New Branch Name Template" msgstr "Mall för namn pÃ¥ nya grenar" -#: lib/option.tcl:176 +#: lib/option.tcl:192 +msgid "Spelling Dictionary:" +msgstr "Stavningsordlista:" + +#: lib/option.tcl:216 msgid "Change Font" msgstr "Byt teckensnitt" -#: lib/option.tcl:180 +#: lib/option.tcl:220 #, tcl-format msgid "Choose %s" msgstr "Välj %s" -#: lib/option.tcl:186 +#: lib/option.tcl:226 msgid "pt." msgstr "p." -#: lib/option.tcl:200 +#: lib/option.tcl:240 msgid "Preferences" msgstr "Inställningar" -#: lib/option.tcl:235 +#: lib/option.tcl:275 msgid "Failed to completely save options:" msgstr "Misslyckades med att helt spara alternativ:" @@ -1774,8 +1820,8 @@ msgid "" "One or more of the merge tests failed because you have not fetched the " "necessary commits. Try fetching from %s first." msgstr "" -"En eller flera av sammanslagningstesterna misslyckades eftersom du inte " -"har hämtat de nödvändiga incheckningarna. Försök hämta frÃ¥n %s först." +"En eller flera av sammanslagningstesterna misslyckades eftersom du inte har " +"hämtat de nödvändiga incheckningarna. Försök hämta frÃ¥n %s först." #: lib/remote_branch_delete.tcl:207 msgid "Please select one or more branches to delete." @@ -1787,7 +1833,7 @@ msgid "" "\n" "Delete the selected branches?" msgstr "" -"Det kan vara svÃ¥rt att Ã¥terställa grenar.\n" +"Det kan vara svÃ¥rt att Ã¥terställa borttagna grenar.\n" "\n" "Ta bort de valda grenarna?" @@ -1825,6 +1871,43 @@ msgstr "Kan inte skriva genväg:" msgid "Cannot write icon:" msgstr "Kan inte skriva ikon:" +#: lib/spellcheck.tcl:57 +msgid "Unsupported spell checker" +msgstr "Stavningskontrollprogrammet stöds inte" + +#: lib/spellcheck.tcl:65 +msgid "Spell checking is unavailable" +msgstr "Stavningskontroll är ej tillgänglig" + +#: lib/spellcheck.tcl:68 +msgid "Invalid spell checking configuration" +msgstr "Ogiltig inställning för stavningskontroll" + +#: lib/spellcheck.tcl:70 +#, tcl-format +msgid "Reverting dictionary to %s." +msgstr "Ã…terställer ordlistan till %s." + +#: lib/spellcheck.tcl:73 +msgid "Spell checker silently failed on startup" +msgstr "Stavningskontroll misslyckades tyst vid start" + +#: lib/spellcheck.tcl:80 +msgid "Unrecognized spell checker" +msgstr "Stavningskontrollprogrammet känns inte igen" + +#: lib/spellcheck.tcl:180 +msgid "No Suggestions" +msgstr "Inga förslag" + +#: lib/spellcheck.tcl:381 +msgid "Unexpected EOF from spell checker" +msgstr "Oväntat filslut frÃ¥n stavningskontroll" + +#: lib/spellcheck.tcl:385 +msgid "Spell Checker Failed" +msgstr "Stavningskontroll misslyckades" + #: lib/status_bar.tcl:83 #, tcl-format msgid "%s ... %*i of %*i %s (%3i%%)" @@ -1893,3 +1976,5 @@ msgstr "Använd tunt paket (för lÃ¥ngsamma nätverksanslutningar)" msgid "Include tags" msgstr "Ta med taggar" +#~ msgid "Not connected to aspell" +#~ msgstr "Inte ansluten till aspell" diff --git a/git-gui/po/zh_cn.po b/git-gui/po/zh_cn.po index f8697216f7..d2c6866671 100644 --- a/git-gui/po/zh_cn.po +++ b/git-gui/po/zh_cn.po @@ -15,7 +15,7 @@ # fast forward 快速åˆå¹¶(??) # stage ç¼“å˜ (译自 index/cache) # amend ä¿®æ£ -# reset å¤ä½ +# reset å¤ä½ # # 2008-01-06 Eric Miao <eric.y.miao@gmail.com> # FIXME: checkout çš„æ ‡å‡†ç¿»è¯‘ @@ -25,7 +25,7 @@ msgid "" msgstr "" "Project-Id-Version: git-gui\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2007-11-24 10:36+0100\n" +"POT-Creation-Date: 2008-03-14 07:18+0100\n" "PO-Revision-Date: 2007-07-21 01:23-0700\n" "Last-Translator: Eric Miao <eric.y.miao@gmail.com>\n" "Language-Team: Chinese\n" @@ -33,33 +33,33 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: git-gui.sh:41 git-gui.sh:604 git-gui.sh:618 git-gui.sh:631 git-gui.sh:714 -#: git-gui.sh:733 +#: git-gui.sh:41 git-gui.sh:634 git-gui.sh:648 git-gui.sh:661 git-gui.sh:744 +#: git-gui.sh:763 msgid "git-gui: fatal error" msgstr "git-gui: 致命错误" -#: git-gui.sh:565 +#: git-gui.sh:593 #, tcl-format msgid "Invalid font specified in %s:" msgstr "%s ä¸æŒ‡å®šçš„å—ä½“æ— æ•ˆ:" -#: git-gui.sh:590 +#: git-gui.sh:620 msgid "Main Font" msgstr "主è¦å—体" -#: git-gui.sh:591 +#: git-gui.sh:621 msgid "Diff/Console Font" msgstr "Diff/控制终端å—体" -#: git-gui.sh:605 +#: git-gui.sh:635 msgid "Cannot find git in PATH." msgstr "PATH ä¸æ²¡æœ‰æ‰¾åˆ° git" -#: git-gui.sh:632 +#: git-gui.sh:662 msgid "Cannot parse Git version string:" msgstr "æ— æ³•è§£æž Git 的版本信æ¯:" -#: git-gui.sh:650 +#: git-gui.sh:680 #, tcl-format msgid "" "Git version cannot be determined.\n" @@ -78,79 +78,79 @@ msgstr "" "\n" "是å¦å‡å®š '%s' 为版本 1.5.0?\n" -#: git-gui.sh:888 +#: git-gui.sh:918 msgid "Git directory not found:" msgstr "Git ç›®å½•æ— æ³•æ‰¾åˆ°:" -#: git-gui.sh:895 +#: git-gui.sh:925 msgid "Cannot move to top of working directory:" msgstr "æ— æ³•ç§»åŠ¨åˆ°å·¥ä½œæ ¹ç›®å½•:" -#: git-gui.sh:902 +#: git-gui.sh:932 msgid "Cannot use funny .git directory:" msgstr "æ— æ³•ä½¿ç”¨ .git 目录:" -#: git-gui.sh:907 +#: git-gui.sh:937 msgid "No working directory" msgstr "没有工作目录" -#: git-gui.sh:1054 +#: git-gui.sh:1084 lib/checkout_op.tcl:283 msgid "Refreshing file status..." msgstr "更新文件状æ€..." -#: git-gui.sh:1119 +#: git-gui.sh:1149 msgid "Scanning for modified files ..." msgstr "扫æ修改过的文件 ..." -#: git-gui.sh:1294 lib/browser.tcl:245 +#: git-gui.sh:1324 lib/browser.tcl:246 msgid "Ready." msgstr "就绪" -#: git-gui.sh:1560 +#: git-gui.sh:1590 msgid "Unmodified" msgstr "未修改" -#: git-gui.sh:1562 +#: git-gui.sh:1592 msgid "Modified, not staged" msgstr "修改但未缓å˜" -#: git-gui.sh:1563 git-gui.sh:1568 +#: git-gui.sh:1593 git-gui.sh:1598 msgid "Staged for commit" msgstr "缓å˜ä¸ºæ交" -#: git-gui.sh:1564 git-gui.sh:1569 +#: git-gui.sh:1594 git-gui.sh:1599 msgid "Portions staged for commit" msgstr "部分缓å˜ä¸ºæ交" -#: git-gui.sh:1565 git-gui.sh:1570 +#: git-gui.sh:1595 git-gui.sh:1600 msgid "Staged for commit, missing" msgstr "缓å˜ä¸ºæ交, ä¸å˜åœ¨" -#: git-gui.sh:1567 +#: git-gui.sh:1597 msgid "Untracked, not staged" msgstr "未跟踪, 未缓å˜" -#: git-gui.sh:1572 +#: git-gui.sh:1602 msgid "Missing" msgstr "ä¸å˜åœ¨" -#: git-gui.sh:1573 +#: git-gui.sh:1603 msgid "Staged for removal" msgstr "缓å˜ä¸ºåˆ 除" -#: git-gui.sh:1574 +#: git-gui.sh:1604 msgid "Staged for removal, still present" msgstr "缓å˜ä¸ºåˆ 除, 但ä»å˜åœ¨" -#: git-gui.sh:1576 git-gui.sh:1577 git-gui.sh:1578 git-gui.sh:1579 +#: git-gui.sh:1606 git-gui.sh:1607 git-gui.sh:1608 git-gui.sh:1609 msgid "Requires merge resolution" msgstr "需è¦è§£å†³åˆå¹¶å†²çª" -#: git-gui.sh:1614 +#: git-gui.sh:1644 msgid "Starting gitk... please wait..." msgstr "å¯åŠ¨ gitk... 请ç‰å¾…..." -#: git-gui.sh:1623 +#: git-gui.sh:1653 #, tcl-format msgid "" "Unable to start gitk:\n" @@ -161,295 +161,295 @@ msgstr "" "\n" "%s ä¸å˜åœ¨" -#: git-gui.sh:1823 lib/choose_repository.tcl:35 +#: git-gui.sh:1860 lib/choose_repository.tcl:36 msgid "Repository" msgstr "版本库(repository)" -#: git-gui.sh:1824 +#: git-gui.sh:1861 msgid "Edit" msgstr "编辑" -#: git-gui.sh:1826 lib/choose_rev.tcl:560 +#: git-gui.sh:1863 lib/choose_rev.tcl:561 msgid "Branch" msgstr "分支(branch)" -#: git-gui.sh:1829 lib/choose_rev.tcl:547 +#: git-gui.sh:1866 lib/choose_rev.tcl:548 msgid "Commit@@noun" msgstr "æ交(commit)" -#: git-gui.sh:1832 lib/merge.tcl:121 lib/merge.tcl:150 lib/merge.tcl:168 +#: git-gui.sh:1869 lib/merge.tcl:120 lib/merge.tcl:149 lib/merge.tcl:167 msgid "Merge" msgstr "åˆå¹¶(merge)" -#: git-gui.sh:1833 lib/choose_rev.tcl:556 +#: git-gui.sh:1870 lib/choose_rev.tcl:557 msgid "Remote" msgstr "远端(remote)" -#: git-gui.sh:1842 +#: git-gui.sh:1879 msgid "Browse Current Branch's Files" msgstr "æµè§ˆå½“å‰åˆ†æ”¯ä¸Šçš„文件" -#: git-gui.sh:1846 +#: git-gui.sh:1883 msgid "Browse Branch Files..." msgstr "æµè§ˆåˆ†æ”¯ä¸Šçš„文件..." -#: git-gui.sh:1851 +#: git-gui.sh:1888 msgid "Visualize Current Branch's History" msgstr "图示当å‰åˆ†æ”¯çš„历å²" -#: git-gui.sh:1855 +#: git-gui.sh:1892 msgid "Visualize All Branch History" msgstr "图示所有分支的历å²" -#: git-gui.sh:1862 +#: git-gui.sh:1899 #, tcl-format msgid "Browse %s's Files" msgstr "æµè§ˆ %s 上的文件" -#: git-gui.sh:1864 +#: git-gui.sh:1901 #, tcl-format msgid "Visualize %s's History" msgstr "图示 %s 分支的历å²" -#: git-gui.sh:1869 lib/database.tcl:27 lib/database.tcl:67 +#: git-gui.sh:1906 lib/database.tcl:27 lib/database.tcl:67 msgid "Database Statistics" msgstr "æ•°æ®åº“统计信æ¯" -#: git-gui.sh:1872 lib/database.tcl:34 +#: git-gui.sh:1909 lib/database.tcl:34 msgid "Compress Database" msgstr "压缩数æ®åº“" -#: git-gui.sh:1875 +#: git-gui.sh:1912 msgid "Verify Database" msgstr "验è¯æ•°æ®åº“" -#: git-gui.sh:1882 git-gui.sh:1886 git-gui.sh:1890 lib/shortcut.tcl:7 +#: git-gui.sh:1919 git-gui.sh:1923 git-gui.sh:1927 lib/shortcut.tcl:7 #: lib/shortcut.tcl:39 lib/shortcut.tcl:71 msgid "Create Desktop Icon" msgstr "创建桌é¢å›¾æ ‡" -#: git-gui.sh:1895 lib/choose_repository.tcl:176 lib/choose_repository.tcl:184 +#: git-gui.sh:1932 lib/choose_repository.tcl:177 lib/choose_repository.tcl:185 msgid "Quit" msgstr "退出" -#: git-gui.sh:1902 +#: git-gui.sh:1939 msgid "Undo" msgstr "撤销" -#: git-gui.sh:1905 +#: git-gui.sh:1942 msgid "Redo" msgstr "é‡åš" -#: git-gui.sh:1909 git-gui.sh:2403 +#: git-gui.sh:1946 git-gui.sh:2443 msgid "Cut" msgstr "剪切" -#: git-gui.sh:1912 git-gui.sh:2406 git-gui.sh:2477 git-gui.sh:2549 -#: lib/console.tcl:67 +#: git-gui.sh:1949 git-gui.sh:2446 git-gui.sh:2520 git-gui.sh:2614 +#: lib/console.tcl:69 msgid "Copy" msgstr "å¤åˆ¶" -#: git-gui.sh:1915 git-gui.sh:2409 +#: git-gui.sh:1952 git-gui.sh:2449 msgid "Paste" msgstr "粘贴" -#: git-gui.sh:1918 git-gui.sh:2412 lib/branch_delete.tcl:26 +#: git-gui.sh:1955 git-gui.sh:2452 lib/branch_delete.tcl:26 #: lib/remote_branch_delete.tcl:38 msgid "Delete" msgstr "åˆ é™¤" -#: git-gui.sh:1922 git-gui.sh:2416 git-gui.sh:2553 lib/console.tcl:69 +#: git-gui.sh:1959 git-gui.sh:2456 git-gui.sh:2618 lib/console.tcl:71 msgid "Select All" msgstr "全选" -#: git-gui.sh:1931 +#: git-gui.sh:1968 msgid "Create..." msgstr "新建..." -#: git-gui.sh:1937 +#: git-gui.sh:1974 msgid "Checkout..." msgstr "Checkout..." -#: git-gui.sh:1943 +#: git-gui.sh:1980 msgid "Rename..." msgstr "æ›´å..." -#: git-gui.sh:1948 git-gui.sh:2048 +#: git-gui.sh:1985 git-gui.sh:2085 msgid "Delete..." msgstr "åˆ é™¤..." -#: git-gui.sh:1953 +#: git-gui.sh:1990 msgid "Reset..." msgstr "å¤ä½(Reset)..." -#: git-gui.sh:1965 git-gui.sh:2350 +#: git-gui.sh:2002 git-gui.sh:2389 msgid "New Commit" msgstr "新建æ交" -#: git-gui.sh:1973 git-gui.sh:2357 +#: git-gui.sh:2010 git-gui.sh:2396 msgid "Amend Last Commit" msgstr "ä¿®æ£ä¸Šæ¬¡æ交" -#: git-gui.sh:1982 git-gui.sh:2317 lib/remote_branch_delete.tcl:99 +#: git-gui.sh:2019 git-gui.sh:2356 lib/remote_branch_delete.tcl:99 msgid "Rescan" msgstr "é‡æ–°æ‰«æ" -#: git-gui.sh:1988 +#: git-gui.sh:2025 msgid "Stage To Commit" msgstr "缓å˜ä¸ºæ交" -#: git-gui.sh:1994 +#: git-gui.sh:2031 msgid "Stage Changed Files To Commit" msgstr "缓å˜ä¿®æ”¹çš„文件为æ交" -#: git-gui.sh:2000 +#: git-gui.sh:2037 msgid "Unstage From Commit" msgstr "从本次æ交撤除" -#: git-gui.sh:2005 lib/index.tcl:393 +#: git-gui.sh:2042 lib/index.tcl:395 msgid "Revert Changes" msgstr "撤销修改" -#: git-gui.sh:2012 git-gui.sh:2329 git-gui.sh:2427 +#: git-gui.sh:2049 git-gui.sh:2368 git-gui.sh:2467 msgid "Sign Off" msgstr "ç¾å(Sign Off)" -#: git-gui.sh:2016 git-gui.sh:2333 +#: git-gui.sh:2053 git-gui.sh:2372 msgid "Commit@@verb" msgstr "æ交" -#: git-gui.sh:2027 +#: git-gui.sh:2064 msgid "Local Merge..." msgstr "本地åˆå¹¶..." -#: git-gui.sh:2032 +#: git-gui.sh:2069 msgid "Abort Merge..." msgstr "ä¸æ¢åˆå¹¶..." -#: git-gui.sh:2044 +#: git-gui.sh:2081 msgid "Push..." msgstr "ä¸Šä¼ ..." -#: git-gui.sh:2055 lib/choose_repository.tcl:40 +#: git-gui.sh:2092 lib/choose_repository.tcl:41 msgid "Apple" msgstr "苹果" -#: git-gui.sh:2058 git-gui.sh:2080 lib/about.tcl:13 -#: lib/choose_repository.tcl:43 lib/choose_repository.tcl:49 +#: git-gui.sh:2095 git-gui.sh:2117 lib/about.tcl:14 +#: lib/choose_repository.tcl:44 lib/choose_repository.tcl:50 #, tcl-format msgid "About %s" msgstr "关于 %s" -#: git-gui.sh:2062 +#: git-gui.sh:2099 msgid "Preferences..." msgstr "首选项..." -#: git-gui.sh:2070 git-gui.sh:2595 +#: git-gui.sh:2107 git-gui.sh:2639 msgid "Options..." msgstr "选项..." -#: git-gui.sh:2076 lib/choose_repository.tcl:46 +#: git-gui.sh:2113 lib/choose_repository.tcl:47 msgid "Help" msgstr "帮助" -#: git-gui.sh:2117 +#: git-gui.sh:2154 msgid "Online Documentation" msgstr "在线文档" -#: git-gui.sh:2201 +#: git-gui.sh:2238 #, tcl-format msgid "fatal: cannot stat path %s: No such file or directory" msgstr "致命错误: æ— æ³•èŽ·å–路径 %s çš„ä¿¡æ¯: 该文件或目录ä¸å˜åœ¨" -#: git-gui.sh:2234 +#: git-gui.sh:2271 msgid "Current Branch:" msgstr "当å‰åˆ†æ”¯:" -#: git-gui.sh:2255 +#: git-gui.sh:2292 msgid "Staged Changes (Will Commit)" msgstr "已缓å˜çš„改动 (将被æ交)" -#: git-gui.sh:2274 +#: git-gui.sh:2312 msgid "Unstaged Changes" msgstr "未缓å˜çš„改动" -#: git-gui.sh:2323 +#: git-gui.sh:2362 msgid "Stage Changed" msgstr "缓å˜æ”¹åŠ¨" -#: git-gui.sh:2339 lib/transport.tcl:93 lib/transport.tcl:182 +#: git-gui.sh:2378 lib/transport.tcl:93 lib/transport.tcl:182 msgid "Push" msgstr "ä¸Šä¼ " -#: git-gui.sh:2369 +#: git-gui.sh:2408 msgid "Initial Commit Message:" msgstr "åˆå§‹çš„æ交æè¿°:" -#: git-gui.sh:2370 +#: git-gui.sh:2409 msgid "Amended Commit Message:" msgstr "ä¿®æ£çš„æ交æè¿°:" -#: git-gui.sh:2371 +#: git-gui.sh:2410 msgid "Amended Initial Commit Message:" msgstr "ä¿®æ£çš„åˆå§‹æ交æè¿°:" -#: git-gui.sh:2372 +#: git-gui.sh:2411 msgid "Amended Merge Commit Message:" msgstr "ä¿®æ£çš„åˆå¹¶æ交æè¿°:" -#: git-gui.sh:2373 +#: git-gui.sh:2412 msgid "Merge Commit Message:" msgstr "åˆå¹¶æ交æè¿°:" -#: git-gui.sh:2374 +#: git-gui.sh:2413 msgid "Commit Message:" msgstr "æ交æè¿°:" -#: git-gui.sh:2419 git-gui.sh:2557 lib/console.tcl:71 +#: git-gui.sh:2459 git-gui.sh:2622 lib/console.tcl:73 msgid "Copy All" msgstr "全部å¤åˆ¶" -#: git-gui.sh:2443 lib/blame.tcl:104 +#: git-gui.sh:2483 lib/blame.tcl:107 msgid "File:" msgstr "文件:" -#: git-gui.sh:2545 -msgid "Refresh" -msgstr "刷新" - -#: git-gui.sh:2566 +#: git-gui.sh:2589 msgid "Apply/Reverse Hunk" msgstr "应用/撤消æ¤ä¿®æ”¹å—" -#: git-gui.sh:2572 -msgid "Decrease Font Size" -msgstr "缩å°å—体" - -#: git-gui.sh:2576 -msgid "Increase Font Size" -msgstr "放大å—体" - -#: git-gui.sh:2581 +#: git-gui.sh:2595 msgid "Show Less Context" msgstr "显示更少上下文" -#: git-gui.sh:2588 +#: git-gui.sh:2602 msgid "Show More Context" msgstr "显示更多上下文" -#: git-gui.sh:2602 +#: git-gui.sh:2610 +msgid "Refresh" +msgstr "刷新" + +#: git-gui.sh:2631 +msgid "Decrease Font Size" +msgstr "缩å°å—体" + +#: git-gui.sh:2635 +msgid "Increase Font Size" +msgstr "放大å—体" + +#: git-gui.sh:2646 msgid "Unstage Hunk From Commit" msgstr "从æ交ä¸æ’¤é™¤ä¿®æ”¹å—" -#: git-gui.sh:2604 +#: git-gui.sh:2648 msgid "Stage Hunk For Commit" msgstr "缓å˜ä¿®æ”¹å—为æ交" -#: git-gui.sh:2623 +#: git-gui.sh:2667 msgid "Initializing..." msgstr "åˆå§‹åŒ–..." -#: git-gui.sh:2718 +#: git-gui.sh:2762 #, tcl-format msgid "" "Possible environment issues exist.\n" @@ -464,7 +464,7 @@ msgstr "" "ç”± %s 执行的 Git å进程å¯èƒ½å¿½ç•¥ä¸‹åˆ—环境å˜é‡:\n" "\n" -#: git-gui.sh:2748 +#: git-gui.sh:2792 msgid "" "\n" "This is due to a known issue with the\n" @@ -474,7 +474,7 @@ msgstr "" "这是由 Cygwin å‘布的 Tcl 代ç ä¸ä¸€ä¸ª\n" "已知问题所引起." -#: git-gui.sh:2753 +#: git-gui.sh:2797 #, tcl-format msgid "" "\n" @@ -489,7 +489,7 @@ msgstr "" "%s 的一个很好的替代方案是将 user.name 以åŠ\n" "user.email è®¾ç½®æ”¾åœ¨ä½ çš„ä¸ªäºº ~/.gitconfig 文件ä¸.\n" -#: lib/about.tcl:25 +#: lib/about.tcl:26 msgid "git-gui - a graphical user interface for Git." msgstr "git-gui - Git 的图形化用户界é¢" @@ -501,56 +501,56 @@ msgstr "文件查看器" msgid "Commit:" msgstr "æ交:" -#: lib/blame.tcl:249 +#: lib/blame.tcl:264 msgid "Copy Commit" msgstr "å¤åˆ¶æ交" -#: lib/blame.tcl:369 +#: lib/blame.tcl:384 #, tcl-format msgid "Reading %s..." msgstr "è¯»å– %s..." -#: lib/blame.tcl:473 +#: lib/blame.tcl:488 msgid "Loading copy/move tracking annotations..." msgstr "装载å¤åˆ¶/ç§»åŠ¨è·Ÿè¸ªæ ‡æ³¨..." -#: lib/blame.tcl:493 +#: lib/blame.tcl:508 msgid "lines annotated" msgstr "æ ‡æ³¨è¡Œ" -#: lib/blame.tcl:674 +#: lib/blame.tcl:689 msgid "Loading original location annotations..." msgstr "装载原始ä½ç½®æ ‡æ³¨..." -#: lib/blame.tcl:677 +#: lib/blame.tcl:692 msgid "Annotation complete." msgstr "æ ‡æ³¨å®Œæˆ." -#: lib/blame.tcl:731 +#: lib/blame.tcl:746 msgid "Loading annotation..." msgstr "è£è¼‰æ ‡æ³¨..." -#: lib/blame.tcl:787 +#: lib/blame.tcl:802 msgid "Author:" msgstr "作者:" -#: lib/blame.tcl:791 +#: lib/blame.tcl:806 msgid "Committer:" msgstr "æ交者:" -#: lib/blame.tcl:796 +#: lib/blame.tcl:811 msgid "Original File:" msgstr "原始文件:" -#: lib/blame.tcl:910 +#: lib/blame.tcl:925 msgid "Originally By:" msgstr "最åˆç”±:" -#: lib/blame.tcl:916 +#: lib/blame.tcl:931 msgid "In File:" msgstr "在文件:" -#: lib/blame.tcl:921 +#: lib/blame.tcl:936 msgid "Copied Or Moved Here By:" msgstr "ç”±å¤åˆ¶æˆ–移动至æ¤:" @@ -563,17 +563,17 @@ msgid "Checkout" msgstr "Checkout" #: lib/branch_checkout.tcl:27 lib/branch_create.tcl:35 -#: lib/branch_delete.tcl:32 lib/branch_rename.tcl:30 lib/browser.tcl:281 -#: lib/checkout_op.tcl:522 lib/choose_font.tcl:43 lib/merge.tcl:172 -#: lib/option.tcl:90 lib/remote_branch_delete.tcl:42 lib/transport.tcl:97 +#: lib/branch_delete.tcl:32 lib/branch_rename.tcl:30 lib/browser.tcl:282 +#: lib/checkout_op.tcl:522 lib/choose_font.tcl:43 lib/merge.tcl:171 +#: lib/option.tcl:103 lib/remote_branch_delete.tcl:42 lib/transport.tcl:97 msgid "Cancel" msgstr "å–消" -#: lib/branch_checkout.tcl:32 lib/browser.tcl:286 +#: lib/branch_checkout.tcl:32 lib/browser.tcl:287 msgid "Revision" msgstr "版本" -#: lib/branch_checkout.tcl:36 lib/branch_create.tcl:69 lib/option.tcl:202 +#: lib/branch_checkout.tcl:36 lib/branch_create.tcl:69 lib/option.tcl:242 msgid "Options" msgstr "选项..." @@ -593,7 +593,7 @@ msgstr "创建分支" msgid "Create New Branch" msgstr "新建分支" -#: lib/branch_create.tcl:31 lib/choose_repository.tcl:375 +#: lib/branch_create.tcl:31 lib/choose_repository.tcl:371 msgid "Create" msgstr "新建" @@ -733,22 +733,22 @@ msgstr "开始..." msgid "File Browser" msgstr "文件æµè§ˆå™¨" -#: lib/browser.tcl:125 lib/browser.tcl:142 +#: lib/browser.tcl:126 lib/browser.tcl:143 #, tcl-format msgid "Loading %s..." msgstr "装载 %s..." -#: lib/browser.tcl:186 +#: lib/browser.tcl:187 msgid "[Up To Parent]" msgstr "[上层目录]" -#: lib/browser.tcl:266 lib/browser.tcl:272 +#: lib/browser.tcl:267 lib/browser.tcl:273 msgid "Browse Branch Files" msgstr "æµè§ˆåˆ†æ”¯æ–‡ä»¶" -#: lib/browser.tcl:277 lib/choose_repository.tcl:391 -#: lib/choose_repository.tcl:482 lib/choose_repository.tcl:492 -#: lib/choose_repository.tcl:989 +#: lib/browser.tcl:278 lib/choose_repository.tcl:387 +#: lib/choose_repository.tcl:474 lib/choose_repository.tcl:484 +#: lib/choose_repository.tcl:987 msgid "Browse" msgstr "æµè§ˆ" @@ -762,7 +762,7 @@ msgstr "èŽ·å– %s 自 %s" msgid "fatal: Cannot resolve %s" msgstr "致命错误: æ— æ³•è§£å†³ %s" -#: lib/checkout_op.tcl:140 lib/console.tcl:79 lib/database.tcl:31 +#: lib/checkout_op.tcl:140 lib/console.tcl:81 lib/database.tcl:31 msgid "Close" msgstr "å…³é—" @@ -819,6 +819,10 @@ msgstr "" msgid "Updating working directory to '%s'..." msgstr "更新工作目录到 '%s'..." +#: lib/checkout_op.tcl:323 +msgid "files checked out" +msgstr "" + #: lib/checkout_op.tcl:353 #, tcl-format msgid "Aborted checkout of '%s' (file level merging is required)." @@ -844,7 +848,7 @@ msgstr "" "\n" "å¦‚æžœä½ æƒ³ä½äºŽæŸåˆ†æ”¯ä¸Š, 从当å‰è„±èŠ‚çš„Checkoutä¸åˆ›å»ºä¸€ä¸ªæ–°åˆ†æ”¯." -#: lib/checkout_op.tcl:446 +#: lib/checkout_op.tcl:446 lib/checkout_op.tcl:450 #, tcl-format msgid "Checked out '%s'." msgstr "'%s' 已被 checkout" @@ -863,7 +867,7 @@ msgstr "æ¢å¤ä¸¢å¤±çš„æ交是比较困难的." msgid "Reset '%s'?" msgstr "å¤ä½ '%s'?" -#: lib/checkout_op.tcl:510 lib/merge.tcl:164 +#: lib/checkout_op.tcl:510 lib/merge.tcl:163 msgid "Visualize" msgstr "图示" @@ -892,15 +896,15 @@ msgstr "选择" msgid "Font Family" msgstr "å—体æ—" -#: lib/choose_font.tcl:73 +#: lib/choose_font.tcl:74 msgid "Font Size" msgstr "å—体大å°" -#: lib/choose_font.tcl:90 +#: lib/choose_font.tcl:91 msgid "Font Example" msgstr "å—ä½“æ ·ä¾‹" -#: lib/choose_font.tcl:101 +#: lib/choose_font.tcl:103 msgid "" "This is example text.\n" "If you like this text, it can be your font." @@ -908,226 +912,226 @@ msgstr "" "è¿™æ˜¯æ ·ä¾‹æ–‡æœ¬.\n" "å¦‚æžœä½ å–œæ¬¢, ä½ å¯ä»¥è®¾ç½®è¯¥å—体." -#: lib/choose_repository.tcl:27 +#: lib/choose_repository.tcl:28 msgid "Git Gui" msgstr "Git Gui" -#: lib/choose_repository.tcl:80 lib/choose_repository.tcl:380 +#: lib/choose_repository.tcl:81 lib/choose_repository.tcl:376 msgid "Create New Repository" msgstr "创建新的版本库" -#: lib/choose_repository.tcl:86 +#: lib/choose_repository.tcl:87 msgid "New..." msgstr "新建..." -#: lib/choose_repository.tcl:93 lib/choose_repository.tcl:468 +#: lib/choose_repository.tcl:94 lib/choose_repository.tcl:460 msgid "Clone Existing Repository" msgstr "克隆已有版本库" -#: lib/choose_repository.tcl:99 +#: lib/choose_repository.tcl:100 msgid "Clone..." msgstr "克隆..." -#: lib/choose_repository.tcl:106 lib/choose_repository.tcl:978 +#: lib/choose_repository.tcl:107 lib/choose_repository.tcl:976 msgid "Open Existing Repository" msgstr "打开已有版本库" -#: lib/choose_repository.tcl:112 +#: lib/choose_repository.tcl:113 msgid "Open..." msgstr "打开..." -#: lib/choose_repository.tcl:125 +#: lib/choose_repository.tcl:126 msgid "Recent Repositories" msgstr "最近版本库" -#: lib/choose_repository.tcl:131 +#: lib/choose_repository.tcl:132 msgid "Open Recent Repository:" msgstr "打开最近版本库" -#: lib/choose_repository.tcl:294 -#, tcl-format -msgid "Location %s already exists." -msgstr "ä½ç½® %s å·²ç»å˜åœ¨." - -#: lib/choose_repository.tcl:300 lib/choose_repository.tcl:307 -#: lib/choose_repository.tcl:314 +#: lib/choose_repository.tcl:296 lib/choose_repository.tcl:303 +#: lib/choose_repository.tcl:310 #, tcl-format msgid "Failed to create repository %s:" msgstr "æ— æ³•åˆ›å»ºç‰ˆæœ¬åº“ %s:" -#: lib/choose_repository.tcl:385 lib/choose_repository.tcl:486 +#: lib/choose_repository.tcl:381 lib/choose_repository.tcl:478 msgid "Directory:" msgstr "目录:" -#: lib/choose_repository.tcl:415 lib/choose_repository.tcl:544 -#: lib/choose_repository.tcl:1013 +#: lib/choose_repository.tcl:412 lib/choose_repository.tcl:537 +#: lib/choose_repository.tcl:1011 msgid "Git Repository" msgstr "Git 版本库" -#: lib/choose_repository.tcl:430 lib/choose_repository.tcl:437 +#: lib/choose_repository.tcl:437 #, tcl-format msgid "Directory %s already exists." msgstr "目录 %s å·²ç»å˜åœ¨." -#: lib/choose_repository.tcl:442 +#: lib/choose_repository.tcl:441 #, tcl-format msgid "File %s already exists." msgstr "文件 %s å·²ç»å˜åœ¨." -#: lib/choose_repository.tcl:463 +#: lib/choose_repository.tcl:455 msgid "Clone" msgstr "克隆" -#: lib/choose_repository.tcl:476 +#: lib/choose_repository.tcl:468 msgid "URL:" msgstr "URL:" -#: lib/choose_repository.tcl:496 +#: lib/choose_repository.tcl:489 msgid "Clone Type:" msgstr "克隆类型:" -#: lib/choose_repository.tcl:502 +#: lib/choose_repository.tcl:495 msgid "Standard (Fast, Semi-Redundant, Hardlinks)" msgstr "æ ‡å‡†æ–¹å¼ (快速, 部分备份, 作硬连接)" -#: lib/choose_repository.tcl:508 +#: lib/choose_repository.tcl:501 msgid "Full Copy (Slower, Redundant Backup)" msgstr "全部å¤åˆ¶ (较慢, åšå¤‡ä»½)" -#: lib/choose_repository.tcl:514 +#: lib/choose_repository.tcl:507 msgid "Shared (Fastest, Not Recommended, No Backup)" msgstr "å…±äº«æ–¹å¼ (最快, ä¸æŽ¨è, ä¸åšå¤‡ä»½)" -#: lib/choose_repository.tcl:550 lib/choose_repository.tcl:597 -#: lib/choose_repository.tcl:738 lib/choose_repository.tcl:808 -#: lib/choose_repository.tcl:1019 lib/choose_repository.tcl:1027 +#: lib/choose_repository.tcl:543 lib/choose_repository.tcl:590 +#: lib/choose_repository.tcl:736 lib/choose_repository.tcl:806 +#: lib/choose_repository.tcl:1017 lib/choose_repository.tcl:1025 #, tcl-format msgid "Not a Git repository: %s" msgstr "ä¸æ˜¯ä¸€ä¸ª Git 版本库: %s" -#: lib/choose_repository.tcl:586 +#: lib/choose_repository.tcl:579 msgid "Standard only available for local repository." msgstr "æ ‡å‡†æ–¹å¼ä»…当是本地版本库时有效." -#: lib/choose_repository.tcl:590 +#: lib/choose_repository.tcl:583 msgid "Shared only available for local repository." msgstr "共享方å¼ä»…当是本地版本库时有效." -#: lib/choose_repository.tcl:617 +#: lib/choose_repository.tcl:604 +#, tcl-format +msgid "Location %s already exists." +msgstr "ä½ç½® %s å·²ç»å˜åœ¨." + +#: lib/choose_repository.tcl:615 msgid "Failed to configure origin" msgstr "æ— æ³•é…ç½® origin" -#: lib/choose_repository.tcl:629 +#: lib/choose_repository.tcl:627 msgid "Counting objects" msgstr "清点对象" -#: lib/choose_repository.tcl:630 +#: lib/choose_repository.tcl:628 #, fuzzy msgid "buckets" msgstr "水桶??" -#: lib/choose_repository.tcl:654 +#: lib/choose_repository.tcl:652 #, tcl-format msgid "Unable to copy objects/info/alternates: %s" msgstr "æ— æ³•å¤åˆ¶ objects/info/alternates: %s" -#: lib/choose_repository.tcl:690 +#: lib/choose_repository.tcl:688 #, tcl-format msgid "Nothing to clone from %s." msgstr "没有东西å¯ä»Ž %s 克隆." -#: lib/choose_repository.tcl:692 lib/choose_repository.tcl:906 -#: lib/choose_repository.tcl:918 +#: lib/choose_repository.tcl:690 lib/choose_repository.tcl:904 +#: lib/choose_repository.tcl:916 msgid "The 'master' branch has not been initialized." msgstr "'master'分支尚未åˆå§‹åŒ–." -#: lib/choose_repository.tcl:705 +#: lib/choose_repository.tcl:703 msgid "Hardlinks are unavailable. Falling back to copying." msgstr "硬连接ä¸å¯ç”¨. 使用å¤åˆ¶." -#: lib/choose_repository.tcl:717 +#: lib/choose_repository.tcl:715 #, tcl-format msgid "Cloning from %s" msgstr "从 %s 克隆" -#: lib/choose_repository.tcl:748 +#: lib/choose_repository.tcl:746 msgid "Copying objects" msgstr "å¤åˆ¶ objects" -#: lib/choose_repository.tcl:749 +#: lib/choose_repository.tcl:747 msgid "KiB" msgstr "KiB" -#: lib/choose_repository.tcl:773 +#: lib/choose_repository.tcl:771 #, tcl-format msgid "Unable to copy object: %s" msgstr "æ— æ³•å¤åˆ¶ object: %s" -#: lib/choose_repository.tcl:783 +#: lib/choose_repository.tcl:781 msgid "Linking objects" msgstr "链接 objects" -#: lib/choose_repository.tcl:784 +#: lib/choose_repository.tcl:782 msgid "objects" msgstr "objects" -#: lib/choose_repository.tcl:792 +#: lib/choose_repository.tcl:790 #, tcl-format msgid "Unable to hardlink object: %s" msgstr "æ— æ³•ç¡¬é“¾æŽ¥ object: %s" -#: lib/choose_repository.tcl:847 +#: lib/choose_repository.tcl:845 msgid "Cannot fetch branches and objects. See console output for details." msgstr "æ— æ³•èŽ·å–分支和对象. 请查看控制终端的输出." -#: lib/choose_repository.tcl:858 +#: lib/choose_repository.tcl:856 msgid "Cannot fetch tags. See console output for details." msgstr "æ— æ³•èŽ·å–æ ‡ç¾. 请查看控制终端的输出." -#: lib/choose_repository.tcl:882 +#: lib/choose_repository.tcl:880 msgid "Cannot determine HEAD. See console output for details." msgstr "æ— æ³•ç¡®å®š HEAD. 请查看控制终端的输出." -#: lib/choose_repository.tcl:891 +#: lib/choose_repository.tcl:889 #, tcl-format msgid "Unable to cleanup %s" msgstr "æ— æ³•æ¸…ç† %s" -#: lib/choose_repository.tcl:897 +#: lib/choose_repository.tcl:895 msgid "Clone failed." msgstr "克隆失败." -#: lib/choose_repository.tcl:904 +#: lib/choose_repository.tcl:902 msgid "No default branch obtained." msgstr "没有获å–缺çœåˆ†æ”¯" -#: lib/choose_repository.tcl:915 +#: lib/choose_repository.tcl:913 #, tcl-format msgid "Cannot resolve %s as a commit." msgstr "æ— æ³•è§£æž %s 为æ交." -#: lib/choose_repository.tcl:927 +#: lib/choose_repository.tcl:925 msgid "Creating working directory" msgstr "创建工作目录" -#: lib/choose_repository.tcl:928 lib/index.tcl:65 lib/index.tcl:127 +#: lib/choose_repository.tcl:926 lib/index.tcl:65 lib/index.tcl:127 #: lib/index.tcl:193 msgid "files" msgstr "文件" -#: lib/choose_repository.tcl:957 +#: lib/choose_repository.tcl:955 msgid "Initial file checkout failed." msgstr "åˆå§‹çš„文件checkout失败" -#: lib/choose_repository.tcl:973 +#: lib/choose_repository.tcl:971 msgid "Open" msgstr "打开" -#: lib/choose_repository.tcl:983 +#: lib/choose_repository.tcl:981 msgid "Repository:" msgstr "版本库" -#: lib/choose_repository.tcl:1033 +#: lib/choose_repository.tcl:1031 #, tcl-format msgid "Failed to open repository %s:" msgstr "æ— æ³•æ‰“å¼€ç‰ˆæœ¬åº“ %s:" @@ -1148,7 +1152,7 @@ msgstr "本地分支" msgid "Tracking Branch" msgstr "跟踪分支:" -#: lib/choose_rev.tcl:84 lib/choose_rev.tcl:537 +#: lib/choose_rev.tcl:84 lib/choose_rev.tcl:538 msgid "Tag" msgstr "æ ‡ç¾" @@ -1165,11 +1169,11 @@ msgstr "没有选择版本." msgid "Revision expression is empty." msgstr "版本表达å¼ä¸ºç©º." -#: lib/choose_rev.tcl:530 +#: lib/choose_rev.tcl:531 msgid "Updated" msgstr "已更新" -#: lib/choose_rev.tcl:558 +#: lib/choose_rev.tcl:559 msgid "URL" msgstr "URL" @@ -1276,16 +1280,46 @@ msgstr "" "- 第二行: 空行\n" "- 剩余行: 请æè¿°ä¸ºä»€ä¹ˆä½ åšçš„这些改动是好的.\n" -#: lib/commit.tcl:257 +#: lib/commit.tcl:207 +#, tcl-format +msgid "warning: Tcl does not support encoding '%s'." +msgstr "è¦å‘Š: Tcl ä¸æ”¯æŒç¼–ç æ–¹å¼ '%s'." + +#: lib/commit.tcl:221 +msgid "Calling pre-commit hook..." +msgstr "" + +#: lib/commit.tcl:236 +msgid "Commit declined by pre-commit hook." +msgstr "" + +#: lib/commit.tcl:259 +msgid "Calling commit-msg hook..." +msgstr "" + +#: lib/commit.tcl:274 +msgid "Commit declined by commit-msg hook." +msgstr "" + +#: lib/commit.tcl:287 +msgid "Committing changes..." +msgstr "" + +#: lib/commit.tcl:303 msgid "write-tree failed:" msgstr "write-tree 失败:" -#: lib/commit.tcl:275 +#: lib/commit.tcl:304 lib/commit.tcl:348 lib/commit.tcl:368 +#, fuzzy +msgid "Commit failed." +msgstr "克隆失败." + +#: lib/commit.tcl:321 #, tcl-format msgid "Commit %s appears to be corrupt" msgstr "æ交 %s 似乎已æŸå" -#: lib/commit.tcl:279 +#: lib/commit.tcl:326 msgid "" "No changes to commit.\n" "\n" @@ -1299,37 +1333,32 @@ msgstr "" "\n" "é‡æ–°æ‰«æ将自动开始.\n" -#: lib/commit.tcl:286 +#: lib/commit.tcl:333 msgid "No changes to commit." msgstr "没有改动è¦æ交." -#: lib/commit.tcl:303 -#, tcl-format -msgid "warning: Tcl does not support encoding '%s'." -msgstr "è¦å‘Š: Tcl ä¸æ”¯æŒç¼–ç æ–¹å¼ '%s'." - -#: lib/commit.tcl:317 +#: lib/commit.tcl:347 msgid "commit-tree failed:" msgstr "commit-tree 失败:" -#: lib/commit.tcl:339 +#: lib/commit.tcl:367 msgid "update-ref failed:" msgstr "update-ref 失败:" -#: lib/commit.tcl:430 +#: lib/commit.tcl:454 #, tcl-format msgid "Created commit %s: %s" msgstr "创建了 commit %s: %s" -#: lib/console.tcl:57 +#: lib/console.tcl:59 msgid "Working... please wait..." msgstr "工作ä¸... 请ç‰å¾…..." -#: lib/console.tcl:183 +#: lib/console.tcl:186 msgid "Success" msgstr "æˆåŠŸ" -#: lib/console.tcl:196 +#: lib/console.tcl:200 msgid "Error: Command Failed" msgstr "错误: 命令失败" @@ -1435,23 +1464,23 @@ msgstr "* 二进制文件 (ä¸æ˜¾ç¤ºå†…容)." msgid "Error loading diff:" msgstr "装载 diff 错误:" -#: lib/diff.tcl:302 +#: lib/diff.tcl:303 msgid "Failed to unstage selected hunk." msgstr "æ— æ³•å°†é€‰æ‹©çš„ä»£ç 段从缓å˜ä¸åˆ 除." -#: lib/diff.tcl:309 +#: lib/diff.tcl:310 msgid "Failed to stage selected hunk." msgstr "æ— æ³•ç¼“å˜æ‰€é€‰ä»£ç 段." -#: lib/error.tcl:12 lib/error.tcl:102 +#: lib/error.tcl:20 lib/error.tcl:114 msgid "error" msgstr "错误" -#: lib/error.tcl:28 +#: lib/error.tcl:36 msgid "warning" msgstr "è¦å‘Š" -#: lib/error.tcl:81 +#: lib/error.tcl:94 msgid "You must correct the above errors before committing." msgstr "ä½ å¿…é¡»åœ¨æ交å‰ä¿®æ£ä¸Šè¿°é”™è¯¯." @@ -1482,6 +1511,11 @@ msgstr "è§£é” Index" msgid "Unstaging %s from commit" msgstr "从æ交缓å˜ä¸åˆ 除 %s" +#: lib/index.tcl:313 +#, fuzzy +msgid "Ready to commit." +msgstr "缓å˜ä¸ºæ交" + #: lib/index.tcl:326 #, tcl-format msgid "Adding %s" @@ -1497,11 +1531,11 @@ msgstr "撤销文件 %s ä¸çš„改动?" msgid "Revert changes in these %i files?" msgstr "撤销这些 (%i个) 文件的改动?" -#: lib/index.tcl:389 +#: lib/index.tcl:391 msgid "Any unstaged changes will be permanently lost by the revert." msgstr "任何未缓å˜çš„改动将在这次撤销ä¸æ°¸ä¹…丢失." -#: lib/index.tcl:392 +#: lib/index.tcl:394 msgid "Do Nothing" msgstr "ä¸åšæ“作" @@ -1562,8 +1596,8 @@ msgstr "" "\n" "文件 %s 已被修改.\n" "\n" -"ä½ å¿…é¡»å®Œæˆå½“å‰çš„æ交åŽæ‰èƒ½å¼€å§‹åˆå¹¶. 如果需è¦, 这么åšå°†æœ‰åŠ©äºŽ" -"ä¸æ¢ä¸€æ¬¡å¤±è´¥çš„åˆå¹¶.\n" +"ä½ å¿…é¡»å®Œæˆå½“å‰çš„æ交åŽæ‰èƒ½å¼€å§‹åˆå¹¶. 如果需è¦, 这么åšå°†æœ‰åŠ©äºŽä¸æ¢ä¸€æ¬¡å¤±è´¥çš„åˆ" +"并.\n" #: lib/merge.tcl:106 #, tcl-format @@ -1571,28 +1605,28 @@ msgid "%s of %s" msgstr "" #: lib/merge.tcl:119 -#, tcl-format -msgid "Merging %s and %s" +#, fuzzy, tcl-format +msgid "Merging %s and %s..." msgstr "åˆå¹¶ %s å’Œ %s" -#: lib/merge.tcl:131 +#: lib/merge.tcl:130 msgid "Merge completed successfully." msgstr "åˆå¹¶æˆåŠŸå®Œæˆ." -#: lib/merge.tcl:133 +#: lib/merge.tcl:132 msgid "Merge failed. Conflict resolution is required." msgstr "åˆå¹¶å¤±è´¥. 需è¦è§£å†³å†²çª." -#: lib/merge.tcl:158 +#: lib/merge.tcl:157 #, tcl-format msgid "Merge Into %s" msgstr "åˆå¹¶åˆ° %s" -#: lib/merge.tcl:177 +#: lib/merge.tcl:176 msgid "Revision To Merge" msgstr "è¦åˆå¹¶çš„版本" -#: lib/merge.tcl:212 +#: lib/merge.tcl:211 msgid "" "Cannot abort while amending.\n" "\n" @@ -1602,7 +1636,7 @@ msgstr "" "\n" "ä½ å¿…é¡»å…ˆå®Œæˆæœ¬æ¬¡ä¿®æ£æ“作.\n" -#: lib/merge.tcl:222 +#: lib/merge.tcl:221 msgid "" "Abort merge?\n" "\n" @@ -1616,7 +1650,7 @@ msgstr "" "\n" "是å¦è¦ç»§ç»ä¸æ¢å½“å‰çš„åˆå¹¶æ“作?" -#: lib/merge.tcl:228 +#: lib/merge.tcl:227 msgid "" "Reset changes?\n" "\n" @@ -1630,93 +1664,107 @@ msgstr "" "\n" "是å¦è¦ç»§ç»å¤ä½å½“å‰çš„改动?" -#: lib/merge.tcl:239 +#: lib/merge.tcl:238 msgid "Aborting" msgstr "ä¸æ¢" -#: lib/merge.tcl:266 +#: lib/merge.tcl:238 +#, fuzzy +msgid "files reset" +msgstr "文件" + +#: lib/merge.tcl:265 msgid "Abort failed." msgstr "ä¸æ¢å¤±è´¥" -#: lib/merge.tcl:268 +#: lib/merge.tcl:267 msgid "Abort completed. Ready." msgstr "ä¸æ¢å®Œæˆ. 就绪." -#: lib/option.tcl:82 +#: lib/option.tcl:95 msgid "Restore Defaults" msgstr "æ¢å¤é»˜è®¤å€¼" -#: lib/option.tcl:86 +#: lib/option.tcl:99 msgid "Save" msgstr "ä¿å˜" -#: lib/option.tcl:96 +#: lib/option.tcl:109 #, tcl-format msgid "%s Repository" msgstr "%s 版本库" -#: lib/option.tcl:97 +#: lib/option.tcl:110 msgid "Global (All Repositories)" msgstr "全局 (所有版本库)" -#: lib/option.tcl:103 +#: lib/option.tcl:116 msgid "User Name" msgstr "用户å" -#: lib/option.tcl:104 +#: lib/option.tcl:117 msgid "Email Address" msgstr "Email 地å€" -#: lib/option.tcl:106 +#: lib/option.tcl:119 msgid "Summarize Merge Commits" msgstr "概述åˆå¹¶æ交:" -#: lib/option.tcl:107 +#: lib/option.tcl:120 msgid "Merge Verbosity" msgstr "åˆå¹¶å†—余度" -#: lib/option.tcl:108 +#: lib/option.tcl:121 msgid "Show Diffstat After Merge" msgstr "在åˆå¹¶åŽæ˜¾ç¤º Diffstat" -#: lib/option.tcl:110 +#: lib/option.tcl:123 msgid "Trust File Modification Timestamps" msgstr "相信文件的改动时间" -#: lib/option.tcl:111 +#: lib/option.tcl:124 msgid "Prune Tracking Branches During Fetch" msgstr "获å–时清除跟踪分支" -#: lib/option.tcl:112 +#: lib/option.tcl:125 msgid "Match Tracking Branches" msgstr "匹é…跟踪分支" -#: lib/option.tcl:113 +#: lib/option.tcl:126 msgid "Number of Diff Context Lines" msgstr "Diff 上下文行数" -#: lib/option.tcl:114 +#: lib/option.tcl:127 +#, fuzzy +msgid "Commit Message Text Width" +msgstr "æ交æè¿°:" + +#: lib/option.tcl:128 msgid "New Branch Name Template" msgstr "新建分支命å模æ¿" -#: lib/option.tcl:176 +#: lib/option.tcl:192 +msgid "Spelling Dictionary:" +msgstr "" + +#: lib/option.tcl:216 msgid "Change Font" msgstr "更改å—体" -#: lib/option.tcl:180 +#: lib/option.tcl:220 #, tcl-format msgid "Choose %s" msgstr "选择 %s" -#: lib/option.tcl:186 +#: lib/option.tcl:226 msgid "pt." msgstr "磅" -#: lib/option.tcl:200 +#: lib/option.tcl:240 msgid "Preferences" msgstr "首选项" -#: lib/option.tcl:235 +#: lib/option.tcl:275 msgid "Failed to completely save options:" msgstr "æ— æ³•å®Œå…¨ä¿å˜é€‰é¡¹:" @@ -1823,6 +1871,43 @@ msgstr "æ— æ³•ä¿®æ”¹å¿«æ·æ–¹å¼:" msgid "Cannot write icon:" msgstr "æ— æ³•ä¿®æ”¹å›¾æ ‡:" +#: lib/spellcheck.tcl:57 +msgid "Unsupported spell checker" +msgstr "" + +#: lib/spellcheck.tcl:65 +msgid "Spell checking is unavailable" +msgstr "" + +#: lib/spellcheck.tcl:68 +msgid "Invalid spell checking configuration" +msgstr "" + +#: lib/spellcheck.tcl:70 +#, tcl-format +msgid "Reverting dictionary to %s." +msgstr "" + +#: lib/spellcheck.tcl:73 +msgid "Spell checker silently failed on startup" +msgstr "" + +#: lib/spellcheck.tcl:80 +msgid "Unrecognized spell checker" +msgstr "" + +#: lib/spellcheck.tcl:180 +msgid "No Suggestions" +msgstr "" + +#: lib/spellcheck.tcl:381 +msgid "Unexpected EOF from spell checker" +msgstr "" + +#: lib/spellcheck.tcl:385 +msgid "Spell Checker Failed" +msgstr "" + #: lib/status_bar.tcl:83 #, tcl-format msgid "%s ... %*i of %*i %s (%3i%%)" diff --git a/git-quiltimport.sh b/git-quiltimport.sh index 233e5eae1d..7cd8f7134e 100755 --- a/git-quiltimport.sh +++ b/git-quiltimport.sh @@ -63,7 +63,23 @@ tmp_info="$tmp_dir/info" commit=$(git rev-parse HEAD) mkdir $tmp_dir || exit 2 -for patch_name in $(grep -v '^#' < "$QUILT_PATCHES/series" ); do +while read patch_name level garbage +do + case "$patch_name" in ''|'#'*) continue;; esac + case "$level" in + -p*) ;; + ''|'#'*) + level=;; + *) + echo "unable to parse patch level, ignoring it." + level=;; + esac + case "$garbage" in + ''|'#'*);; + *) + echo "trailing garbage found in series file: $garbage" + exit 1;; + esac if ! [ -f "$QUILT_PATCHES/$patch_name" ] ; then echo "$patch_name doesn't exist. Skipping." continue @@ -113,10 +129,10 @@ for patch_name in $(grep -v '^#' < "$QUILT_PATCHES/series" ); do fi if [ -z "$dry_run" ] ; then - git apply --index -C1 "$tmp_patch" && + git apply --index -C1 ${level:+"$level"} "$tmp_patch" && tree=$(git write-tree) && commit=$( (echo "$SUBJECT"; echo; cat "$tmp_msg") | git commit-tree $tree -p $commit) && git update-ref -m "quiltimport: $patch_name" HEAD $commit || exit 4 fi -done +done <"$QUILT_PATCHES/series" rm -rf $tmp_dir || exit 5 diff --git a/git-rebase--interactive.sh b/git-rebase--interactive.sh index c2bedd622c..8aa73712ca 100755 --- a/git-rebase--interactive.sh +++ b/git-rebase--interactive.sh @@ -78,8 +78,8 @@ mark_action_done () { sed -e 1q < "$TODO" >> "$DONE" sed -e 1d < "$TODO" >> "$TODO".new mv -f "$TODO".new "$TODO" - count=$(($(grep -ve '^$' -e '^#' < "$DONE" | wc -l))) - total=$(($count+$(grep -ve '^$' -e '^#' < "$TODO" | wc -l))) + count=$(grep -c '^[^#]' < "$DONE") + total=$(($count+$(grep -c '^[^#]' < "$TODO"))) if test "$last_count" != "$count" then last_count=$count @@ -110,7 +110,7 @@ die_abort () { } has_action () { - grep -vqe '^$' -e '^#' "$1" + grep '^[^#]' "$1" >/dev/null } pick_one () { @@ -218,7 +218,7 @@ nth_string () { make_squash_message () { if test -f "$SQUASH_MSG"; then COUNT=$(($(sed -n "s/^# This is [^0-9]*\([1-9][0-9]*\).*/\1/p" \ - < "$SQUASH_MSG" | tail -n 1)+1)) + < "$SQUASH_MSG" | sed -ne '$p')+1)) echo "# This is a combination of $COUNT commits." sed -e 1d -e '2,/^./{ /^$/d diff --git a/git-rebase.sh b/git-rebase.sh index ff66af3ba8..60c458f201 100755 --- a/git-rebase.sh +++ b/git-rebase.sh @@ -62,7 +62,7 @@ continue_merge () { cmt=`cat "$dotest/current"` if ! git diff-index --quiet HEAD -- then - if ! git-commit -C "$cmt" + if ! git commit --no-verify -C "$cmt" then echo "Commit failed, please do not call \"git commit\"" echo "directly, but instead do one of the following: " diff --git a/git-submodule.sh b/git-submodule.sh index 7171cb60ab..56ec3536e0 100755 --- a/git-submodule.sh +++ b/git-submodule.sh @@ -4,7 +4,9 @@ # # Copyright (c) 2007 Lars Hjemli -USAGE='[--quiet] [--cached] [add <repo> [-b branch]|status|init|update] [--] [<path>...]' +USAGE="[--quiet] [--cached] \ +[add <repo> [-b branch]|status|init|update|summary [-n|--summary-limit <n>] [<commit>]] \ +[--] [<path>...]" OPTIONS_SPEC= . git-sh-setup require_work_tree @@ -230,7 +232,7 @@ cmd_init() shift done - git ls-files --stage -- "$@" | grep -e '^160000 ' | + git ls-files --stage -- "$@" | grep '^160000 ' | while read mode sha1 stage path do # Skip already registered paths @@ -284,7 +286,7 @@ cmd_update() shift done - git ls-files --stage -- "$@" | grep -e '^160000 ' | + git ls-files --stage -- "$@" | grep '^160000 ' | while read mode sha1 stage path do name=$(module_name "$path") || exit @@ -330,7 +332,175 @@ set_name_rev () { ) ) test -z "$revname" || revname=" ($revname)" } +# +# Show commit summary for submodules in index or working tree +# +# If '--cached' is given, show summary between index and given commit, +# or between working tree and given commit +# +# $@ = [commit (default 'HEAD'),] requested paths (default all) +# +cmd_summary() { + summary_limit=-1 + + # parse $args after "submodule ... summary". + while test $# -ne 0 + do + case "$1" in + --cached) + cached="$1" + ;; + -n|--summary-limit) + if summary_limit=$(($2 + 0)) 2>/dev/null && test "$summary_limit" = "$2" + then + : + else + usage + fi + shift + ;; + --) + shift + break + ;; + -*) + usage + ;; + *) + break + ;; + esac + shift + done + + test $summary_limit = 0 && return + + if rev=$(git rev-parse --verify "$1^0" 2>/dev/null) + then + head=$rev + shift + else + head=HEAD + fi + + cd_to_toplevel + # Get modified modules cared by user + modules=$(git diff-index $cached --raw $head -- "$@" | + grep -e '^:160000' -e '^:[0-7]* 160000' | + while read mod_src mod_dst sha1_src sha1_dst status name + do + # Always show modules deleted or type-changed (blob<->module) + test $status = D -o $status = T && echo "$name" && continue + # Also show added or modified modules which are checked out + GIT_DIR="$name/.git" git-rev-parse --git-dir >/dev/null 2>&1 && + echo "$name" + done + ) + + test -n "$modules" && + git diff-index $cached --raw $head -- $modules | + grep -e '^:160000' -e '^:[0-7]* 160000' | + cut -c2- | + while read mod_src mod_dst sha1_src sha1_dst status name + do + if test -z "$cached" && + test $sha1_dst = 0000000000000000000000000000000000000000 + then + case "$mod_dst" in + 160000) + sha1_dst=$(GIT_DIR="$name/.git" git rev-parse HEAD) + ;; + 100644 | 100755 | 120000) + sha1_dst=$(git hash-object $name) + ;; + 000000) + ;; # removed + *) + # unexpected type + echo >&2 "unexpected mode $mod_dst" + continue ;; + esac + fi + missing_src= + missing_dst= + + test $mod_src = 160000 && + ! GIT_DIR="$name/.git" git-rev-parse --verify $sha1_src^0 >/dev/null 2>&1 && + missing_src=t + + test $mod_dst = 160000 && + ! GIT_DIR="$name/.git" git-rev-parse --verify $sha1_dst^0 >/dev/null 2>&1 && + missing_dst=t + total_commits= + case "$missing_src,$missing_dst" in + t,) + errmsg=" Warn: $name doesn't contain commit $sha1_src" + ;; + ,t) + errmsg=" Warn: $name doesn't contain commit $sha1_dst" + ;; + t,t) + errmsg=" Warn: $name doesn't contain commits $sha1_src and $sha1_dst" + ;; + *) + errmsg= + total_commits=$( + if test $mod_src = 160000 -a $mod_dst = 160000 + then + range="$sha1_src...$sha1_dst" + elif test $mod_src = 160000 + then + range=$sha1_src + else + range=$sha1_dst + fi + GIT_DIR="$name/.git" \ + git log --pretty=oneline --first-parent $range | wc -l + ) + total_commits=" ($(($total_commits + 0)))" + ;; + esac + + sha1_abbr_src=$(echo $sha1_src | cut -c1-7) + sha1_abbr_dst=$(echo $sha1_dst | cut -c1-7) + if test $status = T + then + if test $mod_dst = 160000 + then + echo "* $name $sha1_abbr_src(blob)->$sha1_abbr_dst(submodule)$total_commits:" + else + echo "* $name $sha1_abbr_src(submodule)->$sha1_abbr_dst(blob)$total_commits:" + fi + else + echo "* $name $sha1_abbr_src...$sha1_abbr_dst$total_commits:" + fi + if test -n "$errmsg" + then + # Don't give error msg for modification whose dst is not submodule + # i.e. deleted or changed to blob + test $mod_dst = 160000 && echo "$errmsg" + else + if test $mod_src = 160000 -a $mod_dst = 160000 + then + limit= + test $summary_limit -gt 0 && limit="-$summary_limit" + GIT_DIR="$name/.git" \ + git log $limit --pretty='format: %m %s' \ + --first-parent $sha1_src...$sha1_dst + elif test $mod_dst = 160000 + then + GIT_DIR="$name/.git" \ + git log --pretty='format: > %s' -1 $sha1_dst + else + GIT_DIR="$name/.git" \ + git log --pretty='format: < %s' -1 $sha1_src + fi + echo + fi + echo + done +} # # List all submodules, prefixed with: # - submodule not initialized @@ -367,7 +537,7 @@ cmd_status() shift done - git ls-files --stage -- "$@" | grep -e '^160000 ' | + git ls-files --stage -- "$@" | grep '^160000 ' | while read mode sha1 stage path do name=$(module_name "$path") || exit @@ -401,7 +571,7 @@ cmd_status() while test $# != 0 && test -z "$command" do case "$1" in - add | init | update | status) + add | init | update | status | summary) command=$1 ;; -q|--quiet) @@ -416,7 +586,7 @@ do branch="$2"; shift ;; --cached) - cached=1 + cached="$1" ;; --) break @@ -440,8 +610,8 @@ then usage fi -# "--cached" is accepted only by "status" -if test -n "$cached" && test "$command" != status +# "--cached" is accepted only by "status" and "summary" +if test -n "$cached" && test "$command" != status -a "$command" != summary then usage fi diff --git a/git-svn.perl b/git-svn.perl index d8b38c9a47..bba22c1321 100755 --- a/git-svn.perl +++ b/git-svn.perl @@ -958,9 +958,10 @@ sub complete_url_ls_init { "wanted to set to: $gs->{url}\n"; } command_oneline('config', $k, $gs->{url}) unless $orig_url; - my $remote_path = "$ra->{svn_path}/$repo_path/*"; + my $remote_path = "$ra->{svn_path}/$repo_path"; $remote_path =~ s#/+#/#g; $remote_path =~ s#^/##g; + $remote_path .= "/*" if $remote_path !~ /\*/; my ($n) = ($switch =~ /^--(\w+)/); if (length $pfx && $pfx !~ m#/$#) { die "--prefix='$pfx' must have a trailing slash '/'\n"; diff --git a/git-web--browse.sh b/git-web--browse.sh index 1023b90859..384148a59f 100755 --- a/git-web--browse.sh +++ b/git-web--browse.sh @@ -23,12 +23,18 @@ USAGE='[--browser=browser|--tool=browser] [--config=conf.var] url/file ...' NONGIT_OK=Yes . git-sh-setup +valid_custom_tool() +{ + browser_cmd="$(git config "browser.$1.cmd")" + test -n "$browser_cmd" +} + valid_tool() { case "$1" in firefox | iceweasel | konqueror | w3m | links | lynx | dillo | open) ;; # happy *) - return 1 + valid_custom_tool "$1" || return 1 ;; esac } @@ -122,7 +128,7 @@ else init_browser_path "$browser" - if ! type "$browser_path" > /dev/null 2>&1; then + if test -z "$browser_cmd" && ! type "$browser_path" > /dev/null 2>&1; then die "The browser $browser is not available as '$browser_path'." fi fi @@ -157,4 +163,9 @@ case "$browser" in dillo) "$browser_path" "$@" & ;; + *) + if test -n "$browser_cmd"; then + ( eval $browser_cmd "$@" ) + fi + ;; esac @@ -343,7 +343,7 @@ static void handle_internal_command(int argc, const char **argv) { "revert", cmd_revert, RUN_SETUP | NEED_WORK_TREE }, { "rm", cmd_rm, RUN_SETUP }, { "send-pack", cmd_send_pack, RUN_SETUP }, - { "shortlog", cmd_shortlog, RUN_SETUP | USE_PAGER }, + { "shortlog", cmd_shortlog, USE_PAGER }, { "show-branch", cmd_show_branch, RUN_SETUP }, { "show", cmd_show, RUN_SETUP | USE_PAGER }, { "status", cmd_status, RUN_SETUP | NEED_WORK_TREE }, diff --git a/gitk-git/Makefile b/gitk-git/Makefile index ae2b80b108..f90dfabffa 100644 --- a/gitk-git/Makefile +++ b/gitk-git/Makefile @@ -8,6 +8,7 @@ gitk_libdir ?= $(sharedir)/gitk/lib msgsdir ?= $(gitk_libdir)/msgs msgsdir_SQ = $(subst ','\'',$(msgsdir)) +TCL_PATH ?= tclsh TCLTK_PATH ?= wish INSTALL ?= install RM ?= rm -f @@ -22,6 +23,9 @@ ifdef NO_MSGFMT MSGFMT ?= $(TCL_PATH) po/po2msg.sh else MSGFMT ?= msgfmt + ifneq ($(shell $(MSGFMT) --tcl -l C -d . /dev/null 2>/dev/null; echo $$?),0) + MSGFMT := $(TCL_PATH) po/po2msg.sh + endif endif PO_TEMPLATE = po/gitk.pot diff --git a/gitk-git/gitk b/gitk-git/gitk index f1f21e97bf..84ab02e15f 100644 --- a/gitk-git/gitk +++ b/gitk-git/gitk @@ -82,7 +82,7 @@ proc dorunq {} { proc start_rev_list {view} { global startmsecs global commfd leftover tclencoding datemode - global viewargs viewfiles commitidx viewcomplete vnextroot + global viewargs viewargscmd viewfiles commitidx viewcomplete vnextroot global showlocalchanges commitinterest mainheadid global progressdirn progresscoords proglastnc curview @@ -90,13 +90,23 @@ proc start_rev_list {view} { set commitidx($view) 0 set viewcomplete($view) 0 set vnextroot($view) 0 + set args $viewargs($view) + if {$viewargscmd($view) ne {}} { + if {[catch { + set str [exec sh -c $viewargscmd($view)] + } err]} { + error_popup "Error executing --argscmd command: $err" + exit 1 + } + set args [concat $args [split $str "\n"]] + } set order "--topo-order" if {$datemode} { set order "--date-order" } if {[catch { set fd [open [concat | git log --no-color -z --pretty=raw $order --parents \ - --boundary $viewargs($view) "--" $viewfiles($view)] r] + --boundary $args "--" $viewfiles($view)] r] } err]} { error_popup "[mc "Error executing git rev-list:"] $err" exit 1 @@ -393,6 +403,9 @@ proc readcommit {id} { proc updatecommits {} { global viewdata curview phase displayorder ordertok idpending global children commitrow selectedline thickerline showneartags + global isworktree + + set isworktree [expr {[exec git rev-parse --is-inside-work-tree] == "true"}] if {$phase ne {}} { stop_rev_list @@ -827,6 +840,7 @@ proc makewindow {} { } frame .bleft.top frame .bleft.mid + frame .bleft.bottom button .bleft.top.search -text [mc "Search"] -command dosearch pack .bleft.top.search -side left -padx 5 @@ -854,18 +868,25 @@ proc makewindow {} { checkbutton .bleft.mid.ignspace -text [mc "Ignore space change"] \ -command changeignorespace -variable ignorespace pack .bleft.mid.ignspace -side left -padx 5 - set ctext .bleft.ctext + set ctext .bleft.bottom.ctext text $ctext -background $bgcolor -foreground $fgcolor \ -state disabled -font textfont \ - -yscrollcommand scrolltext -wrap none + -yscrollcommand scrolltext -wrap none \ + -xscrollcommand ".bleft.bottom.sbhorizontal set" if {$have_tk85} { $ctext conf -tabstyle wordprocessor } - scrollbar .bleft.sb -command "$ctext yview" + scrollbar .bleft.bottom.sb -command "$ctext yview" + scrollbar .bleft.bottom.sbhorizontal -command "$ctext xview" -orient h \ + -width 10 pack .bleft.top -side top -fill x pack .bleft.mid -side top -fill x - pack .bleft.sb -side right -fill y - pack $ctext -side left -fill both -expand 1 + grid $ctext .bleft.bottom.sb -sticky nsew + grid .bleft.bottom.sbhorizontal -sticky ew + grid columnconfigure .bleft.bottom 0 -weight 1 + grid rowconfigure .bleft.bottom 0 -weight 1 + grid rowconfigure .bleft.bottom 1 -weight 0 + pack .bleft.bottom -side top -fill both -expand 1 lappend bglist $ctext lappend fglist $ctext @@ -930,9 +951,17 @@ proc makewindow {} { .pwbottom add .bright .ctop add .pwbottom - # restore window position if known + # restore window width & height if known if {[info exists geometry(main)]} { - wm geometry . "$geometry(main)" + if {[scan $geometry(main) "%dx%d" w h] >= 2} { + if {$w > [winfo screenwidth .]} { + set w [winfo screenwidth .] + } + if {$h > [winfo screenheight .]} { + set h [winfo screenheight .] + } + wm geometry . "${w}x$h" + } } if {[tk windowingsystem] eq {aqua}} { @@ -1160,9 +1189,10 @@ proc savestuff {w} { global canv canv2 canv3 mainfont textfont uifont tabstop global stuffsaved findmergefiles maxgraphpct global maxwidth showneartags showlocalchanges - global viewname viewfiles viewargs viewperm nextviewnum + global viewname viewfiles viewargs viewargscmd viewperm nextviewnum global cmitmode wrapcomment datetimeformat limitdiffs global colors bgcolor fgcolor diffcolors diffcontext selectbgcolor + global autoselect if {$stuffsaved} return if {![winfo viewable .]} return @@ -1177,6 +1207,7 @@ proc savestuff {w} { puts $f [list set maxwidth $maxwidth] puts $f [list set cmitmode $cmitmode] puts $f [list set wrapcomment $wrapcomment] + puts $f [list set autoselect $autoselect] puts $f [list set showneartags $showneartags] puts $f [list set showlocalchanges $showlocalchanges] puts $f [list set datetimeformat $datetimeformat] @@ -1199,7 +1230,7 @@ proc savestuff {w} { puts -nonewline $f "set permviews {" for {set v 0} {$v < $nextviewnum} {incr v} { if {$viewperm($v)} { - puts $f "{[list $viewname($v) $viewfiles($v) $viewargs($v)]}" + puts $f "{[list $viewname($v) $viewfiles($v) $viewargs($v) $viewargscmd($v)]}" } } puts $f "}" @@ -1850,7 +1881,7 @@ proc shellsplit {str} { proc newview {ishighlight} { global nextviewnum newviewname newviewperm newishighlight - global newviewargs revtreeargs + global newviewargs revtreeargs viewargscmd newviewargscmd curview set newishighlight $ishighlight set top .gitkview @@ -1858,16 +1889,17 @@ proc newview {ishighlight} { raise $top return } - set newviewname($nextviewnum) "View $nextviewnum" + set newviewname($nextviewnum) "[mc "View"] $nextviewnum" set newviewperm($nextviewnum) 0 set newviewargs($nextviewnum) [shellarglist $revtreeargs] + set newviewargscmd($nextviewnum) $viewargscmd($curview) vieweditor $top $nextviewnum [mc "Gitk view definition"] } proc editview {} { global curview global viewname viewperm newviewname newviewperm - global viewargs newviewargs + global viewargs newviewargs viewargscmd newviewargscmd set top .gitkvedit-$curview if {[winfo exists $top]} { @@ -1877,6 +1909,7 @@ proc editview {} { set newviewname($curview) $viewname($curview) set newviewperm($curview) $viewperm($curview) set newviewargs($curview) [shellarglist $viewargs($curview)] + set newviewargscmd($curview) $viewargscmd($curview) vieweditor $top $curview "Gitk: edit view $viewname($curview)" } @@ -1897,6 +1930,14 @@ proc vieweditor {top n title} { entry $top.args -width 50 -textvariable newviewargs($n) \ -background $bgcolor grid $top.args - -sticky ew -padx 5 + + message $top.ac -aspect 1000 \ + -text [mc "Command to generate more commits to include:"] + grid $top.ac - -sticky w -pady 5 + entry $top.argscmd -width 50 -textvariable newviewargscmd($n) \ + -background white + grid $top.argscmd - -sticky ew -padx 5 + message $top.l -aspect 1000 \ -text [mc "Enter files and directories to include, one per line:"] grid $top.l - -sticky w @@ -1940,7 +1981,7 @@ proc allviewmenus {n op args} { proc newviewok {top n} { global nextviewnum newviewperm newviewname newishighlight global viewname viewfiles viewperm selectedview curview - global viewargs newviewargs viewhlmenu + global viewargs newviewargs viewargscmd newviewargscmd viewhlmenu if {[catch { set newargs [shellsplit $newviewargs($n)] @@ -1964,6 +2005,7 @@ proc newviewok {top n} { set viewperm($n) $newviewperm($n) set viewfiles($n) $files set viewargs($n) $newargs + set viewargscmd($n) $newviewargscmd($n) addviewmenu $n if {!$newishighlight} { run showview $n @@ -1980,9 +2022,11 @@ proc newviewok {top n} { # doviewmenu $viewhlmenu 1 [list addvhighlight $n] \ # entryconf [list -label $viewname($n) -value $viewname($n)] } - if {$files ne $viewfiles($n) || $newargs ne $viewargs($n)} { + if {$files ne $viewfiles($n) || $newargs ne $viewargs($n) || \ + $newviewargscmd($n) ne $viewargscmd($n)} { set viewfiles($n) $files set viewargs($n) $newargs + set viewargscmd($n) $newviewargscmd($n) if {$curview == $n} { run updatecommits } @@ -2058,8 +2102,6 @@ proc showview {n} { set ybot [expr {[lindex $span 1] * $ymax}] if {$ytop < $y && $y < $ybot} { set yscreen [expr {$y - $ytop}] - } else { - set yscreen [expr {($ybot - $ytop) / 2}] } } elseif {[info exists pending_select]} { set selid $pending_select @@ -2120,7 +2162,7 @@ proc showview {n} { set yf 0 set row {} set selectfirst 0 - if {$selid ne {} && [info exists commitrow($n,$selid)]} { + if {[info exists yscreen] && [info exists commitrow($n,$selid)]} { set row $commitrow($n,$selid) # try to get the selected row in the same position on the screen set ymax [lindex [$canv cget -scrollregion] 3] @@ -2844,8 +2886,9 @@ proc dohidelocalchanges {} { # spawn off a process to do git diff-index --cached HEAD proc dodiffindex {} { global localirow localfrow lserial showlocalchanges + global isworktree - if {!$showlocalchanges} return + if {!$showlocalchanges || !$isworktree} return incr lserial set localfrow -1 set localirow -1 @@ -4650,6 +4693,7 @@ proc selectline {l isnew} { global commentend idtags linknum global mergemax numcommits pending_select global cmitmode showneartags allcommits + global autoselect catch {unset pending_select} $canv delete hover @@ -4705,8 +4749,10 @@ proc selectline {l isnew} { set currentid $id $sha1entry delete 0 end $sha1entry insert 0 $id - $sha1entry selection from 0 - $sha1entry selection to end + if {$autoselect} { + $sha1entry selection from 0 + $sha1entry selection to end + } rhighlight_sel $id $ctext conf -state normal @@ -5604,7 +5650,7 @@ proc searchmarkvisible {doall} { proc scrolltext {f0 f1} { global searchstring - .bleft.sb set $f0 $f1 + .bleft.bottom.sb set $f0 $f1 if {$searchstring ne {}} { searchmarkvisible 0 } @@ -7943,7 +7989,7 @@ proc doprefs {} { global maxwidth maxgraphpct global oldprefs prefstop showneartags showlocalchanges global bgcolor fgcolor ctext diffcolors selectbgcolor - global tabstop limitdiffs + global tabstop limitdiffs autoselect set top .gitkprefs set prefstop $top @@ -7973,6 +8019,11 @@ proc doprefs {} { checkbutton $top.showlocal.b -variable showlocalchanges pack $top.showlocal.b $top.showlocal.l -side left grid x $top.showlocal -sticky w + frame $top.autoselect + label $top.autoselect.l -text [mc "Auto-select SHA1"] -font optionfont + checkbutton $top.autoselect.b -variable autoselect + pack $top.autoselect.b $top.autoselect.l -side left + grid x $top.autoselect -sticky w label $top.ddisp -text [mc "Diff display options"] grid $top.ddisp - -sticky w -pady 10 @@ -8463,6 +8514,7 @@ set maxlinelen 200 set showlocalchanges 1 set limitdiffs 1 set datetimeformat "%Y-%m-%d %H:%M:%S" +set autoselect 1 set colors {green red blue magenta darkgrey brown orange} set bgcolor white @@ -8522,8 +8574,9 @@ set mergeonly 0 set revtreeargs {} set cmdline_files {} set i 0 +set revtreeargscmd {} foreach arg $argv { - switch -- $arg { + switch -glob -- $arg { "" { } "-d" { set datemode 1 } "--merge" { @@ -8534,6 +8587,9 @@ foreach arg $argv { set cmdline_files [lrange $argv [expr {$i + 1}] end] break } + "--argscmd=*" { + set revtreeargscmd [string range $arg 10 end] + } default { lappend revtreeargs $arg } @@ -8635,6 +8691,7 @@ set highlight_files {} set viewfiles(0) {} set viewperm(0) 0 set viewargs(0) {} +set viewargscmd(0) {} set cmdlineok 0 set stopped 0 @@ -8643,6 +8700,7 @@ set patchnum 0 set localirow -1 set localfrow -1 set lserial 0 +set isworktree [expr {[exec git rev-parse --is-inside-work-tree] == "true"}] setcoords makewindow # wait for the window to become visible @@ -8650,7 +8708,7 @@ tkwait visibility . wm title . "[file tail $argv0]: [file tail [pwd]]" readrefs -if {$cmdline_files ne {} || $revtreeargs ne {}} { +if {$cmdline_files ne {} || $revtreeargs ne {} || $revtreeargscmd ne {}} { # create a view for the files/dirs specified on the command line set curview 1 set selectedview 1 @@ -8658,6 +8716,7 @@ if {$cmdline_files ne {} || $revtreeargs ne {}} { set viewname(1) [mc "Command line"] set viewfiles(1) $cmdline_files set viewargs(1) $revtreeargs + set viewargscmd(1) $revtreeargscmd set viewperm(1) 0 addviewmenu 1 .bar.view entryconf [mc "Edit view..."] -state normal @@ -8671,6 +8730,7 @@ if {[info exists permviews]} { set viewname($n) [lindex $v 0] set viewfiles($n) [lindex $v 1] set viewargs($n) [lindex $v 2] + set viewargscmd($n) [lindex $v 3] set viewperm($n) 1 addviewmenu $n } diff --git a/gitk-git/po/it.po b/gitk-git/po/it.po new file mode 100644 index 0000000000..d0f4c2e19a --- /dev/null +++ b/gitk-git/po/it.po @@ -0,0 +1,890 @@ +# Translation of gitk +# Copyright (C) 2005-2008 Paul Mackerras +# This file is distributed under the same license as the gitk package. +# Michele Ballabio <barra_cuda@katamail.com>, 2008. +# +# +msgid "" +msgstr "" +"Project-Id-Version: gitk\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2008-03-13 17:29+0100\n" +"PO-Revision-Date: 2008-03-13 17:34+0100\n" +"Last-Translator: Michele Ballabio <barra_cuda@katamail.com>\n" +"Language-Team: Italian\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: gitk:111 +msgid "Error executing git rev-list:" +msgstr "Errore nell'esecuzione di git rev-list:" + +#: gitk:124 +msgid "Reading" +msgstr "Lettura in corso" + +#: gitk:151 gitk:2191 +msgid "Reading commits..." +msgstr "Lettura delle revisioni in corso..." + +#: gitk:275 +msgid "Can't parse git log output:" +msgstr "Impossibile elaborare i dati di git log:" + +#: gitk:386 gitk:2195 +msgid "No commits selected" +msgstr "Nessuna revisione selezionata" + +#: gitk:500 +msgid "No commit information available" +msgstr "Nessuna informazione disponibile sulle revisioni" + +#: gitk:599 gitk:621 gitk:1955 gitk:6423 gitk:7923 gitk:8082 +msgid "OK" +msgstr "OK" + +#: gitk:623 gitk:1956 gitk:6107 gitk:6178 gitk:6275 gitk:6321 gitk:6425 +#: gitk:7924 gitk:8083 +msgid "Cancel" +msgstr "Annulla" + +#: gitk:661 +msgid "File" +msgstr "File" + +#: gitk:663 +msgid "Update" +msgstr "Aggiorna" + +#: gitk:664 +msgid "Reread references" +msgstr "Rileggi riferimenti" + +#: gitk:665 +msgid "List references" +msgstr "Elenca riferimenti" + +#: gitk:666 +msgid "Quit" +msgstr "Esci" + +#: gitk:668 +msgid "Edit" +msgstr "Modifica" + +#: gitk:669 +msgid "Preferences" +msgstr "Preferenze" + +#: gitk:672 gitk:1892 +msgid "View" +msgstr "Vista" + +#: gitk:673 +msgid "New view..." +msgstr "Nuova vista..." + +#: gitk:674 gitk:2133 gitk:8722 +msgid "Edit view..." +msgstr "Modifica vista..." + +#: gitk:676 gitk:2134 gitk:8723 +msgid "Delete view" +msgstr "Elimina vista" + +#: gitk:678 +msgid "All files" +msgstr "Tutti i file" + +#: gitk:682 +msgid "Help" +msgstr "Aiuto" + +#: gitk:683 gitk:1317 +msgid "About gitk" +msgstr "Informazioni su gitk" + +#: gitk:684 +msgid "Key bindings" +msgstr "Scorciatoie da tastiera" + +#: gitk:741 +msgid "SHA1 ID: " +msgstr "SHA1 ID: " + +#: gitk:791 +msgid "Find" +msgstr "Trova" + +#: gitk:792 +msgid "next" +msgstr "succ" + +#: gitk:793 +msgid "prev" +msgstr "prec" + +#: gitk:794 +msgid "commit" +msgstr "revisione" + +#: gitk:797 gitk:799 gitk:2356 gitk:2379 gitk:2403 gitk:4306 gitk:4369 +msgid "containing:" +msgstr "contenente:" + +#: gitk:800 gitk:1778 gitk:1783 gitk:2431 +msgid "touching paths:" +msgstr "che riguarda i percorsi:" + +#: gitk:801 gitk:2436 +msgid "adding/removing string:" +msgstr "che aggiunge/rimuove la stringa:" + +#: gitk:810 gitk:812 +msgid "Exact" +msgstr "Esatto" + +#: gitk:812 gitk:2514 gitk:4274 +msgid "IgnCase" +msgstr "" + +#: gitk:812 gitk:2405 gitk:2512 gitk:4270 +msgid "Regexp" +msgstr "" + +#: gitk:814 gitk:815 gitk:2533 gitk:2563 gitk:2570 gitk:4380 gitk:4436 +msgid "All fields" +msgstr "Tutti i campi" + +#: gitk:815 gitk:2531 gitk:2563 gitk:4336 +msgid "Headline" +msgstr "Titolo" + +#: gitk:816 gitk:2531 gitk:4336 gitk:4436 gitk:4827 +msgid "Comments" +msgstr "Commenti" + +#: gitk:816 gitk:2531 gitk:2535 gitk:2570 gitk:4336 gitk:4763 gitk:5956 +#: gitk:5971 +msgid "Author" +msgstr "Autore" + +#: gitk:816 gitk:2531 gitk:4336 gitk:4765 +msgid "Committer" +msgstr "Revisione creata da" + +#: gitk:845 +msgid "Search" +msgstr "Cerca" + +#: gitk:852 +msgid "Diff" +msgstr "" + +#: gitk:854 +msgid "Old version" +msgstr "Vecchia versione" + +#: gitk:856 +msgid "New version" +msgstr "Nuova versione" + +#: gitk:858 +msgid "Lines of context" +msgstr "Linee di contesto" + +#: gitk:868 +msgid "Ignore space change" +msgstr "Ignora modifiche agli spazi" + +#: gitk:926 +msgid "Patch" +msgstr "Modifiche" + +#: gitk:928 +msgid "Tree" +msgstr "Directory" + +#: gitk:1053 gitk:1068 gitk:6022 +msgid "Diff this -> selected" +msgstr "Diff questo -> selezionato" + +#: gitk:1055 gitk:1070 gitk:6023 +msgid "Diff selected -> this" +msgstr "Diff selezionato -> questo" + +#: gitk:1057 gitk:1072 gitk:6024 +msgid "Make patch" +msgstr "Crea patch" + +#: gitk:1058 gitk:6162 +msgid "Create tag" +msgstr "Crea etichetta" + +#: gitk:1059 gitk:6255 +msgid "Write commit to file" +msgstr "Scrivi revisione in un file" + +#: gitk:1060 gitk:6309 +msgid "Create new branch" +msgstr "Crea un nuovo ramo" + +#: gitk:1061 +msgid "Cherry-pick this commit" +msgstr "Porta questa revisione in cima al ramo attuale" + +#: gitk:1063 +msgid "Reset HEAD branch to here" +msgstr "Aggiorna il ramo HEAD a questa revisione" + +#: gitk:1079 +msgid "Check out this branch" +msgstr "Attiva questo ramo" + +#: gitk:1081 +msgid "Remove this branch" +msgstr "Elimina questo ramo" + +#: gitk:1087 +msgid "Highlight this too" +msgstr "Evidenzia anche questo" + +#: gitk:1089 +msgid "Highlight this only" +msgstr "Evidenzia solo questo" + +#: gitk:1318 +msgid "" +"\n" +"Gitk - a commit viewer for git\n" +"\n" +"Copyright © 2005-2006 Paul Mackerras\n" +"\n" +"Use and redistribute under the terms of the GNU General Public License" +msgstr "" +"\n" +"Gitk - un visualizzatore di revisioni per git\n" +"\n" +"Copyright © 2005-2006 Paul Mackerras\n" +"\n" +"Utilizzo e redistribuzione permessi sotto i termini della GNU General Public " +"License" + +#: gitk:1326 gitk:1387 gitk:6581 +msgid "Close" +msgstr "Chiudi" + +#: gitk:1345 +msgid "Gitk key bindings" +msgstr "Scorciatoie da tastiera di Gitk" + +#: gitk:1347 +msgid "Gitk key bindings:" +msgstr "Scorciatoie da tastiera di Gitk:" + +#: gitk:1349 +#, tcl-format +msgid "<%s-Q>\t\tQuit" +msgstr "<%s-Q>\t\tEsci" + +#: gitk:1350 +msgid "<Home>\t\tMove to first commit" +msgstr "<Home>\t\tVai alla prima revisione" + +#: gitk:1351 +msgid "<End>\t\tMove to last commit" +msgstr "<End>\t\tVai all'ultima revisione" + +#: gitk:1352 +msgid "<Up>, p, i\tMove up one commit" +msgstr "<Up>, p, i\tVai più in alto di una revisione" + +#: gitk:1353 +msgid "<Down>, n, k\tMove down one commit" +msgstr "<Down>, n, k\tVai più in basso di una revisione" + +#: gitk:1354 +msgid "<Left>, z, j\tGo back in history list" +msgstr "<Left>, z, j\tTorna indietro nella cronologia" + +#: gitk:1355 +msgid "<Right>, x, l\tGo forward in history list" +msgstr "<Right>, x, l\tVai avanti nella cronologia" + +#: gitk:1356 +msgid "<PageUp>\tMove up one page in commit list" +msgstr "<PageUp>\tVai più in alto di una pagina nella lista delle revisioni" + +#: gitk:1357 +msgid "<PageDown>\tMove down one page in commit list" +msgstr "<PageDown>\tVai più in basso di una pagina nella lista delle revisioni" + +#: gitk:1358 +#, tcl-format +msgid "<%s-Home>\tScroll to top of commit list" +msgstr "<%s-Home>\tScorri alla cima della lista delle revisioni" + +#: gitk:1359 +#, tcl-format +msgid "<%s-End>\tScroll to bottom of commit list" +msgstr "<%s-End>\tScorri alla fine della lista delle revisioni" + +#: gitk:1360 +#, tcl-format +msgid "<%s-Up>\tScroll commit list up one line" +msgstr "<%s-Up>\tScorri la lista delle revisioni in alto di una riga" + +#: gitk:1361 +#, tcl-format +msgid "<%s-Down>\tScroll commit list down one line" +msgstr "<%s-Down>\tScorri la lista delle revisioni in basso di una riga" + +#: gitk:1362 +#, tcl-format +msgid "<%s-PageUp>\tScroll commit list up one page" +msgstr "<%s-PageUp>\tScorri la lista delle revisioni in alto di una pagina" + +#: gitk:1363 +#, tcl-format +msgid "<%s-PageDown>\tScroll commit list down one page" +msgstr "<%s-PageDown>\tScorri la lista delle revisioni in basso di una pagina" + +#: gitk:1364 +msgid "<Shift-Up>\tFind backwards (upwards, later commits)" +msgstr "<Shift-Up>\tTrova all'indietro (verso l'alto, revisioni successive)" + +#: gitk:1365 +msgid "<Shift-Down>\tFind forwards (downwards, earlier commits)" +msgstr "<Shift-Down>\tTrova in avanti (verso il basso, revisioni precedenti)" + +#: gitk:1366 +msgid "<Delete>, b\tScroll diff view up one page" +msgstr "<Delete>, b\tScorri la vista delle differenze in alto di una pagina" + +#: gitk:1367 +msgid "<Backspace>\tScroll diff view up one page" +msgstr "<Backspace>\tScorri la vista delle differenze in alto di una pagina" + +#: gitk:1368 +msgid "<Space>\t\tScroll diff view down one page" +msgstr "<Space>\t\tScorri la vista delle differenze in basso di una pagina" + +#: gitk:1369 +msgid "u\t\tScroll diff view up 18 lines" +msgstr "u\t\tScorri la vista delle differenze in alto di 18 linee" + +#: gitk:1370 +msgid "d\t\tScroll diff view down 18 lines" +msgstr "d\t\tScorri la vista delle differenze in basso di 18 linee" + +#: gitk:1371 +#, tcl-format +msgid "<%s-F>\t\tFind" +msgstr "<%s-F>\t\tTrova" + +#: gitk:1372 +#, tcl-format +msgid "<%s-G>\t\tMove to next find hit" +msgstr "<%s-G>\t\tTrova in avanti" + +#: gitk:1373 +msgid "<Return>\tMove to next find hit" +msgstr "<Return>\tTrova in avanti" + +#: gitk:1374 +msgid "/\t\tMove to next find hit, or redo find" +msgstr "/\t\tTrova in avanti, o cerca di nuovo" + +#: gitk:1375 +msgid "?\t\tMove to previous find hit" +msgstr "?\t\tTrova all'indietro" + +#: gitk:1376 +msgid "f\t\tScroll diff view to next file" +msgstr "f\t\tScorri la vista delle differenze al file successivo" + +#: gitk:1377 +#, tcl-format +msgid "<%s-S>\t\tSearch for next hit in diff view" +msgstr "<%s-S>\t\tCerca in avanti nella vista delle differenze" + +#: gitk:1378 +#, tcl-format +msgid "<%s-R>\t\tSearch for previous hit in diff view" +msgstr "<%s-R>\t\tCerca all'indietro nella vista delle differenze" + +#: gitk:1379 +#, tcl-format +msgid "<%s-KP+>\tIncrease font size" +msgstr "<%s-KP+>\tAumenta grandezza carattere" + +#: gitk:1380 +#, tcl-format +msgid "<%s-plus>\tIncrease font size" +msgstr "<%s-plus>\tAumenta grandezza carattere" + +#: gitk:1381 +#, tcl-format +msgid "<%s-KP->\tDecrease font size" +msgstr "<%s-KP->\tDiminuisci grandezza carattere" + +#: gitk:1382 +#, tcl-format +msgid "<%s-minus>\tDecrease font size" +msgstr "<%s-minus>\tDiminuisci grandezza carattere" + +#: gitk:1383 +msgid "<F5>\t\tUpdate" +msgstr "<F5>\t\tAggiorna" + +#: gitk:1896 +msgid "Gitk view definition" +msgstr "Scelta vista Gitk" + +#: gitk:1921 +msgid "Name" +msgstr "Nome" + +#: gitk:1924 +msgid "Remember this view" +msgstr "Ricorda questa vista" + +#: gitk:1928 +msgid "Commits to include (arguments to git rev-list):" +msgstr "Revisioni da includere (argomenti di git rev-list):" + +#: gitk:1935 +msgid "Command to generate more commits to include:" +msgstr "Comando che genera altre revisioni da visualizzare:" + +#: gitk:1942 +msgid "Enter files and directories to include, one per line:" +msgstr "Inserire file e directory da includere, uno per riga:" + +#: gitk:1989 +msgid "Error in commit selection arguments:" +msgstr "Errore negli argomenti di selezione delle revisioni:" + +#: gitk:2043 gitk:2127 gitk:2583 gitk:2597 gitk:3781 gitk:8688 gitk:8689 +msgid "None" +msgstr "Nessuno" + +#: gitk:2531 gitk:4336 gitk:5958 gitk:5973 +msgid "Date" +msgstr "Data" + +#: gitk:2531 gitk:4336 +msgid "CDate" +msgstr "" + +#: gitk:2680 gitk:2685 +msgid "Descendant" +msgstr "Discendente" + +#: gitk:2681 +msgid "Not descendant" +msgstr "Non discendente" + +#: gitk:2688 gitk:2693 +msgid "Ancestor" +msgstr "Ascendente" + +#: gitk:2689 +msgid "Not ancestor" +msgstr "Non ascendente" + +#: gitk:2924 +msgid "Local changes checked in to index but not committed" +msgstr "Modifiche locali presenti nell'indice ma non nell'archivio" + +#: gitk:2954 +msgid "Local uncommitted changes, not checked in to index" +msgstr "Modifiche locali non presenti né nell'archivio né nell'indice" + +#: gitk:4305 +msgid "Searching" +msgstr "Ricerca in corso" + +#: gitk:4767 +msgid "Tags:" +msgstr "Etichette:" + +#: gitk:4784 gitk:4790 gitk:5951 +msgid "Parent" +msgstr "Genitore" + +#: gitk:4795 +msgid "Child" +msgstr "Figlio" + +#: gitk:4804 +msgid "Branch" +msgstr "Ramo" + +#: gitk:4807 +msgid "Follows" +msgstr "Segue" + +#: gitk:4810 +msgid "Precedes" +msgstr "Precede" + +#: gitk:5093 +msgid "Error getting merge diffs:" +msgstr "Errore nella lettura delle differenze di fusione:" + +#: gitk:5778 +msgid "Goto:" +msgstr "Vai a:" + +#: gitk:5780 +msgid "SHA1 ID:" +msgstr "SHA1 ID:" + +#: gitk:5805 +#, tcl-format +msgid "Short SHA1 id %s is ambiguous" +msgstr "La SHA1 id abbreviata %s è ambigua" + +#: gitk:5817 +#, tcl-format +msgid "SHA1 id %s is not known" +msgstr "La SHA1 id %s è sconosciuta" + +#: gitk:5819 +#, tcl-format +msgid "Tag/Head %s is not known" +msgstr "L'etichetta/ramo %s è sconosciuto" + +#: gitk:5961 +msgid "Children" +msgstr "Figli" + +#: gitk:6018 +#, tcl-format +msgid "Reset %s branch to here" +msgstr "Aggiorna il ramo %s a questa revisione" + +#: gitk:6049 +msgid "Top" +msgstr "Inizio" + +#: gitk:6050 +msgid "From" +msgstr "Da" + +#: gitk:6055 +msgid "To" +msgstr "A" + +#: gitk:6078 +msgid "Generate patch" +msgstr "Genera patch" + +#: gitk:6080 +msgid "From:" +msgstr "Da:" + +#: gitk:6089 +msgid "To:" +msgstr "A:" + +#: gitk:6098 +msgid "Reverse" +msgstr "Inverti" + +#: gitk:6100 gitk:6269 +msgid "Output file:" +msgstr "Scrivi sul file:" + +#: gitk:6106 +msgid "Generate" +msgstr "Genera" + +#: gitk:6142 +msgid "Error creating patch:" +msgstr "Errore nella creazione della patch:" + +#: gitk:6164 gitk:6257 gitk:6311 +msgid "ID:" +msgstr "ID:" + +#: gitk:6173 +msgid "Tag name:" +msgstr "Nome etichetta:" + +#: gitk:6177 gitk:6320 +msgid "Create" +msgstr "Crea" + +#: gitk:6192 +msgid "No tag name specified" +msgstr "Nessuna etichetta specificata" + +#: gitk:6196 +#, tcl-format +msgid "Tag \"%s\" already exists" +msgstr "L'etichetta \"%s\" esiste già " + +#: gitk:6202 +msgid "Error creating tag:" +msgstr "Errore nella creazione dell'etichetta:" + +#: gitk:6266 +msgid "Command:" +msgstr "Comando:" + +#: gitk:6274 +msgid "Write" +msgstr "Scrivi" + +#: gitk:6290 +msgid "Error writing commit:" +msgstr "Errore nella scrittura della revisione:" + +#: gitk:6316 +msgid "Name:" +msgstr "Nome:" + +#: gitk:6335 +msgid "Please specify a name for the new branch" +msgstr "Specificare un nome per il nuovo ramo" + +#: gitk:6364 +#, tcl-format +msgid "Commit %s is already included in branch %s -- really re-apply it?" +msgstr "La revisione %s è già inclusa nel ramo %s -- applicarla di nuovo?" + +#: gitk:6369 +msgid "Cherry-picking" +msgstr "" + +#: gitk:6381 +msgid "No changes committed" +msgstr "Nessuna modifica archiviata" + +#: gitk:6404 +msgid "Confirm reset" +msgstr "Conferma git reset" + +#: gitk:6406 +#, tcl-format +msgid "Reset branch %s to %s?" +msgstr "Aggiornare il ramo %s a %s?" + +#: gitk:6410 +msgid "Reset type:" +msgstr "Tipo di aggiornamento:" + +#: gitk:6414 +msgid "Soft: Leave working tree and index untouched" +msgstr "Soft: Lascia la direcory di lavoro e l'indice come sono" + +#: gitk:6417 +msgid "Mixed: Leave working tree untouched, reset index" +msgstr "Mixed: Lascia la directory di lavoro come è, aggiorna l'indice" + +#: gitk:6420 +msgid "" +"Hard: Reset working tree and index\n" +"(discard ALL local changes)" +msgstr "" +"Hard: Aggiorna la directory di lavoro e l'indice\n" +"(abbandona TUTTE le modifiche locali)" + +#: gitk:6436 +msgid "Resetting" +msgstr "git reset in corso" + +#: gitk:6493 +msgid "Checking out" +msgstr "Attivazione in corso" + +#: gitk:6523 +msgid "Cannot delete the currently checked-out branch" +msgstr "Impossibile cancellare il ramo attualmente attivo" + +#: gitk:6529 +#, tcl-format +msgid "" +"The commits on branch %s aren't on any other branch.\n" +"Really delete branch %s?" +msgstr "" +"Le revisioni nel ramo %s non sono presenti su altri rami.\n" +"Cancellare il ramo %s?" + +#: gitk:6560 +#, tcl-format +msgid "Tags and heads: %s" +msgstr "Etichette e rami: %s" + +#: gitk:6574 +msgid "Filter" +msgstr "Filtro" + +#: gitk:6868 +msgid "" +"Error reading commit topology information; branch and preceding/following " +"tag information will be incomplete." +msgstr "" +"Errore nella lettura della topologia delle revisioni: le informazioni sul " +"ramo e le etichette precedenti e seguenti saranno incomplete." + +#: gitk:7852 +msgid "Tag" +msgstr "Etichetta" + +#: gitk:7852 +msgid "Id" +msgstr "Id" + +#: gitk:7892 +msgid "Gitk font chooser" +msgstr "Scelta caratteri gitk" + +#: gitk:7909 +msgid "B" +msgstr "B" + +#: gitk:7912 +msgid "I" +msgstr "I" + +#: gitk:8005 +msgid "Gitk preferences" +msgstr "Preferenze gitk" + +#: gitk:8006 +msgid "Commit list display options" +msgstr "Opzioni visualizzazione dell'elenco revisioni" + +#: gitk:8009 +msgid "Maximum graph width (lines)" +msgstr "Larghezza massima del grafico (in linee)" + +#: gitk:8013 +#, tcl-format +msgid "Maximum graph width (% of pane)" +msgstr "Larghezza massima del grafico (% del pannello)" + +#: gitk:8018 +msgid "Show local changes" +msgstr "Mostra modifiche locali" + +#: gitk:8023 +msgid "Auto-select SHA1" +msgstr "Seleziona automaticamente SHA1 hash" + +#: gitk:8028 +msgid "Diff display options" +msgstr "Opzioni di visualizzazione delle differenze" + +#: gitk:8030 +msgid "Tab spacing" +msgstr "Spaziatura tabulazioni" + +#: gitk:8034 +msgid "Display nearby tags" +msgstr "Mostra etichette vicine" + +#: gitk:8039 +msgid "Limit diffs to listed paths" +msgstr "Limita le differenze ai percorsi elencati" + +#: gitk:8044 +msgid "Colors: press to choose" +msgstr "Colori: premere per scegliere" + +#: gitk:8047 +msgid "Background" +msgstr "Sfondo" + +#: gitk:8051 +msgid "Foreground" +msgstr "Primo piano" + +#: gitk:8055 +msgid "Diff: old lines" +msgstr "Diff: vecchie linee" + +#: gitk:8060 +msgid "Diff: new lines" +msgstr "Diff: nuove linee" + +#: gitk:8065 +msgid "Diff: hunk header" +msgstr "Diff: intestazione della sezione" + +#: gitk:8071 +msgid "Select bg" +msgstr "Sfondo selezione" + +#: gitk:8075 +msgid "Fonts: press to choose" +msgstr "Carattere: premere per scegliere" + +#: gitk:8077 +msgid "Main font" +msgstr "Carattere principale" + +#: gitk:8078 +msgid "Diff display font" +msgstr "Carattere per differenze" + +#: gitk:8079 +msgid "User interface font" +msgstr "Carattere per interfaccia utente" + +#: gitk:8095 +#, tcl-format +msgid "Gitk: choose color for %s" +msgstr "Gitk: scegliere un colore per %s" + +#: gitk:8476 +msgid "" +"Sorry, gitk cannot run with this version of Tcl/Tk.\n" +" Gitk requires at least Tcl/Tk 8.4." +msgstr "" +"Questa versione di Tcl/Tk non può avviare gitk.\n" +" Gitk richiede Tcl/Tk versione 8.4 o superiore." + +#: gitk:8565 +msgid "Cannot find a git repository here." +msgstr "Archivio git non trovato." + +#: gitk:8569 +#, tcl-format +msgid "Cannot find the git directory \"%s\"." +msgstr "Directory git \"%s\" non trovata." + +#: gitk:8612 +#, tcl-format +msgid "Ambiguous argument '%s': both revision and filename" +msgstr "Argomento ambiguo: '%s' è sia revisione che nome di file" + +#: gitk:8624 +msgid "Bad arguments to gitk:" +msgstr "Gitk: argomenti errati:" + +#: gitk:8636 +msgid "Couldn't get list of unmerged files:" +msgstr "Impossibile ottenere l'elenco dei file in attesa di fusione:" + +#: gitk:8652 +msgid "No files selected: --merge specified but no files are unmerged." +msgstr "" +"Nessun file selezionato: è stata specificata l'opzione --merge ma non ci " +"sono file in attesa di fusione." + +#: gitk:8655 +msgid "" +"No files selected: --merge specified but no unmerged files are within file " +"limit." +msgstr "" +"Nessun file selezionato: è stata specificata l'opzione --merge ma i file " +"specificati non sono in attesa di fusione." + +#: gitk:8716 +msgid "Command line" +msgstr "Linea di comando" @@ -8,6 +8,12 @@ #include "exec_cmd.h" #include "common-cmds.h" #include "parse-options.h" +#include "run-command.h" + +static struct man_viewer_list { + void (*exec)(const char *); + struct man_viewer_list *next; +} *man_viewer_list; enum help_format { HELP_FORMAT_MAN, @@ -42,6 +48,102 @@ static enum help_format parse_help_format(const char *format) die("unrecognized help format '%s'", format); } +static int check_emacsclient_version(void) +{ + struct strbuf buffer = STRBUF_INIT; + struct child_process ec_process; + const char *argv_ec[] = { "emacsclient", "--version", NULL }; + int version; + + /* emacsclient prints its version number on stderr */ + memset(&ec_process, 0, sizeof(ec_process)); + ec_process.argv = argv_ec; + ec_process.err = -1; + ec_process.stdout_to_stderr = 1; + if (start_command(&ec_process)) { + fprintf(stderr, "Failed to start emacsclient.\n"); + return -1; + } + strbuf_read(&buffer, ec_process.err, 20); + close(ec_process.err); + + /* + * Don't bother checking return value, because "emacsclient --version" + * seems to always exits with code 1. + */ + finish_command(&ec_process); + + if (prefixcmp(buffer.buf, "emacsclient")) { + fprintf(stderr, "Failed to parse emacsclient version.\n"); + strbuf_release(&buffer); + return -1; + } + + strbuf_remove(&buffer, 0, strlen("emacsclient")); + version = atoi(buffer.buf); + + if (version < 22) { + fprintf(stderr, + "emacsclient version '%d' too old (< 22).\n", + version); + strbuf_release(&buffer); + return -1; + } + + strbuf_release(&buffer); + return 0; +} + +static void exec_woman_emacs(const char *page) +{ + if (!check_emacsclient_version()) { + /* This works only with emacsclient version >= 22. */ + struct strbuf man_page = STRBUF_INIT; + strbuf_addf(&man_page, "(woman \"%s\")", page); + execlp("emacsclient", "emacsclient", "-e", man_page.buf, NULL); + } +} + +static void exec_man_konqueror(const char *page) +{ + const char *display = getenv("DISPLAY"); + if (display && *display) { + struct strbuf man_page = STRBUF_INIT; + strbuf_addf(&man_page, "man:%s(1)", page); + execlp("kfmclient", "kfmclient", "newTab", man_page.buf, NULL); + } +} + +static void exec_man_man(const char *page) +{ + execlp("man", "man", page, NULL); +} + +static void do_add_man_viewer(void (*exec)(const char *)) +{ + struct man_viewer_list **p = &man_viewer_list; + + while (*p) + p = &((*p)->next); + *p = xmalloc(sizeof(**p)); + (*p)->next = NULL; + (*p)->exec = exec; +} + +static int add_man_viewer(const char *value) +{ + if (!strcasecmp(value, "man")) + do_add_man_viewer(exec_man_man); + else if (!strcasecmp(value, "woman")) + do_add_man_viewer(exec_woman_emacs); + else if (!strcasecmp(value, "konqueror")) + do_add_man_viewer(exec_man_konqueror); + else + warning("'%s': unsupported man viewer.", value); + + return 0; +} + static int git_help_config(const char *var, const char *value) { if (!strcmp(var, "help.format")) { @@ -50,6 +152,11 @@ static int git_help_config(const char *var, const char *value) help_format = parse_help_format(value); return 0; } + if (!strcmp(var, "man.viewer")) { + if (!value) + return config_error_nonbool(var); + return add_man_viewer(value); + } return git_default_config(var, value); } @@ -347,9 +454,16 @@ static void setup_man_path(void) static void show_man_page(const char *git_cmd) { + struct man_viewer_list *viewer; const char *page = cmd_to_page(git_cmd); + setup_man_path(); - execlp("man", "man", page, NULL); + for (viewer = man_viewer_list; viewer; viewer = viewer->next) + { + viewer->exec(page); /* will return when unable */ + } + exec_man_man(page); + die("no man viewer handled the request"); } static void show_info_page(const char *git_cmd) diff --git a/log-tree.c b/log-tree.c index 608f697cf3..5b2963998c 100644 --- a/log-tree.c +++ b/log-tree.c @@ -138,10 +138,14 @@ static int has_non_ascii(const char *s) } void log_write_email_headers(struct rev_info *opt, const char *name, - const char **subject_p, const char **extra_headers_p) + const char **subject_p, + const char **extra_headers_p, + int *need_8bit_cte_p) { const char *subject = NULL; const char *extra_headers = opt->extra_headers; + + *need_8bit_cte_p = 0; /* unknown */ if (opt->total > 0) { static char buffer[64]; snprintf(buffer, sizeof(buffer), @@ -169,6 +173,7 @@ void log_write_email_headers(struct rev_info *opt, const char *name, if (opt->mime_boundary) { static char subject_buffer[1024]; static char buffer[1024]; + *need_8bit_cte_p = -1; /* NEVER */ snprintf(subject_buffer, sizeof(subject_buffer) - 1, "%s" "MIME-Version: 1.0\n" @@ -212,6 +217,7 @@ void show_log(struct rev_info *opt, const char *sep) int abbrev_commit = opt->abbrev_commit ? opt->abbrev : 40; const char *extra; const char *subject = NULL, *extra_headers = opt->extra_headers; + int need_8bit_cte = 0; opt->loginfo = NULL; if (!opt->verbose_header) { @@ -255,7 +261,8 @@ void show_log(struct rev_info *opt, const char *sep) if (opt->commit_format == CMIT_FMT_EMAIL) { log_write_email_headers(opt, sha1_to_hex(commit->object.sha1), - &subject, &extra_headers); + &subject, &extra_headers, + &need_8bit_cte); } else if (opt->commit_format != CMIT_FMT_USERFORMAT) { fputs(diff_get_color_opt(&opt->diffopt, DIFF_COMMIT), stdout); if (opt->commit_format != CMIT_FMT_ONELINE) @@ -299,9 +306,11 @@ void show_log(struct rev_info *opt, const char *sep) * And then the pretty-printed message itself */ strbuf_init(&msgbuf, 0); + if (need_8bit_cte >= 0) + need_8bit_cte = has_non_ascii(opt->add_signoff); pretty_print_commit(opt->commit_format, commit, &msgbuf, abbrev, subject, extra_headers, opt->date_mode, - has_non_ascii(opt->add_signoff)); + need_8bit_cte); if (opt->add_signoff) append_signoff(&msgbuf, opt->add_signoff); diff --git a/log-tree.h b/log-tree.h index 0cc9344eab..8946ff377c 100644 --- a/log-tree.h +++ b/log-tree.h @@ -14,6 +14,8 @@ int log_tree_opt_parse(struct rev_info *, const char **, int); void show_log(struct rev_info *opt, const char *sep); void show_decorations(struct commit *commit); void log_write_email_headers(struct rev_info *opt, const char *name, - const char **subject_p, const char **extra_headers_p); + const char **subject_p, + const char **extra_headers_p, + int *need_8bit_cte_p); #endif @@ -636,7 +636,7 @@ void pp_title_line(enum cmit_fmt fmt, const char *subject, const char *after_subject, const char *encoding, - int plain_non_ascii) + int need_8bit_cte) { struct strbuf title; @@ -669,7 +669,7 @@ void pp_title_line(enum cmit_fmt fmt, } strbuf_addch(sb, '\n'); - if (plain_non_ascii) { + if (need_8bit_cte > 0) { const char *header_fmt = "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=%s\n" @@ -718,9 +718,9 @@ void pp_remainder(enum cmit_fmt fmt, } void pretty_print_commit(enum cmit_fmt fmt, const struct commit *commit, - struct strbuf *sb, int abbrev, - const char *subject, const char *after_subject, - enum date_mode dmode, int plain_non_ascii) + struct strbuf *sb, int abbrev, + const char *subject, const char *after_subject, + enum date_mode dmode, int need_8bit_cte) { unsigned long beginning_of_body; int indent = 4; @@ -746,13 +746,11 @@ void pretty_print_commit(enum cmit_fmt fmt, const struct commit *commit, if (fmt == CMIT_FMT_ONELINE || fmt == CMIT_FMT_EMAIL) indent = 0; - /* After-subject is used to pass in Content-Type: multipart - * MIME header; in that case we do not have to do the - * plaintext content type even if the commit message has - * non 7-bit ASCII character. Otherwise, check if we need - * to say this is not a 7-bit ASCII. + /* + * We need to check and emit Content-type: to mark it + * as 8-bit if we haven't done so. */ - if (fmt == CMIT_FMT_EMAIL && !after_subject) { + if (fmt == CMIT_FMT_EMAIL && need_8bit_cte == 0) { int i, ch, in_body; for (in_body = i = 0; (ch = msg[i]); i++) { @@ -765,7 +763,7 @@ void pretty_print_commit(enum cmit_fmt fmt, const struct commit *commit, in_body = 1; } else if (non_ascii(ch)) { - plain_non_ascii = 1; + need_8bit_cte = 1; break; } } @@ -790,7 +788,7 @@ void pretty_print_commit(enum cmit_fmt fmt, const struct commit *commit, /* These formats treat the title line specially. */ if (fmt == CMIT_FMT_ONELINE || fmt == CMIT_FMT_EMAIL) pp_title_line(fmt, &msg, sb, subject, - after_subject, encoding, plain_non_ascii); + after_subject, encoding, need_8bit_cte); beginning_of_body = sb->len; if (fmt != CMIT_FMT_ONELINE) diff --git a/sha1_name.c b/sha1_name.c index 8b6c76f68e..491d2e7ebf 100644 --- a/sha1_name.c +++ b/sha1_name.c @@ -407,18 +407,22 @@ static int get_nth_ancestor(const char *name, int len, unsigned char *result, int generation) { unsigned char sha1[20]; - int ret = get_sha1_1(name, len, sha1); + struct commit *commit; + int ret; + + ret = get_sha1_1(name, len, sha1); if (ret) return ret; + commit = lookup_commit_reference(sha1); + if (!commit) + return -1; while (generation--) { - struct commit *commit = lookup_commit_reference(sha1); - - if (!commit || parse_commit(commit) || !commit->parents) + if (parse_commit(commit) || !commit->parents) return -1; - hashcpy(sha1, commit->parents->item->object.sha1); + commit = commit->parents->item; } - hashcpy(result, sha1); + hashcpy(result, commit->object.sha1); return 0; } @@ -544,9 +548,8 @@ static int get_sha1_1(const char *name, int len, unsigned char *sha1) int ret, has_suffix; const char *cp; - /* "name~3" is "name^^^", - * "name~" and "name~0" are name -- not "name^0"! - * "name^" is not "name^0"; it is "name^1". + /* + * "name~3" is "name^^^", "name~" is "name~1", and "name^" is "name^1". */ has_suffix = 0; for (cp = name + len - 1; name <= cp; cp--) { @@ -564,11 +567,10 @@ static int get_sha1_1(const char *name, int len, unsigned char *sha1) cp++; while (cp < name + len) num = num * 10 + *cp++ - '0'; - if (has_suffix == '^') { - if (!num && len1 == len - 1) - num = 1; + if (!num && len1 == len - 1) + num = 1; + if (has_suffix == '^') return get_parent(name, len1, sha1, num); - } /* else if (has_suffix == '~') -- goes without saying */ return get_nth_ancestor(name, len1, sha1, num); } diff --git a/t/diff-lib.sh b/t/diff-lib.sh index 7dc6d7eb1e..28b941c493 100644 --- a/t/diff-lib.sh +++ b/t/diff-lib.sh @@ -21,8 +21,8 @@ compare_diff_raw_z () { # Also we do not check SHA1 hash generation in this test, which # is a job for t0000-basic.sh - tr '\000' '\012' <"$1" | sed -e "$sanitize_diff_raw_z" >.tmp-1 - tr '\000' '\012' <"$2" | sed -e "$sanitize_diff_raw_z" >.tmp-2 + perl -pe 'y/\000/\012/' <"$1" | sed -e "$sanitize_diff_raw_z" >.tmp-1 + perl -pe 'y/\000/\012/' <"$2" | sed -e "$sanitize_diff_raw_z" >.tmp-2 git diff .tmp-1 .tmp-2 && rm -f .tmp-1 .tmp-2 } diff --git a/t/t0003-attributes.sh b/t/t0003-attributes.sh index 47f08a46c2..3faf135e38 100755 --- a/t/t0003-attributes.sh +++ b/t/t0003-attributes.sh @@ -11,7 +11,7 @@ attr_check () { git check-attr test -- "$path" >actual && echo "$path: test: $2" >expect && - diff -u expect actual + test_cmp expect actual } diff --git a/t/t0020-crlf.sh b/t/t0020-crlf.sh index 90ea081db6..2bfeac986e 100755 --- a/t/t0020-crlf.sh +++ b/t/t0020-crlf.sh @@ -5,7 +5,7 @@ test_description='CRLF conversion' . ./test-lib.sh q_to_nul () { - tr Q '\000' + perl -pe 'y/Q/\000/' } q_to_cr () { diff --git a/t/t0022-crlf-rename.sh b/t/t0022-crlf-rename.sh index 430a1d1d38..7d1ce2d056 100755 --- a/t/t0022-crlf-rename.sh +++ b/t/t0022-crlf-rename.sh @@ -26,7 +26,7 @@ test_expect_success 'diff -M' ' git diff-tree -M -r --name-status HEAD^ HEAD | sed -e "s/R[0-9]*/RNUM/" >actual && echo "RNUM sample elpmas" >expect && - diff -u expect actual + test_cmp expect actual ' diff --git a/t/t0030-stripspace.sh b/t/t0030-stripspace.sh index 818c8621f2..3ecdd6626a 100755 --- a/t/t0030-stripspace.sh +++ b/t/t0030-stripspace.sh @@ -245,12 +245,12 @@ test_expect_success \ test_expect_success \ 'text plus spaces without newline at end should not show spaces' ' - ! (printf "$ttt$sss" | git stripspace | grep -q " ") && - ! (printf "$ttt$ttt$sss" | git stripspace | grep -q " ") && - ! (printf "$ttt$ttt$ttt$sss" | git stripspace | grep -q " ") && - ! (printf "$ttt$sss$sss" | git stripspace | grep -q " ") && - ! (printf "$ttt$ttt$sss$sss" | git stripspace | grep -q " ") && - ! (printf "$ttt$sss$sss$sss" | git stripspace | grep -q " ") + ! (printf "$ttt$sss" | git stripspace | grep " " >/dev/null) && + ! (printf "$ttt$ttt$sss" | git stripspace | grep " " >/dev/null) && + ! (printf "$ttt$ttt$ttt$sss" | git stripspace | grep " " >/dev/null) && + ! (printf "$ttt$sss$sss" | git stripspace | grep " " >/dev/null) && + ! (printf "$ttt$ttt$sss$sss" | git stripspace | grep " " >/dev/null) && + ! (printf "$ttt$sss$sss$sss" | git stripspace | grep " " >/dev/null) ' test_expect_success \ @@ -282,12 +282,12 @@ test_expect_success \ test_expect_success \ 'text plus spaces at end should not show spaces' ' - ! (echo "$ttt$sss" | git stripspace | grep -q " ") && - ! (echo "$ttt$ttt$sss" | git stripspace | grep -q " ") && - ! (echo "$ttt$ttt$ttt$sss" | git stripspace | grep -q " ") && - ! (echo "$ttt$sss$sss" | git stripspace | grep -q " ") && - ! (echo "$ttt$ttt$sss$sss" | git stripspace | grep -q " ") && - ! (echo "$ttt$sss$sss$sss" | git stripspace | grep -q " ") + ! (echo "$ttt$sss" | git stripspace | grep " " >/dev/null) && + ! (echo "$ttt$ttt$sss" | git stripspace | grep " " >/dev/null) && + ! (echo "$ttt$ttt$ttt$sss" | git stripspace | grep " " >/dev/null) && + ! (echo "$ttt$sss$sss" | git stripspace | grep " " >/dev/null) && + ! (echo "$ttt$ttt$sss$sss" | git stripspace | grep " " >/dev/null) && + ! (echo "$ttt$sss$sss$sss" | git stripspace | grep " " >/dev/null) ' test_expect_success \ @@ -341,11 +341,11 @@ test_expect_success \ test_expect_success \ 'spaces without newline at end should not show spaces' ' - ! (printf "" | git stripspace | grep -q " ") && - ! (printf "$sss" | git stripspace | grep -q " ") && - ! (printf "$sss$sss" | git stripspace | grep -q " ") && - ! (printf "$sss$sss$sss" | git stripspace | grep -q " ") && - ! (printf "$sss$sss$sss$sss" | git stripspace | grep -q " ") + ! (printf "" | git stripspace | grep " " >/dev/null) && + ! (printf "$sss" | git stripspace | grep " " >/dev/null) && + ! (printf "$sss$sss" | git stripspace | grep " " >/dev/null) && + ! (printf "$sss$sss$sss" | git stripspace | grep " " >/dev/null) && + ! (printf "$sss$sss$sss$sss" | git stripspace | grep " " >/dev/null) ' test_expect_success \ diff --git a/t/t0050-filesystem.sh b/t/t0050-filesystem.sh index cd088b37f0..3fbad77811 100755 --- a/t/t0050-filesystem.sh +++ b/t/t0050-filesystem.sh @@ -4,8 +4,8 @@ test_description='Various filesystem issues' . ./test-lib.sh -auml=`perl -CO -e 'print pack("U",0x00E4)'` -aumlcdiar=`perl -CO -e 'print pack("U",0x0061).pack("U",0x0308)'` +auml=`printf '\xc3\xa4'` +aumlcdiar=`printf '\x61\xcc\x88'` test_expect_success 'see if we expect ' ' diff --git a/t/t1000-read-tree-m-3way.sh b/t/t1000-read-tree-m-3way.sh index 6c065bfa21..17f519f547 100755 --- a/t/t1000-read-tree-m-3way.sh +++ b/t/t1000-read-tree-m-3way.sh @@ -214,7 +214,7 @@ test_expect_success '1 - must not have an entry not in A.' " rm -f .git/index XX && echo XX >XX && git update-index --add XX && - ! git read-tree -m $tree_O $tree_A $tree_B + test_must_fail git read-tree -m $tree_O $tree_A $tree_B " test_expect_success \ @@ -254,7 +254,7 @@ test_expect_success \ cp .orig-A/AN AN && echo extra >>AN && git update-index --add AN && - ! git read-tree -m $tree_O $tree_A $tree_B + test_must_fail git read-tree -m $tree_O $tree_A $tree_B " test_expect_success \ @@ -271,7 +271,7 @@ test_expect_success \ cp .orig-A/AA AA && git update-index --add AA && echo extra >>AA && - ! git read-tree -m $tree_O $tree_A $tree_B + test_must_fail git read-tree -m $tree_O $tree_A $tree_B " test_expect_success \ @@ -280,7 +280,7 @@ test_expect_success \ cp .orig-A/AA AA && echo extra >>AA && git update-index --add AA && - ! git read-tree -m $tree_O $tree_A $tree_B + test_must_fail git read-tree -m $tree_O $tree_A $tree_B " test_expect_success \ @@ -306,7 +306,7 @@ test_expect_success \ cp .orig-A/LL LL && echo extra >>LL && git update-index --add LL && - ! git read-tree -m $tree_O $tree_A $tree_B + test_must_fail git read-tree -m $tree_O $tree_A $tree_B " test_expect_success \ @@ -314,7 +314,7 @@ test_expect_success \ rm -f .git/index DD && echo DD >DD git update-index --add DD && - ! git read-tree -m $tree_O $tree_A $tree_B + test_must_fail git read-tree -m $tree_O $tree_A $tree_B " test_expect_success \ @@ -322,7 +322,7 @@ test_expect_success \ rm -f .git/index DM && cp .orig-B/DM DM && git update-index --add DM && - ! git read-tree -m $tree_O $tree_A $tree_B + test_must_fail git read-tree -m $tree_O $tree_A $tree_B " test_expect_success \ @@ -330,7 +330,7 @@ test_expect_success \ rm -f .git/index DN && cp .orig-B/DN DN && git update-index --add DN && - ! git read-tree -m $tree_O $tree_A $tree_B + test_must_fail git read-tree -m $tree_O $tree_A $tree_B " test_expect_success \ @@ -347,7 +347,7 @@ test_expect_success \ cp .orig-A/MD MD && git update-index --add MD && echo extra >>MD && - ! git read-tree -m $tree_O $tree_A $tree_B + test_must_fail git read-tree -m $tree_O $tree_A $tree_B " test_expect_success \ @@ -356,7 +356,7 @@ test_expect_success \ cp .orig-A/MD MD && echo extra >>MD && git update-index --add MD && - ! git read-tree -m $tree_O $tree_A $tree_B + test_must_fail git read-tree -m $tree_O $tree_A $tree_B " test_expect_success \ @@ -373,7 +373,7 @@ test_expect_success \ cp .orig-A/ND ND && git update-index --add ND && echo extra >>ND && - ! git read-tree -m $tree_O $tree_A $tree_B + test_must_fail git read-tree -m $tree_O $tree_A $tree_B " test_expect_success \ @@ -382,7 +382,7 @@ test_expect_success \ cp .orig-A/ND ND && echo extra >>ND && git update-index --add ND && - ! git read-tree -m $tree_O $tree_A $tree_B + test_must_fail git read-tree -m $tree_O $tree_A $tree_B " test_expect_success \ @@ -399,7 +399,7 @@ test_expect_success \ cp .orig-A/MM MM && git update-index --add MM && echo extra >>MM && - ! git read-tree -m $tree_O $tree_A $tree_B + test_must_fail git read-tree -m $tree_O $tree_A $tree_B " test_expect_success \ @@ -408,7 +408,7 @@ test_expect_success \ cp .orig-A/MM MM && echo extra >>MM && git update-index --add MM && - ! git read-tree -m $tree_O $tree_A $tree_B + test_must_fail git read-tree -m $tree_O $tree_A $tree_B " test_expect_success \ @@ -434,7 +434,7 @@ test_expect_success \ cp .orig-A/SS SS && echo extra >>SS && git update-index --add SS && - ! git read-tree -m $tree_O $tree_A $tree_B + test_must_fail git read-tree -m $tree_O $tree_A $tree_B " test_expect_success \ @@ -477,7 +477,7 @@ test_expect_success \ cp .orig-A/NM NM && git update-index --add NM && echo extra >>NM && - ! git read-tree -m $tree_O $tree_A $tree_B + test_must_fail git read-tree -m $tree_O $tree_A $tree_B " test_expect_success \ @@ -486,7 +486,7 @@ test_expect_success \ cp .orig-A/NM NM && echo extra >>NM && git update-index --add NM && - ! git read-tree -m $tree_O $tree_A $tree_B + test_must_fail git read-tree -m $tree_O $tree_A $tree_B " test_expect_success \ @@ -512,7 +512,7 @@ test_expect_success \ cp .orig-A/NN NN && echo extra >>NN && git update-index --add NN && - ! git read-tree -m $tree_O $tree_A $tree_B + test_must_fail git read-tree -m $tree_O $tree_A $tree_B " # #16 diff --git a/t/t1004-read-tree-m-u-wf.sh b/t/t1004-read-tree-m-u-wf.sh index d609a551ae..9d1371c2c6 100755 --- a/t/t1004-read-tree-m-u-wf.sh +++ b/t/t1004-read-tree-m-u-wf.sh @@ -116,4 +116,45 @@ test_expect_success 'three-way not complaining on an untracked file' ' git read-tree -m -u --exclude-per-directory=.gitignore branch-point master side ' +test_expect_success '3-way not overwriting local changes (setup)' ' + + git reset --hard && + git checkout -b side-a branch-point && + echo >>file1 "new line to be kept in the merge result" && + git commit -a -m "side-a changes file1" && + git checkout -b side-b branch-point && + echo >>file2 "new line to be kept in the merge result" && + git commit -a -m "side-b changes file2" && + git checkout side-a + +' + +test_expect_success '3-way not overwriting local changes (our side)' ' + + # At this point, file1 from side-a should be kept as side-b + # did not touch it. + + git reset --hard && + + echo >>file1 "local changes" && + git read-tree -m -u branch-point side-a side-b && + grep "new line to be kept" file1 && + grep "local changes" file1 + +' + +test_expect_success '3-way not overwriting local changes (their side)' ' + + # At this point, file2 from side-b should be taken as side-a + # did not touch it. + + git reset --hard && + + echo >>file2 "local changes" && + test_must_fail git read-tree -m -u branch-point side-a side-b && + ! grep "new line to be kept" file2 && + grep "local changes" file2 + +' + test_done diff --git a/t/t1005-read-tree-reset.sh b/t/t1005-read-tree-reset.sh index 8c4556408e..b0d31f5a9b 100755 --- a/t/t1005-read-tree-reset.sh +++ b/t/t1005-read-tree-reset.sh @@ -24,7 +24,7 @@ test_expect_success 'setup' ' test_expect_success 'reset should work' ' git read-tree -u --reset HEAD^ && git ls-files >actual && - diff -u expect actual + test_cmp expect actual ' test_done diff --git a/t/t1300-repo-config.sh b/t/t1300-repo-config.sh index 4928a57114..b36a9012ec 100755 --- a/t/t1300-repo-config.sh +++ b/t/t1300-repo-config.sh @@ -657,12 +657,12 @@ Qsection.sub=section.val4 Qsection.sub=section.val5Q EOF -git config --null --list | tr '\000' 'Q' > result +git config --null --list | perl -pe 'y/\000/Q/' > result echo >>result test_expect_success '--null --list' 'cmp result expect' -git config --null --get-regexp 'val[0-9]' | tr '\000' 'Q' > result +git config --null --get-regexp 'val[0-9]' | perl -pe 'y/\000/Q/' > result echo >>result test_expect_success '--null --get-regexp' 'cmp result expect' diff --git a/t/t1410-reflog.sh b/t/t1410-reflog.sh index 24476bede5..73f830db23 100755 --- a/t/t1410-reflog.sh +++ b/t/t1410-reflog.sh @@ -202,22 +202,4 @@ test_expect_success 'delete' ' ' -test_expect_success 'prune --expire' ' - - before=$(git count-objects | sed "s/ .*//") && - BLOB=$(echo aleph | git hash-object -w --stdin) && - BLOB_FILE=.git/objects/$(echo $BLOB | sed "s/^../&\//") && - test $((1 + $before)) = $(git count-objects | sed "s/ .*//") && - test -f $BLOB_FILE && - git reset --hard && - git prune --expire=1.hour.ago && - test $((1 + $before)) = $(git count-objects | sed "s/ .*//") && - test -f $BLOB_FILE && - test-chmtime -86500 $BLOB_FILE && - git prune --expire 1.day && - test $before = $(git count-objects | sed "s/ .*//") && - ! test -f $BLOB_FILE - -' - test_done diff --git a/t/t2200-add-update.sh b/t/t2200-add-update.sh index 24f892f793..b664341926 100755 --- a/t/t2200-add-update.sh +++ b/t/t2200-add-update.sh @@ -62,7 +62,7 @@ test_expect_success 'cache tree has not been corrupted' ' sed -e "s/ 0 / /" >expect && git ls-tree -r $(git write-tree) | sed -e "s/ blob / /" >current && - diff -u expect current + test_cmp expect current ' diff --git a/t/t3001-ls-files-others-exclude.sh b/t/t3001-ls-files-others-exclude.sh index b4297bacf2..55f057cebe 100755 --- a/t/t3001-ls-files-others-exclude.sh +++ b/t/t3001-ls-files-others-exclude.sh @@ -97,7 +97,7 @@ cat > expect << EOF EOF test_expect_success 'git-status honours core.excludesfile' \ - 'diff -u expect output' + 'test_cmp expect output' test_expect_success 'trailing slash in exclude allows directory match(1)' ' diff --git a/t/t3050-subprojects-fetch.sh b/t/t3050-subprojects-fetch.sh index 34f26a8d9e..2b21b1070d 100755 --- a/t/t3050-subprojects-fetch.sh +++ b/t/t3050-subprojects-fetch.sh @@ -26,7 +26,7 @@ test_expect_success clone ' cd cloned && (git rev-parse HEAD; git ls-files -s) >../actual ) && - diff -u expected actual + test_cmp expected actual ' test_expect_success advance ' @@ -46,7 +46,7 @@ test_expect_success fetch ' git pull && (git rev-parse HEAD; git ls-files -s) >../actual ) && - diff -u expected actual + test_cmp expected actual ' test_done diff --git a/t/t3060-ls-files-with-tree.sh b/t/t3060-ls-files-with-tree.sh index 68eb266d73..3ce501bb97 100755 --- a/t/t3060-ls-files-with-tree.sh +++ b/t/t3060-ls-files-with-tree.sh @@ -66,6 +66,6 @@ test_expect_success 'git -ls-files --with-tree should succeed from subdir' ' cd .. test_expect_success \ 'git -ls-files --with-tree should add entries from named tree.' \ - 'diff -u expected output' + 'test_cmp expected output' test_done diff --git a/t/t3201-branch-contains.sh b/t/t3201-branch-contains.sh index 9ef593f0e1..b4cf628d22 100755 --- a/t/t3201-branch-contains.sh +++ b/t/t3201-branch-contains.sh @@ -31,7 +31,7 @@ test_expect_success 'branch --contains=master' ' { echo " master" && echo "* side" } >expect && - diff -u expect actual + test_cmp expect actual ' @@ -41,7 +41,7 @@ test_expect_success 'branch --contains master' ' { echo " master" && echo "* side" } >expect && - diff -u expect actual + test_cmp expect actual ' @@ -51,7 +51,7 @@ test_expect_success 'branch --contains=side' ' { echo "* side" } >expect && - diff -u expect actual + test_cmp expect actual ' diff --git a/t/t3300-funny-names.sh b/t/t3300-funny-names.sh index 98c133db50..24a00a9df1 100755 --- a/t/t3300-funny-names.sh +++ b/t/t3300-funny-names.sh @@ -54,7 +54,7 @@ echo 'just space no-funny tabs ," (dq) and spaces' >expected test_expect_success 'git ls-files -z with-funny' \ - 'git ls-files -z | tr \\000 \\012 >current && + 'git ls-files -z | perl -pe y/\\000/\\012/ >current && git diff expected current' t1=`git write-tree` @@ -83,11 +83,11 @@ test_expect_success 'git diff-tree with-funny' \ echo 'A tabs ," (dq) and spaces' >expected test_expect_success 'git diff-index -z with-funny' \ - 'git diff-index -z --name-status $t0 | tr \\000 \\012 >current && + 'git diff-index -z --name-status $t0 | perl -pe y/\\000/\\012/ >current && git diff expected current' test_expect_success 'git diff-tree -z with-funny' \ - 'git diff-tree -z --name-status $t0 $t1 | tr \\000 \\012 >current && + 'git diff-tree -z --name-status $t0 $t1 | perl -pe y/\\000/\\012/ >current && git diff expected current' cat > expected <<\EOF diff --git a/t/t3404-rebase-interactive.sh b/t/t3404-rebase-interactive.sh index 049aa37538..9cf873f7eb 100755 --- a/t/t3404-rebase-interactive.sh +++ b/t/t3404-rebase-interactive.sh @@ -122,8 +122,8 @@ test_expect_success 'reflog for the branch shows state before rebase' ' test_expect_success 'exchange two commits' ' FAKE_LINES="2 1" git rebase -i HEAD~2 && - test H = $(git cat-file commit HEAD^ | tail -n 1) && - test G = $(git cat-file commit HEAD | tail -n 1) + test H = $(git cat-file commit HEAD^ | sed -ne \$p) && + test G = $(git cat-file commit HEAD | sed -ne \$p) ' cat > expect << EOF @@ -146,11 +146,10 @@ EOF test_expect_success 'stop on conflicting pick' ' git tag new-branch1 && ! git rebase -i master && - diff -u expect .git/.dotest-merge/patch && - diff -u expect2 file1 && + test_cmp expect .git/.dotest-merge/patch && + test_cmp expect2 file1 && test 4 = $(grep -v "^#" < .git/.dotest-merge/done | wc -l) && - test 0 = $(grep -ve "^#" -e "^$" < .git/.dotest-merge/git-rebase-todo | - wc -l) + test 0 = $(grep -c "^[^#]" < .git/.dotest-merge/git-rebase-todo) ' test_expect_success 'abort' ' diff --git a/t/t3405-rebase-malformed.sh b/t/t3405-rebase-malformed.sh index e4e2e649ed..e5ad67c643 100755 --- a/t/t3405-rebase-malformed.sh +++ b/t/t3405-rebase-malformed.sh @@ -41,8 +41,8 @@ test_expect_success rebase ' git rebase master side && git cat-file commit HEAD | sed -e "1,/^\$/d" >F1 && - diff -u F0 F1 && - diff -u F F0 + test_cmp F0 F1 && + test_cmp F F0 ' test_done diff --git a/t/t3406-rebase-message.sh b/t/t3406-rebase-message.sh index 332b2b2feb..5391080943 100755 --- a/t/t3406-rebase-message.sh +++ b/t/t3406-rebase-message.sh @@ -37,7 +37,7 @@ test_expect_success 'rebase -m' ' git rebase -m master >report && sed -n -e "/^Already applied: /p" \ -e "/^Committed: /p" report >actual && - diff -u expect actual + test_cmp expect actual ' diff --git a/t/t3701-add-interactive.sh b/t/t3701-add-interactive.sh index c8dc1ac241..77c90f6fa0 100755 --- a/t/t3701-add-interactive.sh +++ b/t/t3701-add-interactive.sh @@ -24,7 +24,7 @@ EOF test_expect_success 'diff works (initial)' ' (echo d; echo 1) | git add -i >output && sed -ne "/new file/,/content/p" <output >diff && - diff -u expected diff + test_cmp expected diff ' test_expect_success 'revert works (initial)' ' git add file && @@ -57,7 +57,7 @@ EOF test_expect_success 'diff works (commit)' ' (echo d; echo 1) | git add -i >output && sed -ne "/^index/,/content/p" <output >diff && - diff -u expected diff + test_cmp expected diff ' test_expect_success 'revert works (commit)' ' git add file && diff --git a/t/t3800-mktag.sh b/t/t3800-mktag.sh index f2803206f1..278075823b 100755 --- a/t/t3800-mktag.sh +++ b/t/t3800-mktag.sh @@ -15,7 +15,7 @@ check_verify_failure () { expect="$2" test_expect_success "$1" ' ( ! git-mktag <tag.sig 2>message ) && - grep -q "$expect" message + grep "$expect" message ' } diff --git a/t/t3902-quoted.sh b/t/t3902-quoted.sh index 73da45f18c..fe4fb5116a 100755 --- a/t/t3902-quoted.sh +++ b/t/t3902-quoted.sh @@ -78,28 +78,28 @@ EOF test_expect_success 'check fully quoted output from ls-files' ' - git ls-files >current && diff -u expect.quoted current + git ls-files >current && test_cmp expect.quoted current ' test_expect_success 'check fully quoted output from diff-files' ' git diff --name-only >current && - diff -u expect.quoted current + test_cmp expect.quoted current ' test_expect_success 'check fully quoted output from diff-index' ' git diff --name-only HEAD >current && - diff -u expect.quoted current + test_cmp expect.quoted current ' test_expect_success 'check fully quoted output from diff-tree' ' git diff --name-only HEAD^ HEAD >current && - diff -u expect.quoted current + test_cmp expect.quoted current ' @@ -111,28 +111,28 @@ test_expect_success 'setting core.quotepath' ' test_expect_success 'check fully quoted output from ls-files' ' - git ls-files >current && diff -u expect.raw current + git ls-files >current && test_cmp expect.raw current ' test_expect_success 'check fully quoted output from diff-files' ' git diff --name-only >current && - diff -u expect.raw current + test_cmp expect.raw current ' test_expect_success 'check fully quoted output from diff-index' ' git diff --name-only HEAD >current && - diff -u expect.raw current + test_cmp expect.raw current ' test_expect_success 'check fully quoted output from diff-tree' ' git diff --name-only HEAD^ HEAD >current && - diff -u expect.raw current + test_cmp expect.raw current ' diff --git a/t/t3903-stash.sh b/t/t3903-stash.sh index aa282e1bc1..2d3ee3b78c 100755 --- a/t/t3903-stash.sh +++ b/t/t3903-stash.sh @@ -34,7 +34,7 @@ EOF test_expect_success 'parents of stash' ' test $(git rev-parse stash^) = $(git rev-parse HEAD) && git diff stash^2..stash > output && - diff -u output expect + test_cmp output expect ' test_expect_success 'apply needs clean working directory' ' diff --git a/t/t4020-diff-external.sh b/t/t4020-diff-external.sh index 888293361d..637b4e19d5 100755 --- a/t/t4020-diff-external.sh +++ b/t/t4020-diff-external.sh @@ -99,11 +99,12 @@ test_expect_success 'no diff with -diff' ' git diff | grep Binary ' -echo NULZbetweenZwords | tr Z '\000' > file +echo NULZbetweenZwords | perl -pe 'y/Z/\000/' > file test_expect_success 'force diff with "diff"' ' echo >.gitattributes "file diff" && - git diff | grep -a second + git diff >actual && + test_cmp ../t4020/diff.NUL actual ' test_done diff --git a/t/t4020/diff.NUL b/t/t4020/diff.NUL Binary files differnew file mode 100644 index 0000000000..db2f89090c --- /dev/null +++ b/t/t4020/diff.NUL diff --git a/t/t4021-format-patch-signer-mime.sh b/t/t4021-format-patch-signer-mime.sh index 67a70fadab..ba43f18549 100755 --- a/t/t4021-format-patch-signer-mime.sh +++ b/t/t4021-format-patch-signer-mime.sh @@ -32,11 +32,19 @@ test_expect_success 'format with signoff without funny signer name' ' test_expect_success 'format with non ASCII signer name' ' - GIT_COMMITTER_NAME="$B$O$^$N(B $B$U$K$*$&(B" \ + GIT_COMMITTER_NAME="ã¯ã¾ã® ãµã«ãŠã†" \ git format-patch -s --stdout -1 >output && grep Content-Type output ' +test_expect_success 'attach and signoff do not duplicate mime headers' ' + + GIT_COMMITTER_NAME="ã¯ã¾ã® ãµã«ãŠã†" \ + git format-patch -s --stdout -1 --attach >output && + test `grep -ci ^MIME-Version: output` = 1 + +' + test_done diff --git a/t/t4022-diff-rewrite.sh b/t/t4022-diff-rewrite.sh index 6de4acbd44..bf996fc414 100755 --- a/t/t4022-diff-rewrite.sh +++ b/t/t4022-diff-rewrite.sh @@ -8,7 +8,10 @@ test_expect_success setup ' cat ../../COPYING >test && git add test && - tr 'a-zA-Z' 'n-za-mN-ZA-M' <../../COPYING >test + tr \ + "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" \ + "nopqrstuvwxyzabcdefghijklmNOPQRSTUVWXYZABCDEFGHIJKLM" \ + <../../COPYING >test ' diff --git a/t/t4023-diff-rename-typechange.sh b/t/t4023-diff-rename-typechange.sh index 255604effd..4dbfc6e8b7 100755 --- a/t/t4023-diff-rename-typechange.sh +++ b/t/t4023-diff-rename-typechange.sh @@ -57,7 +57,7 @@ test_expect_success 'cross renames to be detected for regular files' ' echo "R100 foo bar" echo "R100 bar foo" } | sort >expect && - diff -u expect actual + test_cmp expect actual ' @@ -68,7 +68,7 @@ test_expect_success 'cross renames to be detected for typechange' ' echo "R100 foo bar" echo "R100 bar foo" } | sort >expect && - diff -u expect actual + test_cmp expect actual ' @@ -79,7 +79,7 @@ test_expect_success 'moves and renames' ' echo "R100 foo bar" echo "T100 foo" } | sort >expect && - diff -u expect actual + test_cmp expect actual ' diff --git a/t/t4024-diff-optimize-common.sh b/t/t4024-diff-optimize-common.sh index 3c66102f7a..c4d733f5db 100755 --- a/t/t4024-diff-optimize-common.sh +++ b/t/t4024-diff-optimize-common.sh @@ -150,7 +150,7 @@ test_expect_success 'diff -U0' ' do git diff -U0 file-?$n done | zc >actual && - diff -u expect actual + test_cmp expect actual ' diff --git a/t/t4025-hunk-header.sh b/t/t4025-hunk-header.sh index 9ba06b74ce..7a3dbc1ea2 100755 --- a/t/t4025-hunk-header.sh +++ b/t/t4025-hunk-header.sh @@ -37,7 +37,7 @@ test_expect_success 'hunk header truncation with an overly long line' ' echo " A $N$N$N$N$N$N$N$N$N2" echo " L $N$N$N$N$N$N$N$N$N1" ) >expected && - diff -u actual expected + test_cmp actual expected ' diff --git a/t/t4027-diff-submodule.sh b/t/t4027-diff-submodule.sh index 3d2d0816a3..1fd3fb74d7 100755 --- a/t/t4027-diff-submodule.sh +++ b/t/t4027-diff-submodule.sh @@ -37,17 +37,17 @@ test_expect_success setup ' test_expect_success 'git diff --raw HEAD' ' git diff --raw --abbrev=40 HEAD >actual && - diff -u expect actual + test_cmp expect actual ' test_expect_success 'git diff-index --raw HEAD' ' git diff-index --raw HEAD >actual.index && - diff -u expect actual.index + test_cmp expect actual.index ' test_expect_success 'git diff-files --raw' ' git diff-files --raw >actual.files && - diff -u expect actual.files + test_cmp expect actual.files ' test_done diff --git a/t/t4028-format-patch-mime-headers.sh b/t/t4028-format-patch-mime-headers.sh new file mode 100755 index 0000000000..204ba673cb --- /dev/null +++ b/t/t4028-format-patch-mime-headers.sh @@ -0,0 +1,30 @@ +#!/bin/sh + +test_description='format-patch mime headers and extra headers do not conflict' +. ./test-lib.sh + +test_expect_success 'create commit with utf-8 body' ' + echo content >file && + git add file && + git commit -m one && + echo more >>file && + git commit -a -m "two + + utf-8 body: ñ" +' + +test_expect_success 'patch has mime headers' ' + rm -f 0001-two.patch && + git format-patch HEAD^ && + grep -i "content-type: text/plain; charset=utf-8" 0001-two.patch +' + +test_expect_success 'patch has mime and extra headers' ' + rm -f 0001-two.patch && + git config format.headers "x-foo: bar" && + git format-patch HEAD^ && + grep -i "x-foo: bar" 0001-two.patch && + grep -i "content-type: text/plain; charset=utf-8" 0001-two.patch +' + +test_done diff --git a/t/t4103-apply-binary.sh b/t/t4103-apply-binary.sh index 7c25634fc2..1b58233da6 100755 --- a/t/t4103-apply-binary.sh +++ b/t/t4103-apply-binary.sh @@ -24,10 +24,10 @@ git update-index --add --remove file1 file2 file4 git-commit -m 'Initial Version' 2>/dev/null git-checkout -b binary -tr 'x' '\000' <file1 >file3 +perl -pe 'y/x/\000/' <file1 >file3 cat file3 >file4 git add file2 -tr '\000' 'v' <file3 >file1 +perl -pe 'y/\000/v/' <file3 >file1 rm -f file2 git update-index --add --remove file1 file2 file3 file4 git-commit -m 'Second Version' diff --git a/t/t4105-apply-fuzz.sh b/t/t4105-apply-fuzz.sh index 0e8d25f18b..3266e39400 100755 --- a/t/t4105-apply-fuzz.sh +++ b/t/t4105-apply-fuzz.sh @@ -9,7 +9,7 @@ dotest () { test_expect_success "$name" " git checkout-index -f -q -u file && git apply $* && - diff -u expect file + test_cmp expect file " } diff --git a/t/t4116-apply-reverse.sh b/t/t4116-apply-reverse.sh index b1d35ab04d..c3f4579007 100755 --- a/t/t4116-apply-reverse.sh +++ b/t/t4116-apply-reverse.sh @@ -12,14 +12,14 @@ test_description='git apply in reverse test_expect_success setup ' for i in a b c d e f g h i j k l m n; do echo $i; done >file1 && - tr "ijk" '\''\000\001\002'\'' <file1 >file2 && + perl -pe "y/ijk/\\000\\001\\002/" <file1 >file2 && git add file1 file2 && git commit -m initial && git tag initial && for i in a b c g h i J K L m o n p q; do echo $i; done >file1 && - tr "mon" '\''\000\001\002'\'' <file1 >file2 && + perl -pe "y/mon/\\000\\001\\002/" <file1 >file2 && git commit -a -m second && git tag second && diff --git a/t/t4125-apply-ws-fuzz.sh b/t/t4125-apply-ws-fuzz.sh index d6f15be671..3b471b641b 100755 --- a/t/t4125-apply-ws-fuzz.sh +++ b/t/t4125-apply-ws-fuzz.sh @@ -56,7 +56,7 @@ test_expect_success nofix ' git apply --whitespace=nowarn patch-1 && # The result should obviously match. - diff -u file-1 file + test_cmp file-1 file ' test_expect_success 'withfix (forward)' ' @@ -70,7 +70,7 @@ test_expect_success 'withfix (forward)' ' git apply --whitespace=fix patch-0 && git apply --whitespace=fix patch-1 && - diff -u file-fixed file + test_cmp file-fixed file ' test_expect_success 'withfix (backward)' ' @@ -91,12 +91,12 @@ test_expect_success 'withfix (backward)' ' sed -e /h/d file-fixed >fixed-head && sed -e /h/d file >file-head && - diff -u fixed-head file-head && + test_cmp fixed-head file-head && sed -n -e /h/p file-fixed >fixed-tail && sed -n -e /h/p file >file-tail && - ! diff -u fixed-tail file-tail + ! test_cmp fixed-tail file-tail ' diff --git a/t/t4150-am-subdir.sh b/t/t4150-am-subdir.sh index 929d2cbd87..52069b469b 100755 --- a/t/t4150-am-subdir.sh +++ b/t/t4150-am-subdir.sh @@ -22,14 +22,14 @@ test_expect_success 'am regularly from stdin' ' git checkout initial && git am <patchfile && git diff master >actual && - diff -u expect actual + test_cmp expect actual ' test_expect_success 'am regularly from file' ' git checkout initial && git am patchfile && git diff master >actual && - diff -u expect actual + test_cmp expect actual ' test_expect_success 'am regularly from stdin in subdirectory' ' @@ -41,7 +41,7 @@ test_expect_success 'am regularly from stdin in subdirectory' ' git am <../patchfile ) && git diff master>actual && - diff -u expect actual + test_cmp expect actual ' test_expect_success 'am regularly from file in subdirectory' ' @@ -53,7 +53,7 @@ test_expect_success 'am regularly from file in subdirectory' ' git am ../patchfile ) && git diff master >actual && - diff -u expect actual + test_cmp expect actual ' test_expect_success 'am regularly from file in subdirectory with full path' ' @@ -66,7 +66,7 @@ test_expect_success 'am regularly from file in subdirectory with full path' ' git am "$P/patchfile" ) && git diff master >actual && - diff -u expect actual + test_cmp expect actual ' test_done diff --git a/t/t4200-rerere.sh b/t/t4200-rerere.sh index eeff3c9c07..3cbfee704e 100755 --- a/t/t4200-rerere.sh +++ b/t/t4200-rerere.sh @@ -129,7 +129,7 @@ test_expect_success 'rerere kicked in' "! grep ======= a1" test_expect_success 'rerere prefers first change' 'git diff a1 expect' rm $rr/postimage -echo "$sha1 a1" | tr '\012' '\000' > .git/rr-cache/MERGE_RR +echo "$sha1 a1" | perl -pe 'y/\012/\000/' > .git/rr-cache/MERGE_RR test_expect_success 'rerere clear' 'git rerere clear' diff --git a/t/t4201-shortlog.sh b/t/t4201-shortlog.sh index 6d12efb74d..405b971191 100755 --- a/t/t4201-shortlog.sh +++ b/t/t4201-shortlog.sh @@ -45,6 +45,11 @@ A U Thor (5): EOF -test_expect_success 'shortlog wrapping' 'diff -u expect out' +test_expect_success 'shortlog wrapping' 'test_cmp expect out' + +git log HEAD > log +GIT_DIR=non-existing git shortlog -w < log > out + +test_expect_success 'shortlog from non-git directory' 'test_cmp expect out' test_done diff --git a/t/t5300-pack-object.sh b/t/t5300-pack-object.sh index cd3c149800..c955fe44f5 100755 --- a/t/t5300-pack-object.sh +++ b/t/t5300-pack-object.sh @@ -15,7 +15,7 @@ test_expect_success \ 'rm -f .git/index* for i in a b c do - dd if=/dev/zero bs=4k count=1 | tr "\\000" $i >$i && + dd if=/dev/zero bs=4k count=1 | perl -pe "y/\\000/$i/" >$i && git update-index --add $i || return 1 done && cat c >d && echo foo >>d && git update-index --add d && diff --git a/t/t5302-pack-index.sh b/t/t5302-pack-index.sh index 67b9a7b84a..b88b5bbd02 100755 --- a/t/t5302-pack-index.sh +++ b/t/t5302-pack-index.sh @@ -103,7 +103,7 @@ test_expect_success \ test_expect_success \ '[index v1] 2) create a stealth corruption in a delta base reference' \ '# this test assumes a delta smaller than 16 bytes at the end of the pack - git show-index <1.idx | sort -n | tail -n 1 | ( + git show-index <1.idx | sort -n | sed -ne \$p | ( read delta_offs delta_sha1 && git cat-file blob "$delta_sha1" > blob_1 && chmod +w ".git/objects/pack/pack-${pack1}.pack" && @@ -141,7 +141,7 @@ test_expect_success \ test_expect_success \ '[index v2] 2) create a stealth corruption in a delta base reference' \ '# this test assumes a delta smaller than 16 bytes at the end of the pack - git show-index <1.idx | sort -n | tail -n 1 | ( + git show-index <1.idx | sort -n | sed -ne \$p | ( read delta_offs delta_sha1 delta_crc && git cat-file blob "$delta_sha1" > blob_3 && chmod +w ".git/objects/pack/pack-${pack1}.pack" && diff --git a/t/t5304-prune.sh b/t/t5304-prune.sh index 6560af756e..47090c4cf5 100644 --- a/t/t5304-prune.sh +++ b/t/t5304-prune.sh @@ -29,4 +29,53 @@ test_expect_success 'prune stale packs' ' ' +test_expect_success 'prune --expire' ' + + before=$(git count-objects | sed "s/ .*//") && + BLOB=$(echo aleph | git hash-object -w --stdin) && + BLOB_FILE=.git/objects/$(echo $BLOB | sed "s/^../&\//") && + test $((1 + $before)) = $(git count-objects | sed "s/ .*//") && + test -f $BLOB_FILE && + git prune --expire=1.hour.ago && + test $((1 + $before)) = $(git count-objects | sed "s/ .*//") && + test -f $BLOB_FILE && + test-chmtime -86500 $BLOB_FILE && + git prune --expire 1.day && + test $before = $(git count-objects | sed "s/ .*//") && + ! test -f $BLOB_FILE + +' + +test_expect_success 'gc: implicit prune --expire' ' + + before=$(git count-objects | sed "s/ .*//") && + BLOB=$(echo aleph_0 | git hash-object -w --stdin) && + BLOB_FILE=.git/objects/$(echo $BLOB | sed "s/^../&\//") && + test $((1 + $before)) = $(git count-objects | sed "s/ .*//") && + test -f $BLOB_FILE && + test-chmtime -$((86400*14-30)) $BLOB_FILE && + git gc && + test $((1 + $before)) = $(git count-objects | sed "s/ .*//") && + test -f $BLOB_FILE && + test-chmtime -$((86400*14+1)) $BLOB_FILE && + git gc && + test $before = $(git count-objects | sed "s/ .*//") && + ! test -f $BLOB_FILE + +' + +test_expect_success 'gc: refuse to start with invalid gc.pruneExpire' ' + + git config gc.pruneExpire invalid && + test_must_fail git gc + +' + +test_expect_success 'gc: start with ok gc.pruneExpire' ' + + git config gc.pruneExpire 2.days.ago && + git gc + +' + test_done diff --git a/t/t5400-send-pack.sh b/t/t5400-send-pack.sh index 2d0c07fd6a..2b6b6e3f71 100755 --- a/t/t5400-send-pack.sh +++ b/t/t5400-send-pack.sh @@ -120,7 +120,7 @@ test_expect_success \ cd .. && git-clone parent child && cd child && git-push --all && cd ../parent && - git-branch -a >branches && ! grep -q origin/master branches + git-branch -a >branches && ! grep origin/master branches ' rewound_push_setup() { diff --git a/t/t5505-remote.sh b/t/t5505-remote.sh index 2822a651b5..ecfc999aaa 100755 --- a/t/t5505-remote.sh +++ b/t/t5505-remote.sh @@ -24,7 +24,7 @@ setup_repository () { tokens_match () { echo "$1" | tr ' ' '\012' | sort | sed -e '/^$/d' >expect && echo "$2" | tr ' ' '\012' | sort | sed -e '/^$/d' >actual && - diff -u expect actual + test_cmp expect actual } check_remote_track () { @@ -73,7 +73,7 @@ test_expect_success 'add another remote' ' sed -e "/^refs\/remotes\/origin\//d" \ -e "/^refs\/remotes\/second\//d" >actual && >expect && - diff -u expect actual + test_cmp expect actual ) ' @@ -93,7 +93,7 @@ test_expect_success 'remove remote' ' git for-each-ref "--format=%(refname)" refs/remotes | sed -e "/^refs\/remotes\/origin\//d" >actual && >expect && - diff -u expect actual + test_cmp expect actual ) ' diff --git a/t/t5510-fetch.sh b/t/t5510-fetch.sh index 9b948c14e6..6946557c67 100755 --- a/t/t5510-fetch.sh +++ b/t/t5510-fetch.sh @@ -249,7 +249,7 @@ test_expect_success 'bundle should record HEAD correctly' ' do echo "$(git rev-parse --verify $h) $h" done >expect && - diff -u expect actual + test_cmp expect actual ' diff --git a/t/t5512-ls-remote.sh b/t/t5512-ls-remote.sh index 6ec5f7c48b..c0dc94909b 100755 --- a/t/t5512-ls-remote.sh +++ b/t/t5512-ls-remote.sh @@ -24,28 +24,28 @@ test_expect_success setup ' test_expect_success 'ls-remote --tags .git' ' git ls-remote --tags .git >actual && - diff -u expected.tag actual + test_cmp expected.tag actual ' test_expect_success 'ls-remote .git' ' git ls-remote .git >actual && - diff -u expected.all actual + test_cmp expected.all actual ' test_expect_success 'ls-remote --tags self' ' git ls-remote --tags self >actual && - diff -u expected.tag actual + test_cmp expected.tag actual ' test_expect_success 'ls-remote self' ' git ls-remote self >actual && - diff -u expected.all actual + test_cmp expected.all actual ' diff --git a/t/t6000lib.sh b/t/t6000lib.sh index 180633e1e0..c0baaa5360 100755 --- a/t/t6000lib.sh +++ b/t/t6000lib.sh @@ -97,7 +97,13 @@ check_output() # from front and back. name_from_description() { - tr "'" '-' | tr '~`!@#$%^&*()_+={}[]|\;:"<>,/? ' '-' | tr -s '-' | tr '[A-Z]' '[a-z]' | sed "s/^-*//;s/-*\$//" + perl -pe ' + s/[^A-Za-z0-9.]/-/g; + s/-+/-/g; + s/-$//; + s/^-//; + y/A-Z/a-z/; + ' } diff --git a/t/t6004-rev-list-path-optim.sh b/t/t6004-rev-list-path-optim.sh index 80d71988b8..5dabf1c5e3 100755 --- a/t/t6004-rev-list-path-optim.sh +++ b/t/t6004-rev-list-path-optim.sh @@ -45,7 +45,7 @@ test_expect_success 'further setup' ' test_expect_success 'path optimization 2' ' ( echo "$side"; echo "$initial" ) >expected && git rev-list HEAD -- a >actual && - diff -u expected actual + test_cmp expected actual ' test_done diff --git a/t/t6009-rev-list-parent.sh b/t/t6009-rev-list-parent.sh index be3d238d99..f248a3293c 100755 --- a/t/t6009-rev-list-parent.sh +++ b/t/t6009-rev-list-parent.sh @@ -31,7 +31,7 @@ test_expect_failure 'one is ancestor of others and should not be shown' ' git rev-list one --not four >result && >expect && - diff -u expect result + test_cmp expect result ' diff --git a/t/t6027-merge-binary.sh b/t/t6027-merge-binary.sh index a7358f75b1..92ca1f0f8c 100755 --- a/t/t6027-merge-binary.sh +++ b/t/t6027-merge-binary.sh @@ -45,7 +45,7 @@ test_expect_success resolve ' false else git ls-files -s >current - diff -u current expect + test_cmp current expect fi ' @@ -60,7 +60,7 @@ test_expect_success recursive ' false else git ls-files -s >current - diff -u current expect + test_cmp current expect fi ' diff --git a/t/t6029-merge-subtree.sh b/t/t6029-merge-subtree.sh index 35d66e8044..43f5459c35 100755 --- a/t/t6029-merge-subtree.sh +++ b/t/t6029-merge-subtree.sh @@ -25,7 +25,7 @@ test_expect_success 'subtree available and works like recursive' ' git merge -s subtree side && for i in mundo $s world; do echo $i; done >expect && - diff -u expect hello + test_cmp expect hello ' diff --git a/t/t6030-bisect-porcelain.sh b/t/t6030-bisect-porcelain.sh index 4908e878fe..f471c1526f 100755 --- a/t/t6030-bisect-porcelain.sh +++ b/t/t6030-bisect-porcelain.sh @@ -219,7 +219,7 @@ test_expect_success 'bisect run & skip: cannot tell between 2' ' add_line_into_file "6: Yet a line." hello && HASH6=$(git rev-parse --verify HEAD) && echo "#"\!"/bin/sh" > test_script.sh && - echo "tail -1 hello | grep Ciao > /dev/null && exit 125" >> test_script.sh && + echo "sed -ne \\\$p hello | grep Ciao > /dev/null && exit 125" >> test_script.sh && echo "grep line hello > /dev/null" >> test_script.sh && echo "test \$? -ne 0" >> test_script.sh && chmod +x test_script.sh && @@ -244,8 +244,8 @@ test_expect_success 'bisect run & skip: find first bad' ' add_line_into_file "7: Should be the last line." hello && HASH7=$(git rev-parse --verify HEAD) && echo "#"\!"/bin/sh" > test_script.sh && - echo "tail -1 hello | grep Ciao > /dev/null && exit 125" >> test_script.sh && - echo "tail -1 hello | grep day > /dev/null && exit 125" >> test_script.sh && + echo "sed -ne \\\$p hello | grep Ciao > /dev/null && exit 125" >> test_script.sh && + echo "sed -ne \\\$p hello | grep day > /dev/null && exit 125" >> test_script.sh && echo "grep Yet hello > /dev/null" >> test_script.sh && echo "test \$? -ne 0" >> test_script.sh && chmod +x test_script.sh && diff --git a/t/t6031-merge-recursive.sh b/t/t6031-merge-recursive.sh new file mode 100755 index 0000000000..c8310aee4f --- /dev/null +++ b/t/t6031-merge-recursive.sh @@ -0,0 +1,49 @@ +#!/bin/sh + +test_description='merge-recursive: handle file mode' +. ./test-lib.sh + +test_expect_success 'mode change in one branch: keep changed version' ' + : >file1 && + git add file1 && + git commit -m initial && + git checkout -b a1 master && + : >dummy && + git add dummy && + git commit -m a && + git checkout -b b1 master && + chmod +x file1 && + git add file1 && + git commit -m b1 && + git checkout a1 && + git merge-recursive master -- a1 b1 && + test -x file1 +' + +test_expect_success 'mode change in both branches: expect conflict' ' + git reset --hard HEAD && + git checkout -b a2 master && + : >file2 && + H=$(git hash-object file2) && + chmod +x file2 && + git add file2 && + git commit -m a2 && + git checkout -b b2 master && + : >file2 && + git add file2 && + git commit -m b2 && + git checkout a2 && + ( + git merge-recursive master -- a2 b2 + test $? = 1 + ) && + git ls-files -u >actual && + ( + echo "100755 $H 2 file2" + echo "100644 $H 3 file2" + ) >expect && + test_cmp actual expect && + test -x file2 +' + +test_done diff --git a/t/t7003-filter-branch.sh b/t/t7003-filter-branch.sh index 6e14bf1c7f..553131fcf4 100755 --- a/t/t7003-filter-branch.sh +++ b/t/t7003-filter-branch.sh @@ -4,7 +4,7 @@ test_description='git-filter-branch' . ./test-lib.sh make_commit () { - lower=$(echo $1 | tr A-Z a-z) + lower=$(echo $1 | tr '[A-Z]' '[a-z]') echo $lower > $lower git add $lower test_tick diff --git a/t/t7010-setup.sh b/t/t7010-setup.sh index bc8ab6a619..02cf7c5c9d 100755 --- a/t/t7010-setup.sh +++ b/t/t7010-setup.sh @@ -18,7 +18,7 @@ test_expect_success 'git add (absolute)' ' git add "$D/a/b/c/d" && git ls-files >current && echo a/b/c/d >expect && - diff -u expect current + test_cmp expect current ' @@ -32,7 +32,7 @@ test_expect_success 'git add (funny relative)' ' ) && git ls-files >current && echo a/e/f >expect && - diff -u expect current + test_cmp expect current ' @@ -43,7 +43,7 @@ test_expect_success 'git rm (absolute)' ' git rm -f --cached "$D/a/b/c/d" && git ls-files >current && echo a/e/f >expect && - diff -u expect current + test_cmp expect current ' @@ -57,7 +57,7 @@ test_expect_success 'git rm (funny relative)' ' ) && git ls-files >current && echo a/b/c/d >expect && - diff -u expect current + test_cmp expect current ' @@ -67,7 +67,7 @@ test_expect_success 'git ls-files (absolute)' ' git add a && git ls-files "$D/a/e/../b" >current && echo a/b/c/d >expect && - diff -u expect current + test_cmp expect current ' @@ -80,7 +80,7 @@ test_expect_success 'git ls-files (relative #1)' ' git ls-files "../b/c" ) >current && echo c/d >expect && - diff -u expect current + test_cmp expect current ' @@ -93,7 +93,7 @@ test_expect_success 'git ls-files (relative #2)' ' git ls-files --full-name "../e/f" ) >current && echo a/e/f >expect && - diff -u expect current + test_cmp expect current ' @@ -126,13 +126,13 @@ test_expect_success 'log using absolute path names' ' git log a/b/c/d >f1.txt && git log "$(pwd)/a/b/c/d" >f2.txt && - diff -u f1.txt f2.txt + test_cmp f1.txt f2.txt ' test_expect_success 'blame using absolute path names' ' git blame a/b/c/d >f1.txt && git blame "$(pwd)/a/b/c/d" >f2.txt && - diff -u f1.txt f2.txt + test_cmp f1.txt f2.txt ' test_expect_success 'setup deeper work tree' ' diff --git a/t/t7201-co.sh b/t/t7201-co.sh index 63915cd87b..3111baa9e3 100755 --- a/t/t7201-co.sh +++ b/t/t7201-co.sh @@ -83,13 +83,13 @@ test_expect_success "checkout with unrelated dirty tree without -m" ' fill 0 1 2 3 4 5 6 7 8 >same && cp same kept git checkout side >messages && - diff -u same kept + test_cmp same kept (cat > messages.expect <<EOF M same EOF ) && touch messages.expect && - diff -u messages.expect messages + test_cmp messages.expect messages ' test_expect_success "checkout -m with dirty tree" ' @@ -106,19 +106,19 @@ test_expect_success "checkout -m with dirty tree" ' M one EOF ) && - diff -u expect.messages messages && + test_cmp expect.messages messages && fill "M one" "A three" "D two" >expect.master && git diff --name-status master >current.master && - diff -u expect.master current.master && + test_cmp expect.master current.master && fill "M one" >expect.side && git diff --name-status side >current.side && - diff -u expect.side current.side && + test_cmp expect.side current.side && : >expect.index && git diff --cached >current.index && - diff -u expect.index current.index + test_cmp expect.index current.index ' test_expect_success "checkout -m with dirty tree, renamed" ' @@ -136,7 +136,7 @@ test_expect_success "checkout -m with dirty tree, renamed" ' git checkout -m renamer && fill 1 3 4 5 7 8 >expect && - diff -u expect uno && + test_cmp expect uno && ! test -f one && git diff --cached >current && ! test -s current @@ -161,7 +161,7 @@ test_expect_success 'checkout -m with merge conflict' ' git diff master:one :3:uno | sed -e "1,/^@@/d" -e "/^ /d" -e "s/^-/d/" -e "s/^+/a/" >current && fill d2 aT d7 aS >expect && - diff -u current expect && + test_cmp current expect && git diff --cached two >current && ! test -s current ' @@ -178,7 +178,7 @@ If you want to create a new branch from this checkout, you may do so HEAD is now at 7329388... Initial A one, A two EOF ) && - diff -u messages.expect messages && + test_cmp messages.expect messages && H=$(git rev-parse --verify HEAD) && M=$(git show-ref -s --verify refs/heads/master) && test "z$H" = "z$M" && diff --git a/t/t7401-submodule-summary.sh b/t/t7401-submodule-summary.sh new file mode 100755 index 0000000000..0f3c42ab35 --- /dev/null +++ b/t/t7401-submodule-summary.sh @@ -0,0 +1,195 @@ +#!/bin/sh +# +# Copyright (c) 2008 Ping Yin +# + +test_description='Summary support for submodules + +This test tries to verify the sanity of summary subcommand of git-submodule. +' + +. ./test-lib.sh + +add_file () { + sm=$1 + shift + owd=$(pwd) + cd "$sm" + for name; do + echo "$name" > "$name" && + git add "$name" && + test_tick && + git commit -m "Add $name" + done >/dev/null + git rev-parse --verify HEAD | cut -c1-7 + cd "$owd" +} +commit_file () { + test_tick && + git commit "$@" -m "Commit $*" >/dev/null +} + +test_create_repo sm1 && +add_file . foo + +head1=$(add_file sm1 foo1 foo2) + +test_expect_success 'added submodule' " + git add sm1 && + git submodule summary >actual && + diff actual - <<-EOF +* sm1 0000000...$head1 (2): + > Add foo2 + +EOF +" + +commit_file sm1 && +head2=$(add_file sm1 foo3) + +test_expect_success 'modified submodule(forward)' " + git submodule summary >actual && + diff actual - <<-EOF +* sm1 $head1...$head2 (1): + > Add foo3 + +EOF +" + +commit_file sm1 && +cd sm1 && +git reset --hard HEAD~2 >/dev/null && +head3=$(git rev-parse --verify HEAD | cut -c1-7) && +cd .. + +test_expect_success 'modified submodule(backward)' " + git submodule summary >actual && + diff actual - <<-EOF +* sm1 $head2...$head3 (2): + < Add foo3 + < Add foo2 + +EOF +" + +head4=$(add_file sm1 foo4 foo5) && +head4_full=$(GIT_DIR=sm1/.git git rev-parse --verify HEAD) +test_expect_success 'modified submodule(backward and forward)' " + git submodule summary >actual && + diff actual - <<-EOF +* sm1 $head2...$head4 (4): + > Add foo5 + > Add foo4 + < Add foo3 + < Add foo2 + +EOF +" + +test_expect_success '--summary-limit' " + git submodule summary -n 3 >actual && + diff actual - <<-EOF +* sm1 $head2...$head4 (4): + > Add foo5 + > Add foo4 + < Add foo3 + +EOF +" + +commit_file sm1 && +mv sm1 sm1-bak && +echo sm1 >sm1 && +head5=$(git hash-object sm1 | cut -c1-7) && +git add sm1 && +rm -f sm1 && +mv sm1-bak sm1 + +test_expect_success 'typechanged submodule(submodule->blob), --cached' " + git submodule summary --cached >actual && + diff actual - <<-EOF +* sm1 $head4(submodule)->$head5(blob) (3): + < Add foo5 + +EOF +" + +rm -rf sm1 && +git checkout-index sm1 +test_expect_success 'typechanged submodule(submodule->blob)' " + git submodule summary >actual && + diff actual - <<-EOF +* sm1 $head4(submodule)->$head5(blob): + +EOF +" + +rm -f sm1 && +test_create_repo sm1 && +head6=$(add_file sm1 foo6 foo7) +test_expect_success 'nonexistent commit' " + git submodule summary >actual && + diff actual - <<-EOF +* sm1 $head4...$head6: + Warn: sm1 doesn't contain commit $head4_full + +EOF +" + +commit_file +test_expect_success 'typechanged submodule(blob->submodule)' " + git submodule summary >actual && + diff actual - <<-EOF +* sm1 $head5(blob)->$head6(submodule) (2): + > Add foo7 + +EOF +" + +commit_file sm1 && +rm -rf sm1 +test_expect_success 'deleted submodule' " + git submodule summary >actual && + diff actual - <<-EOF +* sm1 $head6...0000000: + +EOF +" + +test_create_repo sm2 && +head7=$(add_file sm2 foo8 foo9) && +git add sm2 + +test_expect_success 'multiple submodules' " + git submodule summary >actual && + diff actual - <<-EOF +* sm1 $head6...0000000: + +* sm2 0000000...$head7 (2): + > Add foo9 + +EOF +" + +test_expect_success 'path filter' " + git submodule summary sm2 >actual && + diff actual - <<-EOF +* sm2 0000000...$head7 (2): + > Add foo9 + +EOF +" + +commit_file sm2 +test_expect_success 'given commit' " + git submodule summary HEAD^ >actual && + diff actual - <<-EOF +* sm1 $head6...0000000: + +* sm2 0000000...$head7 (2): + > Add foo9 + +EOF +" + +test_done diff --git a/t/t7501-commit.sh b/t/t7501-commit.sh index 361886c3d6..c0288f345f 100755 --- a/t/t7501-commit.sh +++ b/t/t7501-commit.sh @@ -203,7 +203,7 @@ test_expect_success 'sign off (1)' ' git var GIT_COMMITTER_IDENT | sed -e "s/>.*/>/" -e "s/^/Signed-off-by: /" ) >expected && - diff -u expected actual + test_cmp expected actual ' @@ -223,7 +223,7 @@ $existing" && git var GIT_COMMITTER_IDENT | sed -e "s/>.*/>/" -e "s/^/Signed-off-by: /" ) >expected && - diff -u expected actual + test_cmp expected actual ' @@ -240,7 +240,7 @@ test_expect_success 'multiple -m' ' echo echo three ) >expected && - diff -u expected actual + test_cmp expected actual ' @@ -301,12 +301,12 @@ test_expect_success 'same tree (merge and amend merge)' ' git merge -s ours side -m "empty ok" && git diff HEAD^ HEAD >actual && : >expected && - diff -u expected actual && + test_cmp expected actual && git commit --amend -m "empty really ok" && git diff HEAD^ HEAD >actual && : >expected && - diff -u expected actual + test_cmp expected actual ' @@ -323,7 +323,7 @@ test_expect_success 'amend using the message from another commit' ' git commit --allow-empty --amend -C "$old" && git show --pretty="format:%ad %s" "$old" >expected && git show --pretty="format:%ad %s" HEAD >actual && - diff -u expected actual + test_cmp expected actual ' @@ -341,7 +341,7 @@ test_expect_success 'amend using the message from a commit named with tag' ' git commit --allow-empty --amend -C tagged-old && git show --pretty="format:%ad %s" "$old" >expected && git show --pretty="format:%ad %s" HEAD >actual && - diff -u expected actual + test_cmp expected actual ' diff --git a/t/t7502-commit.sh b/t/t7502-commit.sh index b780fddc08..284c941247 100755 --- a/t/t7502-commit.sh +++ b/t/t7502-commit.sh @@ -85,7 +85,7 @@ test_expect_success 'verbose' ' git add negative && git status -v | sed -ne "/^diff --git /p" >actual && echo "diff --git a/negative b/negative" >expect && - diff -u expect actual + test_cmp expect actual ' @@ -95,7 +95,7 @@ test_expect_success 'cleanup commit messages (verbatim,-t)' ' { echo;echo "# text";echo; } >expect && git commit --cleanup=verbatim -t expect -a && git cat-file -p HEAD |sed -e "1,/^\$/d" |head -n 3 >actual && - diff -u expect actual + test_cmp expect actual ' @@ -104,7 +104,7 @@ test_expect_success 'cleanup commit messages (verbatim,-F)' ' echo >>negative && git commit --cleanup=verbatim -F expect -a && git cat-file -p HEAD |sed -e "1,/^\$/d">actual && - diff -u expect actual + test_cmp expect actual ' @@ -113,7 +113,7 @@ test_expect_success 'cleanup commit messages (verbatim,-m)' ' echo >>negative && git commit --cleanup=verbatim -m "$(cat expect)" -a && git cat-file -p HEAD |sed -e "1,/^\$/d">actual && - diff -u expect actual + test_cmp expect actual ' @@ -124,7 +124,7 @@ test_expect_success 'cleanup commit messages (whitespace,-F)' ' echo "# text" >expect && git commit --cleanup=whitespace -F text -a && git cat-file -p HEAD |sed -e "1,/^\$/d">actual && - diff -u expect actual + test_cmp expect actual ' @@ -135,7 +135,7 @@ test_expect_success 'cleanup commit messages (strip,-F)' ' echo sample >expect && git commit --cleanup=strip -F text -a && git cat-file -p HEAD |sed -e "1,/^\$/d">actual && - diff -u expect actual + test_cmp expect actual ' @@ -150,7 +150,7 @@ test_expect_success 'cleanup commit messages (strip,-F,-e)' ' { echo;echo sample;echo; } >text && git commit -e -F text -a && head -n 4 .git/COMMIT_EDITMSG >actual && - diff -u expect actual + test_cmp expect actual ' diff --git a/t/t7502-status.sh b/t/t7502-status.sh index e00607490b..cd08516e6d 100755 --- a/t/t7502-status.sh +++ b/t/t7502-status.sh @@ -33,7 +33,7 @@ test_expect_success 'setup' ' test_expect_success 'status (1)' ' - grep -e "use \"git rm --cached <file>\.\.\.\" to unstage" output + grep "use \"git rm --cached <file>\.\.\.\" to unstage" output ' @@ -146,7 +146,7 @@ cat <<EOF >expect EOF test_expect_success 'status of partial commit excluding new file in index' ' git status dir1/modified >output && - diff -u expect output + test_cmp expect output ' test_done diff --git a/t/t7505-prepare-commit-msg-hook.sh b/t/t7505-prepare-commit-msg-hook.sh index 7ddec99a64..802aa624d0 100755 --- a/t/t7505-prepare-commit-msg-hook.sh +++ b/t/t7505-prepare-commit-msg-hook.sh @@ -25,8 +25,9 @@ export FAKE_EDITOR HOOKDIR="$(git rev-parse --git-dir)/hooks" HOOK="$HOOKDIR/prepare-commit-msg" mkdir -p "$HOOKDIR" -cat > "$HOOK" <<'EOF' -#!/bin/sh +echo "#!$SHELL_PATH" > "$HOOK" +cat >> "$HOOK" <<'EOF' + if test "$2" = commit; then source=$(git-rev-parse "$3") else diff --git a/t/t7600-merge.sh b/t/t7600-merge.sh index 5d166280cb..56869aceed 100755 --- a/t/t7600-merge.sh +++ b/t/t7600-merge.sh @@ -108,7 +108,7 @@ create_merge_msgs() { } verify_diff() { - if ! diff -u "$1" "$2" + if ! test_cmp "$1" "$2" then echo "$3" false @@ -165,7 +165,7 @@ verify_mergeheads() { fi && while test $# -gt 0 do - head=$(head -n $i .git/MERGE_HEAD | tail -n 1) + head=$(head -n $i .git/MERGE_HEAD | sed -ne \$p) if test "$1" != "$head" then echo "[OOPS] MERGE_HEAD $i != $1" @@ -371,7 +371,7 @@ test_expect_success 'override config option -n' ' git merge --summary c2 >diffstat.txt && verify_merge file result.1-5 msg.1-5 && verify_parents $c1 $c2 && - if ! grep -e "^ file | *2 +-$" diffstat.txt + if ! grep "^ file | *2 +-$" diffstat.txt then echo "[OOPS] diffstat was not generated" fi @@ -386,7 +386,7 @@ test_expect_success 'override config option --summary' ' git merge -n c2 >diffstat.txt && verify_merge file result.1-5 msg.1-5 && verify_parents $c1 $c2 && - if grep -e "^ file | *2 +-$" diffstat.txt + if grep "^ file | *2 +-$" diffstat.txt then echo "[OOPS] diffstat was generated" false diff --git a/t/t8003-blame.sh b/t/t8003-blame.sh index db51b3a6bb..966bb0a61a 100755 --- a/t/t8003-blame.sh +++ b/t/t8003-blame.sh @@ -112,7 +112,7 @@ test_expect_success 'blame wholesale copy' ' echo mouse-Second echo mouse-Third } >expected && - diff -u expected current + test_cmp expected current ' @@ -125,7 +125,7 @@ test_expect_success 'blame wholesale copy and more' ' echo cow-Fifth echo mouse-Third } >expected && - diff -u expected current + test_cmp expected current ' diff --git a/t/t9001-send-email.sh b/t/t9001-send-email.sh index cbbfa9cb49..c0973b4e6e 100755 --- a/t/t9001-send-email.sh +++ b/t/t9001-send-email.sh @@ -81,7 +81,7 @@ test_expect_success 'Show all headers' ' -e "s/^\(Message-Id:\).*/\1 MESSAGE-ID-STRING/" \ -e "s/^\(X-Mailer:\).*/\1 X-MAILER-STRING/" \ >actual-show-all-headers && - diff -u expected-show-all-headers actual-show-all-headers + test_cmp expected-show-all-headers actual-show-all-headers ' z8=zzzzzzzz diff --git a/t/t9112-git-svn-md5less-file.sh b/t/t9112-git-svn-md5less-file.sh index 08313bb545..646a5f0cdb 100755 --- a/t/t9112-git-svn-md5less-file.sh +++ b/t/t9112-git-svn-md5less-file.sh @@ -1,3 +1,5 @@ +#!/bin/sh + test_description='test that git handles an svn repository with missing md5sums' . ./lib-git-svn.sh diff --git a/t/t9116-git-svn-log.sh b/t/t9116-git-svn-log.sh index 902ed4145d..e1e8bdf0e3 100755 --- a/t/t9116-git-svn-log.sh +++ b/t/t9116-git-svn-log.sh @@ -55,74 +55,74 @@ printf 'r1 \nr2 \nr4 \n' > expected-range-r1-r2-r4 test_expect_success 'test ascending revision range' " git reset --hard trunk && - git svn log -r 1:4 | grep '^r[0-9]' | cut -d'|' -f1 | diff -u expected-range-r1-r2-r4 - + git svn log -r 1:4 | grep '^r[0-9]' | cut -d'|' -f1 | test_cmp expected-range-r1-r2-r4 - " printf 'r4 \nr2 \nr1 \n' > expected-range-r4-r2-r1 test_expect_success 'test descending revision range' " git reset --hard trunk && - git svn log -r 4:1 | grep '^r[0-9]' | cut -d'|' -f1 | diff -u expected-range-r4-r2-r1 - + git svn log -r 4:1 | grep '^r[0-9]' | cut -d'|' -f1 | test_cmp expected-range-r4-r2-r1 - " printf 'r1 \nr2 \n' > expected-range-r1-r2 test_expect_success 'test ascending revision range with unreachable revision' " git reset --hard trunk && - git svn log -r 1:3 | grep '^r[0-9]' | cut -d'|' -f1 | diff -u expected-range-r1-r2 - + git svn log -r 1:3 | grep '^r[0-9]' | cut -d'|' -f1 | test_cmp expected-range-r1-r2 - " printf 'r2 \nr1 \n' > expected-range-r2-r1 test_expect_success 'test descending revision range with unreachable revision' " git reset --hard trunk && - git svn log -r 3:1 | grep '^r[0-9]' | cut -d'|' -f1 | diff -u expected-range-r2-r1 - + git svn log -r 3:1 | grep '^r[0-9]' | cut -d'|' -f1 | test_cmp expected-range-r2-r1 - " printf 'r2 \n' > expected-range-r2 test_expect_success 'test ascending revision range with unreachable upper boundary revision and 1 commit' " git reset --hard trunk && - git svn log -r 2:3 | grep '^r[0-9]' | cut -d'|' -f1 | diff -u expected-range-r2 - + git svn log -r 2:3 | grep '^r[0-9]' | cut -d'|' -f1 | test_cmp expected-range-r2 - " test_expect_success 'test descending revision range with unreachable upper boundary revision and 1 commit' " git reset --hard trunk && - git svn log -r 3:2 | grep '^r[0-9]' | cut -d'|' -f1 | diff -u expected-range-r2 - + git svn log -r 3:2 | grep '^r[0-9]' | cut -d'|' -f1 | test_cmp expected-range-r2 - " printf 'r4 \n' > expected-range-r4 test_expect_success 'test ascending revision range with unreachable lower boundary revision and 1 commit' " git reset --hard trunk && - git svn log -r 3:4 | grep '^r[0-9]' | cut -d'|' -f1 | diff -u expected-range-r4 - + git svn log -r 3:4 | grep '^r[0-9]' | cut -d'|' -f1 | test_cmp expected-range-r4 - " test_expect_success 'test descending revision range with unreachable lower boundary revision and 1 commit' " git reset --hard trunk && - git svn log -r 4:3 | grep '^r[0-9]' | cut -d'|' -f1 | diff -u expected-range-r4 - + git svn log -r 4:3 | grep '^r[0-9]' | cut -d'|' -f1 | test_cmp expected-range-r4 - " printf -- '------------------------------------------------------------------------\n' > expected-separator test_expect_success 'test ascending revision range with unreachable boundary revisions and no commits' " git reset --hard trunk && - git svn log -r 5:6 | diff -u expected-separator - + git svn log -r 5:6 | test_cmp expected-separator - " test_expect_success 'test descending revision range with unreachable boundary revisions and no commits' " git reset --hard trunk && - git svn log -r 6:5 | diff -u expected-separator - + git svn log -r 6:5 | test_cmp expected-separator - " test_expect_success 'test ascending revision range with unreachable boundary revisions and 1 commit' " git reset --hard trunk && - git svn log -r 3:5 | grep '^r[0-9]' | cut -d'|' -f1 | diff -u expected-range-r4 - + git svn log -r 3:5 | grep '^r[0-9]' | cut -d'|' -f1 | test_cmp expected-range-r4 - " test_expect_success 'test descending revision range with unreachable boundary revisions and 1 commit' " git reset --hard trunk && - git svn log -r 5:3 | grep '^r[0-9]' | cut -d'|' -f1 | diff -u expected-range-r4 - + git svn log -r 5:3 | grep '^r[0-9]' | cut -d'|' -f1 | test_cmp expected-range-r4 - " test_done diff --git a/t/t9200-git-cvsexportcommit.sh b/t/t9200-git-cvsexportcommit.sh index 58c59ed5ae..42b144b1b3 100755 --- a/t/t9200-git-cvsexportcommit.sh +++ b/t/t9200-git-cvsexportcommit.sh @@ -37,7 +37,7 @@ check_entries () { else printf '%s\n' "$2" | tr '|' '\012' >expected fi - diff -u expected actual + test_cmp expected actual } test_expect_success \ @@ -257,8 +257,8 @@ test_expect_success '-w option should work with relative GIT_DIR' ' (cd "$GIT_DIR" && GIT_DIR=. git cvsexportcommit -w "$CVSWORK" -c $id && check_entries "$CVSWORK/W" "file1.txt/1.1/|file2.txt/1.1/" && - diff -u "$CVSWORK/W/file1.txt" ../W/file1.txt && - diff -u "$CVSWORK/W/file2.txt" ../W/file2.txt + test_cmp "$CVSWORK/W/file1.txt" ../W/file1.txt && + test_cmp "$CVSWORK/W/file2.txt" ../W/file2.txt ) ' @@ -279,9 +279,9 @@ test_expect_success 'check files before directories' ' git cvsexportcommit -w "$CVSWORK" -c $id && check_entries "$CVSWORK/E" "DS/1.1/|newfile5.txt/1.1/" && check_entries "$CVSWORK" "DS/1.1/|release-notes/1.2/" && - diff -u "$CVSWORK/DS" DS && - diff -u "$CVSWORK/E/DS" E/DS && - diff -u "$CVSWORK/release-notes" release-notes + test_cmp "$CVSWORK/DS" DS && + test_cmp "$CVSWORK/E/DS" E/DS && + test_cmp "$CVSWORK/release-notes" release-notes ' @@ -293,7 +293,7 @@ test_expect_success 'commit a file with leading spaces in the name' ' id=$(git rev-parse HEAD) && git cvsexportcommit -w "$CVSWORK" -c $id && check_entries "$CVSWORK" " space/1.1/|DS/1.1/|release-notes/1.2/" && - diff -u "$CVSWORK/ space" " space" + test_cmp "$CVSWORK/ space" " space" ' diff --git a/t/t9400-git-cvsserver-server.sh b/t/t9400-git-cvsserver-server.sh index 0a20971ebb..b91b151417 100755 --- a/t/t9400-git-cvsserver-server.sh +++ b/t/t9400-git-cvsserver-server.sh @@ -54,7 +54,7 @@ test_expect_success 'setup' ' test_expect_success 'basic checkout' \ 'GIT_CONFIG="$git_config" cvs -Q co -d cvswork master && test "$(echo $(grep -v ^D cvswork/CVS/Entries|cut -d/ -f2,3,5 | head -n 1))" = "empty/1.1/" - test "$(echo $(grep -v ^D cvswork/CVS/Entries|cut -d/ -f2,3,5 | tail -n 1))" = "secondrootfile/1.1/"' + test "$(echo $(grep -v ^D cvswork/CVS/Entries|cut -d/ -f2,3,5 | sed -ne \$p))" = "secondrootfile/1.1/"' #------------------------ # PSERVER AUTHENTICATION @@ -94,7 +94,7 @@ EOF test_expect_success 'pserver authentication' \ 'cat request-anonymous | git-cvsserver pserver >log 2>&1 && - tail -n1 log | grep -q "^I LOVE YOU$"' + sed -ne \$p log | grep "^I LOVE YOU$"' test_expect_success 'pserver authentication failure (non-anonymous user)' \ 'if cat request-git | git-cvsserver pserver >log 2>&1 @@ -103,11 +103,11 @@ test_expect_success 'pserver authentication failure (non-anonymous user)' \ else true fi && - tail -n1 log | grep -q "^I HATE YOU$"' + sed -ne \$p log | grep "^I HATE YOU$"' test_expect_success 'pserver authentication (login)' \ 'cat login-anonymous | git-cvsserver pserver >log 2>&1 && - tail -n1 log | grep -q "^I LOVE YOU$"' + sed -ne \$p log | grep "^I LOVE YOU$"' test_expect_success 'pserver authentication failure (login/non-anonymous user)' \ 'if cat login-git | git-cvsserver pserver >log 2>&1 @@ -116,7 +116,7 @@ test_expect_success 'pserver authentication failure (login/non-anonymous user)' else true fi && - tail -n1 log | grep -q "^I HATE YOU$"' + sed -ne \$p log | grep "^I HATE YOU$"' # misuse pserver authentication for testing of req_Root @@ -146,15 +146,15 @@ test_expect_success 'req_Root failure (relative pathname)' \ else true fi && - tail log | grep -q "^error 1 Root must be an absolute pathname$"' + tail log | grep "^error 1 Root must be an absolute pathname$"' test_expect_success 'req_Root failure (conflicting roots)' \ 'cat request-conflict | git-cvsserver pserver >log 2>&1 && - tail log | grep -q "^error 1 Conflicting roots specified$"' + tail log | grep "^error 1 Conflicting roots specified$"' test_expect_success 'req_Root (strict paths)' \ 'cat request-anonymous | git-cvsserver --strict-paths pserver $SERVERDIR >log 2>&1 && - tail -n1 log | grep -q "^I LOVE YOU$"' + sed -ne \$p log | grep "^I LOVE YOU$"' test_expect_success 'req_Root failure (strict-paths)' ' ! cat request-anonymous | @@ -163,7 +163,7 @@ test_expect_success 'req_Root failure (strict-paths)' ' test_expect_success 'req_Root (w/o strict-paths)' \ 'cat request-anonymous | git-cvsserver pserver $WORKDIR/ >log 2>&1 && - tail -n1 log | grep -q "^I LOVE YOU$"' + sed -ne \$p log | grep "^I LOVE YOU$"' test_expect_success 'req_Root failure (w/o strict-paths)' ' ! cat request-anonymous | @@ -181,7 +181,7 @@ EOF test_expect_success 'req_Root (base-path)' \ 'cat request-base | git-cvsserver --strict-paths --base-path $WORKDIR/ pserver $SERVERDIR >log 2>&1 && - tail -n1 log | grep -q "^I LOVE YOU$"' + sed -ne \$p log | grep "^I LOVE YOU$"' test_expect_success 'req_Root failure (base-path)' ' ! cat request-anonymous | @@ -192,14 +192,14 @@ GIT_DIR="$SERVERDIR" git config --bool gitcvs.enabled false || exit 1 test_expect_success 'req_Root (export-all)' \ 'cat request-anonymous | git-cvsserver --export-all pserver $WORKDIR >log 2>&1 && - tail -n1 log | grep -q "^I LOVE YOU$"' + sed -ne \$p log | grep "^I LOVE YOU$"' test_expect_success 'req_Root failure (export-all w/o whitelist)' \ '! (cat request-anonymous | git-cvsserver --export-all pserver >log 2>&1 || false)' test_expect_success 'req_Root (everything together)' \ 'cat request-base | git-cvsserver --export-all --strict-paths --base-path $WORKDIR/ pserver $SERVERDIR >log 2>&1 && - tail -n1 log | grep -q "^I LOVE YOU$"' + sed -ne \$p log | grep "^I LOVE YOU$"' GIT_DIR="$SERVERDIR" git config --bool gitcvs.enabled true || exit 1 @@ -216,7 +216,7 @@ test_expect_success 'gitcvs.enabled = false' \ else true fi && - cat cvs.log | grep -q "GITCVS emulation disabled" && + grep "GITCVS emulation disabled" cvs.log && test ! -d cvswork2' rm -fr cvswork2 @@ -237,7 +237,7 @@ test_expect_success 'gitcvs.ext.enabled = false' \ else true fi && - cat cvs.log | grep -q "GITCVS emulation disabled" && + grep "GITCVS emulation disabled" cvs.log && test ! -d cvswork2' rm -fr cvswork2 diff --git a/t/test-lib.sh b/t/test-lib.sh index 6aea0ea0a5..268b26c959 100644 --- a/t/test-lib.sh +++ b/t/test-lib.sh @@ -42,6 +42,7 @@ export GIT_MERGE_VERBOSITY export GIT_AUTHOR_EMAIL GIT_AUTHOR_NAME export GIT_COMMITTER_EMAIL GIT_COMMITTER_NAME export EDITOR VISUAL +GIT_TEST_CMP=${GIT_TEST_CMP:-diff -u} # Protect ourselves from common misconfiguration to export # CDPATH into the environment @@ -302,6 +303,23 @@ test_must_fail () { test $? -gt 0 -a $? -le 128 } +# test_cmp is a helper function to compare actual and expected output. +# You can use it like: +# +# test_expect_success 'foo works' ' +# echo expected >expected && +# foo >actual && +# test_cmp expected actual +# ' +# +# This could be written as either "cmp" or "diff -u", but: +# - cmp's output is not nearly as easy to read as diff -u +# - not all diff versions understand "-u" + +test_cmp() { + $GIT_TEST_CMP "$@" +} + # Most tests can use the created repository, but some may need to create more. # Usage: test_create_repo <directory> test_create_repo () { diff --git a/test-sha1.sh b/test-sha1.sh index bf526c8f5e..0f0bc5d02f 100755 --- a/test-sha1.sh +++ b/test-sha1.sh @@ -10,7 +10,7 @@ do { test -z "$pfx" || echo "$pfx" dd if=/dev/zero bs=1048576 count=$cnt 2>/dev/null | - tr '\000' 'g' + perl -pe 'y/\000/g/' } | ./test-sha1 $cnt ` if test "$expect" = "$actual" @@ -55,7 +55,7 @@ do { test -z "$pfx" || echo "$pfx" dd if=/dev/zero bs=1048576 count=$cnt 2>/dev/null | - tr '\000' 'g' + perl -pe 'y/\000/g/' } | sha1sum | sed -e 's/ .*//' ` diff --git a/unpack-trees.c b/unpack-trees.c index be89d52e8c..4b359e0832 100644 --- a/unpack-trees.c +++ b/unpack-trees.c @@ -123,7 +123,7 @@ static int unpack_index_entry(struct cache_entry *ce, struct unpack_trees_option int traverse_trees_recursive(int n, unsigned long dirmask, unsigned long df_conflicts, struct name_entry *names, struct traverse_info *info) { int i; - struct tree_desc t[3]; + struct tree_desc t[MAX_UNPACK_TREES]; struct traverse_info newinfo; struct name_entry *p; @@ -327,8 +327,8 @@ int unpack_trees(unsigned len, struct tree_desc *t, struct unpack_trees_options { static struct cache_entry *dfc; - if (len > 4) - die("unpack_trees takes at most four trees"); + if (len > MAX_UNPACK_TREES) + die("unpack_trees takes at most %d trees", MAX_UNPACK_TREES); memset(&state, 0, sizeof(state)); state.base_dir = ""; state.force = 1; @@ -336,6 +336,8 @@ int unpack_trees(unsigned len, struct tree_desc *t, struct unpack_trees_options state.refresh_cache = 1; memset(&o->result, 0, sizeof(o->result)); + if (o->src_index) + o->result.timestamp = o->src_index->timestamp; o->merge_size = len; if (!dfc) @@ -593,16 +595,19 @@ static int verify_absent(struct cache_entry *ce, const char *action, static int merged_entry(struct cache_entry *merge, struct cache_entry *old, struct unpack_trees_options *o) { + int update = CE_UPDATE; + if (old) { /* * See if we can re-use the old CE directly? * That way we get the uptodate stat info. * - * This also removes the UPDATE flag on - * a match. + * This also removes the UPDATE flag on a match; otherwise + * we will end up overwriting local changes in the work tree. */ if (same(old, merge)) { copy_cache_entry(merge, old); + update = 0; } else { if (verify_uptodate(old, o)) return -1; @@ -615,7 +620,7 @@ static int merged_entry(struct cache_entry *merge, struct cache_entry *old, invalidate_ce_path(merge, o); } - add_entry(o, merge, CE_UPDATE, CE_STAGEMASK); + add_entry(o, merge, update, CE_STAGEMASK); return 1; } diff --git a/unpack-trees.h b/unpack-trees.h index e8abbcd037..50453ed20f 100644 --- a/unpack-trees.h +++ b/unpack-trees.h @@ -1,6 +1,8 @@ #ifndef UNPACK_TREES_H #define UNPACK_TREES_H +#define MAX_UNPACK_TREES 8 + struct unpack_trees_options; typedef int (*merge_fn_t)(struct cache_entry **src, diff --git a/wt-status.c b/wt-status.c index 701d13da7c..b3fd57b79d 100644 --- a/wt-status.c +++ b/wt-status.c @@ -269,27 +269,14 @@ static void wt_status_print_untracked(struct wt_status *s) static void wt_status_print_verbose(struct wt_status *s) { struct rev_info rev; - int saved_stdout; - - fflush(s->fp); - - /* Sigh, the entire diff machinery is hardcoded to output to - * stdout. Do the dup-dance...*/ - saved_stdout = dup(STDOUT_FILENO); - if (saved_stdout < 0 ||dup2(fileno(s->fp), STDOUT_FILENO) < 0) - die("couldn't redirect stdout\n"); init_revisions(&rev, NULL); setup_revisions(0, NULL, &rev, s->reference); rev.diffopt.output_format |= DIFF_FORMAT_PATCH; rev.diffopt.detect_rename = 1; + rev.diffopt.file = s->fp; + rev.diffopt.close_file = 0; run_diff_index(&rev, 1); - - fflush(stdout); - - if (dup2(saved_stdout, STDOUT_FILENO) < 0) - die("couldn't restore stdout\n"); - close(saved_stdout); } void wt_status_print(struct wt_status *s) diff --git a/xdiff-interface.c b/xdiff-interface.c index bba236428a..61dc5c5470 100644 --- a/xdiff-interface.c +++ b/xdiff-interface.c @@ -152,8 +152,8 @@ int read_mmfile(mmfile_t *ptr, const char *filename) if ((f = fopen(filename, "rb")) == NULL) return error("Could not open %s", filename); sz = xsize_t(st.st_size); - ptr->ptr = xmalloc(sz); - if (fread(ptr->ptr, sz, 1, f) != 1) + ptr->ptr = xmalloc(sz ? sz : 1); + if (sz && fread(ptr->ptr, sz, 1, f) != 1) return error("Could not read %s", filename); fclose(f); ptr->size = sz; |