Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.kernel.org/pub/scm/git/git.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Documentation/RelNotes-1.5.4.5.txt53
-rw-r--r--Documentation/RelNotes-1.5.5.txt51
-rw-r--r--Documentation/config.txt15
-rw-r--r--Documentation/git-add.txt18
-rw-r--r--Documentation/git-gc.txt17
-rw-r--r--Documentation/git-help.txt59
-rw-r--r--Documentation/git-submodule.txt19
-rw-r--r--Documentation/git-web--browse.txt21
-rw-r--r--Documentation/manpage-1.72.xsl6
-rw-r--r--Makefile7
-rw-r--r--builtin-fetch.c2
-rw-r--r--builtin-gc.c17
-rw-r--r--builtin-grep.c12
-rw-r--r--builtin-log.c6
-rw-r--r--builtin-merge-file.c3
-rw-r--r--builtin-merge-recursive.c15
-rw-r--r--builtin-pack-objects.c26
-rw-r--r--builtin-read-tree.c9
-rw-r--r--builtin-shortlog.c4
-rw-r--r--commit.h4
-rw-r--r--config.mak.in1
-rw-r--r--configure.ac20
-rwxr-xr-xcontrib/examples/git-rerere.perl284
-rwxr-xr-xcontrib/workdir/git-new-workdir2
-rw-r--r--diff.c306
-rw-r--r--diff.h3
-rw-r--r--fast-import.c2
-rwxr-xr-xgit-am.sh2
-rwxr-xr-xgit-bisect.sh4
-rw-r--r--git-compat-util.h1
-rwxr-xr-xgit-cvsimport.perl2
-rwxr-xr-xgit-filter-branch.sh8
-rwxr-xr-xgit-gui/git-gui.sh2
-rw-r--r--git-gui/lib/choose_repository.tcl2
-rw-r--r--git-gui/po/README62
-rw-r--r--git-gui/po/de.po531
-rw-r--r--git-gui/po/fr.po717
-rw-r--r--git-gui/po/git-gui.pot517
-rw-r--r--git-gui/po/hu.po624
-rw-r--r--git-gui/po/it.po635
-rw-r--r--git-gui/po/ja.po610
-rw-r--r--git-gui/po/ru.po610
-rw-r--r--git-gui/po/sv.po665
-rw-r--r--git-gui/po/zh_cn.po611
-rwxr-xr-xgit-quiltimport.sh22
-rwxr-xr-xgit-rebase--interactive.sh8
-rwxr-xr-xgit-rebase.sh2
-rwxr-xr-xgit-submodule.sh186
-rwxr-xr-xgit-svn.perl3
-rwxr-xr-xgit-web--browse.sh15
-rw-r--r--git.c2
-rw-r--r--gitk-git/Makefile4
-rw-r--r--gitk-git/gitk112
-rw-r--r--gitk-git/po/it.po890
-rw-r--r--help.c116
-rw-r--r--log-tree.c15
-rw-r--r--log-tree.h4
-rw-r--r--pretty.c24
-rw-r--r--sha1_name.c28
-rw-r--r--t/diff-lib.sh4
-rwxr-xr-xt/t0003-attributes.sh2
-rwxr-xr-xt/t0020-crlf.sh2
-rwxr-xr-xt/t0022-crlf-rename.sh2
-rwxr-xr-xt/t0030-stripspace.sh34
-rwxr-xr-xt/t0050-filesystem.sh4
-rwxr-xr-xt/t1000-read-tree-m-3way.sh36
-rwxr-xr-xt/t1004-read-tree-m-u-wf.sh41
-rwxr-xr-xt/t1005-read-tree-reset.sh2
-rwxr-xr-xt/t1300-repo-config.sh4
-rwxr-xr-xt/t1410-reflog.sh18
-rwxr-xr-xt/t2200-add-update.sh2
-rwxr-xr-xt/t3001-ls-files-others-exclude.sh2
-rwxr-xr-xt/t3050-subprojects-fetch.sh4
-rwxr-xr-xt/t3060-ls-files-with-tree.sh2
-rwxr-xr-xt/t3201-branch-contains.sh6
-rwxr-xr-xt/t3300-funny-names.sh6
-rwxr-xr-xt/t3404-rebase-interactive.sh11
-rwxr-xr-xt/t3405-rebase-malformed.sh4
-rwxr-xr-xt/t3406-rebase-message.sh2
-rwxr-xr-xt/t3701-add-interactive.sh4
-rwxr-xr-xt/t3800-mktag.sh2
-rwxr-xr-xt/t3902-quoted.sh16
-rwxr-xr-xt/t3903-stash.sh2
-rwxr-xr-xt/t4020-diff-external.sh5
-rw-r--r--t/t4020/diff.NULbin0 -> 116 bytes
-rwxr-xr-xt/t4021-format-patch-signer-mime.sh10
-rwxr-xr-xt/t4022-diff-rewrite.sh5
-rwxr-xr-xt/t4023-diff-rename-typechange.sh6
-rwxr-xr-xt/t4024-diff-optimize-common.sh2
-rwxr-xr-xt/t4025-hunk-header.sh2
-rwxr-xr-xt/t4027-diff-submodule.sh6
-rwxr-xr-xt/t4028-format-patch-mime-headers.sh30
-rwxr-xr-xt/t4103-apply-binary.sh4
-rwxr-xr-xt/t4105-apply-fuzz.sh2
-rwxr-xr-xt/t4116-apply-reverse.sh4
-rwxr-xr-xt/t4125-apply-ws-fuzz.sh8
-rwxr-xr-xt/t4150-am-subdir.sh10
-rwxr-xr-xt/t4200-rerere.sh2
-rwxr-xr-xt/t4201-shortlog.sh7
-rwxr-xr-xt/t5300-pack-object.sh2
-rwxr-xr-xt/t5302-pack-index.sh4
-rw-r--r--t/t5304-prune.sh49
-rwxr-xr-xt/t5400-send-pack.sh2
-rwxr-xr-xt/t5505-remote.sh6
-rwxr-xr-xt/t5510-fetch.sh2
-rwxr-xr-xt/t5512-ls-remote.sh8
-rwxr-xr-xt/t6000lib.sh8
-rwxr-xr-xt/t6004-rev-list-path-optim.sh2
-rwxr-xr-xt/t6009-rev-list-parent.sh2
-rwxr-xr-xt/t6027-merge-binary.sh4
-rwxr-xr-xt/t6029-merge-subtree.sh2
-rwxr-xr-xt/t6030-bisect-porcelain.sh6
-rwxr-xr-xt/t6031-merge-recursive.sh49
-rwxr-xr-xt/t7003-filter-branch.sh2
-rwxr-xr-xt/t7010-setup.sh18
-rwxr-xr-xt/t7201-co.sh18
-rwxr-xr-xt/t7401-submodule-summary.sh195
-rwxr-xr-xt/t7501-commit.sh14
-rwxr-xr-xt/t7502-commit.sh14
-rwxr-xr-xt/t7502-status.sh4
-rwxr-xr-xt/t7505-prepare-commit-msg-hook.sh5
-rwxr-xr-xt/t7600-merge.sh8
-rwxr-xr-xt/t8003-blame.sh4
-rwxr-xr-xt/t9001-send-email.sh2
-rwxr-xr-xt/t9112-git-svn-md5less-file.sh2
-rwxr-xr-xt/t9116-git-svn-log.sh24
-rwxr-xr-xt/t9200-git-cvsexportcommit.sh14
-rwxr-xr-xt/t9400-git-cvsserver-server.sh28
-rw-r--r--t/test-lib.sh18
-rwxr-xr-xtest-sha1.sh4
-rw-r--r--unpack-trees.c17
-rw-r--r--unpack-trees.h2
-rw-r--r--wt-status.c17
-rw-r--r--xdiff-interface.c4
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('&#x2593;fB(',substring-after(@id,'-'),')&#x2593;fR')"/>
</xsl:template>
diff --git a/Makefile b/Makefile
index 7e249b3f51..7c70b00b82 100644
--- a/Makefile
+++ b/Makefile
@@ -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);
diff --git a/commit.h b/commit.h
index a1e9591426..2f63bc8b2f 100644
--- a/commit.h
+++ b/commit.h
@@ -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
*/*)
diff --git a/diff.c b/diff.c
index 00e1590c6e..8022e678d1 100644
--- a/diff.c
+++ b/diff.c
@@ -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)
diff --git a/diff.h b/diff.h
index 9a652e7f38..f2c77391a9 100644
--- a/diff.h
+++ b/diff.h
@@ -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);
diff --git a/git-am.sh b/git-am.sh
index 1f6b5e02c5..ac5c388060 100755
--- a/git-am.sh
+++ b/git-am.sh
@@ -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
diff --git a/git.c b/git.c
index 1e3eb1065f..13de8018f0 100644
--- a/git.c
+++ b/git.c
@@ -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"
diff --git a/help.c b/help.c
index e57a50ed59..ecaca770d3 100644
--- a/help.c
+++ b/help.c
@@ -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
diff --git a/pretty.c b/pretty.c
index 703f52176b..16bfb86cd3 100644
--- a/pretty.c
+++ b/pretty.c
@@ -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
new file mode 100644
index 0000000000..db2f89090c
--- /dev/null
+++ b/t/t4020/diff.NUL
Binary files differ
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;