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/CodingGuidelines2
-rw-r--r--Documentation/RelNotes/2.3.3.txt39
-rw-r--r--Documentation/RelNotes/2.3.4.txt32
-rw-r--r--Documentation/RelNotes/2.4.0.txt473
-rw-r--r--Documentation/SubmittingPatches5
-rw-r--r--Documentation/blame-options.txt2
-rw-r--r--Documentation/config.txt386
-rw-r--r--Documentation/diff-config.txt10
-rw-r--r--Documentation/diff-options.txt4
-rw-r--r--Documentation/fetch-options.txt2
-rw-r--r--Documentation/git-add.txt4
-rw-r--r--Documentation/git-apply.txt2
-rw-r--r--Documentation/git-branch.txt6
-rw-r--r--Documentation/git-check-ignore.txt2
-rw-r--r--Documentation/git-checkout.txt4
-rw-r--r--Documentation/git-commit-tree.txt2
-rw-r--r--Documentation/git-commit.txt6
-rw-r--r--Documentation/git-config.txt2
-rw-r--r--Documentation/git-cvsserver.txt22
-rw-r--r--Documentation/git-fetch.txt2
-rw-r--r--Documentation/git-format-patch.txt4
-rw-r--r--Documentation/git-gc.txt12
-rw-r--r--Documentation/git-imap-send.txt3
-rw-r--r--Documentation/git-init.txt2
-rw-r--r--Documentation/git-instaweb.txt2
-rw-r--r--Documentation/git-log.txt2
-rw-r--r--Documentation/git-merge.txt4
-rw-r--r--Documentation/git-pull.txt2
-rw-r--r--Documentation/git-push.txt5
-rw-r--r--Documentation/git-rebase.txt6
-rw-r--r--Documentation/git-receive-pack.txt2
-rw-r--r--Documentation/git-repack.txt4
-rw-r--r--Documentation/git-rerere.txt2
-rw-r--r--Documentation/git-send-email.txt50
-rw-r--r--Documentation/git-status.txt4
-rw-r--r--Documentation/git-tag.txt2
-rw-r--r--Documentation/git.txt20
-rw-r--r--Documentation/gitattributes.txt2
-rw-r--r--Documentation/gitcredentials.txt2
-rw-r--r--Documentation/gitignore.txt4
-rw-r--r--Documentation/gitweb.conf.txt2
-rw-r--r--Documentation/merge-config.txt2
-rw-r--r--Documentation/rev-list-options.txt9
-rw-r--r--Documentation/user-manual.txt2
-rwxr-xr-xGIT-VERSION-GEN2
-rw-r--r--Makefile6
l---------[-rw-r--r--]RelNotes300
-rw-r--r--archive-zip.c27
-rw-r--r--builtin/branch.c13
-rw-r--r--builtin/clone.c11
-rw-r--r--builtin/grep.c2
-rw-r--r--builtin/help.c2
-rw-r--r--builtin/index-pack.c1
-rw-r--r--builtin/ls-files.c43
-rw-r--r--builtin/pack-objects.c2
-rw-r--r--builtin/prune.c1
-rw-r--r--builtin/push.c21
-rw-r--r--builtin/repack.c8
-rw-r--r--builtin/tag.c4
-rw-r--r--bulk-checkin.c1
-rw-r--r--cache.h9
-rw-r--r--config.mak.uname5
-rw-r--r--configure.ac23
-rw-r--r--contrib/completion/git-completion.bash15
-rw-r--r--contrib/completion/git-prompt.sh2
-rw-r--r--csum-file.c10
-rw-r--r--daemon.c165
-rw-r--r--diff.c1
-rw-r--r--dir.c43
-rw-r--r--dir.h1
-rw-r--r--environment.c1
-rw-r--r--fast-import.c3
-rw-r--r--fetch-pack.c14
-rw-r--r--git-compat-util.h7
-rwxr-xr-xgit-instaweb.sh3
-rw-r--r--git-rebase--interactive.sh3
-rw-r--r--git.c15
-rwxr-xr-xgitk-git/gitk132
-rw-r--r--gitk-git/po/bg.po622
-rw-r--r--gitk-git/po/ca.po1354
-rw-r--r--gitk-git/po/de.po748
-rw-r--r--gitk-git/po/es.po1006
-rw-r--r--gitk-git/po/fr.po817
-rw-r--r--gitk-git/po/hu.po757
-rw-r--r--gitk-git/po/it.po734
-rw-r--r--gitk-git/po/ja.po769
-rw-r--r--gitk-git/po/pt_br.po739
-rw-r--r--gitk-git/po/ru.po973
-rw-r--r--gitk-git/po/sv.po639
-rw-r--r--gitk-git/po/vi.po641
-rw-r--r--http-push.c1
-rw-r--r--imap-send.c17
-rw-r--r--log-tree.c76
-rw-r--r--read-cache.c42
-rw-r--r--refs.c72
-rw-r--r--remote-curl.c1
-rw-r--r--revision.c5
-rw-r--r--run-command.c27
-rw-r--r--run-command.h13
-rw-r--r--sequencer.c5
-rw-r--r--sha1_file.c1
-rw-r--r--sha1_name.c2
-rw-r--r--submodule.c4
-rw-r--r--t/README10
-rw-r--r--t/annotate-tests.sh2
-rw-r--r--t/lib-httpd.sh1
-rw-r--r--t/lib-httpd/apache.conf1
-rw-r--r--t/perf/perf-lib.sh2
-rwxr-xr-xt/t0000-basic.sh4
-rwxr-xr-xt/t0005-signals.sh8
-rwxr-xr-xt/t0011-hashmap.sh2
-rwxr-xr-xt/t0020-crlf.sh224
-rwxr-xr-xt/t0040-parse-options.sh12
-rwxr-xr-xt/t0050-filesystem.sh12
-rwxr-xr-xt/t0056-git-C.sh10
-rwxr-xr-xt/t0062-revision-walking.sh2
-rwxr-xr-xt/t0201-gettext-fallbacks.sh8
-rwxr-xr-xt/t1002-read-tree-m-u-2way.sh8
-rwxr-xr-xt/t1006-cat-file.sh2
-rwxr-xr-xt/t1300-repo-config.sh4
-rwxr-xr-xt/t1301-shared-repo.sh20
-rwxr-xr-xt/t1403-show-ref.sh10
-rwxr-xr-xt/t1700-split-index.sh17
-rwxr-xr-xt/t3001-ls-files-others-exclude.sh2
-rwxr-xr-xt/t3010-ls-files-killed-modified.sh17
-rwxr-xr-xt/t3031-merge-criscross.sh2
-rwxr-xr-xt/t3060-ls-files-with-tree.sh14
-rwxr-xr-xt/t3202-show-branch-octopus.sh2
-rwxr-xr-xt/t3203-branch-output.sh39
-rwxr-xr-xt/t3305-notes-fanout.sh9
-rwxr-xr-xt/t3404-rebase-interactive.sh13
-rwxr-xr-xt/t3405-rebase-malformed.sh4
-rwxr-xr-xt/t3425-rebase-topology-merges.sh4
-rwxr-xr-xt/t3511-cherry-pick-x.sh28
-rwxr-xr-xt/t3600-rm.sh42
-rwxr-xr-xt/t3901-i18n-patch.sh8
-rw-r--r--t/t4013/diff.log_--decorate_--all2
-rwxr-xr-xt/t4014-format-patch.sh2
-rwxr-xr-xt/t4022-diff-rewrite.sh5
-rwxr-xr-xt/t4024-diff-optimize-common.sh2
-rwxr-xr-xt/t4026-color.sh6
-rwxr-xr-xt/t4035-diff-quiet.sh66
-rwxr-xr-xt/t4041-diff-submodule-option.sh12
-rwxr-xr-xt/t4046-diff-unmerged.sh8
-rwxr-xr-xt/t4047-diff-dirstat.sh2
-rwxr-xr-xt/t4049-diff-stat-count.sh6
-rwxr-xr-xt/t4052-stat-output.sh48
-rwxr-xr-xt/t4053-diff-no-index.sh4
-rwxr-xr-xt/t4054-diff-bogus-tree.sh2
-rwxr-xr-xt/t4104-apply-boundary.sh32
-rwxr-xr-xt/t4117-apply-reject.sh66
-rwxr-xr-xt/t4124-apply-ws-rule.sh5
-rwxr-xr-xt/t4151-am-abort.sh2
-rwxr-xr-xt/t4202-log.sh36
-rwxr-xr-xt/t4207-log-decoration-colors.sh16
-rwxr-xr-xt/t4212-log-corrupt.sh2
-rwxr-xr-xt/t5003-archive-zip.sh47
-rwxr-xr-xt/t5004-archive-corner-cases.sh6
-rwxr-xr-xt/t5100-mailinfo.sh2
-rwxr-xr-xt/t5312-prune-corruption.sh114
-rwxr-xr-xt/t5500-fetch-pack.sh2
-rwxr-xr-xt/t5503-tagfollow.sh4
-rwxr-xr-xt/t5505-remote.sh8
-rwxr-xr-xt/t5510-fetch.sh4
-rwxr-xr-xt/t5512-ls-remote.sh6
-rwxr-xr-xt/t5514-fetch-multiple.sh4
-rwxr-xr-xt/t5516-fetch-push.sh13
-rwxr-xr-xt/t5526-fetch-submodules.sh10
-rwxr-xr-xt/t5528-push-default.sh4
-rwxr-xr-xt/t5531-deep-submodule-push.sh2
-rwxr-xr-xt/t5533-push-cas.sh6
-rwxr-xr-xt/t5540-http-push-webdav.sh2
-rwxr-xr-xt/t5541-http-push-smart.sh8
-rwxr-xr-xt/t5550-http-fetch-dumb.sh6
-rwxr-xr-xt/t5551-http-fetch-smart.sh36
-rwxr-xr-xt/t5709-clone-refspec.sh2
-rwxr-xr-xt/t6000-rev-list-misc.sh8
-rwxr-xr-xt/t6006-rev-list-format.sh7
-rwxr-xr-xt/t6012-rev-list-simplify.sh10
-rwxr-xr-xt/t6014-rev-list-all.sh4
-rwxr-xr-xt/t6022-merge-rename.sh6
-rwxr-xr-xt/t6026-merge-attr.sh6
-rwxr-xr-xt/t6028-merge-up-to-date.sh2
-rwxr-xr-xt/t6030-bisect-porcelain.sh91
-rwxr-xr-xt/t6032-merge-large-rename.sh6
-rwxr-xr-xt/t6034-merge-rename-nocruft.sh66
-rwxr-xr-xt/t6036-recursive-corner-cases.sh11
-rwxr-xr-xt/t6039-merge-ignorecase.sh2
-rwxr-xr-xt/t6040-tracking-info.sh7
-rwxr-xr-xt/t6111-rev-list-treesame.sh7
-rwxr-xr-xt/t6132-pathspec-exclude.sh28
-rwxr-xr-xt/t6200-fmt-merge-msg.sh2
-rwxr-xr-xt/t7001-mv.sh5
-rwxr-xr-xt/t7004-tag.sh32
-rwxr-xr-xt/t7006-pager.sh2
-rwxr-xr-xt/t7007-show.sh4
-rwxr-xr-xt/t7009-filter-branch-null-sha1.sh2
-rwxr-xr-xt/t7201-co.sh21
-rwxr-xr-xt/t7300-clean.sh10
-rwxr-xr-xt/t7400-submodule-basic.sh4
-rwxr-xr-xt/t7406-submodule-update.sh2
-rwxr-xr-xt/t7508-status.sh113
-rwxr-xr-xt/t7510-signed-commit.sh6
-rwxr-xr-xt/t7600-merge.sh2
-rwxr-xr-xt/t7612-merge-verify-signatures.sh2
-rwxr-xr-xt/t7701-repack-unpack-unreachable.sh2
-rwxr-xr-xt/t8003-blame-corner-cases.sh8
-rwxr-xr-xt/t8008-blame-formats.sh2
-rwxr-xr-xt/t9001-send-email.sh27
-rwxr-xr-xt/t9104-git-svn-follow-parent.sh10
-rwxr-xr-xt/t9158-git-svn-mergeinfo.sh4
-rwxr-xr-xt/t9161-git-svn-mergeinfo-push.sh10
-rwxr-xr-xt/t9300-fast-import.sh11
-rwxr-xr-xt/t9500-gitweb-standalone-no-errors.sh7
-rwxr-xr-xt/t9502-gitweb-standalone-parse-output.sh10
-rwxr-xr-xt/t9902-completion.sh21
-rwxr-xr-xt/t9903-bash-prompt.sh13
-rw-r--r--t/test-lib.sh28
-rw-r--r--thread-utils.c18
-rw-r--r--trailer.c18
-rw-r--r--transport.c10
-rw-r--r--upload-pack.c16
-rw-r--r--versioncmp.c50
-rw-r--r--wt-status.c36
-rw-r--r--wt-status.h1
-rw-r--r--zlib.c2
226 files changed, 8775 insertions, 5267 deletions
diff --git a/Documentation/CodingGuidelines b/Documentation/CodingGuidelines
index 7636199fe8..376d5ec4f8 100644
--- a/Documentation/CodingGuidelines
+++ b/Documentation/CodingGuidelines
@@ -526,7 +526,7 @@ Writing Documentation:
`backticks around word phrases`, do so.
`--pretty=oneline`
`git rev-list`
- `remote.pushdefault`
+ `remote.pushDefault`
Word phrases enclosed in `backtick characters` are rendered literally
and will not be further expanded. The use of `backticks` to achieve the
diff --git a/Documentation/RelNotes/2.3.3.txt b/Documentation/RelNotes/2.3.3.txt
new file mode 100644
index 0000000000..5ef12644c2
--- /dev/null
+++ b/Documentation/RelNotes/2.3.3.txt
@@ -0,0 +1,39 @@
+Git v2.3.3 Release Notes
+========================
+
+Fixes since v2.3.2
+------------------
+
+ * A corrupt input to "git diff -M" used cause us to segfault.
+
+ * The borrowed code in kwset API did not follow our usual convention
+ to use "unsigned char" to store values that range from 0-255.
+
+ * Description given by "grep -h" for its --exclude-standard option
+ was phrased poorly.
+
+ * Documentaton for "git remote add" mentioned "--tags" and
+ "--no-tags" and it was not clear that fetch from the remote in
+ the future will use the default behaviour when neither is given
+ to override it.
+
+ * "git diff --shortstat --dirstat=changes" showed a dirstat based on
+ lines that was never asked by the end user in addition to the
+ dirstat that the user asked for.
+
+ * The interaction between "git submodule update" and the
+ submodule.*.update configuration was not clearly documented.
+
+ * "git apply" was not very careful about reading from, removing,
+ updating and creating paths outside the working tree (under
+ --index/--cached) or the current directory (when used as a
+ replacement for GNU patch).
+
+ * "git daemon" looked up the hostname even when "%CH" and "%IP"
+ interpolations are not requested, which was unnecessary.
+
+ * The "interpolated-path" option of "git daemon" inserted any string
+ client declared on the "host=" capability request without checking.
+ Sanitize and limit %H and %CH to a saner and a valid DNS name.
+
+Also contains typofixes, documentation updates and trivial code clean-ups.
diff --git a/Documentation/RelNotes/2.3.4.txt b/Documentation/RelNotes/2.3.4.txt
new file mode 100644
index 0000000000..094c7b853b
--- /dev/null
+++ b/Documentation/RelNotes/2.3.4.txt
@@ -0,0 +1,32 @@
+Git v2.3.4 Release Notes
+========================
+
+Fixes since v2.3.3
+------------------
+
+ * The 'color.status.unmerged' configuration was not described.
+
+ * "git log --decorate" did not reset colors correctly around the
+ branch names.
+
+ * "git -C '' subcmd" refused to work in the current directory, unlike
+ "cd ''" which silently behaves as a no-op.
+
+ * "git imap-send" learned to optionally talk with an IMAP server via
+ libcURL; because there is no other option when Git is built with
+ NO_OPENSSL option, use that codepath by default under such
+ configuration.
+
+ * A workaround for certain build of GPG that triggered false breakage
+ in a test has been added.
+
+ * "git rebase -i" recently started to include the number of
+ commits in the insn sheet to be processed, but on a platform
+ that prepends leading whitespaces to "wc -l" output, the numbers
+ are shown with extra whitespaces that aren't necessary.
+
+ * We did not parse username followed by literal IPv6 address in SSH
+ transport URLs, e.g. ssh://user@[2001:db8::1]:22/repo.git
+ correctly.
+
+Also contains typofixes, documentation updates and trivial code clean-ups.
diff --git a/Documentation/RelNotes/2.4.0.txt b/Documentation/RelNotes/2.4.0.txt
new file mode 100644
index 0000000000..53c91270e7
--- /dev/null
+++ b/Documentation/RelNotes/2.4.0.txt
@@ -0,0 +1,473 @@
+Git 2.4 Release Notes
+=====================
+
+Backward compatibility warning(s)
+---------------------------------
+
+This release has a few changes in the user-visible output from
+Porcelain commands, which the users may want to be aware of.
+
+ * Output from "git log --decorate" (and "%d" format specifier used in
+ the userformat "--format=<string>" parameter "git log" family of
+ command takes) used to list "HEAD" just like other tips of branch
+ names, separated with a comma in between. E.g.
+
+ $ git log --decorate -1 master
+ commit bdb0f6788fa5e3cacc4315e9ff318a27b2676ff4 (HEAD, master)
+ ...
+
+ This release updates the output slightly when HEAD refers to the tip
+ of a branch whose name is also shown in the output. The above is
+ shown as:
+
+ $ git log --decorate -1 master
+ commit bdb0f6788fa5e3cacc4315e9ff318a27b2676ff4 (HEAD -> master)
+ ...
+
+ * The phrasing "git branch" uses to describe a detached HEAD has been
+ updated to match that of "git status":
+
+ - When the HEAD is at the same commit as it was originally
+ detached, they now both show "detached at <commit object name>".
+
+ - When the HEAD has moved since it was originally detached,
+ they now both show "detached from <commit object name>".
+
+ Earlier "git branch" always used "from"
+
+
+Updates since v2.3
+------------------
+
+Ports
+
+ * Our default I/O size (8 MiB) for large files was too large for some
+ platforms with smaller SSIZE_MAX, leading to read(2)/write(2)
+ failures.
+
+ * We did not check the curl library version before using
+ CURLOPT_PROXYAUTH feature that may not exist.
+
+ * We now detect number of CPUs on older BSD-derived systems.
+
+ * Portability fixes and workarounds for shell scripts have been added
+ to help BSD-derived systems.
+
+
+UI, Workflows & Features
+
+ * The command usage info strings given by "git cmd -h" and in
+ documentation have been tweaked for consistency.
+
+ * The "sync" subcommand of "git p4" now allows users to exclude
+ subdirectories like its "clone" subcommand does.
+
+ * "git log --invert-grep --grep=WIP" will show only commits that do
+ not have the string "WIP" in their messages.
+
+ * "git push" has been taught a "--atomic" option that makes push to
+ update more than one ref an "all-or-none" affair.
+
+ * Extending the "push to deploy" added in 2.3, the behaviour of "git
+ push" when updating the branch that is checked out can now be
+ tweaked by push-to-checkout hook.
+
+ * Using environment variable LANGUAGE and friends on the client side,
+ HTTP-based transports now send Accept-Language when making requests.
+
+ * "git send-email" used to accept a mistaken "y" (or "yes") as an
+ answer to "What encoding do you want to use [UTF-8]? " without
+ questioning. Now it asks for confirmation when the answer looks
+ too short to be a valid encoding name.
+
+ * When "git apply --whitespace=fix" fixed whitespace errors in the
+ common context lines, the command reports that it did so.
+
+ * "git status" now allows the "-v" to be given twice to show the
+ differences that are left in the working tree not to be committed.
+
+ * "git cherry-pick" used to clean-up the log message even when it is
+ merely replaying an existing commit. It now replays the message
+ verbatim unless you are editing the message of resulting commits.
+
+ * "git archive" can now be told to set the 'text' attribute in the
+ resulting zip archive.
+
+ * Output from "git log --decorate" mentions HEAD when it points at a
+ tip of an branch differently from a detached HEAD.
+
+ This is a potentially backward-incompatible change.
+
+ * "git branch" on a detached HEAD always said "(detached from xyz)",
+ even when "git status" would report "detached at xyz". The HEAD is
+ actually at xyz and haven't been moved since it was detached in
+ such a case, but the user cannot read what the current value of
+ HEAD is when "detached from" is used.
+
+ * "git -C '' subcmd" refused to work in the current directory, unlike
+ "cd ''" which silently behaves as a no-op.
+ (merge 6a536e2 kn/git-cd-to-empty later to maint).
+
+ * The versionsort.prerelease configuration variable can be used to
+ specify that v1.0-pre1 comes before v1.0.
+
+ * A new "push.followTags" configuration turns the "--follow-tags"
+ option on by default for the "git push" command.
+
+ * "git log --graph --no-walk A B..." is a conflicting request that
+ asks nonsense; no-walk tells us show discrete points in the
+ history, while graph asks to draw connections between these
+ discrete points. Forbid the combination.
+
+ * "git rev-list --bisect --first-parent" does not work (yet) and can
+ even cause SEGV; forbid it. "git log --bisect --first-parent"
+ would not be useful until "git bisect --first-parent" materializes,
+ so it is also forbidden for now.
+
+
+Performance, Internal Implementation, Development Support etc.
+
+ * Implementation of N_() macro has been updated slightly to help us
+ detect mistakes.
+
+ * Implementation of "reflog expire" has been restructured to fit the
+ reflogs better with the recently updated ref API.
+
+ * The transport-helper did not give transport options such as
+ verbosity, progress, cloning, etc. to import and export based
+ helpers, like it did for fetch and push based helpers, robbing them
+ the chance to honor the wish of the end-users better.
+
+ * The tests that wanted to see that file becomes unreadable after
+ running "chmod a-r file", and the tests that wanted to make sure it
+ is not run as root, we used "can we write into the / directory?" as
+ a cheap substitute, but on some platforms that is not a good
+ heuristics. The tests and their prerequisites have been updated to
+ check what they really require.
+ (merge f400e51 jk/sanity later to maint).
+
+ * Various issues around "reflog expire", e.g. using --updateref when
+ expiring a reflog for a symbolic reference, have been corrected
+ and/or made saner.
+
+ * The strbuf API was explained between the API documentation and in
+ the header file. Move missing bits to strbuf.h so that programmers
+ can check only one place for all necessary information.
+
+ * The error handling functions and conventions are now documented in
+ the API manual.
+
+ * Optimize attribute look-up, mostly useful in "git grep" on a
+ project that does not use many attributes, by avoiding it when we
+ (should) know that the attributes are not defined in the first
+ place.
+
+ * Typofix in comments.
+ (merge ef2956a ak/git-pm-typofix later to maint).
+
+ * Code clean-up.
+ (merge 0b868f0 sb/hex-object-name-is-at-most-41-bytes-long later to maint).
+ (merge 5d30851 dp/remove-duplicated-header-inclusion later to maint).
+
+ * Simplify the ref transaction API around how "the ref should be
+ pointing at this object" is specified.
+
+ * Code in "git daemon" to parse out and hold hostnames used in
+ request interpolation has been simplified.
+
+ * "git push" codepath has been restructured to make it easier to add
+ new configuration bits.
+
+ * The run-command interface was easy to abuse and make a pipe for us
+ to read from the process, wait for the process to finish and then
+ attempt to read its output, which is a pattern that lead to a
+ deadlock. Fix such uses by introducing a helper to do this
+ correctly (i.e. we need to read first and then wait the process to
+ finish) and also add code to prevent such abuse in the run-command
+ helper.
+
+ * People often forget to chain the commands in their test together
+ with &&, leaving a failure from an earlier command in the test go
+ unnoticed. The new GIT_TEST_CHAIN_LINT mechanism allows you to
+ catch such a mistake more easily.
+
+
+Also contains various documentation updates and code clean-ups.
+
+
+Fixes since v2.3
+----------------
+
+Unless otherwise noted, all the fixes since v2.3 in the maintenance
+track are contained in this release (see the maintenance releases'
+notes for details).
+
+ * "git blame HEAD -- missing" failed to correctly say "HEAD" when it
+ tried to say "No such path 'missing' in HEAD".
+ (merge a46442f jk/blame-commit-label later to maint).
+
+ * "git rerere" (invoked internally from many mergy operations) did
+ not correctly signal errors when told to update the working tree
+ files and failed to do so for whatever reason.
+ (merge 89ea903 jn/rerere-fail-on-auto-update-failure later to maint).
+
+ * Setting diff.submodule to 'log' made "git format-patch" produce
+ broken patches.
+ (merge 339de50 dk/format-patch-ignore-diff-submodule later to maint).
+
+ * After attempting and failing a password-less authentication
+ (e.g. kerberos), libcURL refuses to fall back to password based
+ Basic authentication without a bit of help/encouragement.
+ (merge 4dbe664 bc/http-fallback-to-password-after-krb-fails later to maint).
+
+ * The "git push" documentation made the "--repo=<there>" option
+ easily misunderstood.
+ (merge 57b92a7 mg/push-repo-option-doc later to maint).
+
+ * Code to read branch name from various files in .git/ directory
+ would have misbehaved if the code to write them left an empty file.
+ (merge 66ec904 jk/status-read-branch-name-fix later to maint).
+
+ * A misspelled conditional that is always true has been fixed.
+ (merge 94ee8e2 jk/remote-curl-an-array-in-struct-cannot-be-null later to maint).
+
+ * The documentation incorrectly said that C(opy) and R(ename) are the
+ only ones that can be followed by the score number in the output in
+ the --raw format.
+ (merge ac1c2d9 jc/diff-format-doc later to maint).
+
+ * A broken pack .idx file in the receiving repository prevented the
+ dumb http transport from fetching a good copy of it from the other
+ side.
+ (merge 8b9c2dd jk/dumb-http-idx-fetch-fix later to maint).
+
+ * The error message from "git commit", when a non-existing author
+ name was given as value to the "--author=" parameter, has been
+ reworded to avoid misunderstanding.
+ (merge 1044b1f mg/commit-author-no-match-malformed-message later to maint).
+
+ * "git log --help" used to show rev-list options that are irrelevant
+ to the "log" command.
+ (merge 3cab02d jc/doc-log-rev-list-options later to maint).
+
+ * "git apply --whitespace=fix" used to under-allocate the memory when
+ the fix resulted in a longer text than the original patch.
+ (merge 407a792 jc/apply-ws-fix-expands later to maint).
+
+ * The interactive "show a list and let the user choose from it"
+ interface "add -i" used showed and prompted to the user even when
+ the candidate list was empty, against which the only "choice" the
+ user could have made was to choose nothing.
+ (merge a9c4641 ak/add-i-empty-candidates later to maint).
+
+ * The insn sheet "git rebase -i" creates did not fully honor
+ core.abbrev settings.
+ (merge edb72d5 ks/rebase-i-abbrev later to maint).
+
+ * "git fetch" over a remote-helper that cannot respond to "list"
+ command could not fetch from a symbolic reference e.g. HEAD.
+ (merge 33cae54 mh/deref-symref-over-helper-transport later to maint).
+
+ * "git push --signed" gave an incorrectly worded error message when
+ the other side did not support the capability.
+ (merge 45917f0 jc/push-cert later to maint).
+
+ * We didn't format an integer that wouldn't fit in "int" but in
+ "uintmax_t" correctly.
+ (merge d306f3d jk/decimal-width-for-uintmax later to maint).
+
+ * Reading configuration from a blob object, when it ends with a lone
+ CR, use to confuse the configuration parser.
+ (merge 1d0655c jk/config-no-ungetc-eof later to maint).
+
+ * The pack bitmap support did not build with older versions of GCC.
+ (merge bd4e882 jk/pack-bitmap later to maint).
+
+ * The documentation wasn't clear that "remote.<nick>.pushURL" and
+ "remote.<nick>.URL" are there to name the same repository accessed
+ via different transports, not two separate repositories.
+ (merge 697f652 jc/remote-set-url-doc later to maint).
+
+ * Older GnuPG implementations may not correctly import the keyring
+ material we prepare for the tests to use.
+ (merge 1f985d6 ch/new-gpg-drops-rfc-1991 later to maint).
+
+ * The credential helper for Windows (in contrib/) used to mishandle
+ a user name with an at-sign in it.
+ (merge 13d261e av/wincred-with-at-in-username-fix later to maint).
+
+ * Longstanding configuration variable naming rules has been added to
+ the documentation.
+ (merge 35840a3 jc/conf-var-doc later to maint).
+
+ * An earlier workaround to squelch unhelpful deprecation warnings
+ from the complier on Mac OSX unnecessarily set minimum required
+ version of the OS, which the user might want to raise (or lower)
+ for other reasons.
+ (merge 88c03eb es/squelch-openssl-warnings-on-macosx later to maint).
+
+ * Certain older vintages of cURL give irregular output from
+ "curl-config --vernum", which confused our build system.
+ (merge 3af6792 tc/curl-vernum-output-broken-in-7.11 later to maint).
+
+ * In v2.2.0, we broke "git prune" that runs in a repository that
+ borrows from an alternate object store.
+ (merge b0a4264 jk/prune-mtime later to maint).
+
+ * "git submodule add" failed to squash "path/to/././submodule" to
+ "path/to/submodule".
+ (merge 8196e72 ps/submodule-sanitize-path-upon-add later to maint).
+
+ * "git merge-file" did not work correctly in a subdirectory.
+ (merge 204a8ff ab/merge-file-prefix later to maint).
+
+ * "git blame" died, trying to free an uninitialized piece of memory.
+ (merge e600592 es/blame-commit-info-fix later to maint).
+
+ * "git fast-import" used to crash when it could not close and
+ conclude the resulting packfile cleanly.
+ (merge 5e915f3 jk/fast-import-die-nicely-fix later to maint).
+
+ * "update-index --refresh" used to leak when an entry cannot be
+ refreshed for whatever reason.
+ (merge bc1c2ca sb/plug-leak-in-make-cache-entry later to maint).
+
+ * The "interpolated-path" option of "git daemon" inserted any string
+ client declared on the "host=" capability request without checking.
+ Sanitize and limit %H and %CH to a saner and a valid DNS name.
+ (merge b485373 jk/daemon-interpolate later to maint).
+
+ * "git daemon" looked up the hostname even when "%CH" and "%IP"
+ interpolations are not requested, which was unnecessary.
+ (merge dc8edc8 rs/daemon-interpolate later to maint).
+
+ * Even though we officially haven't dropped Perl 5.8 support, the
+ Getopt::Long package that came with it does not support "--no-"
+ prefix to negate a boolean option; manually add support to help
+ people with older Getopt::Long package.
+ (merge f471494 km/send-email-getopt-long-workarounds later to maint).
+
+ * "git apply" was not very careful about reading from, removing,
+ updating and creating paths outside the working tree (under
+ --index/--cached) or the current directory (when used as a
+ replacement for GNU patch).
+ (merge e0d201b jc/apply-beyond-symlink later to maint).
+
+ * A breakage to git-svn around v2.2 era that triggers premature
+ closing of FileHandle has been corrected.
+ (merge e426311 ew/svn-maint-fixes later to maint).
+
+ * We did not parse username followed by literal IPv6 address in SSH
+ transport URLs, e.g. ssh://user@[2001:db8::1]:22/repo.git
+ correctly.
+ (merge 3f55cca tb/connect-ipv6-parse-fix later to maint).
+
+ * The configuration variable 'mailinfo.scissors' was hard to
+ discover in the documentation.
+ (merge afb5de7 mm/am-c-doc later to maint).
+
+ * The interaction between "git submodule update" and the
+ submodule.*.update configuration was not clearly documented.
+ (merge 5c31acf ms/submodule-update-config-doc later to maint).
+
+ * "git diff --shortstat --dirstat=changes" showed a dirstat based on
+ lines that was never asked by the end user in addition to the
+ dirstat that the user asked for.
+ (merge ab27389 mk/diff-shortstat-dirstat-fix later to maint).
+
+ * "git remote add" mentioned "--tags" and "--no-tags" and was not
+ clear that fetch from the remote in the future will use the default
+ behaviour when neither is given to override it.
+ (merge aaba0ab mg/doc-remote-tags-or-not later to maint).
+
+ * Description given by "grep -h" for its --exclude-standard option
+ was phrased poorly.
+ (merge 77fdb8a nd/grep-exclude-standard-help-fix later to maint).
+
+ * "git rebase -i" recently started to include the number of
+ commits in the insn sheet to be processed, but on a platform
+ that prepends leading whitespaces to "wc -l" output, the numbers
+ are shown with extra whitespaces that aren't necessary.
+ (merge 2185d3b es/rebase-i-count-todo later to maint).
+
+ * The borrowed code in kwset API did not follow our usual convention
+ to use "unsigned char" to store values that range from 0-255.
+ (merge 189c860 bw/kwset-use-unsigned later to maint).
+
+ * A corrupt input to "git diff -M" used to cause it to segfault.
+ (merge 4d6be03 jk/diffcore-rename-duplicate later to maint).
+
+ * Certain builds of GPG triggered false breakages in a test.
+ (merge 3f88c1b mg/verify-commit later to maint).
+
+ * "git imap-send" learned to optionally talk with an IMAP server via
+ libcURL; because there is no other option when Git is built with
+ NO_OPENSSL option, use that codepath by default under such
+ configuration.
+ (merge dcd01ea km/imap-send-libcurl-options later to maint).
+
+ * "git log --decorate" did not reset colors correctly around the
+ branch names.
+ (merge 5ee8758 jc/decorate-leaky-separator-color later to maint).
+
+ * The code that reads from the ctags file in the completion script
+ (in contrib/) did not spell ${param/pattern/string} substitution
+ correctly, which happened to work with bash but not with zsh.
+ (merge db8d750 js/completion-ctags-pattern-substitution-fix later to maint).
+
+ * The transfer.hiderefs support did not quite work for smart-http
+ transport.
+ (merge 8ddf3ca jk/smart-http-hide-refs later to maint).
+
+ * "git tag -h" used to show the "--column" and "--sort" options
+ that are about listing in a wrong section.
+ (merge dd059c6 jk/tag-h-column-is-a-listing-option later to maint).
+
+ * "git prune" used to largely ignore broken refs when deciding which
+ objects are still being used, which could spread an existing small
+ damage and make it a larger one.
+ (merge ea56c4e jk/prune-with-corrupt-refs later to maint).
+
+ * The split-index mode introduced at v2.3.0-rc0~41 was broken in the
+ codepath to protect us against a broken reimplementation of Git
+ that writes an invalid index with duplicated index entries, etc.
+ (merge 03f15a7 tg/fix-check-order-with-split-index later to maint).
+
+ * "git fetch" that fetches a commit using the allow-tip-sha1-in-want
+ extension could have failed to fetch all the requested refs.
+ (merge 32d0462 jk/fetch-pack later to maint).
+
+ * An failure early in the "git clone" that started creating the
+ working tree and repository could have resulted in some directories
+ and files left without getting cleaned up.
+ (merge 16eff6c jk/cleanup-failed-clone later to maint).
+
+ * Recommend format-patch and send-email for those who want to submit
+ patches to this project.
+ (merge b25c469 jc/submitting-patches-mention-send-email later to maint).
+
+ * Even though "git grep --quiet" is run merely to ask for the exit
+ status, we spawned the pager regardless. Stop doing that.
+ (merge c2048f0 ws/grep-quiet-no-pager later to maint).
+
+ * The prompt script (in contrib/) did not show the untracked sign
+ when working in a subdirectory without any untracked files.
+ (merge 9bdc517 ct/prompt-untracked-fix later to maint).
+
+ * Code cleanups and documentation updates.
+ (merge 2ce63e9 rs/simple-cleanups later to maint).
+ (merge 33baa69 rj/no-xopen-source-for-cygwin later to maint).
+ (merge 817d03e jc/diff-test-updates later to maint).
+ (merge eb32c66 ak/t5516-typofix later to maint).
+ (merge bcd57cb mr/doc-clean-f-f later to maint).
+ (merge 0d6accc mg/doc-status-color-slot later to maint).
+ (merge 53e53c7 sg/completion-remote later to maint).
+ (merge 8fa7975 ak/git-done-help-cleanup later to maint).
+ (merge 9a6f128 rs/deflate-init-cleanup later to maint).
+ (merge 6f75d45 rs/use-isxdigit later to maint).
+ (merge 376e4b3 jk/test-annoyances later to maint).
+ (merge 7032054 nd/doc-git-index-version later to maint).
+ (merge e869c5e tg/test-index-v4 later to maint).
+ (merge 599d223 jk/simplify-csum-file-sha1fd-check later to maint).
+ (merge 260d585 sg/completion-gitcomp-nl-for-refs later to maint).
+ (merge 777c55a jc/report-path-error-to-dir later to maint).
diff --git a/Documentation/SubmittingPatches b/Documentation/SubmittingPatches
index ef0eeb40cd..98fc4cc1d0 100644
--- a/Documentation/SubmittingPatches
+++ b/Documentation/SubmittingPatches
@@ -136,6 +136,11 @@ that is fine, but please mark it as such.
(4) Sending your patches.
+Learn to use format-patch and send-email if possible. These commands
+are optimized for the workflow of sending patches, avoiding many ways
+your existing e-mail client that is optimized for "multipart/*" mime
+type e-mails to corrupt and render your patches unusable.
+
People on the Git mailing list need to be able to read and
comment on the changes you are submitting. It is important for
a developer to be able to "quote" your changes, using standard
diff --git a/Documentation/blame-options.txt b/Documentation/blame-options.txt
index 0cebc4f692..b299b59023 100644
--- a/Documentation/blame-options.txt
+++ b/Documentation/blame-options.txt
@@ -4,7 +4,7 @@
--root::
Do not treat root commits as boundaries. This can also be
- controlled via the `blame.showroot` config option.
+ controlled via the `blame.showRoot` config option.
--show-stats::
Include additional statistics at the end of blame output.
diff --git a/Documentation/config.txt b/Documentation/config.txt
index 1530255567..2e5ceaf719 100644
--- a/Documentation/config.txt
+++ b/Documentation/config.txt
@@ -14,7 +14,8 @@ the fully qualified variable name of the variable itself is the last
dot-separated segment and the section name is everything before the last
dot. The variable names are case-insensitive, allow only alphanumeric
characters and `-`, and must start with an alphabetic character. Some
-variables may appear multiple times.
+variables may appear multiple times; we say then that the variable is
+multivalued.
Syntax
~~~~~~
@@ -25,7 +26,7 @@ blank lines are ignored.
The file consists of sections and variables. A section begins with
the name of the section in square brackets and continues until the next
-section begins. Section names are not case sensitive. Only alphanumeric
+section begins. Section names are case-insensitive. Only alphanumeric
characters, `-` and `.` are allowed in section names. Each variable
must belong to some section, which means that there must be a section
header before the first setting of a variable.
@@ -40,8 +41,8 @@ in the section header, like in the example below:
--------
Subsection names are case sensitive and can contain any characters except
-newline (doublequote `"` and backslash have to be escaped as `\"` and `\\`,
-respectively). Section headers cannot span multiple
+newline (doublequote `"` and backslash can be included by escaping them
+as `\"` and `\\`, respectively). Section headers cannot span multiple
lines. Variables may belong directly to a section or to a given subsection.
You can have `[section]` if you have `[section "subsection"]`, but you
don't need to.
@@ -53,38 +54,27 @@ restrictions as section names.
All the other lines (and the remainder of the line after the section
header) are recognized as setting variables, in the form
-'name = value'. If there is no equal sign on the line, the entire line
-is taken as 'name' and the variable is recognized as boolean "true".
+'name = value' (or just 'name', which is a short-hand to say that
+the variable is the boolean "true").
The variable names are case-insensitive, allow only alphanumeric characters
-and `-`, and must start with an alphabetic character. There can be more
-than one value for a given variable; we say then that the variable is
-multivalued.
+and `-`, and must start with an alphabetic character.
-Leading and trailing whitespace in a variable value is discarded.
-Internal whitespace within a variable value is retained verbatim.
+A line that defines a value can be continued to the next line by
+ending it with a `\`; the backquote and the end-of-line are
+stripped. Leading whitespaces after 'name =', the remainder of the
+line after the first comment character '#' or ';', and trailing
+whitespaces of the line are discarded unless they are enclosed in
+double quotes. Internal whitespaces within the value are retained
+verbatim.
-The values following the equals sign in variable assign are all either
-a string, an integer, or a boolean. Boolean values may be given as yes/no,
-1/0, true/false or on/off. Case is not significant in boolean values, when
-converting value to the canonical form using '--bool' type specifier;
-'git config' will ensure that the output is "true" or "false".
-
-String values may be entirely or partially enclosed in double quotes.
-You need to enclose variable values in double quotes if you want to
-preserve leading or trailing whitespace, or if the variable value contains
-comment characters (i.e. it contains '#' or ';').
-Double quote `"` and backslash `\` characters in variable values must
-be escaped: use `\"` for `"` and `\\` for `\`.
+Inside double quotes, double quote `"` and backslash `\` characters
+must be escaped: use `\"` for `"` and `\\` for `\`.
The following escape sequences (beside `\"` and `\\`) are recognized:
`\n` for newline character (NL), `\t` for horizontal tabulation (HT, TAB)
and `\b` for backspace (BS). Other char escape sequences (including octal
escape sequences) are invalid.
-Variable values ending in a `\` are continued on the next line in the
-customary UNIX fashion.
-
-Some variables may require a special value format.
Includes
~~~~~~~~
@@ -126,6 +116,60 @@ Example
path = foo ; expand "foo" relative to the current file
path = ~/foo ; expand "foo" in your $HOME directory
+
+Values
+~~~~~~
+
+Values of many variables are treated as a simple string, but there
+are variables that take values of specific types and there are rules
+as to how to spell them.
+
+boolean::
+
+ When a variable is said to take a boolean value, many
+ synonyms are accepted for 'true' and 'false'; these are all
+ case-insensitive.
+
+ true;; Boolean true can be spelled as `yes`, `on`, `true`,
+ or `1`. Also, a variable defined without `= <value>`
+ is taken as true.
+
+ false;; Boolean false can be spelled as `no`, `off`,
+ `false`, or `0`.
++
+When converting value to the canonical form using '--bool' type
+specifier; 'git config' will ensure that the output is "true" or
+"false" (spelled in lowercase).
+
+integer::
+ The value for many variables that specify various sizes can
+ be suffixed with `k`, `M`,... to mean "scale the number by
+ 1024", "by 1024x1024", etc.
+
+color::
+ The value for a variables that takes a color is a list of
+ colors (at most two) and attributes (at most one), separated
+ by spaces. The colors accepted are `normal`, `black`,
+ `red`, `green`, `yellow`, `blue`, `magenta`, `cyan` and
+ `white`; the attributes are `bold`, `dim`, `ul`, `blink` and
+ `reverse`. The first color given is the foreground; the
+ second is the background. The position of the attribute, if
+ any, doesn't matter. Attributes may be turned off specifically
+ by prefixing them with `no` (e.g., `noreverse`, `noul`, etc).
++
+Colors (foreground and background) may also be given as numbers between
+0 and 255; these use ANSI 256-color mode (but note that not all
+terminals may support this). If your terminal supports it, you may also
+specify 24-bit RGB values as hex, like `#ff0ab3`.
++
+The attributes are meant to be reset at the beginning of each item
+in the colored output, so setting color.decorate.branch to `black`
+will paint that branch name in a plain `black`, even if the previous
+thing on the same output line (e.g. opening parenthesis before the
+list of branch names in `log --decorate` output) is set to be
+painted with `bold` or some other attribute.
+
+
Variables
~~~~~~~~~
@@ -225,7 +269,7 @@ See linkgit:git-update-index[1].
+
The default is true (when core.filemode is not specified in the config file).
-core.ignorecase::
+core.ignoreCase::
If true, this option enables various workarounds to enable
Git to work better on filesystems that are not case sensitive,
like FAT. For example, if a directory listing finds
@@ -234,12 +278,12 @@ core.ignorecase::
"Makefile".
+
The default is false, except linkgit:git-clone[1] or linkgit:git-init[1]
-will probe and set core.ignorecase true if appropriate when the repository
+will probe and set core.ignoreCase true if appropriate when the repository
is created.
-core.precomposeunicode::
+core.precomposeUnicode::
This option is only used by Mac OS implementation of Git.
- When core.precomposeunicode=true, Git reverts the unicode decomposition
+ When core.precomposeUnicode=true, Git reverts the unicode decomposition
of filenames done by Mac OS. This is useful when sharing a repository
between Mac OS and Linux or Windows.
(Git for Windows 1.7.10 or higher is needed, or Git under cygwin 1.7).
@@ -264,13 +308,13 @@ core.trustctime::
crawlers and some backup systems).
See linkgit:git-update-index[1]. True by default.
-core.checkstat::
+core.checkStat::
Determines which stat fields to match between the index
and work tree. The user can set this to 'default' or
'minimal'. Default (or explicitly 'default'), is to check
all fields, including the sub-second part of mtime and ctime.
-core.quotepath::
+core.quotePath::
The commands that output paths (e.g. 'ls-files',
'diff'), when not given the `-z` option, will quote
"unusual" characters in the pathname by enclosing the
@@ -474,9 +518,9 @@ core.compression::
-1 is the zlib default. 0 means no compression,
and 1..9 are various speed/size tradeoffs, 9 being slowest.
If set, this provides a default to other compression variables,
- such as 'core.loosecompression' and 'pack.compression'.
+ such as 'core.looseCompression' and 'pack.compression'.
-core.loosecompression::
+core.looseCompression::
An integer -1..9, indicating the compression level for objects that
are not in a pack file. -1 is the zlib default. 0 means no
compression, and 1..9 are various speed/size tradeoffs, 9 being
@@ -537,7 +581,7 @@ be delta compressed, but larger binary media files won't be.
+
Common unit suffixes of 'k', 'm', or 'g' are supported.
-core.excludesfile::
+core.excludesFile::
In addition to '.gitignore' (per-directory) and
'.git/info/exclude', Git looks into this file for patterns
of files which are not meant to be tracked. "`~/`" is expanded
@@ -546,7 +590,7 @@ core.excludesfile::
If $XDG_CONFIG_HOME is either not set or empty, $HOME/.config/git/ignore
is used instead. See linkgit:gitignore[5].
-core.askpass::
+core.askPass::
Some commands (e.g. svn and http interfaces) that interactively
ask for a password can be told to use an external program given
via the value of this variable. Can be overridden by the 'GIT_ASKPASS'
@@ -555,11 +599,11 @@ core.askpass::
prompt. The external program shall be given a suitable prompt as
command-line argument and write the password on its STDOUT.
-core.attributesfile::
+core.attributesFile::
In addition to '.gitattributes' (per-directory) and
'.git/info/attributes', Git looks into this file for attributes
(see linkgit:gitattributes[5]). Path expansions are made the same
- way as for `core.excludesfile`. Its default value is
+ way as for `core.excludesFile`. Its default value is
$XDG_CONFIG_HOME/git/attributes. If $XDG_CONFIG_HOME is either not
set or empty, $HOME/.config/git/attributes is used instead.
@@ -569,7 +613,7 @@ core.editor::
variable when it is set, and the environment variable
`GIT_EDITOR` is not set. See linkgit:git-var[1].
-core.commentchar::
+core.commentChar::
Commands such as `commit` and `tag` that lets you edit
messages consider a line that begins with this character
commented, and removes them after the editor returns
@@ -638,7 +682,7 @@ core.whitespace::
is relevant for `indent-with-non-tab` and when Git fixes `tab-in-indent`
errors. The default tab width is 8. Allowed values are 1 to 63.
-core.fsyncobjectfiles::
+core.fsyncObjectFiles::
This boolean will enable 'fsync()' when writing object files.
+
This is a total waste of time and effort on a filesystem that orders
@@ -646,7 +690,7 @@ data writes properly, but can be useful for filesystems that do not use
journalling (traditional UNIX filesystems) or that only journal metadata
and not file contents (OS X's HFS+, or Linux ext3 with "data=writeback").
-core.preloadindex::
+core.preloadIndex::
Enable parallel index preload for operations like 'git diff'
+
This can speed up operations like 'git diff' and 'git status' especially
@@ -717,7 +761,7 @@ am.keepcr::
by giving '--no-keep-cr' from the command line.
See linkgit:git-am[1], linkgit:git-mailsplit[1].
-apply.ignorewhitespace::
+apply.ignoreWhitespace::
When set to 'change', tells 'git apply' to ignore changes in
whitespace, in the same way as the '--ignore-space-change'
option.
@@ -729,7 +773,7 @@ apply.whitespace::
Tells 'git apply' how to handle whitespaces, in the same way
as the '--whitespace' option. See linkgit:git-apply[1].
-branch.autosetupmerge::
+branch.autoSetupMerge::
Tells 'git branch' and 'git checkout' to set up new branches
so that linkgit:git-pull[1] will appropriately merge from the
starting point branch. Note that even if this option is not set,
@@ -741,7 +785,7 @@ branch.autosetupmerge::
local branch or remote-tracking
branch. This option defaults to true.
-branch.autosetuprebase::
+branch.autoSetupRebase::
When a new branch is created with 'git branch' or 'git checkout'
that tracks another branch, this variable tells Git to set
up pull to rebase instead of merge (see "branch.<name>.rebase").
@@ -752,27 +796,27 @@ branch.autosetuprebase::
remote-tracking branches.
When `always`, rebase will be set to true for all tracking
branches.
- See "branch.autosetupmerge" for details on how to set up a
+ See "branch.autoSetupMerge" for details on how to set up a
branch to track another branch.
This option defaults to never.
branch.<name>.remote::
When on branch <name>, it tells 'git fetch' and 'git push'
which remote to fetch from/push to. The remote to push to
- may be overridden with `remote.pushdefault` (for all branches).
+ may be overridden with `remote.pushDefault` (for all branches).
The remote to push to, for the current branch, may be further
- overridden by `branch.<name>.pushremote`. If no remote is
+ overridden by `branch.<name>.pushRemote`. If no remote is
configured, or if you are not on any branch, it defaults to
- `origin` for fetching and `remote.pushdefault` for pushing.
+ `origin` for fetching and `remote.pushDefault` for pushing.
Additionally, `.` (a period) is the current local repository
(a dot-repository), see `branch.<name>.merge`'s final note below.
-branch.<name>.pushremote::
+branch.<name>.pushRemote::
When on branch <name>, it overrides `branch.<name>.remote` for
- pushing. It also overrides `remote.pushdefault` for pushing
+ pushing. It also overrides `remote.pushDefault` for pushing
from branch <name>. When you pull from one place (e.g. your
upstream) and push to another place (e.g. your own publishing
- repository), you would want to set `remote.pushdefault` to
+ repository), you would want to set `remote.pushDefault` to
specify the remote to push to for all branches, and use this
option to override it for a specific branch.
@@ -794,7 +838,7 @@ branch.<name>.merge::
branch.<name>.merge to the desired branch, and use the relative path
setting `.` (a period) for branch.<name>.remote.
-branch.<name>.mergeoptions::
+branch.<name>.mergeOptions::
Sets default options for merging into branch <name>. The syntax and
supported options are the same as those of linkgit:git-merge[1], but
option values containing whitespace characters are currently not
@@ -846,20 +890,6 @@ color.branch.<slot>::
`remote` (a remote-tracking branch in refs/remotes/),
`upstream` (upstream tracking branch), `plain` (other
refs).
-+
-The value for these configuration variables is a list of colors (at most
-two) and attributes (at most one), separated by spaces. The colors
-accepted are `normal`, `black`, `red`, `green`, `yellow`, `blue`,
-`magenta`, `cyan` and `white`; the attributes are `bold`, `dim`, `ul`,
-`blink` and `reverse`. The first color given is the foreground; the
-second is the background. The position of the attribute, if any,
-doesn't matter. Attributes may be turned off specifically by prefixing
-them with `no` (e.g., `noreverse`, `noul`, etc).
-+
-Colors (foreground and background) may also be given as numbers between
-0 and 255; these use ANSI 256-color mode (but note that not all
-terminals may support this). If your terminal supports it, you may also
-specify 24-bit RGB values as hex, like `#ff0ab3`.
color.diff::
Whether to use ANSI escape sequences to add color to patches.
@@ -879,8 +909,7 @@ color.diff.<slot>::
of `plain` (context text), `meta` (metainformation), `frag`
(hunk header), 'func' (function in hunk header), `old` (removed lines),
`new` (added lines), `commit` (commit headers), or `whitespace`
- (highlighting whitespace errors). The values of these variables may be
- specified as in color.branch.<slot>.
+ (highlighting whitespace errors).
color.decorate.<slot>::
Use customized color for 'git log --decorate' output. `<slot>` is one
@@ -917,8 +946,6 @@ color.grep.<slot>::
separators between fields on a line (`:`, `-`, and `=`)
and between hunks (`--`)
--
-+
-The values of these variables may be specified as in color.branch.<slot>.
color.interactive::
When set to `always`, always use colors for interactive prompts
@@ -931,14 +958,13 @@ color.interactive.<slot>::
Use customized color for 'git add --interactive' and 'git clean
--interactive' output. `<slot>` may be `prompt`, `header`, `help`
or `error`, for four distinct types of normal output from
- interactive commands. The values of these variables may be
- specified as in color.branch.<slot>.
+ interactive commands.
color.pager::
A boolean to enable/disable colored output when the pager is in
use (default is true).
-color.showbranch::
+color.showBranch::
A boolean to enable/disable color in the output of
linkgit:git-show-branch[1]. May be set to `always`,
`false` (or `never`) or `auto` (or `true`), in which case colors are used
@@ -956,10 +982,10 @@ color.status.<slot>::
`added` or `updated` (files which are added but not committed),
`changed` (files which are changed but not added in the index),
`untracked` (files which are not tracked by Git),
- `branch` (the current branch), or
+ `branch` (the current branch),
`nobranch` (the color the 'no branch' warning is shown in, defaulting
- to red). The values of these variables may be specified as in
- color.branch.<slot>.
+ to red), or
+ `unmerged` (files which have unmerged changes).
color.ui::
This variable determines the default value for variables such
@@ -1038,7 +1064,7 @@ commit.cleanup::
have to remove the help lines that begin with `#` in the commit log
template yourself, if you do this).
-commit.gpgsign::
+commit.gpgSign::
A boolean to specify whether all commits should be GPG signed.
Use of this option when doing operations such as rebase can
@@ -1151,7 +1177,7 @@ format.cc::
by mail. See the --to and --cc options in
linkgit:git-format-patch[1].
-format.subjectprefix::
+format.subjectPrefix::
The default for format-patch is to output files with the '[PATCH]'
subject prefix. Use this variable to change that prefix.
@@ -1161,7 +1187,7 @@ format.signature::
Set this variable to the empty string ("") to suppress
signature generation.
-format.signaturefile::
+format.signatureFile::
Works just like format.signature except the contents of the
file specified by this variable will be used as the signature.
@@ -1185,7 +1211,7 @@ format.thread::
A true boolean value is the same as `shallow`, and a false
value disables threading.
-format.signoff::
+format.signOff::
A boolean value which lets you enable the `-s/--signoff` option of
format-patch by default. *Note:* Adding the Signed-off-by: line to a
patch should be a conscious act and means that you certify you have
@@ -1224,17 +1250,17 @@ gc.auto::
light-weight garbage collection from time to time. The
default value is 6700. Setting this to 0 disables it.
-gc.autopacklimit::
+gc.autoPackLimit::
When there are more than this many packs that are not
marked with `*.keep` file in the repository, `git gc
--auto` consolidates them into one larger pack. The
default value is 50. Setting this to 0 disables it.
-gc.autodetach::
+gc.autoDetach::
Make `git gc --auto` return immediately and run in background
if the system supports it. Default is true.
-gc.packrefs::
+gc.packRefs::
Running `git pack-refs` in a repository renders it
unclonable by Git versions prior to 1.5.1.2 over dumb
transports such as HTTP. This variable determines whether
@@ -1242,38 +1268,38 @@ gc.packrefs::
to enable it within all non-bare repos or it can be set to a
boolean value. The default is `true`.
-gc.pruneexpire::
+gc.pruneExpire::
When 'git gc' is run, it will call 'prune --expire 2.weeks.ago'.
Override the grace period with this config variable. The value
"now" may be used to disable this grace period and always prune
unreachable objects immediately.
-gc.reflogexpire::
-gc.<pattern>.reflogexpire::
+gc.reflogExpire::
+gc.<pattern>.reflogExpire::
'git reflog expire' removes reflog entries older than
this time; defaults to 90 days. With "<pattern>" (e.g.
"refs/stash") in the middle the setting applies only to
the refs that match the <pattern>.
-gc.reflogexpireunreachable::
-gc.<ref>.reflogexpireunreachable::
+gc.reflogExpireUnreachable::
+gc.<ref>.reflogExpireUnreachable::
'git reflog expire' removes reflog entries older than
this time and are not reachable from the current tip;
defaults to 30 days. With "<pattern>" (e.g. "refs/stash")
in the middle, the setting applies only to the refs that
match the <pattern>.
-gc.rerereresolved::
+gc.rerereResolved::
Records of conflicted merge you resolved earlier are
kept for this many days when 'git rerere gc' is run.
The default is 60 days. See linkgit:git-rerere[1].
-gc.rerereunresolved::
+gc.rerereUnresolved::
Records of conflicted merge you have not resolved are
kept for this many days when 'git rerere gc' is run.
The default is 15 days. See linkgit:git-rerere[1].
-gitcvs.commitmsgannotation::
+gitcvs.commitMsgAnnotation::
Append this string to each commit message. Set to empty string
to disable this feature. Defaults to "via git-CVS emulator".
@@ -1281,7 +1307,7 @@ gitcvs.enabled::
Whether the CVS server interface is enabled for this repository.
See linkgit:git-cvsserver[1].
-gitcvs.logfile::
+gitcvs.logFile::
Path to a log file where the CVS server interface well... logs
various stuff. See linkgit:git-cvsserver[1].
@@ -1293,10 +1319,10 @@ gitcvs.usecrlfattr::
treat it as text. If they suppress text conversion, the file
will be set with '-kb' mode, which suppresses any newline munging
the client might otherwise do. If the attributes do not allow
- the file type to be determined, then 'gitcvs.allbinary' is
+ the file type to be determined, then 'gitcvs.allBinary' is
used. See linkgit:gitattributes[5].
-gitcvs.allbinary::
+gitcvs.allBinary::
This is used if 'gitcvs.usecrlfattr' does not resolve
the correct '-kb' mode to use. If true, all
unresolved files are sent to the client in
@@ -1306,7 +1332,7 @@ gitcvs.allbinary::
then the contents of the file are examined to decide if
it is binary, similar to 'core.autocrlf'.
-gitcvs.dbname::
+gitcvs.dbName::
Database used by git-cvsserver to cache revision information
derived from the Git repository. The exact meaning depends on the
used database driver, for SQLite (which is the default driver) this
@@ -1314,7 +1340,7 @@ gitcvs.dbname::
linkgit:git-cvsserver[1] for details). May not contain semicolons (`;`).
Default: '%Ggitcvs.%m.sqlite'
-gitcvs.dbdriver::
+gitcvs.dbDriver::
Used Perl DBI driver. You can specify any available driver
for this here, but it might not work. git-cvsserver is tested
with 'DBD::SQLite', reported to work with 'DBD::Pg', and
@@ -1322,10 +1348,10 @@ gitcvs.dbdriver::
May not contain double colons (`:`). Default: 'SQLite'.
See linkgit:git-cvsserver[1].
-gitcvs.dbuser, gitcvs.dbpass::
- Database user and password. Only useful if setting 'gitcvs.dbdriver',
+gitcvs.dbUser, gitcvs.dbPass::
+ Database user and password. Only useful if setting 'gitcvs.dbDriver',
since SQLite has no concept of database users and/or passwords.
- 'gitcvs.dbuser' supports variable substitution (see
+ 'gitcvs.dbUser' supports variable substitution (see
linkgit:git-cvsserver[1] for details).
gitcvs.dbTableNamePrefix::
@@ -1336,7 +1362,7 @@ gitcvs.dbTableNamePrefix::
characters will be replaced with underscores.
All gitcvs variables except for 'gitcvs.usecrlfattr' and
-'gitcvs.allbinary' can also be specified as
+'gitcvs.allBinary' can also be specified as
'gitcvs.<access_method>.<varname>' (where 'access_method'
is one of "ext" and "pserver") to make them apply only for the given
access method.
@@ -1354,7 +1380,7 @@ gitweb.highlight::
gitweb.patches::
gitweb.pickaxe::
gitweb.remote_heads::
-gitweb.showsizes::
+gitweb.showSizes::
gitweb.snapshot::
See linkgit:gitweb.conf[5] for description.
@@ -1383,15 +1409,15 @@ gpg.program::
signed, and the program is expected to send the result to its
standard output.
-gui.commitmsgwidth::
+gui.commitMsgWidth::
Defines how wide the commit message window is in the
linkgit:git-gui[1]. "75" is the default.
-gui.diffcontext::
+gui.diffContext::
Specifies how many context lines should be used in calls to diff
made by the linkgit:git-gui[1]. The default is "5".
-gui.displayuntracked::
+gui.displayUntracked::
Determines if linkgit::git-gui[1] shows untracked files
in the file list. The default is "true".
@@ -1403,16 +1429,16 @@ gui.encoding::
If this option is not set, the tools default to the
locale encoding.
-gui.matchtrackingbranch::
+gui.matchTrackingBranch::
Determines if new branches created with linkgit:git-gui[1] should
default to tracking remote branches with matching names or
not. Default: "false".
-gui.newbranchtemplate::
+gui.newBranchTemplate::
Is used as suggested name when creating new branches using the
linkgit:git-gui[1].
-gui.pruneduringfetch::
+gui.pruneDuringFetch::
"true" if linkgit:git-gui[1] should prune remote-tracking branches when
performing a fetch. The default value is "false".
@@ -1420,17 +1446,17 @@ gui.trustmtime::
Determines if linkgit:git-gui[1] should trust the file modification
timestamp or not. By default the timestamps are not trusted.
-gui.spellingdictionary::
+gui.spellingDictionary::
Specifies the dictionary used for spell checking commit messages in
the linkgit:git-gui[1]. When set to "none" spell checking is turned
off.
-gui.fastcopyblame::
+gui.fastCopyBlame::
If true, 'git gui blame' uses `-C` instead of `-C -C` for original
location detection. It makes blame significantly faster on huge
repositories at the expense of less thorough copy detection.
-gui.copyblamethreshold::
+gui.copyBlameThreshold::
Specifies the threshold to use in 'git gui blame' original location
detection, measured in alphanumeric characters. See the
linkgit:git-blame[1] manual for more information on copy detection.
@@ -1450,22 +1476,22 @@ guitool.<name>.cmd::
'FILENAME', and the name of the current branch as 'CUR_BRANCH' (if
the head is detached, 'CUR_BRANCH' is empty).
-guitool.<name>.needsfile::
+guitool.<name>.needsFile::
Run the tool only if a diff is selected in the GUI. It guarantees
that 'FILENAME' is not empty.
-guitool.<name>.noconsole::
+guitool.<name>.noConsole::
Run the command silently, without creating a window to display its
output.
-guitool.<name>.norescan::
+guitool.<name>.noRescan::
Don't rescan the working directory for changes after the tool
finishes execution.
guitool.<name>.confirm::
Show a confirmation dialog before actually running the tool.
-guitool.<name>.argprompt::
+guitool.<name>.argPrompt::
Request a string argument from the user, and pass it to the tool
through the 'ARGS' environment variable. Since requesting an
argument implies confirmation, the 'confirm' option has no effect
@@ -1473,13 +1499,13 @@ guitool.<name>.argprompt::
the dialog uses a built-in generic prompt; otherwise the exact
value of the variable is used.
-guitool.<name>.revprompt::
+guitool.<name>.revPrompt::
Request a single valid revision from the user, and set the
'REVISION' environment variable. In other aspects this option
- is similar to 'argprompt', and can be used together with it.
+ is similar to 'argPrompt', and can be used together with it.
-guitool.<name>.revunmerged::
- Show only unmerged branches in the 'revprompt' subdialog.
+guitool.<name>.revUnmerged::
+ Show only unmerged branches in the 'revPrompt' subdialog.
This is useful for tools similar to merge or rebase, but not
for things like checkout or reset.
@@ -1489,7 +1515,7 @@ guitool.<name>.title::
guitool.<name>.prompt::
Specifies the general prompt string to display at the top of
- the dialog, before subsections for 'argprompt' and 'revprompt'.
+ the dialog, before subsections for 'argPrompt' and 'revPrompt'.
The default value includes the actual command.
help.browser::
@@ -1501,7 +1527,7 @@ help.format::
Values 'man', 'info', 'web' and 'html' are supported. 'man' is
the default. 'web' and 'html' are the same.
-help.autocorrect::
+help.autoCorrect::
Automatically correct and execute mistyped commands after
waiting for the given number of deciseconds (0.1 sec). If more
than one command can be deduced from the entered text, nothing
@@ -1510,7 +1536,7 @@ help.autocorrect::
value is 0 - the command will be just shown but not executed.
This is the default.
-help.htmlpath::
+help.htmlPath::
Specify the path where the HTML documentation resides. File system paths
and URLs are supported. HTML pages will be prefixed with this path when
help is displayed in the 'web' format. This defaults to the documentation
@@ -1522,17 +1548,17 @@ http.proxy::
`curl(1)`). This can be overridden on a per-remote basis; see
remote.<name>.proxy
-http.cookiefile::
+http.cookieFile::
File containing previously stored cookie lines which should be used
in the Git http session, if they match the server. The file format
of the file to read cookies from should be plain HTTP headers or
the Netscape/Mozilla cookie file format (see linkgit:curl[1]).
- NOTE that the file specified with http.cookiefile is only used as
+ NOTE that the file specified with http.cookieFile is only used as
input unless http.saveCookies is set.
-http.savecookies::
+http.saveCookies::
If set, store cookies received during requests to the file specified by
- http.cookiefile. Has no effect if http.cookiefile is unset.
+ http.cookieFile. Has no effect if http.cookieFile is unset.
http.sslVerify::
Whether to verify the SSL certificate when fetching or pushing
@@ -1603,7 +1629,7 @@ http.noEPSV::
support EPSV mode. Can be overridden by the 'GIT_CURL_FTP_NO_EPSV'
environment variable. Default is false (curl will use EPSV).
-http.useragent::
+http.userAgent::
The HTTP USER_AGENT string presented to an HTTP server. The default
value represents the version of the client Git such as git/1.7.1.
This option allows you to override this value to a more common value
@@ -1676,7 +1702,7 @@ index.version::
Specify the version with which new index files should be
initialized. This does not affect existing repositories.
-init.templatedir::
+init.templateDir::
Specify the directory from which templates will be copied.
(See the "TEMPLATE DIRECTORY" section of linkgit:git-init[1].)
@@ -1692,7 +1718,7 @@ instaweb.local::
If true the web server started by linkgit:git-instaweb[1] will
be bound to the local IP (127.0.0.1).
-instaweb.modulepath::
+instaweb.modulePath::
The default module path for linkgit:git-instaweb[1] to use
instead of /usr/lib/apache2/modules. Only used if httpd
is Apache.
@@ -1701,7 +1727,7 @@ instaweb.port::
The port number to bind the gitweb httpd to. See
linkgit:git-instaweb[1].
-interactive.singlekey::
+interactive.singleKey::
In interactive commands, allow the user to provide one-letter
input with a single key (i.e., without hitting enter).
Currently this is used by the `--patch` mode of
@@ -1729,7 +1755,7 @@ log.decorate::
specified, the full ref name (including prefix) will be printed.
This is the same as the log commands '--decorate' option.
-log.showroot::
+log.showRoot::
If true, the initial commit will be shown as a big creation event.
This is equivalent to a diff against an empty tree.
Tools like linkgit:git-log[1] or linkgit:git-whatchanged[1], which
@@ -1966,7 +1992,7 @@ pack.useBitmaps::
true. You should not generally need to turn this off unless
you are debugging pack bitmaps.
-pack.writebitmaps (deprecated)::
+pack.writeBitmaps (deprecated)::
This is a deprecated synonym for `repack.writeBitmaps`.
pack.writeBitmapHashCache::
@@ -2085,14 +2111,20 @@ new default).
--
+push.followTags::
+ If set to true enable '--follow-tags' option by default. You
+ may override this configuration at time of push by specifying
+ '--no-follow-tags'.
+
+
rebase.stat::
Whether to show a diffstat of what changed upstream since the last
rebase. False by default.
-rebase.autosquash::
+rebase.autoSquash::
If set to true enable '--autosquash' option by default.
-rebase.autostash::
+rebase.autoStash::
When set to true, automatically create a temporary stash
before the operation begins, and apply it after the operation
ends. This means that you can run rebase on a dirty worktree.
@@ -2100,7 +2132,7 @@ rebase.autostash::
successful rebase might result in non-trivial conflicts.
Defaults to false.
-receive.advertiseatomic::
+receive.advertiseAtomic::
By default, git-receive-pack will advertise the atomic push
capability to its clients. If you don't want to this capability
to be advertised, set this variable to false.
@@ -2110,13 +2142,13 @@ receive.autogc::
receiving data from git-push and updating refs. You can stop
it by setting this variable to false.
-receive.certnonceseed::
+receive.certNonceSeed::
By setting this variable to a string, `git receive-pack`
will accept a `git push --signed` and verifies it by using
a "nonce" protected by HMAC using this string as a secret
key.
-receive.certnonceslop::
+receive.certNonceSlop::
When a `git push --signed` sent a push certificate with a
"nonce" that was issued by a receive-pack serving the same
repository within this many seconds, export the "nonce"
@@ -2180,7 +2212,7 @@ receive.denyNonFastForwards::
even if that push is forced. This configuration variable is
set when initializing a shared repository.
-receive.hiderefs::
+receive.hideRefs::
String(s) `receive-pack` uses to decide which refs to omit
from its initial advertisement. Use more than one
definitions to specify multiple prefix strings. A ref that
@@ -2189,18 +2221,18 @@ receive.hiderefs::
push`, and an attempt to update or delete a hidden ref by
`git push` is rejected.
-receive.updateserverinfo::
+receive.updateServerInfo::
If set to true, git-receive-pack will run git-update-server-info
after receiving data from git-push and updating refs.
-receive.shallowupdate::
+receive.shallowUpdate::
If set to true, .git/shallow can be updated when new refs
require new shallow roots. Otherwise those refs are rejected.
-remote.pushdefault::
+remote.pushDefault::
The remote to push to by default. Overrides
`branch.<name>.remote` for all branches, and is overridden by
- `branch.<name>.pushremote` for specific branches.
+ `branch.<name>.pushRemote` for specific branches.
remote.<name>.url::
The URL of a remote repository. See linkgit:git-fetch[1] or
@@ -2244,7 +2276,7 @@ remote.<name>.uploadpack::
The default program to execute on the remote side when fetching. See
option \--upload-pack of linkgit:git-fetch-pack[1].
-remote.<name>.tagopt::
+remote.<name>.tagOpt::
Setting this value to \--no-tags disables automatic tag following when
fetching from remote <name>. Setting it to \--tags will fetch every
tag from remote <name>, even if they are not reachable from remote
@@ -2266,7 +2298,7 @@ remotes.<group>::
The list of remotes which are fetched by "git remote update
<group>". See linkgit:git-remote[1].
-repack.usedeltabaseoffset::
+repack.useDeltaBaseOffset::
By default, linkgit:git-repack[1] creates packs that use
delta-base offset. If you need to share your repository with
Git older than version 1.4.4, either directly or via a dumb
@@ -2289,7 +2321,7 @@ repack.writeBitmaps::
space and extra time spent on the initial repack. Defaults to
false.
-rerere.autoupdate::
+rerere.autoUpdate::
When set to true, `git-rerere` updates the index with the
resulting contents after it cleanly resolves conflicts using
previously recorded resolution. Defaults to false.
@@ -2308,12 +2340,12 @@ sendemail.identity::
values in the 'sendemail' section. The default identity is
the value of 'sendemail.identity'.
-sendemail.smtpencryption::
+sendemail.smtpEncryption::
See linkgit:git-send-email[1] for description. Note that this
setting is not subject to the 'identity' mechanism.
sendemail.smtpssl (deprecated)::
- Deprecated alias for 'sendemail.smtpencryption = ssl'.
+ Deprecated alias for 'sendemail.smtpEncryption = ssl'.
sendemail.smtpsslcertpath::
Path to ca-certificates (either a directory or a single file).
@@ -2325,29 +2357,29 @@ sendemail.<identity>.*::
identity is selected, through command-line or
'sendemail.identity'.
-sendemail.aliasesfile::
-sendemail.aliasfiletype::
+sendemail.aliasesFile::
+sendemail.aliasFileType::
sendemail.annotate::
sendemail.bcc::
sendemail.cc::
-sendemail.cccmd::
-sendemail.chainreplyto::
+sendemail.ccCmd::
+sendemail.chainReplyTo::
sendemail.confirm::
-sendemail.envelopesender::
+sendemail.envelopeSender::
sendemail.from::
-sendemail.multiedit::
+sendemail.multiEdit::
sendemail.signedoffbycc::
-sendemail.smtppass::
+sendemail.smtpPass::
sendemail.suppresscc::
-sendemail.suppressfrom::
+sendemail.suppressFrom::
sendemail.to::
-sendemail.smtpdomain::
-sendemail.smtpserver::
-sendemail.smtpserverport::
-sendemail.smtpserveroption::
-sendemail.smtpuser::
+sendemail.smtpDomain::
+sendemail.smtpServer::
+sendemail.smtpServerPort::
+sendemail.smtpServerOption::
+sendemail.smtpUser::
sendemail.thread::
-sendemail.transferencoding::
+sendemail.transferEncoding::
sendemail.validate::
sendemail.xmailer::
See linkgit:git-send-email[1] for description.
@@ -2399,7 +2431,7 @@ If this variable is not specified, it defaults to 'normal'.
This variable can be overridden with the -u|--untracked-files option
of linkgit:git-status[1] and linkgit:git-commit[1].
-status.submodulesummary::
+status.submoduleSummary::
Defaults to false.
If this is set to a non zero number or true (identical to -1 or an
unlimited number), the submodule summary will be enabled and a
@@ -2474,9 +2506,9 @@ transfer.fsckObjects::
not set, the value of this variable is used instead.
Defaults to false.
-transfer.hiderefs::
- This variable can be used to set both `receive.hiderefs`
- and `uploadpack.hiderefs` at the same time to the same
+transfer.hideRefs::
+ This variable can be used to set both `receive.hideRefs`
+ and `uploadpack.hideRefs` at the same time to the same
values. See entries for these other variables.
transfer.unpackLimit::
@@ -2491,7 +2523,7 @@ uploadarchive.allowUnreachable::
linkgit:git-upload-archive[1] for more details. Defaults to
`false`.
-uploadpack.hiderefs::
+uploadpack.hideRefs::
String(s) `upload-pack` uses to decide which refs to omit
from its initial advertisement. Use more than one
definitions to specify multiple prefix strings. A ref that
@@ -2501,12 +2533,12 @@ uploadpack.hiderefs::
fetch` will fail. See also `uploadpack.allowtipsha1inwant`.
uploadpack.allowtipsha1inwant::
- When `uploadpack.hiderefs` is in effect, allow `upload-pack`
+ When `uploadpack.hideRefs` is in effect, allow `upload-pack`
to accept a fetch request that asks for an object at the tip
of a hidden ref (by default, such a request is rejected).
- see also `uploadpack.hiderefs`.
+ see also `uploadpack.hideRefs`.
-uploadpack.keepalive::
+uploadpack.keepAlive::
When `upload-pack` has started `pack-objects`, there may be a
quiet period while `pack-objects` prepares the pack. Normally
it would output progress information, but if `--quiet` was used
@@ -2514,7 +2546,7 @@ uploadpack.keepalive::
the pack data begins. Some clients and networks may consider
the server to be hung and give up. Setting this option instructs
`upload-pack` to send an empty keepalive packet every
- `uploadpack.keepalive` seconds. Setting this option to 0
+ `uploadpack.keepAlive` seconds. Setting this option to 0
disables keepalive packets entirely. The default is 5 seconds.
url.<base>.insteadOf::
@@ -2551,13 +2583,25 @@ user.name::
Can be overridden by the 'GIT_AUTHOR_NAME' and 'GIT_COMMITTER_NAME'
environment variables. See linkgit:git-commit-tree[1].
-user.signingkey::
+user.signingKey::
If linkgit:git-tag[1] or linkgit:git-commit[1] is not selecting the
key you want it to automatically when creating a signed tag or
commit, you can override the default selection with this variable.
This option is passed unchanged to gpg's --local-user parameter,
so you may specify a key using any method that gpg supports.
+versionsort.prereleaseSuffix::
+ When version sort is used in linkgit:git-tag[1], prerelease
+ tags (e.g. "1.0-rc1") may appear after the main release
+ "1.0". By specifying the suffix "-rc" in this variable,
+ "1.0-rc1" will appear before "1.0".
++
+This variable can be specified multiple times, once per suffix. The
+order of suffixes in the config file determines the sorting order
+(e.g. if "-pre" appears before "-rc" in the config file then 1.0-preXX
+is sorted before 1.0-rcXX). The sorting order between different
+suffixes is undefined if they are in multiple config files.
+
web.browser::
Specify a web browser that may be used by some commands.
Currently only linkgit:git-instaweb[1] and linkgit:git-help[1]
diff --git a/Documentation/diff-config.txt b/Documentation/diff-config.txt
index b001779520..6eaa45271c 100644
--- a/Documentation/diff-config.txt
+++ b/Documentation/diff-config.txt
@@ -1,4 +1,4 @@
-diff.autorefreshindex::
+diff.autoRefreshIndex::
When using 'git diff' to compare with work tree
files, do not consider stat-only change as changed.
Instead, silently run `git update-index --refresh` to
@@ -75,11 +75,11 @@ diff.ignoreSubmodules::
commands such as 'git diff-files'. 'git checkout' also honors
this setting when reporting uncommitted changes. Setting it to
'all' disables the submodule summary normally shown by 'git commit'
- and 'git status' when 'status.submodulesummary' is set unless it is
+ and 'git status' when 'status.submoduleSummary' is set unless it is
overridden by using the --ignore-submodules command-line option.
The 'git submodule' commands are not affected by this setting.
-diff.mnemonicprefix::
+diff.mnemonicPrefix::
If set, 'git diff' uses a prefix pair that is different from the
standard "a/" and "b/" depending on what is being compared. When
this configuration is in effect, reverse diff output also swaps
@@ -98,7 +98,7 @@ diff.mnemonicprefix::
diff.noprefix::
If set, 'git diff' does not show any source or destination prefix.
-diff.orderfile::
+diff.orderFile::
File indicating how to order files within a diff, using
one shell glob pattern per line.
Can be overridden by the '-O' option to linkgit:git-diff[1].
@@ -148,7 +148,7 @@ diff.<driver>.textconv::
conversion is used to generate a human-readable diff. See
linkgit:gitattributes[5] for details.
-diff.<driver>.wordregex::
+diff.<driver>.wordRegex::
The regular expression that the diff driver should use to
split words in a line. See linkgit:gitattributes[5] for
details.
diff --git a/Documentation/diff-options.txt b/Documentation/diff-options.txt
index 6cb083aae5..ccd499867b 100644
--- a/Documentation/diff-options.txt
+++ b/Documentation/diff-options.txt
@@ -432,8 +432,8 @@ endif::git-format-patch[]
-O<orderfile>::
Output the patch in the order specified in the
<orderfile>, which has one shell glob pattern per line.
- This overrides the `diff.orderfile` configuration variable
- (see linkgit:git-config[1]). To cancel `diff.orderfile`,
+ This overrides the `diff.orderFile` configuration variable
+ (see linkgit:git-config[1]). To cancel `diff.orderFile`,
use `-O/dev/null`.
ifndef::git-format-patch[]
diff --git a/Documentation/fetch-options.txt b/Documentation/fetch-options.txt
index b09a783ee3..45583d8454 100644
--- a/Documentation/fetch-options.txt
+++ b/Documentation/fetch-options.txt
@@ -68,7 +68,7 @@ endif::git-pull[]
By default, tags that point at objects that are downloaded
from the remote repository are fetched and stored locally.
This option disables this automatic tag following. The default
- behavior for a remote may be specified with the remote.<name>.tagopt
+ behavior for a remote may be specified with the remote.<name>.tagOpt
setting. See linkgit:git-config[1].
ifndef::git-pull[]
diff --git a/Documentation/git-add.txt b/Documentation/git-add.txt
index 1c74907dd4..f2eb9076d7 100644
--- a/Documentation/git-add.txt
+++ b/Documentation/git-add.txt
@@ -173,7 +173,7 @@ for "git add --no-all <pathspec>...", i.e. ignored removed files.
Configuration
-------------
-The optional configuration variable `core.excludesfile` indicates a path to a
+The optional configuration variable `core.excludesFile` indicates a path to a
file containing patterns of file names to exclude from git-add, similar to
$GIT_DIR/info/exclude. Patterns in the exclude file are used in addition to
those in info/exclude. See linkgit:gitignore[5].
@@ -317,7 +317,7 @@ After deciding the fate for all hunks, if there is any hunk
that was chosen, the index is updated with the selected hunks.
+
You can omit having to type return here, by setting the configuration
-variable `interactive.singlekey` to `true`.
+variable `interactive.singleKey` to `true`.
diff::
diff --git a/Documentation/git-apply.txt b/Documentation/git-apply.txt
index 9489664cfa..d9ed6a1a4e 100644
--- a/Documentation/git-apply.txt
+++ b/Documentation/git-apply.txt
@@ -242,7 +242,7 @@ has no effect when `--index` or `--cached` is in use.
Configuration
-------------
-apply.ignorewhitespace::
+apply.ignoreWhitespace::
Set to 'change' if you want changes in whitespace to be ignored by default.
Set to one of: no, none, never, false if you want changes in
whitespace to be significant.
diff --git a/Documentation/git-branch.txt b/Documentation/git-branch.txt
index 311b33674e..359619b552 100644
--- a/Documentation/git-branch.txt
+++ b/Documentation/git-branch.txt
@@ -51,7 +51,7 @@ When a local branch is started off a remote-tracking branch, Git sets up the
branch (specifically the `branch.<name>.remote` and `branch.<name>.merge`
configuration entries) so that 'git pull' will appropriately merge from
the remote-tracking branch. This behavior may be changed via the global
-`branch.autosetupmerge` configuration flag. That setting can be
+`branch.autoSetupMerge` configuration flag. That setting can be
overridden by using the `--track` and `--no-track` options, and
changed later using `git branch --set-upstream-to`.
@@ -166,14 +166,14 @@ This option is only applicable in non-verbose mode.
upstream when the new branch is checked out.
+
This behavior is the default when the start point is a remote-tracking branch.
-Set the branch.autosetupmerge configuration variable to `false` if you
+Set the branch.autoSetupMerge configuration variable to `false` if you
want `git checkout` and `git branch` to always behave as if '--no-track'
were given. Set it to `always` if you want this behavior when the
start-point is either a local or remote-tracking branch.
--no-track::
Do not set up "upstream" configuration, even if the
- branch.autosetupmerge configuration variable is true.
+ branch.autoSetupMerge configuration variable is true.
--set-upstream::
If specified branch does not exist yet or if `--force` has been
diff --git a/Documentation/git-check-ignore.txt b/Documentation/git-check-ignore.txt
index 788a011580..e35cd0489b 100644
--- a/Documentation/git-check-ignore.txt
+++ b/Documentation/git-check-ignore.txt
@@ -72,7 +72,7 @@ matching pattern, <source> is the pattern's source file, and <linenum>
is the line number of the pattern within that source. If the pattern
contained a `!` prefix or `/` suffix, it will be preserved in the
output. <source> will be an absolute path when referring to the file
-configured by `core.excludesfile`, or relative to the repository root
+configured by `core.excludesFile`, or relative to the repository root
when referring to `.git/info/exclude` or a per-directory exclude file.
If `-z` is specified, the pathnames in the output are delimited by the
diff --git a/Documentation/git-checkout.txt b/Documentation/git-checkout.txt
index 33ad2adf5c..d5041082e8 100644
--- a/Documentation/git-checkout.txt
+++ b/Documentation/git-checkout.txt
@@ -144,7 +144,7 @@ explicitly give a name with '-b' in such a case.
--no-track::
Do not set up "upstream" configuration, even if the
- branch.autosetupmerge configuration variable is true.
+ branch.autoSetupMerge configuration variable is true.
-l::
Create the new branch's reflog; see linkgit:git-branch[1] for
@@ -210,7 +210,7 @@ the conflicted merge in the specified paths.
--conflict=<style>::
The same as --merge option above, but changes the way the
conflicting hunks are presented, overriding the
- merge.conflictstyle configuration variable. Possible values are
+ merge.conflictStyle configuration variable. Possible values are
"merge" (default) and "diff3" (in addition to what is shown by
"merge" style, shows the original contents).
diff --git a/Documentation/git-commit-tree.txt b/Documentation/git-commit-tree.txt
index a469eab066..f5f2a8d326 100644
--- a/Documentation/git-commit-tree.txt
+++ b/Documentation/git-commit-tree.txt
@@ -59,7 +59,7 @@ OPTIONS
GPG-sign commit.
--no-gpg-sign::
- Countermand `commit.gpgsign` configuration variable that is
+ Countermand `commit.gpgSign` configuration variable that is
set to force each and every commit to be signed.
diff --git a/Documentation/git-commit.txt b/Documentation/git-commit.txt
index 1e74b75d38..617e29b38b 100644
--- a/Documentation/git-commit.txt
+++ b/Documentation/git-commit.txt
@@ -284,6 +284,10 @@ configuration variable documented in linkgit:git-config[1].
would be committed at the bottom of the commit message
template. Note that this diff output doesn't have its
lines prefixed with '#'.
++
+If specified twice, show in addition the unified diff between
+what would be committed and the worktree files, i.e. the unstaged
+changes to tracked files.
-q::
--quiet::
@@ -310,7 +314,7 @@ configuration variable documented in linkgit:git-config[1].
GPG-sign commit.
--no-gpg-sign::
- Countermand `commit.gpgsign` configuration variable that is
+ Countermand `commit.gpgSign` configuration variable that is
set to force each and every commit to be signed.
\--::
diff --git a/Documentation/git-config.txt b/Documentation/git-config.txt
index 9dfa1a5ce2..02ec096faa 100644
--- a/Documentation/git-config.txt
+++ b/Documentation/git-config.txt
@@ -405,7 +405,7 @@ true
% git config --bool --get-urlmatch http.sslverify https://weak.example.com
false
% git config --get-urlmatch http https://weak.example.com
-http.cookiefile /tmp/cookie.txt
+http.cookieFile /tmp/cookie.txt
http.sslverify false
------------
diff --git a/Documentation/git-cvsserver.txt b/Documentation/git-cvsserver.txt
index 4961f1abda..db4d7a917c 100644
--- a/Documentation/git-cvsserver.txt
+++ b/Documentation/git-cvsserver.txt
@@ -154,7 +154,7 @@ with CVS_SERVER (and shouldn't) as 'git-shell' understands `cvs` to mean
[gitcvs]
enabled=1
# optional for debugging
- logfile=/path/to/logfile
+ logFile=/path/to/logfile
------
Note: you need to ensure each user that is going to invoke 'git-cvsserver' has
@@ -254,14 +254,14 @@ Configuring database backend
its documentation if changing these variables, especially
about `DBI->connect()`.
-gitcvs.dbname::
+gitcvs.dbName::
Database name. The exact meaning depends on the
selected database driver, for SQLite this is a filename.
Supports variable substitution (see below). May
not contain semicolons (`;`).
Default: '%Ggitcvs.%m.sqlite'
-gitcvs.dbdriver::
+gitcvs.dbDriver::
Used DBI driver. You can specify any available driver
for this here, but it might not work. cvsserver is tested
with 'DBD::SQLite', reported to work with
@@ -271,12 +271,12 @@ gitcvs.dbdriver::
Default: 'SQLite'
gitcvs.dbuser::
- Database user. Only useful if setting `dbdriver`, since
+ Database user. Only useful if setting `dbDriver`, since
SQLite has no concept of database users. Supports variable
substitution (see below).
-gitcvs.dbpass::
- Database password. Only useful if setting `dbdriver`, since
+gitcvs.dbPass::
+ Database password. Only useful if setting `dbDriver`, since
SQLite has no concept of database passwords.
gitcvs.dbTableNamePrefix::
@@ -288,7 +288,7 @@ All variables can also be set per access method, see <<configaccessmethod,above>
Variable substitution
^^^^^^^^^^^^^^^^^^^^^
-In `dbdriver` and `dbuser` you can use the following variables:
+In `dbDriver` and `dbUser` you can use the following variables:
%G::
Git directory name
@@ -413,16 +413,16 @@ about end-of-line conversion.
Alternatively, if `gitcvs.usecrlfattr` config is not enabled
or the attributes do not allow automatic detection for a filename, then
-the server uses the `gitcvs.allbinary` config for the default setting.
-If `gitcvs.allbinary` is set, then file not otherwise
+the server uses the `gitcvs.allBinary` config for the default setting.
+If `gitcvs.allBinary` is set, then file not otherwise
specified will default to '-kb' mode. Otherwise the '-k' mode
-is left blank. But if `gitcvs.allbinary` is set to "guess", then
+is left blank. But if `gitcvs.allBinary` is set to "guess", then
the correct '-k' mode will be guessed based on the contents of
the file.
For best consistency with 'cvs', it is probably best to override the
defaults by setting `gitcvs.usecrlfattr` to true,
-and `gitcvs.allbinary` to "guess".
+and `gitcvs.allBinary` to "guess".
Dependencies
------------
diff --git a/Documentation/git-fetch.txt b/Documentation/git-fetch.txt
index 8deb61469d..e62d9a0717 100644
--- a/Documentation/git-fetch.txt
+++ b/Documentation/git-fetch.txt
@@ -26,7 +26,7 @@ By default, any tag that points into the histories being fetched is
also fetched; the effect is to fetch tags that
point at branches that you are interested in. This default behavior
can be changed by using the --tags or --no-tags options or by
-configuring remote.<name>.tagopt. By using a refspec that fetches tags
+configuring remote.<name>.tagOpt. By using a refspec that fetches tags
explicitly, you can fetch tags that do not point into branches you
are interested in as well.
diff --git a/Documentation/git-format-patch.txt b/Documentation/git-format-patch.txt
index c0fd470da4..bb3ea9372f 100644
--- a/Documentation/git-format-patch.txt
+++ b/Documentation/git-format-patch.txt
@@ -273,13 +273,13 @@ attachments, and sign off patches with configuration variables.
------------
[format]
headers = "Organization: git-foo\n"
- subjectprefix = CHANGE
+ subjectPrefix = CHANGE
suffix = .txt
numbered = auto
to = <email>
cc = <email>
attach [ = mime-boundary-string ]
- signoff = true
+ signOff = true
coverletter = auto
------------
diff --git a/Documentation/git-gc.txt b/Documentation/git-gc.txt
index 273c4663c8..52234987f9 100644
--- a/Documentation/git-gc.txt
+++ b/Documentation/git-gc.txt
@@ -54,10 +54,10 @@ all loose objects are combined into a single pack using
`git repack -d -l`. Setting the value of `gc.auto` to 0
disables automatic packing of loose objects.
+
-If the number of packs exceeds the value of `gc.autopacklimit`,
+If the number of packs exceeds the value of `gc.autoPackLimit`,
then existing packs (except those marked with a `.keep` file)
are consolidated into a single pack by using the `-A` option of
-'git repack'. Setting `gc.autopacklimit` to 0 disables
+'git repack'. Setting `gc.autoPackLimit` to 0 disables
automatic consolidation of packs.
--prune=<date>::
@@ -101,18 +101,18 @@ branches:
------------
[gc "refs/remotes/*"]
reflogExpire = never
- reflogexpireUnreachable = 3 days
+ reflogExpireUnreachable = 3 days
------------
-The optional configuration variable 'gc.rerereresolved' indicates
+The optional configuration variable 'gc.rerereResolved' indicates
how long records of conflicted merge you resolved earlier are
kept. This defaults to 60 days.
-The optional configuration variable 'gc.rerereunresolved' indicates
+The optional configuration variable 'gc.rerereUnresolved' indicates
how long records of conflicted merge you have not resolved are
kept. This defaults to 15 days.
-The optional configuration variable 'gc.packrefs' determines if
+The optional configuration variable 'gc.packRefs' determines if
'git gc' runs 'git pack-refs'. This can be set to "notbare" to enable
it within all non-bare repos or it can be set to a boolean value.
This defaults to true.
diff --git a/Documentation/git-imap-send.txt b/Documentation/git-imap-send.txt
index 77aacf1309..5d1e4c80cd 100644
--- a/Documentation/git-imap-send.txt
+++ b/Documentation/git-imap-send.txt
@@ -44,7 +44,8 @@ OPTIONS
--no-curl::
Talk to the IMAP server using git's own IMAP routines instead of
- using libcurl.
+ using libcurl. Ignored if Git was built with the NO_OPENSSL option
+ set.
CONFIGURATION
diff --git a/Documentation/git-init.txt b/Documentation/git-init.txt
index 369f889bb4..8174d27efd 100644
--- a/Documentation/git-init.txt
+++ b/Documentation/git-init.txt
@@ -125,7 +125,7 @@ The template directory will be one of the following (in order):
- the contents of the `$GIT_TEMPLATE_DIR` environment variable;
- - the `init.templatedir` configuration variable; or
+ - the `init.templateDir` configuration variable; or
- the default template directory: `/usr/share/git-core/templates`.
diff --git a/Documentation/git-instaweb.txt b/Documentation/git-instaweb.txt
index f3eef510f2..cc75b25022 100644
--- a/Documentation/git-instaweb.txt
+++ b/Documentation/git-instaweb.txt
@@ -76,7 +76,7 @@ You may specify configuration in your .git/config
httpd = apache2 -f
port = 4321
browser = konqueror
- modulepath = /usr/lib/apache2/modules
+ modulePath = /usr/lib/apache2/modules
-----------------------------------------------------------------------
diff --git a/Documentation/git-log.txt b/Documentation/git-log.txt
index 1f7bc67d6c..18bc716a0c 100644
--- a/Documentation/git-log.txt
+++ b/Documentation/git-log.txt
@@ -184,7 +184,7 @@ log.date::
`--date` option.) Defaults to "default", which means to write
dates like `Sat May 8 19:35:34 2010 -0500`.
-log.showroot::
+log.showRoot::
If `false`, `git log` and related commands will not treat the
initial commit as a big creation event. Any root commits in
`git log -p` output would be shown without a diff attached.
diff --git a/Documentation/git-merge.txt b/Documentation/git-merge.txt
index cf2c374b71..1f94908e3c 100644
--- a/Documentation/git-merge.txt
+++ b/Documentation/git-merge.txt
@@ -232,7 +232,7 @@ Barbie's remark on your side. The only thing you can tell is that your
side wants to say it is hard and you'd prefer to go shopping, while the
other side wants to claim it is easy.
-An alternative style can be used by setting the "merge.conflictstyle"
+An alternative style can be used by setting the "merge.conflictStyle"
configuration variable to "diff3". In "diff3" style, the above conflict
may look like this:
@@ -329,7 +329,7 @@ CONFIGURATION
-------------
include::merge-config.txt[]
-branch.<name>.mergeoptions::
+branch.<name>.mergeOptions::
Sets default options for merging into branch <name>. The syntax and
supported options are the same as those of 'git merge', but option
values containing whitespace characters are currently not supported.
diff --git a/Documentation/git-pull.txt b/Documentation/git-pull.txt
index 200eb22260..d3d236cd1f 100644
--- a/Documentation/git-pull.txt
+++ b/Documentation/git-pull.txt
@@ -117,7 +117,7 @@ locally created merge commits will not be flattened.
+
When false, merge the current branch into the upstream branch.
+
-See `pull.rebase`, `branch.<name>.rebase` and `branch.autosetuprebase` in
+See `pull.rebase`, `branch.<name>.rebase` and `branch.autoSetupRebase` in
linkgit:git-config[1] if you want to make `git pull` always use
`--rebase` instead of merging.
+
diff --git a/Documentation/git-push.txt b/Documentation/git-push.txt
index e1a46a7958..5171086181 100644
--- a/Documentation/git-push.txt
+++ b/Documentation/git-push.txt
@@ -128,7 +128,10 @@ already exists on the remote side.
Push all the refs that would be pushed without this option,
and also push annotated tags in `refs/tags` that are missing
from the remote but are pointing at commit-ish that are
- reachable from the refs being pushed.
+ reachable from the refs being pushed. This can also be specified
+ with configuration variable 'push.followTags'. For more
+ information, see 'push.followTags' in linkgit:git-config[1].
+
--signed::
GPG-sign the push request to update refs on the receiving
diff --git a/Documentation/git-rebase.txt b/Documentation/git-rebase.txt
index 924827dc2e..d728030590 100644
--- a/Documentation/git-rebase.txt
+++ b/Documentation/git-rebase.txt
@@ -207,10 +207,10 @@ rebase.stat::
Whether to show a diffstat of what changed upstream since the last
rebase. False by default.
-rebase.autosquash::
+rebase.autoSquash::
If set to true enable '--autosquash' option by default.
-rebase.autostash::
+rebase.autoStash::
If set to true enable '--autostash' option by default.
OPTIONS
@@ -414,7 +414,7 @@ squash/fixup series.
This option is only valid when the '--interactive' option is used.
+
If the '--autosquash' option is enabled by default using the
-configuration variable `rebase.autosquash`, this option can be
+configuration variable `rebase.autoSquash`, this option can be
used to override and disable this setting.
--[no-]autostash::
diff --git a/Documentation/git-receive-pack.txt b/Documentation/git-receive-pack.txt
index 9016960e27..000ee8dba2 100644
--- a/Documentation/git-receive-pack.txt
+++ b/Documentation/git-receive-pack.txt
@@ -100,7 +100,7 @@ the following environment variables:
starting time is different by this many seconds from the
current session. Only meaningful when
`GIT_PUSH_CERT_NONCE_STATUS` says `SLOP`.
- Also read about `receive.certnonceslop` variable in
+ Also read about `receive.certNonceSlop` variable in
linkgit:git-config[1].
This hook is called before any refname is updated and before any
diff --git a/Documentation/git-repack.txt b/Documentation/git-repack.txt
index 4786a780b5..0e0bd363d6 100644
--- a/Documentation/git-repack.txt
+++ b/Documentation/git-repack.txt
@@ -115,7 +115,7 @@ other objects in that pack they already have locally.
Write a reachability bitmap index as part of the repack. This
only makes sense when used with `-a` or `-A`, as the bitmaps
must be able to refer to all reachable objects. This option
- overrides the setting of `pack.writebitmaps`.
+ overrides the setting of `pack.writeBitmaps`.
--pack-kept-objects::
Include objects in `.keep` files when repacking. Note that we
@@ -123,7 +123,7 @@ other objects in that pack they already have locally.
This means that we may duplicate objects, but this makes the
option safe to use when there are concurrent pushes or fetches.
This option is generally only useful if you are writing bitmaps
- with `-b` or `pack.writebitmaps`, as it ensures that the
+ with `-b` or `pack.writeBitmaps`, as it ensures that the
bitmapped packfile has the necessary objects.
Configuration
diff --git a/Documentation/git-rerere.txt b/Documentation/git-rerere.txt
index a62227f84e..9ee083c415 100644
--- a/Documentation/git-rerere.txt
+++ b/Documentation/git-rerere.txt
@@ -69,7 +69,7 @@ Prune records of conflicted merges that
occurred a long time ago. By default, unresolved conflicts older
than 15 days and resolved conflicts older than 60
days are pruned. These defaults are controlled via the
-`gc.rerereunresolved` and `gc.rerereresolved` configuration
+`gc.rerereUnresolved` and `gc.rerereResolved` configuration
variables respectively.
diff --git a/Documentation/git-send-email.txt b/Documentation/git-send-email.txt
index f248a8665e..804554609d 100644
--- a/Documentation/git-send-email.txt
+++ b/Documentation/git-send-email.txt
@@ -47,7 +47,7 @@ Composing
--annotate::
Review and edit each patch you're about to send. Default is the value
of 'sendemail.annotate'. See the CONFIGURATION section for
- 'sendemail.multiedit'.
+ 'sendemail.multiEdit'.
--bcc=<address>::
Specify a "Bcc:" value for each email. Default is the value of
@@ -73,7 +73,7 @@ and In-Reply-To headers will be used unless they are removed.
+
Missing From or In-Reply-To headers will be prompted for.
+
-See the CONFIGURATION section for 'sendemail.multiedit'.
+See the CONFIGURATION section for 'sendemail.multiEdit'.
--from=<address>::
Specify the sender of the emails. If not specified on the command line,
@@ -156,31 +156,31 @@ Sending
subscribed to a list. In order to use the 'From' address, set the
value to "auto". If you use the sendmail binary, you must have
suitable privileges for the -f parameter. Default is the value of the
- 'sendemail.envelopesender' configuration variable; if that is
+ 'sendemail.envelopeSender' configuration variable; if that is
unspecified, choosing the envelope sender is left to your MTA.
--smtp-encryption=<encryption>::
Specify the encryption to use, either 'ssl' or 'tls'. Any other
value reverts to plain SMTP. Default is the value of
- 'sendemail.smtpencryption'.
+ 'sendemail.smtpEncryption'.
--smtp-domain=<FQDN>::
Specifies the Fully Qualified Domain Name (FQDN) used in the
HELO/EHLO command to the SMTP server. Some servers require the
FQDN to match your IP address. If not set, git send-email attempts
to determine your FQDN automatically. Default is the value of
- 'sendemail.smtpdomain'.
+ 'sendemail.smtpDomain'.
--smtp-pass[=<password>]::
Password for SMTP-AUTH. The argument is optional: If no
argument is specified, then the empty string is used as
- the password. Default is the value of 'sendemail.smtppass',
+ the password. Default is the value of 'sendemail.smtpPass',
however '--smtp-pass' always overrides this value.
+
Furthermore, passwords need not be specified in configuration files
or on the command line. If a username has been specified (with
-'--smtp-user' or a 'sendemail.smtpuser'), but no password has been
-specified (with '--smtp-pass' or 'sendemail.smtppass'), then
+'--smtp-user' or a 'sendemail.smtpUser'), but no password has been
+specified (with '--smtp-pass' or 'sendemail.smtpPass'), then
a password is obtained using 'git-credential'.
--smtp-server=<host>::
@@ -188,7 +188,7 @@ a password is obtained using 'git-credential'.
`smtp.example.com` or a raw IP address). Alternatively it can
specify a full pathname of a sendmail-like program instead;
the program must support the `-i` option. Default value can
- be specified by the 'sendemail.smtpserver' configuration
+ be specified by the 'sendemail.smtpServer' configuration
option; the built-in default is `/usr/sbin/sendmail` or
`/usr/lib/sendmail` if such program is available, or
`localhost` otherwise.
@@ -199,11 +199,11 @@ a password is obtained using 'git-credential'.
submission port 587, or the common SSL smtp port 465);
symbolic port names (e.g. "submission" instead of 587)
are also accepted. The port can also be set with the
- 'sendemail.smtpserverport' configuration variable.
+ 'sendemail.smtpServerPort' configuration variable.
--smtp-server-option=<option>::
If set, specifies the outgoing SMTP server option to use.
- Default value can be specified by the 'sendemail.smtpserveroption'
+ Default value can be specified by the 'sendemail.smtpServerOption'
configuration option.
+
The --smtp-server-option option must be repeated for each option you want
@@ -225,8 +225,8 @@ must be used for each option.
be the best choice on most platforms).
--smtp-user=<user>::
- Username for SMTP-AUTH. Default is the value of 'sendemail.smtpuser';
- if a username is not specified (with '--smtp-user' or 'sendemail.smtpuser'),
+ Username for SMTP-AUTH. Default is the value of 'sendemail.smtpUser';
+ if a username is not specified (with '--smtp-user' or 'sendemail.smtpUser'),
then authentication is not attempted.
--smtp-debug=0|1::
@@ -247,14 +247,14 @@ Automating
Specify a command to execute once per patch file which
should generate patch file specific "Cc:" entries.
Output of this command must be single email address per line.
- Default is the value of 'sendemail.cccmd' configuration value.
+ Default is the value of 'sendemail.ccCmd' configuration value.
--[no-]chain-reply-to::
If this is set, each email will be sent as a reply to the previous
email sent. If disabled with "--no-chain-reply-to", all emails after
the first will be sent as replies to the first email sent. When using
this, it is recommended that the first file given be an overview of the
- entire patch series. Disabled by default, but the 'sendemail.chainreplyto'
+ entire patch series. Disabled by default, but the 'sendemail.chainReplyTo'
configuration variable can be used to enable it.
--identity=<identity>::
@@ -304,7 +304,7 @@ specified, as well as 'body' if --no-signed-off-cc is specified.
--[no-]suppress-from::
If this is set, do not add the From: address to the cc: list.
- Default is the value of 'sendemail.suppressfrom' configuration
+ Default is the value of 'sendemail.suppressFrom' configuration
value; if that is unspecified, default to --no-suppress-from.
--[no-]thread::
@@ -377,15 +377,15 @@ default to '--validate'.
CONFIGURATION
-------------
-sendemail.aliasesfile::
+sendemail.aliasesFile::
To avoid typing long email addresses, point this to one or more
- email aliases files. You must also supply 'sendemail.aliasfiletype'.
+ email aliases files. You must also supply 'sendemail.aliasFileType'.
-sendemail.aliasfiletype::
- Format of the file(s) specified in sendemail.aliasesfile. Must be
+sendemail.aliasFileType::
+ Format of the file(s) specified in sendemail.aliasesFile. Must be
one of 'mutt', 'mailrc', 'pine', 'elm', or 'gnus'.
-sendemail.multiedit::
+sendemail.multiEdit::
If true (default), a single editor instance will be spawned to edit
files you have to edit (patches when '--annotate' is used, and the
summary when '--compose' is used). If false, files will be edited one
@@ -404,10 +404,10 @@ To use 'git send-email' to send your patches through the GMail SMTP server,
edit ~/.gitconfig to specify your account settings:
[sendemail]
- smtpencryption = tls
- smtpserver = smtp.gmail.com
- smtpuser = yourname@gmail.com
- smtpserverport = 587
+ smtpEncryption = tls
+ smtpServer = smtp.gmail.com
+ smtpUser = yourname@gmail.com
+ smtpServerPort = 587
Once your commits are ready to be sent to the mailing list, run the
following commands:
diff --git a/Documentation/git-status.txt b/Documentation/git-status.txt
index 4d8d530d35..b3319f7c2a 100644
--- a/Documentation/git-status.txt
+++ b/Documentation/git-status.txt
@@ -77,7 +77,7 @@ configuration variable documented in linkgit:git-config[1].
only changes to the commits stored in the superproject are shown (this was
the behavior before 1.7.0). Using "all" hides all changes to submodules
(and suppresses the output of submodule summaries when the config option
- `status.submodulesummary` is set).
+ `status.submoduleSummary` is set).
--ignored::
Show ignored files as well.
@@ -207,7 +207,7 @@ If the config variable `status.relativePaths` is set to false, then all
paths shown are relative to the repository root, not to the current
directory.
-If `status.submodulesummary` is set to a non zero number or true (identical
+If `status.submoduleSummary` is set to a non zero number or true (identical
to -1 or an unlimited number), the submodule summary will be enabled for
the long format and a summary of commits for modified submodules will be
shown (see --summary-limit option of linkgit:git-submodule[1]). Please note
diff --git a/Documentation/git-tag.txt b/Documentation/git-tag.txt
index e953ba4439..bfba4ef078 100644
--- a/Documentation/git-tag.txt
+++ b/Documentation/git-tag.txt
@@ -161,7 +161,7 @@ it in the repository configuration as follows:
-------------------------------------
[user]
- signingkey = <gpg-key-id>
+ signingKey = <gpg-key-id>
-------------------------------------
diff --git a/Documentation/git.txt b/Documentation/git.txt
index 52c4d2a7c9..8837862908 100644
--- a/Documentation/git.txt
+++ b/Documentation/git.txt
@@ -43,9 +43,11 @@ unreleased) version of Git, that is available from the 'master'
branch of the `git.git` repository.
Documentation for older releases are available here:
-* link:v2.3.2/git.html[documentation for release 2.3.2]
+* link:v2.3.4/git.html[documentation for release 2.3.4]
* release notes for
+ link:RelNotes/2.3.4.txt[2.3.4],
+ link:RelNotes/2.3.3.txt[2.3.3],
link:RelNotes/2.3.2.txt[2.3.2],
link:RelNotes/2.3.1.txt[2.3.1],
link:RelNotes/2.3.0.txt[2.3].
@@ -767,7 +769,8 @@ Git so take care if using Cogito etc.
'GIT_INDEX_VERSION'::
This environment variable allows the specification of an index
version for new repositories. It won't affect existing index
- files. By default index file version [23] is used.
+ files. By default index file version 2 or 3 is used. See
+ linkgit:git-update-index[1] for more information.
'GIT_OBJECT_DIRECTORY'::
If the object storage directory is specified via this
@@ -918,7 +921,7 @@ for further details.
If this environment variable is set, then Git commands which need to
acquire passwords or passphrases (e.g. for HTTP or IMAP authentication)
will call this program with a suitable prompt as command-line argument
- and read the password from its STDOUT. See also the 'core.askpass'
+ and read the password from its STDOUT. See also the 'core.askPass'
option in linkgit:git-config[1].
'GIT_TERMINAL_PROMPT'::
@@ -1025,6 +1028,17 @@ GIT_ICASE_PATHSPECS::
variable when it is invoked as the top level command by the
end user, to be recorded in the body of the reflog.
+`GIT_REF_PARANOIA`::
+ If set to `1`, include broken or badly named refs when iterating
+ over lists of refs. In a normal, non-corrupted repository, this
+ does nothing. However, enabling it may help git to detect and
+ abort some operations in the presence of broken refs. Git sets
+ this variable automatically when performing destructive
+ operations like linkgit:git-prune[1]. You should not need to set
+ it yourself unless you want to be paranoid about making sure
+ an operation has touched every ref (e.g., because you are
+ cloning a repository to make a backup).
+
Discussion[[Discussion]]
------------------------
diff --git a/Documentation/gitattributes.txt b/Documentation/gitattributes.txt
index c892ffa5ce..70899b3023 100644
--- a/Documentation/gitattributes.txt
+++ b/Documentation/gitattributes.txt
@@ -80,7 +80,7 @@ Attributes which should be version-controlled and distributed to other
repositories (i.e., attributes of interest to all users) should go into
`.gitattributes` files. Attributes that should affect all repositories
for a single user should be placed in a file specified by the
-`core.attributesfile` configuration option (see linkgit:git-config[1]).
+`core.attributesFile` configuration option (see linkgit:git-config[1]).
Its default value is $XDG_CONFIG_HOME/git/attributes. If $XDG_CONFIG_HOME
is either not set or empty, $HOME/.config/git/attributes is used instead.
Attributes for all users on a system should be placed in the
diff --git a/Documentation/gitcredentials.txt b/Documentation/gitcredentials.txt
index 47576be5db..1c75be0803 100644
--- a/Documentation/gitcredentials.txt
+++ b/Documentation/gitcredentials.txt
@@ -32,7 +32,7 @@ strategies to ask the user for usernames and passwords:
to the program on the command line, and the user's input is read
from its standard output.
-2. Otherwise, if the `core.askpass` configuration variable is set, its
+2. Otherwise, if the `core.askPass` configuration variable is set, its
value is used as above.
3. Otherwise, if the `SSH_ASKPASS` environment variable is set, its
diff --git a/Documentation/gitignore.txt b/Documentation/gitignore.txt
index 4fd04423e9..473623d631 100644
--- a/Documentation/gitignore.txt
+++ b/Documentation/gitignore.txt
@@ -38,7 +38,7 @@ precedence, the last matching pattern decides the outcome):
* Patterns read from `$GIT_DIR/info/exclude`.
* Patterns read from the file specified by the configuration
- variable 'core.excludesfile'.
+ variable 'core.excludesFile'.
Which file to place a pattern in depends on how the pattern is meant to
be used.
@@ -56,7 +56,7 @@ be used.
* Patterns which a user wants Git to
ignore in all situations (e.g., backup or temporary files generated by
the user's editor of choice) generally go into a file specified by
- `core.excludesfile` in the user's `~/.gitconfig`. Its default value is
+ `core.excludesFile` in the user's `~/.gitconfig`. Its default value is
$XDG_CONFIG_HOME/git/ignore. If $XDG_CONFIG_HOME is either not set or
empty, $HOME/.config/git/ignore is used instead.
diff --git a/Documentation/gitweb.conf.txt b/Documentation/gitweb.conf.txt
index ebe7a6c24c..0506f07d74 100644
--- a/Documentation/gitweb.conf.txt
+++ b/Documentation/gitweb.conf.txt
@@ -706,7 +706,7 @@ show-sizes::
I/O. Enabled by default.
+
This feature can be configured on a per-repository basis via
-repository's `gitweb.showsizes` configuration variable (boolean).
+repository's `gitweb.showSizes` configuration variable (boolean).
patches::
Enable and configure "patches" view, which displays list of commits in email
diff --git a/Documentation/merge-config.txt b/Documentation/merge-config.txt
index d78d6d854e..8a0e52f8ee 100644
--- a/Documentation/merge-config.txt
+++ b/Documentation/merge-config.txt
@@ -1,4 +1,4 @@
-merge.conflictstyle::
+merge.conflictStyle::
Specify the style in which conflicted hunks are written out to
working tree files upon merge. The default is "merge", which
shows a `<<<<<<<` conflict marker, changes made by one side,
diff --git a/Documentation/rev-list-options.txt b/Documentation/rev-list-options.txt
index 4ed8587c84..f620ee4e1c 100644
--- a/Documentation/rev-list-options.txt
+++ b/Documentation/rev-list-options.txt
@@ -123,7 +123,8 @@ parents) and `--max-parents=-1` (negative numbers denote no upper limit).
because merges into a topic branch tend to be only about
adjusting to updated upstream from time to time, and
this option allows you to ignore the individual commits
- brought in to your history by such a merge.
+ brought in to your history by such a merge. Cannot be
+ combined with --bisect.
--not::
Reverses the meaning of the '{caret}' prefix (or lack thereof)
@@ -185,7 +186,7 @@ ifndef::git-rev-list[]
Pretend as if the bad bisection ref `refs/bisect/bad`
was listed and as if it was followed by `--not` and the good
bisection refs `refs/bisect/good-*` on the command
- line.
+ line. Cannot be combined with --first-parent.
endif::git-rev-list[]
--stdin::
@@ -566,7 +567,7 @@ outputs 'midpoint', the output of the two commands
would be of roughly the same length. Finding the change which
introduces a regression is thus reduced to a binary search: repeatedly
generate and test new 'midpoint's until the commit chain is of length
-one.
+one. Cannot be combined with --first-parent.
--bisect-vars::
This calculates the same as `--bisect`, except that refs in
@@ -679,6 +680,7 @@ endif::git-rev-list[]
given on the command line. Otherwise (if `sorted` or no argument
was given), the commits are shown in reverse chronological order
by commit time.
+ Cannot be combined with `--graph`.
--do-walk::
Overrides a previous `--no-walk`.
@@ -781,6 +783,7 @@ you would get an output like this:
on the left hand side of the output. This may cause extra lines
to be printed in between commits, in order for the graph history
to be drawn properly.
+ Cannot be combined with `--no-walk`.
+
This enables parent rewriting, see 'History Simplification' below.
+
diff --git a/Documentation/user-manual.txt b/Documentation/user-manual.txt
index 7330d880f3..68978f5338 100644
--- a/Documentation/user-manual.txt
+++ b/Documentation/user-manual.txt
@@ -1200,7 +1200,7 @@ for other users who clone your repository.
If you wish the exclude patterns to affect only certain repositories
(instead of every repository for a given project), you may instead put
them in a file in your repository named `.git/info/exclude`, or in any
-file specified by the `core.excludesfile` configuration variable.
+file specified by the `core.excludesFile` configuration variable.
Some Git commands can also take exclude patterns directly on the
command line. See linkgit:gitignore[5] for the details.
diff --git a/GIT-VERSION-GEN b/GIT-VERSION-GEN
index 50078659fc..730b3f9fe7 100755
--- a/GIT-VERSION-GEN
+++ b/GIT-VERSION-GEN
@@ -1,7 +1,7 @@
#!/bin/sh
GVF=GIT-VERSION-FILE
-DEF_VER=v2.3.2
+DEF_VER=v2.4.0-rc0
LF='
'
diff --git a/Makefile b/Makefile
index 44f1dd10ff..5f3987fe3b 100644
--- a/Makefile
+++ b/Makefile
@@ -357,6 +357,8 @@ all::
# and define it to "no" if you need to remove the parentheses () around the
# constant. The default is "auto", which means to use parentheses if your
# compiler is detected to support it.
+#
+# Define HAVE_BSD_SYSCTL if your platform has a BSD-compatible sysctl function.
GIT-VERSION-FILE: FORCE
@$(SHELL_PATH) ./GIT-VERSION-GEN
@@ -1431,6 +1433,10 @@ ifdef HAVE_CLOCK_MONOTONIC
BASIC_CFLAGS += -DHAVE_CLOCK_MONOTONIC
endif
+ifdef HAVE_BSD_SYSCTL
+ BASIC_CFLAGS += -DHAVE_BSD_SYSCTL
+endif
+
ifeq ($(TCLTK_PATH),)
NO_TCLTK = NoThanks
endif
diff --git a/RelNotes b/RelNotes
index 1662a7beba..1addbec925 100644..120000
--- a/RelNotes
+++ b/RelNotes
@@ -1,299 +1 @@
-Git ???? Release Notes
-======================
-
-Updates since v2.3
-------------------
-
-Ports
-
- * Our default I/O size (8 MiB) for large files was too large for some
- platforms with smaller SSIZE_MAX, leading to read(2)/write(2)
- failures.
-
- * We did not check the curl library version before using
- CURLOPT_PROXYAUTH feature that may not exist.
-
-
-UI, Workflows & Features
-
- * The command usage info strings given by "git cmd -h" and in
- documentation have been tweaked for consistency.
-
- * The "sync" subcommand of "git p4" now allows users to exclude
- subdirectories like its "clone" subcommand does.
-
- * "git log --invert-grep --grep=WIP" will show only commits that do
- not have the string "WIP" in their messages.
-
- * "git push" has been taught a "--atomic" option that makes push to
- update more than one ref an "all-or-none" affair.
-
- * Extending the "push to deploy" added in 2.3, the behaviour of "git
- push" when updating the branch that is checked out can now be
- tweaked by push-to-checkout hook.
-
- * Using environment variable LANGUAGE and friends on the client side,
- HTTP-based transports now send Accept-Language when making requests.
-
- * "git send-email" used to accept a mistaken "y" (or "yes") as an
- answer to "What encoding do you want to use [UTF-8]? " without
- questioning. Now it asks for confirmation when the answer looks
- too short to be a valid encoding name.
-
- * When "git apply --whitespace=fix" fixed whitespace errors in the
- common context lines, the command reports that it did so.
-
-
-Performance, Internal Implementation, Development Support etc.
-
- * Implementation of N_() macro has been updated slightly to help us
- detect mistakes.
-
- * Implementation of "reflog expire" has been restructured to fit the
- reflogs better with the recently updated ref API.
-
- * The transport-helper did not give transport options such as
- verbosity, progress, cloning, etc. to import and export based
- helpers, like it did for fetch and push based helpers, robbing them
- the chance to honor the wish of the end-users better.
-
- * The tests that wanted to see that file becomes unreadable after
- running "chmod a-r file", and the tests that wanted to make sure it
- is not run as root, we used "can we write into the / directory?" as
- a cheap substitute, but on some platforms that is not a good
- heuristics. The tests and their prerequisites have been updated to
- check what they really require.
- (merge f400e51 jk/sanity later to maint).
-
- * Various issues around "reflog expire", e.g. using --updateref when
- expiring a reflog for a symbolic reference, have been corrected
- and/or made saner.
-
- * The strbuf API was explained between the API documentation and in
- the header file. Move missing bits to strbuf.h so that programmers
- can check only one place for all necessary information.
-
- * The error handling functions and conventions are now documented in
- the API manual.
-
- * Optimize attribute look-up, mostly useful in "git grep" on a
- project that does not use many attributes, by avoiding it when we
- (should) know that the attributes are not defined in the first
- place.
-
- * Typofix in comments.
- (merge ef2956a ak/git-pm-typofix later to maint).
-
- * Code clean-up.
- (merge 0b868f0 sb/hex-object-name-is-at-most-41-bytes-long later to maint).
- (merge 5d30851 dp/remove-duplicated-header-inclusion later to maint).
-
- * Simplify the ref transaction API around how "the ref should be
- pointing at this object" is specified.
-
-
-Also contains various documentation updates and code clean-ups.
-
-
-Fixes since v2.3
-----------------
-
-Unless otherwise noted, all the fixes since v2.3 in the maintenance
-track are contained in this release (see the maintenance releases'
-notes for details).
-
- * "git blame HEAD -- missing" failed to correctly say "HEAD" when it
- tried to say "No such path 'missing' in HEAD".
- (merge a46442f jk/blame-commit-label later to maint).
-
- * "git rerere" (invoked internally from many mergy operations) did
- not correctly signal errors when told to update the working tree
- files and failed to do so for whatever reason.
- (merge 89ea903 jn/rerere-fail-on-auto-update-failure later to maint).
-
- * Setting diff.submodule to 'log' made "git format-patch" produce
- broken patches.
- (merge 339de50 dk/format-patch-ignore-diff-submodule later to maint).
-
- * After attempting and failing a password-less authentication
- (e.g. kerberos), libcURL refuses to fall back to password based
- Basic authentication without a bit of help/encouragement.
- (merge 4dbe664 bc/http-fallback-to-password-after-krb-fails later to maint).
-
- * The "git push" documentation made the "--repo=<there>" option
- easily misunderstood.
- (merge 57b92a7 mg/push-repo-option-doc later to maint).
-
- * Code to read branch name from various files in .git/ directory
- would have misbehaved if the code to write them left an empty file.
- (merge 66ec904 jk/status-read-branch-name-fix later to maint).
-
- * A misspelled conditional that is always true has been fixed.
- (merge 94ee8e2 jk/remote-curl-an-array-in-struct-cannot-be-null later to maint).
-
- * The documentation incorrectly said that C(opy) and R(ename) are the
- only ones that can be followed by the score number in the output in
- the --raw format.
- (merge ac1c2d9 jc/diff-format-doc later to maint).
-
- * A broken pack .idx file in the receiving repository prevented the
- dumb http transport from fetching a good copy of it from the other
- side.
- (merge 8b9c2dd jk/dumb-http-idx-fetch-fix later to maint).
-
- * The error message from "git commit", when a non-existing author
- name was given as value to the "--author=" parameter, has been
- reworded to avoid misunderstanding.
- (merge 1044b1f mg/commit-author-no-match-malformed-message later to maint).
-
- * "git log --help" used to show rev-list options that are irrelevant
- to the "log" command.
- (merge 3cab02d jc/doc-log-rev-list-options later to maint).
-
- * "git apply --whitespace=fix" used to under-allocate the memory when
- the fix resulted in a longer text than the original patch.
- (merge 407a792 jc/apply-ws-fix-expands later to maint).
-
- * The interactive "show a list and let the user choose from it"
- interface "add -i" used showed and prompted to the user even when
- the candidate list was empty, against which the only "choice" the
- user could have made was to choose nothing.
- (merge a9c4641 ak/add-i-empty-candidates later to maint).
-
- * The insn sheet "git rebase -i" creates did not fully honor
- core.abbrev settings.
- (merge edb72d5 ks/rebase-i-abbrev later to maint).
-
- * "git fetch" over a remote-helper that cannot respond to "list"
- command could not fetch from a symbolic reference e.g. HEAD.
- (merge 33cae54 mh/deref-symref-over-helper-transport later to maint).
-
- * "git push --signed" gave an incorrectly worded error message when
- the other side did not support the capability.
- (merge 45917f0 jc/push-cert later to maint).
-
- * We didn't format an integer that wouldn't fit in "int" but in
- "uintmax_t" correctly.
- (merge d306f3d jk/decimal-width-for-uintmax later to maint).
-
- * Reading configuration from a blob object, when it ends with a lone
- CR, use to confuse the configuration parser.
- (merge 1d0655c jk/config-no-ungetc-eof later to maint).
-
- * The pack bitmap support did not build with older versions of GCC.
- (merge bd4e882 jk/pack-bitmap later to maint).
-
- * The documentation wasn't clear that "remote.<nick>.pushURL" and
- "remote.<nick>.URL" are there to name the same repository accessed
- via different transports, not two separate repositories.
- (merge 697f652 jc/remote-set-url-doc later to maint).
-
- * Older GnuPG implementations may not correctly import the keyring
- material we prepare for the tests to use.
- (merge 1f985d6 ch/new-gpg-drops-rfc-1991 later to maint).
-
- * The credential helper for Windows (in contrib/) used to mishandle
- a user name with an at-sign in it.
- (merge 13d261e av/wincred-with-at-in-username-fix later to maint).
-
- * Longstanding configuration variable naming rules has been added to
- the documentation.
- (merge 35840a3 jc/conf-var-doc later to maint).
-
- * An earlier workaround to squelch unhelpful deprecation warnings
- from the complier on Mac OSX unnecessarily set minimum required
- version of the OS, which the user might want to raise (or lower)
- for other reasons.
- (merge 88c03eb es/squelch-openssl-warnings-on-macosx later to maint).
-
- * Certain older vintages of cURL give irregular output from
- "curl-config --vernum", which confused our build system.
- (merge 3af6792 tc/curl-vernum-output-broken-in-7.11 later to maint).
-
- * In v2.2.0, we broke "git prune" that runs in a repository that
- borrows from an alternate object store.
- (merge b0a4264 jk/prune-mtime later to maint).
-
- * "git submodule add" failed to squash "path/to/././submodule" to
- "path/to/submodule".
- (merge 8196e72 ps/submodule-sanitize-path-upon-add later to maint).
-
- * "git merge-file" did not work correctly in a subdirectory.
- (merge 204a8ff ab/merge-file-prefix later to maint).
-
- * "git blame" died, trying to free an uninitialized piece of memory.
- (merge e600592 es/blame-commit-info-fix later to maint).
-
- * "git fast-import" used to crash when it could not close and
- conclude the resulting packfile cleanly.
- (merge 5e915f3 jk/fast-import-die-nicely-fix later to maint).
-
- * "update-index --refresh" used to leak when an entry cannot be
- refreshed for whatever reason.
- (merge bc1c2ca sb/plug-leak-in-make-cache-entry later to maint).
-
- * The "interpolated-path" option of "git daemon" inserted any string
- client declared on the "host=" capability request without checking.
- Sanitize and limit %H and %CH to a saner and a valid DNS name.
- (merge b485373 jk/daemon-interpolate later to maint).
-
- * "git daemon" looked up the hostname even when "%CH" and "%IP"
- interpolations are not requested, which was unnecessary.
- (merge dc8edc8 rs/daemon-interpolate later to maint).
-
- * Even though we officially haven't dropped Perl 5.8 support, the
- Getopt::Long package that came with it does not support "--no-"
- prefix to negate a boolean option; manually add support to help
- people with older Getopt::Long package.
- (merge f471494 km/send-email-getopt-long-workarounds later to maint).
-
- * "git apply" was not very careful about reading from, removing,
- updating and creating paths outside the working tree (under
- --index/--cached) or the current directory (when used as a
- replacement for GNU patch).
- (merge e0d201b jc/apply-beyond-symlink later to maint).
-
- * A breakage to git-svn around v2.2 era that triggers premature
- closing of FileHandle has been corrected.
- (merge e426311 ew/svn-maint-fixes later to maint).
-
- * We did not parse username followed by literal IPv6 address in SSH
- transport URLs, e.g. ssh://user@[2001:db8::1]:22/repo.git
- correctly.
- (merge 3f55cca tb/connect-ipv6-parse-fix later to maint).
-
- * The configuration variable 'mailinfo.scissors' was hard to
- discover in the documentation.
- (merge afb5de7 mm/am-c-doc later to maint).
-
- * The interaction between "git submodule update" and the
- submodule.*.update configuration was not clearly documented.
- (merge 5c31acf ms/submodule-update-config-doc later to maint).
-
- * "git diff --shortstat --dirstat=changes" showed a dirstat based on
- lines that was never asked by the end user in addition to the
- dirstat that the user asked for.
- (merge ab27389 mk/diff-shortstat-dirstat-fix later to maint).
-
- * "git remote add" mentioned "--tags" and "--no-tags" and was not
- clear that fetch from the remote in the future will use the default
- behaviour when neither is given to override it.
- (merge aaba0ab mg/doc-remote-tags-or-not later to maint).
-
- * Description given by "grep -h" for its --exclude-standard option
- was phrased poorly.
- (merge 77fdb8a nd/grep-exclude-standard-help-fix later to maint).
-
- * The borrowed code in kwset API did not follow our usual convention
- to use "unsigned char" to store values that range from 0-255.
- (merge 189c860 bw/kwset-use-unsigned later to maint).
-
- * A corrupt input to "git diff -M" used to cause it to segfault.
- (merge 4d6be03 jk/diffcore-rename-duplicate later to maint).
-
- * Code cleanups and documentaiton updates.
- (merge 2ce63e9 rs/simple-cleanups later to maint).
- (merge 33baa69 rj/no-xopen-source-for-cygwin later to maint).
- (merge 817d03e jc/diff-test-updates later to maint).
- (merge eb32c66 ak/t5516-typofix later to maint).
- (merge bcd57cb mr/doc-clean-f-f later to maint).
+Documentation/RelNotes/2.4.0.txt \ No newline at end of file
diff --git a/archive-zip.c b/archive-zip.c
index 4bde019bce..ffb3535e93 100644
--- a/archive-zip.c
+++ b/archive-zip.c
@@ -5,6 +5,8 @@
#include "archive.h"
#include "streaming.h"
#include "utf8.h"
+#include "userdiff.h"
+#include "xdiff-interface.h"
static int zip_date;
static int zip_time;
@@ -120,7 +122,6 @@ static void *zlib_deflate_raw(void *data, unsigned long size,
void *buffer;
int result;
- memset(&stream, 0, sizeof(stream));
git_deflate_init_raw(&stream, compression_level);
maxsize = git_deflate_bound(&stream, size);
buffer = xmalloc(maxsize);
@@ -189,6 +190,16 @@ static int has_only_ascii(const char *s)
}
}
+static int entry_is_binary(const char *path, const void *buffer, size_t size)
+{
+ struct userdiff_driver *driver = userdiff_find_by_path(path);
+ if (!driver)
+ driver = userdiff_find_by_name("default");
+ if (driver->binary != -1)
+ return driver->binary;
+ return buffer_is_binary(buffer, size);
+}
+
#define STREAM_BUFFER_SIZE (1024 * 16)
static int write_zip_entry(struct archiver_args *args,
@@ -210,6 +221,8 @@ static int write_zip_entry(struct archiver_args *args,
struct git_istream *stream = NULL;
unsigned long flags = 0;
unsigned long size;
+ int is_binary = -1;
+ const char *path_without_prefix = path + args->baselen;
crc = crc32(0, NULL, 0);
@@ -256,6 +269,8 @@ static int write_zip_entry(struct archiver_args *args,
return error("cannot read %s",
sha1_to_hex(sha1));
crc = crc32(crc, buffer, size);
+ is_binary = entry_is_binary(path_without_prefix,
+ buffer, size);
out = buffer;
}
compressed_size = (method == 0) ? size : 0;
@@ -300,7 +315,6 @@ static int write_zip_entry(struct archiver_args *args,
copy_le16(dirent.extra_length, ZIP_EXTRA_MTIME_SIZE);
copy_le16(dirent.comment_length, 0);
copy_le16(dirent.disk, 0);
- copy_le16(dirent.attr1, 0);
copy_le32(dirent.attr2, attr2);
copy_le32(dirent.offset, zip_offset);
@@ -328,6 +342,9 @@ static int write_zip_entry(struct archiver_args *args,
if (readlen <= 0)
break;
crc = crc32(crc, buf, readlen);
+ if (is_binary == -1)
+ is_binary = entry_is_binary(path_without_prefix,
+ buf, readlen);
write_or_die(1, buf, readlen);
}
close_istream(stream);
@@ -349,7 +366,6 @@ static int write_zip_entry(struct archiver_args *args,
size_t out_len;
unsigned char compressed[STREAM_BUFFER_SIZE * 2];
- memset(&zstream, 0, sizeof(zstream));
git_deflate_init_raw(&zstream, args->compression_level);
compressed_size = 0;
@@ -361,6 +377,9 @@ static int write_zip_entry(struct archiver_args *args,
if (readlen <= 0)
break;
crc = crc32(crc, buf, readlen);
+ if (is_binary == -1)
+ is_binary = entry_is_binary(path_without_prefix,
+ buf, readlen);
zstream.next_in = buf;
zstream.avail_in = readlen;
@@ -405,6 +424,8 @@ static int write_zip_entry(struct archiver_args *args,
free(deflated);
free(buffer);
+ copy_le16(dirent.attr1, !is_binary);
+
memcpy(zip_dir + zip_dir_offset, &dirent, ZIP_DIR_HEADER_SIZE);
zip_dir_offset += ZIP_DIR_HEADER_SIZE;
memcpy(zip_dir + zip_dir_offset, path, pathlen);
diff --git a/builtin/branch.c b/builtin/branch.c
index 6a25957e9f..1d150378e9 100644
--- a/builtin/branch.c
+++ b/builtin/branch.c
@@ -589,9 +589,16 @@ static char *get_head_description(void)
else if (state.bisect_in_progress)
strbuf_addf(&desc, _("(no branch, bisect started on %s)"),
state.branch);
- else if (state.detached_from)
- strbuf_addf(&desc, _("(detached from %s)"),
- state.detached_from);
+ else if (state.detached_from) {
+ /* TRANSLATORS: make sure these match _("HEAD detached at ")
+ and _("HEAD detached from ") in wt-status.c */
+ if (state.detached_at)
+ strbuf_addf(&desc, _("(HEAD detached at %s)"),
+ state.detached_from);
+ else
+ strbuf_addf(&desc, _("(HEAD detached from %s)"),
+ state.detached_from);
+ }
else
strbuf_addstr(&desc, _("(no branch)"));
free(state.branch);
diff --git a/builtin/clone.c b/builtin/clone.c
index 957246723e..53a2e5af35 100644
--- a/builtin/clone.c
+++ b/builtin/clone.c
@@ -842,20 +842,21 @@ int cmd_clone(int argc, const char **argv, const char *prefix)
git_dir = mkpathdup("%s/.git", dir);
}
+ atexit(remove_junk);
+ sigchain_push_common(remove_junk_on_signal);
+
if (!option_bare) {
- junk_work_tree = work_tree;
if (safe_create_leading_directories_const(work_tree) < 0)
die_errno(_("could not create leading directories of '%s'"),
work_tree);
if (!dest_exists && mkdir(work_tree, 0777))
- die_errno(_("could not create work tree dir '%s'."),
+ die_errno(_("could not create work tree dir '%s'"),
work_tree);
+ junk_work_tree = work_tree;
set_git_work_tree(work_tree);
}
- junk_git_dir = git_dir;
- atexit(remove_junk);
- sigchain_push_common(remove_junk_on_signal);
+ junk_git_dir = git_dir;
if (safe_create_leading_directories_const(git_dir) < 0)
die(_("could not create leading directories of '%s'"), git_dir);
diff --git a/builtin/grep.c b/builtin/grep.c
index 335f25d0ad..abc440023f 100644
--- a/builtin/grep.c
+++ b/builtin/grep.c
@@ -885,7 +885,7 @@ int cmd_grep(int argc, const char **argv, const char *prefix)
}
}
- if (!show_in_pager)
+ if (!show_in_pager && !opt.status_only)
setup_pager();
if (!use_index && (untracked || cached))
diff --git a/builtin/help.c b/builtin/help.c
index a1f5a0a097..3422e73079 100644
--- a/builtin/help.c
+++ b/builtin/help.c
@@ -171,7 +171,7 @@ static void exec_man_cmd(const char *cmd, const char *page)
{
struct strbuf shell_cmd = STRBUF_INIT;
strbuf_addf(&shell_cmd, "%s %s", cmd, page);
- execl("/bin/sh", "sh", "-c", shell_cmd.buf, (char *)NULL);
+ execl(SHELL_PATH, SHELL_PATH, "-c", shell_cmd.buf, (char *)NULL);
warning(_("failed to exec '%s': %s"), cmd, strerror(errno));
}
diff --git a/builtin/index-pack.c b/builtin/index-pack.c
index 4632117671..cf654df09b 100644
--- a/builtin/index-pack.c
+++ b/builtin/index-pack.c
@@ -1204,7 +1204,6 @@ static int write_compressed(struct sha1file *f, void *in, unsigned int size)
int status;
unsigned char outbuf[4096];
- memset(&stream, 0, sizeof(stream));
git_deflate_init(&stream, zlib_compression_level);
stream.next_in = in;
stream.avail_in = size;
diff --git a/builtin/ls-files.c b/builtin/ls-files.c
index 914054d367..6fa2205734 100644
--- a/builtin/ls-files.c
+++ b/builtin/ls-files.c
@@ -354,49 +354,6 @@ void overlay_tree_on_cache(const char *tree_name, const char *prefix)
}
}
-int report_path_error(const char *ps_matched,
- const struct pathspec *pathspec,
- const char *prefix)
-{
- /*
- * Make sure all pathspec matched; otherwise it is an error.
- */
- struct strbuf sb = STRBUF_INIT;
- int num, errors = 0;
- for (num = 0; num < pathspec->nr; num++) {
- int other, found_dup;
-
- if (ps_matched[num])
- continue;
- /*
- * The caller might have fed identical pathspec
- * twice. Do not barf on such a mistake.
- * FIXME: parse_pathspec should have eliminated
- * duplicate pathspec.
- */
- for (found_dup = other = 0;
- !found_dup && other < pathspec->nr;
- other++) {
- if (other == num || !ps_matched[other])
- continue;
- if (!strcmp(pathspec->items[other].original,
- pathspec->items[num].original))
- /*
- * Ok, we have a match already.
- */
- found_dup = 1;
- }
- if (found_dup)
- continue;
-
- error("pathspec '%s' did not match any file(s) known to git.",
- pathspec->items[num].original);
- errors++;
- }
- strbuf_release(&sb);
- return errors;
-}
-
static const char * const ls_files_usage[] = {
N_("git ls-files [<options>] [<file>...]"),
NULL
diff --git a/builtin/pack-objects.c b/builtin/pack-objects.c
index d8165878e1..c3a75166bd 100644
--- a/builtin/pack-objects.c
+++ b/builtin/pack-objects.c
@@ -125,7 +125,6 @@ static unsigned long do_compress(void **pptr, unsigned long size)
void *in, *out;
unsigned long maxsize;
- memset(&stream, 0, sizeof(stream));
git_deflate_init(&stream, pack_compression_level);
maxsize = git_deflate_bound(&stream, size);
@@ -153,7 +152,6 @@ static unsigned long write_large_blob_data(struct git_istream *st, struct sha1fi
unsigned char obuf[1024 * 16];
unsigned long olen = 0;
- memset(&stream, 0, sizeof(stream));
git_deflate_init(&stream, pack_compression_level);
for (;;) {
diff --git a/builtin/prune.c b/builtin/prune.c
index 04d3b12ae4..17094ad954 100644
--- a/builtin/prune.c
+++ b/builtin/prune.c
@@ -115,6 +115,7 @@ int cmd_prune(int argc, const char **argv, const char *prefix)
expire = ULONG_MAX;
save_commit_buffer = 0;
check_replace_refs = 0;
+ ref_paranoia = 1;
init_revisions(&revs, prefix);
argc = parse_options(argc, argv, prefix, options, prune_usage, 0);
diff --git a/builtin/push.c b/builtin/push.c
index fc771a9f6f..57c138bd7b 100644
--- a/builtin/push.c
+++ b/builtin/push.c
@@ -473,13 +473,22 @@ static int option_parse_recurse_submodules(const struct option *opt,
static int git_push_config(const char *k, const char *v, void *cb)
{
- struct wt_status *s = cb;
+ int *flags = cb;
int status;
status = git_gpg_config(k, v, NULL);
if (status)
return status;
- return git_default_config(k, v, s);
+
+ if (!strcmp(k, "push.followtags")) {
+ if (git_config_bool(k, v))
+ *flags |= TRANSPORT_PUSH_FOLLOW_TAGS;
+ else
+ *flags &= ~TRANSPORT_PUSH_FOLLOW_TAGS;
+ return 0;
+ }
+
+ return git_default_config(k, v, NULL);
}
int cmd_push(int argc, const char **argv, const char *prefix)
@@ -487,7 +496,6 @@ int cmd_push(int argc, const char **argv, const char *prefix)
int flags = 0;
int tags = 0;
int rc;
- int atomic = 0;
const char *repo = NULL; /* default repository */
struct option options[] = {
OPT__VERBOSITY(&verbosity),
@@ -519,12 +527,12 @@ int cmd_push(int argc, const char **argv, const char *prefix)
OPT_BIT(0, "follow-tags", &flags, N_("push missing but relevant tags"),
TRANSPORT_PUSH_FOLLOW_TAGS),
OPT_BIT(0, "signed", &flags, N_("GPG sign the push"), TRANSPORT_PUSH_CERT),
- OPT_BOOL(0, "atomic", &atomic, N_("request atomic transaction on remote side")),
+ OPT_BIT(0, "atomic", &flags, N_("request atomic transaction on remote side"), TRANSPORT_PUSH_ATOMIC),
OPT_END()
};
packet_trace_identity("push");
- git_config(git_push_config, NULL);
+ git_config(git_push_config, &flags);
argc = parse_options(argc, argv, prefix, options, push_usage, 0);
if (deleterefs && (tags || (flags & (TRANSPORT_PUSH_ALL | TRANSPORT_PUSH_MIRROR))))
@@ -535,9 +543,6 @@ int cmd_push(int argc, const char **argv, const char *prefix)
if (tags)
add_refspec("refs/tags/*");
- if (atomic)
- flags |= TRANSPORT_PUSH_ATOMIC;
-
if (argc > 0) {
repo = argv[0];
set_refspecs(argv + 1, argc - 1, repo);
diff --git a/builtin/repack.c b/builtin/repack.c
index 28fbc7099a..f2edeb0f4c 100644
--- a/builtin/repack.c
+++ b/builtin/repack.c
@@ -228,13 +228,17 @@ int cmd_repack(int argc, const char **argv, const char *prefix)
get_non_kept_pack_filenames(&existing_packs);
if (existing_packs.nr && delete_redundant) {
- if (unpack_unreachable)
+ if (unpack_unreachable) {
argv_array_pushf(&cmd.args,
"--unpack-unreachable=%s",
unpack_unreachable);
- else if (pack_everything & LOOSEN_UNREACHABLE)
+ argv_array_push(&cmd.env_array, "GIT_REF_PARANOIA=1");
+ } else if (pack_everything & LOOSEN_UNREACHABLE) {
argv_array_push(&cmd.args,
"--unpack-unreachable");
+ } else {
+ argv_array_push(&cmd.env_array, "GIT_REF_PARANOIA=1");
+ }
}
} else {
argv_array_push(&cmd.args, "--unpacked");
diff --git a/builtin/tag.c b/builtin/tag.c
index 4194b9a711..6f07ac6b93 100644
--- a/builtin/tag.c
+++ b/builtin/tag.c
@@ -605,13 +605,13 @@ int cmd_tag(int argc, const char **argv, const char *prefix)
OPT_STRING('u', "local-user", &keyid, N_("key-id"),
N_("use another key to sign the tag")),
OPT__FORCE(&force, N_("replace the tag if exists")),
+
+ OPT_GROUP(N_("Tag listing options")),
OPT_COLUMN(0, "column", &colopts, N_("show tag list in columns")),
{
OPTION_CALLBACK, 0, "sort", &tag_sort, N_("type"), N_("sort tags"),
PARSE_OPT_NONEG, parse_opt_sort
},
-
- OPT_GROUP(N_("Tag listing options")),
{
OPTION_CALLBACK, 0, "contains", &with_commit, N_("commit"),
N_("print only tags that contain the commit"),
diff --git a/bulk-checkin.c b/bulk-checkin.c
index 0c4b8a7cad..8d157eba45 100644
--- a/bulk-checkin.c
+++ b/bulk-checkin.c
@@ -105,7 +105,6 @@ static int stream_to_pack(struct bulk_checkin_state *state,
int write_object = (flags & HASH_WRITE_OBJECT);
off_t offset = 0;
- memset(&s, 0, sizeof(s));
git_deflate_init(&s, pack_compression_level);
hdrlen = encode_in_pack_object_header(type, size, obuf);
diff --git a/cache.h b/cache.h
index 761c5704b2..3d3244ba64 100644
--- a/cache.h
+++ b/cache.h
@@ -614,6 +614,14 @@ extern int protect_hfs;
extern int protect_ntfs;
/*
+ * Include broken refs in all ref iterations, which will
+ * generally choke dangerous operations rather than letting
+ * them silently proceed without taking the broken ref into
+ * account.
+ */
+extern int ref_paranoia;
+
+/*
* The character that begins a commented line in user-editable file
* that is subject to stripspace.
*/
@@ -1569,7 +1577,6 @@ extern int ws_blank_line(const char *line, int len, unsigned ws_rule);
#define ws_tab_width(rule) ((rule) & WS_TAB_WIDTH_MASK)
/* ls-files */
-int report_path_error(const char *ps_matched, const struct pathspec *pathspec, const char *prefix);
void overlay_tree_on_cache(const char *tree_name, const char *prefix);
char *alias_lookup(const char *alias);
diff --git a/config.mak.uname b/config.mak.uname
index b64b63c34c..f4e77cb9e5 100644
--- a/config.mak.uname
+++ b/config.mak.uname
@@ -107,6 +107,7 @@ ifeq ($(uname_S),Darwin)
COMPAT_OBJS += compat/precompose_utf8.o
BASIC_CFLAGS += -DPRECOMPOSE_UNICODE
BASIC_CFLAGS += -DPROTECT_HFS_DEFAULT=1
+ HAVE_BSD_SYSCTL = YesPlease
endif
ifeq ($(uname_S),SunOS)
NEEDS_SOCKET = YesPlease
@@ -199,6 +200,7 @@ ifeq ($(uname_S),FreeBSD)
PYTHON_PATH = /usr/local/bin/python
HAVE_PATHS_H = YesPlease
GMTIME_UNRELIABLE_ERRORS = UnfortunatelyYes
+ HAVE_BSD_SYSCTL = YesPlease
endif
ifeq ($(uname_S),OpenBSD)
NO_STRCASESTR = YesPlease
@@ -208,6 +210,7 @@ ifeq ($(uname_S),OpenBSD)
BASIC_CFLAGS += -I/usr/local/include
BASIC_LDFLAGS += -L/usr/local/lib
HAVE_PATHS_H = YesPlease
+ HAVE_BSD_SYSCTL = YesPlease
endif
ifeq ($(uname_S),MirBSD)
NO_STRCASESTR = YesPlease
@@ -215,6 +218,7 @@ ifeq ($(uname_S),MirBSD)
USE_ST_TIMESPEC = YesPlease
NEEDS_LIBICONV = YesPlease
HAVE_PATHS_H = YesPlease
+ HAVE_BSD_SYSCTL = YesPlease
endif
ifeq ($(uname_S),NetBSD)
ifeq ($(shell expr "$(uname_R)" : '[01]\.'),2)
@@ -225,6 +229,7 @@ ifeq ($(uname_S),NetBSD)
USE_ST_TIMESPEC = YesPlease
NO_MKSTEMPS = YesPlease
HAVE_PATHS_H = YesPlease
+ HAVE_BSD_SYSCTL = YesPlease
endif
ifeq ($(uname_S),AIX)
DEFAULT_PAGER = more
diff --git a/configure.ac b/configure.ac
index 55e5a9b3e6..bbdde85c3d 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1046,6 +1046,29 @@ GIT_CONF_SUBST([NO_INITGROUPS])
#
# Define NO_ICONV if your libc does not properly support iconv.
+AC_DEFUN([BSD_SYSCTL_SRC], [
+AC_LANG_PROGRAM([[
+#include <stddef.h>
+#include <sys/types.h>
+#include <sys/sysctl.h>
+]],[[
+int val, mib[2];
+size_t len;
+mib[0] = CTL_HW;
+mib[1] = 1;
+len = sizeof(val);
+return sysctl(mib, 2, &val, &len, NULL, 0) ? 1 : 0;
+]])])
+
+#
+# Define HAVE_BSD_SYSCTL=YesPlease if a BSD-compatible sysctl function is available.
+AC_MSG_CHECKING([for BSD sysctl])
+AC_COMPILE_IFELSE([BSD_SYSCTL_SRC],
+ [AC_MSG_RESULT([yes])
+ HAVE_BSD_SYSCTL=YesPlease],
+ [AC_MSG_RESULT([no])
+ HAVE_BSD_SYSCTL=])
+GIT_CONF_SUBST([HAVE_BSD_SYSCTL])
## Other checks.
# Define USE_PIC if you need the main git objects to be built with -fPIC
diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash
index c21190d751..fbe597232c 100644
--- a/contrib/completion/git-completion.bash
+++ b/contrib/completion/git-completion.bash
@@ -411,12 +411,9 @@ __git_refs_remotes ()
__git_remotes ()
{
- local i IFS=$'\n' d="$(__gitdir)"
+ local d="$(__gitdir)"
test -d "$d/remotes" && ls -1 "$d/remotes"
- for i in $(git --git-dir="$d" config --get-regexp 'remote\..*\.url' 2>/dev/null); do
- i="${i#remote.}"
- echo "${i/.url*/}"
- done
+ git --git-dir="$d" remote
}
__git_list_merge_strategies ()
@@ -980,7 +977,7 @@ _git_branch ()
case "$cur" in
--set-upstream-to=*)
- __gitcomp "$(__git_refs)" "" "${cur##--set-upstream-to=}"
+ __gitcomp_nl "$(__git_refs)" "" "${cur##--set-upstream-to=}"
;;
--*)
__gitcomp "
@@ -1048,7 +1045,7 @@ _git_checkout ()
_git_cherry ()
{
- __gitcomp "$(__git_refs)"
+ __gitcomp_nl "$(__git_refs)"
}
_git_cherry_pick ()
@@ -1305,7 +1302,7 @@ _git_gitk ()
}
__git_match_ctag() {
- awk "/^${1////\\/}/ { print \$1 }" "$2"
+ awk "/^${1//\//\\/}/ { print \$1 }" "$2"
}
_git_grep ()
@@ -2014,6 +2011,7 @@ _git_config ()
color.status.changed
color.status.header
color.status.nobranch
+ color.status.unmerged
color.status.untracked
color.status.updated
color.ui
@@ -2188,6 +2186,7 @@ _git_config ()
pull.octopus
pull.twohead
push.default
+ push.followTags
rebase.autosquash
rebase.stat
receive.autogc
diff --git a/contrib/completion/git-prompt.sh b/contrib/completion/git-prompt.sh
index 214e859f99..f18aedc73b 100644
--- a/contrib/completion/git-prompt.sh
+++ b/contrib/completion/git-prompt.sh
@@ -487,7 +487,7 @@ __git_ps1 ()
if [ -n "${GIT_PS1_SHOWUNTRACKEDFILES-}" ] &&
[ "$(git config --bool bash.showUntrackedFiles)" != "false" ] &&
- git ls-files --others --exclude-standard --error-unmatch -- '*' >/dev/null 2>/dev/null
+ git ls-files --others --exclude-standard --error-unmatch -- ':/*' >/dev/null 2>/dev/null
then
u="%${ZSH_VERSION+%}"
fi
diff --git a/csum-file.c b/csum-file.c
index b00b215031..a172199e44 100644
--- a/csum-file.c
+++ b/csum-file.c
@@ -130,14 +130,10 @@ struct sha1file *sha1fd_check(const char *name)
sink = open("/dev/null", O_WRONLY);
if (sink < 0)
- return NULL;
+ die_errno("unable to open /dev/null");
check = open(name, O_RDONLY);
- if (check < 0) {
- int saved_errno = errno;
- close(sink);
- errno = saved_errno;
- return NULL;
- }
+ if (check < 0)
+ die_errno("unable to open '%s'", name);
f = sha1fd(sink, name);
f->check_fd = check;
return f;
diff --git a/daemon.c b/daemon.c
index c3edd960ec..9ee21877cd 100644
--- a/daemon.c
+++ b/daemon.c
@@ -43,9 +43,6 @@ static const char *base_path;
static const char *interpolated_path;
static int base_path_relaxed;
-/* Flag indicating client sent extra args. */
-static int saw_extended_args;
-
/* If defined, ~user notation is allowed and the string is inserted
* after ~user/. E.g. a request to git://host/~alice/frotz would
* go to /home/alice/pub_git/frotz with --user-path=pub_git.
@@ -56,25 +53,27 @@ static const char *user_path;
static unsigned int timeout;
static unsigned int init_timeout;
-static char *hostname;
-static char *canon_hostname;
-static char *ip_address;
-static char *tcp_port;
-
-static int hostname_lookup_done;
+struct hostinfo {
+ struct strbuf hostname;
+ struct strbuf canon_hostname;
+ struct strbuf ip_address;
+ struct strbuf tcp_port;
+ unsigned int hostname_lookup_done:1;
+ unsigned int saw_extended_args:1;
+};
-static void lookup_hostname(void);
+static void lookup_hostname(struct hostinfo *hi);
-static const char *get_canon_hostname(void)
+static const char *get_canon_hostname(struct hostinfo *hi)
{
- lookup_hostname();
- return canon_hostname;
+ lookup_hostname(hi);
+ return hi->canon_hostname.buf;
}
-static const char *get_ip_address(void)
+static const char *get_ip_address(struct hostinfo *hi)
{
- lookup_hostname();
- return ip_address;
+ lookup_hostname(hi);
+ return hi->ip_address.buf;
}
static void logreport(int priority, const char *err, va_list params)
@@ -122,38 +121,34 @@ static void NORETURN daemon_die(const char *err, va_list params)
exit(1);
}
-static void strbuf_addstr_or_null(struct strbuf *sb, const char *s)
-{
- if (s)
- strbuf_addstr(sb, s);
-}
-
struct expand_path_context {
const char *directory;
+ struct hostinfo *hostinfo;
};
static size_t expand_path(struct strbuf *sb, const char *placeholder, void *ctx)
{
struct expand_path_context *context = ctx;
+ struct hostinfo *hi = context->hostinfo;
switch (placeholder[0]) {
case 'H':
- strbuf_addstr_or_null(sb, hostname);
+ strbuf_addbuf(sb, &hi->hostname);
return 1;
case 'C':
if (placeholder[1] == 'H') {
- strbuf_addstr_or_null(sb, get_canon_hostname());
+ strbuf_addstr(sb, get_canon_hostname(hi));
return 2;
}
break;
case 'I':
if (placeholder[1] == 'P') {
- strbuf_addstr_or_null(sb, get_ip_address());
+ strbuf_addstr(sb, get_ip_address(hi));
return 2;
}
break;
case 'P':
- strbuf_addstr_or_null(sb, tcp_port);
+ strbuf_addbuf(sb, &hi->tcp_port);
return 1;
case 'D':
strbuf_addstr(sb, context->directory);
@@ -162,7 +157,7 @@ static size_t expand_path(struct strbuf *sb, const char *placeholder, void *ctx)
return 0;
}
-static const char *path_ok(const char *directory)
+static const char *path_ok(const char *directory, struct hostinfo *hi)
{
static char rpath[PATH_MAX];
static char interp_path[PATH_MAX];
@@ -198,11 +193,12 @@ static const char *path_ok(const char *directory)
dir = rpath;
}
}
- else if (interpolated_path && saw_extended_args) {
+ else if (interpolated_path && hi->saw_extended_args) {
struct strbuf expanded_path = STRBUF_INIT;
struct expand_path_context context;
context.directory = directory;
+ context.hostinfo = hi;
if (*dir != '/') {
/* Allow only absolute */
@@ -292,7 +288,8 @@ static int daemon_error(const char *dir, const char *msg)
static const char *access_hook;
-static int run_access_hook(struct daemon_service *service, const char *dir, const char *path)
+static int run_access_hook(struct daemon_service *service, const char *dir,
+ const char *path, struct hostinfo *hi)
{
struct child_process child = CHILD_PROCESS_INIT;
struct strbuf buf = STRBUF_INIT;
@@ -301,16 +298,14 @@ static int run_access_hook(struct daemon_service *service, const char *dir, cons
char *eol;
int seen_errors = 0;
-#define STRARG(x) ((x) ? (x) : "")
*arg++ = access_hook;
*arg++ = service->name;
*arg++ = path;
- *arg++ = STRARG(hostname);
- *arg++ = STRARG(get_canon_hostname());
- *arg++ = STRARG(get_ip_address());
- *arg++ = STRARG(tcp_port);
+ *arg++ = hi->hostname.buf;
+ *arg++ = get_canon_hostname(hi);
+ *arg++ = get_ip_address(hi);
+ *arg++ = hi->tcp_port.buf;
*arg = NULL;
-#undef STRARG
child.use_shell = 1;
child.argv = argv;
@@ -354,7 +349,8 @@ error_return:
return -1;
}
-static int run_service(const char *dir, struct daemon_service *service)
+static int run_service(const char *dir, struct daemon_service *service,
+ struct hostinfo *hi)
{
const char *path;
int enabled = service->enabled;
@@ -368,7 +364,7 @@ static int run_service(const char *dir, struct daemon_service *service)
return daemon_error(dir, "service not enabled");
}
- if (!(path = path_ok(dir)))
+ if (!(path = path_ok(dir, hi)))
return daemon_error(dir, "no such repository");
/*
@@ -404,7 +400,7 @@ static int run_service(const char *dir, struct daemon_service *service)
* Optionally, a hook can choose to deny access to the
* repository depending on the phase of the moon.
*/
- if (access_hook && run_access_hook(service, dir, path))
+ if (access_hook && run_access_hook(service, dir, path, hi))
return -1;
/*
@@ -542,7 +538,7 @@ static void parse_host_and_port(char *hostport, char **host,
* trailing and leading dots, which means that the client cannot escape
* our base path via ".." traversal.
*/
-static void sanitize_client_strbuf(struct strbuf *out, const char *in)
+static void sanitize_client(struct strbuf *out, const char *in)
{
for (; *in; in++) {
if (*in == '/')
@@ -556,36 +552,27 @@ static void sanitize_client_strbuf(struct strbuf *out, const char *in)
strbuf_setlen(out, out->len - 1);
}
-static char *sanitize_client(const char *in)
-{
- struct strbuf out = STRBUF_INIT;
- sanitize_client_strbuf(&out, in);
- return strbuf_detach(&out, NULL);
-}
-
/*
* Like sanitize_client, but we also perform any canonicalization
* to make life easier on the admin.
*/
-static char *canonicalize_client(const char *in)
+static void canonicalize_client(struct strbuf *out, const char *in)
{
- struct strbuf out = STRBUF_INIT;
- sanitize_client_strbuf(&out, in);
- strbuf_tolower(&out);
- return strbuf_detach(&out, NULL);
+ sanitize_client(out, in);
+ strbuf_tolower(out);
}
/*
* Read the host as supplied by the client connection.
*/
-static void parse_host_arg(char *extra_args, int buflen)
+static void parse_host_arg(struct hostinfo *hi, char *extra_args, int buflen)
{
char *val;
int vallen;
char *end = extra_args + buflen;
if (extra_args < end && *extra_args) {
- saw_extended_args = 1;
+ hi->saw_extended_args = 1;
if (strncasecmp("host=", extra_args, 5) == 0) {
val = extra_args + 5;
vallen = strlen(val) + 1;
@@ -594,13 +581,10 @@ static void parse_host_arg(char *extra_args, int buflen)
char *host;
char *port;
parse_host_and_port(val, &host, &port);
- if (port) {
- free(tcp_port);
- tcp_port = sanitize_client(port);
- }
- free(hostname);
- hostname = canonicalize_client(host);
- hostname_lookup_done = 0;
+ if (port)
+ sanitize_client(&hi->tcp_port, port);
+ canonicalize_client(&hi->hostname, host);
+ hi->hostname_lookup_done = 0;
}
/* On to the next one */
@@ -614,9 +598,9 @@ static void parse_host_arg(char *extra_args, int buflen)
/*
* Locate canonical hostname and its IP address.
*/
-static void lookup_hostname(void)
+static void lookup_hostname(struct hostinfo *hi)
{
- if (!hostname_lookup_done && hostname) {
+ if (!hi->hostname_lookup_done && hi->hostname.len) {
#ifndef NO_IPV6
struct addrinfo hints;
struct addrinfo *ai;
@@ -626,19 +610,20 @@ static void lookup_hostname(void)
memset(&hints, 0, sizeof(hints));
hints.ai_flags = AI_CANONNAME;
- gai = getaddrinfo(hostname, NULL, &hints, &ai);
+ gai = getaddrinfo(hi->hostname.buf, NULL, &hints, &ai);
if (!gai) {
struct sockaddr_in *sin_addr = (void *)ai->ai_addr;
inet_ntop(AF_INET, &sin_addr->sin_addr,
addrbuf, sizeof(addrbuf));
- free(ip_address);
- ip_address = xstrdup(addrbuf);
+ strbuf_addstr(&hi->ip_address, addrbuf);
- free(canon_hostname);
- canon_hostname = ai->ai_canonname ?
- sanitize_client(ai->ai_canonname) :
- xstrdup(ip_address);
+ if (ai->ai_canonname)
+ sanitize_client(&hi->canon_hostname,
+ ai->ai_canonname);
+ else
+ strbuf_addbuf(&hi->canon_hostname,
+ &hi->ip_address);
freeaddrinfo(ai);
}
@@ -648,7 +633,7 @@ static void lookup_hostname(void)
char **ap;
static char addrbuf[HOST_NAME_MAX + 1];
- hent = gethostbyname(hostname);
+ hent = gethostbyname(hostname.buf);
if (hent) {
ap = hent->h_addr_list;
memset(&sa, 0, sizeof sa);
@@ -659,22 +644,39 @@ static void lookup_hostname(void)
inet_ntop(hent->h_addrtype, &sa.sin_addr,
addrbuf, sizeof(addrbuf));
- free(canon_hostname);
- canon_hostname = sanitize_client(hent->h_name);
- free(ip_address);
- ip_address = xstrdup(addrbuf);
+ sanitize_client(&hi->canon_hostname, hent->h_name);
+ strbuf_addstr(&hi->ip_address, addrbuf);
}
#endif
- hostname_lookup_done = 1;
+ hi->hostname_lookup_done = 1;
}
}
+static void hostinfo_init(struct hostinfo *hi)
+{
+ memset(hi, 0, sizeof(*hi));
+ strbuf_init(&hi->hostname, 0);
+ strbuf_init(&hi->canon_hostname, 0);
+ strbuf_init(&hi->ip_address, 0);
+ strbuf_init(&hi->tcp_port, 0);
+}
+
+static void hostinfo_clear(struct hostinfo *hi)
+{
+ strbuf_release(&hi->hostname);
+ strbuf_release(&hi->canon_hostname);
+ strbuf_release(&hi->ip_address);
+ strbuf_release(&hi->tcp_port);
+}
static int execute(void)
{
char *line = packet_buffer;
int pktlen, len, i;
char *addr = getenv("REMOTE_ADDR"), *port = getenv("REMOTE_PORT");
+ struct hostinfo hi;
+
+ hostinfo_init(&hi);
if (addr)
loginfo("Connection from %s:%s", addr, port);
@@ -693,14 +695,8 @@ static int execute(void)
pktlen--;
}
- free(hostname);
- free(canon_hostname);
- free(ip_address);
- free(tcp_port);
- hostname = canon_hostname = ip_address = tcp_port = NULL;
-
if (len != pktlen)
- parse_host_arg(line + len + 1, pktlen - len - 1);
+ parse_host_arg(&hi, line + len + 1, pktlen - len - 1);
for (i = 0; i < ARRAY_SIZE(daemon_service); i++) {
struct daemon_service *s = &(daemon_service[i]);
@@ -713,10 +709,13 @@ static int execute(void)
* Note: The directory here is probably context sensitive,
* and might depend on the actual service being performed.
*/
- return run_service(arg, s);
+ int rc = run_service(arg, s, &hi);
+ hostinfo_clear(&hi);
+ return rc;
}
}
+ hostinfo_clear(&hi);
logerror("Protocol error: '%s'", line);
return -1;
}
diff --git a/diff.c b/diff.c
index abc32c8a7d..7500c55095 100644
--- a/diff.c
+++ b/diff.c
@@ -2093,7 +2093,6 @@ static unsigned char *deflate_it(char *data,
unsigned char *deflated;
git_zstream stream;
- memset(&stream, 0, sizeof(stream));
git_deflate_init(&stream, zlib_compression_level);
bound = git_deflate_bound(&stream, size);
deflated = xmalloc(bound);
diff --git a/dir.c b/dir.c
index 3f7a0256b6..0943a81964 100644
--- a/dir.c
+++ b/dir.c
@@ -377,6 +377,49 @@ int match_pathspec(const struct pathspec *ps,
return negative ? 0 : positive;
}
+int report_path_error(const char *ps_matched,
+ const struct pathspec *pathspec,
+ const char *prefix)
+{
+ /*
+ * Make sure all pathspec matched; otherwise it is an error.
+ */
+ struct strbuf sb = STRBUF_INIT;
+ int num, errors = 0;
+ for (num = 0; num < pathspec->nr; num++) {
+ int other, found_dup;
+
+ if (ps_matched[num])
+ continue;
+ /*
+ * The caller might have fed identical pathspec
+ * twice. Do not barf on such a mistake.
+ * FIXME: parse_pathspec should have eliminated
+ * duplicate pathspec.
+ */
+ for (found_dup = other = 0;
+ !found_dup && other < pathspec->nr;
+ other++) {
+ if (other == num || !ps_matched[other])
+ continue;
+ if (!strcmp(pathspec->items[other].original,
+ pathspec->items[num].original))
+ /*
+ * Ok, we have a match already.
+ */
+ found_dup = 1;
+ }
+ if (found_dup)
+ continue;
+
+ error("pathspec '%s' did not match any file(s) known to git.",
+ pathspec->items[num].original);
+ errors++;
+ }
+ strbuf_release(&sb);
+ return errors;
+}
+
/*
* Return the length of the "simple" part of a path match limiter.
*/
diff --git a/dir.h b/dir.h
index 6c45e9d4b9..72b73c65dc 100644
--- a/dir.h
+++ b/dir.h
@@ -137,6 +137,7 @@ extern char *common_prefix(const struct pathspec *pathspec);
extern int match_pathspec(const struct pathspec *pathspec,
const char *name, int namelen,
int prefix, char *seen, int is_dir);
+extern int report_path_error(const char *ps_matched, const struct pathspec *pathspec, const char *prefix);
extern int within_depth(const char *name, int namelen, int depth, int max_depth);
extern int fill_directory(struct dir_struct *dir, const struct pathspec *pathspec);
diff --git a/environment.c b/environment.c
index 1ade5c9684..a40044c3bf 100644
--- a/environment.c
+++ b/environment.c
@@ -24,6 +24,7 @@ int is_bare_repository_cfg = -1; /* unspecified */
int log_all_ref_updates = -1; /* unspecified */
int warn_ambiguous_refs = 1;
int warn_on_object_refname_ambiguity = 1;
+int ref_paranoia = -1;
int repository_format_version;
const char *git_commit_encoding;
const char *git_log_output_encoding;
diff --git a/fast-import.c b/fast-import.c
index b82fcdd24e..e78ca107b3 100644
--- a/fast-import.c
+++ b/fast-import.c
@@ -1062,7 +1062,6 @@ static int store_object(
} else
delta = NULL;
- memset(&s, 0, sizeof(s));
git_deflate_init(&s, pack_compression_level);
if (delta) {
s.next_in = delta;
@@ -1090,7 +1089,6 @@ static int store_object(
free(delta);
delta = NULL;
- memset(&s, 0, sizeof(s));
git_deflate_init(&s, pack_compression_level);
s.next_in = (void *)dat->buf;
s.avail_in = dat->len;
@@ -1190,7 +1188,6 @@ static void stream_blob(uintmax_t len, unsigned char *sha1out, uintmax_t mark)
crc32_begin(pack_file);
- memset(&s, 0, sizeof(s));
git_deflate_init(&s, pack_compression_level);
hdrlen = encode_in_pack_object_header(OBJ_BLOB, len, out_buf);
diff --git a/fetch-pack.c b/fetch-pack.c
index 655ee64256..48526aa54b 100644
--- a/fetch-pack.c
+++ b/fetch-pack.c
@@ -544,16 +544,19 @@ static void filter_refs(struct fetch_pack_args *args,
/* Append unmatched requests to the list */
if (allow_tip_sha1_in_want) {
for (i = 0; i < nr_sought; i++) {
+ unsigned char sha1[20];
+
ref = sought[i];
if (ref->matched)
continue;
- if (get_sha1_hex(ref->name, ref->old_sha1))
+ if (get_sha1_hex(ref->name, sha1) ||
+ ref->name[40] != '\0' ||
+ hashcmp(sha1, ref->old_sha1))
continue;
ref->matched = 1;
- *newtail = ref;
- ref->next = NULL;
- newtail = &ref->next;
+ *newtail = copy_ref(ref);
+ newtail = &(*newtail)->next;
}
}
*refs = newlist;
@@ -625,7 +628,6 @@ static int everything_local(struct fetch_pack_args *args,
for (retval = 1, ref = *refs; ref ; ref = ref->next) {
const unsigned char *remote = ref->old_sha1;
- unsigned char local[20];
struct object *o;
o = lookup_object(remote);
@@ -638,8 +640,6 @@ static int everything_local(struct fetch_pack_args *args,
ref->name);
continue;
}
-
- hashcpy(ref->new_sha1, local);
if (!args->verbose)
continue;
fprintf(stderr,
diff --git a/git-compat-util.h b/git-compat-util.h
index a3095be962..bc8fc8cf85 100644
--- a/git-compat-util.h
+++ b/git-compat-util.h
@@ -127,6 +127,9 @@
#else
#include <poll.h>
#endif
+#ifdef HAVE_BSD_SYSCTL
+#include <sys/sysctl.h>
+#endif
#if defined(__MINGW32__)
/* pull in Windows compatibility stuff */
@@ -876,4 +879,8 @@ struct tm *git_gmtime_r(const time_t *, struct tm *);
#define USE_PARENS_AROUND_GETTEXT_N 1
#endif
+#ifndef SHELL_PATH
+# define SHELL_PATH "/bin/sh"
+#endif
+
#endif
diff --git a/git-instaweb.sh b/git-instaweb.sh
index 513efa662e..47e38f34c3 100755
--- a/git-instaweb.sh
+++ b/git-instaweb.sh
@@ -20,6 +20,7 @@ start start the web server
restart restart the web server
"
+SUBDIRECTORY_OK=Yes
. git-sh-setup
fqgitdir="$GIT_DIR"
@@ -204,7 +205,7 @@ webrick_conf () {
# actual gitweb.cgi using a shell script to force it
wrapper="$fqgitdir/gitweb/$httpd/wrapper.sh"
cat > "$wrapper" <<EOF
-#!/bin/sh
+#!@SHELL_PATH@
# we use this shell script wrapper around the real gitweb.cgi since
# there appears to be no other way to pass arbitrary environment variables
# into the CGI process
diff --git a/git-rebase--interactive.sh b/git-rebase--interactive.sh
index c96b9847e9..f7deeb096e 100644
--- a/git-rebase--interactive.sh
+++ b/git-rebase--interactive.sh
@@ -1030,10 +1030,11 @@ test -n "$autosquash" && rearrange_squash "$todo"
test -n "$cmd" && add_exec_commands "$todo"
todocount=$(git stripspace --strip-comments <"$todo" | wc -l)
+todocount=${todocount##* }
cat >>"$todo" <<EOF
-$comment_char Rebase $shortrevisions onto $shortonto ($todocount TODO item(s))
+$comment_char Rebase $shortrevisions onto $shortonto ($todocount command(s))
EOF
append_todo_help
git stripspace --comment-lines >>"$todo" <<\EOF
diff --git a/git.c b/git.c
index 8c7ee9c830..42a4ee5784 100644
--- a/git.c
+++ b/git.c
@@ -204,10 +204,12 @@ static int handle_options(const char ***argv, int *argc, int *envchanged)
fprintf(stderr, "No directory given for -C.\n" );
usage(git_usage_string);
}
- if (chdir((*argv)[1]))
- die_errno("Cannot change to '%s'", (*argv)[1]);
- if (envchanged)
- *envchanged = 1;
+ if ((*argv)[1][0]) {
+ if (chdir((*argv)[1]))
+ die_errno("Cannot change to '%s'", (*argv)[1]);
+ if (envchanged)
+ *envchanged = 1;
+ }
(*argv)++;
(*argc)--;
} else {
@@ -618,6 +620,7 @@ int main(int argc, char **av)
{
const char **argv = (const char **) av;
const char *cmd;
+ int done_help = 0;
startup_info = &git_startup_info;
@@ -680,9 +683,7 @@ int main(int argc, char **av)
setup_path();
while (1) {
- static int done_help = 0;
- static int was_alias = 0;
- was_alias = run_argv(&argc, &argv);
+ int was_alias = run_argv(&argc, &argv);
if (errno != ENOENT)
break;
if (was_alias) {
diff --git a/gitk-git/gitk b/gitk-git/gitk
index 78358a712a..9a2daf3c55 100755
--- a/gitk-git/gitk
+++ b/gitk-git/gitk
@@ -2516,6 +2516,13 @@ proc makewindow {} {
} else {
bindall <ButtonRelease-4> "allcanvs yview scroll -5 units"
bindall <ButtonRelease-5> "allcanvs yview scroll 5 units"
+ bind $ctext <Button> {
+ if {"%b" eq 6} {
+ $ctext xview scroll -5 units
+ } elseif {"%b" eq 7} {
+ $ctext xview scroll 5 units
+ }
+ }
if {[tk windowingsystem] eq "aqua"} {
bindall <MouseWheel> {
set delta [expr {- (%D)}]
@@ -2776,33 +2783,87 @@ proc doprogupdate {} {
}
}
+proc config_check_tmp_exists {tries_left} {
+ global config_file_tmp
+
+ if {[file exists $config_file_tmp]} {
+ incr tries_left -1
+ if {$tries_left > 0} {
+ after 100 [list config_check_tmp_exists $tries_left]
+ } else {
+ error_popup "There appears to be a stale $config_file_tmp\
+ file, which will prevent gitk from saving its configuration on exit.\
+ Please remove it if it is not being used by any existing gitk process."
+ }
+ }
+}
+
+proc config_init_trace {name} {
+ global config_variable_changed config_variable_original
+
+ upvar #0 $name var
+ set config_variable_changed($name) 0
+ set config_variable_original($name) $var
+}
+
+proc config_variable_change_cb {name name2 op} {
+ global config_variable_changed config_variable_original
+
+ upvar #0 $name var
+ if {$op eq "write" &&
+ (![info exists config_variable_original($name)] ||
+ $config_variable_original($name) ne $var)} {
+ set config_variable_changed($name) 1
+ }
+}
+
proc savestuff {w} {
- global viewname viewfiles viewargs viewargscmd viewperm nextviewnum
- global use_ttk
global stuffsaved
global config_file config_file_tmp
- global config_variables
+ global config_variables config_variable_changed
+ global viewchanged
+
+ upvar #0 viewname current_viewname
+ upvar #0 viewfiles current_viewfiles
+ upvar #0 viewargs current_viewargs
+ upvar #0 viewargscmd current_viewargscmd
+ upvar #0 viewperm current_viewperm
+ upvar #0 nextviewnum current_nextviewnum
+ upvar #0 use_ttk current_use_ttk
if {$stuffsaved} return
if {![winfo viewable .]} return
- catch {
- if {[file exists $config_file_tmp]} {
- file delete -force $config_file_tmp
+ set remove_tmp 0
+ if {[catch {
+ set try_count 0
+ while {[catch {set f [open $config_file_tmp {WRONLY CREAT EXCL}]}]} {
+ if {[incr try_count] > 50} {
+ error "Unable to write config file: $config_file_tmp exists"
+ }
+ after 100
}
- set f [open $config_file_tmp w]
+ set remove_tmp 1
if {$::tcl_platform(platform) eq {windows}} {
file attributes $config_file_tmp -hidden true
}
+ if {[file exists $config_file]} {
+ source $config_file
+ }
foreach var_name $config_variables {
upvar #0 $var_name var
- puts $f [list set $var_name $var]
+ upvar 0 $var_name old_var
+ if {!$config_variable_changed($var_name) && [info exists old_var]} {
+ puts $f [list set $var_name $old_var]
+ } else {
+ puts $f [list set $var_name $var]
+ }
}
puts $f "set geometry(main) [wm geometry .]"
puts $f "set geometry(state) [wm state .]"
puts $f "set geometry(topwidth) [winfo width .tf]"
puts $f "set geometry(topheight) [winfo height .tf]"
- if {$use_ttk} {
+ if {$current_use_ttk} {
puts $f "set geometry(pwsash0) \"[.tf.histframe.pwclist sashpos 0] 1\""
puts $f "set geometry(pwsash1) \"[.tf.histframe.pwclist sashpos 1] 1\""
} else {
@@ -2812,15 +2873,43 @@ proc savestuff {w} {
puts $f "set geometry(botwidth) [winfo width .bleft]"
puts $f "set geometry(botheight) [winfo height .bleft]"
+ array set view_save {}
+ array set views {}
+ if {![info exists permviews]} { set permviews {} }
+ foreach view $permviews {
+ set view_save([lindex $view 0]) 1
+ set views([lindex $view 0]) $view
+ }
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) $viewargscmd($v)]}"
+ for {set v 1} {$v < $current_nextviewnum} {incr v} {
+ if {$viewchanged($v)} {
+ if {$current_viewperm($v)} {
+ set views($current_viewname($v)) [list $current_viewname($v) $current_viewfiles($v) $current_viewargs($v) $current_viewargscmd($v)]
+ } else {
+ set view_save($current_viewname($v)) 0
+ }
+ }
+ }
+ # write old and updated view to their places and append remaining to the end
+ foreach view $permviews {
+ set view_name [lindex $view 0]
+ if {$view_save($view_name)} {
+ puts $f "{$views($view_name)}"
}
+ unset views($view_name)
+ }
+ foreach view_name [array names views] {
+ puts $f "{$views($view_name)}"
}
puts $f "}"
close $f
file rename -force $config_file_tmp $config_file
+ set remove_tmp 0
+ } err]} {
+ puts "Error saving config: $err"
+ }
+ if {$remove_tmp} {
+ file delete -force $config_file_tmp
}
set stuffsaved 1
}
@@ -3977,6 +4066,7 @@ set known_view_options {
{committer t15 . "--committer=*" {mc "Committer:"}}
{loginfo t15 .. "--grep=*" {mc "Commit Message:"}}
{allmatch b .. "--all-match" {mc "Matches all Commit Info criteria"}}
+ {igrep b .. "--invert-grep" {mc "Matches none Commit Info criteria"}}
{changes_l l + {} {mc "Changes to Files:"}}
{pickaxe_s r0 . {} {mc "Fixed String"}}
{pickaxe_t r1 . "--pickaxe-regex" {mc "Regular Expression"}}
@@ -4238,7 +4328,7 @@ proc allviewmenus {n op args} {
proc newviewok {top n {apply 0}} {
global nextviewnum newviewperm newviewname newishighlight
- global viewname viewfiles viewperm selectedview curview
+ global viewname viewfiles viewperm viewchanged selectedview curview
global viewargs viewargscmd newviewopts viewhlmenu
if {[catch {
@@ -4259,6 +4349,7 @@ proc newviewok {top n {apply 0}} {
incr nextviewnum
set viewname($n) $newviewname($n)
set viewperm($n) $newviewopts($n,perm)
+ set viewchanged($n) 1
set viewfiles($n) $files
set viewargs($n) $newargs
set viewargscmd($n) $newviewopts($n,cmd)
@@ -4271,6 +4362,7 @@ proc newviewok {top n {apply 0}} {
} else {
# editing an existing view
set viewperm($n) $newviewopts($n,perm)
+ set viewchanged($n) 1
if {$newviewname($n) ne $viewname($n)} {
set viewname($n) $newviewname($n)
doviewmenu .bar.view 5 [list showview $n] \
@@ -4293,7 +4385,7 @@ proc newviewok {top n {apply 0}} {
}
proc delview {} {
- global curview viewperm hlview selectedhlview
+ global curview viewperm hlview selectedhlview viewchanged
if {$curview == 0} return
if {[info exists hlview] && $hlview == $curview} {
@@ -4302,6 +4394,7 @@ proc delview {} {
}
allviewmenus $curview delete
set viewperm($curview) 0
+ set viewchanged($curview) 1
showview 0
}
@@ -11237,6 +11330,7 @@ proc prefspage_general {notebook} {
${NS}::label $page.maxwidthl -text [mc "Maximum graph width (lines)"]
spinbox $page.maxwidth -from 0 -to 100 -width 4 -textvariable maxwidth
grid $page.spacer $page.maxwidthl $page.maxwidth -sticky w
+ #xgettext:no-tcl-format
${NS}::label $page.maxpctl -text [mc "Maximum graph width (% of pane)"]
spinbox $page.maxpct -from 1 -to 100 -width 4 -textvariable maxgraphpct
grid x $page.maxpctl $page.maxpct -sticky w
@@ -11936,7 +12030,7 @@ if { [info exists ::env(GIT_TRACE)] } {
}
# defaults...
-set wrcomcmd "git diff-tree --stdin -p --pretty"
+set wrcomcmd "git diff-tree --stdin -p --pretty=email"
set gitencoding {}
catch {
@@ -12109,6 +12203,7 @@ catch {
}
source $config_file
}
+config_check_tmp_exists 50
set config_variables {
mainfont textfont uifont tabstop findmergefiles maxgraphpct maxwidth
@@ -12122,6 +12217,10 @@ set config_variables {
linehoveroutlinecolor mainheadcirclecolor workingfilescirclecolor
indexcirclecolor circlecolors linkfgcolor circleoutlinecolor
}
+foreach var $config_variables {
+ config_init_trace $var
+ trace add variable $var write config_variable_change_cb
+}
parsefont mainfont $mainfont
eval font create mainfont [fontflags mainfont]
@@ -12249,6 +12348,7 @@ set highlight_related [mc "None"]
set highlight_files {}
set viewfiles(0) {}
set viewperm(0) 0
+set viewchanged(0) 0
set viewargs(0) {}
set viewargscmd(0) {}
@@ -12307,6 +12407,7 @@ if {$cmdline_files ne {} || $revtreeargs ne {} || $revtreeargscmd ne {}} {
set viewargs(1) $revtreeargs
set viewargscmd(1) $revtreeargscmd
set viewperm(1) 0
+ set viewchanged(1) 0
set vdatemode(1) 0
addviewmenu 1
.bar.view entryconf [mca "Edit view..."] -state normal
@@ -12322,6 +12423,7 @@ if {[info exists permviews]} {
set viewargs($n) [lindex $v 2]
set viewargscmd($n) [lindex $v 3]
set viewperm($n) 1
+ set viewchanged($n) 0
addviewmenu $n
}
}
diff --git a/gitk-git/po/bg.po b/gitk-git/po/bg.po
index f86a161129..1df0716c38 100644
--- a/gitk-git/po/bg.po
+++ b/gitk-git/po/bg.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gitk master\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-08-03 11:17+0300\n"
+"POT-Creation-Date: 2015-03-15 14:37+1100\n"
"PO-Revision-Date: 2014-07-28 07:32+0300\n"
"Last-Translator: Alexander Shopov <ash@kambanaria.org>\n"
"Language-Team: Bulgarian <dict@fsa-bg.org>\n"
@@ -22,28 +22,28 @@ msgstr ""
msgid "Couldn't get list of unmerged files:"
msgstr "Списъкът с неслети файлове не може да бъде получен:"
-#: gitk:212 gitk:2379
+#: gitk:212 gitk:2381
msgid "Color words"
msgstr "Оцветяване на думите"
-#: gitk:217 gitk:2379 gitk:8155 gitk:8188
+#: gitk:217 gitk:2381 gitk:8201 gitk:8234
msgid "Markup words"
msgstr "Отбелязване на думите"
-#: gitk:322
+#: gitk:324
msgid "Error parsing revisions:"
msgstr "Грешка при разбор на версиите:"
-#: gitk:378
+#: gitk:380
msgid "Error executing --argscmd command:"
msgstr "Грешка при изпълнение на командата с „--argscmd“."
-#: gitk:391
+#: gitk:393
msgid "No files selected: --merge specified but no files are unmerged."
msgstr ""
"Не са избрани файлове — указана е опцията „--merge“, но няма неслети файлове."
-#: gitk:394
+#: gitk:396
msgid ""
"No files selected: --merge specified but no unmerged files are within file "
"limit."
@@ -51,306 +51,306 @@ msgstr ""
"Не са избрани файлове — указана е опцията „--merge“, но няма неслети файлове "
"в ограниченията."
-#: gitk:416 gitk:564
+#: gitk:418 gitk:566
msgid "Error executing git log:"
msgstr "Грешка при изпълнение на „git log“:"
-#: gitk:434 gitk:580
+#: gitk:436 gitk:582
msgid "Reading"
msgstr "Прочитане"
-#: gitk:494 gitk:4470
+#: gitk:496 gitk:4508
msgid "Reading commits..."
msgstr "Прочитане на подаванията…"
-#: gitk:497 gitk:1635 gitk:4473
+#: gitk:499 gitk:1637 gitk:4511
msgid "No commits selected"
msgstr "Не са избрани подавания"
-#: gitk:1509
+#: gitk:1511
msgid "Can't parse git log output:"
msgstr "Изходът от „git log“ не може да се анализира:"
-#: gitk:1738
+#: gitk:1740
msgid "No commit information available"
msgstr "Липсва информация за подавания"
-#: gitk:1895
+#: gitk:1897
msgid "mc"
msgstr "mc"
-#: gitk:1930 gitk:4263 gitk:9604 gitk:11174 gitk:11453
+#: gitk:1932 gitk:4298 gitk:9650 gitk:11220 gitk:11500
msgid "OK"
msgstr "Добре"
-#: gitk:1932 gitk:4265 gitk:9131 gitk:9210 gitk:9326 gitk:9375 gitk:9606
-#: gitk:11175 gitk:11454
+#: gitk:1934 gitk:4300 gitk:9177 gitk:9256 gitk:9372 gitk:9421 gitk:9652
+#: gitk:11221 gitk:11501
msgid "Cancel"
msgstr "Отказ"
-#: gitk:2067
+#: gitk:2069
msgid "Update"
msgstr "Обновяване"
-#: gitk:2068
+#: gitk:2070
msgid "Reload"
msgstr "Презареждане"
-#: gitk:2069
+#: gitk:2071
msgid "Reread references"
msgstr "Наново прочитане на настройките"
-#: gitk:2070
+#: gitk:2072
msgid "List references"
msgstr "Изброяване на указателите"
-#: gitk:2072
+#: gitk:2074
msgid "Start git gui"
msgstr "Стартиране на „git gui“"
-#: gitk:2074
+#: gitk:2076
msgid "Quit"
msgstr "Спиране на програмата"
-#: gitk:2066
+#: gitk:2068
msgid "File"
msgstr "Файл"
-#: gitk:2078
+#: gitk:2080
msgid "Preferences"
msgstr "Настройки"
-#: gitk:2077
+#: gitk:2079
msgid "Edit"
msgstr "Редактиране"
-#: gitk:2082
+#: gitk:2084
msgid "New view..."
msgstr "Нов изглед…"
-#: gitk:2083
+#: gitk:2085
msgid "Edit view..."
msgstr "Редактиране на изгледа…"
-#: gitk:2084
+#: gitk:2086
msgid "Delete view"
msgstr "Изтриване на изгледа"
-#: gitk:2086
+#: gitk:2088
msgid "All files"
msgstr "Всички файлове"
-#: gitk:2081 gitk:4016
+#: gitk:2083 gitk:4050
msgid "View"
msgstr "Изглед"
-#: gitk:2091 gitk:2101 gitk:2976
+#: gitk:2093 gitk:2103 gitk:3009
msgid "About gitk"
msgstr "Относно gitk"
-#: gitk:2092 gitk:2106
+#: gitk:2094 gitk:2108
msgid "Key bindings"
msgstr "Клавишни комбинации"
-#: gitk:2090 gitk:2105
+#: gitk:2092 gitk:2107
msgid "Help"
msgstr "Помощ"
-#: gitk:2183 gitk:8587
+#: gitk:2185 gitk:8633
msgid "SHA1 ID:"
msgstr "SHA1:"
-#: gitk:2227
+#: gitk:2229
msgid "Row"
msgstr "Ред"
-#: gitk:2265
+#: gitk:2267
msgid "Find"
msgstr "Търсене"
-#: gitk:2293
+#: gitk:2295
msgid "commit"
msgstr "подаване"
-#: gitk:2297 gitk:2299 gitk:4631 gitk:4654 gitk:4678 gitk:6698 gitk:6770
-#: gitk:6855
+#: gitk:2299 gitk:2301 gitk:4669 gitk:4692 gitk:4716 gitk:6736 gitk:6808
+#: gitk:6893
msgid "containing:"
msgstr "съдържащо:"
-#: gitk:2300 gitk:3488 gitk:3493 gitk:4707
+#: gitk:2302 gitk:3522 gitk:3527 gitk:4745
msgid "touching paths:"
msgstr "засягащо пътищата:"
-#: gitk:2301 gitk:4721
+#: gitk:2303 gitk:4759
msgid "adding/removing string:"
msgstr "добавящо/премахващо низ"
-#: gitk:2302 gitk:4723
+#: gitk:2304 gitk:4761
msgid "changing lines matching:"
msgstr "променящо редове напасващи:"
-#: gitk:2311 gitk:2313 gitk:4710
+#: gitk:2313 gitk:2315 gitk:4748
msgid "Exact"
msgstr "Точно"
-#: gitk:2313 gitk:4798 gitk:6666
+#: gitk:2315 gitk:4836 gitk:6704
msgid "IgnCase"
msgstr "Без регистър"
-#: gitk:2313 gitk:4680 gitk:4796 gitk:6662
+#: gitk:2315 gitk:4718 gitk:4834 gitk:6700
msgid "Regexp"
msgstr "Рег. израз"
-#: gitk:2315 gitk:2316 gitk:4818 gitk:4848 gitk:4855 gitk:6791 gitk:6859
+#: gitk:2317 gitk:2318 gitk:4856 gitk:4886 gitk:4893 gitk:6829 gitk:6897
msgid "All fields"
msgstr "Всички полета"
-#: gitk:2316 gitk:4815 gitk:4848 gitk:6729
+#: gitk:2318 gitk:4853 gitk:4886 gitk:6767
msgid "Headline"
msgstr "Първи ред"
-#: gitk:2317 gitk:4815 gitk:6729 gitk:6859 gitk:7332
+#: gitk:2319 gitk:4853 gitk:6767 gitk:6897 gitk:7370
msgid "Comments"
msgstr "Коментари"
-#: gitk:2317 gitk:4815 gitk:4820 gitk:4855 gitk:6729 gitk:7267 gitk:8765
-#: gitk:8780
+#: gitk:2319 gitk:4853 gitk:4858 gitk:4893 gitk:6767 gitk:7305 gitk:8811
+#: gitk:8826
msgid "Author"
msgstr "Автор"
-#: gitk:2317 gitk:4815 gitk:6729 gitk:7269
+#: gitk:2319 gitk:4853 gitk:6767 gitk:7307
msgid "Committer"
msgstr "Подаващ"
-#: gitk:2348
+#: gitk:2350
msgid "Search"
msgstr "Търсене"
-#: gitk:2356
+#: gitk:2358
msgid "Diff"
msgstr "Разлики"
-#: gitk:2358
+#: gitk:2360
msgid "Old version"
msgstr "Стара версия"
-#: gitk:2360
+#: gitk:2362
msgid "New version"
msgstr "Нова версия"
-#: gitk:2362
+#: gitk:2364
msgid "Lines of context"
msgstr "Контекст в редове"
-#: gitk:2372
+#: gitk:2374
msgid "Ignore space change"
msgstr "Празните знаци без значение"
-#: gitk:2376 gitk:2378 gitk:7894 gitk:8141
+#: gitk:2378 gitk:2380 gitk:7940 gitk:8187
msgid "Line diff"
msgstr "Поредови разлики"
-#: gitk:2443
+#: gitk:2445
msgid "Patch"
msgstr "Кръпка"
-#: gitk:2445
+#: gitk:2447
msgid "Tree"
msgstr "Дърво"
-#: gitk:2604 gitk:2624
+#: gitk:2616 gitk:2636
msgid "Diff this -> selected"
msgstr "Разлики между това и избраното"
-#: gitk:2605 gitk:2625
+#: gitk:2617 gitk:2637
msgid "Diff selected -> this"
msgstr "Разлики между избраното и това"
-#: gitk:2606 gitk:2626
+#: gitk:2618 gitk:2638
msgid "Make patch"
msgstr "Създаване на кръпка"
-#: gitk:2607 gitk:9189
+#: gitk:2619 gitk:9235
msgid "Create tag"
msgstr "Създаване на етикет"
-#: gitk:2608 gitk:9306
+#: gitk:2620 gitk:9352
msgid "Write commit to file"
msgstr "Запазване на подаването във файл"
-#: gitk:2609 gitk:9363
+#: gitk:2621 gitk:9409
msgid "Create new branch"
msgstr "Създаване на нов клон"
-#: gitk:2610
+#: gitk:2622
msgid "Cherry-pick this commit"
msgstr "Отбиране на това подаване"
-#: gitk:2611
+#: gitk:2623
msgid "Reset HEAD branch to here"
msgstr "Привеждане на върха на клона към текущото подаване"
-#: gitk:2612
+#: gitk:2624
msgid "Mark this commit"
msgstr "Отбелязване на това подаване"
-#: gitk:2613
+#: gitk:2625
msgid "Return to mark"
msgstr "Връщане към отбелязаното подаване"
-#: gitk:2614
+#: gitk:2626
msgid "Find descendant of this and mark"
msgstr "Откриване и отбелязване на наследниците"
-#: gitk:2615
+#: gitk:2627
msgid "Compare with marked commit"
msgstr "Сравнение с отбелязаното подаване"
-#: gitk:2616 gitk:2627
+#: gitk:2628 gitk:2639
msgid "Diff this -> marked commit"
msgstr "Разлики между това и отбелязаното"
-#: gitk:2617 gitk:2628
+#: gitk:2629 gitk:2640
msgid "Diff marked commit -> this"
msgstr "Разлики между отбелязаното и това"
-#: gitk:2618
+#: gitk:2630
msgid "Revert this commit"
msgstr "Отмяна на това подаване"
-#: gitk:2634
+#: gitk:2646
msgid "Check out this branch"
msgstr "Изтегляне на този клон"
-#: gitk:2635
+#: gitk:2647
msgid "Remove this branch"
msgstr "Изтриване на този клон"
-#: gitk:2642
+#: gitk:2654
msgid "Highlight this too"
msgstr "Отбелязване и на това"
-#: gitk:2643
+#: gitk:2655
msgid "Highlight this only"
msgstr "Отбелязване само на това"
-#: gitk:2644
+#: gitk:2656
msgid "External diff"
msgstr "Външна програма за разлики"
-#: gitk:2645
+#: gitk:2657
msgid "Blame parent commit"
msgstr "Анотиране на родителското подаване"
-#: gitk:2652
+#: gitk:2664
msgid "Show origin of this line"
msgstr "Показване на произхода на този ред"
-#: gitk:2653
+#: gitk:2665
msgid "Run git gui blame on this line"
msgstr "Изпълнение на „git gui blame“ върху този ред"
-#: gitk:2978
+#: gitk:3011
msgid ""
"\n"
"Gitk - a commit viewer for git\n"
@@ -366,303 +366,313 @@ msgstr ""
"\n"
"Използвайте и разпространявайте при условията на ОПЛ на ГНУ"
-#: gitk:2986 gitk:3051 gitk:9790
+#: gitk:3019 gitk:3085 gitk:9836
msgid "Close"
msgstr "Затваряне"
-#: gitk:3007
+#: gitk:3040
msgid "Gitk key bindings"
msgstr "Клавишни комбинации"
-#: gitk:3010
+#: gitk:3043
msgid "Gitk key bindings:"
msgstr "Клавишни комбинации:"
-#: gitk:3012
+#: gitk:3045
#, tcl-format
msgid "<%s-Q>\t\tQuit"
msgstr "<%s-Q>\t\tСпиране на програмата"
-#: gitk:3013
+#: gitk:3046
#, tcl-format
msgid "<%s-W>\t\tClose window"
msgstr "<%s-W>\t\tЗатваряне на прозореца"
-#: gitk:3014
+#: gitk:3047
msgid "<Home>\t\tMove to first commit"
msgstr "<Home>\t\tКъм първото подаване"
-#: gitk:3015
+#: gitk:3048
msgid "<End>\t\tMove to last commit"
msgstr "<End>\t\tКъм последното подаване"
-#: gitk:3016
+#: gitk:3049
msgid "<Up>, p, k\tMove up one commit"
msgstr "<Up>, p, k\tЕдно подаване нагоре"
-#: gitk:3017
+#: gitk:3050
msgid "<Down>, n, j\tMove down one commit"
msgstr "<Down>, n, j\tЕдно подаване надолу"
-#: gitk:3018
+#: gitk:3051
msgid "<Left>, z, h\tGo back in history list"
msgstr "<Left>, z, h\tНазад в историята"
-#: gitk:3019
+#: gitk:3052
msgid "<Right>, x, l\tGo forward in history list"
msgstr "<Right>, x, l\tНапред в историята"
-#: gitk:3020
+#: gitk:3053
+#, tcl-format
+msgid "<%s-n>\tGo to n-th parent of current commit in history list"
+msgstr ""
+
+#: gitk:3054
msgid "<PageUp>\tMove up one page in commit list"
msgstr "<PageUp>\tСтраница нагоре в списъка с подаванията"
-#: gitk:3021
+#: gitk:3055
msgid "<PageDown>\tMove down one page in commit list"
msgstr "<PageDown>\tСтраница надолу в списъка с подаванията"
-#: gitk:3022
+#: gitk:3056
#, tcl-format
msgid "<%s-Home>\tScroll to top of commit list"
msgstr "<%s-Home>\tКъм началото на списъка с подаванията"
-#: gitk:3023
+#: gitk:3057
#, tcl-format
msgid "<%s-End>\tScroll to bottom of commit list"
msgstr "<%s-End>\tКъм края на списъка с подаванията"
-#: gitk:3024
+#: gitk:3058
#, tcl-format
msgid "<%s-Up>\tScroll commit list up one line"
msgstr "<%s-Up>\tРед нагоре в списъка с подавания"
-#: gitk:3025
+#: gitk:3059
#, tcl-format
msgid "<%s-Down>\tScroll commit list down one line"
msgstr "<%s-Down>\tРед надолу в списъка с подавания"
-#: gitk:3026
+#: gitk:3060
#, tcl-format
msgid "<%s-PageUp>\tScroll commit list up one page"
msgstr "<%s-PageUp>\tСтраница нагоре в списъка с подавания"
-#: gitk:3027
+#: gitk:3061
#, tcl-format
msgid "<%s-PageDown>\tScroll commit list down one page"
msgstr "<%s-PageDown>\tСтраница надолу в списъка с подавания"
-#: gitk:3028
+#: gitk:3062
msgid "<Shift-Up>\tFind backwards (upwards, later commits)"
msgstr "<Shift-Up>\tТърсене назад (визуално нагоре, исторически — последващи)"
-#: gitk:3029
+#: gitk:3063
msgid "<Shift-Down>\tFind forwards (downwards, earlier commits)"
msgstr ""
"<Shift-Down>\tТърсене напред (визуално надолу, исторически — предхождащи)"
-#: gitk:3030
+#: gitk:3064
msgid "<Delete>, b\tScroll diff view up one page"
msgstr "<Delete>, b\tСтраница нагоре в изгледа за разлики"
-#: gitk:3031
+#: gitk:3065
msgid "<Backspace>\tScroll diff view up one page"
msgstr "<Backspace>\tСтраница надолу в изгледа за разлики"
-#: gitk:3032
+#: gitk:3066
msgid "<Space>\t\tScroll diff view down one page"
msgstr "<Space>\t\tСтраница надолу в изгледа за разлики"
-#: gitk:3033
+#: gitk:3067
msgid "u\t\tScroll diff view up 18 lines"
msgstr "u\t\t18 реда нагоре в изгледа за разлики"
-#: gitk:3034
+#: gitk:3068
msgid "d\t\tScroll diff view down 18 lines"
msgstr "d\t\t18 реда надолу в изгледа за разлики"
-#: gitk:3035
+#: gitk:3069
#, tcl-format
msgid "<%s-F>\t\tFind"
msgstr "<%s-F>\t\tТърсене"
-#: gitk:3036
+#: gitk:3070
#, tcl-format
msgid "<%s-G>\t\tMove to next find hit"
msgstr "<%s-G>\t\tКъм следващата поява"
-#: gitk:3037
+#: gitk:3071
msgid "<Return>\tMove to next find hit"
msgstr "<Return>\tКъм следващата поява"
-#: gitk:3038
+#: gitk:3072
msgid "/\t\tFocus the search box"
msgstr "/\t\tФокус върху полето за търсене"
-#: gitk:3039
+#: gitk:3073
msgid "?\t\tMove to previous find hit"
msgstr "?\t\tКъм предишната поява"
-#: gitk:3040
+#: gitk:3074
msgid "f\t\tScroll diff view to next file"
msgstr "f\t\tСледващ файл в изгледа за разлики"
-#: gitk:3041
+#: gitk:3075
#, tcl-format
msgid "<%s-S>\t\tSearch for next hit in diff view"
msgstr "<%s-S>\t\tТърсене на следващата поява в изгледа за разлики"
-#: gitk:3042
+#: gitk:3076
#, tcl-format
msgid "<%s-R>\t\tSearch for previous hit in diff view"
msgstr "<%s-R>\t\tТърсене на предишната поява в изгледа за разлики"
-#: gitk:3043
+#: gitk:3077
#, tcl-format
msgid "<%s-KP+>\tIncrease font size"
msgstr "<%s-KP+>\tПо-голям размер на шрифта"
-#: gitk:3044
+#: gitk:3078
#, tcl-format
msgid "<%s-plus>\tIncrease font size"
msgstr "<%s-plus>\tПо-голям размер на шрифта"
-#: gitk:3045
+#: gitk:3079
#, tcl-format
msgid "<%s-KP->\tDecrease font size"
msgstr "<%s-KP->\tПо-малък размер на шрифта"
-#: gitk:3046
+#: gitk:3080
#, tcl-format
msgid "<%s-minus>\tDecrease font size"
msgstr "<%s-minus>\tПо-малък размер на шрифта"
-#: gitk:3047
+#: gitk:3081
msgid "<F5>\t\tUpdate"
msgstr "<F5>\t\tОбновяване"
-#: gitk:3512 gitk:3521
+#: gitk:3546 gitk:3555
#, tcl-format
msgid "Error creating temporary directory %s:"
msgstr "Грешка при създаването на временната директория „%s“:"
-#: gitk:3534
+#: gitk:3568
#, tcl-format
msgid "Error getting \"%s\" from %s:"
msgstr "Грешка при получаването на „%s“ от %s:"
-#: gitk:3597
+#: gitk:3631
msgid "command failed:"
msgstr "неуспешно изпълнение на команда:"
-#: gitk:3746
+#: gitk:3780
msgid "No such commit"
msgstr "Такова подаване няма"
-#: gitk:3760
+#: gitk:3794
msgid "git gui blame: command failed:"
msgstr "„git gui blame“: неуспешно изпълнение на команда:"
-#: gitk:3791
+#: gitk:3825
#, tcl-format
msgid "Couldn't read merge head: %s"
msgstr "Върхът за сливане не може да бъде прочетен: %s"
-#: gitk:3799
+#: gitk:3833
#, tcl-format
msgid "Error reading index: %s"
msgstr "Грешка при прочитане на индекса: %s"
-#: gitk:3824
+#: gitk:3858
#, tcl-format
msgid "Couldn't start git blame: %s"
msgstr "Командата „git blame“ не може да бъде стартирана: %s"
-#: gitk:3827 gitk:6697
+#: gitk:3861 gitk:6735
msgid "Searching"
msgstr "Търсене"
-#: gitk:3859
+#: gitk:3893
#, tcl-format
msgid "Error running git blame: %s"
msgstr "Грешка при изпълнението на „git blame“: %s"
-#: gitk:3887
+#: gitk:3921
#, tcl-format
msgid "That line comes from commit %s, which is not in this view"
msgstr "Този ред идва от подаването %s, което не е в изгледа"
-#: gitk:3901
+#: gitk:3935
msgid "External diff viewer failed:"
msgstr "Неуспешно изпълнение на външната програма за разлики:"
-#: gitk:4019
+#: gitk:4053
msgid "Gitk view definition"
msgstr "Дефиниция на изглед в Gitk"
-#: gitk:4023
+#: gitk:4057
msgid "Remember this view"
msgstr "Запазване на този изглед"
-#: gitk:4024
+#: gitk:4058
msgid "References (space separated list):"
msgstr "Указатели (списък с разделител интервал):"
-#: gitk:4025
+#: gitk:4059
msgid "Branches & tags:"
msgstr "Клони и етикети:"
-#: gitk:4026
+#: gitk:4060
msgid "All refs"
msgstr "Всички указатели"
-#: gitk:4027
+#: gitk:4061
msgid "All (local) branches"
msgstr "Всички (локални) клони"
-#: gitk:4028
+#: gitk:4062
msgid "All tags"
msgstr "Всички етикети"
-#: gitk:4029
+#: gitk:4063
msgid "All remote-tracking branches"
msgstr "Всички следящи клони"
-#: gitk:4030
+#: gitk:4064
msgid "Commit Info (regular expressions):"
msgstr "Информация за подаване (рег. изр.):"
-#: gitk:4031
+#: gitk:4065
msgid "Author:"
msgstr "Автор:"
-#: gitk:4032
+#: gitk:4066
msgid "Committer:"
msgstr "Подал:"
-#: gitk:4033
+#: gitk:4067
msgid "Commit Message:"
msgstr "Съобщение при подаване:"
-#: gitk:4034
+#: gitk:4068
msgid "Matches all Commit Info criteria"
msgstr "Съвпадение по коя да е информация за подаването"
-#: gitk:4035
+#: gitk:4069
+#, fuzzy
+msgid "Matches none Commit Info criteria"
+msgstr "Съвпадение по коя да е информация за подаването"
+
+#: gitk:4070
msgid "Changes to Files:"
msgstr "Промени по файловете:"
-#: gitk:4036
+#: gitk:4071
msgid "Fixed String"
msgstr "Дословен низ"
-#: gitk:4037
+#: gitk:4072
msgid "Regular Expression"
msgstr "Регулярен израз"
-#: gitk:4038
+#: gitk:4073
msgid "Search string:"
msgstr "Низ за търсене:"
-#: gitk:4039
+#: gitk:4074
msgid ""
"Commit Dates (\"2 weeks ago\", \"2009-03-17 15:27:38\", \"March 17, 2009 "
"15:27:38\"):"
@@ -670,204 +680,204 @@ msgstr ""
"Дата на подаване („2 weeks ago“ (преди 2 седмици), „2009-03-17 15:27:38“, "
"„March 17, 2009 15:27:38“):"
-#: gitk:4040
+#: gitk:4075
msgid "Since:"
msgstr "От:"
-#: gitk:4041
+#: gitk:4076
msgid "Until:"
msgstr "До:"
-#: gitk:4042
+#: gitk:4077
msgid "Limit and/or skip a number of revisions (positive integer):"
msgstr ""
"Ограничаване и/или прескачане на определен брой версии (неотрицателно цяло "
"число):"
-#: gitk:4043
+#: gitk:4078
msgid "Number to show:"
msgstr "Брой показани:"
-#: gitk:4044
+#: gitk:4079
msgid "Number to skip:"
msgstr "Брой прескочени:"
-#: gitk:4045
+#: gitk:4080
msgid "Miscellaneous options:"
msgstr "Разни:"
-#: gitk:4046
+#: gitk:4081
msgid "Strictly sort by date"
msgstr "Подреждане по дата"
-#: gitk:4047
+#: gitk:4082
msgid "Mark branch sides"
msgstr "Отбелязване на страните по клона"
-#: gitk:4048
+#: gitk:4083
msgid "Limit to first parent"
msgstr "Само първия родител"
-#: gitk:4049
+#: gitk:4084
msgid "Simple history"
msgstr "Опростена история"
-#: gitk:4050
+#: gitk:4085
msgid "Additional arguments to git log:"
msgstr "Допълнителни аргументи към „git log“:"
-#: gitk:4051
+#: gitk:4086
msgid "Enter files and directories to include, one per line:"
msgstr "Въведете файловете и директориите за включване, по елемент на ред"
-#: gitk:4052
+#: gitk:4087
msgid "Command to generate more commits to include:"
msgstr ""
"Команда за генерирането на допълнителни подавания, които да бъдат включени:"
-#: gitk:4176
+#: gitk:4211
msgid "Gitk: edit view"
msgstr "Gitk: редактиране на изглед"
-#: gitk:4184
+#: gitk:4219
msgid "-- criteria for selecting revisions"
msgstr "— критерии за избор на версии"
-#: gitk:4189
+#: gitk:4224
msgid "View Name"
msgstr "Име на изглед"
-#: gitk:4264
+#: gitk:4299
msgid "Apply (F5)"
msgstr "Прилагане (F5)"
-#: gitk:4302
+#: gitk:4337
msgid "Error in commit selection arguments:"
msgstr "Грешка в аргументите за избор на подавания:"
-#: gitk:4355 gitk:4407 gitk:4868 gitk:4882 gitk:6152 gitk:12281 gitk:12282
+#: gitk:4392 gitk:4445 gitk:4906 gitk:4920 gitk:6190 gitk:12346 gitk:12347
msgid "None"
msgstr "Няма"
-#: gitk:4965 gitk:4970
+#: gitk:5003 gitk:5008
msgid "Descendant"
msgstr "Наследник"
-#: gitk:4966
+#: gitk:5004
msgid "Not descendant"
msgstr "Не е наследник"
-#: gitk:4973 gitk:4978
+#: gitk:5011 gitk:5016
msgid "Ancestor"
msgstr "Предшественик"
-#: gitk:4974
+#: gitk:5012
msgid "Not ancestor"
msgstr "Не е предшественик"
-#: gitk:5268
+#: gitk:5306
msgid "Local changes checked in to index but not committed"
msgstr "Локални промени добавени към индекса, но неподадени"
-#: gitk:5304
+#: gitk:5342
msgid "Local uncommitted changes, not checked in to index"
msgstr "Локални промени извън индекса"
-#: gitk:7077
+#: gitk:7115
msgid "and many more"
msgstr "и още много"
-#: gitk:7080
+#: gitk:7118
msgid "many"
msgstr "много"
-#: gitk:7271
+#: gitk:7309
msgid "Tags:"
msgstr "Етикети:"
-#: gitk:7288 gitk:7294 gitk:8760
+#: gitk:7326 gitk:7332 gitk:8806
msgid "Parent"
msgstr "Родител"
-#: gitk:7299
+#: gitk:7337
msgid "Child"
msgstr "Дете"
-#: gitk:7308
+#: gitk:7346
msgid "Branch"
msgstr "Клон"
-#: gitk:7311
+#: gitk:7349
msgid "Follows"
msgstr "Следва"
-#: gitk:7314
+#: gitk:7352
msgid "Precedes"
msgstr "Предшества"
-#: gitk:7901
+#: gitk:7947
#, tcl-format
msgid "Error getting diffs: %s"
msgstr "Грешка при получаването на разликите: %s"
-#: gitk:8585
+#: gitk:8631
msgid "Goto:"
msgstr "Към ред:"
-#: gitk:8606
+#: gitk:8652
#, tcl-format
msgid "Short SHA1 id %s is ambiguous"
msgstr "Съкратената сума по SHA1 %s не е еднозначна"
-#: gitk:8613
+#: gitk:8659
#, tcl-format
msgid "Revision %s is not known"
msgstr "Непозната версия %s"
-#: gitk:8623
+#: gitk:8669
#, tcl-format
msgid "SHA1 id %s is not known"
msgstr "Непозната сума по SHA1 %s"
-#: gitk:8625
+#: gitk:8671
#, tcl-format
msgid "Revision %s is not in the current view"
msgstr "Версия %s не е в текущия изглед"
-#: gitk:8767 gitk:8782
+#: gitk:8813 gitk:8828
msgid "Date"
msgstr "Дата"
-#: gitk:8770
+#: gitk:8816
msgid "Children"
msgstr "Деца"
-#: gitk:8833
+#: gitk:8879
#, tcl-format
msgid "Reset %s branch to here"
msgstr "Зануляване на клона „%s“ към текущото подаване"
-#: gitk:8835
+#: gitk:8881
msgid "Detached head: can't reset"
msgstr "Несвързан връх: невъзможно зануляване"
-#: gitk:8940 gitk:8946
+#: gitk:8986 gitk:8992
msgid "Skipping merge commit "
msgstr "Пропускане на подаването на сливането"
-#: gitk:8955 gitk:8960
+#: gitk:9001 gitk:9006
msgid "Error getting patch ID for "
msgstr "Грешка при получаването на идентификатора на "
-#: gitk:8956 gitk:8961
+#: gitk:9002 gitk:9007
msgid " - stopping\n"
msgstr " — спиране\n"
-#: gitk:8966 gitk:8969 gitk:8977 gitk:8991 gitk:9000
+#: gitk:9012 gitk:9015 gitk:9023 gitk:9037 gitk:9046
msgid "Commit "
msgstr "Подаване"
-#: gitk:8970
+#: gitk:9016
msgid ""
" is the same patch as\n"
" "
@@ -875,7 +885,7 @@ msgstr ""
" е същата кръпка като\n"
" "
-#: gitk:8978
+#: gitk:9024
msgid ""
" differs from\n"
" "
@@ -883,7 +893,7 @@ msgstr ""
" се различава от\n"
" "
-#: gitk:8980
+#: gitk:9026
msgid ""
"Diff of commits:\n"
"\n"
@@ -891,130 +901,130 @@ msgstr ""
"Разлика между подаванията:\n"
"\n"
-#: gitk:8992 gitk:9001
+#: gitk:9038 gitk:9047
#, tcl-format
msgid " has %s children - stopping\n"
msgstr " има %s деца — спиране\n"
-#: gitk:9020
+#: gitk:9066
#, tcl-format
msgid "Error writing commit to file: %s"
msgstr "Грешка при запазването на подаването във файл: %s"
-#: gitk:9026
+#: gitk:9072
#, tcl-format
msgid "Error diffing commits: %s"
msgstr "Грешка при изчисляването на разликите между подаванията: %s"
-#: gitk:9072
+#: gitk:9118
msgid "Top"
msgstr "Най-горе"
-#: gitk:9073
+#: gitk:9119
msgid "From"
msgstr "От"
-#: gitk:9078
+#: gitk:9124
msgid "To"
msgstr "До"
-#: gitk:9102
+#: gitk:9148
msgid "Generate patch"
msgstr "Генериране на кръпка"
-#: gitk:9104
+#: gitk:9150
msgid "From:"
msgstr "От:"
-#: gitk:9113
+#: gitk:9159
msgid "To:"
msgstr "До:"
-#: gitk:9122
+#: gitk:9168
msgid "Reverse"
msgstr "Обръщане"
-#: gitk:9124 gitk:9320
+#: gitk:9170 gitk:9366
msgid "Output file:"
msgstr "Запазване във файла:"
-#: gitk:9130
+#: gitk:9176
msgid "Generate"
msgstr "Генериране"
-#: gitk:9168
+#: gitk:9214
msgid "Error creating patch:"
msgstr "Грешка при създаването на кръпка:"
-#: gitk:9191 gitk:9308 gitk:9365
+#: gitk:9237 gitk:9354 gitk:9411
msgid "ID:"
msgstr "Идентификатор:"
-#: gitk:9200
+#: gitk:9246
msgid "Tag name:"
msgstr "Име на етикет:"
-#: gitk:9203
+#: gitk:9249
msgid "Tag message is optional"
msgstr "Съобщението за етикет е незадължително"
-#: gitk:9205
+#: gitk:9251
msgid "Tag message:"
msgstr "Съобщение за етикет:"
-#: gitk:9209 gitk:9374
+#: gitk:9255 gitk:9420
msgid "Create"
msgstr "Създаване"
-#: gitk:9227
+#: gitk:9273
msgid "No tag name specified"
msgstr "Липсва име на етикет"
-#: gitk:9231
+#: gitk:9277
#, tcl-format
msgid "Tag \"%s\" already exists"
msgstr "Етикетът „%s“ вече съществува"
-#: gitk:9241
+#: gitk:9287
msgid "Error creating tag:"
msgstr "Грешка при създаването на етикет:"
-#: gitk:9317
+#: gitk:9363
msgid "Command:"
msgstr "Команда:"
-#: gitk:9325
+#: gitk:9371
msgid "Write"
msgstr "Запазване"
-#: gitk:9343
+#: gitk:9389
msgid "Error writing commit:"
msgstr "Грешка при запазването на подаването:"
-#: gitk:9370
+#: gitk:9416
msgid "Name:"
msgstr "Име:"
-#: gitk:9393
+#: gitk:9439
msgid "Please specify a name for the new branch"
msgstr "Укажете име за новия клон"
-#: gitk:9398
+#: gitk:9444
#, tcl-format
msgid "Branch '%s' already exists. Overwrite?"
msgstr "Клонът „%s“ вече съществува. Да бъде ли презаписан?"
-#: gitk:9465
+#: gitk:9511
#, tcl-format
msgid "Commit %s is already included in branch %s -- really re-apply it?"
msgstr ""
"Подаването „%s“ вече е включено в клона „%s“ — да бъде ли приложено отново?"
-#: gitk:9470
+#: gitk:9516
msgid "Cherry-picking"
msgstr "Отбиране"
-#: gitk:9479
+#: gitk:9525
#, tcl-format
msgid ""
"Cherry-pick failed because of local changes to file '%s'.\n"
@@ -1023,7 +1033,7 @@ msgstr ""
"Неуспешно отбиране, защото във файла „%s“ има локални промени.\n"
"Подайте, занулете или ги скатайте и пробвайте отново."
-#: gitk:9485
+#: gitk:9531
msgid ""
"Cherry-pick failed because of merge conflict.\n"
"Do you wish to run git citool to resolve it?"
@@ -1031,20 +1041,20 @@ msgstr ""
"Неуспешно отбиране поради конфликти при сливане.\n"
"Искате ли да ги коригирате чрез „git citool“?"
-#: gitk:9501 gitk:9559
+#: gitk:9547 gitk:9605
msgid "No changes committed"
msgstr "Не са подадени промени"
-#: gitk:9528
+#: gitk:9574
#, tcl-format
msgid "Commit %s is not included in branch %s -- really revert it?"
msgstr "Подаването „%s“ не е включено в клона „%s“. Да бъде ли отменено?"
-#: gitk:9533
+#: gitk:9579
msgid "Reverting"
msgstr "Отмяна"
-#: gitk:9541
+#: gitk:9587
#, tcl-format
msgid ""
"Revert failed because of local changes to the following files:%s Please "
@@ -1053,7 +1063,7 @@ msgstr ""
"Неуспешна отмяна, защото във файла „%s“ има локални промени.\n"
"Подайте, занулете или ги скатайте и пробвайте отново.<"
-#: gitk:9545
+#: gitk:9591
msgid ""
"Revert failed because of merge conflict.\n"
" Do you wish to run git citool to resolve it?"
@@ -1061,28 +1071,28 @@ msgstr ""
"Неуспешно отмяна поради конфликти при сливане.\n"
"Искате ли да ги коригирате чрез „git citool“?"
-#: gitk:9588
+#: gitk:9634
msgid "Confirm reset"
msgstr "Потвърждаване на зануляването"
-#: gitk:9590
+#: gitk:9636
#, tcl-format
msgid "Reset branch %s to %s?"
msgstr "Да се занули ли клонът „%s“ към „%s“?"
-#: gitk:9592
+#: gitk:9638
msgid "Reset type:"
msgstr "Вид зануляване:"
-#: gitk:9595
+#: gitk:9641
msgid "Soft: Leave working tree and index untouched"
msgstr "Слабо: работното дърво и индекса остават същите"
-#: gitk:9598
+#: gitk:9644
msgid "Mixed: Leave working tree untouched, reset index"
msgstr "Смесено: работното дърво остава същото, индексът се занулява"
-#: gitk:9601
+#: gitk:9647
msgid ""
"Hard: Reset working tree and index\n"
"(discard ALL local changes)"
@@ -1090,19 +1100,19 @@ msgstr ""
"Силно: зануляване и на работното дърво, и на индекса\n"
"(*ВСИЧКИ* локални промени ще бъдат безвъзвратно загубени)"
-#: gitk:9618
+#: gitk:9664
msgid "Resetting"
msgstr "Зануляване"
-#: gitk:9678
+#: gitk:9724
msgid "Checking out"
msgstr "Изтегляне"
-#: gitk:9731
+#: gitk:9777
msgid "Cannot delete the currently checked-out branch"
msgstr "Текущо изтегленият клон не може да бъде изтрит"
-#: gitk:9737
+#: gitk:9783
#, tcl-format
msgid ""
"The commits on branch %s aren't on any other branch.\n"
@@ -1111,16 +1121,16 @@ msgstr ""
"Подаванията на клона „%s“ не са на никой друг клон.\n"
"Наистина ли да се изтрие клонът „%s“?"
-#: gitk:9768
+#: gitk:9814
#, tcl-format
msgid "Tags and heads: %s"
msgstr "Етикети и върхове: %s"
-#: gitk:9783
+#: gitk:9829
msgid "Filter"
msgstr "Филтриране"
-#: gitk:10079
+#: gitk:10125
msgid ""
"Error reading commit topology information; branch and preceding/following "
"tag information will be incomplete."
@@ -1128,213 +1138,213 @@ msgstr ""
"Грешка при прочитането на топологията на подаванията. Информацията за клона "
"и предшестващите/следващите етикети ще е непълна."
-#: gitk:11056
+#: gitk:11102
msgid "Tag"
msgstr "Етикет"
-#: gitk:11060
+#: gitk:11106
msgid "Id"
msgstr "Идентификатор"
-#: gitk:11143
+#: gitk:11189
msgid "Gitk font chooser"
msgstr "Избор на шрифт за Gitk"
-#: gitk:11160
+#: gitk:11206
msgid "B"
msgstr "Ч"
-#: gitk:11163
+#: gitk:11209
msgid "I"
msgstr "К"
-#: gitk:11281
+#: gitk:11327
msgid "Commit list display options"
msgstr "Настройки на списъка с подавания"
-#: gitk:11284
+#: gitk:11330
msgid "Maximum graph width (lines)"
msgstr "Максимална широчина на графа (в редове)"
-#: gitk:11287
-#, tcl-format
+#: gitk:11334
+#, no-tcl-format
msgid "Maximum graph width (% of pane)"
msgstr "Максимална широчина на графа (% от панела)"
-#: gitk:11290
+#: gitk:11337
msgid "Show local changes"
msgstr "Показване на локалните промени"
-#: gitk:11293
+#: gitk:11340
msgid "Auto-select SHA1 (length)"
msgstr "Автоматично избиране на SHA1 (дължина)"
-#: gitk:11297
+#: gitk:11344
msgid "Hide remote refs"
msgstr "Скриване на отдалечените указатели"
-#: gitk:11301
+#: gitk:11348
msgid "Diff display options"
msgstr "Настройки на показването на разликите"
-#: gitk:11303
+#: gitk:11350
msgid "Tab spacing"
msgstr "Широчина на табулатора"
-#: gitk:11306
+#: gitk:11353
msgid "Display nearby tags/heads"
msgstr "Извеждане на близките етикети и върхове"
-#: gitk:11309
+#: gitk:11356
msgid "Maximum # tags/heads to show"
msgstr "Максимален брой етикети/върхове за показване"
-#: gitk:11312
+#: gitk:11359
msgid "Limit diffs to listed paths"
msgstr "Разлика само в избраните пътища"
-#: gitk:11315
+#: gitk:11362
msgid "Support per-file encodings"
msgstr "Поддръжка на различни кодирания за всеки файл"
-#: gitk:11321 gitk:11468
+#: gitk:11368 gitk:11515
msgid "External diff tool"
msgstr "Външен инструмент за разлики"
-#: gitk:11322
+#: gitk:11369
msgid "Choose..."
msgstr "Избор…"
-#: gitk:11327
+#: gitk:11374
msgid "General options"
msgstr "Общи настройки"
-#: gitk:11330
+#: gitk:11377
msgid "Use themed widgets"
msgstr "Използване на тема за графичните обекти"
-#: gitk:11332
+#: gitk:11379
msgid "(change requires restart)"
msgstr "(промяната изисква рестартиране на Gitk)"
-#: gitk:11334
+#: gitk:11381
msgid "(currently unavailable)"
msgstr "(в момента недостъпно)"
-#: gitk:11345
+#: gitk:11392
msgid "Colors: press to choose"
msgstr "Цветове: избира се с натискане"
-#: gitk:11348
+#: gitk:11395
msgid "Interface"
msgstr "Интерфейс"
-#: gitk:11349
+#: gitk:11396
msgid "interface"
msgstr "интерфейс"
-#: gitk:11352
+#: gitk:11399
msgid "Background"
msgstr "Фон"
-#: gitk:11353 gitk:11383
+#: gitk:11400 gitk:11430
msgid "background"
msgstr "фон"
-#: gitk:11356
+#: gitk:11403
msgid "Foreground"
msgstr "Знаци"
-#: gitk:11357
+#: gitk:11404
msgid "foreground"
msgstr "знаци"
-#: gitk:11360
+#: gitk:11407
msgid "Diff: old lines"
msgstr "Разлика: стари редове"
-#: gitk:11361
+#: gitk:11408
msgid "diff old lines"
msgstr "разлика, стари редове"
-#: gitk:11365
+#: gitk:11412
msgid "Diff: new lines"
msgstr "Разлика: нови редове"
-#: gitk:11366
+#: gitk:11413
msgid "diff new lines"
msgstr "разлика, нови редове"
-#: gitk:11370
+#: gitk:11417
msgid "Diff: hunk header"
msgstr "Разлика: начало на парче"
-#: gitk:11372
+#: gitk:11419
msgid "diff hunk header"
msgstr "разлика, начало на парче"
-#: gitk:11376
+#: gitk:11423
msgid "Marked line bg"
msgstr "Фон на отбелязан ред"
-#: gitk:11378
+#: gitk:11425
msgid "marked line background"
msgstr "фон на отбелязан ред"
-#: gitk:11382
+#: gitk:11429
msgid "Select bg"
msgstr "Избор на фон"
-#: gitk:11391
+#: gitk:11438
msgid "Fonts: press to choose"
msgstr "Шрифтове: избира се с натискане"
-#: gitk:11393
+#: gitk:11440
msgid "Main font"
msgstr "Основен шрифт"
-#: gitk:11394
+#: gitk:11441
msgid "Diff display font"
msgstr "Шрифт за разликите"
-#: gitk:11395
+#: gitk:11442
msgid "User interface font"
msgstr "Шрифт на интерфейса"
-#: gitk:11417
+#: gitk:11464
msgid "Gitk preferences"
msgstr "Настройки на Gitk"
-#: gitk:11426
+#: gitk:11473
msgid "General"
msgstr "Общи"
-#: gitk:11427
+#: gitk:11474
msgid "Colors"
msgstr "Цветове"
-#: gitk:11428
+#: gitk:11475
msgid "Fonts"
msgstr "Шрифтове"
-#: gitk:11478
+#: gitk:11525
#, tcl-format
msgid "Gitk: choose color for %s"
msgstr "Gitk: избор на цвят на „%s“"
-#: gitk:12177
+#: gitk:12242
msgid "Cannot find a git repository here."
msgstr "Тук липсва хранилище на Git."
-#: gitk:12224
+#: gitk:12289
#, tcl-format
msgid "Ambiguous argument '%s': both revision and filename"
msgstr "Нееднозначен аргумент „%s“: има и такава версия, и такъв файл"
-#: gitk:12236
+#: gitk:12301
msgid "Bad arguments to gitk:"
msgstr "Неправилни аргументи на gitk:"
-#: gitk:12339
+#: gitk:12405
msgid "Command line"
msgstr "Команден ред"
diff --git a/gitk-git/po/ca.po b/gitk-git/po/ca.po
new file mode 100644
index 0000000000..2c1f60683c
--- /dev/null
+++ b/gitk-git/po/ca.po
@@ -0,0 +1,1354 @@
+# Translation of gitk
+# Copyright (C) 2005-2014 Paul Mackerras
+# This file is distributed under the same license as the gitk package.
+# Alex Henrie <alexhenrie24@gmail.com>, 2015.
+#
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: gitk\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2015-03-15 14:37+1100\n"
+"PO-Revision-Date: 2015-02-01 22:49-0700\n"
+"Last-Translator: Alex Henrie <alexhenrie24@gmail.com>\n"
+"Language-Team: Catalan\n"
+"Language: ca\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Generator: Poedit 1.7.3\n"
+
+#: gitk:140
+msgid "Couldn't get list of unmerged files:"
+msgstr "No s'ha pogut obtenir la llista de fitxers no fusionats:"
+
+#: gitk:212 gitk:2381
+msgid "Color words"
+msgstr "Colora les paraules"
+
+#: gitk:217 gitk:2381 gitk:8201 gitk:8234
+msgid "Markup words"
+msgstr "Marca les paraules"
+
+#: gitk:324
+msgid "Error parsing revisions:"
+msgstr "Error en analitzar les revisions:"
+
+#: gitk:380
+msgid "Error executing --argscmd command:"
+msgstr "Error en executar l'ordre --argscmd:"
+
+#: gitk:393
+msgid "No files selected: --merge specified but no files are unmerged."
+msgstr ""
+"No hi ha fitxers seleccionats: s'ha especificat --merge però cap fitxer està "
+"sense fusionar."
+
+#: gitk:396
+msgid ""
+"No files selected: --merge specified but no unmerged files are within file "
+"limit."
+msgstr ""
+"No hi ha fitxers seleccionats: s'ha especificat --merge però cap fitxer "
+"sense fusionar està dins del límit de fitxers."
+
+#: gitk:418 gitk:566
+msgid "Error executing git log:"
+msgstr "Error en executar git log:"
+
+#: gitk:436 gitk:582
+msgid "Reading"
+msgstr "Llegint"
+
+#: gitk:496 gitk:4508
+msgid "Reading commits..."
+msgstr "Llegint les revisions..."
+
+#: gitk:499 gitk:1637 gitk:4511
+msgid "No commits selected"
+msgstr "Cap comissió seleccionada"
+
+#: gitk:1511
+msgid "Can't parse git log output:"
+msgstr "No es pot analitzar la sortida del git log:"
+
+#: gitk:1740
+msgid "No commit information available"
+msgstr "Cap informació de comissió disponible"
+
+#: gitk:1897
+msgid "mc"
+msgstr "mc"
+
+#: gitk:1932 gitk:4298 gitk:9650 gitk:11220 gitk:11500
+msgid "OK"
+msgstr "D'acord"
+
+#: gitk:1934 gitk:4300 gitk:9177 gitk:9256 gitk:9372 gitk:9421 gitk:9652
+#: gitk:11221 gitk:11501
+msgid "Cancel"
+msgstr "Cancel·la"
+
+#: gitk:2069
+msgid "Update"
+msgstr "Actualitza"
+
+#: gitk:2070
+msgid "Reload"
+msgstr "Recarrega"
+
+#: gitk:2071
+msgid "Reread references"
+msgstr "Rellegeix les referències"
+
+#: gitk:2072
+msgid "List references"
+msgstr "Llista les referències"
+
+#: gitk:2074
+msgid "Start git gui"
+msgstr "Inicia el git gui"
+
+#: gitk:2076
+msgid "Quit"
+msgstr "Surt"
+
+#: gitk:2068
+msgid "File"
+msgstr "Fitxer"
+
+#: gitk:2080
+msgid "Preferences"
+msgstr "Preferències"
+
+#: gitk:2079
+msgid "Edit"
+msgstr "Edita"
+
+#: gitk:2084
+msgid "New view..."
+msgstr "Vista nova..."
+
+#: gitk:2085
+msgid "Edit view..."
+msgstr "Edita la vista..."
+
+#: gitk:2086
+msgid "Delete view"
+msgstr "Suprimeix vista"
+
+#: gitk:2088
+msgid "All files"
+msgstr "Tots els fitxers"
+
+#: gitk:2083 gitk:4050
+msgid "View"
+msgstr "Vista"
+
+#: gitk:2093 gitk:2103 gitk:3009
+msgid "About gitk"
+msgstr "Quant al gitk"
+
+#: gitk:2094 gitk:2108
+msgid "Key bindings"
+msgstr "Associacions de tecles"
+
+#: gitk:2092 gitk:2107
+msgid "Help"
+msgstr "Ajuda"
+
+#: gitk:2185 gitk:8633
+msgid "SHA1 ID:"
+msgstr "ID SHA1:"
+
+#: gitk:2229
+msgid "Row"
+msgstr "Fila"
+
+#: gitk:2267
+msgid "Find"
+msgstr "Cerca"
+
+#: gitk:2295
+msgid "commit"
+msgstr "comissió"
+
+#: gitk:2299 gitk:2301 gitk:4669 gitk:4692 gitk:4716 gitk:6736 gitk:6808
+#: gitk:6893
+msgid "containing:"
+msgstr "que contingui:"
+
+#: gitk:2302 gitk:3522 gitk:3527 gitk:4745
+msgid "touching paths:"
+msgstr "que toqui els camins:"
+
+#: gitk:2303 gitk:4759
+msgid "adding/removing string:"
+msgstr "que afegeixi/elimini la cadena:"
+
+#: gitk:2304 gitk:4761
+msgid "changing lines matching:"
+msgstr "que tingui línies canviades coincidents amb:"
+
+#: gitk:2313 gitk:2315 gitk:4748
+msgid "Exact"
+msgstr "Exacte"
+
+#: gitk:2315 gitk:4836 gitk:6704
+msgid "IgnCase"
+msgstr "Ignora majúscula i minúscula"
+
+#: gitk:2315 gitk:4718 gitk:4834 gitk:6700
+msgid "Regexp"
+msgstr "Regexp"
+
+#: gitk:2317 gitk:2318 gitk:4856 gitk:4886 gitk:4893 gitk:6829 gitk:6897
+msgid "All fields"
+msgstr "Tots els camps"
+
+#: gitk:2318 gitk:4853 gitk:4886 gitk:6767
+msgid "Headline"
+msgstr "Titular"
+
+#: gitk:2319 gitk:4853 gitk:6767 gitk:6897 gitk:7370
+msgid "Comments"
+msgstr "Comentaris"
+
+#: gitk:2319 gitk:4853 gitk:4858 gitk:4893 gitk:6767 gitk:7305 gitk:8811
+#: gitk:8826
+msgid "Author"
+msgstr "Autor"
+
+#: gitk:2319 gitk:4853 gitk:6767 gitk:7307
+msgid "Committer"
+msgstr "Comitent"
+
+#: gitk:2350
+msgid "Search"
+msgstr "Cerca"
+
+#: gitk:2358
+msgid "Diff"
+msgstr "Diferència"
+
+#: gitk:2360
+msgid "Old version"
+msgstr "Versió antiga"
+
+#: gitk:2362
+msgid "New version"
+msgstr "Versió nova"
+
+#: gitk:2364
+msgid "Lines of context"
+msgstr "Línies de context"
+
+#: gitk:2374
+msgid "Ignore space change"
+msgstr "Ignora canvis d'espai"
+
+#: gitk:2378 gitk:2380 gitk:7940 gitk:8187
+msgid "Line diff"
+msgstr "Diferència de línies"
+
+#: gitk:2445
+msgid "Patch"
+msgstr "Pedaç"
+
+#: gitk:2447
+msgid "Tree"
+msgstr "Arbre"
+
+#: gitk:2616 gitk:2636
+msgid "Diff this -> selected"
+msgstr "Diferencia aquesta -> la seleccionada"
+
+#: gitk:2617 gitk:2637
+msgid "Diff selected -> this"
+msgstr "Diferencia la seleccionada -> aquesta"
+
+#: gitk:2618 gitk:2638
+msgid "Make patch"
+msgstr "Fes pedaç"
+
+#: gitk:2619 gitk:9235
+msgid "Create tag"
+msgstr "Crea etiqueta"
+
+#: gitk:2620 gitk:9352
+msgid "Write commit to file"
+msgstr "Escriu la comissió a un fitxer"
+
+#: gitk:2621 gitk:9409
+msgid "Create new branch"
+msgstr "Crea una branca nova"
+
+#: gitk:2622
+msgid "Cherry-pick this commit"
+msgstr "Recull aquesta comissió com a cirera"
+
+#: gitk:2623
+msgid "Reset HEAD branch to here"
+msgstr "Restableix la branca HEAD aquí"
+
+#: gitk:2624
+msgid "Mark this commit"
+msgstr "Marca aquesta comissió"
+
+#: gitk:2625
+msgid "Return to mark"
+msgstr "Torna a la marca"
+
+#: gitk:2626
+msgid "Find descendant of this and mark"
+msgstr "Troba la descendent d'aquesta i marca-la"
+
+#: gitk:2627
+msgid "Compare with marked commit"
+msgstr "Compara amb la comissió marcada"
+
+#: gitk:2628 gitk:2639
+msgid "Diff this -> marked commit"
+msgstr "Diferencia aquesta -> la comissió marcada"
+
+#: gitk:2629 gitk:2640
+msgid "Diff marked commit -> this"
+msgstr "Diferencia la comissió seleccionada -> aquesta"
+
+#: gitk:2630
+msgid "Revert this commit"
+msgstr "Reverteix aquesta comissió"
+
+#: gitk:2646
+msgid "Check out this branch"
+msgstr "Agafa aquesta branca"
+
+#: gitk:2647
+msgid "Remove this branch"
+msgstr "Elimina aquesta branca"
+
+#: gitk:2654
+msgid "Highlight this too"
+msgstr "Ressalta aquest també"
+
+#: gitk:2655
+msgid "Highlight this only"
+msgstr "Ressalta només aquest"
+
+#: gitk:2656
+msgid "External diff"
+msgstr "Diferència externa"
+
+#: gitk:2657
+msgid "Blame parent commit"
+msgstr "Culpabilitat de la comissió mare"
+
+#: gitk:2664
+msgid "Show origin of this line"
+msgstr "Mostra l'origen d'aquesta línia"
+
+#: gitk:2665
+msgid "Run git gui blame on this line"
+msgstr "Executa git gui blame en aquesta línia"
+
+#: gitk:3011
+msgid ""
+"\n"
+"Gitk - a commit viewer for git\n"
+"\n"
+"Copyright © 2005-2014 Paul Mackerras\n"
+"\n"
+"Use and redistribute under the terms of the GNU General Public License"
+msgstr ""
+"\n"
+"Gitk - visualitzador de comissions per al git\n"
+"\n"
+"Copyright © 2005-2014 Paul Mackerras\n"
+"\n"
+"Useu-lo i redistribuïu-lo sota els termes de la Llicència Pública General GNU"
+
+#: gitk:3019 gitk:3085 gitk:9836
+msgid "Close"
+msgstr "Tanca"
+
+#: gitk:3040
+msgid "Gitk key bindings"
+msgstr "Associacions de tecles del Gitk"
+
+#: gitk:3043
+msgid "Gitk key bindings:"
+msgstr "Associacions de tecles del Gitk:"
+
+#: gitk:3045
+#, tcl-format
+msgid "<%s-Q>\t\tQuit"
+msgstr "<%s-Q>\t\tSurt"
+
+#: gitk:3046
+#, tcl-format
+msgid "<%s-W>\t\tClose window"
+msgstr "<%s-W>\t\tTanca la finestra"
+
+#: gitk:3047
+msgid "<Home>\t\tMove to first commit"
+msgstr "<Inici>\t\tVés a la primera comissió"
+
+#: gitk:3048
+msgid "<End>\t\tMove to last commit"
+msgstr "<Fi>\t\tVés a l'última comissió"
+
+#: gitk:3049
+msgid "<Up>, p, k\tMove up one commit"
+msgstr "<Amunt>, p, k\tMou-te una comissió amunt"
+
+#: gitk:3050
+msgid "<Down>, n, j\tMove down one commit"
+msgstr "<Avall>, n, j\tMou-te una comissió avall"
+
+#: gitk:3051
+msgid "<Left>, z, h\tGo back in history list"
+msgstr "<Esquerra>, z, h\tRetrocedeix en la llista d'història"
+
+#: gitk:3052
+msgid "<Right>, x, l\tGo forward in history list"
+msgstr "<Dreta>, x, l\tAvança en la llista d'història"
+
+#: gitk:3053
+#, tcl-format
+msgid "<%s-n>\tGo to n-th parent of current commit in history list"
+msgstr ""
+"<%s-n>\tVés a l'enèsima mare de la comissió actual en la llista d'història"
+
+#: gitk:3054
+msgid "<PageUp>\tMove up one page in commit list"
+msgstr "<RePàg>\tBaixa una pàgina en la llista de comissions"
+
+#: gitk:3055
+msgid "<PageDown>\tMove down one page in commit list"
+msgstr "<AvPàg>\tBaixa per una pàgina en la llista de comissions"
+
+#: gitk:3056
+#, tcl-format
+msgid "<%s-Home>\tScroll to top of commit list"
+msgstr "<%s-Inici>\tDesplaça't a la part superior de la llista de comissions"
+
+#: gitk:3057
+#, tcl-format
+msgid "<%s-End>\tScroll to bottom of commit list"
+msgstr "<%s-Fi>\tDesplaça't a la part inferior de la llista de comissions"
+
+#: gitk:3058
+#, tcl-format
+msgid "<%s-Up>\tScroll commit list up one line"
+msgstr "<%s-Amunt>\tDesplaça la llista de comissions una línia cap amunt"
+
+#: gitk:3059
+#, tcl-format
+msgid "<%s-Down>\tScroll commit list down one line"
+msgstr "<%s-Avall>\tDesplaça la llista de comissions una línia cap avall"
+
+#: gitk:3060
+#, tcl-format
+msgid "<%s-PageUp>\tScroll commit list up one page"
+msgstr "<%s-RePàg>\tDesplaça la llista de comissions amunt per una pàgina"
+
+#: gitk:3061
+#, tcl-format
+msgid "<%s-PageDown>\tScroll commit list down one page"
+msgstr "<%s-AvPàg>\tDesplaça la llista de comissions una pàgina cap avall"
+
+#: gitk:3062
+msgid "<Shift-Up>\tFind backwards (upwards, later commits)"
+msgstr "<Maj-Amunt>\tCerca cap enrere (amunt, les comissions més noves)"
+
+#: gitk:3063
+msgid "<Shift-Down>\tFind forwards (downwards, earlier commits)"
+msgstr "<Maj-Avall>\tCerca cap endavant (avall, les comissions més velles)"
+
+#: gitk:3064
+msgid "<Delete>, b\tScroll diff view up one page"
+msgstr "<Supr>, b\tDesplaça la vista de diferència una pàgina cap amunt"
+
+#: gitk:3065
+msgid "<Backspace>\tScroll diff view up one page"
+msgstr "<Retrocés>\tDesplaça la vista de diferència una pàgina cap amunt"
+
+#: gitk:3066
+msgid "<Space>\t\tScroll diff view down one page"
+msgstr "<Espai>\t\tDesplaça la vista de diferència una pàgina cap avall"
+
+#: gitk:3067
+msgid "u\t\tScroll diff view up 18 lines"
+msgstr "u\t\tDesplaça la vista de diferència 18 línies cap amunt"
+
+#: gitk:3068
+msgid "d\t\tScroll diff view down 18 lines"
+msgstr "d\t\tDesplaça la vista de diferència 18 línies cap avall "
+
+#: gitk:3069
+#, tcl-format
+msgid "<%s-F>\t\tFind"
+msgstr "<%s-F>\t\tCerca"
+
+#: gitk:3070
+#, tcl-format
+msgid "<%s-G>\t\tMove to next find hit"
+msgstr "<%s-G>\t\tMou-te a la propera coincidència de la cerca"
+
+#: gitk:3071
+msgid "<Return>\tMove to next find hit"
+msgstr "<Retorn>\tMou-te a la propera coincidència de la cerca"
+
+#: gitk:3072
+msgid "/\t\tFocus the search box"
+msgstr "/\t\tPosa el focus a la caixa de cerca"
+
+#: gitk:3073
+msgid "?\t\tMove to previous find hit"
+msgstr "?\t\tMou a la coincidència prèvia de la cerca"
+
+#: gitk:3074
+msgid "f\t\tScroll diff view to next file"
+msgstr "f\t\tDesplaça la vista de diferència al proper fitxer"
+
+#: gitk:3075
+#, tcl-format
+msgid "<%s-S>\t\tSearch for next hit in diff view"
+msgstr "<%s-S>\t\tCerca la propera coincidència en la vista de diferència"
+
+#: gitk:3076
+#, tcl-format
+msgid "<%s-R>\t\tSearch for previous hit in diff view"
+msgstr "<%s-R>\t\tCerca la coincidència prèvia en la vista de diferència"
+
+#: gitk:3077
+#, tcl-format
+msgid "<%s-KP+>\tIncrease font size"
+msgstr "<%s-KP+>\tAugmenta la mida de lletra"
+
+#: gitk:3078
+#, tcl-format
+msgid "<%s-plus>\tIncrease font size"
+msgstr "<%s-més>\tAugmenta la mida de lletra"
+
+#: gitk:3079
+#, tcl-format
+msgid "<%s-KP->\tDecrease font size"
+msgstr "<%s-KP->\tDisminueix la mida de lletra"
+
+#: gitk:3080
+#, tcl-format
+msgid "<%s-minus>\tDecrease font size"
+msgstr "<%s-menys>\tDisminueix la mida de lletra"
+
+#: gitk:3081
+msgid "<F5>\t\tUpdate"
+msgstr "<F5>\t\tActualitza"
+
+#: gitk:3546 gitk:3555
+#, tcl-format
+msgid "Error creating temporary directory %s:"
+msgstr "Error en crear el directori temporal %s:"
+
+#: gitk:3568
+#, tcl-format
+msgid "Error getting \"%s\" from %s:"
+msgstr "Error en obtenir \"%s\" de %s:"
+
+#: gitk:3631
+msgid "command failed:"
+msgstr "l'ordre ha fallat:"
+
+#: gitk:3780
+msgid "No such commit"
+msgstr "Cap comissió així"
+
+#: gitk:3794
+msgid "git gui blame: command failed:"
+msgstr "git gui blame: l'ordre ha fallat:"
+
+#: gitk:3825
+#, tcl-format
+msgid "Couldn't read merge head: %s"
+msgstr "No s'ha pogut llegir el cap de fusió: %s"
+
+#: gitk:3833
+#, tcl-format
+msgid "Error reading index: %s"
+msgstr "Error en llegir l'índex: %s"
+
+#: gitk:3858
+#, tcl-format
+msgid "Couldn't start git blame: %s"
+msgstr "No s'ha pogut iniciar el git blame: %s"
+
+#: gitk:3861 gitk:6735
+msgid "Searching"
+msgstr "Cercant"
+
+#: gitk:3893
+#, tcl-format
+msgid "Error running git blame: %s"
+msgstr "Error en executar el git blame: %s"
+
+#: gitk:3921
+#, tcl-format
+msgid "That line comes from commit %s, which is not in this view"
+msgstr ""
+"Aquella línia ve de la comissió %s, la qual no és en aquesta visualització"
+
+#: gitk:3935
+msgid "External diff viewer failed:"
+msgstr "El visualitzador de diferència extern ha fallat:"
+
+#: gitk:4053
+msgid "Gitk view definition"
+msgstr "Definició de vista del Gitk"
+
+#: gitk:4057
+msgid "Remember this view"
+msgstr "Recorda aquesta vista"
+
+#: gitk:4058
+msgid "References (space separated list):"
+msgstr "Referències (llista separada per espais)"
+
+#: gitk:4059
+msgid "Branches & tags:"
+msgstr "Branques i etiquetes:"
+
+#: gitk:4060
+msgid "All refs"
+msgstr "Totes les referències"
+
+#: gitk:4061
+msgid "All (local) branches"
+msgstr "Totes les branques (locals)"
+
+#: gitk:4062
+msgid "All tags"
+msgstr "Totes les etiquetes"
+
+#: gitk:4063
+msgid "All remote-tracking branches"
+msgstr "Totes les branques amb seguiment remot"
+
+#: gitk:4064
+msgid "Commit Info (regular expressions):"
+msgstr "Informació de comissió (expressions regulars):"
+
+#: gitk:4065
+msgid "Author:"
+msgstr "Autor:"
+
+#: gitk:4066
+msgid "Committer:"
+msgstr "Comitent:"
+
+#: gitk:4067
+msgid "Commit Message:"
+msgstr "Missatge de comissió:"
+
+#: gitk:4068
+msgid "Matches all Commit Info criteria"
+msgstr "Coincideix amb tots els criteris d'informació de comissió"
+
+#: gitk:4069
+#, fuzzy
+msgid "Matches none Commit Info criteria"
+msgstr "Coincideix amb tots els criteris d'informació de comissió"
+
+#: gitk:4070
+msgid "Changes to Files:"
+msgstr "Canvis als fitxers:"
+
+#: gitk:4071
+msgid "Fixed String"
+msgstr "Cadena fixa"
+
+#: gitk:4072
+msgid "Regular Expression"
+msgstr "Expressió regular"
+
+#: gitk:4073
+msgid "Search string:"
+msgstr "Cadena de cerca:"
+
+#: gitk:4074
+msgid ""
+"Commit Dates (\"2 weeks ago\", \"2009-03-17 15:27:38\", \"March 17, 2009 "
+"15:27:38\"):"
+msgstr ""
+"Dates de comissió (\"fa 2 setmanes\", \"2009-03-17 15:27:38\", \"17 abr 2009 "
+"15:27:38\"):"
+
+#: gitk:4075
+msgid "Since:"
+msgstr "Des de:"
+
+#: gitk:4076
+msgid "Until:"
+msgstr "Fins:"
+
+#: gitk:4077
+msgid "Limit and/or skip a number of revisions (positive integer):"
+msgstr "Limita o salta un nombre de revisions (nombre enter positiu)"
+
+#: gitk:4078
+msgid "Number to show:"
+msgstr "Nombre a mostrar:"
+
+#: gitk:4079
+msgid "Number to skip:"
+msgstr "Nombre a saltar:"
+
+#: gitk:4080
+msgid "Miscellaneous options:"
+msgstr "Opcions miscel·lànies:"
+
+#: gitk:4081
+msgid "Strictly sort by date"
+msgstr "Ordena estrictament per data"
+
+#: gitk:4082
+msgid "Mark branch sides"
+msgstr "Marca els costats de les branques"
+
+#: gitk:4083
+msgid "Limit to first parent"
+msgstr "Limita a la primera mare"
+
+#: gitk:4084
+msgid "Simple history"
+msgstr "Història senzilla"
+
+#: gitk:4085
+msgid "Additional arguments to git log:"
+msgstr "Paràmetres addicionals al git log:"
+
+#: gitk:4086
+msgid "Enter files and directories to include, one per line:"
+msgstr "Introduïu els fitxers i directoris a incloure, un per línia:"
+
+#: gitk:4087
+msgid "Command to generate more commits to include:"
+msgstr "Ordre per a generar més comissions a incloure:"
+
+#: gitk:4211
+msgid "Gitk: edit view"
+msgstr "Gitk: vista d'edició"
+
+#: gitk:4219
+msgid "-- criteria for selecting revisions"
+msgstr "-- criteris per a seleccionar les revisions"
+
+#: gitk:4224
+msgid "View Name"
+msgstr "Nom de vista"
+
+#: gitk:4299
+msgid "Apply (F5)"
+msgstr "Aplica (F5)"
+
+#: gitk:4337
+msgid "Error in commit selection arguments:"
+msgstr "Error en els paràmetres de selecció de comissions:"
+
+#: gitk:4392 gitk:4445 gitk:4906 gitk:4920 gitk:6190 gitk:12346 gitk:12347
+msgid "None"
+msgstr "Cap"
+
+#: gitk:5003 gitk:5008
+msgid "Descendant"
+msgstr "Descendent"
+
+#: gitk:5004
+msgid "Not descendant"
+msgstr "No descendent"
+
+#: gitk:5011 gitk:5016
+msgid "Ancestor"
+msgstr "Avantpassat"
+
+#: gitk:5012
+msgid "Not ancestor"
+msgstr "No avantpassat"
+
+#: gitk:5306
+msgid "Local changes checked in to index but not committed"
+msgstr "Canvis locals registrats en l'índex però no comesos"
+
+#: gitk:5342
+msgid "Local uncommitted changes, not checked in to index"
+msgstr "Canvis locals sense cometre, no registrats en l'índex"
+
+#: gitk:7115
+msgid "and many more"
+msgstr "i moltes més"
+
+#: gitk:7118
+msgid "many"
+msgstr "moltes"
+
+#: gitk:7309
+msgid "Tags:"
+msgstr "Etiquetes:"
+
+#: gitk:7326 gitk:7332 gitk:8806
+msgid "Parent"
+msgstr "Mare"
+
+#: gitk:7337
+msgid "Child"
+msgstr "Filla"
+
+#: gitk:7346
+msgid "Branch"
+msgstr "Branca"
+
+#: gitk:7349
+msgid "Follows"
+msgstr "Segueix"
+
+#: gitk:7352
+msgid "Precedes"
+msgstr "Precedeix"
+
+#: gitk:7947
+#, tcl-format
+msgid "Error getting diffs: %s"
+msgstr "Error en obtenir les diferències: %s"
+
+#: gitk:8631
+msgid "Goto:"
+msgstr "Vés a:"
+
+#: gitk:8652
+#, tcl-format
+msgid "Short SHA1 id %s is ambiguous"
+msgstr "L'id SHA1 curta %s és ambigua"
+
+#: gitk:8659
+#, tcl-format
+msgid "Revision %s is not known"
+msgstr "La revisió %s és desconeguda"
+
+#: gitk:8669
+#, tcl-format
+msgid "SHA1 id %s is not known"
+msgstr "L'id SHA1 %s és desconeguda"
+
+#: gitk:8671
+#, tcl-format
+msgid "Revision %s is not in the current view"
+msgstr "La revisió %s no és en la vista actual"
+
+#: gitk:8813 gitk:8828
+msgid "Date"
+msgstr "Data"
+
+#: gitk:8816
+msgid "Children"
+msgstr "Filles"
+
+#: gitk:8879
+#, tcl-format
+msgid "Reset %s branch to here"
+msgstr "Restableix la branca %s aquí"
+
+#: gitk:8881
+msgid "Detached head: can't reset"
+msgstr "Cap separat: no es pot restablir"
+
+#: gitk:8986 gitk:8992
+msgid "Skipping merge commit "
+msgstr "Saltant la comissió de fusió "
+
+#: gitk:9001 gitk:9006
+msgid "Error getting patch ID for "
+msgstr "Error en obtenir l'ID de pedaç de "
+
+#: gitk:9002 gitk:9007
+msgid " - stopping\n"
+msgstr " - aturant\n"
+
+#: gitk:9012 gitk:9015 gitk:9023 gitk:9037 gitk:9046
+msgid "Commit "
+msgstr "Comissió "
+
+#: gitk:9016
+msgid ""
+" is the same patch as\n"
+" "
+msgstr ""
+" és el mateix pedaç que\n"
+" "
+
+#: gitk:9024
+msgid ""
+" differs from\n"
+" "
+msgstr ""
+" difereix de\n"
+" "
+
+#: gitk:9026
+msgid ""
+"Diff of commits:\n"
+"\n"
+msgstr ""
+"Diferència entre comissions:\n"
+"\n"
+
+#: gitk:9038 gitk:9047
+#, tcl-format
+msgid " has %s children - stopping\n"
+msgstr " té %s filles - aturant\n"
+
+#: gitk:9066
+#, tcl-format
+msgid "Error writing commit to file: %s"
+msgstr "Error en escriure la comissió al fitxer: %s"
+
+#: gitk:9072
+#, tcl-format
+msgid "Error diffing commits: %s"
+msgstr "Error en diferenciar les comissions: %s"
+
+#: gitk:9118
+msgid "Top"
+msgstr "Part superior"
+
+#: gitk:9119
+msgid "From"
+msgstr "De"
+
+#: gitk:9124
+msgid "To"
+msgstr "A"
+
+#: gitk:9148
+msgid "Generate patch"
+msgstr "Genera pedaç"
+
+#: gitk:9150
+msgid "From:"
+msgstr "De:"
+
+#: gitk:9159
+msgid "To:"
+msgstr "A:"
+
+#: gitk:9168
+msgid "Reverse"
+msgstr "Inverteix"
+
+#: gitk:9170 gitk:9366
+msgid "Output file:"
+msgstr "Fitxer de sortida:"
+
+#: gitk:9176
+msgid "Generate"
+msgstr "Genera"
+
+#: gitk:9214
+msgid "Error creating patch:"
+msgstr "Error en crear el pedaç:"
+
+#: gitk:9237 gitk:9354 gitk:9411
+msgid "ID:"
+msgstr "ID:"
+
+#: gitk:9246
+msgid "Tag name:"
+msgstr "Nom d'etiqueta:"
+
+#: gitk:9249
+msgid "Tag message is optional"
+msgstr "El missatge d'etiqueta és opcional"
+
+#: gitk:9251
+msgid "Tag message:"
+msgstr "Missatge d'etiqueta:"
+
+#: gitk:9255 gitk:9420
+msgid "Create"
+msgstr "Crea"
+
+#: gitk:9273
+msgid "No tag name specified"
+msgstr "No s'ha especificat cap nom d'etiqueta"
+
+#: gitk:9277
+#, tcl-format
+msgid "Tag \"%s\" already exists"
+msgstr "L'etiqueta \"%s\" ja existeix"
+
+#: gitk:9287
+msgid "Error creating tag:"
+msgstr "Error en crear l'etiqueta:"
+
+#: gitk:9363
+msgid "Command:"
+msgstr "Ordre:"
+
+#: gitk:9371
+msgid "Write"
+msgstr "Escriu"
+
+#: gitk:9389
+msgid "Error writing commit:"
+msgstr "Error en escriure la comissió:"
+
+#: gitk:9416
+msgid "Name:"
+msgstr "Nom:"
+
+#: gitk:9439
+msgid "Please specify a name for the new branch"
+msgstr "Si us plau, especifiqueu un nom per a la branca nova"
+
+#: gitk:9444
+#, tcl-format
+msgid "Branch '%s' already exists. Overwrite?"
+msgstr "La branca '%s' ja existeix. Voleu sobreescriure?"
+
+#: gitk:9511
+#, tcl-format
+msgid "Commit %s is already included in branch %s -- really re-apply it?"
+msgstr ""
+"La comissió %s ja està inclosa en la branca %s -- realment voleu tornar a "
+"aplicar-la?"
+
+#: gitk:9516
+msgid "Cherry-picking"
+msgstr "Recollint cireres"
+
+#: gitk:9525
+#, tcl-format
+msgid ""
+"Cherry-pick failed because of local changes to file '%s'.\n"
+"Please commit, reset or stash your changes and try again."
+msgstr ""
+"El recull de cireres ha fallat a causa de canvis locals al fitxer '%s'.\n"
+"Si us plau, cometeu, restabliu o emmagatzemeu els vostres canvis i torneu a "
+"intentar."
+
+#: gitk:9531
+msgid ""
+"Cherry-pick failed because of merge conflict.\n"
+"Do you wish to run git citool to resolve it?"
+msgstr ""
+"El recull de cireres ha fallat a causa d'un conflicte de fusió.\n"
+"Voleu executar el git citool per a resoldre'l?"
+
+#: gitk:9547 gitk:9605
+msgid "No changes committed"
+msgstr "Cap canvi comès"
+
+#: gitk:9574
+#, tcl-format
+msgid "Commit %s is not included in branch %s -- really revert it?"
+msgstr ""
+"La comissió %s no s'inclou en la branca %s -- realment voleu revertir-la?"
+
+#: gitk:9579
+msgid "Reverting"
+msgstr "Revertint"
+
+#: gitk:9587
+#, tcl-format
+msgid ""
+"Revert failed because of local changes to the following files:%s Please "
+"commit, reset or stash your changes and try again."
+msgstr ""
+"La reversió ha fallat a causa de canvis locals als fitxers següents:%s Si us "
+"plau, cometeu, restabliu o emmagatzemeu els vostres canvis i torneu-ho a "
+"intentar."
+
+#: gitk:9591
+msgid ""
+"Revert failed because of merge conflict.\n"
+" Do you wish to run git citool to resolve it?"
+msgstr ""
+"La reversió ha fallat a causa d'un conflicte de fusió.\n"
+" Voleu executar el git citool per a resoldre'l?"
+
+#: gitk:9634
+msgid "Confirm reset"
+msgstr "Confirma el restabliment"
+
+#: gitk:9636
+#, tcl-format
+msgid "Reset branch %s to %s?"
+msgstr "Voleu restablir la branca %s a %s?"
+
+#: gitk:9638
+msgid "Reset type:"
+msgstr "Tipus de restabliment:"
+
+#: gitk:9641
+msgid "Soft: Leave working tree and index untouched"
+msgstr "Suau: Deixa l'arbre de treball i l'índex sense tocar"
+
+#: gitk:9644
+msgid "Mixed: Leave working tree untouched, reset index"
+msgstr "Mixt: Deixa l'arbre de treball sense tocar, restableix l'índex"
+
+#: gitk:9647
+msgid ""
+"Hard: Reset working tree and index\n"
+"(discard ALL local changes)"
+msgstr ""
+"Dur: Restableix l'arbre de treball i l'índex\n"
+"(descarta TOTS els canvis locals)"
+
+#: gitk:9664
+msgid "Resetting"
+msgstr "Restablint"
+
+#: gitk:9724
+msgid "Checking out"
+msgstr "Agafant"
+
+#: gitk:9777
+msgid "Cannot delete the currently checked-out branch"
+msgstr "No es pot suprimir la branca actualment agafada"
+
+#: gitk:9783
+#, tcl-format
+msgid ""
+"The commits on branch %s aren't on any other branch.\n"
+"Really delete branch %s?"
+msgstr ""
+"Les comissions en la branca %s no són en cap altra branca.\n"
+"Realment voleu suprimir la branca %s?"
+
+#: gitk:9814
+#, tcl-format
+msgid "Tags and heads: %s"
+msgstr "Etiquetes i caps: %s"
+
+#: gitk:9829
+msgid "Filter"
+msgstr "Filtre"
+
+#: gitk:10125
+msgid ""
+"Error reading commit topology information; branch and preceding/following "
+"tag information will be incomplete."
+msgstr ""
+"Error en llegir la informació de topologia de comissió; la informació sobre "
+"branques i etiquetes precedents/següents serà incompleta."
+
+#: gitk:11102
+msgid "Tag"
+msgstr "Etiqueta"
+
+#: gitk:11106
+msgid "Id"
+msgstr "Id"
+
+#: gitk:11189
+msgid "Gitk font chooser"
+msgstr "Selector de tipus de lletra del Gitk"
+
+#: gitk:11206
+msgid "B"
+msgstr "B"
+
+#: gitk:11209
+msgid "I"
+msgstr "I"
+
+#: gitk:11327
+msgid "Commit list display options"
+msgstr "Opcions de visualització de la llista de comissions"
+
+#: gitk:11330
+msgid "Maximum graph width (lines)"
+msgstr "Amplada màxima del gràfic (línies)"
+
+#: gitk:11334
+#, no-tcl-format
+msgid "Maximum graph width (% of pane)"
+msgstr "Amplada màxima del gràfic (% del panell)"
+
+#: gitk:11337
+msgid "Show local changes"
+msgstr "Mostra els canvis locals"
+
+#: gitk:11340
+msgid "Auto-select SHA1 (length)"
+msgstr "Selecciona automàticament l'SHA1 (longitud)"
+
+#: gitk:11344
+msgid "Hide remote refs"
+msgstr "Amaga les referències remotes"
+
+#: gitk:11348
+msgid "Diff display options"
+msgstr "Opcions de visualització de diferència"
+
+#: gitk:11350
+msgid "Tab spacing"
+msgstr "Espaiat de tabulació"
+
+#: gitk:11353
+msgid "Display nearby tags/heads"
+msgstr "Mostra etiquetes/caps propers"
+
+#: gitk:11356
+msgid "Maximum # tags/heads to show"
+msgstr "Nombre màxim d'etiquetes/caps a mostrar"
+
+#: gitk:11359
+msgid "Limit diffs to listed paths"
+msgstr "Limita les diferències als camins llistats"
+
+#: gitk:11362
+msgid "Support per-file encodings"
+msgstr "Admet codificacions específiques per a cada fitxer"
+
+#: gitk:11368 gitk:11515
+msgid "External diff tool"
+msgstr "Eina de diferència externa"
+
+#: gitk:11369
+msgid "Choose..."
+msgstr "Trieu..."
+
+#: gitk:11374
+msgid "General options"
+msgstr "Opcions generals"
+
+#: gitk:11377
+msgid "Use themed widgets"
+msgstr "Usa els ginys tematitzats"
+
+#: gitk:11379
+msgid "(change requires restart)"
+msgstr "(el canvi requereix reiniciar)"
+
+#: gitk:11381
+msgid "(currently unavailable)"
+msgstr "(actualment no disponible)"
+
+#: gitk:11392
+msgid "Colors: press to choose"
+msgstr "Colors: pressiona per a triar"
+
+#: gitk:11395
+msgid "Interface"
+msgstr "Interfície"
+
+#: gitk:11396
+msgid "interface"
+msgstr "interfície"
+
+#: gitk:11399
+msgid "Background"
+msgstr "Fons"
+
+#: gitk:11400 gitk:11430
+msgid "background"
+msgstr "fons"
+
+#: gitk:11403
+msgid "Foreground"
+msgstr "Primer pla"
+
+#: gitk:11404
+msgid "foreground"
+msgstr "primer pla"
+
+#: gitk:11407
+msgid "Diff: old lines"
+msgstr "Diferència: línies velles"
+
+#: gitk:11408
+msgid "diff old lines"
+msgstr "diferencia les línies velles"
+
+#: gitk:11412
+msgid "Diff: new lines"
+msgstr "Diferència: línies noves"
+
+#: gitk:11413
+msgid "diff new lines"
+msgstr "diferencia les línies noves"
+
+#: gitk:11417
+msgid "Diff: hunk header"
+msgstr "Diferència: capçalera de tros"
+
+#: gitk:11419
+msgid "diff hunk header"
+msgstr "diferencia la capçalera de tros"
+
+#: gitk:11423
+msgid "Marked line bg"
+msgstr "Fons de la línia marcada"
+
+#: gitk:11425
+msgid "marked line background"
+msgstr "fons de la línia marcada"
+
+#: gitk:11429
+msgid "Select bg"
+msgstr "fons de la selecció"
+
+#: gitk:11438
+msgid "Fonts: press to choose"
+msgstr "Tipus de lletra: pressiona per a triar"
+
+#: gitk:11440
+msgid "Main font"
+msgstr "Tipus de lletra principal"
+
+#: gitk:11441
+msgid "Diff display font"
+msgstr "Tipus de lletra de visualització de diferència"
+
+#: gitk:11442
+msgid "User interface font"
+msgstr "Tipus de lletra de la interfície d'usuari"
+
+#: gitk:11464
+msgid "Gitk preferences"
+msgstr "Preferències del Gitk"
+
+#: gitk:11473
+msgid "General"
+msgstr "General"
+
+#: gitk:11474
+msgid "Colors"
+msgstr "Colors"
+
+#: gitk:11475
+msgid "Fonts"
+msgstr "Tipus de lletra"
+
+#: gitk:11525
+#, tcl-format
+msgid "Gitk: choose color for %s"
+msgstr "Gitk: tria el color per a %s"
+
+#: gitk:12242
+msgid "Cannot find a git repository here."
+msgstr "No es pot trobar cap dipòsit de git aquí."
+
+#: gitk:12289
+#, tcl-format
+msgid "Ambiguous argument '%s': both revision and filename"
+msgstr "Paràmetre ambigu '%s': és tant revisió com nom de fitxer"
+
+#: gitk:12301
+msgid "Bad arguments to gitk:"
+msgstr "Paràmetres dolents al gitk:"
+
+#: gitk:12405
+msgid "Command line"
+msgstr "Línia d'ordres"
diff --git a/gitk-git/po/de.po b/gitk-git/po/de.po
index bd194a3dff..dabd4eefb5 100644
--- a/gitk-git/po/de.po
+++ b/gitk-git/po/de.po
@@ -8,33 +8,42 @@ msgid ""
msgstr ""
"Project-Id-Version: git-gui\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-01-27 20:21+0100\n"
+"POT-Creation-Date: 2015-03-15 14:37+1100\n"
"PO-Revision-Date: 2010-01-27 20:27+0100\n"
"Last-Translator: Christian Stimming <stimming@tuhh.de>\n"
"Language-Team: German\n"
+"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-#: gitk:115
+#: gitk:140
msgid "Couldn't get list of unmerged files:"
msgstr "Liste der nicht zusammengeführten Dateien nicht gefunden:"
-#: gitk:274
+#: gitk:212 gitk:2381
+msgid "Color words"
+msgstr ""
+
+#: gitk:217 gitk:2381 gitk:8201 gitk:8234
+msgid "Markup words"
+msgstr ""
+
+#: gitk:324
msgid "Error parsing revisions:"
msgstr "Fehler beim Laden der Versionen:"
-#: gitk:329
+#: gitk:380
msgid "Error executing --argscmd command:"
msgstr "Fehler beim Ausführen des --argscmd-Kommandos:"
-#: gitk:342
+#: gitk:393
msgid "No files selected: --merge specified but no files are unmerged."
msgstr ""
"Keine Dateien ausgewählt: Es wurde --merge angegeben, aber es existieren "
"keine nicht zusammengeführten Dateien."
-#: gitk:345
+#: gitk:396
msgid ""
"No files selected: --merge specified but no unmerged files are within file "
"limit."
@@ -42,299 +51,315 @@ msgstr ""
"Keine Dateien ausgewählt: Es wurde --merge angegeben, aber es sind keine "
"nicht zusammengeführten Dateien in der Dateiauswahl."
-#: gitk:367 gitk:514
+#: gitk:418 gitk:566
msgid "Error executing git log:"
msgstr "Fehler beim Ausführen von »git log«:"
-#: gitk:385 gitk:530
+#: gitk:436 gitk:582
msgid "Reading"
msgstr "Lesen"
-#: gitk:445 gitk:4261
+#: gitk:496 gitk:4508
msgid "Reading commits..."
msgstr "Versionen werden gelesen ..."
-#: gitk:448 gitk:1578 gitk:4264
+#: gitk:499 gitk:1637 gitk:4511
msgid "No commits selected"
msgstr "Keine Versionen ausgewählt"
-#: gitk:1454
+#: gitk:1511
msgid "Can't parse git log output:"
msgstr "Ausgabe von »git log« kann nicht erkannt werden:"
-#: gitk:1674
+#: gitk:1740
msgid "No commit information available"
msgstr "Keine Versionsinformation verfügbar"
-#: gitk:1816
+#: gitk:1897
msgid "mc"
msgstr "mc"
-#: gitk:1851 gitk:4054 gitk:9044 gitk:10585 gitk:10804
+#: gitk:1932 gitk:4298 gitk:9650 gitk:11220 gitk:11500
msgid "OK"
msgstr "Ok"
-#: gitk:1853 gitk:4056 gitk:8634 gitk:8713 gitk:8828 gitk:8877 gitk:9046
-#: gitk:10586 gitk:10805
+#: gitk:1934 gitk:4300 gitk:9177 gitk:9256 gitk:9372 gitk:9421 gitk:9652
+#: gitk:11221 gitk:11501
msgid "Cancel"
msgstr "Abbrechen"
-#: gitk:1975
+#: gitk:2069
msgid "Update"
msgstr "Aktualisieren"
-#: gitk:1976
+#: gitk:2070
msgid "Reload"
msgstr "Neu laden"
-#: gitk:1977
+#: gitk:2071
msgid "Reread references"
msgstr "Zweige neu laden"
-#: gitk:1978
+#: gitk:2072
msgid "List references"
msgstr "Zweige/Markierungen auflisten"
-#: gitk:1980
+#: gitk:2074
msgid "Start git gui"
msgstr "»git gui« starten"
-#: gitk:1982
+#: gitk:2076
msgid "Quit"
msgstr "Beenden"
-#: gitk:1974
+#: gitk:2068
msgid "File"
msgstr "Datei"
-#: gitk:1986
+#: gitk:2080
msgid "Preferences"
msgstr "Einstellungen"
-#: gitk:1985
+#: gitk:2079
msgid "Edit"
msgstr "Bearbeiten"
-#: gitk:1990
+#: gitk:2084
msgid "New view..."
msgstr "Neue Ansicht ..."
-#: gitk:1991
+#: gitk:2085
msgid "Edit view..."
msgstr "Ansicht bearbeiten ..."
-#: gitk:1992
+#: gitk:2086
msgid "Delete view"
msgstr "Ansicht entfernen"
-#: gitk:1994
+#: gitk:2088
msgid "All files"
msgstr "Alle Dateien"
-#: gitk:1989 gitk:3808
+#: gitk:2083 gitk:4050
msgid "View"
msgstr "Ansicht"
-#: gitk:1999 gitk:2009 gitk:2780
+#: gitk:2093 gitk:2103 gitk:3009
msgid "About gitk"
msgstr "Über gitk"
-#: gitk:2000 gitk:2014
+#: gitk:2094 gitk:2108
msgid "Key bindings"
msgstr "Tastenkürzel"
-#: gitk:1998 gitk:2013
+#: gitk:2092 gitk:2107
msgid "Help"
msgstr "Hilfe"
-#: gitk:2091 gitk:8110
+#: gitk:2185 gitk:8633
msgid "SHA1 ID:"
msgstr "SHA1 ID:"
-#: gitk:2122
+#: gitk:2229
msgid "Row"
msgstr "Zeile"
-#: gitk:2160
+#: gitk:2267
msgid "Find"
msgstr "Suche"
-#: gitk:2161
-msgid "next"
-msgstr "nächste"
-
-#: gitk:2162
-msgid "prev"
-msgstr "vorige"
-
-#: gitk:2163
+#: gitk:2295
msgid "commit"
msgstr "Version nach"
-#: gitk:2166 gitk:2168 gitk:4422 gitk:4445 gitk:4469 gitk:6410 gitk:6482
-#: gitk:6566
+#: gitk:2299 gitk:2301 gitk:4669 gitk:4692 gitk:4716 gitk:6736 gitk:6808
+#: gitk:6893
msgid "containing:"
msgstr "Beschreibung:"
-#: gitk:2169 gitk:3290 gitk:3295 gitk:4497
+#: gitk:2302 gitk:3522 gitk:3527 gitk:4745
msgid "touching paths:"
msgstr "Dateien:"
-#: gitk:2170 gitk:4502
+#: gitk:2303 gitk:4759
msgid "adding/removing string:"
msgstr "Änderungen:"
-#: gitk:2179 gitk:2181
+#: gitk:2304 gitk:4761
+msgid "changing lines matching:"
+msgstr ""
+
+#: gitk:2313 gitk:2315 gitk:4748
msgid "Exact"
msgstr "Exakt"
-#: gitk:2181 gitk:4577 gitk:6378
+#: gitk:2315 gitk:4836 gitk:6704
msgid "IgnCase"
msgstr "Kein Groß/Klein"
-#: gitk:2181 gitk:4471 gitk:4575 gitk:6374
+#: gitk:2315 gitk:4718 gitk:4834 gitk:6700
msgid "Regexp"
msgstr "Regexp"
-#: gitk:2183 gitk:2184 gitk:4596 gitk:4626 gitk:4633 gitk:6502 gitk:6570
+#: gitk:2317 gitk:2318 gitk:4856 gitk:4886 gitk:4893 gitk:6829 gitk:6897
msgid "All fields"
msgstr "Alle Felder"
-#: gitk:2184 gitk:4594 gitk:4626 gitk:6441
+#: gitk:2318 gitk:4853 gitk:4886 gitk:6767
msgid "Headline"
msgstr "Überschrift"
-#: gitk:2185 gitk:4594 gitk:6441 gitk:6570 gitk:7003
+#: gitk:2319 gitk:4853 gitk:6767 gitk:6897 gitk:7370
msgid "Comments"
msgstr "Beschreibung"
-#: gitk:2185 gitk:4594 gitk:4598 gitk:4633 gitk:6441 gitk:6938 gitk:8285
-#: gitk:8300
+#: gitk:2319 gitk:4853 gitk:4858 gitk:4893 gitk:6767 gitk:7305 gitk:8811
+#: gitk:8826
msgid "Author"
msgstr "Autor"
-#: gitk:2185 gitk:4594 gitk:6441 gitk:6940
+#: gitk:2319 gitk:4853 gitk:6767 gitk:7307
msgid "Committer"
msgstr "Eintragender"
-#: gitk:2216
+#: gitk:2350
msgid "Search"
msgstr "Suchen"
-#: gitk:2224
+#: gitk:2358
msgid "Diff"
msgstr "Vergleich"
-#: gitk:2226
+#: gitk:2360
msgid "Old version"
msgstr "Alte Version"
-#: gitk:2228
+#: gitk:2362
msgid "New version"
msgstr "Neue Version"
-#: gitk:2230
+#: gitk:2364
msgid "Lines of context"
msgstr "Kontextzeilen"
-#: gitk:2240
+#: gitk:2374
msgid "Ignore space change"
msgstr "Leerzeichenänderungen ignorieren"
-#: gitk:2299
+#: gitk:2378 gitk:2380 gitk:7940 gitk:8187
+msgid "Line diff"
+msgstr ""
+
+#: gitk:2445
msgid "Patch"
msgstr "Patch"
-#: gitk:2301
+#: gitk:2447
msgid "Tree"
msgstr "Baum"
-#: gitk:2456 gitk:2473
+#: gitk:2616 gitk:2636
msgid "Diff this -> selected"
msgstr "Vergleich: diese -> gewählte"
-#: gitk:2457 gitk:2474
+#: gitk:2617 gitk:2637
msgid "Diff selected -> this"
msgstr "Vergleich: gewählte -> diese"
-#: gitk:2458 gitk:2475
+#: gitk:2618 gitk:2638
msgid "Make patch"
msgstr "Patch erstellen"
-#: gitk:2459 gitk:8692
+#: gitk:2619 gitk:9235
msgid "Create tag"
msgstr "Markierung erstellen"
-#: gitk:2460 gitk:8808
+#: gitk:2620 gitk:9352
msgid "Write commit to file"
msgstr "Version in Datei schreiben"
-#: gitk:2461 gitk:8865
+#: gitk:2621 gitk:9409
msgid "Create new branch"
msgstr "Neuen Zweig erstellen"
-#: gitk:2462
+#: gitk:2622
msgid "Cherry-pick this commit"
msgstr "Diese Version pflücken"
-#: gitk:2463
+#: gitk:2623
msgid "Reset HEAD branch to here"
msgstr "HEAD-Zweig auf diese Version zurücksetzen"
-#: gitk:2464
+#: gitk:2624
msgid "Mark this commit"
msgstr "Lesezeichen setzen"
-#: gitk:2465
+#: gitk:2625
msgid "Return to mark"
msgstr "Zum Lesezeichen"
-#: gitk:2466
+#: gitk:2626
msgid "Find descendant of this and mark"
msgstr "Abkömmling von Lesezeichen und dieser Version finden"
-#: gitk:2467
+#: gitk:2627
msgid "Compare with marked commit"
msgstr "Mit Lesezeichen vergleichen"
-#: gitk:2481
+#: gitk:2628 gitk:2639
+#, fuzzy
+msgid "Diff this -> marked commit"
+msgstr "Vergleich: diese -> gewählte"
+
+#: gitk:2629 gitk:2640
+#, fuzzy
+msgid "Diff marked commit -> this"
+msgstr "Vergleich: gewählte -> diese"
+
+#: gitk:2630
+#, fuzzy
+msgid "Revert this commit"
+msgstr "Lesezeichen setzen"
+
+#: gitk:2646
msgid "Check out this branch"
msgstr "Auf diesen Zweig umstellen"
-#: gitk:2482
+#: gitk:2647
msgid "Remove this branch"
msgstr "Zweig löschen"
-#: gitk:2489
+#: gitk:2654
msgid "Highlight this too"
msgstr "Diesen auch hervorheben"
-#: gitk:2490
+#: gitk:2655
msgid "Highlight this only"
msgstr "Nur diesen hervorheben"
-#: gitk:2491
+#: gitk:2656
msgid "External diff"
msgstr "Externes Diff-Programm"
-#: gitk:2492
+#: gitk:2657
msgid "Blame parent commit"
msgstr "Annotieren der Elternversion"
-#: gitk:2499
+#: gitk:2664
msgid "Show origin of this line"
msgstr "Herkunft dieser Zeile anzeigen"
-#: gitk:2500
+#: gitk:2665
msgid "Run git gui blame on this line"
msgstr "Diese Zeile annotieren (»git gui blame«)"
-#: gitk:2782
+#: gitk:3011
+#, fuzzy
msgid ""
"\n"
"Gitk - a commit viewer for git\n"
"\n"
-"Copyright \\u00a9 2005-2010 Paul Mackerras\n"
+"Copyright © 2005-2014 Paul Mackerras\n"
"\n"
"Use and redistribute under the terms of the GNU General Public License"
msgstr ""
@@ -343,500 +368,520 @@ msgstr ""
"\n"
"Copyright \\u00a9 2005-2010 Paul Mackerras\n"
"\n"
-"Benutzung und Weiterverbreitung gemäß den Bedingungen der GNU General Public License"
+"Benutzung und Weiterverbreitung gemäß den Bedingungen der GNU General Public "
+"License"
-#: gitk:2790 gitk:2854 gitk:9230
+#: gitk:3019 gitk:3085 gitk:9836
msgid "Close"
msgstr "Schließen"
-#: gitk:2811
+#: gitk:3040
msgid "Gitk key bindings"
msgstr "Gitk-Tastaturbelegung"
-#: gitk:2814
+#: gitk:3043
msgid "Gitk key bindings:"
msgstr "Gitk-Tastaturbelegung:"
-#: gitk:2816
+#: gitk:3045
#, tcl-format
msgid "<%s-Q>\t\tQuit"
msgstr "<%s-Q>\t\tBeenden"
-#: gitk:2817
+#: gitk:3046
+#, fuzzy, tcl-format
+msgid "<%s-W>\t\tClose window"
+msgstr "<%s-F>\t\tSuchen"
+
+#: gitk:3047
msgid "<Home>\t\tMove to first commit"
msgstr "<Pos1>\t\tZur neuesten Version springen"
-#: gitk:2818
+#: gitk:3048
msgid "<End>\t\tMove to last commit"
msgstr "<Ende>\t\tZur ältesten Version springen"
-#: gitk:2819
-msgid "<Up>, p, i\tMove up one commit"
+#: gitk:3049
+#, fuzzy
+msgid "<Up>, p, k\tMove up one commit"
msgstr "<Hoch>, p, i\tNächste neuere Version"
-#: gitk:2820
-msgid "<Down>, n, k\tMove down one commit"
+#: gitk:3050
+#, fuzzy
+msgid "<Down>, n, j\tMove down one commit"
msgstr "<Runter>, n, k\tNächste ältere Version"
-#: gitk:2821
-msgid "<Left>, z, j\tGo back in history list"
+#: gitk:3051
+#, fuzzy
+msgid "<Left>, z, h\tGo back in history list"
msgstr "<Links>, z, j\tEine Version zurückgehen"
-#: gitk:2822
+#: gitk:3052
msgid "<Right>, x, l\tGo forward in history list"
msgstr "<Rechts>, x, l\tEine Version weitergehen"
-#: gitk:2823
+#: gitk:3053
+#, tcl-format
+msgid "<%s-n>\tGo to n-th parent of current commit in history list"
+msgstr ""
+
+#: gitk:3054
msgid "<PageUp>\tMove up one page in commit list"
msgstr "<BildHoch>\tEine Seite nach oben blättern"
-#: gitk:2824
+#: gitk:3055
msgid "<PageDown>\tMove down one page in commit list"
msgstr "<BildRunter>\tEine Seite nach unten blättern"
-#: gitk:2825
+#: gitk:3056
#, tcl-format
msgid "<%s-Home>\tScroll to top of commit list"
msgstr "<%s-Pos1>\tZum oberen Ende der Versionsliste blättern"
-#: gitk:2826
+#: gitk:3057
#, tcl-format
msgid "<%s-End>\tScroll to bottom of commit list"
msgstr "<%s-Ende>\tZum unteren Ende der Versionsliste blättern"
-#: gitk:2827
+#: gitk:3058
#, tcl-format
msgid "<%s-Up>\tScroll commit list up one line"
msgstr "<%s-Hoch>\tVersionsliste eine Zeile nach oben blättern"
-#: gitk:2828
+#: gitk:3059
#, tcl-format
msgid "<%s-Down>\tScroll commit list down one line"
msgstr "<%s-Runter>\tVersionsliste eine Zeile nach unten blättern"
-#: gitk:2829
+#: gitk:3060
#, tcl-format
msgid "<%s-PageUp>\tScroll commit list up one page"
msgstr "<%s-BildHoch>\tVersionsliste eine Seite nach oben blättern"
-#: gitk:2830
+#: gitk:3061
#, tcl-format
msgid "<%s-PageDown>\tScroll commit list down one page"
msgstr "<%s-BildRunter>\tVersionsliste eine Seite nach unten blättern"
-#: gitk:2831
+#: gitk:3062
msgid "<Shift-Up>\tFind backwards (upwards, later commits)"
msgstr "<Umschalt-Hoch>\tRückwärts suchen (nach oben; neuere Versionen)"
-#: gitk:2832
+#: gitk:3063
msgid "<Shift-Down>\tFind forwards (downwards, earlier commits)"
msgstr "<Umschalt-Runter> Suchen (nach unten; ältere Versionen)"
-#: gitk:2833
+#: gitk:3064
msgid "<Delete>, b\tScroll diff view up one page"
msgstr "<Entf>, b\t\tVergleich eine Seite nach oben blättern"
-#: gitk:2834
+#: gitk:3065
msgid "<Backspace>\tScroll diff view up one page"
msgstr "<Löschtaste>\tVergleich eine Seite nach oben blättern"
-#: gitk:2835
+#: gitk:3066
msgid "<Space>\t\tScroll diff view down one page"
msgstr "<Leertaste>\tVergleich eine Seite nach unten blättern"
-#: gitk:2836
+#: gitk:3067
msgid "u\t\tScroll diff view up 18 lines"
msgstr "u\t\tVergleich um 18 Zeilen nach oben blättern"
-#: gitk:2837
+#: gitk:3068
msgid "d\t\tScroll diff view down 18 lines"
msgstr "d\t\tVergleich um 18 Zeilen nach unten blättern"
-#: gitk:2838
+#: gitk:3069
#, tcl-format
msgid "<%s-F>\t\tFind"
msgstr "<%s-F>\t\tSuchen"
-#: gitk:2839
+#: gitk:3070
#, tcl-format
msgid "<%s-G>\t\tMove to next find hit"
msgstr "<%s-G>\t\tWeitersuchen"
-#: gitk:2840
+#: gitk:3071
msgid "<Return>\tMove to next find hit"
msgstr "<Eingabetaste>\tWeitersuchen"
-#: gitk:2841
+#: gitk:3072
msgid "/\t\tFocus the search box"
msgstr "/\t\tTastaturfokus ins Suchfeld"
-#: gitk:2842
+#: gitk:3073
msgid "?\t\tMove to previous find hit"
msgstr "?\t\tRückwärts weitersuchen"
-#: gitk:2843
+#: gitk:3074
msgid "f\t\tScroll diff view to next file"
msgstr "f\t\tVergleich zur nächsten Datei blättern"
-#: gitk:2844
+#: gitk:3075
#, tcl-format
msgid "<%s-S>\t\tSearch for next hit in diff view"
msgstr "<%s-S>\t\tWeitersuchen im Vergleich"
-#: gitk:2845
+#: gitk:3076
#, tcl-format
msgid "<%s-R>\t\tSearch for previous hit in diff view"
msgstr "<%s-R>\t\tRückwärts weitersuchen im Vergleich"
-#: gitk:2846
+#: gitk:3077
#, tcl-format
msgid "<%s-KP+>\tIncrease font size"
msgstr "<%s-Nummerblock-Plus>\tSchrift vergrößern"
-#: gitk:2847
+#: gitk:3078
#, tcl-format
msgid "<%s-plus>\tIncrease font size"
msgstr "<%s-Plus>\tSchrift vergrößern"
-#: gitk:2848
+#: gitk:3079
#, tcl-format
msgid "<%s-KP->\tDecrease font size"
msgstr "<%s-Nummernblock-Minus> Schrift verkleinern"
-#: gitk:2849
+#: gitk:3080
#, tcl-format
msgid "<%s-minus>\tDecrease font size"
msgstr "<%s-Minus>\tSchrift verkleinern"
-#: gitk:2850
+#: gitk:3081
msgid "<F5>\t\tUpdate"
msgstr "<F5>\t\tAktualisieren"
-#: gitk:3305 gitk:3314
+#: gitk:3546 gitk:3555
#, tcl-format
msgid "Error creating temporary directory %s:"
msgstr "Fehler beim Erzeugen des temporären Verzeichnisses »%s«:"
-#: gitk:3327
+#: gitk:3568
#, tcl-format
msgid "Error getting \"%s\" from %s:"
msgstr "Fehler beim Holen von »%s« von »%s«:"
-#: gitk:3390
+#: gitk:3631
msgid "command failed:"
msgstr "Kommando fehlgeschlagen:"
-#: gitk:3539
+#: gitk:3780
msgid "No such commit"
msgstr "Version nicht gefunden"
-#: gitk:3553
+#: gitk:3794
msgid "git gui blame: command failed:"
msgstr "git gui blame: Kommando fehlgeschlagen:"
-#: gitk:3584
+#: gitk:3825
#, tcl-format
msgid "Couldn't read merge head: %s"
msgstr "Zusammenführungs-Spitze konnte nicht gelesen werden: %s"
-#: gitk:3592
+#: gitk:3833
#, tcl-format
msgid "Error reading index: %s"
msgstr "Fehler beim Lesen der Bereitstellung (»index«): %s"
-#: gitk:3617
+#: gitk:3858
#, tcl-format
msgid "Couldn't start git blame: %s"
msgstr "»git blame« konnte nicht gestartet werden: %s"
-#: gitk:3620 gitk:6409
+#: gitk:3861 gitk:6735
msgid "Searching"
msgstr "Suchen"
-#: gitk:3652
+#: gitk:3893
#, tcl-format
msgid "Error running git blame: %s"
msgstr "Fehler beim Ausführen von »git blame«: %s"
-#: gitk:3680
+#: gitk:3921
#, tcl-format
msgid "That line comes from commit %s, which is not in this view"
msgstr ""
"Diese Zeile stammt aus Version %s, die nicht in dieser Ansicht gezeigt wird"
-#: gitk:3694
+#: gitk:3935
msgid "External diff viewer failed:"
msgstr "Externes Diff-Programm fehlgeschlagen:"
-#: gitk:3812
+#: gitk:4053
msgid "Gitk view definition"
msgstr "Gitk-Ansichten"
-#: gitk:3816
+#: gitk:4057
msgid "Remember this view"
msgstr "Diese Ansicht speichern"
-#: gitk:3817
+#: gitk:4058
msgid "References (space separated list):"
msgstr "Zweige/Markierungen (durch Leerzeichen getrennte Liste):"
-#: gitk:3818
+#: gitk:4059
msgid "Branches & tags:"
msgstr "Zweige/Markierungen:"
-#: gitk:3819
+#: gitk:4060
msgid "All refs"
msgstr "Alle Markierungen und Zweige"
-#: gitk:3820
+#: gitk:4061
msgid "All (local) branches"
msgstr "Alle (lokalen) Zweige"
-#: gitk:3821
+#: gitk:4062
msgid "All tags"
msgstr "Alle Markierungen"
-#: gitk:3822
+#: gitk:4063
msgid "All remote-tracking branches"
msgstr "Alle Übernahmezweige"
-#: gitk:3823
+#: gitk:4064
msgid "Commit Info (regular expressions):"
msgstr "Versionsinformationen (reguläre Ausdrücke):"
-#: gitk:3824
+#: gitk:4065
msgid "Author:"
msgstr "Autor:"
-#: gitk:3825
+#: gitk:4066
msgid "Committer:"
msgstr "Eintragender:"
-#: gitk:3826
+#: gitk:4067
msgid "Commit Message:"
msgstr "Versionsbeschreibung:"
-#: gitk:3827
+#: gitk:4068
msgid "Matches all Commit Info criteria"
msgstr "Alle Versionsinformationen-Kriterien erfüllen"
-#: gitk:3828
+#: gitk:4069
+#, fuzzy
+msgid "Matches none Commit Info criteria"
+msgstr "Alle Versionsinformationen-Kriterien erfüllen"
+
+#: gitk:4070
msgid "Changes to Files:"
msgstr "Dateien:"
-#: gitk:3829
+#: gitk:4071
msgid "Fixed String"
msgstr "Zeichenkette"
-#: gitk:3830
+#: gitk:4072
msgid "Regular Expression"
msgstr "Regulärer Ausdruck"
-#: gitk:3831
+#: gitk:4073
msgid "Search string:"
msgstr "Suchausdruck:"
-#: gitk:3832
+#: gitk:4074
msgid ""
"Commit Dates (\"2 weeks ago\", \"2009-03-17 15:27:38\", \"March 17, 2009 "
"15:27:38\"):"
-msgstr "Datum (»2 weeks ago«, »2009-03-17 15:27:38«, »March 17, 2009 15:27:38«)"
+msgstr ""
+"Datum (»2 weeks ago«, »2009-03-17 15:27:38«, »March 17, 2009 15:27:38«)"
-#: gitk:3833
+#: gitk:4075
msgid "Since:"
msgstr "Von:"
-#: gitk:3834
+#: gitk:4076
msgid "Until:"
msgstr "Bis:"
-#: gitk:3835
+#: gitk:4077
msgid "Limit and/or skip a number of revisions (positive integer):"
msgstr "Versionsanzahl begrenzen oder einige überspringen (ganzzahliger Wert):"
-#: gitk:3836
+#: gitk:4078
msgid "Number to show:"
msgstr "Anzeigen:"
-#: gitk:3837
+#: gitk:4079
msgid "Number to skip:"
msgstr "Überspringen:"
-#: gitk:3838
+#: gitk:4080
msgid "Miscellaneous options:"
msgstr "Sonstiges:"
-#: gitk:3839
+#: gitk:4081
msgid "Strictly sort by date"
msgstr "Streng nach Datum sortieren"
-#: gitk:3840
+#: gitk:4082
msgid "Mark branch sides"
msgstr "Zweig-Seiten markieren"
-#: gitk:3841
+#: gitk:4083
msgid "Limit to first parent"
msgstr "Auf erste Elternversion beschränken"
-#: gitk:3842
+#: gitk:4084
msgid "Simple history"
msgstr "Einfache Historie"
-#: gitk:3843
+#: gitk:4085
msgid "Additional arguments to git log:"
msgstr "Zusätzliche Argumente für »git log«:"
-#: gitk:3844
+#: gitk:4086
msgid "Enter files and directories to include, one per line:"
msgstr "Folgende Dateien und Verzeichnisse anzeigen (eine pro Zeile):"
-#: gitk:3845
+#: gitk:4087
msgid "Command to generate more commits to include:"
msgstr "Versionsliste durch folgendes Kommando erzeugen lassen:"
-#: gitk:3967
+#: gitk:4211
msgid "Gitk: edit view"
msgstr "Gitk: Ansicht bearbeiten"
-#: gitk:3975
+#: gitk:4219
msgid "-- criteria for selecting revisions"
msgstr "-- Auswahl der angezeigten Versionen"
-#: gitk:3980
+#: gitk:4224
msgid "View Name"
msgstr "Ansichtsname"
-#: gitk:4055
+#: gitk:4299
msgid "Apply (F5)"
msgstr "Anwenden (F5)"
-#: gitk:4093
+#: gitk:4337
msgid "Error in commit selection arguments:"
msgstr "Fehler in den ausgewählten Versionen:"
-#: gitk:4146 gitk:4198 gitk:4646 gitk:4660 gitk:5921 gitk:11534 gitk:11535
+#: gitk:4392 gitk:4445 gitk:4906 gitk:4920 gitk:6190 gitk:12346 gitk:12347
msgid "None"
msgstr "Keine"
-#: gitk:4594 gitk:6441 gitk:8287 gitk:8302
-msgid "Date"
-msgstr "Datum"
-
-#: gitk:4594 gitk:6441
-msgid "CDate"
-msgstr "Eintragedatum"
-
-#: gitk:4743 gitk:4748
+#: gitk:5003 gitk:5008
msgid "Descendant"
msgstr "Abkömmling"
-#: gitk:4744
+#: gitk:5004
msgid "Not descendant"
msgstr "Kein Abkömmling"
-#: gitk:4751 gitk:4756
+#: gitk:5011 gitk:5016
msgid "Ancestor"
msgstr "Vorgänger"
-#: gitk:4752
+#: gitk:5012
msgid "Not ancestor"
msgstr "Kein Vorgänger"
-#: gitk:5042
+#: gitk:5306
msgid "Local changes checked in to index but not committed"
msgstr "Lokale Änderungen bereitgestellt, aber nicht eingetragen"
-#: gitk:5078
+#: gitk:5342
msgid "Local uncommitted changes, not checked in to index"
msgstr "Lokale Änderungen, nicht bereitgestellt"
-#: gitk:6759
+#: gitk:7115
+msgid "and many more"
+msgstr ""
+
+#: gitk:7118
msgid "many"
msgstr "viele"
-#: gitk:6942
+#: gitk:7309
msgid "Tags:"
msgstr "Markierungen:"
-#: gitk:6959 gitk:6965 gitk:8280
+#: gitk:7326 gitk:7332 gitk:8806
msgid "Parent"
msgstr "Eltern"
-#: gitk:6970
+#: gitk:7337
msgid "Child"
msgstr "Kind"
-#: gitk:6979
+#: gitk:7346
msgid "Branch"
msgstr "Zweig"
-#: gitk:6982
+#: gitk:7349
msgid "Follows"
msgstr "Folgt auf"
-#: gitk:6985
+#: gitk:7352
msgid "Precedes"
msgstr "Vorgänger von"
-#: gitk:7522
+#: gitk:7947
#, tcl-format
msgid "Error getting diffs: %s"
msgstr "Fehler beim Laden des Vergleichs: %s"
-#: gitk:8108
+#: gitk:8631
msgid "Goto:"
msgstr "Gehe zu:"
-#: gitk:8129
+#: gitk:8652
#, tcl-format
msgid "Short SHA1 id %s is ambiguous"
msgstr "Kurzer SHA1-Hashwert »%s« ist mehrdeutig"
-#: gitk:8136
+#: gitk:8659
#, tcl-format
msgid "Revision %s is not known"
msgstr "Version »%s« ist unbekannt"
-#: gitk:8146
+#: gitk:8669
#, tcl-format
msgid "SHA1 id %s is not known"
msgstr "SHA1-Hashwert »%s« ist unbekannt"
-#: gitk:8148
+#: gitk:8671
#, tcl-format
msgid "Revision %s is not in the current view"
msgstr "Version »%s« wird in der aktuellen Ansicht nicht angezeigt"
-#: gitk:8290
+#: gitk:8813 gitk:8828
+msgid "Date"
+msgstr "Datum"
+
+#: gitk:8816
msgid "Children"
msgstr "Kinder"
-#: gitk:8348
+#: gitk:8879
#, tcl-format
msgid "Reset %s branch to here"
msgstr "Zweig »%s« hierher zurücksetzen"
-#: gitk:8350
+#: gitk:8881
msgid "Detached head: can't reset"
msgstr "Zweigspitze ist abgetrennt: Zurücksetzen nicht möglich"
-#: gitk:8459 gitk:8465
+#: gitk:8986 gitk:8992
msgid "Skipping merge commit "
msgstr "Überspringe Zusammenführungs-Version "
-#: gitk:8474 gitk:8479
+#: gitk:9001 gitk:9006
msgid "Error getting patch ID for "
msgstr "Fehler beim Holen der Patch-ID für "
-#: gitk:8475 gitk:8480
+#: gitk:9002 gitk:9007
msgid " - stopping\n"
msgstr " - Abbruch.\n"
-#: gitk:8485 gitk:8488 gitk:8496 gitk:8510 gitk:8519
+#: gitk:9012 gitk:9015 gitk:9023 gitk:9037 gitk:9046
msgid "Commit "
msgstr "Version "
-#: gitk:8489
+#: gitk:9016
msgid ""
" is the same patch as\n"
" "
@@ -844,7 +889,7 @@ msgstr ""
" ist das gleiche Patch wie\n"
" "
-#: gitk:8497
+#: gitk:9024
msgid ""
" differs from\n"
" "
@@ -852,7 +897,7 @@ msgstr ""
" ist unterschiedlich von\n"
" "
-#: gitk:8499
+#: gitk:9026
msgid ""
"Diff of commits:\n"
"\n"
@@ -860,130 +905,131 @@ msgstr ""
"Vergleich der Versionen:\n"
"\n"
-#: gitk:8511 gitk:8520
+#: gitk:9038 gitk:9047
#, tcl-format
msgid " has %s children - stopping\n"
msgstr " hat %s Kinder. Abbruch\n"
-#: gitk:8539
+#: gitk:9066
#, tcl-format
msgid "Error writing commit to file: %s"
msgstr "Fehler beim Schreiben der Version in Datei: %s"
-#: gitk:8545
+#: gitk:9072
#, tcl-format
msgid "Error diffing commits: %s"
msgstr "Fehler beim Vergleichen der Versionen: %s"
-#: gitk:8575
+#: gitk:9118
msgid "Top"
msgstr "Oben"
-#: gitk:8576
+#: gitk:9119
msgid "From"
msgstr "Von"
-#: gitk:8581
+#: gitk:9124
msgid "To"
msgstr "bis"
-#: gitk:8605
+#: gitk:9148
msgid "Generate patch"
msgstr "Patch erstellen"
-#: gitk:8607
+#: gitk:9150
msgid "From:"
msgstr "Von:"
-#: gitk:8616
+#: gitk:9159
msgid "To:"
msgstr "bis:"
-#: gitk:8625
+#: gitk:9168
msgid "Reverse"
msgstr "Umgekehrt"
-#: gitk:8627 gitk:8822
+#: gitk:9170 gitk:9366
msgid "Output file:"
msgstr "Ausgabedatei:"
-#: gitk:8633
+#: gitk:9176
msgid "Generate"
msgstr "Erzeugen"
-#: gitk:8671
+#: gitk:9214
msgid "Error creating patch:"
msgstr "Fehler beim Erzeugen des Patches:"
-#: gitk:8694 gitk:8810 gitk:8867
+#: gitk:9237 gitk:9354 gitk:9411
msgid "ID:"
msgstr "ID:"
-#: gitk:8703
+#: gitk:9246
msgid "Tag name:"
msgstr "Markierungsname:"
-#: gitk:8706
+#: gitk:9249
msgid "Tag message is optional"
msgstr "Eine Markierungsbeschreibung ist optional"
-#: gitk:8708
+#: gitk:9251
msgid "Tag message:"
msgstr "Markierungsbeschreibung:"
-#: gitk:8712 gitk:8876
+#: gitk:9255 gitk:9420
msgid "Create"
msgstr "Erstellen"
-#: gitk:8730
+#: gitk:9273
msgid "No tag name specified"
msgstr "Kein Markierungsname angegeben"
-#: gitk:8734
+#: gitk:9277
#, tcl-format
msgid "Tag \"%s\" already exists"
msgstr "Markierung »%s« existiert bereits."
-#: gitk:8744
+#: gitk:9287
msgid "Error creating tag:"
msgstr "Fehler beim Erstellen der Markierung:"
-#: gitk:8819
+#: gitk:9363
msgid "Command:"
msgstr "Kommando:"
-#: gitk:8827
+#: gitk:9371
msgid "Write"
msgstr "Schreiben"
-#: gitk:8845
+#: gitk:9389
msgid "Error writing commit:"
msgstr "Fehler beim Schreiben der Version:"
-#: gitk:8872
+#: gitk:9416
msgid "Name:"
msgstr "Name:"
-#: gitk:8895
+#: gitk:9439
msgid "Please specify a name for the new branch"
msgstr "Bitte geben Sie einen Namen für den neuen Zweig an."
-#: gitk:8900
+#: gitk:9444
#, tcl-format
msgid "Branch '%s' already exists. Overwrite?"
msgstr "Zweig »%s« existiert bereits. Soll er überschrieben werden?"
-#: gitk:8966
+#: gitk:9511
#, tcl-format
msgid "Commit %s is already included in branch %s -- really re-apply it?"
msgstr ""
-"Version »%s« ist bereits im Zweig »%s« enthalten -- trotzdem erneut eintragen?"
+"Version »%s« ist bereits im Zweig »%s« enthalten -- trotzdem erneut "
+"eintragen?"
-#: gitk:8971
+#: gitk:9516
msgid "Cherry-picking"
msgstr "Version pflücken"
-#: gitk:8980
+#: gitk:9525
#, tcl-format
msgid ""
"Cherry-pick failed because of local changes to file '%s'.\n"
@@ -993,7 +1039,7 @@ msgstr ""
"vorliegen. Bitte diese Änderungen eintragen, zurücksetzen oder\n"
"zwischenspeichern (»git stash«) und dann erneut versuchen."
-#: gitk:8986
+#: gitk:9531
msgid ""
"Cherry-pick failed because of merge conflict.\n"
"Do you wish to run git citool to resolve it?"
@@ -1002,34 +1048,66 @@ msgstr ""
"ist. Soll das Zusammenführungs-Werkzeug (»git citool«) aufgerufen\n"
"werden, um diesen Konflikt aufzulösen?"
-#: gitk:9002
+#: gitk:9547 gitk:9605
msgid "No changes committed"
msgstr "Keine Änderungen eingetragen"
-#: gitk:9028
+#: gitk:9574
+#, fuzzy, tcl-format
+msgid "Commit %s is not included in branch %s -- really revert it?"
+msgstr ""
+"Version »%s« ist bereits im Zweig »%s« enthalten -- trotzdem erneut "
+"eintragen?"
+
+#: gitk:9579
+#, fuzzy
+msgid "Reverting"
+msgstr "Zurücksetzen"
+
+#: gitk:9587
+#, fuzzy, tcl-format
+msgid ""
+"Revert failed because of local changes to the following files:%s Please "
+"commit, reset or stash your changes and try again."
+msgstr ""
+"Pflücken fehlgeschlagen, da noch lokale Änderungen in Datei »%s«\n"
+"vorliegen. Bitte diese Änderungen eintragen, zurücksetzen oder\n"
+"zwischenspeichern (»git stash«) und dann erneut versuchen."
+
+#: gitk:9591
+#, fuzzy
+msgid ""
+"Revert failed because of merge conflict.\n"
+" Do you wish to run git citool to resolve it?"
+msgstr ""
+"Pflücken fehlgeschlagen, da ein Zusammenführungs-Konflikt aufgetreten\n"
+"ist. Soll das Zusammenführungs-Werkzeug (»git citool«) aufgerufen\n"
+"werden, um diesen Konflikt aufzulösen?"
+
+#: gitk:9634
msgid "Confirm reset"
msgstr "Zurücksetzen bestätigen"
-#: gitk:9030
+#: gitk:9636
#, tcl-format
msgid "Reset branch %s to %s?"
msgstr "Zweig »%s« auf »%s« zurücksetzen?"
-#: gitk:9032
+#: gitk:9638
msgid "Reset type:"
msgstr "Art des Zurücksetzens:"
-#: gitk:9035
+#: gitk:9641
msgid "Soft: Leave working tree and index untouched"
msgstr "Harmlos: Arbeitskopie und Bereitstellung unverändert"
-#: gitk:9038
+#: gitk:9644
msgid "Mixed: Leave working tree untouched, reset index"
msgstr ""
"Gemischt: Arbeitskopie unverändert,\n"
"Bereitstellung zurückgesetzt"
-#: gitk:9041
+#: gitk:9647
msgid ""
"Hard: Reset working tree and index\n"
"(discard ALL local changes)"
@@ -1037,21 +1115,21 @@ msgstr ""
"Hart: Arbeitskopie und Bereitstellung\n"
"(Alle lokalen Änderungen werden gelöscht)"
-#: gitk:9058
+#: gitk:9664
msgid "Resetting"
msgstr "Zurücksetzen"
-#: gitk:9118
+#: gitk:9724
msgid "Checking out"
msgstr "Umstellen"
-#: gitk:9171
+#: gitk:9777
msgid "Cannot delete the currently checked-out branch"
msgstr ""
"Der Zweig, auf den die Arbeitskopie momentan umgestellt ist, kann nicht "
"gelöscht werden."
-#: gitk:9177
+#: gitk:9783
#, tcl-format
msgid ""
"The commits on branch %s aren't on any other branch.\n"
@@ -1060,16 +1138,16 @@ msgstr ""
"Die Versionen auf Zweig »%s« existieren auf keinem anderen Zweig.\n"
"Zweig »%s« trotzdem löschen?"
-#: gitk:9208
+#: gitk:9814
#, tcl-format
msgid "Tags and heads: %s"
msgstr "Markierungen und Zweige: %s"
-#: gitk:9223
+#: gitk:9829
msgid "Filter"
msgstr "Filtern"
-#: gitk:9518
+#: gitk:10125
msgid ""
"Error reading commit topology information; branch and preceding/following "
"tag information will be incomplete."
@@ -1077,202 +1155,228 @@ msgstr ""
"Fehler beim Lesen der Strukturinformationen; Zweige und Informationen zu "
"Vorgänger/Nachfolger werden unvollständig sein."
-#: gitk:10504
+#: gitk:11102
msgid "Tag"
msgstr "Markierung"
-#: gitk:10504
+#: gitk:11106
msgid "Id"
msgstr "Id"
-#: gitk:10554
+#: gitk:11189
msgid "Gitk font chooser"
msgstr "Gitk-Schriften wählen"
-#: gitk:10571
+#: gitk:11206
msgid "B"
msgstr "F"
-#: gitk:10574
+#: gitk:11209
msgid "I"
msgstr "K"
-#: gitk:10692
-msgid "Gitk preferences"
-msgstr "Gitk-Einstellungen"
-
-#: gitk:10694
+#: gitk:11327
msgid "Commit list display options"
msgstr "Anzeige der Versionsliste"
-#: gitk:10697
+#: gitk:11330
msgid "Maximum graph width (lines)"
msgstr "Maximale Graphenbreite (Zeilen)"
-#: gitk:10700
-#, tcl-format
+#: gitk:11334
+#, no-tcl-format
msgid "Maximum graph width (% of pane)"
msgstr "Maximale Graphenbreite (% des Fensters)"
-#: gitk:10703
+#: gitk:11337
msgid "Show local changes"
msgstr "Lokale Änderungen anzeigen"
-#: gitk:10706
-msgid "Auto-select SHA1"
+#: gitk:11340
+#, fuzzy
+msgid "Auto-select SHA1 (length)"
msgstr "SHA1-Hashwert automatisch auswählen"
-#: gitk:10709
+#: gitk:11344
msgid "Hide remote refs"
msgstr "Entfernte Zweige/Markierungen ausblenden"
-#: gitk:10713
+#: gitk:11348
msgid "Diff display options"
msgstr "Anzeige des Vergleichs"
-#: gitk:10715
+#: gitk:11350
msgid "Tab spacing"
msgstr "Tabulatorbreite"
-#: gitk:10718
-msgid "Display nearby tags"
+#: gitk:11353
+#, fuzzy
+msgid "Display nearby tags/heads"
msgstr "Naheliegende Markierungen anzeigen"
-#: gitk:10721
+#: gitk:11356
+msgid "Maximum # tags/heads to show"
+msgstr ""
+
+#: gitk:11359
msgid "Limit diffs to listed paths"
msgstr "Vergleich nur für angezeigte Pfade"
-#: gitk:10724
+#: gitk:11362
msgid "Support per-file encodings"
msgstr "Zeichenkodierung pro Datei ermitteln"
-#: gitk:10730 gitk:10819
+#: gitk:11368 gitk:11515
msgid "External diff tool"
msgstr "Externes Diff-Programm"
-#: gitk:10731
+#: gitk:11369
msgid "Choose..."
msgstr "Wählen ..."
-#: gitk:10736
+#: gitk:11374
msgid "General options"
msgstr "Allgemeine Optionen"
-#: gitk:10739
+#: gitk:11377
msgid "Use themed widgets"
msgstr "Aussehen der Benutzeroberfläche durch Thema bestimmen"
-#: gitk:10741
+#: gitk:11379
msgid "(change requires restart)"
msgstr "(Änderungen werden erst nach Neustart wirksam)"
-#: gitk:10743
+#: gitk:11381
msgid "(currently unavailable)"
msgstr "(Momentan nicht verfügbar)"
-#: gitk:10747
+#: gitk:11392
msgid "Colors: press to choose"
msgstr "Farben: Klicken zum Wählen"
-#: gitk:10750
+#: gitk:11395
msgid "Interface"
msgstr "Benutzeroberfläche"
-#: gitk:10751
+#: gitk:11396
msgid "interface"
msgstr "Benutzeroberfläche"
-#: gitk:10754
+#: gitk:11399
msgid "Background"
msgstr "Hintergrund"
-#: gitk:10755 gitk:10785
+#: gitk:11400 gitk:11430
msgid "background"
msgstr "Hintergrund"
-#: gitk:10758
+#: gitk:11403
msgid "Foreground"
msgstr "Vordergrund"
-#: gitk:10759
+#: gitk:11404
msgid "foreground"
msgstr "Vordergrund"
-#: gitk:10762
+#: gitk:11407
msgid "Diff: old lines"
msgstr "Vergleich: Alte Zeilen"
-#: gitk:10763
+#: gitk:11408
msgid "diff old lines"
msgstr "Vergleich - Alte Zeilen"
-#: gitk:10767
+#: gitk:11412
msgid "Diff: new lines"
msgstr "Vergleich: Neue Zeilen"
-#: gitk:10768
+#: gitk:11413
msgid "diff new lines"
msgstr "Vergleich - Neue Zeilen"
-#: gitk:10772
+#: gitk:11417
msgid "Diff: hunk header"
msgstr "Vergleich: Änderungstitel"
-#: gitk:10774
+#: gitk:11419
msgid "diff hunk header"
msgstr "Vergleich - Änderungstitel"
-#: gitk:10778
+#: gitk:11423
msgid "Marked line bg"
msgstr "Hintergrund für markierte Zeile"
-#: gitk:10780
+#: gitk:11425
msgid "marked line background"
msgstr "Hintergrund für markierte Zeile"
-#: gitk:10784
+#: gitk:11429
msgid "Select bg"
msgstr "Hintergrundfarbe auswählen"
-#: gitk:10788
+#: gitk:11438
msgid "Fonts: press to choose"
msgstr "Schriftart: Klicken zum Wählen"
-#: gitk:10790
+#: gitk:11440
msgid "Main font"
msgstr "Programmschriftart"
-#: gitk:10791
+#: gitk:11441
msgid "Diff display font"
msgstr "Schriftart für Vergleich"
-#: gitk:10792
+#: gitk:11442
msgid "User interface font"
msgstr "Beschriftungen"
-#: gitk:10829
+#: gitk:11464
+msgid "Gitk preferences"
+msgstr "Gitk-Einstellungen"
+
+#: gitk:11473
+#, fuzzy
+msgid "General"
+msgstr "Erzeugen"
+
+#: gitk:11474
+msgid "Colors"
+msgstr ""
+
+#: gitk:11475
+msgid "Fonts"
+msgstr ""
+
+#: gitk:11525
#, tcl-format
msgid "Gitk: choose color for %s"
msgstr "Gitk: Farbe wählen für %s"
-#: gitk:11433
+#: gitk:12242
msgid "Cannot find a git repository here."
msgstr "Kein Git-Projektarchiv gefunden."
-#: gitk:11437
-#, tcl-format
-msgid "Cannot find the git directory \"%s\"."
-msgstr "Git-Verzeichnis »%s« wurde nicht gefunden."
-
-#: gitk:11484
+#: gitk:12289
#, tcl-format
msgid "Ambiguous argument '%s': both revision and filename"
msgstr "Mehrdeutige Angabe »%s«: Sowohl Version als auch Dateiname existiert."
-#: gitk:11496
+#: gitk:12301
msgid "Bad arguments to gitk:"
msgstr "Falsche Kommandozeilen-Parameter für gitk:"
-#: gitk:11587
+#: gitk:12405
msgid "Command line"
msgstr "Kommandozeile"
+
+#~ msgid "next"
+#~ msgstr "nächste"
+
+#~ msgid "prev"
+#~ msgstr "vorige"
+
+#~ msgid "CDate"
+#~ msgstr "Eintragedatum"
+
+#~ msgid "Cannot find the git directory \"%s\"."
+#~ msgstr "Git-Verzeichnis »%s« wurde nicht gefunden."
diff --git a/gitk-git/po/es.po b/gitk-git/po/es.po
index 0471dd0672..cfc10e13ea 100644
--- a/gitk-git/po/es.po
+++ b/gitk-git/po/es.po
@@ -8,25 +8,43 @@ msgid ""
msgstr ""
"Project-Id-Version: gitk\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2008-10-18 22:03+1100\n"
+"POT-Creation-Date: 2015-03-15 14:37+1100\n"
"PO-Revision-Date: 2008-03-25 11:20+0100\n"
"Last-Translator: Santiago Gala <santiago.gala@gmail.com>\n"
"Language-Team: Spanish\n"
+"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-#: gitk:113
+#: gitk:140
msgid "Couldn't get list of unmerged files:"
msgstr "Imposible obtener la lista de archivos pendientes de fusión:"
-#: gitk:340
+#: gitk:212 gitk:2381
+msgid "Color words"
+msgstr ""
+
+#: gitk:217 gitk:2381 gitk:8201 gitk:8234
+msgid "Markup words"
+msgstr ""
+
+#: gitk:324
+#, fuzzy
+msgid "Error parsing revisions:"
+msgstr "Error al leer las diferencias de fusión:"
+
+#: gitk:380
+msgid "Error executing --argscmd command:"
+msgstr ""
+
+#: gitk:393
msgid "No files selected: --merge specified but no files are unmerged."
msgstr ""
"No hay archivos seleccionados: se seleccionó la opción --merge pero no hay "
"archivos pendientes de fusión."
-#: gitk:343
+#: gitk:396
msgid ""
"No files selected: --merge specified but no unmerged files are within file "
"limit."
@@ -34,254 +52,317 @@ msgstr ""
"No hay archivos seleccionados: se seleccionó la opción --merge pero los "
"archivos especificados no necesitan fusión."
-#: gitk:378
+#: gitk:418 gitk:566
+#, fuzzy
+msgid "Error executing git log:"
+msgstr "Error al crear la etiqueta:"
+
+#: gitk:436 gitk:582
msgid "Reading"
msgstr "Leyendo"
-#: gitk:438 gitk:3462
+#: gitk:496 gitk:4508
msgid "Reading commits..."
msgstr "Leyendo revisiones..."
-#: gitk:441 gitk:1528 gitk:3465
+#: gitk:499 gitk:1637 gitk:4511
msgid "No commits selected"
msgstr "No se seleccionaron revisiones"
-#: gitk:1399
+#: gitk:1511
msgid "Can't parse git log output:"
msgstr "Error analizando la salida de git log:"
-#: gitk:1605
+#: gitk:1740
msgid "No commit information available"
msgstr "Falta información sobre las revisiones"
-#: gitk:1709 gitk:1731 gitk:3259 gitk:7764 gitk:9293 gitk:9466
+#: gitk:1897
+msgid "mc"
+msgstr ""
+
+#: gitk:1932 gitk:4298 gitk:9650 gitk:11220 gitk:11500
msgid "OK"
msgstr "Aceptar"
-#: gitk:1733 gitk:3260 gitk:7439 gitk:7510 gitk:7613 gitk:7660 gitk:7766
-#: gitk:9294 gitk:9467
+#: gitk:1934 gitk:4300 gitk:9177 gitk:9256 gitk:9372 gitk:9421 gitk:9652
+#: gitk:11221 gitk:11501
msgid "Cancel"
msgstr "Cancelar"
-#: gitk:1811
+#: gitk:2069
msgid "Update"
msgstr "Actualizar"
-#: gitk:1813
+#: gitk:2070
+msgid "Reload"
+msgstr ""
+
+#: gitk:2071
msgid "Reread references"
msgstr "Releer referencias"
-#: gitk:1814
+#: gitk:2072
msgid "List references"
msgstr "Lista de referencias"
-#: gitk:1815
+#: gitk:2074
+msgid "Start git gui"
+msgstr ""
+
+#: gitk:2076
msgid "Quit"
msgstr "Salir"
-#: gitk:1810
+#: gitk:2068
msgid "File"
msgstr "Archivo"
-#: gitk:1818
+#: gitk:2080
msgid "Preferences"
msgstr "Preferencias"
-#: gitk:1817
+#: gitk:2079
msgid "Edit"
msgstr "Editar"
-#: gitk:1821
+#: gitk:2084
msgid "New view..."
msgstr "Nueva vista..."
-#: gitk:1822
+#: gitk:2085
msgid "Edit view..."
msgstr "Modificar vista..."
-#: gitk:1823
+#: gitk:2086
msgid "Delete view"
msgstr "Eliminar vista"
-#: gitk:1825
+#: gitk:2088
msgid "All files"
msgstr "Todos los archivos"
-#: gitk:1820 gitk:3196
+#: gitk:2083 gitk:4050
msgid "View"
msgstr "Vista"
-#: gitk:1828 gitk:2487
+#: gitk:2093 gitk:2103 gitk:3009
msgid "About gitk"
msgstr "Acerca de gitk"
-#: gitk:1829
+#: gitk:2094 gitk:2108
msgid "Key bindings"
msgstr "Combinaciones de teclas"
-#: gitk:1827
+#: gitk:2092 gitk:2107
msgid "Help"
msgstr "Ayuda"
-#: gitk:1887
-msgid "SHA1 ID: "
-msgstr "SHA1 ID: "
+#: gitk:2185 gitk:8633
+msgid "SHA1 ID:"
+msgstr "SHA1 ID:"
-#: gitk:1918
+#: gitk:2229
msgid "Row"
msgstr ""
-#: gitk:1949
+#: gitk:2267
msgid "Find"
msgstr "Buscar"
-#: gitk:1950
-msgid "next"
-msgstr "<<"
-
-#: gitk:1951
-msgid "prev"
-msgstr ">>"
-
-#: gitk:1952
+#: gitk:2295
msgid "commit"
msgstr "revisión"
-#: gitk:1955 gitk:1957 gitk:3617 gitk:3640 gitk:3664 gitk:5550 gitk:5621
+#: gitk:2299 gitk:2301 gitk:4669 gitk:4692 gitk:4716 gitk:6736 gitk:6808
+#: gitk:6893
msgid "containing:"
msgstr "que contiene:"
-#: gitk:1958 gitk:2954 gitk:2959 gitk:3692
+#: gitk:2302 gitk:3522 gitk:3527 gitk:4745
msgid "touching paths:"
msgstr "que modifica la ruta:"
-#: gitk:1959 gitk:3697
+#: gitk:2303 gitk:4759
msgid "adding/removing string:"
msgstr "que añade/elimina cadena:"
-#: gitk:1968 gitk:1970
+#: gitk:2304 gitk:4761
+msgid "changing lines matching:"
+msgstr ""
+
+#: gitk:2313 gitk:2315 gitk:4748
msgid "Exact"
msgstr "Exacto"
-#: gitk:1970 gitk:3773 gitk:5518
+#: gitk:2315 gitk:4836 gitk:6704
msgid "IgnCase"
msgstr "NoMayús"
-#: gitk:1970 gitk:3666 gitk:3771 gitk:5514
+#: gitk:2315 gitk:4718 gitk:4834 gitk:6700
msgid "Regexp"
msgstr "Regex"
-#: gitk:1972 gitk:1973 gitk:3792 gitk:3822 gitk:3829 gitk:5641 gitk:5708
+#: gitk:2317 gitk:2318 gitk:4856 gitk:4886 gitk:4893 gitk:6829 gitk:6897
msgid "All fields"
msgstr "Todos los campos"
-#: gitk:1973 gitk:3790 gitk:3822 gitk:5580
+#: gitk:2318 gitk:4853 gitk:4886 gitk:6767
msgid "Headline"
msgstr "Título"
-#: gitk:1974 gitk:3790 gitk:5580 gitk:5708 gitk:6109
+#: gitk:2319 gitk:4853 gitk:6767 gitk:6897 gitk:7370
msgid "Comments"
msgstr "Comentarios"
-#: gitk:1974 gitk:3790 gitk:3794 gitk:3829 gitk:5580 gitk:6045 gitk:7285
-#: gitk:7300
+#: gitk:2319 gitk:4853 gitk:4858 gitk:4893 gitk:6767 gitk:7305 gitk:8811
+#: gitk:8826
msgid "Author"
msgstr "Autor"
-#: gitk:1974 gitk:3790 gitk:5580 gitk:6047
+#: gitk:2319 gitk:4853 gitk:6767 gitk:7307
msgid "Committer"
msgstr ""
-#: gitk:2003
+#: gitk:2350
msgid "Search"
msgstr "Buscar"
-#: gitk:2010
+#: gitk:2358
msgid "Diff"
msgstr "Diferencia"
-#: gitk:2012
+#: gitk:2360
msgid "Old version"
msgstr "Versión antigua"
-#: gitk:2014
+#: gitk:2362
msgid "New version"
msgstr "Versión nueva"
-#: gitk:2016
+#: gitk:2364
msgid "Lines of context"
msgstr "Líneas de contexto"
-#: gitk:2026
+#: gitk:2374
msgid "Ignore space change"
msgstr "Ignora cambios de espaciado"
-#: gitk:2084
+#: gitk:2378 gitk:2380 gitk:7940 gitk:8187
+msgid "Line diff"
+msgstr ""
+
+#: gitk:2445
msgid "Patch"
msgstr "Parche"
-#: gitk:2086
+#: gitk:2447
msgid "Tree"
msgstr "Árbol"
-#: gitk:2213 gitk:2226
+#: gitk:2616 gitk:2636
msgid "Diff this -> selected"
msgstr "Diferencia de esta -> seleccionada"
-#: gitk:2214 gitk:2227
+#: gitk:2617 gitk:2637
msgid "Diff selected -> this"
msgstr "Diferencia de seleccionada -> esta"
-#: gitk:2215 gitk:2228
+#: gitk:2618 gitk:2638
msgid "Make patch"
msgstr "Crear patch"
-#: gitk:2216 gitk:7494
+#: gitk:2619 gitk:9235
msgid "Create tag"
msgstr "Crear etiqueta"
-#: gitk:2217 gitk:7593
+#: gitk:2620 gitk:9352
msgid "Write commit to file"
msgstr "Escribir revisiones a archivo"
-#: gitk:2218 gitk:7647
+#: gitk:2621 gitk:9409
msgid "Create new branch"
msgstr "Crear nueva rama"
-#: gitk:2219
+#: gitk:2622
msgid "Cherry-pick this commit"
msgstr "Añadir esta revisión a la rama actual (cherry-pick)"
-#: gitk:2220
+#: gitk:2623
msgid "Reset HEAD branch to here"
msgstr "Traer la rama HEAD aquí"
-#: gitk:2234
+#: gitk:2624
+#, fuzzy
+msgid "Mark this commit"
+msgstr "Añadir esta revisión a la rama actual (cherry-pick)"
+
+#: gitk:2625
+msgid "Return to mark"
+msgstr ""
+
+#: gitk:2626
+msgid "Find descendant of this and mark"
+msgstr ""
+
+#: gitk:2627
+msgid "Compare with marked commit"
+msgstr ""
+
+#: gitk:2628 gitk:2639
+#, fuzzy
+msgid "Diff this -> marked commit"
+msgstr "Diferencia de esta -> seleccionada"
+
+#: gitk:2629 gitk:2640
+#, fuzzy
+msgid "Diff marked commit -> this"
+msgstr "Diferencia de seleccionada -> esta"
+
+#: gitk:2630
+#, fuzzy
+msgid "Revert this commit"
+msgstr "Añadir esta revisión a la rama actual (cherry-pick)"
+
+#: gitk:2646
msgid "Check out this branch"
msgstr "Cambiar a esta rama"
-#: gitk:2235
+#: gitk:2647
msgid "Remove this branch"
msgstr "Eliminar esta rama"
-#: gitk:2242
+#: gitk:2654
msgid "Highlight this too"
msgstr "Seleccionar también"
-#: gitk:2243
+#: gitk:2655
msgid "Highlight this only"
msgstr "Seleccionar sólo"
-#: gitk:2245
+#: gitk:2656
+msgid "External diff"
+msgstr ""
+
+#: gitk:2657
msgid "Blame parent commit"
msgstr ""
-#: gitk:2488
+#: gitk:2664
+msgid "Show origin of this line"
+msgstr ""
+
+#: gitk:2665
+msgid "Run git gui blame on this line"
+msgstr ""
+
+#: gitk:3011
+#, fuzzy
msgid ""
"\n"
"Gitk - a commit viewer for git\n"
"\n"
-"Copyright \\u00a9 2005-2010 Paul Mackerras\n"
+"Copyright © 2005-2014 Paul Mackerras\n"
"\n"
"Use and redistribute under the terms of the GNU General Public License"
msgstr ""
@@ -293,425 +374,728 @@ msgstr ""
"Uso y redistribución permitidos según los términos de la Licencia Pública "
"General de GNU (GNU GPL)"
-#: gitk:2496 gitk:2557 gitk:7943
+#: gitk:3019 gitk:3085 gitk:9836
msgid "Close"
msgstr "Cerrar"
-#: gitk:2515
+#: gitk:3040
msgid "Gitk key bindings"
msgstr "Combinaciones de tecla de Gitk"
-#: gitk:2517
+#: gitk:3043
msgid "Gitk key bindings:"
msgstr "Combinaciones de tecla de Gitk:"
-#: gitk:2519
+#: gitk:3045
#, tcl-format
msgid "<%s-Q>\t\tQuit"
msgstr "<%s-Q>\t\tSalir"
-#: gitk:2520
+#: gitk:3046
+#, fuzzy, tcl-format
+msgid "<%s-W>\t\tClose window"
+msgstr "<%s-F>\t\tBuscar"
+
+#: gitk:3047
msgid "<Home>\t\tMove to first commit"
msgstr "<Home>\t\tIr a la primera revisión"
-#: gitk:2521
+#: gitk:3048
msgid "<End>\t\tMove to last commit"
msgstr "<End>\t\tIr a la última revisión"
-#: gitk:2522
-msgid "<Up>, p, i\tMove up one commit"
+#: gitk:3049
+#, fuzzy
+msgid "<Up>, p, k\tMove up one commit"
msgstr "<Up>, p, i\tSubir una revisión"
-#: gitk:2523
-msgid "<Down>, n, k\tMove down one commit"
+#: gitk:3050
+#, fuzzy
+msgid "<Down>, n, j\tMove down one commit"
msgstr "<Down>, n, k\tBajar una revisión"
-#: gitk:2524
-msgid "<Left>, z, j\tGo back in history list"
+#: gitk:3051
+#, fuzzy
+msgid "<Left>, z, h\tGo back in history list"
msgstr "<Left>, z, j\tRetroceder en la historia"
-#: gitk:2525
+#: gitk:3052
msgid "<Right>, x, l\tGo forward in history list"
msgstr "<Right>, x, l\tAvanzar en la historia"
-#: gitk:2526
+#: gitk:3053
+#, tcl-format
+msgid "<%s-n>\tGo to n-th parent of current commit in history list"
+msgstr ""
+
+#: gitk:3054
msgid "<PageUp>\tMove up one page in commit list"
msgstr "<PageUp>\tSubir una página en la lista de revisiones"
-#: gitk:2527
+#: gitk:3055
msgid "<PageDown>\tMove down one page in commit list"
msgstr "<PageDown>\tBajar una página en la lista de revisiones"
-#: gitk:2528
+#: gitk:3056
#, tcl-format
msgid "<%s-Home>\tScroll to top of commit list"
msgstr "<%s-Home>\tDesplazarse al inicio de la lista de revisiones"
-#: gitk:2529
+#: gitk:3057
#, tcl-format
msgid "<%s-End>\tScroll to bottom of commit list"
msgstr "<%s-End>\tDesplazarse al final de la lista de revisiones"
-#: gitk:2530
+#: gitk:3058
#, tcl-format
msgid "<%s-Up>\tScroll commit list up one line"
msgstr "<%s-Up>\tDesplazar una línea hacia arriba la lista de revisiones"
-#: gitk:2531
+#: gitk:3059
#, tcl-format
msgid "<%s-Down>\tScroll commit list down one line"
msgstr "<%s-Down>\tDesplazar una línea hacia abajo la lista de revisiones"
-#: gitk:2532
+#: gitk:3060
#, tcl-format
msgid "<%s-PageUp>\tScroll commit list up one page"
msgstr "<%s-PageUp>\tDesplazar una página hacia arriba la lista de revisiones"
-#: gitk:2533
+#: gitk:3061
#, tcl-format
msgid "<%s-PageDown>\tScroll commit list down one page"
msgstr "<%s-PageDown>\tDesplazar una página hacia abajo la lista de revisiones"
-#: gitk:2534
+#: gitk:3062
msgid "<Shift-Up>\tFind backwards (upwards, later commits)"
msgstr "<Shift-Up>\tBuscar hacia atrás (arriba, revisiones siguientes)"
-#: gitk:2535
+#: gitk:3063
msgid "<Shift-Down>\tFind forwards (downwards, earlier commits)"
msgstr "<Shift-Down>\tBuscar hacia adelante (abajo, revisiones anteriores)"
-#: gitk:2536
+#: gitk:3064
msgid "<Delete>, b\tScroll diff view up one page"
msgstr "<Delete>, b\tDesplaza hacia arriba una página la vista de diferencias"
-#: gitk:2537
+#: gitk:3065
msgid "<Backspace>\tScroll diff view up one page"
msgstr "<Backspace>\tDesplaza hacia arriba una página la vista de diferencias"
-#: gitk:2538
+#: gitk:3066
msgid "<Space>\t\tScroll diff view down one page"
msgstr "<Space>\t\tDesplaza hacia abajo una página la vista de diferencias"
-#: gitk:2539
+#: gitk:3067
msgid "u\t\tScroll diff view up 18 lines"
msgstr "u\t\tDesplaza hacia arriba 18 líneas la vista de diferencias"
-#: gitk:2540
+#: gitk:3068
msgid "d\t\tScroll diff view down 18 lines"
msgstr "d\t\tDesplaza hacia abajo 18 líneas la vista de diferencias"
-#: gitk:2541
+#: gitk:3069
#, tcl-format
msgid "<%s-F>\t\tFind"
msgstr "<%s-F>\t\tBuscar"
-#: gitk:2542
+#: gitk:3070
#, tcl-format
msgid "<%s-G>\t\tMove to next find hit"
msgstr "<%s-G>\t\tBuscar el siguiente"
-#: gitk:2543
+#: gitk:3071
msgid "<Return>\tMove to next find hit"
msgstr "<Return>\tBuscar el siguiente"
-#: gitk:2544
-msgid "/\t\tMove to next find hit, or redo find"
-msgstr "/\t\tBuscar el siguiente, o reiniciar la búsqueda"
+#: gitk:3072
+msgid "/\t\tFocus the search box"
+msgstr ""
-#: gitk:2545
+#: gitk:3073
msgid "?\t\tMove to previous find hit"
msgstr "?\t\tBuscar el anterior"
-#: gitk:2546
+#: gitk:3074
msgid "f\t\tScroll diff view to next file"
msgstr "f\t\tDesplazar la vista de diferencias al archivo siguiente"
-#: gitk:2547
+#: gitk:3075
#, tcl-format
msgid "<%s-S>\t\tSearch for next hit in diff view"
msgstr "<%s-S>\t\tBuscar siguiente en la vista de diferencias"
-#: gitk:2548
+#: gitk:3076
#, tcl-format
msgid "<%s-R>\t\tSearch for previous hit in diff view"
msgstr "<%s-R>\t\tBuscar anterior en la vista de diferencias"
-#: gitk:2549
+#: gitk:3077
#, tcl-format
msgid "<%s-KP+>\tIncrease font size"
msgstr "<%s-KP+>\tAumentar tamaño del texto"
-#: gitk:2550
+#: gitk:3078
#, tcl-format
msgid "<%s-plus>\tIncrease font size"
msgstr "<%s-plus>\tAumentar tamaño del texto"
-#: gitk:2551
+#: gitk:3079
#, tcl-format
msgid "<%s-KP->\tDecrease font size"
msgstr "<%s-KP->\tDisminuir tamaño del texto"
-#: gitk:2552
+#: gitk:3080
#, tcl-format
msgid "<%s-minus>\tDecrease font size"
msgstr "<%s-minus>\tDisminuir tamaño del texto"
-#: gitk:2553
+#: gitk:3081
msgid "<F5>\t\tUpdate"
msgstr "<F5>\t\tActualizar"
-#: gitk:3200
+#: gitk:3546 gitk:3555
+#, fuzzy, tcl-format
+msgid "Error creating temporary directory %s:"
+msgstr "Error en la creación del parche:"
+
+#: gitk:3568
+#, fuzzy, tcl-format
+msgid "Error getting \"%s\" from %s:"
+msgstr "Error al leer las diferencias de fusión:"
+
+#: gitk:3631
+#, fuzzy
+msgid "command failed:"
+msgstr "Línea de comandos"
+
+#: gitk:3780
+#, fuzzy
+msgid "No such commit"
+msgstr "No se han guardado cambios"
+
+#: gitk:3794
+msgid "git gui blame: command failed:"
+msgstr ""
+
+#: gitk:3825
+#, tcl-format
+msgid "Couldn't read merge head: %s"
+msgstr ""
+
+#: gitk:3833
+#, fuzzy, tcl-format
+msgid "Error reading index: %s"
+msgstr "Error al crear la etiqueta:"
+
+#: gitk:3858
+#, tcl-format
+msgid "Couldn't start git blame: %s"
+msgstr ""
+
+#: gitk:3861 gitk:6735
+msgid "Searching"
+msgstr "Buscando"
+
+#: gitk:3893
+#, fuzzy, tcl-format
+msgid "Error running git blame: %s"
+msgstr "Error al crear la etiqueta:"
+
+#: gitk:3921
+#, tcl-format
+msgid "That line comes from commit %s, which is not in this view"
+msgstr ""
+
+#: gitk:3935
+#, fuzzy
+msgid "External diff viewer failed:"
+msgstr "f\t\tDesplazar la vista de diferencias al archivo siguiente"
+
+#: gitk:4053
msgid "Gitk view definition"
msgstr "Definición de vistas de Gitk"
-#: gitk:3225
-msgid "Name"
-msgstr "Nombre"
-
-#: gitk:3228
+#: gitk:4057
msgid "Remember this view"
msgstr "Recordar esta vista"
-#: gitk:3232
-msgid "Commits to include (arguments to git log):"
+#: gitk:4058
+msgid "References (space separated list):"
+msgstr ""
+
+#: gitk:4059
+msgid "Branches & tags:"
+msgstr ""
+
+#: gitk:4060
+#, fuzzy
+msgid "All refs"
+msgstr "Todos los archivos"
+
+#: gitk:4061
+msgid "All (local) branches"
+msgstr ""
+
+#: gitk:4062
+msgid "All tags"
+msgstr ""
+
+#: gitk:4063
+msgid "All remote-tracking branches"
+msgstr ""
+
+#: gitk:4064
+msgid "Commit Info (regular expressions):"
+msgstr ""
+
+#: gitk:4065
+#, fuzzy
+msgid "Author:"
+msgstr "Autor"
+
+#: gitk:4066
+#, fuzzy
+msgid "Committer:"
+msgstr "revisión"
+
+#: gitk:4067
+msgid "Commit Message:"
+msgstr ""
+
+#: gitk:4068
+msgid "Matches all Commit Info criteria"
+msgstr ""
+
+#: gitk:4069
+msgid "Matches none Commit Info criteria"
+msgstr ""
+
+#: gitk:4070
+msgid "Changes to Files:"
+msgstr ""
+
+#: gitk:4071
+msgid "Fixed String"
+msgstr ""
+
+#: gitk:4072
+msgid "Regular Expression"
+msgstr ""
+
+#: gitk:4073
+#, fuzzy
+msgid "Search string:"
+msgstr "Buscando"
+
+#: gitk:4074
+msgid ""
+"Commit Dates (\"2 weeks ago\", \"2009-03-17 15:27:38\", \"March 17, 2009 "
+"15:27:38\"):"
+msgstr ""
+
+#: gitk:4075
+msgid "Since:"
+msgstr ""
+
+#: gitk:4076
+msgid "Until:"
+msgstr ""
+
+#: gitk:4077
+msgid "Limit and/or skip a number of revisions (positive integer):"
+msgstr ""
+
+#: gitk:4078
+msgid "Number to show:"
+msgstr ""
+
+#: gitk:4079
+msgid "Number to skip:"
+msgstr ""
+
+#: gitk:4080
+msgid "Miscellaneous options:"
+msgstr ""
+
+#: gitk:4081
+msgid "Strictly sort by date"
+msgstr ""
+
+#: gitk:4082
+msgid "Mark branch sides"
+msgstr ""
+
+#: gitk:4083
+#, fuzzy
+msgid "Limit to first parent"
+msgstr "Limitar las diferencias a las rutas seleccionadas"
+
+#: gitk:4084
+msgid "Simple history"
+msgstr ""
+
+#: gitk:4085
+#, fuzzy
+msgid "Additional arguments to git log:"
msgstr "Revisiones a incluir (argumentos a git log):"
-#: gitk:3239
+#: gitk:4086
+msgid "Enter files and directories to include, one per line:"
+msgstr "Introducir archivos y directorios a incluir, uno por línea:"
+
+#: gitk:4087
msgid "Command to generate more commits to include:"
msgstr "Comando que genera más revisiones a incluir:"
-#: gitk:3246
-msgid "Enter files and directories to include, one per line:"
-msgstr "Introducir archivos y directorios a incluir, uno por línea:"
+#: gitk:4211
+msgid "Gitk: edit view"
+msgstr ""
+
+#: gitk:4219
+msgid "-- criteria for selecting revisions"
+msgstr ""
+
+#: gitk:4224
+#, fuzzy
+msgid "View Name"
+msgstr "Vista"
+
+#: gitk:4299
+msgid "Apply (F5)"
+msgstr ""
-#: gitk:3293
+#: gitk:4337
msgid "Error in commit selection arguments:"
msgstr "Error en los argumentos de selección de las revisiones:"
-#: gitk:3347 gitk:3399 gitk:3842 gitk:3856 gitk:5060 gitk:10141 gitk:10142
+#: gitk:4392 gitk:4445 gitk:4906 gitk:4920 gitk:6190 gitk:12346 gitk:12347
msgid "None"
msgstr "Ninguno"
-#: gitk:3790 gitk:5580 gitk:7287 gitk:7302
-msgid "Date"
-msgstr "Fecha"
-
-#: gitk:3790 gitk:5580
-msgid "CDate"
-msgstr "Fecha de creación"
-
-#: gitk:3939 gitk:3944
+#: gitk:5003 gitk:5008
msgid "Descendant"
msgstr "Descendiente"
-#: gitk:3940
+#: gitk:5004
msgid "Not descendant"
msgstr "No descendiente"
-#: gitk:3947 gitk:3952
+#: gitk:5011 gitk:5016
msgid "Ancestor"
msgstr "Antepasado"
-#: gitk:3948
+#: gitk:5012
msgid "Not ancestor"
msgstr "No antepasado"
-#: gitk:4187
+#: gitk:5306
msgid "Local changes checked in to index but not committed"
msgstr "Cambios locales añadidos al índice pero sin completar revisión"
-#: gitk:4220
+#: gitk:5342
msgid "Local uncommitted changes, not checked in to index"
msgstr "Cambios locales sin añadir al índice"
-#: gitk:5549
-msgid "Searching"
-msgstr "Buscando"
+#: gitk:7115
+msgid "and many more"
+msgstr ""
+
+#: gitk:7118
+msgid "many"
+msgstr ""
-#: gitk:6049
+#: gitk:7309
msgid "Tags:"
msgstr "Etiquetas:"
-#: gitk:6066 gitk:6072 gitk:7280
+#: gitk:7326 gitk:7332 gitk:8806
msgid "Parent"
msgstr "Padre"
-#: gitk:6077
+#: gitk:7337
msgid "Child"
msgstr "Hija"
-#: gitk:6086
+#: gitk:7346
msgid "Branch"
msgstr "Rama"
-#: gitk:6089
+#: gitk:7349
msgid "Follows"
msgstr "Sigue-a"
-#: gitk:6092
+#: gitk:7352
msgid "Precedes"
msgstr "Precede-a"
-#: gitk:6378
-msgid "Error getting merge diffs:"
+#: gitk:7947
+#, fuzzy, tcl-format
+msgid "Error getting diffs: %s"
msgstr "Error al leer las diferencias de fusión:"
-#: gitk:7113
+#: gitk:8631
msgid "Goto:"
msgstr "Ir a:"
-#: gitk:7115
-msgid "SHA1 ID:"
-msgstr "SHA1 ID:"
-
-#: gitk:7134
+#: gitk:8652
#, tcl-format
msgid "Short SHA1 id %s is ambiguous"
msgstr "La id SHA1 abreviada %s es ambigua"
-#: gitk:7146
+#: gitk:8659
+#, fuzzy, tcl-format
+msgid "Revision %s is not known"
+msgstr "La id SHA1 %s es desconocida"
+
+#: gitk:8669
#, tcl-format
msgid "SHA1 id %s is not known"
msgstr "La id SHA1 %s es desconocida"
-#: gitk:7148
+#: gitk:8671
#, tcl-format
-msgid "Tag/Head %s is not known"
-msgstr "La etiqueta/rama %s es deconocida"
+msgid "Revision %s is not in the current view"
+msgstr ""
-#: gitk:7290
+#: gitk:8813 gitk:8828
+msgid "Date"
+msgstr "Fecha"
+
+#: gitk:8816
msgid "Children"
msgstr "Hijas"
-#: gitk:7347
+#: gitk:8879
#, tcl-format
msgid "Reset %s branch to here"
msgstr "Poner la rama %s en esta revisión"
-#: gitk:7349
+#: gitk:8881
msgid "Detached head: can't reset"
msgstr ""
-#: gitk:7381
+#: gitk:8986 gitk:8992
+msgid "Skipping merge commit "
+msgstr ""
+
+#: gitk:9001 gitk:9006
+#, fuzzy
+msgid "Error getting patch ID for "
+msgstr "Error en la creación del parche:"
+
+#: gitk:9002 gitk:9007
+msgid " - stopping\n"
+msgstr ""
+
+#: gitk:9012 gitk:9015 gitk:9023 gitk:9037 gitk:9046
+#, fuzzy
+msgid "Commit "
+msgstr "revisión"
+
+#: gitk:9016
+msgid ""
+" is the same patch as\n"
+" "
+msgstr ""
+
+#: gitk:9024
+msgid ""
+" differs from\n"
+" "
+msgstr ""
+
+#: gitk:9026
+msgid ""
+"Diff of commits:\n"
+"\n"
+msgstr ""
+
+#: gitk:9038 gitk:9047
+#, tcl-format
+msgid " has %s children - stopping\n"
+msgstr ""
+
+#: gitk:9066
+#, fuzzy, tcl-format
+msgid "Error writing commit to file: %s"
+msgstr "Error al escribir revisión:"
+
+#: gitk:9072
+#, fuzzy, tcl-format
+msgid "Error diffing commits: %s"
+msgstr "Error al escribir revisión:"
+
+#: gitk:9118
msgid "Top"
msgstr "Origen"
-#: gitk:7382
+#: gitk:9119
msgid "From"
msgstr "De"
-#: gitk:7387
+#: gitk:9124
msgid "To"
msgstr "A"
-#: gitk:7410
+#: gitk:9148
msgid "Generate patch"
msgstr "Generar parche"
-#: gitk:7412
+#: gitk:9150
msgid "From:"
msgstr "De:"
-#: gitk:7421
+#: gitk:9159
msgid "To:"
msgstr "Para:"
-#: gitk:7430
+#: gitk:9168
msgid "Reverse"
msgstr "Invertir"
-#: gitk:7432 gitk:7607
+#: gitk:9170 gitk:9366
msgid "Output file:"
msgstr "Escribir a archivo:"
-#: gitk:7438
+#: gitk:9176
msgid "Generate"
msgstr "Generar"
-#: gitk:7474
+#: gitk:9214
msgid "Error creating patch:"
msgstr "Error en la creación del parche:"
-#: gitk:7496 gitk:7595 gitk:7649
+#: gitk:9237 gitk:9354 gitk:9411
msgid "ID:"
msgstr "ID:"
-#: gitk:7505
+#: gitk:9246
msgid "Tag name:"
msgstr "Nombre de etiqueta:"
-#: gitk:7509 gitk:7659
+#: gitk:9249
+msgid "Tag message is optional"
+msgstr ""
+
+#: gitk:9251
+#, fuzzy
+msgid "Tag message:"
+msgstr "Nombre de etiqueta:"
+
+#: gitk:9255 gitk:9420
msgid "Create"
msgstr "Crear"
-#: gitk:7524
+#: gitk:9273
msgid "No tag name specified"
msgstr "No se ha especificado etiqueta"
-#: gitk:7528
+#: gitk:9277
#, tcl-format
msgid "Tag \"%s\" already exists"
msgstr "La etiqueta \"%s\" ya existe"
-#: gitk:7534
+#: gitk:9287
msgid "Error creating tag:"
msgstr "Error al crear la etiqueta:"
-#: gitk:7604
+#: gitk:9363
msgid "Command:"
msgstr "Comando:"
-#: gitk:7612
+#: gitk:9371
msgid "Write"
msgstr "Escribir"
-#: gitk:7628
+#: gitk:9389
msgid "Error writing commit:"
msgstr "Error al escribir revisión:"
-#: gitk:7654
+#: gitk:9416
msgid "Name:"
msgstr "Nombre:"
-#: gitk:7674
+#: gitk:9439
msgid "Please specify a name for the new branch"
msgstr "Especifique un nombre para la nueva rama"
-#: gitk:7703
+#: gitk:9444
+#, fuzzy, tcl-format
+msgid "Branch '%s' already exists. Overwrite?"
+msgstr "La etiqueta \"%s\" ya existe"
+
+#: gitk:9511
#, tcl-format
msgid "Commit %s is already included in branch %s -- really re-apply it?"
msgstr "La revisión %s ya está incluida en la rama %s -- ¿Volver a aplicarla?"
-#: gitk:7708
+#: gitk:9516
msgid "Cherry-picking"
msgstr "Eligiendo revisiones (cherry-picking)"
-#: gitk:7720
+#: gitk:9525
+#, tcl-format
+msgid ""
+"Cherry-pick failed because of local changes to file '%s'.\n"
+"Please commit, reset or stash your changes and try again."
+msgstr ""
+
+#: gitk:9531
+msgid ""
+"Cherry-pick failed because of merge conflict.\n"
+"Do you wish to run git citool to resolve it?"
+msgstr ""
+
+#: gitk:9547 gitk:9605
msgid "No changes committed"
msgstr "No se han guardado cambios"
-#: gitk:7745
+#: gitk:9574
+#, fuzzy, tcl-format
+msgid "Commit %s is not included in branch %s -- really revert it?"
+msgstr "La revisión %s ya está incluida en la rama %s -- ¿Volver a aplicarla?"
+
+#: gitk:9579
+#, fuzzy
+msgid "Reverting"
+msgstr "Reponiendo"
+
+#: gitk:9587
+#, tcl-format
+msgid ""
+"Revert failed because of local changes to the following files:%s Please "
+"commit, reset or stash your changes and try again."
+msgstr ""
+
+#: gitk:9591
+msgid ""
+"Revert failed because of merge conflict.\n"
+" Do you wish to run git citool to resolve it?"
+msgstr ""
+
+#: gitk:9634
msgid "Confirm reset"
msgstr "Confirmar git reset"
-#: gitk:7747
+#: gitk:9636
#, tcl-format
msgid "Reset branch %s to %s?"
msgstr "¿Reponer la rama %s a %s?"
-#: gitk:7751
+#: gitk:9638
msgid "Reset type:"
msgstr "Tipo de reposición:"
-#: gitk:7755
+#: gitk:9641
msgid "Soft: Leave working tree and index untouched"
msgstr "Suave: No altera la copia de trabajo ni el índice"
-#: gitk:7758
+#: gitk:9644
msgid "Mixed: Leave working tree untouched, reset index"
msgstr "Mixta: Actualiza el índice, no altera la copia de trabajo"
-#: gitk:7761
+#: gitk:9647
msgid ""
"Hard: Reset working tree and index\n"
"(discard ALL local changes)"
@@ -719,19 +1103,19 @@ msgstr ""
"Dura: Actualiza el índice y la copia de trabajo\n"
"(abandona TODAS las modificaciones locales)"
-#: gitk:7777
+#: gitk:9664
msgid "Resetting"
msgstr "Reponiendo"
-#: gitk:7834
+#: gitk:9724
msgid "Checking out"
msgstr "Creando copia de trabajo"
-#: gitk:7885
+#: gitk:9777
msgid "Cannot delete the currently checked-out branch"
msgstr "No se puede borrar la rama actual"
-#: gitk:7891
+#: gitk:9783
#, tcl-format
msgid ""
"The commits on branch %s aren't on any other branch.\n"
@@ -740,16 +1124,16 @@ msgstr ""
"Las revisiones de la rama %s no están presentes en otras ramas.\n"
"¿Borrar la rama %s?"
-#: gitk:7922
+#: gitk:9814
#, tcl-format
msgid "Tags and heads: %s"
msgstr "Etiquetas y ramas: %s"
-#: gitk:7936
+#: gitk:9829
msgid "Filter"
msgstr "Filtro"
-#: gitk:8230
+#: gitk:10125
msgid ""
"Error reading commit topology information; branch and preceding/following "
"tag information will be incomplete."
@@ -757,155 +1141,255 @@ msgstr ""
"Error al leer la topología de revisiones: la información sobre las ramas y "
"etiquetas precedentes y siguientes será incompleta."
-#: gitk:9216
+#: gitk:11102
msgid "Tag"
msgstr "Etiqueta"
-#: gitk:9216
+#: gitk:11106
msgid "Id"
msgstr "Id"
-#: gitk:9262
+#: gitk:11189
msgid "Gitk font chooser"
msgstr "Selector de tipografías gitk"
-#: gitk:9279
+#: gitk:11206
msgid "B"
msgstr "B"
-#: gitk:9282
+#: gitk:11209
msgid "I"
msgstr "I"
-#: gitk:9375
-msgid "Gitk preferences"
-msgstr "Preferencias de gitk"
-
-#: gitk:9376
+#: gitk:11327
msgid "Commit list display options"
msgstr "Opciones de visualización de la lista de revisiones"
-#: gitk:9379
+#: gitk:11330
msgid "Maximum graph width (lines)"
msgstr "Ancho máximo del gráfico (en líneas)"
-#: gitk:9383
-#, tcl-format
+#: gitk:11334
+#, no-tcl-format
msgid "Maximum graph width (% of pane)"
msgstr "Ancho máximo del gráfico (en % del panel)"
-#: gitk:9388
+#: gitk:11337
msgid "Show local changes"
msgstr "Mostrar cambios locales"
-#: gitk:9393
-msgid "Auto-select SHA1"
+#: gitk:11340
+#, fuzzy
+msgid "Auto-select SHA1 (length)"
msgstr "Seleccionar automáticamente SHA1 hash"
-#: gitk:9398
+#: gitk:11344
+msgid "Hide remote refs"
+msgstr ""
+
+#: gitk:11348
msgid "Diff display options"
msgstr "Opciones de visualización de diferencias"
-#: gitk:9400
+#: gitk:11350
msgid "Tab spacing"
msgstr "Espaciado de tabulador"
-#: gitk:9404
-msgid "Display nearby tags"
+#: gitk:11353
+#, fuzzy
+msgid "Display nearby tags/heads"
msgstr "Mostrar etiquetas cercanas"
-#: gitk:9409
+#: gitk:11356
+msgid "Maximum # tags/heads to show"
+msgstr ""
+
+#: gitk:11359
msgid "Limit diffs to listed paths"
msgstr "Limitar las diferencias a las rutas seleccionadas"
-#: gitk:9414
+#: gitk:11362
msgid "Support per-file encodings"
msgstr ""
-#: gitk:9421
+#: gitk:11368 gitk:11515
msgid "External diff tool"
msgstr ""
-#: gitk:9423
+#: gitk:11369
msgid "Choose..."
msgstr ""
-#: gitk:9428
+#: gitk:11374
+#, fuzzy
+msgid "General options"
+msgstr "Generar parche"
+
+#: gitk:11377
+msgid "Use themed widgets"
+msgstr ""
+
+#: gitk:11379
+msgid "(change requires restart)"
+msgstr ""
+
+#: gitk:11381
+msgid "(currently unavailable)"
+msgstr ""
+
+#: gitk:11392
msgid "Colors: press to choose"
msgstr "Colores: pulse para seleccionar"
-#: gitk:9431
+#: gitk:11395
+msgid "Interface"
+msgstr ""
+
+#: gitk:11396
+#, fuzzy
+msgid "interface"
+msgstr "Tipografía para interfaz de usuario"
+
+#: gitk:11399
msgid "Background"
msgstr "Fondo"
-#: gitk:9435
+#: gitk:11400 gitk:11430
+#, fuzzy
+msgid "background"
+msgstr "Fondo"
+
+#: gitk:11403
msgid "Foreground"
msgstr "Primer plano"
-#: gitk:9439
+#: gitk:11404
+#, fuzzy
+msgid "foreground"
+msgstr "Primer plano"
+
+#: gitk:11407
msgid "Diff: old lines"
msgstr "Diff: líneas viejas"
-#: gitk:9444
+#: gitk:11408
+#, fuzzy
+msgid "diff old lines"
+msgstr "Diff: líneas viejas"
+
+#: gitk:11412
msgid "Diff: new lines"
msgstr "Diff: líneas nuevas"
-#: gitk:9449
+#: gitk:11413
+#, fuzzy
+msgid "diff new lines"
+msgstr "Diff: líneas nuevas"
+
+#: gitk:11417
msgid "Diff: hunk header"
msgstr "Diff: cabecera de fragmento"
-#: gitk:9455
+#: gitk:11419
+#, fuzzy
+msgid "diff hunk header"
+msgstr "Diff: cabecera de fragmento"
+
+#: gitk:11423
+msgid "Marked line bg"
+msgstr ""
+
+#: gitk:11425
+msgid "marked line background"
+msgstr ""
+
+#: gitk:11429
msgid "Select bg"
msgstr "Color de fondo de la selección"
-#: gitk:9459
+#: gitk:11438
msgid "Fonts: press to choose"
msgstr "Tipografías: pulse para elegir"
-#: gitk:9461
+#: gitk:11440
msgid "Main font"
msgstr "Tipografía principal"
-#: gitk:9462
+#: gitk:11441
msgid "Diff display font"
msgstr "Tipografía para diferencias"
-#: gitk:9463
+#: gitk:11442
msgid "User interface font"
msgstr "Tipografía para interfaz de usuario"
-#: gitk:9488
+#: gitk:11464
+msgid "Gitk preferences"
+msgstr "Preferencias de gitk"
+
+#: gitk:11473
+#, fuzzy
+msgid "General"
+msgstr "Generar"
+
+#: gitk:11474
+msgid "Colors"
+msgstr ""
+
+#: gitk:11475
+msgid "Fonts"
+msgstr ""
+
+#: gitk:11525
#, tcl-format
msgid "Gitk: choose color for %s"
msgstr "Gitk: elegir color para %s"
-#: gitk:9934
-msgid ""
-"Sorry, gitk cannot run with this version of Tcl/Tk.\n"
-" Gitk requires at least Tcl/Tk 8.4."
-msgstr ""
-"Esta versión de Tcl/Tk es demasiado antigua.\n"
-" Gitk requiere Tcl/Tk versión 8.4 o superior."
-
-#: gitk:10047
+#: gitk:12242
msgid "Cannot find a git repository here."
msgstr "No hay un repositorio git aquí."
-#: gitk:10051
-#, tcl-format
-msgid "Cannot find the git directory \"%s\"."
-msgstr "No hay directorio git \"%s\"."
-
-#: gitk:10098
+#: gitk:12289
#, tcl-format
msgid "Ambiguous argument '%s': both revision and filename"
msgstr ""
"Argumento ambiguo: '%s' es tanto una revisión como un nombre de archivo"
-#: gitk:10110
+#: gitk:12301
msgid "Bad arguments to gitk:"
msgstr "Argumentos incorrectos a Gitk:"
-#: gitk:10170
+#: gitk:12405
msgid "Command line"
msgstr "Línea de comandos"
+
+#~ msgid "SHA1 ID: "
+#~ msgstr "SHA1 ID: "
+
+#~ msgid "next"
+#~ msgstr "<<"
+
+#~ msgid "prev"
+#~ msgstr ">>"
+
+#~ msgid "/\t\tMove to next find hit, or redo find"
+#~ msgstr "/\t\tBuscar el siguiente, o reiniciar la búsqueda"
+
+#~ msgid "Name"
+#~ msgstr "Nombre"
+
+#~ msgid "CDate"
+#~ msgstr "Fecha de creación"
+
+#~ msgid "Tag/Head %s is not known"
+#~ msgstr "La etiqueta/rama %s es deconocida"
+
+#~ msgid ""
+#~ "Sorry, gitk cannot run with this version of Tcl/Tk.\n"
+#~ " Gitk requires at least Tcl/Tk 8.4."
+#~ msgstr ""
+#~ "Esta versión de Tcl/Tk es demasiado antigua.\n"
+#~ " Gitk requiere Tcl/Tk versión 8.4 o superior."
+
+#~ msgid "Cannot find the git directory \"%s\"."
+#~ msgstr "No hay directorio git \"%s\"."
diff --git a/gitk-git/po/fr.po b/gitk-git/po/fr.po
index 5370ddc393..747ee190f2 100644
--- a/gitk-git/po/fr.po
+++ b/gitk-git/po/fr.po
@@ -8,36 +8,45 @@ msgid ""
msgstr ""
"Project-Id-Version: gitk\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-10-05 15:16+0200\n"
+"POT-Creation-Date: 2015-03-15 14:37+1100\n"
"PO-Revision-Date: 2009-11-19 22:13+0100\n"
"Last-Translator: Emmanuel Trillaud <etrillaud@gmail.com>\n"
"Language-Team: git@vger.kernel.org\n"
+"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Poedit-Language: French\n"
"X-Poedit-Country: FRANCE\n"
-#: gitk:113
+#: gitk:140
msgid "Couldn't get list of unmerged files:"
msgstr "Impossible de récupérer la liste des fichiers non fusionnés :"
-#: gitk:269
+#: gitk:212 gitk:2381
+msgid "Color words"
+msgstr ""
+
+#: gitk:217 gitk:2381 gitk:8201 gitk:8234
+msgid "Markup words"
+msgstr ""
+
+#: gitk:324
msgid "Error parsing revisions:"
msgstr "Erreur lors du parcours des révisions :"
-#: gitk:324
+#: gitk:380
msgid "Error executing --argscmd command:"
msgstr "Erreur à l'exécution de la commande --argscmd :"
-#: gitk:337
+#: gitk:393
msgid "No files selected: --merge specified but no files are unmerged."
msgstr ""
"Aucun fichier sélectionné : --merge précisé, mais tous les fichiers sont "
"fusionnés."
# FIXME : améliorer la traduction de 'file limite'
-#: gitk:340
+#: gitk:396
#, fuzzy
msgid ""
"No files selected: --merge specified but no unmerged files are within file "
@@ -46,295 +55,315 @@ msgstr ""
"Aucun fichier sélectionné : --merge précisé mais aucun fichier non fusionné "
"n'est dans la limite des fichiers."
-#: gitk:362 gitk:509
+#: gitk:418 gitk:566
msgid "Error executing git log:"
msgstr "Erreur à l'exécution de git log :"
-#: gitk:380 gitk:525
+#: gitk:436 gitk:582
msgid "Reading"
msgstr "Lecture en cours"
-#: gitk:440 gitk:4123
+#: gitk:496 gitk:4508
msgid "Reading commits..."
msgstr "Lecture des commits..."
-#: gitk:443 gitk:1561 gitk:4126
+#: gitk:499 gitk:1637 gitk:4511
msgid "No commits selected"
msgstr "Aucun commit sélectionné"
-#: gitk:1437
+#: gitk:1511
msgid "Can't parse git log output:"
msgstr "Impossible de lire la sortie de git log :"
-#: gitk:1657
+#: gitk:1740
msgid "No commit information available"
msgstr "Aucune information disponible sur le commit"
-#: gitk:1793 gitk:1817 gitk:3916 gitk:8786 gitk:10322 gitk:10498
+#: gitk:1897
+msgid "mc"
+msgstr ""
+
+#: gitk:1932 gitk:4298 gitk:9650 gitk:11220 gitk:11500
msgid "OK"
msgstr "OK"
-#: gitk:1819 gitk:3918 gitk:8383 gitk:8457 gitk:8567 gitk:8616 gitk:8788
-#: gitk:10323 gitk:10499
+#: gitk:1934 gitk:4300 gitk:9177 gitk:9256 gitk:9372 gitk:9421 gitk:9652
+#: gitk:11221 gitk:11501
msgid "Cancel"
msgstr "Annuler"
-#: gitk:1919
+#: gitk:2069
msgid "Update"
msgstr "Mise à jour"
-#: gitk:1920
+#: gitk:2070
msgid "Reload"
msgstr "Recharger"
-#: gitk:1921
+#: gitk:2071
msgid "Reread references"
msgstr "Relire les références"
-#: gitk:1922
+#: gitk:2072
msgid "List references"
msgstr "Lister les références"
-#: gitk:1924
+#: gitk:2074
msgid "Start git gui"
msgstr "Démarrer git gui"
-#: gitk:1926
+#: gitk:2076
msgid "Quit"
msgstr "Quitter"
-#: gitk:1918
+#: gitk:2068
msgid "File"
msgstr "Fichier"
-#: gitk:1930
+#: gitk:2080
msgid "Preferences"
msgstr "Préférences"
-#: gitk:1929
+#: gitk:2079
msgid "Edit"
msgstr "Éditer"
-#: gitk:1934
+#: gitk:2084
msgid "New view..."
msgstr "Nouvelle vue..."
-#: gitk:1935
+#: gitk:2085
msgid "Edit view..."
msgstr "Éditer la vue..."
-#: gitk:1936
+#: gitk:2086
msgid "Delete view"
msgstr "Supprimer la vue"
-#: gitk:1938
+#: gitk:2088
msgid "All files"
msgstr "Tous les fichiers"
-#: gitk:1933 gitk:3670
+#: gitk:2083 gitk:4050
msgid "View"
msgstr "Vue"
-#: gitk:1943 gitk:1953 gitk:2654
+#: gitk:2093 gitk:2103 gitk:3009
msgid "About gitk"
msgstr "À propos de gitk"
-#: gitk:1944 gitk:1958
+#: gitk:2094 gitk:2108
msgid "Key bindings"
msgstr "Raccourcis clavier"
-#: gitk:1942 gitk:1957
+#: gitk:2092 gitk:2107
msgid "Help"
msgstr "Aide"
-#: gitk:2018
-msgid "SHA1 ID: "
-msgstr "ID SHA1 :"
+#: gitk:2185 gitk:8633
+msgid "SHA1 ID:"
+msgstr "Id SHA1 :"
-#: gitk:2049
+#: gitk:2229
msgid "Row"
msgstr "Colonne"
-#: gitk:2080
+#: gitk:2267
msgid "Find"
msgstr "Recherche"
-#: gitk:2081
-msgid "next"
-msgstr "suivant"
-
-#: gitk:2082
-msgid "prev"
-msgstr "précédent"
-
-#: gitk:2083
+#: gitk:2295
msgid "commit"
msgstr "commit"
-#: gitk:2086 gitk:2088 gitk:4284 gitk:4307 gitk:4331 gitk:6272 gitk:6344
-#: gitk:6428
+#: gitk:2299 gitk:2301 gitk:4669 gitk:4692 gitk:4716 gitk:6736 gitk:6808
+#: gitk:6893
msgid "containing:"
msgstr "contient :"
-#: gitk:2089 gitk:3162 gitk:3167 gitk:4359
+#: gitk:2302 gitk:3522 gitk:3527 gitk:4745
msgid "touching paths:"
msgstr "chemins modifiés :"
-#: gitk:2090 gitk:4364
+#: gitk:2303 gitk:4759
msgid "adding/removing string:"
msgstr "ajoute/supprime la chaîne :"
-#: gitk:2099 gitk:2101
+#: gitk:2304 gitk:4761
+msgid "changing lines matching:"
+msgstr ""
+
+#: gitk:2313 gitk:2315 gitk:4748
msgid "Exact"
msgstr "Exact"
-#: gitk:2101 gitk:4439 gitk:6240
+#: gitk:2315 gitk:4836 gitk:6704
msgid "IgnCase"
msgstr "Ignorer la casse"
-#: gitk:2101 gitk:4333 gitk:4437 gitk:6236
+#: gitk:2315 gitk:4718 gitk:4834 gitk:6700
msgid "Regexp"
msgstr "Expression régulière"
-#: gitk:2103 gitk:2104 gitk:4458 gitk:4488 gitk:4495 gitk:6364 gitk:6432
+#: gitk:2317 gitk:2318 gitk:4856 gitk:4886 gitk:4893 gitk:6829 gitk:6897
msgid "All fields"
msgstr "Tous les champs"
-#: gitk:2104 gitk:4456 gitk:4488 gitk:6303
+#: gitk:2318 gitk:4853 gitk:4886 gitk:6767
msgid "Headline"
msgstr "Surligner"
-#: gitk:2105 gitk:4456 gitk:6303 gitk:6432 gitk:6866
+#: gitk:2319 gitk:4853 gitk:6767 gitk:6897 gitk:7370
msgid "Comments"
msgstr "Commentaires"
-#: gitk:2105 gitk:4456 gitk:4460 gitk:4495 gitk:6303 gitk:6801 gitk:8063
-#: gitk:8078
+#: gitk:2319 gitk:4853 gitk:4858 gitk:4893 gitk:6767 gitk:7305 gitk:8811
+#: gitk:8826
msgid "Author"
msgstr "Auteur"
-#: gitk:2105 gitk:4456 gitk:6303 gitk:6803
+#: gitk:2319 gitk:4853 gitk:6767 gitk:7307
msgid "Committer"
msgstr "Auteur du commit"
-#: gitk:2134
+#: gitk:2350
msgid "Search"
msgstr "Rechercher"
-#: gitk:2141
+#: gitk:2358
msgid "Diff"
msgstr "Diff"
-#: gitk:2143
+#: gitk:2360
msgid "Old version"
msgstr "Ancienne version"
-#: gitk:2145
+#: gitk:2362
msgid "New version"
msgstr "Nouvelle version"
-#: gitk:2147
+#: gitk:2364
msgid "Lines of context"
msgstr "Lignes de contexte"
-#: gitk:2157
+#: gitk:2374
msgid "Ignore space change"
msgstr "Ignorer les modifications d'espace"
-#: gitk:2215
+#: gitk:2378 gitk:2380 gitk:7940 gitk:8187
+msgid "Line diff"
+msgstr ""
+
+#: gitk:2445
msgid "Patch"
msgstr "Patch"
-#: gitk:2217
+#: gitk:2447
msgid "Tree"
msgstr "Arbre"
-#: gitk:2361 gitk:2378
+#: gitk:2616 gitk:2636
msgid "Diff this -> selected"
msgstr "Diff entre ceci et la sélection"
-#: gitk:2362 gitk:2379
+#: gitk:2617 gitk:2637
msgid "Diff selected -> this"
msgstr "Diff entre sélection et ceci"
-#: gitk:2363 gitk:2380
+#: gitk:2618 gitk:2638
msgid "Make patch"
msgstr "Créer patch"
-#: gitk:2364 gitk:8441
+#: gitk:2619 gitk:9235
msgid "Create tag"
msgstr "Créer tag"
-#: gitk:2365 gitk:8547
+#: gitk:2620 gitk:9352
msgid "Write commit to file"
msgstr "Écrire le commit dans un fichier"
-#: gitk:2366 gitk:8604
+#: gitk:2621 gitk:9409
msgid "Create new branch"
msgstr "Créer une nouvelle branche"
-#: gitk:2367
+#: gitk:2622
msgid "Cherry-pick this commit"
msgstr "Cueillir (cherry-pick) ce commit"
-#: gitk:2368
+#: gitk:2623
msgid "Reset HEAD branch to here"
msgstr "Réinitialiser la branche HEAD vers cet état"
-#: gitk:2369
+#: gitk:2624
msgid "Mark this commit"
msgstr "Marquer ce commit"
-#: gitk:2370
+#: gitk:2625
msgid "Return to mark"
msgstr "Retourner à la marque"
-#: gitk:2371
+#: gitk:2626
msgid "Find descendant of this and mark"
msgstr "Chercher le descendant de ceci et le marquer"
-#: gitk:2372
+#: gitk:2627
msgid "Compare with marked commit"
msgstr "Comparer avec le commit marqué"
-#: gitk:2386
+#: gitk:2628 gitk:2639
+#, fuzzy
+msgid "Diff this -> marked commit"
+msgstr "Diff entre ceci et la sélection"
+
+#: gitk:2629 gitk:2640
+#, fuzzy
+msgid "Diff marked commit -> this"
+msgstr "Diff entre sélection et ceci"
+
+#: gitk:2630
+#, fuzzy
+msgid "Revert this commit"
+msgstr "Marquer ce commit"
+
+#: gitk:2646
msgid "Check out this branch"
msgstr "Récupérer cette branche"
-#: gitk:2387
+#: gitk:2647
msgid "Remove this branch"
msgstr "Supprimer cette branche"
-#: gitk:2394
+#: gitk:2654
msgid "Highlight this too"
msgstr "Surligner également ceci"
-#: gitk:2395
+#: gitk:2655
msgid "Highlight this only"
msgstr "Surligner seulement ceci"
-#: gitk:2396
+#: gitk:2656
msgid "External diff"
msgstr "Diff externe"
-#: gitk:2397
+#: gitk:2657
msgid "Blame parent commit"
msgstr "Blâmer le commit parent"
-#: gitk:2404
+#: gitk:2664
msgid "Show origin of this line"
msgstr "Montrer l'origine de cette ligne"
-#: gitk:2405
+#: gitk:2665
msgid "Run git gui blame on this line"
msgstr "Exécuter git gui blame sur cette ligne"
-#: gitk:2656
+#: gitk:3011
+#, fuzzy
msgid ""
"\n"
"Gitk - a commit viewer for git\n"
"\n"
-"Copyright \\u00a9 2005-2010 Paul Mackerras\n"
+"Copyright © 2005-2014 Paul Mackerras\n"
"\n"
"Use and redistribute under the terms of the GNU General Public License"
msgstr ""
@@ -346,299 +375,317 @@ msgstr ""
"Utilisation et redistribution soumises aux termes de la GNU General Public "
"License"
-#: gitk:2664 gitk:2726 gitk:8969
+#: gitk:3019 gitk:3085 gitk:9836
msgid "Close"
msgstr "Fermer"
-#: gitk:2683
+#: gitk:3040
msgid "Gitk key bindings"
msgstr "Raccourcis clavier de Gitk"
-#: gitk:2686
+#: gitk:3043
msgid "Gitk key bindings:"
msgstr "Raccourcis clavier de Gitk :"
-#: gitk:2688
+#: gitk:3045
#, tcl-format
msgid "<%s-Q>\t\tQuit"
msgstr "<%s-Q>\t\tQuitter"
-#: gitk:2689
+#: gitk:3046
+#, fuzzy, tcl-format
+msgid "<%s-W>\t\tClose window"
+msgstr "<%s-F>\t\tRechercher"
+
+#: gitk:3047
msgid "<Home>\t\tMove to first commit"
msgstr "<Début>\t\tAller au premier commit"
-#: gitk:2690
+#: gitk:3048
msgid "<End>\t\tMove to last commit"
msgstr "<Fin>\t\tAller au dernier commit"
-#: gitk:2691
-msgid "<Up>, p, i\tMove up one commit"
+#: gitk:3049
+#, fuzzy
+msgid "<Up>, p, k\tMove up one commit"
msgstr "<Haut>, p, i\t Aller au commit suivant"
-#: gitk:2692
-msgid "<Down>, n, k\tMove down one commit"
+#: gitk:3050
+#, fuzzy
+msgid "<Down>, n, j\tMove down one commit"
msgstr "<Bas>, n, k\t Aller au commit précédent"
-#: gitk:2693
-msgid "<Left>, z, j\tGo back in history list"
+#: gitk:3051
+#, fuzzy
+msgid "<Left>, z, h\tGo back in history list"
msgstr "<Gauche>, z, j\tReculer dans l'historique"
-#: gitk:2694
+#: gitk:3052
msgid "<Right>, x, l\tGo forward in history list"
msgstr "<Droite>, x, l\tAvancer dans l'historique"
-#: gitk:2695
+#: gitk:3053
+#, tcl-format
+msgid "<%s-n>\tGo to n-th parent of current commit in history list"
+msgstr ""
+
+#: gitk:3054
msgid "<PageUp>\tMove up one page in commit list"
msgstr "<PageUp>\tMonter d'une page dans la liste des commits"
-#: gitk:2696
+#: gitk:3055
msgid "<PageDown>\tMove down one page in commit list"
msgstr "<PageDown>\tDescendre d'une page dans la liste des commits"
-#: gitk:2697
+#: gitk:3056
#, tcl-format
msgid "<%s-Home>\tScroll to top of commit list"
msgstr "<%s-Début>\tAller en haut de la liste des commits"
-#: gitk:2698
+#: gitk:3057
#, tcl-format
msgid "<%s-End>\tScroll to bottom of commit list"
msgstr "<%s-End>\tAller en bas de la liste des commits"
-#: gitk:2699
+#: gitk:3058
#, tcl-format
msgid "<%s-Up>\tScroll commit list up one line"
msgstr "<%s-Up>\tMonter d'une ligne dans la liste des commits"
-#: gitk:2700
+#: gitk:3059
#, tcl-format
msgid "<%s-Down>\tScroll commit list down one line"
msgstr "<%s-Down>\tDescendre d'une ligne dans la liste des commits"
-#: gitk:2701
+#: gitk:3060
#, tcl-format
msgid "<%s-PageUp>\tScroll commit list up one page"
msgstr "<%s-PageUp>\tMonter d'une page dans la liste des commits"
-#: gitk:2702
+#: gitk:3061
#, tcl-format
msgid "<%s-PageDown>\tScroll commit list down one page"
msgstr "<%s-PageDown>\tDescendre d'une page dans la liste des commits"
-#: gitk:2703
+#: gitk:3062
msgid "<Shift-Up>\tFind backwards (upwards, later commits)"
msgstr ""
"<Shift-Up>\tRecherche en arrière (vers l'avant, commits les plus anciens)"
-#: gitk:2704
+#: gitk:3063
msgid "<Shift-Down>\tFind forwards (downwards, earlier commits)"
msgstr ""
"<Shift-Down>\tRecherche en avant (vers l'arrière, commit les plus récents)"
-#: gitk:2705
+#: gitk:3064
msgid "<Delete>, b\tScroll diff view up one page"
msgstr "<Supprimer>, b\tMonter d'une page dans la vue des diff"
-#: gitk:2706
+#: gitk:3065
msgid "<Backspace>\tScroll diff view up one page"
msgstr "<Backspace>\tMonter d'une page dans la vue des diff"
-#: gitk:2707
+#: gitk:3066
msgid "<Space>\t\tScroll diff view down one page"
msgstr "<Espace>\t\tDescendre d'une page dans la vue des diff"
-#: gitk:2708
+#: gitk:3067
msgid "u\t\tScroll diff view up 18 lines"
msgstr "u\t\tMonter de 18 lignes dans la vue des diff"
-#: gitk:2709
+#: gitk:3068
msgid "d\t\tScroll diff view down 18 lines"
msgstr "d\t\tDescendre de 18 lignes dans la vue des diff"
-#: gitk:2710
+#: gitk:3069
#, tcl-format
msgid "<%s-F>\t\tFind"
msgstr "<%s-F>\t\tRechercher"
-#: gitk:2711
+#: gitk:3070
#, tcl-format
msgid "<%s-G>\t\tMove to next find hit"
msgstr "<%s-G>\t\tAller au résultat de recherche suivant"
-#: gitk:2712
+#: gitk:3071
msgid "<Return>\tMove to next find hit"
msgstr "<Return>\t\tAller au résultat de recherche suivant"
-#: gitk:2713
+#: gitk:3072
msgid "/\t\tFocus the search box"
msgstr "/\t\tFocus sur la zone de recherche"
-#: gitk:2714
+#: gitk:3073
msgid "?\t\tMove to previous find hit"
msgstr "?\t\tAller au résultat de recherche précédent"
-#: gitk:2715
+#: gitk:3074
msgid "f\t\tScroll diff view to next file"
msgstr "f\t\tAller au prochain fichier dans la vue des diff"
-#: gitk:2716
+#: gitk:3075
#, tcl-format
msgid "<%s-S>\t\tSearch for next hit in diff view"
msgstr "<%s-S>\t\tAller au résultat suivant dans la vue des diff"
-#: gitk:2717
+#: gitk:3076
#, tcl-format
msgid "<%s-R>\t\tSearch for previous hit in diff view"
msgstr "<%s-R>\t\tAller au résultat précédent dans la vue des diff"
-#: gitk:2718
+#: gitk:3077
#, tcl-format
msgid "<%s-KP+>\tIncrease font size"
msgstr "<%s-KP+>\tAugmenter la taille de la police"
-#: gitk:2719
+#: gitk:3078
#, tcl-format
msgid "<%s-plus>\tIncrease font size"
msgstr "<%s-plus>\tAugmenter la taille de la police"
-#: gitk:2720
+#: gitk:3079
#, tcl-format
msgid "<%s-KP->\tDecrease font size"
msgstr "<%s-KP->\tDiminuer la taille de la police"
-#: gitk:2721
+#: gitk:3080
#, tcl-format
msgid "<%s-minus>\tDecrease font size"
msgstr "<%s-minus>\tDiminuer la taille de la police"
-#: gitk:2722
+#: gitk:3081
msgid "<F5>\t\tUpdate"
msgstr "<F5>\t\tMise à jour"
-#: gitk:3177
-#, tcl-format
-msgid "Error getting \"%s\" from %s:"
-msgstr "Erreur en obtenant \"%s\" de %s:"
-
-#: gitk:3234 gitk:3243
+#: gitk:3546 gitk:3555
#, tcl-format
msgid "Error creating temporary directory %s:"
msgstr "Erreur lors de la création du répertoire temporaire %s :"
-#: gitk:3255
+#: gitk:3568
+#, tcl-format
+msgid "Error getting \"%s\" from %s:"
+msgstr "Erreur en obtenant \"%s\" de %s:"
+
+#: gitk:3631
msgid "command failed:"
msgstr "échec de la commande :"
-#: gitk:3401
+#: gitk:3780
msgid "No such commit"
msgstr "Commit inexistant"
-#: gitk:3415
+#: gitk:3794
msgid "git gui blame: command failed:"
msgstr "git gui blame : échec de la commande :"
-#: gitk:3446
+#: gitk:3825
#, tcl-format
msgid "Couldn't read merge head: %s"
msgstr "Impossible de lire le head de la fusion : %s"
-#: gitk:3454
+#: gitk:3833
#, tcl-format
msgid "Error reading index: %s"
msgstr "Erreur à la lecture de l'index : %s"
-#: gitk:3479
+#: gitk:3858
#, tcl-format
msgid "Couldn't start git blame: %s"
msgstr "Impossible de démarrer git blame : %s"
-#: gitk:3482 gitk:6271
+#: gitk:3861 gitk:6735
msgid "Searching"
msgstr "Recherche en cours"
-#: gitk:3514
+#: gitk:3893
#, tcl-format
msgid "Error running git blame: %s"
msgstr "Erreur à l'exécution de git blame : %s"
-#: gitk:3542
+#: gitk:3921
#, tcl-format
msgid "That line comes from commit %s, which is not in this view"
msgstr "Cette ligne est issue du commit %s, qui n'est pas dans cette vue"
-#: gitk:3556
+#: gitk:3935
msgid "External diff viewer failed:"
msgstr "Échec de l'outil externe de visualisation des diff"
-#: gitk:3674
+#: gitk:4053
msgid "Gitk view definition"
msgstr "Définition des vues de Gitk"
-#: gitk:3678
+#: gitk:4057
msgid "Remember this view"
msgstr "Se souvenir de cette vue"
-#: gitk:3679
+#: gitk:4058
msgid "References (space separated list):"
msgstr "Références (liste d'éléments séparés par des espaces) :"
-#: gitk:3680
+#: gitk:4059
msgid "Branches & tags:"
msgstr "Branches & tags :"
-#: gitk:3681
+#: gitk:4060
msgid "All refs"
msgstr "Toutes les références"
-#: gitk:3682
+#: gitk:4061
msgid "All (local) branches"
msgstr "Toutes les branches (locales)"
-#: gitk:3683
+#: gitk:4062
msgid "All tags"
msgstr "Tous les tags"
-#: gitk:3684
+#: gitk:4063
msgid "All remote-tracking branches"
msgstr "Toutes les branches de suivi à distance"
-#: gitk:3685
+#: gitk:4064
msgid "Commit Info (regular expressions):"
msgstr "Info sur les commits (expressions régulières) :"
-#: gitk:3686
+#: gitk:4065
msgid "Author:"
msgstr "Auteur :"
-#: gitk:3687
+#: gitk:4066
msgid "Committer:"
msgstr "Commiteur :"
-#: gitk:3688
+#: gitk:4067
msgid "Commit Message:"
msgstr "Message de commit :"
-#: gitk:3689
+#: gitk:4068
msgid "Matches all Commit Info criteria"
msgstr "Correspond à tous les critères d'Info sur les commits"
-#: gitk:3690
+#: gitk:4069
+#, fuzzy
+msgid "Matches none Commit Info criteria"
+msgstr "Correspond à tous les critères d'Info sur les commits"
+
+#: gitk:4070
msgid "Changes to Files:"
msgstr "Changements des fichiers :"
-#: gitk:3691
+#: gitk:4071
msgid "Fixed String"
msgstr "Chaîne Figée"
-#: gitk:3692
+#: gitk:4072
msgid "Regular Expression"
msgstr "Expression Régulière"
-#: gitk:3693
+#: gitk:4073
msgid "Search string:"
msgstr "Recherche de la chaîne :"
-#: gitk:3694
+#: gitk:4074
msgid ""
"Commit Dates (\"2 weeks ago\", \"2009-03-17 15:27:38\", \"March 17, 2009 "
"15:27:38\"):"
@@ -646,207 +693,204 @@ msgstr ""
"Dates des commits (\"2 weeks ago\", \"2009-03-17 15:27:38\", \"March 17, "
"2009 15:27:38\") :"
-#: gitk:3695
+#: gitk:4075
msgid "Since:"
msgstr "De :"
-#: gitk:3696
+#: gitk:4076
msgid "Until:"
msgstr "Jusqu'au :"
-#: gitk:3697
+#: gitk:4077
msgid "Limit and/or skip a number of revisions (positive integer):"
msgstr "Limiter et/ou sauter un certain nombre (entier positif) de révisions :"
-#: gitk:3698
+#: gitk:4078
msgid "Number to show:"
msgstr "Nombre à afficher :"
-#: gitk:3699
+#: gitk:4079
msgid "Number to skip:"
msgstr "Nombre à sauter :"
-#: gitk:3700
+#: gitk:4080
msgid "Miscellaneous options:"
msgstr "Options diverses :"
-#: gitk:3701
+#: gitk:4081
msgid "Strictly sort by date"
msgstr "Trier par date"
# FIXME : traduction de "branch sides"
-#: gitk:3702
+#: gitk:4082
#, fuzzy
msgid "Mark branch sides"
msgstr "Marquer les extrémités des branches"
-#: gitk:3703
+#: gitk:4083
msgid "Limit to first parent"
msgstr "Limiter au premier ancêtre"
-#: gitk:3704
+#: gitk:4084
msgid "Simple history"
msgstr "Historique simple"
-#: gitk:3705
+#: gitk:4085
msgid "Additional arguments to git log:"
msgstr "Arguments supplémentaires de git log :"
-#: gitk:3706
+#: gitk:4086
msgid "Enter files and directories to include, one per line:"
msgstr "Saisir les fichiers et répertoires à inclure, un par ligne :"
-#: gitk:3707
+#: gitk:4087
msgid "Command to generate more commits to include:"
msgstr "Commande pour générer plus de commits à inclure :"
-#: gitk:3829
+#: gitk:4211
msgid "Gitk: edit view"
msgstr "Gitk : éditer la vue"
-#: gitk:3837
+#: gitk:4219
msgid "-- criteria for selecting revisions"
msgstr "-- critère pour la sélection des révisions"
-#: gitk:3842
-msgid "View Name:"
+#: gitk:4224
+#, fuzzy
+msgid "View Name"
msgstr "Nom de la vue :"
-#: gitk:3917
+#: gitk:4299
msgid "Apply (F5)"
msgstr "Appliquer (F5)"
-#: gitk:3955
+#: gitk:4337
msgid "Error in commit selection arguments:"
msgstr "Erreur dans les arguments de sélection des commits :"
-#: gitk:4008 gitk:4060 gitk:4508 gitk:4522 gitk:5783 gitk:11196 gitk:11197
+#: gitk:4392 gitk:4445 gitk:4906 gitk:4920 gitk:6190 gitk:12346 gitk:12347
msgid "None"
msgstr "Aucun"
-#: gitk:4456 gitk:6303 gitk:8065 gitk:8080
-msgid "Date"
-msgstr "Date"
-
-#: gitk:4456 gitk:6303
-msgid "CDate"
-msgstr "CDate"
-
-#: gitk:4605 gitk:4610
+#: gitk:5003 gitk:5008
msgid "Descendant"
msgstr "Descendant"
-#: gitk:4606
+#: gitk:5004
msgid "Not descendant"
msgstr "Pas un descendant"
-#: gitk:4613 gitk:4618
+#: gitk:5011 gitk:5016
msgid "Ancestor"
msgstr "Ancêtre"
-#: gitk:4614
+#: gitk:5012
msgid "Not ancestor"
msgstr "Pas un ancêtre"
-#: gitk:4904
+#: gitk:5306
msgid "Local changes checked in to index but not committed"
msgstr "Modifications locales enregistrées dans l'index mais non commitées"
-#: gitk:4940
+#: gitk:5342
msgid "Local uncommitted changes, not checked in to index"
msgstr "Modifications locales non enregistrées dans l'index et non commitées"
-#: gitk:6621
+#: gitk:7115
+msgid "and many more"
+msgstr ""
+
+#: gitk:7118
msgid "many"
msgstr "nombreux"
-#: gitk:6805
+#: gitk:7309
msgid "Tags:"
msgstr "Tags :"
-#: gitk:6822 gitk:6828 gitk:8058
+#: gitk:7326 gitk:7332 gitk:8806
msgid "Parent"
msgstr "Parent"
-#: gitk:6833
+#: gitk:7337
msgid "Child"
msgstr "Enfant"
-#: gitk:6842
+#: gitk:7346
msgid "Branch"
msgstr "Branche"
-#: gitk:6845
+#: gitk:7349
msgid "Follows"
msgstr "Suit"
-#: gitk:6848
+#: gitk:7352
msgid "Precedes"
msgstr "Précède"
-#: gitk:7346
+#: gitk:7947
#, tcl-format
msgid "Error getting diffs: %s"
msgstr "Erreur lors de la récupération des diff : %s"
-#: gitk:7886
+#: gitk:8631
msgid "Goto:"
msgstr "Aller à :"
-#: gitk:7888
-msgid "SHA1 ID:"
-msgstr "Id SHA1 :"
-
-#: gitk:7907
+#: gitk:8652
#, tcl-format
msgid "Short SHA1 id %s is ambiguous"
msgstr "Id SHA1 court %s est ambigu"
-#: gitk:7914
+#: gitk:8659
#, tcl-format
msgid "Revision %s is not known"
msgstr "Id SHA1 %s est inconnu"
-#: gitk:7924
+#: gitk:8669
#, tcl-format
msgid "SHA1 id %s is not known"
msgstr "Id SHA1 %s est inconnu"
-#: gitk:7926
+#: gitk:8671
#, tcl-format
msgid "Revision %s is not in the current view"
msgstr "La révision %s n'est pas dans la vue courante"
-#: gitk:8068
+#: gitk:8813 gitk:8828
+msgid "Date"
+msgstr "Date"
+
+#: gitk:8816
msgid "Children"
msgstr "Enfants"
-#: gitk:8125
+#: gitk:8879
#, tcl-format
msgid "Reset %s branch to here"
msgstr "Réinitialiser la branche %s vers cet état"
-#: gitk:8127
+#: gitk:8881
msgid "Detached head: can't reset"
msgstr "Head détaché : impossible de réinitialiser"
-#: gitk:8236 gitk:8242
+#: gitk:8986 gitk:8992
msgid "Skipping merge commit "
msgstr "Éviter le commit de la fusion "
-#: gitk:8251 gitk:8256
+#: gitk:9001 gitk:9006
msgid "Error getting patch ID for "
msgstr "Erreur à l'obtention de l'ID du patch pour "
-#: gitk:8252 gitk:8257
+#: gitk:9002 gitk:9007
msgid " - stopping\n"
msgstr " - arrêt en cours\n"
-#: gitk:8262 gitk:8265 gitk:8273 gitk:8283 gitk:8292
+#: gitk:9012 gitk:9015 gitk:9023 gitk:9037 gitk:9046
msgid "Commit "
msgstr "Commit "
-#: gitk:8266
+#: gitk:9016
msgid ""
" is the same patch as\n"
" "
@@ -854,7 +898,7 @@ msgstr ""
"est le même patch que \n"
" "
-#: gitk:8274
+#: gitk:9024
msgid ""
" differs from\n"
" "
@@ -862,117 +906,138 @@ msgstr ""
" diffère de\n"
" "
-#: gitk:8276
-msgid "- stopping\n"
-msgstr "- arrêt en cours\n"
+#: gitk:9026
+msgid ""
+"Diff of commits:\n"
+"\n"
+msgstr ""
-#: gitk:8284 gitk:8293
+#: gitk:9038 gitk:9047
#, tcl-format
msgid " has %s children - stopping\n"
msgstr "a %s enfants - arrêt en cours\n"
-#: gitk:8324
+#: gitk:9066
+#, fuzzy, tcl-format
+msgid "Error writing commit to file: %s"
+msgstr "Erreur à l'ecriture du commit :"
+
+#: gitk:9072
+#, fuzzy, tcl-format
+msgid "Error diffing commits: %s"
+msgstr "Erreur à l'ecriture du commit :"
+
+#: gitk:9118
msgid "Top"
msgstr "Haut"
-#: gitk:8325
+#: gitk:9119
msgid "From"
msgstr "De"
-#: gitk:8330
+#: gitk:9124
msgid "To"
msgstr "À"
-#: gitk:8354
+#: gitk:9148
msgid "Generate patch"
msgstr "Générer le patch"
-#: gitk:8356
+#: gitk:9150
msgid "From:"
msgstr "De :"
-#: gitk:8365
+#: gitk:9159
msgid "To:"
msgstr "À :"
-#: gitk:8374
+#: gitk:9168
msgid "Reverse"
msgstr "Inverser"
-#: gitk:8376 gitk:8561
+#: gitk:9170 gitk:9366
msgid "Output file:"
msgstr "Fichier de sortie :"
-#: gitk:8382
+#: gitk:9176
msgid "Generate"
msgstr "Générer"
-#: gitk:8420
+#: gitk:9214
msgid "Error creating patch:"
msgstr "Erreur à la création du patch :"
-#: gitk:8443 gitk:8549 gitk:8606
+#: gitk:9237 gitk:9354 gitk:9411
msgid "ID:"
msgstr "ID :"
-#: gitk:8452
+#: gitk:9246
msgid "Tag name:"
msgstr "Nom du Tag :"
-#: gitk:8456 gitk:8615
+#: gitk:9249
+msgid "Tag message is optional"
+msgstr ""
+
+#: gitk:9251
+#, fuzzy
+msgid "Tag message:"
+msgstr "Nom du Tag :"
+
+#: gitk:9255 gitk:9420
msgid "Create"
msgstr "Créer"
-#: gitk:8473
+#: gitk:9273
msgid "No tag name specified"
msgstr "Aucun nom de tag spécifié"
-#: gitk:8477
+#: gitk:9277
#, tcl-format
msgid "Tag \"%s\" already exists"
msgstr "Le tag \"%s\" existe déjà"
-#: gitk:8483
+#: gitk:9287
msgid "Error creating tag:"
msgstr "Erreur à la création du tag :"
-#: gitk:8558
+#: gitk:9363
msgid "Command:"
msgstr "Commande :"
-#: gitk:8566
+#: gitk:9371
msgid "Write"
msgstr "Écrire"
-#: gitk:8584
+#: gitk:9389
msgid "Error writing commit:"
msgstr "Erreur à l'ecriture du commit :"
-#: gitk:8611
+#: gitk:9416
msgid "Name:"
msgstr "Nom :"
-#: gitk:8634
+#: gitk:9439
msgid "Please specify a name for the new branch"
msgstr "Veuillez spécifier un nom pour la nouvelle branche"
-#: gitk:8639
+#: gitk:9444
#, tcl-format
msgid "Branch '%s' already exists. Overwrite?"
msgstr "La branche '%s' existe déjà. Écraser?"
-#: gitk:8705
+#: gitk:9511
#, tcl-format
msgid "Commit %s is already included in branch %s -- really re-apply it?"
msgstr ""
"Le Commit %s est déjà inclus dans la branche %s -- le ré-appliquer malgré "
"tout?"
-#: gitk:8710
+#: gitk:9516
msgid "Cherry-picking"
msgstr "Cueillir (Cherry-picking)"
-#: gitk:8719
+#: gitk:9525
#, tcl-format
msgid ""
"Cherry-pick failed because of local changes to file '%s'.\n"
@@ -983,7 +1048,7 @@ msgstr ""
"Veuillez commiter, réinitialiser ou stasher vos changements et essayer de "
"nouveau."
-#: gitk:8725
+#: gitk:9531
msgid ""
"Cherry-pick failed because of merge conflict.\n"
"Do you wish to run git citool to resolve it?"
@@ -992,34 +1057,67 @@ msgstr ""
"fusion.\n"
"Souhaitez-vous exécuter git citool pour le résoudre ?"
-#: gitk:8741
+#: gitk:9547 gitk:9605
msgid "No changes committed"
msgstr "Aucun changement commité"
-#: gitk:8767
+#: gitk:9574
+#, fuzzy, tcl-format
+msgid "Commit %s is not included in branch %s -- really revert it?"
+msgstr ""
+"Le Commit %s est déjà inclus dans la branche %s -- le ré-appliquer malgré "
+"tout?"
+
+#: gitk:9579
+#, fuzzy
+msgid "Reverting"
+msgstr "Réinitialisation"
+
+#: gitk:9587
+#, fuzzy, tcl-format
+msgid ""
+"Revert failed because of local changes to the following files:%s Please "
+"commit, reset or stash your changes and try again."
+msgstr ""
+"La cueillette (cherry-pick) a échouée à cause de modifications locales du "
+"fichier '%s'.\n"
+"Veuillez commiter, réinitialiser ou stasher vos changements et essayer de "
+"nouveau."
+
+#: gitk:9591
+#, fuzzy
+msgid ""
+"Revert failed because of merge conflict.\n"
+" Do you wish to run git citool to resolve it?"
+msgstr ""
+"La cueillette (cherry-pick) a échouée à cause d'un conflit lors d'une "
+"fusion.\n"
+"Souhaitez-vous exécuter git citool pour le résoudre ?"
+
+#: gitk:9634
msgid "Confirm reset"
msgstr "Confirmer la réinitialisation"
-#: gitk:8769
+#: gitk:9636
#, tcl-format
msgid "Reset branch %s to %s?"
msgstr "Réinitialiser la branche %s à %s?"
-#: gitk:8773
+#: gitk:9638
msgid "Reset type:"
msgstr "Type de réinitialisation :"
-#: gitk:8777
+#: gitk:9641
msgid "Soft: Leave working tree and index untouched"
msgstr "Douce : Laisse le répertoire de travail et l'index intacts"
-#: gitk:8780
+#: gitk:9644
msgid "Mixed: Leave working tree untouched, reset index"
msgstr ""
"Hybride : Laisse le répertoire de travail dans son état courant, "
"réinitialise l'index"
-#: gitk:8783
+#: gitk:9647
msgid ""
"Hard: Reset working tree and index\n"
"(discard ALL local changes)"
@@ -1027,21 +1125,21 @@ msgstr ""
"Dure : Réinitialise le répertoire de travail et l'index\n"
"(abandonne TOUS les changements locaux)"
-#: gitk:8800
+#: gitk:9664
msgid "Resetting"
msgstr "Réinitialisation"
# Fixme: Récupération est-il vraiment une mauvaise traduction?
-#: gitk:8857
+#: gitk:9724
#, fuzzy
msgid "Checking out"
msgstr "Récupération"
-#: gitk:8910
+#: gitk:9777
msgid "Cannot delete the currently checked-out branch"
msgstr "Impossible de supprimer la branche en cours"
-#: gitk:8916
+#: gitk:9783
#, tcl-format
msgid ""
"The commits on branch %s aren't on any other branch.\n"
@@ -1050,16 +1148,16 @@ msgstr ""
"Les commits de la branche %s ne sont dans aucune autre branche.\n"
"Voulez-vous vraiment supprimer cette branche %s ?"
-#: gitk:8947
+#: gitk:9814
#, tcl-format
msgid "Tags and heads: %s"
msgstr "Tags et heads : %s"
-#: gitk:8962
+#: gitk:9829
msgid "Filter"
msgstr "Filtrer"
-#: gitk:9257
+#: gitk:10125
msgid ""
"Error reading commit topology information; branch and preceding/following "
"tag information will be incomplete."
@@ -1068,187 +1166,244 @@ msgstr ""
"informations sur les branches et les tags précédents/suivants seront "
"incomplètes."
-#: gitk:10243
+#: gitk:11102
msgid "Tag"
msgstr "Tag"
-#: gitk:10243
+#: gitk:11106
msgid "Id"
msgstr "Id"
-#: gitk:10291
+#: gitk:11189
msgid "Gitk font chooser"
msgstr "Sélecteur de police de Gitk"
-#: gitk:10308
+#: gitk:11206
msgid "B"
msgstr "B"
-#: gitk:10311
+#: gitk:11209
msgid "I"
msgstr "I"
-#: gitk:10407
-msgid "Gitk preferences"
-msgstr "Préférences de Gitk"
-
-#: gitk:10409
+#: gitk:11327
msgid "Commit list display options"
msgstr "Options d'affichage de la liste des commits"
-#: gitk:10412
+#: gitk:11330
msgid "Maximum graph width (lines)"
msgstr "Longueur maximum du graphe (lignes)"
# FIXME : Traduction standard de "pane"?
-#: gitk:10416
-#, fuzzy, tcl-format
+#: gitk:11334
+#, fuzzy, no-tcl-format
msgid "Maximum graph width (% of pane)"
msgstr "Longueur maximum du graphe (% du panneau)"
-#: gitk:10420
+#: gitk:11337
msgid "Show local changes"
msgstr "Montrer les changements locaux"
-#: gitk:10423
-msgid "Auto-select SHA1"
+#: gitk:11340
+#, fuzzy
+msgid "Auto-select SHA1 (length)"
msgstr "Sélection auto. du SHA1"
-#: gitk:10427
+#: gitk:11344
+msgid "Hide remote refs"
+msgstr "Cacher les refs distantes"
+
+#: gitk:11348
msgid "Diff display options"
msgstr "Options d'affichage des diff"
-#: gitk:10429
+#: gitk:11350
msgid "Tab spacing"
msgstr "Taille des tabulations"
-#: gitk:10432
-msgid "Display nearby tags"
+#: gitk:11353
+#, fuzzy
+msgid "Display nearby tags/heads"
msgstr "Afficher les tags les plus proches"
-#: gitk:10435
-msgid "Hide remote refs"
-msgstr "Cacher les refs distantes"
+#: gitk:11356
+msgid "Maximum # tags/heads to show"
+msgstr ""
-#: gitk:10438
+#: gitk:11359
msgid "Limit diffs to listed paths"
msgstr "Limiter les différences aux chemins listés"
-#: gitk:10441
+#: gitk:11362
msgid "Support per-file encodings"
msgstr "Support pour un encodage des caractères par fichier"
-#: gitk:10447 gitk:10512
+#: gitk:11368 gitk:11515
msgid "External diff tool"
msgstr "Outil diff externe"
-#: gitk:10449
+#: gitk:11369
msgid "Choose..."
msgstr "Choisir..."
-#: gitk:10454
+#: gitk:11374
+#, fuzzy
+msgid "General options"
+msgstr "Générer le patch"
+
+#: gitk:11377
+msgid "Use themed widgets"
+msgstr ""
+
+#: gitk:11379
+msgid "(change requires restart)"
+msgstr ""
+
+#: gitk:11381
+msgid "(currently unavailable)"
+msgstr ""
+
+#: gitk:11392
msgid "Colors: press to choose"
msgstr "Couleurs : cliquer pour choisir"
-#: gitk:10457
+#: gitk:11395
+msgid "Interface"
+msgstr ""
+
+#: gitk:11396
+#, fuzzy
+msgid "interface"
+msgstr "Police de l'interface utilisateur"
+
+#: gitk:11399
msgid "Background"
msgstr "Arrière-plan"
-#: gitk:10458 gitk:10488
+#: gitk:11400 gitk:11430
msgid "background"
msgstr "arrière-plan"
-#: gitk:10461
+#: gitk:11403
msgid "Foreground"
msgstr "Premier plan"
-#: gitk:10462
+#: gitk:11404
msgid "foreground"
msgstr "premier plan"
-#: gitk:10465
+#: gitk:11407
msgid "Diff: old lines"
msgstr "Diff : anciennes lignes"
-#: gitk:10466
+#: gitk:11408
msgid "diff old lines"
msgstr "diff anciennes lignes"
-#: gitk:10470
+#: gitk:11412
msgid "Diff: new lines"
msgstr "Diff : nouvelles lignes"
-#: gitk:10471
+#: gitk:11413
msgid "diff new lines"
msgstr "diff nouvelles lignes"
-#: gitk:10475
+#: gitk:11417
msgid "Diff: hunk header"
msgstr "Diff : entête du hunk"
-#: gitk:10477
+#: gitk:11419
msgid "diff hunk header"
msgstr "diff : entête du hunk"
-#: gitk:10481
+#: gitk:11423
msgid "Marked line bg"
msgstr "Arrière-plan de la ligne marquée"
-#: gitk:10483
+#: gitk:11425
msgid "marked line background"
msgstr "Arrière-plan de la ligne marquée"
-#: gitk:10487
+#: gitk:11429
msgid "Select bg"
msgstr "Sélectionner l'arrière-plan"
-#: gitk:10491
+#: gitk:11438
msgid "Fonts: press to choose"
msgstr "Polices : cliquer pour choisir"
-#: gitk:10493
+#: gitk:11440
msgid "Main font"
msgstr "Police principale"
-#: gitk:10494
+#: gitk:11441
msgid "Diff display font"
msgstr "Police d'affichage des diff"
-#: gitk:10495
+#: gitk:11442
msgid "User interface font"
msgstr "Police de l'interface utilisateur"
-#: gitk:10522
+#: gitk:11464
+msgid "Gitk preferences"
+msgstr "Préférences de Gitk"
+
+#: gitk:11473
+#, fuzzy
+msgid "General"
+msgstr "Générer"
+
+#: gitk:11474
+msgid "Colors"
+msgstr ""
+
+#: gitk:11475
+msgid "Fonts"
+msgstr ""
+
+#: gitk:11525
#, tcl-format
msgid "Gitk: choose color for %s"
msgstr "Gitk : choisir la couleur de %s"
-#: gitk:10973
-msgid ""
-"Sorry, gitk cannot run with this version of Tcl/Tk.\n"
-" Gitk requires at least Tcl/Tk 8.4."
-msgstr ""
-"Désolé, gitk ne peut être exécuté avec cette version de Tcl/Tk.\n"
-" Gitk requiert Tcl/Tk version 8.4 ou supérieur."
-
-#: gitk:11101
+#: gitk:12242
msgid "Cannot find a git repository here."
msgstr "Impossible de trouver un dépôt git ici."
-#: gitk:11105
-#, tcl-format
-msgid "Cannot find the git directory \"%s\"."
-msgstr "Impossible de trouver le répertoire git \"%s\"."
-
-#: gitk:11152
+#: gitk:12289
#, tcl-format
msgid "Ambiguous argument '%s': both revision and filename"
msgstr "Argument '%s' ambigu : à la fois une révision et un nom de fichier"
-#: gitk:11164
+#: gitk:12301
msgid "Bad arguments to gitk:"
msgstr "Arguments invalides pour gitk :"
-#: gitk:11249
+#: gitk:12405
msgid "Command line"
msgstr "Ligne de commande"
+
+#~ msgid "SHA1 ID: "
+#~ msgstr "ID SHA1 :"
+
+#~ msgid "next"
+#~ msgstr "suivant"
+
+#~ msgid "prev"
+#~ msgstr "précédent"
+
+#~ msgid "CDate"
+#~ msgstr "CDate"
+
+#~ msgid "- stopping\n"
+#~ msgstr "- arrêt en cours\n"
+
+#~ msgid ""
+#~ "Sorry, gitk cannot run with this version of Tcl/Tk.\n"
+#~ " Gitk requires at least Tcl/Tk 8.4."
+#~ msgstr ""
+#~ "Désolé, gitk ne peut être exécuté avec cette version de Tcl/Tk.\n"
+#~ " Gitk requiert Tcl/Tk version 8.4 ou supérieur."
+
+#~ msgid "Cannot find the git directory \"%s\"."
+#~ msgstr "Impossible de trouver le répertoire git \"%s\"."
diff --git a/gitk-git/po/hu.po b/gitk-git/po/hu.po
index 7262b610dc..5e3e9468c0 100644
--- a/gitk-git/po/hu.po
+++ b/gitk-git/po/hu.po
@@ -8,32 +8,41 @@ msgid ""
msgstr ""
"Project-Id-Version: git-gui\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-12-14 13:33+0100\n"
+"POT-Creation-Date: 2015-03-15 14:37+1100\n"
"PO-Revision-Date: 2009-12-14 14:04+0100\n"
"Last-Translator: Laszlo Papp <djszapi@archlinux.us>\n"
"Language-Team: Hungarian\n"
+"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-#: gitk:115
+#: gitk:140
msgid "Couldn't get list of unmerged files:"
msgstr "Nem sikerült letölteni az unmerged fájl listát:"
-#: gitk:271
+#: gitk:212 gitk:2381
+msgid "Color words"
+msgstr ""
+
+#: gitk:217 gitk:2381 gitk:8201 gitk:8234
+msgid "Markup words"
+msgstr ""
+
+#: gitk:324
msgid "Error parsing revisions:"
msgstr "Hiba történt értelmezés közben:"
-#: gitk:326
+#: gitk:380
msgid "Error executing --argscmd command:"
msgstr "Hiba történt a végrehajtáskor --argscmd parancs:"
-#: gitk:339
+#: gitk:393
msgid "No files selected: --merge specified but no files are unmerged."
msgstr ""
"Nincsen fájl kiválasztva: --merge megadve, de egyetlen fájl sem unmerged."
-#: gitk:342
+#: gitk:396
msgid ""
"No files selected: --merge specified but no unmerged files are within file "
"limit."
@@ -41,299 +50,315 @@ msgstr ""
"Nincsen fájl kiválasztva: --merge megadva, de nincsenek unmerged fájlok a "
"fájlon belül limit."
-#: gitk:364 gitk:511
+#: gitk:418 gitk:566
msgid "Error executing git log:"
msgstr "Hiba történt a git log végrehajtása közben:"
-#: gitk:382 gitk:527
+#: gitk:436 gitk:582
msgid "Reading"
msgstr "Olvasás"
-#: gitk:442 gitk:4258
+#: gitk:496 gitk:4508
msgid "Reading commits..."
msgstr "Commitok olvasása ..."
-#: gitk:445 gitk:1575 gitk:4261
+#: gitk:499 gitk:1637 gitk:4511
msgid "No commits selected"
msgstr "Nincsen commit kiválasztva"
-#: gitk:1451
+#: gitk:1511
msgid "Can't parse git log output:"
msgstr "Nem lehet értelmezni a git log kimenetét:"
-#: gitk:1671
+#: gitk:1740
msgid "No commit information available"
msgstr "Nincsen elérhető commit információ"
-#: gitk:1813
+#: gitk:1897
msgid "mc"
msgstr "mc"
-#: gitk:1848 gitk:4051 gitk:9029 gitk:10570 gitk:10789
+#: gitk:1932 gitk:4298 gitk:9650 gitk:11220 gitk:11500
msgid "OK"
msgstr "OK"
-#: gitk:1850 gitk:4053 gitk:8629 gitk:8703 gitk:8813 gitk:8862 gitk:9031
-#: gitk:10571 gitk:10790
+#: gitk:1934 gitk:4300 gitk:9177 gitk:9256 gitk:9372 gitk:9421 gitk:9652
+#: gitk:11221 gitk:11501
msgid "Cancel"
msgstr "Visszavonás"
-#: gitk:1972
+#: gitk:2069
msgid "Update"
msgstr "Frissités"
-#: gitk:1973
+#: gitk:2070
msgid "Reload"
msgstr "Újratöltés"
-#: gitk:1974
+#: gitk:2071
msgid "Reread references"
msgstr "Referenciák újraolvasása"
-#: gitk:1975
+#: gitk:2072
msgid "List references"
msgstr "Referenciák listázása"
-#: gitk:1977
+#: gitk:2074
msgid "Start git gui"
msgstr "Git gui indítása"
-#: gitk:1979
+#: gitk:2076
msgid "Quit"
msgstr "Kilépés"
-#: gitk:1971
+#: gitk:2068
msgid "File"
msgstr "Fájl"
-#: gitk:1983
+#: gitk:2080
msgid "Preferences"
msgstr "Beállítások"
-#: gitk:1982
+#: gitk:2079
msgid "Edit"
msgstr "Szerkesztés"
-#: gitk:1987
+#: gitk:2084
msgid "New view..."
msgstr "Új nézet ..."
-#: gitk:1988
+#: gitk:2085
msgid "Edit view..."
msgstr "Nézet szerkesztése ..."
-#: gitk:1989
+#: gitk:2086
msgid "Delete view"
msgstr "Nézet törlése"
-#: gitk:1991
+#: gitk:2088
msgid "All files"
msgstr "Minden fájl"
-#: gitk:1986 gitk:3805
+#: gitk:2083 gitk:4050
msgid "View"
msgstr "Nézet"
-#: gitk:1996 gitk:2006 gitk:2777
+#: gitk:2093 gitk:2103 gitk:3009
msgid "About gitk"
msgstr "Gitk névjegy"
-#: gitk:1997 gitk:2011
+#: gitk:2094 gitk:2108
msgid "Key bindings"
msgstr "Billentyűkombináció"
-#: gitk:1995 gitk:2010
+#: gitk:2092 gitk:2107
msgid "Help"
msgstr "Segítség"
-#: gitk:2088
-msgid "SHA1 ID: "
-msgstr "SHA1 ID: "
+#: gitk:2185 gitk:8633
+msgid "SHA1 ID:"
+msgstr "SHA1 ID:"
-#: gitk:2119
+#: gitk:2229
msgid "Row"
msgstr "Sor"
-#: gitk:2157
+#: gitk:2267
msgid "Find"
msgstr "Keresés"
-#: gitk:2158
-msgid "next"
-msgstr "következő"
-
-#: gitk:2159
-msgid "prev"
-msgstr "előző"
-
-#: gitk:2160
+#: gitk:2295
msgid "commit"
msgstr "commit"
-#: gitk:2163 gitk:2165 gitk:4419 gitk:4442 gitk:4466 gitk:6407 gitk:6479
-#: gitk:6563
+#: gitk:2299 gitk:2301 gitk:4669 gitk:4692 gitk:4716 gitk:6736 gitk:6808
+#: gitk:6893
msgid "containing:"
msgstr "tartalmazás:"
-#: gitk:2166 gitk:3287 gitk:3292 gitk:4494
+#: gitk:2302 gitk:3522 gitk:3527 gitk:4745
msgid "touching paths:"
msgstr "érintendő útvonalak:"
-#: gitk:2167 gitk:4499
+#: gitk:2303 gitk:4759
msgid "adding/removing string:"
msgstr "string hozzáadása/törlése:"
-#: gitk:2176 gitk:2178
+#: gitk:2304 gitk:4761
+msgid "changing lines matching:"
+msgstr ""
+
+#: gitk:2313 gitk:2315 gitk:4748
msgid "Exact"
msgstr "Pontos"
-#: gitk:2178 gitk:4574 gitk:6375
+#: gitk:2315 gitk:4836 gitk:6704
msgid "IgnCase"
msgstr "Kis/nagy betű nem számít"
-#: gitk:2178 gitk:4468 gitk:4572 gitk:6371
+#: gitk:2315 gitk:4718 gitk:4834 gitk:6700
msgid "Regexp"
msgstr "Regexp"
-#: gitk:2180 gitk:2181 gitk:4593 gitk:4623 gitk:4630 gitk:6499 gitk:6567
+#: gitk:2317 gitk:2318 gitk:4856 gitk:4886 gitk:4893 gitk:6829 gitk:6897
msgid "All fields"
msgstr "Minden mező"
-#: gitk:2181 gitk:4591 gitk:4623 gitk:6438
+#: gitk:2318 gitk:4853 gitk:4886 gitk:6767
msgid "Headline"
msgstr "Főcím"
-#: gitk:2182 gitk:4591 gitk:6438 gitk:6567 gitk:7000
+#: gitk:2319 gitk:4853 gitk:6767 gitk:6897 gitk:7370
msgid "Comments"
msgstr "Megjegyzések"
-#: gitk:2182 gitk:4591 gitk:4595 gitk:4630 gitk:6438 gitk:6935 gitk:8280
-#: gitk:8295
+#: gitk:2319 gitk:4853 gitk:4858 gitk:4893 gitk:6767 gitk:7305 gitk:8811
+#: gitk:8826
msgid "Author"
msgstr "Szerző"
-#: gitk:2182 gitk:4591 gitk:6438 gitk:6937
+#: gitk:2319 gitk:4853 gitk:6767 gitk:7307
msgid "Committer"
msgstr "Commitoló"
-#: gitk:2213
+#: gitk:2350
msgid "Search"
msgstr "Keresés"
-#: gitk:2221
+#: gitk:2358
msgid "Diff"
msgstr "Diff"
-#: gitk:2223
+#: gitk:2360
msgid "Old version"
msgstr "Régi verzió"
-#: gitk:2225
+#: gitk:2362
msgid "New version"
msgstr "Új verzió"
-#: gitk:2227
+#: gitk:2364
msgid "Lines of context"
msgstr "Tartalmi sorok"
-#: gitk:2237
+#: gitk:2374
msgid "Ignore space change"
msgstr "Space váltás mellőzése"
-#: gitk:2296
+#: gitk:2378 gitk:2380 gitk:7940 gitk:8187
+msgid "Line diff"
+msgstr ""
+
+#: gitk:2445
msgid "Patch"
msgstr "Patch"
-#: gitk:2298
+#: gitk:2447
msgid "Tree"
msgstr "Tree"
-#: gitk:2453 gitk:2470
+#: gitk:2616 gitk:2636
msgid "Diff this -> selected"
msgstr "Diff ezeket -> kiválasztott"
-#: gitk:2454 gitk:2471
+#: gitk:2617 gitk:2637
msgid "Diff selected -> this"
msgstr "Diff kiválasztottakat -> ezt"
-#: gitk:2455 gitk:2472
+#: gitk:2618 gitk:2638
msgid "Make patch"
msgstr "Patch készítése"
-#: gitk:2456 gitk:8687
+#: gitk:2619 gitk:9235
msgid "Create tag"
msgstr "Tag készítése"
-#: gitk:2457 gitk:8793
+#: gitk:2620 gitk:9352
msgid "Write commit to file"
msgstr "Commit fáljba írása"
-#: gitk:2458 gitk:8850
+#: gitk:2621 gitk:9409
msgid "Create new branch"
msgstr "Új branch készítése"
-#: gitk:2459
+#: gitk:2622
msgid "Cherry-pick this commit"
msgstr "Cherry-pick erre a commitra"
-#: gitk:2460
+#: gitk:2623
msgid "Reset HEAD branch to here"
msgstr "HEAD branch újraindítása ide"
-#: gitk:2461
+#: gitk:2624
msgid "Mark this commit"
msgstr "Ezen commit megjelölése"
-#: gitk:2462
+#: gitk:2625
msgid "Return to mark"
msgstr "Visszatérés a megjelöléshez"
-#: gitk:2463
+#: gitk:2626
msgid "Find descendant of this and mark"
msgstr "Találd meg ezen utódokat és jelöld meg"
-#: gitk:2464
+#: gitk:2627
msgid "Compare with marked commit"
msgstr "Összehasonlítás a megjelölt commit-tal"
-#: gitk:2478
+#: gitk:2628 gitk:2639
+#, fuzzy
+msgid "Diff this -> marked commit"
+msgstr "Diff ezeket -> kiválasztott"
+
+#: gitk:2629 gitk:2640
+#, fuzzy
+msgid "Diff marked commit -> this"
+msgstr "Diff kiválasztottakat -> ezt"
+
+#: gitk:2630
+#, fuzzy
+msgid "Revert this commit"
+msgstr "Ezen commit megjelölése"
+
+#: gitk:2646
msgid "Check out this branch"
msgstr "Check out ezt a branchot"
-#: gitk:2479
+#: gitk:2647
msgid "Remove this branch"
msgstr "Töröld ezt a branch-ot"
-#: gitk:2486
+#: gitk:2654
msgid "Highlight this too"
msgstr "Emeld ki ezt is"
-#: gitk:2487
+#: gitk:2655
msgid "Highlight this only"
msgstr "Csak ezt emeld ki"
-#: gitk:2488
+#: gitk:2656
msgid "External diff"
msgstr "Külső diff"
-#: gitk:2489
+#: gitk:2657
msgid "Blame parent commit"
msgstr "Blame szülő kommitra"
-#: gitk:2496
+#: gitk:2664
msgid "Show origin of this line"
msgstr "Mutasd meg ennek a sornak az eredetét"
-#: gitk:2497
+#: gitk:2665
msgid "Run git gui blame on this line"
msgstr "Futtasd a git gui blame-t ezen a soron"
-#: gitk:2779
+#: gitk:3011
+#, fuzzy
msgid ""
"\n"
"Gitk - a commit viewer for git\n"
"\n"
-"Copyright \\u00a9 2005-2010 Paul Mackerras\n"
+"Copyright © 2005-2014 Paul Mackerras\n"
"\n"
"Use and redistribute under the terms of the GNU General Public License"
msgstr ""
@@ -344,298 +369,316 @@ msgstr ""
"\n"
"Használd és terjeszd a GNU General Public License feltételei mellett"
-#: gitk:2787 gitk:2851 gitk:9215
+#: gitk:3019 gitk:3085 gitk:9836
msgid "Close"
msgstr "Bezárás"
-#: gitk:2808
+#: gitk:3040
msgid "Gitk key bindings"
msgstr "Gitk-billentyű hozzárendelés"
-#: gitk:2811
+#: gitk:3043
msgid "Gitk key bindings:"
msgstr "Gitk-billentyű hozzaárendelés:"
-#: gitk:2813
+#: gitk:3045
#, tcl-format
msgid "<%s-Q>\t\tQuit"
msgstr "<%s-Q>\t\tKilépés"
-#: gitk:2814
+#: gitk:3046
+#, fuzzy, tcl-format
+msgid "<%s-W>\t\tClose window"
+msgstr "<%s-F>\t\tKeresés"
+
+#: gitk:3047
msgid "<Home>\t\tMove to first commit"
msgstr "<Pos1>\t\tElső commithoz"
-#: gitk:2815
+#: gitk:3048
msgid "<End>\t\tMove to last commit"
msgstr "<Ende>\t\tUtolsó commithoz"
-#: gitk:2816
-msgid "<Up>, p, i\tMove up one commit"
+#: gitk:3049
+#, fuzzy
+msgid "<Up>, p, k\tMove up one commit"
msgstr "<Hoch>, p, i\tEgy committal feljebb"
-#: gitk:2817
-msgid "<Down>, n, k\tMove down one commit"
+#: gitk:3050
+#, fuzzy
+msgid "<Down>, n, j\tMove down one commit"
msgstr "<Runter>, n, k\tEgy committal lejjebb"
-#: gitk:2818
-msgid "<Left>, z, j\tGo back in history list"
+#: gitk:3051
+#, fuzzy
+msgid "<Left>, z, h\tGo back in history list"
msgstr "<Links>, z, j\tVissza a history listába"
-#: gitk:2819
+#: gitk:3052
msgid "<Right>, x, l\tGo forward in history list"
msgstr "<Rechts>, x, l\tElőre a history listába"
-#: gitk:2820
+#: gitk:3053
+#, tcl-format
+msgid "<%s-n>\tGo to n-th parent of current commit in history list"
+msgstr ""
+
+#: gitk:3054
msgid "<PageUp>\tMove up one page in commit list"
msgstr "<BildHoch>\tEgy lappal feljebb a commit listába"
-#: gitk:2821
+#: gitk:3055
msgid "<PageDown>\tMove down one page in commit list"
msgstr "<BildRunter>\tEgy lappal lejjebb a commit listába"
-#: gitk:2822
+#: gitk:3056
#, tcl-format
msgid "<%s-Home>\tScroll to top of commit list"
msgstr "<%s-Pos1>\tGörgetés a commit lista tetejéhez"
-#: gitk:2823
+#: gitk:3057
#, tcl-format
msgid "<%s-End>\tScroll to bottom of commit list"
msgstr "<%s-Ende>\tGörgetés a commit lista aljához"
-#: gitk:2824
+#: gitk:3058
#, tcl-format
msgid "<%s-Up>\tScroll commit list up one line"
msgstr "<%s-Hoch>\tEgy sorral feljebb görgetés a commit listában"
-#: gitk:2825
+#: gitk:3059
#, tcl-format
msgid "<%s-Down>\tScroll commit list down one line"
msgstr "<%s-Runter>\tEgy sorral lejjebb görgetés a commit listában"
-#: gitk:2826
+#: gitk:3060
#, tcl-format
msgid "<%s-PageUp>\tScroll commit list up one page"
msgstr "<%s-BildHoch>\tEgy lappal feljebb görgetés a commit listában"
-#: gitk:2827
+#: gitk:3061
#, tcl-format
msgid "<%s-PageDown>\tScroll commit list down one page"
msgstr "<%s-BildRunter>\tEgy sorral lejjebb görgetés a commit listában"
-#: gitk:2828
+#: gitk:3062
msgid "<Shift-Up>\tFind backwards (upwards, later commits)"
msgstr "<Umschalt-Hoch>\tKeresés visszafele (felfele, utolsó commitok)"
-#: gitk:2829
+#: gitk:3063
msgid "<Shift-Down>\tFind forwards (downwards, earlier commits)"
msgstr "<Umschalt-Runter>\tKeresés előre (lefelé; korábbi commitok)"
-#: gitk:2830
+#: gitk:3064
msgid "<Delete>, b\tScroll diff view up one page"
msgstr "<Entf>, b\t\tEgy lappal feljebb görgetés a diff nézetben"
-#: gitk:2831
+#: gitk:3065
msgid "<Backspace>\tScroll diff view up one page"
msgstr "<Löschtaste>\tEgy lappal feljebb görgetés a diff nézetben"
-#: gitk:2832
+#: gitk:3066
msgid "<Space>\t\tScroll diff view down one page"
msgstr "<Leertaste>\tEgy lappal lejjebb görgetés a diff nézetben"
-#: gitk:2833
+#: gitk:3067
msgid "u\t\tScroll diff view up 18 lines"
msgstr "u\t\t18 sorral felfelé görgetés diff nézetben"
-#: gitk:2834
+#: gitk:3068
msgid "d\t\tScroll diff view down 18 lines"
msgstr "d\t\t18 sorral lejjebb görgetés a diff nézetben"
-#: gitk:2835
+#: gitk:3069
#, tcl-format
msgid "<%s-F>\t\tFind"
msgstr "<%s-F>\t\tKeresés"
-#: gitk:2836
+#: gitk:3070
#, tcl-format
msgid "<%s-G>\t\tMove to next find hit"
msgstr "<%s-G>\t\tKövetkező találathoz"
-#: gitk:2837
+#: gitk:3071
msgid "<Return>\tMove to next find hit"
msgstr "<Eingabetaste>\tKövetkező találathoz"
-#: gitk:2838
+#: gitk:3072
msgid "/\t\tFocus the search box"
msgstr "/\t\tLépj a keresési mezőre"
-#: gitk:2839
+#: gitk:3073
msgid "?\t\tMove to previous find hit"
msgstr "?\t\tElőző találathoz"
-#: gitk:2840
+#: gitk:3074
msgid "f\t\tScroll diff view to next file"
msgstr "f\t\tKövetkező fájlra görgetés diff nézetben"
-#: gitk:2841
+#: gitk:3075
#, tcl-format
msgid "<%s-S>\t\tSearch for next hit in diff view"
msgstr "<%s-S>\t\tKövetkező találatra keresés diff nézetben"
-#: gitk:2842
+#: gitk:3076
#, tcl-format
msgid "<%s-R>\t\tSearch for previous hit in diff view"
msgstr "<%s-R>\t\tElőző találatra keresés diff nézetben"
-#: gitk:2843
+#: gitk:3077
#, tcl-format
msgid "<%s-KP+>\tIncrease font size"
msgstr "<%s-Nummerblock-Plus>\tBetűméret növelése"
-#: gitk:2844
+#: gitk:3078
#, tcl-format
msgid "<%s-plus>\tIncrease font size"
msgstr "<%s-Plus>\tBetűméret növelése"
-#: gitk:2845
+#: gitk:3079
#, tcl-format
msgid "<%s-KP->\tDecrease font size"
msgstr "<%s-Nummernblock-Minus> Betűméret csökkentése"
-#: gitk:2846
+#: gitk:3080
#, tcl-format
msgid "<%s-minus>\tDecrease font size"
msgstr "<%s-Minus>\tBetűméret csökkentése"
-#: gitk:2847
+#: gitk:3081
msgid "<F5>\t\tUpdate"
msgstr "<F5>\t\tFrissítés"
-#: gitk:3302 gitk:3311
+#: gitk:3546 gitk:3555
#, tcl-format
msgid "Error creating temporary directory %s:"
msgstr "Hiba történt az ideiglenes könyvtár létrehozása közben %s:"
-#: gitk:3324
+#: gitk:3568
#, tcl-format
msgid "Error getting \"%s\" from %s:"
msgstr "Hiba történt \"%s\" letöltése közben %s-ről:"
-#: gitk:3387
+#: gitk:3631
msgid "command failed:"
msgstr "parancs hiba:"
-#: gitk:3536
+#: gitk:3780
msgid "No such commit"
msgstr "Nincs ilyen commit"
-#: gitk:3550
+#: gitk:3794
msgid "git gui blame: command failed:"
msgstr "git gui blame: parancs hiba:"
-#: gitk:3581
+#: gitk:3825
#, tcl-format
msgid "Couldn't read merge head: %s"
msgstr "Nem sikerült a Merge head olvasása: %s"
-#: gitk:3589
+#: gitk:3833
#, tcl-format
msgid "Error reading index: %s"
msgstr "Hiba történt az index olvasása közben: %s"
-#: gitk:3614
+#: gitk:3858
#, tcl-format
msgid "Couldn't start git blame: %s"
msgstr "Nem sikerült a git blame indítása: %s"
-#: gitk:3617 gitk:6406
+#: gitk:3861 gitk:6735
msgid "Searching"
msgstr "Keresés"
-#: gitk:3649
+#: gitk:3893
#, tcl-format
msgid "Error running git blame: %s"
msgstr "Hiba történt a git blame futtatása közben: %s"
-#: gitk:3677
+#: gitk:3921
#, tcl-format
msgid "That line comes from commit %s, which is not in this view"
msgstr ""
"A %s commitból származik az a sor, amelyik nem található ebben a nézetben"
-#: gitk:3691
+#: gitk:3935
msgid "External diff viewer failed:"
msgstr "Külső diff nézegető hiba:"
-#: gitk:3809
+#: gitk:4053
msgid "Gitk view definition"
msgstr "Gitk nézet meghatározása"
-#: gitk:3813
+#: gitk:4057
msgid "Remember this view"
msgstr "Maradj ennél a nézetnél"
-#: gitk:3814
+#: gitk:4058
msgid "References (space separated list):"
msgstr "Referenciák (szóközzel tagolt lista"
-#: gitk:3815
+#: gitk:4059
msgid "Branches & tags:"
msgstr "Branch-ek & tagek:"
-#: gitk:3816
+#: gitk:4060
msgid "All refs"
msgstr "Minden ref"
-#: gitk:3817
+#: gitk:4061
msgid "All (local) branches"
msgstr "Minden (helyi) branch"
-#: gitk:3818
+#: gitk:4062
msgid "All tags"
msgstr "Minden tag"
-#: gitk:3819
+#: gitk:4063
msgid "All remote-tracking branches"
msgstr "Minden távoli követő branch"
-#: gitk:3820
+#: gitk:4064
msgid "Commit Info (regular expressions):"
msgstr "Commit Infó (reguláris kifejezés):"
-#: gitk:3821
+#: gitk:4065
msgid "Author:"
msgstr "Szerző:"
-#: gitk:3822
+#: gitk:4066
msgid "Committer:"
msgstr "Commitoló:"
-#: gitk:3823
+#: gitk:4067
msgid "Commit Message:"
msgstr "Commit üzenet:"
-#: gitk:3824
+#: gitk:4068
msgid "Matches all Commit Info criteria"
msgstr "Egyezik minen Commit Infó feltétellel"
-#: gitk:3825
+#: gitk:4069
+#, fuzzy
+msgid "Matches none Commit Info criteria"
+msgstr "Egyezik minen Commit Infó feltétellel"
+
+#: gitk:4070
msgid "Changes to Files:"
msgstr "Fájl változások:"
-#: gitk:3826
+#: gitk:4071
msgid "Fixed String"
msgstr "Fix String"
-#: gitk:3827
+#: gitk:4072
msgid "Regular Expression"
msgstr "Reguláris kifejezés"
-#: gitk:3828
+#: gitk:4073
msgid "Search string:"
msgstr "Keresés szöveg:"
-#: gitk:3829
+#: gitk:4074
msgid ""
"Commit Dates (\"2 weeks ago\", \"2009-03-17 15:27:38\", \"March 17, 2009 "
"15:27:38\"):"
@@ -643,206 +686,203 @@ msgstr ""
"Commit Dátumok (\"2 weeks ago\", \"2009-03-17 15:27:38\", \"March 17, 2009 "
"15:27:38\"):"
-#: gitk:3830
+#: gitk:4075
msgid "Since:"
msgstr "Ettől:"
-#: gitk:3831
+#: gitk:4076
msgid "Until:"
msgstr "Eddig:"
-#: gitk:3832
+#: gitk:4077
msgid "Limit and/or skip a number of revisions (positive integer):"
msgstr "Limitálva és/vagy kihagyva egy adott számú revíziót (pozitív egész):"
-#: gitk:3833
+#: gitk:4078
msgid "Number to show:"
msgstr "Mutatandó szám:"
-#: gitk:3834
+#: gitk:4079
msgid "Number to skip:"
msgstr "Kihagyandó szám:"
-#: gitk:3835
+#: gitk:4080
msgid "Miscellaneous options:"
msgstr "Különféle opciók:"
-#: gitk:3836
+#: gitk:4081
msgid "Strictly sort by date"
msgstr "Szigorú rendezás dátum alapján"
-#: gitk:3837
+#: gitk:4082
msgid "Mark branch sides"
msgstr "Jelölje meg az ágakat"
-#: gitk:3838
+#: gitk:4083
msgid "Limit to first parent"
msgstr "Korlátozás az első szülőre"
-#: gitk:3839
+#: gitk:4084
msgid "Simple history"
msgstr "Egyszerű history"
-#: gitk:3840
+#: gitk:4085
msgid "Additional arguments to git log:"
msgstr "További argumentok a git log-hoz:"
-#: gitk:3841
+#: gitk:4086
msgid "Enter files and directories to include, one per line:"
msgstr "Fájlok és könyvtárak bejegyzése amiket tartalmaz, soronként:"
-#: gitk:3842
+#: gitk:4087
msgid "Command to generate more commits to include:"
msgstr "Parancs több tartalmazó commit generálására:"
-#: gitk:3964
+#: gitk:4211
msgid "Gitk: edit view"
msgstr "Gitk: szerkesztés nézet"
-#: gitk:3972
+#: gitk:4219
msgid "-- criteria for selecting revisions"
msgstr "-- kritériumok a revíziók kiválasztásához"
-#: gitk:3977
+#: gitk:4224
msgid "View Name"
msgstr "Nézet neve"
-#: gitk:4052
+#: gitk:4299
msgid "Apply (F5)"
msgstr "Alkalmaz (F5)"
-#: gitk:4090
+#: gitk:4337
msgid "Error in commit selection arguments:"
msgstr "Hiba történt a commit argumentumok kiválasztása közben:"
-#: gitk:4143 gitk:4195 gitk:4643 gitk:4657 gitk:5918 gitk:11519 gitk:11520
+#: gitk:4392 gitk:4445 gitk:4906 gitk:4920 gitk:6190 gitk:12346 gitk:12347
msgid "None"
msgstr "Keine"
-#: gitk:4591 gitk:6438 gitk:8282 gitk:8297
-msgid "Date"
-msgstr "Dátum"
-
-#: gitk:4591 gitk:6438
-msgid "CDate"
-msgstr "Dátum"
-
-#: gitk:4740 gitk:4745
+#: gitk:5003 gitk:5008
msgid "Descendant"
msgstr "Leszármazott"
-#: gitk:4741
+#: gitk:5004
msgid "Not descendant"
msgstr "Nem leszármazott"
-#: gitk:4748 gitk:4753
+#: gitk:5011 gitk:5016
msgid "Ancestor"
msgstr "Előd"
-#: gitk:4749
+#: gitk:5012
msgid "Not ancestor"
msgstr "Nem előd"
-#: gitk:5039
+#: gitk:5306
msgid "Local changes checked in to index but not committed"
msgstr ""
"Lokális változtatások, melyek be vannak téve az indexbe, de még nincsenek "
"commitolva"
-#: gitk:5075
+#: gitk:5342
msgid "Local uncommitted changes, not checked in to index"
msgstr "Lokális nem commitolt változások, nincsenek betéve az indexbe"
-#: gitk:6756
+#: gitk:7115
+msgid "and many more"
+msgstr ""
+
+#: gitk:7118
msgid "many"
msgstr "sok"
-#: gitk:6939
+#: gitk:7309
msgid "Tags:"
msgstr "Tagek:"
-#: gitk:6956 gitk:6962 gitk:8275
+#: gitk:7326 gitk:7332 gitk:8806
msgid "Parent"
msgstr "Eltern"
-#: gitk:6967
+#: gitk:7337
msgid "Child"
msgstr "Gyerek"
-#: gitk:6976
+#: gitk:7346
msgid "Branch"
msgstr "Ág"
-#: gitk:6979
+#: gitk:7349
msgid "Follows"
msgstr "Következők"
-#: gitk:6982
+#: gitk:7352
msgid "Precedes"
msgstr "Megelőzők"
-#: gitk:7519
+#: gitk:7947
#, tcl-format
msgid "Error getting diffs: %s"
msgstr "Hiba történt a diff-ek letöltése közben: %s"
-#: gitk:8103
+#: gitk:8631
msgid "Goto:"
msgstr "Menj:"
-#: gitk:8105
-msgid "SHA1 ID:"
-msgstr "SHA1 ID:"
-
-#: gitk:8124
+#: gitk:8652
#, tcl-format
msgid "Short SHA1 id %s is ambiguous"
msgstr "Rövid SHA1 id %s félreérthető"
-#: gitk:8131
+#: gitk:8659
+#, tcl-format
msgid "Revision %s is not known"
msgstr "A(z) %s revízió nem ismert"
-#: gitk:8141
+#: gitk:8669
#, tcl-format
msgid "SHA1 id %s is not known"
msgstr "SHA1 id %s nem ismert"
-#: gitk:8143
+#: gitk:8671
#, tcl-format
msgid "Revision %s is not in the current view"
msgstr "A(z) %s revízió nincs a jelenlegi nézetben"
-#: gitk:8285
+#: gitk:8813 gitk:8828
+msgid "Date"
+msgstr "Dátum"
+
+#: gitk:8816
msgid "Children"
msgstr "Gyerekek"
-#: gitk:8343
+#: gitk:8879
#, tcl-format
msgid "Reset %s branch to here"
msgstr "Állítsd vissza a %s branch-ot ide"
-#: gitk:8345
+#: gitk:8881
msgid "Detached head: can't reset"
msgstr "Elkülönített head: nem lehet visszaállítani"
-#: gitk:8454 gitk:8460
+#: gitk:8986 gitk:8992
msgid "Skipping merge commit "
msgstr "Merge commit kihagyása "
-#: gitk:8469 gitk:8474
+#: gitk:9001 gitk:9006
msgid "Error getting patch ID for "
msgstr "Hiba történt a patch ID megszerzése közben a következőnél "
-#: gitk:8470 gitk:8475
+#: gitk:9002 gitk:9007
msgid " - stopping\n"
msgstr " - abbahagyás\n"
-#: gitk:8480 gitk:8483 gitk:8491 gitk:8505 gitk:8514
+#: gitk:9012 gitk:9015 gitk:9023 gitk:9037 gitk:9046
msgid "Commit "
msgstr "Commit "
-#: gitk:8484
+#: gitk:9016
msgid ""
" is the same patch as\n"
" "
@@ -850,7 +890,7 @@ msgstr ""
" Ugyanaz a patch mint\n"
" "
-#: gitk:8492
+#: gitk:9024
msgid ""
" differs from\n"
" "
@@ -858,7 +898,7 @@ msgstr ""
" különbözik innentől\n"
" "
-#: gitk:8494
+#: gitk:9026
msgid ""
"Diff of commits:\n"
"\n"
@@ -866,121 +906,132 @@ msgstr ""
"A commitok diffje:\n"
"\n"
-#: gitk:8506 gitk:8515
+#: gitk:9038 gitk:9047
#, tcl-format
msgid " has %s children - stopping\n"
msgstr " %s gyereke van. abbahagyás\n"
-#: gitk:8534
+#: gitk:9066
+#, tcl-format
msgid "Error writing commit to file: %s"
msgstr "Hiba történt a commit fájlba írása közben: %s"
-#: gitk:8540
+#: gitk:9072
+#, tcl-format
msgid "Error diffing commits: %s"
msgstr "Hiba történt a commitok diffelése közben: %s"
-#: gitk:8570
+#: gitk:9118
msgid "Top"
msgstr "Teteje"
-#: gitk:8571
+#: gitk:9119
msgid "From"
msgstr "Innen"
-#: gitk:8576
+#: gitk:9124
msgid "To"
msgstr "Ide"
-#: gitk:8600
+#: gitk:9148
msgid "Generate patch"
msgstr "Patch generálása"
-#: gitk:8602
+#: gitk:9150
msgid "From:"
msgstr "Innen:"
-#: gitk:8611
+#: gitk:9159
msgid "To:"
msgstr "Ide:"
-#: gitk:8620
+#: gitk:9168
msgid "Reverse"
msgstr "Visszafele"
-#: gitk:8622 gitk:8807
+#: gitk:9170 gitk:9366
msgid "Output file:"
msgstr "Kimeneti fájl:"
-#: gitk:8628
+#: gitk:9176
msgid "Generate"
msgstr "Generálás"
-#: gitk:8666
+#: gitk:9214
msgid "Error creating patch:"
msgstr "Hiba törtét a patch készítése közben:"
-#: gitk:8689 gitk:8795 gitk:8852
+#: gitk:9237 gitk:9354 gitk:9411
msgid "ID:"
msgstr "ID:"
-#: gitk:8698
+#: gitk:9246
msgid "Tag name:"
msgstr "Tag név:"
-#: gitk:8702 gitk:8861
+#: gitk:9249
+msgid "Tag message is optional"
+msgstr ""
+
+#: gitk:9251
+#, fuzzy
+msgid "Tag message:"
+msgstr "Tag név:"
+
+#: gitk:9255 gitk:9420
msgid "Create"
msgstr "Létrehozás"
-#: gitk:8719
+#: gitk:9273
msgid "No tag name specified"
msgstr "A tag neve nincsen megadva"
-#: gitk:8723
+#: gitk:9277
#, tcl-format
msgid "Tag \"%s\" already exists"
msgstr "%s Tag már létezik"
-#: gitk:8729
+#: gitk:9287
msgid "Error creating tag:"
msgstr "Hiba történt a tag létrehozása közben:"
-#: gitk:8804
+#: gitk:9363
msgid "Command:"
msgstr "Parancs:"
-#: gitk:8812
+#: gitk:9371
msgid "Write"
msgstr "Írás"
-#: gitk:8830
+#: gitk:9389
msgid "Error writing commit:"
msgstr "Hiba történt a commit írása közben:"
-#: gitk:8857
+#: gitk:9416
msgid "Name:"
msgstr "Név:"
-#: gitk:8880
+#: gitk:9439
msgid "Please specify a name for the new branch"
msgstr "Kérem adja meg a nevét az új branchhoz"
-#: gitk:8885
+#: gitk:9444
#, tcl-format
msgid "Branch '%s' already exists. Overwrite?"
msgstr "%s branch már létezik. Felülírja?"
-#: gitk:8951
+#: gitk:9511
#, tcl-format
msgid "Commit %s is already included in branch %s -- really re-apply it?"
msgstr ""
"%s commit már benne van a %s branchban -- biztos hogy újra csinálja ?"
"eintragen?"
-#: gitk:8956
+#: gitk:9516
msgid "Cherry-picking"
msgstr "Cherry-picking"
-#: gitk:8965
+#: gitk:9525
#, tcl-format
msgid ""
"Cherry-pick failed because of local changes to file '%s'.\n"
@@ -990,7 +1041,7 @@ msgstr ""
"Kérem commitolja, indítsa újra vagy rejtse el a változtatásait és próbálja "
"újra."
-#: gitk:8971
+#: gitk:9531
msgid ""
"Cherry-pick failed because of merge conflict.\n"
"Do you wish to run git citool to resolve it?"
@@ -998,32 +1049,63 @@ msgstr ""
"Cherry-pick hiba történt merge konfliktus miatt.\n"
"Kívánja futtatni a git citool-t a probléma megoldásához?"
-#: gitk:8987
+#: gitk:9547 gitk:9605
msgid "No changes committed"
msgstr "Nincsen változás commitolva"
-#: gitk:9013
+#: gitk:9574
+#, fuzzy, tcl-format
+msgid "Commit %s is not included in branch %s -- really revert it?"
+msgstr ""
+"%s commit már benne van a %s branchban -- biztos hogy újra csinálja ?"
+"eintragen?"
+
+#: gitk:9579
+#, fuzzy
+msgid "Reverting"
+msgstr "Újraindítás"
+
+#: gitk:9587
+#, fuzzy, tcl-format
+msgid ""
+"Revert failed because of local changes to the following files:%s Please "
+"commit, reset or stash your changes and try again."
+msgstr ""
+"Cherry-pick hiba történt lokális váltotások miatt a '%s' fájlban.\n"
+"Kérem commitolja, indítsa újra vagy rejtse el a változtatásait és próbálja "
+"újra."
+
+#: gitk:9591
+#, fuzzy
+msgid ""
+"Revert failed because of merge conflict.\n"
+" Do you wish to run git citool to resolve it?"
+msgstr ""
+"Cherry-pick hiba történt merge konfliktus miatt.\n"
+"Kívánja futtatni a git citool-t a probléma megoldásához?"
+
+#: gitk:9634
msgid "Confirm reset"
msgstr "Újraindítás megerősítése"
-#: gitk:9015
+#: gitk:9636
#, tcl-format
msgid "Reset branch %s to %s?"
msgstr "Újraindítja a %s branchot %s-ig?"
-#: gitk:9017
+#: gitk:9638
msgid "Reset type:"
msgstr "Újraindítás típusa:"
-#: gitk:9020
+#: gitk:9641
msgid "Soft: Leave working tree and index untouched"
msgstr "Soft: Hagyd a working tree-t és az indexet érintetlenül"
-#: gitk:9023
+#: gitk:9644
msgid "Mixed: Leave working tree untouched, reset index"
msgstr "Kevert: Hagyd a working tree-t érintetlenül, töröld az indexet"
-#: gitk:9026
+#: gitk:9647
msgid ""
"Hard: Reset working tree and index\n"
"(discard ALL local changes)"
@@ -1031,19 +1113,19 @@ msgstr ""
"Hard: Indítsd újra a working tree-t és az indexet\n"
"(MINDEN lokális változás eldobása)"
-#: gitk:9043
+#: gitk:9664
msgid "Resetting"
msgstr "Újraindítás"
-#: gitk:9103
+#: gitk:9724
msgid "Checking out"
msgstr "Kivesz"
-#: gitk:9156
+#: gitk:9777
msgid "Cannot delete the currently checked-out branch"
msgstr "Nem lehet a jelenleg kivett branch-ot törölni"
-#: gitk:9162
+#: gitk:9783
#, tcl-format
msgid ""
"The commits on branch %s aren't on any other branch.\n"
@@ -1052,16 +1134,16 @@ msgstr ""
"A %s branchon található commit nem található meg semelyik másik branchon.\n"
"Tényleg törli a %s branchot?"
-#: gitk:9193
+#: gitk:9814
#, tcl-format
msgid "Tags and heads: %s"
msgstr "Tagek és headek: %s"
-#: gitk:9208
+#: gitk:9829
msgid "Filter"
msgstr "Szűrő"
-#: gitk:9503
+#: gitk:10125
msgid ""
"Error reading commit topology information; branch and preceding/following "
"tag information will be incomplete."
@@ -1069,206 +1151,235 @@ msgstr ""
"Hiba történt a commit topológiai információ olvasása közben; branch ésa "
"megelőző/következő információ nem lesz teljes."
-#: gitk:10489
+#: gitk:11102
msgid "Tag"
msgstr "Tag"
-#: gitk:10489
+#: gitk:11106
msgid "Id"
msgstr "Id"
-#: gitk:10539
+#: gitk:11189
msgid "Gitk font chooser"
msgstr "Gitk-betű kiválasztó"
-#: gitk:10556
+#: gitk:11206
msgid "B"
msgstr "F"
-#: gitk:10559
+#: gitk:11209
msgid "I"
msgstr "K"
-#: gitk:10677
-msgid "Gitk preferences"
-msgstr "Gitk beállítások"
-
-#: gitk:10679
+#: gitk:11327
msgid "Commit list display options"
msgstr "Commit lista kijelzési opciók"
-#: gitk:10682
+#: gitk:11330
msgid "Maximum graph width (lines)"
msgstr "Maximális grafikon szélesség (sorok)"
-#: gitk:10685
-#, tcl-format
+#: gitk:11334
+#, no-tcl-format
msgid "Maximum graph width (% of pane)"
msgstr "Maximális grafikon szélesség (táble %-je)"
-#: gitk:10688
+#: gitk:11337
msgid "Show local changes"
msgstr "Mutasd a lokális változtatásokat"
-#: gitk:10691
-msgid "Auto-select SHA1"
+#: gitk:11340
+#, fuzzy
+msgid "Auto-select SHA1 (length)"
msgstr "SHA1 Automatikus kiválasztása"
-#: gitk:10694
+#: gitk:11344
msgid "Hide remote refs"
msgstr "A távoli refek elrejtése"
-#: gitk:10698
+#: gitk:11348
msgid "Diff display options"
msgstr "Diff kijelző opciók"
-#: gitk:10700
+#: gitk:11350
msgid "Tab spacing"
msgstr "Tab sorköz"
-#: gitk:10703
-msgid "Display nearby tags"
+#: gitk:11353
+#, fuzzy
+msgid "Display nearby tags/heads"
msgstr "Szomszédos tagek kijelzése"
-#: gitk:10706
+#: gitk:11356
+msgid "Maximum # tags/heads to show"
+msgstr ""
+
+#: gitk:11359
msgid "Limit diffs to listed paths"
msgstr "Korlátozott diffek a kilistázott útvonalakhoz"
-#: gitk:10709
+#: gitk:11362
msgid "Support per-file encodings"
msgstr "Fájlonkénti kódolás támgatása"
-#: gitk:10715 gitk:10804
+#: gitk:11368 gitk:11515
msgid "External diff tool"
msgstr "Külső diff alkalmazás"
-#: gitk:10716
+#: gitk:11369
msgid "Choose..."
msgstr "Válaszd ..."
-#: gitk:10721
+#: gitk:11374
msgid "General options"
msgstr "Általános opciók"
-#: gitk:10724
+#: gitk:11377
msgid "Use themed widgets"
msgstr "Témázott vezérlők használata"
-#: gitk:10726
+#: gitk:11379
msgid "(change requires restart)"
msgstr "(a változás újraindítást igényel)"
-#: gitk:10728
+#: gitk:11381
msgid "(currently unavailable)"
msgstr "(jelenleg nem elérhető)"
-#: gitk:10732
+#: gitk:11392
msgid "Colors: press to choose"
msgstr "Színek: nyomja meg a kiválasztáshoz"
-#: gitk:10735
+#: gitk:11395
msgid "Interface"
msgstr "Interfész"
-#: gitk:10736
+#: gitk:11396
msgid "interface"
msgstr "interfész"
-#: gitk:10739
+#: gitk:11399
msgid "Background"
msgstr "Háttér"
-#: gitk:10740 gitk:10770
+#: gitk:11400 gitk:11430
msgid "background"
msgstr "háttér"
-#: gitk:10743
+#: gitk:11403
msgid "Foreground"
msgstr "Előtér"
-#: gitk:10744
+#: gitk:11404
msgid "foreground"
msgstr "előtér"
-#: gitk:10747
+#: gitk:11407
msgid "Diff: old lines"
msgstr "Diff: régi sorok"
-#: gitk:10748
+#: gitk:11408
msgid "diff old lines"
msgstr "diff régi sorok"
-#: gitk:10752
+#: gitk:11412
msgid "Diff: new lines"
msgstr "Diff: új sorok"
-#: gitk:10753
+#: gitk:11413
msgid "diff new lines"
msgstr "diff - új sorok"
-#: gitk:10757
+#: gitk:11417
msgid "Diff: hunk header"
msgstr "Diff: nagy headerök"
-#: gitk:10759
+#: gitk:11419
msgid "diff hunk header"
msgstr "diff - nagy headerök"
-#: gitk:10763
+#: gitk:11423
msgid "Marked line bg"
msgstr "Megjelölt sor háttér"
-#: gitk:10765
+#: gitk:11425
msgid "marked line background"
msgstr "megjelölt sor háttér"
-#: gitk:10769
+#: gitk:11429
msgid "Select bg"
msgstr "Válasszon hátteret"
-#: gitk:10773
+#: gitk:11438
msgid "Fonts: press to choose"
msgstr "Betű: nyomja meg a kiválasztáshoz"
-#: gitk:10775
+#: gitk:11440
msgid "Main font"
msgstr "Fő betű"
-#: gitk:10776
+#: gitk:11441
msgid "Diff display font"
msgstr "Diff kijelző betű"
-#: gitk:10777
+#: gitk:11442
msgid "User interface font"
msgstr "Felhasználói interfész betű"
-#: gitk:10814
+#: gitk:11464
+msgid "Gitk preferences"
+msgstr "Gitk beállítások"
+
+#: gitk:11473
+#, fuzzy
+msgid "General"
+msgstr "Generálás"
+
+#: gitk:11474
+msgid "Colors"
+msgstr ""
+
+#: gitk:11475
+msgid "Fonts"
+msgstr ""
+
+#: gitk:11525
#, tcl-format
msgid "Gitk: choose color for %s"
msgstr "Gitk: válasszon színt a %s-ra"
-#: gitk:11418
+#: gitk:12242
msgid "Cannot find a git repository here."
msgstr "Nem találhatü git repository itt."
-#: gitk:11422
-#, tcl-format
-msgid "Cannot find the git directory \"%s\"."
-msgstr "Nem található a \"%s\" könyvtár."
-
-#: gitk:11469
+#: gitk:12289
#, tcl-format
msgid "Ambiguous argument '%s': both revision and filename"
msgstr "Félreérthető argumentum '%s': revízió és fájlnév is"
-#: gitk:11481
+#: gitk:12301
msgid "Bad arguments to gitk:"
msgstr "Rossz gitk argumentumok:"
-#: gitk:11572
+#: gitk:12405
msgid "Command line"
msgstr "Parancs sor"
+#~ msgid "SHA1 ID: "
+#~ msgstr "SHA1 ID: "
+
+#~ msgid "next"
+#~ msgstr "következő"
+
+#~ msgid "prev"
+#~ msgstr "előző"
+
+#~ msgid "CDate"
+#~ msgstr "Dátum"
+
+#~ msgid "Cannot find the git directory \"%s\"."
+#~ msgstr "Nem található a \"%s\" könyvtár."
+
#~ msgid "Use all refs"
#~ msgstr "Használd az összes referenciát"
diff --git a/gitk-git/po/it.po b/gitk-git/po/it.po
index a730d63a42..d630bb086d 100644
--- a/gitk-git/po/it.po
+++ b/gitk-git/po/it.po
@@ -8,33 +8,42 @@ msgid ""
msgstr ""
"Project-Id-Version: gitk\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-01-28 18:40+0100\n"
+"POT-Creation-Date: 2015-03-15 14:37+1100\n"
"PO-Revision-Date: 2010-01-28 18:41+0100\n"
"Last-Translator: Michele Ballabio <barra_cuda@katamail.com>\n"
"Language-Team: Italian\n"
+"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-#: gitk:115
+#: gitk:140
msgid "Couldn't get list of unmerged files:"
msgstr "Impossibile ottenere l'elenco dei file in attesa di fusione:"
-#: gitk:274
+#: gitk:212 gitk:2381
+msgid "Color words"
+msgstr ""
+
+#: gitk:217 gitk:2381 gitk:8201 gitk:8234
+msgid "Markup words"
+msgstr ""
+
+#: gitk:324
msgid "Error parsing revisions:"
msgstr "Errore nella lettura delle revisioni:"
-#: gitk:329
+#: gitk:380
msgid "Error executing --argscmd command:"
msgstr "Errore nell'esecuzione del comando specificato con --argscmd:"
-#: gitk:342
+#: gitk:393
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:345
+#: gitk:396
msgid ""
"No files selected: --merge specified but no unmerged files are within file "
"limit."
@@ -42,299 +51,315 @@ msgstr ""
"Nessun file selezionato: è stata specificata l'opzione --merge ma i file "
"specificati non sono in attesa di fusione."
-#: gitk:367 gitk:514
+#: gitk:418 gitk:566
msgid "Error executing git log:"
msgstr "Errore nell'esecuzione di git log:"
-#: gitk:385 gitk:530
+#: gitk:436 gitk:582
msgid "Reading"
msgstr "Lettura in corso"
-#: gitk:445 gitk:4261
+#: gitk:496 gitk:4508
msgid "Reading commits..."
msgstr "Lettura delle revisioni in corso..."
-#: gitk:448 gitk:1578 gitk:4264
+#: gitk:499 gitk:1637 gitk:4511
msgid "No commits selected"
msgstr "Nessuna revisione selezionata"
-#: gitk:1454
+#: gitk:1511
msgid "Can't parse git log output:"
msgstr "Impossibile elaborare i dati di git log:"
-#: gitk:1674
+#: gitk:1740
msgid "No commit information available"
msgstr "Nessuna informazione disponibile sulle revisioni"
-#: gitk:1816
+#: gitk:1897
msgid "mc"
msgstr ""
-#: gitk:1851 gitk:4054 gitk:9044 gitk:10585 gitk:10804
+#: gitk:1932 gitk:4298 gitk:9650 gitk:11220 gitk:11500
msgid "OK"
msgstr "OK"
-#: gitk:1853 gitk:4056 gitk:8634 gitk:8713 gitk:8828 gitk:8877 gitk:9046
-#: gitk:10586 gitk:10805
+#: gitk:1934 gitk:4300 gitk:9177 gitk:9256 gitk:9372 gitk:9421 gitk:9652
+#: gitk:11221 gitk:11501
msgid "Cancel"
msgstr "Annulla"
-#: gitk:1975
+#: gitk:2069
msgid "Update"
msgstr "Aggiorna"
-#: gitk:1976
+#: gitk:2070
msgid "Reload"
msgstr "Ricarica"
-#: gitk:1977
+#: gitk:2071
msgid "Reread references"
msgstr "Rileggi riferimenti"
-#: gitk:1978
+#: gitk:2072
msgid "List references"
msgstr "Elenca riferimenti"
-#: gitk:1980
+#: gitk:2074
msgid "Start git gui"
msgstr "Avvia git gui"
-#: gitk:1982
+#: gitk:2076
msgid "Quit"
msgstr "Esci"
-#: gitk:1974
+#: gitk:2068
msgid "File"
msgstr "File"
-#: gitk:1986
+#: gitk:2080
msgid "Preferences"
msgstr "Preferenze"
-#: gitk:1985
+#: gitk:2079
msgid "Edit"
msgstr "Modifica"
-#: gitk:1990
+#: gitk:2084
msgid "New view..."
msgstr "Nuova vista..."
-#: gitk:1991
+#: gitk:2085
msgid "Edit view..."
msgstr "Modifica vista..."
-#: gitk:1992
+#: gitk:2086
msgid "Delete view"
msgstr "Elimina vista"
-#: gitk:1994
+#: gitk:2088
msgid "All files"
msgstr "Tutti i file"
-#: gitk:1989 gitk:3808
+#: gitk:2083 gitk:4050
msgid "View"
msgstr "Vista"
-#: gitk:1999 gitk:2009 gitk:2780
+#: gitk:2093 gitk:2103 gitk:3009
msgid "About gitk"
msgstr "Informazioni su gitk"
-#: gitk:2000 gitk:2014
+#: gitk:2094 gitk:2108
msgid "Key bindings"
msgstr "Scorciatoie da tastiera"
-#: gitk:1998 gitk:2013
+#: gitk:2092 gitk:2107
msgid "Help"
msgstr "Aiuto"
-#: gitk:2091 gitk:8110
+#: gitk:2185 gitk:8633
msgid "SHA1 ID:"
msgstr "SHA1 ID:"
-#: gitk:2122
+#: gitk:2229
msgid "Row"
msgstr "Riga"
-#: gitk:2160
+#: gitk:2267
msgid "Find"
msgstr "Trova"
-#: gitk:2161
-msgid "next"
-msgstr "succ"
-
-#: gitk:2162
-msgid "prev"
-msgstr "prec"
-
-#: gitk:2163
+#: gitk:2295
msgid "commit"
msgstr "revisione"
-#: gitk:2166 gitk:2168 gitk:4422 gitk:4445 gitk:4469 gitk:6410 gitk:6482
-#: gitk:6566
+#: gitk:2299 gitk:2301 gitk:4669 gitk:4692 gitk:4716 gitk:6736 gitk:6808
+#: gitk:6893
msgid "containing:"
msgstr "contenente:"
-#: gitk:2169 gitk:3290 gitk:3295 gitk:4497
+#: gitk:2302 gitk:3522 gitk:3527 gitk:4745
msgid "touching paths:"
msgstr "che riguarda i percorsi:"
-#: gitk:2170 gitk:4502
+#: gitk:2303 gitk:4759
msgid "adding/removing string:"
msgstr "che aggiunge/rimuove la stringa:"
-#: gitk:2179 gitk:2181
+#: gitk:2304 gitk:4761
+msgid "changing lines matching:"
+msgstr ""
+
+#: gitk:2313 gitk:2315 gitk:4748
msgid "Exact"
msgstr "Esatto"
-#: gitk:2181 gitk:4577 gitk:6378
+#: gitk:2315 gitk:4836 gitk:6704
msgid "IgnCase"
msgstr ""
-#: gitk:2181 gitk:4471 gitk:4575 gitk:6374
+#: gitk:2315 gitk:4718 gitk:4834 gitk:6700
msgid "Regexp"
msgstr ""
-#: gitk:2183 gitk:2184 gitk:4596 gitk:4626 gitk:4633 gitk:6502 gitk:6570
+#: gitk:2317 gitk:2318 gitk:4856 gitk:4886 gitk:4893 gitk:6829 gitk:6897
msgid "All fields"
msgstr "Tutti i campi"
-#: gitk:2184 gitk:4594 gitk:4626 gitk:6441
+#: gitk:2318 gitk:4853 gitk:4886 gitk:6767
msgid "Headline"
msgstr "Titolo"
-#: gitk:2185 gitk:4594 gitk:6441 gitk:6570 gitk:7003
+#: gitk:2319 gitk:4853 gitk:6767 gitk:6897 gitk:7370
msgid "Comments"
msgstr "Commenti"
-#: gitk:2185 gitk:4594 gitk:4598 gitk:4633 gitk:6441 gitk:6938 gitk:8285
-#: gitk:8300
+#: gitk:2319 gitk:4853 gitk:4858 gitk:4893 gitk:6767 gitk:7305 gitk:8811
+#: gitk:8826
msgid "Author"
msgstr "Autore"
-#: gitk:2185 gitk:4594 gitk:6441 gitk:6940
+#: gitk:2319 gitk:4853 gitk:6767 gitk:7307
msgid "Committer"
msgstr "Revisione creata da"
-#: gitk:2216
+#: gitk:2350
msgid "Search"
msgstr "Cerca"
-#: gitk:2224
+#: gitk:2358
msgid "Diff"
msgstr ""
-#: gitk:2226
+#: gitk:2360
msgid "Old version"
msgstr "Vecchia versione"
-#: gitk:2228
+#: gitk:2362
msgid "New version"
msgstr "Nuova versione"
-#: gitk:2230
+#: gitk:2364
msgid "Lines of context"
msgstr "Linee di contesto"
-#: gitk:2240
+#: gitk:2374
msgid "Ignore space change"
msgstr "Ignora modifiche agli spazi"
-#: gitk:2299
+#: gitk:2378 gitk:2380 gitk:7940 gitk:8187
+msgid "Line diff"
+msgstr ""
+
+#: gitk:2445
msgid "Patch"
msgstr "Modifiche"
-#: gitk:2301
+#: gitk:2447
msgid "Tree"
msgstr "Directory"
-#: gitk:2456 gitk:2473
+#: gitk:2616 gitk:2636
msgid "Diff this -> selected"
msgstr "Diff questo -> selezionato"
-#: gitk:2457 gitk:2474
+#: gitk:2617 gitk:2637
msgid "Diff selected -> this"
msgstr "Diff selezionato -> questo"
-#: gitk:2458 gitk:2475
+#: gitk:2618 gitk:2638
msgid "Make patch"
msgstr "Crea patch"
-#: gitk:2459 gitk:8692
+#: gitk:2619 gitk:9235
msgid "Create tag"
msgstr "Crea etichetta"
-#: gitk:2460 gitk:8808
+#: gitk:2620 gitk:9352
msgid "Write commit to file"
msgstr "Scrivi revisione in un file"
-#: gitk:2461 gitk:8865
+#: gitk:2621 gitk:9409
msgid "Create new branch"
msgstr "Crea un nuovo ramo"
-#: gitk:2462
+#: gitk:2622
msgid "Cherry-pick this commit"
msgstr "Porta questa revisione in cima al ramo attuale"
-#: gitk:2463
+#: gitk:2623
msgid "Reset HEAD branch to here"
msgstr "Aggiorna il ramo HEAD a questa revisione"
-#: gitk:2464
+#: gitk:2624
msgid "Mark this commit"
msgstr "Segna questa revisione"
-#: gitk:2465
+#: gitk:2625
msgid "Return to mark"
msgstr "Torna alla revisione segnata"
-#: gitk:2466
+#: gitk:2626
msgid "Find descendant of this and mark"
msgstr "Trova il discendente di questa revisione e di quella segnata"
-#: gitk:2467
+#: gitk:2627
msgid "Compare with marked commit"
msgstr "Confronta con la revisione segnata"
-#: gitk:2481
+#: gitk:2628 gitk:2639
+#, fuzzy
+msgid "Diff this -> marked commit"
+msgstr "Diff questo -> selezionato"
+
+#: gitk:2629 gitk:2640
+#, fuzzy
+msgid "Diff marked commit -> this"
+msgstr "Diff selezionato -> questo"
+
+#: gitk:2630
+#, fuzzy
+msgid "Revert this commit"
+msgstr "Segna questa revisione"
+
+#: gitk:2646
msgid "Check out this branch"
msgstr "Attiva questo ramo"
-#: gitk:2482
+#: gitk:2647
msgid "Remove this branch"
msgstr "Elimina questo ramo"
-#: gitk:2489
+#: gitk:2654
msgid "Highlight this too"
msgstr "Evidenzia anche questo"
-#: gitk:2490
+#: gitk:2655
msgid "Highlight this only"
msgstr "Evidenzia solo questo"
-#: gitk:2491
+#: gitk:2656
msgid "External diff"
msgstr "Visualizza differenze in un altro programma"
-#: gitk:2492
+#: gitk:2657
msgid "Blame parent commit"
msgstr "Annota la revisione precedente"
-#: gitk:2499
+#: gitk:2664
msgid "Show origin of this line"
msgstr "Mostra la provenienza di questa riga"
-#: gitk:2500
+#: gitk:2665
msgid "Run git gui blame on this line"
msgstr "Esegui git gui blame su questa riga"
-#: gitk:2782
+#: gitk:3011
+#, fuzzy
msgid ""
"\n"
"Gitk - a commit viewer for git\n"
"\n"
-"Copyright \\u00a9 2005-2010 Paul Mackerras\n"
+"Copyright © 2005-2014 Paul Mackerras\n"
"\n"
"Use and redistribute under the terms of the GNU General Public License"
msgstr ""
@@ -346,298 +371,316 @@ msgstr ""
"Utilizzo e redistribuzione permessi sotto i termini della GNU General Public "
"License"
-#: gitk:2790 gitk:2854 gitk:9230
+#: gitk:3019 gitk:3085 gitk:9836
msgid "Close"
msgstr "Chiudi"
-#: gitk:2811
+#: gitk:3040
msgid "Gitk key bindings"
msgstr "Scorciatoie da tastiera di Gitk"
-#: gitk:2814
+#: gitk:3043
msgid "Gitk key bindings:"
msgstr "Scorciatoie da tastiera di Gitk:"
-#: gitk:2816
+#: gitk:3045
#, tcl-format
msgid "<%s-Q>\t\tQuit"
msgstr "<%s-Q>\t\tEsci"
-#: gitk:2817
+#: gitk:3046
+#, fuzzy, tcl-format
+msgid "<%s-W>\t\tClose window"
+msgstr "<%s-F>\t\tTrova"
+
+#: gitk:3047
msgid "<Home>\t\tMove to first commit"
msgstr "<Home>\t\tVai alla prima revisione"
-#: gitk:2818
+#: gitk:3048
msgid "<End>\t\tMove to last commit"
msgstr "<End>\t\tVai all'ultima revisione"
-#: gitk:2819
-msgid "<Up>, p, i\tMove up one commit"
+#: gitk:3049
+#, fuzzy
+msgid "<Up>, p, k\tMove up one commit"
msgstr "<Su>, p, i\tVai più in alto di una revisione"
-#: gitk:2820
-msgid "<Down>, n, k\tMove down one commit"
+#: gitk:3050
+#, fuzzy
+msgid "<Down>, n, j\tMove down one commit"
msgstr "<Giù>, n, k\tVai più in basso di una revisione"
-#: gitk:2821
-msgid "<Left>, z, j\tGo back in history list"
+#: gitk:3051
+#, fuzzy
+msgid "<Left>, z, h\tGo back in history list"
msgstr "<Sinistra>, z, j\tTorna indietro nella cronologia"
-#: gitk:2822
+#: gitk:3052
msgid "<Right>, x, l\tGo forward in history list"
msgstr "<Destra>, x, l\tVai avanti nella cronologia"
-#: gitk:2823
+#: gitk:3053
+#, tcl-format
+msgid "<%s-n>\tGo to n-th parent of current commit in history list"
+msgstr ""
+
+#: gitk:3054
msgid "<PageUp>\tMove up one page in commit list"
msgstr "<PaginaSu>\tVai più in alto di una pagina nella lista delle revisioni"
-#: gitk:2824
+#: gitk:3055
msgid "<PageDown>\tMove down one page in commit list"
msgstr ""
"<PaginaGiù>\tVai più in basso di una pagina nella lista delle revisioni"
-#: gitk:2825
+#: gitk:3056
#, tcl-format
msgid "<%s-Home>\tScroll to top of commit list"
msgstr "<%s-Home>\tScorri alla cima della lista delle revisioni"
-#: gitk:2826
+#: gitk:3057
#, tcl-format
msgid "<%s-End>\tScroll to bottom of commit list"
msgstr "<%s-End>\tScorri alla fine della lista delle revisioni"
-#: gitk:2827
+#: gitk:3058
#, tcl-format
msgid "<%s-Up>\tScroll commit list up one line"
msgstr "<%s-Su>\tScorri la lista delle revisioni in alto di una riga"
-#: gitk:2828
+#: gitk:3059
#, tcl-format
msgid "<%s-Down>\tScroll commit list down one line"
msgstr "<%s-Giù>\tScorri la lista delle revisioni in basso di una riga"
-#: gitk:2829
+#: gitk:3060
#, tcl-format
msgid "<%s-PageUp>\tScroll commit list up one page"
msgstr "<%s-PaginaSu>\tScorri la lista delle revisioni in alto di una pagina"
-#: gitk:2830
+#: gitk:3061
#, tcl-format
msgid "<%s-PageDown>\tScroll commit list down one page"
msgstr "<%s-PaginaGiù>\tScorri la lista delle revisioni in basso di una pagina"
-#: gitk:2831
+#: gitk:3062
msgid "<Shift-Up>\tFind backwards (upwards, later commits)"
msgstr "<Shift-Su>\tTrova all'indietro (verso l'alto, revisioni successive)"
-#: gitk:2832
+#: gitk:3063
msgid "<Shift-Down>\tFind forwards (downwards, earlier commits)"
msgstr "<Shift-Giù>\tTrova in avanti (verso il basso, revisioni precedenti)"
-#: gitk:2833
+#: gitk:3064
msgid "<Delete>, b\tScroll diff view up one page"
msgstr "<Delete>, b\tScorri la vista delle differenze in alto di una pagina"
-#: gitk:2834
+#: gitk:3065
msgid "<Backspace>\tScroll diff view up one page"
msgstr "<Backspace>\tScorri la vista delle differenze in alto di una pagina"
-#: gitk:2835
+#: gitk:3066
msgid "<Space>\t\tScroll diff view down one page"
msgstr "<Spazio>\t\tScorri la vista delle differenze in basso di una pagina"
-#: gitk:2836
+#: gitk:3067
msgid "u\t\tScroll diff view up 18 lines"
msgstr "u\t\tScorri la vista delle differenze in alto di 18 linee"
-#: gitk:2837
+#: gitk:3068
msgid "d\t\tScroll diff view down 18 lines"
msgstr "d\t\tScorri la vista delle differenze in basso di 18 linee"
-#: gitk:2838
+#: gitk:3069
#, tcl-format
msgid "<%s-F>\t\tFind"
msgstr "<%s-F>\t\tTrova"
-#: gitk:2839
+#: gitk:3070
#, tcl-format
msgid "<%s-G>\t\tMove to next find hit"
msgstr "<%s-G>\t\tTrova in avanti"
-#: gitk:2840
+#: gitk:3071
msgid "<Return>\tMove to next find hit"
msgstr "<Invio>\tTrova in avanti"
-#: gitk:2841
+#: gitk:3072
msgid "/\t\tFocus the search box"
msgstr "/\t\tCursore nel box di ricerca"
-#: gitk:2842
+#: gitk:3073
msgid "?\t\tMove to previous find hit"
msgstr "?\t\tTrova all'indietro"
-#: gitk:2843
+#: gitk:3074
msgid "f\t\tScroll diff view to next file"
msgstr "f\t\tScorri la vista delle differenze al file successivo"
-#: gitk:2844
+#: gitk:3075
#, 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:2845
+#: gitk:3076
#, 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:2846
+#: gitk:3077
#, tcl-format
msgid "<%s-KP+>\tIncrease font size"
msgstr "<%s-KP+>\tAumenta dimensione carattere"
-#: gitk:2847
+#: gitk:3078
#, tcl-format
msgid "<%s-plus>\tIncrease font size"
msgstr "<%s-più>\tAumenta dimensione carattere"
-#: gitk:2848
+#: gitk:3079
#, tcl-format
msgid "<%s-KP->\tDecrease font size"
msgstr "<%s-KP->\tDiminuisci dimensione carattere"
-#: gitk:2849
+#: gitk:3080
#, tcl-format
msgid "<%s-minus>\tDecrease font size"
msgstr "<%s-meno>\tDiminuisci dimensione carattere"
-#: gitk:2850
+#: gitk:3081
msgid "<F5>\t\tUpdate"
msgstr "<F5>\t\tAggiorna"
-#: gitk:3305 gitk:3314
+#: gitk:3546 gitk:3555
#, tcl-format
msgid "Error creating temporary directory %s:"
msgstr "Errore durante la creazione della directory temporanea %s:"
-#: gitk:3327
+#: gitk:3568
#, tcl-format
msgid "Error getting \"%s\" from %s:"
msgstr "Errore nella lettura di \"%s\" da %s:"
-#: gitk:3390
+#: gitk:3631
msgid "command failed:"
msgstr "impossibile eseguire il comando:"
-#: gitk:3539
+#: gitk:3780
msgid "No such commit"
msgstr "Revisione inesistente"
-#: gitk:3553
+#: gitk:3794
msgid "git gui blame: command failed:"
msgstr "git gui blame: impossibile eseguire il comando:"
-#: gitk:3584
+#: gitk:3825
#, tcl-format
msgid "Couldn't read merge head: %s"
msgstr "Impossibile leggere merge head: %s"
-#: gitk:3592
+#: gitk:3833
#, tcl-format
msgid "Error reading index: %s"
msgstr "Errore nella lettura dell'indice: %s"
-#: gitk:3617
+#: gitk:3858
#, tcl-format
msgid "Couldn't start git blame: %s"
msgstr "Impossibile eseguire git blame: %s"
-#: gitk:3620 gitk:6409
+#: gitk:3861 gitk:6735
msgid "Searching"
msgstr "Ricerca in corso"
-#: gitk:3652
+#: gitk:3893
#, tcl-format
msgid "Error running git blame: %s"
msgstr "Errore nell'esecuzione di git blame: %s"
-#: gitk:3680
+#: gitk:3921
#, tcl-format
msgid "That line comes from commit %s, which is not in this view"
msgstr "Quella riga proviene dalla revisione %s, non presente in questa vista"
-#: gitk:3694
+#: gitk:3935
msgid "External diff viewer failed:"
msgstr "Impossibile eseguire il visualizzatore di differenze:"
-#: gitk:3812
+#: gitk:4053
msgid "Gitk view definition"
msgstr "Scelta vista Gitk"
-#: gitk:3816
+#: gitk:4057
msgid "Remember this view"
msgstr "Ricorda questa vista"
-#: gitk:3817
+#: gitk:4058
msgid "References (space separated list):"
msgstr "Riferimenti (lista di elementi separati da spazi)"
-#: gitk:3818
+#: gitk:4059
msgid "Branches & tags:"
msgstr "Rami ed etichette"
-#: gitk:3819
+#: gitk:4060
msgid "All refs"
msgstr "Tutti i riferimenti"
-#: gitk:3820
+#: gitk:4061
msgid "All (local) branches"
msgstr "Tutti i rami (locali)"
-#: gitk:3821
+#: gitk:4062
msgid "All tags"
msgstr "Tutte le etichette"
-#: gitk:3822
+#: gitk:4063
msgid "All remote-tracking branches"
msgstr "Tutti i rami remoti"
-#: gitk:3823
+#: gitk:4064
msgid "Commit Info (regular expressions):"
msgstr "Informazioni sulla revisione (espressioni regolari):"
-#: gitk:3824
+#: gitk:4065
msgid "Author:"
msgstr "Autore:"
-#: gitk:3825
+#: gitk:4066
msgid "Committer:"
msgstr "Revisione creata da:"
-#: gitk:3826
+#: gitk:4067
msgid "Commit Message:"
msgstr "Messaggio di revisione:"
-#: gitk:3827
+#: gitk:4068
msgid "Matches all Commit Info criteria"
msgstr "Risponde a tutti i criteri di ricerca sulle revisioni"
-#: gitk:3828
+#: gitk:4069
+#, fuzzy
+msgid "Matches none Commit Info criteria"
+msgstr "Risponde a tutti i criteri di ricerca sulle revisioni"
+
+#: gitk:4070
msgid "Changes to Files:"
msgstr "Modifiche ai file:"
-#: gitk:3829
+#: gitk:4071
msgid "Fixed String"
msgstr "Stringa fissa"
-#: gitk:3830
+#: gitk:4072
msgid "Regular Expression"
msgstr "Espressione regolare"
-#: gitk:3831
+#: gitk:4073
msgid "Search string:"
msgstr "Cerca stringa:"
-#: gitk:3832
+#: gitk:4074
msgid ""
"Commit Dates (\"2 weeks ago\", \"2009-03-17 15:27:38\", \"March 17, 2009 "
"15:27:38\"):"
@@ -645,201 +688,201 @@ msgstr ""
"Date di revisione (\"2 weeks ago\", \"2009-03-17 15:27:38\", \"March 17, "
"2009 15:27:38\"):"
-#: gitk:3833
+#: gitk:4075
msgid "Since:"
msgstr "Da:"
-#: gitk:3834
+#: gitk:4076
msgid "Until:"
msgstr "A:"
-#: gitk:3835
+#: gitk:4077
msgid "Limit and/or skip a number of revisions (positive integer):"
msgstr "Limita e/o salta N revisioni (intero positivo):"
-#: gitk:3836
+#: gitk:4078
msgid "Number to show:"
msgstr "Numero di revisioni da mostrare:"
-#: gitk:3837
+#: gitk:4079
msgid "Number to skip:"
msgstr "Numero di revisioni da saltare:"
-#: gitk:3838
+#: gitk:4080
msgid "Miscellaneous options:"
msgstr "Altre opzioni:"
-#: gitk:3839
+#: gitk:4081
msgid "Strictly sort by date"
msgstr "Ordina solo per data"
-#: gitk:3840
+#: gitk:4082
msgid "Mark branch sides"
msgstr "Segna i lati del ramo"
-#: gitk:3841
+#: gitk:4083
msgid "Limit to first parent"
msgstr "Limita al primo genitore"
-#: gitk:3842
+#: gitk:4084
msgid "Simple history"
msgstr "Cronologia semplificata"
-#: gitk:3843
+#: gitk:4085
msgid "Additional arguments to git log:"
msgstr "Ulteriori argomenti da passare a git log:"
-#: gitk:3844
+#: gitk:4086
msgid "Enter files and directories to include, one per line:"
msgstr "Inserire file e directory da includere, uno per riga:"
-#: gitk:3845
+#: gitk:4087
msgid "Command to generate more commits to include:"
msgstr "Comando che genera altre revisioni da visualizzare:"
-#: gitk:3967
+#: gitk:4211
msgid "Gitk: edit view"
msgstr "Gitk: modifica vista"
-#: gitk:3975
+#: gitk:4219
msgid "-- criteria for selecting revisions"
msgstr "-- criteri per la scelta delle revisioni"
-#: gitk:3980
+#: gitk:4224
msgid "View Name"
msgstr "Nome vista"
-#: gitk:4055
+#: gitk:4299
msgid "Apply (F5)"
msgstr "Applica (F5)"
-#: gitk:4093
+#: gitk:4337
msgid "Error in commit selection arguments:"
msgstr "Errore negli argomenti di selezione delle revisioni:"
-#: gitk:4146 gitk:4198 gitk:4646 gitk:4660 gitk:5921 gitk:11534 gitk:11535
+#: gitk:4392 gitk:4445 gitk:4906 gitk:4920 gitk:6190 gitk:12346 gitk:12347
msgid "None"
msgstr "Nessuno"
-#: gitk:4594 gitk:6441 gitk:8287 gitk:8302
-msgid "Date"
-msgstr "Data"
-
-#: gitk:4594 gitk:6441
-msgid "CDate"
-msgstr ""
-
-#: gitk:4743 gitk:4748
+#: gitk:5003 gitk:5008
msgid "Descendant"
msgstr "Discendente"
-#: gitk:4744
+#: gitk:5004
msgid "Not descendant"
msgstr "Non discendente"
-#: gitk:4751 gitk:4756
+#: gitk:5011 gitk:5016
msgid "Ancestor"
msgstr "Ascendente"
-#: gitk:4752
+#: gitk:5012
msgid "Not ancestor"
msgstr "Non ascendente"
-#: gitk:5042
+#: gitk:5306
msgid "Local changes checked in to index but not committed"
msgstr "Modifiche locali presenti nell'indice ma non nell'archivio"
-#: gitk:5078
+#: gitk:5342
msgid "Local uncommitted changes, not checked in to index"
msgstr "Modifiche locali non presenti né nell'archivio né nell'indice"
-#: gitk:6759
+#: gitk:7115
+msgid "and many more"
+msgstr ""
+
+#: gitk:7118
msgid "many"
msgstr "molti"
-#: gitk:6942
+#: gitk:7309
msgid "Tags:"
msgstr "Etichette:"
-#: gitk:6959 gitk:6965 gitk:8280
+#: gitk:7326 gitk:7332 gitk:8806
msgid "Parent"
msgstr "Genitore"
-#: gitk:6970
+#: gitk:7337
msgid "Child"
msgstr "Figlio"
-#: gitk:6979
+#: gitk:7346
msgid "Branch"
msgstr "Ramo"
-#: gitk:6982
+#: gitk:7349
msgid "Follows"
msgstr "Segue"
-#: gitk:6985
+#: gitk:7352
msgid "Precedes"
msgstr "Precede"
-#: gitk:7522
+#: gitk:7947
#, tcl-format
msgid "Error getting diffs: %s"
msgstr "Errore nella lettura delle differenze:"
-#: gitk:8108
+#: gitk:8631
msgid "Goto:"
msgstr "Vai a:"
-#: gitk:8129
+#: gitk:8652
#, tcl-format
msgid "Short SHA1 id %s is ambiguous"
msgstr "La SHA1 id abbreviata %s è ambigua"
-#: gitk:8136
+#: gitk:8659
#, tcl-format
msgid "Revision %s is not known"
msgstr "La revisione %s è sconosciuta"
-#: gitk:8146
+#: gitk:8669
#, tcl-format
msgid "SHA1 id %s is not known"
msgstr "La SHA1 id %s è sconosciuta"
-#: gitk:8148
+#: gitk:8671
#, tcl-format
msgid "Revision %s is not in the current view"
msgstr "La revisione %s non è presente nella vista attuale"
-#: gitk:8290
+#: gitk:8813 gitk:8828
+msgid "Date"
+msgstr "Data"
+
+#: gitk:8816
msgid "Children"
msgstr "Figli"
-#: gitk:8348
+#: gitk:8879
#, tcl-format
msgid "Reset %s branch to here"
msgstr "Aggiorna il ramo %s a questa revisione"
-#: gitk:8350
+#: gitk:8881
msgid "Detached head: can't reset"
msgstr "Nessun ramo attivo: reset impossibile"
-#: gitk:8459 gitk:8465
+#: gitk:8986 gitk:8992
msgid "Skipping merge commit "
msgstr "Salto la revisione di fusione "
-#: gitk:8474 gitk:8479
+#: gitk:9001 gitk:9006
msgid "Error getting patch ID for "
msgstr "Errore nella identificazione della patch per "
-#: gitk:8475 gitk:8480
+#: gitk:9002 gitk:9007
msgid " - stopping\n"
msgstr " - fine\n"
-#: gitk:8485 gitk:8488 gitk:8496 gitk:8510 gitk:8519
+#: gitk:9012 gitk:9015 gitk:9023 gitk:9037 gitk:9046
msgid "Commit "
msgstr "La revisione "
-#: gitk:8489
+#: gitk:9016
msgid ""
" is the same patch as\n"
" "
@@ -847,7 +890,7 @@ msgstr ""
" ha le stesse differenze di\n"
" "
-#: gitk:8497
+#: gitk:9024
msgid ""
" differs from\n"
" "
@@ -855,7 +898,7 @@ msgstr ""
" è diversa da\n"
" "
-#: gitk:8499
+#: gitk:9026
msgid ""
"Diff of commits:\n"
"\n"
@@ -863,129 +906,129 @@ msgstr ""
"Differenze tra le revisioni:\n"
"\n"
-#: gitk:8511 gitk:8520
+#: gitk:9038 gitk:9047
#, tcl-format
msgid " has %s children - stopping\n"
msgstr " ha %s figli - fine\n"
-#: gitk:8539
+#: gitk:9066
#, tcl-format
msgid "Error writing commit to file: %s"
msgstr "Errore nella scrittura della revisione nel file: %s"
-#: gitk:8545
+#: gitk:9072
#, tcl-format
msgid "Error diffing commits: %s"
msgstr "Errore nelle differenze tra le revisioni: %s"
-#: gitk:8575
+#: gitk:9118
msgid "Top"
msgstr "Inizio"
-#: gitk:8576
+#: gitk:9119
msgid "From"
msgstr "Da"
-#: gitk:8581
+#: gitk:9124
msgid "To"
msgstr "A"
-#: gitk:8605
+#: gitk:9148
msgid "Generate patch"
msgstr "Genera patch"
-#: gitk:8607
+#: gitk:9150
msgid "From:"
msgstr "Da:"
-#: gitk:8616
+#: gitk:9159
msgid "To:"
msgstr "A:"
-#: gitk:8625
+#: gitk:9168
msgid "Reverse"
msgstr "Inverti"
-#: gitk:8627 gitk:8822
+#: gitk:9170 gitk:9366
msgid "Output file:"
msgstr "Scrivi sul file:"
-#: gitk:8633
+#: gitk:9176
msgid "Generate"
msgstr "Genera"
-#: gitk:8671
+#: gitk:9214
msgid "Error creating patch:"
msgstr "Errore nella creazione della patch:"
-#: gitk:8694 gitk:8810 gitk:8867
+#: gitk:9237 gitk:9354 gitk:9411
msgid "ID:"
msgstr "ID:"
-#: gitk:8703
+#: gitk:9246
msgid "Tag name:"
msgstr "Nome etichetta:"
-#: gitk:8706
+#: gitk:9249
msgid "Tag message is optional"
msgstr "Il messaggio dell'etichetta è opzionale"
-#: gitk:8708
+#: gitk:9251
msgid "Tag message:"
msgstr "Messaggio dell'etichetta:"
-#: gitk:8712 gitk:8876
+#: gitk:9255 gitk:9420
msgid "Create"
msgstr "Crea"
-#: gitk:8730
+#: gitk:9273
msgid "No tag name specified"
msgstr "Nessuna etichetta specificata"
-#: gitk:8734
+#: gitk:9277
#, tcl-format
msgid "Tag \"%s\" already exists"
msgstr "L'etichetta \"%s\" esiste già"
-#: gitk:8744
+#: gitk:9287
msgid "Error creating tag:"
msgstr "Errore nella creazione dell'etichetta:"
-#: gitk:8819
+#: gitk:9363
msgid "Command:"
msgstr "Comando:"
-#: gitk:8827
+#: gitk:9371
msgid "Write"
msgstr "Scrivi"
-#: gitk:8845
+#: gitk:9389
msgid "Error writing commit:"
msgstr "Errore nella scrittura della revisione:"
-#: gitk:8872
+#: gitk:9416
msgid "Name:"
msgstr "Nome:"
-#: gitk:8895
+#: gitk:9439
msgid "Please specify a name for the new branch"
msgstr "Specificare un nome per il nuovo ramo"
-#: gitk:8900
+#: gitk:9444
#, tcl-format
msgid "Branch '%s' already exists. Overwrite?"
msgstr "Il ramo '%s' esiste già. Sovrascrivere?"
-#: gitk:8966
+#: gitk:9511
#, 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:8971
+#: gitk:9516
msgid "Cherry-picking"
msgstr ""
-#: gitk:8980
+#: gitk:9525
#, tcl-format
msgid ""
"Cherry-pick failed because of local changes to file '%s'.\n"
@@ -996,7 +1039,7 @@ msgstr ""
"Prima di riprovare, bisogna creare una nuova revisione, annullare le "
"modifiche o usare 'git stash'."
-#: gitk:8986
+#: gitk:9531
msgid ""
"Cherry-pick failed because of merge conflict.\n"
"Do you wish to run git citool to resolve it?"
@@ -1004,32 +1047,62 @@ msgstr ""
"Impossibile eseguire cherry-pick a causa di un conflitto nella fusione.\n"
"Vuoi avviare git citool per risolverlo?"
-#: gitk:9002
+#: gitk:9547 gitk:9605
msgid "No changes committed"
msgstr "Nessuna modifica archiviata"
-#: gitk:9028
+#: gitk:9574
+#, fuzzy, tcl-format
+msgid "Commit %s is not included in branch %s -- really revert it?"
+msgstr "La revisione %s è già inclusa nel ramo %s -- applicarla di nuovo?"
+
+#: gitk:9579
+#, fuzzy
+msgid "Reverting"
+msgstr "git reset in corso"
+
+#: gitk:9587
+#, fuzzy, tcl-format
+msgid ""
+"Revert failed because of local changes to the following files:%s Please "
+"commit, reset or stash your changes and try again."
+msgstr ""
+"Impossibile eseguire cherry-pick perché il file '%s' è stato modificato "
+"nella directory di lavoro.\n"
+"Prima di riprovare, bisogna creare una nuova revisione, annullare le "
+"modifiche o usare 'git stash'."
+
+#: gitk:9591
+#, fuzzy
+msgid ""
+"Revert failed because of merge conflict.\n"
+" Do you wish to run git citool to resolve it?"
+msgstr ""
+"Impossibile eseguire cherry-pick a causa di un conflitto nella fusione.\n"
+"Vuoi avviare git citool per risolverlo?"
+
+#: gitk:9634
msgid "Confirm reset"
msgstr "Conferma git reset"
-#: gitk:9030
+#: gitk:9636
#, tcl-format
msgid "Reset branch %s to %s?"
msgstr "Aggiornare il ramo %s a %s?"
-#: gitk:9032
+#: gitk:9638
msgid "Reset type:"
msgstr "Tipo di aggiornamento:"
-#: gitk:9035
+#: gitk:9641
msgid "Soft: Leave working tree and index untouched"
msgstr "Soft: Lascia la direcory di lavoro e l'indice come sono"
-#: gitk:9038
+#: gitk:9644
msgid "Mixed: Leave working tree untouched, reset index"
msgstr "Mixed: Lascia la directory di lavoro come è, aggiorna l'indice"
-#: gitk:9041
+#: gitk:9647
msgid ""
"Hard: Reset working tree and index\n"
"(discard ALL local changes)"
@@ -1037,19 +1110,19 @@ msgstr ""
"Hard: Aggiorna la directory di lavoro e l'indice\n"
"(abbandona TUTTE le modifiche locali)"
-#: gitk:9058
+#: gitk:9664
msgid "Resetting"
msgstr "git reset in corso"
-#: gitk:9118
+#: gitk:9724
msgid "Checking out"
msgstr "Attivazione in corso"
-#: gitk:9171
+#: gitk:9777
msgid "Cannot delete the currently checked-out branch"
msgstr "Impossibile cancellare il ramo attualmente attivo"
-#: gitk:9177
+#: gitk:9783
#, tcl-format
msgid ""
"The commits on branch %s aren't on any other branch.\n"
@@ -1058,16 +1131,16 @@ msgstr ""
"Le revisioni nel ramo %s non sono presenti su altri rami.\n"
"Cancellare il ramo %s?"
-#: gitk:9208
+#: gitk:9814
#, tcl-format
msgid "Tags and heads: %s"
msgstr "Etichette e rami: %s"
-#: gitk:9223
+#: gitk:9829
msgid "Filter"
msgstr "Filtro"
-#: gitk:9518
+#: gitk:10125
msgid ""
"Error reading commit topology information; branch and preceding/following "
"tag information will be incomplete."
@@ -1075,202 +1148,225 @@ msgstr ""
"Errore nella lettura della topologia delle revisioni: le informazioni sul "
"ramo e le etichette precedenti e seguenti saranno incomplete."
-#: gitk:10504
+#: gitk:11102
msgid "Tag"
msgstr "Etichetta"
-#: gitk:10504
+#: gitk:11106
msgid "Id"
msgstr "Id"
-#: gitk:10554
+#: gitk:11189
msgid "Gitk font chooser"
msgstr "Scelta caratteri gitk"
-#: gitk:10571
+#: gitk:11206
msgid "B"
msgstr "B"
-#: gitk:10574
+#: gitk:11209
msgid "I"
msgstr "I"
-#: gitk:10692
-msgid "Gitk preferences"
-msgstr "Preferenze gitk"
-
-#: gitk:10694
+#: gitk:11327
msgid "Commit list display options"
msgstr "Opzioni visualizzazione dell'elenco revisioni"
-#: gitk:10697
+#: gitk:11330
msgid "Maximum graph width (lines)"
msgstr "Larghezza massima del grafico (in linee)"
-#: gitk:10700
-#, tcl-format
+#: gitk:11334
+#, no-tcl-format
msgid "Maximum graph width (% of pane)"
msgstr "Larghezza massima del grafico (% del pannello)"
-#: gitk:10703
+#: gitk:11337
msgid "Show local changes"
msgstr "Mostra modifiche locali"
-#: gitk:10706
-msgid "Auto-select SHA1"
+#: gitk:11340
+#, fuzzy
+msgid "Auto-select SHA1 (length)"
msgstr "Seleziona automaticamente SHA1 hash"
-#: gitk:10709
+#: gitk:11344
msgid "Hide remote refs"
msgstr "Nascondi i riferimenti remoti"
-#: gitk:10713
+#: gitk:11348
msgid "Diff display options"
msgstr "Opzioni di visualizzazione delle differenze"
-#: gitk:10715
+#: gitk:11350
msgid "Tab spacing"
msgstr "Spaziatura tabulazioni"
-#: gitk:10718
-msgid "Display nearby tags"
+#: gitk:11353
+#, fuzzy
+msgid "Display nearby tags/heads"
msgstr "Mostra etichette vicine"
-#: gitk:10721
+#: gitk:11356
+msgid "Maximum # tags/heads to show"
+msgstr ""
+
+#: gitk:11359
msgid "Limit diffs to listed paths"
msgstr "Limita le differenze ai percorsi elencati"
-#: gitk:10724
+#: gitk:11362
msgid "Support per-file encodings"
msgstr "Attiva codifica file per file"
-#: gitk:10730 gitk:10819
+#: gitk:11368 gitk:11515
msgid "External diff tool"
msgstr "Visualizzatore di differenze"
-#: gitk:10731
+#: gitk:11369
msgid "Choose..."
msgstr "Scegli..."
-#: gitk:10736
+#: gitk:11374
msgid "General options"
msgstr "Opzioni generali"
-#: gitk:10739
+#: gitk:11377
msgid "Use themed widgets"
msgstr "Utilizza interfaccia a tema"
-#: gitk:10741
+#: gitk:11379
msgid "(change requires restart)"
msgstr "(una modifica richiede il riavvio)"
-#: gitk:10743
+#: gitk:11381
msgid "(currently unavailable)"
msgstr "(momentaneamente non disponibile)"
-#: gitk:10747
+#: gitk:11392
msgid "Colors: press to choose"
msgstr "Colori: premere per scegliere"
-#: gitk:10750
+#: gitk:11395
msgid "Interface"
msgstr "Interfaccia"
-#: gitk:10751
+#: gitk:11396
msgid "interface"
msgstr "interfaccia"
-#: gitk:10754
+#: gitk:11399
msgid "Background"
msgstr "Sfondo"
-#: gitk:10755 gitk:10785
+#: gitk:11400 gitk:11430
msgid "background"
msgstr "sfondo"
-#: gitk:10758
+#: gitk:11403
msgid "Foreground"
msgstr "Primo piano"
-#: gitk:10759
+#: gitk:11404
msgid "foreground"
msgstr "primo piano"
-#: gitk:10762
+#: gitk:11407
msgid "Diff: old lines"
msgstr "Diff: vecchie linee"
-#: gitk:10763
+#: gitk:11408
msgid "diff old lines"
msgstr "vecchie linee"
-#: gitk:10767
+#: gitk:11412
msgid "Diff: new lines"
msgstr "Diff: nuove linee"
-#: gitk:10768
+#: gitk:11413
msgid "diff new lines"
msgstr "nuove linee"
-#: gitk:10772
+#: gitk:11417
msgid "Diff: hunk header"
msgstr "Diff: intestazione della sezione"
-#: gitk:10774
+#: gitk:11419
msgid "diff hunk header"
msgstr "intestazione della sezione"
-#: gitk:10778
+#: gitk:11423
msgid "Marked line bg"
msgstr "Sfondo riga selezionata"
-#: gitk:10780
+#: gitk:11425
msgid "marked line background"
msgstr "sfondo riga selezionata"
-#: gitk:10784
+#: gitk:11429
msgid "Select bg"
msgstr "Sfondo"
-#: gitk:10788
+#: gitk:11438
msgid "Fonts: press to choose"
msgstr "Carattere: premere per scegliere"
-#: gitk:10790
+#: gitk:11440
msgid "Main font"
msgstr "Carattere principale"
-#: gitk:10791
+#: gitk:11441
msgid "Diff display font"
msgstr "Carattere per differenze"
-#: gitk:10792
+#: gitk:11442
msgid "User interface font"
msgstr "Carattere per interfaccia utente"
-#: gitk:10829
+#: gitk:11464
+msgid "Gitk preferences"
+msgstr "Preferenze gitk"
+
+#: gitk:11473
+#, fuzzy
+msgid "General"
+msgstr "Genera"
+
+#: gitk:11474
+msgid "Colors"
+msgstr ""
+
+#: gitk:11475
+msgid "Fonts"
+msgstr ""
+
+#: gitk:11525
#, tcl-format
msgid "Gitk: choose color for %s"
msgstr "Gitk: scegliere un colore per %s"
-#: gitk:11433
+#: gitk:12242
msgid "Cannot find a git repository here."
msgstr "Archivio git non trovato."
-#: gitk:11437
-#, tcl-format
-msgid "Cannot find the git directory \"%s\"."
-msgstr "Directory git \"%s\" non trovata."
-
-#: gitk:11484
+#: gitk:12289
#, tcl-format
msgid "Ambiguous argument '%s': both revision and filename"
msgstr "Argomento ambiguo: '%s' è sia revisione che nome di file"
-#: gitk:11496
+#: gitk:12301
msgid "Bad arguments to gitk:"
msgstr "Gitk: argomenti errati:"
-#: gitk:11587
+#: gitk:12405
msgid "Command line"
msgstr "Linea di comando"
+
+#~ msgid "next"
+#~ msgstr "succ"
+
+#~ msgid "prev"
+#~ msgstr "prec"
+
+#~ msgid "Cannot find the git directory \"%s\"."
+#~ msgstr "Directory git \"%s\" non trovata."
diff --git a/gitk-git/po/ja.po b/gitk-git/po/ja.po
index 4f4705164c..db47a4c2b6 100644
--- a/gitk-git/po/ja.po
+++ b/gitk-git/po/ja.po
@@ -8,34 +8,43 @@ msgid ""
msgstr ""
"Project-Id-Version: gitk\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-11-04 00:08+0900\n"
+"POT-Creation-Date: 2015-03-15 14:37+1100\n"
"PO-Revision-Date: 2009-11-06 01:45+0900\n"
"Last-Translator: Mizar <mizar.jp@gmail.com>\n"
"Language-Team: Japanese\n"
+"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-#: gitk:113
+#: gitk:140
msgid "Couldn't get list of unmerged files:"
msgstr "マージされていないファイルのリストを取得できません:"
-#: gitk:269
+#: gitk:212 gitk:2381
+msgid "Color words"
+msgstr ""
+
+#: gitk:217 gitk:2381 gitk:8201 gitk:8234
+msgid "Markup words"
+msgstr ""
+
+#: gitk:324
msgid "Error parsing revisions:"
msgstr "リビジョン解析エラー:"
-#: gitk:324
+#: gitk:380
msgid "Error executing --argscmd command:"
msgstr "--argscmd コマンド実行エラー:"
-#: gitk:337
+#: gitk:393
msgid "No files selected: --merge specified but no files are unmerged."
msgstr ""
"ファイル未選択: --merge が指定されましたが、マージされていないファイルはあり"
"ません。"
-#: gitk:340
+#: gitk:396
msgid ""
"No files selected: --merge specified but no unmerged files are within file "
"limit."
@@ -43,299 +52,315 @@ msgstr ""
"ファイル未選択: --merge が指定されましたが、ファイル制限内にマージされていな"
"いファイルはありません。"
-#: gitk:362 gitk:509
+#: gitk:418 gitk:566
msgid "Error executing git log:"
msgstr "git log 実行エラー:"
-#: gitk:380 gitk:525
+#: gitk:436 gitk:582
msgid "Reading"
msgstr "読み込み中"
-#: gitk:440 gitk:4132
+#: gitk:496 gitk:4508
msgid "Reading commits..."
msgstr "コミット読み込み中..."
-#: gitk:443 gitk:1561 gitk:4135
+#: gitk:499 gitk:1637 gitk:4511
msgid "No commits selected"
msgstr "コミットが選択されていません"
-#: gitk:1437
+#: gitk:1511
msgid "Can't parse git log output:"
msgstr "git log の出力を解析できません:"
-#: gitk:1657
+#: gitk:1740
msgid "No commit information available"
msgstr "有効なコミットの情報がありません"
-#: gitk:1790
+#: gitk:1897
msgid "mc"
msgstr "mc"
-#: gitk:1817 gitk:3925 gitk:8842 gitk:10378 gitk:10558
+#: gitk:1932 gitk:4298 gitk:9650 gitk:11220 gitk:11500
msgid "OK"
msgstr "OK"
-#: gitk:1819 gitk:3927 gitk:8439 gitk:8513 gitk:8623 gitk:8672 gitk:8844
-#: gitk:10379 gitk:10559
+#: gitk:1934 gitk:4300 gitk:9177 gitk:9256 gitk:9372 gitk:9421 gitk:9652
+#: gitk:11221 gitk:11501
msgid "Cancel"
msgstr "キャンセル"
-#: gitk:1919
+#: gitk:2069
msgid "Update"
msgstr "更新"
-#: gitk:1920
+#: gitk:2070
msgid "Reload"
msgstr "リロード"
-#: gitk:1921
+#: gitk:2071
msgid "Reread references"
msgstr "リファレンスを再読み込み"
-#: gitk:1922
+#: gitk:2072
msgid "List references"
msgstr "リファレンスリストを表示"
-#: gitk:1924
+#: gitk:2074
msgid "Start git gui"
msgstr "git gui の開始"
-#: gitk:1926
+#: gitk:2076
msgid "Quit"
msgstr "終了"
-#: gitk:1918
+#: gitk:2068
msgid "File"
msgstr "ファイル"
-#: gitk:1930
+#: gitk:2080
msgid "Preferences"
msgstr "設定"
-#: gitk:1929
+#: gitk:2079
msgid "Edit"
msgstr "編集"
-#: gitk:1934
+#: gitk:2084
msgid "New view..."
msgstr "新規ビュー..."
-#: gitk:1935
+#: gitk:2085
msgid "Edit view..."
msgstr "ビュー編集..."
-#: gitk:1936
+#: gitk:2086
msgid "Delete view"
msgstr "ビュー削除"
-#: gitk:1938
+#: gitk:2088
msgid "All files"
msgstr "全てのファイル"
-#: gitk:1933 gitk:3679
+#: gitk:2083 gitk:4050
msgid "View"
msgstr "ビュー"
-#: gitk:1943 gitk:1953 gitk:2656
+#: gitk:2093 gitk:2103 gitk:3009
msgid "About gitk"
msgstr "gitk について"
-#: gitk:1944 gitk:1958
+#: gitk:2094 gitk:2108
msgid "Key bindings"
msgstr "キーバインディング"
-#: gitk:1942 gitk:1957
+#: gitk:2092 gitk:2107
msgid "Help"
msgstr "ヘルプ"
-#: gitk:2018
-msgid "SHA1 ID: "
-msgstr "SHA1 ID: "
+#: gitk:2185 gitk:8633
+msgid "SHA1 ID:"
+msgstr "SHA1 ID:"
-#: gitk:2049
+#: gitk:2229
msgid "Row"
msgstr "行"
-#: gitk:2080
+#: gitk:2267
msgid "Find"
msgstr "検索"
-#: gitk:2081
-msgid "next"
-msgstr "次"
-
-#: gitk:2082
-msgid "prev"
-msgstr "前"
-
-#: gitk:2083
+#: gitk:2295
msgid "commit"
msgstr "コミット"
-#: gitk:2086 gitk:2088 gitk:4293 gitk:4316 gitk:4340 gitk:6281 gitk:6353
-#: gitk:6437
+#: gitk:2299 gitk:2301 gitk:4669 gitk:4692 gitk:4716 gitk:6736 gitk:6808
+#: gitk:6893
msgid "containing:"
msgstr "含む:"
-#: gitk:2089 gitk:3164 gitk:3169 gitk:4368
+#: gitk:2302 gitk:3522 gitk:3527 gitk:4745
msgid "touching paths:"
msgstr "パスの一部:"
-#: gitk:2090 gitk:4373
+#: gitk:2303 gitk:4759
msgid "adding/removing string:"
msgstr "追加/除去する文字列:"
-#: gitk:2099 gitk:2101
+#: gitk:2304 gitk:4761
+msgid "changing lines matching:"
+msgstr ""
+
+#: gitk:2313 gitk:2315 gitk:4748
msgid "Exact"
msgstr "英字の大小を区別する"
-#: gitk:2101 gitk:4448 gitk:6249
+#: gitk:2315 gitk:4836 gitk:6704
msgid "IgnCase"
msgstr "英字の大小を区別しない"
-#: gitk:2101 gitk:4342 gitk:4446 gitk:6245
+#: gitk:2315 gitk:4718 gitk:4834 gitk:6700
msgid "Regexp"
msgstr "正規表現"
-#: gitk:2103 gitk:2104 gitk:4467 gitk:4497 gitk:4504 gitk:6373 gitk:6441
+#: gitk:2317 gitk:2318 gitk:4856 gitk:4886 gitk:4893 gitk:6829 gitk:6897
msgid "All fields"
msgstr "全ての項目"
-#: gitk:2104 gitk:4465 gitk:4497 gitk:6312
+#: gitk:2318 gitk:4853 gitk:4886 gitk:6767
msgid "Headline"
msgstr "ヘッドライン"
-#: gitk:2105 gitk:4465 gitk:6312 gitk:6441 gitk:6875
+#: gitk:2319 gitk:4853 gitk:6767 gitk:6897 gitk:7370
msgid "Comments"
msgstr "コメント"
-#: gitk:2105 gitk:4465 gitk:4469 gitk:4504 gitk:6312 gitk:6810 gitk:8091
-#: gitk:8106
+#: gitk:2319 gitk:4853 gitk:4858 gitk:4893 gitk:6767 gitk:7305 gitk:8811
+#: gitk:8826
msgid "Author"
msgstr "作者"
-#: gitk:2105 gitk:4465 gitk:6312 gitk:6812
+#: gitk:2319 gitk:4853 gitk:6767 gitk:7307
msgid "Committer"
msgstr "コミット者"
-#: gitk:2134
+#: gitk:2350
msgid "Search"
msgstr "検索"
-#: gitk:2141
+#: gitk:2358
msgid "Diff"
msgstr "Diff"
-#: gitk:2143
+#: gitk:2360
msgid "Old version"
msgstr "旧バージョン"
-#: gitk:2145
+#: gitk:2362
msgid "New version"
msgstr "新バージョン"
-#: gitk:2147
+#: gitk:2364
msgid "Lines of context"
msgstr "文脈行数"
-#: gitk:2157
+#: gitk:2374
msgid "Ignore space change"
msgstr "空白の違いを無視"
-#: gitk:2215
+#: gitk:2378 gitk:2380 gitk:7940 gitk:8187
+msgid "Line diff"
+msgstr ""
+
+#: gitk:2445
msgid "Patch"
msgstr "パッチ"
-#: gitk:2217
+#: gitk:2447
msgid "Tree"
msgstr "ツリー"
-#: gitk:2361 gitk:2378
+#: gitk:2616 gitk:2636
msgid "Diff this -> selected"
msgstr "これと選択したコミットのdiffを見る"
-#: gitk:2362 gitk:2379
+#: gitk:2617 gitk:2637
msgid "Diff selected -> this"
msgstr "選択したコミットとこれのdiffを見る"
-#: gitk:2363 gitk:2380
+#: gitk:2618 gitk:2638
msgid "Make patch"
msgstr "パッチ作成"
-#: gitk:2364 gitk:8497
+#: gitk:2619 gitk:9235
msgid "Create tag"
msgstr "タグ生成"
-#: gitk:2365 gitk:8603
+#: gitk:2620 gitk:9352
msgid "Write commit to file"
msgstr "コミットをファイルに書き出す"
-#: gitk:2366 gitk:8660
+#: gitk:2621 gitk:9409
msgid "Create new branch"
msgstr "新規ブランチ生成"
-#: gitk:2367
+#: gitk:2622
msgid "Cherry-pick this commit"
msgstr "このコミットをチェリーピックする"
-#: gitk:2368
+#: gitk:2623
msgid "Reset HEAD branch to here"
msgstr "ブランチのHEADをここにリセットする"
-#: gitk:2369
+#: gitk:2624
msgid "Mark this commit"
msgstr "このコミットにマークをつける"
-#: gitk:2370
+#: gitk:2625
msgid "Return to mark"
msgstr "マークを付けた所に戻る"
-#: gitk:2371
+#: gitk:2626
msgid "Find descendant of this and mark"
msgstr "これとマークをつけた所との子孫を見つける"
-#: gitk:2372
+#: gitk:2627
msgid "Compare with marked commit"
msgstr "マークを付けたコミットと比較する"
-#: gitk:2386
+#: gitk:2628 gitk:2639
+#, fuzzy
+msgid "Diff this -> marked commit"
+msgstr "これと選択したコミットのdiffを見る"
+
+#: gitk:2629 gitk:2640
+#, fuzzy
+msgid "Diff marked commit -> this"
+msgstr "選択したコミットとこれのdiffを見る"
+
+#: gitk:2630
+#, fuzzy
+msgid "Revert this commit"
+msgstr "このコミットにマークをつける"
+
+#: gitk:2646
msgid "Check out this branch"
msgstr "このブランチをチェックアウトする"
-#: gitk:2387
+#: gitk:2647
msgid "Remove this branch"
msgstr "このブランチを除去する"
-#: gitk:2394
+#: gitk:2654
msgid "Highlight this too"
msgstr "これもハイライトさせる"
-#: gitk:2395
+#: gitk:2655
msgid "Highlight this only"
msgstr "これだけをハイライトさせる"
-#: gitk:2396
+#: gitk:2656
msgid "External diff"
msgstr "外部diffツール"
-#: gitk:2397
+#: gitk:2657
msgid "Blame parent commit"
msgstr "親コミットから blame をかける"
-#: gitk:2404
+#: gitk:2664
msgid "Show origin of this line"
msgstr "この行の出自を表示する"
-#: gitk:2405
+#: gitk:2665
msgid "Run git gui blame on this line"
msgstr "この行に git gui で blame をかける"
-#: gitk:2658
+#: gitk:3011
+#, fuzzy
msgid ""
"\n"
"Gitk - a commit viewer for git\n"
"\n"
-"Copyright \\u00a9 2005-2010 Paul Mackerras\n"
+"Copyright © 2005-2014 Paul Mackerras\n"
"\n"
"Use and redistribute under the terms of the GNU General Public License"
msgstr ""
@@ -346,297 +371,315 @@ msgstr ""
"\n"
"使用および再配布は GNU General Public License に従ってください"
-#: gitk:2666 gitk:2728 gitk:9025
+#: gitk:3019 gitk:3085 gitk:9836
msgid "Close"
msgstr "閉じる"
-#: gitk:2685
+#: gitk:3040
msgid "Gitk key bindings"
msgstr "Gitk キーバインディング"
-#: gitk:2688
+#: gitk:3043
msgid "Gitk key bindings:"
msgstr "Gitk キーバインディング:"
-#: gitk:2690
+#: gitk:3045
#, tcl-format
msgid "<%s-Q>\t\tQuit"
msgstr "<%s-Q>\t\t終了"
-#: gitk:2691
+#: gitk:3046
+#, fuzzy, tcl-format
+msgid "<%s-W>\t\tClose window"
+msgstr "<%s-F>\t\t検索"
+
+#: gitk:3047
msgid "<Home>\t\tMove to first commit"
msgstr "<Home>\t\t最初のコミットに移動"
-#: gitk:2692
+#: gitk:3048
msgid "<End>\t\tMove to last commit"
msgstr "<End>\t\t最後のコミットに移動"
-#: gitk:2693
-msgid "<Up>, p, i\tMove up one commit"
+#: gitk:3049
+#, fuzzy
+msgid "<Up>, p, k\tMove up one commit"
msgstr "<Up>, p, i\t一つ上のコミットに移動"
-#: gitk:2694
-msgid "<Down>, n, k\tMove down one commit"
+#: gitk:3050
+#, fuzzy
+msgid "<Down>, n, j\tMove down one commit"
msgstr "<Down>, n, k\t一つ下のコミットに移動"
-#: gitk:2695
-msgid "<Left>, z, j\tGo back in history list"
+#: gitk:3051
+#, fuzzy
+msgid "<Left>, z, h\tGo back in history list"
msgstr "<Left>, z, j\t履歴の前に戻る"
-#: gitk:2696
+#: gitk:3052
msgid "<Right>, x, l\tGo forward in history list"
msgstr "<Right>, x, l\t履歴の次へ進む"
-#: gitk:2697
+#: gitk:3053
+#, tcl-format
+msgid "<%s-n>\tGo to n-th parent of current commit in history list"
+msgstr ""
+
+#: gitk:3054
msgid "<PageUp>\tMove up one page in commit list"
msgstr "<PageUp>\tコミットリストの一つ上のページに移動"
-#: gitk:2698
+#: gitk:3055
msgid "<PageDown>\tMove down one page in commit list"
msgstr "<PageDown>\tコミットリストの一つ下のページに移動"
-#: gitk:2699
+#: gitk:3056
#, tcl-format
msgid "<%s-Home>\tScroll to top of commit list"
msgstr "<%s-Home>\tコミットリストの一番上にスクロールする"
-#: gitk:2700
+#: gitk:3057
#, tcl-format
msgid "<%s-End>\tScroll to bottom of commit list"
msgstr "<%s-End>\tコミットリストの一番下にスクロールする"
-#: gitk:2701
+#: gitk:3058
#, tcl-format
msgid "<%s-Up>\tScroll commit list up one line"
msgstr "<%s-Up>\tコミットリストの一つ下の行にスクロールする"
-#: gitk:2702
+#: gitk:3059
#, tcl-format
msgid "<%s-Down>\tScroll commit list down one line"
msgstr "<%s-Down>\tコミットリストの一つ下の行にスクロールする"
-#: gitk:2703
+#: gitk:3060
#, tcl-format
msgid "<%s-PageUp>\tScroll commit list up one page"
msgstr "<%s-PageUp>\tコミットリストの上のページにスクロールする"
-#: gitk:2704
+#: gitk:3061
#, tcl-format
msgid "<%s-PageDown>\tScroll commit list down one page"
msgstr "<%s-PageDown>\tコミットリストの下のページにスクロールする"
-#: gitk:2705
+#: gitk:3062
msgid "<Shift-Up>\tFind backwards (upwards, later commits)"
msgstr "<Shift-Up>\t後方を検索 (上方の・新しいコミット)"
-#: gitk:2706
+#: gitk:3063
msgid "<Shift-Down>\tFind forwards (downwards, earlier commits)"
msgstr "<Shift-Down>\t前方を検索(下方の・古いコミット)"
-#: gitk:2707
+#: gitk:3064
msgid "<Delete>, b\tScroll diff view up one page"
msgstr "<Delete>, b\tdiff画面を上のページにスクロールする"
-#: gitk:2708
+#: gitk:3065
msgid "<Backspace>\tScroll diff view up one page"
msgstr "<Backspace>\tdiff画面を上のページにスクロールする"
-#: gitk:2709
+#: gitk:3066
msgid "<Space>\t\tScroll diff view down one page"
msgstr "<Space>\t\tdiff画面を下のページにスクロールする"
-#: gitk:2710
+#: gitk:3067
msgid "u\t\tScroll diff view up 18 lines"
msgstr "u\t\tdiff画面を上に18行スクロールする"
-#: gitk:2711
+#: gitk:3068
msgid "d\t\tScroll diff view down 18 lines"
msgstr "d\t\tdiff画面を下に18行スクロールする"
-#: gitk:2712
+#: gitk:3069
#, tcl-format
msgid "<%s-F>\t\tFind"
msgstr "<%s-F>\t\t検索"
-#: gitk:2713
+#: gitk:3070
#, tcl-format
msgid "<%s-G>\t\tMove to next find hit"
msgstr "<%s-G>\t\t次を検索して移動"
-#: gitk:2714
+#: gitk:3071
msgid "<Return>\tMove to next find hit"
msgstr "<Return>\t次を検索して移動"
-#: gitk:2715
+#: gitk:3072
msgid "/\t\tFocus the search box"
msgstr "/\t\t検索ボックスにフォーカス"
-#: gitk:2716
+#: gitk:3073
msgid "?\t\tMove to previous find hit"
msgstr "?\t\t前を検索して移動"
-#: gitk:2717
+#: gitk:3074
msgid "f\t\tScroll diff view to next file"
msgstr "f\t\t次のファイルにdiff画面をスクロールする"
-#: gitk:2718
+#: gitk:3075
#, tcl-format
msgid "<%s-S>\t\tSearch for next hit in diff view"
msgstr "<%s-S>\t\tdiff画面の次を検索"
-#: gitk:2719
+#: gitk:3076
#, tcl-format
msgid "<%s-R>\t\tSearch for previous hit in diff view"
msgstr "<%s-R>\t\tdiff画面の前を検索"
-#: gitk:2720
+#: gitk:3077
#, tcl-format
msgid "<%s-KP+>\tIncrease font size"
msgstr "<%s-KP+>\t文字サイズを拡大"
-#: gitk:2721
+#: gitk:3078
#, tcl-format
msgid "<%s-plus>\tIncrease font size"
msgstr "<%s-plus>\t文字サイズを拡大"
-#: gitk:2722
+#: gitk:3079
#, tcl-format
msgid "<%s-KP->\tDecrease font size"
msgstr "<%s-KP->\t文字サイズを縮小"
-#: gitk:2723
+#: gitk:3080
#, tcl-format
msgid "<%s-minus>\tDecrease font size"
msgstr "<%s-minus>\t文字サイズを縮小"
-#: gitk:2724
+#: gitk:3081
msgid "<F5>\t\tUpdate"
msgstr "<F5>\t\t更新"
-#: gitk:3179 gitk:3188
+#: gitk:3546 gitk:3555
#, tcl-format
msgid "Error creating temporary directory %s:"
msgstr "一時ディレクトリ %s 生成時エラー:"
-#: gitk:3201
+#: gitk:3568
#, tcl-format
msgid "Error getting \"%s\" from %s:"
msgstr "\"%s\" のエラーが %s に発生:"
-#: gitk:3264
+#: gitk:3631
msgid "command failed:"
msgstr "コマンド失敗:"
-#: gitk:3410
+#: gitk:3780
msgid "No such commit"
msgstr "そのようなコミットはありません"
-#: gitk:3424
+#: gitk:3794
msgid "git gui blame: command failed:"
msgstr "git gui blame: コマンド失敗:"
-#: gitk:3455
+#: gitk:3825
#, tcl-format
msgid "Couldn't read merge head: %s"
msgstr "マージする HEAD を読み込めません: %s"
-#: gitk:3463
+#: gitk:3833
#, tcl-format
msgid "Error reading index: %s"
msgstr "インデックス読み込みエラー: %s"
-#: gitk:3488
+#: gitk:3858
#, tcl-format
msgid "Couldn't start git blame: %s"
msgstr "git blame を始められません: %s"
-#: gitk:3491 gitk:6280
+#: gitk:3861 gitk:6735
msgid "Searching"
msgstr "検索中"
-#: gitk:3523
+#: gitk:3893
#, tcl-format
msgid "Error running git blame: %s"
msgstr "git blame 実行エラー: %s"
-#: gitk:3551
+#: gitk:3921
#, tcl-format
msgid "That line comes from commit %s, which is not in this view"
msgstr "コミット %s に由来するその行は、このビューに表示されていません"
-#: gitk:3565
+#: gitk:3935
msgid "External diff viewer failed:"
msgstr "外部diffビューアが失敗:"
-#: gitk:3683
+#: gitk:4053
msgid "Gitk view definition"
msgstr "Gitk ビュー定義"
-#: gitk:3687
+#: gitk:4057
msgid "Remember this view"
msgstr "このビューを記憶する"
-#: gitk:3688
+#: gitk:4058
msgid "References (space separated list):"
msgstr "リファレンス(スペース区切りのリスト):"
-#: gitk:3689
+#: gitk:4059
msgid "Branches & tags:"
msgstr "ブランチ&タグ:"
-#: gitk:3690
+#: gitk:4060
msgid "All refs"
msgstr "全てのリファレンス"
-#: gitk:3691
+#: gitk:4061
msgid "All (local) branches"
msgstr "全ての(ローカルな)ブランチ"
-#: gitk:3692
+#: gitk:4062
msgid "All tags"
msgstr "全てのタグ"
-#: gitk:3693
+#: gitk:4063
msgid "All remote-tracking branches"
msgstr "全てのリモート追跡ブランチ"
-#: gitk:3694
+#: gitk:4064
msgid "Commit Info (regular expressions):"
msgstr "コミット情報(正規表現):"
-#: gitk:3695
+#: gitk:4065
msgid "Author:"
msgstr "作者:"
-#: gitk:3696
+#: gitk:4066
msgid "Committer:"
msgstr "コミット者:"
-#: gitk:3697
+#: gitk:4067
msgid "Commit Message:"
msgstr "コミットメッセージ:"
-#: gitk:3698
+#: gitk:4068
msgid "Matches all Commit Info criteria"
msgstr "コミット情報の全ての条件に一致"
-#: gitk:3699
+#: gitk:4069
+#, fuzzy
+msgid "Matches none Commit Info criteria"
+msgstr "コミット情報の全ての条件に一致"
+
+#: gitk:4070
msgid "Changes to Files:"
msgstr "変更したファイル:"
-#: gitk:3700
+#: gitk:4071
msgid "Fixed String"
msgstr "固定文字列"
-#: gitk:3701
+#: gitk:4072
msgid "Regular Expression"
msgstr "正規表現"
-#: gitk:3702
+#: gitk:4073
msgid "Search string:"
msgstr "検索文字列:"
-#: gitk:3703
+#: gitk:4074
msgid ""
"Commit Dates (\"2 weeks ago\", \"2009-03-17 15:27:38\", \"March 17, 2009 "
"15:27:38\"):"
@@ -644,205 +687,202 @@ msgstr ""
"コミット日時 (\"2 weeks ago\", \"2009-03-17 15:27:38\", \"March 17, 2009 "
"15:27:38\"):"
-#: gitk:3704
+#: gitk:4075
msgid "Since:"
msgstr "期間の始め:"
-#: gitk:3705
+#: gitk:4076
msgid "Until:"
msgstr "期間の終わり:"
-#: gitk:3706
+#: gitk:4077
msgid "Limit and/or skip a number of revisions (positive integer):"
msgstr "制限・省略するリビジョンの数(正の整数):"
-#: gitk:3707
+#: gitk:4078
msgid "Number to show:"
msgstr "表示する数:"
-#: gitk:3708
+#: gitk:4079
msgid "Number to skip:"
msgstr "省略する数:"
-#: gitk:3709
+#: gitk:4080
msgid "Miscellaneous options:"
msgstr "その他のオプション:"
-#: gitk:3710
+#: gitk:4081
msgid "Strictly sort by date"
msgstr "厳密に日付順で並び替え"
-#: gitk:3711
+#: gitk:4082
msgid "Mark branch sides"
msgstr "側枝マーク"
-#: gitk:3712
+#: gitk:4083
msgid "Limit to first parent"
msgstr "最初の親に制限"
-#: gitk:3713
+#: gitk:4084
msgid "Simple history"
msgstr "簡易な履歴"
-#: gitk:3714
+#: gitk:4085
msgid "Additional arguments to git log:"
msgstr "git log への追加の引数:"
-#: gitk:3715
+#: gitk:4086
msgid "Enter files and directories to include, one per line:"
msgstr "含まれるファイル・ディレクトリを一行ごとに入力:"
-#: gitk:3716
+#: gitk:4087
msgid "Command to generate more commits to include:"
msgstr "コミット追加コマンド:"
-#: gitk:3838
+#: gitk:4211
msgid "Gitk: edit view"
msgstr "Gitk: ビュー編集"
-#: gitk:3846
+#: gitk:4219
msgid "-- criteria for selecting revisions"
msgstr "― リビジョンの選択条件"
-#: gitk:3851
-msgid "View Name:"
+#: gitk:4224
+#, fuzzy
+msgid "View Name"
msgstr "ビュー名:"
-#: gitk:3926
+#: gitk:4299
msgid "Apply (F5)"
msgstr "適用 (F5)"
-#: gitk:3964
+#: gitk:4337
msgid "Error in commit selection arguments:"
msgstr "コミット選択引数のエラー:"
-#: gitk:4017 gitk:4069 gitk:4517 gitk:4531 gitk:5792 gitk:11263 gitk:11264
+#: gitk:4392 gitk:4445 gitk:4906 gitk:4920 gitk:6190 gitk:12346 gitk:12347
msgid "None"
msgstr "無し"
-#: gitk:4465 gitk:6312 gitk:8093 gitk:8108
-msgid "Date"
-msgstr "日付"
-
-#: gitk:4465 gitk:6312
-msgid "CDate"
-msgstr "作成日"
-
-#: gitk:4614 gitk:4619
+#: gitk:5003 gitk:5008
msgid "Descendant"
msgstr "子孫"
-#: gitk:4615
+#: gitk:5004
msgid "Not descendant"
msgstr "非子孫"
-#: gitk:4622 gitk:4627
+#: gitk:5011 gitk:5016
msgid "Ancestor"
msgstr "祖先"
-#: gitk:4623
+#: gitk:5012
msgid "Not ancestor"
msgstr "非祖先"
-#: gitk:4913
+#: gitk:5306
msgid "Local changes checked in to index but not committed"
msgstr "ステージされた、コミット前のローカルな変更"
-#: gitk:4949
+#: gitk:5342
msgid "Local uncommitted changes, not checked in to index"
msgstr "ステージされていない、コミット前のローカルな変更"
-#: gitk:6630
+#: gitk:7115
+msgid "and many more"
+msgstr ""
+
+#: gitk:7118
msgid "many"
msgstr "多数"
-#: gitk:6814
+#: gitk:7309
msgid "Tags:"
msgstr "タグ:"
-#: gitk:6831 gitk:6837 gitk:8086
+#: gitk:7326 gitk:7332 gitk:8806
msgid "Parent"
msgstr "親"
-#: gitk:6842
+#: gitk:7337
msgid "Child"
msgstr "子"
-#: gitk:6851
+#: gitk:7346
msgid "Branch"
msgstr "ブランチ"
-#: gitk:6854
+#: gitk:7349
msgid "Follows"
msgstr "下位"
-#: gitk:6857
+#: gitk:7352
msgid "Precedes"
msgstr "上位"
-#: gitk:7359
+#: gitk:7947
#, tcl-format
msgid "Error getting diffs: %s"
msgstr "diff取得エラー: %s"
-#: gitk:7914
+#: gitk:8631
msgid "Goto:"
msgstr "Goto:"
-#: gitk:7916
-msgid "SHA1 ID:"
-msgstr "SHA1 ID:"
-
-#: gitk:7935
+#: gitk:8652
#, tcl-format
msgid "Short SHA1 id %s is ambiguous"
msgstr "%s を含む SHA1 ID は複数存在します"
-#: gitk:7942
+#: gitk:8659
#, tcl-format
msgid "Revision %s is not known"
msgstr "リビジョン %s は不明です"
-#: gitk:7952
+#: gitk:8669
#, tcl-format
msgid "SHA1 id %s is not known"
msgstr "SHA1 id %s は不明です"
-#: gitk:7954
+#: gitk:8671
#, tcl-format
msgid "Revision %s is not in the current view"
msgstr "リビジョン %s は現在のビューにはありません"
-#: gitk:8096
+#: gitk:8813 gitk:8828
+msgid "Date"
+msgstr "日付"
+
+#: gitk:8816
msgid "Children"
msgstr "子"
-#: gitk:8153
+#: gitk:8879
#, tcl-format
msgid "Reset %s branch to here"
msgstr "%s ブランチをここにリセットする"
-#: gitk:8155
+#: gitk:8881
msgid "Detached head: can't reset"
msgstr "切り離されたHEAD: リセットできません"
-#: gitk:8264 gitk:8270
+#: gitk:8986 gitk:8992
msgid "Skipping merge commit "
msgstr "コミットマージをスキップ: "
-#: gitk:8279 gitk:8284
+#: gitk:9001 gitk:9006
msgid "Error getting patch ID for "
msgstr "パッチ取得エラー: ID "
-#: gitk:8280 gitk:8285
+#: gitk:9002 gitk:9007
msgid " - stopping\n"
msgstr " - 停止\n"
-#: gitk:8290 gitk:8293 gitk:8301 gitk:8314 gitk:8323
+#: gitk:9012 gitk:9015 gitk:9023 gitk:9037 gitk:9046
msgid "Commit "
msgstr "コミット "
-#: gitk:8294
+#: gitk:9016
msgid ""
" is the same patch as\n"
" "
@@ -850,7 +890,7 @@ msgstr ""
" は下記のパッチと同等\n"
" "
-#: gitk:8302
+#: gitk:9024
msgid ""
" differs from\n"
" "
@@ -858,7 +898,7 @@ msgstr ""
" 下記からのdiff\n"
" "
-#: gitk:8304
+#: gitk:9026
msgid ""
"Diff of commits:\n"
"\n"
@@ -866,122 +906,131 @@ msgstr ""
"コミットのdiff:\n"
"\n"
-#: gitk:8315 gitk:8324
+#: gitk:9038 gitk:9047
#, tcl-format
msgid " has %s children - stopping\n"
msgstr " には %s の子があります - 停止\n"
-#: gitk:8344
+#: gitk:9066
#, tcl-format
msgid "Error writing commit to file: %s"
msgstr "ファイルへのコミット書き出しエラー: %s"
-#: gitk:8350
+#: gitk:9072
#, tcl-format
msgid "Error diffing commits: %s"
msgstr "コミットのdiff実行エラー: %s"
-#: gitk:8380
+#: gitk:9118
msgid "Top"
msgstr "Top"
-#: gitk:8381
+#: gitk:9119
msgid "From"
msgstr "From"
-#: gitk:8386
+#: gitk:9124
msgid "To"
msgstr "To"
-#: gitk:8410
+#: gitk:9148
msgid "Generate patch"
msgstr "パッチ生成"
-#: gitk:8412
+#: gitk:9150
msgid "From:"
msgstr "From:"
-#: gitk:8421
+#: gitk:9159
msgid "To:"
msgstr "To:"
-#: gitk:8430
+#: gitk:9168
msgid "Reverse"
msgstr "逆"
-#: gitk:8432 gitk:8617
+#: gitk:9170 gitk:9366
msgid "Output file:"
msgstr "出力ファイル:"
-#: gitk:8438
+#: gitk:9176
msgid "Generate"
msgstr "生成"
-#: gitk:8476
+#: gitk:9214
msgid "Error creating patch:"
msgstr "パッチ生成エラー:"
-#: gitk:8499 gitk:8605 gitk:8662
+#: gitk:9237 gitk:9354 gitk:9411
msgid "ID:"
msgstr "ID:"
-#: gitk:8508
+#: gitk:9246
msgid "Tag name:"
msgstr "タグ名:"
-#: gitk:8512 gitk:8671
+#: gitk:9249
+msgid "Tag message is optional"
+msgstr ""
+
+#: gitk:9251
+#, fuzzy
+msgid "Tag message:"
+msgstr "タグ名:"
+
+#: gitk:9255 gitk:9420
msgid "Create"
msgstr "生成"
-#: gitk:8529
+#: gitk:9273
msgid "No tag name specified"
msgstr "タグの名称が指定されていません"
-#: gitk:8533
+#: gitk:9277
#, tcl-format
msgid "Tag \"%s\" already exists"
msgstr "タグ \"%s\" は既に存在します"
-#: gitk:8539
+#: gitk:9287
msgid "Error creating tag:"
msgstr "タグ生成エラー:"
-#: gitk:8614
+#: gitk:9363
msgid "Command:"
msgstr "コマンド:"
-#: gitk:8622
+#: gitk:9371
msgid "Write"
msgstr "書き出し"
-#: gitk:8640
+#: gitk:9389
msgid "Error writing commit:"
msgstr "コミット書き出しエラー:"
-#: gitk:8667
+#: gitk:9416
msgid "Name:"
msgstr "名前:"
-#: gitk:8690
+#: gitk:9439
msgid "Please specify a name for the new branch"
msgstr "新しいブランチの名前を指定してください"
-#: gitk:8695
+#: gitk:9444
#, tcl-format
msgid "Branch '%s' already exists. Overwrite?"
msgstr "ブランチ '%s' は既に存在します。上書きしますか?"
-#: gitk:8761
+#: gitk:9511
#, tcl-format
msgid "Commit %s is already included in branch %s -- really re-apply it?"
msgstr ""
"コミット %s は既にブランチ %s に含まれています ― 本当にこれを再適用しますか?"
-#: gitk:8766
+#: gitk:9516
msgid "Cherry-picking"
msgstr "チェリーピック中"
-#: gitk:8775
+#: gitk:9525
#, tcl-format
msgid ""
"Cherry-pick failed because of local changes to file '%s'.\n"
@@ -991,7 +1040,7 @@ msgstr ""
"あなたの変更に commit, reset, stash のいずれかを行ってからやり直してくださ"
"い。"
-#: gitk:8781
+#: gitk:9531
msgid ""
"Cherry-pick failed because of merge conflict.\n"
"Do you wish to run git citool to resolve it?"
@@ -999,32 +1048,62 @@ msgstr ""
"マージの衝突によってチェリーピックは失敗しました。\n"
"この解決のために git citool を実行したいですか?"
-#: gitk:8797
+#: gitk:9547 gitk:9605
msgid "No changes committed"
msgstr "何の変更もコミットされていません"
-#: gitk:8823
+#: gitk:9574
+#, fuzzy, tcl-format
+msgid "Commit %s is not included in branch %s -- really revert it?"
+msgstr ""
+"コミット %s は既にブランチ %s に含まれています ― 本当にこれを再適用しますか?"
+
+#: gitk:9579
+#, fuzzy
+msgid "Reverting"
+msgstr "リセット中"
+
+#: gitk:9587
+#, fuzzy, tcl-format
+msgid ""
+"Revert failed because of local changes to the following files:%s Please "
+"commit, reset or stash your changes and try again."
+msgstr ""
+"ファイル '%s' のローカルな変更のためにチェリーピックは失敗しました。\n"
+"あなたの変更に commit, reset, stash のいずれかを行ってからやり直してくださ"
+"い。"
+
+#: gitk:9591
+#, fuzzy
+msgid ""
+"Revert failed because of merge conflict.\n"
+" Do you wish to run git citool to resolve it?"
+msgstr ""
+"マージの衝突によってチェリーピックは失敗しました。\n"
+"この解決のために git citool を実行したいですか?"
+
+#: gitk:9634
msgid "Confirm reset"
msgstr "確認を取り消す"
-#: gitk:8825
+#: gitk:9636
#, tcl-format
msgid "Reset branch %s to %s?"
msgstr "ブランチ %s を %s にリセットしますか?"
-#: gitk:8829
+#: gitk:9638
msgid "Reset type:"
msgstr "Reset タイプ:"
-#: gitk:8833
+#: gitk:9641
msgid "Soft: Leave working tree and index untouched"
msgstr "Soft: 作業ツリーもインデックスもそのままにする"
-#: gitk:8836
+#: gitk:9644
msgid "Mixed: Leave working tree untouched, reset index"
msgstr "Mixed: 作業ツリーをそのままにして、インデックスをリセット"
-#: gitk:8839
+#: gitk:9647
msgid ""
"Hard: Reset working tree and index\n"
"(discard ALL local changes)"
@@ -1032,19 +1111,19 @@ msgstr ""
"Hard: 作業ツリーやインデックスをリセット\n"
"(「全ての」ローカルな変更を破棄)"
-#: gitk:8856
+#: gitk:9664
msgid "Resetting"
msgstr "リセット中"
-#: gitk:8913
+#: gitk:9724
msgid "Checking out"
msgstr "チェックアウト"
-#: gitk:8966
+#: gitk:9777
msgid "Cannot delete the currently checked-out branch"
msgstr "現在チェックアウトされているブランチを削除することはできません"
-#: gitk:8972
+#: gitk:9783
#, tcl-format
msgid ""
"The commits on branch %s aren't on any other branch.\n"
@@ -1053,16 +1132,16 @@ msgstr ""
"ブランチ %s には他のブランチに存在しないコミットがあります。\n"
"本当にブランチ %s を削除しますか?"
-#: gitk:9003
+#: gitk:9814
#, tcl-format
msgid "Tags and heads: %s"
msgstr "タグとHEAD: %s"
-#: gitk:9018
+#: gitk:9829
msgid "Filter"
msgstr "フィルター"
-#: gitk:9313
+#: gitk:10125
msgid ""
"Error reading commit topology information; branch and preceding/following "
"tag information will be incomplete."
@@ -1070,186 +1149,232 @@ msgstr ""
"コミット構造情報読み込みエラー; ブランチ及び上位/下位のタグ情報が不完全である"
"ようです。"
-#: gitk:10299
+#: gitk:11102
msgid "Tag"
msgstr "タグ"
-#: gitk:10299
+#: gitk:11106
msgid "Id"
msgstr "ID"
-#: gitk:10347
+#: gitk:11189
msgid "Gitk font chooser"
msgstr "Gitk フォント選択"
-#: gitk:10364
+#: gitk:11206
msgid "B"
msgstr "B"
-#: gitk:10367
+#: gitk:11209
msgid "I"
msgstr "I"
-#: gitk:10463
-msgid "Gitk preferences"
-msgstr "Gitk 設定"
-
-#: gitk:10465
+#: gitk:11327
msgid "Commit list display options"
msgstr "コミットリスト表示オプション"
-#: gitk:10468
+#: gitk:11330
msgid "Maximum graph width (lines)"
msgstr "最大グラフ幅(線の本数)"
-#: gitk:10472
-#, tcl-format
+#: gitk:11334
+#, no-tcl-format
msgid "Maximum graph width (% of pane)"
msgstr "最大グラフ幅(ペインに対する%)"
-#: gitk:10476
+#: gitk:11337
msgid "Show local changes"
msgstr "ローカルな変更を表示"
-#: gitk:10479
-msgid "Auto-select SHA1"
+#: gitk:11340
+#, fuzzy
+msgid "Auto-select SHA1 (length)"
msgstr "SHA1 の自動選択"
-#: gitk:10483
+#: gitk:11344
+msgid "Hide remote refs"
+msgstr "リモートリファレンスを隠す"
+
+#: gitk:11348
msgid "Diff display options"
msgstr "diff表示オプション"
-#: gitk:10485
+#: gitk:11350
msgid "Tab spacing"
msgstr "タブ空白幅"
-#: gitk:10488
-msgid "Display nearby tags"
+#: gitk:11353
+#, fuzzy
+msgid "Display nearby tags/heads"
msgstr "近くのタグを表示する"
-#: gitk:10491
-msgid "Hide remote refs"
-msgstr "リモートリファレンスを隠す"
+#: gitk:11356
+msgid "Maximum # tags/heads to show"
+msgstr ""
-#: gitk:10494
+#: gitk:11359
msgid "Limit diffs to listed paths"
msgstr "diff をリストのパスに制限"
-#: gitk:10497
+#: gitk:11362
msgid "Support per-file encodings"
msgstr "ファイルごとのエンコーディングのサポート"
-#: gitk:10503 gitk:10572
+#: gitk:11368 gitk:11515
msgid "External diff tool"
msgstr "外部diffツール"
-#: gitk:10505
+#: gitk:11369
msgid "Choose..."
msgstr "選択..."
-#: gitk:10510
+#: gitk:11374
+#, fuzzy
+msgid "General options"
+msgstr "パッチ生成"
+
+#: gitk:11377
+msgid "Use themed widgets"
+msgstr ""
+
+#: gitk:11379
+msgid "(change requires restart)"
+msgstr ""
+
+#: gitk:11381
+msgid "(currently unavailable)"
+msgstr ""
+
+#: gitk:11392
msgid "Colors: press to choose"
msgstr "色: ボタンを押して選択"
-#: gitk:10513
+#: gitk:11395
msgid "Interface"
msgstr "インターフェイス"
-#: gitk:10514
+#: gitk:11396
msgid "interface"
msgstr "インターフェイス"
-#: gitk:10517
+#: gitk:11399
msgid "Background"
msgstr "背景"
-#: gitk:10518 gitk:10548
+#: gitk:11400 gitk:11430
msgid "background"
msgstr "背景"
-#: gitk:10521
+#: gitk:11403
msgid "Foreground"
msgstr "前景"
-#: gitk:10522
+#: gitk:11404
msgid "foreground"
msgstr "前景"
-#: gitk:10525
+#: gitk:11407
msgid "Diff: old lines"
msgstr "Diff: 旧バージョン"
-#: gitk:10526
+#: gitk:11408
msgid "diff old lines"
msgstr "diff 旧バージョン"
-#: gitk:10530
+#: gitk:11412
msgid "Diff: new lines"
msgstr "Diff: 新バージョン"
-#: gitk:10531
+#: gitk:11413
msgid "diff new lines"
msgstr "diff 新バージョン"
-#: gitk:10535
+#: gitk:11417
msgid "Diff: hunk header"
msgstr "Diff: hunkヘッダ"
-#: gitk:10537
+#: gitk:11419
msgid "diff hunk header"
msgstr "diff hunkヘッダ"
-#: gitk:10541
+#: gitk:11423
msgid "Marked line bg"
msgstr "マーク行の背景"
-#: gitk:10543
+#: gitk:11425
msgid "marked line background"
msgstr "マーク行の背景"
-#: gitk:10547
+#: gitk:11429
msgid "Select bg"
msgstr "選択の背景"
-#: gitk:10551
+#: gitk:11438
msgid "Fonts: press to choose"
msgstr "フォント: ボタンを押して選択"
-#: gitk:10553
+#: gitk:11440
msgid "Main font"
msgstr "主フォント"
-#: gitk:10554
+#: gitk:11441
msgid "Diff display font"
msgstr "Diff表示用フォント"
-#: gitk:10555
+#: gitk:11442
msgid "User interface font"
msgstr "UI用フォント"
-#: gitk:10582
+#: gitk:11464
+msgid "Gitk preferences"
+msgstr "Gitk 設定"
+
+#: gitk:11473
+#, fuzzy
+msgid "General"
+msgstr "生成"
+
+#: gitk:11474
+msgid "Colors"
+msgstr ""
+
+#: gitk:11475
+msgid "Fonts"
+msgstr ""
+
+#: gitk:11525
#, tcl-format
msgid "Gitk: choose color for %s"
msgstr "Gitk: 「%s」 の色を選択"
-#: gitk:11168
+#: gitk:12242
msgid "Cannot find a git repository here."
msgstr "ここにはgitリポジトリがありません。"
-#: gitk:11172
-#, tcl-format
-msgid "Cannot find the git directory \"%s\"."
-msgstr "gitディレクトリ \"%s\" を見つけられません。"
-
-#: gitk:11219
+#: gitk:12289
#, tcl-format
msgid "Ambiguous argument '%s': both revision and filename"
msgstr "あいまいな引数 '%s': リビジョンとファイル名の両方に解釈できます"
-#: gitk:11231
+#: gitk:12301
msgid "Bad arguments to gitk:"
msgstr "gitkへの不正な引数:"
-#: gitk:11316
+#: gitk:12405
msgid "Command line"
msgstr "コマンド行"
+
+#~ msgid "SHA1 ID: "
+#~ msgstr "SHA1 ID: "
+
+#~ msgid "next"
+#~ msgstr "次"
+
+#~ msgid "prev"
+#~ msgstr "前"
+
+#~ msgid "CDate"
+#~ msgstr "作成日"
+
+#~ msgid "Cannot find the git directory \"%s\"."
+#~ msgstr "gitディレクトリ \"%s\" を見つけられません。"
diff --git a/gitk-git/po/pt_br.po b/gitk-git/po/pt_br.po
index 1486e3205a..80d24bcad8 100644
--- a/gitk-git/po/pt_br.po
+++ b/gitk-git/po/pt_br.po
@@ -9,33 +9,42 @@ msgid ""
msgstr ""
"Project-Id-Version: gitk\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-01-26 15:47-0800\n"
+"POT-Creation-Date: 2015-03-15 14:37+1100\n"
"PO-Revision-Date: 2010-12-06 23:39-0200\n"
"Last-Translator: Alexandre Erwin Ittner <alexandre@ittner.com.br>\n"
"Language-Team: Brazilian Portuguese <>\n"
+"Language: pt_BR\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-#: gitk:115
+#: gitk:140
msgid "Couldn't get list of unmerged files:"
msgstr "Não foi possível obter a lista dos arquivos não mesclados:"
-#: gitk:274
+#: gitk:212 gitk:2381
+msgid "Color words"
+msgstr ""
+
+#: gitk:217 gitk:2381 gitk:8201 gitk:8234
+msgid "Markup words"
+msgstr ""
+
+#: gitk:324
msgid "Error parsing revisions:"
msgstr "Erro ao interpretar revisões:"
-#: gitk:330
+#: gitk:380
msgid "Error executing --argscmd command:"
msgstr "Erro ao executar o comando--argscmd:"
-#: gitk:343
+#: gitk:393
msgid "No files selected: --merge specified but no files are unmerged."
msgstr ""
"Nenhum arquivo foi selecionado: --merge especificado mas não há arquivos não-"
"mesclados."
-#: gitk:346
+#: gitk:396
msgid ""
"No files selected: --merge specified but no unmerged files are within file "
"limit."
@@ -43,603 +52,634 @@ msgstr ""
"Nenhum arquivo foi selecionado: --merge especificado mas não há arquivos não-"
"mesclados dentro dos limites."
-#: gitk:368 gitk:516
+#: gitk:418 gitk:566
msgid "Error executing git log:"
msgstr "Erro ao executar git log:"
-#: gitk:386 gitk:532
+#: gitk:436 gitk:582
msgid "Reading"
msgstr "Lendo"
-#: gitk:446 gitk:4271
+#: gitk:496 gitk:4508
msgid "Reading commits..."
msgstr "Lendo revisões..."
-#: gitk:449 gitk:1580 gitk:4274
+#: gitk:499 gitk:1637 gitk:4511
msgid "No commits selected"
msgstr "Nenhuma revisão foi selecionada"
-#: gitk:1456
+#: gitk:1511
msgid "Can't parse git log output:"
msgstr "Não foi possível interpretar a saída do \"git log\":"
-#: gitk:1676
+#: gitk:1740
msgid "No commit information available"
msgstr "Não há informações disponíveis sobre a revisão"
-#: gitk:1818
+#: gitk:1897
msgid "mc"
msgstr "mc"
-#: gitk:1853 gitk:4064 gitk:9067 gitk:10607 gitk:10817
+#: gitk:1932 gitk:4298 gitk:9650 gitk:11220 gitk:11500
msgid "OK"
msgstr "Ok"
-#: gitk:1855 gitk:4066 gitk:8657 gitk:8736 gitk:8851 gitk:8900 gitk:9069
-#: gitk:10608 gitk:10818
+#: gitk:1934 gitk:4300 gitk:9177 gitk:9256 gitk:9372 gitk:9421 gitk:9652
+#: gitk:11221 gitk:11501
msgid "Cancel"
msgstr "Cancelar"
-#: gitk:1980
+#: gitk:2069
msgid "Update"
msgstr "Atualizar"
-#: gitk:1981
+#: gitk:2070
msgid "Reload"
msgstr "Recarregar"
-#: gitk:1982
+#: gitk:2071
msgid "Reread references"
msgstr "Ler as referências novamente"
-#: gitk:1983
+#: gitk:2072
msgid "List references"
msgstr "Listar referências"
-#: gitk:1985
+#: gitk:2074
msgid "Start git gui"
msgstr "Iniciar Git GUI"
-#: gitk:1987
+#: gitk:2076
msgid "Quit"
msgstr "Sair"
-#: gitk:1979
+#: gitk:2068
msgid "File"
msgstr "Arquivo"
-#: gitk:1991
+#: gitk:2080
msgid "Preferences"
msgstr "Preferências"
-#: gitk:1990
+#: gitk:2079
msgid "Edit"
msgstr "Editar"
-#: gitk:1995
+#: gitk:2084
msgid "New view..."
msgstr "Nova vista..."
-#: gitk:1996
+#: gitk:2085
msgid "Edit view..."
msgstr "Editar vista..."
-#: gitk:1997
+#: gitk:2086
msgid "Delete view"
msgstr "Apagar vista"
-#: gitk:1999
+#: gitk:2088
msgid "All files"
msgstr "Todos os arquivos"
-#: gitk:1994 gitk:3817
+#: gitk:2083 gitk:4050
msgid "View"
msgstr "Exibir"
-#: gitk:2004 gitk:2014 gitk:2787
+#: gitk:2093 gitk:2103 gitk:3009
msgid "About gitk"
msgstr "Sobre o gitk"
-#: gitk:2005 gitk:2019
+#: gitk:2094 gitk:2108
msgid "Key bindings"
msgstr "Atalhos de teclado"
-#: gitk:2003 gitk:2018
+#: gitk:2092 gitk:2107
msgid "Help"
msgstr "Ajuda"
-#: gitk:2096 gitk:8132
+#: gitk:2185 gitk:8633
msgid "SHA1 ID:"
msgstr "SHA1 ID:"
-#: gitk:2127
+#: gitk:2229
msgid "Row"
msgstr "Linha"
-#: gitk:2165
+#: gitk:2267
msgid "Find"
msgstr "Encontrar"
-#: gitk:2166
-msgid "next"
-msgstr "Próximo"
-
-#: gitk:2167
-msgid "prev"
-msgstr "Anterior"
-
-#: gitk:2168
+#: gitk:2295
msgid "commit"
msgstr "Revisão"
-#: gitk:2171 gitk:2173 gitk:4432 gitk:4455 gitk:4479 gitk:6420 gitk:6492
-#: gitk:6576
+#: gitk:2299 gitk:2301 gitk:4669 gitk:4692 gitk:4716 gitk:6736 gitk:6808
+#: gitk:6893
msgid "containing:"
msgstr "contendo:"
-#: gitk:2174 gitk:3298 gitk:3303 gitk:4507
+#: gitk:2302 gitk:3522 gitk:3527 gitk:4745
msgid "touching paths:"
msgstr "envolvendo os caminhos:"
-#: gitk:2175 gitk:4512
+#: gitk:2303 gitk:4759
msgid "adding/removing string:"
msgstr "Adicionando/removendo texto:"
-#: gitk:2184 gitk:2186
+#: gitk:2304 gitk:4761
+msgid "changing lines matching:"
+msgstr ""
+
+#: gitk:2313 gitk:2315 gitk:4748
msgid "Exact"
msgstr "Exatamente"
-#: gitk:2186 gitk:4587 gitk:6388
+#: gitk:2315 gitk:4836 gitk:6704
msgid "IgnCase"
msgstr "Ignorar maiúsculas/minúsculas"
-#: gitk:2186 gitk:4481 gitk:4585 gitk:6384
+#: gitk:2315 gitk:4718 gitk:4834 gitk:6700
msgid "Regexp"
msgstr "Expressão regular"
-#: gitk:2188 gitk:2189 gitk:4606 gitk:4636 gitk:4643 gitk:6512 gitk:6580
+#: gitk:2317 gitk:2318 gitk:4856 gitk:4886 gitk:4893 gitk:6829 gitk:6897
msgid "All fields"
msgstr "Todos os campos"
-#: gitk:2189 gitk:4604 gitk:4636 gitk:6451
+#: gitk:2318 gitk:4853 gitk:4886 gitk:6767
msgid "Headline"
msgstr "Assunto"
-#: gitk:2190 gitk:4604 gitk:6451 gitk:6580 gitk:7013
+#: gitk:2319 gitk:4853 gitk:6767 gitk:6897 gitk:7370
msgid "Comments"
msgstr "Descrição da revisão"
-#: gitk:2190 gitk:4604 gitk:4608 gitk:4643 gitk:6451 gitk:6948 gitk:8307
-#: gitk:8322
+#: gitk:2319 gitk:4853 gitk:4858 gitk:4893 gitk:6767 gitk:7305 gitk:8811
+#: gitk:8826
msgid "Author"
msgstr "Autor"
-#: gitk:2190 gitk:4604 gitk:6451 gitk:6950
+#: gitk:2319 gitk:4853 gitk:6767 gitk:7307
msgid "Committer"
msgstr "Revisor"
-#: gitk:2221
+#: gitk:2350
msgid "Search"
msgstr "Buscar"
-#: gitk:2229
+#: gitk:2358
msgid "Diff"
msgstr "Diferenças"
-#: gitk:2231
+#: gitk:2360
msgid "Old version"
msgstr "Versão antiga"
-#: gitk:2233
+#: gitk:2362
msgid "New version"
msgstr "Versão nova"
-#: gitk:2235
+#: gitk:2364
msgid "Lines of context"
msgstr "Número de linhas de contexto"
-#: gitk:2245
+#: gitk:2374
msgid "Ignore space change"
msgstr "Ignorar mudanças de caixa"
-#: gitk:2304
+#: gitk:2378 gitk:2380 gitk:7940 gitk:8187
+msgid "Line diff"
+msgstr ""
+
+#: gitk:2445
msgid "Patch"
msgstr "Diferenças"
-#: gitk:2306
+#: gitk:2447
msgid "Tree"
msgstr "Árvore"
-#: gitk:2463 gitk:2480
+#: gitk:2616 gitk:2636
msgid "Diff this -> selected"
msgstr "Comparar esta revisão com a selecionada"
-#: gitk:2464 gitk:2481
+#: gitk:2617 gitk:2637
msgid "Diff selected -> this"
msgstr "Comparar a revisão selecionada com esta"
-#: gitk:2465 gitk:2482
+#: gitk:2618 gitk:2638
msgid "Make patch"
msgstr "Criar patch"
-#: gitk:2466 gitk:8715
+#: gitk:2619 gitk:9235
msgid "Create tag"
msgstr "Criar etiqueta"
-#: gitk:2467 gitk:8831
+#: gitk:2620 gitk:9352
msgid "Write commit to file"
msgstr "Salvar revisão para um arquivo"
-#: gitk:2468 gitk:8888
+#: gitk:2621 gitk:9409
msgid "Create new branch"
msgstr "Criar novo ramo"
-#: gitk:2469
+#: gitk:2622
msgid "Cherry-pick this commit"
msgstr "Fazer cherry-pick desta revisão"
-#: gitk:2470
+#: gitk:2623
msgid "Reset HEAD branch to here"
msgstr "Redefinir HEAD para cá"
-#: gitk:2471
+#: gitk:2624
msgid "Mark this commit"
msgstr "Marcar esta revisão"
-#: gitk:2472
+#: gitk:2625
msgid "Return to mark"
msgstr "Voltar à marca"
-#: gitk:2473
+#: gitk:2626
msgid "Find descendant of this and mark"
msgstr "Encontrar descendente e marcar"
-#: gitk:2474
+#: gitk:2627
msgid "Compare with marked commit"
msgstr "Comparar com a revisão marcada"
-#: gitk:2488
+#: gitk:2628 gitk:2639
+#, fuzzy
+msgid "Diff this -> marked commit"
+msgstr "Comparar esta revisão com a selecionada"
+
+#: gitk:2629 gitk:2640
+#, fuzzy
+msgid "Diff marked commit -> this"
+msgstr "Comparar a revisão selecionada com esta"
+
+#: gitk:2630
+#, fuzzy
+msgid "Revert this commit"
+msgstr "Marcar esta revisão"
+
+#: gitk:2646
msgid "Check out this branch"
msgstr "Efetuar checkout deste ramo"
-#: gitk:2489
+#: gitk:2647
msgid "Remove this branch"
msgstr "Excluir este ramo"
-#: gitk:2496
+#: gitk:2654
msgid "Highlight this too"
msgstr "Marcar este também"
-#: gitk:2497
+#: gitk:2655
msgid "Highlight this only"
msgstr "Marcar apenas este"
-#: gitk:2498
+#: gitk:2656
msgid "External diff"
msgstr "Diff externo"
-#: gitk:2499
+#: gitk:2657
msgid "Blame parent commit"
msgstr "Anotar revisão anterior"
-#: gitk:2506
+#: gitk:2664
msgid "Show origin of this line"
msgstr "Exibir origem desta linha"
-#: gitk:2507
+#: gitk:2665
msgid "Run git gui blame on this line"
msgstr "Executar 'git blame' nesta linha"
-#: gitk:2789
-msgid "\n"
+#: gitk:3011
+#, fuzzy
+msgid ""
+"\n"
"Gitk - a commit viewer for git\n"
"\n"
-"Copyright ©9 2005-2010 Paul Mackerras\n"
+"Copyright © 2005-2014 Paul Mackerras\n"
"\n"
"Use and redistribute under the terms of the GNU General Public License"
-msgstr "\n"
+msgstr ""
+"\n"
"Gitk - um visualizador de revisões para o git \n"
"\n"
"Copyright ©9 2005-2010 Paul Mackerras\n"
"\n"
"Uso e distribuição segundo os termos da Licença Pública Geral GNU"
-#: gitk:2797 gitk:2862 gitk:9253
+#: gitk:3019 gitk:3085 gitk:9836
msgid "Close"
msgstr "Fechar"
-#: gitk:2818
+#: gitk:3040
msgid "Gitk key bindings"
msgstr "Atalhos de teclado"
-#: gitk:2821
+#: gitk:3043
msgid "Gitk key bindings:"
msgstr "Atalhos de teclado:"
-#: gitk:2823
+#: gitk:3045
#, tcl-format
msgid "<%s-Q>\t\tQuit"
msgstr "<%s-Q>\t\tSair"
-#: gitk:2824
+#: gitk:3046
#, tcl-format
msgid "<%s-W>\t\tClose window"
msgstr "<%s-W>\t\tFechar janela"
-#: gitk:2825
+#: gitk:3047
msgid "<Home>\t\tMove to first commit"
msgstr "<Home>\t\tIr para a primeira revisão"
-#: gitk:2826
+#: gitk:3048
msgid "<End>\t\tMove to last commit"
msgstr "<End>\t\tIr para a última revisão"
-#: gitk:2827
-msgid "<Up>, p, i\tMove up one commit"
+#: gitk:3049
+#, fuzzy
+msgid "<Up>, p, k\tMove up one commit"
msgstr "<Up>, p, i\tIr para uma revisão acima"
-#: gitk:2828
-msgid "<Down>, n, k\tMove down one commit"
+#: gitk:3050
+#, fuzzy
+msgid "<Down>, n, j\tMove down one commit"
msgstr "<Down>, n, k\tIr para uma revisão abaixo"
-#: gitk:2829
-msgid "<Left>, z, j\tGo back in history list"
+#: gitk:3051
+#, fuzzy
+msgid "<Left>, z, h\tGo back in history list"
msgstr "<Left>, z, j\tVoltar no histórico"
-#: gitk:2830
+#: gitk:3052
msgid "<Right>, x, l\tGo forward in history list"
msgstr "<Right>, x, l\tAvançar no histórico"
-#: gitk:2831
+#: gitk:3053
+#, tcl-format
+msgid "<%s-n>\tGo to n-th parent of current commit in history list"
+msgstr ""
+
+#: gitk:3054
msgid "<PageUp>\tMove up one page in commit list"
msgstr "<PageUp>\tSubir uma página na lista de revisões"
-#: gitk:2832
+#: gitk:3055
msgid "<PageDown>\tMove down one page in commit list"
msgstr "<PageDown>\tDescer uma página na lista de revisões"
-#: gitk:2833
+#: gitk:3056
#, tcl-format
msgid "<%s-Home>\tScroll to top of commit list"
msgstr "<%s-Home>\tRolar para o início da lista de revisões"
-#: gitk:2834
+#: gitk:3057
#, tcl-format
msgid "<%s-End>\tScroll to bottom of commit list"
msgstr "<%s-End>\tRolar para o final da lista de revisões"
-#: gitk:2835
+#: gitk:3058
#, tcl-format
msgid "<%s-Up>\tScroll commit list up one line"
msgstr "<%s-Up>\tRolar uma linha acima na lista de revisões"
-#: gitk:2836
+#: gitk:3059
#, tcl-format
msgid "<%s-Down>\tScroll commit list down one line"
msgstr "<%s-Down>\tRolar uma linha abaixo na lista de revisões"
-#: gitk:2837
+#: gitk:3060
#, tcl-format
msgid "<%s-PageUp>\tScroll commit list up one page"
msgstr "<%s-PageUp>\tRolar uma página acima na lista de revisões"
-#: gitk:2838
+#: gitk:3061
#, tcl-format
msgid "<%s-PageDown>\tScroll commit list down one page"
msgstr "<%s-PageDown>\tRolar uma página abaixo na lista de revisões"
-#: gitk:2839
+#: gitk:3062
msgid "<Shift-Up>\tFind backwards (upwards, later commits)"
msgstr "<Shift-Up>\tProcurar próxima (revisões mas recentes)"
-#: gitk:2840
+#: gitk:3063
msgid "<Shift-Down>\tFind forwards (downwards, earlier commits)"
msgstr "<Shift-Down>\tProcurar anterior (revisões mais antigas)"
-#: gitk:2841
+#: gitk:3064
msgid "<Delete>, b\tScroll diff view up one page"
msgstr "<Delete>, b\tRola alterações uma página acima"
-#: gitk:2842
+#: gitk:3065
msgid "<Backspace>\tScroll diff view up one page"
msgstr "<Backspace>\tRolar alterações uma página abaixo"
-#: gitk:2843
+#: gitk:3066
msgid "<Space>\t\tScroll diff view down one page"
msgstr "<Space>\t\tRolar alterações uma página abaixo"
-#: gitk:2844
+#: gitk:3067
msgid "u\t\tScroll diff view up 18 lines"
msgstr "u\t\tRolar alterações 18 linhas acima"
-#: gitk:2845
+#: gitk:3068
msgid "d\t\tScroll diff view down 18 lines"
msgstr "d\t\tRolar alterações 18 linhas abaixo"
-#: gitk:2846
+#: gitk:3069
#, tcl-format
msgid "<%s-F>\t\tFind"
msgstr "<%s-F>\t\tProcurar"
-#: gitk:2847
+#: gitk:3070
#, tcl-format
msgid "<%s-G>\t\tMove to next find hit"
msgstr "<%s-G>\t\tIr para a próxima ocorrência"
-#: gitk:2848
+#: gitk:3071
msgid "<Return>\tMove to next find hit"
msgstr "<Return>\tIr para a próxima ocorrência"
-#: gitk:2849
+#: gitk:3072
msgid "/\t\tFocus the search box"
msgstr "/\t\tPor foco na caixa de busca"
-#: gitk:2850
+#: gitk:3073
msgid "?\t\tMove to previous find hit"
msgstr "?\t\tIr para a ocorrência anterior"
-#: gitk:2851
+#: gitk:3074
msgid "f\t\tScroll diff view to next file"
msgstr "f\t\tRolar alterações para o próximo arquivo"
-#: gitk:2852
+#: gitk:3075
#, tcl-format
msgid "<%s-S>\t\tSearch for next hit in diff view"
msgstr "<%s-S>\t\tProcurar a próxima ocorrência na lista de alterações"
-#: gitk:2853
+#: gitk:3076
#, tcl-format
msgid "<%s-R>\t\tSearch for previous hit in diff view"
msgstr "<%s-R>\t\tProcurar ocorrência anterior na lista de alterações"
-#: gitk:2854
+#: gitk:3077
#, tcl-format
msgid "<%s-KP+>\tIncrease font size"
msgstr "<%s-KP+>\tAumentar tamanho da fonte"
-#: gitk:2855
+#: gitk:3078
#, tcl-format
msgid "<%s-plus>\tIncrease font size"
msgstr "<%s-plus>\tAumentar tamanho da fonte"
-#: gitk:2856
+#: gitk:3079
#, tcl-format
msgid "<%s-KP->\tDecrease font size"
msgstr "<%s-KP->\tReduzir tamanho da fonte"
-#: gitk:2857
+#: gitk:3080
#, tcl-format
msgid "<%s-minus>\tDecrease font size"
msgstr "<%s-minus>\tReduzir tamanho da fonte"
-#: gitk:2858
+#: gitk:3081
msgid "<F5>\t\tUpdate"
msgstr "<F5>\t\tAtualizar"
-#: gitk:3313 gitk:3322
+#: gitk:3546 gitk:3555
#, tcl-format
msgid "Error creating temporary directory %s:"
msgstr "Erro ao criar o diretório temporário %s:"
-#: gitk:3335
+#: gitk:3568
#, tcl-format
msgid "Error getting \"%s\" from %s:"
msgstr "Erro ao ler \"%s\" de %s:"
-#: gitk:3398
+#: gitk:3631
msgid "command failed:"
msgstr "O comando falhou:"
-#: gitk:3547
+#: gitk:3780
msgid "No such commit"
msgstr "Revisão não encontrada"
-#: gitk:3561
+#: gitk:3794
msgid "git gui blame: command failed:"
msgstr "Comando 'git gui blame' falhou:"
-#: gitk:3592
+#: gitk:3825
#, tcl-format
msgid "Couldn't read merge head: %s"
msgstr "Impossível ler merge head: %s"
-#: gitk:3600
+#: gitk:3833
#, tcl-format
msgid "Error reading index: %s"
msgstr "Erro ao ler o índice: %s"
-#: gitk:3625
+#: gitk:3858
#, tcl-format
msgid "Couldn't start git blame: %s"
msgstr "Não foi possível inciar o 'git blame': %s"
-#: gitk:3628 gitk:6419
+#: gitk:3861 gitk:6735
msgid "Searching"
msgstr "Procurando"
-#: gitk:3660
+#: gitk:3893
#, tcl-format
msgid "Error running git blame: %s"
msgstr "Erro ao executar 'git blame': %s"
-#: gitk:3688
+#: gitk:3921
#, tcl-format
msgid "That line comes from commit %s, which is not in this view"
msgstr "Esta linha vem da revisão %s, que não está nesta vista"
-#: gitk:3702
+#: gitk:3935
msgid "External diff viewer failed:"
msgstr "Erro do visualizador de alterações externo:"
-#: gitk:3820
+#: gitk:4053
msgid "Gitk view definition"
msgstr "Definir vista"
-#: gitk:3824
+#: gitk:4057
msgid "Remember this view"
msgstr "Lembrar esta vista"
-#: gitk:3825
+#: gitk:4058
msgid "References (space separated list):"
msgstr "Referências (separar a lista com um espaço):"
-#: gitk:3826
+#: gitk:4059
msgid "Branches & tags:"
msgstr "Ramos & etiquetas:"
-#: gitk:3827
+#: gitk:4060
msgid "All refs"
msgstr "Todas as referências"
-#: gitk:3828
+#: gitk:4061
msgid "All (local) branches"
msgstr "Todos os ramos locais"
-#: gitk:3829
+#: gitk:4062
msgid "All tags"
msgstr "Todas as etiquetas"
-#: gitk:3830
+#: gitk:4063
msgid "All remote-tracking branches"
msgstr "Todos os ramos de rastreio"
-#: gitk:3831
+#: gitk:4064
msgid "Commit Info (regular expressions):"
msgstr "Informações da revisão (expressões regulares):"
-#: gitk:3832
+#: gitk:4065
msgid "Author:"
msgstr "Autor:"
-#: gitk:3833
+#: gitk:4066
msgid "Committer:"
msgstr "Revisor:"
-#: gitk:3834
+#: gitk:4067
msgid "Commit Message:"
msgstr "Descrição da revisão:"
-#: gitk:3835
+#: gitk:4068
msgid "Matches all Commit Info criteria"
msgstr "Coincidir todos os critérios de informações da revisão"
-#: gitk:3836
+#: gitk:4069
+#, fuzzy
+msgid "Matches none Commit Info criteria"
+msgstr "Coincidir todos os critérios de informações da revisão"
+
+#: gitk:4070
msgid "Changes to Files:"
msgstr "Mudanças para os arquivos:"
-#: gitk:3837
+#: gitk:4071
msgid "Fixed String"
msgstr "Texto fixo"
-#: gitk:3838
+#: gitk:4072
msgid "Regular Expression"
msgstr "Expressão regular"
-#: gitk:3839
+#: gitk:4073
msgid "Search string:"
msgstr "Texto de busca"
-#: gitk:3840
+#: gitk:4074
msgid ""
"Commit Dates (\"2 weeks ago\", \"2009-03-17 15:27:38\", \"March 17, 2009 "
"15:27:38\"):"
@@ -647,201 +687,201 @@ msgstr ""
"Datas de revisão (\"2 weeks ago\", \"2009-03-17 15:27:38\", \"March 17, 2009 "
"15:27:38\"):"
-#: gitk:3841
+#: gitk:4075
msgid "Since:"
msgstr "Desde:"
-#: gitk:3842
+#: gitk:4076
msgid "Until:"
msgstr "Até:"
-#: gitk:3843
+#: gitk:4077
msgid "Limit and/or skip a number of revisions (positive integer):"
msgstr "Limitar e/ou ignorar um número de revisões (inteiro positivo):"
-#: gitk:3844
+#: gitk:4078
msgid "Number to show:"
msgstr "Número para mostrar:"
-#: gitk:3845
+#: gitk:4079
msgid "Number to skip:"
msgstr "Número para ignorar:"
-#: gitk:3846
+#: gitk:4080
msgid "Miscellaneous options:"
msgstr "Opções diversas:"
-#: gitk:3847
+#: gitk:4081
msgid "Strictly sort by date"
msgstr "Ordenar estritamente pela data"
-#: gitk:3848
+#: gitk:4082
msgid "Mark branch sides"
msgstr "Marcar os dois lados do ramo"
-#: gitk:3849
+#: gitk:4083
msgid "Limit to first parent"
msgstr "Limitar ao primeiro antecessor"
-#: gitk:3850
+#: gitk:4084
msgid "Simple history"
msgstr "Histórico simplificado"
-#: gitk:3851
+#: gitk:4085
msgid "Additional arguments to git log:"
msgstr "Argumentos adicionais para o 'git log':"
-#: gitk:3852
+#: gitk:4086
msgid "Enter files and directories to include, one per line:"
msgstr "Arquivos e diretórios para incluir, um por linha"
-#: gitk:3853
+#: gitk:4087
msgid "Command to generate more commits to include:"
msgstr "Comando para gerar mais revisões para incluir:"
-#: gitk:3977
+#: gitk:4211
msgid "Gitk: edit view"
msgstr "Gitk: editar vista"
-#: gitk:3985
+#: gitk:4219
msgid "-- criteria for selecting revisions"
msgstr "-- critérios para selecionar revisões"
-#: gitk:3990
+#: gitk:4224
msgid "View Name"
msgstr "Nome da vista"
-#: gitk:4065
+#: gitk:4299
msgid "Apply (F5)"
msgstr "Aplicar (F5)"
-#: gitk:4103
+#: gitk:4337
msgid "Error in commit selection arguments:"
msgstr "Erro nos argumentos de seleção de revisões:"
-#: gitk:4156 gitk:4208 gitk:4656 gitk:4670 gitk:5931 gitk:11551 gitk:11552
+#: gitk:4392 gitk:4445 gitk:4906 gitk:4920 gitk:6190 gitk:12346 gitk:12347
msgid "None"
msgstr "Nenhum"
-#: gitk:4604 gitk:6451 gitk:8309 gitk:8324
-msgid "Date"
-msgstr "Data"
-
-#: gitk:4604 gitk:6451
-msgid "CDate"
-msgstr "DataR"
-
-#: gitk:4753 gitk:4758
+#: gitk:5003 gitk:5008
msgid "Descendant"
msgstr "Descendente de"
-#: gitk:4754
+#: gitk:5004
msgid "Not descendant"
msgstr "Não descendente de"
-#: gitk:4761 gitk:4766
+#: gitk:5011 gitk:5016
msgid "Ancestor"
msgstr "Antecessor de"
-#: gitk:4762
+#: gitk:5012
msgid "Not ancestor"
msgstr "Não antecessor de"
-#: gitk:5052
+#: gitk:5306
msgid "Local changes checked in to index but not committed"
msgstr "Mudanças locais marcadas, porém não salvas"
-#: gitk:5088
+#: gitk:5342
msgid "Local uncommitted changes, not checked in to index"
msgstr "Mudanças locais não marcadas"
-#: gitk:6769
+#: gitk:7115
+msgid "and many more"
+msgstr ""
+
+#: gitk:7118
msgid "many"
msgstr "muitas"
-#: gitk:6952
+#: gitk:7309
msgid "Tags:"
msgstr "Etiquetas:"
-#: gitk:6969 gitk:6975 gitk:8302
+#: gitk:7326 gitk:7332 gitk:8806
msgid "Parent"
msgstr "Antecessor"
-#: gitk:6980
+#: gitk:7337
msgid "Child"
msgstr "Descendente"
-#: gitk:6989
+#: gitk:7346
msgid "Branch"
msgstr "Ramo"
-#: gitk:6992
+#: gitk:7349
msgid "Follows"
msgstr "Segue"
-#: gitk:6995
+#: gitk:7352
msgid "Precedes"
msgstr "Precede"
-#: gitk:7532
+#: gitk:7947
#, tcl-format
msgid "Error getting diffs: %s"
msgstr "Erro ao obter diferenças: %s"
-#: gitk:8130
+#: gitk:8631
msgid "Goto:"
msgstr "Ir para:"
-#: gitk:8151
+#: gitk:8652
#, tcl-format
msgid "Short SHA1 id %s is ambiguous"
msgstr "O id SHA1 %s é ambíguo"
-#: gitk:8158
+#: gitk:8659
#, tcl-format
msgid "Revision %s is not known"
msgstr "Revisão %s desconhecida"
-#: gitk:8168
+#: gitk:8669
#, tcl-format
msgid "SHA1 id %s is not known"
msgstr "Id SHA1 %s desconhecido"
-#: gitk:8170
+#: gitk:8671
#, tcl-format
msgid "Revision %s is not in the current view"
msgstr "A revisão %s não está na vista atual"
-#: gitk:8312
+#: gitk:8813 gitk:8828
+msgid "Date"
+msgstr "Data"
+
+#: gitk:8816
msgid "Children"
msgstr "Descendentes"
-#: gitk:8370
+#: gitk:8879
#, tcl-format
msgid "Reset %s branch to here"
msgstr "Redefinir ramo %s para este ponto"
-#: gitk:8372
+#: gitk:8881
msgid "Detached head: can't reset"
msgstr "Detached head: impossível redefinir"
-#: gitk:8481 gitk:8487
+#: gitk:8986 gitk:8992
msgid "Skipping merge commit "
msgstr "Saltando revisão de mesclagem"
-#: gitk:8496 gitk:8501
+#: gitk:9001 gitk:9006
msgid "Error getting patch ID for "
msgstr "Erro ao obter patch ID para"
-#: gitk:8497 gitk:8502
+#: gitk:9002 gitk:9007
msgid " - stopping\n"
msgstr "- parando\n"
-#: gitk:8507 gitk:8510 gitk:8518 gitk:8532 gitk:8541
+#: gitk:9012 gitk:9015 gitk:9023 gitk:9037 gitk:9046
msgid "Commit "
msgstr "Revisão"
-#: gitk:8511
+#: gitk:9016
msgid ""
" is the same patch as\n"
" "
@@ -849,13 +889,13 @@ msgstr ""
"é o mesmo patch que\n"
" "
-#: gitk:8519
+#: gitk:9024
msgid ""
" differs from\n"
" "
msgstr "difere de"
-#: gitk:8521
+#: gitk:9026
msgid ""
"Diff of commits:\n"
"\n"
@@ -863,129 +903,129 @@ msgstr ""
"Diferença de revisões:\n"
"\n"
-#: gitk:8533 gitk:8542
+#: gitk:9038 gitk:9047
#, tcl-format
msgid " has %s children - stopping\n"
msgstr "possui %s descendentes - parando\n"
-#: gitk:8561
+#: gitk:9066
#, tcl-format
msgid "Error writing commit to file: %s"
msgstr "Erro ao salvar revisão para o arquivo: %s"
-#: gitk:8567
+#: gitk:9072
#, tcl-format
msgid "Error diffing commits: %s"
msgstr "Erro ao comparar revisões: %s"
-#: gitk:8598
+#: gitk:9118
msgid "Top"
msgstr "Início"
-#: gitk:8599
+#: gitk:9119
msgid "From"
msgstr "De"
-#: gitk:8604
+#: gitk:9124
msgid "To"
msgstr "Para"
-#: gitk:8628
+#: gitk:9148
msgid "Generate patch"
msgstr "Gerar patch"
-#: gitk:8630
+#: gitk:9150
msgid "From:"
msgstr "De:"
-#: gitk:8639
+#: gitk:9159
msgid "To:"
msgstr "Para:"
-#: gitk:8648
+#: gitk:9168
msgid "Reverse"
msgstr "Inverter"
-#: gitk:8650 gitk:8845
+#: gitk:9170 gitk:9366
msgid "Output file:"
msgstr "Arquivo de saída:"
-#: gitk:8656
+#: gitk:9176
msgid "Generate"
msgstr "Gerar"
-#: gitk:8694
+#: gitk:9214
msgid "Error creating patch:"
msgstr "Erro ao criar patch:"
-#: gitk:8717 gitk:8833 gitk:8890
+#: gitk:9237 gitk:9354 gitk:9411
msgid "ID:"
msgstr "ID:"
-#: gitk:8726
+#: gitk:9246
msgid "Tag name:"
msgstr "Nome da etiqueta:"
-#: gitk:8729
+#: gitk:9249
msgid "Tag message is optional"
msgstr "A descrição da etiqueta é opcional"
-#: gitk:8731
+#: gitk:9251
msgid "Tag message:"
msgstr "Descrição da etiqueta"
-#: gitk:8735 gitk:8899
+#: gitk:9255 gitk:9420
msgid "Create"
msgstr "Criar"
-#: gitk:8753
+#: gitk:9273
msgid "No tag name specified"
msgstr "Nome da etiqueta não indicado"
-#: gitk:8757
+#: gitk:9277
#, tcl-format
msgid "Tag \"%s\" already exists"
msgstr "Etiqueta \"%s\" já existe"
-#: gitk:8767
+#: gitk:9287
msgid "Error creating tag:"
msgstr "Erro ao criar etiqueta:"
-#: gitk:8842
+#: gitk:9363
msgid "Command:"
msgstr "Comando:"
-#: gitk:8850
+#: gitk:9371
msgid "Write"
msgstr "Exportar"
-#: gitk:8868
+#: gitk:9389
msgid "Error writing commit:"
msgstr "Erro ao exportar revisão"
-#: gitk:8895
+#: gitk:9416
msgid "Name:"
msgstr "Nome:"
-#: gitk:8918
+#: gitk:9439
msgid "Please specify a name for the new branch"
msgstr "Indique um nome para o novo ramo"
-#: gitk:8923
+#: gitk:9444
#, tcl-format
msgid "Branch '%s' already exists. Overwrite?"
msgstr "O ramo \"%s\" já existe. Sobrescrever?"
-#: gitk:8989
+#: gitk:9511
#, tcl-format
msgid "Commit %s is already included in branch %s -- really re-apply it?"
msgstr "Revisão %s já inclusa no ramo %s -- você realmente deseja reaplicá-la?"
-#: gitk:8994
+#: gitk:9516
msgid "Cherry-picking"
msgstr "Cherry-picking"
-#: gitk:9003
+#: gitk:9525
#, tcl-format
msgid ""
"Cherry-pick failed because of local changes to file '%s'.\n"
@@ -995,7 +1035,7 @@ msgstr ""
"Salve a uma revisão, redefina ou armazene (stash) suas mudanças e tente "
"novamente."
-#: gitk:9009
+#: gitk:9531
msgid ""
"Cherry-pick failed because of merge conflict.\n"
"Do you wish to run git citool to resolve it?"
@@ -1003,32 +1043,61 @@ msgstr ""
"O cherry-pick falhou porque houve um conflito na mesclagem.\n"
"Executar o 'git citool' para resolvê-lo?"
-#: gitk:9025
+#: gitk:9547 gitk:9605
msgid "No changes committed"
msgstr "Nenhuma revisão foi salva"
-#: gitk:9051
+#: gitk:9574
+#, fuzzy, tcl-format
+msgid "Commit %s is not included in branch %s -- really revert it?"
+msgstr "Revisão %s já inclusa no ramo %s -- você realmente deseja reaplicá-la?"
+
+#: gitk:9579
+#, fuzzy
+msgid "Reverting"
+msgstr "Redefinindo"
+
+#: gitk:9587
+#, fuzzy, tcl-format
+msgid ""
+"Revert failed because of local changes to the following files:%s Please "
+"commit, reset or stash your changes and try again."
+msgstr ""
+"O cherry-pick falhou porque o arquivo \"%s\" possui mudanças locais.\n"
+"Salve a uma revisão, redefina ou armazene (stash) suas mudanças e tente "
+"novamente."
+
+#: gitk:9591
+#, fuzzy
+msgid ""
+"Revert failed because of merge conflict.\n"
+" Do you wish to run git citool to resolve it?"
+msgstr ""
+"O cherry-pick falhou porque houve um conflito na mesclagem.\n"
+"Executar o 'git citool' para resolvê-lo?"
+
+#: gitk:9634
msgid "Confirm reset"
msgstr "Confirmar redefinição"
-#: gitk:9053
+#: gitk:9636
#, tcl-format
msgid "Reset branch %s to %s?"
msgstr "Você realmente deseja redefinir o ramo %s para %s?"
-#: gitk:9055
+#: gitk:9638
msgid "Reset type:"
msgstr "Tipo de redefinição"
-#: gitk:9058
+#: gitk:9641
msgid "Soft: Leave working tree and index untouched"
msgstr "Soft: deixa a árvore de trabalho e o índice intocados"
-#: gitk:9061
+#: gitk:9644
msgid "Mixed: Leave working tree untouched, reset index"
msgstr "Misto: Deixa a árvore de trabalho intocada, redefine o índice"
-#: gitk:9064
+#: gitk:9647
msgid ""
"Hard: Reset working tree and index\n"
"(discard ALL local changes)"
@@ -1036,19 +1105,19 @@ msgstr ""
"Hard: Redefine a árvore de trabalho e o índice\n"
"(descarta TODAS as mudanças locais)"
-#: gitk:9081
+#: gitk:9664
msgid "Resetting"
msgstr "Redefinindo"
-#: gitk:9141
+#: gitk:9724
msgid "Checking out"
msgstr "Abrindo"
-#: gitk:9194
+#: gitk:9777
msgid "Cannot delete the currently checked-out branch"
msgstr "Impossível excluir o ramo atualmente aberto"
-#: gitk:9200
+#: gitk:9783
#, tcl-format
msgid ""
"The commits on branch %s aren't on any other branch.\n"
@@ -1057,16 +1126,16 @@ msgstr ""
"As revisões do ramo \"%s\" não existem em nenhum outro ramo.\n"
"Você realmente deseja excluir ramo \"%s\"?"
-#: gitk:9231
+#: gitk:9814
#, tcl-format
msgid "Tags and heads: %s"
msgstr "Referências: %s"
-#: gitk:9246
+#: gitk:9829
msgid "Filter"
msgstr "Filtro"
-#: gitk:9541
+#: gitk:10125
msgid ""
"Error reading commit topology information; branch and preceding/following "
"tag information will be incomplete."
@@ -1074,204 +1143,230 @@ msgstr ""
"Erro ao ler a topologia das revisões; as informações dos ramos e etiquetas "
"antecessoras/sucessoras estarão incompletas"
-#: gitk:10527
+#: gitk:11102
msgid "Tag"
msgstr "Etiqueta"
-#: gitk:10527
+#: gitk:11106
msgid "Id"
msgstr "Id"
-#: gitk:10576
+#: gitk:11189
msgid "Gitk font chooser"
msgstr "Selecionar fontes do Gitk"
-#: gitk:10593
+#: gitk:11206
msgid "B"
msgstr "B"
-#: gitk:10596
+#: gitk:11209
msgid "I"
msgstr "I"
-#: gitk:10714
-msgid "Gitk preferences"
-msgstr "Preferências do Gitk"
-
-#: gitk:10716
+#: gitk:11327
msgid "Commit list display options"
msgstr "Opções da lista de revisões"
-#: gitk:10719
+#: gitk:11330
msgid "Maximum graph width (lines)"
msgstr "Largura máxima do grafo (linhas)"
-#: gitk:10722
-#, tcl-format
+#: gitk:11334
+#, no-tcl-format
msgid "Maximum graph width (% of pane)"
msgstr "Largura máxima do grafo (% do painel)"
-#: gitk:10725
+#: gitk:11337
msgid "Show local changes"
msgstr "Exibir mudanças locais"
-#: gitk:10728
-msgid "Auto-select SHA1"
+#: gitk:11340
+#, fuzzy
+msgid "Auto-select SHA1 (length)"
msgstr "Selecionar o SHA1 automaticamente"
-#: gitk:10731
+#: gitk:11344
msgid "Hide remote refs"
msgstr "Ocultar referências remotas"
-#: gitk:10735
+#: gitk:11348
msgid "Diff display options"
msgstr "Opções de exibição das alterações"
-#: gitk:10737
+#: gitk:11350
msgid "Tab spacing"
msgstr "Espaços por tabulação"
-#: gitk:10740
-msgid "Display nearby tags"
+#: gitk:11353
+#, fuzzy
+msgid "Display nearby tags/heads"
msgstr "Exibir etiquetas próximas"
-#: gitk:10743
+#: gitk:11356
+msgid "Maximum # tags/heads to show"
+msgstr ""
+
+#: gitk:11359
msgid "Limit diffs to listed paths"
msgstr "Limitar diferenças aos caminhos listados"
-#: gitk:10746
+#: gitk:11362
msgid "Support per-file encodings"
msgstr "Usar codificações distintas por arquivo"
-#: gitk:10752 gitk:10832
+#: gitk:11368 gitk:11515
msgid "External diff tool"
msgstr "Ferramenta 'diff' externa"
-#: gitk:10753
+#: gitk:11369
msgid "Choose..."
msgstr "Selecionar..."
-#: gitk:10758
+#: gitk:11374
msgid "General options"
msgstr "Opções gerais"
-#: gitk:10761
+#: gitk:11377
msgid "Use themed widgets"
msgstr "Usar temas para as janelas"
-#: gitk:10763
+#: gitk:11379
msgid "(change requires restart)"
msgstr "(exige reinicialização)"
-#: gitk:10765
+#: gitk:11381
msgid "(currently unavailable)"
msgstr "(atualmente indisponível)"
-#: gitk:10769
+#: gitk:11392
msgid "Colors: press to choose"
msgstr "Cores: clique para escolher"
-#: gitk:10772
+#: gitk:11395
msgid "Interface"
msgstr "Interface"
-#: gitk:10773
+#: gitk:11396
msgid "interface"
msgstr "interface"
-#: gitk:10776
+#: gitk:11399
msgid "Background"
msgstr "Segundo plano"
-#: gitk:10777 gitk:10807
+#: gitk:11400 gitk:11430
msgid "background"
msgstr "segundo plano"
-#: gitk:10780
+#: gitk:11403
msgid "Foreground"
msgstr "Primeiro plano"
-#: gitk:10781
+#: gitk:11404
msgid "foreground"
msgstr "primeiro plano"
-#: gitk:10784
+#: gitk:11407
msgid "Diff: old lines"
msgstr "Diff: linhas excluídas"
-#: gitk:10785
+#: gitk:11408
msgid "diff old lines"
msgstr "linhas excluídas"
-#: gitk:10789
+#: gitk:11412
msgid "Diff: new lines"
msgstr "Diff: linhas adicionadas"
-#: gitk:10790
+#: gitk:11413
msgid "diff new lines"
msgstr "linhas adicionadas"
-#: gitk:10794
+#: gitk:11417
msgid "Diff: hunk header"
msgstr "Diff: cabeçalho do bloco"
-#: gitk:10796
+#: gitk:11419
msgid "diff hunk header"
msgstr "cabeçalho do bloco"
-#: gitk:10800
+#: gitk:11423
msgid "Marked line bg"
msgstr "2º plano da linha marcada"
-#: gitk:10802
+#: gitk:11425
msgid "marked line background"
msgstr "segundo plano da linha marcada"
-#: gitk:10806
+#: gitk:11429
msgid "Select bg"
msgstr "2º plano da seleção"
-#: gitk:10810
+#: gitk:11438
msgid "Fonts: press to choose"
msgstr "Fontes: clique para escolher"
-#: gitk:10812
+#: gitk:11440
msgid "Main font"
msgstr "Fonte principal"
-#: gitk:10813
+#: gitk:11441
msgid "Diff display font"
msgstr "Fonte da lista de mudanças"
-#: gitk:10814
+#: gitk:11442
msgid "User interface font"
msgstr "Fonte da interface"
-#: gitk:10842
+#: gitk:11464
+msgid "Gitk preferences"
+msgstr "Preferências do Gitk"
+
+#: gitk:11473
+#, fuzzy
+msgid "General"
+msgstr "Gerar"
+
+#: gitk:11474
+msgid "Colors"
+msgstr ""
+
+#: gitk:11475
+msgid "Fonts"
+msgstr ""
+
+#: gitk:11525
#, tcl-format
msgid "Gitk: choose color for %s"
msgstr "Gitk: selecionar cor para %s"
-#: gitk:11445
+#: gitk:12242
msgid "Cannot find a git repository here."
msgstr "Não há nenhum repositório git aqui."
-#: gitk:11449
-#, tcl-format
-msgid "Cannot find the git directory \"%s\"."
-msgstr "Impossível encontrar o diretório git \"%s\"."
-
-#: gitk:11496
+#: gitk:12289
#, tcl-format
msgid "Ambiguous argument '%s': both revision and filename"
msgstr ""
"O argumento \"%s\" é ambíguo (especifica tanto uma revisão e um nome de "
"arquivo)"
-#: gitk:11508
+#: gitk:12301
msgid "Bad arguments to gitk:"
msgstr "Argumentos incorretos para o gitk:"
-#: gitk:11604
+#: gitk:12405
msgid "Command line"
msgstr "Linha de comando"
+
+#~ msgid "next"
+#~ msgstr "Próximo"
+
+#~ msgid "prev"
+#~ msgstr "Anterior"
+
+#~ msgid "CDate"
+#~ msgstr "DataR"
+
+#~ msgid "Cannot find the git directory \"%s\"."
+#~ msgstr "Impossível encontrar o diretório git \"%s\"."
diff --git a/gitk-git/po/ru.po b/gitk-git/po/ru.po
index 59873033af..faba6721c1 100644
--- a/gitk-git/po/ru.po
+++ b/gitk-git/po/ru.po
@@ -5,315 +5,359 @@ msgid ""
msgstr ""
"Project-Id-Version: gitk\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-04-24 16:00+0200\n"
+"POT-Creation-Date: 2015-03-15 14:37+1100\n"
"PO-Revision-Date: 2009-04-24 16:00+0200\n"
"Last-Translator: Alex Riesen <raa.lkml@gmail.com>\n"
"Language-Team: Russian\n"
+"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-#: gitk:113
+#: gitk:140
msgid "Couldn't get list of unmerged files:"
+msgstr "Невозможно получить список файлов незавершённой операции слияния:"
+
+#: gitk:212 gitk:2381
+msgid "Color words"
+msgstr ""
+
+#: gitk:217 gitk:2381 gitk:8201 gitk:8234
+msgid "Markup words"
msgstr ""
-"Невозможно получить список файлов незавершённой операции слияния:"
-#: gitk:268
+#: gitk:324
msgid "Error parsing revisions:"
msgstr "Ошибка в идентификаторе версии:"
-#: gitk:323
+#: gitk:380
msgid "Error executing --argscmd command:"
msgstr "Ошибка выполнения команды заданной --argscmd:"
-#: gitk:336
+#: gitk:393
msgid "No files selected: --merge specified but no files are unmerged."
msgstr ""
-"Файлы не выбраны: указан --merge, но не было найдено ни одного файла "
-"где эта операция должна быть завершена."
+"Файлы не выбраны: указан --merge, но не было найдено ни одного файла где эта "
+"операция должна быть завершена."
-#: gitk:339
+#: gitk:396
msgid ""
"No files selected: --merge specified but no unmerged files are within file "
"limit."
msgstr ""
-"Файлы не выбраны: указан --merge, но в рамках указанного "
-"ограничения на имена файлов нет ни одного "
-"где эта операция должна быть завершена."
+"Файлы не выбраны: указан --merge, но в рамках указанного ограничения на "
+"имена файлов нет ни одного где эта операция должна быть завершена."
-#: gitk:361 gitk:508
+#: gitk:418 gitk:566
msgid "Error executing git log:"
msgstr "Ошибка запуска git log:"
-#: gitk:379
+#: gitk:436 gitk:582
msgid "Reading"
msgstr "Чтение"
-#: gitk:439 gitk:4021
+#: gitk:496 gitk:4508
msgid "Reading commits..."
msgstr "Чтение версий..."
-#: gitk:442 gitk:1560 gitk:4024
+#: gitk:499 gitk:1637 gitk:4511
msgid "No commits selected"
msgstr "Ничего не выбрано"
-#: gitk:1436
+#: gitk:1511
msgid "Can't parse git log output:"
msgstr "Ошибка обработки вывода команды git log:"
-#: gitk:1656
+#: gitk:1740
msgid "No commit information available"
msgstr "Нет информации о состоянии"
-#: gitk:1791 gitk:1815 gitk:3814 gitk:8478 gitk:10014 gitk:10186
+#: gitk:1897
+msgid "mc"
+msgstr ""
+
+#: gitk:1932 gitk:4298 gitk:9650 gitk:11220 gitk:11500
msgid "OK"
msgstr "Ok"
-#: gitk:1817 gitk:3816 gitk:8078 gitk:8152 gitk:8259 gitk:8308 gitk:8480
-#: gitk:10015 gitk:10187
+#: gitk:1934 gitk:4300 gitk:9177 gitk:9256 gitk:9372 gitk:9421 gitk:9652
+#: gitk:11221 gitk:11501
msgid "Cancel"
msgstr "Отмена"
-#: gitk:1915
+#: gitk:2069
msgid "Update"
msgstr "Обновить"
-#: gitk:1916
+#: gitk:2070
msgid "Reload"
msgstr "Перечитать"
-#: gitk:1917
+#: gitk:2071
msgid "Reread references"
msgstr "Обновить список ссылок"
-#: gitk:1918
+#: gitk:2072
msgid "List references"
msgstr "Список ссылок"
-#: gitk:1920
+#: gitk:2074
msgid "Start git gui"
msgstr "Запустить git gui"
-#: gitk:1922
+#: gitk:2076
msgid "Quit"
msgstr "Завершить"
-#: gitk:1914
+#: gitk:2068
msgid "File"
msgstr "Файл"
-#: gitk:1925
+#: gitk:2080
msgid "Preferences"
msgstr "Настройки"
-#: gitk:1924
+#: gitk:2079
msgid "Edit"
msgstr "Редактировать"
-#: gitk:1928
+#: gitk:2084
msgid "New view..."
msgstr "Новое представление..."
-#: gitk:1929
+#: gitk:2085
msgid "Edit view..."
msgstr "Редактировать представление..."
-#: gitk:1930
+#: gitk:2086
msgid "Delete view"
msgstr "Удалить представление"
-#: gitk:1932
+#: gitk:2088
msgid "All files"
msgstr "Все файлы"
-#: gitk:1927 gitk:3626
+#: gitk:2083 gitk:4050
msgid "View"
msgstr "Представление"
-#: gitk:1935 gitk:2609
+#: gitk:2093 gitk:2103 gitk:3009
msgid "About gitk"
msgstr "О gitk"
-#: gitk:1936
+#: gitk:2094 gitk:2108
msgid "Key bindings"
msgstr "Назначения клавиатуры"
-#: gitk:1934
+#: gitk:2092 gitk:2107
msgid "Help"
msgstr "Подсказка"
-#: gitk:1994
-msgid "SHA1 ID: "
-msgstr "SHA1:"
+#: gitk:2185 gitk:8633
+msgid "SHA1 ID:"
+msgstr "SHA1 ID:"
-#: gitk:2025
+#: gitk:2229
msgid "Row"
msgstr "Строка"
-#: gitk:2056
+#: gitk:2267
msgid "Find"
msgstr "Поиск"
-#: gitk:2057
-msgid "next"
-msgstr "След."
-
-#: gitk:2058
-msgid "prev"
-msgstr "Пред."
-
-#: gitk:2059
+#: gitk:2295
msgid "commit"
msgstr "состояние"
-#: gitk:2062 gitk:2064 gitk:4179 gitk:4202 gitk:4226 gitk:6164 gitk:6236
-#: gitk:6320
+#: gitk:2299 gitk:2301 gitk:4669 gitk:4692 gitk:4716 gitk:6736 gitk:6808
+#: gitk:6893
msgid "containing:"
msgstr "содержащее:"
-#: gitk:2065 gitk:3117 gitk:3122 gitk:4254
+#: gitk:2302 gitk:3522 gitk:3527 gitk:4745
msgid "touching paths:"
msgstr "касательно файлов:"
-#: gitk:2066 gitk:4259
+#: gitk:2303 gitk:4759
msgid "adding/removing string:"
msgstr "добавив/удалив строку:"
-#: gitk:2075 gitk:2077
+#: gitk:2304 gitk:4761
+msgid "changing lines matching:"
+msgstr ""
+
+#: gitk:2313 gitk:2315 gitk:4748
msgid "Exact"
msgstr "Точно"
-#: gitk:2077 gitk:4334 gitk:6132
+#: gitk:2315 gitk:4836 gitk:6704
msgid "IgnCase"
msgstr "Игнорировать большие/маленькие"
-#: gitk:2077 gitk:4228 gitk:4332 gitk:6128
+#: gitk:2315 gitk:4718 gitk:4834 gitk:6700
msgid "Regexp"
msgstr "Регулярные выражения"
-#: gitk:2079 gitk:2080 gitk:4353 gitk:4383 gitk:4390 gitk:6256 gitk:6324
+#: gitk:2317 gitk:2318 gitk:4856 gitk:4886 gitk:4893 gitk:6829 gitk:6897
msgid "All fields"
msgstr "Во всех полях"
-#: gitk:2080 gitk:4351 gitk:4383 gitk:6195
+#: gitk:2318 gitk:4853 gitk:4886 gitk:6767
msgid "Headline"
msgstr "Заголовок"
-#: gitk:2081 gitk:4351 gitk:6195 gitk:6324 gitk:6737
+#: gitk:2319 gitk:4853 gitk:6767 gitk:6897 gitk:7370
msgid "Comments"
msgstr "Комментарии"
-#: gitk:2081 gitk:4351 gitk:4355 gitk:4390 gitk:6195 gitk:6672 gitk:7923
-#: gitk:7938
+#: gitk:2319 gitk:4853 gitk:4858 gitk:4893 gitk:6767 gitk:7305 gitk:8811
+#: gitk:8826
msgid "Author"
msgstr "Автор"
-#: gitk:2081 gitk:4351 gitk:6195 gitk:6674
+#: gitk:2319 gitk:4853 gitk:6767 gitk:7307
msgid "Committer"
msgstr "Сохранивший состояние"
-#: gitk:2110
+#: gitk:2350
msgid "Search"
msgstr "Найти"
-#: gitk:2117
+#: gitk:2358
msgid "Diff"
msgstr "Сравнить"
-#: gitk:2119
+#: gitk:2360
msgid "Old version"
msgstr "Старая версия"
-#: gitk:2121
+#: gitk:2362
msgid "New version"
msgstr "Новая версия"
-#: gitk:2123
+#: gitk:2364
msgid "Lines of context"
msgstr "Строк контекста"
-#: gitk:2133
+#: gitk:2374
msgid "Ignore space change"
msgstr "Игнорировать пробелы"
-#: gitk:2191
+#: gitk:2378 gitk:2380 gitk:7940 gitk:8187
+msgid "Line diff"
+msgstr ""
+
+#: gitk:2445
msgid "Patch"
msgstr "Патч"
-#: gitk:2193
+#: gitk:2447
msgid "Tree"
msgstr "Файлы"
-#: gitk:2326 gitk:2339
+#: gitk:2616 gitk:2636
msgid "Diff this -> selected"
msgstr "Сравнить это состояние с выделенным"
-#: gitk:2327 gitk:2340
+#: gitk:2617 gitk:2637
msgid "Diff selected -> this"
msgstr "Сравнить выделенное с этим состоянием"
-#: gitk:2328 gitk:2341
+#: gitk:2618 gitk:2638
msgid "Make patch"
msgstr "Создать патч"
-#: gitk:2329 gitk:8136
+#: gitk:2619 gitk:9235
msgid "Create tag"
msgstr "Создать метку"
-#: gitk:2330 gitk:8239
+#: gitk:2620 gitk:9352
msgid "Write commit to file"
msgstr "Сохранить изменения в файл"
-#: gitk:2331 gitk:8296
+#: gitk:2621 gitk:9409
msgid "Create new branch"
msgstr "Создать ветвь"
-#: gitk:2332
+#: gitk:2622
msgid "Cherry-pick this commit"
msgstr "Скопировать это состояние"
-#: gitk:2333
+#: gitk:2623
msgid "Reset HEAD branch to here"
msgstr "Установить HEAD на это состояние"
-#: gitk:2347
+#: gitk:2624
+#, fuzzy
+msgid "Mark this commit"
+msgstr "Скопировать это состояние"
+
+#: gitk:2625
+msgid "Return to mark"
+msgstr ""
+
+#: gitk:2626
+msgid "Find descendant of this and mark"
+msgstr ""
+
+#: gitk:2627
+msgid "Compare with marked commit"
+msgstr ""
+
+#: gitk:2628 gitk:2639
+#, fuzzy
+msgid "Diff this -> marked commit"
+msgstr "Сравнить это состояние с выделенным"
+
+#: gitk:2629 gitk:2640
+#, fuzzy
+msgid "Diff marked commit -> this"
+msgstr "Сравнить выделенное с этим состоянием"
+
+#: gitk:2630
+#, fuzzy
+msgid "Revert this commit"
+msgstr "Скопировать это состояние"
+
+#: gitk:2646
msgid "Check out this branch"
msgstr "Перейти на эту ветвь"
-#: gitk:2348
+#: gitk:2647
msgid "Remove this branch"
msgstr "Удалить эту ветвь"
-#: gitk:2355
+#: gitk:2654
msgid "Highlight this too"
msgstr "Подсветить этот тоже"
-#: gitk:2356
+#: gitk:2655
msgid "Highlight this only"
msgstr "Подсветить только этот"
-#: gitk:2357
+#: gitk:2656
msgid "External diff"
msgstr "Программа сравнения"
-#: gitk:2358
+#: gitk:2657
msgid "Blame parent commit"
msgstr "Аннотировать родительское состояние"
-#: gitk:2365
+#: gitk:2664
msgid "Show origin of this line"
msgstr "Показать источник этой строки"
-#: gitk:2366
+#: gitk:2665
msgid "Run git gui blame on this line"
msgstr "Запустить git gui blame для этой строки"
-#: gitk:2611
+#: gitk:3011
+#, fuzzy
msgid ""
"\n"
"Gitk - a commit viewer for git\n"
"\n"
-"Copyright \\u00a9 2005-2010 Paul Mackerras\n"
+"Copyright © 2005-2014 Paul Mackerras\n"
"\n"
"Use and redistribute under the terms of the GNU General Public License"
msgstr ""
@@ -324,497 +368,667 @@ msgstr ""
"\n"
"Использование и распространение согласно условиям GNU General Public License"
-#: gitk:2619 gitk:2681 gitk:8661
+#: gitk:3019 gitk:3085 gitk:9836
msgid "Close"
msgstr "Закрыть"
-#: gitk:2638
+#: gitk:3040
msgid "Gitk key bindings"
msgstr "Назначения клавиатуры в Gitk"
-#: gitk:2641
+#: gitk:3043
msgid "Gitk key bindings:"
msgstr "Назначения клавиатуры в Gitk:"
-#: gitk:2643
+#: gitk:3045
#, tcl-format
msgid "<%s-Q>\t\tQuit"
msgstr "<%s-Q>\t\tЗавершить"
-#: gitk:2644
+#: gitk:3046
+#, fuzzy, tcl-format
+msgid "<%s-W>\t\tClose window"
+msgstr "<%s-F>\t\tПоиск"
+
+#: gitk:3047
msgid "<Home>\t\tMove to first commit"
msgstr "<Home>\t\tПерейти к первому состоянию"
-#: gitk:2645
+#: gitk:3048
msgid "<End>\t\tMove to last commit"
msgstr "<End>\t\tПерейти к последнему состоянию"
-#: gitk:2646
-msgid "<Up>, p, i\tMove up one commit"
+#: gitk:3049
+#, fuzzy
+msgid "<Up>, p, k\tMove up one commit"
msgstr "<Up>, p, i\tПерейти к следующему состоянию"
-#: gitk:2647
-msgid "<Down>, n, k\tMove down one commit"
+#: gitk:3050
+#, fuzzy
+msgid "<Down>, n, j\tMove down one commit"
msgstr "<Down>, n, k\tПерейти к предыдущему состоянию"
-#: gitk:2648
-msgid "<Left>, z, j\tGo back in history list"
+#: gitk:3051
+#, fuzzy
+msgid "<Left>, z, h\tGo back in history list"
msgstr "<Left>, z, j\tПоказать ранее посещённое состояние"
-#: gitk:2649
+#: gitk:3052
msgid "<Right>, x, l\tGo forward in history list"
msgstr "<Right>, x, l\tПоказать следующее посещённое состояние"
-#: gitk:2650
+#: gitk:3053
+#, tcl-format
+msgid "<%s-n>\tGo to n-th parent of current commit in history list"
+msgstr ""
+
+#: gitk:3054
msgid "<PageUp>\tMove up one page in commit list"
msgstr "<PageUp>\tПерейти на страницу выше в списке состояний"
-#: gitk:2651
+#: gitk:3055
msgid "<PageDown>\tMove down one page in commit list"
msgstr "<PageDown>\tПерейти на страницу ниже в списке состояний"
-#: gitk:2652
+#: gitk:3056
#, tcl-format
msgid "<%s-Home>\tScroll to top of commit list"
msgstr "<%s-Home>\tПоказать начало списка состояний"
-#: gitk:2653
+#: gitk:3057
#, tcl-format
msgid "<%s-End>\tScroll to bottom of commit list"
msgstr "<%s-End>\tПоказать конец списка состояний"
-#: gitk:2654
+#: gitk:3058
#, tcl-format
msgid "<%s-Up>\tScroll commit list up one line"
msgstr "<%s-Up>\tПровернуть список состояний вверх"
-#: gitk:2655
+#: gitk:3059
#, tcl-format
msgid "<%s-Down>\tScroll commit list down one line"
msgstr "<%s-Down>\tПровернуть список состояний вниз"
-#: gitk:2656
+#: gitk:3060
#, tcl-format
msgid "<%s-PageUp>\tScroll commit list up one page"
msgstr "<%s-PageUp>\tПровернуть список состояний на страницу вверх"
-#: gitk:2657
+#: gitk:3061
#, tcl-format
msgid "<%s-PageDown>\tScroll commit list down one page"
msgstr "<%s-PageDown>\tПровернуть список состояний на страницу вниз"
-#: gitk:2658
+#: gitk:3062
msgid "<Shift-Up>\tFind backwards (upwards, later commits)"
-msgstr ""
-"<Shift-Up>\tПоиск в обратном порядке (вверх, среди новых состояний)"
+msgstr "<Shift-Up>\tПоиск в обратном порядке (вверх, среди новых состояний)"
-#: gitk:2659
+#: gitk:3063
msgid "<Shift-Down>\tFind forwards (downwards, earlier commits)"
msgstr "<Shift-Down>\tПоиск (вниз, среди старых состояний)"
-#: gitk:2660
+#: gitk:3064
msgid "<Delete>, b\tScroll diff view up one page"
msgstr "<Delete>, b\tПрокрутить список изменений на страницу выше"
-#: gitk:2661
+#: gitk:3065
msgid "<Backspace>\tScroll diff view up one page"
msgstr "<Backspace>\tПрокрутить список изменений на страницу выше"
-#: gitk:2662
+#: gitk:3066
msgid "<Space>\t\tScroll diff view down one page"
msgstr "<Leertaste>\t\tПрокрутить список изменений на страницу ниже"
-#: gitk:2663
+#: gitk:3067
msgid "u\t\tScroll diff view up 18 lines"
msgstr "u\t\tПрокрутить список изменений на 18 строк вверх"
-#: gitk:2664
+#: gitk:3068
msgid "d\t\tScroll diff view down 18 lines"
msgstr "d\t\tПрокрутить список изменений на 18 строк вниз"
-#: gitk:2665
+#: gitk:3069
#, tcl-format
msgid "<%s-F>\t\tFind"
msgstr "<%s-F>\t\tПоиск"
-#: gitk:2666
+#: gitk:3070
#, tcl-format
msgid "<%s-G>\t\tMove to next find hit"
msgstr "<%s-G>\t\tПерейти к следующему найденному состоянию"
-#: gitk:2667
+#: gitk:3071
msgid "<Return>\tMove to next find hit"
msgstr "<Return>\tПерейти к следующему найденному состоянию"
-#: gitk:2668
+#: gitk:3072
msgid "/\t\tFocus the search box"
msgstr "/\t\tПерейти к полю поиска"
-#: gitk:2669
+#: gitk:3073
msgid "?\t\tMove to previous find hit"
msgstr "?\t\tПерейти к предыдущему найденному состоянию"
-#: gitk:2670
+#: gitk:3074
msgid "f\t\tScroll diff view to next file"
msgstr "f\t\tПрокрутить список изменений к следующему файлу"
-#: gitk:2671
+#: gitk:3075
#, tcl-format
msgid "<%s-S>\t\tSearch for next hit in diff view"
msgstr "<%s-S>\t\tПродолжить поиск в списке изменений"
-#: gitk:2672
+#: gitk:3076
#, tcl-format
msgid "<%s-R>\t\tSearch for previous hit in diff view"
msgstr "<%s-R>\t\tПерейти к предыдущему найденному тексту в списке изменений"
-#: gitk:2673
+#: gitk:3077
#, tcl-format
msgid "<%s-KP+>\tIncrease font size"
msgstr "<%s-KP+>\tУвеличить размер шрифта"
-#: gitk:2674
+#: gitk:3078
#, tcl-format
msgid "<%s-plus>\tIncrease font size"
msgstr "<%s-plus>\tУвеличить размер шрифта"
-#: gitk:2675
+#: gitk:3079
#, tcl-format
msgid "<%s-KP->\tDecrease font size"
msgstr "<%s-KP->\tУменьшить размер шрифта"
-#: gitk:2676
+#: gitk:3080
#, tcl-format
msgid "<%s-minus>\tDecrease font size"
msgstr "<%s-minus>\tУменьшить размер шрифта"
-#: gitk:2677
+#: gitk:3081
msgid "<F5>\t\tUpdate"
msgstr "<F5>\t\tОбновить"
-#: gitk:3132
-#, tcl-format
-msgid "Error getting \"%s\" from %s:"
-msgstr "Ошибка получения \"%s\" из %s:"
-
-#: gitk:3189 gitk:3198
+#: gitk:3546 gitk:3555
#, tcl-format
msgid "Error creating temporary directory %s:"
msgstr "Ошибка создания временного каталога %s:"
-#: gitk:3211
+#: gitk:3568
+#, tcl-format
+msgid "Error getting \"%s\" from %s:"
+msgstr "Ошибка получения \"%s\" из %s:"
+
+#: gitk:3631
msgid "command failed:"
msgstr "ошибка выполнения команды:"
-#: gitk:3357
+#: gitk:3780
msgid "No such commit"
msgstr "Состояние не найдено"
-#: gitk:3371
+#: gitk:3794
msgid "git gui blame: command failed:"
msgstr "git gui blame: ошибка выполнения команды:"
-#: gitk:3402
+#: gitk:3825
#, tcl-format
msgid "Couldn't read merge head: %s"
msgstr "Ошибка чтения MERGE_HEAD: %s"
-#: gitk:3410
+#: gitk:3833
#, tcl-format
msgid "Error reading index: %s"
msgstr "Ошибка чтения индекса: %s"
-#: gitk:3435
+#: gitk:3858
#, tcl-format
msgid "Couldn't start git blame: %s"
msgstr "Ошибка запуска git blame: %s"
-#: gitk:3438 gitk:6163
+#: gitk:3861 gitk:6735
msgid "Searching"
msgstr "Поиск"
-#: gitk:3470
+#: gitk:3893
#, tcl-format
msgid "Error running git blame: %s"
msgstr "Ошибка выполнения git blame: %s"
-#: gitk:3498
+#: gitk:3921
#, tcl-format
msgid "That line comes from commit %s, which is not in this view"
msgstr ""
-"Эта строка принадлежит состоянию %s, которое не показано в этом "
-"представлении"
+"Эта строка принадлежит состоянию %s, которое не показано в этом представлении"
-#: gitk:3512
+#: gitk:3935
msgid "External diff viewer failed:"
msgstr "Ошибка выполнения программы сравнения:"
-#: gitk:3630
+#: gitk:4053
msgid "Gitk view definition"
msgstr "Gitk определение представлений"
-#: gitk:3634
+#: gitk:4057
msgid "Remember this view"
msgstr "Запомнить представление"
-#: gitk:3635
-msgid "Commits to include (arguments to git log):"
-msgstr "Включить состояния (аргументы для git-log):"
+#: gitk:4058
+msgid "References (space separated list):"
+msgstr ""
+
+#: gitk:4059
+msgid "Branches & tags:"
+msgstr ""
-#: gitk:3636
-msgid "Use all refs"
-msgstr "Использовать все ветви"
+#: gitk:4060
+#, fuzzy
+msgid "All refs"
+msgstr "Все файлы"
-#: gitk:3637
-msgid "Strictly sort by date"
-msgstr "Строгая сортировка по дате"
+#: gitk:4061
+msgid "All (local) branches"
+msgstr ""
-#: gitk:3638
-msgid "Mark branch sides"
-msgstr "Отметить стороны ветвей"
+#: gitk:4062
+msgid "All tags"
+msgstr ""
+
+#: gitk:4063
+msgid "All remote-tracking branches"
+msgstr ""
+
+#: gitk:4064
+msgid "Commit Info (regular expressions):"
+msgstr ""
+
+#: gitk:4065
+#, fuzzy
+msgid "Author:"
+msgstr "Автор"
+
+#: gitk:4066
+#, fuzzy
+msgid "Committer:"
+msgstr "Сохранивший состояние"
+
+#: gitk:4067
+msgid "Commit Message:"
+msgstr ""
+
+#: gitk:4068
+msgid "Matches all Commit Info criteria"
+msgstr ""
+
+#: gitk:4069
+msgid "Matches none Commit Info criteria"
+msgstr ""
+
+#: gitk:4070
+msgid "Changes to Files:"
+msgstr ""
+
+#: gitk:4071
+msgid "Fixed String"
+msgstr ""
+
+#: gitk:4072
+msgid "Regular Expression"
+msgstr ""
-#: gitk:3639
-msgid "Since date:"
+#: gitk:4073
+#, fuzzy
+msgid "Search string:"
+msgstr "Поиск"
+
+#: gitk:4074
+msgid ""
+"Commit Dates (\"2 weeks ago\", \"2009-03-17 15:27:38\", \"March 17, 2009 "
+"15:27:38\"):"
+msgstr ""
+
+#: gitk:4075
+#, fuzzy
+msgid "Since:"
msgstr "С даты:"
-#: gitk:3640
-msgid "Until date:"
+#: gitk:4076
+#, fuzzy
+msgid "Until:"
msgstr "По дату:"
-#: gitk:3641
-msgid "Max count:"
-msgstr "Макс. количество:"
+#: gitk:4077
+msgid "Limit and/or skip a number of revisions (positive integer):"
+msgstr ""
+
+#: gitk:4078
+msgid "Number to show:"
+msgstr ""
+
+#: gitk:4079
+msgid "Number to skip:"
+msgstr ""
+
+#: gitk:4080
+msgid "Miscellaneous options:"
+msgstr ""
+
+#: gitk:4081
+msgid "Strictly sort by date"
+msgstr "Строгая сортировка по дате"
-#: gitk:3642
-msgid "Skip:"
-msgstr "Пропустить:"
+#: gitk:4082
+msgid "Mark branch sides"
+msgstr "Отметить стороны ветвей"
-#: gitk:3643
+#: gitk:4083
msgid "Limit to first parent"
msgstr "Ограничить первым предком"
-#: gitk:3644
-msgid "Command to generate more commits to include:"
-msgstr "Дополнительная команда для списка состояний:"
+#: gitk:4084
+msgid "Simple history"
+msgstr ""
-#: gitk:3753
-msgid "Name"
-msgstr "Имя"
+#: gitk:4085
+#, fuzzy
+msgid "Additional arguments to git log:"
+msgstr "Включить состояния (аргументы для git-log):"
-#: gitk:3801
+#: gitk:4086
msgid "Enter files and directories to include, one per line:"
msgstr "Файлы и каталоги для ограничения истории, по одному на строку:"
-#: gitk:3815
+#: gitk:4087
+msgid "Command to generate more commits to include:"
+msgstr "Дополнительная команда для списка состояний:"
+
+#: gitk:4211
+msgid "Gitk: edit view"
+msgstr ""
+
+#: gitk:4219
+#, fuzzy
+msgid "-- criteria for selecting revisions"
+msgstr "Ошибка в идентификаторе версии:"
+
+#: gitk:4224
+#, fuzzy
+msgid "View Name"
+msgstr "Представление"
+
+#: gitk:4299
msgid "Apply (F5)"
msgstr "Применить (F5)"
-#: gitk:3853
+#: gitk:4337
msgid "Error in commit selection arguments:"
msgstr "Ошибка в параметрах выбора состояний:"
-#: gitk:3906 gitk:3958 gitk:4403 gitk:4417 gitk:5675 gitk:10867 gitk:10868
+#: gitk:4392 gitk:4445 gitk:4906 gitk:4920 gitk:6190 gitk:12346 gitk:12347
msgid "None"
msgstr "Ни одного"
-#: gitk:4351 gitk:6195 gitk:7925 gitk:7940
-msgid "Date"
-msgstr "Дата"
-
-#: gitk:4351 gitk:6195
-msgid "CDate"
-msgstr "Дата ввода"
-
-#: gitk:4500 gitk:4505
+#: gitk:5003 gitk:5008
msgid "Descendant"
msgstr "Порождённое"
-#: gitk:4501
+#: gitk:5004
msgid "Not descendant"
msgstr "Не порождённое"
-#: gitk:4508 gitk:4513
+#: gitk:5011 gitk:5016
msgid "Ancestor"
msgstr "Предок"
-#: gitk:4509
+#: gitk:5012
msgid "Not ancestor"
msgstr "Не предок"
-#: gitk:4799
+#: gitk:5306
msgid "Local changes checked in to index but not committed"
msgstr "Изменения зарегистрированные в индексе, но не сохранённые"
-#: gitk:4835
+#: gitk:5342
msgid "Local uncommitted changes, not checked in to index"
msgstr "Изменения в рабочем каталоге, не зарегистрированные в индексе"
-#: gitk:6676
+#: gitk:7115
+msgid "and many more"
+msgstr ""
+
+#: gitk:7118
+msgid "many"
+msgstr ""
+
+#: gitk:7309
msgid "Tags:"
msgstr "Таги:"
-#: gitk:6693 gitk:6699 gitk:7918
+#: gitk:7326 gitk:7332 gitk:8806
msgid "Parent"
msgstr "Предок"
-#: gitk:6704
+#: gitk:7337
msgid "Child"
msgstr "Потомок"
-#: gitk:6713
+#: gitk:7346
msgid "Branch"
msgstr "Ветвь"
-#: gitk:6716
+#: gitk:7349
msgid "Follows"
msgstr "Следует за"
-#: gitk:6719
+#: gitk:7352
msgid "Precedes"
msgstr "Предшествует"
-#: gitk:7212
+#: gitk:7947
#, tcl-format
msgid "Error getting diffs: %s"
msgstr "Ошибка получения изменений: %s"
-#: gitk:7751
+#: gitk:8631
msgid "Goto:"
msgstr "Перейти к:"
-#: gitk:7753
-msgid "SHA1 ID:"
-msgstr "SHA1 ID:"
-
-#: gitk:7772
+#: gitk:8652
#, tcl-format
msgid "Short SHA1 id %s is ambiguous"
msgstr "Сокращённый SHA1 идентификатор %s неоднозначен"
-#: gitk:7784
+#: gitk:8659
+#, fuzzy, tcl-format
+msgid "Revision %s is not known"
+msgstr "SHA1 идентификатор %s не найден"
+
+#: gitk:8669
#, tcl-format
msgid "SHA1 id %s is not known"
msgstr "SHA1 идентификатор %s не найден"
-#: gitk:7786
+#: gitk:8671
#, tcl-format
-msgid "Tag/Head %s is not known"
-msgstr "Метка или ветвь %s не найдена"
+msgid "Revision %s is not in the current view"
+msgstr ""
-#: gitk:7928
+#: gitk:8813 gitk:8828
+msgid "Date"
+msgstr "Дата"
+
+#: gitk:8816
msgid "Children"
msgstr "Потомки"
-#: gitk:7985
+#: gitk:8879
#, tcl-format
msgid "Reset %s branch to here"
msgstr "Установить ветвь %s на это состояние"
-#: gitk:7987
+#: gitk:8881
msgid "Detached head: can't reset"
msgstr "Состояние не принадлежит ни одной ветви, переход невозможен"
-#: gitk:8019
+#: gitk:8986 gitk:8992
+msgid "Skipping merge commit "
+msgstr ""
+
+#: gitk:9001 gitk:9006
+#, fuzzy
+msgid "Error getting patch ID for "
+msgstr "Ошибка создания патча:"
+
+#: gitk:9002 gitk:9007
+msgid " - stopping\n"
+msgstr ""
+
+#: gitk:9012 gitk:9015 gitk:9023 gitk:9037 gitk:9046
+#, fuzzy
+msgid "Commit "
+msgstr "состояние"
+
+#: gitk:9016
+msgid ""
+" is the same patch as\n"
+" "
+msgstr ""
+
+#: gitk:9024
+msgid ""
+" differs from\n"
+" "
+msgstr ""
+
+#: gitk:9026
+msgid ""
+"Diff of commits:\n"
+"\n"
+msgstr ""
+
+#: gitk:9038 gitk:9047
+#, tcl-format
+msgid " has %s children - stopping\n"
+msgstr ""
+
+#: gitk:9066
+#, fuzzy, tcl-format
+msgid "Error writing commit to file: %s"
+msgstr "Ошибка сохранения состояния:"
+
+#: gitk:9072
+#, fuzzy, tcl-format
+msgid "Error diffing commits: %s"
+msgstr "Ошибка сохранения состояния:"
+
+#: gitk:9118
msgid "Top"
msgstr "Верх"
-#: gitk:8020
+#: gitk:9119
msgid "From"
msgstr "От"
-#: gitk:8025
+#: gitk:9124
msgid "To"
msgstr "До"
-#: gitk:8049
+#: gitk:9148
msgid "Generate patch"
msgstr "Создать патч"
-#: gitk:8051
+#: gitk:9150
msgid "From:"
msgstr "От:"
-#: gitk:8060
+#: gitk:9159
msgid "To:"
msgstr "До:"
-#: gitk:8069
+#: gitk:9168
msgid "Reverse"
msgstr "В обратном порядке"
-#: gitk:8071 gitk:8253
+#: gitk:9170 gitk:9366
msgid "Output file:"
msgstr "Файл для сохранения:"
-#: gitk:8077
+#: gitk:9176
msgid "Generate"
msgstr "Создать"
-#: gitk:8115
+#: gitk:9214
msgid "Error creating patch:"
msgstr "Ошибка создания патча:"
-#: gitk:8138 gitk:8241 gitk:8298
+#: gitk:9237 gitk:9354 gitk:9411
msgid "ID:"
msgstr "ID:"
-#: gitk:8147
+#: gitk:9246
msgid "Tag name:"
msgstr "Имя метки:"
-#: gitk:8151 gitk:8307
+#: gitk:9249
+msgid "Tag message is optional"
+msgstr ""
+
+#: gitk:9251
+#, fuzzy
+msgid "Tag message:"
+msgstr "Имя метки:"
+
+#: gitk:9255 gitk:9420
msgid "Create"
msgstr "Создать"
-#: gitk:8168
+#: gitk:9273
msgid "No tag name specified"
msgstr "Не задано имя метки"
-#: gitk:8172
+#: gitk:9277
#, tcl-format
msgid "Tag \"%s\" already exists"
msgstr "Метка \"%s\" уже существует"
-#: gitk:8178
+#: gitk:9287
msgid "Error creating tag:"
msgstr "Ошибка создания метки:"
-#: gitk:8250
+#: gitk:9363
msgid "Command:"
msgstr "Команда:"
-#: gitk:8258
+#: gitk:9371
msgid "Write"
msgstr "Запись"
-#: gitk:8276
+#: gitk:9389
msgid "Error writing commit:"
msgstr "Ошибка сохранения состояния:"
-#: gitk:8303
+#: gitk:9416
msgid "Name:"
msgstr "Имя:"
-#: gitk:8326
+#: gitk:9439
msgid "Please specify a name for the new branch"
msgstr "Укажите имя для новой ветви"
-#: gitk:8331
+#: gitk:9444
#, tcl-format
msgid "Branch '%s' already exists. Overwrite?"
msgstr "Ветвь '%s' уже существует. Переписать?"
-#: gitk:8397
+#: gitk:9511
#, tcl-format
msgid "Commit %s is already included in branch %s -- really re-apply it?"
-msgstr ""
-"Состояние %s уже принадлежит ветви %s. Продолжить операцию?"
+msgstr "Состояние %s уже принадлежит ветви %s. Продолжить операцию?"
-#: gitk:8402
+#: gitk:9516
msgid "Cherry-picking"
msgstr "Копирование изменений"
-#: gitk:8411
+#: gitk:9525
#, tcl-format
msgid ""
"Cherry-pick failed because of local changes to file '%s'.\n"
@@ -823,61 +1037,88 @@ msgstr ""
"Копирование невозможно из-за изменений в файле '%s'.\n"
"Сохраните или отмените изменения и повторите операцию."
-#: gitk:8417
+#: gitk:9531
msgid ""
"Cherry-pick failed because of merge conflict.\n"
"Do you wish to run git citool to resolve it?"
msgstr ""
-"Копирование изменений невозможно из-за незавершённой операции "
-"слияния.\nЗапустить git citool для завершения этой операции?"
+"Копирование изменений невозможно из-за незавершённой операции слияния.\n"
+"Запустить git citool для завершения этой операции?"
-#: gitk:8433
+#: gitk:9547 gitk:9605
msgid "No changes committed"
msgstr "Изменения не сохранены"
-#: gitk:8459
+#: gitk:9574
+#, fuzzy, tcl-format
+msgid "Commit %s is not included in branch %s -- really revert it?"
+msgstr "Состояние %s уже принадлежит ветви %s. Продолжить операцию?"
+
+#: gitk:9579
+#, fuzzy
+msgid "Reverting"
+msgstr "Установка"
+
+#: gitk:9587
+#, fuzzy, tcl-format
+msgid ""
+"Revert failed because of local changes to the following files:%s Please "
+"commit, reset or stash your changes and try again."
+msgstr ""
+"Копирование невозможно из-за изменений в файле '%s'.\n"
+"Сохраните или отмените изменения и повторите операцию."
+
+#: gitk:9591
+#, fuzzy
+msgid ""
+"Revert failed because of merge conflict.\n"
+" Do you wish to run git citool to resolve it?"
+msgstr ""
+"Копирование изменений невозможно из-за незавершённой операции слияния.\n"
+"Запустить git citool для завершения этой операции?"
+
+#: gitk:9634
msgid "Confirm reset"
msgstr "Подтвердите операцию перехода"
-#: gitk:8461
+#: gitk:9636
#, tcl-format
msgid "Reset branch %s to %s?"
msgstr "Установить ветвь %s на состояние %s?"
-#: gitk:8465
+#: gitk:9638
msgid "Reset type:"
msgstr "Тип операции перехода:"
-#: gitk:8469
+#: gitk:9641
msgid "Soft: Leave working tree and index untouched"
msgstr "Лёгкий: оставить рабочий каталог и индекс неизменными"
-#: gitk:8472
+#: gitk:9644
msgid "Mixed: Leave working tree untouched, reset index"
-msgstr ""
-"Смешанный: оставить рабочий каталог неизменным, установить индекс"
+msgstr "Смешанный: оставить рабочий каталог неизменным, установить индекс"
-#: gitk:8475
+#: gitk:9647
msgid ""
"Hard: Reset working tree and index\n"
"(discard ALL local changes)"
msgstr ""
"Жесткий: переписать индекс и рабочий каталог\n"
-"(все изменения в рабочем каталоги будут потеряны)"
+"(все изменения в рабочем каталоге будут потеряны)"
-#: gitk:8492
+#: gitk:9664
msgid "Resetting"
msgstr "Установка"
-#: gitk:8549
+#: gitk:9724
msgid "Checking out"
msgstr "Переход"
-#: gitk:8602
+#: gitk:9777
msgid "Cannot delete the currently checked-out branch"
msgstr "Активная ветвь не может быть удалена"
-#: gitk:8608
+#: gitk:9783
#, tcl-format
msgid ""
"The commits on branch %s aren't on any other branch.\n"
@@ -886,200 +1127,272 @@ msgstr ""
"Состояния ветви %s больше не принадлежат никакой другой ветви.\n"
"Действительно удалить ветвь %s?"
-#: gitk:8639
+#: gitk:9814
#, tcl-format
msgid "Tags and heads: %s"
msgstr "Метки и ветви: %s"
-#: gitk:8654
+#: gitk:9829
msgid "Filter"
msgstr "Фильтровать"
-#: gitk:8949
+#: gitk:10125
msgid ""
"Error reading commit topology information; branch and preceding/following "
"tag information will be incomplete."
msgstr ""
-"Ошибка чтения истории проекта; информация о ветвях и состояниях "
-"вокруг меток (до/после) может быть неполной."
+"Ошибка чтения истории проекта; информация о ветвях и состояниях вокруг меток "
+"(до/после) может быть неполной."
-#: gitk:9935
+#: gitk:11102
msgid "Tag"
msgstr "Метка"
-#: gitk:9935
+#: gitk:11106
msgid "Id"
msgstr "Id"
-#: gitk:9983
+#: gitk:11189
msgid "Gitk font chooser"
msgstr "Шрифт Gitk"
-#: gitk:10000
+#: gitk:11206
msgid "B"
msgstr "Ж"
-#: gitk:10003
+#: gitk:11209
msgid "I"
msgstr "К"
-#: gitk:10098
-msgid "Gitk preferences"
-msgstr "Настройки Gitk"
-
-#: gitk:10100
+#: gitk:11327
msgid "Commit list display options"
msgstr "Параметры показа списка состояний"
-#: gitk:10103
+#: gitk:11330
msgid "Maximum graph width (lines)"
msgstr "Макс. ширина графа (строк)"
-#: gitk:10107
-#, tcl-format
+#: gitk:11334
+#, no-tcl-format
msgid "Maximum graph width (% of pane)"
msgstr "Макс. ширина графа (% ширины панели)"
-#: gitk:10111
+#: gitk:11337
msgid "Show local changes"
msgstr "Показывать изменения в рабочем каталоге"
-#: gitk:10114
-msgid "Auto-select SHA1"
+#: gitk:11340
+#, fuzzy
+msgid "Auto-select SHA1 (length)"
msgstr "Выделить SHA1"
-#: gitk:10118
+#: gitk:11344
+msgid "Hide remote refs"
+msgstr ""
+
+#: gitk:11348
msgid "Diff display options"
msgstr "Параметры показа изменений"
-#: gitk:10120
+#: gitk:11350
msgid "Tab spacing"
msgstr "Ширина табуляции"
-#: gitk:10123
-msgid "Display nearby tags"
+#: gitk:11353
+#, fuzzy
+msgid "Display nearby tags/heads"
msgstr "Показывать близкие метки"
-#: gitk:10126
+#: gitk:11356
+msgid "Maximum # tags/heads to show"
+msgstr ""
+
+#: gitk:11359
msgid "Limit diffs to listed paths"
msgstr "Ограничить показ изменений выбранными файлами"
-#: gitk:10129
+#: gitk:11362
msgid "Support per-file encodings"
msgstr "Поддержка кодировок в отдельных файлах"
-#: gitk:10135
+#: gitk:11368 gitk:11515
msgid "External diff tool"
msgstr "Программа для показа изменений"
-#: gitk:10137
+#: gitk:11369
msgid "Choose..."
msgstr "Выберите..."
-#: gitk:10142
+#: gitk:11374
+#, fuzzy
+msgid "General options"
+msgstr "Создать патч"
+
+#: gitk:11377
+msgid "Use themed widgets"
+msgstr ""
+
+#: gitk:11379
+msgid "(change requires restart)"
+msgstr ""
+
+#: gitk:11381
+msgid "(currently unavailable)"
+msgstr ""
+
+#: gitk:11392
msgid "Colors: press to choose"
msgstr "Цвета: нажмите для выбора"
-#: gitk:10145
+#: gitk:11395
+msgid "Interface"
+msgstr ""
+
+#: gitk:11396
+#, fuzzy
+msgid "interface"
+msgstr "Шрифт интерфейса"
+
+#: gitk:11399
msgid "Background"
msgstr "Фон"
-#: gitk:10146 gitk:10176
+#: gitk:11400 gitk:11430
msgid "background"
msgstr "фон"
-#: gitk:10149
+#: gitk:11403
msgid "Foreground"
msgstr "Передний план"
-#: gitk:10150
+#: gitk:11404
msgid "foreground"
msgstr "передний план"
-#: gitk:10153
+#: gitk:11407
msgid "Diff: old lines"
msgstr "Изменения: старый текст"
-#: gitk:10154
+#: gitk:11408
msgid "diff old lines"
msgstr "старый текст изменения"
-#: gitk:10158
+#: gitk:11412
msgid "Diff: new lines"
msgstr "Изменения: новый текст"
-#: gitk:10159
+#: gitk:11413
msgid "diff new lines"
msgstr "новый текст изменения"
-#: gitk:10163
+#: gitk:11417
msgid "Diff: hunk header"
msgstr "Изменения: заголовок блока"
-#: gitk:10165
+#: gitk:11419
msgid "diff hunk header"
msgstr "заголовок блока изменений"
-#: gitk:10169
+#: gitk:11423
msgid "Marked line bg"
msgstr "Фон выбранной строки"
-#: gitk:10171
+#: gitk:11425
msgid "marked line background"
msgstr "фон выбранной строки"
-#: gitk:10175
+#: gitk:11429
msgid "Select bg"
msgstr "Выберите фон"
-#: gitk:10179
+#: gitk:11438
msgid "Fonts: press to choose"
msgstr "Шрифт: нажмите для выбора"
-#: gitk:10181
+#: gitk:11440
msgid "Main font"
msgstr "Основной шрифт"
-#: gitk:10182
+#: gitk:11441
msgid "Diff display font"
msgstr "Шрифт показа изменений"
-#: gitk:10183
+#: gitk:11442
msgid "User interface font"
msgstr "Шрифт интерфейса"
-#: gitk:10210
+#: gitk:11464
+msgid "Gitk preferences"
+msgstr "Настройки Gitk"
+
+#: gitk:11473
+#, fuzzy
+msgid "General"
+msgstr "Создать"
+
+#: gitk:11474
+msgid "Colors"
+msgstr ""
+
+#: gitk:11475
+msgid "Fonts"
+msgstr ""
+
+#: gitk:11525
#, tcl-format
msgid "Gitk: choose color for %s"
msgstr "Gitk: выберите цвет для %s"
-#: gitk:10656
-msgid ""
-"Sorry, gitk cannot run with this version of Tcl/Tk.\n"
-" Gitk requires at least Tcl/Tk 8.4."
-msgstr ""
-"К сожалению gitk не может работать с этой версий Tcl/Tk.\n"
-"Требуется как минимум Tcl/Tk 8.4."
-
-#: gitk:10773
+#: gitk:12242
msgid "Cannot find a git repository here."
msgstr "Git-репозитарий не найден в текущем каталоге."
-#: gitk:10777
-#, tcl-format
-msgid "Cannot find the git directory \"%s\"."
-msgstr "Git-репозитарий \"%s\" не найден."
-
-#: gitk:10824
+#: gitk:12289
#, tcl-format
msgid "Ambiguous argument '%s': both revision and filename"
msgstr "Неоднозначный аргумент '%s': существует как версия и имя файла"
-#: gitk:10836
+#: gitk:12301
msgid "Bad arguments to gitk:"
msgstr "Неправильные аргументы для gitk:"
-#: gitk:10896
+#: gitk:12405
msgid "Command line"
msgstr "Командная строка"
+#~ msgid "SHA1 ID: "
+#~ msgstr "SHA1:"
+
+#~ msgid "next"
+#~ msgstr "След."
+
+#~ msgid "prev"
+#~ msgstr "Пред."
+
+#~ msgid "Use all refs"
+#~ msgstr "Использовать все ветви"
+
+#~ msgid "Max count:"
+#~ msgstr "Макс. количество:"
+
+#~ msgid "Skip:"
+#~ msgstr "Пропустить:"
+
+#~ msgid "Name"
+#~ msgstr "Имя"
+
+#~ msgid "CDate"
+#~ msgstr "Дата ввода"
+
+#~ msgid "Tag/Head %s is not known"
+#~ msgstr "Метка или ветвь %s не найдена"
+
+#~ msgid ""
+#~ "Sorry, gitk cannot run with this version of Tcl/Tk.\n"
+#~ " Gitk requires at least Tcl/Tk 8.4."
+#~ msgstr ""
+#~ "К сожалению gitk не может работать с этой версий Tcl/Tk.\n"
+#~ "Требуется как минимум Tcl/Tk 8.4."
+
+#~ msgid "Cannot find the git directory \"%s\"."
+#~ msgstr "Git-репозитарий \"%s\" не найден."
diff --git a/gitk-git/po/sv.po b/gitk-git/po/sv.po
index df95e01b90..0994d87c28 100644
--- a/gitk-git/po/sv.po
+++ b/gitk-git/po/sv.po
@@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: sv\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-05-16 08:06+0100\n"
+"POT-Creation-Date: 2015-03-15 14:37+1100\n"
"PO-Revision-Date: 2013-05-16 08:12+0100\n"
"Last-Translator: Peter Krefting <peter@softwolves.pp.se>\n"
"Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n"
@@ -22,29 +22,29 @@ msgstr ""
msgid "Couldn't get list of unmerged files:"
msgstr "Kunde inte hämta lista över ej sammanslagna filer:"
-#: gitk:210 gitk:2334
+#: gitk:212 gitk:2381
msgid "Color words"
msgstr "Färga ord"
-#: gitk:215 gitk:2334 gitk:7977 gitk:8010
+#: gitk:217 gitk:2381 gitk:8201 gitk:8234
msgid "Markup words"
msgstr "Märk upp ord"
-#: gitk:312
+#: gitk:324
msgid "Error parsing revisions:"
msgstr "Fel vid tolkning av revisioner:"
-#: gitk:368
+#: gitk:380
msgid "Error executing --argscmd command:"
msgstr "Fel vid körning av --argscmd-kommando:"
-#: gitk:381
+#: gitk:393
msgid "No files selected: --merge specified but no files are unmerged."
msgstr ""
"Inga filer valdes: --merge angavs men det finns inga filer som inte har "
"slagits samman."
-#: gitk:384
+#: gitk:396
msgid ""
"No files selected: --merge specified but no unmerged files are within file "
"limit."
@@ -52,319 +52,312 @@ msgstr ""
"Inga filer valdes: --merge angavs men det finns inga filer inom "
"filbegränsningen."
-#: gitk:406 gitk:554
+#: gitk:418 gitk:566
msgid "Error executing git log:"
msgstr "Fel vid körning av git log:"
-#: gitk:424 gitk:570
+#: gitk:436 gitk:582
msgid "Reading"
msgstr "Läser"
-#: gitk:484 gitk:4409
+#: gitk:496 gitk:4508
msgid "Reading commits..."
msgstr "Läser incheckningar..."
-#: gitk:487 gitk:1625 gitk:4412
+#: gitk:499 gitk:1637 gitk:4511
msgid "No commits selected"
msgstr "Inga incheckningar markerade"
-#: gitk:1499
+#: gitk:1511
msgid "Can't parse git log output:"
msgstr "Kan inte tolka utdata från git log:"
-#: gitk:1719
+#: gitk:1740
msgid "No commit information available"
msgstr "Ingen incheckningsinformation är tillgänglig"
-#: gitk:1876
+#: gitk:1897
msgid "mc"
msgstr "mc"
-#: gitk:1911 gitk:4202 gitk:9437 gitk:10979 gitk:11258
+#: gitk:1932 gitk:4298 gitk:9650 gitk:11220 gitk:11500
msgid "OK"
msgstr "OK"
-#: gitk:1913 gitk:4204 gitk:8964 gitk:9043 gitk:9159 gitk:9208 gitk:9439
-#: gitk:10980 gitk:11259
+#: gitk:1934 gitk:4300 gitk:9177 gitk:9256 gitk:9372 gitk:9421 gitk:9652
+#: gitk:11221 gitk:11501
msgid "Cancel"
msgstr "Avbryt"
-#: gitk:2048
+#: gitk:2069
msgid "Update"
msgstr "Uppdatera"
-#: gitk:2049
+#: gitk:2070
msgid "Reload"
msgstr "Ladda om"
-#: gitk:2050
+#: gitk:2071
msgid "Reread references"
msgstr "Läs om referenser"
-#: gitk:2051
+#: gitk:2072
msgid "List references"
msgstr "Visa referenser"
-#: gitk:2053
+#: gitk:2074
msgid "Start git gui"
msgstr "Starta git gui"
-#: gitk:2055
+#: gitk:2076
msgid "Quit"
msgstr "Avsluta"
-#: gitk:2047
+#: gitk:2068
msgid "File"
msgstr "Arkiv"
-#: gitk:2059
+#: gitk:2080
msgid "Preferences"
msgstr "Inställningar"
-#: gitk:2058
+#: gitk:2079
msgid "Edit"
msgstr "Redigera"
-#: gitk:2063
+#: gitk:2084
msgid "New view..."
msgstr "Ny vy..."
-#: gitk:2064
+#: gitk:2085
msgid "Edit view..."
msgstr "Ändra vy..."
-#: gitk:2065
+#: gitk:2086
msgid "Delete view"
msgstr "Ta bort vy"
-#: gitk:2067
+#: gitk:2088
msgid "All files"
msgstr "Alla filer"
-#: gitk:2062 gitk:3955
+#: gitk:2083 gitk:4050
msgid "View"
msgstr "Visa"
-#: gitk:2072 gitk:2082 gitk:2925
+#: gitk:2093 gitk:2103 gitk:3009
msgid "About gitk"
msgstr "Om gitk"
-#: gitk:2073 gitk:2087
+#: gitk:2094 gitk:2108
msgid "Key bindings"
msgstr "Tangentbordsbindningar"
-#: gitk:2071 gitk:2086
+#: gitk:2092 gitk:2107
msgid "Help"
msgstr "Hjälp"
-#: gitk:2164 gitk:8420
+#: gitk:2185 gitk:8633
msgid "SHA1 ID:"
msgstr "SHA1-id:"
-#: gitk:2208
+#: gitk:2229
msgid "Row"
msgstr "Rad"
-#: gitk:2246
+#: gitk:2267
msgid "Find"
msgstr "Sök"
-#: gitk:2247
-msgid "next"
-msgstr "nästa"
-
-#: gitk:2248
-msgid "prev"
-msgstr "föreg"
-
-#: gitk:2249
+#: gitk:2295
msgid "commit"
msgstr "incheckning"
-#: gitk:2252 gitk:2254 gitk:4570 gitk:4593 gitk:4617 gitk:6592 gitk:6664
-#: gitk:6749
+#: gitk:2299 gitk:2301 gitk:4669 gitk:4692 gitk:4716 gitk:6736 gitk:6808
+#: gitk:6893
msgid "containing:"
msgstr "som innehåller:"
-#: gitk:2255 gitk:3437 gitk:3442 gitk:4646
+#: gitk:2302 gitk:3522 gitk:3527 gitk:4745
msgid "touching paths:"
msgstr "som rör sökväg:"
-#: gitk:2256 gitk:4660
+#: gitk:2303 gitk:4759
msgid "adding/removing string:"
msgstr "som lägger/till tar bort sträng:"
-#: gitk:2257 gitk:4662
+#: gitk:2304 gitk:4761
msgid "changing lines matching:"
msgstr "ändrar rader som matchar:"
-#: gitk:2266 gitk:2268 gitk:4649
+#: gitk:2313 gitk:2315 gitk:4748
msgid "Exact"
msgstr "Exakt"
-#: gitk:2268 gitk:4737 gitk:6560
+#: gitk:2315 gitk:4836 gitk:6704
msgid "IgnCase"
msgstr "IgnVersaler"
-#: gitk:2268 gitk:4619 gitk:4735 gitk:6556
+#: gitk:2315 gitk:4718 gitk:4834 gitk:6700
msgid "Regexp"
msgstr "Reg.uttr."
-#: gitk:2270 gitk:2271 gitk:4757 gitk:4787 gitk:4794 gitk:6685 gitk:6753
+#: gitk:2317 gitk:2318 gitk:4856 gitk:4886 gitk:4893 gitk:6829 gitk:6897
msgid "All fields"
msgstr "Alla fält"
-#: gitk:2271 gitk:4754 gitk:4787 gitk:6623
+#: gitk:2318 gitk:4853 gitk:4886 gitk:6767
msgid "Headline"
msgstr "Rubrik"
-#: gitk:2272 gitk:4754 gitk:6623 gitk:6753 gitk:7221
+#: gitk:2319 gitk:4853 gitk:6767 gitk:6897 gitk:7370
msgid "Comments"
msgstr "Kommentarer"
-#: gitk:2272 gitk:4754 gitk:4759 gitk:4794 gitk:6623 gitk:7156 gitk:8598
-#: gitk:8613
+#: gitk:2319 gitk:4853 gitk:4858 gitk:4893 gitk:6767 gitk:7305 gitk:8811
+#: gitk:8826
msgid "Author"
msgstr "Författare"
-#: gitk:2272 gitk:4754 gitk:6623 gitk:7158
+#: gitk:2319 gitk:4853 gitk:6767 gitk:7307
msgid "Committer"
msgstr "Incheckare"
-#: gitk:2303
+#: gitk:2350
msgid "Search"
msgstr "Sök"
-#: gitk:2311
+#: gitk:2358
msgid "Diff"
msgstr "Diff"
-#: gitk:2313
+#: gitk:2360
msgid "Old version"
msgstr "Gammal version"
-#: gitk:2315
+#: gitk:2362
msgid "New version"
msgstr "Ny version"
-#: gitk:2317
+#: gitk:2364
msgid "Lines of context"
msgstr "Rader sammanhang"
-#: gitk:2327
+#: gitk:2374
msgid "Ignore space change"
msgstr "Ignorera ändringar i blanksteg"
-#: gitk:2331 gitk:2333 gitk:7735 gitk:7963
+#: gitk:2378 gitk:2380 gitk:7940 gitk:8187
msgid "Line diff"
msgstr "Rad-diff"
-#: gitk:2397
+#: gitk:2445
msgid "Patch"
msgstr "Patch"
-#: gitk:2399
+#: gitk:2447
msgid "Tree"
msgstr "Träd"
-#: gitk:2557 gitk:2577
+#: gitk:2616 gitk:2636
msgid "Diff this -> selected"
msgstr "Diff denna -> markerad"
-#: gitk:2558 gitk:2578
+#: gitk:2617 gitk:2637
msgid "Diff selected -> this"
msgstr "Diff markerad -> denna"
-#: gitk:2559 gitk:2579
+#: gitk:2618 gitk:2638
msgid "Make patch"
msgstr "Skapa patch"
-#: gitk:2560 gitk:9022
+#: gitk:2619 gitk:9235
msgid "Create tag"
msgstr "Skapa tagg"
-#: gitk:2561 gitk:9139
+#: gitk:2620 gitk:9352
msgid "Write commit to file"
msgstr "Skriv incheckning till fil"
-#: gitk:2562 gitk:9196
+#: gitk:2621 gitk:9409
msgid "Create new branch"
msgstr "Skapa ny gren"
-#: gitk:2563
+#: gitk:2622
msgid "Cherry-pick this commit"
msgstr "Plocka denna incheckning"
-#: gitk:2564
+#: gitk:2623
msgid "Reset HEAD branch to here"
msgstr "Återställ HEAD-grenen hit"
-#: gitk:2565
+#: gitk:2624
msgid "Mark this commit"
msgstr "Markera denna incheckning"
-#: gitk:2566
+#: gitk:2625
msgid "Return to mark"
msgstr "Återgå till markering"
-#: gitk:2567
+#: gitk:2626
msgid "Find descendant of this and mark"
msgstr "Hitta efterföljare till denna och markera"
-#: gitk:2568
+#: gitk:2627
msgid "Compare with marked commit"
msgstr "Jämför med markerad incheckning"
-#: gitk:2569 gitk:2580
+#: gitk:2628 gitk:2639
msgid "Diff this -> marked commit"
msgstr "Diff denna -> markerad incheckning"
-#: gitk:2570 gitk:2581
+#: gitk:2629 gitk:2640
msgid "Diff marked commit -> this"
msgstr "Diff markerad incheckning -> denna"
-#: gitk:2571
+#: gitk:2630
msgid "Revert this commit"
msgstr "Ångra denna incheckning"
-#: gitk:2587
+#: gitk:2646
msgid "Check out this branch"
msgstr "Checka ut denna gren"
-#: gitk:2588
+#: gitk:2647
msgid "Remove this branch"
msgstr "Ta bort denna gren"
-#: gitk:2595
+#: gitk:2654
msgid "Highlight this too"
msgstr "Markera även detta"
-#: gitk:2596
+#: gitk:2655
msgid "Highlight this only"
msgstr "Markera bara detta"
-#: gitk:2597
+#: gitk:2656
msgid "External diff"
msgstr "Extern diff"
-#: gitk:2598
+#: gitk:2657
msgid "Blame parent commit"
msgstr "Klandra föräldraincheckning"
-#: gitk:2605
+#: gitk:2664
msgid "Show origin of this line"
msgstr "Visa ursprunget för den här raden"
-#: gitk:2606
+#: gitk:2665
msgid "Run git gui blame on this line"
msgstr "Kör git gui blame på den här raden"
-#: gitk:2927
+#: gitk:3011
+#, fuzzy
msgid ""
"\n"
"Gitk - a commit viewer for git\n"
"\n"
-"Copyright ©9 2005-2011 Paul Mackerras\n"
+"Copyright © 2005-2014 Paul Mackerras\n"
"\n"
"Use and redistribute under the terms of the GNU General Public License"
msgstr ""
@@ -375,302 +368,312 @@ msgstr ""
"\n"
"Använd och vidareförmedla enligt villkoren i GNU General Public License"
-#: gitk:2935 gitk:3000 gitk:9623
+#: gitk:3019 gitk:3085 gitk:9836
msgid "Close"
msgstr "Stäng"
-#: gitk:2956
+#: gitk:3040
msgid "Gitk key bindings"
msgstr "Tangentbordsbindningar för Gitk"
-#: gitk:2959
+#: gitk:3043
msgid "Gitk key bindings:"
msgstr "Tangentbordsbindningar för Gitk:"
-#: gitk:2961
+#: gitk:3045
#, tcl-format
msgid "<%s-Q>\t\tQuit"
msgstr "<%s-Q>\t\tAvsluta"
-#: gitk:2962
+#: gitk:3046
#, tcl-format
msgid "<%s-W>\t\tClose window"
msgstr "<%s-W>\t\tStäng fönster"
-#: gitk:2963
+#: gitk:3047
msgid "<Home>\t\tMove to first commit"
msgstr "<Home>\t\tGå till första incheckning"
-#: gitk:2964
+#: gitk:3048
msgid "<End>\t\tMove to last commit"
msgstr "<End>\t\tGå till sista incheckning"
-#: gitk:2965
+#: gitk:3049
msgid "<Up>, p, k\tMove up one commit"
msgstr "<Upp>, p, k\tGå en incheckning upp"
-#: gitk:2966
+#: gitk:3050
msgid "<Down>, n, j\tMove down one commit"
msgstr "<Ned>, n, j\tGå en incheckning ned"
-#: gitk:2967
+#: gitk:3051
msgid "<Left>, z, h\tGo back in history list"
msgstr "<Vänster>, z, h\tGå bakåt i historiken"
-#: gitk:2968
+#: gitk:3052
msgid "<Right>, x, l\tGo forward in history list"
msgstr "<Höger>, x, l\tGå framåt i historiken"
-#: gitk:2969
+#: gitk:3053
+#, tcl-format
+msgid "<%s-n>\tGo to n-th parent of current commit in history list"
+msgstr ""
+
+#: gitk:3054
msgid "<PageUp>\tMove up one page in commit list"
msgstr "<PageUp>\tGå upp en sida i incheckningslistan"
-#: gitk:2970
+#: gitk:3055
msgid "<PageDown>\tMove down one page in commit list"
msgstr "<PageDown>\tGå ned en sida i incheckningslistan"
-#: gitk:2971
+#: gitk:3056
#, tcl-format
msgid "<%s-Home>\tScroll to top of commit list"
msgstr "<%s-Home>\tRulla till början av incheckningslistan"
-#: gitk:2972
+#: gitk:3057
#, tcl-format
msgid "<%s-End>\tScroll to bottom of commit list"
msgstr "<%s-End>\tRulla till slutet av incheckningslistan"
-#: gitk:2973
+#: gitk:3058
#, tcl-format
msgid "<%s-Up>\tScroll commit list up one line"
msgstr "<%s-Upp>\tRulla incheckningslistan upp ett steg"
-#: gitk:2974
+#: gitk:3059
#, tcl-format
msgid "<%s-Down>\tScroll commit list down one line"
msgstr "<%s-Ned>\tRulla incheckningslistan ned ett steg"
-#: gitk:2975
+#: gitk:3060
#, tcl-format
msgid "<%s-PageUp>\tScroll commit list up one page"
msgstr "<%s-PageUp>\tRulla incheckningslistan upp en sida"
-#: gitk:2976
+#: gitk:3061
#, tcl-format
msgid "<%s-PageDown>\tScroll commit list down one page"
msgstr "<%s-PageDown>\tRulla incheckningslistan ned en sida"
-#: gitk:2977
+#: gitk:3062
msgid "<Shift-Up>\tFind backwards (upwards, later commits)"
msgstr "<Skift-Upp>\tSök bakåt (uppåt, senare incheckningar)"
-#: gitk:2978
+#: gitk:3063
msgid "<Shift-Down>\tFind forwards (downwards, earlier commits)"
msgstr "<Skift-Ned>\tSök framåt (nedåt, tidigare incheckningar)"
-#: gitk:2979
+#: gitk:3064
msgid "<Delete>, b\tScroll diff view up one page"
msgstr "<Delete>, b\tRulla diffvisningen upp en sida"
-#: gitk:2980
+#: gitk:3065
msgid "<Backspace>\tScroll diff view up one page"
msgstr "<Baksteg>\tRulla diffvisningen upp en sida"
-#: gitk:2981
+#: gitk:3066
msgid "<Space>\t\tScroll diff view down one page"
msgstr "<Blanksteg>\tRulla diffvisningen ned en sida"
-#: gitk:2982
+#: gitk:3067
msgid "u\t\tScroll diff view up 18 lines"
msgstr "u\t\tRulla diffvisningen upp 18 rader"
-#: gitk:2983
+#: gitk:3068
msgid "d\t\tScroll diff view down 18 lines"
msgstr "d\t\tRulla diffvisningen ned 18 rader"
-#: gitk:2984
+#: gitk:3069
#, tcl-format
msgid "<%s-F>\t\tFind"
msgstr "<%s-F>\t\tSök"
-#: gitk:2985
+#: gitk:3070
#, tcl-format
msgid "<%s-G>\t\tMove to next find hit"
msgstr "<%s-G>\t\tGå till nästa sökträff"
-#: gitk:2986
+#: gitk:3071
msgid "<Return>\tMove to next find hit"
msgstr "<Return>\t\tGå till nästa sökträff"
-#: gitk:2987
+#: gitk:3072
msgid "/\t\tFocus the search box"
msgstr "/\t\tFokusera sökrutan"
-#: gitk:2988
+#: gitk:3073
msgid "?\t\tMove to previous find hit"
msgstr "?\t\tGå till föregående sökträff"
-#: gitk:2989
+#: gitk:3074
msgid "f\t\tScroll diff view to next file"
msgstr "f\t\tRulla diffvisningen till nästa fil"
-#: gitk:2990
+#: gitk:3075
#, tcl-format
msgid "<%s-S>\t\tSearch for next hit in diff view"
msgstr "<%s-S>\t\tGå till nästa sökträff i diffvisningen"
-#: gitk:2991
+#: gitk:3076
#, tcl-format
msgid "<%s-R>\t\tSearch for previous hit in diff view"
msgstr "<%s-R>\t\tGå till föregående sökträff i diffvisningen"
-#: gitk:2992
+#: gitk:3077
#, tcl-format
msgid "<%s-KP+>\tIncrease font size"
msgstr "<%s-Num+>\tÖka teckenstorlek"
-#: gitk:2993
+#: gitk:3078
#, tcl-format
msgid "<%s-plus>\tIncrease font size"
msgstr "<%s-plus>\tÖka teckenstorlek"
-#: gitk:2994
+#: gitk:3079
#, tcl-format
msgid "<%s-KP->\tDecrease font size"
msgstr "<%s-Num->\tMinska teckenstorlek"
-#: gitk:2995
+#: gitk:3080
#, tcl-format
msgid "<%s-minus>\tDecrease font size"
msgstr "<%s-minus>\tMinska teckenstorlek"
-#: gitk:2996
+#: gitk:3081
msgid "<F5>\t\tUpdate"
msgstr "<F5>\t\tUppdatera"
-#: gitk:3451 gitk:3460
+#: gitk:3546 gitk:3555
#, tcl-format
msgid "Error creating temporary directory %s:"
msgstr "Fel vid skapande av temporär katalog %s:"
-#: gitk:3473
+#: gitk:3568
#, tcl-format
msgid "Error getting \"%s\" from %s:"
msgstr "Fel vid hämtning av \"%s\" från %s:"
-#: gitk:3536
+#: gitk:3631
msgid "command failed:"
msgstr "kommando misslyckades:"
-#: gitk:3685
+#: gitk:3780
msgid "No such commit"
msgstr "Incheckning saknas"
-#: gitk:3699
+#: gitk:3794
msgid "git gui blame: command failed:"
msgstr "git gui blame: kommando misslyckades:"
-#: gitk:3730
+#: gitk:3825
#, tcl-format
msgid "Couldn't read merge head: %s"
msgstr "Kunde inte läsa sammanslagningshuvud: %s"
-#: gitk:3738
+#: gitk:3833
#, tcl-format
msgid "Error reading index: %s"
msgstr "Fel vid läsning av index: %s"
-#: gitk:3763
+#: gitk:3858
#, tcl-format
msgid "Couldn't start git blame: %s"
msgstr "Kunde inte starta git blame: %s"
-#: gitk:3766 gitk:6591
+#: gitk:3861 gitk:6735
msgid "Searching"
msgstr "Söker"
-#: gitk:3798
+#: gitk:3893
#, tcl-format
msgid "Error running git blame: %s"
msgstr "Fel vid körning av git blame: %s"
-#: gitk:3826
+#: gitk:3921
#, tcl-format
msgid "That line comes from commit %s, which is not in this view"
msgstr "Raden kommer från incheckningen %s, som inte finns i denna vy"
-#: gitk:3840
+#: gitk:3935
msgid "External diff viewer failed:"
msgstr "Externt diff-verktyg misslyckades:"
-#: gitk:3958
+#: gitk:4053
msgid "Gitk view definition"
msgstr "Definition av Gitk-vy"
-#: gitk:3962
+#: gitk:4057
msgid "Remember this view"
msgstr "Spara denna vy"
-#: gitk:3963
+#: gitk:4058
msgid "References (space separated list):"
msgstr "Referenser (blankstegsavdelad lista):"
-#: gitk:3964
+#: gitk:4059
msgid "Branches & tags:"
msgstr "Grenar & taggar:"
-#: gitk:3965
+#: gitk:4060
msgid "All refs"
msgstr "Alla referenser"
-#: gitk:3966
+#: gitk:4061
msgid "All (local) branches"
msgstr "Alla (lokala) grenar"
-#: gitk:3967
+#: gitk:4062
msgid "All tags"
msgstr "Alla taggar"
-#: gitk:3968
+#: gitk:4063
msgid "All remote-tracking branches"
msgstr "Alla fjärrspårande grenar"
-#: gitk:3969
+#: gitk:4064
msgid "Commit Info (regular expressions):"
msgstr "Incheckningsinfo (reguljära uttryck):"
-#: gitk:3970
+#: gitk:4065
msgid "Author:"
msgstr "Författare:"
-#: gitk:3971
+#: gitk:4066
msgid "Committer:"
msgstr "Incheckare:"
-#: gitk:3972
+#: gitk:4067
msgid "Commit Message:"
msgstr "Incheckningsmeddelande:"
-#: gitk:3973
+#: gitk:4068
msgid "Matches all Commit Info criteria"
msgstr "Motsvarar alla kriterier för incheckningsinfo"
-#: gitk:3974
+#: gitk:4069
+#, fuzzy
+msgid "Matches none Commit Info criteria"
+msgstr "Motsvarar alla kriterier för incheckningsinfo"
+
+#: gitk:4070
msgid "Changes to Files:"
msgstr "Ändringar av filer:"
-#: gitk:3975
+#: gitk:4071
msgid "Fixed String"
msgstr "Fast sträng"
-#: gitk:3976
+#: gitk:4072
msgid "Regular Expression"
msgstr "Reguljärt uttryck"
-#: gitk:3977
+#: gitk:4073
msgid "Search string:"
msgstr "Söksträng:"
-#: gitk:3978
+#: gitk:4074
msgid ""
"Commit Dates (\"2 weeks ago\", \"2009-03-17 15:27:38\", \"March 17, 2009 "
"15:27:38\"):"
@@ -678,201 +681,201 @@ msgstr ""
"Incheckingsdatum (\"2 weeks ago\", \"2009-03-17 15:27:38\", \"March 17, 2009 "
"15:27:38\"):"
-#: gitk:3979
+#: gitk:4075
msgid "Since:"
msgstr "Från:"
-#: gitk:3980
+#: gitk:4076
msgid "Until:"
msgstr "Till:"
-#: gitk:3981
+#: gitk:4077
msgid "Limit and/or skip a number of revisions (positive integer):"
msgstr "Begränsa och/eller hoppa över ett antal revisioner (positivt heltal):"
-#: gitk:3982
+#: gitk:4078
msgid "Number to show:"
msgstr "Antal att visa:"
-#: gitk:3983
+#: gitk:4079
msgid "Number to skip:"
msgstr "Antal att hoppa över:"
-#: gitk:3984
+#: gitk:4080
msgid "Miscellaneous options:"
msgstr "Diverse alternativ:"
-#: gitk:3985
+#: gitk:4081
msgid "Strictly sort by date"
msgstr "Strikt datumsortering"
-#: gitk:3986
+#: gitk:4082
msgid "Mark branch sides"
msgstr "Markera sidogrenar"
-#: gitk:3987
+#: gitk:4083
msgid "Limit to first parent"
msgstr "Begränsa till första förälder"
-#: gitk:3988
+#: gitk:4084
msgid "Simple history"
msgstr "Enkel historik"
-#: gitk:3989
+#: gitk:4085
msgid "Additional arguments to git log:"
msgstr "Ytterligare argument till git log:"
-#: gitk:3990
+#: gitk:4086
msgid "Enter files and directories to include, one per line:"
msgstr "Ange filer och kataloger att ta med, en per rad:"
-#: gitk:3991
+#: gitk:4087
msgid "Command to generate more commits to include:"
msgstr "Kommando för att generera fler incheckningar att ta med:"
-#: gitk:4115
+#: gitk:4211
msgid "Gitk: edit view"
msgstr "Gitk: redigera vy"
-#: gitk:4123
+#: gitk:4219
msgid "-- criteria for selecting revisions"
msgstr " - kriterier för val av revisioner"
-#: gitk:4128
+#: gitk:4224
msgid "View Name"
msgstr "Namn på vy"
-#: gitk:4203
+#: gitk:4299
msgid "Apply (F5)"
msgstr "Använd (F5)"
-#: gitk:4241
+#: gitk:4337
msgid "Error in commit selection arguments:"
msgstr "Fel i argument för val av incheckningar:"
-#: gitk:4294 gitk:4346 gitk:4807 gitk:4821 gitk:6087 gitk:12041 gitk:12042
+#: gitk:4392 gitk:4445 gitk:4906 gitk:4920 gitk:6190 gitk:12346 gitk:12347
msgid "None"
msgstr "Inget"
-#: gitk:4904 gitk:4909
+#: gitk:5003 gitk:5008
msgid "Descendant"
msgstr "Avkomling"
-#: gitk:4905
+#: gitk:5004
msgid "Not descendant"
msgstr "Inte avkomling"
-#: gitk:4912 gitk:4917
+#: gitk:5011 gitk:5016
msgid "Ancestor"
msgstr "Förfader"
-#: gitk:4913
+#: gitk:5012
msgid "Not ancestor"
msgstr "Inte förfader"
-#: gitk:5203
+#: gitk:5306
msgid "Local changes checked in to index but not committed"
msgstr "Lokala ändringar sparade i indexet men inte incheckade"
-#: gitk:5239
+#: gitk:5342
msgid "Local uncommitted changes, not checked in to index"
msgstr "Lokala ändringar, ej sparade i indexet"
-#: gitk:6971
+#: gitk:7115
msgid "and many more"
msgstr "med många flera"
-#: gitk:6974
+#: gitk:7118
msgid "many"
msgstr "många"
-#: gitk:7160
+#: gitk:7309
msgid "Tags:"
msgstr "Taggar:"
-#: gitk:7177 gitk:7183 gitk:8593
+#: gitk:7326 gitk:7332 gitk:8806
msgid "Parent"
msgstr "Förälder"
-#: gitk:7188
+#: gitk:7337
msgid "Child"
msgstr "Barn"
-#: gitk:7197
+#: gitk:7346
msgid "Branch"
msgstr "Gren"
-#: gitk:7200
+#: gitk:7349
msgid "Follows"
msgstr "Följer"
-#: gitk:7203
+#: gitk:7352
msgid "Precedes"
msgstr "Föregår"
-#: gitk:7742
+#: gitk:7947
#, tcl-format
msgid "Error getting diffs: %s"
msgstr "Fel vid hämtning av diff: %s"
-#: gitk:8418
+#: gitk:8631
msgid "Goto:"
msgstr "Gå till:"
-#: gitk:8439
+#: gitk:8652
#, tcl-format
msgid "Short SHA1 id %s is ambiguous"
msgstr "Förkortat SHA1-id %s är tvetydigt"
-#: gitk:8446
+#: gitk:8659
#, tcl-format
msgid "Revision %s is not known"
msgstr "Revisionen %s är inte känd"
-#: gitk:8456
+#: gitk:8669
#, tcl-format
msgid "SHA1 id %s is not known"
msgstr "SHA-id:t %s är inte känt"
-#: gitk:8458
+#: gitk:8671
#, tcl-format
msgid "Revision %s is not in the current view"
msgstr "Revisionen %s finns inte i den nuvarande vyn"
-#: gitk:8600 gitk:8615
+#: gitk:8813 gitk:8828
msgid "Date"
msgstr "Datum"
-#: gitk:8603
+#: gitk:8816
msgid "Children"
msgstr "Barn"
-#: gitk:8666
+#: gitk:8879
#, tcl-format
msgid "Reset %s branch to here"
msgstr "Återställ grenen %s hit"
-#: gitk:8668
+#: gitk:8881
msgid "Detached head: can't reset"
msgstr "Frånkopplad head: kan inte återställa"
-#: gitk:8773 gitk:8779
+#: gitk:8986 gitk:8992
msgid "Skipping merge commit "
msgstr "Hoppar över sammanslagningsincheckning "
-#: gitk:8788 gitk:8793
+#: gitk:9001 gitk:9006
msgid "Error getting patch ID for "
msgstr "Fel vid hämtning av patch-id för "
-#: gitk:8789 gitk:8794
+#: gitk:9002 gitk:9007
msgid " - stopping\n"
msgstr " - stannar\n"
-#: gitk:8799 gitk:8802 gitk:8810 gitk:8824 gitk:8833
+#: gitk:9012 gitk:9015 gitk:9023 gitk:9037 gitk:9046
msgid "Commit "
msgstr "Incheckning "
-#: gitk:8803
+#: gitk:9016
msgid ""
" is the same patch as\n"
" "
@@ -880,7 +883,7 @@ msgstr ""
" är samma patch som\n"
" "
-#: gitk:8811
+#: gitk:9024
msgid ""
" differs from\n"
" "
@@ -888,7 +891,7 @@ msgstr ""
" skiljer sig från\n"
" "
-#: gitk:8813
+#: gitk:9026
msgid ""
"Diff of commits:\n"
"\n"
@@ -896,131 +899,131 @@ msgstr ""
"Skillnad mellan incheckningar:\n"
"\n"
-#: gitk:8825 gitk:8834
+#: gitk:9038 gitk:9047
#, tcl-format
msgid " has %s children - stopping\n"
msgstr " har %s barn - stannar\n"
-#: gitk:8853
+#: gitk:9066
#, tcl-format
msgid "Error writing commit to file: %s"
msgstr "Fel vid skrivning av incheckning till fil: %s"
-#: gitk:8859
+#: gitk:9072
#, tcl-format
msgid "Error diffing commits: %s"
msgstr "Fel vid jämförelse av incheckningar: %s"
-#: gitk:8905
+#: gitk:9118
msgid "Top"
msgstr "Topp"
-#: gitk:8906
+#: gitk:9119
msgid "From"
msgstr "Från"
-#: gitk:8911
+#: gitk:9124
msgid "To"
msgstr "Till"
-#: gitk:8935
+#: gitk:9148
msgid "Generate patch"
msgstr "Generera patch"
-#: gitk:8937
+#: gitk:9150
msgid "From:"
msgstr "Från:"
-#: gitk:8946
+#: gitk:9159
msgid "To:"
msgstr "Till:"
-#: gitk:8955
+#: gitk:9168
msgid "Reverse"
msgstr "Vänd"
-#: gitk:8957 gitk:9153
+#: gitk:9170 gitk:9366
msgid "Output file:"
msgstr "Utdatafil:"
-#: gitk:8963
+#: gitk:9176
msgid "Generate"
msgstr "Generera"
-#: gitk:9001
+#: gitk:9214
msgid "Error creating patch:"
msgstr "Fel vid generering av patch:"
-#: gitk:9024 gitk:9141 gitk:9198
+#: gitk:9237 gitk:9354 gitk:9411
msgid "ID:"
msgstr "Id:"
-#: gitk:9033
+#: gitk:9246
msgid "Tag name:"
msgstr "Taggnamn:"
-#: gitk:9036
+#: gitk:9249
msgid "Tag message is optional"
msgstr "Taggmeddelandet är valfritt"
-#: gitk:9038
+#: gitk:9251
msgid "Tag message:"
msgstr "Taggmeddelande:"
-#: gitk:9042 gitk:9207
+#: gitk:9255 gitk:9420
msgid "Create"
msgstr "Skapa"
-#: gitk:9060
+#: gitk:9273
msgid "No tag name specified"
msgstr "Inget taggnamn angavs"
-#: gitk:9064
+#: gitk:9277
#, tcl-format
msgid "Tag \"%s\" already exists"
msgstr "Taggen \"%s\" finns redan"
-#: gitk:9074
+#: gitk:9287
msgid "Error creating tag:"
msgstr "Fel vid skapande av tagg:"
-#: gitk:9150
+#: gitk:9363
msgid "Command:"
msgstr "Kommando:"
-#: gitk:9158
+#: gitk:9371
msgid "Write"
msgstr "Skriv"
-#: gitk:9176
+#: gitk:9389
msgid "Error writing commit:"
msgstr "Fel vid skrivning av incheckning:"
-#: gitk:9203
+#: gitk:9416
msgid "Name:"
msgstr "Namn:"
-#: gitk:9226
+#: gitk:9439
msgid "Please specify a name for the new branch"
msgstr "Ange ett namn för den nya grenen"
-#: gitk:9231
+#: gitk:9444
#, tcl-format
msgid "Branch '%s' already exists. Overwrite?"
msgstr "Grenen \"%s\" finns redan. Skriva över?"
-#: gitk:9298
+#: gitk:9511
#, tcl-format
msgid "Commit %s is already included in branch %s -- really re-apply it?"
msgstr ""
"Incheckningen %s finns redan på grenen %s -- skall den verkligen appliceras "
"på nytt?"
-#: gitk:9303
+#: gitk:9516
msgid "Cherry-picking"
msgstr "Plockar"
-#: gitk:9312
+#: gitk:9525
#, tcl-format
msgid ""
"Cherry-pick failed because of local changes to file '%s'.\n"
@@ -1030,7 +1033,7 @@ msgstr ""
"Checka in, återställ eller spara undan (stash) dina ändringar och försök "
"igen."
-#: gitk:9318
+#: gitk:9531
msgid ""
"Cherry-pick failed because of merge conflict.\n"
"Do you wish to run git citool to resolve it?"
@@ -1038,20 +1041,20 @@ msgstr ""
"Cherry-pick misslyckades på grund av en sammanslagningskonflikt.\n"
"Vill du köra git citool för att lösa den?"
-#: gitk:9334 gitk:9392
+#: gitk:9547 gitk:9605
msgid "No changes committed"
msgstr "Inga ändringar incheckade"
-#: gitk:9361
+#: gitk:9574
#, tcl-format
msgid "Commit %s is not included in branch %s -- really revert it?"
msgstr "Incheckningen %s finns inte på grenen %s -- vill du verkligen ångra?"
-#: gitk:9366
+#: gitk:9579
msgid "Reverting"
msgstr "Ångrar"
-#: gitk:9374
+#: gitk:9587
#, tcl-format
msgid ""
"Revert failed because of local changes to the following files:%s Please "
@@ -1061,7 +1064,7 @@ msgstr ""
"Checka in, återställ eller spara undan (stash) dina ändringar och försök "
"igen."
-#: gitk:9378
+#: gitk:9591
msgid ""
"Revert failed because of merge conflict.\n"
" Do you wish to run git citool to resolve it?"
@@ -1069,28 +1072,28 @@ msgstr ""
"Misslyckades med att ångra på grund av en sammanslagningskonflikt.\n"
" Vill du köra git citool för att lösa den?"
-#: gitk:9421
+#: gitk:9634
msgid "Confirm reset"
msgstr "Bekräfta återställning"
-#: gitk:9423
+#: gitk:9636
#, tcl-format
msgid "Reset branch %s to %s?"
msgstr "Återställa grenen %s till %s?"
-#: gitk:9425
+#: gitk:9638
msgid "Reset type:"
msgstr "Typ av återställning:"
-#: gitk:9428
+#: gitk:9641
msgid "Soft: Leave working tree and index untouched"
msgstr "Mjuk: Rör inte utcheckning och index"
-#: gitk:9431
+#: gitk:9644
msgid "Mixed: Leave working tree untouched, reset index"
msgstr "Blandad: Rör inte utcheckning, återställ index"
-#: gitk:9434
+#: gitk:9647
msgid ""
"Hard: Reset working tree and index\n"
"(discard ALL local changes)"
@@ -1098,19 +1101,19 @@ msgstr ""
"Hård: Återställ utcheckning och index\n"
"(förkastar ALLA lokala ändringar)"
-#: gitk:9451
+#: gitk:9664
msgid "Resetting"
msgstr "Återställer"
-#: gitk:9511
+#: gitk:9724
msgid "Checking out"
msgstr "Checkar ut"
-#: gitk:9564
+#: gitk:9777
msgid "Cannot delete the currently checked-out branch"
msgstr "Kan inte ta bort den just nu utcheckade grenen"
-#: gitk:9570
+#: gitk:9783
#, tcl-format
msgid ""
"The commits on branch %s aren't on any other branch.\n"
@@ -1119,16 +1122,16 @@ msgstr ""
"Incheckningarna på grenen %s existerar inte på någon annan gren.\n"
"Vill du verkligen ta bort grenen %s?"
-#: gitk:9601
+#: gitk:9814
#, tcl-format
msgid "Tags and heads: %s"
msgstr "Taggar och huvuden: %s"
-#: gitk:9616
+#: gitk:9829
msgid "Filter"
msgstr "Filter"
-#: gitk:9912
+#: gitk:10125
msgid ""
"Error reading commit topology information; branch and preceding/following "
"tag information will be incomplete."
@@ -1136,217 +1139,223 @@ msgstr ""
"Fel vid läsning av information om incheckningstopologi; information om "
"grenar och föregående/senare taggar kommer inte vara komplett."
-#: gitk:10899
+#: gitk:11102
msgid "Tag"
msgstr "Tagg"
-#: gitk:10899
+#: gitk:11106
msgid "Id"
msgstr "Id"
-#: gitk:10948
+#: gitk:11189
msgid "Gitk font chooser"
msgstr "Teckensnittsväljare för Gitk"
-#: gitk:10965
+#: gitk:11206
msgid "B"
msgstr "F"
-#: gitk:10968
+#: gitk:11209
msgid "I"
msgstr "K"
-#: gitk:11086
+#: gitk:11327
msgid "Commit list display options"
msgstr "Alternativ för incheckningslistvy"
-#: gitk:11089
+#: gitk:11330
msgid "Maximum graph width (lines)"
msgstr "Maximal grafbredd (rader)"
-#: gitk:11092
-#, tcl-format
+#: gitk:11334
+#, no-tcl-format
msgid "Maximum graph width (% of pane)"
msgstr "Maximal grafbredd (% av ruta)"
-#: gitk:11095
+#: gitk:11337
msgid "Show local changes"
msgstr "Visa lokala ändringar"
-#: gitk:11098
+#: gitk:11340
msgid "Auto-select SHA1 (length)"
msgstr "Välj SHA1 (längd) automatiskt"
-#: gitk:11102
+#: gitk:11344
msgid "Hide remote refs"
msgstr "Dölj fjärr-referenser"
-#: gitk:11106
+#: gitk:11348
msgid "Diff display options"
msgstr "Alternativ för diffvy"
-#: gitk:11108
+#: gitk:11350
msgid "Tab spacing"
msgstr "Blanksteg för tabulatortecken"
-#: gitk:11111
+#: gitk:11353
msgid "Display nearby tags/heads"
msgstr "Visa närliggande taggar/huvuden"
-#: gitk:11114
+#: gitk:11356
msgid "Maximum # tags/heads to show"
msgstr "Maximalt antal taggar/huvuden att visa"
-#: gitk:11117
+#: gitk:11359
msgid "Limit diffs to listed paths"
msgstr "Begränsa diff till listade sökvägar"
-#: gitk:11120
+#: gitk:11362
msgid "Support per-file encodings"
msgstr "Stöd för filspecifika teckenkodningar"
-#: gitk:11126 gitk:11273
+#: gitk:11368 gitk:11515
msgid "External diff tool"
msgstr "Externt diff-verktyg"
-#: gitk:11127
+#: gitk:11369
msgid "Choose..."
msgstr "Välj..."
-#: gitk:11132
+#: gitk:11374
msgid "General options"
msgstr "Allmänna inställningar"
-#: gitk:11135
+#: gitk:11377
msgid "Use themed widgets"
msgstr "Använd tema på fönsterelement"
-#: gitk:11137
+#: gitk:11379
msgid "(change requires restart)"
msgstr "(ändringen kräver omstart)"
-#: gitk:11139
+#: gitk:11381
msgid "(currently unavailable)"
msgstr "(för närvarande inte tillgängligt)"
-#: gitk:11150
+#: gitk:11392
msgid "Colors: press to choose"
msgstr "Färger: tryck för att välja"
-#: gitk:11153
+#: gitk:11395
msgid "Interface"
msgstr "Gränssnitt"
-#: gitk:11154
+#: gitk:11396
msgid "interface"
msgstr "gränssnitt"
-#: gitk:11157
+#: gitk:11399
msgid "Background"
msgstr "Bakgrund"
-#: gitk:11158 gitk:11188
+#: gitk:11400 gitk:11430
msgid "background"
msgstr "bakgrund"
-#: gitk:11161
+#: gitk:11403
msgid "Foreground"
msgstr "Förgrund"
-#: gitk:11162
+#: gitk:11404
msgid "foreground"
msgstr "förgrund"
-#: gitk:11165
+#: gitk:11407
msgid "Diff: old lines"
msgstr "Diff: gamla rader"
-#: gitk:11166
+#: gitk:11408
msgid "diff old lines"
msgstr "diff gamla rader"
-#: gitk:11170
+#: gitk:11412
msgid "Diff: new lines"
msgstr "Diff: nya rader"
-#: gitk:11171
+#: gitk:11413
msgid "diff new lines"
msgstr "diff nya rader"
-#: gitk:11175
+#: gitk:11417
msgid "Diff: hunk header"
msgstr "Diff: delhuvud"
-#: gitk:11177
+#: gitk:11419
msgid "diff hunk header"
msgstr "diff delhuvud"
-#: gitk:11181
+#: gitk:11423
msgid "Marked line bg"
msgstr "Markerad rad bakgrund"
-#: gitk:11183
+#: gitk:11425
msgid "marked line background"
msgstr "markerad rad bakgrund"
-#: gitk:11187
+#: gitk:11429
msgid "Select bg"
msgstr "Markerad bakgrund"
-#: gitk:11196
+#: gitk:11438
msgid "Fonts: press to choose"
msgstr "Teckensnitt: tryck för att välja"
-#: gitk:11198
+#: gitk:11440
msgid "Main font"
msgstr "Huvudteckensnitt"
-#: gitk:11199
+#: gitk:11441
msgid "Diff display font"
msgstr "Teckensnitt för diffvisning"
-#: gitk:11200
+#: gitk:11442
msgid "User interface font"
msgstr "Teckensnitt för användargränssnitt"
-#: gitk:11222
+#: gitk:11464
msgid "Gitk preferences"
msgstr "Inställningar för Gitk"
-#: gitk:11231
+#: gitk:11473
msgid "General"
msgstr "Allmänt"
-#: gitk:11232
+#: gitk:11474
msgid "Colors"
msgstr "Färger"
-#: gitk:11233
+#: gitk:11475
msgid "Fonts"
msgstr "Teckensnitt"
-#: gitk:11283
+#: gitk:11525
#, tcl-format
msgid "Gitk: choose color for %s"
msgstr "Gitk: välj färg för %s"
-#: gitk:11937
+#: gitk:12242
msgid "Cannot find a git repository here."
msgstr "Hittar inget git-arkiv här."
-#: gitk:11984
+#: gitk:12289
#, tcl-format
msgid "Ambiguous argument '%s': both revision and filename"
msgstr "Tvetydigt argument \"%s\": både revision och filnamn"
-#: gitk:11996
+#: gitk:12301
msgid "Bad arguments to gitk:"
msgstr "Felaktiga argument till gitk:"
-#: gitk:12099
+#: gitk:12405
msgid "Command line"
msgstr "Kommandorad"
+#~ msgid "next"
+#~ msgstr "nästa"
+
+#~ msgid "prev"
+#~ msgstr "föreg"
+
#~ msgid "CDate"
#~ msgstr "Skapat datum"
diff --git a/gitk-git/po/vi.po b/gitk-git/po/vi.po
index 4dfe125a69..ade9cb70cb 100644
--- a/gitk-git/po/vi.po
+++ b/gitk-git/po/vi.po
@@ -6,8 +6,8 @@
msgid ""
msgstr ""
"Project-Id-Version: gitk @@GIT_VERSION@@\n"
-"Report-Msgid-Bugs-To: Paul Mackerras <paulus@samba.org>\n"
-"POT-Creation-Date: 2013-12-14 09:24+0700\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2015-03-15 14:37+1100\n"
"PO-Revision-Date: 2013-12-14 14:40+0700\n"
"Last-Translator: Trần Ngọc Quân <vnwildman@gmail.com>\n"
"Language-Team: Vietnamese <translation-team-vi@lists.sourceforge.net>\n"
@@ -21,28 +21,28 @@ msgstr ""
msgid "Couldn't get list of unmerged files:"
msgstr "Không thể lấy danh sách các tập-tin chưa được hòa trộn:"
-#: gitk:212 gitk:2353
+#: gitk:212 gitk:2381
msgid "Color words"
msgstr "Tô màu chữ"
-#: gitk:217 gitk:2353 gitk:8103 gitk:8136
+#: gitk:217 gitk:2381 gitk:8201 gitk:8234
msgid "Markup words"
msgstr "Đánh dấu chữ"
-#: gitk:322
+#: gitk:324
msgid "Error parsing revisions:"
msgstr "Gặp lỗi khi phân tích điểm xét duyệt:"
-#: gitk:378
+#: gitk:380
msgid "Error executing --argscmd command:"
msgstr "Gặp lỗi khi thực hiện lệnh --argscmd:"
-#: gitk:391
+#: gitk:393
msgid "No files selected: --merge specified but no files are unmerged."
msgstr ""
"Chưa chọn tập tin: --merge đã chỉ định nhưng không có tập tin chưa hòa trộn."
-#: gitk:394
+#: gitk:396
msgid ""
"No files selected: --merge specified but no unmerged files are within file "
"limit."
@@ -50,319 +50,312 @@ msgstr ""
"Chưa chọn tập tin: --merge đã chỉ định nhưng không có tập tin chưa hòa trộn "
"trong giới hạn tập tin."
-#: gitk:416 gitk:564
+#: gitk:418 gitk:566
msgid "Error executing git log:"
msgstr "Gặp lỗi khi thực hiện lệnh git log:"
-#: gitk:434 gitk:580
+#: gitk:436 gitk:582
msgid "Reading"
msgstr "Đang đọc"
-#: gitk:494 gitk:4429
+#: gitk:496 gitk:4508
msgid "Reading commits..."
msgstr "Đang đọc các lần chuyển giao..."
-#: gitk:497 gitk:1635 gitk:4432
+#: gitk:499 gitk:1637 gitk:4511
msgid "No commits selected"
msgstr "Chưa chọn các lần chuyển giao"
-#: gitk:1509
+#: gitk:1511
msgid "Can't parse git log output:"
msgstr "Không thể phân tích kết xuất từ lệnh git log:"
-#: gitk:1738
+#: gitk:1740
msgid "No commit information available"
msgstr "Không có thông tin về lần chuyển giao nào"
-#: gitk:1895
+#: gitk:1897
msgid "mc"
msgstr "mc"
-#: gitk:1930 gitk:4222 gitk:9552 gitk:11122 gitk:11401
+#: gitk:1932 gitk:4298 gitk:9650 gitk:11220 gitk:11500
msgid "OK"
msgstr "Đồng ý"
-#: gitk:1932 gitk:4224 gitk:9079 gitk:9158 gitk:9274 gitk:9323 gitk:9554
-#: gitk:11123 gitk:11402
+#: gitk:1934 gitk:4300 gitk:9177 gitk:9256 gitk:9372 gitk:9421 gitk:9652
+#: gitk:11221 gitk:11501
msgid "Cancel"
msgstr "Thôi"
-#: gitk:2067
+#: gitk:2069
msgid "Update"
msgstr "Cập nhật"
-#: gitk:2068
+#: gitk:2070
msgid "Reload"
msgstr "Tải lại"
-#: gitk:2069
+#: gitk:2071
msgid "Reread references"
msgstr "Đọc lại tham chiếu"
-#: gitk:2070
+#: gitk:2072
msgid "List references"
msgstr "Liệt kê các tham chiếu"
-#: gitk:2072
+#: gitk:2074
msgid "Start git gui"
msgstr "Khởi chạy git gui"
-#: gitk:2074
+#: gitk:2076
msgid "Quit"
msgstr "Thoát"
-#: gitk:2066
+#: gitk:2068
msgid "File"
msgstr "Chính"
-#: gitk:2078
+#: gitk:2080
msgid "Preferences"
msgstr "Cá nhân hóa"
-#: gitk:2077
+#: gitk:2079
msgid "Edit"
msgstr "Chỉnh sửa"
-#: gitk:2082
+#: gitk:2084
msgid "New view..."
msgstr "Thêm trình bày mới..."
-#: gitk:2083
+#: gitk:2085
msgid "Edit view..."
msgstr "Sửa cách trình bày..."
-#: gitk:2084
+#: gitk:2086
msgid "Delete view"
msgstr "Xóa cách trình bày"
-#: gitk:2086
+#: gitk:2088
msgid "All files"
msgstr "Mọi tập tin"
-#: gitk:2081 gitk:3975
+#: gitk:2083 gitk:4050
msgid "View"
msgstr "Trình bày"
-#: gitk:2091 gitk:2101 gitk:2945
+#: gitk:2093 gitk:2103 gitk:3009
msgid "About gitk"
msgstr "Giới thiệu về gitk"
-#: gitk:2092 gitk:2106
+#: gitk:2094 gitk:2108
msgid "Key bindings"
msgstr "Tổ hợp phím"
-#: gitk:2090 gitk:2105
+#: gitk:2092 gitk:2107
msgid "Help"
msgstr "Trợ giúp"
-#: gitk:2183 gitk:8535
+#: gitk:2185 gitk:8633
msgid "SHA1 ID:"
msgstr "SHA1 ID:"
-#: gitk:2227
+#: gitk:2229
msgid "Row"
msgstr "Hàng"
-#: gitk:2265
+#: gitk:2267
msgid "Find"
msgstr "Tìm"
-#: gitk:2266
-msgid "next"
-msgstr "tiếp"
-
-#: gitk:2267
-msgid "prev"
-msgstr "trước"
-
-#: gitk:2268
+#: gitk:2295
msgid "commit"
msgstr "lần chuyển giao"
-#: gitk:2271 gitk:2273 gitk:4590 gitk:4613 gitk:4637 gitk:6653 gitk:6725
-#: gitk:6810
+#: gitk:2299 gitk:2301 gitk:4669 gitk:4692 gitk:4716 gitk:6736 gitk:6808
+#: gitk:6893
msgid "containing:"
msgstr "có chứa:"
-#: gitk:2274 gitk:3457 gitk:3462 gitk:4666
+#: gitk:2302 gitk:3522 gitk:3527 gitk:4745
msgid "touching paths:"
msgstr "đang chạm đường dẫn:"
-#: gitk:2275 gitk:4680
+#: gitk:2303 gitk:4759
msgid "adding/removing string:"
msgstr "thêm/gỡ bỏ chuỗi:"
-#: gitk:2276 gitk:4682
+#: gitk:2304 gitk:4761
msgid "changing lines matching:"
msgstr "những dòng thay đổi khớp mẫu:"
-#: gitk:2285 gitk:2287 gitk:4669
+#: gitk:2313 gitk:2315 gitk:4748
msgid "Exact"
msgstr "Chính xác"
-#: gitk:2287 gitk:4757 gitk:6621
+#: gitk:2315 gitk:4836 gitk:6704
msgid "IgnCase"
msgstr "BquaHt"
-#: gitk:2287 gitk:4639 gitk:4755 gitk:6617
+#: gitk:2315 gitk:4718 gitk:4834 gitk:6700
msgid "Regexp"
msgstr "BTCQ"
-#: gitk:2289 gitk:2290 gitk:4777 gitk:4807 gitk:4814 gitk:6746 gitk:6814
+#: gitk:2317 gitk:2318 gitk:4856 gitk:4886 gitk:4893 gitk:6829 gitk:6897
msgid "All fields"
msgstr "Mọi trường"
-#: gitk:2290 gitk:4774 gitk:4807 gitk:6684
+#: gitk:2318 gitk:4853 gitk:4886 gitk:6767
msgid "Headline"
msgstr "Nội dung chính"
-#: gitk:2291 gitk:4774 gitk:6684 gitk:6814 gitk:7283
+#: gitk:2319 gitk:4853 gitk:6767 gitk:6897 gitk:7370
msgid "Comments"
msgstr "Ghi chú"
-#: gitk:2291 gitk:4774 gitk:4779 gitk:4814 gitk:6684 gitk:7218 gitk:8713
-#: gitk:8728
+#: gitk:2319 gitk:4853 gitk:4858 gitk:4893 gitk:6767 gitk:7305 gitk:8811
+#: gitk:8826
msgid "Author"
msgstr "Tác giả"
-#: gitk:2291 gitk:4774 gitk:6684 gitk:7220
+#: gitk:2319 gitk:4853 gitk:6767 gitk:7307
msgid "Committer"
msgstr "Người chuyển giao"
-#: gitk:2322
+#: gitk:2350
msgid "Search"
msgstr "Tìm kiếm"
-#: gitk:2330
+#: gitk:2358
msgid "Diff"
msgstr "So sánh"
-#: gitk:2332
+#: gitk:2360
msgid "Old version"
msgstr "Phiên bản cũ"
-#: gitk:2334
+#: gitk:2362
msgid "New version"
msgstr "Phiên bản mới"
-#: gitk:2336
+#: gitk:2364
msgid "Lines of context"
msgstr "Các dòng của nội dung"
-#: gitk:2346
+#: gitk:2374
msgid "Ignore space change"
msgstr "Không xét đến thay đổi do khoảng trắng"
-#: gitk:2350 gitk:2352 gitk:7842 gitk:8089
+#: gitk:2378 gitk:2380 gitk:7940 gitk:8187
msgid "Line diff"
msgstr "Khác biệt theo dòng"
-#: gitk:2417
+#: gitk:2445
msgid "Patch"
msgstr "Vá"
-#: gitk:2419
+#: gitk:2447
msgid "Tree"
msgstr "Cây"
-#: gitk:2577 gitk:2597
+#: gitk:2616 gitk:2636
msgid "Diff this -> selected"
msgstr "So sánh cái này -> cái đã chọn"
-#: gitk:2578 gitk:2598
+#: gitk:2617 gitk:2637
msgid "Diff selected -> this"
msgstr "So sánh cái đã chọn -> cái này"
-#: gitk:2579 gitk:2599
+#: gitk:2618 gitk:2638
msgid "Make patch"
msgstr "Tạo miếng vá"
-#: gitk:2580 gitk:9137
+#: gitk:2619 gitk:9235
msgid "Create tag"
msgstr "Tạo thẻ"
-#: gitk:2581 gitk:9254
+#: gitk:2620 gitk:9352
msgid "Write commit to file"
msgstr "Ghi lần chuyển giao ra tập tin"
-#: gitk:2582 gitk:9311
+#: gitk:2621 gitk:9409
msgid "Create new branch"
msgstr "Tạo nhánh mới"
-#: gitk:2583
+#: gitk:2622
msgid "Cherry-pick this commit"
msgstr "Cherry-pick lần chuyển giao này"
-#: gitk:2584
+#: gitk:2623
msgid "Reset HEAD branch to here"
msgstr "Đặt lại HEAD của nhánh vào đây"
-#: gitk:2585
+#: gitk:2624
msgid "Mark this commit"
msgstr "Đánh dấu lần chuyển giao này"
-#: gitk:2586
+#: gitk:2625
msgid "Return to mark"
msgstr "Quay lại vị trí dấu"
-#: gitk:2587
+#: gitk:2626
msgid "Find descendant of this and mark"
msgstr "Tìm con cháu của cái này và cái đã đánh dấu"
-#: gitk:2588
+#: gitk:2627
msgid "Compare with marked commit"
msgstr "So sánh với lần chuyển giao đã đánh dấu"
-#: gitk:2589 gitk:2600
+#: gitk:2628 gitk:2639
msgid "Diff this -> marked commit"
msgstr "So sánh cái này -> lần chuyển giao đã đánh dấu"
-#: gitk:2590 gitk:2601
+#: gitk:2629 gitk:2640
msgid "Diff marked commit -> this"
msgstr "So sánh lần chuyển giao đã đánh dấu -> cái này"
-#: gitk:2591
+#: gitk:2630
msgid "Revert this commit"
msgstr "Hoàn lại lần chuyển giao này"
-#: gitk:2607
+#: gitk:2646
msgid "Check out this branch"
msgstr "Checkout nhánh này"
-#: gitk:2608
+#: gitk:2647
msgid "Remove this branch"
msgstr "Gỡ bỏ nhánh này"
-#: gitk:2615
+#: gitk:2654
msgid "Highlight this too"
msgstr "Cũng tô sáng nó"
-#: gitk:2616
+#: gitk:2655
msgid "Highlight this only"
msgstr "Chỉ tô sáng cái này"
-#: gitk:2617
+#: gitk:2656
msgid "External diff"
msgstr "diff từ bên ngoài"
-#: gitk:2618
+#: gitk:2657
msgid "Blame parent commit"
msgstr "Xem công trạng lần chuyển giao cha mẹ"
-#: gitk:2625
+#: gitk:2664
msgid "Show origin of this line"
msgstr "Hiển thị nguyên gốc của dòng này"
-#: gitk:2626
+#: gitk:2665
msgid "Run git gui blame on this line"
msgstr "Chạy lệnh git gui blame cho dòng này"
-#: gitk:2947
+#: gitk:3011
+#, fuzzy
msgid ""
"\n"
"Gitk - a commit viewer for git\n"
"\n"
-"Copyright © 2005-2011 Paul Mackerras\n"
+"Copyright © 2005-2014 Paul Mackerras\n"
"\n"
"Use and redistribute under the terms of the GNU General Public License"
msgstr ""
@@ -373,304 +366,314 @@ msgstr ""
"\n"
"Dùng và phân phối lại phần mềm này theo các điều khoản của Giấy Phép Công GNU"
-#: gitk:2955 gitk:3020 gitk:9738
+#: gitk:3019 gitk:3085 gitk:9836
msgid "Close"
msgstr "Đóng"
-#: gitk:2976
+#: gitk:3040
msgid "Gitk key bindings"
msgstr "Tổ hợp phím gitk"
-#: gitk:2979
+#: gitk:3043
msgid "Gitk key bindings:"
msgstr "Tổ hợp phím gitk:"
-#: gitk:2981
+#: gitk:3045
#, tcl-format
msgid "<%s-Q>\t\tQuit"
msgstr "<%s-Q>\t\tThoát"
-#: gitk:2982
+#: gitk:3046
#, tcl-format
msgid "<%s-W>\t\tClose window"
msgstr "<%s-W>\t\tĐóng cửa sổ"
-#: gitk:2983
+#: gitk:3047
msgid "<Home>\t\tMove to first commit"
msgstr "<Home>\t\tChuyển đến lần chuyển giao đầu tiên"
-#: gitk:2984
+#: gitk:3048
msgid "<End>\t\tMove to last commit"
msgstr "<End>\t\tChuyển đến lần chuyển giao cuối"
-#: gitk:2985
+#: gitk:3049
msgid "<Up>, p, k\tMove up one commit"
msgstr "<Up>, p, k\tDi chuyển lên một lần chuyển giao"
-#: gitk:2986
+#: gitk:3050
msgid "<Down>, n, j\tMove down one commit"
msgstr "<Down>, n, j\tDi chuyển xuống một lần chuyển giao"
-#: gitk:2987
+#: gitk:3051
msgid "<Left>, z, h\tGo back in history list"
msgstr "<Left>, z, h\tQuay trở lại danh sách lịch sử"
-#: gitk:2988
+#: gitk:3052
msgid "<Right>, x, l\tGo forward in history list"
msgstr "<Right>, x, l\tDi chuyển tiếp trong danh sách lịch sử"
-#: gitk:2989
+#: gitk:3053
+#, tcl-format
+msgid "<%s-n>\tGo to n-th parent of current commit in history list"
+msgstr ""
+
+#: gitk:3054
msgid "<PageUp>\tMove up one page in commit list"
msgstr "<PageUp>\tDi chuyển lên một trang trong danh sách lần chuyển giao"
-#: gitk:2990
+#: gitk:3055
msgid "<PageDown>\tMove down one page in commit list"
msgstr "<PageDown>\tDi chuyển xuống một trang trong danh sách lần chuyển giao"
-#: gitk:2991
+#: gitk:3056
#, tcl-format
msgid "<%s-Home>\tScroll to top of commit list"
msgstr "<%s-Home>\tCuộn lên trên cùng của danh sách lần chuyển giao"
-#: gitk:2992
+#: gitk:3057
#, tcl-format
msgid "<%s-End>\tScroll to bottom of commit list"
msgstr "<%s-End>\tCuộn xuống dưới cùng của danh sách lần chuyển giao"
-#: gitk:2993
+#: gitk:3058
#, tcl-format
msgid "<%s-Up>\tScroll commit list up one line"
msgstr "<%s-Up>\tCuộn danh sách lần chuyển giao lên một dòng"
-#: gitk:2994
+#: gitk:3059
#, tcl-format
msgid "<%s-Down>\tScroll commit list down one line"
msgstr "<%s-Down>\tCuộn danh sách lần chuyển giao xuống một dòng"
-#: gitk:2995
+#: gitk:3060
#, tcl-format
msgid "<%s-PageUp>\tScroll commit list up one page"
msgstr "<%s-PageUp>\tCuộn danh sách lần chuyển giao lên một trang"
-#: gitk:2996
+#: gitk:3061
#, tcl-format
msgid "<%s-PageDown>\tScroll commit list down one page"
msgstr "<%s-PageDown>\tCuộn danh sách lần chuyển giao xuống một trang"
-#: gitk:2997
+#: gitk:3062
msgid "<Shift-Up>\tFind backwards (upwards, later commits)"
msgstr "<Shift-Up>\tTìm về phía sau (hướng lên trên, lần chuyển giao sau này)"
-#: gitk:2998
+#: gitk:3063
msgid "<Shift-Down>\tFind forwards (downwards, earlier commits)"
msgstr ""
"<Shift-Down>\tTìm về phía trước (hướng xuống dưới, lần chuyển giao trước đây)"
-#: gitk:2999
+#: gitk:3064
msgid "<Delete>, b\tScroll diff view up one page"
msgstr "<Delete>, b\tCuộn phần trình bày diff lên một trang"
-#: gitk:3000
+#: gitk:3065
msgid "<Backspace>\tScroll diff view up one page"
msgstr "<Backspace>\tCuộn phần trình bày diff lên một trang"
-#: gitk:3001
+#: gitk:3066
msgid "<Space>\t\tScroll diff view down one page"
msgstr "<Space>\t\tCuộn phần trình bày diff xuống một trang"
-#: gitk:3002
+#: gitk:3067
msgid "u\t\tScroll diff view up 18 lines"
msgstr "u\t\tCuộn phần trình bày diff lên 18 dòng"
-#: gitk:3003
+#: gitk:3068
msgid "d\t\tScroll diff view down 18 lines"
msgstr "d\t\tCuộn phần trình bày diff xuống 18 dòng"
-#: gitk:3004
+#: gitk:3069
#, tcl-format
msgid "<%s-F>\t\tFind"
msgstr "<%s-F>\t\tTìm kiếm"
-#: gitk:3005
+#: gitk:3070
#, tcl-format
msgid "<%s-G>\t\tMove to next find hit"
msgstr "<%s-G>\t\tDi chuyển đến chỗ gặp kế tiếp"
-#: gitk:3006
+#: gitk:3071
msgid "<Return>\tMove to next find hit"
msgstr "<Return>\t\tDi chuyển đến chỗ gặp kế tiếp"
-#: gitk:3007
+#: gitk:3072
msgid "/\t\tFocus the search box"
msgstr "/\t\tĐưa con trỏ chuột vào ô tìm kiếm"
-#: gitk:3008
+#: gitk:3073
msgid "?\t\tMove to previous find hit"
msgstr "?\t\tDi chuyển đến chỗ gặp kế trước"
-#: gitk:3009
+#: gitk:3074
msgid "f\t\tScroll diff view to next file"
msgstr "f\t\tCuộn phần trình bày diff sang tập-tin kế"
-#: gitk:3010
+#: gitk:3075
#, tcl-format
msgid "<%s-S>\t\tSearch for next hit in diff view"
msgstr "<%s-S>\t\tTìm đến chỗ khác biệt kế tiếp"
-#: gitk:3011
+#: gitk:3076
#, tcl-format
msgid "<%s-R>\t\tSearch for previous hit in diff view"
msgstr "<%s-R>\t\tTìm đến chỗ khác biệt kế trước"
-#: gitk:3012
+#: gitk:3077
#, tcl-format
msgid "<%s-KP+>\tIncrease font size"
msgstr "<%s-KP+>\tTăng cỡ chữ"
-#: gitk:3013
+#: gitk:3078
#, tcl-format
msgid "<%s-plus>\tIncrease font size"
msgstr "<%s-plus>\tTăng cỡ chữ"
-#: gitk:3014
+#: gitk:3079
#, tcl-format
msgid "<%s-KP->\tDecrease font size"
msgstr "<%s-KP->\tGiảm cỡ chữ"
-#: gitk:3015
+#: gitk:3080
#, tcl-format
msgid "<%s-minus>\tDecrease font size"
msgstr "<%s-minus>\tGiảm cỡ chữ"
-#: gitk:3016
+#: gitk:3081
msgid "<F5>\t\tUpdate"
msgstr "<F5>\t\tCập nhật"
-#: gitk:3471 gitk:3480
+#: gitk:3546 gitk:3555
#, tcl-format
msgid "Error creating temporary directory %s:"
msgstr "Gặp lỗi khi tạo thư mục tạm %s:"
-#: gitk:3493
+#: gitk:3568
#, tcl-format
msgid "Error getting \"%s\" from %s:"
msgstr "Lỗi chào hỏi \"%s\" từ %s:"
-#: gitk:3556
+#: gitk:3631
msgid "command failed:"
msgstr "lệnh gặp lỗi:"
-#: gitk:3705
+#: gitk:3780
msgid "No such commit"
msgstr "Không có lần chuyển giao như vậy"
-#: gitk:3719
+#: gitk:3794
msgid "git gui blame: command failed:"
msgstr "git gui blame: lệnh gặp lỗi:"
-#: gitk:3750
+#: gitk:3825
#, tcl-format
msgid "Couldn't read merge head: %s"
msgstr "Không thể độc đầu của hòa trộn: %s"
# tcl-format
-#: gitk:3758
+#: gitk:3833
#, tcl-format
msgid "Error reading index: %s"
msgstr "Gặp lỗi khi đọc chỉ mục: %s"
-#: gitk:3783
+#: gitk:3858
#, tcl-format
msgid "Couldn't start git blame: %s"
msgstr "Không thể khởi chạy git blame: %s"
-#: gitk:3786 gitk:6652
+#: gitk:3861 gitk:6735
msgid "Searching"
msgstr "Đang tìm kiếm"
-#: gitk:3818
+#: gitk:3893
#, tcl-format
msgid "Error running git blame: %s"
msgstr "Gặp lỗi khi chạy git blame: %s"
-#: gitk:3846
+#: gitk:3921
#, tcl-format
msgid "That line comes from commit %s, which is not in this view"
msgstr "Dòng đến từ lần chuyển giao %s, cái mà không trong trình bày này"
-#: gitk:3860
+#: gitk:3935
msgid "External diff viewer failed:"
msgstr "Bộ trình bày diff từ bên ngoài gặp lỗi:"
-#: gitk:3978
+#: gitk:4053
msgid "Gitk view definition"
msgstr "Định nghĩa cách trình bày gitk"
-#: gitk:3982
+#: gitk:4057
msgid "Remember this view"
msgstr "Nhớ cách trình bày này"
-#: gitk:3983
+#: gitk:4058
msgid "References (space separated list):"
msgstr "Tham chiếu (danh sách ngăn cách bằng dấu cách):"
-#: gitk:3984
+#: gitk:4059
msgid "Branches & tags:"
msgstr "Nhánh & thẻ:"
-#: gitk:3985
+#: gitk:4060
msgid "All refs"
msgstr "Mọi tham chiếu"
-#: gitk:3986
+#: gitk:4061
msgid "All (local) branches"
msgstr "Mọi nhánh (nội bộ)"
-#: gitk:3987
+#: gitk:4062
msgid "All tags"
msgstr "Mọi thẻ"
-#: gitk:3988
+#: gitk:4063
msgid "All remote-tracking branches"
msgstr "Mọi nhánh remote-tracking"
-#: gitk:3989
+#: gitk:4064
msgid "Commit Info (regular expressions):"
msgstr "Thông tin chuyển giao (biểu thức chính quy):"
-#: gitk:3990
+#: gitk:4065
msgid "Author:"
msgstr "Tác giả:"
-#: gitk:3991
+#: gitk:4066
msgid "Committer:"
msgstr "Người chuyển giao:"
-#: gitk:3992
+#: gitk:4067
msgid "Commit Message:"
msgstr "Chú thích của lần chuyển giao:"
-#: gitk:3993
+#: gitk:4068
msgid "Matches all Commit Info criteria"
msgstr "Khớp mọi điều kiện Thông tin Chuyển giao"
-#: gitk:3994
+#: gitk:4069
+#, fuzzy
+msgid "Matches none Commit Info criteria"
+msgstr "Khớp mọi điều kiện Thông tin Chuyển giao"
+
+#: gitk:4070
msgid "Changes to Files:"
msgstr "Đổi thành Tập tin:"
-#: gitk:3995
+#: gitk:4071
msgid "Fixed String"
msgstr "Chuỗi cố định"
-#: gitk:3996
+#: gitk:4072
msgid "Regular Expression"
msgstr "Biểu thức chính quy"
-#: gitk:3997
+#: gitk:4073
msgid "Search string:"
msgstr "Chuỗi tìm kiếm:"
-#: gitk:3998
+#: gitk:4074
msgid ""
"Commit Dates (\"2 weeks ago\", \"2009-03-17 15:27:38\", \"March 17, 2009 "
"15:27:38\"):"
@@ -678,203 +681,203 @@ msgstr ""
"Ngày chuyển giao (\"2 weeks ago\", \"2009-03-17 15:27:38\", \"March 17, 2009 "
"15:27:38\"):"
-#: gitk:3999
+#: gitk:4075
msgid "Since:"
msgstr "Kể từ:"
-#: gitk:4000
+#: gitk:4076
msgid "Until:"
msgstr "Đến:"
-#: gitk:4001
+#: gitk:4077
msgid "Limit and/or skip a number of revisions (positive integer):"
msgstr "Giới hạn và/hoặc bỏ số của điểm xét (số nguyên âm):"
-#: gitk:4002
+#: gitk:4078
msgid "Number to show:"
msgstr "Số lượng hiển thị:"
-#: gitk:4003
+#: gitk:4079
msgid "Number to skip:"
msgstr "Số lượng sẽ bỏ qua:"
-#: gitk:4004
+#: gitk:4080
msgid "Miscellaneous options:"
msgstr "Tuỳ chọn hỗn hợp:"
-#: gitk:4005
+#: gitk:4081
msgid "Strictly sort by date"
msgstr "Sắp xếp chặt chẽ theo ngày"
-#: gitk:4006
+#: gitk:4082
msgid "Mark branch sides"
msgstr "Đánh dấu các cạnh nhánh"
-#: gitk:4007
+#: gitk:4083
msgid "Limit to first parent"
msgstr "Giới hạn thành cha mẹ đầu tiên"
-#: gitk:4008
+#: gitk:4084
msgid "Simple history"
msgstr "Lịch sử dạng đơn giản"
-#: gitk:4009
+#: gitk:4085
msgid "Additional arguments to git log:"
msgstr "Đối số bổ xung cho lệnh git log:"
-#: gitk:4010
+#: gitk:4086
msgid "Enter files and directories to include, one per line:"
msgstr "Nhập vào các tập tin và thư mục bao gồm, mỗi dòng một cái:"
-#: gitk:4011
+#: gitk:4087
msgid "Command to generate more commits to include:"
msgstr "Lệnh tạo ra nhiều lần chuyển giao hơn bao gồm:"
-#: gitk:4135
+#: gitk:4211
msgid "Gitk: edit view"
msgstr "Gitk: sửa cách trình bày"
-#: gitk:4143
+#: gitk:4219
msgid "-- criteria for selecting revisions"
msgstr "-- tiêu chuẩn chọn điểm xét duyệt"
-#: gitk:4148
+#: gitk:4224
msgid "View Name"
msgstr "Tên cách trình bày"
-#: gitk:4223
+#: gitk:4299
msgid "Apply (F5)"
msgstr "Áp dụng (F5)"
-#: gitk:4261
+#: gitk:4337
msgid "Error in commit selection arguments:"
msgstr "Lỗi trong các đối số chọn chuyển giao:"
-#: gitk:4314 gitk:4366 gitk:4827 gitk:4841 gitk:6107 gitk:12184 gitk:12185
+#: gitk:4392 gitk:4445 gitk:4906 gitk:4920 gitk:6190 gitk:12346 gitk:12347
msgid "None"
msgstr "Không"
-#: gitk:4924 gitk:4929
+#: gitk:5003 gitk:5008
msgid "Descendant"
msgstr "Con cháu"
-#: gitk:4925
+#: gitk:5004
msgid "Not descendant"
msgstr "Không có con cháu"
-#: gitk:4932 gitk:4937
+#: gitk:5011 gitk:5016
msgid "Ancestor"
msgstr "Tổ tiên chung"
-#: gitk:4933
+#: gitk:5012
msgid "Not ancestor"
msgstr "Không có chung tổ tiên"
-#: gitk:5223
+#: gitk:5306
msgid "Local changes checked in to index but not committed"
msgstr ""
"Có thay đổi nội bộ đã được đưa vào bảng mục lục, nhưng chưa được chuyển giao"
-#: gitk:5259
+#: gitk:5342
msgid "Local uncommitted changes, not checked in to index"
msgstr "Có thay đổi nội bộ, nhưng chưa được đưa vào bảng mục lục"
-#: gitk:7032
+#: gitk:7115
msgid "and many more"
msgstr "và nhiều nữa"
-#: gitk:7035
+#: gitk:7118
msgid "many"
msgstr "nhiều"
-#: gitk:7222
+#: gitk:7309
msgid "Tags:"
msgstr "Thẻ:"
-#: gitk:7239 gitk:7245 gitk:8708
+#: gitk:7326 gitk:7332 gitk:8806
msgid "Parent"
msgstr "Cha"
-#: gitk:7250
+#: gitk:7337
msgid "Child"
msgstr "Con"
-#: gitk:7259
+#: gitk:7346
msgid "Branch"
msgstr "Nhánh"
-#: gitk:7262
+#: gitk:7349
msgid "Follows"
msgstr "Đứng sau"
-#: gitk:7265
+#: gitk:7352
msgid "Precedes"
msgstr "Đứng trước"
# tcl-format
-#: gitk:7849
+#: gitk:7947
#, tcl-format
msgid "Error getting diffs: %s"
msgstr "Lỗi lấy diff: %s"
-#: gitk:8533
+#: gitk:8631
msgid "Goto:"
msgstr "Nhảy tới:"
-#: gitk:8554
+#: gitk:8652
#, tcl-format
msgid "Short SHA1 id %s is ambiguous"
msgstr "Định danh SHA1 dạng ngắn %s là chưa đủ rõ ràng"
-#: gitk:8561
+#: gitk:8659
#, tcl-format
msgid "Revision %s is not known"
msgstr "Không hiểu điểm xét duyệt %s"
-#: gitk:8571
+#: gitk:8669
#, tcl-format
msgid "SHA1 id %s is not known"
msgstr "Không hiểu định danh SHA1 %s"
-#: gitk:8573
+#: gitk:8671
#, tcl-format
msgid "Revision %s is not in the current view"
msgstr "Điểm %s không ở trong phần hiển thị hiện tại"
-#: gitk:8715 gitk:8730
+#: gitk:8813 gitk:8828
msgid "Date"
msgstr "Ngày"
-#: gitk:8718
+#: gitk:8816
msgid "Children"
msgstr "Con cháu"
-#: gitk:8781
+#: gitk:8879
#, tcl-format
msgid "Reset %s branch to here"
msgstr "Đặt lại nhánh %s tại đây"
-#: gitk:8783
+#: gitk:8881
msgid "Detached head: can't reset"
msgstr "Head đã bị tách rời: không thể đặt lại"
-#: gitk:8888 gitk:8894
+#: gitk:8986 gitk:8992
msgid "Skipping merge commit "
msgstr "Bỏ qua lần chuyển giao hòa trộn "
-#: gitk:8903 gitk:8908
+#: gitk:9001 gitk:9006
msgid "Error getting patch ID for "
msgstr "Gặp lỗi khi lấy ID miếng vá cho "
-#: gitk:8904 gitk:8909
+#: gitk:9002 gitk:9007
msgid " - stopping\n"
msgstr " - dừng\n"
-#: gitk:8914 gitk:8917 gitk:8925 gitk:8939 gitk:8948
+#: gitk:9012 gitk:9015 gitk:9023 gitk:9037 gitk:9046
msgid "Commit "
msgstr "Commit "
-#: gitk:8918
+#: gitk:9016
msgid ""
" is the same patch as\n"
" "
@@ -882,7 +885,7 @@ msgstr ""
" là cùng một miếng vá với\n"
" "
-#: gitk:8926
+#: gitk:9024
msgid ""
" differs from\n"
" "
@@ -890,7 +893,7 @@ msgstr ""
" khác biệt từ\n"
" "
-#: gitk:8928
+#: gitk:9026
msgid ""
"Diff of commits:\n"
"\n"
@@ -898,131 +901,131 @@ msgstr ""
"Khác biệt của lần chuyển giao (commit):\n"
"\n"
-#: gitk:8940 gitk:8949
+#: gitk:9038 gitk:9047
#, tcl-format
msgid " has %s children - stopping\n"
msgstr " có %s con - dừng\n"
-#: gitk:8968
+#: gitk:9066
#, tcl-format
msgid "Error writing commit to file: %s"
msgstr "Gặp lỗi trong quá trình ghi lần chuyển giao vào tập tin: %s"
-#: gitk:8974
+#: gitk:9072
#, tcl-format
msgid "Error diffing commits: %s"
msgstr "Gặp lỗi khi so sánh sự khác biệt giữa các lần chuyển giao: %s"
-#: gitk:9020
+#: gitk:9118
msgid "Top"
msgstr "Đỉnh"
-#: gitk:9021
+#: gitk:9119
msgid "From"
msgstr "Từ"
-#: gitk:9026
+#: gitk:9124
msgid "To"
msgstr "Đến"
-#: gitk:9050
+#: gitk:9148
msgid "Generate patch"
msgstr "Tạo miếng vá"
-#: gitk:9052
+#: gitk:9150
msgid "From:"
msgstr "Từ:"
-#: gitk:9061
+#: gitk:9159
msgid "To:"
msgstr "Đến:"
-#: gitk:9070
+#: gitk:9168
msgid "Reverse"
msgstr "Đảo ngược"
-#: gitk:9072 gitk:9268
+#: gitk:9170 gitk:9366
msgid "Output file:"
msgstr "Tập tin kết xuất:"
-#: gitk:9078
+#: gitk:9176
msgid "Generate"
msgstr "Tạo"
-#: gitk:9116
+#: gitk:9214
msgid "Error creating patch:"
msgstr "Gặp lỗi khi tạo miếng vá:"
-#: gitk:9139 gitk:9256 gitk:9313
+#: gitk:9237 gitk:9354 gitk:9411
msgid "ID:"
msgstr "ID:"
-#: gitk:9148
+#: gitk:9246
msgid "Tag name:"
msgstr "Tên thẻ:"
-#: gitk:9151
+#: gitk:9249
msgid "Tag message is optional"
msgstr "Ghi chú thẻ chỉ là tùy chọn"
-#: gitk:9153
+#: gitk:9251
msgid "Tag message:"
msgstr "Ghi chú cho thẻ:"
-#: gitk:9157 gitk:9322
+#: gitk:9255 gitk:9420
msgid "Create"
msgstr "Tạo"
-#: gitk:9175
+#: gitk:9273
msgid "No tag name specified"
msgstr "Chưa chỉ ra tên của thẻ"
-#: gitk:9179
+#: gitk:9277
#, tcl-format
msgid "Tag \"%s\" already exists"
msgstr "Thẻ “%s” đã có sẵn rồi"
-#: gitk:9189
+#: gitk:9287
msgid "Error creating tag:"
msgstr "Gặp lỗi khi tạo thẻ:"
-#: gitk:9265
+#: gitk:9363
msgid "Command:"
msgstr "Lệnh:"
-#: gitk:9273
+#: gitk:9371
msgid "Write"
msgstr "Ghi"
-#: gitk:9291
+#: gitk:9389
msgid "Error writing commit:"
msgstr "Gặp lỗi trong quá trình ghi chuyển giao:"
-#: gitk:9318
+#: gitk:9416
msgid "Name:"
msgstr "Tên:"
-#: gitk:9341
+#: gitk:9439
msgid "Please specify a name for the new branch"
msgstr "Vui lòng chỉ định tên cho nhánh mới"
-#: gitk:9346
+#: gitk:9444
#, tcl-format
msgid "Branch '%s' already exists. Overwrite?"
msgstr "Nhánh “%s” đã có từ trước rồi. Ghi đè?"
-#: gitk:9413
+#: gitk:9511
#, tcl-format
msgid "Commit %s is already included in branch %s -- really re-apply it?"
msgstr ""
"Lần chuyển giao %s đã sẵn được bao gồm trong nhánh %s -- bạn có thực sự muốn "
"áp dụng lại nó không?"
-#: gitk:9418
+#: gitk:9516
msgid "Cherry-picking"
msgstr "Đang cherry-pick"
-#: gitk:9427
+#: gitk:9525
#, tcl-format
msgid ""
"Cherry-pick failed because of local changes to file '%s'.\n"
@@ -1031,7 +1034,7 @@ msgstr ""
"Cherry-pick gặp lỗi bởi vì các thay đổi nội bộ tập tin “%s”.\n"
"Xin hãy chuyển giao, reset hay stash các thay đổi của bạn sau đó thử lại."
-#: gitk:9433
+#: gitk:9531
msgid ""
"Cherry-pick failed because of merge conflict.\n"
"Do you wish to run git citool to resolve it?"
@@ -1039,22 +1042,22 @@ msgstr ""
"Cherry-pick gặp lỗi bởi vì xung đột trong hòa trộn.\n"
"Bạn có muốn chạy lệnh “git citool” để giải quyết vấn đề này không?"
-#: gitk:9449 gitk:9507
+#: gitk:9547 gitk:9605
msgid "No changes committed"
msgstr "Không có thay đổi nào cần chuyển giao"
-#: gitk:9476
+#: gitk:9574
#, tcl-format
msgid "Commit %s is not included in branch %s -- really revert it?"
msgstr ""
"Lần chuyển giao %s không được bao gồm trong nhánh %s -- bạn có thực sự muốn "
"“revert” nó không?"
-#: gitk:9481
+#: gitk:9579
msgid "Reverting"
msgstr "Đang hoàn tác"
-#: gitk:9489
+#: gitk:9587
#, tcl-format
msgid ""
"Revert failed because of local changes to the following files:%s Please "
@@ -1063,7 +1066,7 @@ msgstr ""
"Revert gặp lỗi bởi vì tập tin sau đã được thay đổi nội bộ:%s\n"
"Xin hãy chạy lệnh “commit”, “reset” hoặc “stash” rồi thử lại."
-#: gitk:9493
+#: gitk:9591
msgid ""
"Revert failed because of merge conflict.\n"
" Do you wish to run git citool to resolve it?"
@@ -1071,29 +1074,29 @@ msgstr ""
"Revert gặp lỗi bởi vì xung đột hòa trộn.\n"
" Bạn có muốn chạy lệnh “git citool” để phân giải nó không?"
-#: gitk:9536
+#: gitk:9634
msgid "Confirm reset"
msgstr "Xác nhật đặt lại"
-#: gitk:9538
+#: gitk:9636
#, tcl-format
msgid "Reset branch %s to %s?"
msgstr "Đặt lại nhánh “%s” thành “%s”?"
-#: gitk:9540
+#: gitk:9638
msgid "Reset type:"
msgstr "Kiểu đặt lại:"
-#: gitk:9543
+#: gitk:9641
msgid "Soft: Leave working tree and index untouched"
msgstr "Mềm: Không động đến thư mục làm việc và bảng mục lục"
-#: gitk:9546
+#: gitk:9644
msgid "Mixed: Leave working tree untouched, reset index"
msgstr ""
"Pha trộn: Không động chạm đến thư mục làm việc nhưng đặt lại bảng mục lục"
-#: gitk:9549
+#: gitk:9647
msgid ""
"Hard: Reset working tree and index\n"
"(discard ALL local changes)"
@@ -1101,19 +1104,19 @@ msgstr ""
"Hard: Đặt lại cây làm việc và mục lục\n"
"(hủy bỏ MỌI thay đổi nội bộ)"
-#: gitk:9566
+#: gitk:9664
msgid "Resetting"
msgstr "Đang đặt lại"
-#: gitk:9626
+#: gitk:9724
msgid "Checking out"
msgstr "Đang checkout"
-#: gitk:9679
+#: gitk:9777
msgid "Cannot delete the currently checked-out branch"
msgstr "Không thể xóa nhánh hiện tại đang được lấy ra"
-#: gitk:9685
+#: gitk:9783
#, tcl-format
msgid ""
"The commits on branch %s aren't on any other branch.\n"
@@ -1122,16 +1125,16 @@ msgstr ""
"Các lần chuyển giao trên nhánh %s không ở trên nhánh khác.\n"
"Thực sự muốn xóa nhánh %s?"
-#: gitk:9716
+#: gitk:9814
#, tcl-format
msgid "Tags and heads: %s"
msgstr "Thẻ và Đầu: %s"
-#: gitk:9731
+#: gitk:9829
msgid "Filter"
msgstr "Bộ lọc"
-#: gitk:10027
+#: gitk:10125
msgid ""
"Error reading commit topology information; branch and preceding/following "
"tag information will be incomplete."
@@ -1139,213 +1142,219 @@ msgstr ""
"Gặp lỗi khi đọc thông tin hình học lần chuyển giao; thông tin nhánh và thẻ "
"trước/sau sẽ không hoàn thiện."
-#: gitk:11004
+#: gitk:11102
msgid "Tag"
msgstr "Thẻ"
-#: gitk:11008
+#: gitk:11106
msgid "Id"
msgstr "Id"
-#: gitk:11091
+#: gitk:11189
msgid "Gitk font chooser"
msgstr "Hộp thoại chọn phông Gitk"
-#: gitk:11108
+#: gitk:11206
msgid "B"
msgstr "B"
-#: gitk:11111
+#: gitk:11209
msgid "I"
msgstr "I"
-#: gitk:11229
+#: gitk:11327
msgid "Commit list display options"
msgstr "Các tùy chọn về hiển thị danh sách lần chuyển giao"
-#: gitk:11232
+#: gitk:11330
msgid "Maximum graph width (lines)"
msgstr "Độ rộng biểu đồ tối đa (dòng)"
-#: gitk:11235
-#, tcl-format
+#: gitk:11334
+#, no-tcl-format
msgid "Maximum graph width (% of pane)"
msgstr "Độ rộng biểu đồ tối đa (% của bảng)"
-#: gitk:11238
+#: gitk:11337
msgid "Show local changes"
msgstr "Hiển thị các thay đổi nội bộ"
-#: gitk:11241
+#: gitk:11340
msgid "Auto-select SHA1 (length)"
msgstr "Tự chọn SHA1 (độ dài)"
-#: gitk:11245
+#: gitk:11344
msgid "Hide remote refs"
msgstr "Ẩn tham chiếu đến máy chủ"
-#: gitk:11249
+#: gitk:11348
msgid "Diff display options"
msgstr "Các tùy chọn trình bày các khác biệt"
-#: gitk:11251
+#: gitk:11350
msgid "Tab spacing"
msgstr "Khoảng cách tab"
-#: gitk:11254
+#: gitk:11353
msgid "Display nearby tags/heads"
msgstr "Hiển thị các thẻ/đầu xung quanh"
-#: gitk:11257
+#: gitk:11356
msgid "Maximum # tags/heads to show"
msgstr "Số lượng thẻ/đầu tối đa sẽ hiển thị"
-#: gitk:11260
+#: gitk:11359
msgid "Limit diffs to listed paths"
msgstr "Giới hạn các khác biệt cho đường dẫn đã liệt kê"
-#: gitk:11263
+#: gitk:11362
msgid "Support per-file encodings"
msgstr "Hỗ trợ mã hóa mỗi-dòng"
-#: gitk:11269 gitk:11416
+#: gitk:11368 gitk:11515
msgid "External diff tool"
msgstr "Công cụ so sánh từ bên ngoài"
-#: gitk:11270
+#: gitk:11369
msgid "Choose..."
msgstr "Chọn..."
-#: gitk:11275
+#: gitk:11374
msgid "General options"
msgstr "Các tùy chọn chung"
-#: gitk:11278
+#: gitk:11377
msgid "Use themed widgets"
msgstr "Dùng các widget chủ đề"
-#: gitk:11280
+#: gitk:11379
msgid "(change requires restart)"
msgstr "(để thay đổi cần khởi động lại)"
-#: gitk:11282
+#: gitk:11381
msgid "(currently unavailable)"
msgstr "(hiện tại không sẵn sàng)"
-#: gitk:11293
+#: gitk:11392
msgid "Colors: press to choose"
msgstr "Màu sắc: bấm vào nút phía dưới để chọn màu"
-#: gitk:11296
+#: gitk:11395
msgid "Interface"
msgstr "Giao diện"
-#: gitk:11297
+#: gitk:11396
msgid "interface"
msgstr "giao diện"
-#: gitk:11300
+#: gitk:11399
msgid "Background"
msgstr "Nền"
-#: gitk:11301 gitk:11331
+#: gitk:11400 gitk:11430
msgid "background"
msgstr "nền"
-#: gitk:11304
+#: gitk:11403
msgid "Foreground"
msgstr "Tiền cảnh"
-#: gitk:11305
+#: gitk:11404
msgid "foreground"
msgstr "tiền cảnh"
-#: gitk:11308
+#: gitk:11407
msgid "Diff: old lines"
msgstr "So sánh: dòng cũ"
-#: gitk:11309
+#: gitk:11408
msgid "diff old lines"
msgstr "diff dòng cũ"
-#: gitk:11313
+#: gitk:11412
msgid "Diff: new lines"
msgstr "So sánh: dòng mới"
-#: gitk:11314
+#: gitk:11413
msgid "diff new lines"
msgstr "màu dòng mới"
-#: gitk:11318
+#: gitk:11417
msgid "Diff: hunk header"
msgstr "So sánh: phần đầu của đoạn"
-#: gitk:11320
+#: gitk:11419
msgid "diff hunk header"
msgstr "màu của phần đầu của đoạn khi so sánh"
-#: gitk:11324
+#: gitk:11423
msgid "Marked line bg"
msgstr "Nền dòng đánh dấu"
-#: gitk:11326
+#: gitk:11425
msgid "marked line background"
msgstr "nền dòng được đánh dấu"
-#: gitk:11330
+#: gitk:11429
msgid "Select bg"
msgstr "Màu nền"
-#: gitk:11339
+#: gitk:11438
msgid "Fonts: press to choose"
msgstr "Phông chữ: bấm vào các nút ở dưới để chọn"
-#: gitk:11341
+#: gitk:11440
msgid "Main font"
msgstr "Phông chữ chính"
-#: gitk:11342
+#: gitk:11441
msgid "Diff display font"
msgstr "Phông chữ dùng khi so sánh"
-#: gitk:11343
+#: gitk:11442
msgid "User interface font"
msgstr "Phông chữ giao diện"
-#: gitk:11365
+#: gitk:11464
msgid "Gitk preferences"
msgstr "Cá nhân hóa các cài đặt cho Gitk"
-#: gitk:11374
+#: gitk:11473
msgid "General"
msgstr "Chung"
-#: gitk:11375
+#: gitk:11474
msgid "Colors"
msgstr "Màu sắc"
-#: gitk:11376
+#: gitk:11475
msgid "Fonts"
msgstr "Phông chữ"
-#: gitk:11426
+#: gitk:11525
#, tcl-format
msgid "Gitk: choose color for %s"
msgstr "Gitk: chọn màu cho %s"
-#: gitk:12080
+#: gitk:12242
msgid "Cannot find a git repository here."
msgstr "Không thể tìm thấy kho git ở đây."
-#: gitk:12127
+#: gitk:12289
#, tcl-format
msgid "Ambiguous argument '%s': both revision and filename"
msgstr "Đối số “%s” chưa rõ ràng: vừa là điểm xét duyệt vừa là tên tập tin"
-#: gitk:12139
+#: gitk:12301
msgid "Bad arguments to gitk:"
msgstr "Đối số không hợp lệ cho gitk:"
-#: gitk:12242
+#: gitk:12405
msgid "Command line"
msgstr "Dòng lệnh"
+
+#~ msgid "next"
+#~ msgstr "tiếp"
+
+#~ msgid "prev"
+#~ msgstr "trước"
diff --git a/http-push.c b/http-push.c
index 9469684e9c..c98dad23df 100644
--- a/http-push.c
+++ b/http-push.c
@@ -364,7 +364,6 @@ static void start_put(struct transfer_request *request)
hdrlen = sprintf(hdr, "%s %lu", typename(type), len) + 1;
/* Set it up */
- memset(&stream, 0, sizeof(stream));
git_deflate_init(&stream, zlib_compression_level);
size = git_deflate_bound(&stream, len + hdrlen);
strbuf_init(&request->buffer.buf, size);
diff --git a/imap-send.c b/imap-send.c
index d69887da5a..37ac4aa86a 100644
--- a/imap-send.c
+++ b/imap-send.c
@@ -34,8 +34,16 @@ typedef void *SSL;
#include "http.h"
#endif
+#if defined(USE_CURL_FOR_IMAP_SEND) && defined(NO_OPENSSL)
+/* only available option */
+#define USE_CURL_DEFAULT 1
+#else
+/* strictly opt in */
+#define USE_CURL_DEFAULT 0
+#endif
+
static int verbosity;
-static int use_curl; /* strictly opt in */
+static int use_curl = USE_CURL_DEFAULT;
static const char * const imap_send_usage[] = { "git imap-send [-v] [-q] [--[no-]curl] < <mbox>", NULL };
@@ -1504,9 +1512,14 @@ int main(int argc, char **argv)
#ifndef USE_CURL_FOR_IMAP_SEND
if (use_curl) {
- warning("--use-curl not supported in this build");
+ warning("--curl not supported in this build");
use_curl = 0;
}
+#elif defined(NO_OPENSSL)
+ if (!use_curl) {
+ warning("--no-curl not supported in this build");
+ use_curl = 1;
+ }
#endif
if (!server.port)
diff --git a/log-tree.c b/log-tree.c
index 7f0890e4ac..2c1ed0fa90 100644
--- a/log-tree.c
+++ b/log-tree.c
@@ -173,6 +173,43 @@ static void show_children(struct rev_info *opt, struct commit *commit, int abbre
}
/*
+ * Do we have HEAD in the output, and also the branch it points at?
+ * If so, find that decoration entry for that current branch.
+ */
+static const struct name_decoration *current_pointed_by_HEAD(const struct name_decoration *decoration)
+{
+ const struct name_decoration *list, *head = NULL;
+ const char *branch_name = NULL;
+ unsigned char unused[20];
+ int rru_flags;
+
+ /* First find HEAD */
+ for (list = decoration; list; list = list->next)
+ if (list->type == DECORATION_REF_HEAD) {
+ head = list;
+ break;
+ }
+ if (!head)
+ return NULL;
+
+ /* Now resolve and find the matching current branch */
+ branch_name = resolve_ref_unsafe("HEAD", 0, unused, &rru_flags);
+ if (!(rru_flags & REF_ISSYMREF))
+ return NULL;
+ if (!skip_prefix(branch_name, "refs/heads/", &branch_name))
+ return NULL;
+
+ /* OK, do we have that ref in the list? */
+ for (list = decoration; list; list = list->next)
+ if ((list->type == DECORATION_REF_LOCAL) &&
+ !strcmp(branch_name, list->name)) {
+ return list;
+ }
+
+ return NULL;
+}
+
+/*
* The caller makes sure there is no funny color before calling.
* format_decorations_extended makes sure the same after return.
*/
@@ -184,6 +221,7 @@ void format_decorations_extended(struct strbuf *sb,
const char *suffix)
{
const struct name_decoration *decoration;
+ const struct name_decoration *current_and_HEAD;
const char *color_commit =
diff_get_color(use_color, DIFF_COMMIT);
const char *color_reset =
@@ -192,15 +230,37 @@ void format_decorations_extended(struct strbuf *sb,
decoration = get_name_decoration(&commit->object);
if (!decoration)
return;
+
+ current_and_HEAD = current_pointed_by_HEAD(decoration);
while (decoration) {
- strbuf_addstr(sb, color_commit);
- strbuf_addstr(sb, prefix);
- strbuf_addstr(sb, decorate_get_color(use_color, decoration->type));
- if (decoration->type == DECORATION_REF_TAG)
- strbuf_addstr(sb, "tag: ");
- strbuf_addstr(sb, decoration->name);
- strbuf_addstr(sb, color_reset);
- prefix = separator;
+ /*
+ * When both current and HEAD are there, only
+ * show HEAD->current where HEAD would have
+ * appeared, skipping the entry for current.
+ */
+ if (decoration != current_and_HEAD) {
+ strbuf_addstr(sb, color_commit);
+ strbuf_addstr(sb, prefix);
+ strbuf_addstr(sb, color_reset);
+ strbuf_addstr(sb, decorate_get_color(use_color, decoration->type));
+ if (decoration->type == DECORATION_REF_TAG)
+ strbuf_addstr(sb, "tag: ");
+
+ strbuf_addstr(sb, decoration->name);
+
+ if (current_and_HEAD &&
+ decoration->type == DECORATION_REF_HEAD) {
+ strbuf_addstr(sb, color_reset);
+ strbuf_addstr(sb, color_commit);
+ strbuf_addstr(sb, " -> ");
+ strbuf_addstr(sb, color_reset);
+ strbuf_addstr(sb, decorate_get_color(use_color, current_and_HEAD->type));
+ strbuf_addstr(sb, current_and_HEAD->name);
+ }
+ strbuf_addstr(sb, color_reset);
+
+ prefix = separator;
+ }
decoration = decoration->next;
}
strbuf_addstr(sb, color_commit);
diff --git a/read-cache.c b/read-cache.c
index 0052b72d9c..36ff89f29e 100644
--- a/read-cache.c
+++ b/read-cache.c
@@ -1488,18 +1488,25 @@ static struct cache_entry *create_from_disk(struct ondisk_cache_entry *ondisk,
return ce;
}
-static void check_ce_order(struct cache_entry *ce, struct cache_entry *next_ce)
-{
- int name_compare = strcmp(ce->name, next_ce->name);
- if (0 < name_compare)
- die("unordered stage entries in index");
- if (!name_compare) {
- if (!ce_stage(ce))
- die("multiple stage entries for merged file '%s'",
- ce->name);
- if (ce_stage(ce) > ce_stage(next_ce))
- die("unordered stage entries for '%s'",
- ce->name);
+static void check_ce_order(struct index_state *istate)
+{
+ unsigned int i;
+
+ for (i = 1; i < istate->cache_nr; i++) {
+ struct cache_entry *ce = istate->cache[i - 1];
+ struct cache_entry *next_ce = istate->cache[i];
+ int name_compare = strcmp(ce->name, next_ce->name);
+
+ if (0 < name_compare)
+ die("unordered stage entries in index");
+ if (!name_compare) {
+ if (!ce_stage(ce))
+ die("multiple stage entries for merged file '%s'",
+ ce->name);
+ if (ce_stage(ce) > ce_stage(next_ce))
+ die("unordered stage entries for '%s'",
+ ce->name);
+ }
}
}
@@ -1564,9 +1571,6 @@ int do_read_index(struct index_state *istate, const char *path, int must_exist)
ce = create_from_disk(disk_ce, &consumed, previous_name);
set_index_entry(istate, i, ce);
- if (i > 0)
- check_ce_order(istate->cache[i - 1], ce);
-
src_offset += consumed;
}
strbuf_release(&previous_name_buf);
@@ -1610,11 +1614,10 @@ int read_index_from(struct index_state *istate, const char *path)
ret = do_read_index(istate, path, 0);
split_index = istate->split_index;
- if (!split_index)
- return ret;
-
- if (is_null_sha1(split_index->base_sha1))
+ if (!split_index || is_null_sha1(split_index->base_sha1)) {
+ check_ce_order(istate);
return ret;
+ }
if (split_index->base)
discard_index(split_index->base);
@@ -1630,6 +1633,7 @@ int read_index_from(struct index_state *istate, const char *path)
sha1_to_hex(split_index->base_sha1)),
sha1_to_hex(split_index->base->sha1));
merge_base_index(istate);
+ check_ce_order(istate);
return ret;
}
diff --git a/refs.c b/refs.c
index e23542b386..47e4e5380a 100644
--- a/refs.c
+++ b/refs.c
@@ -1934,6 +1934,11 @@ static int do_for_each_ref(struct ref_cache *refs, const char *base,
data.fn = fn;
data.cb_data = cb_data;
+ if (ref_paranoia < 0)
+ ref_paranoia = git_env_bool("GIT_REF_PARANOIA", 0);
+ if (ref_paranoia)
+ data.flags |= DO_FOR_EACH_INCLUDE_BROKEN;
+
return do_for_each_entry(refs, base, do_one_ref, &data);
}
@@ -2616,68 +2621,10 @@ int pack_refs(unsigned int flags)
return 0;
}
-/*
- * If entry is no longer needed in packed-refs, add it to the string
- * list pointed to by cb_data. Reasons for deleting entries:
- *
- * - Entry is broken.
- * - Entry is overridden by a loose ref.
- * - Entry does not point at a valid object.
- *
- * In the first and third cases, also emit an error message because these
- * are indications of repository corruption.
- */
-static int curate_packed_ref_fn(struct ref_entry *entry, void *cb_data)
-{
- struct string_list *refs_to_delete = cb_data;
-
- if (entry->flag & REF_ISBROKEN) {
- /* This shouldn't happen to packed refs. */
- error("%s is broken!", entry->name);
- string_list_append(refs_to_delete, entry->name);
- return 0;
- }
- if (!has_sha1_file(entry->u.value.sha1)) {
- unsigned char sha1[20];
- int flags;
-
- if (read_ref_full(entry->name, 0, sha1, &flags))
- /* We should at least have found the packed ref. */
- die("Internal error");
- if ((flags & REF_ISSYMREF) || !(flags & REF_ISPACKED)) {
- /*
- * This packed reference is overridden by a
- * loose reference, so it is OK that its value
- * is no longer valid; for example, it might
- * refer to an object that has been garbage
- * collected. For this purpose we don't even
- * care whether the loose reference itself is
- * invalid, broken, symbolic, etc. Silently
- * remove the packed reference.
- */
- string_list_append(refs_to_delete, entry->name);
- return 0;
- }
- /*
- * There is no overriding loose reference, so the fact
- * that this reference doesn't refer to a valid object
- * indicates some kind of repository corruption.
- * Report the problem, then omit the reference from
- * the output.
- */
- error("%s does not point to a valid object!", entry->name);
- string_list_append(refs_to_delete, entry->name);
- return 0;
- }
-
- return 0;
-}
-
int repack_without_refs(struct string_list *refnames, struct strbuf *err)
{
struct ref_dir *packed;
- struct string_list refs_to_delete = STRING_LIST_INIT_DUP;
- struct string_list_item *refname, *ref_to_delete;
+ struct string_list_item *refname;
int ret, needs_repacking = 0, removed = 0;
assert(err);
@@ -2713,13 +2660,6 @@ int repack_without_refs(struct string_list *refnames, struct strbuf *err)
return 0;
}
- /* Remove any other accumulated cruft */
- do_for_each_entry_in_dir(packed, 0, curate_packed_ref_fn, &refs_to_delete);
- for_each_string_list_item(ref_to_delete, &refs_to_delete) {
- if (remove_entry(packed, ref_to_delete->string) == -1)
- die("internal error");
- }
-
/* Write what remains */
ret = commit_packed_refs();
if (ret)
diff --git a/remote-curl.c b/remote-curl.c
index deb4bfe684..af7b6786dc 100644
--- a/remote-curl.c
+++ b/remote-curl.c
@@ -567,7 +567,6 @@ retry:
git_zstream stream;
int ret;
- memset(&stream, 0, sizeof(stream));
git_deflate_init_gzip(&stream, Z_BEST_COMPRESSION);
gzip_size = git_deflate_bound(&stream, rpc->len);
gzip_body = xmalloc(gzip_size);
diff --git a/revision.c b/revision.c
index 66520c671e..6399a0412c 100644
--- a/revision.c
+++ b/revision.c
@@ -2339,9 +2339,14 @@ int setup_revisions(int argc, const char **argv, struct rev_info *revs, struct s
if (revs->reflog_info && revs->graph)
die("cannot combine --walk-reflogs with --graph");
+ if (revs->no_walk && revs->graph)
+ die("cannot combine --no-walk with --graph");
if (!revs->reflog_info && revs->grep_filter.use_reflog_filter)
die("cannot use --grep-reflog without --walk-reflogs");
+ if (revs->first_parent_only && revs->bisect)
+ die(_("--first-parent is incompatible with --bisect"));
+
return left;
}
diff --git a/run-command.c b/run-command.c
index 0b432cc971..aad03ab705 100644
--- a/run-command.c
+++ b/run-command.c
@@ -4,10 +4,6 @@
#include "sigchain.h"
#include "argv-array.h"
-#ifndef SHELL_PATH
-# define SHELL_PATH "/bin/sh"
-#endif
-
void child_process_init(struct child_process *child)
{
memset(child, 0, sizeof(*child));
@@ -561,7 +557,12 @@ int finish_command(struct child_process *cmd)
int run_command(struct child_process *cmd)
{
- int code = start_command(cmd);
+ int code;
+
+ if (cmd->out < 0 || cmd->err < 0)
+ die("BUG: run_command with a pipe can cause deadlock");
+
+ code = start_command(cmd);
if (code)
return code;
return finish_command(cmd);
@@ -833,3 +834,19 @@ int run_hook_le(const char *const *env, const char *name, ...)
return ret;
}
+
+int capture_command(struct child_process *cmd, struct strbuf *buf, size_t hint)
+{
+ cmd->out = -1;
+ if (start_command(cmd) < 0)
+ return -1;
+
+ if (strbuf_read(buf, cmd->out, hint) < 0) {
+ close(cmd->out);
+ finish_command(cmd); /* throw away exit code */
+ return -1;
+ }
+
+ close(cmd->out);
+ return finish_command(cmd);
+}
diff --git a/run-command.h b/run-command.h
index d6868dc8c8..263b9662ad 100644
--- a/run-command.h
+++ b/run-command.h
@@ -71,6 +71,19 @@ int run_command_v_opt(const char **argv, int opt);
*/
int run_command_v_opt_cd_env(const char **argv, int opt, const char *dir, const char *const *env);
+/**
+ * Execute the given command, capturing its stdout in the given strbuf.
+ * Returns -1 if starting the command fails or reading fails, and otherwise
+ * returns the exit code of the command. The output collected in the
+ * buffer is kept even if the command returns a non-zero exit. The hint field
+ * gives a starting size for the strbuf allocation.
+ *
+ * The fields of "cmd" should be set up as they would for a normal run_command
+ * invocation. But note that there is no need to set cmd->out; the function
+ * sets it up for the caller.
+ */
+int capture_command(struct child_process *cmd, struct strbuf *buf, size_t hint);
+
/*
* The purpose of the following functions is to feed a pipe by running
* a function asynchronously and providing output that the caller reads.
diff --git a/sequencer.c b/sequencer.c
index 32aa05ed82..c4f4b7d571 100644
--- a/sequencer.c
+++ b/sequencer.c
@@ -373,6 +373,7 @@ static int run_git_commit(const char *defmsg, struct replay_opts *opts,
{
struct argv_array array;
int rc;
+ const char *value;
argv_array_init(&array);
argv_array_push(&array, "commit");
@@ -385,6 +386,10 @@ static int run_git_commit(const char *defmsg, struct replay_opts *opts,
if (!opts->edit) {
argv_array_push(&array, "-F");
argv_array_push(&array, defmsg);
+ if (!opts->signoff &&
+ !opts->record_origin &&
+ git_config_get_value("commit.cleanup", &value))
+ argv_array_push(&array, "--cleanup=verbatim");
}
if (allow_empty)
diff --git a/sha1_file.c b/sha1_file.c
index 69a60ec88b..88f06bac92 100644
--- a/sha1_file.c
+++ b/sha1_file.c
@@ -2943,7 +2943,6 @@ static int write_loose_object(const unsigned char *sha1, char *hdr, int hdrlen,
}
/* Set it up */
- memset(&stream, 0, sizeof(stream));
git_deflate_init(&stream, zlib_compression_level);
stream.next_out = compressed;
stream.avail_out = sizeof(compressed);
diff --git a/sha1_name.c b/sha1_name.c
index 95f9f8fa1a..6d10f052b5 100644
--- a/sha1_name.c
+++ b/sha1_name.c
@@ -757,7 +757,7 @@ static int get_describe_name(const char *name, int len, unsigned char *sha1)
for (cp = name + len - 1; name + 2 <= cp; cp--) {
char ch = *cp;
- if (hexval(ch) & ~0377) {
+ if (!isxdigit(ch)) {
/* We must be looking at g in "SOMETHING-g"
* for it to be describe output.
*/
diff --git a/submodule.c b/submodule.c
index d37d400b22..c0e6c81fc4 100644
--- a/submodule.c
+++ b/submodule.c
@@ -576,12 +576,10 @@ static int is_submodule_commit_present(const char *path, unsigned char sha1[20])
cp.env = local_repo_env;
cp.git_cmd = 1;
cp.no_stdin = 1;
- cp.out = -1;
cp.dir = path;
- if (!run_command(&cp) && !strbuf_read(&buf, cp.out, 1024))
+ if (!capture_command(&cp, &buf, 1024) && !buf.len)
is_present = 1;
- close(cp.out);
strbuf_release(&buf);
}
return is_present;
diff --git a/t/README b/t/README
index d5bb0c9aa1..35438bca48 100644
--- a/t/README
+++ b/t/README
@@ -168,6 +168,16 @@ appropriately before running "make".
Using this option with a RAM-based filesystem (such as tmpfs)
can massively speed up the test suite.
+--chain-lint::
+--no-chain-lint::
+ If --chain-lint is enabled, the test harness will check each
+ test to make sure that it properly "&&-chains" all commands (so
+ that a failure in the middle does not go unnoticed by the final
+ exit code of the test). This check is performed in addition to
+ running the tests themselves. You may also enable or disable
+ this feature by setting the GIT_TEST_CHAIN_LINT environment
+ variable to "1" or "0", respectively.
+
You can also set the GIT_TEST_INSTALLED environment variable to
the bindir of an existing git installation to test that installation.
You still need to have built this git sandbox, from which various
diff --git a/t/annotate-tests.sh b/t/annotate-tests.sh
index 071e4d7d3e..f5c01758ca 100644
--- a/t/annotate-tests.sh
+++ b/t/annotate-tests.sh
@@ -405,7 +405,7 @@ test_expect_success 'setup -L :regex' '
mv hello.c hello.orig &&
echo "#include <stdio.h>" >hello.c &&
cat hello.orig >>hello.c &&
- tr Q "\\t" >>hello.c <<-\EOF
+ tr Q "\\t" >>hello.c <<-\EOF &&
void mail()
{
Qputs("mail");
diff --git a/t/lib-httpd.sh b/t/lib-httpd.sh
index d154d1ed1d..e6adf2f82d 100644
--- a/t/lib-httpd.sh
+++ b/t/lib-httpd.sh
@@ -79,6 +79,7 @@ HTTPD_DOCUMENT_ROOT_PATH=$HTTPD_ROOT_PATH/www
# hack to suppress apache PassEnv warnings
GIT_VALGRIND=$GIT_VALGRIND; export GIT_VALGRIND
GIT_VALGRIND_OPTIONS=$GIT_VALGRIND_OPTIONS; export GIT_VALGRIND_OPTIONS
+GIT_TRACE=$GIT_TRACE; export GIT_TRACE
if ! test -x "$LIB_HTTPD_PATH"
then
diff --git a/t/lib-httpd/apache.conf b/t/lib-httpd/apache.conf
index 03a4c2ee84..0b81a0047b 100644
--- a/t/lib-httpd/apache.conf
+++ b/t/lib-httpd/apache.conf
@@ -70,6 +70,7 @@ PassEnv GIT_VALGRIND
PassEnv GIT_VALGRIND_OPTIONS
PassEnv GNUPGHOME
PassEnv ASAN_OPTIONS
+PassEnv GIT_TRACE
Alias /dumb/ www/
Alias /auth/dumb/ www/auth/dumb/
diff --git a/t/perf/perf-lib.sh b/t/perf/perf-lib.sh
index a8c9574291..5cf74eddec 100644
--- a/t/perf/perf-lib.sh
+++ b/t/perf/perf-lib.sh
@@ -91,7 +91,7 @@ test_perf_create_repo_from () {
*/objects|*/hooks|*/config)
;;
*)
- cp -R "$stuff" . || break
+ cp -R "$stuff" . || exit 1
;;
esac
done &&
diff --git a/t/t0000-basic.sh b/t/t0000-basic.sh
index f10ba4a01e..79b9074172 100755
--- a/t/t0000-basic.sh
+++ b/t/t0000-basic.sh
@@ -253,7 +253,7 @@ test_expect_success 'test --verbose' '
test_expect_success "failing test" false
test_done
EOF
- mv test-verbose/out test-verbose/out+
+ mv test-verbose/out test-verbose/out+ &&
grep -v "^Initialized empty" test-verbose/out+ >test-verbose/out &&
check_sub_test_lib_test test-verbose <<-\EOF
> expecting success: true
@@ -974,7 +974,7 @@ test_expect_success 'writing this tree with --missing-ok' '
################################################################
test_expect_success 'git read-tree followed by write-tree should be idempotent' '
- rm -f .git/index
+ rm -f .git/index &&
git read-tree $tree &&
test -f .git/index &&
newtree=$(git write-tree) &&
diff --git a/t/t0005-signals.sh b/t/t0005-signals.sh
index aeea50c633..e7f27ebbc1 100755
--- a/t/t0005-signals.sh
+++ b/t/t0005-signals.sh
@@ -10,8 +10,8 @@ one
EOF
test_expect_success 'sigchain works' '
- test-sigchain >actual
- case "$?" in
+ { test-sigchain >actual; ret=$?; } &&
+ case "$ret" in
143) true ;; # POSIX w/ SIGTERM=15
271) true ;; # ksh w/ SIGTERM=15
3) true ;; # Windows
@@ -40,12 +40,12 @@ test_expect_success 'create blob' '
'
test_expect_success !MINGW 'a constipated git dies with SIGPIPE' '
- OUT=$( ((large_git; echo $? 1>&3) | :) 3>&1 )
+ OUT=$( ((large_git; echo $? 1>&3) | :) 3>&1 ) &&
test "$OUT" -eq 141
'
test_expect_success !MINGW 'a constipated git dies with SIGPIPE even if parent ignores it' '
- OUT=$( ((trap "" PIPE; large_git; echo $? 1>&3) | :) 3>&1 )
+ OUT=$( ((trap "" PIPE; large_git; echo $? 1>&3) | :) 3>&1 ) &&
test "$OUT" -eq 141
'
diff --git a/t/t0011-hashmap.sh b/t/t0011-hashmap.sh
index f97c80556f..9c217d948c 100755
--- a/t/t0011-hashmap.sh
+++ b/t/t0011-hashmap.sh
@@ -218,7 +218,7 @@ test_expect_success 'grow / shrink' '
echo size >> in &&
echo 64 51 >> expect &&
echo put key52 value52 >> in &&
- echo NULL >> expect
+ echo NULL >> expect &&
echo size >> in &&
echo 256 52 >> expect &&
for n in $(test_seq 12)
diff --git a/t/t0020-crlf.sh b/t/t0020-crlf.sh
index d2e51a81bc..f94120a894 100755
--- a/t/t0020-crlf.sh
+++ b/t/t0020-crlf.sh
@@ -8,6 +8,13 @@ has_cr() {
tr '\015' Q <"$1" | grep Q >/dev/null
}
+# add or remove CRs to disk file in-place
+# usage: munge_cr <append|remove> <file>
+munge_cr () {
+ "${1}_cr" <"$2" >tmp &&
+ mv tmp "$2"
+}
+
test_expect_success setup '
git config core.autocrlf false &&
@@ -28,9 +35,7 @@ test_expect_success setup '
for w in Some extra lines here; do echo $w; done >>one &&
git diff >patch.file &&
patched=$(git hash-object --stdin <one) &&
- git read-tree --reset -u HEAD &&
-
- echo happy.
+ git read-tree --reset -u HEAD
'
test_expect_success 'safecrlf: autocrlf=input, all CRLF' '
@@ -100,22 +105,11 @@ test_expect_success 'update with autocrlf=input' '
rm -f tmp one dir/two three &&
git read-tree --reset -u HEAD &&
git config core.autocrlf input &&
-
- for f in one dir/two
- do
- append_cr <$f >tmp && mv -f tmp $f &&
- git update-index -- $f || {
- echo Oops
- false
- break
- }
- done &&
-
+ munge_cr append one &&
+ munge_cr append dir/two &&
+ git update-index -- one dir/two &&
differs=$(git diff-index --cached HEAD) &&
- test -z "$differs" || {
- echo Oops "$differs"
- false
- }
+ verbose test -z "$differs"
'
@@ -124,22 +118,11 @@ test_expect_success 'update with autocrlf=true' '
rm -f tmp one dir/two three &&
git read-tree --reset -u HEAD &&
git config core.autocrlf true &&
-
- for f in one dir/two
- do
- append_cr <$f >tmp && mv -f tmp $f &&
- git update-index -- $f || {
- echo "Oops $f"
- false
- break
- }
- done &&
-
+ munge_cr append one &&
+ munge_cr append dir/two &&
+ git update-index -- one dir/two &&
differs=$(git diff-index --cached HEAD) &&
- test -z "$differs" || {
- echo Oops "$differs"
- false
- }
+ verbose test -z "$differs"
'
@@ -148,23 +131,13 @@ test_expect_success 'checkout with autocrlf=true' '
rm -f tmp one dir/two three &&
git config core.autocrlf true &&
git read-tree --reset -u HEAD &&
-
- for f in one dir/two
- do
- remove_cr <"$f" >tmp && mv -f tmp $f &&
- git update-index -- $f || {
- echo "Eh? $f"
- false
- break
- }
- done &&
+ munge_cr remove one &&
+ munge_cr remove dir/two &&
+ git update-index -- one dir/two &&
test "$one" = $(git hash-object --stdin <one) &&
test "$two" = $(git hash-object --stdin <dir/two) &&
differs=$(git diff-index --cached HEAD) &&
- test -z "$differs" || {
- echo Oops "$differs"
- false
- }
+ verbose test -z "$differs"
'
test_expect_success 'checkout with autocrlf=input' '
@@ -172,25 +145,13 @@ test_expect_success 'checkout with autocrlf=input' '
rm -f tmp one dir/two three &&
git config core.autocrlf input &&
git read-tree --reset -u HEAD &&
-
- for f in one dir/two
- do
- if has_cr "$f"
- then
- echo "Eh? $f"
- false
- break
- else
- git update-index -- $f
- fi
- done &&
+ test_must_fail has_cr one &&
+ test_must_fail has_cr two &&
+ git update-index -- one dir/two &&
test "$one" = $(git hash-object --stdin <one) &&
test "$two" = $(git hash-object --stdin <dir/two) &&
differs=$(git diff-index --cached HEAD) &&
- test -z "$differs" || {
- echo Oops "$differs"
- false
- }
+ verbose test -z "$differs"
'
test_expect_success 'apply patch (autocrlf=input)' '
@@ -200,10 +161,7 @@ test_expect_success 'apply patch (autocrlf=input)' '
git read-tree --reset -u HEAD &&
git apply patch.file &&
- test "$patched" = "$(git hash-object --stdin <one)" || {
- echo "Eh? apply without index"
- false
- }
+ verbose test "$patched" = "$(git hash-object --stdin <one)"
'
test_expect_success 'apply patch --cached (autocrlf=input)' '
@@ -213,10 +171,7 @@ test_expect_success 'apply patch --cached (autocrlf=input)' '
git read-tree --reset -u HEAD &&
git apply --cached patch.file &&
- test "$patched" = $(git rev-parse :one) || {
- echo "Eh? apply with --cached"
- false
- }
+ verbose test "$patched" = $(git rev-parse :one)
'
test_expect_success 'apply patch --index (autocrlf=input)' '
@@ -226,11 +181,8 @@ test_expect_success 'apply patch --index (autocrlf=input)' '
git read-tree --reset -u HEAD &&
git apply --index patch.file &&
- test "$patched" = $(git rev-parse :one) &&
- test "$patched" = $(git hash-object --stdin <one) || {
- echo "Eh? apply with --index"
- false
- }
+ verbose test "$patched" = $(git rev-parse :one) &&
+ verbose test "$patched" = $(git hash-object --stdin <one)
'
test_expect_success 'apply patch (autocrlf=true)' '
@@ -240,10 +192,7 @@ test_expect_success 'apply patch (autocrlf=true)' '
git read-tree --reset -u HEAD &&
git apply patch.file &&
- test "$patched" = "$(remove_cr <one | git hash-object --stdin)" || {
- echo "Eh? apply without index"
- false
- }
+ verbose test "$patched" = "$(remove_cr <one | git hash-object --stdin)"
'
test_expect_success 'apply patch --cached (autocrlf=true)' '
@@ -253,10 +202,7 @@ test_expect_success 'apply patch --cached (autocrlf=true)' '
git read-tree --reset -u HEAD &&
git apply --cached patch.file &&
- test "$patched" = $(git rev-parse :one) || {
- echo "Eh? apply without index"
- false
- }
+ verbose test "$patched" = $(git rev-parse :one)
'
test_expect_success 'apply patch --index (autocrlf=true)' '
@@ -266,11 +212,8 @@ test_expect_success 'apply patch --index (autocrlf=true)' '
git read-tree --reset -u HEAD &&
git apply --index patch.file &&
- test "$patched" = $(git rev-parse :one) &&
- test "$patched" = "$(remove_cr <one | git hash-object --stdin)" || {
- echo "Eh? apply with --index"
- false
- }
+ verbose test "$patched" = $(git rev-parse :one) &&
+ verbose test "$patched" = "$(remove_cr <one | git hash-object --stdin)"
'
test_expect_success '.gitattributes says two is binary' '
@@ -280,29 +223,9 @@ test_expect_success '.gitattributes says two is binary' '
git config core.autocrlf true &&
git read-tree --reset -u HEAD &&
- if has_cr dir/two
- then
- echo "Huh?"
- false
- else
- : happy
- fi &&
-
- if has_cr one
- then
- : happy
- else
- echo "Huh?"
- false
- fi &&
-
- if has_cr three
- then
- echo "Huh?"
- false
- else
- : happy
- fi
+ test_must_fail has_cr dir/two &&
+ verbose has_cr one &&
+ test_must_fail has_cr three
'
test_expect_success '.gitattributes says two is input' '
@@ -311,13 +234,7 @@ test_expect_success '.gitattributes says two is input' '
echo "two crlf=input" >.gitattributes &&
git read-tree --reset -u HEAD &&
- if has_cr dir/two
- then
- echo "Huh?"
- false
- else
- : happy
- fi
+ test_must_fail has_cr dir/two
'
test_expect_success '.gitattributes says two and three are text' '
@@ -326,21 +243,8 @@ test_expect_success '.gitattributes says two and three are text' '
echo "t* crlf" >.gitattributes &&
git read-tree --reset -u HEAD &&
- if has_cr dir/two
- then
- : happy
- else
- echo "Huh?"
- false
- fi &&
-
- if has_cr three
- then
- : happy
- else
- echo "Huh?"
- false
- fi
+ verbose has_cr dir/two &&
+ verbose has_cr three
'
test_expect_success 'in-tree .gitattributes (1)' '
@@ -352,17 +256,8 @@ test_expect_success 'in-tree .gitattributes (1)' '
rm -rf tmp one dir .gitattributes patch.file three &&
git read-tree --reset -u HEAD &&
- if has_cr one
- then
- echo "Eh? one should not have CRLF"
- false
- else
- : happy
- fi &&
- has_cr three || {
- echo "Eh? three should still have CRLF"
- false
- }
+ test_must_fail has_cr one &&
+ verbose has_cr three
'
test_expect_success 'in-tree .gitattributes (2)' '
@@ -371,17 +266,8 @@ test_expect_success 'in-tree .gitattributes (2)' '
git read-tree --reset HEAD &&
git checkout-index -f -q -u -a &&
- if has_cr one
- then
- echo "Eh? one should not have CRLF"
- false
- else
- : happy
- fi &&
- has_cr three || {
- echo "Eh? three should still have CRLF"
- false
- }
+ test_must_fail has_cr one &&
+ verbose has_cr three
'
test_expect_success 'in-tree .gitattributes (3)' '
@@ -391,17 +277,8 @@ test_expect_success 'in-tree .gitattributes (3)' '
git checkout-index -u .gitattributes &&
git checkout-index -u one dir/two three &&
- if has_cr one
- then
- echo "Eh? one should not have CRLF"
- false
- else
- : happy
- fi &&
- has_cr three || {
- echo "Eh? three should still have CRLF"
- false
- }
+ test_must_fail has_cr one &&
+ verbose has_cr three
'
test_expect_success 'in-tree .gitattributes (4)' '
@@ -411,17 +288,8 @@ test_expect_success 'in-tree .gitattributes (4)' '
git checkout-index -u one dir/two three &&
git checkout-index -u .gitattributes &&
- if has_cr one
- then
- echo "Eh? one should not have CRLF"
- false
- else
- : happy
- fi &&
- has_cr three || {
- echo "Eh? three should still have CRLF"
- false
- }
+ test_must_fail has_cr one &&
+ verbose has_cr three
'
test_expect_success 'checkout with existing .gitattributes' '
diff --git a/t/t0040-parse-options.sh b/t/t0040-parse-options.sh
index a90c86bfa3..b044785175 100755
--- a/t/t0040-parse-options.sh
+++ b/t/t0040-parse-options.sh
@@ -172,12 +172,9 @@ test_expect_success 'long options' '
'
test_expect_success 'missing required value' '
- test-parse-options -s;
- test $? = 129 &&
- test-parse-options --string;
- test $? = 129 &&
- test-parse-options --file;
- test $? = 129
+ test_expect_code 129 test-parse-options -s &&
+ test_expect_code 129 test-parse-options --string &&
+ test_expect_code 129 test-parse-options --file
'
cat > expect << EOF
@@ -227,8 +224,7 @@ test_expect_success 'unambiguously abbreviated option with "="' '
'
test_expect_success 'ambiguously abbreviated option' '
- test-parse-options --strin 123;
- test $? = 129
+ test_expect_code 129 test-parse-options --strin 123
'
cat > expect << EOF
diff --git a/t/t0050-filesystem.sh b/t/t0050-filesystem.sh
index 988c3925d5..b29d749bb7 100755
--- a/t/t0050-filesystem.sh
+++ b/t/t0050-filesystem.sh
@@ -33,16 +33,20 @@ test_expect_success "detection of case insensitive filesystem during repo init"
'
else
test_expect_success "detection of case insensitive filesystem during repo init" '
- test_must_fail git config --bool core.ignorecase >/dev/null ||
- test $(git config --bool core.ignorecase) = false
+ {
+ test_must_fail git config --bool core.ignorecase >/dev/null ||
+ test $(git config --bool core.ignorecase) = false
+ }
'
fi
if test_have_prereq SYMLINKS
then
test_expect_success "detection of filesystem w/o symlink support during repo init" '
- test_must_fail git config --bool core.symlinks ||
- test "$(git config --bool core.symlinks)" = true
+ {
+ test_must_fail git config --bool core.symlinks ||
+ test "$(git config --bool core.symlinks)" = true
+ }
'
else
test_expect_success "detection of filesystem w/o symlink support during repo init" '
diff --git a/t/t0056-git-C.sh b/t/t0056-git-C.sh
index 99c037703a..2630e756da 100755
--- a/t/t0056-git-C.sh
+++ b/t/t0056-git-C.sh
@@ -14,6 +14,16 @@ test_expect_success '"git -C <path>" runs git from the directory <path>' '
test_cmp expected actual
'
+test_expect_success '"git -C <path>" with an empty <path> is a no-op' '
+ (
+ mkdir -p dir1/subdir &&
+ cd dir1/subdir &&
+ git -C "" rev-parse --show-prefix >actual &&
+ echo subdir/ >expect &&
+ test_cmp expect actual
+ )
+'
+
test_expect_success 'Multiple -C options: "-C dir1 -C dir2" is equivalent to "-C dir1/dir2"' '
test_create_repo dir1/dir2 &&
echo 1 >dir1/dir2/b.txt &&
diff --git a/t/t0062-revision-walking.sh b/t/t0062-revision-walking.sh
index 3d98eb847f..113c728e67 100755
--- a/t/t0062-revision-walking.sh
+++ b/t/t0062-revision-walking.sh
@@ -26,7 +26,7 @@ test_expect_success 'setup' '
'
test_expect_success 'revision walking can be done twice' '
- test-revision-walking run-twice > run_twice_actual
+ test-revision-walking run-twice >run_twice_actual &&
test_cmp run_twice_expected run_twice_actual
'
diff --git a/t/t0201-gettext-fallbacks.sh b/t/t0201-gettext-fallbacks.sh
index 5d80a985fb..90da1c7ddc 100755
--- a/t/t0201-gettext-fallbacks.sh
+++ b/t/t0201-gettext-fallbacks.sh
@@ -50,17 +50,17 @@ test_expect_success 'eval_gettext: our eval_gettext() fallback can interpolate v
test_expect_success 'eval_gettext: our eval_gettext() fallback can interpolate variables with spaces' '
cmdline="git am" &&
- export cmdline;
+ export cmdline &&
printf "When you have resolved this problem, run git am --resolved." >expect &&
- eval_gettext "When you have resolved this problem, run \$cmdline --resolved." >actual
+ eval_gettext "When you have resolved this problem, run \$cmdline --resolved." >actual &&
test_i18ncmp expect actual
'
test_expect_success 'eval_gettext: our eval_gettext() fallback can interpolate variables with spaces and quotes' '
cmdline="git am" &&
- export cmdline;
+ export cmdline &&
printf "When you have resolved this problem, run \"git am --resolved\"." >expect &&
- eval_gettext "When you have resolved this problem, run \"\$cmdline --resolved\"." >actual
+ eval_gettext "When you have resolved this problem, run \"\$cmdline --resolved\"." >actual &&
test_i18ncmp expect actual
'
diff --git a/t/t1002-read-tree-m-u-2way.sh b/t/t1002-read-tree-m-u-2way.sh
index fed877b20f..e3bf821694 100755
--- a/t/t1002-read-tree-m-u-2way.sh
+++ b/t/t1002-read-tree-m-u-2way.sh
@@ -75,8 +75,8 @@ test_expect_success \
echo yomin >yomin &&
git update-index --add yomin &&
read_tree_u_must_succeed -m -u $treeH $treeM &&
- git ls-files --stage >4.out || return 1
- git diff -U0 --no-index M.out 4.out >4diff.out
+ git ls-files --stage >4.out &&
+ test_might_fail git diff -U0 --no-index M.out 4.out >4diff.out &&
compare_change 4diff.out expected &&
check_cache_at yomin clean &&
sum bozbar frotz nitfol >actual4.sum &&
@@ -94,8 +94,8 @@ test_expect_success \
git update-index --add yomin &&
echo yomin yomin >yomin &&
read_tree_u_must_succeed -m -u $treeH $treeM &&
- git ls-files --stage >5.out || return 1
- git diff -U0 --no-index M.out 5.out >5diff.out
+ git ls-files --stage >5.out &&
+ test_might_fail git diff -U0 --no-index M.out 5.out >5diff.out &&
compare_change 5diff.out expected &&
check_cache_at yomin dirty &&
sum bozbar frotz nitfol >actual5.sum &&
diff --git a/t/t1006-cat-file.sh b/t/t1006-cat-file.sh
index a72e700ae4..ab36b1eb72 100755
--- a/t/t1006-cat-file.sh
+++ b/t/t1006-cat-file.sh
@@ -274,7 +274,7 @@ test_expect_success 'setup blobs which are likely to delta' '
'
test_expect_success 'confirm that neither loose blob is a delta' '
- cat >expect <<-EOF
+ cat >expect <<-EOF &&
$_z40
$_z40
EOF
diff --git a/t/t1300-repo-config.sh b/t/t1300-repo-config.sh
index 938fc8bfd7..66dd28644f 100755
--- a/t/t1300-repo-config.sh
+++ b/t/t1300-repo-config.sh
@@ -677,7 +677,7 @@ test_expect_success 'invalid unit' '
echo 1auto >expect &&
git config aninvalid.unit >actual &&
test_cmp expect actual &&
- cat >expect <<-\EOF
+ cat >expect <<-\EOF &&
fatal: bad numeric config value '\''1auto'\'' for '\''aninvalid.unit'\'' in .git/config: invalid unit
EOF
test_must_fail git config --int --get aninvalid.unit 2>actual &&
@@ -1165,7 +1165,7 @@ test_expect_failure 'adding a key into an empty section reuses header' '
Qkey = value
EOF
- git config section.key value
+ git config section.key value &&
test_cmp expect .git/config
'
diff --git a/t/t1301-shared-repo.sh b/t/t1301-shared-repo.sh
index 7eecfb836a..ac10875408 100755
--- a/t/t1301-shared-repo.sh
+++ b/t/t1301-shared-repo.sh
@@ -12,12 +12,11 @@ setfacl -k . 2>/dev/null
# User must have read permissions to the repo -> failure on --shared=0400
test_expect_success 'shared = 0400 (faulty permission u-w)' '
+ test_when_finished "rm -rf sub" &&
mkdir sub && (
- cd sub && git init --shared=0400
+ cd sub &&
+ test_must_fail git init --shared=0400
)
- ret="$?"
- rm -rf sub
- test $ret != "0"
'
modebits () {
@@ -33,7 +32,7 @@ do
git init --shared=1 &&
test 1 = "$(git config core.sharedrepository)"
) &&
- actual=$(ls -l sub/.git/HEAD)
+ actual=$(ls -l sub/.git/HEAD) &&
case "$actual" in
-rw-rw-r--*)
: happy
@@ -90,10 +89,8 @@ do
rm -f .git/info/refs &&
git update-server-info &&
actual="$(modebits .git/info/refs)" &&
- test "x$actual" = "x-$y" || {
- ls -lt .git/info
- false
- }
+ verbose test "x$actual" = "x-$y"
+
'
umask 077 &&
@@ -102,10 +99,7 @@ do
rm -f .git/info/refs &&
git update-server-info &&
actual="$(modebits .git/info/refs)" &&
- test "x$actual" = "x-$x" || {
- ls -lt .git/info
- false
- }
+ verbose test "x$actual" = "x-$x"
'
diff --git a/t/t1403-show-ref.sh b/t/t1403-show-ref.sh
index 3e500ed7da..7e10bcfe39 100755
--- a/t/t1403-show-ref.sh
+++ b/t/t1403-show-ref.sh
@@ -28,7 +28,7 @@ test_expect_success 'show-ref' '
>expect &&
- test_must_fail git show-ref D >actual
+ test_must_fail git show-ref D >actual &&
test_cmp expect actual
'
@@ -62,7 +62,7 @@ test_expect_success 'show-ref --verify' '
test_must_fail git show-ref --verify tags/A >actual &&
test_cmp expect actual &&
- test_must_fail git show-ref --verify D >actual
+ test_must_fail git show-ref --verify D >actual &&
test_cmp expect actual
'
@@ -78,7 +78,7 @@ test_expect_success 'show-ref --verify -q' '
test_must_fail git show-ref --verify -q tags/A >actual &&
test_cmp expect actual &&
- test_must_fail git show-ref --verify -q D >actual
+ test_must_fail git show-ref --verify -q D >actual &&
test_cmp expect actual
'
@@ -105,10 +105,10 @@ test_expect_success 'show-ref -d' '
test_cmp expect actual &&
git show-ref -d refs/heads/master >actual &&
- test_cmp expect actual
+ test_cmp expect actual &&
git show-ref -d --verify refs/heads/master >actual &&
- test_cmp expect actual
+ test_cmp expect actual &&
>expect &&
diff --git a/t/t1700-split-index.sh b/t/t1700-split-index.sh
index 94fb473e7c..193d55c3f4 100755
--- a/t/t1700-split-index.sh
+++ b/t/t1700-split-index.sh
@@ -10,9 +10,18 @@ sane_unset GIT_TEST_SPLIT_INDEX
test_expect_success 'enable split index' '
git update-index --split-index &&
test-dump-split-index .git/index >actual &&
+ indexversion=$(test-index-version <.git/index) &&
+ if test "$indexversion" = "4"
+ then
+ own=432ef4b63f32193984f339431fd50ca796493569
+ base=508851a7f0dfa8691e9f69c7f055865389012491
+ else
+ own=8299b0bcd1ac364e5f1d7768efb62fa2da79a339
+ base=39d890139ee5356c7ef572216cebcd27aa41f9df
+ fi &&
cat >expect <<EOF &&
-own 8299b0bcd1ac364e5f1d7768efb62fa2da79a339
-base 39d890139ee5356c7ef572216cebcd27aa41f9df
+own $own
+base $base
replacements:
deletions:
EOF
@@ -30,7 +39,7 @@ EOF
test-dump-split-index .git/index | sed "/^own/d" >actual &&
cat >expect <<EOF &&
-base 39d890139ee5356c7ef572216cebcd27aa41f9df
+base $base
100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0 one
replacements:
deletions:
@@ -182,7 +191,7 @@ test_expect_success 'unify index, two files remain' '
100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0 one
100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0 two
EOF
- test_cmp ls-files.expect ls-files.actual
+ test_cmp ls-files.expect ls-files.actual &&
test-dump-split-index .git/index | sed "/^own/d" >actual &&
cat >expect <<EOF &&
diff --git a/t/t3001-ls-files-others-exclude.sh b/t/t3001-ls-files-others-exclude.sh
index b2798feef7..3fc484e8c3 100755
--- a/t/t3001-ls-files-others-exclude.sh
+++ b/t/t3001-ls-files-others-exclude.sh
@@ -294,7 +294,7 @@ one/a.1
one/two/a.1
three/a.1
EOF
- git ls-files -o -i --exclude "**/a.1" >actual
+ git ls-files -o -i --exclude "**/a.1" >actual &&
test_cmp expect actual
'
diff --git a/t/t3010-ls-files-killed-modified.sh b/t/t3010-ls-files-killed-modified.sh
index 6d3b828a95..580e158f99 100755
--- a/t/t3010-ls-files-killed-modified.sh
+++ b/t/t3010-ls-files-killed-modified.sh
@@ -55,14 +55,11 @@ test_expect_success 'git update-index --add to add various paths.' '
: >path9 &&
date >path10 &&
git update-index --add -- path0 path?/file? pathx/ju path7 path8 path9 path10 &&
- for i in 1 2
- do
- git init submod$i &&
- (
- cd submod$i && git commit --allow-empty -m "empty $i"
- ) || break
- done &&
- git update-index --add submod[12]
+ git init submod1 &&
+ git -C submod1 commit --allow-empty -m "empty 1" &&
+ git init submod2 &&
+ git -C submod2 commit --allow-empty -m "empty 2" &&
+ git update-index --add submod[12] &&
(
cd submod1 &&
git commit --allow-empty -m "empty 1 (updated)"
@@ -99,12 +96,12 @@ test_expect_success 'git ls-files -k to show killed files.' '
'
test_expect_success 'git ls-files -k output (w/o icase)' '
- git ls-files -k >.output
+ git ls-files -k >.output &&
test_cmp .expected .output
'
test_expect_success 'git ls-files -k output (w/ icase)' '
- git -c core.ignorecase=true ls-files -k >.output
+ git -c core.ignorecase=true ls-files -k >.output &&
test_cmp .expected .output
'
diff --git a/t/t3031-merge-criscross.sh b/t/t3031-merge-criscross.sh
index 7f41607c56..e59b0a32d6 100755
--- a/t/t3031-merge-criscross.sh
+++ b/t/t3031-merge-criscross.sh
@@ -32,7 +32,7 @@ test_expect_success 'setup repo with criss-cross history' '
do
echo $n > data/$n &&
n=$(($n+1)) ||
- break
+ return 1
done &&
# check them in
diff --git a/t/t3060-ls-files-with-tree.sh b/t/t3060-ls-files-with-tree.sh
index 61c1f53d1b..44f378ce41 100755
--- a/t/t3060-ls-files-with-tree.sh
+++ b/t/t3060-ls-files-with-tree.sh
@@ -18,22 +18,16 @@ test_expect_success setup '
echo file >expected &&
mkdir sub &&
- bad= &&
for n in 0 1 2 3 4 5
do
for m in 0 1 2 3 4 5 6 7 8 9
do
num=00$n$m &&
>sub/file-$num &&
- echo file-$num >>expected || {
- bad=t
- break
- }
- done && test -z "$bad" || {
- bad=t
- break
- }
- done && test -z "$bad" &&
+ echo file-$num >>expected ||
+ return 1
+ done
+ done &&
git add . &&
git commit -m "add a bunch of files" &&
diff --git a/t/t3202-show-branch-octopus.sh b/t/t3202-show-branch-octopus.sh
index 0a5d5e669f..6adf47869c 100755
--- a/t/t3202-show-branch-octopus.sh
+++ b/t/t3202-show-branch-octopus.sh
@@ -19,7 +19,7 @@ test_expect_success 'setup' '
> file$i &&
git add file$i &&
test_tick &&
- git commit -m branch$i || break
+ git commit -m branch$i || return 1
done
'
diff --git a/t/t3203-branch-output.sh b/t/t3203-branch-output.sh
index ba4f98e800..f51d0f3cad 100755
--- a/t/t3203-branch-output.sh
+++ b/t/t3203-branch-output.sh
@@ -96,7 +96,7 @@ test_expect_success 'git branch -v pattern does not show branch summaries' '
test_expect_success 'git branch shows detached HEAD properly' '
cat >expect <<EOF &&
-* (detached from $(git rev-parse --short HEAD^0))
+* (HEAD detached at $(git rev-parse --short HEAD^0))
branch-one
branch-two
master
@@ -106,4 +106,41 @@ EOF
test_i18ncmp expect actual
'
+test_expect_success 'git branch shows detached HEAD properly after moving' '
+ cat >expect <<EOF &&
+* (HEAD detached from $(git rev-parse --short HEAD))
+ branch-one
+ branch-two
+ master
+EOF
+ git reset --hard HEAD^1 &&
+ git branch >actual &&
+ test_i18ncmp expect actual
+'
+
+test_expect_success 'git branch shows detached HEAD properly from tag' '
+ cat >expect <<EOF &&
+* (HEAD detached at fromtag)
+ branch-one
+ branch-two
+ master
+EOF
+ git tag fromtag master &&
+ git checkout fromtag &&
+ git branch >actual &&
+ test_i18ncmp expect actual
+'
+
+test_expect_success 'git branch shows detached HEAD properly after moving from tag' '
+ cat >expect <<EOF &&
+* (HEAD detached from fromtag)
+ branch-one
+ branch-two
+ master
+EOF
+ git reset --hard HEAD^1 &&
+ git branch >actual &&
+ test_i18ncmp expect actual
+'
+
test_done
diff --git a/t/t3305-notes-fanout.sh b/t/t3305-notes-fanout.sh
index b1ea64b213..54460beec4 100755
--- a/t/t3305-notes-fanout.sh
+++ b/t/t3305-notes-fanout.sh
@@ -51,15 +51,12 @@ test_expect_success 'deleting most notes with git-notes' '
num_notes=250 &&
i=0 &&
git rev-list HEAD |
- while read sha1
+ while test $i -lt $num_notes && read sha1
do
i=$(($i + 1)) &&
- if test $i -gt $num_notes
- then
- break
- fi &&
test_tick &&
- git notes remove "$sha1"
+ git notes remove "$sha1" ||
+ exit 1
done
'
diff --git a/t/t3404-rebase-interactive.sh b/t/t3404-rebase-interactive.sh
index a31f7e0430..eed76cca55 100755
--- a/t/t3404-rebase-interactive.sh
+++ b/t/t3404-rebase-interactive.sh
@@ -950,7 +950,7 @@ test_expect_success 'rebase --edit-todo can be used to modify todo' '
set_fake_editor &&
FAKE_LINES="edit 1 2 3" git rebase -i HEAD~3 &&
FAKE_LINES="2 1" git rebase --edit-todo &&
- git rebase --continue
+ git rebase --continue &&
test M = $(git cat-file commit HEAD^ | sed -ne \$p) &&
test L = $(git cat-file commit HEAD | sed -ne \$p)
'
@@ -1007,7 +1007,7 @@ test_expect_success 'rebase -i with --strategy and -X' '
'
test_expect_success 'rebase -i error on commits with \ in message' '
- current_head=$(git rev-parse HEAD)
+ current_head=$(git rev-parse HEAD) &&
test_when_finished "git rebase --abort; git reset --hard $current_head; rm -f error" &&
test_commit TO-REMOVE will-conflict old-content &&
test_commit "\temp" will-conflict new-content dummy &&
@@ -1046,4 +1046,13 @@ test_expect_success 'respect core.abbrev' '
test 4 = $(grep -c "pick [0-9a-f]\{12,\}" todo-list)
'
+test_expect_success 'todo count' '
+ write_script dump-raw.sh <<-\EOF &&
+ cat "$1"
+ EOF
+ test_set_editor "$(pwd)/dump-raw.sh" &&
+ git rebase -i HEAD~4 >actual &&
+ grep "^# Rebase ..* onto ..* ([0-9]" actual
+'
+
test_done
diff --git a/t/t3405-rebase-malformed.sh b/t/t3405-rebase-malformed.sh
index 19eddadcf7..ff8c360cd5 100755
--- a/t/t3405-rebase-malformed.sh
+++ b/t/t3405-rebase-malformed.sh
@@ -24,7 +24,7 @@ test_expect_success setup '
git add file1 file2 &&
test_tick &&
git commit -m "Initial commit" &&
- git branch diff-in-message
+ git branch diff-in-message &&
git checkout -b multi-line-subject &&
cat F >file2 &&
@@ -36,7 +36,7 @@ test_expect_success setup '
git checkout diff-in-message &&
echo "commit log message containing a diff" >G &&
- echo "" >>G
+ echo "" >>G &&
cat G >file2 &&
git add file2 &&
git diff --cached >>G &&
diff --git a/t/t3425-rebase-topology-merges.sh b/t/t3425-rebase-topology-merges.sh
index 1d195fbd64..846f85c27e 100755
--- a/t/t3425-rebase-topology-merges.sh
+++ b/t/t3425-rebase-topology-merges.sh
@@ -24,7 +24,7 @@ test_expect_success 'setup of non-linear-history' '
test_commit c &&
git checkout b &&
test_commit d &&
- test_commit e
+ test_commit e &&
git checkout c &&
test_commit g &&
@@ -33,7 +33,7 @@ test_expect_success 'setup of non-linear-history' '
cherry_pick gp g &&
test_commit i &&
git checkout b &&
- test_commit f
+ test_commit f &&
git checkout d &&
test_commit n &&
diff --git a/t/t3511-cherry-pick-x.sh b/t/t3511-cherry-pick-x.sh
index f97727975b..b7dff09d06 100755
--- a/t/t3511-cherry-pick-x.sh
+++ b/t/t3511-cherry-pick-x.sh
@@ -36,6 +36,20 @@ mesg_with_cherry_footer="$mesg_with_footer_sob
(cherry picked from commit da39a3ee5e6b4b0d3255bfef95601890afd80709)
Tested-by: C.U. Thor <cuthor@example.com>"
+mesg_unclean="$mesg_one_line
+
+
+leading empty lines
+
+
+consecutive empty lines
+
+# hash tag comment
+
+trailing empty lines
+
+
+"
test_expect_success setup '
git config advice.detachedhead false &&
@@ -53,6 +67,10 @@ test_expect_success setup '
test_commit "$mesg_with_footer_sob" foo b mesg-with-footer-sob &&
git reset --hard initial &&
test_commit "$mesg_with_cherry_footer" foo b mesg-with-cherry-footer &&
+ git reset --hard initial &&
+ test_config commit.cleanup verbatim &&
+ test_commit "$mesg_unclean" foo b mesg-unclean &&
+ test_unconfig commit.cleanup &&
pristine_detach initial &&
test_commit conflicting unrelated
'
@@ -216,4 +234,14 @@ test_expect_success 'cherry-pick -x -s treats "(cherry picked from..." line as p
test_cmp expect actual
'
+test_expect_success 'cherry-pick preserves commit message' '
+ pristine_detach initial &&
+ printf "$mesg_unclean" >expect &&
+ git log -1 --pretty=format:%B mesg-unclean >actual &&
+ test_cmp expect actual &&
+ git cherry-pick mesg-unclean &&
+ git log -1 --pretty=format:%B >actual &&
+ test_cmp expect actual
+'
+
test_done
diff --git a/t/t3600-rm.sh b/t/t3600-rm.sh
index e00d7d2b61..9d90d2c935 100755
--- a/t/t3600-rm.sh
+++ b/t/t3600-rm.sh
@@ -38,37 +38,37 @@ test_expect_success \
test_expect_success \
'Test that git rm --cached foo succeeds if the index matches the file' \
- 'echo content > foo
- git add foo
+ 'echo content >foo &&
+ git add foo &&
git rm --cached foo'
test_expect_success \
'Test that git rm --cached foo succeeds if the index matches the file' \
- 'echo content > foo
- git add foo
- git commit -m foo
- echo "other content" > foo
+ 'echo content >foo &&
+ git add foo &&
+ git commit -m foo &&
+ echo "other content" >foo &&
git rm --cached foo'
test_expect_success \
'Test that git rm --cached foo fails if the index matches neither the file nor HEAD' '
- echo content > foo
- git add foo
- git commit -m foo
- echo "other content" > foo
- git add foo
- echo "yet another content" > foo
+ echo content >foo &&
+ git add foo &&
+ git commit -m foo --allow-empty &&
+ echo "other content" >foo &&
+ git add foo &&
+ echo "yet another content" >foo &&
test_must_fail git rm --cached foo
'
test_expect_success \
'Test that git rm --cached -f foo works in case where --cached only did not' \
- 'echo content > foo
- git add foo
- git commit -m foo
- echo "other content" > foo
- git add foo
- echo "yet another content" > foo
+ 'echo content >foo &&
+ git add foo &&
+ git commit -m foo --allow-empty &&
+ echo "other content" >foo &&
+ git add foo &&
+ echo "yet another content" >foo &&
git rm --cached -f foo'
test_expect_success \
@@ -170,7 +170,7 @@ test_expect_success 'but with -f it should work.' '
git rm -f foo baz &&
test ! -f foo &&
test ! -f baz &&
- test_must_fail git ls-files --error-unmatch foo
+ test_must_fail git ls-files --error-unmatch foo &&
test_must_fail git ls-files --error-unmatch baz
'
@@ -183,7 +183,7 @@ test_expect_success 'refuse to remove cached empty file with modifications' '
test_expect_success 'remove intent-to-add file without --force' '
echo content >intent-to-add &&
- git add -N intent-to-add
+ git add -N intent-to-add &&
git rm --cached intent-to-add
'
@@ -201,7 +201,7 @@ test_expect_success 'Recursive without -r fails' '
'
test_expect_success 'Recursive with -r but dirty' '
- echo qfwfq >>frotz/nitfol
+ echo qfwfq >>frotz/nitfol &&
test_must_fail git rm -r frotz &&
test -d frotz &&
test -f frotz/nitfol
diff --git a/t/t3901-i18n-patch.sh b/t/t3901-i18n-patch.sh
index a392f3d1d6..75cf3ff9bd 100755
--- a/t/t3901-i18n-patch.sh
+++ b/t/t3901-i18n-patch.sh
@@ -9,7 +9,7 @@ test_description='i18n settings and format-patch | am pipe'
check_encoding () {
# Make sure characters are not corrupted
- cnt="$1" header="$2" i=1 j=0 bad=0
+ cnt="$1" header="$2" i=1 j=0
while test "$i" -le $cnt
do
git format-patch --encoding=UTF-8 --stdout HEAD~$i..HEAD~$j |
@@ -20,14 +20,10 @@ check_encoding () {
grep "^encoding ISO8859-1" ;;
*)
grep "^encoding ISO8859-1"; test "$?" != 0 ;;
- esac || {
- bad=1
- break
- }
+ esac || return 1
j=$i
i=$(($i+1))
done
- (exit $bad)
}
test_expect_success setup '
diff --git a/t/t4013/diff.log_--decorate_--all b/t/t4013/diff.log_--decorate_--all
index 27d3eabc26..3aa16a9e42 100644
--- a/t/t4013/diff.log_--decorate_--all
+++ b/t/t4013/diff.log_--decorate_--all
@@ -5,7 +5,7 @@ Date: Mon Jun 26 00:06:00 2006 +0000
Rearranged lines in dir/sub
-commit 59d314ad6f356dd08601a4cd5e530381da3e3c64 (HEAD, master)
+commit 59d314ad6f356dd08601a4cd5e530381da3e3c64 (HEAD -> master)
Merge: 9a6d494 c7a2ab9
Author: A U Thor <author@example.com>
Date: Mon Jun 26 00:04:00 2006 +0000
diff --git a/t/t4014-format-patch.sh b/t/t4014-format-patch.sh
index 256affce89..c39e50028f 100755
--- a/t/t4014-format-patch.sh
+++ b/t/t4014-format-patch.sh
@@ -802,7 +802,7 @@ test_expect_success '--no-signature suppresses format.signaturefile ' '
'
test_expect_success '--signature-file overrides format.signaturefile' '
- cat >other-mail-signature <<-\EOF
+ cat >other-mail-signature <<-\EOF &&
Use this other signature instead of mail-signature.
EOF
test_config format.signaturefile mail-signature &&
diff --git a/t/t4022-diff-rewrite.sh b/t/t4022-diff-rewrite.sh
index 2d030a4ec3..cb51d9f9d4 100755
--- a/t/t4022-diff-rewrite.sh
+++ b/t/t4022-diff-rewrite.sh
@@ -20,10 +20,7 @@ test_expect_success setup '
test_expect_success 'detect rewrite' '
actual=$(git diff-files -B --summary test) &&
- expr "$actual" : " rewrite test ([0-9]*%)$" || {
- echo "Eh? <<$actual>>"
- false
- }
+ verbose expr "$actual" : " rewrite test ([0-9]*%)$"
'
diff --git a/t/t4024-diff-optimize-common.sh b/t/t4024-diff-optimize-common.sh
index c4d733f5db..7e76018296 100755
--- a/t/t4024-diff-optimize-common.sh
+++ b/t/t4024-diff-optimize-common.sh
@@ -139,7 +139,7 @@ test_expect_success setup '
( printf C; zs $n ) >file-c$n &&
( echo D; zs $n ) >file-d$n &&
- expect_pattern $n || break
+ expect_pattern $n || return 1
done >expect
'
diff --git a/t/t4026-color.sh b/t/t4026-color.sh
index 4d20feacfe..2b32c4fbe6 100755
--- a/t/t4026-color.sh
+++ b/t/t4026-color.sh
@@ -111,9 +111,9 @@ test_expect_success 'unknown color slots are ignored (branch)' '
'
test_expect_success 'unknown color slots are ignored (status)' '
- git config color.status.nosuchslotwilleverbedefined white || exit
- git status
- case $? in 0|1) : ok ;; *) false ;; esac
+ git config color.status.nosuchslotwilleverbedefined white &&
+ { git status; ret=$?; } &&
+ case $ret in 0|1) : ok ;; *) false ;; esac
'
test_done
diff --git a/t/t4035-diff-quiet.sh b/t/t4035-diff-quiet.sh
index e8ae2a03fd..461f4bb583 100755
--- a/t/t4035-diff-quiet.sh
+++ b/t/t4035-diff-quiet.sh
@@ -29,67 +29,65 @@ test_expect_success 'setup' '
'
test_expect_success 'git diff-tree HEAD^ HEAD' '
- git diff-tree --quiet HEAD^ HEAD >cnt
- test $? = 1 && test_line_count = 0 cnt
+ test_expect_code 1 git diff-tree --quiet HEAD^ HEAD >cnt &&
+ test_line_count = 0 cnt
'
test_expect_success 'git diff-tree HEAD^ HEAD -- a' '
- git diff-tree --quiet HEAD^ HEAD -- a >cnt
- test $? = 0 && test_line_count = 0 cnt
+ test_expect_code 0 git diff-tree --quiet HEAD^ HEAD -- a >cnt &&
+ test_line_count = 0 cnt
'
test_expect_success 'git diff-tree HEAD^ HEAD -- b' '
- git diff-tree --quiet HEAD^ HEAD -- b >cnt
- test $? = 1 && test_line_count = 0 cnt
+ test_expect_code 1 git diff-tree --quiet HEAD^ HEAD -- b >cnt &&
+ test_line_count = 0 cnt
'
# this diff outputs one line: sha1 of the given head
test_expect_success 'echo HEAD | git diff-tree --stdin' '
- echo $(git rev-parse HEAD) | git diff-tree --quiet --stdin >cnt
- test $? = 1 && test_line_count = 1 cnt
+ echo $(git rev-parse HEAD) |
+ test_expect_code 1 git diff-tree --quiet --stdin >cnt &&
+ test_line_count = 1 cnt
'
test_expect_success 'git diff-tree HEAD HEAD' '
- git diff-tree --quiet HEAD HEAD >cnt
- test $? = 0 && test_line_count = 0 cnt
+ test_expect_code 0 git diff-tree --quiet HEAD HEAD >cnt &&
+ test_line_count = 0 cnt
'
test_expect_success 'git diff-files' '
- git diff-files --quiet >cnt
- test $? = 0 && test_line_count = 0 cnt
+ test_expect_code 0 git diff-files --quiet >cnt &&
+ test_line_count = 0 cnt
'
test_expect_success 'git diff-index --cached HEAD' '
- git diff-index --quiet --cached HEAD >cnt
- test $? = 0 && test_line_count = 0 cnt
+ test_expect_code 0 git diff-index --quiet --cached HEAD >cnt &&
+ test_line_count = 0 cnt
'
test_expect_success 'git diff-index --cached HEAD^' '
- git diff-index --quiet --cached HEAD^ >cnt
- test $? = 1 && test_line_count = 0 cnt
+ test_expect_code 1 git diff-index --quiet --cached HEAD^ >cnt &&
+ test_line_count = 0 cnt
'
test_expect_success 'git diff-index --cached HEAD^' '
echo text >>b &&
echo 3 >c &&
- git add . && {
- git diff-index --quiet --cached HEAD^ >cnt
- test $? = 1 && test_line_count = 0 cnt
- }
+ git add . &&
+ test_expect_code 1 git diff-index --quiet --cached HEAD^ >cnt &&
+ test_line_count = 0 cnt
'
test_expect_success 'git diff-tree -Stext HEAD^ HEAD -- b' '
- git commit -m "text in b" && {
- git diff-tree --quiet -Stext HEAD^ HEAD -- b >cnt
- test $? = 1 && test_line_count = 0 cnt
- }
+ git commit -m "text in b" &&
+ test_expect_code 1 git diff-tree --quiet -Stext HEAD^ HEAD -- b >cnt &&
+ test_line_count = 0 cnt
'
test_expect_success 'git diff-tree -Snot-found HEAD^ HEAD -- b' '
- git diff-tree --quiet -Snot-found HEAD^ HEAD -- b >cnt
- test $? = 0 && test_line_count = 0 cnt
+ test_expect_code 0 git diff-tree --quiet -Snot-found HEAD^ HEAD -- b >cnt &&
+ test_line_count = 0 cnt
'
test_expect_success 'git diff-files' '
- echo 3 >>c && {
- git diff-files --quiet >cnt
- test $? = 1 && test_line_count = 0 cnt
- }
+ echo 3 >>c &&
+ test_expect_code 1 git diff-files --quiet >cnt &&
+ test_line_count = 0 cnt
'
+
test_expect_success 'git diff-index --cached HEAD' '
- git update-index c && {
- git diff-index --quiet --cached HEAD >cnt
- test $? = 1 && test_line_count = 0 cnt
- }
+ git update-index c &&
+ test_expect_code 1 git diff-index --quiet --cached HEAD >cnt &&
+ test_line_count = 0 cnt
'
test_expect_success 'git diff, one file outside repo' '
diff --git a/t/t4041-diff-submodule-option.sh b/t/t4041-diff-submodule-option.sh
index e4328964a7..2d9731b52d 100755
--- a/t/t4041-diff-submodule-option.sh
+++ b/t/t4041-diff-submodule-option.sh
@@ -528,10 +528,12 @@ test_expect_success 'diff --submodule with objects referenced by alternates' '
sha1_before=$(git rev-parse --short HEAD)
echo b >b &&
git add b &&
- git commit -m b
- sha1_after=$(git rev-parse --short HEAD)
- echo "Submodule sub $sha1_before..$sha1_after:
- > b" >../expected
+ git commit -m b &&
+ sha1_after=$(git rev-parse --short HEAD) &&
+ {
+ echo "Submodule sub $sha1_before..$sha1_after:" &&
+ echo " > b"
+ } >../expected
) &&
(cd super &&
(cd sub &&
@@ -539,7 +541,7 @@ test_expect_success 'diff --submodule with objects referenced by alternates' '
git checkout origin/master
) &&
git diff --submodule > ../actual
- )
+ ) &&
test_cmp expected actual
'
diff --git a/t/t4046-diff-unmerged.sh b/t/t4046-diff-unmerged.sh
index 25d50a654a..d0f14475ca 100755
--- a/t/t4046-diff-unmerged.sh
+++ b/t/t4046-diff-unmerged.sh
@@ -8,7 +8,7 @@ test_expect_success setup '
do
blob=$(echo $i | git hash-object --stdin) &&
eval "blob$i=$blob" &&
- eval "m$i=\"100644 \$blob$i $i\"" || break
+ eval "m$i=\"100644 \$blob$i $i\"" || return 1
done &&
paths= &&
for b in o x
@@ -24,9 +24,9 @@ test_expect_success setup '
case "$b" in x) echo "$m1$p" ;; esac &&
case "$o" in x) echo "$m2$p" ;; esac &&
case "$t" in x) echo "$m3$p" ;; esac ||
- break
- done || break
- done || break
+ return 1
+ done
+ done
done >ls-files-s.expect &&
git update-index --index-info <ls-files-s.expect &&
git ls-files -s >ls-files-s.actual &&
diff --git a/t/t4047-diff-dirstat.sh b/t/t4047-diff-dirstat.sh
index 0d50dce97e..3b8b7921d6 100755
--- a/t/t4047-diff-dirstat.sh
+++ b/t/t4047-diff-dirstat.sh
@@ -374,7 +374,7 @@ test_expect_success 'later options override earlier options:' '
git diff --dirstat=files,10,cumulative,changes,noncumulative,3 -M HEAD^..HEAD >actual_diff_dirstat_M &&
test_cmp expect_diff_dirstat_M actual_diff_dirstat_M &&
git diff --dirstat=files,10,cumulative,changes,noncumulative,3 -C -C HEAD^..HEAD >actual_diff_dirstat_CC &&
- test_cmp expect_diff_dirstat_CC actual_diff_dirstat_CC
+ test_cmp expect_diff_dirstat_CC actual_diff_dirstat_CC &&
git diff --dirstat=files --dirstat=10 --dirstat=cumulative --dirstat=changes --dirstat=noncumulative -X3 HEAD^..HEAD >actual_diff_dirstat &&
test_cmp expect_diff_dirstat actual_diff_dirstat &&
git diff --dirstat=files --dirstat=10 --dirstat=cumulative --dirstat=changes --dirstat=noncumulative -X3 -M HEAD^..HEAD >actual_diff_dirstat_M &&
diff --git a/t/t4049-diff-stat-count.sh b/t/t4049-diff-stat-count.sh
index 5b594e878f..a34121740a 100755
--- a/t/t4049-diff-stat-count.sh
+++ b/t/t4049-diff-stat-count.sh
@@ -18,7 +18,7 @@ test_expect_success 'mode-only change show as a 0-line change' '
test_chmod +x b d &&
echo a >a &&
echo c >c &&
- cat >expect <<-\EOF
+ cat >expect <<-\EOF &&
a | 1 +
b | 0
...
@@ -33,7 +33,7 @@ test_expect_success 'binary changes do not count in lines' '
echo a >a &&
echo c >c &&
cat "$TEST_DIRECTORY"/test-binary-1.png >d &&
- cat >expect <<-\EOF
+ cat >expect <<-\EOF &&
a | 1 +
c | 1 +
...
@@ -55,7 +55,7 @@ test_expect_success 'exclude unmerged entries from total file count' '
done |
git update-index --index-info &&
echo d >d &&
- cat >expect <<-\EOF
+ cat >expect <<-\EOF &&
a | 1 +
b | 1 +
...
diff --git a/t/t4052-stat-output.sh b/t/t4052-stat-output.sh
index b68afefa3c..9f563db20a 100755
--- a/t/t4052-stat-output.sh
+++ b/t/t4052-stat-output.sh
@@ -94,15 +94,15 @@ EOF
while read verb expect cmd args
do
test_expect_success "$cmd $verb COLUMNS (big change)" '
- COLUMNS=200 git $cmd $args >output
+ COLUMNS=200 git $cmd $args >output &&
grep " | " output >actual &&
test_cmp "$expect" actual
'
- test "$cmd" != diff || continue
+ case "$cmd" in diff|show) continue;; esac
test_expect_success "$cmd --graph $verb COLUMNS (big change)" '
- COLUMNS=200 git $cmd $args --graph >output
+ COLUMNS=200 git $cmd $args --graph >output &&
grep " | " output >actual &&
test_cmp "$expect-graph" actual
'
@@ -122,15 +122,15 @@ EOF
while read verb expect cmd args
do
test_expect_success "$cmd $verb not enough COLUMNS (big change)" '
- COLUMNS=40 git $cmd $args >output
+ COLUMNS=40 git $cmd $args >output &&
grep " | " output >actual &&
test_cmp "$expect" actual
'
- test "$cmd" != diff || continue
+ case "$cmd" in diff|show) continue;; esac
test_expect_success "$cmd --graph $verb not enough COLUMNS (big change)" '
- COLUMNS=40 git $cmd $args --graph >output
+ COLUMNS=40 git $cmd $args --graph >output &&
grep " | " output >actual &&
test_cmp "$expect-graph" actual
'
@@ -150,15 +150,15 @@ EOF
while read verb expect cmd args
do
test_expect_success "$cmd $verb statGraphWidth config" '
- git -c diff.statGraphWidth=26 $cmd $args >output
+ git -c diff.statGraphWidth=26 $cmd $args >output &&
grep " | " output >actual &&
test_cmp "$expect" actual
'
- test "$cmd" != diff || continue
+ case "$cmd" in diff|show) continue;; esac
test_expect_success "$cmd --graph $verb statGraphWidth config" '
- git -c diff.statGraphWidth=26 $cmd $args --graph >output
+ git -c diff.statGraphWidth=26 $cmd $args --graph >output &&
grep " | " output >actual &&
test_cmp "$expect-graph" actual
'
@@ -179,33 +179,33 @@ EOF
while read cmd args
do
test_expect_success "$cmd --stat=width with big change" '
- git $cmd $args --stat=40 >output
+ git $cmd $args --stat=40 >output &&
grep " | " output >actual &&
test_cmp expect actual
'
test_expect_success "$cmd --stat-width=width with big change" '
- git $cmd $args --stat-width=40 >output
+ git $cmd $args --stat-width=40 >output &&
grep " | " output >actual &&
test_cmp expect actual
'
test_expect_success "$cmd --stat-graph-width with big change" '
- git $cmd $args --stat-graph-width=26 >output
+ git $cmd $args --stat-graph-width=26 >output &&
grep " | " output >actual &&
test_cmp expect actual
'
- test "$cmd" != diff || continue
+ case "$cmd" in diff|show) continue;; esac
test_expect_success "$cmd --stat-width=width --graph with big change" '
- git $cmd $args --stat-width=40 --graph >output
+ git $cmd $args --stat-width=40 --graph >output &&
grep " | " output >actual &&
test_cmp expect-graph actual
'
test_expect_success "$cmd --stat-graph-width --graph with big change" '
- git $cmd $args --stat-graph-width=26 --graph >output
+ git $cmd $args --stat-graph-width=26 --graph >output &&
grep " | " output >actual &&
test_cmp expect-graph actual
'
@@ -236,7 +236,7 @@ do
test_cmp expect actual
'
- test "$cmd" != diff || continue
+ case "$cmd" in diff|show) continue;; esac
test_expect_success "$cmd --stat=width --graph with big change is balanced" '
git $cmd $args --stat-width=60 --graph >output &&
@@ -265,15 +265,15 @@ EOF
while read verb expect cmd args
do
test_expect_success "$cmd $verb COLUMNS (long filename)" '
- COLUMNS=200 git $cmd $args >output
+ COLUMNS=200 git $cmd $args >output &&
grep " | " output >actual &&
test_cmp "$expect" actual
'
- test "$cmd" != diff || continue
+ case "$cmd" in diff|show) continue;; esac
test_expect_success "$cmd --graph $verb COLUMNS (long filename)" '
- COLUMNS=200 git $cmd $args --graph >output
+ COLUMNS=200 git $cmd $args --graph >output &&
grep " | " output >actual &&
test_cmp "$expect-graph" actual
'
@@ -294,16 +294,16 @@ while read verb expect cmd args
do
test_expect_success COLUMNS_CAN_BE_1 \
"$cmd $verb prefix greater than COLUMNS (big change)" '
- COLUMNS=1 git $cmd $args >output
+ COLUMNS=1 git $cmd $args >output &&
grep " | " output >actual &&
test_cmp "$expect" actual
'
- test "$cmd" != diff || continue
+ case "$cmd" in diff|show) continue;; esac
test_expect_success COLUMNS_CAN_BE_1 \
"$cmd --graph $verb prefix greater than COLUMNS (big change)" '
- COLUMNS=1 git $cmd $args --graph >output
+ COLUMNS=1 git $cmd $args --graph >output &&
grep " | " output >actual &&
test_cmp "$expect-graph" actual
'
@@ -320,7 +320,7 @@ EOF
test_expect_success 'merge --stat respects COLUMNS (big change)' '
git checkout -b branch HEAD^^ &&
COLUMNS=100 git merge --stat --no-ff master^ >output &&
- grep " | " output >actual
+ grep " | " output >actual &&
test_cmp expect actual
'
@@ -329,7 +329,7 @@ cat >expect <<'EOF'
EOF
test_expect_success 'merge --stat respects COLUMNS (long filename)' '
COLUMNS=100 git merge --stat --no-ff master >output &&
- grep " | " output >actual
+ grep " | " output >actual &&
test_cmp expect actual
'
diff --git a/t/t4053-diff-no-index.sh b/t/t4053-diff-no-index.sh
index 2ab3c48734..075ece6db1 100755
--- a/t/t4053-diff-no-index.sh
+++ b/t/t4053-diff-no-index.sh
@@ -17,8 +17,8 @@ test_expect_success 'setup' '
'
test_expect_success 'git diff --no-index directories' '
- git diff --no-index a b >cnt
- test $? = 1 && test_line_count = 14 cnt
+ test_expect_code 1 git diff --no-index a b >cnt &&
+ test_line_count = 14 cnt
'
test_expect_success 'git diff --no-index relative path outside repo' '
diff --git a/t/t4054-diff-bogus-tree.sh b/t/t4054-diff-bogus-tree.sh
index 0843c87890..1d6efab3c5 100755
--- a/t/t4054-diff-bogus-tree.sh
+++ b/t/t4054-diff-bogus-tree.sh
@@ -16,7 +16,7 @@ test_expect_success 'create bogus tree' '
test_expect_success 'create tree with matching file' '
echo bar >foo &&
git add foo &&
- good_tree=$(git write-tree)
+ good_tree=$(git write-tree) &&
blob=$(git rev-parse :foo)
'
diff --git a/t/t4104-apply-boundary.sh b/t/t4104-apply-boundary.sh
index c617c2a33d..32e3b0ee0b 100755
--- a/t/t4104-apply-boundary.sh
+++ b/t/t4104-apply-boundary.sh
@@ -18,7 +18,7 @@ test_expect_success setup '
cat victim >original &&
git update-index --add victim &&
- : add to the head
+ # add to the head
for i in a b '"$L"' y
do
echo $i
@@ -27,7 +27,7 @@ test_expect_success setup '
git diff victim >add-a-patch.with &&
git diff --unified=0 >add-a-patch.without &&
- : insert at line two
+ # insert at line two
for i in b a '"$L"' y
do
echo $i
@@ -36,7 +36,7 @@ test_expect_success setup '
git diff victim >insert-a-patch.with &&
git diff --unified=0 >insert-a-patch.without &&
- : modify at the head
+ # modify at the head
for i in a '"$L"' y
do
echo $i
@@ -45,16 +45,16 @@ test_expect_success setup '
git diff victim >mod-a-patch.with &&
git diff --unified=0 >mod-a-patch.without &&
- : remove from the head
+ # remove from the head
for i in '"$L"' y
do
echo $i
done >victim &&
cat victim >del-a-expect &&
- git diff victim >del-a-patch.with
+ git diff victim >del-a-patch.with &&
git diff --unified=0 >del-a-patch.without &&
- : add to the tail
+ # add to the tail
for i in b '"$L"' y z
do
echo $i
@@ -63,7 +63,7 @@ test_expect_success setup '
git diff victim >add-z-patch.with &&
git diff --unified=0 >add-z-patch.without &&
- : modify at the tail
+ # modify at the tail
for i in b '"$L"' z
do
echo $i
@@ -72,16 +72,16 @@ test_expect_success setup '
git diff victim >mod-z-patch.with &&
git diff --unified=0 >mod-z-patch.without &&
- : remove from the tail
+ # remove from the tail
for i in b '"$L"'
do
echo $i
done >victim &&
cat victim >del-z-expect &&
- git diff victim >del-z-patch.with
- git diff --unified=0 >del-z-patch.without &&
+ git diff victim >del-z-patch.with &&
+ git diff --unified=0 >del-z-patch.without
- : done
+ # done
'
for with in with without
@@ -95,10 +95,7 @@ do
test_expect_success "apply $kind-patch $with context" '
cat original >victim &&
git update-index victim &&
- git apply --index '"$u$kind-patch.$with"' || {
- cat '"$kind-patch.$with"'
- (exit 1)
- } &&
+ git apply --index '"$u$kind-patch.$with"' &&
test_cmp '"$kind"'-expect victim
'
done
@@ -113,10 +110,7 @@ do
test_expect_success "apply non-git $kind-patch without context" '
cat original >victim &&
git update-index victim &&
- git apply --unidiff-zero --index '"$kind-ng.without"' || {
- cat '"$kind-ng.without"'
- (exit 1)
- } &&
+ git apply --unidiff-zero --index '"$kind-ng.without"' &&
test_cmp '"$kind"'-expect victim
'
done
diff --git a/t/t4117-apply-reject.sh b/t/t4117-apply-reject.sh
index 8e15ecbdfd..d80187de94 100755
--- a/t/t4117-apply-reject.sh
+++ b/t/t4117-apply-reject.sh
@@ -56,23 +56,13 @@ test_expect_success 'apply --reject is incompatible with --3way' '
test_expect_success 'apply without --reject should fail' '
- if git apply patch.1
- then
- echo "Eh? Why?"
- exit 1
- fi
-
+ test_must_fail git apply patch.1 &&
test_cmp file1 saved.file1
'
test_expect_success 'apply without --reject should fail' '
- if git apply --verbose patch.1
- then
- echo "Eh? Why?"
- exit 1
- fi
-
+ test_must_fail git apply --verbose patch.1 &&
test_cmp file1 saved.file1
'
@@ -81,21 +71,11 @@ test_expect_success 'apply with --reject should fail but update the file' '
cat saved.file1 >file1 &&
rm -f file1.rej file2.rej &&
- if git apply --reject patch.1
- then
- echo "succeeds with --reject?"
- exit 1
- fi
-
+ test_must_fail git apply --reject patch.1 &&
test_cmp file1 expected &&
cat file1.rej &&
-
- if test -f file2.rej
- then
- echo "file2 should not have been touched"
- exit 1
- fi
+ test_path_is_missing file2.rej
'
test_expect_success 'apply with --reject should fail but update the file' '
@@ -103,25 +83,12 @@ test_expect_success 'apply with --reject should fail but update the file' '
cat saved.file1 >file1 &&
rm -f file1.rej file2.rej file2 &&
- if git apply --reject patch.2 >rejects
- then
- echo "succeeds with --reject?"
- exit 1
- fi
-
- test -f file1 && {
- echo "file1 still exists?"
- exit 1
- }
+ test_must_fail git apply --reject patch.2 >rejects &&
+ test_path_is_missing file1 &&
test_cmp file2 expected &&
cat file2.rej &&
-
- if test -f file1.rej
- then
- echo "file2 should not have been touched"
- exit 1
- fi
+ test_path_is_missing file1.rej
'
@@ -130,25 +97,12 @@ test_expect_success 'the same test with --verbose' '
cat saved.file1 >file1 &&
rm -f file1.rej file2.rej file2 &&
- if git apply --reject --verbose patch.2 >rejects
- then
- echo "succeeds with --reject?"
- exit 1
- fi
-
- test -f file1 && {
- echo "file1 still exists?"
- exit 1
- }
+ test_must_fail git apply --reject --verbose patch.2 >rejects &&
+ test_path_is_missing file1 &&
test_cmp file2 expected &&
cat file2.rej &&
-
- if test -f file1.rej
- then
- echo "file2 should not have been touched"
- exit 1
- fi
+ test_path_is_missing file1.rej
'
diff --git a/t/t4124-apply-ws-rule.sh b/t/t4124-apply-ws-rule.sh
index c6474de4c8..d350065f25 100755
--- a/t/t4124-apply-ws-rule.sh
+++ b/t/t4124-apply-ws-rule.sh
@@ -99,9 +99,8 @@ test_expect_success 'whitespace=warn, default rule' '
test_expect_success 'whitespace=error-all, default rule' '
- apply_patch --whitespace=error-all && return 1
- test -s target && return 1
- : happy
+ test_must_fail apply_patch --whitespace=error-all &&
+ ! test -s target
'
diff --git a/t/t4151-am-abort.sh b/t/t4151-am-abort.sh
index 1176bcccf3..8d90634ab8 100755
--- a/t/t4151-am-abort.sh
+++ b/t/t4151-am-abort.sh
@@ -20,7 +20,7 @@ test_expect_success setup '
echo $i >otherfile-$i &&
git add otherfile-$i &&
test_tick &&
- git commit -a -m $i || break
+ git commit -a -m $i || return 1
done &&
git format-patch --no-numbered initial &&
git checkout -b side initial &&
diff --git a/t/t4202-log.sh b/t/t4202-log.sh
index 5f2b290d2b..1b2e981a00 100755
--- a/t/t4202-log.sh
+++ b/t/t4202-log.sh
@@ -113,11 +113,7 @@ test_expect_success 'diff-filter=M' '
actual=$(git log --pretty="format:%s" --diff-filter=M HEAD) &&
expect=$(echo second) &&
- test "$actual" = "$expect" || {
- echo Oops
- echo "Actual: $actual"
- false
- }
+ verbose test "$actual" = "$expect"
'
@@ -125,11 +121,7 @@ test_expect_success 'diff-filter=D' '
actual=$(git log --pretty="format:%s" --diff-filter=D HEAD) &&
expect=$(echo sixth ; echo third) &&
- test "$actual" = "$expect" || {
- echo Oops
- echo "Actual: $actual"
- false
- }
+ verbose test "$actual" = "$expect"
'
@@ -137,11 +129,7 @@ test_expect_success 'diff-filter=R' '
actual=$(git log -M --pretty="format:%s" --diff-filter=R HEAD) &&
expect=$(echo third) &&
- test "$actual" = "$expect" || {
- echo Oops
- echo "Actual: $actual"
- false
- }
+ verbose test "$actual" = "$expect"
'
@@ -149,11 +137,7 @@ test_expect_success 'diff-filter=C' '
actual=$(git log -C -C --pretty="format:%s" --diff-filter=C HEAD) &&
expect=$(echo fourth) &&
- test "$actual" = "$expect" || {
- echo Oops
- echo "Actual: $actual"
- false
- }
+ verbose test "$actual" = "$expect"
'
@@ -161,11 +145,7 @@ test_expect_success 'git log --follow' '
actual=$(git log --follow --pretty="format:%s" ichi) &&
expect=$(echo third ; echo second ; echo initial) &&
- test "$actual" = "$expect" || {
- echo Oops
- echo "Actual: $actual"
- false
- }
+ verbose test "$actual" = "$expect"
'
@@ -481,7 +461,7 @@ test_expect_success 'log.decorate configuration' '
git log --oneline --no-decorate >actual &&
test_cmp expect.none actual &&
git log --oneline --decorate >actual &&
- test_cmp expect.short actual
+ test_cmp expect.short actual &&
test_unconfig log.decorate &&
git log --pretty=raw >expect.raw &&
@@ -887,4 +867,8 @@ test_expect_success GPG 'log --graph --show-signature for merged tag' '
grep "^| | gpg: Good signature" actual
'
+test_expect_success 'log --graph --no-walk is forbidden' '
+ test_must_fail git log --graph --no-walk
+'
+
test_done
diff --git a/t/t4207-log-decoration-colors.sh b/t/t4207-log-decoration-colors.sh
index 925f577a3c..f8008b6a3d 100755
--- a/t/t4207-log-decoration-colors.sh
+++ b/t/t4207-log-decoration-colors.sh
@@ -44,15 +44,15 @@ test_expect_success setup '
'
cat >expected <<EOF
-${c_commit}COMMIT_ID${c_reset}${c_commit} (${c_HEAD}HEAD${c_reset}${c_commit},\
- ${c_tag}tag: v1.0${c_reset}${c_commit},\
- ${c_tag}tag: B${c_reset}${c_commit},\
- ${c_branch}master${c_reset}${c_commit})${c_reset} B
-${c_commit}COMMIT_ID${c_reset}${c_commit} (${c_tag}tag: A1${c_reset}${c_commit},\
- ${c_remoteBranch}other/master${c_reset}${c_commit})${c_reset} A1
-${c_commit}COMMIT_ID${c_reset}${c_commit} (${c_stash}refs/stash${c_reset}${c_commit})${c_reset}\
+${c_commit}COMMIT_ID${c_reset}${c_commit} (${c_reset}${c_HEAD}HEAD${c_reset}${c_commit} ->\
+ ${c_reset}${c_branch}master${c_reset}${c_commit},\
+ ${c_reset}${c_tag}tag: v1.0${c_reset}${c_commit},\
+ ${c_reset}${c_tag}tag: B${c_reset}${c_commit})${c_reset} B
+${c_commit}COMMIT_ID${c_reset}${c_commit} (${c_reset}${c_tag}tag: A1${c_reset}${c_commit},\
+ ${c_reset}${c_remoteBranch}other/master${c_reset}${c_commit})${c_reset} A1
+${c_commit}COMMIT_ID${c_reset}${c_commit} (${c_reset}${c_stash}refs/stash${c_reset}${c_commit})${c_reset}\
On master: Changes to A.t
-${c_commit}COMMIT_ID${c_reset}${c_commit} (${c_tag}tag: A${c_reset}${c_commit})${c_reset} A
+${c_commit}COMMIT_ID${c_reset}${c_commit} (${c_reset}${c_tag}tag: A${c_reset}${c_commit})${c_reset} A
EOF
# We want log to show all, but the second parent to refs/stash is irrelevant
diff --git a/t/t4212-log-corrupt.sh b/t/t4212-log-corrupt.sh
index 67bd8ec020..22aa8b7c0e 100755
--- a/t/t4212-log-corrupt.sh
+++ b/t/t4212-log-corrupt.sh
@@ -61,7 +61,7 @@ test_expect_success 'unparsable dates produce sentinel value' '
test_expect_success 'unparsable dates produce sentinel value (%ad)' '
commit=$(munge_author_date HEAD totally_bogus) &&
echo >expect &&
- git log -1 --format=%ad $commit >actual
+ git log -1 --format=%ad $commit >actual &&
test_cmp expect actual
'
diff --git a/t/t5003-archive-zip.sh b/t/t5003-archive-zip.sh
index c929db5633..14744b2a4b 100755
--- a/t/t5003-archive-zip.sh
+++ b/t/t5003-archive-zip.sh
@@ -33,6 +33,37 @@ check_zip() {
test_expect_success UNZIP " validate file contents" "
diff -r a ${dir_with_prefix}a
"
+
+ dir=eol_$1
+ dir_with_prefix=$dir/$2
+ extracted=${dir_with_prefix}a
+ original=a
+
+ test_expect_success UNZIP " extract ZIP archive with EOL conversion" '
+ (mkdir $dir && cd $dir && "$GIT_UNZIP" -a ../$zipfile)
+ '
+
+ test_expect_success UNZIP " validate that text files are converted" "
+ test_cmp_bin $extracted/text.cr $extracted/text.crlf &&
+ test_cmp_bin $extracted/text.cr $extracted/text.lf
+ "
+
+ test_expect_success UNZIP " validate that binary files are unchanged" "
+ test_cmp_bin $original/binary.cr $extracted/binary.cr &&
+ test_cmp_bin $original/binary.crlf $extracted/binary.crlf &&
+ test_cmp_bin $original/binary.lf $extracted/binary.lf
+ "
+
+ test_expect_success UNZIP " validate that diff files are converted" "
+ test_cmp_bin $extracted/diff.cr $extracted/diff.crlf &&
+ test_cmp_bin $extracted/diff.cr $extracted/diff.lf
+ "
+
+ test_expect_success UNZIP " validate that -diff files are unchanged" "
+ test_cmp_bin $original/nodiff.cr $extracted/nodiff.cr &&
+ test_cmp_bin $original/nodiff.crlf $extracted/nodiff.crlf &&
+ test_cmp_bin $original/nodiff.lf $extracted/nodiff.lf
+ "
}
test_expect_success \
@@ -41,6 +72,18 @@ test_expect_success \
echo simple textfile >a/a &&
mkdir a/bin &&
cp /bin/sh a/bin &&
+ printf "text\r" >a/text.cr &&
+ printf "text\r\n" >a/text.crlf &&
+ printf "text\n" >a/text.lf &&
+ printf "text\r" >a/nodiff.cr &&
+ printf "text\r\n" >a/nodiff.crlf &&
+ printf "text\n" >a/nodiff.lf &&
+ printf "\0\r" >a/binary.cr &&
+ printf "\0\r\n" >a/binary.crlf &&
+ printf "\0\n" >a/binary.lf &&
+ printf "\0\r" >a/diff.cr &&
+ printf "\0\r\n" >a/diff.crlf &&
+ printf "\0\n" >a/diff.lf &&
printf "A\$Format:%s\$O" "$SUBSTFORMAT" >a/substfile1 &&
printf "A not substituted O" >a/substfile2 &&
(p=long_path_to_a_file && cd a &&
@@ -66,7 +109,9 @@ test_expect_success 'add files to repository' '
GIT_COMMITTER_DATE="2005-05-27 22:00" git commit -m initial
'
-test_expect_success 'setup export-subst' '
+test_expect_success 'setup export-subst and diff attributes' '
+ echo "a/nodiff.* -diff" >>.git/info/attributes &&
+ echo "a/diff.* diff" >>.git/info/attributes &&
echo "substfile?" export-subst >>.git/info/attributes &&
git log --max-count=1 "--pretty=format:A${SUBSTFORMAT}O" HEAD \
>a/substfile1
diff --git a/t/t5004-archive-corner-cases.sh b/t/t5004-archive-corner-cases.sh
index 305bcac6b7..654addaae3 100755
--- a/t/t5004-archive-corner-cases.sh
+++ b/t/t5004-archive-corner-cases.sh
@@ -66,8 +66,10 @@ test_expect_success UNZIP 'zip archive of empty tree is empty' '
# handle the empty repo at all, making our later check of its exit code
# a no-op). But we cannot do anything reasonable except skip the test
# on such platforms anyway, and this is the moral equivalent.
- "$GIT_UNZIP" "$TEST_DIRECTORY"/t5004/empty.zip
- expect_code=$?
+ {
+ "$GIT_UNZIP" "$TEST_DIRECTORY"/t5004/empty.zip
+ expect_code=$?
+ } &&
git archive --format=zip HEAD >empty.zip &&
make_dir extract &&
diff --git a/t/t5100-mailinfo.sh b/t/t5100-mailinfo.sh
index 60df10f46a..e97cfb2ab8 100755
--- a/t/t5100-mailinfo.sh
+++ b/t/t5100-mailinfo.sh
@@ -34,7 +34,7 @@ do
if test -f "$TEST_DIRECTORY"/t5100/msg$mail--no-inbody-headers
then
check_mailinfo $mail --no-inbody-headers
- fi
+ fi &&
if test -f "$TEST_DIRECTORY"/t5100/msg$mail--message-id
then
check_mailinfo $mail --message-id
diff --git a/t/t5312-prune-corruption.sh b/t/t5312-prune-corruption.sh
new file mode 100755
index 0000000000..8e98b44083
--- /dev/null
+++ b/t/t5312-prune-corruption.sh
@@ -0,0 +1,114 @@
+#!/bin/sh
+
+test_description='
+Test pruning of repositories with minor corruptions. The goal
+here is that we should always be erring on the side of safety. So
+if we see, for example, a ref with a bogus name, it is OK either to
+bail out or to proceed using it as a reachable tip, but it is _not_
+OK to proceed as if it did not exist. Otherwise we might silently
+delete objects that cannot be recovered.
+'
+. ./test-lib.sh
+
+test_expect_success 'disable reflogs' '
+ git config core.logallrefupdates false &&
+ rm -rf .git/logs
+'
+
+test_expect_success 'create history reachable only from a bogus-named ref' '
+ test_tick && git commit --allow-empty -m master &&
+ base=$(git rev-parse HEAD) &&
+ test_tick && git commit --allow-empty -m bogus &&
+ bogus=$(git rev-parse HEAD) &&
+ git cat-file commit $bogus >saved &&
+ echo $bogus >.git/refs/heads/bogus..name &&
+ git reset --hard HEAD^
+'
+
+test_expect_success 'pruning does not drop bogus object' '
+ test_when_finished "git hash-object -w -t commit saved" &&
+ test_might_fail git prune --expire=now &&
+ verbose git cat-file -e $bogus
+'
+
+test_expect_success 'put bogus object into pack' '
+ git tag reachable $bogus &&
+ git repack -ad &&
+ git tag -d reachable &&
+ verbose git cat-file -e $bogus
+'
+
+test_expect_success 'destructive repack keeps packed object' '
+ test_might_fail git repack -Ad --unpack-unreachable=now &&
+ verbose git cat-file -e $bogus &&
+ test_might_fail git repack -ad &&
+ verbose git cat-file -e $bogus
+'
+
+# subsequent tests will have different corruptions
+test_expect_success 'clean up bogus ref' '
+ rm .git/refs/heads/bogus..name
+'
+
+# We create two new objects here, "one" and "two". Our
+# master branch points to "two", which is deleted,
+# corrupting the repository. But we'd like to make sure
+# that the otherwise unreachable "one" is not pruned
+# (since it is the user's best bet for recovering
+# from the corruption).
+#
+# Note that we also point HEAD somewhere besides "two",
+# as we want to make sure we test the case where we
+# pick up the reference to "two" by iterating the refs,
+# not by resolving HEAD.
+test_expect_success 'create history with missing tip commit' '
+ test_tick && git commit --allow-empty -m one &&
+ recoverable=$(git rev-parse HEAD) &&
+ git cat-file commit $recoverable >saved &&
+ test_tick && git commit --allow-empty -m two &&
+ missing=$(git rev-parse HEAD) &&
+ git checkout --detach $base &&
+ rm .git/objects/$(echo $missing | sed "s,..,&/,") &&
+ test_must_fail git cat-file -e $missing
+'
+
+test_expect_success 'pruning with a corrupted tip does not drop history' '
+ test_when_finished "git hash-object -w -t commit saved" &&
+ test_might_fail git prune --expire=now &&
+ verbose git cat-file -e $recoverable
+'
+
+test_expect_success 'pack-refs does not silently delete broken loose ref' '
+ git pack-refs --all --prune &&
+ echo $missing >expect &&
+ git rev-parse refs/heads/master >actual &&
+ test_cmp expect actual
+'
+
+# we do not want to count on running pack-refs to
+# actually pack it, as it is perfectly reasonable to
+# skip processing a broken ref
+test_expect_success 'create packed-refs file with broken ref' '
+ rm -f .git/refs/heads/master &&
+ cat >.git/packed-refs <<-EOF &&
+ $missing refs/heads/master
+ $recoverable refs/heads/other
+ EOF
+ echo $missing >expect &&
+ git rev-parse refs/heads/master >actual &&
+ test_cmp expect actual
+'
+
+test_expect_success 'pack-refs does not silently delete broken packed ref' '
+ git pack-refs --all --prune &&
+ git rev-parse refs/heads/master >actual &&
+ test_cmp expect actual
+'
+
+test_expect_success 'pack-refs does not drop broken refs during deletion' '
+ git update-ref -d refs/heads/other &&
+ git rev-parse refs/heads/master >actual &&
+ test_cmp expect actual
+'
+
+test_done
diff --git a/t/t5500-fetch-pack.sh b/t/t5500-fetch-pack.sh
index bd37f040b6..692d71738b 100755
--- a/t/t5500-fetch-pack.sh
+++ b/t/t5500-fetch-pack.sh
@@ -414,7 +414,7 @@ test_expect_success 'setup tests for the --stdin parameter' '
do
git tag $head $head
done &&
- cat >input <<-\EOF
+ cat >input <<-\EOF &&
refs/heads/C
refs/heads/A
refs/heads/D
diff --git a/t/t5503-tagfollow.sh b/t/t5503-tagfollow.sh
index f30c03885c..4ca48f0276 100755
--- a/t/t5503-tagfollow.sh
+++ b/t/t5503-tagfollow.sh
@@ -139,8 +139,8 @@ EOF
'
test_expect_success 'new clone fetch master and tags' '
- git branch -D cat
- rm -f $U
+ test_might_fail git branch -D cat &&
+ rm -f $U &&
(
mkdir clone2 &&
cd clone2 &&
diff --git a/t/t5505-remote.sh b/t/t5505-remote.sh
index 17c6330f98..7a8499ce66 100755
--- a/t/t5505-remote.sh
+++ b/t/t5505-remote.sh
@@ -579,7 +579,7 @@ test_expect_success 'update with arguments' '
cd one &&
for b in $(git branch -r)
do
- git branch -r -d $b || break
+ git branch -r -d $b || exit 1
done &&
git remote add manduca ../mirror &&
git remote add megaloprepus ../mirror &&
@@ -622,7 +622,7 @@ test_expect_success 'update default' '
cd one &&
for b in $(git branch -r)
do
- git branch -r -d $b || break
+ git branch -r -d $b || exit 1
done &&
git config remote.drosophila.skipDefaultUpdate true &&
git remote update default &&
@@ -642,7 +642,7 @@ test_expect_success 'update default (overridden, with funny whitespace)' '
cd one &&
for b in $(git branch -r)
do
- git branch -r -d $b || break
+ git branch -r -d $b || exit 1
done &&
git config remotes.default "$(printf "\t drosophila \n")" &&
git remote update default &&
@@ -656,7 +656,7 @@ test_expect_success 'update (with remotes.default defined)' '
cd one &&
for b in $(git branch -r)
do
- git branch -r -d $b || break
+ git branch -r -d $b || exit 1
done &&
git config remotes.default "drosophila" &&
git remote update &&
diff --git a/t/t5510-fetch.sh b/t/t5510-fetch.sh
index d78f3201f4..0ba9db0884 100755
--- a/t/t5510-fetch.sh
+++ b/t/t5510-fetch.sh
@@ -124,7 +124,7 @@ test_expect_success 'fetch --prune handles overlapping refspecs' '
git rev-parse origin/master &&
git rev-parse origin/pr/42 &&
- git config --unset-all remote.origin.fetch
+ git config --unset-all remote.origin.fetch &&
git config remote.origin.fetch refs/pull/*/head:refs/remotes/origin/pr/* &&
git config --add remote.origin.fetch refs/heads/*:refs/remotes/origin/* &&
@@ -596,7 +596,7 @@ test_configured_prune () {
test_unconfig remote.origin.prune &&
git fetch &&
git rev-parse --verify refs/remotes/origin/newbranch
- )
+ ) &&
# now remove it
git branch -d newbranch &&
diff --git a/t/t5512-ls-remote.sh b/t/t5512-ls-remote.sh
index 321c3e5234..3bd9759e0f 100755
--- a/t/t5512-ls-remote.sh
+++ b/t/t5512-ls-remote.sh
@@ -103,8 +103,10 @@ test_expect_success 'confuses pattern as remote when no remote specified' '
'
test_expect_success 'die with non-2 for wrong repository even with --exit-code' '
- git ls-remote --exit-code ./no-such-repository ;# not &&
- status=$? &&
+ {
+ git ls-remote --exit-code ./no-such-repository
+ status=$?
+ } &&
test $status != 2 && test $status != 0
'
diff --git a/t/t5514-fetch-multiple.sh b/t/t5514-fetch-multiple.sh
index 0f8140957f..4b4b6673b8 100755
--- a/t/t5514-fetch-multiple.sh
+++ b/t/t5514-fetch-multiple.sh
@@ -120,7 +120,7 @@ test_expect_success 'git fetch --all (skipFetchAll)' '
(cd test4 &&
for b in $(git branch -r)
do
- git branch -r -d $b || break
+ git branch -r -d $b || exit 1
done &&
git remote add three ../three &&
git config remote.three.skipFetchAll true &&
@@ -144,7 +144,7 @@ test_expect_success 'git fetch --multiple (ignoring skipFetchAll)' '
(cd test4 &&
for b in $(git branch -r)
do
- git branch -r -d $b || break
+ git branch -r -d $b || exit 1
done &&
git fetch --multiple one two three &&
git branch -r > output &&
diff --git a/t/t5516-fetch-push.sh b/t/t5516-fetch-push.sh
index 630885d6df..5e04d64109 100755
--- a/t/t5516-fetch-push.sh
+++ b/t/t5516-fetch-push.sh
@@ -1107,9 +1107,16 @@ test_expect_success 'fetch exact SHA1' '
git config uploadpack.allowtipsha1inwant true
) &&
- git fetch -v ../testrepo $the_commit:refs/heads/copy &&
- result=$(git rev-parse --verify refs/heads/copy) &&
- test "$the_commit" = "$result"
+ git fetch -v ../testrepo $the_commit:refs/heads/copy master:refs/heads/extra &&
+ cat >expect <<-EOF &&
+ $the_commit
+ $the_first_commit
+ EOF
+ {
+ git rev-parse --verify refs/heads/copy &&
+ git rev-parse --verify refs/heads/extra
+ } >actual &&
+ test_cmp expect actual
)
'
diff --git a/t/t5526-fetch-submodules.sh b/t/t5526-fetch-submodules.sh
index ca5b027c55..a4532b00d6 100755
--- a/t/t5526-fetch-submodules.sh
+++ b/t/t5526-fetch-submodules.sh
@@ -216,7 +216,7 @@ test_expect_success "Recursion stops when no new submodule commits are fetched"
head2=$(git rev-parse --short HEAD) &&
echo "Fetching submodule submodule" > expect.out.sub &&
echo "From $pwd/." > expect.err.sub &&
- echo " $head1..$head2 master -> origin/master" >> expect.err.sub
+ echo " $head1..$head2 master -> origin/master" >>expect.err.sub &&
head -2 expect.err >> expect.err.sub &&
(
cd downstream &&
@@ -315,7 +315,7 @@ test_expect_success "'--recurse-submodules=on-demand' doesn't recurse when no ne
) &&
head1=$(git rev-parse --short HEAD^) &&
git add subdir/deepsubmodule &&
- git commit -m "new deepsubmodule"
+ git commit -m "new deepsubmodule" &&
head2=$(git rev-parse --short HEAD) &&
echo "From $pwd/submodule" > ../expect.err.sub &&
echo " $head1..$head2 master -> origin/master" >> ../expect.err.sub
@@ -337,7 +337,7 @@ test_expect_success "'--recurse-submodules=on-demand' recurses as deep as necess
head2=$(git rev-parse --short HEAD) &&
tail -2 expect.err > expect.err.deepsub &&
echo "From $pwd/." > expect.err &&
- echo " $head1..$head2 master -> origin/master" >> expect.err
+ echo " $head1..$head2 master -> origin/master" >>expect.err &&
cat expect.err.sub >> expect.err &&
cat expect.err.deepsub >> expect.err &&
(
@@ -387,7 +387,7 @@ test_expect_success "'fetch.recurseSubmodules=on-demand' overrides global config
git commit -m "new submodule" &&
head2=$(git rev-parse --short HEAD) &&
echo "From $pwd/." > expect.err.2 &&
- echo " $head1..$head2 master -> origin/master" >> expect.err.2
+ echo " $head1..$head2 master -> origin/master" >>expect.err.2 &&
head -2 expect.err >> expect.err.2 &&
(
cd downstream &&
@@ -415,7 +415,7 @@ test_expect_success "'submodule.<sub>.fetchRecurseSubmodules=on-demand' override
git commit -m "new submodule" &&
head2=$(git rev-parse --short HEAD) &&
echo "From $pwd/." > expect.err.2 &&
- echo " $head1..$head2 master -> origin/master" >> expect.err.2
+ echo " $head1..$head2 master -> origin/master" >>expect.err.2 &&
head -2 expect.err >> expect.err.2 &&
(
cd downstream &&
diff --git a/t/t5528-push-default.sh b/t/t5528-push-default.sh
index cc7451908b..73f4bb6346 100755
--- a/t/t5528-push-default.sh
+++ b/t/t5528-push-default.sh
@@ -26,7 +26,7 @@ check_pushed_commit () {
# $2 = expected target branch for the push
# $3 = [optional] repo to check for actual output (repo1 by default)
test_push_success () {
- git ${1:+-c push.default="$1"} push &&
+ git ${1:+-c} ${1:+push.default="$1"} push &&
check_pushed_commit HEAD "$2" "$3"
}
@@ -34,7 +34,7 @@ test_push_success () {
# check that push fails and does not modify any remote branch
test_push_failure () {
git --git-dir=repo1 log --no-walk --format='%h %s' --all >expect &&
- test_must_fail git ${1:+-c push.default="$1"} push &&
+ test_must_fail git ${1:+-c} ${1:+push.default="$1"} push &&
git --git-dir=repo1 log --no-walk --format='%h %s' --all >actual &&
test_cmp expect actual
}
diff --git a/t/t5531-deep-submodule-push.sh b/t/t5531-deep-submodule-push.sh
index 445bb5fe26..6507487c1a 100755
--- a/t/t5531-deep-submodule-push.sh
+++ b/t/t5531-deep-submodule-push.sh
@@ -104,7 +104,7 @@ test_expect_success 'push fails when commit on multiple branches if one branch h
'
test_expect_success 'push succeeds if submodule has no remote and is on the first superproject commit' '
- git init --bare a
+ git init --bare a &&
git clone a a1 &&
(
cd a1 &&
diff --git a/t/t5533-push-cas.sh b/t/t5533-push-cas.sh
index ba20d83333..c402d8d3d7 100755
--- a/t/t5533-push-cas.sh
+++ b/t/t5533-push-cas.sh
@@ -14,7 +14,7 @@ setup_srcdst_basic () {
}
test_expect_success setup '
- : create template repository
+ # create template repository
test_commit A &&
test_commit B &&
test_commit C
@@ -159,7 +159,7 @@ test_expect_success 'cover everything with default force-with-lease (protected)'
(
cd src &&
git branch naster master^
- )
+ ) &&
git ls-remote src refs/heads/\* >expect &&
(
cd dst &&
@@ -174,7 +174,7 @@ test_expect_success 'cover everything with default force-with-lease (allowed)' '
(
cd src &&
git branch naster master^
- )
+ ) &&
(
cd dst &&
git fetch &&
diff --git a/t/t5540-http-push-webdav.sh b/t/t5540-http-push-webdav.sh
index 8d7b3c57e3..88ff5a49e4 100755
--- a/t/t5540-http-push-webdav.sh
+++ b/t/t5540-http-push-webdav.sh
@@ -169,7 +169,7 @@ test_expect_failure 'push to password-protected repository (no user in URL)' '
test_commit pw-nouser &&
set_askpass user@host pass@host &&
git push "$HTTPD_URL/auth/dumb/test_repo.git" HEAD &&
- expect_askpass both user@host
+ expect_askpass both user@host &&
git rev-parse --verify HEAD >expect &&
git --git-dir="$HTTPD_DOCUMENT_ROOT_PATH/auth/dumb/test_repo.git" \
rev-parse --verify HEAD >actual &&
diff --git a/t/t5541-http-push-smart.sh b/t/t5541-http-push-smart.sh
index d2c681ebfd..9cf27e8c99 100755
--- a/t/t5541-http-push-smart.sh
+++ b/t/t5541-http-push-smart.sh
@@ -158,7 +158,7 @@ test_http_push_nonff "$HTTPD_DOCUMENT_ROOT_PATH"/test_repo.git \
test_expect_success 'push fails for non-fast-forward refs unmatched by remote helper' '
# create a dissimilarly-named remote ref so that git is unable to match the
# two refs (viz. local, remote) unless an explicit refspec is provided.
- git push origin master:retsam
+ git push origin master:retsam &&
echo "change changed" > path2 &&
git commit -a -m path2 --amend &&
@@ -324,12 +324,6 @@ test_expect_success 'push into half-auth-complete requires password' '
test_cmp expect actual
'
-run_with_limited_cmdline () {
- (ulimit -s 128 && "$@")
-}
-
-test_lazy_prereq CMDLINE_LIMIT 'run_with_limited_cmdline true'
-
test_expect_success CMDLINE_LIMIT 'push 2000 tags over http' '
sha1=$(git rev-parse HEAD) &&
test_seq 2000 |
diff --git a/t/t5550-http-fetch-dumb.sh b/t/t5550-http-fetch-dumb.sh
index 2731ad4cea..3d11b7a6bb 100755
--- a/t/t5550-http-fetch-dumb.sh
+++ b/t/t5550-http-fetch-dumb.sh
@@ -15,7 +15,7 @@ test_expect_success 'setup repository' '
git config push.default matching &&
echo content1 >file &&
git add file &&
- git commit -m one
+ git commit -m one &&
echo content2 >file &&
git add file &&
git commit -m two
@@ -184,8 +184,8 @@ test_expect_success 'fetch can handle previously-fetched .idx files' '
'
test_expect_success 'did not use upload-pack service' '
- grep '/git-upload-pack' <"$HTTPD_ROOT_PATH"/access.log >act
- : >exp
+ test_might_fail grep '/git-upload-pack' <"$HTTPD_ROOT_PATH"/access.log >act &&
+ : >exp &&
test_cmp exp act
'
diff --git a/t/t5551-http-fetch-smart.sh b/t/t5551-http-fetch-smart.sh
index 6cbc12d9a7..66439e58fc 100755
--- a/t/t5551-http-fetch-smart.sh
+++ b/t/t5551-http-fetch-smart.sh
@@ -83,7 +83,7 @@ test_expect_success 'clone http repository' '
test_expect_success 'fetch changes via http' '
echo content >>file &&
git commit -a -m two &&
- git push public
+ git push public &&
(cd clone && git pull) &&
test_cmp file clone/file
'
@@ -169,7 +169,7 @@ test_expect_success 'GIT_SMART_HTTP can disable smart http' '
'
test_expect_success 'invalid Content-Type rejected' '
- test_must_fail git clone $HTTPD_URL/broken_smart/repo.git 2>actual
+ test_must_fail git clone $HTTPD_URL/broken_smart/repo.git 2>actual &&
grep "not valid:" actual
'
@@ -209,14 +209,25 @@ test_expect_success 'cookies stored in http.cookiefile when http.savecookies set
git config http.cookiefile cookies.txt &&
git config http.savecookies true &&
git ls-remote $HTTPD_URL/smart_cookies/repo.git master &&
- tail -3 cookies.txt > cookies_tail.txt
+ tail -3 cookies.txt >cookies_tail.txt &&
test_cmp expect_cookies.txt cookies_tail.txt
'
-test_expect_success EXPENSIVE 'create 50,000 tags in the repo' '
+test_expect_success 'transfer.hiderefs works over smart-http' '
+ test_commit hidden &&
+ test_commit visible &&
+ git push public HEAD^:refs/heads/a HEAD:refs/heads/b &&
+ git --git-dir="$HTTPD_DOCUMENT_ROOT_PATH/repo.git" \
+ config transfer.hiderefs refs/heads/a &&
+ git clone --bare "$HTTPD_URL/smart/repo.git" hidden.git &&
+ test_must_fail git -C hidden.git rev-parse --verify a &&
+ git -C hidden.git rev-parse --verify b
+'
+
+test_expect_success 'create 2,000 tags in the repo' '
(
cd "$HTTPD_DOCUMENT_ROOT_PATH/repo.git" &&
- for i in `test_seq 50000`
+ for i in $(test_seq 2000)
do
echo "commit refs/heads/too-many-refs"
echo "mark :$i"
@@ -237,13 +248,22 @@ test_expect_success EXPENSIVE 'create 50,000 tags in the repo' '
)
'
-test_expect_success EXPENSIVE 'clone the 50,000 tag repo to check OS command line overflow' '
- git clone $HTTPD_URL/smart/repo.git too-many-refs &&
+test_expect_success CMDLINE_LIMIT \
+ 'clone the 2,000 tag repo to check OS command line overflow' '
+ run_with_limited_cmdline git clone $HTTPD_URL/smart/repo.git too-many-refs &&
(
cd too-many-refs &&
- test $(git for-each-ref refs/tags | wc -l) = 50000
+ git for-each-ref refs/tags >actual &&
+ test_line_count = 2000 actual
)
'
+test_expect_success 'large fetch-pack requests can be split across POSTs' '
+ GIT_CURL_VERBOSE=1 git -c http.postbuffer=65536 \
+ clone --bare "$HTTPD_URL/smart/repo.git" split.git 2>err &&
+ grep "^> POST" err >posts &&
+ test_line_count = 2 posts
+'
+
stop_httpd
test_done
diff --git a/t/t5709-clone-refspec.sh b/t/t5709-clone-refspec.sh
index 6f1ea984d4..7ace2535c8 100755
--- a/t/t5709-clone-refspec.sh
+++ b/t/t5709-clone-refspec.sh
@@ -147,7 +147,7 @@ test_expect_success '--single-branch with detached' '
git for-each-ref refs/remotes/origin |
sed -e "/HEAD$/d" \
-e "s|/remotes/origin/|/heads/|" >../actual
- )
+ ) &&
# nothing
>expect &&
test_cmp expect actual
diff --git a/t/t6000-rev-list-misc.sh b/t/t6000-rev-list-misc.sh
index 2602086303..3e752ce032 100755
--- a/t/t6000-rev-list-misc.sh
+++ b/t/t6000-rev-list-misc.sh
@@ -42,7 +42,7 @@ test_expect_success 'rev-list --objects with pathspecs and copied files' '
test_tick &&
git commit -m that &&
- ONE=$(git rev-parse HEAD:one)
+ ONE=$(git rev-parse HEAD:one) &&
git rev-list --objects HEAD two >output &&
grep "$ONE two/three" output &&
! grep one output
@@ -85,7 +85,7 @@ test_expect_success 'rev-list can show index objects' '
# - we do not show the root tree; since we updated the index, it
# does not have a valid cache tree
#
- cat >expect <<-\EOF
+ cat >expect <<-\EOF &&
8e4020bb5a8d8c873b25de15933e75cc0fc275df one
d9d3a7417b9605cfd88ee6306b28dadc29e6ab08 only-in-index
9200b628cf9dc883a85a7abc8d6e6730baee589c two
@@ -96,4 +96,8 @@ test_expect_success 'rev-list can show index objects' '
test_cmp expect actual
'
+test_expect_success '--bisect and --first-parent can not be combined' '
+ test_must_fail git rev-list --bisect --first-parent HEAD
+'
+
test_done
diff --git a/t/t6006-rev-list-format.sh b/t/t6006-rev-list-format.sh
index a02a45afd2..b77d4c97c1 100755
--- a/t/t6006-rev-list-format.sh
+++ b/t/t6006-rev-list-format.sh
@@ -45,7 +45,7 @@ test_expect_success 'setup' '
head2=$(git rev-parse --verify HEAD) &&
head2_short=$(git rev-parse --verify --short $head2) &&
tree2=$(git rev-parse --verify HEAD:) &&
- tree2_short=$(git rev-parse --verify --short $tree2)
+ tree2_short=$(git rev-parse --verify --short $tree2) &&
git config --unset i18n.commitEncoding
'
@@ -358,10 +358,7 @@ test_expect_success 'empty email' '
test_tick &&
C=$(GIT_AUTHOR_EMAIL= git commit-tree HEAD^{tree} </dev/null) &&
A=$(git show --pretty=format:%an,%ae,%ad%n -s $C) &&
- test "$A" = "A U Thor,,Thu Apr 7 15:14:13 2005 -0700" || {
- echo "Eh? $A" >failure
- false
- }
+ verbose test "$A" = "A U Thor,,Thu Apr 7 15:14:13 2005 -0700"
'
test_expect_success 'del LF before empty (1)' '
diff --git a/t/t6012-rev-list-simplify.sh b/t/t6012-rev-list-simplify.sh
index fde5e712eb..b89cd6b07a 100755
--- a/t/t6012-rev-list-simplify.sh
+++ b/t/t6012-rev-list-simplify.sh
@@ -95,10 +95,7 @@ check_outcome () {
git log --pretty="$FMT" --parents $param |
unnote >actual &&
sed -e "s/^.* \([^ ]*\) .*/\1/" >check <actual &&
- test_cmp expect check || {
- cat actual
- false
- }
+ test_cmp expect check
'
}
@@ -121,10 +118,7 @@ test_expect_success 'full history simplification without parent' '
git log --pretty="$FMT" --full-history E -- lost |
unnote >actual &&
sed -e "s/^.* \([^ ]*\) .*/\1/" >check <actual &&
- test_cmp expect check || {
- cat actual
- false
- }
+ test_cmp expect check
'
test_expect_success '--full-diff is not affected by --parents' '
diff --git a/t/t6014-rev-list-all.sh b/t/t6014-rev-list-all.sh
index 991ab4a65b..c9bedd29cb 100755
--- a/t/t6014-rev-list-all.sh
+++ b/t/t6014-rev-list-all.sh
@@ -35,4 +35,8 @@ test_expect_success 'repack does not lose detached HEAD' '
'
+test_expect_success 'rev-list --graph --no-walk is forbidden' '
+ test_must_fail git rev-list --graph --no-walk HEAD
+'
+
test_done
diff --git a/t/t6022-merge-rename.sh b/t/t6022-merge-rename.sh
index a89dfbef08..05ebba7afa 100755
--- a/t/t6022-merge-rename.sh
+++ b/t/t6022-merge-rename.sh
@@ -685,7 +685,7 @@ test_expect_success 'setup avoid unnecessary update, dir->(file,nothing)' '
git add -A &&
git commit -mA &&
- git checkout -b side
+ git checkout -b side &&
git rm -rf df &&
git commit -mB &&
@@ -716,7 +716,7 @@ test_expect_success 'setup avoid unnecessary update, modify/delete' '
git add -A &&
git commit -mA &&
- git checkout -b side
+ git checkout -b side &&
git rm -f file &&
git commit -m "Delete file" &&
@@ -745,7 +745,7 @@ test_expect_success 'setup avoid unnecessary update, rename/add-dest' '
git add -A &&
git commit -mA &&
- git checkout -b side
+ git checkout -b side &&
cp file newfile &&
git add -A &&
git commit -m "Add file copy" &&
diff --git a/t/t6026-merge-attr.sh b/t/t6026-merge-attr.sh
index 5e439972be..3c21938a68 100755
--- a/t/t6026-merge-attr.sh
+++ b/t/t6026-merge-attr.sh
@@ -11,7 +11,7 @@ test_expect_success setup '
for f in text binary union
do
- echo Initial >$f && git add $f || break
+ echo Initial >$f && git add $f || return 1
done &&
test_tick &&
git commit -m Initial &&
@@ -19,7 +19,7 @@ test_expect_success setup '
git branch side &&
for f in text binary union
do
- echo Master >>$f && git add $f || break
+ echo Master >>$f && git add $f || return 1
done &&
test_tick &&
git commit -m Master &&
@@ -27,7 +27,7 @@ test_expect_success setup '
git checkout side &&
for f in text binary union
do
- echo Side >>$f && git add $f || break
+ echo Side >>$f && git add $f || return 1
done &&
test_tick &&
git commit -m Side &&
diff --git a/t/t6028-merge-up-to-date.sh b/t/t6028-merge-up-to-date.sh
index c518e9c30c..7763c1ba98 100755
--- a/t/t6028-merge-up-to-date.sh
+++ b/t/t6028-merge-up-to-date.sh
@@ -83,7 +83,7 @@ test_expect_success 'merge fast-forward octopus' '
git reset --hard c0 &&
test_tick &&
- git merge c1 c2
+ git merge c1 c2 &&
expect=$(git rev-parse c2) &&
current=$(git rev-parse HEAD) &&
test "$expect" = "$current"
diff --git a/t/t6030-bisect-porcelain.sh b/t/t6030-bisect-porcelain.sh
index e6abe65d5c..06b4868109 100755
--- a/t/t6030-bisect-porcelain.sh
+++ b/t/t6030-bisect-porcelain.sh
@@ -52,15 +52,8 @@ test_expect_success 'bisect starts with only one bad' '
test_expect_success 'bisect does not start with only one good' '
git bisect reset &&
git bisect start &&
- git bisect good $HASH1 || return 1
-
- if git bisect next
- then
- echo Oops, should have failed.
- false
- else
- :
- fi
+ git bisect good $HASH1 &&
+ test_must_fail git bisect next
'
test_expect_success 'bisect start with one bad and good' '
@@ -191,34 +184,27 @@ test_expect_success 'bisect start: no ".git/BISECT_START" if checkout error' '
# but $HASH2 is bad,
# so we should find $HASH2 as the first bad commit
test_expect_success 'bisect skip: successful result' '
+ test_when_finished git bisect reset &&
git bisect reset &&
git bisect start $HASH4 $HASH1 &&
git bisect skip &&
git bisect bad > my_bisect_log.txt &&
- grep "$HASH2 is the first bad commit" my_bisect_log.txt &&
- git bisect reset
+ grep "$HASH2 is the first bad commit" my_bisect_log.txt
'
# $HASH1 is good, $HASH4 is bad, we skip $HASH3 and $HASH2
# so we should not be able to tell the first bad commit
# among $HASH2, $HASH3 and $HASH4
test_expect_success 'bisect skip: cannot tell between 3 commits' '
+ test_when_finished git bisect reset &&
git bisect start $HASH4 $HASH1 &&
- git bisect skip || return 1
-
- if git bisect skip > my_bisect_log.txt
- then
- echo Oops, should have failed.
- false
- else
- test $? -eq 2 &&
- grep "first bad commit could be any of" my_bisect_log.txt &&
- ! grep $HASH1 my_bisect_log.txt &&
- grep $HASH2 my_bisect_log.txt &&
- grep $HASH3 my_bisect_log.txt &&
- grep $HASH4 my_bisect_log.txt &&
- git bisect reset
- fi
+ git bisect skip &&
+ test_expect_code 2 git bisect skip >my_bisect_log.txt &&
+ grep "first bad commit could be any of" my_bisect_log.txt &&
+ ! grep $HASH1 my_bisect_log.txt &&
+ grep $HASH2 my_bisect_log.txt &&
+ grep $HASH3 my_bisect_log.txt &&
+ grep $HASH4 my_bisect_log.txt
'
# $HASH1 is good, $HASH4 is bad, we skip $HASH3
@@ -226,22 +212,15 @@ test_expect_success 'bisect skip: cannot tell between 3 commits' '
# so we should not be able to tell the first bad commit
# among $HASH3 and $HASH4
test_expect_success 'bisect skip: cannot tell between 2 commits' '
+ test_when_finished git bisect reset &&
git bisect start $HASH4 $HASH1 &&
- git bisect skip || return 1
-
- if git bisect good > my_bisect_log.txt
- then
- echo Oops, should have failed.
- false
- else
- test $? -eq 2 &&
- grep "first bad commit could be any of" my_bisect_log.txt &&
- ! grep $HASH1 my_bisect_log.txt &&
- ! grep $HASH2 my_bisect_log.txt &&
- grep $HASH3 my_bisect_log.txt &&
- grep $HASH4 my_bisect_log.txt &&
- git bisect reset
- fi
+ git bisect skip &&
+ test_expect_code 2 git bisect good >my_bisect_log.txt &&
+ grep "first bad commit could be any of" my_bisect_log.txt &&
+ ! grep $HASH1 my_bisect_log.txt &&
+ ! grep $HASH2 my_bisect_log.txt &&
+ grep $HASH3 my_bisect_log.txt &&
+ grep $HASH4 my_bisect_log.txt
'
# $HASH1 is good, $HASH4 is both skipped and bad, we skip $HASH3
@@ -249,24 +228,18 @@ test_expect_success 'bisect skip: cannot tell between 2 commits' '
# so we should not be able to tell the first bad commit
# among $HASH3 and $HASH4
test_expect_success 'bisect skip: with commit both bad and skipped' '
+ test_when_finished git bisect reset &&
git bisect start &&
git bisect skip &&
git bisect bad &&
git bisect good $HASH1 &&
git bisect skip &&
- if git bisect good > my_bisect_log.txt
- then
- echo Oops, should have failed.
- false
- else
- test $? -eq 2 &&
- grep "first bad commit could be any of" my_bisect_log.txt &&
- ! grep $HASH1 my_bisect_log.txt &&
- ! grep $HASH2 my_bisect_log.txt &&
- grep $HASH3 my_bisect_log.txt &&
- grep $HASH4 my_bisect_log.txt &&
- git bisect reset
- fi
+ test_expect_code 2 git bisect good >my_bisect_log.txt &&
+ grep "first bad commit could be any of" my_bisect_log.txt &&
+ ! grep $HASH1 my_bisect_log.txt &&
+ ! grep $HASH2 my_bisect_log.txt &&
+ grep $HASH3 my_bisect_log.txt &&
+ grep $HASH4 my_bisect_log.txt
'
# We want to automatically find the commit that
@@ -601,8 +574,7 @@ test_expect_success 'test bisection on bare repo - --no-checkout specified' '
git bisect bad $HASH4 &&
git bisect run eval \
"test \$(git rev-list BISECT_HEAD ^$HASH2 --max-count=1 | wc -l) = 0" \
- >../nocheckout.log &&
- git bisect reset
+ >../nocheckout.log
) &&
grep "$HASH3 is the first bad commit" nocheckout.log
'
@@ -617,8 +589,7 @@ test_expect_success 'test bisection on bare repo - --no-checkout defaulted' '
git bisect bad $HASH4 &&
git bisect run eval \
"test \$(git rev-list BISECT_HEAD ^$HASH2 --max-count=1 | wc -l) = 0" \
- >../defaulted.log &&
- git bisect reset
+ >../defaulted.log
) &&
grep "$HASH3 is the first bad commit" defaulted.log
'
@@ -642,14 +613,14 @@ test_expect_success 'broken branch creation' '
mkdir missing &&
:> missing/MISSING &&
git add missing/MISSING &&
- git commit -m "6(broken): Added file that will be deleted"
+ git commit -m "6(broken): Added file that will be deleted" &&
git tag BROKEN_HASH6 &&
add_line_into_file "7(broken): second line on a broken branch" hello2 &&
git tag BROKEN_HASH7 &&
add_line_into_file "8(broken): third line on a broken branch" hello2 &&
git tag BROKEN_HASH8 &&
git rm missing/MISSING &&
- git commit -m "9(broken): Remove missing file"
+ git commit -m "9(broken): Remove missing file" &&
git tag BROKEN_HASH9 &&
rm .git/objects/39/f7e61a724187ab767d2e08442d9b6b9dab587d
'
diff --git a/t/t6032-merge-large-rename.sh b/t/t6032-merge-large-rename.sh
index 15beecc3c6..0f79268917 100755
--- a/t/t6032-merge-large-rename.sh
+++ b/t/t6032-merge-large-rename.sh
@@ -28,10 +28,10 @@ make_text() {
test_rename() {
test_expect_success "rename ($1, $2)" '
- n='$1'
- expect='$2'
+ n='$1' &&
+ expect='$2' &&
git checkout -f master &&
- git branch -D test$n || true &&
+ test_might_fail git branch -D test$n &&
git reset --hard initial &&
for i in $(count $n); do
make_text $i initial initial >$i
diff --git a/t/t6034-merge-rename-nocruft.sh b/t/t6034-merge-rename-nocruft.sh
index 65be95fbaa..89871aa5b0 100755
--- a/t/t6034-merge-rename-nocruft.sh
+++ b/t/t6034-merge-rename-nocruft.sh
@@ -73,33 +73,12 @@ test_expect_success 'merge white into red (A->B,M->N)' \
'
git checkout -b red-white red &&
git merge white &&
- git write-tree >/dev/null || {
- echo "BAD: merge did not complete"
- return 1
- }
-
- test -f B || {
- echo "BAD: B does not exist in working directory"
- return 1
- }
- test -f N || {
- echo "BAD: N does not exist in working directory"
- return 1
- }
- test -f R || {
- echo "BAD: R does not exist in working directory"
- return 1
- }
-
- test -f A && {
- echo "BAD: A still exists in working directory"
- return 1
- }
- test -f M && {
- echo "BAD: M still exists in working directory"
- return 1
- }
- return 0
+ git write-tree &&
+ test_path_is_file B &&
+ test_path_is_file N &&
+ test_path_is_file R &&
+ test_path_is_missing A &&
+ test_path_is_missing M
'
# This test broke in 8371234ecaaf6e14fe3f2082a855eff1bbd79ae9
@@ -108,32 +87,13 @@ test_expect_success 'merge blue into white (A->B, mod A, A untracked)' \
git checkout -b white-blue white &&
echo dirty >A &&
git merge blue &&
- git write-tree >/dev/null || {
- echo "BAD: merge did not complete"
- return 1
- }
-
- test -f A || {
- echo "BAD: A does not exist in working directory"
- return 1
- }
- test `cat A` = dirty || {
- echo "BAD: A content is wrong"
- return 1
- }
- test -f B || {
- echo "BAD: B does not exist in working directory"
- return 1
- }
- test -f N || {
- echo "BAD: N does not exist in working directory"
- return 1
- }
- test -f M && {
- echo "BAD: M still exists in working directory"
- return 1
- }
- return 0
+ git write-tree &&
+ test_path_is_file A &&
+ echo dirty >expect &&
+ test_cmp expect A &&
+ test_path_is_file B &&
+ test_path_is_file N &&
+ test_path_is_missing M
'
test_done
diff --git a/t/t6036-recursive-corner-cases.sh b/t/t6036-recursive-corner-cases.sh
index a86087be95..9d6621c056 100755
--- a/t/t6036-recursive-corner-cases.sh
+++ b/t/t6036-recursive-corner-cases.sh
@@ -86,7 +86,7 @@ test_expect_success 'setup criss-cross + rename merges with basic modification'
rm -rf .git &&
git init &&
- ten="0 1 2 3 4 5 6 7 8 9"
+ ten="0 1 2 3 4 5 6 7 8 9" &&
for i in $ten
do
echo line $i in a sample file
@@ -195,12 +195,7 @@ test_expect_success 'git detects differently handled merges conflict' '
git reset --hard &&
git checkout D^0 &&
- git merge -s recursive E^0 && {
- echo "BAD: should have conflicted"
- test "Incorrectly merged content" = "$(cat new_a)" &&
- echo "BAD: Silently accepted wrong content"
- return 1
- }
+ test_must_fail git merge -s recursive E^0 &&
test 3 = $(git ls-files -s | wc -l) &&
test 3 = $(git ls-files -u | wc -l) &&
@@ -533,7 +528,7 @@ test_expect_success 'merge of E2 & D fails but has appropriate contents' '
test $(git rev-parse :3:a) = $(git rev-parse B:a) &&
test $(git rev-parse :2:a/file) = $(git rev-parse E2:a/file) &&
- test $(git rev-parse :1:a/file) = $(git rev-parse C:a/file)
+ test $(git rev-parse :1:a/file) = $(git rev-parse C:a/file) &&
test $(git rev-parse :0:ignore-me) = $(git rev-parse A:ignore-me) &&
test -f a~D^0
diff --git a/t/t6039-merge-ignorecase.sh b/t/t6039-merge-ignorecase.sh
index a977653147..531850d834 100755
--- a/t/t6039-merge-ignorecase.sh
+++ b/t/t6039-merge-ignorecase.sh
@@ -15,7 +15,7 @@ test_expect_success 'merge with case-changing rename' '
>TestCase &&
git add TestCase &&
git commit -m "add TestCase" &&
- git tag baseline
+ git tag baseline &&
git checkout -b with-camel &&
>foo &&
git add foo &&
diff --git a/t/t6040-tracking-info.sh b/t/t6040-tracking-info.sh
index 7ac8fd06c3..3d5c238c81 100755
--- a/t/t6040-tracking-info.sh
+++ b/t/t6040-tracking-info.sh
@@ -12,10 +12,9 @@ advance () {
}
test_expect_success setup '
- for i in a b c;
- do
- advance $i || break
- done &&
+ advance a &&
+ advance b &&
+ advance c &&
git clone . test &&
(
cd test &&
diff --git a/t/t6111-rev-list-treesame.sh b/t/t6111-rev-list-treesame.sh
index 88b84dfa73..32474c23d3 100755
--- a/t/t6111-rev-list-treesame.sh
+++ b/t/t6111-rev-list-treesame.sh
@@ -58,7 +58,7 @@ test_expect_success setup '
git checkout master &&
test_tick && git merge --no-ff fiddler-branch &&
- note K
+ note K &&
test_commit "file=Part 1" file "Part 1" L &&
@@ -92,10 +92,7 @@ check_outcome () {
git log --format="$FMT" $param |
unnote >actual &&
sed -e "$munge_actual" <actual >check &&
- test_cmp expect check || {
- cat actual
- false
- }
+ test_cmp expect check
'
}
diff --git a/t/t6132-pathspec-exclude.sh b/t/t6132-pathspec-exclude.sh
index 62049be0c7..e1e1b1fa38 100755
--- a/t/t6132-pathspec-exclude.sh
+++ b/t/t6132-pathspec-exclude.sh
@@ -30,7 +30,7 @@ test_expect_success 'exclude only should error out' '
'
test_expect_success 't_e_i() exclude sub' '
- git log --oneline --format=%s -- . ":(exclude)sub" >actual
+ git log --oneline --format=%s -- . ":(exclude)sub" >actual &&
cat <<EOF >expect &&
sub2/file
file
@@ -39,7 +39,7 @@ EOF
'
test_expect_success 't_e_i() exclude sub/sub/file' '
- git log --oneline --format=%s -- . ":(exclude)sub/sub/file" >actual
+ git log --oneline --format=%s -- . ":(exclude)sub/sub/file" >actual &&
cat <<EOF >expect &&
sub2/file
sub/sub/sub/file
@@ -51,7 +51,7 @@ EOF
'
test_expect_success 't_e_i() exclude sub using mnemonic' '
- git log --oneline --format=%s -- . ":!sub" >actual
+ git log --oneline --format=%s -- . ":!sub" >actual &&
cat <<EOF >expect &&
sub2/file
file
@@ -60,7 +60,7 @@ EOF
'
test_expect_success 't_e_i() exclude :(icase)SUB' '
- git log --oneline --format=%s -- . ":(exclude,icase)SUB" >actual
+ git log --oneline --format=%s -- . ":(exclude,icase)SUB" >actual &&
cat <<EOF >expect &&
sub2/file
file
@@ -71,7 +71,7 @@ EOF
test_expect_success 't_e_i() exclude sub2 from sub' '
(
cd sub &&
- git log --oneline --format=%s -- :/ ":/!sub2" >actual
+ git log --oneline --format=%s -- :/ ":/!sub2" >actual &&
cat <<EOF >expect &&
sub/sub/sub/file
sub/file2
@@ -84,7 +84,7 @@ EOF
'
test_expect_success 't_e_i() exclude sub/*file' '
- git log --oneline --format=%s -- . ":(exclude)sub/*file" >actual
+ git log --oneline --format=%s -- . ":(exclude)sub/*file" >actual &&
cat <<EOF >expect &&
sub2/file
sub/file2
@@ -94,7 +94,7 @@ EOF
'
test_expect_success 't_e_i() exclude :(glob)sub/*/file' '
- git log --oneline --format=%s -- . ":(exclude,glob)sub/*/file" >actual
+ git log --oneline --format=%s -- . ":(exclude,glob)sub/*/file" >actual &&
cat <<EOF >expect &&
sub2/file
sub/sub/sub/file
@@ -106,7 +106,7 @@ EOF
'
test_expect_success 'm_p_d() exclude sub' '
- git ls-files -- . ":(exclude)sub" >actual
+ git ls-files -- . ":(exclude)sub" >actual &&
cat <<EOF >expect &&
file
sub2/file
@@ -115,7 +115,7 @@ EOF
'
test_expect_success 'm_p_d() exclude sub/sub/file' '
- git ls-files -- . ":(exclude)sub/sub/file" >actual
+ git ls-files -- . ":(exclude)sub/sub/file" >actual &&
cat <<EOF >expect &&
file
sub/file
@@ -127,7 +127,7 @@ EOF
'
test_expect_success 'm_p_d() exclude sub using mnemonic' '
- git ls-files -- . ":!sub" >actual
+ git ls-files -- . ":!sub" >actual &&
cat <<EOF >expect &&
file
sub2/file
@@ -136,7 +136,7 @@ EOF
'
test_expect_success 'm_p_d() exclude :(icase)SUB' '
- git ls-files -- . ":(exclude,icase)SUB" >actual
+ git ls-files -- . ":(exclude,icase)SUB" >actual &&
cat <<EOF >expect &&
file
sub2/file
@@ -147,7 +147,7 @@ EOF
test_expect_success 'm_p_d() exclude sub2 from sub' '
(
cd sub &&
- git ls-files -- :/ ":/!sub2" >actual
+ git ls-files -- :/ ":/!sub2" >actual &&
cat <<EOF >expect &&
../file
file
@@ -160,7 +160,7 @@ EOF
'
test_expect_success 'm_p_d() exclude sub/*file' '
- git ls-files -- . ":(exclude)sub/*file" >actual
+ git ls-files -- . ":(exclude)sub/*file" >actual &&
cat <<EOF >expect &&
file
sub/file2
@@ -170,7 +170,7 @@ EOF
'
test_expect_success 'm_p_d() exclude :(glob)sub/*/file' '
- git ls-files -- . ":(exclude,glob)sub/*/file" >actual
+ git ls-files -- . ":(exclude,glob)sub/*/file" >actual &&
cat <<EOF >expect &&
file
sub/file
diff --git a/t/t6200-fmt-merge-msg.sh b/t/t6200-fmt-merge-msg.sh
index 54b5744cc5..2e2fb0e957 100755
--- a/t/t6200-fmt-merge-msg.sh
+++ b/t/t6200-fmt-merge-msg.sh
@@ -194,7 +194,7 @@ test_expect_success '--log=5 with custom comment character' '
'
test_expect_success 'merge.log=0 disables shortlog' '
- echo "Merge branch ${apos}left${apos}" >expected
+ echo "Merge branch ${apos}left${apos}" >expected &&
git -c merge.log=0 fmt-merge-msg <.git/FETCH_HEAD >actual &&
test_cmp expected actual
'
diff --git a/t/t7001-mv.sh b/t/t7001-mv.sh
index 69f11bd40d..7b56081137 100755
--- a/t/t7001-mv.sh
+++ b/t/t7001-mv.sh
@@ -161,10 +161,7 @@ test_expect_success "Michael Cassar's test case" '
git mv papers/unsorted/Thesis.pdf papers/all-papers/moo-blah.pdf &&
T=`git write-tree` &&
- git ls-tree -r $T | grep partA/outline.txt || {
- git ls-tree -r $T
- (exit 1)
- }
+ git ls-tree -r $T | verbose grep partA/outline.txt
'
rm -fr papers partA path?
diff --git a/t/t7004-tag.sh b/t/t7004-tag.sh
index 35c805a44e..fa207f3b8c 100755
--- a/t/t7004-tag.sh
+++ b/t/t7004-tag.sh
@@ -1180,8 +1180,8 @@ test_expect_success 'message in editor has initial comment: first line' '
test_expect_success \
'message in editor has initial comment: remainder' '
# remove commented lines from the remainder -- should be empty
- >rest.expect
- sed -e 1d -e '/^#/d' <actual >rest.actual &&
+ >rest.expect &&
+ sed -e 1d -e "/^#/d" <actual >rest.actual &&
test_cmp rest.expect rest.actual
'
@@ -1459,6 +1459,34 @@ test_expect_success 'invalid sort parameter in configuratoin' '
test_cmp expect actual
'
+test_expect_success 'version sort with prerelease reordering' '
+ git config --unset tag.sort &&
+ git config versionsort.prereleaseSuffix -rc &&
+ git tag foo1.6-rc1 &&
+ git tag foo1.6-rc2 &&
+ git tag -l --sort=version:refname "foo*" >actual &&
+ cat >expect <<-\EOF &&
+ foo1.3
+ foo1.6-rc1
+ foo1.6-rc2
+ foo1.6
+ foo1.10
+ EOF
+ test_cmp expect actual
+'
+
+test_expect_success 'reverse version sort with prerelease reordering' '
+ git tag -l --sort=-version:refname "foo*" >actual &&
+ cat >expect <<-\EOF &&
+ foo1.10
+ foo1.6
+ foo1.6-rc2
+ foo1.6-rc1
+ foo1.3
+ EOF
+ test_cmp expect actual
+'
+
run_with_limited_stack () {
(ulimit -s 128 && "$@")
}
diff --git a/t/t7006-pager.sh b/t/t7006-pager.sh
index da958a8b56..947b690fd7 100755
--- a/t/t7006-pager.sh
+++ b/t/t7006-pager.sh
@@ -396,7 +396,7 @@ test_expect_success TTY 'command-specific pager overrides core.pager' '
sane_unset PAGER GIT_PAGER &&
echo "foo:initial" >expect &&
>actual &&
- test_config core.pager "exit 1"
+ test_config core.pager "exit 1" &&
test_config pager.log "sed s/^/foo:/ >actual" &&
test_terminal git log --format=%s -1 &&
test_cmp expect actual
diff --git a/t/t7007-show.sh b/t/t7007-show.sh
index 1b824fe5ed..42d3db6246 100755
--- a/t/t7007-show.sh
+++ b/t/t7007-show.sh
@@ -124,4 +124,8 @@ test_expect_success '--quiet suppresses diff' '
test_cmp expect actual
'
+test_expect_success 'show --graph is forbidden' '
+ test_must_fail git show --graph HEAD
+'
+
test_done
diff --git a/t/t7009-filter-branch-null-sha1.sh b/t/t7009-filter-branch-null-sha1.sh
index a997f7ac3a..c27f90f285 100755
--- a/t/t7009-filter-branch-null-sha1.sh
+++ b/t/t7009-filter-branch-null-sha1.sh
@@ -13,7 +13,7 @@ test_expect_success 'setup: a commit with a bogus null sha1 in the tree' '
{
git ls-tree HEAD &&
printf "160000 commit $_z40\\tbroken\\n"
- } >broken-tree
+ } >broken-tree &&
echo "add broken entry" >msg &&
tree=$(git mktree <broken-tree) &&
diff --git a/t/t7201-co.sh b/t/t7201-co.sh
index eae9e5a937..885923610a 100755
--- a/t/t7201-co.sh
+++ b/t/t7201-co.sh
@@ -88,14 +88,10 @@ test_expect_success "checkout with unrelated dirty tree without -m" '
git checkout -f master &&
fill 0 1 2 3 4 5 6 7 8 >same &&
- cp same kept
+ cp same kept &&
git checkout side >messages &&
- test_cmp same kept
- (cat > messages.expect <<EOF
-M same
-EOF
-) &&
- touch messages.expect &&
+ test_cmp same kept &&
+ printf "M\t%s\n" same >messages.expect &&
test_cmp messages.expect messages
'
@@ -109,10 +105,7 @@ test_expect_success "checkout -m with dirty tree" '
test "$(git symbolic-ref HEAD)" = "refs/heads/side" &&
- (cat >expect.messages <<EOF
-M one
-EOF
-) &&
+ printf "M\t%s\n" one >expect.messages &&
test_cmp expect.messages messages &&
fill "M one" "A three" "D two" >expect.master &&
@@ -409,12 +402,12 @@ test_expect_success \
test_expect_success \
'checkout w/autosetupmerge=always sets up tracking' '
+ test_when_finished git config branch.autosetupmerge false &&
git config branch.autosetupmerge always &&
git checkout master &&
git checkout -b track2 &&
test "$(git config branch.track2.remote)" &&
- test "$(git config branch.track2.merge)"
- git config branch.autosetupmerge false'
+ test "$(git config branch.track2.merge)"'
test_expect_success 'checkout w/--track from non-branch HEAD fails' '
git checkout master^0 &&
@@ -591,7 +584,7 @@ test_expect_success 'checkout --conflict=merge, overriding config' '
'
test_expect_success 'checkout --conflict=diff3' '
- git config --unset merge.conflictstyle
+ test_unconfig merge.conflictstyle &&
setup_conflicting_index &&
echo "none of the above" >sample &&
echo ourside >expect &&
diff --git a/t/t7300-clean.sh b/t/t7300-clean.sh
index 04118ad75b..99be5d95d0 100755
--- a/t/t7300-clean.sh
+++ b/t/t7300-clean.sh
@@ -119,10 +119,7 @@ test_expect_success C_LOCALE_OUTPUT 'git clean with relative prefix' '
git clean -n ../src |
sed -n -e "s|^Would remove ||p"
) &&
- test "$would_clean" = ../src/part3.c || {
- echo "OOps <$would_clean>"
- false
- }
+ verbose test "$would_clean" = ../src/part3.c
'
test_expect_success C_LOCALE_OUTPUT 'git clean with absolute path' '
@@ -134,10 +131,7 @@ test_expect_success C_LOCALE_OUTPUT 'git clean with absolute path' '
git clean -n "$(pwd)/../src" |
sed -n -e "s|^Would remove ||p"
) &&
- test "$would_clean" = ../src/part3.c || {
- echo "OOps <$would_clean>"
- false
- }
+ verbose test "$would_clean" = ../src/part3.c
'
test_expect_success 'git clean with out of work tree relative path' '
diff --git a/t/t7400-submodule-basic.sh b/t/t7400-submodule-basic.sh
index 5811a982f4..540771ca41 100755
--- a/t/t7400-submodule-basic.sh
+++ b/t/t7400-submodule-basic.sh
@@ -766,7 +766,7 @@ test_expect_success 'moving the superproject does not break submodules' '
(
cd addtest &&
git submodule status >expect
- )
+ ) &&
mv addtest addtest2 &&
(
cd addtest2 &&
@@ -987,7 +987,7 @@ test_expect_success 'submodule with UTF-8 name' '
test_expect_success 'submodule add clone shallow submodule' '
mkdir super &&
- pwd=$(pwd)
+ pwd=$(pwd) &&
(
cd super &&
git init &&
diff --git a/t/t7406-submodule-update.sh b/t/t7406-submodule-update.sh
index 29d3d2cca0..dda3929d99 100755
--- a/t/t7406-submodule-update.sh
+++ b/t/t7406-submodule-update.sh
@@ -754,7 +754,7 @@ test_expect_success SYMLINKS 'submodule update can handle symbolic links in pwd'
test_expect_success 'submodule update clone shallow submodule' '
git clone cloned super3 &&
- pwd=$(pwd)
+ pwd=$(pwd) &&
(cd super3 &&
sed -e "s#url = ../#url = file://$pwd/#" <.gitmodules >.gitmodules.tmp &&
mv -f .gitmodules.tmp .gitmodules &&
diff --git a/t/t7508-status.sh b/t/t7508-status.sh
index 8ed5788808..c3ed7cb51c 100755
--- a/t/t7508-status.sh
+++ b/t/t7508-status.sh
@@ -66,6 +66,12 @@ strip_comments () {
rm "$1" && mv "$1".tmp "$1"
}
+cat >.gitignore <<\EOF
+.gitignore
+expect*
+output*
+EOF
+
test_expect_success 'status --column' '
cat >expect <<\EOF &&
# On branch master
@@ -83,8 +89,8 @@ test_expect_success 'status --column' '
# Untracked files:
# (use "git add <file>..." to include in what will be committed)
#
-# dir1/untracked dir2/untracked output
-# dir2/modified expect untracked
+# dir1/untracked dir2/untracked
+# dir2/modified untracked
#
EOF
COLUMNS=50 git -c status.displayCommentPrefix=true status --column="column dense" >output &&
@@ -116,8 +122,6 @@ cat >expect <<\EOF
# dir1/untracked
# dir2/modified
# dir2/untracked
-# expect
-# output
# untracked
#
EOF
@@ -133,6 +137,23 @@ test_expect_success 'status with status.displayCommentPrefix=false' '
test_i18ncmp expect output
'
+test_expect_success 'status -v' '
+ (cat expect && git diff --cached) >expect-with-v &&
+ git status -v >output &&
+ test_i18ncmp expect-with-v output
+'
+
+test_expect_success 'status -v -v' '
+ (cat expect &&
+ echo "Changes to be committed:" &&
+ git -c diff.mnemonicprefix=true diff --cached &&
+ echo "--------------------------------------------------" &&
+ echo "Changes not staged for commit:" &&
+ git -c diff.mnemonicprefix=true diff) >expect-with-v &&
+ git status -v -v >output &&
+ test_i18ncmp expect-with-v output
+'
+
test_expect_success 'setup fake editor' '
cat >.git/editor <<-\EOF &&
#! /bin/sh
@@ -167,8 +188,6 @@ Untracked files:
dir1/untracked
dir2/modified
dir2/untracked
- expect
- output
untracked
EOF
@@ -186,8 +205,6 @@ A dir2/added
?? dir1/untracked
?? dir2/modified
?? dir2/untracked
-?? expect
-?? output
?? untracked
EOF
@@ -201,7 +218,7 @@ test_expect_success 'status -s' '
test_expect_success 'status with gitignore' '
{
echo ".gitignore" &&
- echo "expect" &&
+ echo "expect*" &&
echo "output" &&
echo "untracked"
} >.gitignore &&
@@ -222,6 +239,7 @@ test_expect_success 'status with gitignore' '
!! dir1/untracked
!! dir2/untracked
!! expect
+ !! expect-with-v
!! output
!! untracked
EOF
@@ -253,6 +271,7 @@ Ignored files:
dir1/untracked
dir2/untracked
expect
+ expect-with-v
output
untracked
@@ -264,7 +283,7 @@ EOF
test_expect_success 'status with gitignore (nothing untracked)' '
{
echo ".gitignore" &&
- echo "expect" &&
+ echo "expect*" &&
echo "dir2/modified" &&
echo "output" &&
echo "untracked"
@@ -285,6 +304,7 @@ test_expect_success 'status with gitignore (nothing untracked)' '
!! dir2/modified
!! dir2/untracked
!! expect
+ !! expect-with-v
!! output
!! untracked
EOF
@@ -312,6 +332,7 @@ Ignored files:
dir2/modified
dir2/untracked
expect
+ expect-with-v
output
untracked
@@ -320,7 +341,11 @@ EOF
test_i18ncmp expect output
'
-rm -f .gitignore
+cat >.gitignore <<\EOF
+.gitignore
+expect*
+output*
+EOF
cat >expect <<\EOF
## master
@@ -329,8 +354,6 @@ A dir2/added
?? dir1/untracked
?? dir2/modified
?? dir2/untracked
-?? expect
-?? output
?? untracked
EOF
@@ -408,7 +431,7 @@ test_expect_success 'status -s -uno' '
'
test_expect_success 'status -s (status.showUntrackedFiles no)' '
- git config status.showuntrackedfiles no
+ git config status.showuntrackedfiles no &&
git status -s >output &&
test_cmp expect output
'
@@ -434,8 +457,6 @@ Untracked files:
dir2/modified
dir2/untracked
dir3/
- expect
- output
untracked
EOF
@@ -444,7 +465,7 @@ EOF
'
test_expect_success 'status (status.showUntrackedFiles normal)' '
- test_config status.showuntrackedfiles normal
+ test_config status.showuntrackedfiles normal &&
git status >output &&
test_i18ncmp expect output
'
@@ -456,8 +477,6 @@ A dir2/added
?? dir2/modified
?? dir2/untracked
?? dir3/
-?? expect
-?? output
?? untracked
EOF
test_expect_success 'status -s -unormal' '
@@ -466,7 +485,7 @@ test_expect_success 'status -s -unormal' '
'
test_expect_success 'status -s (status.showUntrackedFiles normal)' '
- git config status.showuntrackedfiles normal
+ git config status.showuntrackedfiles normal &&
git status -s >output &&
test_cmp expect output
'
@@ -493,8 +512,6 @@ Untracked files:
dir2/untracked
dir3/untracked1
dir3/untracked2
- expect
- output
untracked
EOF
@@ -503,7 +520,7 @@ EOF
'
test_expect_success 'status (status.showUntrackedFiles all)' '
- test_config status.showuntrackedfiles all
+ test_config status.showuntrackedfiles all &&
git status >output &&
test_i18ncmp expect output
'
@@ -518,12 +535,10 @@ A dir2/added
?? dir1/untracked
?? dir2/modified
?? dir2/untracked
-?? expect
-?? output
?? untracked
EOF
test_expect_success 'status -s -uall' '
- git config --unset status.showuntrackedfiles
+ test_unconfig status.showuntrackedfiles &&
git status -s -uall >output &&
test_cmp expect output
'
@@ -554,8 +569,6 @@ Untracked files:
untracked
../dir2/modified
../dir2/untracked
- ../expect
- ../output
../untracked
EOF
@@ -569,8 +582,6 @@ A ../dir2/added
?? untracked
?? ../dir2/modified
?? ../dir2/untracked
-?? ../expect
-?? ../output
?? ../untracked
EOF
test_expect_success 'status -s with relative paths' '
@@ -586,8 +597,6 @@ A dir2/added
?? dir1/untracked
?? dir2/modified
?? dir2/untracked
-?? expect
-?? output
?? untracked
EOF
@@ -625,8 +634,6 @@ Untracked files:
<BLUE>dir1/untracked<RESET>
<BLUE>dir2/modified<RESET>
<BLUE>dir2/untracked<RESET>
- <BLUE>expect<RESET>
- <BLUE>output<RESET>
<BLUE>untracked<RESET>
EOF
@@ -647,8 +654,6 @@ cat >expect <<\EOF
<BLUE>??<RESET> dir1/untracked
<BLUE>??<RESET> dir2/modified
<BLUE>??<RESET> dir2/untracked
-<BLUE>??<RESET> expect
-<BLUE>??<RESET> output
<BLUE>??<RESET> untracked
EOF
@@ -676,8 +681,6 @@ cat >expect <<\EOF
<BLUE>??<RESET> dir1/untracked
<BLUE>??<RESET> dir2/modified
<BLUE>??<RESET> dir2/untracked
-<BLUE>??<RESET> expect
-<BLUE>??<RESET> output
<BLUE>??<RESET> untracked
EOF
@@ -694,8 +697,6 @@ A dir2/added
?? dir1/untracked
?? dir2/modified
?? dir2/untracked
-?? expect
-?? output
?? untracked
EOF
@@ -755,8 +756,6 @@ Untracked files:
dir1/untracked
dir2/modified
dir2/untracked
- expect
- output
untracked
EOF
@@ -772,8 +771,6 @@ A dir2/added
?? dir1/untracked
?? dir2/modified
?? dir2/untracked
-?? expect
-?? output
?? untracked
EOF
@@ -798,8 +795,6 @@ Untracked files:
dir1/untracked
dir2/
- expect
- output
untracked
EOF
@@ -848,8 +843,6 @@ Untracked files:
dir1/untracked
dir2/modified
dir2/untracked
- expect
- output
untracked
EOF
@@ -870,8 +863,6 @@ A sm
?? dir1/untracked
?? dir2/modified
?? dir2/untracked
-?? expect
-?? output
?? untracked
EOF
test_expect_success 'status -s submodule summary is disabled by default' '
@@ -913,8 +904,6 @@ Untracked files:
dir1/untracked
dir2/modified
dir2/untracked
- expect
- output
untracked
EOF
@@ -940,8 +929,6 @@ A sm
?? dir1/untracked
?? dir2/modified
?? dir2/untracked
-?? expect
-?? output
?? untracked
EOF
test_expect_success 'status -s submodule summary' '
@@ -964,8 +951,6 @@ Untracked files:
dir1/untracked
dir2/modified
dir2/untracked
- expect
- output
untracked
no changes added to commit (use "git add" and/or "git commit -a")
@@ -983,8 +968,6 @@ cat >expect <<EOF
?? dir1/untracked
?? dir2/modified
?? dir2/untracked
-?? expect
-?? output
?? untracked
EOF
test_expect_success 'status -s submodule summary (clean submodule)' '
@@ -1025,8 +1008,6 @@ Untracked files:
dir1/untracked
dir2/modified
dir2/untracked
- expect
- output
untracked
EOF
@@ -1080,8 +1061,6 @@ Untracked files:
dir1/untracked
dir2/modified
dir2/untracked
- expect
- output
untracked
EOF
@@ -1192,8 +1171,6 @@ Untracked files:
dir1/untracked
dir2/modified
dir2/untracked
- expect
- output
untracked
EOF
@@ -1254,8 +1231,6 @@ Untracked files:
dir1/untracked
dir2/modified
dir2/untracked
- expect
- output
untracked
EOF
@@ -1336,8 +1311,6 @@ cat > expect << EOF
; dir1/untracked
; dir2/modified
; dir2/untracked
-; expect
-; output
; untracked
;
EOF
@@ -1369,8 +1342,6 @@ Untracked files:
dir1/untracked
dir2/modified
dir2/untracked
- expect
- output
untracked
no changes added to commit (use "git add" and/or "git commit -a")
@@ -1400,8 +1371,6 @@ Untracked files:
dir1/untracked
dir2/modified
dir2/untracked
- expect
- output
untracked
EOF
diff --git a/t/t7510-signed-commit.sh b/t/t7510-signed-commit.sh
index 474dab381a..13331e533b 100755
--- a/t/t7510-signed-commit.sh
+++ b/t/t7510-signed-commit.sh
@@ -42,7 +42,7 @@ test_expect_success GPG 'create signed commits' '
git tag seventh-unsigned &&
test_tick && git rebase -f HEAD^^ && git tag sixth-signed HEAD^ &&
- git tag seventh-signed
+ git tag seventh-signed &&
echo 8 >file && test_tick && git commit -a -m eighth -SB7227189 &&
git tag eighth-signed-alt
@@ -86,8 +86,8 @@ test_expect_success GPG 'show signed commit with signature' '
git show -s --show-signature initial >show &&
git verify-commit -v initial >verify.1 2>verify.2 &&
git cat-file commit initial >cat &&
- grep -v "gpg: " show >show.commit &&
- grep "gpg: " show >show.gpg &&
+ grep -v -e "gpg: " -e "Warning: " show >show.commit &&
+ grep -e "gpg: " -e "Warning: " show >show.gpg &&
grep -v "^ " cat | grep -v "^gpgsig " >cat.commit &&
test_cmp show.commit commit &&
test_cmp show.gpg verify.2 &&
diff --git a/t/t7600-merge.sh b/t/t7600-merge.sh
index b16462132f..75c50eea15 100755
--- a/t/t7600-merge.sh
+++ b/t/t7600-merge.sh
@@ -133,7 +133,7 @@ test_expect_success 'setup' '
test_tick &&
git commit -m "commit 3" &&
git tag c3 &&
- c3=$(git rev-parse HEAD)
+ c3=$(git rev-parse HEAD) &&
git reset --hard "$c0" &&
create_merge_msgs
'
diff --git a/t/t7612-merge-verify-signatures.sh b/t/t7612-merge-verify-signatures.sh
index 21a0bf8fb8..8ae69a61c3 100755
--- a/t/t7612-merge-verify-signatures.sh
+++ b/t/t7612-merge-verify-signatures.sh
@@ -29,7 +29,7 @@ test_expect_success GPG 'create signed commits' '
git checkout -b side-untrusted &&
echo 3 >baz && git add baz &&
- test_tick && git commit -SB7227189 -m "untrusted on side"
+ test_tick && git commit -SB7227189 -m "untrusted on side" &&
git checkout master
'
diff --git a/t/t7701-repack-unpack-unreachable.sh b/t/t7701-repack-unpack-unreachable.sh
index aad8a9c64d..b66e383866 100755
--- a/t/t7701-repack-unpack-unreachable.sh
+++ b/t/t7701-repack-unpack-unreachable.sh
@@ -57,7 +57,7 @@ compare_mtimes ()
{
read tref rest &&
while read t rest; do
- test "$tref" = "$t" || break
+ test "$tref" = "$t" || return 1
done
}
diff --git a/t/t8003-blame-corner-cases.sh b/t/t8003-blame-corner-cases.sh
index 2a3469bcbe..32895e5acb 100755
--- a/t/t8003-blame-corner-cases.sh
+++ b/t/t8003-blame-corner-cases.sh
@@ -26,7 +26,7 @@ test_expect_success setup '
cat one >uno &&
mv two dos &&
cat one >>tres &&
- echo DEF >>mouse
+ echo DEF >>mouse &&
git add uno dos tres mouse &&
test_tick &&
GIT_AUTHOR_NAME=Second git commit -a -m Second &&
@@ -153,15 +153,15 @@ test_expect_success 'blame path that used to be a directory' '
'
test_expect_success 'blame to a commit with no author name' '
- TREE=`git rev-parse HEAD:`
- cat >badcommit <<EOF
+ TREE=`git rev-parse HEAD:` &&
+ cat >badcommit <<EOF &&
tree $TREE
author <noname> 1234567890 +0000
committer David Reiss <dreiss@facebook.com> 1234567890 +0000
some message
EOF
- COMMIT=`git hash-object -t commit -w badcommit`
+ COMMIT=`git hash-object -t commit -w badcommit` &&
git --no-pager blame $COMMIT -- uno >/dev/null
'
diff --git a/t/t8008-blame-formats.sh b/t/t8008-blame-formats.sh
index d15f8b3d47..29f84a6dd1 100755
--- a/t/t8008-blame-formats.sh
+++ b/t/t8008-blame-formats.sh
@@ -5,7 +5,7 @@ test_description='blame output in various formats on a simple case'
test_expect_success 'setup' '
echo a >file &&
- git add file
+ git add file &&
test_tick &&
git commit -m one &&
echo b >>file &&
diff --git a/t/t9001-send-email.sh b/t/t9001-send-email.sh
index 051305545c..7be14a4e37 100755
--- a/t/t9001-send-email.sh
+++ b/t/t9001-send-email.sh
@@ -818,25 +818,19 @@ test_expect_success $PREREQ '--confirm=compose' '
'
test_expect_success $PREREQ 'confirm by default (due to cc)' '
- CONFIRM=$(git config --get sendemail.confirm) &&
+ test_when_finished git config sendemail.confirm never &&
git config --unset sendemail.confirm &&
test_confirm
- ret="$?"
- git config sendemail.confirm ${CONFIRM:-never}
- test $ret = "0"
'
test_expect_success $PREREQ 'confirm by default (due to --compose)' '
- CONFIRM=$(git config --get sendemail.confirm) &&
+ test_when_finished git config sendemail.confirm never &&
git config --unset sendemail.confirm &&
test_confirm --suppress-cc=all --compose
- ret="$?"
- git config sendemail.confirm ${CONFIRM:-never}
- test $ret = "0"
'
test_expect_success $PREREQ 'confirm detects EOF (inform assumes y)' '
- CONFIRM=$(git config --get sendemail.confirm) &&
+ test_when_finished git config sendemail.confirm never &&
git config --unset sendemail.confirm &&
rm -fr outdir &&
git format-patch -2 -o outdir &&
@@ -846,13 +840,10 @@ test_expect_success $PREREQ 'confirm detects EOF (inform assumes y)' '
--to=nobody@example.com \
--smtp-server="$(pwd)/fake.sendmail" \
outdir/*.patch </dev/null
- ret="$?"
- git config sendemail.confirm ${CONFIRM:-never}
- test $ret = "0"
'
test_expect_success $PREREQ 'confirm detects EOF (auto causes failure)' '
- CONFIRM=$(git config --get sendemail.confirm) &&
+ test_when_finished git config sendemail.confirm never &&
git config sendemail.confirm auto &&
GIT_SEND_EMAIL_NOTTY=1 &&
export GIT_SEND_EMAIL_NOTTY &&
@@ -861,13 +852,10 @@ test_expect_success $PREREQ 'confirm detects EOF (auto causes failure)' '
--to=nobody@example.com \
--smtp-server="$(pwd)/fake.sendmail" \
$patches </dev/null
- ret="$?"
- git config sendemail.confirm ${CONFIRM:-never}
- test $ret = "0"
'
test_expect_success $PREREQ 'confirm does not loop forever' '
- CONFIRM=$(git config --get sendemail.confirm) &&
+ test_when_finished git config sendemail.confirm never &&
git config sendemail.confirm auto &&
GIT_SEND_EMAIL_NOTTY=1 &&
export GIT_SEND_EMAIL_NOTTY &&
@@ -876,9 +864,6 @@ test_expect_success $PREREQ 'confirm does not loop forever' '
--to=nobody@example.com \
--smtp-server="$(pwd)/fake.sendmail" \
$patches
- ret="$?"
- git config sendemail.confirm ${CONFIRM:-never}
- test $ret = "0"
'
test_expect_success $PREREQ 'utf8 Cc is rfc2047 encoded' '
@@ -1325,7 +1310,7 @@ test_expect_success $PREREQ 'sendemail.transferencoding=7bit fails on 8bit data'
test_expect_success $PREREQ '--transfer-encoding overrides sendemail.transferEncoding' '
clean_fake_sendmail &&
- git config sendemail.transferEncoding 8bit
+ git config sendemail.transferEncoding 8bit &&
test_must_fail git send-email \
--transfer-encoding=7bit \
--smtp-server="$(pwd)/fake.sendmail" \
diff --git a/t/t9104-git-svn-follow-parent.sh b/t/t9104-git-svn-follow-parent.sh
index 13b179e721..83f17e13e8 100755
--- a/t/t9104-git-svn-follow-parent.sh
+++ b/t/t9104-git-svn-follow-parent.sh
@@ -72,16 +72,18 @@ test_expect_success 'follow larger parent' '
svn import -m "import a larger parent" import "$svnrepo"/larger-parent &&
svn cp -m "hi" "$svnrepo"/larger-parent "$svnrepo"/another-larger &&
git svn init --minimize-url -i larger \
- "$svnrepo"/another-larger/trunk/thunk/bump/thud &&
+ "$svnrepo"/larger-parent/trunk/thunk/bump/thud &&
git svn fetch -i larger &&
+ git svn init --minimize-url -i larger-parent \
+ "$svnrepo"/another-larger/trunk/thunk/bump/thud &&
+ git svn fetch -i larger-parent &&
git rev-parse --verify refs/remotes/larger &&
git rev-parse --verify \
- refs/remotes/larger-parent/trunk/thunk/bump/thud &&
+ refs/remotes/larger-parent &&
test "`git merge-base \
- refs/remotes/larger-parent/trunk/thunk/bump/thud \
+ refs/remotes/larger-parent \
refs/remotes/larger`" = \
"`git rev-parse refs/remotes/larger`"
- true
'
test_expect_success 'follow higher-level parent' '
diff --git a/t/t9158-git-svn-mergeinfo.sh b/t/t9158-git-svn-mergeinfo.sh
index 8c9539e1b4..13f78f2682 100755
--- a/t/t9158-git-svn-mergeinfo.sh
+++ b/t/t9158-git-svn-mergeinfo.sh
@@ -34,7 +34,7 @@ test_expect_success 'change svn:mergeinfo' '
'
test_expect_success 'verify svn:mergeinfo' '
- mergeinfo=$(svn_cmd propget svn:mergeinfo "$svnrepo"/trunk)
+ mergeinfo=$(svn_cmd propget svn:mergeinfo "$svnrepo"/trunk) &&
test "$mergeinfo" = "/branches/foo:1-10"
'
@@ -46,7 +46,7 @@ test_expect_success 'change svn:mergeinfo multiline' '
'
test_expect_success 'verify svn:mergeinfo multiline' '
- mergeinfo=$(svn_cmd propget svn:mergeinfo "$svnrepo"/trunk)
+ mergeinfo=$(svn_cmd propget svn:mergeinfo "$svnrepo"/trunk) &&
test "$mergeinfo" = "/branches/bar:1-10
/branches/other:3-5,8,10-11"
'
diff --git a/t/t9161-git-svn-mergeinfo-push.sh b/t/t9161-git-svn-mergeinfo-push.sh
index 6cb0909afe..f113acaa6c 100755
--- a/t/t9161-git-svn-mergeinfo-push.sh
+++ b/t/t9161-git-svn-mergeinfo-push.sh
@@ -24,7 +24,7 @@ test_expect_success 'propagate merge information' '
'
test_expect_success 'check svn:mergeinfo' '
- mergeinfo=$(svn_cmd propget svn:mergeinfo "$svnrepo"/branches/svnb1)
+ mergeinfo=$(svn_cmd propget svn:mergeinfo "$svnrepo"/branches/svnb1) &&
test "$mergeinfo" = "/branches/svnb2:3,8"
'
@@ -34,7 +34,7 @@ test_expect_success 'merge another branch' '
'
test_expect_success 'check primary parent mergeinfo respected' '
- mergeinfo=$(svn_cmd propget svn:mergeinfo "$svnrepo"/branches/svnb1)
+ mergeinfo=$(svn_cmd propget svn:mergeinfo "$svnrepo"/branches/svnb1) &&
test "$mergeinfo" = "/branches/svnb2:3,8
/branches/svnb3:4,9"
'
@@ -45,7 +45,7 @@ test_expect_success 'merge existing merge' '
'
test_expect_success "check both parents' mergeinfo respected" '
- mergeinfo=$(svn_cmd propget svn:mergeinfo "$svnrepo"/branches/svnb1)
+ mergeinfo=$(svn_cmd propget svn:mergeinfo "$svnrepo"/branches/svnb1) &&
test "$mergeinfo" = "/branches/svnb2:3,8
/branches/svnb3:4,9
/branches/svnb4:5-6,10-12
@@ -70,7 +70,7 @@ test_expect_success 'second forward merge' '
'
test_expect_success 'check new mergeinfo added' '
- mergeinfo=$(svn_cmd propget svn:mergeinfo "$svnrepo"/branches/svnb1)
+ mergeinfo=$(svn_cmd propget svn:mergeinfo "$svnrepo"/branches/svnb1) &&
test "$mergeinfo" = "/branches/svnb2:3,8,16-17
/branches/svnb3:4,9
/branches/svnb4:5-6,10-12
@@ -84,7 +84,7 @@ test_expect_success 'reintegration merge' '
'
test_expect_success 'check reintegration mergeinfo' '
- mergeinfo=$(svn_cmd propget svn:mergeinfo "$svnrepo"/branches/svnb4)
+ mergeinfo=$(svn_cmd propget svn:mergeinfo "$svnrepo"/branches/svnb4) &&
test "$mergeinfo" = "/branches/svnb1:2-4,7-9,13-18
/branches/svnb2:3,8,16-17
/branches/svnb3:4,9
diff --git a/t/t9300-fast-import.sh b/t/t9300-fast-import.sh
index c538e0a4e9..aac126fd57 100755
--- a/t/t9300-fast-import.sh
+++ b/t/t9300-fast-import.sh
@@ -1132,7 +1132,7 @@ test_expect_success \
compare_diff_raw expect actual'
test_expect_success PIPE 'N: read and copy directory' '
- cat >expect <<-\EOF
+ cat >expect <<-\EOF &&
:100755 100755 f1fb5da718392694d0076d677d6d0e364c79b0bc f1fb5da718392694d0076d677d6d0e364c79b0bc C100 file2/newf file3/newf
:100644 100644 7123f7f44e39be127c5eb701e5968176ee9d78b1 7123f7f44e39be127c5eb701e5968176ee9d78b1 C100 file2/oldf file3/oldf
EOF
@@ -2228,7 +2228,7 @@ test_expect_success 'R: feature import-marks-if-exists' '
>expect &&
git fast-import --import-marks-if-exists=not_io.marks \
- --export-marks=io.marks <<-\EOF
+ --export-marks=io.marks <<-\EOF &&
feature import-marks-if-exists=io.marks
EOF
test_cmp expect io.marks
@@ -2853,8 +2853,8 @@ test_expect_success 'S: notemodify with garbage after mark commit-ish must fail'
# from
#
test_expect_success 'S: from with garbage after mark must fail' '
- # no &&
- git fast-import --import-marks=marks --export-marks=marks <<-EOF 2>err
+ test_must_fail \
+ git fast-import --import-marks=marks --export-marks=marks <<-EOF 2>err &&
commit refs/heads/S2
mark :303
committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE
@@ -2865,9 +2865,6 @@ test_expect_success 'S: from with garbage after mark must fail' '
M 100644 :403 hello.c
EOF
- ret=$? &&
- echo returned $ret &&
- test $ret -ne 0 && # failed, but it created the commit
# go create the commit, need it for merge test
git fast-import --import-marks=marks --export-marks=marks <<-EOF &&
diff --git a/t/t9500-gitweb-standalone-no-errors.sh b/t/t9500-gitweb-standalone-no-errors.sh
index e74b9ab1e1..e94b2f147a 100755
--- a/t/t9500-gitweb-standalone-no-errors.sh
+++ b/t/t9500-gitweb-standalone-no-errors.sh
@@ -297,7 +297,7 @@ test_expect_success 'setup incomplete lines' '
echo "Dominus regit me," >file &&
echo "incomplete line" | tr -d "\\012" >>file &&
git commit -a -m "Change incomplete line" &&
- git tag incomplete_lines_chg
+ git tag incomplete_lines_chg &&
echo "Dominus regit me," >file &&
git commit -a -m "Remove incomplete line" &&
git tag incomplete_lines_rem
@@ -779,7 +779,10 @@ test_expect_success \
test_expect_success \
'unborn HEAD: "summary" page (with "heads" subview)' \
- 'git checkout orphan_branch || git checkout --orphan orphan_branch &&
+ '{
+ git checkout orphan_branch ||
+ git checkout --orphan orphan_branch
+ } &&
test_when_finished "git checkout master" &&
gitweb_run "p=.git;a=summary"'
diff --git a/t/t9502-gitweb-standalone-parse-output.sh b/t/t9502-gitweb-standalone-parse-output.sh
index 86dfee2e4f..0796a438bc 100755
--- a/t/t9502-gitweb-standalone-parse-output.sh
+++ b/t/t9502-gitweb-standalone-parse-output.sh
@@ -145,9 +145,11 @@ test_expect_success 'forks: not skipped unless "forks" feature enabled' '
grep -q ">fork of .*<" gitweb.body
'
-cat >>gitweb_config.perl <<\EOF &&
-$feature{'forks'}{'default'} = [1];
-EOF
+test_expect_success 'enable forks feature' '
+ cat >>gitweb_config.perl <<-\EOF
+ $feature{"forks"}{"default"} = [1];
+ EOF
+'
test_expect_success 'forks: forks skipped if "forks" feature enabled' '
gitweb_run "a=project_list" &&
@@ -173,7 +175,7 @@ test_expect_success 'forks: can access forked repository' '
'
test_expect_success 'forks: project_index lists all projects (incl. forks)' '
- cat >expected <<-\EOF
+ cat >expected <<-\EOF &&
.git
foo.bar.git
foo.git
diff --git a/t/t9902-completion.sh b/t/t9902-completion.sh
index f10a75290e..4a14a5892e 100755
--- a/t/t9902-completion.sh
+++ b/t/t9902-completion.sh
@@ -351,6 +351,25 @@ test_expect_success '__gitcomp_nl - doesnt fail because of invalid variable name
__gitcomp_nl "$invalid_variable_name"
'
+test_expect_success '__git_remotes - list remotes from $GIT_DIR/remotes and from config file' '
+ cat >expect <<-EOF &&
+ remote_from_file_1
+ remote_from_file_2
+ remote_in_config_1
+ remote_in_config_2
+ EOF
+ test_when_finished "rm -rf .git/remotes" &&
+ mkdir -p .git/remotes &&
+ >.git/remotes/remote_from_file_1 &&
+ >.git/remotes/remote_from_file_2 &&
+ test_when_finished "git remote remove remote_in_config_1" &&
+ git remote add remote_in_config_1 git://remote_1 &&
+ test_when_finished "git remote remove remote_in_config_2" &&
+ git remote add remote_in_config_2 git://remote_2 &&
+ __git_remotes >actual &&
+ test_cmp expect actual
+'
+
test_expect_success 'basic' '
run_completion "git " &&
# built-in
@@ -549,7 +568,7 @@ test_expect_success 'complete files' '
test_completion "git commit " "modified" &&
: TODO .gitignore should not be here &&
- test_completion "git ls-files " <<-\EOF
+ test_completion "git ls-files " <<-\EOF &&
.gitignore
dir
modified
diff --git a/t/t9903-bash-prompt.sh b/t/t9903-bash-prompt.sh
index 51ecd3e4c1..49d58e6726 100755
--- a/t/t9903-bash-prompt.sh
+++ b/t/t9903-bash-prompt.sh
@@ -166,7 +166,7 @@ test_expect_success 'prompt - inside bare repository' '
'
test_expect_success 'prompt - interactive rebase' '
- printf " (b1|REBASE-i 2/3)" >expected
+ printf " (b1|REBASE-i 2/3)" >expected &&
write_script fake_editor.sh <<-\EOF &&
echo "exec echo" >"$1"
echo "edit $(git log -1 --format="%h")" >>"$1"
@@ -397,6 +397,17 @@ test_expect_success 'prompt - untracked files status indicator - untracked files
test_cmp expected "$actual"
'
+test_expect_success 'prompt - untracked files status indicator - untracked files outside cwd' '
+ printf " (master %%)" >expected &&
+ (
+ mkdir -p ignored_dir &&
+ cd ignored_dir &&
+ GIT_PS1_SHOWUNTRACKEDFILES=y &&
+ __git_ps1 >"$actual"
+ ) &&
+ test_cmp expected "$actual"
+'
+
test_expect_success 'prompt - untracked files status indicator - shell variable unset with config disabled' '
printf " (master)" >expected &&
test_config bash.showUntrackedFiles false &&
diff --git a/t/test-lib.sh b/t/test-lib.sh
index c09677802c..4ea99a209d 100644
--- a/t/test-lib.sh
+++ b/t/test-lib.sh
@@ -152,10 +152,7 @@ unset UNZIP
case $(echo $GIT_TRACE |tr "[A-Z]" "[a-z]") in
1|2|true)
- echo "* warning: Some tests will not work if GIT_TRACE" \
- "is set as to trace on STDERR ! *"
- echo "* warning: Please set GIT_TRACE to something" \
- "other than 1, 2 or true ! *"
+ GIT_TRACE=4
;;
esac
@@ -232,6 +229,12 @@ do
--root=*)
root=$(expr "z$1" : 'z[^=]*=\(.*\)')
shift ;;
+ --chain-lint)
+ GIT_TEST_CHAIN_LINT=1
+ shift ;;
+ --no-chain-lint)
+ GIT_TEST_CHAIN_LINT=0
+ shift ;;
-x)
trace=t
verbose=t
@@ -299,6 +302,7 @@ die () {
GIT_EXIT_OK=
trap 'die' EXIT
+trap 'exit $?' INT
# The user-facing functions are loaded from a separate file so that
# test_perf subshells can have them too
@@ -524,6 +528,16 @@ test_eval_ () {
test_run_ () {
test_cleanup=:
expecting_failure=$2
+
+ if test "${GIT_TEST_CHAIN_LINT:-0}" != 0; then
+ # 117 is magic because it is unlikely to match the exit
+ # code of other programs
+ test_eval_ "(exit 117) && $1"
+ if test "$?" != 117; then
+ error "bug in the test script: broken &&-chain: $1"
+ fi
+ fi
+
setup_malloc_check
test_eval_ "$1"
eval_ret=$?
@@ -1064,3 +1078,9 @@ test_lazy_prereq UNZIP '
"$GIT_UNZIP" -v
test $? -ne 127
'
+
+run_with_limited_cmdline () {
+ (ulimit -s 128 && "$@")
+}
+
+test_lazy_prereq CMDLINE_LIMIT 'run_with_limited_cmdline true'
diff --git a/thread-utils.c b/thread-utils.c
index 97396a75ae..a2135e0743 100644
--- a/thread-utils.c
+++ b/thread-utils.c
@@ -35,7 +35,23 @@ int online_cpus(void)
if (!pstat_getdynamic(&psd, sizeof(psd), (size_t)1, 0))
return (int)psd.psd_proc_cnt;
-#endif
+#elif defined(HAVE_BSD_SYSCTL) && defined(HW_NCPU)
+ int mib[2];
+ size_t len;
+ int cpucount;
+
+ mib[0] = CTL_HW;
+# ifdef HW_AVAILCPU
+ mib[1] = HW_AVAILCPU;
+ len = sizeof(cpucount);
+ if (!sysctl(mib, 2, &cpucount, &len, NULL, 0))
+ return cpucount;
+# endif /* HW_AVAILCPU */
+ mib[1] = HW_NCPU;
+ len = sizeof(cpucount);
+ if (!sysctl(mib, 2, &cpucount, &len, NULL, 0))
+ return cpucount;
+#endif /* defined(HAVE_BSD_SYSCTL) && defined(HW_NCPU) */
#ifdef _SC_NPROCESSORS_ONLN
if ((ncpus = (long)sysconf(_SC_NPROCESSORS_ONLN)) > 0)
diff --git a/trailer.c b/trailer.c
index 05b3859b47..4b14a567b4 100644
--- a/trailer.c
+++ b/trailer.c
@@ -214,16 +214,6 @@ static struct trailer_item *remove_first(struct trailer_item **first)
return item;
}
-static int read_from_command(struct child_process *cp, struct strbuf *buf)
-{
- if (run_command(cp))
- return error("running trailer command '%s' failed", cp->argv[0]);
- if (strbuf_read(buf, cp->out, 1024) < 1)
- return error("reading from trailer command '%s' failed", cp->argv[0]);
- strbuf_trim(buf);
- return 0;
-}
-
static const char *apply_command(const char *command, const char *arg)
{
struct strbuf cmd = STRBUF_INIT;
@@ -240,14 +230,16 @@ static const char *apply_command(const char *command, const char *arg)
cp.argv = argv;
cp.env = local_repo_env;
cp.no_stdin = 1;
- cp.out = -1;
cp.use_shell = 1;
- if (read_from_command(&cp, &buf)) {
+ if (capture_command(&cp, &buf, 1024)) {
+ error("running trailer command '%s' failed", cmd.buf);
strbuf_release(&buf);
result = xstrdup("");
- } else
+ } else {
+ strbuf_trim(&buf);
result = strbuf_detach(&buf, NULL);
+ }
strbuf_release(&cmd);
return result;
diff --git a/transport.c b/transport.c
index 0694a7cf3e..eca9b8c817 100644
--- a/transport.c
+++ b/transport.c
@@ -117,7 +117,7 @@ static void insert_packed_refs(const char *packed_refs, struct ref **list)
return;
}
- if (hexval(buffer[0]) > 0xf)
+ if (!isxdigit(buffer[0]))
continue;
len = strlen(buffer);
if (len && buffer[len - 1] == '\n')
@@ -519,7 +519,7 @@ static int fetch_refs_via_pack(struct transport *transport,
int nr_heads, struct ref **to_fetch)
{
struct git_transport_data *data = transport->data;
- const struct ref *refs;
+ struct ref *refs;
char *dest = xstrdup(transport->url);
struct fetch_pack_args args;
struct ref *refs_tmp = NULL;
@@ -552,15 +552,17 @@ static int fetch_refs_via_pack(struct transport *transport,
&transport->pack_lockfile);
close(data->fd[0]);
close(data->fd[1]);
- if (finish_connect(data->conn))
+ if (finish_connect(data->conn)) {
+ free_refs(refs);
refs = NULL;
+ }
data->conn = NULL;
data->got_remote_heads = 0;
data->options.self_contained_and_connected =
args.self_contained_and_connected;
free_refs(refs_tmp);
-
+ free_refs(refs);
free(dest);
return (refs ? 0 : -1);
}
diff --git a/upload-pack.c b/upload-pack.c
index b531a325d2..aa84576500 100644
--- a/upload-pack.c
+++ b/upload-pack.c
@@ -681,7 +681,7 @@ static void receive_needs(void)
}
/* return non-zero if the ref is hidden, otherwise 0 */
-static int mark_our_ref(const char *refname, const unsigned char *sha1, int flag, void *cb_data)
+static int mark_our_ref(const char *refname, const unsigned char *sha1)
{
struct object *o = lookup_unknown_object(sha1);
@@ -689,12 +689,16 @@ static int mark_our_ref(const char *refname, const unsigned char *sha1, int flag
o->flags |= HIDDEN_REF;
return 1;
}
- if (!o)
- die("git upload-pack: cannot find object %s:", sha1_to_hex(sha1));
o->flags |= OUR_REF;
return 0;
}
+static int check_ref(const char *refname, const unsigned char *sha1, int flag, void *cb_data)
+{
+ mark_our_ref(refname, sha1);
+ return 0;
+}
+
static void format_symref_info(struct strbuf *buf, struct string_list *symref)
{
struct string_list_item *item;
@@ -713,7 +717,7 @@ static int send_ref(const char *refname, const unsigned char *sha1, int flag, vo
const char *refname_nons = strip_namespace(refname);
unsigned char peeled[20];
- if (mark_our_ref(refname, sha1, flag, NULL))
+ if (mark_our_ref(refname, sha1))
return 0;
if (capabilities) {
@@ -767,8 +771,8 @@ static void upload_pack(void)
advertise_shallow_grafts(1);
packet_flush(1);
} else {
- head_ref_namespaced(mark_our_ref, NULL);
- for_each_namespaced_ref(mark_our_ref, NULL);
+ head_ref_namespaced(check_ref, NULL);
+ for_each_namespaced_ref(check_ref, NULL);
}
string_list_clear(&symref, 1);
if (advertise_refs)
diff --git a/versioncmp.c b/versioncmp.c
index 7511e08271..80bfd109fa 100644
--- a/versioncmp.c
+++ b/versioncmp.c
@@ -1,4 +1,5 @@
#include "cache.h"
+#include "string-list.h"
/*
* versioncmp(): copied from string/strverscmp.c in glibc commit
@@ -20,6 +21,48 @@
#define CMP 2
#define LEN 3
+static const struct string_list *prereleases;
+static int initialized;
+
+/*
+ * p1 and p2 point to the first different character in two strings. If
+ * either p1 or p2 starts with a prerelease suffix, it will be forced
+ * to be on top.
+ *
+ * If both p1 and p2 start with (different) suffix, the order is
+ * determined by config file.
+ *
+ * Note that we don't have to deal with the situation when both p1 and
+ * p2 start with the same suffix because the common part is already
+ * consumed by the caller.
+ *
+ * Return non-zero if *diff contains the return value for versioncmp()
+ */
+static int swap_prereleases(const void *p1_,
+ const void *p2_,
+ int *diff)
+{
+ const char *p1 = p1_;
+ const char *p2 = p2_;
+ int i, i1 = -1, i2 = -1;
+
+ for (i = 0; i < prereleases->nr; i++) {
+ const char *suffix = prereleases->items[i].string;
+ if (i1 == -1 && starts_with(p1, suffix))
+ i1 = i;
+ if (i2 == -1 && starts_with(p2, suffix))
+ i2 = i;
+ }
+ if (i1 == -1 && i2 == -1)
+ return 0;
+ if (i1 >= 0 && i2 >= 0)
+ *diff = i1 - i2;
+ else if (i1 >= 0)
+ *diff = -1;
+ else /* if (i2 >= 0) */
+ *diff = 1;
+ return 1;
+}
/*
* Compare S1 and S2 as strings holding indices/version numbers,
@@ -74,6 +117,13 @@ int versioncmp(const char *s1, const char *s2)
state += (c1 == '0') + (isdigit (c1) != 0);
}
+ if (!initialized) {
+ initialized = 1;
+ prereleases = git_config_get_value_multi("versionsort.prereleasesuffix");
+ }
+ if (prereleases && swap_prereleases(p1 - 1, p2 - 1, &diff))
+ return diff;
+
state = result_type[state * 3 + (((c2 == '0') + (isdigit (c2) != 0)))];
switch (state) {
diff --git a/wt-status.c b/wt-status.c
index 29666d0dba..853419f05f 100644
--- a/wt-status.c
+++ b/wt-status.c
@@ -729,7 +729,6 @@ static void wt_status_print_submodule_summary(struct wt_status *s, int uncommitt
struct strbuf cmd_stdout = STRBUF_INIT;
struct strbuf summary = STRBUF_INIT;
char *summary_content;
- size_t len;
argv_array_pushf(&sm_summary.env_array, "GIT_INDEX_FILE=%s",
s->index_file);
@@ -745,15 +744,11 @@ static void wt_status_print_submodule_summary(struct wt_status *s, int uncommitt
sm_summary.git_cmd = 1;
sm_summary.no_stdin = 1;
- fflush(s->fp);
- sm_summary.out = -1;
- run_command(&sm_summary);
-
- len = strbuf_read(&cmd_stdout, sm_summary.out, 1024);
+ capture_command(&sm_summary, &cmd_stdout, 1024);
/* prepend header, only if there's an actual output */
- if (len) {
+ if (cmd_stdout.len) {
if (uncommitted)
strbuf_addstr(&summary, _("Submodules changed but not updated:"));
else
@@ -764,6 +759,7 @@ static void wt_status_print_submodule_summary(struct wt_status *s, int uncommitt
strbuf_release(&cmd_stdout);
if (s->display_comment_prefix) {
+ size_t len;
summary_content = strbuf_detach(&summary, &len);
strbuf_add_commented_lines(&summary, summary_content, len);
free(summary_content);
@@ -849,6 +845,8 @@ static void wt_status_print_verbose(struct wt_status *s)
{
struct rev_info rev;
struct setup_revision_opt opt;
+ int dirty_submodules;
+ const char *c = color(WT_STATUS_HEADER, s);
init_revisions(&rev, NULL);
DIFF_OPT_SET(&rev.diffopt, ALLOW_TEXTCONV);
@@ -873,7 +871,25 @@ static void wt_status_print_verbose(struct wt_status *s)
rev.diffopt.use_color = 0;
wt_status_add_cut_line(s->fp);
}
+ if (s->verbose > 1 && s->commitable) {
+ /* print_updated() printed a header, so do we */
+ if (s->fp != stdout)
+ wt_status_print_trailer(s);
+ status_printf_ln(s, c, _("Changes to be committed:"));
+ rev.diffopt.a_prefix = "c/";
+ rev.diffopt.b_prefix = "i/";
+ } /* else use prefix as per user config */
run_diff_index(&rev, 1);
+ if (s->verbose > 1 &&
+ wt_status_check_worktree_changes(s, &dirty_submodules)) {
+ status_printf_ln(s, c,
+ "--------------------------------------------------");
+ status_printf_ln(s, c, _("Changes not staged for commit:"));
+ setup_work_tree();
+ rev.diffopt.a_prefix = "i/";
+ rev.diffopt.b_prefix = "w/";
+ run_diff_files(&rev, 0);
+ }
}
static void wt_status_print_tracking(struct wt_status *s)
@@ -1222,6 +1238,8 @@ static void wt_status_get_detached_from(struct wt_status_state *state)
state->detached_from =
xstrdup(find_unique_abbrev(cb.nsha1, DEFAULT_ABBREV));
hashcpy(state->detached_sha1, cb.nsha1);
+ state->detached_at = !get_sha1("HEAD", sha1) &&
+ !hashcmp(sha1, state->detached_sha1);
free(ref);
strbuf_release(&cb.buf);
@@ -1310,10 +1328,8 @@ void wt_status_print(struct wt_status *s)
on_what = _("rebase in progress; onto ");
branch_name = state.onto;
} else if (state.detached_from) {
- unsigned char sha1[20];
branch_name = state.detached_from;
- if (!get_sha1("HEAD", sha1) &&
- !hashcmp(sha1, state.detached_sha1))
+ if (state.detached_at)
on_what = _("HEAD detached at ");
else
on_what = _("HEAD detached from ");
diff --git a/wt-status.h b/wt-status.h
index 283a9fef03..e0a99f75c7 100644
--- a/wt-status.h
+++ b/wt-status.h
@@ -84,6 +84,7 @@ struct wt_status_state {
int cherry_pick_in_progress;
int bisect_in_progress;
int revert_in_progress;
+ int detached_at;
char *branch;
char *onto;
char *detached_from;
diff --git a/zlib.c b/zlib.c
index 61e6df0fdc..4223f1a8c5 100644
--- a/zlib.c
+++ b/zlib.c
@@ -159,6 +159,7 @@ void git_deflate_init(git_zstream *strm, int level)
{
int status;
+ memset(strm, 0, sizeof(*strm));
zlib_pre_call(strm);
status = deflateInit(&strm->z, level);
zlib_post_call(strm);
@@ -172,6 +173,7 @@ static void do_git_deflate_init(git_zstream *strm, int level, int windowBits)
{
int status;
+ memset(strm, 0, sizeof(*strm));
zlib_pre_call(strm);
status = deflateInit2(&strm->z, level,
Z_DEFLATED, windowBits,