diff --git a/.gitignore b/.gitignore
index 6722f78..833ef3b 100644
--- a/.gitignore
+++ b/.gitignore
@@ -114,11 +114,11 @@
 /git-read-tree
 /git-rebase
 /git-rebase--am
+/git-rebase--helper
 /git-rebase--interactive
 /git-rebase--merge
 /git-receive-pack
 /git-reflog
-/git-relink
 /git-remote
 /git-remote-http
 /git-remote-https
diff --git a/.mailmap b/.mailmap
index 9cc33e9..ab85e0d 100644
--- a/.mailmap
+++ b/.mailmap
@@ -151,7 +151,8 @@
 Matthias Urlichs <matthias@urlichs.de> <smurf@kiste.(none)>
 Matthias Urlichs <matthias@urlichs.de> <smurf@smurf.noris.de>
 Michael Coleman <tutufan@gmail.com>
-Michael J Gruber <git@drmicha.warpmail.net> <michaeljgruber+gmane@fastmail.fm>
+Michael J Gruber <git@grubix.eu> <michaeljgruber+gmane@fastmail.fm>
+Michael J Gruber <git@grubix.eu> <git@drmicha.warpmail.net>
 Michael S. Tsirkin <mst@kernel.org> <mst@redhat.com>
 Michael S. Tsirkin <mst@kernel.org> <mst@mellanox.co.il>
 Michael S. Tsirkin <mst@kernel.org> <mst@dev.mellanox.co.il>
@@ -177,6 +178,7 @@
 Pascal Obry <pascal@obry.net> <pascal.obry@gmail.com>
 Pascal Obry <pascal@obry.net> <pascal.obry@wanadoo.fr>
 Pat Notz <patnotz@gmail.com> <pknotz@sandia.gov>
+Patrick Steinhardt <ps@pks.im> <patrick.steinhardt@elego.de>
 Paul Mackerras <paulus@samba.org> <paulus@dorrigo.(none)>
 Paul Mackerras <paulus@samba.org> <paulus@pogo.(none)>
 Peter Baumann <waste.manager@gmx.de> <Peter.B.Baumann@stud.informatik.uni-erlangen.de>
@@ -192,6 +194,8 @@
 Ralf Thielow <ralf.thielow@gmail.com> <ralf.thielow@googlemail.com>
 Ramsay Jones <ramsay@ramsayjones.plus.com> <ramsay@ramsay1.demon.co.uk>
 René Scharfe <l.s.r@web.de> <rene.scharfe@lsrfire.ath.cx>
+Richard Hansen <rhansen@rhansen.org> <hansenr@google.com>
+Richard Hansen <rhansen@rhansen.org> <rhansen@bbn.com>
 Robert Fitzsimons <robfitz@273k.net>
 Robert Shearman <robertshearman@gmail.com> <rob@codeweavers.com>
 Robert Zeh <robert.a.zeh@gmail.com>
@@ -223,6 +227,7 @@
 Steven Walter <stevenrwalter@gmail.com> <swalter@lpdev.prtdev.lexmark.com>
 Sven Verdoolaege <skimo@kotnet.org> <Sven.Verdoolaege@cs.kuleuven.ac.be>
 Sven Verdoolaege <skimo@kotnet.org> <skimo@liacs.nl>
+SZEDER Gábor <szeder.dev@gmail.com> <szeder@ira.uka.de>
 Tay Ray Chuan <rctay89@gmail.com>
 Ted Percival <ted@midg3t.net> <ted.percival@quest.com>
 Theodore Ts'o <tytso@mit.edu>
diff --git a/.travis.yml b/.travis.yml
index 9c63c8c..c757a11 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -39,6 +39,38 @@
 
 matrix:
   include:
+    - env: Windows
+      os: linux
+      compiler:
+      addons:
+      before_install:
+      before_script:
+      script:
+        - >
+          test "$TRAVIS_REPO_SLUG" != "git/git" ||
+          ci/run-windows-build.sh $TRAVIS_BRANCH $(git rev-parse HEAD)
+      after_failure:
+    - env: Linux32
+      os: linux
+      services:
+        - docker
+      before_install:
+        - docker pull daald/ubuntu32:xenial
+      before_script:
+      script:
+        - >
+          docker run
+          --interactive
+          --env DEFAULT_TEST_TARGET
+          --env GIT_PROVE_OPTS
+          --env GIT_TEST_OPTS
+          --env GIT_TEST_CLONE_2GB
+          --volume "${PWD}:/usr/src/git"
+          daald/ubuntu32:xenial
+          /usr/src/git/ci/run-linux32-build.sh $(id -u $USER)
+        # Use the following command to debug the docker build locally:
+        # $ docker run -itv "${PWD}:/usr/src/git" --entrypoint /bin/bash daald/ubuntu32:xenial
+        # root@container:/# /usr/src/git/ci/run-linux32-build.sh
     - env: Documentation
       os: linux
       compiler: clang
diff --git a/Documentation/Makefile b/Documentation/Makefile
index b43d66e..b5be2e2 100644
--- a/Documentation/Makefile
+++ b/Documentation/Makefile
@@ -120,6 +120,7 @@
 DOCBOOK2X_TEXI = docbook2x-texi
 DBLATEX = dblatex
 ASCIIDOC_DBLATEX_DIR = /etc/asciidoc/dblatex
+DBLATEX_COMMON = -p $(ASCIIDOC_DBLATEX_DIR)/asciidoc-dblatex.xsl -s $(ASCIIDOC_DBLATEX_DIR)/asciidoc-dblatex.sty
 ifndef PERL_PATH
 	PERL_PATH = /usr/bin/perl
 endif
@@ -173,6 +174,16 @@
 XMLTO_EXTRA += -m manpage-quote-apos.xsl
 endif
 
+ifdef USE_ASCIIDOCTOR
+ASCIIDOC = asciidoctor
+ASCIIDOC_CONF =
+ASCIIDOC_HTML = xhtml5
+ASCIIDOC_DOCBOOK = docbook45
+ASCIIDOC_EXTRA += -I. -rasciidoctor-extensions
+ASCIIDOC_EXTRA += -alitdd='&\#x2d;&\#x2d;'
+DBLATEX_COMMON =
+endif
+
 SHELL_PATH ?= $(SHELL)
 # Shell quote;
 SHELL_PATH_SQ = $(subst ','\'',$(SHELL_PATH))
@@ -337,7 +348,7 @@
 
 user-manual.xml: user-manual.txt user-manual.conf
 	$(QUIET_ASCIIDOC)$(RM) $@+ $@ && \
-	$(TXT_TO_XML) -d article -o $@+ $< && \
+	$(TXT_TO_XML) -d book -o $@+ $< && \
 	mv $@+ $@
 
 technical/api-index.txt: technical/api-index-skel.txt \
@@ -368,13 +379,14 @@
 
 user-manual.pdf: user-manual.xml
 	$(QUIET_DBLATEX)$(RM) $@+ $@ && \
-	$(DBLATEX) -o $@+ -p $(ASCIIDOC_DBLATEX_DIR)/asciidoc-dblatex.xsl -s $(ASCIIDOC_DBLATEX_DIR)/asciidoc-dblatex.sty $< && \
+	$(DBLATEX) -o $@+ $(DBLATEX_COMMON) $< && \
 	mv $@+ $@
 
-gitman.texi: $(MAN_XML) cat-texi.perl
+gitman.texi: $(MAN_XML) cat-texi.perl texi.xsl
 	$(QUIET_DB2TEXI)$(RM) $@+ $@ && \
-	($(foreach xml,$(MAN_XML),$(DOCBOOK2X_TEXI) --encoding=UTF-8 \
-		--to-stdout $(xml) &&) true) > $@++ && \
+	($(foreach xml,$(sort $(MAN_XML)),xsltproc -o $(xml)+ texi.xsl $(xml) && \
+		$(DOCBOOK2X_TEXI) --encoding=UTF-8 --to-stdout $(xml)+ && \
+		rm $(xml)+ &&) true) > $@++ && \
 	$(PERL_PATH) cat-texi.perl $@ <$@++ >$@+ && \
 	rm $@++ && \
 	mv $@+ $@
diff --git a/Documentation/RelNotes/2.12.0.txt b/Documentation/RelNotes/2.12.0.txt
new file mode 100644
index 0000000..2915480
--- /dev/null
+++ b/Documentation/RelNotes/2.12.0.txt
@@ -0,0 +1,500 @@
+Git 2.12 Release Notes
+======================
+
+Backward compatibility notes.
+
+ * Use of an empty string that is used for 'everything matches' is
+   still warned and Git asks users to use a more explicit '.' for that
+   instead.  The hope is that existing users will not mind this
+   change, and eventually the warning can be turned into a hard error,
+   upgrading the deprecation into removal of this (mis)feature.  That
+   is not scheduled to happen in the upcoming release (yet).
+
+ * The historical argument order "git merge <msg> HEAD <commit>..."
+   has been deprecated for quite some time, and will be removed in a
+   future release.
+
+ * An ancient script "git relink" has been removed.
+
+
+Updates since v2.11
+-------------------
+
+UI, Workflows & Features
+
+ * Various updates to "git p4".
+
+ * "git p4" didn't interact with the internal of .git directory
+   correctly in the modern "git-worktree"-enabled world.
+
+ * "git branch --list" and friends learned "--ignore-case" option to
+   optionally sort branches and tags case insensitively.
+
+ * In addition to %(subject), %(body), "log --pretty=format:..."
+   learned a new placeholder %(trailers).
+
+ * "git rebase" learned "--quit" option, which allows a user to
+   remove the metadata left by an earlier "git rebase" that was
+   manually aborted without using "git rebase --abort".
+
+ * "git clone --reference $there --recurse-submodules $super" has been
+   taught to guess repositories usable as references for submodules of
+   $super that are embedded in $there while making a clone of the
+   superproject borrow objects from $there; extend the mechanism to
+   also allow submodules of these submodules to borrow repositories
+   embedded in these clones of the submodules embedded in the clone of
+   the superproject.
+
+ * Porcelain scripts written in Perl are getting internationalized.
+
+ * "git merge --continue" has been added as a synonym to "git commit"
+   to conclude a merge that has stopped due to conflicts.
+
+ * Finer-grained control of what protocols are allowed for transports
+   during clone/fetch/push have been enabled via a new configuration
+   mechanism.
+
+ * "git shortlog" learned "--committer" option to group commits by
+   committer, instead of author.
+
+ * GitLFS integration with "git p4" has been updated.
+
+ * The isatty() emulation for Windows has been updated to eradicate
+   the previous hack that depended on internals of (older) MSVC
+   runtime.
+
+ * Some platforms no longer understand "latin-1" that is still seen in
+   the wild in e-mail headers; replace them with "iso-8859-1" that is
+   more widely known when conversion fails from/to it.
+
+ * "git grep" has been taught to optionally recurse into submodules.
+
+ * "git rm" used to refuse to remove a submodule when it has its own
+   git repository embedded in its working tree.  It learned to move
+   the repository away to $GIT_DIR/modules/ of the superproject
+   instead, and allow the submodule to be deleted (as long as there
+   will be no loss of local modifications, that is).
+
+ * A recent updates to "git p4" was not usable for older p4 but it
+   could be made to work with minimum changes.  Do so.
+
+ * "git diff" learned diff.interHunkContext configuration variable
+   that gives the default value for its --inter-hunk-context option.
+
+ * The prereleaseSuffix feature of version comparison that is used in
+   "git tag -l" did not correctly when two or more prereleases for the
+   same release were present (e.g. when 2.0, 2.0-beta1, and 2.0-beta2
+   are there and the code needs to compare 2.0-beta1 and 2.0-beta2).
+
+ * "git submodule push" learned "--recurse-submodules=only option to
+   push submodules out without pushing the top-level superproject.
+
+ * "git tag" and "git verify-tag" learned to put GPG verification
+   status in their "--format=<placeholders>" output format.
+
+ * An ancient repository conversion tool left in contrib/ has been
+   removed.
+
+ * "git show-ref HEAD" used with "--verify" because the user is not
+   interested in seeing refs/remotes/origin/HEAD, and used with
+   "--head" because the user does not want HEAD to be filtered out,
+   i.e. "git show-ref --head --verify HEAD", did not work as expected.
+
+ * "git submodule add" used to be confused and refused to add a
+   locally created repository; users can now use "--force" option
+   to add them.
+   (merge 619acfc78c sb/submodule-add-force later to maint).
+
+ * Some people feel the default set of colors used by "git log --graph"
+   rather limiting.  A mechanism to customize the set of colors has
+   been introduced.
+
+ * "git read-tree" and its underlying unpack_trees() machinery learned
+   to report problematic paths prefixed with the --super-prefix option.
+
+ * When a submodule "A", which has another submodule "B" nested within
+   it, is "absorbed" into the top-level superproject, the inner
+   submodule "B" used to be left in a strange state.  The logic to
+   adjust the .git pointers in these submodules has been corrected.
+
+ * The user can specify a custom update method that is run when
+   "submodule update" updates an already checked out submodule.  This
+   was ignored when checking the submodule out for the first time and
+   we instead always just checked out the commit that is bound to the
+   path in the superproject's index.
+
+ * The command line completion (in contrib/) learned that
+   "git diff --submodule=" can take "diff" as a recently added option.
+
+ * The "core.logAllRefUpdates" that used to be boolean has been
+   enhanced to take 'always' as well, to record ref updates to refs
+   other than the ones that are expected to be updated (i.e. branches,
+   remote-tracking branches and notes).
+
+ * Comes with more command line completion (in contrib/) for recently
+   introduced options.
+
+
+Performance, Internal Implementation, Development Support etc.
+
+ * Commands that operate on a log message and add lines to the trailer
+   blocks, such as "format-patch -s", "cherry-pick (-x|-s)", and
+   "commit -s", have been taught to use the logic of and share the
+   code with "git interpret-trailer".
+
+ * The default Travis-CI configuration specifies newer P4 and GitLFS.
+
+ * The "fast hash" that had disastrous performance issues in some
+   corner cases has been retired from the internal diff.
+
+ * The character width table has been updated to match Unicode 9.0
+
+ * Update the procedure to generate "tags" for developer support.
+
+ * The codeflow of setting NOATIME and CLOEXEC on file descriptors Git
+   opens has been simplified.
+
+ * "git diff" and its family had two experimental heuristics to shift
+   the contents of a hunk to make the patch easier to read.  One of
+   them turns out to be better than the other, so leave only the
+   "--indent-heuristic" option and remove the other one.
+
+ * A new submodule helper "git submodule embedgitdirs" to make it
+   easier to move embedded .git/ directory for submodules in a
+   superproject to .git/modules/ (and point the latter with the former
+   that is turned into a "gitdir:" file) has been added.
+
+ * "git push \\server\share\dir" has recently regressed and then
+   fixed.  A test has retroactively been added for this breakage.
+
+ * Build updates for Cygwin.
+
+ * The implementation of "real_path()" was to go there with chdir(2)
+   and call getcwd(3), but this obviously wouldn't be usable in a
+   threaded environment.  Rewrite it to manually resolve relative
+   paths including symbolic links in path components.
+
+ * Adjust documentation to help AsciiDoctor render better while not
+   breaking the rendering done by AsciiDoc.
+
+ * The sequencer machinery has been further enhanced so that a later
+   set of patches can start using it to reimplement "rebase -i".
+
+ * Update the definition of the MacOSX test environment used by
+   TravisCI.
+
+ * Rewrite a scripted porcelain "git difftool" in C.
+
+ * "make -C t failed" will now run only the tests that failed in the
+   previous run.  This is usable only when prove is not use, and gives
+   a useless error message when run after "make clean", but otherwise
+   is serviceable.
+
+ * "uchar [40]" to "struct object_id" conversion continues.
+
+
+Also contains various documentation updates and code clean-ups.
+
+Fixes since v2.10
+-----------------
+
+Unless otherwise noted, all the fixes since v2.9 in the maintenance
+track are contained in this release (see the maintenance releases'
+notes for details).
+
+ * We often decide if a session is interactive by checking if the
+   standard I/O streams are connected to a TTY, but isatty() that
+   comes with Windows incorrectly returned true if it is used on NUL
+   (i.e. an equivalent to /dev/null).  This has been fixed.
+
+ * "git svn" did not work well with path components that are "0", and
+   some configuration variable it uses were not documented.
+
+ * "git rev-parse --symbolic" failed with a more recent notation like
+   "HEAD^-1" and "HEAD^!".
+
+ * An empty directory in a working tree that can simply be nuked used
+   to interfere while merging or cherry-picking a change to create a
+   submodule directory there, which has been fixed..
+
+ * The code in "git push" to compute if any commit being pushed in the
+   superproject binds a commit in a submodule that hasn't been pushed
+   out was overly inefficient, making it unusable even for a small
+   project that does not have any submodule but have a reasonable
+   number of refs.
+
+ * "git push --dry-run --recurse-submodule=on-demand" wasn't
+   "--dry-run" in the submodules.
+
+ * The output from "git worktree list" was made in readdir() order,
+   and was unstable.
+
+ * mergetool.<tool>.trustExitCode configuration variable did not apply
+   to built-in tools, but now it does.
+
+ * "git p4" LFS support was broken when LFS stores an empty blob.
+
+ * A corner case in merge-recursive regression that crept in
+   during 2.10 development cycle has been fixed.
+
+ * Transport with dumb http can be fooled into following foreign URLs
+   that the end user does not intend to, especially with the server
+   side redirects and http-alternates mechanism, which can lead to
+   security issues.  Tighten the redirection and make it more obvious
+   to the end user when it happens.
+
+ * Update the error messages from the dumb-http client when it fails
+   to obtain loose objects; we used to give sensible error message
+   only upon 404 but we now forbid unexpected redirects that needs to
+   be reported with something sensible.
+
+ * When diff.renames configuration is on (and with Git 2.9 and later,
+   it is enabled by default, which made it worse), "git stash"
+   misbehaved if a file is removed and another file with a very
+   similar content is added.
+
+ * "git diff --no-index" did not take "--no-abbrev" option.
+
+ * "git difftool --dir-diff" had a minor regression when started from
+   a subdirectory, which has been fixed.
+
+ * "git commit --allow-empty --only" (no pathspec) with dirty index
+   ought to be an acceptable way to create a new commit that does not
+   change any paths, but it was forbidden, perhaps because nobody
+   needed it so far.
+
+ * Git 2.11 had a minor regression in "merge --ff-only" that competed
+   with another process that simultanously attempted to update the
+   index. We used to explain what went wrong with an error message,
+   but the new code silently failed.  The error message has been
+   resurrected.
+
+ * A pathname that begins with "//" or "\\" on Windows is special but
+   path normalization logic was unaware of it.
+
+ * "git pull --rebase", when there is no new commits on our side since
+   we forked from the upstream, should be able to fast-forward without
+   invoking "git rebase", but it didn't.
+
+ * The way to specify hotkeys to "xxdiff" that is used by "git
+   mergetool" has been modernized to match recent versions of xxdiff.
+
+ * Unlike "git am --abort", "git cherry-pick --abort" moved HEAD back
+   to where cherry-pick started while picking multiple changes, when
+   the cherry-pick stopped to ask for help from the user, and the user
+   did "git reset --hard" to a different commit in order to re-attempt
+   the operation.
+
+ * Code cleanup in shallow boundary computation.
+
+ * A recent update to receive-pack to make it easier to drop garbage
+   objects made it clear that GIT_ALTERNATE_OBJECT_DIRECTORIES cannot
+   have a pathname with a colon in it (no surprise!), and this in turn
+   made it impossible to push into a repository at such a path.  This
+   has been fixed by introducing a quoting mechanism used when
+   appending such a path to the colon-separated list.
+
+ * The function usage_msg_opt() has been updated to say "fatal:"
+   before the custom message programs give, when they want to die
+   with a message about wrong command line options followed by the
+   standard usage string.
+
+ * "git index-pack --stdin" needs an access to an existing repository,
+   but "git index-pack file.pack" to generate an .idx file that
+   corresponds to a packfile does not.
+
+ * Fix for NDEBUG builds.
+
+ * A lazy "git push" without refspec did not internally use a fully
+   specified refspec to perform 'current', 'simple', or 'upstream'
+   push, causing unnecessary "ambiguous ref" errors.
+
+ * "git p4" misbehaved when swapping a directory and a symbolic link.
+
+ * Even though an fix was attempted in Git 2.9.3 days, but running
+   "git difftool --dir-diff" from a subdirectory never worked. This
+   has been fixed.
+
+ * "git p4" that tracks multile p4 paths imported a single changelist
+   that touches files in these multiple paths as one commit, followed
+   by many empty commits.  This has been fixed.
+
+ * A potential but unlikely buffer overflow in Windows port has been
+   fixed.
+
+ * When the http server gives an incomplete response to a smart-http
+   rpc call, it could lead to client waiting for a full response that
+   will never come.  Teach the client side to notice this condition
+   and abort the transfer.
+
+ * Compression setting for producing packfiles were spread across
+   three codepaths, one of which did not honor any configuration.
+   Unify these so that all of them honor core.compression and
+   pack.compression variables the same way.
+
+ * "git fast-import" sometimes mishandled while rebalancing notes
+   tree, which has been fixed.
+
+ * Recent update to the default abbreviation length that auto-scales
+   lacked documentation update, which has been corrected.
+
+ * Leakage of lockfiles in the config subsystem has been fixed.
+
+ * It is natural that "git gc --auto" may not attempt to pack
+   everything into a single pack, and there is no point in warning
+   when the user has configured the system to use the pack bitmap,
+   leading to disabling further "gc".
+
+ * "git archive" did not read the standard configuration files, and
+   failed to notice a file that is marked as binary via the userdiff
+   driver configuration.
+
+ * "git blame --porcelain" misidentified the "previous" <commit, path>
+   pair (aka "source") when contents came from two or more files.
+
+ * "git rebase -i" with a recent update started showing an incorrect
+   count when squashing more than 10 commits.
+
+ * "git <cmd> @{push}" on a detached HEAD used to segfault; it has
+   been corrected to error out with a message.
+
+ * Running "git add a/b" when "a" is a submodule correctly errored
+   out, but without a meaningful error message.
+   (merge 2d81c48fa7 sb/pathspec-errors later to maint).
+
+ * Typing ^C to pager, which usually does not kill it, killed Git and
+   took the pager down as a collateral damage in certain process-tree
+   structure.  This has been fixed.
+
+ * "git mergetool" without any pathspec on the command line that is
+   run from a subdirectory became no-op in Git v2.11 by mistake, which
+   has been fixed.
+
+ * Retire long unused/unmaintained gitview from the contrib/ area.
+   (merge 3120925c25 sb/remove-gitview later to maint).
+
+ * Tighten a test to avoid mistaking an extended ERE regexp engine as
+   a PRE regexp engine.
+
+ * An error message with an ASCII control character like '\r' in it
+   can alter the message to hide its early part, which is problematic
+   when a remote side gives such an error message that the local side
+   will relay with a "remote: " prefix.
+   (merge f290089879 jk/vreport-sanitize later to maint).
+
+ * "git fsck" inspects loose objects more carefully now.
+   (merge cce044df7f jk/loose-object-fsck later to maint).
+
+ * A crashing bug introduced in v2.11 timeframe has been found (it is
+   triggerable only in fast-import) and fixed.
+   (merge abd5a00268 jk/clear-delta-base-cache-fix later to maint).
+
+ * With an anticipatory tweak for remotes defined in ~/.gitconfig
+   (e.g. "remote.origin.prune" set to true, even though there may or
+   may not actually be "origin" remote defined in a particular Git
+   repository), "git remote rename" and other commands misinterpreted
+   and behaved as if such a non-existing remote actually existed.
+   (merge e459b073fb js/remote-rename-with-half-configured-remote later to maint).
+
+ * A few codepaths had to rely on a global variable when sorting
+   elements of an array because sort(3) API does not allow extra data
+   to be passed to the comparison function.  Use qsort_s() when
+   natively available, and a fallback implementation of it when not,
+   to eliminate the need, which is a prerequisite for making the
+   codepath reentrant.
+
+ * "git fsck --connectivity-check" was not working at all.
+   (merge a2b22854bd jk/fsck-connectivity-check-fix later to maint).
+
+ * After starting "git rebase -i", which first opens the user's editor
+   to edit the series of patches to apply, but before saving the
+   contents of that file, "git status" failed to show the current
+   state (i.e. you are in an interactive rebase session, but you have
+   applied no steps yet) correctly.
+   (merge df9ded4984 js/status-pre-rebase-i later to maint).
+
+ * Test tweak for FreeBSD where /usr/bin/unzip is unsuitable to run
+   our tests but /usr/local/bin/unzip is usable.
+   (merge d98b2c5fce js/unzip-in-usr-bin-workaround later to maint).
+
+ * "git p4" did not work well with multiple git-p4.mapUser entries on
+   Windows.
+   (merge c3c2b05776 gv/mingw-p4-mapuser later to maint).
+
+ * "git help" enumerates executable files in $PATH; the implementation
+   of "is this file executable?" on Windows has been optimized.
+   (merge c755015f79 hv/mingw-help-is-executable later to maint).
+
+ * Test tweaks for those who have default ACL in their git source tree
+   that interfere with the umask test.
+   (merge d549d21307 mm/reset-facl-before-umask-test later to maint).
+
+ * Names of the various hook scripts must be spelled exactly, but on
+   Windows, an .exe binary must be named with .exe suffix; notice
+   $GIT_DIR/hooks/<hookname>.exe as a valid <hookname> hook.
+   (merge 235be51fbe js/mingw-hooks-with-exe-suffix later to maint).
+
+ * Asciidoctor, an alternative reimplementation of AsciiDoc, still
+   needs some changes to work with documents meant to be formatted
+   with AsciiDoc.  "make USE_ASCIIDOCTOR=YesPlease" to use it out of
+   the box to document our pages is getting closer to reality.
+
+ * Correct command line completion (in contrib/) on "git svn"
+   (merge 2cbad17642 ew/complete-svn-authorship-options later to maint).
+
+ * Incorrect usage help message for "git worktree prune" has been fixed.
+   (merge 2488dcab22 ps/worktree-prune-help-fix later to maint).
+
+ * Adjust a perf test to new world order where commands that do
+   require a repository are really strict about having a repository.
+   (merge c86000c1a7 rs/p5302-create-repositories-before-tests later to maint).
+
+ * "git log --graph" did not work well with "--name-only", even though
+   other forms of "diff" output were handled correctly.
+   (merge f5022b5fed jk/log-graph-name-only later to maint).
+
+ * The push-options given via the "--push-options" option were not
+   passed through to external remote helpers such as "smart HTTP" that
+   are invoked via the transport helper.
+
+ * The documentation explained what "git stash" does to the working
+   tree (after stashing away the local changes) in terms of "reset
+   --hard", which was exposing an unnecessary implementation detail.
+   (merge 20a7e06172 tg/stash-doc-cleanup later to maint).
+
+ * When "git p4" imports changelist that removes paths, it failed to
+   convert pathnames when the p4 used encoding different from the one
+   used on the Git side.  This has been corrected.
+   (merge a8b05162e8 ls/p4-path-encoding later to maint).
+
+ * A new coccinelle rule that catches a check of !pointer before the
+   pointer is free(3)d, which most likely is a bug.
+   (merge ec6cd14c7a rs/cocci-check-free-only-null later to maint).
+
+ * "ls-files" run with pathspec has been micro-optimized to avoid
+   having to memmove(3) unnecessary bytes.
+   (merge 96f6d3f61a rs/ls-files-partial-optim later to maint).
+
+ * A hotfix for a topic already in 'master'.
+   (merge a4d92d579f js/mingw-isatty later to maint).
+
+ * Other minor doc, test and build updates and code cleanups.
+   (merge f2627d9b19 sb/submodule-config-cleanup later to maint).
+   (merge 384f1a167b sb/unpack-trees-cleanup later to maint).
+   (merge 874444b704 rh/diff-orderfile-doc later to maint).
+   (merge eafd5d9483 cw/doc-sign-off later to maint).
+   (merge 0aaad415bc rs/absolute-pathdup later to maint).
+   (merge 4432dd6b5b rs/receive-pack-cleanup later to maint).
+   (merge 540a398e9c sg/mailmap-self later to maint).
+   (merge 209df269a6 nd/rev-list-all-includes-HEAD-doc later to maint).
+   (merge 941b9c5270 sb/doc-unify-bottom later to maint).
+   (merge 2aaf37b62c jk/doc-remote-helpers-markup-fix later to maint).
+   (merge e91461b332 jk/doc-submodule-markup-fix later to maint).
+   (merge 8ab9740d9f dp/submodule-doc-markup-fix later to maint).
+   (merge 0838cbc22f jk/tempfile-ferror-fclose-confusion later to maint).
+   (merge 115a40add6 dr/doc-check-ref-format-normalize later to maint).
+   (merge 133f0a299d gp/document-dotfiles-in-templates-are-not-copied later to maint).
+   (merge 2b35a9f4c7 bc/blame-doc-fix later to maint).
+   (merge 7e82388024 ps/doc-gc-aggressive-depth-update later to maint).
+   (merge 9993a7c5f1 bc/worktree-doc-fix-detached later to maint).
+   (merge e519eccdf4 rt/align-add-i-help-text later to maint).
diff --git a/Documentation/RelNotes/2.12.1.txt b/Documentation/RelNotes/2.12.1.txt
new file mode 100644
index 0000000..a74f7db
--- /dev/null
+++ b/Documentation/RelNotes/2.12.1.txt
@@ -0,0 +1,41 @@
+Git v2.12.1 Release Notes
+=========================
+
+Fixes since v2.12
+-----------------
+
+ * Reduce authentication round-trip over HTTP when the server supports
+   just a single authentication method.  This also improves the
+   behaviour when Git is misconfigured to enable http.emptyAuth
+   against a server that does not authenticate without a username
+   (i.e. not using Kerberos etc., which makes http.emptyAuth
+   pointless).
+
+ * Windows port wants to use OpenSSL's implementation of SHA-1
+   routines, so let them.
+
+ * Add 32-bit Linux variant to the set of platforms to be tested with
+   Travis CI.
+
+ * When a redirected http transport gets an error during the
+   redirected request, we ignored the error we got from the server,
+   and ended up giving a not-so-useful error message.
+
+ * The patch subcommand of "git add -i" was meant to have paths
+   selection prompt just like other subcommand, unlike "git add -p"
+   directly jumps to hunk selection.  Recently, this was broken and
+   "add -i" lost the paths selection dialog, but it now has been
+   fixed.
+
+ * Git v2.12 was shipped with an embarrassing breakage where various
+   operations that verify paths given from the user stopped dying when
+   seeing an issue, and instead later triggering segfault.
+
+ * The code to parse "git log -L..." command line was buggy when there
+   are many ranges specified with -L; overrun of the allocated buffer
+   has been fixed.
+
+ * The command-line parsing of "git log -L" copied internal data
+   structures using incorrect size on ILP32 systems.
+
+Also contains various documentation updates and code clean-ups.
diff --git a/Documentation/RelNotes/2.12.2.txt b/Documentation/RelNotes/2.12.2.txt
new file mode 100644
index 0000000..4419397
--- /dev/null
+++ b/Documentation/RelNotes/2.12.2.txt
@@ -0,0 +1,83 @@
+Git v2.12.2 Release Notes
+=========================
+
+Fixes since v2.12.1
+-------------------
+
+ * "git status --porcelain" is supposed to give a stable output, but a
+   few strings were left as translatable by mistake.
+
+ * "Dumb http" transport used to misparse a nonsense http-alternates
+   response, which has been fixed.
+
+ * "git diff --quiet" relies on the size field in diff_filespec to be
+   correctly populated, but diff_populate_filespec() helper function
+   made an incorrect short-cut when asked only to populate the size
+   field for paths that need to go through convert_to_git() (e.g. CRLF
+   conversion).
+
+ * There is no need for Python only to give a few messages to the
+   standard error stream, but we somehow did.
+
+ * A leak in a codepath to read from a packed object in (rare) cases
+   has been plugged.
+
+ * "git upload-pack", which is a counter-part of "git fetch", did not
+   report a request for a ref that was not advertised as invalid.
+   This is generally not a problem (because "git fetch" will stop
+   before making such a request), but is the right thing to do.
+
+ * A "gc.log" file left by a backgrounded "gc --auto" disables further
+   automatic gc; it has been taught to run at least once a day (by
+   default) by ignoring a stale "gc.log" file that is too old.
+
+ * "git remote rm X", when a branch has remote X configured as the
+   value of its branch.*.remote, tried to remove branch.*.remote and
+   branch.*.merge and failed if either is unset.
+
+ * A caller of tempfile API that uses stdio interface to write to
+   files may ignore errors while writing, which is detected when
+   tempfile is closed (with a call to ferror()).  By that time, the
+   original errno that may have told us what went wrong is likely to
+   be long gone and was overwritten by an irrelevant value.
+   close_tempfile() now resets errno to EIO to make errno at least
+   predictable.
+
+ * "git show-branch" expected there were only very short branch names
+   in the repository and used a fixed-length buffer to hold them
+   without checking for overflow.
+
+ * The code that parses header fields in the commit object has been
+   updated for (micro)performance and code hygiene.
+
+ * A test that creates a confusing branch whose name is HEAD has been
+   corrected not to do so.
+
+ * "Cc:" on the trailer part does not have to conform to RFC strictly,
+   unlike in the e-mail header.  "git send-email" has been updated to
+   ignore anything after '>' when picking addresses, to allow non-address
+   cruft like " # stable 4.4" after the address.
+
+ * "git push" had a handful of codepaths that could lead to a deadlock
+   when unexpected error happened, which has been fixed.
+
+ * Code to read submodule.<name>.ignore config did not state the
+   variable name correctly when giving an error message diagnosing
+   misconfiguration.
+
+ * "git ls-remote" and "git archive --remote" are designed to work
+   without being in a directory under Git's control.  However, recent
+   updates revealed that we randomly look into a directory called
+   .git/ without actually doing necessary set-up when working in a
+   repository.  Stop doing so.
+
+ * The code to parse the command line "git grep <patterns>... <rev>
+   [[--] <pathspec>...]" has been cleaned up, and a handful of bugs
+   have been fixed (e.g. we used to check "--" if it is a rev).
+
+ * The code to parse "git -c VAR=VAL cmd" and set configuration
+   variable for the duration of cmd had two small bugs, which have
+   been fixed.
+   This supersedes jc/config-case-cmdline topic that has been discarded.
+
+Also contains various documentation updates and code clean-ups.
diff --git a/Documentation/RelNotes/2.12.3.txt b/Documentation/RelNotes/2.12.3.txt
new file mode 100644
index 0000000..73ce7da
--- /dev/null
+++ b/Documentation/RelNotes/2.12.3.txt
@@ -0,0 +1,57 @@
+Git v2.12.3 Release Notes
+=========================
+
+Fixes since v2.12.2
+-------------------
+
+ * The "parse_config_key()" API function has been cleaned up.
+
+ * An helper function to make it easier to append the result from
+   real_path() to a strbuf has been added.
+
+ * The t/perf performance test suite was not prepared to test not so
+   old versions of Git, but now it covers versions of Git that are not
+   so ancient.
+
+ * Picking two versions of Git and running tests to make sure the
+   older one and the newer one interoperate happily has now become
+   possible.
+
+ * Teach the "debug" helper used in the test framework that allows a
+   command to run under "gdb" to make the session interactive.
+
+ * "git repack --depth=<n>" for a long time busted the specified depth
+   when reusing delta from existing packs.  This has been corrected.
+
+ * user.email that consists of only cruft chars should consistently
+   error out, but didn't.
+
+ * A few tests were run conditionally under (rare) conditions where
+   they cannot be run (like running cvs tests under 'root' account).
+
+ * "git branch @" created refs/heads/@ as a branch, and in general the
+   code that handled @{-1} and @{upstream} was a bit too loose in
+   disambiguating.
+
+ * "git fetch" that requests a commit by object name, when the other
+   side does not allow such an request, failed without much
+   explanation.
+
+ * "git filter-branch --prune-empty" drops a single-parent commit that
+   becomes a no-op, but did not drop a root commit whose tree is empty.
+
+ * Recent versions of Git treats http alternates (used in dumb http
+   transport) just like HTTP redirects and requires the client to
+   enable following it, due to security concerns.  But we forgot to
+   give a warning when we decide not to honor the alternates.
+
+ * NO_PTHREADS build has been broken for some time; now fixed.
+
+ * Fix for potential segv introduced in v2.11.0 and later (also
+   v2.10.2).
+
+ * A few unterminated here documents in tests were fixed, which in
+   turn revealed incorrect expectations the tests make. These tests
+   have been updated.
+
+Also contains various documentation updates and code clean-ups.
diff --git a/Documentation/RelNotes/2.13.0.txt b/Documentation/RelNotes/2.13.0.txt
new file mode 100644
index 0000000..4b6e72a
--- /dev/null
+++ b/Documentation/RelNotes/2.13.0.txt
@@ -0,0 +1,476 @@
+Git 2.13 Release Notes
+======================
+
+Backward compatibility notes.
+
+ * Use of an empty string as a pathspec element that is used for
+   'everything matches' is still warned and Git asks users to use a
+   more explicit '.' for that instead.  The hope is that existing
+   users will not mind this change, and eventually the warning can be
+   turned into a hard error, upgrading the deprecation into removal of
+   this (mis)feature.  That is not scheduled to happen in the upcoming
+   release (yet).
+
+ * The historical argument order "git merge <msg> HEAD <commit>..."
+   has been deprecated for quite some time, and is now removed.
+
+ * The default location "~/.git-credential-cache/socket" for the
+   socket used to communicate with the credential-cache daemon has
+   been moved to "~/.cache/git/credential/socket".
+
+ * Git now avoids blindly falling back to ".git" when the setup
+   sequence said we are _not_ in Git repository.  A corner case that
+   happens to work right now may be broken by a call to die("BUG").
+   We've tried hard to locate such cases and fixed them, but there
+   might still be cases that need to be addressed--bug reports are
+   greatly appreciated.
+
+
+Updates since v2.12
+-------------------
+
+UI, Workflows & Features
+
+ * "git describe" and "git name-rev" have been taught to take more
+   than one refname patterns to restrict the set of refs to base their
+   naming output on, and also learned to take negative patterns to
+   name refs not to be used for naming via their "--exclude" option.
+
+ * Deletion of a branch "foo/bar" could remove .git/refs/heads/foo
+   once there no longer is any other branch whose name begins with
+   "foo/", but we didn't do so so far.  Now we do.
+
+ * When "git merge" detects a path that is renamed in one history
+   while the other history deleted (or modified) it, it now reports
+   both paths to help the user understand what is going on in the two
+   histories being merged.
+
+ * The <url> part in "http.<url>.<variable>" configuration variable
+   can now be spelled with '*' that serves as wildcard.
+   E.g. "http.https://*.example.com.proxy" can be used to specify the
+   proxy used for https://a.example.com, https://b.example.com, etc.,
+   i.e. any host in the example.com domain.
+
+ * "git tag" did not leave useful message when adding a new entry to
+   reflog; this was left unnoticed for a long time because refs/tags/*
+   doesn't keep reflog by default.
+
+ * The "negative" pathspec feature was somewhat more cumbersome to use
+   than necessary in that its short-hand used "!" which needed to be
+   escaped from shells, and it required "exclude from what?" specified.
+
+ * The command line options for ssh invocation needs to be tweaked for
+   some implementations of SSH (e.g. PuTTY plink wants "-P <port>"
+   while OpenSSH wants "-p <port>" to specify port to connect to), and
+   the variant was guessed when GIT_SSH environment variable is used
+   to specify it.  The logic to guess now applies to the command
+   specified by the newer GIT_SSH_COMMAND and also core.sshcommand
+   configuration variable, and comes with an escape hatch for users to
+   deal with misdetected cases.
+
+ * The "--git-path", "--git-common-dir", and "--shared-index-path"
+   options of "git rev-parse" did not produce usable output.  They are
+   now updated to show the path to the correct file, relative to where
+   the caller is.
+
+ * "git diff -W" has been taught to handle the case where a new
+   function is added at the end of the file better.
+
+ * "git update-ref -d" and other operations to delete references did
+   not leave any entry in HEAD's reflog when the reference being
+   deleted was the current branch.  This is not a problem in practice
+   because you do not want to delete the branch you are currently on,
+   but caused renaming of the current branch to something else not to
+   be logged in a useful way.
+
+ * "Cc:" on the trailer part does not have to conform to RFC strictly,
+   unlike in the e-mail header.  "git send-email" has been updated to
+   ignore anything after '>' when picking addresses, to allow non-address
+   cruft like " # stable 4.4" after the address.
+
+ * When "git submodule init" decides that the submodule in the working
+   tree is its upstream, it now gives a warning as it is not a very
+   common setup.
+
+ * "git stash push" takes a pathspec so that the local changes can be
+   stashed away only partially.
+
+ * Documentation for "git ls-files" did not refer to core.quotePath.
+
+ * The experimental "split index" feature has gained a few
+   configuration variables to make it easier to use.
+
+ * From a working tree of a repository, a new option of "rev-parse"
+   lets you ask if the repository is used as a submodule of another
+   project, and where the root level of the working tree of that
+   project (i.e. your superproject) is.
+
+ * The pathspec mechanism learned to further limit the paths that
+   match the pattern to those that have specified attributes attached
+   via the gitattributes mechanism.
+
+ * Our source code has used the SHA1_HEADER cpp macro after "#include"
+   in the C code to switch among the SHA-1 implementations. Instead,
+   list the exact header file names and switch among implementations
+   using "#ifdef BLK_SHA1/#include "block-sha1/sha1.h"/.../#endif";
+   this helps some IDE tools.
+
+ * The start-up sequence of "git" needs to figure out some configured
+   settings before it finds and set itself up in the location of the
+   repository and was quite messy due to its "chicken-and-egg" nature.
+   The code has been restructured.
+
+ * The command line prompt (in contrib/) learned a new 'tag' style
+   that can be specified with GIT_PS1_DESCRIBE_STYLE, to describe a
+   detached HEAD with "git describe --tags".
+
+ * The configuration file learned a new "includeIf.<condition>.path"
+   that includes the contents of the given path only when the
+   condition holds.  This allows you to say "include this work-related
+   bit only in the repositories under my ~/work/ directory".
+
+ * Recent update to "rebase -i" started showing a message that is not
+   a warning with "warning:" prefix by mistake.  This has been fixed.
+
+ * Recently we started passing the "--push-options" through the
+   external remote helper interface; now the "smart HTTP" remote
+   helper understands what to do with the passed information.
+
+ * "git describe --dirty" dies when it cannot be determined if the
+   state in the working tree matches that of HEAD (e.g. broken
+   repository or broken submodule).  The command learned a new option
+   "git describe --broken" to give "$name-broken" (where $name is the
+   description of HEAD) in such a case.
+
+ * "git checkout" is taught the "--recurse-submodules" option.
+
+ * Recent enhancement to "git stash push" command to support pathspec
+   to allow only a subset of working tree changes to be stashed away
+   was found to be too chatty and exposed the internal implementation
+   detail (e.g. when it uses reset to match the index to HEAD before
+   doing other things, output from reset seeped out).  These, and
+   other chattyness has been fixed.
+
+ * "git merge <message> HEAD <commit>" syntax that has been deprecated
+   since October 2007 has been removed.
+
+ * The refs completion for large number of refs has been sped up,
+   partly by giving up disambiguating ambiguous refs and partly by
+   eliminating most of the shell processing between 'git for-each-ref'
+   and 'ls-remote' and Bash's completion facility.
+
+ * On many keyboards, typing "@{" involves holding down SHIFT key and
+   one can easily end up with "@{Up..." when typing "@{upstream}".  As
+   the upstream/push keywords do not appear anywhere else in the syntax,
+   we can safely accept them case insensitively without introducing
+   ambiguity or confusion to solve this.
+
+ * "git tag/branch/for-each-ref" family of commands long allowed to
+   filter the refs by "--contains X" (show only the refs that are
+   descendants of X), "--merged X" (show only the refs that are
+   ancestors of X), "--no-merged X" (show only the refs that are not
+   ancestors of X).  One curious omission, "--no-contains X" (show
+   only the refs that are not descendants of X) has been added to
+   them.
+
+ * The default behaviour of "git log" in an interactive session has
+   been changed to enable "--decorate".
+
+
+Performance, Internal Implementation, Development Support etc.
+
+ * The code to list branches in "git branch" has been consolidated
+   with the more generic ref-filter API.
+
+ * Resource usage while enumerating refs from alternate object store
+   has been optimized to help receiving end of "push" that hosts a
+   repository with many "forks".
+
+ * The gitattributes machinery is being taught to work better in a
+   multi-threaded environment.
+
+ * "git rebase -i" starts using the recently updated "sequencer" code.
+
+ * Code and design clean-up for the refs API.
+
+ * The preload-index code has been taught not to bother with the index
+   entries that are paths that are not checked out by "sparse checkout".
+
+ * Some warning() messages from "git clean" were updated to show the
+   errno from failed system calls.
+
+ * The "parse_config_key()" API function has been cleaned up.
+
+ * A test that creates a confusing branch whose name is HEAD has been
+   corrected not to do so.
+
+ * The code that parses header fields in the commit object has been
+   updated for (micro)performance and code hygiene.
+
+ * An helper function to make it easier to append the result from
+   real_path() to a strbuf has been added.
+
+ * Reduce authentication round-trip over HTTP when the server supports
+   just a single authentication method.  This also improves the
+   behaviour when Git is misconfigured to enable http.emptyAuth
+   against a server that does not authenticate without a username
+   (i.e. not using Kerberos etc., which makes http.emptyAuth
+   pointless).
+
+ * Windows port wants to use OpenSSL's implementation of SHA-1
+   routines, so let them.
+
+ * The t/perf performance test suite was not prepared to test not so
+   old versions of Git, but now it covers versions of Git that are not
+   so ancient.
+
+ * Add 32-bit Linux variant to the set of platforms to be tested with
+   Travis CI.
+
+ * "git branch --list" takes the "--abbrev" and "--no-abbrev" options
+   to control the output of the object name in its "-v"(erbose)
+   output, but a recent update started ignoring them; fix it before
+   the breakage reaches to any released version.
+
+ * Picking two versions of Git and running tests to make sure the
+   older one and the newer one interoperate happily has now become
+   possible.
+
+ * "uchar [40]" to "struct object_id" conversion continues.
+
+ * "git tag --contains" used to (ab)use the object bits to keep track
+   of the state of object reachability without clearing them after
+   use; this has been cleaned up and made to use the newer commit-slab
+   facility.
+
+ * The "debug" helper used in the test framework learned to run
+   a command under "gdb" interactively.
+
+ * The "detect attempt to create collisions" variant of SHA-1
+   implementation by Marc Stevens (CWI) and Dan Shumow (Microsoft)
+   has been integrated and made the default.
+
+ * The test framework learned to detect unterminated here documents.
+
+ * The name-hash used for detecting paths that are different only in
+   cases (which matter on case insensitive filesystems) has been
+   optimized to take advantage of multi-threading when it makes sense.
+
+ * An earlier version of sha1dc/sha1.c that was merged to 'master'
+   compiled incorrectly on Windows, which has been fixed.
+
+ * "what URL do we want to update this submodule?" and "are we
+   interested in this submodule?" are split into two distinct
+   concepts, and then the way used to express the latter got extended,
+   paving a way to make it easier to manage a project with many
+   submodules and make it possible to later extend use of multiple
+   worktrees for a project with submodules.
+
+ * Some debugging output from "git describe" were marked for l10n,
+   but some weren't.  Mark missing ones for l10n.
+
+ * Define a new task in .travis.yml that triggers a test session on
+   Windows run elsewhere.
+
+Also contains various documentation updates and code clean-ups.
+
+
+Fixes since v2.12
+-----------------
+
+Unless otherwise noted, all the fixes since v2.12 in the maintenance
+track are contained in this release (see the maintenance releases'
+notes for details).
+
+ * "git repack --depth=<n>" for a long time busted the specified depth
+   when reusing delta from existing packs.  This has been corrected.
+
+ * The code to parse the command line "git grep <patterns>... <rev>
+   [[--] <pathspec>...]" has been cleaned up, and a handful of bugs
+   have been fixed (e.g. we used to check "--" if it is a rev).
+
+ * "git ls-remote" and "git archive --remote" are designed to work
+   without being in a directory under Git's control.  However, recent
+   updates revealed that we randomly look into a directory called
+   .git/ without actually doing necessary set-up when working in a
+   repository.  Stop doing so.
+
+ * "git show-branch" expected there were only very short branch names
+   in the repository and used a fixed-length buffer to hold them
+   without checking for overflow.
+
+ * A caller of tempfile API that uses stdio interface to write to
+   files may ignore errors while writing, which is detected when
+   tempfile is closed (with a call to ferror()).  By that time, the
+   original errno that may have told us what went wrong is likely to
+   be long gone and was overwritten by an irrelevant value.
+   close_tempfile() now resets errno to EIO to make errno at least
+   predictable.
+
+ * "git remote rm X", when a branch has remote X configured as the
+   value of its branch.*.remote, tried to remove branch.*.remote and
+   branch.*.merge and failed if either is unset.
+
+ * A "gc.log" file left by a backgrounded "gc --auto" disables further
+   automatic gc; it has been taught to run at least once a day (by
+   default) by ignoring a stale "gc.log" file that is too old.
+
+ * The code to parse "git -c VAR=VAL cmd" and set configuration
+   variable for the duration of cmd had two small bugs, which have
+   been fixed.
+
+ * user.email that consists of only cruft chars should consistently
+   error out, but didn't.
+
+ * "git upload-pack", which is a counter-part of "git fetch", did not
+   report a request for a ref that was not advertised as invalid.
+   This is generally not a problem (because "git fetch" will stop
+   before making such a request), but is the right thing to do.
+
+ * A leak in a codepath to read from a packed object in (rare) cases
+   has been plugged.
+
+ * When a redirected http transport gets an error during the
+   redirected request, we ignored the error we got from the server,
+   and ended up giving a not-so-useful error message.
+
+ * The patch subcommand of "git add -i" was meant to have paths
+   selection prompt just like other subcommand, unlike "git add -p"
+   directly jumps to hunk selection.  Recently, this was broken and
+   "add -i" lost the paths selection dialog, but it now has been
+   fixed.
+
+ * Git v2.12 was shipped with an embarrassing breakage where various
+   operations that verify paths given from the user stopped dying when
+   seeing an issue, and instead later triggering segfault.
+
+ * There is no need for Python only to give a few messages to the
+   standard error stream, but we somehow did.
+
+ * The code to parse "git log -L..." command line was buggy when there
+   are many ranges specified with -L; overrun of the allocated buffer
+   has been fixed.
+
+ * The command-line parsing of "git log -L" copied internal data
+   structures using incorrect size on ILP32 systems.
+
+ * "git diff --quiet" relies on the size field in diff_filespec to be
+   correctly populated, but diff_populate_filespec() helper function
+   made an incorrect short-cut when asked only to populate the size
+   field for paths that need to go through convert_to_git() (e.g. CRLF
+   conversion).
+
+ * A few tests were run conditionally under (rare) conditions where
+   they cannot be run (like running cvs tests under 'root' account).
+
+ * "git branch @" created refs/heads/@ as a branch, and in general the
+   code that handled @{-1} and @{upstream} was a bit too loose in
+   disambiguating.
+
+ * "git fetch" that requests a commit by object name, when the other
+   side does not allow such an request, failed without much
+   explanation.
+
+ * "git filter-branch --prune-empty" drops a single-parent commit that
+   becomes a no-op, but did not drop a root commit whose tree is empty.
+
+ * Recent versions of Git treats http alternates (used in dumb http
+   transport) just like HTTP redirects and requires the client to
+   enable following it, due to security concerns.  But we forgot to
+   give a warning when we decide not to honor the alternates.
+
+ * "git push" had a handful of codepaths that could lead to a deadlock
+   when unexpected error happened, which has been fixed.
+
+ * "Dumb http" transport used to misparse a nonsense http-alternates
+   response, which has been fixed.
+
+ * "git add -p <pathspec>" unnecessarily expanded the pathspec to a
+   list of individual files that matches the pathspec by running "git
+   ls-files <pathspec>", before feeding it to "git diff-index" to see
+   which paths have changes, because historically the pathspec
+   language supported by "diff-index" was weaker.  These days they are
+   equivalent and there is no reason to internally expand it.  This
+   helps both performance and avoids command line argument limit on
+   some platforms.
+   (merge 7288e12cce jk/add-i-use-pathspecs later to maint).
+
+ * "git status --porcelain" is supposed to give a stable output, but a
+   few strings were left as translatable by mistake.
+
+ * "git revert -m 0 $merge_commit" complained that reverting a merge
+   needs to say relative to which parent the reversion needs to
+   happen, as if "-m 0" weren't given.  The correct diagnosis is that
+   "-m 0" does not refer to the first parent ("-m 1" does).  This has
+   been fixed.
+
+ * Code to read submodule.<name>.ignore config did not state the
+   variable name correctly when giving an error message diagnosing
+   misconfiguration.
+
+ * Fix for NO_PTHREADS build.
+
+ * Fix for potential segv introduced in v2.11.0 and later (also
+   v2.10.2) to "git log --pickaxe-regex -S".
+
+ * A few unterminated here documents in tests were fixed, which in
+   turn revealed incorrect expectations the tests make. These tests
+   have been updated.
+
+ * Fix for NO_PTHREADS option.
+   (merge 2225e1ea20 bw/grep-recurse-submodules later to maint).
+
+ * Git now avoids blindly falling back to ".git" when the setup
+   sequence said we are _not_ in Git repository.  A corner case that
+   happens to work right now may be broken by a call to die("BUG").
+   (merge b1ef400eec jk/no-looking-at-dotgit-outside-repo-final later to maint).
+
+ * A few commands that recently learned the "--recurse-submodule"
+   option misbehaved when started from a subdirectory of the
+   superproject.
+   (merge b2dfeb7c00 bw/recurse-submodules-relative-fix later to maint).
+
+ * FreeBSD implementation of getcwd(3) behaved differently when an
+   intermediate directory is unreadable/unsearchable depending on the
+   length of the buffer provided, which our strbuf_getcwd() was not
+   aware of.  strbuf_getcwd() has been taught to cope with it better.
+   (merge a54e938e5b rs/freebsd-getcwd-workaround later to maint).
+
+ * A recent update to "rebase -i" stopped running hooks for the "git
+   commit" command during "reword" action, which has been fixed.
+
+ * Removing an entry from a notes tree and then looking another note
+   entry from the resulting tree using the internal notes API
+   functions did not work as expected.  No in-tree users of the API
+   has such access pattern, but it still is worth fixing.
+
+ * "git receive-pack" could have been forced to die by attempting
+   allocate an unreasonably large amount of memory with a crafted push
+   certificate; this has been fixed.
+   (merge f2214dede9 bc/push-cert-receive-fix later to maint).
+
+ * Update error handling for codepath that deals with corrupt loose
+   objects.
+   (merge 51054177b3 jk/loose-object-info-report-error later to maint).
+
+ * "git diff --submodule=diff" learned to work better in a project
+   with a submodule that in turn has its own submodules.
+   (merge 17b254cda6 sb/show-diff-for-submodule-in-diff-fix later to maint).
+
+ * Update the build dependency so that an update to /usr/bin/perl
+   etc. result in recomputation of perl.mak file.
+   (merge c59c4939c2 ab/regen-perl-mak-with-different-perl later to maint).
+
+ * Other minor doc, test and build updates and code cleanups.
+   (merge df2a6e38b7 jk/pager-in-use later to maint).
+   (merge 75ec4a6cb0 ab/branch-list-doc later to maint).
+   (merge 3e5b36c637 sg/skip-prefix-in-prettify-refname later to maint).
+   (merge 2c5e2865cc jk/fast-import-cleanup later to maint).
+   (merge 4473060bc2 ab/test-readme-updates later to maint).
+   (merge 48a96972fd ab/doc-submitting later to maint).
+   (merge f5c2bc2b96 jk/make-coccicheck-detect-errors later to maint).
+   (merge c105f563d1 cc/untracked later to maint).
+   (merge 8668976b53 jc/unused-symbols later to maint).
+   (merge fba275dc93 jc/bs-t-is-not-a-tab-for-sed later to maint).
+   (merge be6ed145de mm/ls-files-s-doc later to maint).
+   (merge 60b091c679 qp/bisect-docfix later to maint).
diff --git a/Documentation/SubmittingPatches b/Documentation/SubmittingPatches
index 08352de..bc8ad00 100644
--- a/Documentation/SubmittingPatches
+++ b/Documentation/SubmittingPatches
@@ -98,12 +98,17 @@
 prefix the first line with "area: " where the area is a filename or
 identifier for the general area of the code being modified, e.g.
 
-  . archive: ustar header checksum is computed unsigned
-  . git-cherry-pick.txt: clarify the use of revision range notation
+  . doc: clarify distinction between sign-off and pgp-signing
+  . githooks.txt: improve the intro section
 
 If in doubt which identifier to use, run "git log --no-merges" on the
 files you are modifying to see the current conventions.
 
+It's customary to start the remainder of the first line after "area: "
+with a lower-case letter. E.g. "doc: clarify...", not "doc:
+Clarify...", or "githooks.txt: improve...", not "githooks.txt:
+Improve...".
+
 The body should provide a meaningful commit message, which:
 
   . explains the problem the change tries to solve, iow, what is wrong
@@ -129,8 +134,9 @@
     noticed that ...
 
 The "Copy commit summary" command of gitk can be used to obtain this
-format.
+format, or this invocation of "git show":
 
+    git show -s --date=short --pretty='format:%h ("%s", %ad)' <commit>
 
 (3) Generate your patch using Git tools out of your commits.
 
@@ -216,12 +222,11 @@
 Exception:  If your mailer is mangling patches then someone may ask
 you to re-send them using MIME, that is OK.
 
-Do not PGP sign your patch, at least for now.  Most likely, your
-maintainer or other people on the list would not have your PGP
-key and would not bother obtaining it anyway.  Your patch is not
-judged by who you are; a good patch from an unknown origin has a
-far better chance of being accepted than a patch from a known,
-respected origin that is done poorly or does incorrect things.
+Do not PGP sign your patch. Most likely, your maintainer or other people on the
+list would not have your PGP key and would not bother obtaining it anyway.
+Your patch is not judged by who you are; a good patch from an unknown origin
+has a far better chance of being accepted than a patch from a known, respected
+origin that is done poorly or does incorrect things.
 
 If you really really really really want to do a PGP signed
 patch, format it as "multipart/signed", not a text/plain message
@@ -246,7 +251,7 @@
      *2* The mailing list: git@vger.kernel.org
 
 
-(5) Sign your work
+(5) Certify your work by adding your "Signed-off-by: " line
 
 To improve tracking of who did what, we've borrowed the
 "sign-off" procedure from the Linux kernel project on patches
diff --git a/Documentation/asciidoctor-extensions.rb b/Documentation/asciidoctor-extensions.rb
new file mode 100644
index 0000000..ec83b49
--- /dev/null
+++ b/Documentation/asciidoctor-extensions.rb
@@ -0,0 +1,28 @@
+require 'asciidoctor'
+require 'asciidoctor/extensions'
+
+module Git
+  module Documentation
+    class LinkGitProcessor < Asciidoctor::Extensions::InlineMacroProcessor
+      use_dsl
+
+      named :chrome
+
+      def process(parent, target, attrs)
+        if parent.document.basebackend? 'html'
+          prefix = parent.document.attr('git-relative-html-prefix')
+          %(<a href="#{prefix}#{target}.html">#{target}(#{attrs[1]})</a>\n)
+        elsif parent.document.basebackend? 'docbook'
+          "<citerefentry>\n" \
+            "<refentrytitle>#{target}</refentrytitle>" \
+            "<manvolnum>#{attrs[1]}</manvolnum>\n" \
+          "</citerefentry>\n"
+        end
+      end
+    end
+  end
+end
+
+Asciidoctor::Extensions.register do
+  inline_macro Git::Documentation::LinkGitProcessor, :linkgit
+end
diff --git a/Documentation/blame-options.txt b/Documentation/blame-options.txt
index 2669b87..dc41957 100644
--- a/Documentation/blame-options.txt
+++ b/Documentation/blame-options.txt
@@ -77,7 +77,7 @@
 	terminal. Can't use `--progress` together with `--porcelain`
 	or `--incremental`.
 
--M|<num>|::
+-M[<num>]::
 	Detect moved or copied lines within a file. When a commit
 	moves or copies a block of lines (e.g. the original file
 	has A and then B, and the commit changes it to B and then
@@ -93,7 +93,7 @@
 within a file for it to associate those lines with the parent
 commit. The default value is 20.
 
--C|<num>|::
+-C[<num>]::
 	In addition to `-M`, detect lines moved or copied from other
 	files that were modified in the same commit.  This is
 	useful when you reorganize your program and move code
diff --git a/Documentation/cat-texi.perl b/Documentation/cat-texi.perl
index 87437f8..14d2f83 100755
--- a/Documentation/cat-texi.perl
+++ b/Documentation/cat-texi.perl
@@ -1,9 +1,12 @@
 #!/usr/bin/perl -w
 
+use strict;
+use warnings;
+
 my @menu = ();
 my $output = $ARGV[0];
 
-open TMP, '>', "$output.tmp";
+open my $tmp, '>', "$output.tmp";
 
 while (<STDIN>) {
 	next if (/^\\input texinfo/../\@node Top/);
@@ -11,13 +14,13 @@
 	if (s/^\@top (.*)/\@node $1,,,Top/) {
 		push @menu, $1;
 	}
-	s/\(\@pxref{\[(URLS|REMOTES)\]}\)//;
+	s/\(\@pxref\{\[(URLS|REMOTES)\]}\)//;
 	s/\@anchor\{[^{}]*\}//g;
-	print TMP;
+	print $tmp $_;
 }
-close TMP;
+close $tmp;
 
-printf '\input texinfo
+print '\input texinfo
 @setfilename gitman.info
 @documentencoding UTF-8
 @dircategory Development
@@ -28,16 +31,16 @@
 @top Git Manual Pages
 @documentlanguage en
 @menu
-', $menu[0];
+';
 
 for (@menu) {
 	print "* ${_}::\n";
 }
 print "\@end menu\n";
-open TMP, '<', "$output.tmp";
-while (<TMP>) {
+open $tmp, '<', "$output.tmp";
+while (<$tmp>) {
 	print;
 }
-close TMP;
+close $tmp;
 print "\@bye\n";
 unlink "$output.tmp";
diff --git a/Documentation/config.txt b/Documentation/config.txt
index 1fee83c..475e874 100644
--- a/Documentation/config.txt
+++ b/Documentation/config.txt
@@ -79,18 +79,69 @@
 Includes
 ~~~~~~~~
 
-You can include one config file from another by setting the special
+You can include a config file from another by setting the special
 `include.path` variable to the name of the file to be included. The
 variable takes a pathname as its value, and is subject to tilde
-expansion.
+expansion. `include.path` can be given multiple times.
 
-The
-included file is expanded immediately, as if its contents had been
+The included file is expanded immediately, as if its contents had been
 found at the location of the include directive. If the value of the
-`include.path` variable is a relative path, the path is considered to be
-relative to the configuration file in which the include directive was
-found.  See below for examples.
+`include.path` variable is a relative path, the path is considered to
+be relative to the configuration file in which the include directive
+was found.  See below for examples.
 
+Conditional includes
+~~~~~~~~~~~~~~~~~~~~
+
+You can include a config file from another conditionally by setting a
+`includeIf.<condition>.path` variable to the name of the file to be
+included. The variable's value is treated the same way as
+`include.path`. `includeIf.<condition>.path` can be given multiple times.
+
+The condition starts with a keyword followed by a colon and some data
+whose format and meaning depends on the keyword. Supported keywords
+are:
+
+`gitdir`::
+
+	The data that follows the keyword `gitdir:` is used as a glob
+	pattern. If the location of the .git directory matches the
+	pattern, the include condition is met.
++
+The .git location may be auto-discovered, or come from `$GIT_DIR`
+environment variable. If the repository is auto discovered via a .git
+file (e.g. from submodules, or a linked worktree), the .git location
+would be the final location where the .git directory is, not where the
+.git file is.
++
+The pattern can contain standard globbing wildcards and two additional
+ones, `**/` and `/**`, that can match multiple path components. Please
+refer to linkgit:gitignore[5] for details. For convenience:
+
+ * If the pattern starts with `~/`, `~` will be substituted with the
+   content of the environment variable `HOME`.
+
+ * If the pattern starts with `./`, it is replaced with the directory
+   containing the current config file.
+
+ * If the pattern does not start with either `~/`, `./` or `/`, `**/`
+   will be automatically prepended. For example, the pattern `foo/bar`
+   becomes `**/foo/bar` and would match `/any/path/to/foo/bar`.
+
+ * If the pattern ends with `/`, `**` will be automatically added. For
+   example, the pattern `foo/` becomes `foo/**`. In other words, it
+   matches "foo" and everything inside, recursively.
+
+`gitdir/i`::
+	This is the same as `gitdir` except that matching is done
+	case-insensitively (e.g. on case-insensitive file sytems)
+
+A few more notes on matching via `gitdir` and `gitdir/i`:
+
+ * Symlinks in `$GIT_DIR` are not resolved before matching.
+
+ * Note that "../" is not special and will match literally, which is
+   unlikely what you want.
 
 Example
 ~~~~~~~
@@ -119,6 +170,17 @@
 		path = foo ; expand "foo" relative to the current file
 		path = ~/foo ; expand "foo" in your `$HOME` directory
 
+	; include if $GIT_DIR is /path/to/foo/.git
+	[includeIf "gitdir:/path/to/foo/.git"]
+		path = /path/to/foo.inc
+
+	; include for all repositories inside /path/to/group
+	[includeIf "gitdir:/path/to/group/"]
+		path = /path/to/foo.inc
+
+	; include for all repositories inside $HOME/to/group
+	[includeIf "gitdir:~/to/group/"]
+		path = /path/to/foo.inc
 
 Values
 ~~~~~~
@@ -170,6 +232,9 @@
 be turned off by prefixing them with `no` or `no-` (e.g., `noreverse`,
 `no-ul`, etc).
 +
+An empty color string produces no color effect at all. This can be used
+to avoid coloring specific elements without disabling color entirely.
++
 For git's pre-defined color slots, 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
@@ -331,6 +396,10 @@
 	crawlers and some backup systems).
 	See linkgit:git-update-index[1]. True by default.
 
+core.splitIndex::
+	If true, the split-index feature of the index will be used.
+	See linkgit:git-update-index[1]. False by default.
+
 core.untrackedCache::
 	Determines what to do about the untracked cache feature of the
 	index. It will be kept, if this variable is unset or set to
@@ -347,16 +416,19 @@
 	all fields, including the sub-second part of mtime and ctime.
 
 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
-	pathname in a double-quote pair and with backslashes the
-	same way strings in C source code are quoted.  If this
-	variable is set to false, the bytes higher than 0x80 are
-	not quoted but output as verbatim.  Note that double
-	quote, backslash and control characters are always
-	quoted without `-z` regardless of the setting of this
-	variable.
+	Commands that output paths (e.g. 'ls-files', 'diff'), will
+	quote "unusual" characters in the pathname by enclosing the
+	pathname in double-quotes and escaping those characters with
+	backslashes in the same way C escapes control characters (e.g.
+	`\t` for TAB, `\n` for LF, `\\` for backslash) or bytes with
+	values larger than 0x80 (e.g. octal `\302\265` for "micro" in
+	UTF-8).  If this variable is set to false, bytes higher than
+	0x80 are not considered "unusual" any more. Double-quotes,
+	backslash and control characters are always escaped regardless
+	of the setting of this variable.  A simple space character is
+	not considered "unusual".  Many commands can output pathnames
+	completely verbatim using the `-z` option. The default value
+	is true.
 
 core.eol::
 	Sets the line ending type to use in the working directory for
@@ -517,10 +589,12 @@
 	"`$GIT_DIR/logs/<ref>`", by appending the new and old
 	SHA-1, the date/time and the reason of the update, but
 	only when the file exists.  If this configuration
-	variable is set to true, missing "`$GIT_DIR/logs/<ref>`"
+	variable is set to `true`, missing "`$GIT_DIR/logs/<ref>`"
 	file is automatically created for branch heads (i.e. under
-	refs/heads/), remote refs (i.e. under refs/remotes/),
-	note refs (i.e. under refs/notes/), and the symbolic ref HEAD.
+	`refs/heads/`), remote refs (i.e. under `refs/remotes/`),
+	note refs (i.e. under `refs/notes/`), and the symbolic ref `HEAD`.
+	If it is set to `always`, then a missing reflog is automatically
+	created for any ref under `refs/`.
 +
 This information can be used to determine what commit
 was the tip of a branch "2 days ago".
@@ -663,13 +737,13 @@
 default hooks.
 
 core.editor::
-	Commands such as `commit` and `tag` that lets you edit
-	messages by launching an editor uses the value of this
+	Commands such as `commit` and `tag` that let you edit
+	messages by launching an editor use the value of this
 	variable when it is set, and the environment variable
 	`GIT_EDITOR` is not set.  See linkgit:git-var[1].
 
 core.commentChar::
-	Commands such as `commit` and `tag` that lets you edit
+	Commands such as `commit` and `tag` that let you edit
 	messages consider a line that begins with this character
 	commented, and removes them after the editor returns
 	(default '#').
@@ -1397,6 +1471,12 @@
 	Make `git gc --auto` return immediately and run in background
 	if the system supports it. Default is true.
 
+gc.logExpiry::
+	If the file gc.log exists, then `git gc --auto` won't run
+	unless that file is more than 'gc.logExpiry' old.  Default is
+	"1.day".  See `gc.pruneExpire` for more ways to specify its
+	value.
+
 gc.packRefs::
 	Running `git pack-refs` in a repository renders it
 	unclonable by Git versions prior to 1.5.1.2 over dumb
@@ -1914,7 +1994,10 @@
   must match exactly between the config key and the URL.
 
 . Host/domain name (e.g., `example.com` in `https://example.com/`).
-  This field must match exactly between the config key and the URL.
+  This field must match between the config key and the URL. It is
+  possible to specify a `*` as part of the host name to match all subdomains
+  at this level. `https://*.example.com/` for example would match
+  `https://foo.example.com/`, but not `https://foo.bar.example.com/`.
 
 . Port number (e.g., `8080` in `http://example.com:8080/`).
   This field must match exactly between the config key and the URL.
@@ -1949,6 +2032,17 @@
 matched against are those given directly to Git commands.  This means any URLs
 visited as a result of a redirection do not participate in matching.
 
+ssh.variant::
+	Depending on the value of the environment variables `GIT_SSH` or
+	`GIT_SSH_COMMAND`, or the config setting `core.sshCommand`, Git
+	auto-detects whether to adjust its command-line parameters for use
+	with plink or tortoiseplink, as opposed to the default (OpenSSH).
++
+The config variable `ssh.variant` can be set to override this auto-detection;
+valid values are `ssh`, `plink`, `putty` or `tortoiseplink`. Any other value
+will be treated as normal ssh. This setting can be overridden via the
+environment variable `GIT_SSH_VARIANT`.
+
 i18n.commitEncoding::
 	Character encoding the commit messages are stored in; Git itself
 	does not care per se, but this information is necessary e.g. when
@@ -2036,6 +2130,10 @@
 	i.e. it cannot be used to follow multiple files and does not work well
 	on non-linear history.
 
+log.graphColors::
+	A list of colors, separated by commas, that can be used to draw
+	history lines in `git log --graph`.
+
 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.
@@ -2321,6 +2419,52 @@
 	Note that an alias with the same name as a built-in format
 	will be silently ignored.
 
+protocol.allow::
+	If set, provide a user defined default policy for all protocols which
+	don't explicitly have a policy (`protocol.<name>.allow`).  By default,
+	if unset, known-safe protocols (http, https, git, ssh, file) have a
+	default policy of `always`, known-dangerous protocols (ext) have a
+	default policy of `never`, and all other protocols have a default
+	policy of `user`.  Supported policies:
++
+--
+
+* `always` - protocol is always able to be used.
+
+* `never` - protocol is never able to be used.
+
+* `user` - protocol is only able to be used when `GIT_PROTOCOL_FROM_USER` is
+  either unset or has a value of 1.  This policy should be used when you want a
+  protocol to be directly usable by the user but don't want it used by commands which
+  execute clone/fetch/push commands without user input, e.g. recursive
+  submodule initialization.
+
+--
+
+protocol.<name>.allow::
+	Set a policy to be used by protocol `<name>` with clone/fetch/push
+	commands. See `protocol.allow` above for the available policies.
++
+The protocol names currently used by git are:
++
+--
+  - `file`: any local file-based path (including `file://` URLs,
+    or local paths)
+
+  - `git`: the anonymous git protocol over a direct TCP
+    connection (or proxy, if configured)
+
+  - `ssh`: git over ssh (including `host:path` syntax,
+    `ssh://`, etc).
+
+  - `http`: git over http, both "smart http" and "dumb http".
+    Note that this does _not_ include `https`; if you want to configure
+    both, you must do so individually.
+
+  - any external helpers are named by their protocol (e.g., use
+    `hg` to allow the `git-remote-hg` helper)
+--
+
 pull.ff::
 	By default, Git does not create an extra merge commit when merging
 	a commit that is a descendant of the current commit. Instead, the
@@ -2377,6 +2521,8 @@
   pushing to the same repository you would normally pull from
   (i.e. central workflow).
 
+* `tracking` - This is a deprecated synonym for `upstream`.
+
 * `simple` - in centralized workflow, work like `upstream` with an
   added safety to refuse to push if the upstream branch's name is
   different from the local one.
@@ -2772,6 +2918,31 @@
 	The default set of branches for linkgit:git-show-branch[1].
 	See linkgit:git-show-branch[1].
 
+splitIndex.maxPercentChange::
+	When the split index feature is used, this specifies the
+	percent of entries the split index can contain compared to the
+	total number of entries in both the split index and the shared
+	index before a new shared index is written.
+	The value should be between 0 and 100. If the value is 0 then
+	a new shared index is always written, if it is 100 a new
+	shared index is never written.
+	By default the value is 20, so a new shared index is written
+	if the number of entries in the split index would be greater
+	than 20 percent of the total number of entries.
+	See linkgit:git-update-index[1].
+
+splitIndex.sharedIndexExpire::
+	When the split index feature is used, shared index files that
+	were not modified since the time this variable specifies will
+	be removed when a new shared index file is created. The value
+	"now" expires all entries immediately, and "never" suppresses
+	expiration altogether.
+	The default value is "2.weeks.ago".
+	Note that a shared index file is considered modified (for the
+	purpose of expiration) each time a new split-index file is
+	either created based on it or read from it.
+	See linkgit:git-update-index[1].
+
 status.relativePaths::
 	By default, linkgit:git-status[1] shows paths relative to the
 	current directory. Setting this variable to `false` shows paths
@@ -2842,8 +3013,9 @@
 	The URL for a submodule. This variable is copied from the .gitmodules
 	file to the git config via 'git submodule init'. The user can change
 	the configured URL before obtaining the submodule via 'git submodule
-	update'. After obtaining the submodule, the presence of this variable
-	is used as a sign whether the submodule is of interest to git commands.
+	update'. If neither submodule.<name>.active or submodule.active are
+	set, the presence of this variable is used as a fallback to indicate
+	whether the submodule is of interest to git commands.
 	See linkgit:git-submodule[1] and linkgit:gitmodules[5] for details.
 
 submodule.<name>.update::
@@ -2881,6 +3053,16 @@
 	"--ignore-submodules" option. The 'git submodule' commands are not
 	affected by this setting.
 
+submodule.<name>.active::
+	Boolean value indicating if the submodule is of interest to git
+	commands.  This config option takes precedence over the
+	submodule.active config option.
+
+submodule.active::
+	A repeated field which contains a pathspec used to match against a
+	submodule's path to determine if the submodule is of interest to git
+	commands.
+
 submodule.fetchJobs::
 	Specifies how many submodules are fetched/cloned at the same time.
 	A positive integer allows up to that number of submodules fetched
@@ -2894,7 +3076,7 @@
 	value is set to `superproject` the submodule to be cloned computes
 	its alternates location relative to the superprojects alternate.
 
-submodule.alternateErrorStrategy
+submodule.alternateErrorStrategy::
 	Specifies how to treat errors with the alternates for a submodule
 	as computed via `submodule.alternateLocation`. Possible values are
 	`ignore`, `info`, `die`. Default is `die`.
@@ -3067,17 +3249,39 @@
 	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".
+versionsort.prereleaseSuffix (deprecated)::
+	Deprecated alias for `versionsort.suffix`.  Ignored if
+	`versionsort.suffix` is set.
+
+versionsort.suffix::
+	Even when version sort is used in linkgit:git-tag[1], tagnames
+	with the same base version but different suffixes are still sorted
+	lexicographically, resulting e.g. in prerelease tags appearing
+	after the main release (e.g. "1.0-rc1" after "1.0").  This
+	variable can be specified to determine the sorting order of tags
+	with different suffixes.
 +
-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.
+By specifying a single suffix in this variable, any tagname containing
+that suffix will appear before the corresponding main release.  E.g. if
+the variable is set to "-rc", then all "1.0-rcX" tags will appear before
+"1.0".  If specified multiple times, once per suffix, then the order of
+suffixes in the configuration will determine the sorting order of tagnames
+with those suffixes.  E.g. if "-pre" appears before "-rc" in the
+configuration, then all "1.0-preX" tags will be listed before any
+"1.0-rcX" tags.  The placement of the main release tag relative to tags
+with various suffixes can be determined by specifying the empty suffix
+among those other suffixes.  E.g. if the suffixes "-rc", "", "-ck" and
+"-bfs" appear in the configuration in this order, then all "v4.8-rcX" tags
+are listed first, followed by "v4.8", then "v4.8-ckX" and finally
+"v4.8-bfsX".
++
+If more than one suffixes match the same tagname, then that tagname will
+be sorted according to the suffix which starts at the earliest position in
+the tagname.  If more than one different matching suffixes start at
+that earliest position, then that tagname will be sorted according to the
+longest of those suffixes.
+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.
diff --git a/Documentation/diff-config.txt b/Documentation/diff-config.txt
index 58f4bd6..cbce8ec 100644
--- a/Documentation/diff-config.txt
+++ b/Documentation/diff-config.txt
@@ -60,6 +60,12 @@
 	Generate diffs with <n> lines of context instead of the default
 	of 3. This value is overridden by the -U option.
 
+diff.interHunkContext::
+	Show the context between diff hunks, up to the specified number
+	of lines, thereby fusing the hunks that are close to each other.
+	This value serves as the default for the `--inter-hunk-context`
+	command line option.
+
 diff.external::
 	If this config variable is set, diff generation is not
 	performed using the internal diff machinery, but using the
@@ -99,9 +105,10 @@
 	If set, 'git diff' does not show any source or destination prefix.
 
 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].
+	File indicating how to order files within a diff.
+	See the '-O' option to linkgit:git-diff[1] for details.
+	If `diff.orderFile` is a relative pathname, it is treated as
+	relative to the top of the working tree.
 
 diff.renameLimit::
 	The number of files to consider when performing the copy/rename
@@ -172,10 +179,8 @@
 include::mergetools-diff.txt[]
 
 diff.indentHeuristic::
-diff.compactionHeuristic::
-	Set one of these options to `true` to enable one of two
-	experimental heuristics that shift diff hunk boundaries to
-	make patches easier to read.
+	Set this option to `true` to enable experimental heuristics
+	that shift diff hunk boundaries to make patches easier to read.
 
 diff.algorithm::
 	Choose a diff algorithm.  The variants are as follows:
diff --git a/Documentation/diff-format.txt b/Documentation/diff-format.txt
index cf52626..706916c 100644
--- a/Documentation/diff-format.txt
+++ b/Documentation/diff-format.txt
@@ -78,9 +78,10 @@
 :100644 100644 5be4a4...... 000000...... M file.c
 ------------------------------------------------
 
-When `-z` option is not used, TAB, LF, and backslash characters
-in pathnames are represented as `\t`, `\n`, and `\\`,
-respectively.
+Without the `-z` option, pathnames with "unusual" characters are
+quoted as explained for the configuration variable `core.quotePath`
+(see linkgit:git-config[1]).  Using `-z` the filename is output
+verbatim and the line is terminated by a NUL byte.
 
 diff format for merges
 ----------------------
diff --git a/Documentation/diff-generate-patch.txt b/Documentation/diff-generate-patch.txt
index d2a7ff5..231105c 100644
--- a/Documentation/diff-generate-patch.txt
+++ b/Documentation/diff-generate-patch.txt
@@ -53,10 +53,9 @@
 The <mode> is included if the file mode does not change; otherwise,
 separate lines indicate the old and the new mode.
 
-3.  TAB, LF, double quote and backslash characters in pathnames
-    are represented as `\t`, `\n`, `\"` and `\\`, respectively.
-    If there is need for such substitution then the whole
-    pathname is put in double quotes.
+3.  Pathnames with "unusual" characters are quoted as explained for
+    the configuration variable `core.quotePath` (see
+    linkgit:git-config[1]).
 
 4.  All the `file1` files in the output refer to files before the
     commit, and all the `file2` files refer to files after the commit.
diff --git a/Documentation/diff-heuristic-options.txt b/Documentation/diff-heuristic-options.txt
index 36cb549..d4f3d95 100644
--- a/Documentation/diff-heuristic-options.txt
+++ b/Documentation/diff-heuristic-options.txt
@@ -1,7 +1,5 @@
 --indent-heuristic::
 --no-indent-heuristic::
---compaction-heuristic::
---no-compaction-heuristic::
 	These are to help debugging and tuning experimental heuristics
 	(which are off by default) that shift diff hunk boundaries to
 	make patches easier to read.
diff --git a/Documentation/diff-options.txt b/Documentation/diff-options.txt
index e6215c3..89cc0f4 100644
--- a/Documentation/diff-options.txt
+++ b/Documentation/diff-options.txt
@@ -192,10 +192,9 @@
 	given, do not munge pathnames and use NULs as output field terminators.
 endif::git-log[]
 +
-Without this option, each pathname output will have TAB, LF, double quotes,
-and backslash characters replaced with `\t`, `\n`, `\"`, and `\\`,
-respectively, and the pathname will be enclosed in double quotes if
-any of those replacements occurred.
+Without this option, pathnames with "unusual" characters are quoted as
+explained for the configuration variable `core.quotePath` (see
+linkgit:git-config[1]).
 
 --name-only::
 	Show only names of changed files.
@@ -466,11 +465,41 @@
 endif::git-format-patch[]
 
 -O<orderfile>::
-	Output the patch in the order specified in the
-	<orderfile>, which has one shell glob pattern per line.
+	Control the order in which files appear in the output.
 	This overrides the `diff.orderFile` configuration variable
 	(see linkgit:git-config[1]).  To cancel `diff.orderFile`,
 	use `-O/dev/null`.
++
+The output order is determined by the order of glob patterns in
+<orderfile>.
+All files with pathnames that match the first pattern are output
+first, all files with pathnames that match the second pattern (but not
+the first) are output next, and so on.
+All files with pathnames that do not match any pattern are output
+last, as if there was an implicit match-all pattern at the end of the
+file.
+If multiple pathnames have the same rank (they match the same pattern
+but no earlier patterns), their output order relative to each other is
+the normal order.
++
+<orderfile> is parsed as follows:
++
+--
+ - Blank lines are ignored, so they can be used as separators for
+   readability.
+
+ - Lines starting with a hash ("`#`") are ignored, so they can be used
+   for comments.  Add a backslash ("`\`") to the beginning of the
+   pattern if it starts with a hash.
+
+ - Each other line contains a single pattern.
+--
++
+Patterns have the same syntax and semantics as patterns used for
+fnmantch(3) without the FNM_PATHNAME flag, except a pathname also
+matches a pattern if removing any number of the final pathname
+components matches the pattern.  For example, the pattern "`foo*bar`"
+matches "`fooasdfbar`" and "`foo/bar/baz/asdf`" but not "`foobarx`".
 
 ifndef::git-format-patch[]
 -R::
@@ -511,6 +540,8 @@
 --inter-hunk-context=<lines>::
 	Show the context between diff hunks, up to the specified number
 	of lines, thereby fusing hunks that are close to each other.
+	Defaults to `diff.interHunkContext` or 0 if the config option
+	is unset.
 
 -W::
 --function-context::
diff --git a/Documentation/git-apply.txt b/Documentation/git-apply.txt
index 8ddb207..631cbd8 100644
--- a/Documentation/git-apply.txt
+++ b/Documentation/git-apply.txt
@@ -108,10 +108,9 @@
 	When `--numstat` has been given, do not munge pathnames,
 	but use a NUL-terminated machine-readable format.
 +
-Without this option, each pathname output will have TAB, LF, double quotes,
-and backslash characters replaced with `\t`, `\n`, `\"`, and `\\`,
-respectively, and the pathname will be enclosed in double quotes if
-any of those replacements occurred.
+Without this option, pathnames with "unusual" characters are quoted as
+explained for the configuration variable `core.quotePath` (see
+linkgit:git-config[1]).
 
 -p<n>::
 	Remove <n> leading slashes from traditional diff paths. The
diff --git a/Documentation/git-bisect.txt b/Documentation/git-bisect.txt
index bdd915a..6c42abf 100644
--- a/Documentation/git-bisect.txt
+++ b/Documentation/git-bisect.txt
@@ -137,7 +137,7 @@
 mix "good" and "bad" with "old" and "new" in a single session.)
 
 In this more general usage, you provide `git bisect` with a "new"
-commit has some property and an "old" commit that doesn't have that
+commit that has some property and an "old" commit that doesn't have that
 property. Each time `git bisect` checks out a commit, you test if that
 commit has the property. If it does, mark the commit as "new";
 otherwise, mark it as "old". When the bisection is done, `git bisect`
diff --git a/Documentation/git-branch.txt b/Documentation/git-branch.txt
index 1fe7344..81bd0a7 100644
--- a/Documentation/git-branch.txt
+++ b/Documentation/git-branch.txt
@@ -10,9 +10,10 @@
 [verse]
 'git branch' [--color[=<when>] | --no-color] [-r | -a]
 	[--list] [-v [--abbrev=<length> | --no-abbrev]]
-	[--column[=<options>] | --no-column]
-	[(--merged | --no-merged | --contains) [<commit>]] [--sort=<key>]
-	[--points-at <object>] [<pattern>...]
+	[--column[=<options>] | --no-column] [--sort=<key>]
+	[(--merged | --no-merged) [<commit>]]
+	[--contains [<commit]] [--no-contains [<commit>]]
+	[--points-at <object>] [--format=<format>] [<pattern>...]
 'git branch' [--set-upstream | --track | --no-track] [-l] [-f] <branchname> [<start-point>]
 'git branch' (--set-upstream-to=<upstream> | -u <upstream>) [<branchname>]
 'git branch' --unset-upstream [<branchname>]
@@ -35,11 +36,12 @@
 
 With `--contains`, shows only the branches that contain the named commit
 (in other words, the branches whose tip commits are descendants of the
-named commit).  With `--merged`, only branches merged into the named
-commit (i.e. the branches whose tip commits are reachable from the named
-commit) will be listed.  With `--no-merged` only branches not merged into
-the named commit will be listed.  If the <commit> argument is missing it
-defaults to `HEAD` (i.e. the tip of the current branch).
+named commit), `--no-contains` inverts it. With `--merged`, only branches
+merged into the named commit (i.e. the branches whose tip commits are
+reachable from the named commit) will be listed.  With `--no-merged` only
+branches not merged into the named commit will be listed.  If the <commit>
+argument is missing it defaults to `HEAD` (i.e. the tip of the current
+branch).
 
 The command's second form creates a new branch head named <branchname>
 which points to the current `HEAD`, or <start-point> if given.
@@ -91,6 +93,9 @@
 	based sha1 expressions such as "<branchname>@\{yesterday}".
 	Note that in non-bare repositories, reflogs are usually
 	enabled by default by the `core.logallrefupdates` config option.
+	The negated form `--no-create-reflog` only overrides an earlier
+	`--create-reflog`, but currently does not negate the setting of
+	`core.logallrefupdates`.
 
 -f::
 --force::
@@ -118,6 +123,10 @@
 	default to color output.
 	Same as `--color=never`.
 
+-i::
+--ignore-case::
+	Sorting and filtering branches are case insensitive.
+
 --column[=<options>]::
 --no-column::
 	Display branch listing in columns. See configuration variable
@@ -135,8 +144,13 @@
 	List both remote-tracking branches and local branches.
 
 --list::
-	Activate the list mode. `git branch <pattern>` would try to create a branch,
-	use `git branch --list <pattern>` to list matching branches.
+	List branches.  With optional `<pattern>...`, e.g. `git
+	branch --list 'maint-*'`, list only the branches that match
+	the pattern(s).
++
+This should not be confused with `git branch -l <branchname>`,
+which creates a branch named `<branchname>` with a reflog.
+See `--create-reflog` above for details.
 
 -v::
 -vv::
@@ -206,13 +220,19 @@
 	Only list branches which contain the specified commit (HEAD
 	if not specified). Implies `--list`.
 
+--no-contains [<commit>]::
+	Only list branches which don't contain the specified commit
+	(HEAD if not specified). Implies `--list`.
+
 --merged [<commit>]::
 	Only list branches whose tips are reachable from the
-	specified commit (HEAD if not specified). Implies `--list`.
+	specified commit (HEAD if not specified). Implies `--list`,
+	incompatible with `--no-merged`.
 
 --no-merged [<commit>]::
 	Only list branches whose tips are not reachable from the
-	specified commit (HEAD if not specified). Implies `--list`.
+	specified commit (HEAD if not specified). Implies `--list`,
+	incompatible with `--merged`.
 
 <branchname>::
 	The name of the branch to create or delete.
@@ -246,6 +266,11 @@
 --points-at <object>::
 	Only list branches of the given object.
 
+--format <format>::
+	A string that interpolates `%(fieldname)` from the object
+	pointed at by a ref being shown.  The format is the same as
+	that of linkgit:git-for-each-ref[1].
+
 Examples
 --------
 
@@ -284,13 +309,16 @@
 easier to use the git checkout command with its `-b` option to create
 a branch and check it out with a single command.
 
-The options `--contains`, `--merged` and `--no-merged` serve three related
-but different purposes:
+The options `--contains`, `--no-contains`, `--merged` and `--no-merged`
+serve four related but different purposes:
 
 - `--contains <commit>` is used to find all branches which will need
   special attention if <commit> were to be rebased or amended, since those
   branches contain the specified <commit>.
 
+- `--no-contains <commit>` is the inverse of that, i.e. branches that don't
+  contain the specified <commit>.
+
 - `--merged` is used to find all branches which can be safely deleted,
   since those branches are fully contained by HEAD.
 
diff --git a/Documentation/git-check-ref-format.txt b/Documentation/git-check-ref-format.txt
index 8611a99..92777ce 100644
--- a/Documentation/git-check-ref-format.txt
+++ b/Documentation/git-check-ref-format.txt
@@ -100,10 +100,10 @@
 --normalize::
 	Normalize 'refname' by removing any leading slash (`/`)
 	characters and collapsing runs of adjacent slashes between
-	name components into a single slash.  Iff the normalized
+	name components into a single slash.  If the normalized
 	refname is valid then print it to standard output and exit
-	with a status of 0.  (`--print` is a deprecated way to spell
-	`--normalize`.)
+	with a status of 0, otherwise exit with a non-zero status.
+	(`--print` is a deprecated way to spell `--normalize`.)
 
 
 EXAMPLES
diff --git a/Documentation/git-checkout.txt b/Documentation/git-checkout.txt
index 8e2c066..d6399c0 100644
--- a/Documentation/git-checkout.txt
+++ b/Documentation/git-checkout.txt
@@ -256,6 +256,13 @@
 	out anyway. In other words, the ref can be held by more than one
 	worktree.
 
+--[no-]recurse-submodules::
+	Using --recurse-submodules will update the content of all initialized
+	submodules according to the commit recorded in the superproject. If
+	local modifications in a submodule would be overwritten the checkout
+	will fail unless `-f` is used. If nothing (or --no-recurse-submodules)
+	is used, the work trees of submodules will not be updated.
+
 <branch>::
 	Branch to checkout; if it refers to a branch (i.e., a name that,
 	when prepended with "refs/heads/", is a valid ref), then that
diff --git a/Documentation/git-clone.txt b/Documentation/git-clone.txt
index 35cc34b..30052cc 100644
--- a/Documentation/git-clone.txt
+++ b/Documentation/git-clone.txt
@@ -14,7 +14,7 @@
 	  [-o <name>] [-b <name>] [-u <upload-pack>] [--reference <repository>]
 	  [--dissociate] [--separate-git-dir <git dir>]
 	  [--depth <depth>] [--[no-]single-branch]
-	  [--recursive | --recurse-submodules] [--[no-]shallow-submodules]
+	  [--recurse-submodules] [--[no-]shallow-submodules]
 	  [--jobs <n>] [--] <repository> [<directory>]
 
 DESCRIPTION
@@ -215,10 +215,14 @@
 	branch when `--single-branch` clone was made, no remote-tracking
 	branch is created.
 
---recursive::
---recurse-submodules::
-	After the clone is created, initialize all submodules within,
-	using their default settings. This is equivalent to running
+--recurse-submodules[=<pathspec]::
+	After the clone is created, initialize and clone submodules
+	within based on the provided pathspec.  If no pathspec is
+	provided, all submodules are initialized and cloned.
+	Submodules are initialized and cloned using their default
+	settings.  The resulting clone has `submodule.active` set to
+	the provided pathspec, or "." (meaning all submodules) if no
+	pathspec is provided.  This is equivalent to running
 	`git submodule update --init --recursive` immediately after
 	the clone is finished. This option is ignored if the cloned
 	repository does not have a worktree/checkout (i.e. if any of
diff --git a/Documentation/git-commit.txt b/Documentation/git-commit.txt
index 4f8f20a..ed0f5b9 100644
--- a/Documentation/git-commit.txt
+++ b/Documentation/git-commit.txt
@@ -117,9 +117,12 @@
 
 -z::
 --null::
-	When showing `short` or `porcelain` status output, terminate
-	entries in the status output with NUL, instead of LF. If no
-	format is given, implies the `--porcelain` output format.
+	When showing `short` or `porcelain` status output, print the
+	filename verbatim and terminate the entries with NUL, instead of LF.
+	If no format is given, implies the `--porcelain` output format.
+	Without the `-z` option, filenames with "unusual" characters are
+	quoted as explained for the configuration variable `core.quotePath`
+	(see linkgit:git-config[1]).
 
 -F <file>::
 --file=<file>::
@@ -460,7 +463,7 @@
 HOOKS
 -----
 This command can run `commit-msg`, `prepare-commit-msg`, `pre-commit`,
-and `post-commit` hooks.  See linkgit:githooks[5] for more
+`post-commit` and `post-rewrite` hooks.  See linkgit:githooks[5] for more
 information.
 
 FILES
diff --git a/Documentation/git-credential-cache.txt b/Documentation/git-credential-cache.txt
index 96208f8..2b85826 100644
--- a/Documentation/git-credential-cache.txt
+++ b/Documentation/git-credential-cache.txt
@@ -33,10 +33,13 @@
 --socket <path>::
 
 	Use `<path>` to contact a running cache daemon (or start a new
-	cache daemon if one is not started). Defaults to
-	`~/.git-credential-cache/socket`. If your home directory is on a
-	network-mounted filesystem, you may need to change this to a
-	local filesystem. You must specify an absolute path.
+	cache daemon if one is not started).
+	Defaults to `$XDG_CACHE_HOME/git/credential/socket` unless
+	`~/.git-credential-cache/` exists in which case
+	`~/.git-credential-cache/socket` is used instead.
+	If your home directory is on a network-mounted filesystem, you
+	may need to change this to a local filesystem. You must specify
+	an absolute path.
 
 CONTROLLING THE DAEMON
 ----------------------
diff --git a/Documentation/git-describe.txt b/Documentation/git-describe.txt
index e4ac448..26f19d3 100644
--- a/Documentation/git-describe.txt
+++ b/Documentation/git-describe.txt
@@ -30,9 +30,14 @@
 	Commit-ish object names to describe.  Defaults to HEAD if omitted.
 
 --dirty[=<mark>]::
-	Describe the working tree.
-	It means describe HEAD and appends <mark> (`-dirty` by
-	default) if the working tree is dirty.
+--broken[=<mark>]::
+	Describe the state of the working tree.  When the working
+	tree matches HEAD, the output is the same as "git describe
+	HEAD".  If the working tree has local modification "-dirty"
+	is appended to it.  If a repository is corrupt and Git
+	cannot determine if there is local modification, Git will
+	error out, unless `--broken' is given, which appends
+	the suffix "-broken" instead.
 
 --all::
 	Instead of using only the annotated tags, use any ref
@@ -83,7 +88,20 @@
 --match <pattern>::
 	Only consider tags matching the given `glob(7)` pattern,
 	excluding the "refs/tags/" prefix.  This can be used to avoid
-	leaking private tags from the repository.
+	leaking private tags from the repository. If given multiple times, a
+	list of patterns will be accumulated, and tags matching any of the
+	patterns will be considered. Use `--no-match` to clear and reset the
+	list of patterns.
+
+--exclude <pattern>::
+	Do not consider tags matching the given `glob(7)` pattern, excluding
+	the "refs/tags/" prefix. This can be used to narrow the tag space and
+	find only tags matching some meaningful criteria. If given multiple
+	times, a list of patterns will be accumulated and tags matching any
+	of the patterns will be excluded. When combined with --match a tag will
+	be considered when it matches at least one --match pattern and does not
+	match any of the --exclude patterns. Use `--no-exclude` to clear and
+	reset the list of patterns.
 
 --always::
 	Show uniquely abbreviated commit object as fallback.
diff --git a/Documentation/git-diff.txt b/Documentation/git-diff.txt
index bbab35f..b0c1bb9 100644
--- a/Documentation/git-diff.txt
+++ b/Documentation/git-diff.txt
@@ -97,6 +97,20 @@
 :git-diff: 1
 include::diff-options.txt[]
 
+-1 --base::
+-2 --ours::
+-3 --theirs::
+	Compare the working tree with the "base" version (stage #1),
+	"our branch" (stage #2) or "their branch" (stage #3).  The
+	index contains these stages only for unmerged entries i.e.
+	while resolving conflicts.  See linkgit:git-read-tree[1]
+	section "3-Way Merge" for detailed information.
+
+-0::
+	Omit diff output for unmerged entries and just show
+	"Unmerged".  Can be used only when comparing the working tree
+	with the index.
+
 <path>...::
 	The <paths> parameters, when given, are used to limit
 	the diff to the named paths (you can give directory
diff --git a/Documentation/git-difftool.txt b/Documentation/git-difftool.txt
index 224fb30..96c26e6 100644
--- a/Documentation/git-difftool.txt
+++ b/Documentation/git-difftool.txt
@@ -86,10 +86,11 @@
 	Additionally, `$BASE` is set in the environment.
 
 -g::
---gui::
+--[no-]gui::
 	When 'git-difftool' is invoked with the `-g` or `--gui` option
 	the default diff tool will be read from the configured
-	`diff.guitool` variable instead of `diff.tool`.
+	`diff.guitool` variable instead of `diff.tool`. The `--no-gui`
+	option can be used to override this setting.
 
 --[no-]trust-exit-code::
 	'git-difftool' invokes a diff tool individually on each file.
diff --git a/Documentation/git-filter-branch.txt b/Documentation/git-filter-branch.txt
index 0a09698..6e4bb02 100644
--- a/Documentation/git-filter-branch.txt
+++ b/Documentation/git-filter-branch.txt
@@ -167,14 +167,12 @@
 	project root. Implies <<Remap_to_ancestor>>.
 
 --prune-empty::
-	Some kind of filters will generate empty commits, that left the tree
-	untouched.  This switch allow git-filter-branch to ignore such
-	commits.  Though, this switch only applies for commits that have one
-	and only one parent, it will hence keep merges points. Also, this
-	option is not compatible with the use of `--commit-filter`. Though you
-	just need to use the function 'git_commit_non_empty_tree "$@"' instead
-	of the `git commit-tree "$@"` idiom in your commit filter to make that
-	happen.
+	Some filters will generate empty commits that leave the tree untouched.
+	This option instructs git-filter-branch to remove such commits if they
+	have exactly one or zero non-pruned parents; merge commits will
+	therefore remain intact.  This option cannot be used together with
+	`--commit-filter`, though the same effect can be achieved by using the
+	provided `git_commit_non_empty_tree` function in a commit filter.
 
 --original <namespace>::
 	Use this option to set the namespace where the original commits
diff --git a/Documentation/git-for-each-ref.txt b/Documentation/git-for-each-ref.txt
index f57e69b..03e187a 100644
--- a/Documentation/git-for-each-ref.txt
+++ b/Documentation/git-for-each-ref.txt
@@ -11,7 +11,7 @@
 'git for-each-ref' [--count=<count>] [--shell|--perl|--python|--tcl]
 		   [(--sort=<key>)...] [--format=<format>] [<pattern>...]
 		   [--points-at <object>] [(--merged | --no-merged) [<object>]]
-		   [--contains [<object>]]
+		   [--contains [<object>]] [--no-contains [<object>]]
 
 DESCRIPTION
 -----------
@@ -69,16 +69,25 @@
 
 --merged [<object>]::
 	Only list refs whose tips are reachable from the
-	specified commit (HEAD if not specified).
+	specified commit (HEAD if not specified),
+	incompatible with `--no-merged`.
 
 --no-merged [<object>]::
 	Only list refs whose tips are not reachable from the
-	specified commit (HEAD if not specified).
+	specified commit (HEAD if not specified),
+	incompatible with `--merged`.
 
 --contains [<object>]::
 	Only list refs which contain the specified commit (HEAD if not
 	specified).
 
+--no-contains [<object>]::
+	Only list refs which don't contain the specified commit (HEAD
+	if not specified).
+
+--ignore-case::
+	Sorting and filtering refs are case insensitive.
+
 FIELD NAMES
 -----------
 
@@ -92,11 +101,20 @@
 	The name of the ref (the part after $GIT_DIR/).
 	For a non-ambiguous short name of the ref append `:short`.
 	The option core.warnAmbiguousRefs is used to select the strict
-	abbreviation mode. If `strip=<N>` is appended, strips `<N>`
-	slash-separated path components from the front of the refname
-	(e.g., `%(refname:strip=2)` turns `refs/tags/foo` into `foo`.
-	`<N>` must be a positive integer.  If a displayed ref has fewer
-	components than `<N>`, the command aborts with an error.
+	abbreviation mode. If `lstrip=<N>` (`rstrip=<N>`) is appended, strips `<N>`
+	slash-separated path components from the front (back) of the refname
+	(e.g. `%(refname:lstrip=2)` turns `refs/tags/foo` into `foo` and
+	`%(refname:rstrip=2)` turns `refs/tags/foo` into `refs`).
+	If `<N>` is a negative number, strip as many path components as
+	necessary from the specified end to leave `-<N>` path components
+	(e.g. `%(refname:lstrip=-2)` turns
+	`refs/tags/foo` into `tags/foo` and `%(refname:rstrip=-1)`
+	turns `refs/tags/foo` into `refs`). When the ref does not have
+	enough components, the result becomes an empty string if
+	stripping with positive <N>, or it becomes the full refname if
+	stripping with negative <N>.  Neither is an error.
++
+`strip` can be used as a synomym to `lstrip`.
 
 objecttype::
 	The type of the object (`blob`, `tree`, `commit`, `tag`).
@@ -107,21 +125,31 @@
 objectname::
 	The object name (aka SHA-1).
 	For a non-ambiguous abbreviation of the object name append `:short`.
+	For an abbreviation of the object name with desired length append
+	`:short=<length>`, where the minimum length is MINIMUM_ABBREV. The
+	length may be exceeded to ensure unique object names.
 
 upstream::
 	The name of a local ref which can be considered ``upstream''
-	from the displayed ref. Respects `:short` in the same way as
-	`refname` above.  Additionally respects `:track` to show
-	"[ahead N, behind M]" and `:trackshort` to show the terse
-	version: ">" (ahead), "<" (behind), "<>" (ahead and behind),
-	or "=" (in sync).  Has no effect if the ref does not have
-	tracking information associated with it.
+	from the displayed ref. Respects `:short`, `:lstrip` and
+	`:rstrip` in the same way as `refname` above.  Additionally
+	respects `:track` to show "[ahead N, behind M]" and
+	`:trackshort` to show the terse version: ">" (ahead), "<"
+	(behind), "<>" (ahead and behind), or "=" (in sync). `:track`
+	also prints "[gone]" whenever unknown upstream ref is
+	encountered. Append `:track,nobracket` to show tracking
+	information without brackets (i.e "ahead N, behind M").  Has
+	no effect if the ref does not have tracking information
+	associated with it.  All the options apart from `nobracket`
+	are mutually exclusive, but if used together the last option
+	is selected.
 
 push::
-	The name of a local ref which represents the `@{push}` location
-	for the displayed ref. Respects `:short`, `:track`, and
-	`:trackshort` options as `upstream` does. Produces an empty
-	string if no `@{push}` ref is configured.
+	The name of a local ref which represents the `@{push}`
+	location for the displayed ref. Respects `:short`, `:lstrip`,
+	`:rstrip`, `:track`, and `:trackshort` options as `upstream`
+	does. Produces an empty string if no `@{push}` ref is
+	configured.
 
 HEAD::
 	'*' if HEAD matches current ref (the checked out branch), ' '
@@ -146,6 +174,25 @@
 	quoted, but if nested then only the topmost level performs
 	quoting.
 
+if::
+	Used as %(if)...%(then)...%(end) or
+	%(if)...%(then)...%(else)...%(end).  If there is an atom with
+	value or string literal after the %(if) then everything after
+	the %(then) is printed, else if the %(else) atom is used, then
+	everything after %(else) is printed. We ignore space when
+	evaluating the string before %(then), this is useful when we
+	use the %(HEAD) atom which prints either "*" or " " and we
+	want to apply the 'if' condition only on the 'HEAD' ref.
+	Append ":equals=<string>" or ":notequals=<string>" to compare
+	the value between the %(if:...) and %(then) atoms with the
+	given string.
+
+symref::
+	The ref which the given symbolic ref refers to. If not a
+	symbolic ref, nothing is printed. Respects the `:short`,
+	`:lstrip` and `:rstrip` options in the same way as `refname`
+	above.
+
 In addition to the above, for commit and tag objects, the header
 field names (`tree`, `parent`, `object`, `type`, and `tag`) can
 be used to specify the value in the header field.
@@ -165,6 +212,8 @@
 line is 'contents:body', where body is all of the lines after the first
 blank line.  The optional GPG signature is `contents:signature`.  The
 first `N` lines of the message is obtained using `contents:lines=N`.
+Additionally, the trailers as interpreted by linkgit:git-interpret-trailers[1]
+are obtained as 'contents:trailers'.
 
 For sorting purposes, fields with numeric values sort in numeric order
 (`objectsize`, `authordate`, `committerdate`, `creatordate`, `taggerdate`).
@@ -181,6 +230,14 @@
 the date by adding `:` followed by date format name (see the
 values the `--date` option to linkgit:git-rev-list[1] takes).
 
+Some atoms like %(align) and %(if) always require a matching %(end).
+We call them "opening atoms" and sometimes denote them as %($open).
+
+When a scripting language specific quoting is in effect, everything
+between a top-level opening atom and its matching %(end) is evaluated
+according to the semantics of the opening atom and only its result
+from the top-level is quoted.
+
 
 EXAMPLES
 --------
@@ -268,6 +325,22 @@
 eval "$eval"
 ------------
 
+
+An example to show the usage of %(if)...%(then)...%(else)...%(end).
+This prefixes the current branch with a star.
+
+------------
+git for-each-ref --format="%(if)%(HEAD)%(then)* %(else)  %(end)%(refname:short)" refs/heads/
+------------
+
+
+An example to show the usage of %(if)...%(then)...%(end).
+This prints the authorname, if present.
+
+------------
+git for-each-ref --format="%(refname)%(if)%(authorname)%(then) Authored by: %(authorname)%(end)"
+------------
+
 SEE ALSO
 --------
 linkgit:git-show-ref[1]
diff --git a/Documentation/git-format-patch.txt b/Documentation/git-format-patch.txt
index 9b200b3..f7a069b 100644
--- a/Documentation/git-format-patch.txt
+++ b/Documentation/git-format-patch.txt
@@ -239,7 +239,7 @@
 of the patch series (but see the discussion of the `notes.rewrite`
 configuration options in linkgit:git-notes[1] to use this workflow).
 
---[no]-signature=<signature>::
+--[no-]signature=<signature>::
 	Add a signature to each message produced. Per RFC 3676 the signature
 	is separated from the body by a line with '-- ' on it. If the
 	signature option is omitted the signature defaults to the Git version
diff --git a/Documentation/git-gc.txt b/Documentation/git-gc.txt
index 852b72c..571b5a7 100644
--- a/Documentation/git-gc.txt
+++ b/Documentation/git-gc.txt
@@ -127,7 +127,7 @@
 more details.  This defaults to 250.
 
 Similarly, the optional configuration variable `gc.aggressiveDepth`
-controls --depth option in linkgit:git-repack[1]. This defaults to 250.
+controls --depth option in linkgit:git-repack[1]. This defaults to 50.
 
 The optional configuration variable `gc.pruneExpire` controls how old
 the unreferenced loose objects have to be before they are pruned.  The
diff --git a/Documentation/git-grep.txt b/Documentation/git-grep.txt
index 0ecea6e..71f32f3 100644
--- a/Documentation/git-grep.txt
+++ b/Documentation/git-grep.txt
@@ -26,6 +26,7 @@
 	   [--threads <num>]
 	   [-f <file>] [-e] <pattern>
 	   [--and|--or|--not|(|)|-e <pattern>...]
+	   [--recurse-submodules] [--parent-basename <basename>]
 	   [ [--[no-]exclude-standard] [--cached | --no-index | --untracked] | <tree>...]
 	   [--] [<pathspec>...]
 
@@ -88,6 +89,19 @@
 	mechanism.  Only useful when searching files in the current directory
 	with `--no-index`.
 
+--recurse-submodules::
+	Recursively search in each submodule that has been initialized and
+	checked out in the repository.  When used in combination with the
+	<tree> option the prefix of all submodule output will be the name of
+	the parent project's <tree> object.
+
+--parent-basename <basename>::
+	For internal use only.  In order to produce uniform output with the
+	--recurse-submodules option, this option can be used to provide the
+	basename of a parent's <tree> object to a submodule so the submodule
+	can prefix its output with the parent's name rather than the SHA1 of
+	the submodule.
+
 -a::
 --text::
 	Process binary files as if they were text.
diff --git a/Documentation/git-gui.txt b/Documentation/git-gui.txt
index c1a3e8b..5f93f80 100644
--- a/Documentation/git-gui.txt
+++ b/Documentation/git-gui.txt
@@ -35,7 +35,7 @@
 
 browser::
 	Start a tree browser showing all files in the specified
-	commit (or `HEAD` by default).  Files selected through the
+	commit.  Files selected through the
 	browser are opened in the blame viewer.
 
 citool::
diff --git a/Documentation/git-init.txt b/Documentation/git-init.txt
index 9d27197..3c5a67f 100644
--- a/Documentation/git-init.txt
+++ b/Documentation/git-init.txt
@@ -116,8 +116,8 @@
 TEMPLATE DIRECTORY
 ------------------
 
-The template directory contains files and directories that will be copied to
-the `$GIT_DIR` after it is created.
+Files and directories in the template directory whose name do not start with a
+dot will be copied to the `$GIT_DIR` after it is created.
 
 The template directory will be one of the following (in order):
 
diff --git a/Documentation/git-ls-files.txt b/Documentation/git-ls-files.txt
index 446209e..d153c17 100644
--- a/Documentation/git-ls-files.txt
+++ b/Documentation/git-ls-files.txt
@@ -57,7 +57,7 @@
 
 -s::
 --stage::
-	Show staged contents' object name, mode bits and stage number in the output.
+	Show staged contents' mode bits, object name and stage number in the output.
 
 --directory::
 	If a whole directory is classified as "other", show just its
@@ -77,7 +77,8 @@
 	succeed.
 
 -z::
-	\0 line termination on output.
+	\0 line termination on output and do not quote filenames.
+	See OUTPUT below for more information.
 
 -x <pattern>::
 --exclude=<pattern>::
@@ -196,9 +197,10 @@
 the user (or the porcelain) to see what should eventually be recorded at the
 path. (see linkgit:git-read-tree[1] for more information on state)
 
-When `-z` option is not used, TAB, LF, and backslash characters
-in pathnames are represented as `\t`, `\n`, and `\\`,
-respectively.
+Without the `-z` option, pathnames with "unusual" characters are
+quoted as explained for the configuration variable `core.quotePath`
+(see linkgit:git-config[1]).  Using `-z` the filename is output
+verbatim and the line is terminated by a NUL byte.
 
 
 Exclude Patterns
diff --git a/Documentation/git-ls-tree.txt b/Documentation/git-ls-tree.txt
index dbc91f9..9dee7be 100644
--- a/Documentation/git-ls-tree.txt
+++ b/Documentation/git-ls-tree.txt
@@ -53,7 +53,8 @@
 	Show object size of blob (file) entries.
 
 -z::
-	\0 line termination on output.
+	\0 line termination on output and do not quote filenames.
+	See OUTPUT FORMAT below for more information.
 
 --name-only::
 --name-status::
@@ -82,8 +83,6 @@
 -------------
         <mode> SP <type> SP <object> TAB <file>
 
-Unless the `-z` option is used, TAB, LF, and backslash characters
-in pathnames are represented as `\t`, `\n`, and `\\`, respectively.
 This output format is compatible with what `--index-info --stdin` of
 'git update-index' expects.
 
@@ -95,6 +94,11 @@
 with minimum width of 7 characters.  Object size is given only for blobs
 (file) entries; for other entries `-` character is used in place of size.
 
+Without the `-z` option, pathnames with "unusual" characters are
+quoted as explained for the configuration variable `core.quotePath`
+(see linkgit:git-config[1]).  Using `-z` the filename is output
+verbatim and the line is terminated by a NUL byte.
+
 GIT
 ---
 Part of the linkgit:git[1] suite
diff --git a/Documentation/git-merge.txt b/Documentation/git-merge.txt
index b758d55..04fdd8c 100644
--- a/Documentation/git-merge.txt
+++ b/Documentation/git-merge.txt
@@ -13,8 +13,8 @@
 	[-s <strategy>] [-X <strategy-option>] [-S[<keyid>]]
 	[--[no-]allow-unrelated-histories]
 	[--[no-]rerere-autoupdate] [-m <msg>] [<commit>...]
-'git merge' <msg> HEAD <commit>...
 'git merge' --abort
+'git merge' --continue
 
 DESCRIPTION
 -----------
@@ -45,11 +45,7 @@
     D---E---F---G---H master
 ------------
 
-The second syntax (<msg> `HEAD` <commit>...) is supported for
-historical reasons.  Do not use it from the command line or in
-new scripts.  It is the same as `git merge -m <msg> <commit>...`.
-
-The third syntax ("`git merge --abort`") can only be run after the
+The second syntax ("`git merge --abort`") can only be run after the
 merge has resulted in conflicts. 'git merge --abort' will abort the
 merge process and try to reconstruct the pre-merge state. However,
 if there were uncommitted changes when the merge started (and
@@ -61,6 +57,8 @@
 discouraged: while possible, it may leave you in a state that is hard to
 back out of in the case of a conflict.
 
+The fourth syntax ("`git merge --continue`") can only be run after the
+merge has resulted in conflicts.
 
 OPTIONS
 -------
@@ -99,6 +97,11 @@
 'git merge --abort' is equivalent to 'git reset --merge' when
 `MERGE_HEAD` is present.
 
+--continue::
+	After a 'git merge' stops due to conflicts you can conclude the
+	merge by running 'git merge --continue' (see "HOW TO RESOLVE
+	CONFLICTS" section below).
+
 <commit>...::
 	Commits, usually other branch heads, to merge into our branch.
 	Specifying more than one commit will create a merge with
diff --git a/Documentation/git-name-rev.txt b/Documentation/git-name-rev.txt
index ca28fb8..e8e68f5 100644
--- a/Documentation/git-name-rev.txt
+++ b/Documentation/git-name-rev.txt
@@ -26,7 +26,18 @@
 
 --refs=<pattern>::
 	Only use refs whose names match a given shell pattern.  The pattern
-	can be one of branch name, tag name or fully qualified ref name.
+	can be one of branch name, tag name or fully qualified ref name. If
+	given multiple times, use refs whose names match any of the given shell
+	patterns. Use `--no-refs` to clear any previous ref patterns given.
+
+--exclude=<pattern>::
+	Do not use any ref whose name matches a given shell pattern. The
+	pattern can be one of branch name, tag name or fully qualified ref
+	name. If given multiple times, a ref will be excluded when it matches
+	any of the given patterns. When used together with --refs, a ref will
+	be used as a match only when it matches at least one --refs pattern and
+	does not match any --exclude patterns. Use `--no-exclude` to clear the
+	list of exclude patterns.
 
 --all::
 	List all commits reachable from all refs
diff --git a/Documentation/git-p4.txt b/Documentation/git-p4.txt
index c83aaf3..7436c64 100644
--- a/Documentation/git-p4.txt
+++ b/Documentation/git-p4.txt
@@ -303,6 +303,15 @@
 	submit manually or revert.  This option always stops after the
 	first (oldest) commit.  Git tags are not exported to p4.
 
+--shelve::
+	Instead of submitting create a series of shelved changelists.
+	After creating each shelve, the relevant files are reverted/deleted.
+	If you have multiple commits pending multiple shelves will be created.
+
+--update-shelve CHANGELIST::
+	Update an existing shelved changelist with this commit. Implies
+	--shelve.
+
 --conflict=(ask|skip|quit)::
 	Conflicts can occur when applying a commit to p4.  When this
 	happens, the default behavior ("ask") is to prompt whether to
@@ -467,6 +476,12 @@
 	Client specified as an option to all p4 commands, with
 	'-c <client>', including the client spec.
 
+git-p4.retries::
+	Specifies the number of times to retry a p4 command (notably,
+	'p4 sync') if the network times out. The default value is 3.
+	Set the value to 0 to disable retries or if your p4 version
+	does not support retries (pre 2012.2).
+
 Clone and sync variables
 ~~~~~~~~~~~~~~~~~~~~~~~~
 git-p4.syncFromOrigin::
diff --git a/Documentation/git-push.txt b/Documentation/git-push.txt
index 8eefabd..1624a35 100644
--- a/Documentation/git-push.txt
+++ b/Documentation/git-push.txt
@@ -272,7 +272,7 @@
 	standard error stream is not directed to a terminal.
 
 --no-recurse-submodules::
---recurse-submodules=check|on-demand|no::
+--recurse-submodules=check|on-demand|only|no::
 	May be used to make sure all submodule commits used by the
 	revisions to be pushed are available on a remote-tracking branch.
 	If 'check' is used Git will verify that all submodule commits that
@@ -280,11 +280,12 @@
 	remote of the submodule. If any commits are missing the push will
 	be aborted and exit with non-zero status. If 'on-demand' is used
 	all submodules that changed in the revisions to be pushed will be
-	pushed. If on-demand was not able to push all necessary revisions
-	it will also be aborted and exit with non-zero status. A value of
-	'no' or using `--no-recurse-submodules` can be used to override the
-	push.recurseSubmodules configuration variable when no submodule
-	recursion is required.
+	pushed. If on-demand was not able to push all necessary revisions it will
+	also be aborted and exit with non-zero status. If 'only' is used all
+	submodules will be recursively pushed while the superproject is left
+	unpushed. A value of 'no' or using `--no-recurse-submodules` can be used
+	to override the push.recurseSubmodules configuration variable when no
+	submodule recursion is required.
 
 --[no-]verify::
 	Toggle the pre-push hook (see linkgit:githooks[5]).  The
diff --git a/Documentation/git-read-tree.txt b/Documentation/git-read-tree.txt
index fa1d557..ed9d63e 100644
--- a/Documentation/git-read-tree.txt
+++ b/Documentation/git-read-tree.txt
@@ -115,6 +115,12 @@
 	directories the index file and index output file are
 	located in.
 
+--[no-]recurse-submodules::
+	Using --recurse-submodules will update the content of all initialized
+	submodules according to the commit recorded in the superproject by
+	calling read-tree recursively, also setting the submodules HEAD to be
+	detached at that commit.
+
 --no-sparse-checkout::
 	Disable sparse checkout support even if `core.sparseCheckout`
 	is true.
diff --git a/Documentation/git-rebase.txt b/Documentation/git-rebase.txt
index de222c8..67d48e6 100644
--- a/Documentation/git-rebase.txt
+++ b/Documentation/git-rebase.txt
@@ -12,7 +12,7 @@
 	[<upstream> [<branch>]]
 'git rebase' [-i | --interactive] [options] [--exec <cmd>] [--onto <newbase>]
 	--root [<branch>]
-'git rebase' --continue | --skip | --abort | --edit-todo
+'git rebase' --continue | --skip | --abort | --quit | --edit-todo
 
 DESCRIPTION
 -----------
@@ -252,6 +252,11 @@
 	will be reset to where it was when the rebase operation was
 	started.
 
+--quit::
+	Abort the rebase operation but HEAD is not reset back to the
+	original branch. The index and working tree are also left
+	unchanged as a result.
+
 --keep-empty::
 	Keep the commits that do not change anything from its
 	parents in the result.
diff --git a/Documentation/git-relink.txt b/Documentation/git-relink.txt
deleted file mode 100644
index 3b33c99..0000000
--- a/Documentation/git-relink.txt
+++ /dev/null
@@ -1,30 +0,0 @@
-git-relink(1)
-=============
-
-NAME
-----
-git-relink - Hardlink common objects in local repositories
-
-SYNOPSIS
---------
-[verse]
-'git relink' [--safe] <dir>... <master_dir>
-
-DESCRIPTION
------------
-This will scan 1 or more object repositories and look for objects in common
-with a master repository. Objects not already hardlinked to the master
-repository will be replaced with a hardlink to the master repository.
-
-OPTIONS
--------
---safe::
-	Stops if two objects with the same hash exist but have different sizes.
-	Default is to warn and continue.
-
-<dir>::
-	Directories containing a .git/objects/ subdirectory.
-
-GIT
----
-Part of the linkgit:git[1] suite
diff --git a/Documentation/git-reset.txt b/Documentation/git-reset.txt
index 25432d9..8a21198 100644
--- a/Documentation/git-reset.txt
+++ b/Documentation/git-reset.txt
@@ -292,6 +292,54 @@
 <3> But you can use "reset --keep" to remove the unwanted commit after
     you switched to "branch2".
 
+Split a commit apart into a sequence of commits::
++
+Suppose that you have created lots of logically separate changes and commited
+them together. Then, later you decide that it might be better to have each
+logical chunk associated with its own commit. You can use git reset to rewind
+history without changing the contents of your local files, and then successively
+use `git add -p` to interactively select which hunks to include into each commit,
+using `git commit -c` to pre-populate the commit message.
++
+------------
+$ git reset -N HEAD^                        <1>
+$ git add -p                                <2>
+$ git diff --cached                         <3>
+$ git commit -c HEAD@{1}                    <4>
+...                                         <5>
+$ git add ...                               <6>
+$ git diff --cached                         <7>
+$ git commit ...                            <8>
+------------
++
+<1> First, reset the history back one commit so that we remove the original
+    commit, but leave the working tree with all the changes. The -N ensures
+    that any new files added with HEAD are still marked so that git add -p
+    will find them.
+<2> Next, we interactively select diff hunks to add using the git add -p
+    facility. This will ask you about each diff hunk in sequence and you can
+    use simple commands such as "yes, include this", "No don't include this"
+    or even the very powerful "edit" facility.
+<3> Once satisfied with the hunks you want to include, you should verify what
+    has been prepared for the first commit by using git diff --cached. This
+    shows all the changes that have been moved into the index and are about
+    to be committed.
+<4> Next, commit the changes stored in the index. The -c option specifies to
+    pre-populate the commit message from the original message that you started
+    with in the first commit. This is helpful to avoid retyping it. The HEAD@{1}
+    is a special notation for the commit that HEAD used to be at prior to the
+    original reset commit (1 change ago). See linkgit:git-reflog[1] for more
+    details. You may also use any other valid commit reference.
+<5> You can repeat steps 2-4 multiple times to break the original code into
+    any number of commits.
+<6> Now you've split out many of the changes into their own commits, and might
+    no longer use the patch mode of git add, in order to select all remaining
+    uncommitted changes.
+<7> Once again, check to verify that you've included what you want to. You may
+    also wish to verify that git diff doesn't show any remaining changes to be
+    committed later.
+<8> And finally create the final commit.
+
 
 DISCUSSION
 ----------
diff --git a/Documentation/git-rev-parse.txt b/Documentation/git-rev-parse.txt
index b6c6326..c40c470 100644
--- a/Documentation/git-rev-parse.txt
+++ b/Documentation/git-rev-parse.txt
@@ -91,7 +91,8 @@
 ----
 prefix=$(git rev-parse --show-prefix)
 cd "$(git rev-parse --show-toplevel)"
-eval "set -- $(git rev-parse --sq --prefix "$prefix" "$@")"
+# rev-parse provides the -- needed for 'set'
+eval "set $(git rev-parse --sq --prefix "$prefix" -- "$@")"
 ----
 
 --verify::
@@ -216,6 +217,10 @@
 is not detected to lie in a Git repository or work tree
 print a message to stderr and exit with nonzero status.
 
+--absolute-git-dir::
+	Like `--git-dir`, but its output is always the canonicalized
+	absolute path.
+
 --git-common-dir::
 	Show `$GIT_COMMON_DIR` if defined, else `$GIT_DIR`.
 
@@ -256,6 +261,12 @@
 --show-toplevel::
 	Show the absolute path of the top-level directory.
 
+--show-superproject-working-tree
+	Show the absolute path of the root of the superproject's
+	working tree (if exists) that uses the current repository as
+	its submodule.  Outputs nothing if the current repository is
+	not used as a submodule by any project.
+
 --shared-index-path::
 	Show the path to the shared index file in split index mode, or
 	empty if not in split-index mode.
diff --git a/Documentation/git-send-email.txt b/Documentation/git-send-email.txt
index 642d0ef..9d66166 100644
--- a/Documentation/git-send-email.txt
+++ b/Documentation/git-send-email.txt
@@ -89,7 +89,7 @@
 	reply to the given Message-Id, which avoids breaking threads to
 	provide a new patch series.
 	The second and subsequent emails will be sent as replies according to
-	the `--[no]-chain-reply-to` setting.
+	the `--[no-]chain-reply-to` setting.
 +
 So for example when `--thread` and `--no-chain-reply-to` are specified, the
 second and subsequent patches will be replies to the first one like in the
diff --git a/Documentation/git-send-pack.txt b/Documentation/git-send-pack.txt
index a831dd0..966abb0 100644
--- a/Documentation/git-send-pack.txt
+++ b/Documentation/git-send-pack.txt
@@ -81,6 +81,12 @@
 	will also fail if the actual call to `gpg --sign` fails.  See
 	linkgit:git-receive-pack[1] for the details on the receiving end.
 
+--push-option=<string>::
+	Pass the specified string as a push option for consumption by
+	hooks on the server side.  If the server doesn't support push
+	options, error out.  See linkgit:git-push[1] and
+	linkgit:githooks[5] for details.
+
 <host>::
 	A remote host to house the repository.  When this
 	part is specified, 'git-receive-pack' is invoked via
diff --git a/Documentation/git-shortlog.txt b/Documentation/git-shortlog.txt
index 31af7f2..ee6c547 100644
--- a/Documentation/git-shortlog.txt
+++ b/Documentation/git-shortlog.txt
@@ -47,6 +47,10 @@
 
 	Each pretty-printed commit will be rewrapped before it is shown.
 
+-c::
+--committer::
+	Collect and show committer identities instead of authors.
+
 -w[<width>[,<indent1>[,<indent2>]]]::
 	Linewrap the output by wrapping each line at `width`.  The first
 	line of each entry is indented by `indent1` spaces, and the second
diff --git a/Documentation/git-stash.txt b/Documentation/git-stash.txt
index 2e9cef0..70191d0 100644
--- a/Documentation/git-stash.txt
+++ b/Documentation/git-stash.txt
@@ -13,8 +13,11 @@
 'git stash' drop [-q|--quiet] [<stash>]
 'git stash' ( pop | apply ) [--index] [-q|--quiet] [<stash>]
 'git stash' branch <branchname> [<stash>]
-'git stash' [save [-p|--patch] [-k|--[no-]keep-index] [-q|--quiet]
-	     [-u|--include-untracked] [-a|--all] [<message>]]
+'git stash' save [-p|--patch] [-k|--[no-]keep-index] [-q|--quiet]
+	     [-u|--include-untracked] [-a|--all] [<message>]
+'git stash' [push [-p|--patch] [-k|--[no-]keep-index] [-q|--quiet]
+	     [-u|--include-untracked] [-a|--all] [-m|--message <message>]]
+	     [--] [<pathspec>...]]
 'git stash' clear
 'git stash' create [<message>]
 'git stash' store [-m|--message <message>] [-q|--quiet] <commit>
@@ -46,13 +49,24 @@
 -------
 
 save [-p|--patch] [-k|--[no-]keep-index] [-u|--include-untracked] [-a|--all] [-q|--quiet] [<message>]::
+push [-p|--patch] [-k|--[no-]keep-index] [-u|--include-untracked] [-a|--all] [-q|--quiet] [-m|--message <message>] [--] [<pathspec>...]::
 
-	Save your local modifications to a new 'stash', and run `git reset
-	--hard` to revert them.  The <message> part is optional and gives
-	the description along with the stashed state.  For quickly making
-	a snapshot, you can omit _both_ "save" and <message>, but giving
-	only <message> does not trigger this action to prevent a misspelled
-	subcommand from making an unwanted stash.
+	Save your local modifications to a new 'stash' and roll them
+	back to HEAD (in the working tree and in the index).
+	The <message> part is optional and gives
+	the description along with the stashed state.
++
+For quickly making a snapshot, you can omit "push".  In this mode,
+non-option arguments are not allowed to prevent a misspelled
+subcommand from making an unwanted stash.  The two exceptions to this
+are `stash -p` which acts as alias for `stash push -p` and pathspecs,
+which are allowed after a double hyphen `--` for disambiguation.
++
+When pathspec is given to 'git stash push', the new stash records the
+modified states only for the files that match the pathspec.  The index
+entries and working tree files are then rolled back to the state in
+HEAD only for these files, too, leaving files that do not match the
+pathspec intact.
 +
 If the `--keep-index` option is used, all changes already added to the
 index are left intact.
diff --git a/Documentation/git-status.txt b/Documentation/git-status.txt
index 725065e..d70abc6 100644
--- a/Documentation/git-status.txt
+++ b/Documentation/git-status.txt
@@ -181,6 +181,17 @@
     !           !    ignored
     -------------------------------------------------
 
+Submodules have more state and instead report
+		M    the submodule has a different HEAD than
+		     recorded in the index
+		m    the submodule has modified content
+		?    the submodule has untracked files
+since modified content or untracked files in a submodule cannot be added
+via `git add` in the superproject to prepare a commit.
+
+'m' and '?' are applied recursively. For example if a nested submodule
+in a submodule contains an untracked file, this is reported as '?' as well.
+
 If -b is used the short-format status is preceded by a line
 
     ## branchname tracking info
@@ -210,6 +221,8 @@
 characters are not specially formatted; no quoting or
 backslash-escaping is performed.
 
+Any submodule changes are reported as modified `M` instead of `m` or single `?`.
+
 Porcelain Format Version 2
 ~~~~~~~~~~~~~~~~~~~~~~~~~~
 
@@ -322,10 +335,9 @@
 without any quoting and lines are terminated with a NUL (ASCII 0x00)
 byte.
 
-Otherwise, all pathnames will be "C-quoted" if they contain any tab,
-linefeed, double quote, or backslash characters. In C-quoting, these
-characters will be replaced with the corresponding C-style escape
-sequences and the resulting pathname will be double quoted.
+Without the `-z` option, pathnames with "unusual" characters are
+quoted as explained for the configuration variable `core.quotePath`
+(see linkgit:git-config[1]).
 
 
 CONFIGURATION
diff --git a/Documentation/git-submodule.txt b/Documentation/git-submodule.txt
index d841573..74bc620 100644
--- a/Documentation/git-submodule.txt
+++ b/Documentation/git-submodule.txt
@@ -9,19 +9,15 @@
 SYNOPSIS
 --------
 [verse]
-'git submodule' [--quiet] add [-b <branch>] [-f|--force] [--name <name>]
-	      [--reference <repository>] [--depth <depth>] [--] <repository> [<path>]
+'git submodule' [--quiet] add [<options>] [--] <repository> [<path>]
 'git submodule' [--quiet] status [--cached] [--recursive] [--] [<path>...]
 'git submodule' [--quiet] init [--] [<path>...]
 'git submodule' [--quiet] deinit [-f|--force] (--all|[--] <path>...)
-'git submodule' [--quiet] update [--init] [--remote] [-N|--no-fetch]
-	      [--[no-]recommend-shallow] [-f|--force] [--rebase|--merge]
-	      [--reference <repository>] [--depth <depth>] [--recursive]
-	      [--jobs <n>] [--] [<path>...]
-'git submodule' [--quiet] summary [--cached|--files] [(-n|--summary-limit) <n>]
-	      [commit] [--] [<path>...]
+'git submodule' [--quiet] update [<options>] [--] [<path>...]
+'git submodule' [--quiet] summary [<options>] [--] [<path>...]
 'git submodule' [--quiet] foreach [--recursive] <command>
 'git submodule' [--quiet] sync [--recursive] [--] [<path>...]
+'git submodule' [--quiet] absorbgitdirs [--] [<path>...]
 
 
 DESCRIPTION
@@ -62,7 +58,7 @@
 
 COMMANDS
 --------
-add::
+add [-b <branch>] [-f|--force] [--name <name>] [--reference <repository>] [--depth <depth>] [--] <repository> [<path>]::
 	Add the given repository as a submodule at the given path
 	to the changeset to be committed next to the current
 	project: the current project is termed the "superproject".
@@ -77,13 +73,17 @@
 +
 <repository> is the URL of the new submodule's origin repository.
 This may be either an absolute URL, or (if it begins with ./
-or ../), the location relative to the superproject's origin
+or ../), the location relative to the superproject's default remote
 repository (Please note that to specify a repository 'foo.git'
 which is located right next to a superproject 'bar.git', you'll
 have to use '../foo.git' instead of './foo.git' - as one might expect
 when following the rules for relative URLs - because the evaluation
 of relative URLs in Git is identical to that of relative directories).
-If the superproject doesn't have an origin configured
++
+The default remote is the remote of the remote tracking branch
+of the current branch. If no such remote tracking branch exists or
+the HEAD is detached, "origin" is assumed to be the default remote.
+If the superproject doesn't have a default remote configured
 the superproject is its own authoritative upstream and the current
 working directory is used instead.
 +
@@ -103,7 +103,7 @@
 superproject's URL needs to be provided: git-submodule will correctly
 locate the submodule using the relative URL in .gitmodules.
 
-status::
+status [--cached] [--recursive] [--] [<path>...]::
 	Show the status of the submodules. This will print the SHA-1 of the
 	currently checked out commit for each submodule, along with the
 	submodule path and the output of 'git describe' for the
@@ -120,22 +120,30 @@
 linkgit:git-status[1] and linkgit:git-diff[1] will provide that information
 too (and can also report changes to a submodule's work tree).
 
-init::
+init [--] [<path>...]::
 	Initialize the submodules recorded in the index (which were
-	added and committed elsewhere) by copying submodule
-	names and urls from .gitmodules to .git/config.
-	Optional <path> arguments limit which submodules will be initialized.
-	It will also copy the value of `submodule.$name.update` into
-	.git/config.
-	The key used in .git/config is `submodule.$name.url`.
-	This command does not alter existing information in .git/config.
-	You can then customize the submodule clone URLs in .git/config
-	for your local setup and proceed to `git submodule update`;
-	you can also just use `git submodule update --init` without
-	the explicit 'init' step if you do not intend to customize
-	any submodule locations.
+	added and committed elsewhere) by setting `submodule.$name.url`
+	in .git/config. It uses the same setting from .gitmodules as
+	a template. If the URL is relative, it will be resolved using
+	the default remote. If there is no default remote, the current
+	repository will be assumed to be upstream.
++
+Optional <path> arguments limit which submodules will be initialized.
+If no path is specified and submodule.active has been configured, submodules
+configured to be active will be initialized, otherwise all submodules are
+initialized.
++
+When present, it will also copy the value of `submodule.$name.update`.
+This command does not alter existing information in .git/config.
+You can then customize the submodule clone URLs in .git/config
+for your local setup and proceed to `git submodule update`;
+you can also just use `git submodule update --init` without
+the explicit 'init' step if you do not intend to customize
+any submodule locations.
++
+See the add subcommand for the defintion of default remote.
 
-deinit::
+deinit [-f|--force] (--all|[--] <path>...)::
 	Unregister the given submodules, i.e. remove the whole
 	`submodule.$name` section from .git/config together with their work
 	tree. Further calls to `git submodule update`, `git submodule foreach`
@@ -151,20 +159,20 @@
 If `--force` is specified, the submodule's working tree will
 be removed even if it contains local modifications.
 
-update::
+update [--init] [--remote] [-N|--no-fetch] [--[no-]recommend-shallow] [-f|--force] [--checkout|--rebase|--merge] [--reference <repository>] [--depth <depth>] [--recursive] [--jobs <n>] [--] [<path>...]::
 +
 --
 Update the registered submodules to match what the superproject
 expects by cloning missing submodules and updating the working tree of
 the submodules. The "updating" can be done in several ways depending
 on command line options and the value of `submodule.<name>.update`
-configuration variable. Supported update procedures are:
+configuration variable. The command line option takes precedence over
+the configuration variable. if neither is given, a checkout is performed.
+update procedures supported both from the command line as well as setting
+`submodule.<name>.update`:
 
 	checkout;; the commit recorded in the superproject will be
-	    checked out in the submodule on a detached HEAD. This is
-	    done when `--checkout` option is given, or no option is
-	    given, and `submodule.<name>.update` is unset, or if it is
-	    set to 'checkout'.
+	    checked out in the submodule on a detached HEAD.
 +
 If `--force` is specified, the submodule will be checked out (using
 `git checkout --force` if appropriate), even if the commit specified
@@ -172,23 +180,21 @@
 checked out in the submodule.
 
 	rebase;; the current branch of the submodule will be rebased
-	    onto the commit recorded in the superproject. This is done
-	    when `--rebase` option is given, or no option is given, and
-	    `submodule.<name>.update` is set to 'rebase'.
+	    onto the commit recorded in the superproject.
 
 	merge;; the commit recorded in the superproject will be merged
-	    into the current branch in the submodule. This is done
-	    when `--merge` option is given, or no option is given, and
-	    `submodule.<name>.update` is set to 'merge'.
+	    into the current branch in the submodule.
+
+The following procedures are only available via the `submodule.<name>.update`
+configuration variable:
 
 	custom command;; arbitrary shell command that takes a single
 	    argument (the sha1 of the commit recorded in the
-	    superproject) is executed. This is done when no option is
-	    given, and `submodule.<name>.update` has the form of
-	    '!command'.
+	    superproject) is executed. When `submodule.<name>.update`
+	    is set to '!command', the remainder after the exclamation mark
+	    is the custom command.
 
-When no option is given and `submodule.<name>.update` is set to 'none',
-the submodule is not updated.
+	none;; the submodule is not updated.
 
 If the submodule is not yet initialized, and you just want to use the
 setting as stored in .gitmodules, you can automatically initialize the
@@ -197,7 +203,7 @@
 If `--recursive` is specified, this command will recurse into the
 registered submodules, and update any nested submodules within.
 --
-summary::
+summary [--cached|--files] [(-n|--summary-limit) <n>] [commit] [--] [<path>...]::
 	Show commit summary between the given commit (defaults to HEAD) and
 	working tree/index. For a submodule in question, a series of commits
 	in the submodule between the given super project commit and the
@@ -210,7 +216,7 @@
 Using the `--submodule=log` option with linkgit:git-diff[1] will provide that
 information too.
 
-foreach::
+foreach [--recursive] <command>::
 	Evaluates an arbitrary shell command in each checked out submodule.
 	The command has access to the variables $name, $path, $sha1 and
 	$toplevel:
@@ -227,11 +233,14 @@
 	the processing to terminate. This can be overridden by adding '|| :'
 	to the end of the command.
 +
-As an example, +git submodule foreach \'echo $path {backtick}git
-rev-parse HEAD{backtick}'+ will show the path and currently checked out
-commit for each submodule.
+As an example, the command below will show the path and currently
+checked out commit for each submodule:
++
+--------------
+git submodule foreach 'echo $path `git rev-parse HEAD`'
+--------------
 
-sync::
+sync [--recursive] [--] [<path>...]::
 	Synchronizes submodules' remote URL configuration setting
 	to the value specified in .gitmodules. It will only affect those
 	submodules which already have a URL entry in .git/config (that is the
@@ -245,6 +254,20 @@
 If `--recursive` is specified, this command will recurse into the
 registered submodules, and sync any nested submodules within.
 
+absorbgitdirs::
+	If a git directory of a submodule is inside the submodule,
+	move the git directory of the submodule into its superprojects
+	`$GIT_DIR/modules` path and then connect the git directory and
+	its working directory by setting the `core.worktree` and adding
+	a .git file pointing to the git directory embedded in the
+	superprojects git directory.
++
+A repository that was cloned independently and later added as a submodule or
+old setups have the submodules git directory inside the submodule instead of
+embedded into the superprojects git directory.
++
+This command is recursive by default.
+
 OPTIONS
 -------
 -q::
diff --git a/Documentation/git-tag.txt b/Documentation/git-tag.txt
index 80019c5..f8a0b78 100644
--- a/Documentation/git-tag.txt
+++ b/Documentation/git-tag.txt
@@ -12,10 +12,11 @@
 'git tag' [-a | -s | -u <keyid>] [-f] [-m <msg> | -F <file>]
 	<tagname> [<commit> | <object>]
 'git tag' -d <tagname>...
-'git tag' [-n[<num>]] -l [--contains <commit>] [--points-at <object>]
-	[--column[=<options>] | --no-column] [--create-reflog] [--sort=<key>]
-	[--format=<format>] [--[no-]merged [<commit>]] [<pattern>...]
-'git tag' -v <tagname>...
+'git tag' [-n[<num>]] -l [--contains <commit>] [--contains <commit>]
+	[--points-at <object>] [--column[=<options>] | --no-column]
+	[--create-reflog] [--sort=<key>] [--format=<format>]
+	[--[no-]merged [<commit>]] [<pattern>...]
+'git tag' -v [--format=<format>] <tagname>...
 
 DESCRIPTION
 -----------
@@ -82,18 +83,24 @@
 
 -n<num>::
 	<num> specifies how many lines from the annotation, if any,
-	are printed when using -l.
-	The default is not to print any annotation lines.
-	If no number is given to `-n`, only the first line is printed.
-	If the tag is not annotated, the commit message is displayed instead.
+	are printed when using -l. Implies `--list`.
++
+The default is not to print any annotation lines.
+If no number is given to `-n`, only the first line is printed.
+If the tag is not annotated, the commit message is displayed instead.
 
--l <pattern>::
---list <pattern>::
-	List tags with names that match the given pattern (or all if no
-	pattern is given).  Running "git tag" without arguments also
-	lists all tags. The pattern is a shell wildcard (i.e., matched
-	using fnmatch(3)).  Multiple patterns may be given; if any of
-	them matches, the tag is shown.
+-l::
+--list::
+	List tags. With optional `<pattern>...`, e.g. `git tag --list
+	'v-*'`, list only the tags that match the pattern(s).
++
+Running "git tag" without arguments also lists all tags. The pattern
+is a shell wildcard (i.e., matched using fnmatch(3)). Multiple
+patterns may be given; if any of them matches, the tag is shown.
++
+This option is implicitly supplied if any other list-like option such
+as `--contains` is provided. See the documentation for each of those
+options for details.
 
 --sort=<key>::
 	Sort based on the key given.  Prefix `-` to sort in
@@ -101,13 +108,17 @@
 	multiple times, in which case the last key becomes the primary
 	key. Also supports "version:refname" or "v:refname" (tag
 	names are treated as versions). The "version:refname" sort
-	order can also be affected by the
-	"versionsort.prereleaseSuffix" configuration variable.
+	order can also be affected by the "versionsort.suffix"
+	configuration variable.
 	The keys supported are the same as those in `git for-each-ref`.
 	Sort order defaults to the value configured for the `tag.sort`
 	variable if it exists, or lexicographic order otherwise. See
 	linkgit:git-config[1].
 
+-i::
+--ignore-case::
+	Sorting and filtering tags are case insensitive.
+
 --column[=<options>]::
 --no-column::
 	Display tag listing in columns. See configuration variable
@@ -118,10 +129,23 @@
 
 --contains [<commit>]::
 	Only list tags which contain the specified commit (HEAD if not
-	specified).
+	specified). Implies `--list`.
+
+--no-contains [<commit>]::
+	Only list tags which don't contain the specified commit (HEAD if
+	not specified). Implies `--list`.
+
+--merged [<commit>]::
+	Only list tags whose commits are reachable from the specified
+	commit (`HEAD` if not specified), incompatible with `--no-merged`.
+
+--no-merged [<commit>]::
+	Only list tags whose commits are not reachable from the specified
+	commit (`HEAD` if not specified), incompatible with `--merged`.
 
 --points-at <object>::
-	Only list tags of the given object.
+	Only list tags of the given object (HEAD if not
+	specified). Implies `--list`.
 
 -m <msg>::
 --message=<msg>::
@@ -146,7 +170,11 @@
 	'strip' removes both whitespace and commentary.
 
 --create-reflog::
-	Create a reflog for the tag.
+	Create a reflog for the tag. To globally enable reflogs for tags, see
+	`core.logAllRefUpdates` in linkgit:git-config[1].
+	The negated form `--no-create-reflog` only overrides an earlier
+	`--create-reflog`, but currently does not negate the setting of
+	`core.logallrefupdates`.
 
 <tagname>::
 	The name of the tag to create, delete, or describe.
@@ -165,11 +193,6 @@
 	that of linkgit:git-for-each-ref[1].  When unspecified,
 	defaults to `%(refname:strip=2)`.
 
---[no-]merged [<commit>]::
-	Only list tags whose tips are reachable, or not reachable
-	if `--no-merged` is used, from the specified commit (`HEAD`
-	if not specified).
-
 CONFIGURATION
 -------------
 By default, 'git tag' in sign-with-default mode (-s) will use your
diff --git a/Documentation/git-update-index.txt b/Documentation/git-update-index.txt
index 7386c93..1579abf 100644
--- a/Documentation/git-update-index.txt
+++ b/Documentation/git-update-index.txt
@@ -163,14 +163,16 @@
 
 --split-index::
 --no-split-index::
-	Enable or disable split index mode. If enabled, the index is
-	split into two files, $GIT_DIR/index and $GIT_DIR/sharedindex.<SHA-1>.
-	Changes are accumulated in $GIT_DIR/index while the shared
-	index file contains all index entries stays unchanged. If
-	split-index mode is already enabled and `--split-index` is
-	given again, all changes in $GIT_DIR/index are pushed back to
-	the shared index file. This mode is designed for very large
-	indexes that take a significant amount of time to read or write.
+	Enable or disable split index mode. If split-index mode is
+	already enabled and `--split-index` is given again, all
+	changes in $GIT_DIR/index are pushed back to the shared index
+	file.
++
+These options take effect whatever the value of the `core.splitIndex`
+configuration variable (see linkgit:git-config[1]). But a warning is
+emitted when the change goes against the configured value, as the
+configured value will take effect next time the index is read and this
+will remove the intended effect of the option.
 
 --untracked-cache::
 --no-untracked-cache::
@@ -388,6 +390,31 @@
 different from assume-unchanged bit's. Skip-worktree also takes
 precedence over assume-unchanged bit when both are set.
 
+Split index
+-----------
+
+This mode is designed for repositories with very large indexes, and
+aims at reducing the time it takes to repeatedly write these indexes.
+
+In this mode, the index is split into two files, $GIT_DIR/index and
+$GIT_DIR/sharedindex.<SHA-1>. Changes are accumulated in
+$GIT_DIR/index, the split index, while the shared index file contains
+all index entries and stays unchanged.
+
+All changes in the split index are pushed back to the shared index
+file when the number of entries in the split index reaches a level
+specified by the splitIndex.maxPercentChange config variable (see
+linkgit:git-config[1]).
+
+Each time a new shared index file is created, the old shared index
+files are deleted if their modification time is older than what is
+specified by the splitIndex.sharedIndexExpire config variable (see
+linkgit:git-config[1]).
+
+To avoid deleting a shared index file that is still used, its
+modification time is updated to the current time everytime a new split
+index based on the shared index file is either created or read from.
+
 Untracked cache
 ---------------
 
diff --git a/Documentation/git-verify-tag.txt b/Documentation/git-verify-tag.txt
index d590edc..0b8075d 100644
--- a/Documentation/git-verify-tag.txt
+++ b/Documentation/git-verify-tag.txt
@@ -8,7 +8,7 @@
 SYNOPSIS
 --------
 [verse]
-'git verify-tag' <tag>...
+'git verify-tag' [--format=<format>] <tag>...
 
 DESCRIPTION
 -----------
diff --git a/Documentation/git-worktree.txt b/Documentation/git-worktree.txt
index e257c19..553cf84 100644
--- a/Documentation/git-worktree.txt
+++ b/Documentation/git-worktree.txt
@@ -52,7 +52,7 @@
 directory specific files such as HEAD, index, etc. `-` may also be
 specified as `<branch>`; it is synonymous with `@{-1}`.
 +
-If `<branch>` is omitted and neither `-b` nor `-B` nor `--detached` used,
+If `<branch>` is omitted and neither `-b` nor `-B` nor `--detach` used,
 then, as a convenience, a new branch based at HEAD is created automatically,
 as if `-b $(basename <path>)` was specified.
 
diff --git a/Documentation/git.txt b/Documentation/git.txt
index bdab261..ecc1bb4 100644
--- a/Documentation/git.txt
+++ b/Documentation/git.txt
@@ -44,6 +44,13 @@
 branch of the `git.git` repository.
 Documentation for older releases are available here:
 
+* link:v2.12.2/git.html[documentation for release 2.12.2]
+
+* release notes for
+  link:RelNotes/2.12.2.txt[2.12.2].
+  link:RelNotes/2.12.1.txt[2.12.1].
+  link:RelNotes/2.12.0.txt[2.12].
+
 * link:v2.11.1/git.html[documentation for release 2.11.1]
 
 * release notes for
@@ -1020,6 +1027,12 @@
 personal `.ssh/config` file.  Please consult your ssh documentation
 for further details.
 
+`GIT_SSH_VARIANT`::
+	If this environment variable is set, it overrides Git's autodetection
+	whether `GIT_SSH`/`GIT_SSH_COMMAND`/`core.sshCommand` refer to OpenSSH,
+	plink or tortoiseplink. This variable overrides the config setting
+	`ssh.variant` that serves the same purpose.
+
 `GIT_ASKPASS`::
 	If this environment variable is set, then Git commands which need to
 	acquire passwords or passphrases (e.g. for HTTP or IMAP authentication)
@@ -1162,30 +1175,20 @@
 	cloning a repository to make a backup).
 
 `GIT_ALLOW_PROTOCOL`::
-	If set, provide a colon-separated list of protocols which are
-	allowed to be used with fetch/push/clone. This is useful to
-	restrict recursive submodule initialization from an untrusted
-	repository. Any protocol not mentioned will be disallowed (i.e.,
-	this is a whitelist, not a blacklist). If the variable is not
-	set at all, all protocols are enabled.  The protocol names
-	currently used by git are:
+	If set to a colon-separated list of protocols, behave as if
+	`protocol.allow` is set to `never`, and each of the listed
+	protocols has `protocol.<name>.allow` set to `always`
+	(overriding any existing configuration). In other words, any
+	protocol not mentioned will be disallowed (i.e., this is a
+	whitelist, not a blacklist). See the description of
+	`protocol.allow` in linkgit:git-config[1] for more details.
 
-	  - `file`: any local file-based path (including `file://` URLs,
-	    or local paths)
-
-	  - `git`: the anonymous git protocol over a direct TCP
-	    connection (or proxy, if configured)
-
-	  - `ssh`: git over ssh (including `host:path` syntax,
-	    `ssh://`, etc).
-
-	  - `http`: git over http, both "smart http" and "dumb http".
-	    Note that this does _not_ include `https`; if you want both,
-	    you should specify both as `http:https`.
-
-	  - any external helpers are named by their protocol (e.g., use
-	    `hg` to allow the `git-remote-hg` helper)
-
+`GIT_PROTOCOL_FROM_USER`::
+	Set to 0 to prevent protocols used by fetch/push/clone which are
+	configured to the `user` state.  This is useful to restrict recursive
+	submodule initialization from an untrusted repository or for programs
+	which feed potentially-untrusted URLS to git commands.  See
+	linkgit:git-config[1] for more details.
 
 Discussion[[Discussion]]
 ------------------------
diff --git a/Documentation/gitattributes.txt b/Documentation/gitattributes.txt
index e0b66c1..a53d093 100644
--- a/Documentation/gitattributes.txt
+++ b/Documentation/gitattributes.txt
@@ -21,9 +21,11 @@
 	pattern	attr1 attr2 ...
 
 That is, a pattern followed by an attributes list,
-separated by whitespaces.  When the pattern matches the
-path in question, the attributes listed on the line are given to
-the path.
+separated by whitespaces. Leading and trailing whitespaces are
+ignored. Lines that begin with '#' are ignored. Patterns
+that begin with a double quote are quoted in C style.
+When the pattern matches the path in question, the attributes
+listed on the line are given to the path.
 
 Each attribute can be in one of these states for a given path:
 
@@ -86,7 +88,7 @@
 Attributes for all users on a system should be placed in the
 `$(prefix)/etc/gitattributes` file.
 
-Sometimes you would need to override an setting of an attribute
+Sometimes you would need to override a setting of an attribute
 for a path to `Unspecified` state.  This can be done by listing
 the name of the attribute prefixed with an exclamation point `!`.
 
diff --git a/Documentation/gitcore-tutorial.txt b/Documentation/gitcore-tutorial.txt
index 22309cf..3a0ec8c 100644
--- a/Documentation/gitcore-tutorial.txt
+++ b/Documentation/gitcore-tutorial.txt
@@ -1658,4 +1658,4 @@
 
 GIT
 ---
-Part of the linkgit:git[1] suite.
+Part of the linkgit:git[1] suite
diff --git a/Documentation/gitcvs-migration.txt b/Documentation/gitcvs-migration.txt
index 4c6143c..1cd1283 100644
--- a/Documentation/gitcvs-migration.txt
+++ b/Documentation/gitcvs-migration.txt
@@ -203,4 +203,4 @@
 
 GIT
 ---
-Part of the linkgit:git[1] suite.
+Part of the linkgit:git[1] suite
diff --git a/Documentation/gitdiffcore.txt b/Documentation/gitdiffcore.txt
index 08cf622..c0a60f3 100644
--- a/Documentation/gitdiffcore.txt
+++ b/Documentation/gitdiffcore.txt
@@ -84,8 +84,8 @@
 diff-patch format.
 
 
-diffcore-break: For Splitting Up "Complete Rewrites"
-----------------------------------------------------
+diffcore-break: For Splitting Up Complete Rewrites
+--------------------------------------------------
 
 The second transformation in the chain is diffcore-break, and is
 controlled by the -B option to the 'git diff-{asterisk}' commands.  This is
@@ -119,7 +119,7 @@
 after "-B" option (e.g. "-B75" to tell it to use 75%).
 
 
-diffcore-rename: For Detection Renames and Copies
+diffcore-rename: For Detecting Renames and Copies
 -------------------------------------------------
 
 This transformation is used to detect renames and copies, and is
@@ -177,8 +177,8 @@
 copied happened to have been modified in the same changeset.
 
 
-diffcore-merge-broken: For Putting "Complete Rewrites" Back Together
---------------------------------------------------------------------
+diffcore-merge-broken: For Putting Complete Rewrites Back Together
+------------------------------------------------------------------
 
 This transformation is used to merge filepairs broken by
 diffcore-break, and not transformed into rename/copy by
@@ -288,4 +288,4 @@
 
 GIT
 ---
-Part of the linkgit:git[1] suite.
+Part of the linkgit:git[1] suite
diff --git a/Documentation/giteveryday.txt b/Documentation/giteveryday.txt
index 35473ad..10c8ff9 100644
--- a/Documentation/giteveryday.txt
+++ b/Documentation/giteveryday.txt
@@ -307,9 +307,16 @@
 <9> backport a critical fix.
 <10> create a signed tag.
 <11> make sure master was not accidentally rewound beyond that
-already pushed out.  `ko` shorthand points at the Git maintainer's
+already pushed out.
+<12> In the output from `git show-branch`, `master` should have
+everything `ko/master` has, and `next` should have
+everything `ko/next` has, etc.
+<13> push out the bleeding edge, together with new tags that point
+into the pushed history.
+
+In this example, the `ko` shorthand points at the Git maintainer's
 repository at kernel.org, and looks like this:
-+
+
 ------------
 (in .git/config)
 [remote "ko"]
@@ -320,12 +327,6 @@
 	push = +refs/heads/pu
 	push = refs/heads/maint
 ------------
-+
-<12> In the output from `git show-branch`, `master` should have
-everything `ko/master` has, and `next` should have
-everything `ko/next` has, etc.
-<13> push out the bleeding edge, together with new tags that point
-into the pushed history.
 
 
 Repository Administration[[ADMINISTRATION]]
diff --git a/Documentation/gitglossary.txt b/Documentation/gitglossary.txt
index 212e254..571f640 100644
--- a/Documentation/gitglossary.txt
+++ b/Documentation/gitglossary.txt
@@ -24,4 +24,4 @@
 
 GIT
 ---
-Part of the linkgit:git[1] suite.
+Part of the linkgit:git[1] suite
diff --git a/Documentation/gitk.txt b/Documentation/gitk.txt
index e382dd9..ca96c28 100644
--- a/Documentation/gitk.txt
+++ b/Documentation/gitk.txt
@@ -178,19 +178,21 @@
 History
 -------
 Gitk was the first graphical repository browser. It's written in
-tcl/tk and started off in a separate repository but was later merged
-into the main Git repository.
+tcl/tk.
 
+'gitk' is actually maintained as an independent project, but stable
+versions are distributed as part of the Git suite for the convenience
+of end users.
+
+gitk-git/ comes from Paul Mackerras's gitk project:
+
+	git://ozlabs.org/~paulus/gitk
 
 SEE ALSO
 --------
 'qgit(1)'::
 	A repository browser written in C++ using Qt.
 
-'gitview(1)'::
-	A repository browser written in Python using Gtk. It's based on
-	'bzrk(1)' and distributed in the contrib area of the Git repository.
-
 'tig(1)'::
 	A minimal repository browser and Git tool output highlighter written
 	in C using Ncurses.
diff --git a/Documentation/gitremote-helpers.txt b/Documentation/gitremote-helpers.txt
index 9e8681f..e4b785e 100644
--- a/Documentation/gitremote-helpers.txt
+++ b/Documentation/gitremote-helpers.txt
@@ -452,16 +452,20 @@
 	Request the helper to perform a force update.  Defaults to
 	'false'.
 
-'option cloning {'true'|'false'}::
+'option cloning' {'true'|'false'}::
 	Notify the helper this is a clone request (i.e. the current
 	repository is guaranteed empty).
 
-'option update-shallow {'true'|'false'}::
+'option update-shallow' {'true'|'false'}::
 	Allow to extend .git/shallow if the new refs require it.
 
-'option pushcert {'true'|'false'}::
+'option pushcert' {'true'|'false'}::
 	GPG sign pushes.
 
+'option push-option <string>::
+	Transmit <string> as a push option. As the a push option
+	must not contain LF or NUL characters, the string is not encoded.
+
 SEE ALSO
 --------
 linkgit:git-remote[1]
diff --git a/Documentation/gitrepository-layout.txt b/Documentation/gitrepository-layout.txt
index a5f99cb..f51ed4e 100644
--- a/Documentation/gitrepository-layout.txt
+++ b/Documentation/gitrepository-layout.txt
@@ -289,4 +289,4 @@
 
 GIT
 ---
-Part of the linkgit:git[1] suite.
+Part of the linkgit:git[1] suite
diff --git a/Documentation/gittutorial-2.txt b/Documentation/gittutorial-2.txt
index 30d2119..e0976f6 100644
--- a/Documentation/gittutorial-2.txt
+++ b/Documentation/gittutorial-2.txt
@@ -433,4 +433,4 @@
 
 GIT
 ---
-Part of the linkgit:git[1] suite.
+Part of the linkgit:git[1] suite
diff --git a/Documentation/gittutorial.txt b/Documentation/gittutorial.txt
index b3b58d3..794b833 100644
--- a/Documentation/gittutorial.txt
+++ b/Documentation/gittutorial.txt
@@ -674,4 +674,4 @@
 
 GIT
 ---
-Part of the linkgit:git[1] suite.
+Part of the linkgit:git[1] suite
diff --git a/Documentation/gitworkflows.txt b/Documentation/gitworkflows.txt
index f16c414..177610e 100644
--- a/Documentation/gitworkflows.txt
+++ b/Documentation/gitworkflows.txt
@@ -477,4 +477,4 @@
 
 GIT
 ---
-Part of the linkgit:git[1] suite.
+Part of the linkgit:git[1] suite
diff --git a/Documentation/glossary-content.txt b/Documentation/glossary-content.txt
index 8ad29e6..6e991c2 100644
--- a/Documentation/glossary-content.txt
+++ b/Documentation/glossary-content.txt
@@ -384,10 +384,33 @@
 +
 Glob magic is incompatible with literal magic.
 
+attr;;
+After `attr:` comes a space separated list of "attribute
+requirements", all of which must be met in order for the
+path to be considered a match; this is in addition to the
+usual non-magic pathspec pattern matching.
+See linkgit:gitattributes[5].
++
+Each of the attribute requirements for the path takes one of
+these forms:
+
+- "`ATTR`" requires that the attribute `ATTR` be set.
+
+- "`-ATTR`" requires that the attribute `ATTR` be unset.
+
+- "`ATTR=VALUE`" requires that the attribute `ATTR` be
+  set to the string `VALUE`.
+
+- "`!ATTR`" requires that the attribute `ATTR` be
+  unspecified.
++
+
 exclude;;
 	After a path matches any non-exclude pathspec, it will be run
-	through all exclude pathspec (magic signature: `!`). If it
-	matches, the path is ignored.
+	through all exclude pathspec (magic signature: `!` or its
+	synonym `^`). If it matches, the path is ignored.  When there
+	is no non-exclude pathspec, the exclusion is applied to the
+	result set as if invoked without any pathspec.
 --
 
 [[def_parent]]parent::
diff --git a/Documentation/pretty-formats.txt b/Documentation/pretty-formats.txt
index 3bcee2d..47b286b 100644
--- a/Documentation/pretty-formats.txt
+++ b/Documentation/pretty-formats.txt
@@ -199,6 +199,8 @@
   than given and there are spaces on its left, use those spaces
 - '%><(<N>)', '%><|(<N>)': similar to '% <(<N>)', '%<|(<N>)'
   respectively, but padding both sides (i.e. the text is centered)
+-%(trailers): display the trailers of the body as interpreted by
+  linkgit:git-interpret-trailers[1]
 
 NOTE: Some placeholders may depend on other options given to the
 revision traversal engine. For example, the `%g*` reflog options will
diff --git a/Documentation/rev-list-options.txt b/Documentation/rev-list-options.txt
index 5da7cf5..a02f732 100644
--- a/Documentation/rev-list-options.txt
+++ b/Documentation/rev-list-options.txt
@@ -133,8 +133,8 @@
 	for all following revision specifiers, up to the next `--not`.
 
 --all::
-	Pretend as if all the refs in `refs/` are listed on the
-	command line as '<commit>'.
+	Pretend as if all the refs in `refs/`, along with `HEAD`, are
+	listed on the command line as '<commit>'.
 
 --branches[=<pattern>]::
 	Pretend as if all the refs in `refs/heads` are listed
diff --git a/Documentation/revisions.txt b/Documentation/revisions.txt
index ba11b9c..6127746 100644
--- a/Documentation/revisions.txt
+++ b/Documentation/revisions.txt
@@ -96,7 +96,8 @@
   refers to the branch that the branch specified by branchname is set to build on
   top of (configured with `branch.<name>.remote` and
   `branch.<name>.merge`).  A missing branchname defaults to the
-  current one.
+  current one. These suffixes are also accepted when spelled in uppercase, and
+  they mean the same thing no matter the case.
 
 '<branchname>@\{push\}', e.g. 'master@\{push\}', '@\{push\}'::
   The suffix '@\{push}' reports the branch "where we would push to" if
@@ -122,6 +123,9 @@
 Note in the example that we set up a triangular workflow, where we pull
 from one location and push to another. In a non-triangular workflow,
 '@\{push}' is the same as '@\{upstream}', and there is no need for it.
++
+This suffix is also accepted when spelled in uppercase, and means the same
+thing no matter the case.
 
 '<rev>{caret}', e.g. 'HEAD{caret}, v1.5.1{caret}0'::
   A suffix '{caret}' to a revision parameter means the first parent of
@@ -291,7 +295,7 @@
 The 'r1{caret}!' notation includes commit 'r1' but excludes all of its parents.
 By itself, this notation denotes the single commit 'r1'.
 
-The '<rev>{caret}-{<n>}' notation includes '<rev>' but excludes the <n>th
+The '<rev>{caret}-<n>' notation includes '<rev>' but excludes the <n>th
 parent (i.e. a shorthand for '<rev>{caret}<n>..<rev>'), with '<n>' = 1 if
 not given. This is typically useful for merge commits where you
 can just pass '<commit>{caret}-' to get all the commits in the branch
@@ -333,7 +337,7 @@
   as giving commit '<rev>' and then all its parents prefixed with
   '{caret}' to exclude them (and their ancestors).
 
-'<rev>{caret}-{<n>}', e.g. 'HEAD{caret}-, HEAD{caret}-2'::
+'<rev>{caret}-<n>', e.g. 'HEAD{caret}-, HEAD{caret}-2'::
 	Equivalent to '<rev>{caret}<n>..<rev>', with '<n>' = 1 if not
 	given.
 
diff --git a/Documentation/technical/api-gitattributes.txt b/Documentation/technical/api-gitattributes.txt
index 2602668..e7cbb7c 100644
--- a/Documentation/technical/api-gitattributes.txt
+++ b/Documentation/technical/api-gitattributes.txt
@@ -16,10 +16,15 @@
 	of no interest to the calling programs.  The name of the
 	attribute can be retrieved by calling `git_attr_name()`.
 
-`struct git_attr_check`::
+`struct attr_check_item`::
 
-	This structure represents a set of attributes to check in a call
-	to `git_check_attr()` function, and receives the results.
+	This structure represents one attribute and its value.
+
+`struct attr_check`::
+
+	This structure represents a collection of `attr_check_item`.
+	It is passed to `git_check_attr()` function, specifying the
+	attributes to check, and receives their values.
 
 
 Attribute Values
@@ -27,7 +32,7 @@
 
 An attribute for a path can be in one of four states: Set, Unset,
 Unspecified or set to a string, and `.value` member of `struct
-git_attr_check` records it.  There are three macros to check these:
+attr_check_item` records it.  There are three macros to check these:
 
 `ATTR_TRUE()`::
 
@@ -48,49 +53,51 @@
 Querying Specific Attributes
 ----------------------------
 
-* Prepare an array of `struct git_attr_check` to define the list of
-  attributes you would want to check.  To populate this array, you would
-  need to define necessary attributes by calling `git_attr()` function.
+* Prepare `struct attr_check` using attr_check_initl()
+  function, enumerating the names of attributes whose values you are
+  interested in, terminated with a NULL pointer.  Alternatively, an
+  empty `struct attr_check` can be prepared by calling
+  `attr_check_alloc()` function and then attributes you want to
+  ask about can be added to it with `attr_check_append()`
+  function.
 
 * Call `git_check_attr()` to check the attributes for the path.
 
-* Inspect `git_attr_check` structure to see how each of the attribute in
-  the array is defined for the path.
+* Inspect `attr_check` structure to see how each of the
+  attribute in the array is defined for the path.
 
 
 Example
 -------
 
-To see how attributes "crlf" and "indent" are set for different paths.
+To see how attributes "crlf" and "ident" are set for different paths.
 
-. Prepare an array of `struct git_attr_check` with two elements (because
-  we are checking two attributes).  Initialize their `attr` member with
-  pointers to `struct git_attr` obtained by calling `git_attr()`:
+. Prepare a `struct attr_check` with two elements (because
+  we are checking two attributes):
 
 ------------
-static struct git_attr_check check[2];
+static struct attr_check *check;
 static void setup_check(void)
 {
-	if (check[0].attr)
+	if (check)
 		return; /* already done */
-	check[0].attr = git_attr("crlf");
-	check[1].attr = git_attr("ident");
+	check = attr_check_initl("crlf", "ident", NULL);
 }
 ------------
 
-. Call `git_check_attr()` with the prepared array of `struct git_attr_check`:
+. Call `git_check_attr()` with the prepared `struct attr_check`:
 
 ------------
 	const char *path;
 
 	setup_check();
-	git_check_attr(path, ARRAY_SIZE(check), check);
+	git_check_attr(path, check);
 ------------
 
-. Act on `.value` member of the result, left in `check[]`:
+. Act on `.value` member of the result, left in `check->items[]`:
 
 ------------
-	const char *value = check[0].value;
+	const char *value = check->items[0].value;
 
 	if (ATTR_TRUE(value)) {
 		The attribute is Set, by listing only the name of the
@@ -109,20 +116,39 @@
 	}
 ------------
 
+To see how attributes in argv[] are set for different paths, only
+the first step in the above would be different.
+
+------------
+static struct attr_check *check;
+static void setup_check(const char **argv)
+{
+	check = attr_check_alloc();
+	while (*argv) {
+		struct git_attr *attr = git_attr(*argv);
+		attr_check_append(check, attr);
+		argv++;
+	}
+}
+------------
+
 
 Querying All Attributes
 -----------------------
 
 To get the values of all attributes associated with a file:
 
-* Call `git_all_attrs()`, which returns an array of `git_attr_check`
-  structures.
+* Prepare an empty `attr_check` structure by calling
+  `attr_check_alloc()`.
 
-* Iterate over the `git_attr_check` array to examine the attribute
-  names and values.  The name of the attribute described by a
-  `git_attr_check` object can be retrieved via
-  `git_attr_name(check[i].attr)`.  (Please note that no items will be
-  returned for unset attributes, so `ATTR_UNSET()` will return false
-  for all returned `git_array_check` objects.)
+* Call `git_all_attrs()`, which populates the `attr_check`
+  with the attributes attached to the path.
 
-* Free the `git_array_check` array.
+* Iterate over the `attr_check.items[]` array to examine
+  the attribute names and values.  The name of the attribute
+  described by a  `attr_check.items[]` object can be retrieved via
+  `git_attr_name(check->items[i].attr)`.  (Please note that no items
+  will be returned for unset attributes, so `ATTR_UNSET()` will return
+  false for all returned `attr_check.items[]` objects.)
+
+* Free the `attr_check` struct by calling `attr_check_free()`.
diff --git a/Documentation/technical/api-hashmap.txt b/Documentation/technical/api-hashmap.txt
index 4e4ae6f..ccc634b 100644
--- a/Documentation/technical/api-hashmap.txt
+++ b/Documentation/technical/api-hashmap.txt
@@ -210,7 +210,9 @@
 `void *hashmap_iter_next(struct hashmap_iter *iter)`::
 `void *hashmap_iter_first(struct hashmap *map, struct hashmap_iter *iter)`::
 
-	Used to iterate over all entries of a hashmap.
+	Used to iterate over all entries of a hashmap. Note that it is
+	not safe to add or remove entries to the hashmap while
+	iterating.
 +
 `hashmap_iter_init` initializes a `hashmap_iter` structure.
 +
diff --git a/Documentation/technical/api-sha1-array.txt b/Documentation/technical/api-oid-array.txt
similarity index 61%
rename from Documentation/technical/api-sha1-array.txt
rename to Documentation/technical/api-oid-array.txt
index dcc5294..b0c11f8 100644
--- a/Documentation/technical/api-sha1-array.txt
+++ b/Documentation/technical/api-oid-array.txt
@@ -1,7 +1,7 @@
-sha1-array API
+oid-array API
 ==============
 
-The sha1-array API provides storage and manipulation of sets of SHA-1
+The oid-array API provides storage and manipulation of sets of object
 identifiers. The emphasis is on storage and processing efficiency,
 making them suitable for large lists. Note that the ordering of items is
 not preserved over some operations.
@@ -9,10 +9,10 @@
 Data Structures
 ---------------
 
-`struct sha1_array`::
+`struct oid_array`::
 
-	A single array of SHA-1 hashes. This should be initialized by
-	assignment from `SHA1_ARRAY_INIT`.  The `sha1` member contains
+	A single array of object IDs. This should be initialized by
+	assignment from `OID_ARRAY_INIT`.  The `oid` member contains
 	the actual data. The `nr` member contains the number of items in
 	the set.  The `alloc` and `sorted` members are used internally,
 	and should not be needed by API callers.
@@ -20,22 +20,22 @@
 Functions
 ---------
 
-`sha1_array_append`::
-	Add an item to the set. The sha1 will be placed at the end of
+`oid_array_append`::
+	Add an item to the set. The object ID will be placed at the end of
 	the array (but note that some operations below may lose this
 	ordering).
 
-`sha1_array_lookup`::
-	Perform a binary search of the array for a specific sha1.
+`oid_array_lookup`::
+	Perform a binary search of the array for a specific object ID.
 	If found, returns the offset (in number of elements) of the
-	sha1. If not found, returns a negative integer. If the array is
-	not sorted, this function has the side effect of sorting it.
+	object ID. If not found, returns a negative integer. If the array
+	is not sorted, this function has the side effect of sorting it.
 
-`sha1_array_clear`::
+`oid_array_clear`::
 	Free all memory associated with the array and return it to the
 	initial, empty state.
 
-`sha1_array_for_each_unique`::
+`oid_array_for_each_unique`::
 	Efficiently iterate over each unique element of the list,
 	executing the callback function for each one. If the array is
 	not sorted, this function has the side effect of sorting it. If
@@ -47,25 +47,25 @@
 --------
 
 -----------------------------------------
-int print_callback(const unsigned char sha1[20],
+int print_callback(const struct object_id *oid,
 		    void *data)
 {
-	printf("%s\n", sha1_to_hex(sha1));
+	printf("%s\n", oid_to_hex(oid));
 	return 0; /* always continue */
 }
 
 void some_func(void)
 {
-	struct sha1_array hashes = SHA1_ARRAY_INIT;
-	unsigned char sha1[20];
+	struct sha1_array hashes = OID_ARRAY_INIT;
+	struct object_id oid;
 
 	/* Read objects into our set */
-	while (read_object_from_stdin(sha1))
-		sha1_array_append(&hashes, sha1);
+	while (read_object_from_stdin(oid.hash))
+		oid_array_append(&hashes, &oid);
 
 	/* Check if some objects are in our set */
-	while (read_object_from_stdin(sha1)) {
-		if (sha1_array_lookup(&hashes, sha1) >= 0)
+	while (read_object_from_stdin(oid.hash)) {
+		if (oid_array_lookup(&hashes, &oid) >= 0)
 			printf("it's in there!\n");
 
 	/*
@@ -75,6 +75,6 @@
 	 * Instead, this will sort once and then skip duplicates
 	 * in linear time.
 	 */
-	sha1_array_for_each_unique(&hashes, print_callback, NULL);
+	oid_array_for_each_unique(&hashes, print_callback, NULL);
 }
 -----------------------------------------
diff --git a/Documentation/technical/api-parse-options.txt b/Documentation/technical/api-parse-options.txt
index 27bd701..36768b4 100644
--- a/Documentation/technical/api-parse-options.txt
+++ b/Documentation/technical/api-parse-options.txt
@@ -168,6 +168,11 @@
 	Introduce an option with string argument.
 	The string argument is put into `str_var`.
 
+`OPT_STRING_LIST(short, long, &struct string_list, arg_str, description)`::
+	Introduce an option with string argument.
+	The string argument is stored as an element in `string_list`.
+	Use of `--no-option` will clear the list of preceding values.
+
 `OPT_INTEGER(short, long, &int_var, description)`::
 	Introduce an option with integer argument.
 	The integer is put into `int_var`.
diff --git a/Documentation/technical/api-setup.txt b/Documentation/technical/api-setup.txt
index 540e455..eb1fa98 100644
--- a/Documentation/technical/api-setup.txt
+++ b/Documentation/technical/api-setup.txt
@@ -27,8 +27,6 @@
 
 - prefix and args come from cmd_* functions
 
-get_pathspec() is obsolete and should never be used in new code.
-
 parse_pathspec() helps catch unsupported features and reject them
 politely. At a lower level, different pathspec-related functions may
 not support the same set of features. Such pathspec-sensitive
diff --git a/Documentation/technical/api-submodule-config.txt b/Documentation/technical/api-submodule-config.txt
index 941fa17..3dce003 100644
--- a/Documentation/technical/api-submodule-config.txt
+++ b/Documentation/technical/api-submodule-config.txt
@@ -47,16 +47,20 @@
 	Can be passed to the config parsing infrastructure to parse
 	local (worktree) submodule configurations.
 
-`const struct submodule *submodule_from_path(const unsigned char *commit_sha1, const char *path)`::
+`const struct submodule *submodule_from_path(const unsigned char *treeish_name, const char *path)`::
 
-	Lookup values for one submodule by its commit_sha1 and path.
+	Given a tree-ish in the superproject and a path, return the
+	submodule that is bound at the path in the named tree.
 
-`const struct submodule *submodule_from_name(const unsigned char *commit_sha1, const char *name)`::
+`const struct submodule *submodule_from_name(const unsigned char *treeish_name, const char *name)`::
 
 	The same as above but lookup by name.
 
-If given the null_sha1 as commit_sha1 the local configuration of a
-submodule will be returned (e.g. consolidated values from local git
+Whenever a submodule configuration is parsed in `parse_submodule_config_option`
+via e.g. `gitmodules_config()`, it will overwrite the null_sha1 entry.
+So in the normal case, when HEAD:.gitmodules is parsed first and then overlayed
+with the repository configuration, the null_sha1 entry contains the local
+configuration of a submodule (e.g. consolidated values from local git
 configuration and the .gitmodules file in the worktree).
 
 For an example usage see test-submodule-config.c.
diff --git a/Documentation/texi.xsl b/Documentation/texi.xsl
new file mode 100644
index 0000000..0f8ff07
--- /dev/null
+++ b/Documentation/texi.xsl
@@ -0,0 +1,26 @@
+<!-- texi.xsl:
+     convert refsection elements into refsect elements that docbook2texi can
+     understand -->
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+		version="1.0">
+
+<xsl:output method="xml"
+	    encoding="UTF-8"
+	    doctype-public="-//OASIS//DTD DocBook XML V4.5//EN"
+	    doctype-system="http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" />
+
+<xsl:template match="//refsection">
+	<xsl:variable name="element">refsect<xsl:value-of select="count(ancestor-or-self::refsection)" /></xsl:variable>
+	<xsl:element name="{$element}">
+		<xsl:apply-templates select="@*|node()" />
+	</xsl:element>
+</xsl:template>
+
+<!-- Copy all other nodes through. -->
+<xsl:template match="node()|@*">
+	<xsl:copy>
+		<xsl:apply-templates select="@*|node()" />
+	</xsl:copy>
+</xsl:template>
+
+</xsl:stylesheet>
diff --git a/Documentation/user-manual.txt b/Documentation/user-manual.txt
index 5e07454..bc29298 100644
--- a/Documentation/user-manual.txt
+++ b/Documentation/user-manual.txt
@@ -4395,6 +4395,10 @@
 Git Glossary
 ============
 
+[[git-explained]]
+Git explained
+-------------
+
 include::glossary-content.txt[]
 
 [[git-quick-start]]
@@ -4636,6 +4640,10 @@
 Appendix B: Notes and todo list for this manual
 ===============================================
 
+[[todo-list]]
+Todo list
+---------
+
 This is a work in progress.
 
 The basic requirements:
diff --git a/GIT-VERSION-GEN b/GIT-VERSION-GEN
index 706946c..817d1cf 100755
--- a/GIT-VERSION-GEN
+++ b/GIT-VERSION-GEN
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 GVF=GIT-VERSION-FILE
-DEF_VER=v2.11.1
+DEF_VER=v2.12.GIT
 
 LF='
 '
@@ -12,7 +12,7 @@
 then
 	VN=$(cat version) || VN="$DEF_VER"
 elif test -d ${GIT_DIR:-.git} -o -f .git &&
-	VN=$(git describe --match "v[0-9]*" --abbrev=7 HEAD 2>/dev/null) &&
+	VN=$(git describe --match "v[0-9]*" HEAD 2>/dev/null) &&
 	case "$VN" in
 	*$LF*) (exit 1) ;;
 	v[0-9]*)
diff --git a/Makefile b/Makefile
index dc0c368..eb1a1a7 100644
--- a/Makefile
+++ b/Makefile
@@ -102,8 +102,6 @@
 #
 # Define MKDIR_WO_TRAILING_SLASH if your mkdir() can't deal with trailing slash.
 #
-# Define NO_MKSTEMPS if you don't have mkstemps in the C library.
-#
 # Define NO_GECOS_IN_PWENT if you don't have pw_gecos in struct passwd
 # in the C library.
 #
@@ -142,6 +140,13 @@
 # Define PPC_SHA1 environment variable when running make to make use of
 # a bundled SHA1 routine optimized for PowerPC.
 #
+# Define DC_SHA1 to unconditionally enable the collision-detecting sha1
+# algorithm. This is slower, but may detect attempted collision attacks.
+# Takes priority over other *_SHA1 knobs.
+#
+# Define OPENSSL_SHA1 environment variable when running make to link
+# with the SHA1 routine from openssl library.
+#
 # Define SHA1_MAX_BLOCK_SIZE to limit the amount of data that will be hashed
 # in one call to the platform's SHA1_Update(). e.g. APPLE_COMMON_CRYPTO
 # wants 'SHA1_MAX_BLOCK_SIZE=1024L*1024L*1024L' defined.
@@ -250,6 +255,12 @@
 # apostrophes to be ASCII so that cut&pasting examples to the shell
 # will work.
 #
+# Define USE_ASCIIDOCTOR to use Asciidoctor instead of AsciiDoc to build the
+# documentation.
+#
+# Define ASCIIDOCTOR_EXTENSIONS_LAB to point to the location of the Asciidoctor
+# Extensions Lab if you have it available.
+#
 # Define PERL_PATH to the path of your Perl binary (usually /usr/bin/perl).
 #
 # Define NO_PERL_MAKEMAKER if you cannot use Makefiles generated by perl's
@@ -279,6 +290,9 @@
 # is a simplified version of the merge sort used in glibc. This is
 # recommended if Git triggers O(n^2) behavior in your platform's qsort().
 #
+# Define HAVE_ISO_QSORT_S if your platform provides a qsort_s() that's
+# compatible with the one described in C11 Annex K.
+#
 # Define UNRELIABLE_FSTAT if your system's fstat does not return the same
 # information on a not yet closed file that lstat would return for the same
 # file after it was closed.
@@ -338,11 +352,6 @@
 #
 # Define NATIVE_CRLF if your platform uses CRLF for line endings.
 #
-# Define XDL_FAST_HASH to use an alternative line-hashing method in
-# the diff algorithm.  It gives a nice speedup if your processor has
-# fast unaligned word loads.  Does NOT work on big-endian systems!
-# Enabled by default on x86_64.
-#
 # Define GIT_USER_AGENT if you want to change how git identifies itself during
 # network interactions.  The default is "git/$(GIT_VERSION)".
 #
@@ -527,12 +536,10 @@
 SCRIPT_LIB += git-sh-i18n
 
 SCRIPT_PERL += git-add--interactive.perl
-SCRIPT_PERL += git-difftool.perl
 SCRIPT_PERL += git-archimport.perl
 SCRIPT_PERL += git-cvsexportcommit.perl
 SCRIPT_PERL += git-cvsimport.perl
 SCRIPT_PERL += git-cvsserver.perl
-SCRIPT_PERL += git-relink.perl
 SCRIPT_PERL += git-send-email.perl
 SCRIPT_PERL += git-svn.perl
 
@@ -624,6 +631,7 @@
 TEST_PROGRAMS_NEED_X += test-path-utils
 TEST_PROGRAMS_NEED_X += test-prio-queue
 TEST_PROGRAMS_NEED_X += test-read-cache
+TEST_PROGRAMS_NEED_X += test-ref-store
 TEST_PROGRAMS_NEED_X += test-regex
 TEST_PROGRAMS_NEED_X += test-revision-walking
 TEST_PROGRAMS_NEED_X += test-run-command
@@ -781,6 +789,7 @@
 LIB_OBJS += notes-merge.o
 LIB_OBJS += notes-utils.o
 LIB_OBJS += object.o
+LIB_OBJS += oidset.o
 LIB_OBJS += pack-bitmap.o
 LIB_OBJS += pack-bitmap-write.o
 LIB_OBJS += pack-check.o
@@ -890,6 +899,7 @@
 BUILTIN_OBJS += builtin/diff-index.o
 BUILTIN_OBJS += builtin/diff-tree.o
 BUILTIN_OBJS += builtin/diff.o
+BUILTIN_OBJS += builtin/difftool.o
 BUILTIN_OBJS += builtin/fast-export.o
 BUILTIN_OBJS += builtin/fetch-pack.o
 BUILTIN_OBJS += builtin/fetch.o
@@ -931,6 +941,7 @@
 BUILTIN_OBJS += builtin/pull.o
 BUILTIN_OBJS += builtin/push.o
 BUILTIN_OBJS += builtin/read-tree.o
+BUILTIN_OBJS += builtin/rebase--helper.o
 BUILTIN_OBJS += builtin/receive-pack.o
 BUILTIN_OBJS += builtin/reflog.o
 BUILTIN_OBJS += builtin/remote.o
@@ -1279,9 +1290,6 @@
 	COMPAT_CFLAGS += -DMKDIR_WO_TRAILING_SLASH
 	COMPAT_OBJS += compat/mkdir.o
 endif
-ifdef NO_MKSTEMPS
-	COMPAT_CFLAGS += -DNO_MKSTEMPS
-endif
 ifdef NO_UNSETENV
 	COMPAT_CFLAGS += -DNO_UNSETENV
 	COMPAT_OBJS += compat/unsetenv.o
@@ -1385,20 +1393,27 @@
 	SHA1_MAX_BLOCK_SIZE = 1024L*1024L*1024L
 endif
 
+ifdef OPENSSL_SHA1
+	EXTLIBS += $(LIB_4_CRYPTO)
+	BASIC_CFLAGS += -DSHA1_OPENSSL
+else
 ifdef BLK_SHA1
-	SHA1_HEADER = "block-sha1/sha1.h"
 	LIB_OBJS += block-sha1/sha1.o
+	BASIC_CFLAGS += -DSHA1_BLK
 else
 ifdef PPC_SHA1
-	SHA1_HEADER = "ppc/sha1.h"
 	LIB_OBJS += ppc/sha1.o ppc/sha1ppc.o
+	BASIC_CFLAGS += -DSHA1_PPC
 else
 ifdef APPLE_COMMON_CRYPTO
 	COMPAT_CFLAGS += -DCOMMON_DIGEST_FOR_OPENSSL
-	SHA1_HEADER = <CommonCrypto/CommonDigest.h>
+	BASIC_CFLAGS += -DSHA1_APPLE
 else
-	SHA1_HEADER = <openssl/sha.h>
-	EXTLIBS += $(LIB_4_CRYPTO)
+	DC_SHA1 := YesPlease
+	LIB_OBJS += sha1dc/sha1.o
+	LIB_OBJS += sha1dc/ubc_check.o
+	BASIC_CFLAGS += -DSHA1_DC
+endif
 endif
 endif
 endif
@@ -1425,6 +1440,11 @@
 	COMPAT_CFLAGS += -DINTERNAL_QSORT
 	COMPAT_OBJS += compat/qsort.o
 endif
+ifdef HAVE_ISO_QSORT_S
+	COMPAT_CFLAGS += -DHAVE_ISO_QSORT_S
+else
+	COMPAT_OBJS += compat/qsort_s.o
+endif
 ifdef RUNTIME_PREFIX
 	COMPAT_CFLAGS += -DRUNTIME_PREFIX
 endif
@@ -1487,10 +1507,6 @@
 	MSGFMT += --check --statistics
 endif
 
-ifneq (,$(XDL_FAST_HASH))
-	BASIC_CFLAGS += -DXDL_FAST_HASH
-endif
-
 ifdef GMTIME_UNRELIABLE_ERRORS
 	COMPAT_OBJS += compat/gmtime.o
 	BASIC_CFLAGS += -DGMTIME_UNRELIABLE_ERRORS
@@ -1589,7 +1605,6 @@
 
 # Shell quote (do not use $(call) to accommodate ancient setups);
 
-SHA1_HEADER_SQ = $(subst ','\'',$(SHA1_HEADER))
 ETC_GITCONFIG_SQ = $(subst ','\'',$(ETC_GITCONFIG))
 ETC_GITATTRIBUTES_SQ = $(subst ','\'',$(ETC_GITATTRIBUTES))
 
@@ -1622,8 +1637,7 @@
 # from the dependency list, that would make each entry appear twice.
 LIBS = $(filter-out %.o, $(GITLIBS)) $(EXTLIBS)
 
-BASIC_CFLAGS += -DSHA1_HEADER='$(SHA1_HEADER_SQ)' \
-	$(COMPAT_CFLAGS)
+BASIC_CFLAGS += $(COMPAT_CFLAGS)
 LIB_OBJS += $(COMPAT_OBJS)
 
 # Quote for C
@@ -1827,7 +1841,7 @@
 git.res: git.rc GIT-VERSION-FILE
 	$(QUIET_RC)$(RC) \
 	  $(join -DMAJOR= -DMINOR=, $(wordlist 1,2,$(subst -, ,$(subst ., ,$(GIT_VERSION))))) \
-	  -DGIT_VERSION="\\\"$(GIT_VERSION)\\\"" $< -o $@
+	  -DGIT_VERSION="\\\"$(GIT_VERSION)\\\"" -i $< -o $@
 
 # This makes sure we depend on the NO_PERL setting itself.
 $(SCRIPT_PERL_GEN): GIT-BUILD-OPTIONS
@@ -1839,6 +1853,7 @@
 
 perl/PM.stamp: FORCE
 	@$(FIND) perl -type f -name '*.pm' | sort >$@+ && \
+	$(PERL_PATH) -V >>$@+ && \
 	{ cmp $@+ $@ >/dev/null 2>/dev/null || mv $@+ $@; } && \
 	$(RM) $@+
 
@@ -2057,7 +2072,7 @@
 
 git-imap-send$X: imap-send.o $(IMAP_SEND_BUILDDEPS) GIT-LDFLAGS $(GITLIBS)
 	$(QUIET_LINK)$(CC) $(ALL_CFLAGS) -o $@ $(ALL_LDFLAGS) $(filter %.o,$^) \
-		$(LIBS) $(IMAP_SEND_LDFLAGS)
+		$(IMAP_SEND_LDFLAGS) $(LIBS)
 
 git-http-fetch$X: http.o http-walker.o http-fetch.o GIT-LDFLAGS $(GITLIBS)
 	$(QUIET_LINK)$(CC) $(ALL_CFLAGS) -o $@ $(ALL_LDFLAGS) $(filter %.o,$^) \
@@ -2116,7 +2131,8 @@
 	--keyword=_ --keyword=N_ --keyword="Q_:1,2"
 XGETTEXT_FLAGS_SH = $(XGETTEXT_FLAGS) --language=Shell \
 	--keyword=gettextln --keyword=eval_gettextln
-XGETTEXT_FLAGS_PERL = $(XGETTEXT_FLAGS) --keyword=__ --language=Perl
+XGETTEXT_FLAGS_PERL = $(XGETTEXT_FLAGS) --language=Perl \
+	--keyword=__ --keyword=N__ --keyword="__n:1,2"
 LOCALIZED_C = $(C_OBJ:o=c) $(LIB_H) $(GENERATED_H)
 LOCALIZED_SH = $(SCRIPT_SH)
 LOCALIZED_SH += git-parse-remote.sh
@@ -2225,6 +2241,7 @@
 	@echo NO_PYTHON=\''$(subst ','\'',$(subst ','\'',$(NO_PYTHON)))'\' >>$@+
 	@echo NO_UNIX_SOCKETS=\''$(subst ','\'',$(subst ','\'',$(NO_UNIX_SOCKETS)))'\' >>$@+
 	@echo PAGER_ENV=\''$(subst ','\'',$(subst ','\'',$(PAGER_ENV)))'\' >>$@+
+	@echo DC_SHA1=\''$(subst ','\'',$(subst ','\'',$(DC_SHA1)))'\' >>$@+
 ifdef TEST_OUTPUT_DIRECTORY
 	@echo TEST_OUTPUT_DIRECTORY=\''$(subst ','\'',$(subst ','\'',$(TEST_OUTPUT_DIRECTORY)))'\' >>$@+
 endif
@@ -2251,6 +2268,9 @@
 ifdef GIT_PERF_MAKE_OPTS
 	@echo GIT_PERF_MAKE_OPTS=\''$(subst ','\'',$(subst ','\'',$(GIT_PERF_MAKE_OPTS)))'\' >>$@+
 endif
+ifdef GIT_INTEROP_MAKE_OPTS
+	@echo GIT_INTEROP_MAKE_OPTS=\''$(subst ','\'',$(subst ','\'',$(GIT_INTEROP_MAKE_OPTS)))'\' >>$@+
+endif
 ifdef TEST_GIT_INDEX_VERSION
 	@echo TEST_GIT_INDEX_VERSION=\''$(subst ','\'',$(subst ','\'',$(TEST_GIT_INDEX_VERSION)))'\' >>$@+
 endif
@@ -2331,9 +2351,17 @@
 C_SOURCES = $(patsubst %.o,%.c,$(C_OBJ))
 %.cocci.patch: %.cocci $(C_SOURCES)
 	@echo '    ' SPATCH $<; \
+	ret=0; \
 	for f in $(C_SOURCES); do \
-		$(SPATCH) --sp-file $< $$f $(SPATCH_FLAGS); \
-	done >$@ 2>$@.log; \
+		$(SPATCH) --sp-file $< $$f $(SPATCH_FLAGS) || \
+			{ ret=$$?; break; }; \
+	done >$@+ 2>$@.log; \
+	if test $$ret != 0; \
+	then \
+		cat $@.log; \
+		exit 1; \
+	fi; \
+	mv $@+ $@; \
 	if test -s $@; \
 	then \
 		echo '    ' SPATCH result: $@; \
diff --git a/README.md b/README.md
index c0cd558..f17af66 100644
--- a/README.md
+++ b/README.md
@@ -12,7 +12,7 @@
 
 Please read the file [INSTALL][] for installation instructions.
 
-Many Git online resources are accessible from http://git-scm.com/
+Many Git online resources are accessible from <https://git-scm.com/>
 including full documentation and Git related tools.
 
 See [Documentation/gittutorial.txt][] to get started, then see
@@ -33,8 +33,8 @@
 [Documentation/SubmittingPatches][] for instructions on patch submission).
 To subscribe to the list, send an email with just "subscribe git" in
 the body to majordomo@vger.kernel.org. The mailing list archives are
-available at https://public-inbox.org/git,
-http://marc.info/?l=git and other archival sites.
+available at <https://public-inbox.org/git/>,
+<http://marc.info/?l=git> and other archival sites.
 
 The maintainer frequently sends the "What's cooking" reports that
 list the current status of various development topics to the mailing
diff --git a/RelNotes b/RelNotes
index 7f250dd..125bf78 120000
--- a/RelNotes
+++ b/RelNotes
@@ -1 +1 @@
-Documentation/RelNotes/2.11.1.txt
\ No newline at end of file
+Documentation/RelNotes/2.13.0.txt
\ No newline at end of file
diff --git a/abspath.c b/abspath.c
index 2825de8..7f1cfe9 100644
--- a/abspath.c
+++ b/abspath.c
@@ -11,46 +11,83 @@
 	return (!stat(path, &st) && S_ISDIR(st.st_mode));
 }
 
+/* removes the last path component from 'path' except if 'path' is root */
+static void strip_last_component(struct strbuf *path)
+{
+	size_t offset = offset_1st_component(path->buf);
+	size_t len = path->len;
+
+	/* Find start of the last component */
+	while (offset < len && !is_dir_sep(path->buf[len - 1]))
+		len--;
+	/* Skip sequences of multiple path-separators */
+	while (offset < len && is_dir_sep(path->buf[len - 1]))
+		len--;
+
+	strbuf_setlen(path, len);
+}
+
+/* get (and remove) the next component in 'remaining' and place it in 'next' */
+static void get_next_component(struct strbuf *next, struct strbuf *remaining)
+{
+	char *start = NULL;
+	char *end = NULL;
+
+	strbuf_reset(next);
+
+	/* look for the next component */
+	/* Skip sequences of multiple path-separators */
+	for (start = remaining->buf; is_dir_sep(*start); start++)
+		; /* nothing */
+	/* Find end of the path component */
+	for (end = start; *end && !is_dir_sep(*end); end++)
+		; /* nothing */
+
+	strbuf_add(next, start, end - start);
+	/* remove the component from 'remaining' */
+	strbuf_remove(remaining, 0, end - remaining->buf);
+}
+
+/* copies root part from remaining to resolved, canonicalizing it on the way */
+static void get_root_part(struct strbuf *resolved, struct strbuf *remaining)
+{
+	int offset = offset_1st_component(remaining->buf);
+
+	strbuf_reset(resolved);
+	strbuf_add(resolved, remaining->buf, offset);
+#ifdef GIT_WINDOWS_NATIVE
+	convert_slashes(resolved->buf);
+#endif
+	strbuf_remove(remaining, 0, offset);
+}
+
 /* We allow "recursive" symbolic links. Only within reason, though. */
-#define MAXDEPTH 5
+#ifndef MAXSYMLINKS
+#define MAXSYMLINKS 32
+#endif
 
 /*
  * Return the real path (i.e., absolute path, with symlinks resolved
  * and extra slashes removed) equivalent to the specified path.  (If
  * you want an absolute path but don't mind links, use
- * absolute_path().)  The return value is a pointer to a static
- * buffer.
+ * absolute_path().)  Places the resolved realpath in the provided strbuf.
  *
- * The input and all intermediate paths must be shorter than MAX_PATH.
  * The directory part of path (i.e., everything up to the last
  * dir_sep) must denote a valid, existing directory, but the last
  * component need not exist.  If die_on_error is set, then die with an
  * informative error message if there is a problem.  Otherwise, return
  * NULL on errors (without generating any output).
- *
- * If path is our buffer, then return path, as it's already what the
- * user wants.
  */
-static const char *real_path_internal(const char *path, int die_on_error)
+char *strbuf_realpath(struct strbuf *resolved, const char *path,
+		      int die_on_error)
 {
-	static struct strbuf sb = STRBUF_INIT;
+	struct strbuf remaining = STRBUF_INIT;
+	struct strbuf next = STRBUF_INIT;
+	struct strbuf symlink = STRBUF_INIT;
 	char *retval = NULL;
-
-	/*
-	 * If we have to temporarily chdir(), store the original CWD
-	 * here so that we can chdir() back to it at the end of the
-	 * function:
-	 */
-	struct strbuf cwd = STRBUF_INIT;
-
-	int depth = MAXDEPTH;
-	char *last_elem = NULL;
+	int num_symlinks = 0;
 	struct stat st;
 
-	/* We've already done it */
-	if (path == sb.buf)
-		return path;
-
 	if (!*path) {
 		if (die_on_error)
 			die("The empty string is not a valid path");
@@ -58,86 +95,136 @@
 			goto error_out;
 	}
 
-	strbuf_reset(&sb);
-	strbuf_addstr(&sb, path);
+	strbuf_addstr(&remaining, path);
+	get_root_part(resolved, &remaining);
 
-	while (depth--) {
-		if (!is_directory(sb.buf)) {
-			char *last_slash = find_last_dir_sep(sb.buf);
-			if (last_slash) {
-				last_elem = xstrdup(last_slash + 1);
-				strbuf_setlen(&sb, last_slash - sb.buf + 1);
-			} else {
-				last_elem = xmemdupz(sb.buf, sb.len);
-				strbuf_reset(&sb);
-			}
-		}
-
-		if (sb.len) {
-			if (!cwd.len && strbuf_getcwd(&cwd)) {
-				if (die_on_error)
-					die_errno("Could not get current working directory");
-				else
-					goto error_out;
-			}
-
-			if (chdir(sb.buf)) {
-				if (die_on_error)
-					die_errno("Could not switch to '%s'",
-						  sb.buf);
-				else
-					goto error_out;
-			}
-		}
-		if (strbuf_getcwd(&sb)) {
+	if (!resolved->len) {
+		/* relative path; can use CWD as the initial resolved path */
+		if (strbuf_getcwd(resolved)) {
 			if (die_on_error)
-				die_errno("Could not get current working directory");
+				die_errno("unable to get current working directory");
 			else
 				goto error_out;
 		}
+	}
 
-		if (last_elem) {
-			if (sb.len && !is_dir_sep(sb.buf[sb.len - 1]))
-				strbuf_addch(&sb, '/');
-			strbuf_addstr(&sb, last_elem);
-			free(last_elem);
-			last_elem = NULL;
+	/* Iterate over the remaining path components */
+	while (remaining.len > 0) {
+		get_next_component(&next, &remaining);
+
+		if (next.len == 0) {
+			continue; /* empty component */
+		} else if (next.len == 1 && !strcmp(next.buf, ".")) {
+			continue; /* '.' component */
+		} else if (next.len == 2 && !strcmp(next.buf, "..")) {
+			/* '..' component; strip the last path component */
+			strip_last_component(resolved);
+			continue;
 		}
 
-		if (!lstat(sb.buf, &st) && S_ISLNK(st.st_mode)) {
-			struct strbuf next_sb = STRBUF_INIT;
-			ssize_t len = strbuf_readlink(&next_sb, sb.buf, 0);
-			if (len < 0) {
+		/* append the next component and resolve resultant path */
+		if (!is_dir_sep(resolved->buf[resolved->len - 1]))
+			strbuf_addch(resolved, '/');
+		strbuf_addbuf(resolved, &next);
+
+		if (lstat(resolved->buf, &st)) {
+			/* error out unless this was the last component */
+			if (errno != ENOENT || remaining.len) {
 				if (die_on_error)
-					die_errno("Invalid symlink '%s'",
-						  sb.buf);
+					die_errno("Invalid path '%s'",
+						  resolved->buf);
 				else
 					goto error_out;
 			}
-			strbuf_swap(&sb, &next_sb);
-			strbuf_release(&next_sb);
-		} else
-			break;
+		} else if (S_ISLNK(st.st_mode)) {
+			ssize_t len;
+			strbuf_reset(&symlink);
+
+			if (num_symlinks++ > MAXSYMLINKS) {
+				errno = ELOOP;
+
+				if (die_on_error)
+					die("More than %d nested symlinks "
+					    "on path '%s'", MAXSYMLINKS, path);
+				else
+					goto error_out;
+			}
+
+			len = strbuf_readlink(&symlink, resolved->buf,
+					      st.st_size);
+			if (len < 0) {
+				if (die_on_error)
+					die_errno("Invalid symlink '%s'",
+						  resolved->buf);
+				else
+					goto error_out;
+			}
+
+			if (is_absolute_path(symlink.buf)) {
+				/* absolute symlink; set resolved to root */
+				get_root_part(resolved, &symlink);
+			} else {
+				/*
+				 * relative symlink
+				 * strip off the last component since it will
+				 * be replaced with the contents of the symlink
+				 */
+				strip_last_component(resolved);
+			}
+
+			/*
+			 * if there are still remaining components to resolve
+			 * then append them to symlink
+			 */
+			if (remaining.len) {
+				strbuf_addch(&symlink, '/');
+				strbuf_addbuf(&symlink, &remaining);
+			}
+
+			/*
+			 * use the symlink as the remaining components that
+			 * need to be resloved
+			 */
+			strbuf_swap(&symlink, &remaining);
+		}
 	}
 
-	retval = sb.buf;
+	retval = resolved->buf;
+
 error_out:
-	free(last_elem);
-	if (cwd.len && chdir(cwd.buf))
-		die_errno("Could not change back to '%s'", cwd.buf);
-	strbuf_release(&cwd);
+	strbuf_release(&remaining);
+	strbuf_release(&next);
+	strbuf_release(&symlink);
+
+	if (!retval)
+		strbuf_reset(resolved);
 
 	return retval;
 }
 
 const char *real_path(const char *path)
 {
-	return real_path_internal(path, 1);
+	static struct strbuf realpath = STRBUF_INIT;
+	return strbuf_realpath(&realpath, path, 1);
 }
 
 const char *real_path_if_valid(const char *path)
 {
-	return real_path_internal(path, 0);
+	static struct strbuf realpath = STRBUF_INIT;
+	return strbuf_realpath(&realpath, path, 0);
+}
+
+char *real_pathdup(const char *path, int die_on_error)
+{
+	struct strbuf realpath = STRBUF_INIT;
+	char *retval = NULL;
+
+	if (strbuf_realpath(&realpath, path, die_on_error))
+		retval = strbuf_detach(&realpath, NULL);
+
+	strbuf_release(&realpath);
+
+	return retval;
 }
 
 /*
@@ -152,29 +239,28 @@
 	return sb.buf;
 }
 
-/*
- * Unlike prefix_path, this should be used if the named file does
- * not have to interact with index entry; i.e. name of a random file
- * on the filesystem.
- */
-const char *prefix_filename(const char *pfx, int pfx_len, const char *arg)
+char *absolute_pathdup(const char *path)
 {
-	static struct strbuf path = STRBUF_INIT;
-#ifndef GIT_WINDOWS_NATIVE
-	if (!pfx_len || is_absolute_path(arg))
-		return arg;
-	strbuf_reset(&path);
-	strbuf_add(&path, pfx, pfx_len);
-	strbuf_addstr(&path, arg);
-#else
-	/* don't add prefix to absolute paths, but still replace '\' by '/' */
-	strbuf_reset(&path);
-	if (is_absolute_path(arg))
+	struct strbuf sb = STRBUF_INIT;
+	strbuf_add_absolute_path(&sb, path);
+	return strbuf_detach(&sb, NULL);
+}
+
+char *prefix_filename(const char *pfx, const char *arg)
+{
+	struct strbuf path = STRBUF_INIT;
+	size_t pfx_len = pfx ? strlen(pfx) : 0;
+
+	if (!pfx_len)
+		; /* nothing to prefix */
+	else if (is_absolute_path(arg))
 		pfx_len = 0;
-	else if (pfx_len)
+	else
 		strbuf_add(&path, pfx, pfx_len);
+
 	strbuf_addstr(&path, arg);
+#ifdef GIT_WINDOWS_NATIVE
 	convert_slashes(path.buf + pfx_len);
 #endif
-	return path.buf;
+	return strbuf_detach(&path, NULL);
 }
diff --git a/apply.c b/apply.c
index 705cf56..e6dbab2 100644
--- a/apply.c
+++ b/apply.c
@@ -2046,7 +2046,7 @@
 	char *old_name = *name;
 	if (!old_name)
 		return;
-	*name = xstrdup(prefix_filename(state->prefix, state->prefix_length, *name));
+	*name = prefix_filename(state->prefix, *name);
 	free(old_name);
 }
 
@@ -2187,29 +2187,20 @@
 	return offset + hdrsize + patchsize;
 }
 
-#define swap(a,b) myswap((a),(b),sizeof(a))
-
-#define myswap(a, b, size) do {		\
-	unsigned char mytmp[size];	\
-	memcpy(mytmp, &a, size);		\
-	memcpy(&a, &b, size);		\
-	memcpy(&b, mytmp, size);		\
-} while (0)
-
 static void reverse_patches(struct patch *p)
 {
 	for (; p; p = p->next) {
 		struct fragment *frag = p->fragments;
 
-		swap(p->new_name, p->old_name);
-		swap(p->new_mode, p->old_mode);
-		swap(p->is_new, p->is_delete);
-		swap(p->lines_added, p->lines_deleted);
-		swap(p->old_sha1_prefix, p->new_sha1_prefix);
+		SWAP(p->new_name, p->old_name);
+		SWAP(p->new_mode, p->old_mode);
+		SWAP(p->is_new, p->is_delete);
+		SWAP(p->lines_added, p->lines_deleted);
+		SWAP(p->old_sha1_prefix, p->new_sha1_prefix);
 
 		for (; frag; frag = frag->next) {
-			swap(frag->newpos, frag->oldpos);
-			swap(frag->newlines, frag->oldlines);
+			SWAP(frag->newpos, frag->oldpos);
+			SWAP(frag->newlines, frag->oldlines);
 		}
 	}
 }
@@ -4688,7 +4679,7 @@
 								 state->index_file,
 								 LOCK_DIE_ON_ERROR);
 		else
-			state->newfd = hold_locked_index(state->lock_file, 1);
+			state->newfd = hold_locked_index(state->lock_file, LOCK_DIE_ON_ERROR);
 	}
 
 	if (state->check_index && read_apply_cache(state) < 0) {
@@ -4814,6 +4805,7 @@
 
 	for (i = 0; i < argc; i++) {
 		const char *arg = argv[i];
+		char *to_free = NULL;
 		int fd;
 
 		if (!strcmp(arg, "-")) {
@@ -4823,21 +4815,21 @@
 			errs |= res;
 			read_stdin = 0;
 			continue;
-		} else if (0 < state->prefix_length)
-			arg = prefix_filename(state->prefix,
-					      state->prefix_length,
-					      arg);
+		} else
+			arg = to_free = prefix_filename(state->prefix, arg);
 
 		fd = open(arg, O_RDONLY);
 		if (fd < 0) {
 			error(_("can't open patch '%s': %s"), arg, strerror(errno));
 			res = -128;
+			free(to_free);
 			goto end;
 		}
 		read_stdin = 0;
 		set_default_whitespace_mode(state);
 		res = apply_patch(state, fd, arg, options);
 		close(fd);
+		free(to_free);
 		if (res < 0)
 			goto end;
 		errs |= res;
diff --git a/archive.c b/archive.c
index 01751e5..60b8891 100644
--- a/archive.c
+++ b/archive.c
@@ -87,19 +87,6 @@
 	return buffer;
 }
 
-static void setup_archive_check(struct git_attr_check *check)
-{
-	static struct git_attr *attr_export_ignore;
-	static struct git_attr *attr_export_subst;
-
-	if (!attr_export_ignore) {
-		attr_export_ignore = git_attr("export-ignore");
-		attr_export_subst = git_attr("export-subst");
-	}
-	check[0].attr = attr_export_ignore;
-	check[1].attr = attr_export_subst;
-}
-
 struct directory {
 	struct directory *up;
 	struct object_id oid;
@@ -120,10 +107,10 @@
 		void *context)
 {
 	static struct strbuf path = STRBUF_INIT;
+	static struct attr_check *check;
 	struct archiver_context *c = context;
 	struct archiver_args *args = c->args;
 	write_archive_entry_fn_t write_entry = c->write_entry;
-	struct git_attr_check check[2];
 	const char *path_without_prefix;
 	int err;
 
@@ -137,11 +124,12 @@
 		strbuf_addch(&path, '/');
 	path_without_prefix = path.buf + args->baselen;
 
-	setup_archive_check(check);
-	if (!git_check_attr(path_without_prefix, ARRAY_SIZE(check), check)) {
-		if (ATTR_TRUE(check[0].value))
+	if (!check)
+		check = attr_check_initl("export-ignore", "export-subst", NULL);
+	if (!git_check_attr(path_without_prefix, check)) {
+		if (ATTR_TRUE(check->items[0].value))
 			return 0;
-		args->convert = ATTR_TRUE(check[1].value);
+		args->convert = ATTR_TRUE(check->items[1].value);
 	}
 
 	if (S_ISDIR(mode) || S_ISGITLINK(mode)) {
diff --git a/attr.c b/attr.c
index 1fcf042..7e21344 100644
--- a/attr.c
+++ b/attr.c
@@ -13,6 +13,8 @@
 #include "attr.h"
 #include "dir.h"
 #include "utf8.h"
+#include "quote.h"
+#include "thread-utils.h"
 
 const char git_attr__true[] = "(builtin)true";
 const char git_attr__false[] = "\0(builtin)false";
@@ -22,99 +24,234 @@
 #define ATTR__UNSET NULL
 #define ATTR__UNKNOWN git_attr__unknown
 
-/* This is a randomly chosen prime. */
-#define HASHSIZE 257
-
 #ifndef DEBUG_ATTR
 #define DEBUG_ATTR 0
 #endif
 
 struct git_attr {
-	struct git_attr *next;
-	unsigned h;
-	int attr_nr;
-	int maybe_macro;
-	int maybe_real;
-	char name[FLEX_ARRAY];
+	int attr_nr; /* unique attribute number */
+	char name[FLEX_ARRAY]; /* attribute name */
 };
-static int attr_nr;
-static int cannot_trust_maybe_real;
 
-static struct git_attr_check *check_all_attr;
-static struct git_attr *(git_attr_hash[HASHSIZE]);
-
-char *git_attr_name(struct git_attr *attr)
+const char *git_attr_name(const struct git_attr *attr)
 {
 	return attr->name;
 }
 
-static unsigned hash_name(const char *name, int namelen)
-{
-	unsigned val = 0, c;
+struct attr_hashmap {
+	struct hashmap map;
+#ifndef NO_PTHREADS
+	pthread_mutex_t mutex;
+#endif
+};
 
-	while (namelen--) {
-		c = *name++;
-		val = ((val << 7) | (val >> 22)) ^ c;
-	}
-	return val;
+static inline void hashmap_lock(struct attr_hashmap *map)
+{
+#ifndef NO_PTHREADS
+	pthread_mutex_lock(&map->mutex);
+#endif
 }
 
-static int invalid_attr_name(const char *name, int namelen)
+static inline void hashmap_unlock(struct attr_hashmap *map)
+{
+#ifndef NO_PTHREADS
+	pthread_mutex_unlock(&map->mutex);
+#endif
+}
+
+/*
+ * The global dictionary of all interned attributes.  This
+ * is a singleton object which is shared between threads.
+ * Access to this dictionary must be surrounded with a mutex.
+ */
+static struct attr_hashmap g_attr_hashmap;
+
+/* The container for objects stored in "struct attr_hashmap" */
+struct attr_hash_entry {
+	struct hashmap_entry ent; /* must be the first member! */
+	const char *key; /* the key; memory should be owned by value */
+	size_t keylen; /* length of the key */
+	void *value; /* the stored value */
+};
+
+/* attr_hashmap comparison function */
+static int attr_hash_entry_cmp(const struct attr_hash_entry *a,
+			       const struct attr_hash_entry *b,
+			       void *unused)
+{
+	return (a->keylen != b->keylen) || strncmp(a->key, b->key, a->keylen);
+}
+
+/* Initialize an 'attr_hashmap' object */
+static void attr_hashmap_init(struct attr_hashmap *map)
+{
+	hashmap_init(&map->map, (hashmap_cmp_fn) attr_hash_entry_cmp, 0);
+}
+
+/*
+ * Retrieve the 'value' stored in a hashmap given the provided 'key'.
+ * If there is no matching entry, return NULL.
+ */
+static void *attr_hashmap_get(struct attr_hashmap *map,
+			      const char *key, size_t keylen)
+{
+	struct attr_hash_entry k;
+	struct attr_hash_entry *e;
+
+	if (!map->map.tablesize)
+		attr_hashmap_init(map);
+
+	hashmap_entry_init(&k, memhash(key, keylen));
+	k.key = key;
+	k.keylen = keylen;
+	e = hashmap_get(&map->map, &k, NULL);
+
+	return e ? e->value : NULL;
+}
+
+/* Add 'value' to a hashmap based on the provided 'key'. */
+static void attr_hashmap_add(struct attr_hashmap *map,
+			     const char *key, size_t keylen,
+			     void *value)
+{
+	struct attr_hash_entry *e;
+
+	if (!map->map.tablesize)
+		attr_hashmap_init(map);
+
+	e = xmalloc(sizeof(struct attr_hash_entry));
+	hashmap_entry_init(e, memhash(key, keylen));
+	e->key = key;
+	e->keylen = keylen;
+	e->value = value;
+
+	hashmap_add(&map->map, e);
+}
+
+struct all_attrs_item {
+	const struct git_attr *attr;
+	const char *value;
+	/*
+	 * If 'macro' is non-NULL, indicates that 'attr' is a macro based on
+	 * the current attribute stack and contains a pointer to the match_attr
+	 * definition of the macro
+	 */
+	const struct match_attr *macro;
+};
+
+/*
+ * Reallocate and reinitialize the array of all attributes (which is used in
+ * the attribute collection process) in 'check' based on the global dictionary
+ * of attributes.
+ */
+static void all_attrs_init(struct attr_hashmap *map, struct attr_check *check)
+{
+	int i;
+
+	hashmap_lock(map);
+
+	if (map->map.size < check->all_attrs_nr)
+		die("BUG: interned attributes shouldn't be deleted");
+
+	/*
+	 * If the number of attributes in the global dictionary has increased
+	 * (or this attr_check instance doesn't have an initialized all_attrs
+	 * field), reallocate the provided attr_check instance's all_attrs
+	 * field and fill each entry with its corresponding git_attr.
+	 */
+	if (map->map.size != check->all_attrs_nr) {
+		struct attr_hash_entry *e;
+		struct hashmap_iter iter;
+		hashmap_iter_init(&map->map, &iter);
+
+		REALLOC_ARRAY(check->all_attrs, map->map.size);
+		check->all_attrs_nr = map->map.size;
+
+		while ((e = hashmap_iter_next(&iter))) {
+			const struct git_attr *a = e->value;
+			check->all_attrs[a->attr_nr].attr = a;
+		}
+	}
+
+	hashmap_unlock(map);
+
+	/*
+	 * Re-initialize every entry in check->all_attrs.
+	 * This re-initialization can live outside of the locked region since
+	 * the attribute dictionary is no longer being accessed.
+	 */
+	for (i = 0; i < check->all_attrs_nr; i++) {
+		check->all_attrs[i].value = ATTR__UNKNOWN;
+		check->all_attrs[i].macro = NULL;
+	}
+}
+
+static int attr_name_valid(const char *name, size_t namelen)
 {
 	/*
 	 * Attribute name cannot begin with '-' and must consist of
 	 * characters from [-A-Za-z0-9_.].
 	 */
 	if (namelen <= 0 || *name == '-')
-		return -1;
+		return 0;
 	while (namelen--) {
 		char ch = *name++;
 		if (! (ch == '-' || ch == '.' || ch == '_' ||
 		       ('0' <= ch && ch <= '9') ||
 		       ('a' <= ch && ch <= 'z') ||
 		       ('A' <= ch && ch <= 'Z')) )
-			return -1;
+			return 0;
 	}
-	return 0;
+	return 1;
 }
 
-static struct git_attr *git_attr_internal(const char *name, int len)
+static void report_invalid_attr(const char *name, size_t len,
+				const char *src, int lineno)
 {
-	unsigned hval = hash_name(name, len);
-	unsigned pos = hval % HASHSIZE;
+	struct strbuf err = STRBUF_INIT;
+	strbuf_addf(&err, _("%.*s is not a valid attribute name"),
+		    (int) len, name);
+	fprintf(stderr, "%s: %s:%d\n", err.buf, src, lineno);
+	strbuf_release(&err);
+}
+
+/*
+ * Given a 'name', lookup and return the corresponding attribute in the global
+ * dictionary.  If no entry is found, create a new attribute and store it in
+ * the dictionary.
+ */
+static const struct git_attr *git_attr_internal(const char *name, int namelen)
+{
 	struct git_attr *a;
 
-	for (a = git_attr_hash[pos]; a; a = a->next) {
-		if (a->h == hval &&
-		    !memcmp(a->name, name, len) && !a->name[len])
-			return a;
-	}
-
-	if (invalid_attr_name(name, len))
+	if (!attr_name_valid(name, namelen))
 		return NULL;
 
-	FLEX_ALLOC_MEM(a, name, name, len);
-	a->h = hval;
-	a->next = git_attr_hash[pos];
-	a->attr_nr = attr_nr++;
-	a->maybe_macro = 0;
-	a->maybe_real = 0;
-	git_attr_hash[pos] = a;
+	hashmap_lock(&g_attr_hashmap);
 
-	REALLOC_ARRAY(check_all_attr, attr_nr);
-	check_all_attr[a->attr_nr].attr = a;
-	check_all_attr[a->attr_nr].value = ATTR__UNKNOWN;
+	a = attr_hashmap_get(&g_attr_hashmap, name, namelen);
+
+	if (!a) {
+		FLEX_ALLOC_MEM(a, name, name, namelen);
+		a->attr_nr = g_attr_hashmap.map.size;
+
+		attr_hashmap_add(&g_attr_hashmap, a->name, namelen, a);
+		assert(a->attr_nr == (g_attr_hashmap.map.size - 1));
+	}
+
+	hashmap_unlock(&g_attr_hashmap);
+
 	return a;
 }
 
-struct git_attr *git_attr(const char *name)
+const struct git_attr *git_attr(const char *name)
 {
 	return git_attr_internal(name, strlen(name));
 }
 
 /* What does a matched pattern decide? */
 struct attr_state {
-	struct git_attr *attr;
+	const struct git_attr *attr;
 	const char *setto;
 };
 
@@ -131,9 +268,8 @@
  * If is_macro is true, then u.attr is a pointer to the git_attr being
  * defined.
  *
- * If is_macro is false, then u.pattern points at the filename pattern
- * to which the rule applies.  (The memory pointed to is part of the
- * memory block allocated for the match_attr instance.)
+ * If is_macro is false, then u.pat is the filename pattern to which the
+ * rule applies.
  *
  * In either case, num_attr is the number of attributes affected by
  * this rule, and state is an array listing them.  The attributes are
@@ -142,7 +278,7 @@
 struct match_attr {
 	union {
 		struct pattern pat;
-		struct git_attr *attr;
+		const struct git_attr *attr;
 	} u;
 	char is_macro;
 	unsigned num_attr;
@@ -177,13 +313,17 @@
 			cp++;
 			len--;
 		}
-		if (invalid_attr_name(cp, len)) {
-			fprintf(stderr,
-				"%.*s is not a valid attribute name: %s:%d\n",
-				len, cp, src, lineno);
+		if (!attr_name_valid(cp, len)) {
+			report_invalid_attr(cp, len, src, lineno);
 			return NULL;
 		}
 	} else {
+		/*
+		 * As this function is always called twice, once with
+		 * e == NULL in the first pass and then e != NULL in
+		 * the second pass, no need for attr_name_valid()
+		 * check here.
+		 */
 		if (*cp == '-' || *cp == '!') {
 			e->setto = (*cp == '-') ? ATTR__FALSE : ATTR__UNSET;
 			cp++;
@@ -207,41 +347,47 @@
 	const char *cp, *name, *states;
 	struct match_attr *res = NULL;
 	int is_macro;
+	struct strbuf pattern = STRBUF_INIT;
 
 	cp = line + strspn(line, blank);
 	if (!*cp || *cp == '#')
 		return NULL;
 	name = cp;
-	namelen = strcspn(name, blank);
+
+	if (*cp == '"' && !unquote_c_style(&pattern, name, &states)) {
+		name = pattern.buf;
+		namelen = pattern.len;
+	} else {
+		namelen = strcspn(name, blank);
+		states = name + namelen;
+	}
+
 	if (strlen(ATTRIBUTE_MACRO_PREFIX) < namelen &&
 	    starts_with(name, ATTRIBUTE_MACRO_PREFIX)) {
 		if (!macro_ok) {
 			fprintf(stderr, "%s not allowed: %s:%d\n",
 				name, src, lineno);
-			return NULL;
+			goto fail_return;
 		}
 		is_macro = 1;
 		name += strlen(ATTRIBUTE_MACRO_PREFIX);
 		name += strspn(name, blank);
 		namelen = strcspn(name, blank);
-		if (invalid_attr_name(name, namelen)) {
-			fprintf(stderr,
-				"%.*s is not a valid attribute name: %s:%d\n",
-				namelen, name, src, lineno);
-			return NULL;
+		if (!attr_name_valid(name, namelen)) {
+			report_invalid_attr(name, namelen, src, lineno);
+			goto fail_return;
 		}
 	}
 	else
 		is_macro = 0;
 
-	states = name + namelen;
 	states += strspn(states, blank);
 
 	/* First pass to count the attr_states */
 	for (cp = states, num_attr = 0; *cp; num_attr++) {
 		cp = parse_attr(src, lineno, cp, NULL);
 		if (!cp)
-			return NULL;
+			goto fail_return;
 	}
 
 	res = xcalloc(1,
@@ -250,7 +396,6 @@
 		      (is_macro ? 0 : namelen + 1));
 	if (is_macro) {
 		res->u.attr = git_attr_internal(name, namelen);
-		res->u.attr->maybe_macro = 1;
 	} else {
 		char *p = (char *)&(res->state[num_attr]);
 		memcpy(p, name, namelen);
@@ -262,7 +407,7 @@
 		if (res->u.pat.flags & EXC_FLAG_NEGATIVE) {
 			warning(_("Negative patterns are ignored in git attributes\n"
 				  "Use '\\!' for literal leading exclamation."));
-			return NULL;
+			goto fail_return;
 		}
 	}
 	res->is_macro = is_macro;
@@ -271,13 +416,15 @@
 	/* Second pass to fill the attr_states */
 	for (cp = states, i = 0; *cp; i++) {
 		cp = parse_attr(src, lineno, cp, &(res->state[i]));
-		if (!is_macro)
-			res->state[i].attr->maybe_real = 1;
-		if (res->state[i].attr->maybe_macro)
-			cannot_trust_maybe_real = 1;
 	}
 
+	strbuf_release(&pattern);
 	return res;
+
+fail_return:
+	strbuf_release(&pattern);
+	free(res);
+	return NULL;
 }
 
 /*
@@ -295,19 +442,19 @@
  * directory (again, reading the file from top to bottom) down to the
  * current directory, and then scan the list backwards to find the first match.
  * This is exactly the same as what is_excluded() does in dir.c to deal with
- * .gitignore
+ * .gitignore file and info/excludes file as a fallback.
  */
 
-static struct attr_stack {
+struct attr_stack {
 	struct attr_stack *prev;
 	char *origin;
 	size_t originlen;
 	unsigned num_matches;
 	unsigned alloc;
 	struct match_attr **attrs;
-} *attr_stack;
+};
 
-static void free_attr_elem(struct attr_stack *e)
+static void attr_stack_free(struct attr_stack *e)
 {
 	int i;
 	free(e->origin);
@@ -330,6 +477,190 @@
 	free(e);
 }
 
+static void drop_attr_stack(struct attr_stack **stack)
+{
+	while (*stack) {
+		struct attr_stack *elem = *stack;
+		*stack = elem->prev;
+		attr_stack_free(elem);
+	}
+}
+
+/* List of all attr_check structs; access should be surrounded by mutex */
+static struct check_vector {
+	size_t nr;
+	size_t alloc;
+	struct attr_check **checks;
+#ifndef NO_PTHREADS
+	pthread_mutex_t mutex;
+#endif
+} check_vector;
+
+static inline void vector_lock(void)
+{
+#ifndef NO_PTHREADS
+	pthread_mutex_lock(&check_vector.mutex);
+#endif
+}
+
+static inline void vector_unlock(void)
+{
+#ifndef NO_PTHREADS
+	pthread_mutex_unlock(&check_vector.mutex);
+#endif
+}
+
+static void check_vector_add(struct attr_check *c)
+{
+	vector_lock();
+
+	ALLOC_GROW(check_vector.checks,
+		   check_vector.nr + 1,
+		   check_vector.alloc);
+	check_vector.checks[check_vector.nr++] = c;
+
+	vector_unlock();
+}
+
+static void check_vector_remove(struct attr_check *check)
+{
+	int i;
+
+	vector_lock();
+
+	/* Find entry */
+	for (i = 0; i < check_vector.nr; i++)
+		if (check_vector.checks[i] == check)
+			break;
+
+	if (i >= check_vector.nr)
+		die("BUG: no entry found");
+
+	/* shift entries over */
+	for (; i < check_vector.nr - 1; i++)
+		check_vector.checks[i] = check_vector.checks[i + 1];
+
+	check_vector.nr--;
+
+	vector_unlock();
+}
+
+/* Iterate through all attr_check instances and drop their stacks */
+static void drop_all_attr_stacks(void)
+{
+	int i;
+
+	vector_lock();
+
+	for (i = 0; i < check_vector.nr; i++) {
+		drop_attr_stack(&check_vector.checks[i]->stack);
+	}
+
+	vector_unlock();
+}
+
+struct attr_check *attr_check_alloc(void)
+{
+	struct attr_check *c = xcalloc(1, sizeof(struct attr_check));
+
+	/* save pointer to the check struct */
+	check_vector_add(c);
+
+	return c;
+}
+
+struct attr_check *attr_check_initl(const char *one, ...)
+{
+	struct attr_check *check;
+	int cnt;
+	va_list params;
+	const char *param;
+
+	va_start(params, one);
+	for (cnt = 1; (param = va_arg(params, const char *)) != NULL; cnt++)
+		;
+	va_end(params);
+
+	check = attr_check_alloc();
+	check->nr = cnt;
+	check->alloc = cnt;
+	check->items = xcalloc(cnt, sizeof(struct attr_check_item));
+
+	check->items[0].attr = git_attr(one);
+	va_start(params, one);
+	for (cnt = 1; cnt < check->nr; cnt++) {
+		const struct git_attr *attr;
+		param = va_arg(params, const char *);
+		if (!param)
+			die("BUG: counted %d != ended at %d",
+			    check->nr, cnt);
+		attr = git_attr(param);
+		if (!attr)
+			die("BUG: %s: not a valid attribute name", param);
+		check->items[cnt].attr = attr;
+	}
+	va_end(params);
+	return check;
+}
+
+struct attr_check *attr_check_dup(const struct attr_check *check)
+{
+	struct attr_check *ret;
+
+	if (!check)
+		return NULL;
+
+	ret = attr_check_alloc();
+
+	ret->nr = check->nr;
+	ret->alloc = check->alloc;
+	ALLOC_ARRAY(ret->items, ret->nr);
+	COPY_ARRAY(ret->items, check->items, ret->nr);
+
+	return ret;
+}
+
+struct attr_check_item *attr_check_append(struct attr_check *check,
+					  const struct git_attr *attr)
+{
+	struct attr_check_item *item;
+
+	ALLOC_GROW(check->items, check->nr + 1, check->alloc);
+	item = &check->items[check->nr++];
+	item->attr = attr;
+	return item;
+}
+
+void attr_check_reset(struct attr_check *check)
+{
+	check->nr = 0;
+}
+
+void attr_check_clear(struct attr_check *check)
+{
+	free(check->items);
+	check->items = NULL;
+	check->alloc = 0;
+	check->nr = 0;
+
+	free(check->all_attrs);
+	check->all_attrs = NULL;
+	check->all_attrs_nr = 0;
+
+	drop_attr_stack(&check->stack);
+}
+
+void attr_check_free(struct attr_check *check)
+{
+	if (check) {
+		/* Remove check from the check vector */
+		check_vector_remove(check);
+
+		attr_check_clear(check);
+		free(check);
+	}
+}
+
 static const char *builtin_attr[] = {
 	"[attr]binary -diff -merge -text",
 	NULL,
@@ -362,9 +693,31 @@
 	return res;
 }
 
+/*
+ * Callers into the attribute system assume there is a single, system-wide
+ * global state where attributes are read from and when the state is flipped by
+ * calling git_attr_set_direction(), the stack frames that have been
+ * constructed need to be discarded so so that subsequent calls into the
+ * attribute system will lazily read from the right place.  Since changing
+ * direction causes a global paradigm shift, it should not ever be called while
+ * another thread could potentially be calling into the attribute system.
+ */
 static enum git_attr_direction direction;
 static struct index_state *use_index;
 
+void git_attr_set_direction(enum git_attr_direction new_direction,
+			    struct index_state *istate)
+{
+	if (is_bare_repository() && new_direction != GIT_ATTR_INDEX)
+		die("BUG: non-INDEX attr direction in a bare repo");
+
+	if (new_direction != direction)
+		drop_all_attr_stacks();
+
+	direction = new_direction;
+	use_index = istate;
+}
+
 static struct attr_stack *read_attr_from_file(const char *path, int macro_ok)
 {
 	FILE *fp = fopen(path, "r");
@@ -402,8 +755,8 @@
 	for (sp = buf; *sp; ) {
 		char *ep;
 		int more;
-		for (ep = sp; *ep && *ep != '\n'; ep++)
-			;
+
+		ep = strchrnul(sp, '\n');
 		more = (*ep == '\n');
 		*ep = '\0';
 		handle_attr_line(res, sp, path, ++lineno, macro_ok);
@@ -415,25 +768,28 @@
 
 static struct attr_stack *read_attr(const char *path, int macro_ok)
 {
-	struct attr_stack *res;
+	struct attr_stack *res = NULL;
 
-	if (direction == GIT_ATTR_CHECKOUT) {
+	if (direction == GIT_ATTR_INDEX) {
 		res = read_attr_from_index(path, macro_ok);
-		if (!res)
-			res = read_attr_from_file(path, macro_ok);
-	}
-	else if (direction == GIT_ATTR_CHECKIN) {
-		res = read_attr_from_file(path, macro_ok);
-		if (!res)
-			/*
-			 * There is no checked out .gitattributes file there, but
-			 * we might have it in the index.  We allow operation in a
-			 * sparsely checked out work tree, so read from it.
-			 */
+	} else if (!is_bare_repository()) {
+		if (direction == GIT_ATTR_CHECKOUT) {
 			res = read_attr_from_index(path, macro_ok);
+			if (!res)
+				res = read_attr_from_file(path, macro_ok);
+		} else if (direction == GIT_ATTR_CHECKIN) {
+			res = read_attr_from_file(path, macro_ok);
+			if (!res)
+				/*
+				 * There is no checked out .gitattributes file
+				 * there, but we might have it in the index.
+				 * We allow operation in a sparsely checked out
+				 * work tree, so read from it.
+				 */
+				res = read_attr_from_index(path, macro_ok);
+		}
 	}
-	else
-		res = read_attr_from_index(path, macro_ok);
+
 	if (!res)
 		res = xcalloc(1, sizeof(*res));
 	return res;
@@ -464,16 +820,7 @@
 #define debug_push(a) do { ; } while (0)
 #define debug_pop(a) do { ; } while (0)
 #define debug_set(a,b,c,d) do { ; } while (0)
-#endif
-
-static void drop_attr_stack(void)
-{
-	while (attr_stack) {
-		struct attr_stack *elem = attr_stack;
-		attr_stack = elem->prev;
-		free_attr_elem(elem);
-	}
-}
+#endif /* DEBUG_ATTR */
 
 static const char *git_etc_gitattributes(void)
 {
@@ -483,6 +830,14 @@
 	return system_wide;
 }
 
+static const char *get_home_gitattributes(void)
+{
+	if (!git_attributes_file)
+		git_attributes_file = xdg_config_home("attributes");
+
+	return git_attributes_file;
+}
+
 static int git_attr_system(void)
 {
 	return !git_env_bool("GIT_ATTR_NOSYSTEM", 0);
@@ -490,64 +845,60 @@
 
 static GIT_PATH_FUNC(git_path_info_attributes, INFOATTRIBUTES_FILE)
 
-static void bootstrap_attr_stack(void)
+static void push_stack(struct attr_stack **attr_stack_p,
+		       struct attr_stack *elem, char *origin, size_t originlen)
 {
-	struct attr_stack *elem;
-
-	if (attr_stack)
-		return;
-
-	elem = read_attr_from_array(builtin_attr);
-	elem->origin = NULL;
-	elem->prev = attr_stack;
-	attr_stack = elem;
-
-	if (git_attr_system()) {
-		elem = read_attr_from_file(git_etc_gitattributes(), 1);
-		if (elem) {
-			elem->origin = NULL;
-			elem->prev = attr_stack;
-			attr_stack = elem;
-		}
+	if (elem) {
+		elem->origin = origin;
+		if (origin)
+			elem->originlen = originlen;
+		elem->prev = *attr_stack_p;
+		*attr_stack_p = elem;
 	}
-
-	if (!git_attributes_file)
-		git_attributes_file = xdg_config_home("attributes");
-	if (git_attributes_file) {
-		elem = read_attr_from_file(git_attributes_file, 1);
-		if (elem) {
-			elem->origin = NULL;
-			elem->prev = attr_stack;
-			attr_stack = elem;
-		}
-	}
-
-	if (!is_bare_repository() || direction == GIT_ATTR_INDEX) {
-		elem = read_attr(GITATTRIBUTES_FILE, 1);
-		elem->origin = xstrdup("");
-		elem->originlen = 0;
-		elem->prev = attr_stack;
-		attr_stack = elem;
-		debug_push(elem);
-	}
-
-	if (startup_info->have_repository)
-		elem = read_attr_from_file(git_path_info_attributes(), 1);
-	else
-		elem = NULL;
-
-	if (!elem)
-		elem = xcalloc(1, sizeof(*elem));
-	elem->origin = NULL;
-	elem->prev = attr_stack;
-	attr_stack = elem;
 }
 
-static void prepare_attr_stack(const char *path, int dirlen)
+static void bootstrap_attr_stack(struct attr_stack **stack)
 {
-	struct attr_stack *elem, *info;
-	int len;
-	const char *cp;
+	struct attr_stack *e;
+
+	if (*stack)
+		return;
+
+	/* builtin frame */
+	e = read_attr_from_array(builtin_attr);
+	push_stack(stack, e, NULL, 0);
+
+	/* system-wide frame */
+	if (git_attr_system()) {
+		e = read_attr_from_file(git_etc_gitattributes(), 1);
+		push_stack(stack, e, NULL, 0);
+	}
+
+	/* home directory */
+	if (get_home_gitattributes()) {
+		e = read_attr_from_file(get_home_gitattributes(), 1);
+		push_stack(stack, e, NULL, 0);
+	}
+
+	/* root directory */
+	e = read_attr(GITATTRIBUTES_FILE, 1);
+	push_stack(stack, e, xstrdup(""), 0);
+
+	/* info frame */
+	if (startup_info->have_repository)
+		e = read_attr_from_file(git_path_info_attributes(), 1);
+	else
+		e = NULL;
+	if (!e)
+		e = xcalloc(1, sizeof(struct attr_stack));
+	push_stack(stack, e, NULL, 0);
+}
+
+static void prepare_attr_stack(const char *path, int dirlen,
+			       struct attr_stack **stack)
+{
+	struct attr_stack *info;
+	struct strbuf pathbuf = STRBUF_INIT;
 
 	/*
 	 * At the bottom of the attribute stack is the built-in
@@ -564,13 +915,13 @@
 	 * .gitattributes in deeper directories to shallower ones,
 	 * and finally use the built-in set as the default.
 	 */
-	bootstrap_attr_stack();
+	bootstrap_attr_stack(stack);
 
 	/*
 	 * Pop the "info" one that is always at the top of the stack.
 	 */
-	info = attr_stack;
-	attr_stack = info->prev;
+	info = *stack;
+	*stack = info->prev;
 
 	/*
 	 * Pop the ones from directories that are not the prefix of
@@ -578,59 +929,63 @@
 	 * the root one (whose origin is an empty string "") or the builtin
 	 * one (whose origin is NULL) without popping it.
 	 */
-	while (attr_stack->origin) {
-		int namelen = strlen(attr_stack->origin);
+	while ((*stack)->origin) {
+		int namelen = (*stack)->originlen;
+		struct attr_stack *elem;
 
-		elem = attr_stack;
+		elem = *stack;
 		if (namelen <= dirlen &&
 		    !strncmp(elem->origin, path, namelen) &&
 		    (!namelen || path[namelen] == '/'))
 			break;
 
 		debug_pop(elem);
-		attr_stack = elem->prev;
-		free_attr_elem(elem);
+		*stack = elem->prev;
+		attr_stack_free(elem);
 	}
 
 	/*
-	 * Read from parent directories and push them down
+	 * bootstrap_attr_stack() should have added, and the
+	 * above loop should have stopped before popping, the
+	 * root element whose attr_stack->origin is set to an
+	 * empty string.
 	 */
-	if (!is_bare_repository() || direction == GIT_ATTR_INDEX) {
-		/*
-		 * bootstrap_attr_stack() should have added, and the
-		 * above loop should have stopped before popping, the
-		 * root element whose attr_stack->origin is set to an
-		 * empty string.
-		 */
-		struct strbuf pathbuf = STRBUF_INIT;
+	assert((*stack)->origin);
 
-		assert(attr_stack->origin);
-		while (1) {
-			len = strlen(attr_stack->origin);
-			if (dirlen <= len)
-				break;
-			cp = memchr(path + len + 1, '/', dirlen - len - 1);
-			if (!cp)
-				cp = path + dirlen;
-			strbuf_add(&pathbuf, path, cp - path);
+	strbuf_addstr(&pathbuf, (*stack)->origin);
+	/* Build up to the directory 'path' is in */
+	while (pathbuf.len < dirlen) {
+		size_t len = pathbuf.len;
+		struct attr_stack *next;
+		char *origin;
+
+		/* Skip path-separator */
+		if (len < dirlen && is_dir_sep(path[len]))
+			len++;
+		/* Find the end of the next component */
+		while (len < dirlen && !is_dir_sep(path[len]))
+			len++;
+
+		if (pathbuf.len > 0)
 			strbuf_addch(&pathbuf, '/');
-			strbuf_addstr(&pathbuf, GITATTRIBUTES_FILE);
-			elem = read_attr(pathbuf.buf, 0);
-			strbuf_setlen(&pathbuf, cp - path);
-			elem->origin = strbuf_detach(&pathbuf, &elem->originlen);
-			elem->prev = attr_stack;
-			attr_stack = elem;
-			debug_push(elem);
-		}
+		strbuf_add(&pathbuf, path + pathbuf.len, (len - pathbuf.len));
+		strbuf_addf(&pathbuf, "/%s", GITATTRIBUTES_FILE);
 
-		strbuf_release(&pathbuf);
+		next = read_attr(pathbuf.buf, 0);
+
+		/* reset the pathbuf to not include "/.gitattributes" */
+		strbuf_setlen(&pathbuf, len);
+
+		origin = xstrdup(pathbuf.buf);
+		push_stack(stack, next, origin, len);
 	}
 
 	/*
 	 * Finally push the "info" one at the top of the stack.
 	 */
-	info->prev = attr_stack;
-	attr_stack = info;
+	push_stack(stack, info, NULL, 0);
+
+	strbuf_release(&pathbuf);
 }
 
 static int path_matches(const char *pathname, int pathlen,
@@ -656,16 +1011,16 @@
 			      pattern, prefix, pat->patternlen, pat->flags);
 }
 
-static int macroexpand_one(int attr_nr, int rem);
+static int macroexpand_one(struct all_attrs_item *all_attrs, int nr, int rem);
 
-static int fill_one(const char *what, struct match_attr *a, int rem)
+static int fill_one(const char *what, struct all_attrs_item *all_attrs,
+		    const struct match_attr *a, int rem)
 {
-	struct git_attr_check *check = check_all_attr;
 	int i;
 
-	for (i = a->num_attr - 1; 0 < rem && 0 <= i; i--) {
-		struct git_attr *attr = a->state[i].attr;
-		const char **n = &(check[attr->attr_nr].value);
+	for (i = a->num_attr - 1; rem > 0 && i >= 0; i--) {
+		const struct git_attr *attr = a->state[i].attr;
+		const char **n = &(all_attrs[attr->attr_nr].value);
 		const char *v = a->state[i].setto;
 
 		if (*n == ATTR__UNKNOWN) {
@@ -674,64 +1029,72 @@
 				  attr, v);
 			*n = v;
 			rem--;
-			rem = macroexpand_one(attr->attr_nr, rem);
+			rem = macroexpand_one(all_attrs, attr->attr_nr, rem);
 		}
 	}
 	return rem;
 }
 
 static int fill(const char *path, int pathlen, int basename_offset,
-		struct attr_stack *stk, int rem)
+		const struct attr_stack *stack,
+		struct all_attrs_item *all_attrs, int rem)
 {
-	int i;
-	const char *base = stk->origin ? stk->origin : "";
+	for (; rem > 0 && stack; stack = stack->prev) {
+		int i;
+		const char *base = stack->origin ? stack->origin : "";
 
-	for (i = stk->num_matches - 1; 0 < rem && 0 <= i; i--) {
-		struct match_attr *a = stk->attrs[i];
-		if (a->is_macro)
-			continue;
-		if (path_matches(path, pathlen, basename_offset,
-				 &a->u.pat, base, stk->originlen))
-			rem = fill_one("fill", a, rem);
+		for (i = stack->num_matches - 1; 0 < rem && 0 <= i; i--) {
+			const struct match_attr *a = stack->attrs[i];
+			if (a->is_macro)
+				continue;
+			if (path_matches(path, pathlen, basename_offset,
+					 &a->u.pat, base, stack->originlen))
+				rem = fill_one("fill", all_attrs, a, rem);
+		}
 	}
+
 	return rem;
 }
 
-static int macroexpand_one(int nr, int rem)
+static int macroexpand_one(struct all_attrs_item *all_attrs, int nr, int rem)
 {
-	struct attr_stack *stk;
-	struct match_attr *a = NULL;
-	int i;
+	const struct all_attrs_item *item = &all_attrs[nr];
 
-	if (check_all_attr[nr].value != ATTR__TRUE ||
-	    !check_all_attr[nr].attr->maybe_macro)
+	if (item->macro && item->value == ATTR__TRUE)
+		return fill_one("expand", all_attrs, item->macro, rem);
+	else
 		return rem;
-
-	for (stk = attr_stack; !a && stk; stk = stk->prev)
-		for (i = stk->num_matches - 1; !a && 0 <= i; i--) {
-			struct match_attr *ma = stk->attrs[i];
-			if (!ma->is_macro)
-				continue;
-			if (ma->u.attr->attr_nr == nr)
-				a = ma;
-		}
-
-	if (a)
-		rem = fill_one("expand", a, rem);
-
-	return rem;
 }
 
 /*
- * Collect attributes for path into the array pointed to by
- * check_all_attr. If num is non-zero, only attributes in check[] are
- * collected. Otherwise all attributes are collected.
+ * Marks the attributes which are macros based on the attribute stack.
+ * This prevents having to search through the attribute stack each time
+ * a macro needs to be expanded during the fill stage.
  */
-static void collect_some_attrs(const char *path, int num,
-			       struct git_attr_check *check)
-
+static void determine_macros(struct all_attrs_item *all_attrs,
+			     const struct attr_stack *stack)
 {
-	struct attr_stack *stk;
+	for (; stack; stack = stack->prev) {
+		int i;
+		for (i = stack->num_matches - 1; i >= 0; i--) {
+			const struct match_attr *ma = stack->attrs[i];
+			if (ma->is_macro) {
+				int n = ma->u.attr->attr_nr;
+				if (!all_attrs[n].macro) {
+					all_attrs[n].macro = ma;
+				}
+			}
+		}
+	}
+}
+
+/*
+ * Collect attributes for path into the array pointed to by check->all_attrs.
+ * If check->check_nr is non-zero, only attributes in check[] are collected.
+ * Otherwise all attributes are collected.
+ */
+static void collect_some_attrs(const char *path, struct attr_check *check)
+{
 	int i, pathlen, rem, dirlen;
 	const char *cp, *last_slash = NULL;
 	int basename_offset;
@@ -749,81 +1112,67 @@
 		dirlen = 0;
 	}
 
-	prepare_attr_stack(path, dirlen);
-	for (i = 0; i < attr_nr; i++)
-		check_all_attr[i].value = ATTR__UNKNOWN;
-	if (num && !cannot_trust_maybe_real) {
+	prepare_attr_stack(path, dirlen, &check->stack);
+	all_attrs_init(&g_attr_hashmap, check);
+	determine_macros(check->all_attrs, check->stack);
+
+	if (check->nr) {
 		rem = 0;
-		for (i = 0; i < num; i++) {
-			if (!check[i].attr->maybe_real) {
-				struct git_attr_check *c;
-				c = check_all_attr + check[i].attr->attr_nr;
-				c->value = ATTR__UNSET;
+		for (i = 0; i < check->nr; i++) {
+			int n = check->items[i].attr->attr_nr;
+			struct all_attrs_item *item = &check->all_attrs[n];
+			if (item->macro) {
+				item->value = ATTR__UNSET;
 				rem++;
 			}
 		}
-		if (rem == num)
+		if (rem == check->nr)
 			return;
 	}
 
-	rem = attr_nr;
-	for (stk = attr_stack; 0 < rem && stk; stk = stk->prev)
-		rem = fill(path, pathlen, basename_offset, stk, rem);
+	rem = check->all_attrs_nr;
+	fill(path, pathlen, basename_offset, check->stack, check->all_attrs, rem);
 }
 
-int git_check_attr(const char *path, int num, struct git_attr_check *check)
+int git_check_attr(const char *path, struct attr_check *check)
 {
 	int i;
 
-	collect_some_attrs(path, num, check);
+	collect_some_attrs(path, check);
 
-	for (i = 0; i < num; i++) {
-		const char *value = check_all_attr[check[i].attr->attr_nr].value;
+	for (i = 0; i < check->nr; i++) {
+		size_t n = check->items[i].attr->attr_nr;
+		const char *value = check->all_attrs[n].value;
 		if (value == ATTR__UNKNOWN)
 			value = ATTR__UNSET;
-		check[i].value = value;
+		check->items[i].value = value;
 	}
 
 	return 0;
 }
 
-int git_all_attrs(const char *path, int *num, struct git_attr_check **check)
+void git_all_attrs(const char *path, struct attr_check *check)
 {
-	int i, count, j;
+	int i;
 
-	collect_some_attrs(path, 0, NULL);
+	attr_check_reset(check);
+	collect_some_attrs(path, check);
 
-	/* Count the number of attributes that are set. */
-	count = 0;
-	for (i = 0; i < attr_nr; i++) {
-		const char *value = check_all_attr[i].value;
-		if (value != ATTR__UNSET && value != ATTR__UNKNOWN)
-			++count;
+	for (i = 0; i < check->all_attrs_nr; i++) {
+		const char *name = check->all_attrs[i].attr->name;
+		const char *value = check->all_attrs[i].value;
+		struct attr_check_item *item;
+		if (value == ATTR__UNSET || value == ATTR__UNKNOWN)
+			continue;
+		item = attr_check_append(check, git_attr(name));
+		item->value = value;
 	}
-	*num = count;
-	ALLOC_ARRAY(*check, count);
-	j = 0;
-	for (i = 0; i < attr_nr; i++) {
-		const char *value = check_all_attr[i].value;
-		if (value != ATTR__UNSET && value != ATTR__UNKNOWN) {
-			(*check)[j].attr = check_all_attr[i].attr;
-			(*check)[j].value = value;
-			++j;
-		}
-	}
-
-	return 0;
 }
 
-void git_attr_set_direction(enum git_attr_direction new, struct index_state *istate)
+void attr_start(void)
 {
-	enum git_attr_direction old = direction;
-
-	if (is_bare_repository() && new != GIT_ATTR_INDEX)
-		die("BUG: non-INDEX attr direction in a bare repo");
-
-	direction = new;
-	if (new != old)
-		drop_attr_stack();
-	use_index = istate;
+#ifndef NO_PTHREADS
+	pthread_mutex_init(&g_attr_hashmap.mutex, NULL);
+	pthread_mutex_init(&check_vector.mutex, NULL);
+#endif
 }
diff --git a/attr.h b/attr.h
index 8b08d33..442d464 100644
--- a/attr.h
+++ b/attr.h
@@ -4,11 +4,15 @@
 /* An attribute is a pointer to this opaque structure */
 struct git_attr;
 
+/* opaque structures used internally for attribute collection */
+struct all_attrs_item;
+struct attr_stack;
+
 /*
  * Given a string, return the gitattribute object that
  * corresponds to it.
  */
-struct git_attr *git_attr(const char *);
+const struct git_attr *git_attr(const char *);
 
 /* Internal use */
 extern const char git_attr__true[];
@@ -20,38 +24,58 @@
 #define ATTR_UNSET(v) ((v) == NULL)
 
 /*
- * Send one or more git_attr_check to git_check_attr(), and
+ * Send one or more git_attr_check to git_check_attrs(), and
  * each 'value' member tells what its value is.
  * Unset one is returned as NULL.
  */
-struct git_attr_check {
-	struct git_attr *attr;
+struct attr_check_item {
+	const struct git_attr *attr;
 	const char *value;
 };
 
+struct attr_check {
+	int nr;
+	int alloc;
+	struct attr_check_item *items;
+	int all_attrs_nr;
+	struct all_attrs_item *all_attrs;
+	struct attr_stack *stack;
+};
+
+extern struct attr_check *attr_check_alloc(void);
+extern struct attr_check *attr_check_initl(const char *, ...);
+extern struct attr_check *attr_check_dup(const struct attr_check *check);
+
+extern struct attr_check_item *attr_check_append(struct attr_check *check,
+						 const struct git_attr *attr);
+
+extern void attr_check_reset(struct attr_check *check);
+extern void attr_check_clear(struct attr_check *check);
+extern void attr_check_free(struct attr_check *check);
+
 /*
  * Return the name of the attribute represented by the argument.  The
  * return value is a pointer to a null-delimited string that is part
  * of the internal data structure; it should not be modified or freed.
  */
-char *git_attr_name(struct git_attr *);
+extern const char *git_attr_name(const struct git_attr *);
 
-int git_check_attr(const char *path, int, struct git_attr_check *);
+extern int git_check_attr(const char *path, struct attr_check *check);
 
 /*
- * Retrieve all attributes that apply to the specified path.  *num
- * will be set to the number of attributes on the path; **check will
- * be set to point at a newly-allocated array of git_attr_check
- * objects describing the attributes and their values.  *check must be
- * free()ed by the caller.
+ * Retrieve all attributes that apply to the specified path.
+ * check holds the attributes and their values.
  */
-int git_all_attrs(const char *path, int *num, struct git_attr_check **check);
+extern void git_all_attrs(const char *path, struct attr_check *check);
 
 enum git_attr_direction {
 	GIT_ATTR_CHECKIN,
 	GIT_ATTR_CHECKOUT,
 	GIT_ATTR_INDEX
 };
-void git_attr_set_direction(enum git_attr_direction, struct index_state *);
+void git_attr_set_direction(enum git_attr_direction new_direction,
+			    struct index_state *istate);
+
+extern void attr_start(void);
 
 #endif /* ATTR_H */
diff --git a/bisect.c b/bisect.c
index 21bc6da..03af06c 100644
--- a/bisect.c
+++ b/bisect.c
@@ -12,8 +12,8 @@
 #include "sha1-array.h"
 #include "argv-array.h"
 
-static struct sha1_array good_revs;
-static struct sha1_array skipped_revs;
+static struct oid_array good_revs;
+static struct oid_array skipped_revs;
 
 static struct object_id *current_bad_oid;
 
@@ -200,6 +200,7 @@
 {
 	struct commit_list *p;
 	struct commit_dist *array = xcalloc(nr, sizeof(*array));
+	struct strbuf buf = STRBUF_INIT;
 	int cnt, i;
 
 	for (p = list, cnt = 0; p; p = p->next) {
@@ -217,17 +218,18 @@
 	}
 	QSORT(array, cnt, compare_commit_dist);
 	for (p = list, i = 0; i < cnt; i++) {
-		char buf[100]; /* enough for dist=%d */
 		struct object *obj = &(array[i].commit->object);
 
-		snprintf(buf, sizeof(buf), "dist=%d", array[i].distance);
-		add_name_decoration(DECORATION_NONE, buf, obj);
+		strbuf_reset(&buf);
+		strbuf_addf(&buf, "dist=%d", array[i].distance);
+		add_name_decoration(DECORATION_NONE, buf.buf, obj);
 
 		p->item = array[i].commit;
 		p = p->next;
 	}
 	if (p)
 		p->next = NULL;
+	strbuf_release(&buf);
 	free(array);
 	return list;
 }
@@ -413,9 +415,9 @@
 		current_bad_oid = xmalloc(sizeof(*current_bad_oid));
 		oidcpy(current_bad_oid, oid);
 	} else if (starts_with(refname, good_prefix.buf)) {
-		sha1_array_append(&good_revs, oid->hash);
+		oid_array_append(&good_revs, oid);
 	} else if (starts_with(refname, "skip-")) {
-		sha1_array_append(&skipped_revs, oid->hash);
+		oid_array_append(&skipped_revs, oid);
 	}
 
 	strbuf_release(&good_prefix);
@@ -451,13 +453,13 @@
 	fclose(fp);
 }
 
-static char *join_sha1_array_hex(struct sha1_array *array, char delim)
+static char *join_sha1_array_hex(struct oid_array *array, char delim)
 {
 	struct strbuf joined_hexs = STRBUF_INIT;
 	int i;
 
 	for (i = 0; i < array->nr; i++) {
-		strbuf_addstr(&joined_hexs, sha1_to_hex(array->sha1[i]));
+		strbuf_addstr(&joined_hexs, oid_to_hex(array->oid + i));
 		if (i + 1 < array->nr)
 			strbuf_addch(&joined_hexs, delim);
 	}
@@ -499,8 +501,7 @@
 	while (list) {
 		struct commit_list *next = list->next;
 		list->next = NULL;
-		if (0 <= sha1_array_lookup(&skipped_revs,
-					   list->item->object.oid.hash)) {
+		if (0 <= oid_array_lookup(&skipped_revs, &list->item->object.oid)) {
 			if (skipped_first && !*skipped_first)
 				*skipped_first = 1;
 			/* Move current to tried list */
@@ -621,7 +622,7 @@
 	argv_array_pushf(&rev_argv, bad_format, oid_to_hex(current_bad_oid));
 	for (i = 0; i < good_revs.nr; i++)
 		argv_array_pushf(&rev_argv, good_format,
-				 sha1_to_hex(good_revs.sha1[i]));
+				 oid_to_hex(good_revs.oid + i));
 	argv_array_push(&rev_argv, "--");
 	if (read_paths)
 		read_bisect_paths(&rev_argv);
@@ -682,7 +683,7 @@
 
 static int bisect_checkout(const unsigned char *bisect_rev, int no_checkout)
 {
-	char bisect_rev_hex[GIT_SHA1_HEXSZ + 1];
+	char bisect_rev_hex[GIT_MAX_HEXSZ + 1];
 
 	memcpy(bisect_rev_hex, sha1_to_hex(bisect_rev), GIT_SHA1_HEXSZ + 1);
 	update_ref(NULL, "BISECT_EXPECTED_REV", bisect_rev, NULL, 0, UPDATE_REFS_DIE_ON_ERR);
@@ -701,11 +702,11 @@
 	return run_command_v_opt(argv_show_branch, RUN_GIT_CMD);
 }
 
-static struct commit *get_commit_reference(const unsigned char *sha1)
+static struct commit *get_commit_reference(const struct object_id *oid)
 {
-	struct commit *r = lookup_commit_reference(sha1);
+	struct commit *r = lookup_commit_reference(oid->hash);
 	if (!r)
-		die(_("Not a valid commit name %s"), sha1_to_hex(sha1));
+		die(_("Not a valid commit name %s"), oid_to_hex(oid));
 	return r;
 }
 
@@ -715,9 +716,9 @@
 	int i, n = 0;
 
 	ALLOC_ARRAY(rev, 1 + good_revs.nr);
-	rev[n++] = get_commit_reference(current_bad_oid->hash);
+	rev[n++] = get_commit_reference(current_bad_oid);
 	for (i = 0; i < good_revs.nr; i++)
-		rev[n++] = get_commit_reference(good_revs.sha1[i]);
+		rev[n++] = get_commit_reference(good_revs.oid + i);
 	*rev_nr = n;
 
 	return rev;
@@ -747,16 +748,16 @@
 		exit(3);
 	}
 
-	fprintf(stderr, _("Some %s revs are not ancestor of the %s rev.\n"
+	fprintf(stderr, _("Some %s revs are not ancestors of the %s rev.\n"
 		"git bisect cannot work properly in this case.\n"
 		"Maybe you mistook %s and %s revs?\n"),
 		term_good, term_bad, term_good, term_bad);
 	exit(1);
 }
 
-static void handle_skipped_merge_base(const unsigned char *mb)
+static void handle_skipped_merge_base(const struct object_id *mb)
 {
-	char *mb_hex = sha1_to_hex(mb);
+	char *mb_hex = oid_to_hex(mb);
 	char *bad_hex = oid_to_hex(current_bad_oid);
 	char *good_hex = join_sha1_array_hex(&good_revs, ' ');
 
@@ -787,16 +788,16 @@
 	result = get_merge_bases_many(rev[0], rev_nr - 1, rev + 1);
 
 	for (; result; result = result->next) {
-		const unsigned char *mb = result->item->object.oid.hash;
-		if (!hashcmp(mb, current_bad_oid->hash)) {
+		const struct object_id *mb = &result->item->object.oid;
+		if (!oidcmp(mb, current_bad_oid)) {
 			handle_bad_merge_base();
-		} else if (0 <= sha1_array_lookup(&good_revs, mb)) {
+		} else if (0 <= oid_array_lookup(&good_revs, mb)) {
 			continue;
-		} else if (0 <= sha1_array_lookup(&skipped_revs, mb)) {
+		} else if (0 <= oid_array_lookup(&skipped_revs, mb)) {
 			handle_skipped_merge_base(mb);
 		} else {
 			printf(_("Bisecting: a merge base must be tested\n"));
-			exit(bisect_checkout(mb, no_checkout));
+			exit(bisect_checkout(mb->hash, no_checkout));
 		}
 	}
 
@@ -940,7 +941,7 @@
 	struct commit_list *tried;
 	int reaches = 0, all = 0, nr, steps;
 	const unsigned char *bisect_rev;
-	char steps_msg[32];
+	char *steps_msg;
 
 	read_bisect_terms(&term_bad, &term_good);
 	if (read_bisect_refs())
@@ -990,14 +991,15 @@
 
 	nr = all - reaches - 1;
 	steps = estimate_bisect_steps(all);
-	xsnprintf(steps_msg, sizeof(steps_msg),
-		  Q_("(roughly %d step)", "(roughly %d steps)", steps),
-		  steps);
+
+	steps_msg = xstrfmt(Q_("(roughly %d step)", "(roughly %d steps)",
+		  steps), steps);
 	/* TRANSLATORS: the last %s will be replaced with
 	   "(roughly %d steps)" translation */
 	printf(Q_("Bisecting: %d revision left to test after this %s\n",
 		  "Bisecting: %d revisions left to test after this %s\n",
 		  nr), nr, steps_msg);
+	free(steps_msg);
 
 	return bisect_checkout(bisect_rev, no_checkout);
 }
diff --git a/branch.c b/branch.c
index c431cbf..ad5a229 100644
--- a/branch.c
+++ b/branch.c
@@ -234,7 +234,7 @@
 {
 	struct commit *commit;
 	unsigned char sha1[20];
-	char *real_ref, msg[PATH_MAX + 20];
+	char *real_ref;
 	struct strbuf ref = STRBUF_INIT;
 	int forcing = 0;
 	int dont_change_ref = 0;
@@ -290,19 +290,18 @@
 		die(_("Not a valid branch point: '%s'."), start_name);
 	hashcpy(sha1, commit->object.oid.hash);
 
-	if (forcing)
-		snprintf(msg, sizeof msg, "branch: Reset to %s",
-			 start_name);
-	else if (!dont_change_ref)
-		snprintf(msg, sizeof msg, "branch: Created from %s",
-			 start_name);
-
 	if (reflog)
-		log_all_ref_updates = 1;
+		log_all_ref_updates = LOG_REFS_NORMAL;
 
 	if (!dont_change_ref) {
 		struct ref_transaction *transaction;
 		struct strbuf err = STRBUF_INIT;
+		char *msg;
+
+		if (forcing)
+			msg = xstrfmt("branch: Reset to %s", start_name);
+		else
+			msg = xstrfmt("branch: Created from %s", start_name);
 
 		transaction = ref_transaction_begin(&err);
 		if (!transaction ||
@@ -313,6 +312,7 @@
 			die("%s", err.buf);
 		ref_transaction_free(transaction);
 		strbuf_release(&err);
+		free(msg);
 	}
 
 	if (real_ref && track)
@@ -345,7 +345,8 @@
 	    branch, wt->path);
 }
 
-int replace_each_worktree_head_symref(const char *oldref, const char *newref)
+int replace_each_worktree_head_symref(const char *oldref, const char *newref,
+				      const char *logmsg)
 {
 	int ret = 0;
 	struct worktree **worktrees = get_worktrees(0);
@@ -358,7 +359,7 @@
 			continue;
 
 		if (set_worktree_head_symref(get_worktree_git_dir(worktrees[i]),
-					     newref)) {
+					     newref, logmsg)) {
 			ret = -1;
 			error(_("HEAD of working tree %s is not updated"),
 			      worktrees[i]->path);
diff --git a/branch.h b/branch.h
index 3103eb9..b077885 100644
--- a/branch.h
+++ b/branch.h
@@ -71,6 +71,7 @@
  * This will be used when renaming a branch. Returns 0 if successful, non-zero
  * otherwise.
  */
-extern int replace_each_worktree_head_symref(const char *oldref, const char *newref);
+extern int replace_each_worktree_head_symref(const char *oldref, const char *newref,
+					     const char *logmsg);
 
 #endif
diff --git a/builtin.h b/builtin.h
index b9122bc..9e4a898 100644
--- a/builtin.h
+++ b/builtin.h
@@ -60,6 +60,7 @@
 extern int cmd_diff_index(int argc, const char **argv, const char *prefix);
 extern int cmd_diff(int argc, const char **argv, const char *prefix);
 extern int cmd_diff_tree(int argc, const char **argv, const char *prefix);
+extern int cmd_difftool(int argc, const char **argv, const char *prefix);
 extern int cmd_fast_export(int argc, const char **argv, const char *prefix);
 extern int cmd_fetch(int argc, const char **argv, const char *prefix);
 extern int cmd_fetch_pack(int argc, const char **argv, const char *prefix);
@@ -102,6 +103,7 @@
 extern int cmd_pull(int argc, const char **argv, const char *prefix);
 extern int cmd_push(int argc, const char **argv, const char *prefix);
 extern int cmd_read_tree(int argc, const char **argv, const char *prefix);
+extern int cmd_rebase__helper(int argc, const char **argv, const char *prefix);
 extern int cmd_receive_pack(int argc, const char **argv, const char *prefix);
 extern int cmd_reflog(int argc, const char **argv, const char *prefix);
 extern int cmd_remote(int argc, const char **argv, const char *prefix);
diff --git a/builtin/add.c b/builtin/add.c
index e8fb80b..9f53f02 100644
--- a/builtin/add.c
+++ b/builtin/add.c
@@ -361,7 +361,7 @@
 	add_new_files = !take_worktree_changes && !refresh_only;
 	require_pathspec = !(take_worktree_changes || (0 < addremove_explicit));
 
-	hold_locked_index(&lock_file, 1);
+	hold_locked_index(&lock_file, LOCK_DIE_ON_ERROR);
 
 	flags = ((verbose ? ADD_CACHE_VERBOSE : 0) |
 		 (show_only ? ADD_CACHE_PRETEND : 0) |
diff --git a/builtin/am.c b/builtin/am.c
index 826f18b..f7a7a97 100644
--- a/builtin/am.c
+++ b/builtin/am.c
@@ -1049,7 +1049,7 @@
 	} else {
 		write_state_text(state, "abort-safety", "");
 		if (!state->rebasing)
-			delete_ref("ORIG_HEAD", NULL, 0);
+			delete_ref(NULL, "ORIG_HEAD", NULL, 0);
 	}
 
 	/*
@@ -1119,7 +1119,7 @@
 {
 	struct lock_file *lock_file = xcalloc(1, sizeof(struct lock_file));
 
-	hold_locked_index(lock_file, 1);
+	hold_locked_index(lock_file, LOCK_DIE_ON_ERROR);
 	refresh_cache(REFRESH_QUIET);
 	if (write_locked_index(&the_index, lock_file, COMMIT_LOCK))
 		die(_("unable to write index file"));
@@ -1976,7 +1976,7 @@
 		return -1;
 
 	lock_file = xcalloc(1, sizeof(struct lock_file));
-	hold_locked_index(lock_file, 1);
+	hold_locked_index(lock_file, LOCK_DIE_ON_ERROR);
 
 	refresh_cache(REFRESH_QUIET);
 
@@ -2016,7 +2016,7 @@
 		return -1;
 
 	lock_file = xcalloc(1, sizeof(struct lock_file));
-	hold_locked_index(lock_file, 1);
+	hold_locked_index(lock_file, LOCK_DIE_ON_ERROR);
 
 	memset(&opts, 0, sizeof(opts));
 	opts.head_idx = 1;
@@ -2172,7 +2172,7 @@
 				has_curr_head ? &curr_head : NULL, 0,
 				UPDATE_REFS_DIE_ON_ERR);
 	else if (curr_branch)
-		delete_ref(curr_branch, NULL, REF_NODEREF);
+		delete_ref(NULL, curr_branch, NULL, REF_NODEREF);
 
 	free(curr_branch);
 	am_destroy(state);
diff --git a/builtin/blame.c b/builtin/blame.c
index 3aae19a..07506a3 100644
--- a/builtin/blame.c
+++ b/builtin/blame.c
@@ -658,8 +658,11 @@
 /*
  * Append a new blame entry to a given output queue.
  */
-static void add_blame_entry(struct blame_entry ***queue, struct blame_entry *e)
+static void add_blame_entry(struct blame_entry ***queue,
+			    const struct blame_entry *src)
 {
+	struct blame_entry *e = xmalloc(sizeof(*e));
+	memcpy(e, src, sizeof(*e));
 	origin_incref(e->suspect);
 
 	e->next = **queue;
@@ -760,21 +763,15 @@
 			struct blame_entry *split,
 			struct blame_entry *e)
 {
-	struct blame_entry *new_entry;
-
 	if (split[0].suspect && split[2].suspect) {
 		/* The first part (reuse storage for the existing entry e) */
 		dup_entry(unblamed, e, &split[0]);
 
 		/* The last part -- me */
-		new_entry = xmalloc(sizeof(*new_entry));
-		memcpy(new_entry, &(split[2]), sizeof(struct blame_entry));
-		add_blame_entry(unblamed, new_entry);
+		add_blame_entry(unblamed, &split[2]);
 
 		/* ... and the middle part -- parent */
-		new_entry = xmalloc(sizeof(*new_entry));
-		memcpy(new_entry, &(split[1]), sizeof(struct blame_entry));
-		add_blame_entry(blamed, new_entry);
+		add_blame_entry(blamed, &split[1]);
 	}
 	else if (!split[0].suspect && !split[2].suspect)
 		/*
@@ -785,18 +782,12 @@
 	else if (split[0].suspect) {
 		/* me and then parent */
 		dup_entry(unblamed, e, &split[0]);
-
-		new_entry = xmalloc(sizeof(*new_entry));
-		memcpy(new_entry, &(split[1]), sizeof(struct blame_entry));
-		add_blame_entry(blamed, new_entry);
+		add_blame_entry(blamed, &split[1]);
 	}
 	else {
 		/* parent and then me */
 		dup_entry(blamed, e, &split[1]);
-
-		new_entry = xmalloc(sizeof(*new_entry));
-		memcpy(new_entry, &(split[2]), sizeof(struct blame_entry));
-		add_blame_entry(unblamed, new_entry);
+		add_blame_entry(unblamed, &split[2]);
 	}
 }
 
@@ -1899,9 +1890,9 @@
 	int cnt;
 	const char *cp;
 	struct origin *suspect = ent->suspect;
-	char hex[GIT_SHA1_HEXSZ + 1];
+	char hex[GIT_MAX_HEXSZ + 1];
 
-	sha1_to_hex_r(hex, suspect->commit->object.oid.hash);
+	oid_to_hex_r(hex, &suspect->commit->object.oid);
 	printf("%s %d %d %d\n",
 	       hex,
 	       ent->s_lno + 1,
@@ -1937,11 +1928,11 @@
 	const char *cp;
 	struct origin *suspect = ent->suspect;
 	struct commit_info ci;
-	char hex[GIT_SHA1_HEXSZ + 1];
+	char hex[GIT_MAX_HEXSZ + 1];
 	int show_raw_time = !!(opt & OUTPUT_RAW_TIMESTAMP);
 
 	get_commit_info(suspect->commit, &ci, 1);
-	sha1_to_hex_r(hex, suspect->commit->object.oid.hash);
+	oid_to_hex_r(hex, &suspect->commit->object.oid);
 
 	cp = nth_line(sb, ent->lno);
 	for (cnt = 0; cnt < ent->num_lines; cnt++) {
@@ -2601,8 +2592,7 @@
 		 * and are only included here to get included in the "-h"
 		 * output:
 		 */
-		{ OPTION_LOWLEVEL_CALLBACK, 0, "indent-heuristic", NULL, NULL, N_("Use an experimental indent-based heuristic to improve diffs"), PARSE_OPT_NOARG, parse_opt_unknown_cb },
-		{ OPTION_LOWLEVEL_CALLBACK, 0, "compaction-heuristic", NULL, NULL, N_("Use an experimental blank-line-based heuristic to improve diffs"), PARSE_OPT_NOARG, parse_opt_unknown_cb },
+		{ OPTION_LOWLEVEL_CALLBACK, 0, "indent-heuristic", NULL, NULL, N_("Use an experimental heuristic to improve diffs"), PARSE_OPT_NOARG, parse_opt_unknown_cb },
 
 		OPT_BIT(0, "minimal", &xdl_opts, N_("Spend extra cycles to find better match"), XDF_NEED_MINIMAL),
 		OPT_STRING('S', NULL, &revs_file, N_("file"), N_("Use revisions from <file> instead of calling git-rev-list")),
@@ -2650,7 +2640,7 @@
 	}
 parse_done:
 	no_whole_file_rename = !DIFF_OPT_TST(&revs.diffopt, FOLLOW_RENAMES);
-	xdl_opts |= revs.diffopt.xdl_opts & (XDF_COMPACTION_HEURISTIC | XDF_INDENT_HEURISTIC);
+	xdl_opts |= revs.diffopt.xdl_opts & XDF_INDENT_HEURISTIC;
 	DIFF_OPT_CLR(&revs.diffopt, FOLLOW_RENAMES);
 	argc = parse_options_end(&ctx);
 
diff --git a/builtin/branch.c b/builtin/branch.c
index 4757075..0552c42 100644
--- a/builtin/branch.c
+++ b/builtin/branch.c
@@ -28,20 +28,21 @@
 	N_("git branch [<options>] [-r] (-d | -D) <branch-name>..."),
 	N_("git branch [<options>] (-m | -M) [<old-branch>] <new-branch>"),
 	N_("git branch [<options>] [-r | -a] [--points-at]"),
+	N_("git branch [<options>] [-r | -a] [--format]"),
 	NULL
 };
 
 static const char *head;
-static unsigned char head_sha1[20];
+static struct object_id head_oid;
 
 static int branch_use_color = -1;
 static char branch_colors[][COLOR_MAXLEN] = {
 	GIT_COLOR_RESET,
-	GIT_COLOR_NORMAL,	/* PLAIN */
-	GIT_COLOR_RED,		/* REMOTE */
-	GIT_COLOR_NORMAL,	/* LOCAL */
-	GIT_COLOR_GREEN,	/* CURRENT */
-	GIT_COLOR_BLUE,		/* UPSTREAM */
+	GIT_COLOR_NORMAL,       /* PLAIN */
+	GIT_COLOR_RED,          /* REMOTE */
+	GIT_COLOR_NORMAL,       /* LOCAL */
+	GIT_COLOR_GREEN,        /* CURRENT */
+	GIT_COLOR_BLUE,         /* UPSTREAM */
 };
 enum color_branch {
 	BRANCH_COLOR_RESET = 0,
@@ -117,13 +118,13 @@
 	if (kind == FILTER_REFS_BRANCHES) {
 		struct branch *branch = branch_get(name);
 		const char *upstream = branch_get_upstream(branch, NULL);
-		unsigned char sha1[20];
+		struct object_id oid;
 
 		if (upstream &&
 		    (reference_name = reference_name_to_free =
 		     resolve_refdup(upstream, RESOLVE_REF_READING,
-				    sha1, NULL)) != NULL)
-			reference_rev = lookup_commit_reference(sha1);
+				    oid.hash, NULL)) != NULL)
+			reference_rev = lookup_commit_reference(oid.hash);
 	}
 	if (!reference_rev)
 		reference_rev = head_rev;
@@ -153,10 +154,10 @@
 }
 
 static int check_branch_commit(const char *branchname, const char *refname,
-			       const unsigned char *sha1, struct commit *head_rev,
+			       const struct object_id *oid, struct commit *head_rev,
 			       int kinds, int force)
 {
-	struct commit *rev = lookup_commit_reference(sha1);
+	struct commit *rev = lookup_commit_reference(oid->hash);
 	if (!rev) {
 		error(_("Couldn't look up commit object for '%s'"), refname);
 		return -1;
@@ -183,31 +184,34 @@
 			   int quiet)
 {
 	struct commit *head_rev = NULL;
-	unsigned char sha1[20];
+	struct object_id oid;
 	char *name = NULL;
 	const char *fmt;
 	int i;
 	int ret = 0;
 	int remote_branch = 0;
 	struct strbuf bname = STRBUF_INIT;
+	unsigned allowed_interpret;
 
 	switch (kinds) {
 	case FILTER_REFS_REMOTES:
 		fmt = "refs/remotes/%s";
 		/* For subsequent UI messages */
 		remote_branch = 1;
+		allowed_interpret = INTERPRET_BRANCH_REMOTE;
 
 		force = 1;
 		break;
 	case FILTER_REFS_BRANCHES:
 		fmt = "refs/heads/%s";
+		allowed_interpret = INTERPRET_BRANCH_LOCAL;
 		break;
 	default:
 		die(_("cannot use -a with -d"));
 	}
 
 	if (!force) {
-		head_rev = lookup_commit_reference(head_sha1);
+		head_rev = lookup_commit_reference(head_oid.hash);
 		if (!head_rev)
 			die(_("Couldn't look up commit object for HEAD"));
 	}
@@ -215,7 +219,7 @@
 		char *target = NULL;
 		int flags = 0;
 
-		strbuf_branchname(&bname, argv[i]);
+		strbuf_branchname(&bname, argv[i], allowed_interpret);
 		free(name);
 		name = mkpathdup(fmt, bname.buf);
 
@@ -235,7 +239,7 @@
 					RESOLVE_REF_READING
 					| RESOLVE_REF_NO_RECURSE
 					| RESOLVE_REF_ALLOW_BAD_NAME,
-					sha1, &flags);
+					oid.hash, &flags);
 		if (!target) {
 			error(remote_branch
 			      ? _("remote-tracking branch '%s' not found.")
@@ -245,13 +249,13 @@
 		}
 
 		if (!(flags & (REF_ISSYMREF|REF_ISBROKEN)) &&
-		    check_branch_commit(bname.buf, name, sha1, head_rev, kinds,
+		    check_branch_commit(bname.buf, name, &oid, head_rev, kinds,
 					force)) {
 			ret = 1;
 			goto next;
 		}
 
-		if (delete_ref(name, is_null_sha1(sha1) ? NULL : sha1,
+		if (delete_ref(NULL, name, is_null_oid(&oid) ? NULL : oid.hash,
 			       REF_NODEREF)) {
 			error(remote_branch
 			      ? _("Error deleting remote-tracking branch '%s'")
@@ -267,7 +271,7 @@
 			       bname.buf,
 			       (flags & REF_ISBROKEN) ? "broken"
 			       : (flags & REF_ISSYMREF) ? target
-			       : find_unique_abbrev(sha1, DEFAULT_ABBREV));
+			       : find_unique_abbrev(oid.hash, DEFAULT_ABBREV));
 		}
 		delete_branch_config(bname.buf);
 
@@ -280,195 +284,6 @@
 	return(ret);
 }
 
-static void fill_tracking_info(struct strbuf *stat, const char *branch_name,
-		int show_upstream_ref)
-{
-	int ours, theirs;
-	char *ref = NULL;
-	struct branch *branch = branch_get(branch_name);
-	const char *upstream;
-	struct strbuf fancy = STRBUF_INIT;
-	int upstream_is_gone = 0;
-	int added_decoration = 1;
-
-	if (stat_tracking_info(branch, &ours, &theirs, &upstream) < 0) {
-		if (!upstream)
-			return;
-		upstream_is_gone = 1;
-	}
-
-	if (show_upstream_ref) {
-		ref = shorten_unambiguous_ref(upstream, 0);
-		if (want_color(branch_use_color))
-			strbuf_addf(&fancy, "%s%s%s",
-					branch_get_color(BRANCH_COLOR_UPSTREAM),
-					ref, branch_get_color(BRANCH_COLOR_RESET));
-		else
-			strbuf_addstr(&fancy, ref);
-	}
-
-	if (upstream_is_gone) {
-		if (show_upstream_ref)
-			strbuf_addf(stat, _("[%s: gone]"), fancy.buf);
-		else
-			added_decoration = 0;
-	} else if (!ours && !theirs) {
-		if (show_upstream_ref)
-			strbuf_addf(stat, _("[%s]"), fancy.buf);
-		else
-			added_decoration = 0;
-	} else if (!ours) {
-		if (show_upstream_ref)
-			strbuf_addf(stat, _("[%s: behind %d]"), fancy.buf, theirs);
-		else
-			strbuf_addf(stat, _("[behind %d]"), theirs);
-
-	} else if (!theirs) {
-		if (show_upstream_ref)
-			strbuf_addf(stat, _("[%s: ahead %d]"), fancy.buf, ours);
-		else
-			strbuf_addf(stat, _("[ahead %d]"), ours);
-	} else {
-		if (show_upstream_ref)
-			strbuf_addf(stat, _("[%s: ahead %d, behind %d]"),
-				    fancy.buf, ours, theirs);
-		else
-			strbuf_addf(stat, _("[ahead %d, behind %d]"),
-				    ours, theirs);
-	}
-	strbuf_release(&fancy);
-	if (added_decoration)
-		strbuf_addch(stat, ' ');
-	free(ref);
-}
-
-static void add_verbose_info(struct strbuf *out, struct ref_array_item *item,
-			     struct ref_filter *filter, const char *refname)
-{
-	struct strbuf subject = STRBUF_INIT, stat = STRBUF_INIT;
-	const char *sub = _(" **** invalid ref ****");
-	struct commit *commit = item->commit;
-
-	if (!parse_commit(commit)) {
-		pp_commit_easy(CMIT_FMT_ONELINE, commit, &subject);
-		sub = subject.buf;
-	}
-
-	if (item->kind == FILTER_REFS_BRANCHES)
-		fill_tracking_info(&stat, refname, filter->verbose > 1);
-
-	strbuf_addf(out, " %s %s%s",
-		find_unique_abbrev(item->commit->object.oid.hash, filter->abbrev),
-		stat.buf, sub);
-	strbuf_release(&stat);
-	strbuf_release(&subject);
-}
-
-static char *get_head_description(void)
-{
-	struct strbuf desc = STRBUF_INIT;
-	struct wt_status_state state;
-	memset(&state, 0, sizeof(state));
-	wt_status_get_state(&state, 1);
-	if (state.rebase_in_progress ||
-	    state.rebase_interactive_in_progress)
-		strbuf_addf(&desc, _("(no branch, rebasing %s)"),
-			    state.branch);
-	else if (state.bisect_in_progress)
-		strbuf_addf(&desc, _("(no branch, bisect started on %s)"),
-			    state.branch);
-	else if (state.detached_from) {
-		if (state.detached_at)
-			/* TRANSLATORS: make sure this matches
-			   "HEAD detached at " in wt-status.c */
-			strbuf_addf(&desc, _("(HEAD detached at %s)"),
-				state.detached_from);
-		else
-			/* TRANSLATORS: make sure this matches
-			   "HEAD detached from " in wt-status.c */
-			strbuf_addf(&desc, _("(HEAD detached from %s)"),
-				state.detached_from);
-	}
-	else
-		strbuf_addstr(&desc, _("(no branch)"));
-	free(state.branch);
-	free(state.onto);
-	free(state.detached_from);
-	return strbuf_detach(&desc, NULL);
-}
-
-static void format_and_print_ref_item(struct ref_array_item *item, int maxwidth,
-				      struct ref_filter *filter, const char *remote_prefix)
-{
-	char c;
-	int current = 0;
-	int color;
-	struct strbuf out = STRBUF_INIT, name = STRBUF_INIT;
-	const char *prefix_to_show = "";
-	const char *prefix_to_skip = NULL;
-	const char *desc = item->refname;
-	char *to_free = NULL;
-
-	switch (item->kind) {
-	case FILTER_REFS_BRANCHES:
-		prefix_to_skip = "refs/heads/";
-		skip_prefix(desc, prefix_to_skip, &desc);
-		if (!filter->detached && !strcmp(desc, head))
-			current = 1;
-		else
-			color = BRANCH_COLOR_LOCAL;
-		break;
-	case FILTER_REFS_REMOTES:
-		prefix_to_skip = "refs/remotes/";
-		skip_prefix(desc, prefix_to_skip, &desc);
-		color = BRANCH_COLOR_REMOTE;
-		prefix_to_show = remote_prefix;
-		break;
-	case FILTER_REFS_DETACHED_HEAD:
-		desc = to_free = get_head_description();
-		current = 1;
-		break;
-	default:
-		color = BRANCH_COLOR_PLAIN;
-		break;
-	}
-
-	c = ' ';
-	if (current) {
-		c = '*';
-		color = BRANCH_COLOR_CURRENT;
-	}
-
-	strbuf_addf(&name, "%s%s", prefix_to_show, desc);
-	if (filter->verbose) {
-		int utf8_compensation = strlen(name.buf) - utf8_strwidth(name.buf);
-		strbuf_addf(&out, "%c %s%-*s%s", c, branch_get_color(color),
-			    maxwidth + utf8_compensation, name.buf,
-			    branch_get_color(BRANCH_COLOR_RESET));
-	} else
-		strbuf_addf(&out, "%c %s%s%s", c, branch_get_color(color),
-			    name.buf, branch_get_color(BRANCH_COLOR_RESET));
-
-	if (item->symref) {
-		const char *symref = item->symref;
-		if (prefix_to_skip)
-			skip_prefix(symref, prefix_to_skip, &symref);
-		strbuf_addf(&out, " -> %s", symref);
-	}
-	else if (filter->verbose)
-		/* " f7c0c00 [ahead 58, behind 197] vcs-svn: drop obj_pool.h" */
-		add_verbose_info(&out, item, filter, desc);
-	if (column_active(colopts)) {
-		assert(!filter->verbose && "--column and --verbose are incompatible");
-		string_list_append(&output, out.buf);
-	} else {
-		printf("%s\n", out.buf);
-	}
-	strbuf_release(&name);
-	strbuf_release(&out);
-	free(to_free);
-}
-
 static int calc_maxwidth(struct ref_array *refs, int remote_bonus)
 {
 	int i, max = 0;
@@ -479,7 +294,12 @@
 
 		skip_prefix(it->refname, "refs/heads/", &desc);
 		skip_prefix(it->refname, "refs/remotes/", &desc);
-		w = utf8_strwidth(desc);
+		if (it->kind == FILTER_REFS_DETACHED_HEAD) {
+			char *head_desc = get_head_description();
+			w = utf8_strwidth(head_desc);
+			free(head_desc);
+		} else
+			w = utf8_strwidth(desc);
 
 		if (it->kind == FILTER_REFS_REMOTES)
 			w += remote_bonus;
@@ -489,12 +309,84 @@
 	return max;
 }
 
-static void print_ref_list(struct ref_filter *filter, struct ref_sorting *sorting)
+static const char *quote_literal_for_format(const char *s)
+{
+	static struct strbuf buf = STRBUF_INIT;
+
+	strbuf_reset(&buf);
+	while (*s) {
+		const char *ep = strchrnul(s, '%');
+		if (s < ep)
+			strbuf_add(&buf, s, ep - s);
+		if (*ep == '%') {
+			strbuf_addstr(&buf, "%%");
+			s = ep + 1;
+		} else {
+			s = ep;
+		}
+	}
+	return buf.buf;
+}
+
+static char *build_format(struct ref_filter *filter, int maxwidth, const char *remote_prefix)
+{
+	struct strbuf fmt = STRBUF_INIT;
+	struct strbuf local = STRBUF_INIT;
+	struct strbuf remote = STRBUF_INIT;
+
+	strbuf_addf(&fmt, "%%(if)%%(HEAD)%%(then)* %s%%(else)  %%(end)",
+		    branch_get_color(BRANCH_COLOR_CURRENT));
+
+	if (filter->verbose) {
+		struct strbuf obname = STRBUF_INIT;
+
+		if (filter->abbrev < 0)
+			strbuf_addf(&obname, "%%(objectname:short)");
+		else if (!filter->abbrev)
+			strbuf_addf(&obname, "%%(objectname)");
+		else
+			strbuf_addf(&obname, "%%(objectname:short=%d)", filter->abbrev);
+
+		strbuf_addf(&local, "%%(align:%d,left)%%(refname:lstrip=2)%%(end)", maxwidth);
+		strbuf_addf(&local, "%s", branch_get_color(BRANCH_COLOR_RESET));
+		strbuf_addf(&local, " %s ", obname.buf);
+
+		if (filter->verbose > 1)
+			strbuf_addf(&local, "%%(if)%%(upstream)%%(then)[%s%%(upstream:short)%s%%(if)%%(upstream:track)"
+				    "%%(then): %%(upstream:track,nobracket)%%(end)] %%(end)%%(contents:subject)",
+				    branch_get_color(BRANCH_COLOR_UPSTREAM), branch_get_color(BRANCH_COLOR_RESET));
+		else
+			strbuf_addf(&local, "%%(if)%%(upstream:track)%%(then)%%(upstream:track) %%(end)%%(contents:subject)");
+
+		strbuf_addf(&remote, "%s%%(align:%d,left)%s%%(refname:lstrip=2)%%(end)%s"
+			    "%%(if)%%(symref)%%(then) -> %%(symref:short)"
+			    "%%(else) %s %%(contents:subject)%%(end)",
+			    branch_get_color(BRANCH_COLOR_REMOTE), maxwidth, quote_literal_for_format(remote_prefix),
+			    branch_get_color(BRANCH_COLOR_RESET), obname.buf);
+		strbuf_release(&obname);
+	} else {
+		strbuf_addf(&local, "%%(refname:lstrip=2)%s%%(if)%%(symref)%%(then) -> %%(symref:short)%%(end)",
+			    branch_get_color(BRANCH_COLOR_RESET));
+		strbuf_addf(&remote, "%s%s%%(refname:lstrip=2)%s%%(if)%%(symref)%%(then) -> %%(symref:short)%%(end)",
+			    branch_get_color(BRANCH_COLOR_REMOTE), quote_literal_for_format(remote_prefix),
+			    branch_get_color(BRANCH_COLOR_RESET));
+	}
+
+	strbuf_addf(&fmt, "%%(if:notequals=refs/remotes)%%(refname:rstrip=-2)%%(then)%s%%(else)%s%%(end)", local.buf, remote.buf);
+
+	strbuf_release(&local);
+	strbuf_release(&remote);
+	return strbuf_detach(&fmt, NULL);
+}
+
+static void print_ref_list(struct ref_filter *filter, struct ref_sorting *sorting, const char *format)
 {
 	int i;
 	struct ref_array array;
 	int maxwidth = 0;
 	const char *remote_prefix = "";
+	struct strbuf out = STRBUF_INIT;
+	char *to_free = NULL;
 
 	/*
 	 * If we are listing more than just remote branches,
@@ -506,27 +398,32 @@
 
 	memset(&array, 0, sizeof(array));
 
-	verify_ref_format("%(refname)%(symref)");
 	filter_refs(&array, filter, filter->kind | FILTER_REFS_INCLUDE_BROKEN);
 
 	if (filter->verbose)
 		maxwidth = calc_maxwidth(&array, strlen(remote_prefix));
 
-	/*
-	 * If no sorting parameter is given then we default to sorting
-	 * by 'refname'. This would give us an alphabetically sorted
-	 * array with the 'HEAD' ref at the beginning followed by
-	 * local branches 'refs/heads/...' and finally remote-tacking
-	 * branches 'refs/remotes/...'.
-	 */
-	if (!sorting)
-		sorting = ref_default_sorting();
+	if (!format)
+		format = to_free = build_format(filter, maxwidth, remote_prefix);
+	verify_ref_format(format);
+
 	ref_array_sort(sorting, &array);
 
-	for (i = 0; i < array.nr; i++)
-		format_and_print_ref_item(array.items[i], maxwidth, filter, remote_prefix);
+	for (i = 0; i < array.nr; i++) {
+		format_ref_array_item(array.items[i], format, 0, &out);
+		if (column_active(colopts)) {
+			assert(!filter->verbose && "--column and --verbose are incompatible");
+			 /* format to a string_list to let print_columns() do its job */
+			string_list_append(&output, out.buf);
+		} else {
+			fwrite(out.buf, 1, out.len, stdout);
+			putchar('\n');
+		}
+		strbuf_release(&out);
+	}
 
 	ref_array_clear(&array);
+	free(to_free);
 }
 
 static void reject_rebase_or_bisect_branch(const char *target)
@@ -588,14 +485,15 @@
 
 	if (rename_ref(oldref.buf, newref.buf, logmsg.buf))
 		die(_("Branch rename failed"));
-	strbuf_release(&logmsg);
 
 	if (recovery)
 		warning(_("Renamed a misnamed branch '%s' away"), oldref.buf + 11);
 
-	if (replace_each_worktree_head_symref(oldref.buf, newref.buf))
+	if (replace_each_worktree_head_symref(oldref.buf, newref.buf, logmsg.buf))
 		die(_("Branch renamed to %s, but HEAD is not updated!"), newname);
 
+	strbuf_release(&logmsg);
+
 	strbuf_addf(&oldsection, "branch.%s", oldref.buf + 11);
 	strbuf_release(&oldref);
 	strbuf_addf(&newsection, "branch.%s", newref.buf + 11);
@@ -645,7 +543,9 @@
 	const char *new_upstream = NULL;
 	enum branch_track track;
 	struct ref_filter filter;
+	int icase = 0;
 	static struct ref_sorting *sorting = NULL, **sorting_tail = &sorting;
+	const char *format = NULL;
 
 	struct option options[] = {
 		OPT_GROUP(N_("Generic options")),
@@ -662,7 +562,9 @@
 		OPT_SET_INT('r', "remotes",     &filter.kind, N_("act on remote-tracking branches"),
 			FILTER_REFS_REMOTES),
 		OPT_CONTAINS(&filter.with_commit, N_("print only branches that contain the commit")),
+		OPT_NO_CONTAINS(&filter.no_commit, N_("print only branches that don't contain the commit")),
 		OPT_WITH(&filter.with_commit, N_("print only branches that contain the commit")),
+		OPT_WITHOUT(&filter.no_commit, N_("print only branches that don't contain the commit")),
 		OPT__ABBREV(&filter.abbrev),
 
 		OPT_GROUP(N_("Specific git-branch actions:")),
@@ -686,9 +588,13 @@
 			OPTION_CALLBACK, 0, "points-at", &filter.points_at, N_("object"),
 			N_("print only branches of the object"), 0, parse_opt_object_name
 		},
+		OPT_BOOL('i', "ignore-case", &icase, N_("sorting and filtering are case insensitive")),
+		OPT_STRING(  0 , "format", &format, N_("format"), N_("format to use for the output")),
 		OPT_END(),
 	};
 
+	setup_ref_filter_porcelain_msg();
+
 	memset(&filter, 0, sizeof(filter));
 	filter.kind = FILTER_REFS_BRANCHES;
 	filter.abbrev = -1;
@@ -700,7 +606,7 @@
 
 	track = git_branch_track;
 
-	head = resolve_refdup("HEAD", 0, head_sha1, NULL);
+	head = resolve_refdup("HEAD", 0, head_oid.hash, NULL);
 	if (!head)
 		die(_("Failed to resolve HEAD as a valid ref."));
 	if (!strcmp(head, "HEAD"))
@@ -714,7 +620,8 @@
 	if (!delete && !rename && !edit_description && !new_upstream && !unset_upstream && argc == 0)
 		list = 1;
 
-	if (filter.with_commit || filter.merge != REF_FILTER_MERGED_NONE || filter.points_at.nr)
+	if (filter.with_commit || filter.merge != REF_FILTER_MERGED_NONE || filter.points_at.nr ||
+	    filter.no_commit)
 		list = 1;
 
 	if (!!delete + !!rename + !!new_upstream +
@@ -723,6 +630,8 @@
 
 	if (filter.abbrev == -1)
 		filter.abbrev = DEFAULT_ABBREV;
+	filter.ignore_case = icase;
+
 	finalize_colopts(&colopts, -1);
 	if (filter.verbose) {
 		if (explicitly_enable_column(colopts))
@@ -744,7 +653,17 @@
 		if ((filter.kind & FILTER_REFS_BRANCHES) && filter.detached)
 			filter.kind |= FILTER_REFS_DETACHED_HEAD;
 		filter.name_patterns = argv;
-		print_ref_list(&filter, sorting);
+		/*
+		 * If no sorting parameter is given then we default to sorting
+		 * by 'refname'. This would give us an alphabetically sorted
+		 * array with the 'HEAD' ref at the beginning followed by
+		 * local branches 'refs/heads/...' and finally remote-tacking
+		 * branches 'refs/remotes/...'.
+		 */
+		if (!sorting)
+			sorting = ref_default_sorting();
+		sorting->ignore_case = icase;
+		print_ref_list(&filter, sorting, format);
 		print_columns(&output, colopts, NULL);
 		string_list_clear(&output, 0);
 		return 0;
diff --git a/builtin/bundle.c b/builtin/bundle.c
index 4883a43..d0de59b 100644
--- a/builtin/bundle.c
+++ b/builtin/bundle.c
@@ -20,21 +20,15 @@
 	struct bundle_header header;
 	const char *cmd, *bundle_file;
 	int bundle_fd = -1;
-	char buffer[PATH_MAX];
 
 	if (argc < 3)
 		usage(builtin_bundle_usage);
 
 	cmd = argv[1];
-	bundle_file = argv[2];
+	bundle_file = prefix_filename(prefix, argv[2]);
 	argc -= 2;
 	argv += 2;
 
-	if (prefix && bundle_file[0] != '/') {
-		snprintf(buffer, sizeof(buffer), "%s/%s", prefix, bundle_file);
-		bundle_file = buffer;
-	}
-
 	memset(&header, 0, sizeof(header));
 	if (strcmp(cmd, "create") && (bundle_fd =
 				read_bundle_header(bundle_file, &header)) < 0)
diff --git a/builtin/cat-file.c b/builtin/cat-file.c
index 30383e9..1890d7a 100644
--- a/builtin/cat-file.c
+++ b/builtin/cat-file.c
@@ -401,28 +401,28 @@
 	struct expand_data *expand;
 };
 
-static int batch_object_cb(const unsigned char sha1[20], void *vdata)
+static int batch_object_cb(const struct object_id *oid, void *vdata)
 {
 	struct object_cb_data *data = vdata;
-	hashcpy(data->expand->oid.hash, sha1);
+	oidcpy(&data->expand->oid, oid);
 	batch_object_write(NULL, data->opt, data->expand);
 	return 0;
 }
 
-static int batch_loose_object(const unsigned char *sha1,
+static int batch_loose_object(const struct object_id *oid,
 			      const char *path,
 			      void *data)
 {
-	sha1_array_append(data, sha1);
+	oid_array_append(data, oid);
 	return 0;
 }
 
-static int batch_packed_object(const unsigned char *sha1,
+static int batch_packed_object(const struct object_id *oid,
 			       struct packed_git *pack,
 			       uint32_t pos,
 			       void *data)
 {
-	sha1_array_append(data, sha1);
+	oid_array_append(data, oid);
 	return 0;
 }
 
@@ -462,7 +462,7 @@
 		data.info.typep = &data.type;
 
 	if (opt->all_objects) {
-		struct sha1_array sa = SHA1_ARRAY_INIT;
+		struct oid_array sa = OID_ARRAY_INIT;
 		struct object_cb_data cb;
 
 		for_each_loose_object(batch_loose_object, &sa, 0);
@@ -470,9 +470,9 @@
 
 		cb.opt = opt;
 		cb.expand = &data;
-		sha1_array_for_each_unique(&sa, batch_object_cb, &cb);
+		oid_array_for_each_unique(&sa, batch_object_cb, &cb);
 
-		sha1_array_clear(&sa);
+		oid_array_clear(&sa);
 		return 0;
 	}
 
diff --git a/builtin/check-attr.c b/builtin/check-attr.c
index 53a5a18..4d01ca0 100644
--- a/builtin/check-attr.c
+++ b/builtin/check-attr.c
@@ -24,12 +24,13 @@
 	OPT_END()
 };
 
-static void output_attr(int cnt, struct git_attr_check *check,
-	const char *file)
+static void output_attr(struct attr_check *check, const char *file)
 {
 	int j;
+	int cnt = check->nr;
+
 	for (j = 0; j < cnt; j++) {
-		const char *value = check[j].value;
+		const char *value = check->items[j].value;
 
 		if (ATTR_TRUE(value))
 			value = "set";
@@ -42,35 +43,38 @@
 			printf("%s%c" /* path */
 			       "%s%c" /* attrname */
 			       "%s%c" /* attrvalue */,
-			       file, 0, git_attr_name(check[j].attr), 0, value, 0);
+			       file, 0,
+			       git_attr_name(check->items[j].attr), 0, value, 0);
 		} else {
 			quote_c_style(file, NULL, stdout, 0);
-			printf(": %s: %s\n", git_attr_name(check[j].attr), value);
+			printf(": %s: %s\n",
+			       git_attr_name(check->items[j].attr), value);
 		}
-
 	}
 }
 
-static void check_attr(const char *prefix, int cnt,
-	struct git_attr_check *check, const char *file)
+static void check_attr(const char *prefix,
+		       struct attr_check *check,
+		       int collect_all,
+		       const char *file)
 {
 	char *full_path =
 		prefix_path(prefix, prefix ? strlen(prefix) : 0, file);
-	if (check != NULL) {
-		if (git_check_attr(full_path, cnt, check))
-			die("git_check_attr died");
-		output_attr(cnt, check, file);
+
+	if (collect_all) {
+		git_all_attrs(full_path, check);
 	} else {
-		if (git_all_attrs(full_path, &cnt, &check))
-			die("git_all_attrs died");
-		output_attr(cnt, check, file);
-		free(check);
+		if (git_check_attr(full_path, check))
+			die("git_check_attr died");
 	}
+	output_attr(check, file);
+
 	free(full_path);
 }
 
-static void check_attr_stdin_paths(const char *prefix, int cnt,
-	struct git_attr_check *check)
+static void check_attr_stdin_paths(const char *prefix,
+				   struct attr_check *check,
+				   int collect_all)
 {
 	struct strbuf buf = STRBUF_INIT;
 	struct strbuf unquoted = STRBUF_INIT;
@@ -84,7 +88,7 @@
 				die("line is badly quoted");
 			strbuf_swap(&buf, &unquoted);
 		}
-		check_attr(prefix, cnt, check, buf.buf);
+		check_attr(prefix, check, collect_all, buf.buf);
 		maybe_flush_or_die(stdout, "attribute to stdout");
 	}
 	strbuf_release(&buf);
@@ -99,7 +103,7 @@
 
 int cmd_check_attr(int argc, const char **argv, const char *prefix)
 {
-	struct git_attr_check *check;
+	struct attr_check *check;
 	int cnt, i, doubledash, filei;
 
 	if (!is_bare_repository())
@@ -159,28 +163,26 @@
 			error_with_usage("No file specified");
 	}
 
-	if (all_attrs) {
-		check = NULL;
-	} else {
-		check = xcalloc(cnt, sizeof(*check));
+	check = attr_check_alloc();
+	if (!all_attrs) {
 		for (i = 0; i < cnt; i++) {
-			const char *name;
-			struct git_attr *a;
-			name = argv[i];
-			a = git_attr(name);
+			const struct git_attr *a = git_attr(argv[i]);
+
 			if (!a)
 				return error("%s: not a valid attribute name",
-					name);
-			check[i].attr = a;
+					     argv[i]);
+			attr_check_append(check, a);
 		}
 	}
 
 	if (stdin_paths)
-		check_attr_stdin_paths(prefix, cnt, check);
+		check_attr_stdin_paths(prefix, check, all_attrs);
 	else {
 		for (i = filei; i < argc; i++)
-			check_attr(prefix, cnt, check, argv[i]);
+			check_attr(prefix, check, all_attrs, argv[i]);
 		maybe_flush_or_die(stdout, "attribute to stdout");
 	}
+
+	attr_check_free(check);
 	return 0;
 }
diff --git a/builtin/checkout-index.c b/builtin/checkout-index.c
index 30a49d9..07631d0 100644
--- a/builtin/checkout-index.c
+++ b/builtin/checkout-index.c
@@ -205,7 +205,7 @@
 	if (index_opt && !state.base_dir_len && !to_tempfile) {
 		state.refresh_cache = 1;
 		state.istate = &the_index;
-		newfd = hold_locked_index(&lock_file, 1);
+		newfd = hold_locked_index(&lock_file, LOCK_DIE_ON_ERROR);
 	}
 
 	/* Check out named files first */
diff --git a/builtin/checkout.c b/builtin/checkout.c
index 512492a..bfa5419 100644
--- a/builtin/checkout.c
+++ b/builtin/checkout.c
@@ -21,12 +21,31 @@
 #include "submodule-config.h"
 #include "submodule.h"
 
+static int recurse_submodules = RECURSE_SUBMODULES_DEFAULT;
+
 static const char * const checkout_usage[] = {
 	N_("git checkout [<options>] <branch>"),
 	N_("git checkout [<options>] [<branch>] -- <file>..."),
 	NULL,
 };
 
+static int option_parse_recurse_submodules(const struct option *opt,
+					   const char *arg, int unset)
+{
+	if (unset) {
+		recurse_submodules = RECURSE_SUBMODULES_OFF;
+		return 0;
+	}
+	if (arg)
+		recurse_submodules =
+			parse_update_recurse_submodules_arg(opt->long_name,
+							    arg);
+	else
+		recurse_submodules = RECURSE_SUBMODULES_ON;
+
+	return 0;
+}
+
 struct checkout_opts {
 	int patch_mode;
 	int quiet;
@@ -56,8 +75,8 @@
 			      int changed)
 {
 	return run_hook_le(NULL, "post-checkout",
-			   sha1_to_hex(old ? old->object.oid.hash : null_sha1),
-			   sha1_to_hex(new ? new->object.oid.hash : null_sha1),
+			   oid_to_hex(old ? &old->object.oid : &null_oid),
+			   oid_to_hex(new ? &new->object.oid : &null_oid),
 			   changed ? "1" : "0", NULL);
 	/* "new" can be NULL when checking out from the index before
 	   a commit exists. */
@@ -274,7 +293,7 @@
 
 	lock_file = xcalloc(1, sizeof(struct lock_file));
 
-	hold_locked_index(lock_file, 1);
+	hold_locked_index(lock_file, LOCK_DIE_ON_ERROR);
 	if (read_cache_preload(&opts->pathspec) < 0)
 		return error(_("index file corrupt"));
 
@@ -452,7 +471,7 @@
 {
 	struct strbuf buf = STRBUF_INIT;
 
-	strbuf_branchname(&buf, branch->name);
+	strbuf_branchname(&buf, branch->name, INTERPRET_BRANCH_LOCAL);
 	if (strcmp(buf.buf, branch->name))
 		branch->name = xstrdup(buf.buf);
 	strbuf_splice(&buf, 0, 0, "refs/heads/", 11);
@@ -467,7 +486,7 @@
 	int ret;
 	struct lock_file *lock_file = xcalloc(1, sizeof(struct lock_file));
 
-	hold_locked_index(lock_file, 1);
+	hold_locked_index(lock_file, LOCK_DIE_ON_ERROR);
 	if (read_cache_preload(NULL) < 0)
 		return error(_("index file corrupt"));
 
@@ -612,22 +631,25 @@
 	const char *old_desc, *reflog_msg;
 	if (opts->new_branch) {
 		if (opts->new_orphan_branch) {
-			if (opts->new_branch_log && !log_all_ref_updates) {
+			char *refname;
+
+			refname = mkpathdup("refs/heads/%s", opts->new_orphan_branch);
+			if (opts->new_branch_log &&
+			    !should_autocreate_reflog(refname)) {
 				int ret;
-				char *refname;
 				struct strbuf err = STRBUF_INIT;
 
-				refname = mkpathdup("refs/heads/%s", opts->new_orphan_branch);
 				ret = safe_create_reflog(refname, 1, &err);
-				free(refname);
 				if (ret) {
 					fprintf(stderr, _("Can not do reflog for '%s': %s\n"),
 						opts->new_orphan_branch, err.buf);
 					strbuf_release(&err);
+					free(refname);
 					return;
 				}
 				strbuf_release(&err);
 			}
+			free(refname);
 		}
 		else
 			create_branch(opts->new_branch, new->name,
@@ -886,11 +908,10 @@
 static const char *unique_tracking_name(const char *name, struct object_id *oid)
 {
 	struct tracking_name_data cb_data = { NULL, NULL, NULL, 1 };
-	char src_ref[PATH_MAX];
-	snprintf(src_ref, PATH_MAX, "refs/heads/%s", name);
-	cb_data.src_ref = src_ref;
+	cb_data.src_ref = xstrfmt("refs/heads/%s", name);
 	cb_data.dst_oid = oid;
 	for_each_remote(check_tracking_name, &cb_data);
+	free(cb_data.src_ref);
 	if (cb_data.unique)
 		return cb_data.dst_ref;
 	free(cb_data.dst_ref);
@@ -1160,6 +1181,9 @@
 				N_("second guess 'git checkout <no-such-branch>'")),
 		OPT_BOOL(0, "ignore-other-worktrees", &opts.ignore_other_worktrees,
 			 N_("do not check if another worktree is holding the given ref")),
+		{ OPTION_CALLBACK, 0, "recurse-submodules", &recurse_submodules,
+			    "checkout", "control recursive updating of submodules",
+			    PARSE_OPT_OPTARG, option_parse_recurse_submodules },
 		OPT_BOOL(0, "progress", &opts.show_progress, N_("force progress reporting")),
 		OPT_END(),
 	};
@@ -1190,6 +1214,12 @@
 		git_xmerge_config("merge.conflictstyle", conflict_style, NULL);
 	}
 
+	if (recurse_submodules != RECURSE_SUBMODULES_OFF) {
+		git_config(submodule_config, NULL);
+		if (recurse_submodules != RECURSE_SUBMODULES_DEFAULT)
+			set_config_update_recurse_submodules(recurse_submodules);
+	}
+
 	if ((!!opts.new_branch + !!opts.new_branch_force + !!opts.new_orphan_branch) > 1)
 		die(_("-b, -B and --orphan are mutually exclusive"));
 
diff --git a/builtin/clean.c b/builtin/clean.c
index 0371010..d861f83 100644
--- a/builtin/clean.c
+++ b/builtin/clean.c
@@ -174,8 +174,10 @@
 		/* an empty dir could be removed even if it is unreadble */
 		res = dry_run ? 0 : rmdir(path->buf);
 		if (res) {
+			int saved_errno = errno;
 			quote_path_relative(path->buf, prefix, &quoted);
-			warning(_(msg_warn_remove_failed), quoted.buf);
+			errno = saved_errno;
+			warning_errno(_(msg_warn_remove_failed), quoted.buf);
 			*dir_gone = 0;
 		}
 		return res;
@@ -208,8 +210,10 @@
 				quote_path_relative(path->buf, prefix, &quoted);
 				string_list_append(&dels, quoted.buf);
 			} else {
+				int saved_errno = errno;
 				quote_path_relative(path->buf, prefix, &quoted);
-				warning(_(msg_warn_remove_failed), quoted.buf);
+				errno = saved_errno;
+				warning_errno(_(msg_warn_remove_failed), quoted.buf);
 				*dir_gone = 0;
 				ret = 1;
 			}
@@ -230,8 +234,10 @@
 		if (!res)
 			*dir_gone = 1;
 		else {
+			int saved_errno = errno;
 			quote_path_relative(path->buf, prefix, &quoted);
-			warning(_(msg_warn_remove_failed), quoted.buf);
+			errno = saved_errno;
+			warning_errno(_(msg_warn_remove_failed), quoted.buf);
 			*dir_gone = 0;
 			ret = 1;
 		}
@@ -287,11 +293,11 @@
 static void prompt_help_cmd(int singleton)
 {
 	clean_print_color(CLEAN_COLOR_HELP);
-	printf_ln(singleton ?
+	printf(singleton ?
 		  _("Prompt help:\n"
 		    "1          - select a numbered item\n"
 		    "foo        - select item based on unique prefix\n"
-		    "           - (empty) select nothing") :
+		    "           - (empty) select nothing\n") :
 		  _("Prompt help:\n"
 		    "1          - select a single item\n"
 		    "3-5        - select a range of items\n"
@@ -299,7 +305,7 @@
 		    "foo        - select item based on unique prefix\n"
 		    "-...       - unselect specified items\n"
 		    "*          - choose all items\n"
-		    "           - (empty) finish selecting"));
+		    "           - (empty) finish selecting\n"));
 	clean_print_color(CLEAN_COLOR_RESET);
 }
 
@@ -508,7 +514,7 @@
 		if (top <= 0 || bottom <= 0 || top > menu_stuff->nr || bottom > top ||
 		    (is_single && bottom != top)) {
 			clean_print_color(CLEAN_COLOR_ERROR);
-			printf_ln(_("Huh (%s)?"), (*ptr)->buf);
+			printf(_("Huh (%s)?\n"), (*ptr)->buf);
 			clean_print_color(CLEAN_COLOR_RESET);
 			continue;
 		}
@@ -774,7 +780,7 @@
 static int quit_cmd(void)
 {
 	string_list_clear(&del_list, 0);
-	printf_ln(_("Bye."));
+	printf(_("Bye.\n"));
 	return MENU_RETURN_NO_LOOP;
 }
 
@@ -981,8 +987,10 @@
 		} else {
 			res = dry_run ? 0 : unlink(abs_path.buf);
 			if (res) {
+				int saved_errno = errno;
 				qname = quote_path_relative(item->string, NULL, &buf);
-				warning(_(msg_warn_remove_failed), qname);
+				errno = saved_errno;
+				warning_errno(_(msg_warn_remove_failed), qname);
 				errors++;
 			} else if (!quiet) {
 				qname = quote_path_relative(item->string, NULL, &buf);
diff --git a/builtin/clone.c b/builtin/clone.c
index 6c76a6e..de85b85 100644
--- a/builtin/clone.c
+++ b/builtin/clone.c
@@ -39,7 +39,7 @@
 };
 
 static int option_no_checkout, option_bare, option_mirror, option_single_branch = -1;
-static int option_local = -1, option_no_hardlinks, option_shared, option_recursive;
+static int option_local = -1, option_no_hardlinks, option_shared;
 static int option_shallow_submodules;
 static int deepen;
 static char *option_template, *option_depth, *option_since;
@@ -56,6 +56,21 @@
 static struct string_list option_optional_reference = STRING_LIST_INIT_NODUP;
 static int option_dissociate;
 static int max_jobs = -1;
+static struct string_list option_recurse_submodules = STRING_LIST_INIT_NODUP;
+
+static int recurse_submodules_cb(const struct option *opt,
+				 const char *arg, int unset)
+{
+	if (unset)
+		string_list_clear((struct string_list *)opt->value, 0);
+	else if (arg)
+		string_list_append((struct string_list *)opt->value, arg);
+	else
+		string_list_append((struct string_list *)opt->value,
+				   (const char *)opt->defval);
+
+	return 0;
+}
 
 static struct option builtin_clone_options[] = {
 	OPT__VERBOSITY(&option_verbosity),
@@ -74,10 +89,13 @@
 		    N_("don't use local hardlinks, always copy")),
 	OPT_BOOL('s', "shared", &option_shared,
 		    N_("setup as shared repository")),
-	OPT_BOOL(0, "recursive", &option_recursive,
-		    N_("initialize submodules in the clone")),
-	OPT_BOOL(0, "recurse-submodules", &option_recursive,
-		    N_("initialize submodules in the clone")),
+	{ OPTION_CALLBACK, 0, "recursive", &option_recurse_submodules,
+	  N_("pathspec"), N_("initialize submodules in the clone"),
+	  PARSE_OPT_OPTARG | PARSE_OPT_HIDDEN, recurse_submodules_cb,
+	  (intptr_t)"." },
+	{ OPTION_CALLBACK, 0, "recurse-submodules", &option_recurse_submodules,
+	  N_("pathspec"), N_("initialize submodules in the clone"),
+	  PARSE_OPT_OPTARG, recurse_submodules_cb, (intptr_t)"." },
 	OPT_INTEGER('j', "jobs", &max_jobs,
 		    N_("number of submodules cloned in parallel")),
 	OPT_STRING(0, "template", &option_template, N_("template-directory"),
@@ -99,7 +117,7 @@
 	OPT_STRING(0, "shallow-since", &option_since, N_("time"),
 		    N_("create a shallow clone since a specific time")),
 	OPT_STRING_LIST(0, "shallow-exclude", &option_not, N_("revision"),
-			N_("deepen history of shallow clone by excluding rev")),
+			N_("deepen history of shallow clone, excluding rev")),
 	OPT_BOOL(0, "single-branch", &option_single_branch,
 		    N_("clone only one branch, HEAD or --branch")),
 	OPT_BOOL(0, "shallow-submodules", &option_shallow_submodules,
@@ -170,7 +188,7 @@
 
 	strbuf_addstr(&path, repo);
 	raw = get_repo_path_1(&path, is_bundle);
-	canon = raw ? xstrdup(absolute_path(raw)) : NULL;
+	canon = raw ? absolute_pathdup(raw) : NULL;
 	strbuf_release(&path);
 	return canon;
 }
@@ -681,7 +699,7 @@
 
 static int checkout(int submodule_progress)
 {
-	unsigned char sha1[20];
+	struct object_id oid;
 	char *head;
 	struct lock_file *lock_file;
 	struct unpack_trees_options opts;
@@ -692,7 +710,7 @@
 	if (option_no_checkout)
 		return 0;
 
-	head = resolve_refdup("HEAD", RESOLVE_REF_READING, sha1, NULL);
+	head = resolve_refdup("HEAD", RESOLVE_REF_READING, oid.hash, NULL);
 	if (!head) {
 		warning(_("remote HEAD refers to nonexistent ref, "
 			  "unable to checkout.\n"));
@@ -700,7 +718,7 @@
 	}
 	if (!strcmp(head, "HEAD")) {
 		if (advice_detached_head)
-			detach_advice(sha1_to_hex(sha1));
+			detach_advice(oid_to_hex(&oid));
 	} else {
 		if (!starts_with(head, "refs/heads/"))
 			die(_("HEAD not found below refs/heads!"));
@@ -711,7 +729,7 @@
 	setup_work_tree();
 
 	lock_file = xcalloc(1, sizeof(struct lock_file));
-	hold_locked_index(lock_file, 1);
+	hold_locked_index(lock_file, LOCK_DIE_ON_ERROR);
 
 	memset(&opts, 0, sizeof opts);
 	opts.update = 1;
@@ -721,7 +739,7 @@
 	opts.src_index = &the_index;
 	opts.dst_index = &the_index;
 
-	tree = parse_tree_indirect(sha1);
+	tree = parse_tree_indirect(oid.hash);
 	parse_tree(tree);
 	init_tree_desc(&t, tree->buffer, tree->size);
 	if (unpack_trees(1, &t, &opts) < 0)
@@ -731,9 +749,9 @@
 		die(_("unable to write new index file"));
 
 	err |= run_hook_le(NULL, "post-checkout", sha1_to_hex(null_sha1),
-			   sha1_to_hex(sha1), "1", NULL);
+			   oid_to_hex(&oid), "1", NULL);
 
-	if (!err && option_recursive) {
+	if (!err && (option_recurse_submodules.nr > 0)) {
 		struct argv_array args = ARGV_ARRAY_INIT;
 		argv_array_pushl(&args, "submodule", "update", "--init", "--recursive", NULL);
 
@@ -894,7 +912,7 @@
 
 	path = get_repo_path(repo_name, &is_bundle);
 	if (path)
-		repo = xstrdup(absolute_path(repo_name));
+		repo = absolute_pathdup(repo_name);
 	else if (!strchr(repo_name, ':'))
 		die(_("repository '%s' does not exist"), repo_name);
 	else
@@ -957,7 +975,25 @@
 			fprintf(stderr, _("Cloning into '%s'...\n"), dir);
 	}
 
-	if (option_recursive) {
+	if (option_recurse_submodules.nr > 0) {
+		struct string_list_item *item;
+		struct strbuf sb = STRBUF_INIT;
+
+		/* remove duplicates */
+		string_list_sort(&option_recurse_submodules);
+		string_list_remove_duplicates(&option_recurse_submodules, 0);
+
+		/*
+		 * NEEDSWORK: In a multi-working-tree world, this needs to be
+		 * set in the per-worktree config.
+		 */
+		for_each_string_list_item(item, &option_recurse_submodules) {
+			strbuf_addf(&sb, "submodule.active=%s",
+				    item->string);
+			string_list_append(&option_config,
+					   strbuf_detach(&sb, NULL));
+		}
+
 		if (option_required_reference.nr &&
 		    option_optional_reference.nr)
 			die(_("clone --recursive is not compatible with "
diff --git a/builtin/commit.c b/builtin/commit.c
index 276c740..4e288bc 100644
--- a/builtin/commit.c
+++ b/builtin/commit.c
@@ -351,7 +351,7 @@
 
 	if (interactive) {
 		char *old_index_env = NULL;
-		hold_locked_index(&index_lock, 1);
+		hold_locked_index(&index_lock, LOCK_DIE_ON_ERROR);
 
 		refresh_cache_or_die(refresh_flags);
 
@@ -396,7 +396,7 @@
 	 * (B) on failure, rollback the real index.
 	 */
 	if (all || (also && pathspec.nr)) {
-		hold_locked_index(&index_lock, 1);
+		hold_locked_index(&index_lock, LOCK_DIE_ON_ERROR);
 		add_files_to_cache(also ? prefix : NULL, &pathspec, 0);
 		refresh_cache_or_die(refresh_flags);
 		update_main_cache_tree(WRITE_TREE_SILENT);
@@ -416,7 +416,7 @@
 	 * We still need to refresh the index here.
 	 */
 	if (!only && !pathspec.nr) {
-		hold_locked_index(&index_lock, 1);
+		hold_locked_index(&index_lock, LOCK_DIE_ON_ERROR);
 		refresh_cache_or_die(refresh_flags);
 		if (active_cache_changed
 		    || !cache_tree_fully_valid(active_cache_tree))
@@ -468,7 +468,7 @@
 	if (read_cache() < 0)
 		die(_("cannot read the index"));
 
-	hold_locked_index(&index_lock, 1);
+	hold_locked_index(&index_lock, LOCK_DIE_ON_ERROR);
 	add_remove_files(&partial);
 	refresh_cache(REFRESH_QUIET);
 	update_main_cache_tree(WRITE_TREE_SILENT);
@@ -496,7 +496,7 @@
 static int run_status(FILE *fp, const char *index_file, const char *prefix, int nowarn,
 		      struct wt_status *s)
 {
-	unsigned char sha1[20];
+	struct object_id oid;
 
 	if (s->relative_paths)
 		s->prefix = prefix;
@@ -509,9 +509,9 @@
 	s->index_file = index_file;
 	s->fp = fp;
 	s->nowarn = nowarn;
-	s->is_initial = get_sha1(s->reference, sha1) ? 1 : 0;
+	s->is_initial = get_sha1(s->reference, oid.hash) ? 1 : 0;
 	if (!s->is_initial)
-		hashcpy(s->sha1_commit, sha1);
+		hashcpy(s->sha1_commit, oid.hash);
 	s->status_format = status_format;
 	s->ignore_submodule_arg = ignore_submodule_arg;
 
@@ -790,7 +790,7 @@
 		strbuf_stripspace(&sb, 0);
 
 	if (signoff)
-		append_signoff(&sb, ignore_non_trailer(&sb), 0);
+		append_signoff(&sb, ignore_non_trailer(sb.buf, sb.len), 0);
 
 	if (fwrite(sb.buf, 1, sb.len, s->fp) < sb.len)
 		die_errno(_("could not write commit template"));
@@ -885,7 +885,7 @@
 		commitable = run_status(s->fp, index_file, prefix, 1, s);
 		s->use_color = saved_color_setting;
 	} else {
-		unsigned char sha1[20];
+		struct object_id oid;
 		const char *parent = "HEAD";
 
 		if (!active_nr && read_cache() < 0)
@@ -894,7 +894,7 @@
 		if (amend)
 			parent = "HEAD^1";
 
-		if (get_sha1(parent, sha1)) {
+		if (get_sha1(parent, oid.hash)) {
 			int i, ita_nr = 0;
 
 			for (i = 0; i < active_nr; i++)
@@ -960,15 +960,15 @@
 		return 0;
 
 	if (use_editor) {
-		char index[PATH_MAX];
-		const char *env[2] = { NULL };
-		env[0] =  index;
-		snprintf(index, sizeof(index), "GIT_INDEX_FILE=%s", index_file);
-		if (launch_editor(git_path_commit_editmsg(), NULL, env)) {
+		struct argv_array env = ARGV_ARRAY_INIT;
+
+		argv_array_pushf(&env, "GIT_INDEX_FILE=%s", index_file);
+		if (launch_editor(git_path_commit_editmsg(), NULL, env.argv)) {
 			fprintf(stderr,
 			_("Please supply the message using either -m or -F option.\n"));
 			exit(1);
 		}
+		argv_array_clear(&env);
 	}
 
 	if (!no_verify &&
@@ -1332,7 +1332,7 @@
 {
 	static struct wt_status s;
 	int fd;
-	unsigned char sha1[20];
+	struct object_id oid;
 	static struct option builtin_status_options[] = {
 		OPT__VERBOSE(&verbose, N_("be verbose")),
 		OPT_SET_INT('s', "short", &status_format,
@@ -1382,9 +1382,9 @@
 
 	fd = hold_locked_index(&index_lock, 0);
 
-	s.is_initial = get_sha1(s.reference, sha1) ? 1 : 0;
+	s.is_initial = get_sha1(s.reference, oid.hash) ? 1 : 0;
 	if (!s.is_initial)
-		hashcpy(s.sha1_commit, sha1);
+		hashcpy(s.sha1_commit, oid.hash);
 
 	s.ignore_submodule_arg = ignore_submodule_arg;
 	s.status_format = status_format;
@@ -1418,19 +1418,19 @@
 
 }
 
-static void print_summary(const char *prefix, const unsigned char *sha1,
+static void print_summary(const char *prefix, const struct object_id *oid,
 			  int initial_commit)
 {
 	struct rev_info rev;
 	struct commit *commit;
 	struct strbuf format = STRBUF_INIT;
-	unsigned char junk_sha1[20];
+	struct object_id junk_oid;
 	const char *head;
 	struct pretty_print_context pctx = {0};
 	struct strbuf author_ident = STRBUF_INIT;
 	struct strbuf committer_ident = STRBUF_INIT;
 
-	commit = lookup_commit(sha1);
+	commit = lookup_commit(oid->hash);
 	if (!commit)
 		die(_("couldn't look up newly created commit"));
 	if (parse_commit(commit))
@@ -1477,7 +1477,7 @@
 	rev.diffopt.break_opt = 0;
 	diff_setup_done(&rev.diffopt);
 
-	head = resolve_ref_unsafe("HEAD", 0, junk_sha1, NULL);
+	head = resolve_ref_unsafe("HEAD", 0, junk_oid.hash, NULL);
 	if (!strcmp(head, "HEAD"))
 		head = _("detached HEAD");
 	else
@@ -1522,15 +1522,13 @@
 	return git_status_config(k, v, s);
 }
 
-static int run_rewrite_hook(const unsigned char *oldsha1,
-			    const unsigned char *newsha1)
+static int run_rewrite_hook(const struct object_id *oldoid,
+			    const struct object_id *newoid)
 {
-	/* oldsha1 SP newsha1 LF NUL */
-	static char buf[2*40 + 3];
 	struct child_process proc = CHILD_PROCESS_INIT;
 	const char *argv[3];
 	int code;
-	size_t n;
+	struct strbuf sb = STRBUF_INIT;
 
 	argv[0] = find_hook("post-rewrite");
 	if (!argv[0])
@@ -1546,34 +1544,33 @@
 	code = start_command(&proc);
 	if (code)
 		return code;
-	n = snprintf(buf, sizeof(buf), "%s %s\n",
-		     sha1_to_hex(oldsha1), sha1_to_hex(newsha1));
+	strbuf_addf(&sb, "%s %s\n", oid_to_hex(oldoid), oid_to_hex(newoid));
 	sigchain_push(SIGPIPE, SIG_IGN);
-	write_in_full(proc.in, buf, n);
+	write_in_full(proc.in, sb.buf, sb.len);
 	close(proc.in);
+	strbuf_release(&sb);
 	sigchain_pop(SIGPIPE);
 	return finish_command(&proc);
 }
 
 int run_commit_hook(int editor_is_used, const char *index_file, const char *name, ...)
 {
-	const char *hook_env[3] =  { NULL };
-	char index[PATH_MAX];
+	struct argv_array hook_env = ARGV_ARRAY_INIT;
 	va_list args;
 	int ret;
 
-	snprintf(index, sizeof(index), "GIT_INDEX_FILE=%s", index_file);
-	hook_env[0] = index;
+	argv_array_pushf(&hook_env, "GIT_INDEX_FILE=%s", index_file);
 
 	/*
 	 * Let the hook know that no editor will be launched.
 	 */
 	if (!editor_is_used)
-		hook_env[1] = "GIT_EDITOR=:";
+		argv_array_push(&hook_env, "GIT_EDITOR=:");
 
 	va_start(args, name);
-	ret = run_hook_ve(hook_env, name, args);
+	ret = run_hook_ve(hook_env.argv,name, args);
 	va_end(args);
+	argv_array_clear(&hook_env);
 
 	return ret;
 }
@@ -1639,7 +1636,7 @@
 	struct strbuf author_ident = STRBUF_INIT;
 	const char *index_file, *reflog_msg;
 	char *nl;
-	unsigned char sha1[20];
+	struct object_id oid;
 	struct commit_list *parents = NULL;
 	struct stat statbuf;
 	struct commit *current_head = NULL;
@@ -1654,10 +1651,10 @@
 	status_format = STATUS_FORMAT_NONE; /* Ignore status.short */
 	s.colopts = 0;
 
-	if (get_sha1("HEAD", sha1))
+	if (get_sha1("HEAD", oid.hash))
 		current_head = NULL;
 	else {
-		current_head = lookup_commit_or_die(sha1, "HEAD");
+		current_head = lookup_commit_or_die(oid.hash, "HEAD");
 		if (parse_commit(current_head))
 			die(_("could not parse HEAD commit"));
 	}
@@ -1762,7 +1759,7 @@
 	}
 
 	if (commit_tree_extended(sb.buf, sb.len, active_cache_tree->sha1,
-			 parents, sha1, author_ident.buf, sign_commit, extra)) {
+			 parents, oid.hash, author_ident.buf, sign_commit, extra)) {
 		rollback_index_files();
 		die(_("failed to write commit object"));
 	}
@@ -1779,7 +1776,7 @@
 
 	transaction = ref_transaction_begin(&err);
 	if (!transaction ||
-	    ref_transaction_update(transaction, "HEAD", sha1,
+	    ref_transaction_update(transaction, "HEAD", oid.hash,
 				   current_head
 				   ? current_head->object.oid.hash : null_sha1,
 				   0, sb.buf, &err) ||
@@ -1808,13 +1805,13 @@
 		cfg = init_copy_notes_for_rewrite("amend");
 		if (cfg) {
 			/* we are amending, so current_head is not NULL */
-			copy_note_for_rewrite(cfg, current_head->object.oid.hash, sha1);
+			copy_note_for_rewrite(cfg, current_head->object.oid.hash, oid.hash);
 			finish_copy_notes_for_rewrite(cfg, "Notes added by 'git commit --amend'");
 		}
-		run_rewrite_hook(current_head->object.oid.hash, sha1);
+		run_rewrite_hook(&current_head->object.oid, &oid);
 	}
 	if (!quiet)
-		print_summary(prefix, sha1, !current_head);
+		print_summary(prefix, &oid, !current_head);
 
 	strbuf_release(&err);
 	return 0;
diff --git a/builtin/config.c b/builtin/config.c
index 05843a0..4f49a0e 100644
--- a/builtin/config.c
+++ b/builtin/config.c
@@ -527,9 +527,7 @@
 	else if (given_config_source.file) {
 		if (!is_absolute_path(given_config_source.file) && prefix)
 			given_config_source.file =
-				xstrdup(prefix_filename(prefix,
-							strlen(prefix),
-							given_config_source.file));
+				prefix_filename(prefix, given_config_source.file);
 	}
 
 	if (respect_includes == -1)
diff --git a/builtin/count-objects.c b/builtin/count-objects.c
index a04b4f2..acb0594 100644
--- a/builtin/count-objects.c
+++ b/builtin/count-objects.c
@@ -53,7 +53,7 @@
 		report_garbage(PACKDIR_FILE_GARBAGE, path);
 }
 
-static int count_loose(const unsigned char *sha1, const char *path, void *data)
+static int count_loose(const struct object_id *oid, const char *path, void *data)
 {
 	struct stat st;
 
@@ -62,7 +62,7 @@
 	else {
 		loose_size += on_disk_bytes(st);
 		loose++;
-		if (verbose && has_sha1_pack(sha1))
+		if (verbose && has_sha1_pack(oid->hash))
 			packed_loose++;
 	}
 	return 0;
diff --git a/builtin/describe.c b/builtin/describe.c
index 01490a1..a5cd8c5 100644
--- a/builtin/describe.c
+++ b/builtin/describe.c
@@ -9,6 +9,7 @@
 #include "diff.h"
 #include "hashmap.h"
 #include "argv-array.h"
+#include "run-command.h"
 
 #define SEEN		(1u << 0)
 #define MAX_TAGS	(FLAG_BITS - 1)
@@ -28,9 +29,10 @@
 static int max_candidates = 10;
 static struct hashmap names;
 static int have_util;
-static const char *pattern;
+static struct string_list patterns = STRING_LIST_INIT_NODUP;
+static struct string_list exclude_patterns = STRING_LIST_INIT_NODUP;
 static int always;
-static const char *dirty;
+static const char *suffix, *dirty, *broken;
 
 /* diff-index command arguments to check if working tree is dirty. */
 static const char *diff_index_args[] = {
@@ -39,32 +41,32 @@
 
 struct commit_name {
 	struct hashmap_entry entry;
-	unsigned char peeled[20];
+	struct object_id peeled;
 	struct tag *tag;
 	unsigned prio:2; /* annotated tag = 2, tag = 1, head = 0 */
 	unsigned name_checked:1;
-	unsigned char sha1[20];
+	struct object_id oid;
 	char *path;
 };
 
 static const char *prio_names[] = {
-	"head", "lightweight", "annotated",
+	N_("head"), N_("lightweight"), N_("annotated"),
 };
 
 static int commit_name_cmp(const struct commit_name *cn1,
 		const struct commit_name *cn2, const void *peeled)
 {
-	return hashcmp(cn1->peeled, peeled ? peeled : cn2->peeled);
+	return oidcmp(&cn1->peeled, peeled ? peeled : &cn2->peeled);
 }
 
-static inline struct commit_name *find_commit_name(const unsigned char *peeled)
+static inline struct commit_name *find_commit_name(const struct object_id *peeled)
 {
-	return hashmap_get_from_hash(&names, sha1hash(peeled), peeled);
+	return hashmap_get_from_hash(&names, sha1hash(peeled->hash), peeled->hash);
 }
 
 static int replace_name(struct commit_name *e,
 			       int prio,
-			       const unsigned char *sha1,
+			       const struct object_id *oid,
 			       struct tag **tag)
 {
 	if (!e || e->prio < prio)
@@ -77,13 +79,13 @@
 		struct tag *t;
 
 		if (!e->tag) {
-			t = lookup_tag(e->sha1);
+			t = lookup_tag(e->oid.hash);
 			if (!t || parse_tag(t))
 				return 1;
 			e->tag = t;
 		}
 
-		t = lookup_tag(sha1);
+		t = lookup_tag(oid->hash);
 		if (!t || parse_tag(t))
 			return 0;
 		*tag = t;
@@ -96,24 +98,24 @@
 }
 
 static void add_to_known_names(const char *path,
-			       const unsigned char *peeled,
+			       const struct object_id *peeled,
 			       int prio,
-			       const unsigned char *sha1)
+			       const struct object_id *oid)
 {
 	struct commit_name *e = find_commit_name(peeled);
 	struct tag *tag = NULL;
-	if (replace_name(e, prio, sha1, &tag)) {
+	if (replace_name(e, prio, oid, &tag)) {
 		if (!e) {
 			e = xmalloc(sizeof(struct commit_name));
-			hashcpy(e->peeled, peeled);
-			hashmap_entry_init(e, sha1hash(peeled));
+			oidcpy(&e->peeled, peeled);
+			hashmap_entry_init(e, sha1hash(peeled->hash));
 			hashmap_add(&names, e);
 			e->path = NULL;
 		}
 		e->tag = tag;
 		e->prio = prio;
 		e->name_checked = 0;
-		hashcpy(e->sha1, sha1);
+		oidcpy(&e->oid, oid);
 		free(e->path);
 		e->path = xstrdup(path);
 	}
@@ -129,9 +131,40 @@
 	if (!all && !is_tag)
 		return 0;
 
-	/* Accept only tags that match the pattern, if given */
-	if (pattern && (!is_tag || wildmatch(pattern, path + 10, 0, NULL)))
-		return 0;
+	/*
+	 * If we're given exclude patterns, first exclude any tag which match
+	 * any of the exclude pattern.
+	 */
+	if (exclude_patterns.nr) {
+		struct string_list_item *item;
+
+		if (!is_tag)
+			return 0;
+
+		for_each_string_list_item(item, &exclude_patterns) {
+			if (!wildmatch(item->string, path + 10, 0, NULL))
+				return 0;
+		}
+	}
+
+	/*
+	 * If we're given patterns, accept only tags which match at least one
+	 * pattern.
+	 */
+	if (patterns.nr) {
+		struct string_list_item *item;
+
+		if (!is_tag)
+			return 0;
+
+		for_each_string_list_item(item, &patterns) {
+			if (!wildmatch(item->string, path + 10, 0, NULL))
+				break;
+
+			/* If we get here, no pattern matched. */
+			return 0;
+		}
+	}
 
 	/* Is it annotated? */
 	if (!peel_ref(path, peeled.hash)) {
@@ -154,7 +187,7 @@
 	else
 		prio = 0;
 
-	add_to_known_names(all ? path + 5 : path + 10, peeled.hash, prio, oid->hash);
+	add_to_known_names(all ? path + 5 : path + 10, &peeled, prio, oid);
 	return 0;
 }
 
@@ -212,7 +245,7 @@
 static void display_name(struct commit_name *n)
 {
 	if (n->prio == 2 && !n->tag) {
-		n->tag = lookup_tag(n->sha1);
+		n->tag = lookup_tag(n->oid.hash);
 		if (!n->tag || parse_tag(n->tag))
 			die(_("annotated tag %s not available"), n->path);
 	}
@@ -230,14 +263,14 @@
 		printf("%s", n->path);
 }
 
-static void show_suffix(int depth, const unsigned char *sha1)
+static void show_suffix(int depth, const struct object_id *oid)
 {
-	printf("-%d-g%s", depth, find_unique_abbrev(sha1, abbrev));
+	printf("-%d-g%s", depth, find_unique_abbrev(oid->hash, abbrev));
 }
 
 static void describe(const char *arg, int last_one)
 {
-	unsigned char sha1[20];
+	struct object_id oid;
 	struct commit *cmit, *gave_up_on = NULL;
 	struct commit_list *list;
 	struct commit_name *n;
@@ -246,22 +279,22 @@
 	unsigned long seen_commits = 0;
 	unsigned int unannotated_cnt = 0;
 
-	if (get_sha1(arg, sha1))
+	if (get_oid(arg, &oid))
 		die(_("Not a valid object name %s"), arg);
-	cmit = lookup_commit_reference(sha1);
+	cmit = lookup_commit_reference(oid.hash);
 	if (!cmit)
 		die(_("%s is not a valid '%s' object"), arg, commit_type);
 
-	n = find_commit_name(cmit->object.oid.hash);
+	n = find_commit_name(&cmit->object.oid);
 	if (n && (tags || all || n->prio == 2)) {
 		/*
 		 * Exact match to an existing ref.
 		 */
 		display_name(n);
 		if (longformat)
-			show_suffix(0, n->tag ? n->tag->tagged->oid.hash : sha1);
-		if (dirty)
-			printf("%s", dirty);
+			show_suffix(0, n->tag ? &n->tag->tagged->oid : &oid);
+		if (suffix)
+			printf("%s", suffix);
 		printf("\n");
 		return;
 	}
@@ -276,7 +309,7 @@
 		struct commit *c;
 		struct commit_name *n = hashmap_iter_first(&names, &iter);
 		for (; n; n = hashmap_iter_next(&iter)) {
-			c = lookup_commit_reference_gently(n->peeled, 1);
+			c = lookup_commit_reference_gently(n->peeled.hash, 1);
 			if (c)
 				c->util = n;
 		}
@@ -337,8 +370,8 @@
 		struct object_id *oid = &cmit->object.oid;
 		if (always) {
 			printf("%s", find_unique_abbrev(oid->hash, abbrev));
-			if (dirty)
-				printf("%s", dirty);
+			if (suffix)
+				printf("%s", suffix);
 			printf("\n");
 			return;
 		}
@@ -362,10 +395,19 @@
 	free_commit_list(list);
 
 	if (debug) {
+		static int label_width = -1;
+		if (label_width < 0) {
+			int i, w;
+			for (i = 0; i < ARRAY_SIZE(prio_names); i++) {
+				w = strlen(_(prio_names[i]));
+				if (label_width < w)
+					label_width = w;
+			}
+		}
 		for (cur_match = 0; cur_match < match_cnt; cur_match++) {
 			struct possible_tag *t = &all_matches[cur_match];
-			fprintf(stderr, " %-11s %8d %s\n",
-				prio_names[t->name->prio],
+			fprintf(stderr, " %-*s %8d %s\n",
+				label_width, _(prio_names[t->name->prio]),
 				t->depth, t->name->path);
 		}
 		fprintf(stderr, _("traversed %lu commits\n"), seen_commits);
@@ -380,9 +422,9 @@
 
 	display_name(all_matches[0].name);
 	if (abbrev)
-		show_suffix(all_matches[0].depth, cmit->object.oid.hash);
-	if (dirty)
-		printf("%s", dirty);
+		show_suffix(all_matches[0].depth, &cmit->object.oid);
+	if (suffix)
+		printf("%s", suffix);
 	printf("\n");
 
 	if (!last_one)
@@ -404,13 +446,18 @@
 			    N_("only output exact matches"), 0),
 		OPT_INTEGER(0, "candidates", &max_candidates,
 			    N_("consider <n> most recent tags (default: 10)")),
-		OPT_STRING(0, "match",       &pattern, N_("pattern"),
+		OPT_STRING_LIST(0, "match", &patterns, N_("pattern"),
 			   N_("only consider tags matching <pattern>")),
+		OPT_STRING_LIST(0, "exclude", &exclude_patterns, N_("pattern"),
+			   N_("do not consider tags matching <pattern>")),
 		OPT_BOOL(0, "always",        &always,
 			N_("show abbreviated commit object as fallback")),
 		{OPTION_STRING, 0, "dirty",  &dirty, N_("mark"),
 			N_("append <mark> on dirty working tree (default: \"-dirty\")"),
 			PARSE_OPT_OPTARG, NULL, (intptr_t) "-dirty"},
+		{OPTION_STRING, 0, "broken",  &broken, N_("mark"),
+			N_("append <mark> on broken working tree (default: \"-broken\")"),
+			PARSE_OPT_OPTARG, NULL, (intptr_t) "-broken"},
 		OPT_END(),
 	};
 
@@ -430,6 +477,7 @@
 		die(_("--long is incompatible with --abbrev=0"));
 
 	if (contains) {
+		struct string_list_item *item;
 		struct argv_array args;
 
 		argv_array_init(&args);
@@ -440,8 +488,10 @@
 			argv_array_push(&args, "--always");
 		if (!all) {
 			argv_array_push(&args, "--tags");
-			if (pattern)
-				argv_array_pushf(&args, "--refs=refs/tags/%s", pattern);
+			for_each_string_list_item(item, &patterns)
+				argv_array_pushf(&args, "--refs=refs/tags/%s", item->string);
+			for_each_string_list_item(item, &exclude_patterns)
+				argv_array_pushf(&args, "--exclude=refs/tags/%s", item->string);
 		}
 		if (argc)
 			argv_array_pushv(&args, argv);
@@ -456,7 +506,28 @@
 		die(_("No names found, cannot describe anything."));
 
 	if (argc == 0) {
-		if (dirty) {
+		if (broken) {
+			struct child_process cp = CHILD_PROCESS_INIT;
+			argv_array_pushv(&cp.args, diff_index_args);
+			cp.git_cmd = 1;
+			cp.no_stdin = 1;
+			cp.no_stdout = 1;
+
+			if (!dirty)
+				dirty = "-dirty";
+
+			switch (run_command(&cp)) {
+			case 0:
+				suffix = NULL;
+				break;
+			case 1:
+				suffix = dirty;
+				break;
+			default:
+				/* diff-index aborted abnormally */
+				suffix = broken;
+			}
+		} else if (dirty) {
 			static struct lock_file index_lock;
 			int fd;
 
@@ -469,11 +540,15 @@
 
 			if (!cmd_diff_index(ARRAY_SIZE(diff_index_args) - 1,
 					    diff_index_args, prefix))
-				dirty = NULL;
+				suffix = NULL;
+			else
+				suffix = dirty;
 		}
 		describe("HEAD", 1);
 	} else if (dirty) {
 		die(_("--dirty is incompatible with commit-ishes"));
+	} else if (broken) {
+		die(_("--broken is incompatible with commit-ishes"));
 	} else {
 		while (argc-- > 0)
 			describe(*argv++, argc == 0);
diff --git a/builtin/diff-tree.c b/builtin/diff-tree.c
index 806dd7a..326f88b 100644
--- a/builtin/diff-tree.c
+++ b/builtin/diff-tree.c
@@ -7,46 +7,44 @@
 
 static struct rev_info log_tree_opt;
 
-static int diff_tree_commit_sha1(const unsigned char *sha1)
+static int diff_tree_commit_sha1(const struct object_id *oid)
 {
-	struct commit *commit = lookup_commit_reference(sha1);
+	struct commit *commit = lookup_commit_reference(oid->hash);
 	if (!commit)
 		return -1;
 	return log_tree_commit(&log_tree_opt, commit);
 }
 
 /* Diff one or more commits. */
-static int stdin_diff_commit(struct commit *commit, char *line, int len)
+static int stdin_diff_commit(struct commit *commit, const char *p)
 {
-	unsigned char sha1[20];
-	if (isspace(line[40]) && !get_sha1_hex(line+41, sha1)) {
-		/* Graft the fake parents locally to the commit */
-		int pos = 41;
-		struct commit_list **pptr;
+	struct object_id oid;
+	struct commit_list **pptr = NULL;
 
-		/* Free the real parent list */
-		free_commit_list(commit->parents);
-		commit->parents = NULL;
-		pptr = &(commit->parents);
-		while (line[pos] && !get_sha1_hex(line + pos, sha1)) {
-			struct commit *parent = lookup_commit(sha1);
-			if (parent) {
-				pptr = &commit_list_insert(parent, pptr)->next;
-			}
-			pos += 41;
+	/* Graft the fake parents locally to the commit */
+	while (isspace(*p++) && !parse_oid_hex(p, &oid, &p)) {
+		struct commit *parent = lookup_commit(oid.hash);
+		if (!pptr) {
+			/* Free the real parent list */
+			free_commit_list(commit->parents);
+			commit->parents = NULL;
+			pptr = &(commit->parents);
+		}
+		if (parent) {
+			pptr = &commit_list_insert(parent, pptr)->next;
 		}
 	}
 	return log_tree_commit(&log_tree_opt, commit);
 }
 
 /* Diff two trees. */
-static int stdin_diff_trees(struct tree *tree1, char *line, int len)
+static int stdin_diff_trees(struct tree *tree1, const char *p)
 {
-	unsigned char sha1[20];
+	struct object_id oid;
 	struct tree *tree2;
-	if (len != 82 || !isspace(line[40]) || get_sha1_hex(line + 41, sha1))
+	if (!isspace(*p++) || parse_oid_hex(p, &oid, &p) || *p)
 		return error("Need exactly two trees, separated by a space");
-	tree2 = lookup_tree(sha1);
+	tree2 = lookup_tree(oid.hash);
 	if (!tree2 || parse_tree(tree2))
 		return -1;
 	printf("%s %s\n", oid_to_hex(&tree1->object.oid),
@@ -60,23 +58,24 @@
 static int diff_tree_stdin(char *line)
 {
 	int len = strlen(line);
-	unsigned char sha1[20];
+	struct object_id oid;
 	struct object *obj;
+	const char *p;
 
 	if (!len || line[len-1] != '\n')
 		return -1;
 	line[len-1] = 0;
-	if (get_sha1_hex(line, sha1))
+	if (parse_oid_hex(line, &oid, &p))
 		return -1;
-	obj = parse_object(sha1);
+	obj = parse_object(oid.hash);
 	if (!obj)
 		return -1;
 	if (obj->type == OBJ_COMMIT)
-		return stdin_diff_commit((struct commit *)obj, line, len);
+		return stdin_diff_commit((struct commit *)obj, p);
 	if (obj->type == OBJ_TREE)
-		return stdin_diff_trees((struct tree *)obj, line, len);
+		return stdin_diff_trees((struct tree *)obj, p);
 	error("Object %s is a %s, not a commit or tree",
-	      sha1_to_hex(sha1), typename(obj->type));
+	      oid_to_hex(&oid), typename(obj->type));
 	return -1;
 }
 
@@ -141,15 +140,13 @@
 		break;
 	case 1:
 		tree1 = opt->pending.objects[0].item;
-		diff_tree_commit_sha1(tree1->oid.hash);
+		diff_tree_commit_sha1(&tree1->oid);
 		break;
 	case 2:
 		tree1 = opt->pending.objects[0].item;
 		tree2 = opt->pending.objects[1].item;
 		if (tree2->flags & UNINTERESTING) {
-			struct object *tmp = tree2;
-			tree2 = tree1;
-			tree1 = tmp;
+			SWAP(tree2, tree1);
 		}
 		diff_tree_sha1(tree1->oid.hash,
 			       tree2->oid.hash,
@@ -166,9 +163,9 @@
 			opt->diffopt.setup |= (DIFF_SETUP_USE_SIZE_CACHE |
 					       DIFF_SETUP_USE_CACHE);
 		while (fgets(line, sizeof(line), stdin)) {
-			unsigned char sha1[20];
+			struct object_id oid;
 
-			if (get_sha1_hex(line, sha1)) {
+			if (get_oid_hex(line, &oid)) {
 				fputs(line, stdout);
 				fflush(stdout);
 			}
diff --git a/builtin/diff.c b/builtin/diff.c
index 7f91f6d..d184aaf 100644
--- a/builtin/diff.c
+++ b/builtin/diff.c
@@ -21,7 +21,7 @@
 #define DIFF_NO_INDEX_IMPLICIT 2
 
 struct blobinfo {
-	unsigned char sha1[20];
+	struct object_id oid;
 	const char *name;
 	unsigned mode;
 };
@@ -31,26 +31,23 @@
 
 static void stuff_change(struct diff_options *opt,
 			 unsigned old_mode, unsigned new_mode,
-			 const unsigned char *old_sha1,
-			 const unsigned char *new_sha1,
-			 int old_sha1_valid,
-			 int new_sha1_valid,
+			 const struct object_id *old_oid,
+			 const struct object_id *new_oid,
+			 int old_oid_valid,
+			 int new_oid_valid,
 			 const char *old_name,
 			 const char *new_name)
 {
 	struct diff_filespec *one, *two;
 
-	if (!is_null_sha1(old_sha1) && !is_null_sha1(new_sha1) &&
-	    !hashcmp(old_sha1, new_sha1) && (old_mode == new_mode))
+	if (!is_null_oid(old_oid) && !is_null_oid(new_oid) &&
+	    !oidcmp(old_oid, new_oid) && (old_mode == new_mode))
 		return;
 
 	if (DIFF_OPT_TST(opt, REVERSE_DIFF)) {
-		unsigned tmp;
-		const unsigned char *tmp_u;
-		const char *tmp_c;
-		tmp = old_mode; old_mode = new_mode; new_mode = tmp;
-		tmp_u = old_sha1; old_sha1 = new_sha1; new_sha1 = tmp_u;
-		tmp_c = old_name; old_name = new_name; new_name = tmp_c;
+		SWAP(old_mode, new_mode);
+		SWAP(old_oid, new_oid);
+		SWAP(old_name, new_name);
 	}
 
 	if (opt->prefix &&
@@ -60,8 +57,8 @@
 
 	one = alloc_filespec(old_name);
 	two = alloc_filespec(new_name);
-	fill_filespec(one, old_sha1, old_sha1_valid, old_mode);
-	fill_filespec(two, new_sha1, new_sha1_valid, new_mode);
+	fill_filespec(one, old_oid->hash, old_oid_valid, old_mode);
+	fill_filespec(two, new_oid->hash, new_oid_valid, new_mode);
 
 	diff_queue(&diff_queued_diff, one, two);
 }
@@ -92,7 +89,7 @@
 
 	stuff_change(&revs->diffopt,
 		     blob[0].mode, canon_mode(st.st_mode),
-		     blob[0].sha1, null_sha1,
+		     &blob[0].oid, &null_oid,
 		     1, 0,
 		     path, path);
 	diffcore_std(&revs->diffopt);
@@ -117,7 +114,7 @@
 
 	stuff_change(&revs->diffopt,
 		     blob[0].mode, blob[1].mode,
-		     blob[0].sha1, blob[1].sha1,
+		     &blob[0].oid, &blob[1].oid,
 		     1, 1,
 		     blob[0].name, blob[1].name);
 	diffcore_std(&revs->diffopt);
@@ -163,7 +160,7 @@
 			     struct object_array_entry *ent0,
 			     struct object_array_entry *ent1)
 {
-	const unsigned char *(sha1[2]);
+	const struct object_id *(oid[2]);
 	int swap = 0;
 
 	if (argc > 1)
@@ -175,9 +172,9 @@
 	 */
 	if (ent1->item->flags & UNINTERESTING)
 		swap = 1;
-	sha1[swap] = ent0->item->oid.hash;
-	sha1[1 - swap] = ent1->item->oid.hash;
-	diff_tree_sha1(sha1[0], sha1[1], "", &revs->diffopt);
+	oid[swap] = &ent0->item->oid;
+	oid[1 - swap] = &ent1->item->oid;
+	diff_tree_sha1(oid[0]->hash, oid[1]->hash, "", &revs->diffopt);
 	log_tree_diff_flush(revs);
 	return 0;
 }
@@ -187,7 +184,7 @@
 				 struct object_array_entry *ent,
 				 int ents)
 {
-	struct sha1_array parents = SHA1_ARRAY_INIT;
+	struct oid_array parents = OID_ARRAY_INIT;
 	int i;
 
 	if (argc > 1)
@@ -196,10 +193,10 @@
 	if (!revs->dense_combined_merges && !revs->combine_merges)
 		revs->dense_combined_merges = revs->combine_merges = 1;
 	for (i = 1; i < ents; i++)
-		sha1_array_append(&parents, ent[i].item->oid.hash);
+		oid_array_append(&parents, &ent[i].item->oid);
 	diff_tree_combined(ent[0].item->oid.hash, &parents,
 			   revs->dense_combined_merges, revs);
-	sha1_array_clear(&parents);
+	oid_array_clear(&parents);
 	return 0;
 }
 
@@ -411,7 +408,7 @@
 		} else if (obj->type == OBJ_BLOB) {
 			if (2 <= blobs)
 				die(_("more than two blobs given: '%s'"), name);
-			hashcpy(blob[blobs].sha1, obj->oid.hash);
+			hashcpy(blob[blobs].oid.hash, obj->oid.hash);
 			blob[blobs].name = name;
 			blob[blobs].mode = entry->mode;
 			blobs++;
diff --git a/builtin/difftool.c b/builtin/difftool.c
new file mode 100644
index 0000000..1354d0e
--- /dev/null
+++ b/builtin/difftool.c
@@ -0,0 +1,735 @@
+/*
+ * "git difftool" builtin command
+ *
+ * This is a wrapper around the GIT_EXTERNAL_DIFF-compatible
+ * git-difftool--helper script.
+ *
+ * This script exports GIT_EXTERNAL_DIFF and GIT_PAGER for use by git.
+ * The GIT_DIFF* variables are exported for use by git-difftool--helper.
+ *
+ * Any arguments that are unknown to this script are forwarded to 'git diff'.
+ *
+ * Copyright (C) 2016 Johannes Schindelin
+ */
+#include "cache.h"
+#include "builtin.h"
+#include "run-command.h"
+#include "exec_cmd.h"
+#include "parse-options.h"
+#include "argv-array.h"
+#include "strbuf.h"
+#include "lockfile.h"
+#include "dir.h"
+
+static char *diff_gui_tool;
+static int trust_exit_code;
+
+static const char *const builtin_difftool_usage[] = {
+	N_("git difftool [<options>] [<commit> [<commit>]] [--] [<path>...]"),
+	NULL
+};
+
+static int difftool_config(const char *var, const char *value, void *cb)
+{
+	if (!strcmp(var, "diff.guitool")) {
+		diff_gui_tool = xstrdup(value);
+		return 0;
+	}
+
+	if (!strcmp(var, "difftool.trustexitcode")) {
+		trust_exit_code = git_config_bool(var, value);
+		return 0;
+	}
+
+	return git_default_config(var, value, cb);
+}
+
+static int print_tool_help(void)
+{
+	const char *argv[] = { "mergetool", "--tool-help=diff", NULL };
+	return run_command_v_opt(argv, RUN_GIT_CMD);
+}
+
+static int parse_index_info(char *p, int *mode1, int *mode2,
+			    struct object_id *oid1, struct object_id *oid2,
+			    char *status)
+{
+	if (*p != ':')
+		return error("expected ':', got '%c'", *p);
+	*mode1 = (int)strtol(p + 1, &p, 8);
+	if (*p != ' ')
+		return error("expected ' ', got '%c'", *p);
+	*mode2 = (int)strtol(p + 1, &p, 8);
+	if (*p != ' ')
+		return error("expected ' ', got '%c'", *p);
+	if (get_oid_hex(++p, oid1))
+		return error("expected object ID, got '%s'", p + 1);
+	p += GIT_SHA1_HEXSZ;
+	if (*p != ' ')
+		return error("expected ' ', got '%c'", *p);
+	if (get_oid_hex(++p, oid2))
+		return error("expected object ID, got '%s'", p + 1);
+	p += GIT_SHA1_HEXSZ;
+	if (*p != ' ')
+		return error("expected ' ', got '%c'", *p);
+	*status = *++p;
+	if (!*status)
+		return error("missing status");
+	if (p[1] && !isdigit(p[1]))
+		return error("unexpected trailer: '%s'", p + 1);
+	return 0;
+}
+
+/*
+ * Remove any trailing slash from $workdir
+ * before starting to avoid double slashes in symlink targets.
+ */
+static void add_path(struct strbuf *buf, size_t base_len, const char *path)
+{
+	strbuf_setlen(buf, base_len);
+	if (buf->len && buf->buf[buf->len - 1] != '/')
+		strbuf_addch(buf, '/');
+	strbuf_addstr(buf, path);
+}
+
+/*
+ * Determine whether we can simply reuse the file in the worktree.
+ */
+static int use_wt_file(const char *workdir, const char *name,
+		       struct object_id *oid)
+{
+	struct strbuf buf = STRBUF_INIT;
+	struct stat st;
+	int use = 0;
+
+	strbuf_addstr(&buf, workdir);
+	add_path(&buf, buf.len, name);
+
+	if (!lstat(buf.buf, &st) && !S_ISLNK(st.st_mode)) {
+		struct object_id wt_oid;
+		int fd = open(buf.buf, O_RDONLY);
+
+		if (fd >= 0 &&
+		    !index_fd(wt_oid.hash, fd, &st, OBJ_BLOB, name, 0)) {
+			if (is_null_oid(oid)) {
+				oidcpy(oid, &wt_oid);
+				use = 1;
+			} else if (!oidcmp(oid, &wt_oid))
+				use = 1;
+		}
+	}
+
+	strbuf_release(&buf);
+
+	return use;
+}
+
+struct working_tree_entry {
+	struct hashmap_entry entry;
+	char path[FLEX_ARRAY];
+};
+
+static int working_tree_entry_cmp(struct working_tree_entry *a,
+				  struct working_tree_entry *b, void *keydata)
+{
+	return strcmp(a->path, b->path);
+}
+
+/*
+ * The `left` and `right` entries hold paths for the symlinks hashmap,
+ * and a SHA-1 surrounded by brief text for submodules.
+ */
+struct pair_entry {
+	struct hashmap_entry entry;
+	char left[PATH_MAX], right[PATH_MAX];
+	const char path[FLEX_ARRAY];
+};
+
+static int pair_cmp(struct pair_entry *a, struct pair_entry *b, void *keydata)
+{
+	return strcmp(a->path, b->path);
+}
+
+static void add_left_or_right(struct hashmap *map, const char *path,
+			      const char *content, int is_right)
+{
+	struct pair_entry *e, *existing;
+
+	FLEX_ALLOC_STR(e, path, path);
+	hashmap_entry_init(e, strhash(path));
+	existing = hashmap_get(map, e, NULL);
+	if (existing) {
+		free(e);
+		e = existing;
+	} else {
+		e->left[0] = e->right[0] = '\0';
+		hashmap_add(map, e);
+	}
+	strlcpy(is_right ? e->right : e->left, content, PATH_MAX);
+}
+
+struct path_entry {
+	struct hashmap_entry entry;
+	char path[FLEX_ARRAY];
+};
+
+static int path_entry_cmp(struct path_entry *a, struct path_entry *b, void *key)
+{
+	return strcmp(a->path, key ? key : b->path);
+}
+
+static void changed_files(struct hashmap *result, const char *index_path,
+			  const char *workdir)
+{
+	struct child_process update_index = CHILD_PROCESS_INIT;
+	struct child_process diff_files = CHILD_PROCESS_INIT;
+	struct strbuf index_env = STRBUF_INIT, buf = STRBUF_INIT;
+	const char *git_dir = absolute_path(get_git_dir()), *env[] = {
+		NULL, NULL
+	};
+	FILE *fp;
+
+	strbuf_addf(&index_env, "GIT_INDEX_FILE=%s", index_path);
+	env[0] = index_env.buf;
+
+	argv_array_pushl(&update_index.args,
+			 "--git-dir", git_dir, "--work-tree", workdir,
+			 "update-index", "--really-refresh", "-q",
+			 "--unmerged", NULL);
+	update_index.no_stdin = 1;
+	update_index.no_stdout = 1;
+	update_index.no_stderr = 1;
+	update_index.git_cmd = 1;
+	update_index.use_shell = 0;
+	update_index.clean_on_exit = 1;
+	update_index.dir = workdir;
+	update_index.env = env;
+	/* Ignore any errors of update-index */
+	run_command(&update_index);
+
+	argv_array_pushl(&diff_files.args,
+			 "--git-dir", git_dir, "--work-tree", workdir,
+			 "diff-files", "--name-only", "-z", NULL);
+	diff_files.no_stdin = 1;
+	diff_files.git_cmd = 1;
+	diff_files.use_shell = 0;
+	diff_files.clean_on_exit = 1;
+	diff_files.out = -1;
+	diff_files.dir = workdir;
+	diff_files.env = env;
+	if (start_command(&diff_files))
+		die("could not obtain raw diff");
+	fp = xfdopen(diff_files.out, "r");
+	while (!strbuf_getline_nul(&buf, fp)) {
+		struct path_entry *entry;
+		FLEX_ALLOC_STR(entry, path, buf.buf);
+		hashmap_entry_init(entry, strhash(buf.buf));
+		hashmap_add(result, entry);
+	}
+	if (finish_command(&diff_files))
+		die("diff-files did not exit properly");
+	strbuf_release(&index_env);
+	strbuf_release(&buf);
+}
+
+static NORETURN void exit_cleanup(const char *tmpdir, int exit_code)
+{
+	struct strbuf buf = STRBUF_INIT;
+	strbuf_addstr(&buf, tmpdir);
+	remove_dir_recursively(&buf, 0);
+	if (exit_code)
+		warning(_("failed: %d"), exit_code);
+	exit(exit_code);
+}
+
+static int ensure_leading_directories(char *path)
+{
+	switch (safe_create_leading_directories(path)) {
+		case SCLD_OK:
+		case SCLD_EXISTS:
+			return 0;
+		default:
+			return error(_("could not create leading directories "
+				       "of '%s'"), path);
+	}
+}
+
+/*
+ * Unconditional writing of a plain regular file is what
+ * "git difftool --dir-diff" wants to do for symlinks.  We are preparing two
+ * temporary directories to be fed to a Git-unaware tool that knows how to
+ * show a diff of two directories (e.g. "diff -r A B").
+ *
+ * Because the tool is Git-unaware, if a symbolic link appears in either of
+ * these temporary directories, it will try to dereference and show the
+ * difference of the target of the symbolic link, which is not what we want,
+ * as the goal of the dir-diff mode is to produce an output that is logically
+ * equivalent to what "git diff" produces.
+ *
+ * Most importantly, we want to get textual comparison of the result of the
+ * readlink(2).  get_symlink() provides that---it returns the contents of
+ * the symlink that gets written to a regular file to force the external tool
+ * to compare the readlink(2) result as text, even on a filesystem that is
+ * capable of doing a symbolic link.
+ */
+static char *get_symlink(const struct object_id *oid, const char *path)
+{
+	char *data;
+	if (is_null_oid(oid)) {
+		/* The symlink is unknown to Git so read from the filesystem */
+		struct strbuf link = STRBUF_INIT;
+		if (has_symlinks) {
+			if (strbuf_readlink(&link, path, strlen(path)))
+				die(_("could not read symlink %s"), path);
+		} else if (strbuf_read_file(&link, path, 128))
+			die(_("could not read symlink file %s"), path);
+
+		data = strbuf_detach(&link, NULL);
+	} else {
+		enum object_type type;
+		unsigned long size;
+		data = read_sha1_file(oid->hash, &type, &size);
+		if (!data)
+			die(_("could not read object %s for symlink %s"),
+				oid_to_hex(oid), path);
+	}
+
+	return data;
+}
+
+static int checkout_path(unsigned mode, struct object_id *oid,
+			 const char *path, const struct checkout *state)
+{
+	struct cache_entry *ce;
+	int ret;
+
+	ce = make_cache_entry(mode, oid->hash, path, 0, 0);
+	ret = checkout_entry(ce, state, NULL);
+
+	free(ce);
+	return ret;
+}
+
+static int run_dir_diff(const char *extcmd, int symlinks, const char *prefix,
+			int argc, const char **argv)
+{
+	char tmpdir[PATH_MAX];
+	struct strbuf info = STRBUF_INIT, lpath = STRBUF_INIT;
+	struct strbuf rpath = STRBUF_INIT, buf = STRBUF_INIT;
+	struct strbuf ldir = STRBUF_INIT, rdir = STRBUF_INIT;
+	struct strbuf wtdir = STRBUF_INIT;
+	char *lbase_dir, *rbase_dir;
+	size_t ldir_len, rdir_len, wtdir_len;
+	const char *workdir, *tmp;
+	int ret = 0, i;
+	FILE *fp;
+	struct hashmap working_tree_dups, submodules, symlinks2;
+	struct hashmap_iter iter;
+	struct pair_entry *entry;
+	struct index_state wtindex;
+	struct checkout lstate, rstate;
+	int rc, flags = RUN_GIT_CMD, err = 0;
+	struct child_process child = CHILD_PROCESS_INIT;
+	const char *helper_argv[] = { "difftool--helper", NULL, NULL, NULL };
+	struct hashmap wt_modified, tmp_modified;
+	int indices_loaded = 0;
+
+	workdir = get_git_work_tree();
+
+	/* Setup temp directories */
+	tmp = getenv("TMPDIR");
+	xsnprintf(tmpdir, sizeof(tmpdir), "%s/git-difftool.XXXXXX", tmp ? tmp : "/tmp");
+	if (!mkdtemp(tmpdir))
+		return error("could not create '%s'", tmpdir);
+	strbuf_addf(&ldir, "%s/left/", tmpdir);
+	strbuf_addf(&rdir, "%s/right/", tmpdir);
+	strbuf_addstr(&wtdir, workdir);
+	if (!wtdir.len || !is_dir_sep(wtdir.buf[wtdir.len - 1]))
+		strbuf_addch(&wtdir, '/');
+	mkdir(ldir.buf, 0700);
+	mkdir(rdir.buf, 0700);
+
+	memset(&wtindex, 0, sizeof(wtindex));
+
+	memset(&lstate, 0, sizeof(lstate));
+	lstate.base_dir = lbase_dir = xstrdup(ldir.buf);
+	lstate.base_dir_len = ldir.len;
+	lstate.force = 1;
+	memset(&rstate, 0, sizeof(rstate));
+	rstate.base_dir = rbase_dir = xstrdup(rdir.buf);
+	rstate.base_dir_len = rdir.len;
+	rstate.force = 1;
+
+	ldir_len = ldir.len;
+	rdir_len = rdir.len;
+	wtdir_len = wtdir.len;
+
+	hashmap_init(&working_tree_dups,
+		     (hashmap_cmp_fn)working_tree_entry_cmp, 0);
+	hashmap_init(&submodules, (hashmap_cmp_fn)pair_cmp, 0);
+	hashmap_init(&symlinks2, (hashmap_cmp_fn)pair_cmp, 0);
+
+	child.no_stdin = 1;
+	child.git_cmd = 1;
+	child.use_shell = 0;
+	child.clean_on_exit = 1;
+	child.dir = prefix;
+	child.out = -1;
+	argv_array_pushl(&child.args, "diff", "--raw", "--no-abbrev", "-z",
+			 NULL);
+	for (i = 0; i < argc; i++)
+		argv_array_push(&child.args, argv[i]);
+	if (start_command(&child))
+		die("could not obtain raw diff");
+	fp = xfdopen(child.out, "r");
+
+	/* Build index info for left and right sides of the diff */
+	i = 0;
+	while (!strbuf_getline_nul(&info, fp)) {
+		int lmode, rmode;
+		struct object_id loid, roid;
+		char status;
+		const char *src_path, *dst_path;
+
+		if (starts_with(info.buf, "::"))
+			die(N_("combined diff formats('-c' and '--cc') are "
+			       "not supported in\n"
+			       "directory diff mode('-d' and '--dir-diff')."));
+
+		if (parse_index_info(info.buf, &lmode, &rmode, &loid, &roid,
+				     &status))
+			break;
+		if (strbuf_getline_nul(&lpath, fp))
+			break;
+		src_path = lpath.buf;
+
+		i++;
+		if (status != 'C' && status != 'R') {
+			dst_path = src_path;
+		} else {
+			if (strbuf_getline_nul(&rpath, fp))
+				break;
+			dst_path = rpath.buf;
+		}
+
+		if (S_ISGITLINK(lmode) || S_ISGITLINK(rmode)) {
+			strbuf_reset(&buf);
+			strbuf_addf(&buf, "Subproject commit %s",
+				    oid_to_hex(&loid));
+			add_left_or_right(&submodules, src_path, buf.buf, 0);
+			strbuf_reset(&buf);
+			strbuf_addf(&buf, "Subproject commit %s",
+				    oid_to_hex(&roid));
+			if (!oidcmp(&loid, &roid))
+				strbuf_addstr(&buf, "-dirty");
+			add_left_or_right(&submodules, dst_path, buf.buf, 1);
+			continue;
+		}
+
+		if (S_ISLNK(lmode)) {
+			char *content = get_symlink(&loid, src_path);
+			add_left_or_right(&symlinks2, src_path, content, 0);
+			free(content);
+		}
+
+		if (S_ISLNK(rmode)) {
+			char *content = get_symlink(&roid, dst_path);
+			add_left_or_right(&symlinks2, dst_path, content, 1);
+			free(content);
+		}
+
+		if (lmode && status != 'C') {
+			if (checkout_path(lmode, &loid, src_path, &lstate))
+				return error("could not write '%s'", src_path);
+		}
+
+		if (rmode && !S_ISLNK(rmode)) {
+			struct working_tree_entry *entry;
+
+			/* Avoid duplicate working_tree entries */
+			FLEX_ALLOC_STR(entry, path, dst_path);
+			hashmap_entry_init(entry, strhash(dst_path));
+			if (hashmap_get(&working_tree_dups, entry, NULL)) {
+				free(entry);
+				continue;
+			}
+			hashmap_add(&working_tree_dups, entry);
+
+			if (!use_wt_file(workdir, dst_path, &roid)) {
+				if (checkout_path(rmode, &roid, dst_path, &rstate))
+					return error("could not write '%s'",
+						     dst_path);
+			} else if (!is_null_oid(&roid)) {
+				/*
+				 * Changes in the working tree need special
+				 * treatment since they are not part of the
+				 * index.
+				 */
+				struct cache_entry *ce2 =
+					make_cache_entry(rmode, roid.hash,
+							 dst_path, 0, 0);
+
+				add_index_entry(&wtindex, ce2,
+						ADD_CACHE_JUST_APPEND);
+
+				add_path(&rdir, rdir_len, dst_path);
+				if (ensure_leading_directories(rdir.buf))
+					return error("could not create "
+						     "directory for '%s'",
+						     dst_path);
+				add_path(&wtdir, wtdir_len, dst_path);
+				if (symlinks) {
+					if (symlink(wtdir.buf, rdir.buf)) {
+						ret = error_errno("could not symlink '%s' to '%s'", wtdir.buf, rdir.buf);
+						goto finish;
+					}
+				} else {
+					struct stat st;
+					if (stat(wtdir.buf, &st))
+						st.st_mode = 0644;
+					if (copy_file(rdir.buf, wtdir.buf,
+						      st.st_mode)) {
+						ret = error("could not copy '%s' to '%s'", wtdir.buf, rdir.buf);
+						goto finish;
+					}
+				}
+			}
+		}
+	}
+
+	if (finish_command(&child)) {
+		ret = error("error occurred running diff --raw");
+		goto finish;
+	}
+
+	if (!i)
+		return 0;
+
+	/*
+	 * Changes to submodules require special treatment.This loop writes a
+	 * temporary file to both the left and right directories to show the
+	 * change in the recorded SHA1 for the submodule.
+	 */
+	hashmap_iter_init(&submodules, &iter);
+	while ((entry = hashmap_iter_next(&iter))) {
+		if (*entry->left) {
+			add_path(&ldir, ldir_len, entry->path);
+			ensure_leading_directories(ldir.buf);
+			write_file(ldir.buf, "%s", entry->left);
+		}
+		if (*entry->right) {
+			add_path(&rdir, rdir_len, entry->path);
+			ensure_leading_directories(rdir.buf);
+			write_file(rdir.buf, "%s", entry->right);
+		}
+	}
+
+	/*
+	 * Symbolic links require special treatment.The standard "git diff"
+	 * shows only the link itself, not the contents of the link target.
+	 * This loop replicates that behavior.
+	 */
+	hashmap_iter_init(&symlinks2, &iter);
+	while ((entry = hashmap_iter_next(&iter))) {
+		if (*entry->left) {
+			add_path(&ldir, ldir_len, entry->path);
+			ensure_leading_directories(ldir.buf);
+			write_file(ldir.buf, "%s", entry->left);
+		}
+		if (*entry->right) {
+			add_path(&rdir, rdir_len, entry->path);
+			ensure_leading_directories(rdir.buf);
+			write_file(rdir.buf, "%s", entry->right);
+		}
+	}
+
+	strbuf_release(&buf);
+
+	strbuf_setlen(&ldir, ldir_len);
+	helper_argv[1] = ldir.buf;
+	strbuf_setlen(&rdir, rdir_len);
+	helper_argv[2] = rdir.buf;
+
+	if (extcmd) {
+		helper_argv[0] = extcmd;
+		flags = 0;
+	} else
+		setenv("GIT_DIFFTOOL_DIRDIFF", "true", 1);
+	rc = run_command_v_opt(helper_argv, flags);
+
+	/*
+	 * If the diff includes working copy files and those
+	 * files were modified during the diff, then the changes
+	 * should be copied back to the working tree.
+	 * Do not copy back files when symlinks are used and the
+	 * external tool did not replace the original link with a file.
+	 *
+	 * These hashes are loaded lazily since they aren't needed
+	 * in the common case of --symlinks and the difftool updating
+	 * files through the symlink.
+	 */
+	hashmap_init(&wt_modified, (hashmap_cmp_fn)path_entry_cmp,
+		     wtindex.cache_nr);
+	hashmap_init(&tmp_modified, (hashmap_cmp_fn)path_entry_cmp,
+		     wtindex.cache_nr);
+
+	for (i = 0; i < wtindex.cache_nr; i++) {
+		struct hashmap_entry dummy;
+		const char *name = wtindex.cache[i]->name;
+		struct stat st;
+
+		add_path(&rdir, rdir_len, name);
+		if (lstat(rdir.buf, &st))
+			continue;
+
+		if ((symlinks && S_ISLNK(st.st_mode)) || !S_ISREG(st.st_mode))
+			continue;
+
+		if (!indices_loaded) {
+			static struct lock_file lock;
+			strbuf_reset(&buf);
+			strbuf_addf(&buf, "%s/wtindex", tmpdir);
+			if (hold_lock_file_for_update(&lock, buf.buf, 0) < 0 ||
+			    write_locked_index(&wtindex, &lock, COMMIT_LOCK)) {
+				ret = error("could not write %s", buf.buf);
+				rollback_lock_file(&lock);
+				goto finish;
+			}
+			changed_files(&wt_modified, buf.buf, workdir);
+			strbuf_setlen(&rdir, rdir_len);
+			changed_files(&tmp_modified, buf.buf, rdir.buf);
+			add_path(&rdir, rdir_len, name);
+			indices_loaded = 1;
+		}
+
+		hashmap_entry_init(&dummy, strhash(name));
+		if (hashmap_get(&tmp_modified, &dummy, name)) {
+			add_path(&wtdir, wtdir_len, name);
+			if (hashmap_get(&wt_modified, &dummy, name)) {
+				warning(_("both files modified: '%s' and '%s'."),
+					wtdir.buf, rdir.buf);
+				warning(_("working tree file has been left."));
+				warning("%s", "");
+				err = 1;
+			} else if (unlink(wtdir.buf) ||
+				   copy_file(wtdir.buf, rdir.buf, st.st_mode))
+				warning_errno(_("could not copy '%s' to '%s'"),
+					      rdir.buf, wtdir.buf);
+		}
+	}
+
+	if (err) {
+		warning(_("temporary files exist in '%s'."), tmpdir);
+		warning(_("you may want to cleanup or recover these."));
+		exit(1);
+	} else
+		exit_cleanup(tmpdir, rc);
+
+finish:
+	free(lbase_dir);
+	free(rbase_dir);
+	strbuf_release(&ldir);
+	strbuf_release(&rdir);
+	strbuf_release(&wtdir);
+	strbuf_release(&buf);
+
+	return ret;
+}
+
+static int run_file_diff(int prompt, const char *prefix,
+			 int argc, const char **argv)
+{
+	struct argv_array args = ARGV_ARRAY_INIT;
+	const char *env[] = {
+		"GIT_PAGER=", "GIT_EXTERNAL_DIFF=git-difftool--helper", NULL,
+		NULL
+	};
+	int ret = 0, i;
+
+	if (prompt > 0)
+		env[2] = "GIT_DIFFTOOL_PROMPT=true";
+	else if (!prompt)
+		env[2] = "GIT_DIFFTOOL_NO_PROMPT=true";
+
+
+	argv_array_push(&args, "diff");
+	for (i = 0; i < argc; i++)
+		argv_array_push(&args, argv[i]);
+	ret = run_command_v_opt_cd_env(args.argv, RUN_GIT_CMD, prefix, env);
+	exit(ret);
+}
+
+int cmd_difftool(int argc, const char **argv, const char *prefix)
+{
+	int use_gui_tool = 0, dir_diff = 0, prompt = -1, symlinks = 0,
+	    tool_help = 0;
+	static char *difftool_cmd = NULL, *extcmd = NULL;
+	struct option builtin_difftool_options[] = {
+		OPT_BOOL('g', "gui", &use_gui_tool,
+			 N_("use `diff.guitool` instead of `diff.tool`")),
+		OPT_BOOL('d', "dir-diff", &dir_diff,
+			 N_("perform a full-directory diff")),
+		{ OPTION_SET_INT, 'y', "no-prompt", &prompt, NULL,
+			N_("do not prompt before launching a diff tool"),
+			PARSE_OPT_NOARG | PARSE_OPT_NONEG, NULL, 0},
+		{ OPTION_SET_INT, 0, "prompt", &prompt, NULL, NULL,
+			PARSE_OPT_NOARG | PARSE_OPT_NONEG | PARSE_OPT_HIDDEN,
+			NULL, 1 },
+		OPT_BOOL(0, "symlinks", &symlinks,
+			 N_("use symlinks in dir-diff mode")),
+		OPT_STRING('t', "tool", &difftool_cmd, N_("<tool>"),
+			   N_("use the specified diff tool")),
+		OPT_BOOL(0, "tool-help", &tool_help,
+			 N_("print a list of diff tools that may be used with "
+			    "`--tool`")),
+		OPT_BOOL(0, "trust-exit-code", &trust_exit_code,
+			 N_("make 'git-difftool' exit when an invoked diff "
+			    "tool returns a non - zero exit code")),
+		OPT_STRING('x', "extcmd", &extcmd, N_("<command>"),
+			   N_("specify a custom command for viewing diffs")),
+		OPT_END()
+	};
+
+	git_config(difftool_config, NULL);
+	symlinks = has_symlinks;
+
+	argc = parse_options(argc, argv, prefix, builtin_difftool_options,
+			     builtin_difftool_usage, PARSE_OPT_KEEP_UNKNOWN |
+			     PARSE_OPT_KEEP_DASHDASH);
+
+	if (tool_help)
+		return print_tool_help();
+
+	/* NEEDSWORK: once we no longer spawn anything, remove this */
+	setenv(GIT_DIR_ENVIRONMENT, absolute_path(get_git_dir()), 1);
+	setenv(GIT_WORK_TREE_ENVIRONMENT, absolute_path(get_git_work_tree()), 1);
+
+	if (use_gui_tool && diff_gui_tool && *diff_gui_tool)
+		setenv("GIT_DIFF_TOOL", diff_gui_tool, 1);
+	else if (difftool_cmd) {
+		if (*difftool_cmd)
+			setenv("GIT_DIFF_TOOL", difftool_cmd, 1);
+		else
+			die(_("no <tool> given for --tool=<tool>"));
+	}
+
+	if (extcmd) {
+		if (*extcmd)
+			setenv("GIT_DIFFTOOL_EXTCMD", extcmd, 1);
+		else
+			die(_("no <cmd> given for --extcmd=<cmd>"));
+	}
+
+	setenv("GIT_DIFFTOOL_TRUST_EXIT_CODE",
+	       trust_exit_code ? "true" : "false", 1);
+
+	/*
+	 * In directory diff mode, 'git-difftool--helper' is called once
+	 * to compare the a / b directories. In file diff mode, 'git diff'
+	 * will invoke a separate instance of 'git-difftool--helper' for
+	 * each file that changed.
+	 */
+	if (dir_diff)
+		return run_dir_diff(extcmd, symlinks, prefix, argc, argv);
+	return run_file_diff(prompt, prefix, argc, argv);
+}
diff --git a/builtin/fast-export.c b/builtin/fast-export.c
index 1e815b5..e022063 100644
--- a/builtin/fast-export.c
+++ b/builtin/fast-export.c
@@ -212,7 +212,7 @@
 	return strbuf_detach(&out, NULL);
 }
 
-static void export_blob(const unsigned char *sha1)
+static void export_blob(const struct object_id *oid)
 {
 	unsigned long size;
 	enum object_type type;
@@ -223,34 +223,34 @@
 	if (no_data)
 		return;
 
-	if (is_null_sha1(sha1))
+	if (is_null_oid(oid))
 		return;
 
-	object = lookup_object(sha1);
+	object = lookup_object(oid->hash);
 	if (object && object->flags & SHOWN)
 		return;
 
 	if (anonymize) {
 		buf = anonymize_blob(&size);
-		object = (struct object *)lookup_blob(sha1);
+		object = (struct object *)lookup_blob(oid->hash);
 		eaten = 0;
 	} else {
-		buf = read_sha1_file(sha1, &type, &size);
+		buf = read_sha1_file(oid->hash, &type, &size);
 		if (!buf)
-			die ("Could not read blob %s", sha1_to_hex(sha1));
-		if (check_sha1_signature(sha1, buf, size, typename(type)) < 0)
-			die("sha1 mismatch in blob %s", sha1_to_hex(sha1));
-		object = parse_object_buffer(sha1, type, size, buf, &eaten);
+			die ("Could not read blob %s", oid_to_hex(oid));
+		if (check_sha1_signature(oid->hash, buf, size, typename(type)) < 0)
+			die("sha1 mismatch in blob %s", oid_to_hex(oid));
+		object = parse_object_buffer(oid->hash, type, size, buf, &eaten);
 	}
 
 	if (!object)
-		die("Could not read blob %s", sha1_to_hex(sha1));
+		die("Could not read blob %s", oid_to_hex(oid));
 
 	mark_next_object(object);
 
 	printf("blob\nmark :%"PRIu32"\ndata %lu\n", last_idnum, size);
 	if (size && fwrite(buf, size, 1, stdout) != 1)
-		die_errno ("Could not write blob '%s'", sha1_to_hex(sha1));
+		die_errno ("Could not write blob '%s'", oid_to_hex(oid));
 	printf("\n");
 
 	show_progress();
@@ -323,19 +323,19 @@
 	}
 }
 
-static void *generate_fake_sha1(const void *old, size_t *len)
+static void *generate_fake_oid(const void *old, size_t *len)
 {
 	static uint32_t counter = 1; /* avoid null sha1 */
-	unsigned char *out = xcalloc(20, 1);
-	put_be32(out + 16, counter++);
+	unsigned char *out = xcalloc(GIT_SHA1_RAWSZ, 1);
+	put_be32(out + GIT_SHA1_RAWSZ - 4, counter++);
 	return out;
 }
 
-static const unsigned char *anonymize_sha1(const unsigned char *sha1)
+static const unsigned char *anonymize_sha1(const struct object_id *oid)
 {
 	static struct hashmap sha1s;
-	size_t len = 20;
-	return anonymize_mem(&sha1s, generate_fake_sha1, sha1, &len);
+	size_t len = GIT_SHA1_RAWSZ;
+	return anonymize_mem(&sha1s, generate_fake_oid, oid, &len);
 }
 
 static void show_filemodify(struct diff_queue_struct *q,
@@ -383,7 +383,7 @@
 			if (no_data || S_ISGITLINK(spec->mode))
 				printf("M %06o %s ", spec->mode,
 				       sha1_to_hex(anonymize ?
-						   anonymize_sha1(spec->oid.hash) :
+						   anonymize_sha1(&spec->oid) :
 						   spec->oid.hash));
 			else {
 				struct object *object = lookup_object(spec->oid.hash);
@@ -572,7 +572,7 @@
 	/* Export the referenced blobs, and remember the marks. */
 	for (i = 0; i < diff_queued_diff.nr; i++)
 		if (!S_ISGITLINK(diff_queued_diff.queue[i]->two->mode))
-			export_blob(diff_queued_diff.queue[i]->two->oid.hash);
+			export_blob(&diff_queued_diff.queue[i]->two->oid);
 
 	refname = commit->util;
 	if (anonymize) {
@@ -797,14 +797,14 @@
 
 	for (i = 0; i < info->nr; i++) {
 		struct rev_cmdline_entry *e = info->rev + i;
-		unsigned char sha1[20];
+		struct object_id oid;
 		struct commit *commit;
 		char *full_name;
 
 		if (e->flags & UNINTERESTING)
 			continue;
 
-		if (dwim_ref(e->name, strlen(e->name), sha1, &full_name) != 1)
+		if (dwim_ref(e->name, strlen(e->name), oid.hash, &full_name) != 1)
 			continue;
 
 		if (refspecs) {
@@ -828,7 +828,7 @@
 		case OBJ_COMMIT:
 			break;
 		case OBJ_BLOB:
-			export_blob(commit->object.oid.hash);
+			export_blob(&commit->object.oid);
 			continue;
 		default: /* OBJ_TAG (nested tags) is already handled */
 			warning("Tag points to object of unexpected type %s, skipping.",
@@ -912,7 +912,7 @@
 	while (fgets(line, sizeof(line), f)) {
 		uint32_t mark;
 		char *line_end, *mark_end;
-		unsigned char sha1[20];
+		struct object_id oid;
 		struct object *object;
 		struct commit *commit;
 		enum object_type type;
@@ -924,28 +924,28 @@
 
 		mark = strtoumax(line + 1, &mark_end, 10);
 		if (!mark || mark_end == line + 1
-			|| *mark_end != ' ' || get_sha1_hex(mark_end + 1, sha1))
+			|| *mark_end != ' ' || get_oid_hex(mark_end + 1, &oid))
 			die("corrupt mark line: %s", line);
 
 		if (last_idnum < mark)
 			last_idnum = mark;
 
-		type = sha1_object_info(sha1, NULL);
+		type = sha1_object_info(oid.hash, NULL);
 		if (type < 0)
-			die("object not found: %s", sha1_to_hex(sha1));
+			die("object not found: %s", oid_to_hex(&oid));
 
 		if (type != OBJ_COMMIT)
 			/* only commits */
 			continue;
 
-		commit = lookup_commit(sha1);
+		commit = lookup_commit(oid.hash);
 		if (!commit)
-			die("not a commit? can't happen: %s", sha1_to_hex(sha1));
+			die("not a commit? can't happen: %s", oid_to_hex(&oid));
 
 		object = &commit->object;
 
 		if (object->flags & SHOWN)
-			error("Object %s already has a mark", sha1_to_hex(sha1));
+			error("Object %s already has a mark", oid_to_hex(&oid));
 
 		mark_object(object, mark);
 
diff --git a/builtin/fetch-pack.c b/builtin/fetch-pack.c
index cfe9e44..366b9d1 100644
--- a/builtin/fetch-pack.c
+++ b/builtin/fetch-pack.c
@@ -50,7 +50,7 @@
 	char **pack_lockfile_ptr = NULL;
 	struct child_process *conn;
 	struct fetch_pack_args args;
-	struct sha1_array shallow = SHA1_ARRAY_INIT;
+	struct oid_array shallow = OID_ARRAY_INIT;
 	struct string_list deepen_not = STRING_LIST_INIT_DUP;
 
 	packet_trace_identity("fetch-pack");
@@ -219,12 +219,7 @@
 	 * remote no-such-ref' would silently succeed without issuing
 	 * an error.
 	 */
-	for (i = 0; i < nr_sought; i++) {
-		if (!sought[i] || sought[i]->matched)
-			continue;
-		error("no such remote ref %s", sought[i]->name);
-		ret = 1;
-	}
+	ret |= report_unmatched_refs(sought, nr_sought);
 
 	while (ref) {
 		printf("%s %s\n",
diff --git a/builtin/fetch.c b/builtin/fetch.c
index 1d77e58..5f2c2ab 100644
--- a/builtin/fetch.c
+++ b/builtin/fetch.c
@@ -122,7 +122,7 @@
 	OPT_STRING(0, "shallow-since", &deepen_since, N_("time"),
 		   N_("deepen history of shallow repository based on time")),
 	OPT_STRING_LIST(0, "shallow-exclude", &deepen_not, N_("revision"),
-			N_("deepen history of shallow clone by excluding rev")),
+			N_("deepen history of shallow clone, excluding rev")),
 	OPT_INTEGER(0, "deepen", &deepen_relative,
 		    N_("deepen history of shallow clone")),
 	{ OPTION_SET_INT, 0, "unshallow", &unshallow, NULL,
@@ -421,7 +421,7 @@
 			struct ref *ref,
 			int check_old)
 {
-	char msg[1024];
+	char *msg;
 	char *rla = getenv("GIT_REFLOG_ACTION");
 	struct ref_transaction *transaction;
 	struct strbuf err = STRBUF_INIT;
@@ -431,7 +431,7 @@
 		return 0;
 	if (!rla)
 		rla = default_rla.buf;
-	snprintf(msg, sizeof(msg), "%s: %s", rla, action);
+	msg = xstrfmt("%s: %s", rla, action);
 
 	transaction = ref_transaction_begin(&err);
 	if (!transaction ||
@@ -449,11 +449,13 @@
 
 	ref_transaction_free(transaction);
 	strbuf_release(&err);
+	free(msg);
 	return 0;
 fail:
 	ref_transaction_free(transaction);
 	error("%s", err.buf);
 	strbuf_release(&err);
+	free(msg);
 	return df_conflict ? STORE_REF_ERROR_DF_CONFLICT
 			   : STORE_REF_ERROR_OTHER;
 }
@@ -659,7 +661,7 @@
 
 		if ((recurse_submodules != RECURSE_SUBMODULES_OFF) &&
 		    (recurse_submodules != RECURSE_SUBMODULES_ON))
-			check_for_new_submodule_commits(ref->new_oid.hash);
+			check_for_new_submodule_commits(&ref->new_oid);
 		r = s_update_ref(msg, ref, 0);
 		format_display(display, r ? '!' : '*', what,
 			       r ? _("unable to update local ref") : NULL,
@@ -675,7 +677,7 @@
 		strbuf_add_unique_abbrev(&quickref, ref->new_oid.hash, DEFAULT_ABBREV);
 		if ((recurse_submodules != RECURSE_SUBMODULES_OFF) &&
 		    (recurse_submodules != RECURSE_SUBMODULES_ON))
-			check_for_new_submodule_commits(ref->new_oid.hash);
+			check_for_new_submodule_commits(&ref->new_oid);
 		r = s_update_ref("fast-forward", ref, 1);
 		format_display(display, r ? '!' : ' ', quickref.buf,
 			       r ? _("unable to update local ref") : NULL,
@@ -690,7 +692,7 @@
 		strbuf_add_unique_abbrev(&quickref, ref->new_oid.hash, DEFAULT_ABBREV);
 		if ((recurse_submodules != RECURSE_SUBMODULES_OFF) &&
 		    (recurse_submodules != RECURSE_SUBMODULES_ON))
-			check_for_new_submodule_commits(ref->new_oid.hash);
+			check_for_new_submodule_commits(&ref->new_oid);
 		r = s_update_ref("forced-update", ref, 1);
 		format_display(display, r ? '!' : '+', quickref.buf,
 			       r ? _("unable to update local ref") : _("forced update"),
@@ -1177,7 +1179,7 @@
 	git_config(get_remote_group, &g);
 	if (list->nr == prev_nr) {
 		struct remote *remote = remote_get(name);
-		if (!remote_is_configured(remote))
+		if (!remote_is_configured(remote, 0))
 			return 0;
 		string_list_append(list, remote->name);
 	}
diff --git a/builtin/fmt-merge-msg.c b/builtin/fmt-merge-msg.c
index efab62f..6faa3c0 100644
--- a/builtin/fmt-merge-msg.c
+++ b/builtin/fmt-merge-msg.c
@@ -41,7 +41,7 @@
 };
 
 struct origin_data {
-	unsigned char sha1[20];
+	struct object_id oid;
 	unsigned is_local_branch:1;
 };
 
@@ -59,8 +59,8 @@
 struct merge_parents {
 	int alloc, nr;
 	struct merge_parent {
-		unsigned char given[20];
-		unsigned char commit[20];
+		struct object_id given;
+		struct object_id commit;
 		unsigned char used;
 	} *item;
 };
@@ -70,14 +70,14 @@
  * hundreds of heads at a time anyway.
  */
 static struct merge_parent *find_merge_parent(struct merge_parents *table,
-					      unsigned char *given,
-					      unsigned char *commit)
+					      struct object_id *given,
+					      struct object_id *commit)
 {
 	int i;
 	for (i = 0; i < table->nr; i++) {
-		if (given && hashcmp(table->item[i].given, given))
+		if (given && oidcmp(&table->item[i].given, given))
 			continue;
-		if (commit && hashcmp(table->item[i].commit, commit))
+		if (commit && oidcmp(&table->item[i].commit, commit))
 			continue;
 		return &table->item[i];
 	}
@@ -85,14 +85,14 @@
 }
 
 static void add_merge_parent(struct merge_parents *table,
-			     unsigned char *given,
-			     unsigned char *commit)
+			     struct object_id *given,
+			     struct object_id *commit)
 {
 	if (table->nr && find_merge_parent(table, given, commit))
 		return;
 	ALLOC_GROW(table->item, table->nr + 1, table->alloc);
-	hashcpy(table->item[table->nr].given, given);
-	hashcpy(table->item[table->nr].commit, commit);
+	oidcpy(&table->item[table->nr].given, given);
+	oidcpy(&table->item[table->nr].commit, commit);
 	table->item[table->nr].used = 0;
 	table->nr++;
 }
@@ -106,30 +106,30 @@
 	struct src_data *src_data;
 	struct string_list_item *item;
 	int pulling_head = 0;
-	unsigned char sha1[20];
+	struct object_id oid;
 
-	if (len < 43 || line[40] != '\t')
+	if (len < GIT_SHA1_HEXSZ + 3 || line[GIT_SHA1_HEXSZ] != '\t')
 		return 1;
 
-	if (starts_with(line + 41, "not-for-merge"))
+	if (starts_with(line + GIT_SHA1_HEXSZ + 1, "not-for-merge"))
 		return 0;
 
-	if (line[41] != '\t')
+	if (line[GIT_SHA1_HEXSZ + 1] != '\t')
 		return 2;
 
-	i = get_sha1_hex(line, sha1);
+	i = get_oid_hex(line, &oid);
 	if (i)
 		return 3;
 
-	if (!find_merge_parent(merge_parents, sha1, NULL))
+	if (!find_merge_parent(merge_parents, &oid, NULL))
 		return 0; /* subsumed by other parents */
 
 	origin_data = xcalloc(1, sizeof(struct origin_data));
-	hashcpy(origin_data->sha1, sha1);
+	oidcpy(&origin_data->oid, &oid);
 
 	if (line[len - 1] == '\n')
 		line[len - 1] = 0;
-	line += 42;
+	line += GIT_SHA1_HEXSZ + 2;
 
 	/*
 	 * At this point, line points at the beginning of comment e.g.
@@ -338,10 +338,10 @@
 	struct string_list committers = STRING_LIST_INIT_DUP;
 	int flags = UNINTERESTING | TREESAME | SEEN | SHOWN | ADDED;
 	struct strbuf sb = STRBUF_INIT;
-	const unsigned char *sha1 = origin_data->sha1;
+	const struct object_id *oid = &origin_data->oid;
 	int limit = opts->shortlog_len;
 
-	branch = deref_tag(parse_object(sha1), sha1_to_hex(sha1), 40);
+	branch = deref_tag(parse_object(oid->hash), oid_to_hex(oid), GIT_SHA1_HEXSZ);
 	if (!branch || branch->type != OBJ_COMMIT)
 		return;
 
@@ -531,7 +531,7 @@
 }
 
 static void find_merge_parents(struct merge_parents *result,
-			       struct strbuf *in, unsigned char *head)
+			       struct strbuf *in, struct object_id *head)
 {
 	struct commit_list *parents;
 	struct commit *head_commit;
@@ -542,31 +542,31 @@
 		int len;
 		char *p = in->buf + pos;
 		char *newline = strchr(p, '\n');
-		unsigned char sha1[20];
+		struct object_id oid;
 		struct commit *parent;
 		struct object *obj;
 
 		len = newline ? newline - p : strlen(p);
 		pos += len + !!newline;
 
-		if (len < 43 ||
-		    get_sha1_hex(p, sha1) ||
-		    p[40] != '\t' ||
-		    p[41] != '\t')
+		if (len < GIT_SHA1_HEXSZ + 3 ||
+		    get_oid_hex(p, &oid) ||
+		    p[GIT_SHA1_HEXSZ] != '\t' ||
+		    p[GIT_SHA1_HEXSZ + 1] != '\t')
 			continue; /* skip not-for-merge */
 		/*
 		 * Do not use get_merge_parent() here; we do not have
 		 * "name" here and we do not want to contaminate its
 		 * util field yet.
 		 */
-		obj = parse_object(sha1);
+		obj = parse_object(oid.hash);
 		parent = (struct commit *)peel_to_type(NULL, 0, obj, OBJ_COMMIT);
 		if (!parent)
 			continue;
 		commit_list_insert(parent, &parents);
-		add_merge_parent(result, obj->oid.hash, parent->object.oid.hash);
+		add_merge_parent(result, &obj->oid, &parent->object.oid);
 	}
-	head_commit = lookup_commit(head);
+	head_commit = lookup_commit(head->hash);
 	if (head_commit)
 		commit_list_insert(head_commit, &parents);
 	parents = reduce_heads(parents);
@@ -574,7 +574,7 @@
 	while (parents) {
 		struct commit *cmit = pop_commit(&parents);
 		for (i = 0; i < result->nr; i++)
-			if (!hashcmp(result->item[i].commit, cmit->object.oid.hash))
+			if (!oidcmp(&result->item[i].commit, &cmit->object.oid))
 				result->item[i].used = 1;
 	}
 
@@ -592,7 +592,7 @@
 		  struct fmt_merge_msg_opts *opts)
 {
 	int i = 0, pos = 0;
-	unsigned char head_sha1[20];
+	struct object_id head_oid;
 	const char *current_branch;
 	void *current_branch_to_free;
 	struct merge_parents merge_parents;
@@ -601,13 +601,13 @@
 
 	/* get current branch */
 	current_branch = current_branch_to_free =
-		resolve_refdup("HEAD", RESOLVE_REF_READING, head_sha1, NULL);
+		resolve_refdup("HEAD", RESOLVE_REF_READING, head_oid.hash, NULL);
 	if (!current_branch)
 		die("No current branch");
 	if (starts_with(current_branch, "refs/heads/"))
 		current_branch += 11;
 
-	find_merge_parents(&merge_parents, in, head_sha1);
+	find_merge_parents(&merge_parents, in, &head_oid);
 
 	/* get a line */
 	while (pos < in->len) {
@@ -633,7 +633,7 @@
 		struct commit *head;
 		struct rev_info rev;
 
-		head = lookup_commit_or_die(head_sha1, "HEAD");
+		head = lookup_commit_or_die(head_oid.hash, "HEAD");
 		init_revisions(&rev, NULL);
 		rev.commit_format = CMIT_FMT_ONELINE;
 		rev.ignore_merges = 1;
diff --git a/builtin/for-each-ref.c b/builtin/for-each-ref.c
index 4e9f6c2..eca365b 100644
--- a/builtin/for-each-ref.c
+++ b/builtin/for-each-ref.c
@@ -8,8 +8,8 @@
 static char const * const for_each_ref_usage[] = {
 	N_("git for-each-ref [<options>] [<pattern>]"),
 	N_("git for-each-ref [--points-at <object>]"),
-	N_("git for-each-ref [(--merged | --no-merged) [<object>]]"),
-	N_("git for-each-ref [--contains [<object>]]"),
+	N_("git for-each-ref [(--merged | --no-merged) [<commit>]]"),
+	N_("git for-each-ref [--contains [<commit>]] [--no-contains [<commit>]]"),
 	NULL
 };
 
@@ -18,7 +18,7 @@
 	int i;
 	const char *format = "%(objectname) %(objecttype)\t%(refname)";
 	struct ref_sorting *sorting = NULL, **sorting_tail = &sorting;
-	int maxcount = 0, quote_style = 0;
+	int maxcount = 0, quote_style = 0, icase = 0;
 	struct ref_array array;
 	struct ref_filter filter;
 
@@ -43,6 +43,8 @@
 		OPT_MERGED(&filter, N_("print only refs that are merged")),
 		OPT_NO_MERGED(&filter, N_("print only refs that are not merged")),
 		OPT_CONTAINS(&filter.with_commit, N_("print only refs which contain the commit")),
+		OPT_NO_CONTAINS(&filter.no_commit, N_("print only refs which don't contain the commit")),
+		OPT_BOOL(0, "ignore-case", &icase, N_("sorting and filtering are case insensitive")),
 		OPT_END(),
 	};
 
@@ -63,6 +65,8 @@
 
 	if (!sorting)
 		sorting = ref_default_sorting();
+	sorting->ignore_case = icase;
+	filter.ignore_case = icase;
 
 	/* for warn_ambiguous_refs */
 	git_config(git_default_config, NULL);
diff --git a/builtin/fsck.c b/builtin/fsck.c
index f01b81e..f76e416 100644
--- a/builtin/fsck.c
+++ b/builtin/fsck.c
@@ -56,6 +56,23 @@
 	return buf.buf;
 }
 
+static const char *printable_type(struct object *obj)
+{
+	const char *ret;
+
+	if (obj->type == OBJ_NONE) {
+		enum object_type type = sha1_object_info(obj->oid.hash, NULL);
+		if (type > 0)
+			object_as_type(obj, type, 0);
+	}
+
+	ret = typename(obj->type);
+	if (!ret)
+		ret = "unknown";
+
+	return ret;
+}
+
 static int fsck_config(const char *var, const char *value, void *cb)
 {
 	if (strcmp(var, "fsck.skiplist") == 0) {
@@ -83,7 +100,7 @@
 			const char *err)
 {
 	fprintf(stderr, "%s in %s %s: %s\n",
-		msg_type, typename(obj->type), describe_object(obj), err);
+		msg_type, printable_type(obj), describe_object(obj), err);
 }
 
 static int objerror(struct object *obj, const char *err)
@@ -114,7 +131,7 @@
 	if (!obj) {
 		/* ... these references to parent->fld are safe here */
 		printf("broken link from %7s %s\n",
-			   typename(parent->type), describe_object(parent));
+			   printable_type(parent), describe_object(parent));
 		printf("broken link from %7s %s\n",
 			   (type == OBJ_ANY ? "unknown" : typename(type)), "unknown");
 		errors_found |= ERROR_REACHABLE;
@@ -131,9 +148,9 @@
 	if (!(obj->flags & HAS_OBJ)) {
 		if (parent && !has_object_file(&obj->oid)) {
 			printf("broken link from %7s %s\n",
-				 typename(parent->type), describe_object(parent));
+				 printable_type(parent), describe_object(parent));
 			printf("              to %7s %s\n",
-				 typename(obj->type), describe_object(obj));
+				 printable_type(obj), describe_object(obj));
 			errors_found |= ERROR_REACHABLE;
 		}
 		return 1;
@@ -205,9 +222,7 @@
 	if (!(obj->flags & HAS_OBJ)) {
 		if (has_sha1_pack(obj->oid.hash))
 			return; /* it is in pack - forget about it */
-		if (connectivity_only && has_object_file(&obj->oid))
-			return;
-		printf("missing %s %s\n", typename(obj->type),
+		printf("missing %s %s\n", printable_type(obj),
 			describe_object(obj));
 		errors_found |= ERROR_REACHABLE;
 		return;
@@ -225,7 +240,7 @@
 	 * to complain about it being unreachable (since it does
 	 * not exist).
 	 */
-	if (!obj->parsed)
+	if (!(obj->flags & HAS_OBJ))
 		return;
 
 	/*
@@ -233,7 +248,7 @@
 	 * since this is something that is prunable.
 	 */
 	if (show_unreachable) {
-		printf("unreachable %s %s\n", typename(obj->type),
+		printf("unreachable %s %s\n", printable_type(obj),
 			describe_object(obj));
 		return;
 	}
@@ -252,7 +267,7 @@
 	 */
 	if (!obj->used) {
 		if (show_dangling)
-			printf("dangling %s %s\n", typename(obj->type),
+			printf("dangling %s %s\n", printable_type(obj),
 			       describe_object(obj));
 		if (write_lost_and_found) {
 			char *filename = git_pathdup("lost-found/%s/%s",
@@ -326,7 +341,7 @@
 
 	if (verbose)
 		fprintf(stderr, "Checking %s %s\n",
-			typename(obj->type), describe_object(obj));
+			printable_type(obj), describe_object(obj));
 
 	if (fsck_walk(obj, NULL, &fsck_obj_options))
 		objerror(obj, "broken links");
@@ -352,7 +367,7 @@
 		struct tag *tag = (struct tag *) obj;
 
 		if (show_tags && tag->tagged) {
-			printf("tagged %s %s", typename(tag->tagged->type),
+			printf("tagged %s %s", printable_type(tag->tagged),
 				describe_object(tag->tagged));
 			printf(" (%s) in %s\n", tag->tag,
 				describe_object(&tag->object));
@@ -362,18 +377,6 @@
 	return 0;
 }
 
-static int fsck_sha1(const unsigned char *sha1)
-{
-	struct object *obj = parse_object(sha1);
-	if (!obj) {
-		errors_found |= ERROR_OBJECT;
-		return error("%s: object corrupt or missing",
-			     sha1_to_hex(sha1));
-	}
-	obj->flags |= HAS_OBJ;
-	return fsck_obj(obj);
-}
-
 static int fsck_obj_buffer(const unsigned char *sha1, enum object_type type,
 			   unsigned long size, void *buffer, int *eaten)
 {
@@ -393,14 +396,14 @@
 
 static int default_refs;
 
-static void fsck_handle_reflog_sha1(const char *refname, unsigned char *sha1,
+static void fsck_handle_reflog_oid(const char *refname, struct object_id *oid,
 	unsigned long timestamp)
 {
 	struct object *obj;
 
-	if (!is_null_sha1(sha1)) {
-		obj = lookup_object(sha1);
-		if (obj) {
+	if (!is_null_oid(oid)) {
+		obj = lookup_object(oid->hash);
+		if (obj && (obj->flags & HAS_OBJ)) {
 			if (timestamp && name_objects)
 				add_decoration(fsck_walk_options.object_names,
 					obj,
@@ -408,13 +411,13 @@
 			obj->used = 1;
 			mark_object_reachable(obj);
 		} else {
-			error("%s: invalid reflog entry %s", refname, sha1_to_hex(sha1));
+			error("%s: invalid reflog entry %s", refname, oid_to_hex(oid));
 			errors_found |= ERROR_REACHABLE;
 		}
 	}
 }
 
-static int fsck_handle_reflog_ent(unsigned char *osha1, unsigned char *nsha1,
+static int fsck_handle_reflog_ent(struct object_id *ooid, struct object_id *noid,
 		const char *email, unsigned long timestamp, int tz,
 		const char *message, void *cb_data)
 {
@@ -422,10 +425,10 @@
 
 	if (verbose)
 		fprintf(stderr, "Checking reflog %s->%s\n",
-			sha1_to_hex(osha1), sha1_to_hex(nsha1));
+			oid_to_hex(ooid), oid_to_hex(noid));
 
-	fsck_handle_reflog_sha1(refname, osha1, 0);
-	fsck_handle_reflog_sha1(refname, nsha1, timestamp);
+	fsck_handle_reflog_oid(refname, ooid, 0);
+	fsck_handle_reflog_oid(refname, noid, timestamp);
 	return 0;
 }
 
@@ -488,9 +491,41 @@
 	}
 }
 
-static int fsck_loose(const unsigned char *sha1, const char *path, void *data)
+static struct object *parse_loose_object(const struct object_id *oid,
+					 const char *path)
 {
-	if (fsck_sha1(sha1))
+	struct object *obj;
+	void *contents;
+	enum object_type type;
+	unsigned long size;
+	int eaten;
+
+	if (read_loose_object(path, oid->hash, &type, &size, &contents) < 0)
+		return NULL;
+
+	if (!contents && type != OBJ_BLOB)
+		die("BUG: read_loose_object streamed a non-blob");
+
+	obj = parse_object_buffer(oid->hash, type, size, contents, &eaten);
+
+	if (!eaten)
+		free(contents);
+	return obj;
+}
+
+static int fsck_loose(const struct object_id *oid, const char *path, void *data)
+{
+	struct object *obj = parse_loose_object(oid, path);
+
+	if (!obj) {
+		errors_found |= ERROR_OBJECT;
+		error("%s: object corrupt or missing: %s",
+		      oid_to_hex(oid), path);
+		return 0; /* keep checking other objects */
+	}
+
+	obj->flags = HAS_OBJ;
+	if (fsck_obj(obj))
 		errors_found |= ERROR_OBJECT;
 	return 0;
 }
@@ -584,6 +619,29 @@
 	return err;
 }
 
+static void mark_object_for_connectivity(const struct object_id *oid)
+{
+	struct object *obj = lookup_unknown_object(oid->hash);
+	obj->flags |= HAS_OBJ;
+}
+
+static int mark_loose_for_connectivity(const struct object_id *oid,
+				       const char *path,
+				       void *data)
+{
+	mark_object_for_connectivity(oid);
+	return 0;
+}
+
+static int mark_packed_for_connectivity(const struct object_id *oid,
+					struct packed_git *pack,
+					uint32_t pos,
+					void *data)
+{
+	mark_object_for_connectivity(oid);
+	return 0;
+}
+
 static char const * const fsck_usage[] = {
 	N_("git fsck [<options>] [<object>...]"),
 	NULL
@@ -640,38 +698,41 @@
 	git_config(fsck_config, NULL);
 
 	fsck_head_link();
-	if (!connectivity_only) {
+	if (connectivity_only) {
+		for_each_loose_object(mark_loose_for_connectivity, NULL, 0);
+		for_each_packed_object(mark_packed_for_connectivity, NULL, 0);
+	} else {
 		fsck_object_dir(get_object_directory());
 
 		prepare_alt_odb();
 		for (alt = alt_odb_list; alt; alt = alt->next)
 			fsck_object_dir(alt->path);
-	}
 
-	if (check_full) {
-		struct packed_git *p;
-		uint32_t total = 0, count = 0;
-		struct progress *progress = NULL;
+		if (check_full) {
+			struct packed_git *p;
+			uint32_t total = 0, count = 0;
+			struct progress *progress = NULL;
 
-		prepare_packed_git();
+			prepare_packed_git();
 
-		if (show_progress) {
-			for (p = packed_git; p; p = p->next) {
-				if (open_pack_index(p))
-					continue;
-				total += p->num_objects;
+			if (show_progress) {
+				for (p = packed_git; p; p = p->next) {
+					if (open_pack_index(p))
+						continue;
+					total += p->num_objects;
+				}
+
+				progress = start_progress(_("Checking objects"), total);
 			}
-
-			progress = start_progress(_("Checking objects"), total);
+			for (p = packed_git; p; p = p->next) {
+				/* verify gives error messages itself */
+				if (verify_pack(p, fsck_obj_buffer,
+						progress, count))
+					errors_found |= ERROR_PACK;
+				count += p->num_objects;
+			}
+			stop_progress(&progress);
 		}
-		for (p = packed_git; p; p = p->next) {
-			/* verify gives error messages itself */
-			if (verify_pack(p, fsck_obj_buffer,
-					progress, count))
-				errors_found |= ERROR_PACK;
-			count += p->num_objects;
-		}
-		stop_progress(&progress);
 	}
 
 	heads = 0;
@@ -681,9 +742,11 @@
 		if (!get_sha1(arg, sha1)) {
 			struct object *obj = lookup_object(sha1);
 
-			/* Error is printed by lookup_object(). */
-			if (!obj)
+			if (!obj || !(obj->flags & HAS_OBJ)) {
+				error("%s: object missing", sha1_to_hex(sha1));
+				errors_found |= ERROR_OBJECT;
 				continue;
+			}
 
 			obj->used = 1;
 			if (name_objects)
@@ -694,6 +757,7 @@
 			continue;
 		}
 		error("invalid parameter: expected sha1, got '%s'", arg);
+		errors_found |= ERROR_OBJECT;
 	}
 
 	/*
@@ -701,7 +765,7 @@
 	 * default ones from .git/refs. We also consider the index file
 	 * in this case (ie this implies --cache).
 	 */
-	if (!heads) {
+	if (!argc) {
 		get_default_heads();
 		keep_cache_objects = 1;
 	}
diff --git a/builtin/gc.c b/builtin/gc.c
index 331f219..2daede7 100644
--- a/builtin/gc.c
+++ b/builtin/gc.c
@@ -33,6 +33,8 @@
 static int gc_auto_threshold = 6700;
 static int gc_auto_pack_limit = 50;
 static int detach_auto = 1;
+static unsigned long gc_log_expire_time;
+static const char *gc_log_expire = "1.day.ago";
 static const char *prune_expire = "2.weeks.ago";
 static const char *prune_worktrees_expire = "3.months.ago";
 
@@ -62,24 +64,31 @@
 		string_list_append(&pack_garbage, path);
 }
 
-static void git_config_date_string(const char *key, const char **output)
-{
-	if (git_config_get_string_const(key, output))
-		return;
-	if (strcmp(*output, "now")) {
-		unsigned long now = approxidate("now");
-		if (approxidate(*output) >= now)
-			git_die_config(key, _("Invalid %s: '%s'"), key, *output);
-	}
-}
-
 static void process_log_file(void)
 {
 	struct stat st;
-	if (!fstat(get_lock_file_fd(&log_lock), &st) && st.st_size)
+	if (fstat(get_lock_file_fd(&log_lock), &st)) {
+		/*
+		 * Perhaps there was an i/o error or another
+		 * unlikely situation.  Try to make a note of
+		 * this in gc.log along with any existing
+		 * messages.
+		 */
+		int saved_errno = errno;
+		fprintf(stderr, _("Failed to fstat %s: %s"),
+			get_tempfile_path(&log_lock.tempfile),
+			strerror(saved_errno));
+		fflush(stderr);
 		commit_lock_file(&log_lock);
-	else
+		errno = saved_errno;
+	} else if (st.st_size) {
+		/* There was some error recorded in the lock file */
+		commit_lock_file(&log_lock);
+	} else {
+		/* No error, clean up any old gc.log */
+		unlink(git_path("gc.log"));
 		rollback_lock_file(&log_lock);
+	}
 }
 
 static void process_log_file_at_exit(void)
@@ -111,8 +120,10 @@
 	git_config_get_int("gc.auto", &gc_auto_threshold);
 	git_config_get_int("gc.autopacklimit", &gc_auto_pack_limit);
 	git_config_get_bool("gc.autodetach", &detach_auto);
-	git_config_date_string("gc.pruneexpire", &prune_expire);
-	git_config_date_string("gc.worktreepruneexpire", &prune_worktrees_expire);
+	git_config_get_expiry("gc.pruneexpire", &prune_expire);
+	git_config_get_expiry("gc.worktreepruneexpire", &prune_worktrees_expire);
+	git_config_get_expiry("gc.logexpiry", &gc_log_expire);
+
 	git_config(git_default_config, NULL);
 }
 
@@ -124,8 +135,6 @@
 	 * distributed, we can check only one and get a reasonable
 	 * estimate.
 	 */
-	char path[PATH_MAX];
-	const char *objdir = get_object_directory();
 	DIR *dir;
 	struct dirent *ent;
 	int auto_threshold;
@@ -135,11 +144,7 @@
 	if (gc_auto_threshold <= 0)
 		return 0;
 
-	if (sizeof(path) <= snprintf(path, sizeof(path), "%s/17", objdir)) {
-		warning(_("insanely long object directory %.*s"), 50, objdir);
-		return 0;
-	}
-	dir = opendir(path);
+	dir = opendir(git_path("objects/17"));
 	if (!dir)
 		return 0;
 
@@ -290,19 +295,34 @@
 static int report_last_gc_error(void)
 {
 	struct strbuf sb = STRBUF_INIT;
-	int ret;
+	int ret = 0;
+	struct stat st;
+	char *gc_log_path = git_pathdup("gc.log");
 
-	ret = strbuf_read_file(&sb, git_path("gc.log"), 0);
+	if (stat(gc_log_path, &st)) {
+		if (errno == ENOENT)
+			goto done;
+
+		ret = error_errno(_("Can't stat %s"), gc_log_path);
+		goto done;
+	}
+
+	if (st.st_mtime < gc_log_expire_time)
+		goto done;
+
+	ret = strbuf_read_file(&sb, gc_log_path, 0);
 	if (ret > 0)
-		return error(_("The last gc run reported the following. "
+		ret = error(_("The last gc run reported the following. "
 			       "Please correct the root cause\n"
 			       "and remove %s.\n"
 			       "Automatic cleanup will not be performed "
 			       "until the file is removed.\n\n"
 			       "%s"),
-			     git_path("gc.log"), sb.buf);
+			    gc_log_path, sb.buf);
 	strbuf_release(&sb);
-	return 0;
+done:
+	free(gc_log_path);
+	return ret;
 }
 
 static int gc_before_repack(void)
@@ -349,7 +369,10 @@
 	argv_array_pushl(&prune_worktrees, "worktree", "prune", "--expire", NULL);
 	argv_array_pushl(&rerere, "rerere", "gc", NULL);
 
+	/* default expiry time, overwritten in gc_config */
 	gc_config();
+	if (parse_expiry_date(gc_log_expire, &gc_log_expire_time))
+		die(_("Failed to parse gc.logexpiry value %s"), gc_log_expire);
 
 	if (pack_refs < 0)
 		pack_refs = !is_bare_repository();
@@ -448,5 +471,8 @@
 		warning(_("There are too many unreachable loose objects; "
 			"run 'git prune' to remove them."));
 
+	if (!daemonized)
+		unlink(git_path("gc.log"));
+
 	return 0;
 }
diff --git a/builtin/grep.c b/builtin/grep.c
index 8887b6a..3ffb5b4 100644
--- a/builtin/grep.c
+++ b/builtin/grep.c
@@ -18,12 +18,22 @@
 #include "quote.h"
 #include "dir.h"
 #include "pathspec.h"
+#include "submodule.h"
+#include "submodule-config.h"
 
 static char const * const grep_usage[] = {
 	N_("git grep [<options>] [-e] <pattern> [<rev>...] [[--] <path>...]"),
 	NULL
 };
 
+static const char *super_prefix;
+static int recurse_submodules;
+static struct argv_array submodule_options = ARGV_ARRAY_INIT;
+static const char *parent_basename;
+
+static int grep_submodule_launch(struct grep_opt *opt,
+				 const struct grep_source *gs);
+
 #define GREP_NUM_THREADS_DEFAULT 8
 static int num_threads;
 
@@ -174,7 +184,10 @@
 			break;
 
 		opt->output_priv = w;
-		hit |= grep_source(opt, &w->source);
+		if (w->source.type == GREP_SOURCE_SUBMODULE)
+			hit |= grep_submodule_launch(opt, &w->source);
+		else
+			hit |= grep_source(opt, &w->source);
 		grep_source_clear_data(&w->source);
 		work_done(w);
 	}
@@ -281,32 +294,40 @@
 	return st;
 }
 
-static void *lock_and_read_sha1_file(const unsigned char *sha1, enum object_type *type, unsigned long *size)
+static void *lock_and_read_oid_file(const struct object_id *oid, enum object_type *type, unsigned long *size)
 {
 	void *data;
 
 	grep_read_lock();
-	data = read_sha1_file(sha1, type, size);
+	data = read_sha1_file(oid->hash, type, size);
 	grep_read_unlock();
 	return data;
 }
 
-static int grep_sha1(struct grep_opt *opt, const unsigned char *sha1,
+static int grep_oid(struct grep_opt *opt, const struct object_id *oid,
 		     const char *filename, int tree_name_len,
 		     const char *path)
 {
 	struct strbuf pathbuf = STRBUF_INIT;
 
-	if (opt->relative && opt->prefix_length) {
-		quote_path_relative(filename + tree_name_len, opt->prefix, &pathbuf);
-		strbuf_insert(&pathbuf, 0, filename, tree_name_len);
+	if (super_prefix) {
+		strbuf_add(&pathbuf, filename, tree_name_len);
+		strbuf_addstr(&pathbuf, super_prefix);
+		strbuf_addstr(&pathbuf, filename + tree_name_len);
 	} else {
 		strbuf_addstr(&pathbuf, filename);
 	}
 
+	if (opt->relative && opt->prefix_length) {
+		char *name = strbuf_detach(&pathbuf, NULL);
+		quote_path_relative(name + tree_name_len, opt->prefix, &pathbuf);
+		strbuf_insert(&pathbuf, 0, name, tree_name_len);
+		free(name);
+	}
+
 #ifndef NO_PTHREADS
 	if (num_threads) {
-		add_work(opt, GREP_SOURCE_SHA1, pathbuf.buf, path, sha1);
+		add_work(opt, GREP_SOURCE_SHA1, pathbuf.buf, path, oid);
 		strbuf_release(&pathbuf);
 		return 0;
 	} else
@@ -315,7 +336,7 @@
 		struct grep_source gs;
 		int hit;
 
-		grep_source_init(&gs, GREP_SOURCE_SHA1, pathbuf.buf, path, sha1);
+		grep_source_init(&gs, GREP_SOURCE_SHA1, pathbuf.buf, path, oid);
 		strbuf_release(&pathbuf);
 		hit = grep_source(opt, &gs);
 
@@ -328,10 +349,15 @@
 {
 	struct strbuf buf = STRBUF_INIT;
 
-	if (opt->relative && opt->prefix_length)
-		quote_path_relative(filename, opt->prefix, &buf);
-	else
-		strbuf_addstr(&buf, filename);
+	if (super_prefix)
+		strbuf_addstr(&buf, super_prefix);
+	strbuf_addstr(&buf, filename);
+
+	if (opt->relative && opt->prefix_length) {
+		char *name = strbuf_detach(&buf, NULL);
+		quote_path_relative(name, opt->prefix, &buf);
+		free(name);
+	}
 
 #ifndef NO_PTHREADS
 	if (num_threads) {
@@ -378,31 +404,310 @@
 		exit(status);
 }
 
-static int grep_cache(struct grep_opt *opt, const struct pathspec *pathspec, int cached)
+static void compile_submodule_options(const struct grep_opt *opt,
+				      const char **argv,
+				      int cached, int untracked,
+				      int opt_exclude, int use_index,
+				      int pattern_type_arg)
+{
+	struct grep_pat *pattern;
+
+	if (recurse_submodules)
+		argv_array_push(&submodule_options, "--recurse-submodules");
+
+	if (cached)
+		argv_array_push(&submodule_options, "--cached");
+	if (!use_index)
+		argv_array_push(&submodule_options, "--no-index");
+	if (untracked)
+		argv_array_push(&submodule_options, "--untracked");
+	if (opt_exclude > 0)
+		argv_array_push(&submodule_options, "--exclude-standard");
+
+	if (opt->invert)
+		argv_array_push(&submodule_options, "-v");
+	if (opt->ignore_case)
+		argv_array_push(&submodule_options, "-i");
+	if (opt->word_regexp)
+		argv_array_push(&submodule_options, "-w");
+	switch (opt->binary) {
+	case GREP_BINARY_NOMATCH:
+		argv_array_push(&submodule_options, "-I");
+		break;
+	case GREP_BINARY_TEXT:
+		argv_array_push(&submodule_options, "-a");
+		break;
+	default:
+		break;
+	}
+	if (opt->allow_textconv)
+		argv_array_push(&submodule_options, "--textconv");
+	if (opt->max_depth != -1)
+		argv_array_pushf(&submodule_options, "--max-depth=%d",
+				 opt->max_depth);
+	if (opt->linenum)
+		argv_array_push(&submodule_options, "-n");
+	if (!opt->pathname)
+		argv_array_push(&submodule_options, "-h");
+	if (!opt->relative)
+		argv_array_push(&submodule_options, "--full-name");
+	if (opt->name_only)
+		argv_array_push(&submodule_options, "-l");
+	if (opt->unmatch_name_only)
+		argv_array_push(&submodule_options, "-L");
+	if (opt->null_following_name)
+		argv_array_push(&submodule_options, "-z");
+	if (opt->count)
+		argv_array_push(&submodule_options, "-c");
+	if (opt->file_break)
+		argv_array_push(&submodule_options, "--break");
+	if (opt->heading)
+		argv_array_push(&submodule_options, "--heading");
+	if (opt->pre_context)
+		argv_array_pushf(&submodule_options, "--before-context=%d",
+				 opt->pre_context);
+	if (opt->post_context)
+		argv_array_pushf(&submodule_options, "--after-context=%d",
+				 opt->post_context);
+	if (opt->funcname)
+		argv_array_push(&submodule_options, "-p");
+	if (opt->funcbody)
+		argv_array_push(&submodule_options, "-W");
+	if (opt->all_match)
+		argv_array_push(&submodule_options, "--all-match");
+	if (opt->debug)
+		argv_array_push(&submodule_options, "--debug");
+	if (opt->status_only)
+		argv_array_push(&submodule_options, "-q");
+
+	switch (pattern_type_arg) {
+	case GREP_PATTERN_TYPE_BRE:
+		argv_array_push(&submodule_options, "-G");
+		break;
+	case GREP_PATTERN_TYPE_ERE:
+		argv_array_push(&submodule_options, "-E");
+		break;
+	case GREP_PATTERN_TYPE_FIXED:
+		argv_array_push(&submodule_options, "-F");
+		break;
+	case GREP_PATTERN_TYPE_PCRE:
+		argv_array_push(&submodule_options, "-P");
+		break;
+	case GREP_PATTERN_TYPE_UNSPECIFIED:
+		break;
+	}
+
+	for (pattern = opt->pattern_list; pattern != NULL;
+	     pattern = pattern->next) {
+		switch (pattern->token) {
+		case GREP_PATTERN:
+			argv_array_pushf(&submodule_options, "-e%s",
+					 pattern->pattern);
+			break;
+		case GREP_AND:
+		case GREP_OPEN_PAREN:
+		case GREP_CLOSE_PAREN:
+		case GREP_NOT:
+		case GREP_OR:
+			argv_array_push(&submodule_options, pattern->pattern);
+			break;
+		/* BODY and HEAD are not used by git-grep */
+		case GREP_PATTERN_BODY:
+		case GREP_PATTERN_HEAD:
+			break;
+		}
+	}
+
+	/*
+	 * Limit number of threads for child process to use.
+	 * This is to prevent potential fork-bomb behavior of git-grep as each
+	 * submodule process has its own thread pool.
+	 */
+	argv_array_pushf(&submodule_options, "--threads=%d",
+			 (num_threads + 1) / 2);
+
+	/* Add Pathspecs */
+	argv_array_push(&submodule_options, "--");
+	for (; *argv; argv++)
+		argv_array_push(&submodule_options, *argv);
+}
+
+/*
+ * Launch child process to grep contents of a submodule
+ */
+static int grep_submodule_launch(struct grep_opt *opt,
+				 const struct grep_source *gs)
+{
+	struct child_process cp = CHILD_PROCESS_INIT;
+	int status, i;
+	const char *end_of_base;
+	const char *name;
+	struct strbuf child_output = STRBUF_INIT;
+
+	end_of_base = strchr(gs->name, ':');
+	if (gs->identifier && end_of_base)
+		name = end_of_base + 1;
+	else
+		name = gs->name;
+
+	prepare_submodule_repo_env(&cp.env_array);
+	argv_array_push(&cp.env_array, GIT_DIR_ENVIRONMENT);
+
+	if (opt->relative && opt->prefix_length)
+		argv_array_pushf(&cp.env_array, "%s=%s",
+				 GIT_TOPLEVEL_PREFIX_ENVIRONMENT,
+				 opt->prefix);
+
+	/* Add super prefix */
+	argv_array_pushf(&cp.args, "--super-prefix=%s%s/",
+			 super_prefix ? super_prefix : "",
+			 name);
+	argv_array_push(&cp.args, "grep");
+
+	/*
+	 * Add basename of parent project
+	 * When performing grep on a tree object the filename is prefixed
+	 * with the object's name: 'tree-name:filename'.  In order to
+	 * provide uniformity of output we want to pass the name of the
+	 * parent project's object name to the submodule so the submodule can
+	 * prefix its output with the parent's name and not its own SHA1.
+	 */
+	if (gs->identifier && end_of_base)
+		argv_array_pushf(&cp.args, "--parent-basename=%.*s",
+				 (int) (end_of_base - gs->name),
+				 gs->name);
+
+	/* Add options */
+	for (i = 0; i < submodule_options.argc; i++) {
+		/*
+		 * If there is a tree identifier for the submodule, add the
+		 * rev after adding the submodule options but before the
+		 * pathspecs.  To do this we listen for the '--' and insert the
+		 * sha1 before pushing the '--' onto the child process argv
+		 * array.
+		 */
+		if (gs->identifier &&
+		    !strcmp("--", submodule_options.argv[i])) {
+			argv_array_push(&cp.args, sha1_to_hex(gs->identifier));
+		}
+
+		argv_array_push(&cp.args, submodule_options.argv[i]);
+	}
+
+	cp.git_cmd = 1;
+	cp.dir = gs->path;
+
+	/*
+	 * Capture output to output buffer and check the return code from the
+	 * child process.  A '0' indicates a hit, a '1' indicates no hit and
+	 * anything else is an error.
+	 */
+	status = capture_command(&cp, &child_output, 0);
+	if (status && (status != 1)) {
+		/* flush the buffer */
+		write_or_die(1, child_output.buf, child_output.len);
+		die("process for submodule '%s' failed with exit code: %d",
+		    gs->name, status);
+	}
+
+	opt->output(opt, child_output.buf, child_output.len);
+	strbuf_release(&child_output);
+	/* invert the return code to make a hit equal to 1 */
+	return !status;
+}
+
+/*
+ * Prep grep structures for a submodule grep
+ * sha1: the sha1 of the submodule or NULL if using the working tree
+ * filename: name of the submodule including tree name of parent
+ * path: location of the submodule
+ */
+static int grep_submodule(struct grep_opt *opt, const unsigned char *sha1,
+			  const char *filename, const char *path)
+{
+	if (!is_submodule_initialized(path))
+		return 0;
+	if (!is_submodule_populated_gently(path, NULL)) {
+		/*
+		 * If searching history, check for the presense of the
+		 * submodule's gitdir before skipping the submodule.
+		 */
+		if (sha1) {
+			const struct submodule *sub =
+					submodule_from_path(null_sha1, path);
+			if (sub)
+				path = git_path("modules/%s", sub->name);
+
+			if (!(is_directory(path) && is_git_directory(path)))
+				return 0;
+		} else {
+			return 0;
+		}
+	}
+
+#ifndef NO_PTHREADS
+	if (num_threads) {
+		add_work(opt, GREP_SOURCE_SUBMODULE, filename, path, sha1);
+		return 0;
+	} else
+#endif
+	{
+		struct grep_source gs;
+		int hit;
+
+		grep_source_init(&gs, GREP_SOURCE_SUBMODULE,
+				 filename, path, sha1);
+		hit = grep_submodule_launch(opt, &gs);
+
+		grep_source_clear(&gs);
+		return hit;
+	}
+}
+
+static int grep_cache(struct grep_opt *opt, const struct pathspec *pathspec,
+		      int cached)
 {
 	int hit = 0;
 	int nr;
+	struct strbuf name = STRBUF_INIT;
+	int name_base_len = 0;
+	if (super_prefix) {
+		name_base_len = strlen(super_prefix);
+		strbuf_addstr(&name, super_prefix);
+	}
+
 	read_cache();
 
 	for (nr = 0; nr < active_nr; nr++) {
 		const struct cache_entry *ce = active_cache[nr];
-		if (!S_ISREG(ce->ce_mode))
+		strbuf_setlen(&name, name_base_len);
+		strbuf_addstr(&name, ce->name);
+
+		if (S_ISREG(ce->ce_mode) &&
+		    match_pathspec(pathspec, name.buf, name.len, 0, NULL,
+				   S_ISDIR(ce->ce_mode) ||
+				   S_ISGITLINK(ce->ce_mode))) {
+			/*
+			 * If CE_VALID is on, we assume worktree file and its
+			 * cache entry are identical, even if worktree file has
+			 * been modified, so use cache version instead
+			 */
+			if (cached || (ce->ce_flags & CE_VALID) ||
+			    ce_skip_worktree(ce)) {
+				if (ce_stage(ce) || ce_intent_to_add(ce))
+					continue;
+				hit |= grep_oid(opt, &ce->oid, ce->name,
+						 0, ce->name);
+			} else {
+				hit |= grep_file(opt, ce->name);
+			}
+		} else if (recurse_submodules && S_ISGITLINK(ce->ce_mode) &&
+			   submodule_path_match(pathspec, name.buf, NULL)) {
+			hit |= grep_submodule(opt, NULL, ce->name, ce->name);
+		} else {
 			continue;
-		if (!ce_path_match(ce, pathspec, NULL))
-			continue;
-		/*
-		 * If CE_VALID is on, we assume worktree file and its cache entry
-		 * are identical, even if worktree file has been modified, so use
-		 * cache version instead
-		 */
-		if (cached || (ce->ce_flags & CE_VALID) || ce_skip_worktree(ce)) {
-			if (ce_stage(ce) || ce_intent_to_add(ce))
-				continue;
-			hit |= grep_sha1(opt, ce->oid.hash, ce->name, 0,
-					 ce->name);
 		}
-		else
-			hit |= grep_file(opt, ce->name);
+
 		if (ce_stage(ce)) {
 			do {
 				nr++;
@@ -413,6 +718,8 @@
 		if (hit && opt->status_only)
 			break;
 	}
+
+	strbuf_release(&name);
 	return hit;
 }
 
@@ -424,12 +731,22 @@
 	enum interesting match = entry_not_interesting;
 	struct name_entry entry;
 	int old_baselen = base->len;
+	struct strbuf name = STRBUF_INIT;
+	int name_base_len = 0;
+	if (super_prefix) {
+		strbuf_addstr(&name, super_prefix);
+		name_base_len = name.len;
+	}
 
 	while (tree_entry(tree, &entry)) {
 		int te_len = tree_entry_len(&entry);
 
 		if (match != all_entries_interesting) {
-			match = tree_entry_interesting(&entry, base, tn_len, pathspec);
+			strbuf_addstr(&name, base->buf + tn_len);
+			match = tree_entry_interesting(&entry, &name,
+						       0, pathspec);
+			strbuf_setlen(&name, name_base_len);
+
 			if (match == all_entries_not_interesting)
 				break;
 			if (match == entry_not_interesting)
@@ -439,16 +756,15 @@
 		strbuf_add(base, entry.path, te_len);
 
 		if (S_ISREG(entry.mode)) {
-			hit |= grep_sha1(opt, entry.oid->hash, base->buf, tn_len,
+			hit |= grep_oid(opt, entry.oid, base->buf, tn_len,
 					 check_attr ? base->buf + tn_len : NULL);
-		}
-		else if (S_ISDIR(entry.mode)) {
+		} else if (S_ISDIR(entry.mode)) {
 			enum object_type type;
 			struct tree_desc sub;
 			void *data;
 			unsigned long size;
 
-			data = lock_and_read_sha1_file(entry.oid->hash, &type, &size);
+			data = lock_and_read_oid_file(entry.oid, &type, &size);
 			if (!data)
 				die(_("unable to read tree (%s)"),
 				    oid_to_hex(entry.oid));
@@ -458,12 +774,18 @@
 			hit |= grep_tree(opt, pathspec, &sub, base, tn_len,
 					 check_attr);
 			free(data);
+		} else if (recurse_submodules && S_ISGITLINK(entry.mode)) {
+			hit |= grep_submodule(opt, entry.oid->hash, base->buf,
+					      base->buf + tn_len);
 		}
+
 		strbuf_setlen(base, old_baselen);
 
 		if (hit && opt->status_only)
 			break;
 	}
+
+	strbuf_release(&name);
 	return hit;
 }
 
@@ -471,7 +793,7 @@
 		       struct object *obj, const char *name, const char *path)
 {
 	if (obj->type == OBJ_BLOB)
-		return grep_sha1(opt, obj->oid.hash, name, 0, path);
+		return grep_oid(opt, &obj->oid, name, 0, path);
 	if (obj->type == OBJ_COMMIT || obj->type == OBJ_TREE) {
 		struct tree_desc tree;
 		void *data;
@@ -487,6 +809,10 @@
 		if (!data)
 			die(_("unable to read tree (%s)"), oid_to_hex(&obj->oid));
 
+		/* Use parent's name as base when recursing submodules */
+		if (recurse_submodules && parent_basename)
+			name = parent_basename;
+
 		len = name ? strlen(name) : 0;
 		strbuf_init(&base, PATH_MAX + len + 1);
 		if (len) {
@@ -513,6 +839,12 @@
 	for (i = 0; i < nr; i++) {
 		struct object *real_obj;
 		real_obj = deref_tag(list->objects[i].item, NULL, 0);
+
+		/* load the gitmodules file for this rev */
+		if (recurse_submodules) {
+			submodule_free();
+			gitmodules_config_sha1(real_obj->oid.hash);
+		}
 		if (grep_object(opt, pathspec, real_obj, list->objects[i].name, list->objects[i].path)) {
 			hit = 1;
 			if (opt->status_only)
@@ -641,6 +973,7 @@
 	int dummy;
 	int use_index = 1;
 	int pattern_type_arg = GREP_PATTERN_TYPE_UNSPECIFIED;
+	int allow_revs;
 
 	struct option options[] = {
 		OPT_BOOL(0, "cached", &cached,
@@ -651,6 +984,11 @@
 			N_("search in both tracked and untracked files")),
 		OPT_SET_INT(0, "exclude-standard", &opt_exclude,
 			    N_("ignore files specified via '.gitignore'"), 1),
+		OPT_BOOL(0, "recurse-submodules", &recurse_submodules,
+			 N_("recursively search in each submodule")),
+		OPT_STRING(0, "parent-basename", &parent_basename,
+			   N_("basename"),
+			   N_("prepend parent project's basename to output")),
 		OPT_GROUP(""),
 		OPT_BOOL('v', "invert-match", &opt.invert,
 			N_("show non-matching lines")),
@@ -755,6 +1093,7 @@
 	init_grep_defaults();
 	git_config(grep_cmd_config, NULL);
 	grep_init(&opt, prefix);
+	super_prefix = get_super_prefix();
 
 	/*
 	 * If there is no -- then the paths must exist in the working
@@ -817,26 +1156,69 @@
 
 	compile_grep_patterns(&opt);
 
-	/* Check revs and then paths */
+	/*
+	 * We have to find "--" in a separate pass, because its presence
+	 * influences how we will parse arguments that come before it.
+	 */
+	for (i = 0; i < argc; i++) {
+		if (!strcmp(argv[i], "--")) {
+			seen_dashdash = 1;
+			break;
+		}
+	}
+
+	/*
+	 * Resolve any rev arguments. If we have a dashdash, then everything up
+	 * to it must resolve as a rev. If not, then we stop at the first
+	 * non-rev and assume everything else is a path.
+	 */
+	allow_revs = use_index && !untracked;
 	for (i = 0; i < argc; i++) {
 		const char *arg = argv[i];
-		unsigned char sha1[20];
+		struct object_id oid;
 		struct object_context oc;
-		/* Is it a rev? */
-		if (!get_sha1_with_context(arg, 0, sha1, &oc)) {
-			struct object *object = parse_object_or_die(sha1, arg);
-			if (!seen_dashdash)
-				verify_non_filename(prefix, arg);
-			add_object_array_with_path(object, arg, &list, oc.mode, oc.path);
-			continue;
-		}
+		struct object *object;
+
 		if (!strcmp(arg, "--")) {
 			i++;
-			seen_dashdash = 1;
+			break;
 		}
-		break;
+
+		if (!allow_revs) {
+			if (seen_dashdash)
+				die(_("--no-index or --untracked cannot be used with revs"));
+			break;
+		}
+
+		if (get_sha1_with_context(arg, 0, oid.hash, &oc)) {
+			if (seen_dashdash)
+				die(_("unable to resolve revision: %s"), arg);
+			break;
+		}
+
+		object = parse_object_or_die(oid.hash, arg);
+		if (!seen_dashdash)
+			verify_non_filename(prefix, arg);
+		add_object_array_with_path(object, arg, &list, oc.mode, oc.path);
 	}
 
+	/*
+	 * Anything left over is presumed to be a path. But in the non-dashdash
+	 * "do what I mean" case, we verify and complain when that isn't true.
+	 */
+	if (!seen_dashdash) {
+		int j;
+		for (j = i; j < argc; j++)
+			verify_filename(prefix, argv[j], j == i && allow_revs);
+	}
+
+	parse_pathspec(&pathspec, 0,
+		       PATHSPEC_PREFER_CWD |
+		       (opt.max_depth != -1 ? PATHSPEC_MAXDEPTH_VALID : 0),
+		       prefix, argv + i);
+	pathspec.max_depth = opt.max_depth;
+	pathspec.recursive = 1;
+
 #ifndef NO_PTHREADS
 	if (list.nr || cached || show_in_pager)
 		num_threads = 0;
@@ -858,20 +1240,13 @@
 	}
 #endif
 
-	/* The rest are paths */
-	if (!seen_dashdash) {
-		int j;
-		for (j = i; j < argc; j++)
-			verify_filename(prefix, argv[j], j == i);
+	if (recurse_submodules) {
+		gitmodules_config();
+		compile_submodule_options(&opt, argv + i, cached, untracked,
+					  opt_exclude, use_index,
+					  pattern_type_arg);
 	}
 
-	parse_pathspec(&pathspec, 0,
-		       PATHSPEC_PREFER_CWD |
-		       (opt.max_depth != -1 ? PATHSPEC_MAXDEPTH_VALID : 0),
-		       prefix, argv + i);
-	pathspec.max_depth = opt.max_depth;
-	pathspec.recursive = 1;
-
 	if (show_in_pager && (cached || list.nr))
 		die(_("--open-files-in-pager only works on the worktree"));
 
@@ -895,6 +1270,9 @@
 		}
 	}
 
+	if (recurse_submodules && (!use_index || untracked))
+		die(_("option not supported with --recurse-submodules."));
+
 	if (!show_in_pager && !opt.status_only)
 		setup_pager();
 
@@ -903,8 +1281,6 @@
 
 	if (!use_index || untracked) {
 		int use_exclude = (opt_exclude < 0) ? use_index : !!opt_exclude;
-		if (list.nr)
-			die(_("--no-index or --untracked cannot be used with revs."));
 		hit = grep_directory(&opt, &pathspec, use_exclude, use_index);
 	} else if (0 <= opt_exclude) {
 		die(_("--[no-]exclude-standard cannot be used for tracked contents."));
@@ -923,6 +1299,7 @@
 		hit |= wait_all();
 	if (hit && show_in_pager)
 		run_pager(&opt, prefix);
+	clear_pathspec(&pathspec);
 	free_grep_patterns(&opt);
 	return !hit;
 }
diff --git a/builtin/hash-object.c b/builtin/hash-object.c
index 9028e1f..bbeaf20 100644
--- a/builtin/hash-object.c
+++ b/builtin/hash-object.c
@@ -102,7 +102,6 @@
 		OPT_END()
 	};
 	int i;
-	int prefix_length = -1;
 	const char *errstr = NULL;
 
 	argc = parse_options(argc, argv, NULL, hash_object_options,
@@ -113,9 +112,8 @@
 	else
 		prefix = setup_git_directory_gently(&nongit);
 
-	prefix_length = prefix ? strlen(prefix) : 0;
 	if (vpath && prefix)
-		vpath = prefix_filename(prefix, prefix_length, vpath);
+		vpath = xstrdup(prefix_filename(prefix, vpath));
 
 	git_config(git_default_config, NULL);
 
@@ -144,11 +142,13 @@
 
 	for (i = 0 ; i < argc; i++) {
 		const char *arg = argv[i];
+		char *to_free = NULL;
 
-		if (0 <= prefix_length)
-			arg = prefix_filename(prefix, prefix_length, arg);
+		if (prefix)
+			arg = to_free = prefix_filename(prefix, arg);
 		hash_object(arg, type, no_filters ? NULL : vpath ? vpath : arg,
 			    flags, literally);
+		free(to_free);
 	}
 
 	if (stdin_paths)
diff --git a/builtin/index-pack.c b/builtin/index-pack.c
index f4b87c6..4ff567d 100644
--- a/builtin/index-pack.c
+++ b/builtin/index-pack.c
@@ -307,14 +307,15 @@
 	if (from_stdin) {
 		input_fd = 0;
 		if (!pack_name) {
-			static char tmp_file[PATH_MAX];
-			output_fd = odb_mkstemp(tmp_file, sizeof(tmp_file),
+			struct strbuf tmp_file = STRBUF_INIT;
+			output_fd = odb_mkstemp(&tmp_file,
 						"pack/tmp_pack_XXXXXX");
-			pack_name = xstrdup(tmp_file);
-		} else
+			pack_name = strbuf_detach(&tmp_file, NULL);
+		} else {
 			output_fd = open(pack_name, O_CREAT|O_EXCL|O_RDWR, 0600);
-		if (output_fd < 0)
-			die_errno(_("unable to create '%s'"), pack_name);
+			if (output_fd < 0)
+				die_errno(_("unable to create '%s'"), pack_name);
+		}
 		nothread_data.pack_fd = output_fd;
 	} else {
 		input_fd = open(pack_name, O_RDONLY);
@@ -809,6 +810,8 @@
 		unsigned long has_size;
 		read_lock();
 		has_type = sha1_object_info(sha1, &has_size);
+		if (has_type < 0)
+			die(_("cannot read existing object info %s"), sha1_to_hex(sha1));
 		if (has_type != type || has_size != size)
 			die(_("SHA1 COLLISION FOUND WITH %s !"), sha1_to_hex(sha1));
 		has_data = read_sha1_file(sha1, &has_type, &has_size);
@@ -1386,7 +1389,9 @@
 		  unsigned char *sha1)
 {
 	const char *report = "pack";
-	char name[PATH_MAX];
+	struct strbuf pack_name = STRBUF_INIT;
+	struct strbuf index_name = STRBUF_INIT;
+	struct strbuf keep_name_buf = STRBUF_INIT;
 	int err;
 
 	if (!from_stdin) {
@@ -1402,14 +1407,13 @@
 		int keep_fd, keep_msg_len = strlen(keep_msg);
 
 		if (!keep_name)
-			keep_fd = odb_pack_keep(name, sizeof(name), sha1);
-		else
-			keep_fd = open(keep_name, O_RDWR|O_CREAT|O_EXCL, 0600);
+			keep_name = odb_pack_name(&keep_name_buf, sha1, "keep");
 
+		keep_fd = odb_pack_keep(keep_name);
 		if (keep_fd < 0) {
 			if (errno != EEXIST)
 				die_errno(_("cannot write keep file '%s'"),
-					  keep_name ? keep_name : name);
+					  keep_name);
 		} else {
 			if (keep_msg_len > 0) {
 				write_or_die(keep_fd, keep_msg, keep_msg_len);
@@ -1417,28 +1421,22 @@
 			}
 			if (close(keep_fd) != 0)
 				die_errno(_("cannot close written keep file '%s'"),
-					  keep_name ? keep_name : name);
+					  keep_name);
 			report = "keep";
 		}
 	}
 
 	if (final_pack_name != curr_pack_name) {
-		if (!final_pack_name) {
-			snprintf(name, sizeof(name), "%s/pack/pack-%s.pack",
-				 get_object_directory(), sha1_to_hex(sha1));
-			final_pack_name = name;
-		}
+		if (!final_pack_name)
+			final_pack_name = odb_pack_name(&pack_name, sha1, "pack");
 		if (finalize_object_file(curr_pack_name, final_pack_name))
 			die(_("cannot store pack file"));
 	} else if (from_stdin)
 		chmod(final_pack_name, 0444);
 
 	if (final_index_name != curr_index_name) {
-		if (!final_index_name) {
-			snprintf(name, sizeof(name), "%s/pack/pack-%s.idx",
-				 get_object_directory(), sha1_to_hex(sha1));
-			final_index_name = name;
-		}
+		if (!final_index_name)
+			final_index_name = odb_pack_name(&index_name, sha1, "idx");
 		if (finalize_object_file(curr_index_name, final_index_name))
 			die(_("cannot store index file"));
 	} else
@@ -1447,10 +1445,11 @@
 	if (!from_stdin) {
 		printf("%s\n", sha1_to_hex(sha1));
 	} else {
-		char buf[48];
-		int len = snprintf(buf, sizeof(buf), "%s\t%s\n",
-				   report, sha1_to_hex(sha1));
-		write_or_die(1, buf, len);
+		struct strbuf buf = STRBUF_INIT;
+
+		strbuf_addf(&buf, "%s\t%s\n", report, sha1_to_hex(sha1));
+		write_or_die(1, buf.buf, buf.len);
+		strbuf_release(&buf);
 
 		/*
 		 * Let's just mimic git-unpack-objects here and write
@@ -1464,6 +1463,10 @@
 			input_offset += err;
 		}
 	}
+
+	strbuf_release(&index_name);
+	strbuf_release(&pack_name);
+	strbuf_release(&keep_name_buf);
 }
 
 static int git_index_pack_config(const char *k, const char *v, void *cb)
diff --git a/builtin/init-db.c b/builtin/init-db.c
index 2399b97..8a6acb0 100644
--- a/builtin/init-db.c
+++ b/builtin/init-db.c
@@ -262,7 +262,7 @@
 		const char *work_tree = get_git_work_tree();
 		git_config_set("core.bare", "false");
 		/* allow template config file to override the default */
-		if (log_all_ref_updates == -1)
+		if (log_all_ref_updates == LOG_REFS_UNSET)
 			git_config_set("core.logallrefupdates", "true");
 		if (needs_work_tree_config(original_git_dir, work_tree))
 			git_config_set("core.worktree", work_tree);
@@ -338,7 +338,7 @@
 {
 	int reinit;
 	int exist_ok = flags & INIT_DB_EXIST_OK;
-	char *original_git_dir = xstrdup(real_path(git_dir));
+	char *original_git_dir = real_pathdup(git_dir, 1);
 
 	if (real_git_dir) {
 		struct stat st;
@@ -489,7 +489,7 @@
 	argc = parse_options(argc, argv, prefix, init_db_options, init_db_usage, 0);
 
 	if (real_git_dir && !is_absolute_path(real_git_dir))
-		real_git_dir = xstrdup(real_path(real_git_dir));
+		real_git_dir = real_pathdup(real_git_dir, 1);
 
 	if (argc == 1) {
 		int mkdir_tried = 0;
@@ -560,7 +560,7 @@
 		const char *git_dir_parent = strrchr(git_dir, '/');
 		if (git_dir_parent) {
 			char *rel = xstrndup(git_dir, git_dir_parent - git_dir);
-			git_work_tree_cfg = xstrdup(real_path(rel));
+			git_work_tree_cfg = real_pathdup(rel, 1);
 			free(rel);
 		}
 		if (!git_work_tree_cfg)
diff --git a/builtin/log.c b/builtin/log.c
index 55d20cc..b3b10cc 100644
--- a/builtin/log.c
+++ b/builtin/log.c
@@ -52,6 +52,11 @@
 	struct string_list args;
 };
 
+static int auto_decoration_style(void)
+{
+	return (isatty(1) || pager_in_use()) ? DECORATE_SHORT_REFS : 0;
+}
+
 static int parse_decoration_style(const char *var, const char *value)
 {
 	switch (git_config_maybe_bool(var, value)) {
@@ -67,7 +72,7 @@
 	else if (!strcmp(value, "short"))
 		return DECORATE_SHORT_REFS;
 	else if (!strcmp(value, "auto"))
-		return (isatty(1) || pager_in_use()) ? DECORATE_SHORT_REFS : 0;
+		return auto_decoration_style();
 	return -1;
 }
 
@@ -405,6 +410,8 @@
 		if (decoration_style < 0)
 			decoration_style = 0; /* maybe warn? */
 		return 0;
+	} else {
+		decoration_style = auto_decoration_style();
 	}
 	if (!strcmp(var, "log.showroot")) {
 		default_show_root = git_config_bool(var, value);
@@ -989,8 +996,7 @@
 	    open_next_file(NULL, rev->numbered_files ? NULL : "cover-letter", rev, quiet))
 		return;
 
-	log_write_email_headers(rev, head, &pp.subject, &pp.after_subject,
-				&need_8bit_cte);
+	log_write_email_headers(rev, head, &pp.after_subject, &need_8bit_cte);
 
 	for (i = 0; !need_8bit_cte && i < nr; i++) {
 		const char *buf = get_commit_buffer(list[i], NULL);
@@ -1005,6 +1011,8 @@
 	msg = body;
 	pp.fmt = CMIT_FMT_EMAIL;
 	pp.date_mode.type = DATE_RFC2822;
+	pp.rev = rev;
+	pp.print_email_subject = 1;
 	pp_user_info(&pp, NULL, &sb, committer, encoding);
 	pp_title_line(&pp, &msg, &sb, encoding, need_8bit_cte);
 	pp_remainder(&pp, &msg, &sb, 0);
@@ -1083,8 +1091,7 @@
 	if (!output_directory)
 		return prefix;
 
-	return xstrdup(prefix_filename(prefix, outdir_offset,
-				       output_directory));
+	return prefix_filename(prefix, output_directory);
 }
 
 static const char * const builtin_format_patch_usage[] = {
diff --git a/builtin/ls-files.c b/builtin/ls-files.c
index 1592290..d449e46 100644
--- a/builtin/ls-files.c
+++ b/builtin/ls-files.c
@@ -30,7 +30,7 @@
 static int debug_mode;
 static int show_eol;
 static int recurse_submodules;
-static struct argv_array submodules_options = ARGV_ARRAY_INIT;
+static struct argv_array submodule_options = ARGV_ARRAY_INIT;
 
 static const char *prefix;
 static const char *super_prefix;
@@ -172,20 +172,27 @@
 /*
  * Compile an argv_array with all of the options supported by --recurse_submodules
  */
-static void compile_submodule_options(const struct dir_struct *dir, int show_tag)
+static void compile_submodule_options(const char **argv,
+				      const struct dir_struct *dir,
+				      int show_tag)
 {
 	if (line_terminator == '\0')
-		argv_array_push(&submodules_options, "-z");
+		argv_array_push(&submodule_options, "-z");
 	if (show_tag)
-		argv_array_push(&submodules_options, "-t");
+		argv_array_push(&submodule_options, "-t");
 	if (show_valid_bit)
-		argv_array_push(&submodules_options, "-v");
+		argv_array_push(&submodule_options, "-v");
 	if (show_cached)
-		argv_array_push(&submodules_options, "--cached");
+		argv_array_push(&submodule_options, "--cached");
 	if (show_eol)
-		argv_array_push(&submodules_options, "--eol");
+		argv_array_push(&submodule_options, "--eol");
 	if (debug_mode)
-		argv_array_push(&submodules_options, "--debug");
+		argv_array_push(&submodule_options, "--debug");
+
+	/* Add Pathspecs */
+	argv_array_push(&submodule_options, "--");
+	for (; *argv; argv++)
+		argv_array_push(&submodule_options, *argv);
 }
 
 /**
@@ -195,8 +202,11 @@
 {
 	struct child_process cp = CHILD_PROCESS_INIT;
 	int status;
-	int i;
 
+	if (prefix_len)
+		argv_array_pushf(&cp.env_array, "%s=%s",
+				 GIT_TOPLEVEL_PREFIX_ENVIRONMENT,
+				 prefix);
 	argv_array_pushf(&cp.args, "--super-prefix=%s%s/",
 			 super_prefix ? super_prefix : "",
 			 ce->name);
@@ -204,16 +214,7 @@
 	argv_array_push(&cp.args, "--recurse-submodules");
 
 	/* add supported options */
-	argv_array_pushv(&cp.args, submodules_options.argv);
-
-	/*
-	 * Pass in the original pathspec args.  The submodule will be
-	 * responsible for prepending the 'submodule_prefix' prior to comparing
-	 * against the pathspec for matches.
-	 */
-	argv_array_push(&cp.args, "--");
-	for (i = 0; i < pathspec.nr; i++)
-		argv_array_push(&cp.args, pathspec.items[i].original);
+	argv_array_pushv(&cp.args, submodule_options.argv);
 
 	cp.git_cmd = 1;
 	cp.dir = ce->name;
@@ -369,28 +370,30 @@
 /*
  * Prune the index to only contain stuff starting with "prefix"
  */
-static void prune_cache(const char *prefix)
+static void prune_cache(const char *prefix, size_t prefixlen)
 {
-	int pos = cache_name_pos(prefix, max_prefix_len);
+	int pos;
 	unsigned int first, last;
 
+	if (!prefix)
+		return;
+	pos = cache_name_pos(prefix, prefixlen);
 	if (pos < 0)
 		pos = -pos-1;
-	memmove(active_cache, active_cache + pos,
-		(active_nr - pos) * sizeof(struct cache_entry *));
-	active_nr -= pos;
-	first = 0;
+	first = pos;
 	last = active_nr;
 	while (last > first) {
 		int next = (last + first) >> 1;
 		const struct cache_entry *ce = active_cache[next];
-		if (!strncmp(ce->name, prefix, max_prefix_len)) {
+		if (!strncmp(ce->name, prefix, prefixlen)) {
 			first = next+1;
 			continue;
 		}
 		last = next;
 	}
-	active_nr = last;
+	memmove(active_cache, active_cache + pos,
+		(last - pos) * sizeof(struct cache_entry *));
+	active_nr = last - pos;
 }
 
 /*
@@ -602,7 +605,7 @@
 		setup_work_tree();
 
 	if (recurse_submodules)
-		compile_submodule_options(&dir, show_tag);
+		compile_submodule_options(argv, &dir, show_tag);
 
 	if (recurse_submodules &&
 	    (show_stage || show_deleted || show_others || show_unmerged ||
@@ -641,8 +644,7 @@
 	      show_killed || show_modified || show_resolve_undo))
 		show_cached = 1;
 
-	if (max_prefix)
-		prune_cache(max_prefix);
+	prune_cache(max_prefix, max_prefix_len);
 	if (with_tree) {
 		/*
 		 * Basic sanity check; show-stages and show-unmerged
diff --git a/builtin/ls-remote.c b/builtin/ls-remote.c
index 66cdd45..b2d7d5c 100644
--- a/builtin/ls-remote.c
+++ b/builtin/ls-remote.c
@@ -17,17 +17,19 @@
 static int tail_match(const char **pattern, const char *path)
 {
 	const char *p;
-	char pathbuf[PATH_MAX];
+	char *pathbuf;
 
 	if (!pattern)
 		return 1; /* no restriction */
 
-	if (snprintf(pathbuf, sizeof(pathbuf), "/%s", path) > sizeof(pathbuf))
-		return error("insanely long ref %.*s...", 20, path);
+	pathbuf = xstrfmt("/%s", path);
 	while ((p = *(pattern++)) != NULL) {
-		if (!wildmatch(p, pathbuf, 0, NULL))
+		if (!wildmatch(p, pathbuf, 0, NULL)) {
+			free(pathbuf);
 			return 1;
+		}
 	}
+	free(pathbuf);
 	return 0;
 }
 
diff --git a/builtin/ls-tree.c b/builtin/ls-tree.c
index 0e30d86..d7ebeb4 100644
--- a/builtin/ls-tree.c
+++ b/builtin/ls-tree.c
@@ -31,21 +31,18 @@
 
 static int show_recursive(const char *base, int baselen, const char *pathname)
 {
-	const char **s;
+	int i;
 
 	if (ls_options & LS_RECURSIVE)
 		return 1;
 
-	s = pathspec._raw;
-	if (!s)
+	if (!pathspec.nr)
 		return 0;
 
-	for (;;) {
-		const char *spec = *s++;
+	for (i = 0; i < pathspec.nr; i++) {
+		const char *spec = pathspec.items[i].match;
 		int len, speclen;
 
-		if (!spec)
-			return 0;
 		if (strncmp(base, spec, baselen))
 			continue;
 		len = strlen(pathname);
@@ -59,6 +56,7 @@
 			continue;
 		return 1;
 	}
+	return 0;
 }
 
 static int show_tree(const unsigned char *sha1, struct strbuf *base,
@@ -175,8 +173,8 @@
 	 * cannot be lifted until it is converted to use
 	 * match_pathspec() or tree_entry_interesting()
 	 */
-	parse_pathspec(&pathspec, PATHSPEC_GLOB | PATHSPEC_ICASE |
-				  PATHSPEC_EXCLUDE,
+	parse_pathspec(&pathspec, PATHSPEC_ALL_MAGIC &
+				  ~(PATHSPEC_FROMTOP | PATHSPEC_LITERAL),
 		       PATHSPEC_PREFER_CWD,
 		       prefix, argv + 1);
 	for (i = 0; i < pathspec.nr; i++)
diff --git a/builtin/mailinfo.c b/builtin/mailinfo.c
index e3b62f2..cfb667a 100644
--- a/builtin/mailinfo.c
+++ b/builtin/mailinfo.c
@@ -11,13 +11,6 @@
 static const char mailinfo_usage[] =
 	"git mailinfo [-k | -b] [-m | --message-id] [-u | --encoding=<encoding> | -n] [--scissors | --no-scissors] <msg> <patch> < mail >info";
 
-static char *prefix_copy(const char *prefix, const char *filename)
-{
-	if (!prefix || is_absolute_path(filename))
-		return xstrdup(filename);
-	return xstrdup(prefix_filename(prefix, strlen(prefix), filename));
-}
-
 int cmd_mailinfo(int argc, const char **argv, const char *prefix)
 {
 	const char *def_charset;
@@ -60,8 +53,8 @@
 	mi.input = stdin;
 	mi.output = stdout;
 
-	msgfile = prefix_copy(prefix, argv[1]);
-	patchfile = prefix_copy(prefix, argv[2]);
+	msgfile = prefix_filename(prefix, argv[1]);
+	patchfile = prefix_filename(prefix, argv[2]);
 
 	status = !!mailinfo(&mi, msgfile, patchfile);
 	clear_mailinfo(&mi);
diff --git a/builtin/merge-base.c b/builtin/merge-base.c
index b572a37..cfe2a79 100644
--- a/builtin/merge-base.c
+++ b/builtin/merge-base.c
@@ -36,12 +36,12 @@
 
 static struct commit *get_commit_reference(const char *arg)
 {
-	unsigned char revkey[20];
+	struct object_id revkey;
 	struct commit *r;
 
-	if (get_sha1(arg, revkey))
+	if (get_oid(arg, &revkey))
 		die("Not a valid object name %s", arg);
-	r = lookup_commit_reference(revkey);
+	r = lookup_commit_reference(revkey.hash);
 	if (!r)
 		die("Not a valid commit name %s", arg);
 
@@ -113,14 +113,14 @@
 	unsigned int initial : 1;
 };
 
-static void add_one_commit(unsigned char *sha1, struct rev_collect *revs)
+static void add_one_commit(struct object_id *oid, struct rev_collect *revs)
 {
 	struct commit *commit;
 
-	if (is_null_sha1(sha1))
+	if (is_null_oid(oid))
 		return;
 
-	commit = lookup_commit(sha1);
+	commit = lookup_commit(oid->hash);
 	if (!commit ||
 	    (commit->object.flags & TMP_MARK) ||
 	    parse_commit(commit))
@@ -131,7 +131,7 @@
 	commit->object.flags |= TMP_MARK;
 }
 
-static int collect_one_reflog_ent(unsigned char *osha1, unsigned char *nsha1,
+static int collect_one_reflog_ent(struct object_id *ooid, struct object_id *noid,
 				  const char *ident, unsigned long timestamp,
 				  int tz, const char *message, void *cbdata)
 {
@@ -139,15 +139,15 @@
 
 	if (revs->initial) {
 		revs->initial = 0;
-		add_one_commit(osha1, revs);
+		add_one_commit(ooid, revs);
 	}
-	add_one_commit(nsha1, revs);
+	add_one_commit(noid, revs);
 	return 0;
 }
 
 static int handle_fork_point(int argc, const char **argv)
 {
-	unsigned char sha1[20];
+	struct object_id oid;
 	char *refname;
 	const char *commitname;
 	struct rev_collect revs;
@@ -155,7 +155,7 @@
 	struct commit_list *bases;
 	int i, ret = 0;
 
-	switch (dwim_ref(argv[0], strlen(argv[0]), sha1, &refname)) {
+	switch (dwim_ref(argv[0], strlen(argv[0]), oid.hash, &refname)) {
 	case 0:
 		die("No such ref: '%s'", argv[0]);
 	case 1:
@@ -165,16 +165,16 @@
 	}
 
 	commitname = (argc == 2) ? argv[1] : "HEAD";
-	if (get_sha1(commitname, sha1))
+	if (get_oid(commitname, &oid))
 		die("Not a valid object name: '%s'", commitname);
 
-	derived = lookup_commit_reference(sha1);
+	derived = lookup_commit_reference(oid.hash);
 	memset(&revs, 0, sizeof(revs));
 	revs.initial = 1;
 	for_each_reflog_ent(refname, collect_one_reflog_ent, &revs);
 
-	if (!revs.nr && !get_sha1(refname, sha1))
-		add_one_commit(sha1, &revs);
+	if (!revs.nr && !get_oid(refname, &oid))
+		add_one_commit(&oid, &revs);
 
 	for (i = 0; i < revs.nr; i++)
 		revs.commit[i]->object.flags &= ~TMP_MARK;
diff --git a/builtin/merge-file.c b/builtin/merge-file.c
index 13e22a2..47dde7c 100644
--- a/builtin/merge-file.c
+++ b/builtin/merge-file.c
@@ -28,7 +28,6 @@
 	xmparam_t xmp = {{0}};
 	int ret = 0, i = 0, to_stdout = 0;
 	int quiet = 0;
-	int prefixlen = 0;
 	struct option options[] = {
 		OPT_BOOL('p', "stdout", &to_stdout, N_("send results to standard output")),
 		OPT_SET_INT(0, "diff3", &xmp.style, N_("use a diff3 based merge"), XDL_MERGE_DIFF3),
@@ -65,15 +64,19 @@
 			return error_errno("failed to redirect stderr to /dev/null");
 	}
 
-	if (prefix)
-		prefixlen = strlen(prefix);
-
 	for (i = 0; i < 3; i++) {
-		const char *fname = prefix_filename(prefix, prefixlen, argv[i]);
+		char *fname;
+		int ret;
+
 		if (!names[i])
 			names[i] = argv[i];
-		if (read_mmfile(mmfs + i, fname))
+
+		fname = prefix_filename(prefix, argv[i]);
+		ret = read_mmfile(mmfs + i, fname);
+		free(fname);
+		if (ret)
 			return -1;
+
 		if (mmfs[i].size > MAX_XDIFF_SIZE ||
 		    buffer_is_binary(mmfs[i].ptr, mmfs[i].size))
 			return error("Cannot merge binary files: %s",
@@ -90,7 +93,7 @@
 
 	if (ret >= 0) {
 		const char *filename = argv[0];
-		const char *fpath = prefix_filename(prefix, prefixlen, argv[0]);
+		char *fpath = prefix_filename(prefix, argv[0]);
 		FILE *f = to_stdout ? stdout : fopen(fpath, "wb");
 
 		if (!f)
@@ -102,6 +105,7 @@
 		else if (fclose(f))
 			ret = error_errno("Could not close %s", filename);
 		free(result.ptr);
+		free(fpath);
 	}
 
 	if (ret > 127)
diff --git a/builtin/merge-index.c b/builtin/merge-index.c
index ce356b1..c99443b 100644
--- a/builtin/merge-index.c
+++ b/builtin/merge-index.c
@@ -9,7 +9,7 @@
 {
 	int found;
 	const char *arguments[] = { pgm, "", "", "", path, "", "", "", NULL };
-	char hexbuf[4][GIT_SHA1_HEXSZ + 1];
+	char hexbuf[4][GIT_MAX_HEXSZ + 1];
 	char ownbuf[4][60];
 
 	if (pos >= active_nr)
@@ -22,7 +22,7 @@
 		if (strcmp(ce->name, path))
 			break;
 		found++;
-		sha1_to_hex_r(hexbuf[stage], ce->oid.hash);
+		oid_to_hex_r(hexbuf[stage], &ce->oid);
 		xsnprintf(ownbuf[stage], sizeof(ownbuf[stage]), "%o", ce->ce_mode);
 		arguments[stage] = hexbuf[stage];
 		arguments[stage + 4] = ownbuf[stage];
diff --git a/builtin/merge.c b/builtin/merge.c
index b65eeaa..703827f 100644
--- a/builtin/merge.c
+++ b/builtin/merge.c
@@ -44,8 +44,8 @@
 
 static const char * const builtin_merge_usage[] = {
 	N_("git merge [<options>] [<commit>...]"),
-	N_("git merge [<options>] <msg> HEAD <commit>"),
 	N_("git merge --abort"),
+	N_("git merge --continue"),
 	NULL
 };
 
@@ -65,6 +65,7 @@
 static int verbosity;
 static int allow_rerere_auto;
 static int abort_current_merge;
+static int continue_current_merge;
 static int allow_unrelated_histories;
 static int show_progress = -1;
 static int default_to_upstream = 1;
@@ -223,6 +224,8 @@
 	OPT__VERBOSITY(&verbosity),
 	OPT_BOOL(0, "abort", &abort_current_merge,
 		N_("abort the current in-progress merge")),
+	OPT_BOOL(0, "continue", &continue_current_merge,
+		N_("continue the current in-progress merge")),
 	OPT_BOOL(0, "allow-unrelated-histories", &allow_unrelated_histories,
 		 N_("allow merging unrelated histories")),
 	OPT_SET_INT(0, "progress", &show_progress, N_("force progress reporting"), 1),
@@ -240,7 +243,7 @@
 	unlink(git_path_merge_mode());
 }
 
-static int save_state(unsigned char *stash)
+static int save_state(struct object_id *stash)
 {
 	int len;
 	struct child_process cp = CHILD_PROCESS_INIT;
@@ -261,7 +264,7 @@
 	else if (!len)		/* no changes */
 		return -1;
 	strbuf_setlen(&buffer, buffer.len-1);
-	if (get_sha1(buffer.buf, stash))
+	if (get_oid(buffer.buf, stash))
 		die(_("not a valid object: %s"), buffer.buf);
 	return 0;
 }
@@ -301,18 +304,18 @@
 		die(_("read-tree failed"));
 }
 
-static void restore_state(const unsigned char *head,
-			  const unsigned char *stash)
+static void restore_state(const struct object_id *head,
+			  const struct object_id *stash)
 {
 	struct strbuf sb = STRBUF_INIT;
 	const char *args[] = { "stash", "apply", NULL, NULL };
 
-	if (is_null_sha1(stash))
+	if (is_null_oid(stash))
 		return;
 
-	reset_hard(head, 1);
+	reset_hard(head->hash, 1);
 
-	args[2] = sha1_to_hex(stash);
+	args[2] = oid_to_hex(stash);
 
 	/*
 	 * It is OK to ignore error here, for example when there was
@@ -372,10 +375,10 @@
 
 static void finish(struct commit *head_commit,
 		   struct commit_list *remoteheads,
-		   const unsigned char *new_head, const char *msg)
+		   const struct object_id *new_head, const char *msg)
 {
 	struct strbuf reflog_message = STRBUF_INIT;
-	const unsigned char *head = head_commit->object.oid.hash;
+	const struct object_id *head = &head_commit->object.oid;
 
 	if (!msg)
 		strbuf_addstr(&reflog_message, getenv("GIT_REFLOG_ACTION"));
@@ -393,7 +396,7 @@
 		else {
 			const char *argv_gc_auto[] = { "gc", "--auto", NULL };
 			update_ref(reflog_message.buf, "HEAD",
-				new_head, head, 0,
+				new_head->hash, head->hash, 0,
 				UPDATE_REFS_DIE_ON_ERR);
 			/*
 			 * We ignore errors in 'gc --auto', since the
@@ -412,7 +415,7 @@
 			DIFF_FORMAT_SUMMARY | DIFF_FORMAT_DIFFSTAT;
 		opts.detect_rename = DIFF_DETECT_RENAME;
 		diff_setup_done(&opts);
-		diff_tree_sha1(head, new_head, "", &opts);
+		diff_tree_sha1(head->hash, new_head->hash, "", &opts);
 		diffcore_std(&opts);
 		diff_flush(&opts);
 	}
@@ -427,35 +430,35 @@
 static void merge_name(const char *remote, struct strbuf *msg)
 {
 	struct commit *remote_head;
-	unsigned char branch_head[20];
+	struct object_id branch_head;
 	struct strbuf buf = STRBUF_INIT;
 	struct strbuf bname = STRBUF_INIT;
 	const char *ptr;
 	char *found_ref;
 	int len, early;
 
-	strbuf_branchname(&bname, remote);
+	strbuf_branchname(&bname, remote, 0);
 	remote = bname.buf;
 
-	memset(branch_head, 0, sizeof(branch_head));
+	oidclr(&branch_head);
 	remote_head = get_merge_parent(remote);
 	if (!remote_head)
 		die(_("'%s' does not point to a commit"), remote);
 
-	if (dwim_ref(remote, strlen(remote), branch_head, &found_ref) > 0) {
+	if (dwim_ref(remote, strlen(remote), branch_head.hash, &found_ref) > 0) {
 		if (starts_with(found_ref, "refs/heads/")) {
 			strbuf_addf(msg, "%s\t\tbranch '%s' of .\n",
-				    sha1_to_hex(branch_head), remote);
+				    oid_to_hex(&branch_head), remote);
 			goto cleanup;
 		}
 		if (starts_with(found_ref, "refs/tags/")) {
 			strbuf_addf(msg, "%s\t\ttag '%s' of .\n",
-				    sha1_to_hex(branch_head), remote);
+				    oid_to_hex(&branch_head), remote);
 			goto cleanup;
 		}
 		if (starts_with(found_ref, "refs/remotes/")) {
 			strbuf_addf(msg, "%s\t\tremote-tracking branch '%s' of .\n",
-				    sha1_to_hex(branch_head), remote);
+				    oid_to_hex(&branch_head), remote);
 			goto cleanup;
 		}
 	}
@@ -586,8 +589,8 @@
 	return git_diff_ui_config(k, v, cb);
 }
 
-static int read_tree_trivial(unsigned char *common, unsigned char *head,
-			     unsigned char *one)
+static int read_tree_trivial(struct object_id *common, struct object_id *head,
+			     struct object_id *one)
 {
 	int i, nr_trees = 0;
 	struct tree *trees[MAX_UNPACK_TREES];
@@ -602,13 +605,13 @@
 	opts.verbose_update = 1;
 	opts.trivial_merges_only = 1;
 	opts.merge = 1;
-	trees[nr_trees] = parse_tree_indirect(common);
+	trees[nr_trees] = parse_tree_indirect(common->hash);
 	if (!trees[nr_trees++])
 		return -1;
-	trees[nr_trees] = parse_tree_indirect(head);
+	trees[nr_trees] = parse_tree_indirect(head->hash);
 	if (!trees[nr_trees++])
 		return -1;
-	trees[nr_trees] = parse_tree_indirect(one);
+	trees[nr_trees] = parse_tree_indirect(one->hash);
 	if (!trees[nr_trees++])
 		return -1;
 	opts.fn = threeway_merge;
@@ -622,19 +625,20 @@
 	return 0;
 }
 
-static void write_tree_trivial(unsigned char *sha1)
+static void write_tree_trivial(struct object_id *oid)
 {
-	if (write_cache_as_tree(sha1, 0, NULL))
+	if (write_cache_as_tree(oid->hash, 0, NULL))
 		die(_("git write-tree failed to write a tree"));
 }
 
 static int try_merge_strategy(const char *strategy, struct commit_list *common,
 			      struct commit_list *remoteheads,
-			      struct commit *head, const char *head_arg)
+			      struct commit *head)
 {
 	static struct lock_file lock;
+	const char *head_arg = "HEAD";
 
-	hold_locked_index(&lock, 1);
+	hold_locked_index(&lock, LOCK_DIE_ON_ERROR);
 	refresh_cache(REFRESH_QUIET);
 	if (active_cache_changed &&
 	    write_locked_index(&the_index, &lock, COMMIT_LOCK))
@@ -671,7 +675,7 @@
 		for (j = common; j; j = j->next)
 			commit_list_insert(j->item, &reversed);
 
-		hold_locked_index(&lock, 1);
+		hold_locked_index(&lock, LOCK_DIE_ON_ERROR);
 		clean = merge_recursive(&o, head,
 				remoteheads->item, reversed, &result);
 		if (clean < 0)
@@ -777,26 +781,26 @@
 
 static int merge_trivial(struct commit *head, struct commit_list *remoteheads)
 {
-	unsigned char result_tree[20], result_commit[20];
+	struct object_id result_tree, result_commit;
 	struct commit_list *parents, **pptr = &parents;
 	static struct lock_file lock;
 
-	hold_locked_index(&lock, 1);
+	hold_locked_index(&lock, LOCK_DIE_ON_ERROR);
 	refresh_cache(REFRESH_QUIET);
 	if (active_cache_changed &&
 	    write_locked_index(&the_index, &lock, COMMIT_LOCK))
 		return error(_("Unable to write index."));
 	rollback_lock_file(&lock);
 
-	write_tree_trivial(result_tree);
+	write_tree_trivial(&result_tree);
 	printf(_("Wonderful.\n"));
 	pptr = commit_list_append(head, pptr);
 	pptr = commit_list_append(remoteheads->item, pptr);
 	prepare_to_commit(remoteheads);
-	if (commit_tree(merge_msg.buf, merge_msg.len, result_tree, parents,
-			result_commit, NULL, sign_commit))
+	if (commit_tree(merge_msg.buf, merge_msg.len, result_tree.hash, parents,
+			result_commit.hash, NULL, sign_commit))
 		die(_("failed to write commit object"));
-	finish(head, remoteheads, result_commit, "In-index merge");
+	finish(head, remoteheads, &result_commit, "In-index merge");
 	drop_save();
 	return 0;
 }
@@ -805,12 +809,12 @@
 			    int head_subsumed,
 			    struct commit_list *common,
 			    struct commit_list *remoteheads,
-			    unsigned char *result_tree,
+			    struct object_id *result_tree,
 			    const char *wt_strategy)
 {
 	struct commit_list *parents = NULL;
 	struct strbuf buf = STRBUF_INIT;
-	unsigned char result_commit[20];
+	struct object_id result_commit;
 
 	free_commit_list(common);
 	parents = remoteheads;
@@ -818,11 +822,11 @@
 		commit_list_insert(head, &parents);
 	strbuf_addch(&merge_msg, '\n');
 	prepare_to_commit(remoteheads);
-	if (commit_tree(merge_msg.buf, merge_msg.len, result_tree, parents,
-			result_commit, NULL, sign_commit))
+	if (commit_tree(merge_msg.buf, merge_msg.len, result_tree->hash, parents,
+			result_commit.hash, NULL, sign_commit))
 		die(_("failed to write commit object"));
 	strbuf_addf(&buf, "Merge made by the '%s' strategy.", wt_strategy);
-	finish(head, remoteheads, result_commit, buf.buf);
+	finish(head, remoteheads, &result_commit, buf.buf);
 	strbuf_release(&buf);
 	drop_save();
 	return 0;
@@ -849,24 +853,6 @@
 	return 1;
 }
 
-static struct commit *is_old_style_invocation(int argc, const char **argv,
-					      const unsigned char *head)
-{
-	struct commit *second_token = NULL;
-	if (argc > 2) {
-		unsigned char second_sha1[20];
-
-		if (get_sha1(argv[1], second_sha1))
-			return NULL;
-		second_token = lookup_commit_reference_gently(second_sha1, 0);
-		if (!second_token)
-			die(_("'%s' is not a commit"), argv[1]);
-		if (hashcmp(second_token->object.oid.hash, head))
-			return NULL;
-	}
-	return second_token;
-}
-
 static int evaluate_result(void)
 {
 	int cnt = 0;
@@ -1034,7 +1020,7 @@
 		die_errno(_("could not close '%s'"), filename);
 
 	for (pos = 0; pos < merge_names->len; pos = npos) {
-		unsigned char sha1[20];
+		struct object_id oid;
 		char *ptr;
 		struct commit *commit;
 
@@ -1044,16 +1030,16 @@
 		else
 			npos = merge_names->len;
 
-		if (npos - pos < 40 + 2 ||
-		    get_sha1_hex(merge_names->buf + pos, sha1))
+		if (npos - pos < GIT_SHA1_HEXSZ + 2 ||
+		    get_oid_hex(merge_names->buf + pos, &oid))
 			commit = NULL; /* bad */
-		else if (memcmp(merge_names->buf + pos + 40, "\t\t", 2))
+		else if (memcmp(merge_names->buf + pos + GIT_SHA1_HEXSZ, "\t\t", 2))
 			continue; /* not-for-merge */
 		else {
-			char saved = merge_names->buf[pos + 40];
-			merge_names->buf[pos + 40] = '\0';
+			char saved = merge_names->buf[pos + GIT_SHA1_HEXSZ];
+			merge_names->buf[pos + GIT_SHA1_HEXSZ] = '\0';
 			commit = get_merge_parent(merge_names->buf + pos);
-			merge_names->buf[pos + 40] = saved;
+			merge_names->buf[pos + GIT_SHA1_HEXSZ] = saved;
 		}
 		if (!commit) {
 			if (ptr)
@@ -1113,18 +1099,16 @@
 
 int cmd_merge(int argc, const char **argv, const char *prefix)
 {
-	unsigned char result_tree[20];
-	unsigned char stash[20];
-	unsigned char head_sha1[20];
+	struct object_id result_tree, stash, head_oid;
 	struct commit *head_commit;
 	struct strbuf buf = STRBUF_INIT;
-	const char *head_arg;
 	int i, ret = 0, head_subsumed;
 	int best_cnt = -1, merge_was_ok = 0, automerge_was_ok = 0;
 	struct commit_list *common = NULL;
 	const char *best_strategy = NULL, *wt_strategy = NULL;
 	struct commit_list *remoteheads, *p;
 	void *branch_to_free;
+	int orig_argc = argc;
 
 	if (argc == 2 && !strcmp(argv[1], "-h"))
 		usage_with_options(builtin_merge_usage, builtin_merge_options);
@@ -1133,13 +1117,13 @@
 	 * Check if we are _not_ on a detached HEAD, i.e. if there is a
 	 * current branch.
 	 */
-	branch = branch_to_free = resolve_refdup("HEAD", 0, head_sha1, NULL);
+	branch = branch_to_free = resolve_refdup("HEAD", 0, head_oid.hash, NULL);
 	if (branch && starts_with(branch, "refs/heads/"))
 		branch += 11;
-	if (!branch || is_null_sha1(head_sha1))
+	if (!branch || is_null_oid(&head_oid))
 		head_commit = NULL;
 	else
-		head_commit = lookup_commit_or_die(head_sha1, "HEAD");
+		head_commit = lookup_commit_or_die(head_oid.hash, "HEAD");
 
 	init_diff_ui_defaults();
 	git_config(git_merge_config, NULL);
@@ -1158,6 +1142,10 @@
 		int nargc = 2;
 		const char *nargv[] = {"reset", "--merge", NULL};
 
+		if (orig_argc != 2)
+			usage_msg_opt(_("--abort expects no arguments"),
+			      builtin_merge_usage, builtin_merge_options);
+
 		if (!file_exists(git_path_merge_head()))
 			die(_("There is no merge to abort (MERGE_HEAD missing)."));
 
@@ -1166,6 +1154,22 @@
 		goto done;
 	}
 
+	if (continue_current_merge) {
+		int nargc = 1;
+		const char *nargv[] = {"commit", NULL};
+
+		if (orig_argc != 2)
+			usage_msg_opt(_("--continue expects no arguments"),
+			      builtin_merge_usage, builtin_merge_options);
+
+		if (!file_exists(git_path_merge_head()))
+			die(_("There is no merge in progress (MERGE_HEAD missing)."));
+
+		/* Invoke 'git commit' */
+		ret = cmd_commit(nargc, nargv, prefix);
+		goto done;
+	}
+
 	if (read_cache_unmerged())
 		die_resolve_conflict("merge");
 
@@ -1217,7 +1221,7 @@
 		 * to forbid "git merge" into a branch yet to be born.
 		 * We do the same for "git pull".
 		 */
-		unsigned char *remote_head_sha1;
+		struct object_id *remote_head_oid;
 		if (squash)
 			die(_("Squash commit into empty head not supported yet"));
 		if (fast_forward == FF_NO)
@@ -1229,42 +1233,20 @@
 			die(_("%s - not something we can merge"), argv[0]);
 		if (remoteheads->next)
 			die(_("Can merge only exactly one commit into empty head"));
-		remote_head_sha1 = remoteheads->item->object.oid.hash;
-		read_empty(remote_head_sha1, 0);
-		update_ref("initial pull", "HEAD", remote_head_sha1,
+		remote_head_oid = &remoteheads->item->object.oid;
+		read_empty(remote_head_oid->hash, 0);
+		update_ref("initial pull", "HEAD", remote_head_oid->hash,
 			   NULL, 0, UPDATE_REFS_DIE_ON_ERR);
 		goto done;
 	}
 
 	/*
-	 * This could be traditional "merge <msg> HEAD <commit>..."  and
-	 * the way we can tell it is to see if the second token is HEAD,
-	 * but some people might have misused the interface and used a
-	 * commit-ish that is the same as HEAD there instead.
-	 * Traditional format never would have "-m" so it is an
-	 * additional safety measure to check for it.
+	 * All the rest are the commits being merged; prepare
+	 * the standard merge summary message to be appended
+	 * to the given message.
 	 */
-	if (!have_message &&
-	    is_old_style_invocation(argc, argv, head_commit->object.oid.hash)) {
-		warning("old-style 'git merge <msg> HEAD <commit>' is deprecated.");
-		strbuf_addstr(&merge_msg, argv[0]);
-		head_arg = argv[1];
-		argv += 2;
-		argc -= 2;
-		remoteheads = collect_parents(head_commit, &head_subsumed,
-					      argc, argv, NULL);
-	} else {
-		/* We are invoked directly as the first-class UI. */
-		head_arg = "HEAD";
-
-		/*
-		 * All the rest are the commits being merged; prepare
-		 * the standard merge summary message to be appended
-		 * to the given message.
-		 */
-		remoteheads = collect_parents(head_commit, &head_subsumed,
-					      argc, argv, &merge_msg);
-	}
+	remoteheads = collect_parents(head_commit, &head_subsumed,
+				      argc, argv, &merge_msg);
 
 	if (!head_commit || !argc)
 		usage_with_options(builtin_merge_usage,
@@ -1273,7 +1255,7 @@
 	if (verify_signatures) {
 		for (p = remoteheads; p; p = p->next) {
 			struct commit *commit = p->item;
-			char hex[GIT_SHA1_HEXSZ + 1];
+			char hex[GIT_MAX_HEXSZ + 1];
 			struct signature_check signature_check;
 			memset(&signature_check, 0, sizeof(signature_check));
 
@@ -1397,7 +1379,7 @@
 			goto done;
 		}
 
-		finish(head_commit, remoteheads, commit->object.oid.hash, msg.buf);
+		finish(head_commit, remoteheads, &commit->object.oid, msg.buf);
 		drop_save();
 		goto done;
 	} else if (!remoteheads->next && common->next)
@@ -1416,9 +1398,9 @@
 			/* See if it is really trivial. */
 			git_committer_info(IDENT_STRICT);
 			printf(_("Trying really trivial in-index merge...\n"));
-			if (!read_tree_trivial(common->item->object.oid.hash,
-					       head_commit->object.oid.hash,
-					       remoteheads->item->object.oid.hash)) {
+			if (!read_tree_trivial(&common->item->object.oid,
+					       &head_commit->object.oid,
+					       &remoteheads->item->object.oid)) {
 				ret = merge_trivial(head_commit, remoteheads);
 				goto done;
 			}
@@ -1470,14 +1452,14 @@
 	    /*
 	     * Stash away the local changes so that we can try more than one.
 	     */
-	    save_state(stash))
-		hashclr(stash);
+	    save_state(&stash))
+		oidclr(&stash);
 
 	for (i = 0; i < use_strategies_nr; i++) {
 		int ret;
 		if (i) {
 			printf(_("Rewinding the tree to pristine...\n"));
-			restore_state(head_commit->object.oid.hash, stash);
+			restore_state(&head_commit->object.oid, &stash);
 		}
 		if (use_strategies_nr != 1)
 			printf(_("Trying merge strategy %s...\n"),
@@ -1490,7 +1472,7 @@
 
 		ret = try_merge_strategy(use_strategies[i]->name,
 					 common, remoteheads,
-					 head_commit, head_arg);
+					 head_commit);
 		if (!option_commit && !ret) {
 			merge_was_ok = 1;
 			/*
@@ -1522,7 +1504,7 @@
 		}
 
 		/* Automerge succeeded. */
-		write_tree_trivial(result_tree);
+		write_tree_trivial(&result_tree);
 		automerge_was_ok = 1;
 		break;
 	}
@@ -1534,7 +1516,7 @@
 	if (automerge_was_ok) {
 		ret = finish_automerge(head_commit, head_subsumed,
 				       common, remoteheads,
-				       result_tree, wt_strategy);
+				       &result_tree, wt_strategy);
 		goto done;
 	}
 
@@ -1543,7 +1525,7 @@
 	 * it up.
 	 */
 	if (!best_strategy) {
-		restore_state(head_commit->object.oid.hash, stash);
+		restore_state(&head_commit->object.oid, &stash);
 		if (use_strategies_nr > 1)
 			fprintf(stderr,
 				_("No merge strategy handled the merge.\n"));
@@ -1556,11 +1538,11 @@
 		; /* We already have its result in the working tree. */
 	else {
 		printf(_("Rewinding the tree to pristine...\n"));
-		restore_state(head_commit->object.oid.hash, stash);
+		restore_state(&head_commit->object.oid, &stash);
 		printf(_("Using the %s to prepare resolving by hand.\n"),
 			best_strategy);
 		try_merge_strategy(best_strategy, common, remoteheads,
-				   head_commit, head_arg);
+				   head_commit);
 	}
 
 	if (squash)
diff --git a/builtin/mv.c b/builtin/mv.c
index 2f43877..61d2003 100644
--- a/builtin/mv.c
+++ b/builtin/mv.c
@@ -4,6 +4,7 @@
  * Copyright (C) 2006 Johannes Schindelin
  */
 #include "builtin.h"
+#include "pathspec.h"
 #include "lockfile.h"
 #include "dir.h"
 #include "cache-tree.h"
@@ -19,31 +20,42 @@
 #define DUP_BASENAME 1
 #define KEEP_TRAILING_SLASH 2
 
-static const char **internal_copy_pathspec(const char *prefix,
-					   const char **pathspec,
-					   int count, unsigned flags)
+static const char **internal_prefix_pathspec(const char *prefix,
+					     const char **pathspec,
+					     int count, unsigned flags)
 {
 	int i;
 	const char **result;
+	int prefixlen = prefix ? strlen(prefix) : 0;
 	ALLOC_ARRAY(result, count + 1);
-	COPY_ARRAY(result, pathspec, count);
-	result[count] = NULL;
+
+	/* Create an intermediate copy of the pathspec based on the flags */
 	for (i = 0; i < count; i++) {
-		int length = strlen(result[i]);
+		int length = strlen(pathspec[i]);
 		int to_copy = length;
+		char *it;
 		while (!(flags & KEEP_TRAILING_SLASH) &&
-		       to_copy > 0 && is_dir_sep(result[i][to_copy - 1]))
+		       to_copy > 0 && is_dir_sep(pathspec[i][to_copy - 1]))
 			to_copy--;
-		if (to_copy != length || flags & DUP_BASENAME) {
-			char *it = xmemdupz(result[i], to_copy);
-			if (flags & DUP_BASENAME) {
-				result[i] = xstrdup(basename(it));
-				free(it);
-			} else
-				result[i] = it;
+
+		it = xmemdupz(pathspec[i], to_copy);
+		if (flags & DUP_BASENAME) {
+			result[i] = xstrdup(basename(it));
+			free(it);
+		} else {
+			result[i] = it;
 		}
 	}
-	return get_pathspec(prefix, result);
+	result[count] = NULL;
+
+	/* Prefix the pathspec and free the old intermediate strings */
+	for (i = 0; i < count; i++) {
+		const char *match = prefix_path(prefix, prefixlen, result[i]);
+		free((char *) result[i]);
+		result[i] = match;
+	}
+
+	return result;
 }
 
 static const char *add_slash(const char *path)
@@ -126,11 +138,11 @@
 	if (--argc < 1)
 		usage_with_options(builtin_mv_usage, builtin_mv_options);
 
-	hold_locked_index(&lock_file, 1);
+	hold_locked_index(&lock_file, LOCK_DIE_ON_ERROR);
 	if (read_cache() < 0)
 		die(_("index file corrupt"));
 
-	source = internal_copy_pathspec(prefix, argv, argc, 0);
+	source = internal_prefix_pathspec(prefix, argv, argc, 0);
 	modes = xcalloc(argc, sizeof(enum update_mode));
 	/*
 	 * Keep trailing slash, needed to let
@@ -140,16 +152,16 @@
 	flags = KEEP_TRAILING_SLASH;
 	if (argc == 1 && is_directory(argv[0]) && !is_directory(argv[1]))
 		flags = 0;
-	dest_path = internal_copy_pathspec(prefix, argv + argc, 1, flags);
+	dest_path = internal_prefix_pathspec(prefix, argv + argc, 1, flags);
 	submodule_gitfile = xcalloc(argc, sizeof(char *));
 
 	if (dest_path[0][0] == '\0')
 		/* special case: "." was normalized to "" */
-		destination = internal_copy_pathspec(dest_path[0], argv, argc, DUP_BASENAME);
+		destination = internal_prefix_pathspec(dest_path[0], argv, argc, DUP_BASENAME);
 	else if (!lstat(dest_path[0], &st) &&
 			S_ISDIR(st.st_mode)) {
 		dest_path[0] = add_slash(dest_path[0]);
-		destination = internal_copy_pathspec(dest_path[0], argv, argc, DUP_BASENAME);
+		destination = internal_prefix_pathspec(dest_path[0], argv, argc, DUP_BASENAME);
 	} else {
 		if (argc != 1)
 			die(_("destination '%s' is not a directory"), dest_path[0]);
diff --git a/builtin/name-rev.c b/builtin/name-rev.c
index cd89d48..92a5d8a 100644
--- a/builtin/name-rev.c
+++ b/builtin/name-rev.c
@@ -108,7 +108,8 @@
 struct name_ref_data {
 	int tags_only;
 	int name_only;
-	const char *ref_filter;
+	struct string_list ref_filters;
+	struct string_list exclude_filters;
 };
 
 static struct tip_table {
@@ -150,18 +151,49 @@
 	if (data->tags_only && !starts_with(path, "refs/tags/"))
 		return 0;
 
-	if (data->ref_filter) {
-		switch (subpath_matches(path, data->ref_filter)) {
-		case -1: /* did not match */
-			return 0;
-		case 0:  /* matched fully */
-			break;
-		default: /* matched subpath */
-			can_abbreviate_output = 1;
-			break;
+	if (data->exclude_filters.nr) {
+		struct string_list_item *item;
+
+		for_each_string_list_item(item, &data->exclude_filters) {
+			if (subpath_matches(path, item->string) >= 0)
+				return 0;
 		}
 	}
 
+	if (data->ref_filters.nr) {
+		struct string_list_item *item;
+		int matched = 0;
+
+		/* See if any of the patterns match. */
+		for_each_string_list_item(item, &data->ref_filters) {
+			/*
+			 * Check all patterns even after finding a match, so
+			 * that we can see if a match with a subpath exists.
+			 * When a user asked for 'refs/tags/v*' and 'v1.*',
+			 * both of which match, the user is showing her
+			 * willingness to accept a shortened output by having
+			 * the 'v1.*' in the acceptable refnames, so we
+			 * shouldn't stop when seeing 'refs/tags/v1.4' matches
+			 * 'refs/tags/v*'.  We should show it as 'v1.4'.
+			 */
+			switch (subpath_matches(path, item->string)) {
+			case -1: /* did not match */
+				break;
+			case 0: /* matched fully */
+				matched = 1;
+				break;
+			default: /* matched subpath */
+				matched = 1;
+				can_abbreviate_output = 1;
+				break;
+			}
+		}
+
+		/* If none of the patterns matched, stop now */
+		if (!matched)
+			return 0;
+	}
+
 	add_to_tip_table(oid->hash, path, can_abbreviate_output);
 
 	while (o && o->type == OBJ_TAG) {
@@ -206,10 +238,9 @@
 	return NULL;
 }
 
-/* returns a static buffer */
-static const char *get_rev_name(const struct object *o)
+/* may return a constant string or use "buf" as scratch space */
+static const char *get_rev_name(const struct object *o, struct strbuf *buf)
 {
-	static char buffer[1024];
 	struct rev_name *n;
 	struct commit *c;
 
@@ -226,10 +257,9 @@
 		int len = strlen(n->tip_name);
 		if (len > 2 && !strcmp(n->tip_name + len - 2, "^0"))
 			len -= 2;
-		snprintf(buffer, sizeof(buffer), "%.*s~%d", len, n->tip_name,
-				n->generation);
-
-		return buffer;
+		strbuf_reset(buf);
+		strbuf_addf(buf, "%.*s~%d", len, n->tip_name, n->generation);
+		return buf->buf;
 	}
 }
 
@@ -239,10 +269,11 @@
 {
 	const char *name;
 	const struct object_id *oid = &obj->oid;
+	struct strbuf buf = STRBUF_INIT;
 
 	if (!name_only)
 		printf("%s ", caller_name ? caller_name : oid_to_hex(oid));
-	name = get_rev_name(obj);
+	name = get_rev_name(obj, &buf);
 	if (name)
 		printf("%s\n", name);
 	else if (allow_undefined)
@@ -251,6 +282,7 @@
 		printf("%s\n", find_unique_abbrev(oid->hash, DEFAULT_ABBREV));
 	else
 		die("cannot describe '%s'", oid_to_hex(oid));
+	strbuf_release(&buf);
 }
 
 static char const * const name_rev_usage[] = {
@@ -262,6 +294,7 @@
 
 static void name_rev_line(char *p, struct name_ref_data *data)
 {
+	struct strbuf buf = STRBUF_INIT;
 	int forty = 0;
 	char *p_start;
 	for (p_start = p; *p; p++) {
@@ -282,7 +315,7 @@
 				struct object *o =
 					lookup_object(sha1);
 				if (o)
-					name = get_rev_name(o);
+					name = get_rev_name(o, &buf);
 			}
 			*(p+1) = c;
 
@@ -300,18 +333,22 @@
 	/* flush */
 	if (p_start != p)
 		fwrite(p_start, p - p_start, 1, stdout);
+
+	strbuf_release(&buf);
 }
 
 int cmd_name_rev(int argc, const char **argv, const char *prefix)
 {
 	struct object_array revs = OBJECT_ARRAY_INIT;
 	int all = 0, transform_stdin = 0, allow_undefined = 1, always = 0, peel_tag = 0;
-	struct name_ref_data data = { 0, 0, NULL };
+	struct name_ref_data data = { 0, 0, STRING_LIST_INIT_NODUP, STRING_LIST_INIT_NODUP };
 	struct option opts[] = {
 		OPT_BOOL(0, "name-only", &data.name_only, N_("print only names (no SHA-1)")),
 		OPT_BOOL(0, "tags", &data.tags_only, N_("only use tags to name the commits")),
-		OPT_STRING(0, "refs", &data.ref_filter, N_("pattern"),
+		OPT_STRING_LIST(0, "refs", &data.ref_filters, N_("pattern"),
 				   N_("only use refs matching <pattern>")),
+		OPT_STRING_LIST(0, "exclude", &data.exclude_filters, N_("pattern"),
+				   N_("ignore refs matching <pattern>")),
 		OPT_GROUP(""),
 		OPT_BOOL(0, "all", &all, N_("list all commits reachable from all refs")),
 		OPT_BOOL(0, "stdin", &transform_stdin, N_("read from stdin")),
diff --git a/builtin/notes.c b/builtin/notes.c
index 5248a9b..7b89147 100644
--- a/builtin/notes.c
+++ b/builtin/notes.c
@@ -554,7 +554,7 @@
 	struct notes_tree *t;
 	unsigned char object[20], new_note[20];
 	const unsigned char *note;
-	char logmsg[100];
+	char *logmsg;
 	const char * const *usage;
 	struct note_data d = { 0, 0, NULL, STRBUF_INIT };
 	struct option options[] = {
@@ -618,17 +618,16 @@
 		write_note_data(&d, new_note);
 		if (add_note(t, object, new_note, combine_notes_overwrite))
 			die("BUG: combine_notes_overwrite failed");
-		snprintf(logmsg, sizeof(logmsg), "Notes added by 'git notes %s'",
-			argv[0]);
+		logmsg = xstrfmt("Notes added by 'git notes %s'", argv[0]);
 	} else {
 		fprintf(stderr, _("Removing note for object %s\n"),
 			sha1_to_hex(object));
 		remove_note(t, object);
-		snprintf(logmsg, sizeof(logmsg), "Notes removed by 'git notes %s'",
-			argv[0]);
+		logmsg = xstrfmt("Notes removed by 'git notes %s'", argv[0]);
 	}
 	commit_notes(t, logmsg);
 
+	free(logmsg);
 	free_note_data(&d);
 	free_notes(t);
 	return 0;
@@ -681,9 +680,9 @@
 	 * notes_merge_abort() to remove .git/NOTES_MERGE_WORKTREE.
 	 */
 
-	if (delete_ref("NOTES_MERGE_PARTIAL", NULL, 0))
+	if (delete_ref(NULL, "NOTES_MERGE_PARTIAL", NULL, 0))
 		ret += error(_("failed to delete ref NOTES_MERGE_PARTIAL"));
-	if (delete_ref("NOTES_MERGE_REF", NULL, REF_NODEREF))
+	if (delete_ref(NULL, "NOTES_MERGE_REF", NULL, REF_NODEREF))
 		ret += error(_("failed to delete ref NOTES_MERGE_REF"));
 	if (notes_merge_abort(o))
 		ret += error(_("failed to remove 'git notes merge' worktree"));
@@ -693,7 +692,7 @@
 static int merge_commit(struct notes_merge_options *o)
 {
 	struct strbuf msg = STRBUF_INIT;
-	unsigned char sha1[20], parent_sha1[20];
+	struct object_id oid, parent_oid;
 	struct notes_tree *t;
 	struct commit *partial;
 	struct pretty_print_context pretty_ctx;
@@ -705,27 +704,27 @@
 	 * and target notes ref from .git/NOTES_MERGE_REF.
 	 */
 
-	if (get_sha1("NOTES_MERGE_PARTIAL", sha1))
+	if (get_oid("NOTES_MERGE_PARTIAL", &oid))
 		die(_("failed to read ref NOTES_MERGE_PARTIAL"));
-	else if (!(partial = lookup_commit_reference(sha1)))
+	else if (!(partial = lookup_commit_reference(oid.hash)))
 		die(_("could not find commit from NOTES_MERGE_PARTIAL."));
 	else if (parse_commit(partial))
 		die(_("could not parse commit from NOTES_MERGE_PARTIAL."));
 
 	if (partial->parents)
-		hashcpy(parent_sha1, partial->parents->item->object.oid.hash);
+		oidcpy(&parent_oid, &partial->parents->item->object.oid);
 	else
-		hashclr(parent_sha1);
+		oidclr(&parent_oid);
 
 	t = xcalloc(1, sizeof(struct notes_tree));
 	init_notes(t, "NOTES_MERGE_PARTIAL", combine_notes_overwrite, 0);
 
 	o->local_ref = local_ref_to_free =
-		resolve_refdup("NOTES_MERGE_REF", 0, sha1, NULL);
+		resolve_refdup("NOTES_MERGE_REF", 0, oid.hash, NULL);
 	if (!o->local_ref)
 		die(_("failed to resolve NOTES_MERGE_REF"));
 
-	if (notes_merge_commit(o, t, partial, sha1))
+	if (notes_merge_commit(o, t, partial, oid.hash))
 		die(_("failed to finalize notes merge"));
 
 	/* Reuse existing commit message in reflog message */
@@ -733,8 +732,8 @@
 	format_commit_message(partial, "%s", &msg, &pretty_ctx);
 	strbuf_trim(&msg);
 	strbuf_insert(&msg, 0, "notes: ", 7);
-	update_ref(msg.buf, o->local_ref, sha1,
-		   is_null_sha1(parent_sha1) ? NULL : parent_sha1,
+	update_ref(msg.buf, o->local_ref, oid.hash,
+		   is_null_oid(&parent_oid) ? NULL : parent_oid.hash,
 		   0, UPDATE_REFS_DIE_ON_ERR);
 
 	free_notes(t);
diff --git a/builtin/pack-objects.c b/builtin/pack-objects.c
index 8841f8b..0fe35d1 100644
--- a/builtin/pack-objects.c
+++ b/builtin/pack-objects.c
@@ -239,7 +239,8 @@
 					   unsigned long limit, int usable_delta)
 {
 	unsigned long size, datalen;
-	unsigned char header[10], dheader[10];
+	unsigned char header[MAX_PACK_OBJECT_HEADER],
+		      dheader[MAX_PACK_OBJECT_HEADER];
 	unsigned hdrlen;
 	enum object_type type;
 	void *buf;
@@ -286,7 +287,8 @@
 	 * The object header is a byte of 'type' followed by zero or
 	 * more bytes of length.
 	 */
-	hdrlen = encode_in_pack_object_header(type, size, header);
+	hdrlen = encode_in_pack_object_header(header, sizeof(header),
+					      type, size);
 
 	if (type == OBJ_OFS_DELTA) {
 		/*
@@ -352,13 +354,15 @@
 	off_t offset;
 	enum object_type type = entry->type;
 	off_t datalen;
-	unsigned char header[10], dheader[10];
+	unsigned char header[MAX_PACK_OBJECT_HEADER],
+		      dheader[MAX_PACK_OBJECT_HEADER];
 	unsigned hdrlen;
 
 	if (entry->delta)
 		type = (allow_ofs_delta && entry->delta->idx.offset) ?
 			OBJ_OFS_DELTA : OBJ_REF_DELTA;
-	hdrlen = encode_in_pack_object_header(type, entry->size, header);
+	hdrlen = encode_in_pack_object_header(header, sizeof(header),
+					      type, entry->size);
 
 	offset = entry->in_pack_offset;
 	revidx = find_pack_revindex(p, offset);
@@ -894,24 +898,15 @@
 			written, nr_result);
 }
 
-static void setup_delta_attr_check(struct git_attr_check *check)
-{
-	static struct git_attr *attr_delta;
-
-	if (!attr_delta)
-		attr_delta = git_attr("delta");
-
-	check[0].attr = attr_delta;
-}
-
 static int no_try_delta(const char *path)
 {
-	struct git_attr_check check[1];
+	static struct attr_check *check;
 
-	setup_delta_attr_check(check);
-	if (git_check_attr(path, ARRAY_SIZE(check), check))
+	if (!check)
+		check = attr_check_initl("delta", NULL);
+	if (git_check_attr(path, check))
 		return 0;
-	if (ATTR_FALSE(check->value))
+	if (ATTR_FALSE(check->items[0].value))
 		return 1;
 	return 0;
 }
@@ -1539,6 +1534,8 @@
  *   2. Updating our size/type to the non-delta representation. These were
  *      either not recorded initially (size) or overwritten with the delta type
  *      (type) when check_object() decided to reuse the delta.
+ *
+ *   3. Resetting our delta depth, as we are now a base object.
  */
 static void drop_reused_delta(struct object_entry *entry)
 {
@@ -1552,6 +1549,7 @@
 			p = &(*p)->delta_sibling;
 	}
 	entry->delta = NULL;
+	entry->depth = 0;
 
 	oi.sizep = &entry->size;
 	oi.typep = &entry->type;
@@ -1570,39 +1568,123 @@
  * Follow the chain of deltas from this entry onward, throwing away any links
  * that cause us to hit a cycle (as determined by the DFS state flags in
  * the entries).
+ *
+ * We also detect too-long reused chains that would violate our --depth
+ * limit.
  */
 static void break_delta_chains(struct object_entry *entry)
 {
-	/* If it's not a delta, it can't be part of a cycle. */
-	if (!entry->delta) {
-		entry->dfs_state = DFS_DONE;
-		return;
+	/*
+	 * The actual depth of each object we will write is stored as an int,
+	 * as it cannot exceed our int "depth" limit. But before we break
+	 * changes based no that limit, we may potentially go as deep as the
+	 * number of objects, which is elsewhere bounded to a uint32_t.
+	 */
+	uint32_t total_depth;
+	struct object_entry *cur, *next;
+
+	for (cur = entry, total_depth = 0;
+	     cur;
+	     cur = cur->delta, total_depth++) {
+		if (cur->dfs_state == DFS_DONE) {
+			/*
+			 * We've already seen this object and know it isn't
+			 * part of a cycle. We do need to append its depth
+			 * to our count.
+			 */
+			total_depth += cur->depth;
+			break;
+		}
+
+		/*
+		 * We break cycles before looping, so an ACTIVE state (or any
+		 * other cruft which made its way into the state variable)
+		 * is a bug.
+		 */
+		if (cur->dfs_state != DFS_NONE)
+			die("BUG: confusing delta dfs state in first pass: %d",
+			    cur->dfs_state);
+
+		/*
+		 * Now we know this is the first time we've seen the object. If
+		 * it's not a delta, we're done traversing, but we'll mark it
+		 * done to save time on future traversals.
+		 */
+		if (!cur->delta) {
+			cur->dfs_state = DFS_DONE;
+			break;
+		}
+
+		/*
+		 * Mark ourselves as active and see if the next step causes
+		 * us to cycle to another active object. It's important to do
+		 * this _before_ we loop, because it impacts where we make the
+		 * cut, and thus how our total_depth counter works.
+		 * E.g., We may see a partial loop like:
+		 *
+		 *   A -> B -> C -> D -> B
+		 *
+		 * Cutting B->C breaks the cycle. But now the depth of A is
+		 * only 1, and our total_depth counter is at 3. The size of the
+		 * error is always one less than the size of the cycle we
+		 * broke. Commits C and D were "lost" from A's chain.
+		 *
+		 * If we instead cut D->B, then the depth of A is correct at 3.
+		 * We keep all commits in the chain that we examined.
+		 */
+		cur->dfs_state = DFS_ACTIVE;
+		if (cur->delta->dfs_state == DFS_ACTIVE) {
+			drop_reused_delta(cur);
+			cur->dfs_state = DFS_DONE;
+			break;
+		}
 	}
 
-	switch (entry->dfs_state) {
-	case DFS_NONE:
-		/*
-		 * This is the first time we've seen the object. We mark it as
-		 * part of the active potential cycle and recurse.
-		 */
-		entry->dfs_state = DFS_ACTIVE;
-		break_delta_chains(entry->delta);
-		entry->dfs_state = DFS_DONE;
-		break;
+	/*
+	 * And now that we've gone all the way to the bottom of the chain, we
+	 * need to clear the active flags and set the depth fields as
+	 * appropriate. Unlike the loop above, which can quit when it drops a
+	 * delta, we need to keep going to look for more depth cuts. So we need
+	 * an extra "next" pointer to keep going after we reset cur->delta.
+	 */
+	for (cur = entry; cur; cur = next) {
+		next = cur->delta;
 
-	case DFS_DONE:
-		/* object already examined, and not part of a cycle */
-		break;
-
-	case DFS_ACTIVE:
 		/*
-		 * We found a cycle that needs broken. It would be correct to
-		 * break any link in the chain, but it's convenient to
-		 * break this one.
+		 * We should have a chain of zero or more ACTIVE states down to
+		 * a final DONE. We can quit after the DONE, because either it
+		 * has no bases, or we've already handled them in a previous
+		 * call.
 		 */
-		drop_reused_delta(entry);
-		entry->dfs_state = DFS_DONE;
-		break;
+		if (cur->dfs_state == DFS_DONE)
+			break;
+		else if (cur->dfs_state != DFS_ACTIVE)
+			die("BUG: confusing delta dfs state in second pass: %d",
+			    cur->dfs_state);
+
+		/*
+		 * If the total_depth is more than depth, then we need to snip
+		 * the chain into two or more smaller chains that don't exceed
+		 * the maximum depth. Most of the resulting chains will contain
+		 * (depth + 1) entries (i.e., depth deltas plus one base), and
+		 * the last chain (i.e., the one containing entry) will contain
+		 * whatever entries are left over, namely
+		 * (total_depth % (depth + 1)) of them.
+		 *
+		 * Since we are iterating towards decreasing depth, we need to
+		 * decrement total_depth as we go, and we need to write to the
+		 * entry what its final depth will be after all of the
+		 * snipping. Since we're snipping into chains of length (depth
+		 * + 1) entries, the final depth of an entry will be its
+		 * original depth modulo (depth + 1). Any time we encounter an
+		 * entry whose final depth is supposed to be zero, we snip it
+		 * from its delta base, thereby making it so.
+		 */
+		cur->depth = (total_depth--) % (depth + 1);
+		if (!cur->depth)
+			drop_reused_delta(cur);
+
+		cur->dfs_state = DFS_DONE;
 	}
 }
 
@@ -2534,17 +2616,17 @@
 	free(in_pack.array);
 }
 
-static int add_loose_object(const unsigned char *sha1, const char *path,
+static int add_loose_object(const struct object_id *oid, const char *path,
 			    void *data)
 {
-	enum object_type type = sha1_object_info(sha1, NULL);
+	enum object_type type = sha1_object_info(oid->hash, NULL);
 
 	if (type < 0) {
 		warning("loose object at %s could not be examined", path);
 		return 0;
 	}
 
-	add_object_entry(sha1, type, "", 0);
+	add_object_entry(oid->hash, type, "", 0);
 	return 0;
 }
 
@@ -2590,16 +2672,16 @@
  *
  * This is filled by get_object_list.
  */
-static struct sha1_array recent_objects;
+static struct oid_array recent_objects;
 
-static int loosened_object_can_be_discarded(const unsigned char *sha1,
+static int loosened_object_can_be_discarded(const struct object_id *oid,
 					    unsigned long mtime)
 {
 	if (!unpack_unreachable_expiration)
 		return 0;
 	if (mtime > unpack_unreachable_expiration)
 		return 0;
-	if (sha1_array_lookup(&recent_objects, sha1) >= 0)
+	if (oid_array_lookup(&recent_objects, oid) >= 0)
 		return 0;
 	return 1;
 }
@@ -2608,7 +2690,7 @@
 {
 	struct packed_git *p;
 	uint32_t i;
-	const unsigned char *sha1;
+	struct object_id oid;
 
 	for (p = packed_git; p; p = p->next) {
 		if (!p->pack_local || p->pack_keep)
@@ -2618,11 +2700,11 @@
 			die("cannot open pack index");
 
 		for (i = 0; i < p->num_objects; i++) {
-			sha1 = nth_packed_object_sha1(p, i);
-			if (!packlist_find(&to_pack, sha1, NULL) &&
-			    !has_sha1_pack_kept_or_nonlocal(sha1) &&
-			    !loosened_object_can_be_discarded(sha1, p->mtime))
-				if (force_object_loose(sha1, p->mtime))
+			nth_packed_object_oid(&oid, p, i);
+			if (!packlist_find(&to_pack, oid.hash, NULL) &&
+			    !has_sha1_pack_kept_or_nonlocal(oid.hash) &&
+			    !loosened_object_can_be_discarded(&oid, p->mtime))
+				if (force_object_loose(oid.hash, p->mtime))
 					die("unable to force loose object");
 		}
 	}
@@ -2661,12 +2743,12 @@
 				 const char *name,
 				 void *data)
 {
-	sha1_array_append(&recent_objects, obj->oid.hash);
+	oid_array_append(&recent_objects, &obj->oid);
 }
 
 static void record_recent_commit(struct commit *commit, void *data)
 {
-	sha1_array_append(&recent_objects, commit->object.oid.hash);
+	oid_array_append(&recent_objects, &commit->object.oid);
 }
 
 static void get_object_list(int ac, const char **av)
@@ -2734,7 +2816,7 @@
 	if (unpack_unreachable)
 		loosen_unused_packed_objects(&revs);
 
-	sha1_array_clear(&recent_objects);
+	oid_array_clear(&recent_objects);
 }
 
 static int option_parse_index_version(const struct option *opt,
diff --git a/builtin/pack-refs.c b/builtin/pack-refs.c
index 39f9a55..b106a39 100644
--- a/builtin/pack-refs.c
+++ b/builtin/pack-refs.c
@@ -17,5 +17,5 @@
 	};
 	if (parse_options(argc, argv, prefix, opts, pack_refs_usage, 0))
 		usage_with_options(pack_refs_usage, opts);
-	return pack_refs(flags);
+	return refs_pack_refs(get_main_ref_store(), flags);
 }
diff --git a/builtin/patch-id.c b/builtin/patch-id.c
index a84d000..81552e0 100644
--- a/builtin/patch-id.c
+++ b/builtin/patch-id.c
@@ -55,7 +55,7 @@
 
 static void flush_one_hunk(struct object_id *result, git_SHA_CTX *ctx)
 {
-	unsigned char hash[GIT_SHA1_RAWSZ];
+	unsigned char hash[GIT_MAX_RAWSZ];
 	unsigned short carry = 0;
 	int i;
 
diff --git a/builtin/prune-packed.c b/builtin/prune-packed.c
index 7cf900e..c026299 100644
--- a/builtin/prune-packed.c
+++ b/builtin/prune-packed.c
@@ -19,12 +19,12 @@
 	return 0;
 }
 
-static int prune_object(const unsigned char *sha1, const char *path,
+static int prune_object(const struct object_id *oid, const char *path,
 			 void *data)
 {
 	int *opts = data;
 
-	if (!has_sha1_pack(sha1))
+	if (!has_sha1_pack(oid->hash))
 		return 0;
 
 	if (*opts & PRUNE_PACKED_DRY_RUN)
diff --git a/builtin/prune.c b/builtin/prune.c
index 8f4f052..42633e0 100644
--- a/builtin/prune.c
+++ b/builtin/prune.c
@@ -30,7 +30,7 @@
 	return 0;
 }
 
-static int prune_object(const unsigned char *sha1, const char *fullpath,
+static int prune_object(const struct object_id *oid, const char *fullpath,
 			void *data)
 {
 	struct stat st;
@@ -39,7 +39,7 @@
 	 * Do we know about this object?
 	 * It must have been reachable
 	 */
-	if (lookup_object(sha1))
+	if (lookup_object(oid->hash))
 		return 0;
 
 	if (lstat(fullpath, &st)) {
@@ -50,8 +50,8 @@
 	if (st.st_mtime > expire)
 		return 0;
 	if (show_only || verbose) {
-		enum object_type type = sha1_object_info(sha1, NULL);
-		printf("%s %s\n", sha1_to_hex(sha1),
+		enum object_type type = sha1_object_info(oid->hash, NULL);
+		printf("%s %s\n", oid_to_hex(oid),
 		       (type > 0) ? typename(type) : "unknown");
 	}
 	if (!show_only)
diff --git a/builtin/pull.c b/builtin/pull.c
index 3ecb881..d8aa26d 100644
--- a/builtin/pull.c
+++ b/builtin/pull.c
@@ -330,21 +330,21 @@
  * Appends merge candidates from FETCH_HEAD that are not marked not-for-merge
  * into merge_heads.
  */
-static void get_merge_heads(struct sha1_array *merge_heads)
+static void get_merge_heads(struct oid_array *merge_heads)
 {
 	const char *filename = git_path("FETCH_HEAD");
 	FILE *fp;
 	struct strbuf sb = STRBUF_INIT;
-	unsigned char sha1[GIT_SHA1_RAWSZ];
+	struct object_id oid;
 
 	if (!(fp = fopen(filename, "r")))
 		die_errno(_("could not open '%s' for reading"), filename);
 	while (strbuf_getline_lf(&sb, fp) != EOF) {
-		if (get_sha1_hex(sb.buf, sha1))
+		if (get_oid_hex(sb.buf, &oid))
 			continue;  /* invalid line: does not start with SHA1 */
 		if (starts_with(sb.buf + GIT_SHA1_HEXSZ, "\tnot-for-merge\t"))
 			continue;  /* ref is not-for-merge */
-		sha1_array_append(merge_heads, sha1);
+		oid_array_append(merge_heads, &oid);
 	}
 	fclose(fp);
 	strbuf_release(&sb);
@@ -514,8 +514,8 @@
 /**
  * "Pulls into void" by branching off merge_head.
  */
-static int pull_into_void(const unsigned char *merge_head,
-		const unsigned char *curr_head)
+static int pull_into_void(const struct object_id *merge_head,
+		const struct object_id *curr_head)
 {
 	/*
 	 * Two-way merge: we treat the index as based on an empty tree,
@@ -523,10 +523,10 @@
 	 * index/worktree changes that the user already made on the unborn
 	 * branch.
 	 */
-	if (checkout_fast_forward(EMPTY_TREE_SHA1_BIN, merge_head, 0))
+	if (checkout_fast_forward(EMPTY_TREE_SHA1_BIN, merge_head->hash, 0))
 		return 1;
 
-	if (update_ref("initial pull", "HEAD", merge_head, curr_head, 0, UPDATE_REFS_DIE_ON_ERR))
+	if (update_ref("initial pull", "HEAD", merge_head->hash, curr_head->hash, 0, UPDATE_REFS_DIE_ON_ERR))
 		return 1;
 
 	return 0;
@@ -647,7 +647,7 @@
  * current branch forked from its remote tracking branch. Returns 0 on success,
  * -1 on failure.
  */
-static int get_rebase_fork_point(unsigned char *fork_point, const char *repo,
+static int get_rebase_fork_point(struct object_id *fork_point, const char *repo,
 		const char *refspec)
 {
 	int ret;
@@ -678,7 +678,7 @@
 	if (ret)
 		goto cleanup;
 
-	ret = get_sha1_hex(sb.buf, fork_point);
+	ret = get_oid_hex(sb.buf, fork_point);
 	if (ret)
 		goto cleanup;
 
@@ -691,24 +691,24 @@
  * Sets merge_base to the octopus merge base of curr_head, merge_head and
  * fork_point. Returns 0 if a merge base is found, 1 otherwise.
  */
-static int get_octopus_merge_base(unsigned char *merge_base,
-		const unsigned char *curr_head,
-		const unsigned char *merge_head,
-		const unsigned char *fork_point)
+static int get_octopus_merge_base(struct object_id *merge_base,
+		const struct object_id *curr_head,
+		const struct object_id *merge_head,
+		const struct object_id *fork_point)
 {
 	struct commit_list *revs = NULL, *result;
 
-	commit_list_insert(lookup_commit_reference(curr_head), &revs);
-	commit_list_insert(lookup_commit_reference(merge_head), &revs);
-	if (!is_null_sha1(fork_point))
-		commit_list_insert(lookup_commit_reference(fork_point), &revs);
+	commit_list_insert(lookup_commit_reference(curr_head->hash), &revs);
+	commit_list_insert(lookup_commit_reference(merge_head->hash), &revs);
+	if (!is_null_oid(fork_point))
+		commit_list_insert(lookup_commit_reference(fork_point->hash), &revs);
 
 	result = reduce_heads(get_octopus_merge_bases(revs));
 	free_commit_list(revs);
 	if (!result)
 		return 1;
 
-	hashcpy(merge_base, result->item->object.oid.hash);
+	oidcpy(merge_base, &result->item->object.oid);
 	return 0;
 }
 
@@ -717,16 +717,16 @@
  * fork point calculated by get_rebase_fork_point(), runs git-rebase with the
  * appropriate arguments and returns its exit status.
  */
-static int run_rebase(const unsigned char *curr_head,
-		const unsigned char *merge_head,
-		const unsigned char *fork_point)
+static int run_rebase(const struct object_id *curr_head,
+		const struct object_id *merge_head,
+		const struct object_id *fork_point)
 {
 	int ret;
-	unsigned char oct_merge_base[GIT_SHA1_RAWSZ];
+	struct object_id oct_merge_base;
 	struct argv_array args = ARGV_ARRAY_INIT;
 
-	if (!get_octopus_merge_base(oct_merge_base, curr_head, merge_head, fork_point))
-		if (!is_null_sha1(fork_point) && !hashcmp(oct_merge_base, fork_point))
+	if (!get_octopus_merge_base(&oct_merge_base, curr_head, merge_head, fork_point))
+		if (!is_null_oid(fork_point) && !oidcmp(&oct_merge_base, fork_point))
 			fork_point = NULL;
 
 	argv_array_push(&args, "rebase");
@@ -754,12 +754,12 @@
 		warning(_("ignoring --verify-signatures for rebase"));
 
 	argv_array_push(&args, "--onto");
-	argv_array_push(&args, sha1_to_hex(merge_head));
+	argv_array_push(&args, oid_to_hex(merge_head));
 
-	if (fork_point && !is_null_sha1(fork_point))
-		argv_array_push(&args, sha1_to_hex(fork_point));
+	if (fork_point && !is_null_oid(fork_point))
+		argv_array_push(&args, oid_to_hex(fork_point));
 	else
-		argv_array_push(&args, sha1_to_hex(merge_head));
+		argv_array_push(&args, oid_to_hex(merge_head));
 
 	ret = run_command_v_opt(args.argv, RUN_GIT_CMD);
 	argv_array_clear(&args);
@@ -769,9 +769,9 @@
 int cmd_pull(int argc, const char **argv, const char *prefix)
 {
 	const char *repo, **refspecs;
-	struct sha1_array merge_heads = SHA1_ARRAY_INIT;
-	unsigned char orig_head[GIT_SHA1_RAWSZ], curr_head[GIT_SHA1_RAWSZ];
-	unsigned char rebase_fork_point[GIT_SHA1_RAWSZ];
+	struct oid_array merge_heads = OID_ARRAY_INIT;
+	struct object_id orig_head, curr_head;
+	struct object_id rebase_fork_point;
 
 	if (!getenv("GIT_REFLOG_ACTION"))
 		set_reflog_message(argc, argv);
@@ -794,8 +794,8 @@
 	if (file_exists(git_path("MERGE_HEAD")))
 		die_conclude_merge();
 
-	if (get_sha1("HEAD", orig_head))
-		hashclr(orig_head);
+	if (get_oid("HEAD", &orig_head))
+		oidclr(&orig_head);
 
 	if (!opt_rebase && opt_autostash != -1)
 		die(_("--[no-]autostash option is only valid with --rebase."));
@@ -805,15 +805,15 @@
 		if (opt_autostash != -1)
 			autostash = opt_autostash;
 
-		if (is_null_sha1(orig_head) && !is_cache_unborn())
+		if (is_null_oid(&orig_head) && !is_cache_unborn())
 			die(_("Updating an unborn branch with changes added to the index."));
 
 		if (!autostash)
 			require_clean_work_tree(N_("pull with rebase"),
 				_("please commit or stash them."), 1, 0);
 
-		if (get_rebase_fork_point(rebase_fork_point, repo, *refspecs))
-			hashclr(rebase_fork_point);
+		if (get_rebase_fork_point(&rebase_fork_point, repo, *refspecs))
+			oidclr(&rebase_fork_point);
 	}
 
 	if (run_fetch(repo, refspecs))
@@ -822,11 +822,11 @@
 	if (opt_dry_run)
 		return 0;
 
-	if (get_sha1("HEAD", curr_head))
-		hashclr(curr_head);
+	if (get_oid("HEAD", &curr_head))
+		oidclr(&curr_head);
 
-	if (!is_null_sha1(orig_head) && !is_null_sha1(curr_head) &&
-			hashcmp(orig_head, curr_head)) {
+	if (!is_null_oid(&orig_head) && !is_null_oid(&curr_head) &&
+			oidcmp(&orig_head, &curr_head)) {
 		/*
 		 * The fetch involved updating the current branch.
 		 *
@@ -837,15 +837,15 @@
 
 		warning(_("fetch updated the current branch head.\n"
 			"fast-forwarding your working tree from\n"
-			"commit %s."), sha1_to_hex(orig_head));
+			"commit %s."), oid_to_hex(&orig_head));
 
-		if (checkout_fast_forward(orig_head, curr_head, 0))
+		if (checkout_fast_forward(orig_head.hash, curr_head.hash, 0))
 			die(_("Cannot fast-forward your working tree.\n"
 				"After making sure that you saved anything precious from\n"
 				"$ git diff %s\n"
 				"output, run\n"
 				"$ git reset --hard\n"
-				"to recover."), sha1_to_hex(orig_head));
+				"to recover."), oid_to_hex(&orig_head));
 	}
 
 	get_merge_heads(&merge_heads);
@@ -853,10 +853,10 @@
 	if (!merge_heads.nr)
 		die_no_merge_candidates(repo, refspecs);
 
-	if (is_null_sha1(orig_head)) {
+	if (is_null_oid(&orig_head)) {
 		if (merge_heads.nr > 1)
 			die(_("Cannot merge multiple branches into empty head."));
-		return pull_into_void(*merge_heads.sha1, curr_head);
+		return pull_into_void(merge_heads.oid, &curr_head);
 	}
 	if (opt_rebase && merge_heads.nr > 1)
 		die(_("Cannot rebase onto multiple branches."));
@@ -865,15 +865,15 @@
 		struct commit_list *list = NULL;
 		struct commit *merge_head, *head;
 
-		head = lookup_commit_reference(orig_head);
+		head = lookup_commit_reference(orig_head.hash);
 		commit_list_insert(head, &list);
-		merge_head = lookup_commit_reference(merge_heads.sha1[0]);
+		merge_head = lookup_commit_reference(merge_heads.oid[0].hash);
 		if (is_descendant_of(merge_head, list)) {
 			/* we can fast-forward this without invoking rebase */
 			opt_ff = "--ff-only";
 			return run_merge();
 		}
-		return run_rebase(curr_head, *merge_heads.sha1, rebase_fork_point);
+		return run_rebase(&curr_head, merge_heads.oid, &rebase_fork_point);
 	} else {
 		return run_merge();
 	}
diff --git a/builtin/push.c b/builtin/push.c
index 9307ad5..a597759 100644
--- a/builtin/push.c
+++ b/builtin/push.c
@@ -510,8 +510,8 @@
 	int push_cert = -1;
 	int rc;
 	const char *repo = NULL;	/* default repository */
-	static struct string_list push_options = STRING_LIST_INIT_DUP;
-	static struct string_list_item *item;
+	struct string_list push_options = STRING_LIST_INIT_DUP;
+	const struct string_list_item *item;
 
 	struct option options[] = {
 		OPT__VERBOSITY(&verbosity),
@@ -568,6 +568,8 @@
 		flags |= TRANSPORT_RECURSE_SUBMODULES_CHECK;
 	else if (recurse_submodules == RECURSE_SUBMODULES_ON_DEMAND)
 		flags |= TRANSPORT_RECURSE_SUBMODULES_ON_DEMAND;
+	else if (recurse_submodules == RECURSE_SUBMODULES_ONLY)
+		flags |= TRANSPORT_RECURSE_SUBMODULES_ONLY;
 
 	if (tags)
 		add_refspec("refs/tags/*");
@@ -582,6 +584,7 @@
 			die(_("push options must not have new line characters"));
 
 	rc = do_push(repo, flags, &push_options);
+	string_list_clear(&push_options, 0);
 	if (rc == -1)
 		usage_with_options(push_usage, options);
 	else
diff --git a/builtin/read-tree.c b/builtin/read-tree.c
index 9bd1fd7..23e212e 100644
--- a/builtin/read-tree.c
+++ b/builtin/read-tree.c
@@ -15,10 +15,13 @@
 #include "builtin.h"
 #include "parse-options.h"
 #include "resolve-undo.h"
+#include "submodule.h"
+#include "submodule-config.h"
 
 static int nr_trees;
 static int read_empty;
 static struct tree *trees[MAX_UNPACK_TREES];
+static int recurse_submodules = RECURSE_SUBMODULES_DEFAULT;
 
 static int list_tree(unsigned char *sha1)
 {
@@ -96,6 +99,23 @@
 	return 0;
 }
 
+static int option_parse_recurse_submodules(const struct option *opt,
+					   const char *arg, int unset)
+{
+	if (unset) {
+		recurse_submodules = RECURSE_SUBMODULES_OFF;
+		return 0;
+	}
+	if (arg)
+		recurse_submodules =
+			parse_update_recurse_submodules_arg(opt->long_name,
+							    arg);
+	else
+		recurse_submodules = RECURSE_SUBMODULES_ON;
+
+	return 0;
+}
+
 static struct lock_file lock_file;
 
 int cmd_read_tree(int argc, const char **argv, const char *unused_prefix)
@@ -109,34 +129,37 @@
 		{ OPTION_CALLBACK, 0, "index-output", NULL, N_("file"),
 		  N_("write resulting index to <file>"),
 		  PARSE_OPT_NONEG, index_output_cb },
-		OPT_SET_INT(0, "empty", &read_empty,
-			    N_("only empty the index"), 1),
+		OPT_BOOL(0, "empty", &read_empty,
+			    N_("only empty the index")),
 		OPT__VERBOSE(&opts.verbose_update, N_("be verbose")),
 		OPT_GROUP(N_("Merging")),
-		OPT_SET_INT('m', NULL, &opts.merge,
-			    N_("perform a merge in addition to a read"), 1),
-		OPT_SET_INT(0, "trivial", &opts.trivial_merges_only,
-			    N_("3-way merge if no file level merging required"), 1),
-		OPT_SET_INT(0, "aggressive", &opts.aggressive,
-			    N_("3-way merge in presence of adds and removes"), 1),
-		OPT_SET_INT(0, "reset", &opts.reset,
-			    N_("same as -m, but discard unmerged entries"), 1),
+		OPT_BOOL('m', NULL, &opts.merge,
+			 N_("perform a merge in addition to a read")),
+		OPT_BOOL(0, "trivial", &opts.trivial_merges_only,
+			 N_("3-way merge if no file level merging required")),
+		OPT_BOOL(0, "aggressive", &opts.aggressive,
+			 N_("3-way merge in presence of adds and removes")),
+		OPT_BOOL(0, "reset", &opts.reset,
+			 N_("same as -m, but discard unmerged entries")),
 		{ OPTION_STRING, 0, "prefix", &opts.prefix, N_("<subdirectory>/"),
 		  N_("read the tree into the index under <subdirectory>/"),
 		  PARSE_OPT_NONEG | PARSE_OPT_LITERAL_ARGHELP },
-		OPT_SET_INT('u', NULL, &opts.update,
-			    N_("update working tree with merge result"), 1),
+		OPT_BOOL('u', NULL, &opts.update,
+			 N_("update working tree with merge result")),
 		{ OPTION_CALLBACK, 0, "exclude-per-directory", &opts,
 		  N_("gitignore"),
 		  N_("allow explicitly ignored files to be overwritten"),
 		  PARSE_OPT_NONEG, exclude_per_directory_cb },
-		OPT_SET_INT('i', NULL, &opts.index_only,
-			    N_("don't check the working tree after merging"), 1),
+		OPT_BOOL('i', NULL, &opts.index_only,
+			 N_("don't check the working tree after merging")),
 		OPT__DRY_RUN(&opts.dry_run, N_("don't update the index or the work tree")),
-		OPT_SET_INT(0, "no-sparse-checkout", &opts.skip_sparse_checkout,
-			    N_("skip applying sparse checkout filter"), 1),
-		OPT_SET_INT(0, "debug-unpack", &opts.debug_unpack,
-			    N_("debug unpack-trees"), 1),
+		OPT_BOOL(0, "no-sparse-checkout", &opts.skip_sparse_checkout,
+			 N_("skip applying sparse checkout filter")),
+		OPT_BOOL(0, "debug-unpack", &opts.debug_unpack,
+			 N_("debug unpack-trees")),
+		{ OPTION_CALLBACK, 0, "recurse-submodules", &recurse_submodules,
+			    "checkout", "control recursive updating of submodules",
+			    PARSE_OPT_OPTARG, option_parse_recurse_submodules },
 		OPT_END()
 	};
 
@@ -150,7 +173,13 @@
 	argc = parse_options(argc, argv, unused_prefix, read_tree_options,
 			     read_tree_usage, 0);
 
-	hold_locked_index(&lock_file, 1);
+	hold_locked_index(&lock_file, LOCK_DIE_ON_ERROR);
+
+	if (recurse_submodules != RECURSE_SUBMODULES_DEFAULT) {
+		gitmodules_config();
+		git_config(submodule_config, NULL);
+		set_config_update_recurse_submodules(RECURSE_SUBMODULES_ON);
+	}
 
 	prefix_set = opts.prefix ? 1 : 0;
 	if (1 < opts.merge + opts.reset + prefix_set)
diff --git a/builtin/rebase--helper.c b/builtin/rebase--helper.c
new file mode 100644
index 0000000..ca1ebb2
--- /dev/null
+++ b/builtin/rebase--helper.c
@@ -0,0 +1,40 @@
+#include "builtin.h"
+#include "cache.h"
+#include "parse-options.h"
+#include "sequencer.h"
+
+static const char * const builtin_rebase_helper_usage[] = {
+	N_("git rebase--helper [<options>]"),
+	NULL
+};
+
+int cmd_rebase__helper(int argc, const char **argv, const char *prefix)
+{
+	struct replay_opts opts = REPLAY_OPTS_INIT;
+	enum {
+		CONTINUE = 1, ABORT
+	} command = 0;
+	struct option options[] = {
+		OPT_BOOL(0, "ff", &opts.allow_ff, N_("allow fast-forward")),
+		OPT_CMDMODE(0, "continue", &command, N_("continue rebase"),
+				CONTINUE),
+		OPT_CMDMODE(0, "abort", &command, N_("abort rebase"),
+				ABORT),
+		OPT_END()
+	};
+
+	git_config(git_default_config, NULL);
+
+	opts.action = REPLAY_INTERACTIVE_REBASE;
+	opts.allow_ff = 1;
+	opts.allow_empty = 1;
+
+	argc = parse_options(argc, argv, NULL, options,
+			builtin_rebase_helper_usage, PARSE_OPT_KEEP_ARGV0);
+
+	if (command == CONTINUE && argc == 1)
+		return !!sequencer_continue(&opts);
+	if (command == ABORT && argc == 1)
+		return !!sequencer_remove_state(&opts);
+	usage_with_options(builtin_rebase_helper_usage, options);
+}
diff --git a/builtin/receive-pack.c b/builtin/receive-pack.c
index e6b3879..3cba3fd 100644
--- a/builtin/receive-pack.c
+++ b/builtin/receive-pack.c
@@ -21,6 +21,7 @@
 #include "sigchain.h"
 #include "fsck.h"
 #include "tmp-objdir.h"
+#include "oidset.h"
 
 static const char * const receive_pack_usage[] = {
 	N_("git receive-pack <git-dir>"),
@@ -224,10 +225,10 @@
 	return git_default_config(var, value, cb);
 }
 
-static void show_ref(const char *path, const unsigned char *sha1)
+static void show_ref(const char *path, const struct object_id *oid)
 {
 	if (sent_capabilities) {
-		packet_write_fmt(1, "%s %s\n", sha1_to_hex(sha1), path);
+		packet_write_fmt(1, "%s %s\n", oid_to_hex(oid), path);
 	} else {
 		struct strbuf cap = STRBUF_INIT;
 
@@ -243,15 +244,16 @@
 			strbuf_addstr(&cap, " push-options");
 		strbuf_addf(&cap, " agent=%s", git_user_agent_sanitized());
 		packet_write_fmt(1, "%s %s%c%s\n",
-			     sha1_to_hex(sha1), path, 0, cap.buf);
+			     oid_to_hex(oid), path, 0, cap.buf);
 		strbuf_release(&cap);
 		sent_capabilities = 1;
 	}
 }
 
 static int show_ref_cb(const char *path_full, const struct object_id *oid,
-		       int flag, void *unused)
+		       int flag, void *data)
 {
+	struct oidset *seen = data;
 	const char *path = strip_namespace(path_full);
 
 	if (ref_is_hidden(path, path_full))
@@ -260,39 +262,40 @@
 	/*
 	 * Advertise refs outside our current namespace as ".have"
 	 * refs, so that the client can use them to minimize data
-	 * transfer but will otherwise ignore them. This happens to
-	 * cover ".have" that are thrown in by add_one_alternate_ref()
-	 * to mark histories that are complete in our alternates as
-	 * well.
+	 * transfer but will otherwise ignore them.
 	 */
-	if (!path)
+	if (!path) {
+		if (oidset_insert(seen, oid))
+			return 0;
 		path = ".have";
-	show_ref(path, oid->hash);
+	} else {
+		oidset_insert(seen, oid);
+	}
+	show_ref(path, oid);
 	return 0;
 }
 
-static int show_one_alternate_sha1(const unsigned char sha1[20], void *unused)
+static void show_one_alternate_ref(const char *refname,
+				   const struct object_id *oid,
+				   void *data)
 {
-	show_ref(".have", sha1);
-	return 0;
-}
+	struct oidset *seen = data;
 
-static void collect_one_alternate_ref(const struct ref *ref, void *data)
-{
-	struct sha1_array *sa = data;
-	sha1_array_append(sa, ref->old_oid.hash);
+	if (oidset_insert(seen, oid))
+		return;
+
+	show_ref(".have", oid);
 }
 
 static void write_head_info(void)
 {
-	struct sha1_array sa = SHA1_ARRAY_INIT;
+	static struct oidset seen = OIDSET_INIT;
 
-	for_each_alternate_ref(collect_one_alternate_ref, &sa);
-	sha1_array_for_each_unique(&sa, show_one_alternate_sha1, NULL);
-	sha1_array_clear(&sa);
-	for_each_ref(show_ref_cb, NULL);
+	for_each_ref(show_ref_cb, &seen);
+	for_each_alternate_ref(show_one_alternate_ref, &seen);
+	oidset_clear(&seen);
 	if (!sent_capabilities)
-		show_ref("capabilities^{}", null_sha1);
+		show_ref("capabilities^{}", &null_oid);
 
 	advertise_shallow_grafts(1);
 
@@ -306,8 +309,8 @@
 	unsigned int skip_update:1,
 		     did_not_exist:1;
 	int index;
-	unsigned char old_sha1[20];
-	unsigned char new_sha1[20];
+	struct object_id old_oid;
+	struct object_id new_oid;
 	char ref_name[FLEX_ARRAY]; /* more */
 };
 
@@ -720,7 +723,7 @@
 		return -1; /* EOF */
 	strbuf_reset(&state->buf);
 	strbuf_addf(&state->buf, "%s %s %s\n",
-		    sha1_to_hex(cmd->old_sha1), sha1_to_hex(cmd->new_sha1),
+		    oid_to_hex(&cmd->old_oid), oid_to_hex(&cmd->new_oid),
 		    cmd->ref_name);
 	state->cmd = cmd->next;
 	if (bufp) {
@@ -761,8 +764,8 @@
 		return 0;
 
 	argv[1] = cmd->ref_name;
-	argv[2] = sha1_to_hex(cmd->old_sha1);
-	argv[3] = sha1_to_hex(cmd->new_sha1);
+	argv[2] = oid_to_hex(&cmd->old_oid);
+	argv[3] = oid_to_hex(&cmd->new_oid);
 	argv[4] = NULL;
 
 	proc.no_stdin = 1;
@@ -795,8 +798,8 @@
 	   "with what you pushed, and will require 'git reset --hard' to match\n"
 	   "the work tree to HEAD.\n"
 	   "\n"
-	   "You can set 'receive.denyCurrentBranch' configuration variable to\n"
-	   "'ignore' or 'warn' in the remote repository to allow pushing into\n"
+	   "You can set the 'receive.denyCurrentBranch' configuration variable\n"
+	   "to 'ignore' or 'warn' in the remote repository to allow pushing into\n"
 	   "its current branch; however, this is not recommended unless you\n"
 	   "arranged to update its work tree to match what you pushed in some\n"
 	   "other way.\n"
@@ -828,7 +831,7 @@
 static int update_shallow_ref(struct command *cmd, struct shallow_info *si)
 {
 	static struct lock_file shallow_lock;
-	struct sha1_array extra = SHA1_ARRAY_INIT;
+	struct oid_array extra = OID_ARRAY_INIT;
 	struct check_connected_options opt = CHECK_CONNECTED_INIT;
 	uint32_t mask = 1 << (cmd->index % 32);
 	int i;
@@ -839,13 +842,13 @@
 		if (si->used_shallow[i] &&
 		    (si->used_shallow[i][cmd->index / 32] & mask) &&
 		    !delayed_reachability_test(si, i))
-			sha1_array_append(&extra, si->shallow->sha1[i]);
+			oid_array_append(&extra, &si->shallow->oid[i]);
 
 	opt.env = tmp_objdir_env(tmp_objdir);
 	setup_alternate_shallow(&shallow_lock, &opt.shallow_file, &extra);
 	if (check_connected(command_singleton_iterator, cmd, &opt)) {
 		rollback_lock_file(&shallow_lock);
-		sha1_array_clear(&extra);
+		oid_array_clear(&extra);
 		return -1;
 	}
 
@@ -856,10 +859,10 @@
 	 * not lose these new roots..
 	 */
 	for (i = 0; i < extra.nr; i++)
-		register_shallow(extra.sha1[i]);
+		register_shallow(extra.oid[i].hash);
 
 	si->shallow_ref[cmd->index] = 0;
-	sha1_array_clear(&extra);
+	oid_array_clear(&extra);
 	return 0;
 }
 
@@ -985,8 +988,8 @@
 	const char *name = cmd->ref_name;
 	struct strbuf namespaced_name_buf = STRBUF_INIT;
 	const char *namespaced_name, *ret;
-	unsigned char *old_sha1 = cmd->old_sha1;
-	unsigned char *new_sha1 = cmd->new_sha1;
+	struct object_id *old_oid = &cmd->old_oid;
+	struct object_id *new_oid = &cmd->new_oid;
 
 	/* only refs/... are allowed */
 	if (!starts_with(name, "refs/") || check_refname_format(name + 5, 0)) {
@@ -1011,20 +1014,20 @@
 				refuse_unconfigured_deny();
 			return "branch is currently checked out";
 		case DENY_UPDATE_INSTEAD:
-			ret = update_worktree(new_sha1);
+			ret = update_worktree(new_oid->hash);
 			if (ret)
 				return ret;
 			break;
 		}
 	}
 
-	if (!is_null_sha1(new_sha1) && !has_sha1_file(new_sha1)) {
+	if (!is_null_oid(new_oid) && !has_object_file(new_oid)) {
 		error("unpack should have generated %s, "
-		      "but I can't find it!", sha1_to_hex(new_sha1));
+		      "but I can't find it!", oid_to_hex(new_oid));
 		return "bad pack";
 	}
 
-	if (!is_null_sha1(old_sha1) && is_null_sha1(new_sha1)) {
+	if (!is_null_oid(old_oid) && is_null_oid(new_oid)) {
 		if (deny_deletes && starts_with(name, "refs/heads/")) {
 			rp_error("denying ref deletion for %s", name);
 			return "deletion prohibited";
@@ -1050,14 +1053,14 @@
 		}
 	}
 
-	if (deny_non_fast_forwards && !is_null_sha1(new_sha1) &&
-	    !is_null_sha1(old_sha1) &&
+	if (deny_non_fast_forwards && !is_null_oid(new_oid) &&
+	    !is_null_oid(old_oid) &&
 	    starts_with(name, "refs/heads/")) {
 		struct object *old_object, *new_object;
 		struct commit *old_commit, *new_commit;
 
-		old_object = parse_object(old_sha1);
-		new_object = parse_object(new_sha1);
+		old_object = parse_object(old_oid->hash);
+		new_object = parse_object(new_oid->hash);
 
 		if (!old_object || !new_object ||
 		    old_object->type != OBJ_COMMIT ||
@@ -1078,10 +1081,10 @@
 		return "hook declined";
 	}
 
-	if (is_null_sha1(new_sha1)) {
+	if (is_null_oid(new_oid)) {
 		struct strbuf err = STRBUF_INIT;
-		if (!parse_object(old_sha1)) {
-			old_sha1 = NULL;
+		if (!parse_object(old_oid->hash)) {
+			old_oid = NULL;
 			if (ref_exists(name)) {
 				rp_warning("Allowing deletion of corrupt ref.");
 			} else {
@@ -1091,7 +1094,7 @@
 		}
 		if (ref_transaction_delete(transaction,
 					   namespaced_name,
-					   old_sha1,
+					   old_oid->hash,
 					   0, "push", &err)) {
 			rp_error("%s", err.buf);
 			strbuf_release(&err);
@@ -1108,7 +1111,7 @@
 
 		if (ref_transaction_update(transaction,
 					   namespaced_name,
-					   new_sha1, old_sha1,
+					   new_oid->hash, old_oid->hash,
 					   0, "push",
 					   &err)) {
 			rp_error("%s", err.buf);
@@ -1125,25 +1128,22 @@
 static void run_update_post_hook(struct command *commands)
 {
 	struct command *cmd;
-	int argc;
 	struct child_process proc = CHILD_PROCESS_INIT;
 	const char *hook;
 
 	hook = find_hook("post-update");
-	for (argc = 0, cmd = commands; cmd; cmd = cmd->next) {
-		if (cmd->error_string || cmd->did_not_exist)
-			continue;
-		argc++;
-	}
-	if (!argc || !hook)
+	if (!hook)
 		return;
 
-	argv_array_push(&proc.args, hook);
 	for (cmd = commands; cmd; cmd = cmd->next) {
 		if (cmd->error_string || cmd->did_not_exist)
 			continue;
+		if (!proc.args.argc)
+			argv_array_push(&proc.args, hook);
 		argv_array_push(&proc.args, cmd->ref_name);
 	}
+	if (!proc.args.argc)
+		return;
 
 	proc.no_stdin = 1;
 	proc.stdout_to_stderr = 1;
@@ -1162,7 +1162,7 @@
 	const char *dst_name;
 	struct string_list_item *item;
 	struct command *dst_cmd;
-	unsigned char sha1[GIT_SHA1_RAWSZ];
+	unsigned char sha1[GIT_MAX_RAWSZ];
 	int flag;
 
 	strbuf_addf(&buf, "%s%s", get_git_namespace(), cmd->ref_name);
@@ -1187,8 +1187,8 @@
 
 	dst_cmd = (struct command *) item->util;
 
-	if (!hashcmp(cmd->old_sha1, dst_cmd->old_sha1) &&
-	    !hashcmp(cmd->new_sha1, dst_cmd->new_sha1))
+	if (!oidcmp(&cmd->old_oid, &dst_cmd->old_oid) &&
+	    !oidcmp(&cmd->new_oid, &dst_cmd->new_oid))
 		return;
 
 	dst_cmd->skip_update = 1;
@@ -1196,11 +1196,11 @@
 	rp_error("refusing inconsistent update between symref '%s' (%s..%s) and"
 		 " its target '%s' (%s..%s)",
 		 cmd->ref_name,
-		 find_unique_abbrev(cmd->old_sha1, DEFAULT_ABBREV),
-		 find_unique_abbrev(cmd->new_sha1, DEFAULT_ABBREV),
+		 find_unique_abbrev(cmd->old_oid.hash, DEFAULT_ABBREV),
+		 find_unique_abbrev(cmd->new_oid.hash, DEFAULT_ABBREV),
 		 dst_cmd->ref_name,
-		 find_unique_abbrev(dst_cmd->old_sha1, DEFAULT_ABBREV),
-		 find_unique_abbrev(dst_cmd->new_sha1, DEFAULT_ABBREV));
+		 find_unique_abbrev(dst_cmd->old_oid.hash, DEFAULT_ABBREV),
+		 find_unique_abbrev(dst_cmd->new_oid.hash, DEFAULT_ABBREV));
 
 	cmd->error_string = dst_cmd->error_string =
 		"inconsistent aliased update";
@@ -1231,10 +1231,10 @@
 	struct command **cmd_list = cb_data;
 	struct command *cmd = *cmd_list;
 
-	if (!cmd || is_null_sha1(cmd->new_sha1))
+	if (!cmd || is_null_oid(&cmd->new_oid))
 		return -1; /* end of list */
 	*cmd_list = NULL; /* this returns only one */
-	hashcpy(sha1, cmd->new_sha1);
+	hashcpy(sha1, cmd->new_oid.hash);
 	return 0;
 }
 
@@ -1275,8 +1275,8 @@
 		if (shallow_update && data->si->shallow_ref[cmd->index])
 			/* to be checked in update_shallow_ref() */
 			continue;
-		if (!is_null_sha1(cmd->new_sha1) && !cmd->skip_update) {
-			hashcpy(sha1, cmd->new_sha1);
+		if (!is_null_oid(&cmd->new_oid) && !cmd->skip_update) {
+			hashcpy(sha1, cmd->new_oid.hash);
 			*cmd_list = cmd->next;
 			return 0;
 		}
@@ -1303,7 +1303,7 @@
 
 		if (!ref_is_hidden(cmd->ref_name, refname_full.buf))
 			continue;
-		if (is_null_sha1(cmd->new_sha1))
+		if (is_null_oid(&cmd->new_oid))
 			cmd->error_string = "deny deleting a hidden ref";
 		else
 			cmd->error_string = "deny updating a hidden ref";
@@ -1414,7 +1414,7 @@
 {
 	struct check_connected_options opt = CHECK_CONNECTED_INIT;
 	struct command *cmd;
-	unsigned char sha1[20];
+	struct object_id oid;
 	struct iterate_data data;
 	struct async muxer;
 	int err_fd = 0;
@@ -1471,7 +1471,7 @@
 	check_aliased_updates(commands);
 
 	free(head_name_to_free);
-	head_name = head_name_to_free = resolve_refdup("HEAD", 0, sha1, NULL);
+	head_name = head_name_to_free = resolve_refdup("HEAD", 0, oid.hash, NULL);
 
 	if (use_atomic)
 		execute_commands_atomic(commands, si);
@@ -1486,23 +1486,23 @@
 				      const char *line,
 				      int linelen)
 {
-	unsigned char old_sha1[20], new_sha1[20];
+	struct object_id old_oid, new_oid;
 	struct command *cmd;
 	const char *refname;
 	int reflen;
+	const char *p;
 
-	if (linelen < 83 ||
-	    line[40] != ' ' ||
-	    line[81] != ' ' ||
-	    get_sha1_hex(line, old_sha1) ||
-	    get_sha1_hex(line + 41, new_sha1))
+	if (parse_oid_hex(line, &old_oid, &p) ||
+	    *p++ != ' ' ||
+	    parse_oid_hex(p, &new_oid, &p) ||
+	    *p++ != ' ')
 		die("protocol error: expected old/new/ref, got '%s'", line);
 
-	refname = line + 82;
-	reflen = linelen - 82;
+	refname = p;
+	reflen = linelen - (p - line);
 	FLEX_ALLOC_MEM(cmd, ref_name, refname, reflen);
-	hashcpy(cmd->old_sha1, old_sha1);
-	hashcpy(cmd->new_sha1, new_sha1);
+	oidcpy(&cmd->old_oid, &old_oid);
+	oidcpy(&cmd->new_oid, &new_oid);
 	*tail = cmd;
 	return &cmd->next;
 }
@@ -1524,12 +1524,12 @@
 
 	while (boc < eoc) {
 		const char *eol = memchr(boc, '\n', eoc - boc);
-		tail = queue_command(tail, boc, eol ? eol - boc : eoc - eol);
+		tail = queue_command(tail, boc, eol ? eol - boc : eoc - boc);
 		boc = eol ? eol + 1 : eoc;
 	}
 }
 
-static struct command *read_head_info(struct sha1_array *shallow)
+static struct command *read_head_info(struct oid_array *shallow)
 {
 	struct command *commands = NULL;
 	struct command **p = &commands;
@@ -1541,12 +1541,12 @@
 		if (!line)
 			break;
 
-		if (len == 48 && starts_with(line, "shallow ")) {
-			unsigned char sha1[20];
-			if (get_sha1_hex(line + 8, sha1))
+		if (len > 8 && starts_with(line, "shallow ")) {
+			struct object_id oid;
+			if (get_oid_hex(line + 8, &oid))
 				die("protocol error: expected shallow sha, got '%s'",
 				    line + 8);
-			sha1_array_append(shallow, sha1);
+			oid_array_append(shallow, &oid);
 			continue;
 		}
 
@@ -1634,12 +1634,17 @@
 
 static const char *pack_lockfile;
 
+static void push_header_arg(struct argv_array *args, struct pack_header *hdr)
+{
+	argv_array_pushf(args, "--pack_header=%"PRIu32",%"PRIu32,
+			ntohl(hdr->hdr_version), ntohl(hdr->hdr_entries));
+}
+
 static const char *unpack(int err_fd, struct shallow_info *si)
 {
 	struct pack_header hdr;
 	const char *hdr_err;
 	int status;
-	char hdr_arg[38];
 	struct child_process child = CHILD_PROCESS_INIT;
 	int fsck_objects = (receive_fsck_objects >= 0
 			    ? receive_fsck_objects
@@ -1653,9 +1658,6 @@
 			close(err_fd);
 		return hdr_err;
 	}
-	snprintf(hdr_arg, sizeof(hdr_arg),
-			"--pack_header=%"PRIu32",%"PRIu32,
-			ntohl(hdr.hdr_version), ntohl(hdr.hdr_entries));
 
 	if (si->nr_ours || si->nr_theirs) {
 		alt_shallow_file = setup_temporary_shallow(si->shallow);
@@ -1664,8 +1666,11 @@
 	}
 
 	tmp_objdir = tmp_objdir_create();
-	if (!tmp_objdir)
+	if (!tmp_objdir) {
+		if (err_fd > 0)
+			close(err_fd);
 		return "unable to create temporary object directory";
+	}
 	child.env = tmp_objdir_env(tmp_objdir);
 
 	/*
@@ -1676,7 +1681,8 @@
 	tmp_objdir_add_as_alternate(tmp_objdir);
 
 	if (ntohl(hdr.hdr_entries) < unpack_limit) {
-		argv_array_pushl(&child.args, "unpack-objects", hdr_arg, NULL);
+		argv_array_push(&child.args, "unpack-objects");
+		push_header_arg(&child.args, &hdr);
 		if (quiet)
 			argv_array_push(&child.args, "-q");
 		if (fsck_objects)
@@ -1694,8 +1700,8 @@
 	} else {
 		char hostname[256];
 
-		argv_array_pushl(&child.args, "index-pack",
-				 "--stdin", hdr_arg, NULL);
+		argv_array_pushl(&child.args, "index-pack", "--stdin", NULL);
+		push_header_arg(&child.args, &hdr);
 
 		if (gethostname(hostname, sizeof(hostname)))
 			xsnprintf(hostname, sizeof(hostname), "localhost");
@@ -1801,7 +1807,7 @@
 
 static void update_shallow_info(struct command *commands,
 				struct shallow_info *si,
-				struct sha1_array *ref)
+				struct oid_array *ref)
 {
 	struct command *cmd;
 	int *ref_status;
@@ -1812,9 +1818,9 @@
 	}
 
 	for (cmd = commands; cmd; cmd = cmd->next) {
-		if (is_null_sha1(cmd->new_sha1))
+		if (is_null_oid(&cmd->new_oid))
 			continue;
-		sha1_array_append(ref, cmd->new_sha1);
+		oid_array_append(ref, &cmd->new_oid);
 		cmd->index = ref->nr - 1;
 	}
 	si->ref = ref;
@@ -1827,7 +1833,7 @@
 	ALLOC_ARRAY(ref_status, ref->nr);
 	assign_shallow_commits_to_refs(si, NULL, ref_status);
 	for (cmd = commands; cmd; cmd = cmd->next) {
-		if (is_null_sha1(cmd->new_sha1))
+		if (is_null_oid(&cmd->new_oid))
 			continue;
 		if (ref_status[cmd->index]) {
 			cmd->error_string = "shallow update not allowed";
@@ -1865,7 +1871,7 @@
 {
 	struct command *cmd;
 	for (cmd = commands; cmd; cmd = cmd->next) {
-		if (!is_null_sha1(cmd->new_sha1))
+		if (!is_null_oid(&cmd->new_oid))
 			return 0;
 	}
 	return 1;
@@ -1875,8 +1881,8 @@
 {
 	int advertise_refs = 0;
 	struct command *commands;
-	struct sha1_array shallow = SHA1_ARRAY_INIT;
-	struct sha1_array ref = SHA1_ARRAY_INIT;
+	struct oid_array shallow = OID_ARRAY_INIT;
+	struct oid_array ref = OID_ARRAY_INIT;
 	struct shallow_info si;
 
 	struct option options[] = {
@@ -1942,8 +1948,7 @@
 		run_receive_hook(commands, "post-receive", 1,
 				 &push_options);
 		run_update_post_hook(commands);
-		if (push_options.nr)
-			string_list_clear(&push_options, 0);
+		string_list_clear(&push_options, 0);
 		if (auto_gc) {
 			const char *argv_gc_auto[] = {
 				"gc", "--auto", "--quiet", NULL,
@@ -1969,8 +1974,8 @@
 	}
 	if (use_sideband)
 		packet_flush(1);
-	sha1_array_clear(&shallow);
-	sha1_array_clear(&ref);
+	oid_array_clear(&shallow);
+	oid_array_clear(&ref);
 	free((void *)push_cert_nonce);
 	return 0;
 }
diff --git a/builtin/reflog.c b/builtin/reflog.c
index 7a7136e..7472775 100644
--- a/builtin/reflog.c
+++ b/builtin/reflog.c
@@ -615,7 +615,7 @@
 	return status;
 }
 
-static int count_reflog_ent(unsigned char *osha1, unsigned char *nsha1,
+static int count_reflog_ent(struct object_id *ooid, struct object_id *noid,
 		const char *email, unsigned long timestamp, int tz,
 		const char *message, void *cb_data)
 {
diff --git a/builtin/remote.c b/builtin/remote.c
index e52cf39..addf97a 100644
--- a/builtin/remote.c
+++ b/builtin/remote.c
@@ -186,7 +186,7 @@
 	url = argv[1];
 
 	remote = remote_get(name);
-	if (remote_is_configured(remote))
+	if (remote_is_configured(remote, 1))
 		die(_("remote %s already exists."), name);
 
 	strbuf_addf(&buf2, "refs/heads/test:refs/remotes/%s/test", name);
@@ -618,14 +618,14 @@
 	rename.remote_branches = &remote_branches;
 
 	oldremote = remote_get(rename.old);
-	if (!remote_is_configured(oldremote))
+	if (!remote_is_configured(oldremote, 1))
 		die(_("No such remote: %s"), rename.old);
 
 	if (!strcmp(rename.old, rename.new) && oldremote->origin != REMOTE_CONFIG)
 		return migrate_file(oldremote);
 
 	newremote = remote_get(rename.new);
-	if (remote_is_configured(newremote))
+	if (remote_is_configured(newremote, 1))
 		die(_("remote %s already exists."), rename.new);
 
 	strbuf_addf(&buf, "refs/heads/test:refs/remotes/%s/test", rename.new);
@@ -691,7 +691,7 @@
 		read_ref_full(item->string, RESOLVE_REF_READING, oid.hash, &flag);
 		if (!(flag & REF_ISSYMREF))
 			continue;
-		if (delete_ref(item->string, NULL, REF_NODEREF))
+		if (delete_ref(NULL, item->string, NULL, REF_NODEREF))
 			die(_("deleting '%s' failed"), item->string);
 	}
 	for (i = 0; i < remote_branches.nr; i++) {
@@ -753,7 +753,7 @@
 		usage_with_options(builtin_remote_rm_usage, options);
 
 	remote = remote_get(argv[1]);
-	if (!remote_is_configured(remote))
+	if (!remote_is_configured(remote, 1))
 		die(_("No such remote: %s"), argv[1]);
 
 	known_remotes.to_delete = remote;
@@ -769,7 +769,9 @@
 				strbuf_reset(&buf);
 				strbuf_addf(&buf, "branch.%s.%s",
 						item->string, *k);
-				git_config_set(buf.buf, NULL);
+				result = git_config_set_gently(buf.buf, NULL);
+				if (result && result != CONFIG_NOTHING_SET)
+					die(_("could not unset '%s'"), buf.buf);
 			}
 		}
 	}
@@ -1248,7 +1250,7 @@
 			head_name = xstrdup(states.heads.items[0].string);
 		free_remote_ref_states(&states);
 	} else if (opt_d && !opt_a && argc == 1) {
-		if (delete_ref(buf.buf, NULL, REF_NODEREF))
+		if (delete_ref(NULL, buf.buf, NULL, REF_NODEREF))
 			result |= error(_("Could not delete %s"), buf.buf);
 	} else
 		usage_with_options(builtin_remote_sethead_usage, options);
@@ -1415,7 +1417,7 @@
 	strbuf_addf(&key, "remote.%s.fetch", remotename);
 
 	remote = remote_get(remotename);
-	if (!remote_is_configured(remote))
+	if (!remote_is_configured(remote, 1))
 		die(_("No such remote '%s'"), remotename);
 
 	if (!add_mode && remove_all_fetch_refspecs(remotename, key.buf)) {
@@ -1469,7 +1471,7 @@
 	remotename = argv[0];
 
 	remote = remote_get(remotename);
-	if (!remote_is_configured(remote))
+	if (!remote_is_configured(remote, 1))
 		die(_("No such remote '%s'"), remotename);
 
 	url_nr = 0;
@@ -1537,7 +1539,7 @@
 		oldurl = newurl;
 
 	remote = remote_get(remotename);
-	if (!remote_is_configured(remote))
+	if (!remote_is_configured(remote, 1))
 		die(_("No such remote '%s'"), remotename);
 
 	if (push_mode) {
diff --git a/builtin/replace.c b/builtin/replace.c
index b58c714..065515b 100644
--- a/builtin/replace.c
+++ b/builtin/replace.c
@@ -88,78 +88,80 @@
 }
 
 typedef int (*each_replace_name_fn)(const char *name, const char *ref,
-				    const unsigned char *sha1);
+				    const struct object_id *oid);
 
 static int for_each_replace_name(const char **argv, each_replace_name_fn fn)
 {
 	const char **p, *full_hex;
-	char ref[PATH_MAX];
+	struct strbuf ref = STRBUF_INIT;
+	size_t base_len;
 	int had_error = 0;
-	unsigned char sha1[20];
+	struct object_id oid;
+
+	strbuf_addstr(&ref, git_replace_ref_base);
+	base_len = ref.len;
 
 	for (p = argv; *p; p++) {
-		if (get_sha1(*p, sha1)) {
+		if (get_oid(*p, &oid)) {
 			error("Failed to resolve '%s' as a valid ref.", *p);
 			had_error = 1;
 			continue;
 		}
-		full_hex = sha1_to_hex(sha1);
-		snprintf(ref, sizeof(ref), "%s%s", git_replace_ref_base, full_hex);
-		/* read_ref() may reuse the buffer */
-		full_hex = ref + strlen(git_replace_ref_base);
-		if (read_ref(ref, sha1)) {
+
+		strbuf_setlen(&ref, base_len);
+		strbuf_addstr(&ref, oid_to_hex(&oid));
+		full_hex = ref.buf + base_len;
+
+		if (read_ref(ref.buf, oid.hash)) {
 			error("replace ref '%s' not found.", full_hex);
 			had_error = 1;
 			continue;
 		}
-		if (fn(full_hex, ref, sha1))
+		if (fn(full_hex, ref.buf, &oid))
 			had_error = 1;
 	}
 	return had_error;
 }
 
 static int delete_replace_ref(const char *name, const char *ref,
-			      const unsigned char *sha1)
+			      const struct object_id *oid)
 {
-	if (delete_ref(ref, sha1, 0))
+	if (delete_ref(NULL, ref, oid->hash, 0))
 		return 1;
 	printf("Deleted replace ref '%s'\n", name);
 	return 0;
 }
 
-static void check_ref_valid(unsigned char object[20],
-			    unsigned char prev[20],
-			    char *ref,
-			    int ref_size,
+static void check_ref_valid(struct object_id *object,
+			    struct object_id *prev,
+			    struct strbuf *ref,
 			    int force)
 {
-	if (snprintf(ref, ref_size,
-		     "%s%s", git_replace_ref_base,
-		     sha1_to_hex(object)) > ref_size - 1)
-		die("replace ref name too long: %.*s...", 50, ref);
-	if (check_refname_format(ref, 0))
-		die("'%s' is not a valid ref name.", ref);
+	strbuf_reset(ref);
+	strbuf_addf(ref, "%s%s", git_replace_ref_base, oid_to_hex(object));
+	if (check_refname_format(ref->buf, 0))
+		die("'%s' is not a valid ref name.", ref->buf);
 
-	if (read_ref(ref, prev))
-		hashclr(prev);
+	if (read_ref(ref->buf, prev->hash))
+		oidclr(prev);
 	else if (!force)
-		die("replace ref '%s' already exists", ref);
+		die("replace ref '%s' already exists", ref->buf);
 }
 
-static int replace_object_sha1(const char *object_ref,
-			       unsigned char object[20],
+static int replace_object_oid(const char *object_ref,
+			       struct object_id *object,
 			       const char *replace_ref,
-			       unsigned char repl[20],
+			       struct object_id *repl,
 			       int force)
 {
-	unsigned char prev[20];
+	struct object_id prev;
 	enum object_type obj_type, repl_type;
-	char ref[PATH_MAX];
+	struct strbuf ref = STRBUF_INIT;
 	struct ref_transaction *transaction;
 	struct strbuf err = STRBUF_INIT;
 
-	obj_type = sha1_object_info(object, NULL);
-	repl_type = sha1_object_info(repl, NULL);
+	obj_type = sha1_object_info(object->hash, NULL);
+	repl_type = sha1_object_info(repl->hash, NULL);
 	if (!force && obj_type != repl_type)
 		die("Objects must be of the same type.\n"
 		    "'%s' points to a replaced object of type '%s'\n"
@@ -167,29 +169,30 @@
 		    object_ref, typename(obj_type),
 		    replace_ref, typename(repl_type));
 
-	check_ref_valid(object, prev, ref, sizeof(ref), force);
+	check_ref_valid(object, &prev, &ref, force);
 
 	transaction = ref_transaction_begin(&err);
 	if (!transaction ||
-	    ref_transaction_update(transaction, ref, repl, prev,
+	    ref_transaction_update(transaction, ref.buf, repl->hash, prev.hash,
 				   0, NULL, &err) ||
 	    ref_transaction_commit(transaction, &err))
 		die("%s", err.buf);
 
 	ref_transaction_free(transaction);
+	strbuf_release(&ref);
 	return 0;
 }
 
 static int replace_object(const char *object_ref, const char *replace_ref, int force)
 {
-	unsigned char object[20], repl[20];
+	struct object_id object, repl;
 
-	if (get_sha1(object_ref, object))
+	if (get_oid(object_ref, &object))
 		die("Failed to resolve '%s' as a valid ref.", object_ref);
-	if (get_sha1(replace_ref, repl))
+	if (get_oid(replace_ref, &repl))
 		die("Failed to resolve '%s' as a valid ref.", replace_ref);
 
-	return replace_object_sha1(object_ref, object, replace_ref, repl, force);
+	return replace_object_oid(object_ref, &object, replace_ref, &repl, force);
 }
 
 /*
@@ -197,7 +200,7 @@
  * If "raw" is true, then the object's raw contents are printed according to
  * "type". Otherwise, we pretty-print the contents for human editing.
  */
-static void export_object(const unsigned char *sha1, enum object_type type,
+static void export_object(const struct object_id *oid, enum object_type type,
 			  int raw, const char *filename)
 {
 	struct child_process cmd = CHILD_PROCESS_INIT;
@@ -213,7 +216,7 @@
 		argv_array_push(&cmd.args, typename(type));
 	else
 		argv_array_push(&cmd.args, "-p");
-	argv_array_push(&cmd.args, sha1_to_hex(sha1));
+	argv_array_push(&cmd.args, oid_to_hex(oid));
 	cmd.git_cmd = 1;
 	cmd.out = fd;
 
@@ -226,7 +229,7 @@
  * interpreting it as "type", and writing the result to the object database.
  * The sha1 of the written object is returned via sha1.
  */
-static void import_object(unsigned char *sha1, enum object_type type,
+static void import_object(struct object_id *oid, enum object_type type,
 			  int raw, const char *filename)
 {
 	int fd;
@@ -254,7 +257,7 @@
 
 		if (finish_command(&cmd))
 			die("mktree reported failure");
-		if (get_sha1_hex(result.buf, sha1) < 0)
+		if (get_oid_hex(result.buf, oid) < 0)
 			die("mktree did not return an object name");
 
 		strbuf_release(&result);
@@ -264,7 +267,7 @@
 
 		if (fstat(fd, &st) < 0)
 			die_errno("unable to fstat %s", filename);
-		if (index_fd(sha1, fd, &st, type, NULL, flags) < 0)
+		if (index_fd(oid->hash, fd, &st, type, NULL, flags) < 0)
 			die("unable to write object to database");
 		/* index_fd close()s fd for us */
 	}
@@ -279,29 +282,30 @@
 {
 	char *tmpfile = git_pathdup("REPLACE_EDITOBJ");
 	enum object_type type;
-	unsigned char old[20], new[20], prev[20];
-	char ref[PATH_MAX];
+	struct object_id old, new, prev;
+	struct strbuf ref = STRBUF_INIT;
 
-	if (get_sha1(object_ref, old) < 0)
+	if (get_oid(object_ref, &old) < 0)
 		die("Not a valid object name: '%s'", object_ref);
 
-	type = sha1_object_info(old, NULL);
+	type = sha1_object_info(old.hash, NULL);
 	if (type < 0)
-		die("unable to get object type for %s", sha1_to_hex(old));
+		die("unable to get object type for %s", oid_to_hex(&old));
 
-	check_ref_valid(old, prev, ref, sizeof(ref), force);
+	check_ref_valid(&old, &prev, &ref, force);
+	strbuf_release(&ref);
 
-	export_object(old, type, raw, tmpfile);
+	export_object(&old, type, raw, tmpfile);
 	if (launch_editor(tmpfile, NULL, NULL) < 0)
 		die("editing object file failed");
-	import_object(new, type, raw, tmpfile);
+	import_object(&new, type, raw, tmpfile);
 
 	free(tmpfile);
 
-	if (!hashcmp(old, new))
-		return error("new object is the same as the old one: '%s'", sha1_to_hex(old));
+	if (!oidcmp(&old, &new))
+		return error("new object is the same as the old one: '%s'", oid_to_hex(&old));
 
-	return replace_object_sha1(object_ref, old, "replacement", new, force);
+	return replace_object_oid(object_ref, &old, "replacement", &new, force);
 }
 
 static void replace_parents(struct strbuf *buf, int argc, const char **argv)
@@ -312,7 +316,7 @@
 
 	/* find existing parents */
 	parent_start = buf->buf;
-	parent_start += 46; /* "tree " + "hex sha1" + "\n" */
+	parent_start += GIT_SHA1_HEXSZ + 6; /* "tree " + "hex sha1" + "\n" */
 	parent_end = parent_start;
 
 	while (starts_with(parent_end, "parent "))
@@ -320,11 +324,11 @@
 
 	/* prepare new parents */
 	for (i = 0; i < argc; i++) {
-		unsigned char sha1[20];
-		if (get_sha1(argv[i], sha1) < 0)
+		struct object_id oid;
+		if (get_oid(argv[i], &oid) < 0)
 			die(_("Not a valid object name: '%s'"), argv[i]);
-		lookup_commit_or_die(sha1, argv[i]);
-		strbuf_addf(&new_parents, "parent %s\n", sha1_to_hex(sha1));
+		lookup_commit_or_die(oid.hash, argv[i]);
+		strbuf_addf(&new_parents, "parent %s\n", oid_to_hex(&oid));
 	}
 
 	/* replace existing parents with new ones */
@@ -345,12 +349,12 @@
 {
 	struct check_mergetag_data *mergetag_data = (struct check_mergetag_data *)data;
 	const char *ref = mergetag_data->argv[0];
-	unsigned char tag_sha1[20];
+	struct object_id tag_oid;
 	struct tag *tag;
 	int i;
 
-	hash_sha1_file(extra->value, extra->len, typename(OBJ_TAG), tag_sha1);
-	tag = lookup_tag(tag_sha1);
+	hash_sha1_file(extra->value, extra->len, typename(OBJ_TAG), tag_oid.hash);
+	tag = lookup_tag(tag_oid.hash);
 	if (!tag)
 		die(_("bad mergetag in commit '%s'"), ref);
 	if (parse_tag_buffer(tag, extra->value, extra->len))
@@ -366,7 +370,7 @@
 	}
 
 	die(_("original commit '%s' contains mergetag '%s' that is discarded; "
-	      "use --edit instead of --graft"), ref, sha1_to_hex(tag_sha1));
+	      "use --edit instead of --graft"), ref, oid_to_hex(&tag_oid));
 }
 
 static void check_mergetags(struct commit *commit, int argc, const char **argv)
@@ -380,16 +384,16 @@
 
 static int create_graft(int argc, const char **argv, int force)
 {
-	unsigned char old[20], new[20];
+	struct object_id old, new;
 	const char *old_ref = argv[0];
 	struct commit *commit;
 	struct strbuf buf = STRBUF_INIT;
 	const char *buffer;
 	unsigned long size;
 
-	if (get_sha1(old_ref, old) < 0)
+	if (get_oid(old_ref, &old) < 0)
 		die(_("Not a valid object name: '%s'"), old_ref);
-	commit = lookup_commit_or_die(old, old_ref);
+	commit = lookup_commit_or_die(old.hash, old_ref);
 
 	buffer = get_commit_buffer(commit, &size);
 	strbuf_add(&buf, buffer, size);
@@ -404,15 +408,15 @@
 
 	check_mergetags(commit, argc, argv);
 
-	if (write_sha1_file(buf.buf, buf.len, commit_type, new))
+	if (write_sha1_file(buf.buf, buf.len, commit_type, new.hash))
 		die(_("could not write replacement commit for: '%s'"), old_ref);
 
 	strbuf_release(&buf);
 
-	if (!hashcmp(old, new))
-		return error("new commit is the same as the old one: '%s'", sha1_to_hex(old));
+	if (!oidcmp(&old, &new))
+		return error("new commit is the same as the old one: '%s'", oid_to_hex(&old));
 
-	return replace_object_sha1(old_ref, old, "replacement", new, force);
+	return replace_object_oid(old_ref, &old, "replacement", &new, force);
 }
 
 int cmd_replace(int argc, const char **argv, const char *prefix)
diff --git a/builtin/reset.c b/builtin/reset.c
index c04ac07..fc3b906 100644
--- a/builtin/reset.c
+++ b/builtin/reset.c
@@ -256,7 +256,7 @@
 		update_ref_oid(msg.buf, "ORIG_HEAD", orig, old_orig, 0,
 			   UPDATE_REFS_MSG_ON_ERR);
 	} else if (old_orig)
-		delete_ref("ORIG_HEAD", old_orig->hash, 0);
+		delete_ref(NULL, "ORIG_HEAD", old_orig->hash, 0);
 	set_reflog_message(&msg, "updating HEAD", rev);
 	update_ref_status = update_ref_oid(msg.buf, "HEAD", oid, orig, 0,
 				       UPDATE_REFS_MSG_ON_ERR);
@@ -354,7 +354,7 @@
 
 	if (reset_type != SOFT) {
 		struct lock_file *lock = xcalloc(1, sizeof(*lock));
-		hold_locked_index(lock, 1);
+		hold_locked_index(lock, LOCK_DIE_ON_ERROR);
 		if (reset_type == MIXED) {
 			int flags = quiet ? REFRESH_QUIET : REFRESH_IN_PORCELAIN;
 			if (read_from_tree(&pathspec, &oid, intent_to_add))
diff --git a/builtin/rev-list.c b/builtin/rev-list.c
index c43decd..bcf77f0 100644
--- a/builtin/rev-list.c
+++ b/builtin/rev-list.c
@@ -212,7 +212,7 @@
 static int show_bisect_vars(struct rev_list_info *info, int reaches, int all)
 {
 	int cnt, flags = info->flags;
-	char hex[GIT_SHA1_HEXSZ + 1] = "";
+	char hex[GIT_MAX_HEXSZ + 1] = "";
 	struct commit_list *tried;
 	struct rev_info *revs = info->revs;
 
@@ -237,7 +237,7 @@
 		cnt = reaches;
 
 	if (revs->commits)
-		sha1_to_hex_r(hex, revs->commits->item->object.oid.hash);
+		oid_to_hex_r(hex, &revs->commits->item->object.oid);
 
 	if (flags & BISECT_SHOW_ALL) {
 		traverse_commit_list(revs, show_commit, show_object, info);
diff --git a/builtin/rev-parse.c b/builtin/rev-parse.c
index ff13e59..0513330 100644
--- a/builtin/rev-parse.c
+++ b/builtin/rev-parse.c
@@ -12,6 +12,7 @@
 #include "diff.h"
 #include "revision.h"
 #include "split-index.h"
+#include "submodule.h"
 
 #define DO_REVS		1
 #define DO_NOREV	2
@@ -204,21 +205,22 @@
 	return 0;
 }
 
-static int show_abbrev(const unsigned char *sha1, void *cb_data)
+static int show_abbrev(const struct object_id *oid, void *cb_data)
 {
-	show_rev(NORMAL, sha1, NULL);
+	show_rev(NORMAL, oid->hash, NULL);
 	return 0;
 }
 
 static void show_datestring(const char *flag, const char *datestr)
 {
-	static char buffer[100];
+	char *buffer;
 
 	/* date handling requires both flags and revs */
 	if ((filter & (DO_FLAGS | DO_REVS)) != (DO_FLAGS | DO_REVS))
 		return;
-	snprintf(buffer, sizeof(buffer), "%s%lu", flag, approxidate(datestr));
+	buffer = xstrfmt("%s%lu", flag, approxidate(datestr));
 	show(buffer);
+	free(buffer);
 }
 
 static int show_file(const char *arg, int output_prefix)
@@ -227,9 +229,9 @@
 	if ((filter & (DO_NONFLAGS|DO_NOREV)) == (DO_NONFLAGS|DO_NOREV)) {
 		if (output_prefix) {
 			const char *prefix = startup_info->prefix;
-			show(prefix_filename(prefix,
-					     prefix ? strlen(prefix) : 0,
-					     arg));
+			char *fname = prefix_filename(prefix, arg);
+			show(fname);
+			free(fname);
 		} else
 			show(arg);
 		return 1;
@@ -535,6 +537,34 @@
    "\n"
    "Run \"git rev-parse --parseopt -h\" for more information on the first usage.");
 
+/*
+ * Parse "opt" or "opt=<value>", setting value respectively to either
+ * NULL or the string after "=".
+ */
+static int opt_with_value(const char *arg, const char *opt, const char **value)
+{
+	if (skip_prefix(arg, opt, &arg)) {
+		if (!*arg) {
+			*value = NULL;
+			return 1;
+		}
+		if (*arg++ == '=') {
+			*value = arg;
+			return 1;
+		}
+	}
+	return 0;
+}
+
+static void handle_ref_opt(const char *pattern, const char *prefix)
+{
+	if (pattern)
+		for_each_glob_ref_in(show_reference, pattern, prefix, NULL);
+	else
+		for_each_ref_in(prefix, show_reference, NULL);
+	clear_ref_exclusion(&ref_excludes);
+}
+
 int cmd_rev_parse(int argc, const char **argv, const char *prefix)
 {
 	int i, as_is = 0, verify = 0, quiet = 0, revs_count = 0, type = 0;
@@ -545,6 +575,7 @@
 	unsigned int flags = 0;
 	const char *name = NULL;
 	struct object_context unused;
+	struct strbuf buf = STRBUF_INIT;
 
 	if (argc > 1 && !strcmp("--parseopt", argv[1]))
 		return cmd_parseopt(argc - 1, argv + 1, prefix);
@@ -599,7 +630,9 @@
 		if (!strcmp(arg, "--git-path")) {
 			if (!argv[i + 1])
 				die("--git-path requires an argument");
-			puts(git_path("%s", argv[i + 1]));
+			strbuf_reset(&buf);
+			puts(relative_path(git_path("%s", argv[i + 1]),
+					   prefix, &buf));
 			i++;
 			continue;
 		}
@@ -671,14 +704,13 @@
 				flags |= GET_SHA1_QUIETLY;
 				continue;
 			}
-			if (!strcmp(arg, "--short") ||
-			    starts_with(arg, "--short=")) {
+			if (opt_with_value(arg, "--short", &arg)) {
 				filter &= ~(DO_FLAGS|DO_NOREV);
 				verify = 1;
 				abbrev = DEFAULT_ABBREV;
-				if (!arg[7])
+				if (!arg)
 					continue;
-				abbrev = strtoul(arg + 8, NULL, 10);
+				abbrev = strtoul(arg, NULL, 10);
 				if (abbrev < MINIMUM_ABBREV)
 					abbrev = MINIMUM_ABBREV;
 				else if (40 <= abbrev)
@@ -701,17 +733,17 @@
 				symbolic = SHOW_SYMBOLIC_FULL;
 				continue;
 			}
-			if (starts_with(arg, "--abbrev-ref") &&
-			    (!arg[12] || arg[12] == '=')) {
+			if (opt_with_value(arg, "--abbrev-ref", &arg)) {
 				abbrev_ref = 1;
 				abbrev_ref_strict = warn_ambiguous_refs;
-				if (arg[12] == '=') {
-					if (!strcmp(arg + 13, "strict"))
+				if (arg) {
+					if (!strcmp(arg, "strict"))
 						abbrev_ref_strict = 1;
-					else if (!strcmp(arg + 13, "loose"))
+					else if (!strcmp(arg, "loose"))
 						abbrev_ref_strict = 0;
 					else
-						die("unknown mode for %s", arg);
+						die("unknown mode for --abbrev-ref: %s",
+						    arg);
 				}
 				continue;
 			}
@@ -719,8 +751,8 @@
 				for_each_ref(show_reference, NULL);
 				continue;
 			}
-			if (starts_with(arg, "--disambiguate=")) {
-				for_each_abbrev(arg + 15, show_abbrev, NULL);
+			if (skip_prefix(arg, "--disambiguate=", &arg)) {
+				for_each_abbrev(arg, show_abbrev, NULL);
 				continue;
 			}
 			if (!strcmp(arg, "--bisect")) {
@@ -728,46 +760,24 @@
 				for_each_ref_in("refs/bisect/good", anti_reference, NULL);
 				continue;
 			}
-			if (starts_with(arg, "--branches=")) {
-				for_each_glob_ref_in(show_reference, arg + 11,
-					"refs/heads/", NULL);
-				clear_ref_exclusion(&ref_excludes);
+			if (opt_with_value(arg, "--branches", &arg)) {
+				handle_ref_opt(arg, "refs/heads/");
 				continue;
 			}
-			if (!strcmp(arg, "--branches")) {
-				for_each_branch_ref(show_reference, NULL);
-				clear_ref_exclusion(&ref_excludes);
+			if (opt_with_value(arg, "--tags", &arg)) {
+				handle_ref_opt(arg, "refs/tags/");
 				continue;
 			}
-			if (starts_with(arg, "--tags=")) {
-				for_each_glob_ref_in(show_reference, arg + 7,
-					"refs/tags/", NULL);
-				clear_ref_exclusion(&ref_excludes);
+			if (skip_prefix(arg, "--glob=", &arg)) {
+				handle_ref_opt(arg, NULL);
 				continue;
 			}
-			if (!strcmp(arg, "--tags")) {
-				for_each_tag_ref(show_reference, NULL);
-				clear_ref_exclusion(&ref_excludes);
+			if (opt_with_value(arg, "--remotes", &arg)) {
+				handle_ref_opt(arg, "refs/remotes/");
 				continue;
 			}
-			if (starts_with(arg, "--glob=")) {
-				for_each_glob_ref(show_reference, arg + 7, NULL);
-				clear_ref_exclusion(&ref_excludes);
-				continue;
-			}
-			if (starts_with(arg, "--remotes=")) {
-				for_each_glob_ref_in(show_reference, arg + 10,
-					"refs/remotes/", NULL);
-				clear_ref_exclusion(&ref_excludes);
-				continue;
-			}
-			if (!strcmp(arg, "--remotes")) {
-				for_each_remote_ref(show_reference, NULL);
-				clear_ref_exclusion(&ref_excludes);
-				continue;
-			}
-			if (starts_with(arg, "--exclude=")) {
-				add_ref_exclusion(&ref_excludes, arg + 10);
+			if (skip_prefix(arg, "--exclude=", &arg)) {
+				add_ref_exclusion(&ref_excludes, arg);
 				continue;
 			}
 			if (!strcmp(arg, "--show-toplevel")) {
@@ -776,6 +786,12 @@
 					puts(work_tree);
 				continue;
 			}
+			if (!strcmp(arg, "--show-superproject-working-tree")) {
+				const char *superproject = get_superproject_working_tree();
+				if (superproject)
+					puts(superproject);
+				continue;
+			}
 			if (!strcmp(arg, "--show-prefix")) {
 				if (prefix)
 					puts(prefix);
@@ -802,17 +818,27 @@
 				putchar('\n');
 				continue;
 			}
-			if (!strcmp(arg, "--git-dir")) {
+			if (!strcmp(arg, "--git-dir") ||
+			    !strcmp(arg, "--absolute-git-dir")) {
 				const char *gitdir = getenv(GIT_DIR_ENVIRONMENT);
 				char *cwd;
 				int len;
-				if (gitdir) {
-					puts(gitdir);
-					continue;
-				}
-				if (!prefix) {
-					puts(".git");
-					continue;
+				if (arg[2] == 'g') {	/* --git-dir */
+					if (gitdir) {
+						puts(gitdir);
+						continue;
+					}
+					if (!prefix) {
+						puts(".git");
+						continue;
+					}
+				} else {		/* --absolute-git-dir */
+					if (!gitdir && !prefix)
+						gitdir = ".git";
+					if (gitdir) {
+						puts(real_path(gitdir));
+						continue;
+					}
 				}
 				cwd = xgetcwd();
 				len = strlen(cwd);
@@ -821,8 +847,9 @@
 				continue;
 			}
 			if (!strcmp(arg, "--git-common-dir")) {
-				const char *pfx = prefix ? prefix : "";
-				puts(prefix_filename(pfx, strlen(pfx), get_git_common_dir()));
+				strbuf_reset(&buf);
+				puts(relative_path(get_git_common_dir(),
+						   prefix, &buf));
 				continue;
 			}
 			if (!strcmp(arg, "--is-inside-git-dir")) {
@@ -845,24 +872,26 @@
 					die(_("Could not read the index"));
 				if (the_index.split_index) {
 					const unsigned char *sha1 = the_index.split_index->base_sha1;
-					puts(git_path("sharedindex.%s", sha1_to_hex(sha1)));
+					const char *path = git_path("sharedindex.%s", sha1_to_hex(sha1));
+					strbuf_reset(&buf);
+					puts(relative_path(path, prefix, &buf));
 				}
 				continue;
 			}
-			if (starts_with(arg, "--since=")) {
-				show_datestring("--max-age=", arg+8);
+			if (skip_prefix(arg, "--since=", &arg)) {
+				show_datestring("--max-age=", arg);
 				continue;
 			}
-			if (starts_with(arg, "--after=")) {
-				show_datestring("--max-age=", arg+8);
+			if (skip_prefix(arg, "--after=", &arg)) {
+				show_datestring("--max-age=", arg);
 				continue;
 			}
-			if (starts_with(arg, "--before=")) {
-				show_datestring("--min-age=", arg+9);
+			if (skip_prefix(arg, "--before=", &arg)) {
+				show_datestring("--min-age=", arg);
 				continue;
 			}
-			if (starts_with(arg, "--until=")) {
-				show_datestring("--min-age=", arg+8);
+			if (skip_prefix(arg, "--until=", &arg)) {
+				show_datestring("--min-age=", arg);
 				continue;
 			}
 			if (show_flag(arg) && verify)
@@ -897,6 +926,7 @@
 			continue;
 		verify_filename(prefix, arg, 1);
 	}
+	strbuf_release(&buf);
 	if (verify) {
 		if (revs_count == 1) {
 			show_rev(type, sha1, name);
diff --git a/builtin/revert.c b/builtin/revert.c
index 4ca5b51..345d958 100644
--- a/builtin/revert.c
+++ b/builtin/revert.c
@@ -54,6 +54,24 @@
 	return 0;
 }
 
+static int option_parse_m(const struct option *opt,
+			  const char *arg, int unset)
+{
+	struct replay_opts *replay = opt->value;
+	char *end;
+
+	if (unset) {
+		replay->mainline = 0;
+		return 0;
+	}
+
+	replay->mainline = strtol(arg, &end, 10);
+	if (*end || replay->mainline <= 0)
+		return opterror(opt, "expects a number greater than zero", 0);
+
+	return 0;
+}
+
 LAST_ARG_MUST_BE_NULL
 static void verify_opt_compatible(const char *me, const char *base_opt, ...)
 {
@@ -84,7 +102,8 @@
 		OPT_BOOL('e', "edit", &opts->edit, N_("edit the commit message")),
 		OPT_NOOP_NOARG('r', NULL),
 		OPT_BOOL('s', "signoff", &opts->signoff, N_("add Signed-off-by:")),
-		OPT_INTEGER('m', "mainline", &opts->mainline, N_("parent number")),
+		OPT_CALLBACK('m', "mainline", opts, N_("parent-number"),
+			     N_("select mainline parent"), option_parse_m),
 		OPT_RERERE_AUTOUPDATE(&opts->allow_rerere_auto),
 		OPT_STRING(0, "strategy", &opts->strategy, N_("strategy"), N_("merge strategy")),
 		OPT_CALLBACK('X', "strategy-option", &opts, N_("option"),
diff --git a/builtin/rm.c b/builtin/rm.c
index 3f3e24e..fb79dca 100644
--- a/builtin/rm.c
+++ b/builtin/rm.c
@@ -59,27 +59,9 @@
 	}
 }
 
-static void error_removing_concrete_submodules(struct string_list *files, int *errs)
-{
-	print_error_files(files,
-			  Q_("the following submodule (or one of its nested "
-			     "submodules)\n"
-			     "uses a .git directory:",
-			     "the following submodules (or one of their nested "
-			     "submodules)\n"
-			     "use a .git directory:", files->nr),
-			  _("\n(use 'rm -rf' if you really want to remove "
-			    "it including all of its history)"),
-			  errs);
-	string_list_clear(files, 0);
-}
-
-static int check_submodules_use_gitfiles(void)
+static void submodules_absorb_gitdir_if_needed(const char *prefix)
 {
 	int i;
-	int errs = 0;
-	struct string_list files = STRING_LIST_INIT_NODUP;
-
 	for (i = 0; i < list.nr; i++) {
 		const char *name = list.entry[i].name;
 		int pos;
@@ -99,12 +81,9 @@
 			continue;
 
 		if (!submodule_uses_gitfile(name))
-			string_list_append(&files, name);
+			absorb_git_dir_into_superproject(prefix, name,
+				ABSORB_GITDIR_RECURSE_SUBMODULES);
 	}
-
-	error_removing_concrete_submodules(&files, &errs);
-
-	return errs;
 }
 
 static int check_local_mod(struct object_id *head, int index_only)
@@ -120,7 +99,6 @@
 	int errs = 0;
 	struct string_list files_staged = STRING_LIST_INIT_NODUP;
 	struct string_list files_cached = STRING_LIST_INIT_NODUP;
-	struct string_list files_submodule = STRING_LIST_INIT_NODUP;
 	struct string_list files_local = STRING_LIST_INIT_NODUP;
 
 	no_head = is_null_oid(head);
@@ -187,7 +165,9 @@
 		 */
 		if (ce_match_stat(ce, &st, 0) ||
 		    (S_ISGITLINK(ce->ce_mode) &&
-		     !ok_to_remove_submodule(ce->name)))
+		     bad_to_remove_submodule(ce->name,
+				SUBMODULE_REMOVAL_DIE_ON_ERROR |
+				SUBMODULE_REMOVAL_IGNORE_IGNORED_UNTRACKED)))
 			local_changes = 1;
 
 		/*
@@ -217,13 +197,8 @@
 		else if (!index_only) {
 			if (staged_changes)
 				string_list_append(&files_cached, name);
-			if (local_changes) {
-				if (S_ISGITLINK(ce->ce_mode) &&
-				    !submodule_uses_gitfile(name))
-					string_list_append(&files_submodule, name);
-				else
-					string_list_append(&files_local, name);
-			}
+			if (local_changes)
+				string_list_append(&files_local, name);
 		}
 	}
 	print_error_files(&files_staged,
@@ -245,8 +220,6 @@
 			  &errs);
 	string_list_clear(&files_cached, 0);
 
-	error_removing_concrete_submodules(&files_submodule, &errs);
-
 	print_error_files(&files_local,
 			  Q_("the following file has local modifications:",
 			     "the following files have local modifications:",
@@ -292,7 +265,7 @@
 	if (!index_only)
 		setup_work_tree();
 
-	hold_locked_index(&lock_file, 1);
+	hold_locked_index(&lock_file, LOCK_DIE_ON_ERROR);
 
 	if (read_cache() < 0)
 		die(_("index file corrupt"));
@@ -340,6 +313,9 @@
 			exit(0);
 	}
 
+	if (!index_only)
+		submodules_absorb_gitdir_if_needed(prefix);
+
 	/*
 	 * If not forced, the file, the index and the HEAD (if exists)
 	 * must match; but the file can already been removed, since
@@ -356,9 +332,6 @@
 			oidclr(&oid);
 		if (check_local_mod(&oid, index_only))
 			exit(1);
-	} else if (!index_only) {
-		if (check_submodules_use_gitfiles())
-			exit(1);
 	}
 
 	/*
@@ -391,28 +364,15 @@
 		for (i = 0; i < list.nr; i++) {
 			const char *path = list.entry[i].name;
 			if (list.entry[i].is_submodule) {
-				if (is_empty_dir(path)) {
-					if (!rmdir(path)) {
-						removed = 1;
-						if (!remove_path_from_gitmodules(path))
-							gitmodules_modified = 1;
-						continue;
-					}
-				} else {
-					strbuf_reset(&buf);
-					strbuf_addstr(&buf, path);
-					if (!remove_dir_recursively(&buf, 0)) {
-						removed = 1;
-						if (!remove_path_from_gitmodules(path))
-							gitmodules_modified = 1;
-						strbuf_release(&buf);
-						continue;
-					} else if (!file_exists(path))
-						/* Submodule was removed by user */
-						if (!remove_path_from_gitmodules(path))
-							gitmodules_modified = 1;
-					/* Fallthrough and let remove_path() fail. */
-				}
+				strbuf_reset(&buf);
+				strbuf_addstr(&buf, path);
+				if (remove_dir_recursively(&buf, 0))
+					die(_("could not remove '%s'"), path);
+
+				removed = 1;
+				if (!remove_path_from_gitmodules(path))
+					gitmodules_modified = 1;
+				continue;
 			}
 			if (!remove_path(path)) {
 				removed = 1;
diff --git a/builtin/send-pack.c b/builtin/send-pack.c
index 1ff5a67..b8e2e74 100644
--- a/builtin/send-pack.c
+++ b/builtin/send-pack.c
@@ -131,8 +131,8 @@
 	const char *dest = NULL;
 	int fd[2];
 	struct child_process *conn;
-	struct sha1_array extra_have = SHA1_ARRAY_INIT;
-	struct sha1_array shallow = SHA1_ARRAY_INIT;
+	struct oid_array extra_have = OID_ARRAY_INIT;
+	struct oid_array shallow = OID_ARRAY_INIT;
 	struct ref *remote_refs, *local_refs;
 	int ret;
 	int helper_status = 0;
@@ -144,6 +144,7 @@
 	unsigned force_update = 0;
 	unsigned quiet = 0;
 	int push_cert = 0;
+	struct string_list push_options = STRING_LIST_INIT_NODUP;
 	unsigned use_thin_pack = 0;
 	unsigned atomic = 0;
 	unsigned stateless_rpc = 0;
@@ -165,6 +166,9 @@
 		{ OPTION_CALLBACK,
 		  0, "signed", &push_cert, "yes|no|if-asked", N_("GPG sign the push"),
 		  PARSE_OPT_OPTARG, option_parse_push_signed },
+		OPT_STRING_LIST(0, "push-option", &push_options,
+				N_("server-specific"),
+				N_("option to transmit")),
 		OPT_BOOL(0, "progress", &progress, N_("force progress reporting")),
 		OPT_BOOL(0, "thin", &use_thin_pack, N_("use thin pack")),
 		OPT_BOOL(0, "atomic", &atomic, N_("request atomic transaction on remote side")),
@@ -199,6 +203,7 @@
 	args.use_thin_pack = use_thin_pack;
 	args.atomic = atomic;
 	args.stateless_rpc = stateless_rpc;
+	args.push_options = push_options.nr ? &push_options : NULL;
 
 	if (from_stdin) {
 		struct argv_array all_refspecs = ARGV_ARRAY_INIT;
diff --git a/builtin/shortlog.c b/builtin/shortlog.c
index ba0e115..7cff183 100644
--- a/builtin/shortlog.c
+++ b/builtin/shortlog.c
@@ -117,11 +117,15 @@
 {
 	struct strbuf author = STRBUF_INIT;
 	struct strbuf oneline = STRBUF_INIT;
+	static const char *author_match[2] = { "Author: ", "author " };
+	static const char *committer_match[2] = { "Commit: ", "committer " };
+	const char **match;
 
+	match = log->committer ? committer_match : author_match;
 	while (strbuf_getline_lf(&author, stdin) != EOF) {
 		const char *v;
-		if (!skip_prefix(author.buf, "Author: ", &v) &&
-		    !skip_prefix(author.buf, "author ", &v))
+		if (!skip_prefix(author.buf, match[0], &v) &&
+		    !skip_prefix(author.buf, match[1], &v))
 			continue;
 		while (strbuf_getline_lf(&oneline, stdin) != EOF &&
 		       oneline.len)
@@ -140,15 +144,17 @@
 	struct strbuf author = STRBUF_INIT;
 	struct strbuf oneline = STRBUF_INIT;
 	struct pretty_print_context ctx = {0};
+	const char *fmt;
 
 	ctx.fmt = CMIT_FMT_USERFORMAT;
 	ctx.abbrev = log->abbrev;
-	ctx.subject = "";
-	ctx.after_subject = "";
+	ctx.print_email_subject = 1;
 	ctx.date_mode.type = DATE_NORMAL;
 	ctx.output_encoding = get_log_output_encoding();
 
-	format_commit_message(commit, "%an <%ae>", &author, &ctx);
+	fmt = log->committer ? "%cn <%ce>" : "%an <%ae>";
+
+	format_commit_message(commit, fmt, &author, &ctx);
 	if (!log->summary) {
 		if (log->user_format)
 			pretty_print_commit(&ctx, commit, &oneline);
@@ -238,6 +244,8 @@
 	int nongit = !startup_info->have_repository;
 
 	const struct option options[] = {
+		OPT_BOOL('c', "committer", &log.committer,
+			 N_("Group by committer rather than author")),
 		OPT_BOOL('n', "numbered", &log.sort_by_number,
 			 N_("sort output according to the number of commits per author")),
 		OPT_BOOL('s', "summary", &log.summary,
diff --git a/builtin/show-branch.c b/builtin/show-branch.c
index 974f340..1975659 100644
--- a/builtin/show-branch.c
+++ b/builtin/show-branch.c
@@ -275,8 +275,7 @@
 		pp_commit_easy(CMIT_FMT_ONELINE, commit, &pretty);
 		pretty_str = pretty.buf;
 	}
-	if (starts_with(pretty_str, "[PATCH] "))
-		pretty_str += 8;
+	skip_prefix(pretty_str, "[PATCH] ", &pretty_str);
 
 	if (!no_name) {
 		if (name && name->head_name) {
@@ -470,18 +469,14 @@
 	}
 }
 
-static int rev_is_head(char *head, int headlen, char *name,
+static int rev_is_head(const char *head, const char *name,
 		       unsigned char *head_sha1, unsigned char *sha1)
 {
-	if ((!head[0]) ||
-	    (head_sha1 && sha1 && hashcmp(head_sha1, sha1)))
+	if (!head || (head_sha1 && sha1 && hashcmp(head_sha1, sha1)))
 		return 0;
-	if (starts_with(head, "refs/heads/"))
-		head += 11;
-	if (starts_with(name, "refs/heads/"))
-		name += 11;
-	else if (starts_with(name, "heads/"))
-		name += 6;
+	skip_prefix(head, "refs/heads/", &head);
+	if (!skip_prefix(name, "refs/heads/", &name))
+		skip_prefix(name, "heads/", &name);
 	return !strcmp(head, name);
 }
 
@@ -620,9 +615,7 @@
 	int all_heads = 0, all_remotes = 0;
 	int all_mask, all_revs;
 	enum rev_sort_order sort_order = REV_SORT_IN_GRAPH_ORDER;
-	char head[128];
-	const char *head_p;
-	int head_len;
+	char *head;
 	struct object_id head_oid;
 	int merge_base = 0;
 	int independent = 0;
@@ -787,32 +780,24 @@
 			snarf_refs(all_heads, all_remotes);
 	}
 
-	head_p = resolve_ref_unsafe("HEAD", RESOLVE_REF_READING,
-				    head_oid.hash, NULL);
-	if (head_p) {
-		head_len = strlen(head_p);
-		memcpy(head, head_p, head_len + 1);
-	}
-	else {
-		head_len = 0;
-		head[0] = 0;
-	}
+	head = resolve_refdup("HEAD", RESOLVE_REF_READING,
+			      head_oid.hash, NULL);
 
-	if (with_current_branch && head_p) {
+	if (with_current_branch && head) {
 		int has_head = 0;
 		for (i = 0; !has_head && i < ref_name_cnt; i++) {
 			/* We are only interested in adding the branch
 			 * HEAD points at.
 			 */
 			if (rev_is_head(head,
-					head_len,
 					ref_name[i],
 					head_oid.hash, NULL))
 				has_head++;
 		}
 		if (!has_head) {
-			int offset = starts_with(head, "refs/heads/") ? 11 : 0;
-			append_one_rev(head + offset);
+			const char *name = head;
+			skip_prefix(name, "refs/heads/", &name);
+			append_one_rev(name);
 		}
 	}
 
@@ -866,7 +851,6 @@
 		for (i = 0; i < num_rev; i++) {
 			int j;
 			int is_head = rev_is_head(head,
-						  head_len,
 						  ref_name[i],
 						  head_oid.hash,
 						  rev[i]->object.oid.hash);
diff --git a/builtin/show-ref.c b/builtin/show-ref.c
index 6d4e669..013d241 100644
--- a/builtin/show-ref.c
+++ b/builtin/show-ref.c
@@ -19,19 +19,34 @@
 
 static void show_one(const char *refname, const struct object_id *oid)
 {
-	const char *hex = find_unique_abbrev(oid->hash, abbrev);
+	const char *hex;
+	struct object_id peeled;
+
+	if (!has_sha1_file(oid->hash))
+		die("git show-ref: bad ref %s (%s)", refname,
+		    oid_to_hex(oid));
+
+	if (quiet)
+		return;
+
+	hex = find_unique_abbrev(oid->hash, abbrev);
 	if (hash_only)
 		printf("%s\n", hex);
 	else
 		printf("%s %s\n", hex, refname);
+
+	if (!deref_tags)
+		return;
+
+	if (!peel_ref(refname, peeled.hash)) {
+		hex = find_unique_abbrev(peeled.hash, abbrev);
+		printf("%s %s^{}\n", hex, refname);
+	}
 }
 
 static int show_ref(const char *refname, const struct object_id *oid,
 		    int flag, void *cbdata)
 {
-	const char *hex;
-	struct object_id peeled;
-
 	if (show_head && !strcmp(refname, "HEAD"))
 		goto match;
 
@@ -54,9 +69,6 @@
 				continue;
 			if (len == reflen)
 				goto match;
-			/* "--verify" requires an exact match */
-			if (verify)
-				continue;
 			if (refname[reflen - len - 1] == '/')
 				goto match;
 		}
@@ -66,26 +78,8 @@
 match:
 	found_match++;
 
-	/* This changes the semantics slightly that even under quiet we
-	 * detect and return error if the repository is corrupt and
-	 * ref points at a nonexistent object.
-	 */
-	if (!has_sha1_file(oid->hash))
-		die("git show-ref: bad ref %s (%s)", refname,
-		    oid_to_hex(oid));
-
-	if (quiet)
-		return 0;
-
 	show_one(refname, oid);
 
-	if (!deref_tags)
-		return 0;
-
-	if (!peel_ref(refname, peeled.hash)) {
-		hex = find_unique_abbrev(peeled.hash, abbrev);
-		printf("%s %s^{}\n", hex, refname);
-	}
 	return 0;
 }
 
@@ -202,10 +196,9 @@
 		while (*pattern) {
 			struct object_id oid;
 
-			if (starts_with(*pattern, "refs/") &&
+			if ((starts_with(*pattern, "refs/") || !strcmp(*pattern, "HEAD")) &&
 			    !read_ref(*pattern, oid.hash)) {
-				if (!quiet)
-					show_one(*pattern, &oid);
+				show_one(*pattern, &oid);
 			}
 			else if (!quiet)
 				die("'%s' - not a valid ref", *pattern);
diff --git a/builtin/submodule--helper.c b/builtin/submodule--helper.c
index 4beeda5..36e4231 100644
--- a/builtin/submodule--helper.c
+++ b/builtin/submodule--helper.c
@@ -270,6 +270,29 @@
 	return result;
 }
 
+static void module_list_active(struct module_list *list)
+{
+	int i;
+	struct module_list active_modules = MODULE_LIST_INIT;
+
+	gitmodules_config();
+
+	for (i = 0; i < list->nr; i++) {
+		const struct cache_entry *ce = list->entries[i];
+
+		if (!is_submodule_initialized(ce->name))
+			continue;
+
+		ALLOC_GROW(active_modules.entries,
+			   active_modules.nr + 1,
+			   active_modules.alloc);
+		active_modules.entries[active_modules.nr++] = ce;
+	}
+
+	free(list->entries);
+	*list = active_modules;
+}
+
 static int module_list(int argc, const char **argv, const char *prefix)
 {
 	int i;
@@ -317,8 +340,12 @@
 	/* Only loads from .gitmodules, no overlay with .git/config */
 	gitmodules_config();
 
-	if (prefix) {
-		strbuf_addf(&sb, "%s%s", prefix, path);
+	if (prefix && get_super_prefix())
+		die("BUG: cannot have prefix and superprefix");
+	else if (prefix)
+		displaypath = xstrdup(relative_path(path, prefix, &sb));
+	else if (get_super_prefix()) {
+		strbuf_addf(&sb, "%s%s", get_super_prefix(), path);
 		displaypath = strbuf_detach(&sb, NULL);
 	} else
 		displaypath = xstrdup(path);
@@ -330,6 +357,18 @@
 			displaypath);
 
 	/*
+	 * NEEDSWORK: In a multi-working-tree world, this needs to be
+	 * set in the per-worktree config.
+	 *
+	 * Set active flag for the submodule being initialized
+	 */
+	if (!is_submodule_initialized(path)) {
+		strbuf_reset(&sb);
+		strbuf_addf(&sb, "submodule.%s.active", sub->name);
+		git_config_set_gently(sb.buf, "true");
+	}
+
+	/*
 	 * Copy url setting when it is not set yet.
 	 * To look up the url in .git/config, we must not fall back to
 	 * .gitmodules, so look it up directly.
@@ -352,12 +391,10 @@
 			strbuf_addf(&remotesb, "remote.%s.url", remote);
 			free(remote);
 
-			if (git_config_get_string(remotesb.buf, &remoteurl))
-				/*
-				 * The repository is its own
-				 * authoritative upstream
-				 */
+			if (git_config_get_string(remotesb.buf, &remoteurl)) {
+				warning(_("could not lookup configuration '%s'. Assuming this repository is its own authoritative upstream."), remotesb.buf);
 				remoteurl = xgetcwd();
+			}
 			relurl = relative_url(remoteurl, url, NULL);
 			strbuf_release(&remotesb);
 			free(remoteurl);
@@ -403,9 +440,6 @@
 	int i;
 
 	struct option module_init_options[] = {
-		OPT_STRING(0, "prefix", &prefix,
-			   N_("path"),
-			   N_("alternative anchor for relative paths")),
 		OPT__QUIET(&quiet, N_("Suppress output for initializing a submodule")),
 		OPT_END()
 	};
@@ -421,6 +455,13 @@
 	if (module_list_compute(argc, argv, prefix, &pathspec, &list) < 0)
 		return 1;
 
+	/*
+	 * If there are no path args and submodule.active is set then,
+	 * by default, only initialize 'active' modules.
+	 */
+	if (!argc && git_config_get_value_multi("submodule.active"))
+		module_list_active(&list);
+
 	for (i = 0; i < list.nr; i++)
 		init_submodule(list.entries[i]->name, prefix, quiet);
 
@@ -498,9 +539,9 @@
 
 	/*
 	 * If the alternate object store is another repository, try the
-	 * standard layout with .git/modules/<name>/objects
+	 * standard layout with .git/(modules/<name>)+/objects
 	 */
-	if (ends_with(alt->path, ".git/objects")) {
+	if (ends_with(alt->path, "/objects")) {
 		char *sm_alternate;
 		struct strbuf sb = STRBUF_INIT;
 		struct strbuf err = STRBUF_INIT;
@@ -578,11 +619,10 @@
 	const char *name = NULL, *url = NULL, *depth = NULL;
 	int quiet = 0;
 	int progress = 0;
-	FILE *submodule_dot_git;
 	char *p, *path = NULL, *sm_gitdir;
-	struct strbuf rel_path = STRBUF_INIT;
 	struct strbuf sb = STRBUF_INIT;
 	struct string_list reference = STRING_LIST_INIT_NODUP;
+	char *sm_alternate = NULL, *error_strategy = NULL;
 
 	struct option module_clone_options[] = {
 		OPT_STRING(0, "prefix", &prefix,
@@ -624,7 +664,7 @@
 				   module_clone_options);
 
 	strbuf_addf(&sb, "%s/modules/%s", get_git_dir(), name);
-	sm_gitdir = xstrdup(absolute_path(sb.buf));
+	sm_gitdir = absolute_pathdup(sb.buf);
 	strbuf_reset(&sb);
 
 	if (!is_absolute_path(path)) {
@@ -651,29 +691,27 @@
 		strbuf_reset(&sb);
 	}
 
-	/* Write a .git file in the submodule to redirect to the superproject. */
-	strbuf_addf(&sb, "%s/.git", path);
-	if (safe_create_leading_directories_const(sb.buf) < 0)
-		die(_("could not create leading directories of '%s'"), sb.buf);
-	submodule_dot_git = fopen(sb.buf, "w");
-	if (!submodule_dot_git)
-		die_errno(_("cannot open file '%s'"), sb.buf);
+	/* Connect module worktree and git dir */
+	connect_work_tree_and_git_dir(path, sm_gitdir);
 
-	fprintf_or_die(submodule_dot_git, "gitdir: %s\n",
-		       relative_path(sm_gitdir, path, &rel_path));
-	if (fclose(submodule_dot_git))
-		die(_("could not close file %s"), sb.buf);
-	strbuf_reset(&sb);
-	strbuf_reset(&rel_path);
-
-	/* Redirect the worktree of the submodule in the superproject's config */
 	p = git_pathdup_submodule(path, "config");
 	if (!p)
 		die(_("could not get submodule directory for '%s'"), path);
-	git_config_set_in_file(p, "core.worktree",
-			       relative_path(path, sm_gitdir, &rel_path));
+
+	/* setup alternateLocation and alternateErrorStrategy in the cloned submodule if needed */
+	git_config_get_string("submodule.alternateLocation", &sm_alternate);
+	if (sm_alternate)
+		git_config_set_in_file(p, "submodule.alternateLocation",
+					   sm_alternate);
+	git_config_get_string("submodule.alternateErrorStrategy", &error_strategy);
+	if (error_strategy)
+		git_config_set_in_file(p, "submodule.alternateErrorStrategy",
+					   error_strategy);
+
+	free(sm_alternate);
+	free(error_strategy);
+
 	strbuf_release(&sb);
-	strbuf_release(&rel_path);
 	free(sm_gitdir);
 	free(path);
 	free(p);
@@ -745,7 +783,6 @@
 	struct strbuf displaypath_sb = STRBUF_INIT;
 	struct strbuf sb = STRBUF_INIT;
 	const char *displaypath = NULL;
-	char *url = NULL;
 	int needs_cloning = 0;
 
 	if (ce_stage(ce)) {
@@ -779,15 +816,8 @@
 		goto cleanup;
 	}
 
-	/*
-	 * Looking up the url in .git/config.
-	 * We must not fall back to .gitmodules as we only want
-	 * to process configured submodules.
-	 */
-	strbuf_reset(&sb);
-	strbuf_addf(&sb, "submodule.%s.url", sub->name);
-	git_config_get_string(sb.buf, &url);
-	if (!url) {
+	/* Check if the submodule has been initialized. */
+	if (!is_submodule_initialized(ce->name)) {
 		next_submodule_warn_missing(suc, out, displaypath);
 		goto cleanup;
 	}
@@ -821,7 +851,7 @@
 		argv_array_push(&child->args, "--depth=1");
 	argv_array_pushl(&child->args, "--path", sub->path, NULL);
 	argv_array_pushl(&child->args, "--name", sub->name, NULL);
-	argv_array_pushl(&child->args, "--url", url, NULL);
+	argv_array_pushl(&child->args, "--url", sub->url, NULL);
 	if (suc->references.nr) {
 		struct string_list_item *item;
 		for_each_string_list_item(item, &suc->references)
@@ -831,7 +861,6 @@
 		argv_array_push(&child->args, suc->depth);
 
 cleanup:
-	free(url);
 	strbuf_reset(&displaypath_sb);
 	strbuf_reset(&sb);
 
@@ -1076,21 +1105,118 @@
 	return 0;
 }
 
+static int push_check(int argc, const char **argv, const char *prefix)
+{
+	struct remote *remote;
+
+	if (argc < 2)
+		die("submodule--helper push-check requires at least 1 argument");
+
+	/*
+	 * The remote must be configured.
+	 * This is to avoid pushing to the exact same URL as the parent.
+	 */
+	remote = pushremote_get(argv[1]);
+	if (!remote || remote->origin == REMOTE_UNCONFIGURED)
+		die("remote '%s' not configured", argv[1]);
+
+	/* Check the refspec */
+	if (argc > 2) {
+		int i, refspec_nr = argc - 2;
+		struct ref *local_refs = get_local_heads();
+		struct refspec *refspec = parse_push_refspec(refspec_nr,
+							     argv + 2);
+
+		for (i = 0; i < refspec_nr; i++) {
+			struct refspec *rs = refspec + i;
+
+			if (rs->pattern || rs->matching)
+				continue;
+
+			/*
+			 * LHS must match a single ref
+			 * NEEDSWORK: add logic to special case 'HEAD' once
+			 * working with submodules in a detached head state
+			 * ceases to be the norm.
+			 */
+			if (count_refspec_match(rs->src, local_refs, NULL) != 1)
+				die("src refspec '%s' must name a ref",
+				    rs->src);
+		}
+		free_refspec(refspec_nr, refspec);
+	}
+
+	return 0;
+}
+
+static int absorb_git_dirs(int argc, const char **argv, const char *prefix)
+{
+	int i;
+	struct pathspec pathspec;
+	struct module_list list = MODULE_LIST_INIT;
+	unsigned flags = ABSORB_GITDIR_RECURSE_SUBMODULES;
+
+	struct option embed_gitdir_options[] = {
+		OPT_STRING(0, "prefix", &prefix,
+			   N_("path"),
+			   N_("path into the working tree")),
+		OPT_BIT(0, "--recursive", &flags, N_("recurse into submodules"),
+			ABSORB_GITDIR_RECURSE_SUBMODULES),
+		OPT_END()
+	};
+
+	const char *const git_submodule_helper_usage[] = {
+		N_("git submodule--helper embed-git-dir [<path>...]"),
+		NULL
+	};
+
+	argc = parse_options(argc, argv, prefix, embed_gitdir_options,
+			     git_submodule_helper_usage, 0);
+
+	gitmodules_config();
+	git_config(submodule_config, NULL);
+
+	if (module_list_compute(argc, argv, prefix, &pathspec, &list) < 0)
+		return 1;
+
+	for (i = 0; i < list.nr; i++)
+		absorb_git_dir_into_superproject(prefix,
+				list.entries[i]->name, flags);
+
+	return 0;
+}
+
+static int is_active(int argc, const char **argv, const char *prefix)
+{
+	if (argc != 2)
+		die("submodule--helper is-active takes exactly 1 argument");
+
+	gitmodules_config();
+
+	return !is_submodule_initialized(argv[1]);
+}
+
+#define SUPPORT_SUPER_PREFIX (1<<0)
+
 struct cmd_struct {
 	const char *cmd;
 	int (*fn)(int, const char **, const char *);
+	unsigned option;
 };
 
 static struct cmd_struct commands[] = {
-	{"list", module_list},
-	{"name", module_name},
-	{"clone", module_clone},
-	{"update-clone", update_clone},
-	{"relative-path", resolve_relative_path},
-	{"resolve-relative-url", resolve_relative_url},
-	{"resolve-relative-url-test", resolve_relative_url_test},
-	{"init", module_init},
-	{"remote-branch", resolve_remote_submodule_branch}
+	{"list", module_list, 0},
+	{"name", module_name, 0},
+	{"clone", module_clone, 0},
+	{"update-clone", update_clone, 0},
+	{"relative-path", resolve_relative_path, 0},
+	{"resolve-relative-url", resolve_relative_url, 0},
+	{"resolve-relative-url-test", resolve_relative_url_test, 0},
+	{"init", module_init, SUPPORT_SUPER_PREFIX},
+	{"remote-branch", resolve_remote_submodule_branch, 0},
+	{"push-check", push_check, 0},
+	{"absorb-git-dirs", absorb_git_dirs, SUPPORT_SUPER_PREFIX},
+	{"is-active", is_active, 0},
 };
 
 int cmd_submodule__helper(int argc, const char **argv, const char *prefix)
@@ -1100,9 +1226,15 @@
 		die(_("submodule--helper subcommand must be "
 		      "called with a subcommand"));
 
-	for (i = 0; i < ARRAY_SIZE(commands); i++)
-		if (!strcmp(argv[1], commands[i].cmd))
+	for (i = 0; i < ARRAY_SIZE(commands); i++) {
+		if (!strcmp(argv[1], commands[i].cmd)) {
+			if (get_super_prefix() &&
+			    !(commands[i].option & SUPPORT_SUPER_PREFIX))
+				die(_("%s doesn't support --super-prefix"),
+				    commands[i].cmd);
 			return commands[i].fn(argc - 1, argv + 1, prefix);
+		}
+	}
 
 	die(_("'%s' is not a valid submodule--helper "
 	      "subcommand"), argv[1]);
diff --git a/builtin/symbolic-ref.c b/builtin/symbolic-ref.c
index 96eed94..70addef 100644
--- a/builtin/symbolic-ref.c
+++ b/builtin/symbolic-ref.c
@@ -58,7 +58,7 @@
 			die("Cannot delete %s, not a symbolic ref", argv[0]);
 		if (!strcmp(argv[0], "HEAD"))
 			die("deleting '%s' is not allowed", argv[0]);
-		return delete_ref(argv[0], NULL, REF_NODEREF);
+		return delete_ref(NULL, argv[0], NULL, REF_NODEREF);
 	}
 
 	switch (argc) {
diff --git a/builtin/tag.c b/builtin/tag.c
index 50e4ae5..2224045 100644
--- a/builtin/tag.c
+++ b/builtin/tag.c
@@ -22,9 +22,9 @@
 static const char * const git_tag_usage[] = {
 	N_("git tag [-a | -s | -u <key-id>] [-f] [-m <msg> | -F <file>] <tagname> [<head>]"),
 	N_("git tag -d <tagname>..."),
-	N_("git tag -l [-n[<num>]] [--contains <commit>] [--points-at <object>]"
+	N_("git tag -l [-n[<num>]] [--contains <commit>] [--no-contains <commit>] [--points-at <object>]"
 		"\n\t\t[--format=<format>] [--[no-]merged [<commit>]] [<pattern>...]"),
-	N_("git tag -v <tagname>..."),
+	N_("git tag -v [--format=<format>] <tagname>..."),
 	NULL
 };
 
@@ -45,11 +45,11 @@
 	if (!format) {
 		if (filter->lines) {
 			to_free = xstrfmt("%s %%(contents:lines=%d)",
-					  "%(align:15)%(refname:strip=2)%(end)",
+					  "%(align:15)%(refname:lstrip=2)%(end)",
 					  filter->lines);
 			format = to_free;
 		} else
-			format = "%(refname:strip=2)";
+			format = "%(refname:lstrip=2)";
 	}
 
 	verify_ref_format(format);
@@ -66,46 +66,57 @@
 }
 
 typedef int (*each_tag_name_fn)(const char *name, const char *ref,
-				const unsigned char *sha1);
+				const unsigned char *sha1, const void *cb_data);
 
-static int for_each_tag_name(const char **argv, each_tag_name_fn fn)
+static int for_each_tag_name(const char **argv, each_tag_name_fn fn,
+			     const void *cb_data)
 {
 	const char **p;
-	char ref[PATH_MAX];
+	struct strbuf ref = STRBUF_INIT;
 	int had_error = 0;
 	unsigned char sha1[20];
 
 	for (p = argv; *p; p++) {
-		if (snprintf(ref, sizeof(ref), "refs/tags/%s", *p)
-					>= sizeof(ref)) {
-			error(_("tag name too long: %.*s..."), 50, *p);
-			had_error = 1;
-			continue;
-		}
-		if (read_ref(ref, sha1)) {
+		strbuf_reset(&ref);
+		strbuf_addf(&ref, "refs/tags/%s", *p);
+		if (read_ref(ref.buf, sha1)) {
 			error(_("tag '%s' not found."), *p);
 			had_error = 1;
 			continue;
 		}
-		if (fn(*p, ref, sha1))
+		if (fn(*p, ref.buf, sha1, cb_data))
 			had_error = 1;
 	}
+	strbuf_release(&ref);
 	return had_error;
 }
 
 static int delete_tag(const char *name, const char *ref,
-				const unsigned char *sha1)
+		      const unsigned char *sha1, const void *cb_data)
 {
-	if (delete_ref(ref, sha1, 0))
+	if (delete_ref(NULL, ref, sha1, 0))
 		return 1;
 	printf(_("Deleted tag '%s' (was %s)\n"), name, find_unique_abbrev(sha1, DEFAULT_ABBREV));
 	return 0;
 }
 
 static int verify_tag(const char *name, const char *ref,
-				const unsigned char *sha1)
+		      const unsigned char *sha1, const void *cb_data)
 {
-	return gpg_verify_tag(sha1, name, GPG_VERIFY_VERBOSE);
+	int flags;
+	const char *fmt_pretty = cb_data;
+	flags = GPG_VERIFY_VERBOSE;
+
+	if (fmt_pretty)
+		flags = GPG_VERIFY_OMIT_STATUS;
+
+	if (gpg_verify_tag(sha1, name, flags))
+		return -1;
+
+	if (fmt_pretty)
+		pretty_print_ref(name, sha1, fmt_pretty);
+
+	return 0;
 }
 
 static int do_sign(struct strbuf *buffer)
@@ -217,26 +228,22 @@
 		       unsigned char *prev, unsigned char *result)
 {
 	enum object_type type;
-	char header_buf[1024];
-	int header_len;
+	struct strbuf header = STRBUF_INIT;
 	char *path = NULL;
 
 	type = sha1_object_info(object, NULL);
 	if (type <= OBJ_NONE)
 	    die(_("bad object type."));
 
-	header_len = snprintf(header_buf, sizeof(header_buf),
-			  "object %s\n"
-			  "type %s\n"
-			  "tag %s\n"
-			  "tagger %s\n\n",
-			  sha1_to_hex(object),
-			  typename(type),
-			  tag,
-			  git_committer_info(IDENT_STRICT));
-
-	if (header_len > sizeof(header_buf) - 1)
-		die(_("tag header too big."));
+	strbuf_addf(&header,
+		    "object %s\n"
+		    "type %s\n"
+		    "tag %s\n"
+		    "tagger %s\n\n",
+		    sha1_to_hex(object),
+		    typename(type),
+		    tag,
+		    git_committer_info(IDENT_STRICT));
 
 	if (!opt->message_given) {
 		int fd;
@@ -274,7 +281,8 @@
 	if (!opt->message_given && !buf->len)
 		die(_("no tag message?"));
 
-	strbuf_insert(buf, 0, header_buf, header_len);
+	strbuf_insert(buf, 0, header.buf, header.len);
+	strbuf_release(&header);
 
 	if (build_tag_object(buf, opt->sign, result) < 0) {
 		if (path)
@@ -288,6 +296,54 @@
 	}
 }
 
+static void create_reflog_msg(const unsigned char *sha1, struct strbuf *sb)
+{
+	enum object_type type;
+	struct commit *c;
+	char *buf;
+	unsigned long size;
+	int subject_len = 0;
+	const char *subject_start;
+
+	char *rla = getenv("GIT_REFLOG_ACTION");
+	if (rla) {
+		strbuf_addstr(sb, rla);
+	} else {
+		strbuf_addstr(sb, _("tag: tagging "));
+		strbuf_add_unique_abbrev(sb, sha1, DEFAULT_ABBREV);
+	}
+
+	strbuf_addstr(sb, " (");
+	type = sha1_object_info(sha1, NULL);
+	switch (type) {
+	default:
+		strbuf_addstr(sb, _("object of unknown type"));
+		break;
+	case OBJ_COMMIT:
+		if ((buf = read_sha1_file(sha1, &type, &size)) != NULL) {
+			subject_len = find_commit_subject(buf, &subject_start);
+			strbuf_insert(sb, sb->len, subject_start, subject_len);
+		} else {
+			strbuf_addstr(sb, _("commit object"));
+		}
+		free(buf);
+
+		if ((c = lookup_commit_reference(sha1)) != NULL)
+			strbuf_addf(sb, ", %s", show_date(c->date, 0, DATE_MODE(SHORT)));
+		break;
+	case OBJ_TREE:
+		strbuf_addstr(sb, _("tree object"));
+		break;
+	case OBJ_BLOB:
+		strbuf_addstr(sb, _("blob object"));
+		break;
+	case OBJ_TAG:
+		strbuf_addstr(sb, _("other tag object"));
+		break;
+	}
+	strbuf_addch(sb, ')');
+}
+
 struct msg_arg {
 	int given;
 	struct strbuf buf;
@@ -321,6 +377,7 @@
 {
 	struct strbuf buf = STRBUF_INIT;
 	struct strbuf ref = STRBUF_INIT;
+	struct strbuf reflog_msg = STRBUF_INIT;
 	unsigned char object[20], prev[20];
 	const char *object_ref, *tag;
 	struct create_tag_options opt;
@@ -335,6 +392,7 @@
 	struct ref_filter filter;
 	static struct ref_sorting *sorting = NULL, **sorting_tail = &sorting;
 	const char *format = NULL;
+	int icase = 0;
 	struct option options[] = {
 		OPT_CMDMODE('l', "list", &cmdmode, N_("list tag names"), 'l'),
 		{ OPTION_INTEGER, 'n', NULL, &filter.lines, N_("n"),
@@ -360,19 +418,25 @@
 		OPT_GROUP(N_("Tag listing options")),
 		OPT_COLUMN(0, "column", &colopts, N_("show tag list in columns")),
 		OPT_CONTAINS(&filter.with_commit, N_("print only tags that contain the commit")),
+		OPT_NO_CONTAINS(&filter.no_commit, N_("print only tags that don't contain the commit")),
 		OPT_WITH(&filter.with_commit, N_("print only tags that contain the commit")),
+		OPT_WITHOUT(&filter.no_commit, N_("print only tags that don't contain the commit")),
 		OPT_MERGED(&filter, N_("print only tags that are merged")),
 		OPT_NO_MERGED(&filter, N_("print only tags that are not merged")),
 		OPT_CALLBACK(0 , "sort", sorting_tail, N_("key"),
 			     N_("field name to sort on"), &parse_opt_ref_sorting),
 		{
 			OPTION_CALLBACK, 0, "points-at", &filter.points_at, N_("object"),
-			N_("print only tags of the object"), 0, parse_opt_object_name
+			N_("print only tags of the object"), PARSE_OPT_LASTARG_DEFAULT,
+			parse_opt_object_name, (intptr_t) "HEAD"
 		},
 		OPT_STRING(  0 , "format", &format, N_("format"), N_("format to use for the output")),
+		OPT_BOOL('i', "ignore-case", &icase, N_("sorting and filtering are case insensitive")),
 		OPT_END()
 	};
 
+	setup_ref_filter_porcelain_msg();
+
 	git_config(git_tag_config, sorting_tail);
 
 	memset(&opt, 0, sizeof(opt));
@@ -387,8 +451,14 @@
 	}
 	create_tag_object = (opt.sign || annotate || msg.given || msgfile);
 
-	if (argc == 0 && !cmdmode)
-		cmdmode = 'l';
+	if (!cmdmode) {
+		if (argc == 0)
+			cmdmode = 'l';
+		else if (filter.with_commit || filter.no_commit ||
+			 filter.points_at.nr || filter.merge_commit ||
+			 filter.lines != -1)
+			cmdmode = 'l';
+	}
 
 	if ((create_tag_object || force) && (cmdmode != 0))
 		usage_with_options(git_tag_usage, options);
@@ -401,6 +471,8 @@
 	}
 	if (!sorting)
 		sorting = ref_default_sorting();
+	sorting->ignore_case = icase;
+	filter.ignore_case = icase;
 	if (cmdmode == 'l') {
 		int ret;
 		if (column_active(colopts)) {
@@ -416,17 +488,22 @@
 		return ret;
 	}
 	if (filter.lines != -1)
-		die(_("-n option is only allowed with -l."));
+		die(_("-n option is only allowed in list mode"));
 	if (filter.with_commit)
-		die(_("--contains option is only allowed with -l."));
+		die(_("--contains option is only allowed in list mode"));
+	if (filter.no_commit)
+		die(_("--no-contains option is only allowed in list mode"));
 	if (filter.points_at.nr)
-		die(_("--points-at option is only allowed with -l."));
+		die(_("--points-at option is only allowed in list mode"));
 	if (filter.merge_commit)
-		die(_("--merged and --no-merged option are only allowed with -l"));
+		die(_("--merged and --no-merged options are only allowed in list mode"));
 	if (cmdmode == 'd')
-		return for_each_tag_name(argv, delete_tag);
-	if (cmdmode == 'v')
-		return for_each_tag_name(argv, verify_tag);
+		return for_each_tag_name(argv, delete_tag, NULL);
+	if (cmdmode == 'v') {
+		if (format)
+			verify_ref_format(format);
+		return for_each_tag_name(argv, verify_tag, format);
+	}
 
 	if (msg.given || msgfile) {
 		if (msg.given && msgfile)
@@ -473,6 +550,8 @@
 	else
 		die(_("Invalid cleanup mode %s"), cleanup_arg);
 
+	create_reflog_msg(object, &reflog_msg);
+
 	if (create_tag_object) {
 		if (force_sign_annotate && !annotate)
 			opt.sign = 1;
@@ -483,7 +562,7 @@
 	if (!transaction ||
 	    ref_transaction_update(transaction, ref.buf, object, prev,
 				   create_reflog ? REF_FORCE_CREATE_REFLOG : 0,
-				   NULL, &err) ||
+				   reflog_msg.buf, &err) ||
 	    ref_transaction_commit(transaction, &err))
 		die("%s", err.buf);
 	ref_transaction_free(transaction);
@@ -493,5 +572,6 @@
 	strbuf_release(&err);
 	strbuf_release(&buf);
 	strbuf_release(&ref);
+	strbuf_release(&reflog_msg);
 	return 0;
 }
diff --git a/builtin/update-index.c b/builtin/update-index.c
index f3f07e7..ebfc09f 100644
--- a/builtin/update-index.c
+++ b/builtin/update-index.c
@@ -125,12 +125,16 @@
 	struct stat st;
 	struct stat_data base;
 	int fd, ret = 0;
+	char *cwd;
 
 	strbuf_addstr(&mtime_dir, "mtime-test-XXXXXX");
 	if (!mkdtemp(mtime_dir.buf))
 		die_errno("Could not make temporary directory");
 
-	fprintf(stderr, _("Testing mtime in '%s' "), xgetcwd());
+	cwd = xgetcwd();
+	fprintf(stderr, _("Testing mtime in '%s' "), cwd);
+	free(cwd);
+
 	atexit(remove_test_directory);
 	xstat_mtime_dir(&st);
 	fill_stat_data(&base, &st);
@@ -1012,6 +1016,7 @@
 	/* We can't free this memory, it becomes part of a linked list parsed atexit() */
 	lock_file = xcalloc(1, sizeof(struct lock_file));
 
+	/* we will diagnose later if it turns out that we need to update it */
 	newfd = hold_locked_index(lock_file, 0);
 	if (newfd < 0)
 		lock_error = errno;
@@ -1098,17 +1103,20 @@
 	}
 
 	if (split_index > 0) {
-		init_split_index(&the_index);
-		the_index.cache_changed |= SPLIT_INDEX_ORDERED;
-	} else if (!split_index && the_index.split_index) {
-		/*
-		 * can't discard_split_index(&the_index); because that
-		 * will destroy split_index->base->cache[], which may
-		 * be shared with the_index.cache[]. So yeah we're
-		 * leaking a bit here.
-		 */
-		the_index.split_index = NULL;
-		the_index.cache_changed |= SOMETHING_CHANGED;
+		if (git_config_get_split_index() == 0)
+			warning(_("core.splitIndex is set to false; "
+				  "remove or change it, if you really want to "
+				  "enable split index"));
+		if (the_index.split_index)
+			the_index.cache_changed |= SPLIT_INDEX_ORDERED;
+		else
+			add_split_index(&the_index);
+	} else if (!split_index) {
+		if (git_config_get_split_index() == 1)
+			warning(_("core.splitIndex is set to true; "
+				  "remove or change it, if you really want to "
+				  "disable split index"));
+		remove_split_index(&the_index);
 	}
 
 	switch (untracked_cache) {
diff --git a/builtin/update-ref.c b/builtin/update-ref.c
index 7f30d3a..0b2ecf4 100644
--- a/builtin/update-ref.c
+++ b/builtin/update-ref.c
@@ -433,7 +433,7 @@
 		 * For purposes of backwards compatibility, we treat
 		 * NULL_SHA1 as "don't care" here:
 		 */
-		return delete_ref(refname,
+		return delete_ref(msg, refname,
 				  (oldval && !is_null_sha1(oldsha1)) ? oldsha1 : NULL,
 				  flags);
 	else
diff --git a/builtin/verify-tag.c b/builtin/verify-tag.c
index 99f8148..5199553 100644
--- a/builtin/verify-tag.c
+++ b/builtin/verify-tag.c
@@ -12,9 +12,10 @@
 #include <signal.h>
 #include "parse-options.h"
 #include "gpg-interface.h"
+#include "ref-filter.h"
 
 static const char * const verify_tag_usage[] = {
-		N_("git verify-tag [-v | --verbose] <tag>..."),
+		N_("git verify-tag [-v | --verbose] [--format=<format>] <tag>..."),
 		NULL
 };
 
@@ -30,9 +31,11 @@
 {
 	int i = 1, verbose = 0, had_error = 0;
 	unsigned flags = 0;
+	char *fmt_pretty = NULL;
 	const struct option verify_tag_options[] = {
 		OPT__VERBOSE(&verbose, N_("print tag contents")),
 		OPT_BIT(0, "raw", &flags, N_("print raw gpg status output"), GPG_VERIFY_RAW),
+		OPT_STRING(  0 , "format", &fmt_pretty, N_("format"), N_("format to use for the output")),
 		OPT_END()
 	};
 
@@ -46,13 +49,26 @@
 	if (verbose)
 		flags |= GPG_VERIFY_VERBOSE;
 
+	if (fmt_pretty) {
+		verify_ref_format(fmt_pretty);
+		flags |= GPG_VERIFY_OMIT_STATUS;
+	}
+
 	while (i < argc) {
 		unsigned char sha1[20];
 		const char *name = argv[i++];
-		if (get_sha1(name, sha1))
+		if (get_sha1(name, sha1)) {
 			had_error = !!error("tag '%s' not found.", name);
-		else if (gpg_verify_tag(sha1, name, flags))
+			continue;
+		}
+
+		if (gpg_verify_tag(sha1, name, flags)) {
 			had_error = 1;
+			continue;
+		}
+
+		if (fmt_pretty)
+			pretty_print_ref(name, sha1, fmt_pretty);
 	}
 	return had_error;
 }
diff --git a/builtin/worktree.c b/builtin/worktree.c
index 9a97e37..9993ded 100644
--- a/builtin/worktree.c
+++ b/builtin/worktree.c
@@ -125,9 +125,9 @@
 {
 	struct option options[] = {
 		OPT__DRY_RUN(&show_only, N_("do not remove, show only")),
-		OPT__VERBOSE(&verbose, N_("report pruned objects")),
+		OPT__VERBOSE(&verbose, N_("report pruned working trees")),
 		OPT_EXPIRY_DATE(0, "expire", &expire,
-				N_("expire objects older than <time>")),
+				N_("expire working trees older than <time>")),
 		OPT_END()
 	};
 
@@ -318,7 +318,8 @@
 {
 	struct add_opts opts;
 	const char *new_branch_force = NULL;
-	const char *path, *branch;
+	char *path;
+	const char *branch;
 	struct option options[] = {
 		OPT__FORCE(&opts.force, N_("checkout <branch> even if already checked out in other worktree")),
 		OPT_STRING('b', NULL, &opts.new_branch, N_("branch"),
@@ -338,7 +339,7 @@
 	if (ac < 1 || ac > 2)
 		usage_with_options(worktree_usage, options);
 
-	path = prefix_filename(prefix, strlen(prefix), av[0]);
+	path = prefix_filename(prefix, av[0]);
 	branch = ac < 2 ? "HEAD" : av[1];
 
 	if (!strcmp(branch, "-"))
diff --git a/bulk-checkin.c b/bulk-checkin.c
index 991b4a1..ddb6070 100644
--- a/bulk-checkin.c
+++ b/bulk-checkin.c
@@ -105,7 +105,7 @@
 
 	git_deflate_init(&s, pack_compression_level);
 
-	hdrlen = encode_in_pack_object_header(type, size, obuf);
+	hdrlen = encode_in_pack_object_header(obuf, sizeof(obuf), type, size);
 	s.next_out = obuf + hdrlen;
 	s.avail_out = sizeof(obuf) - hdrlen;
 
diff --git a/cache.h b/cache.h
index 6556fbb..ba27595 100644
--- a/cache.h
+++ b/cache.h
@@ -10,8 +10,8 @@
 #include "trace.h"
 #include "string-list.h"
 #include "pack-revindex.h"
+#include "hash.h"
 
-#include SHA1_HEADER
 #ifndef platform_SHA_CTX
 /*
  * platform's underlying implementation of SHA-1; could be OpenSSL,
@@ -66,8 +66,12 @@
 #define GIT_SHA1_RAWSZ 20
 #define GIT_SHA1_HEXSZ (2 * GIT_SHA1_RAWSZ)
 
+/* The length in byte and in hex digits of the largest possible hash value. */
+#define GIT_MAX_RAWSZ GIT_SHA1_RAWSZ
+#define GIT_MAX_HEXSZ GIT_SHA1_HEXSZ
+
 struct object_id {
-	unsigned char hash[GIT_SHA1_RAWSZ];
+	unsigned char hash[GIT_MAX_RAWSZ];
 };
 
 #if defined(DT_UNKNOWN) && !defined(NO_D_TYPE_IN_DIRENT)
@@ -411,6 +415,7 @@
 #define GIT_WORK_TREE_ENVIRONMENT "GIT_WORK_TREE"
 #define GIT_PREFIX_ENVIRONMENT "GIT_PREFIX"
 #define GIT_SUPER_PREFIX_ENVIRONMENT "GIT_INTERNAL_SUPER_PREFIX"
+#define GIT_TOPLEVEL_PREFIX_ENVIRONMENT "GIT_INTERNAL_TOPLEVEL_PREFIX"
 #define DEFAULT_GIT_DIR_ENVIRONMENT ".git"
 #define DB_ENVIRONMENT "GIT_OBJECT_DIRECTORY"
 #define INDEX_ENVIRONMENT "GIT_INDEX_FILE"
@@ -508,20 +513,41 @@
 #define READ_GITFILE_ERR_NO_PATH 6
 #define READ_GITFILE_ERR_NOT_A_REPO 7
 #define READ_GITFILE_ERR_TOO_LARGE 8
+extern void read_gitfile_error_die(int error_code, const char *path, const char *dir);
 extern const char *read_gitfile_gently(const char *path, int *return_error_code);
 #define read_gitfile(path) read_gitfile_gently((path), NULL)
-extern const char *resolve_gitdir(const char *suspect);
+extern const char *resolve_gitdir_gently(const char *suspect, int *return_error_code);
+#define resolve_gitdir(path) resolve_gitdir_gently((path), NULL)
+
 extern void set_git_work_tree(const char *tree);
 
 #define ALTERNATE_DB_ENVIRONMENT "GIT_ALTERNATE_OBJECT_DIRECTORIES"
 
-extern const char **get_pathspec(const char *prefix, const char **pathspec);
 extern void setup_work_tree(void);
+/*
+ * Find GIT_DIR of the repository that contains the current working directory,
+ * without changing the working directory or other global state. The result is
+ * appended to gitdir. The return value is either NULL if no repository was
+ * found, or pointing to the path inside gitdir's buffer.
+ */
+extern const char *discover_git_directory(struct strbuf *gitdir);
 extern const char *setup_git_directory_gently(int *);
 extern const char *setup_git_directory(void);
 extern char *prefix_path(const char *prefix, int len, const char *path);
 extern char *prefix_path_gently(const char *prefix, int len, int *remaining, const char *path);
-extern const char *prefix_filename(const char *prefix, int len, const char *path);
+
+/*
+ * Concatenate "prefix" (if len is non-zero) and "path", with no
+ * connecting characters (so "prefix" should end with a "/").
+ * Unlike prefix_path, this should be used if the named file does
+ * not have to interact with index entry; i.e. name of a random file
+ * on the filesystem.
+ *
+ * The return value is always a newly allocated string (even if the
+ * prefix was empty).
+ */
+extern char *prefix_filename(const char *prefix, const char *path);
+
 extern int check_filename(const char *prefix, const char *name);
 extern void verify_filename(const char *prefix,
 			    const char *name,
@@ -632,7 +658,7 @@
 extern int ce_same_name(const struct cache_entry *a, const struct cache_entry *b);
 extern void set_object_name_for_intent_to_add_entry(struct cache_entry *ce);
 extern int index_name_is_other(const struct index_state *, const char *, int);
-extern void *read_blob_data_from_index(struct index_state *, const char *, unsigned long *);
+extern void *read_blob_data_from_index(const struct index_state *, const char *, unsigned long *);
 
 /* do stat comparison even if CE_VALID is true */
 #define CE_MATCH_IGNORE_VALID		01
@@ -694,7 +720,6 @@
 extern int ignore_case;
 extern int assume_unchanged;
 extern int prefer_symlink_refs;
-extern int log_all_ref_updates;
 extern int warn_ambiguous_refs;
 extern int warn_on_object_refname_ambiguity;
 extern const char *apply_default_whitespace;
@@ -762,6 +787,14 @@
 };
 extern enum hide_dotfiles_type hide_dotfiles;
 
+enum log_refs_config {
+	LOG_REFS_UNSET = -1,
+	LOG_REFS_NONE = 0,
+	LOG_REFS_NORMAL,
+	LOG_REFS_ALWAYS
+};
+extern enum log_refs_config log_all_ref_updates;
+
 enum branch_track {
 	BRANCH_TRACK_UNSPECIFIED = -1,
 	BRANCH_TRACK_NEVER = 0,
@@ -949,7 +982,7 @@
 extern const char *find_unique_abbrev(const unsigned char *sha1, int len);
 extern int find_unique_abbrev_r(char *hex, const unsigned char *sha1, int len);
 
-extern const unsigned char null_sha1[GIT_SHA1_RAWSZ];
+extern const unsigned char null_sha1[GIT_MAX_RAWSZ];
 extern const struct object_id null_oid;
 
 static inline int hashcmp(const unsigned char *sha1, const unsigned char *sha2)
@@ -1037,9 +1070,6 @@
 	return !hashcmp(oid->hash, EMPTY_TREE_SHA1_BIN);
 }
 
-
-int git_mkstemp(char *path, size_t n, const char *template);
-
 /* set default permissions by passing mode arguments to open(2) */
 int git_mkstemps_mode(char *pattern, int suffix_len, int mode);
 int git_mkstemp_mode(char *pattern, int mode);
@@ -1064,8 +1094,9 @@
 
 /*
  * Create the directory containing the named path, using care to be
- * somewhat safe against races.  Return one of the scld_error values
- * to indicate success/failure.
+ * somewhat safe against races. Return one of the scld_error values to
+ * indicate success/failure. On error, set errno to describe the
+ * problem.
  *
  * SCLD_VANISHED indicates that one of the ancestor directories of the
  * path existed at one point during the function call and then
@@ -1089,6 +1120,49 @@
 enum scld_error safe_create_leading_directories(char *path);
 enum scld_error safe_create_leading_directories_const(const char *path);
 
+/*
+ * Callback function for raceproof_create_file(). This function is
+ * expected to do something that makes dirname(path) permanent despite
+ * the fact that other processes might be cleaning up empty
+ * directories at the same time. Usually it will create a file named
+ * path, but alternatively it could create another file in that
+ * directory, or even chdir() into that directory. The function should
+ * return 0 if the action was completed successfully. On error, it
+ * should return a nonzero result and set errno.
+ * raceproof_create_file() treats two errno values specially:
+ *
+ * - ENOENT -- dirname(path) does not exist. In this case,
+ *             raceproof_create_file() tries creating dirname(path)
+ *             (and any parent directories, if necessary) and calls
+ *             the function again.
+ *
+ * - EISDIR -- the file already exists and is a directory. In this
+ *             case, raceproof_create_file() removes the directory if
+ *             it is empty (and recursively any empty directories that
+ *             it contains) and calls the function again.
+ *
+ * Any other errno causes raceproof_create_file() to fail with the
+ * callback's return value and errno.
+ *
+ * Obviously, this function should be OK with being called again if it
+ * fails with ENOENT or EISDIR. In other scenarios it will not be
+ * called again.
+ */
+typedef int create_file_fn(const char *path, void *cb);
+
+/*
+ * Create a file in dirname(path) by calling fn, creating leading
+ * directories if necessary. Retry a few times in case we are racing
+ * with another process that is trying to clean up the directory that
+ * contains path. See the documentation for create_file_fn for more
+ * details.
+ *
+ * Return the value and set the errno that resulted from the most
+ * recent call of fn. fn is always called at least once, and will be
+ * called more than once if it returns ENOENT or EISDIR.
+ */
+int raceproof_create_file(const char *path, create_file_fn fn, void *cb);
+
 int mkdir_in_gitdir(const char *path);
 extern char *expand_user_path(const char *path);
 const char *enter_repo(const char *path, int strict);
@@ -1097,9 +1171,13 @@
 	return is_dir_sep(path[0]) || has_dos_drive_prefix(path);
 }
 int is_directory(const char *);
+char *strbuf_realpath(struct strbuf *resolved, const char *path,
+		      int die_on_error);
 const char *real_path(const char *path);
 const char *real_path_if_valid(const char *path);
+char *real_pathdup(const char *path, int die_on_error);
 const char *absolute_path(const char *path);
+char *absolute_pathdup(const char *path);
 const char *remove_leading_path(const char *in, const char *prefix);
 const char *relative_path(const char *in, const char *prefix, struct strbuf *sb);
 int normalize_path_copy_len(char *dst, const char *src, int *prefix_len);
@@ -1116,6 +1194,13 @@
  */
 extern char *xdg_config_home(const char *filename);
 
+/**
+ * Return a newly allocated string with the evaluation of
+ * "$XDG_CACHE_HOME/git/$filename" if $XDG_CACHE_HOME is non-empty, otherwise
+ * "$HOME/.cache/git/$filename". Return NULL upon error.
+ */
+extern char *xdg_cache_home(const char *filename);
+
 /* object replacement */
 #define LOOKUP_REPLACE_OBJECT 1
 #define LOOKUP_UNKNOWN_OBJECT 2
@@ -1158,7 +1243,8 @@
 extern int hash_sha1_file_literally(const void *buf, unsigned long len, const char *type, unsigned char *sha1, unsigned flags);
 extern int pretend_sha1_file(void *, unsigned long, enum object_type, unsigned char *);
 extern int force_object_loose(const unsigned char *sha1, time_t mtime);
-extern int git_open(const char *name);
+extern int git_open_cloexec(const char *name, int flags);
+#define git_open(name) git_open_cloexec(name, O_RDONLY)
 extern void *map_sha1_file(const unsigned char *sha1, unsigned long *size);
 extern int unpack_sha1_header(git_zstream *stream, unsigned char *map, unsigned long mapsize, void *buffer, unsigned long bufsiz);
 extern int parse_sha1_header(const char *hdr, unsigned long *sizep);
@@ -1173,6 +1259,19 @@
 extern int has_sha1_pack(const unsigned char *sha1);
 
 /*
+ * Open the loose object at path, check its sha1, and return the contents,
+ * type, and size. If the object is a blob, then "contents" may return NULL,
+ * to allow streaming of large blobs.
+ *
+ * Returns 0 on success, negative on error (details may be written to stderr).
+ */
+int read_loose_object(const char *path,
+		      const unsigned char *expected_sha1,
+		      enum object_type *type,
+		      unsigned long *size,
+		      void **contents);
+
+/*
  * Return true iff we have an object named sha1, whether local or in
  * an alternate object database, and whether packed or loose.  This
  * function does not respect replace references.
@@ -1203,6 +1302,9 @@
 
 extern void assert_sha1_type(const unsigned char *sha1, enum object_type expect);
 
+/* Helper to check and "touch" a file */
+extern int check_and_freshen_file(const char *fn, int freshen);
+
 extern const signed char hexval_table[256];
 static inline unsigned int hexval(unsigned char c)
 {
@@ -1262,7 +1364,7 @@
 
 extern int get_oid(const char *str, struct object_id *oid);
 
-typedef int each_abbrev_fn(const unsigned char *sha1, void *);
+typedef int each_abbrev_fn(const struct object_id *oid, void *);
 extern int for_each_abbrev(const char *prefix, each_abbrev_fn, void *);
 
 extern int set_disambiguate_hint_config(const char *var, const char *value);
@@ -1293,7 +1395,46 @@
 extern char *sha1_to_hex(const unsigned char *sha1);	/* static buffer result! */
 extern char *oid_to_hex(const struct object_id *oid);	/* same static buffer as sha1_to_hex */
 
-extern int interpret_branch_name(const char *str, int len, struct strbuf *);
+/*
+ * Parse a 40-character hexadecimal object ID starting from hex, updating the
+ * pointer specified by end when parsing stops.  The resulting object ID is
+ * stored in oid.  Returns 0 on success.  Parsing will stop on the first NUL or
+ * other invalid character.  end is only updated on success; otherwise, it is
+ * unmodified.
+ */
+extern int parse_oid_hex(const char *hex, struct object_id *oid, const char **end);
+
+/*
+ * This reads short-hand syntax that not only evaluates to a commit
+ * object name, but also can act as if the end user spelled the name
+ * of the branch from the command line.
+ *
+ * - "@{-N}" finds the name of the Nth previous branch we were on, and
+ *   places the name of the branch in the given buf and returns the
+ *   number of characters parsed if successful.
+ *
+ * - "<branch>@{upstream}" finds the name of the other ref that
+ *   <branch> is configured to merge with (missing <branch> defaults
+ *   to the current branch), and places the name of the branch in the
+ *   given buf and returns the number of characters parsed if
+ *   successful.
+ *
+ * If the input is not of the accepted format, it returns a negative
+ * number to signal an error.
+ *
+ * If the input was ok but there are not N branch switches in the
+ * reflog, it returns 0.
+ *
+ * If "allowed" is non-zero, it is a treated as a bitfield of allowable
+ * expansions: local branches ("refs/heads/"), remote branches
+ * ("refs/remotes/"), or "HEAD". If no "allowed" bits are set, any expansion is
+ * allowed, even ones to refs outside of those namespaces.
+ */
+#define INTERPRET_BRANCH_LOCAL (1<<0)
+#define INTERPRET_BRANCH_REMOTE (1<<1)
+#define INTERPRET_BRANCH_HEAD (1<<2)
+extern int interpret_branch_name(const char *str, int len, struct strbuf *,
+				 unsigned allowed);
 extern int get_oid_mb(const char *str, struct object_id *oid);
 
 extern int validate_headref(const char *ref);
@@ -1538,6 +1679,30 @@
 extern void pack_report(void);
 
 /*
+ * Create a temporary file rooted in the object database directory, or
+ * die on failure. The filename is taken from "pattern", which should have the
+ * usual "XXXXXX" trailer, and the resulting filename is written into the
+ * "template" buffer. Returns the open descriptor.
+ */
+extern int odb_mkstemp(struct strbuf *template, const char *pattern);
+
+/*
+ * Generate the filename to be used for a pack file with checksum "sha1" and
+ * extension "ext". The result is written into the strbuf "buf", overwriting
+ * any existing contents. A pointer to buf->buf is returned as a convenience.
+ *
+ * Example: odb_pack_name(out, sha1, "idx") => ".git/objects/pack/pack-1234..idx"
+ */
+extern char *odb_pack_name(struct strbuf *buf, const unsigned char *sha1, const char *ext);
+
+/*
+ * Create a pack .keep file named "name" (which should generally be the output
+ * of odb_pack_name). Returns a file descriptor opened for writing, or -1 on
+ * error.
+ */
+extern int odb_pack_keep(const char *name);
+
+/*
  * mmap the index file for the specified packfile (if it is not
  * already mmapped).  Return 0 on success.
  */
@@ -1573,6 +1738,12 @@
  * error.
  */
 extern const unsigned char *nth_packed_object_sha1(struct packed_git *, uint32_t n);
+/*
+ * Like nth_packed_object_sha1, but write the data into the object specified by
+ * the the first argument.  Returns the first argument on success, and NULL on
+ * error.
+ */
+extern const struct object_id *nth_packed_object_oid(struct object_id *, struct packed_git *, uint32_t n);
 
 /*
  * Return the offset of the nth object within the specified packfile.
@@ -1614,7 +1785,7 @@
  * scratch buffer, but restored to its original contents before
  * the function returns.
  */
-typedef int each_loose_object_fn(const unsigned char *sha1,
+typedef int each_loose_object_fn(const struct object_id *oid,
 				 const char *path,
 				 void *data);
 typedef int each_loose_cruft_fn(const char *basename,
@@ -1640,7 +1811,7 @@
  * LOCAL_ONLY flag is set).
  */
 #define FOR_EACH_OBJECT_LOCAL_ONLY 0x1
-typedef int each_packed_object_fn(const unsigned char *sha1,
+typedef int each_packed_object_fn(const struct object_id *oid,
 				  struct packed_git *pack,
 				  uint32_t pos,
 				  void *data);
@@ -1723,8 +1894,11 @@
 extern int git_config_from_file(config_fn_t fn, const char *, void *);
 extern int git_config_from_mem(config_fn_t fn, const enum config_origin_type,
 					const char *name, const char *buf, size_t len, void *data);
+extern int git_config_from_blob_sha1(config_fn_t fn, const char *name,
+				     const unsigned char *sha1, void *data);
 extern void git_config_push_parameter(const char *text);
 extern int git_config_from_parameters(config_fn_t fn, void *data);
+extern void read_early_config(config_fn_t cb, void *data);
 extern void git_config(config_fn_t fn, void *);
 extern int git_config_with_options(config_fn_t fn, void *,
 				   struct git_config_source *config_source,
@@ -1791,8 +1965,11 @@
  *
  * (i.e., what gets handed to a config_fn_t). The caller provides the section;
  * we return -1 if it does not match, 0 otherwise. The subsection and key
- * out-parameters are filled by the function (and subsection is NULL if it is
+ * out-parameters are filled by the function (and *subsection is NULL if it is
  * missing).
+ *
+ * If the subsection pointer-to-pointer passed in is NULL, returns 0 only if
+ * there is no subsection at all.
  */
 extern int parse_config_key(const char *var,
 			    const char *section,
@@ -1854,6 +2031,11 @@
 extern int git_config_get_maybe_bool(const char *key, int *dest);
 extern int git_config_get_pathname(const char *key, const char **dest);
 extern int git_config_get_untracked_cache(void);
+extern int git_config_get_split_index(void);
+extern int git_config_get_max_percent_split_change(void);
+
+/* This dies if the configured or default date is in the future */
+extern int git_config_get_expiry(const char *key, const char **output);
 
 /*
  * This is a hack for test programs like test-dump-untracked-cache to
diff --git a/ci/run-linux32-build.sh b/ci/run-linux32-build.sh
new file mode 100755
index 0000000..e30fb2c
--- /dev/null
+++ b/ci/run-linux32-build.sh
@@ -0,0 +1,30 @@
+#!/bin/sh
+#
+# Build and test Git in a 32-bit environment
+#
+# Usage:
+#   run-linux32-build.sh [host-user-id]
+#
+
+# Update packages to the latest available versions
+linux32 --32bit i386 sh -c '
+    apt update >/dev/null &&
+    apt install -y build-essential libcurl4-openssl-dev libssl-dev \
+	libexpat-dev gettext python >/dev/null
+' &&
+
+# If this script runs inside a docker container, then all commands are
+# usually executed as root. Consequently, the host user might not be
+# able to access the test output files.
+# If a host user id is given, then create a user "ci" with the host user
+# id to make everything accessible to the host user.
+HOST_UID=$1 &&
+CI_USER=$USER &&
+test -z $HOST_UID || (CI_USER="ci" && useradd -u $HOST_UID $CI_USER) &&
+
+# Build and test
+linux32 --32bit i386 su -m -l $CI_USER -c '
+    cd /usr/src/git &&
+    make --jobs=2 &&
+    make --quiet test
+'
diff --git a/ci/run-windows-build.sh b/ci/run-windows-build.sh
new file mode 100755
index 0000000..4e3a50b
--- /dev/null
+++ b/ci/run-windows-build.sh
@@ -0,0 +1,74 @@
+#!/usr/bin/env bash
+#
+# Script to trigger the a Git for Windows build and test run.
+# Set the $GFW_CI_TOKEN as environment variable.
+# Pass the branch (only branches on https://github.com/git/git are
+# supported) and a commit hash.
+#
+
+test $# -ne 2 && echo "Unexpected number of parameters" && exit 1
+test -z "$GFW_CI_TOKEN" && echo "GFW_CI_TOKEN not defined" && exit
+
+BRANCH=$1
+COMMIT=$2
+
+gfwci () {
+	local CURL_ERROR_CODE HTTP_CODE
+	exec 3>&1
+	HTTP_CODE=$(curl \
+		-H "Authentication: Bearer $GFW_CI_TOKEN" \
+		--silent --retry 5 --write-out '%{HTTP_CODE}' \
+		--output >(sed "$(printf '1s/^\xef\xbb\xbf//')" >cat >&3) \
+		"https://git-for-windows-ci.azurewebsites.net/api/TestNow?$1" \
+	)
+	CURL_ERROR_CODE=$?
+	if test $CURL_ERROR_CODE -ne 0
+	then
+		return $CURL_ERROR_CODE
+	fi
+	if test "$HTTP_CODE" -ge 400 && test "$HTTP_CODE" -lt 600
+	then
+		return 127
+	fi
+}
+
+# Trigger build job
+BUILD_ID=$(gfwci "action=trigger&branch=$BRANCH&commit=$COMMIT&skipTests=false")
+if test $? -ne 0
+then
+	echo "Unable to trigger Visual Studio Team Services Build"
+	echo "$BUILD_ID"
+	exit 1
+fi
+
+# Check if the $BUILD_ID contains a number
+case $BUILD_ID in
+''|*[!0-9]*) echo "Unexpected build number: $BUILD_ID" && exit 1
+esac
+
+echo "Visual Studio Team Services Build #${BUILD_ID}"
+
+# Wait until build job finished
+STATUS=
+RESULT=
+while true
+do
+	LAST_STATUS=$STATUS
+	STATUS=$(gfwci "action=status&buildId=$BUILD_ID")
+	test "$STATUS" = "$LAST_STATUS" || printf "\nStatus: $STATUS "
+	printf "."
+
+	case "$STATUS" in
+	inProgress|postponed|notStarted) sleep 10               ;; # continue
+		 "completed: succeeded") RESULT="success"; break;; # success
+	*) echo "Unhandled status: $STATUS";               break;; # failure
+	esac
+done
+
+# Print log
+echo ""
+echo ""
+gfwci "action=log&buildId=$BUILD_ID" | cut -c 30-
+
+# Set exit code for TravisCI
+test "$RESULT" = "success"
diff --git a/color.c b/color.c
index 1b95e6b..dee6155 100644
--- a/color.c
+++ b/color.c
@@ -207,7 +207,17 @@
 	struct color fg = { COLOR_UNSPECIFIED };
 	struct color bg = { COLOR_UNSPECIFIED };
 
-	if (!strncasecmp(value, "reset", len)) {
+	while (len > 0 && isspace(*ptr)) {
+		ptr++;
+		len--;
+	}
+
+	if (!len) {
+		dst[0] = '\0';
+		return 0;
+	}
+
+	if (!strncasecmp(ptr, "reset", len)) {
 		xsnprintf(dst, end - dst, GIT_COLOR_RESET);
 		return 0;
 	}
diff --git a/combine-diff.c b/combine-diff.c
index 59501db..2848034 100644
--- a/combine-diff.c
+++ b/combine-diff.c
@@ -292,9 +292,10 @@
 	enum object_type type;
 
 	if (S_ISGITLINK(mode)) {
-		blob = xmalloc(100);
-		*size = snprintf(blob, 100,
-				 "Subproject commit %s\n", oid_to_hex(oid));
+		struct strbuf buf = STRBUF_INIT;
+		strbuf_addf(&buf, "Subproject commit %s\n", oid_to_hex(oid));
+		*size = buf.len;
+		blob = strbuf_detach(&buf, NULL);
 	} else if (is_null_oid(oid)) {
 		/* deleted blob */
 		*size = 0;
@@ -1311,7 +1312,7 @@
 
 /* find set of paths that every parent touches */
 static struct combine_diff_path *find_paths_generic(const unsigned char *sha1,
-	const struct sha1_array *parents, struct diff_options *opt)
+	const struct oid_array *parents, struct diff_options *opt)
 {
 	struct combine_diff_path *paths = NULL;
 	int i, num_parent = parents->nr;
@@ -1335,7 +1336,7 @@
 			opt->output_format = stat_opt;
 		else
 			opt->output_format = DIFF_FORMAT_NO_OUTPUT;
-		diff_tree_sha1(parents->sha1[i], sha1, "", opt);
+		diff_tree_sha1(parents->oid[i].hash, sha1, "", opt);
 		diffcore_std(opt);
 		paths = intersect_paths(paths, i, num_parent);
 
@@ -1359,7 +1360,7 @@
  * rename/copy detection, etc, comparing all trees simultaneously (= faster).
  */
 static struct combine_diff_path *find_paths_multitree(
-	const unsigned char *sha1, const struct sha1_array *parents,
+	const unsigned char *sha1, const struct oid_array *parents,
 	struct diff_options *opt)
 {
 	int i, nparent = parents->nr;
@@ -1369,7 +1370,7 @@
 
 	ALLOC_ARRAY(parents_sha1, nparent);
 	for (i = 0; i < nparent; i++)
-		parents_sha1[i] = parents->sha1[i];
+		parents_sha1[i] = parents->oid[i].hash;
 
 	/* fake list head, so worker can assume it is non-NULL */
 	paths_head.next = NULL;
@@ -1384,7 +1385,7 @@
 
 
 void diff_tree_combined(const unsigned char *sha1,
-			const struct sha1_array *parents,
+			const struct oid_array *parents,
 			int dense,
 			struct rev_info *rev)
 {
@@ -1462,7 +1463,7 @@
 		if (stat_opt) {
 			diffopts.output_format = stat_opt;
 
-			diff_tree_sha1(parents->sha1[0], sha1, "", &diffopts);
+			diff_tree_sha1(parents->oid[0].hash, sha1, "", &diffopts);
 			diffcore_std(&diffopts);
 			if (opt->orderfile)
 				diffcore_order(opt->orderfile);
@@ -1532,12 +1533,12 @@
 			      struct rev_info *rev)
 {
 	struct commit_list *parent = get_saved_parents(rev, commit);
-	struct sha1_array parents = SHA1_ARRAY_INIT;
+	struct oid_array parents = OID_ARRAY_INIT;
 
 	while (parent) {
-		sha1_array_append(&parents, parent->item->object.oid.hash);
+		oid_array_append(&parents, &parent->item->object.oid);
 		parent = parent->next;
 	}
 	diff_tree_combined(commit->object.oid.hash, &parents, dense, rev);
-	sha1_array_clear(&parents);
+	oid_array_clear(&parents);
 }
diff --git a/command-list.txt b/command-list.txt
index 2a94137..a1fad28 100644
--- a/command-list.txt
+++ b/command-list.txt
@@ -107,7 +107,6 @@
 git-rebase                              mainporcelain           history
 git-receive-pack                        synchelpers
 git-reflog                              ancillarymanipulators
-git-relink                              ancillarymanipulators
 git-remote                              ancillarymanipulators
 git-repack                              ancillarymanipulators
 git-replace                             ancillarymanipulators
diff --git a/commit.c b/commit.c
index 856fd4a..73c78c2 100644
--- a/commit.c
+++ b/commit.c
@@ -415,8 +415,7 @@
 		p++;
 	if (*p) {
 		p = skip_blank_lines(p + 2);
-		for (eol = p; *eol && *eol != '\n'; eol++)
-			; /* do nothing */
+		eol = strchrnul(p, '\n');
 	} else
 		eol = p;
 
@@ -1308,11 +1307,11 @@
 
 static inline int standard_header_field(const char *field, size_t len)
 {
-	return ((len == 4 && !memcmp(field, "tree ", 5)) ||
-		(len == 6 && !memcmp(field, "parent ", 7)) ||
-		(len == 6 && !memcmp(field, "author ", 7)) ||
-		(len == 9 && !memcmp(field, "committer ", 10)) ||
-		(len == 8 && !memcmp(field, "encoding ", 9)));
+	return ((len == 4 && !memcmp(field, "tree", 4)) ||
+		(len == 6 && !memcmp(field, "parent", 6)) ||
+		(len == 6 && !memcmp(field, "author", 6)) ||
+		(len == 9 && !memcmp(field, "committer", 9)) ||
+		(len == 8 && !memcmp(field, "encoding", 8)));
 }
 
 static int excluded_header_field(const char *field, size_t len, const char **exclude)
@@ -1322,8 +1321,7 @@
 
 	while (*exclude) {
 		size_t xlen = strlen(*exclude);
-		if (len == xlen &&
-		    !memcmp(field, *exclude, xlen) && field[xlen] == ' ')
+		if (len == xlen && !memcmp(field, *exclude, xlen))
 			return 1;
 		exclude++;
 	}
@@ -1354,12 +1352,11 @@
 		strbuf_reset(&buf);
 		it = NULL;
 
-		eof = strchr(line, ' ');
-		if (next <= eof)
+		eof = memchr(line, ' ', next - line);
+		if (!eof)
 			eof = next;
-
-		if (standard_header_field(line, eof - line) ||
-		    excluded_header_field(line, eof - line, exclude))
+		else if (standard_header_field(line, eof - line) ||
+			 excluded_header_field(line, eof - line, exclude))
 			continue;
 
 		it = xcalloc(1, sizeof(*it));
@@ -1649,7 +1646,7 @@
 }
 
 /*
- * Inspect sb and determine the true "end" of the log message, in
+ * Inspect the given string and determine the true "end" of the log message, in
  * order to find where to put a new Signed-off-by: line.  Ignored are
  * trailing comment lines and blank lines, and also the traditional
  * "Conflicts:" block that is not commented out, so that we can use
@@ -1659,37 +1656,37 @@
  * Returns the number of bytes from the tail to ignore, to be fed as
  * the second parameter to append_signoff().
  */
-int ignore_non_trailer(struct strbuf *sb)
+int ignore_non_trailer(const char *buf, size_t len)
 {
 	int boc = 0;
 	int bol = 0;
 	int in_old_conflicts_block = 0;
 
-	while (bol < sb->len) {
-		char *next_line;
+	while (bol < len) {
+		const char *next_line = memchr(buf + bol, '\n', len - bol);
 
-		if (!(next_line = memchr(sb->buf + bol, '\n', sb->len - bol)))
-			next_line = sb->buf + sb->len;
+		if (!next_line)
+			next_line = buf + len;
 		else
 			next_line++;
 
-		if (sb->buf[bol] == comment_line_char || sb->buf[bol] == '\n') {
+		if (buf[bol] == comment_line_char || buf[bol] == '\n') {
 			/* is this the first of the run of comments? */
 			if (!boc)
 				boc = bol;
 			/* otherwise, it is just continuing */
-		} else if (starts_with(sb->buf + bol, "Conflicts:\n")) {
+		} else if (starts_with(buf + bol, "Conflicts:\n")) {
 			in_old_conflicts_block = 1;
 			if (!boc)
 				boc = bol;
-		} else if (in_old_conflicts_block && sb->buf[bol] == '\t') {
+		} else if (in_old_conflicts_block && buf[bol] == '\t') {
 			; /* a pathname in the conflicts block */
 		} else if (boc) {
 			/* the previous was not trailing comment */
 			boc = 0;
 			in_old_conflicts_block = 0;
 		}
-		bol = next_line - sb->buf;
+		bol = next_line - buf;
 	}
-	return boc ? sb->len - boc : 0;
+	return boc ? len - boc : 0;
 }
diff --git a/commit.h b/commit.h
index afd14f3..7b1986d 100644
--- a/commit.h
+++ b/commit.h
@@ -142,21 +142,24 @@
 	return (fmt == CMIT_FMT_EMAIL || fmt == CMIT_FMT_MBOXRD);
 }
 
+struct rev_info; /* in revision.h, it circularly uses enum cmit_fmt */
+
 struct pretty_print_context {
 	/*
 	 * Callers should tweak these to change the behavior of pp_* functions.
 	 */
 	enum cmit_fmt fmt;
 	int abbrev;
-	const char *subject;
 	const char *after_subject;
 	int preserve_subject;
 	struct date_mode date_mode;
 	unsigned date_mode_explicit:1;
+	int print_email_subject;
 	int expand_tabs_in_log;
 	int need_8bit_cte;
 	char *notes_message;
 	struct reflog_walk_info *reflog_info;
+	struct rev_info *rev;
 	const char *output_encoding;
 	struct string_list *mailmap;
 	int color;
@@ -175,7 +178,6 @@
 };
 
 extern int has_non_ascii(const char *text);
-struct rev_info; /* in revision.h, it circularly uses enum cmit_fmt */
 extern const char *logmsg_reencode(const struct commit *commit,
 				   char **commit_encoding,
 				   const char *output_encoding);
@@ -259,7 +261,7 @@
 /* largest positive number a signed 32-bit integer can contain */
 #define INFINITE_DEPTH 0x7fffffff
 
-struct sha1_array;
+struct oid_array;
 struct ref;
 extern int register_shallow(const unsigned char *sha1);
 extern int unregister_shallow(const unsigned char *sha1);
@@ -271,18 +273,18 @@
 		int ac, const char **av, int shallow_flag, int not_shallow_flag);
 extern void set_alternate_shallow_file(const char *path, int override);
 extern int write_shallow_commits(struct strbuf *out, int use_pack_protocol,
-				 const struct sha1_array *extra);
+				 const struct oid_array *extra);
 extern void setup_alternate_shallow(struct lock_file *shallow_lock,
 				    const char **alternate_shallow_file,
-				    const struct sha1_array *extra);
-extern const char *setup_temporary_shallow(const struct sha1_array *extra);
+				    const struct oid_array *extra);
+extern const char *setup_temporary_shallow(const struct oid_array *extra);
 extern void advertise_shallow_grafts(int);
 
 struct shallow_info {
-	struct sha1_array *shallow;
+	struct oid_array *shallow;
 	int *ours, nr_ours;
 	int *theirs, nr_theirs;
-	struct sha1_array *ref;
+	struct oid_array *ref;
 
 	/* for receive-pack */
 	uint32_t **used_shallow;
@@ -293,7 +295,7 @@
 	int nr_commits;
 };
 
-extern void prepare_shallow_info(struct shallow_info *, struct sha1_array *);
+extern void prepare_shallow_info(struct shallow_info *, struct oid_array *);
 extern void clear_shallow_info(struct shallow_info *);
 extern void remove_nonexistent_theirs_shallow(struct shallow_info *);
 extern void assign_shallow_commits_to_refs(struct shallow_info *info,
@@ -355,7 +357,7 @@
 				      size_t *out_len);
 
 /* Find the end of the log message, the right place for a new trailer. */
-extern int ignore_non_trailer(struct strbuf *sb);
+extern int ignore_non_trailer(const char *buf, size_t len);
 
 typedef void (*each_mergetag_fn)(struct commit *commit, struct commit_extra_header *extra,
 				 void *cb_data);
diff --git a/common-main.c b/common-main.c
index c654f95..6a68900 100644
--- a/common-main.c
+++ b/common-main.c
@@ -1,5 +1,6 @@
 #include "cache.h"
 #include "exec_cmd.h"
+#include "attr.h"
 
 /*
  * Many parts of Git have subprograms communicate via pipe, expect the
@@ -33,6 +34,8 @@
 
 	git_setup_gettext();
 
+	attr_start();
+
 	git_extract_argv0_path(argv[0]);
 
 	restore_sigpipe_to_default();
diff --git a/compat/qsort_s.c b/compat/qsort_s.c
new file mode 100644
index 0000000..52d1f0a
--- /dev/null
+++ b/compat/qsort_s.c
@@ -0,0 +1,69 @@
+#include "../git-compat-util.h"
+
+/*
+ * A merge sort implementation, simplified from the qsort implementation
+ * by Mike Haertel, which is a part of the GNU C Library.
+ * Added context pointer, safety checks and return value.
+ */
+
+static void msort_with_tmp(void *b, size_t n, size_t s,
+			   int (*cmp)(const void *, const void *, void *),
+			   char *t, void *ctx)
+{
+	char *tmp;
+	char *b1, *b2;
+	size_t n1, n2;
+
+	if (n <= 1)
+		return;
+
+	n1 = n / 2;
+	n2 = n - n1;
+	b1 = b;
+	b2 = (char *)b + (n1 * s);
+
+	msort_with_tmp(b1, n1, s, cmp, t, ctx);
+	msort_with_tmp(b2, n2, s, cmp, t, ctx);
+
+	tmp = t;
+
+	while (n1 > 0 && n2 > 0) {
+		if (cmp(b1, b2, ctx) <= 0) {
+			memcpy(tmp, b1, s);
+			tmp += s;
+			b1 += s;
+			--n1;
+		} else {
+			memcpy(tmp, b2, s);
+			tmp += s;
+			b2 += s;
+			--n2;
+		}
+	}
+	if (n1 > 0)
+		memcpy(tmp, b1, n1 * s);
+	memcpy(b, t, (n - n2) * s);
+}
+
+int git_qsort_s(void *b, size_t n, size_t s,
+		int (*cmp)(const void *, const void *, void *), void *ctx)
+{
+	const size_t size = st_mult(n, s);
+	char buf[1024];
+
+	if (!n)
+		return 0;
+	if (!b || !cmp)
+		return -1;
+
+	if (size < sizeof(buf)) {
+		/* The temporary array fits on the small on-stack buffer. */
+		msort_with_tmp(b, n, s, cmp, buf, ctx);
+	} else {
+		/* It's somewhat large, so malloc it.  */
+		char *tmp = xmalloc(size);
+		msort_with_tmp(b, n, s, cmp, tmp, ctx);
+		free(tmp);
+	}
+	return 0;
+}
diff --git a/compat/winansi.c b/compat/winansi.c
index 82b89ab..793420f 100644
--- a/compat/winansi.c
+++ b/compat/winansi.c
@@ -510,6 +510,8 @@
 	 */
 	close(new_fd);
 
+	if (fd == 2)
+		setvbuf(stderr, NULL, _IONBF, BUFSIZ);
 	fd_is_interactive[fd] |= FD_SWAPPED;
 
 	return duplicate;
@@ -547,6 +549,8 @@
 			!wcsstr(name, L"-pty"))
 		return;
 
+	if (fd == 2)
+		setvbuf(stderr, NULL, _IONBF, BUFSIZ);
 	fd_is_interactive[fd] |= FD_MSYS;
 }
 
diff --git a/config.c b/config.c
index 617b2e3..1a4d855 100644
--- a/config.c
+++ b/config.c
@@ -13,6 +13,7 @@
 #include "hashmap.h"
 #include "string-list.h"
 #include "utf8.h"
+#include "dir.h"
 
 struct config_source {
 	struct config_source *prev;
@@ -170,9 +171,94 @@
 	return ret;
 }
 
+static int prepare_include_condition_pattern(struct strbuf *pat)
+{
+	struct strbuf path = STRBUF_INIT;
+	char *expanded;
+	int prefix = 0;
+
+	expanded = expand_user_path(pat->buf);
+	if (expanded) {
+		strbuf_reset(pat);
+		strbuf_addstr(pat, expanded);
+		free(expanded);
+	}
+
+	if (pat->buf[0] == '.' && is_dir_sep(pat->buf[1])) {
+		const char *slash;
+
+		if (!cf || !cf->path)
+			return error(_("relative config include "
+				       "conditionals must come from files"));
+
+		strbuf_add_absolute_path(&path, cf->path);
+		slash = find_last_dir_sep(path.buf);
+		if (!slash)
+			die("BUG: how is this possible?");
+		strbuf_splice(pat, 0, 1, path.buf, slash - path.buf);
+		prefix = slash - path.buf + 1 /* slash */;
+	} else if (!is_absolute_path(pat->buf))
+		strbuf_insert(pat, 0, "**/", 3);
+
+	if (pat->len && is_dir_sep(pat->buf[pat->len - 1]))
+		strbuf_addstr(pat, "**");
+
+	strbuf_release(&path);
+	return prefix;
+}
+
+static int include_by_gitdir(const char *cond, size_t cond_len, int icase)
+{
+	struct strbuf text = STRBUF_INIT;
+	struct strbuf pattern = STRBUF_INIT;
+	int ret = 0, prefix;
+
+	strbuf_add_absolute_path(&text, get_git_dir());
+	strbuf_add(&pattern, cond, cond_len);
+	prefix = prepare_include_condition_pattern(&pattern);
+
+	if (prefix < 0)
+		goto done;
+
+	if (prefix > 0) {
+		/*
+		 * perform literal matching on the prefix part so that
+		 * any wildcard character in it can't create side effects.
+		 */
+		if (text.len < prefix)
+			goto done;
+		if (!icase && strncmp(pattern.buf, text.buf, prefix))
+			goto done;
+		if (icase && strncasecmp(pattern.buf, text.buf, prefix))
+			goto done;
+	}
+
+	ret = !wildmatch(pattern.buf + prefix, text.buf + prefix,
+			 icase ? WM_CASEFOLD : 0, NULL);
+
+done:
+	strbuf_release(&pattern);
+	strbuf_release(&text);
+	return ret;
+}
+
+static int include_condition_is_true(const char *cond, size_t cond_len)
+{
+
+	if (skip_prefix_mem(cond, cond_len, "gitdir:", &cond, &cond_len))
+		return include_by_gitdir(cond, cond_len, 0);
+	else if (skip_prefix_mem(cond, cond_len, "gitdir/i:", &cond, &cond_len))
+		return include_by_gitdir(cond, cond_len, 1);
+
+	/* unknown conditionals are always false */
+	return 0;
+}
+
 int git_config_include(const char *var, const char *value, void *data)
 {
 	struct config_include_data *inc = data;
+	const char *cond, *key;
+	int cond_len;
 	int ret;
 
 	/*
@@ -185,6 +271,12 @@
 
 	if (!strcmp(var, "include.path"))
 		ret = handle_path_include(value, inc);
+
+	if (!parse_config_key(var, "includeif", &cond, &cond_len, &key) &&
+	    (cond && include_condition_is_true(cond, cond_len)) &&
+	    !strcmp(key, "path"))
+		ret = handle_path_include(value, inc);
+
 	return ret;
 }
 
@@ -201,11 +293,105 @@
 	strbuf_release(&env);
 }
 
+static inline int iskeychar(int c)
+{
+	return isalnum(c) || c == '-';
+}
+
+/*
+ * Auxiliary function to sanity-check and split the key into the section
+ * identifier and variable name.
+ *
+ * Returns 0 on success, -1 when there is an invalid character in the key and
+ * -2 if there is no section name in the key.
+ *
+ * store_key - pointer to char* which will hold a copy of the key with
+ *             lowercase section and variable name
+ * baselen - pointer to int which will hold the length of the
+ *           section + subsection part, can be NULL
+ */
+static int git_config_parse_key_1(const char *key, char **store_key, int *baselen_, int quiet)
+{
+	int i, dot, baselen;
+	const char *last_dot = strrchr(key, '.');
+
+	/*
+	 * Since "key" actually contains the section name and the real
+	 * key name separated by a dot, we have to know where the dot is.
+	 */
+
+	if (last_dot == NULL || last_dot == key) {
+		if (!quiet)
+			error("key does not contain a section: %s", key);
+		return -CONFIG_NO_SECTION_OR_NAME;
+	}
+
+	if (!last_dot[1]) {
+		if (!quiet)
+			error("key does not contain variable name: %s", key);
+		return -CONFIG_NO_SECTION_OR_NAME;
+	}
+
+	baselen = last_dot - key;
+	if (baselen_)
+		*baselen_ = baselen;
+
+	/*
+	 * Validate the key and while at it, lower case it for matching.
+	 */
+	if (store_key)
+		*store_key = xmallocz(strlen(key));
+
+	dot = 0;
+	for (i = 0; key[i]; i++) {
+		unsigned char c = key[i];
+		if (c == '.')
+			dot = 1;
+		/* Leave the extended basename untouched.. */
+		if (!dot || i > baselen) {
+			if (!iskeychar(c) ||
+			    (i == baselen + 1 && !isalpha(c))) {
+				if (!quiet)
+					error("invalid key: %s", key);
+				goto out_free_ret_1;
+			}
+			c = tolower(c);
+		} else if (c == '\n') {
+			if (!quiet)
+				error("invalid key (newline): %s", key);
+			goto out_free_ret_1;
+		}
+		if (store_key)
+			(*store_key)[i] = c;
+	}
+
+	return 0;
+
+out_free_ret_1:
+	if (store_key) {
+		free(*store_key);
+		*store_key = NULL;
+	}
+	return -CONFIG_INVALID_KEY;
+}
+
+int git_config_parse_key(const char *key, char **store_key, int *baselen)
+{
+	return git_config_parse_key_1(key, store_key, baselen, 0);
+}
+
+int git_config_key_is_valid(const char *key)
+{
+	return !git_config_parse_key_1(key, NULL, NULL, 1);
+}
+
 int git_config_parse_parameter(const char *text,
 			       config_fn_t fn, void *data)
 {
 	const char *value;
+	char *canonical_name;
 	struct strbuf **pair;
+	int ret;
 
 	pair = strbuf_split_str(text, '=', 2);
 	if (!pair[0])
@@ -223,13 +409,15 @@
 		strbuf_list_free(pair);
 		return error("bogus config parameter: %s", text);
 	}
-	strbuf_tolower(pair[0]);
-	if (fn(pair[0]->buf, value, data) < 0) {
-		strbuf_list_free(pair);
-		return -1;
+
+	if (git_config_parse_key(pair[0]->buf, &canonical_name, NULL)) {
+		ret = -1;
+	} else {
+		ret = (fn(canonical_name, value, data) < 0) ? -1 : 0;
+		free(canonical_name);
 	}
 	strbuf_list_free(pair);
-	return 0;
+	return ret;
 }
 
 int git_config_from_parameters(config_fn_t fn, void *data)
@@ -356,11 +544,6 @@
 	}
 }
 
-static inline int iskeychar(int c)
-{
-	return isalnum(c) || c == '-';
-}
-
 static int get_value(config_fn_t fn, void *data, struct strbuf *name)
 {
 	int c;
@@ -826,7 +1009,12 @@
 	}
 
 	if (!strcmp(var, "core.logallrefupdates")) {
-		log_all_ref_updates = git_config_bool(var, value);
+		if (value && !strcasecmp(value, "always"))
+			log_all_ref_updates = LOG_REFS_ALWAYS;
+		else if (git_config_bool(var, value))
+			log_all_ref_updates = LOG_REFS_NORMAL;
+		else
+			log_all_ref_updates = LOG_REFS_NONE;
 		return 0;
 	}
 
@@ -1236,10 +1424,10 @@
 	return do_config_from(&top, fn, data);
 }
 
-static int git_config_from_blob_sha1(config_fn_t fn,
-				     const char *name,
-				     const unsigned char *sha1,
-				     void *data)
+int git_config_from_blob_sha1(config_fn_t fn,
+			      const char *name,
+			      const unsigned char *sha1,
+			      void *data)
 {
 	enum object_type type;
 	char *buf;
@@ -1407,6 +1595,31 @@
 	}
 }
 
+void read_early_config(config_fn_t cb, void *data)
+{
+	struct strbuf buf = STRBUF_INIT;
+
+	git_config_with_options(cb, data, NULL, 1);
+
+	/*
+	 * When setup_git_directory() was not yet asked to discover the
+	 * GIT_DIR, we ask discover_git_directory() to figure out whether there
+	 * is any repository config we should use (but unlike
+	 * setup_git_directory_gently(), no global state is changed, most
+	 * notably, the current working directory is still the same after the
+	 * call).
+	 */
+	if (!have_git_dir() && discover_git_directory(&buf)) {
+		struct git_config_source repo_config;
+
+		memset(&repo_config, 0, sizeof(repo_config));
+		strbuf_addstr(&buf, "/config");
+		repo_config.file = buf.buf;
+		git_config_with_options(cb, data, &repo_config, 1);
+	}
+	strbuf_release(&buf);
+}
+
 static void git_config_check_init(void);
 
 void git_config(config_fn_t fn, void *data)
@@ -1707,6 +1920,19 @@
 	return ret;
 }
 
+int git_config_get_expiry(const char *key, const char **output)
+{
+	int ret = git_config_get_string_const(key, output);
+	if (ret)
+		return ret;
+	if (strcmp(*output, "now")) {
+		unsigned long now = approxidate("now");
+		if (approxidate(*output) >= now)
+			git_die_config(key, _("Invalid %s: '%s'"), key, *output);
+	}
+	return ret;
+}
+
 int git_config_get_untracked_cache(void)
 {
 	int val = -1;
@@ -1723,14 +1949,39 @@
 		if (!strcasecmp(v, "keep"))
 			return -1;
 
-		error("unknown core.untrackedCache value '%s'; "
-		      "using 'keep' default value", v);
+		error(_("unknown core.untrackedCache value '%s'; "
+			"using 'keep' default value"), v);
 		return -1;
 	}
 
 	return -1; /* default value */
 }
 
+int git_config_get_split_index(void)
+{
+	int val;
+
+	if (!git_config_get_maybe_bool("core.splitindex", &val))
+		return val;
+
+	return -1; /* default value */
+}
+
+int git_config_get_max_percent_split_change(void)
+{
+	int val = -1;
+
+	if (!git_config_get_int("splitindex.maxpercentchange", &val)) {
+		if (0 <= val && val <= 100)
+			return val;
+
+		return error(_("splitIndex.maxPercentChange value '%d' "
+			       "should be between 0 and 100"), val);
+	}
+
+	return -1; /* default value */
+}
+
 NORETURN
 void git_die_config_linenr(const char *key, const char *filename, int linenr)
 {
@@ -1985,93 +2236,6 @@
 }
 
 /*
- * Auxiliary function to sanity-check and split the key into the section
- * identifier and variable name.
- *
- * Returns 0 on success, -1 when there is an invalid character in the key and
- * -2 if there is no section name in the key.
- *
- * store_key - pointer to char* which will hold a copy of the key with
- *             lowercase section and variable name
- * baselen - pointer to int which will hold the length of the
- *           section + subsection part, can be NULL
- */
-static int git_config_parse_key_1(const char *key, char **store_key, int *baselen_, int quiet)
-{
-	int i, dot, baselen;
-	const char *last_dot = strrchr(key, '.');
-
-	/*
-	 * Since "key" actually contains the section name and the real
-	 * key name separated by a dot, we have to know where the dot is.
-	 */
-
-	if (last_dot == NULL || last_dot == key) {
-		if (!quiet)
-			error("key does not contain a section: %s", key);
-		return -CONFIG_NO_SECTION_OR_NAME;
-	}
-
-	if (!last_dot[1]) {
-		if (!quiet)
-			error("key does not contain variable name: %s", key);
-		return -CONFIG_NO_SECTION_OR_NAME;
-	}
-
-	baselen = last_dot - key;
-	if (baselen_)
-		*baselen_ = baselen;
-
-	/*
-	 * Validate the key and while at it, lower case it for matching.
-	 */
-	if (store_key)
-		*store_key = xmallocz(strlen(key));
-
-	dot = 0;
-	for (i = 0; key[i]; i++) {
-		unsigned char c = key[i];
-		if (c == '.')
-			dot = 1;
-		/* Leave the extended basename untouched.. */
-		if (!dot || i > baselen) {
-			if (!iskeychar(c) ||
-			    (i == baselen + 1 && !isalpha(c))) {
-				if (!quiet)
-					error("invalid key: %s", key);
-				goto out_free_ret_1;
-			}
-			c = tolower(c);
-		} else if (c == '\n') {
-			if (!quiet)
-				error("invalid key (newline): %s", key);
-			goto out_free_ret_1;
-		}
-		if (store_key)
-			(*store_key)[i] = c;
-	}
-
-	return 0;
-
-out_free_ret_1:
-	if (store_key) {
-		free(*store_key);
-		*store_key = NULL;
-	}
-	return -CONFIG_INVALID_KEY;
-}
-
-int git_config_parse_key(const char *key, char **store_key, int *baselen)
-{
-	return git_config_parse_key_1(key, store_key, baselen, 0);
-}
-
-int git_config_key_is_valid(const char *key)
-{
-	return !git_config_parse_key_1(key, NULL, NULL, 1);
-}
-
-/*
  * If value==NULL, unset in (remove from) config,
  * if value_regex!=NULL, disregard key/value pairs where value does not match.
  * if value_regex==CONFIG_REGEX_NONE, do not match any existing values
@@ -2531,11 +2695,10 @@
 		     const char **subsection, int *subsection_len,
 		     const char **key)
 {
-	int section_len = strlen(section);
 	const char *dot;
 
 	/* Does it start with "section." ? */
-	if (!starts_with(var, section) || var[section_len] != '.')
+	if (!skip_prefix(var, section, &var) || *var != '.')
 		return -1;
 
 	/*
@@ -2547,12 +2710,16 @@
 	*key = dot + 1;
 
 	/* Did we have a subsection at all? */
-	if (dot == var + section_len) {
-		*subsection = NULL;
-		*subsection_len = 0;
+	if (dot == var) {
+		if (subsection) {
+			*subsection = NULL;
+			*subsection_len = 0;
+		}
 	}
 	else {
-		*subsection = var + section_len + 1;
+		if (!subsection)
+			return -1;
+		*subsection = var + 1;
 		*subsection_len = dot - *subsection;
 	}
 
diff --git a/config.mak.uname b/config.mak.uname
index b232908..399fe19 100644
--- a/config.mak.uname
+++ b/config.mak.uname
@@ -17,9 +17,6 @@
 # because maintaining the nesting to match is a pain.  If
 # we had "elif" things would have been much nicer...
 
-ifeq ($(uname_M),x86_64)
-	XDL_FAST_HASH = YesPlease
-endif
 ifeq ($(uname_S),OSF1)
 	# Need this for u_short definitions et al
 	BASIC_CFLAGS += -D_OSF_SOURCE
@@ -30,7 +27,6 @@
 ifeq ($(uname_S),Linux)
 	HAVE_ALLOCA_H = YesPlease
 	NO_STRLCPY = YesPlease
-	NO_MKSTEMPS = YesPlease
 	HAVE_PATHS_H = YesPlease
 	LIBC_CONTAINS_LIBINTL = YesPlease
 	HAVE_DEV_TTY = YesPlease
@@ -44,7 +40,6 @@
 ifeq ($(uname_S),GNU/kFreeBSD)
 	HAVE_ALLOCA_H = YesPlease
 	NO_STRLCPY = YesPlease
-	NO_MKSTEMPS = YesPlease
 	HAVE_PATHS_H = YesPlease
 	DIR_HAS_BSD_GROUP_SEMANTICS = YesPlease
 	LIBC_CONTAINS_LIBINTL = YesPlease
@@ -58,7 +53,6 @@
 	SHELL_PATH = /usr/local/bin/bash
 	NO_IPV6 = YesPlease
 	NO_HSTRERROR = YesPlease
-	NO_MKSTEMPS = YesPlease
 	BASIC_CFLAGS += -Kthread
 	BASIC_CFLAGS += -I/usr/local/include
 	BASIC_LDFLAGS += -L/usr/local/lib
@@ -82,7 +76,6 @@
 	SHELL_PATH = /usr/bin/bash
 	NO_IPV6 = YesPlease
 	NO_HSTRERROR = YesPlease
-	NO_MKSTEMPS = YesPlease
 	BASIC_CFLAGS += -I/usr/local/include
 	BASIC_LDFLAGS += -L/usr/local/lib
 	NO_STRCASESTR = YesPlease
@@ -125,7 +118,6 @@
 	NO_STRCASESTR = YesPlease
 	NO_MEMMEM = YesPlease
 	NO_MKDTEMP = YesPlease
-	NO_MKSTEMPS = YesPlease
 	NO_REGEX = YesPlease
 	NO_MSGFMT_EXTENDED_OPTIONS = YesPlease
 	HAVE_DEV_TTY = YesPlease
@@ -171,7 +163,6 @@
 		NO_D_TYPE_IN_DIRENT = YesPlease
 		NO_STRCASESTR = YesPlease
 		NO_MEMMEM = YesPlease
-		NO_MKSTEMPS = YesPlease
 		NO_SYMLINK_HEAD = YesPlease
 		NO_IPV6 = YesPlease
 		OLD_ICONV = UnfortunatelyYes
@@ -236,7 +227,6 @@
 	BASIC_CFLAGS += -I/usr/pkg/include
 	BASIC_LDFLAGS += -L/usr/pkg/lib $(CC_LD_DYNPATH)/usr/pkg/lib
 	USE_ST_TIMESPEC = YesPlease
-	NO_MKSTEMPS = YesPlease
 	HAVE_PATHS_H = YesPlease
 	HAVE_BSD_SYSCTL = YesPlease
 endif
@@ -245,7 +235,6 @@
 	NO_STRCASESTR = YesPlease
 	NO_MEMMEM = YesPlease
 	NO_MKDTEMP = YesPlease
-	NO_MKSTEMPS = YesPlease
 	NO_STRLCPY = YesPlease
 	NO_NSEC = YesPlease
 	FREAD_READS_DIRECTORIES = UnfortunatelyYes
@@ -266,7 +255,6 @@
 	# GNU/Hurd
 	HAVE_ALLOCA_H = YesPlease
 	NO_STRLCPY = YesPlease
-	NO_MKSTEMPS = YesPlease
 	HAVE_PATHS_H = YesPlease
 	LIBC_CONTAINS_LIBINTL = YesPlease
 endif
@@ -275,7 +263,6 @@
 	NO_UNSETENV = YesPlease
 	NO_STRCASESTR = YesPlease
 	NO_MEMMEM = YesPlease
-	NO_MKSTEMPS = YesPlease
 	NO_MKDTEMP = YesPlease
 	# When compiled with the MIPSpro 7.4.4m compiler, and without pthreads
 	# (i.e. NO_PTHREADS is set), and _with_ MMAP (i.e. NO_MMAP is not set),
@@ -294,7 +281,6 @@
 	NO_UNSETENV = YesPlease
 	NO_STRCASESTR = YesPlease
 	NO_MEMMEM = YesPlease
-	NO_MKSTEMPS = YesPlease
 	NO_MKDTEMP = YesPlease
 	# When compiled with the MIPSpro 7.4.4m compiler, and without pthreads
 	# (i.e. NO_PTHREADS is set), and _with_ MMAP (i.e. NO_MMAP is not set),
@@ -314,7 +300,6 @@
 	NO_SETENV = YesPlease
 	NO_STRCASESTR = YesPlease
 	NO_MEMMEM = YesPlease
-	NO_MKSTEMPS = YesPlease
 	NO_STRLCPY = YesPlease
 	NO_MKDTEMP = YesPlease
 	NO_UNSETENV = YesPlease
@@ -355,7 +340,6 @@
 	NO_ICONV = YesPlease
 	NO_STRTOUMAX = YesPlease
 	NO_MKDTEMP = YesPlease
-	NO_MKSTEMPS = YesPlease
 	SNPRINTF_RETURNS_BOGUS = YesPlease
 	NO_SVN_TESTS = YesPlease
 	RUNTIME_PREFIX = YesPlease
@@ -405,7 +389,6 @@
 	NO_MKDTEMP = YesPlease
 	NO_STRTOUMAX = YesPlease
 	NO_NSEC = YesPlease
-	NO_MKSTEMPS = YesPlease
 	ifeq ($(uname_R),3.5)
 		NO_INET_NTOP = YesPlease
 		NO_INET_PTON = YesPlease
@@ -464,7 +447,6 @@
 	NO_SETENV = YesPlease
 	NO_UNSETENV = YesPlease
 	NO_MKDTEMP = YesPlease
-	NO_MKSTEMPS = YesPlease
 	# Currently libiconv-1.9.1.
 	OLD_ICONV = UnfortunatelyYes
 	NO_REGEX = YesPlease
@@ -506,7 +488,6 @@
 	NEEDS_LIBICONV = YesPlease
 	NO_STRTOUMAX = YesPlease
 	NO_MKDTEMP = YesPlease
-	NO_MKSTEMPS = YesPlease
 	NO_SVN_TESTS = YesPlease
 	NO_PERL_MAKEMAKER = YesPlease
 	RUNTIME_PREFIX = YesPlease
@@ -518,7 +499,6 @@
 	OBJECT_CREATION_USES_RENAMES = UnfortunatelyNeedsTo
 	NO_REGEX = YesPlease
 	NO_PYTHON = YesPlease
-	BLK_SHA1 = YesPlease
 	ETAGS_TARGET = ETAGS
 	NO_INET_PTON = YesPlease
 	NO_INET_NTOP = YesPlease
@@ -587,7 +567,6 @@
 	NO_ICONV = YesPlease
 	NO_MEMMEM = YesPlease
 	NO_MKDTEMP = YesPlease
-	NO_MKSTEMPS = YesPlease
 	NO_NSEC = YesPlease
 	NO_PTHREADS = YesPlease
 	NO_R_TO_GCC_LINKER = YesPlease
diff --git a/configure.ac b/configure.ac
index 0b15f04..1281655 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1050,12 +1050,6 @@
 [NO_MKDTEMP=YesPlease])
 GIT_CONF_SUBST([NO_MKDTEMP])
 #
-# Define NO_MKSTEMPS if you don't have mkstemps in the C library.
-GIT_CHECK_FUNC(mkstemps,
-[NO_MKSTEMPS=],
-[NO_MKSTEMPS=YesPlease])
-GIT_CONF_SUBST([NO_MKSTEMPS])
-#
 # Define NO_INITGROUPS if you don't have initgroups in the C library.
 GIT_CHECK_FUNC(initgroups,
 [NO_INITGROUPS=],
diff --git a/connect.c b/connect.c
index 8cb93b0..568a35f 100644
--- a/connect.c
+++ b/connect.c
@@ -111,8 +111,8 @@
  */
 struct ref **get_remote_heads(int in, char *src_buf, size_t src_len,
 			      struct ref **list, unsigned int flags,
-			      struct sha1_array *extra_have,
-			      struct sha1_array *shallow_points)
+			      struct oid_array *extra_have,
+			      struct oid_array *shallow_points)
 {
 	struct ref **orig_list = list;
 
@@ -153,7 +153,7 @@
 				die("protocol error: expected shallow sha-1, got '%s'", arg);
 			if (!shallow_points)
 				die("repository on the other end cannot be shallow");
-			sha1_array_append(shallow_points, old_oid.hash);
+			oid_array_append(shallow_points, &old_oid);
 			continue;
 		}
 
@@ -169,7 +169,7 @@
 		}
 
 		if (extra_have && !strcmp(name, ".have")) {
-			sha1_array_append(extra_have, old_oid.hash);
+			oid_array_append(extra_have, &old_oid);
 			continue;
 		}
 
@@ -691,6 +691,68 @@
 	return NULL;
 }
 
+static int override_ssh_variant(int *port_option, int *needs_batch)
+{
+	char *variant;
+
+	variant = xstrdup_or_null(getenv("GIT_SSH_VARIANT"));
+	if (!variant &&
+	    git_config_get_string("ssh.variant", &variant))
+		return 0;
+
+	if (!strcmp(variant, "plink") || !strcmp(variant, "putty")) {
+		*port_option = 'P';
+		*needs_batch = 0;
+	} else if (!strcmp(variant, "tortoiseplink")) {
+		*port_option = 'P';
+		*needs_batch = 1;
+	} else {
+		*port_option = 'p';
+		*needs_batch = 0;
+	}
+	free(variant);
+	return 1;
+}
+
+static void handle_ssh_variant(const char *ssh_command, int is_cmdline,
+			       int *port_option, int *needs_batch)
+{
+	const char *variant;
+	char *p = NULL;
+
+	if (override_ssh_variant(port_option, needs_batch))
+		return;
+
+	if (!is_cmdline) {
+		p = xstrdup(ssh_command);
+		variant = basename(p);
+	} else {
+		const char **ssh_argv;
+
+		p = xstrdup(ssh_command);
+		if (split_cmdline(p, &ssh_argv) > 0) {
+			variant = basename((char *)ssh_argv[0]);
+			/*
+			 * At this point, variant points into the buffer
+			 * referenced by p, hence we do not need ssh_argv
+			 * any longer.
+			 */
+			free(ssh_argv);
+		} else
+			return;
+	}
+
+	if (!strcasecmp(variant, "plink") ||
+	    !strcasecmp(variant, "plink.exe"))
+		*port_option = 'P';
+	else if (!strcasecmp(variant, "tortoiseplink") ||
+		 !strcasecmp(variant, "tortoiseplink.exe")) {
+		*port_option = 'P';
+		*needs_batch = 1;
+	}
+	free(p);
+}
+
 /*
  * This returns a dummy child_process if the transport protocol does not
  * need fork(2), or a struct child_process object if it does.  Once done,
@@ -769,7 +831,8 @@
 		conn->in = conn->out = -1;
 		if (protocol == PROTO_SSH) {
 			const char *ssh;
-			int putty = 0, tortoiseplink = 0;
+			int needs_batch = 0;
+			int port_option = 'p';
 			char *ssh_host = hostandport;
 			const char *port = NULL;
 			transport_check_allowed("ssh");
@@ -792,10 +855,10 @@
 			}
 
 			ssh = get_ssh_command();
-			if (!ssh) {
-				const char *base;
-				char *ssh_dup;
-
+			if (ssh)
+				handle_ssh_variant(ssh, 1, &port_option,
+						   &needs_batch);
+			else {
 				/*
 				 * GIT_SSH is the no-shell version of
 				 * GIT_SSH_COMMAND (and must remain so for
@@ -806,17 +869,10 @@
 				ssh = getenv("GIT_SSH");
 				if (!ssh)
 					ssh = "ssh";
-
-				ssh_dup = xstrdup(ssh);
-				base = basename(ssh_dup);
-
-				tortoiseplink = !strcasecmp(base, "tortoiseplink") ||
-					!strcasecmp(base, "tortoiseplink.exe");
-				putty = tortoiseplink ||
-					!strcasecmp(base, "plink") ||
-					!strcasecmp(base, "plink.exe");
-
-				free(ssh_dup);
+				else
+					handle_ssh_variant(ssh, 0,
+							   &port_option,
+							   &needs_batch);
 			}
 
 			argv_array_push(&conn->args, ssh);
@@ -824,11 +880,11 @@
 				argv_array_push(&conn->args, "-4");
 			else if (flags & CONNECT_IPV6)
 				argv_array_push(&conn->args, "-6");
-			if (tortoiseplink)
+			if (needs_batch)
 				argv_array_push(&conn->args, "-batch");
 			if (port) {
-				/* P is for PuTTY, p is for OpenSSH */
-				argv_array_push(&conn->args, putty ? "-P" : "-p");
+				argv_array_pushf(&conn->args,
+						 "-%c", port_option);
 				argv_array_push(&conn->args, port);
 			}
 			argv_array_push(&conn->args, ssh_host);
diff --git a/contrib/coccinelle/array.cocci b/contrib/coccinelle/array.cocci
index 2d7f25d..4ba98b7 100644
--- a/contrib/coccinelle/array.cocci
+++ b/contrib/coccinelle/array.cocci
@@ -24,3 +24,19 @@
 @@
 - memcpy(dst, src, n * sizeof(T));
 + COPY_ARRAY(dst, src, n);
+
+@@
+type T;
+T *ptr;
+expression n;
+@@
+- ptr = xmalloc(n * sizeof(*ptr));
++ ALLOC_ARRAY(ptr, n);
+
+@@
+type T;
+T *ptr;
+expression n;
+@@
+- ptr = xmalloc(n * sizeof(T));
++ ALLOC_ARRAY(ptr, n);
diff --git a/contrib/coccinelle/free.cocci b/contrib/coccinelle/free.cocci
index e282131..c03ba73 100644
--- a/contrib/coccinelle/free.cocci
+++ b/contrib/coccinelle/free.cocci
@@ -3,3 +3,9 @@
 @@
 - if (E)
   free(E);
+
+@@
+expression E;
+@@
+- if (!E)
+  free(E);
diff --git a/contrib/coccinelle/strbuf.cocci b/contrib/coccinelle/strbuf.cocci
index 63995f2..1d580e4 100644
--- a/contrib/coccinelle/strbuf.cocci
+++ b/contrib/coccinelle/strbuf.cocci
@@ -38,3 +38,9 @@
 @@
 - strbuf_addstr(E1, find_unique_abbrev(E2, E3));
 + strbuf_add_unique_abbrev(E1, E2, E3);
+
+@@
+expression E1, E2;
+@@
+- strbuf_addstr(E1, real_path(E2));
++ strbuf_add_real_path(E1, E2);
diff --git a/contrib/coccinelle/swap.cocci b/contrib/coccinelle/swap.cocci
new file mode 100644
index 0000000..a0934d1
--- /dev/null
+++ b/contrib/coccinelle/swap.cocci
@@ -0,0 +1,28 @@
+@ swap_with_declaration @
+type T;
+identifier tmp;
+T a, b;
+@@
+- T tmp = a;
++ T tmp;
++ tmp = a;
+  a = b;
+  b = tmp;
+
+@ swap @
+type T;
+T tmp, a, b;
+@@
+- tmp = a;
+- a = b;
+- b = tmp;
++ SWAP(a, b);
+
+@ extends swap @
+identifier unused;
+@@
+  {
+  ...
+- T unused;
+  ... when != unused
+  }
diff --git a/contrib/coccinelle/xstrdup_or_null.cocci b/contrib/coccinelle/xstrdup_or_null.cocci
index 3fceef1..8e05d1c 100644
--- a/contrib/coccinelle/xstrdup_or_null.cocci
+++ b/contrib/coccinelle/xstrdup_or_null.cocci
@@ -5,3 +5,9 @@
 - if (E)
 -    V = xstrdup(E);
 + V = xstrdup_or_null(E);
+
+@@
+expression E;
+@@
+- xstrdup(absolute_path(E))
++ absolute_pathdup(E)
diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash
index 21016bf..1150164 100644
--- a/contrib/completion/git-completion.bash
+++ b/contrib/completion/git-completion.bash
@@ -34,21 +34,41 @@
 *)   COMP_WORDBREAKS="$COMP_WORDBREAKS:"
 esac
 
+# Discovers the path to the git repository taking any '--git-dir=<path>' and
+# '-C <path>' options into account and stores it in the $__git_repo_path
+# variable.
+__git_find_repo_path ()
+{
+	if [ -n "$__git_repo_path" ]; then
+		# we already know where it is
+		return
+	fi
+
+	if [ -n "${__git_C_args-}" ]; then
+		__git_repo_path="$(git "${__git_C_args[@]}" \
+			${__git_dir:+--git-dir="$__git_dir"} \
+			rev-parse --absolute-git-dir 2>/dev/null)"
+	elif [ -n "${__git_dir-}" ]; then
+		test -d "$__git_dir" &&
+		__git_repo_path="$__git_dir"
+	elif [ -n "${GIT_DIR-}" ]; then
+		test -d "${GIT_DIR-}" &&
+		__git_repo_path="$GIT_DIR"
+	elif [ -d .git ]; then
+		__git_repo_path=.git
+	else
+		__git_repo_path="$(git rev-parse --git-dir 2>/dev/null)"
+	fi
+}
+
+# Deprecated: use __git_find_repo_path() and $__git_repo_path instead
 # __gitdir accepts 0 or 1 arguments (i.e., location)
 # returns location of .git repo
 __gitdir ()
 {
 	if [ -z "${1-}" ]; then
-		if [ -n "${__git_dir-}" ]; then
-			echo "$__git_dir"
-		elif [ -n "${GIT_DIR-}" ]; then
-			test -d "${GIT_DIR-}" || return 1
-			echo "$GIT_DIR"
-		elif [ -d .git ]; then
-			echo .git
-		else
-			git rev-parse --git-dir 2>/dev/null
-		fi
+		__git_find_repo_path || return 1
+		echo "$__git_repo_path"
 	elif [ -d "$1/.git" ]; then
 		echo "$1/.git"
 	else
@@ -56,6 +76,14 @@
 	fi
 }
 
+# Runs git with all the options given as argument, respecting any
+# '--git-dir=<path>' and '-C <path>' options present on the command line
+__git ()
+{
+	git ${__git_C_args:+"${__git_C_args[@]}"} \
+		${__git_dir:+--git-dir="$__git_dir"} "$@" 2>/dev/null
+}
+
 # The following function is based on code from:
 #
 #   bash_completion - programmable completion functions for bash 3.2+
@@ -185,6 +213,20 @@
 }
 fi
 
+# Fills the COMPREPLY array with prefiltered words without any additional
+# processing.
+# Callers must take care of providing only words that match the current word
+# to be completed and adding any prefix and/or suffix (trailing space!), if
+# necessary.
+# 1: List of newline-separated matching completion words, complete with
+#    prefix and suffix.
+__gitcomp_direct ()
+{
+	local IFS=$'\n'
+
+	COMPREPLY=($1)
+}
+
 __gitcompappend ()
 {
 	local x i=${#COMPREPLY[@]}
@@ -283,11 +325,11 @@
 __git_ls_files_helper ()
 {
 	if [ "$2" == "--committable" ]; then
-		git -C "$1" diff-index --name-only --relative HEAD
+		__git -C "$1" diff-index --name-only --relative HEAD
 	else
 		# NOTE: $2 is not quoted in order to support multiple options
-		git -C "$1" ls-files --exclude-standard $2
-	fi 2>/dev/null
+		__git -C "$1" ls-files --exclude-standard $2
+	fi
 }
 
 
@@ -299,100 +341,195 @@
 #    slash.
 __git_index_files ()
 {
-	local dir="$(__gitdir)" root="${2-.}" file
+	local root="${2-.}" file
 
-	if [ -d "$dir" ]; then
-		__git_ls_files_helper "$root" "$1" |
-		while read -r file; do
-			case "$file" in
-			?*/*) echo "${file%%/*}" ;;
-			*) echo "$file" ;;
-			esac
-		done | sort | uniq
-	fi
+	__git_ls_files_helper "$root" "$1" |
+	while read -r file; do
+		case "$file" in
+		?*/*) echo "${file%%/*}" ;;
+		*) echo "$file" ;;
+		esac
+	done | sort | uniq
 }
 
+# Lists branches from the local repository.
+# 1: A prefix to be added to each listed branch (optional).
+# 2: List only branches matching this word (optional; list all branches if
+#    unset or empty).
+# 3: A suffix to be appended to each listed branch (optional).
 __git_heads ()
 {
-	local dir="$(__gitdir)"
-	if [ -d "$dir" ]; then
-		git --git-dir="$dir" for-each-ref --format='%(refname:short)' \
-			refs/heads
-		return
-	fi
+	local pfx="${1-}" cur_="${2-}" sfx="${3-}"
+
+	__git for-each-ref --format="${pfx//\%/%%}%(refname:strip=2)$sfx" \
+			"refs/heads/$cur_*" "refs/heads/$cur_*/**"
 }
 
+# Lists tags from the local repository.
+# Accepts the same positional parameters as __git_heads() above.
 __git_tags ()
 {
-	local dir="$(__gitdir)"
-	if [ -d "$dir" ]; then
-		git --git-dir="$dir" for-each-ref --format='%(refname:short)' \
-			refs/tags
-		return
-	fi
+	local pfx="${1-}" cur_="${2-}" sfx="${3-}"
+
+	__git for-each-ref --format="${pfx//\%/%%}%(refname:strip=2)$sfx" \
+			"refs/tags/$cur_*" "refs/tags/$cur_*/**"
 }
 
-# __git_refs accepts 0, 1 (to pass to __gitdir), or 2 arguments
-# presence of 2nd argument means use the guess heuristic employed
-# by checkout for tracking branches
+# Lists refs from the local (by default) or from a remote repository.
+# It accepts 0, 1 or 2 arguments:
+# 1: The remote to list refs from (optional; ignored, if set but empty).
+#    Can be the name of a configured remote, a path, or a URL.
+# 2: In addition to local refs, list unique branches from refs/remotes/ for
+#    'git checkout's tracking DWIMery (optional; ignored, if set but empty).
+# 3: A prefix to be added to each listed ref (optional).
+# 4: List only refs matching this word (optional; list all refs if unset or
+#    empty).
+# 5: A suffix to be appended to each listed ref (optional; ignored, if set
+#    but empty).
+#
+# Use __git_complete_refs() instead.
 __git_refs ()
 {
-	local i hash dir="$(__gitdir "${1-}")" track="${2-}"
-	local format refs pfx
-	if [ -d "$dir" ]; then
-		case "$cur" in
+	local i hash dir track="${2-}"
+	local list_refs_from=path remote="${1-}"
+	local format refs
+	local pfx="${3-}" cur_="${4-$cur}" sfx="${5-}"
+	local match="${4-}"
+	local fer_pfx="${pfx//\%/%%}" # "escape" for-each-ref format specifiers
+
+	__git_find_repo_path
+	dir="$__git_repo_path"
+
+	if [ -z "$remote" ]; then
+		if [ -z "$dir" ]; then
+			return
+		fi
+	else
+		if __git_is_configured_remote "$remote"; then
+			# configured remote takes precedence over a
+			# local directory with the same name
+			list_refs_from=remote
+		elif [ -d "$remote/.git" ]; then
+			dir="$remote/.git"
+		elif [ -d "$remote" ]; then
+			dir="$remote"
+		else
+			list_refs_from=url
+		fi
+	fi
+
+	if [ "$list_refs_from" = path ]; then
+		if [[ "$cur_" == ^* ]]; then
+			pfx="$pfx^"
+			fer_pfx="$fer_pfx^"
+			cur_=${cur_#^}
+			match=${match#^}
+		fi
+		case "$cur_" in
 		refs|refs/*)
 			format="refname"
-			refs="${cur%/*}"
+			refs=("$match*" "$match*/**")
 			track=""
 			;;
 		*)
-			[[ "$cur" == ^* ]] && pfx="^"
 			for i in HEAD FETCH_HEAD ORIG_HEAD MERGE_HEAD; do
-				if [ -e "$dir/$i" ]; then echo $pfx$i; fi
+				case "$i" in
+				$match*)
+					if [ -e "$dir/$i" ]; then
+						echo "$pfx$i$sfx"
+					fi
+					;;
+				esac
 			done
-			format="refname:short"
-			refs="refs/tags refs/heads refs/remotes"
+			format="refname:strip=2"
+			refs=("refs/tags/$match*" "refs/tags/$match*/**"
+				"refs/heads/$match*" "refs/heads/$match*/**"
+				"refs/remotes/$match*" "refs/remotes/$match*/**")
 			;;
 		esac
-		git --git-dir="$dir" for-each-ref --format="$pfx%($format)" \
-			$refs
+		__git_dir="$dir" __git for-each-ref --format="$fer_pfx%($format)$sfx" \
+			"${refs[@]}"
 		if [ -n "$track" ]; then
 			# employ the heuristic used by git checkout
 			# Try to find a remote branch that matches the completion word
 			# but only output if the branch name is unique
-			local ref entry
-			git --git-dir="$dir" for-each-ref --shell --format="ref=%(refname:short)" \
-				"refs/remotes/" | \
-			while read -r entry; do
-				eval "$entry"
-				ref="${ref#*/}"
-				if [[ "$ref" == "$cur"* ]]; then
-					echo "$ref"
-				fi
-			done | sort | uniq -u
+			__git for-each-ref --format="$fer_pfx%(refname:strip=3)$sfx" \
+				--sort="refname:strip=3" \
+				"refs/remotes/*/$match*" "refs/remotes/*/$match*/**" | \
+			uniq -u
 		fi
 		return
 	fi
-	case "$cur" in
+	case "$cur_" in
 	refs|refs/*)
-		git ls-remote "$dir" "$cur*" 2>/dev/null | \
+		__git ls-remote "$remote" "$match*" | \
 		while read -r hash i; do
 			case "$i" in
 			*^{}) ;;
-			*) echo "$i" ;;
+			*) echo "$pfx$i$sfx" ;;
 			esac
 		done
 		;;
 	*)
-		echo "HEAD"
-		git for-each-ref --format="%(refname:short)" -- \
-			"refs/remotes/$dir/" 2>/dev/null | sed -e "s#^$dir/##"
+		if [ "$list_refs_from" = remote ]; then
+			case "HEAD" in
+			$match*)	echo "${pfx}HEAD$sfx" ;;
+			esac
+			__git for-each-ref --format="$fer_pfx%(refname:strip=3)$sfx" \
+				"refs/remotes/$remote/$match*" \
+				"refs/remotes/$remote/$match*/**"
+		else
+			local query_symref
+			case "HEAD" in
+			$match*)	query_symref="HEAD" ;;
+			esac
+			__git ls-remote "$remote" $query_symref \
+				"refs/tags/$match*" "refs/heads/$match*" \
+				"refs/remotes/$match*" |
+			while read -r hash i; do
+				case "$i" in
+				*^{})	;;
+				refs/*)	echo "$pfx${i#refs/*/}$sfx" ;;
+				*)	echo "$pfx$i$sfx" ;;  # symbolic refs
+				esac
+			done
+		fi
 		;;
 	esac
 }
 
+# Completes refs, short and long, local and remote, symbolic and pseudo.
+#
+# Usage: __git_complete_refs [<option>]...
+# --remote=<remote>: The remote to list refs from, can be the name of a
+#                    configured remote, a path, or a URL.
+# --track: List unique remote branches for 'git checkout's tracking DWIMery.
+# --pfx=<prefix>: A prefix to be added to each ref.
+# --cur=<word>: The current ref to be completed.  Defaults to the current
+#               word to be completed.
+# --sfx=<suffix>: A suffix to be appended to each ref instead of the default
+#                 space.
+__git_complete_refs ()
+{
+	local remote track pfx cur_="$cur" sfx=" "
+
+	while test $# != 0; do
+		case "$1" in
+		--remote=*)	remote="${1##--remote=}" ;;
+		--track)	track="yes" ;;
+		--pfx=*)	pfx="${1##--pfx=}" ;;
+		--cur=*)	cur_="${1##--cur=}" ;;
+		--sfx=*)	sfx="${1##--sfx=}" ;;
+		*)		return 1 ;;
+		esac
+		shift
+	done
+
+	__gitcomp_direct "$(__git_refs "$remote" "$track" "$pfx" "$cur_" "$sfx")"
+}
+
 # __git_refs2 requires 1 argument (to pass to __git_refs)
+# Deprecated: use __git_complete_fetch_refspecs() instead.
 __git_refs2 ()
 {
 	local i
@@ -401,11 +538,29 @@
 	done
 }
 
+# Completes refspecs for fetching from a remote repository.
+# 1: The remote repository.
+# 2: A prefix to be added to each listed refspec (optional).
+# 3: The ref to be completed as a refspec instead of the current word to be
+#    completed (optional)
+# 4: A suffix to be appended to each listed refspec instead of the default
+#    space (optional).
+__git_complete_fetch_refspecs ()
+{
+	local i remote="$1" pfx="${2-}" cur_="${3-$cur}" sfx="${4- }"
+
+	__gitcomp_direct "$(
+		for i in $(__git_refs "$remote" "" "" "$cur_") ; do
+			echo "$pfx$i:$i$sfx"
+		done
+		)"
+}
+
 # __git_refs_remotes requires 1 argument (to pass to ls-remote)
 __git_refs_remotes ()
 {
 	local i hash
-	git ls-remote "$1" 'refs/heads/*' 2>/dev/null | \
+	__git ls-remote "$1" 'refs/heads/*' | \
 	while read -r hash i; do
 		echo "$i:refs/remotes/$1/${i#refs/heads/}"
 	done
@@ -413,9 +568,21 @@
 
 __git_remotes ()
 {
-	local d="$(__gitdir)"
-	test -d "$d/remotes" && ls -1 "$d/remotes"
-	git --git-dir="$d" remote
+	__git_find_repo_path
+	test -d "$__git_repo_path/remotes" && ls -1 "$__git_repo_path/remotes"
+	__git remote
+}
+
+# Returns true if $1 matches the name of a configured remote, false otherwise.
+__git_is_configured_remote ()
+{
+	local remote
+	for remote in $(__git_remotes); do
+		if [ "$remote" = "$1" ]; then
+			return 0
+		fi
+	done
+	return 1
 }
 
 __git_list_merge_strategies ()
@@ -469,7 +636,7 @@
 		*)   pfx="$ref:$pfx" ;;
 		esac
 
-		__gitcomp_nl "$(git --git-dir="$(__gitdir)" ls-tree "$ls" 2>/dev/null \
+		__gitcomp_nl "$(__git ls-tree "$ls" \
 				| sed '/^100... blob /{
 				           s,^.*	,,
 				           s,$, ,
@@ -488,15 +655,15 @@
 	*...*)
 		pfx="${cur_%...*}..."
 		cur_="${cur_#*...}"
-		__gitcomp_nl "$(__git_refs)" "$pfx" "$cur_"
+		__git_complete_refs --pfx="$pfx" --cur="$cur_"
 		;;
 	*..*)
 		pfx="${cur_%..*}.."
 		cur_="${cur_#*..}"
-		__gitcomp_nl "$(__git_refs)" "$pfx" "$cur_"
+		__git_complete_refs --pfx="$pfx" --cur="$cur_"
 		;;
 	*)
-		__gitcomp_nl "$(__git_refs)"
+		__git_complete_refs
 		;;
 	esac
 }
@@ -581,23 +748,23 @@
 	case "$cmd" in
 	fetch)
 		if [ $lhs = 1 ]; then
-			__gitcomp_nl "$(__git_refs2 "$remote")" "$pfx" "$cur_"
+			__git_complete_fetch_refspecs "$remote" "$pfx" "$cur_"
 		else
-			__gitcomp_nl "$(__git_refs)" "$pfx" "$cur_"
+			__git_complete_refs --pfx="$pfx" --cur="$cur_"
 		fi
 		;;
 	pull|remote)
 		if [ $lhs = 1 ]; then
-			__gitcomp_nl "$(__git_refs "$remote")" "$pfx" "$cur_"
+			__git_complete_refs --remote="$remote" --pfx="$pfx" --cur="$cur_"
 		else
-			__gitcomp_nl "$(__git_refs)" "$pfx" "$cur_"
+			__git_complete_refs --pfx="$pfx" --cur="$cur_"
 		fi
 		;;
 	push)
 		if [ $lhs = 1 ]; then
-			__gitcomp_nl "$(__git_refs)" "$pfx" "$cur_"
+			__git_complete_refs --pfx="$pfx" --cur="$cur_"
 		else
-			__gitcomp_nl "$(__git_refs "$remote")" "$pfx" "$cur_"
+			__git_complete_refs --remote="$remote" --pfx="$pfx" --cur="$cur_"
 		fi
 		;;
 	esac
@@ -747,7 +914,7 @@
 __git_get_config_variables ()
 {
 	local section="$1" i IFS=$'\n'
-	for i in $(git --git-dir="$(__gitdir)" config --name-only --get-regexp "^$section\..*" 2>/dev/null); do
+	for i in $(__git config --name-only --get-regexp "^$section\..*"); do
 		echo "${i#$section.}"
 	done
 }
@@ -765,8 +932,7 @@
 # __git_aliased_command requires 1 argument
 __git_aliased_command ()
 {
-	local word cmdline=$(git --git-dir="$(__gitdir)" \
-		config --get "alias.$1")
+	local word cmdline=$(__git config --get "alias.$1")
 	for word in $cmdline; do
 		case "$word" in
 		\!gitk|gitk)
@@ -842,7 +1008,7 @@
 	done
 
 	if [ -n "$config_key" ] && [ -z "$result" ]; then
-		result="$(git --git-dir="$(__gitdir)" config "$config_key")"
+		result="$(__git config "$config_key")"
 	fi
 
 	echo "$result"
@@ -901,8 +1067,8 @@
 
 _git_am ()
 {
-	local dir="$(__gitdir)"
-	if [ -d "$dir"/rebase-apply ]; then
+	__git_find_repo_path
+	if [ -d "$__git_repo_path"/rebase-apply ]; then
 		__gitcomp "--skip --continue --resolved --abort"
 		return
 	fi
@@ -936,6 +1102,7 @@
 			--apply --no-add --exclude=
 			--ignore-whitespace --ignore-space-change
 			--whitespace= --inaccurate-eof --verbose
+			--recount --directory=
 			"
 		return
 	esac
@@ -947,13 +1114,17 @@
 	--*)
 		__gitcomp "
 			--interactive --refresh --patch --update --dry-run
-			--ignore-errors --intent-to-add
+			--ignore-errors --intent-to-add --force --edit --chmod=
 			"
 		return
 	esac
 
-	# XXX should we check for --update and --all options ?
-	__git_complete_index_file "--others --modified --directory --no-empty-directory"
+	local complete_opt="--others --modified --directory --no-empty-directory"
+	if test -n "$(__git_find_on_cmdline "-u --update")"
+	then
+		complete_opt="--modified"
+	fi
+	__git_complete_index_file "$complete_opt"
 }
 
 _git_archive ()
@@ -970,7 +1141,7 @@
 	--*)
 		__gitcomp "
 			--format= --list --verbose
-			--prefix= --remote= --exec=
+			--prefix= --remote= --exec= --output
 			"
 		return
 		;;
@@ -985,7 +1156,8 @@
 	local subcommands="start bad good skip reset visualize replay log run"
 	local subcommand="$(__git_find_on_cmdline "$subcommands")"
 	if [ -z "$subcommand" ]; then
-		if [ -f "$(__gitdir)"/BISECT_START ]; then
+		__git_find_repo_path
+		if [ -f "$__git_repo_path"/BISECT_START ]; then
 			__gitcomp "$subcommands"
 		else
 			__gitcomp "replay start"
@@ -995,7 +1167,7 @@
 
 	case "$subcommand" in
 	bad|good|reset|skip|start)
-		__gitcomp_nl "$(__git_refs)"
+		__git_complete_refs
 		;;
 	*)
 		;;
@@ -1017,21 +1189,22 @@
 
 	case "$cur" in
 	--set-upstream-to=*)
-		__gitcomp_nl "$(__git_refs)" "" "${cur##--set-upstream-to=}"
+		__git_complete_refs --cur="${cur##--set-upstream-to=}"
 		;;
 	--*)
 		__gitcomp "
 			--color --no-color --verbose --abbrev= --no-abbrev
-			--track --no-track --contains --merged --no-merged
+			--track --no-track --contains --no-contains --merged --no-merged
 			--set-upstream-to= --edit-description --list
 			--unset-upstream --delete --move --remotes
+			--column --no-column --sort= --points-at
 			"
 		;;
 	*)
 		if [ $only_local_ref = "y" -a $has_r = "n" ]; then
-			__gitcomp_nl "$(__git_heads)"
+			__gitcomp_direct "$(__git_heads "" "$cur" " ")"
 		else
-			__gitcomp_nl "$(__git_refs)"
+			__git_complete_refs
 		fi
 		;;
 	esac
@@ -1074,24 +1247,24 @@
 	*)
 		# check if --track, --no-track, or --no-guess was specified
 		# if so, disable DWIM mode
-		local flags="--track --no-track --no-guess" track=1
+		local flags="--track --no-track --no-guess" track_opt="--track"
 		if [ -n "$(__git_find_on_cmdline "$flags")" ]; then
-			track=''
+			track_opt=''
 		fi
-		__gitcomp_nl "$(__git_refs '' $track)"
+		__git_complete_refs $track_opt
 		;;
 	esac
 }
 
 _git_cherry ()
 {
-	__gitcomp_nl "$(__git_refs)"
+	__git_complete_refs
 }
 
 _git_cherry_pick ()
 {
-	local dir="$(__gitdir)"
-	if [ -f "$dir"/CHERRY_PICK_HEAD ]; then
+	__git_find_repo_path
+	if [ -f "$__git_repo_path"/CHERRY_PICK_HEAD ]; then
 		__gitcomp "--continue --quit --abort"
 		return
 	fi
@@ -1100,7 +1273,7 @@
 		__gitcomp "--edit --no-commit --signoff --strategy= --mainline"
 		;;
 	*)
-		__gitcomp_nl "$(__git_refs)"
+		__git_complete_refs
 		;;
 	esac
 }
@@ -1138,6 +1311,8 @@
 			--single-branch
 			--branch
 			--recurse-submodules
+			--no-single-branch
+			--shallow-submodules
 			"
 		return
 		;;
@@ -1150,7 +1325,7 @@
 {
 	case "$prev" in
 	-c|-C)
-		__gitcomp_nl "$(__git_refs)" "" "${cur}"
+		__git_complete_refs
 		return
 		;;
 	esac
@@ -1163,7 +1338,7 @@
 		;;
 	--reuse-message=*|--reedit-message=*|\
 	--fixup=*|--squash=*)
-		__gitcomp_nl "$(__git_refs)" "" "${cur#*=}"
+		__git_complete_refs --cur="${cur#*=}"
 		return
 		;;
 	--untracked-files=*)
@@ -1179,11 +1354,12 @@
 			--reset-author --file= --message= --template=
 			--cleanup= --untracked-files --untracked-files=
 			--verbose --quiet --fixup= --squash=
+			--patch --short --date --allow-empty
 			"
 		return
 	esac
 
-	if git rev-parse --verify --quiet HEAD >/dev/null; then
+	if __git rev-parse --verify --quiet HEAD >/dev/null; then
 		__git_complete_index_file "--committable"
 	else
 		# This is the first commit
@@ -1197,16 +1373,17 @@
 	--*)
 		__gitcomp "
 			--all --tags --contains --abbrev= --candidates=
-			--exact-match --debug --long --match --always
+			--exact-match --debug --long --match --always --first-parent
+			--exclude
 			"
 		return
 	esac
-	__gitcomp_nl "$(__git_refs)"
+	__git_complete_refs
 }
 
 __git_diff_algorithms="myers minimal patience histogram"
 
-__git_diff_submodule_formats="log short"
+__git_diff_submodule_formats="diff log short"
 
 __git_diff_common_options="--stat --numstat --shortstat --summary
 			--patch-with-stat --name-only --name-status --color
@@ -1280,6 +1457,7 @@
 __git_fetch_options="
 	--quiet --verbose --append --upload-pack --force --keep --depth=
 	--tags --no-tags --all --prune --dry-run --recurse-submodules=
+	--unshallow --update-shallow
 "
 
 _git_fetch ()
@@ -1329,7 +1507,7 @@
 	--*)
 		__gitcomp "
 			--tags --root --unreachable --cache --no-reflogs --full
-			--strict --verbose --lost-found
+			--strict --verbose --lost-found --name-objects
 			"
 		return
 		;;
@@ -1351,8 +1529,43 @@
 	_gitk
 }
 
-__git_match_ctag() {
-	awk "/^${1//\//\\/}/ { print \$1 }" "$2"
+# Lists matching symbol names from a tag (as in ctags) file.
+# 1: List symbol names matching this word.
+# 2: The tag file to list symbol names from.
+# 3: A prefix to be added to each listed symbol name (optional).
+# 4: A suffix to be appended to each listed symbol name (optional).
+__git_match_ctag () {
+	awk -v pfx="${3-}" -v sfx="${4-}" "
+		/^${1//\//\\/}/ { print pfx \$1 sfx }
+		" "$2"
+}
+
+# Complete symbol names from a tag file.
+# Usage: __git_complete_symbol [<option>]...
+# --tags=<file>: The tag file to list symbol names from instead of the
+#                default "tags".
+# --pfx=<prefix>: A prefix to be added to each symbol name.
+# --cur=<word>: The current symbol name to be completed.  Defaults to
+#               the current word to be completed.
+# --sfx=<suffix>: A suffix to be appended to each symbol name instead
+#                 of the default space.
+__git_complete_symbol () {
+	local tags=tags pfx="" cur_="${cur-}" sfx=" "
+
+	while test $# != 0; do
+		case "$1" in
+		--tags=*)	tags="${1##--tags=}" ;;
+		--pfx=*)	pfx="${1##--pfx=}" ;;
+		--cur=*)	cur_="${1##--cur=}" ;;
+		--sfx=*)	sfx="${1##--sfx=}" ;;
+		*)		return 1 ;;
+		esac
+		shift
+	done
+
+	if test -r "$tags"; then
+		__gitcomp_direct "$(__git_match_ctag "$cur_" "$tags" "$pfx" "$sfx")"
+	fi
 }
 
 _git_grep ()
@@ -1373,6 +1586,8 @@
 			--max-depth
 			--count
 			--and --or --not --all-match
+			--break --heading --show-function --function-context
+			--untracked --no-index
 			"
 		return
 		;;
@@ -1380,14 +1595,11 @@
 
 	case "$cword,$prev" in
 	2,*|*,-*)
-		if test -r tags; then
-			__gitcomp_nl "$(__git_match_ctag "$cur" tags)"
-			return
-		fi
+		__git_complete_symbol && return
 		;;
 	esac
 
-	__gitcomp_nl "$(__git_refs)"
+	__git_complete_refs
 }
 
 _git_help ()
@@ -1445,6 +1657,12 @@
 
 _git_ls_remote ()
 {
+	case "$cur" in
+	--*)
+		__gitcomp "--heads --tags --refs --get-url --symref"
+		return
+		;;
+	esac
 	__gitcomp_nl "$(__git_remotes)"
 }
 
@@ -1482,12 +1700,25 @@
 _git_log ()
 {
 	__git_has_doubledash && return
+	__git_find_repo_path
 
-	local g="$(git rev-parse --git-dir 2>/dev/null)"
 	local merge=""
-	if [ -f "$g/MERGE_HEAD" ]; then
+	if [ -f "$__git_repo_path/MERGE_HEAD" ]; then
 		merge="--merge"
 	fi
+	case "$prev,$cur" in
+	-L,:*:*)
+		return	# fall back to Bash filename completion
+		;;
+	-L,:*)
+		__git_complete_symbol --cur="${cur#:}" --sfx=":"
+		return
+		;;
+	-G,*|-S,*)
+		__git_complete_symbol
+		return
+		;;
+	esac
 	case "$cur" in
 	--pretty=*|--format=*)
 		__gitcomp "$__git_log_pretty_formats $(__git_pretty_aliases)
@@ -1533,6 +1764,21 @@
 			"
 		return
 		;;
+	-L:*:*)
+		return	# fall back to Bash filename completion
+		;;
+	-L:*)
+		__git_complete_symbol --cur="${cur#-L:}" --sfx=":"
+		return
+		;;
+	-G*)
+		__git_complete_symbol --pfx="-G" --cur="${cur#-G}"
+		return
+		;;
+	-S*)
+		__git_complete_symbol --pfx="-S" --cur="${cur#-S}"
+		return
+		;;
 	esac
 	__git_complete_revlist
 }
@@ -1552,10 +1798,10 @@
 	case "$cur" in
 	--*)
 		__gitcomp "$__git_merge_options
-			--rerere-autoupdate --no-rerere-autoupdate --abort"
+			--rerere-autoupdate --no-rerere-autoupdate --abort --continue"
 		return
 	esac
-	__gitcomp_nl "$(__git_refs)"
+	__git_complete_refs
 }
 
 _git_mergetool ()
@@ -1566,7 +1812,7 @@
 		return
 		;;
 	--*)
-		__gitcomp "--tool="
+		__gitcomp "--tool= --prompt --no-prompt"
 		return
 		;;
 	esac
@@ -1580,7 +1826,7 @@
 		return
 		;;
 	esac
-	__gitcomp_nl "$(__git_refs)"
+	__git_complete_refs
 }
 
 _git_mv ()
@@ -1618,7 +1864,7 @@
 	,*)
 		case "$prev" in
 		--ref)
-			__gitcomp_nl "$(__git_refs)"
+			__git_complete_refs
 			;;
 		*)
 			__gitcomp "$subcommands --ref"
@@ -1627,7 +1873,7 @@
 		;;
 	add,--reuse-message=*|append,--reuse-message=*|\
 	add,--reedit-message=*|append,--reedit-message=*)
-		__gitcomp_nl "$(__git_refs)" "" "${cur#*=}"
+		__git_complete_refs --cur="${cur#*=}"
 		;;
 	add,--*|append,--*)
 		__gitcomp '--file= --message= --reedit-message=
@@ -1646,7 +1892,7 @@
 		-m|-F)
 			;;
 		*)
-			__gitcomp_nl "$(__git_refs)"
+			__git_complete_refs
 			;;
 		esac
 		;;
@@ -1674,7 +1920,7 @@
 	__git_complete_remote_or_refspec
 }
 
-__git_push_recurse_submodules="check on-demand"
+__git_push_recurse_submodules="check on-demand only"
 
 __git_complete_force_with_lease ()
 {
@@ -1684,10 +1930,10 @@
 	--*=)
 		;;
 	*:*)
-		__gitcomp_nl "$(__git_refs)" "" "${cur_#*:}"
+		__git_complete_refs --cur="${cur_#*:}"
 		;;
 	*)
-		__gitcomp_nl "$(__git_refs)" "" "$cur_"
+		__git_complete_refs --cur="$cur_"
 		;;
 	esac
 }
@@ -1732,12 +1978,13 @@
 
 _git_rebase ()
 {
-	local dir="$(__gitdir)"
-	if [ -f "$dir"/rebase-merge/interactive ]; then
-		__gitcomp "--continue --skip --abort --edit-todo"
+	__git_find_repo_path
+	if [ -f "$__git_repo_path"/rebase-merge/interactive ]; then
+		__gitcomp "--continue --skip --abort --quit --edit-todo"
 		return
-	elif [ -d "$dir"/rebase-apply ] || [ -d "$dir"/rebase-merge ]; then
-		__gitcomp "--continue --skip --abort"
+	elif [ -d "$__git_repo_path"/rebase-apply ] || \
+	     [ -d "$__git_repo_path"/rebase-merge ]; then
+		__gitcomp "--continue --skip --abort --quit"
 		return
 	fi
 	__git_complete_strategy && return
@@ -1762,7 +2009,7 @@
 
 		return
 	esac
-	__gitcomp_nl "$(__git_refs)"
+	__git_complete_refs
 }
 
 _git_reflog ()
@@ -1773,7 +2020,7 @@
 	if [ -z "$subcommand" ]; then
 		__gitcomp "$subcommands"
 	else
-		__gitcomp_nl "$(__git_refs)"
+		__git_complete_refs
 	fi
 }
 
@@ -1784,9 +2031,7 @@
 {
 	case "$prev" in
 	--to|--cc|--bcc|--from)
-		__gitcomp "
-		$(git --git-dir="$(__gitdir)" send-email --dump-aliases 2>/dev/null)
-		"
+		__gitcomp "$(__git send-email --dump-aliases)"
 		return
 		;;
 	esac
@@ -1816,9 +2061,7 @@
 		return
 		;;
 	--to=*|--cc=*|--bcc=*|--from=*)
-		__gitcomp "
-		$(git --git-dir="$(__gitdir)" send-email --dump-aliases 2>/dev/null)
-		" "" "${cur#--*=}"
+		__gitcomp "$(__git send-email --dump-aliases)" "" "${cur#--*=}"
 		return
 		;;
 	--*)
@@ -1912,7 +2155,7 @@
 		c=$((--c))
 	done
 
-	git --git-dir="$(__gitdir)" config $config_file --name-only --list 2>/dev/null
+	__git config $config_file --name-only --list
 }
 
 _git_config ()
@@ -1923,7 +2166,7 @@
 		return
 		;;
 	branch.*.merge)
-		__gitcomp_nl "$(__git_refs)"
+		__git_complete_refs
 		return
 		;;
 	branch.*.rebase)
@@ -1947,9 +2190,8 @@
 	remote.*.push)
 		local remote="${prev#remote.}"
 		remote="${remote%.push}"
-		__gitcomp_nl "$(git --git-dir="$(__gitdir)" \
-			for-each-ref --format='%(refname):%(refname)' \
-			refs/heads)"
+		__gitcomp_nl "$(__git for-each-ref \
+			--format='%(refname):%(refname)' refs/heads)"
 		return
 		;;
 	pull.twohead|pull.octopus)
@@ -2028,7 +2270,7 @@
 		;;
 	branch.*)
 		local pfx="${cur%.*}." cur_="${cur#*.}"
-		__gitcomp_nl "$(__git_heads)" "$pfx" "$cur_" "."
+		__gitcomp_direct "$(__git_heads "$pfx" "$cur_" ".")"
 		__gitcomp_nl_append $'autosetupmerge\nautosetuprebase\n' "$pfx" "$cur_"
 		return
 		;;
@@ -2374,31 +2616,79 @@
 
 _git_remote ()
 {
-	local subcommands="add rename remove set-head set-branches set-url show prune update"
+	local subcommands="
+		add rename remove set-head set-branches
+		get-url set-url show prune update
+		"
 	local subcommand="$(__git_find_on_cmdline "$subcommands")"
 	if [ -z "$subcommand" ]; then
-		__gitcomp "$subcommands"
+		case "$cur" in
+		--*)
+			__gitcomp "--verbose"
+			;;
+		*)
+			__gitcomp "$subcommands"
+			;;
+		esac
 		return
 	fi
 
-	case "$subcommand" in
-	rename|remove|set-url|show|prune)
-		__gitcomp_nl "$(__git_remotes)"
+	case "$subcommand,$cur" in
+	add,--*)
+		__gitcomp "--track --master --fetch --tags --no-tags --mirror="
 		;;
-	set-head|set-branches)
+	add,*)
+		;;
+	set-head,--*)
+		__gitcomp "--auto --delete"
+		;;
+	set-branches,--*)
+		__gitcomp "--add"
+		;;
+	set-head,*|set-branches,*)
 		__git_complete_remote_or_refspec
 		;;
-	update)
+	update,--*)
+		__gitcomp "--prune"
+		;;
+	update,*)
 		__gitcomp "$(__git_get_config_variables "remotes")"
 		;;
+	set-url,--*)
+		__gitcomp "--push --add --delete"
+		;;
+	get-url,--*)
+		__gitcomp "--push --all"
+		;;
+	prune,--*)
+		__gitcomp "--dry-run"
+		;;
 	*)
+		__gitcomp_nl "$(__git_remotes)"
 		;;
 	esac
 }
 
 _git_replace ()
 {
-	__gitcomp_nl "$(__git_refs)"
+	case "$cur" in
+	--*)
+		__gitcomp "--edit --graft --format= --list --delete"
+		return
+		;;
+	esac
+	__git_complete_refs
+}
+
+_git_rerere ()
+{
+	local subcommands="clear forget diff remaining status gc"
+	local subcommand="$(__git_find_on_cmdline "$subcommands")"
+	if test -z "$subcommand"
+	then
+		__gitcomp "$subcommands"
+		return
+	fi
 }
 
 _git_reset ()
@@ -2407,27 +2697,30 @@
 
 	case "$cur" in
 	--*)
-		__gitcomp "--merge --mixed --hard --soft --patch"
+		__gitcomp "--merge --mixed --hard --soft --patch --keep"
 		return
 		;;
 	esac
-	__gitcomp_nl "$(__git_refs)"
+	__git_complete_refs
 }
 
 _git_revert ()
 {
-	local dir="$(__gitdir)"
-	if [ -f "$dir"/REVERT_HEAD ]; then
+	__git_find_repo_path
+	if [ -f "$__git_repo_path"/REVERT_HEAD ]; then
 		__gitcomp "--continue --quit --abort"
 		return
 	fi
 	case "$cur" in
 	--*)
-		__gitcomp "--edit --mainline --no-edit --no-commit --signoff"
+		__gitcomp "
+			--edit --mainline --no-edit --no-commit --signoff
+			--strategy= --strategy-option=
+			"
 		return
 		;;
 	esac
-	__gitcomp_nl "$(__git_refs)"
+	__git_complete_refs
 }
 
 _git_rm ()
@@ -2451,7 +2744,7 @@
 		__gitcomp "
 			$__git_log_common_options
 			$__git_log_shortlog_options
-			--numbered --summary
+			--numbered --summary --email
 			"
 		return
 		;;
@@ -2535,14 +2828,14 @@
 			;;
 		branch,*)
 			if [ $cword -eq 3 ]; then
-				__gitcomp_nl "$(__git_refs)";
+				__git_complete_refs
 			else
-				__gitcomp_nl "$(git --git-dir="$(__gitdir)" stash list \
+				__gitcomp_nl "$(__git stash list \
 						| sed -n -e 's/:.*//p')"
 			fi
 			;;
 		show,*|apply,*|drop,*|pop,*)
-			__gitcomp_nl "$(git --git-dir="$(__gitdir)" stash list \
+			__gitcomp_nl "$(__git stash list \
 					| sed -n -e 's/:.*//p')"
 			;;
 		*)
@@ -2556,10 +2849,11 @@
 	__git_has_doubledash && return
 
 	local subcommands="add status init deinit update summary foreach sync"
-	if [ -z "$(__git_find_on_cmdline "$subcommands")" ]; then
+	local subcommand="$(__git_find_on_cmdline "$subcommands")"
+	if [ -z "$subcommand" ]; then
 		case "$cur" in
 		--*)
-			__gitcomp "--quiet --cached"
+			__gitcomp "--quiet"
 			;;
 		*)
 			__gitcomp "$subcommands"
@@ -2567,6 +2861,33 @@
 		esac
 		return
 	fi
+
+	case "$subcommand,$cur" in
+	add,--*)
+		__gitcomp "--branch --force --name --reference --depth"
+		;;
+	status,--*)
+		__gitcomp "--cached --recursive"
+		;;
+	deinit,--*)
+		__gitcomp "--force --all"
+		;;
+	update,--*)
+		__gitcomp "
+			--init --remote --no-fetch
+			--recommend-shallow --no-recommend-shallow
+			--force --rebase --merge --reference --depth --recursive --jobs
+		"
+		;;
+	summary,--*)
+		__gitcomp "--cached --files --summary-limit"
+		;;
+	foreach,--*|sync,--*)
+		__gitcomp "--recursive"
+		;;
+	*)
+		;;
+	esac
 }
 
 _git_svn ()
@@ -2587,14 +2908,14 @@
 			--no-metadata --use-svm-props --use-svnsync-props
 			--log-window-size= --no-checkout --quiet
 			--repack-flags --use-log-author --localtime
+			--add-author-from
 			--ignore-paths= --include-paths= $remote_opts
 			"
 		local init_opts="
 			--template= --shared= --trunk= --tags=
 			--branches= --stdlayout --minimize-url
 			--no-metadata --use-svm-props --use-svnsync-props
-			--rewrite-root= --prefix= --use-log-author
-			--add-author-from $remote_opts
+			--rewrite-root= --prefix= $remote_opts
 			"
 		local cmt_opts="
 			--edit --rmdir --find-copies-harder --copy-similarity=
@@ -2674,7 +2995,7 @@
 		i="${words[c]}"
 		case "$i" in
 		-d|-v)
-			__gitcomp_nl "$(__git_tags)"
+			__gitcomp_direct "$(__git_tags "" "$cur" " ")"
 			return
 			;;
 		-f)
@@ -2689,11 +3010,11 @@
 		;;
 	-*|tag)
 		if [ $f = 1 ]; then
-			__gitcomp_nl "$(__git_tags)"
+			__gitcomp_direct "$(__git_tags "" "$cur" " ")"
 		fi
 		;;
 	*)
-		__gitcomp_nl "$(__git_refs)"
+		__git_complete_refs
 		;;
 	esac
 
@@ -2701,8 +3022,8 @@
 	--*)
 		__gitcomp "
 			--list --delete --verify --annotate --message --file
-			--sign --cleanup --local-user --force --column --sort
-			--contains --points-at
+			--sign --cleanup --local-user --force --column --sort=
+			--contains --no-contains --points-at --merged --no-merged --create-reflog
 			"
 		;;
 	esac
@@ -2741,7 +3062,8 @@
 
 __git_main ()
 {
-	local i c=1 command __git_dir
+	local i c=1 command __git_dir __git_repo_path
+	local __git_C_args C_args_count=0
 
 	while [ $c -lt $cword ]; do
 		i="${words[c]}"
@@ -2751,6 +3073,10 @@
 		--bare)      __git_dir="." ;;
 		--help) command="help"; break ;;
 		-c|--work-tree|--namespace) ((c++)) ;;
+		-C)	__git_C_args[C_args_count++]=-C
+			((c++))
+			__git_C_args[C_args_count++]="${words[c]}"
+			;;
 		-*) ;;
 		*) command="$i"; break ;;
 		esac
@@ -2758,6 +3084,17 @@
 	done
 
 	if [ -z "$command" ]; then
+		case "$prev" in
+		--git-dir|-C|--work-tree)
+			# these need a path argument, let's fall back to
+			# Bash filename completion
+			return
+			;;
+		-c|--namespace)
+			# we don't support completing these options' arguments
+			return
+			;;
+		esac
 		case "$cur" in
 		--*)   __gitcomp "
 			--paginate
@@ -2783,13 +3120,13 @@
 	fi
 
 	local completion_func="_git_${command//-/_}"
-	declare -f $completion_func >/dev/null && $completion_func && return
+	declare -f $completion_func >/dev/null 2>/dev/null && $completion_func && return
 
 	local expansion=$(__git_aliased_command "$command")
 	if [ -n "$expansion" ]; then
 		words[1]=$expansion
 		completion_func="_git_${expansion//-/_}"
-		declare -f $completion_func >/dev/null && $completion_func
+		declare -f $completion_func >/dev/null 2>/dev/null && $completion_func
 	fi
 }
 
@@ -2797,9 +3134,11 @@
 {
 	__git_has_doubledash && return
 
-	local g="$(__gitdir)"
+	local __git_repo_path
+	__git_find_repo_path
+
 	local merge=""
-	if [ -f "$g/MERGE_HEAD" ]; then
+	if [ -f "$__git_repo_path/MERGE_HEAD" ]; then
 		merge="--merge"
 	fi
 	case "$cur" in
@@ -2846,6 +3185,15 @@
 		esac
 	}
 
+	__gitcomp_direct ()
+	{
+		emulate -L zsh
+
+		local IFS=$'\n'
+		compset -P '*[=:]'
+		compadd -Q -- ${=1} && _ret=0
+	}
+
 	__gitcomp_nl ()
 	{
 		emulate -L zsh
diff --git a/contrib/completion/git-completion.zsh b/contrib/completion/git-completion.zsh
index e255413..c3521fb 100644
--- a/contrib/completion/git-completion.zsh
+++ b/contrib/completion/git-completion.zsh
@@ -67,6 +67,15 @@
 	esac
 }
 
+__gitcomp_direct ()
+{
+	emulate -L zsh
+
+	local IFS=$'\n'
+	compset -P '*[=:]'
+	compadd -Q -- ${=1} && _ret=0
+}
+
 __gitcomp_nl ()
 {
 	emulate -L zsh
diff --git a/contrib/completion/git-prompt.sh b/contrib/completion/git-prompt.sh
index 97eacd7..c6cbef3 100644
--- a/contrib/completion/git-prompt.sh
+++ b/contrib/completion/git-prompt.sh
@@ -82,6 +82,7 @@
 #     contains      relative to newer annotated tag (v1.6.3.2~35)
 #     branch        relative to newer tag or branch (master~4)
 #     describe      relative to older annotated tag (v1.6.3.1-13-gdd42c2f)
+#     tag           relative to any older tag (v1.6.3.1-13-gdd42c2f)
 #     default       exactly matching tag
 #
 # If you would like a colored hint about the current dirty state, set
@@ -443,6 +444,8 @@
 					git describe --contains HEAD ;;
 				(branch)
 					git describe --contains --all HEAD ;;
+				(tag)
+					git describe --tags HEAD ;;
 				(describe)
 					git describe HEAD ;;
 				(* | default)
diff --git a/contrib/convert-objects/convert-objects.c b/contrib/convert-objects/convert-objects.c
deleted file mode 100644
index f3b57bf..0000000
--- a/contrib/convert-objects/convert-objects.c
+++ /dev/null
@@ -1,329 +0,0 @@
-#include "cache.h"
-#include "blob.h"
-#include "commit.h"
-#include "tree.h"
-
-struct entry {
-	unsigned char old_sha1[20];
-	unsigned char new_sha1[20];
-	int converted;
-};
-
-#define MAXOBJECTS (1000000)
-
-static struct entry *convert[MAXOBJECTS];
-static int nr_convert;
-
-static struct entry * convert_entry(unsigned char *sha1);
-
-static struct entry *insert_new(unsigned char *sha1, int pos)
-{
-	struct entry *new = xcalloc(1, sizeof(struct entry));
-	hashcpy(new->old_sha1, sha1);
-	memmove(convert + pos + 1, convert + pos, (nr_convert - pos) * sizeof(struct entry *));
-	convert[pos] = new;
-	nr_convert++;
-	if (nr_convert == MAXOBJECTS)
-		die("you're kidding me - hit maximum object limit");
-	return new;
-}
-
-static struct entry *lookup_entry(unsigned char *sha1)
-{
-	int low = 0, high = nr_convert;
-
-	while (low < high) {
-		int next = (low + high) / 2;
-		struct entry *n = convert[next];
-		int cmp = hashcmp(sha1, n->old_sha1);
-		if (!cmp)
-			return n;
-		if (cmp < 0) {
-			high = next;
-			continue;
-		}
-		low = next+1;
-	}
-	return insert_new(sha1, low);
-}
-
-static void convert_binary_sha1(void *buffer)
-{
-	struct entry *entry = convert_entry(buffer);
-	hashcpy(buffer, entry->new_sha1);
-}
-
-static void convert_ascii_sha1(void *buffer)
-{
-	unsigned char sha1[20];
-	struct entry *entry;
-
-	if (get_sha1_hex(buffer, sha1))
-		die("expected sha1, got '%s'", (char *) buffer);
-	entry = convert_entry(sha1);
-	memcpy(buffer, sha1_to_hex(entry->new_sha1), 40);
-}
-
-static unsigned int convert_mode(unsigned int mode)
-{
-	unsigned int newmode;
-
-	newmode = mode & S_IFMT;
-	if (S_ISREG(mode))
-		newmode |= (mode & 0100) ? 0755 : 0644;
-	return newmode;
-}
-
-static int write_subdirectory(void *buffer, unsigned long size, const char *base, int baselen, unsigned char *result_sha1)
-{
-	char *new = xmalloc(size);
-	unsigned long newlen = 0;
-	unsigned long used;
-
-	used = 0;
-	while (size) {
-		int len = 21 + strlen(buffer);
-		char *path = strchr(buffer, ' ');
-		unsigned char *sha1;
-		unsigned int mode;
-		char *slash, *origpath;
-
-		if (!path || strtoul_ui(buffer, 8, &mode))
-			die("bad tree conversion");
-		mode = convert_mode(mode);
-		path++;
-		if (memcmp(path, base, baselen))
-			break;
-		origpath = path;
-		path += baselen;
-		slash = strchr(path, '/');
-		if (!slash) {
-			newlen += sprintf(new + newlen, "%o %s", mode, path);
-			new[newlen++] = '\0';
-			hashcpy((unsigned char *)new + newlen, (unsigned char *) buffer + len - 20);
-			newlen += 20;
-
-			used += len;
-			size -= len;
-			buffer = (char *) buffer + len;
-			continue;
-		}
-
-		newlen += sprintf(new + newlen, "%o %.*s", S_IFDIR, (int)(slash - path), path);
-		new[newlen++] = 0;
-		sha1 = (unsigned char *)(new + newlen);
-		newlen += 20;
-
-		len = write_subdirectory(buffer, size, origpath, slash-origpath+1, sha1);
-
-		used += len;
-		size -= len;
-		buffer = (char *) buffer + len;
-	}
-
-	write_sha1_file(new, newlen, tree_type, result_sha1);
-	free(new);
-	return used;
-}
-
-static void convert_tree(void *buffer, unsigned long size, unsigned char *result_sha1)
-{
-	void *orig_buffer = buffer;
-	unsigned long orig_size = size;
-
-	while (size) {
-		size_t len = 1+strlen(buffer);
-
-		convert_binary_sha1((char *) buffer + len);
-
-		len += 20;
-		if (len > size)
-			die("corrupt tree object");
-		size -= len;
-		buffer = (char *) buffer + len;
-	}
-
-	write_subdirectory(orig_buffer, orig_size, "", 0, result_sha1);
-}
-
-static unsigned long parse_oldstyle_date(const char *buf)
-{
-	char c, *p;
-	char buffer[100];
-	struct tm tm;
-	const char *formats[] = {
-		"%c",
-		"%a %b %d %T",
-		"%Z",
-		"%Y",
-		" %Y",
-		NULL
-	};
-	/* We only ever did two timezones in the bad old format .. */
-	const char *timezones[] = {
-		"PDT", "PST", "CEST", NULL
-	};
-	const char **fmt = formats;
-
-	p = buffer;
-	while (isspace(c = *buf))
-		buf++;
-	while ((c = *buf++) != '\n')
-		*p++ = c;
-	*p++ = 0;
-	buf = buffer;
-	memset(&tm, 0, sizeof(tm));
-	do {
-		const char *next = strptime(buf, *fmt, &tm);
-		if (next) {
-			if (!*next)
-				return mktime(&tm);
-			buf = next;
-		} else {
-			const char **p = timezones;
-			while (isspace(*buf))
-				buf++;
-			while (*p) {
-				if (!memcmp(buf, *p, strlen(*p))) {
-					buf += strlen(*p);
-					break;
-				}
-				p++;
-			}
-		}
-		fmt++;
-	} while (*buf && *fmt);
-	printf("left: %s\n", buf);
-	return mktime(&tm);
-}
-
-static int convert_date_line(char *dst, void **buf, unsigned long *sp)
-{
-	unsigned long size = *sp;
-	char *line = *buf;
-	char *next = strchr(line, '\n');
-	char *date = strchr(line, '>');
-	int len;
-
-	if (!next || !date)
-		die("missing or bad author/committer line %s", line);
-	next++; date += 2;
-
-	*buf = next;
-	*sp = size - (next - line);
-
-	len = date - line;
-	memcpy(dst, line, len);
-	dst += len;
-
-	/* Is it already in new format? */
-	if (isdigit(*date)) {
-		int datelen = next - date;
-		memcpy(dst, date, datelen);
-		return len + datelen;
-	}
-
-	/*
-	 * Hacky hacky: one of the sparse old-style commits does not have
-	 * any date at all, but we can fake it by using the committer date.
-	 */
-	if (*date == '\n' && strchr(next, '>'))
-		date = strchr(next, '>')+2;
-
-	return len + sprintf(dst, "%lu -0700\n", parse_oldstyle_date(date));
-}
-
-static void convert_date(void *buffer, unsigned long size, unsigned char *result_sha1)
-{
-	char *new = xmalloc(size + 100);
-	unsigned long newlen = 0;
-
-	/* "tree <sha1>\n" */
-	memcpy(new + newlen, buffer, 46);
-	newlen += 46;
-	buffer = (char *) buffer + 46;
-	size -= 46;
-
-	/* "parent <sha1>\n" */
-	while (!memcmp(buffer, "parent ", 7)) {
-		memcpy(new + newlen, buffer, 48);
-		newlen += 48;
-		buffer = (char *) buffer + 48;
-		size -= 48;
-	}
-
-	/* "author xyz <xyz> date" */
-	newlen += convert_date_line(new + newlen, &buffer, &size);
-	/* "committer xyz <xyz> date" */
-	newlen += convert_date_line(new + newlen, &buffer, &size);
-
-	/* Rest */
-	memcpy(new + newlen, buffer, size);
-	newlen += size;
-
-	write_sha1_file(new, newlen, commit_type, result_sha1);
-	free(new);
-}
-
-static void convert_commit(void *buffer, unsigned long size, unsigned char *result_sha1)
-{
-	void *orig_buffer = buffer;
-	unsigned long orig_size = size;
-
-	if (memcmp(buffer, "tree ", 5))
-		die("Bad commit '%s'", (char *) buffer);
-	convert_ascii_sha1((char *) buffer + 5);
-	buffer = (char *) buffer + 46;    /* "tree " + "hex sha1" + "\n" */
-	while (!memcmp(buffer, "parent ", 7)) {
-		convert_ascii_sha1((char *) buffer + 7);
-		buffer = (char *) buffer + 48;
-	}
-	convert_date(orig_buffer, orig_size, result_sha1);
-}
-
-static struct entry * convert_entry(unsigned char *sha1)
-{
-	struct entry *entry = lookup_entry(sha1);
-	enum object_type type;
-	void *buffer, *data;
-	unsigned long size;
-
-	if (entry->converted)
-		return entry;
-	data = read_sha1_file(sha1, &type, &size);
-	if (!data)
-		die("unable to read object %s", sha1_to_hex(sha1));
-
-	buffer = xmalloc(size);
-	memcpy(buffer, data, size);
-
-	if (type == OBJ_BLOB) {
-		write_sha1_file(buffer, size, blob_type, entry->new_sha1);
-	} else if (type == OBJ_TREE)
-		convert_tree(buffer, size, entry->new_sha1);
-	else if (type == OBJ_COMMIT)
-		convert_commit(buffer, size, entry->new_sha1);
-	else
-		die("unknown object type %d in %s", type, sha1_to_hex(sha1));
-	entry->converted = 1;
-	free(buffer);
-	free(data);
-	return entry;
-}
-
-int main(int argc, char **argv)
-{
-	unsigned char sha1[20];
-	struct entry *entry;
-
-	setup_git_directory();
-
-	if (argc != 2)
-		usage("git-convert-objects <sha1>");
-	if (get_sha1(argv[1], sha1))
-		die("Not a valid object name %s", argv[1]);
-
-	entry = convert_entry(sha1);
-	printf("new sha1: %s\n", sha1_to_hex(entry->new_sha1));
-	return 0;
-}
diff --git a/contrib/convert-objects/git-convert-objects.txt b/contrib/convert-objects/git-convert-objects.txt
deleted file mode 100644
index f871880..0000000
--- a/contrib/convert-objects/git-convert-objects.txt
+++ /dev/null
@@ -1,29 +0,0 @@
-git-convert-objects(1)
-======================
-
-NAME
-----
-git-convert-objects - Converts old-style git repository
-
-
-SYNOPSIS
---------
-[verse]
-'git-convert-objects'
-
-DESCRIPTION
------------
-Converts old-style git repository to the latest format
-
-
-Author
-------
-Written by Linus Torvalds <torvalds@osdl.org>
-
-Documentation
---------------
-Documentation by David Greaves, Junio C Hamano and the git-list <git@vger.kernel.org>.
-
-GIT
----
-Part of the linkgit:git[7] suite
diff --git a/git-difftool.perl b/contrib/examples/git-difftool.perl
similarity index 95%
rename from git-difftool.perl
rename to contrib/examples/git-difftool.perl
index e26294f..df59bdf 100755
--- a/git-difftool.perl
+++ b/contrib/examples/git-difftool.perl
@@ -22,6 +22,7 @@
 use File::Temp qw(tempdir);
 use Getopt::Long qw(:config pass_through);
 use Git;
+use Git::I18N;
 
 sub usage
 {
@@ -128,7 +129,7 @@
 	my $i = 0;
 	while ($i < $#rawdiff) {
 		if ($rawdiff[$i] =~ /^::/) {
-			warn << 'EOF';
+			warn __ <<'EOF';
 Combined diff formats ('-c' and '--cc') are not supported in
 directory diff mode ('-d' and '--dir-diff').
 EOF
@@ -346,7 +347,7 @@
 		if (length($opts{difftool_cmd}) > 0) {
 			$ENV{GIT_DIFF_TOOL} = $opts{difftool_cmd};
 		} else {
-			print "No <tool> given for --tool=<tool>\n";
+			print __("No <tool> given for --tool=<tool>\n");
 			usage(1);
 		}
 	}
@@ -354,7 +355,7 @@
 		if (length($opts{extcmd}) > 0) {
 			$ENV{GIT_DIFFTOOL_EXTCMD} = $opts{extcmd};
 		} else {
-			print "No <cmd> given for --extcmd=<cmd>\n";
+			print __("No <cmd> given for --extcmd=<cmd>\n");
 			usage(1);
 		}
 	}
@@ -428,11 +429,11 @@
 		}
 
 		if (exists $wt_modified{$file} and exists $tmp_modified{$file}) {
-			my $errmsg = "warning: Both files modified: ";
-			$errmsg .= "'$worktree/$file' and '$b/$file'.\n";
-			$errmsg .= "warning: Working tree file has been left.\n";
-			$errmsg .= "warning:\n";
-			warn $errmsg;
+			warn sprintf(__(
+				"warning: Both files modified:\n" .
+				"'%s/%s' and '%s/%s'.\n" .
+				"warning: Working tree file has been left.\n" .
+				"warning:\n"), $worktree, $file, $b, $file);
 			$error = 1;
 		} elsif (exists $tmp_modified{$file}) {
 			my $mode = stat("$b/$file")->mode;
@@ -444,8 +445,9 @@
 		}
 	}
 	if ($error) {
-		warn "warning: Temporary files exist in '$tmpdir'.\n";
-		warn "warning: You may want to cleanup or recover these.\n";
+		warn sprintf(__(
+			"warning: Temporary files exist in '%s'.\n" .
+			"warning: You may want to cleanup or recover these.\n"), $tmpdir);
 		exit(1);
 	} else {
 		exit_cleanup($tmpdir, $rc);
diff --git a/contrib/git-resurrect.sh b/contrib/git-resurrect.sh
index d7e97bb..8c171dd 100755
--- a/contrib/git-resurrect.sh
+++ b/contrib/git-resurrect.sh
@@ -26,13 +26,13 @@
 . git-sh-setup
 
 search_reflog () {
-        sed -ne 's~^\([^ ]*\) .*\tcheckout: moving from '"$1"' .*~\1~p' \
+	sed -ne 's~^\([^ ]*\) .*	checkout: moving from '"$1"' .*~\1~p' \
                 < "$GIT_DIR"/logs/HEAD
 }
 
 search_reflog_merges () {
 	git rev-parse $(
-		sed -ne 's~^[^ ]* \([^ ]*\) .*\tmerge '"$1"':.*~\1^2~p' \
+		sed -ne 's~^[^ ]* \([^ ]*\) .*	merge '"$1"':.*~\1^2~p' \
 			< "$GIT_DIR"/logs/HEAD
 	)
 }
diff --git a/contrib/gitview/gitview b/contrib/gitview/gitview
deleted file mode 100755
index 4e23c65..0000000
--- a/contrib/gitview/gitview
+++ /dev/null
@@ -1,1305 +0,0 @@
-#! /usr/bin/env python
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-
-""" gitview
-GUI browser for git repository
-This program is based on bzrk by Scott James Remnant <scott@ubuntu.com>
-"""
-__copyright__ = "Copyright (C) 2006 Hewlett-Packard Development Company, L.P."
-__copyright__ = "Copyright (C) 2007 Aneesh Kumar K.V <aneesh.kumar@gmail.com"
-__author__    = "Aneesh Kumar K.V <aneesh.kumar@gmail.com>"
-
-
-import sys
-import os
-import gtk
-import pygtk
-import pango
-import re
-import time
-import gobject
-import cairo
-import math
-import string
-import fcntl
-
-have_gtksourceview2 = False
-have_gtksourceview = False
-try:
-    import gtksourceview2
-    have_gtksourceview2 = True
-except ImportError:
-    try:
-        import gtksourceview
-        have_gtksourceview = True
-    except ImportError:
-        print "Running without gtksourceview2 or gtksourceview module"
-
-re_ident = re.compile('(author|committer) (?P<ident>.*) (?P<epoch>\d+) (?P<tz>[+-]\d{4})')
-
-def list_to_string(args, skip):
-	count = len(args)
-	i = skip
-	str_arg=" "
-	while (i < count ):
-		str_arg = str_arg + args[i]
-		str_arg = str_arg + " "
-		i = i+1
-
-	return str_arg
-
-def show_date(epoch, tz):
-	secs = float(epoch)
-	tzsecs = float(tz[1:3]) * 3600
-	tzsecs += float(tz[3:5]) * 60
-	if (tz[0] == "+"):
-		secs += tzsecs
-	else:
-		secs -= tzsecs
-
-	return time.strftime("%Y-%m-%d %H:%M:%S", time.gmtime(secs))
-
-def get_source_buffer_and_view():
-	if have_gtksourceview2:
-		buffer = gtksourceview2.Buffer()
-		slm = gtksourceview2.LanguageManager()
-		gsl = slm.get_language("diff")
-		buffer.set_highlight_syntax(True)
-		buffer.set_language(gsl)
-		view = gtksourceview2.View(buffer)
-	elif have_gtksourceview:
-		buffer = gtksourceview.SourceBuffer()
-		slm = gtksourceview.SourceLanguagesManager()
-		gsl = slm.get_language_from_mime_type("text/x-patch")
-		buffer.set_highlight(True)
-		buffer.set_language(gsl)
-		view = gtksourceview.SourceView(buffer)
-	else:
-		buffer = gtk.TextBuffer()
-		view = gtk.TextView(buffer)
-	return (buffer, view)
-
-
-class CellRendererGraph(gtk.GenericCellRenderer):
-	"""Cell renderer for directed graph.
-
-	This module contains the implementation of a custom GtkCellRenderer that
-	draws part of the directed graph based on the lines suggested by the code
-	in graph.py.
-
-	Because we're shiny, we use Cairo to do this, and because we're naughty
-	we cheat and draw over the bits of the TreeViewColumn that are supposed to
-	just be for the background.
-
-	Properties:
-	node              (column, colour, [ names ]) tuple to draw revision node,
-	in_lines          (start, end, colour) tuple list to draw inward lines,
-	out_lines         (start, end, colour) tuple list to draw outward lines.
-	"""
-
-	__gproperties__ = {
-	"node":         ( gobject.TYPE_PYOBJECT, "node",
-			  "revision node instruction",
-			  gobject.PARAM_WRITABLE
-			),
-	"in-lines":     ( gobject.TYPE_PYOBJECT, "in-lines",
-			  "instructions to draw lines into the cell",
-			  gobject.PARAM_WRITABLE
-			),
-	"out-lines":    ( gobject.TYPE_PYOBJECT, "out-lines",
-			  "instructions to draw lines out of the cell",
-			  gobject.PARAM_WRITABLE
-			),
-	}
-
-	def do_set_property(self, property, value):
-		"""Set properties from GObject properties."""
-		if property.name == "node":
-			self.node = value
-		elif property.name == "in-lines":
-			self.in_lines = value
-		elif property.name == "out-lines":
-			self.out_lines = value
-		else:
-			raise AttributeError, "no such property: '%s'" % property.name
-
-	def box_size(self, widget):
-		"""Calculate box size based on widget's font.
-
-		Cache this as it's probably expensive to get.  It ensures that we
-		draw the graph at least as large as the text.
-		"""
-		try:
-			return self._box_size
-		except AttributeError:
-			pango_ctx = widget.get_pango_context()
-			font_desc = widget.get_style().font_desc
-			metrics = pango_ctx.get_metrics(font_desc)
-
-			ascent = pango.PIXELS(metrics.get_ascent())
-			descent = pango.PIXELS(metrics.get_descent())
-
-			self._box_size = ascent + descent + 6
-			return self._box_size
-
-	def set_colour(self, ctx, colour, bg, fg):
-		"""Set the context source colour.
-
-		Picks a distinct colour based on an internal wheel; the bg
-		parameter provides the value that should be assigned to the 'zero'
-		colours and the fg parameter provides the multiplier that should be
-		applied to the foreground colours.
-		"""
-		colours = [
-		    ( 1.0, 0.0, 0.0 ),
-		    ( 1.0, 1.0, 0.0 ),
-		    ( 0.0, 1.0, 0.0 ),
-		    ( 0.0, 1.0, 1.0 ),
-		    ( 0.0, 0.0, 1.0 ),
-		    ( 1.0, 0.0, 1.0 ),
-		    ]
-
-		colour %= len(colours)
-		red   = (colours[colour][0] * fg) or bg
-		green = (colours[colour][1] * fg) or bg
-		blue  = (colours[colour][2] * fg) or bg
-
-		ctx.set_source_rgb(red, green, blue)
-
-	def on_get_size(self, widget, cell_area):
-		"""Return the size we need for this cell.
-
-		Each cell is drawn individually and is only as wide as it needs
-		to be, we let the TreeViewColumn take care of making them all
-		line up.
-		"""
-		box_size = self.box_size(widget)
-
-		cols = self.node[0]
-		for start, end, colour in self.in_lines + self.out_lines:
-			cols = int(max(cols, start, end))
-
-		(column, colour, names) = self.node
-		names_len = 0
-		if (len(names) != 0):
-			for item in names:
-				names_len += len(item)
-
-		width = box_size * (cols + 1 ) + names_len
-		height = box_size
-
-		# FIXME I have no idea how to use cell_area properly
-		return (0, 0, width, height)
-
-	def on_render(self, window, widget, bg_area, cell_area, exp_area, flags):
-		"""Render an individual cell.
-
-		Draws the cell contents using cairo, taking care to clip what we
-		do to within the background area so we don't draw over other cells.
-		Note that we're a bit naughty there and should really be drawing
-		in the cell_area (or even the exposed area), but we explicitly don't
-		want any gutter.
-
-		We try and be a little clever, if the line we need to draw is going
-		to cross other columns we actually draw it as in the .---' style
-		instead of a pure diagonal ... this reduces confusion by an
-		incredible amount.
-		"""
-		ctx = window.cairo_create()
-		ctx.rectangle(bg_area.x, bg_area.y, bg_area.width, bg_area.height)
-		ctx.clip()
-
-		box_size = self.box_size(widget)
-
-		ctx.set_line_width(box_size / 8)
-		ctx.set_line_cap(cairo.LINE_CAP_SQUARE)
-
-		# Draw lines into the cell
-		for start, end, colour in self.in_lines:
-			ctx.move_to(cell_area.x + box_size * start + box_size / 2,
-					bg_area.y - bg_area.height / 2)
-
-			if start - end > 1:
-				ctx.line_to(cell_area.x + box_size * start, bg_area.y)
-				ctx.line_to(cell_area.x + box_size * end + box_size, bg_area.y)
-			elif start - end < -1:
-				ctx.line_to(cell_area.x + box_size * start + box_size,
-						bg_area.y)
-				ctx.line_to(cell_area.x + box_size * end, bg_area.y)
-
-			ctx.line_to(cell_area.x + box_size * end + box_size / 2,
-					bg_area.y + bg_area.height / 2)
-
-			self.set_colour(ctx, colour, 0.0, 0.65)
-			ctx.stroke()
-
-		# Draw lines out of the cell
-		for start, end, colour in self.out_lines:
-			ctx.move_to(cell_area.x + box_size * start + box_size / 2,
-					bg_area.y + bg_area.height / 2)
-
-			if start - end > 1:
-				ctx.line_to(cell_area.x + box_size * start,
-						bg_area.y + bg_area.height)
-				ctx.line_to(cell_area.x + box_size * end + box_size,
-						bg_area.y + bg_area.height)
-			elif start - end < -1:
-				ctx.line_to(cell_area.x + box_size * start + box_size,
-						bg_area.y + bg_area.height)
-				ctx.line_to(cell_area.x + box_size * end,
-						bg_area.y + bg_area.height)
-
-			ctx.line_to(cell_area.x + box_size * end + box_size / 2,
-					bg_area.y + bg_area.height / 2 + bg_area.height)
-
-			self.set_colour(ctx, colour, 0.0, 0.65)
-			ctx.stroke()
-
-		# Draw the revision node in the right column
-		(column, colour, names) = self.node
-		ctx.arc(cell_area.x + box_size * column + box_size / 2,
-				cell_area.y + cell_area.height / 2,
-				box_size / 4, 0, 2 * math.pi)
-
-
-		self.set_colour(ctx, colour, 0.0, 0.5)
-		ctx.stroke_preserve()
-
-		self.set_colour(ctx, colour, 0.5, 1.0)
-		ctx.fill_preserve()
-
-		if (len(names) != 0):
-			name = " "
-			for item in names:
-				name = name + item + " "
-
-			ctx.set_font_size(13)
-			if (flags & 1):
-				self.set_colour(ctx, colour, 0.5, 1.0)
-			else:
-				self.set_colour(ctx, colour, 0.0, 0.5)
-			ctx.show_text(name)
-
-class Commit(object):
-	""" This represent a commit object obtained after parsing the git-rev-list
-	output """
-
-	__slots__ = ['children_sha1', 'message', 'author', 'date', 'committer',
-				 'commit_date', 'commit_sha1', 'parent_sha1']
-
-	children_sha1 = {}
-
-	def __init__(self, commit_lines):
-		self.message		= ""
-		self.author		= ""
-		self.date		= ""
-		self.committer		= ""
-		self.commit_date	= ""
-		self.commit_sha1	= ""
-		self.parent_sha1	= [ ]
-		self.parse_commit(commit_lines)
-
-
-	def parse_commit(self, commit_lines):
-
-		# First line is the sha1 lines
-		line = string.strip(commit_lines[0])
-		sha1 = re.split(" ", line)
-		self.commit_sha1 = sha1[0]
-		self.parent_sha1 = sha1[1:]
-
-		#build the child list
-		for parent_id in self.parent_sha1:
-			try:
-				Commit.children_sha1[parent_id].append(self.commit_sha1)
-			except KeyError:
-				Commit.children_sha1[parent_id] = [self.commit_sha1]
-
-		# IF we don't have parent
-		if (len(self.parent_sha1) == 0):
-			self.parent_sha1 = [0]
-
-		for line in commit_lines[1:]:
-			m = re.match("^ ", line)
-			if (m != None):
-				# First line of the commit message used for short log
-				if self.message == "":
-					self.message = string.strip(line)
-				continue
-
-			m = re.match("tree", line)
-			if (m != None):
-				continue
-
-			m = re.match("parent", line)
-			if (m != None):
-				continue
-
-			m = re_ident.match(line)
-			if (m != None):
-				date = show_date(m.group('epoch'), m.group('tz'))
-				if m.group(1) == "author":
-					self.author = m.group('ident')
-					self.date = date
-				elif m.group(1) == "committer":
-					self.committer = m.group('ident')
-					self.commit_date = date
-
-				continue
-
-	def get_message(self, with_diff=0):
-		if (with_diff == 1):
-			message = self.diff_tree()
-		else:
-			fp = os.popen("git cat-file commit " + self.commit_sha1)
-			message = fp.read()
-			fp.close()
-
-		return message
-
-	def diff_tree(self):
-		fp = os.popen("git diff-tree --pretty --cc  -v -p --always " +  self.commit_sha1)
-		diff = fp.read()
-		fp.close()
-		return diff
-
-class AnnotateWindow(object):
-	"""Annotate window.
-	This object represents and manages a single window containing the
-	annotate information of the file
-	"""
-
-	def __init__(self):
-		self.window = gtk.Window(gtk.WINDOW_TOPLEVEL)
-		self.window.set_border_width(0)
-		self.window.set_title("Git repository browser annotation window")
-		self.prev_read = ""
-
-		# Use two thirds of the screen by default
-		screen = self.window.get_screen()
-		monitor = screen.get_monitor_geometry(0)
-		width = int(monitor.width * 0.66)
-		height = int(monitor.height * 0.66)
-		self.window.set_default_size(width, height)
-
-	def add_file_data(self, filename, commit_sha1, line_num):
-		fp = os.popen("git cat-file blob " + commit_sha1 +":"+filename)
-		i = 1;
-		for line in fp.readlines():
-			line = string.rstrip(line)
-			self.model.append(None, ["HEAD", filename, line, i])
-			i = i+1
-		fp.close()
-
-		# now set the cursor position
-		self.treeview.set_cursor(line_num-1)
-		self.treeview.grab_focus()
-
-	def _treeview_cursor_cb(self, *args):
-		"""Callback for when the treeview cursor changes."""
-		(path, col) = self.treeview.get_cursor()
-		commit_sha1 = self.model[path][0]
-		commit_msg = ""
-		fp = os.popen("git cat-file commit " + commit_sha1)
-		for line in fp.readlines():
-			commit_msg =  commit_msg + line
-		fp.close()
-
-		self.commit_buffer.set_text(commit_msg)
-
-	def _treeview_row_activated(self, *args):
-		"""Callback for when the treeview row gets selected."""
-		(path, col) = self.treeview.get_cursor()
-		commit_sha1 = self.model[path][0]
-		filename    = self.model[path][1]
-		line_num    = self.model[path][3]
-
-		window = AnnotateWindow();
-		fp = os.popen("git rev-parse "+ commit_sha1 + "~1")
-		commit_sha1 = string.strip(fp.readline())
-		fp.close()
-		window.annotate(filename, commit_sha1, line_num)
-
-	def data_ready(self, source, condition):
-		while (1):
-			try :
-				# A simple readline doesn't work
-				# a readline bug ??
-				buffer = source.read(100)
-
-			except:
-				# resource temporary not available
-				return True
-
-			if (len(buffer) == 0):
-				gobject.source_remove(self.io_watch_tag)
-				source.close()
-				return False
-
-			if (self.prev_read != ""):
-				buffer = self.prev_read + buffer
-				self.prev_read = ""
-
-			if (buffer[len(buffer) -1] != '\n'):
-				try:
-					newline_index = buffer.rindex("\n")
-				except ValueError:
-					newline_index = 0
-
-				self.prev_read = buffer[newline_index:(len(buffer))]
-				buffer = buffer[0:newline_index]
-
-			for buff in buffer.split("\n"):
-				annotate_line = re.compile('^([0-9a-f]{40}) (.+) (.+) (.+)$')
-				m = annotate_line.match(buff)
-				if not m:
-					annotate_line = re.compile('^(filename) (.+)$')
-					m = annotate_line.match(buff)
-					if not m:
-						continue
-					filename = m.group(2)
-				else:
-					self.commit_sha1 = m.group(1)
-					self.source_line = int(m.group(2))
-					self.result_line = int(m.group(3))
-					self.count	    = int(m.group(4))
-					#set the details only when we have the file name
-					continue
-
-				while (self.count > 0):
-					# set at result_line + count-1 the sha1 as commit_sha1
-					self.count = self.count - 1
-					iter = self.model.iter_nth_child(None, self.result_line + self.count-1)
-					self.model.set(iter, 0, self.commit_sha1, 1, filename, 3, self.source_line)
-
-
-	def annotate(self, filename, commit_sha1, line_num):
-		# verify the commit_sha1 specified has this filename
-
-		fp = os.popen("git ls-tree "+ commit_sha1 + " -- " + filename)
-		line = string.strip(fp.readline())
-		if line == '':
-			# pop up the message the file is not there as a part of the commit
-			fp.close()
-			dialog = gtk.MessageDialog(parent=None, flags=0,
-					type=gtk.MESSAGE_WARNING, buttons=gtk.BUTTONS_CLOSE,
-					message_format=None)
-			dialog.set_markup("The file %s is not present in the parent commit %s" % (filename, commit_sha1))
-			dialog.run()
-			dialog.destroy()
-			return
-
-		fp.close()
-
-		vpan = gtk.VPaned();
-		self.window.add(vpan);
-		vpan.show()
-
-		scrollwin = gtk.ScrolledWindow()
-		scrollwin.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
-		scrollwin.set_shadow_type(gtk.SHADOW_IN)
-		vpan.pack1(scrollwin, True, True);
-		scrollwin.show()
-
-		self.model = gtk.TreeStore(str, str, str, int)
-		self.treeview = gtk.TreeView(self.model)
-		self.treeview.set_rules_hint(True)
-		self.treeview.set_search_column(0)
-		self.treeview.connect("cursor-changed", self._treeview_cursor_cb)
-		self.treeview.connect("row-activated", self._treeview_row_activated)
-		scrollwin.add(self.treeview)
-		self.treeview.show()
-
-		cell = gtk.CellRendererText()
-		cell.set_property("width-chars", 10)
-		cell.set_property("ellipsize", pango.ELLIPSIZE_END)
-		column = gtk.TreeViewColumn("Commit")
-		column.set_resizable(True)
-		column.pack_start(cell, expand=True)
-		column.add_attribute(cell, "text", 0)
-		self.treeview.append_column(column)
-
-		cell = gtk.CellRendererText()
-		cell.set_property("width-chars", 20)
-		cell.set_property("ellipsize", pango.ELLIPSIZE_END)
-		column = gtk.TreeViewColumn("File Name")
-		column.set_resizable(True)
-		column.pack_start(cell, expand=True)
-		column.add_attribute(cell, "text", 1)
-		self.treeview.append_column(column)
-
-		cell = gtk.CellRendererText()
-		cell.set_property("width-chars", 20)
-		cell.set_property("ellipsize", pango.ELLIPSIZE_END)
-		column = gtk.TreeViewColumn("Data")
-		column.set_resizable(True)
-		column.pack_start(cell, expand=True)
-		column.add_attribute(cell, "text", 2)
-		self.treeview.append_column(column)
-
-		# The commit message window
-		scrollwin = gtk.ScrolledWindow()
-		scrollwin.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
-		scrollwin.set_shadow_type(gtk.SHADOW_IN)
-		vpan.pack2(scrollwin, True, True);
-		scrollwin.show()
-
-		commit_text = gtk.TextView()
-		self.commit_buffer = gtk.TextBuffer()
-		commit_text.set_buffer(self.commit_buffer)
-		scrollwin.add(commit_text)
-		commit_text.show()
-
-		self.window.show()
-
-		self.add_file_data(filename, commit_sha1, line_num)
-
-		fp = os.popen("git blame --incremental -C -C -- " + filename + " " + commit_sha1)
-		flags = fcntl.fcntl(fp.fileno(), fcntl.F_GETFL)
-		fcntl.fcntl(fp.fileno(), fcntl.F_SETFL, flags | os.O_NONBLOCK)
-		self.io_watch_tag = gobject.io_add_watch(fp, gobject.IO_IN, self.data_ready)
-
-
-class DiffWindow(object):
-	"""Diff window.
-	This object represents and manages a single window containing the
-	differences between two revisions on a branch.
-	"""
-
-	def __init__(self):
-		self.window = gtk.Window(gtk.WINDOW_TOPLEVEL)
-		self.window.set_border_width(0)
-		self.window.set_title("Git repository browser diff window")
-
-		# Use two thirds of the screen by default
-		screen = self.window.get_screen()
-		monitor = screen.get_monitor_geometry(0)
-		width = int(monitor.width * 0.66)
-		height = int(monitor.height * 0.66)
-		self.window.set_default_size(width, height)
-
-
-		self.construct()
-
-	def construct(self):
-		"""Construct the window contents."""
-		vbox = gtk.VBox()
-		self.window.add(vbox)
-		vbox.show()
-
-		menu_bar = gtk.MenuBar()
-		save_menu = gtk.ImageMenuItem(gtk.STOCK_SAVE)
-		save_menu.connect("activate", self.save_menu_response, "save")
-		save_menu.show()
-		menu_bar.append(save_menu)
-		vbox.pack_start(menu_bar, expand=False, fill=True)
-		menu_bar.show()
-
-		hpan = gtk.HPaned()
-
-		scrollwin = gtk.ScrolledWindow()
-		scrollwin.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
-		scrollwin.set_shadow_type(gtk.SHADOW_IN)
-		hpan.pack1(scrollwin, True, True)
-		scrollwin.show()
-
-		(self.buffer, sourceview) = get_source_buffer_and_view()
-
-		sourceview.set_editable(False)
-		sourceview.modify_font(pango.FontDescription("Monospace"))
-		scrollwin.add(sourceview)
-		sourceview.show()
-
-		# The file hierarchy: a scrollable treeview
-		scrollwin = gtk.ScrolledWindow()
-		scrollwin.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
-		scrollwin.set_shadow_type(gtk.SHADOW_IN)
-		scrollwin.set_size_request(20, -1)
-		hpan.pack2(scrollwin, True, True)
-		scrollwin.show()
-
-		self.model = gtk.TreeStore(str, str, str)
-		self.treeview = gtk.TreeView(self.model)
-		self.treeview.set_search_column(1)
-		self.treeview.connect("cursor-changed", self._treeview_clicked)
-		scrollwin.add(self.treeview)
-		self.treeview.show()
-
-		cell = gtk.CellRendererText()
-		cell.set_property("width-chars", 20)
-		column = gtk.TreeViewColumn("Select to annotate")
-		column.pack_start(cell, expand=True)
-		column.add_attribute(cell, "text", 0)
-		self.treeview.append_column(column)
-
-		vbox.pack_start(hpan, expand=True, fill=True)
-		hpan.show()
-
-	def _treeview_clicked(self, *args):
-		"""Callback for when the treeview cursor changes."""
-		(path, col) = self.treeview.get_cursor()
-		specific_file = self.model[path][1]
-		commit_sha1 =  self.model[path][2]
-		if specific_file ==  None :
-			return
-		elif specific_file ==  "" :
-			specific_file =  None
-
-		window = AnnotateWindow();
-		window.annotate(specific_file, commit_sha1, 1)
-
-
-	def commit_files(self, commit_sha1, parent_sha1):
-		self.model.clear()
-		add  = self.model.append(None, [ "Added", None, None])
-		dele = self.model.append(None, [ "Deleted", None, None])
-		mod  = self.model.append(None, [ "Modified", None, None])
-		diff_tree = re.compile('^(:.{6}) (.{6}) (.{40}) (.{40}) (A|D|M)\s(.+)$')
-		fp = os.popen("git diff-tree -r --no-commit-id " + parent_sha1 + " " + commit_sha1)
-		while 1:
-			line = string.strip(fp.readline())
-			if line == '':
-				break
-			m = diff_tree.match(line)
-			if not m:
-				continue
-
-			attr = m.group(5)
-			filename = m.group(6)
-			if attr == "A":
-				self.model.append(add,  [filename, filename, commit_sha1])
-			elif attr == "D":
-				self.model.append(dele, [filename, filename, commit_sha1])
-			elif attr == "M":
-				self.model.append(mod,  [filename, filename, commit_sha1])
-		fp.close()
-
-		self.treeview.expand_all()
-
-	def set_diff(self, commit_sha1, parent_sha1, encoding):
-		"""Set the differences showed by this window.
-		Compares the two trees and populates the window with the
-		differences.
-		"""
-		# Diff with the first commit or the last commit shows nothing
-		if (commit_sha1 == 0 or parent_sha1 == 0 ):
-			return
-
-		fp = os.popen("git diff-tree -p " + parent_sha1 + " " + commit_sha1)
-		self.buffer.set_text(unicode(fp.read(), encoding).encode('utf-8'))
-		fp.close()
-		self.commit_files(commit_sha1, parent_sha1)
-		self.window.show()
-
-	def save_menu_response(self, widget, string):
-		dialog = gtk.FileChooserDialog("Save..", None, gtk.FILE_CHOOSER_ACTION_SAVE,
-				(gtk.STOCK_CANCEL, gtk.RESPONSE_CANCEL,
-					gtk.STOCK_SAVE, gtk.RESPONSE_OK))
-		dialog.set_default_response(gtk.RESPONSE_OK)
-		response = dialog.run()
-		if response == gtk.RESPONSE_OK:
-			patch_buffer = self.buffer.get_text(self.buffer.get_start_iter(),
-					self.buffer.get_end_iter())
-			fp = open(dialog.get_filename(), "w")
-			fp.write(patch_buffer)
-			fp.close()
-		dialog.destroy()
-
-class GitView(object):
-	""" This is the main class
-	"""
-	version = "0.9"
-
-	def __init__(self, with_diff=0):
-		self.with_diff = with_diff
-		self.window =	gtk.Window(gtk.WINDOW_TOPLEVEL)
-		self.window.set_border_width(0)
-		self.window.set_title("Git repository browser")
-
-		self.get_encoding()
-		self.get_bt_sha1()
-
-		# Use three-quarters of the screen by default
-		screen = self.window.get_screen()
-		monitor = screen.get_monitor_geometry(0)
-		width = int(monitor.width * 0.75)
-		height = int(monitor.height * 0.75)
-		self.window.set_default_size(width, height)
-
-		# FIXME AndyFitz!
-		icon = self.window.render_icon(gtk.STOCK_INDEX, gtk.ICON_SIZE_BUTTON)
-		self.window.set_icon(icon)
-
-		self.accel_group = gtk.AccelGroup()
-		self.window.add_accel_group(self.accel_group)
-		self.accel_group.connect_group(0xffc2, 0, gtk.ACCEL_LOCKED, self.refresh);
-		self.accel_group.connect_group(0xffc1, 0, gtk.ACCEL_LOCKED, self.maximize);
-		self.accel_group.connect_group(0xffc8, 0, gtk.ACCEL_LOCKED, self.fullscreen);
-		self.accel_group.connect_group(0xffc9, 0, gtk.ACCEL_LOCKED, self.unfullscreen);
-
-		self.window.add(self.construct())
-
-	def refresh(self, widget, event=None, *arguments, **keywords):
-		self.get_encoding()
-		self.get_bt_sha1()
-		Commit.children_sha1 = {}
-		self.set_branch(sys.argv[without_diff:])
-		self.window.show()
-		return True
-
-	def maximize(self, widget, event=None, *arguments, **keywords):
-		self.window.maximize()
-		return True
-
-	def fullscreen(self, widget, event=None, *arguments, **keywords):
-		self.window.fullscreen()
-		return True
-
-	def unfullscreen(self, widget, event=None, *arguments, **keywords):
-		self.window.unfullscreen()
-		return True
-
-	def get_bt_sha1(self):
-		""" Update the bt_sha1 dictionary with the
-		respective sha1 details """
-
-		self.bt_sha1 = { }
-		ls_remote = re.compile('^(.{40})\trefs/([^^]+)(?:\\^(..))?$');
-		fp = os.popen('git ls-remote "${GIT_DIR-.git}"')
-		while 1:
-			line = string.strip(fp.readline())
-			if line == '':
-				break
-			m = ls_remote.match(line)
-			if not m:
-				continue
-			(sha1, name) = (m.group(1), m.group(2))
-			if not self.bt_sha1.has_key(sha1):
-				self.bt_sha1[sha1] = []
-			self.bt_sha1[sha1].append(name)
-		fp.close()
-
-	def get_encoding(self):
-		fp = os.popen("git config --get i18n.commitencoding")
-		self.encoding=string.strip(fp.readline())
-		fp.close()
-		if (self.encoding == ""):
-			self.encoding = "utf-8"
-
-
-	def construct(self):
-		"""Construct the window contents."""
-		vbox = gtk.VBox()
-		paned = gtk.VPaned()
-		paned.pack1(self.construct_top(), resize=False, shrink=True)
-		paned.pack2(self.construct_bottom(), resize=False, shrink=True)
-		menu_bar = gtk.MenuBar()
-		menu_bar.set_pack_direction(gtk.PACK_DIRECTION_RTL)
-		help_menu = gtk.MenuItem("Help")
-		menu = gtk.Menu()
-		about_menu = gtk.MenuItem("About")
-		menu.append(about_menu)
-		about_menu.connect("activate", self.about_menu_response, "about")
-		about_menu.show()
-		help_menu.set_submenu(menu)
-		help_menu.show()
-		menu_bar.append(help_menu)
-		menu_bar.show()
-		vbox.pack_start(menu_bar, expand=False, fill=True)
-		vbox.pack_start(paned, expand=True, fill=True)
-		paned.show()
-		vbox.show()
-		return vbox
-
-
-	def construct_top(self):
-		"""Construct the top-half of the window."""
-		vbox = gtk.VBox(spacing=6)
-		vbox.set_border_width(12)
-		vbox.show()
-
-
-		scrollwin = gtk.ScrolledWindow()
-		scrollwin.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
-		scrollwin.set_shadow_type(gtk.SHADOW_IN)
-		vbox.pack_start(scrollwin, expand=True, fill=True)
-		scrollwin.show()
-
-		self.treeview = gtk.TreeView()
-		self.treeview.set_rules_hint(True)
-		self.treeview.set_search_column(4)
-		self.treeview.connect("cursor-changed", self._treeview_cursor_cb)
-		scrollwin.add(self.treeview)
-		self.treeview.show()
-
-		cell = CellRendererGraph()
-		column = gtk.TreeViewColumn()
-		column.set_resizable(True)
-		column.pack_start(cell, expand=True)
-		column.add_attribute(cell, "node", 1)
-		column.add_attribute(cell, "in-lines", 2)
-		column.add_attribute(cell, "out-lines", 3)
-		self.treeview.append_column(column)
-
-		cell = gtk.CellRendererText()
-		cell.set_property("width-chars", 65)
-		cell.set_property("ellipsize", pango.ELLIPSIZE_END)
-		column = gtk.TreeViewColumn("Message")
-		column.set_resizable(True)
-		column.pack_start(cell, expand=True)
-		column.add_attribute(cell, "text", 4)
-		self.treeview.append_column(column)
-
-		cell = gtk.CellRendererText()
-		cell.set_property("width-chars", 40)
-		cell.set_property("ellipsize", pango.ELLIPSIZE_END)
-		column = gtk.TreeViewColumn("Author")
-		column.set_resizable(True)
-		column.pack_start(cell, expand=True)
-		column.add_attribute(cell, "text", 5)
-		self.treeview.append_column(column)
-
-		cell = gtk.CellRendererText()
-		cell.set_property("ellipsize", pango.ELLIPSIZE_END)
-		column = gtk.TreeViewColumn("Date")
-		column.set_resizable(True)
-		column.pack_start(cell, expand=True)
-		column.add_attribute(cell, "text", 6)
-		self.treeview.append_column(column)
-
-		return vbox
-
-	def about_menu_response(self, widget, string):
-		dialog = gtk.AboutDialog()
-		dialog.set_name("Gitview")
-		dialog.set_version(GitView.version)
-		dialog.set_authors(["Aneesh Kumar K.V <aneesh.kumar@gmail.com>"])
-		dialog.set_website("http://www.kernel.org/pub/software/scm/git/")
-		dialog.set_copyright("Use and distribute under the terms of the GNU General Public License")
-		dialog.set_wrap_license(True)
-		dialog.run()
-		dialog.destroy()
-
-
-	def construct_bottom(self):
-		"""Construct the bottom half of the window."""
-		vbox = gtk.VBox(False, spacing=6)
-		vbox.set_border_width(12)
-		(width, height) = self.window.get_size()
-		vbox.set_size_request(width, int(height / 2.5))
-		vbox.show()
-
-		self.table = gtk.Table(rows=4, columns=4)
-		self.table.set_row_spacings(6)
-		self.table.set_col_spacings(6)
-		vbox.pack_start(self.table, expand=False, fill=True)
-		self.table.show()
-
-		align = gtk.Alignment(0.0, 0.5)
-		label = gtk.Label()
-		label.set_markup("<b>Revision:</b>")
-		align.add(label)
-		self.table.attach(align, 0, 1, 0, 1, gtk.FILL, gtk.FILL)
-		label.show()
-		align.show()
-
-		align = gtk.Alignment(0.0, 0.5)
-		self.revid_label = gtk.Label()
-		self.revid_label.set_selectable(True)
-		align.add(self.revid_label)
-		self.table.attach(align, 1, 2, 0, 1, gtk.EXPAND | gtk.FILL, gtk.FILL)
-		self.revid_label.show()
-		align.show()
-
-		align = gtk.Alignment(0.0, 0.5)
-		label = gtk.Label()
-		label.set_markup("<b>Committer:</b>")
-		align.add(label)
-		self.table.attach(align, 0, 1, 1, 2, gtk.FILL, gtk.FILL)
-		label.show()
-		align.show()
-
-		align = gtk.Alignment(0.0, 0.5)
-		self.committer_label = gtk.Label()
-		self.committer_label.set_selectable(True)
-		align.add(self.committer_label)
-		self.table.attach(align, 1, 2, 1, 2, gtk.EXPAND | gtk.FILL, gtk.FILL)
-		self.committer_label.show()
-		align.show()
-
-		align = gtk.Alignment(0.0, 0.5)
-		label = gtk.Label()
-		label.set_markup("<b>Timestamp:</b>")
-		align.add(label)
-		self.table.attach(align, 0, 1, 2, 3, gtk.FILL, gtk.FILL)
-		label.show()
-		align.show()
-
-		align = gtk.Alignment(0.0, 0.5)
-		self.timestamp_label = gtk.Label()
-		self.timestamp_label.set_selectable(True)
-		align.add(self.timestamp_label)
-		self.table.attach(align, 1, 2, 2, 3, gtk.EXPAND | gtk.FILL, gtk.FILL)
-		self.timestamp_label.show()
-		align.show()
-
-		align = gtk.Alignment(0.0, 0.5)
-		label = gtk.Label()
-		label.set_markup("<b>Parents:</b>")
-		align.add(label)
-		self.table.attach(align, 0, 1, 3, 4, gtk.FILL, gtk.FILL)
-		label.show()
-		align.show()
-		self.parents_widgets = []
-
-		align = gtk.Alignment(0.0, 0.5)
-		label = gtk.Label()
-		label.set_markup("<b>Children:</b>")
-		align.add(label)
-		self.table.attach(align, 2, 3, 3, 4, gtk.FILL, gtk.FILL)
-		label.show()
-		align.show()
-		self.children_widgets = []
-
-		scrollwin = gtk.ScrolledWindow()
-		scrollwin.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
-		scrollwin.set_shadow_type(gtk.SHADOW_IN)
-		vbox.pack_start(scrollwin, expand=True, fill=True)
-		scrollwin.show()
-
-		(self.message_buffer, sourceview) = get_source_buffer_and_view()
-
-		sourceview.set_editable(False)
-		sourceview.modify_font(pango.FontDescription("Monospace"))
-		scrollwin.add(sourceview)
-		sourceview.show()
-
-		return vbox
-
-	def _treeview_cursor_cb(self, *args):
-		"""Callback for when the treeview cursor changes."""
-		(path, col) = self.treeview.get_cursor()
-		commit = self.model[path][0]
-
-		if commit.committer is not None:
-			committer = commit.committer
-			timestamp = commit.commit_date
-			message   =  commit.get_message(self.with_diff)
-			revid_label = commit.commit_sha1
-		else:
-			committer = ""
-			timestamp = ""
-			message = ""
-			revid_label = ""
-
-		self.revid_label.set_text(revid_label)
-		self.committer_label.set_text(committer)
-		self.timestamp_label.set_text(timestamp)
-		self.message_buffer.set_text(unicode(message, self.encoding).encode('utf-8'))
-
-		for widget in self.parents_widgets:
-			self.table.remove(widget)
-
-		self.parents_widgets = []
-		self.table.resize(4 + len(commit.parent_sha1) - 1, 4)
-		for idx, parent_id in enumerate(commit.parent_sha1):
-			self.table.set_row_spacing(idx + 3, 0)
-
-			align = gtk.Alignment(0.0, 0.0)
-			self.parents_widgets.append(align)
-			self.table.attach(align, 1, 2, idx + 3, idx + 4,
-					gtk.EXPAND | gtk.FILL, gtk.FILL)
-			align.show()
-
-			hbox = gtk.HBox(False, 0)
-			align.add(hbox)
-			hbox.show()
-
-			label = gtk.Label(parent_id)
-			label.set_selectable(True)
-			hbox.pack_start(label, expand=False, fill=True)
-			label.show()
-
-			image = gtk.Image()
-			image.set_from_stock(gtk.STOCK_JUMP_TO, gtk.ICON_SIZE_MENU)
-			image.show()
-
-			button = gtk.Button()
-			button.add(image)
-			button.set_relief(gtk.RELIEF_NONE)
-			button.connect("clicked", self._go_clicked_cb, parent_id)
-			hbox.pack_start(button, expand=False, fill=True)
-			button.show()
-
-			image = gtk.Image()
-			image.set_from_stock(gtk.STOCK_FIND, gtk.ICON_SIZE_MENU)
-			image.show()
-
-			button = gtk.Button()
-			button.add(image)
-			button.set_relief(gtk.RELIEF_NONE)
-			button.set_sensitive(True)
-			button.connect("clicked", self._show_clicked_cb,
-					commit.commit_sha1, parent_id, self.encoding)
-			hbox.pack_start(button, expand=False, fill=True)
-			button.show()
-
-		# Populate with child details
-		for widget in self.children_widgets:
-			self.table.remove(widget)
-
-		self.children_widgets = []
-		try:
-			child_sha1 = Commit.children_sha1[commit.commit_sha1]
-		except KeyError:
-			# We don't have child
-			child_sha1 = [ 0 ]
-
-		if ( len(child_sha1) > len(commit.parent_sha1)):
-			self.table.resize(4 + len(child_sha1) - 1, 4)
-
-		for idx, child_id in enumerate(child_sha1):
-			self.table.set_row_spacing(idx + 3, 0)
-
-			align = gtk.Alignment(0.0, 0.0)
-			self.children_widgets.append(align)
-			self.table.attach(align, 3, 4, idx + 3, idx + 4,
-					gtk.EXPAND | gtk.FILL, gtk.FILL)
-			align.show()
-
-			hbox = gtk.HBox(False, 0)
-			align.add(hbox)
-			hbox.show()
-
-			label = gtk.Label(child_id)
-			label.set_selectable(True)
-			hbox.pack_start(label, expand=False, fill=True)
-			label.show()
-
-			image = gtk.Image()
-			image.set_from_stock(gtk.STOCK_JUMP_TO, gtk.ICON_SIZE_MENU)
-			image.show()
-
-			button = gtk.Button()
-			button.add(image)
-			button.set_relief(gtk.RELIEF_NONE)
-			button.connect("clicked", self._go_clicked_cb, child_id)
-			hbox.pack_start(button, expand=False, fill=True)
-			button.show()
-
-			image = gtk.Image()
-			image.set_from_stock(gtk.STOCK_FIND, gtk.ICON_SIZE_MENU)
-			image.show()
-
-			button = gtk.Button()
-			button.add(image)
-			button.set_relief(gtk.RELIEF_NONE)
-			button.set_sensitive(True)
-			button.connect("clicked", self._show_clicked_cb,
-					child_id, commit.commit_sha1, self.encoding)
-			hbox.pack_start(button, expand=False, fill=True)
-			button.show()
-
-	def _destroy_cb(self, widget):
-		"""Callback for when a window we manage is destroyed."""
-		self.quit()
-
-
-	def quit(self):
-		"""Stop the GTK+ main loop."""
-		gtk.main_quit()
-
-	def run(self, args):
-		self.set_branch(args)
-		self.window.connect("destroy", self._destroy_cb)
-		self.window.show()
-		gtk.main()
-
-	def set_branch(self, args):
-		"""Fill in different windows with info from the reposiroty"""
-		fp = os.popen("git rev-parse --sq --default HEAD " + list_to_string(args, 1))
-		git_rev_list_cmd = fp.read()
-		fp.close()
-		fp = os.popen("git rev-list  --header --topo-order --parents " + git_rev_list_cmd)
-		self.update_window(fp)
-
-	def update_window(self, fp):
-		commit_lines = []
-
-		self.model = gtk.ListStore(gobject.TYPE_PYOBJECT, gobject.TYPE_PYOBJECT,
-				gobject.TYPE_PYOBJECT, gobject.TYPE_PYOBJECT, str, str, str)
-
-		# used for cursor positioning
-		self.index = {}
-
-		self.colours = {}
-		self.nodepos = {}
-		self.incomplete_line = {}
-		self.commits = []
-
-		index = 0
-		last_colour = 0
-		last_nodepos = -1
-		out_line = []
-		input_line = fp.readline()
-		while (input_line != ""):
-			# The commit header ends with '\0'
-			# This NULL is immediately followed by the sha1 of the
-			# next commit
-			if (input_line[0] != '\0'):
-				commit_lines.append(input_line)
-				input_line = fp.readline()
-				continue;
-
-			commit = Commit(commit_lines)
-			if (commit != None ):
-				self.commits.append(commit)
-
-			# Skip the '\0
-			commit_lines = []
-			commit_lines.append(input_line[1:])
-			input_line = fp.readline()
-
-		fp.close()
-
-		for commit in self.commits:
-			(out_line, last_colour, last_nodepos) = self.draw_graph(commit,
-										index, out_line,
-										last_colour,
-										last_nodepos)
-			self.index[commit.commit_sha1] = index
-			index += 1
-
-		self.treeview.set_model(self.model)
-		self.treeview.show()
-
-	def draw_graph(self, commit, index, out_line, last_colour, last_nodepos):
-		in_line=[]
-
-		#   |   -> outline
-		#   X
-		#   |\  <- inline
-
-		# Reset nodepostion
-		if (last_nodepos > 5):
-			last_nodepos = -1
-
-		# Add the incomplete lines of the last cell in this
-		try:
-			colour = self.colours[commit.commit_sha1]
-		except KeyError:
-			self.colours[commit.commit_sha1] = last_colour+1
-			last_colour = self.colours[commit.commit_sha1]
-			colour =   self.colours[commit.commit_sha1]
-
-		try:
-			node_pos = self.nodepos[commit.commit_sha1]
-		except KeyError:
-			self.nodepos[commit.commit_sha1] = last_nodepos+1
-			last_nodepos = self.nodepos[commit.commit_sha1]
-			node_pos =  self.nodepos[commit.commit_sha1]
-
-		#The first parent always continue on the same line
-		try:
-			# check we already have the value
-			tmp_node_pos = self.nodepos[commit.parent_sha1[0]]
-		except KeyError:
-			self.colours[commit.parent_sha1[0]] = colour
-			self.nodepos[commit.parent_sha1[0]] = node_pos
-
-		for sha1 in self.incomplete_line.keys():
-			if (sha1 != commit.commit_sha1):
-				self.draw_incomplete_line(sha1, node_pos,
-						out_line, in_line, index)
-			else:
-				del self.incomplete_line[sha1]
-
-
-		for parent_id in commit.parent_sha1:
-			try:
-				tmp_node_pos = self.nodepos[parent_id]
-			except KeyError:
-				self.colours[parent_id] = last_colour+1
-				last_colour = self.colours[parent_id]
-				self.nodepos[parent_id] = last_nodepos+1
-				last_nodepos = self.nodepos[parent_id]
-
-			in_line.append((node_pos, self.nodepos[parent_id],
-						self.colours[parent_id]))
-			self.add_incomplete_line(parent_id)
-
-		try:
-			branch_tag = self.bt_sha1[commit.commit_sha1]
-		except KeyError:
-			branch_tag = [ ]
-
-
-		node = (node_pos, colour, branch_tag)
-
-		self.model.append([commit, node, out_line, in_line,
-				commit.message, commit.author, commit.date])
-
-		return (in_line, last_colour, last_nodepos)
-
-	def add_incomplete_line(self, sha1):
-		try:
-			self.incomplete_line[sha1].append(self.nodepos[sha1])
-		except KeyError:
-			self.incomplete_line[sha1] = [self.nodepos[sha1]]
-
-	def draw_incomplete_line(self, sha1, node_pos, out_line, in_line, index):
-		for idx, pos in enumerate(self.incomplete_line[sha1]):
-			if(pos == node_pos):
-				#remove the straight line and add a slash
-				if ((pos, pos, self.colours[sha1]) in out_line):
-					out_line.remove((pos, pos, self.colours[sha1]))
-				out_line.append((pos, pos+0.5, self.colours[sha1]))
-				self.incomplete_line[sha1][idx] = pos = pos+0.5
-			try:
-				next_commit = self.commits[index+1]
-				if (next_commit.commit_sha1 == sha1 and pos != int(pos)):
-				# join the line back to the node point
-				# This need to be done only if we modified it
-					in_line.append((pos, pos-0.5, self.colours[sha1]))
-					continue;
-			except IndexError:
-				pass
-			in_line.append((pos, pos, self.colours[sha1]))
-
-
-	def _go_clicked_cb(self, widget, revid):
-		"""Callback for when the go button for a parent is clicked."""
-		try:
-			self.treeview.set_cursor(self.index[revid])
-		except KeyError:
-			dialog = gtk.MessageDialog(parent=None, flags=0,
-					type=gtk.MESSAGE_WARNING, buttons=gtk.BUTTONS_CLOSE,
-					message_format=None)
-			dialog.set_markup("Revision <b>%s</b> not present in the list" % revid)
-			# revid == 0 is the parent of the first commit
-			if (revid != 0 ):
-				dialog.format_secondary_text("Try running gitview without any options")
-			dialog.run()
-			dialog.destroy()
-
-		self.treeview.grab_focus()
-
-	def _show_clicked_cb(self, widget,  commit_sha1, parent_sha1, encoding):
-		"""Callback for when the show button for a parent is clicked."""
-		window = DiffWindow()
-		window.set_diff(commit_sha1, parent_sha1, encoding)
-		self.treeview.grab_focus()
-
-without_diff = 0
-if __name__ == "__main__":
-
-	if (len(sys.argv) > 1 ):
-		if (sys.argv[1] == "--without-diff"):
-			without_diff = 1
-
-	view = GitView( without_diff != 1)
-	view.run(sys.argv[without_diff:])
diff --git a/contrib/gitview/gitview.txt b/contrib/gitview/gitview.txt
deleted file mode 100644
index 7b5f900..0000000
--- a/contrib/gitview/gitview.txt
+++ /dev/null
@@ -1,57 +0,0 @@
-gitview(1)
-==========
-
-NAME
-----
-gitview - A GTK based repository browser for git
-
-SYNOPSIS
---------
-[verse]
-'gitview' [options] [args]
-
-DESCRIPTION
----------
-
-Dependencies:
-
-* Python 2.4
-* PyGTK 2.8 or later
-* PyCairo 1.0 or later
-
-OPTIONS
--------
---without-diff::
-
-	If the user doesn't want to list the commit diffs in the main window.
-	This may speed up the repository browsing.
-
-<args>::
-
-	All the valid option for linkgit:git-rev-list[1].
-
-Key Bindings
-------------
-F4::
-	To maximize the window
-
-F5::
-	To reread references.
-
-F11::
-	Full screen
-
-F12::
-	Leave full screen
-
-EXAMPLES
---------
-
-gitview v2.6.12.. include/scsi drivers/scsi::
-
-	Show as the changes since version v2.6.12 that changed any file in the
-	include/scsi or drivers/scsi subdirectories
-
-gitview --since=2.weeks.ago::
-
-	Show the changes during the last two weeks
diff --git a/contrib/remote-helpers/git-remote-bzr b/contrib/remote-helpers/git-remote-bzr
index 712a137..1c3d87f 100755
--- a/contrib/remote-helpers/git-remote-bzr
+++ b/contrib/remote-helpers/git-remote-bzr
@@ -1,13 +1,11 @@
-#!/usr/bin/env python
+#!/bin/sh
 
-import sys
-
-sys.stderr.write('WARNING: git-remote-bzr is now maintained independently.\n')
-sys.stderr.write('WARNING: For more information visit https://github.com/felipec/git-remote-bzr\n')
-
-sys.stderr.write('''WARNING:
+cat >&2 <<'EOT'
+WARNING: git-remote-bzr is now maintained independently.
+WARNING: For more information visit https://github.com/felipec/git-remote-bzr
+WARNING:
 WARNING: You can pick a directory on your $PATH and download it, e.g.:
-WARNING:   $ wget -O $HOME/bin/git-remote-bzr \\
+WARNING:   $ wget -O $HOME/bin/git-remote-bzr \
 WARNING:     https://raw.github.com/felipec/git-remote-bzr/master/git-remote-bzr
 WARNING:   $ chmod +x $HOME/bin/git-remote-bzr
-''')
+EOT
diff --git a/contrib/remote-helpers/git-remote-hg b/contrib/remote-helpers/git-remote-hg
index 4255ad6..8e91883 100755
--- a/contrib/remote-helpers/git-remote-hg
+++ b/contrib/remote-helpers/git-remote-hg
@@ -1,13 +1,11 @@
-#!/usr/bin/env python
+#!/bin/sh
 
-import sys
-
-sys.stderr.write('WARNING: git-remote-hg is now maintained independently.\n')
-sys.stderr.write('WARNING: For more information visit https://github.com/felipec/git-remote-hg\n')
-
-sys.stderr.write('''WARNING:
+cat >&2 <<'EOT'
+WARNING: git-remote-hg is now maintained independently.
+WARNING: For more information visit https://github.com/felipec/git-remote-hg
+WARNING:
 WARNING: You can pick a directory on your $PATH and download it, e.g.:
-WARNING:   $ wget -O $HOME/bin/git-remote-hg \\
+WARNING:   $ wget -O $HOME/bin/git-remote-hg \
 WARNING:     https://raw.github.com/felipec/git-remote-hg/master/git-remote-hg
 WARNING:   $ chmod +x $HOME/bin/git-remote-hg
-''')
+EOT
diff --git a/convert.c b/convert.c
index 4e17e45..8d652bf 100644
--- a/convert.c
+++ b/convert.c
@@ -1028,7 +1028,7 @@
 	return 1;
 }
 
-static enum crlf_action git_path_check_crlf(struct git_attr_check *check)
+static enum crlf_action git_path_check_crlf(struct attr_check_item *check)
 {
 	const char *value = check->value;
 
@@ -1045,7 +1045,7 @@
 	return CRLF_UNDEFINED;
 }
 
-static enum eol git_path_check_eol(struct git_attr_check *check)
+static enum eol git_path_check_eol(struct attr_check_item *check)
 {
 	const char *value = check->value;
 
@@ -1058,7 +1058,7 @@
 	return EOL_UNSET;
 }
 
-static struct convert_driver *git_path_check_convert(struct git_attr_check *check)
+static struct convert_driver *git_path_check_convert(struct attr_check_item *check)
 {
 	const char *value = check->value;
 	struct convert_driver *drv;
@@ -1071,7 +1071,7 @@
 	return NULL;
 }
 
-static int git_path_check_ident(struct git_attr_check *check)
+static int git_path_check_ident(struct attr_check_item *check)
 {
 	const char *value = check->value;
 
@@ -1085,24 +1085,19 @@
 	int ident;
 };
 
-static const char *conv_attr_name[] = {
-	"crlf", "ident", "filter", "eol", "text",
-};
-#define NUM_CONV_ATTRS ARRAY_SIZE(conv_attr_name)
-
 static void convert_attrs(struct conv_attrs *ca, const char *path)
 {
-	int i;
-	static struct git_attr_check ccheck[NUM_CONV_ATTRS];
+	static struct attr_check *check;
 
-	if (!ccheck[0].attr) {
-		for (i = 0; i < NUM_CONV_ATTRS; i++)
-			ccheck[i].attr = git_attr(conv_attr_name[i]);
+	if (!check) {
+		check = attr_check_initl("crlf", "ident", "filter",
+					 "eol", "text", NULL);
 		user_convert_tail = &user_convert;
 		git_config(read_convert_config, NULL);
 	}
 
-	if (!git_check_attr(path, NUM_CONV_ATTRS, ccheck)) {
+	if (!git_check_attr(path, check)) {
+		struct attr_check_item *ccheck = check->items;
 		ca->crlf_action = git_path_check_crlf(ccheck + 4);
 		if (ca->crlf_action == CRLF_UNDEFINED)
 			ca->crlf_action = git_path_check_crlf(ccheck + 0);
diff --git a/credential-cache.c b/credential-cache.c
index cc8a6ee..3cbd420 100644
--- a/credential-cache.c
+++ b/credential-cache.c
@@ -83,6 +83,19 @@
 	strbuf_release(&buf);
 }
 
+static char *get_socket_path(void)
+{
+	struct stat sb;
+	char *old_dir, *socket;
+	old_dir = expand_user_path("~/.git-credential-cache");
+	if (old_dir && !stat(old_dir, &sb) && S_ISDIR(sb.st_mode))
+		socket = xstrfmt("%s/socket", old_dir);
+	else
+		socket = xdg_cache_home("credential/socket");
+	free(old_dir);
+	return socket;
+}
+
 int cmd_main(int argc, const char **argv)
 {
 	char *socket_path = NULL;
@@ -106,7 +119,7 @@
 	op = argv[0];
 
 	if (!socket_path)
-		socket_path = expand_user_path("~/.git-credential-cache/socket");
+		socket_path = get_socket_path();
 	if (!socket_path)
 		die("unable to find a suitable socket path; use --socket");
 
diff --git a/daemon.c b/daemon.c
index 473e6b6..f70d27b 100644
--- a/daemon.c
+++ b/daemon.c
@@ -449,46 +449,42 @@
 	fclose(fp);
 }
 
-static int run_service_command(const char **argv)
+static int run_service_command(struct child_process *cld)
 {
-	struct child_process cld = CHILD_PROCESS_INIT;
-
-	cld.argv = argv;
-	cld.git_cmd = 1;
-	cld.err = -1;
-	if (start_command(&cld))
+	argv_array_push(&cld->args, ".");
+	cld->git_cmd = 1;
+	cld->err = -1;
+	if (start_command(cld))
 		return -1;
 
 	close(0);
 	close(1);
 
-	copy_to_log(cld.err);
+	copy_to_log(cld->err);
 
-	return finish_command(&cld);
+	return finish_command(cld);
 }
 
 static int upload_pack(void)
 {
-	/* Timeout as string */
-	char timeout_buf[64];
-	const char *argv[] = { "upload-pack", "--strict", NULL, ".", NULL };
-
-	argv[2] = timeout_buf;
-
-	snprintf(timeout_buf, sizeof timeout_buf, "--timeout=%u", timeout);
-	return run_service_command(argv);
+	struct child_process cld = CHILD_PROCESS_INIT;
+	argv_array_pushl(&cld.args, "upload-pack", "--strict", NULL);
+	argv_array_pushf(&cld.args, "--timeout=%u", timeout);
+	return run_service_command(&cld);
 }
 
 static int upload_archive(void)
 {
-	static const char *argv[] = { "upload-archive", ".", NULL };
-	return run_service_command(argv);
+	struct child_process cld = CHILD_PROCESS_INIT;
+	argv_array_push(&cld.args, "upload-archive");
+	return run_service_command(&cld);
 }
 
 static int receive_pack(void)
 {
-	static const char *argv[] = { "receive-pack", ".", NULL };
-	return run_service_command(argv);
+	struct child_process cld = CHILD_PROCESS_INIT;
+	argv_array_push(&cld.args, "receive-pack");
+	return run_service_command(&cld);
 }
 
 static struct daemon_service daemon_service[] = {
diff --git a/diff-no-index.c b/diff-no-index.c
index f420786..7922938 100644
--- a/diff-no-index.c
+++ b/diff-no-index.c
@@ -185,10 +185,8 @@
 		struct diff_filespec *d1, *d2;
 
 		if (DIFF_OPT_TST(o, REVERSE_DIFF)) {
-			unsigned tmp;
-			const char *tmp_c;
-			tmp = mode1; mode1 = mode2; mode2 = tmp;
-			tmp_c = name1; name1 = name2; name2 = tmp_c;
+			SWAP(mode1, mode2);
+			SWAP(name1, name2);
 		}
 
 		d1 = noindex_filespec(name1, mode1);
@@ -238,7 +236,7 @@
 void diff_no_index(struct rev_info *revs,
 		   int argc, const char **argv)
 {
-	int i, prefixlen;
+	int i;
 	const char *paths[2];
 	struct strbuf replacement = STRBUF_INIT;
 	const char *prefix = revs->prefix;
@@ -259,7 +257,6 @@
 		}
 	}
 
-	prefixlen = prefix ? strlen(prefix) : 0;
 	for (i = 0; i < 2; i++) {
 		const char *p = argv[argc - 2 + i];
 		if (!strcmp(p, "-"))
@@ -268,8 +265,8 @@
 			 * path that is "-", spell it as "./-".
 			 */
 			p = file_from_standard_input;
-		else if (prefixlen)
-			p = xstrdup(prefix_filename(prefix, prefixlen, p));
+		else if (prefix)
+			p = prefix_filename(prefix, p);
 		paths[i] = p;
 	}
 
diff --git a/diff.c b/diff.c
index 84dba60..11eef1c 100644
--- a/diff.c
+++ b/diff.c
@@ -28,11 +28,11 @@
 
 static int diff_detect_rename_default;
 static int diff_indent_heuristic; /* experimental */
-static int diff_compaction_heuristic; /* experimental */
 static int diff_rename_limit_default = 400;
 static int diff_suppress_blank_empty;
 static int diff_use_color_default = -1;
 static int diff_context_default = 3;
+static int diff_interhunk_context_default;
 static const char *diff_word_regex_cfg;
 static const char *external_diff_cmd_cfg;
 static const char *diff_order_file_cfg;
@@ -223,16 +223,8 @@
 
 int git_diff_heuristic_config(const char *var, const char *value, void *cb)
 {
-	if (!strcmp(var, "diff.indentheuristic")) {
+	if (!strcmp(var, "diff.indentheuristic"))
 		diff_indent_heuristic = git_config_bool(var, value);
-		if (diff_indent_heuristic)
-			diff_compaction_heuristic = 0;
-	}
-	if (!strcmp(var, "diff.compactionheuristic")) {
-		diff_compaction_heuristic = git_config_bool(var, value);
-		if (diff_compaction_heuristic)
-			diff_indent_heuristic = 0;
-	}
 	return 0;
 }
 
@@ -248,6 +240,12 @@
 			return -1;
 		return 0;
 	}
+	if (!strcmp(var, "diff.interhunkcontext")) {
+		diff_interhunk_context_default = git_config_int(var, value);
+		if (diff_interhunk_context_default < 0)
+			return -1;
+		return 0;
+	}
 	if (!strcmp(var, "diff.renames")) {
 		diff_detect_rename_default = git_config_rename(var, value);
 		return 0;
@@ -400,7 +398,7 @@
 	 */
 	const char *name;
 
-	char hex[GIT_SHA1_HEXSZ + 1];
+	char hex[GIT_MAX_HEXSZ + 1];
 	char mode[10];
 
 	/*
@@ -2872,8 +2870,25 @@
 			s->should_free = 1;
 			return 0;
 		}
-		if (size_only)
+
+		/*
+		 * Even if the caller would be happy with getting
+		 * only the size, we cannot return early at this
+		 * point if the path requires us to run the content
+		 * conversion.
+		 */
+		if (size_only && !would_convert_to_git(s->path))
 			return 0;
+
+		/*
+		 * Note: this check uses xsize_t(st.st_size) that may
+		 * not be the true size of the blob after it goes
+		 * through convert_to_git().  This may not strictly be
+		 * correct, but the whole point of big_file_threshold
+		 * and is_binary check being that we want to avoid
+		 * opening the file and inspecting the contents, this
+		 * is probably fine.
+		 */
 		if ((flags & CHECK_BINARY) &&
 		    s->size > big_file_threshold && s->is_binary == -1) {
 			s->is_binary = 1;
@@ -3017,7 +3032,7 @@
 			if (!one->oid_valid)
 				sha1_to_hex_r(temp->hex, null_sha1);
 			else
-				sha1_to_hex_r(temp->hex, one->oid.hash);
+				oid_to_hex_r(temp->hex, &one->oid);
 			/* Even though we may sometimes borrow the
 			 * contents from the work tree, we always want
 			 * one->mode.  mode is trustworthy even when
@@ -3371,6 +3386,7 @@
 	options->rename_limit = -1;
 	options->dirstat_permille = diff_dirstat_permille_default;
 	options->context = diff_context_default;
+	options->interhunkcontext = diff_interhunk_context_default;
 	options->ws_error_highlight = ws_error_highlight_default;
 	DIFF_OPT_SET(options, RENAME_EMPTY);
 
@@ -3382,8 +3398,6 @@
 	options->xdl_opts |= diff_algorithm;
 	if (diff_indent_heuristic)
 		DIFF_XDL_SET(options, INDENT_HEURISTIC);
-	else if (diff_compaction_heuristic)
-		DIFF_XDL_SET(options, COMPACTION_HEURISTIC);
 
 	options->orderfile = diff_order_file_cfg;
 
@@ -3878,16 +3892,10 @@
 		DIFF_XDL_SET(options, IGNORE_WHITESPACE_AT_EOL);
 	else if (!strcmp(arg, "--ignore-blank-lines"))
 		DIFF_XDL_SET(options, IGNORE_BLANK_LINES);
-	else if (!strcmp(arg, "--indent-heuristic")) {
+	else if (!strcmp(arg, "--indent-heuristic"))
 		DIFF_XDL_SET(options, INDENT_HEURISTIC);
-		DIFF_XDL_CLR(options, COMPACTION_HEURISTIC);
-	} else if (!strcmp(arg, "--no-indent-heuristic"))
+	else if (!strcmp(arg, "--no-indent-heuristic"))
 		DIFF_XDL_CLR(options, INDENT_HEURISTIC);
-	else if (!strcmp(arg, "--compaction-heuristic")) {
-		DIFF_XDL_SET(options, COMPACTION_HEURISTIC);
-		DIFF_XDL_CLR(options, INDENT_HEURISTIC);
-	} else if (!strcmp(arg, "--no-compaction-heuristic"))
-		DIFF_XDL_CLR(options, COMPACTION_HEURISTIC);
 	else if (!strcmp(arg, "--patience"))
 		options->xdl_opts = DIFF_WITH_ALG(options, PATIENCE_DIFF);
 	else if (!strcmp(arg, "--histogram"))
@@ -4015,8 +4023,7 @@
 	else if (!strcmp(arg, "--pickaxe-regex"))
 		options->pickaxe_opts |= DIFF_PICKAXE_REGEX;
 	else if ((argcount = short_opt('O', av, &optarg))) {
-		const char *path = prefix_filename(prefix, strlen(prefix), optarg);
-		options->orderfile = xstrdup(path);
+		options->orderfile = prefix_filename(prefix, optarg);
 		return argcount;
 	}
 	else if ((argcount = parse_long_opt("diff-filter", av, &optarg))) {
@@ -4063,13 +4070,14 @@
 	else if (!strcmp(arg, "--no-function-context"))
 		DIFF_OPT_CLR(options, FUNCCONTEXT);
 	else if ((argcount = parse_long_opt("output", av, &optarg))) {
-		const char *path = prefix_filename(prefix, strlen(prefix), optarg);
+		char *path = prefix_filename(prefix, optarg);
 		options->file = fopen(path, "w");
 		if (!options->file)
 			die_errno("Could not open '%s'", path);
 		options->close_file = 1;
 		if (options->use_color != GIT_COLOR_ALWAYS)
 			options->use_color = GIT_COLOR_NEVER;
+		free(path);
 		return argcount;
 	} else
 		return 0;
@@ -4211,7 +4219,7 @@
 	 * uniqueness across all objects (statistically speaking).
 	 */
 	if (abblen < GIT_SHA1_HEXSZ - 3) {
-		static char hex[GIT_SHA1_HEXSZ + 1];
+		static char hex[GIT_MAX_HEXSZ + 1];
 		if (len < abblen && abblen <= len + 2)
 			xsnprintf(hex, sizeof(hex), "%s%.*s", abbrev, len+3-abblen, "..");
 		else
@@ -4459,6 +4467,7 @@
 		name_a = p->two->path;
 		name_b = NULL;
 		strip_prefix(opt->prefix_length, &name_a, &name_b);
+		fprintf(opt->file, "%s", diff_line_prefix(opt));
 		write_name_quoted(name_a, opt->file, opt->line_termination);
 	}
 }
@@ -4561,6 +4570,19 @@
 	data->patchlen += new_len;
 }
 
+static void patch_id_add_string(git_SHA_CTX *ctx, const char *str)
+{
+	git_SHA1_Update(ctx, str, strlen(str));
+}
+
+static void patch_id_add_mode(git_SHA_CTX *ctx, unsigned mode)
+{
+	/* large enough for 2^32 in octal */
+	char buf[12];
+	int len = xsnprintf(buf, sizeof(buf), "%06o", mode);
+	git_SHA1_Update(ctx, buf, len);
+}
+
 /* returns 0 upon success, and writes result into sha1 */
 static int diff_get_patch_id(struct diff_options *options, unsigned char *sha1, int diff_header_only)
 {
@@ -4568,7 +4590,6 @@
 	int i;
 	git_SHA_CTX ctx;
 	struct patch_id_t data;
-	char buffer[PATH_MAX * 4 + 20];
 
 	git_SHA1_Init(&ctx);
 	memset(&data, 0, sizeof(struct patch_id_t));
@@ -4600,36 +4621,30 @@
 
 		len1 = remove_space(p->one->path, strlen(p->one->path));
 		len2 = remove_space(p->two->path, strlen(p->two->path));
-		if (p->one->mode == 0)
-			len1 = snprintf(buffer, sizeof(buffer),
-					"diff--gita/%.*sb/%.*s"
-					"newfilemode%06o"
-					"---/dev/null"
-					"+++b/%.*s",
-					len1, p->one->path,
-					len2, p->two->path,
-					p->two->mode,
-					len2, p->two->path);
-		else if (p->two->mode == 0)
-			len1 = snprintf(buffer, sizeof(buffer),
-					"diff--gita/%.*sb/%.*s"
-					"deletedfilemode%06o"
-					"---a/%.*s"
-					"+++/dev/null",
-					len1, p->one->path,
-					len2, p->two->path,
-					p->one->mode,
-					len1, p->one->path);
-		else
-			len1 = snprintf(buffer, sizeof(buffer),
-					"diff--gita/%.*sb/%.*s"
-					"---a/%.*s"
-					"+++b/%.*s",
-					len1, p->one->path,
-					len2, p->two->path,
-					len1, p->one->path,
-					len2, p->two->path);
-		git_SHA1_Update(&ctx, buffer, len1);
+		patch_id_add_string(&ctx, "diff--git");
+		patch_id_add_string(&ctx, "a/");
+		git_SHA1_Update(&ctx, p->one->path, len1);
+		patch_id_add_string(&ctx, "b/");
+		git_SHA1_Update(&ctx, p->two->path, len2);
+
+		if (p->one->mode == 0) {
+			patch_id_add_string(&ctx, "newfilemode");
+			patch_id_add_mode(&ctx, p->two->mode);
+			patch_id_add_string(&ctx, "---/dev/null");
+			patch_id_add_string(&ctx, "+++b/");
+			git_SHA1_Update(&ctx, p->two->path, len2);
+		} else if (p->two->mode == 0) {
+			patch_id_add_string(&ctx, "deletedfilemode");
+			patch_id_add_mode(&ctx, p->one->mode);
+			patch_id_add_string(&ctx, "---a/");
+			git_SHA1_Update(&ctx, p->one->path, len1);
+			patch_id_add_string(&ctx, "+++/dev/null");
+		} else {
+			patch_id_add_string(&ctx, "---a/");
+			git_SHA1_Update(&ctx, p->one->path, len1);
+			patch_id_add_string(&ctx, "+++b/");
+			git_SHA1_Update(&ctx, p->two->path, len2);
+		}
 
 		if (diff_header_only)
 			continue;
@@ -5126,14 +5141,10 @@
 		return;
 
 	if (DIFF_OPT_TST(options, REVERSE_DIFF)) {
-		unsigned tmp;
-		const unsigned char *tmp_c;
-		tmp = old_mode; old_mode = new_mode; new_mode = tmp;
-		tmp_c = old_sha1; old_sha1 = new_sha1; new_sha1 = tmp_c;
-		tmp = old_sha1_valid; old_sha1_valid = new_sha1_valid;
-			new_sha1_valid = tmp;
-		tmp = old_dirty_submodule; old_dirty_submodule = new_dirty_submodule;
-			new_dirty_submodule = tmp;
+		SWAP(old_mode, new_mode);
+		SWAP(old_sha1, new_sha1);
+		SWAP(old_sha1_valid, new_sha1_valid);
+		SWAP(old_dirty_submodule, new_dirty_submodule);
 	}
 
 	if (options->prefix &&
diff --git a/diff.h b/diff.h
index e9ccb38..5be1ee7 100644
--- a/diff.h
+++ b/diff.h
@@ -14,7 +14,7 @@
 struct strbuf;
 struct diff_filespec;
 struct userdiff_driver;
-struct sha1_array;
+struct oid_array;
 struct commit;
 struct combine_diff_path;
 
@@ -236,7 +236,7 @@
 extern void show_combined_diff(struct combine_diff_path *elem, int num_parent,
 			      int dense, struct rev_info *);
 
-extern void diff_tree_combined(const unsigned char *sha1, const struct sha1_array *parents, int dense, struct rev_info *rev);
+extern void diff_tree_combined(const unsigned char *sha1, const struct oid_array *parents, int dense, struct rev_info *rev);
 
 extern void diff_tree_combined_merge(const struct commit *commit, int dense, struct rev_info *rev);
 
diff --git a/diffcore-pickaxe.c b/diffcore-pickaxe.c
index 9795ca1..341529b 100644
--- a/diffcore-pickaxe.c
+++ b/diffcore-pickaxe.c
@@ -81,12 +81,15 @@
 		regmatch_t regmatch;
 		int flags = 0;
 
-		while (*data &&
+		while (sz && *data &&
 		       !regexec_buf(regexp, data, sz, 1, &regmatch, flags)) {
 			flags |= REG_NOTBOL;
 			data += regmatch.rm_eo;
-			if (*data && regmatch.rm_so == regmatch.rm_eo)
+			sz -= regmatch.rm_eo;
+			if (sz && *data && regmatch.rm_so == regmatch.rm_eo) {
 				data++;
+				sz--;
+			}
 			cnt++;
 		}
 
diff --git a/dir.c b/dir.c
index bfa8c8a..f451bfa 100644
--- a/dir.c
+++ b/dir.c
@@ -9,6 +9,7 @@
  */
 #include "cache.h"
 #include "dir.h"
+#include "attr.h"
 #include "refs.h"
 #include "wildmatch.h"
 #include "pathspec.h"
@@ -16,11 +17,6 @@
 #include "varint.h"
 #include "ewah/ewok.h"
 
-struct path_simplify {
-	int len;
-	const char *path;
-};
-
 /*
  * Tells read_directory_recursive how a file or directory should be treated.
  * Values are ordered by significance, e.g. if a directory contains both
@@ -50,7 +46,7 @@
 
 static enum path_treatment read_directory_recursive(struct dir_struct *dir,
 	const char *path, int len, struct untracked_cache_dir *untracked,
-	int check_only, const struct path_simplify *simplify);
+	int check_only, const struct pathspec *pathspec);
 static int get_dtype(struct dirent *de, const char *path, int len);
 
 int fspathcmp(const char *a, const char *b)
@@ -139,7 +135,8 @@
 		       PATHSPEC_LITERAL |
 		       PATHSPEC_GLOB |
 		       PATHSPEC_ICASE |
-		       PATHSPEC_EXCLUDE);
+		       PATHSPEC_EXCLUDE |
+		       PATHSPEC_ATTR);
 
 	for (n = 0; n < pathspec->nr; n++) {
 		size_t i = 0, len = 0, item_len;
@@ -179,17 +176,20 @@
 
 int fill_directory(struct dir_struct *dir, const struct pathspec *pathspec)
 {
-	size_t len;
+	const char *prefix;
+	size_t prefix_len;
 
 	/*
 	 * Calculate common prefix for the pathspec, and
 	 * use that to optimize the directory walk
 	 */
-	len = common_prefix_len(pathspec);
+	prefix_len = common_prefix_len(pathspec);
+	prefix = prefix_len ? pathspec->items[0].match : "";
 
 	/* Read the directory and prune it */
-	read_directory(dir, pathspec->nr ? pathspec->_raw[0] : "", len, pathspec);
-	return len;
+	read_directory(dir, prefix, prefix_len, pathspec);
+
+	return prefix_len;
 }
 
 int within_depth(const char *name, int namelen,
@@ -211,6 +211,36 @@
 #define DO_MATCH_DIRECTORY (1<<1)
 #define DO_MATCH_SUBMODULE (1<<2)
 
+static int match_attrs(const char *name, int namelen,
+		       const struct pathspec_item *item)
+{
+	int i;
+
+	git_check_attr(name, item->attr_check);
+	for (i = 0; i < item->attr_match_nr; i++) {
+		const char *value;
+		int matched;
+		enum attr_match_mode match_mode;
+
+		value = item->attr_check->items[i].value;
+		match_mode = item->attr_match[i].match_mode;
+
+		if (ATTR_TRUE(value))
+			matched = (match_mode == MATCH_SET);
+		else if (ATTR_FALSE(value))
+			matched = (match_mode == MATCH_UNSET);
+		else if (ATTR_UNSET(value))
+			matched = (match_mode == MATCH_UNSPECIFIED);
+		else
+			matched = (match_mode == MATCH_VALUE &&
+				   !strcmp(item->attr_match[i].value, value));
+		if (!matched)
+			return 0;
+	}
+
+	return 1;
+}
+
 /*
  * Does 'match' match the given name?
  * A match is found if
@@ -263,6 +293,9 @@
 	    strncmp(item->match, name - prefix, item->prefix))
 		return 0;
 
+	if (item->attr_match_nr && !match_attrs(name, namelen, item))
+		return 0;
+
 	/* If the match was just the prefix, we matched */
 	if (!*match)
 		return MATCHED_RECURSIVELY;
@@ -341,7 +374,8 @@
 		       PATHSPEC_LITERAL |
 		       PATHSPEC_GLOB |
 		       PATHSPEC_ICASE |
-		       PATHSPEC_EXCLUDE);
+		       PATHSPEC_EXCLUDE |
+		       PATHSPEC_ATTR);
 
 	if (!ps->nr) {
 		if (!ps->recursive ||
@@ -1312,7 +1346,7 @@
 static enum path_treatment treat_directory(struct dir_struct *dir,
 	struct untracked_cache_dir *untracked,
 	const char *dirname, int len, int baselen, int exclude,
-	const struct path_simplify *simplify)
+	const struct pathspec *pathspec)
 {
 	/* The "len-1" is to strip the final '/' */
 	switch (directory_exists_in_index(dirname, len-1)) {
@@ -1341,7 +1375,7 @@
 	untracked = lookup_untracked(dir->untracked, untracked,
 				     dirname + baselen, len - baselen);
 	return read_directory_recursive(dir, dirname, len,
-					untracked, 1, simplify);
+					untracked, 1, pathspec);
 }
 
 /*
@@ -1349,24 +1383,34 @@
  * reading - if the path cannot possibly be in the pathspec,
  * return true, and we'll skip it early.
  */
-static int simplify_away(const char *path, int pathlen, const struct path_simplify *simplify)
+static int simplify_away(const char *path, int pathlen,
+			 const struct pathspec *pathspec)
 {
-	if (simplify) {
-		for (;;) {
-			const char *match = simplify->path;
-			int len = simplify->len;
+	int i;
 
-			if (!match)
-				break;
-			if (len > pathlen)
-				len = pathlen;
-			if (!memcmp(path, match, len))
-				return 0;
-			simplify++;
-		}
-		return 1;
+	if (!pathspec || !pathspec->nr)
+		return 0;
+
+	GUARD_PATHSPEC(pathspec,
+		       PATHSPEC_FROMTOP |
+		       PATHSPEC_MAXDEPTH |
+		       PATHSPEC_LITERAL |
+		       PATHSPEC_GLOB |
+		       PATHSPEC_ICASE |
+		       PATHSPEC_EXCLUDE |
+		       PATHSPEC_ATTR);
+
+	for (i = 0; i < pathspec->nr; i++) {
+		const struct pathspec_item *item = &pathspec->items[i];
+		int len = item->nowildcard_len;
+
+		if (len > pathlen)
+			len = pathlen;
+		if (!ps_strncmp(item, item->match, path, len))
+			return 0;
 	}
-	return 0;
+
+	return 1;
 }
 
 /*
@@ -1380,19 +1424,33 @@
  *   2. the path is a directory prefix of some element in the
  *      pathspec
  */
-static int exclude_matches_pathspec(const char *path, int len,
-		const struct path_simplify *simplify)
+static int exclude_matches_pathspec(const char *path, int pathlen,
+				    const struct pathspec *pathspec)
 {
-	if (simplify) {
-		for (; simplify->path; simplify++) {
-			if (len == simplify->len
-			    && !memcmp(path, simplify->path, len))
-				return 1;
-			if (len < simplify->len
-			    && simplify->path[len] == '/'
-			    && !memcmp(path, simplify->path, len))
-				return 1;
-		}
+	int i;
+
+	if (!pathspec || !pathspec->nr)
+		return 0;
+
+	GUARD_PATHSPEC(pathspec,
+		       PATHSPEC_FROMTOP |
+		       PATHSPEC_MAXDEPTH |
+		       PATHSPEC_LITERAL |
+		       PATHSPEC_GLOB |
+		       PATHSPEC_ICASE |
+		       PATHSPEC_EXCLUDE);
+
+	for (i = 0; i < pathspec->nr; i++) {
+		const struct pathspec_item *item = &pathspec->items[i];
+		int len = item->nowildcard_len;
+
+		if (len == pathlen &&
+		    !ps_strncmp(item, item->match, path, pathlen))
+			return 1;
+		if (len > pathlen &&
+		    item->match[pathlen] == '/' &&
+		    !ps_strncmp(item, item->match, path, pathlen))
+			return 1;
 	}
 	return 0;
 }
@@ -1460,7 +1518,7 @@
 					  struct untracked_cache_dir *untracked,
 					  struct strbuf *path,
 					  int baselen,
-					  const struct path_simplify *simplify,
+					  const struct pathspec *pathspec,
 					  int dtype, struct dirent *de)
 {
 	int exclude;
@@ -1512,7 +1570,7 @@
 	case DT_DIR:
 		strbuf_addch(path, '/');
 		return treat_directory(dir, untracked, path->buf, path->len,
-				       baselen, exclude, simplify);
+				       baselen, exclude, pathspec);
 	case DT_REG:
 	case DT_LNK:
 		return exclude ? path_excluded : path_untracked;
@@ -1524,7 +1582,7 @@
 					   struct cached_dir *cdir,
 					   struct strbuf *path,
 					   int baselen,
-					   const struct path_simplify *simplify)
+					   const struct pathspec *pathspec)
 {
 	strbuf_setlen(path, baselen);
 	if (!cdir->ucd) {
@@ -1541,7 +1599,7 @@
 		 * with check_only set.
 		 */
 		return read_directory_recursive(dir, path->buf, path->len,
-						cdir->ucd, 1, simplify);
+						cdir->ucd, 1, pathspec);
 	/*
 	 * We get path_recurse in the first run when
 	 * directory_exists_in_index() returns index_nonexistent. We
@@ -1556,23 +1614,23 @@
 				      struct cached_dir *cdir,
 				      struct strbuf *path,
 				      int baselen,
-				      const struct path_simplify *simplify)
+				      const struct pathspec *pathspec)
 {
 	int dtype;
 	struct dirent *de = cdir->de;
 
 	if (!de)
 		return treat_path_fast(dir, untracked, cdir, path,
-				       baselen, simplify);
+				       baselen, pathspec);
 	if (is_dot_or_dotdot(de->d_name) || !strcmp(de->d_name, ".git"))
 		return path_none;
 	strbuf_setlen(path, baselen);
 	strbuf_addstr(path, de->d_name);
-	if (simplify_away(path->buf, path->len, simplify))
+	if (simplify_away(path->buf, path->len, pathspec))
 		return path_none;
 
 	dtype = DTYPE(de);
-	return treat_one_path(dir, untracked, path, baselen, simplify, dtype, de);
+	return treat_one_path(dir, untracked, path, baselen, pathspec, dtype, de);
 }
 
 static void add_untracked(struct untracked_cache_dir *dir, const char *name)
@@ -1703,7 +1761,7 @@
 static enum path_treatment read_directory_recursive(struct dir_struct *dir,
 				    const char *base, int baselen,
 				    struct untracked_cache_dir *untracked, int check_only,
-				    const struct path_simplify *simplify)
+				    const struct pathspec *pathspec)
 {
 	struct cached_dir cdir;
 	enum path_treatment state, subdir_state, dir_state = path_none;
@@ -1719,7 +1777,8 @@
 
 	while (!read_cached_dir(&cdir)) {
 		/* check how the file or directory should be treated */
-		state = treat_path(dir, untracked, &cdir, &path, baselen, simplify);
+		state = treat_path(dir, untracked, &cdir, &path,
+				   baselen, pathspec);
 
 		if (state > dir_state)
 			dir_state = state;
@@ -1731,8 +1790,9 @@
 					      path.buf + baselen,
 					      path.len - baselen);
 			subdir_state =
-				read_directory_recursive(dir, path.buf, path.len,
-							 ud, check_only, simplify);
+				read_directory_recursive(dir, path.buf,
+							 path.len, ud,
+							 check_only, pathspec);
 			if (subdir_state > dir_state)
 				dir_state = subdir_state;
 		}
@@ -1756,7 +1816,7 @@
 			else if ((dir->flags & DIR_SHOW_IGNORED_TOO) ||
 				((dir->flags & DIR_COLLECT_IGNORED) &&
 				exclude_matches_pathspec(path.buf, path.len,
-					simplify)))
+							 pathspec)))
 				dir_add_ignored(dir, path.buf, path.len);
 			break;
 
@@ -1787,36 +1847,9 @@
 	return name_compare(e1->name, e1->len, e2->name, e2->len);
 }
 
-static struct path_simplify *create_simplify(const char **pathspec)
-{
-	int nr, alloc = 0;
-	struct path_simplify *simplify = NULL;
-
-	if (!pathspec)
-		return NULL;
-
-	for (nr = 0 ; ; nr++) {
-		const char *match;
-		ALLOC_GROW(simplify, nr + 1, alloc);
-		match = *pathspec++;
-		if (!match)
-			break;
-		simplify[nr].path = match;
-		simplify[nr].len = simple_length(match);
-	}
-	simplify[nr].path = NULL;
-	simplify[nr].len = 0;
-	return simplify;
-}
-
-static void free_simplify(struct path_simplify *simplify)
-{
-	free(simplify);
-}
-
 static int treat_leading_path(struct dir_struct *dir,
 			      const char *path, int len,
-			      const struct path_simplify *simplify)
+			      const struct pathspec *pathspec)
 {
 	struct strbuf sb = STRBUF_INIT;
 	int baselen, rc = 0;
@@ -1840,9 +1873,9 @@
 		strbuf_add(&sb, path, baselen);
 		if (!is_directory(sb.buf))
 			break;
-		if (simplify_away(sb.buf, sb.len, simplify))
+		if (simplify_away(sb.buf, sb.len, pathspec))
 			break;
-		if (treat_one_path(dir, NULL, &sb, baselen, simplify,
+		if (treat_one_path(dir, NULL, &sb, baselen, pathspec,
 				   DT_DIR, NULL) == path_none)
 			break; /* do not recurse into it */
 		if (len <= baselen) {
@@ -2010,33 +2043,14 @@
 	return root;
 }
 
-int read_directory(struct dir_struct *dir, const char *path, int len, const struct pathspec *pathspec)
+int read_directory(struct dir_struct *dir, const char *path,
+		   int len, const struct pathspec *pathspec)
 {
-	struct path_simplify *simplify;
 	struct untracked_cache_dir *untracked;
 
-	/*
-	 * Check out create_simplify()
-	 */
-	if (pathspec)
-		GUARD_PATHSPEC(pathspec,
-			       PATHSPEC_FROMTOP |
-			       PATHSPEC_MAXDEPTH |
-			       PATHSPEC_LITERAL |
-			       PATHSPEC_GLOB |
-			       PATHSPEC_ICASE |
-			       PATHSPEC_EXCLUDE);
-
 	if (has_symlink_leading_path(path, len))
 		return dir->nr;
 
-	/*
-	 * exclude patterns are treated like positive ones in
-	 * create_simplify. Usually exclude patterns should be a
-	 * subset of positive ones, which has no impacts on
-	 * create_simplify().
-	 */
-	simplify = create_simplify(pathspec ? pathspec->_raw : NULL);
 	untracked = validate_untracked_cache(dir, len, pathspec);
 	if (!untracked)
 		/*
@@ -2044,9 +2058,8 @@
 		 * e.g. prep_exclude()
 		 */
 		dir->untracked = NULL;
-	if (!len || treat_leading_path(dir, path, len, simplify))
-		read_directory_recursive(dir, path, len, untracked, 0, simplify);
-	free_simplify(simplify);
+	if (!len || treat_leading_path(dir, path, len, pathspec))
+		read_directory_recursive(dir, path, len, untracked, 0, pathspec);
 	QSORT(dir->entries, dir->nr, cmp_name);
 	QSORT(dir->ignored, dir->ignored_nr, cmp_name);
 	if (dir->untracked) {
@@ -2748,3 +2761,50 @@
 {
 	untracked_cache_invalidate_path(istate, path);
 }
+
+/* Update gitfile and core.worktree setting to connect work tree and git dir */
+void connect_work_tree_and_git_dir(const char *work_tree_, const char *git_dir_)
+{
+	struct strbuf gitfile_sb = STRBUF_INIT;
+	struct strbuf cfg_sb = STRBUF_INIT;
+	struct strbuf rel_path = STRBUF_INIT;
+	char *git_dir, *work_tree;
+
+	/* Prepare .git file */
+	strbuf_addf(&gitfile_sb, "%s/.git", work_tree_);
+	if (safe_create_leading_directories_const(gitfile_sb.buf))
+		die(_("could not create directories for %s"), gitfile_sb.buf);
+
+	/* Prepare config file */
+	strbuf_addf(&cfg_sb, "%s/config", git_dir_);
+	if (safe_create_leading_directories_const(cfg_sb.buf))
+		die(_("could not create directories for %s"), cfg_sb.buf);
+
+	git_dir = real_pathdup(git_dir_, 1);
+	work_tree = real_pathdup(work_tree_, 1);
+
+	/* Write .git file */
+	write_file(gitfile_sb.buf, "gitdir: %s",
+		   relative_path(git_dir, work_tree, &rel_path));
+	/* Update core.worktree setting */
+	git_config_set_in_file(cfg_sb.buf, "core.worktree",
+			       relative_path(work_tree, git_dir, &rel_path));
+
+	strbuf_release(&gitfile_sb);
+	strbuf_release(&cfg_sb);
+	strbuf_release(&rel_path);
+	free(work_tree);
+	free(git_dir);
+}
+
+/*
+ * Migrate the git directory of the given path from old_git_dir to new_git_dir.
+ */
+void relocate_gitdir(const char *path, const char *old_git_dir, const char *new_git_dir)
+{
+	if (rename(old_git_dir, new_git_dir) < 0)
+		die_errno(_("could not migrate git directory from '%s' to '%s'"),
+			old_git_dir, new_git_dir);
+
+	connect_work_tree_and_git_dir(path, new_git_dir);
+}
diff --git a/dir.h b/dir.h
index 97c83bb..bf23a47 100644
--- a/dir.h
+++ b/dir.h
@@ -335,4 +335,8 @@
 void write_untracked_extension(struct strbuf *out, struct untracked_cache *untracked);
 void add_untracked_cache(struct index_state *istate);
 void remove_untracked_cache(struct index_state *istate);
+extern void connect_work_tree_and_git_dir(const char *work_tree, const char *git_dir);
+extern void relocate_gitdir(const char *path,
+			    const char *old_git_dir,
+			    const char *new_git_dir);
 #endif
diff --git a/entry.c b/entry.c
index c6eea24..d2b512d 100644
--- a/entry.c
+++ b/entry.c
@@ -2,6 +2,7 @@
 #include "blob.h"
 #include "dir.h"
 #include "streaming.h"
+#include "submodule.h"
 
 static void create_directories(const char *path, int path_len,
 			       const struct checkout *state)
@@ -146,6 +147,7 @@
 	unsigned long size;
 	size_t wrote, newsize = 0;
 	struct stat st;
+	const struct submodule *sub;
 
 	if (ce_mode_s_ifmt == S_IFREG) {
 		struct stream_filter *filter = get_stream_filter(ce->name,
@@ -203,6 +205,10 @@
 			return error("cannot create temporary submodule %s", path);
 		if (mkdir(path, 0777) < 0)
 			return error("cannot create submodule directory %s", path);
+		sub = submodule_from_ce(ce);
+		if (sub)
+			return submodule_move_head(ce->name,
+				NULL, oid_to_hex(&ce->oid), SUBMODULE_MOVE_HEAD_FORCE);
 		break;
 	default:
 		return error("unknown file mode for %s in index", path);
@@ -259,7 +265,31 @@
 	strbuf_add(&path, ce->name, ce_namelen(ce));
 
 	if (!check_path(path.buf, path.len, &st, state->base_dir_len)) {
+		const struct submodule *sub;
 		unsigned changed = ce_match_stat(ce, &st, CE_MATCH_IGNORE_VALID|CE_MATCH_IGNORE_SKIP_WORKTREE);
+		/*
+		 * Needs to be checked before !changed returns early,
+		 * as the possibly empty directory was not changed
+		 */
+		sub = submodule_from_ce(ce);
+		if (sub) {
+			int err;
+			if (!is_submodule_populated_gently(ce->name, &err)) {
+				struct stat sb;
+				if (lstat(ce->name, &sb))
+					die(_("could not stat file '%s'"), ce->name);
+				if (!(st.st_mode & S_IFDIR))
+					unlink_or_warn(ce->name);
+
+				return submodule_move_head(ce->name,
+					NULL, oid_to_hex(&ce->oid),
+					SUBMODULE_MOVE_HEAD_FORCE);
+			} else
+				return submodule_move_head(ce->name,
+					"HEAD", oid_to_hex(&ce->oid),
+					SUBMODULE_MOVE_HEAD_FORCE);
+		}
+
 		if (!changed)
 			return 0;
 		if (!state->force) {
diff --git a/environment.c b/environment.c
index 4bce3ee..ff6e4f0 100644
--- a/environment.c
+++ b/environment.c
@@ -21,7 +21,6 @@
 int assume_unchanged;
 int prefer_symlink_refs;
 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;
@@ -64,6 +63,7 @@
 int precomposed_unicode = -1; /* see probe_utf8_pathname_composition() */
 unsigned long pack_size_limit_cfg;
 enum hide_dotfiles_type hide_dotfiles = HIDE_DOTFILES_DOTGITONLY;
+enum log_refs_config log_all_ref_updates = LOG_REFS_UNSET;
 
 #ifndef PROTECT_HFS_DEFAULT
 #define PROTECT_HFS_DEFAULT 0
@@ -167,8 +167,11 @@
 	const char *replace_ref_base;
 
 	git_dir = getenv(GIT_DIR_ENVIRONMENT);
-	if (!git_dir)
+	if (!git_dir) {
+		if (!startup_info->have_repository)
+			die("BUG: setup_git_env called without repository");
 		git_dir = DEFAULT_GIT_DIR_ENVIRONMENT;
+	}
 	gitfile = read_gitfile(git_dir);
 	git_dir = xstrdup(gitfile ? gitfile : git_dir);
 	if (get_common_dir(&sb, git_dir))
@@ -259,7 +262,7 @@
 		return;
 	}
 	git_work_tree_initialized = 1;
-	work_tree = xstrdup(real_path(new_work_tree));
+	work_tree = real_pathdup(new_work_tree, 1);
 }
 
 const char *get_git_work_tree(void)
@@ -274,7 +277,7 @@
 	return git_object_dir;
 }
 
-int odb_mkstemp(char *template, size_t limit, const char *pattern)
+int odb_mkstemp(struct strbuf *template, const char *pattern)
 {
 	int fd;
 	/*
@@ -282,32 +285,28 @@
 	 * restrictive except to remove write permission.
 	 */
 	int mode = 0444;
-	snprintf(template, limit, "%s/%s",
-		 get_object_directory(), pattern);
-	fd = git_mkstemp_mode(template, mode);
+	git_path_buf(template, "objects/%s", pattern);
+	fd = git_mkstemp_mode(template->buf, mode);
 	if (0 <= fd)
 		return fd;
 
 	/* slow path */
 	/* some mkstemp implementations erase template on failure */
-	snprintf(template, limit, "%s/%s",
-		 get_object_directory(), pattern);
-	safe_create_leading_directories(template);
-	return xmkstemp_mode(template, mode);
+	git_path_buf(template, "objects/%s", pattern);
+	safe_create_leading_directories(template->buf);
+	return xmkstemp_mode(template->buf, mode);
 }
 
-int odb_pack_keep(char *name, size_t namesz, const unsigned char *sha1)
+int odb_pack_keep(const char *name)
 {
 	int fd;
 
-	snprintf(name, namesz, "%s/pack/pack-%s.keep",
-		 get_object_directory(), sha1_to_hex(sha1));
 	fd = open(name, O_RDWR|O_CREAT|O_EXCL, 0600);
 	if (0 <= fd)
 		return fd;
 
 	/* slow path */
-	safe_create_leading_directories(name);
+	safe_create_leading_directories_const(name);
 	return open(name, O_RDWR|O_CREAT|O_EXCL, 0600);
 }
 
diff --git a/ewah/ewah_io.c b/ewah/ewah_io.c
index 61f6a43..f732109 100644
--- a/ewah/ewah_io.c
+++ b/ewah/ewah_io.c
@@ -142,8 +142,8 @@
 	 * the endianness conversion in a separate pass to ensure
 	 * we're loading 8-byte aligned words.
 	 */
-	memcpy(self->buffer, ptr, self->buffer_size * sizeof(uint64_t));
-	ptr += self->buffer_size * sizeof(uint64_t);
+	memcpy(self->buffer, ptr, self->buffer_size * sizeof(eword_t));
+	ptr += self->buffer_size * sizeof(eword_t);
 
 	for (i = 0; i < self->buffer_size; ++i)
 		self->buffer[i] = ntohll(self->buffer[i]);
diff --git a/fast-import.c b/fast-import.c
index 64fe602..1ea3a08 100644
--- a/fast-import.c
+++ b/fast-import.c
@@ -890,14 +890,15 @@
 
 static void start_packfile(void)
 {
-	static char tmp_file[PATH_MAX];
+	struct strbuf tmp_file = STRBUF_INIT;
 	struct packed_git *p;
 	struct pack_header hdr;
 	int pack_fd;
 
-	pack_fd = odb_mkstemp(tmp_file, sizeof(tmp_file),
-			      "pack/tmp_pack_XXXXXX");
-	FLEX_ALLOC_STR(p, pack_name, tmp_file);
+	pack_fd = odb_mkstemp(&tmp_file, "pack/tmp_pack_XXXXXX");
+	FLEX_ALLOC_STR(p, pack_name, tmp_file.buf);
+	strbuf_release(&tmp_file);
+
 	p->pack_fd = pack_fd;
 	p->do_not_close = 1;
 	pack_file = sha1fd(pack_fd, p->pack_name);
@@ -940,41 +941,40 @@
 
 static char *keep_pack(const char *curr_index_name)
 {
-	static char name[PATH_MAX];
 	static const char *keep_msg = "fast-import";
+	struct strbuf name = STRBUF_INIT;
 	int keep_fd;
 
-	keep_fd = odb_pack_keep(name, sizeof(name), pack_data->sha1);
+	odb_pack_name(&name, pack_data->sha1, "keep");
+	keep_fd = odb_pack_keep(name.buf);
 	if (keep_fd < 0)
 		die_errno("cannot create keep file");
 	write_or_die(keep_fd, keep_msg, strlen(keep_msg));
 	if (close(keep_fd))
 		die_errno("failed to write keep file");
 
-	snprintf(name, sizeof(name), "%s/pack/pack-%s.pack",
-		 get_object_directory(), sha1_to_hex(pack_data->sha1));
-	if (finalize_object_file(pack_data->pack_name, name))
+	odb_pack_name(&name, pack_data->sha1, "pack");
+	if (finalize_object_file(pack_data->pack_name, name.buf))
 		die("cannot store pack file");
 
-	snprintf(name, sizeof(name), "%s/pack/pack-%s.idx",
-		 get_object_directory(), sha1_to_hex(pack_data->sha1));
-	if (finalize_object_file(curr_index_name, name))
+	odb_pack_name(&name, pack_data->sha1, "idx");
+	if (finalize_object_file(curr_index_name, name.buf))
 		die("cannot store index file");
 	free((void *)curr_index_name);
-	return name;
+	return strbuf_detach(&name, NULL);
 }
 
 static void unkeep_all_packs(void)
 {
-	static char name[PATH_MAX];
+	struct strbuf name = STRBUF_INIT;
 	int k;
 
 	for (k = 0; k < pack_id; k++) {
 		struct packed_git *p = all_packs[k];
-		snprintf(name, sizeof(name), "%s/pack/pack-%s.keep",
-			 get_object_directory(), sha1_to_hex(p->sha1));
-		unlink_or_warn(name);
+		odb_pack_name(&name, p->sha1, "keep");
+		unlink_or_warn(name.buf);
 	}
+	strbuf_release(&name);
 }
 
 static int loosen_small_pack(const struct packed_git *p)
@@ -1033,6 +1033,7 @@
 			die("core git rejected index %s", idx_name);
 		all_packs[pack_id] = new_p;
 		install_packed_git(new_p);
+		free(idx_name);
 
 		/* Print the boundary */
 		if (pack_edges) {
@@ -1173,7 +1174,8 @@
 		delta_count_by_type[type]++;
 		e->depth = last->depth + 1;
 
-		hdrlen = encode_in_pack_object_header(OBJ_OFS_DELTA, deltalen, hdr);
+		hdrlen = encode_in_pack_object_header(hdr, sizeof(hdr),
+						      OBJ_OFS_DELTA, deltalen);
 		sha1write(pack_file, hdr, hdrlen);
 		pack_size += hdrlen;
 
@@ -1184,7 +1186,8 @@
 		pack_size += sizeof(hdr) - pos;
 	} else {
 		e->depth = 0;
-		hdrlen = encode_in_pack_object_header(type, dat->len, hdr);
+		hdrlen = encode_in_pack_object_header(hdr, sizeof(hdr),
+						      type, dat->len);
 		sha1write(pack_file, hdr, hdrlen);
 		pack_size += hdrlen;
 	}
@@ -1237,9 +1240,7 @@
 	sha1file_checkpoint(pack_file, &checkpoint);
 	offset = checkpoint.offset;
 
-	hdrlen = snprintf((char *)out_buf, out_sz, "blob %" PRIuMAX, len) + 1;
-	if (out_sz <= hdrlen)
-		die("impossibly large object header");
+	hdrlen = xsnprintf((char *)out_buf, out_sz, "blob %" PRIuMAX, len) + 1;
 
 	git_SHA1_Init(&c);
 	git_SHA1_Update(&c, out_buf, hdrlen);
@@ -1248,9 +1249,7 @@
 
 	git_deflate_init(&s, pack_compression_level);
 
-	hdrlen = encode_in_pack_object_header(OBJ_BLOB, len, out_buf);
-	if (out_sz <= hdrlen)
-		die("impossibly large object header");
+	hdrlen = encode_in_pack_object_header(out_buf, out_sz, OBJ_BLOB, len);
 
 	s.next_out = out_buf + hdrlen;
 	s.avail_out = out_sz - hdrlen;
@@ -1752,7 +1751,7 @@
 
 	if (is_null_sha1(b->sha1)) {
 		if (b->delete)
-			delete_ref(b->name, NULL, 0);
+			delete_ref(NULL, b->name, NULL, 0);
 		return 0;
 	}
 	if (read_ref(b->name, old_sha1))
@@ -3003,7 +3002,7 @@
 	if (!oe)
 		die("Unknown mark: %s", command_buf.buf);
 
-	snprintf(output, sizeof(output), "%s\n", sha1_to_hex(oe->idx.sha1));
+	xsnprintf(output, sizeof(output), "%s\n", sha1_to_hex(oe->idx.sha1));
 	cat_blob_write(output, 41);
 }
 
diff --git a/fetch-pack.c b/fetch-pack.c
index 601f077..4296935 100644
--- a/fetch-pack.c
+++ b/fetch-pack.c
@@ -35,6 +35,7 @@
 #define COMMON_REF	(1U << 2)
 #define SEEN		(1U << 3)
 #define POPPED		(1U << 4)
+#define ALTERNATE	(1U << 5)
 
 static int marked;
 
@@ -67,6 +68,41 @@
 	fputc('\n', stderr);
 }
 
+struct alternate_object_cache {
+	struct object **items;
+	size_t nr, alloc;
+};
+
+static void cache_one_alternate(const char *refname,
+				const struct object_id *oid,
+				void *vcache)
+{
+	struct alternate_object_cache *cache = vcache;
+	struct object *obj = parse_object(oid->hash);
+
+	if (!obj || (obj->flags & ALTERNATE))
+		return;
+
+	obj->flags |= ALTERNATE;
+	ALLOC_GROW(cache->items, cache->nr + 1, cache->alloc);
+	cache->items[cache->nr++] = obj;
+}
+
+static void for_each_cached_alternate(void (*cb)(struct object *))
+{
+	static int initialized;
+	static struct alternate_object_cache cache;
+	size_t i;
+
+	if (!initialized) {
+		for_each_alternate_ref(cache_one_alternate, &cache);
+		initialized = 1;
+	}
+
+	for (i = 0; i < cache.nr; i++)
+		cb(cache.items[i]);
+}
+
 static void rev_list_push(struct commit *commit, int mark)
 {
 	if (!(commit->object.flags & mark)) {
@@ -253,9 +289,9 @@
 		write_or_die(fd, buf->buf, buf->len);
 }
 
-static void insert_one_alternate_ref(const struct ref *ref, void *unused)
+static void insert_one_alternate_object(struct object *obj)
 {
-	rev_list_insert_ref(NULL, ref->old_oid.hash);
+	rev_list_insert_ref(NULL, obj->oid.hash);
 }
 
 #define INITIAL_FLUSH 16
@@ -298,7 +334,7 @@
 	marked = 1;
 
 	for_each_ref(rev_list_insert_ref_oid, NULL);
-	for_each_alternate_ref(insert_one_alternate_ref, NULL);
+	for_each_cached_alternate(insert_one_alternate_object);
 
 	fetching = 0;
 	for ( ; refs ; refs = refs->next) {
@@ -578,7 +614,7 @@
 					break; /* definitely do not have it */
 				else if (cmp == 0) {
 					keep = 1; /* definitely have it */
-					sought[i]->matched = 1;
+					sought[i]->match_status = REF_MATCHED;
 				}
 				i++;
 			}
@@ -598,30 +634,32 @@
 	}
 
 	/* Append unmatched requests to the list */
-	if ((allow_unadvertised_object_request &
-	    (ALLOW_TIP_SHA1 | ALLOW_REACHABLE_SHA1))) {
-		for (i = 0; i < nr_sought; i++) {
-			unsigned char sha1[20];
+	for (i = 0; i < nr_sought; i++) {
+		unsigned char sha1[20];
 
-			ref = sought[i];
-			if (ref->matched)
-				continue;
-			if (get_sha1_hex(ref->name, sha1) ||
-			    ref->name[40] != '\0' ||
-			    hashcmp(sha1, ref->old_oid.hash))
-				continue;
+		ref = sought[i];
+		if (ref->match_status != REF_NOT_MATCHED)
+			continue;
+		if (get_sha1_hex(ref->name, sha1) ||
+		    ref->name[40] != '\0' ||
+		    hashcmp(sha1, ref->old_oid.hash))
+			continue;
 
-			ref->matched = 1;
+		if ((allow_unadvertised_object_request &
+		    (ALLOW_TIP_SHA1 | ALLOW_REACHABLE_SHA1))) {
+			ref->match_status = REF_MATCHED;
 			*newtail = copy_ref(ref);
 			newtail = &(*newtail)->next;
+		} else {
+			ref->match_status = REF_UNADVERTISED_NOT_ALLOWED;
 		}
 	}
 	*refs = newlist;
 }
 
-static void mark_alternate_complete(const struct ref *ref, void *unused)
+static void mark_alternate_complete(struct object *obj)
 {
-	mark_complete(ref->old_oid.hash);
+	mark_complete(obj->oid.hash);
 }
 
 static int everything_local(struct fetch_pack_args *args,
@@ -657,7 +695,7 @@
 
 	if (!args->deepen) {
 		for_each_ref(mark_complete_oid, NULL);
-		for_each_alternate_ref(mark_alternate_complete, NULL);
+		for_each_cached_alternate(mark_alternate_complete);
 		commit_list_sort_by_date(&complete);
 		if (cutoff)
 			mark_recent_complete_commits(args, cutoff);
@@ -977,7 +1015,7 @@
 			   struct ref **sought, int nr_sought,
 			   struct shallow_info *si)
 {
-	struct sha1_array ref = SHA1_ARRAY_INIT;
+	struct oid_array ref = OID_ARRAY_INIT;
 	int *status;
 	int i;
 
@@ -1000,18 +1038,18 @@
 		 * shallow points that exist in the pack (iow in repo
 		 * after get_pack() and reprepare_packed_git())
 		 */
-		struct sha1_array extra = SHA1_ARRAY_INIT;
-		unsigned char (*sha1)[20] = si->shallow->sha1;
+		struct oid_array extra = OID_ARRAY_INIT;
+		struct object_id *oid = si->shallow->oid;
 		for (i = 0; i < si->shallow->nr; i++)
-			if (has_sha1_file(sha1[i]))
-				sha1_array_append(&extra, sha1[i]);
+			if (has_object_file(&oid[i]))
+				oid_array_append(&extra, &oid[i]);
 		if (extra.nr) {
 			setup_alternate_shallow(&shallow_lock,
 						&alternate_shallow_file,
 						&extra);
 			commit_lock_file(&shallow_lock);
 		}
-		sha1_array_clear(&extra);
+		oid_array_clear(&extra);
 		return;
 	}
 
@@ -1022,7 +1060,7 @@
 	if (!si->nr_ours && !si->nr_theirs)
 		return;
 	for (i = 0; i < nr_sought; i++)
-		sha1_array_append(&ref, sought[i]->old_oid.hash);
+		oid_array_append(&ref, &sought[i]->old_oid);
 	si->ref = &ref;
 
 	if (args->update_shallow) {
@@ -1032,23 +1070,23 @@
 		 * shallow roots that are actually reachable from new
 		 * refs.
 		 */
-		struct sha1_array extra = SHA1_ARRAY_INIT;
-		unsigned char (*sha1)[20] = si->shallow->sha1;
+		struct oid_array extra = OID_ARRAY_INIT;
+		struct object_id *oid = si->shallow->oid;
 		assign_shallow_commits_to_refs(si, NULL, NULL);
 		if (!si->nr_ours && !si->nr_theirs) {
-			sha1_array_clear(&ref);
+			oid_array_clear(&ref);
 			return;
 		}
 		for (i = 0; i < si->nr_ours; i++)
-			sha1_array_append(&extra, sha1[si->ours[i]]);
+			oid_array_append(&extra, &oid[si->ours[i]]);
 		for (i = 0; i < si->nr_theirs; i++)
-			sha1_array_append(&extra, sha1[si->theirs[i]]);
+			oid_array_append(&extra, &oid[si->theirs[i]]);
 		setup_alternate_shallow(&shallow_lock,
 					&alternate_shallow_file,
 					&extra);
 		commit_lock_file(&shallow_lock);
-		sha1_array_clear(&extra);
-		sha1_array_clear(&ref);
+		oid_array_clear(&extra);
+		oid_array_clear(&ref);
 		return;
 	}
 
@@ -1064,7 +1102,7 @@
 				sought[i]->status = REF_STATUS_REJECT_SHALLOW;
 	}
 	free(status);
-	sha1_array_clear(&ref);
+	oid_array_clear(&ref);
 }
 
 struct ref *fetch_pack(struct fetch_pack_args *args,
@@ -1072,7 +1110,7 @@
 		       const struct ref *ref,
 		       const char *dest,
 		       struct ref **sought, int nr_sought,
-		       struct sha1_array *shallow,
+		       struct oid_array *shallow,
 		       char **pack_lockfile)
 {
 	struct ref *ref_cpy;
@@ -1094,3 +1132,26 @@
 	clear_shallow_info(&si);
 	return ref_cpy;
 }
+
+int report_unmatched_refs(struct ref **sought, int nr_sought)
+{
+	int i, ret = 0;
+
+	for (i = 0; i < nr_sought; i++) {
+		if (!sought[i])
+			continue;
+		switch (sought[i]->match_status) {
+		case REF_MATCHED:
+			continue;
+		case REF_NOT_MATCHED:
+			error(_("no such remote ref %s"), sought[i]->name);
+			break;
+		case REF_UNADVERTISED_NOT_ALLOWED:
+			error(_("Server does not allow request for unadvertised object %s"),
+			      sought[i]->name);
+			break;
+		}
+		ret = 1;
+	}
+	return ret;
+}
diff --git a/fetch-pack.h b/fetch-pack.h
index c912e3d..b6aeb43 100644
--- a/fetch-pack.h
+++ b/fetch-pack.h
@@ -4,7 +4,7 @@
 #include "string-list.h"
 #include "run-command.h"
 
-struct sha1_array;
+struct oid_array;
 
 struct fetch_pack_args {
 	const char *uploadpack;
@@ -42,7 +42,13 @@
 		       const char *dest,
 		       struct ref **sought,
 		       int nr_sought,
-		       struct sha1_array *shallow,
+		       struct oid_array *shallow,
 		       char **pack_lockfile);
 
+/*
+ * Print an appropriate error message for each sought ref that wasn't
+ * matched.  Return 0 if all sought refs were matched, otherwise 1.
+ */
+int report_unmatched_refs(struct ref **sought, int nr_sought);
+
 #endif
diff --git a/fsck.c b/fsck.c
index 4a3069e..e6152e4 100644
--- a/fsck.c
+++ b/fsck.c
@@ -132,10 +132,10 @@
 
 static void init_skiplist(struct fsck_options *options, const char *path)
 {
-	static struct sha1_array skiplist = SHA1_ARRAY_INIT;
+	static struct oid_array skiplist = OID_ARRAY_INIT;
 	int sorted, fd;
-	char buffer[41];
-	unsigned char sha1[20];
+	char buffer[GIT_MAX_HEXSZ + 1];
+	struct object_id oid;
 
 	if (options->skiplist)
 		sorted = options->skiplist->sorted;
@@ -148,17 +148,18 @@
 	if (fd < 0)
 		die("Could not open skip list: %s", path);
 	for (;;) {
+		const char *p;
 		int result = read_in_full(fd, buffer, sizeof(buffer));
 		if (result < 0)
 			die_errno("Could not read '%s'", path);
 		if (!result)
 			break;
-		if (get_sha1_hex(buffer, sha1) || buffer[40] != '\n')
+		if (parse_oid_hex(buffer, &oid, &p) || *p != '\n')
 			die("Invalid SHA-1: %s", buffer);
-		sha1_array_append(&skiplist, sha1);
+		oid_array_append(&skiplist, &oid);
 		if (sorted && skiplist.nr > 1 &&
-				hashcmp(skiplist.sha1[skiplist.nr - 2],
-					sha1) > 0)
+				oidcmp(&skiplist.oid[skiplist.nr - 2],
+				       &oid) > 0)
 			sorted = 0;
 	}
 	close(fd);
@@ -279,7 +280,7 @@
 		return 0;
 
 	if (options->skiplist && object &&
-			sha1_array_lookup(options->skiplist, object->oid.hash) >= 0)
+			oid_array_lookup(options->skiplist, &object->oid) >= 0)
 		return 0;
 
 	if (msg_type == FSCK_FATAL)
@@ -458,6 +459,10 @@
 {
 	if (!obj)
 		return -1;
+
+	if (obj->type == OBJ_NONE)
+		parse_object(obj->oid.hash);
+
 	switch (obj->type) {
 	case OBJ_BLOB:
 		return 0;
diff --git a/fsck.h b/fsck.h
index 1891c18..4525510 100644
--- a/fsck.h
+++ b/fsck.h
@@ -34,7 +34,7 @@
 	fsck_error error_func;
 	unsigned strict:1;
 	int *msg_type;
-	struct sha1_array *skiplist;
+	struct oid_array *skiplist;
 	struct decoration *object_names;
 };
 
diff --git a/git-add--interactive.perl b/git-add--interactive.perl
index ee3d812..709a5f6 100755
--- a/git-add--interactive.perl
+++ b/git-add--interactive.perl
@@ -4,6 +4,7 @@
 use strict;
 use warnings;
 use Git;
+use Git::I18N;
 
 binmode(STDOUT, ":raw");
 
@@ -46,7 +47,6 @@
 
 my $diff_algorithm = $repo->config('diff.algorithm');
 my $diff_indent_heuristic = $repo->config_bool('diff.indentheuristic');
-my $diff_compaction_heuristic = $repo->config_bool('diff.compactionheuristic');
 my $diff_filter = $repo->config('interactive.difffilter');
 
 my $use_readkey = 0;
@@ -92,6 +92,7 @@
 }
 
 # command line options
+my $patch_mode_only;
 my $patch_mode;
 my $patch_mode_revision;
 
@@ -104,9 +105,6 @@
 		DIFF => 'diff-files -p',
 		APPLY => sub { apply_patch 'apply --cached', @_; },
 		APPLY_CHECK => 'apply --cached',
-		VERB => 'Stage',
-		TARGET => '',
-		PARTICIPLE => 'staging',
 		FILTER => 'file-only',
 		IS_REVERSE => 0,
 	},
@@ -114,9 +112,6 @@
 		DIFF => 'diff-index -p HEAD',
 		APPLY => sub { apply_patch 'apply --cached', @_; },
 		APPLY_CHECK => 'apply --cached',
-		VERB => 'Stash',
-		TARGET => '',
-		PARTICIPLE => 'stashing',
 		FILTER => undef,
 		IS_REVERSE => 0,
 	},
@@ -124,9 +119,6 @@
 		DIFF => 'diff-index -p --cached',
 		APPLY => sub { apply_patch 'apply -R --cached', @_; },
 		APPLY_CHECK => 'apply -R --cached',
-		VERB => 'Unstage',
-		TARGET => '',
-		PARTICIPLE => 'unstaging',
 		FILTER => 'index-only',
 		IS_REVERSE => 1,
 	},
@@ -134,9 +126,6 @@
 		DIFF => 'diff-index -R -p --cached',
 		APPLY => sub { apply_patch 'apply --cached', @_; },
 		APPLY_CHECK => 'apply --cached',
-		VERB => 'Apply',
-		TARGET => ' to index',
-		PARTICIPLE => 'applying',
 		FILTER => 'index-only',
 		IS_REVERSE => 0,
 	},
@@ -144,9 +133,6 @@
 		DIFF => 'diff-files -p',
 		APPLY => sub { apply_patch 'apply -R', @_; },
 		APPLY_CHECK => 'apply -R',
-		VERB => 'Discard',
-		TARGET => ' from worktree',
-		PARTICIPLE => 'discarding',
 		FILTER => 'file-only',
 		IS_REVERSE => 1,
 	},
@@ -154,9 +140,6 @@
 		DIFF => 'diff-index -p',
 		APPLY => sub { apply_patch_for_checkout_commit '-R', @_ },
 		APPLY_CHECK => 'apply -R',
-		VERB => 'Discard',
-		TARGET => ' from index and worktree',
-		PARTICIPLE => 'discarding',
 		FILTER => undef,
 		IS_REVERSE => 1,
 	},
@@ -164,15 +147,13 @@
 		DIFF => 'diff-index -R -p',
 		APPLY => sub { apply_patch_for_checkout_commit '', @_ },
 		APPLY_CHECK => 'apply',
-		VERB => 'Apply',
-		TARGET => ' to index and worktree',
-		PARTICIPLE => 'applying',
 		FILTER => undef,
 		IS_REVERSE => 0,
 	},
 );
 
-my %patch_mode_flavour = %{$patch_modes{stage}};
+$patch_mode = 'stage';
+my %patch_mode_flavour = %{$patch_modes{$patch_mode}};
 
 sub run_cmd_pipe {
 	if ($^O eq 'MSWin32') {
@@ -253,8 +234,9 @@
 	run_cmd_pipe(qw(git ls-files --others --exclude-standard --), @ARGV);
 }
 
-my $status_fmt = '%12s %12s %s';
-my $status_head = sprintf($status_fmt, 'staged', 'unstaged', 'path');
+# TRANSLATORS: you can adjust this to align "git add -i" status menu
+my $status_fmt = __('%12s %12s %s');
+my $status_head = sprintf($status_fmt, __('staged'), __('unstaged'), __('path'));
 
 {
 	my $initial;
@@ -293,26 +275,17 @@
 	my ($only) = @_;
 	my (%data, @return);
 	my ($add, $del, $adddel, $file);
-	my @tracked = ();
-
-	if (@ARGV) {
-		@tracked = map {
-			chomp $_;
-			unquote_path($_);
-		} run_cmd_pipe(qw(git ls-files --), @ARGV);
-		return if (!@tracked);
-	}
 
 	my $reference = get_diff_reference($patch_mode_revision);
 	for (run_cmd_pipe(qw(git diff-index --cached
 			     --numstat --summary), $reference,
-			     '--', @tracked)) {
+			     '--', @ARGV)) {
 		if (($add, $del, $file) =
 		    /^([-\d]+)	([-\d]+)	(.*)/) {
 			my ($change, $bin);
 			$file = unquote_path($file);
 			if ($add eq '-' && $del eq '-') {
-				$change = 'binary';
+				$change = __('binary');
 				$bin = 1;
 			}
 			else {
@@ -321,7 +294,7 @@
 			$data{$file} = {
 				INDEX => $change,
 				BINARY => $bin,
-				FILE => 'nothing',
+				FILE => __('nothing'),
 			}
 		}
 		elsif (($adddel, $file) =
@@ -331,13 +304,13 @@
 		}
 	}
 
-	for (run_cmd_pipe(qw(git diff-files --numstat --summary --raw --), @tracked)) {
+	for (run_cmd_pipe(qw(git diff-files --numstat --summary --raw --), @ARGV)) {
 		if (($add, $del, $file) =
 		    /^([-\d]+)	([-\d]+)	(.*)/) {
 			$file = unquote_path($file);
 			my ($change, $bin);
 			if ($add eq '-' && $del eq '-') {
-				$change = 'binary';
+				$change = __('binary');
 				$bin = 1;
 			}
 			else {
@@ -357,7 +330,7 @@
 			$file = unquote_path($2);
 			if (!exists $data{$file}) {
 				$data{$file} = +{
-					INDEX => 'unchanged',
+					INDEX => __('unchanged'),
 					BINARY => 0,
 				};
 			}
@@ -372,10 +345,10 @@
 
 		if ($only) {
 			if ($only eq 'index-only') {
-				next if ($it->{INDEX} eq 'unchanged');
+				next if ($it->{INDEX} eq __('unchanged'));
 			}
 			if ($only eq 'file-only') {
-				next if ($it->{FILE} eq 'nothing');
+				next if ($it->{FILE} eq __('nothing'));
 			}
 		}
 		push @return, +{
@@ -613,12 +586,12 @@
 			else {
 				$bottom = $top = find_unique($choice, @stuff);
 				if (!defined $bottom) {
-					error_msg "Huh ($choice)?\n";
+					error_msg sprintf(__("Huh (%s)?\n"), $choice);
 					next TOPLOOP;
 				}
 			}
 			if ($opts->{SINGLETON} && $bottom != $top) {
-				error_msg "Huh ($choice)?\n";
+				error_msg sprintf(__("Huh (%s)?\n"), $choice);
 				next TOPLOOP;
 			}
 			for ($i = $bottom-1; $i <= $top-1; $i++) {
@@ -637,7 +610,7 @@
 }
 
 sub singleton_prompt_help_cmd {
-	print colored $help_color, <<\EOF ;
+	print colored $help_color, __ <<'EOF' ;
 Prompt help:
 1          - select a numbered item
 foo        - select item based on unique prefix
@@ -646,7 +619,7 @@
 }
 
 sub prompt_help_cmd {
-	print colored $help_color, <<\EOF ;
+	print colored $help_color, __ <<'EOF' ;
 Prompt help:
 1          - select a single item
 3-5        - select a range of items
@@ -667,12 +640,18 @@
 sub say_n_paths {
 	my $did = shift @_;
 	my $cnt = scalar @_;
-	print "$did ";
-	if (1 < $cnt) {
-		print "$cnt paths\n";
-	}
-	else {
-		print "one path\n";
+	if ($did eq 'added') {
+		printf(__n("added %d path\n", "added %d paths\n",
+			   $cnt), $cnt);
+	} elsif ($did eq 'updated') {
+		printf(__n("updated %d path\n", "updated %d paths\n",
+			   $cnt), $cnt);
+	} elsif ($did eq 'reverted') {
+		printf(__n("reverted %d path\n", "reverted %d paths\n",
+			   $cnt), $cnt);
+	} else {
+		printf(__n("touched %d path\n", "touched %d paths\n",
+			   $cnt), $cnt);
 	}
 }
 
@@ -680,7 +659,7 @@
 	my @mods = list_modified('file-only');
 	return if (!@mods);
 
-	my @update = list_and_choose({ PROMPT => 'Update',
+	my @update = list_and_choose({ PROMPT => __('Update'),
 				       HEADER => $status_head, },
 				     @mods);
 	if (@update) {
@@ -692,7 +671,7 @@
 }
 
 sub revert_cmd {
-	my @update = list_and_choose({ PROMPT => 'Revert',
+	my @update = list_and_choose({ PROMPT => __('Revert'),
 				       HEADER => $status_head, },
 				     list_modified());
 	if (@update) {
@@ -715,7 +694,7 @@
 				    $_->{INDEX_ADDDEL} eq 'create') {
 					system(qw(git update-index --force-remove --),
 					       $_->{VALUE});
-					print "note: $_->{VALUE} is untracked now.\n";
+					printf(__("note: %s is untracked now.\n"), $_->{VALUE});
 				}
 			}
 		}
@@ -726,13 +705,13 @@
 }
 
 sub add_untracked_cmd {
-	my @add = list_and_choose({ PROMPT => 'Add untracked' },
+	my @add = list_and_choose({ PROMPT => __('Add untracked') },
 				  list_untracked());
 	if (@add) {
 		system(qw(git update-index --add --), @add);
 		say_n_paths('added', @add);
 	} else {
-		print "No untracked files.\n";
+		print __("No untracked files.\n");
 	}
 	print "\n";
 }
@@ -753,8 +732,6 @@
 	}
 	if ($diff_indent_heuristic) {
 		splice @diff_cmd, 1, 0, "--indent-heuristic";
-	} elsif ($diff_compaction_heuristic) {
-		splice @diff_cmd, 1, 0, "--compaction-heuristic";
 	}
 	if (defined $patch_mode_revision) {
 		push @diff_cmd, get_diff_reference($patch_mode_revision);
@@ -1048,29 +1025,55 @@
 	} @_;
 }
 
+my %edit_hunk_manually_modes = (
+	stage => N__(
+"If the patch applies cleanly, the edited hunk will immediately be
+marked for staging."),
+	stash => N__(
+"If the patch applies cleanly, the edited hunk will immediately be
+marked for stashing."),
+	reset_head => N__(
+"If the patch applies cleanly, the edited hunk will immediately be
+marked for unstaging."),
+	reset_nothead => N__(
+"If the patch applies cleanly, the edited hunk will immediately be
+marked for applying."),
+	checkout_index => N__(
+"If the patch applies cleanly, the edited hunk will immediately be
+marked for discarding."),
+	checkout_head => N__(
+"If the patch applies cleanly, the edited hunk will immediately be
+marked for discarding."),
+	checkout_nothead => N__(
+"If the patch applies cleanly, the edited hunk will immediately be
+marked for applying."),
+);
+
 sub edit_hunk_manually {
 	my ($oldtext) = @_;
 
 	my $hunkfile = $repo->repo_path . "/addp-hunk-edit.diff";
 	my $fh;
 	open $fh, '>', $hunkfile
-		or die "failed to open hunk edit file for writing: " . $!;
-	print $fh "# Manual hunk edit mode -- see bottom for a quick guide\n";
+		or die sprintf(__("failed to open hunk edit file for writing: %s"), $!);
+	print $fh Git::comment_lines __("Manual hunk edit mode -- see bottom for a quick guide.\n");
 	print $fh @$oldtext;
-	my $participle = $patch_mode_flavour{PARTICIPLE};
 	my $is_reverse = $patch_mode_flavour{IS_REVERSE};
 	my ($remove_plus, $remove_minus) = $is_reverse ? ('-', '+') : ('+', '-');
-	print $fh <<EOF;
-# ---
-# To remove '$remove_minus' lines, make them ' ' lines (context).
-# To remove '$remove_plus' lines, delete them.
-# Lines starting with # will be removed.
-#
-# If the patch applies cleanly, the edited hunk will immediately be
-# marked for $participle. If it does not apply cleanly, you will be given
-# an opportunity to edit again. If all lines of the hunk are removed,
-# then the edit is aborted and the hunk is left unchanged.
+	my $comment_line_char = Git::get_comment_line_char;
+	print $fh Git::comment_lines sprintf(__ <<EOF, $remove_minus, $remove_plus, $comment_line_char),
+---
+To remove '%s' lines, make them ' ' lines (context).
+To remove '%s' lines, delete them.
+Lines starting with %s will be removed.
 EOF
+__($edit_hunk_manually_modes{$patch_mode}),
+# TRANSLATORS: 'it' refers to the patch mentioned in the previous messages.
+__ <<EOF2 ;
+If it does not apply cleanly, you will be given an opportunity to
+edit again.  If all lines of the hunk are removed, then the edit is
+aborted and the hunk is left unchanged.
+EOF2
 	close $fh;
 
 	chomp(my $editor = run_cmd_pipe(qw(git var GIT_EDITOR)));
@@ -1081,8 +1084,8 @@
 	}
 
 	open $fh, '<', $hunkfile
-		or die "failed to open hunk edit file for reading: " . $!;
-	my @newtext = grep { !/^#/ } <$fh>;
+		or die sprintf(__("failed to open hunk edit file for reading: %s"), $!);
+	my @newtext = grep { !/^$comment_line_char/ } <$fh>;
 	close $fh;
 	unlink $hunkfile;
 
@@ -1166,22 +1169,66 @@
 		}
 		else {
 			prompt_yesno(
-				'Your edited hunk does not apply. Edit again '
-				. '(saying "no" discards!) [y/n]? '
+				# TRANSLATORS: do not translate [y/n]
+				# The program will only accept that input
+				# at this point.
+				# Consider translating (saying "no" discards!) as
+				# (saying "n" for "no" discards!) if the translation
+				# of the word "no" does not start with n.
+				__('Your edited hunk does not apply. Edit again '
+				   . '(saying "no" discards!) [y/n]? ')
 				) or return undef;
 		}
 	}
 }
 
+my %help_patch_modes = (
+	stage => N__(
+"y - stage this hunk
+n - do not stage this hunk
+q - quit; do not stage this hunk or any of the remaining ones
+a - stage this hunk and all later hunks in the file
+d - do not stage this hunk or any of the later hunks in the file"),
+	stash => N__(
+"y - stash this hunk
+n - do not stash this hunk
+q - quit; do not stash this hunk or any of the remaining ones
+a - stash this hunk and all later hunks in the file
+d - do not stash this hunk or any of the later hunks in the file"),
+	reset_head => N__(
+"y - unstage this hunk
+n - do not unstage this hunk
+q - quit; do not unstage this hunk or any of the remaining ones
+a - unstage this hunk and all later hunks in the file
+d - do not unstage this hunk or any of the later hunks in the file"),
+	reset_nothead => N__(
+"y - apply this hunk to index
+n - do not apply this hunk to index
+q - quit; do not apply this hunk or any of the remaining ones
+a - apply this hunk and all later hunks in the file
+d - do not apply this hunk or any of the later hunks in the file"),
+	checkout_index => N__(
+"y - discard this hunk from worktree
+n - do not discard this hunk from worktree
+q - quit; do not discard this hunk or any of the remaining ones
+a - discard this hunk and all later hunks in the file
+d - do not discard this hunk or any of the later hunks in the file"),
+	checkout_head => N__(
+"y - discard this hunk from index and worktree
+n - do not discard this hunk from index and worktree
+q - quit; do not discard this hunk or any of the remaining ones
+a - discard this hunk and all later hunks in the file
+d - do not discard this hunk or any of the later hunks in the file"),
+	checkout_nothead => N__(
+"y - apply this hunk to index and worktree
+n - do not apply this hunk to index and worktree
+q - quit; do not apply this hunk or any of the remaining ones
+a - apply this hunk and all later hunks in the file
+d - do not apply this hunk or any of the later hunks in the file"),
+);
+
 sub help_patch_cmd {
-	my $verb = lc $patch_mode_flavour{VERB};
-	my $target = $patch_mode_flavour{TARGET};
-	print colored $help_color, <<EOF ;
-y - $verb this hunk$target
-n - do not $verb this hunk$target
-q - quit; do not $verb this hunk or any of the remaining ones
-a - $verb this hunk and all later hunks in the file
-d - do not $verb this hunk or any of the later hunks in the file
+	print colored $help_color, __($help_patch_modes{$patch_mode}), "\n", __ <<EOF ;
 g - select a hunk to go to
 / - search for a hunk matching the given regex
 j - leave this hunk undecided, see next undecided hunk
@@ -1213,11 +1260,11 @@
 		run_git_apply 'apply '.$reverse, @_;
 		return 1;
 	} elsif (!$applies_index) {
-		print colored $error_color, "The selected hunks do not apply to the index!\n";
-		if (prompt_yesno "Apply them to the worktree anyway? ") {
+		print colored $error_color, __("The selected hunks do not apply to the index!\n");
+		if (prompt_yesno __("Apply them to the worktree anyway? ")) {
 			return run_git_apply 'apply '.$reverse, @_;
 		} else {
-			print colored $error_color, "Nothing was applied.\n";
+			print colored $error_color, __("Nothing was applied.\n");
 			return 0;
 		}
 	} else {
@@ -1228,7 +1275,7 @@
 
 sub patch_update_cmd {
 	my @all_mods = list_modified($patch_mode_flavour{FILTER});
-	error_msg "ignoring unmerged: $_->{VALUE}\n"
+	error_msg sprintf(__("ignoring unmerged: %s\n"), $_->{VALUE})
 		for grep { $_->{UNMERGED} } @all_mods;
 	@all_mods = grep { !$_->{UNMERGED} } @all_mods;
 
@@ -1237,17 +1284,17 @@
 
 	if (!@mods) {
 		if (@all_mods) {
-			print STDERR "Only binary files changed.\n";
+			print STDERR __("Only binary files changed.\n");
 		} else {
-			print STDERR "No changes.\n";
+			print STDERR __("No changes.\n");
 		}
 		return 0;
 	}
-	if ($patch_mode) {
+	if ($patch_mode_only) {
 		@them = @mods;
 	}
 	else {
-		@them = list_and_choose({ PROMPT => 'Patch update',
+		@them = list_and_choose({ PROMPT => __('Patch update'),
 					  HEADER => $status_head, },
 					@mods);
 	}
@@ -1297,6 +1344,44 @@
 	return $i;
 }
 
+my %patch_update_prompt_modes = (
+	stage => {
+		mode => N__("Stage mode change [y,n,q,a,d,/%s,?]? "),
+		deletion => N__("Stage deletion [y,n,q,a,d,/%s,?]? "),
+		hunk => N__("Stage this hunk [y,n,q,a,d,/%s,?]? "),
+	},
+	stash => {
+		mode => N__("Stash mode change [y,n,q,a,d,/%s,?]? "),
+		deletion => N__("Stash deletion [y,n,q,a,d,/%s,?]? "),
+		hunk => N__("Stash this hunk [y,n,q,a,d,/%s,?]? "),
+	},
+	reset_head => {
+		mode => N__("Unstage mode change [y,n,q,a,d,/%s,?]? "),
+		deletion => N__("Unstage deletion [y,n,q,a,d,/%s,?]? "),
+		hunk => N__("Unstage this hunk [y,n,q,a,d,/%s,?]? "),
+	},
+	reset_nothead => {
+		mode => N__("Apply mode change to index [y,n,q,a,d,/%s,?]? "),
+		deletion => N__("Apply deletion to index [y,n,q,a,d,/%s,?]? "),
+		hunk => N__("Apply this hunk to index [y,n,q,a,d,/%s,?]? "),
+	},
+	checkout_index => {
+		mode => N__("Discard mode change from worktree [y,n,q,a,d,/%s,?]? "),
+		deletion => N__("Discard deletion from worktree [y,n,q,a,d,/%s,?]? "),
+		hunk => N__("Discard this hunk from worktree [y,n,q,a,d,/%s,?]? "),
+	},
+	checkout_head => {
+		mode => N__("Discard mode change from index and worktree [y,n,q,a,d,/%s,?]? "),
+		deletion => N__("Discard deletion from index and worktree [y,n,q,a,d,/%s,?]? "),
+		hunk => N__("Discard this hunk from index and worktree [y,n,q,a,d,/%s,?]? "),
+	},
+	checkout_nothead => {
+		mode => N__("Apply mode change to index and worktree [y,n,q,a,d,/%s,?]? "),
+		deletion => N__("Apply deletion to index and worktree [y,n,q,a,d,/%s,?]? "),
+		hunk => N__("Apply this hunk to index and worktree [y,n,q,a,d,/%s,?]? "),
+	},
+);
+
 sub patch_update_file {
 	my $quit = 0;
 	my ($ix, $num);
@@ -1369,12 +1454,9 @@
 		for (@{$hunk[$ix]{DISPLAY}}) {
 			print;
 		}
-		print colored $prompt_color, $patch_mode_flavour{VERB},
-		  ($hunk[$ix]{TYPE} eq 'mode' ? ' mode change' :
-		   $hunk[$ix]{TYPE} eq 'deletion' ? ' deletion' :
-		   ' this hunk'),
-		  $patch_mode_flavour{TARGET},
-		  " [y,n,q,a,d,/$other,?]? ";
+		print colored $prompt_color,
+			sprintf(__($patch_update_prompt_modes{$patch_mode}{$hunk[$ix]{TYPE}}), $other);
+
 		my $line = prompt_single_character;
 		last unless defined $line;
 		if ($line) {
@@ -1397,12 +1479,12 @@
 				my $response = $1;
 				my $no = $ix > 10 ? $ix - 10 : 0;
 				while ($response eq '') {
-					my $extra = "";
 					$no = display_hunks(\@hunk, $no);
 					if ($no < $num) {
-						$extra = " (<ret> to see more)";
+						print __("go to which hunk (<ret> to see more)? ");
+					} else {
+						print __("go to which hunk? ");
 					}
-					print "go to which hunk$extra? ";
 					$response = <STDIN>;
 					if (!defined $response) {
 						$response = '';
@@ -1410,11 +1492,13 @@
 					chomp $response;
 				}
 				if ($response !~ /^\s*\d+\s*$/) {
-					error_msg "Invalid number: '$response'\n";
+					error_msg sprintf(__("Invalid number: '%s'\n"),
+							     $response);
 				} elsif (0 < $response && $response <= $num) {
 					$ix = $response - 1;
 				} else {
-					error_msg "Sorry, only $num hunks available.\n";
+					error_msg sprintf(__n("Sorry, only %d hunk available.\n",
+							      "Sorry, only %d hunks available.\n", $num), $num);
 				}
 				next;
 			}
@@ -1439,7 +1523,7 @@
 			elsif ($line =~ m|^/(.*)|) {
 				my $regex = $1;
 				if ($1 eq "") {
-					print colored $prompt_color, "search for regex? ";
+					print colored $prompt_color, __("search for regex? ");
 					$regex = <STDIN>;
 					if (defined $regex) {
 						chomp $regex;
@@ -1452,7 +1536,7 @@
 				if ($@) {
 					my ($err,$exp) = ($@, $1);
 					$err =~ s/ at .*git-add--interactive line \d+, <STDIN> line \d+.*$//;
-					error_msg "Malformed search regexp $exp: $err\n";
+					error_msg sprintf(__("Malformed search regexp %s: %s\n"), $exp, $err);
 					next;
 				}
 				my $iy = $ix;
@@ -1462,7 +1546,7 @@
 					$iy++;
 					$iy = 0 if ($iy >= $num);
 					if ($ix == $iy) {
-						error_msg "No hunk matches the given pattern\n";
+						error_msg __("No hunk matches the given pattern\n");
 						last;
 					}
 				}
@@ -1474,7 +1558,7 @@
 					$ix--;
 				}
 				else {
-					error_msg "No previous hunk\n";
+					error_msg __("No previous hunk\n");
 				}
 				next;
 			}
@@ -1483,7 +1567,7 @@
 					$ix++;
 				}
 				else {
-					error_msg "No next hunk\n";
+					error_msg __("No next hunk\n");
 				}
 				next;
 			}
@@ -1496,21 +1580,23 @@
 					}
 				}
 				else {
-					error_msg "No previous hunk\n";
+					error_msg __("No previous hunk\n");
 				}
 				next;
 			}
 			elsif ($line =~ /^j/) {
 				if ($other !~ /j/) {
-					error_msg "No next hunk\n";
+					error_msg __("No next hunk\n");
 					next;
 				}
 			}
 			elsif ($other =~ /s/ && $line =~ /^s/) {
 				my @split = split_hunk($hunk[$ix]{TEXT}, $hunk[$ix]{DISPLAY});
 				if (1 < @split) {
-					print colored $header_color, "Split into ",
-					scalar(@split), " hunks.\n";
+					print colored $header_color, sprintf(
+						__n("Split into %d hunk.\n",
+						    "Split into %d hunks.\n",
+						    scalar(@split)), scalar(@split));
 				}
 				splice (@hunk, $ix, 1, @split);
 				$num = scalar @hunk;
@@ -1560,28 +1646,30 @@
 	my @mods = list_modified('index-only');
 	@mods = grep { !($_->{BINARY}) } @mods;
 	return if (!@mods);
-	my (@them) = list_and_choose({ PROMPT => 'Review diff',
+	my (@them) = list_and_choose({ PROMPT => __('Review diff'),
 				     IMMEDIATE => 1,
 				     HEADER => $status_head, },
 				   @mods);
 	return if (!@them);
-	my $reference = is_initial_commit() ? get_empty_tree() : 'HEAD';
+	my $reference = (is_initial_commit()) ? get_empty_tree() : 'HEAD';
 	system(qw(git diff -p --cached), $reference, '--',
 		map { $_->{VALUE} } @them);
 }
 
 sub quit_cmd {
-	print "Bye.\n";
+	print __("Bye.\n");
 	exit(0);
 }
 
 sub help_cmd {
-	print colored $help_color, <<\EOF ;
+# TRANSLATORS: please do not translate the command names
+# 'status', 'update', 'revert', etc.
+	print colored $help_color, __ <<'EOF' ;
 status        - show paths with changes
 update        - add working tree state to the staged set of changes
 revert        - revert staged set of changes back to the HEAD version
 patch         - pick hunks and update selectively
-diff	      - view diff between HEAD and index
+diff          - view diff between HEAD and index
 add untracked - add contents of untracked files to the staged set of changes
 EOF
 }
@@ -1594,39 +1682,40 @@
 			if ($1 eq 'reset') {
 				$patch_mode = 'reset_head';
 				$patch_mode_revision = 'HEAD';
-				$arg = shift @ARGV or die "missing --";
+				$arg = shift @ARGV or die __("missing --");
 				if ($arg ne '--') {
 					$patch_mode_revision = $arg;
 					$patch_mode = ($arg eq 'HEAD' ?
 						       'reset_head' : 'reset_nothead');
-					$arg = shift @ARGV or die "missing --";
+					$arg = shift @ARGV or die __("missing --");
 				}
 			} elsif ($1 eq 'checkout') {
-				$arg = shift @ARGV or die "missing --";
+				$arg = shift @ARGV or die __("missing --");
 				if ($arg eq '--') {
 					$patch_mode = 'checkout_index';
 				} else {
 					$patch_mode_revision = $arg;
 					$patch_mode = ($arg eq 'HEAD' ?
 						       'checkout_head' : 'checkout_nothead');
-					$arg = shift @ARGV or die "missing --";
+					$arg = shift @ARGV or die __("missing --");
 				}
 			} elsif ($1 eq 'stage' or $1 eq 'stash') {
 				$patch_mode = $1;
-				$arg = shift @ARGV or die "missing --";
+				$arg = shift @ARGV or die __("missing --");
 			} else {
-				die "unknown --patch mode: $1";
+				die sprintf(__("unknown --patch mode: %s"), $1);
 			}
 		} else {
 			$patch_mode = 'stage';
-			$arg = shift @ARGV or die "missing --";
+			$arg = shift @ARGV or die __("missing --");
 		}
-		die "invalid argument $arg, expecting --"
-		    unless $arg eq "--";
+		die sprintf(__("invalid argument %s, expecting --"),
+			       $arg) unless $arg eq "--";
 		%patch_mode_flavour = %{$patch_modes{$patch_mode}};
+		$patch_mode_only = 1;
 	}
 	elsif ($arg ne "--") {
-		die "invalid argument $arg, expecting --";
+		die sprintf(__("invalid argument %s, expecting --"), $arg);
 	}
 }
 
@@ -1641,10 +1730,10 @@
 		   [ 'help', \&help_cmd, ],
 	);
 	while (1) {
-		my ($it) = list_and_choose({ PROMPT => 'What now',
+		my ($it) = list_and_choose({ PROMPT => __('What now'),
 					     SINGLETON => 1,
 					     LIST_FLAT => 4,
-					     HEADER => '*** Commands ***',
+					     HEADER => __('*** Commands ***'),
 					     ON_EOF => \&quit_cmd,
 					     IMMEDIATE => 1 }, @cmd);
 		if ($it) {
@@ -1660,7 +1749,7 @@
 
 process_args();
 refresh();
-if ($patch_mode) {
+if ($patch_mode_only) {
 	patch_update_cmd();
 }
 else {
diff --git a/git-compat-util.h b/git-compat-util.h
index 87237b0..8a4a3f8 100644
--- a/git-compat-util.h
+++ b/git-compat-util.h
@@ -527,6 +527,16 @@
 	return strip_suffix(str, suffix, &len);
 }
 
+#define SWAP(a, b) do {						\
+	void *_swap_a_ptr = &(a);				\
+	void *_swap_b_ptr = &(b);				\
+	unsigned char _swap_buffer[sizeof(a)];			\
+	memcpy(_swap_buffer, _swap_a_ptr, sizeof(a));		\
+	memcpy(_swap_a_ptr, _swap_b_ptr, sizeof(a) +		\
+	       BUILD_ASSERT_OR_ZERO(sizeof(a) == sizeof(b)));	\
+	memcpy(_swap_b_ptr, _swap_buffer, sizeof(a));		\
+} while (0)
+
 #if defined(NO_MMAP) || defined(USE_WIN32_MMAP)
 
 #ifndef PROT_READ
@@ -629,11 +639,6 @@
 extern char *gitmkdtemp(char *);
 #endif
 
-#ifdef NO_MKSTEMPS
-#define mkstemps gitmkstemps
-extern int gitmkstemps(char *, int);
-#endif
-
 #ifdef NO_UNSETENV
 #define unsetenv gitunsetenv
 extern void gitunsetenv(const char *);
@@ -793,8 +798,6 @@
 extern FILE *xfdopen(int fd, const char *mode);
 extern int xmkstemp(char *template);
 extern int xmkstemp_mode(char *template, int mode);
-extern int odb_mkstemp(char *template, size_t limit, const char *pattern);
-extern int odb_pack_keep(char *name, size_t namesz, const unsigned char *sha1);
 extern char *xgetcwd(void);
 extern FILE *fopen_for_writing(const char *path);
 
@@ -988,6 +991,17 @@
 		qsort(base, nmemb, size, compar);
 }
 
+#ifndef HAVE_ISO_QSORT_S
+int git_qsort_s(void *base, size_t nmemb, size_t size,
+		int (*compar)(const void *, const void *, void *), void *ctx);
+#define qsort_s git_qsort_s
+#endif
+
+#define QSORT_S(base, n, compar, ctx) do {			\
+	if (qsort_s((base), (n), sizeof(*(base)), compar, ctx))	\
+		die("BUG: qsort_s() failed");			\
+} while (0)
+
 #ifndef REG_STARTEND
 #error "Git requires REG_STARTEND support. Compile with NO_REGEX=NeedsStartEnd"
 #endif
diff --git a/git-filter-branch.sh b/git-filter-branch.sh
index 86b2ff1..2b8cdba 100755
--- a/git-filter-branch.sh
+++ b/git-filter-branch.sh
@@ -46,6 +46,8 @@
 {
 	if test $# = 3 && test "$1" = $(git rev-parse "$3^{tree}"); then
 		map "$3"
+	elif test $# = 1 && test "$1" = 4b825dc642cb6eb9a060e54bf8d69288fbee4904; then
+		:
 	else
 		git commit-tree "$@"
 	fi
diff --git a/git-mergetool.sh b/git-mergetool.sh
index e52b4e4..c062e3d 100755
--- a/git-mergetool.sh
+++ b/git-mergetool.sh
@@ -421,7 +421,7 @@
 			prompt=true
 			;;
 		-O*)
-			orderfile="$1"
+			orderfile="${1#-O}"
 			;;
 		--)
 			shift
@@ -454,6 +454,17 @@
 	merge_keep_backup="$(git config --bool mergetool.keepBackup || echo true)"
 	merge_keep_temporaries="$(git config --bool mergetool.keepTemporaries || echo false)"
 
+	prefix=$(git rev-parse --show-prefix) || exit 1
+	cd_to_toplevel
+
+	if test -n "$orderfile"
+	then
+		orderfile=$(
+			git rev-parse --prefix "$prefix" -- "$orderfile" |
+			sed -e 1d
+		)
+	fi
+
 	if test $# -eq 0 && test -e "$GIT_DIR/MERGE_RR"
 	then
 		set -- $(git rerere remaining)
@@ -461,13 +472,15 @@
 		then
 			print_noop_and_exit
 		fi
+	elif test $# -ge 0
+	then
+		# rev-parse provides the -- needed for 'set'
+		eval "set $(git rev-parse --sq --prefix "$prefix" -- "$@")"
 	fi
 
 	files=$(git -c core.quotePath=false \
 		diff --name-only --diff-filter=U \
-		${orderfile:+"$orderfile"} -- "$@")
-
-	cd_to_toplevel
+		${orderfile:+"-O$orderfile"} -- "$@")
 
 	if test -z "$files"
 	then
diff --git a/git-p4.py b/git-p4.py
index f427bf6..8d151da 100755
--- a/git-p4.py
+++ b/git-p4.py
@@ -79,6 +79,13 @@
     if len(client) > 0:
         real_cmd += ["-c", client]
 
+    retries = gitConfigInt("git-p4.retries")
+    if retries is None:
+        # Perform 3 retries by default
+        retries = 3
+    if retries > 0:
+        # Provide a way to not pass this option by setting git-p4.retries to 0
+        real_cmd += ["-r", str(retries)]
 
     if isinstance(cmd,basestring):
         real_cmd = ' '.join(real_cmd) + ' ' + cmd
@@ -86,6 +93,16 @@
         real_cmd += cmd
     return real_cmd
 
+def git_dir(path):
+    """ Return TRUE if the given path is a git directory (/path/to/dir/.git).
+        This won't automatically add ".git" to a directory.
+    """
+    d = read_pipe(["git", "--git-dir", path, "rev-parse", "--git-dir"], True).strip()
+    if not d or len(d) == 0:
+        return None
+    else:
+        return d
+
 def chdir(path, is_client_path=False):
     """Do chdir to the given path, and set the PWD environment
        variable for use by P4.  It does not look at getcwd() output.
@@ -143,17 +160,42 @@
     real_cmd = p4_build_cmd(c)
     return write_pipe(real_cmd, stdin)
 
-def read_pipe(c, ignore_error=False):
+def read_pipe_full(c):
+    """ Read output from  command. Returns a tuple
+        of the return status, stdout text and stderr
+        text.
+    """
     if verbose:
         sys.stderr.write('Reading pipe: %s\n' % str(c))
 
     expand = isinstance(c,basestring)
     p = subprocess.Popen(c, stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=expand)
     (out, err) = p.communicate()
-    if p.returncode != 0 and not ignore_error:
-        die('Command failed: %s\nError: %s' % (str(c), err))
+    return (p.returncode, out, err)
+
+def read_pipe(c, ignore_error=False):
+    """ Read output from  command. Returns the output text on
+        success. On failure, terminates execution, unless
+        ignore_error is True, when it returns an empty string.
+    """
+    (retcode, out, err) = read_pipe_full(c)
+    if retcode != 0:
+        if ignore_error:
+            out = ""
+        else:
+            die('Command failed: %s\nError: %s' % (str(c), err))
     return out
 
+def read_pipe_text(c):
+    """ Read output from a command with trailing whitespace stripped.
+        On error, returns None.
+    """
+    (retcode, out, err) = read_pipe_full(c)
+    if retcode != 0:
+        return None
+    else:
+        return out.rstrip()
+
 def p4_read_pipe(c, ignore_error=False):
     real_cmd = p4_build_cmd(c)
     return read_pipe(real_cmd, ignore_error)
@@ -263,6 +305,10 @@
 def p4_reopen(type, f):
     p4_system(["reopen", "-t", type, wildcard_encode(f)])
 
+def p4_reopen_in_change(changelist, files):
+    cmd = ["reopen", "-c", str(changelist)] + files
+    p4_system(cmd)
+
 def p4_move(src, dest):
     p4_system(["move", "-k", wildcard_encode(src), wildcard_encode(dest)])
 
@@ -556,18 +602,10 @@
     return clientPath
 
 def currentGitBranch():
-    retcode = system(["git", "symbolic-ref", "-q", "HEAD"], ignore_error=True)
-    if retcode != 0:
-        # on a detached head
-        return None
-    else:
-        return read_pipe(["git", "name-rev", "HEAD"]).split(" ")[1].strip()
+    return read_pipe_text(["git", "symbolic-ref", "--short", "-q", "HEAD"])
 
 def isValidGitDir(path):
-    if (os.path.exists(path + "/HEAD")
-        and os.path.exists(path + "/refs") and os.path.exists(path + "/objects")):
-        return True;
-    return False
+    return git_dir(path) != None
 
 def parseRevision(ref):
     return read_pipe("git rev-parse %s" % ref).strip()
@@ -656,7 +694,7 @@
 def gitConfigList(key):
     if not _gitConfig.has_key(key):
         s = read_pipe(["git", "config", "--get-all", key], ignore_error=True)
-        _gitConfig[key] = s.strip().split(os.linesep)
+        _gitConfig[key] = s.strip().splitlines()
         if _gitConfig[key] == ['']:
             _gitConfig[key] = []
     return _gitConfig[key]
@@ -1104,10 +1142,10 @@
                 '# Git LFS (see https://git-lfs.github.com/)\n',
                 '#\n',
             ] +
-            ['*.' + f.replace(' ', '[[:space:]]') + ' filter=lfs -text\n'
+            ['*.' + f.replace(' ', '[[:space:]]') + ' filter=lfs diff=lfs merge=lfs -text\n'
                 for f in sorted(gitConfigList('git-p4.largeFileExtensions'))
             ] +
-            ['/' + f.replace(' ', '[[:space:]]') + ' filter=lfs -text\n'
+            ['/' + f.replace(' ', '[[:space:]]') + ' filter=lfs diff=lfs merge=lfs -text\n'
                 for f in sorted(self.largeFiles) if not self.hasLargeFileExtension(f)
             ]
         )
@@ -1295,6 +1333,12 @@
                 optparse.make_option("--conflict", dest="conflict_behavior",
                                      choices=self.conflict_behavior_choices),
                 optparse.make_option("--branch", dest="branch"),
+                optparse.make_option("--shelve", dest="shelve", action="store_true",
+                                     help="Shelve instead of submit. Shelved files are reverted, "
+                                     "restoring the workspace to the state before the shelve"),
+                optparse.make_option("--update-shelve", dest="update_shelve", action="store", type="int",
+                                     metavar="CHANGELIST",
+                                     help="update an existing shelved changelist, implies --shelve")
         ]
         self.description = "Submit changes from git to the perforce depot."
         self.usage += " [name of git branch to submit into perforce depot]"
@@ -1302,6 +1346,8 @@
         self.detectRenames = False
         self.preserveUser = gitConfigBool("git-p4.preserveUser")
         self.dry_run = False
+        self.shelve = False
+        self.update_shelve = None
         self.prepare_p4_only = False
         self.conflict_behavior = None
         self.isWindows = (platform.system() == "Windows")
@@ -1470,7 +1516,7 @@
                     return 1
         return 0
 
-    def prepareSubmitTemplate(self):
+    def prepareSubmitTemplate(self, changelist=None):
         """Run "p4 change -o" to grab a change specification template.
            This does not use "p4 -G", as it is nice to keep the submission
            template in original order, since a human might edit it.
@@ -1482,7 +1528,11 @@
 
         template = ""
         inFilesSection = False
-        for line in p4_read_pipe_lines(['change', '-o']):
+        args = ['change', '-o']
+        if changelist:
+            args.append(str(changelist))
+
+        for line in p4_read_pipe_lines(args):
             if line.endswith("\r\n"):
                 line = line[:-2] + "\n"
             if inFilesSection:
@@ -1589,11 +1639,14 @@
         pureRenameCopy = set()
         symlinks = set()
         filesToChangeExecBit = {}
+        all_files = list()
 
         for line in diff:
             diff = parseDiffTreeEntry(line)
             modifier = diff['status']
             path = diff['src']
+            all_files.append(path)
+
             if modifier == "M":
                 p4_edit(path)
                 if isModeExecChanged(diff['src_mode'], diff['dst_mode']):
@@ -1724,6 +1777,10 @@
             mode = filesToChangeExecBit[f]
             setP4ExecBit(f, mode)
 
+        if self.update_shelve:
+            print("all_files = %s" % str(all_files))
+            p4_reopen_in_change(self.update_shelve, all_files)
+
         #
         # Build p4 change description, starting with the contents
         # of the git commit message.
@@ -1732,7 +1789,7 @@
         logMessage = logMessage.strip()
         (logMessage, jobs) = self.separate_jobs_from_description(logMessage)
 
-        template = self.prepareSubmitTemplate()
+        template = self.prepareSubmitTemplate(self.update_shelve)
         submitTemplate = self.prepareLogMessage(template, logMessage, jobs)
 
         if self.preserveUser:
@@ -1804,7 +1861,17 @@
                 if self.isWindows:
                     message = message.replace("\r\n", "\n")
                 submitTemplate = message[:message.index(separatorLine)]
-                p4_write_pipe(['submit', '-i'], submitTemplate)
+
+                if self.update_shelve:
+                    p4_write_pipe(['shelve', '-r', '-i'], submitTemplate)
+                elif self.shelve:
+                    p4_write_pipe(['shelve', '-i'], submitTemplate)
+                else:
+                    p4_write_pipe(['submit', '-i'], submitTemplate)
+                    # The rename/copy happened by applying a patch that created a
+                    # new file.  This leaves it writable, which confuses p4.
+                    for f in pureRenameCopy:
+                        p4_sync(f, "-f")
 
                 if self.preserveUser:
                     if p4User:
@@ -1814,23 +1881,20 @@
                         changelist = self.lastP4Changelist()
                         self.modifyChangelistUser(changelist, p4User)
 
-                # The rename/copy happened by applying a patch that created a
-                # new file.  This leaves it writable, which confuses p4.
-                for f in pureRenameCopy:
-                    p4_sync(f, "-f")
                 submitted = True
 
         finally:
             # skip this patch
-            if not submitted:
-                print "Submission cancelled, undoing p4 changes."
-                for f in editedFiles:
+            if not submitted or self.shelve:
+                if self.shelve:
+                    print ("Reverting shelved files.")
+                else:
+                    print ("Submission cancelled, undoing p4 changes.")
+                for f in editedFiles | filesToDelete:
                     p4_revert(f)
                 for f in filesToAdd:
                     p4_revert(f)
                     os.remove(f)
-                for f in filesToDelete:
-                    p4_revert(f)
 
         os.remove(fileName)
         return submitted
@@ -1926,6 +1990,9 @@
         if len(self.origin) == 0:
             self.origin = upstream
 
+        if self.update_shelve:
+            self.shelve = True
+
         if self.preserveUser:
             if not self.canChangeChangelists():
                 die("Cannot preserve user names without p4 super-user or admin permissions")
@@ -2086,13 +2153,13 @@
                         break
 
         chdir(self.oldWorkingDirectory)
-
+        shelved_applied = "shelved" if self.shelve else "applied"
         if self.dry_run:
             pass
         elif self.prepare_p4_only:
             pass
         elif len(commits) == len(applied):
-            print "All commits applied!"
+            print ("All commits {0}!".format(shelved_applied))
 
             sync = P4Sync()
             if self.branch:
@@ -2104,9 +2171,9 @@
 
         else:
             if len(applied) == 0:
-                print "No commits applied."
+                print ("No commits {0}.".format(shelved_applied))
             else:
-                print "Applied only the commits marked with '*':"
+                print ("{0} only the commits marked with '*':".format(shelved_applied.capitalize()))
                 for c in commits:
                     if c in applied:
                         star = "*"
@@ -2437,11 +2504,24 @@
             self.gitStream.write(d)
         self.gitStream.write('\n')
 
+    def encodeWithUTF8(self, path):
+        try:
+            path.decode('ascii')
+        except:
+            encoding = 'utf8'
+            if gitConfig('git-p4.pathEncoding'):
+                encoding = gitConfig('git-p4.pathEncoding')
+            path = path.decode(encoding, 'replace').encode('utf8', 'replace')
+            if self.verbose:
+                print 'Path with non-ASCII characters detected. Used %s to encode: %s ' % (encoding, path)
+        return path
+
     # output one file from the P4 stream
     # - helper for streamP4Files
 
     def streamOneP4File(self, file, contents):
         relPath = self.stripRepoPath(file['depotFile'], self.branchPrefixes)
+        relPath = self.encodeWithUTF8(relPath)
         if verbose:
             size = int(self.stream_file['fileSize'])
             sys.stdout.write('\r%s --> %s (%i MB)\n' % (file['depotFile'], relPath, size/1024/1024))
@@ -2514,16 +2594,6 @@
             text = regexp.sub(r'$\1$', text)
             contents = [ text ]
 
-        try:
-            relPath.decode('ascii')
-        except:
-            encoding = 'utf8'
-            if gitConfig('git-p4.pathEncoding'):
-                encoding = gitConfig('git-p4.pathEncoding')
-            relPath = relPath.decode(encoding, 'replace').encode('utf8', 'replace')
-            if self.verbose:
-                print 'Path with non-ASCII characters detected. Used %s to encode: %s ' % (encoding, relPath)
-
         if self.largeFileSystem:
             (git_mode, contents) = self.largeFileSystem.processContent(git_mode, relPath, contents)
 
@@ -2531,6 +2601,7 @@
 
     def streamOneP4Deletion(self, file):
         relPath = self.stripRepoPath(file['path'], self.branchPrefixes)
+        relPath = self.encodeWithUTF8(relPath)
         if verbose:
             sys.stdout.write("delete %s\n" % relPath)
             sys.stdout.flush()
@@ -3701,6 +3772,7 @@
         if cmd.gitdir == None:
             cmd.gitdir = os.path.abspath(".git")
             if not isValidGitDir(cmd.gitdir):
+                # "rev-parse --git-dir" without arguments will try $PWD/.git
                 cmd.gitdir = read_pipe("git rev-parse --git-dir").strip()
                 if os.path.exists(cmd.gitdir):
                     cdup = read_pipe("git rev-parse --show-cdup").strip()
@@ -3713,6 +3785,7 @@
             else:
                 die("fatal: cannot locate git repository at %s" % cmd.gitdir)
 
+        # so git commands invoked from the P4 workspace will succeed
         os.environ["GIT_DIR"] = cmd.gitdir
 
     if not cmd.run(args):
diff --git a/git-rebase--interactive.sh b/git-rebase--interactive.sh
index f5f58c4..2c9c016 100644
--- a/git-rebase--interactive.sh
+++ b/git-rebase--interactive.sh
@@ -437,7 +437,8 @@
 			}' <"$squash_msg".bak
 		} >"$squash_msg"
 	else
-		commit_message HEAD > "$fixup_msg" || die "$(gettext "Cannot write \$fixup_msg")"
+		commit_message HEAD >"$fixup_msg" ||
+		die "$(eval_gettext "Cannot write \$fixup_msg")"
 		count=2
 		{
 			printf '%s\n' "$comment_char $(gettext "This is a combination of 2 commits.")"
@@ -1068,6 +1069,10 @@
 
 case "$action" in
 continue)
+	if test ! -d "$rewritten"
+	then
+		exec git rebase--helper ${force_rebase:+--no-ff} --continue
+	fi
 	# do we have anything to commit?
 	if git diff-index --cached --quiet HEAD --
 	then
@@ -1127,6 +1132,10 @@
 skip)
 	git rerere clear
 
+	if test ! -d "$rewritten"
+	then
+		exec git rebase--helper ${force_rebase:+--no-ff} --continue
+	fi
 	do_rest
 	return 0
 	;;
@@ -1313,6 +1322,11 @@
 test -d "$rewritten" || test -n "$force_rebase" || skip_unnecessary_picks
 
 checkout_onto
+if test -z "$rebase_root" && test ! -d "$rewritten"
+then
+	require_clean_work_tree "rebase"
+	exec git rebase--helper ${force_rebase:+--no-ff} --continue
+fi
 do_rest
 
 }
diff --git a/git-rebase.sh b/git-rebase.sh
index 04f6e44..48d7c5d 100755
--- a/git-rebase.sh
+++ b/git-rebase.sh
@@ -43,6 +43,7 @@
 abort!             abort and check out the original branch
 skip!              skip current patch and continue
 edit-todo!         edit the todo list during an interactive rebase
+quit!              abort but keep HEAD where it is
 "
 . git-sh-setup
 set_reflog_action rebase
@@ -241,7 +242,7 @@
 	--verify)
 		ok_to_skip_pre_rebase=
 		;;
-	--continue|--skip|--abort|--edit-todo)
+	--continue|--skip|--abort|--quit|--edit-todo)
 		test $total_argc -eq 2 || usage
 		action=${1##--}
 		;;
@@ -399,6 +400,9 @@
 	finish_rebase
 	exit
 	;;
+quit)
+	exec rm -rf "$state_dir"
+	;;
 edit-todo)
 	run_specific_rebase
 	;;
diff --git a/git-relink.perl b/git-relink.perl
deleted file mode 100755
index 236a352..0000000
--- a/git-relink.perl
+++ /dev/null
@@ -1,173 +0,0 @@
-#!/usr/bin/perl
-# Copyright 2005, Ryan Anderson <ryan@michonline.com>
-# Distribution permitted under the GPL v2, as distributed
-# by the Free Software Foundation.
-# Later versions of the GPL at the discretion of Linus Torvalds
-#
-# Scan two git object-trees, and hardlink any common objects between them.
-
-use 5.008;
-use strict;
-use warnings;
-use Getopt::Long;
-
-sub get_canonical_form($);
-sub do_scan_directory($$$);
-sub compare_two_files($$);
-sub usage();
-sub link_two_files($$);
-
-# stats
-my $total_linked = 0;
-my $total_already = 0;
-my ($linked,$already);
-
-my $fail_on_different_sizes = 0;
-my $help = 0;
-GetOptions("safe" => \$fail_on_different_sizes,
-	   "help" => \$help);
-
-usage() if $help;
-
-my (@dirs) = @ARGV;
-
-usage() if (!defined $dirs[0] || !defined $dirs[1]);
-
-$_ = get_canonical_form($_) foreach (@dirs);
-
-my $master_dir = pop @dirs;
-
-opendir(D,$master_dir . "objects/")
-	or die "Failed to open $master_dir/objects/ : $!";
-
-my @hashdirs = grep { ($_ eq 'pack') || /^[0-9a-f]{2}$/ } readdir(D);
-
-foreach my $repo (@dirs) {
-	$linked = 0;
-	$already = 0;
-	printf("Searching '%s' and '%s' for common objects and hardlinking them...\n",
-		$master_dir,$repo);
-
-	foreach my $hashdir (@hashdirs) {
-		do_scan_directory($master_dir, $hashdir, $repo);
-	}
-
-	printf("Linked %d files, %d were already linked.\n",$linked, $already);
-
-	$total_linked += $linked;
-	$total_already += $already;
-}
-
-printf("Totals: Linked %d files, %d were already linked.\n",
-	$total_linked, $total_already);
-
-
-sub do_scan_directory($$$) {
-	my ($srcdir, $subdir, $dstdir) = @_;
-
-	my $sfulldir = sprintf("%sobjects/%s/",$srcdir,$subdir);
-	my $dfulldir = sprintf("%sobjects/%s/",$dstdir,$subdir);
-
-	opendir(S,$sfulldir)
-		or die "Failed to opendir $sfulldir: $!";
-
-	foreach my $file (grep(!/\.{1,2}$/, readdir(S))) {
-		my $sfilename = $sfulldir . $file;
-		my $dfilename = $dfulldir . $file;
-
-		compare_two_files($sfilename,$dfilename);
-
-	}
-	closedir(S);
-}
-
-sub compare_two_files($$) {
-	my ($sfilename, $dfilename) = @_;
-
-	# Perl's stat returns relevant information as follows:
-	# 0 = dev number
-	# 1 = inode number
-	# 7 = size
-	my @sstatinfo = stat($sfilename);
-	my @dstatinfo = stat($dfilename);
-
-	if (@sstatinfo == 0 && @dstatinfo == 0) {
-		die sprintf("Stat of both %s and %s failed: %s\n",$sfilename, $dfilename, $!);
-
-	} elsif (@dstatinfo == 0) {
-		return;
-	}
-
-	if ( ($sstatinfo[0] == $dstatinfo[0]) &&
-	     ($sstatinfo[1] != $dstatinfo[1])) {
-		if ($sstatinfo[7] == $dstatinfo[7]) {
-			link_two_files($sfilename, $dfilename);
-
-		} else {
-			my $err = sprintf("ERROR: File sizes are not the same, cannot relink %s to %s.\n",
-				$sfilename, $dfilename);
-			if ($fail_on_different_sizes) {
-				die $err;
-			} else {
-				warn $err;
-			}
-		}
-
-	} elsif ( ($sstatinfo[0] == $dstatinfo[0]) &&
-	     ($sstatinfo[1] == $dstatinfo[1])) {
-		$already++;
-	}
-}
-
-sub get_canonical_form($) {
-	my $dir = shift;
-	my $original = $dir;
-
-	die "$dir is not a directory." unless -d $dir;
-
-	$dir .= "/" unless $dir =~ m#/$#;
-	$dir .= ".git/" unless $dir =~ m#\.git/$#;
-
-	die "$original does not have a .git/ subdirectory.\n" unless -d $dir;
-
-	return $dir;
-}
-
-sub link_two_files($$) {
-	my ($sfilename, $dfilename) = @_;
-	my $tmpdname = sprintf("%s.old",$dfilename);
-	rename($dfilename,$tmpdname)
-		or die sprintf("Failure renaming %s to %s: %s",
-			$dfilename, $tmpdname, $!);
-
-	if (! link($sfilename,$dfilename)) {
-		my $failtxt = "";
-		unless (rename($tmpdname,$dfilename)) {
-			$failtxt = sprintf(
-				"Git Repository containing %s is probably corrupted, " .
-				"please copy '%s' to '%s' to fix.\n",
-				$tmpdname, $dfilename);
-		}
-
-		die sprintf("Failed to link %s to %s: %s\n%s" .
-			$sfilename, $dfilename,
-			$!, $dfilename, $failtxt);
-	}
-
-	unlink($tmpdname)
-		or die sprintf("Unlink of %s failed: %s\n",
-			$dfilename, $!);
-
-	$linked++;
-}
-
-
-sub usage() {
-	print("usage: git relink [--safe] <dir>... <master_dir> \n");
-	print("All directories should contain a .git/objects/ subdirectory.\n");
-	print("Options\n");
-	print("\t--safe\t" .
-		"Stops if two objects with the same hash exist but " .
-		"have different sizes.  Default is to warn and continue.\n");
-	exit(1);
-}
diff --git a/git-send-email.perl b/git-send-email.perl
index da81be4..eea0a51 100755
--- a/git-send-email.perl
+++ b/git-send-email.perl
@@ -28,6 +28,7 @@
 use File::Spec::Functions qw(catfile);
 use Error qw(:try);
 use Git;
+use Git::I18N;
 
 Getopt::Long::Configure qw/ pass_through /;
 
@@ -117,20 +118,20 @@
 	my $localmin = $localtm[1] + $localtm[2] * 60;
 	my $gmtmin = $gmttm[1] + $gmttm[2] * 60;
 	if ($localtm[0] != $gmttm[0]) {
-		die "local zone differs from GMT by a non-minute interval\n";
+		die __("local zone differs from GMT by a non-minute interval\n");
 	}
 	if ((($gmttm[6] + 1) % 7) == $localtm[6]) {
 		$localmin += 1440;
 	} elsif ((($gmttm[6] - 1) % 7) == $localtm[6]) {
 		$localmin -= 1440;
 	} elsif ($gmttm[6] != $localtm[6]) {
-		die "local time offset greater than or equal to 24 hours\n";
+		die __("local time offset greater than or equal to 24 hours\n");
 	}
 	my $offset = $localmin - $gmtmin;
 	my $offhour = $offset / 60;
 	my $offmin = abs($offset % 60);
 	if (abs($offhour) >= 24) {
-		die ("local time offset greater than or equal to 24 hours\n");
+		die __("local time offset greater than or equal to 24 hours\n");
 	}
 
 	return sprintf("%s, %2d %s %d %02d:%02d:%02d %s%02d%02d",
@@ -198,13 +199,13 @@
 		map {
 			system('sh', '-c', $editor.' "$@"', $editor, $_);
 			if (($? & 127) || ($? >> 8)) {
-				die("the editor exited uncleanly, aborting everything");
+				die(__("the editor exited uncleanly, aborting everything"));
 			}
 		} @_;
 	} else {
 		system('sh', '-c', $editor.' "$@"', $editor, @_);
 		if (($? & 127) || ($? >> 8)) {
-			die("the editor exited uncleanly, aborting everything");
+			die(__("the editor exited uncleanly, aborting everything"));
 		}
 	}
 }
@@ -278,10 +279,13 @@
 	# tmp files from --compose
 	if (defined $compose_filename) {
 		if (-e $compose_filename) {
-			print "'$compose_filename' contains an intermediate version of the email you were composing.\n";
+			printf __("'%s' contains an intermediate version ".
+				  "of the email you were composing.\n"),
+				  $compose_filename;
 		}
 		if (-e ($compose_filename . ".final")) {
-			print "'$compose_filename.final' contains the composed email.\n"
+			printf __("'%s.final' contains the composed email.\n"),
+				  $compose_filename;
 		}
 	}
 
@@ -298,7 +302,7 @@
 my $rc = GetOptions("h" => \$help,
                     "dump-aliases" => \$dump_aliases);
 usage() unless $rc;
-die "--dump-aliases incompatible with other options\n"
+die __("--dump-aliases incompatible with other options\n")
     if !$help and $dump_aliases and @ARGV;
 $rc = GetOptions(
 		    "sender|from=s" => \$sender,
@@ -361,7 +365,7 @@
     usage();
 }
 
-die "Cannot run git format-patch from outside a repository\n"
+die __("Cannot run git format-patch from outside a repository\n")
 	if $format_patch and not $repo;
 
 # Now, let's fill any that aren't set in with defaults:
@@ -430,7 +434,7 @@
 my(%suppress_cc);
 if (@suppress_cc) {
 	foreach my $entry (@suppress_cc) {
-		die "Unknown --suppress-cc field: '$entry'\n"
+		die sprintf(__("Unknown --suppress-cc field: '%s'\n"), $entry)
 			unless $entry =~ /^(?:all|cccmd|cc|author|self|sob|body|bodycc)$/;
 		$suppress_cc{$entry} = 1;
 	}
@@ -459,7 +463,7 @@
 if ($confirm_unconfigured) {
 	$confirm = scalar %suppress_cc ? 'compose' : 'auto';
 };
-die "Unknown --confirm setting: '$confirm'\n"
+die sprintf(__("Unknown --confirm setting: '%s'\n"), $confirm)
 	unless $confirm =~ /^(?:auto|cc|compose|always|never)/;
 
 # Debugging, print out the suppressions.
@@ -491,16 +495,16 @@
 sub parse_sendmail_alias {
 	local $_ = shift;
 	if (/"/) {
-		print STDERR "warning: sendmail alias with quotes is not supported: $_\n";
+		printf STDERR __("warning: sendmail alias with quotes is not supported: %s\n"), $_;
 	} elsif (/:include:/) {
-		print STDERR "warning: `:include:` not supported: $_\n";
+		printf STDERR __("warning: `:include:` not supported: %s\n"), $_;
 	} elsif (/[\/|]/) {
-		print STDERR "warning: `/file` or `|pipe` redirection not supported: $_\n";
+		printf STDERR __("warning: `/file` or `|pipe` redirection not supported: %s\n"), $_;
 	} elsif (/^(\S+?)\s*:\s*(.+)$/) {
 		my ($alias, $addr) = ($1, $2);
 		$aliases{$alias} = [ split_addrs($addr) ];
 	} else {
-		print STDERR "warning: sendmail line is not recognized: $_\n";
+		printf STDERR __("warning: sendmail line is not recognized: %s\n"), $_;
 	}
 }
 
@@ -581,11 +585,11 @@
 		if (defined($format_patch)) {
 			return $format_patch;
 		}
-		die(<<EOF);
-File '$f' exists but it could also be the range of commits
+		die sprintf(__ <<EOF, $f, $f);
+File '%s' exists but it could also be the range of commits
 to produce patches for.  Please disambiguate by...
 
-    * Saying "./$f" if you mean a file; or
+    * Saying "./%s" if you mean a file; or
     * Giving --format-patch option if you mean a range.
 EOF
 	} catch Git::Error::Command with {
@@ -603,7 +607,7 @@
 		@ARGV = ();
 	} elsif (-d $f and !is_format_patch_arg($f)) {
 		opendir my $dh, $f
-			or die "Failed to opendir $f: $!";
+			or die sprintf(__("Failed to opendir %s: %s"), $f, $!);
 
 		push @files, grep { -f $_ } map { catfile($f, $_) }
 				sort readdir $dh;
@@ -616,7 +620,7 @@
 }
 
 if (@rev_list_opts) {
-	die "Cannot run git format-patch from outside a repository\n"
+	die __("Cannot run git format-patch from outside a repository\n")
 		unless $repo;
 	push @files, $repo->command('format-patch', '-o', tempdir(CLEANUP => 1), @rev_list_opts);
 }
@@ -627,7 +631,8 @@
 	foreach my $f (@files) {
 		unless (-p $f) {
 			my $error = validate_patch($f);
-			$error and die "fatal: $f: $error\nwarning: no patches were sent\n";
+			$error and die sprintf(__("fatal: %s: %s\nwarning: no patches were sent\n"),
+						  $f, $error);
 		}
 	}
 }
@@ -637,7 +642,7 @@
 		print $_,"\n" for (@files);
 	}
 } else {
-	print STDERR "\nNo patch files specified!\n\n";
+	print STDERR __("\nNo patch files specified!\n\n");
 	usage();
 }
 
@@ -650,7 +655,7 @@
 		return "GIT: $1\n";
 	}
 	close $fh;
-	die "No subject line in $fn ?";
+	die sprintf(__("No subject line in %s?"), $fn);
 }
 
 if ($compose) {
@@ -660,25 +665,27 @@
 		tempfile(".gitsendemail.msg.XXXXXX", DIR => $repo->repo_path()) :
 		tempfile(".gitsendemail.msg.XXXXXX", DIR => "."))[1];
 	open my $c, ">", $compose_filename
-		or die "Failed to open for writing $compose_filename: $!";
+		or die sprintf(__("Failed to open for writing %s: %s"), $compose_filename, $!);
 
 
 	my $tpl_sender = $sender || $repoauthor || $repocommitter || '';
 	my $tpl_subject = $initial_subject || '';
 	my $tpl_reply_to = $initial_reply_to || '';
 
-	print $c <<EOT;
+	print $c <<EOT1, Git::prefix_lines("GIT: ", __ <<EOT2), <<EOT3;
 From $tpl_sender # This line is ignored.
-GIT: Lines beginning in "GIT:" will be removed.
-GIT: Consider including an overall diffstat or table of contents
-GIT: for the patch you are writing.
-GIT:
-GIT: Clear the body content if you don't wish to send a summary.
+EOT1
+Lines beginning in "GIT:" will be removed.
+Consider including an overall diffstat or table of contents
+for the patch you are writing.
+
+Clear the body content if you don't wish to send a summary.
+EOT2
 From: $tpl_sender
 Subject: $tpl_subject
 In-Reply-To: $tpl_reply_to
 
-EOT
+EOT3
 	for my $f (@files) {
 		print $c get_patch_subject($f);
 	}
@@ -691,10 +698,10 @@
 	}
 
 	open my $c2, ">", $compose_filename . ".final"
-		or die "Failed to open $compose_filename.final : " . $!;
+		or die sprintf(__("Failed to open %s.final: %s"), $compose_filename, $!);
 
 	open $c, "<", $compose_filename
-		or die "Failed to open $compose_filename : " . $!;
+		or die sprintf(__("Failed to open %s: %s"), $compose_filename, $!);
 
 	my $need_8bit_cte = file_has_nonascii($compose_filename);
 	my $in_body = 0;
@@ -729,7 +736,7 @@
 			$sender = $1;
 			next;
 		} elsif (/^(?:To|Cc|Bcc):/i) {
-			print "To/Cc/Bcc fields are not interpreted yet, they have been ignored\n";
+			print __("To/Cc/Bcc fields are not interpreted yet, they have been ignored\n");
 			next;
 		}
 		print $c2 $_;
@@ -738,7 +745,7 @@
 	close $c2;
 
 	if ($summary_empty) {
-		print "Summary email is empty, skipping it\n";
+		print __("Summary email is empty, skipping it\n");
 		$compose = -1;
 	}
 } elsif ($annotate) {
@@ -768,7 +775,9 @@
 			return $resp;
 		}
 		if ($confirm_only) {
-			my $yesno = $term->readline("Are you sure you want to use <$resp> [y/N]? ");
+			my $yesno = $term->readline(
+				# TRANSLATORS: please keep [y/N] as is.
+				sprintf(__("Are you sure you want to use <%s> [y/N]? "), $resp));
 			if (defined $yesno && $yesno =~ /y/i) {
 				return $resp;
 			}
@@ -797,12 +806,12 @@
 }
 
 if (!defined $auto_8bit_encoding && scalar %broken_encoding) {
-	print "The following files are 8bit, but do not declare " .
-		"a Content-Transfer-Encoding.\n";
+	print __("The following files are 8bit, but do not declare " .
+		 "a Content-Transfer-Encoding.\n");
 	foreach my $f (sort keys %broken_encoding) {
 		print "    $f\n";
 	}
-	$auto_8bit_encoding = ask("Which 8bit encoding should I declare [UTF-8]? ",
+	$auto_8bit_encoding = ask(__("Which 8bit encoding should I declare [UTF-8]? "),
 				  valid_re => qr/.{4}/, confirm_only => 1,
 				  default => "UTF-8");
 }
@@ -810,9 +819,9 @@
 if (!$force) {
 	for my $f (@files) {
 		if (get_patch_subject($f) =~ /\Q*** SUBJECT HERE ***\E/) {
-			die "Refusing to send because the patch\n\t$f\n"
+			die sprintf(__("Refusing to send because the patch\n\t%s\n"
 				. "has the template subject '*** SUBJECT HERE ***'. "
-				. "Pass --force if you really want to send.\n";
+				. "Pass --force if you really want to send.\n"), $f);
 		}
 	}
 }
@@ -829,7 +838,7 @@
 # But it's a no-op to run sanitize_address on an already sanitized address.
 $sender = sanitize_address($sender);
 
-my $to_whom = "To whom should the emails be sent (if anyone)?";
+my $to_whom = __("To whom should the emails be sent (if anyone)?");
 my $prompting = 0;
 if (!@initial_to && !defined $to_cmd) {
 	my $to = ask("$to_whom ",
@@ -847,7 +856,7 @@
 sub expand_one_alias {
 	my $alias = shift;
 	if ($EXPANDED_ALIASES{$alias}) {
-		die "fatal: alias '$alias' expands to itself\n";
+		die sprintf(__("fatal: alias '%s' expands to itself\n"), $alias);
 	}
 	local $EXPANDED_ALIASES{$alias} = 1;
 	return $aliases{$alias} ? expand_aliases(@{$aliases{$alias}}) : $alias;
@@ -859,7 +868,7 @@
 
 if ($thread && !defined $initial_reply_to && $prompting) {
 	$initial_reply_to = ask(
-		"Message-ID to be used as In-Reply-To for the first email (if any)? ",
+		__("Message-ID to be used as In-Reply-To for the first email (if any)? "),
 		default => "",
 		valid_re => qr/\@.*\./, confirm_only => 1);
 }
@@ -909,7 +918,7 @@
 sub extract_valid_address_or_die {
 	my $address = shift;
 	$address = extract_valid_address($address);
-	die "error: unable to extract a valid address from: $address\n"
+	die sprintf(__("error: unable to extract a valid address from: %s\n"), $address)
 		if !$address;
 	return $address;
 }
@@ -917,8 +926,11 @@
 sub validate_address {
 	my $address = shift;
 	while (!extract_valid_address($address)) {
-		print STDERR "error: unable to extract a valid address from: $address\n";
-		$_ = ask("What to do with this address? ([q]uit|[d]rop|[e]dit): ",
+		printf STDERR __("error: unable to extract a valid address from: %s\n"), $address;
+		# TRANSLATORS: Make sure to include [q] [d] [e] in your
+		# translation. The program will only accept English input
+		# at this point.
+		$_ = ask(__("What to do with this address? ([q]uit|[d]rop|[e]dit): "),
 			valid_re => qr/^(?:quit|q|drop|d|edit|e)/i,
 			default => 'q');
 		if (/^d/i) {
@@ -1219,7 +1231,7 @@
 		return (SSL_verify_mode => SSL_VERIFY_PEER(),
 			SSL_ca_file => $smtp_ssl_cert_path);
 	} else {
-		die "CA path \"$smtp_ssl_cert_path\" does not exist";
+		die sprintf(__("CA path \"%s\" does not exist"), $smtp_ssl_cert_path);
 	}
 }
 
@@ -1293,20 +1305,26 @@
 		if ($needs_confirm eq "inform") {
 			$confirm_unconfigured = 0; # squelch this message for the rest of this run
 			$ask_default = "y"; # assume yes on EOF since user hasn't explicitly asked for confirmation
-			print "    The Cc list above has been expanded by additional\n";
-			print "    addresses found in the patch commit message. By default\n";
-			print "    send-email prompts before sending whenever this occurs.\n";
-			print "    This behavior is controlled by the sendemail.confirm\n";
-			print "    configuration setting.\n";
-			print "\n";
-			print "    For additional information, run 'git send-email --help'.\n";
-			print "    To retain the current behavior, but squelch this message,\n";
-			print "    run 'git config --global sendemail.confirm auto'.\n\n";
+			print __ <<EOF ;
+    The Cc list above has been expanded by additional
+    addresses found in the patch commit message. By default
+    send-email prompts before sending whenever this occurs.
+    This behavior is controlled by the sendemail.confirm
+    configuration setting.
+
+    For additional information, run 'git send-email --help'.
+    To retain the current behavior, but squelch this message,
+    run 'git config --global sendemail.confirm auto'.
+
+EOF
 		}
-		$_ = ask("Send this email? ([y]es|[n]o|[q]uit|[a]ll): ",
+		# TRANSLATORS: Make sure to include [y] [n] [q] [a] in your
+		# translation. The program will only accept English input
+		# at this point.
+		$_ = ask(__("Send this email? ([y]es|[n]o|[q]uit|[a]ll): "),
 		         valid_re => qr/^(?:yes|y|no|n|quit|q|all|a)/i,
 		         default => $ask_default);
-		die "Send this email reply required" unless defined $_;
+		die __("Send this email reply required") unless defined $_;
 		if (/^n/i) {
 			return 0;
 		} elsif (/^q/i) {
@@ -1332,7 +1350,7 @@
 	} else {
 
 		if (!defined $smtp_server) {
-			die "The required SMTP server is not properly defined."
+			die __("The required SMTP server is not properly defined.")
 		}
 
 		if ($smtp_encryption eq 'ssl') {
@@ -1376,14 +1394,14 @@
 					# supported commands
 					$smtp->hello($smtp_domain);
 				} else {
-					die "Server does not support STARTTLS! ".$smtp->message;
+					die sprintf(__("Server does not support STARTTLS! %s"), $smtp->message);
 				}
 			}
 		}
 
 		if (!$smtp) {
-			die "Unable to initialize SMTP properly. Check config and use --smtp-debug. ",
-			    "VALUES: server=$smtp_server ",
+			die __("Unable to initialize SMTP properly. Check config and use --smtp-debug."),
+			    " VALUES: server=$smtp_server ",
 			    "encryption=$smtp_encryption ",
 			    "hello=$smtp_domain",
 			    defined $smtp_server_port ? " port=$smtp_server_port" : "";
@@ -1400,12 +1418,12 @@
 			$smtp->datasend("$line") or die $smtp->message;
 		}
 		$smtp->dataend() or die $smtp->message;
-		$smtp->code =~ /250|200/ or die "Failed to send $subject\n".$smtp->message;
+		$smtp->code =~ /250|200/ or die sprintf(__("Failed to send %s\n"), $subject).$smtp->message;
 	}
 	if ($quiet) {
-		printf (($dry_run ? "Dry-" : "")."Sent %s\n", $subject);
+		printf($dry_run ? __("Dry-Sent %s\n") : __("Sent %s\n"), $subject);
 	} else {
-		print (($dry_run ? "Dry-" : "")."OK. Log says:\n");
+		print($dry_run ? __("Dry-OK. Log says:\n") : __("OK. Log says:\n"));
 		if (!file_name_is_absolute($smtp_server)) {
 			print "Server: $smtp_server\n";
 			print "MAIL FROM:<$raw_from>\n";
@@ -1417,10 +1435,10 @@
 		}
 		print $header, "\n";
 		if ($smtp) {
-			print "Result: ", $smtp->code, ' ',
+			print __("Result: "), $smtp->code, ' ',
 				($smtp->message =~ /\n([^\n]+\n)$/s), "\n";
 		} else {
-			print "Result: OK\n";
+			print __("Result: OK\n");
 		}
 	}
 
@@ -1433,7 +1451,7 @@
 $message_num = 0;
 
 foreach my $t (@files) {
-	open my $fh, "<", $t or die "can't open file $t";
+	open my $fh, "<", $t or die sprintf(__("can't open file %s"), $t);
 
 	my $author = undef;
 	my $sauthor = undef;
@@ -1480,13 +1498,13 @@
 				$sauthor = sanitize_address($author);
 				next if $suppress_cc{'author'};
 				next if $suppress_cc{'self'} and $sauthor eq $sender;
-				printf("(mbox) Adding cc: %s from line '%s'\n",
+				printf(__("(mbox) Adding cc: %s from line '%s'\n"),
 					$1, $_) unless $quiet;
 				push @cc, $1;
 			}
 			elsif (/^To:\s+(.*)$/i) {
 				foreach my $addr (parse_address_line($1)) {
-					printf("(mbox) Adding to: %s from line '%s'\n",
+					printf(__("(mbox) Adding to: %s from line '%s'\n"),
 						$addr, $_) unless $quiet;
 					push @to, $addr;
 				}
@@ -1500,7 +1518,7 @@
 					} else {
 						next if ($suppress_cc{'cc'});
 					}
-					printf("(mbox) Adding cc: %s from line '%s'\n",
+					printf(__("(mbox) Adding cc: %s from line '%s'\n"),
 						$addr, $_) unless $quiet;
 					push @cc, $addr;
 				}
@@ -1534,7 +1552,7 @@
 			# So let's support that, too.
 			$input_format = 'lots';
 			if (@cc == 0 && !$suppress_cc{'cc'}) {
-				printf("(non-mbox) Adding cc: %s from line '%s'\n",
+				printf(__("(non-mbox) Adding cc: %s from line '%s'\n"),
 					$_, $_) unless $quiet;
 				push @cc, $_;
 			} elsif (!defined $subject) {
@@ -1545,7 +1563,7 @@
 	# Now parse the message body
 	while(<$fh>) {
 		$message .=  $_;
-		if (/^(Signed-off-by|Cc): (.*)$/i) {
+		if (/^(Signed-off-by|Cc): ([^>]*>?)/i) {
 			chomp;
 			my ($what, $c) = ($1, $2);
 			chomp $c;
@@ -1557,7 +1575,7 @@
 				next if $suppress_cc{'bodycc'} and $what =~ /Cc/i;
 			}
 			push @cc, $c;
-			printf("(body) Adding cc: %s from line '%s'\n",
+			printf(__("(body) Adding cc: %s from line '%s'\n"),
 				$c, $_) unless $quiet;
 		}
 	}
@@ -1655,18 +1673,18 @@
 
 	my @addresses = ();
 	open my $fh, "-|", "$cmd \Q$file\E"
-	    or die "($prefix) Could not execute '$cmd'";
+	    or die sprintf(__("(%s) Could not execute '%s'"), $prefix, $cmd);
 	while (my $address = <$fh>) {
 		$address =~ s/^\s*//g;
 		$address =~ s/\s*$//g;
 		$address = sanitize_address($address);
 		next if ($address eq $sender and $suppress_cc{'self'});
 		push @addresses, $address;
-		printf("($prefix) Adding %s: %s from: '%s'\n",
-		       $what, $address, $cmd) unless $quiet;
+		printf(__("(%s) Adding %s: %s from: '%s'\n"),
+		       $prefix, $what, $address, $cmd) unless $quiet;
 		}
 	close $fh
-	    or die "($prefix) failed to close pipe to '$cmd'";
+	    or die sprintf(__("(%s) failed to close pipe to '%s'"), $prefix, $cmd);
 	return @addresses;
 }
 
@@ -1693,7 +1711,7 @@
 	$message = MIME::Base64::decode($message)
 		if ($from eq 'base64');
 
-	die "cannot send message as 7bit"
+	die __("cannot send message as 7bit")
 		if ($to eq '7bit' and $message =~ /[^[:ascii:]]/);
 	return $message
 		if ($to eq '7bit' or $to eq '8bit');
@@ -1701,7 +1719,7 @@
 		if ($to eq 'quoted-printable');
 	return MIME::Base64::encode($message, "\n")
 		if ($to eq 'base64');
-	die "invalid transfer encoding";
+	die __("invalid transfer encoding");
 }
 
 sub unique_email_list {
@@ -1720,10 +1738,10 @@
 sub validate_patch {
 	my $fn = shift;
 	open(my $fh, '<', $fn)
-		or die "unable to open $fn: $!\n";
+		or die sprintf(__("unable to open %s: %s\n"), $fn, $!);
 	while (my $line = <$fh>) {
 		if (length($line) > 998) {
-			return "$.: patch contains a line longer than 998 characters";
+			return sprintf(__("%s: patch contains a line longer than 998 characters"), $.);
 		}
 	}
 	return;
@@ -1739,10 +1757,11 @@
 	    (substr($file, 0, $lastlen) eq $last) &&
 	    ($suffix = substr($file, $lastlen)) !~ /^[a-z0-9]/i) {
 		if (defined $known_suffix && $suffix eq $known_suffix) {
-			print "Skipping $file with backup suffix '$known_suffix'.\n";
+			printf(__("Skipping %s with backup suffix '%s'.\n"), $file, $known_suffix);
 			$skip = 1;
 		} else {
-			my $answer = ask("Do you really want to send $file? (y|N): ",
+			# TRANSLATORS: please keep "[y|N]" as is.
+			my $answer = ask(sprintf(__("Do you really want to send %s? [y|N]: "), $file),
 					 valid_re => qr/^(?:y|n)/i,
 					 default => 'n');
 			$skip = ($answer ne 'y');
@@ -1770,7 +1789,7 @@
 sub file_has_nonascii {
 	my $fn = shift;
 	open(my $fh, '<', $fn)
-		or die "unable to open $fn: $!\n";
+		or die sprintf(__("unable to open %s: %s\n"), $fn, $!);
 	while (my $line = <$fh>) {
 		return 1 if $line =~ /[^[:ascii:]]/;
 	}
@@ -1780,7 +1799,7 @@
 sub body_or_subject_has_nonascii {
 	my $fn = shift;
 	open(my $fh, '<', $fn)
-		or die "unable to open $fn: $!\n";
+		or die sprintf(__("unable to open %s: %s\n"), $fn, $!);
 	while (my $line = <$fh>) {
 		last if $line =~ /^$/;
 		return 1 if $line =~ /^Subject.*[^[:ascii:]]/;
diff --git a/git-sh-setup.sh b/git-sh-setup.sh
index 240c7eb..3789285 100644
--- a/git-sh-setup.sh
+++ b/git-sh-setup.sh
@@ -196,14 +196,14 @@
 	if test "z$(git rev-parse --is-bare-repository)" != zfalse
 	then
 		program_name=$0
-		die "$(gettext "fatal: \$program_name cannot be used without a working tree.")"
+		die "$(eval_gettext "fatal: \$program_name cannot be used without a working tree.")"
 	fi
 }
 
 require_work_tree () {
 	test "$(git rev-parse --is-inside-work-tree 2>/dev/null)" = true || {
 		program_name=$0
-		die "$(gettext "fatal: \$program_name cannot be used without a working tree.")"
+		die "$(eval_gettext "fatal: \$program_name cannot be used without a working tree.")"
 	}
 }
 
diff --git a/git-stash.sh b/git-stash.sh
index 10c284d..2fb651b 100755
--- a/git-stash.sh
+++ b/git-stash.sh
@@ -7,8 +7,11 @@
    or: $dashless drop [-q|--quiet] [<stash>]
    or: $dashless ( pop | apply ) [--index] [-q|--quiet] [<stash>]
    or: $dashless branch <branchname> [<stash>]
-   or: $dashless [save [--patch] [-k|--[no-]keep-index] [-q|--quiet]
-		       [-u|--include-untracked] [-a|--all] [<message>]]
+   or: $dashless save [--patch] [-k|--[no-]keep-index] [-q|--quiet]
+		      [-u|--include-untracked] [-a|--all] [<message>]
+   or: $dashless [push [--patch] [-k|--[no-]keep-index] [-q|--quiet]
+		       [-u|--include-untracked] [-a|--all] [-m <message>]
+		       [-- <pathspec>...]]
    or: $dashless clear"
 
 SUBDIRECTORY_OK=Yes
@@ -33,15 +36,15 @@
 fi
 
 no_changes () {
-	git diff-index --quiet --cached HEAD --ignore-submodules -- &&
-	git diff-files --quiet --ignore-submodules &&
+	git diff-index --quiet --cached HEAD --ignore-submodules -- "$@" &&
+	git diff-files --quiet --ignore-submodules -- "$@" &&
 	(test -z "$untracked" || test -z "$(untracked_files)")
 }
 
 untracked_files () {
 	excl_opt=--exclude-standard
 	test "$untracked" = "all" && excl_opt=
-	git ls-files -o -z $excl_opt
+	git ls-files -o -z $excl_opt -- "$@"
 }
 
 clear_stash () {
@@ -56,11 +59,29 @@
 }
 
 create_stash () {
-	stash_msg="$1"
-	untracked="$2"
+	stash_msg=
+	untracked=
+	while test $# != 0
+	do
+		case "$1" in
+		-m|--message)
+			shift
+			stash_msg=${1?"BUG: create_stash () -m requires an argument"}
+			;;
+		-u|--include-untracked)
+			shift
+			untracked=${1?"BUG: create_stash () -u requires an argument"}
+			;;
+		--)
+			shift
+			break
+			;;
+		esac
+		shift
+	done
 
 	git update-index -q --refresh
-	if no_changes
+	if no_changes "$@"
 	then
 		exit 0
 	fi
@@ -92,7 +113,7 @@
 		# Untracked files are stored by themselves in a parentless commit, for
 		# ease of unpacking later.
 		u_commit=$(
-			untracked_files | (
+			untracked_files "$@" | (
 				GIT_INDEX_FILE="$TMPindex" &&
 				export GIT_INDEX_FILE &&
 				rm -f "$TMPindex" &&
@@ -115,7 +136,7 @@
 			git read-tree --index-output="$TMPindex" -m $i_tree &&
 			GIT_INDEX_FILE="$TMPindex" &&
 			export GIT_INDEX_FILE &&
-			git diff-index --name-only -z HEAD -- >"$TMP-stagenames" &&
+			git diff-index --name-only -z HEAD -- "$@" >"$TMP-stagenames" &&
 			git update-index -z --add --remove --stdin <"$TMP-stagenames" &&
 			git write-tree &&
 			rm -f "$TMPindex"
@@ -129,7 +150,7 @@
 
 		# find out what the user wants
 		GIT_INDEX_FILE="$TMP-index" \
-			git add--interactive --patch=stash -- &&
+			git add--interactive --patch=stash -- "$@" &&
 
 		# state of the working tree
 		w_tree=$(GIT_INDEX_FILE="$TMP-index" git write-tree) ||
@@ -189,10 +210,11 @@
 	return $ret
 }
 
-save_stash () {
+push_stash () {
 	keep_index=
 	patch_mode=
 	untracked=
+	stash_msg=
 	while test $# != 0
 	do
 		case "$1" in
@@ -216,6 +238,11 @@
 		-a|--all)
 			untracked=all
 			;;
+		-m|--message)
+			shift
+			test -z ${1+x} && usage
+			stash_msg=$1
+			;;
 		--help)
 			show_help
 			;;
@@ -251,34 +278,45 @@
 		die "$(gettext "Can't use --patch and --include-untracked or --all at the same time")"
 	fi
 
-	stash_msg="$*"
+	test -n "$untracked" || git ls-files --error-unmatch -- "$@" >/dev/null || exit 1
 
 	git update-index -q --refresh
-	if no_changes
+	if no_changes "$@"
 	then
 		say "$(gettext "No local changes to save")"
 		exit 0
 	fi
+
 	git reflog exists $ref_stash ||
 		clear_stash || die "$(gettext "Cannot initialize stash")"
 
-	create_stash "$stash_msg" $untracked
+	create_stash -m "$stash_msg" -u "$untracked" -- "$@"
 	store_stash -m "$stash_msg" -q $w_commit ||
 	die "$(gettext "Cannot save the current status")"
 	say "$(eval_gettext "Saved working directory and index state \$stash_msg")"
 
 	if test -z "$patch_mode"
 	then
-		git reset --hard ${GIT_QUIET:+-q}
+		if test $# != 0
+		then
+			git reset -q -- "$@"
+			git ls-files -z --modified -- "$@" |
+			git checkout-index -z --force --stdin
+			git clean --force -q -d -- "$@"
+		else
+			git reset --hard -q
+		fi
 		test "$untracked" = "all" && CLEAN_X_OPTION=-x || CLEAN_X_OPTION=
 		if test -n "$untracked"
 		then
-			git clean --force --quiet -d $CLEAN_X_OPTION
+			git clean --force --quiet -d $CLEAN_X_OPTION -- "$@"
 		fi
 
 		if test "$keep_index" = "t" && test -n "$i_tree"
 		then
-			git read-tree --reset -u $i_tree
+			git read-tree --reset $i_tree
+			git ls-files -z --modified -- "$@" |
+			git checkout-index -z --force --stdin
 		fi
 	else
 		git apply -R < "$TMP-patch" ||
@@ -286,11 +324,41 @@
 
 		if test "$keep_index" != "t"
 		then
-			git reset
+			git reset -q -- "$@"
 		fi
 	fi
 }
 
+save_stash () {
+	push_options=
+	while test $# != 0
+	do
+		case "$1" in
+		--)
+			shift
+			break
+			;;
+		-*)
+			# pass all options through to push_stash
+			push_options="$push_options $1"
+			;;
+		*)
+			break
+			;;
+		esac
+		shift
+	done
+
+	stash_msg="$*"
+
+	if test -z "$stash_msg"
+	then
+		push_stash $push_options
+	else
+		push_stash $push_options -m "$stash_msg"
+	fi
+}
+
 have_stash () {
 	git rev-parse --verify --quiet $ref_stash >/dev/null
 }
@@ -590,18 +658,21 @@
 	}
 }
 
+test "$1" = "-p" && set "push" "$@"
+
 PARSE_CACHE='--not-parsed'
-# The default command is "save" if nothing but options are given
+# The default command is "push" if nothing but options are given
 seen_non_option=
 for opt
 do
 	case "$opt" in
+	--) break ;;
 	-*) ;;
 	*) seen_non_option=t; break ;;
 	esac
 done
 
-test -n "$seen_non_option" || set "save" "$@"
+test -n "$seen_non_option" || set "push" "$@"
 
 # Main command set
 case "$1" in
@@ -617,6 +688,10 @@
 	shift
 	save_stash "$@"
 	;;
+push)
+	shift
+	push_stash "$@"
+	;;
 apply)
 	shift
 	apply_stash "$@"
@@ -627,7 +702,7 @@
 	;;
 create)
 	shift
-	create_stash "$*" && echo "$w_commit"
+	create_stash -m "$*" && echo "$w_commit"
 	;;
 store)
 	shift
@@ -648,7 +723,7 @@
 *)
 	case $# in
 	0)
-		save_stash &&
+		push_stash &&
 		say "$(gettext "(To restore them type \"git stash apply\")")"
 		;;
 	*)
diff --git a/git-submodule.sh b/git-submodule.sh
index a024a13..6ec35e5 100755
--- a/git-submodule.sh
+++ b/git-submodule.sh
@@ -12,7 +12,8 @@
    or: $dashless [--quiet] update [--init] [--remote] [-N|--no-fetch] [-f|--force] [--checkout|--merge|--rebase] [--[no-]recommend-shallow] [--reference <repository>] [--recursive] [--] [<path>...]
    or: $dashless [--quiet] summary [--cached|--files] [--summary-limit <n>] [commit] [--] [<path>...]
    or: $dashless [--quiet] foreach [--recursive] <command>
-   or: $dashless [--quiet] sync [--recursive] [--] [<path>...]"
+   or: $dashless [--quiet] sync [--recursive] [--] [<path>...]
+   or: $dashless [--quiet] absorbgitdirs [--] [<path>...]"
 OPTIONS_SPEC=
 SUBDIRECTORY_OK=Yes
 . git-sh-setup
@@ -21,14 +22,10 @@
 wt_prefix=$(git rev-parse --show-prefix)
 cd_to_toplevel
 
-# Restrict ourselves to a vanilla subset of protocols; the URLs
-# we get are under control of a remote repository, and we do not
-# want them kicking off arbitrary git-remote-* programs.
-#
-# If the user has already specified a set of allowed protocols,
-# we assume they know what they're doing and use that instead.
-: ${GIT_ALLOW_PROTOCOL=file:git:http:https:ssh}
-export GIT_ALLOW_PROTOCOL
+# Tell the rest of git that any URLs we get don't come
+# directly from the user, so it can apply policy as appropriate.
+GIT_PROTOCOL_FROM_USER=0
+export GIT_PROTOCOL_FROM_USER
 
 command=
 branch=
@@ -207,8 +204,14 @@
 			tstart
 			s|/*$||
 		')
-	git ls-files --error-unmatch "$sm_path" > /dev/null 2>&1 &&
-	die "$(eval_gettext "'\$sm_path' already exists in the index")"
+	if test -z "$force"
+	then
+		git ls-files --error-unmatch "$sm_path" > /dev/null 2>&1 &&
+		die "$(eval_gettext "'\$sm_path' already exists in the index")"
+	else
+		git ls-files -s "$sm_path" | sane_grep -v "^160000" > /dev/null 2>&1 &&
+		die "$(eval_gettext "'\$sm_path' already exists in the index and is not a submodule")"
+	fi
 
 	if test -z "$force" && ! git add --dry-run --ignore-missing "$sm_path" > /dev/null 2>&1
 	then
@@ -275,6 +278,20 @@
 	fi &&
 	git add --force .gitmodules ||
 	die "$(eval_gettext "Failed to register submodule '\$sm_path'")"
+
+	# NEEDSWORK: In a multi-working-tree world, this needs to be
+	# set in the per-worktree config.
+	if git config --get submodule.active >/dev/null
+	then
+		# If the submodule being adding isn't already covered by the
+		# current configured pathspec, set the submodule's active flag
+		if ! git submodule--helper is-active "$sm_path"
+		then
+			git config submodule."$sm_name".active "true"
+		fi
+	else
+		git config submodule."$sm_name".active "true"
+	fi
 }
 
 #
@@ -374,7 +391,7 @@
 		shift
 	done
 
-	git ${wt_prefix:+-C "$wt_prefix"} submodule--helper init ${GIT_QUIET:+--quiet} ${prefix:+--prefix "$prefix"} "$@"
+	git ${wt_prefix:+-C "$wt_prefix"} ${prefix:+--super-prefix "$prefix"} submodule--helper init ${GIT_QUIET:+--quiet}  "$@"
 }
 
 #
@@ -610,7 +627,10 @@
 		if test $just_cloned -eq 1
 		then
 			subsha1=
-			update_module=checkout
+			case "$update_module" in
+			merge | rebase | none)
+				update_module=checkout ;;
+			esac
 		else
 			subsha1=$(sanitize_submodule_env; cd "$sm_path" &&
 				git rev-parse --verify HEAD) ||
@@ -1004,14 +1024,13 @@
 	do
 		die_if_unmatched "$mode" "$sha1"
 		name=$(git submodule--helper name "$sm_path") || exit
-		url=$(git config submodule."$name".url)
 		displaypath=$(git submodule--helper relative-path "$prefix$sm_path" "$wt_prefix")
 		if test "$stage" = U
 		then
 			say "U$sha1 $displaypath"
 			continue
 		fi
-		if test -z "$url" ||
+		if ! git submodule--helper is-active "$sm_path" ||
 		{
 			! test -d "$sm_path"/.git &&
 			! test -f "$sm_path"/.git
@@ -1084,6 +1103,13 @@
 	while read mode sha1 stage sm_path
 	do
 		die_if_unmatched "$mode" "$sha1"
+
+		# skip inactive submodules
+		if ! git submodule--helper is-active "$sm_path"
+		then
+			continue
+		fi
+
 		name=$(git submodule--helper name "$sm_path")
 		url=$(git config -f .gitmodules --get submodule."$name".url)
 
@@ -1106,31 +1132,33 @@
 			;;
 		esac
 
-		if git config "submodule.$name.url" >/dev/null 2>/dev/null
+		displaypath=$(git submodule--helper relative-path "$prefix$sm_path" "$wt_prefix")
+		say "$(eval_gettext "Synchronizing submodule url for '\$displaypath'")"
+		git config submodule."$name".url "$super_config_url"
+
+		if test -e "$sm_path"/.git
 		then
-			displaypath=$(git submodule--helper relative-path "$prefix$sm_path" "$wt_prefix")
-			say "$(eval_gettext "Synchronizing submodule url for '\$displaypath'")"
-			git config submodule."$name".url "$super_config_url"
+		(
+			sanitize_submodule_env
+			cd "$sm_path"
+			remote=$(get_default_remote)
+			git config remote."$remote".url "$sub_origin_url"
 
-			if test -e "$sm_path"/.git
+			if test -n "$recursive"
 			then
-			(
-				sanitize_submodule_env
-				cd "$sm_path"
-				remote=$(get_default_remote)
-				git config remote."$remote".url "$sub_origin_url"
-
-				if test -n "$recursive"
-				then
-					prefix="$prefix$sm_path/"
-					eval cmd_sync
-				fi
-			)
+				prefix="$prefix$sm_path/"
+				eval cmd_sync
 			fi
+		)
 		fi
 	done
 }
 
+cmd_absorbgitdirs()
+{
+	git submodule--helper absorb-git-dirs --prefix "$wt_prefix" "$@"
+}
+
 # This loop parses the command line arguments to find the
 # subcommand name to dispatch.  Parsing of the subcommand specific
 # options are primarily done by the subcommand implementations.
@@ -1140,7 +1168,7 @@
 while test $# != 0 && test -z "$command"
 do
 	case "$1" in
-	add | foreach | init | deinit | update | status | summary | sync)
+	add | foreach | init | deinit | update | status | summary | sync | absorbgitdirs)
 		command=$1
 		;;
 	-q|--quiet)
diff --git a/git-svn.perl b/git-svn.perl
index fa42364..d240418 100755
--- a/git-svn.perl
+++ b/git-svn.perl
@@ -1175,10 +1175,10 @@
 	::_req_svn();
 	require SVN::Client;
 
+	my ($config, $baton, undef) = Git::SVN::Ra::prepare_config_once();
 	my $ctx = SVN::Client->new(
-		config => SVN::Core::config_get_config(
-			$Git::SVN::Ra::config_dir
-		),
+		auth => $baton,
+		config => $config,
 		log_msg => sub {
 			${ $_[0] } = defined $_message
 				? $_message
diff --git a/git.c b/git.c
index c8fe663..8ff44f0 100644
--- a/git.c
+++ b/git.c
@@ -361,8 +361,6 @@
 	if (!help && get_super_prefix()) {
 		if (!(p->option & SUPPORT_SUPER_PREFIX))
 			die("%s doesn't support --super-prefix", p->cmd);
-		if (prefix)
-			die("can't use --super-prefix from a subdirectory");
 	}
 
 	if (!help && p->option & NEED_WORK_TREE)
@@ -424,6 +422,7 @@
 	{ "diff-files", cmd_diff_files, RUN_SETUP | NEED_WORK_TREE },
 	{ "diff-index", cmd_diff_index, RUN_SETUP },
 	{ "diff-tree", cmd_diff_tree, RUN_SETUP },
+	{ "difftool", cmd_difftool, RUN_SETUP | NEED_WORK_TREE },
 	{ "fast-export", cmd_fast_export, RUN_SETUP },
 	{ "fetch", cmd_fetch, RUN_SETUP },
 	{ "fetch-pack", cmd_fetch_pack, RUN_SETUP },
@@ -434,7 +433,7 @@
 	{ "fsck-objects", cmd_fsck, RUN_SETUP },
 	{ "gc", cmd_gc, RUN_SETUP },
 	{ "get-tar-commit-id", cmd_get_tar_commit_id },
-	{ "grep", cmd_grep, RUN_SETUP_GENTLY },
+	{ "grep", cmd_grep, RUN_SETUP_GENTLY | SUPPORT_SUPER_PREFIX },
 	{ "hash-object", cmd_hash_object },
 	{ "help", cmd_help },
 	{ "index-pack", cmd_index_pack, RUN_SETUP_GENTLY },
@@ -471,7 +470,8 @@
 	{ "prune-packed", cmd_prune_packed, RUN_SETUP },
 	{ "pull", cmd_pull, RUN_SETUP | NEED_WORK_TREE },
 	{ "push", cmd_push, RUN_SETUP },
-	{ "read-tree", cmd_read_tree, RUN_SETUP },
+	{ "read-tree", cmd_read_tree, RUN_SETUP | SUPPORT_SUPER_PREFIX},
+	{ "rebase--helper", cmd_rebase__helper, RUN_SETUP | NEED_WORK_TREE },
 	{ "receive-pack", cmd_receive_pack },
 	{ "reflog", cmd_reflog, RUN_SETUP },
 	{ "remote", cmd_remote, RUN_SETUP },
@@ -493,7 +493,7 @@
 	{ "stage", cmd_add, RUN_SETUP | NEED_WORK_TREE },
 	{ "status", cmd_status, RUN_SETUP | NEED_WORK_TREE },
 	{ "stripspace", cmd_stripspace },
-	{ "submodule--helper", cmd_submodule__helper, RUN_SETUP },
+	{ "submodule--helper", cmd_submodule__helper, RUN_SETUP | SUPPORT_SUPER_PREFIX},
 	{ "symbolic-ref", cmd_symbolic_ref, RUN_SETUP },
 	{ "tag", cmd_tag, RUN_SETUP },
 	{ "unpack-file", cmd_unpack_file, RUN_SETUP },
diff --git a/gitk-git/Makefile b/gitk-git/Makefile
index 5acdc90..5bdd52a 100644
--- a/gitk-git/Makefile
+++ b/gitk-git/Makefile
@@ -50,6 +50,7 @@
 all:: gitk-wish $(ALL_MSGFILES)
 
 install:: all
+	$(INSTALL) -d -m 755 '$(DESTDIR_SQ)$(bindir_SQ)'
 	$(INSTALL) -m 755 gitk-wish '$(DESTDIR_SQ)$(bindir_SQ)'/gitk
 	$(INSTALL) -d -m 755 '$(DESTDIR_SQ)$(msgsdir_SQ)'
 	$(foreach p,$(ALL_MSGFILES), $(INSTALL) -m 644 $p '$(DESTDIR_SQ)$(msgsdir_SQ)' &&) true
diff --git a/gitk-git/gitk b/gitk-git/gitk
index 805a1c7..a14d7a1 100755
--- a/gitk-git/gitk
+++ b/gitk-git/gitk
@@ -2,7 +2,7 @@
 # Tcl ignores the next line -*- tcl -*- \
 exec wish "$0" -- "$@"
 
-# Copyright © 2005-2014 Paul Mackerras.  All rights reserved.
+# Copyright © 2005-2016 Paul Mackerras.  All rights reserved.
 # This program is free software; it may be used, copied, modified
 # and distributed under the terms of the GNU General Public Licence,
 # either version 2, or (at your option) any later version.
@@ -588,7 +588,7 @@
 proc reloadcommits {} {
     global curview viewcomplete selectedline currentid thickerline
     global showneartags treediffs commitinterest cached_commitrow
-    global targetid
+    global targetid commitinfo
 
     set selid {}
     if {$selectedline ne {}} {
@@ -609,6 +609,7 @@
 	getallcommits
     }
     clear_display
+    unset -nocomplain commitinfo
     unset -nocomplain commitinterest
     unset -nocomplain cached_commitrow
     unset -nocomplain targetid
@@ -1315,7 +1316,7 @@
 
 proc closevarcs {v} {
     global varctok varccommits varcid parents children
-    global cmitlisted commitidx vtokmod
+    global cmitlisted commitidx vtokmod curview numcommits
 
     set missing_parents 0
     set scripts {}
@@ -1340,6 +1341,9 @@
 	    }
 	    lappend varccommits($v,$b) $p
 	    incr commitidx($v)
+	    if {$v == $curview} {
+		set numcommits $commitidx($v)
+	    }
 	    set scripts [check_interest $p $scripts]
 	}
     }
@@ -2265,7 +2269,7 @@
 	set h [expr {[font metrics uifont -linespace] + 2}]
 	set progresscanv .tf.bar.progress
 	canvas $progresscanv -relief sunken -height $h -borderwidth 2
-	set progressitem [$progresscanv create rect -1 0 0 $h -fill lime]
+	set progressitem [$progresscanv create rect -1 0 0 $h -fill "#00ff00"]
 	set fprogitem [$progresscanv create rect -1 0 0 $h -fill yellow]
 	set rprogitem [$progresscanv create rect -1 0 0 $h -fill red]
     }
@@ -2403,7 +2407,7 @@
 
     set ctext .bleft.bottom.ctext
     text $ctext -background $bgcolor -foreground $fgcolor \
-	-state disabled -font textfont \
+	-state disabled -undo 0 -font textfont \
 	-yscrollcommand scrolltext -wrap none \
 	-xscrollcommand ".bleft.bottom.sbhorizontal set"
     if {$have_tk85} {
@@ -2664,6 +2668,7 @@
     set headctxmenu .headctxmenu
     makemenu $headctxmenu {
 	{mc "Check out this branch" command cobranch}
+	{mc "Rename this branch" command mvbranch}
 	{mc "Remove this branch" command rmbranch}
 	{mc "Copy branch name" command {clipboard clear; clipboard append $headmenuhead}}
     }
@@ -3033,7 +3038,7 @@
     message $w.m -text [mc "
 Gitk - a commit viewer for git
 
-Copyright \u00a9 2005-2014 Paul Mackerras
+Copyright \u00a9 2005-2016 Paul Mackerras
 
 Use and redistribute under the terms of the GNU General Public License"] \
 	    -justify center -aspect 400 -border 2 -bg $bgcolor -relief groove
@@ -3397,7 +3402,7 @@
        0x00, 0x00, 0xfc, 0x0f, 0xfc, 0x0f, 0xfc, 0x0f,
        0xfc, 0x0f, 0xfc, 0x0f, 0xfc, 0x0f, 0xfc, 0x0f, 0x00, 0x00};
 }
-image create bitmap reficon-H -background black -foreground lime \
+image create bitmap reficon-H -background black -foreground "#00ff00" \
     -data $rectdata -maskdata $rectmask
 image create bitmap reficon-o -background black -foreground "#ddddff" \
     -data $rectdata -maskdata $rectmask
@@ -8069,7 +8074,11 @@
     $ctext conf -state normal
     while {[incr nr] <= 1000 && [gets $bdf line] >= 0} {
 	if {$ids != $diffids || $bdf != $blobdifffd($ids)} {
+	    # Older diff read. Abort it.
 	    catch {close $bdf}
+	    if {$ids != $diffids} {
+		array unset blobdifffd $ids
+	    }
 	    return 0
 	}
 	parseblobdiffline $ids $line
@@ -8078,6 +8087,7 @@
     blobdiffmaybeseehere [eof $bdf]
     if {[eof $bdf]} {
 	catch {close $bdf}
+	array unset blobdifffd $ids
 	return 0
     }
     return [expr {$nr >= 1000? 2: 1}]
@@ -9452,26 +9462,63 @@
 }
 
 proc mkbranch {} {
-    global rowmenuid mkbrtop NS
+    global NS rowmenuid
 
-    set top .makebranch
+    set top .branchdialog
+
+    set val(name) ""
+    set val(id) $rowmenuid
+    set val(command) [list mkbrgo $top]
+
+    set ui(title) [mc "Create branch"]
+    set ui(accept) [mc "Create"]
+
+    branchdia $top val ui
+}
+
+proc mvbranch {} {
+    global NS
+    global headmenuid headmenuhead
+
+    set top .branchdialog
+
+    set val(name) $headmenuhead
+    set val(id) $headmenuid
+    set val(command) [list mvbrgo $top $headmenuhead]
+
+    set ui(title) [mc "Rename branch %s" $headmenuhead]
+    set ui(accept) [mc "Rename"]
+
+    branchdia $top val ui
+}
+
+proc branchdia {top valvar uivar} {
+    global NS commitinfo
+    upvar $valvar val $uivar ui
+
     catch {destroy $top}
     ttk_toplevel $top
     make_transient $top .
-    ${NS}::label $top.title -text [mc "Create new branch"]
+    ${NS}::label $top.title -text $ui(title)
     grid $top.title - -pady 10
     ${NS}::label $top.id -text [mc "ID:"]
     ${NS}::entry $top.sha1 -width 40
-    $top.sha1 insert 0 $rowmenuid
+    $top.sha1 insert 0 $val(id)
     $top.sha1 conf -state readonly
     grid $top.id $top.sha1 -sticky w
+    ${NS}::entry $top.head -width 60
+    $top.head insert 0 [lindex $commitinfo($val(id)) 0]
+    $top.head conf -state readonly
+    grid x $top.head -sticky ew
+    grid columnconfigure $top 1 -weight 1
     ${NS}::label $top.nlab -text [mc "Name:"]
     ${NS}::entry $top.name -width 40
+    $top.name insert 0 $val(name)
     grid $top.nlab $top.name -sticky w
     ${NS}::frame $top.buts
-    ${NS}::button $top.buts.go -text [mc "Create"] -command [list mkbrgo $top]
+    ${NS}::button $top.buts.go -text $ui(accept) -command $val(command)
     ${NS}::button $top.buts.can -text [mc "Cancel"] -command "catch {destroy $top}"
-    bind $top <Key-Return> [list mkbrgo $top]
+    bind $top <Key-Return> $val(command)
     bind $top <Key-Escape> "catch {destroy $top}"
     grid $top.buts.go $top.buts.can
     grid columnconfigure $top.buts 0 -weight 1 -uniform a
@@ -9526,6 +9573,46 @@
     }
 }
 
+proc mvbrgo {top prevname} {
+    global headids idheads mainhead mainheadid
+
+    set name [$top.name get]
+    set id [$top.sha1 get]
+    set cmdargs {}
+    if {$name eq $prevname} {
+	catch {destroy $top}
+	return
+    }
+    if {$name eq {}} {
+	error_popup [mc "Please specify a new name for the branch"] $top
+	return
+    }
+    catch {destroy $top}
+    lappend cmdargs -m $prevname $name
+    nowbusy renamebranch
+    update
+    if {[catch {
+	eval exec git branch $cmdargs
+    } err]} {
+	notbusy renamebranch
+	error_popup $err
+    } else {
+	notbusy renamebranch
+	removehead $id $prevname
+	removedhead $id $prevname
+	set headids($name) $id
+	lappend idheads($id) $name
+	addedhead $id $name
+	if {$prevname eq $mainhead} {
+	    set mainhead $name
+	    set mainheadid $id
+	}
+	redrawtags $id
+	dispneartags 0
+	run refill_reflist
+    }
+}
+
 proc exec_citool {tool_args {baseid {}}} {
     global commitinfo env
 
@@ -9751,20 +9838,25 @@
 
 # context menu for a head
 proc headmenu {x y id head} {
-    global headmenuid headmenuhead headctxmenu mainhead
+    global headmenuid headmenuhead headctxmenu mainhead headids
 
     stopfinding
     set headmenuid $id
     set headmenuhead $head
-    set state normal
+    array set state {0 normal 1 normal 2 normal}
     if {[string match "remotes/*" $head]} {
-	set state disabled
+	set localhead [string range $head [expr [string last / $head] + 1] end]
+	if {[info exists headids($localhead)]} {
+	    set state(0) disabled
+	}
+	array set state {1 disabled 2 disabled}
     }
     if {$head eq $mainhead} {
-	set state disabled
+	array set state {0 disabled 2 disabled}
     }
-    $headctxmenu entryconfigure 0 -state $state
-    $headctxmenu entryconfigure 1 -state $state
+    foreach i {0 1 2} {
+	$headctxmenu entryconfigure $i -state $state($i)
+    }
     tk_popup $headctxmenu $x $y
 }
 
@@ -9773,11 +9865,27 @@
     global showlocalchanges
 
     # check the tree is clean first??
+    set newhead $headmenuhead
+    set command [list | git checkout]
+    if {[string match "remotes/*" $newhead]} {
+	set remote $newhead
+	set newhead [string range $newhead [expr [string last / $newhead] + 1] end]
+	# The following check is redundant - the menu option should
+	# be disabled to begin with...
+	if {[info exists headids($newhead)]} {
+	    error_popup [mc "A local branch named %s exists already" $newhead]
+	    return
+	}
+	lappend command -b $newhead --track $remote
+    } else {
+	lappend command $newhead
+    }
+    lappend command 2>@1
     nowbusy checkout [mc "Checking out"]
     update
     dohidelocalchanges
     if {[catch {
-	set fd [open [list | git checkout $headmenuhead 2>@1] r]
+	set fd [open $command r]
     } err]} {
 	notbusy checkout
 	error_popup $err
@@ -9785,12 +9893,12 @@
 	    dodiffindex
 	}
     } else {
-	filerun $fd [list readcheckoutstat $fd $headmenuhead $headmenuid]
+	filerun $fd [list readcheckoutstat $fd $newhead $headmenuid]
     }
 }
 
 proc readcheckoutstat {fd newhead newheadid} {
-    global mainhead mainheadid headids showlocalchanges progresscoords
+    global mainhead mainheadid headids idheads showlocalchanges progresscoords
     global viewmainheadid curview
 
     if {[gets $fd line] >= 0} {
@@ -9805,8 +9913,14 @@
     notbusy checkout
     if {[catch {close $fd} err]} {
 	error_popup $err
+	return
     }
     set oldmainid $mainheadid
+    if {! [info exists headids($newhead)]} {
+	set headids($newhead) $newheadid
+	lappend idheads($newheadid) $newhead
+	addedhead $newheadid $newhead
+    }
     set mainhead $newhead
     set mainheadid $newheadid
     set viewmainheadid($curview) $newheadid
@@ -12188,7 +12302,7 @@
     set extdifftool "meld"
 }
 
-set colors {lime red blue magenta darkgrey brown orange}
+set colors {"#00ff00" red blue magenta darkgrey brown orange}
 if {[tk windowingsystem] eq "win32"} {
     set uicolor SystemButtonFace
     set uifgcolor SystemButtonText
@@ -12206,12 +12320,12 @@
 }
 set diffcolors {red "#00a000" blue}
 set diffcontext 3
-set mergecolors {red blue lime purple brown "#009090" magenta "#808000" "#009000" "#ff0080" cyan "#b07070" "#70b0f0" "#70f0b0" "#f0b070" "#ff70b0"}
+set mergecolors {red blue "#00ff00" purple brown "#009090" magenta "#808000" "#009000" "#ff0080" cyan "#b07070" "#70b0f0" "#70f0b0" "#f0b070" "#ff70b0"}
 set ignorespace 0
 set worddiff ""
 set markbgcolor "#e0e0ff"
 
-set headbgcolor lime
+set headbgcolor "#00ff00"
 set headfgcolor black
 set headoutlinecolor black
 set remotebgcolor #ffddaa
@@ -12226,7 +12340,7 @@
 set linehoveroutlinecolor black
 set mainheadcirclecolor yellow
 set workingfilescirclecolor red
-set indexcirclecolor lime
+set indexcirclecolor "#00ff00"
 set circlecolors {white blue gray blue blue}
 set linkfgcolor blue
 set circleoutlinecolor $fgcolor
diff --git a/gitk-git/po/bg.po b/gitk-git/po/bg.po
index 99aa77a..407d555 100644
--- a/gitk-git/po/bg.po
+++ b/gitk-git/po/bg.po
@@ -371,14 +371,14 @@
 "\n"
 "Gitk - a commit viewer for git\n"
 "\n"
-"Copyright © 2005-2014 Paul Mackerras\n"
+"Copyright © 2005-2016 Paul Mackerras\n"
 "\n"
 "Use and redistribute under the terms of the GNU General Public License"
 msgstr ""
 "\n"
 "Gitk — визуализация на подаванията в Git\n"
 "\n"
-"Авторски права: © 2005-2014 Paul Mackerras\n"
+"Авторски права: © 2005-2016 Paul Mackerras\n"
 "\n"
 "Използвайте и разпространявайте при условията на ОПЛ на ГНУ"
 
diff --git a/gitk-git/po/ca.po b/gitk-git/po/ca.po
index 5ad066f..87dfc18 100644
--- a/gitk-git/po/ca.po
+++ b/gitk-git/po/ca.po
@@ -1,5 +1,5 @@
 # Translation of gitk
-# Copyright (C) 2005-2014 Paul Mackerras
+# Copyright (C) 2005-2016 Paul Mackerras
 # This file is distributed under the same license as the gitk package.
 # Alex Henrie <alexhenrie24@gmail.com>, 2015.
 #
@@ -365,14 +365,14 @@
 "\n"
 "Gitk - a commit viewer for git\n"
 "\n"
-"Copyright © 2005-2014 Paul Mackerras\n"
+"Copyright © 2005-2016 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"
+"Copyright © 2005-2016 Paul Mackerras\n"
 "\n"
 "Useu-lo i redistribuïu-lo sota els termes de la Llicència Pública General GNU"
 
diff --git a/gitk-git/po/de.po b/gitk-git/po/de.po
index bde749e..5db3824 100644
--- a/gitk-git/po/de.po
+++ b/gitk-git/po/de.po
@@ -363,14 +363,14 @@
 "\n"
 "Gitk - a commit viewer for git\n"
 "\n"
-"Copyright © 2005-2014 Paul Mackerras\n"
+"Copyright © 2005-2016 Paul Mackerras\n"
 "\n"
 "Use and redistribute under the terms of the GNU General Public License"
 msgstr ""
 "\n"
 "Gitk - eine Visualisierung der Git-Historie\n"
 "\n"
-"Copyright \\u00a9 2005-2014 Paul Mackerras\n"
+"Copyright \\u00a9 2005-2016 Paul Mackerras\n"
 "\n"
 "Benutzung und Weiterverbreitung gemäß den Bedingungen der GNU General Public "
 "License"
diff --git a/gitk-git/po/es.po b/gitk-git/po/es.po
index ddcb0a5..fef3bba 100644
--- a/gitk-git/po/es.po
+++ b/gitk-git/po/es.po
@@ -370,14 +370,14 @@
 "\n"
 "Gitk - a commit viewer for git\n"
 "\n"
-"Copyright © 2005-2014 Paul Mackerras\n"
+"Copyright © 2005-2016 Paul Mackerras\n"
 "\n"
 "Use and redistribute under the terms of the GNU General Public License"
 msgstr ""
 "\n"
 "Gitk - un visualizador de revisiones para git\n"
 "\n"
-"Copyright \\u00a9 2005-2010 Paul Mackerras\n"
+"Copyright \\u00a9 2005-2016 Paul Mackerras\n"
 "\n"
 "Uso y redistribución permitidos según los términos de la Licencia Pública "
 "General de GNU (GNU GPL)"
diff --git a/gitk-git/po/fr.po b/gitk-git/po/fr.po
index c44f994..e4fac93 100644
--- a/gitk-git/po/fr.po
+++ b/gitk-git/po/fr.po
@@ -372,14 +372,14 @@
 "\n"
 "Gitk - a commit viewer for git\n"
 "\n"
-"Copyright © 2005-2014 Paul Mackerras\n"
+"Copyright © 2005-2016 Paul Mackerras\n"
 "\n"
 "Use and redistribute under the terms of the GNU General Public License"
 msgstr ""
 "\n"
 "Gitk - visualisateur de commit pour git\n"
 "\n"
-"Copyright \\u00a9 2005-2014 Paul Mackerras\n"
+"Copyright \\u00a9 2005-2016 Paul Mackerras\n"
 "\n"
 "Utilisation et redistribution soumises aux termes de la GNU General Public License"
 
diff --git a/gitk-git/po/hu.po b/gitk-git/po/hu.po
index 66fd75b..79ec5a5 100644
--- a/gitk-git/po/hu.po
+++ b/gitk-git/po/hu.po
@@ -366,14 +366,14 @@
 "\n"
 "Gitk - a commit viewer for git\n"
 "\n"
-"Copyright © 2005-2014 Paul Mackerras\n"
+"Copyright © 2005-2016 Paul Mackerras\n"
 "\n"
 "Use and redistribute under the terms of the GNU General Public License"
 msgstr ""
 "\n"
 "Gitk - commit nézegető a githez\n"
 "\n"
-"Szerzői jog \\u00a9 2005-2010 Paul Mackerras\n"
+"Szerzői jog \\u00a9 2005-2016 Paul Mackerras\n"
 "\n"
 "Használd és terjeszd a GNU General Public License feltételei mellett"
 
diff --git a/gitk-git/po/it.po b/gitk-git/po/it.po
index b5f002d..b58d23e 100644
--- a/gitk-git/po/it.po
+++ b/gitk-git/po/it.po
@@ -367,14 +367,14 @@
 "\n"
 "Gitk - a commit viewer for git\n"
 "\n"
-"Copyright © 2005-2014 Paul Mackerras\n"
+"Copyright © 2005-2016 Paul Mackerras\n"
 "\n"
 "Use and redistribute under the terms of the GNU General Public License"
 msgstr ""
 "\n"
 "Gitk - un visualizzatore di revisioni per git\n"
 "\n"
-"Copyright \\u00a9 2005-2010 Paul Mackerras\n"
+"Copyright \\u00a9 2005-2016 Paul Mackerras\n"
 "\n"
 "Utilizzo e redistribuzione permessi sotto i termini della GNU General Public "
 "License"
diff --git a/gitk-git/po/ja.po b/gitk-git/po/ja.po
index f143753..ca3c29b 100644
--- a/gitk-git/po/ja.po
+++ b/gitk-git/po/ja.po
@@ -2,16 +2,17 @@
 # Copyright (C) 2005-2015 Paul Mackerras
 # This file is distributed under the same license as the gitk package.
 #
-# YOKOTA Hiroshi <yokota@netlab.cs.tsukuba.ac.jp>, 2015.
 # Mizar <mizar.jp@gmail.com>, 2009.
 # Junio C Hamano <gitster@pobox.com>, 2009.
+# YOKOTA Hiroshi <yokota@netlab.cs.tsukuba.ac.jp>, 2015.
+# Satoshi Yasushima <s.yasushima@gmail.com>, 2016.
 msgid ""
 msgstr ""
 "Project-Id-Version: gitk\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2015-05-17 14:32+1000\n"
 "PO-Revision-Date: 2015-11-12 13:00+0900\n"
-"Last-Translator: YOKOTA Hiroshi <yokota@netlab.cs.tsukuba.ac.jp>\n"
+"Last-Translator: Satoshi Yasushima <s.yasushima@gmail.com>\n"
 "Language-Team: Japanese\n"
 "Language: ja\n"
 "MIME-Version: 1.0\n"
@@ -314,11 +315,11 @@
 
 #: gitk:2630 gitk:2641
 msgid "Diff this -> marked commit"
-msgstr "これと選択したコミットのdiffを見る"
+msgstr "これとマークを付けたコミットのdiffを見る"
 
 #: gitk:2631 gitk:2642
 msgid "Diff marked commit -> this"
-msgstr "選択したコミットとこれのdiffを見る"
+msgstr "マークを付けたコミットとこれのdiffを見る"
 
 #: gitk:2632
 msgid "Revert this commit"
@@ -373,14 +374,14 @@
 "\n"
 "Gitk - a commit viewer for git\n"
 "\n"
-"Copyright © 2005-2014 Paul Mackerras\n"
+"Copyright © 2005-2016 Paul Mackerras\n"
 "\n"
 "Use and redistribute under the terms of the GNU General Public License"
 msgstr ""
 "\n"
 "Gitk - gitコミットビューア\n"
 "\n"
-"Copyright © 2005-2014 Paul Mackerras\n"
+"Copyright © 2005-2016 Paul Mackerras\n"
 "\n"
 "使用および再配布は GNU General Public License に従ってください"
 
diff --git a/gitk-git/po/pt_br.po b/gitk-git/po/pt_br.po
index 3f78f1b..1feb348 100644
--- a/gitk-git/po/pt_br.po
+++ b/gitk-git/po/pt_br.po
@@ -368,14 +368,14 @@
 "\n"
 "Gitk - a commit viewer for git\n"
 "\n"
-"Copyright © 2005-2014 Paul Mackerras\n"
+"Copyright © 2005-2016 Paul Mackerras\n"
 "\n"
 "Use and redistribute under the terms of the GNU General Public License"
 msgstr ""
 "\n"
 "Gitk - um visualizador de revisões para o git \n"
 "\n"
-"Copyright ©9 2005-2010 Paul Mackerras\n"
+"Copyright ©9 2005-2016 Paul Mackerras\n"
 "\n"
 "Uso e distribuição segundo os termos da Licença Pública Geral GNU"
 
diff --git a/gitk-git/po/pt_pt.po b/gitk-git/po/pt_pt.po
new file mode 100644
index 0000000..f680ea8
--- /dev/null
+++ b/gitk-git/po/pt_pt.po
@@ -0,0 +1,1376 @@
+# Portuguese translations for gitk package.
+# Copyright (C) 2016 Paul Mackerras
+# This file is distributed under the same license as the gitk package.
+# Vasco Almeida <vascomalmeida@sapo.pt>, 2016.
+msgid ""
+msgstr ""
+"Project-Id-Version: gitk\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2016-04-15 16:52+0000\n"
+"PO-Revision-Date: 2016-05-06 15:35+0000\n"
+"Last-Translator: Vasco Almeida <vascomalmeida@sapo.pt>\n"
+"Language-Team: Portuguese\n"
+"Language: pt\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: Virtaal 0.7.1\n"
+
+#: gitk:140
+msgid "Couldn't get list of unmerged files:"
+msgstr "Não foi possível obter lista de ficheiros não integrados:"
+
+#: gitk:212 gitk:2399
+msgid "Color words"
+msgstr "Colorir palavras"
+
+#: gitk:217 gitk:2399 gitk:8239 gitk:8272
+msgid "Markup words"
+msgstr "Marcar palavras"
+
+#: gitk:324
+msgid "Error parsing revisions:"
+msgstr "Erro ao analisar revisões:"
+
+#: gitk:380
+msgid "Error executing --argscmd command:"
+msgstr "Erro ao executar o comando de --argscmd:"
+
+#: gitk:393
+msgid "No files selected: --merge specified but no files are unmerged."
+msgstr ""
+"Nenhum ficheiro selecionado: --merge especificado mas não há ficheiros por "
+"integrar."
+
+#: gitk:396
+msgid ""
+"No files selected: --merge specified but no unmerged files are within file "
+"limit."
+msgstr ""
+"Nenhum ficheiro selecionado: --merge especificado mas não há ficheiros por "
+"integrar ao nível de ficheiro."
+
+#: gitk:418 gitk:566
+msgid "Error executing git log:"
+msgstr "Erro ao executar git log:"
+
+#: gitk:436 gitk:582
+msgid "Reading"
+msgstr "A ler"
+
+#: gitk:496 gitk:4544
+msgid "Reading commits..."
+msgstr "A ler commits..."
+
+#: gitk:499 gitk:1637 gitk:4547
+msgid "No commits selected"
+msgstr "Nenhum commit selecionado"
+
+#: gitk:1445 gitk:4064 gitk:12469
+msgid "Command line"
+msgstr "Linha de comandos"
+
+#: gitk:1511
+msgid "Can't parse git log output:"
+msgstr "Não é possível analisar a saída de git log:"
+
+#: gitk:1740
+msgid "No commit information available"
+msgstr "Não há informação disponível sobre o commit"
+
+#: gitk:1903 gitk:1932 gitk:4334 gitk:9702 gitk:11274 gitk:11554
+msgid "OK"
+msgstr "OK"
+
+#: gitk:1934 gitk:4336 gitk:9215 gitk:9294 gitk:9424 gitk:9473 gitk:9704
+#: gitk:11275 gitk:11555
+msgid "Cancel"
+msgstr "Cancelar"
+
+#: gitk:2083
+msgid "&Update"
+msgstr "At&ualizar"
+
+#: gitk:2084
+msgid "&Reload"
+msgstr "&Recarregar"
+
+#: gitk:2085
+msgid "Reread re&ferences"
+msgstr "Reler re&ferências"
+
+#: gitk:2086
+msgid "&List references"
+msgstr "&Listar referências"
+
+#: gitk:2088
+msgid "Start git &gui"
+msgstr "Iniciar git &gui"
+
+#: gitk:2090
+msgid "&Quit"
+msgstr "&Sair"
+
+#: gitk:2082
+msgid "&File"
+msgstr "&Ficheiro"
+
+#: gitk:2094
+msgid "&Preferences"
+msgstr "&Preferências"
+
+#: gitk:2093
+msgid "&Edit"
+msgstr "&Editar"
+
+#: gitk:2098
+msgid "&New view..."
+msgstr "&Nova vista..."
+
+#: gitk:2099
+msgid "&Edit view..."
+msgstr "&Editar vista..."
+
+#: gitk:2100
+msgid "&Delete view"
+msgstr "Elimina&r vista"
+
+#: gitk:2102
+msgid "&All files"
+msgstr "&Todos os ficheiros"
+
+#: gitk:2097
+msgid "&View"
+msgstr "&Ver"
+
+#: gitk:2107 gitk:2117
+msgid "&About gitk"
+msgstr "&Sobre gitk"
+
+#: gitk:2108 gitk:2122
+msgid "&Key bindings"
+msgstr "&Atalhos"
+
+#: gitk:2106 gitk:2121
+msgid "&Help"
+msgstr "&Ajuda"
+
+#: gitk:2199 gitk:8671
+msgid "SHA1 ID:"
+msgstr "ID SHA1:"
+
+#: gitk:2243
+msgid "Row"
+msgstr "Linha"
+
+#: gitk:2281
+msgid "Find"
+msgstr "Procurar"
+
+#: gitk:2309
+msgid "commit"
+msgstr "commit"
+
+#: gitk:2313 gitk:2315 gitk:4706 gitk:4729 gitk:4753 gitk:6774 gitk:6846
+#: gitk:6931
+msgid "containing:"
+msgstr "contendo:"
+
+#: gitk:2316 gitk:3545 gitk:3550 gitk:4782
+msgid "touching paths:"
+msgstr "altera os caminhos:"
+
+#: gitk:2317 gitk:4796
+msgid "adding/removing string:"
+msgstr "adiciona/remove a cadeia:"
+
+#: gitk:2318 gitk:4798
+msgid "changing lines matching:"
+msgstr "altera linhas com:"
+
+#: gitk:2327 gitk:2329 gitk:4785
+msgid "Exact"
+msgstr "Exato"
+
+#: gitk:2329 gitk:4873 gitk:6742
+msgid "IgnCase"
+msgstr "IgnMaiúsculas"
+
+#: gitk:2329 gitk:4755 gitk:4871 gitk:6738
+msgid "Regexp"
+msgstr "Expr. regular"
+
+#: gitk:2331 gitk:2332 gitk:4893 gitk:4923 gitk:4930 gitk:6867 gitk:6935
+msgid "All fields"
+msgstr "Todos os campos"
+
+#: gitk:2332 gitk:4890 gitk:4923 gitk:6805
+msgid "Headline"
+msgstr "Cabeçalho"
+
+#: gitk:2333 gitk:4890 gitk:6805 gitk:6935 gitk:7408
+msgid "Comments"
+msgstr "Comentários"
+
+#: gitk:2333 gitk:4890 gitk:4895 gitk:4930 gitk:6805 gitk:7343 gitk:8849
+#: gitk:8864
+msgid "Author"
+msgstr "Autor"
+
+#: gitk:2333 gitk:4890 gitk:6805 gitk:7345
+msgid "Committer"
+msgstr "Committer"
+
+#: gitk:2367
+msgid "Search"
+msgstr "Pesquisar"
+
+#: gitk:2375
+msgid "Diff"
+msgstr "Diff"
+
+#: gitk:2377
+msgid "Old version"
+msgstr "Versão antiga"
+
+#: gitk:2379
+msgid "New version"
+msgstr "Versão nova"
+
+#: gitk:2382
+msgid "Lines of context"
+msgstr "Linhas de contexto"
+
+#: gitk:2392
+msgid "Ignore space change"
+msgstr "Ignorar espaços"
+
+#: gitk:2396 gitk:2398 gitk:7978 gitk:8225
+msgid "Line diff"
+msgstr "Diff de linha"
+
+#: gitk:2463
+msgid "Patch"
+msgstr "Patch"
+
+#: gitk:2465
+msgid "Tree"
+msgstr "Árvore"
+
+#: gitk:2635 gitk:2656
+msgid "Diff this -> selected"
+msgstr "Diff este -> seleção"
+
+#: gitk:2636 gitk:2657
+msgid "Diff selected -> this"
+msgstr "Diff seleção -> este"
+
+#: gitk:2637 gitk:2658
+msgid "Make patch"
+msgstr "Gerar patch"
+
+#: gitk:2638 gitk:9273
+msgid "Create tag"
+msgstr "Criar tag"
+
+#: gitk:2639
+msgid "Copy commit summary"
+msgstr "Copiar sumário do commit"
+
+#: gitk:2640 gitk:9404
+msgid "Write commit to file"
+msgstr "Escrever commit num ficheiro"
+
+#: gitk:2641 gitk:9461
+msgid "Create new branch"
+msgstr "Criar novo ramo"
+
+#: gitk:2642
+msgid "Cherry-pick this commit"
+msgstr "Efetuar cherry-pick deste commit"
+
+#: gitk:2643
+msgid "Reset HEAD branch to here"
+msgstr "Repor ramo HEAD para aqui"
+
+#: gitk:2644
+msgid "Mark this commit"
+msgstr "Marcar este commit"
+
+#: gitk:2645
+msgid "Return to mark"
+msgstr "Voltar à marca"
+
+#: gitk:2646
+msgid "Find descendant of this and mark"
+msgstr "Encontrar descendeste deste e da marca"
+
+#: gitk:2647
+msgid "Compare with marked commit"
+msgstr "Comparar com o commit marcado"
+
+#: gitk:2648 gitk:2659
+msgid "Diff this -> marked commit"
+msgstr "Diff este -> commit marcado"
+
+#: gitk:2649 gitk:2660
+msgid "Diff marked commit -> this"
+msgstr "Diff commit marcado -> este"
+
+#: gitk:2650
+msgid "Revert this commit"
+msgstr "Reverter este commit"
+
+#: gitk:2666
+msgid "Check out this branch"
+msgstr "Extrair este ramo"
+
+#: gitk:2667
+msgid "Remove this branch"
+msgstr "Remover este ramo"
+
+#: gitk:2668
+msgid "Copy branch name"
+msgstr "Copiar nome do ramo"
+
+#: gitk:2675
+msgid "Highlight this too"
+msgstr "Realçar este também"
+
+#: gitk:2676
+msgid "Highlight this only"
+msgstr "Realçar apenas este"
+
+#: gitk:2677
+msgid "External diff"
+msgstr "Diff externo"
+
+#: gitk:2678
+msgid "Blame parent commit"
+msgstr "Culpar commit pai"
+
+#: gitk:2679
+msgid "Copy path"
+msgstr "Copiar caminho"
+
+#: gitk:2686
+msgid "Show origin of this line"
+msgstr "Mostrar origem deste ficheiro"
+
+#: gitk:2687
+msgid "Run git gui blame on this line"
+msgstr "Executar git gui blame sobre esta linha"
+
+#: gitk:3031
+msgid "About gitk"
+msgstr "Sobre gitk"
+
+#: gitk:3033
+msgid ""
+"\n"
+"Gitk - a commit viewer for git\n"
+"\n"
+"Copyright © 2005-2016 Paul Mackerras\n"
+"\n"
+"Use and redistribute under the terms of the GNU General Public License"
+msgstr ""
+"\n"
+"Gitk - um visualizador de commits do git\n"
+"\n"
+"Copyright © 2005-2016 Paul Mackerras\n"
+"\n"
+"Use e redistribua sob os termos da GNU General Public License"
+
+#: gitk:3041 gitk:3108 gitk:9890
+msgid "Close"
+msgstr "Fechar"
+
+#: gitk:3062
+msgid "Gitk key bindings"
+msgstr "Atalhos do gitk"
+
+#: gitk:3065
+msgid "Gitk key bindings:"
+msgstr "Atalhos do gitk:"
+
+#: gitk:3067
+#, tcl-format
+msgid "<%s-Q>\t\tQuit"
+msgstr "<%s-Q>\t\tSair"
+
+#: gitk:3068
+#, tcl-format
+msgid "<%s-W>\t\tClose window"
+msgstr "<%s-W>\t\tFechar janela"
+
+#: gitk:3069
+msgid "<Home>\t\tMove to first commit"
+msgstr "<Home>\t\tMover para o primeiro commit"
+
+#: gitk:3070
+msgid "<End>\t\tMove to last commit"
+msgstr "<End>\t\tMover para o último commit"
+
+#: gitk:3071
+msgid "<Up>, p, k\tMove up one commit"
+msgstr "<Cima>, p, k\tMover para o commit acima"
+
+#: gitk:3072
+msgid "<Down>, n, j\tMove down one commit"
+msgstr "<Baixo>, n, j\tMover para o commit abaixo"
+
+#: gitk:3073
+msgid "<Left>, z, h\tGo back in history list"
+msgstr "<Esquerda>, z, h\tRecuar no histórico"
+
+#: gitk:3074
+msgid "<Right>, x, l\tGo forward in history list"
+msgstr "<Direita>, x, l\tAvançar no histórico"
+
+#: gitk:3075
+#, tcl-format
+msgid "<%s-n>\tGo to n-th parent of current commit in history list"
+msgstr "<%s-n>\tIr para o n-ésimo pai do commit atual no histórico"
+
+#: gitk:3076
+msgid "<PageUp>\tMove up one page in commit list"
+msgstr "<PageUp>\tMover a lista de commits uma página para cima"
+
+#: gitk:3077
+msgid "<PageDown>\tMove down one page in commit list"
+msgstr "<PageDown>\tMover a lista de commits uma página para baixo"
+
+#: gitk:3078
+#, tcl-format
+msgid "<%s-Home>\tScroll to top of commit list"
+msgstr "<%s-Home>\tDeslocar para o topo da lista"
+
+#: gitk:3079
+#, tcl-format
+msgid "<%s-End>\tScroll to bottom of commit list"
+msgstr "<%s-End>\tDeslocar para o fim da lista"
+
+#: gitk:3080
+#, tcl-format
+msgid "<%s-Up>\tScroll commit list up one line"
+msgstr "<%s-Cima>\tDeslocar a lista de commits uma linha para cima"
+
+#: gitk:3081
+#, tcl-format
+msgid "<%s-Down>\tScroll commit list down one line"
+msgstr "<%s-Baixo>\tDeslocar a lista de commits uma linha para baixo"
+
+#: gitk:3082
+#, tcl-format
+msgid "<%s-PageUp>\tScroll commit list up one page"
+msgstr "<%s-PageUp>\tDeslocar a lista de commits uma página para cima"
+
+#: gitk:3083
+#, tcl-format
+msgid "<%s-PageDown>\tScroll commit list down one page"
+msgstr "<%s-PageDown>\tDeslocar a lista de commits uma página para baixo"
+
+#: gitk:3084
+msgid "<Shift-Up>\tFind backwards (upwards, later commits)"
+msgstr "<Shift-Cima>\tProcurar para trás (para cima, commits posteriores)"
+
+#: gitk:3085
+msgid "<Shift-Down>\tFind forwards (downwards, earlier commits)"
+msgstr "<Shift-Baixo>\tProcurar para a frente (para baixo, commits anteriores)"
+
+#: gitk:3086
+msgid "<Delete>, b\tScroll diff view up one page"
+msgstr "<Delete>, b\tDeslocar vista diff uma página para cima"
+
+#: gitk:3087
+msgid "<Backspace>\tScroll diff view up one page"
+msgstr "<Retrocesso>\tDeslocar vista diff uma página para cima"
+
+#: gitk:3088
+msgid "<Space>\t\tScroll diff view down one page"
+msgstr "<Espaço>\tDeslocar vista diff uma página para baixo"
+
+#: gitk:3089
+msgid "u\t\tScroll diff view up 18 lines"
+msgstr "u\t\tDeslocar vista diff 18 linhas para cima"
+
+#: gitk:3090
+msgid "d\t\tScroll diff view down 18 lines"
+msgstr "d\t\tDeslocar vista diff 18 linhas para baixo"
+
+#: gitk:3091
+#, tcl-format
+msgid "<%s-F>\t\tFind"
+msgstr "<%s-F>\t\tProcurar"
+
+#: gitk:3092
+#, tcl-format
+msgid "<%s-G>\t\tMove to next find hit"
+msgstr "<%s-G>\t\tMover para a ocorrência seguinte"
+
+#: gitk:3093
+msgid "<Return>\tMove to next find hit"
+msgstr "<Return>\tMover para a ocorrência seguinte"
+
+#: gitk:3094
+msgid "g\t\tGo to commit"
+msgstr "g\t\tIr para o commit"
+
+#: gitk:3095
+msgid "/\t\tFocus the search box"
+msgstr "/\t\tFocar a caixa de pesquisa"
+
+#: gitk:3096
+msgid "?\t\tMove to previous find hit"
+msgstr "?\t\tMover para a ocorrência anterior"
+
+#: gitk:3097
+msgid "f\t\tScroll diff view to next file"
+msgstr "f\t\tDeslocar vista diff para o ficheiro seguinte"
+
+#: gitk:3098
+#, tcl-format
+msgid "<%s-S>\t\tSearch for next hit in diff view"
+msgstr "<%s-S>\t\tProcurar pela ocorrência seguinte na vista diff"
+
+#: gitk:3099
+#, tcl-format
+msgid "<%s-R>\t\tSearch for previous hit in diff view"
+msgstr "<%s-R>\t\tProcurar pela ocorrência anterior na vista diff"
+
+#: gitk:3100
+#, tcl-format
+msgid "<%s-KP+>\tIncrease font size"
+msgstr "<%s-KP+>\tAumentar o tamanho da letra"
+
+#: gitk:3101
+#, tcl-format
+msgid "<%s-plus>\tIncrease font size"
+msgstr "<%s-mais>\tAumentar o tamanho da letra"
+
+#: gitk:3102
+#, tcl-format
+msgid "<%s-KP->\tDecrease font size"
+msgstr "<%s-KP->\tDiminuir o tamanho da letra"
+
+#: gitk:3103
+#, tcl-format
+msgid "<%s-minus>\tDecrease font size"
+msgstr "<%s-menos>\tDiminuir o tamanho da letra"
+
+#: gitk:3104
+msgid "<F5>\t\tUpdate"
+msgstr "<F5>\t\tAtualizar"
+
+#: gitk:3569 gitk:3578
+#, tcl-format
+msgid "Error creating temporary directory %s:"
+msgstr "Erro ao criar ficheiro temporário %s:"
+
+#: gitk:3591
+#, tcl-format
+msgid "Error getting \"%s\" from %s:"
+msgstr "Erro ao obter \"%s\" de %s:"
+
+#: gitk:3654
+msgid "command failed:"
+msgstr "o comando falhou:"
+
+#: gitk:3803
+msgid "No such commit"
+msgstr "Commit inexistente"
+
+#: gitk:3817
+msgid "git gui blame: command failed:"
+msgstr "git gui blame: o comando falhou:"
+
+#: gitk:3848
+#, tcl-format
+msgid "Couldn't read merge head: %s"
+msgstr "Não foi possível ler a cabeça de integração: %s"
+
+#: gitk:3856
+#, tcl-format
+msgid "Error reading index: %s"
+msgstr "Erro ao ler o índice: %s"
+
+#: gitk:3881
+#, tcl-format
+msgid "Couldn't start git blame: %s"
+msgstr "Não foi possível iniciar git blame: %s"
+
+#: gitk:3884 gitk:6773
+msgid "Searching"
+msgstr "A procurar"
+
+#: gitk:3916
+#, tcl-format
+msgid "Error running git blame: %s"
+msgstr "Erro ao executar git blame: %s"
+
+#: gitk:3944
+#, tcl-format
+msgid "That line comes from commit %s,  which is not in this view"
+msgstr "Essa linha provém do commit %s, que não está nesta vista"
+
+#: gitk:3958
+msgid "External diff viewer failed:"
+msgstr "Visualizador diff externo falhou:"
+
+#: gitk:4062
+msgid "All files"
+msgstr "Todos os ficheiros"
+
+#: gitk:4086
+msgid "View"
+msgstr "Vista"
+
+#: gitk:4089
+msgid "Gitk view definition"
+msgstr "Definição de vistas do gitk"
+
+#: gitk:4093
+msgid "Remember this view"
+msgstr "Recordar esta vista"
+
+#: gitk:4094
+msgid "References (space separated list):"
+msgstr "Referências (lista separada por espaço):"
+
+#: gitk:4095
+msgid "Branches & tags:"
+msgstr "Ramos e tags:"
+
+#: gitk:4096
+msgid "All refs"
+msgstr "Todas as referências"
+
+#: gitk:4097
+msgid "All (local) branches"
+msgstr "Todos os ramos (locais)"
+
+#: gitk:4098
+msgid "All tags"
+msgstr "Todas as tags"
+
+#: gitk:4099
+msgid "All remote-tracking branches"
+msgstr "Todos os ramos remotos de monitorização"
+
+#: gitk:4100
+msgid "Commit Info (regular expressions):"
+msgstr "Informação Sobre o Commit (expressões regulares):"
+
+#: gitk:4101
+msgid "Author:"
+msgstr "Autor:"
+
+#: gitk:4102
+msgid "Committer:"
+msgstr "Committer:"
+
+#: gitk:4103
+msgid "Commit Message:"
+msgstr "Mensagem de Commit:"
+
+#: gitk:4104
+msgid "Matches all Commit Info criteria"
+msgstr "Corresponde a todos os critérios da Informação Sobre o Commit"
+
+#: gitk:4105
+msgid "Matches no Commit Info criteria"
+msgstr "Não corresponde a nenhum critério da Informação Sobre o Commit"
+
+#: gitk:4106
+msgid "Changes to Files:"
+msgstr "Alterações nos Ficheiros:"
+
+#: gitk:4107
+msgid "Fixed String"
+msgstr "Cadeia Fixa"
+
+#: gitk:4108
+msgid "Regular Expression"
+msgstr "Expressão Regular"
+
+#: gitk:4109
+msgid "Search string:"
+msgstr "Procurar pela cadeia:"
+
+#: gitk:4110
+msgid ""
+"Commit Dates (\"2 weeks ago\", \"2009-03-17 15:27:38\", \"March 17, 2009 "
+"15:27:38\"):"
+msgstr ""
+"Datas de Commit (\"2 weeks ago\", \"2009-03-17 15:27:38\", \"March 17, 2009 "
+"15:27:38\"):"
+
+#: gitk:4111
+msgid "Since:"
+msgstr "Desde:"
+
+#: gitk:4112
+msgid "Until:"
+msgstr "Até:"
+
+#: gitk:4113
+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:4114
+msgid "Number to show:"
+msgstr "Número a mostrar:"
+
+#: gitk:4115
+msgid "Number to skip:"
+msgstr "Número a ignorar:"
+
+#: gitk:4116
+msgid "Miscellaneous options:"
+msgstr "Opções diversas:"
+
+#: gitk:4117
+msgid "Strictly sort by date"
+msgstr "Ordenar estritamente pela data"
+
+#: gitk:4118
+msgid "Mark branch sides"
+msgstr "Marcar lado dos ramos"
+
+#: gitk:4119
+msgid "Limit to first parent"
+msgstr "Restringir ao primeiro pai"
+
+#: gitk:4120
+msgid "Simple history"
+msgstr "Histórico simples"
+
+#: gitk:4121
+msgid "Additional arguments to git log:"
+msgstr "Argumentos adicionais ao git log:"
+
+#: gitk:4122
+msgid "Enter files and directories to include, one per line:"
+msgstr "Introduza ficheiros e diretórios para incluir, um por linha:"
+
+#: gitk:4123
+msgid "Command to generate more commits to include:"
+msgstr "Comando para gerar mais commits para incluir:"
+
+#: gitk:4247
+msgid "Gitk: edit view"
+msgstr "Gitk: editar vista"
+
+#: gitk:4255
+msgid "-- criteria for selecting revisions"
+msgstr "-- critério para selecionar revisões"
+
+#: gitk:4260
+msgid "View Name"
+msgstr "Nome da Vista"
+
+#: gitk:4335
+msgid "Apply (F5)"
+msgstr "Aplicar (F5)"
+
+#: gitk:4373
+msgid "Error in commit selection arguments:"
+msgstr "Erro nos argumentos de seleção de commits:"
+
+#: gitk:4428 gitk:4481 gitk:4943 gitk:4957 gitk:6227 gitk:12410 gitk:12411
+msgid "None"
+msgstr "Nenhum"
+
+#: gitk:5040 gitk:5045
+msgid "Descendant"
+msgstr "Descendente"
+
+#: gitk:5041
+msgid "Not descendant"
+msgstr "Não descendente"
+
+#: gitk:5048 gitk:5053
+msgid "Ancestor"
+msgstr "Antecessor"
+
+#: gitk:5049
+msgid "Not ancestor"
+msgstr "Não antecessor"
+
+#: gitk:5343
+msgid "Local changes checked in to index but not committed"
+msgstr "Alterações locais preparadas no índice mas não submetidas"
+
+#: gitk:5379
+msgid "Local uncommitted changes, not checked in to index"
+msgstr "Alterações locais não submetidas, não preparadas no índice"
+
+#: gitk:7153
+msgid "and many more"
+msgstr "e muitos mais"
+
+#: gitk:7156
+msgid "many"
+msgstr "muitos"
+
+#: gitk:7347
+msgid "Tags:"
+msgstr "Tags:"
+
+#: gitk:7364 gitk:7370 gitk:8844
+msgid "Parent"
+msgstr "Pai"
+
+#: gitk:7375
+msgid "Child"
+msgstr "Filho"
+
+#: gitk:7384
+msgid "Branch"
+msgstr "Ramo"
+
+#: gitk:7387
+msgid "Follows"
+msgstr "Sucede"
+
+#: gitk:7390
+msgid "Precedes"
+msgstr "Precede"
+
+#: gitk:7985
+#, tcl-format
+msgid "Error getting diffs: %s"
+msgstr "Erro ao obter diferenças: %s"
+
+#: gitk:8669
+msgid "Goto:"
+msgstr "Ir para:"
+
+#: gitk:8690
+#, tcl-format
+msgid "Short SHA1 id %s is ambiguous"
+msgstr "O id SHA1 abreviado %s é ambíguo"
+
+#: gitk:8697
+#, tcl-format
+msgid "Revision %s is not known"
+msgstr "A revisão %s não é conhecida"
+
+#: gitk:8707
+#, tcl-format
+msgid "SHA1 id %s is not known"
+msgstr "O id SHA1 %s não é conhecido"
+
+#: gitk:8709
+#, tcl-format
+msgid "Revision %s is not in the current view"
+msgstr "A revisão %s não se encontra na vista atual"
+
+#: gitk:8851 gitk:8866
+msgid "Date"
+msgstr "Data"
+
+#: gitk:8854
+msgid "Children"
+msgstr "Filhos"
+
+#: gitk:8917
+#, tcl-format
+msgid "Reset %s branch to here"
+msgstr "Repor o ramo %s para aqui"
+
+#: gitk:8919
+msgid "Detached head: can't reset"
+msgstr "Cabeça destacada: não é possível repor"
+
+#: gitk:9024 gitk:9030
+msgid "Skipping merge commit "
+msgstr "A ignorar commit de integração "
+
+#: gitk:9039 gitk:9044
+msgid "Error getting patch ID for "
+msgstr "Erro ao obter ID de patch de "
+
+#: gitk:9040 gitk:9045
+msgid " - stopping\n"
+msgstr " - a interromper\n"
+
+#: gitk:9050 gitk:9053 gitk:9061 gitk:9075 gitk:9084
+msgid "Commit "
+msgstr "Commit "
+
+#: gitk:9054
+msgid ""
+" is the same patch as\n"
+"       "
+msgstr ""
+" é o mesmo patch que\n"
+"       "
+
+#: gitk:9062
+msgid ""
+" differs from\n"
+"       "
+msgstr ""
+" difere de\n"
+"       "
+
+#: gitk:9064
+msgid ""
+"Diff of commits:\n"
+"\n"
+msgstr ""
+"Diferença dos commits:\n"
+"\n"
+
+#: gitk:9076 gitk:9085
+#, tcl-format
+msgid " has %s children - stopping\n"
+msgstr " tem %s filhos - a interromper\n"
+
+#: gitk:9104
+#, tcl-format
+msgid "Error writing commit to file: %s"
+msgstr "Erro ao escrever commit no ficheiro: %s"
+
+#: gitk:9110
+#, tcl-format
+msgid "Error diffing commits: %s"
+msgstr "Erro ao calcular as diferenças dos commits: %s"
+
+#: gitk:9156
+msgid "Top"
+msgstr "Topo"
+
+#: gitk:9157
+msgid "From"
+msgstr "De"
+
+#: gitk:9162
+msgid "To"
+msgstr "Para"
+
+#: gitk:9186
+msgid "Generate patch"
+msgstr "Gerar patch"
+
+#: gitk:9188
+msgid "From:"
+msgstr "De:"
+
+#: gitk:9197
+msgid "To:"
+msgstr "Para:"
+
+#: gitk:9206
+msgid "Reverse"
+msgstr "Reverter"
+
+#: gitk:9208 gitk:9418
+msgid "Output file:"
+msgstr "Ficheiro de saída:"
+
+#: gitk:9214
+msgid "Generate"
+msgstr "Gerar"
+
+#: gitk:9252
+msgid "Error creating patch:"
+msgstr "Erro ao criar patch:"
+
+#: gitk:9275 gitk:9406 gitk:9463
+msgid "ID:"
+msgstr "ID:"
+
+#: gitk:9284
+msgid "Tag name:"
+msgstr "Nome da tag:"
+
+#: gitk:9287
+msgid "Tag message is optional"
+msgstr "A mensagem da tag é opcional"
+
+#: gitk:9289
+msgid "Tag message:"
+msgstr "Mensagem da tag:"
+
+#: gitk:9293 gitk:9472
+msgid "Create"
+msgstr "Criar"
+
+#: gitk:9311
+msgid "No tag name specified"
+msgstr "Nenhum nome de tag especificado"
+
+#: gitk:9315
+#, tcl-format
+msgid "Tag \"%s\" already exists"
+msgstr "A tag \"%s\" já existe"
+
+#: gitk:9325
+msgid "Error creating tag:"
+msgstr "Erro ao criar tag:"
+
+#: gitk:9415
+msgid "Command:"
+msgstr "Comando:"
+
+#: gitk:9423
+msgid "Write"
+msgstr "Escrever"
+
+#: gitk:9441
+msgid "Error writing commit:"
+msgstr "Erro ao escrever commit:"
+
+#: gitk:9468
+msgid "Name:"
+msgstr "Nome:"
+
+#: gitk:9491
+msgid "Please specify a name for the new branch"
+msgstr "Especifique um nome para o novo ramo"
+
+#: gitk:9496
+#, tcl-format
+msgid "Branch '%s' already exists. Overwrite?"
+msgstr "O ramo '%s' já existe. Substituí-lo?"
+
+#: gitk:9563
+#, tcl-format
+msgid "Commit %s is already included in branch %s -- really re-apply it?"
+msgstr "O commit %s já está incluído no ramo %s -- reaplicá-lo mesmo assim?"
+
+#: gitk:9568
+msgid "Cherry-picking"
+msgstr "A efetuar cherry-pick"
+
+#: gitk:9577
+#, 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 ""
+"Falha ao efetuar cherry-pick devido a alterações locais no ficheiro '%s'.\n"
+"Submeta, empilhe ou reponha as alterações e tente de novo."
+
+#: gitk:9583
+msgid ""
+"Cherry-pick failed because of merge conflict.\n"
+"Do you wish to run git citool to resolve it?"
+msgstr ""
+"Falha ao efetuar cherry-pick devido a conflito de integração.\n"
+"Deseja executar git citool para resolvê-lo?"
+
+#: gitk:9599 gitk:9657
+msgid "No changes committed"
+msgstr "Não foi submetida nenhum alteração"
+
+#: gitk:9626
+#, tcl-format
+msgid "Commit %s is not included in branch %s -- really revert it?"
+msgstr "O commit %s não está incluído no ramo %s -- revertê-lo mesmo assim?"
+
+#: gitk:9631
+msgid "Reverting"
+msgstr "A reverter"
+
+#: gitk:9639
+#, 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 ""
+"Falha ao reverter devido a alterações locais nos seguintes ficheiros:%s "
+"Submeta, empilhe ou reponha as alterações e tente de novo."
+
+#: gitk:9643
+msgid ""
+"Revert failed because of merge conflict.\n"
+" Do you wish to run git citool to resolve it?"
+msgstr ""
+"Falha ao reverter devido a conflito de integração.\n"
+"Deseja executar git citool para resolvê-lo?"
+
+#: gitk:9686
+msgid "Confirm reset"
+msgstr "Confirmar reposição"
+
+#: gitk:9688
+#, tcl-format
+msgid "Reset branch %s to %s?"
+msgstr "Repor o ramo %s para %s?"
+
+#: gitk:9690
+msgid "Reset type:"
+msgstr "Tipo de reposição:"
+
+#: gitk:9693
+msgid "Soft: Leave working tree and index untouched"
+msgstr "Suave: Deixar a árvore de trabalho e o índice intactos"
+
+#: gitk:9696
+msgid "Mixed: Leave working tree untouched, reset index"
+msgstr "Misto: Deixar a árvore de trabalho intacta, repor índice"
+
+#: gitk:9699
+msgid ""
+"Hard: Reset working tree and index\n"
+"(discard ALL local changes)"
+msgstr ""
+"Forte: Repor árvore de trabalho e índice\n"
+"(descartar TODAS as alterações locais)"
+
+#: gitk:9716
+msgid "Resetting"
+msgstr "A repor"
+
+#: gitk:9776
+msgid "Checking out"
+msgstr "A extrair"
+
+#: gitk:9829
+msgid "Cannot delete the currently checked-out branch"
+msgstr "Não é possível eliminar o ramo atual extraído"
+
+#: gitk:9835
+#, tcl-format
+msgid ""
+"The commits on branch %s aren't on any other branch.\n"
+"Really delete branch %s?"
+msgstr ""
+"Os commits no ramo %s não estão presentes em mais nenhum ramo.\n"
+"Eliminar o ramo %s mesmo assim?"
+
+#: gitk:9866
+#, tcl-format
+msgid "Tags and heads: %s"
+msgstr "Tags e cabeças: %s"
+
+#: gitk:9883
+msgid "Filter"
+msgstr "Filtrar"
+
+#: gitk:10179
+msgid ""
+"Error reading commit topology information; branch and preceding/following "
+"tag information will be incomplete."
+msgstr ""
+"Erro ao ler informação de topologia do commit; a informação do ramo e da tag "
+"precedente/seguinte ficará incompleta."
+
+#: gitk:11156
+msgid "Tag"
+msgstr "Tag"
+
+#: gitk:11160
+msgid "Id"
+msgstr "Id"
+
+#: gitk:11243
+msgid "Gitk font chooser"
+msgstr "Escolha de tipo de letra do gitk"
+
+#: gitk:11260
+msgid "B"
+msgstr "B"
+
+#: gitk:11263
+msgid "I"
+msgstr "I"
+
+#: gitk:11381
+msgid "Commit list display options"
+msgstr "Opções de visualização da lista de commits"
+
+#: gitk:11384
+msgid "Maximum graph width (lines)"
+msgstr "Largura máxima do gráfico (linhas)"
+
+#: gitk:11388
+#, no-tcl-format
+msgid "Maximum graph width (% of pane)"
+msgstr "Largura máxima do gráfico (% do painel)"
+
+#: gitk:11391
+msgid "Show local changes"
+msgstr "Mostrar alterações locais"
+
+#: gitk:11394
+msgid "Auto-select SHA1 (length)"
+msgstr "Selecionar automaticamente SHA1 (largura)"
+
+#: gitk:11398
+msgid "Hide remote refs"
+msgstr "Ocultar referências remotas"
+
+#: gitk:11402
+msgid "Diff display options"
+msgstr "Opções de visualização de diferenças"
+
+#: gitk:11404
+msgid "Tab spacing"
+msgstr "Espaçamento da tabulação"
+
+#: gitk:11407
+msgid "Display nearby tags/heads"
+msgstr "Mostrar tags/cabeças próximas"
+
+#: gitk:11410
+msgid "Maximum # tags/heads to show"
+msgstr "Nº máximo de tags/cabeças a mostrar"
+
+#: gitk:11413
+msgid "Limit diffs to listed paths"
+msgstr "Limitar diferenças aos caminhos listados"
+
+#: gitk:11416
+msgid "Support per-file encodings"
+msgstr "Suportar codificação por cada ficheiro"
+
+#: gitk:11422 gitk:11569
+msgid "External diff tool"
+msgstr "Ferramenta diff externa"
+
+#: gitk:11423
+msgid "Choose..."
+msgstr "Escolher..."
+
+#: gitk:11428
+msgid "General options"
+msgstr "Opções gerais"
+
+#: gitk:11431
+msgid "Use themed widgets"
+msgstr "Usar widgets com estilo"
+
+#: gitk:11433
+msgid "(change requires restart)"
+msgstr "(alteração exige reiniciar)"
+
+#: gitk:11435
+msgid "(currently unavailable)"
+msgstr "(não disponível de momento)"
+
+#: gitk:11446
+msgid "Colors: press to choose"
+msgstr "Cores: pressione para escolher"
+
+#: gitk:11449
+msgid "Interface"
+msgstr "Interface"
+
+#: gitk:11450
+msgid "interface"
+msgstr "interface"
+
+#: gitk:11453
+msgid "Background"
+msgstr "Fundo"
+
+#: gitk:11454 gitk:11484
+msgid "background"
+msgstr "fundo"
+
+#: gitk:11457
+msgid "Foreground"
+msgstr "Primeiro plano"
+
+#: gitk:11458
+msgid "foreground"
+msgstr "primeiro plano"
+
+#: gitk:11461
+msgid "Diff: old lines"
+msgstr "Diff: linhas antigas"
+
+#: gitk:11462
+msgid "diff old lines"
+msgstr "diff linhas antigas"
+
+#: gitk:11466
+msgid "Diff: new lines"
+msgstr "Diff: linhas novas"
+
+#: gitk:11467
+msgid "diff new lines"
+msgstr "diff linhas novas"
+
+#: gitk:11471
+msgid "Diff: hunk header"
+msgstr "Diff: cabeçalho do excerto"
+
+#: gitk:11473
+msgid "diff hunk header"
+msgstr "diff cabeçalho do excerto"
+
+#: gitk:11477
+msgid "Marked line bg"
+msgstr "Fundo da linha marcada"
+
+#: gitk:11479
+msgid "marked line background"
+msgstr "fundo da linha marcada"
+
+#: gitk:11483
+msgid "Select bg"
+msgstr "Selecionar fundo"
+
+#: gitk:11492
+msgid "Fonts: press to choose"
+msgstr "Tipo de letra: pressione para escolher"
+
+#: gitk:11494
+msgid "Main font"
+msgstr "Tipo de letra principal"
+
+#: gitk:11495
+msgid "Diff display font"
+msgstr "Tipo de letra ao mostrar diferenças"
+
+#: gitk:11496
+msgid "User interface font"
+msgstr "Tipo de letra da interface de utilizador"
+
+#: gitk:11518
+msgid "Gitk preferences"
+msgstr "Preferências do gitk"
+
+#: gitk:11527
+msgid "General"
+msgstr "Geral"
+
+#: gitk:11528
+msgid "Colors"
+msgstr "Cores"
+
+#: gitk:11529
+msgid "Fonts"
+msgstr "Tipos de letra"
+
+#: gitk:11579
+#, tcl-format
+msgid "Gitk: choose color for %s"
+msgstr "Gitk: escolher cor de %s"
+
+#: gitk:12092
+msgid ""
+"Sorry, gitk cannot run with this version of Tcl/Tk.\n"
+" Gitk requires at least Tcl/Tk 8.4."
+msgstr ""
+"Não é possível executar o gitk com esta versão do Tcl/Tk.\n"
+"O gitk requer pelo menos Tcl/Tk 8.4."
+
+#: gitk:12302
+msgid "Cannot find a git repository here."
+msgstr "Não foi encontrado nenhum repositório git aqui."
+
+#: gitk:12349
+#, tcl-format
+msgid "Ambiguous argument '%s': both revision and filename"
+msgstr "Argumento '%s' ambíguo: pode ser uma revisão ou um ficheiro"
+
+#: gitk:12361
+msgid "Bad arguments to gitk:"
+msgstr "Argumentos do gitk incorretos:"
diff --git a/gitk-git/po/ru.po b/gitk-git/po/ru.po
index 17ed026..9b08c26 100644
--- a/gitk-git/po/ru.po
+++ b/gitk-git/po/ru.po
@@ -3,15 +3,15 @@
 # Translators:
 # 0xAX <kuleshovmail@gmail.com>, 2014
 # Alex Riesen <raa.lkml@gmail.com>, 2015
-# Dimitriy Ryazantcev <DJm00n@mail.ru>, 2015
+# Dimitriy Ryazantcev <DJm00n@mail.ru>, 2015-2016
 # Dmitry Potapov <dpotapov@gmail.com>, 2009
 # Skip <bsvskip@rambler.ru>, 2011
 msgid ""
 msgstr ""
 "Project-Id-Version: Git Russian Localization Project\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2015-05-17 14:32+1000\n"
-"PO-Revision-Date: 2015-10-12 10:14+0000\n"
+"POT-Creation-Date: 2016-12-15 00:18+0200\n"
+"PO-Revision-Date: 2016-12-14 22:23+0000\n"
 "Last-Translator: Dimitriy Ryazantcev <DJm00n@mail.ru>\n"
 "Language-Team: Russian (http://www.transifex.com/djm00n/git-po-ru/language/ru/)\n"
 "MIME-Version: 1.0\n"
@@ -24,11 +24,11 @@
 msgid "Couldn't get list of unmerged files:"
 msgstr "Невозможно получить список файлов незавершённой операции слияния:"
 
-#: gitk:212 gitk:2381
+#: gitk:212 gitk:2403
 msgid "Color words"
 msgstr "Цветные слова"
 
-#: gitk:217 gitk:2381 gitk:8220 gitk:8253
+#: gitk:217 gitk:2403 gitk:8249 gitk:8282
 msgid "Markup words"
 msgstr "Помеченые слова"
 
@@ -58,1272 +58,1314 @@
 msgid "Reading"
 msgstr "Чтение"
 
-#: gitk:496 gitk:4525
+#: gitk:496 gitk:4549
 msgid "Reading commits..."
 msgstr "Чтение коммитов..."
 
-#: gitk:499 gitk:1637 gitk:4528
+#: gitk:499 gitk:1641 gitk:4552
 msgid "No commits selected"
 msgstr "Ничего не выбрано"
 
-#: gitk:1445 gitk:4045 gitk:12432
+#: gitk:1449 gitk:4069 gitk:12583
 msgid "Command line"
 msgstr "Командная строка"
 
-#: gitk:1511
+#: gitk:1515
 msgid "Can't parse git log output:"
 msgstr "Ошибка обработки вывода команды git log:"
 
-#: gitk:1740
+#: gitk:1744
 msgid "No commit information available"
 msgstr "Нет информации о коммите"
 
-#: gitk:1903 gitk:1932 gitk:4315 gitk:9669 gitk:11241 gitk:11521
+#: gitk:1907 gitk:1936 gitk:4339 gitk:9789 gitk:11388 gitk:11668
 msgid "OK"
 msgstr "Ok"
 
-#: gitk:1934 gitk:4317 gitk:9196 gitk:9275 gitk:9391 gitk:9440 gitk:9671
-#: gitk:11242 gitk:11522
+#: gitk:1938 gitk:4341 gitk:9225 gitk:9304 gitk:9434 gitk:9520 gitk:9791
+#: gitk:11389 gitk:11669
 msgid "Cancel"
 msgstr "Отмена"
 
-#: gitk:2069
+#: gitk:2087
 msgid "&Update"
 msgstr "Обновить"
 
-#: gitk:2070
+#: gitk:2088
 msgid "&Reload"
 msgstr "Перечитать"
 
-#: gitk:2071
+#: gitk:2089
 msgid "Reread re&ferences"
 msgstr "Обновить список ссылок"
 
-#: gitk:2072
+#: gitk:2090
 msgid "&List references"
 msgstr "Список ссылок"
 
-#: gitk:2074
+#: gitk:2092
 msgid "Start git &gui"
 msgstr "Запустить git gui"
 
-#: gitk:2076
+#: gitk:2094
 msgid "&Quit"
 msgstr "Завершить"
 
-#: gitk:2068
+#: gitk:2086
 msgid "&File"
 msgstr "Файл"
 
-#: gitk:2080
+#: gitk:2098
 msgid "&Preferences"
 msgstr "Настройки"
 
-#: gitk:2079
+#: gitk:2097
 msgid "&Edit"
 msgstr "Редактировать"
 
-#: gitk:2084
+#: gitk:2102
 msgid "&New view..."
 msgstr "Новое представление..."
 
-#: gitk:2085
+#: gitk:2103
 msgid "&Edit view..."
 msgstr "Редактировать представление..."
 
-#: gitk:2086
+#: gitk:2104
 msgid "&Delete view"
 msgstr "Удалить представление"
 
-#: gitk:2088 gitk:4043
+#: gitk:2106
 msgid "&All files"
 msgstr "Все файлы"
 
-#: gitk:2083 gitk:4067
+#: gitk:2101
 msgid "&View"
 msgstr "Представление"
 
-#: gitk:2093 gitk:2103 gitk:3012
+#: gitk:2111 gitk:2121
 msgid "&About gitk"
 msgstr "О gitk"
 
-#: gitk:2094 gitk:2108
+#: gitk:2112 gitk:2126
 msgid "&Key bindings"
 msgstr "Назначения клавиатуры"
 
-#: gitk:2092 gitk:2107
+#: gitk:2110 gitk:2125
 msgid "&Help"
 msgstr "Подсказка"
 
-#: gitk:2185 gitk:8652
+#: gitk:2203 gitk:8681
 msgid "SHA1 ID:"
 msgstr "SHA1 ID:"
 
-#: gitk:2229
+#: gitk:2247
 msgid "Row"
 msgstr "Строка"
 
-#: gitk:2267
+#: gitk:2285
 msgid "Find"
 msgstr "Поиск"
 
-#: gitk:2295
+#: gitk:2313
 msgid "commit"
 msgstr "коммит"
 
-#: gitk:2299 gitk:2301 gitk:4687 gitk:4710 gitk:4734 gitk:6755 gitk:6827
-#: gitk:6912
+#: gitk:2317 gitk:2319 gitk:4711 gitk:4734 gitk:4758 gitk:6779 gitk:6851
+#: gitk:6936
 msgid "containing:"
 msgstr "содержащее:"
 
-#: gitk:2302 gitk:3526 gitk:3531 gitk:4763
+#: gitk:2320 gitk:3550 gitk:3555 gitk:4787
 msgid "touching paths:"
 msgstr "касательно файлов:"
 
-#: gitk:2303 gitk:4777
+#: gitk:2321 gitk:4801
 msgid "adding/removing string:"
 msgstr "добавив/удалив строку:"
 
-#: gitk:2304 gitk:4779
+#: gitk:2322 gitk:4803
 msgid "changing lines matching:"
 msgstr "изменяя совпадающие строки:"
 
-#: gitk:2313 gitk:2315 gitk:4766
+#: gitk:2331 gitk:2333 gitk:4790
 msgid "Exact"
 msgstr "Точно"
 
-#: gitk:2315 gitk:4854 gitk:6723
+#: gitk:2333 gitk:4878 gitk:6747
 msgid "IgnCase"
 msgstr "Игнорировать большие/маленькие"
 
-#: gitk:2315 gitk:4736 gitk:4852 gitk:6719
+#: gitk:2333 gitk:4760 gitk:4876 gitk:6743
 msgid "Regexp"
 msgstr "Регулярные выражения"
 
-#: gitk:2317 gitk:2318 gitk:4874 gitk:4904 gitk:4911 gitk:6848 gitk:6916
+#: gitk:2335 gitk:2336 gitk:4898 gitk:4928 gitk:4935 gitk:6872 gitk:6940
 msgid "All fields"
 msgstr "Во всех полях"
 
-#: gitk:2318 gitk:4871 gitk:4904 gitk:6786
+#: gitk:2336 gitk:4895 gitk:4928 gitk:6810
 msgid "Headline"
 msgstr "Заголовок"
 
-#: gitk:2319 gitk:4871 gitk:6786 gitk:6916 gitk:7389
+#: gitk:2337 gitk:4895 gitk:6810 gitk:6940 gitk:7413
 msgid "Comments"
 msgstr "Комментарии"
 
-#: gitk:2319 gitk:4871 gitk:4876 gitk:4911 gitk:6786 gitk:7324 gitk:8830
-#: gitk:8845
+#: gitk:2337 gitk:4895 gitk:4900 gitk:4935 gitk:6810 gitk:7348 gitk:8859
+#: gitk:8874
 msgid "Author"
 msgstr "Автор"
 
-#: gitk:2319 gitk:4871 gitk:6786 gitk:7326
+#: gitk:2337 gitk:4895 gitk:6810 gitk:7350
 msgid "Committer"
 msgstr "Коммитер"
 
-#: gitk:2350
+#: gitk:2371
 msgid "Search"
 msgstr "Найти"
 
-#: gitk:2358
+#: gitk:2379
 msgid "Diff"
 msgstr "Сравнить"
 
-#: gitk:2360
+#: gitk:2381
 msgid "Old version"
 msgstr "Старая версия"
 
-#: gitk:2362
+#: gitk:2383
 msgid "New version"
 msgstr "Новая версия"
 
-#: gitk:2364
+#: gitk:2386
 msgid "Lines of context"
 msgstr "Строк контекста"
 
-#: gitk:2374
+#: gitk:2396
 msgid "Ignore space change"
 msgstr "Игнорировать пробелы"
 
-#: gitk:2378 gitk:2380 gitk:7959 gitk:8206
+#: gitk:2400 gitk:2402 gitk:7983 gitk:8235
 msgid "Line diff"
 msgstr "Изменения строк"
 
-#: gitk:2445
+#: gitk:2467
 msgid "Patch"
 msgstr "Патч"
 
-#: gitk:2447
+#: gitk:2469
 msgid "Tree"
 msgstr "Файлы"
 
-#: gitk:2617 gitk:2637
+#: gitk:2639 gitk:2660
 msgid "Diff this -> selected"
 msgstr "Сравнить этот коммит с выделенным"
 
-#: gitk:2618 gitk:2638
+#: gitk:2640 gitk:2661
 msgid "Diff selected -> this"
 msgstr "Сравнить выделенный с этим коммитом"
 
-#: gitk:2619 gitk:2639
+#: gitk:2641 gitk:2662
 msgid "Make patch"
 msgstr "Создать патч"
 
-#: gitk:2620 gitk:9254
+#: gitk:2642 gitk:9283
 msgid "Create tag"
 msgstr "Создать метку"
 
-#: gitk:2621 gitk:9371
+#: gitk:2643
+msgid "Copy commit summary"
+msgstr "Копировать информацию о коммите"
+
+#: gitk:2644 gitk:9414
 msgid "Write commit to file"
 msgstr "Сохранить коммит в файл"
 
-#: gitk:2622 gitk:9428
+#: gitk:2645
 msgid "Create new branch"
 msgstr "Создать ветку"
 
-#: gitk:2623
+#: gitk:2646
 msgid "Cherry-pick this commit"
-msgstr "Отбор лучшего для этого коммита"
+msgstr "Копировать этот коммит в текущую ветку"
 
-#: gitk:2624
+#: gitk:2647
 msgid "Reset HEAD branch to here"
 msgstr "Установить HEAD на этот коммит"
 
-#: gitk:2625
+#: gitk:2648
 msgid "Mark this commit"
 msgstr "Пометить этот коммит"
 
-#: gitk:2626
+#: gitk:2649
 msgid "Return to mark"
 msgstr "Вернуться на пометку"
 
-#: gitk:2627
+#: gitk:2650
 msgid "Find descendant of this and mark"
 msgstr "Найти и пометить потомка этого коммита"
 
-#: gitk:2628
+#: gitk:2651
 msgid "Compare with marked commit"
 msgstr "Сравнить с помеченным коммитом"
 
-#: gitk:2629 gitk:2640
+#: gitk:2652 gitk:2663
 msgid "Diff this -> marked commit"
 msgstr "Сравнить выделенное с помеченным коммитом"
 
-#: gitk:2630 gitk:2641
+#: gitk:2653 gitk:2664
 msgid "Diff marked commit -> this"
 msgstr "Сравнить помеченный с этим коммитом"
 
-#: gitk:2631
+#: gitk:2654
 msgid "Revert this commit"
-msgstr "Возврат этого коммита"
+msgstr "Обратить изменения этого коммита"
 
-#: gitk:2647
+#: gitk:2670
 msgid "Check out this branch"
 msgstr "Перейти на эту ветку"
 
-#: gitk:2648
+#: gitk:2671
+msgid "Rename this branch"
+msgstr "Переименовать эту ветку"
+
+#: gitk:2672
 msgid "Remove this branch"
 msgstr "Удалить эту ветку"
 
-#: gitk:2649
+#: gitk:2673
 msgid "Copy branch name"
 msgstr "Копировать имя ветки"
 
-#: gitk:2656
+#: gitk:2680
 msgid "Highlight this too"
 msgstr "Подсветить этот тоже"
 
-#: gitk:2657
+#: gitk:2681
 msgid "Highlight this only"
 msgstr "Подсветить только этот"
 
-#: gitk:2658
+#: gitk:2682
 msgid "External diff"
 msgstr "Программа сравнения"
 
-#: gitk:2659
+#: gitk:2683
 msgid "Blame parent commit"
 msgstr "Авторы изменений родительского коммита"
 
-#: gitk:2660
+#: gitk:2684
 msgid "Copy path"
 msgstr "Копировать путь"
 
-#: gitk:2667
+#: gitk:2691
 msgid "Show origin of this line"
 msgstr "Показать источник этой строки"
 
-#: gitk:2668
+#: gitk:2692
 msgid "Run git gui blame on this line"
 msgstr "Запустить git gui blame для этой строки"
 
-#: gitk:3014
+#: gitk:3036
+msgid "About gitk"
+msgstr "О gitk"
+
+#: gitk:3038
 msgid ""
 "\n"
 "Gitk - a commit viewer for git\n"
 "\n"
-"Copyright  2005-2014 Paul Mackerras\n"
+"Copyright © 2005-2016 Paul Mackerras\n"
 "\n"
 "Use and redistribute under the terms of the GNU General Public License"
-msgstr "\nGitk - программа просмотра истории репозиториев git\n\n©  2005-2014 Paul Mackerras\n\nИспользование и распространение согласно условиям GNU General Public License"
+msgstr "\nGitk — программа просмотра истории репозиториев git\n\n© 2005-2016 Paul Mackerras\n\nИспользование и распространение согласно условиям GNU General Public License"
 
-#: gitk:3022 gitk:3089 gitk:9857
+#: gitk:3046 gitk:3113 gitk:10004
 msgid "Close"
 msgstr "Закрыть"
 
-#: gitk:3043
+#: gitk:3067
 msgid "Gitk key bindings"
 msgstr "Назначения клавиатуры в Gitk"
 
-#: gitk:3046
+#: gitk:3070
 msgid "Gitk key bindings:"
 msgstr "Назначения клавиатуры в Gitk:"
 
-#: gitk:3048
+#: gitk:3072
 #, tcl-format
 msgid "<%s-Q>\t\tQuit"
 msgstr "<%s-Q>\t\tЗавершить"
 
-#: gitk:3049
+#: gitk:3073
 #, tcl-format
 msgid "<%s-W>\t\tClose window"
 msgstr "<%s-W>\t\tЗакрыть окно"
 
-#: gitk:3050
+#: gitk:3074
 msgid "<Home>\t\tMove to first commit"
 msgstr "<Home>\t\tПерейти к первому коммиту"
 
-#: gitk:3051
+#: gitk:3075
 msgid "<End>\t\tMove to last commit"
 msgstr "<End>\t\tПерейти к последнему коммиту"
 
-#: gitk:3052
+#: gitk:3076
 msgid "<Up>, p, k\tMove up one commit"
 msgstr "<Up>, p, k\tПерейти на один коммит вверх"
 
-#: gitk:3053
+#: gitk:3077
 msgid "<Down>, n, j\tMove down one commit"
 msgstr "<Down>, n, j\tПерейти на один коммит вниз"
 
-#: gitk:3054
+#: gitk:3078
 msgid "<Left>, z, h\tGo back in history list"
 msgstr "<Left>, z, h\tПоказать ранее посещённое состояние"
 
-#: gitk:3055
+#: gitk:3079
 msgid "<Right>, x, l\tGo forward in history list"
 msgstr "<Right>, x, l\tПоказать следующий посещённый коммит"
 
-#: gitk:3056
+#: gitk:3080
 #, tcl-format
 msgid "<%s-n>\tGo to n-th parent of current commit in history list"
 msgstr "<%s-n>\tПерейти на n родителя от текущего коммита"
 
-#: gitk:3057
+#: gitk:3081
 msgid "<PageUp>\tMove up one page in commit list"
 msgstr "<PageUp>\tПерейти на страницу выше в списке коммитов"
 
-#: gitk:3058
+#: gitk:3082
 msgid "<PageDown>\tMove down one page in commit list"
 msgstr "<PageDown>\tПерейти на страницу ниже в списке коммитов"
 
-#: gitk:3059
+#: gitk:3083
 #, tcl-format
 msgid "<%s-Home>\tScroll to top of commit list"
 msgstr "<%s-Home>\tПерейти на начало списка коммитов"
 
-#: gitk:3060
+#: gitk:3084
 #, tcl-format
 msgid "<%s-End>\tScroll to bottom of commit list"
 msgstr "<%s-End>\tПерейти на конец списка коммитов"
 
-#: gitk:3061
+#: gitk:3085
 #, tcl-format
 msgid "<%s-Up>\tScroll commit list up one line"
 msgstr "<%s-Up>\tПровернуть список коммитов вверх"
 
-#: gitk:3062
+#: gitk:3086
 #, tcl-format
 msgid "<%s-Down>\tScroll commit list down one line"
 msgstr "<%s-Down>\tПровернуть список коммитов вниз"
 
-#: gitk:3063
+#: gitk:3087
 #, tcl-format
 msgid "<%s-PageUp>\tScroll commit list up one page"
 msgstr "<%s-PageUp>\tПровернуть список коммитов на страницу вверх"
 
-#: gitk:3064
+#: gitk:3088
 #, tcl-format
 msgid "<%s-PageDown>\tScroll commit list down one page"
 msgstr "<%s-PageDown>\tПровернуть список коммитов на страницу вниз"
 
-#: gitk:3065
+#: gitk:3089
 msgid "<Shift-Up>\tFind backwards (upwards, later commits)"
 msgstr "<Shift-Up>\tПоиск в обратном порядке (вверх, среди новых коммитов)"
 
-#: gitk:3066
+#: gitk:3090
 msgid "<Shift-Down>\tFind forwards (downwards, earlier commits)"
 msgstr "<Shift-Down>\tПоиск (вниз, среди старых коммитов)"
 
-#: gitk:3067
+#: gitk:3091
 msgid "<Delete>, b\tScroll diff view up one page"
 msgstr "<Delete>, b\tПрокрутить список изменений на страницу выше"
 
-#: gitk:3068
+#: gitk:3092
 msgid "<Backspace>\tScroll diff view up one page"
 msgstr "<Backspace>\tПрокрутить список изменений на страницу выше"
 
-#: gitk:3069
+#: gitk:3093
 msgid "<Space>\t\tScroll diff view down one page"
 msgstr "<Leertaste>\t\tПрокрутить список изменений на страницу ниже"
 
-#: gitk:3070
+#: gitk:3094
 msgid "u\t\tScroll diff view up 18 lines"
 msgstr "u\t\tПрокрутить список изменений на 18 строк вверх"
 
-#: gitk:3071
+#: gitk:3095
 msgid "d\t\tScroll diff view down 18 lines"
 msgstr "d\t\tПрокрутить список изменений на 18 строк вниз"
 
-#: gitk:3072
+#: gitk:3096
 #, tcl-format
 msgid "<%s-F>\t\tFind"
 msgstr "<%s-F>\t\tПоиск"
 
-#: gitk:3073
+#: gitk:3097
 #, tcl-format
 msgid "<%s-G>\t\tMove to next find hit"
 msgstr "<%s-G>\t\tПерейти к следующему найденному коммиту"
 
-#: gitk:3074
+#: gitk:3098
 msgid "<Return>\tMove to next find hit"
 msgstr "<Return>\tПерейти к следующему найденному коммиту"
 
-#: gitk:3075
+#: gitk:3099
 msgid "g\t\tGo to commit"
 msgstr "g\t\tПерейти на коммит"
 
-#: gitk:3076
+#: gitk:3100
 msgid "/\t\tFocus the search box"
 msgstr "/\t\tПерейти к полю поиска"
 
-#: gitk:3077
+#: gitk:3101
 msgid "?\t\tMove to previous find hit"
 msgstr "?\t\tПерейти к предыдущему найденному коммиту"
 
-#: gitk:3078
+#: gitk:3102
 msgid "f\t\tScroll diff view to next file"
 msgstr "f\t\tПрокрутить список изменений к следующему файлу"
 
-#: gitk:3079
+#: gitk:3103
 #, tcl-format
 msgid "<%s-S>\t\tSearch for next hit in diff view"
 msgstr "<%s-S>\t\tПродолжить поиск в списке изменений"
 
-#: gitk:3080
+#: gitk:3104
 #, tcl-format
 msgid "<%s-R>\t\tSearch for previous hit in diff view"
 msgstr "<%s-R>\t\tПерейти к предыдущему найденному тексту в списке изменений"
 
-#: gitk:3081
+#: gitk:3105
 #, tcl-format
 msgid "<%s-KP+>\tIncrease font size"
 msgstr "<%s-KP+>\tУвеличить размер шрифта"
 
-#: gitk:3082
+#: gitk:3106
 #, tcl-format
 msgid "<%s-plus>\tIncrease font size"
 msgstr "<%s-plus>\tУвеличить размер шрифта"
 
-#: gitk:3083
+#: gitk:3107
 #, tcl-format
 msgid "<%s-KP->\tDecrease font size"
 msgstr "<%s-KP->\tУменьшить размер шрифта"
 
-#: gitk:3084
+#: gitk:3108
 #, tcl-format
 msgid "<%s-minus>\tDecrease font size"
 msgstr "<%s-minus>\tУменьшить размер шрифта"
 
-#: gitk:3085
+#: gitk:3109
 msgid "<F5>\t\tUpdate"
 msgstr "<F5>\t\tОбновить"
 
-#: gitk:3550 gitk:3559
+#: gitk:3574 gitk:3583
 #, tcl-format
 msgid "Error creating temporary directory %s:"
 msgstr "Ошибка создания временного каталога %s:"
 
-#: gitk:3572
+#: gitk:3596
 #, tcl-format
 msgid "Error getting \"%s\" from %s:"
 msgstr "Ошибка получения «%s» из %s:"
 
-#: gitk:3635
+#: gitk:3659
 msgid "command failed:"
 msgstr "ошибка выполнения команды:"
 
-#: gitk:3784
+#: gitk:3808
 msgid "No such commit"
 msgstr "Коммит не найден"
 
-#: gitk:3798
+#: gitk:3822
 msgid "git gui blame: command failed:"
 msgstr "git gui blame: ошибка выполнения команды:"
 
-#: gitk:3829
+#: gitk:3853
 #, tcl-format
 msgid "Couldn't read merge head: %s"
 msgstr "Ошибка чтения MERGE_HEAD: %s"
 
-#: gitk:3837
+#: gitk:3861
 #, tcl-format
 msgid "Error reading index: %s"
 msgstr "Ошибка чтения индекса: %s"
 
-#: gitk:3862
+#: gitk:3886
 #, tcl-format
 msgid "Couldn't start git blame: %s"
 msgstr "Ошибка запуска git blame: %s"
 
-#: gitk:3865 gitk:6754
+#: gitk:3889 gitk:6778
 msgid "Searching"
 msgstr "Поиск"
 
-#: gitk:3897
+#: gitk:3921
 #, tcl-format
 msgid "Error running git blame: %s"
 msgstr "Ошибка выполнения git blame: %s"
 
-#: gitk:3925
+#: gitk:3949
 #, tcl-format
 msgid "That line comes from commit %s,  which is not in this view"
 msgstr "Эта строка принадлежит коммиту %s, который не показан в этом представлении"
 
-#: gitk:3939
+#: gitk:3963
 msgid "External diff viewer failed:"
 msgstr "Ошибка выполнения программы сравнения:"
 
-#: gitk:4070
+#: gitk:4067
+msgid "All files"
+msgstr "Все файлы"
+
+#: gitk:4091
+msgid "View"
+msgstr "Представление"
+
+#: gitk:4094
 msgid "Gitk view definition"
 msgstr "Gitk определение представлений"
 
-#: gitk:4074
+#: gitk:4098
 msgid "Remember this view"
 msgstr "Запомнить представление"
 
-#: gitk:4075
+#: gitk:4099
 msgid "References (space separated list):"
 msgstr "Ссылки (разделённые пробелом):"
 
-#: gitk:4076
+#: gitk:4100
 msgid "Branches & tags:"
 msgstr "Ветки и метки"
 
-#: gitk:4077
+#: gitk:4101
 msgid "All refs"
 msgstr "Все ссылки"
 
-#: gitk:4078
+#: gitk:4102
 msgid "All (local) branches"
 msgstr "Все (локальные) ветки"
 
-#: gitk:4079
+#: gitk:4103
 msgid "All tags"
 msgstr "Все метки"
 
-#: gitk:4080
+#: gitk:4104
 msgid "All remote-tracking branches"
 msgstr "Все внешние отслеживаемые ветки"
 
-#: gitk:4081
+#: gitk:4105
 msgid "Commit Info (regular expressions):"
 msgstr "Информация о коммите (регулярные выражения):"
 
-#: gitk:4082
+#: gitk:4106
 msgid "Author:"
 msgstr "Автор:"
 
-#: gitk:4083
+#: gitk:4107
 msgid "Committer:"
 msgstr "Коммитер:"
 
-#: gitk:4084
+#: gitk:4108
 msgid "Commit Message:"
 msgstr "Сообщение коммита:"
 
-#: gitk:4085
+#: gitk:4109
 msgid "Matches all Commit Info criteria"
 msgstr "Совпадает со всеми условиями информации о коммите"
 
-#: gitk:4086
+#: gitk:4110
 msgid "Matches no Commit Info criteria"
 msgstr "Не совпадает с условиями информации о коммите"
 
-#: gitk:4087
+#: gitk:4111
 msgid "Changes to Files:"
 msgstr "Изменения файлов:"
 
-#: gitk:4088
+#: gitk:4112
 msgid "Fixed String"
 msgstr "Обычная строка"
 
-#: gitk:4089
+#: gitk:4113
 msgid "Regular Expression"
 msgstr "Регулярное выражение:"
 
-#: gitk:4090
+#: gitk:4114
 msgid "Search string:"
 msgstr "Строка для поиска:"
 
-#: gitk:4091
+#: gitk:4115
 msgid ""
 "Commit Dates (\"2 weeks ago\", \"2009-03-17 15:27:38\", \"March 17, 2009 "
 "15:27:38\"):"
 msgstr "Даты коммита («2 недели назад», «2009-03-17 15:27:38», «17 марта 2009 15:27:38»):"
 
-#: gitk:4092
+#: gitk:4116
 msgid "Since:"
 msgstr "С даты:"
 
-#: gitk:4093
+#: gitk:4117
 msgid "Until:"
 msgstr "По дату:"
 
-#: gitk:4094
+#: gitk:4118
 msgid "Limit and/or skip a number of revisions (positive integer):"
 msgstr "Ограничить и/или пропустить количество редакций (положительное число):"
 
-#: gitk:4095
+#: gitk:4119
 msgid "Number to show:"
 msgstr "Показать количество:"
 
-#: gitk:4096
+#: gitk:4120
 msgid "Number to skip:"
 msgstr "Пропустить количество:"
 
-#: gitk:4097
+#: gitk:4121
 msgid "Miscellaneous options:"
 msgstr "Различные опции:"
 
-#: gitk:4098
+#: gitk:4122
 msgid "Strictly sort by date"
 msgstr "Строгая сортировка по дате"
 
-#: gitk:4099
+#: gitk:4123
 msgid "Mark branch sides"
 msgstr "Отметить стороны веток"
 
-#: gitk:4100
+#: gitk:4124
 msgid "Limit to first parent"
 msgstr "Ограничить первым предком"
 
-#: gitk:4101
+#: gitk:4125
 msgid "Simple history"
 msgstr "Упрощенная история"
 
-#: gitk:4102
+#: gitk:4126
 msgid "Additional arguments to git log:"
 msgstr "Дополнительные аргументы для git log:"
 
-#: gitk:4103
+#: gitk:4127
 msgid "Enter files and directories to include, one per line:"
 msgstr "Файлы и каталоги для ограничения истории, по одному на строку:"
 
-#: gitk:4104
+#: gitk:4128
 msgid "Command to generate more commits to include:"
 msgstr "Дополнительная команда для списка коммитов:"
 
-#: gitk:4228
+#: gitk:4252
 msgid "Gitk: edit view"
 msgstr "Gitk: изменить представление"
 
-#: gitk:4236
+#: gitk:4260
 msgid "-- criteria for selecting revisions"
 msgstr "— критерий поиска редакций"
 
-#: gitk:4241
+#: gitk:4265
 msgid "View Name"
 msgstr "Имя представления"
 
-#: gitk:4316
+#: gitk:4340
 msgid "Apply (F5)"
 msgstr "Применить (F5)"
 
-#: gitk:4354
+#: gitk:4378
 msgid "Error in commit selection arguments:"
 msgstr "Ошибка в параметрах выбора коммитов:"
 
-#: gitk:4409 gitk:4462 gitk:4924 gitk:4938 gitk:6208 gitk:12373 gitk:12374
+#: gitk:4433 gitk:4486 gitk:4948 gitk:4962 gitk:6232 gitk:12524 gitk:12525
 msgid "None"
 msgstr "Ни одного"
 
-#: gitk:5021 gitk:5026
+#: gitk:5045 gitk:5050
 msgid "Descendant"
 msgstr "Порождённое"
 
-#: gitk:5022
+#: gitk:5046
 msgid "Not descendant"
 msgstr "Не порождённое"
 
-#: gitk:5029 gitk:5034
+#: gitk:5053 gitk:5058
 msgid "Ancestor"
 msgstr "Предок"
 
-#: gitk:5030
+#: gitk:5054
 msgid "Not ancestor"
 msgstr "Не предок"
 
-#: gitk:5324
+#: gitk:5348
 msgid "Local changes checked in to index but not committed"
 msgstr "Проиндексированные изменения"
 
-#: gitk:5360
+#: gitk:5384
 msgid "Local uncommitted changes, not checked in to index"
 msgstr "Непроиндексированные изменения"
 
-#: gitk:7134
+#: gitk:7158
 msgid "and many more"
 msgstr "и многое другое"
 
-#: gitk:7137
+#: gitk:7161
 msgid "many"
 msgstr "много"
 
-#: gitk:7328
+#: gitk:7352
 msgid "Tags:"
 msgstr "Метки:"
 
-#: gitk:7345 gitk:7351 gitk:8825
+#: gitk:7369 gitk:7375 gitk:8854
 msgid "Parent"
 msgstr "Предок"
 
-#: gitk:7356
+#: gitk:7380
 msgid "Child"
 msgstr "Потомок"
 
-#: gitk:7365
+#: gitk:7389
 msgid "Branch"
 msgstr "Ветка"
 
-#: gitk:7368
+#: gitk:7392
 msgid "Follows"
 msgstr "Следует за"
 
-#: gitk:7371
+#: gitk:7395
 msgid "Precedes"
 msgstr "Предшествует"
 
-#: gitk:7966
+#: gitk:7990
 #, tcl-format
 msgid "Error getting diffs: %s"
 msgstr "Ошибка получения изменений: %s"
 
-#: gitk:8650
+#: gitk:8679
 msgid "Goto:"
 msgstr "Перейти к:"
 
-#: gitk:8671
+#: gitk:8700
 #, tcl-format
 msgid "Short SHA1 id %s is ambiguous"
 msgstr "Сокращённый SHA1 идентификатор %s неоднозначен"
 
-#: gitk:8678
+#: gitk:8707
 #, tcl-format
 msgid "Revision %s is not known"
 msgstr "Редакция %s не найдена"
 
-#: gitk:8688
+#: gitk:8717
 #, tcl-format
 msgid "SHA1 id %s is not known"
 msgstr "SHA1 идентификатор %s не найден"
 
-#: gitk:8690
+#: gitk:8719
 #, tcl-format
 msgid "Revision %s is not in the current view"
 msgstr "Редакция %s не найдена в текущем представлении"
 
-#: gitk:8832 gitk:8847
+#: gitk:8861 gitk:8876
 msgid "Date"
 msgstr "Дата"
 
-#: gitk:8835
+#: gitk:8864
 msgid "Children"
 msgstr "Потомки"
 
-#: gitk:8898
+#: gitk:8927
 #, tcl-format
 msgid "Reset %s branch to here"
 msgstr "Сбросить ветку %s на этот коммит"
 
-#: gitk:8900
+#: gitk:8929
 msgid "Detached head: can't reset"
 msgstr "Коммит не принадлежит ни одной ветке, сбросить невозможно"
 
-#: gitk:9005 gitk:9011
+#: gitk:9034 gitk:9040
 msgid "Skipping merge commit "
 msgstr "Пропускаю коммит-слияние"
 
-#: gitk:9020 gitk:9025
+#: gitk:9049 gitk:9054
 msgid "Error getting patch ID for "
 msgstr "Не удалось получить идентификатор патча для "
 
-#: gitk:9021 gitk:9026
+#: gitk:9050 gitk:9055
 msgid " - stopping\n"
 msgstr " — останов\n"
 
-#: gitk:9031 gitk:9034 gitk:9042 gitk:9056 gitk:9065
+#: gitk:9060 gitk:9063 gitk:9071 gitk:9085 gitk:9094
 msgid "Commit "
 msgstr "Коммит"
 
-#: gitk:9035
+#: gitk:9064
 msgid ""
 " is the same patch as\n"
 "       "
 msgstr " такой же патч, как и\n       "
 
-#: gitk:9043
+#: gitk:9072
 msgid ""
 " differs from\n"
 "       "
 msgstr " отличается от\n       "
 
-#: gitk:9045
+#: gitk:9074
 msgid ""
 "Diff of commits:\n"
 "\n"
 msgstr "Различия коммитов:\n\n"
 
-#: gitk:9057 gitk:9066
+#: gitk:9086 gitk:9095
 #, tcl-format
 msgid " has %s children - stopping\n"
 msgstr " является %s потомком — останов\n"
 
-#: gitk:9085
+#: gitk:9114
 #, tcl-format
 msgid "Error writing commit to file: %s"
 msgstr "Произошла ошибка при записи коммита в файл: %s"
 
-#: gitk:9091
+#: gitk:9120
 #, tcl-format
 msgid "Error diffing commits: %s"
 msgstr "Произошла ошибка при выводе различий коммитов: %s"
 
-#: gitk:9137
+#: gitk:9166
 msgid "Top"
 msgstr "Верх"
 
-#: gitk:9138
+#: gitk:9167
 msgid "From"
 msgstr "От"
 
-#: gitk:9143
+#: gitk:9172
 msgid "To"
 msgstr "До"
 
-#: gitk:9167
+#: gitk:9196
 msgid "Generate patch"
 msgstr "Создать патч"
 
-#: gitk:9169
+#: gitk:9198
 msgid "From:"
 msgstr "От:"
 
-#: gitk:9178
+#: gitk:9207
 msgid "To:"
 msgstr "До:"
 
-#: gitk:9187
+#: gitk:9216
 msgid "Reverse"
 msgstr "В обратном порядке"
 
-#: gitk:9189 gitk:9385
+#: gitk:9218 gitk:9428
 msgid "Output file:"
 msgstr "Файл для сохранения:"
 
-#: gitk:9195
+#: gitk:9224
 msgid "Generate"
 msgstr "Создать"
 
-#: gitk:9233
+#: gitk:9262
 msgid "Error creating patch:"
 msgstr "Ошибка создания патча:"
 
-#: gitk:9256 gitk:9373 gitk:9430
+#: gitk:9285 gitk:9416 gitk:9504
 msgid "ID:"
 msgstr "ID:"
 
-#: gitk:9265
+#: gitk:9294
 msgid "Tag name:"
 msgstr "Имя метки:"
 
-#: gitk:9268
+#: gitk:9297
 msgid "Tag message is optional"
 msgstr "Описание метки указывать не обязательно"
 
-#: gitk:9270
+#: gitk:9299
 msgid "Tag message:"
 msgstr "Описание метки:"
 
-#: gitk:9274 gitk:9439
+#: gitk:9303 gitk:9474
 msgid "Create"
 msgstr "Создать"
 
-#: gitk:9292
+#: gitk:9321
 msgid "No tag name specified"
 msgstr "Не задано имя метки"
 
-#: gitk:9296
+#: gitk:9325
 #, tcl-format
 msgid "Tag \"%s\" already exists"
 msgstr "Метка «%s» уже существует"
 
-#: gitk:9306
+#: gitk:9335
 msgid "Error creating tag:"
 msgstr "Ошибка создания метки:"
 
-#: gitk:9382
+#: gitk:9425
 msgid "Command:"
 msgstr "Команда:"
 
-#: gitk:9390
+#: gitk:9433
 msgid "Write"
 msgstr "Запись"
 
-#: gitk:9408
+#: gitk:9451
 msgid "Error writing commit:"
 msgstr "Произошла ошибка при записи коммита:"
 
-#: gitk:9435
+#: gitk:9473
+msgid "Create branch"
+msgstr "Создать ветку"
+
+#: gitk:9489
+#, tcl-format
+msgid "Rename branch %s"
+msgstr "Переименовать ветку %s"
+
+#: gitk:9490
+msgid "Rename"
+msgstr "Переименовать"
+
+#: gitk:9514
 msgid "Name:"
 msgstr "Имя:"
 
-#: gitk:9458
+#: gitk:9538
 msgid "Please specify a name for the new branch"
 msgstr "Укажите имя для новой ветки"
 
-#: gitk:9463
+#: gitk:9543
 #, tcl-format
 msgid "Branch '%s' already exists. Overwrite?"
 msgstr "Ветка «%s» уже существует. Переписать?"
 
-#: gitk:9530
+#: gitk:9587
+msgid "Please specify a new name for the branch"
+msgstr "Укажите имя для новой ветки"
+
+#: gitk:9650
 #, tcl-format
 msgid "Commit %s is already included in branch %s -- really re-apply it?"
 msgstr "Коммит %s уже включён в ветку %s. Продолжить операцию?"
 
-#: gitk:9535
+#: gitk:9655
 msgid "Cherry-picking"
-msgstr "Копирование изменений"
+msgstr "Копирование коммита"
 
-#: gitk:9544
+#: gitk:9664
 #, tcl-format
 msgid ""
 "Cherry-pick failed because of local changes to file '%s'.\n"
 "Please commit, reset or stash your changes and try again."
-msgstr "Отбор лучшего невозможен из-за изменений в файле «%s».\nЗакомитьте, сбросьте или спрячьте изменения и повторите операцию."
+msgstr "Копирование коммита невозможно из-за изменений в файле «%s».\nЗакоммитьте, сбросьте или спрячьте изменения и повторите операцию."
 
-#: gitk:9550
+#: gitk:9670
 msgid ""
 "Cherry-pick failed because of merge conflict.\n"
 "Do you wish to run git citool to resolve it?"
 msgstr "Копирование изменений невозможно из-за незавершённой операции слияния.\nЗапустить git citool для завершения этой операции?"
 
-#: gitk:9566 gitk:9624
+#: gitk:9686 gitk:9744
 msgid "No changes committed"
 msgstr "Изменения не закоммичены"
 
-#: gitk:9593
+#: gitk:9713
 #, tcl-format
 msgid "Commit %s is not included in branch %s -- really revert it?"
 msgstr "Коммит %s не включён в ветку %s. Продолжить операцию?"
 
-#: gitk:9598
+#: gitk:9718
 msgid "Reverting"
-msgstr "Возврат изменений"
+msgstr "Обращение изменений"
 
-#: gitk:9606
+#: gitk:9726
 #, tcl-format
 msgid ""
 "Revert failed because of local changes to the following files:%s Please "
 "commit, reset or stash  your changes and try again."
-msgstr "Возврат изменений коммита не удался из-за локальных изменений в указанных файлах: %s\nЗакомитьте, сбросьте или спрячьте изменения и повторите операцию."
+msgstr "Возврат изменений коммита не удался из-за локальных изменений в указанных файлах: %s\nЗакоммитьте, сбросьте или спрячьте изменения и повторите операцию."
 
-#: gitk:9610
+#: gitk:9730
 msgid ""
 "Revert failed because of merge conflict.\n"
 " Do you wish to run git citool to resolve it?"
 msgstr "Возврат изменений невозможен из-за незавершённой операции слияния.\nЗапустить git citool для завершения этой операции?"
 
-#: gitk:9653
+#: gitk:9773
 msgid "Confirm reset"
 msgstr "Подтвердите операцию перехода"
 
-#: gitk:9655
+#: gitk:9775
 #, tcl-format
 msgid "Reset branch %s to %s?"
 msgstr "Сбросить ветку %s на коммит %s?"
 
-#: gitk:9657
+#: gitk:9777
 msgid "Reset type:"
 msgstr "Тип операции перехода:"
 
-#: gitk:9660
+#: gitk:9780
 msgid "Soft: Leave working tree and index untouched"
 msgstr "Лёгкий: оставить рабочий каталог и индекс неизменными"
 
-#: gitk:9663
+#: gitk:9783
 msgid "Mixed: Leave working tree untouched, reset index"
 msgstr "Смешанный: оставить рабочий каталог неизменным, установить индекс"
 
-#: gitk:9666
+#: gitk:9786
 msgid ""
 "Hard: Reset working tree and index\n"
 "(discard ALL local changes)"
 msgstr "Жесткий: переписать индекс и рабочий каталог\n(все изменения в рабочем каталоге будут потеряны)"
 
-#: gitk:9683
+#: gitk:9803
 msgid "Resetting"
 msgstr "Сброс"
 
-#: gitk:9743
+#: gitk:9876
+#, tcl-format
+msgid "A local branch named %s exists already"
+msgstr "Локальная ветка с именем %s уже существует"
+
+#: gitk:9884
 msgid "Checking out"
 msgstr "Переход"
 
-#: gitk:9796
+#: gitk:9943
 msgid "Cannot delete the currently checked-out branch"
 msgstr "Активная ветка не может быть удалена"
 
-#: gitk:9802
+#: gitk:9949
 #, tcl-format
 msgid ""
 "The commits on branch %s aren't on any other branch.\n"
 "Really delete branch %s?"
 msgstr "Коммиты из ветки %s не принадлежат больше никакой другой ветке.\nДействительно удалить ветку %s?"
 
-#: gitk:9833
+#: gitk:9980
 #, tcl-format
 msgid "Tags and heads: %s"
 msgstr "Метки и ветки: %s"
 
-#: gitk:9850
+#: gitk:9997
 msgid "Filter"
 msgstr "Фильтровать"
 
-#: gitk:10146
+#: gitk:10293
 msgid ""
 "Error reading commit topology information; branch and preceding/following "
 "tag information will be incomplete."
 msgstr "Ошибка чтения истории проекта; информация о ветках и коммитах вокруг меток (до/после) может быть неполной."
 
-#: gitk:11123
+#: gitk:11270
 msgid "Tag"
 msgstr "Метка"
 
-#: gitk:11127
+#: gitk:11274
 msgid "Id"
 msgstr "Id"
 
-#: gitk:11210
+#: gitk:11357
 msgid "Gitk font chooser"
 msgstr "Шрифт Gitk"
 
-#: gitk:11227
+#: gitk:11374
 msgid "B"
 msgstr "Ж"
 
-#: gitk:11230
+#: gitk:11377
 msgid "I"
 msgstr "К"
 
-#: gitk:11348
+#: gitk:11495
 msgid "Commit list display options"
 msgstr "Параметры показа списка коммитов"
 
-#: gitk:11351
+#: gitk:11498
 msgid "Maximum graph width (lines)"
 msgstr "Макс. ширина графа (строк)"
 
-#: gitk:11355
+#: gitk:11502
 #, no-tcl-format
 msgid "Maximum graph width (% of pane)"
 msgstr "Макс. ширина графа (% ширины панели)"
 
-#: gitk:11358
+#: gitk:11505
 msgid "Show local changes"
 msgstr "Показывать изменения в рабочем каталоге"
 
-#: gitk:11361
+#: gitk:11508
 msgid "Auto-select SHA1 (length)"
 msgstr "Автоматически выделить SHA1 (длинна)"
 
-#: gitk:11365
+#: gitk:11512
 msgid "Hide remote refs"
 msgstr "Скрыть внешние ссылки"
 
-#: gitk:11369
+#: gitk:11516
 msgid "Diff display options"
 msgstr "Параметры показа изменений"
 
-#: gitk:11371
+#: gitk:11518
 msgid "Tab spacing"
 msgstr "Ширина табуляции"
 
-#: gitk:11374
+#: gitk:11521
 msgid "Display nearby tags/heads"
 msgstr "Показывать близкие метки/ветки"
 
-#: gitk:11377
+#: gitk:11524
 msgid "Maximum # tags/heads to show"
 msgstr "Показывать максимальное количество меток/веток"
 
-#: gitk:11380
+#: gitk:11527
 msgid "Limit diffs to listed paths"
 msgstr "Ограничить показ изменений выбранными файлами"
 
-#: gitk:11383
+#: gitk:11530
 msgid "Support per-file encodings"
 msgstr "Поддержка кодировок в отдельных файлах"
 
-#: gitk:11389 gitk:11536
+#: gitk:11536 gitk:11683
 msgid "External diff tool"
 msgstr "Программа для показа изменений"
 
-#: gitk:11390
+#: gitk:11537
 msgid "Choose..."
 msgstr "Выберите..."
 
-#: gitk:11395
+#: gitk:11542
 msgid "General options"
 msgstr "Общие опции"
 
-#: gitk:11398
+#: gitk:11545
 msgid "Use themed widgets"
 msgstr "Использовать стили виджетов"
 
-#: gitk:11400
+#: gitk:11547
 msgid "(change requires restart)"
 msgstr "(изменение потребует перезапуск)"
 
-#: gitk:11402
+#: gitk:11549
 msgid "(currently unavailable)"
 msgstr "(недоступно в данный момент)"
 
-#: gitk:11413
+#: gitk:11560
 msgid "Colors: press to choose"
 msgstr "Цвета: нажмите для выбора"
 
-#: gitk:11416
+#: gitk:11563
 msgid "Interface"
 msgstr "Интерфейс"
 
-#: gitk:11417
+#: gitk:11564
 msgid "interface"
 msgstr "интерфейс"
 
-#: gitk:11420
+#: gitk:11567
 msgid "Background"
 msgstr "Фон"
 
-#: gitk:11421 gitk:11451
+#: gitk:11568 gitk:11598
 msgid "background"
 msgstr "фон"
 
-#: gitk:11424
+#: gitk:11571
 msgid "Foreground"
 msgstr "Передний план"
 
-#: gitk:11425
+#: gitk:11572
 msgid "foreground"
 msgstr "передний план"
 
-#: gitk:11428
+#: gitk:11575
 msgid "Diff: old lines"
 msgstr "Изменения: старый текст"
 
-#: gitk:11429
+#: gitk:11576
 msgid "diff old lines"
 msgstr "старый текст изменения"
 
-#: gitk:11433
+#: gitk:11580
 msgid "Diff: new lines"
 msgstr "Изменения: новый текст"
 
-#: gitk:11434
+#: gitk:11581
 msgid "diff new lines"
 msgstr "новый текст изменения"
 
-#: gitk:11438
+#: gitk:11585
 msgid "Diff: hunk header"
 msgstr "Изменения: заголовок блока"
 
-#: gitk:11440
+#: gitk:11587
 msgid "diff hunk header"
 msgstr "заголовок блока изменений"
 
-#: gitk:11444
+#: gitk:11591
 msgid "Marked line bg"
 msgstr "Фон выбранной строки"
 
-#: gitk:11446
+#: gitk:11593
 msgid "marked line background"
 msgstr "фон выбранной строки"
 
-#: gitk:11450
+#: gitk:11597
 msgid "Select bg"
 msgstr "Выберите фон"
 
-#: gitk:11459
+#: gitk:11606
 msgid "Fonts: press to choose"
 msgstr "Шрифт: нажмите для выбора"
 
-#: gitk:11461
+#: gitk:11608
 msgid "Main font"
 msgstr "Основной шрифт"
 
-#: gitk:11462
+#: gitk:11609
 msgid "Diff display font"
 msgstr "Шрифт показа изменений"
 
-#: gitk:11463
+#: gitk:11610
 msgid "User interface font"
 msgstr "Шрифт интерфейса"
 
-#: gitk:11485
+#: gitk:11632
 msgid "Gitk preferences"
 msgstr "Настройки Gitk"
 
-#: gitk:11494
+#: gitk:11641
 msgid "General"
 msgstr "Общие"
 
-#: gitk:11495
+#: gitk:11642
 msgid "Colors"
 msgstr "Цвета"
 
-#: gitk:11496
+#: gitk:11643
 msgid "Fonts"
 msgstr "Шрифты"
 
-#: gitk:11546
+#: gitk:11693
 #, tcl-format
 msgid "Gitk: choose color for %s"
 msgstr "Gitk: выберите цвет для %s"
 
-#: gitk:12059
+#: gitk:12206
 msgid ""
 "Sorry, gitk cannot run with this version of Tcl/Tk.\n"
 " Gitk requires at least Tcl/Tk 8.4."
 msgstr "К сожалению gitk не может работать с этой версий Tcl/Tk.\nТребуется как минимум Tcl/Tk 8.4."
 
-#: gitk:12269
+#: gitk:12416
 msgid "Cannot find a git repository here."
 msgstr "Git-репозитарий не найден в текущем каталоге."
 
-#: gitk:12316
+#: gitk:12463
 #, tcl-format
 msgid "Ambiguous argument '%s': both revision and filename"
 msgstr "Неоднозначный аргумент «%s»: существует как редакция и как имя файла"
 
-#: gitk:12328
+#: gitk:12475
 msgid "Bad arguments to gitk:"
 msgstr "Неправильные аргументы для gitk:"
diff --git a/gitk-git/po/sv.po b/gitk-git/po/sv.po
index d9d4e87..2a06fe5 100644
--- a/gitk-git/po/sv.po
+++ b/gitk-git/po/sv.po
@@ -374,14 +374,14 @@
 "\n"
 "Gitk - a commit viewer for git\n"
 "\n"
-"Copyright © 2005-2014 Paul Mackerras\n"
+"Copyright © 2005-2016 Paul Mackerras\n"
 "\n"
 "Use and redistribute under the terms of the GNU General Public License"
 msgstr ""
 "\n"
 "Gitk - en incheckningsvisare för git\n"
 "\n"
-"Copyright © 2005-2014 Paul Mackerras\n"
+"Copyright © 2005-2016 Paul Mackerras\n"
 "\n"
 "Använd och vidareförmedla enligt villkoren i GNU General Public License"
 
@@ -1385,21 +1385,6 @@
 #~ msgid "mc"
 #~ msgstr "mc"
 
-#~ msgid ""
-#~ "\n"
-#~ "Gitk - a commit viewer for git\n"
-#~ "\n"
-#~ "Copyright © 2005-2015 Paul Mackerras\n"
-#~ "\n"
-#~ "Use and redistribute under the terms of the GNU General Public License"
-#~ msgstr ""
-#~ "\n"
-#~ "Gitk - en incheckningsvisare för git\n"
-#~ "\n"
-#~ "Copyright © 2005-2015 Paul Mackerras\n"
-#~ "\n"
-#~ "Använd och vidareförmedla enligt villkoren i GNU General Public License"
-
 #~ msgid "next"
 #~ msgstr "nästa"
 
diff --git a/gitk-git/po/vi.po b/gitk-git/po/vi.po
index 8966812..5967498 100644
--- a/gitk-git/po/vi.po
+++ b/gitk-git/po/vi.po
@@ -363,14 +363,14 @@
 "\n"
 "Gitk - a commit viewer for git\n"
 "\n"
-"Copyright © 2005-2014 Paul Mackerras\n"
+"Copyright © 2005-2016 Paul Mackerras\n"
 "\n"
 "Use and redistribute under the terms of the GNU General Public License"
 msgstr ""
 "\n"
 "Gitk - ứng dụng để xem các lần chuyển giao dành cho git\n"
 "\n"
-"Bản quyền © 2005-2014 Paul Mackerras\n"
+"Bản quyền © 2005-2016 Paul Mackerras\n"
 "\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"
 
diff --git a/gpg-interface.h b/gpg-interface.h
index ea68885..d2d4fd3 100644
--- a/gpg-interface.h
+++ b/gpg-interface.h
@@ -1,8 +1,9 @@
 #ifndef GPG_INTERFACE_H
 #define GPG_INTERFACE_H
 
-#define GPG_VERIFY_VERBOSE	1
-#define GPG_VERIFY_RAW		2
+#define GPG_VERIFY_VERBOSE		1
+#define GPG_VERIFY_RAW			2
+#define GPG_VERIFY_OMIT_STATUS	4
 
 struct signature_check {
 	char *payload;
diff --git a/graph.c b/graph.c
index d4e8519..8b9049d 100644
--- a/graph.c
+++ b/graph.c
@@ -3,6 +3,7 @@
 #include "color.h"
 #include "graph.h"
 #include "revision.h"
+#include "argv-array.h"
 
 /* Internal API */
 
@@ -79,6 +80,26 @@
 static const char **column_colors;
 static unsigned short column_colors_max;
 
+static void parse_graph_colors_config(struct argv_array *colors, const char *string)
+{
+	const char *end, *start;
+
+	start = string;
+	end = string + strlen(string);
+	while (start < end) {
+		const char *comma = strchrnul(start, ',');
+		char color[COLOR_MAXLEN];
+
+		if (!color_parse_mem(start, comma - start, color))
+			argv_array_push(colors, color);
+		else
+			warning(_("ignore invalid color '%.*s' in log.graphColors"),
+				(int)(comma - start), start);
+		start = comma + 1;
+	}
+	argv_array_push(colors, GIT_COLOR_RESET);
+}
+
 void graph_set_column_colors(const char **colors, unsigned short colors_max)
 {
 	column_colors = colors;
@@ -238,9 +259,22 @@
 {
 	struct git_graph *graph = xmalloc(sizeof(struct git_graph));
 
-	if (!column_colors)
-		graph_set_column_colors(column_colors_ansi,
-					column_colors_ansi_max);
+	if (!column_colors) {
+		char *string;
+		if (git_config_get_string("log.graphcolors", &string)) {
+			/* not configured -- use default */
+			graph_set_column_colors(column_colors_ansi,
+						column_colors_ansi_max);
+		} else {
+			static struct argv_array custom_colors = ARGV_ARRAY_INIT;
+			argv_array_clear(&custom_colors);
+			parse_graph_colors_config(&custom_colors, string);
+			free(string);
+			/* graph_set_column_colors takes a max-index, not a count */
+			graph_set_column_colors(custom_colors.argv,
+						custom_colors.argc - 1);
+		}
+	}
 
 	graph->commit = NULL;
 	graph->revs = opt;
@@ -463,7 +497,6 @@
 static void graph_update_columns(struct git_graph *graph)
 {
 	struct commit_list *parent;
-	struct column *tmp_columns;
 	int max_new_columns;
 	int mapping_idx;
 	int i, seen_this, is_commit_in_columns;
@@ -476,11 +509,8 @@
 	 * We'll re-use the old columns array as storage to compute the new
 	 * columns list for the commit after this one.
 	 */
-	tmp_columns = graph->columns;
-	graph->columns = graph->new_columns;
+	SWAP(graph->columns, graph->new_columns);
 	graph->num_columns = graph->num_new_columns;
-
-	graph->new_columns = tmp_columns;
 	graph->num_new_columns = 0;
 
 	/*
@@ -997,7 +1027,6 @@
 static void graph_output_collapsing_line(struct git_graph *graph, struct strbuf *sb)
 {
 	int i;
-	int *tmp_mapping;
 	short used_horizontal = 0;
 	int horizontal_edge = -1;
 	int horizontal_edge_target = -1;
@@ -1132,9 +1161,7 @@
 	/*
 	 * Swap mapping and new_mapping
 	 */
-	tmp_mapping = graph->mapping;
-	graph->mapping = graph->new_mapping;
-	graph->new_mapping = tmp_mapping;
+	SWAP(graph->mapping, graph->new_mapping);
 
 	/*
 	 * If graph->mapping indicates that all of the branch lines
diff --git a/grep.c b/grep.c
index 1194d35..47cee45 100644
--- a/grep.c
+++ b/grep.c
@@ -12,6 +12,11 @@
 
 static struct grep_opt grep_defaults;
 
+static void std_output(struct grep_opt *opt, const void *buf, size_t size)
+{
+	fwrite(buf, size, 1, stdout);
+}
+
 /*
  * Initialize the grep_defaults template with hardcoded defaults.
  * We could let the compiler do this, but without C99 initializers
@@ -42,6 +47,7 @@
 	color_set(opt->color_selected, "");
 	color_set(opt->color_sep, GIT_COLOR_CYAN);
 	opt->color = -1;
+	opt->output = std_output;
 }
 
 static int parse_pattern_type_arg(const char *opt, const char *arg)
@@ -152,6 +158,7 @@
 	opt->pathname = def->pathname;
 	opt->regflags = def->regflags;
 	opt->relative = def->relative;
+	opt->output = def->output;
 
 	color_set(opt->color_context, def->color_context);
 	color_set(opt->color_filename, def->color_filename);
@@ -1164,7 +1171,7 @@
 	}
 	if (opt->linenum) {
 		char buf[32];
-		snprintf(buf, sizeof(buf), "%d", lno);
+		xsnprintf(buf, sizeof(buf), "%d", lno);
 		output_color(opt, buf, strlen(buf), opt->color_lineno);
 		output_sep(opt, sign);
 	}
@@ -1379,11 +1386,6 @@
 	return 0;
 }
 
-static void std_output(struct grep_opt *opt, const void *buf, size_t size)
-{
-	fwrite(buf, size, 1, stdout);
-}
-
 static int fill_textconv_grep(struct userdiff_driver *driver,
 			      struct grep_source *gs)
 {
@@ -1651,7 +1653,7 @@
 				     opt->color_filename);
 			output_sep(opt, ':');
 		}
-		snprintf(buf, sizeof(buf), "%u\n", count);
+		xsnprintf(buf, sizeof(buf), "%u\n", count);
 		opt->output(opt, buf, strlen(buf));
 		return 1;
 	}
@@ -1735,12 +1737,23 @@
 	case GREP_SOURCE_FILE:
 		gs->identifier = xstrdup(identifier);
 		break;
+	case GREP_SOURCE_SUBMODULE:
+		if (!identifier) {
+			gs->identifier = NULL;
+			break;
+		}
+		/*
+		 * FALL THROUGH
+		 * If the identifier is non-NULL (in the submodule case) it
+		 * will be a SHA1 that needs to be copied.
+		 */
 	case GREP_SOURCE_SHA1:
 		gs->identifier = xmalloc(20);
 		hashcpy(gs->identifier, identifier);
 		break;
 	case GREP_SOURCE_BUF:
 		gs->identifier = NULL;
+		break;
 	}
 }
 
@@ -1760,6 +1773,7 @@
 	switch (gs->type) {
 	case GREP_SOURCE_FILE:
 	case GREP_SOURCE_SHA1:
+	case GREP_SOURCE_SUBMODULE:
 		free(gs->buf);
 		gs->buf = NULL;
 		gs->size = 0;
@@ -1831,8 +1845,10 @@
 		return grep_source_load_sha1(gs);
 	case GREP_SOURCE_BUF:
 		return gs->buf ? 0 : -1;
+	case GREP_SOURCE_SUBMODULE:
+		break;
 	}
-	die("BUG: invalid grep_source type");
+	die("BUG: invalid grep_source type to load");
 }
 
 void grep_source_load_driver(struct grep_source *gs)
diff --git a/grep.h b/grep.h
index 5856a23..267534c 100644
--- a/grep.h
+++ b/grep.h
@@ -161,6 +161,7 @@
 		GREP_SOURCE_SHA1,
 		GREP_SOURCE_FILE,
 		GREP_SOURCE_BUF,
+		GREP_SOURCE_SUBMODULE,
 	} type;
 	void *identifier;
 
diff --git a/hash.h b/hash.h
new file mode 100644
index 0000000..a11fc92
--- /dev/null
+++ b/hash.h
@@ -0,0 +1,16 @@
+#ifndef HASH_H
+#define HASH_H
+
+#if defined(SHA1_PPC)
+#include "ppc/sha1.h"
+#elif defined(SHA1_APPLE)
+#include <CommonCrypto/CommonDigest.h>
+#elif defined(SHA1_OPENSSL)
+#include <openssl/sha.h>
+#elif defined(SHA1_DC)
+#include "sha1dc/sha1.h"
+#else /* SHA1_BLK */
+#include "block-sha1/sha1.h"
+#endif
+
+#endif
diff --git a/help.c b/help.c
index 53e2a67..bc6cd19 100644
--- a/help.c
+++ b/help.c
@@ -105,7 +105,22 @@
 		return 0;
 
 #if defined(GIT_WINDOWS_NATIVE)
-{	/* cannot trust the executable bit, peek into the file instead */
+	/*
+	 * On Windows there is no executable bit. The file extension
+	 * indicates whether it can be run as an executable, and Git
+	 * has special-handling to detect scripts and launch them
+	 * through the indicated script interpreter. We test for the
+	 * file extension first because virus scanners may make
+	 * it quite expensive to open many files.
+	 */
+	if (ends_with(name, ".exe"))
+		return S_IXUSR;
+
+{
+	/*
+	 * Now that we know it does not have an executable extension,
+	 * peek into the file instead.
+	 */
 	char buf[3] = { 0 };
 	int n;
 	int fd = open(name, O_RDONLY);
@@ -113,8 +128,8 @@
 	if (fd >= 0) {
 		n = read(fd, buf, 2);
 		if (n == 2)
-			/* DOS executables start with "MZ" */
-			if (!strcmp(buf, "#!") || !strcmp(buf, "MZ"))
+			/* look for a she-bang */
+			if (!strcmp(buf, "#!"))
 				st.st_mode |= S_IXUSR;
 		close(fd);
 	}
diff --git a/hex.c b/hex.c
index 845b01a..28b4411 100644
--- a/hex.c
+++ b/hex.c
@@ -53,6 +53,14 @@
 	return get_sha1_hex(hex, oid->hash);
 }
 
+int parse_oid_hex(const char *hex, struct object_id *oid, const char **end)
+{
+	int ret = get_oid_hex(hex, oid);
+	if (!ret)
+		*end = hex + GIT_SHA1_HEXSZ;
+	return ret;
+}
+
 char *sha1_to_hex_r(char *buffer, const unsigned char *sha1)
 {
 	static const char hex[] = "0123456789abcdef";
@@ -77,7 +85,7 @@
 char *sha1_to_hex(const unsigned char *sha1)
 {
 	static int bufno;
-	static char hexbuffer[4][GIT_SHA1_HEXSZ + 1];
+	static char hexbuffer[4][GIT_MAX_HEXSZ + 1];
 	bufno = (bufno + 1) % ARRAY_SIZE(hexbuffer);
 	return sha1_to_hex_r(hexbuffer[bufno], sha1);
 }
diff --git a/http-push.c b/http-push.c
index 704b1c8..f0e3108 100644
--- a/http-push.c
+++ b/http-push.c
@@ -1431,11 +1431,9 @@
 	 */
 	if (repo->can_update_info_refs && !has_object_file(&ref->old_oid)) {
 		obj = lookup_unknown_object(ref->old_oid.hash);
-		if (obj) {
-			fprintf(stderr,	"  fetch %s for %s\n",
-				oid_to_hex(&ref->old_oid), refname);
-			add_fetch_request(obj);
-		}
+		fprintf(stderr,	"  fetch %s for %s\n",
+			oid_to_hex(&ref->old_oid), refname);
+		add_fetch_request(obj);
 	}
 
 	ref->next = remote_refs;
diff --git a/http-walker.c b/http-walker.c
index c2f81cd..ee049cb 100644
--- a/http-walker.c
+++ b/http-walker.c
@@ -3,6 +3,7 @@
 #include "walker.h"
 #include "http.h"
 #include "list.h"
+#include "transport.h"
 
 struct alt_base {
 	char *base;
@@ -160,6 +161,37 @@
 #endif
 }
 
+static int is_alternate_allowed(const char *url)
+{
+	const char *protocols[] = {
+		"http", "https", "ftp", "ftps"
+	};
+	int i;
+
+	if (http_follow_config != HTTP_FOLLOW_ALWAYS) {
+		warning("alternate disabled by http.followRedirects: %s", url);
+		return 0;
+	}
+
+	for (i = 0; i < ARRAY_SIZE(protocols); i++) {
+		const char *end;
+		if (skip_prefix(url, protocols[i], &end) &&
+		    starts_with(end, "://"))
+			break;
+	}
+
+	if (i >= ARRAY_SIZE(protocols)) {
+		warning("ignoring alternate with unknown protocol: %s", url);
+		return 0;
+	}
+	if (!is_transport_allowed(protocols[i], 0)) {
+		warning("ignoring alternate with restricted protocol: %s", url);
+		return 0;
+	}
+
+	return 1;
+}
+
 static void process_alternates_response(void *callback_data)
 {
 	struct alternates_request *alt_req =
@@ -269,22 +301,30 @@
 					okay = 1;
 				}
 			}
-			/* skip "objects\n" at end */
 			if (okay) {
 				struct strbuf target = STRBUF_INIT;
 				strbuf_add(&target, base, serverlen);
-				strbuf_add(&target, data + i, posn - i - 7);
-				warning("adding alternate object store: %s",
-					target.buf);
-				newalt = xmalloc(sizeof(*newalt));
-				newalt->next = NULL;
-				newalt->base = strbuf_detach(&target, NULL);
-				newalt->got_indices = 0;
-				newalt->packs = NULL;
+				strbuf_add(&target, data + i, posn - i);
+				if (!strbuf_strip_suffix(&target, "objects")) {
+					warning("ignoring alternate that does"
+						" not end in 'objects': %s",
+						target.buf);
+					strbuf_release(&target);
+				} else if (is_alternate_allowed(target.buf)) {
+					warning("adding alternate object store: %s",
+						target.buf);
+					newalt = xmalloc(sizeof(*newalt));
+					newalt->next = NULL;
+					newalt->base = strbuf_detach(&target, NULL);
+					newalt->got_indices = 0;
+					newalt->packs = NULL;
 
-				while (tail->next != NULL)
-					tail = tail->next;
-				tail->next = newalt;
+					while (tail->next != NULL)
+						tail = tail->next;
+					tail->next = newalt;
+				} else {
+					strbuf_release(&target);
+				}
 			}
 		}
 		i = posn + 1;
@@ -301,9 +341,6 @@
 	struct alternates_request alt_req;
 	struct walker_data *cdata = walker->data;
 
-	if (http_follow_config != HTTP_FOLLOW_ALWAYS)
-		return;
-
 	/*
 	 * If another request has already started fetching alternates,
 	 * wait for them to arrive and return to processing this request's
diff --git a/http.c b/http.c
index 051fe6e..8d94e2c 100644
--- a/http.c
+++ b/http.c
@@ -109,7 +109,7 @@
 struct credential http_auth = CREDENTIAL_INIT;
 static int http_proactive_auth;
 static const char *user_agent;
-static int curl_empty_auth;
+static int curl_empty_auth = -1;
 
 enum http_follow_config http_follow_config = HTTP_FOLLOW_INITIAL;
 
@@ -125,6 +125,14 @@
 static int ssl_cert_password_required;
 #ifdef LIBCURL_CAN_HANDLE_AUTH_ANY
 static unsigned long http_auth_methods = CURLAUTH_ANY;
+static int http_auth_methods_restricted;
+/* Modes for which empty_auth cannot actually help us. */
+static unsigned long empty_auth_useless =
+	CURLAUTH_BASIC
+#ifdef CURLAUTH_DIGEST_IE
+	| CURLAUTH_DIGEST_IE
+#endif
+	| CURLAUTH_DIGEST;
 #endif
 
 static struct curl_slist *pragma_header;
@@ -333,7 +341,10 @@
 		return git_config_string(&user_agent, var, value);
 
 	if (!strcmp("http.emptyauth", var)) {
-		curl_empty_auth = git_config_bool(var, value);
+		if (value && !strcmp("auto", value))
+			curl_empty_auth = -1;
+		else
+			curl_empty_auth = git_config_bool(var, value);
 		return 0;
 	}
 
@@ -382,10 +393,37 @@
 	return git_default_config(var, value, cb);
 }
 
+static int curl_empty_auth_enabled(void)
+{
+	if (curl_empty_auth >= 0)
+		return curl_empty_auth;
+
+#ifndef LIBCURL_CAN_HANDLE_AUTH_ANY
+	/*
+	 * Our libcurl is too old to do AUTH_ANY in the first place;
+	 * just default to turning the feature off.
+	 */
+#else
+	/*
+	 * In the automatic case, kick in the empty-auth
+	 * hack as long as we would potentially try some
+	 * method more exotic than "Basic" or "Digest".
+	 *
+	 * But only do this when this is our second or
+	 * subsequent request, as by then we know what
+	 * methods are available.
+	 */
+	if (http_auth_methods_restricted &&
+	    (http_auth_methods & ~empty_auth_useless))
+		return 1;
+#endif
+	return 0;
+}
+
 static void init_curl_http_auth(CURL *result)
 {
 	if (!http_auth.username || !*http_auth.username) {
-		if (curl_empty_auth)
+		if (curl_empty_auth_enabled())
 			curl_easy_setopt(result, CURLOPT_USERPWD, ":");
 		return;
 	}
@@ -636,11 +674,25 @@
 	curl_easy_setopt(handle, CURLOPT_DEBUGDATA, NULL);
 }
 
+static long get_curl_allowed_protocols(int from_user)
+{
+	long allowed_protocols = 0;
+
+	if (is_transport_allowed("http", from_user))
+		allowed_protocols |= CURLPROTO_HTTP;
+	if (is_transport_allowed("https", from_user))
+		allowed_protocols |= CURLPROTO_HTTPS;
+	if (is_transport_allowed("ftp", from_user))
+		allowed_protocols |= CURLPROTO_FTP;
+	if (is_transport_allowed("ftps", from_user))
+		allowed_protocols |= CURLPROTO_FTPS;
+
+	return allowed_protocols;
+}
 
 static CURL *get_curl_handle(void)
 {
 	CURL *result = curl_easy_init();
-	long allowed_protocols = 0;
 
 	if (!result)
 		die("curl_easy_init failed");
@@ -736,20 +788,13 @@
 	curl_easy_setopt(result, CURLOPT_POST301, 1);
 #endif
 #if LIBCURL_VERSION_NUM >= 0x071304
-	if (is_transport_allowed("http"))
-		allowed_protocols |= CURLPROTO_HTTP;
-	if (is_transport_allowed("https"))
-		allowed_protocols |= CURLPROTO_HTTPS;
-	if (is_transport_allowed("ftp"))
-		allowed_protocols |= CURLPROTO_FTP;
-	if (is_transport_allowed("ftps"))
-		allowed_protocols |= CURLPROTO_FTPS;
-	curl_easy_setopt(result, CURLOPT_REDIR_PROTOCOLS, allowed_protocols);
-	curl_easy_setopt(result, CURLOPT_PROTOCOLS, allowed_protocols);
+	curl_easy_setopt(result, CURLOPT_REDIR_PROTOCOLS,
+			 get_curl_allowed_protocols(0));
+	curl_easy_setopt(result, CURLOPT_PROTOCOLS,
+			 get_curl_allowed_protocols(-1));
 #else
-	if (transport_restrict_protocols())
-		warning("protocol restrictions not applied to curl redirects because\n"
-			"your curl version is too old (>= 7.19.4)");
+	warning("protocol restrictions not applied to curl redirects because\n"
+		"your curl version is too old (>= 7.19.4)");
 #endif
 	if (getenv("GIT_CURL_VERBOSE"))
 		curl_easy_setopt(result, CURLOPT_VERBOSE, 1L);
@@ -1072,7 +1117,7 @@
 #ifdef LIBCURL_CAN_HANDLE_AUTH_ANY
 	curl_easy_setopt(slot->curl, CURLOPT_HTTPAUTH, http_auth_methods);
 #endif
-	if (http_auth.password || curl_empty_auth)
+	if (http_auth.password || curl_empty_auth_enabled())
 		init_curl_http_auth(slot->curl);
 
 	return slot;
@@ -1321,9 +1366,9 @@
 		 * FAILONERROR it is lost, so we can give only the numeric
 		 * status code.
 		 */
-		snprintf(curl_errorstr, sizeof(curl_errorstr),
-			 "The requested URL returned error: %ld",
-			 results->http_code);
+		xsnprintf(curl_errorstr, sizeof(curl_errorstr),
+			  "The requested URL returned error: %ld",
+			  results->http_code);
 	}
 
 	if (results->curl_result == CURLE_OK) {
@@ -1340,6 +1385,10 @@
 		} else {
 #ifdef LIBCURL_CAN_HANDLE_AUTH_ANY
 			http_auth_methods &= ~CURLAUTH_GSSNEGOTIATE;
+			if (results->auth_avail) {
+				http_auth_methods &= results->auth_avail;
+				http_auth_methods_restricted = 1;
+			}
 #endif
 			return HTTP_REAUTH;
 		}
@@ -1361,8 +1410,8 @@
 {
 	slot->results = results;
 	if (!start_active_slot(slot)) {
-		snprintf(curl_errorstr, sizeof(curl_errorstr),
-			 "failed to start HTTP request");
+		xsnprintf(curl_errorstr, sizeof(curl_errorstr),
+			  "failed to start HTTP request");
 		return HTTP_START_FAILED;
 	}
 
@@ -1720,6 +1769,9 @@
 {
 	int ret = http_request(url, result, target, options);
 
+	if (ret != HTTP_OK && ret != HTTP_REAUTH)
+		return ret;
+
 	if (options && options->effective_url && options->base_url) {
 		if (update_url_from_redirect(options->base_url,
 					     url, options->effective_url)) {
diff --git a/ident.c b/ident.c
index ac4ae02..c0364fe 100644
--- a/ident.c
+++ b/ident.c
@@ -153,7 +153,7 @@
 
 const char *ident_default_name(void)
 {
-	if (!git_default_name.len) {
+	if (!(ident_config_given & IDENT_NAME_GIVEN) && !git_default_name.len) {
 		copy_gecos(xgetpwuid_self(&default_name_is_bogus), &git_default_name);
 		strbuf_trim(&git_default_name);
 	}
@@ -162,7 +162,7 @@
 
 const char *ident_default_email(void)
 {
-	if (!git_default_email.len) {
+	if (!(ident_config_given & IDENT_MAIL_GIVEN) && !git_default_email.len) {
 		const char *email = getenv("EMAIL");
 
 		if (email && email[0]) {
@@ -203,6 +203,15 @@
 		c == '\'';
 }
 
+static int has_non_crud(const char *str)
+{
+	for (; *str; str++) {
+		if (!crud(*str))
+			return 1;
+	}
+	return 0;
+}
+
 /*
  * Copy over a string to the destination, but avoid special
  * characters ('\n', '<' and '>') and remove crud at the end
@@ -351,19 +360,32 @@
 	int want_date = !(flag & IDENT_NO_DATE);
 	int want_name = !(flag & IDENT_NO_NAME);
 
+	if (!email) {
+		if (strict && ident_use_config_only
+		    && !(ident_config_given & IDENT_MAIL_GIVEN)) {
+			fputs(_(env_hint), stderr);
+			die(_("no email was given and auto-detection is disabled"));
+		}
+		email = ident_default_email();
+		if (strict && default_email_is_bogus) {
+			fputs(_(env_hint), stderr);
+			die(_("unable to auto-detect email address (got '%s')"), email);
+		}
+	}
+
 	if (want_name) {
 		int using_default = 0;
 		if (!name) {
 			if (strict && ident_use_config_only
 			    && !(ident_config_given & IDENT_NAME_GIVEN)) {
 				fputs(_(env_hint), stderr);
-				die("no name was given and auto-detection is disabled");
+				die(_("no name was given and auto-detection is disabled"));
 			}
 			name = ident_default_name();
 			using_default = 1;
 			if (strict && default_name_is_bogus) {
 				fputs(_(env_hint), stderr);
-				die("unable to auto-detect name (got '%s')", name);
+				die(_("unable to auto-detect name (got '%s')"), name);
 			}
 		}
 		if (!*name) {
@@ -371,24 +393,13 @@
 			if (strict) {
 				if (using_default)
 					fputs(_(env_hint), stderr);
-				die("empty ident name (for <%s>) not allowed", email);
+				die(_("empty ident name (for <%s>) not allowed"), email);
 			}
 			pw = xgetpwuid_self(NULL);
 			name = pw->pw_name;
 		}
-	}
-
-	if (!email) {
-		if (strict && ident_use_config_only
-		    && !(ident_config_given & IDENT_MAIL_GIVEN)) {
-			fputs(_(env_hint), stderr);
-			die("no email was given and auto-detection is disabled");
-		}
-		email = ident_default_email();
-		if (strict && default_email_is_bogus) {
-			fputs(_(env_hint), stderr);
-			die("unable to auto-detect email address (got '%s')", email);
-		}
+		if (strict && !has_non_crud(name))
+			die(_("name consists only of disallowed characters: %s"), name);
 	}
 
 	strbuf_reset(&ident);
@@ -403,7 +414,7 @@
 		strbuf_addch(&ident, ' ');
 		if (date_str && date_str[0]) {
 			if (parse_date(date_str, &ident) < 0)
-				die("invalid date format: %s", date_str);
+				die(_("invalid date format: %s"), date_str);
 		}
 		else
 			strbuf_addstr(&ident, ident_default_date());
diff --git a/imap-send.c b/imap-send.c
index 5c7e27a..8575916 100644
--- a/imap-send.c
+++ b/imap-send.c
@@ -964,7 +964,7 @@
 		int gai;
 		char portstr[6];
 
-		snprintf(portstr, sizeof(portstr), "%d", srvc->port);
+		xsnprintf(portstr, sizeof(portstr), "%d", srvc->port);
 
 		memset(&hints, 0, sizeof(hints));
 		hints.ai_socktype = SOCK_STREAM;
diff --git a/line-log.c b/line-log.c
index 65f3558..a23b910 100644
--- a/line-log.c
+++ b/line-log.c
@@ -43,9 +43,10 @@
 static void range_set_copy(struct range_set *dst, struct range_set *src)
 {
 	range_set_init(dst, src->nr);
-	memcpy(dst->ranges, src->ranges, src->nr*sizeof(struct range_set));
+	COPY_ARRAY(dst->ranges, src->ranges, src->nr);
 	dst->nr = src->nr;
 }
+
 static void range_set_move(struct range_set *dst, struct range_set *src)
 {
 	range_set_release(dst);
@@ -144,7 +145,7 @@
 static void range_set_union(struct range_set *out,
 			     struct range_set *a, struct range_set *b)
 {
-	int i = 0, j = 0, o = 0;
+	int i = 0, j = 0;
 	struct range *ra = a->ranges;
 	struct range *rb = b->ranges;
 	/* cannot make an alias of out->ranges: it may change during grow */
@@ -167,16 +168,15 @@
 			new = &rb[j++];
 		if (new->start == new->end)
 			; /* empty range */
-		else if (!o || out->ranges[o-1].end < new->start) {
+		else if (!out->nr || out->ranges[out->nr-1].end < new->start) {
 			range_set_grow(out, 1);
-			out->ranges[o].start = new->start;
-			out->ranges[o].end = new->end;
-			o++;
-		} else if (out->ranges[o-1].end < new->end) {
-			out->ranges[o-1].end = new->end;
+			out->ranges[out->nr].start = new->start;
+			out->ranges[out->nr].end = new->end;
+			out->nr++;
+		} else if (out->ranges[out->nr-1].end < new->end) {
+			out->ranges[out->nr-1].end = new->end;
 		}
 	}
-	out->nr = o;
 }
 
 /*
diff --git a/line-range.c b/line-range.c
index de4e32f..323399d 100644
--- a/line-range.c
+++ b/line-range.c
@@ -269,8 +269,7 @@
 		return -1;
 
 	if (*begin && *end && *end < *begin) {
-		long tmp;
-		tmp = *end; *end = *begin; *begin = tmp;
+		SWAP(*end, *begin);
 	}
 
 	return 0;
diff --git a/ll-merge.c b/ll-merge.c
index ad8be42..ac0d4a5 100644
--- a/ll-merge.c
+++ b/ll-merge.c
@@ -336,15 +336,6 @@
 	return &ll_merge_drv[LL_TEXT_MERGE];
 }
 
-static int git_path_check_merge(const char *path, struct git_attr_check check[2])
-{
-	if (!check[0].attr) {
-		check[0].attr = git_attr("merge");
-		check[1].attr = git_attr("conflict-marker-size");
-	}
-	return git_check_attr(path, 2, check);
-}
-
 static void normalize_file(mmfile_t *mm, const char *path)
 {
 	struct strbuf strbuf = STRBUF_INIT;
@@ -362,7 +353,7 @@
 	     mmfile_t *theirs, const char *their_label,
 	     const struct ll_merge_options *opts)
 {
-	static struct git_attr_check check[2];
+	static struct attr_check *check;
 	static const struct ll_merge_options default_opts;
 	const char *ll_driver_name = NULL;
 	int marker_size = DEFAULT_CONFLICT_MARKER_SIZE;
@@ -376,10 +367,14 @@
 		normalize_file(ours, path);
 		normalize_file(theirs, path);
 	}
-	if (!git_path_check_merge(path, check)) {
-		ll_driver_name = check[0].value;
-		if (check[1].value) {
-			marker_size = atoi(check[1].value);
+
+	if (!check)
+		check = attr_check_initl("merge", "conflict-marker-size", NULL);
+
+	if (!git_check_attr(path, check)) {
+		ll_driver_name = check->items[0].value;
+		if (check->items[1].value) {
+			marker_size = atoi(check->items[1].value);
 			if (marker_size <= 0)
 				marker_size = DEFAULT_CONFLICT_MARKER_SIZE;
 		}
@@ -398,13 +393,13 @@
 
 int ll_merge_marker_size(const char *path)
 {
-	static struct git_attr_check check;
+	static struct attr_check *check;
 	int marker_size = DEFAULT_CONFLICT_MARKER_SIZE;
 
-	if (!check.attr)
-		check.attr = git_attr("conflict-marker-size");
-	if (!git_check_attr(path, 1, &check) && check.value) {
-		marker_size = atoi(check.value);
+	if (!check)
+		check = attr_check_initl("conflict-marker-size", NULL);
+	if (!git_check_attr(path, check) && check->items[0].value) {
+		marker_size = atoi(check->items[0].value);
 		if (marker_size <= 0)
 			marker_size = DEFAULT_CONFLICT_MARKER_SIZE;
 	}
diff --git a/lockfile.c b/lockfile.c
index 9268cdf..aa69210 100644
--- a/lockfile.c
+++ b/lockfile.c
@@ -174,8 +174,16 @@
 				      int flags, long timeout_ms)
 {
 	int fd = lock_file_timeout(lk, path, flags, timeout_ms);
-	if (fd < 0 && (flags & LOCK_DIE_ON_ERROR))
-		unable_to_lock_die(path, errno);
+	if (fd < 0) {
+		if (flags & LOCK_DIE_ON_ERROR)
+			unable_to_lock_die(path, errno);
+		if (flags & LOCK_REPORT_ON_ERROR) {
+			struct strbuf buf = STRBUF_INIT;
+			unable_to_lock_message(path, errno, &buf);
+			error("%s", buf.buf);
+			strbuf_release(&buf);
+		}
+	}
 	return fd;
 }
 
diff --git a/lockfile.h b/lockfile.h
index d26ad27..7b715f9 100644
--- a/lockfile.h
+++ b/lockfile.h
@@ -129,11 +129,17 @@
 /*
  * If a lock is already taken for the file, `die()` with an error
  * message. If this flag is not specified, trying to lock a file that
- * is already locked returns -1 to the caller.
+ * is already locked silently returns -1 to the caller, or ...
  */
 #define LOCK_DIE_ON_ERROR 1
 
 /*
+ * ... this flag can be passed instead to return -1 and give the usual
+ * error message upon an error.
+ */
+#define LOCK_REPORT_ON_ERROR 4
+
+/*
  * Usually symbolic links in the destination path are resolved. This
  * means that (1) the lockfile is created by adding ".lock" to the
  * resolved path, and (2) upon commit, the resolved path is
diff --git a/log-tree.c b/log-tree.c
index 8c24157..4618dd0 100644
--- a/log-tree.c
+++ b/log-tree.c
@@ -332,35 +332,31 @@
 	strbuf_release(&subject);
 }
 
+void fmt_output_email_subject(struct strbuf *sb, struct rev_info *opt)
+{
+	if (opt->total > 0) {
+		strbuf_addf(sb, "Subject: [%s%s%0*d/%d] ",
+			    opt->subject_prefix,
+			    *opt->subject_prefix ? " " : "",
+			    digits_in_number(opt->total),
+			    opt->nr, opt->total);
+	} else if (opt->total == 0 && opt->subject_prefix && *opt->subject_prefix) {
+		strbuf_addf(sb, "Subject: [%s] ",
+			    opt->subject_prefix);
+	} else {
+		strbuf_addstr(sb, "Subject: ");
+	}
+}
+
 void log_write_email_headers(struct rev_info *opt, struct commit *commit,
-			     const char **subject_p,
 			     const char **extra_headers_p,
 			     int *need_8bit_cte_p)
 {
-	const char *subject = NULL;
 	const char *extra_headers = opt->extra_headers;
 	const char *name = oid_to_hex(opt->zero_commit ?
 				      &null_oid : &commit->object.oid);
 
 	*need_8bit_cte_p = 0; /* unknown */
-	if (opt->total > 0) {
-		static char buffer[64];
-		snprintf(buffer, sizeof(buffer),
-			 "Subject: [%s%s%0*d/%d] ",
-			 opt->subject_prefix,
-			 *opt->subject_prefix ? " " : "",
-			 digits_in_number(opt->total),
-			 opt->nr, opt->total);
-		subject = buffer;
-	} else if (opt->total == 0 && opt->subject_prefix && *opt->subject_prefix) {
-		static char buffer[256];
-		snprintf(buffer, sizeof(buffer),
-			 "Subject: [%s] ",
-			 opt->subject_prefix);
-		subject = buffer;
-	} else {
-		subject = "Subject: ";
-	}
 
 	fprintf(opt->diffopt.file, "From %s Mon Sep 17 00:00:00 2001\n", name);
 	graph_show_oneline(opt->graph);
@@ -417,7 +413,6 @@
 		opt->diffopt.stat_sep = buffer;
 		strbuf_release(&filename);
 	}
-	*subject_p = subject;
 	*extra_headers_p = extra_headers;
 }
 
@@ -602,8 +597,10 @@
 	 */
 
 	if (cmit_fmt_is_mail(opt->commit_format)) {
-		log_write_email_headers(opt, commit, &ctx.subject, &extra_headers,
+		log_write_email_headers(opt, commit, &extra_headers,
 					&ctx.need_8bit_cte);
+		ctx.rev = opt;
+		ctx.print_email_subject = 1;
 	} else if (opt->commit_format != CMIT_FMT_USERFORMAT) {
 		fputs(diff_get_color_opt(&opt->diffopt, DIFF_COMMIT), opt->diffopt.file);
 		if (opt->commit_format != CMIT_FMT_ONELINE)
diff --git a/log-tree.h b/log-tree.h
index c8116e6..48f11fb 100644
--- a/log-tree.h
+++ b/log-tree.h
@@ -22,7 +22,6 @@
 			     format_decorations_extended((strbuf), (commit), (color), " (", ", ", ")")
 void show_decorations(struct rev_info *opt, struct commit *commit);
 void log_write_email_headers(struct rev_info *opt, struct commit *commit,
-			     const char **subject_p,
 			     const char **extra_headers_p,
 			     int *need_8bit_cte_p);
 void load_ref_decorations(int flags);
@@ -30,5 +29,6 @@
 #define FORMAT_PATCH_NAME_MAX 64
 void fmt_output_commit(struct strbuf *, struct commit *, struct rev_info *);
 void fmt_output_subject(struct strbuf *, const char *subject, struct rev_info *);
+void fmt_output_email_subject(struct strbuf *, struct rev_info *);
 
 #endif
diff --git a/mailinfo.c b/mailinfo.c
index a489d9d..6803775 100644
--- a/mailinfo.c
+++ b/mailinfo.c
@@ -757,8 +757,13 @@
 	assert(!mi->filter_stage);
 
 	if (mi->header_stage) {
-		if (!line->len || (line->len == 1 && line->buf[0] == '\n'))
+		if (!line->len || (line->len == 1 && line->buf[0] == '\n')) {
+			if (mi->inbody_header_accum.len) {
+				flush_inbody_header_accum(mi);
+				mi->header_stage = 0;
+			}
 			return 0;
+		}
 	}
 
 	if (mi->use_inbody_headers && mi->header_stage) {
diff --git a/merge-recursive.c b/merge-recursive.c
index 23d6992..62decd5 100644
--- a/merge-recursive.c
+++ b/merge-recursive.c
@@ -1061,16 +1061,20 @@
 }
 
 static int handle_change_delete(struct merge_options *o,
-				 const char *path,
+				 const char *path, const char *old_path,
 				 const struct object_id *o_oid, int o_mode,
-				 const struct object_id *a_oid, int a_mode,
-				 const struct object_id *b_oid, int b_mode,
+				 const struct object_id *changed_oid,
+				 int changed_mode,
+				 const char *change_branch,
+				 const char *delete_branch,
 				 const char *change, const char *change_past)
 {
-	char *renamed = NULL;
+	char *alt_path = NULL;
+	const char *update_path = path;
 	int ret = 0;
+
 	if (dir_in_way(path, !o->call_depth, 0)) {
-		renamed = unique_path(o, path, a_oid ? o->branch1 : o->branch2);
+		update_path = alt_path = unique_path(o, path, change_branch);
 	}
 
 	if (o->call_depth) {
@@ -1081,43 +1085,43 @@
 		 */
 		ret = remove_file_from_cache(path);
 		if (!ret)
-			ret = update_file(o, 0, o_oid, o_mode,
-					  renamed ? renamed : path);
-	} else if (!a_oid) {
-		if (!renamed) {
-			output(o, 1, _("CONFLICT (%s/delete): %s deleted in %s "
-			       "and %s in %s. Version %s of %s left in tree."),
-			       change, path, o->branch1, change_past,
-			       o->branch2, o->branch2, path);
-			ret = update_file(o, 0, b_oid, b_mode, path);
-		} else {
-			output(o, 1, _("CONFLICT (%s/delete): %s deleted in %s "
-			       "and %s in %s. Version %s of %s left in tree at %s."),
-			       change, path, o->branch1, change_past,
-			       o->branch2, o->branch2, path, renamed);
-			ret = update_file(o, 0, b_oid, b_mode, renamed);
-		}
+			ret = update_file(o, 0, o_oid, o_mode, update_path);
 	} else {
-		if (!renamed) {
-			output(o, 1, _("CONFLICT (%s/delete): %s deleted in %s "
-			       "and %s in %s. Version %s of %s left in tree."),
-			       change, path, o->branch2, change_past,
-			       o->branch1, o->branch1, path);
+		if (!alt_path) {
+			if (!old_path) {
+				output(o, 1, _("CONFLICT (%s/delete): %s deleted in %s "
+				       "and %s in %s. Version %s of %s left in tree."),
+				       change, path, delete_branch, change_past,
+				       change_branch, change_branch, path);
+			} else {
+				output(o, 1, _("CONFLICT (%s/delete): %s deleted in %s "
+				       "and %s to %s in %s. Version %s of %s left in tree."),
+				       change, old_path, delete_branch, change_past, path,
+				       change_branch, change_branch, path);
+			}
 		} else {
-			output(o, 1, _("CONFLICT (%s/delete): %s deleted in %s "
-			       "and %s in %s. Version %s of %s left in tree at %s."),
-			       change, path, o->branch2, change_past,
-			       o->branch1, o->branch1, path, renamed);
-			ret = update_file(o, 0, a_oid, a_mode, renamed);
+			if (!old_path) {
+				output(o, 1, _("CONFLICT (%s/delete): %s deleted in %s "
+				       "and %s in %s. Version %s of %s left in tree at %s."),
+				       change, path, delete_branch, change_past,
+				       change_branch, change_branch, path, alt_path);
+			} else {
+				output(o, 1, _("CONFLICT (%s/delete): %s deleted in %s "
+				       "and %s to %s in %s. Version %s of %s left in tree at %s."),
+				       change, old_path, delete_branch, change_past, path,
+				       change_branch, change_branch, path, alt_path);
+			}
 		}
 		/*
-		 * No need to call update_file() on path when !renamed, since
-		 * that would needlessly touch path.  We could call
-		 * update_file_flags() with update_cache=0 and update_wd=0,
-		 * but that's a no-op.
+		 * No need to call update_file() on path when change_branch ==
+		 * o->branch1 && !alt_path, since that would needlessly touch
+		 * path.  We could call update_file_flags() with update_cache=0
+		 * and update_wd=0, but that's a no-op.
 		 */
+		if (change_branch != o->branch1 || alt_path)
+			ret = update_file(o, 0, changed_oid, changed_mode, update_path);
 	}
-	free(renamed);
+	free(alt_path);
 
 	return ret;
 }
@@ -1125,28 +1129,17 @@
 static int conflict_rename_delete(struct merge_options *o,
 				   struct diff_filepair *pair,
 				   const char *rename_branch,
-				   const char *other_branch)
+				   const char *delete_branch)
 {
 	const struct diff_filespec *orig = pair->one;
 	const struct diff_filespec *dest = pair->two;
-	const struct object_id *a_oid = NULL;
-	const struct object_id *b_oid = NULL;
-	int a_mode = 0;
-	int b_mode = 0;
-
-	if (rename_branch == o->branch1) {
-		a_oid = &dest->oid;
-		a_mode = dest->mode;
-	} else {
-		b_oid = &dest->oid;
-		b_mode = dest->mode;
-	}
 
 	if (handle_change_delete(o,
 				 o->call_depth ? orig->path : dest->path,
+				 o->call_depth ? NULL : orig->path,
 				 &orig->oid, orig->mode,
-				 a_oid, a_mode,
-				 b_oid, b_mode,
+				 &dest->oid, dest->mode,
+				 rename_branch, delete_branch,
 				 _("rename"), _("renamed")))
 		return -1;
 
@@ -1390,14 +1383,11 @@
 			branch1 = o->branch1;
 			branch2 = o->branch2;
 		} else {
-			struct rename *tmp;
 			renames1 = b_renames;
 			renames2Dst = &a_by_dst;
 			branch1 = o->branch2;
 			branch2 = o->branch1;
-			tmp = ren2;
-			ren2 = ren1;
-			ren1 = tmp;
+			SWAP(ren2, ren1);
 		}
 
 		if (ren1->processed)
@@ -1665,11 +1655,27 @@
 				 struct object_id *a_oid, int a_mode,
 				 struct object_id *b_oid, int b_mode)
 {
+	const char *modify_branch, *delete_branch;
+	struct object_id *changed_oid;
+	int changed_mode;
+
+	if (a_oid) {
+		modify_branch = o->branch1;
+		delete_branch = o->branch2;
+		changed_oid = a_oid;
+		changed_mode = a_mode;
+	} else {
+		modify_branch = o->branch2;
+		delete_branch = o->branch1;
+		changed_oid = b_oid;
+		changed_mode = b_mode;
+	}
+
 	return handle_change_delete(o,
-				    path,
+				    path, NULL,
 				    o_oid, o_mode,
-				    a_oid, a_mode,
-				    b_oid, b_mode,
+				    changed_oid, changed_mode,
+				    modify_branch, delete_branch,
 				    _("modify"), _("modified"));
 }
 
@@ -2133,7 +2139,7 @@
 		}
 	}
 
-	hold_locked_index(lock, 1);
+	hold_locked_index(lock, LOCK_DIE_ON_ERROR);
 	clean = merge_recursive(o, head_commit, next_commit, ca,
 			result);
 	if (clean < 0)
diff --git a/merge.c b/merge.c
index 23866c9..04ee5fc 100644
--- a/merge.c
+++ b/merge.c
@@ -57,7 +57,7 @@
 
 	refresh_cache(REFRESH_QUIET);
 
-	if (hold_locked_index(lock_file, 0) < 0)
+	if (hold_locked_index(lock_file, LOCK_REPORT_ON_ERROR) < 0)
 		return -1;
 
 	memset(&trees, 0, sizeof(trees));
diff --git a/notes.c b/notes.c
index 2bab961..542563b 100644
--- a/notes.c
+++ b/notes.c
@@ -153,8 +153,8 @@
  * How to consolidate an int_node:
  * If there are > 1 non-NULL entries, give up and return non-zero.
  * Otherwise replace the int_node at the given index in the given parent node
- * with the only entry (or a NULL entry if no entries) from the given tree,
- * and return 0.
+ * with the only NOTE entry (or a NULL entry if no entries) from the given
+ * tree, and return 0.
  */
 static int note_tree_consolidate(struct int_node *tree,
 	struct int_node *parent, unsigned char index)
@@ -173,6 +173,8 @@
 		}
 	}
 
+	if (p && (GET_PTR_TYPE(p) != PTR_TYPE_NOTE))
+		return -2;
 	/* replace tree with p in parent[index] */
 	parent->a[index] = p;
 	free(tree);
diff --git a/object.c b/object.c
index 67d9a9e..e680d88 100644
--- a/object.c
+++ b/object.c
@@ -104,9 +104,7 @@
 		 * that we do not need to walk the hash table the next
 		 * time we look for it.
 		 */
-		struct object *tmp = obj_hash[i];
-		obj_hash[i] = obj_hash[first];
-		obj_hash[first] = tmp;
+		SWAP(obj_hash[i], obj_hash[first]);
 	}
 	return obj;
 }
diff --git a/object.h b/object.h
index 614a006..f52957d 100644
--- a/object.h
+++ b/object.h
@@ -29,7 +29,7 @@
 /*
  * object flag allocation:
  * revision.h:      0---------10                                26
- * fetch-pack.c:    0---4
+ * fetch-pack.c:    0---5
  * walker.c:        0-2
  * upload-pack.c:       4       11----------------19
  * builtin/blame.c:               12-13
diff --git a/oidset.c b/oidset.c
new file mode 100644
index 0000000..ac169f0
--- /dev/null
+++ b/oidset.c
@@ -0,0 +1,49 @@
+#include "cache.h"
+#include "oidset.h"
+
+struct oidset_entry {
+	struct hashmap_entry hash;
+	struct object_id oid;
+};
+
+static int oidset_hashcmp(const void *va, const void *vb,
+			  const void *vkey)
+{
+	const struct oidset_entry *a = va, *b = vb;
+	const struct object_id *key = vkey;
+	return oidcmp(&a->oid, key ? key : &b->oid);
+}
+
+int oidset_contains(const struct oidset *set, const struct object_id *oid)
+{
+	struct hashmap_entry key;
+
+	if (!set->map.cmpfn)
+		return 0;
+
+	hashmap_entry_init(&key, sha1hash(oid->hash));
+	return !!hashmap_get(&set->map, &key, oid);
+}
+
+int oidset_insert(struct oidset *set, const struct object_id *oid)
+{
+	struct oidset_entry *entry;
+
+	if (!set->map.cmpfn)
+		hashmap_init(&set->map, oidset_hashcmp, 0);
+
+	if (oidset_contains(set, oid))
+		return 1;
+
+	entry = xmalloc(sizeof(*entry));
+	hashmap_entry_init(&entry->hash, sha1hash(oid->hash));
+	oidcpy(&entry->oid, oid);
+
+	hashmap_add(&set->map, entry);
+	return 0;
+}
+
+void oidset_clear(struct oidset *set)
+{
+	hashmap_free(&set->map, 1);
+}
diff --git a/oidset.h b/oidset.h
new file mode 100644
index 0000000..b7eaab5
--- /dev/null
+++ b/oidset.h
@@ -0,0 +1,45 @@
+#ifndef OIDSET_H
+#define OIDSET_H
+
+/**
+ * This API is similar to sha1-array, in that it maintains a set of object ids
+ * in a memory-efficient way. The major differences are:
+ *
+ *   1. It uses a hash, so we can do online duplicate removal, rather than
+ *      sort-and-uniq at the end. This can reduce memory footprint if you have
+ *      a large list of oids with many duplicates.
+ *
+ *   2. The per-unique-oid memory footprint is slightly higher due to hash
+ *      table overhead.
+ */
+
+/**
+ * A single oidset; should be zero-initialized (or use OIDSET_INIT).
+ */
+struct oidset {
+	struct hashmap map;
+};
+
+#define OIDSET_INIT { { NULL } }
+
+/**
+ * Returns true iff `set` contains `oid`.
+ */
+int oidset_contains(const struct oidset *set, const struct object_id *oid);
+
+/**
+ * Insert the oid into the set; a copy is made, so "oid" does not need
+ * to persist after this function is called.
+ *
+ * Returns 1 if the oid was already in the set, 0 otherwise. This can be used
+ * to perform an efficient check-and-add.
+ */
+int oidset_insert(struct oidset *set, const struct object_id *oid);
+
+/**
+ * Remove all entries from the oidset, freeing any resources associated with
+ * it.
+ */
+void oidset_clear(struct oidset *set);
+
+#endif /* OIDSET_H */
diff --git a/pack-bitmap-write.c b/pack-bitmap-write.c
index 9705596..e313f4f 100644
--- a/pack-bitmap-write.c
+++ b/pack-bitmap-write.c
@@ -508,18 +508,16 @@
 			  const char *filename,
 			  uint16_t options)
 {
-	static char tmp_file[PATH_MAX];
 	static uint16_t default_version = 1;
 	static uint16_t flags = BITMAP_OPT_FULL_DAG;
+	struct strbuf tmp_file = STRBUF_INIT;
 	struct sha1file *f;
 
 	struct bitmap_disk_header header;
 
-	int fd = odb_mkstemp(tmp_file, sizeof(tmp_file), "pack/tmp_bitmap_XXXXXX");
+	int fd = odb_mkstemp(&tmp_file, "pack/tmp_bitmap_XXXXXX");
 
-	if (fd < 0)
-		die_errno("unable to create '%s'", tmp_file);
-	f = sha1fd(fd, tmp_file);
+	f = sha1fd(fd, tmp_file.buf);
 
 	memcpy(header.magic, BITMAP_IDX_SIGNATURE, sizeof(BITMAP_IDX_SIGNATURE));
 	header.version = htons(default_version);
@@ -539,9 +537,11 @@
 
 	sha1close(f, NULL, CSUM_FSYNC);
 
-	if (adjust_shared_perm(tmp_file))
+	if (adjust_shared_perm(tmp_file.buf))
 		die_errno("unable to make temporary bitmap file readable");
 
-	if (rename(tmp_file, filename))
+	if (rename(tmp_file.buf, filename))
 		die_errno("unable to rename temporary bitmap file to '%s'", filename);
+
+	strbuf_release(&tmp_file);
 }
diff --git a/pack-objects.h b/pack-objects.h
index cc9b9a9..03f1191 100644
--- a/pack-objects.h
+++ b/pack-objects.h
@@ -30,12 +30,16 @@
 
 	/*
 	 * State flags for depth-first search used for analyzing delta cycles.
+	 *
+	 * The depth is measured in delta-links to the base (so if A is a delta
+	 * against B, then A has a depth of 1, and B a depth of 0).
 	 */
 	enum {
 		DFS_NONE = 0,
 		DFS_ACTIVE,
 		DFS_DONE
 	} dfs_state;
+	int depth;
 };
 
 struct packing_data {
diff --git a/pack-revindex.c b/pack-revindex.c
index 6bc7c94..1b7ebd8 100644
--- a/pack-revindex.c
+++ b/pack-revindex.c
@@ -59,7 +59,6 @@
 	 * be a no-op, as everybody lands in the same zero-th bucket.
 	 */
 	for (bits = 0; max >> bits; bits += DIGIT_SIZE) {
-		struct revindex_entry *swap;
 		unsigned i;
 
 		memset(pos, 0, BUCKETS * sizeof(*pos));
@@ -97,9 +96,7 @@
 		 * Now "to" contains the most sorted list, so we swap "from" and
 		 * "to" for the next iteration.
 		 */
-		swap = from;
-		from = to;
-		to = swap;
+		SWAP(from, to);
 	}
 
 	/*
diff --git a/pack-write.c b/pack-write.c
index 88bc7f9..fa97b72 100644
--- a/pack-write.c
+++ b/pack-write.c
@@ -71,15 +71,15 @@
 		f = sha1fd_check(index_name);
 	} else {
 		if (!index_name) {
-			static char tmp_file[PATH_MAX];
-			fd = odb_mkstemp(tmp_file, sizeof(tmp_file), "pack/tmp_idx_XXXXXX");
-			index_name = xstrdup(tmp_file);
+			struct strbuf tmp_file = STRBUF_INIT;
+			fd = odb_mkstemp(&tmp_file, "pack/tmp_idx_XXXXXX");
+			index_name = strbuf_detach(&tmp_file, NULL);
 		} else {
 			unlink(index_name);
 			fd = open(index_name, O_CREAT|O_EXCL|O_WRONLY, 0600);
+			if (fd < 0)
+				die_errno("unable to create '%s'", index_name);
 		}
-		if (fd < 0)
-			die_errno("unable to create '%s'", index_name);
 		f = sha1fd(fd, index_name);
 	}
 
@@ -304,7 +304,8 @@
  *  - each byte afterwards: low seven bits are size continuation,
  *    with the high bit being "size continues"
  */
-int encode_in_pack_object_header(enum object_type type, uintmax_t size, unsigned char *hdr)
+int encode_in_pack_object_header(unsigned char *hdr, int hdr_len,
+				 enum object_type type, uintmax_t size)
 {
 	int n = 1;
 	unsigned char c;
@@ -315,6 +316,8 @@
 	c = (type << 4) | (size & 15);
 	size >>= 4;
 	while (size) {
+		if (n == hdr_len)
+			die("object size is too enormous to format");
 		*hdr++ = c | 0x80;
 		c = size & 0x7f;
 		size >>= 7;
@@ -326,11 +329,11 @@
 
 struct sha1file *create_tmp_packfile(char **pack_tmp_name)
 {
-	char tmpname[PATH_MAX];
+	struct strbuf tmpname = STRBUF_INIT;
 	int fd;
 
-	fd = odb_mkstemp(tmpname, sizeof(tmpname), "pack/tmp_pack_XXXXXX");
-	*pack_tmp_name = xstrdup(tmpname);
+	fd = odb_mkstemp(&tmpname, "pack/tmp_pack_XXXXXX");
+	*pack_tmp_name = strbuf_detach(&tmpname, NULL);
 	return sha1fd(fd, *pack_tmp_name);
 }
 
diff --git a/pack.h b/pack.h
index 0e77429..5c21587 100644
--- a/pack.h
+++ b/pack.h
@@ -84,7 +84,14 @@
 extern off_t write_pack_header(struct sha1file *f, uint32_t);
 extern void fixup_pack_header_footer(int, unsigned char *, const char *, uint32_t, unsigned char *, off_t);
 extern char *index_pack_lockfile(int fd);
-extern int encode_in_pack_object_header(enum object_type, uintmax_t, unsigned char *);
+
+/*
+ * The "hdr" output buffer should be at least this big, which will handle sizes
+ * up to 2^67.
+ */
+#define MAX_PACK_OBJECT_HEADER 10
+extern int encode_in_pack_object_header(unsigned char *hdr, int hdr_len,
+					enum object_type, uintmax_t);
 
 #define PH_ERROR_EOF		(-1)
 #define PH_ERROR_PACK_SIGNATURE	(-2)
diff --git a/pager.c b/pager.c
index ae79643..c113d89 100644
--- a/pager.c
+++ b/pager.c
@@ -43,37 +43,6 @@
 	return 0;
 }
 
-static void read_early_config(config_fn_t cb, void *data)
-{
-	git_config_with_options(cb, data, NULL, 1);
-
-	/*
-	 * Note that this is a really dirty hack that does the wrong thing in
-	 * many cases. The crux of the problem is that we cannot run
-	 * setup_git_directory() early on in git's setup, so we have no idea if
-	 * we are in a repository or not, and therefore are not sure whether
-	 * and how to read repository-local config.
-	 *
-	 * So if we _aren't_ in a repository (or we are but we would reject its
-	 * core.repositoryformatversion), we'll read whatever is in .git/config
-	 * blindly. Similarly, if we _are_ in a repository, but not at the
-	 * root, we'll fail to find .git/config (because it's really
-	 * ../.git/config, etc). See t7006 for a complete set of failures.
-	 *
-	 * However, we have historically provided this hack because it does
-	 * work some of the time (namely when you are at the top-level of a
-	 * valid repository), and would rarely make things worse (i.e., you do
-	 * not generally have a .git/config file sitting around).
-	 */
-	if (!startup_info->have_repository) {
-		struct git_config_source repo_config;
-
-		memset(&repo_config, 0, sizeof(repo_config));
-		repo_config.file = ".git/config";
-		git_config_with_options(cb, data, &repo_config, 1);
-	}
-}
-
 const char *git_pager(int stdout_is_tty)
 {
 	const char *pager;
@@ -166,9 +135,7 @@
 
 int pager_in_use(void)
 {
-	const char *env;
-	env = getenv("GIT_PAGER_IN_USE");
-	return env ? git_config_bool("GIT_PAGER_IN_USE", env) : 0;
+	return git_env_bool("GIT_PAGER_IN_USE", 0);
 }
 
 /*
diff --git a/parse-options-cb.c b/parse-options-cb.c
index b7d8f7d..7419780 100644
--- a/parse-options-cb.c
+++ b/parse-options-cb.c
@@ -96,17 +96,17 @@
 
 int parse_opt_object_name(const struct option *opt, const char *arg, int unset)
 {
-	unsigned char sha1[20];
+	struct object_id oid;
 
 	if (unset) {
-		sha1_array_clear(opt->value);
+		oid_array_clear(opt->value);
 		return 0;
 	}
 	if (!arg)
 		return -1;
-	if (get_sha1(arg, sha1))
+	if (get_oid(arg, &oid))
 		return error(_("malformed object name '%s'"), arg);
-	sha1_array_append(opt->value, sha1);
+	oid_array_append(opt->value, &oid);
 	return 0;
 }
 
diff --git a/parse-options.c b/parse-options.c
index 4fbe924..a23a1e6 100644
--- a/parse-options.c
+++ b/parse-options.c
@@ -40,7 +40,7 @@
 	if (!file || !*file || !prefix || is_absolute_path(*file)
 	    || !strcmp("-", *file))
 		return;
-	*file = xstrdup(prefix_filename(prefix, strlen(prefix), *file));
+	*file = prefix_filename(prefix, *file);
 }
 
 static int opt_command_mode_error(const struct option *opt,
diff --git a/parse-options.h b/parse-options.h
index dcd8a09..af71122 100644
--- a/parse-options.h
+++ b/parse-options.h
@@ -258,7 +258,9 @@
 	  PARSE_OPT_LASTARG_DEFAULT | flag, \
 	  parse_opt_commits, (intptr_t) "HEAD" \
 	}
-#define OPT_CONTAINS(v, h) _OPT_CONTAINS_OR_WITH("contains", v, h, 0)
-#define OPT_WITH(v, h) _OPT_CONTAINS_OR_WITH("with", v, h, PARSE_OPT_HIDDEN)
+#define OPT_CONTAINS(v, h) _OPT_CONTAINS_OR_WITH("contains", v, h, PARSE_OPT_NONEG)
+#define OPT_NO_CONTAINS(v, h) _OPT_CONTAINS_OR_WITH("no-contains", v, h, PARSE_OPT_NONEG)
+#define OPT_WITH(v, h) _OPT_CONTAINS_OR_WITH("with", v, h, PARSE_OPT_HIDDEN | PARSE_OPT_NONEG)
+#define OPT_WITHOUT(v, h) _OPT_CONTAINS_OR_WITH("without", v, h, PARSE_OPT_HIDDEN | PARSE_OPT_NONEG)
 
 #endif
diff --git a/patch-ids.c b/patch-ids.c
index ce285c2..fa8f11d 100644
--- a/patch-ids.c
+++ b/patch-ids.c
@@ -71,7 +71,7 @@
 			       struct commit *commit,
 			       struct patch_ids *ids)
 {
-	unsigned char header_only_patch_id[GIT_SHA1_RAWSZ];
+	unsigned char header_only_patch_id[GIT_MAX_RAWSZ];
 
 	patch->commit = commit;
 	if (commit_patch_id(commit, &ids->diffopts, header_only_patch_id, 1))
diff --git a/patch-ids.h b/patch-ids.h
index 0f34ea1..b9e5751 100644
--- a/patch-ids.h
+++ b/patch-ids.h
@@ -3,7 +3,7 @@
 
 struct patch_id {
 	struct hashmap_entry ent;
-	unsigned char patch_id[GIT_SHA1_RAWSZ];
+	unsigned char patch_id[GIT_MAX_RAWSZ];
 	struct commit *commit;
 };
 
diff --git a/path.c b/path.c
index efcedaf..302f9af 100644
--- a/path.c
+++ b/path.c
@@ -471,39 +471,19 @@
 }
 
 /* Returns 0 on success, negative on failure. */
-#define SUBMODULE_PATH_ERR_NOT_CONFIGURED -1
 static int do_submodule_path(struct strbuf *buf, const char *path,
 			     const char *fmt, va_list args)
 {
-	const char *git_dir;
 	struct strbuf git_submodule_common_dir = STRBUF_INIT;
 	struct strbuf git_submodule_dir = STRBUF_INIT;
-	const struct submodule *sub;
-	int err = 0;
+	int ret;
 
-	strbuf_addstr(buf, path);
-	strbuf_complete(buf, '/');
-	strbuf_addstr(buf, ".git");
+	ret = submodule_to_gitdir(&git_submodule_dir, path);
+	if (ret)
+		goto cleanup;
 
-	git_dir = read_gitfile(buf->buf);
-	if (git_dir) {
-		strbuf_reset(buf);
-		strbuf_addstr(buf, git_dir);
-	}
-	if (!is_git_directory(buf->buf)) {
-		gitmodules_config();
-		sub = submodule_from_path(null_sha1, path);
-		if (!sub) {
-			err = SUBMODULE_PATH_ERR_NOT_CONFIGURED;
-			goto cleanup;
-		}
-		strbuf_reset(buf);
-		strbuf_git_path(buf, "%s/%s", "modules", sub->name);
-	}
-
-	strbuf_addch(buf, '/');
-	strbuf_addbuf(&git_submodule_dir, buf);
-
+	strbuf_complete(&git_submodule_dir, '/');
+	strbuf_addbuf(buf, &git_submodule_dir);
 	strbuf_vaddf(buf, fmt, args);
 
 	if (get_common_dir_noenv(&git_submodule_common_dir, git_submodule_dir.buf))
@@ -514,8 +494,7 @@
 cleanup:
 	strbuf_release(&git_submodule_dir);
 	strbuf_release(&git_submodule_common_dir);
-
-	return err;
+	return ret;
 }
 
 char *git_pathdup_submodule(const char *path, const char *fmt, ...)
@@ -1272,6 +1251,21 @@
 	return NULL;
 }
 
+char *xdg_cache_home(const char *filename)
+{
+	const char *home, *cache_home;
+
+	assert(filename);
+	cache_home = getenv("XDG_CACHE_HOME");
+	if (cache_home && *cache_home)
+		return mkpathdup("%s/git/%s", cache_home, filename);
+
+	home = getenv("HOME");
+	if (home)
+		return mkpathdup("%s/.cache/git/%s", home, filename);
+	return NULL;
+}
+
 GIT_PATH_FUNC(git_path_cherry_pick_head, "CHERRY_PICK_HEAD")
 GIT_PATH_FUNC(git_path_revert_head, "REVERT_HEAD")
 GIT_PATH_FUNC(git_path_squash_msg, "SQUASH_MSG")
diff --git a/pathspec.c b/pathspec.c
index 22ca74a..69ef86b 100644
--- a/pathspec.c
+++ b/pathspec.c
@@ -1,6 +1,7 @@
 #include "cache.h"
 #include "dir.h"
 #include "pathspec.h"
+#include "attr.h"
 
 /*
  * Finds which of the given pathspecs match items in the index.
@@ -67,20 +68,20 @@
 	char mnemonic; /* this cannot be ':'! */
 	const char *name;
 } pathspec_magic[] = {
-	{ PATHSPEC_FROMTOP, '/', "top" },
-	{ PATHSPEC_LITERAL,   0, "literal" },
-	{ PATHSPEC_GLOB,   '\0', "glob" },
-	{ PATHSPEC_ICASE,  '\0', "icase" },
-	{ PATHSPEC_EXCLUDE, '!', "exclude" },
+	{ PATHSPEC_FROMTOP,  '/', "top" },
+	{ PATHSPEC_LITERAL, '\0', "literal" },
+	{ PATHSPEC_GLOB,    '\0', "glob" },
+	{ PATHSPEC_ICASE,   '\0', "icase" },
+	{ PATHSPEC_EXCLUDE,  '!', "exclude" },
+	{ PATHSPEC_ATTR,    '\0', "attr" },
 };
 
-static void prefix_short_magic(struct strbuf *sb, int prefixlen,
-			       unsigned short_magic)
+static void prefix_magic(struct strbuf *sb, int prefixlen, unsigned magic)
 {
 	int i;
 	strbuf_addstr(sb, ":(");
 	for (i = 0; i < ARRAY_SIZE(pathspec_magic); i++)
-		if (short_magic & pathspec_magic[i].bit) {
+		if (magic & pathspec_magic[i].bit) {
 			if (sb->buf[sb->len - 1] != '(')
 				strbuf_addch(sb, ',');
 			strbuf_addstr(sb, pathspec_magic[i].name);
@@ -88,54 +89,171 @@
 	strbuf_addf(sb, ",prefix:%d)", prefixlen);
 }
 
-/*
- * Take an element of a pathspec and check for magic signatures.
- * Append the result to the prefix. Return the magic bitmap.
- *
- * For now, we only parse the syntax and throw out anything other than
- * "top" magic.
- *
- * NEEDSWORK: This needs to be rewritten when we start migrating
- * get_pathspec() users to use the "struct pathspec" interface.  For
- * example, a pathspec element may be marked as case-insensitive, but
- * the prefix part must always match literally, and a single stupid
- * string cannot express such a case.
- */
-static unsigned prefix_pathspec(struct pathspec_item *item,
-				unsigned *p_short_magic,
-				const char **raw, unsigned flags,
-				const char *prefix, int prefixlen,
-				const char *elt)
+static size_t strcspn_escaped(const char *s, const char *stop)
 {
-	static int literal_global = -1;
-	static int glob_global = -1;
-	static int noglob_global = -1;
-	static int icase_global = -1;
-	unsigned magic = 0, short_magic = 0, global_magic = 0;
-	const char *copyfrom = elt, *long_magic_end = NULL;
-	char *match;
-	int i, pathspec_prefix = -1;
+	const char *i;
 
-	if (literal_global < 0)
-		literal_global = git_env_bool(GIT_LITERAL_PATHSPECS_ENVIRONMENT, 0);
-	if (literal_global)
+	for (i = s; *i; i++) {
+		/* skip the escaped character */
+		if (i[0] == '\\' && i[1]) {
+			i++;
+			continue;
+		}
+
+		if (strchr(stop, *i))
+			break;
+	}
+	return i - s;
+}
+
+static inline int invalid_value_char(const char ch)
+{
+	if (isalnum(ch) || strchr(",-_", ch))
+		return 0;
+	return -1;
+}
+
+static char *attr_value_unescape(const char *value)
+{
+	const char *src;
+	char *dst, *ret;
+
+	ret = xmallocz(strlen(value));
+	for (src = value, dst = ret; *src; src++, dst++) {
+		if (*src == '\\') {
+			if (!src[1])
+				die(_("Escape character '\\' not allowed as "
+				      "last character in attr value"));
+			src++;
+		}
+		if (invalid_value_char(*src))
+			die("cannot use '%c' for value matching", *src);
+		*dst = *src;
+	}
+	*dst = '\0';
+	return ret;
+}
+
+static void parse_pathspec_attr_match(struct pathspec_item *item, const char *value)
+{
+	struct string_list_item *si;
+	struct string_list list = STRING_LIST_INIT_DUP;
+
+	if (item->attr_check || item->attr_match)
+		die(_("Only one 'attr:' specification is allowed."));
+
+	if (!value || !*value)
+		die(_("attr spec must not be empty"));
+
+	string_list_split(&list, value, ' ', -1);
+	string_list_remove_empty_items(&list, 0);
+
+	item->attr_check = attr_check_alloc();
+	item->attr_match = xcalloc(list.nr, sizeof(struct attr_match));
+
+	for_each_string_list_item(si, &list) {
+		size_t attr_len;
+		char *attr_name;
+		const struct git_attr *a;
+
+		int j = item->attr_match_nr++;
+		const char *attr = si->string;
+		struct attr_match *am = &item->attr_match[j];
+
+		switch (*attr) {
+		case '!':
+			am->match_mode = MATCH_UNSPECIFIED;
+			attr++;
+			attr_len = strlen(attr);
+			break;
+		case '-':
+			am->match_mode = MATCH_UNSET;
+			attr++;
+			attr_len = strlen(attr);
+			break;
+		default:
+			attr_len = strcspn(attr, "=");
+			if (attr[attr_len] != '=')
+				am->match_mode = MATCH_SET;
+			else {
+				const char *v = &attr[attr_len + 1];
+				am->match_mode = MATCH_VALUE;
+				am->value = attr_value_unescape(v);
+			}
+			break;
+		}
+
+		attr_name = xmemdupz(attr, attr_len);
+		a = git_attr(attr_name);
+		if (!a)
+			die(_("invalid attribute name %s"), attr_name);
+
+		attr_check_append(item->attr_check, a);
+
+		free(attr_name);
+	}
+
+	if (item->attr_check->nr != item->attr_match_nr)
+		die("BUG: should have same number of entries");
+
+	string_list_clear(&list, 0);
+}
+
+static inline int get_literal_global(void)
+{
+	static int literal = -1;
+
+	if (literal < 0)
+		literal = git_env_bool(GIT_LITERAL_PATHSPECS_ENVIRONMENT, 0);
+
+	return literal;
+}
+
+static inline int get_glob_global(void)
+{
+	static int glob = -1;
+
+	if (glob < 0)
+		glob = git_env_bool(GIT_GLOB_PATHSPECS_ENVIRONMENT, 0);
+
+	return glob;
+}
+
+static inline int get_noglob_global(void)
+{
+	static int noglob = -1;
+
+	if (noglob < 0)
+		noglob = git_env_bool(GIT_NOGLOB_PATHSPECS_ENVIRONMENT, 0);
+
+	return noglob;
+}
+
+static inline int get_icase_global(void)
+{
+	static int icase = -1;
+
+	if (icase < 0)
+		icase = git_env_bool(GIT_ICASE_PATHSPECS_ENVIRONMENT, 0);
+
+	return icase;
+}
+
+static int get_global_magic(int element_magic)
+{
+	int global_magic = 0;
+
+	if (get_literal_global())
 		global_magic |= PATHSPEC_LITERAL;
 
-	if (glob_global < 0)
-		glob_global = git_env_bool(GIT_GLOB_PATHSPECS_ENVIRONMENT, 0);
-	if (glob_global)
+	/* --glob-pathspec is overridden by :(literal) */
+	if (get_glob_global() && !(element_magic & PATHSPEC_LITERAL))
 		global_magic |= PATHSPEC_GLOB;
 
-	if (noglob_global < 0)
-		noglob_global = git_env_bool(GIT_NOGLOB_PATHSPECS_ENVIRONMENT, 0);
-
-	if (glob_global && noglob_global)
+	if (get_glob_global() && get_noglob_global())
 		die(_("global 'glob' and 'noglob' pathspec settings are incompatible"));
 
-
-	if (icase_global < 0)
-		icase_global = git_env_bool(GIT_ICASE_PATHSPECS_ENVIRONMENT, 0);
-	if (icase_global)
+	if (get_icase_global())
 		global_magic |= PATHSPEC_ICASE;
 
 	if ((global_magic & PATHSPEC_LITERAL) &&
@@ -143,84 +261,219 @@
 		die(_("global 'literal' pathspec setting is incompatible "
 		      "with all other global pathspec settings"));
 
-	if (flags & PATHSPEC_LITERAL_PATH)
-		global_magic = 0;
-
-	if (elt[0] != ':' || literal_global ||
-	    (flags & PATHSPEC_LITERAL_PATH)) {
-		; /* nothing to do */
-	} else if (elt[1] == '(') {
-		/* longhand */
-		const char *nextat;
-		for (copyfrom = elt + 2;
-		     *copyfrom && *copyfrom != ')';
-		     copyfrom = nextat) {
-			size_t len = strcspn(copyfrom, ",)");
-			if (copyfrom[len] == ',')
-				nextat = copyfrom + len + 1;
-			else
-				/* handle ')' and '\0' */
-				nextat = copyfrom + len;
-			if (!len)
-				continue;
-			for (i = 0; i < ARRAY_SIZE(pathspec_magic); i++) {
-				if (strlen(pathspec_magic[i].name) == len &&
-				    !strncmp(pathspec_magic[i].name, copyfrom, len)) {
-					magic |= pathspec_magic[i].bit;
-					break;
-				}
-				if (starts_with(copyfrom, "prefix:")) {
-					char *endptr;
-					pathspec_prefix = strtol(copyfrom + 7,
-								 &endptr, 10);
-					if (endptr - copyfrom != len)
-						die(_("invalid parameter for pathspec magic 'prefix'"));
-					/* "i" would be wrong, but it does not matter */
-					break;
-				}
-			}
-			if (ARRAY_SIZE(pathspec_magic) <= i)
-				die(_("Invalid pathspec magic '%.*s' in '%s'"),
-				    (int) len, copyfrom, elt);
-		}
-		if (*copyfrom != ')')
-			die(_("Missing ')' at the end of pathspec magic in '%s'"), elt);
-		long_magic_end = copyfrom;
-		copyfrom++;
-	} else {
-		/* shorthand */
-		for (copyfrom = elt + 1;
-		     *copyfrom && *copyfrom != ':';
-		     copyfrom++) {
-			char ch = *copyfrom;
-
-			if (!is_pathspec_magic(ch))
-				break;
-			for (i = 0; i < ARRAY_SIZE(pathspec_magic); i++)
-				if (pathspec_magic[i].mnemonic == ch) {
-					short_magic |= pathspec_magic[i].bit;
-					break;
-				}
-			if (ARRAY_SIZE(pathspec_magic) <= i)
-				die(_("Unimplemented pathspec magic '%c' in '%s'"),
-				    ch, elt);
-		}
-		if (*copyfrom == ':')
-			copyfrom++;
-	}
-
-	magic |= short_magic;
-	*p_short_magic = short_magic;
-
 	/* --noglob-pathspec adds :(literal) _unless_ :(glob) is specified */
-	if (noglob_global && !(magic & PATHSPEC_GLOB))
+	if (get_noglob_global() && !(element_magic & PATHSPEC_GLOB))
 		global_magic |= PATHSPEC_LITERAL;
 
-	/* --glob-pathspec is overridden by :(literal) */
-	if ((global_magic & PATHSPEC_GLOB) && (magic & PATHSPEC_LITERAL))
-		global_magic &= ~PATHSPEC_GLOB;
+	return global_magic;
+}
 
-	magic |= global_magic;
+/*
+ * Parse the pathspec element looking for long magic
+ *
+ * saves all magic in 'magic'
+ * if prefix magic is used, save the prefix length in 'prefix_len'
+ * returns the position in 'elem' after all magic has been parsed
+ */
+static const char *parse_long_magic(unsigned *magic, int *prefix_len,
+				    struct pathspec_item *item,
+				    const char *elem)
+{
+	const char *pos;
+	const char *nextat;
+
+	for (pos = elem + 2; *pos && *pos != ')'; pos = nextat) {
+		size_t len = strcspn_escaped(pos, ",)");
+		int i;
+
+		if (pos[len] == ',')
+			nextat = pos + len + 1; /* handle ',' */
+		else
+			nextat = pos + len; /* handle ')' and '\0' */
+
+		if (!len)
+			continue;
+
+		if (starts_with(pos, "prefix:")) {
+			char *endptr;
+			*prefix_len = strtol(pos + 7, &endptr, 10);
+			if (endptr - pos != len)
+				die(_("invalid parameter for pathspec magic 'prefix'"));
+			continue;
+		}
+
+		if (starts_with(pos, "attr:")) {
+			char *attr_body = xmemdupz(pos + 5, len - 5);
+			parse_pathspec_attr_match(item, attr_body);
+			*magic |= PATHSPEC_ATTR;
+			free(attr_body);
+			continue;
+		}
+
+		for (i = 0; i < ARRAY_SIZE(pathspec_magic); i++) {
+			if (strlen(pathspec_magic[i].name) == len &&
+			    !strncmp(pathspec_magic[i].name, pos, len)) {
+				*magic |= pathspec_magic[i].bit;
+				break;
+			}
+		}
+
+		if (ARRAY_SIZE(pathspec_magic) <= i)
+			die(_("Invalid pathspec magic '%.*s' in '%s'"),
+			    (int) len, pos, elem);
+	}
+
+	if (*pos != ')')
+		die(_("Missing ')' at the end of pathspec magic in '%s'"),
+		    elem);
+	pos++;
+
+	return pos;
+}
+
+/*
+ * Parse the pathspec element looking for short magic
+ *
+ * saves all magic in 'magic'
+ * returns the position in 'elem' after all magic has been parsed
+ */
+static const char *parse_short_magic(unsigned *magic, const char *elem)
+{
+	const char *pos;
+
+	for (pos = elem + 1; *pos && *pos != ':'; pos++) {
+		char ch = *pos;
+		int i;
+
+		/* Special case alias for '!' */
+		if (ch == '^') {
+			*magic |= PATHSPEC_EXCLUDE;
+			continue;
+		}
+
+		if (!is_pathspec_magic(ch))
+			break;
+
+		for (i = 0; i < ARRAY_SIZE(pathspec_magic); i++) {
+			if (pathspec_magic[i].mnemonic == ch) {
+				*magic |= pathspec_magic[i].bit;
+				break;
+			}
+		}
+
+		if (ARRAY_SIZE(pathspec_magic) <= i)
+			die(_("Unimplemented pathspec magic '%c' in '%s'"),
+			    ch, elem);
+	}
+
+	if (*pos == ':')
+		pos++;
+
+	return pos;
+}
+
+static const char *parse_element_magic(unsigned *magic, int *prefix_len,
+				       struct pathspec_item *item,
+				       const char *elem)
+{
+	if (elem[0] != ':' || get_literal_global())
+		return elem; /* nothing to do */
+	else if (elem[1] == '(')
+		/* longhand */
+		return parse_long_magic(magic, prefix_len, item, elem);
+	else
+		/* shorthand */
+		return parse_short_magic(magic, elem);
+}
+
+static void strip_submodule_slash_cheap(struct pathspec_item *item)
+{
+	if (item->len >= 1 && item->match[item->len - 1] == '/') {
+		int i = cache_name_pos(item->match, item->len - 1);
+
+		if (i >= 0 && S_ISGITLINK(active_cache[i]->ce_mode)) {
+			item->len--;
+			item->match[item->len] = '\0';
+		}
+	}
+}
+
+static void strip_submodule_slash_expensive(struct pathspec_item *item)
+{
+	int i;
+
+	for (i = 0; i < active_nr; i++) {
+		struct cache_entry *ce = active_cache[i];
+		int ce_len = ce_namelen(ce);
+
+		if (!S_ISGITLINK(ce->ce_mode))
+			continue;
+
+		if (item->len <= ce_len || item->match[ce_len] != '/' ||
+		    memcmp(ce->name, item->match, ce_len))
+			continue;
+
+		if (item->len == ce_len + 1) {
+			/* strip trailing slash */
+			item->len--;
+			item->match[item->len] = '\0';
+		} else {
+			die(_("Pathspec '%s' is in submodule '%.*s'"),
+			    item->original, ce_len, ce->name);
+		}
+	}
+}
+
+static void die_inside_submodule_path(struct pathspec_item *item)
+{
+	int i;
+
+	for (i = 0; i < active_nr; i++) {
+		struct cache_entry *ce = active_cache[i];
+		int ce_len = ce_namelen(ce);
+
+		if (!S_ISGITLINK(ce->ce_mode))
+			continue;
+
+		if (item->len < ce_len ||
+		    !(item->match[ce_len] == '/' || item->match[ce_len] == '\0') ||
+		    memcmp(ce->name, item->match, ce_len))
+			continue;
+
+		die(_("Pathspec '%s' is in submodule '%.*s'"),
+		    item->original, ce_len, ce->name);
+	}
+}
+
+/*
+ * Perform the initialization of a pathspec_item based on a pathspec element.
+ */
+static void init_pathspec_item(struct pathspec_item *item, unsigned flags,
+			       const char *prefix, int prefixlen,
+			       const char *elt)
+{
+	unsigned magic = 0, element_magic = 0;
+	const char *copyfrom = elt;
+	char *match;
+	int pathspec_prefix = -1;
+
+	item->attr_check = NULL;
+	item->attr_match = NULL;
+	item->attr_match_nr = 0;
+
+	/* PATHSPEC_LITERAL_PATH ignores magic */
+	if (flags & PATHSPEC_LITERAL_PATH) {
+		magic = PATHSPEC_LITERAL;
+	} else {
+		copyfrom = parse_element_magic(&element_magic,
+					       &pathspec_prefix,
+					       item,
+					       elt);
+		magic |= element_magic;
+		magic |= get_global_magic(element_magic);
+	}
+
+	item->magic = magic;
 
 	if (pathspec_prefix >= 0 &&
 	    (prefixlen || (prefix && *prefix)))
@@ -229,6 +482,7 @@
 	if ((magic & PATHSPEC_LITERAL) && (magic & PATHSPEC_GLOB))
 		die(_("%s: 'literal' and 'glob' are incompatible"), elt);
 
+	/* Create match string which will be used for pathspec matching */
 	if (pathspec_prefix >= 0) {
 		match = xstrdup(copyfrom);
 		prefixlen = pathspec_prefix;
@@ -236,69 +490,47 @@
 		match = xstrdup(copyfrom);
 		prefixlen = 0;
 	} else {
-		match = prefix_path_gently(prefix, prefixlen, &prefixlen, copyfrom);
+		match = prefix_path_gently(prefix, prefixlen,
+					   &prefixlen, copyfrom);
 		if (!match)
 			die(_("%s: '%s' is outside repository"), elt, copyfrom);
 	}
-	*raw = item->match = match;
+
+	item->match = match;
+	item->len = strlen(item->match);
+	item->prefix = prefixlen;
+
 	/*
 	 * Prefix the pathspec (keep all magic) and assign to
 	 * original. Useful for passing to another command.
 	 */
-	if (flags & PATHSPEC_PREFIX_ORIGIN) {
+	if ((flags & PATHSPEC_PREFIX_ORIGIN) &&
+	    prefixlen && !get_literal_global()) {
 		struct strbuf sb = STRBUF_INIT;
-		if (prefixlen && !literal_global) {
-			/* Preserve the actual prefix length of each pattern */
-			if (short_magic)
-				prefix_short_magic(&sb, prefixlen, short_magic);
-			else if (long_magic_end) {
-				strbuf_add(&sb, elt, long_magic_end - elt);
-				strbuf_addf(&sb, ",prefix:%d)", prefixlen);
-			} else
-				strbuf_addf(&sb, ":(prefix:%d)", prefixlen);
-		}
+
+		/* Preserve the actual prefix length of each pattern */
+		prefix_magic(&sb, prefixlen, element_magic);
+
 		strbuf_addstr(&sb, match);
 		item->original = strbuf_detach(&sb, NULL);
-	} else
-		item->original = elt;
-	item->len = strlen(item->match);
-	item->prefix = prefixlen;
-
-	if ((flags & PATHSPEC_STRIP_SUBMODULE_SLASH_CHEAP) &&
-	    (item->len >= 1 && item->match[item->len - 1] == '/') &&
-	    (i = cache_name_pos(item->match, item->len - 1)) >= 0 &&
-	    S_ISGITLINK(active_cache[i]->ce_mode)) {
-		item->len--;
-		match[item->len] = '\0';
+	} else {
+		item->original = xstrdup(elt);
 	}
 
+	if (flags & PATHSPEC_STRIP_SUBMODULE_SLASH_CHEAP)
+		strip_submodule_slash_cheap(item);
+
 	if (flags & PATHSPEC_STRIP_SUBMODULE_SLASH_EXPENSIVE)
-		for (i = 0; i < active_nr; i++) {
-			struct cache_entry *ce = active_cache[i];
-			int ce_len = ce_namelen(ce);
+		strip_submodule_slash_expensive(item);
 
-			if (!S_ISGITLINK(ce->ce_mode))
-				continue;
-
-			if (item->len <= ce_len || match[ce_len] != '/' ||
-			    memcmp(ce->name, match, ce_len))
-				continue;
-			if (item->len == ce_len + 1) {
-				/* strip trailing slash */
-				item->len--;
-				match[item->len] = '\0';
-			} else
-				die (_("Pathspec '%s' is in submodule '%.*s'"),
-				     elt, ce_len, ce->name);
-		}
-
-	if (magic & PATHSPEC_LITERAL)
+	if (magic & PATHSPEC_LITERAL) {
 		item->nowildcard_len = item->len;
-	else {
+	} else {
 		item->nowildcard_len = simple_length(item->match);
 		if (item->nowildcard_len < prefixlen)
 			item->nowildcard_len = prefixlen;
 	}
+
 	item->flags = 0;
 	if (magic & PATHSPEC_GLOB) {
 		/*
@@ -313,9 +545,18 @@
 	}
 
 	/* sanity checks, pathspec matchers assume these are sane */
-	assert(item->nowildcard_len <= item->len &&
-	       item->prefix         <= item->len);
-	return magic;
+	if (item->nowildcard_len > item->len ||
+	    item->prefix         > item->len) {
+		/*
+		 * This case can be triggered by the user pointing us to a
+		 * pathspec inside a submodule, which is an input error.
+		 * Detect that here and complain, but fallback in the
+		 * non-submodule case to a BUG, as we have no idea what
+		 * would trigger that.
+		 */
+		die_inside_submodule_path(item);
+		die ("BUG: item->nowildcard_len > item->len || item->prefix > item->len)");
+	}
 }
 
 static int pathspec_item_cmp(const void *a_, const void *b_)
@@ -328,22 +569,22 @@
 }
 
 static void NORETURN unsupported_magic(const char *pattern,
-				       unsigned magic,
-				       unsigned short_magic)
+				       unsigned magic)
 {
 	struct strbuf sb = STRBUF_INIT;
-	int i, n;
-	for (n = i = 0; i < ARRAY_SIZE(pathspec_magic); i++) {
+	int i;
+	for (i = 0; i < ARRAY_SIZE(pathspec_magic); i++) {
 		const struct pathspec_magic *m = pathspec_magic + i;
 		if (!(magic & m->bit))
 			continue;
 		if (sb.len)
-			strbuf_addch(&sb, ' ');
-		if (short_magic & m->bit)
-			strbuf_addf(&sb, "'%c'", m->mnemonic);
+			strbuf_addstr(&sb, ", ");
+
+		if (m->mnemonic)
+			strbuf_addf(&sb, _("'%s' (mnemonic: '%c')"),
+				    m->name, m->mnemonic);
 		else
 			strbuf_addf(&sb, "'%s'", m->name);
-		n++;
 	}
 	/*
 	 * We may want to substitute "this command" with a command
@@ -381,8 +622,6 @@
 
 	/* No arguments with prefix -> prefix pathspec */
 	if (!entry) {
-		static const char *raw[2];
-
 		if (flags & PATHSPEC_PREFER_FULL)
 			return;
 
@@ -390,14 +629,11 @@
 			die("BUG: PATHSPEC_PREFER_CWD requires arguments");
 
 		pathspec->items = item = xcalloc(1, sizeof(*item));
-		item->match = prefix;
-		item->original = prefix;
+		item->match = xstrdup(prefix);
+		item->original = xstrdup(prefix);
 		item->nowildcard_len = item->len = strlen(prefix);
 		item->prefix = item->len;
-		raw[0] = prefix;
-		raw[1] = NULL;
 		pathspec->nr = 1;
-		pathspec->_raw = raw;
 		return;
 	}
 
@@ -413,27 +649,19 @@
 	}
 
 	pathspec->nr = n;
-	ALLOC_ARRAY(pathspec->items, n);
+	ALLOC_ARRAY(pathspec->items, n + 1);
 	item = pathspec->items;
-	pathspec->_raw = argv;
 	prefixlen = prefix ? strlen(prefix) : 0;
 
 	for (i = 0; i < n; i++) {
-		unsigned short_magic;
 		entry = argv[i];
 
-		item[i].magic = prefix_pathspec(item + i, &short_magic,
-						argv + i, flags,
-						prefix, prefixlen, entry);
-		if ((flags & PATHSPEC_LITERAL_PATH) &&
-		    !(magic_mask & PATHSPEC_LITERAL))
-			item[i].magic |= PATHSPEC_LITERAL;
+		init_pathspec_item(item + i, flags, prefix, prefixlen, entry);
+
 		if (item[i].magic & PATHSPEC_EXCLUDE)
 			nr_exclude++;
 		if (item[i].magic & magic_mask)
-			unsupported_magic(entry,
-					  item[i].magic & magic_mask,
-					  short_magic);
+			unsupported_magic(entry, item[i].magic & magic_mask);
 
 		if ((flags & PATHSPEC_SYMLINK_LEADING_PATH) &&
 		    has_symlink_leading_path(item[i].match, item[i].len)) {
@@ -445,10 +673,15 @@
 		pathspec->magic |= item[i].magic;
 	}
 
-	if (nr_exclude == n)
-		die(_("There is nothing to exclude from by :(exclude) patterns.\n"
-		      "Perhaps you forgot to add either ':/' or '.' ?"));
-
+	/*
+	 * If everything is an exclude pattern, add one positive pattern
+	 * that matches everyting. We allocated an extra one for this.
+	 */
+	if (nr_exclude == n) {
+		int plen = (!(flags & PATHSPEC_PREFER_CWD)) ? 0 : prefixlen;
+		init_pathspec_item(item + n, 0, prefix, plen, "");
+		pathspec->nr++;
+	}
 
 	if (pathspec->magic & PATHSPEC_MAXDEPTH) {
 		if (flags & PATHSPEC_KEEP_ORDER)
@@ -457,45 +690,49 @@
 	}
 }
 
-/*
- * N.B. get_pathspec() is deprecated in favor of the "struct pathspec"
- * based interface - see pathspec.c:parse_pathspec().
- *
- * Arguments:
- *  - prefix - a path relative to the root of the working tree
- *  - pathspec - a list of paths underneath the prefix path
- *
- * Iterates over pathspec, prepending each path with prefix,
- * and return the resulting list.
- *
- * If pathspec is empty, return a singleton list containing prefix.
- *
- * If pathspec and prefix are both empty, return an empty list.
- *
- * This is typically used by built-in commands such as add.c, in order
- * to normalize argv arguments provided to the built-in into a list of
- * paths to process, all relative to the root of the working tree.
- */
-const char **get_pathspec(const char *prefix, const char **pathspec)
-{
-	struct pathspec ps;
-	parse_pathspec(&ps,
-		       PATHSPEC_ALL_MAGIC &
-		       ~(PATHSPEC_FROMTOP | PATHSPEC_LITERAL),
-		       PATHSPEC_PREFER_CWD,
-		       prefix, pathspec);
-	return ps._raw;
-}
-
 void copy_pathspec(struct pathspec *dst, const struct pathspec *src)
 {
+	int i, j;
+
 	*dst = *src;
 	ALLOC_ARRAY(dst->items, dst->nr);
 	COPY_ARRAY(dst->items, src->items, dst->nr);
+
+	for (i = 0; i < dst->nr; i++) {
+		struct pathspec_item *d = &dst->items[i];
+		struct pathspec_item *s = &src->items[i];
+
+		d->match = xstrdup(s->match);
+		d->original = xstrdup(s->original);
+
+		ALLOC_ARRAY(d->attr_match, d->attr_match_nr);
+		COPY_ARRAY(d->attr_match, s->attr_match, d->attr_match_nr);
+		for (j = 0; j < d->attr_match_nr; j++) {
+			const char *value = s->attr_match[j].value;
+			d->attr_match[j].value = xstrdup_or_null(value);
+		}
+
+		d->attr_check = attr_check_dup(s->attr_check);
+	}
 }
 
 void clear_pathspec(struct pathspec *pathspec)
 {
+	int i, j;
+
+	for (i = 0; i < pathspec->nr; i++) {
+		free(pathspec->items[i].match);
+		free(pathspec->items[i].original);
+
+		for (j = 0; j < pathspec->items[i].attr_match_nr; j++)
+			free(pathspec->items[i].attr_match[j].value);
+		free(pathspec->items[i].attr_match);
+
+		if (pathspec->items[i].attr_check)
+			attr_check_free(pathspec->items[i].attr_check);
+	}
+
 	free(pathspec->items);
 	pathspec->items = NULL;
+	pathspec->nr = 0;
 }
diff --git a/pathspec.h b/pathspec.h
index 59809e4..55e9769 100644
--- a/pathspec.h
+++ b/pathspec.h
@@ -8,30 +8,42 @@
 #define PATHSPEC_GLOB		(1<<3)
 #define PATHSPEC_ICASE		(1<<4)
 #define PATHSPEC_EXCLUDE	(1<<5)
+#define PATHSPEC_ATTR		(1<<6)
 #define PATHSPEC_ALL_MAGIC	  \
 	(PATHSPEC_FROMTOP	| \
 	 PATHSPEC_MAXDEPTH	| \
 	 PATHSPEC_LITERAL	| \
 	 PATHSPEC_GLOB		| \
 	 PATHSPEC_ICASE		| \
-	 PATHSPEC_EXCLUDE)
+	 PATHSPEC_EXCLUDE	| \
+	 PATHSPEC_ATTR)
 
 #define PATHSPEC_ONESTAR 1	/* the pathspec pattern satisfies GFNM_ONESTAR */
 
 struct pathspec {
-	const char **_raw; /* get_pathspec() result, not freed by clear_pathspec() */
 	int nr;
 	unsigned int has_wildcard:1;
 	unsigned int recursive:1;
 	unsigned magic;
 	int max_depth;
 	struct pathspec_item {
-		const char *match;
-		const char *original;
+		char *match;
+		char *original;
 		unsigned magic;
 		int len, prefix;
 		int nowildcard_len;
 		int flags;
+		int attr_match_nr;
+		struct attr_match {
+			char *value;
+			enum attr_match_mode {
+				MATCH_SET,
+				MATCH_UNSET,
+				MATCH_VALUE,
+				MATCH_UNSPECIFIED
+			} match_mode;
+		} *attr_match;
+		struct attr_check *attr_check;
 	} *items;
 };
 
diff --git a/perl/Git.pm b/perl/Git.pm
index b273282..bfce1f7 100644
--- a/perl/Git.pm
+++ b/perl/Git.pm
@@ -1438,6 +1438,44 @@
 
 } # %TEMP_* Lexical Context
 
+=item prefix_lines ( PREFIX, STRING [, STRING... ])
+
+Prefixes lines in C<STRING> with C<PREFIX>.
+
+=cut
+
+sub prefix_lines {
+	my $prefix = shift;
+	my $string = join("\n", @_);
+	$string =~ s/^/$prefix/mg;
+	return $string;
+}
+
+=item get_comment_line_char ( )
+
+Gets the core.commentchar configuration value.
+The value falls-back to '#' if core.commentchar is set to 'auto'.
+
+=cut
+
+sub get_comment_line_char {
+	my $comment_line_char = config("core.commentchar") || '#';
+	$comment_line_char = '#' if ($comment_line_char eq 'auto');
+	$comment_line_char = '#' if (length($comment_line_char) != 1);
+	return $comment_line_char;
+}
+
+=item comment_lines ( STRING [, STRING... ])
+
+Comments lines following core.commentchar configuration.
+
+=cut
+
+sub comment_lines {
+	my $comment_line_char = get_comment_line_char;
+	return prefix_lines("$comment_line_char ", @_);
+}
+
 =back
 
 =head1 ERROR HANDLING
diff --git a/perl/Git/I18N.pm b/perl/Git/I18N.pm
index f889fd6..c41425c 100644
--- a/perl/Git/I18N.pm
+++ b/perl/Git/I18N.pm
@@ -13,7 +13,7 @@
 	}
 }
 
-our @EXPORT = qw(__);
+our @EXPORT = qw(__ __n N__);
 our @EXPORT_OK = @EXPORT;
 
 sub __bootstrap_locale_messages {
@@ -44,6 +44,7 @@
 	eval {
 		__bootstrap_locale_messages();
 		*__ = \&Locale::Messages::gettext;
+		*__n = \&Locale::Messages::ngettext;
 		1;
 	} or do {
 		# Tell test.pl that we couldn't load the gettext library.
@@ -51,7 +52,10 @@
 
 		# Just a fall-through no-op
 		*__ = sub ($) { $_[0] };
+		*__n = sub ($$$) { $_[2] == 1 ? $_[0] : $_[1] };
 	};
+
+	sub N__($) { return shift; }
 }
 
 1;
@@ -70,6 +74,9 @@
 
 	printf __("The following error occurred: %s\n"), $error;
 
+	printf __n("commited %d file\n", "commited %d files\n", $files), $files;
+
+
 =head1 DESCRIPTION
 
 Git's internal Perl interface to gettext via L<Locale::Messages>. If
@@ -87,6 +94,16 @@
 L<Locale::Messages>'s gettext function if all goes well, otherwise our
 passthrough fallback function.
 
+=head2 __n($$$)
+
+L<Locale::Messages>'s ngettext function or passthrough fallback function.
+
+=head2 N__($)
+
+No-operation that only returns its argument. Use this if you want xgettext to
+extract the text to the pot template but do not want to trigger retrival of the
+translation at run time.
+
 =head1 AUTHOR
 
 E<AElig>var ArnfjE<ouml>rE<eth> Bjarmason <avarab@gmail.com>
diff --git a/perl/Git/SVN.pm b/perl/Git/SVN.pm
index 711d268..98518f4 100644
--- a/perl/Git/SVN.pm
+++ b/perl/Git/SVN.pm
@@ -490,7 +490,7 @@
 	#
 	# Additionally, % must be escaped because it is used for escaping
 	# and we want our escaped refname to be reversible
-	$refname =~ s{([ \%~\^:\?\*\[\t])}{sprintf('%%%02X',ord($1))}eg;
+	$refname =~ s{([ \%~\^:\?\*\[\t\\])}{sprintf('%%%02X',ord($1))}eg;
 
 	# no slash-separated component can begin with a dot .
 	# /.* becomes /%2E*
diff --git a/po/TEAMS b/po/TEAMS
index d3e63bc..b221402 100644
--- a/po/TEAMS
+++ b/po/TEAMS
@@ -6,8 +6,9 @@
 Leader:		Alexander Shopov <ash@kambanaria.org>
 
 Language:	ca (Catalan)
-Repository:	https://github.com/alexhenrie/git-po
-Leader:		Alex Henrie <alexhenrie24@gmail.com>
+Repository:	https://github.com/Softcatala/git-po
+Leader:		Jordi Mas <jmas@softcatala.org>
+Members:	Alex Henrie <alexhenrie24@gmail.com>
 
 Language:	de (German)
 Repository:	https://github.com/ralfth/git-po-de
diff --git a/po/bg.po b/po/bg.po
index ce75f39..148862d 100644
--- a/po/bg.po
+++ b/po/bg.po
@@ -1,12 +1,12 @@
 # Bulgarian translation of git po-file.
-# Copyright (C) 2014, 2015 Alexander Shopov <ash@kambanaria.org>.
+# Copyright (C) 2014, 2015, 2016, 2017 Alexander Shopov <ash@kambanaria.org>.
 # This file is distributed under the same license as the git package.
-# Alexander Shopov <ash@kambanaria.org>, 2014, 2015.
+# Alexander Shopov <ash@kambanaria.org>, 2014, 2015, 2016, 2017.
 #
 # ========================
 # DICTIONARY TO MERGE IN GIT GUI
 # ------------------------
-# range интервал
+# range диапазон
 # unreachable object недостижим обект
 # dangling objects обект извън клон
 # fast-forward тривиално сливане
@@ -46,7 +46,7 @@
 # tree-ish указател към дърво
 # three-way merge тройно сливане
 # dirty нечист, мръсен (файл, индекс)
-# fallback  резервен вариант
+# fallback резервен вариант
 # pathspec magic опция за магически пътища
 # bitmap index индекс на база битови маски
 # mark маркер
@@ -68,8 +68,16 @@
 # peeled tag - проследен етикет - когато етикет сочи към друг етикет, а не подаване и проследяваме подобно на символна връзка
 # strip - премахвам (за компонент при филтриране)
 # unrelated histories - независими истории
+# inexact rename detection търсене на преименувания на обекти съчетани с промени
+# hunk парче
+# binary patch двоична кръпка
+# reverse-apply прилагам в обратна посока
+# todo file команден файл
+# octopus merge множествено сливане
+# alternate алтернативен източник
+# superproject обхващащ проект
 # ----
-# „$var“ - може да не сработва за shell  има gettext и eval_gettext - проверка - намират се лесно по „$
+# „$var“ - може да не сработва за shell има gettext и eval_gettext - проверка - намират се лесно по „$
 # ========================
 # „“…— ●≫ѝ→
 #
@@ -86,34 +94,24 @@
 # ========================
 # GENERATE STATS
 # ------------------------
-# grep ^#: bg.po | cut -c4- |tr ' ' '\n'| sed -e 's/:[0-9][0-9]*//'  -e 's%.*/%%' -e 's/[.][^.]*$//' > OUT
+# grep ^#: bg.po | cut -c4- |tr ' ' '\n'| sed -e 's/:[0-9][0-9]*//' -e 's%.*/%%' -e 's/[.][^.]*$//' > OUT
 # sort -u OUT > UNIQUE
-# for i in `cat UNIQUE`; do echo   `grep "^$i$" OUT | wc -l` $i ; done | sort -nr > STATS
+# for i in `cat UNIQUE`; do echo `grep "^$i$" OUT | wc -l` $i ; done | sort -nr > STATS
 #
 # ========================
 # FIND NON FULLY TRANSLATED
 # ------------------------
-# msgattrib  --untranslated bg.po > untranslated.po
-# msgattrib  --only-fuzzy bg.po > fuzzy.po
+# msgattrib --untranslated bg.po > untranslated.po
+# msgattrib --only-fuzzy bg.po > fuzzy.po
 # msgcat.exe untranslated.po fuzzy.po > new.po
-# grep ^#: new.po | cut -c4- |tr ' ' '\n'| sed -e 's/:[0-9][0-9]*//'  -e 's%.*/%%' -e 's/[.][^.]*$//' | sort -u
-#
-# ========================
-# MOST IMPORTANT name asc ordering
-# ------------------------
-# add, blame, branch, checkout, clone, commit, common-cmds, config, diff, fetch, fsck, gc, git-rebase, git-stash, grep, log, mv, parse-options, push, reflog, remote, reset, revert, rm, wt-status
-#
-# ========================
-# IMPORTANT strings, name asc ordering
-# ------------------------
-# apply, archive, check-ignore, clean, date, describe, git-am, git-bisect, git-submodule, hash-object, init-db, ls-tree, merge, merge-base, merge-file, merge-recursive, name-rev, pathspec, show-ref, tag
+# grep ^#: new.po | cut -c4- |tr ' ' '\n'| sed -e 's/:[0-9][0-9]*//' -e 's%.*/%%' -e 's/[.][^.]*$//' | sort -u
 #
 msgid ""
 msgstr ""
 "Project-Id-Version: git master\n"
 "Report-Msgid-Bugs-To: Git Mailing List <git@vger.kernel.org>\n"
-"POT-Creation-Date: 2016-05-24 23:42+0800\n"
-"PO-Revision-Date: 2016-05-29 15:23+0300\n"
+"POT-Creation-Date: 2016-11-25 22:50+0800\n"
+"PO-Revision-Date: 2017-01-28 19:34+0200\n"
 "Last-Translator: Alexander Shopov <ash@kambanaria.org>\n"
 "Language-Team: Bulgarian <dict@fsa-bg.org>\n"
 "Language: bg\n"
@@ -127,27 +125,723 @@
 msgid "hint: %.*s\n"
 msgstr "Подсказка: %.*s\n"
 
+#: advice.c:83
+msgid "Cherry-picking is not possible because you have unmerged files."
+msgstr "Отбирането на подавания е блокирано от неслети файлове."
+
+#: advice.c:85
+msgid "Committing is not possible because you have unmerged files."
+msgstr "Подаването е блокирано от неслети файлове."
+
+#: advice.c:87
+msgid "Merging is not possible because you have unmerged files."
+msgstr "Сливането е блокирано от неслети файлове."
+
+#: advice.c:89
+msgid "Pulling is not possible because you have unmerged files."
+msgstr "Издърпването е блокирано от неслети файлове."
+
+#: advice.c:91
+msgid "Reverting is not possible because you have unmerged files."
+msgstr "Отмяната е блокирана от неслети файлове."
+
+#: advice.c:93
+#, c-format
+msgid "It is not possible to %s because you have unmerged files."
+msgstr "Действието „%s“ е блокирано от неслети файлове."
+
 # TRANSFER
-#: advice.c:88
+#: advice.c:101
 msgid ""
 "Fix them up in the work tree, and then use 'git add/rm <file>'\n"
 "as appropriate to mark resolution and make a commit."
 msgstr ""
 "Редактирайте ги в работното дърво, и тогава ползвайте „git add/rm ФАЙЛ“\n"
-"за да отбележите коригирането им. След това извършете подаването."
+"за да отбележите коригирането им.  След това извършете подаването."
 
-#: advice.c:101 builtin/merge.c:1238
+#: advice.c:109
+msgid "Exiting because of an unresolved conflict."
+msgstr "Изход от програмата заради некоригиран конфликт."
+
+#: advice.c:114 builtin/merge.c:1181
 msgid "You have not concluded your merge (MERGE_HEAD exists)."
-msgstr "Не сте завършили сливане. (Указателят „MERGE_HEAD“ съществува)."
+msgstr "Не сте завършили сливане.  (Указателят „MERGE_HEAD“ съществува)."
 
-#: advice.c:103
+#: advice.c:116
 msgid "Please, commit your changes before merging."
 msgstr "Промените трябва да се подадат преди сливане."
 
-#: advice.c:104
+#: advice.c:117
 msgid "Exiting because of unfinished merge."
 msgstr "Изход от програмата заради незавършено сливане."
 
+#: advice.c:123
+#, c-format
+msgid ""
+"Note: checking out '%s'.\n"
+"\n"
+"You are in 'detached HEAD' state. You can look around, make experimental\n"
+"changes and commit them, and you can discard any commits you make in this\n"
+"state without impacting any branches by performing another checkout.\n"
+"\n"
+"If you want to create a new branch to retain commits you create, you may\n"
+"do so (now or later) by using -b with the checkout command again. Example:\n"
+"\n"
+"  git checkout -b <new-branch-name>\n"
+"\n"
+msgstr ""
+"Бележка: изтегляне на „%s“.\n"
+"\n"
+"Указателят „HEAD“ не е свързан.  Може да разглеждате, да правите произволни\n"
+"промени и да ги подавате.  Ако изтеглите нещо друго, всички промени ще "
+"бъдат\n"
+"забравени и никой клон няма да се промени.\n"
+"\n"
+"Ако искате да създадете нов клон, за да запазите подаванията си, можете да\n"
+"направите това като зададете име на клон към опцията „-b“ на командата\n"
+"„commit“. Например:\n"
+"\n"
+"  git checkout -b ИМЕ_НА_НОВ_КЛОН\n"
+"\n"
+
+#: apply.c:57
+#, c-format
+msgid "unrecognized whitespace option '%s'"
+msgstr "непозната опция за знаците за интервали „%s“"
+
+#: apply.c:73
+#, c-format
+msgid "unrecognized whitespace ignore option '%s'"
+msgstr "непозната опция за игнориране на знаците за интервали „%s“"
+
+#: apply.c:125
+msgid "--reject and --3way cannot be used together."
+msgstr "опциите „--reject“ и „--3way“ са несъвместими"
+
+#: apply.c:127
+msgid "--cached and --3way cannot be used together."
+msgstr "опциите „--cached“ и „--3way“ са несъвместими"
+
+#: apply.c:130
+msgid "--3way outside a repository"
+msgstr "като „--3way“, но извън хранилище"
+
+#: apply.c:141
+msgid "--index outside a repository"
+msgstr "като „--index“, но извън хранилище"
+
+#: apply.c:144
+msgid "--cached outside a repository"
+msgstr "като „--cached“, но извън хранилище"
+
+#: apply.c:845
+#, c-format
+msgid "Cannot prepare timestamp regexp %s"
+msgstr "Регулярният израз за времето „%s“ не може за бъде компилиран"
+
+#: apply.c:854
+#, c-format
+msgid "regexec returned %d for input: %s"
+msgstr "Регулярният израз върна %d при подадена последователност „%s“ на входа"
+
+#: apply.c:938
+#, c-format
+msgid "unable to find filename in patch at line %d"
+msgstr "Липсва име на файл на ред %d от кръпката"
+
+#: apply.c:977
+#, c-format
+msgid "git apply: bad git-diff - expected /dev/null, got %s on line %d"
+msgstr ""
+"git apply: лош изход от командата „git-diff“ — на ред %2$d се очакваше „/dev/"
+"null“, а бе получен „%1$s“"
+
+#: apply.c:983
+#, c-format
+msgid "git apply: bad git-diff - inconsistent new filename on line %d"
+msgstr ""
+"git apply: лош изход от командата „git-diff“ — на ред %d бе получено "
+"неправилно име на нов файл"
+
+#: apply.c:984
+#, c-format
+msgid "git apply: bad git-diff - inconsistent old filename on line %d"
+msgstr ""
+"git apply: лош изход от командата „git-diff“ — на ред %d бе получено "
+"неправилно име на стар файл"
+
+#: apply.c:990
+#, c-format
+msgid "git apply: bad git-diff - expected /dev/null on line %d"
+msgstr ""
+"git apply: лош изход от командата „git-diff“ — на ред %d се очакваше „/dev/"
+"null“"
+
+#: apply.c:1488
+#, c-format
+msgid "recount: unexpected line: %.*s"
+msgstr "при повторното преброяване бе получен неочакван ред: „%.*s“"
+
+#: apply.c:1557
+#, c-format
+msgid "patch fragment without header at line %d: %.*s"
+msgstr "част от кръпка без заглавна част на ред %d: %.*s"
+
+#: apply.c:1577
+#, c-format
+msgid ""
+"git diff header lacks filename information when removing %d leading pathname "
+"component (line %d)"
+msgid_plural ""
+"git diff header lacks filename information when removing %d leading pathname "
+"components (line %d)"
+msgstr[0] ""
+"След съкращаването на %d-та част от компонентите на пътя, в заглавната част "
+"на „git diff“ липсва информация за име на файл (ред: %d)"
+msgstr[1] ""
+"След съкращаването на първите %d части от компонентите на пътя, в заглавната "
+"част на „git diff“ липсва информация за име на файл (ред: %d)"
+
+#: apply.c:1589
+#, c-format
+msgid "git diff header lacks filename information (line %d)"
+msgstr ""
+"в заглавната част на „git diff“ липсва информация за име на файл (ред: %d)"
+
+#: apply.c:1759
+msgid "new file depends on old contents"
+msgstr "новият файл зависи от старото съдържание на файла"
+
+#: apply.c:1761
+msgid "deleted file still has contents"
+msgstr "изтритият файл не е празен"
+
+#: apply.c:1795
+#, c-format
+msgid "corrupt patch at line %d"
+msgstr "грешка в кръпката на ред %d"
+
+#: apply.c:1832
+#, c-format
+msgid "new file %s depends on old contents"
+msgstr "новият файл „%s“ зависи от старото съдържание на файла"
+
+#: apply.c:1834
+#, c-format
+msgid "deleted file %s still has contents"
+msgstr "изтритият файл „%s“ не е празен"
+
+#: apply.c:1837
+#, c-format
+msgid "** warning: file %s becomes empty but is not deleted"
+msgstr "● предупреждение: файлът „%s“ вече е празен, но не е изтрит"
+
+#: apply.c:1984
+#, c-format
+msgid "corrupt binary patch at line %d: %.*s"
+msgstr "грешка в двоичната кръпка на ред %d: %.*s"
+
+#: apply.c:2021
+#, c-format
+msgid "unrecognized binary patch at line %d"
+msgstr "неразпозната двоичната кръпка на ред %d"
+
+#: apply.c:2182
+#, c-format
+msgid "patch with only garbage at line %d"
+msgstr "кръпката е с изцяло повредени данни на ред %d"
+
+#: apply.c:2274
+#, c-format
+msgid "unable to read symlink %s"
+msgstr "символната връзка „%s“ не може да бъде прочетена"
+
+#: apply.c:2278
+#, c-format
+msgid "unable to open or read %s"
+msgstr "файлът „%s“ не може да бъде отворен или прочетен"
+
+#: apply.c:2931
+#, c-format
+msgid "invalid start of line: '%c'"
+msgstr "неправилно начало на ред: „%c“"
+
+#: apply.c:3050
+#, c-format
+msgid "Hunk #%d succeeded at %d (offset %d line)."
+msgid_plural "Hunk #%d succeeded at %d (offset %d lines)."
+msgstr[0] ""
+"%d-то парче код бе успешно приложено на ред %d (отместване от %d ред)."
+msgstr[1] ""
+"%d-то парче код бе успешно приложено на ред %d (отместване от %d реда)."
+
+#: apply.c:3062
+#, c-format
+msgid "Context reduced to (%ld/%ld) to apply fragment at %d"
+msgstr ""
+"Контекстът е намален на (%ld/%ld) за прилагането на парчето код на ред %d"
+
+#: apply.c:3068
+#, c-format
+msgid ""
+"while searching for:\n"
+"%.*s"
+msgstr ""
+"при търсене за:\n"
+"%.*s"
+
+#: apply.c:3090
+#, c-format
+msgid "missing binary patch data for '%s'"
+msgstr "липсват данните за двоичната кръпка за „%s“"
+
+#: apply.c:3098
+#, c-format
+msgid "cannot reverse-apply a binary patch without the reverse hunk to '%s'"
+msgstr ""
+"двоичната кръпка не може да се приложи в обратна посока, когато обратното "
+"парче за „%s“ липсва"
+
+#: apply.c:3144
+#, c-format
+msgid "cannot apply binary patch to '%s' without full index line"
+msgstr "към „%s“ не може да се приложи двоична кръпка без пълен индекс"
+
+#: apply.c:3154
+#, c-format
+msgid ""
+"the patch applies to '%s' (%s), which does not match the current contents."
+msgstr "кръпката съответства на „%s“ (%s), който не съвпада по съдържание."
+
+#: apply.c:3162
+#, c-format
+msgid "the patch applies to an empty '%s' but it is not empty"
+msgstr "кръпката съответства на „%s“, който трябва да е празен, но не е"
+
+#: apply.c:3180
+#, c-format
+msgid "the necessary postimage %s for '%s' cannot be read"
+msgstr ""
+"необходимият резултат след операцията  — „%s“ за „%s“ не може да бъде "
+"прочетен"
+
+#: apply.c:3193
+#, c-format
+msgid "binary patch does not apply to '%s'"
+msgstr "двоичната кръпка не може да бъде приложена върху „%s“"
+
+#: apply.c:3199
+#, c-format
+msgid "binary patch to '%s' creates incorrect result (expecting %s, got %s)"
+msgstr ""
+"двоичната кръпка за „%s“ води до неправилни резултати (очакваше се: „%s“, а "
+"бе получено: „%s“)"
+
+#: apply.c:3220
+#, c-format
+msgid "patch failed: %s:%ld"
+msgstr "неуспешно прилагане на кръпка: „%s:%ld“"
+
+#: apply.c:3342
+#, c-format
+msgid "cannot checkout %s"
+msgstr "„%s“ не може да се изтегли"
+
+#: apply.c:3390 apply.c:3401 apply.c:3447 setup.c:248
+#, c-format
+msgid "failed to read %s"
+msgstr "файлът „%s“ не може да бъде прочетен"
+
+#: apply.c:3398
+#, c-format
+msgid "reading from '%s' beyond a symbolic link"
+msgstr "изчитане на „%s“ след проследяване на символна връзка"
+
+#: apply.c:3427 apply.c:3667
+#, c-format
+msgid "path %s has been renamed/deleted"
+msgstr "обектът с път „%s“ е преименуван или изтрит"
+
+#: apply.c:3510 apply.c:3681
+#, c-format
+msgid "%s: does not exist in index"
+msgstr "„%s“ не съществува в индекса"
+
+#: apply.c:3519 apply.c:3689
+#, c-format
+msgid "%s: does not match index"
+msgstr "„%s“ не съответства на индекса"
+
+#: apply.c:3554
+msgid "repository lacks the necessary blob to fall back on 3-way merge."
+msgstr ""
+"в хранилището липсват необходимите обекти BLOB, за да се премине към тройно "
+"сливане."
+
+#: apply.c:3557
+#, c-format
+msgid "Falling back to three-way merge...\n"
+msgstr "Преминаване към тройно сливане…\n"
+
+#: apply.c:3573 apply.c:3577
+#, c-format
+msgid "cannot read the current contents of '%s'"
+msgstr "текущото съдържание на „%s“ не може да бъде прочетено"
+
+#: apply.c:3589
+#, c-format
+msgid "Failed to fall back on three-way merge...\n"
+msgstr "Неуспешно преминаване към тройно сливане…\n"
+
+#: apply.c:3603
+#, c-format
+msgid "Applied patch to '%s' with conflicts.\n"
+msgstr "Конфликти при прилагането на кръпката към „%s“.\n"
+
+#: apply.c:3608
+#, c-format
+msgid "Applied patch to '%s' cleanly.\n"
+msgstr "Кръпката бе приложена чисто към „%s“.\n"
+
+#: apply.c:3634
+msgid "removal patch leaves file contents"
+msgstr "изтриващата кръпка оставя файла непразен"
+
+#: apply.c:3706
+#, c-format
+msgid "%s: wrong type"
+msgstr "„%s“: неправилен вид"
+
+#: apply.c:3708
+#, c-format
+msgid "%s has type %o, expected %o"
+msgstr "„%s“ е от вид „%o“, а се очакваше „%o“"
+
+#: apply.c:3859 apply.c:3861
+#, c-format
+msgid "invalid path '%s'"
+msgstr "неправилен път: „%s“"
+
+#: apply.c:3917
+#, c-format
+msgid "%s: already exists in index"
+msgstr "„%s“: вече съществува в индекса"
+
+#: apply.c:3920
+#, c-format
+msgid "%s: already exists in working directory"
+msgstr "„%s“: вече съществува в работното дърво"
+
+#: apply.c:3940
+#, c-format
+msgid "new mode (%o) of %s does not match old mode (%o)"
+msgstr "новите права за достъп (%o) на „%s“ не съвпадат със старите (%o)"
+
+#: apply.c:3945
+#, c-format
+msgid "new mode (%o) of %s does not match old mode (%o) of %s"
+msgstr ""
+"новите права за достъп (%o) на „%s“ не съвпадат със старите (%o) на „%s“"
+
+#: apply.c:3965
+#, c-format
+msgid "affected file '%s' is beyond a symbolic link"
+msgstr "засегнатият файл „%s“ е след символна връзка"
+
+#: apply.c:3969
+#, c-format
+msgid "%s: patch does not apply"
+msgstr "Кръпката „%s“ не може да бъде приложена"
+
+#: apply.c:3984
+#, c-format
+msgid "Checking patch %s..."
+msgstr "Проверяване на кръпката „%s“…"
+
+#: apply.c:4075
+#, c-format
+msgid "sha1 information is lacking or useless for submodule %s"
+msgstr ""
+"информацията за сумата по SHA1 за подмодула липсва или не е достатъчна (%s)."
+
+#: apply.c:4082
+#, c-format
+msgid "mode change for %s, which is not in current HEAD"
+msgstr "смяна на режима на достъпа на „%s“, който не е в текущия връх „HEAD“"
+
+#: apply.c:4085
+#, c-format
+msgid "sha1 information is lacking or useless (%s)."
+msgstr "информацията за сумата по SHA1 липсва или не е достатъчна (%s)."
+
+#: apply.c:4090 builtin/checkout.c:233 builtin/reset.c:135
+#, c-format
+msgid "make_cache_entry failed for path '%s'"
+msgstr "неуспешно създаване на запис в кеша чрез „make_cache_entry“ за „%s“"
+
+#: apply.c:4094
+#, c-format
+msgid "could not add %s to temporary index"
+msgstr "„%s“ не може да се добави към временния индекс"
+
+#: apply.c:4104
+#, c-format
+msgid "could not write temporary index to %s"
+msgstr "временният индекс не може да се запази в „%s“"
+
+#: apply.c:4242
+#, c-format
+msgid "unable to remove %s from index"
+msgstr "„%s“ не може да се извади от индекса"
+
+#: apply.c:4277
+#, c-format
+msgid "corrupt patch for submodule %s"
+msgstr "повредена кръпка за модула „%s“"
+
+#: apply.c:4283
+#, c-format
+msgid "unable to stat newly created file '%s'"
+msgstr ""
+"не може да се получи информация чрез „stat“ за новосъздадения файл „%s“"
+
+#: apply.c:4291
+#, c-format
+msgid "unable to create backing store for newly created file %s"
+msgstr ""
+"не може да се за създаде мястото за съхранение на новосъздадения файл „%s“"
+
+#: apply.c:4297 apply.c:4441
+#, c-format
+msgid "unable to add cache entry for %s"
+msgstr "не може да се добави запис в кеша за „%s“"
+
+#: apply.c:4338
+#, c-format
+msgid "failed to write to '%s'"
+msgstr "в „%s“ не може да се пише"
+
+#: apply.c:4342
+#, c-format
+msgid "closing file '%s'"
+msgstr "затваряне на файла „%s“"
+
+#: apply.c:4412
+#, c-format
+msgid "unable to write file '%s' mode %o"
+msgstr "файлът „%s“ не може да се запише с режим на достъп „%o“"
+
+#: apply.c:4510
+#, c-format
+msgid "Applied patch %s cleanly."
+msgstr "Кръпката „%s“ бе приложена чисто."
+
+#: apply.c:4518
+msgid "internal error"
+msgstr "вътрешна грешка"
+
+#: apply.c:4521
+#, c-format
+msgid "Applying patch %%s with %d reject..."
+msgid_plural "Applying patch %%s with %d rejects..."
+msgstr[0] "Прилагане на кръпката „%%s“ с %d отхвърлено парче…"
+msgstr[1] "Прилагане на кръпката „%%s“ с %d отхвърлени парчета…"
+
+#: apply.c:4532
+#, c-format
+msgid "truncating .rej filename to %.*s.rej"
+msgstr "съкращаване на името на файла с отхвърлените парчета на „ %.*s.rej“"
+
+#: apply.c:4540 builtin/fetch.c:740 builtin/fetch.c:989
+#, c-format
+msgid "cannot open %s"
+msgstr "„%s“ не може да бъде отворен"
+
+#: apply.c:4554
+#, c-format
+msgid "Hunk #%d applied cleanly."
+msgstr "%d-то парче бе успешно приложено."
+
+#: apply.c:4558
+#, c-format
+msgid "Rejected hunk #%d."
+msgstr "%d-то парче бе отхвърлено."
+
+#: apply.c:4668
+#, c-format
+msgid "Skipped patch '%s'."
+msgstr "Пропусната кръпка: „%s“"
+
+#: apply.c:4676
+msgid "unrecognized input"
+msgstr "непознат вход"
+
+#: apply.c:4695
+msgid "unable to read index file"
+msgstr "индексът не може да бъде записан"
+
+#: apply.c:4833
+#, c-format
+msgid "can't open patch '%s': %s"
+msgstr "кръпката „%s“ не може да бъде отворена: %s"
+
+#: apply.c:4858
+#, c-format
+msgid "squelched %d whitespace error"
+msgid_plural "squelched %d whitespace errors"
+msgstr[0] "пренебрегната е %d грешка в знаците за интервали"
+msgstr[1] "пренебрегнати са %d грешки в знаците за интервали"
+
+#: apply.c:4864 apply.c:4879
+#, c-format
+msgid "%d line adds whitespace errors."
+msgid_plural "%d lines add whitespace errors."
+msgstr[0] "%d ред добавя грешки в знаците за интервали."
+msgstr[1] "%d реда добавят грешки в знаците за интервали."
+
+#: apply.c:4872
+#, c-format
+msgid "%d line applied after fixing whitespace errors."
+msgid_plural "%d lines applied after fixing whitespace errors."
+msgstr[0] ""
+"Добавен е %d ред след корекцията на грешките в знаците за интервали."
+msgstr[1] ""
+"Добавени са %d реда след корекцията на грешките в знаците за интервали."
+
+#: apply.c:4888 builtin/add.c:463 builtin/mv.c:286 builtin/rm.c:431
+msgid "Unable to write new index file"
+msgstr "Новият индекс не може да бъде записан"
+
+#: apply.c:4919 apply.c:4922 builtin/am.c:2277 builtin/am.c:2280
+#: builtin/clone.c:95 builtin/fetch.c:98 builtin/pull.c:180
+#: builtin/submodule--helper.c:281 builtin/submodule--helper.c:407
+#: builtin/submodule--helper.c:589 builtin/submodule--helper.c:592
+#: builtin/submodule--helper.c:944 builtin/submodule--helper.c:947
+msgid "path"
+msgstr "път"
+
+#: apply.c:4920
+msgid "don't apply changes matching the given path"
+msgstr "без прилагане на промените напасващи на дадения път"
+
+#: apply.c:4923
+msgid "apply changes matching the given path"
+msgstr "прилагане на промените напасващи на дадения път"
+
+#: apply.c:4925 builtin/am.c:2286
+msgid "num"
+msgstr "БРОЙ"
+
+#: apply.c:4926
+msgid "remove <num> leading slashes from traditional diff paths"
+msgstr "премахване на този БРОЙ водещи елементи от пътищата в разликата"
+
+#: apply.c:4929
+msgid "ignore additions made by the patch"
+msgstr "игнориране на редовете добавени от тази кръпка"
+
+#: apply.c:4931
+msgid "instead of applying the patch, output diffstat for the input"
+msgstr "извеждане на статистика на промените без прилагане на кръпката"
+
+#: apply.c:4935
+msgid "show number of added and deleted lines in decimal notation"
+msgstr "извеждане на броя на добавените и изтритите редове"
+
+#: apply.c:4937
+msgid "instead of applying the patch, output a summary for the input"
+msgstr "извеждане на статистика на входните данни без прилагане на кръпката"
+
+#: apply.c:4939
+msgid "instead of applying the patch, see if the patch is applicable"
+msgstr "проверка дали кръпката може да се приложи, без действително прилагане"
+
+#: apply.c:4941
+msgid "make sure the patch is applicable to the current index"
+msgstr "проверка дали кръпката може да бъде приложена към текущия индекс"
+
+#: apply.c:4943
+msgid "apply a patch without touching the working tree"
+msgstr "прилагане на кръпката без промяна на работното дърво"
+
+#: apply.c:4945
+msgid "accept a patch that touches outside the working area"
+msgstr "прилагане на кръпка, която променя и файлове извън работното дърво"
+
+#: apply.c:4947
+msgid "also apply the patch (use with --stat/--summary/--check)"
+msgstr ""
+"кръпката да бъде приложена.  Опцията се комбинира с „--check“/„--stat“/„--"
+"summary“"
+
+#: apply.c:4949
+msgid "attempt three-way merge if a patch does not apply"
+msgstr "пробване с тройно сливане, ако кръпката не може да се приложи директно"
+
+#: apply.c:4951
+msgid "build a temporary index based on embedded index information"
+msgstr ""
+"създаване на временен индекс на база на включената информация за индекса"
+
+#: apply.c:4954 builtin/checkout-index.c:169 builtin/ls-files.c:505
+msgid "paths are separated with NUL character"
+msgstr "разделяне на пътищата с нулевия знак „NUL“"
+
+#: apply.c:4956
+msgid "ensure at least <n> lines of context match"
+msgstr "да се осигури контекст от поне такъв БРОЙ съвпадащи редове"
+
+#: apply.c:4957 builtin/am.c:2265
+msgid "action"
+msgstr "действие"
+
+#: apply.c:4958
+msgid "detect new or modified lines that have whitespace errors"
+msgstr "засичане на нови или променени редове с грешки в знаците за интервали"
+
+#: apply.c:4961 apply.c:4964
+msgid "ignore changes in whitespace when finding context"
+msgstr ""
+"игнориране на промените в знаците за интервали при откриване на контекста"
+
+#: apply.c:4967
+msgid "apply the patch in reverse"
+msgstr "прилагане на кръпката в обратна посока"
+
+#: apply.c:4969
+msgid "don't expect at least one line of context"
+msgstr "без изискване на дори и един ред контекст"
+
+#: apply.c:4971
+msgid "leave the rejected hunks in corresponding *.rej files"
+msgstr "оставяне на отхвърлените парчета във файлове с разширение „.rej“"
+
+#: apply.c:4973
+msgid "allow overlapping hunks"
+msgstr "позволяване на застъпващи се парчета"
+
+#: apply.c:4974 builtin/add.c:267 builtin/check-ignore.c:19
+#: builtin/commit.c:1339 builtin/count-objects.c:94 builtin/fsck.c:593
+#: builtin/log.c:1860 builtin/mv.c:110 builtin/read-tree.c:114
+msgid "be verbose"
+msgstr "повече подробности"
+
+#: apply.c:4976
+msgid "tolerate incorrectly detected missing new-line at the end of file"
+msgstr "пренебрегване на неправилно липсващ знак за нов ред в края на файл"
+
+#: apply.c:4979
+msgid "do not trust the line counts in the hunk headers"
+msgstr "без доверяване на номерата на редовете в заглавните части на парчетата"
+
+#: apply.c:4981 builtin/am.c:2274
+msgid "root"
+msgstr "НАЧАЛНА_ДИРЕКТОРИЯ"
+
+#: apply.c:4982
+msgid "prepend <root> to all filenames"
+msgstr "добавяне на тази НАЧАЛНА_ДИРЕКТОРИЯ към имената на всички файлове"
+
 #: archive.c:12
 msgid "git archive [<options>] <tree-ish> [<path>...]"
 msgstr "git archive [ОПЦИЯ…] УКАЗАТЕЛ_КЪМ_ДЪРВО [ПЪТ…]"
@@ -167,7 +861,7 @@
 msgid "git archive --remote <repo> [--exec <cmd>] --list"
 msgstr "git archive --remote ХРАНИЛИЩЕ [--exec КОМАНДА] --list"
 
-#: archive.c:344 builtin/add.c:137 builtin/add.c:420 builtin/rm.c:327
+#: archive.c:344 builtin/add.c:152 builtin/add.c:442 builtin/rm.c:327
 #, c-format
 msgid "pathspec '%s' did not match any files"
 msgstr "пътят „%s“ не съвпада с никой файл"
@@ -180,7 +874,7 @@
 msgid "archive format"
 msgstr "ФОРМАТ на архива"
 
-#: archive.c:430 builtin/log.c:1395
+#: archive.c:430 builtin/log.c:1429
 msgid "prefix"
 msgstr "ПРЕФИКС"
 
@@ -188,11 +882,11 @@
 msgid "prepend prefix to each pathname in the archive"
 msgstr "добавяне на този ПРЕФИКС към всеки път в архива"
 
-#: archive.c:432 builtin/archive.c:88 builtin/blame.c:2548 builtin/blame.c:2549
-#: builtin/config.c:60 builtin/fast-export.c:987 builtin/fast-export.c:989
-#: builtin/grep.c:722 builtin/hash-object.c:100 builtin/ls-files.c:459
-#: builtin/ls-files.c:462 builtin/notes.c:398 builtin/notes.c:561
-#: builtin/read-tree.c:109 parse-options.h:153
+#: archive.c:432 builtin/blame.c:2603 builtin/blame.c:2604 builtin/config.c:59
+#: builtin/fast-export.c:987 builtin/fast-export.c:989 builtin/grep.c:723
+#: builtin/hash-object.c:101 builtin/ls-files.c:539 builtin/ls-files.c:542
+#: builtin/notes.c:401 builtin/notes.c:564 builtin/read-tree.c:109
+#: parse-options.h:153
 msgid "file"
 msgstr "ФАЙЛ"
 
@@ -224,8 +918,8 @@
 msgid "list supported archive formats"
 msgstr "извеждане на списъка с поддържаните формати"
 
-#: archive.c:451 builtin/archive.c:90 builtin/clone.c:82
-#: builtin/submodule--helper.c:776
+#: archive.c:451 builtin/archive.c:90 builtin/clone.c:85 builtin/clone.c:88
+#: builtin/submodule--helper.c:601 builtin/submodule--helper.c:953
 msgid "repo"
 msgstr "хранилище"
 
@@ -233,7 +927,7 @@
 msgid "retrieve the archive from remote repository <repo>"
 msgstr "изтегляне на архива от отдалеченото ХРАНИЛИЩЕ"
 
-#: archive.c:453 builtin/archive.c:92 builtin/notes.c:482
+#: archive.c:453 builtin/archive.c:92 builtin/notes.c:485
 msgid "command"
 msgstr "команда"
 
@@ -241,6 +935,28 @@
 msgid "path to the remote git-upload-archive command"
 msgstr "път към отдалечената команда „git-upload-archive“"
 
+#: archive.c:461
+msgid "Unexpected option --remote"
+msgstr "Неочаквана опция „--remote“"
+
+#: archive.c:463
+msgid "Option --exec can only be used together with --remote"
+msgstr "Опцията „--exec“ изисква „--remote“"
+
+#: archive.c:465
+msgid "Unexpected option --output"
+msgstr "Неочаквана опция „--output“"
+
+#: archive.c:487
+#, c-format
+msgid "Unknown archive format '%s'"
+msgstr "Непознат формат на архив: „%s“"
+
+#: archive.c:494
+#, c-format
+msgid "Argument not supported for format '%s': -%d"
+msgstr "Аргументът не се поддържа за форма̀та „%s“: -%d"
+
 #: attr.c:263
 msgid ""
 "Negative patterns are ignored in git attributes\n"
@@ -249,6 +965,129 @@
 "Отрицателните шаблони се игнорират в атрибутите на git.\n"
 "Ако ви трябва начална удивителна, ползвайте „\\!“."
 
+#: bisect.c:441
+#, c-format
+msgid "Could not open file '%s'"
+msgstr "Файлът „%s“ не може да се отвори"
+
+#: bisect.c:446
+#, c-format
+msgid "Badly quoted content in file '%s': %s"
+msgstr "Неправилно цитирано съдържание във файла „%s“: %s"
+
+#: bisect.c:655
+#, c-format
+msgid "We cannot bisect more!\n"
+msgstr "Повече не може да се търси двоично!\n"
+
+#: bisect.c:708
+#, c-format
+msgid "Not a valid commit name %s"
+msgstr "Неправилно име на подаване „%s“"
+
+#: bisect.c:732
+#, c-format
+msgid ""
+"The merge base %s is bad.\n"
+"This means the bug has been fixed between %s and [%s].\n"
+msgstr ""
+"Неправилна база за сливане: %s.\n"
+"Следователно грешката е коригирана между „%s“ и [%s].\n"
+
+#: bisect.c:737
+#, c-format
+msgid ""
+"The merge base %s is new.\n"
+"The property has changed between %s and [%s].\n"
+msgstr ""
+"Нова база за сливане: %s.\n"
+"Свойството е променено между „%s“ и [%s].\n"
+
+#: bisect.c:742
+#, c-format
+msgid ""
+"The merge base %s is %s.\n"
+"This means the first '%s' commit is between %s and [%s].\n"
+msgstr ""
+"Базата за сливане „%s“ е %s.\n"
+"Следователно първото %s подаване е между „%s“ и [%s].\n"
+
+#: bisect.c:750
+#, c-format
+msgid ""
+"Some %s revs are not ancestor of the %s rev.\n"
+"git bisect cannot work properly in this case.\n"
+"Maybe you mistook %s and %s revs?\n"
+msgstr ""
+"Някои от указателите от „%s“ не са предшественици на указателя „%s“.\n"
+"Двоичното търсене с git bisect няма да работи правилно.\n"
+"Дали не сте объркали указателите „%s“ и „%s“?\n"
+
+#: bisect.c:763
+#, c-format
+msgid ""
+"the merge base between %s and [%s] must be skipped.\n"
+"So we cannot be sure the first %s commit is between %s and %s.\n"
+"We continue anyway."
+msgstr ""
+"базата за сливане между „%s“ и [%s] трябва да бъде прескочена.\n"
+"Не може да сме сигурни, че първото %s подаване е между „%s“ и „%s“.\n"
+"Двоичното търсене продължава."
+
+#: bisect.c:798
+#, c-format
+msgid "Bisecting: a merge base must be tested\n"
+msgstr "Двоично търсене: трябва да се провери база за сливане\n"
+
+#: bisect.c:849
+#, c-format
+msgid "a %s revision is needed"
+msgstr "необходима е версия „%s“"
+
+#: bisect.c:866 builtin/notes.c:174 builtin/tag.c:248
+#, c-format
+msgid "could not create file '%s'"
+msgstr "файлът „%s“ не може да бъде създаден"
+
+#: bisect.c:917
+#, c-format
+msgid "could not read file '%s'"
+msgstr "файлът „%s“ не може да бъде прочетен"
+
+#: bisect.c:947
+msgid "reading bisect refs failed"
+msgstr "неуспешно прочитане на указателите за двоично търсене"
+
+#: bisect.c:967
+#, c-format
+msgid "%s was both %s and %s\n"
+msgstr "„%s“ e както „%s“, така и „%s“\n"
+
+#: bisect.c:975
+#, c-format
+msgid ""
+"No testable commit found.\n"
+"Maybe you started with bad path parameters?\n"
+msgstr ""
+"Липсва подходящо за тестване подаване.\n"
+"Проверете параметрите за пътищата.\n"
+
+#: bisect.c:994
+#, c-format
+msgid "(roughly %d step)"
+msgid_plural "(roughly %d steps)"
+msgstr[0] "(приблизително %d стъпка)"
+msgstr[1] "(приблизително %d стъпки)"
+
+#. TRANSLATORS: the last %s will be replaced with
+#. "(roughly %d steps)" translation
+#: bisect.c:998
+#, c-format
+msgid "Bisecting: %d revision left to test after this %s\n"
+msgid_plural "Bisecting: %d revisions left to test after this %s\n"
+msgstr[0] "Двоично търсене: остава %d версия след тази %s\n"
+msgstr[1] "Двоично търсене: остават %d версии след тази %s\n"
+
 #: branch.c:53
 #, c-format
 msgid ""
@@ -318,7 +1157,7 @@
 #: branch.c:156
 #, c-format
 msgid "Not tracking: ambiguous information for ref %s"
-msgstr "Няма следене: двусмислена информация за указателя „%s“"
+msgstr "Няма следене: информацията за указателя „%s“ не е еднозначна"
 
 #: branch.c:185
 #, c-format
@@ -363,27 +1202,27 @@
 "може да използвате „git push -u“, за да настроите към кой клон да се "
 "изтласква."
 
-#: branch.c:266
+#: branch.c:265
 #, c-format
 msgid "Not a valid object name: '%s'."
 msgstr "Неправилно име на обект: „%s“"
 
-#: branch.c:286
+#: branch.c:285
 #, c-format
 msgid "Ambiguous object name: '%s'."
-msgstr "Двусмислено име на обект: „%s“"
+msgstr "Името на обект не е еднозначно: „%s“"
 
-#: branch.c:291
+#: branch.c:290
 #, c-format
 msgid "Not a valid branch point: '%s'."
 msgstr "Неправилно място за начало на клон: „%s“"
 
-#: branch.c:345
+#: branch.c:344
 #, c-format
 msgid "'%s' is already checked out at '%s'"
 msgstr "„%s“ вече е изтеглен в „%s“"
 
-#: branch.c:364
+#: branch.c:363
 #, c-format
 msgid "HEAD of working tree %s is not updated"
 msgstr "Указателят „HEAD“ на работното дърво „%s“ не е обновен"
@@ -398,7 +1237,7 @@
 msgid "unrecognized header: %s%s (%d)"
 msgstr "непозната заглавна част: %s%s (%d)"
 
-#: bundle.c:87 builtin/commit.c:777
+#: bundle.c:87 sequencer.c:963 builtin/commit.c:777
 #, c-format
 msgid "could not open '%s'"
 msgstr "„%s“ не може да се отвори"
@@ -407,10 +1246,10 @@
 msgid "Repository lacks these prerequisite commits:"
 msgstr "В хранилището липсват следните необходими подавания:"
 
-#: bundle.c:163 ref-filter.c:1462 sequencer.c:627 sequencer.c:1073
-#: builtin/blame.c:2755 builtin/commit.c:1056 builtin/log.c:340
-#: builtin/log.c:863 builtin/log.c:1308 builtin/log.c:1633 builtin/log.c:1875
-#: builtin/merge.c:361 builtin/shortlog.c:170
+#: bundle.c:163 ref-filter.c:1462 sequencer.c:830 sequencer.c:1374
+#: builtin/blame.c:2814 builtin/commit.c:1061 builtin/log.c:348
+#: builtin/log.c:890 builtin/log.c:1340 builtin/log.c:1666 builtin/log.c:1909
+#: builtin/merge.c:356 builtin/shortlog.c:170
 msgid "revision walk setup failed"
 msgstr "неуспешно настройване на обхождането на версиите"
 
@@ -450,7 +1289,7 @@
 msgstr ""
 "указателят „%s“ не е бил включен поради опциите зададени на „git rev-list“"
 
-#: bundle.c:443 builtin/log.c:163 builtin/log.c:1538 builtin/shortlog.c:273
+#: bundle.c:443 builtin/log.c:165 builtin/log.c:1572 builtin/shortlog.c:273
 #, c-format
 msgid "unrecognized argument: %s"
 msgstr "непознат аргумент: %s"
@@ -468,13 +1307,13 @@
 msgid "index-pack died"
 msgstr "Командата „git index-pack“ не завърши успешно"
 
-#: color.c:275
+#: color.c:290
 #, c-format
 msgid "invalid color value: %.*s"
 msgstr "неправилна стойност за цвят: %.*s"
 
-#: commit.c:40 builtin/am.c:437 builtin/am.c:473 builtin/am.c:1504
-#: builtin/am.c:2134
+#: commit.c:40 builtin/am.c:421 builtin/am.c:457 builtin/am.c:1493
+#: builtin/am.c:2127
 #, c-format
 msgid "could not parse %s"
 msgstr "„%s“ не може да се анализира"
@@ -484,132 +1323,252 @@
 msgid "%s %s is not a commit!"
 msgstr "%s %s не е подаване!"
 
+#: commit.c:1514
+msgid ""
+"Warning: commit message did not conform to UTF-8.\n"
+"You may want to amend it after fixing the message, or set the config\n"
+"variable i18n.commitencoding to the encoding your project uses.\n"
+msgstr ""
+"ПРЕДУПРЕЖДЕНИЕ: съобщението при подаване не е кодирано с UTF-8.\n"
+"Може да поправите подаването заедно със съобщението или може да\n"
+"зададете ползваното кодиране в настройката „i18n.commitencoding“.\n"
+
 #: compat/obstack.c:406 compat/obstack.c:408
 msgid "memory exhausted"
 msgstr "паметта свърши"
 
-#: config.c:475 config.c:477
+#: config.c:516
 #, c-format
-msgid "bad config line %d in %s %s"
-msgstr "неправилен ред %d в настройката %s „%s“"
+msgid "bad config line %d in blob %s"
+msgstr "неправилен ред за настройки %d в BLOB „%s“"
 
-#: config.c:593
+#: config.c:520
 #, c-format
-msgid "bad numeric config value '%s' for '%s' in %s %s: %s"
-msgstr "неправилна числова стойност „%s“ за настройката „%s“ в %s „%s“: %s"
+msgid "bad config line %d in file %s"
+msgstr "неправилен ред за настройки %d във файла „%s“"
 
-#: config.c:595
+#: config.c:524
+#, c-format
+msgid "bad config line %d in standard input"
+msgstr "неправилен ред за настройки %d на стандартния вход"
+
+#: config.c:528
+#, c-format
+msgid "bad config line %d in submodule-blob %s"
+msgstr "неправилен ред за настройки %d в BLOB за подмодул „%s“"
+
+#: config.c:532
+#, c-format
+msgid "bad config line %d in command line %s"
+msgstr "неправилен ред за настройки %d на командния ред „%s“"
+
+#: config.c:536
+#, c-format
+msgid "bad config line %d in %s"
+msgstr "неправилен ред за настройки %d в „%s“"
+
+#: config.c:655
+msgid "out of range"
+msgstr "извън диапазона"
+
+#: config.c:655
+msgid "invalid unit"
+msgstr "неправилна мерна единица"
+
+#: config.c:661
 #, c-format
 msgid "bad numeric config value '%s' for '%s': %s"
-msgstr "неправилна числова стойност „%s“ за настройката „%s“: %s"
+msgstr "неправилна числова стойност „%s“ за „%s“: %s"
 
-#: config.c:680
+#: config.c:666
+#, c-format
+msgid "bad numeric config value '%s' for '%s' in blob %s: %s"
+msgstr "неправилна числова стойност „%s“ за „%s“ в BLOB „%s“: %s"
+
+#: config.c:669
+#, c-format
+msgid "bad numeric config value '%s' for '%s' in file %s: %s"
+msgstr "неправилна числова стойност „%s“ за „%s“ във файла „%s“: %s"
+
+#: config.c:672
+#, c-format
+msgid "bad numeric config value '%s' for '%s' in standard input: %s"
+msgstr "неправилна числова стойност „%s“ за „%s“ на стандартния вход: %s"
+
+#: config.c:675
+#, c-format
+msgid "bad numeric config value '%s' for '%s' in submodule-blob %s: %s"
+msgstr "неправилна числова стойност „%s“ за „%s“ в BLOB от подмодул „%s“: %s"
+
+#: config.c:678
+#, c-format
+msgid "bad numeric config value '%s' for '%s' in command line %s: %s"
+msgstr "неправилна числова стойност „%s“ за „%s“ на командния ред „%s“: %s"
+
+#: config.c:681
+#, c-format
+msgid "bad numeric config value '%s' for '%s' in %s: %s"
+msgstr "неправилна числова стойност „%s“ за „%s“ в %s: %s"
+
+#: config.c:768
 #, c-format
 msgid "failed to expand user dir in: '%s'"
 msgstr "домашната папка на потребителя не може да бъде открита: „%s“"
 
-#: config.c:761 config.c:772
+#: config.c:852 config.c:863
 #, c-format
 msgid "bad zlib compression level %d"
 msgstr "неправилно ниво на компресиране: %d"
 
-#: config.c:890
+#: config.c:978
 #, c-format
 msgid "invalid mode for object creation: %s"
 msgstr "неправилен режим за създаването на обекти: %s"
 
-#: config.c:1228
+#: config.c:1312
 msgid "unable to parse command-line config"
 msgstr "неправилни настройки от командния ред"
 
-#: config.c:1284
-msgid "unknown error occured while reading the configuration files"
+#: config.c:1362
+msgid "unknown error occurred while reading the configuration files"
 msgstr "неочаквана грешка при изчитането на конфигурационните файлове"
 
-#: config.c:1629
+#: config.c:1716
 #, c-format
 msgid "unable to parse '%s' from command-line config"
 msgstr "неразпозната стойност „%s“ от командния ред"
 
-#: config.c:1631
+#: config.c:1718
 #, c-format
 msgid "bad config variable '%s' in file '%s' at line %d"
 msgstr "неправилна настройка „%s“ във файла „%s“ на ред №%d"
 
-#: config.c:1690
+#: config.c:1777
 #, c-format
 msgid "%s has multiple values"
 msgstr "зададени са няколко стойности за „%s“"
 
-#: config.c:2224
+#: config.c:2311
 #, c-format
 msgid "could not set '%s' to '%s'"
 msgstr "„%s“ не може да се зададе да е „%s“"
 
-#: config.c:2226
+#: config.c:2313
 #, c-format
 msgid "could not unset '%s'"
 msgstr "„%s“ не може да се премахне"
 
-#: connected.c:69
+#: connect.c:49
+msgid "The remote end hung up upon initial contact"
+msgstr "Отдалеченото хранилище прекъсна връзката веднага след отварянето ѝ"
+
+#: connect.c:51
+msgid ""
+"Could not read from remote repository.\n"
+"\n"
+"Please make sure you have the correct access rights\n"
+"and the repository exists."
+msgstr ""
+"Не може да се чете от отдалеченото хранилище.\n"
+"\n"
+"Проверете дали то съществува и дали имате права\n"
+"за достъп."
+
+#: connected.c:63 builtin/fsck.c:173 builtin/prune.c:140
+msgid "Checking connectivity"
+msgstr "Проверка на връзката"
+
+#: connected.c:75
 msgid "Could not run 'git rev-list'"
 msgstr "Командата „git rev-list“ не може да бъде изпълнена."
 
-#: connected.c:89
+#: connected.c:95
 msgid "failed write to rev-list"
 msgstr "неуспешен запис на списъка с версиите"
 
-#: connected.c:96
+#: connected.c:102
 msgid "failed to close rev-list's stdin"
 msgstr "стандартният вход на списъка с версиите не може да бъде затворен"
 
-#: date.c:95
+#: convert.c:201
+#, c-format
+msgid ""
+"CRLF will be replaced by LF in %s.\n"
+"The file will have its original line endings in your working directory."
+msgstr ""
+"Всяка последователност от знаци „CRLF“ ще бъдe заменена с „LF“ в „%s“.\n"
+"Файлът ще остане с първоначалните знаци за край на ред в работната ви "
+"директория."
+
+#: convert.c:205
+#, c-format
+msgid "CRLF would be replaced by LF in %s."
+msgstr "Всяка последователност от знаци „CRLF“ ще бъдe заменена с „LF“ в „%s“."
+
+#: convert.c:211
+#, c-format
+msgid ""
+"LF will be replaced by CRLF in %s.\n"
+"The file will have its original line endings in your working directory."
+msgstr ""
+"Всеки знак „LF“ ще бъдe заменен с последователността от знаци „CRLF“ в "
+"„%s“.\n"
+"Файлът ще остане с първоначалните знаци за край на ред в работната ви "
+"директория."
+
+#: convert.c:215
+#, c-format
+msgid "LF would be replaced by CRLF in %s"
+msgstr ""
+"Всеки знак „LF“ ще бъдe заменен с последователността от знаци „CRLF“ в „%s“."
+
+#: date.c:97
 msgid "in the future"
 msgstr "в бъдещето"
 
-#: date.c:101
+#: date.c:103
 #, c-format
 msgid "%lu second ago"
 msgid_plural "%lu seconds ago"
 msgstr[0] "преди %lu секунда"
 msgstr[1] "преди %lu секунди"
 
-#: date.c:108
+#: date.c:110
 #, c-format
 msgid "%lu minute ago"
 msgid_plural "%lu minutes ago"
 msgstr[0] "преди %lu минута"
 msgstr[1] "преди %lu минути"
 
-#: date.c:115
+#: date.c:117
 #, c-format
 msgid "%lu hour ago"
 msgid_plural "%lu hours ago"
 msgstr[0] "преди %lu час"
 msgstr[1] "преди %lu часа"
 
-#: date.c:122
+#: date.c:124
 #, c-format
 msgid "%lu day ago"
 msgid_plural "%lu days ago"
 msgstr[0] "преди %lu ден"
 msgstr[1] "преди %lu дена"
 
-#: date.c:128
+#: date.c:130
 #, c-format
 msgid "%lu week ago"
 msgid_plural "%lu weeks ago"
 msgstr[0] "преди %lu седмица"
 msgstr[1] "преди %lu седмици"
 
-#: date.c:135
+#: date.c:137
 #, c-format
 msgid "%lu month ago"
 msgid_plural "%lu months ago"
 msgstr[0] "преди %lu месец"
 msgstr[1] "преди %lu месеца"
 
-#: date.c:146
+#: date.c:148
 #, c-format
 msgid "%lu year"
 msgid_plural "%lu years"
@@ -617,14 +1576,14 @@
 msgstr[1] "%lu години"
 
 #. TRANSLATORS: "%s" is "<n> years"
-#: date.c:149
+#: date.c:151
 #, c-format
 msgid "%s, %lu month ago"
 msgid_plural "%s, %lu months ago"
 msgstr[0] "преди %s и %lu месец"
 msgstr[1] "преди %s и %lu месеца"
 
-#: date.c:154 date.c:159
+#: date.c:156 date.c:161
 #, c-format
 msgid "%lu year ago"
 msgid_plural "%lu years ago"
@@ -636,28 +1595,33 @@
 msgid "failed to read orderfile '%s'"
 msgstr "файлът с подредбата на съответствията „%s“ не може да бъде прочетен"
 
-#: diffcore-rename.c:538
+#: diffcore-rename.c:536
 msgid "Performing inexact rename detection"
 msgstr "Търсене на преименувания на обекти съчетани с промени"
 
-#: diff.c:116
+#: diff.c:62
+#, c-format
+msgid "option '%s' requires a value"
+msgstr "опцията „%s“ изисква стойност"
+
+#: diff.c:124
 #, c-format
 msgid "  Failed to parse dirstat cut-off percentage '%s'\n"
 msgstr ""
 "  Неуспешно разпознаване на „%s“ като процент-праг за статистиката по "
 "директории\n"
 
-#: diff.c:121
+#: diff.c:129
 #, c-format
 msgid "  Unknown dirstat parameter '%s'\n"
 msgstr "  Непознат параметър „%s“ за статистиката по директории'\n"
 
-#: diff.c:225
+#: diff.c:283
 #, c-format
 msgid "Unknown value for 'diff.submodule' config variable: '%s'"
 msgstr "Непозната стойност „%s“ за настройката „diff.submodule“"
 
-#: diff.c:277
+#: diff.c:346
 #, c-format
 msgid ""
 "Found errors in 'diff.dirstat' config variable:\n"
@@ -666,17 +1630,23 @@
 "Грешки в настройката „diff.dirstat“:\n"
 "%s"
 
-#: diff.c:3007
+#: diff.c:3087
 #, c-format
 msgid "external diff died, stopping at %s"
 msgstr ""
-"външната програма за разлики завърши неуспешно. Спиране на работата при „%s“"
+"външната програма за разлики завърши неуспешно.  Спиране на работата при „%s“"
 
-#: diff.c:3405
+#: diff.c:3412
+msgid "--name-only, --name-status, --check and -s are mutually exclusive"
+msgstr ""
+"Опциите „--name-only“, „--name-status“, „--check“ и „-s“ са несъвместими "
+"една с друга"
+
+#: diff.c:3502
 msgid "--follow requires exactly one pathspec"
 msgstr "Опцията „--follow“ изисква точно един път"
 
-#: diff.c:3568
+#: diff.c:3665
 #, c-format
 msgid ""
 "Failed to parse --dirstat/-X option parameter:\n"
@@ -685,84 +1655,259 @@
 "Неразпознат параметър към опцията „--dirstat/-X“:\n"
 "%s"
 
-#: diff.c:3582
+#: diff.c:3679
 #, c-format
 msgid "Failed to parse --submodule option parameter: '%s'"
 msgstr "Неразпознат параметър към опцията „--submodule“: „%s“"
 
-#: dir.c:1823
+#: diff.c:4700
+msgid "inexact rename detection was skipped due to too many files."
+msgstr ""
+"търсенето на преименувания на обекти съчетани с промени се прескача поради "
+"многото файлове."
+
+#: diff.c:4703
+msgid "only found copies from modified paths due to too many files."
+msgstr ""
+"установени са точните копия на променените пътища поради многото файлове."
+
+#: diff.c:4706
+#, c-format
+msgid ""
+"you may want to set your %s variable to at least %d and retry the command."
+msgstr "задайте променливата „%s“ да е поне %d и отново изпълнете командата."
+
+#: dir.c:1866
 msgid "failed to get kernel name and information"
 msgstr "името и версията на ядрото не бяха получени"
 
-#: dir.c:1942
+#: dir.c:1985
 msgid "Untracked cache is disabled on this system or location."
 msgstr ""
 "Кеша за неследените файлове е изключен на тази система или местоположение."
 
-#: gpg-interface.c:166 gpg-interface.c:235
-msgid "could not run gpg."
-msgstr "Програмата „gpg“ не може да бъде стартирана."
+#: fetch-pack.c:213
+msgid "git fetch-pack: expected shallow list"
+msgstr "git fetch-pack: очаква се плитък списък"
 
-#: gpg-interface.c:178
-msgid "gpg did not accept the data"
-msgstr "Програмата „gpg“ не прие подадените данни."
+#: fetch-pack.c:225
+msgid "git fetch-pack: expected ACK/NAK, got EOF"
+msgstr "git fetch-pack: очакваше се „ACK“/„NAK“, а бе получен „EOF“"
 
-#: gpg-interface.c:189
+#: fetch-pack.c:243
+#, c-format
+msgid "git fetch-pack: expected ACK/NAK, got '%s'"
+msgstr "git fetch-pack: очакваше се „ACK“/„NAK“, а бе получен „%s“"
+
+#: fetch-pack.c:295
+msgid "--stateless-rpc requires multi_ack_detailed"
+msgstr "опцията „--stateless-rpc“ изисква  „multi_ack_detailed“"
+
+#: fetch-pack.c:381
+#, c-format
+msgid "invalid shallow line: %s"
+msgstr "неправилен плитък ред: „%s“"
+
+#: fetch-pack.c:387
+#, c-format
+msgid "invalid unshallow line: %s"
+msgstr "неправилен неплитък ред: „%s“"
+
+#: fetch-pack.c:389
+#, c-format
+msgid "object not found: %s"
+msgstr "обектът „%s“ липсва"
+
+#: fetch-pack.c:392
+#, c-format
+msgid "error in object: %s"
+msgstr "грешка в обекта: „%s“"
+
+#: fetch-pack.c:394
+#, c-format
+msgid "no shallow found: %s"
+msgstr "не е открит плитък обект: %s"
+
+#: fetch-pack.c:397
+#, c-format
+msgid "expected shallow/unshallow, got %s"
+msgstr "очаква се плитък или не обект, а бе получено: %s"
+
+#: fetch-pack.c:436
+#, c-format
+msgid "got %s %d %s"
+msgstr "получено бе %s %d %s"
+
+#: fetch-pack.c:450
+#, c-format
+msgid "invalid commit %s"
+msgstr "неправилно подаване: „%s“"
+
+#: fetch-pack.c:483
+msgid "giving up"
+msgstr "преустановяване"
+
+#: fetch-pack.c:493 progress.c:235
+msgid "done"
+msgstr "действието завърши"
+
+#: fetch-pack.c:505
+#, c-format
+msgid "got %s (%d) %s"
+msgstr "получено бе %s (%d) %s"
+
+#: fetch-pack.c:551
+#, c-format
+msgid "Marking %s as complete"
+msgstr "Отбелязване на „%s“ като пълно"
+
+#: fetch-pack.c:697
+#, c-format
+msgid "already have %s (%s)"
+msgstr "вече има „%s“ (%s)"
+
+#: fetch-pack.c:735
+msgid "fetch-pack: unable to fork off sideband demultiplexer"
+msgstr "fetch-pack: не може да се създаде процес за демултиплексора"
+
+#: fetch-pack.c:743
+msgid "protocol error: bad pack header"
+msgstr "протоколна грешка: неправилна заглавна част на пакет"
+
+#: fetch-pack.c:799
+#, c-format
+msgid "fetch-pack: unable to fork off %s"
+msgstr "fetch-pack: не може да се създаде процес за „%s“"
+
+#: fetch-pack.c:815
+#, c-format
+msgid "%s failed"
+msgstr "неуспешно изпълнение на „%s“"
+
+#: fetch-pack.c:817
+msgid "error in sideband demultiplexer"
+msgstr "грешка в демултиплексора"
+
+#: fetch-pack.c:844
+msgid "Server does not support shallow clients"
+msgstr "Сървърът не поддържа плитки клиенти"
+
+#: fetch-pack.c:848
+msgid "Server supports multi_ack_detailed"
+msgstr "Сървърът поддържа „multi_ack_detailed“"
+
+#: fetch-pack.c:851
+msgid "Server supports no-done"
+msgstr "Сървърът поддържа „no-done“"
+
+#: fetch-pack.c:857
+msgid "Server supports multi_ack"
+msgstr "Сървърът поддържа „multi_ack“"
+
+#: fetch-pack.c:861
+msgid "Server supports side-band-64k"
+msgstr "Сървърът поддържа „side-band-64k“"
+
+#: fetch-pack.c:865
+msgid "Server supports side-band"
+msgstr "Сървърът поддържа „side-band“"
+
+#: fetch-pack.c:869
+msgid "Server supports allow-tip-sha1-in-want"
+msgstr "Сървърът поддържа „allow-tip-sha1-in-want“"
+
+#: fetch-pack.c:873
+msgid "Server supports allow-reachable-sha1-in-want"
+msgstr "Сървърът поддържа „allow-reachable-sha1-in-want“"
+
+#: fetch-pack.c:883
+msgid "Server supports ofs-delta"
+msgstr "Сървърът поддържа „ofs-delta“"
+
+#: fetch-pack.c:890
+#, c-format
+msgid "Server version is %.*s"
+msgstr "Версията на сървъра е: %.*s"
+
+#: fetch-pack.c:896
+msgid "Server does not support --shallow-since"
+msgstr "Сървърът не поддържа опцията „--shallow-since“"
+
+#: fetch-pack.c:900
+msgid "Server does not support --shallow-exclude"
+msgstr "Сървърът не поддържа опцията „--shallow-exclude“"
+
+#: fetch-pack.c:902
+msgid "Server does not support --deepen"
+msgstr "Сървърът не поддържа опцията „--deepen“"
+
+#: fetch-pack.c:913
+msgid "no common commits"
+msgstr "няма общи подавания"
+
+#: fetch-pack.c:925
+msgid "git fetch-pack: fetch failed."
+msgstr "git fetch-pack: неуспешно доставяне."
+
+#: fetch-pack.c:1087
+msgid "no matching remote head"
+msgstr "не може да бъде открит подходящ връх от отдалеченото хранилище"
+
+#: gpg-interface.c:185
 msgid "gpg failed to sign the data"
 msgstr "Програмата „gpg“ не подписа данните."
 
-#: gpg-interface.c:222
-#, c-format
-msgid "could not create temporary file '%s'"
-msgstr "Програмата не успя да създаде временния файл „%s“"
+#: gpg-interface.c:215
+msgid "could not create temporary file"
+msgstr "не може да се създаде временен файл"
 
-#: gpg-interface.c:224
+#: gpg-interface.c:217
 #, c-format
 msgid "failed writing detached signature to '%s'"
 msgstr "Програмата не успя да запише самостоятелния подпис в „%s“"
 
-#: grep.c:1718
+#: grep.c:1782
 #, c-format
 msgid "'%s': unable to read %s"
 msgstr "„%s“: файлът сочен от „%s“ не може да бъде прочетен"
 
-#: grep.c:1735 builtin/clone.c:382 builtin/diff.c:84 builtin/rm.c:155
+#: grep.c:1799 builtin/clone.c:381 builtin/diff.c:84 builtin/rm.c:155
 #, c-format
 msgid "failed to stat '%s'"
 msgstr "не може да бъде получена информация чрез „stat“ за „%s“"
 
-#: grep.c:1746
+#: grep.c:1810
 #, c-format
 msgid "'%s': short read"
 msgstr "„%s“: изчитането върна по-малко байтове от заявените"
 
-#: help.c:205
+#: help.c:203
 #, c-format
 msgid "available git commands in '%s'"
 msgstr "налични команди на git от „%s“"
 
-#: help.c:212
+#: help.c:210
 msgid "git commands available from elsewhere on your $PATH"
 msgstr "команди на git от други директории от „$PATH“"
 
-#: help.c:244
+#: help.c:241
 msgid "These are common Git commands used in various situations:"
 msgstr "Това са най-често използваните команди на Git:"
 
-#: help.c:309
+#: help.c:306
 #, c-format
 msgid ""
 "'%s' appears to be a git command, but we were not\n"
 "able to execute it. Maybe git-%s is broken?"
 msgstr ""
 "Изглежда, че „%s“ е команда на git, но тя не може да\n"
-"бъде изпълнена. Вероятно пакетът „git-%s“ е повреден."
+"бъде изпълнена.  Вероятно пакетът „git-%s“ е повреден."
 
-#: help.c:366
+#: help.c:361
 msgid "Uh oh. Your system reports no Git commands at all."
 msgstr "Странно, изглежда, че на системата ви няма нито една команда на git."
 
-#: help.c:388
+#: help.c:383
 #, c-format
 msgid ""
 "WARNING: You called a Git command named '%s', which does not exist.\n"
@@ -770,20 +1915,20 @@
 msgstr ""
 "ПРЕДУПРЕЖДЕНИЕ: Пробвахте да изпълните команда на Git на име „%s“, а такава "
 "не\n"
-"съществува. Изпълнението автоматично продължава, като се счита, че имате "
+"съществува.  Изпълнението автоматично продължава, като се счита, че имате "
 "предвид „%s“"
 
-#: help.c:393
+#: help.c:388
 #, c-format
 msgid "in %0.1f seconds automatically..."
 msgstr "след %0.1f секунди…"
 
-#: help.c:400
+#: help.c:395
 #, c-format
 msgid "git: '%s' is not a git command. See 'git --help'."
-msgstr "git: „%s“ не е команда на git. Погледнете изхода от „git --help“."
+msgstr "git: „%s“ не е команда на git.  Погледнете изхода от „git --help“."
 
-#: help.c:404 help.c:464
+#: help.c:399 help.c:465
 msgid ""
 "\n"
 "Did you mean this?"
@@ -797,11 +1942,38 @@
 "\n"
 "Команди с подобно име са:"
 
-#: help.c:460
+#: help.c:461
 #, c-format
 msgid "%s: %s - %s"
 msgstr "%s: %s — %s"
 
+#: ident.c:334
+msgid ""
+"\n"
+"*** Please tell me who you are.\n"
+"\n"
+"Run\n"
+"\n"
+"  git config --global user.email \"you@example.com\"\n"
+"  git config --global user.name \"Your Name\"\n"
+"\n"
+"to set your account's default identity.\n"
+"Omit --global to set the identity only in this repository.\n"
+"\n"
+msgstr ""
+"\n"
+"●●● Въведете самоличност.\n"
+"\n"
+"Изпълнете:\n"
+"\n"
+"  git config --global user.email \"ИМЕ@example.com\"\n"
+"  git config --global user.name \"ВАШЕТО ИМЕ\"\n"
+"\n"
+"и въведете данни за себе си.\n"
+"Ако пропуснете опцията „--global“, самоличността е само за текущото "
+"хранилище.\n"
+"\n"
+
 #: lockfile.c:152
 #, c-format
 msgid ""
@@ -816,9 +1988,9 @@
 "Файлът-ключалка „%s.lock“ не може да бъде създаден: %s\n"
 "\n"
 "Изглежда, че и друг процес на git е пуснат в това хранилище, напр.\n"
-"редактор, стартиран с „git commit“. Уверете се, че всички подобни\n"
-"процеси са спрени и опитайте отново. Ако това не помогне, вероятната\n"
-"причина е, че някой процес на git в това хранилище е забил. За да\n"
+"редактор, стартиран с „git commit“.  Уверете се, че всички подобни\n"
+"процеси са спрени и опитайте отново.  Ако това не помогне, вероятната\n"
+"причина е, че някой процес на git в това хранилище е забил.  За да\n"
 "продължите работа, ще трябва ръчно да изтриете файла:"
 
 #: lockfile.c:160
@@ -830,116 +2002,111 @@
 msgid "failed to read the cache"
 msgstr "кешът не може да бъде прочетен"
 
-#: merge.c:94 builtin/am.c:2007 builtin/am.c:2042 builtin/checkout.c:375
-#: builtin/checkout.c:586 builtin/clone.c:732
+#: merge.c:96 builtin/am.c:2000 builtin/am.c:2035 builtin/checkout.c:374
+#: builtin/checkout.c:588 builtin/clone.c:731
 msgid "unable to write new index file"
 msgstr "неуспешно записване на новия индекс"
 
-#: merge-recursive.c:189
-#, c-format
+#: merge-recursive.c:209
 msgid "(bad commit)\n"
 msgstr "(лошо подаване)\n"
 
-#: merge-recursive.c:209
+#: merge-recursive.c:231
 #, c-format
 msgid "addinfo_cache failed for path '%s'"
 msgstr "неуспешно изпълнение на „addinfo_cache“ за пътя „%s“"
 
-#: merge-recursive.c:270
+#: merge-recursive.c:301
 msgid "error building trees"
 msgstr "грешка при изграждане на дърветата"
 
-#: merge-recursive.c:689
+#: merge-recursive.c:720
 #, c-format
 msgid "failed to create path '%s'%s"
 msgstr "грешка при създаването на пътя „%s“%s"
 
-#: merge-recursive.c:700
+#: merge-recursive.c:731
 #, c-format
 msgid "Removing %s to make room for subdirectory\n"
 msgstr "Изтриване на „%s“, за да се освободи място за поддиректория\n"
 
-#: merge-recursive.c:714 merge-recursive.c:735
+#: merge-recursive.c:745 merge-recursive.c:764
 msgid ": perhaps a D/F conflict?"
 msgstr ": възможно е да има конфликт директория/файл."
 
-#: merge-recursive.c:725
+#: merge-recursive.c:754
 #, c-format
 msgid "refusing to lose untracked file at '%s'"
 msgstr ""
 "преустановяване на действието, за да не се изтрие неследеният файл „%s“"
 
-#: merge-recursive.c:765
+#: merge-recursive.c:796 builtin/cat-file.c:34
 #, c-format
 msgid "cannot read object %s '%s'"
 msgstr "обектът „%s“ (%s) не може да бъде прочетен"
 
-#: merge-recursive.c:767
+#: merge-recursive.c:798
 #, c-format
 msgid "blob expected for %s '%s'"
 msgstr "обектът „%s“ (%s) се очакваше да е BLOB, а не е"
 
-#: merge-recursive.c:790 builtin/clone.c:376
+#: merge-recursive.c:822
 #, c-format
-msgid "failed to open '%s'"
-msgstr "директорията „%s“ не може да бъде отворена"
+msgid "failed to open '%s': %s"
+msgstr "„%s“ не може да се отвори: %s"
 
-#: merge-recursive.c:798
+#: merge-recursive.c:833
 #, c-format
-msgid "failed to symlink '%s'"
-msgstr "неуспешно създаване на символната връзка „%s“"
+msgid "failed to symlink '%s': %s"
+msgstr "неуспешно създаване на символната връзка „%s“: %s"
 
-#: merge-recursive.c:801
+#: merge-recursive.c:838
 #, c-format
 msgid "do not know what to do with %06o %s '%s'"
 msgstr ""
 "не е ясно какво да се прави с обекта „%2$s“ (%3$s) с права за достъп „%1$06o“"
 
-#: merge-recursive.c:939
+#: merge-recursive.c:978
 msgid "Failed to execute internal merge"
 msgstr "Неуспешно вътрешно сливане"
 
-#: merge-recursive.c:943
+#: merge-recursive.c:982
 #, c-format
 msgid "Unable to add %s to database"
 msgstr "„%s“ не може да се добави в базата с данни"
 
-#: merge-recursive.c:959
-msgid "unsupported object type in the tree"
-msgstr "в дървото има неподдържан вид обект"
-
-#: merge-recursive.c:1034 merge-recursive.c:1048
+#: merge-recursive.c:1081 merge-recursive.c:1095
 #, c-format
 msgid ""
 "CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left "
 "in tree."
 msgstr ""
-"КОНФЛИКТ (%s/изтриване): „%s“ е изтрит в %s, а „%s“ в %s. Версия %s на „%s“ "
+"КОНФЛИКТ (%s/изтриване): „%s“ е изтрит в %s, а „%s“ в %s.  Версия %s на „%s“ "
 "е оставена в дървото."
 
-#: merge-recursive.c:1040 merge-recursive.c:1053
+#: merge-recursive.c:1087 merge-recursive.c:1100
 #, c-format
 msgid ""
 "CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left "
 "in tree at %s."
 msgstr ""
-"КОНФЛИКТ (%s/изтриване): „%s“ е изтрит в %s, а „%s“ в %s. Версия %s на „%s“ "
+"КОНФЛИКТ (%s/изтриване): „%s“ е изтрит в %s, а „%s“ в %s.  Версия %s на „%s“ "
 "е оставена в дървото: %s."
 
-#: merge-recursive.c:1094
+#: merge-recursive.c:1143
 msgid "rename"
 msgstr "преименуване"
 
-#: merge-recursive.c:1094
+#: merge-recursive.c:1143
 msgid "renamed"
 msgstr "преименуван"
 
-#: merge-recursive.c:1150
+#: merge-recursive.c:1200
 #, c-format
 msgid "%s is a directory in %s adding as %s instead"
 msgstr "„%s“ е директория в „%s“, затова се добавя като „%s“"
 
-#: merge-recursive.c:1172
+#: merge-recursive.c:1225
 #, c-format
 msgid ""
 "CONFLICT (rename/rename): Rename \"%s\"->\"%s\" in branch \"%s\" rename \"%s"
@@ -948,153 +2115,165 @@
 "КОНФЛИКТ (преименуване/преименуване): „%s“ е преименуван на „%s“ в клон "
 "„%s“, а „%s“ е преименуван на „%s“ в „%s“/%s."
 
-#: merge-recursive.c:1177
+#: merge-recursive.c:1230
 msgid " (left unresolved)"
 msgstr " (некоригиран конфликт)"
 
-#: merge-recursive.c:1231
+#: merge-recursive.c:1292
 #, c-format
 msgid "CONFLICT (rename/rename): Rename %s->%s in %s. Rename %s->%s in %s"
 msgstr ""
 "КОНФЛИКТ (преименуване/преименуване): „%s“ е преименуван на „%s“ в клон "
 "„%s“, а „%s“ е преименуван на „%s“ в „%s“"
 
-#: merge-recursive.c:1261
+#: merge-recursive.c:1325
 #, c-format
 msgid "Renaming %s to %s and %s to %s instead"
 msgstr "Преименуване на „%s“ на „%s“, а „%s“ на „%s“"
 
-#: merge-recursive.c:1460
+#: merge-recursive.c:1531
 #, c-format
 msgid "CONFLICT (rename/add): Rename %s->%s in %s. %s added in %s"
 msgstr ""
 "КОНФЛИКТ (преименуване/добавяне): „%s“ е преименуван на „%s“ в клон „%s“, а "
 "„%s“ е добавен в „%s“"
 
-#: merge-recursive.c:1470
+#: merge-recursive.c:1546
 #, c-format
 msgid "Adding merged %s"
 msgstr "Добавяне на слетия „%s“"
 
-#: merge-recursive.c:1475 merge-recursive.c:1677
+#: merge-recursive.c:1553 merge-recursive.c:1766
 #, c-format
 msgid "Adding as %s instead"
 msgstr "Добавяне като „%s“"
 
-#: merge-recursive.c:1526
+#: merge-recursive.c:1610
 #, c-format
 msgid "cannot read object %s"
 msgstr "обектът „%s“ не може да се прочете"
 
-#: merge-recursive.c:1529
+#: merge-recursive.c:1613
 #, c-format
 msgid "object %s is not a blob"
 msgstr "обектът „%s“ не е BLOB"
 
-#: merge-recursive.c:1581
+#: merge-recursive.c:1666
 msgid "modify"
 msgstr "промяна"
 
-#: merge-recursive.c:1581
+#: merge-recursive.c:1666
 msgid "modified"
 msgstr "променен"
 
-#: merge-recursive.c:1591
+#: merge-recursive.c:1676
 msgid "content"
 msgstr "съдържание"
 
-#: merge-recursive.c:1598
+#: merge-recursive.c:1683
 msgid "add/add"
 msgstr "добавяне/добавяне"
 
-#: merge-recursive.c:1632
+#: merge-recursive.c:1718
 #, c-format
 msgid "Skipped %s (merged same as existing)"
 msgstr "Прескачане на „%s“ (слетият резултат е идентичен със сегашния)"
 
-#: merge-recursive.c:1646
+#: merge-recursive.c:1732
 #, c-format
 msgid "Auto-merging %s"
 msgstr "Автоматично сливане на „%s“"
 
-#: merge-recursive.c:1650 git-submodule.sh:941
+#: merge-recursive.c:1736 git-submodule.sh:924
 msgid "submodule"
 msgstr "ПОДМОДУЛ"
 
-#: merge-recursive.c:1651
+#: merge-recursive.c:1737
 #, c-format
 msgid "CONFLICT (%s): Merge conflict in %s"
 msgstr "КОНФЛИКТ (%s): Конфликт при сливане на „%s“"
 
-#: merge-recursive.c:1737
+#: merge-recursive.c:1831
 #, c-format
 msgid "Removing %s"
 msgstr "Изтриване на „%s“"
 
-#: merge-recursive.c:1762
+#: merge-recursive.c:1857
 msgid "file/directory"
 msgstr "файл/директория"
 
-#: merge-recursive.c:1768
+#: merge-recursive.c:1863
 msgid "directory/file"
 msgstr "директория/файл"
 
-#: merge-recursive.c:1773
+#: merge-recursive.c:1868
 #, c-format
 msgid "CONFLICT (%s): There is a directory with name %s in %s. Adding %s as %s"
 msgstr ""
-"КОНФЛИКТ (%s): Съществува директория на име „%s“ в „%s“. Добавяне на „%s“ "
+"КОНФЛИКТ (%s): Съществува директория на име „%s“ в „%s“.  Добавяне на „%s“ "
 "като „%s“"
 
-#: merge-recursive.c:1781
+#: merge-recursive.c:1877
 #, c-format
 msgid "Adding %s"
 msgstr "Добавяне на „%s“"
 
-#: merge-recursive.c:1798
-msgid "Fatal merge failure, shouldn't happen."
-msgstr "Фатална грешка при сливане, а такава не трябва да възниква!"
-
-#: merge-recursive.c:1817
+#: merge-recursive.c:1914
 msgid "Already up-to-date!"
 msgstr "Вече е обновено!"
 
-#: merge-recursive.c:1826
+#: merge-recursive.c:1923
 #, c-format
 msgid "merging of trees %s and %s failed"
 msgstr "неуспешно сливане на дърветата „%s“ и „%s“"
 
-#: merge-recursive.c:1856
-#, c-format
-msgid "Unprocessed path??? %s"
-msgstr ""
-"Пътят „%s“ не е обработен, това е грешка в Git, докладвайте я на "
-"разработчиците, като пратите е-писмо на адрес: „git@vger.kernel.org“."
-
-#: merge-recursive.c:1904
+#: merge-recursive.c:2006
 msgid "Merging:"
 msgstr "Сливане:"
 
-#: merge-recursive.c:1917
+#: merge-recursive.c:2019
 #, c-format
 msgid "found %u common ancestor:"
 msgid_plural "found %u common ancestors:"
 msgstr[0] "открит е %u общ предшественик:"
 msgstr[1] "открити са %u общи предшественици:"
 
-#: merge-recursive.c:1954
+#: merge-recursive.c:2058
 msgid "merge returned no commit"
 msgstr "сливането не върна подаване"
 
-#: merge-recursive.c:2011
+#: merge-recursive.c:2121
 #, c-format
 msgid "Could not parse object '%s'"
 msgstr "Неуспешен анализ на обекта „%s“"
 
-#: merge-recursive.c:2022 builtin/merge.c:649 builtin/merge.c:831
+#: merge-recursive.c:2135 builtin/merge.c:641 builtin/merge.c:788
 msgid "Unable to write index."
 msgstr "Индексът не може да бъде прочетен"
 
+#: notes-merge.c:273
+#, c-format
+msgid ""
+"You have not concluded your previous notes merge (%s exists).\n"
+"Please, use 'git notes merge --commit' or 'git notes merge --abort' to "
+"commit/abort the previous merge before you start a new notes merge."
+msgstr ""
+"Не сте завършили предишното сливане на бележки.  (Указателят „%s“ "
+"съществува).\n"
+"За да завършите предишното сливане, изпълнете:\n"
+"\n"
+"        git notes merge --commit\n"
+"\n"
+"За да отмените предишното сливане, изпълнете:\n"
+"\n"
+"        git notes merge --abort"
+
+#: notes-merge.c:280
+#, c-format
+msgid "You have not concluded your notes merge (%s exists)."
+msgstr ""
+"Не сте завършили сливането на бележките.  (Указателят „%s“ съществува)."
+
 #: notes-utils.c:41
 msgid "Cannot commit uninitialized/unreferenced notes tree"
 msgstr ""
@@ -1153,7 +2332,7 @@
 msgid "malformed object name '%s'"
 msgstr "неправилно име на обект „%s“"
 
-#: path.c:796
+#: path.c:826
 #, c-format
 msgid "Could not make %s writable by group"
 msgstr "Не могат да се дадат права за запис в директорията „%s“ на групата"
@@ -1209,12 +2388,21 @@
 msgid "%s: pathspec magic not supported by this command: %s"
 msgstr "%s: магическите пътища не се поддържат от командата „%s“"
 
-#: pathspec.c:433
+#: pathspec.c:408
+msgid ""
+"empty strings as pathspecs will be made invalid in upcoming releases. please "
+"use . instead if you meant to match all paths"
+msgstr ""
+"възможно е празните низове да се окажат неправилни шаблони за пътища в "
+"следващи версии на Git.  Ако искате съвпадение с всички пътища, използвайте: "
+"„.“"
+
+#: pathspec.c:440
 #, c-format
 msgid "pathspec '%s' is beyond a symbolic link"
 msgstr "пътят „%s“ е след символна връзка"
 
-#: pathspec.c:442
+#: pathspec.c:449
 msgid ""
 "There is nothing to exclude from by :(exclude) patterns.\n"
 "Perhaps you forgot to add either ':/' or '.' ?"
@@ -1226,11 +2414,7 @@
 msgid "unable to parse --pretty format"
 msgstr "аргументът към опцията „--pretty“ не може да се анализира"
 
-#: progress.c:235
-msgid "done"
-msgstr "действието завърши"
-
-#: read-cache.c:1281
+#: read-cache.c:1315
 #, c-format
 msgid ""
 "index.version set, but the value is invalid.\n"
@@ -1239,7 +2423,7 @@
 "Зададена е неправилна стойност на настройката „index.version“.\n"
 "Ще се ползва версия %i"
 
-#: read-cache.c:1291
+#: read-cache.c:1325
 #, c-format
 msgid ""
 "GIT_INDEX_VERSION set, but the value is invalid.\n"
@@ -1249,23 +2433,22 @@
 "„GIT_INDEX_VERSION“.\n"
 "Ще се ползва версия %i"
 
-#: refs.c:543 builtin/merge.c:764 builtin/merge.c:883 builtin/merge.c:985
-#: builtin/merge.c:995
+#: refs.c:576 builtin/merge.c:840
 #, c-format
 msgid "Could not open '%s' for writing"
 msgstr "„%s“ не може да бъде отворен за запис"
 
-#: refs/files-backend.c:2243
+#: refs/files-backend.c:2481
 #, c-format
 msgid "could not delete reference %s: %s"
 msgstr "Указателят „%s“ не може да бъде изтрит: %s"
 
-#: refs/files-backend.c:2246
+#: refs/files-backend.c:2484
 #, c-format
 msgid "could not delete references: %s"
 msgstr "Указателите не може да бъдат изтрити: %s"
 
-#: refs/files-backend.c:2255
+#: refs/files-backend.c:2493
 #, c-format
 msgid "could not remove reference %s"
 msgstr "Указателят „%s“ не може да бъде изтрит"
@@ -1394,12 +2577,12 @@
 msgid "ignoring broken ref %s"
 msgstr "игнориране на повредения указател „%s“"
 
-#: ref-filter.c:1651
+#: ref-filter.c:1633
 #, c-format
 msgid "format: %%(end) atom missing"
 msgstr "грешка във форма̀та: липсва лексемата %%(end)"
 
-#: ref-filter.c:1705
+#: ref-filter.c:1687
 #, c-format
 msgid "malformed object name %s"
 msgstr "неправилно име на обект „%s“"
@@ -1423,76 +2606,76 @@
 msgid "Internal error"
 msgstr "Вътрешна грешка"
 
-#: remote.c:1678 remote.c:1721
+#: remote.c:1677 remote.c:1720
 msgid "HEAD does not point to a branch"
 msgstr "Указателят „HEAD“ не сочи към клон"
 
-#: remote.c:1687
+#: remote.c:1686
 #, c-format
 msgid "no such branch: '%s'"
 msgstr "няма клон на име „%s“"
 
-#: remote.c:1690
+#: remote.c:1689
 #, c-format
 msgid "no upstream configured for branch '%s'"
 msgstr "не е зададен клон-източник за клона „%s“"
 
-#: remote.c:1696
+#: remote.c:1695
 #, c-format
 msgid "upstream branch '%s' not stored as a remote-tracking branch"
 msgstr "клонът-източник „%s“ не е съхранен като следящ клон"
 
-#: remote.c:1711
+#: remote.c:1710
 #, c-format
 msgid "push destination '%s' on remote '%s' has no local tracking branch"
 msgstr ""
 "липсва локален следящ клон за местоположението за изтласкване „%s“ в "
 "хранилището „%s“"
 
-#: remote.c:1726
+#: remote.c:1725
 #, c-format
 msgid "branch '%s' has no remote for pushing"
 msgstr "няма информация клонът „%s“ да следи някой друг"
 
-#: remote.c:1737
+#: remote.c:1736
 #, c-format
 msgid "push refspecs for '%s' do not include '%s'"
 msgstr "указателят за изтласкване на „%s“ не включва „%s“"
 
-#: remote.c:1750
+#: remote.c:1749
 msgid "push has no destination (push.default is 'nothing')"
 msgstr "указателят за изтласкване не включва цел („push.default“ е „nothing“)"
 
-#: remote.c:1772
+#: remote.c:1771
 msgid "cannot resolve 'simple' push to a single destination"
 msgstr "простото (simple) изтласкване не съответства на една цел"
 
-#: remote.c:2074
+#: remote.c:2073
 #, c-format
 msgid "Your branch is based on '%s', but the upstream is gone.\n"
 msgstr "Този клон следи „%s“, но следеният клон е изтрит.\n"
 
-#: remote.c:2078
+#: remote.c:2077
 msgid "  (use \"git branch --unset-upstream\" to fixup)\n"
 msgstr "  (за да коригирате това, използвайте „git branch --unset-upstream“)\n"
 
-#: remote.c:2081
+#: remote.c:2080
 #, c-format
 msgid "Your branch is up-to-date with '%s'.\n"
 msgstr "Клонът е актуализиран към „%s“.\n"
 
-#: remote.c:2085
+#: remote.c:2084
 #, c-format
 msgid "Your branch is ahead of '%s' by %d commit.\n"
 msgid_plural "Your branch is ahead of '%s' by %d commits.\n"
 msgstr[0] "Клонът ви е с %2$d подаване пред „%1$s“.\n"
 msgstr[1] "Клонът ви е с %2$d подавания пред „%1$s“.\n"
 
-#: remote.c:2091
+#: remote.c:2090
 msgid "  (use \"git push\" to publish your local commits)\n"
 msgstr "  (публикувайте локалните си промени чрез „git push“)\n"
 
-#: remote.c:2094
+#: remote.c:2093
 #, c-format
 msgid "Your branch is behind '%s' by %d commit, and can be fast-forwarded.\n"
 msgid_plural ""
@@ -1502,11 +2685,11 @@
 msgstr[1] ""
 "Клонът ви е с %2$d подавания зад „%1$s“ и може да бъде тривиално слят.\n"
 
-#: remote.c:2102
+#: remote.c:2101
 msgid "  (use \"git pull\" to update your local branch)\n"
 msgstr "  (обновете локалния си клон чрез „git pull“)\n"
 
-#: remote.c:2105
+#: remote.c:2104
 #, c-format
 msgid ""
 "Your branch and '%s' have diverged,\n"
@@ -1521,41 +2704,41 @@
 "Текущият клон се е отделил от „%s“,\n"
 "двата имат съответно по %d и %d несъвпадащи подавания.\n"
 
-#: remote.c:2115
+#: remote.c:2114
 msgid "  (use \"git pull\" to merge the remote branch into yours)\n"
 msgstr "  (слейте отдалечения клон в локалния чрез „git pull“)\n"
 
-#: revision.c:2142
+#: revision.c:2158
 msgid "your current branch appears to be broken"
 msgstr "Текущият клон е повреден"
 
-#: revision.c:2145
+#: revision.c:2161
 #, c-format
 msgid "your current branch '%s' does not have any commits yet"
 msgstr "Текущият клон „%s“ е без подавания "
 
-#: revision.c:2339
+#: revision.c:2355
 msgid "--first-parent is incompatible with --bisect"
 msgstr "опциите „--first-parent“ и „--bisect“ са несъвместими"
 
-#: run-command.c:92
+#: run-command.c:106
 msgid "open /dev/null failed"
 msgstr "неуспешно отваряне на „/dev/null“"
 
-#: run-command.c:94
+#: run-command.c:108
 #, c-format
 msgid "dup2(%d,%d) failed"
 msgstr "неуспешно изпълнение на dup2(%d,%d)"
 
-#: send-pack.c:295
+#: send-pack.c:297
 msgid "failed to sign the push certificate"
 msgstr "сертификатът за изтласкване не може да бъде подписан"
 
-#: send-pack.c:404
+#: send-pack.c:410
 msgid "the receiving end does not support --signed push"
 msgstr "отсрещната страна не поддържа изтласкване с опцията „--signed“"
 
-#: send-pack.c:406
+#: send-pack.c:412
 msgid ""
 "not sending a push certificate since the receiving end does not support --"
 "signed push"
@@ -1563,12 +2746,23 @@
 "отсрещната страна не поддържа изтласкване с опцията „--signed“, затова не се "
 "използва сертификат"
 
-#: send-pack.c:418
+#: send-pack.c:424
 msgid "the receiving end does not support --atomic push"
 msgstr "получаващата страна не поддържа изтласкване с опцията „--atomic“"
 
-# FIXME git add <path…> for consistence
-#: sequencer.c:174
+#: send-pack.c:429
+msgid "the receiving end does not support push options"
+msgstr "отсрещната страна не поддържа опции при изтласкване"
+
+#: sequencer.c:171
+msgid "revert"
+msgstr "отмяна"
+
+#: sequencer.c:171
+msgid "cherry-pick"
+msgstr "отбиране"
+
+#: sequencer.c:228
 msgid ""
 "after resolving the conflicts, mark the corrected paths\n"
 "with 'git add <paths>' or 'git rm <paths>'"
@@ -1576,7 +2770,7 @@
 "след коригирането на конфликтите, отбележете съответните\n"
 "пътища с „git add ПЪТ…“ или „git rm ПЪТ…“."
 
-#: sequencer.c:177
+#: sequencer.c:231
 msgid ""
 "after resolving the conflicts, mark the corrected paths\n"
 "with 'git add <paths>' or 'git rm <paths>'\n"
@@ -1586,235 +2780,300 @@
 "пътища с „git add ПЪТ…“ или „git rm ПЪТ…“, след което\n"
 "подайте резултата с командата „git commit'“."
 
+#: sequencer.c:244 sequencer.c:1209
+#, c-format
+msgid "could not lock '%s'"
+msgstr "„%s“ не може да се заключи"
+
+#: sequencer.c:247 sequencer.c:1125 sequencer.c:1214
+#, c-format
+msgid "could not write to '%s'"
+msgstr "в „%s“ не може да се пише"
+
 # FIXME - must be the same as Could not write to '%s' above
-#: sequencer.c:190 sequencer.c:833 sequencer.c:912
+#: sequencer.c:251
 #, c-format
-msgid "Could not write to %s"
-msgstr "„%s“ не може да бъде записан"
+msgid "could not write eol to '%s'"
+msgstr "краят на ред не може да се запише в „%s“"
 
-#: sequencer.c:193
+#: sequencer.c:255 sequencer.c:1130 sequencer.c:1216
 #, c-format
-msgid "Error wrapping up %s"
-msgstr "Обработката на „%s“ не завърши успешно."
+msgid "failed to finalize '%s'."
+msgstr "„%s“ не може да се завърши."
 
-#: sequencer.c:208
-msgid "Your local changes would be overwritten by cherry-pick."
-msgstr "Локалните ви промени ще бъдат презаписани при отбирането на подавания."
+#: sequencer.c:279 builtin/am.c:259 builtin/commit.c:749 builtin/merge.c:1032
+#, c-format
+msgid "could not read '%s'"
+msgstr "файлът „%s“ не може да бъде прочетен"
 
-#: sequencer.c:210
-msgid "Your local changes would be overwritten by revert."
-msgstr "Локалните ви промени ще бъдат презаписани при отмяната на подавания."
+#: sequencer.c:305
+#, c-format
+msgid "your local changes would be overwritten by %s."
+msgstr "локалните ви промени ще бъдат презаписани при %s."
 
-#: sequencer.c:213
-msgid "Commit your changes or stash them to proceed."
-msgstr "Подайте или скатайте промените, за да продължите"
+#: sequencer.c:309
+msgid "commit your changes or stash them to proceed."
+msgstr "подайте или скатайте промените, за да продължите"
+
+#: sequencer.c:324
+#, c-format
+msgid "%s: fast-forward"
+msgstr "%s: тривиално сливане"
 
 #. TRANSLATORS: %s will be "revert" or "cherry-pick"
-#: sequencer.c:300
+#: sequencer.c:399
 #, c-format
 msgid "%s: Unable to write new index file"
 msgstr "%s: новият индекс не може да бъде запазен"
 
-#: sequencer.c:318
-msgid "Could not resolve HEAD commit\n"
-msgstr "Подаването сочено от указателя „HEAD“ не може да бъде открито\n"
+#: sequencer.c:418
+msgid "could not resolve HEAD commit\n"
+msgstr "подаването сочено от указателя „HEAD“ не може да бъде открито\n"
 
-#: sequencer.c:338
-msgid "Unable to update cache tree\n"
-msgstr "Дървото на кеша не може да бъде обновено\n"
+#: sequencer.c:438
+msgid "unable to update cache tree\n"
+msgstr "дървото на кеша не може да бъде обновено\n"
 
-#: sequencer.c:390
+#: sequencer.c:483
 #, c-format
-msgid "Could not parse commit %s\n"
-msgstr "Подаването „%s“ не може да бъде анализирано\n"
+msgid ""
+"you have staged changes in your working tree\n"
+"If these changes are meant to be squashed into the previous commit, run:\n"
+"\n"
+"  git commit --amend %s\n"
+"\n"
+"If they are meant to go into a new commit, run:\n"
+"\n"
+"  git commit %s\n"
+"\n"
+"In both cases, once you're done, continue with:\n"
+"\n"
+"  git rebase --continue\n"
+msgstr ""
+"в това работно дърво има скатани промени.\n"
+"Ако искате да ги слеете с предишното подаване, изпълнете:\n"
+"\n"
+"        git commit --amend %s\n"
+"\n"
+"Ако искате да създадете ново подаване, изпълнете:\n"
+"\n"
+"        git commit %s\n"
+"\n"
+"И в двата случая продължавате след това с командата:\n"
+"\n"
+"        git rebase --continue\n"
 
-#: sequencer.c:395
+#: sequencer.c:567
 #, c-format
-msgid "Could not parse parent commit %s\n"
-msgstr "Родителското подаване „%s“ не може да бъде анализирано\n"
+msgid "could not parse commit %s\n"
+msgstr "подаването „%s“ не може да бъде анализирано\n"
 
-#: sequencer.c:460
-msgid "Your index file is unmerged."
-msgstr "Индексът не е слят."
-
-#: sequencer.c:479
+#: sequencer.c:572
 #, c-format
-msgid "Commit %s is a merge but no -m option was given."
-msgstr "Подаването „%s“ е сливане, но не е дадена опцията „-m“"
+msgid "could not parse parent commit %s\n"
+msgstr "родителското подаване „%s“ не може да бъде анализирано\n"
 
-#: sequencer.c:487
+#: sequencer.c:656
+msgid "your index file is unmerged."
+msgstr "индексът не е слят."
+
+#: sequencer.c:675
 #, c-format
-msgid "Commit %s does not have parent %d"
-msgstr "Подаването „%s“ няма родител %d"
+msgid "commit %s is a merge but no -m option was given."
+msgstr "подаването „%s“ е сливане, но не е дадена опцията „-m“"
 
-#: sequencer.c:491
+#: sequencer.c:683
 #, c-format
-msgid "Mainline was specified but commit %s is not a merge."
-msgstr "Указано е базово подаване, но подаването „%s“ не е сливане."
+msgid "commit %s does not have parent %d"
+msgstr "подаването „%s“ няма родител %d"
 
-#. TRANSLATORS: The first %s will be "revert" or
-#. "cherry-pick", the second %s a SHA1
-#: sequencer.c:504
+#: sequencer.c:687
+#, c-format
+msgid "mainline was specified but commit %s is not a merge."
+msgstr "указано е базово подаване, но подаването „%s“ не е сливане."
+
+#. TRANSLATORS: The first %s will be a "todo" command like
+#. "revert" or "pick", the second %s a SHA1.
+#: sequencer.c:700
 #, c-format
 msgid "%s: cannot parse parent commit %s"
 msgstr "%s: неразпозната стойност за родителското подаване „%s“"
 
-#: sequencer.c:508
+#: sequencer.c:705
 #, c-format
-msgid "Cannot get commit message for %s"
-msgstr "Неуспешно извличане на съобщението за подаване на „%s“"
+msgid "cannot get commit message for %s"
+msgstr "неуспешно извличане на съобщението за подаване на „%s“"
 
-#: sequencer.c:594
+#: sequencer.c:797
 #, c-format
 msgid "could not revert %s... %s"
 msgstr "подаването „%s“… не може да бъде отменено: „%s“"
 
-#: sequencer.c:595
+#: sequencer.c:798
 #, c-format
 msgid "could not apply %s... %s"
 msgstr "подаването „%s“… не може да бъде приложено: „%s“"
 
-#: sequencer.c:630
+#: sequencer.c:833
 msgid "empty commit set passed"
 msgstr "зададено е празно множество от подавания"
 
-#: sequencer.c:638
+#: sequencer.c:843
 #, c-format
 msgid "git %s: failed to read the index"
 msgstr "git %s: неуспешно изчитане на индекса"
 
-#: sequencer.c:642
+#: sequencer.c:850
 #, c-format
 msgid "git %s: failed to refresh the index"
 msgstr "git %s: неуспешно обновяване на индекса"
 
-#: sequencer.c:702
+#: sequencer.c:944
 #, c-format
-msgid "Cannot %s during a %s"
-msgstr "По време на „%1$s“ не може да се извърши „%2$s“"
+msgid "invalid line %d: %.*s"
+msgstr "неправилен ред %d: %.*s"
 
-#: sequencer.c:724
+#: sequencer.c:950
+msgid "no commits parsed."
+msgstr "никое от подаванията не може да се разпознае."
+
+#: sequencer.c:966
 #, c-format
-msgid "Could not parse line %d."
-msgstr "%d-ят ред не може да се анализира."
+msgid "could not read '%s'."
+msgstr "от „%s“ не може да се чете."
 
-#: sequencer.c:729
-msgid "No commits parsed."
-msgstr "Никое от подаванията не може да се разпознае."
-
-# FIXME Could not open %s. - full stop for consistence with next message
-#: sequencer.c:741
+#: sequencer.c:972
 #, c-format
-msgid "Could not open %s"
-msgstr "„%s“ не може да се прочете."
+msgid "unusable instruction sheet: '%s'"
+msgstr "неизползваем файл с описание на предстоящите действия: „%s“"
 
-#: sequencer.c:745
+#: sequencer.c:983
+msgid "cannot cherry-pick during a revert."
+msgstr ""
+"по време на отмяна на подаване не може да се извърши отбиране на подаване."
+
+#: sequencer.c:985
+msgid "cannot revert during a cherry-pick."
+msgstr "по време на отбиране не може да се извърши отмяна на подаване."
+
+#: sequencer.c:1028
 #, c-format
-msgid "Could not read %s."
-msgstr "„%s“ не може да се отвори."
+msgid "invalid key: %s"
+msgstr "неправилен ключ: „%s“"
 
-#: sequencer.c:752
+#: sequencer.c:1031
 #, c-format
-msgid "Unusable instruction sheet: %s"
-msgstr "Файлът с описание на предстоящите действия — „%s“ не може да се ползва"
+msgid "invalid value for %s: %s"
+msgstr "неправилна стойност за „%s“: „%s“"
 
-#: sequencer.c:782
+#: sequencer.c:1063
 #, c-format
-msgid "Invalid key: %s"
-msgstr "Неправилен ключ: „%s“"
+msgid "malformed options sheet: '%s'"
+msgstr "неправилен файл с опции: „%s“"
 
-#: sequencer.c:785 builtin/pull.c:50 builtin/pull.c:52
-#, c-format
-msgid "Invalid value for %s: %s"
-msgstr "Неправилна стойност за „%s“: „%s“"
-
-#: sequencer.c:795
-#, c-format
-msgid "Malformed options sheet: %s"
-msgstr "Неправилно съдържание на файла с опции: „%s“"
-
-#: sequencer.c:814
+#: sequencer.c:1101
 msgid "a cherry-pick or revert is already in progress"
 msgstr ""
 "в момента вече се извършва отбиране на подавания или пребазиране на клона"
 
-#: sequencer.c:815
+#: sequencer.c:1102
 msgid "try \"git cherry-pick (--continue | --quit | --abort)\""
 msgstr "използвайте „git cherry-pick (--continue | --quit | --abort)“"
 
-#: sequencer.c:819
+#: sequencer.c:1106
 #, c-format
-msgid "Could not create sequencer directory %s"
-msgstr "Директорията за секвенсора „%s“ не може да бъде създадена"
+msgid "could not create sequencer directory '%s'"
+msgstr "директорията за секвенсора „%s“ не може да бъде създадена"
 
-#: sequencer.c:835 sequencer.c:916
-#, c-format
-msgid "Error wrapping up %s."
-msgstr "Обработката на „%s“ не завърши успешно."
+#: sequencer.c:1120
+msgid "could not lock HEAD"
+msgstr "указателят „HEAD“ не може да се заключи"
 
-#: sequencer.c:854 sequencer.c:986
+#: sequencer.c:1151 sequencer.c:1289
 msgid "no cherry-pick or revert in progress"
 msgstr ""
 "в момента не се извършва отбиране на подавания или пребазиране на клона"
 
-#: sequencer.c:856
+#: sequencer.c:1153
 msgid "cannot resolve HEAD"
 msgstr "Подаването сочено от указателя „HEAD“ не може да бъде открито"
 
-#: sequencer.c:858
+#: sequencer.c:1155 sequencer.c:1189
 msgid "cannot abort from a branch yet to be born"
 msgstr ""
 "действието не може да бъде преустановено, когато сте на клон, който тепърва "
 "предстои да бъде създаден"
 
-#: sequencer.c:878 builtin/fetch.c:610 builtin/fetch.c:851
+#: sequencer.c:1175 builtin/grep.c:578
 #, c-format
-msgid "cannot open %s"
+msgid "cannot open '%s'"
 msgstr "„%s“ не може да бъде отворен"
 
-#: sequencer.c:880
+#: sequencer.c:1177
 #, c-format
-msgid "cannot read %s: %s"
-msgstr "файлът „%s“ не може да бъде прочетен: %s"
+msgid "cannot read '%s': %s"
+msgstr "„%s“ не може да бъде прочетен: %s"
 
-#: sequencer.c:881
+#: sequencer.c:1178
 msgid "unexpected end of file"
 msgstr "неочакван край на файл"
 
-#: sequencer.c:887
+#: sequencer.c:1184
 #, c-format
 msgid "stored pre-cherry-pick HEAD file '%s' is corrupt"
 msgstr ""
 "запазеният преди започването на отбирането файл за указателя „HEAD“ — „%s“ е "
 "повреден"
 
-#: sequencer.c:909
-#, c-format
-msgid "Could not format %s."
-msgstr "Файлът „%s“ не може да се форматира по подходящия начин."
-
-#: sequencer.c:1054
+#: sequencer.c:1354
 #, c-format
 msgid "%s: can't cherry-pick a %s"
 msgstr "%s: не може да се отбере „%s“"
 
-#: sequencer.c:1057
+#: sequencer.c:1358
 #, c-format
 msgid "%s: bad revision"
 msgstr "%s: неправилна версия"
 
-#: sequencer.c:1091
-msgid "Can't revert as initial commit"
-msgstr "Първоначалното подаване не може да бъде отменено"
+#: sequencer.c:1391
+msgid "can't revert as initial commit"
+msgstr "първоначалното подаване не може да бъде отменено"
 
-#: sequencer.c:1092
-msgid "Can't cherry-pick into empty head"
-msgstr "При празен връх не могат да се отбират подавания"
-
-#: setup.c:248
+#: setup.c:160
 #, c-format
-msgid "failed to read %s"
-msgstr "файлът „%s“ не може да бъде прочетен"
+msgid ""
+"%s: no such path in the working tree.\n"
+"Use 'git <command> -- <path>...' to specify paths that do not exist locally."
+msgstr ""
+"%s: в това работно дърво няма такъв път.\n"
+"За да указвате пътища, които локално не съществуват, използвайте:\n"
+"\n"
+"        git КОМАНДА -- ПЪТ…"
+
+#: setup.c:173
+#, c-format
+msgid ""
+"ambiguous argument '%s': unknown revision or path not in the working tree.\n"
+"Use '--' to separate paths from revisions, like this:\n"
+"'git <command> [<revision>...] -- [<file>...]'"
+msgstr ""
+"нееднозначен аргумент „%s: непозната версия или пътят не е част от работното "
+"дърво.\n"
+"Разделяйте пътищата от версиите с „--“, ето така:\n"
+"\n"
+"        git КОМАНДА [ВЕРСИЯ…] -- [ФАЙЛ…]"
+
+#: setup.c:223
+#, c-format
+msgid ""
+"ambiguous argument '%s': both revision and filename\n"
+"Use '--' to separate paths from revisions, like this:\n"
+"'git <command> [<revision>...] -- [<file>...]'"
+msgstr ""
+"нееднозначен аргумент „%s: както версия, така и път.\n"
+"Разделяйте пътищата от версиите с „--“, ето така:\n"
+"\n"
+"        git КОМАНДА [ВЕРСИЯ…] -- [ФАЙЛ…]"
 
 #: setup.c:468
 #, c-format
@@ -1825,26 +3084,101 @@
 msgid "unknown repository extensions found:"
 msgstr "открити са непознати разширения в хранилището:"
 
-#: sha1_file.c:1080
+#: setup.c:762
+#, c-format
+msgid "Not a git repository (or any of the parent directories): %s"
+msgstr ""
+"Нито тази, нито която и да е от по-горните директории, не е хранилище на "
+"git: %s"
+
+#: setup.c:764 setup.c:915 builtin/index-pack.c:1641
+msgid "Cannot come back to cwd"
+msgstr "Процесът не може да се върне към предишната работна директория"
+
+#: setup.c:845
+msgid "Unable to read current working directory"
+msgstr "Текущата работна директория не може да бъде прочетена"
+
+#: setup.c:920
+#, c-format
+msgid ""
+"Not a git repository (or any parent up to mount point %s)\n"
+"Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set)."
+msgstr ""
+"Нито тази, нито която и да е от по-горните директории (до точката на "
+"монтиране „%s“), не е хранилище на git.\n"
+"Git работи в рамките на една файлова система, защото променливата на средата "
+"„GIT_DISCOVERY_ACROSS_FILESYSTEM“ не е зададена."
+
+#: setup.c:927
+#, c-format
+msgid "Cannot change to '%s/..'"
+msgstr "Не може да се влезе в директорията „%s“"
+
+#: setup.c:989
+#, c-format
+msgid ""
+"Problem with core.sharedRepository filemode value (0%.3o).\n"
+"The owner of files must always have read and write permissions."
+msgstr ""
+"Зададеният в „core.sharedRepository“ режим за достъп до файлове е неправилен "
+"(0%.3o).\n"
+"Собственикът на файла трябва да има права за писане и четене."
+
+#: sha1_file.c:473
+#, c-format
+msgid "path '%s' does not exist"
+msgstr "пътят „%s“ не съществува."
+
+#: sha1_file.c:499
+#, c-format
+msgid "reference repository '%s' as a linked checkout is not supported yet."
+msgstr "все още не се поддържа еталонно хранилище „%s“ като свързано."
+
+#: sha1_file.c:505
+#, c-format
+msgid "reference repository '%s' is not a local repository."
+msgstr "еталонното хранилище „%s“ не е локално"
+
+#: sha1_file.c:511
+#, c-format
+msgid "reference repository '%s' is shallow"
+msgstr "еталонното хранилище „%s“ е плитко"
+
+#: sha1_file.c:519
+#, c-format
+msgid "reference repository '%s' is grafted"
+msgstr "еталонното хранилище „%s“ е с присаждане"
+
+#: sha1_file.c:1159
 msgid "offset before end of packfile (broken .idx?)"
 msgstr ""
 "отместване преди края на пакетния файл (възможно е индексът да е повреден)"
 
-#: sha1_file.c:2458
+#: sha1_file.c:2592
 #, c-format
 msgid "offset before start of pack index for %s (corrupt index?)"
 msgstr ""
 "отместване преди началото на индекса на пакетния файл „%s“ (възможно е "
 "индексът да е повреден)"
 
-#: sha1_file.c:2462
+#: sha1_file.c:2596
 #, c-format
 msgid "offset beyond end of pack index for %s (truncated index?)"
 msgstr ""
 "отместване преди края на индекса на пакетния файл „%s“ (възможно е индексът "
 "да е отрязан)"
 
-#: sha1_name.c:462
+#: sha1_name.c:407
+#, c-format
+msgid "short SHA1 %s is ambiguous"
+msgstr "късият SHA1 „%s“ не е еднозначен"
+
+#: sha1_name.c:418
+msgid "The candidates are:"
+msgstr "Възможностите са:"
+
+#: sha1_name.c:578
 msgid ""
 "Git normally never creates a ref that ends with 40 hex characters\n"
 "because it will be ignored when you just specify 40-hex. These refs\n"
@@ -1858,12 +3192,12 @@
 msgstr ""
 "При нормална работа Git никога не създава указатели, които завършват с 40\n"
 "шестнадесетични знака, защото стандартно те ще бъдат прескачани.\n"
-"Възможно е такива указатели да са създадени случайно. Например:\n"
+"Възможно е такива указатели да са създадени случайно.  Например:\n"
 "\n"
 "  git checkout -b $BRANCH $(git rev-parse…)\n"
 "\n"
 "където стойността на променливата на средата BRANCH е празна, при което се\n"
-"създава подобен указател. Прегледайте тези указатели и ги изтрийте. Можете "
+"създава подобен указател. Прегледайте тези указатели и ги изтрийте.  Можете "
 "да\n"
 "спрете това съобщение като изпълните командата:\n"
 "„git config advice.objectNameWarning false“"
@@ -1871,7 +3205,7 @@
 #: submodule.c:64 submodule.c:98
 msgid "Cannot change unmerged .gitmodules, resolve merge conflicts first"
 msgstr ""
-"Неслетите файлове „.gitmodules“ не могат да бъдат променяни. Първо "
+"Неслетите файлове „.gitmodules“ не могат да бъдат променяни.  Първо "
 "коригирайте конфликтите"
 
 #: submodule.c:68 submodule.c:102
@@ -1893,79 +3227,143 @@
 msgid "staging updated .gitmodules failed"
 msgstr "неуспешно добавяне на променения файл „.gitmodules“ в индекса"
 
-#: submodule.c:177
+#: submodule.c:158
 msgid "negative values not allowed for submodule.fetchJobs"
 msgstr "Настройката „submodule.fetchJobs“ не приема отрицателни стойности"
 
-#: submodule-config.c:355
+#: submodule-config.c:358
 #, c-format
 msgid "invalid value for %s"
 msgstr "Неправилна стойност за „%s“"
 
-#: trailer.c:237
+#: trailer.c:238
 #, c-format
 msgid "running trailer command '%s' failed"
 msgstr "неуспешно изпълнение на завършващата команда „%s“"
 
-#: trailer.c:492 trailer.c:496 trailer.c:500 trailer.c:554 trailer.c:558
-#: trailer.c:562
+#: trailer.c:471 trailer.c:475 trailer.c:479 trailer.c:533 trailer.c:537
+#: trailer.c:541
 #, c-format
 msgid "unknown value '%s' for key '%s'"
 msgstr "неправилна стойност „%s“ за настройката „%s“"
 
-#: trailer.c:544 trailer.c:549 builtin/remote.c:289
+#: trailer.c:523 trailer.c:528 builtin/remote.c:289
 #, c-format
 msgid "more than one %s"
 msgstr "стойността „%s“ се повтаря в настройките"
 
-#: trailer.c:582
+#: trailer.c:672
 #, c-format
 msgid "empty trailer token in trailer '%.*s'"
 msgstr "празна завършваща лексема в епилога „%.*s“"
 
-#: trailer.c:702
+#: trailer.c:695
 #, c-format
 msgid "could not read input file '%s'"
 msgstr "входният файл „%s“ не може да бъде прочетен"
 
-#: trailer.c:705
+#: trailer.c:698
 msgid "could not read from stdin"
 msgstr "от стандартния вход не може да се чете"
 
-#: trailer.c:857 builtin/am.c:42
+#: trailer.c:929 builtin/am.c:44
 #, c-format
 msgid "could not stat %s"
 msgstr "Не може да се получи информация чрез „stat“ за „%s“"
 
-#: trailer.c:859
+#: trailer.c:931
 #, c-format
 msgid "file %s is not a regular file"
 msgstr "„%s“ не е обикновен файл"
 
-#: trailer.c:861
+#: trailer.c:933
 #, c-format
 msgid "file %s is not writable by user"
 msgstr "„%s“: няма права за записване на файла"
 
-#: trailer.c:873
+#: trailer.c:945
 msgid "could not open temporary file"
 msgstr "временният файл не може да се отвори"
 
-#: trailer.c:912
+#: trailer.c:983
 #, c-format
 msgid "could not rename temporary file to %s"
 msgstr "временният файл не може да се преименува на „%s“"
 
-#: transport-helper.c:1041
+#: transport.c:62
+#, c-format
+msgid "Would set upstream of '%s' to '%s' of '%s'\n"
+msgstr "Клонът „%s“ ще следи „%s“ от „%s“\n"
+
+#: transport.c:151
+#, c-format
+msgid "transport: invalid depth option '%s'"
+msgstr "transport: неправилна опция за дълбочина: %s"
+
+#: transport.c:817
+#, c-format
+msgid ""
+"The following submodule paths contain changes that can\n"
+"not be found on any remote:\n"
+msgstr ""
+"Следните пътища за подмодули съдържат промени,\n"
+"които липсват от всички отдалечени хранилища:\n"
+
+#: transport.c:821
+#, c-format
+msgid ""
+"\n"
+"Please try\n"
+"\n"
+"\tgit push --recurse-submodules=on-demand\n"
+"\n"
+"or cd to the path and use\n"
+"\n"
+"\tgit push\n"
+"\n"
+"to push them to a remote.\n"
+"\n"
+msgstr ""
+"\n"
+"Пробвайте да ги изтласкате чрез командата:\n"
+"\n"
+"        git push --recurse-submodules=on-demand\n"
+"\n"
+"или отидете в съответната директория и изпълнете:\n"
+"\n"
+"        git push\n"
+"\n"
+
+#: transport.c:829
+msgid "Aborting."
+msgstr "Преустановяване на действието."
+
+#: transport-helper.c:1075
 #, c-format
 msgid "Could not read ref %s"
 msgstr "Указателят „%s“ не може да се прочете."
 
+#: tree-walk.c:31
+msgid "too-short tree object"
+msgstr "прекалено кратък обект-дърво"
+
+#: tree-walk.c:37
+msgid "malformed mode in tree entry"
+msgstr "неправилни права за достъп в запис в дърво"
+
+#: tree-walk.c:41
+msgid "empty filename in tree entry"
+msgstr "празно име на файл в запис в дърво"
+
+#: tree-walk.c:113
+msgid "too-short tree file"
+msgstr "прекалено кратък файл-дърво"
+
 #: unpack-trees.c:64
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by checkout:\n"
-"%%sPlease commit your changes or stash them before you can switch branches."
+"%%sPlease commit your changes or stash them before you switch branches."
 msgstr ""
 "Изтеглянето ще презапише локалните промени на тези файлове:\n"
 "%%sПодайте или скатайте промените, за да преминете към нов клон."
@@ -1983,7 +3381,7 @@
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by merge:\n"
-"%%sPlease commit your changes or stash them before you can merge."
+"%%sPlease commit your changes or stash them before you merge."
 msgstr ""
 "Сливането ще презапише локалните промени на тези файлове:\n"
 "%%sПодайте или скатайте промените, за да слеете."
@@ -2001,7 +3399,7 @@
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by %s:\n"
-"%%sPlease commit your changes or stash them before you can %s."
+"%%sPlease commit your changes or stash them before you %s."
 msgstr ""
 "„%s“ ще презапише локалните промени на тези файлове:\n"
 "%%sПодайте или скатайте промените, за да извършите „%s“."
@@ -2028,7 +3426,7 @@
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by checkout:\n"
-"%%sPlease move or remove them before you can switch branches."
+"%%sPlease move or remove them before you switch branches."
 msgstr ""
 "Изтеглянето ще изтрие тези неследени файлове в работното дърво:\n"
 "%%sПреместете ги или ги изтрийте, за да преминете на друг клон."
@@ -2046,7 +3444,7 @@
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by merge:\n"
-"%%sPlease move or remove them before you can merge."
+"%%sPlease move or remove them before you merge."
 msgstr ""
 "Сливането ще изтрие тези неследени файлове в работното дърво:\n"
 "%%sПреместете ги или ги изтрийте, за да слеете."
@@ -2064,7 +3462,7 @@
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by %s:\n"
-"%%sPlease move or remove them before you can %s."
+"%%sPlease move or remove them before you %s."
 msgstr ""
 "„%s“ ще изтрие тези неследени файлове в работното дърво:\n"
 "%%sПреместете ги или ги изтрийте, за да извършите „%s“."
@@ -2083,7 +3481,7 @@
 msgid ""
 "The following untracked working tree files would be overwritten by "
 "checkout:\n"
-"%%sPlease move or remove them before you can switch branches."
+"%%sPlease move or remove them before you switch branches."
 msgstr ""
 "Изтеглянето ще презапише тези неследени файлове в работното дърво:\n"
 "%%sПреместете ги или ги изтрийте, за да смените клон."
@@ -2102,7 +3500,7 @@
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by merge:\n"
-"%%sPlease move or remove them before you can merge."
+"%%sPlease move or remove them before you merge."
 msgstr ""
 "Сливането ще презапише тези неследени файлове в работното дърво:\n"
 "%%sПреместете ги или ги изтрийте, за да слеете."
@@ -2120,7 +3518,7 @@
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by %s:\n"
-"%%sPlease move or remove them before you can %s."
+"%%sPlease move or remove them before you %s."
 msgstr ""
 "„%s“ ще презапише тези неследени файлове в работното дърво:\n"
 "%%sПреместете ги или ги изтрийте, за да извършите „%s“."
@@ -2137,7 +3535,7 @@
 #: unpack-trees.c:121
 #, c-format
 msgid "Entry '%s' overlaps with '%s'.  Cannot bind."
-msgstr "Записът за „%s“ съвпада с този за „%s“. Не може да се присвои."
+msgstr "Записът за „%s“ съвпада с този за „%s“.  Не може да се присвои."
 
 #: unpack-trees.c:124
 #, c-format
@@ -2152,7 +3550,7 @@
 #: unpack-trees.c:126
 #, c-format
 msgid ""
-"The following Working tree files would be overwritten by sparse checkout "
+"The following working tree files would be overwritten by sparse checkout "
 "update:\n"
 "%s"
 msgstr ""
@@ -2163,7 +3561,7 @@
 #: unpack-trees.c:128
 #, c-format
 msgid ""
-"The following Working tree files would be removed by sparse checkout "
+"The following working tree files would be removed by sparse checkout "
 "update:\n"
 "%s"
 msgstr ""
@@ -2209,206 +3607,196 @@
 msgid "invalid '..' path segment"
 msgstr "неправилна част от пътя „..“"
 
-#: wrapper.c:222 wrapper.c:381
+#: worktree.c:282
+#, c-format
+msgid "failed to read '%s'"
+msgstr "„%s“ не може да бъде прочетен"
+
+#: wrapper.c:222 wrapper.c:392
 #, c-format
 msgid "could not open '%s' for reading and writing"
 msgstr "„%s“ не може да бъде отворен и за четене, и за запис"
 
-#: wrapper.c:224 wrapper.c:383 builtin/am.c:779
+#: wrapper.c:224 wrapper.c:394 builtin/am.c:766
 #, c-format
 msgid "could not open '%s' for writing"
 msgstr "„%s“ не може да бъде отворен за запис"
 
-#: wrapper.c:226 wrapper.c:385 builtin/am.c:323 builtin/am.c:772
-#: builtin/am.c:860 builtin/commit.c:1711 builtin/merge.c:1086
-#: builtin/pull.c:407
+#: wrapper.c:226 wrapper.c:396 builtin/am.c:320 builtin/am.c:759
+#: builtin/am.c:847 builtin/commit.c:1705 builtin/merge.c:1029
+#: builtin/pull.c:341
 #, c-format
 msgid "could not open '%s' for reading"
 msgstr "файлът не може да бъде прочетен: „%s“"
 
-#: wrapper.c:594 wrapper.c:615
+#: wrapper.c:605 wrapper.c:626
 #, c-format
 msgid "unable to access '%s'"
 msgstr "няма достъп до „%s“"
 
-#: wrapper.c:623
+#: wrapper.c:634
 msgid "unable to get current working directory"
 msgstr "текущата работна директория е недостъпна"
 
-#: wrapper.c:650
-#, c-format
-msgid "could not open %s for writing"
-msgstr "„%s“ не може да бъде отворен за запис"
-
 # FIXME - must be the same as Could not write to '%s' above
-#: wrapper.c:661 builtin/am.c:410
+#: wrapper.c:658
 #, c-format
 msgid "could not write to %s"
 msgstr "„%s“ не може да бъде записан"
 
-#: wrapper.c:667
+#: wrapper.c:660
 #, c-format
 msgid "could not close %s"
 msgstr "„%s“ не може да се затвори"
 
-#: wt-status.c:150
+#: wt-status.c:151
 msgid "Unmerged paths:"
 msgstr "Неслети пътища:"
 
-#: wt-status.c:177 wt-status.c:204
+#: wt-status.c:178 wt-status.c:205
 #, c-format
 msgid "  (use \"git reset %s <file>...\" to unstage)"
 msgstr "  (използвайте „git reset %s ФАЙЛ…“, за да извадите ФАЙЛа от индекса)"
 
-#: wt-status.c:179 wt-status.c:206
+#: wt-status.c:180 wt-status.c:207
 msgid "  (use \"git rm --cached <file>...\" to unstage)"
 msgstr ""
 "  (използвайте „git rm --cached %s ФАЙЛ…“, за да извадите ФАЙЛа от индекса)"
 
-#: wt-status.c:183
+#: wt-status.c:184
 msgid "  (use \"git add <file>...\" to mark resolution)"
 msgstr ""
 "  (използвайте „git add ФАЙЛ…“, за да укажете разрешаването на конфликта)"
 
-#: wt-status.c:185 wt-status.c:189
+#: wt-status.c:186 wt-status.c:190
 msgid "  (use \"git add/rm <file>...\" as appropriate to mark resolution)"
 msgstr ""
 "  (използвайте „git add/rm ФАЙЛ…“, според решението, което избирате за "
 "конфликта)"
 
-#: wt-status.c:187
+#: wt-status.c:188
 msgid "  (use \"git rm <file>...\" to mark resolution)"
 msgstr ""
 "  (използвайте „git rm ФАЙЛ…“, за да укажете разрешаването на конфликта)"
 
-#: wt-status.c:198 wt-status.c:881
+#: wt-status.c:199 wt-status.c:945
 msgid "Changes to be committed:"
 msgstr "Промени, които ще бъдат подадени:"
 
-#: wt-status.c:216 wt-status.c:890
+#: wt-status.c:217 wt-status.c:954
 msgid "Changes not staged for commit:"
 msgstr "Промени, които не са в индекса за подаване:"
 
-#: wt-status.c:220
+#: wt-status.c:221
 msgid "  (use \"git add <file>...\" to update what will be committed)"
 msgstr ""
 "  (използвайте „git add ФАЙЛ…“, за да обновите съдържанието за подаване)"
 
-#: wt-status.c:222
+#: wt-status.c:223
 msgid "  (use \"git add/rm <file>...\" to update what will be committed)"
 msgstr ""
 "  (използвайте „git add/rm ФАЙЛ…“, за да обновите съдържанието за подаване)"
 
-#: wt-status.c:223
+#: wt-status.c:224
 msgid ""
 "  (use \"git checkout -- <file>...\" to discard changes in working directory)"
 msgstr ""
 "  (използвайте „git checkout -- ФАЙЛ…“, за да отхвърлите промените в "
 "работното дърво)"
 
-#: wt-status.c:225
+#: wt-status.c:226
 msgid "  (commit or discard the untracked or modified content in submodules)"
 msgstr ""
 "  (подайте или отхвърлете неследеното или промененото съдържание в "
 "подмодулите)"
 
-#: wt-status.c:237
+#: wt-status.c:238
 #, c-format
 msgid "  (use \"git %s <file>...\" to include in what will be committed)"
 msgstr ""
 "  (използвайте „git %s ФАЙЛ…“, за да определите какво включвате в подаването)"
 
-#: wt-status.c:252
+#: wt-status.c:253
 msgid "both deleted:"
 msgstr "изтрити в двата случая:"
 
-#: wt-status.c:254
+#: wt-status.c:255
 msgid "added by us:"
 msgstr "добавени от вас:"
 
-#: wt-status.c:256
+#: wt-status.c:257
 msgid "deleted by them:"
 msgstr "изтрити от тях:"
 
-#: wt-status.c:258
+#: wt-status.c:259
 msgid "added by them:"
 msgstr "добавени от тях:"
 
-#: wt-status.c:260
+#: wt-status.c:261
 msgid "deleted by us:"
 msgstr "изтрити от вас:"
 
-#: wt-status.c:262
+#: wt-status.c:263
 msgid "both added:"
 msgstr "добавени и в двата случая:"
 
-#: wt-status.c:264
+#: wt-status.c:265
 msgid "both modified:"
 msgstr "променени и в двата случая:"
 
-#: wt-status.c:266
-#, c-format
-msgid "bug: unhandled unmerged status %x"
-msgstr "грешка: състоянието на промяната „%x“ не може да бъде обработено"
-
-#: wt-status.c:274
+#: wt-status.c:275
 msgid "new file:"
 msgstr "нов файл:"
 
-#: wt-status.c:276
+#: wt-status.c:277
 msgid "copied:"
 msgstr "копиран:"
 
-#: wt-status.c:278
+#: wt-status.c:279
 msgid "deleted:"
 msgstr "изтрит:"
 
-#: wt-status.c:280
+#: wt-status.c:281
 msgid "modified:"
 msgstr "променен:"
 
-#: wt-status.c:282
+#: wt-status.c:283
 msgid "renamed:"
 msgstr "преименуван:"
 
-#: wt-status.c:284
+#: wt-status.c:285
 msgid "typechange:"
 msgstr "смяна на вида:"
 
-#: wt-status.c:286
+#: wt-status.c:287
 msgid "unknown:"
 msgstr "непозната промяна:"
 
-#: wt-status.c:288
+#: wt-status.c:289
 msgid "unmerged:"
 msgstr "неслят:"
 
-#: wt-status.c:370
+#: wt-status.c:371
 msgid "new commits, "
 msgstr "нови подавания, "
 
-#: wt-status.c:372
+#: wt-status.c:373
 msgid "modified content, "
 msgstr "променено съдържание, "
 
-#: wt-status.c:374
+#: wt-status.c:375
 msgid "untracked content, "
 msgstr "неследено съдържание, "
 
-#: wt-status.c:391
-#, c-format
-msgid "bug: unhandled diff status %c"
-msgstr "грешка: състоянието на промяната „%c“ не може да бъде обработено"
-
-#: wt-status.c:755
+#: wt-status.c:818
 msgid "Submodules changed but not updated:"
 msgstr "Подмодулите са променени, но не са обновени:"
 
-#: wt-status.c:757
+#: wt-status.c:820
 msgid "Submodule changes to be committed:"
 msgstr "Промени в подмодулите за подаване:"
 
-#: wt-status.c:838
+#: wt-status.c:901
 msgid ""
 "Do not touch the line above.\n"
 "Everything below will be removed."
@@ -2416,229 +3804,233 @@
 "Не променяйте горния ред.\n"
 "Всичко отдолу ще бъде изтрито."
 
-#: wt-status.c:949
+#: wt-status.c:1013
 msgid "You have unmerged paths."
 msgstr "Някои пътища не са слети."
 
-#: wt-status.c:952
+#: wt-status.c:1016
 msgid "  (fix conflicts and run \"git commit\")"
 msgstr "  (коригирайте конфликтите и изпълнете „git commit“)"
 
-#: wt-status.c:956
+#: wt-status.c:1018
+msgid "  (use \"git merge --abort\" to abort the merge)"
+msgstr "  (използвайте „git merge --abort“, за да преустановите сливането)"
+
+#: wt-status.c:1023
 msgid "All conflicts fixed but you are still merging."
 msgstr "Всички конфликти са решени, но продължавате сливането."
 
-#: wt-status.c:959
+#: wt-status.c:1026
 msgid "  (use \"git commit\" to conclude merge)"
 msgstr "  (използвайте „git commit“, за да завършите сливането)"
 
-#: wt-status.c:969
+#: wt-status.c:1036
 msgid "You are in the middle of an am session."
 msgstr "В момента прилагате поредица от кръпки чрез „git am“."
 
-#: wt-status.c:972
+#: wt-status.c:1039
 msgid "The current patch is empty."
 msgstr "Текущата кръпка е празна."
 
-#: wt-status.c:976
+#: wt-status.c:1043
 msgid "  (fix conflicts and then run \"git am --continue\")"
 msgstr "  (коригирайте конфликтите и изпълнете „git am --continue“)"
 
-#: wt-status.c:978
+#: wt-status.c:1045
 msgid "  (use \"git am --skip\" to skip this patch)"
 msgstr "  (използвайте „git am --skip“, за да пропуснете тази кръпка)"
 
-#: wt-status.c:980
+#: wt-status.c:1047
 msgid "  (use \"git am --abort\" to restore the original branch)"
 msgstr ""
 "  (използвайте „git am --abort“, за да възстановите първоначалния клон)"
 
-#: wt-status.c:1105
+#: wt-status.c:1172
 msgid "No commands done."
 msgstr "Не са изпълнени команди."
 
-#: wt-status.c:1108
+#: wt-status.c:1175
 #, c-format
 msgid "Last command done (%d command done):"
 msgid_plural "Last commands done (%d commands done):"
 msgstr[0] "Последна изпълнена команда (изпълнена е общо %d команда):"
 msgstr[1] "Последна изпълнена команда (изпълнени са общо %d команди):"
 
-#: wt-status.c:1119
+#: wt-status.c:1186
 #, c-format
 msgid "  (see more in file %s)"
 msgstr "  повече информация има във файла „%s“)"
 
-#: wt-status.c:1124
+#: wt-status.c:1191
 msgid "No commands remaining."
 msgstr "Не остават повече команди."
 
-#: wt-status.c:1127
+#: wt-status.c:1194
 #, c-format
 msgid "Next command to do (%d remaining command):"
 msgid_plural "Next commands to do (%d remaining commands):"
 msgstr[0] "Следваща команда за изпълнение (остава още %d команда):"
 msgstr[1] "Следваща команда за изпълнение (остават още %d команди):"
 
-#: wt-status.c:1135
+#: wt-status.c:1202
 msgid "  (use \"git rebase --edit-todo\" to view and edit)"
 msgstr ""
 "  (използвайте „git rebase --edit-todo“, за да разгледате и редактирате)"
 
-#: wt-status.c:1148
+#: wt-status.c:1215
 #, c-format
 msgid "You are currently rebasing branch '%s' on '%s'."
 msgstr "В момента пребазирате клона „%s“ върху „%s“."
 
-#: wt-status.c:1153
+#: wt-status.c:1220
 msgid "You are currently rebasing."
 msgstr "В момента пребазирате."
 
-#: wt-status.c:1167
+#: wt-status.c:1234
 msgid "  (fix conflicts and then run \"git rebase --continue\")"
 msgstr "  (коригирайте конфликтите и използвайте „git rebase --continue“)"
 
-#: wt-status.c:1169
+#: wt-status.c:1236
 msgid "  (use \"git rebase --skip\" to skip this patch)"
 msgstr "  (използвайте „git rebase --skip“, за да пропуснете тази кръпка)"
 
-#: wt-status.c:1171
+#: wt-status.c:1238
 msgid "  (use \"git rebase --abort\" to check out the original branch)"
 msgstr ""
 "  (използвайте „git rebase --abort“, за да възстановите първоначалния клон)"
 
-#: wt-status.c:1177
+#: wt-status.c:1244
 msgid "  (all conflicts fixed: run \"git rebase --continue\")"
 msgstr "  (всички конфликти са коригирани: изпълнете „git rebase --continue“)"
 
-#: wt-status.c:1181
+#: wt-status.c:1248
 #, c-format
 msgid ""
 "You are currently splitting a commit while rebasing branch '%s' on '%s'."
 msgstr "В момента разделяте подаване докато пребазирате клона „%s“ върху „%s“."
 
-#: wt-status.c:1186
+#: wt-status.c:1253
 msgid "You are currently splitting a commit during a rebase."
 msgstr "В момента разделяте подаване докато пребазирате."
 
-#: wt-status.c:1189
+#: wt-status.c:1256
 msgid "  (Once your working directory is clean, run \"git rebase --continue\")"
 msgstr ""
 "  (След като работното ви дърво стане чисто, използвайте „git rebase --"
 "continue“)"
 
-#: wt-status.c:1193
+#: wt-status.c:1260
 #, c-format
 msgid "You are currently editing a commit while rebasing branch '%s' on '%s'."
 msgstr ""
 "В момента редактирате подаване докато пребазирате клона „%s“ върху „%s“."
 
-#: wt-status.c:1198
+#: wt-status.c:1265
 msgid "You are currently editing a commit during a rebase."
 msgstr "В момента редактирате подаване докато пребазирате."
 
-#: wt-status.c:1201
+#: wt-status.c:1268
 msgid "  (use \"git commit --amend\" to amend the current commit)"
 msgstr ""
 "  (използвайте „git commit --amend“, за да редактирате текущото подаване)"
 
-#: wt-status.c:1203
+#: wt-status.c:1270
 msgid ""
 "  (use \"git rebase --continue\" once you are satisfied with your changes)"
 msgstr ""
 "  (използвайте „git rebase --continue“, след като завършите промените си)"
 
-#: wt-status.c:1213
+#: wt-status.c:1280
 #, c-format
 msgid "You are currently cherry-picking commit %s."
 msgstr "В момента отбирате подаването „%s“."
 
-#: wt-status.c:1218
+#: wt-status.c:1285
 msgid "  (fix conflicts and run \"git cherry-pick --continue\")"
 msgstr "  (коригирайте конфликтите и изпълнете „git cherry-pick --continue“)"
 
-#: wt-status.c:1221
+#: wt-status.c:1288
 msgid "  (all conflicts fixed: run \"git cherry-pick --continue\")"
 msgstr ""
 "  (всички конфликти са коригирани, изпълнете „git cherry-pick --continue“)"
 
-#: wt-status.c:1223
+#: wt-status.c:1290
 msgid "  (use \"git cherry-pick --abort\" to cancel the cherry-pick operation)"
 msgstr ""
 "  (използвайте „git cherry-pick --abort“, за да отмените всички действия с "
 "отбиране)"
 
-#: wt-status.c:1232
+#: wt-status.c:1299
 #, c-format
 msgid "You are currently reverting commit %s."
 msgstr "В момента отменяте подаване „%s“."
 
-#: wt-status.c:1237
+#: wt-status.c:1304
 msgid "  (fix conflicts and run \"git revert --continue\")"
 msgstr "  (коригирайте конфликтите и изпълнете „git revert --continue“)"
 
-#: wt-status.c:1240
+#: wt-status.c:1307
 msgid "  (all conflicts fixed: run \"git revert --continue\")"
 msgstr "  (всички конфликти са коригирани, изпълнете „git revert --continue“)"
 
-#: wt-status.c:1242
+#: wt-status.c:1309
 msgid "  (use \"git revert --abort\" to cancel the revert operation)"
 msgstr ""
 "  (използвайте „git revert --abort“, за да преустановите отмяната на "
 "подаване)"
 
-#: wt-status.c:1253
+#: wt-status.c:1320
 #, c-format
 msgid "You are currently bisecting, started from branch '%s'."
 msgstr "В момента търсите двоично, като сте стартирали от клон „%s“."
 
-#: wt-status.c:1257
+#: wt-status.c:1324
 msgid "You are currently bisecting."
 msgstr "В момента търсите двоично."
 
-#: wt-status.c:1260
+#: wt-status.c:1327
 msgid "  (use \"git bisect reset\" to get back to the original branch)"
 msgstr ""
 "  (използвайте „git bisect reset“, за да се върнете към първоначалното "
 "състояние и клон)"
 
-#: wt-status.c:1460
+#: wt-status.c:1524
 msgid "On branch "
 msgstr "На клон "
 
-#: wt-status.c:1466
+#: wt-status.c:1530
 msgid "interactive rebase in progress; onto "
 msgstr "извършвате интерактивно пребазиране върху "
 
-#: wt-status.c:1468
+#: wt-status.c:1532
 msgid "rebase in progress; onto "
 msgstr "извършвате пребазиране върху "
 
-#: wt-status.c:1473
+#: wt-status.c:1537
 msgid "HEAD detached at "
 msgstr "Указателят „HEAD“ не е свързан и е при "
 
-#: wt-status.c:1475
+#: wt-status.c:1539
 msgid "HEAD detached from "
 msgstr "Указателят „HEAD“ не е свързан и е отделѐн от "
 
-#: wt-status.c:1478
+#: wt-status.c:1542
 msgid "Not currently on any branch."
 msgstr "Извън всички клони."
 
-#: wt-status.c:1496
+#: wt-status.c:1560
 msgid "Initial commit"
 msgstr "Първоначално подаване"
 
-#: wt-status.c:1510
+#: wt-status.c:1574
 msgid "Untracked files"
 msgstr "Неследени файлове"
 
-#: wt-status.c:1512
+#: wt-status.c:1576
 msgid "Ignored files"
 msgstr "Игнорирани файлове"
 
-#: wt-status.c:1516
+#: wt-status.c:1580
 #, c-format
 msgid ""
 "It took %.2f seconds to enumerate untracked files. 'status -uno'\n"
@@ -2650,32 +4042,32 @@
 "изпълнението, но не трябва да забравяте ръчно да добавяте новите файлове.\n"
 "За повече подробности погледнете „git status help“."
 
-#: wt-status.c:1522
+#: wt-status.c:1586
 #, c-format
 msgid "Untracked files not listed%s"
 msgstr "Неследените файлове не са изведени%s"
 
-#: wt-status.c:1524
+#: wt-status.c:1588
 msgid " (use -u option to show untracked files)"
 msgstr " (използвайте опцията „-u“, за да изведете неследените файлове)"
 
-#: wt-status.c:1530
+#: wt-status.c:1594
 msgid "No changes"
 msgstr "Няма промени"
 
-#: wt-status.c:1535
+#: wt-status.c:1599
 #, c-format
 msgid "no changes added to commit (use \"git add\" and/or \"git commit -a\")\n"
 msgstr ""
 "към индекса за подаване не са добавени промени (използвайте „git add“ и/или "
 "„git commit -a“)\n"
 
-#: wt-status.c:1538
+#: wt-status.c:1602
 #, c-format
 msgid "no changes added to commit\n"
 msgstr "към индекса за подаване не са добавени промени\n"
 
-#: wt-status.c:1541
+#: wt-status.c:1605
 #, c-format
 msgid ""
 "nothing added to commit but untracked files present (use \"git add\" to "
@@ -2684,56 +4076,71 @@
 "към индекса за подаване не са добавени промени, но има нови файлове "
 "(използвайте „git add“, за да започне тяхното следене)\n"
 
-#: wt-status.c:1544
+#: wt-status.c:1608
 #, c-format
 msgid "nothing added to commit but untracked files present\n"
 msgstr "към индекса за подаване не са добавени промени, но има нови файлове\n"
 
-#: wt-status.c:1547
+#: wt-status.c:1611
 #, c-format
 msgid "nothing to commit (create/copy files and use \"git add\" to track)\n"
 msgstr ""
 "липсват каквито и да е промени (създайте или копирайте файлове и използвайте "
 "„git add“, за да започне тяхното следене)\n"
 
-#: wt-status.c:1550 wt-status.c:1555
+#: wt-status.c:1614 wt-status.c:1619
 #, c-format
 msgid "nothing to commit\n"
 msgstr "липсват каквито и да е промени\n"
 
-#: wt-status.c:1553
+#: wt-status.c:1617
 #, c-format
 msgid "nothing to commit (use -u to show untracked files)\n"
 msgstr ""
 "липсват каквито и да е промени (използвайте опцията „-u“, за да се изведат и "
 "неследените файлове)\n"
 
-#: wt-status.c:1557
+#: wt-status.c:1621
 #, c-format
-msgid "nothing to commit, working directory clean\n"
+msgid "nothing to commit, working tree clean\n"
 msgstr "липсват каквито и да е промени, работното дърво е чисто\n"
 
-#: wt-status.c:1664
+#: wt-status.c:1728
 msgid "Initial commit on "
 msgstr "Първоначално подаване на клон"
 
-#: wt-status.c:1668
+#: wt-status.c:1732
 msgid "HEAD (no branch)"
 msgstr "HEAD (извън клон)"
 
-#: wt-status.c:1697
+#: wt-status.c:1761
 msgid "gone"
 msgstr "изтрит"
 
-#: wt-status.c:1699 wt-status.c:1707
+#: wt-status.c:1763 wt-status.c:1771
 msgid "behind "
 msgstr "назад с "
 
-#: wt-status.c:1702 wt-status.c:1705
+#: wt-status.c:1766 wt-status.c:1769
 msgid "ahead "
 msgstr "напред с "
 
-#: compat/precompose_utf8.c:57 builtin/clone.c:415
+#. TRANSLATORS: the action is e.g. "pull with rebase"
+#: wt-status.c:2270
+#, c-format
+msgid "cannot %s: You have unstaged changes."
+msgstr "не може да извършите „%s“, защото има промени, които не са в индекса."
+
+#: wt-status.c:2276
+msgid "additionally, your index contains uncommitted changes."
+msgstr "освен това в индекса има неподадени промени."
+
+#: wt-status.c:2278
+#, c-format
+msgid "cannot %s: Your index contains uncommitted changes."
+msgstr "не може да извършите „%s“, защото в индекса има неподадени промени."
+
+#: compat/precompose_utf8.c:57 builtin/clone.c:414
 #, c-format
 msgid "failed to unlink '%s'"
 msgstr "неуспешно изтриване на „%s“"
@@ -2742,265 +4149,264 @@
 msgid "git add [<options>] [--] <pathspec>..."
 msgstr "git add [ОПЦИЯ…] [--] ПЪТ…"
 
-#: builtin/add.c:65
+#: builtin/add.c:80
 #, c-format
 msgid "unexpected diff status %c"
 msgstr "неочакван изходен код при генериране на разлика: %c"
 
-#: builtin/add.c:70 builtin/commit.c:280
+#: builtin/add.c:85 builtin/commit.c:291
 msgid "updating files failed"
 msgstr "неуспешно обновяване на файловете"
 
-#: builtin/add.c:80
+#: builtin/add.c:95
 #, c-format
 msgid "remove '%s'\n"
 msgstr "изтриване на „%s“\n"
 
-#: builtin/add.c:134
+#: builtin/add.c:149
 msgid "Unstaged changes after refreshing the index:"
 msgstr "Промени, които и след обновяването на индекса не са добавени към него:"
 
-#: builtin/add.c:194 builtin/rev-parse.c:811
+#: builtin/add.c:209 builtin/rev-parse.c:840
 msgid "Could not read the index"
 msgstr "Индексът не може да бъде прочетен"
 
-#: builtin/add.c:205
+#: builtin/add.c:220
 #, c-format
 msgid "Could not open '%s' for writing."
 msgstr "Файлът „%s“ не може да бъде отворен за запис."
 
-#: builtin/add.c:209
+#: builtin/add.c:224
 msgid "Could not write patch"
 msgstr "Кръпката не може да бъде записана"
 
-#: builtin/add.c:212
+#: builtin/add.c:227
 msgid "editing patch failed"
 msgstr "неуспешно редактиране на кръпка"
 
-#: builtin/add.c:215
+#: builtin/add.c:230
 #, c-format
 msgid "Could not stat '%s'"
 msgstr "Не може да се получи информация чрез „stat“ за файла „%s“"
 
-#: builtin/add.c:217
+#: builtin/add.c:232
 msgid "Empty patch. Aborted."
 msgstr "Празна кръпка, преустановяване на действието."
 
-#: builtin/add.c:222
+#: builtin/add.c:237
 #, c-format
 msgid "Could not apply '%s'"
 msgstr "Кръпката „%s“ не може да бъде приложена"
 
-#: builtin/add.c:232
+#: builtin/add.c:247
 msgid "The following paths are ignored by one of your .gitignore files:\n"
 msgstr ""
 "Следните пътища ще бъдат игнорирани според някой от файловете „.gitignore“:\n"
 
-#: builtin/add.c:249 builtin/clean.c:870 builtin/fetch.c:112 builtin/mv.c:111
-#: builtin/prune-packed.c:55 builtin/pull.c:197 builtin/push.c:511
-#: builtin/remote.c:1332 builtin/rm.c:268 builtin/send-pack.c:162
+#: builtin/add.c:266 builtin/clean.c:870 builtin/fetch.c:115 builtin/mv.c:111
+#: builtin/prune-packed.c:55 builtin/pull.c:198 builtin/push.c:521
+#: builtin/remote.c:1326 builtin/rm.c:268 builtin/send-pack.c:162
 msgid "dry run"
-msgstr "пробно изпълнeние"
+msgstr "пробно изпълнение"
 
-#: builtin/add.c:250 builtin/apply.c:4563 builtin/check-ignore.c:19
-#: builtin/commit.c:1333 builtin/count-objects.c:85 builtin/fsck.c:557
-#: builtin/log.c:1826 builtin/mv.c:110 builtin/read-tree.c:114
-msgid "be verbose"
-msgstr "повече подробности"
-
-#: builtin/add.c:252
+#: builtin/add.c:269
 msgid "interactive picking"
 msgstr "интерактивно отбиране на промени"
 
-#: builtin/add.c:253 builtin/checkout.c:1154 builtin/reset.c:286
+#: builtin/add.c:270 builtin/checkout.c:1156 builtin/reset.c:286
 msgid "select hunks interactively"
 msgstr "интерактивен избор на парчета код"
 
-#: builtin/add.c:254
+#: builtin/add.c:271
 msgid "edit current diff and apply"
 msgstr "редактиране на текущата разлика и прилагане"
 
-#: builtin/add.c:255
+#: builtin/add.c:272
 msgid "allow adding otherwise ignored files"
 msgstr "добавяне и на иначе игнорираните файлове"
 
-#: builtin/add.c:256
+#: builtin/add.c:273
 msgid "update tracked files"
 msgstr "обновяване на следените файлове"
 
-#: builtin/add.c:257
+#: builtin/add.c:274
 msgid "record only the fact that the path will be added later"
 msgstr "отбелязване само на факта, че пътят ще бъде добавен по-късно"
 
-#: builtin/add.c:258
+#: builtin/add.c:275
 msgid "add changes from all tracked and untracked files"
 msgstr "добавяне на всички промени в следените и неследените файлове"
 
-#: builtin/add.c:261
+#: builtin/add.c:278
 msgid "ignore paths removed in the working tree (same as --no-all)"
 msgstr ""
 "игнориране на пътищата, които са изтрити от работното дърво (същото като „--"
 "no-all“)"
 
-#: builtin/add.c:263
+#: builtin/add.c:280
 msgid "don't add, only refresh the index"
 msgstr "без добавяне на нови файлове, само обновяване на индекса"
 
-#: builtin/add.c:264
+#: builtin/add.c:281
 msgid "just skip files which cannot be added because of errors"
 msgstr ""
 "прескачане на файловете, които не могат да бъдат добавени поради грешки"
 
-#: builtin/add.c:265
+#: builtin/add.c:282
 msgid "check if - even missing - files are ignored in dry run"
 msgstr ""
 "проверка, че при пробно изпълнение всички файлове, дори и изтритите, се "
 "игнорират"
 
-#: builtin/add.c:287
+#: builtin/add.c:283 builtin/update-index.c:947
+msgid "(+/-)x"
+msgstr "(+/-)x"
+
+#: builtin/add.c:283 builtin/update-index.c:948
+msgid "override the executable bit of the listed files"
+msgstr "изрично задаване на стойността на флага дали файлът е изпълним"
+
+#: builtin/add.c:305
 #, c-format
 msgid "Use -f if you really want to add them.\n"
 msgstr "Използвайте опцията „-f“, за да ги добавите наистина.\n"
 
-#: builtin/add.c:294
+#: builtin/add.c:312
 msgid "adding files failed"
 msgstr "неуспешно добавяне на файлове"
 
-#: builtin/add.c:330
+#: builtin/add.c:348
 msgid "-A and -u are mutually incompatible"
 msgstr "опциите „-A“ и „-u“ са несъвместими"
 
-#: builtin/add.c:337
+#: builtin/add.c:355
 msgid "Option --ignore-missing can only be used together with --dry-run"
 msgstr "Опцията „--ignore-missing“ е съвместима само с „--dry-run“"
 
-#: builtin/add.c:352
+#: builtin/add.c:359
+#, c-format
+msgid "--chmod param '%s' must be either -x or +x"
+msgstr "параметърът към „--chmod“ — „%s“ може да е или „-x“, или „+x“"
+
+#: builtin/add.c:374
 #, c-format
 msgid "Nothing specified, nothing added.\n"
 msgstr "Нищо не е зададено и нищо не е добавено.\n"
 
-#: builtin/add.c:353
+#: builtin/add.c:375
 #, c-format
 msgid "Maybe you wanted to say 'git add .'?\n"
 msgstr "Вероятно искахте да използвате „git add .“?\n"
 
-#: builtin/add.c:358 builtin/check-ignore.c:172 builtin/clean.c:914
-#: builtin/commit.c:339 builtin/mv.c:131 builtin/reset.c:235 builtin/rm.c:298
-#: builtin/submodule--helper.c:240
+#: builtin/add.c:380 builtin/check-ignore.c:172 builtin/checkout.c:279
+#: builtin/checkout.c:472 builtin/clean.c:914 builtin/commit.c:350
+#: builtin/mv.c:131 builtin/reset.c:235 builtin/rm.c:298
+#: builtin/submodule--helper.c:244
 msgid "index file corrupt"
 msgstr "файлът с индекса е повреден"
 
-#: builtin/add.c:439 builtin/apply.c:4661 builtin/mv.c:283 builtin/rm.c:430
-msgid "Unable to write new index file"
-msgstr "Новият индекс не може да бъде записан"
-
-#: builtin/am.c:256 builtin/commit.c:749 builtin/merge.c:1089
-#, c-format
-msgid "could not read '%s'"
-msgstr "файлът „%s“ не може да бъде прочетен"
-
-#: builtin/am.c:430
+#: builtin/am.c:414
 msgid "could not parse author script"
 msgstr "скриптът за автор не може да се анализира"
 
-#: builtin/am.c:507
+#: builtin/am.c:491
 #, c-format
 msgid "'%s' was deleted by the applypatch-msg hook"
 msgstr "„%s“ бе изтрит от куката „applypatch-msg“"
 
-#: builtin/am.c:548 builtin/notes.c:300
+#: builtin/am.c:532
 #, c-format
 msgid "Malformed input line: '%s'."
 msgstr "Даденият входен ред е с неправилен формат: „%s“."
 
-#: builtin/am.c:585 builtin/notes.c:315
+#: builtin/am.c:569
 #, c-format
 msgid "Failed to copy notes from '%s' to '%s'"
 msgstr "Бележката не може да се копира от „%s“ към „%s“"
 
-#: builtin/am.c:611
+#: builtin/am.c:595
 msgid "fseek failed"
 msgstr "неуспешно изпълнение на „fseek“"
 
-#: builtin/am.c:788
+#: builtin/am.c:775
 #, c-format
 msgid "could not parse patch '%s'"
 msgstr "кръпката „%s“ не може да се анализира"
 
-#: builtin/am.c:853
+#: builtin/am.c:840
 msgid "Only one StGIT patch series can be applied at once"
 msgstr ""
 "Само една серия кръпки от „StGIT“ може да бъде прилагана в даден момент"
 
-#: builtin/am.c:900
+#: builtin/am.c:887
 msgid "invalid timestamp"
 msgstr "неправилна стойност за време"
 
-#: builtin/am.c:903 builtin/am.c:911
+#: builtin/am.c:890 builtin/am.c:898
 msgid "invalid Date line"
 msgstr "неправилен ред за дата „Date“"
 
-#: builtin/am.c:908
+#: builtin/am.c:895
 msgid "invalid timezone offset"
 msgstr "неправилно отместване на часовия пояс"
 
-#: builtin/am.c:995
+#: builtin/am.c:984
 msgid "Patch format detection failed."
 msgstr "Форматът на кръпката не може да бъде определен."
 
-#: builtin/am.c:1000 builtin/clone.c:380
+#: builtin/am.c:989 builtin/clone.c:379
 #, c-format
 msgid "failed to create directory '%s'"
 msgstr "директорията „%s“ не може да бъде създадена"
 
-#: builtin/am.c:1004
+#: builtin/am.c:993
 msgid "Failed to split patches."
 msgstr "Кръпките не могат да бъдат разделени."
 
-#: builtin/am.c:1136 builtin/commit.c:365
+#: builtin/am.c:1125 builtin/commit.c:376
 msgid "unable to write index file"
 msgstr "индексът не може да бъде записан"
 
-#: builtin/am.c:1187
+#: builtin/am.c:1176
 #, c-format
 msgid "When you have resolved this problem, run \"%s --continue\"."
 msgstr "След коригирането на този проблем изпълнете „%s --continue“."
 
-#: builtin/am.c:1188
+#: builtin/am.c:1177
 #, c-format
 msgid "If you prefer to skip this patch, run \"%s --skip\" instead."
 msgstr "Ако предпочитате да прескочите тази кръпка, изпълнете „%s --skip“."
 
-#: builtin/am.c:1189
+#: builtin/am.c:1178
 #, c-format
 msgid "To restore the original branch and stop patching, run \"%s --abort\"."
 msgstr "За да се върнете към първоначалното състояние, изпълнете „%s --abort“."
 
-#: builtin/am.c:1327
+#: builtin/am.c:1316
 msgid "Patch is empty. Was it split wrong?"
-msgstr "Празна кръпка. Дали не е разделена погрешно?"
+msgstr "Празна кръпка.  Дали не е разделена погрешно?"
 
-#: builtin/am.c:1401 builtin/log.c:1516
+#: builtin/am.c:1390 builtin/log.c:1550
 #, c-format
 msgid "invalid ident line: %s"
 msgstr "грешна идентичност: %s"
 
-#: builtin/am.c:1428
+#: builtin/am.c:1417
 #, c-format
 msgid "unable to parse commit %s"
 msgstr "подаването не може да бъде анализирано: %s"
 
-#: builtin/am.c:1630
+#: builtin/am.c:1610
 msgid "Repository lacks necessary blobs to fall back on 3-way merge."
 msgstr ""
 "В хранилището липсват необходимите обекти BLOB, за да се премине към тройно "
 "сливане."
 
-#: builtin/am.c:1632
+#: builtin/am.c:1612
 msgid "Using index info to reconstruct a base tree..."
 msgstr "Базовото дърво се реконструира от информацията в индекса…"
 
-#: builtin/am.c:1651
+#: builtin/am.c:1631
 msgid ""
 "Did you hand edit your patch?\n"
 "It does not apply to blobs recorded in its index."
@@ -3008,39 +4414,39 @@
 "Кръпката не може да се приложи към обектите BLOB в индекса.\n"
 "Да не би да сте я редактирали на ръка?"
 
-#: builtin/am.c:1657
+#: builtin/am.c:1637
 msgid "Falling back to patching base and 3-way merge..."
 msgstr "Преминаване към прилагане на кръпка към базата и тройно сливане…"
 
-#: builtin/am.c:1672
+#: builtin/am.c:1662
 msgid "Failed to merge in the changes."
 msgstr "Неуспешно сливане на промените."
 
-#: builtin/am.c:1696 builtin/merge.c:636
+#: builtin/am.c:1686 builtin/merge.c:628
 msgid "git write-tree failed to write a tree"
 msgstr "Командата „git write-tree“ не успя да запише обект-дърво"
 
-#: builtin/am.c:1703
+#: builtin/am.c:1693
 msgid "applying to an empty history"
 msgstr "прилагане върху празна история"
 
-#: builtin/am.c:1716 builtin/commit.c:1775 builtin/merge.c:841
-#: builtin/merge.c:866
+#: builtin/am.c:1706 builtin/commit.c:1769 builtin/merge.c:798
+#: builtin/merge.c:823
 msgid "failed to write commit object"
 msgstr "обектът за подаването не може да бъде записан"
 
-#: builtin/am.c:1748 builtin/am.c:1752
+#: builtin/am.c:1739 builtin/am.c:1743
 #, c-format
 msgid "cannot resume: %s does not exist."
 msgstr "не може да се продължи — „%s“ не съществува."
 
-#: builtin/am.c:1768
+#: builtin/am.c:1759
 msgid "cannot be interactive without stdin connected to a terminal."
 msgstr ""
 "За интерактивно изпълнение е необходимо стандартният\n"
 "изход да е свързан с терминал, а в момента не е."
 
-#: builtin/am.c:1773
+#: builtin/am.c:1764
 msgid "Commit Body is:"
 msgstr "Тялото на кръпката за прилагане е:"
 
@@ -3048,38 +4454,38 @@
 #. in your translation. The program will only accept English
 #. input at this point.
 #.
-#: builtin/am.c:1783
+#: builtin/am.c:1774
 msgid "Apply? [y]es/[n]o/[e]dit/[v]iew patch/[a]ccept all: "
 msgstr ""
 "Прилагане? „y“ — да/„n“ — не/„e“ — редактиране/„v“ — преглед/„a“ — приемане "
 "на всичко:"
 
-#: builtin/am.c:1833
+#: builtin/am.c:1824
 #, c-format
 msgid "Dirty index: cannot apply patches (dirty: %s)"
 msgstr ""
 "Индексът не е чист: кръпките не могат да бъдат приложени (замърсени са: %s)"
 
-#: builtin/am.c:1868 builtin/am.c:1940
+#: builtin/am.c:1861 builtin/am.c:1933
 #, c-format
 msgid "Applying: %.*s"
 msgstr "Прилагане: %.*s"
 
-#: builtin/am.c:1884
+#: builtin/am.c:1877
 msgid "No changes -- Patch already applied."
 msgstr "Без промени — кръпката вече е приложена."
 
-#: builtin/am.c:1892
+#: builtin/am.c:1885
 #, c-format
 msgid "Patch failed at %s %.*s"
 msgstr "Неуспешно прилагане на кръпка при %s %.*s“"
 
-#: builtin/am.c:1898
+#: builtin/am.c:1891
 #, c-format
 msgid "The copy of the patch that failed is found in: %s"
 msgstr "Дубликат на проблемната кръпка се намира в: %s"
 
-#: builtin/am.c:1943
+#: builtin/am.c:1936
 msgid ""
 "No changes - did you forget to use 'git add'?\n"
 "If there is nothing left to stage, chances are that something else\n"
@@ -3089,7 +4495,7 @@
 "Ако няма друга промяна за включване в индекса, най-вероятно някоя друга\n"
 "кръпка е довела до същите промени и в такъв случай просто пропуснете тази."
 
-#: builtin/am.c:1950
+#: builtin/am.c:1943
 msgid ""
 "You still have unmerged paths in your index.\n"
 "Did you forget to use 'git add'?"
@@ -3097,199 +4503,178 @@
 "Индексът все още съдържа неслети промени.\n"
 "Възможно е да не сте изпълнили „git add“."
 
-#: builtin/am.c:2058 builtin/am.c:2062 builtin/am.c:2074 builtin/reset.c:308
+#: builtin/am.c:2051 builtin/am.c:2055 builtin/am.c:2067 builtin/reset.c:308
 #: builtin/reset.c:316
 #, c-format
 msgid "Could not parse object '%s'."
 msgstr "„%s“ не е разпознат като обект."
 
-#: builtin/am.c:2110
+#: builtin/am.c:2103
 msgid "failed to clean index"
 msgstr "индексът не може да бъде изчистен"
 
-#: builtin/am.c:2144
+#: builtin/am.c:2137
 msgid ""
 "You seem to have moved HEAD since the last 'am' failure.\n"
 "Not rewinding to ORIG_HEAD"
 msgstr ""
 "Изглежда указателят „HEAD“ е променен и не сочи към същия обект както по "
 "времето\n"
-"на последното неуспешно изпълнение на „git am“. Указателят се задава да сочи "
-"към\n"
+"на последното неуспешно изпълнение на „git am“.  Указателят се задава да "
+"сочи към\n"
 "„ORIG_HEAD“"
 
-#: builtin/am.c:2205
+#: builtin/am.c:2200
 #, c-format
 msgid "Invalid value for --patch-format: %s"
 msgstr "Неправилна стойност за „--patch-format“: „%s“"
 
-#: builtin/am.c:2238
-msgid "git am [<options>] [(<mbox>|<Maildir>)...]"
-msgstr "git am [ОПЦИЯ…] [ФАЙЛ_С_ПОЩА|ДИРЕКТОРИЯ_С_ПОЩА]…"
+#: builtin/am.c:2233
+msgid "git am [<options>] [(<mbox> | <Maildir>)...]"
+msgstr "git am [ОПЦИЯ…] [(ФАЙЛ_С_ПОЩА|ДИРЕКТОРИЯ_С_ПОЩА)…]"
 
-#: builtin/am.c:2239
+#: builtin/am.c:2234
 msgid "git am [<options>] (--continue | --skip | --abort)"
 msgstr "git am [ОПЦИЯ…] (--continue | --quit | --abort)"
 
-#: builtin/am.c:2245
+#: builtin/am.c:2240
 msgid "run interactively"
 msgstr "интерактивна работа"
 
-#: builtin/am.c:2247
+#: builtin/am.c:2242
 msgid "historical option -- no-op"
 msgstr "изоставена опция, съществува по исторически причини, нищо не прави"
 
-#: builtin/am.c:2249
+#: builtin/am.c:2244
 msgid "allow fall back on 3way merging if needed"
 msgstr "да се преминава към тройно сливане при нужда."
 
-#: builtin/am.c:2250 builtin/init-db.c:478 builtin/prune-packed.c:57
-#: builtin/repack.c:171
+#: builtin/am.c:2245 builtin/init-db.c:483 builtin/prune-packed.c:57
+#: builtin/repack.c:172
 msgid "be quiet"
 msgstr "без извеждане на информация"
 
-#: builtin/am.c:2252
+#: builtin/am.c:2247
 msgid "add a Signed-off-by line to the commit message"
 msgstr "добавяне на ред за подпис „Signed-off-by“ в съобщението за подаване"
 
-#: builtin/am.c:2255
+#: builtin/am.c:2250
 msgid "recode into utf8 (default)"
 msgstr "прекодиране в UTF-8 (стандартно)"
 
-#: builtin/am.c:2257
+#: builtin/am.c:2252
 msgid "pass -k flag to git-mailinfo"
 msgstr "подаване на опцията „-k“ на командата „git-mailinfo“"
 
-#: builtin/am.c:2259
+#: builtin/am.c:2254
 msgid "pass -b flag to git-mailinfo"
 msgstr "подаване на опцията „-b“ на командата „git-mailinfo“"
 
-#: builtin/am.c:2261
+#: builtin/am.c:2256
 msgid "pass -m flag to git-mailinfo"
 msgstr "подаване на опцията „-m“ на командата „git-mailinfo“"
 
-#: builtin/am.c:2263
+#: builtin/am.c:2258
 msgid "pass --keep-cr flag to git-mailsplit for mbox format"
 msgstr ""
 "подаване на опцията „--keep-cr“ на командата „git-mailsplit“ за формат „mbox“"
 
-#: builtin/am.c:2266
+#: builtin/am.c:2261
 msgid "do not pass --keep-cr flag to git-mailsplit independent of am.keepcr"
 msgstr ""
 "без подаване на опцията „--keep-cr“ на командата „git-mailsplit“ независимо "
 "от „am.keepcr“"
 
-#: builtin/am.c:2269
+#: builtin/am.c:2264
 msgid "strip everything before a scissors line"
 msgstr "пропускане на всичко преди реда за отрязване"
 
-#: builtin/am.c:2270 builtin/apply.c:4546
-msgid "action"
-msgstr "действие"
-
-#: builtin/am.c:2271 builtin/am.c:2274 builtin/am.c:2277 builtin/am.c:2280
-#: builtin/am.c:2283 builtin/am.c:2286 builtin/am.c:2289 builtin/am.c:2292
-#: builtin/am.c:2298
+#: builtin/am.c:2266 builtin/am.c:2269 builtin/am.c:2272 builtin/am.c:2275
+#: builtin/am.c:2278 builtin/am.c:2281 builtin/am.c:2284 builtin/am.c:2287
+#: builtin/am.c:2293
 msgid "pass it through git-apply"
 msgstr "прекарване през „git-apply“"
 
-#: builtin/am.c:2279 builtin/apply.c:4570
-msgid "root"
-msgstr "НАЧАЛНА_ДИРЕКТОРИЯ"
-
-#: builtin/am.c:2282 builtin/am.c:2285 builtin/apply.c:4508
-#: builtin/apply.c:4511 builtin/clone.c:90 builtin/fetch.c:95
-#: builtin/pull.c:179 builtin/submodule--helper.c:277
-#: builtin/submodule--helper.c:404 builtin/submodule--helper.c:485
-#: builtin/submodule--helper.c:488 builtin/submodule--helper.c:767
-#: builtin/submodule--helper.c:770
-msgid "path"
-msgstr "път"
-
-#: builtin/am.c:2288 builtin/fmt-merge-msg.c:666 builtin/fmt-merge-msg.c:669
-#: builtin/grep.c:706 builtin/merge.c:199 builtin/pull.c:134 builtin/pull.c:193
-#: builtin/repack.c:178 builtin/repack.c:182 builtin/show-branch.c:645
+#: builtin/am.c:2283 builtin/fmt-merge-msg.c:662 builtin/fmt-merge-msg.c:665
+#: builtin/grep.c:707 builtin/merge.c:200 builtin/pull.c:135 builtin/pull.c:194
+#: builtin/repack.c:181 builtin/repack.c:185 builtin/show-branch.c:644
 #: builtin/show-ref.c:175 builtin/tag.c:340 parse-options.h:132
-#: parse-options.h:134 parse-options.h:244
+#: parse-options.h:134 parse-options.h:245
 msgid "n"
 msgstr "БРОЙ"
 
-#: builtin/am.c:2291 builtin/apply.c:4514
-msgid "num"
-msgstr "БРОЙ"
-
-#: builtin/am.c:2294 builtin/for-each-ref.c:37 builtin/replace.c:438
+#: builtin/am.c:2289 builtin/for-each-ref.c:37 builtin/replace.c:438
 #: builtin/tag.c:372
 msgid "format"
 msgstr "ФОРМАТ"
 
-#: builtin/am.c:2295
+#: builtin/am.c:2290
 msgid "format the patch(es) are in"
 msgstr "формат на кръпките"
 
-#: builtin/am.c:2301
+#: builtin/am.c:2296
 msgid "override error message when patch failure occurs"
 msgstr "избрано от вас съобщение за грешка при прилагане на кръпки"
 
-#: builtin/am.c:2303
+#: builtin/am.c:2298
 msgid "continue applying patches after resolving a conflict"
 msgstr "продължаване на прилагането на кръпки след коригирането на конфликт"
 
-#: builtin/am.c:2306
+#: builtin/am.c:2301
 msgid "synonyms for --continue"
 msgstr "синоними на „--continue“"
 
-#: builtin/am.c:2309
+#: builtin/am.c:2304
 msgid "skip the current patch"
 msgstr "прескачане на текущата кръпка"
 
-#: builtin/am.c:2312
+#: builtin/am.c:2307
 msgid "restore the original branch and abort the patching operation."
 msgstr ""
 "възстановяване на първоначалното състояние на клона и преустановяване на "
 "прилагането на кръпката."
 
-#: builtin/am.c:2316
+#: builtin/am.c:2311
 msgid "lie about committer date"
 msgstr "дата за подаване различна от първоначалната"
 
-#: builtin/am.c:2318
+#: builtin/am.c:2313
 msgid "use current timestamp for author date"
 msgstr "използване на текущото време като това за автор"
 
-#: builtin/am.c:2320 builtin/commit.c:1609 builtin/merge.c:228
-#: builtin/pull.c:164 builtin/revert.c:92 builtin/tag.c:355
+#: builtin/am.c:2315 builtin/commit.c:1605 builtin/merge.c:229
+#: builtin/pull.c:165 builtin/revert.c:92 builtin/tag.c:355
 msgid "key-id"
 msgstr "ИДЕНТИФИКАТОР_НА_КЛЮЧ"
 
-#: builtin/am.c:2321
+#: builtin/am.c:2316
 msgid "GPG-sign commits"
 msgstr "подписване на подаванията с GPG"
 
-#: builtin/am.c:2324
+#: builtin/am.c:2319
 msgid "(internal use for git-rebase)"
 msgstr "(ползва се вътрешно за „git-rebase“)"
 
-#: builtin/am.c:2339
+#: builtin/am.c:2334
 msgid ""
 "The -b/--binary option has been a no-op for long time, and\n"
 "it will be removed. Please do not use it anymore."
 msgstr ""
 "Опциите „-b“/„--binary“ отдавна не правят нищо и\n"
-"ще бъдат премахнати в бъдеще. Не ги ползвайте."
+"ще бъдат премахнати в бъдеще.  Не ги ползвайте."
 
-#: builtin/am.c:2346
+#: builtin/am.c:2341
 msgid "failed to read the index"
 msgstr "неуспешно изчитане на индекса"
 
-#: builtin/am.c:2361
+#: builtin/am.c:2356
 #, c-format
 msgid "previous rebase directory %s still exists but mbox given."
 msgstr ""
 "предишната директория за пребазиране „%s“ все още съществува, а е зададен "
 "файл „mbox“."
 
-#: builtin/am.c:2385
+#: builtin/am.c:2380
 #, c-format
 msgid ""
 "Stray %s directory found.\n"
@@ -3298,512 +4683,14 @@
 "Открита е излишна директория „%s“.\n"
 "Можете да я изтриете с командата „git am --abort“."
 
-#: builtin/am.c:2391
+#: builtin/am.c:2386
 msgid "Resolve operation not in progress, we are not resuming."
 msgstr "В момента не тече операция по коригиране и няма как да се продължи."
 
-#: builtin/apply.c:59
+#: builtin/apply.c:8
 msgid "git apply [<options>] [<patch>...]"
 msgstr "git apply [ОПЦИЯ…] [КРЪПКА…]"
 
-#: builtin/apply.c:111
-#, c-format
-msgid "unrecognized whitespace option '%s'"
-msgstr "непозната опция за знаците за интервали „%s“"
-
-#: builtin/apply.c:126
-#, c-format
-msgid "unrecognized whitespace ignore option '%s'"
-msgstr "непозната опция за игнориране на знаците за интервали „%s“"
-
-#: builtin/apply.c:818
-#, c-format
-msgid "Cannot prepare timestamp regexp %s"
-msgstr "Регулярният израз за времето „%s“ не може за бъде компилиран"
-
-#: builtin/apply.c:827
-#, c-format
-msgid "regexec returned %d for input: %s"
-msgstr "Регулярният израз върна %d при подадена последователност „%s“ на входа"
-
-#: builtin/apply.c:908
-#, c-format
-msgid "unable to find filename in patch at line %d"
-msgstr "Липсва име на файл на ред %d от кръпката"
-
-#: builtin/apply.c:937
-#, c-format
-msgid "git apply: bad git-diff - expected /dev/null, got %s on line %d"
-msgstr ""
-"git apply: лош изход от командата „git-diff“ — на ред %2$d се очакваше „/dev/"
-"null“, а бе получен „%1$s“"
-
-#: builtin/apply.c:942
-#, c-format
-msgid "git apply: bad git-diff - inconsistent new filename on line %d"
-msgstr ""
-"git apply: лош изход от командата „git-diff“ — на ред %d бе получено "
-"неправилно име на нов файл"
-
-#: builtin/apply.c:943
-#, c-format
-msgid "git apply: bad git-diff - inconsistent old filename on line %d"
-msgstr ""
-"git apply: лош изход от командата „git-diff“ — на ред %d бе получено "
-"неправилно име на стар файл"
-
-#: builtin/apply.c:949
-#, c-format
-msgid "git apply: bad git-diff - expected /dev/null on line %d"
-msgstr ""
-"git apply: лош изход от командата „git-diff“ — на ред %d се очакваше „/dev/"
-"null“"
-
-#: builtin/apply.c:1406
-#, c-format
-msgid "recount: unexpected line: %.*s"
-msgstr "при повторното преброяване бе получен неочакван ред: „%.*s“"
-
-#: builtin/apply.c:1463
-#, c-format
-msgid "patch fragment without header at line %d: %.*s"
-msgstr "част от кръпка без заглавна част на ред %d: %.*s"
-
-#: builtin/apply.c:1480
-#, c-format
-msgid ""
-"git diff header lacks filename information when removing %d leading pathname "
-"component (line %d)"
-msgid_plural ""
-"git diff header lacks filename information when removing %d leading pathname "
-"components (line %d)"
-msgstr[0] ""
-"След съкращаването на %d-та част от компонентите на пътя, в заглавната част "
-"на „git diff“ липсва информация за име на файл (ред: %d)"
-msgstr[1] ""
-"След съкращаването на първите %d части от компонентите на пътя, в заглавната "
-"част на „git diff“ липсва информация за име на файл (ред: %d)"
-
-#: builtin/apply.c:1646
-msgid "new file depends on old contents"
-msgstr "новият файл зависи от старото съдържание на файла"
-
-#: builtin/apply.c:1648
-msgid "deleted file still has contents"
-msgstr "изтритият файл не е празен"
-
-#: builtin/apply.c:1674
-#, c-format
-msgid "corrupt patch at line %d"
-msgstr "грешка в кръпката на ред %d"
-
-#: builtin/apply.c:1710
-#, c-format
-msgid "new file %s depends on old contents"
-msgstr "новият файл „%s“ зависи от старото съдържание на файла"
-
-#: builtin/apply.c:1712
-#, c-format
-msgid "deleted file %s still has contents"
-msgstr "изтритият файл „%s“ не е празен"
-
-#: builtin/apply.c:1715
-#, c-format
-msgid "** warning: file %s becomes empty but is not deleted"
-msgstr "● предупреждение: файлът „%s“ вече е празен, но не е изтрит"
-
-#: builtin/apply.c:1861
-#, c-format
-msgid "corrupt binary patch at line %d: %.*s"
-msgstr "грешка в двоичната кръпка на ред %d: %.*s"
-
-#: builtin/apply.c:1895
-#, c-format
-msgid "unrecognized binary patch at line %d"
-msgstr "неразпозната двоичната кръпка на ред %d"
-
-#: builtin/apply.c:2048
-#, c-format
-msgid "patch with only garbage at line %d"
-msgstr "кръпката е с изцяло повредени данни на ред %d"
-
-#: builtin/apply.c:2138
-#, c-format
-msgid "unable to read symlink %s"
-msgstr "символната връзка „%s“ не може да бъде прочетена"
-
-#: builtin/apply.c:2142
-#, c-format
-msgid "unable to open or read %s"
-msgstr "файлът „%s“ не може да бъде отворен или прочетен"
-
-#: builtin/apply.c:2775
-#, c-format
-msgid "invalid start of line: '%c'"
-msgstr "неправилно начало на ред: „%c“"
-
-#: builtin/apply.c:2894
-#, c-format
-msgid "Hunk #%d succeeded at %d (offset %d line)."
-msgid_plural "Hunk #%d succeeded at %d (offset %d lines)."
-msgstr[0] ""
-"%d-то парче код бе успешно приложено на ред %d (отместване от %d ред)."
-msgstr[1] ""
-"%d-то парче код бе успешно приложено на ред %d (отместване от %d реда)."
-
-#: builtin/apply.c:2906
-#, c-format
-msgid "Context reduced to (%ld/%ld) to apply fragment at %d"
-msgstr ""
-"Контекстът е намален на (%ld/%ld) за прилагането на парчето код на ред %d"
-
-#: builtin/apply.c:2912
-#, c-format
-msgid ""
-"while searching for:\n"
-"%.*s"
-msgstr ""
-"при търсене за:\n"
-"%.*s"
-
-#: builtin/apply.c:2932
-#, c-format
-msgid "missing binary patch data for '%s'"
-msgstr "липсват данните за двоичната кръпка за „%s“"
-
-#: builtin/apply.c:3033
-#, c-format
-msgid "binary patch does not apply to '%s'"
-msgstr "двоичната кръпка не може да бъде приложена върху „%s“"
-
-#: builtin/apply.c:3039
-#, c-format
-msgid "binary patch to '%s' creates incorrect result (expecting %s, got %s)"
-msgstr ""
-"двоичната кръпка за „%s“ води до неправилни резултати (очакваше се SHA1: "
-"„%s“, а бе получено: „%s“)"
-
-#: builtin/apply.c:3060
-#, c-format
-msgid "patch failed: %s:%ld"
-msgstr "неуспешно прилагане на кръпка: „%s:%ld“"
-
-#: builtin/apply.c:3184
-#, c-format
-msgid "cannot checkout %s"
-msgstr "„%s“ не може да се изтегли"
-
-#: builtin/apply.c:3229 builtin/apply.c:3240 builtin/apply.c:3285
-#, c-format
-msgid "read of %s failed"
-msgstr "неуспешно прочитане на „%s“"
-
-#: builtin/apply.c:3237
-#, c-format
-msgid "reading from '%s' beyond a symbolic link"
-msgstr "изчитане на „%s“ след проследяване на символна връзка"
-
-#: builtin/apply.c:3265 builtin/apply.c:3487
-#, c-format
-msgid "path %s has been renamed/deleted"
-msgstr "обектът с път „%s“ е преименуван или изтрит"
-
-#: builtin/apply.c:3346 builtin/apply.c:3501
-#, c-format
-msgid "%s: does not exist in index"
-msgstr "„%s“ не съществува в индекса"
-
-#: builtin/apply.c:3350 builtin/apply.c:3493 builtin/apply.c:3515
-#, c-format
-msgid "%s: %s"
-msgstr "„%s“: %s"
-
-#: builtin/apply.c:3355 builtin/apply.c:3509
-#, c-format
-msgid "%s: does not match index"
-msgstr "„%s“ не съответства на индекса"
-
-#: builtin/apply.c:3457
-msgid "removal patch leaves file contents"
-msgstr "изтриващата кръпка оставя файла непразен"
-
-#: builtin/apply.c:3526
-#, c-format
-msgid "%s: wrong type"
-msgstr "„%s“: неправилен вид"
-
-#: builtin/apply.c:3528
-#, c-format
-msgid "%s has type %o, expected %o"
-msgstr "„%s“ е от вид „%o“, а се очакваше „%o“"
-
-#: builtin/apply.c:3687 builtin/apply.c:3689
-#, c-format
-msgid "invalid path '%s'"
-msgstr "неправилен път: „%s“"
-
-#: builtin/apply.c:3744
-#, c-format
-msgid "%s: already exists in index"
-msgstr "„%s“: вече съществува в индекса"
-
-#: builtin/apply.c:3747
-#, c-format
-msgid "%s: already exists in working directory"
-msgstr "„%s“: вече съществува в работното дърво"
-
-#: builtin/apply.c:3767
-#, c-format
-msgid "new mode (%o) of %s does not match old mode (%o)"
-msgstr "новите права за достъп (%o) на „%s“ не съвпадат със старите (%o)"
-
-#: builtin/apply.c:3772
-#, c-format
-msgid "new mode (%o) of %s does not match old mode (%o) of %s"
-msgstr ""
-"новите права за достъп (%o) на „%s“ не съвпадат със старите (%o) на „%s“"
-
-#: builtin/apply.c:3792
-#, c-format
-msgid "affected file '%s' is beyond a symbolic link"
-msgstr "засегнатият файл „%s“ е след символна връзка"
-
-#: builtin/apply.c:3796
-#, c-format
-msgid "%s: patch does not apply"
-msgstr "Кръпката „%s“ не може да бъде приложена"
-
-#: builtin/apply.c:3810
-#, c-format
-msgid "Checking patch %s..."
-msgstr "Проверяване на кръпката „%s“…"
-
-#: builtin/apply.c:3903 builtin/checkout.c:233 builtin/reset.c:135
-#, c-format
-msgid "make_cache_entry failed for path '%s'"
-msgstr "неуспешно създаване на запис в кеша чрез „make_cache_entry“ за „%s“"
-
-#: builtin/apply.c:4046
-#, c-format
-msgid "unable to remove %s from index"
-msgstr "„%s“ не може да се извади от индекса"
-
-#: builtin/apply.c:4075
-#, c-format
-msgid "corrupt patch for submodule %s"
-msgstr "повредена кръпка за модула „%s“"
-
-#: builtin/apply.c:4079
-#, c-format
-msgid "unable to stat newly created file '%s'"
-msgstr ""
-"не може да се получи информация чрез „stat“ за новосъздадения файл „%s“"
-
-#: builtin/apply.c:4084
-#, c-format
-msgid "unable to create backing store for newly created file %s"
-msgstr ""
-"не може да се за създаде мястото за съхранение на новосъздадения файл „%s“"
-
-#: builtin/apply.c:4087 builtin/apply.c:4195
-#, c-format
-msgid "unable to add cache entry for %s"
-msgstr "не може да се добави запис в кеша за „%s“"
-
-#: builtin/apply.c:4120
-#, c-format
-msgid "closing file '%s'"
-msgstr "затваряне на файла „%s“"
-
-#: builtin/apply.c:4169
-#, c-format
-msgid "unable to write file '%s' mode %o"
-msgstr "файлът „%s“ не може да се запише с режим на достъп „%o“"
-
-#: builtin/apply.c:4256
-#, c-format
-msgid "Applied patch %s cleanly."
-msgstr "Кръпката „%s“ бе приложена чисто."
-
-#: builtin/apply.c:4264
-msgid "internal error"
-msgstr "вътрешна грешка"
-
-#: builtin/apply.c:4267
-#, c-format
-msgid "Applying patch %%s with %d reject..."
-msgid_plural "Applying patch %%s with %d rejects..."
-msgstr[0] "Прилагане на кръпката „%%s“ с %d отхвърлено парче…"
-msgstr[1] "Прилагане на кръпката „%%s“ с %d отхвърлени парчета…"
-
-#: builtin/apply.c:4277
-#, c-format
-msgid "truncating .rej filename to %.*s.rej"
-msgstr "съкращаване на името на файла с отхвърлените парчета на „ %.*s.rej“"
-
-#: builtin/apply.c:4285
-#, c-format
-msgid "cannot open %s: %s"
-msgstr "файлът „%s“ не може да бъде отворен: %s"
-
-#: builtin/apply.c:4298
-#, c-format
-msgid "Hunk #%d applied cleanly."
-msgstr "%d-то парче бе успешно приложено."
-
-#: builtin/apply.c:4301
-#, c-format
-msgid "Rejected hunk #%d."
-msgstr "%d-то парче бе отхвърлено."
-
-#: builtin/apply.c:4387
-#, c-format
-msgid "Skipped patch '%s'."
-msgstr "Пропусната кръпка: „%s“"
-
-#: builtin/apply.c:4395
-msgid "unrecognized input"
-msgstr "непознат вход"
-
-#: builtin/apply.c:4406
-msgid "unable to read index file"
-msgstr "индексът не може да бъде записан"
-
-#: builtin/apply.c:4509
-msgid "don't apply changes matching the given path"
-msgstr "без прилагане на промените напасващи на дадения път"
-
-#: builtin/apply.c:4512
-msgid "apply changes matching the given path"
-msgstr "прилагане на промените напасващи на дадения път"
-
-#: builtin/apply.c:4515
-msgid "remove <num> leading slashes from traditional diff paths"
-msgstr "премахване на този БРОЙ водещи елементи от пътищата в разликата"
-
-#: builtin/apply.c:4518
-msgid "ignore additions made by the patch"
-msgstr "игнориране на редовете добавени от тази кръпка"
-
-#: builtin/apply.c:4520
-msgid "instead of applying the patch, output diffstat for the input"
-msgstr "извеждане на статистика на промените без прилагане на кръпката"
-
-#: builtin/apply.c:4524
-msgid "show number of added and deleted lines in decimal notation"
-msgstr "извеждане на броя на добавените и изтритите редове"
-
-#: builtin/apply.c:4526
-msgid "instead of applying the patch, output a summary for the input"
-msgstr "извеждане на статистика на входните данни без прилагане на кръпката"
-
-#: builtin/apply.c:4528
-msgid "instead of applying the patch, see if the patch is applicable"
-msgstr "проверка дали кръпката може да се приложи, без действително прилагане"
-
-#: builtin/apply.c:4530
-msgid "make sure the patch is applicable to the current index"
-msgstr "проверка дали кръпката може да бъде приложена към текущия индекс"
-
-#: builtin/apply.c:4532
-msgid "apply a patch without touching the working tree"
-msgstr "прилагане на кръпката без промяна на работното дърво"
-
-#: builtin/apply.c:4534
-msgid "accept a patch that touches outside the working area"
-msgstr "прилагане на кръпка, която променя и файлове извън работното дърво"
-
-#: builtin/apply.c:4536
-msgid "also apply the patch (use with --stat/--summary/--check)"
-msgstr ""
-"кръпката да бъде приложена. Опцията се комбинира с „--check“/„--stat“/„--"
-"summary“"
-
-#: builtin/apply.c:4538
-msgid "attempt three-way merge if a patch does not apply"
-msgstr "пробване с тройно сливане, ако кръпката не може да се приложи директно"
-
-#: builtin/apply.c:4540
-msgid "build a temporary index based on embedded index information"
-msgstr ""
-"създаване на временен индекс на база на включената информация за индекса"
-
-#: builtin/apply.c:4543 builtin/checkout-index.c:169 builtin/ls-files.c:425
-msgid "paths are separated with NUL character"
-msgstr "разделяне на пътищата с нулевия знак „NUL“"
-
-#: builtin/apply.c:4545
-msgid "ensure at least <n> lines of context match"
-msgstr "да се осигури контекст от поне такъв БРОЙ съвпадащи редове"
-
-#: builtin/apply.c:4547
-msgid "detect new or modified lines that have whitespace errors"
-msgstr "засичане на нови или променени редове с грешки в знаците за интервали"
-
-#: builtin/apply.c:4550 builtin/apply.c:4553
-msgid "ignore changes in whitespace when finding context"
-msgstr ""
-"игнориране на промените в знаците за интервали при откриване на контекста"
-
-#: builtin/apply.c:4556
-msgid "apply the patch in reverse"
-msgstr "прилагане на кръпката в обратна посока"
-
-#: builtin/apply.c:4558
-msgid "don't expect at least one line of context"
-msgstr "без изискване на дори и един ред контекст"
-
-#: builtin/apply.c:4560
-msgid "leave the rejected hunks in corresponding *.rej files"
-msgstr "оставяне на отхвърлените парчета във файлове с разширение „.rej“"
-
-#: builtin/apply.c:4562
-msgid "allow overlapping hunks"
-msgstr "позволяване на застъпващи се парчета"
-
-#: builtin/apply.c:4565
-msgid "tolerate incorrectly detected missing new-line at the end of file"
-msgstr "пренебрегване на неправилно липсващ знак за нов ред в края на файл"
-
-#: builtin/apply.c:4568
-msgid "do not trust the line counts in the hunk headers"
-msgstr "без доверяване на номерата на редовете в заглавните части на парчетата"
-
-#: builtin/apply.c:4571
-msgid "prepend <root> to all filenames"
-msgstr "добавяне на тази НАЧАЛНА_ДИРЕКТОРИЯ към имената на всички файлове"
-
-#: builtin/apply.c:4593
-msgid "--3way outside a repository"
-msgstr "като „--3way“, но извън хранилище"
-
-#: builtin/apply.c:4601
-msgid "--index outside a repository"
-msgstr "като „--index“, но извън хранилище"
-
-#: builtin/apply.c:4604
-msgid "--cached outside a repository"
-msgstr "като „--cached“, но извън хранилище"
-
-#: builtin/apply.c:4623
-#, c-format
-msgid "can't open patch '%s'"
-msgstr "кръпката „%s“ не може да бъде отворена"
-
-#: builtin/apply.c:4637
-#, c-format
-msgid "squelched %d whitespace error"
-msgid_plural "squelched %d whitespace errors"
-msgstr[0] "пренебрегната е %d грешка в знаците за интервали"
-msgstr[1] "пренебрегнати са %d грешки в знаците за интервали"
-
-#: builtin/apply.c:4643 builtin/apply.c:4653
-#, c-format
-msgid "%d line adds whitespace errors."
-msgid_plural "%d lines add whitespace errors."
-msgstr[0] "%d ред добавя грешки в знаците за интервали."
-msgstr[1] "%d реда добавят грешки в знаците за интервали."
-
 #: builtin/archive.c:17
 #, c-format
 msgid "could not create archive file '%s'"
@@ -3860,135 +4747,188 @@
 msgid "<rev-opts> are documented in git-rev-list(1)"
 msgstr "ОПЦИИте_ЗА_ВЕРСИЯТА са документирани в ръководството git-rev-list(1)"
 
-#: builtin/blame.c:1782
+#: builtin/blame.c:1781
 msgid "Blaming lines"
 msgstr "Анотирани редове"
 
-#: builtin/blame.c:2531
+#: builtin/blame.c:2577
 msgid "Show blame entries as we find them, incrementally"
 msgstr "Извеждане на анотациите с намирането им, последователно"
 
-# FIXME SHA-1 -> SHA1
-#: builtin/blame.c:2532
+#: builtin/blame.c:2578
 msgid "Show blank SHA-1 for boundary commits (Default: off)"
 msgstr ""
 "Извеждане на празни суми по SHA1 за граничните подавания (стандартно опцията "
 "е изключена)"
 
-#: builtin/blame.c:2533
+#: builtin/blame.c:2579
 msgid "Do not treat root commits as boundaries (Default: off)"
 msgstr ""
 "Началните подавания да не се считат за гранични (стандартно опцията е "
 "изключена)"
 
-#: builtin/blame.c:2534
+#: builtin/blame.c:2580
 msgid "Show work cost statistics"
 msgstr "Извеждане на статистика за извършените действия"
 
-#: builtin/blame.c:2535
+#: builtin/blame.c:2581
 msgid "Force progress reporting"
 msgstr "Принудително извеждане на напредъка"
 
-#: builtin/blame.c:2536
+#: builtin/blame.c:2582
 msgid "Show output score for blame entries"
 msgstr "Извеждане на допълнителна информация за определянето на анотациите"
 
-#: builtin/blame.c:2537
+#: builtin/blame.c:2583
 msgid "Show original filename (Default: auto)"
 msgstr ""
 "Извеждане на първоначалното име на файл (стандартно това е автоматично)"
 
-#: builtin/blame.c:2538
+#: builtin/blame.c:2584
 msgid "Show original linenumber (Default: off)"
 msgstr ""
 "Извеждане на първоначалният номер на ред (стандартно опцията е изключена)"
 
-#: builtin/blame.c:2539
+#: builtin/blame.c:2585
 msgid "Show in a format designed for machine consumption"
 msgstr "Извеждане във формат за по-нататъшна обработка"
 
-#: builtin/blame.c:2540
+#: builtin/blame.c:2586
 msgid "Show porcelain format with per-line commit information"
 msgstr ""
 "Извеждане във формат за команди от потребителско ниво с информация на всеки "
 "ред"
 
-#: builtin/blame.c:2541
+#: builtin/blame.c:2587
 msgid "Use the same output mode as git-annotate (Default: off)"
 msgstr ""
 "Използване на същия формат като „git-annotate“ (стандартно опцията е "
 "изключена)"
 
-#: builtin/blame.c:2542
+#: builtin/blame.c:2588
 msgid "Show raw timestamp (Default: off)"
 msgstr "Извеждане на неформатирани времена (стандартно опцията е изключена)"
 
-#: builtin/blame.c:2543
+#: builtin/blame.c:2589
 msgid "Show long commit SHA1 (Default: off)"
 msgstr "Извеждане на пълните суми по SHA1 (стандартно опцията е изключена)"
 
-#: builtin/blame.c:2544
+#: builtin/blame.c:2590
 msgid "Suppress author name and timestamp (Default: off)"
 msgstr "Без име на автор и време на промяна (стандартно опцията е изключена)"
 
-#: builtin/blame.c:2545
+#: builtin/blame.c:2591
 msgid "Show author email instead of name (Default: off)"
 msgstr ""
 "Извеждане на е-пощата на автора, а не името му (стандартно опцията е "
 "изключена)"
 
-#: builtin/blame.c:2546
+#: builtin/blame.c:2592
 msgid "Ignore whitespace differences"
 msgstr "Без разлики в знаците за интервали"
 
-#: builtin/blame.c:2547
+#: builtin/blame.c:2599
+msgid "Use an experimental indent-based heuristic to improve diffs"
+msgstr "Подобряване на разликите чрез експериментална евристика според отстъпа"
+
+#: builtin/blame.c:2600
+msgid "Use an experimental blank-line-based heuristic to improve diffs"
+msgstr ""
+"Подобряване на разликите чрез експериментална евристика според празните "
+"редове"
+
+#: builtin/blame.c:2602
 msgid "Spend extra cycles to find better match"
 msgstr "Допълнителни изчисления за по-добри резултати"
 
-#: builtin/blame.c:2548
+#: builtin/blame.c:2603
 msgid "Use revisions from <file> instead of calling git-rev-list"
 msgstr "Изчитане на версиите от ФАЙЛ, а не чрез изпълнение на „git-rev-list“"
 
-#: builtin/blame.c:2549
+#: builtin/blame.c:2604
 msgid "Use <file>'s contents as the final image"
 msgstr "Използване на съдържанието на ФАЙЛа като крайно положение"
 
-#: builtin/blame.c:2550 builtin/blame.c:2551
+#: builtin/blame.c:2605 builtin/blame.c:2606
 msgid "score"
 msgstr "напасване на редовете"
 
-#: builtin/blame.c:2550
+#: builtin/blame.c:2605
 msgid "Find line copies within and across files"
 msgstr ""
 "Търсене на копирани редове както в рамките на един файл, така и от един файл "
 "към друг"
 
-#: builtin/blame.c:2551
+#: builtin/blame.c:2606
 msgid "Find line movements within and across files"
 msgstr ""
 "Търсене на преместени редове както в рамките на един файл, така и от един "
 "файл към друг"
 
-#: builtin/blame.c:2552
+#: builtin/blame.c:2607
 msgid "n,m"
 msgstr "n,m"
 
-#: builtin/blame.c:2552
+#: builtin/blame.c:2607
 msgid "Process only line range n,m, counting from 1"
 msgstr ""
-"Информация само за редовете в интервала от n до m включително. Броенето "
+"Информация само за редовете в диапазона от n до m включително.  Броенето "
 "започва от 1"
 
+#: builtin/blame.c:2654
+msgid "--progress can't be used with --incremental or porcelain formats"
+msgstr ""
+"опцията „--progress“ е несъвместима с „--incremental“ и форма̀та на командите "
+"от потребителско ниво"
+
 #. TRANSLATORS: This string is used to tell us the maximum
 #. display width for a relative timestamp in "git blame"
 #. output.  For C locale, "4 years, 11 months ago", which
 #. takes 22 places, is the longest among various forms of
 #. relative timestamps, but your language may need more or
 #. fewer display columns.
-#: builtin/blame.c:2641
+#: builtin/blame.c:2700
 msgid "4 years, 11 months ago"
 msgstr "преди 4 години и 11 месеца"
 
+#: builtin/blame.c:2780
+msgid "--contents and --reverse do not blend well."
+msgstr "Опциите „--contents“ и „--reverse“ са несъвместими"
+
+#: builtin/blame.c:2800
+msgid "cannot use --contents with final commit object name"
+msgstr "Опцията „--contents“ е несъвместима с име на обект от крайно подаване"
+
+#: builtin/blame.c:2805
+msgid "--reverse and --first-parent together require specified latest commit"
+msgstr ""
+"Едновременното задаване на опциите „--reverse“ и „--first-parent“ изисква "
+"указването на крайно подаване"
+
+#: builtin/blame.c:2832
+msgid ""
+"--reverse --first-parent together require range along first-parent chain"
+msgstr ""
+"Едновременното задаване на опциите „--reverse“ и „--first-parent“ изисква "
+"указването на диапазон по веригата на първите наследници"
+
+#: builtin/blame.c:2843
+#, c-format
+msgid "no such path %s in %s"
+msgstr "няма път на име „%s“ в „%s“"
+
+#: builtin/blame.c:2854
+#, c-format
+msgid "cannot read blob %s for path %s"
+msgstr "обектът BLOB „%s“ в пътя %s не може да бъде прочетен"
+
+#: builtin/blame.c:2873
+#, c-format
+msgid "file %s has only %lu line"
+msgid_plural "file %s has only %lu lines"
+msgstr[0] "има само %2$lu ред във файла „%1$s“"
+msgstr[1] "има само %2$lu реда във файла „%1$s“"
+
 #: builtin/branch.c:26
 msgid "git branch [<options>] [-r | -a] [--merged | --no-merged]"
 msgstr "git branch [ОПЦИЯ…] [-r | -a] [--merged | --no-merged]"
@@ -4038,7 +4978,7 @@
 "The branch '%s' is not fully merged.\n"
 "If you are sure you want to delete it, run 'git branch -D %s'."
 msgstr ""
-"Клонът „%s“ не е слят напълно. Ако сте сигурни, че искате\n"
+"Клонът „%s“ не е слят напълно.  Ако сте сигурни, че искате\n"
 "да го изтриете, изпълнете „git branch -D %s“."
 
 #: builtin/branch.c:178
@@ -4088,119 +5028,126 @@
 msgid "Deleted branch %s (was %s).\n"
 msgstr "Изтрит клон „%s“ (той сочеше към „%s“).\n"
 
-#: builtin/branch.c:309
+#: builtin/branch.c:312
 #, c-format
 msgid "[%s: gone]"
 msgstr "[%s: изтрит]"
 
-#: builtin/branch.c:314
+#: builtin/branch.c:317
 #, c-format
 msgid "[%s]"
 msgstr "[%s]"
 
-#: builtin/branch.c:319
+#: builtin/branch.c:322
 #, c-format
 msgid "[%s: behind %d]"
 msgstr "[%s: назад с %d]"
 
-#: builtin/branch.c:321
+#: builtin/branch.c:324
 #, c-format
 msgid "[behind %d]"
 msgstr "[назад с %d]"
 
-#: builtin/branch.c:325
+#: builtin/branch.c:328
 #, c-format
 msgid "[%s: ahead %d]"
 msgstr "[%s: напред с %d]"
 
-#: builtin/branch.c:327
+#: builtin/branch.c:330
 #, c-format
 msgid "[ahead %d]"
 msgstr "[напред с %d]"
 
-#: builtin/branch.c:330
+#: builtin/branch.c:333
 #, c-format
 msgid "[%s: ahead %d, behind %d]"
 msgstr "[%s: напред с %d, назад с %d]"
 
-#: builtin/branch.c:333
+#: builtin/branch.c:336
 #, c-format
 msgid "[ahead %d, behind %d]"
 msgstr "[напред с %d, назад с %d]"
 
-#: builtin/branch.c:346
+#: builtin/branch.c:349
 msgid " **** invalid ref ****"
 msgstr " ●●● неправилен указател ●●●"
 
-#: builtin/branch.c:372
+#: builtin/branch.c:375
 #, c-format
 msgid "(no branch, rebasing %s)"
 msgstr "(извън клон, пребазиране на „%s“)"
 
-#: builtin/branch.c:375
+#: builtin/branch.c:378
 #, c-format
 msgid "(no branch, bisect started on %s)"
 msgstr "(извън клон, двоично търсене от „%s“)"
 
 #. TRANSLATORS: make sure this matches
 #. "HEAD detached at " in wt-status.c
-#: builtin/branch.c:381
+#: builtin/branch.c:384
 #, c-format
 msgid "(HEAD detached at %s)"
 msgstr "(Указателят „HEAD“ не е свързан и е при „%s“)"
 
 #. TRANSLATORS: make sure this matches
 #. "HEAD detached from " in wt-status.c
-#: builtin/branch.c:386
+#: builtin/branch.c:389
 #, c-format
 msgid "(HEAD detached from %s)"
 msgstr "Указателят „HEAD“ не е свързан и е отделѐн от „%s“"
 
-#: builtin/branch.c:390
+#: builtin/branch.c:393
 msgid "(no branch)"
 msgstr "(извън клон)"
 
-#: builtin/branch.c:541
+#: builtin/branch.c:544
 #, c-format
 msgid "Branch %s is being rebased at %s"
 msgstr "Клонът „%s“ се пребазира върху „%s“"
 
-#: builtin/branch.c:545
+#: builtin/branch.c:548
 #, c-format
 msgid "Branch %s is being bisected at %s"
 msgstr "Търси се двоично в клона „%s“ при „%s“"
 
-#: builtin/branch.c:560
+#: builtin/branch.c:563
 msgid "cannot rename the current branch while not on any."
 msgstr ""
 "не можете да преименувате текущия клон, защото сте извън който и да е клон"
 
-#: builtin/branch.c:570
+#: builtin/branch.c:573
 #, c-format
 msgid "Invalid branch name: '%s'"
 msgstr "Неправилно име на клон: „%s“"
 
-#: builtin/branch.c:587
+#: builtin/branch.c:590
 msgid "Branch rename failed"
 msgstr "Неуспешно преименуване на клон"
 
-#: builtin/branch.c:591
+#: builtin/branch.c:594
 #, c-format
 msgid "Renamed a misnamed branch '%s' away"
 msgstr "На клона с неправилно име „%s“ е дадено служебно име"
 
-#: builtin/branch.c:594
+#: builtin/branch.c:597
 #, c-format
 msgid "Branch renamed to %s, but HEAD is not updated!"
 msgstr "Клонът е преименуван на „%s“, но указателят „HEAD“ не е обновен"
 
-#: builtin/branch.c:601
+#: builtin/branch.c:604
 msgid "Branch is renamed, but update of config-file failed"
 msgstr "Клонът е преименуван, но конфигурационният файл не е обновен"
 
-#: builtin/branch.c:623
-msgid "could not write branch description template"
-msgstr "шаблонът за описание на клон не бе записан"
+#: builtin/branch.c:620
+#, c-format
+msgid ""
+"Please edit the description for the branch\n"
+"  %s\n"
+"Lines starting with '%c' will be stripped.\n"
+msgstr ""
+"Въведете описание на клона.\n"
+"  %s\n"
+"Редовете, които започват с „%c“, ще бъдат пропуснати.\n"
 
 #: builtin/branch.c:651
 msgid "Generic options"
@@ -4209,7 +5156,8 @@
 #: builtin/branch.c:653
 msgid "show hash and subject, give twice for upstream branch"
 msgstr ""
-"извеждане на хеша и темата. Повтарянето на опцията прибавя отдалечените клони"
+"извеждане на хеша и темата.  Повтарянето на опцията прибавя отдалечените "
+"клони"
 
 #: builtin/branch.c:654
 msgid "suppress informational messages"
@@ -4231,6 +5179,10 @@
 msgid "change the upstream info"
 msgstr "смяна на клона-източник"
 
+#: builtin/branch.c:660
+msgid "Unset the upstream info"
+msgstr "без клон-източник"
+
 #: builtin/branch.c:661
 msgid "use colored output"
 msgstr "цветен изход"
@@ -4304,8 +5256,8 @@
 msgid "field name to sort on"
 msgstr "име на полето, по което да е подредбата"
 
-#: builtin/branch.c:686 builtin/for-each-ref.c:41 builtin/notes.c:401
-#: builtin/notes.c:404 builtin/notes.c:564 builtin/notes.c:567
+#: builtin/branch.c:686 builtin/for-each-ref.c:41 builtin/notes.c:404
+#: builtin/notes.c:407 builtin/notes.c:567 builtin/notes.c:570
 #: builtin/tag.c:369
 msgid "object"
 msgstr "ОБЕКТ"
@@ -4318,7 +5270,7 @@
 msgid "Failed to resolve HEAD as a valid ref."
 msgstr "Не може да се открие към какво сочи указателят „HEAD“"
 
-#: builtin/branch.c:709 builtin/clone.c:707
+#: builtin/branch.c:709 builtin/clone.c:706
 msgid "HEAD not found below refs/heads!"
 msgstr "В директорията „refs/heads“ липсва файл „HEAD“"
 
@@ -4332,7 +5284,7 @@
 
 #: builtin/branch.c:758
 msgid "Cannot give description to detached HEAD"
-msgstr "Не може да зададете описание на „HEAD“ извън клон"
+msgstr "Не може да зададете описание на несвързан „HEAD“"
 
 #: builtin/branch.c:763
 msgid "cannot edit description of more than one branch"
@@ -4402,7 +5354,7 @@
 "The --set-upstream flag is deprecated and will be removed. Consider using --"
 "track or --set-upstream-to\n"
 msgstr ""
-"Опцията „--set-upstream“ вече е остаряла и предстои да бъде махната. "
+"Опцията „--set-upstream“ вече е остаряла и предстои да бъде махната.  "
 "Използвайте „--track“ или „--set-upstream-to“\n"
 
 #: builtin/branch.c:866
@@ -4429,70 +5381,87 @@
 msgid "Need a repository to unbundle."
 msgstr "За приемането на пратка е необходимо хранилище."
 
-#: builtin/cat-file.c:428
+#: builtin/cat-file.c:513
 msgid ""
-"git cat-file (-t [--allow-unknown-type]|-s [--allow-unknown-type]|-e|-p|"
-"<type>|--textconv) <object>"
+"git cat-file (-t [--allow-unknown-type] | -s [--allow-unknown-type] | -e | -"
+"p | <type> | --textconv | --filters) [--path=<path>] <object>"
 msgstr ""
 "git cat-file (-t [--allow-unknown-type] | -s [--allow-unknown-type] | -e | -"
-"p | ВИД | --textconv) ОБЕКТ"
+"p | ВИД | --textconv --filters) [--path=ПЪТ] ОБЕКТ"
 
-#: builtin/cat-file.c:429
-msgid "git cat-file (--batch | --batch-check) [--follow-symlinks]"
-msgstr "git cat-file (--batch | --batch-check) [--follow-symlinks]"
+#: builtin/cat-file.c:514
+msgid ""
+"git cat-file (--batch | --batch-check) [--follow-symlinks] [--textconv | --"
+"filters]"
+msgstr ""
+"git cat-file (--batch | --batch-check) [--follow-symlinks] [--textconv | --"
+"filters]"
 
-#: builtin/cat-file.c:466
+#: builtin/cat-file.c:551
 msgid "<type> can be one of: blob, tree, commit, tag"
 msgstr ""
 "ВИДът може да е: „blob“ (обект BLOB), „tree“ (дърво), „commit“ (подаване), "
 "„tag“ (етикет)"
 
-#: builtin/cat-file.c:467
+#: builtin/cat-file.c:552
 msgid "show object type"
 msgstr "извеждане на вида на обект"
 
-#: builtin/cat-file.c:468
+#: builtin/cat-file.c:553
 msgid "show object size"
 msgstr "извеждане на размера на обект"
 
-#: builtin/cat-file.c:470
+#: builtin/cat-file.c:555
 msgid "exit with zero when there's no error"
 msgstr "изход с 0, когато няма грешка"
 
-#: builtin/cat-file.c:471
+#: builtin/cat-file.c:556
 msgid "pretty-print object's content"
 msgstr "форматирано извеждане на съдържанието на обекта"
 
-#: builtin/cat-file.c:473
+#: builtin/cat-file.c:558
 msgid "for blob objects, run textconv on object's content"
 msgstr ""
 "да се стартира програмата зададена в настройката „textconv“ за преобразуване "
 "на съдържанието на обекта BLOB"
 
-#: builtin/cat-file.c:475
+#: builtin/cat-file.c:560
+msgid "for blob objects, run filters on object's content"
+msgstr ""
+"да се стартират програмите за преобразуване на съдържанието на обектите BLOB"
+
+#: builtin/cat-file.c:561 git-submodule.sh:923
+msgid "blob"
+msgstr "обект BLOB"
+
+#: builtin/cat-file.c:562
+msgid "use a specific path for --textconv/--filters"
+msgstr "опциите „--textconv“/„--filters“ изискват път"
+
+#: builtin/cat-file.c:564
 msgid "allow -s and -t to work with broken/corrupt objects"
 msgstr "позволяване на опциите „-s“ и „-t“ да работят с повредени обекти"
 
-#: builtin/cat-file.c:476
+#: builtin/cat-file.c:565
 msgid "buffer --batch output"
 msgstr "буфериране на изхода от „--batch“"
 
-#: builtin/cat-file.c:478
+#: builtin/cat-file.c:567
 msgid "show info and content of objects fed from the standard input"
 msgstr ""
 "извеждане на информация и съдържание на обектите подадени на стандартния вход"
 
-#: builtin/cat-file.c:481
+#: builtin/cat-file.c:570
 msgid "show info about objects fed from the standard input"
 msgstr "извеждане на информация за обектите подадени на стандартния вход"
 
-#: builtin/cat-file.c:484
+#: builtin/cat-file.c:573
 msgid "follow in-tree symlinks (used with --batch or --batch-check)"
 msgstr ""
 "следване на символните връзки сочещи в дървото (ползва се с „--batch“ или „--"
 "batch-check“)"
 
-#: builtin/cat-file.c:486
+#: builtin/cat-file.c:575
 msgid "show all objects with --batch or --batch-check"
 msgstr "извеждане на всички обекти с „--batch“ или „--batch-check“"
 
@@ -4512,7 +5481,7 @@
 msgid "use .gitattributes only from the index"
 msgstr "използване на файла „.gitattributes“ само от индекса"
 
-#: builtin/check-attr.c:21 builtin/check-ignore.c:22 builtin/hash-object.c:97
+#: builtin/check-attr.c:21 builtin/check-ignore.c:22 builtin/hash-object.c:98
 msgid "read file names from stdin"
 msgstr "изчитане на имената на файловете от стандартния вход"
 
@@ -4520,7 +5489,7 @@
 msgid "terminate input and output records by a NUL character"
 msgstr "разделяне на входните и изходните записи с нулевия знак „NUL“"
 
-#: builtin/check-ignore.c:18 builtin/checkout.c:1135 builtin/gc.c:325
+#: builtin/check-ignore.c:18 builtin/checkout.c:1137 builtin/gc.c:325
 msgid "suppress progress reporting"
 msgstr "без показване на напредъка"
 
@@ -4610,9 +5579,9 @@
 msgstr "записване на съдържанието във временни файлове"
 
 #: builtin/checkout-index.c:174 builtin/column.c:30
-#: builtin/submodule--helper.c:491 builtin/submodule--helper.c:494
-#: builtin/submodule--helper.c:497 builtin/submodule--helper.c:500
-#: builtin/submodule--helper.c:774
+#: builtin/submodule--helper.c:595 builtin/submodule--helper.c:598
+#: builtin/submodule--helper.c:604 builtin/submodule--helper.c:951
+#: builtin/worktree.c:469
 msgid "string"
 msgstr "НИЗ"
 
@@ -4679,63 +5648,59 @@
 msgstr ""
 "Невъзможно е едновременно да обновявате пътища и да преминете към клона „%s“."
 
-#: builtin/checkout.c:279 builtin/checkout.c:473
-msgid "corrupt index file"
-msgstr "повреден файл на индекса"
-
 #: builtin/checkout.c:339 builtin/checkout.c:346
 #, c-format
 msgid "path '%s' is unmerged"
 msgstr "пътят „%s“ не е слят"
 
-#: builtin/checkout.c:495
+#: builtin/checkout.c:494
 msgid "you need to resolve your current index first"
 msgstr "първо трябва да коригирате индекса си"
 
-#: builtin/checkout.c:622
+#: builtin/checkout.c:624
 #, c-format
 msgid "Can not do reflog for '%s': %s\n"
 msgstr "Журналът на указателите за „%s“ не може да се проследи: %s\n"
 
-#: builtin/checkout.c:660
+#: builtin/checkout.c:663
 msgid "HEAD is now at"
 msgstr "Указателят „HEAD“ в момента сочи към"
 
-#: builtin/checkout.c:664 builtin/clone.c:661
+#: builtin/checkout.c:667 builtin/clone.c:660
 msgid "unable to update HEAD"
 msgstr "Указателят „HEAD“ не може да бъде обновен"
 
-#: builtin/checkout.c:668
+#: builtin/checkout.c:671
 #, c-format
 msgid "Reset branch '%s'\n"
 msgstr "Зануляване на клона „%s“\n"
 
-#: builtin/checkout.c:671
+#: builtin/checkout.c:674
 #, c-format
 msgid "Already on '%s'\n"
 msgstr "Вече сте на „%s“\n"
 
-#: builtin/checkout.c:675
+#: builtin/checkout.c:678
 #, c-format
 msgid "Switched to and reset branch '%s'\n"
 msgstr "Преминаване към клона „%s“ и зануляване на промените\n"
 
-#: builtin/checkout.c:677 builtin/checkout.c:1067
+#: builtin/checkout.c:680 builtin/checkout.c:1069
 #, c-format
 msgid "Switched to a new branch '%s'\n"
 msgstr "Преминахте към новия клон „%s“\n"
 
-#: builtin/checkout.c:679
+#: builtin/checkout.c:682
 #, c-format
 msgid "Switched to branch '%s'\n"
 msgstr "Преминахте към клона „%s“\n"
 
-#: builtin/checkout.c:731
+#: builtin/checkout.c:733
 #, c-format
 msgid " ... and %d more.\n"
 msgstr "… и още %d.\n"
 
-#: builtin/checkout.c:737
+#: builtin/checkout.c:739
 #, c-format
 msgid ""
 "Warning: you are leaving %d commit behind, not connected to\n"
@@ -4757,7 +5722,7 @@
 "\n"
 "%s\n"
 
-#: builtin/checkout.c:756
+#: builtin/checkout.c:758
 #, c-format
 msgid ""
 "If you want to keep it by creating a new branch, this may be a good time\n"
@@ -4784,154 +5749,154 @@
 " git branch ИМЕ_НА_НОВИЯ_КЛОН %s\n"
 "\n"
 
-#: builtin/checkout.c:792
+#: builtin/checkout.c:794
 msgid "internal error in revision walk"
 msgstr "вътрешна грешка при обхождането на версиите"
 
-#: builtin/checkout.c:796
+#: builtin/checkout.c:798
 msgid "Previous HEAD position was"
 msgstr "Преди това „HEAD“ сочеше към"
 
-#: builtin/checkout.c:823 builtin/checkout.c:1062
+#: builtin/checkout.c:825 builtin/checkout.c:1064
 msgid "You are on a branch yet to be born"
 msgstr "В момента сте на клон, който предстои да бъде създаден"
 
-#: builtin/checkout.c:968
+#: builtin/checkout.c:970
 #, c-format
 msgid "only one reference expected, %d given."
 msgstr "очакваше се един указател, а сте подали %d."
 
-#: builtin/checkout.c:1008 builtin/worktree.c:212
+#: builtin/checkout.c:1010 builtin/worktree.c:214
 #, c-format
 msgid "invalid reference: %s"
 msgstr "неправилен указател: %s"
 
-#: builtin/checkout.c:1037
+#: builtin/checkout.c:1039
 #, c-format
 msgid "reference is not a tree: %s"
 msgstr "указателят не сочи към обект-дърво: %s"
 
-#: builtin/checkout.c:1076
+#: builtin/checkout.c:1078
 msgid "paths cannot be used with switching branches"
 msgstr "задаването на път е несъвместимо с преминаването от един клон към друг"
 
-#: builtin/checkout.c:1079 builtin/checkout.c:1083
+#: builtin/checkout.c:1081 builtin/checkout.c:1085
 #, c-format
 msgid "'%s' cannot be used with switching branches"
 msgstr "опцията „%s“ е несъвместима с преминаването от един клон към друг"
 
-#: builtin/checkout.c:1087 builtin/checkout.c:1090 builtin/checkout.c:1095
-#: builtin/checkout.c:1098
+#: builtin/checkout.c:1089 builtin/checkout.c:1092 builtin/checkout.c:1097
+#: builtin/checkout.c:1100
 #, c-format
 msgid "'%s' cannot be used with '%s'"
 msgstr "опцията „%s“ е несъвместима с „%s“"
 
-#: builtin/checkout.c:1103
+#: builtin/checkout.c:1105
 #, c-format
 msgid "Cannot switch branch to a non-commit '%s'"
 msgstr ""
-"За да преминете към клон, подайте указател, който сочи към подаване. „%s“ не "
-"е такъв"
+"За да преминете към клон, подайте указател, който сочи към подаване.  „%s“ "
+"не е такъв"
 
-#: builtin/checkout.c:1136 builtin/checkout.c:1138 builtin/clone.c:88
-#: builtin/remote.c:165 builtin/remote.c:167 builtin/worktree.c:323
-#: builtin/worktree.c:325
+#: builtin/checkout.c:1138 builtin/checkout.c:1140 builtin/clone.c:93
+#: builtin/remote.c:165 builtin/remote.c:167 builtin/worktree.c:324
+#: builtin/worktree.c:326
 msgid "branch"
 msgstr "клон"
 
-#: builtin/checkout.c:1137
+#: builtin/checkout.c:1139
 msgid "create and checkout a new branch"
 msgstr "създаване и преминаване към нов клон"
 
-#: builtin/checkout.c:1139
+#: builtin/checkout.c:1141
 msgid "create/reset and checkout a branch"
 msgstr "създаване/зануляване на клон и преминаване към него"
 
-#: builtin/checkout.c:1140
+#: builtin/checkout.c:1142
 msgid "create reflog for new branch"
 msgstr "създаване на журнал на указателите за нов клон"
 
-#: builtin/checkout.c:1141
-msgid "detach the HEAD at named commit"
+#: builtin/checkout.c:1143 builtin/worktree.c:328
+msgid "detach HEAD at named commit"
 msgstr "отделяне на указателя „HEAD“ към указаното подаване"
 
-#: builtin/checkout.c:1142
+#: builtin/checkout.c:1144
 msgid "set upstream info for new branch"
 msgstr "задаване на кой клон бива следен при създаването на новия клон"
 
-#: builtin/checkout.c:1144
+#: builtin/checkout.c:1146
 msgid "new-branch"
 msgstr "НОВ_КЛОН"
 
-#: builtin/checkout.c:1144
+#: builtin/checkout.c:1146
 msgid "new unparented branch"
 msgstr "нов клон без родител"
 
-#: builtin/checkout.c:1145
+#: builtin/checkout.c:1147
 msgid "checkout our version for unmerged files"
 msgstr "изтегляне на вашата версия на неслетите файлове"
 
-#: builtin/checkout.c:1147
+#: builtin/checkout.c:1149
 msgid "checkout their version for unmerged files"
 msgstr "изтегляне на чуждата версия на неслетите файлове"
 
-#: builtin/checkout.c:1149
+#: builtin/checkout.c:1151
 msgid "force checkout (throw away local modifications)"
 msgstr "принудително изтегляне (вашите промени ще бъдат занулени)"
 
-#: builtin/checkout.c:1150
+#: builtin/checkout.c:1152
 msgid "perform a 3-way merge with the new branch"
 msgstr "извършване на тройно сливане с новия клон"
 
-#: builtin/checkout.c:1151 builtin/merge.c:230
+#: builtin/checkout.c:1153 builtin/merge.c:231
 msgid "update ignored files (default)"
 msgstr "обновяване на игнорираните файлове (стандартно)"
 
-#: builtin/checkout.c:1152 builtin/log.c:1432 parse-options.h:250
+#: builtin/checkout.c:1154 builtin/log.c:1466 parse-options.h:251
 msgid "style"
 msgstr "СТИЛ"
 
-#: builtin/checkout.c:1153
+#: builtin/checkout.c:1155
 msgid "conflict style (merge or diff3)"
 msgstr "действие при конфликт (сливане или тройна разлика)"
 
-#: builtin/checkout.c:1156
+#: builtin/checkout.c:1158
 msgid "do not limit pathspecs to sparse entries only"
 msgstr "без ограничаване на изброените пътища само до частично изтеглените"
 
-#: builtin/checkout.c:1158
+#: builtin/checkout.c:1160
 msgid "second guess 'git checkout <no-such-branch>'"
 msgstr ""
 "опит за отгатване на име на клон след неуспешен опит с „git checkout "
 "НЕСЪЩЕСТВУВАЩ_КЛОН“"
 
-#: builtin/checkout.c:1160
+#: builtin/checkout.c:1162
 msgid "do not check if another worktree is holding the given ref"
 msgstr "без проверка дали друго работно дърво държи указателя"
 
-#: builtin/checkout.c:1161 builtin/clone.c:60 builtin/fetch.c:116
-#: builtin/merge.c:227 builtin/pull.c:116 builtin/push.c:526
+#: builtin/checkout.c:1163 builtin/clone.c:63 builtin/fetch.c:119
+#: builtin/merge.c:228 builtin/pull.c:117 builtin/push.c:536
 #: builtin/send-pack.c:168
 msgid "force progress reporting"
 msgstr "извеждане на напредъка"
 
-#: builtin/checkout.c:1192
+#: builtin/checkout.c:1194
 msgid "-b, -B and --orphan are mutually exclusive"
 msgstr "Опциите „-b“, „-B“ и „--orphan“ са несъвместими една с друга"
 
-#: builtin/checkout.c:1209
+#: builtin/checkout.c:1211
 msgid "--track needs a branch name"
 msgstr "опцията „--track“ изисква име на клон"
 
-#: builtin/checkout.c:1214
+#: builtin/checkout.c:1216
 msgid "Missing branch name; try -b"
 msgstr "Липсва име на клон, използвайте опцията „-b“"
 
-#: builtin/checkout.c:1250
+#: builtin/checkout.c:1252
 msgid "invalid path specification"
 msgstr "указан е неправилен път"
 
-#: builtin/checkout.c:1257
+#: builtin/checkout.c:1259
 #, c-format
 msgid ""
 "Cannot update paths and switch to branch '%s' at the same time.\n"
@@ -4940,12 +5905,12 @@
 "Не можете едновременно да обновявате пътища и да преминете към клона „%s“.\n"
 "Дали не искате да изтеглите „%s“, който не сочи към подаване?"
 
-#: builtin/checkout.c:1262
+#: builtin/checkout.c:1264
 #, c-format
 msgid "git checkout: --detach does not take a path argument '%s'"
 msgstr "git checkout: опцията „--detach“ не приема аргумент-път „%s“"
 
-#: builtin/checkout.c:1266
+#: builtin/checkout.c:1268
 msgid ""
 "git checkout: --ours/--theirs, --force and --merge are incompatible when\n"
 "checking out of the index."
@@ -5008,8 +5973,8 @@
 msgstr ""
 "Подсказка:\n"
 "1          — избор на един обект\n"
-"3-5        — интервал за избор на обекти\n"
-"2-3,6-9    — множество интервали за избор на обекти\n"
+"3-5        — диапазон за избор на обекти\n"
+"2-3,6-9    — множество диапазон за избор на обекти\n"
 "ПРЕФИКС    — избор на единствен обект по този уникален префикс\n"
 "-…         — отмяна на избора на обекти\n"
 "*          — избиране на всички обекти\n"
@@ -5018,9 +5983,8 @@
 #: builtin/clean.c:511
 #, c-format
 msgid "Huh (%s)?"
-msgstr "Неправилен избор (%s). Изберете отново."
+msgstr "Неправилен избор (%s).  Изберете отново."
 
-# FIXME - should we use >> or sth else
 #: builtin/clean.c:653
 #, c-format
 msgid "Input ignore patterns>> "
@@ -5041,7 +6005,7 @@
 msgid "Remove %s [y/N]? "
 msgstr "Да се изтрие ли „%s“? „y“ —  да, „N“ — НЕ"
 
-# FIXME improve message
+#
 #: builtin/clean.c:777
 msgid "Bye."
 msgstr "Изход."
@@ -5068,7 +6032,6 @@
 msgid "*** Commands ***"
 msgstr "●●● Команди ●●●"
 
-# FIXME improve message
 #: builtin/clean.c:813
 msgid "What now"
 msgstr "Избор на следващо действие"
@@ -5081,7 +6044,7 @@
 
 #: builtin/clean.c:838
 msgid "No more files to clean, exiting."
-msgstr "Файловете за изчистване свършиха. Изход от програмата."
+msgstr "Файловете за изчистване свършиха.  Изход от програмата."
 
 #: builtin/clean.c:869
 msgid "do not print names of files removed"
@@ -5099,8 +6062,8 @@
 msgid "remove whole directories"
 msgstr "изтриване на цели директории"
 
-#: builtin/clean.c:875 builtin/describe.c:407 builtin/grep.c:724
-#: builtin/ls-files.c:456 builtin/name-rev.c:314 builtin/show-ref.c:182
+#: builtin/clean.c:875 builtin/describe.c:407 builtin/grep.c:725
+#: builtin/ls-files.c:536 builtin/name-rev.c:313 builtin/show-ref.c:182
 msgid "pattern"
 msgstr "ШАБЛОН"
 
@@ -5126,7 +6089,7 @@
 "clean"
 msgstr ""
 "Настройката „clean.requireForce“ е зададена като истина, което изисква някоя "
-"от опциите „-i“, „-n“ или „-f“. Няма да се извърши изчистване"
+"от опциите „-i“, „-n“ или „-f“.  Няма да се извърши изчистване"
 
 #: builtin/clean.c:904
 msgid ""
@@ -5134,122 +6097,139 @@
 "refusing to clean"
 msgstr ""
 "Настройката „clean.requireForce“ не е зададена, но стандартно е истина, "
-"което изисква някоя от опциите „-i“, „-n“ или „-f“. Няма да се извърши "
+"което изисква някоя от опциите „-i“, „-n“ или „-f“.  Няма да се извърши "
 "изчистване"
 
 #: builtin/clone.c:37
 msgid "git clone [<options>] [--] <repo> [<dir>]"
 msgstr "git clone [ОПЦИЯ…] [--] ХРАНИЛИЩЕ [ДИРЕКТОРИЯ]"
 
-#: builtin/clone.c:62
+#: builtin/clone.c:65
 msgid "don't create a checkout"
 msgstr "без създаване на работно дърво"
 
-#: builtin/clone.c:63 builtin/clone.c:65 builtin/init-db.c:473
+#: builtin/clone.c:66 builtin/clone.c:68 builtin/init-db.c:478
 msgid "create a bare repository"
 msgstr "създаване на голо хранилище"
 
-#: builtin/clone.c:67
+#: builtin/clone.c:70
 msgid "create a mirror repository (implies bare)"
 msgstr ""
 "създаване на хранилище-огледало (включва опцията „--bare“ за голо хранилище)"
 
-#: builtin/clone.c:69
+#: builtin/clone.c:72
 msgid "to clone from a local repository"
 msgstr "клониране от локално хранилище"
 
-#: builtin/clone.c:71
+#: builtin/clone.c:74
 msgid "don't use local hardlinks, always copy"
 msgstr "без твърди връзки, файловете винаги да се копират"
 
-#: builtin/clone.c:73
+#: builtin/clone.c:76
 msgid "setup as shared repository"
 msgstr "настройване за споделено хранилище"
 
-#: builtin/clone.c:75 builtin/clone.c:77
+#: builtin/clone.c:78 builtin/clone.c:80
 msgid "initialize submodules in the clone"
 msgstr "инициализиране на подмодулите при това клониране"
 
-#: builtin/clone.c:79
+#: builtin/clone.c:82
 msgid "number of submodules cloned in parallel"
 msgstr "брой подмодули, клонирани паралелно"
 
-#: builtin/clone.c:80 builtin/init-db.c:470
+#: builtin/clone.c:83 builtin/init-db.c:475
 msgid "template-directory"
 msgstr "директория с шаблони"
 
-#: builtin/clone.c:81 builtin/init-db.c:471
+#: builtin/clone.c:84 builtin/init-db.c:476
 msgid "directory from which templates will be used"
 msgstr "директория, която съдържа шаблоните, които да се ползват"
 
-#: builtin/clone.c:83 builtin/submodule--helper.c:498
-#: builtin/submodule--helper.c:777
+#: builtin/clone.c:86 builtin/clone.c:88 builtin/submodule--helper.c:602
+#: builtin/submodule--helper.c:954
 msgid "reference repository"
 msgstr "еталонно хранилище"
 
-#: builtin/clone.c:85
+#: builtin/clone.c:90
 msgid "use --reference only while cloning"
 msgstr "опцията „--reference“ може да се използва само при клониране"
 
-#: builtin/clone.c:86 builtin/column.c:26 builtin/merge-file.c:44
+#: builtin/clone.c:91 builtin/column.c:26 builtin/merge-file.c:44
 msgid "name"
 msgstr "ИМЕ"
 
-#: builtin/clone.c:87
+#: builtin/clone.c:92
 msgid "use <name> instead of 'origin' to track upstream"
 msgstr "използване на това ИМЕ вместо „origin“ при проследяване на клони"
 
-#: builtin/clone.c:89
+#: builtin/clone.c:94
 msgid "checkout <branch> instead of the remote's HEAD"
 msgstr "изтегляне на този КЛОН, а не соченият от отдалечения указател „HEAD“"
 
-#: builtin/clone.c:91
+#: builtin/clone.c:96
 msgid "path to git-upload-pack on the remote"
 msgstr "път към командата „git-upload-pack“ на отдалеченото хранилище"
 
-#: builtin/clone.c:92 builtin/fetch.c:117 builtin/grep.c:667 builtin/pull.c:201
+#: builtin/clone.c:97 builtin/fetch.c:120 builtin/grep.c:668 builtin/pull.c:202
 msgid "depth"
 msgstr "ДЪЛБОЧИНА"
 
-#: builtin/clone.c:93
+#: builtin/clone.c:98
 msgid "create a shallow clone of that depth"
 msgstr "плитко клониране до тази ДЪЛБОЧИНА"
 
-#: builtin/clone.c:95
+#: builtin/clone.c:99 builtin/fetch.c:122 builtin/pack-objects.c:2848
+#: parse-options.h:142
+msgid "time"
+msgstr "ВРЕМЕ"
+
+#: builtin/clone.c:100
+msgid "create a shallow clone since a specific time"
+msgstr "плитко клониране до момент във времето"
+
+#: builtin/clone.c:101 builtin/fetch.c:124
+msgid "revision"
+msgstr "версия"
+
+#: builtin/clone.c:102 builtin/fetch.c:125
+msgid "deepen history of shallow clone by excluding rev"
+msgstr "задълбочаване на историята на плитко хранилище до изключващ указател"
+
+#: builtin/clone.c:104
 msgid "clone only one branch, HEAD or --branch"
 msgstr ""
 "клониране само на един клон — или сочения от отдалечения „HEAD“, или изрично "
 "зададения с „--branch“"
 
-#: builtin/clone.c:97
+#: builtin/clone.c:106
 msgid "any cloned submodules will be shallow"
 msgstr "всички клонирани подмодули ще са плитки"
 
-#: builtin/clone.c:98 builtin/init-db.c:479
+#: builtin/clone.c:107 builtin/init-db.c:484
 msgid "gitdir"
 msgstr "СЛУЖЕБНА_ДИРЕКТОРИЯ"
 
-#: builtin/clone.c:99 builtin/init-db.c:480
+#: builtin/clone.c:108 builtin/init-db.c:485
 msgid "separate git dir from working tree"
 msgstr "отделна СЛУЖЕБНА_ДИРЕКТОРИЯ за git извън работното дърво"
 
-#: builtin/clone.c:100
+#: builtin/clone.c:109
 msgid "key=value"
 msgstr "КЛЮЧ=СТОЙНОСТ"
 
-#: builtin/clone.c:101
+#: builtin/clone.c:110
 msgid "set config inside the new repository"
 msgstr "задаване на настройките на новото хранилище"
 
-#: builtin/clone.c:102 builtin/fetch.c:131 builtin/push.c:536
+#: builtin/clone.c:111 builtin/fetch.c:140 builtin/push.c:547
 msgid "use IPv4 addresses only"
 msgstr "само адреси IPv4"
 
-#: builtin/clone.c:104 builtin/fetch.c:133 builtin/push.c:538
+#: builtin/clone.c:113 builtin/fetch.c:142 builtin/push.c:549
 msgid "use IPv6 addresses only"
 msgstr "само адреси IPv6"
 
-#: builtin/clone.c:241
+#: builtin/clone.c:250
 msgid ""
 "No directory name could be guessed.\n"
 "Please specify a directory on the command line"
@@ -5257,190 +6237,195 @@
 "Името на директорията не може да бъде отгатнато.\n"
 "Задайте директорията изрично на командния ред"
 
-#: builtin/clone.c:307
+#: builtin/clone.c:303
 #, c-format
-msgid "reference repository '%s' as a linked checkout is not supported yet."
-msgstr "все още не се поддържа еталонно хранилище „%s“ като свързано."
+msgid "info: Could not add alternate for '%s': %s\n"
+msgstr ""
+"ПРЕДУПРЕЖДЕНИЕ: не може да се добави алтернативен източник на „%s“: %s\n"
 
-#: builtin/clone.c:309
+#: builtin/clone.c:375
 #, c-format
-msgid "reference repository '%s' is not a local repository."
-msgstr "еталонното хранилище „%s“ не е локално"
+msgid "failed to open '%s'"
+msgstr "директорията „%s“ не може да бъде отворена"
 
-#: builtin/clone.c:314
-#, c-format
-msgid "reference repository '%s' is shallow"
-msgstr "еталонното хранилище „%s“ е плитко"
-
-#: builtin/clone.c:317
-#, c-format
-msgid "reference repository '%s' is grafted"
-msgstr "еталонното хранилище „%s“ е с присаждане"
-
-#: builtin/clone.c:384
+#: builtin/clone.c:383
 #, c-format
 msgid "%s exists and is not a directory"
 msgstr "„%s“ съществува и не е директория"
 
-#: builtin/clone.c:398
+#: builtin/clone.c:397
 #, c-format
 msgid "failed to stat %s\n"
 msgstr "не може да бъде получена информация чрез „stat“ за „%s“\n"
 
-#: builtin/clone.c:420
+#: builtin/clone.c:419
 #, c-format
 msgid "failed to create link '%s'"
 msgstr "връзката „%s“ не може да бъде създадена"
 
-#: builtin/clone.c:424
+#: builtin/clone.c:423
 #, c-format
 msgid "failed to copy file to '%s'"
 msgstr "файлът не може да бъде копиран като „%s“"
 
-#: builtin/clone.c:449 builtin/clone.c:633
+#: builtin/clone.c:448
 #, c-format
 msgid "done.\n"
 msgstr "действието завърши.\n"
 
-#: builtin/clone.c:461
+#: builtin/clone.c:460
 msgid ""
 "Clone succeeded, but checkout failed.\n"
 "You can inspect what was checked out with 'git status'\n"
 "and retry the checkout with 'git checkout -f HEAD'\n"
 msgstr ""
 "Клонирането бе успешно за разлика от подготовката на работното дърво\n"
-"за определен клон. Все пак можете да проверите кои файлове и от кой\n"
-"клон в момента са изтеглени с командата „git status“. Можете да\n"
+"за определен клон.  Все пак можете да проверите кои файлове и от кой\n"
+"клон в момента са изтеглени с командата „git status“.  Можете да\n"
 "завършите изтеглянето на клона с командата „git checkout -f HEAD“.\n"
 
-#: builtin/clone.c:538
+#: builtin/clone.c:537
 #, c-format
 msgid "Could not find remote branch %s to clone."
 msgstr ""
 "Клонът „%s“ от отдалеченото хранилище, което клонирате,\n"
 "и който следва да бъде изтеглен, не съществува."
 
-# FIXME translator note that the space at end is necesssary
-#: builtin/clone.c:628
-#, c-format
-msgid "Checking connectivity... "
-msgstr "Проверка на връзката… "
-
-#: builtin/clone.c:631
+#: builtin/clone.c:632
 msgid "remote did not send all necessary objects"
 msgstr "отдалеченото хранилище не изпрати всички необходими обекти."
 
 # FIXME merge with next?
-#: builtin/clone.c:649
+#: builtin/clone.c:648
 #, c-format
 msgid "unable to update %s"
 msgstr "обектът „%s“ не може да бъде обновен"
 
-#: builtin/clone.c:698
+#: builtin/clone.c:697
 msgid "remote HEAD refers to nonexistent ref, unable to checkout.\n"
 msgstr ""
 "указателят „HEAD“ от отдалеченото хранилище сочи към нещо,\n"
-"което не съществува. Не може да се изтегли определен клон.\n"
+"което не съществува.  Не може да се изтегли определен клон.\n"
 
-#: builtin/clone.c:729
+#: builtin/clone.c:728
 msgid "unable to checkout working tree"
 msgstr "работното дърво не може да бъде подготвено"
 
-#: builtin/clone.c:767
+#: builtin/clone.c:768
 msgid "unable to write parameters to config file"
 msgstr "настройките не могат да бъдат записани в конфигурационния файл"
 
-#: builtin/clone.c:830
+#: builtin/clone.c:831
 msgid "cannot repack to clean up"
 msgstr "не може да се извърши пакетиране за изчистване на файловете"
 
-#: builtin/clone.c:832
+#: builtin/clone.c:833
 msgid "cannot unlink temporary alternates file"
 msgstr "временният файл за алтернативни обекти не може да бъде изтрит"
 
-#: builtin/clone.c:864 builtin/receive-pack.c:1731
+#: builtin/clone.c:866 builtin/receive-pack.c:1895
 msgid "Too many arguments."
 msgstr "Прекалено много аргументи."
 
-#: builtin/clone.c:868
+#: builtin/clone.c:870
 msgid "You must specify a repository to clone."
 msgstr "Трябва да укажете кое хранилище искате да клонирате."
 
-#: builtin/clone.c:879
+#: builtin/clone.c:883
 #, c-format
 msgid "--bare and --origin %s options are incompatible."
 msgstr "опциите „--bare“ и „--origin %s“ са несъвместими."
 
-#: builtin/clone.c:882
+#: builtin/clone.c:886
 msgid "--bare and --separate-git-dir are incompatible."
 msgstr "опциите „--bare“ и „--separate-git-dir“ са несъвместими."
 
-#: builtin/clone.c:895
+#: builtin/clone.c:899
 #, c-format
 msgid "repository '%s' does not exist"
 msgstr "не съществува хранилище „%s“"
 
-#: builtin/clone.c:901 builtin/fetch.c:1174
+#: builtin/clone.c:905 builtin/fetch.c:1338
 #, c-format
 msgid "depth %s is not a positive number"
 msgstr "дълбочината трябва да е положително цяло число, а не „%s“"
 
-#: builtin/clone.c:911
+#: builtin/clone.c:915
 #, c-format
 msgid "destination path '%s' already exists and is not an empty directory."
 msgstr "целевият път „%s“ съществува и не е празна директория."
 
-#: builtin/clone.c:921
+#: builtin/clone.c:925
 #, c-format
 msgid "working tree '%s' already exists."
 msgstr "в „%s“ вече съществува работно дърво."
 
-#: builtin/clone.c:936 builtin/clone.c:947 builtin/submodule--helper.c:547
-#: builtin/worktree.c:220 builtin/worktree.c:247
+#: builtin/clone.c:940 builtin/clone.c:951 builtin/submodule--helper.c:657
+#: builtin/worktree.c:222 builtin/worktree.c:249
 #, c-format
 msgid "could not create leading directories of '%s'"
 msgstr "родителските директории на „%s“ не могат да бъдат създадени"
 
-#: builtin/clone.c:939
+#: builtin/clone.c:943
 #, c-format
 msgid "could not create work tree dir '%s'"
 msgstr "работното дърво в „%s“ не може да бъде създадено."
 
-#: builtin/clone.c:957
+#: builtin/clone.c:955
 #, c-format
 msgid "Cloning into bare repository '%s'...\n"
 msgstr "Клониране и създаване на голо хранилище в „%s“…\n"
 
-#: builtin/clone.c:959
+#: builtin/clone.c:957
 #, c-format
 msgid "Cloning into '%s'...\n"
 msgstr "Клониране и създаване на хранилище в „%s“…\n"
 
-#: builtin/clone.c:998
+#: builtin/clone.c:963
+msgid ""
+"clone --recursive is not compatible with both --reference and --reference-if-"
+"able"
+msgstr ""
+"Опцията „--recursive“ е несъвместима с опциите „--reference“ и „--reference-"
+"if-able“"
+
+#: builtin/clone.c:1019
 msgid "--depth is ignored in local clones; use file:// instead."
 msgstr ""
-"При локално клониране опцията „--depth“ се игнорира. Ползвайте схемата "
+"При локално клониране опцията „--depth“ се прескача.  Ползвайте схемата "
 "„file://“."
 
-#: builtin/clone.c:1001
+#: builtin/clone.c:1021
+msgid "--shallow-since is ignored in local clones; use file:// instead."
+msgstr ""
+"При локално клониране опцията „--shallow-since“ се прескача.  Ползвайте "
+"схемата „file://“."
+
+#: builtin/clone.c:1023
+msgid "--shallow-exclude is ignored in local clones; use file:// instead."
+msgstr ""
+"При локално клониране опцията „--shallow-exclude“ се прескача.  Ползвайте "
+"схемата „file://“."
+
+#: builtin/clone.c:1026
 msgid "source repository is shallow, ignoring --local"
-msgstr "клонираното хранилище е плитко, затова опцията „--local“ се игнорира"
+msgstr "клонираното хранилище е плитко, затова опцията „--local“ се прескача"
 
-#: builtin/clone.c:1006
+#: builtin/clone.c:1031
 msgid "--local is ignored"
-msgstr "опцията „--local“ се игнорира"
+msgstr "опцията „--local“ се прескача"
 
-#: builtin/clone.c:1010
+#: builtin/clone.c:1035
 #, c-format
 msgid "Don't know how to clone %s"
 msgstr "Не се поддържа клониране на връзки от вида „%s“ "
 
-#: builtin/clone.c:1059 builtin/clone.c:1067
+#: builtin/clone.c:1090 builtin/clone.c:1098
 #, c-format
 msgid "Remote branch %s not found in upstream %s"
 msgstr "Отдалеченият клон „%s“ липсва в клонираното хранилище „%s“"
 
-#: builtin/clone.c:1070
+#: builtin/clone.c:1101
 msgid "You appear to have cloned an empty repository."
 msgstr "Изглежда клонирахте празно хранилище."
 
@@ -5499,8 +6484,8 @@
 "    git commit --amend --reset-author\n"
 msgstr ""
 "Името и адресът за е-поща са настроени автоматично на базата на името на\n"
-"потребителя и името на машината. Проверете дали са верни. Можете да спрете\n"
-"това съобщение като изрично зададете стойностите. Изпълнете следната "
+"потребителя и името на машината. Проверете дали са верни.  Можете да спрете\n"
+"това съобщение като изрично зададете стойностите.  Изпълнете следната "
 "команда\n"
 "и следвайте инструкциите в текстовия ви редактор, за да редактирате\n"
 "конфигурационния файл:\n"
@@ -5526,7 +6511,7 @@
 "    git commit --amend --reset-author\n"
 msgstr ""
 "Името и адресът за е-поща са настроени автоматично на базата на името на\n"
-"потребителя и името на машината. Проверете дали са верни. Можете да спрете\n"
+"потребителя и името на машината. Проверете дали са верни.  Можете да спрете\n"
 "това съобщение като изрично зададете стойностите:\n"
 "\n"
 "    git config --global user.name \"Вашето Име\"\n"
@@ -5543,8 +6528,8 @@
 "it empty. You can repeat your command with --allow-empty, or you can\n"
 "remove the commit entirely with \"git reset HEAD^\".\n"
 msgstr ""
-"Поискахте да поправите последното си подаване. Това действие ще превърне\n"
-"подаването в празно. Можете или да го повторите като разрешите такива "
+"Поискахте да поправите последното си подаване.  Това действие ще превърне\n"
+"подаването в празно.  Можете или да го повторите като разрешите такива "
 "подавания\n"
 "с опцията „--allow-empty“, или да го изтриете от историята с командата:\n"
 "„git reset HEAD^“.\n"
@@ -5558,7 +6543,7 @@
 "\n"
 msgstr ""
 "Предишното отбрано подаване вече е празно, като най-вероятната причина е\n"
-"корекция на конфликт. Ако все пак искате да го ползвате, използвайте "
+"корекция на конфликт.  Ако все пак искате да го ползвате, използвайте "
 "командата:\n"
 "\n"
 "    git commit --allow-empty\n"
@@ -5584,43 +6569,43 @@
 "Чрез командата „git cherry-pick --continue“ ще продължите отбирането на\n"
 "останалите подавания.\n"
 
-#: builtin/commit.c:307
+#: builtin/commit.c:318
 msgid "failed to unpack HEAD tree object"
 msgstr "върховото дърво (HEAD tree object) не може да бъде извадено от пакет"
 
-#: builtin/commit.c:348
+#: builtin/commit.c:359
 msgid "unable to create temporary index"
 msgstr "временният индекс не може да бъде създаден"
 
-#: builtin/commit.c:354
+#: builtin/commit.c:365
 msgid "interactive add failed"
 msgstr "неуспешно интерактивно добавяне"
 
-#: builtin/commit.c:367
+#: builtin/commit.c:378
 msgid "unable to update temporary index"
 msgstr "временният индекс не може да бъде обновен"
 
-#: builtin/commit.c:369
+#: builtin/commit.c:380
 msgid "Failed to update main cache tree"
 msgstr "Дървото на основния кеш не може да бъде обновено"
 
-#: builtin/commit.c:393 builtin/commit.c:416 builtin/commit.c:465
+#: builtin/commit.c:404 builtin/commit.c:427 builtin/commit.c:476
 msgid "unable to write new_index file"
 msgstr "новият индекс не може да бъде записан"
 
-#: builtin/commit.c:447
+#: builtin/commit.c:458
 msgid "cannot do a partial commit during a merge."
 msgstr "по време на сливане не може да се извърши частично подаване."
 
-#: builtin/commit.c:449
+#: builtin/commit.c:460
 msgid "cannot do a partial commit during a cherry-pick."
 msgstr "по време на отбиране не може да се извърши частично подаване."
 
-#: builtin/commit.c:458
+#: builtin/commit.c:469
 msgid "cannot read the index"
 msgstr "индексът не може да бъде прочетен"
 
-#: builtin/commit.c:477
+#: builtin/commit.c:488
 msgid "unable to write temporary index file"
 msgstr "временният индекс не може да бъде записан"
 
@@ -5651,12 +6636,12 @@
 "не може да се избере знак за коментар — в текущото съобщение за подаване са "
 "използвани всички подобни знаци"
 
-#: builtin/commit.c:692 builtin/commit.c:725 builtin/commit.c:1091
+#: builtin/commit.c:692 builtin/commit.c:725 builtin/commit.c:1096
 #, c-format
 msgid "could not lookup commit %s"
 msgstr "следното подаване не може да бъде открито: %s"
 
-#: builtin/commit.c:704 builtin/shortlog.c:285
+#: builtin/commit.c:704 builtin/shortlog.c:286
 #, c-format
 msgid "(reading log message from standard input)\n"
 msgstr "(изчитане на съобщението за подаване от стандартния вход)\n"
@@ -5682,7 +6667,6 @@
 msgid "could not write commit template"
 msgstr "шаблонът за подаване не може да бъде запазен"
 
-# FIXME
 #: builtin/commit.c:814
 #, c-format
 msgid ""
@@ -5693,12 +6677,11 @@
 "and try again.\n"
 msgstr ""
 "\n"
-"Изглежда, че подавате сливане. Ако това не е така, изтрийте файла:\n"
+"Изглежда, че подавате сливане.  Ако това не е така, изтрийте файла:\n"
 "\n"
 "  %s\n"
 "и опитайте отново.\n"
 
-# FIXME
 #: builtin/commit.c:819
 #, c-format
 msgid ""
@@ -5709,7 +6692,7 @@
 "and try again.\n"
 msgstr ""
 "\n"
-"Изглежда, че извършвате отбрано подаване. Ако това не е така, изтрийте "
+"Изглежда, че извършвате отбрано подаване.  Ако това не е така, изтрийте "
 "файла:\n"
 "\n"
 "  %s\n"
@@ -5721,7 +6704,7 @@
 "Please enter the commit message for your changes. Lines starting\n"
 "with '%c' will be ignored, and an empty message aborts the commit.\n"
 msgstr ""
-"Въведете съобщението за подаване на промените. Редовете, които започват\n"
+"Въведете съобщението за подаване на промените.  Редовете, които започват\n"
 "с „%c“, ще бъдат пропуснати, а празно съобщение преустановява подаването.\n"
 
 #: builtin/commit.c:839
@@ -5731,8 +6714,8 @@
 "with '%c' will be kept; you may remove them yourself if you want to.\n"
 "An empty message aborts the commit.\n"
 msgstr ""
-"Въведете съобщението за подаване на промените. Редовете, които започват\n"
-"с „%c“, също ще бъдат включени — може да ги изтриете вие. Празно \n"
+"Въведете съобщението за подаване на промените.  Редовете, които започват\n"
+"с „%c“, също ще бъдат включени — може да ги изтриете вие.  Празно \n"
 "съобщение преустановява подаването.\n"
 
 #: builtin/commit.c:859
@@ -5754,501 +6737,505 @@
 msgid "Cannot read index"
 msgstr "Индексът не може да бъде прочетен"
 
-#: builtin/commit.c:949
+#: builtin/commit.c:954
 msgid "Error building trees"
 msgstr "Грешка при изграждане на дърветата"
 
-#: builtin/commit.c:964 builtin/tag.c:266
+#: builtin/commit.c:969 builtin/tag.c:266
 #, c-format
 msgid "Please supply the message using either -m or -F option.\n"
 msgstr "Подайте съобщението с някоя от опциите „-m“ или „-F“.\n"
 
-#: builtin/commit.c:1066
+#: builtin/commit.c:1071
 #, c-format
 msgid "--author '%s' is not 'Name <email>' and matches no existing author"
 msgstr ""
 "Опцията „--author '%s'“ не отговаря на форма̀та „Име <е-поща>“ и не съвпада с "
 "никой автор"
 
-#: builtin/commit.c:1081 builtin/commit.c:1321
+#: builtin/commit.c:1086 builtin/commit.c:1327
 #, c-format
 msgid "Invalid untracked files mode '%s'"
 msgstr "Неправилна стойност за неследените файлове: „%s“"
 
-#: builtin/commit.c:1118
+#: builtin/commit.c:1124
 msgid "--long and -z are incompatible"
 msgstr "Опциите „--long“ и „-z“ са несъвместими."
 
-#: builtin/commit.c:1148
+#: builtin/commit.c:1154
 msgid "Using both --reset-author and --author does not make sense"
 msgstr "Опциите „--reset-author“ и „--author“ са несъвместими."
 
-#: builtin/commit.c:1157
+#: builtin/commit.c:1163
 msgid "You have nothing to amend."
 msgstr "Няма какво да бъде поправено."
 
-#: builtin/commit.c:1160
+#: builtin/commit.c:1166
 msgid "You are in the middle of a merge -- cannot amend."
 msgstr "В момента се извършва сливане, не можете да поправяте."
 
-#: builtin/commit.c:1162
+#: builtin/commit.c:1168
 msgid "You are in the middle of a cherry-pick -- cannot amend."
 msgstr "В момента се извършва отбиране на подаване, не можете да поправяте."
 
-#: builtin/commit.c:1165
+#: builtin/commit.c:1171
 msgid "Options --squash and --fixup cannot be used together"
 msgstr "Опциите „--squash“ и „--fixup“ са несъвместими."
 
-#: builtin/commit.c:1175
+#: builtin/commit.c:1181
 msgid "Only one of -c/-C/-F/--fixup can be used."
 msgstr "Опциите „-c“, „-C“, „-F“ и „--fixup““ са несъвместими."
 
-#: builtin/commit.c:1177
+#: builtin/commit.c:1183
 msgid "Option -m cannot be combined with -c/-C/-F/--fixup."
 msgstr "Опцията „-m“ е несъвместима с „-c“, „-C“, „-F“ и „--fixup“."
 
-#: builtin/commit.c:1185
+#: builtin/commit.c:1191
 msgid "--reset-author can be used only with -C, -c or --amend."
 msgstr ""
 "Опцията „--reset-author“ може да се използва само заедно с „-C“, „-c“ или\n"
 "„--amend“."
 
-#: builtin/commit.c:1202
+#: builtin/commit.c:1208
 msgid "Only one of --include/--only/--all/--interactive/--patch can be used."
 msgstr ""
 "Опциите „--include“, „--only“, „--all“, „--interactive“ и „--patch“ са\n"
 "несъвместими."
 
-#: builtin/commit.c:1204
+#: builtin/commit.c:1210
 msgid "No paths with --include/--only does not make sense."
 msgstr "Опциите „--include“ и „--only“ изискват аргументи."
 
-# FIXME bad message
-#: builtin/commit.c:1206
+#: builtin/commit.c:1212
 msgid "Clever... amending the last one with dirty index."
 msgstr ""
 "Чудесно сте се сетили как да поправите съобщението на последното подаване "
 "при\n"
-"променен индекс. Споделете и с друг потребител трика с „git commit --amend -"
+"променен индекс.  Споделете и с друг потребител трика с „git commit --amend -"
 "o“."
 
-#: builtin/commit.c:1208
+#: builtin/commit.c:1214
 msgid "Explicit paths specified without -i or -o; assuming --only paths..."
 msgstr ""
-"Зададени са изрични пътища без опциите „-i“ или „-o“. Приема се, че все едно "
-"сте\n"
+"Зададени са изрични пътища без опциите „-i“ или „-o“.  Приема се, че все "
+"едно сте\n"
 "ползвали опцията „--only“ с ПЪТища…"
 
-#: builtin/commit.c:1220 builtin/tag.c:474
+#: builtin/commit.c:1226 builtin/tag.c:474
 #, c-format
 msgid "Invalid cleanup mode %s"
 msgstr "Несъществуващ режим на изчистване „%s“"
 
-#: builtin/commit.c:1225
+#: builtin/commit.c:1231
 msgid "Paths with -a does not make sense."
 msgstr "Опцията „-a“ е несъвместима със задаването на пътища."
 
-#: builtin/commit.c:1335 builtin/commit.c:1621
+#: builtin/commit.c:1341 builtin/commit.c:1617
 msgid "show status concisely"
 msgstr "кратка информация за състоянието"
 
-#: builtin/commit.c:1337 builtin/commit.c:1623
+#: builtin/commit.c:1343 builtin/commit.c:1619
 msgid "show branch information"
 msgstr "информация за клоните"
 
-#: builtin/commit.c:1339 builtin/commit.c:1625 builtin/push.c:512
-#: builtin/worktree.c:437
+#: builtin/commit.c:1345
+msgid "version"
+msgstr "версия"
+
+#: builtin/commit.c:1345 builtin/commit.c:1621 builtin/push.c:522
+#: builtin/worktree.c:440
 msgid "machine-readable output"
 msgstr "формат на изхода за четене от програма"
 
-#: builtin/commit.c:1342 builtin/commit.c:1627
+#: builtin/commit.c:1348 builtin/commit.c:1623
 msgid "show status in long format (default)"
 msgstr "подробна информация за състоянието (стандартно)"
 
-#: builtin/commit.c:1345 builtin/commit.c:1630
+#: builtin/commit.c:1351 builtin/commit.c:1626
 msgid "terminate entries with NUL"
 msgstr "разделяне на елементите с нулевия знак „NUL“"
 
-#: builtin/commit.c:1347 builtin/commit.c:1633 builtin/fast-export.c:981
+#: builtin/commit.c:1353 builtin/commit.c:1629 builtin/fast-export.c:981
 #: builtin/fast-export.c:984 builtin/tag.c:353
 msgid "mode"
 msgstr "РЕЖИМ"
 
-#: builtin/commit.c:1348 builtin/commit.c:1633
+#: builtin/commit.c:1354 builtin/commit.c:1629
 msgid "show untracked files, optional modes: all, normal, no. (Default: all)"
 msgstr ""
-"извеждане на неследените файлове. Възможните РЕЖИМи са „all“ (подробна "
-"информация), „normal“ (кратка информация), „no“ (без неследените файлове). "
+"извеждане на неследените файлове.  Възможните РЕЖИМи са „all“ (подробна "
+"информация), „normal“ (кратка информация), „no“ (без неследените файлове).  "
 "Стандартният РЕЖИМ е: „all“."
 
-#: builtin/commit.c:1351
+#: builtin/commit.c:1357
 msgid "show ignored files"
 msgstr "извеждане на игнорираните файлове"
 
-#: builtin/commit.c:1352 parse-options.h:155
+#: builtin/commit.c:1358 parse-options.h:155
 msgid "when"
 msgstr "КОГА"
 
-#: builtin/commit.c:1353
+#: builtin/commit.c:1359
 msgid ""
 "ignore changes to submodules, optional when: all, dirty, untracked. "
 "(Default: all)"
 msgstr ""
-"игнориране на промените в подмодулите. Опция с незадължителна стойност — "
+"игнориране на промените в подмодулите.  Опция с незадължителна стойност — "
 "една от „all“ (всички), „dirty“ (тези с неподадени промени), "
 "„untracked“ (неследени)"
 
-#: builtin/commit.c:1355
+#: builtin/commit.c:1361
 msgid "list untracked files in columns"
 msgstr "извеждане на неследените файлове в колони"
 
-#: builtin/commit.c:1441
+#: builtin/commit.c:1437
 msgid "couldn't look up newly created commit"
 msgstr "току що създаденото подаване не може да бъде открито"
 
-#: builtin/commit.c:1443
+#: builtin/commit.c:1439
 msgid "could not parse newly created commit"
 msgstr "току що създаденото подаване не може да бъде анализирано"
 
-#: builtin/commit.c:1488
+#: builtin/commit.c:1484
 msgid "detached HEAD"
 msgstr "несвързан връх „HEAD“"
 
-#: builtin/commit.c:1491
+#: builtin/commit.c:1487
 msgid " (root-commit)"
 msgstr " (начално подаване)"
 
-#: builtin/commit.c:1591
+#: builtin/commit.c:1587
 msgid "suppress summary after successful commit"
 msgstr "без информация след успешно подаване"
 
-#: builtin/commit.c:1592
+#: builtin/commit.c:1588
 msgid "show diff in commit message template"
 msgstr "добавяне на разликата към шаблона за съобщението при подаване"
 
-#: builtin/commit.c:1594
+#: builtin/commit.c:1590
 msgid "Commit message options"
 msgstr "Опции за съобщението при подаване"
 
-#: builtin/commit.c:1595 builtin/tag.c:351
+#: builtin/commit.c:1591 builtin/tag.c:351
 msgid "read message from file"
 msgstr "взимане на съобщението от ФАЙЛ"
 
-#: builtin/commit.c:1596
+#: builtin/commit.c:1592
 msgid "author"
 msgstr "АВТОР"
 
-#: builtin/commit.c:1596
+#: builtin/commit.c:1592
 msgid "override author for commit"
 msgstr "задаване на АВТОР за подаването"
 
-#: builtin/commit.c:1597 builtin/gc.c:326
+#: builtin/commit.c:1593 builtin/gc.c:326
 msgid "date"
 msgstr "ДАТА"
 
-#: builtin/commit.c:1597
+#: builtin/commit.c:1593
 msgid "override date for commit"
 msgstr "задаване на ДАТА за подаването"
 
-#: builtin/commit.c:1598 builtin/merge.c:219 builtin/notes.c:395
-#: builtin/notes.c:558 builtin/tag.c:349
+#: builtin/commit.c:1594 builtin/merge.c:220 builtin/notes.c:398
+#: builtin/notes.c:561 builtin/tag.c:349
 msgid "message"
 msgstr "СЪОБЩЕНИЕ"
 
-#: builtin/commit.c:1598
+#: builtin/commit.c:1594
 msgid "commit message"
 msgstr "СЪОБЩЕНИЕ при подаване"
 
-#: builtin/commit.c:1599 builtin/commit.c:1600 builtin/commit.c:1601
-#: builtin/commit.c:1602 parse-options.h:256 ref-filter.h:79
+#: builtin/commit.c:1595 builtin/commit.c:1596 builtin/commit.c:1597
+#: builtin/commit.c:1598 parse-options.h:257 ref-filter.h:79
 msgid "commit"
 msgstr "ПОДАВАНЕ"
 
-#: builtin/commit.c:1599
+#: builtin/commit.c:1595
 msgid "reuse and edit message from specified commit"
 msgstr "преизползване и редактиране на съобщението от указаното ПОДАВАНЕ"
 
-#: builtin/commit.c:1600
+#: builtin/commit.c:1596
 msgid "reuse message from specified commit"
 msgstr "преизползване на съобщението от указаното ПОДАВАНЕ"
 
-#: builtin/commit.c:1601
+#: builtin/commit.c:1597
 msgid "use autosquash formatted message to fixup specified commit"
 msgstr ""
 "използване на автоматичното съобщение при смачкване за вкарване на указаното "
 "ПОДАВАНЕ в предното без следа"
 
-#: builtin/commit.c:1602
+#: builtin/commit.c:1598
 msgid "use autosquash formatted message to squash specified commit"
 msgstr ""
 "използване на автоматичното съобщение при смачкване за смачкване на "
 "указаното ПОДАВАНЕ в предното"
 
-#: builtin/commit.c:1603
+#: builtin/commit.c:1599
 msgid "the commit is authored by me now (used with -C/-c/--amend)"
 msgstr ""
 "смяна на автора да съвпада с подаващия (използва се с „-C“/„-c“/„--amend“)"
 
-#: builtin/commit.c:1604 builtin/log.c:1382 builtin/revert.c:86
+#: builtin/commit.c:1600 builtin/log.c:1413 builtin/revert.c:86
 msgid "add Signed-off-by:"
 msgstr "добавяне на поле за подпис — „Signed-off-by:“"
 
-#: builtin/commit.c:1605
+#: builtin/commit.c:1601
 msgid "use specified template file"
 msgstr "използване на указания шаблонен ФАЙЛ"
 
-#: builtin/commit.c:1606
+#: builtin/commit.c:1602
 msgid "force edit of commit"
 msgstr "редактиране на подаване"
 
-#: builtin/commit.c:1607
+#: builtin/commit.c:1603
 msgid "default"
 msgstr "стандартно"
 
-#: builtin/commit.c:1607 builtin/tag.c:354
+#: builtin/commit.c:1603 builtin/tag.c:354
 msgid "how to strip spaces and #comments from message"
 msgstr "кои празни знаци и #коментари да се махат от съобщенията"
 
-#: builtin/commit.c:1608
+#: builtin/commit.c:1604
 msgid "include status in commit message template"
 msgstr "вмъкване на състоянието в шаблона за съобщението при подаване"
 
-#: builtin/commit.c:1610 builtin/merge.c:229 builtin/pull.c:165
+#: builtin/commit.c:1606 builtin/merge.c:230 builtin/pull.c:166
 #: builtin/revert.c:93
 msgid "GPG sign commit"
 msgstr "подписване на подаването с GPG"
 
-#: builtin/commit.c:1613
+#: builtin/commit.c:1609
 msgid "Commit contents options"
 msgstr "Опции за избор на файлове при подаване"
 
-#: builtin/commit.c:1614
+#: builtin/commit.c:1610
 msgid "commit all changed files"
 msgstr "подаване на всички променени файлове"
 
-#: builtin/commit.c:1615
+#: builtin/commit.c:1611
 msgid "add specified files to index for commit"
 msgstr "добавяне на указаните файлове към индекса за подаване"
 
-#: builtin/commit.c:1616
+#: builtin/commit.c:1612
 msgid "interactively add files"
 msgstr "интерактивно добавяне на файлове"
 
-#: builtin/commit.c:1617
+#: builtin/commit.c:1613
 msgid "interactively add changes"
 msgstr "интерактивно добавяне на промени"
 
-#: builtin/commit.c:1618
+#: builtin/commit.c:1614
 msgid "commit only specified files"
 msgstr "подаване само на указаните файлове"
 
-#: builtin/commit.c:1619
-msgid "bypass pre-commit hook"
-msgstr "без изпълнение на куката преди подаване (pre-commit)"
+#: builtin/commit.c:1615
+msgid "bypass pre-commit and commit-msg hooks"
+msgstr ""
+"без изпълнение на куките преди подаване и при промяна на съобщението за "
+"подаване (pre-commit и commit-msg)"
 
-#: builtin/commit.c:1620
+#: builtin/commit.c:1616
 msgid "show what would be committed"
 msgstr "отпечатване на това, което би било подадено"
 
-#: builtin/commit.c:1631
+#: builtin/commit.c:1627
 msgid "amend previous commit"
 msgstr "поправяне на предишното подаване"
 
-#: builtin/commit.c:1632
+#: builtin/commit.c:1628
 msgid "bypass post-rewrite hook"
 msgstr "без изпълнение на куката след презаписване (post-rewrite)"
 
-#: builtin/commit.c:1637
+#: builtin/commit.c:1633
 msgid "ok to record an empty change"
 msgstr "позволяване на празни подавания"
 
-#: builtin/commit.c:1639
+#: builtin/commit.c:1635
 msgid "ok to record a change with an empty message"
 msgstr "позволяване на подавания с празни съобщения"
 
-#: builtin/commit.c:1668
+#: builtin/commit.c:1664
 msgid "could not parse HEAD commit"
 msgstr "върховото подаване „HEAD“ не може да бъде прочетено"
 
-#: builtin/commit.c:1718
+#: builtin/commit.c:1712
 #, c-format
 msgid "Corrupt MERGE_HEAD file (%s)"
 msgstr "Повреден файл за върха за сливането „MERGE_HEAD“ (%s)"
 
-#: builtin/commit.c:1725
+#: builtin/commit.c:1719
 msgid "could not read MERGE_MODE"
 msgstr "режимът на сливане „MERGE_MODE“ не може да бъде прочетен"
 
-#: builtin/commit.c:1744
+#: builtin/commit.c:1738
 #, c-format
 msgid "could not read commit message: %s"
 msgstr "съобщението за подаване не може да бъде прочетено: %s"
 
-#: builtin/commit.c:1755
+#: builtin/commit.c:1749
 #, c-format
 msgid "Aborting commit; you did not edit the message.\n"
 msgstr "Неизвършване на подаване поради нередактирано съобщение.\n"
 
-#: builtin/commit.c:1760
+#: builtin/commit.c:1754
 #, c-format
 msgid "Aborting commit due to empty commit message.\n"
 msgstr "Неизвършване на подаване поради празно съобщение.\n"
 
-#: builtin/commit.c:1808
+#: builtin/commit.c:1802
 msgid ""
 "Repository has been updated, but unable to write\n"
 "new_index file. Check that disk is not full and quota is\n"
 "not exceeded, and then \"git reset HEAD\" to recover."
 msgstr ""
 "Хранилището е обновено, но новият файл за индекс „new_index“\n"
-"не е записан. Проверете дали дискът не е препълнен или не сте\n"
-"превишили дисковата си квота. След това изпълнете „git reset HEAD“."
+"не е записан.  Проверете дали дискът не е препълнен или не сте\n"
+"превишили дисковата си квота.  След това изпълнете „git reset HEAD“."
 
 #: builtin/config.c:9
 msgid "git config [<options>]"
 msgstr "git config [ОПЦИЯ…]"
 
-#: builtin/config.c:56
+#: builtin/config.c:55
 msgid "Config file location"
 msgstr "Местоположение на конфигурационния файл"
 
-#: builtin/config.c:57
+#: builtin/config.c:56
 msgid "use global config file"
 msgstr "използване на глобалния конфигурационен файл"
 
-#: builtin/config.c:58
+#: builtin/config.c:57
 msgid "use system config file"
 msgstr "използване на системния конфигурационен файл"
 
-#: builtin/config.c:59
+#: builtin/config.c:58
 msgid "use repository config file"
 msgstr "използване на конфигурационния файл на хранилището"
 
-#: builtin/config.c:60
+#: builtin/config.c:59
 msgid "use given config file"
 msgstr "използване на зададения конфигурационен ФАЙЛ"
 
-#: builtin/config.c:61
+#: builtin/config.c:60
 msgid "blob-id"
 msgstr "ИДЕНТИФИКАТОР"
 
-#: builtin/config.c:61
+#: builtin/config.c:60
 msgid "read config from given blob object"
 msgstr ""
 "изчитане на конфигурацията от BLOB с този ИДЕНТИФИКАТОР на съдържанието"
 
-#: builtin/config.c:62
+#: builtin/config.c:61
 msgid "Action"
 msgstr "Действие"
 
-#: builtin/config.c:63
+#: builtin/config.c:62
 msgid "get value: name [value-regex]"
 msgstr "извеждане на стойност: ИМЕ [РЕГУЛЯРЕН_ИЗРАЗ_ЗА_СТОЙНОСТТА]"
 
-#: builtin/config.c:64
+#: builtin/config.c:63
 msgid "get all values: key [value-regex]"
 msgstr "извеждане на всички стойности: ключ [РЕГУЛЯРЕН_ИЗРАЗ_ЗА_СТОЙНОСТТА]"
 
-#: builtin/config.c:65
+#: builtin/config.c:64
 msgid "get values for regexp: name-regex [value-regex]"
 msgstr ""
 "извеждане на стойностите за РЕГУЛЯРНия_ИЗРАЗ: РЕГУЛЯРЕН_ИЗРАЗ_ЗА_ИМЕТО "
 "[РЕГУЛЯРЕН_ИЗРАЗ_ЗА_СТОЙНОСТТА]"
 
-#: builtin/config.c:66
+#: builtin/config.c:65
 msgid "get value specific for the URL: section[.var] URL"
 msgstr "извеждане на стойността за указания адрес: РАЗДЕЛ[.ПРОМЕНЛИВА] АДРЕС"
 
-#: builtin/config.c:67
+#: builtin/config.c:66
 msgid "replace all matching variables: name value [value_regex]"
 msgstr ""
 "замяна на всички съвпадащи променливи: ИМЕ СТОЙНОСТ "
 "[РЕГУЛЯРЕН_ИЗРАЗ_ЗА_СТОЙНОСТТА]"
 
-#: builtin/config.c:68
+#: builtin/config.c:67
 msgid "add a new variable: name value"
 msgstr "добавяне на нова променлива: ИМЕ СТОЙНОСТ"
 
-#: builtin/config.c:69
+#: builtin/config.c:68
 msgid "remove a variable: name [value-regex]"
 msgstr "изтриване на променлива: ИМЕ [РЕГУЛЯРЕН_ИЗРАЗ_ЗА_СТОЙНОСТТА]"
 
-#: builtin/config.c:70
+#: builtin/config.c:69
 msgid "remove all matches: name [value-regex]"
 msgstr "изтриване на всички съвпадащи: ИМЕ [РЕГУЛЯРЕН_ИЗРАЗ_ЗА_СТОЙНОСТТА]"
 
-#: builtin/config.c:71
+#: builtin/config.c:70
 msgid "rename section: old-name new-name"
 msgstr "преименуване на раздел: СТАРО_ИМЕ НОВО_ИМЕ"
 
-#: builtin/config.c:72
+#: builtin/config.c:71
 msgid "remove a section: name"
 msgstr "изтриване на раздел: ИМЕ"
 
-#: builtin/config.c:73
+#: builtin/config.c:72
 msgid "list all"
 msgstr "изброяване на всички"
 
-#: builtin/config.c:74
+#: builtin/config.c:73
 msgid "open an editor"
 msgstr "отваряне на редактор"
 
-#: builtin/config.c:75
+#: builtin/config.c:74
 msgid "find the color configured: slot [default]"
 msgstr "извеждане на зададения цвят: номер [стандартно]"
 
-#: builtin/config.c:76
+#: builtin/config.c:75
 msgid "find the color setting: slot [stdout-is-tty]"
 msgstr "извеждане на зададения цвят: номер [стандартният изход е терминал]"
 
-#: builtin/config.c:77
+#: builtin/config.c:76
 msgid "Type"
 msgstr "Вид"
 
-#: builtin/config.c:78
+#: builtin/config.c:77
 msgid "value is \"true\" or \"false\""
 msgstr "СТОЙНОСТТА е „true“ (истина) или „false“ (лъжа)"
 
-#: builtin/config.c:79
+#: builtin/config.c:78
 msgid "value is decimal number"
 msgstr "СТОЙНОСТТА е цяло, десетично число"
 
-#: builtin/config.c:80
+#: builtin/config.c:79
 msgid "value is --bool or --int"
 msgstr "СТОЙНОСТТА е „--bool“ (булева) или „--int“ (десетично цяло число)"
 
-#: builtin/config.c:81
+#: builtin/config.c:80
 msgid "value is a path (file or directory name)"
 msgstr "СТОЙНОСТТА е път (до файл или директория)"
 
-#: builtin/config.c:82
+#: builtin/config.c:81
 msgid "Other"
 msgstr "Други"
 
-# FIXME NUL byte to null char, terminate -> razdelitel - da stane ednakvo
-#: builtin/config.c:83
+#: builtin/config.c:82
 msgid "terminate values with NUL byte"
 msgstr "разделяне на стойностите с нулевия знак „NUL“"
 
-#: builtin/config.c:84
+#: builtin/config.c:83
 msgid "show variable names only"
 msgstr "извеждане на имената на променливите"
 
-#: builtin/config.c:85
+#: builtin/config.c:84
 msgid "respect include directives on lookup"
 msgstr "при търсене да се уважат и директивите за включване"
 
-#: builtin/config.c:86
+#: builtin/config.c:85
 msgid "show origin of config (file, standard input, blob, command line)"
 msgstr ""
 "извеждане на мястото на задаване на настройката (файл, стандартен вход, "
 "обект BLOB, команден ред)"
 
-#: builtin/config.c:328
+#: builtin/config.c:327
 msgid "unable to parse default color value"
 msgstr "неразпозната стойност на стандартния цвят"
 
-#: builtin/config.c:472
+#: builtin/config.c:471
 #, c-format
 msgid ""
 "# This is Git's per-user configuration file.\n"
@@ -6263,20 +7250,29 @@
 "#\tname = %s\n"
 "#\temail = %s\n"
 
-#: builtin/config.c:614
+#: builtin/config.c:613
 #, c-format
 msgid "cannot create configuration file %s"
 msgstr "конфигурационният файл „%s“ не може да бъде създаден"
 
-#: builtin/count-objects.c:77
+#: builtin/config.c:625
+#, c-format
+msgid ""
+"cannot overwrite multiple values with a single value\n"
+"       Use a regexp, --add or --replace-all to change %s."
+msgstr ""
+"множество стойности не могат да се заменят с една.\n"
+"За да промените „%s“, ползвайте регулярен израз или оциите „--add“ и „--"
+"replace-all“."
+
+#: builtin/count-objects.c:86
 msgid "git count-objects [-v] [-H | --human-readable]"
 msgstr "git count-objects [-v] [-H | --human-readable]"
 
-#: builtin/count-objects.c:87
+#: builtin/count-objects.c:96
 msgid "print sizes in human readable format"
 msgstr "извеждане на размерите на обектите във формат лесно четим от хора"
 
-# FIXME ... instead of *???
 #: builtin/describe.c:17
 msgid "git describe [<options>] [<commit-ish>...]"
 msgstr "git describe [ОПЦИЯ…] УКАЗАТЕЛ_КЪМ_ПОДАВАНЕ…"
@@ -6300,7 +7296,7 @@
 msgid "tag '%s' is really '%s' here"
 msgstr "етикетът „%s“ тук е всъщност „%s“"
 
-#: builtin/describe.c:250 builtin/log.c:465
+#: builtin/describe.c:250 builtin/log.c:480
 #, c-format
 msgid "Not a valid object name %s"
 msgstr "Неправилно име на обект „%s“"
@@ -6332,7 +7328,7 @@
 "However, there were unannotated tags: try --tags."
 msgstr ""
 "Никой анотиран етикет не описва „%s“.\n"
-"Съществуват и неанотирани етикети. Пробвайте с опцията „--tags“."
+"Съществуват и неанотирани етикети.  Пробвайте с опцията „--tags“."
 
 #: builtin/describe.c:350
 #, c-format
@@ -6396,7 +7392,7 @@
 msgid "only consider tags matching <pattern>"
 msgstr "да се търси само измежду етикетите напасващи този ШАБЛОН"
 
-#: builtin/describe.c:410 builtin/name-rev.c:321
+#: builtin/describe.c:410 builtin/name-rev.c:320
 msgid "show abbreviated commit object as fallback"
 msgstr "извеждане на съкратено име на обект като резервен вариант"
 
@@ -6430,21 +7426,21 @@
 msgid "invalid option: %s"
 msgstr "неправилна опция: %s"
 
-#: builtin/diff.c:360
+#: builtin/diff.c:361
 msgid "Not a git repository"
 msgstr "Не е хранилище на Git"
 
-#: builtin/diff.c:403
+#: builtin/diff.c:404
 #, c-format
 msgid "invalid object '%s' given."
 msgstr "зададен е неправилен обект „%s“."
 
-#: builtin/diff.c:412
+#: builtin/diff.c:413
 #, c-format
 msgid "more than two blobs given: '%s'"
 msgstr "зададени са повече от 2 обекта BLOB: „%s“"
 
-#: builtin/diff.c:419
+#: builtin/diff.c:420
 #, c-format
 msgid "unhandled object '%s' given."
 msgstr "зададен е неподдържан обект „%s“."
@@ -6501,271 +7497,283 @@
 msgid "anonymize output"
 msgstr "анонимизиране на извежданата информация"
 
-#: builtin/fetch.c:20
+#: builtin/fetch.c:21
 msgid "git fetch [<options>] [<repository> [<refspec>...]]"
 msgstr "git fetch [ОПЦИЯ…] [ХРАНИЛИЩЕ [УКАЗАТЕЛ…]]"
 
-#: builtin/fetch.c:21
+#: builtin/fetch.c:22
 msgid "git fetch [<options>] <group>"
 msgstr "git fetch [ОПЦИЯ…] ГРУПА"
 
-#: builtin/fetch.c:22
+#: builtin/fetch.c:23
 msgid "git fetch --multiple [<options>] [(<repository> | <group>)...]"
 msgstr "git fetch --multiple [ОПЦИЯ…] [(ХРАНИЛИЩЕ | ГРУПА)…]"
 
-#: builtin/fetch.c:23
+#: builtin/fetch.c:24
 msgid "git fetch --all [<options>]"
 msgstr "git fetch --all [ОПЦИЯ…]"
 
-#: builtin/fetch.c:92 builtin/pull.c:174
+#: builtin/fetch.c:95 builtin/pull.c:175
 msgid "fetch from all remotes"
 msgstr "доставяне от всички отдалечени хранилища"
 
-#: builtin/fetch.c:94 builtin/pull.c:177
+#: builtin/fetch.c:97 builtin/pull.c:178
 msgid "append to .git/FETCH_HEAD instead of overwriting"
 msgstr "добавяне към „.git/FETCH_HEAD“ вместо замяна"
 
-#: builtin/fetch.c:96 builtin/pull.c:180
+#: builtin/fetch.c:99 builtin/pull.c:181
 msgid "path to upload pack on remote end"
 msgstr "отдалечен път, където да се качи пакетът"
 
-#: builtin/fetch.c:97 builtin/pull.c:182
+#: builtin/fetch.c:100 builtin/pull.c:183
 msgid "force overwrite of local branch"
 msgstr "принудително презаписване на локалния клон"
 
-#: builtin/fetch.c:99
+#: builtin/fetch.c:102
 msgid "fetch from multiple remotes"
 msgstr "доставяне от множество отдалечени хранилища"
 
-#: builtin/fetch.c:101 builtin/pull.c:184
+#: builtin/fetch.c:104 builtin/pull.c:185
 msgid "fetch all tags and associated objects"
 msgstr "доставяне на всички етикети и принадлежащи обекти"
 
-#: builtin/fetch.c:103
+#: builtin/fetch.c:106
 msgid "do not fetch all tags (--no-tags)"
 msgstr "без доставянето на всички етикети „--no-tags“"
 
-#: builtin/fetch.c:105
+#: builtin/fetch.c:108
 msgid "number of submodules fetched in parallel"
 msgstr "брой подмодули доставени паралелно"
 
-#: builtin/fetch.c:107 builtin/pull.c:187
+#: builtin/fetch.c:110 builtin/pull.c:188
 msgid "prune remote-tracking branches no longer on remote"
 msgstr "окастряне на клоните следящи вече несъществуващи отдалечени клони"
 
-#: builtin/fetch.c:108 builtin/pull.c:190
+#: builtin/fetch.c:111 builtin/pull.c:191
 msgid "on-demand"
 msgstr "ПРИ НУЖДА"
 
-#: builtin/fetch.c:109 builtin/pull.c:191
+#: builtin/fetch.c:112 builtin/pull.c:192
 msgid "control recursive fetching of submodules"
 msgstr "управление на рекурсивното доставяне на подмодулите"
 
-#: builtin/fetch.c:113 builtin/pull.c:199
+#: builtin/fetch.c:116 builtin/pull.c:200
 msgid "keep downloaded pack"
 msgstr "запазване на изтеглените пакети с обекти"
 
-#: builtin/fetch.c:115
+#: builtin/fetch.c:118
 msgid "allow updating of HEAD ref"
 msgstr "позволяване на обновяването на указателя „HEAD“"
 
-#: builtin/fetch.c:118 builtin/pull.c:202
+#: builtin/fetch.c:121 builtin/fetch.c:127 builtin/pull.c:203
 msgid "deepen history of shallow clone"
 msgstr "задълбочаване на историята на плитко хранилище"
 
-#: builtin/fetch.c:120 builtin/pull.c:205
+#: builtin/fetch.c:123
+msgid "deepen history of shallow repository based on time"
+msgstr "задълбочаване на историята на плитко хранилище до определено време"
+
+#: builtin/fetch.c:129 builtin/pull.c:206
 msgid "convert to a complete repository"
 msgstr "превръщане в пълно хранилище"
 
-#: builtin/fetch.c:122 builtin/log.c:1399
+#: builtin/fetch.c:131 builtin/log.c:1433
 msgid "dir"
 msgstr "директория"
 
-#: builtin/fetch.c:123
+#: builtin/fetch.c:132
 msgid "prepend this to submodule path output"
 msgstr "добавяне на това пред пътя на подмодула"
 
-#: builtin/fetch.c:126
+#: builtin/fetch.c:135
 msgid "default mode for recursion"
 msgstr "стандартен режим на рекурсия"
 
-#: builtin/fetch.c:128 builtin/pull.c:208
+#: builtin/fetch.c:137 builtin/pull.c:209
 msgid "accept refs that update .git/shallow"
 msgstr "приемане на указатели, които обновяват „.git/shallow“"
 
-#: builtin/fetch.c:129 builtin/pull.c:210
+#: builtin/fetch.c:138 builtin/pull.c:211
 msgid "refmap"
 msgstr "КАРТА_С_УКАЗАТЕЛИ"
 
-#: builtin/fetch.c:130 builtin/pull.c:211
+#: builtin/fetch.c:139 builtin/pull.c:212
 msgid "specify fetch refmap"
 msgstr "указване на КАРТАта_С_УКАЗАТЕЛИ за доставяне"
 
-#: builtin/fetch.c:386
+#: builtin/fetch.c:398
 msgid "Couldn't find remote ref HEAD"
 msgstr "Указателят „HEAD“ в отдалеченото хранилище не може да бъде открит"
 
-#: builtin/fetch.c:466
+#: builtin/fetch.c:514
+#, c-format
+msgid "configuration fetch.output contains invalid value %s"
+msgstr "настройката „fetch.output“ е с неправилна стойност „%s“"
+
+#: builtin/fetch.c:607
 #, c-format
 msgid "object %s not found"
 msgstr "обектът „%s“ липсва"
 
-#: builtin/fetch.c:471
+#: builtin/fetch.c:611
 msgid "[up to date]"
 msgstr "[актуализиран]"
 
-#: builtin/fetch.c:485
-#, c-format
-msgid "! %-*s %-*s -> %s  (can't fetch in current branch)"
-msgstr "! %-*s %-*s → %s  (в текущия клон не може да се доставя)"
-
-#: builtin/fetch.c:486 builtin/fetch.c:574
+#: builtin/fetch.c:624 builtin/fetch.c:704
 msgid "[rejected]"
 msgstr "[отхвърлен]"
 
-#: builtin/fetch.c:497
+#: builtin/fetch.c:625
+msgid "can't fetch in current branch"
+msgstr "в текущия клон не може да се доставя"
+
+#: builtin/fetch.c:634
 msgid "[tag update]"
 msgstr "[обновяване на етикетите]"
 
-#: builtin/fetch.c:499 builtin/fetch.c:534 builtin/fetch.c:552
-msgid "  (unable to update local ref)"
-msgstr "  (локалните указатели не могат да бъдат обновени)"
-
-#: builtin/fetch.c:517
-msgid "[new tag]"
-msgstr "[нов етикет]"
-
-#: builtin/fetch.c:520
-msgid "[new branch]"
-msgstr "[нов клон]"
-
-#: builtin/fetch.c:523
-msgid "[new ref]"
-msgstr "[нов указател]"
-
-#: builtin/fetch.c:569
+#: builtin/fetch.c:635 builtin/fetch.c:668 builtin/fetch.c:684
+#: builtin/fetch.c:699
 msgid "unable to update local ref"
 msgstr "локален указател не може да бъде обновен"
 
-#: builtin/fetch.c:569
+#: builtin/fetch.c:654
+msgid "[new tag]"
+msgstr "[нов етикет]"
+
+#: builtin/fetch.c:657
+msgid "[new branch]"
+msgstr "[нов клон]"
+
+#: builtin/fetch.c:660
+msgid "[new ref]"
+msgstr "[нов указател]"
+
+#: builtin/fetch.c:699
 msgid "forced update"
 msgstr "принудително обновяване"
 
-#: builtin/fetch.c:576
-msgid "(non-fast-forward)"
-msgstr "(сливането не е тривиално)"
+#: builtin/fetch.c:704
+msgid "non-fast-forward"
+msgstr "сливането не е тривиално"
 
-#: builtin/fetch.c:619
+#: builtin/fetch.c:749
 #, c-format
 msgid "%s did not send all necessary objects\n"
 msgstr "хранилището „%s“ не изпрати всички необходими обекти\n"
 
-#: builtin/fetch.c:637
+#: builtin/fetch.c:769
 #, c-format
 msgid "reject %s because shallow roots are not allowed to be updated"
 msgstr ""
 "отхвърляне на върха „%s“, защото плитките хранилища не могат да бъдат "
 "обновявани"
 
-#: builtin/fetch.c:724 builtin/fetch.c:816
+#: builtin/fetch.c:856 builtin/fetch.c:952
 #, c-format
 msgid "From %.*s\n"
 msgstr "От %.*s\n"
 
-# FIXME - is the space necessary
-#: builtin/fetch.c:735
+#: builtin/fetch.c:867
 #, c-format
 msgid ""
 "some local refs could not be updated; try running\n"
 " 'git remote prune %s' to remove any old, conflicting branches"
 msgstr ""
-"някои локални указатели не могат да бъдат обновени. Изпълнете командата\n"
+"някои локални указатели не могат да бъдат обновени.  Изпълнете командата\n"
 "„git remote prune %s“, за да премахнете остарелите клони, които\n"
 "предизвикват конфликта"
 
-#: builtin/fetch.c:787
+#: builtin/fetch.c:922
 #, c-format
 msgid "   (%s will become dangling)"
 msgstr "   (обектът „%s“ ще се окаже извън клон)"
 
-#: builtin/fetch.c:788
+#: builtin/fetch.c:923
 #, c-format
 msgid "   (%s has become dangling)"
 msgstr "   (обектът „%s“ вече е извън клон)"
 
-#: builtin/fetch.c:820
+#: builtin/fetch.c:955
 msgid "[deleted]"
 msgstr "[изтрит]"
 
-#: builtin/fetch.c:821 builtin/remote.c:1025
+#: builtin/fetch.c:956 builtin/remote.c:1020
 msgid "(none)"
 msgstr "(нищо)"
 
-#: builtin/fetch.c:841
+#: builtin/fetch.c:979
 #, c-format
 msgid "Refusing to fetch into current branch %s of non-bare repository"
 msgstr "Не може да доставите в текущия клон „%s“ на хранилище, което не е голо"
 
-#: builtin/fetch.c:860
+#: builtin/fetch.c:998
 #, c-format
 msgid "Option \"%s\" value \"%s\" is not valid for %s"
 msgstr "Стойността „%2$s“ за опцията „%1$s“ не е съвместима с „%3$s“"
 
-#: builtin/fetch.c:863
+#: builtin/fetch.c:1001
 #, c-format
 msgid "Option \"%s\" is ignored for %s\n"
-msgstr "Опцията „%s“ се игнорира при „%s“\n"
+msgstr "Опцията „%s“ се прескача при „%s“\n"
 
-#: builtin/fetch.c:920
+#: builtin/fetch.c:1077
 #, c-format
 msgid "Don't know how to fetch from %s"
 msgstr "Не се поддържа доставяне от „%s“"
 
-#: builtin/fetch.c:1080
+#: builtin/fetch.c:1237
 #, c-format
 msgid "Fetching %s\n"
 msgstr "Доставяне на „%s“\n"
 
-#: builtin/fetch.c:1082 builtin/remote.c:96
+#: builtin/fetch.c:1239 builtin/remote.c:96
 #, c-format
 msgid "Could not fetch %s"
 msgstr "„%s“ не може да се достави"
 
-#: builtin/fetch.c:1100
+#: builtin/fetch.c:1257
 msgid ""
 "No remote repository specified.  Please, specify either a URL or a\n"
 "remote name from which new revisions should be fetched."
 msgstr ""
-"Не сте указали отдалечено хранилище. Задайте или адрес, или име\n"
+"Не сте указали отдалечено хранилище.  Задайте или адрес, или име\n"
 "на отдалечено хранилище, откъдето да се доставят новите версии."
 
-#: builtin/fetch.c:1123
+#: builtin/fetch.c:1280
 msgid "You need to specify a tag name."
 msgstr "Трябва да укажете име на етикет."
 
-#: builtin/fetch.c:1165
+#: builtin/fetch.c:1322
+msgid "Negative depth in --deepen is not supported"
+msgstr "Отрицателна дълбочина като аргумент на „--deepen“ не се поддържа"
+
+#: builtin/fetch.c:1324
+msgid "--deepen and --depth are mutually exclusive"
+msgstr "Опциите „--deepen“ и „--depth“ са несъвместими една с друга"
+
+#: builtin/fetch.c:1329
 msgid "--depth and --unshallow cannot be used together"
 msgstr "опциите „--depth“ и „--unshallow“ са несъвместими"
 
-#: builtin/fetch.c:1167
+#: builtin/fetch.c:1331
 msgid "--unshallow on a complete repository does not make sense"
 msgstr "не можете да използвате опцията „--unshallow“ върху пълно хранилище"
 
-#: builtin/fetch.c:1187
+#: builtin/fetch.c:1353
 msgid "fetch --all does not take a repository argument"
 msgstr "към „git fetch --all“ не можете да добавите аргумент — хранилище"
 
-#: builtin/fetch.c:1189
+#: builtin/fetch.c:1355
 msgid "fetch --all does not make sense with refspecs"
 msgstr ""
 "към „git fetch --all“ не можете да добавите аргумент — указател на версия"
 
-#: builtin/fetch.c:1200
+#: builtin/fetch.c:1366
 #, c-format
 msgid "No such remote or remote group: %s"
 msgstr "Няма нито отдалечено хранилище, нито група от хранилища на име „%s“"
 
-#: builtin/fetch.c:1208
+#: builtin/fetch.c:1374
 msgid "Fetching a group and specifying refspecs does not make sense"
 msgstr "Указването на група и указването на версия са несъвместими"
 
@@ -6775,25 +7783,25 @@
 msgstr ""
 "git fmt-merge-msg [-m СЪОБЩЕНИЕ] [--log[=БРОЙ] | --no-log] [--file ФАЙЛ]"
 
-#: builtin/fmt-merge-msg.c:667
+#: builtin/fmt-merge-msg.c:663
 msgid "populate log with at most <n> entries from shortlog"
 msgstr ""
 "вмъкване на журнал състоящ се от не повече от БРОЙ записа от съкратения "
 "журнал"
 
-#: builtin/fmt-merge-msg.c:670
+#: builtin/fmt-merge-msg.c:666
 msgid "alias for --log (deprecated)"
 msgstr "синоним на „--log“ (остаряло)"
 
-#: builtin/fmt-merge-msg.c:673
+#: builtin/fmt-merge-msg.c:669
 msgid "text"
 msgstr "ТЕКСТ"
 
-#: builtin/fmt-merge-msg.c:674
+#: builtin/fmt-merge-msg.c:670
 msgid "use <text> as start of message"
 msgstr "за начало на съобщението да се ползва ТЕКСТ"
 
-#: builtin/fmt-merge-msg.c:675
+#: builtin/fmt-merge-msg.c:671
 msgid "file to read from"
 msgstr "файл, от който да се чете"
 
@@ -6853,68 +7861,67 @@
 msgid "print only refs which contain the commit"
 msgstr "извеждане само на указателите, които съдържат това ПОДАВАНЕ"
 
-#: builtin/fsck.c:156 builtin/prune.c:140
-msgid "Checking connectivity"
-msgstr "Проверка на връзката"
-
-#: builtin/fsck.c:486
+#: builtin/fsck.c:519
 msgid "Checking object directories"
 msgstr "Проверка на директориите с обекти"
 
-#: builtin/fsck.c:552
+#: builtin/fsck.c:588
 msgid "git fsck [<options>] [<object>...]"
 msgstr "git fsck [ОПЦИЯ…] [ОБЕКТ…]"
 
-#: builtin/fsck.c:558
+#: builtin/fsck.c:594
 msgid "show unreachable objects"
 msgstr "показване на недостижимите обекти"
 
-#: builtin/fsck.c:559
+#: builtin/fsck.c:595
 msgid "show dangling objects"
 msgstr "показване на обектите извън клоните"
 
-#: builtin/fsck.c:560
+#: builtin/fsck.c:596
 msgid "report tags"
 msgstr "показване на етикетите"
 
-#: builtin/fsck.c:561
+#: builtin/fsck.c:597
 msgid "report root nodes"
 msgstr "показване на кореновите възли"
 
-#: builtin/fsck.c:562
+#: builtin/fsck.c:598
 msgid "make index objects head nodes"
 msgstr "задаване на обекти от индекса да са коренови"
 
 # FIXME bad message
-#: builtin/fsck.c:563
+#: builtin/fsck.c:599
 msgid "make reflogs head nodes (default)"
 msgstr "проследяване на указателите от журнала като глави (стандартно)"
 
-#: builtin/fsck.c:564
+#: builtin/fsck.c:600
 msgid "also consider packs and alternate objects"
 msgstr "допълнително да се проверяват пакетите и алтернативните обекти"
 
-#: builtin/fsck.c:565
+#: builtin/fsck.c:601
 msgid "check only connectivity"
 msgstr "проверка само на връзката"
 
-#: builtin/fsck.c:566
+#: builtin/fsck.c:602
 msgid "enable more strict checking"
 msgstr "по-строги проверки"
 
-#: builtin/fsck.c:568
+#: builtin/fsck.c:604
 msgid "write dangling objects in .git/lost-found"
 msgstr "запазване на обектите извън клоните в директорията „.git/lost-found“"
 
-#: builtin/fsck.c:569 builtin/prune.c:107
+#: builtin/fsck.c:605 builtin/prune.c:107
 msgid "show progress"
 msgstr "показване на напредъка"
 
-#: builtin/fsck.c:630
+#: builtin/fsck.c:606
+msgid "show verbose names for reachable objects"
+msgstr "показване на подробни имена на достижимите обекти"
+
+#: builtin/fsck.c:665
 msgid "Checking objects"
 msgstr "Проверка на обектите"
 
-# FIXME plural with ...
 #: builtin/gc.c:25
 msgid "git gc [<options>]"
 msgstr "git gc [ОПЦИЯ…]"
@@ -6938,7 +7945,7 @@
 "\n"
 "%s"
 msgstr ""
-"При последното изпълнение на „git gc“ бе докладвана грешка. Коригирайте "
+"При последното изпълнение на „git gc“ бе докладвана грешка.  Коригирайте "
 "причината за\n"
 "нея и изтрийте „%s“.\n"
 "Автоматичното изчистване на боклука няма да работи, преди да изтриете "
@@ -6999,7 +8006,6 @@
 "Има прекалено много недостижими, непакетирани обекти.\n"
 "Използвайте „git prune“, за да ги окастрите."
 
-# FIXME plural ... options
 #: builtin/grep.c:23
 msgid "git grep [<options>] [-e] <pattern> [<rev>...] [[--] <path>...]"
 msgstr "git grep [ОПЦИЯ…] [-e] ШАБЛОН [ВЕРСИЯ…] [[--] ПЪТ…]"
@@ -7014,239 +8020,234 @@
 msgid "invalid number of threads specified (%d) for %s"
 msgstr "зададен е неправилен брой нишки (%d) за %s"
 
-#: builtin/grep.c:452 builtin/grep.c:487
+#: builtin/grep.c:453 builtin/grep.c:488
 #, c-format
 msgid "unable to read tree (%s)"
 msgstr "дървото не може да бъде прочетено (%s)"
 
-#: builtin/grep.c:502
+#: builtin/grep.c:503
 #, c-format
 msgid "unable to grep from object of type %s"
 msgstr "не може да се изпълни „grep“ от обект от вида %s"
 
-#: builtin/grep.c:560
+#: builtin/grep.c:561
 #, c-format
 msgid "switch `%c' expects a numerical value"
 msgstr "опцията „%c“ очаква число за аргумент"
 
-#: builtin/grep.c:577
-#, c-format
-msgid "cannot open '%s'"
-msgstr "„%s“ не може да бъде отворен"
-
-#: builtin/grep.c:646
+#: builtin/grep.c:647
 msgid "search in index instead of in the work tree"
 msgstr "търсене в индекса, а не в работното дърво"
 
-#: builtin/grep.c:648
+#: builtin/grep.c:649
 msgid "find in contents not managed by git"
 msgstr "търсене и във файловете, които не са под управлението на git"
 
-#: builtin/grep.c:650
+#: builtin/grep.c:651
 msgid "search in both tracked and untracked files"
 msgstr "търсене и в следените, и в неследените файлове"
 
-#: builtin/grep.c:652
+#: builtin/grep.c:653
 msgid "ignore files specified via '.gitignore'"
 msgstr "игнориране на файловете указани в „.gitignore“"
 
-#: builtin/grep.c:655
+#: builtin/grep.c:656
 msgid "show non-matching lines"
 msgstr "извеждане на редовете, които не съвпадат"
 
-#: builtin/grep.c:657
+#: builtin/grep.c:658
 msgid "case insensitive matching"
 msgstr "без значение на регистъра на буквите (главни/малки)"
 
-#: builtin/grep.c:659
+#: builtin/grep.c:660
 msgid "match patterns only at word boundaries"
 msgstr "напасване на шаблоните само по границите на думите"
 
-#: builtin/grep.c:661
+#: builtin/grep.c:662
 msgid "process binary files as text"
 msgstr "обработване на двоичните файлове като текстови"
 
-#: builtin/grep.c:663
+#: builtin/grep.c:664
 msgid "don't match patterns in binary files"
 msgstr "прескачане на двоичните файлове"
 
-#: builtin/grep.c:666
+#: builtin/grep.c:667
 msgid "process binary files with textconv filters"
 msgstr ""
 "обработване на двоичните файлове чрез филтри за преобразуване към текст"
 
-#: builtin/grep.c:668
+#: builtin/grep.c:669
 msgid "descend at most <depth> levels"
 msgstr "навлизане максимално на тази ДЪЛБОЧИНА в дървото"
 
-#: builtin/grep.c:672
+#: builtin/grep.c:673
 msgid "use extended POSIX regular expressions"
 msgstr "разширени регулярни изрази по POSIX"
 
-#: builtin/grep.c:675
+#: builtin/grep.c:676
 msgid "use basic POSIX regular expressions (default)"
 msgstr "основни регулярни изрази по POSIX (стандартно)"
 
-#: builtin/grep.c:678
+#: builtin/grep.c:679
 msgid "interpret patterns as fixed strings"
 msgstr "шаблоните са дословни низове"
 
-#: builtin/grep.c:681
+#: builtin/grep.c:682
 msgid "use Perl-compatible regular expressions"
 msgstr "регулярни изрази на Perl"
 
-#: builtin/grep.c:684
+#: builtin/grep.c:685
 msgid "show line numbers"
 msgstr "извеждане на номерата на редовете"
 
-#: builtin/grep.c:685
+#: builtin/grep.c:686
 msgid "don't show filenames"
 msgstr "без извеждане на имената на файловете"
 
-#: builtin/grep.c:686
+#: builtin/grep.c:687
 msgid "show filenames"
 msgstr "извеждане на имената на файловете"
 
-#: builtin/grep.c:688
+#: builtin/grep.c:689
 msgid "show filenames relative to top directory"
 msgstr ""
 "извеждане на относителните имена на файловете спрямо основната директория на "
 "хранилището"
 
-#: builtin/grep.c:690
+#: builtin/grep.c:691
 msgid "show only filenames instead of matching lines"
 msgstr "извеждане само на имената на файловете без напасващите редове"
 
-#: builtin/grep.c:692
+#: builtin/grep.c:693
 msgid "synonym for --files-with-matches"
 msgstr "синоним на „--files-with-matches“"
 
-#: builtin/grep.c:695
+#: builtin/grep.c:696
 msgid "show only the names of files without match"
 msgstr ""
 "извеждане само на имената на файловете, които не съдържат ред, напасващ на "
 "шаблона"
 
-#: builtin/grep.c:697
+#: builtin/grep.c:698
 msgid "print NUL after filenames"
 msgstr "извеждане на нулевия знак „NUL“ след всяко име на файл"
 
-#: builtin/grep.c:699
+#: builtin/grep.c:700
 msgid "show the number of matches instead of matching lines"
 msgstr "извеждане на броя на съвпаденията вместо напасващите редове"
 
-#: builtin/grep.c:700
+#: builtin/grep.c:701
 msgid "highlight matches"
 msgstr "оцветяване на напасванията"
 
-#: builtin/grep.c:702
+#: builtin/grep.c:703
 msgid "print empty line between matches from different files"
 msgstr "извеждане на празен ред между напасванията от различни файлове"
 
-#: builtin/grep.c:704
+#: builtin/grep.c:705
 msgid "show filename only once above matches from same file"
 msgstr ""
 "извеждане на името на файла само веднъж за всички напасвания от този файл"
 
-#: builtin/grep.c:707
+#: builtin/grep.c:708
 msgid "show <n> context lines before and after matches"
 msgstr "извеждане на такъв БРОЙ редове преди и след напасванията"
 
-#: builtin/grep.c:710
+#: builtin/grep.c:711
 msgid "show <n> context lines before matches"
 msgstr "извеждане на такъв БРОЙ редове преди напасванията"
 
-#: builtin/grep.c:712
+#: builtin/grep.c:713
 msgid "show <n> context lines after matches"
 msgstr "извеждане на такъв БРОЙ редове след напасванията"
 
-#: builtin/grep.c:714
+#: builtin/grep.c:715
 msgid "use <n> worker threads"
 msgstr "използване на такъв БРОЙ работещи нишки"
 
-#: builtin/grep.c:715
+#: builtin/grep.c:716
 msgid "shortcut for -C NUM"
 msgstr "синоним на „-C БРОЙ“"
 
-#: builtin/grep.c:718
+#: builtin/grep.c:719
 msgid "show a line with the function name before matches"
 msgstr "извеждане на ред с името на функцията, в която е напаснат шаблона"
 
-#: builtin/grep.c:720
+#: builtin/grep.c:721
 msgid "show the surrounding function"
 msgstr "извеждане на обхващащата функция"
 
-#: builtin/grep.c:723
+#: builtin/grep.c:724
 msgid "read patterns from file"
 msgstr "изчитане на шаблоните от ФАЙЛ"
 
-#: builtin/grep.c:725
+#: builtin/grep.c:726
 msgid "match <pattern>"
 msgstr "напасване на ШАБЛОН"
 
-#: builtin/grep.c:727
+#: builtin/grep.c:728
 msgid "combine patterns specified with -e"
 msgstr "комбиниране на шаблоните указани с опцията „-e“"
 
-#: builtin/grep.c:739
+#: builtin/grep.c:740
 msgid "indicate hit with exit status without output"
 msgstr ""
-"без извеждане на стандартния изход. Изходният код указва наличието на "
+"без извеждане на стандартния изход.  Изходният код указва наличието на "
 "напасване"
 
-#: builtin/grep.c:741
+#: builtin/grep.c:742
 msgid "show only matches from files that match all patterns"
 msgstr ""
 "извеждане на редове само от файловете, които напасват на всички шаблони"
 
-#: builtin/grep.c:743
+#: builtin/grep.c:744
 msgid "show parse tree for grep expression"
 msgstr "извеждане на дървото за анализ на регулярния израз"
 
-#: builtin/grep.c:747
+#: builtin/grep.c:748
 msgid "pager"
 msgstr "програма за преглед по страници"
 
-#: builtin/grep.c:747
+#: builtin/grep.c:748
 msgid "show matching files in the pager"
 msgstr "извеждане на съвпадащите файлове в програма за преглед по страници"
 
-#: builtin/grep.c:750
+#: builtin/grep.c:751
 msgid "allow calling of grep(1) (ignored by this build)"
 msgstr ""
 "позволяване на стартирането на grep(1) (текущият компилат пренебрегва тази "
 "опция)"
 
-#: builtin/grep.c:813
+#: builtin/grep.c:814
 msgid "no pattern given."
 msgstr "липсва шаблон."
 
-#: builtin/grep.c:845 builtin/index-pack.c:1477
+#: builtin/grep.c:846 builtin/index-pack.c:1480
 #, c-format
 msgid "invalid number of threads specified (%d)"
 msgstr "зададен е неправилен брой нишки: %d"
 
-#: builtin/grep.c:875
+#: builtin/grep.c:876
 msgid "--open-files-in-pager only works on the worktree"
 msgstr ""
 "опцията „--open-files-in-pager“ е съвместима само с търсене в работното дърво"
 
-#: builtin/grep.c:901
+#: builtin/grep.c:902
 msgid "--cached or --untracked cannot be used with --no-index."
 msgstr "опциите „--cached“ и „--untracked“ са несъвместими с „--no-index“."
 
-#: builtin/grep.c:906
+#: builtin/grep.c:907
 msgid "--no-index or --untracked cannot be used with revs."
 msgstr ""
 "опциите „--cached“ и „--untracked“ са несъвместими с търсене във версии."
 
-#: builtin/grep.c:909
+#: builtin/grep.c:910
 msgid "--[no-]exclude-standard cannot be used for tracked contents."
 msgstr ""
 "опциите „--(no-)exclude-standard“ са несъвместими с търсене по следени "
 "файлове."
 
-#: builtin/grep.c:917
+#: builtin/grep.c:918
 msgid "both --cached and trees are given."
 msgstr "опцията „--cached“ е несъвместима със задаване на дърво."
 
@@ -7262,547 +8263,549 @@
 msgid "git hash-object  --stdin-paths"
 msgstr "git hash-object --stdin-paths"
 
-#: builtin/hash-object.c:93
+#: builtin/hash-object.c:94
 msgid "type"
 msgstr "ВИД"
 
-#: builtin/hash-object.c:93
+#: builtin/hash-object.c:94
 msgid "object type"
 msgstr "ВИД на обекта"
 
-#: builtin/hash-object.c:94
+#: builtin/hash-object.c:95
 msgid "write the object into the object database"
 msgstr "записване на обекта в базата от данни за обектите"
 
-#: builtin/hash-object.c:96
+#: builtin/hash-object.c:97
 msgid "read the object from stdin"
 msgstr "изчитане на обекта от стандартния вход"
 
-#: builtin/hash-object.c:98
+#: builtin/hash-object.c:99
 msgid "store file as is without filters"
 msgstr "запазване на файла както е — без филтри"
 
-#: builtin/hash-object.c:99
+#: builtin/hash-object.c:100
 msgid ""
 "just hash any random garbage to create corrupt objects for debugging Git"
 msgstr ""
 "създаване и хеширане на произволни данни за повредени обекти за трасиране на "
 "Git"
 
-#: builtin/hash-object.c:100
+#: builtin/hash-object.c:101
 msgid "process file as it were from this path"
 msgstr "обработване на ФАЙЛа все едно е с този път"
 
-#: builtin/help.c:41
+#: builtin/help.c:42
 msgid "print all available commands"
 msgstr "показване на всички налични команди"
 
-#: builtin/help.c:42
+#: builtin/help.c:43
+msgid "exclude guides"
+msgstr "без пътеводетели"
+
+#: builtin/help.c:44
 msgid "print list of useful guides"
 msgstr "показване на списък с пътеводители"
 
-#: builtin/help.c:43
+#: builtin/help.c:45
 msgid "show man page"
 msgstr "показване на страница от ръководството"
 
-#: builtin/help.c:44
+#: builtin/help.c:46
 msgid "show manual in web browser"
 msgstr "показване на страница от ръководството в уеб браузър"
 
-#: builtin/help.c:46
+#: builtin/help.c:48
 msgid "show info page"
 msgstr "показване на информационна страница"
 
-#: builtin/help.c:52
+#: builtin/help.c:54
 msgid "git help [--all] [--guides] [--man | --web | --info] [<command>]"
 msgstr "git help [--all] [--guides] [--man | --web | --info] [КОМАНДА]"
 
-#: builtin/help.c:64
+#: builtin/help.c:66
 #, c-format
 msgid "unrecognized help format '%s'"
 msgstr "непознат формат на помощта „%s“"
 
-#: builtin/help.c:91
+#: builtin/help.c:93
 msgid "Failed to start emacsclient."
 msgstr "Неуспешно стартиране на „emacsclient“."
 
-#: builtin/help.c:104
+#: builtin/help.c:106
 msgid "Failed to parse emacsclient version."
 msgstr "Версията на „emacsclient“ не може да се анализира."
 
-#: builtin/help.c:112
+#: builtin/help.c:114
 #, c-format
 msgid "emacsclient version '%d' too old (< 22)."
 msgstr "Прекалено стара версия на „emacsclient“ — %d (< 22)."
 
-#: builtin/help.c:130 builtin/help.c:151 builtin/help.c:160 builtin/help.c:168
+#: builtin/help.c:132 builtin/help.c:153 builtin/help.c:162 builtin/help.c:170
 #, c-format
 msgid "failed to exec '%s'"
 msgstr "неуспешно изпълнение на „%s“"
 
-#: builtin/help.c:205
+#: builtin/help.c:207
 #, c-format
 msgid ""
 "'%s': path for unsupported man viewer.\n"
 "Please consider using 'man.<tool>.cmd' instead."
 msgstr ""
 "„%s“: път към неподдържана програма за преглед на\n"
-" ръководството. Вместо нея пробвайте „man.<tool>.cmd“."
+" ръководството.  Вместо нея пробвайте „man.<tool>.cmd“."
 
-#: builtin/help.c:217
+#: builtin/help.c:219
 #, c-format
 msgid ""
 "'%s': cmd for supported man viewer.\n"
 "Please consider using 'man.<tool>.path' instead."
 msgstr ""
 "„%s“: команда за поддържана програма за преглед на\n"
-" ръководството. Вместо нея пробвайте „man.<tool>.path“."
+" ръководството.  Вместо нея пробвайте „man.<tool>.path“."
 
-#: builtin/help.c:334
+#: builtin/help.c:336
 #, c-format
 msgid "'%s': unknown man viewer."
 msgstr "„%s“: непозната програма за преглед на ръководството."
 
-#: builtin/help.c:351
+#: builtin/help.c:353
 msgid "no man viewer handled the request"
 msgstr "никоя програма за преглед на ръководство не успя да обработи заявката"
 
-#: builtin/help.c:359
+#: builtin/help.c:361
 msgid "no info viewer handled the request"
 msgstr ""
 "никоя програма за преглед на информационните страници не успя да обработи "
 "заявката"
 
-#: builtin/help.c:408
+#: builtin/help.c:403
 msgid "Defining attributes per path"
 msgstr "Указване на атрибути към път"
 
-#: builtin/help.c:409
+#: builtin/help.c:404
 msgid "Everyday Git With 20 Commands Or So"
 msgstr "Ежедневието в Git в рамките на 20-ина команди"
 
-#: builtin/help.c:410
+#: builtin/help.c:405
 msgid "A Git glossary"
 msgstr "Речник с термините на Git"
 
-#: builtin/help.c:411
+#: builtin/help.c:406
 msgid "Specifies intentionally untracked files to ignore"
 msgstr "Указване на неследени файлове, които да бъдат нарочно пренебрегвани"
 
-#: builtin/help.c:412
+#: builtin/help.c:407
 msgid "Defining submodule properties"
 msgstr "Дефиниране на свойствата на подмодулите"
 
-#: builtin/help.c:413
+#: builtin/help.c:408
 msgid "Specifying revisions and ranges for Git"
-msgstr "Указване на версии и интервали в Git"
+msgstr "Указване на версии и диапазони в Git"
 
-#: builtin/help.c:414
+#: builtin/help.c:409
 msgid "A tutorial introduction to Git (for version 1.5.1 or newer)"
 msgstr "Въвеждащ урок за Git (версии поне 1.5.1)"
 
-#: builtin/help.c:415
+#: builtin/help.c:410
 msgid "An overview of recommended workflows with Git"
 msgstr "Общ преглед на препоръчваните начини за работа с Git"
 
-#: builtin/help.c:427
+#: builtin/help.c:422
 msgid "The common Git guides are:\n"
 msgstr "Популярните пътеводители в Git са:\n"
 
-#: builtin/help.c:448 builtin/help.c:465
-#, c-format
-msgid "usage: %s%s"
-msgstr "употреба: %s%s"
-
-#: builtin/help.c:481
+#: builtin/help.c:440
 #, c-format
 msgid "`git %s' is aliased to `%s'"
 msgstr "„git %s“ е синоним на „%s“"
 
+#: builtin/help.c:462 builtin/help.c:479
+#, c-format
+msgid "usage: %s%s"
+msgstr "употреба: %s%s"
+
 # FIXME merge with next?
-#: builtin/index-pack.c:152
+#: builtin/index-pack.c:154
 #, c-format
 msgid "unable to open %s"
 msgstr "обектът „%s“ не може да бъде отворен"
 
-#: builtin/index-pack.c:202
+#: builtin/index-pack.c:204
 #, c-format
 msgid "object type mismatch at %s"
 msgstr "неправилен вид на обекта „%s“"
 
-#: builtin/index-pack.c:222
+#: builtin/index-pack.c:224
 #, c-format
 msgid "did not receive expected object %s"
 msgstr "очакваният обект „%s“ не бе получен"
 
-#: builtin/index-pack.c:225
+#: builtin/index-pack.c:227
 #, c-format
 msgid "object %s: expected type %s, found %s"
 msgstr "неправилен вид на обекта „%s“: очакваше се „%s“, а бе получен „%s“"
 
-#: builtin/index-pack.c:267
+#: builtin/index-pack.c:269
 #, c-format
 msgid "cannot fill %d byte"
 msgid_plural "cannot fill %d bytes"
 msgstr[0] "не може да се запълни %d байт"
 msgstr[1] "не може да се запълнят %d байта"
 
-#: builtin/index-pack.c:277
+#: builtin/index-pack.c:279
 msgid "early EOF"
 msgstr "неочакван край на файл"
 
-#: builtin/index-pack.c:278
+#: builtin/index-pack.c:280
 msgid "read error on input"
 msgstr "грешка при четене на входните данни"
 
-#: builtin/index-pack.c:290
+#: builtin/index-pack.c:292
 msgid "used more bytes than were available"
 msgstr "използвани са повече от наличните байтове"
 
-#: builtin/index-pack.c:297
+#: builtin/index-pack.c:299
 msgid "pack too large for current definition of off_t"
 msgstr "пакетният файл е прекалено голям за текущата стойност на типа „off_t“"
 
-#: builtin/index-pack.c:313
+#: builtin/index-pack.c:302 builtin/unpack-objects.c:92
+msgid "pack exceeds maximum allowed size"
+msgstr "пакетният файл надвишава максималния възможен размер"
+
+#: builtin/index-pack.c:317
 #, c-format
 msgid "unable to create '%s'"
 msgstr "пакетният файл „%s“ не може да бъде създаден"
 
-#: builtin/index-pack.c:318
+#: builtin/index-pack.c:322
 #, c-format
 msgid "cannot open packfile '%s'"
 msgstr "пакетният файл „%s“ не може да бъде отворен"
 
-#: builtin/index-pack.c:332
+#: builtin/index-pack.c:336
 msgid "pack signature mismatch"
 msgstr "несъответствие в подписа към пакетния файл"
 
-#: builtin/index-pack.c:334
+#: builtin/index-pack.c:338
 #, c-format
 msgid "pack version %<PRIu32> unsupported"
 msgstr "не се поддържа пакетиране вeрсия „%<PRIu32>“"
 
-#: builtin/index-pack.c:352
+#: builtin/index-pack.c:356
 #, c-format
-msgid "pack has bad object at offset %lu: %s"
-msgstr "повреден обект в пакетния файл при отместване %lu: %s"
+msgid "pack has bad object at offset %<PRIuMAX>: %s"
+msgstr "повреден обект в пакетния файл при отместване %<PRIuMAX>: %s"
 
-#: builtin/index-pack.c:473
+#: builtin/index-pack.c:478
 #, c-format
 msgid "inflate returned %d"
 msgstr "декомпресирането с „inflate“ върна %d"
 
-#: builtin/index-pack.c:522
+#: builtin/index-pack.c:527
 msgid "offset value overflow for delta base object"
 msgstr "стойността на отместването за обекта-разлика води до препълване"
 
-#: builtin/index-pack.c:530
+#: builtin/index-pack.c:535
 msgid "delta base offset is out of bound"
 msgstr "стойността на отместването за обекта-разлика е извън диапазона"
 
-#: builtin/index-pack.c:538
+#: builtin/index-pack.c:543
 #, c-format
 msgid "unknown object type %d"
 msgstr "непознат вид обект %d"
 
-#: builtin/index-pack.c:569
+#: builtin/index-pack.c:574
 msgid "cannot pread pack file"
 msgstr "пакетният файл не може да бъде прочетен"
 
-#: builtin/index-pack.c:571
+#: builtin/index-pack.c:576
 #, c-format
-msgid "premature end of pack file, %lu byte missing"
-msgid_plural "premature end of pack file, %lu bytes missing"
-msgstr[0] "неочакван край на файл, липсва %lu байт"
-msgstr[1] "неочакван край на файл, липсват %lu байта"
+msgid "premature end of pack file, %<PRIuMAX> byte missing"
+msgid_plural "premature end of pack file, %<PRIuMAX> bytes missing"
+msgstr[0] "неочакван край на файл, липсва %<PRIuMAX> байт"
+msgstr[1] "неочакван край на файл, липсват %<PRIuMAX> байта"
 
-#: builtin/index-pack.c:597
+#: builtin/index-pack.c:602
 msgid "serious inflate inconsistency"
 msgstr "сериозна грешка при декомпресиране с „inflate“"
 
-#: builtin/index-pack.c:743 builtin/index-pack.c:749 builtin/index-pack.c:772
-#: builtin/index-pack.c:806 builtin/index-pack.c:815
+#: builtin/index-pack.c:748 builtin/index-pack.c:754 builtin/index-pack.c:777
+#: builtin/index-pack.c:811 builtin/index-pack.c:820
 #, c-format
 msgid "SHA1 COLLISION FOUND WITH %s !"
 msgstr ""
 "СЪВПАДЕНИЕ НА СТОЙНОСТИТЕ ЗА СУМИТЕ ЗА SHA1: „%s“ НА ДВА РАЗЛИЧНИ ОБЕКТА!"
 
 # FIXME merge with next?
-#: builtin/index-pack.c:746 builtin/pack-objects.c:162
-#: builtin/pack-objects.c:254
+#: builtin/index-pack.c:751 builtin/pack-objects.c:166
+#: builtin/pack-objects.c:258
 #, c-format
 msgid "unable to read %s"
 msgstr "обектът „%s“ не може да бъде прочетен"
 
-#: builtin/index-pack.c:812
+#: builtin/index-pack.c:817
 #, c-format
 msgid "cannot read existing object %s"
 msgstr "съществуващият обект „%s“ не може да бъде прочетен"
 
-#: builtin/index-pack.c:826
+#: builtin/index-pack.c:831
 #, c-format
 msgid "invalid blob object %s"
 msgstr "неправилен обект BLOB „%s“"
 
 # FIXME perhaps invalid object
-#: builtin/index-pack.c:840
+#: builtin/index-pack.c:845
 #, c-format
 msgid "invalid %s"
 msgstr "неправилен обект „%s“"
 
-#: builtin/index-pack.c:843
+#: builtin/index-pack.c:848
 msgid "Error in object"
 msgstr "Грешка в обекта"
 
-#: builtin/index-pack.c:845
+#: builtin/index-pack.c:850
 #, c-format
 msgid "Not all child objects of %s are reachable"
 msgstr "Някои обекти, наследници на „%s“, не могат да бъдат достигнати"
 
-#: builtin/index-pack.c:917 builtin/index-pack.c:948
+#: builtin/index-pack.c:922 builtin/index-pack.c:953
 msgid "failed to apply delta"
 msgstr "разликата не може да бъде приложена"
 
-#: builtin/index-pack.c:1118
+#: builtin/index-pack.c:1123
 msgid "Receiving objects"
 msgstr "Получаване на обекти"
 
-#: builtin/index-pack.c:1118
+#: builtin/index-pack.c:1123
 msgid "Indexing objects"
 msgstr "Индексиране на обекти"
 
-#: builtin/index-pack.c:1150
+#: builtin/index-pack.c:1155
 msgid "pack is corrupted (SHA1 mismatch)"
 msgstr "пакетният файл е повреден (нееднакви суми по SHA1)"
 
-#: builtin/index-pack.c:1155
+#: builtin/index-pack.c:1160
 msgid "cannot fstat packfile"
 msgstr "не може да се получи информация за пакетния файл с „fstat“"
 
-#: builtin/index-pack.c:1158
+#: builtin/index-pack.c:1163
 msgid "pack has junk at the end"
 msgstr "в края на пакетния файл има повредени данни"
 
-# FIXME WTF message
-#: builtin/index-pack.c:1169
+#: builtin/index-pack.c:1174
 msgid "confusion beyond insanity in parse_pack_objects()"
 msgstr ""
-"фатална грешка във функцията „parse_pack_objects“. Това е грешка в Git, "
+"фатална грешка във функцията „parse_pack_objects“.  Това е грешка в Git, "
 "докладвайте я на разработчиците, като пратите е-писмо на адрес: „git@vger."
 "kernel.org“."
 
-#: builtin/index-pack.c:1194
+#: builtin/index-pack.c:1197
 msgid "Resolving deltas"
 msgstr "Откриване на съответните разлики"
 
-#: builtin/index-pack.c:1205
+#: builtin/index-pack.c:1208
 #, c-format
 msgid "unable to create thread: %s"
 msgstr "не може да се създаде нишка: %s"
 
-# FIXME WTF message
-#: builtin/index-pack.c:1247
+#: builtin/index-pack.c:1250
 msgid "confusion beyond insanity"
 msgstr ""
-"фатална грешка във функцията „conclude_pack“. Това е грешка в Git, "
+"фатална грешка във функцията „conclude_pack“.  Това е грешка в Git, "
 "докладвайте я на разработчиците, като пратите е-писмо на адрес: „git@vger."
 "kernel.org“."
 
-#: builtin/index-pack.c:1253
+#: builtin/index-pack.c:1256
 #, c-format
 msgid "completed with %d local object"
 msgid_plural "completed with %d local objects"
 msgstr[0] "действието завърши с %d локален обект"
 msgstr[1] "действието завърши с %d локални обекта"
 
-#: builtin/index-pack.c:1265
+#: builtin/index-pack.c:1268
 #, c-format
 msgid "Unexpected tail checksum for %s (disk corruption?)"
 msgstr ""
 "Неочаквана последваща сума за грешки за „%s“ (причината може да е грешка в "
 "диска)"
 
-#: builtin/index-pack.c:1269
+#: builtin/index-pack.c:1272
 #, c-format
 msgid "pack has %d unresolved delta"
 msgid_plural "pack has %d unresolved deltas"
 msgstr[0] "в пакета има %d ненапасваща разлика"
 msgstr[1] "в пакета има %d ненапасващи разлики"
 
-#: builtin/index-pack.c:1293
+#: builtin/index-pack.c:1296
 #, c-format
 msgid "unable to deflate appended object (%d)"
 msgstr "добавеният обект не може да се компресира с „deflate“: %d"
 
-#: builtin/index-pack.c:1369
+#: builtin/index-pack.c:1372
 #, c-format
 msgid "local object %s is corrupt"
 msgstr "локалният обект „%s“ е повреден"
 
-#: builtin/index-pack.c:1393
+#: builtin/index-pack.c:1396
 msgid "error while closing pack file"
 msgstr "грешка при затварянето на пакетния файл"
 
-#: builtin/index-pack.c:1406
+#: builtin/index-pack.c:1409
 #, c-format
 msgid "cannot write keep file '%s'"
 msgstr ""
 "грешка при записването на файла „%s“, осигуряващ запазване на директория"
 
-#: builtin/index-pack.c:1414
+#: builtin/index-pack.c:1417
 #, c-format
 msgid "cannot close written keep file '%s'"
 msgstr ""
 "грешка при затварянето на записания файл „%s“, осигуряващ запазване на "
 "директория"
 
-#: builtin/index-pack.c:1427
+#: builtin/index-pack.c:1430
 msgid "cannot store pack file"
 msgstr "пакетният файл не може да бъде запазен"
 
-#: builtin/index-pack.c:1438
+#: builtin/index-pack.c:1441
 msgid "cannot store index file"
 msgstr "файлът за индекса не може да бъде съхранен"
 
-#: builtin/index-pack.c:1471
+#: builtin/index-pack.c:1474
 #, c-format
 msgid "bad pack.indexversion=%<PRIu32>"
 msgstr "зададена е неправилна версия пакетиране: „pack.indexversion=%<PRIu32>“"
 
-#: builtin/index-pack.c:1481 builtin/index-pack.c:1678
+#: builtin/index-pack.c:1484 builtin/index-pack.c:1681
 #, c-format
 msgid "no threads support, ignoring %s"
-msgstr "липсва поддръжка за нишки. „%s“ ще се пренебрегне"
+msgstr "липсва поддръжка за нишки.  „%s“ ще се пренебрегне"
 
-#: builtin/index-pack.c:1540
+#: builtin/index-pack.c:1542
 #, c-format
 msgid "Cannot open existing pack file '%s'"
 msgstr "Съществуващият пакетен файл „%s“ не може да бъде отворен"
 
-#: builtin/index-pack.c:1542
+#: builtin/index-pack.c:1544
 #, c-format
 msgid "Cannot open existing pack idx file for '%s'"
 msgstr "Съществуващият индекс за пакетния файл „%s“ не може да бъде отворен"
 
-#: builtin/index-pack.c:1589
+#: builtin/index-pack.c:1591
 #, c-format
 msgid "non delta: %d object"
 msgid_plural "non delta: %d objects"
 msgstr[0] "%d обект не е разлика"
 msgstr[1] "%d обекта не са разлика"
 
-#: builtin/index-pack.c:1596
+#: builtin/index-pack.c:1598
 #, c-format
 msgid "chain length = %d: %lu object"
 msgid_plural "chain length = %d: %lu objects"
 msgstr[0] "дължината на веригата е %d: %lu обект"
 msgstr[1] "дължината на веригата е %d: %lu обекта"
 
-#: builtin/index-pack.c:1609
+#: builtin/index-pack.c:1611
 #, c-format
 msgid "packfile name '%s' does not end with '.pack'"
 msgstr "името на пакетния файл „%s“ не завършва на „.pack“"
 
-# FIXME it is not the cwd it is the previous cwd
-#: builtin/index-pack.c:1638
-msgid "Cannot come back to cwd"
-msgstr "Процесът не може да се върне към предишната работна директория"
-
-#: builtin/index-pack.c:1690 builtin/index-pack.c:1693
-#: builtin/index-pack.c:1705 builtin/index-pack.c:1709
+#: builtin/index-pack.c:1693 builtin/index-pack.c:1696
+#: builtin/index-pack.c:1712 builtin/index-pack.c:1716
 #, c-format
 msgid "bad %s"
 msgstr "неправилна стойност „%s“"
 
-#: builtin/index-pack.c:1723
+#: builtin/index-pack.c:1732
 msgid "--fix-thin cannot be used without --stdin"
 msgstr "опцията „--fix-thin“ изисква „--stdin“"
 
-#: builtin/index-pack.c:1731
+#: builtin/index-pack.c:1740
 msgid "--verify with no packfile name given"
 msgstr "опцията „--verify“ изисква име на пакетен файл"
 
-#: builtin/init-db.c:55
+#: builtin/init-db.c:54
 #, c-format
 msgid "cannot stat '%s'"
 msgstr "не може да се получи информация чрез „stat“ за директорията „%s“"
 
-#: builtin/init-db.c:61
+#: builtin/init-db.c:60
 #, c-format
 msgid "cannot stat template '%s'"
 msgstr "не може да се получи информация чрез „stat“ за шаблона „%s“"
 
-#: builtin/init-db.c:66
+#: builtin/init-db.c:65
 #, c-format
 msgid "cannot opendir '%s'"
 msgstr "директорията „%s“ не може да бъде отворена"
 
-#: builtin/init-db.c:77
+#: builtin/init-db.c:76
 #, c-format
 msgid "cannot readlink '%s'"
 msgstr "връзката „%s“ не може да бъде прочетена"
 
-#: builtin/init-db.c:79
+#: builtin/init-db.c:78
 #, c-format
 msgid "cannot symlink '%s' '%s'"
 msgstr "не може да се създаде символна връзка „%s“ в „%s“"
 
-#: builtin/init-db.c:85
+#: builtin/init-db.c:84
 #, c-format
 msgid "cannot copy '%s' to '%s'"
 msgstr "„%s“ не може да се копира в „%s“"
 
-#: builtin/init-db.c:89
+#: builtin/init-db.c:88
 #, c-format
 msgid "ignoring template %s"
 msgstr "игнориране на шаблона „%s“"
 
-#: builtin/init-db.c:120
+#: builtin/init-db.c:119
 #, c-format
 msgid "templates not found %s"
 msgstr "директорията с шаблоните не е открита: „%s“"
 
-#: builtin/init-db.c:135
+#: builtin/init-db.c:134
 #, c-format
 msgid "not copying templates from '%s': %s"
 msgstr "шаблоните няма да бъдат копирани от „%s“: „%s“"
 
-#: builtin/init-db.c:312 builtin/init-db.c:315
-#, c-format
-msgid "%s already exists"
-msgstr "Директорията „%s“ вече съществува"
-
-#: builtin/init-db.c:344
+#: builtin/init-db.c:327
 #, c-format
 msgid "unable to handle file type %d"
 msgstr "файлове от вид %d не се поддържат"
 
-#: builtin/init-db.c:347
+#: builtin/init-db.c:330
 #, c-format
 msgid "unable to move %s to %s"
 msgstr "„%s“ не може да се премести в „%s“"
 
-#. TRANSLATORS: The first '%s' is either "Reinitialized
-#. existing" or "Initialized empty", the second " shared" or
-#. "", and the last '%s%s' is the verbatim directory name.
+#: builtin/init-db.c:347 builtin/init-db.c:350
+#, c-format
+msgid "%s already exists"
+msgstr "Директорията „%s“ вече съществува"
+
 #: builtin/init-db.c:403
 #, c-format
-msgid "%s%s Git repository in %s%s\n"
-msgstr "%s%s хранилище на Git в „%s%s“\n"
+msgid "Reinitialized existing shared Git repository in %s%s\n"
+msgstr ""
+"Инициализиране наново на съществуващо, споделено хранилище на Git в „%s%s“\n"
 
 #: builtin/init-db.c:404
-msgid "Reinitialized existing"
-msgstr "Наново инициализирано, съществуващо"
+#, c-format
+msgid "Reinitialized existing Git repository in %s%s\n"
+msgstr "Инициализиране наново на съществуващо хранилище на Git в „%s%s“\n"
 
-#: builtin/init-db.c:404
-msgid "Initialized empty"
-msgstr "Инициализирано празно"
+#: builtin/init-db.c:408
+#, c-format
+msgid "Initialized empty shared Git repository in %s%s\n"
+msgstr "Инициализиране на празно, споделено хранилище на Git в „%s%s“\n"
 
-#: builtin/init-db.c:405
-msgid " shared"
-msgstr ", споделено"
+#: builtin/init-db.c:409
+#, c-format
+msgid "Initialized empty Git repository in %s%s\n"
+msgstr "Инициализиране на празно хранилище на Git в „%s%s“\n"
 
-#: builtin/init-db.c:452
+#: builtin/init-db.c:457
 msgid ""
 "git init [-q | --quiet] [--bare] [--template=<template-directory>] [--"
 "shared[=<permissions>]] [<directory>]"
@@ -7810,27 +8813,27 @@
 "git init [-q | --quiet] [--bare] [--template=ДИРЕКТОРИЯ_С_ШАБЛОНИ] [--"
 "shared[=ПРАВА]] [ДИРЕКТОРИЯ]"
 
-#: builtin/init-db.c:475
+#: builtin/init-db.c:480
 msgid "permissions"
 msgstr "права"
 
-#: builtin/init-db.c:476
+#: builtin/init-db.c:481
 msgid "specify that the git repository is to be shared amongst several users"
 msgstr ""
 "указване, че хранилището на Git ще бъде споделено от повече от един "
 "потребител"
 
-#: builtin/init-db.c:510 builtin/init-db.c:515
+#: builtin/init-db.c:515 builtin/init-db.c:520
 #, c-format
 msgid "cannot mkdir %s"
 msgstr "директорията „%s“ не може да бъде създадена"
 
-#: builtin/init-db.c:519
+#: builtin/init-db.c:524
 #, c-format
 msgid "cannot chdir to %s"
 msgstr "не може да се влезе в директорията „%s“"
 
-#: builtin/init-db.c:540
+#: builtin/init-db.c:545
 #, c-format
 msgid ""
 "%s (or --work-tree=<directory>) not allowed without specifying %s (or --git-"
@@ -7839,7 +8842,7 @@
 "%s (или --work-tree=ДИРЕКТОРИЯ) изисква указването на %s (или --git-"
 "dir=ДИРЕКТОРИЯ)"
 
-#: builtin/init-db.c:568
+#: builtin/init-db.c:573
 #, c-format
 msgid "Cannot access work tree '%s'"
 msgstr "Работното дърво в „%s“ е недостъпно"
@@ -7872,340 +8875,340 @@
 msgid "no input file given for in-place editing"
 msgstr "не е зададен входен файл за редактиране на място"
 
-#: builtin/log.c:43
+#: builtin/log.c:44
 msgid "git log [<options>] [<revision-range>] [[--] <path>...]"
 msgstr "git log [ОПЦИЯ…] [ДИАПАЗОН_НА_ВЕРСИИТЕ] [[--] ПЪТ…]"
 
-#: builtin/log.c:44
+#: builtin/log.c:45
 msgid "git show [<options>] <object>..."
 msgstr "git show [ОПЦИЯ…] ОБЕКТ…"
 
-#: builtin/log.c:83
+#: builtin/log.c:84
 #, c-format
 msgid "invalid --decorate option: %s"
 msgstr "неправилна опция „--decorate“: %s"
 
-#: builtin/log.c:137
+#: builtin/log.c:139
 msgid "suppress diff output"
 msgstr "без извеждане на разликите"
 
-#: builtin/log.c:138
+#: builtin/log.c:140
 msgid "show source"
 msgstr "извеждане на изходния код"
 
-#: builtin/log.c:139
+#: builtin/log.c:141
 msgid "Use mail map file"
 msgstr ""
 "Използване на файл за съответствията на имената и адресите на е-поща („."
 "mailmap“)"
 
-#: builtin/log.c:140
+#: builtin/log.c:142
 msgid "decorate options"
 msgstr "настройки на форма̀та на извежданата информация"
 
-#: builtin/log.c:143
+#: builtin/log.c:145
 msgid "Process line range n,m in file, counting from 1"
 msgstr ""
-"Обработване само на редовете във файла в интервала от n до m включително. "
+"Обработване само на редовете във файла в диапазона от n до m включително.  "
 "Броенето започва от 1"
 
-#: builtin/log.c:239
+#: builtin/log.c:241
 #, c-format
 msgid "Final output: %d %s\n"
 msgstr "Резултат: %d %s\n"
 
-#: builtin/log.c:471
+#: builtin/log.c:486
 #, c-format
 msgid "git show %s: bad file"
 msgstr "git show %s: повреден файл"
 
-#: builtin/log.c:485 builtin/log.c:578
+#: builtin/log.c:500 builtin/log.c:594
 #, c-format
 msgid "Could not read object %s"
 msgstr "Обектът не може да бъде прочетен: %s"
 
-#: builtin/log.c:602
+#: builtin/log.c:618
 #, c-format
 msgid "Unknown type: %d"
 msgstr "Неизвестен вид: %d"
 
-#: builtin/log.c:722
+#: builtin/log.c:739
 msgid "format.headers without value"
 msgstr "не е зададена стойност на „format.headers“"
 
-#: builtin/log.c:812
+#: builtin/log.c:839
 msgid "name of output directory is too long"
 msgstr "прекалено дълго име на директорията за изходната информация"
 
-#: builtin/log.c:827
+#: builtin/log.c:854
 #, c-format
 msgid "Cannot open patch file %s"
 msgstr "Файлът-кръпка „%s“ не може да бъде отворен"
 
-#: builtin/log.c:841
+#: builtin/log.c:868
 msgid "Need exactly one range."
 msgstr "Трябва да зададете точно един диапазон."
 
-#: builtin/log.c:851
+#: builtin/log.c:878
 msgid "Not a range."
 msgstr "Не е диапазон."
 
-#: builtin/log.c:957
+#: builtin/log.c:984
 msgid "Cover letter needs email format"
 msgstr "Придружаващото писмо трябва да е форматирано като е-писмо"
 
-# FIXME bad wording insanely
-#: builtin/log.c:1036
+#: builtin/log.c:1063
 #, c-format
 msgid "insane in-reply-to: %s"
 msgstr "неправилен формат на заглавната част за отговор „in-reply-to“: %s"
 
-#: builtin/log.c:1064
+#: builtin/log.c:1091
 msgid "git format-patch [<options>] [<since> | <revision-range>]"
 msgstr "git format-patch [ОПЦИЯ…] [ОТ | ДИАПАЗОН_НА_ВЕРСИИТЕ]"
 
-#: builtin/log.c:1109
+#: builtin/log.c:1141
 msgid "Two output directories?"
 msgstr "Можете да укажете максимум една директория за изход."
 
-#: builtin/log.c:1216 builtin/log.c:1857 builtin/log.c:1859 builtin/log.c:1871
+#: builtin/log.c:1248 builtin/log.c:1891 builtin/log.c:1893 builtin/log.c:1905
 #, c-format
 msgid "Unknown commit %s"
 msgstr "Непознато подаване „%s“"
 
-#: builtin/log.c:1226 builtin/notes.c:253 builtin/notes.c:304
-#: builtin/notes.c:306 builtin/notes.c:369 builtin/notes.c:424
-#: builtin/notes.c:510 builtin/notes.c:515 builtin/notes.c:593
-#: builtin/notes.c:656 builtin/notes.c:881 builtin/tag.c:455
+#: builtin/log.c:1258 builtin/notes.c:884 builtin/tag.c:455
 #, c-format
 msgid "Failed to resolve '%s' as a valid ref."
 msgstr "Не може да се открие към какво сочи „%s“."
 
-#: builtin/log.c:1231
+#: builtin/log.c:1263
 msgid "Could not find exact merge base."
 msgstr "Точната база за сливане не може да се открие."
 
-#: builtin/log.c:1235
+#: builtin/log.c:1267
 msgid ""
 "Failed to get upstream, if you want to record base commit automatically,\n"
 "please use git branch --set-upstream-to to track a remote branch.\n"
 "Or you could specify base commit by --base=<base-commit-id> manually."
 msgstr ""
-"Следеният клон не може да бъде установен. Ако искате ръчно да го\n"
+"Следеният клон не може да бъде установен.  Ако искате ръчно да го\n"
 "зададете, използвайте „git branch --set-upstream-to“.\n"
 "Можете ръчно да зададете базово подаване чрез „--base=<base-commit-id>“."
 
-#: builtin/log.c:1255
+#: builtin/log.c:1287
 msgid "Failed to find exact merge base"
 msgstr "Точната база при сливане не може да бъде открита"
 
-#: builtin/log.c:1266
+#: builtin/log.c:1298
 msgid "base commit should be the ancestor of revision list"
 msgstr "базовото подаване трябва да е предшественикът на списъка с версиите"
 
-#: builtin/log.c:1270
+#: builtin/log.c:1302
 msgid "base commit shouldn't be in revision list"
 msgstr "базовото подаване не може да е в списъка с версиите"
 
-#: builtin/log.c:1319
+#: builtin/log.c:1351
 msgid "cannot get patch id"
 msgstr "идентификаторът на кръпката не може да бъде получен"
 
-#: builtin/log.c:1377
+#: builtin/log.c:1408
 msgid "use [PATCH n/m] even with a single patch"
 msgstr "номерация „[PATCH n/m]“ дори и при единствена кръпка"
 
-#: builtin/log.c:1380
+#: builtin/log.c:1411
 msgid "use [PATCH] even with multiple patches"
 msgstr "номерация „[PATCH]“ дори и при множество кръпки"
 
-#: builtin/log.c:1384
+#: builtin/log.c:1415
 msgid "print patches to standard out"
 msgstr "извеждане на кръпките на стандартния изход"
 
-#: builtin/log.c:1386
+#: builtin/log.c:1417
 msgid "generate a cover letter"
 msgstr "създаване на придружаващо писмо"
 
-#: builtin/log.c:1388
+#: builtin/log.c:1419
 msgid "use simple number sequence for output file names"
 msgstr "проста числова последователност за имената на файловете-кръпки"
 
-#: builtin/log.c:1389
+#: builtin/log.c:1420
 msgid "sfx"
 msgstr "ЗНАЦИ"
 
-#: builtin/log.c:1390
+#: builtin/log.c:1421
 msgid "use <sfx> instead of '.patch'"
 msgstr "използване на тези ЗНАЦИ за суфикс вместо „.patch“"
 
-#: builtin/log.c:1392
+#: builtin/log.c:1423
 msgid "start numbering patches at <n> instead of 1"
 msgstr "номерирането на кръпките да започва от този БРОЙ, а не с 1"
 
-#: builtin/log.c:1394
+#: builtin/log.c:1425
 msgid "mark the series as Nth re-roll"
 msgstr "отбелязване, че това е N-тата поредна редакция на поредицата от кръпки"
 
-#: builtin/log.c:1396
+#: builtin/log.c:1427
+msgid "Use [RFC PATCH] instead of [PATCH]"
+msgstr "Използване на „[RFC PATCH]“ вместо „[PATCH]“"
+
+#: builtin/log.c:1430
 msgid "Use [<prefix>] instead of [PATCH]"
 msgstr "Използване на този „[ПРЕФИКС]“ вместо „[PATCH]“"
 
-#: builtin/log.c:1399
+#: builtin/log.c:1433
 msgid "store resulting files in <dir>"
 msgstr "запазване на изходните файлове в тази ДИРЕКТОРИЯ"
 
-#: builtin/log.c:1402
+#: builtin/log.c:1436
 msgid "don't strip/add [PATCH]"
 msgstr "без добавяне/махане на префикса „[PATCH]“"
 
-#: builtin/log.c:1405
+#: builtin/log.c:1439
 msgid "don't output binary diffs"
 msgstr "без извеждане на разлики между двоични файлове"
 
-#: builtin/log.c:1407
+#: builtin/log.c:1441
 msgid "output all-zero hash in From header"
 msgstr "в заглавната част „From:“ (от) хешът да е само от нули"
 
-#: builtin/log.c:1409
+#: builtin/log.c:1443
 msgid "don't include a patch matching a commit upstream"
 msgstr "да не се включват кръпки, които присъстват в следения клон"
 
-#: builtin/log.c:1411
+#: builtin/log.c:1445
 msgid "show patch format instead of default (patch + stat)"
 msgstr ""
 "извеждане във формат за кръпки, а на в стандартния (кръпка и статистика)"
 
-#: builtin/log.c:1413
+#: builtin/log.c:1447
 msgid "Messaging"
 msgstr "Опции при изпращане"
 
-#: builtin/log.c:1414
+#: builtin/log.c:1448
 msgid "header"
 msgstr "ЗАГЛАВНА_ЧАСТ"
 
-#: builtin/log.c:1415
+#: builtin/log.c:1449
 msgid "add email header"
 msgstr "добавяне на тази ЗАГЛАВНА_ЧАСТ"
 
-#: builtin/log.c:1416 builtin/log.c:1418
+#: builtin/log.c:1450 builtin/log.c:1452
 msgid "email"
 msgstr "Е-ПОЩА"
 
-#: builtin/log.c:1416
+#: builtin/log.c:1450
 msgid "add To: header"
 msgstr "добавяне на заглавна част „To:“ (до)"
 
-#: builtin/log.c:1418
+#: builtin/log.c:1452
 msgid "add Cc: header"
 msgstr "добавяне на заглавна част „Cc:“ (и до)"
 
-#: builtin/log.c:1420
+#: builtin/log.c:1454
 msgid "ident"
 msgstr "ИДЕНТИЧНОСТ"
 
-#: builtin/log.c:1421
+#: builtin/log.c:1455
 msgid "set From address to <ident> (or committer ident if absent)"
 msgstr ""
-"задаване на адреса в заглавната част „From“ (от) да е тази ИДЕНТИЧНОСТ. Ако "
+"задаване на адреса в заглавната част „From“ (от) да е тази ИДЕНТИЧНОСТ.  Ако "
 "не е зададена такава, се взима адреса на подаващия"
 
-#: builtin/log.c:1423
+#: builtin/log.c:1457
 msgid "message-id"
 msgstr "ИДЕНТИФИКАТОР_НА_СЪОБЩЕНИЕ"
 
-#: builtin/log.c:1424
+#: builtin/log.c:1458
 msgid "make first mail a reply to <message-id>"
 msgstr ""
 "първото съобщение да е в отговор на е-писмото с този "
 "ИДЕНТИФИКАТОР_НА_СЪОБЩЕНИЕ"
 
-#: builtin/log.c:1425 builtin/log.c:1428
+#: builtin/log.c:1459 builtin/log.c:1462
 msgid "boundary"
 msgstr "граница"
 
-#: builtin/log.c:1426
+#: builtin/log.c:1460
 msgid "attach the patch"
 msgstr "прикрепяне на кръпката"
 
-#: builtin/log.c:1429
+#: builtin/log.c:1463
 msgid "inline the patch"
 msgstr "включване на кръпката в текста на писмата"
 
-#: builtin/log.c:1433
+#: builtin/log.c:1467
 msgid "enable message threading, styles: shallow, deep"
 msgstr ""
-"използване на нишки за съобщенията. СТИЛът е „shallow“ (плитък) или "
+"използване на нишки за съобщенията.  СТИЛът е „shallow“ (плитък) или "
 "„deep“ (дълбок)"
 
-#: builtin/log.c:1435
+#: builtin/log.c:1469
 msgid "signature"
 msgstr "подпис"
 
-#: builtin/log.c:1436
+#: builtin/log.c:1470
 msgid "add a signature"
 msgstr "добавяне на поле за подпис"
 
-#: builtin/log.c:1437
+#: builtin/log.c:1471
 msgid "base-commit"
 msgstr "БАЗОВО_ПОДАВАНЕ"
 
-#: builtin/log.c:1438
+#: builtin/log.c:1472
 msgid "add prerequisite tree info to the patch series"
 msgstr "добавяне на необходимото БАЗово дърво към серията кръпки"
 
-#: builtin/log.c:1440
+#: builtin/log.c:1474
 msgid "add a signature from a file"
 msgstr "добавяне на подпис от файл"
 
-#: builtin/log.c:1441
+#: builtin/log.c:1475
 msgid "don't print the patch filenames"
 msgstr "без извеждане на имената на кръпките"
 
-#: builtin/log.c:1531
+#: builtin/log.c:1565
 msgid "-n and -k are mutually exclusive."
 msgstr "опциите „-n“ и „-k“ са несъвместими."
 
-#: builtin/log.c:1533
-msgid "--subject-prefix and -k are mutually exclusive."
-msgstr "опциите „--subject-prefix“ и „-k“ са несъвместими."
+#: builtin/log.c:1567
+msgid "--subject-prefix/--rfc and -k are mutually exclusive."
+msgstr "опциите „--subject-prefix“/„-rfc“ и „-k“ са несъвместими."
 
-#: builtin/log.c:1541
+#: builtin/log.c:1575
 msgid "--name-only does not make sense"
 msgstr "опцията „--name-only“ е несъвместима с генерирането на кръпки"
 
-#: builtin/log.c:1543
+#: builtin/log.c:1577
 msgid "--name-status does not make sense"
 msgstr "опцията „--name-status“ е несъвместима с генерирането на кръпки"
 
-#: builtin/log.c:1545
+#: builtin/log.c:1579
 msgid "--check does not make sense"
 msgstr "опцията „--check“ е несъвместима с генерирането на кръпки"
 
-#: builtin/log.c:1573
+#: builtin/log.c:1609
 msgid "standard output, or directory, which one?"
 msgstr ""
 "изходът може да или стандартният, или да е в директория, но не и двете."
 
-#: builtin/log.c:1575
+#: builtin/log.c:1611
 #, c-format
 msgid "Could not create directory '%s'"
 msgstr "Директорията „%s“ не може да бъде създадена"
 
-#: builtin/log.c:1672
+#: builtin/log.c:1705
 #, c-format
 msgid "unable to read signature file '%s'"
 msgstr "файлът „%s“ с подпис не може да бъде прочетен"
 
-#: builtin/log.c:1743
+#: builtin/log.c:1777
 msgid "Failed to create output files"
 msgstr "Изходните файлове не могат да бъдат създадени"
 
-#: builtin/log.c:1792
+#: builtin/log.c:1826
 msgid "git cherry [-v] [<upstream> [<head> [<limit>]]]"
 msgstr "git cherry [-v] [ОТДАЛЕЧЕН_КЛОН [ВРЪХ [ПРЕДЕЛ]]]"
 
-#: builtin/log.c:1846
+#: builtin/log.c:1880
 #, c-format
 msgid ""
 "Could not find a tracked remote branch, please specify <upstream> manually.\n"
@@ -8213,102 +9216,106 @@
 "Следеният отдалечен клон не бе открит, затова изрично задайте "
 "ОТДАЛЕЧЕН_КЛОН.\n"
 
-#: builtin/ls-files.c:378
+#: builtin/ls-files.c:458
 msgid "git ls-files [<options>] [<file>...]"
 msgstr "git ls-files [ОПЦИЯ…] [ФАЙЛ…]"
 
-#: builtin/ls-files.c:427
+#: builtin/ls-files.c:507
 msgid "identify the file status with tags"
 msgstr "извеждане на състоянието на файловете с еднобуквени флагове"
 
-#: builtin/ls-files.c:429
+#: builtin/ls-files.c:509
 msgid "use lowercase letters for 'assume unchanged' files"
 msgstr "малки букви за файловете, които да се счетат за непроменени"
 
-#: builtin/ls-files.c:431
+#: builtin/ls-files.c:511
 msgid "show cached files in the output (default)"
 msgstr "извеждане на кешираните файлове (стандартно)"
 
-#: builtin/ls-files.c:433
+#: builtin/ls-files.c:513
 msgid "show deleted files in the output"
 msgstr "извеждане на изтритите файлове"
 
-#: builtin/ls-files.c:435
+#: builtin/ls-files.c:515
 msgid "show modified files in the output"
 msgstr "извеждане на променените файлове"
 
-#: builtin/ls-files.c:437
+#: builtin/ls-files.c:517
 msgid "show other files in the output"
 msgstr "извеждане на другите файлове"
 
-#: builtin/ls-files.c:439
+#: builtin/ls-files.c:519
 msgid "show ignored files in the output"
 msgstr "извеждане на игнорираните файлове"
 
-#: builtin/ls-files.c:442
+#: builtin/ls-files.c:522
 msgid "show staged contents' object name in the output"
 msgstr "извеждане на името на обекта за съдържанието на индекса"
 
-#: builtin/ls-files.c:444
+#: builtin/ls-files.c:524
 msgid "show files on the filesystem that need to be removed"
 msgstr "извеждане на файловете, които трябва да бъдат изтрити"
 
-#: builtin/ls-files.c:446
+#: builtin/ls-files.c:526
 msgid "show 'other' directories' names only"
 msgstr "извеждане само на името на другите (неследените) директории"
 
-#: builtin/ls-files.c:448
+#: builtin/ls-files.c:528
 msgid "show line endings of files"
 msgstr "извеждане на знаците за край на ред във файловете"
 
-#: builtin/ls-files.c:450
+#: builtin/ls-files.c:530
 msgid "don't show empty directories"
 msgstr "без извеждане на празните директории"
 
-#: builtin/ls-files.c:453
+#: builtin/ls-files.c:533
 msgid "show unmerged files in the output"
 msgstr "извеждане на неслетите файлове"
 
 # FIXME not clear about what this option does
-#: builtin/ls-files.c:455
+#: builtin/ls-files.c:535
 msgid "show resolve-undo information"
 msgstr "извеждане на информацията за отмяна на разрешените подавания"
 
-#: builtin/ls-files.c:457
+#: builtin/ls-files.c:537
 msgid "skip files matching pattern"
 msgstr "прескачане на файловете напасващи ШАБЛОНа"
 
-#: builtin/ls-files.c:460
+#: builtin/ls-files.c:540
 msgid "exclude patterns are read from <file>"
 msgstr "шаблоните за игнориране да се прочетат от този ФАЙЛ"
 
-#: builtin/ls-files.c:463
+#: builtin/ls-files.c:543
 msgid "read additional per-directory exclude patterns in <file>"
 msgstr ""
 "изчитане на допълнителните шаблони за игнориране по директория от този ФАЙЛ"
 
-#: builtin/ls-files.c:465
+#: builtin/ls-files.c:545
 msgid "add the standard git exclusions"
 msgstr "добавяне на стандартно игнорираните от Git файлове"
 
-#: builtin/ls-files.c:468
+#: builtin/ls-files.c:548
 msgid "make the output relative to the project top directory"
 msgstr "пътищата да са относителни спрямо основната директория на проекта"
 
-#: builtin/ls-files.c:471
+#: builtin/ls-files.c:551
+msgid "recurse through submodules"
+msgstr "рекурсивно обхождане подмодулите"
+
+#: builtin/ls-files.c:553
 msgid "if any <file> is not in the index, treat this as an error"
 msgstr "грешка, ако някой от тези ФАЙЛове не е в индекса"
 
-#: builtin/ls-files.c:472
+#: builtin/ls-files.c:554
 msgid "tree-ish"
 msgstr "УКАЗАТЕЛ_КЪМ_ДЪРВО"
 
-#: builtin/ls-files.c:473
+#: builtin/ls-files.c:555
 msgid "pretend that paths removed since <tree-ish> are still present"
 msgstr ""
 "считане, че пътищата изтрити след УКАЗАТЕЛя_КЪМ_ДЪРВО все още съществуват"
 
-#: builtin/ls-files.c:475
+#: builtin/ls-files.c:557
 msgid "show debugging data"
 msgstr "извеждане на информацията за изчистване на грешки"
 
@@ -8396,192 +9403,177 @@
 "извеждане на цялото дърво, не само на текущата директория (включва опцията "
 "„--full-name“)"
 
-#: builtin/merge.c:45
+#: builtin/merge.c:46
 msgid "git merge [<options>] [<commit>...]"
 msgstr "git merge [ОПЦИЯ…] [ПОДАВАНЕ…]"
 
-#: builtin/merge.c:46
+#: builtin/merge.c:47
 msgid "git merge [<options>] <msg> HEAD <commit>"
 msgstr "git merge [ОПЦИЯ…] СЪОБЩЕНИЕ HEAD ПОДАВАНЕ"
 
-#: builtin/merge.c:47
+#: builtin/merge.c:48
 msgid "git merge --abort"
 msgstr "git merge --abort"
 
-# FIXME -m rather than just m
-#: builtin/merge.c:101
+#: builtin/merge.c:102
 msgid "switch `m' requires a value"
 msgstr "опцията „-m“ изисква стойност"
 
-#: builtin/merge.c:138
+#: builtin/merge.c:139
 #, c-format
 msgid "Could not find merge strategy '%s'.\n"
 msgstr "Няма такава стратегия за сливане: „%s“.\n"
 
-#: builtin/merge.c:139
+#: builtin/merge.c:140
 #, c-format
 msgid "Available strategies are:"
 msgstr "Наличните стратегии са:"
 
-#: builtin/merge.c:144
+#: builtin/merge.c:145
 #, c-format
 msgid "Available custom strategies are:"
 msgstr "Допълнителните стратегии са:"
 
-#: builtin/merge.c:194 builtin/pull.c:126
+#: builtin/merge.c:195 builtin/pull.c:127
 msgid "do not show a diffstat at the end of the merge"
 msgstr "без извеждане на статистиката след завършване на сливане"
 
-#: builtin/merge.c:197 builtin/pull.c:129
+#: builtin/merge.c:198 builtin/pull.c:130
 msgid "show a diffstat at the end of the merge"
 msgstr "извеждане на статистиката след завършване на сливане"
 
-#: builtin/merge.c:198 builtin/pull.c:132
+#: builtin/merge.c:199 builtin/pull.c:133
 msgid "(synonym to --stat)"
 msgstr "(синоним на „--stat“)"
 
-#: builtin/merge.c:200 builtin/pull.c:135
+#: builtin/merge.c:201 builtin/pull.c:136
 msgid "add (at most <n>) entries from shortlog to merge commit message"
 msgstr ""
 "добавяне (на максимум такъв БРОЙ) записи от съкратения журнал в съобщението "
 "за подаване"
 
-#: builtin/merge.c:203 builtin/pull.c:138
+#: builtin/merge.c:204 builtin/pull.c:139
 msgid "create a single commit instead of doing a merge"
 msgstr "създаване на едно подаване вместо извършване на сливане"
 
-#: builtin/merge.c:205 builtin/pull.c:141
+#: builtin/merge.c:206 builtin/pull.c:142
 msgid "perform a commit if the merge succeeds (default)"
 msgstr "извършване на подаване при успешно сливане (стандартно действие)"
 
-#: builtin/merge.c:207 builtin/pull.c:144
+#: builtin/merge.c:208 builtin/pull.c:145
 msgid "edit message before committing"
 msgstr "редактиране на съобщението преди подаване"
 
-#: builtin/merge.c:208
+#: builtin/merge.c:209
 msgid "allow fast-forward (default)"
 msgstr "позволяване на тривиално сливане (стандартно действие)"
 
-#: builtin/merge.c:210 builtin/pull.c:150
+#: builtin/merge.c:211 builtin/pull.c:151
 msgid "abort if fast-forward is not possible"
 msgstr "преустановяване, ако сливането не е тривиално"
 
-#: builtin/merge.c:214
-msgid "Verify that the named commit has a valid GPG signature"
-msgstr "Проверка, че именуваното подаване е с правилен подпис на GPG"
+#: builtin/merge.c:215 builtin/pull.c:154
+msgid "verify that the named commit has a valid GPG signature"
+msgstr "Проверка, че указаното подаване е с правилен подпис на GPG"
 
-#: builtin/merge.c:215 builtin/notes.c:771 builtin/pull.c:157
+#: builtin/merge.c:216 builtin/notes.c:774 builtin/pull.c:158
 #: builtin/revert.c:89
 msgid "strategy"
 msgstr "СТРАТЕГИЯ"
 
-#: builtin/merge.c:216 builtin/pull.c:158
+#: builtin/merge.c:217 builtin/pull.c:159
 msgid "merge strategy to use"
 msgstr "СТРАТЕГИЯ за сливане, която да се ползва"
 
-#: builtin/merge.c:217 builtin/pull.c:161
+#: builtin/merge.c:218 builtin/pull.c:162
 msgid "option=value"
 msgstr "ОПЦИЯ=СТОЙНОСТ"
 
-#: builtin/merge.c:218 builtin/pull.c:162
+#: builtin/merge.c:219 builtin/pull.c:163
 msgid "option for selected merge strategy"
 msgstr "ОПЦИЯ за избраната стратегия за сливане"
 
-#: builtin/merge.c:220
+#: builtin/merge.c:221
 msgid "merge commit message (for a non-fast-forward merge)"
 msgstr "СЪОБЩЕНИЕ при подаването със сливане (при нетривиални сливания)"
 
-#: builtin/merge.c:224
+#: builtin/merge.c:225
 msgid "abort the current in-progress merge"
 msgstr "преустановяване на текущото сливане"
 
-#: builtin/merge.c:226 builtin/pull.c:169
+#: builtin/merge.c:227 builtin/pull.c:170
 msgid "allow merging unrelated histories"
 msgstr "позволяване на сливане на независими истории"
 
-#: builtin/merge.c:254
+#: builtin/merge.c:255
 msgid "could not run stash."
 msgstr "не може да се извърши скатаване"
 
-#: builtin/merge.c:259
+#: builtin/merge.c:260
 msgid "stash failed"
 msgstr "неуспешно скатаване"
 
-#: builtin/merge.c:264
+#: builtin/merge.c:265
 #, c-format
 msgid "not a valid object: %s"
 msgstr "неправилен обект: „%s“"
 
-#: builtin/merge.c:283 builtin/merge.c:300
+#: builtin/merge.c:284 builtin/merge.c:301
 msgid "read-tree failed"
 msgstr "неуспешно прочитане на обект-дърво"
 
-#: builtin/merge.c:330
+#: builtin/merge.c:331
 msgid " (nothing to squash)"
 msgstr " (няма какво да се смачка)"
 
-#: builtin/merge.c:343
+#: builtin/merge.c:342
 #, c-format
 msgid "Squash commit -- not updating HEAD\n"
 msgstr "Подаване със смачкване — указателят „HEAD“ няма да бъде обновен\n"
 
-#: builtin/merge.c:347 builtin/merge.c:767 builtin/merge.c:987
-#: builtin/merge.c:1000
-#, c-format
-msgid "Could not write to '%s'"
-msgstr "„%s“ не може да бъде записан"
-
-#: builtin/merge.c:375
-msgid "Writing SQUASH_MSG"
-msgstr "Записване на съобщението за смачкване SQUASH_MSG"
-
-#: builtin/merge.c:377
-msgid "Finishing SQUASH_MSG"
-msgstr "Завършване на съобщението за смачкване SQUASH_MSG"
-
-#: builtin/merge.c:400
+#: builtin/merge.c:392
 #, c-format
 msgid "No merge message -- not updating HEAD\n"
 msgstr ""
 "Липсва съобщение при подаване — указателят „HEAD“ няма да бъде обновен\n"
 
-#: builtin/merge.c:451
+#: builtin/merge.c:443
 #, c-format
 msgid "'%s' does not point to a commit"
 msgstr "„%s“ не сочи към подаване"
 
-#: builtin/merge.c:541
+#: builtin/merge.c:533
 #, c-format
 msgid "Bad branch.%s.mergeoptions string: %s"
 msgstr "Неправилен низ за настройката „branch.%s.mergeoptions“: „%s“"
 
-#: builtin/merge.c:660
+#: builtin/merge.c:652
 msgid "Not handling anything other than two heads merge."
 msgstr "Поддържа се само сливане на точно две истории."
 
-#: builtin/merge.c:674
+#: builtin/merge.c:666
 #, c-format
 msgid "Unknown option for merge-recursive: -X%s"
 msgstr "Непозната опция за рекурсивното сливане „merge-recursive“: „-X%s“"
 
-#: builtin/merge.c:687
+#: builtin/merge.c:681
 #, c-format
 msgid "unable to write %s"
 msgstr "„%s“ не може да бъде записан"
 
-#: builtin/merge.c:776
+#: builtin/merge.c:733
 #, c-format
 msgid "Could not read from '%s'"
 msgstr "От „%s“ не може да се чете"
 
-#: builtin/merge.c:785
+#: builtin/merge.c:742
 #, c-format
 msgid "Not committing merge; use 'git commit' to complete the merge.\n"
 msgstr ""
-"Сливането няма да бъде подадено. За завършването му и подаването му "
+"Сливането няма да бъде подадено.  За завършването му и подаването му "
 "използвайте командата „git commit“.\n"
 
-#: builtin/merge.c:791
+#: builtin/merge.c:748
 #, c-format
 msgid ""
 "Please enter a commit message to explain why this merge is necessary,\n"
@@ -8596,183 +9588,203 @@
 "Редовете, които започват с „%c“ ще бъдат пропуснати, а празно съобщение\n"
 "преустановява подаването.\n"
 
-#: builtin/merge.c:815
+#: builtin/merge.c:772
 msgid "Empty commit message."
 msgstr "Празно съобщение при подаване."
 
-# FIXME - WTF is wonderful.
-#: builtin/merge.c:835
+#: builtin/merge.c:792
 #, c-format
 msgid "Wonderful.\n"
 msgstr "Първият етап на тривиалното сливане завърши.\n"
 
-#: builtin/merge.c:890
+#: builtin/merge.c:847
 #, c-format
 msgid "Automatic merge failed; fix conflicts and then commit the result.\n"
 msgstr "Неуспешно сливане — коригирайте конфликтите и подайте резултата.\n"
 
-#: builtin/merge.c:906
+#: builtin/merge.c:863
 #, c-format
 msgid "'%s' is not a commit"
 msgstr "„%s“ не е подаване"
 
-#: builtin/merge.c:947
+#: builtin/merge.c:904
 msgid "No current branch."
 msgstr "Няма текущ клон."
 
-#: builtin/merge.c:949
+#: builtin/merge.c:906
 msgid "No remote for the current branch."
 msgstr "Текущият клон не следи никой."
 
-#: builtin/merge.c:951
+#: builtin/merge.c:908
 msgid "No default upstream defined for the current branch."
 msgstr "Текущият клон не следи никой клон."
 
-#: builtin/merge.c:956
+#: builtin/merge.c:913
 #, c-format
 msgid "No remote-tracking branch for %s from %s"
 msgstr "Никой клон не следи клона „%s“ от хранилището „%s“"
 
-#: builtin/merge.c:1091
+#: builtin/merge.c:960
+#, c-format
+msgid "Bad value '%s' in environment '%s'"
+msgstr "Неправилна стойност „%s“ в средата „%s“"
+
+#: builtin/merge.c:1034
 #, c-format
 msgid "could not close '%s'"
 msgstr "„%s“ не може да се затвори"
 
-#: builtin/merge.c:1219
+#: builtin/merge.c:1061
+#, c-format
+msgid "not something we can merge in %s: %s"
+msgstr "не може да се слее в „%s“: %s"
+
+#: builtin/merge.c:1095
+msgid "not something we can merge"
+msgstr "не може да се слее"
+
+#: builtin/merge.c:1162
 msgid "There is no merge to abort (MERGE_HEAD missing)."
 msgstr ""
 "Не може да преустановите сливане, защото в момента не се извършва такова "
 "(липсва указател „MERGE_HEAD“)."
 
-#: builtin/merge.c:1235
+#: builtin/merge.c:1178
 msgid ""
 "You have not concluded your merge (MERGE_HEAD exists).\n"
 "Please, commit your changes before you merge."
 msgstr ""
-"Не сте завършили сливане. (Указателят „MERGE_HEAD“ съществува).\n"
+"Не сте завършили сливане.  (Указателят „MERGE_HEAD“ съществува).\n"
 "Подайте промените си, преди да започнете ново сливане."
 
-#: builtin/merge.c:1242
+#: builtin/merge.c:1185
 msgid ""
 "You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists).\n"
 "Please, commit your changes before you merge."
 msgstr ""
 "Не сте завършили отбиране на подаване (указателят „CHERRY_PICK_HEAD“\n"
-"съществува). Подайте промените си, преди да започнете ново сливане."
+"съществува).  Подайте промените си, преди да започнете ново сливане."
 
-#: builtin/merge.c:1245
+#: builtin/merge.c:1188
 msgid "You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists)."
 msgstr ""
 "Не сте завършили отбиране на подаване (указателят „CHERRY_PICK_HEAD“\n"
 "съществува)."
 
-#: builtin/merge.c:1254
+#: builtin/merge.c:1197
 msgid "You cannot combine --squash with --no-ff."
 msgstr "Опцията „--squash“ е несъвместима с „--no-ff“."
 
-#: builtin/merge.c:1262
+#: builtin/merge.c:1205
 msgid "No commit specified and merge.defaultToUpstream not set."
 msgstr ""
 "Не е указано подаване и настройката „merge.defaultToUpstream“ не е зададена."
 
-#: builtin/merge.c:1279
+#: builtin/merge.c:1222
 msgid "Squash commit into empty head not supported yet"
 msgstr "Подаване със смачкване във връх без история все още не се поддържа"
 
-#: builtin/merge.c:1281
+#: builtin/merge.c:1224
 msgid "Non-fast-forward commit does not make sense into an empty head"
 msgstr ""
 "Понеже върхът е без история, всички сливания са тривиални, не може да се "
 "извърши нетривиално сливане изисквано от опцията „--no-ff“"
 
-#: builtin/merge.c:1286
+#: builtin/merge.c:1229
 #, c-format
 msgid "%s - not something we can merge"
 msgstr "„%s“ — не е нещо, което може да се слее"
 
-#: builtin/merge.c:1288
+#: builtin/merge.c:1231
 msgid "Can merge only exactly one commit into empty head"
 msgstr "Можете да слеете точно едно подаване във връх без история"
 
-#: builtin/merge.c:1344
+#: builtin/merge.c:1287
 #, c-format
 msgid "Commit %s has an untrusted GPG signature, allegedly by %s."
 msgstr ""
 "Подаването „%s“ е с недоверен подпис от GPG, който твърди, че е на „%s“."
 
-#: builtin/merge.c:1347
+#: builtin/merge.c:1290
 #, c-format
 msgid "Commit %s has a bad GPG signature allegedly by %s."
 msgstr ""
 "Подаването „%s“ е с неправилен подпис от GPG, който твърди, че е на „%s“."
 
-#: builtin/merge.c:1350
+#: builtin/merge.c:1293
 #, c-format
 msgid "Commit %s does not have a GPG signature."
 msgstr "Подаването „%s“ е без подпис от GPG."
 
-#: builtin/merge.c:1353
+#: builtin/merge.c:1296
 #, c-format
 msgid "Commit %s has a good GPG signature by %s\n"
 msgstr "Подаването „%s“ е с коректен подпис от GPG на „%s“.\n"
 
-#: builtin/merge.c:1415
+#: builtin/merge.c:1358
 msgid "refusing to merge unrelated histories"
 msgstr "независими истории не може да се слеят"
 
-#: builtin/merge.c:1439
+#: builtin/merge.c:1367
+msgid "Already up-to-date."
+msgstr "Вече е обновено."
+
+#: builtin/merge.c:1377
 #, c-format
 msgid "Updating %s..%s\n"
 msgstr "Обновяване „%s..%s“\n"
 
-#: builtin/merge.c:1476
+#: builtin/merge.c:1418
 #, c-format
 msgid "Trying really trivial in-index merge...\n"
 msgstr "Проба с най-тривиалното сливане в рамките на индекса…\n"
 
-# FIXME WTF message
-#: builtin/merge.c:1483
+#: builtin/merge.c:1425
 #, c-format
 msgid "Nope.\n"
 msgstr "Неуспешно сливане.\n"
 
-#: builtin/merge.c:1515
+#: builtin/merge.c:1450
+msgid "Already up-to-date. Yeeah!"
+msgstr "Вече е обновено!"
+
+#: builtin/merge.c:1456
 msgid "Not possible to fast-forward, aborting."
 msgstr ""
 "Не може да се извърши тривиално сливане, преустановяване на действието."
 
-#: builtin/merge.c:1538 builtin/merge.c:1617
+#: builtin/merge.c:1479 builtin/merge.c:1558
 #, c-format
 msgid "Rewinding the tree to pristine...\n"
 msgstr "Привеждане на дървото към първоначалното…\n"
 
-#: builtin/merge.c:1542
+#: builtin/merge.c:1483
 #, c-format
 msgid "Trying merge strategy %s...\n"
 msgstr "Пробване със стратегията за сливане „%s“…\n"
 
-#: builtin/merge.c:1608
+#: builtin/merge.c:1549
 #, c-format
 msgid "No merge strategy handled the merge.\n"
 msgstr "Никоя стратегия за сливане не може да извърши сливането.\n"
 
-#: builtin/merge.c:1610
+#: builtin/merge.c:1551
 #, c-format
 msgid "Merge with strategy %s failed.\n"
 msgstr "Неуспешно сливане със стратегия „%s“.\n"
 
-#: builtin/merge.c:1619
+#: builtin/merge.c:1560
 #, c-format
 msgid "Using the %s to prepare resolving by hand.\n"
 msgstr ""
 "Ползва се стратегията „%s“, която ще подготви дървото за коригиране на "
 "ръка.\n"
 
-#: builtin/merge.c:1631
+#: builtin/merge.c:1572
 #, c-format
 msgid "Automatic merge went well; stopped before committing as requested\n"
 msgstr ""
-"Автоматичното сливане завърши успешно. Самото подаване не е извършено, "
+"Автоматичното сливане завърши успешно.  Самото подаване не е извършено, "
 "защото бе зададена опцията „--no-commit“.\n"
 
 #: builtin/merge-base.c:29
@@ -8795,24 +9807,24 @@
 msgid "git merge-base --fork-point <ref> [<commit>]"
 msgstr "git merge-base --fork-point УКАЗАТЕЛ [ПОДАВАНЕ]"
 
-#: builtin/merge-base.c:214
+#: builtin/merge-base.c:217
 msgid "output all common ancestors"
 msgstr "извеждане на всички общи предшественици"
 
-#: builtin/merge-base.c:216
+#: builtin/merge-base.c:219
 msgid "find ancestors for a single n-way merge"
 msgstr ""
 "откриване на предшествениците за еднократно сливане на множество истории"
 
-#: builtin/merge-base.c:218
+#: builtin/merge-base.c:221
 msgid "list revs not reachable from others"
 msgstr "извеждане на недостижимите от другите указатели"
 
-#: builtin/merge-base.c:220
+#: builtin/merge-base.c:223
 msgid "is the first one ancestor of the other?"
 msgstr "ПОДАВАНЕ_1 предшественик ли е на ПОДАВАНЕ_2?"
 
-#: builtin/merge-base.c:222
+#: builtin/merge-base.c:225
 msgid "find where <commit> forked from reflog of <ref>"
 msgstr "откриване къде ПОДАВАНЕто се е отклонило от историята на УКАЗАТЕЛя"
 
@@ -8856,6 +9868,37 @@
 msgid "set labels for file1/orig-file/file2"
 msgstr "задаване на етикети за ФАЙЛ_1/ОРИГИНАЛ/ФАЙЛ_2"
 
+#: builtin/merge-recursive.c:45
+#, c-format
+msgid "unknown option %s"
+msgstr "непозната опция: „%s“"
+
+#: builtin/merge-recursive.c:51
+#, c-format
+msgid "could not parse object '%s'"
+msgstr "неуспешен анализ на обекта „%s“"
+
+#: builtin/merge-recursive.c:55
+#, c-format
+msgid "cannot handle more than %d base. Ignoring %s."
+msgid_plural "cannot handle more than %d bases. Ignoring %s."
+msgstr[0] "не се поддържа повече от %d база.  „%s“ се прескача."
+msgstr[1] "не се поддържат повече от %d бази.  „%s“ се прескача."
+
+#: builtin/merge-recursive.c:63
+msgid "not handling anything other than two heads merge."
+msgstr "поддържа се само сливане на точно две истории."
+
+#: builtin/merge-recursive.c:69 builtin/merge-recursive.c:71
+#, c-format
+msgid "could not resolve ref '%s'"
+msgstr "указателят „%s“ не може да бъде изтрит"
+
+#: builtin/merge-recursive.c:77
+#, c-format
+msgid "Merging %s with %s\n"
+msgstr "Сливане на „%s“ с „%s“\n"
+
 #: builtin/mktree.c:65
 msgid "git mktree [-z] [--missing] [--batch]"
 msgstr "git mktree [-z] [--missing] [--batch]"
@@ -8900,112 +9943,111 @@
 msgid "skip move/rename errors"
 msgstr "прескачане на грешките при преместване/преименуване"
 
-#: builtin/mv.c:152
+#: builtin/mv.c:155
 #, c-format
 msgid "destination '%s' is not a directory"
 msgstr "целта „%s“ съществува и не е директория"
 
-#: builtin/mv.c:163
+#: builtin/mv.c:166
 #, c-format
 msgid "Checking rename of '%s' to '%s'\n"
 msgstr "Проверка на преименуването на обект от „%s“ на „%s“\n"
 
-#: builtin/mv.c:167
+#: builtin/mv.c:170
 msgid "bad source"
 msgstr "неправилен обект"
 
-#: builtin/mv.c:170
+#: builtin/mv.c:173
 msgid "can not move directory into itself"
 msgstr "директория не може да се премести в себе си"
 
-#: builtin/mv.c:173
+#: builtin/mv.c:176
 msgid "cannot move directory over file"
 msgstr "директория не може да се премести върху файл"
 
-#: builtin/mv.c:182
+#: builtin/mv.c:185
 msgid "source directory is empty"
 msgstr "първоначалната директория е празна"
 
-#: builtin/mv.c:207
+#: builtin/mv.c:210
 msgid "not under version control"
 msgstr "не е под контрола на Git"
 
-#: builtin/mv.c:210
+#: builtin/mv.c:213
 msgid "destination exists"
 msgstr "целта съществува"
 
-#: builtin/mv.c:218
+#: builtin/mv.c:221
 #, c-format
 msgid "overwriting '%s'"
 msgstr "презаписване на „%s“"
 
-#: builtin/mv.c:221
+#: builtin/mv.c:224
 msgid "Cannot overwrite"
 msgstr "Презаписването е невъзможно"
 
-#: builtin/mv.c:224
+#: builtin/mv.c:227
 msgid "multiple sources for the same target"
 msgstr "множество източници за една цел"
 
-#: builtin/mv.c:226
+#: builtin/mv.c:229
 msgid "destination directory does not exist"
 msgstr "целевата директория не съществува"
 
-#: builtin/mv.c:233
+#: builtin/mv.c:236
 #, c-format
 msgid "%s, source=%s, destination=%s"
 msgstr "%s, обект: „%s“, цел: „%s“"
 
-#: builtin/mv.c:254
+#: builtin/mv.c:257
 #, c-format
 msgid "Renaming %s to %s\n"
 msgstr "Преименуване на „%s“ на „%s“\n"
 
-#: builtin/mv.c:260 builtin/remote.c:714 builtin/repack.c:365
+#: builtin/mv.c:263 builtin/remote.c:710 builtin/repack.c:375
 #, c-format
 msgid "renaming '%s' failed"
 msgstr "неуспешно преименуване на „%s“"
 
-#: builtin/name-rev.c:258
+#: builtin/name-rev.c:257
 msgid "git name-rev [<options>] <commit>..."
 msgstr "git name-rev [ОПЦИЯ…] ПОДАВАНЕ…"
 
-#: builtin/name-rev.c:259
+#: builtin/name-rev.c:258
 msgid "git name-rev [<options>] --all"
 msgstr "git name-rev [ОПЦИЯ…] --all"
 
-#: builtin/name-rev.c:260
+#: builtin/name-rev.c:259
 msgid "git name-rev [<options>] --stdin"
 msgstr "git name-rev [ОПЦИЯ…] --stdin"
 
-# FIXME sha
-#: builtin/name-rev.c:312
+#: builtin/name-rev.c:311
 msgid "print only names (no SHA-1)"
 msgstr "извеждане само на имената (без сумите по SHA1)"
 
-#: builtin/name-rev.c:313
+#: builtin/name-rev.c:312
 msgid "only use tags to name the commits"
 msgstr "използване само на етикетите за именуване на подаванията"
 
-#: builtin/name-rev.c:315
+#: builtin/name-rev.c:314
 msgid "only use refs matching <pattern>"
 msgstr "използване само на указателите напасващи на ШАБЛОНа"
 
-#: builtin/name-rev.c:317
+#: builtin/name-rev.c:316
 msgid "list all commits reachable from all refs"
 msgstr ""
 "извеждане на всички подавания, които могат да бъдат достигнати от всички "
 "указатели"
 
-#: builtin/name-rev.c:318
+#: builtin/name-rev.c:317
 msgid "read from stdin"
 msgstr "четене от стандартния вход"
 
-#: builtin/name-rev.c:319
+#: builtin/name-rev.c:318
 msgid "allow to print `undefined` names (default)"
 msgstr "да се извеждат и недефинираните имена (стандартна стойност на опцията)"
 
-#: builtin/name-rev.c:325
+#: builtin/name-rev.c:324
 msgid "dereference tags in the input (internal use)"
 msgstr "извеждане на идентификаторите на обекти-етикети (за вътрешни нужди)"
 
@@ -9083,7 +10125,7 @@
 
 #: builtin/notes.c:52
 msgid "git notes copy --stdin [<from-object> <to-object>]..."
-msgstr "git notes copy --stdin [ОБЕКТ_ИЗТОЧНИК ОБЕКТ_ЦЕЛ]…"
+msgstr "git notes copy --stdin [ОБЕКТ_ИЗТОЧНИК ОБЕКТ_ЦЕЛ…]"
 
 #: builtin/notes.c:57
 msgid "git notes append [<options>] [<object>]"
@@ -9121,6 +10163,10 @@
 msgid "git notes get-ref"
 msgstr "git notes get-ref"
 
+#: builtin/notes.c:94
+msgid "Write/edit the notes for the following object:"
+msgstr "Записване/редактиране на бележките за следния обект:"
+
 #: builtin/notes.c:147
 #, c-format
 msgid "unable to start 'show' for object '%s'"
@@ -9135,131 +10181,149 @@
 msgid "failed to finish 'show' for object '%s'"
 msgstr "действието „show“ не може да се завърши за обект „%s“"
 
-#: builtin/notes.c:174 builtin/tag.c:248
-#, c-format
-msgid "could not create file '%s'"
-msgstr "файлът „%s“ не може да бъде създаден"
+#: builtin/notes.c:194
+msgid "please supply the note contents using either -m or -F option"
+msgstr "задайте съдържанието на бележката с някоя от опциите „-m“ или „-F“"
 
-#: builtin/notes.c:193
-msgid "Please supply the note contents using either -m or -F option"
-msgstr "Задайте съдържанието на бележката с някоя от опциите „-m“ или „-F“"
-
-#: builtin/notes.c:202
+#: builtin/notes.c:203
 msgid "unable to write note object"
 msgstr "обектът-бележка не може да бъде записан"
 
-#: builtin/notes.c:204
+#: builtin/notes.c:205
 #, c-format
-msgid "The note contents have been left in %s"
-msgstr "Съдържанието на бележката е във файла „%s“"
+msgid "the note contents have been left in %s"
+msgstr "съдържанието на бележката е във файла „%s“"
 
-#: builtin/notes.c:232 builtin/tag.c:439
+#: builtin/notes.c:233 builtin/tag.c:439
 #, c-format
 msgid "cannot read '%s'"
 msgstr "файлът „%s“ не може да бъде прочетен"
 
-#: builtin/notes.c:234 builtin/tag.c:442
+#: builtin/notes.c:235 builtin/tag.c:442
 #, c-format
 msgid "could not open or read '%s'"
 msgstr "файлът „%s“ не може да бъде отворен или прочетен"
 
-#: builtin/notes.c:256
+#: builtin/notes.c:254 builtin/notes.c:305 builtin/notes.c:307
+#: builtin/notes.c:372 builtin/notes.c:427 builtin/notes.c:513
+#: builtin/notes.c:518 builtin/notes.c:596 builtin/notes.c:659
 #, c-format
-msgid "Failed to read object '%s'."
-msgstr "Обектът „%s“ не може да бъде прочетен."
+msgid "failed to resolve '%s' as a valid ref."
+msgstr "не може да се открие към какво сочи „%s“."
 
-#: builtin/notes.c:260
+#: builtin/notes.c:257
 #, c-format
-msgid "Cannot read note data from non-blob object '%s'."
+msgid "failed to read object '%s'."
+msgstr "обектът „%s“ не може да бъде прочетен."
+
+#: builtin/notes.c:261
+#, c-format
+msgid "cannot read note data from non-blob object '%s'."
 msgstr ""
-"Съдържанието на бележка не може да се вземе от обект, който не е BLOB: „%s“."
+"съдържанието на бележка не може да се вземе от обект, който не е BLOB: „%s“."
 
-#: builtin/notes.c:362 builtin/notes.c:417 builtin/notes.c:493
-#: builtin/notes.c:505 builtin/notes.c:581 builtin/notes.c:649
-#: builtin/notes.c:946
+#: builtin/notes.c:301
+#, c-format
+msgid "malformed input line: '%s'."
+msgstr "входен ред с неправилен формат: „%s“."
+
+#: builtin/notes.c:316
+#, c-format
+msgid "failed to copy notes from '%s' to '%s'"
+msgstr "бележката не може да се копира от „%s“ към „%s“"
+
+#. TRANSLATORS: the first %s will be replaced by a
+#. git notes command: 'add', 'merge', 'remove', etc.
+#: builtin/notes.c:345
+#, c-format
+msgid "refusing to %s notes in %s (outside of refs/notes/)"
+msgstr ""
+"няма да се извърши „%s“ върху бележките в „%s“, защото са извън „refs/"
+"notes/“."
+
+#: builtin/notes.c:365 builtin/notes.c:420 builtin/notes.c:496
+#: builtin/notes.c:508 builtin/notes.c:584 builtin/notes.c:652
+#: builtin/notes.c:802 builtin/notes.c:949 builtin/notes.c:970
 msgid "too many parameters"
 msgstr "прекалено много параметри"
 
-#: builtin/notes.c:375 builtin/notes.c:662
+#: builtin/notes.c:378 builtin/notes.c:665
 #, c-format
-msgid "No note found for object %s."
-msgstr "Няма бележки за обекта „%s“."
+msgid "no note found for object %s."
+msgstr "няма бележки за обекта „%s“."
 
-#: builtin/notes.c:396 builtin/notes.c:559
+#: builtin/notes.c:399 builtin/notes.c:562
 msgid "note contents as a string"
 msgstr "низ, който е съдържанието на бележката"
 
-#: builtin/notes.c:399 builtin/notes.c:562
+#: builtin/notes.c:402 builtin/notes.c:565
 msgid "note contents in a file"
 msgstr "ФАЙЛ със съдържанието на бележката"
 
-#: builtin/notes.c:402 builtin/notes.c:565
+#: builtin/notes.c:405 builtin/notes.c:568
 msgid "reuse and edit specified note object"
 msgstr "преизползване и редактиране на указания ОБЕКТ-бележка"
 
-#: builtin/notes.c:405 builtin/notes.c:568
+#: builtin/notes.c:408 builtin/notes.c:571
 msgid "reuse specified note object"
 msgstr "преизползване на указания ОБЕКТ-бележка"
 
-#: builtin/notes.c:408 builtin/notes.c:571
+#: builtin/notes.c:411 builtin/notes.c:574
 msgid "allow storing empty note"
 msgstr "приемане и на празни бележки"
 
-#: builtin/notes.c:409 builtin/notes.c:480
+#: builtin/notes.c:412 builtin/notes.c:483
 msgid "replace existing notes"
 msgstr "замяна на съществуващите бележки"
 
-#: builtin/notes.c:434
+#: builtin/notes.c:437
 #, c-format
 msgid ""
 "Cannot add notes. Found existing notes for object %s. Use '-f' to overwrite "
 "existing notes"
 msgstr ""
-"Не може да се добави бележка, защото такава вече съществува за обекта „%s“. "
+"Не може да се добави бележка, защото такава вече съществува за обекта „%s“.  "
 "Използвайте опцията „-f“, за да презапишете съществуващи бележки."
 
-#: builtin/notes.c:449 builtin/notes.c:528
+#: builtin/notes.c:452 builtin/notes.c:531
 #, c-format
 msgid "Overwriting existing notes for object %s\n"
 msgstr "Презаписване на съществуващите бележки за обекта „%s“\n"
 
-#: builtin/notes.c:460 builtin/notes.c:621 builtin/notes.c:886
+#: builtin/notes.c:463 builtin/notes.c:624 builtin/notes.c:889
 #, c-format
 msgid "Removing note for object %s\n"
 msgstr "Изтриване на бележката за обекта „%s“\n"
 
-#: builtin/notes.c:481
+#: builtin/notes.c:484
 msgid "read objects from stdin"
 msgstr "изчитане на обектите от стандартния вход"
 
-# FIXME imporve message
-#: builtin/notes.c:483
+#: builtin/notes.c:486
 msgid "load rewriting config for <command> (implies --stdin)"
 msgstr ""
 "зареждане на настройките за КОМАНДАта, която презаписва подавания (включва "
 "опцията „--stdin“)"
 
-#: builtin/notes.c:501
+#: builtin/notes.c:504
 msgid "too few parameters"
 msgstr "прекалено малко параметри"
 
-#: builtin/notes.c:522
+#: builtin/notes.c:525
 #, c-format
 msgid ""
 "Cannot copy notes. Found existing notes for object %s. Use '-f' to overwrite "
 "existing notes"
 msgstr ""
-"Не може да се копира бележка, защото такава вече съществува за обекта „%s“. "
+"Не може да се копира бележка, защото такава вече съществува за обекта „%s“.  "
 "Използвайте опцията „-f“, за да презапишете съществуващи бележки."
 
-#: builtin/notes.c:534
+#: builtin/notes.c:537
 #, c-format
-msgid "Missing notes on source object %s. Cannot copy."
-msgstr ""
-"Не може да се копира бележка, която не съществува — няма бележки за обекта-"
-"източник „%s“."
+msgid "missing notes on source object %s. Cannot copy."
+msgstr "няма бележки за обекта-източник „%s“.  Не може да се копира."
 
-#: builtin/notes.c:586
+#: builtin/notes.c:589
 #, c-format
 msgid ""
 "The -m/-F/-c/-C options have been deprecated for the 'edit' subcommand.\n"
@@ -9270,15 +10334,52 @@
 "Вместо това ги използвайте с подкомандата „add“: „git notes add -f -m/-F/-c/-"
 "C“.\n"
 
-#: builtin/notes.c:768
+#: builtin/notes.c:685
+msgid "failed to delete ref NOTES_MERGE_PARTIAL"
+msgstr "указателят „NOTES_MERGE_PARTIAL“ не може да бъде изтрит"
+
+#: builtin/notes.c:687
+msgid "failed to delete ref NOTES_MERGE_REF"
+msgstr "указателят „NOTES_MERGE_REF“ не може да бъде изтрит"
+
+#: builtin/notes.c:689
+msgid "failed to remove 'git notes merge' worktree"
+msgstr "работната директория на „git notes merge“ не може да бъде изтрита"
+
+#: builtin/notes.c:709
+msgid "failed to read ref NOTES_MERGE_PARTIAL"
+msgstr "указателят „NOTES_MERGE_PARTIAL“ не може да бъде прочетен"
+
+#: builtin/notes.c:711
+msgid "could not find commit from NOTES_MERGE_PARTIAL."
+msgstr "подаването от „NOTES_MERGE_PARTIAL“ не може да се открие."
+
+#: builtin/notes.c:713
+msgid "could not parse commit from NOTES_MERGE_PARTIAL."
+msgstr "подаването от „NOTES_MERGE_PARTIAL“ не може да се анализира."
+
+#: builtin/notes.c:726
+msgid "failed to resolve NOTES_MERGE_REF"
+msgstr "не може да се открие към какво сочи „NOTES_MERGE_REF“"
+
+#: builtin/notes.c:729
+msgid "failed to finalize notes merge"
+msgstr "неуспешно сливане на бележките"
+
+#: builtin/notes.c:755
+#, c-format
+msgid "unknown notes merge strategy %s"
+msgstr "непозната стратегия за сливане на бележки „%s“"
+
+#: builtin/notes.c:771
 msgid "General options"
 msgstr "Общи опции"
 
-#: builtin/notes.c:770
+#: builtin/notes.c:773
 msgid "Merge options"
 msgstr "Опции при сливане"
 
-#: builtin/notes.c:772
+#: builtin/notes.c:775
 msgid ""
 "resolve notes conflicts using the given strategy (manual/ours/theirs/union/"
 "cat_sort_uniq)"
@@ -9288,253 +10389,289 @@
 "„union“ (обединяване), „cat_sort_uniq“ (обединяване, подреждане, уникални "
 "резултати)"
 
-#: builtin/notes.c:774
+#: builtin/notes.c:777
 msgid "Committing unmerged notes"
 msgstr "Подаване на неслети бележки"
 
-#: builtin/notes.c:776
+#: builtin/notes.c:779
 msgid "finalize notes merge by committing unmerged notes"
 msgstr "завършване на сливането чрез подаване на неслети бележки"
 
-#: builtin/notes.c:778
+#: builtin/notes.c:781
 msgid "Aborting notes merge resolution"
 msgstr "Преустановяване на корекцията при сливането на бележки"
 
-#: builtin/notes.c:780
+#: builtin/notes.c:783
 msgid "abort notes merge"
 msgstr "преустановяване на сливането на бележки"
 
-#: builtin/notes.c:857
-#, c-format
-msgid "A notes merge into %s is already in-progress at %s"
-msgstr "В момента се извършва сливане на бележките в „%s“ при „%s“"
+#: builtin/notes.c:794
+msgid "cannot mix --commit, --abort or -s/--strategy"
+msgstr "опциите „--commit“, „--abort“ и „-s“/„--strategy“ са несъвместими"
 
-#: builtin/notes.c:884
+#: builtin/notes.c:799
+msgid "must specify a notes ref to merge"
+msgstr "трябва да укажете указател към бележка за сливане."
+
+#: builtin/notes.c:823
+#, c-format
+msgid "unknown -s/--strategy: %s"
+msgstr "неизвестна стратегия към опцията „-s“/„--strategy“: „%s“"
+
+#: builtin/notes.c:860
+#, c-format
+msgid "a notes merge into %s is already in-progress at %s"
+msgstr "в момента се извършва сливане на бележките в „%s“ при „%s“"
+
+#: builtin/notes.c:863
+#, c-format
+msgid "failed to store link to current notes ref (%s)"
+msgstr "не може да се запази връзка към указателя на текущата бележка („%s“)."
+
+#: builtin/notes.c:865
+#, c-format
+msgid ""
+"Automatic notes merge failed. Fix conflicts in %s and commit the result with "
+"'git notes merge --commit', or abort the merge with 'git notes merge --"
+"abort'.\n"
+msgstr ""
+"Неуспешно сливане на бележките.  Разрешете конфликтите в „%s“ и подайте "
+"резултата с „git notes merge --commit“ или преустановете сливането с "
+"командата „git notes merge --abort“.\n"
+
+#: builtin/notes.c:887
 #, c-format
 msgid "Object %s has no note\n"
 msgstr "Няма бележки за обекта „%s“\n"
 
-#: builtin/notes.c:896
+#: builtin/notes.c:899
 msgid "attempt to remove non-existent note is not an error"
 msgstr "опитът за изтриването на несъществуваща бележка не се счита за грешка"
 
-#: builtin/notes.c:899
+#: builtin/notes.c:902
 msgid "read object names from the standard input"
 msgstr "изчитане на имената на обектите от стандартния вход"
 
-#: builtin/notes.c:980
+#: builtin/notes.c:940 builtin/prune.c:105 builtin/worktree.c:127
+msgid "do not remove, show only"
+msgstr "само извеждане без действително окастряне"
+
+#: builtin/notes.c:941
+msgid "report pruned notes"
+msgstr "докладване на окастрените обекти"
+
+#: builtin/notes.c:983
 msgid "notes-ref"
 msgstr "УКАЗАТЕЛ_ЗА_БЕЛЕЖКА"
 
-#: builtin/notes.c:981
+#: builtin/notes.c:984
 msgid "use notes from <notes-ref>"
 msgstr "да се използва бележката сочена от този УКАЗАТЕЛ_ЗА_БЕЛЕЖКА"
 
-#: builtin/notes.c:1016 builtin/remote.c:1628
+#: builtin/notes.c:1019
 #, c-format
-msgid "Unknown subcommand: %s"
-msgstr "Непозната подкоманда: %s"
+msgid "unknown subcommand: %s"
+msgstr "непозната подкоманда: %s"
 
-#: builtin/pack-objects.c:28
+#: builtin/pack-objects.c:29
 msgid ""
 "git pack-objects --stdout [<options>...] [< <ref-list> | < <object-list>]"
 msgstr ""
 "git pack-objects --stdout [ОПЦИЯ…] [< СПИСЪК_С_УКАЗАТЕЛИ | < СПИСЪК_С_ОБЕКТИ]"
 
-# FIXME [options] vs [options...]
-#: builtin/pack-objects.c:29
+#: builtin/pack-objects.c:30
 msgid ""
 "git pack-objects [<options>...] <base-name> [< <ref-list> | < <object-list>]"
 msgstr ""
 "git pack-objects [ОПЦИЯ…] ПРЕФИКС_НА_ИМЕТО [< СПИСЪК_С_УКАЗАТЕЛИ | < "
 "СПИСЪК_С_ОБЕКТИ]"
 
-#: builtin/pack-objects.c:175 builtin/pack-objects.c:178
+#: builtin/pack-objects.c:179 builtin/pack-objects.c:182
 #, c-format
 msgid "deflate error (%d)"
 msgstr "грешка при декомпресиране с „deflate“ (%d)"
 
-#: builtin/pack-objects.c:763
+#: builtin/pack-objects.c:768
 msgid "disabling bitmap writing, packs are split due to pack.packSizeLimit"
 msgstr ""
 "изключване на записването на битовата маска, пакетите са разделени поради "
 "стойността на „pack.packSizeLimit“"
 
-#: builtin/pack-objects.c:776
+#: builtin/pack-objects.c:781
 msgid "Writing objects"
 msgstr "Записване на обектите"
 
-#: builtin/pack-objects.c:1017
+#: builtin/pack-objects.c:1070
 msgid "disabling bitmap writing, as some objects are not being packed"
 msgstr ""
 "изключване на записването на битовата маска, защото някои обекти няма да се "
 "пакетират"
 
-#: builtin/pack-objects.c:2177
+#: builtin/pack-objects.c:2346
 msgid "Compressing objects"
 msgstr "Компресиране на обектите"
 
-#: builtin/pack-objects.c:2563
+#: builtin/pack-objects.c:2759
 #, c-format
 msgid "unsupported index version %s"
 msgstr "неподдържана версия на индекса „%s“"
 
-#: builtin/pack-objects.c:2567
+#: builtin/pack-objects.c:2763
 #, c-format
 msgid "bad index version '%s'"
 msgstr "неправилна версия на индекса „%s“"
 
-#: builtin/pack-objects.c:2597
+#: builtin/pack-objects.c:2793
 msgid "do not show progress meter"
 msgstr "без извеждане на напредъка"
 
-#: builtin/pack-objects.c:2599
+#: builtin/pack-objects.c:2795
 msgid "show progress meter"
 msgstr "извеждане на напредъка"
 
-#: builtin/pack-objects.c:2601
+#: builtin/pack-objects.c:2797
 msgid "show progress meter during object writing phase"
 msgstr "извеждане на напредъка във фазата на запазване на обектите"
 
-#: builtin/pack-objects.c:2604
+#: builtin/pack-objects.c:2800
 msgid "similar to --all-progress when progress meter is shown"
 msgstr ""
 "същото действие като опцията „--all-progress“ при извеждането на напредъка"
 
-#: builtin/pack-objects.c:2605
+#: builtin/pack-objects.c:2801
 msgid "version[,offset]"
 msgstr "ВЕРСИЯ[,ОТМЕСТВАНЕ]"
 
-#: builtin/pack-objects.c:2606
+#: builtin/pack-objects.c:2802
 msgid "write the pack index file in the specified idx format version"
 msgstr ""
 "запазване на индекса на пакетните файлове във форма̀та с указаната версия"
 
-#: builtin/pack-objects.c:2609
+#: builtin/pack-objects.c:2805
 msgid "maximum size of each output pack file"
 msgstr "максимален размер на всеки пакетен файл"
 
-#: builtin/pack-objects.c:2611
+#: builtin/pack-objects.c:2807
 msgid "ignore borrowed objects from alternate object store"
 msgstr "игнориране на обектите заети от други хранилища на обекти"
 
-#: builtin/pack-objects.c:2613
+#: builtin/pack-objects.c:2809
 msgid "ignore packed objects"
 msgstr "игнориране на пакетираните обекти"
 
-#: builtin/pack-objects.c:2615
+#: builtin/pack-objects.c:2811
 msgid "limit pack window by objects"
 msgstr "ограничаване на прозореца за пакетиране по брой обекти"
 
-#: builtin/pack-objects.c:2617
+#: builtin/pack-objects.c:2813
 msgid "limit pack window by memory in addition to object limit"
 msgstr ""
 "ограничаване на прозореца за пакетиране и по памет освен по брой обекти"
 
-#: builtin/pack-objects.c:2619
+#: builtin/pack-objects.c:2815
 msgid "maximum length of delta chain allowed in the resulting pack"
 msgstr ""
 "максимална дължина на веригата от разлики, която е позволена в пакетния файл"
 
-#: builtin/pack-objects.c:2621
+#: builtin/pack-objects.c:2817
 msgid "reuse existing deltas"
 msgstr "преизползване на съществуващите разлики"
 
-#: builtin/pack-objects.c:2623
+#: builtin/pack-objects.c:2819
 msgid "reuse existing objects"
 msgstr "преизползване на съществуващите обекти"
 
-#: builtin/pack-objects.c:2625
+#: builtin/pack-objects.c:2821
 msgid "use OFS_DELTA objects"
 msgstr "използване на обекти „OFS_DELTA“"
 
-#: builtin/pack-objects.c:2627
+#: builtin/pack-objects.c:2823
 msgid "use threads when searching for best delta matches"
 msgstr ""
 "стартиране на нишки за претърсване на най-добрите съвпадения на разликите"
 
-#: builtin/pack-objects.c:2629
+#: builtin/pack-objects.c:2825
 msgid "do not create an empty pack output"
 msgstr "без създаване на празен пакетен файл"
 
-#: builtin/pack-objects.c:2631
+#: builtin/pack-objects.c:2827
 msgid "read revision arguments from standard input"
 msgstr "изчитане на версиите от стандартния вход"
 
-#: builtin/pack-objects.c:2633
+#: builtin/pack-objects.c:2829
 msgid "limit the objects to those that are not yet packed"
 msgstr "ограничаване до все още непакетираните обекти"
 
-#: builtin/pack-objects.c:2636
+#: builtin/pack-objects.c:2832
 msgid "include objects reachable from any reference"
 msgstr ""
 "включване на всички обекти, които могат да се достигнат от произволен "
 "указател"
 
-#: builtin/pack-objects.c:2639
+#: builtin/pack-objects.c:2835
 msgid "include objects referred by reflog entries"
 msgstr "включване и на обектите сочени от записите в журнала на указателите"
 
-#: builtin/pack-objects.c:2642
+#: builtin/pack-objects.c:2838
 msgid "include objects referred to by the index"
 msgstr "включване и на обектите сочени от индекса"
 
-#: builtin/pack-objects.c:2645
+#: builtin/pack-objects.c:2841
 msgid "output pack to stdout"
 msgstr "извеждане на пакета на стандартния изход"
 
-#: builtin/pack-objects.c:2647
+#: builtin/pack-objects.c:2843
 msgid "include tag objects that refer to objects to be packed"
 msgstr ""
 "включване и на обектите-етикети, които сочат към обектите, които ще бъдат "
 "пакетирани"
 
-#: builtin/pack-objects.c:2649
+#: builtin/pack-objects.c:2845
 msgid "keep unreachable objects"
 msgstr "запазване на недостижимите обекти"
 
-#: builtin/pack-objects.c:2650 parse-options.h:142
-msgid "time"
-msgstr "ВРЕМЕ"
+#: builtin/pack-objects.c:2847
+msgid "pack loose unreachable objects"
+msgstr "пакетиране и на недостижимите обекти"
 
-#: builtin/pack-objects.c:2651
+#: builtin/pack-objects.c:2849
 msgid "unpack unreachable objects newer than <time>"
 msgstr "разпакетиране на недостижимите обекти, които са по-нови от това ВРЕМЕ"
 
-#: builtin/pack-objects.c:2654
+#: builtin/pack-objects.c:2852
 msgid "create thin packs"
 msgstr "създаване на съкратени пакети"
 
-#: builtin/pack-objects.c:2656
+#: builtin/pack-objects.c:2854
 msgid "create packs suitable for shallow fetches"
 msgstr "пакетиране подходящо за плитко доставяне"
 
-#: builtin/pack-objects.c:2658
+#: builtin/pack-objects.c:2856
 msgid "ignore packs that have companion .keep file"
 msgstr "игнориране на пакетите, които са придружени от файл „.keep“"
 
-#: builtin/pack-objects.c:2660
+#: builtin/pack-objects.c:2858
 msgid "pack compression level"
 msgstr "ниво на компресиране при пакетиране"
 
-#: builtin/pack-objects.c:2662
+#: builtin/pack-objects.c:2860
 msgid "do not hide commits by grafts"
 msgstr ""
 "извеждане на всички родители — дори и тези, които нормално са скрити при "
 "присажданията"
 
-#: builtin/pack-objects.c:2664
+#: builtin/pack-objects.c:2862
 msgid "use a bitmap index if available to speed up counting objects"
 msgstr ""
 "използване на съществуващи индекси на база битови маски за ускоряване на "
 "преброяването на обектите"
 
-#: builtin/pack-objects.c:2666
+#: builtin/pack-objects.c:2864
 msgid "write a bitmap index together with the pack index"
 msgstr ""
 "запазване и на индекс на база побитова маска, заедно с индекса за пакета"
 
-#: builtin/pack-objects.c:2757
+#: builtin/pack-objects.c:2993
 msgid "Counting objects"
 msgstr "Преброяване на обектите"
 
@@ -9562,15 +10699,11 @@
 msgid "git prune [-n] [-v] [--expire <time>] [--] [<head>...]"
 msgstr "git prune [-n] [-v] [--expire ВРЕМЕ] [--] [ВРЪХ…]"
 
-#: builtin/prune.c:105 builtin/worktree.c:125
-msgid "do not remove, show only"
-msgstr "само извеждане без действително окастряне"
-
-#: builtin/prune.c:106 builtin/worktree.c:126
+#: builtin/prune.c:106 builtin/worktree.c:128
 msgid "report pruned objects"
 msgstr "информация за окастрените обекти"
 
-#: builtin/prune.c:109 builtin/worktree.c:128
+#: builtin/prune.c:109 builtin/worktree.c:130
 msgid "expire objects older than <time>"
 msgstr "окастряне на обектите по-стари от това ВРЕМЕ"
 
@@ -9578,60 +10711,45 @@
 msgid "cannot prune in a precious-objects repo"
 msgstr "хранилище с важни обекти не може да се окастря"
 
-#: builtin/pull.c:72
+#: builtin/pull.c:51 builtin/pull.c:53
+#, c-format
+msgid "Invalid value for %s: %s"
+msgstr "Неправилна стойност за „%s“: „%s“"
+
+#: builtin/pull.c:73
 msgid "git pull [<options>] [<repository> [<refspec>...]]"
 msgstr "git push [ОПЦИЯ…] [ХРАНИЛИЩЕ [УКАЗАТЕЛ_НА_ВЕРСИЯ…]]"
 
-#: builtin/pull.c:120
+#: builtin/pull.c:121
 msgid "Options related to merging"
 msgstr "Опции при сливане"
 
-#: builtin/pull.c:123
+#: builtin/pull.c:124
 msgid "incorporate changes by rebasing rather than merging"
 msgstr "внасяне на промените чрез пребазиране, а не чрез сливане"
 
-#: builtin/pull.c:147 builtin/revert.c:105
+#: builtin/pull.c:148 builtin/revert.c:101
 msgid "allow fast-forward"
 msgstr "позволяване на тривиални сливания"
 
-#: builtin/pull.c:153
-msgid "verify that the named commit has a valid GPG signature"
-msgstr "Проверка, че указаното подаване е с правилен подпис на GPG"
-
-#: builtin/pull.c:156
+#: builtin/pull.c:157
 msgid "automatically stash/stash pop before and after rebase"
 msgstr "автоматично скатаване/прилагане на скатаното преди и след пребазиране"
 
-#: builtin/pull.c:172
+#: builtin/pull.c:173
 msgid "Options related to fetching"
 msgstr "Опции при доставяне"
 
-#: builtin/pull.c:194
+#: builtin/pull.c:195
 msgid "number of submodules pulled in parallel"
 msgstr "брой подмодули издърпани паралелно"
 
-#: builtin/pull.c:283
+#: builtin/pull.c:284
 #, c-format
 msgid "Invalid value for pull.ff: %s"
 msgstr "Неправилна стойност за „pull.ff“: „%s“"
 
-#: builtin/pull.c:379
-msgid "Cannot pull with rebase: You have unstaged changes."
-msgstr ""
-"Не можете да издърпвате при това пребазиране, защото има промени, които не "
-"са в индекса"
-
-#: builtin/pull.c:385
-msgid "Additionally, your index contains uncommitted changes."
-msgstr "Освен това в индекса има неподадени промени."
-
-#: builtin/pull.c:387
-msgid "Cannot pull with rebase: Your index contains uncommitted changes."
-msgstr ""
-"Не можете да издърпвате при това пребазиране, защото в индекса има "
-"неподадени промени."
-
-#: builtin/pull.c:463
+#: builtin/pull.c:397
 msgid ""
 "There is no candidate for rebasing against among the refs that you just "
 "fetched."
@@ -9639,14 +10757,14 @@
 "Между указателите, които току що доставихте, няма подходящ кандидат, върху "
 "който да пребазирате."
 
-#: builtin/pull.c:465
+#: builtin/pull.c:399
 msgid ""
 "There are no candidates for merging among the refs that you just fetched."
 msgstr ""
 "Между указателите, които току що доставихте, няма подходящ кандидат, който "
 "да слеете."
 
-#: builtin/pull.c:466
+#: builtin/pull.c:400
 msgid ""
 "Generally this means that you provided a wildcard refspec which had no\n"
 "matches on the remote end."
@@ -9654,7 +10772,7 @@
 "Най вероятно сте подали шаблон за указатели, който не е напаснал с нищо в "
 "отдалеченото хранилище."
 
-#: builtin/pull.c:469
+#: builtin/pull.c:403
 #, c-format
 msgid ""
 "You asked to pull from the remote '%s', but did not specify\n"
@@ -9665,44 +10783,44 @@
 "Понеже това не е хранилището по подразбиране на текущия клон, трябва\n"
 "да укажете отдалечения клон на командния ред."
 
-#: builtin/pull.c:474 git-parse-remote.sh:73
+#: builtin/pull.c:408 git-parse-remote.sh:73
 msgid "You are not currently on a branch."
 msgstr "Извън всички клони."
 
-#: builtin/pull.c:476 builtin/pull.c:491 git-parse-remote.sh:79
+#: builtin/pull.c:410 builtin/pull.c:425 git-parse-remote.sh:79
 msgid "Please specify which branch you want to rebase against."
 msgstr "Укажете върху кой клон искате да пребазирате."
 
-#: builtin/pull.c:478 builtin/pull.c:493 git-parse-remote.sh:82
+#: builtin/pull.c:412 builtin/pull.c:427 git-parse-remote.sh:82
 msgid "Please specify which branch you want to merge with."
 msgstr "Укажете кой клон искате да слеете."
 
-#: builtin/pull.c:479 builtin/pull.c:494
+#: builtin/pull.c:413 builtin/pull.c:428
 msgid "See git-pull(1) for details."
 msgstr "За повече информация погледнете ръководството „git-pull(1)“"
 
-#: builtin/pull.c:481 builtin/pull.c:487 builtin/pull.c:496
+#: builtin/pull.c:415 builtin/pull.c:421 builtin/pull.c:430
 #: git-parse-remote.sh:64
 msgid "<remote>"
 msgstr "ОТДАЛЕЧЕНО_ХРАНИЛИЩЕ"
 
-#: builtin/pull.c:481 builtin/pull.c:496 builtin/pull.c:501
+#: builtin/pull.c:415 builtin/pull.c:430 builtin/pull.c:435 git-rebase.sh:451
 #: git-parse-remote.sh:65
 msgid "<branch>"
 msgstr "КЛОН"
 
-#: builtin/pull.c:489 git-parse-remote.sh:75
+#: builtin/pull.c:423 git-parse-remote.sh:75
 msgid "There is no tracking information for the current branch."
 msgstr "Текущият клон не следи никой."
 
-#: builtin/pull.c:498 git-parse-remote.sh:95
+#: builtin/pull.c:432 git-parse-remote.sh:95
 msgid ""
 "If you wish to set tracking information for this branch you can do so with:"
 msgstr ""
 "Ако искате да зададете информация за следен клон, можете да направите това с "
 "командата:"
 
-#: builtin/pull.c:503
+#: builtin/pull.c:437
 #, c-format
 msgid ""
 "Your configuration specifies to merge with the ref '%s'\n"
@@ -9711,25 +10829,37 @@
 "За сливане е указан отдалеченият указател „%s“,\n"
 "но такъв не е доставен."
 
-#: builtin/pull.c:864
+#: builtin/pull.c:754
+msgid "ignoring --verify-signatures for rebase"
+msgstr "без „--verify-signatures“ при пребазиране"
+
+#: builtin/pull.c:801
 msgid "--[no-]autostash option is only valid with --rebase."
 msgstr "опцията „--[no-]autostash“ изисква „--rebase“"
 
-#: builtin/pull.c:872
+#: builtin/pull.c:809
 msgid "Updating an unborn branch with changes added to the index."
 msgstr "Обновяване на все още несъздаден клон с промените от индекса"
 
-#: builtin/pull.c:900
+#: builtin/pull.c:812
+msgid "pull with rebase"
+msgstr "издърпване с пребазиране"
+
+#: builtin/pull.c:813
+msgid "please commit or stash them."
+msgstr "трябва да подадете или скатаете промените."
+
+#: builtin/pull.c:838
 #, c-format
 msgid ""
 "fetch updated the current branch head.\n"
 "fast-forwarding your working tree from\n"
 "commit %s."
 msgstr ""
-"доставянето обнови върха на текущия клон. Работното\n"
+"доставянето обнови върха на текущия клон.  Работното\n"
 "ви копие бе тривиално слято от подаване „%s“."
 
-#: builtin/pull.c:905
+#: builtin/pull.c:843
 #, c-format
 msgid ""
 "Cannot fast-forward your working tree.\n"
@@ -9746,11 +10876,11 @@
 "  $ git reset --hard\n"
 "за връщане към нормално състояние."
 
-#: builtin/pull.c:920
+#: builtin/pull.c:858
 msgid "Cannot merge multiple branches into empty head."
 msgstr "Не може да сливате множество клони в празен върхов указател."
 
-#: builtin/pull.c:924
+#: builtin/pull.c:862
 msgid "Cannot rebase onto multiple branches."
 msgstr "Не може да пребазирате върху повече от един клон."
 
@@ -9809,7 +10939,7 @@
 "\n"
 "    git push %s HEAD:<name-of-remote-branch>\n"
 msgstr ""
-"В момента не сте на никой клон. За да изтласкате историята до състоянието,\n"
+"В момента не сте на никой клон.  За да изтласкате историята до състоянието,\n"
 "сочено в момента от указателя „HEAD“, използвайте командата:\n"
 "\n"
 "    git push %s HEAD:ИМЕ_НА_ОТДАЛЕЧЕНИЯ_КЛОН\n"
@@ -9865,7 +10995,7 @@
 "на\n"
 "отдалечения клон. Внесете отдалечените промени (напр. с командата „git "
 "pull…“),\n"
-"преди отново да изтласкате промените. За повече информация вижте раздела\n"
+"преди отново да изтласкате промените.  За повече информация вижте раздела\n"
 "„Note about fast-forwards“ в страницата от ръководството „git push --help“."
 
 #: builtin/push.c:255
@@ -9876,8 +11006,8 @@
 "See the 'Note about fast-forwards' in 'git push --help' for details."
 msgstr ""
 "Обновяването е отхвърлено, защото върхът на изтласквания клон е преди върха\n"
-"на отдалечения клон. Проверете клона и внесете отдалечените промени (напр.\n"
-"с командата „git pull…“), преди отново да изтласкате промените. За повече\n"
+"на отдалечения клон.  Проверете клона и внесете отдалечените промени (напр.\n"
+"с командата „git pull…“), преди отново да изтласкате промените.  За повече\n"
 "информация погледнете раздела „Note about fast-forwards“ в страницата от\n"
 "ръководството „git push --help“."
 
@@ -9891,9 +11021,9 @@
 msgstr ""
 "Обновяването е отхвърлено, защото хранилището, към което изтласквате, "
 "съдържа\n"
-"промени, които липсват в локалното хранилище. Най-честата причина за това "
+"промени, които липсват в локалното хранилище.  Най-честата причина за това "
 "е,\n"
-"че някой друг е изтласквал към същия клон. Първо внесете отдалечените "
+"че някой друг е изтласквал към същия клон.  Първо внесете отдалечените "
 "промени\n"
 "(напр. с командата „git pull…“), преди отново да изтласкате промените.\n"
 "За повече информация погледнете раздела „Note about fast-forwards“ в "
@@ -9927,12 +11057,12 @@
 msgid "failed to push some refs to '%s'"
 msgstr "част от указателите не бяха изтласкани към „%s“"
 
-#: builtin/push.c:365
+#: builtin/push.c:366
 #, c-format
 msgid "bad repository '%s'"
 msgstr "неправилно указано хранилище „%s“"
 
-#: builtin/push.c:366
+#: builtin/push.c:367
 msgid ""
 "No configured push destination.\n"
 "Either specify the URL from the command-line or configure a remote "
@@ -9954,107 +11084,119 @@
 "\n"
 "    git push ИМЕ\n"
 
-#: builtin/push.c:381
+#: builtin/push.c:385
 msgid "--all and --tags are incompatible"
 msgstr "опциите „--all“ и „--tags“ са несъвместими"
 
-#: builtin/push.c:382
+#: builtin/push.c:386
 msgid "--all can't be combined with refspecs"
 msgstr "опцията „--all“ е несъвместима с указването на версия"
 
-#: builtin/push.c:387
+#: builtin/push.c:391
 msgid "--mirror and --tags are incompatible"
 msgstr "опциите „--mirror“ и „--tags“ са несъвместими"
 
-#: builtin/push.c:388
+#: builtin/push.c:392
 msgid "--mirror can't be combined with refspecs"
 msgstr "опцията „--mirror“ е несъвместима с указването на версия"
 
-#: builtin/push.c:393
+#: builtin/push.c:397
 msgid "--all and --mirror are incompatible"
 msgstr "опциите „--all“ и „--mirror“ са несъвместими"
 
-#: builtin/push.c:505
+#: builtin/push.c:515
 msgid "repository"
 msgstr "хранилище"
 
-#: builtin/push.c:506 builtin/send-pack.c:161
+#: builtin/push.c:516 builtin/send-pack.c:161
 msgid "push all refs"
 msgstr "изтласкване на всички указатели"
 
-#: builtin/push.c:507 builtin/send-pack.c:163
+#: builtin/push.c:517 builtin/send-pack.c:163
 msgid "mirror all refs"
 msgstr "огледално копие на всички указатели"
 
-#: builtin/push.c:509
+#: builtin/push.c:519
 msgid "delete refs"
 msgstr "изтриване на указателите"
 
-#: builtin/push.c:510
+#: builtin/push.c:520
 msgid "push tags (can't be used with --all or --mirror)"
 msgstr "изтласкване на етикетите (несъвместимо с опциите „--all“ и „--mirror“)"
 
-#: builtin/push.c:513 builtin/send-pack.c:164
+#: builtin/push.c:523 builtin/send-pack.c:164
 msgid "force updates"
 msgstr "принудително обновяване"
 
 # FIXME double check this
-#: builtin/push.c:515 builtin/send-pack.c:175
+#: builtin/push.c:525 builtin/send-pack.c:175
 msgid "refname>:<expect"
 msgstr "УКАЗАТЕЛ>:<ОЧАКВАНА_СТОЙНОСТ"
 
-#: builtin/push.c:516 builtin/send-pack.c:176
+#: builtin/push.c:526 builtin/send-pack.c:176
 msgid "require old value of ref to be at this value"
 msgstr "УКАЗАТЕЛят трябва първоначално да е с тази ОЧАКВАНА_СТОЙНОСТ"
 
-#: builtin/push.c:519
+#: builtin/push.c:529
 msgid "control recursive pushing of submodules"
 msgstr "управление на рекурсивното изтласкване на подмодулите"
 
-#: builtin/push.c:521 builtin/send-pack.c:169
+#: builtin/push.c:531 builtin/send-pack.c:169
 msgid "use thin pack"
 msgstr "използване на съкратени пакети"
 
-#: builtin/push.c:522 builtin/push.c:523 builtin/send-pack.c:158
+#: builtin/push.c:532 builtin/push.c:533 builtin/send-pack.c:158
 #: builtin/send-pack.c:159
 msgid "receive pack program"
 msgstr "програма за получаването на пакети"
 
-#: builtin/push.c:524
+#: builtin/push.c:534
 msgid "set upstream for git pull/status"
 msgstr "задаване на отдалеченото хранилище за командите „git pull/status“"
 
-#: builtin/push.c:527
+#: builtin/push.c:537
 msgid "prune locally removed refs"
 msgstr "окастряне на указателите, които са премахнати от локалното хранилище"
 
-#: builtin/push.c:529
+#: builtin/push.c:539
 msgid "bypass pre-push hook"
 msgstr "без изпълнение на куката преди изтласкване (pre-push)"
 
-#: builtin/push.c:530
+#: builtin/push.c:540
 msgid "push missing but relevant tags"
 msgstr ""
 "изтласкване на липсващите в отдалеченото хранилище, но свързани с текущото "
 "изтласкване, етикети"
 
-#: builtin/push.c:533 builtin/send-pack.c:166
+#: builtin/push.c:543 builtin/send-pack.c:166
 msgid "GPG sign the push"
 msgstr "подписване на изтласкването с GPG"
 
-#: builtin/push.c:535 builtin/send-pack.c:170
+#: builtin/push.c:545 builtin/send-pack.c:170
 msgid "request atomic transaction on remote side"
 msgstr "изискване на атомарни операции от отсрещната страна"
 
-#: builtin/push.c:549
+#: builtin/push.c:546
+msgid "server-specific"
+msgstr "специфични за сървъра"
+
+#: builtin/push.c:546
+msgid "option to transmit"
+msgstr "опция за пренос"
+
+#: builtin/push.c:560
 msgid "--delete is incompatible with --all, --mirror and --tags"
 msgstr ""
 "опцията „--delete“ е несъвместима с опциите  „--all“, „--mirror“ и „--tags“"
 
-#: builtin/push.c:551
+#: builtin/push.c:562
 msgid "--delete doesn't make sense without any refs"
 msgstr "опцията „--delete“ изисква поне един указател на версия"
 
+#: builtin/push.c:579
+msgid "push options must not have new line characters"
+msgstr "опциите за изтласкване не трябва да съдържат знок за нов ред"
+
 #: builtin/read-tree.c:37
 msgid ""
 "git read-tree [(-m [--trivial] [--aggressive] | --reset | --prefix=<prefix>) "
@@ -10130,15 +11272,69 @@
 msgid "debug unpack-trees"
 msgstr "изчистване на грешки в командата „unpack-trees“"
 
-#: builtin/receive-pack.c:25
+#: builtin/receive-pack.c:26
 msgid "git receive-pack <git-dir>"
 msgstr "git receive-pack ДИРЕКТОРИЯ_НА_GIT"
 
-#: builtin/receive-pack.c:1719
+#: builtin/receive-pack.c:793
+msgid ""
+"By default, updating the current branch in a non-bare repository\n"
+"is denied, because it will make the index and work tree inconsistent\n"
+"with what you pushed, and will require 'git reset --hard' to match\n"
+"the work tree to HEAD.\n"
+"\n"
+"You can set 'receive.denyCurrentBranch' configuration variable to\n"
+"'ignore' or 'warn' in the remote repository to allow pushing into\n"
+"its current branch; however, this is not recommended unless you\n"
+"arranged to update its work tree to match what you pushed in some\n"
+"other way.\n"
+"\n"
+"To squelch this message and still keep the default behaviour, set\n"
+"'receive.denyCurrentBranch' configuration variable to 'refuse'."
+msgstr ""
+"Стандартно не може да обновите текущия клон в хранилище, което не е голо,\n"
+"защото това ще доведе до несъответствия на индекса и работното дърво с\n"
+"това, което сте изтласкали и за да приведете дървото към „HEAD“ ще трябва\n"
+"да изпълните:\n"
+"\n"
+"        git reset --hard\n"
+"\n"
+"\n"
+"За да позволите подобно изтласкване, в отдалеченото хранилище следва да\n"
+"зададете настройката „receive.denyCurrentBranch“ да е „ignore“\n"
+"(пренебрегване) или  „warn“ (само предупреждение).  Не се препоръчва да\n"
+"правите това, освен ако по друг начин не синхронизирате работното дърво с\n"
+"това, което изтласквате.\n"
+"\n"
+"За да заглушите това съобщение, като запазите стандартното поведение,\n"
+"задайте настройката „receive.denyCurrentBranch“ да е „refuse“ (отказ)."
+
+#: builtin/receive-pack.c:813
+msgid ""
+"By default, deleting the current branch is denied, because the next\n"
+"'git clone' won't result in any file checked out, causing confusion.\n"
+"\n"
+"You can set 'receive.denyDeleteCurrent' configuration variable to\n"
+"'warn' or 'ignore' in the remote repository to allow deleting the\n"
+"current branch, with or without a warning message.\n"
+"\n"
+"To squelch this message, you can set it to 'refuse'."
+msgstr ""
+"Стандартно не може да изтриете текущия клон, защото следващото клониране\n"
+"на текущото хранилище ще е без никакви файлове, а това е объркващо.\n"
+"\n"
+"За да може да изтривате текущия клон, в отдалеченото хранилище следва да\n"
+"зададете настройката „receive.denyDeleteCurrent“ да е „ignore“\n"
+"(пренебрегване) или  „warn“ (само предупреждение).\n"
+"\n"
+"За да заглушите това съобщение, задайте настройката\n"
+"„receive.denyDeleteCurrent“ да е „refuse“ (отказ)."
+
+#: builtin/receive-pack.c:1883
 msgid "quiet"
 msgstr "без извеждане на информация"
 
-#: builtin/receive-pack.c:1733
+#: builtin/receive-pack.c:1897
 msgid "You must specify a directory."
 msgstr "Трябва да укажете директория."
 
@@ -10233,7 +11429,7 @@
 
 #: builtin/remote.c:65
 msgid "git remote update [<options>] [<group> | <remote>]..."
-msgstr "git remote update [ОПЦИЯ…] [ГРУПА | ОТДАЛЕЧЕНО_ХРАНИЛИЩЕ]…"
+msgstr "git remote update [ОПЦИЯ…] [ГРУПА | ОТДАЛЕЧЕНО_ХРАНИЛИЩЕ…]"
 
 #: builtin/remote.c:94
 #, c-format
@@ -10246,7 +11442,7 @@
 "--mirror is dangerous and deprecated; please\n"
 "\t use --mirror=fetch or --mirror=push instead"
 msgstr ""
-"Използването само на „--mirror“ е опасно. Вместо това\n"
+"Използването само на „--mirror“ е опасно.  Вместо това\n"
 "ползвайте „--mirror=fetch“ или „--mirror=push“"
 
 #: builtin/remote.c:143
@@ -10294,12 +11490,12 @@
 "указването на следени клони е смислено само за отдалечени хранилища, от "
 "които се доставя"
 
-#: builtin/remote.c:190 builtin/remote.c:633
+#: builtin/remote.c:190 builtin/remote.c:629
 #, c-format
 msgid "remote %s already exists."
 msgstr "вече съществува отдалечено хранилище с име „%s“."
 
-#: builtin/remote.c:194 builtin/remote.c:637
+#: builtin/remote.c:194 builtin/remote.c:633
 #, c-format
 msgid "'%s' is not a valid remote name"
 msgstr "„%s“ е неправилно име за отдалечено хранилище"
@@ -10322,18 +11518,18 @@
 msgid "(delete)"
 msgstr "(за изтриване)"
 
-#: builtin/remote.c:626 builtin/remote.c:761 builtin/remote.c:858
+#: builtin/remote.c:622 builtin/remote.c:757 builtin/remote.c:854
 #, c-format
 msgid "No such remote: %s"
 msgstr "Такова отдалечено хранилище няма: %s"
 
-#: builtin/remote.c:643
+#: builtin/remote.c:639
 #, c-format
 msgid "Could not rename config section '%s' to '%s'"
 msgstr "Разделът „%s“ в настройките не може да бъде преименуван на „%s“"
 
 # FIXME tabulator
-#: builtin/remote.c:663
+#: builtin/remote.c:659
 #, c-format
 msgid ""
 "Not updating non-default fetch refspec\n"
@@ -10344,17 +11540,17 @@
 "    %s\n"
 "  Променете настройките ръчно, ако е необходимо."
 
-#: builtin/remote.c:699
+#: builtin/remote.c:695
 #, c-format
 msgid "deleting '%s' failed"
 msgstr "неуспешно изтриване на „%s“"
 
-#: builtin/remote.c:733
+#: builtin/remote.c:729
 #, c-format
 msgid "creating '%s' failed"
 msgstr "неуспешно създаване на „%s“"
 
-#: builtin/remote.c:796
+#: builtin/remote.c:792
 msgid ""
 "Note: A branch outside the refs/remotes/ hierarchy was not removed;\n"
 "to delete it, use:"
@@ -10368,381 +11564,402 @@
 "Бележка: Няколко клона извън йерархията „refs/remotes/“ не бяха изтрити.\n"
 "Изтрийте ги чрез командата:"
 
-#: builtin/remote.c:810
+#: builtin/remote.c:806
 #, c-format
 msgid "Could not remove config section '%s'"
 msgstr "Разделът „%s“ в настройките не може да бъде изтрит"
 
-#: builtin/remote.c:911
+#: builtin/remote.c:907
 #, c-format
 msgid " new (next fetch will store in remotes/%s)"
 msgstr " нов (следващото доставяне ще го разположи в „remotes/%s“)"
 
-#: builtin/remote.c:914
+#: builtin/remote.c:910
 msgid " tracked"
 msgstr " следен"
 
-#: builtin/remote.c:916
+#: builtin/remote.c:912
 msgid " stale (use 'git remote prune' to remove)"
 msgstr " стар (изтрийте чрез „git remote prune“)"
 
-# FIXME
-#: builtin/remote.c:918
+#: builtin/remote.c:914
 msgid " ???"
 msgstr " неясно състояние"
 
 # CHECK
-#: builtin/remote.c:959
+#: builtin/remote.c:955
 #, c-format
 msgid "invalid branch.%s.merge; cannot rebase onto > 1 branch"
 msgstr ""
-"неправилен клон за сливане „%s“. Невъзможно е да пребазирате върху повече от "
-"1 клон"
+"неправилен клон за сливане „%s“.  Невъзможно е да пребазирате върху повече "
+"от 1 клон"
 
-#: builtin/remote.c:967
+#: builtin/remote.c:963
 #, c-format
 msgid "rebases interactively onto remote %s"
 msgstr "интерактивно пребазиране върху отдалечения клон „%s“"
 
-#: builtin/remote.c:971
+#: builtin/remote.c:964
+#, c-format
+msgid "rebases onto remote %s"
+msgstr "пребазиране върху отдалечения клон „%s“"
+
+#: builtin/remote.c:967
 #, c-format
 msgid " merges with remote %s"
 msgstr " сливане с отдалечения клон „%s“"
 
-#: builtin/remote.c:972
-msgid "    and with remote"
-msgstr "    и с отдалечения клон"
-
-#: builtin/remote.c:974
+#: builtin/remote.c:970
 #, c-format
 msgid "merges with remote %s"
 msgstr "сливане с отдалечения клон „%s“"
 
-#: builtin/remote.c:975
-msgid "   and with remote"
-msgstr "   и с отдалечения клон"
+#: builtin/remote.c:973
+#, c-format
+msgid "%-*s    and with remote %s\n"
+msgstr "%-*s    и с отдалечения клон „%s“\n"
 
-#: builtin/remote.c:1021
+#: builtin/remote.c:1016
 msgid "create"
 msgstr "създаден"
 
-#: builtin/remote.c:1024
+#: builtin/remote.c:1019
 msgid "delete"
 msgstr "изтрит"
 
-#: builtin/remote.c:1028
+#: builtin/remote.c:1023
 msgid "up to date"
 msgstr "актуален"
 
-#: builtin/remote.c:1031
+#: builtin/remote.c:1026
 msgid "fast-forwardable"
 msgstr "може да се слее тривиално"
 
-#: builtin/remote.c:1034
+#: builtin/remote.c:1029
 msgid "local out of date"
 msgstr "локалният е изостанал"
 
-#: builtin/remote.c:1041
+#: builtin/remote.c:1036
 #, c-format
 msgid "    %-*s forces to %-*s (%s)"
 msgstr "    %-*s принудително изтласква към %-*s (%s)"
 
-#: builtin/remote.c:1044
+#: builtin/remote.c:1039
 #, c-format
 msgid "    %-*s pushes to %-*s (%s)"
 msgstr "    %-*s изтласква към %-*s (%s)"
 
-#: builtin/remote.c:1048
+#: builtin/remote.c:1043
 #, c-format
 msgid "    %-*s forces to %s"
 msgstr "    %-*s принудително изтласква към %s"
 
-#: builtin/remote.c:1051
+#: builtin/remote.c:1046
 #, c-format
 msgid "    %-*s pushes to %s"
 msgstr "    %-*s изтласква към %s"
 
-#: builtin/remote.c:1119
+#: builtin/remote.c:1114
 msgid "do not query remotes"
 msgstr "без заявки към отдалечените хранилища"
 
-#: builtin/remote.c:1146
+#: builtin/remote.c:1141
 #, c-format
 msgid "* remote %s"
 msgstr "● отдалечено хранилище „%s“"
 
-#: builtin/remote.c:1147
+#: builtin/remote.c:1142
 #, c-format
 msgid "  Fetch URL: %s"
 msgstr "  Адрес за доставяне: %s"
 
-#: builtin/remote.c:1148 builtin/remote.c:1301
+#: builtin/remote.c:1143 builtin/remote.c:1156 builtin/remote.c:1295
 msgid "(no URL)"
 msgstr "(без адрес)"
 
 # FIXME spaces betwen Push and URL
 #. TRANSLATORS: the colon ':' should align with
 #. the one in "  Fetch URL: %s" translation
-#: builtin/remote.c:1159 builtin/remote.c:1161
+#: builtin/remote.c:1154 builtin/remote.c:1156
 #, c-format
 msgid "  Push  URL: %s"
 msgstr "  Адрес за изтласкване: %s"
 
-#: builtin/remote.c:1163 builtin/remote.c:1165 builtin/remote.c:1167
+#: builtin/remote.c:1158 builtin/remote.c:1160 builtin/remote.c:1162
 #, c-format
 msgid "  HEAD branch: %s"
 msgstr "  клон сочен от HEAD: %s"
 
-#: builtin/remote.c:1169
+#: builtin/remote.c:1158
+msgid "(not queried)"
+msgstr "(без проверка)"
+
+#: builtin/remote.c:1160
+msgid "(unknown)"
+msgstr "(непознат)"
+
+#: builtin/remote.c:1164
 #, c-format
 msgid ""
 "  HEAD branch (remote HEAD is ambiguous, may be one of the following):\n"
 msgstr ""
 "  клонът сочен от HEAD (клонът указан във файла HEAD от отдалеченото "
-"хранилище е\n"
-"  нееднозначен и е някой от следните):\n"
+"хранилище\n"
+"  не е еднозначен и е някой от следните):\n"
 
-#: builtin/remote.c:1181
+#: builtin/remote.c:1176
 #, c-format
 msgid "  Remote branch:%s"
 msgid_plural "  Remote branches:%s"
 msgstr[0] "  Отдалечен клон:%s"
 msgstr[1] "  Отдалечени клони:%s"
 
-#: builtin/remote.c:1184 builtin/remote.c:1211
+#: builtin/remote.c:1179 builtin/remote.c:1205
 msgid " (status not queried)"
 msgstr " (състоянието не бе проверено)"
 
-#: builtin/remote.c:1193
+#: builtin/remote.c:1188
 msgid "  Local branch configured for 'git pull':"
 msgid_plural "  Local branches configured for 'git pull':"
 msgstr[0] "  Локален клон настроен за издърпване чрез „git pull“:"
 msgstr[1] "  Локални клони настроени за издърпване чрез „git pull“:"
 
-#: builtin/remote.c:1201
+#: builtin/remote.c:1196
 msgid "  Local refs will be mirrored by 'git push'"
 msgstr "  Локалните указатели ще бъдат пренесени чрез „ push“"
 
-#: builtin/remote.c:1208
+#: builtin/remote.c:1202
 #, c-format
 msgid "  Local ref configured for 'git push'%s:"
 msgid_plural "  Local refs configured for 'git push'%s:"
 msgstr[0] "  Локалният указател, настроен за „git push“%s:"
 msgstr[1] "  Локалните указатели, настроени за „git push“%s:"
 
-#: builtin/remote.c:1229
+#: builtin/remote.c:1223
 msgid "set refs/remotes/<name>/HEAD according to remote"
 msgstr "задаване на refs/remotes/ИМЕ/HEAD според отдалеченото хранилище"
 
-#: builtin/remote.c:1231
+#: builtin/remote.c:1225
 msgid "delete refs/remotes/<name>/HEAD"
 msgstr "изтриване на refs/remotes/ИМЕ/HEAD"
 
-#: builtin/remote.c:1246
+#: builtin/remote.c:1240
 msgid "Cannot determine remote HEAD"
 msgstr "Не може да се установи отдалеченият връх"
 
-#: builtin/remote.c:1248
+#: builtin/remote.c:1242
 msgid "Multiple remote HEAD branches. Please choose one explicitly with:"
 msgstr ""
-"Множество клони с върхове. Изберете изрично някой от тях чрез командата:"
+"Множество клони с върхове.  Изберете изрично някой от тях чрез командата:"
 
-#: builtin/remote.c:1258
+#: builtin/remote.c:1252
 #, c-format
 msgid "Could not delete %s"
 msgstr "„%s“ не може да бъде изтрит"
 
-#: builtin/remote.c:1266
+#: builtin/remote.c:1260
 #, c-format
 msgid "Not a valid ref: %s"
 msgstr "Неправилен указател: %s"
 
-#: builtin/remote.c:1268
+#: builtin/remote.c:1262
 #, c-format
 msgid "Could not setup %s"
 msgstr "„%s“ не може да се настрои"
 
-#: builtin/remote.c:1286
+#: builtin/remote.c:1280
 #, c-format
 msgid " %s will become dangling!"
 msgstr "„%s“ ще се превърне в обект извън клоните!"
 
-#: builtin/remote.c:1287
+#: builtin/remote.c:1281
 #, c-format
 msgid " %s has become dangling!"
 msgstr "„%s“ се превърна в обект извън клоните!"
 
-#: builtin/remote.c:1297
+#: builtin/remote.c:1291
 #, c-format
 msgid "Pruning %s"
 msgstr "Окастряне на „%s“"
 
-#: builtin/remote.c:1298
+#: builtin/remote.c:1292
 #, c-format
 msgid "URL: %s"
 msgstr "адрес: %s"
 
-#: builtin/remote.c:1314
+#: builtin/remote.c:1308
 #, c-format
 msgid " * [would prune] %s"
 msgstr " ● [ще бъде окастрено] %s"
 
-#: builtin/remote.c:1317
+#: builtin/remote.c:1311
 #, c-format
 msgid " * [pruned] %s"
 msgstr " ● [окастрено] %s"
 
-#: builtin/remote.c:1362
+#: builtin/remote.c:1356
 msgid "prune remotes after fetching"
 msgstr "окастряне на огледалата на отдалечените хранилища след доставяне"
 
-#: builtin/remote.c:1425 builtin/remote.c:1479 builtin/remote.c:1547
+#: builtin/remote.c:1419 builtin/remote.c:1473 builtin/remote.c:1541
 #, c-format
 msgid "No such remote '%s'"
 msgstr "Няма отдалечено хранилище на име „%s“"
 
-#: builtin/remote.c:1441
+#: builtin/remote.c:1435
 msgid "add branch"
 msgstr "добавяне на клон"
 
-#: builtin/remote.c:1448
+#: builtin/remote.c:1442
 msgid "no remote specified"
 msgstr "не е указано отдалечено хранилище"
 
-#: builtin/remote.c:1465
+#: builtin/remote.c:1459
 msgid "query push URLs rather than fetch URLs"
 msgstr "запитване към адресите за изтласкване, а не за доставяне"
 
-#: builtin/remote.c:1467
+#: builtin/remote.c:1461
 msgid "return all URLs"
 msgstr "извеждане на всички адреси"
 
-#: builtin/remote.c:1495
+#: builtin/remote.c:1489
 #, c-format
 msgid "no URLs configured for remote '%s'"
 msgstr "не е зададен адрес за отдалеченото хранилище „%s“"
 
-#: builtin/remote.c:1521
+#: builtin/remote.c:1515
 msgid "manipulate push URLs"
 msgstr "промяна на адресите за изтласкване"
 
-#: builtin/remote.c:1523
+#: builtin/remote.c:1517
 msgid "add URL"
 msgstr "добавяне на адреси"
 
-#: builtin/remote.c:1525
+#: builtin/remote.c:1519
 msgid "delete URLs"
 msgstr "изтриване на адреси"
 
-# FIXME message - incompatible
-#: builtin/remote.c:1532
+#: builtin/remote.c:1526
 msgid "--add --delete doesn't make sense"
 msgstr "опциите „--add“ и „--delete“ са несъвместими"
 
-#: builtin/remote.c:1573
+#: builtin/remote.c:1567
 #, c-format
 msgid "Invalid old URL pattern: %s"
 msgstr "Неправилен (стар) формат за адрес: %s"
 
-#: builtin/remote.c:1581
+#: builtin/remote.c:1575
 #, c-format
 msgid "No such URL found: %s"
 msgstr "Такъв адрес не е открит: %s"
 
 # FIXME CHECK MEANING
-#: builtin/remote.c:1583
+#: builtin/remote.c:1577
 msgid "Will not delete all non-push URLs"
 msgstr "Никой от адресите, които не са за изтласкване, няма да се изтрие"
 
-#: builtin/remote.c:1597
+#: builtin/remote.c:1591
 msgid "be verbose; must be placed before a subcommand"
-msgstr "повече подробности. Поставя се пред подкоманда"
+msgstr "повече подробности.  Поставя се пред подкоманда"
+
+#: builtin/remote.c:1622
+#, c-format
+msgid "Unknown subcommand: %s"
+msgstr "Непозната подкоманда: %s"
 
 #: builtin/repack.c:17
 msgid "git repack [<options>]"
 msgstr "git repack [ОПЦИЯ…]"
 
-#: builtin/repack.c:159
+#: builtin/repack.c:160
 msgid "pack everything in a single pack"
 msgstr "пакетиране на всичко в пакет"
 
-#: builtin/repack.c:161
+#: builtin/repack.c:162
 msgid "same as -a, and turn unreachable objects loose"
 msgstr ""
-"същото като опцията „-a“. Допълнително — недостижимите обекти да станат "
+"същото като опцията „-a“.  Допълнително — недостижимите обекти да станат "
 "непакетирани"
 
-#: builtin/repack.c:164
+#: builtin/repack.c:165
 msgid "remove redundant packs, and run git-prune-packed"
 msgstr ""
 "премахване на ненужните пакетирани файлове и изпълнение на командата „git-"
 "prune-packed“"
 
-#: builtin/repack.c:166
+#: builtin/repack.c:167
 msgid "pass --no-reuse-delta to git-pack-objects"
 msgstr "подаване на опцията „--no-reuse-delta“ на командата „git-pack-objects“"
 
-#: builtin/repack.c:168
+#: builtin/repack.c:169
 msgid "pass --no-reuse-object to git-pack-objects"
 msgstr ""
 "подаване на опцията „--no-reuse-object“ на командата „git-pack-objects“"
 
-#: builtin/repack.c:170
+#: builtin/repack.c:171
 msgid "do not run git-update-server-info"
 msgstr "без изпълнение на командата „git-update-server-info“"
 
-#: builtin/repack.c:173
+#: builtin/repack.c:174
 msgid "pass --local to git-pack-objects"
 msgstr "подаване на опцията „--local“ на командата „git-pack-objects“"
 
-#: builtin/repack.c:175
+#: builtin/repack.c:176
 msgid "write bitmap index"
 msgstr "създаване и записване на индекси на база битови маски"
 
-#: builtin/repack.c:176
+#: builtin/repack.c:177
 msgid "approxidate"
 msgstr "евристична дата"
 
-#: builtin/repack.c:177
+#: builtin/repack.c:178
 msgid "with -A, do not loosen objects older than this"
 msgstr ""
 "при комбинирането с опцията „-A“ — без разпакетиране на обектите по стари от "
 "това"
 
-#: builtin/repack.c:179
+#: builtin/repack.c:180
+msgid "with -a, repack unreachable objects"
+msgstr "с „-a“ — препакетиране на недостижимите обекти"
+
+#: builtin/repack.c:182
 msgid "size of the window used for delta compression"
 msgstr "размер на прозореца за делта компресията"
 
-#: builtin/repack.c:180 builtin/repack.c:184
+#: builtin/repack.c:183 builtin/repack.c:187
 msgid "bytes"
 msgstr "байтове"
 
-#: builtin/repack.c:181
+#: builtin/repack.c:184
 msgid "same as the above, but limit memory size instead of entries count"
 msgstr ""
 "същото като горната опция, но ограничението да е по размер на паметта, а не "
 "по броя на обектите"
 
-#: builtin/repack.c:183
+#: builtin/repack.c:186
 msgid "limits the maximum delta depth"
 msgstr "ограничаване на максималната дълбочина на делтата"
 
-#: builtin/repack.c:185
+#: builtin/repack.c:188
 msgid "maximum size of each packfile"
 msgstr "максимален размер на всеки пакет"
 
-#: builtin/repack.c:187
+#: builtin/repack.c:190
 msgid "repack objects in packs marked with .keep"
 msgstr "препакетиране на обектите в пакети белязани с „.keep“"
 
-#: builtin/repack.c:197
+#: builtin/repack.c:200
 msgid "cannot delete packs in a precious-objects repo"
 msgstr "пакетите в хранилище с важни обекти не може да се трият"
 
-#: builtin/repack.c:381
+#: builtin/repack.c:204
+msgid "--keep-unreachable and -A are incompatible"
+msgstr "Опциите „--keep-unreachable“ и „-A“ са несъвместими"
+
+#: builtin/repack.c:391 builtin/worktree.c:115
 #, c-format
-msgid "removing '%s' failed"
-msgstr "неуспешно изтриване на „%s“"
+msgid "failed to remove '%s'"
+msgstr "директорията „%s“ не може да бъде изтрита"
 
 #: builtin/replace.c:19
 msgid "git replace [-f] <object> <replacement>"
@@ -10845,7 +12062,7 @@
 "git reset [--mixed | --soft | --hard | --merge | --keep] [-q] [ПОДАВАНЕ]"
 
 #: builtin/reset.c:27
-msgid "git reset [-q] <tree-ish> [--] <paths>..."
+msgid "git reset [-q] [<tree-ish>] [--] <paths>..."
 msgstr "git reset [-q] УКАЗАТЕЛ_КЪМ_ДЪРВО [--] ПЪТИЩА…"
 
 #: builtin/reset.c:28
@@ -10940,7 +12157,7 @@
 #: builtin/reset.c:331
 msgid "--mixed with paths is deprecated; use 'git reset -- <paths>' instead."
 msgstr ""
-"опцията „--mixed“ не бива да се използва заедно с пътища. Вместо това "
+"опцията „--mixed“ не бива да се използва заедно с пътища.  Вместо това "
 "изпълнете „git reset -- ПЪТ…“."
 
 #: builtin/reset.c:333
@@ -10970,27 +12187,27 @@
 msgid "Could not write new index file."
 msgstr "Новият индекс не може да бъде записан."
 
-#: builtin/rev-list.c:350
+#: builtin/rev-list.c:354
 msgid "rev-list does not support display of notes"
 msgstr "командата „rev-list“ не поддържа извеждането на бележки"
 
-#: builtin/rev-parse.c:358
+#: builtin/rev-parse.c:386
 msgid "git rev-parse --parseopt [<options>] -- [<args>...]"
 msgstr "git rev-parse --parseopt [ОПЦИЯ…] -- [АРГУМЕНТ…]"
 
-#: builtin/rev-parse.c:363
+#: builtin/rev-parse.c:391
 msgid "keep the `--` passed as an arg"
 msgstr "зададеният низ „--“ да се тълкува като аргумент"
 
-#: builtin/rev-parse.c:365
+#: builtin/rev-parse.c:393
 msgid "stop parsing after the first non-option argument"
 msgstr "спиране на анализа след първия аргумент, който не е опция"
 
-#: builtin/rev-parse.c:368
+#: builtin/rev-parse.c:396
 msgid "output in stuck long form"
 msgstr "изход в дългия формат"
 
-#: builtin/rev-parse.c:499
+#: builtin/rev-parse.c:527
 msgid ""
 "git rev-parse --parseopt [<options>] -- [<args>...]\n"
 "   or: git rev-parse --sq-quote [<arg>...]\n"
@@ -11062,31 +12279,27 @@
 msgid "option for merge strategy"
 msgstr "опция за стратегията на сливане"
 
-#: builtin/revert.c:104
+#: builtin/revert.c:100
 msgid "append commit name"
 msgstr "добавяне на името на подаването"
 
-#: builtin/revert.c:106
+#: builtin/revert.c:102
 msgid "preserve initially empty commits"
 msgstr "запазване на първоначално празните подавания"
 
-#: builtin/revert.c:107
+#: builtin/revert.c:103
 msgid "allow commits with empty messages"
 msgstr "позволяване на празни съобщения при подаване"
 
-#: builtin/revert.c:108
+#: builtin/revert.c:104
 msgid "keep redundant, empty commits"
 msgstr "запазване на излишните, празни подавания"
 
-#: builtin/revert.c:112
-msgid "program error"
-msgstr "грешка в програмата"
-
-#: builtin/revert.c:197
+#: builtin/revert.c:192
 msgid "revert failed"
 msgstr "неуспешна отмяна"
 
-#: builtin/revert.c:212
+#: builtin/revert.c:205
 msgid "cherry-pick failed"
 msgstr "неуспешно отбиране"
 
@@ -11238,7 +12451,6 @@
 msgid "Show the email address of each author"
 msgstr "Извеждане на адреса на е-поща за всеки автор"
 
-# FIXME why is this so short
 #: builtin/shortlog.c:247
 msgid "w[,i1[,i2]]"
 msgstr "ШИРОЧИНА[,ОТСТЪП_1[,ОТСТЪП_2]]"
@@ -11265,73 +12477,128 @@
 msgid "git show-branch (-g | --reflog)[=<n>[,<base>]] [--list] [<ref>]"
 msgstr "git show-branch (-g | --reflog)[=БРОЙ[,БАЗА]] [--list] [УКАЗАТЕЛ]"
 
-#: builtin/show-branch.c:640
+#: builtin/show-branch.c:375
+#, c-format
+msgid "ignoring %s; cannot handle more than %d ref"
+msgid_plural "ignoring %s; cannot handle more than %d refs"
+msgstr[0] "„%s“ се прескача — не може да се обработят повече от %d указател"
+msgstr[1] "„%s“ се прескача — не може да се обработят повече от %d указатели"
+
+#: builtin/show-branch.c:541
+#, c-format
+msgid "no matching refs with %s"
+msgstr "никой указател не съвпада с „%s“"
+
+#: builtin/show-branch.c:639
 msgid "show remote-tracking and local branches"
 msgstr "извеждане на следящите и локалните клони"
 
-#: builtin/show-branch.c:642
+#: builtin/show-branch.c:641
 msgid "show remote-tracking branches"
 msgstr "извеждане на следящите клони"
 
-#: builtin/show-branch.c:644
+#: builtin/show-branch.c:643
 msgid "color '*!+-' corresponding to the branch"
 msgstr "оцветяване на „*!+-“ според клоните"
 
-#: builtin/show-branch.c:646
+#: builtin/show-branch.c:645
 msgid "show <n> more commits after the common ancestor"
 msgstr "извеждане на такъв БРОЙ подавания от общия предшественик"
 
-#: builtin/show-branch.c:648
+#: builtin/show-branch.c:647
 msgid "synonym to more=-1"
 msgstr "синоним на „more=-1“"
 
-#: builtin/show-branch.c:649
+#: builtin/show-branch.c:648
 msgid "suppress naming strings"
 msgstr "без низове за имената на клоните"
 
-#: builtin/show-branch.c:651
+#: builtin/show-branch.c:650
 msgid "include the current branch"
 msgstr "включване и на текущия клон"
 
-#: builtin/show-branch.c:653
+#: builtin/show-branch.c:652
 msgid "name commits with their object names"
 msgstr "именуване на подаванията с имената им на обекти"
 
-#: builtin/show-branch.c:655
+#: builtin/show-branch.c:654
 msgid "show possible merge bases"
 msgstr "извеждане на възможните бази за сливания"
 
-#: builtin/show-branch.c:657
+#: builtin/show-branch.c:656
 msgid "show refs unreachable from any other ref"
 msgstr "извеждане на недостижимите указатели"
 
-#: builtin/show-branch.c:659
+#: builtin/show-branch.c:658
 msgid "show commits in topological order"
 msgstr "извеждане на подаванията в топологическа подредба"
 
-#: builtin/show-branch.c:662
+#: builtin/show-branch.c:661
 msgid "show only commits not on the first branch"
 msgstr "извеждане само на подаванията, които не са от първия клон"
 
-#: builtin/show-branch.c:664
+#: builtin/show-branch.c:663
 msgid "show merges reachable from only one tip"
 msgstr "извеждане на сливанията, които могат да се достигнат само от един връх"
 
-#: builtin/show-branch.c:666
+#: builtin/show-branch.c:665
 msgid "topologically sort, maintaining date order where possible"
 msgstr ""
 "топологическа подредба, при запазване на подредбата по дата, доколкото е\n"
 "възможно"
 
-#: builtin/show-branch.c:669
+#: builtin/show-branch.c:668
 msgid "<n>[,<base>]"
 msgstr "БРОЙ[,БАЗА]"
 
-#: builtin/show-branch.c:670
+#: builtin/show-branch.c:669
 msgid "show <n> most recent ref-log entries starting at base"
 msgstr "показване на най-много БРОЙ журнални записа с начало съответната БАЗА"
 
-# FIXME * -> ...
+#: builtin/show-branch.c:703
+msgid ""
+"--reflog is incompatible with --all, --remotes, --independent or --merge-base"
+msgstr ""
+"опцията „--reflog“ е несъвместима с опциите  „--all“, „--remotes“, „--"
+"independent“ и „--merge-base“"
+
+#: builtin/show-branch.c:727
+msgid "no branches given, and HEAD is not valid"
+msgstr "не е зададен клон, а указателят „HEAD“ е неправилен"
+
+#: builtin/show-branch.c:730
+msgid "--reflog option needs one branch name"
+msgstr "опцията „--track“ изисква точно едно име на клон"
+
+#: builtin/show-branch.c:733
+#, c-format
+msgid "only %d entry can be shown at one time."
+msgid_plural "only %d entries can be shown at one time."
+msgstr[0] "само %d запис може да бъде показан наведнъж."
+msgstr[1] "само %d записа може да бъде показани наведнъж."
+
+#: builtin/show-branch.c:737
+#, c-format
+msgid "no such ref %s"
+msgstr "такъв указател няма: %s"
+
+#: builtin/show-branch.c:829
+#, c-format
+msgid "cannot handle more than %d rev."
+msgid_plural "cannot handle more than %d revs."
+msgstr[0] "не може да се обработи повече от %d указател."
+msgstr[1] "не може да се обработят повече от %d указатели."
+
+#: builtin/show-branch.c:833
+#, c-format
+msgid "'%s' is not a valid ref."
+msgstr "„%s“ е неправилен указател."
+
+#: builtin/show-branch.c:836
+#, c-format
+msgid "cannot find commit %s (%s)"
+msgstr "подаването „%s“ (%s) липсва"
+
 #: builtin/show-ref.c:10
 msgid ""
 "git show-ref [-q | --quiet] [--verify] [--head] [-d | --dereference] [-s | --"
@@ -11396,12 +12663,12 @@
 msgid "prepend comment character and space to each line"
 msgstr "добавяне на „# “ в началото на всеки ред"
 
-#: builtin/submodule--helper.c:24
+#: builtin/submodule--helper.c:24 builtin/submodule--helper.c:1046
 #, c-format
 msgid "No such ref: %s"
 msgstr "Такъв указател няма: %s"
 
-#: builtin/submodule--helper.c:31
+#: builtin/submodule--helper.c:31 builtin/submodule--helper.c:1055
 #, c-format
 msgid "Expecting a full ref name, got %s"
 msgstr "Очаква се пълно име на указател, а не „%s“"
@@ -11411,75 +12678,95 @@
 msgid "cannot strip one component off url '%s'"
 msgstr "не може да се махне компонент от адреса „%s“"
 
-#: builtin/submodule--helper.c:278 builtin/submodule--helper.c:405
-#: builtin/submodule--helper.c:486
+#: builtin/submodule--helper.c:282 builtin/submodule--helper.c:408
+#: builtin/submodule--helper.c:590
 msgid "alternative anchor for relative paths"
 msgstr "директория за определянето на относителните пътища"
 
-#: builtin/submodule--helper.c:283
+#: builtin/submodule--helper.c:287
 msgid "git submodule--helper list [--prefix=<path>] [<path>...]"
 msgstr "git submodule--helper list [--prefix=ПЪТ] [ПЪТ…]"
 
-#: builtin/submodule--helper.c:326 builtin/submodule--helper.c:340
+#: builtin/submodule--helper.c:329 builtin/submodule--helper.c:343
 #, c-format
 msgid "No url found for submodule path '%s' in .gitmodules"
 msgstr "Във файла „.gitmodules“ не е открит адрес за пътя към подмодул „%s“"
 
-#: builtin/submodule--helper.c:366
+#: builtin/submodule--helper.c:369
 #, c-format
 msgid "Failed to register url for submodule path '%s'"
 msgstr "Неуспешно регистриране на адрес за пътя към подмодул „%s“"
 
-#: builtin/submodule--helper.c:370
+#: builtin/submodule--helper.c:373
 #, c-format
 msgid "Submodule '%s' (%s) registered for path '%s'\n"
 msgstr "Регистриран е подмодул „%s“ (%s) за пътя към подмодул „%s“\n"
 
-#: builtin/submodule--helper.c:380
+#: builtin/submodule--helper.c:383
 #, c-format
 msgid "warning: command update mode suggested for submodule '%s'\n"
 msgstr "ПРЕДУПРЕЖДЕНИЕ: препоръчва се режим на обновяване за подмодула „%s“\n"
 
-#: builtin/submodule--helper.c:387
+#: builtin/submodule--helper.c:390
 #, c-format
 msgid "Failed to register update mode for submodule path '%s'"
 msgstr ""
 "Неуспешно регистриране на режима на обновяване за пътя към подмодул „%s“"
 
-#: builtin/submodule--helper.c:406
+#: builtin/submodule--helper.c:409
 msgid "Suppress output for initializing a submodule"
 msgstr "Без извеждане на информация при инициализирането на подмодул"
 
-#: builtin/submodule--helper.c:411
+#: builtin/submodule--helper.c:414
 msgid "git submodule--helper init [<path>]"
 msgstr "git submodule--helper name [ПЪТ]"
 
-#: builtin/submodule--helper.c:432
+#: builtin/submodule--helper.c:435
 msgid "git submodule--helper name <path>"
 msgstr "git submodule--helper name ПЪТ"
 
-#: builtin/submodule--helper.c:438
+#: builtin/submodule--helper.c:441
 #, c-format
 msgid "no submodule mapping found in .gitmodules for path '%s'"
 msgstr "Във файла „.gitmodules“ липсва информация за пътя „%s“"
 
-#: builtin/submodule--helper.c:489
+#: builtin/submodule--helper.c:524 builtin/submodule--helper.c:527
+#, c-format
+msgid "submodule '%s' cannot add alternate: %s"
+msgstr "към подмодула „%s“ не може да се добави алтернативен източник: %s"
+
+#: builtin/submodule--helper.c:563
+#, c-format
+msgid "Value '%s' for submodule.alternateErrorStrategy is not recognized"
+msgstr ""
+"Непозната стойност „%s“ за настройката „submodule.alternateErrorStrategy“"
+
+#: builtin/submodule--helper.c:570
+#, c-format
+msgid "Value '%s' for submodule.alternateLocation is not recognized"
+msgstr "Непозната стойност „%s“ за настройката „submodule.alternateLocation“"
+
+#: builtin/submodule--helper.c:593
 msgid "where the new submodule will be cloned to"
 msgstr "къде да се клонира новият подмодул"
 
-#: builtin/submodule--helper.c:492
+#: builtin/submodule--helper.c:596
 msgid "name of the new submodule"
 msgstr "име на новия подмодул"
 
-#: builtin/submodule--helper.c:495
+#: builtin/submodule--helper.c:599
 msgid "url where to clone the submodule from"
 msgstr "адрес, от който да се клонира новият подмодул"
 
-#: builtin/submodule--helper.c:501
+#: builtin/submodule--helper.c:605
 msgid "depth for shallow clones"
 msgstr "дълбочина на плитките хранилища"
 
-#: builtin/submodule--helper.c:507
+#: builtin/submodule--helper.c:608 builtin/submodule--helper.c:964
+msgid "force cloning progress"
+msgstr "извеждане на напредъка на клонирането"
+
+#: builtin/submodule--helper.c:613
 msgid ""
 "git submodule--helper clone [--prefix=<path>] [--quiet] [--reference "
 "<repository>] [--name <name>] [--depth <depth>] --url <url> --path <path>"
@@ -11487,89 +12774,112 @@
 "git submodule--helper clone [--prefix=ПЪТ] [--quiet] [--reference ХРАНИЛИЩЕ] "
 "[--name ИМЕ] [--depth ДЪЛБОЧИНА] --url АДРЕС --path ПЪТ…"
 
-#: builtin/submodule--helper.c:532 builtin/submodule--helper.c:538
+#: builtin/submodule--helper.c:638 builtin/submodule--helper.c:648
 #, c-format
 msgid "could not create directory '%s'"
 msgstr "Директорията „%s“ не може да бъде създадена"
 
-#: builtin/submodule--helper.c:534
+#: builtin/submodule--helper.c:644
 #, c-format
 msgid "clone of '%s' into submodule path '%s' failed"
 msgstr "Неуспешно клониране на адреса „%s“ в пътя „%s“ като подмодул"
 
-#: builtin/submodule--helper.c:550
+#: builtin/submodule--helper.c:660
 #, c-format
 msgid "cannot open file '%s'"
 msgstr "файлът „%s“ не може да бъде отворен"
 
-#: builtin/submodule--helper.c:555
+#: builtin/submodule--helper.c:665
 #, c-format
 msgid "could not close file %s"
 msgstr "файлът „%s“ не може да се затвори"
 
-#: builtin/submodule--helper.c:562
+#: builtin/submodule--helper.c:672
 #, c-format
 msgid "could not get submodule directory for '%s'"
 msgstr "директорията на подмодула „%s“ не може да бъде получена"
 
-#: builtin/submodule--helper.c:609
+#: builtin/submodule--helper.c:726
 #, c-format
 msgid "Submodule path '%s' not initialized"
 msgstr "Пътят на подмодула „%s“ не е инициализиран"
 
-#: builtin/submodule--helper.c:613
+#: builtin/submodule--helper.c:730
 msgid "Maybe you want to use 'update --init'?"
 msgstr "Вероятно искахте да използвате „update --init“?"
 
-#: builtin/submodule--helper.c:639
+#: builtin/submodule--helper.c:756
 #, c-format
 msgid "Skipping unmerged submodule %s"
 msgstr "Прескачане на неслетия подмодул „%s“"
 
-#: builtin/submodule--helper.c:660
+#: builtin/submodule--helper.c:777
 #, c-format
 msgid "Skipping submodule '%s'"
 msgstr "Прескачане на подмодула „%s“"
 
-#: builtin/submodule--helper.c:768
+#: builtin/submodule--helper.c:913
+#, c-format
+msgid "Failed to clone '%s'. Retry scheduled"
+msgstr "Неуспешен опит за клониране на „%s“.  Насрочен е втори опит"
+
+#: builtin/submodule--helper.c:924
+#, c-format
+msgid "Failed to clone '%s' a second time, aborting"
+msgstr "Втори неуспешен опит за клониране на „%s“.  Действието се отказва"
+
+#: builtin/submodule--helper.c:945
 msgid "path into the working tree"
 msgstr "път към работното дърво"
 
-#: builtin/submodule--helper.c:771
+#: builtin/submodule--helper.c:948
 msgid "path into the working tree, across nested submodule boundaries"
 msgstr "път към работното дърво, през границите на вложените подмодули"
 
-#: builtin/submodule--helper.c:775
+#: builtin/submodule--helper.c:952
 msgid "rebase, merge, checkout or none"
 msgstr ""
 "„rebase“ (пребазиране), „merge“ (сливане), „checkout“ (изтегляне) или "
 "„none“ (нищо да не се прави)"
 
-#: builtin/submodule--helper.c:779
+#: builtin/submodule--helper.c:956
 msgid "Create a shallow clone truncated to the specified number of revisions"
 msgstr "Плитко клониране, ограничено до указания брой версии"
 
-#: builtin/submodule--helper.c:782
+#: builtin/submodule--helper.c:959
 msgid "parallel jobs"
 msgstr "брой паралелни процеси"
 
-#: builtin/submodule--helper.c:783
+#: builtin/submodule--helper.c:961
+msgid "whether the initial clone should follow the shallow recommendation"
+msgstr "дали първоначалното клониране да е плитко, както се препоръчва"
+
+#: builtin/submodule--helper.c:962
 msgid "don't print cloning progress"
 msgstr "без извеждане на напредъка на клонирането"
 
-#: builtin/submodule--helper.c:788
+#: builtin/submodule--helper.c:969
 msgid "git submodule--helper update_clone [--prefix=<path>] [<path>...]"
 msgstr "git submodule--helper update_clone [--prefix=ПЪТ] [ПЪТ…]"
 
-#: builtin/submodule--helper.c:798
+#: builtin/submodule--helper.c:979
 msgid "bad value for update parameter"
 msgstr "неправилен параметър към опцията „--update“"
 
-#: builtin/submodule--helper.c:855
+#: builtin/submodule--helper.c:1050
+#, c-format
+msgid ""
+"Submodule (%s) branch configured to inherit branch from superproject, but "
+"the superproject is not on any branch"
+msgstr ""
+"Клонът на подмодула „%s“ е настроен да наследява клона от обхващащия проект, "
+"но той не е на никой клон"
+
+#: builtin/submodule--helper.c:1100
 msgid "submodule--helper subcommand must be called with a subcommand"
 msgstr "„submodule--helper“ трябва да се стартира с подкоманда"
 
-#: builtin/submodule--helper.c:862
+#: builtin/submodule--helper.c:1107
 #, c-format
 msgid "'%s' is not a valid submodule--helper subcommand"
 msgstr "„%s“ не е подкоманда на „submodule--helper“"
@@ -11686,7 +12996,6 @@
 msgid "tag header too big."
 msgstr "заглавната част на етикета е прекалено дълга."
 
-# FIXME - why the ? - either we need to specify or not or it is good to specify
 #: builtin/tag.c:275
 msgid "no tag message?"
 msgstr "липсва съобщение за етикета"
@@ -11784,7 +13093,6 @@
 msgid "--merged and --no-merged option are only allowed with -l"
 msgstr "Опциите „--merged“ и „--no-merged“ изискват опцията „-l“."
 
-# FIXME message pattern
 #: builtin/tag.c:433
 msgid "only one -F or -m option is allowed."
 msgstr "Опциите „-F“ и „-m“ са несъвместими."
@@ -11808,7 +13116,7 @@
 msgid "Updated tag '%s' (was %s)\n"
 msgstr "Обновен етикет „%s“ (бе „%s“)\n"
 
-#: builtin/unpack-objects.c:490
+#: builtin/unpack-objects.c:493
 msgid "Unpacking objects"
 msgstr "Разпакетиране на обектите"
 
@@ -11882,158 +13190,165 @@
 msgid " OK"
 msgstr " Добре"
 
-#: builtin/update-index.c:575
+#: builtin/update-index.c:564
 msgid "git update-index [<options>] [--] [<file>...]"
 msgstr "git update-index [ОПЦИЯ…] [--] [ФАЙЛ…]"
 
-#: builtin/update-index.c:930
+#: builtin/update-index.c:919
 msgid "continue refresh even when index needs update"
 msgstr ""
 "продължаване с обновяването, дори когато индексът трябва да бъде обновен"
 
-#: builtin/update-index.c:933
+#: builtin/update-index.c:922
 msgid "refresh: ignore submodules"
 msgstr "подмодулите да се игнорират при обновяването"
 
-#: builtin/update-index.c:936
+#: builtin/update-index.c:925
 msgid "do not ignore new files"
 msgstr "новите файлове да не се игнорират"
 
-#: builtin/update-index.c:938
+#: builtin/update-index.c:927
 msgid "let files replace directories and vice-versa"
 msgstr "файлове да могат да заменят директории и обратно"
 
-#: builtin/update-index.c:940
+#: builtin/update-index.c:929
 msgid "notice files missing from worktree"
 msgstr "предупреждаване при липсващи в работното дърво файлове"
 
-#: builtin/update-index.c:942
+#: builtin/update-index.c:931
 msgid "refresh even if index contains unmerged entries"
 msgstr "обновяване дори и индексът да съдържа неслети обекти"
 
-#: builtin/update-index.c:945
+#: builtin/update-index.c:934
 msgid "refresh stat information"
 msgstr "обновяване на информацията от функцията „stat“"
 
-#: builtin/update-index.c:949
+#: builtin/update-index.c:938
 msgid "like --refresh, but ignore assume-unchanged setting"
 msgstr ""
 "като опцията „--refresh“, но да се проверят и обектите, които са били приети "
 "за непроменени"
 
-#: builtin/update-index.c:953
+#: builtin/update-index.c:942
 msgid "<mode>,<object>,<path>"
 msgstr "РЕЖИМ,ОБЕКТ,ПЪТ"
 
-#: builtin/update-index.c:954
+#: builtin/update-index.c:943
 msgid "add the specified entry to the index"
 msgstr "добавяне на изброените обекти към индекса"
 
-#: builtin/update-index.c:958
-msgid "(+/-)x"
-msgstr "(+/-)x"
-
-#: builtin/update-index.c:959
-msgid "override the executable bit of the listed files"
-msgstr "изрично задаване на стойността на флага дали файлът е изпълним"
-
-#: builtin/update-index.c:963
+#: builtin/update-index.c:952
 msgid "mark files as \"not changing\""
 msgstr "задаване на флаг, че файлът не се променя"
 
-#: builtin/update-index.c:966
+#: builtin/update-index.c:955
 msgid "clear assumed-unchanged bit"
 msgstr "изчистване на флага, че файлът не се променя"
 
-#: builtin/update-index.c:969
+#: builtin/update-index.c:958
 msgid "mark files as \"index-only\""
 msgstr "задаване на флаг, че файловете са само за индекса"
 
-#: builtin/update-index.c:972
+#: builtin/update-index.c:961
 msgid "clear skip-worktree bit"
 msgstr "изчистване на флага,  че файловете са само за индекса"
 
-#: builtin/update-index.c:975
+#: builtin/update-index.c:964
 msgid "add to index only; do not add content to object database"
 msgstr "добавяне само към индекса без добавяне към базата от данни за обектите"
 
-#: builtin/update-index.c:977
+#: builtin/update-index.c:966
 msgid "remove named paths even if present in worktree"
 msgstr "изтриване на указаните пътища, дори и да съществуват в работното дърво"
 
-#: builtin/update-index.c:979
+#: builtin/update-index.c:968
 msgid "with --stdin: input lines are terminated by null bytes"
 msgstr ""
 "при комбиниране с опцията „--stdin“ — входните редове са разделени с нулевия "
 "байт"
 
-#: builtin/update-index.c:981
+#: builtin/update-index.c:970
 msgid "read list of paths to be updated from standard input"
 msgstr "изчитане на списъка с пътища за обновяване от стандартния вход"
 
-#: builtin/update-index.c:985
+#: builtin/update-index.c:974
 msgid "add entries from standard input to the index"
 msgstr "добавяне на елементите от стандартния вход към индекса"
 
-#: builtin/update-index.c:989
+#: builtin/update-index.c:978
 msgid "repopulate stages #2 and #3 for the listed paths"
 msgstr ""
 "възстановяване на състоянието преди сливане или нужда от обновяване за "
 "изброените пътища"
 
-#: builtin/update-index.c:993
+#: builtin/update-index.c:982
 msgid "only update entries that differ from HEAD"
 msgstr "добавяне само на съдържанието, което се различава от това в „HEAD“"
 
-#: builtin/update-index.c:997
+#: builtin/update-index.c:986
 msgid "ignore files missing from worktree"
 msgstr "игнориране на файловете, които липсват в работното дърво"
 
-#: builtin/update-index.c:1000
+#: builtin/update-index.c:989
 msgid "report actions to standard output"
 msgstr "извеждане на действията на стандартния изход"
 
-#: builtin/update-index.c:1002
+#: builtin/update-index.c:991
 msgid "(for porcelains) forget saved unresolved conflicts"
 msgstr ""
 "забравяне на записаната информация за неразрешени конфликти — за командите "
 "от потребителско ниво"
 
-#: builtin/update-index.c:1006
+#: builtin/update-index.c:995
 msgid "write index in this format"
 msgstr "записване на индекса в този формат"
 
-#: builtin/update-index.c:1008
+#: builtin/update-index.c:997
 msgid "enable or disable split index"
 msgstr "включване или изключване на разделянето на индекса"
 
-#: builtin/update-index.c:1010
+#: builtin/update-index.c:999
 msgid "enable/disable untracked cache"
 msgstr "включване/изключване на кеша за неследените файлове"
 
-#: builtin/update-index.c:1012
+#: builtin/update-index.c:1001
 msgid "test if the filesystem supports untracked cache"
 msgstr "проверка дали файловата система поддържа кеш за неследени файлове"
 
-#: builtin/update-index.c:1014
+#: builtin/update-index.c:1003
 msgid "enable untracked cache without testing the filesystem"
 msgstr ""
 "включване на кеша за неследените файлове без проверка на файловата система"
 
-#: builtin/update-index.c:1134
+#: builtin/update-index.c:1119
+msgid ""
+"core.untrackedCache is set to true; remove or change it, if you really want "
+"to disable the untracked cache"
+msgstr ""
+"Настройката „core.untrackedCache“ е зададена на „true“ (истина).  Сменете я "
+"или я изтрийте, за да изключите кеша за неследените файлове"
+
+#: builtin/update-index.c:1123
 msgid "Untracked cache disabled"
 msgstr "Кешът за неследените файлове е изключен"
 
-#: builtin/update-index.c:1146
+#: builtin/update-index.c:1131
+msgid ""
+"core.untrackedCache is set to false; remove or change it, if you really want "
+"to enable the untracked cache"
+msgstr ""
+"Настройката „core.untrackedCache“ е зададена на „false“ (лъжа).  Сменете я "
+"или я изтрийте, за да включите кеша за неследените файлове"
+
+#: builtin/update-index.c:1135
 #, c-format
 msgid "Untracked cache enabled for '%s'"
-msgstr "Кешът за неследените файлове е изключен за „%s“"
+msgstr "Кешът за неследените файлове е включен за „%s“"
 
 #: builtin/update-ref.c:9
 msgid "git update-ref [<options>] -d <refname> [<old-val>]"
 msgstr "git update-ref [ОПЦИЯ…] -d ИМЕ_НА_УКАЗАТЕЛ [СТАРА_СТОЙНОСТ]"
 
-# FIXME spaces - not needed in original
 #: builtin/update-ref.c:10
 msgid "git update-ref [<options>]    <refname> <new-val> [<old-val>]"
 msgstr "git update-ref [ОПЦИЯ…] ИМЕ_НА_УКАЗАТЕЛ НОВА_СТОЙНОСТ [СТАРА_СТОЙНОСТ]"
@@ -12105,85 +13420,112 @@
 msgstr "git worktree add [ОПЦИЯ…] ПЪТ [КЛОН]"
 
 #: builtin/worktree.c:16
-msgid "git worktree prune [<options>]"
-msgstr "git worktree prune [ОПЦИЯ…]"
-
-#: builtin/worktree.c:17
 msgid "git worktree list [<options>]"
 msgstr "git worktree list [ОПЦИЯ…]"
 
-#: builtin/worktree.c:40
+#: builtin/worktree.c:17
+msgid "git worktree lock [<options>] <path>"
+msgstr "git worktree lock [ОПЦИЯ…] [ПЪТ]"
+
+#: builtin/worktree.c:18
+msgid "git worktree prune [<options>]"
+msgstr "git worktree prune [ОПЦИЯ…]"
+
+#: builtin/worktree.c:19
+msgid "git worktree unlock <path>"
+msgstr "git worktree unlock [ПЪТ]"
+
+#: builtin/worktree.c:42
 #, c-format
 msgid "Removing worktrees/%s: not a valid directory"
 msgstr "Изтриване на „worktrees/%s“: не е правилна поддиректория"
 
-#: builtin/worktree.c:46
+#: builtin/worktree.c:48
 #, c-format
 msgid "Removing worktrees/%s: gitdir file does not exist"
 msgstr "Изтриване на „worktrees/%s“: файлът „gitdir“ не съществува"
 
-#: builtin/worktree.c:51
+#: builtin/worktree.c:53
 #, c-format
 msgid "Removing worktrees/%s: unable to read gitdir file (%s)"
 msgstr ""
 "Изтриване на „worktrees/%s“: файлът „gitdir“ (%s) не може да бъде прочетен"
 
-#: builtin/worktree.c:62
+#: builtin/worktree.c:64
 #, c-format
 msgid "Removing worktrees/%s: invalid gitdir file"
 msgstr "Изтриване на „worktrees/%s“: неправилен файл „gitdir“"
 
-#: builtin/worktree.c:78
+#: builtin/worktree.c:80
 #, c-format
 msgid "Removing worktrees/%s: gitdir file points to non-existent location"
 msgstr ""
 "Изтриване на „worktrees/%s“: файлът „gitdir“ сочи несъществуващо "
 "местоположение"
 
-#: builtin/worktree.c:113
-#, c-format
-msgid "failed to remove '%s'"
-msgstr "директорията „%s“ не може да бъде изтрита"
-
-#: builtin/worktree.c:202
+#: builtin/worktree.c:204
 #, c-format
 msgid "'%s' already exists"
 msgstr "„%s“ вече съществува"
 
-#: builtin/worktree.c:234
+#: builtin/worktree.c:236
 #, c-format
 msgid "could not create directory of '%s'"
 msgstr "директорията „%s“ не може да бъде създадена"
 
-#: builtin/worktree.c:270
+#: builtin/worktree.c:272
 #, c-format
 msgid "Preparing %s (identifier %s)"
 msgstr "Подготвяне на %s (идентификатор %s)"
 
-#: builtin/worktree.c:322
+#: builtin/worktree.c:323
 msgid "checkout <branch> even if already checked out in other worktree"
 msgstr "Изтегляне КЛОНа, дори и да е изтеглен в друго работно дърво"
 
-#: builtin/worktree.c:324
+#: builtin/worktree.c:325
 msgid "create a new branch"
 msgstr "създаване на нов клон"
 
-#: builtin/worktree.c:326
+#: builtin/worktree.c:327
 msgid "create or reset a branch"
 msgstr "създаване или зануляване на клони"
 
-#: builtin/worktree.c:327
-msgid "detach HEAD at named commit"
-msgstr "отделяне на указателя „HEAD“ към указаното подаване"
-
-#: builtin/worktree.c:328
+#: builtin/worktree.c:329
 msgid "populate the new working tree"
 msgstr "подготвяне на новото работно дърво"
 
-#: builtin/worktree.c:336
+#: builtin/worktree.c:337
 msgid "-b, -B, and --detach are mutually exclusive"
 msgstr "Опциите „-b“, „-B“ и „--detach“ са несъвместими една с друга"
 
+#: builtin/worktree.c:470
+msgid "reason for locking"
+msgstr "причина за заключване"
+
+#: builtin/worktree.c:482 builtin/worktree.c:515
+#, c-format
+msgid "'%s' is not a working tree"
+msgstr "„%s“ не е работно дърво"
+
+#: builtin/worktree.c:484 builtin/worktree.c:517
+msgid "The main working tree cannot be locked or unlocked"
+msgstr "Основното дърво не може да се отключи или заключи"
+
+#: builtin/worktree.c:489
+#, c-format
+msgid "'%s' is already locked, reason: %s"
+msgstr "„%s“ вече е заключено, защото „%s“"
+
+#: builtin/worktree.c:491
+#, c-format
+msgid "'%s' is already locked"
+msgstr "„%s“ вече е заключено"
+
+#: builtin/worktree.c:519
+#, c-format
+msgid "'%s' is not locked"
+msgstr "„%s“ не е заключено"
+
 #: builtin/write-tree.c:13
 msgid "git write-tree [--missing-ok] [--prefix=<prefix>/]"
 msgstr "git write-tree [--missing-ok] [--prefix=ПРЕФИКС/]"
@@ -12200,6 +13542,42 @@
 msgid "only useful for debugging"
 msgstr "само за изчистване на грешки"
 
+#: upload-pack.c:22
+msgid "git upload-pack [<options>] <dir>"
+msgstr "git upload-repack [ОПЦИЯ…] ДИРЕКТОРИЯ"
+
+#: upload-pack.c:1028
+msgid "quit after a single request/response exchange"
+msgstr "изход след първоначалната размяна на заявка и отговор"
+
+#: upload-pack.c:1030
+msgid "exit immediately after initial ref advertisement"
+msgstr "изход след първоначалната обява на указатели"
+
+#: upload-pack.c:1032
+msgid "do not try <directory>/.git/ if <directory> is no Git directory"
+msgstr ""
+"да не се търси „ДИРЕКТОРИЯ/.git/“, ако ДИРЕКТОРИЯта не е под контрола на Git"
+
+#: upload-pack.c:1034
+msgid "interrupt transfer after <n> seconds of inactivity"
+msgstr "трансферът да се преустанови след този БРОЙ секунди"
+
+#: credential-cache--daemon.c:223
+#, c-format
+msgid ""
+"The permissions on your socket directory are too loose; other\n"
+"users may be able to read your cached credentials. Consider running:\n"
+"\n"
+"\tchmod 0700 %s"
+msgstr ""
+"Правата за достъп до директорията за програмните гнезда са прекалено "
+"свободни —\n"
+"другите потребители могат да получат достъп до кешираните ви пароли.  За да\n"
+"коригирате това, изпълнете:\n"
+"\n"
+"        chmod 0700 %s"
+
 #: credential-cache--daemon.c:271
 msgid "print debugging messages to stderr"
 msgstr "извеждане на съобщенията за трасиране на стандартната грешка"
@@ -12212,11 +13590,15 @@
 msgstr ""
 "„git help -a“ извежда наличните подкоманди, а „git help -g“ извежда "
 "наличните\n"
-"ръководства. За помощ за специфична КОМАНДА ползвайте „git help КОМАНДА“, а "
+"ръководства.  За помощ за специфична КОМАНДА ползвайте „git help КОМАНДА“, а "
 "за\n"
 "някое определено ПОНЯТИЕ използвайте „git help ПОНЯТИЕ“."
 
-#: http.c:322
+#: http.c:342
+msgid "Delegation control is not supported with cURL < 7.22.0"
+msgstr "Управлението на делегирането не се поддържа от cURL < 7.22.0"
+
+#: http.c:351
 msgid "Public key pinning not supported with cURL < 7.44.0"
 msgstr "Задаването на постоянен публичен ключ не се поддържа от cURL < 7.44.0"
 
@@ -12248,7 +13630,6 @@
 msgid "Use binary search to find the commit that introduced a bug"
 msgstr "Двоично търсене на промяната, която е причинила грешка"
 
-# FIXME - should be similar to tag
 #: common-cmds.h:19
 msgid "List, create, or delete branches"
 msgstr "Извеждане, създаване, изтриване на клони"
@@ -12322,7 +13703,6 @@
 msgid "Show the working tree status"
 msgstr "Извеждане на състоянието на работното дърво"
 
-# FIXME - should be similar to branch
 #: common-cmds.h:37
 msgid "Create, list, delete or verify a tag object signed with GPG"
 msgstr "Извеждане, създаване, изтриване, проверка на етикети подписани с GPG"
@@ -12335,16 +13715,15 @@
 msgid "no-op (backward compatibility)"
 msgstr "нулева операция (за съвместимост с предишни версии)"
 
-#: parse-options.h:237
+#: parse-options.h:238
 msgid "be more verbose"
 msgstr "повече подробности"
 
-#: parse-options.h:239
+#: parse-options.h:240
 msgid "be more quiet"
 msgstr "по-малко подробности"
 
-# FIXME SHA-1 -> SHA1
-#: parse-options.h:245
+#: parse-options.h:246
 msgid "use <n> digits to display SHA-1s"
 msgstr "да се показват такъв БРОЙ цифри от сумите по SHA1"
 
@@ -12354,63 +13733,63 @@
 "при възможност преизползване на решението на конфликта за обновяване на "
 "индекса"
 
-#: git-bisect.sh:55
+#: git-bisect.sh:54
 msgid "You need to start by \"git bisect start\""
 msgstr "Започнете като изпълните командата „git bisect start“"
 
 #. TRANSLATORS: Make sure to include [Y] and [n] in your
 #. translation. The program will only accept English input
 #. at this point.
-#: git-bisect.sh:61
+#: git-bisect.sh:60
 msgid "Do you want me to do it for you [Y/n]? "
 msgstr "Да се извърши ли автоматично? „Y“ —  ДА, „n“ — не"
 
-#: git-bisect.sh:122
+#: git-bisect.sh:121
 #, sh-format
 msgid "unrecognised option: '$arg'"
 msgstr "непозната опция „${arg}“"
 
-#: git-bisect.sh:126
+#: git-bisect.sh:125
 #, sh-format
 msgid "'$arg' does not appear to be a valid revision"
 msgstr "„$arg“ не изглежда като указател към версия"
 
-# FIXME - I ??? the message does not convey what is actually wrong - that the "HEAD" points to sth that is unparsable
-#: git-bisect.sh:155
+#: git-bisect.sh:154
 msgid "Bad HEAD - I need a HEAD"
 msgstr "Текущият указател „HEAD“ е неправилен."
 
-#: git-bisect.sh:168
+#: git-bisect.sh:167
 #, sh-format
 msgid ""
 "Checking out '$start_head' failed. Try 'git bisect reset <valid-branch>'."
 msgstr ""
-"Неуспешно преминаване към „${start_head}“. Изпълнете командата „git bisect "
+"Неуспешно преминаване към „${start_head}“.  Изпълнете командата „git bisect "
 "reset СЪЩЕСТВУВАЩ_КЛОН“."
 
-#: git-bisect.sh:178
+#: git-bisect.sh:177
 msgid "won't bisect on cg-seek'ed tree"
 msgstr ""
 "не може да се търси двоично, когато е изпълнена командата „cg-seek“ от "
 "„cogito“"
 
-#: git-bisect.sh:182
+#: git-bisect.sh:181
 msgid "Bad HEAD - strange symbolic ref"
 msgstr "Неправилен указател „HEAD“"
 
-#: git-bisect.sh:234
+#: git-bisect.sh:233
 #, sh-format
 msgid "Bad bisect_write argument: $state"
 msgstr "Неправилен аргумент на функцията „bisect_write“: „${state}“"
 
-#: git-bisect.sh:263
+#: git-bisect.sh:262
 #, sh-format
 msgid "Bad rev input: $arg"
 msgstr "Неправилна версия: „${arg}“"
 
-#: git-bisect.sh:278
-msgid "Please call 'bisect_state' with at least one argument."
-msgstr "Функцията „bisect_state“ изисква поне един аргумент."
+#: git-bisect.sh:281
+#, sh-format
+msgid "Bad rev input: $bisected_head"
+msgstr "Неправилна версия: „$bisected_head“"
 
 #: git-bisect.sh:290
 #, sh-format
@@ -12440,7 +13819,7 @@
 "You need to give me at least one $bad_syn and one $good_syn revision.\n"
 "(You can use \"git bisect $bad_syn\" and \"git bisect $good_syn\" for that.)"
 msgstr ""
-"Трябва да зададете поне една ${bad_syn} и една ${good_syn} версия. (Това "
+"Трябва да зададете поне една ${bad_syn} и една ${good_syn} версия.  (Това "
 "може да се\n"
 "направи съответно и чрез командите „git bisect ${bad_syn}“ и „git bisect "
 "${good_syn}“.)"
@@ -12453,7 +13832,7 @@
 "(You can use \"git bisect $bad_syn\" and \"git bisect $good_syn\" for that.)"
 msgstr ""
 "Трябва да започнете двоичното търсене чрез командата „git bisect start“.\n"
-"трябва да зададете поне една добра и една лоша версия. (Това може да се\n"
+"трябва да зададете поне една добра и една лоша версия.  (Това може да се\n"
 "направи съответно и чрез командите „git bisect ${bad_syn}“ и „git bisect "
 "${good_syn}“.)"
 
@@ -12473,7 +13852,7 @@
 "Try 'git bisect reset <commit>'."
 msgstr ""
 "Първоначално указаният клон „${branch}“ в указателя „HEAD“ не може да бъде\n"
-"изтеглен. Пробвайте да изпълните командата „git bisect reset ПОДАВАНЕ“."
+"изтеглен.  Пробвайте да изпълните командата „git bisect reset ПОДАВАНЕ“."
 
 #: git-bisect.sh:458
 msgid "No logfile given"
@@ -12486,11 +13865,10 @@
 "Журналният файл „${file}“ не може да бъде прочетен, за да се изпълнят "
 "командите от него наново"
 
-# FIXME WTF
 #: git-bisect.sh:480
 msgid "?? what are you talking about?"
 msgstr ""
-"Непозната команда. Възможните варианти са: „start“, „good“, „bad“, „skip“"
+"Непозната команда.  Възможните варианти са: „start“, „good“, „bad“, „skip“"
 
 #: git-bisect.sh:492
 #, sh-format
@@ -12564,7 +13942,45 @@
 "на „git bisect terms“ е подаден неправилен аргумент „${arg}“\n"
 "Поддържат се опциите „--term-good|--term-old“ и „--term-bad|--term-new“."
 
-#: git-rebase.sh:57
+#: git-merge-octopus.sh:46
+msgid ""
+"Error: Your local changes to the following files would be overwritten by "
+"merge"
+msgstr "Грешка: Сливането ще презапише локалните промени на тези файлове:"
+
+#: git-merge-octopus.sh:61
+msgid "Automated merge did not work."
+msgstr "Автоматичното сливане не сработи."
+
+#: git-merge-octopus.sh:62
+msgid "Should not be doing an octopus."
+msgstr "Не трябва да се прави множествено сливане."
+
+#: git-merge-octopus.sh:73
+#, sh-format
+msgid "Unable to find common commit with $pretty_name"
+msgstr "Не може да се открие общо подаване с „$pretty_name“"
+
+#: git-merge-octopus.sh:77
+#, sh-format
+msgid "Already up-to-date with $pretty_name"
+msgstr "Вече е обновено до „$pretty_name“"
+
+#: git-merge-octopus.sh:89
+#, sh-format
+msgid "Fast-forwarding to: $pretty_name"
+msgstr "Тривиално сливане до „$pretty_name“"
+
+#: git-merge-octopus.sh:97
+#, sh-format
+msgid "Trying simple merge with $pretty_name"
+msgstr "Опит за просто сливане с „$pretty_name“"
+
+#: git-merge-octopus.sh:102
+msgid "Simple merge did not work, trying automatic merge."
+msgstr "Простото сливане не сработи, пробва се автоматично сливане."
+
+#: git-rebase.sh:56
 msgid ""
 "When you have resolved this problem, run \"git rebase --continue\".\n"
 "If you prefer to skip this patch, run \"git rebase --skip\" instead.\n"
@@ -12576,62 +13992,62 @@
 "За да откажете пребазирането и да се върнете към първоначалното състояние,\n"
 "изпълнете „git rebase --abort“."
 
-#: git-rebase.sh:168
+#: git-rebase.sh:156 git-rebase.sh:395
+#, sh-format
+msgid "Could not move back to $head_name"
+msgstr "Връщането към „${head_name}“ е невъзможно"
+
+#: git-rebase.sh:167
 msgid "Applied autostash."
 msgstr "Автоматично скатаното е приложено."
 
-#: git-rebase.sh:171
+#: git-rebase.sh:170
 #, sh-format
 msgid "Cannot store $stash_sha1"
 msgstr "„${stash_sha1}“ не може да бъде запазен"
 
-#: git-rebase.sh:172
+#: git-rebase.sh:171
 msgid ""
 "Applying autostash resulted in conflicts.\n"
 "Your changes are safe in the stash.\n"
 "You can run \"git stash pop\" or \"git stash drop\" at any time.\n"
 msgstr ""
-"Прилагането на автоматично скатаното доведе до конфликти. Промените ви са\n"
-"надеждно скатани. Можете да пробвате да ги приложите чрез „git stash pop“\n"
+"Прилагането на автоматично скатаното доведе до конфликти.  Промените ви са\n"
+"надеждно скатани.  Можете да пробвате да ги приложите чрез „git stash pop“\n"
 "или да ги изхвърлите чрез „git stash drop“, когато поискате.\n"
 
-#: git-rebase.sh:211
+#: git-rebase.sh:210
 msgid "The pre-rebase hook refused to rebase."
 msgstr "Куката за изпълнение преди пребазиране отхвърли пребазирането."
 
-#: git-rebase.sh:216
+#: git-rebase.sh:215
 msgid "It looks like git-am is in progress. Cannot rebase."
 msgstr ""
-"Изглежда, че сега се прилагат кръпки чрез командата „git-am“. Не може да "
+"Изглежда, че сега се прилагат кръпки чрез командата „git-am“.  Не може да "
 "пребазирате в момента."
 
-#: git-rebase.sh:357
+#: git-rebase.sh:356
 msgid "No rebase in progress?"
 msgstr "Изглежда в момента не тече пребазиране"
 
-#: git-rebase.sh:368
+#: git-rebase.sh:367
 msgid "The --edit-todo action can only be used during interactive rebase."
 msgstr ""
 "Опцията „--edit-todo“ е достъпна само по време на интерактивно пребазиране."
 
-#: git-rebase.sh:375
+#: git-rebase.sh:374
 msgid "Cannot read HEAD"
 msgstr "Указателят „HEAD“ не може да бъде прочетен"
 
-#: git-rebase.sh:378
+#: git-rebase.sh:377
 msgid ""
 "You must edit all merge conflicts and then\n"
 "mark them as resolved using git add"
 msgstr ""
-"Трябва да редактирате всички конфликти при сливането. След това\n"
+"Трябва да редактирате всички конфликти при сливането.  След това\n"
 "отбележете коригирането им чрез командата „git add“"
 
-#: git-rebase.sh:396
-#, sh-format
-msgid "Could not move back to $head_name"
-msgstr "Връщането към „${head_name}“ е невъзможно"
-
-#: git-rebase.sh:415
+#: git-rebase.sh:414
 #, sh-format
 msgid ""
 "It seems that there is already a $state_dir_base directory, and\n"
@@ -12643,110 +14059,115 @@
 "and run me again.  I am stopping in case you still have something\n"
 "valuable there."
 msgstr ""
-"Вече съществува директория „${state_dir_base}“. Възможно ли е да сте\n"
+"Вече съществува директория „${state_dir_base}“.  Възможно ли е да сте\n"
 "в процес на друго пребазиране? Ако това е така, изпълнете:\n"
 "    ${cmd_live_rebase}\n"
 "Ако не сте в процес на друго пребазиране, изпълнете:\n"
 "    ${cmd_clear_stale_rebase}\n"
-"и отново започнете пребазирането. Текущото пребазиране се преустановява, за\n"
+"и отново започнете пребазирането.  Текущото пребазиране се преустановява, "
+"за\n"
 "да не загубите случайно промени."
 
-#: git-rebase.sh:466
+#: git-rebase.sh:465
 #, sh-format
 msgid "invalid upstream $upstream_name"
 msgstr "неправилна основа за сравнение „${upstream_name}“"
 
-#: git-rebase.sh:490
+#: git-rebase.sh:489
 #, sh-format
 msgid "$onto_name: there are more than one merge bases"
 msgstr ""
 "указателят „${onto_name}“ може да сочи към повече от една основа за "
 "пребазирането"
 
-#: git-rebase.sh:493 git-rebase.sh:497
+#: git-rebase.sh:492 git-rebase.sh:496
 #, sh-format
 msgid "$onto_name: there is no merge base"
 msgstr "указателят „${onto_name}“ не сочи към никаква основа за пребазирането"
 
-#: git-rebase.sh:502
+#: git-rebase.sh:501
 #, sh-format
 msgid "Does not point to a valid commit: $onto_name"
 msgstr "Указателят „${onto_name}“ не сочи към подаване"
 
-#: git-rebase.sh:525
+#: git-rebase.sh:524
 #, sh-format
 msgid "fatal: no such branch: $branch_name"
 msgstr "ФАТАЛНА ГРЕШКА: не съществува клон „${branch_name}“"
 
-#: git-rebase.sh:558
+#: git-rebase.sh:557
 msgid "Cannot autostash"
 msgstr "Не може да се скатае автоматично"
 
-#: git-rebase.sh:563
+#: git-rebase.sh:562
 #, sh-format
 msgid "Created autostash: $stash_abbrev"
 msgstr "Автоматично скатано: „${stash_abbrev}“"
 
-#: git-rebase.sh:567
+#: git-rebase.sh:566
 msgid "Please commit or stash them."
 msgstr "Промените трябва или да се подадат, или да се скатаят."
 
-#: git-rebase.sh:587
+#: git-rebase.sh:586
 #, sh-format
 msgid "Current branch $branch_name is up to date."
 msgstr "Текущият клон „${branch_name}“ е напълно актуален."
 
-#: git-rebase.sh:591
+#: git-rebase.sh:590
 #, sh-format
 msgid "Current branch $branch_name is up to date, rebase forced."
 msgstr ""
-"Текущият клон „${branch_name}“ е напълно актуален. Пребазирането е "
+"Текущият клон „${branch_name}“ е напълно актуален.  Пребазирането е "
 "принудително."
 
-#: git-rebase.sh:602
+#: git-rebase.sh:601
 #, sh-format
 msgid "Changes from $mb to $onto:"
 msgstr "Промените от „${mb}“ към „${onto}“:"
 
-#: git-rebase.sh:611
+#: git-rebase.sh:610
 msgid "First, rewinding head to replay your work on top of it..."
 msgstr ""
 "Първо, указателят „HEAD“ започва да сочи към базата, върху която пребазирате…"
 
-#: git-rebase.sh:621
+#: git-rebase.sh:620
 #, sh-format
 msgid "Fast-forwarded $branch_name to $onto_name."
 msgstr "Тривиално сливане на „${branch_name}“ върху „${onto_name}“."
 
-#: git-stash.sh:51
+#: git-stash.sh:50
 msgid "git stash clear with parameters is unimplemented"
 msgstr "Командата „git stash clear“ не поддържа аргументи"
 
-#: git-stash.sh:74
+#: git-stash.sh:73
 msgid "You do not have the initial commit yet"
 msgstr "Все още липсва първоначално подаване"
 
-#: git-stash.sh:89
+#: git-stash.sh:88
 msgid "Cannot save the current index state"
 msgstr "Състоянието на текущия индекс не може да бъде запазено"
 
-#: git-stash.sh:124 git-stash.sh:137
+#: git-stash.sh:103
+msgid "Cannot save the untracked files"
+msgstr "Неследените файлове не могат да се запазят"
+
+#: git-stash.sh:123 git-stash.sh:136
 msgid "Cannot save the current worktree state"
 msgstr "Състоянието на работното дърво не може да бъде запазено"
 
-#: git-stash.sh:141
+#: git-stash.sh:140
 msgid "No changes selected"
 msgstr "Не са избрани никакви промени"
 
-#: git-stash.sh:144
+#: git-stash.sh:143
 msgid "Cannot remove temporary index (can't happen)"
 msgstr "Временният индекс не може да бъде изтрит"
 
-#: git-stash.sh:157
+#: git-stash.sh:156
 msgid "Cannot record working tree state"
 msgstr "Състоянието на работното дърво не може да бъде запазено"
 
-#: git-stash.sh:189
+#: git-stash.sh:188
 #, sh-format
 msgid "Cannot update $ref_stash with $w_commit"
 msgstr ""
@@ -12762,7 +14183,7 @@
 #. $ git stash save --blah-blah 2>&1 | head -n 2
 #. error: unknown option for 'stash save': --blah-blah
 #. To provide a message, use git stash save -- '--blah-blah'
-#: git-stash.sh:239
+#: git-stash.sh:238
 #, sh-format
 msgid ""
 "error: unknown option for 'stash save': $option\n"
@@ -12771,115 +14192,132 @@
 "грешка: командата „git stash save“ не поддържа опция „${option}“\n"
 "        За да зададете съобщение, изпълнете „git stash save -- '${option}'“"
 
-#: git-stash.sh:260
+#: git-stash.sh:251
+msgid "Can't use --patch and --include-untracked or --all at the same time"
+msgstr "Опциията „--patch“ е несъвместима с „--include-untracked“ и „--all“"
+
+#: git-stash.sh:259
 msgid "No local changes to save"
 msgstr "Няма никакви локални промени за скатаване"
 
-#: git-stash.sh:264
+#: git-stash.sh:263
 msgid "Cannot initialize stash"
 msgstr "Скатаването не може да стартира"
 
-#: git-stash.sh:268
+#: git-stash.sh:267
 msgid "Cannot save the current status"
 msgstr "Текущото състояние не може да бъде запазено"
 
-#: git-stash.sh:286
+#: git-stash.sh:268
+#, sh-format
+msgid "Saved working directory and index state $stash_msg"
+msgstr ""
+"Състоянието на работната директория и индекса са запазени: „$stash_msg“"
+
+#: git-stash.sh:285
 msgid "Cannot remove worktree changes"
 msgstr "Промените в работното дърво не могат да бъдат занулени"
 
-#: git-stash.sh:405
+#: git-stash.sh:403
 #, sh-format
 msgid "unknown option: $opt"
 msgstr "непозната опция: ${opt}"
 
-#: git-stash.sh:415
+#: git-stash.sh:416
 msgid "No stash found."
 msgstr "Не е открито нищо скатано."
 
-#: git-stash.sh:422
+#: git-stash.sh:423
 #, sh-format
 msgid "Too many revisions specified: $REV"
 msgstr "Указани са прекалено много версии: „${REV}“"
 
-#: git-stash.sh:428
+#: git-stash.sh:438
 #, sh-format
 msgid "$reference is not a valid reference"
 msgstr "Указателят „${reference}“ е грешен"
 
-#: git-stash.sh:456
+#: git-stash.sh:466
 #, sh-format
 msgid "'$args' is not a stash-like commit"
 msgstr "„${args}“ не е подаване, приличащо на нещо скатано"
 
-#: git-stash.sh:467
+#: git-stash.sh:477
 #, sh-format
 msgid "'$args' is not a stash reference"
 msgstr "„${args}“ не е указател към нещо скатано"
 
-#: git-stash.sh:475
+#: git-stash.sh:485
 msgid "unable to refresh index"
 msgstr "индексът не може да бъде обновен"
 
-#: git-stash.sh:479
+#: git-stash.sh:489
 msgid "Cannot apply a stash in the middle of a merge"
 msgstr "По време на сливане не може да приложите нещо скатано"
 
-#: git-stash.sh:487
+#: git-stash.sh:497
 msgid "Conflicts in index. Try without --index."
 msgstr ""
-"В индекса има конфликти. Пробвайте да изпълните командата без опцията „--"
+"В индекса има конфликти.  Пробвайте да изпълните командата без опцията „--"
 "index“."
 
-#: git-stash.sh:489
+#: git-stash.sh:499
 msgid "Could not save index tree"
 msgstr "Дървото сочено от индекса не може да бъде запазено"
 
-#: git-stash.sh:523
+#: git-stash.sh:508
+msgid "Could not restore untracked files from stash"
+msgstr "Неследени файлове не могат да се възстановят от индекса"
+
+#: git-stash.sh:533
 msgid "Cannot unstage modified files"
 msgstr "Променените файлове не могат да бъдат извадени от индекса"
 
-#: git-stash.sh:538
+#: git-stash.sh:548
 msgid "Index was not unstashed."
 msgstr "Индексът не е скатан."
 
-#: git-stash.sh:561
+#: git-stash.sh:562
+msgid "The stash is kept in case you need it again."
+msgstr "Скатаното е запазено в случай, че ви потрябва отново"
+
+#: git-stash.sh:571
 #, sh-format
 msgid "Dropped ${REV} ($s)"
 msgstr "Изтрито е скатаното „${REV}“ ($s)"
 
-#: git-stash.sh:562
+#: git-stash.sh:572
 #, sh-format
 msgid "${REV}: Could not drop stash entry"
 msgstr "Скатаното „${REV}“ не може да бъде изтрито"
 
-#: git-stash.sh:570
+#: git-stash.sh:580
 msgid "No branch name specified"
 msgstr "Не е указано име на клон"
 
-#: git-stash.sh:642
+#: git-stash.sh:652
 msgid "(To restore them type \"git stash apply\")"
 msgstr "(За да ги възстановите, изпълнете командата „git stash apply“)"
 
-#: git-submodule.sh:219
+#: git-submodule.sh:184
 msgid "Relative path can only be used from the toplevel of the working tree"
 msgstr ""
 "Относителен път може да се ползва само от основната директория на работното "
 "дърво"
 
-# FIXME - what is this regex?
-#: git-submodule.sh:229
+#: git-submodule.sh:194
 #, sh-format
 msgid "repo URL: '$repo' must be absolute or begin with ./|../"
 msgstr ""
 "адрес на хранилище: „${repo}“ трябва или да е абсолютен, или да започва с "
 "„./“ или „../“"
 
-#: git-submodule.sh:246
+#: git-submodule.sh:211
 #, sh-format
 msgid "'$sm_path' already exists in the index"
 msgstr "„${sm_path}“ вече съществува в индекса"
 
-#: git-submodule.sh:250
+#: git-submodule.sh:215
 #, sh-format
 msgid ""
 "The following path is ignored by one of your .gitignore files:\n"
@@ -12890,245 +14328,244 @@
 "${sm_path}\n"
 "Използвайте опцията „-f“, ако за да го добавите наистина."
 
-#: git-submodule.sh:268
+#: git-submodule.sh:233
 #, sh-format
 msgid "Adding existing repo at '$sm_path' to the index"
 msgstr "Добавяне на съществуващото хранилище в „${sm_path}“ към индекса"
 
-#: git-submodule.sh:270
+#: git-submodule.sh:235
 #, sh-format
 msgid "'$sm_path' already exists and is not a valid git repo"
 msgstr "„${sm_path}“ съществува, а не е хранилище на Git"
 
-#: git-submodule.sh:278
+#: git-submodule.sh:243
 #, sh-format
 msgid "A git directory for '$sm_name' is found locally with remote(s):"
 msgstr ""
 "Открита е локална директория на Git — „${sm_name}“, която сочи към "
 "отдалечените хранилища:"
 
-#: git-submodule.sh:280
+#: git-submodule.sh:245
 #, sh-format
 msgid ""
-"If you want to reuse this local git directory instead of cloning again from"
-msgstr ""
-"Ако искате да преизползвате тази локална директория на Git вместо да отново "
-"да клонирате:"
-
-#: git-submodule.sh:282
-#, sh-format
-msgid ""
-"use the '--force' option. If the local git directory is not the correct repo"
-msgstr ""
-"използвайте опцията „--force“. Ако локалната директория не сочи към "
-"правилното отдалечено хранилище"
-
-#: git-submodule.sh:283
-#, sh-format
-msgid ""
+"If you want to reuse this local git directory instead of cloning again from\n"
+"  $realrepo\n"
+"use the '--force' option. If the local git directory is not the correct "
+"repo\n"
 "or you are unsure what this means choose another name with the '--name' "
 "option."
 msgstr ""
-"или не сте сигурни какво означава всичко това, просто задайте друго име като "
-"аргумент на опцията „--name“."
+"Ако искате да преизползвате тази директория на git, вместо да клонирате "
+"отново\n"
+"        $realrepo\n"
+"използвайте опцията „--force“.  Ако локалната директория на git не е за\n"
+"правилното хранилище или ако не знаете какво означава това, използвайте\n"
+"друго име като аргумент към опцията „--name“."
 
-# FIXME активиране - какво всъщност става
-#: git-submodule.sh:285
+#: git-submodule.sh:251
 #, sh-format
 msgid "Reactivating local git directory for submodule '$sm_name'."
 msgstr "Активиране на локалното хранилище за подмодула „${sm_name}“ наново."
 
-#: git-submodule.sh:297
+#: git-submodule.sh:263
 #, sh-format
 msgid "Unable to checkout submodule '$sm_path'"
 msgstr "Подмодулът „${sm_path}“ не може да бъде изтеглен"
 
-#: git-submodule.sh:302
+#: git-submodule.sh:268
 #, sh-format
 msgid "Failed to add submodule '$sm_path'"
 msgstr "Неуспешно добавяне на подмодула „${sm_path}“"
 
-#: git-submodule.sh:311
+#: git-submodule.sh:277
 #, sh-format
 msgid "Failed to register submodule '$sm_path'"
 msgstr "Неуспешно регистриране на подмодула „${sm_path}“"
 
-#: git-submodule.sh:355
+#: git-submodule.sh:324
 #, sh-format
 msgid "Entering '$displaypath'"
 msgstr "Влизане в „${displaypath}“"
 
-#: git-submodule.sh:375
+#: git-submodule.sh:344
 #, sh-format
 msgid "Stopping at '$displaypath'; script returned non-zero status."
 msgstr ""
 "Спиране при „${displaypath}“ — изходният код от скрипта бе различен от 0."
 
-#: git-submodule.sh:448
+#: git-submodule.sh:415
 #, sh-format
 msgid "pathspec and --all are incompatible"
 msgstr "указването на път е несъвместимо с опцията „--all“"
 
-#: git-submodule.sh:453
+#: git-submodule.sh:420
 #, sh-format
 msgid "Use '--all' if you really want to deinitialize all submodules"
 msgstr "Използвайте „--all“, за да премахнете всички подмодули"
 
-#: git-submodule.sh:470
-#, sh-format
-msgid "Submodule work tree '$displaypath' contains a .git directory"
-msgstr ""
-"Пътят към подмодул „${displaypath}“ в работното дърво съдържа директория „."
-"git“"
-
-#: git-submodule.sh:471
+#: git-submodule.sh:440
 #, sh-format
 msgid ""
+"Submodule work tree '$displaypath' contains a .git directory\n"
 "(use 'rm -rf' if you really want to remove it including all of its history)"
 msgstr ""
-"(използвайте командата „rm -rf“, за да го изтриете заедно с цялата му "
-"история)"
+"Работното дърво на подмодул „${displaypath}“ съдържа директория „.git“.\n"
+"(ако искате да ги изтриете заедно с цялата им история, използвайте „rm -rf“)"
 
-#: git-submodule.sh:477
+#: git-submodule.sh:448
 #, sh-format
 msgid ""
 "Submodule work tree '$displaypath' contains local modifications; use '-f' to "
 "discard them"
 msgstr ""
-"Пътят към подмодул „${displaypath}“ в работното дърво съдържа локални "
-"промени. Можете да ги пренебрегнете и отмените с опцията „-f“"
+"Работното дърво на подмодул „${displaypath}“ съдържа локални промени.  "
+"Можете да ги пренебрегнете и отмените с опцията „-f“"
 
-#: git-submodule.sh:480
+#: git-submodule.sh:451
 #, sh-format
 msgid "Cleared directory '$displaypath'"
 msgstr "Директорията „${displaypath}“ е изчистена"
 
-#: git-submodule.sh:481
+#: git-submodule.sh:452
 #, sh-format
 msgid "Could not remove submodule work tree '$displaypath'"
 msgstr ""
 "Директорията към работното дърво на подмодула „${displaypath}“ не може да "
 "бъде изтрита"
 
-#: git-submodule.sh:484
+#: git-submodule.sh:455
 #, sh-format
 msgid "Could not create empty submodule directory '$displaypath'"
 msgstr ""
 "Празната директория за подмодула „${displaypath}“ не може да бъде създадена"
 
-#: git-submodule.sh:493
+#: git-submodule.sh:464
 #, sh-format
 msgid "Submodule '$name' ($url) unregistered for path '$displaypath'"
 msgstr ""
 "Премахната е регистрацията на подмодул „${name}“, сочещ към адрес „${url}“, "
 "за пътя „${displaypath}“"
 
-#: git-submodule.sh:635
+#: git-submodule.sh:617
 #, sh-format
 msgid "Unable to find current revision in submodule path '$displaypath'"
 msgstr "Текущата версия за подмодула в „${displaypath}“ липсва"
 
-#: git-submodule.sh:644
+#: git-submodule.sh:627
 #, sh-format
 msgid "Unable to fetch in submodule path '$sm_path'"
 msgstr "Неуспешно доставяне в пътя към подмодул „${sm_path}“"
 
-#: git-submodule.sh:667
+#: git-submodule.sh:632
+#, sh-format
+msgid ""
+"Unable to find current ${remote_name}/${branch} revision in submodule path "
+"'$sm_path'"
+msgstr ""
+"Текущата версия „${remote_name}/${branch}“ в пътя към подмодул „${sm_path}“ "
+"липсва"
+
+#: git-submodule.sh:650
 #, sh-format
 msgid "Unable to fetch in submodule path '$displaypath'"
 msgstr "Неуспешно доставяне в пътя към подмодул „${displaypath}“"
 
-#: git-submodule.sh:680
+#: git-submodule.sh:656
+#, sh-format
+msgid ""
+"Fetched in submodule path '$displaypath', but it did not contain $sha1. "
+"Direct fetching of that commit failed."
+msgstr ""
+"Подмодулът в пътя „$displaypath“ е достанен, но не съдържа обекта със сума\n"
+"„$sha1“.  Директното доставяне на това подаване е неуспешно."
+
+#: git-submodule.sh:663
 #, sh-format
 msgid "Unable to checkout '$sha1' in submodule path '$displaypath'"
 msgstr ""
 "Неуспешно изтегляне на версия „${sha1}“ в пътя към подмодул „${displaypath}“'"
 
-#: git-submodule.sh:681
+#: git-submodule.sh:664
 #, sh-format
 msgid "Submodule path '$displaypath': checked out '$sha1'"
 msgstr "Път към подмодул „${displaypath}“: изтеглена е версия „${sha1}“"
 
-#: git-submodule.sh:685
+#: git-submodule.sh:668
 #, sh-format
 msgid "Unable to rebase '$sha1' in submodule path '$displaypath'"
 msgstr ""
 "Неуспешно пребазиране на версия „${sha1}“ в пътя към подмодул "
 "„${displaypath}“"
 
-#: git-submodule.sh:686
+#: git-submodule.sh:669
 #, sh-format
 msgid "Submodule path '$displaypath': rebased into '$sha1'"
 msgstr "Път към подмодул „${displaypath}“: пребазиране върху версия „${sha1}“"
 
-#: git-submodule.sh:691
+#: git-submodule.sh:674
 #, sh-format
 msgid "Unable to merge '$sha1' in submodule path '$displaypath'"
 msgstr ""
 "Неуспешно сливане на версия „${sha1}“ в пътя към подмодул „${displaypath}“"
 
-#: git-submodule.sh:692
+#: git-submodule.sh:675
 #, sh-format
 msgid "Submodule path '$displaypath': merged in '$sha1'"
 msgstr "Път към подмодул „${displaypath}“: сливане с версия „${sha1}“"
 
-#: git-submodule.sh:697
+#: git-submodule.sh:680
 #, sh-format
 msgid "Execution of '$command $sha1' failed in submodule path '$displaypath'"
 msgstr ""
 "Неуспешно изпълнение на командата „${command} ${sha1}“ в пътя към подмодул "
 "„${displaypath}“"
 
-#: git-submodule.sh:698
+#: git-submodule.sh:681
 #, sh-format
 msgid "Submodule path '$displaypath': '$command $sha1'"
 msgstr "Път към подмодул „${displaypath}“: „${command} ${sha1}“"
 
-#: git-submodule.sh:729
+#: git-submodule.sh:712
 #, sh-format
 msgid "Failed to recurse into submodule path '$displaypath'"
 msgstr ""
 "Неуспешна обработка на поддиректориите в пътя към подмодул „${displaypath}“"
 
-#: git-submodule.sh:837
+#: git-submodule.sh:820
 msgid "The --cached option cannot be used with the --files option"
 msgstr "Опциите „--cached“ и „--files“ са несъвместими"
 
-#: git-submodule.sh:889
+#: git-submodule.sh:872
 #, sh-format
 msgid "unexpected mode $mod_dst"
 msgstr "неочакван режим „${mod_dst}“"
 
-#: git-submodule.sh:909
+#: git-submodule.sh:892
 #, sh-format
 msgid "  Warn: $display_name doesn't contain commit $sha1_src"
 msgstr ""
 "  ПРЕДУПРЕЖДЕНИЕ: „${display_name}“ не съдържа подаването „${sha1_src}“"
 
-#: git-submodule.sh:912
+#: git-submodule.sh:895
 #, sh-format
 msgid "  Warn: $display_name doesn't contain commit $sha1_dst"
 msgstr ""
 "  ПРЕДУПРЕЖДЕНИЕ: „${display_name}“ не съдържа подаването „${sha1_dst}“"
 
-#: git-submodule.sh:915
+#: git-submodule.sh:898
 #, sh-format
 msgid "  Warn: $display_name doesn't contain commits $sha1_src and $sha1_dst"
 msgstr ""
 "  ПРЕДУПРЕЖДЕНИЕ: „${display_name}“ не съдържа никое от подаванията "
 "„${sha1_src}“ и „${sha1_dst}“"
 
-#: git-submodule.sh:940
-msgid "blob"
-msgstr "обект BLOB"
-
-#: git-submodule.sh:1059
+#: git-submodule.sh:1045
 #, sh-format
 msgid "Failed to recurse into submodule path '$sm_path'"
 msgstr ""
 "Неуспешна обработка на поддиректориите в пътя към подмодул „${sm_path}“"
 
-#: git-submodule.sh:1123
+#: git-submodule.sh:1112
 #, sh-format
 msgid "Synchronizing submodule url for '$displaypath'"
 msgstr "Синхронизиране на адреса за пътя към подмодул „${displaypath}“"
@@ -13137,3 +14574,488 @@
 #, sh-format
 msgid "See git-${cmd}(1) for details."
 msgstr "За повече информация погледнете ръководството на „git-${cmd}(1)“"
+
+#: git-rebase--interactive.sh:140
+#, sh-format
+msgid "Rebasing ($new_count/$total)"
+msgstr "Пребазиране ($new_count/$total)"
+
+#: git-rebase--interactive.sh:156
+msgid ""
+"\n"
+"Commands:\n"
+" p, pick = use commit\n"
+" r, reword = use commit, but edit the commit message\n"
+" e, edit = use commit, but stop for amending\n"
+" s, squash = use commit, but meld into previous commit\n"
+" f, fixup = like \"squash\", but discard this commit's log message\n"
+" x, exec = run command (the rest of the line) using shell\n"
+" d, drop = remove commit\n"
+"\n"
+"These lines can be re-ordered; they are executed from top to bottom.\n"
+msgstr ""
+"\n"
+"Команди:\n"
+" p, pick — прилагане на подаването\n"
+" r, reword — прилагане на подаването, но смяна на съобщението му\n"
+" e, edit — прилагане на подаването и спиране при него за още промени\n"
+" s, squash — сливане на подаването към предходното му\n"
+" f, fixup —  сливане на подаването към предходното му, без смяна на "
+"съобщението\n"
+" x, exec — изпълнение на команда към обвивката: останалата част на реда\n"
+" d, drop — прескачане на подаването\n"
+"\n"
+"Може да променяте последователността на редовете — те се изпълняват\n"
+"последователно отгоре-надолу.\n"
+
+#: git-rebase--interactive.sh:171
+msgid ""
+"\n"
+"Do not remove any line. Use 'drop' explicitly to remove a commit.\n"
+msgstr ""
+"\n"
+"Не изтривайте редове.  Подаванията могат да се прескачат с командата "
+"„drop“.\n"
+
+#: git-rebase--interactive.sh:175
+msgid ""
+"\n"
+"If you remove a line here THAT COMMIT WILL BE LOST.\n"
+msgstr ""
+"\n"
+"Ако изтриете ред, съответстващото му подаване ще бъде ИЗТРИТО.\n"
+
+#: git-rebase--interactive.sh:211
+#, sh-format
+msgid ""
+"You can amend the commit now, with\n"
+"\n"
+"\tgit commit --amend $gpg_sign_opt_quoted\n"
+"\n"
+"Once you are satisfied with your changes, run\n"
+"\n"
+"\tgit rebase --continue"
+msgstr ""
+"Може да промените подаването с командата:\n"
+"\n"
+"        git commit --amend $gpg_sign_opt_quoted\n"
+"\n"
+"След като привършите, продължете с командата:\n"
+"\n"
+"        git rebase --continue"
+
+#: git-rebase--interactive.sh:236
+#, sh-format
+msgid "$sha1: not a commit that can be picked"
+msgstr "$sha1: това не е подаване, което може да бъде отбрано"
+
+#: git-rebase--interactive.sh:275
+#, sh-format
+msgid "Invalid commit name: $sha1"
+msgstr "Неправилно име на подаване: „$sha1“"
+
+#: git-rebase--interactive.sh:317
+msgid "Cannot write current commit's replacement sha1"
+msgstr ""
+"Заместващата сума по SHA1 за текущото подаване не може да бъде запазена"
+
+#: git-rebase--interactive.sh:369
+#, sh-format
+msgid "Fast-forward to $sha1"
+msgstr "Тривиално сливане до „$sha1“"
+
+#: git-rebase--interactive.sh:371
+#, sh-format
+msgid "Cannot fast-forward to $sha1"
+msgstr "Не може да се слее тривиално до „$sha1“"
+
+#: git-rebase--interactive.sh:380
+#, sh-format
+msgid "Cannot move HEAD to $first_parent"
+msgstr "Указателят „HEAD“ не може да се насочи към „$first_parent“"
+
+#: git-rebase--interactive.sh:385
+#, sh-format
+msgid "Refusing to squash a merge: $sha1"
+msgstr "Подаването не може да се смачка: „$sha1“"
+
+#: git-rebase--interactive.sh:399
+#, sh-format
+msgid "Error redoing merge $sha1"
+msgstr "Грешка при повтарянето на сливането на „$sha1“"
+
+# FIXME Could not open %s. - full stop for consistence with next message
+#: git-rebase--interactive.sh:407
+#, sh-format
+msgid "Could not pick $sha1"
+msgstr "„$sha1“ не може да се отбере."
+
+#: git-rebase--interactive.sh:416
+#, sh-format
+msgid "This is the commit message #${n}:"
+msgstr "Това е съобщение при подаване №${n}:"
+
+#: git-rebase--interactive.sh:421
+#, sh-format
+msgid "The commit message #${n} will be skipped:"
+msgstr "Съобщение при подаване №${n} ще бъде прескочено."
+
+#: git-rebase--interactive.sh:432
+#, sh-format
+msgid "This is a combination of $count commit."
+msgid_plural "This is a combination of $count commits."
+msgstr[0] "Това е обединение от $count подаване."
+msgstr[1] "Това е обединение от $count подавания."
+
+#: git-rebase--interactive.sh:440
+#, sh-format
+msgid "Cannot write $fixup_msg"
+msgstr "Новото съобщение при подаване „$fixup_msg“ не може да бъде запазено"
+
+#: git-rebase--interactive.sh:443
+msgid "This is a combination of 2 commits."
+msgstr "Това е обединение от 2 подавания"
+
+#: git-rebase--interactive.sh:444
+msgid "This is the 1st commit message:"
+msgstr "Това е 1-то съобщение при подаване:"
+
+#: git-rebase--interactive.sh:484 git-rebase--interactive.sh:527
+#: git-rebase--interactive.sh:530
+#, sh-format
+msgid "Could not apply $sha1... $rest"
+msgstr "Не може да се подаде $sha1… $rest"
+
+#: git-rebase--interactive.sh:558
+#, sh-format
+msgid ""
+"Could not amend commit after successfully picking $sha1... $rest\n"
+"This is most likely due to an empty commit message, or the pre-commit hook\n"
+"failed. If the pre-commit hook failed, you may need to resolve the issue "
+"before\n"
+"you are able to reword the commit."
+msgstr ""
+"Подаването не може за де промени след успешното отбиране на „$sha1…“ $rest.\n"
+"Най-вероятните причини са празно съобщение при подаване или неуспешно "
+"изпълнение\n"
+"на куката преди подаване.  Ако имате проблем с куката, ще трябва да го "
+"коригирате,\n"
+"преди да можете да промените подаването."
+
+#: git-rebase--interactive.sh:573
+#, sh-format
+msgid "Stopped at $sha1_abbrev... $rest"
+msgstr "Спиране при „$sha1_abbrev…“ $rest"
+
+#: git-rebase--interactive.sh:588
+#, sh-format
+msgid "Cannot '$squash_style' without a previous commit"
+msgstr "Без предишно подаване не може да се изпълни „$squash_style“"
+
+#: git-rebase--interactive.sh:630
+#, sh-format
+msgid "Executing: $rest"
+msgstr "В момента се изпълнява: $rest"
+
+#: git-rebase--interactive.sh:638
+#, sh-format
+msgid "Execution failed: $rest"
+msgstr "Неуспешно изпълнение: $rest"
+
+#: git-rebase--interactive.sh:640
+msgid "and made changes to the index and/or the working tree"
+msgstr "и промени индекса и/или работното дърво"
+
+#: git-rebase--interactive.sh:642
+msgid ""
+"You can fix the problem, and then run\n"
+"\n"
+"\tgit rebase --continue"
+msgstr ""
+"Може да коригирате проблема, след което изпълнете:\n"
+"\n"
+"    git rebase --continue"
+
+#. TRANSLATORS: after these lines is a command to be issued by the user
+#: git-rebase--interactive.sh:655
+#, sh-format
+msgid ""
+"Execution succeeded: $rest\n"
+"but left changes to the index and/or the working tree\n"
+"Commit or stash your changes, and then run\n"
+"\n"
+"\tgit rebase --continue"
+msgstr ""
+"Успешно изпълнение: $rest\n"
+"Остават още промени в индекса или работното дърво.\n"
+"Трябва да ги подадете или скатаете и след това изпълнете:\n"
+"\n"
+"\tgit rebase --continue"
+
+#: git-rebase--interactive.sh:666
+#, sh-format
+msgid "Unknown command: $command $sha1 $rest"
+msgstr "Непозната команда: $command $sha1 $rest"
+
+#: git-rebase--interactive.sh:667
+msgid "Please fix this using 'git rebase --edit-todo'."
+msgstr "Коригирайте това чрез „git rebase --edit-todo“."
+
+#: git-rebase--interactive.sh:702
+#, sh-format
+msgid "Successfully rebased and updated $head_name."
+msgstr "Успешно пребазиране и обновяване на „$head_name“."
+
+#: git-rebase--interactive.sh:749
+msgid "Could not skip unnecessary pick commands"
+msgstr "Излишните команди да отбиране не могат да бъдат прескочени"
+
+#: git-rebase--interactive.sh:907
+#, sh-format
+msgid ""
+"Warning: the SHA-1 is missing or isn't a commit in the following line:\n"
+" - $line"
+msgstr ""
+"Предупреждение: сумата по SHA1, указана към командата на реда:\n"
+" - $line\n"
+" липсва или не е представлява подаване"
+
+#: git-rebase--interactive.sh:940
+#, sh-format
+msgid ""
+"Warning: the command isn't recognized in the following line:\n"
+" - $line"
+msgstr ""
+"Предупреждение: непозната команда на ред:\n"
+" - $line"
+
+#: git-rebase--interactive.sh:979
+msgid "could not detach HEAD"
+msgstr "указателят „HEAD“ не може да се отдели"
+
+#: git-rebase--interactive.sh:1017
+msgid ""
+"Warning: some commits may have been dropped accidentally.\n"
+"Dropped commits (newer to older):"
+msgstr ""
+"Предупреждение: някои подавания може да са пропуснати.\n"
+"\n"
+"Пропуснати подавания (новите са най-отгоре):"
+
+#: git-rebase--interactive.sh:1025
+msgid ""
+"To avoid this message, use \"drop\" to explicitly remove a commit.\n"
+"\n"
+"Use 'git config rebase.missingCommitsCheck' to change the level of "
+"warnings.\n"
+"The possible behaviours are: ignore, warn, error."
+msgstr ""
+"За да не получавате това съобщение, изрично ползвайте командата „drop“.\n"
+"\n"
+"Настройката „rebase.missingCommitsCheck“ управлява нивото на предупреждение\n"
+"Възможните стойности са „ignore“ (пренебрегване), „warn“ (само "
+"предупреждение)\n"
+"или „error“ (считане за грешка)."
+
+#: git-rebase--interactive.sh:1036
+#, sh-format
+msgid ""
+"Unrecognized setting $check_level for option rebase.missingCommitsCheck. "
+"Ignoring."
+msgstr ""
+"Непозната стойност „$check_level“ за настройката „rebase."
+"missingCommitsCheck“.\n"
+"Настройката се прескача."
+
+#: git-rebase--interactive.sh:1053
+msgid ""
+"You can fix this with 'git rebase --edit-todo' and then run 'git rebase --"
+"continue'."
+msgstr ""
+"Можете да промените това с командите „git rebase --edit-todo“ и „git rebase "
+"--continue“ след това."
+
+#: git-rebase--interactive.sh:1054
+msgid "Or you can abort the rebase with 'git rebase --abort'."
+msgstr ""
+"Може и да преустановите пребазирането с командата „git rebase --abort“."
+
+#: git-rebase--interactive.sh:1078
+msgid "Could not remove CHERRY_PICK_HEAD"
+msgstr "Указателят „CHERRY_PICK_HEAD“ не може да бъде изтрит"
+
+#: git-rebase--interactive.sh:1083
+#, sh-format
+msgid ""
+"You have staged changes in your working tree.\n"
+"If these changes are meant to be\n"
+"squashed into the previous commit, run:\n"
+"\n"
+"  git commit --amend $gpg_sign_opt_quoted\n"
+"\n"
+"If they are meant to go into a new commit, run:\n"
+"\n"
+"  git commit $gpg_sign_opt_quoted\n"
+"\n"
+"In both cases, once you're done, continue with:\n"
+"\n"
+"  git rebase --continue\n"
+msgstr ""
+"В индекса има промени.  Ако искате да ги прибавите към\n"
+"предишното подаване, изпълнете:\n"
+"\n"
+"    git commit --amend $gpg_sign_opt_quoted\n"
+"\n"
+"Ако искате да създадете ново подаване, изпълнете:\n"
+"\n"
+"    git commit $gpg_sign_opt_quoted\n"
+"\n"
+"И в двата случая след като привършите, продължете с командата:\n"
+"\n"
+"    git rebase --continue\n"
+
+#: git-rebase--interactive.sh:1100
+msgid "Error trying to find the author identity to amend commit"
+msgstr "Не може да бъде открит автор за поправянето на подаването"
+
+#: git-rebase--interactive.sh:1105
+msgid ""
+"You have uncommitted changes in your working tree. Please commit them\n"
+"first and then run 'git rebase --continue' again."
+msgstr ""
+"В работното дърво има неподадени промени.  Първо ги подайте, а след това\n"
+"отново изпълнете „git rebase --continue“."
+
+#: git-rebase--interactive.sh:1110 git-rebase--interactive.sh:1114
+msgid "Could not commit staged changes."
+msgstr "Промените в индекса не могат да бъдат подадени."
+
+#: git-rebase--interactive.sh:1138
+msgid ""
+"\n"
+"You are editing the todo file of an ongoing interactive rebase.\n"
+"To continue rebase after editing, run:\n"
+"    git rebase --continue\n"
+"\n"
+msgstr ""
+"\n"
+"В момента редактирате командния файл на текущото интерактивно пребазиране.\n"
+"За да продължите пребазирането след това, изпълнете:\n"
+"    git rebase --continue\n"
+"\n"
+
+#: git-rebase--interactive.sh:1146 git-rebase--interactive.sh:1304
+msgid "Could not execute editor"
+msgstr "Текстовият редактор не може да бъде стартиран"
+
+#: git-rebase--interactive.sh:1159
+#, sh-format
+msgid "Could not checkout $switch_to"
+msgstr "„$switch_to“ не може да се изтегли"
+
+#: git-rebase--interactive.sh:1164
+msgid "No HEAD?"
+msgstr "Липсва указател „HEAD“"
+
+#: git-rebase--interactive.sh:1165
+#, sh-format
+msgid "Could not create temporary $state_dir"
+msgstr "Временната директория „$state_dir“ не може да бъде създадена"
+
+#: git-rebase--interactive.sh:1167
+msgid "Could not mark as interactive"
+msgstr "Пребазирането не е интерактивно"
+
+#: git-rebase--interactive.sh:1177 git-rebase--interactive.sh:1182
+msgid "Could not init rewritten commits"
+msgstr "Списъкът с презаписаните подавания не може да бъде създаден"
+
+#: git-rebase--interactive.sh:1282
+#, sh-format
+msgid "Rebase $shortrevisions onto $shortonto ($todocount command)"
+msgid_plural "Rebase $shortrevisions onto $shortonto ($todocount commands)"
+msgstr[0] ""
+"Пребазиране на $shortrevisions върху $shortonto ($todocount команда)"
+msgstr[1] ""
+"Пребазиране на $shortrevisions върху $shortonto ($todocount команди)"
+
+#: git-rebase--interactive.sh:1287
+msgid ""
+"\n"
+"However, if you remove everything, the rebase will be aborted.\n"
+"\n"
+msgstr ""
+"\n"
+"Ако изтриете всичко, пребазирането ще бъде преустановено.\n"
+"\n"
+
+#: git-rebase--interactive.sh:1294
+msgid "Note that empty commits are commented out"
+msgstr "Празните подавания са коментирани"
+
+#: git-sh-setup.sh:89 git-sh-setup.sh:94
+#, sh-format
+msgid "usage: $dashless $USAGE"
+msgstr "Употреба: $dashless $USAGE"
+
+#: git-sh-setup.sh:190
+#, sh-format
+msgid "Cannot chdir to $cdup, the toplevel of the working tree"
+msgstr ""
+"Не може да се премине към „$cdup“ — основната директория на работното дърво."
+
+#: git-sh-setup.sh:199 git-sh-setup.sh:206
+#, sh-format
+msgid "fatal: $program_name cannot be used without a working tree."
+msgstr ""
+"ФАТАЛНА ГРЕШКА: „$program_name“ не може да се ползва без работно дърво."
+
+#: git-sh-setup.sh:220
+msgid "Cannot rebase: You have unstaged changes."
+msgstr "Не може да пребазирате, защото има промени, които не са в индекса."
+
+#: git-sh-setup.sh:223
+msgid "Cannot rewrite branches: You have unstaged changes."
+msgstr ""
+"Не може да презапишете клоните, защото има промени, които не са в индекса."
+
+#: git-sh-setup.sh:226
+msgid "Cannot pull with rebase: You have unstaged changes."
+msgstr ""
+"Не можете да издърпвате при това пребазиране, защото има промени, които не "
+"са в индекса."
+
+#: git-sh-setup.sh:229
+#, sh-format
+msgid "Cannot $action: You have unstaged changes."
+msgstr ""
+"Не можете да изпълните „$action“, защото има промени, които не са в индекса."
+
+#: git-sh-setup.sh:242
+msgid "Cannot rebase: Your index contains uncommitted changes."
+msgstr "Не може да пребазирате, защото в индекса има неподадени промени."
+
+#: git-sh-setup.sh:245
+msgid "Cannot pull with rebase: Your index contains uncommitted changes."
+msgstr ""
+"Не можете да издърпвате при това пребазиране, защото в индекса има "
+"неподадени промени."
+
+#: git-sh-setup.sh:248
+#, sh-format
+msgid "Cannot $action: Your index contains uncommitted changes."
+msgstr ""
+"Не можете да изпълните „$action“, защото в индекса има неподадени промени."
+
+#: git-sh-setup.sh:252
+msgid "Additionally, your index contains uncommitted changes."
+msgstr "Освен това в индекса има неподадени промени."
+
+#: git-sh-setup.sh:372
+msgid "You need to run this command from the toplevel of the working tree."
+msgstr ""
+"Тази команда трябва да се изпълни от основната директория на работното дърво"
+
+#: git-sh-setup.sh:377
+msgid "Unable to determine absolute path of git directory"
+msgstr "Абсолютният път на работното дърво не може да се определи"
diff --git a/po/ca.po b/po/ca.po
index 57d0e2f..1b48a9e 100644
--- a/po/ca.po
+++ b/po/ca.po
@@ -1,22 +1,58 @@
+
 # Catalan translations for Git.
 # Copyright (C) 2014 Alex Henrie <alexhenrie24@gmail.com>
 # This file is distributed under the same license as the Git package.
-# Alex Henrie <alexhenrie24@gmail.com>, 2014.
+# Alex Henrie <alexhenrie24@gmail.com>, 2014-2016.
+# Jordi Mas i Hernàndez <jmas@softcatala.org>, 2016-2017
 #
+# Terminologia i criteris utilitzats 
+#
+#   Anglès           |  Català
+#   -----------------+---------------------------------
+#   amend            |  esmenar
+#   broken           |  malmès
+#   dry              |  simulació
+#   deprecated       |  en desús
+#   hunk             |  tros
+#   not supported    |  no està admès
+#   repository       |  dipòsit
+#   skip             |  ometre
+#   token            |  testimoni
+#
+# Alguns termes que són comandes específiques del git i d'àmbit molt tècnic
+# hem decidit no traduir-los per facilitar-ne la compressió a l'usuari i perquè
+# no tenen una transcendència al gran públic. Es tracta de casos similars
+# a «ping» en l'àmbit de xarxes.
+#
+# Termes que mantenim en anglès:
+#
+#
+#   Anglès           |  Català
+#   -----------------+---------------------------------
+#   blame            |  «blame»
+#   HEAD             |  HEAD (f, la branca)
+#   cherry pick      |  «cherry pick»
+#   rebase           |  «rebase»
+#   stage            |  «stage»
+#   squash           |  «squash»
+#   unstage          |  «unstage»
+
+
+
 msgid ""
 msgstr ""
 "Project-Id-Version: Git\n"
 "Report-Msgid-Bugs-To: Git Mailing List <git@vger.kernel.org>\n"
-"POT-Creation-Date: 2016-11-25 22:50+0800\n"
-"PO-Revision-Date: 2016-11-28 20:03-0700\n"
-"Last-Translator: Alex Henrie <alexhenrie24@gmail.com>\n"
+"POT-Creation-Date: 2017-02-18 01:00+0800\n"
+"PO-Revision-Date: 2017-02-16 19:55+0100\n"
+"Last-Translator: Jordi Mas <jmas@softcatala.org>\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.8.11\n"
+"X-Generator: Poedit 1.8.9\n"
 
 #: advice.c:55
 #, c-format
@@ -25,7 +61,7 @@
 
 #: advice.c:83
 msgid "Cherry-picking is not possible because you have unmerged files."
-msgstr "Recollir cireres no és possible perquè teniu fitxers no fusionats."
+msgstr "Fer «cherry pick» no és possible perquè teniu fitxers no fusionats."
 
 #: advice.c:85
 msgid "Committing is not possible because you have unmerged files."
@@ -37,7 +73,7 @@
 
 #: advice.c:89
 msgid "Pulling is not possible because you have unmerged files."
-msgstr "Baixar no es possible perquè teniu fitxers no fusionats."
+msgstr "Baixar no és possible perquè teniu fitxers no fusionats."
 
 #: advice.c:91
 msgid "Reverting is not possible because you have unmerged files."
@@ -46,7 +82,7 @@
 #: advice.c:93
 #, c-format
 msgid "It is not possible to %s because you have unmerged files."
-msgstr "No es possible %s perquè teniu fitxers no fusionats."
+msgstr "No és possible %s perquè teniu fitxers no fusionats."
 
 #: advice.c:101
 msgid ""
@@ -61,7 +97,7 @@
 msgid "Exiting because of an unresolved conflict."
 msgstr "S'està sortint a causa d'un conflicte no resolt."
 
-#: advice.c:114 builtin/merge.c:1181
+#: advice.c:114 builtin/merge.c:1206
 msgid "You have not concluded your merge (MERGE_HEAD exists)."
 msgstr "No heu conclòs la vostra fusió (MERGE_HEAD existeix)."
 
@@ -91,7 +127,7 @@
 "Avís: s'està agafant '%s'.\n"
 "\n"
 "Esteu en un estat de 'HEAD separat'. Podeu mirar al voltant, fer canvis\n"
-"experimentals i cometre-los i podeu descartar qualsevulla comissió que feu\n"
+"experimentals i cometre-los i podeu descartar qualsevol comissió que feu\n"
 "en aquest estat sense impactar cap branca realitzant un altre agafament.\n"
 "\n"
 "Si voleu crear una branca nova per a conservar les comissions que creeu,\n"
@@ -108,7 +144,7 @@
 #: apply.c:73
 #, c-format
 msgid "unrecognized whitespace ignore option '%s'"
-msgstr "opció d'ignoral d'espai en blanc '%s' no reconeguda"
+msgstr "opció d'ignora l'espai en blanc '%s' no reconeguda"
 
 #: apply.c:125
 msgid "--reject and --3way cannot be used together."
@@ -242,34 +278,34 @@
 msgid "patch with only garbage at line %d"
 msgstr "pedaç amb només escombraries a la línia %d"
 
-#: apply.c:2274
+#: apply.c:2265
 #, c-format
 msgid "unable to read symlink %s"
 msgstr "no s'ha pogut llegir l'enllaç simbòlic %s"
 
-#: apply.c:2278
+#: apply.c:2269
 #, c-format
 msgid "unable to open or read %s"
 msgstr "no s'ha pogut obrir o llegir %s"
 
-#: apply.c:2931
+#: apply.c:2922
 #, c-format
 msgid "invalid start of line: '%c'"
 msgstr "inici de línia no vàlid: '%c'"
 
-#: apply.c:3050
+#: apply.c:3041
 #, c-format
 msgid "Hunk #%d succeeded at %d (offset %d line)."
 msgid_plural "Hunk #%d succeeded at %d (offset %d lines)."
 msgstr[0] "El tros #%d ha tingut èxit a %d (desplaçament d'%d línia)."
 msgstr[1] "El tros #%d ha tingut èxit a %d (desplaçament de %d línies)."
 
-#: apply.c:3062
+#: apply.c:3053
 #, c-format
 msgid "Context reduced to (%ld/%ld) to apply fragment at %d"
 msgstr "El context s'ha reduït a (%ld/%ld) per a aplicar el fragment a %d"
 
-#: apply.c:3068
+#: apply.c:3059
 #, c-format
 msgid ""
 "while searching for:\n"
@@ -278,23 +314,23 @@
 "tot cercant:\n"
 "%.*s"
 
-#: apply.c:3090
+#: apply.c:3081
 #, c-format
 msgid "missing binary patch data for '%s'"
 msgstr "manquen les dades de pedaç binari de '%s'"
 
-#: apply.c:3098
+#: apply.c:3089
 #, c-format
 msgid "cannot reverse-apply a binary patch without the reverse hunk to '%s'"
 msgstr "no es pot aplicar al revés un pedaç binari sense el tros revés a '%s'"
 
-#: apply.c:3144
+#: apply.c:3135
 #, c-format
 msgid "cannot apply binary patch to '%s' without full index line"
 msgstr ""
 "no es pot aplicar un pedaç binari a '%s' sense la línia d'índex completa"
 
-#: apply.c:3154
+#: apply.c:3145
 #, c-format
 msgid ""
 "the patch applies to '%s' (%s), which does not match the current contents."
@@ -302,426 +338,427 @@
 "el pedaç s'aplica a '%s' (%s), el qual no coincideix amb els continguts "
 "actuals."
 
-#: apply.c:3162
+#: apply.c:3153
 #, c-format
 msgid "the patch applies to an empty '%s' but it is not empty"
 msgstr "el pedaç s'aplica a un '%s' buit però no és buit"
 
-#: apply.c:3180
+#: apply.c:3171
 #, c-format
 msgid "the necessary postimage %s for '%s' cannot be read"
-msgstr "no es pot llegir la postimatge necessari %s per a '%s'"
+msgstr "no es pot llegir la postimatge %s necessària per a '%s'"
 
-#: apply.c:3193
+#: apply.c:3184
 #, c-format
 msgid "binary patch does not apply to '%s'"
 msgstr "el pedaç binari no s'aplica a '%s'"
 
-#: apply.c:3199
+#: apply.c:3190
 #, c-format
 msgid "binary patch to '%s' creates incorrect result (expecting %s, got %s)"
 msgstr ""
 "el pedaç binari a '%s' crea un resultat incorrecte (esperant %s, %s rebut)"
 
-#: apply.c:3220
+#: apply.c:3211
 #, c-format
 msgid "patch failed: %s:%ld"
 msgstr "el pedaç ha fallat: %s:%ld"
 
-#: apply.c:3342
+#: apply.c:3333
 #, c-format
 msgid "cannot checkout %s"
 msgstr "no es pot agafar %s"
 
-#: apply.c:3390 apply.c:3401 apply.c:3447 setup.c:248
+#: apply.c:3381 apply.c:3392 apply.c:3438 setup.c:248
 #, c-format
 msgid "failed to read %s"
-msgstr "s'ha fallat en llegir %s"
+msgstr "s'ha produït un error en llegir %s"
 
-#: apply.c:3398
+#: apply.c:3389
 #, c-format
 msgid "reading from '%s' beyond a symbolic link"
 msgstr "s'està llegint de '%s' més enllà d'un enllaç simbòlic"
 
-#: apply.c:3427 apply.c:3667
+#: apply.c:3418 apply.c:3658
 #, c-format
 msgid "path %s has been renamed/deleted"
 msgstr "el camí %s s'ha canviat de nom / s'ha suprimit"
 
-#: apply.c:3510 apply.c:3681
+#: apply.c:3501 apply.c:3672
 #, c-format
 msgid "%s: does not exist in index"
 msgstr "%s: no existeix en l'índex"
 
-#: apply.c:3519 apply.c:3689
+#: apply.c:3510 apply.c:3680
 #, c-format
 msgid "%s: does not match index"
 msgstr "%s: no coincideix amb l'índex"
 
-#: apply.c:3554
+#: apply.c:3545
 msgid "repository lacks the necessary blob to fall back on 3-way merge."
 msgstr ""
 "al dipòsit li manca el blob necessari per a retrocedir a una fusió de 3 vies."
 
-#: apply.c:3557
+#: apply.c:3548
 #, c-format
 msgid "Falling back to three-way merge...\n"
 msgstr "S'està retrocedint a una fusió de 3 vies...\n"
 
-#: apply.c:3573 apply.c:3577
+#: apply.c:3564 apply.c:3568
 #, c-format
 msgid "cannot read the current contents of '%s'"
 msgstr "no es poden llegir els continguts actuals de '%s'"
 
-#: apply.c:3589
+#: apply.c:3580
 #, c-format
 msgid "Failed to fall back on three-way merge...\n"
-msgstr "S'ha fallat en retrocedir a una fusió de 3 vies...\n"
+msgstr "S'ha produït un error en retrocedir a una fusió de 3 vies...\n"
 
-#: apply.c:3603
+#: apply.c:3594
 #, c-format
 msgid "Applied patch to '%s' with conflicts.\n"
 msgstr "S'ha aplicat el pedaç a '%s' amb conflictes.\n"
 
-#: apply.c:3608
+#: apply.c:3599
 #, c-format
 msgid "Applied patch to '%s' cleanly.\n"
 msgstr "S'ha aplicat el pedaç a '%s' netament.\n"
 
-#: apply.c:3634
+#: apply.c:3625
 msgid "removal patch leaves file contents"
 msgstr "el pedaç d'eliminació deixa els continguts dels fitxers"
 
-#: apply.c:3706
+#: apply.c:3697
 #, c-format
 msgid "%s: wrong type"
 msgstr "%s: tipus erroni"
 
-#: apply.c:3708
+#: apply.c:3699
 #, c-format
 msgid "%s has type %o, expected %o"
 msgstr "%s és del tipus %o, s'esperava %o"
 
-#: apply.c:3859 apply.c:3861
+#: apply.c:3850 apply.c:3852
 #, c-format
 msgid "invalid path '%s'"
 msgstr "camí no vàlid: %s"
 
-#: apply.c:3917
+#: apply.c:3908
 #, c-format
 msgid "%s: already exists in index"
 msgstr "%s: ja existeix en l'índex"
 
-#: apply.c:3920
+#: apply.c:3911
 #, c-format
 msgid "%s: already exists in working directory"
 msgstr "%s: ja existeix en el directori de treball"
 
-#: apply.c:3940
+#: apply.c:3931
 #, c-format
 msgid "new mode (%o) of %s does not match old mode (%o)"
 msgstr "el mode nou (%o) de %s no coincideix amb el mode antic (%o)"
 
-#: apply.c:3945
+#: apply.c:3936
 #, c-format
 msgid "new mode (%o) of %s does not match old mode (%o) of %s"
 msgstr "el mode nou (%o) de %s no coincideix amb el mode antic (%o) de %s"
 
-#: apply.c:3965
+#: apply.c:3956
 #, c-format
 msgid "affected file '%s' is beyond a symbolic link"
 msgstr "el fitxer afectat '%s' és més enllà d'un enllaç simbòlic"
 
-#: apply.c:3969
+#: apply.c:3960
 #, c-format
 msgid "%s: patch does not apply"
 msgstr "%s: el pedaç no s'aplica"
 
-#: apply.c:3984
+#: apply.c:3975
 #, c-format
 msgid "Checking patch %s..."
 msgstr "S'està comprovant el pedaç %s..."
 
-#: apply.c:4075
+#: apply.c:4066
 #, c-format
 msgid "sha1 information is lacking or useless for submodule %s"
 msgstr "falta la informació sha1 o és inútil per al submòdul %s"
 
-#: apply.c:4082
+#: apply.c:4073
 #, c-format
 msgid "mode change for %s, which is not in current HEAD"
 msgstr "canvi de mode per a %s, el qual no està en el HEAD actual"
 
-#: apply.c:4085
+#: apply.c:4076
 #, c-format
 msgid "sha1 information is lacking or useless (%s)."
 msgstr "falta informació sha1 o és inútil (%s)."
 
-#: apply.c:4090 builtin/checkout.c:233 builtin/reset.c:135
+#: apply.c:4081 builtin/checkout.c:233 builtin/reset.c:135
 #, c-format
 msgid "make_cache_entry failed for path '%s'"
 msgstr "make_cache_entry ha fallat per al camí '%s'"
 
-#: apply.c:4094
+#: apply.c:4085
 #, c-format
 msgid "could not add %s to temporary index"
-msgstr "no s'ha pogut afegir %s a l'index temporal"
+msgstr "no s'ha pogut afegir %s a l'índex temporal"
 
-#: apply.c:4104
+#: apply.c:4095
 #, c-format
 msgid "could not write temporary index to %s"
 msgstr "no s'ha pogut escriure l'índex temporal a %s"
 
-#: apply.c:4242
+#: apply.c:4233
 #, c-format
 msgid "unable to remove %s from index"
 msgstr "no s'ha pogut eliminar %s de l'índex"
 
-#: apply.c:4277
+#: apply.c:4268
 #, c-format
 msgid "corrupt patch for submodule %s"
 msgstr "pedaç malmès per al submòdul %s"
 
-#: apply.c:4283
+#: apply.c:4274
 #, c-format
 msgid "unable to stat newly created file '%s'"
 msgstr "no s'ha pogut fer stat al fitxer novament creat '%s'"
 
-#: apply.c:4291
+#: apply.c:4282
 #, c-format
 msgid "unable to create backing store for newly created file %s"
 msgstr ""
 "no s'ha pogut crear un magatzem de recolzament per al fitxer novament creat "
 "%s"
 
-#: apply.c:4297 apply.c:4441
+#: apply.c:4288 apply.c:4432
 #, c-format
 msgid "unable to add cache entry for %s"
 msgstr "no s'ha pogut afegir una entrada de cau per a %s"
 
-#: apply.c:4338
+#: apply.c:4329
 #, c-format
 msgid "failed to write to '%s'"
-msgstr "s'ha fallat en escriure a '%s'"
+msgstr "no s'ha pogut escriure a '%s'"
 
-#: apply.c:4342
+#: apply.c:4333
 #, c-format
 msgid "closing file '%s'"
 msgstr "s'està tancant el fitxer '%s'"
 
-#: apply.c:4412
+#: apply.c:4403
 #, c-format
 msgid "unable to write file '%s' mode %o"
 msgstr "no s'ha pogut escriure el fitxer '%s' mode %o"
 
-#: apply.c:4510
+#: apply.c:4501
 #, c-format
 msgid "Applied patch %s cleanly."
 msgstr "El pedaç %s s'ha aplicat netament."
 
-#: apply.c:4518
+#: apply.c:4509
 msgid "internal error"
 msgstr "error intern"
 
-#: apply.c:4521
+#: apply.c:4512
 #, c-format
 msgid "Applying patch %%s with %d reject..."
 msgid_plural "Applying patch %%s with %d rejects..."
 msgstr[0] "S'està aplicant el pedaç %%s amb %d rebuig..."
-msgstr[1] "S'està aplicant el pedaç %%s amb %d rebuitjos..."
+msgstr[1] "S'està aplicant el pedaç %%s amb %d rebutjos..."
 
-#: apply.c:4532
+#: apply.c:4523
 #, c-format
 msgid "truncating .rej filename to %.*s.rej"
 msgstr "s'està truncant el nom del fitxer .rej a %.*s.rej"
 
-#: apply.c:4540 builtin/fetch.c:740 builtin/fetch.c:989
+#: apply.c:4531 builtin/fetch.c:737 builtin/fetch.c:986
 #, c-format
 msgid "cannot open %s"
 msgstr "no es pot obrir %s"
 
-#: apply.c:4554
+#: apply.c:4545
 #, c-format
 msgid "Hunk #%d applied cleanly."
 msgstr "El tros #%d s'ha aplicat netament."
 
-#: apply.c:4558
+#: apply.c:4549
 #, c-format
 msgid "Rejected hunk #%d."
 msgstr "S'ha rebutjat el tros #%d."
 
-#: apply.c:4668
+#: apply.c:4659
 #, c-format
 msgid "Skipped patch '%s'."
-msgstr "S'ha saltat el pedaç '%s'."
+msgstr "S'ha omès el pedaç '%s'."
 
-#: apply.c:4676
+#: apply.c:4667
 msgid "unrecognized input"
 msgstr "entrada no reconeguda"
 
-#: apply.c:4695
+#: apply.c:4686
 msgid "unable to read index file"
 msgstr "no es pot llegir el fitxer d'índex"
 
-#: apply.c:4833
+#: apply.c:4824
 #, c-format
 msgid "can't open patch '%s': %s"
 msgstr "no es pot obrir el pedaç '%s': %s"
 
-#: apply.c:4858
+#: apply.c:4849
 #, c-format
 msgid "squelched %d whitespace error"
 msgid_plural "squelched %d whitespace errors"
 msgstr[0] "s'ha omès %d error d'espai en blanc"
 msgstr[1] "s'han omès %d errors d'espai en blanc"
 
-#: apply.c:4864 apply.c:4879
+#: apply.c:4855 apply.c:4870
 #, c-format
 msgid "%d line adds whitespace errors."
 msgid_plural "%d lines add whitespace errors."
 msgstr[0] "%d línia afegeix errors d'espai en blanc."
 msgstr[1] "%d línies afegeixen errors d'espai en blanc."
 
-#: apply.c:4872
+#: apply.c:4863
 #, c-format
 msgid "%d line applied after fixing whitespace errors."
 msgid_plural "%d lines applied after fixing whitespace errors."
 msgstr[0] ""
-"S'ha aplicat %d línia desprès d'arreglar els errors d'espai en blanc."
+"S'ha aplicat %d línia després d'arreglar els errors d'espai en blanc."
 msgstr[1] ""
-"S'han aplicat %d línies desprès d'arreglar els errors d'espai en blanc."
+"S'han aplicat %d línies després d'arreglar els errors d'espai en blanc."
 
-#: apply.c:4888 builtin/add.c:463 builtin/mv.c:286 builtin/rm.c:431
+#: apply.c:4879 builtin/add.c:463 builtin/mv.c:298 builtin/rm.c:391
 msgid "Unable to write new index file"
-msgstr "no s'ha pogut escriure un fitxer d'índex nou"
+msgstr "No s'ha pogut escriure un fitxer d'índex nou"
 
-#: apply.c:4919 apply.c:4922 builtin/am.c:2277 builtin/am.c:2280
+#: apply.c:4910 apply.c:4913 builtin/am.c:2277 builtin/am.c:2280
 #: builtin/clone.c:95 builtin/fetch.c:98 builtin/pull.c:180
-#: builtin/submodule--helper.c:281 builtin/submodule--helper.c:407
-#: builtin/submodule--helper.c:589 builtin/submodule--helper.c:592
-#: builtin/submodule--helper.c:944 builtin/submodule--helper.c:947
+#: builtin/submodule--helper.c:281 builtin/submodule--helper.c:591
+#: builtin/submodule--helper.c:594 builtin/submodule--helper.c:960
+#: builtin/submodule--helper.c:963 builtin/submodule--helper.c:1104
+#: git-add--interactive.perl:239
 msgid "path"
 msgstr "camí"
 
-#: apply.c:4920
+#: apply.c:4911
 msgid "don't apply changes matching the given path"
 msgstr "no apliquis els canvis que coincideixin amb el camí donat"
 
-#: apply.c:4923
+#: apply.c:4914
 msgid "apply changes matching the given path"
 msgstr "aplica els canvis que coincideixin amb el camí donat"
 
-#: apply.c:4925 builtin/am.c:2286
+#: apply.c:4916 builtin/am.c:2286
 msgid "num"
 msgstr "número"
 
-#: apply.c:4926
+#: apply.c:4917
 msgid "remove <num> leading slashes from traditional diff paths"
 msgstr ""
 "elimina <nombre> barres obliqües inicials dels camins de diferència "
 "tradicionals"
 
-#: apply.c:4929
+#: apply.c:4920
 msgid "ignore additions made by the patch"
 msgstr "ignora afegiments fets pel pedaç"
 
-#: apply.c:4931
+#: apply.c:4922
 msgid "instead of applying the patch, output diffstat for the input"
 msgstr ""
 "en lloc d'aplicar el pedaç, emet les estadístiques de diferència de l'entrada"
 
-#: apply.c:4935
+#: apply.c:4926
 msgid "show number of added and deleted lines in decimal notation"
 msgstr "mostra el nombre de línies afegides i suprimides en notació decimal"
 
-#: apply.c:4937
+#: apply.c:4928
 msgid "instead of applying the patch, output a summary for the input"
 msgstr "en lloc d'aplicar el pedaç, emet un resum de l'entrada"
 
-#: apply.c:4939
+#: apply.c:4930
 msgid "instead of applying the patch, see if the patch is applicable"
 msgstr "en lloc d'aplicar el pedaç, veges si el pedaç és aplicable"
 
-#: apply.c:4941
+#: apply.c:4932
 msgid "make sure the patch is applicable to the current index"
 msgstr "assegura que el pedaç sigui aplicable a l'índex actual"
 
-#: apply.c:4943
+#: apply.c:4934
 msgid "apply a patch without touching the working tree"
 msgstr "aplica un pedaç sense tocar l'arbre de treball"
 
-#: apply.c:4945
+#: apply.c:4936
 msgid "accept a patch that touches outside the working area"
 msgstr "accepta un pedaç que toqui fora de l'àrea de treball"
 
-#: apply.c:4947
+#: apply.c:4938
 msgid "also apply the patch (use with --stat/--summary/--check)"
 msgstr "aplica el pedaç també (useu amb --stat/--summary/--check)"
 
-#: apply.c:4949
+#: apply.c:4940
 msgid "attempt three-way merge if a patch does not apply"
 msgstr "intenta una fusió de tres vies si el pedaç no s'aplica"
 
-#: apply.c:4951
+#: apply.c:4942
 msgid "build a temporary index based on embedded index information"
 msgstr "construeix un índex temporal basat en la informació d'índex incrustada"
 
-#: apply.c:4954 builtin/checkout-index.c:169 builtin/ls-files.c:505
+#: apply.c:4945 builtin/checkout-index.c:169 builtin/ls-files.c:507
 msgid "paths are separated with NUL character"
 msgstr "els camins se separen amb el caràcter NUL"
 
-#: apply.c:4956
+#: apply.c:4947
 msgid "ensure at least <n> lines of context match"
 msgstr "assegura't que almenys <n> línies de context coincideixin"
 
-#: apply.c:4957 builtin/am.c:2265
+#: apply.c:4948 builtin/am.c:2265
 msgid "action"
 msgstr "acció"
 
-#: apply.c:4958
+#: apply.c:4949
 msgid "detect new or modified lines that have whitespace errors"
 msgstr ""
 "detecta les línies noves o modificades que tinguin errors d'espai en blanc"
 
-#: apply.c:4961 apply.c:4964
+#: apply.c:4952 apply.c:4955
 msgid "ignore changes in whitespace when finding context"
 msgstr "ignora els canvis d'espai en blanc en cercar context"
 
-#: apply.c:4967
+#: apply.c:4958
 msgid "apply the patch in reverse"
 msgstr "aplica el pedaç al revés"
 
-#: apply.c:4969
+#: apply.c:4960
 msgid "don't expect at least one line of context"
 msgstr "no esperis almenys una línia de context"
 
-#: apply.c:4971
+#: apply.c:4962
 msgid "leave the rejected hunks in corresponding *.rej files"
-msgstr "deixa els trossos rebutjats en fitxers *.reg corresponents"
+msgstr "deixa els trossos rebutjats en fitxers *.rej corresponents"
 
-#: apply.c:4973
+#: apply.c:4964
 msgid "allow overlapping hunks"
 msgstr "permet trossos encavalcants"
 
-#: apply.c:4974 builtin/add.c:267 builtin/check-ignore.c:19
-#: builtin/commit.c:1339 builtin/count-objects.c:94 builtin/fsck.c:593
-#: builtin/log.c:1860 builtin/mv.c:110 builtin/read-tree.c:114
+#: apply.c:4965 builtin/add.c:267 builtin/check-ignore.c:19
+#: builtin/commit.c:1337 builtin/count-objects.c:94 builtin/fsck.c:651
+#: builtin/log.c:1860 builtin/mv.c:122 builtin/read-tree.c:114
 msgid "be verbose"
 msgstr "sigues detallat"
 
-#: apply.c:4976
+#: apply.c:4967
 msgid "tolerate incorrectly detected missing new-line at the end of file"
 msgstr "tolera una línia nova incorrectament detectada al final del fitxer"
 
-#: apply.c:4979
+#: apply.c:4970
 msgid "do not trust the line counts in the hunk headers"
 msgstr "no confiïs en els recomptes de línia en les capçaleres dels trossos"
 
-#: apply.c:4981 builtin/am.c:2274
+#: apply.c:4972 builtin/am.c:2274
 msgid "root"
 msgstr "arrel"
 
-#: apply.c:4982
+#: apply.c:4973
 msgid "prepend <root> to all filenames"
 msgstr "anteposa <arrel> a tots els noms de fitxer"
 
@@ -744,7 +781,7 @@
 msgid "git archive --remote <repo> [--exec <cmd>] --list"
 msgstr "git archive --remote <dipòsit> [--exec <ordre>] --list"
 
-#: archive.c:344 builtin/add.c:152 builtin/add.c:442 builtin/rm.c:327
+#: archive.c:344 builtin/add.c:152 builtin/add.c:442 builtin/rm.c:300
 #, c-format
 msgid "pathspec '%s' did not match any files"
 msgstr "l'especificació de camí '%s' no ha coincidit amb cap fitxer"
@@ -765,9 +802,9 @@
 msgid "prepend prefix to each pathname in the archive"
 msgstr "anteposa el prefix a cada nom de camí en l'arxiu"
 
-#: archive.c:432 builtin/blame.c:2603 builtin/blame.c:2604 builtin/config.c:59
-#: builtin/fast-export.c:987 builtin/fast-export.c:989 builtin/grep.c:723
-#: builtin/hash-object.c:101 builtin/ls-files.c:539 builtin/ls-files.c:542
+#: archive.c:432 builtin/blame.c:2607 builtin/blame.c:2608 builtin/config.c:59
+#: builtin/fast-export.c:987 builtin/fast-export.c:989 builtin/grep.c:1054
+#: builtin/hash-object.c:101 builtin/ls-files.c:541 builtin/ls-files.c:544
 #: builtin/notes.c:401 builtin/notes.c:564 builtin/read-tree.c:109
 #: parse-options.h:153
 msgid "file"
@@ -799,10 +836,10 @@
 
 #: archive.c:449
 msgid "list supported archive formats"
-msgstr "allista els formats d'arxiu admesos"
+msgstr "llista els formats d'arxiu admesos"
 
 #: archive.c:451 builtin/archive.c:90 builtin/clone.c:85 builtin/clone.c:88
-#: builtin/submodule--helper.c:601 builtin/submodule--helper.c:953
+#: builtin/submodule--helper.c:603 builtin/submodule--helper.c:969
 msgid "repo"
 msgstr "dipòsit"
 
@@ -856,7 +893,7 @@
 #: bisect.c:446
 #, c-format
 msgid "Badly quoted content in file '%s': %s"
-msgstr "Comentari amb cometes dolentes en el fitxer '%s': %s"
+msgstr "Comentari amb cometes errònies en el fitxer '%s': %s"
 
 #: bisect.c:655
 #, c-format
@@ -874,7 +911,7 @@
 "The merge base %s is bad.\n"
 "This means the bug has been fixed between %s and [%s].\n"
 msgstr ""
-"La base de fusió %s és dolenta.\n"
+"La base de fusió %s és errònia.\n"
 "Això vol dir que el defecte s'ha arreglat entre %s i [%s].\n"
 
 #: bisect.c:737
@@ -898,11 +935,11 @@
 #: bisect.c:750
 #, c-format
 msgid ""
-"Some %s revs are not ancestor of the %s rev.\n"
+"Some %s revs are not ancestors of the %s rev.\n"
 "git bisect cannot work properly in this case.\n"
 "Maybe you mistook %s and %s revs?\n"
 msgstr ""
-"Unes revisions %s no són els avantpassats de la revisió %s.\n"
+"Algunes revisions %s no són els avantpassats de la revisió %s.\n"
 "git bisect no pot funcionar correctament en aquest cas.\n"
 "Potser heu confós les revisions %s i %s?\n"
 
@@ -913,7 +950,7 @@
 "So we cannot be sure the first %s commit is between %s and %s.\n"
 "We continue anyway."
 msgstr ""
-"s'ha de saltar la base de fusió entre %s i [%s].\n"
+"s'ha d'ometre la base de fusió entre %s i [%s].\n"
 "Llavors, no podem estar segurs de que la primera comissió %s sigui entre %s "
 "i %s.\n"
 "Continuem de totes maneres."
@@ -928,7 +965,7 @@
 msgid "a %s revision is needed"
 msgstr "es necessita una revisió %s"
 
-#: bisect.c:866 builtin/notes.c:174 builtin/tag.c:248
+#: bisect.c:866 builtin/notes.c:174 builtin/tag.c:262
 #, c-format
 msgid "could not create file '%s'"
 msgstr "no s'ha pogut crear el fitxer '%s'"
@@ -953,7 +990,7 @@
 "No testable commit found.\n"
 "Maybe you started with bad path parameters?\n"
 msgstr ""
-"No s'ha trobat cap comissió provable.\n"
+"No s'ha trobat cap comissió probable.\n"
 "Potser heu començat amb paràmetres de camí dolents?\n"
 
 #: bisect.c:994
@@ -1128,7 +1165,7 @@
 msgid "unrecognized header: %s%s (%d)"
 msgstr "capçalera no reconeguda: %s%s (%d)"
 
-#: bundle.c:87 sequencer.c:963 builtin/commit.c:777
+#: bundle.c:87 sequencer.c:1331 sequencer.c:1752 builtin/commit.c:777
 #, c-format
 msgid "could not open '%s'"
 msgstr "no s'ha pogut obrir '%s'"
@@ -1137,10 +1174,10 @@
 msgid "Repository lacks these prerequisite commits:"
 msgstr "Al dipòsit li manquen aquestes comissions prerequisits:"
 
-#: bundle.c:163 ref-filter.c:1462 sequencer.c:830 sequencer.c:1374
-#: builtin/blame.c:2814 builtin/commit.c:1061 builtin/log.c:348
+#: bundle.c:163 ref-filter.c:1499 sequencer.c:1154 sequencer.c:2290
+#: builtin/blame.c:2820 builtin/commit.c:1061 builtin/log.c:348
 #: builtin/log.c:890 builtin/log.c:1340 builtin/log.c:1666 builtin/log.c:1909
-#: builtin/merge.c:356 builtin/shortlog.c:170
+#: builtin/merge.c:360 builtin/shortlog.c:177
 msgid "revision walk setup failed"
 msgstr "la configuració del passeig per revisions ha fallat"
 
@@ -1179,7 +1216,7 @@
 msgid "ref '%s' is excluded by the rev-list options"
 msgstr "les opcions de la llista de revisions exclouen la referència '%s'"
 
-#: bundle.c:443 builtin/log.c:165 builtin/log.c:1572 builtin/shortlog.c:273
+#: bundle.c:443 builtin/log.c:165 builtin/log.c:1572 builtin/shortlog.c:282
 #, c-format
 msgid "unrecognized argument: %s"
 msgstr "paràmetre no reconegut: %s"
@@ -1197,13 +1234,13 @@
 msgid "index-pack died"
 msgstr "L'index-pack s'ha mort"
 
-#: color.c:290
+#: color.c:300
 #, c-format
 msgid "invalid color value: %.*s"
 msgstr "valor de color no vàlid: %.*s"
 
-#: commit.c:40 builtin/am.c:421 builtin/am.c:457 builtin/am.c:1493
-#: builtin/am.c:2127
+#: commit.c:40 sequencer.c:1564 builtin/am.c:421 builtin/am.c:457
+#: builtin/am.c:1493 builtin/am.c:2127
 #, c-format
 msgid "could not parse %s"
 msgstr "no s'ha pogut analitzar %s"
@@ -1219,8 +1256,8 @@
 "You may want to amend it after fixing the message, or set the config\n"
 "variable i18n.commitencoding to the encoding your project uses.\n"
 msgstr ""
-"Advertència: el missatge de comissió no conformava a UTF-8.\n"
-"Potser voleu esemenar-lo després de corregir el missatge, o establir\n"
+"Advertència: el missatge de comissió no és compatible amb UTF-8.\n"
+"Potser voleu esmenar-lo després de corregir el missatge, o establir\n"
 "la variable de configuració i18n.commitencoding a la codificació que\n"
 "usi el vostre projecte.\n"
 
@@ -1228,128 +1265,138 @@
 msgid "memory exhausted"
 msgstr "memòria esgotada"
 
-#: config.c:516
+#: config.c:518
 #, c-format
 msgid "bad config line %d in blob %s"
-msgstr "línia de configuració dolenta %d en el blob %s"
+msgstr "línia de configuració %d errònia en el blob %s"
 
-#: config.c:520
+#: config.c:522
 #, c-format
 msgid "bad config line %d in file %s"
-msgstr "línia de configuració dolenta %d en el fitxer %s"
+msgstr "línia de configuració %d errònia en el fitxer %s"
 
-#: config.c:524
+#: config.c:526
 #, c-format
 msgid "bad config line %d in standard input"
-msgstr "línia de configuració dolenta %d en l'entrada estàndard"
+msgstr "línia de configuració %d errònia en l'entrada estàndard"
 
-#: config.c:528
+#: config.c:530
 #, c-format
 msgid "bad config line %d in submodule-blob %s"
-msgstr "línia de configuració dolenta %d en el blob de submòdul %s"
+msgstr "línia de configuració %d errònia en el blob de submòdul %s"
 
-#: config.c:532
+#: config.c:534
 #, c-format
 msgid "bad config line %d in command line %s"
-msgstr "línia de configuració dolenta %d en la línia d'ordres %s"
+msgstr "línia de configuració %d errònia en la línia d'ordres %s"
 
-#: config.c:536
+#: config.c:538
 #, c-format
 msgid "bad config line %d in %s"
-msgstr "línia de configuració dolenta %d en %s"
+msgstr "línia de configuració %d errònia en %s"
 
-#: config.c:655
+#: config.c:657
 msgid "out of range"
 msgstr "fora de rang"
 
-#: config.c:655
+#: config.c:657
 msgid "invalid unit"
 msgstr "unitat no vàlida"
 
-#: config.c:661
+#: config.c:663
 #, c-format
 msgid "bad numeric config value '%s' for '%s': %s"
-msgstr "valor de configuració numèric dolent '%s' per '%s': %s"
+msgstr "valor de configuració numèric erroni '%s' per '%s': %s"
 
-#: config.c:666
+#: config.c:668
 #, c-format
 msgid "bad numeric config value '%s' for '%s' in blob %s: %s"
-msgstr "valor de configuració numèric dolent '%s' per '%s' en el blob %s: %s"
+msgstr "valor de configuració numèric erroni '%s' per '%s' en el blob %s: %s"
 
-#: config.c:669
+#: config.c:671
 #, c-format
 msgid "bad numeric config value '%s' for '%s' in file %s: %s"
-msgstr "valor de configuració numèric dolent '%s' per '%s' en el fitxer %s: %s"
+msgstr "valor de configuració numèric '%s' erroni per '%s' en el fitxer %s: %s"
 
-#: config.c:672
+#: config.c:674
 #, c-format
 msgid "bad numeric config value '%s' for '%s' in standard input: %s"
 msgstr ""
-"valor de configuració numèric dolent '%s' per '%s' en l'entrada estàndard: %s"
+"valor de configuració numèric '%s' erroni per '%s' en l'entrada estàndard: %s"
 
-#: config.c:675
+#: config.c:677
 #, c-format
 msgid "bad numeric config value '%s' for '%s' in submodule-blob %s: %s"
 msgstr ""
-"valor de configuració numèric dolent '%s' per '%s' en el blob de submòdul "
+"valor de configuració numèric '%s' erroni' per '%s' en el blob de submòdul "
 "%s: %s"
 
-#: config.c:678
+#: config.c:680
 #, c-format
 msgid "bad numeric config value '%s' for '%s' in command line %s: %s"
 msgstr ""
-"valor de configuració numèric dolent '%s' per '%s' en la línia d'ordres %s: "
+"valor de configuració numèric '%s' erroni per '%s' en la línia d'ordres %s: "
 "%s"
 
-#: config.c:681
+#: config.c:683
 #, c-format
 msgid "bad numeric config value '%s' for '%s' in %s: %s"
 msgstr "valor de configuració numèric dolent '%s' per '%s' en %s: %s"
 
-#: config.c:768
+#: config.c:770
 #, c-format
 msgid "failed to expand user dir in: '%s'"
-msgstr "s'ha fallat en expandir el directori d'usuari en: '%s'"
+msgstr "s'ha produït un error en expandir el directori d'usuari en: '%s'"
 
-#: config.c:852 config.c:863
+#: config.c:865 config.c:876
 #, c-format
 msgid "bad zlib compression level %d"
 msgstr "nivell de compressió de zlib dolent %d"
 
-#: config.c:978
+#: config.c:993
 #, c-format
 msgid "invalid mode for object creation: %s"
 msgstr "mode de creació d'objecte no vàlid: %s"
 
-#: config.c:1312
+#: config.c:1149
+#, c-format
+msgid "bad pack compression level %d"
+msgstr "nivell de compressió de paquet %d Erroni"
+
+#: config.c:1339
 msgid "unable to parse command-line config"
 msgstr "no s'ha pogut analitzar la configuració de la línia d'ordres"
 
-#: config.c:1362
+#: config.c:1389
 msgid "unknown error occurred while reading the configuration files"
 msgstr "un error desconegut ha ocorregut en llegir els fitxers de configuració"
 
-#: config.c:1716
+#: config.c:1743
 #, c-format
 msgid "unable to parse '%s' from command-line config"
 msgstr "no s'ha pogut analitzar '%s' de la configuració de la línia d'ordres"
 
-#: config.c:1718
+#: config.c:1745
 #, c-format
 msgid "bad config variable '%s' in file '%s' at line %d"
-msgstr "variable de configuració dolenta '%s' en el fitxer '%s' a la línia %d"
+msgstr "variable de configuració '%s' errònia en el fitxer '%s' a la línia %d"
 
-#: config.c:1777
+#: config.c:1804
 #, c-format
 msgid "%s has multiple values"
 msgstr "%s té múltiples valors"
 
-#: config.c:2311
+#: config.c:2225 config.c:2450
+#, c-format
+msgid "fstat on %s failed"
+msgstr "ha fallat fstat a %s"
+
+#: config.c:2343
 #, c-format
 msgid "could not set '%s' to '%s'"
 msgstr "no s'ha pogut establir '%s' a '%s'"
 
-#: config.c:2313
+#: config.c:2345
 #, c-format
 msgid "could not unset '%s'"
 msgstr "no s'ha pogut desestablir '%s'"
@@ -1367,10 +1414,10 @@
 msgstr ""
 "No s'ha pogut llegir del dipòsit remot.\n"
 "\n"
-"Si us plau, assegureu-vos que tingueu els drets\n"
+"Si us plau, assegureu-vos que tingueu els permisos\n"
 "d'accés correctes i que el dipòsit existeixi."
 
-#: connected.c:63 builtin/fsck.c:173 builtin/prune.c:140
+#: connected.c:63 builtin/fsck.c:190 builtin/prune.c:140
 msgid "Checking connectivity"
 msgstr "S'està comprovant la connectivitat"
 
@@ -1384,7 +1431,7 @@
 
 #: connected.c:102
 msgid "failed to close rev-list's stdin"
-msgstr "s'ha fallat en tancar l'stdin del rev-list"
+msgstr "s'ha produït un error en tancar l'stdin del rev-list"
 
 #: convert.c:201
 #, c-format
@@ -1487,7 +1534,7 @@
 #: diffcore-order.c:24
 #, c-format
 msgid "failed to read orderfile '%s'"
-msgstr "s'ha fallat en llegir el fitxer d'ordres '%s'"
+msgstr "s'ha produït un error en llegir el fitxer d'ordres '%s'"
 
 #: diffcore-rename.c:536
 msgid "Performing inexact rename detection"
@@ -1501,20 +1548,22 @@
 #: diff.c:124
 #, c-format
 msgid "  Failed to parse dirstat cut-off percentage '%s'\n"
-msgstr "  S'ha fallat en analitzar el percentatge limitant de dirstat '%s'\n"
+msgstr ""
+"  S'ha produït un error en analitzar el percentatge limitant de dirstat "
+"'%s'\n"
 
 #: diff.c:129
 #, c-format
 msgid "  Unknown dirstat parameter '%s'\n"
 msgstr "  Paràmetre de dirstat desconegut '%s'\n"
 
-#: diff.c:283
+#: diff.c:281
 #, c-format
 msgid "Unknown value for 'diff.submodule' config variable: '%s'"
 msgstr ""
 "Valor desconegut de la variable de configuració de 'diff.submodule': '%s'"
 
-#: diff.c:346
+#: diff.c:344
 #, c-format
 msgid ""
 "Found errors in 'diff.dirstat' config variable:\n"
@@ -1523,43 +1572,44 @@
 "S'han trobat errors en la variable de configuració 'diff.dirstat':\n"
 "%s"
 
-#: diff.c:3087
+#: diff.c:3085
 #, c-format
 msgid "external diff died, stopping at %s"
 msgstr "el diff external s'ha mort, s'està aturant a %s"
 
-#: diff.c:3412
+#: diff.c:3411
 msgid "--name-only, --name-status, --check and -s are mutually exclusive"
 msgstr "--name-only, --name-status, --check i -s són mutualment exclusius"
 
-#: diff.c:3502
+#: diff.c:3501
 msgid "--follow requires exactly one pathspec"
 msgstr "--follow requereix exactament una especificació de camí"
 
-#: diff.c:3665
+#: diff.c:3664
 #, c-format
 msgid ""
 "Failed to parse --dirstat/-X option parameter:\n"
 "%s"
 msgstr ""
-"S'ha fallat en analitzar el paràmetre d'opció de --dirstat/-X:\n"
+"S'ha produït un error en analitzar el paràmetre d'opció de --dirstat/-X:\n"
 "%s"
 
-#: diff.c:3679
+#: diff.c:3678
 #, c-format
 msgid "Failed to parse --submodule option parameter: '%s'"
-msgstr "S'ha fallat en analitzar el paràmetre d'opció de --submodule: '%s'"
+msgstr ""
+"S'ha produït un error en analitzar el paràmetre d'opció de --submodule: '%s'"
 
-#: diff.c:4700
+#: diff.c:4696
 msgid "inexact rename detection was skipped due to too many files."
-msgstr "s'ha saltat la detecció de canvi de nom a causa de massa fitxers."
+msgstr "s'ha omès la detecció de canvi de nom a causa de massa fitxers."
 
-#: diff.c:4703
+#: diff.c:4699
 msgid "only found copies from modified paths due to too many files."
 msgstr ""
 "només s'han trobat còpies des de camins modificats a causa de massa fitxers."
 
-#: diff.c:4706
+#: diff.c:4702
 #, c-format
 msgid ""
 "you may want to set your %s variable to at least %d and retry the command."
@@ -1567,15 +1617,20 @@
 "potser voleu establir la vostra variable %s a almenys %d i tornar a intentar "
 "l'ordre."
 
-#: dir.c:1866
+#: dir.c:1862
 msgid "failed to get kernel name and information"
-msgstr "s'ha fallat en obtenir el nombre i la informació del nucli"
+msgstr "s'ha produït un error en obtenir el nombre i la informació del nucli"
 
-#: dir.c:1985
+#: dir.c:1981
 msgid "Untracked cache is disabled on this system or location."
 msgstr ""
 "La memòria cau no seguida està inhabilitada en aquest sistema o ubicació."
 
+#: dir.c:2759
+#, c-format
+msgid "could not migrate git directory from '%s' to '%s'"
+msgstr "no s'ha pogut migrar el directori de '%s' a '%s'"
+
 #: fetch-pack.c:213
 msgid "git fetch-pack: expected shallow list"
 msgstr "git fetch-pack: llista superficial esperada"
@@ -1616,7 +1671,7 @@
 #: fetch-pack.c:394
 #, c-format
 msgid "no shallow found: %s"
-msgstr "no s'ha trobat cap superficial: %s"
+msgstr "no s'ha trobat cap shallow: %s"
 
 #: fetch-pack.c:397
 #, c-format
@@ -1662,7 +1717,7 @@
 
 #: fetch-pack.c:743
 msgid "protocol error: bad pack header"
-msgstr "error de protocol: capçalera de paquet dolent"
+msgstr "error de protocol: capçalera de paquet errònia"
 
 #: fetch-pack.c:799
 #, c-format
@@ -1741,7 +1796,7 @@
 
 #: fetch-pack.c:1087
 msgid "no matching remote head"
-msgstr "no hi ha cap cap remot coincident"
+msgstr "no hi ha cap HEAD remot coincident"
 
 #: gpg-interface.c:185
 msgid "gpg failed to sign the data"
@@ -1754,50 +1809,55 @@
 #: gpg-interface.c:217
 #, c-format
 msgid "failed writing detached signature to '%s'"
-msgstr "s'ha fallat en escriure la signatura separada a '%s'"
+msgstr "s'ha produït un error en escriure la signatura separada a '%s'"
 
-#: grep.c:1782
+#: graph.c:96
+#, c-format
+msgid "ignore invalid color '%.*s' in log.graphColors"
+msgstr "ignora el color invàlid '%.*s' en log.graphColors"
+
+#: grep.c:1794
 #, c-format
 msgid "'%s': unable to read %s"
 msgstr "'%s': no s'ha pogut llegir %s"
 
-#: grep.c:1799 builtin/clone.c:381 builtin/diff.c:84 builtin/rm.c:155
+#: grep.c:1811 builtin/clone.c:381 builtin/diff.c:81 builtin/rm.c:133
 #, c-format
 msgid "failed to stat '%s'"
-msgstr "s'ha fallat en fer stat a '%s'"
+msgstr "s'ha produït un error en fer stat a '%s'"
 
-#: grep.c:1810
+#: grep.c:1822
 #, c-format
 msgid "'%s': short read"
 msgstr "'%s': lectura curta"
 
-#: help.c:203
+#: help.c:218
 #, c-format
 msgid "available git commands in '%s'"
 msgstr "ordres de git disponibles en '%s'"
 
-#: help.c:210
+#: help.c:225
 msgid "git commands available from elsewhere on your $PATH"
 msgstr "ordres de git disponibles d'altres llocs en el vostre $PATH"
 
-#: help.c:241
+#: help.c:256
 msgid "These are common Git commands used in various situations:"
 msgstr "Aquestes són ordres del Git comunament usades en diverses situacions:"
 
-#: help.c:306
+#: help.c:321
 #, c-format
 msgid ""
 "'%s' appears to be a git command, but we were not\n"
 "able to execute it. Maybe git-%s is broken?"
 msgstr ""
 "'%s' sembla una ordre de git, però no hem pogut\n"
-"executar-la. Pot ser que git-%s estigui estropejat?"
+"executar-la. Pot ser que git-%s estigui malmès?"
 
-#: help.c:361
+#: help.c:376
 msgid "Uh oh. Your system reports no Git commands at all."
 msgstr "Ai. El vostre sistema no informa de cap ordre de Git."
 
-#: help.c:383
+#: help.c:398
 #, c-format
 msgid ""
 "WARNING: You called a Git command named '%s', which does not exist.\n"
@@ -1807,17 +1867,17 @@
 "existeix.\n"
 "S'està continuant sota l'assumpció que volíeu dir '%s'"
 
-#: help.c:388
+#: help.c:403
 #, c-format
 msgid "in %0.1f seconds automatically..."
 msgstr "en %0.1f segons automàticament..."
 
-#: help.c:395
+#: help.c:410
 #, c-format
 msgid "git: '%s' is not a git command. See 'git --help'."
 msgstr "git: '%s' no és una ordre de git. Vegeu 'git --help'."
 
-#: help.c:399 help.c:465
+#: help.c:414 help.c:480
 msgid ""
 "\n"
 "Did you mean this?"
@@ -1831,7 +1891,7 @@
 "\n"
 "Volíeu dir un d'aquests?"
 
-#: help.c:461
+#: help.c:476
 #, c-format
 msgid "%s: %s - %s"
 msgstr "%s: %s - %s"
@@ -1855,10 +1915,10 @@
 "\n"
 "Executeu\n"
 "\n"
-"  git config --global user.email \"vós@example.com\"\n"
-"  git config --global user.name \"El Vostre Nom\"\n"
+"  git config --global user.email \"usuari@domini.com\"\n"
+"  git config --global user.name \"El vostre nom\"\n"
 "\n"
-"per a establir la identitat predeterminat del vostre compte.\n"
+"per a establir la identitat predeterminada del vostre compte.\n"
 "Ometeu --global per a establir la identitat només en aquest dipòsit.\n"
 
 #: lockfile.c:152
@@ -1877,7 +1937,7 @@
 "Sembla que un altre procés de git s'està executant en aquest\n"
 "dipòsit, per exemple, un editor obert per 'git commit'. Si us\n"
 "plau, assegureu-vos que tots els processos s'hagin terminat i\n"
-"llavors trobeu de nou. Si encara falla, potser que un procés de\n"
+"llavors proveu de nou. Si encara falla, pot ser que un procés de\n"
 "git ha tingut una pana:\n"
 "elimineu el fitxer manualment per a continuar."
 
@@ -1888,7 +1948,7 @@
 
 #: merge.c:41
 msgid "failed to read the cache"
-msgstr "s'ha fallat en llegir la memòria cau"
+msgstr "s'ha produït un error en llegir la memòria cau"
 
 #: merge.c:96 builtin/am.c:2000 builtin/am.c:2035 builtin/checkout.c:374
 #: builtin/checkout.c:588 builtin/clone.c:731
@@ -1897,71 +1957,71 @@
 
 #: merge-recursive.c:209
 msgid "(bad commit)\n"
-msgstr "(comissió dolenta)\n"
+msgstr "(comissió errònia)\n"
 
-#: merge-recursive.c:231
+#: merge-recursive.c:231 merge-recursive.c:239
 #, c-format
 msgid "addinfo_cache failed for path '%s'"
 msgstr "addinfo_cache ha fallat per al camí '%s'"
 
-#: merge-recursive.c:301
+#: merge-recursive.c:303
 msgid "error building trees"
 msgstr "error en construir arbres"
 
-#: merge-recursive.c:720
+#: merge-recursive.c:727
 #, c-format
 msgid "failed to create path '%s'%s"
-msgstr "s'ha fallat en crear el camí '%s'%s"
+msgstr "s'ha produït un error en crear el camí '%s'%s"
 
-#: merge-recursive.c:731
+#: merge-recursive.c:738
 #, c-format
 msgid "Removing %s to make room for subdirectory\n"
 msgstr "S'està eliminant %s per a fer espai per al subdirectori\n"
 
-#: merge-recursive.c:745 merge-recursive.c:764
+#: merge-recursive.c:752 merge-recursive.c:771
 msgid ": perhaps a D/F conflict?"
 msgstr ": potser un conflicte D/F?"
 
-#: merge-recursive.c:754
+#: merge-recursive.c:761
 #, c-format
 msgid "refusing to lose untracked file at '%s'"
 msgstr "s'està refusant perdre el fitxer no seguit a '%s'"
 
-#: merge-recursive.c:796 builtin/cat-file.c:34
+#: merge-recursive.c:803 builtin/cat-file.c:34
 #, c-format
 msgid "cannot read object %s '%s'"
 msgstr "no es pot llegir l'objecte %s '%s'"
 
-#: merge-recursive.c:798
+#: merge-recursive.c:805
 #, c-format
 msgid "blob expected for %s '%s'"
 msgstr "blob esperat per a %s '%s'"
 
-#: merge-recursive.c:822
+#: merge-recursive.c:829
 #, c-format
 msgid "failed to open '%s': %s"
-msgstr "s'ha fallat en obrir '%s': %s"
+msgstr "s'ha produït un error en obrir '%s': %s"
 
-#: merge-recursive.c:833
+#: merge-recursive.c:840
 #, c-format
 msgid "failed to symlink '%s': %s"
-msgstr "s'ha fallat en fer l'enllaç simbòlic '%s': %s"
+msgstr "s'ha produït un error en fer l'enllaç simbòlic '%s': %s"
 
-#: merge-recursive.c:838
+#: merge-recursive.c:845
 #, c-format
 msgid "do not know what to do with %06o %s '%s'"
 msgstr "no se sap què fer amb %06o %s '%s'"
 
-#: merge-recursive.c:978
+#: merge-recursive.c:985
 msgid "Failed to execute internal merge"
-msgstr "S'ha fallat en executar la fusió interna"
+msgstr "S'ha produït un error en executar la fusió interna"
 
-#: merge-recursive.c:982
+#: merge-recursive.c:989
 #, c-format
 msgid "Unable to add %s to database"
-msgstr "no s'ha pogut afegir %s a la base de dades"
+msgstr "No s'ha pogut afegir %s a la base de dades"
 
-#: merge-recursive.c:1081 merge-recursive.c:1095
+#: merge-recursive.c:1088 merge-recursive.c:1102
 #, c-format
 msgid ""
 "CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left "
@@ -1970,7 +2030,7 @@
 "CONFLICTE: (%s/supressió): %s suprimit en %s i %s en %s. La versió %s de %s "
 "s'ha deixat en l'arbre."
 
-#: merge-recursive.c:1087 merge-recursive.c:1100
+#: merge-recursive.c:1094 merge-recursive.c:1107
 #, c-format
 msgid ""
 "CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left "
@@ -1979,20 +2039,20 @@
 "CONFLICTE: (%s/supressió): %s suprimit en %s i %s en %s. La versió %s de %s "
 "s'ha deixat en l'arbre a %s."
 
-#: merge-recursive.c:1143
+#: merge-recursive.c:1150
 msgid "rename"
 msgstr "canvi de nom"
 
-#: merge-recursive.c:1143
+#: merge-recursive.c:1150
 msgid "renamed"
 msgstr "canviat de nom"
 
-#: merge-recursive.c:1200
+#: merge-recursive.c:1207
 #, c-format
 msgid "%s is a directory in %s adding as %s instead"
 msgstr "%s és un directori en %s; s'està afegint com a %s en lloc d'això"
 
-#: merge-recursive.c:1225
+#: merge-recursive.c:1232
 #, c-format
 msgid ""
 "CONFLICT (rename/rename): Rename \"%s\"->\"%s\" in branch \"%s\" rename \"%s"
@@ -2001,139 +2061,139 @@
 "CONFLICTE (canvi de nom/canvi de nom): Canvi de nom \"%s\"->\"%s\" en la "
 "branca \"%s\" canvi de nom \"%s\"->\"%s\" en \"%s\"%s"
 
-#: merge-recursive.c:1230
+#: merge-recursive.c:1237
 msgid " (left unresolved)"
 msgstr " (deixat sense resolució)"
 
-#: merge-recursive.c:1292
+#: merge-recursive.c:1299
 #, c-format
 msgid "CONFLICT (rename/rename): Rename %s->%s in %s. Rename %s->%s in %s"
 msgstr ""
 "CONFLICTE (canvi de nom/canvi de nom): Canvi de nom %s->%s en %s. Canvi de "
 "nom %s->%s en %s"
 
-#: merge-recursive.c:1325
+#: merge-recursive.c:1332
 #, c-format
 msgid "Renaming %s to %s and %s to %s instead"
 msgstr "S'està canviant el nom de %s a %s i %s a %s en lloc d'això"
 
-#: merge-recursive.c:1531
+#: merge-recursive.c:1535
 #, c-format
 msgid "CONFLICT (rename/add): Rename %s->%s in %s. %s added in %s"
 msgstr ""
 "CONFLICTE (canvi de nom/afegiment): Canvi de nom %s->%s en %s. %s afegit en "
 "%s"
 
-#: merge-recursive.c:1546
+#: merge-recursive.c:1550
 #, c-format
 msgid "Adding merged %s"
 msgstr "S'està afegint %s fusionat"
 
-#: merge-recursive.c:1553 merge-recursive.c:1766
+#: merge-recursive.c:1557 merge-recursive.c:1771
 #, c-format
 msgid "Adding as %s instead"
 msgstr "S'està afegint com a %s en lloc d'això"
 
-#: merge-recursive.c:1610
+#: merge-recursive.c:1614
 #, c-format
 msgid "cannot read object %s"
 msgstr "no es pot llegir l'objecte %s"
 
-#: merge-recursive.c:1613
+#: merge-recursive.c:1617
 #, c-format
 msgid "object %s is not a blob"
 msgstr "l'objecte %s no és un blob"
 
-#: merge-recursive.c:1666
+#: merge-recursive.c:1670
 msgid "modify"
 msgstr "modificació"
 
-#: merge-recursive.c:1666
+#: merge-recursive.c:1670
 msgid "modified"
 msgstr "modificat"
 
-#: merge-recursive.c:1676
+#: merge-recursive.c:1680
 msgid "content"
 msgstr "contingut"
 
-#: merge-recursive.c:1683
+#: merge-recursive.c:1687
 msgid "add/add"
 msgstr "afegiment/afegiment"
 
-#: merge-recursive.c:1718
+#: merge-recursive.c:1723
 #, c-format
 msgid "Skipped %s (merged same as existing)"
-msgstr "S'ha saltat %s (el fusionat és igual a l'existent)"
+msgstr "S'ha omès %s (el fusionat és igual a l'existent)"
 
-#: merge-recursive.c:1732
+#: merge-recursive.c:1737
 #, c-format
 msgid "Auto-merging %s"
 msgstr "S'està autofusionant %s"
 
-#: merge-recursive.c:1736 git-submodule.sh:924
+#: merge-recursive.c:1741 git-submodule.sh:930
 msgid "submodule"
 msgstr "submòdul"
 
-#: merge-recursive.c:1737
+#: merge-recursive.c:1742
 #, c-format
 msgid "CONFLICT (%s): Merge conflict in %s"
 msgstr "CONFLICTE (%s): Conflicte de fusió en %s"
 
-#: merge-recursive.c:1831
+#: merge-recursive.c:1836
 #, c-format
 msgid "Removing %s"
 msgstr "S'està eliminant %s"
 
-#: merge-recursive.c:1857
+#: merge-recursive.c:1862
 msgid "file/directory"
 msgstr "fitxer/directori"
 
-#: merge-recursive.c:1863
+#: merge-recursive.c:1868
 msgid "directory/file"
 msgstr "directori/fitxer"
 
-#: merge-recursive.c:1868
+#: merge-recursive.c:1874
 #, c-format
 msgid "CONFLICT (%s): There is a directory with name %s in %s. Adding %s as %s"
 msgstr ""
 "CONFLICTE (%s): Hi ha un directori amb nom %s en %s. S'està afegint %s com a "
 "%s"
 
-#: merge-recursive.c:1877
+#: merge-recursive.c:1883
 #, c-format
 msgid "Adding %s"
 msgstr "S'està afegint %s"
 
-#: merge-recursive.c:1914
+#: merge-recursive.c:1920
 msgid "Already up-to-date!"
 msgstr "Ja està al dia!"
 
-#: merge-recursive.c:1923
+#: merge-recursive.c:1929
 #, c-format
 msgid "merging of trees %s and %s failed"
 msgstr "la fusió dels arbres %s i %s ha fallat"
 
-#: merge-recursive.c:2006
+#: merge-recursive.c:2012
 msgid "Merging:"
 msgstr "Fusionant:"
 
-#: merge-recursive.c:2019
+#: merge-recursive.c:2025
 #, c-format
 msgid "found %u common ancestor:"
 msgid_plural "found %u common ancestors:"
 msgstr[0] "s'ha trobat %u avantpassat en comú:"
 msgstr[1] "s'han trobat %u avantpassats en comú:"
 
-#: merge-recursive.c:2058
+#: merge-recursive.c:2064
 msgid "merge returned no commit"
 msgstr "la fusió no ha retornat cap comissió"
 
-#: merge-recursive.c:2121
+#: merge-recursive.c:2127
 #, c-format
 msgid "Could not parse object '%s'"
 msgstr "No s'ha pogut analitzar l'objecte '%s'"
 
-#: merge-recursive.c:2135 builtin/merge.c:641 builtin/merge.c:788
+#: merge-recursive.c:2141 builtin/merge.c:645 builtin/merge.c:792
 msgid "Unable to write index."
 msgstr "No s'ha pogut escriure l'índex."
 
@@ -2144,7 +2204,7 @@
 "Please, use 'git notes merge --commit' or 'git notes merge --abort' to "
 "commit/abort the previous merge before you start a new notes merge."
 msgstr ""
-"No heu conclòs la vostra fusió de notes prèvia (%s existeix).\n"
+"No heu acabat la vostra fusió de notes prèvia (%s existeix).\n"
 "Si us plau, useu 'git notes merge --commit' o 'git notes merge --abort' per "
 "a cometre/avortar la fusió prèvia abans de començar una fusió de notes nova."
 
@@ -2160,7 +2220,7 @@
 #: notes-utils.c:100
 #, c-format
 msgid "Bad notes.rewriteMode value: '%s'"
-msgstr "Valor de notes.rewriteMode dolent: '%s'"
+msgstr "Valor de notes.rewriteMode erroni: '%s'"
 
 #: notes-utils.c:110
 #, c-format
@@ -2172,9 +2232,9 @@
 #: notes-utils.c:137
 #, c-format
 msgid "Bad %s value: '%s'"
-msgstr "Valor dolent de %s: '%s'"
+msgstr "Valor erroni de %s: '%s'"
 
-#: object.c:242
+#: object.c:240
 #, c-format
 msgid "unable to parse object: %s"
 msgstr "no s'ha pogut analitzar l'objecte: %s"
@@ -2214,13 +2274,13 @@
 msgid "Could not make %s writable by group"
 msgstr "No s'ha pogut fer %s escrivible pel grup"
 
-#: pathspec.c:133
+#: pathspec.c:142
 msgid "global 'glob' and 'noglob' pathspec settings are incompatible"
 msgstr ""
 "els ajusts d'especificació de camí 'glob' i 'noglob' globals són "
 "incompatibles"
 
-#: pathspec.c:143
+#: pathspec.c:149
 msgid ""
 "global 'literal' pathspec setting is incompatible with all other global "
 "pathspec settings"
@@ -2228,61 +2288,66 @@
 "l'ajust d'especificació de camí 'literal' global és incompatible amb tots "
 "els altres ajusts d'especificació de camí globals"
 
-#: pathspec.c:177
+#: pathspec.c:188
 msgid "invalid parameter for pathspec magic 'prefix'"
 msgstr "paràmetre no vàlid per a la màgia d'especificació de camí 'prefix'"
 
-#: pathspec.c:183
+#: pathspec.c:201
 #, c-format
 msgid "Invalid pathspec magic '%.*s' in '%s'"
 msgstr "Màgia d'especificació de camí no vàlida '%.*s' en '%s'"
 
-#: pathspec.c:187
+#: pathspec.c:206
 #, c-format
 msgid "Missing ')' at the end of pathspec magic in '%s'"
 msgstr "')' mancant al final de la màgia d'especificació de camí en '%s'"
 
-#: pathspec.c:205
+#: pathspec.c:238
 #, c-format
 msgid "Unimplemented pathspec magic '%c' in '%s'"
 msgstr "Màgia d'especificació de camí no implementada '%c' en '%s'"
 
-#: pathspec.c:230
-#, c-format
-msgid "%s: 'literal' and 'glob' are incompatible"
-msgstr "%s: 'literal' i 'glob' són incompatibles"
-
-#: pathspec.c:241
-#, c-format
-msgid "%s: '%s' is outside repository"
-msgstr "%s: '%s' és fora del dipòsit"
-
-#: pathspec.c:291
+#: pathspec.c:293 pathspec.c:315
 #, c-format
 msgid "Pathspec '%s' is in submodule '%.*s'"
 msgstr "L'especificació '%s' és en el submòdul '%.*s'"
 
-#: pathspec.c:353
+#: pathspec.c:350
+#, c-format
+msgid "%s: 'literal' and 'glob' are incompatible"
+msgstr "%s: 'literal' i 'glob' són incompatibles"
+
+#: pathspec.c:363
+#, c-format
+msgid "%s: '%s' is outside repository"
+msgstr "%s: '%s' és fora del dipòsit"
+
+#: pathspec.c:451
+#, c-format
+msgid "'%s' (mnemonic: '%c')"
+msgstr "'%s' (mnemònic: '%c')"
+
+#: pathspec.c:461
 #, c-format
 msgid "%s: pathspec magic not supported by this command: %s"
 msgstr ""
 "%s: aquesta ordre no és compatible amb la màgia d'especificació de camí: %s"
 
-#: pathspec.c:408
+#: pathspec.c:511
 msgid ""
 "empty strings as pathspecs will be made invalid in upcoming releases. please "
 "use . instead if you meant to match all paths"
 msgstr ""
 "es faran no vàlides les cadenes buides com especificacions de camí en "
-"versions futures. si us plau, useu . en lloc d'això si volíeu coincidir amb "
+"versions futures. Si us plau, useu . en lloc d'això si volíeu coincidir amb "
 "tots els camins"
 
-#: pathspec.c:440
+#: pathspec.c:535
 #, c-format
 msgid "pathspec '%s' is beyond a symbolic link"
 msgstr "l'especificació de camí '%s' és més enllà d'un enllaç simbòlic"
 
-#: pathspec.c:449
+#: pathspec.c:544
 msgid ""
 "There is nothing to exclude from by :(exclude) patterns.\n"
 "Perhaps you forgot to add either ':/' or '.' ?"
@@ -2290,11 +2355,11 @@
 "No hi ha res a excloure per patrons :(exclusió).\n"
 "Potser heu oblidat afegir o ':/' o '.' ?"
 
-#: pretty.c:971
+#: pretty.c:982
 msgid "unable to parse --pretty format"
 msgstr "no s'ha pogut analitzar el format --pretty"
 
-#: read-cache.c:1315
+#: read-cache.c:1307
 #, c-format
 msgid ""
 "index.version set, but the value is invalid.\n"
@@ -2303,7 +2368,7 @@
 "index.version està establerta, però el valor no és vàlid.\n"
 "S'està usant la versió %i"
 
-#: read-cache.c:1325
+#: read-cache.c:1317
 #, c-format
 msgid ""
 "GIT_INDEX_VERSION set, but the value is invalid.\n"
@@ -2312,7 +2377,7 @@
 "GIT_INDEX_VERSION està establerta, però el valor no és vàlid.\n"
 "S'està usant la versió %i"
 
-#: refs.c:576 builtin/merge.c:840
+#: refs.c:576 builtin/merge.c:844
 #, c-format
 msgid "Could not open '%s' for writing"
 msgstr "No s'ha pogut obrir '%s' per a escriptura"
@@ -2332,228 +2397,233 @@
 msgid "could not remove reference %s"
 msgstr "no s'ha pogut eliminar la referència %s"
 
-#: ref-filter.c:55
+#: ref-filter.c:56
 #, c-format
 msgid "expected format: %%(color:<color>)"
 msgstr "format esperat: %%(color:<color>)"
 
-#: ref-filter.c:57
+#: ref-filter.c:58
 #, c-format
 msgid "unrecognized color: %%(color:%s)"
 msgstr "color no reconegut: %%(color:%s)"
 
-#: ref-filter.c:71
+#: ref-filter.c:72
 #, c-format
 msgid "unrecognized format: %%(%s)"
 msgstr "format no reconegut: %%(%s)"
 
-#: ref-filter.c:77
+#: ref-filter.c:78
 #, c-format
 msgid "%%(body) does not take arguments"
 msgstr "%%(body) no accepta paràmetres"
 
-#: ref-filter.c:84
+#: ref-filter.c:85
 #, c-format
 msgid "%%(subject) does not take arguments"
 msgstr "%%(subject) no accepta paràmetres"
 
-#: ref-filter.c:101
+#: ref-filter.c:92
+#, c-format
+msgid "%%(trailers) does not take arguments"
+msgstr "%%(trailers) no accepta paràmetres"
+
+#: ref-filter.c:111
 #, c-format
 msgid "positive value expected contents:lines=%s"
-msgstr "valor positiu esperat contents:lines=%s"
+msgstr "valor positiu esperat conté:lines=%s"
 
-#: ref-filter.c:103
+#: ref-filter.c:113
 #, c-format
 msgid "unrecognized %%(contents) argument: %s"
 msgstr "paràmetre %%(contents) no reconegut: %s"
 
-#: ref-filter.c:113
+#: ref-filter.c:123
 #, c-format
 msgid "unrecognized %%(objectname) argument: %s"
 msgstr "paràmetre %%(objectname) no reconegut: %s"
 
-#: ref-filter.c:135
+#: ref-filter.c:145
 #, c-format
 msgid "expected format: %%(align:<width>,<position>)"
 msgstr "format esperat: %%(align:<amplada>,<posició>)"
 
-#: ref-filter.c:147
+#: ref-filter.c:157
 #, c-format
 msgid "unrecognized position:%s"
 msgstr "posició no reconeguda:%s"
 
-#: ref-filter.c:151
+#: ref-filter.c:161
 #, c-format
 msgid "unrecognized width:%s"
 msgstr "amplada no reconeguda:%s"
 
-#: ref-filter.c:157
+#: ref-filter.c:167
 #, c-format
 msgid "unrecognized %%(align) argument: %s"
 msgstr "paràmetre %%(align) no reconegut: %s"
 
-#: ref-filter.c:161
+#: ref-filter.c:171
 #, c-format
 msgid "positive width expected with the %%(align) atom"
 msgstr "amplada positiva esperada amb l'àtom %%(align)"
 
-#: ref-filter.c:244
+#: ref-filter.c:255
 #, c-format
 msgid "malformed field name: %.*s"
 msgstr "nom de camp mal format: %.*s"
 
-#: ref-filter.c:270
+#: ref-filter.c:281
 #, c-format
 msgid "unknown field name: %.*s"
 msgstr "nom de camp desconegut: %.*s"
 
-#: ref-filter.c:372
+#: ref-filter.c:383
 #, c-format
 msgid "format: %%(end) atom used without corresponding atom"
 msgstr "format: s'ha usat l'àtom %%(end) sense l'àtom corresponent"
 
-#: ref-filter.c:424
+#: ref-filter.c:435
 #, c-format
 msgid "malformed format string %s"
 msgstr "cadena de format mal format %s"
 
-#: ref-filter.c:878
+#: ref-filter.c:898
 msgid ":strip= requires a positive integer argument"
 msgstr ":strip= requereix un paràmetre enter positiu"
 
-#: ref-filter.c:883
+#: ref-filter.c:903
 #, c-format
 msgid "ref '%s' does not have %ld components to :strip"
 msgstr "la referència '%s' no té %ld components per a :strip"
 
-#: ref-filter.c:1046
+#: ref-filter.c:1066
 #, c-format
 msgid "unknown %.*s format %s"
 msgstr "format de %.*s desconegut %s"
 
-#: ref-filter.c:1066 ref-filter.c:1097
+#: ref-filter.c:1086 ref-filter.c:1117
 #, c-format
 msgid "missing object %s for %s"
 msgstr "manca l'objecte %s per a %s"
 
-#: ref-filter.c:1069 ref-filter.c:1100
+#: ref-filter.c:1089 ref-filter.c:1120
 #, c-format
 msgid "parse_object_buffer failed on %s for %s"
 msgstr "parse_object_buffer ha fallat en %s per a %s"
 
-#: ref-filter.c:1311
+#: ref-filter.c:1343
 #, c-format
 msgid "malformed object at '%s'"
 msgstr "objecte mal format a '%s'"
 
-#: ref-filter.c:1373
+#: ref-filter.c:1410
 #, c-format
 msgid "ignoring ref with broken name %s"
-msgstr "s'està ignorant la referència amb nom trencat %s"
+msgstr "s'està ignorant la referència amb nom malmès %s"
 
-#: ref-filter.c:1378
+#: ref-filter.c:1415
 #, c-format
 msgid "ignoring broken ref %s"
 msgstr "s'està ignorant la referència trencada %s"
 
-#: ref-filter.c:1633
+#: ref-filter.c:1670
 #, c-format
 msgid "format: %%(end) atom missing"
 msgstr "format: manca l'àtom %%(end)"
 
-#: ref-filter.c:1687
+#: ref-filter.c:1734
 #, c-format
 msgid "malformed object name %s"
 msgstr "nom d'objecte %s mal format"
 
-#: remote.c:746
+#: remote.c:754
 #, c-format
 msgid "Cannot fetch both %s and %s to %s"
-msgstr "No es pot obtenir ambdós %s i %s a %s"
+msgstr "No es poden obtenir ambdós %s i %s a %s"
 
-#: remote.c:750
+#: remote.c:758
 #, c-format
 msgid "%s usually tracks %s, not %s"
 msgstr "%s generalment segueix %s, no %s"
 
-#: remote.c:754
+#: remote.c:762
 #, c-format
 msgid "%s tracks both %s and %s"
 msgstr "%s segueix ambdós %s i %s"
 
-#: remote.c:762
+#: remote.c:770
 msgid "Internal error"
 msgstr "Error intern"
 
-#: remote.c:1677 remote.c:1720
+#: remote.c:1685 remote.c:1787
 msgid "HEAD does not point to a branch"
 msgstr "HEAD no assenyala cap branca"
 
-#: remote.c:1686
+#: remote.c:1694
 #, c-format
 msgid "no such branch: '%s'"
 msgstr "no hi ha tal branca: '%s'"
 
-#: remote.c:1689
+#: remote.c:1697
 #, c-format
 msgid "no upstream configured for branch '%s'"
 msgstr "cap font configurada per a la branca '%s'"
 
-#: remote.c:1695
+#: remote.c:1703
 #, c-format
 msgid "upstream branch '%s' not stored as a remote-tracking branch"
 msgstr "la branca font '%s' no s'emmagatzema com a branca amb seguiment remot"
 
-#: remote.c:1710
+#: remote.c:1718
 #, c-format
 msgid "push destination '%s' on remote '%s' has no local tracking branch"
 msgstr ""
 "el destí de pujada '%s' en el remot '%s' no té cap branca seguidora local"
 
-#: remote.c:1725
+#: remote.c:1730
 #, c-format
 msgid "branch '%s' has no remote for pushing"
 msgstr "la branca '%s' no té cap remot al qual pujar"
 
-#: remote.c:1736
+#: remote.c:1741
 #, c-format
 msgid "push refspecs for '%s' do not include '%s'"
 msgstr "les especificacions de referència de '%s' no inclouen '%s'"
 
-#: remote.c:1749
+#: remote.c:1754
 msgid "push has no destination (push.default is 'nothing')"
 msgstr "push no té destí (push.default és 'nothing')"
 
-#: remote.c:1771
+#: remote.c:1776
 msgid "cannot resolve 'simple' push to a single destination"
 msgstr "no es pot resoldre una pujada 'simple' a un sol destí"
 
-#: remote.c:2073
+#: remote.c:2081
 #, c-format
 msgid "Your branch is based on '%s', but the upstream is gone.\n"
 msgstr "La vostra branca està basada en '%s', però la font no hi és.\n"
 
-#: remote.c:2077
+#: remote.c:2085
 msgid "  (use \"git branch --unset-upstream\" to fixup)\n"
 msgstr "  (useu \"git branch --unset-upstream\" per a arreglar)\n"
 
-#: remote.c:2080
+#: remote.c:2088
 #, c-format
 msgid "Your branch is up-to-date with '%s'.\n"
 msgstr "La vostra branca està al dia amb '%s'.\n"
 
-#: remote.c:2084
+#: remote.c:2092
 #, c-format
 msgid "Your branch is ahead of '%s' by %d commit.\n"
 msgid_plural "Your branch is ahead of '%s' by %d commits.\n"
 msgstr[0] "La vostra branca està davant de '%s' per %d comissió.\n"
 msgstr[1] "La vostra branca està davant de '%s' per %d comissions.\n"
 
-#: remote.c:2090
+#: remote.c:2098
 msgid "  (use \"git push\" to publish your local commits)\n"
 msgstr "  (useu \"git push\" per a publicar les vostres comissions locals)\n"
 
-#: remote.c:2093
+#: remote.c:2101
 #, c-format
 msgid "Your branch is behind '%s' by %d commit, and can be fast-forwarded.\n"
 msgid_plural ""
@@ -2565,11 +2635,11 @@
 "La vostra branca està darrere de '%s' per %d comissions, i pot avançar-se "
 "ràpidament.\n"
 
-#: remote.c:2101
+#: remote.c:2109
 msgid "  (use \"git pull\" to update your local branch)\n"
 msgstr " (useu \"git pull\" per a actualitzar la vostra branca local)\n"
 
-#: remote.c:2104
+#: remote.c:2112
 #, c-format
 msgid ""
 "Your branch and '%s' have diverged,\n"
@@ -2584,13 +2654,13 @@
 "La vostra branca i '%s' s'han divergit,\n"
 "i tenen %d i %d comissions distintes cada una, respectivament.\n"
 
-#: remote.c:2114
+#: remote.c:2122
 msgid "  (use \"git pull\" to merge the remote branch into yours)\n"
 msgstr "  (useu \"git pull\" per a fusionar la branca remota a la vostra)\n"
 
 #: revision.c:2158
 msgid "your current branch appears to be broken"
-msgstr "la vostra branca actual sembla trencada"
+msgstr "la vostra branca actual sembla malmesa"
 
 #: revision.c:2161
 #, c-format
@@ -2601,18 +2671,18 @@
 msgid "--first-parent is incompatible with --bisect"
 msgstr "--first-parent és incompatible amb --bisect"
 
-#: run-command.c:106
+#: run-command.c:125
 msgid "open /dev/null failed"
-msgstr "s'ha fallat en obrir /dev/null"
+msgstr "s'ha produït un error en obrir /dev/null"
 
-#: run-command.c:108
+#: run-command.c:127
 #, c-format
 msgid "dup2(%d,%d) failed"
 msgstr "dup2(%d,%d) ha fallat"
 
 #: send-pack.c:297
 msgid "failed to sign the push certificate"
-msgstr "s'ha fallat en signar el certificat de pujada"
+msgstr "s'ha produït un error en signar el certificat de pujada"
 
 #: send-pack.c:410
 msgid "the receiving end does not support --signed push"
@@ -2634,15 +2704,24 @@
 msgid "the receiving end does not support push options"
 msgstr "el destí receptor no admet opcions de pujada"
 
-#: sequencer.c:171
+#: sequencer.c:215
 msgid "revert"
 msgstr "revertir"
 
-#: sequencer.c:171
+#: sequencer.c:217
 msgid "cherry-pick"
-msgstr "recollir cireres"
+msgstr "cherry-pick"
 
-#: sequencer.c:228
+#: sequencer.c:219
+msgid "rebase -i"
+msgstr "rebase -i"
+
+#: sequencer.c:221
+#, c-format
+msgid "Unknown action: %d"
+msgstr "Acció desconeguda: %d"
+
+#: sequencer.c:278
 msgid ""
 "after resolving the conflicts, mark the corrected paths\n"
 "with 'git add <paths>' or 'git rm <paths>'"
@@ -2650,7 +2729,7 @@
 "després de resoldre els conflictes, marqueu els camins\n"
 "corregits amb 'git add <camins>' o 'git rm <camins>'"
 
-#: sequencer.c:231
+#: sequencer.c:281
 msgid ""
 "after resolving the conflicts, mark the corrected paths\n"
 "with 'git add <paths>' or 'git rm <paths>'\n"
@@ -2660,60 +2739,63 @@
 "corregits amb 'git add <camins>' o 'git rm <camins>'\n"
 "i cometeu el resultat amb 'git commit'"
 
-#: sequencer.c:244 sequencer.c:1209
+#: sequencer.c:294 sequencer.c:1667
 #, c-format
 msgid "could not lock '%s'"
 msgstr "no s'ha pogut bloquejar '%s'"
 
-#: sequencer.c:247 sequencer.c:1125 sequencer.c:1214
+#: sequencer.c:297 sequencer.c:1545 sequencer.c:1672 sequencer.c:1686
 #, c-format
 msgid "could not write to '%s'"
 msgstr "no s'ha pogut escriure a '%s'"
 
-#: sequencer.c:251
+#: sequencer.c:301
 #, c-format
 msgid "could not write eol to '%s'"
 msgstr "no s'ha pogut escriure el terminador de línia a '%s'"
 
-#: sequencer.c:255 sequencer.c:1130 sequencer.c:1216
+#: sequencer.c:305 sequencer.c:1550 sequencer.c:1674
 #, c-format
 msgid "failed to finalize '%s'."
-msgstr "s'ha fallat en finalitzar '%s'."
+msgstr "s'ha produït un error en finalitzar '%s'."
 
-#: sequencer.c:279 builtin/am.c:259 builtin/commit.c:749 builtin/merge.c:1032
+#: sequencer.c:329 sequencer.c:808 sequencer.c:1571 builtin/am.c:259
+#: builtin/commit.c:749 builtin/merge.c:1036
 #, c-format
 msgid "could not read '%s'"
 msgstr "no s'ha pogut llegir '%s'"
 
-#: sequencer.c:305
+#: sequencer.c:355
 #, c-format
 msgid "your local changes would be overwritten by %s."
 msgstr "els vostres canvis locals se sobreescriurien per %s."
 
-#: sequencer.c:309
+#: sequencer.c:359
 msgid "commit your changes or stash them to proceed."
 msgstr "cometeu els vostres canvis o emmagatzemeu-los per a procedir."
 
-#: sequencer.c:324
+#: sequencer.c:388
 #, c-format
 msgid "%s: fast-forward"
 msgstr "%s: avanç ràpid"
 
-#. TRANSLATORS: %s will be "revert" or "cherry-pick"
-#: sequencer.c:399
+#. TRANSLATORS: %s will be "revert", "cherry-pick" or
+#. * "rebase -i".
+#.
+#: sequencer.c:470
 #, c-format
 msgid "%s: Unable to write new index file"
 msgstr "%s: No s'ha pogut escriure un fitxer d'índex nou"
 
-#: sequencer.c:418
+#: sequencer.c:489
 msgid "could not resolve HEAD commit\n"
 msgstr "no s'ha pogut resoldre la comissió HEAD\n"
 
-#: sequencer.c:438
+#: sequencer.c:509
 msgid "unable to update cache tree\n"
 msgstr "no s'ha pogut actualitzar l'arbre cau\n"
 
-#: sequencer.c:483
+#: sequencer.c:592
 #, c-format
 msgid ""
 "you have staged changes in your working tree\n"
@@ -2729,8 +2811,8 @@
 "\n"
 "  git rebase --continue\n"
 msgstr ""
-"teniu canvis allistats en el vostre arbre de treball\n"
-"Si aquests canvis són per a aixafar-se a la comissió prèvia, executeu:\n"
+"teniu canvis «staged» en el vostre arbre de treball\n"
+"Si aquests canvis estan pensats per fer «squash» a la comissió prèvia, executeu:\n"
 "\n"
 "  git commit --amend %s\n"
 "\n"
@@ -2738,177 +2820,396 @@
 "\n"
 "  git commit %s\n"
 "\n"
-"En ambdós cassos, quan hàgiu terminat, continueu amb:\n"
+"En ambdós casos, quan hàgiu terminat, continueu amb:\n"
 "\n"
 "  git rebase --continue\n"
 
-#: sequencer.c:567
+#: sequencer.c:688
 #, c-format
 msgid "could not parse commit %s\n"
 msgstr "no s'ha pogut analitzar la comissió %s\n"
 
-#: sequencer.c:572
+#: sequencer.c:693
 #, c-format
 msgid "could not parse parent commit %s\n"
 msgstr "no s'ha pogut analitzar la comissió mare %s\n"
 
-#: sequencer.c:656
+#: sequencer.c:815
+#, c-format
+msgid ""
+"unexpected 1st line of squash message:\n"
+"\n"
+"\t%.*s"
+msgstr ""
+"Primera línia del missatge de «squash» no esperada:\n"
+"\n"
+"\t%.*s"
+
+#: sequencer.c:821
+#, c-format
+msgid ""
+"invalid 1st line of squash message:\n"
+"\n"
+"\t%.*s"
+msgstr ""
+"Primera línia del missatge de «squash» no vàlida:\n"
+"\n"
+"\t%.*s"
+
+#: sequencer.c:827 sequencer.c:852
+#, c-format
+msgid "This is a combination of %d commits."
+msgstr "Això és una combinació de %d comissions."
+
+#: sequencer.c:836
+msgid "need a HEAD to fixup"
+msgstr "cal un HEAD per reparar-ho"
+
+#: sequencer.c:838
+msgid "could not read HEAD"
+msgstr "no s'ha pogut llegir HEAD"
+
+#: sequencer.c:840
+msgid "could not read HEAD's commit message"
+msgstr "no s'ha pogut llegir el missatge de comissió de HEAD"
+
+#: sequencer.c:846
+#, c-format
+msgid "cannot write '%s'"
+msgstr "no es pot escriure '%s'"
+
+#: sequencer.c:855 git-rebase--interactive.sh:445
+msgid "This is the 1st commit message:"
+msgstr "Aquest és el 1r missatge de comissió:"
+
+#: sequencer.c:863
+#, c-format
+msgid "could not read commit message of %s"
+msgstr "no s'ha pogut llegir el missatge de comissió: %s"
+
+#: sequencer.c:870
+#, c-format
+msgid "This is the commit message #%d:"
+msgstr "Aquest és el missatge de comissió #%d:"
+
+#: sequencer.c:875
+#, c-format
+msgid "The commit message #%d will be skipped:"
+msgstr "El missatge de comissió núm. #%d s'ometrà:"
+
+#: sequencer.c:880
+#, c-format
+msgid "unknown command: %d"
+msgstr "ordre desconeguda: %d"
+
+#: sequencer.c:946
 msgid "your index file is unmerged."
 msgstr "el vostre fitxer d'índex està sense fusionar."
 
-#: sequencer.c:675
+#: sequencer.c:964
 #, c-format
 msgid "commit %s is a merge but no -m option was given."
 msgstr "la comissió %s és una fusió però no s'ha donat cap opció -m."
 
-#: sequencer.c:683
+#: sequencer.c:972
 #, c-format
 msgid "commit %s does not have parent %d"
 msgstr "la comissió %s no té mare %d"
 
-#: sequencer.c:687
+#: sequencer.c:976
 #, c-format
 msgid "mainline was specified but commit %s is not a merge."
 msgstr ""
 "s'ha especificat la línia principal però la comissió %s no és una fusió."
 
-#. TRANSLATORS: The first %s will be a "todo" command like
-#. "revert" or "pick", the second %s a SHA1.
-#: sequencer.c:700
-#, c-format
-msgid "%s: cannot parse parent commit %s"
-msgstr "%s: no es pot analitzar la comissió mare %s"
-
-#: sequencer.c:705
+#: sequencer.c:982
 #, c-format
 msgid "cannot get commit message for %s"
 msgstr "no es pot obtenir el missatge de comissió de %s"
 
-#: sequencer.c:797
+#. TRANSLATORS: The first %s will be a "todo" command like
+#. "revert" or "pick", the second %s a SHA1.
+#: sequencer.c:1001
+#, c-format
+msgid "%s: cannot parse parent commit %s"
+msgstr "%s: no es pot analitzar la comissió mare %s"
+
+#: sequencer.c:1063 sequencer.c:1812
+#, c-format
+msgid "could not rename '%s' to '%s'"
+msgstr "no s'ha pogut canviar el nom '%s' a '%s'"
+
+#: sequencer.c:1114
 #, c-format
 msgid "could not revert %s... %s"
 msgstr "no s'ha pogut revertir %s... %s"
 
-#: sequencer.c:798
+#: sequencer.c:1115
 #, c-format
 msgid "could not apply %s... %s"
 msgstr "no s'ha pogut aplicar %s... %s"
 
-#: sequencer.c:833
+#: sequencer.c:1157
 msgid "empty commit set passed"
 msgstr "conjunt de comissions buit passat"
 
-#: sequencer.c:843
+#: sequencer.c:1167
 #, c-format
 msgid "git %s: failed to read the index"
-msgstr "git %s: s'ha fallat en llegir l'índex"
+msgstr "git %s: s'ha produït un error en llegir l'índex"
 
-#: sequencer.c:850
+#: sequencer.c:1174
 #, c-format
 msgid "git %s: failed to refresh the index"
-msgstr "git %s: s'ha fallat en actualitzar l'índex"
+msgstr "git %s: s'ha produït un error en actualitzar l'índex"
 
-#: sequencer.c:944
+#: sequencer.c:1294
 #, c-format
 msgid "invalid line %d: %.*s"
 msgstr "línia no vàlida %d: %.*s"
 
-#: sequencer.c:950
-msgid "no commits parsed."
-msgstr "no s'ha analitzat cap comissió."
+#: sequencer.c:1302
+#, c-format
+msgid "cannot '%s' without a previous commit"
+msgstr "No es pot '%s' sense una comissió prèvia"
 
-#: sequencer.c:966
+#: sequencer.c:1334
 #, c-format
 msgid "could not read '%s'."
 msgstr "no s'ha pogut llegir '%s'."
 
-#: sequencer.c:972
+#: sequencer.c:1341
+msgid "please fix this using 'git rebase --edit-todo'."
+msgstr "si us plau, corregiu-ho això usant 'git rebase --edit-todo'."
+
+#: sequencer.c:1343
 #, c-format
 msgid "unusable instruction sheet: '%s'"
 msgstr "full d'instruccions inusable: '%s'"
 
-#: sequencer.c:983
+#: sequencer.c:1348
+msgid "no commits parsed."
+msgstr "no s'ha analitzat cap comissió."
+
+#: sequencer.c:1359
 msgid "cannot cherry-pick during a revert."
-msgstr "no es pot recollir cireres durant una reversió."
+msgstr "no es pot fer «cherry pick» durant una reversió."
 
-#: sequencer.c:985
+#: sequencer.c:1361
 msgid "cannot revert during a cherry-pick."
-msgstr "no es pot revertir durant un recull de cireres."
+msgstr "no es pot revertir durant un «cherry pick»."
 
-#: sequencer.c:1028
+#: sequencer.c:1424
 #, c-format
 msgid "invalid key: %s"
 msgstr "clau no vàlida: %s"
 
-#: sequencer.c:1031
+#: sequencer.c:1427
 #, c-format
 msgid "invalid value for %s: %s"
 msgstr "valor no vàlid per a %s: %s"
 
-#: sequencer.c:1063
+#: sequencer.c:1484
 #, c-format
 msgid "malformed options sheet: '%s'"
 msgstr "full d'opcions mal format: '%s'"
 
-#: sequencer.c:1101
+#: sequencer.c:1522
 msgid "a cherry-pick or revert is already in progress"
-msgstr "un recull de cireres o una reversió ja està en curs"
+msgstr "un «cherry pick» o una reversió ja està en curs"
 
-#: sequencer.c:1102
+#: sequencer.c:1523
 msgid "try \"git cherry-pick (--continue | --quit | --abort)\""
 msgstr "intenteu \"git cherry-pick (--continue | --quit | --abort)\""
 
-#: sequencer.c:1106
+#: sequencer.c:1526
 #, c-format
 msgid "could not create sequencer directory '%s'"
 msgstr "no s'ha pogut crear el directori de seqüenciador '%s'"
 
-#: sequencer.c:1120
+#: sequencer.c:1540
 msgid "could not lock HEAD"
 msgstr "no s'ha pogut bloquejar HEAD"
 
-#: sequencer.c:1151 sequencer.c:1289
+#: sequencer.c:1596 sequencer.c:2150
 msgid "no cherry-pick or revert in progress"
-msgstr "ni hi ha cap recull de cireres ni cap reversió en curs"
+msgstr "ni hi ha cap «cherry pick» ni cap reversió en curs"
 
-#: sequencer.c:1153
+#: sequencer.c:1598
 msgid "cannot resolve HEAD"
 msgstr "no es pot resoldre HEAD"
 
-#: sequencer.c:1155 sequencer.c:1189
+#: sequencer.c:1600 sequencer.c:1634
 msgid "cannot abort from a branch yet to be born"
 msgstr "no es pot avortar des d'una branca que encara ha de nàixer"
 
-#: sequencer.c:1175 builtin/grep.c:578
+#: sequencer.c:1620 builtin/grep.c:904
 #, c-format
 msgid "cannot open '%s'"
 msgstr "no es pot obrir '%s'"
 
-#: sequencer.c:1177
+#: sequencer.c:1622
 #, c-format
 msgid "cannot read '%s': %s"
 msgstr "no es pot llegir '%s': %s"
 
-#: sequencer.c:1178
+#: sequencer.c:1623
 msgid "unexpected end of file"
 msgstr "final de fitxer inesperat"
 
-#: sequencer.c:1184
+#: sequencer.c:1629
 #, c-format
 msgid "stored pre-cherry-pick HEAD file '%s' is corrupt"
-msgstr "el fitxer HEAD emmagatzemat abans del recull de cireres '%s' és malmès"
+msgstr "el fitxer HEAD emmagatzemat abans de fer «cherry pick» '%s' és malmès"
 
-#: sequencer.c:1354
+#: sequencer.c:1640
+msgid "You seem to have moved HEAD. Not rewinding, check your HEAD!"
+msgstr "Sembla que heu mogut HEAD sense rebobinar, comproveu-ho HEAD"
+
+#: sequencer.c:1777 sequencer.c:2049
+msgid "cannot read HEAD"
+msgstr "No es pot llegir HEAD"
+
+#: sequencer.c:1817 builtin/difftool.c:574
+#, c-format
+msgid "could not copy '%s' to '%s'"
+msgstr "no s'ha pogut copiar '%s' a '%s'"
+
+#: sequencer.c:1833
+msgid "could not read index"
+msgstr "no s'ha pogut llegir l'índex"
+
+#: sequencer.c:1838
+#, c-format
+msgid ""
+"execution failed: %s\n"
+"%sYou can fix the problem, and then run\n"
+"\n"
+"  git rebase --continue\n"
+"\n"
+msgstr ""
+"ha fallat: %s\n"
+"%sPodeu solucionar el problema, i llavors executar\n"
+"\n"
+" git rebase --continue\n"
+"\n"
+
+#: sequencer.c:1844
+msgid "and made changes to the index and/or the working tree\n"
+msgstr "i ha fet canvis a l'índex i/o l'arbre de treball\n"
+
+#: sequencer.c:1850
+#, c-format
+msgid ""
+"execution succeeded: %s\n"
+"but left changes to the index and/or the working tree\n"
+"Commit or stash your changes, and then run\n"
+"\n"
+"  git rebase --continue\n"
+"\n"
+msgstr ""
+"L'execució ha tingut èxit: %s\n"
+"però ha deixat canvis a l'índex i/o l'arbre de treball\n"
+"Cometeu o emmagatzemeu els vostres canvis, i llavors executeu\n"
+"\n"
+" git rebase --continue\n"
+
+#: sequencer.c:1905 git-rebase.sh:168
+#, c-format
+msgid "Applied autostash."
+msgstr "S'ha aplicat el magatzem automàtic."
+
+#: sequencer.c:1917
+#, c-format
+msgid "cannot store %s"
+msgstr "no es pot emmagatzemar %s"
+
+#: sequencer.c:1919 git-rebase.sh:172
+#, c-format
+msgid ""
+"Applying autostash resulted in conflicts.\n"
+"Your changes are safe in the stash.\n"
+"You can run \"git stash pop\" or \"git stash drop\" at any time.\n"
+msgstr ""
+"L'aplicació del magatzem automàtic ha resultat en conflictes.\n"
+"Els vostres canvis estan segurs en el magatzem.\n"
+"Podeu executar \"git stash pop\" o \"git stash drop\" en qualsevol moment.\n"
+
+#: sequencer.c:2000
+#, c-format
+msgid "stopped at %s... %.*s"
+msgstr "aturat a %s... %.*s"
+
+#: sequencer.c:2027
+#, c-format
+msgid "unknown command %d"
+msgstr "ordre %d desconeguda"
+
+#: sequencer.c:2057
+msgid "could not read orig-head"
+msgstr "No s'ha pogut llegir orig-head"
+
+#: sequencer.c:2061
+msgid "could not read 'onto'"
+msgstr "no s'ha pogut llegir 'onto'"
+
+#: sequencer.c:2068
+#, c-format
+msgid "could not update %s"
+msgstr "no s'ha pogut analitzar %s"
+
+#: sequencer.c:2075
+#, c-format
+msgid "could not update HEAD to %s"
+msgstr "no s'ha pogut actualitzar HEAD a %s"
+
+#: sequencer.c:2159
+msgid "cannot rebase: You have unstaged changes."
+msgstr "No es pot rebasar: Teniu canvis «unstaged»."
+
+#: sequencer.c:2164
+msgid "could not remove CHERRY_PICK_HEAD"
+msgstr "No s'ha pogut eliminar CHERRY_PICK_HEAD"
+
+#: sequencer.c:2173
+msgid "cannot amend non-existing commit"
+msgstr "no es pot esmenar una comissió no existent"
+
+#: sequencer.c:2175
+#, c-format
+msgid "invalid file: '%s'"
+msgstr "fitxer no vàlid: '%s'"
+
+#: sequencer.c:2177
+#, c-format
+msgid "invalid contents: '%s'"
+msgstr "contingut no vàlid: '%s'"
+
+#: sequencer.c:2180
+msgid ""
+"\n"
+"You have uncommitted changes in your working tree. Please, commit them\n"
+"first and then run 'git rebase --continue' again."
+msgstr ""
+"\n"
+"Teniu canvis no comesos en el vostre arbre de treball. Si us plau,\n"
+"primer cometeu-los i després executeu 'git rebase --continue' de nou."
+
+#: sequencer.c:2190
+msgid "could not commit staged changes."
+msgstr "No s'ha pogut cometre els canvis «staged»."
+
+#: sequencer.c:2270
 #, c-format
 msgid "%s: can't cherry-pick a %s"
-msgstr "%s: no es pot recollir com a cirera un %s"
+msgstr "%s: no es pot fer «cherry pick» a %s"
 
-#: sequencer.c:1358
+#: sequencer.c:2274
 #, c-format
 msgid "%s: bad revision"
 msgstr "%s: revisió dolenta"
 
-#: sequencer.c:1391
+#: sequencer.c:2307
 msgid "can't revert as initial commit"
 msgstr "no es pot revertir com a comissió inicial"
 
@@ -2944,44 +3245,44 @@
 "Useu '--' per a separar els camins de les revisions, com això:\n"
 "'git <ordre> [<revisió>...] -- [<fitxer>...]'"
 
-#: setup.c:468
+#: setup.c:470
 #, c-format
 msgid "Expected git repo version <= %d, found %d"
 msgstr "S'esperava una versió de dipòsit de git <= %d, s'ha trobat %d"
 
-#: setup.c:476
+#: setup.c:478
 msgid "unknown repository extensions found:"
 msgstr "s'han trobat extensions de dipòsit desconegudes:"
 
-#: setup.c:762
+#: setup.c:768
 #, c-format
 msgid "Not a git repository (or any of the parent directories): %s"
 msgstr "No és un dipòsit de git (ni cap dels directoris pares): %s"
 
-#: setup.c:764 setup.c:915 builtin/index-pack.c:1641
+#: setup.c:770 setup.c:922 builtin/index-pack.c:1643
 msgid "Cannot come back to cwd"
 msgstr "No es pot tornar al directori de treball actual"
 
-#: setup.c:845
+#: setup.c:852
 msgid "Unable to read current working directory"
 msgstr "No s'ha pogut llegir el directori de treball actual"
 
-#: setup.c:920
+#: setup.c:927
 #, c-format
 msgid ""
 "Not a git repository (or any parent up to mount point %s)\n"
 "Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set)."
 msgstr ""
-"No un dipòsit de git (ni cap pare fins el punt de muntatge %s)\n"
+"No un dipòsit de git (ni cap pare fins al punt de muntatge %s)\n"
 "S'atura a la frontera de sistema de fitxers (GIT_DISCOVERY_ACROSS_FILESYSTEM "
 "no està establert)."
 
-#: setup.c:927
+#: setup.c:934
 #, c-format
 msgid "Cannot change to '%s/..'"
 msgstr "No es pot canviar a '%s/..'"
 
-#: setup.c:989
+#: setup.c:996
 #, c-format
 msgid ""
 "Problem with core.sharedRepository filemode value (0%.3o).\n"
@@ -2989,46 +3290,46 @@
 msgstr ""
 "Hi ha un problema amb el valor de mode de fitxer core.sharedRepository "
 "(0%.3o).\n"
-"El propietari dels fitxers sempre ha de tenir permissions de lectura i "
+"El propietari dels fitxers sempre ha de tenir permisos de lectura i "
 "escriptura."
 
-#: sha1_file.c:473
+#: sha1_file.c:490
 #, c-format
 msgid "path '%s' does not exist"
 msgstr "el camí '%s' no existeix"
 
-#: sha1_file.c:499
+#: sha1_file.c:516
 #, c-format
 msgid "reference repository '%s' as a linked checkout is not supported yet."
 msgstr ""
 "Encara no se suporta el dipòsit de referència '%s' com a agafament enllaçat."
 
-#: sha1_file.c:505
+#: sha1_file.c:522
 #, c-format
 msgid "reference repository '%s' is not a local repository."
 msgstr "el dipòsit de referència '%s' no és un dipòsit local."
 
-#: sha1_file.c:511
+#: sha1_file.c:528
 #, c-format
 msgid "reference repository '%s' is shallow"
 msgstr "el dipòsit de referència '%s' és superficial"
 
-#: sha1_file.c:519
+#: sha1_file.c:536
 #, c-format
 msgid "reference repository '%s' is grafted"
 msgstr "el dipòsit de referència '%s' és empeltat"
 
-#: sha1_file.c:1159
+#: sha1_file.c:1176
 msgid "offset before end of packfile (broken .idx?)"
 msgstr "desplaçament abans de la fi del fitxer de paquet (.idx trencat?)"
 
-#: sha1_file.c:2592
+#: sha1_file.c:2637
 #, c-format
 msgid "offset before start of pack index for %s (corrupt index?)"
 msgstr ""
 "desplaçament abans d'inici d'índex de paquet per a %s (índex corromput?)"
 
-#: sha1_file.c:2596
+#: sha1_file.c:2641
 #, c-format
 msgid "offset beyond end of pack index for %s (truncated index?)"
 msgstr ""
@@ -3067,90 +3368,134 @@
 "suprimiu-les. Desactiveu aquest missatge executant\n"
 "\"git config advice.objectNameWarning false\""
 
-#: submodule.c:64 submodule.c:98
+#: submodule.c:65 submodule.c:99
 msgid "Cannot change unmerged .gitmodules, resolve merge conflicts first"
 msgstr ""
-"No es pot canviar un .gitmodules no fusionat, primer resoldreu els "
-"conflictes de fusió"
+"No es pot canviar un .gitmodules no fusionat, primer resoleu els conflictes "
+"de fusió"
 
-#: submodule.c:68 submodule.c:102
+#: submodule.c:69 submodule.c:103
 #, c-format
 msgid "Could not find section in .gitmodules where path=%s"
 msgstr "No s'ha pogut trobar la secció en .gitmodules on path=%s"
 
-#: submodule.c:76
+#: submodule.c:77
 #, c-format
 msgid "Could not update .gitmodules entry %s"
 msgstr "No s'ha pogut actualitzar l'entrada de .gitmodules %s"
 
-#: submodule.c:109
+#: submodule.c:110
 #, c-format
 msgid "Could not remove .gitmodules entry for %s"
 msgstr "No s'ha pogut eliminar l'entrada de .gitmodules per a %s"
 
-#: submodule.c:120
+#: submodule.c:121
 msgid "staging updated .gitmodules failed"
 msgstr "l'allistament del .gitmodules actualitzat ha fallat"
 
-#: submodule.c:158
+#: submodule.c:159
 msgid "negative values not allowed for submodule.fetchJobs"
 msgstr "no es permeten els valors negatius a submodule.fetchJobs"
 
-#: submodule-config.c:358
+#: submodule.c:1184
+#, c-format
+msgid "could not start 'git status in submodule '%s'"
+msgstr "no s'ha pogut iniciar 'git status in submodule '%s'"
+
+#: submodule.c:1197
+#, c-format
+msgid "could not run 'git status in submodule '%s'"
+msgstr "no s'ha pogut executar 'git status in submodule '%s'"
+
+#: submodule.c:1398
+#, c-format
+msgid ""
+"relocate_gitdir for submodule '%s' with more than one worktree not supported"
+msgstr ""
+"no està admès relocate_gitdir per al submòdul '%s' amb més d'un arbre de treball"
+
+#: submodule.c:1410 submodule.c:1471
+#, c-format
+msgid "could not lookup name for submodule '%s'"
+msgstr "no s'ha trobat el nom pel submòdul '%s'"
+
+#: submodule.c:1414 submodule.c:1474 builtin/submodule--helper.c:640
+#: builtin/submodule--helper.c:650
+#, c-format
+msgid "could not create directory '%s'"
+msgstr "no s'ha pogut crear el directori '%s'"
+
+#: submodule.c:1420
+#, c-format
+msgid ""
+"Migrating git directory of '%s%s' from\n"
+"'%s' to\n"
+"'%s'\n"
+msgstr ""
+"S'està migrant el directori de '%s%s' des de\n"
+"'%s' a\n"
+"'%s'\n"
+
+#: submodule.c:1512
+#, c-format
+msgid "could not recurse into submodule '%s'"
+msgstr "S'ha produït un error en cercar recursivament al camí de submòdul '%s'"
+
+#: submodule-config.c:360
 #, c-format
 msgid "invalid value for %s"
 msgstr "valor no vàlid per a %s"
 
-#: trailer.c:238
+#: trailer.c:240
 #, c-format
 msgid "running trailer command '%s' failed"
 msgstr "l'execució de l'ordre de remolc '%s' ha fallat"
 
-#: trailer.c:471 trailer.c:475 trailer.c:479 trailer.c:533 trailer.c:537
-#: trailer.c:541
+#: trailer.c:473 trailer.c:477 trailer.c:481 trailer.c:535 trailer.c:539
+#: trailer.c:543
 #, c-format
 msgid "unknown value '%s' for key '%s'"
 msgstr "valor desconegut '%s' per a la clau '%s'"
 
-#: trailer.c:523 trailer.c:528 builtin/remote.c:289
+#: trailer.c:525 trailer.c:530 builtin/remote.c:289
 #, c-format
 msgid "more than one %s"
 msgstr "més d'un %s"
 
-#: trailer.c:672
+#: trailer.c:702
 #, c-format
 msgid "empty trailer token in trailer '%.*s'"
-msgstr "fitxa de remolc buida en el remolc '%.*s'"
+msgstr "testimoni de remolc buit en el remolc '%.*s'"
 
-#: trailer.c:695
+#: trailer.c:722
 #, c-format
 msgid "could not read input file '%s'"
 msgstr "no s'ha pogut llegir el fitxer d'entrada '%s'"
 
-#: trailer.c:698
+#: trailer.c:725
 msgid "could not read from stdin"
 msgstr "no s'ha pogut llegir des d'stdin"
 
-#: trailer.c:929 builtin/am.c:44
+#: trailer.c:949 builtin/am.c:44
 #, c-format
 msgid "could not stat %s"
 msgstr "no s'ha pogut fer stat a %s"
 
-#: trailer.c:931
+#: trailer.c:951
 #, c-format
 msgid "file %s is not a regular file"
 msgstr "el fitxer %s no és un fitxer regular"
 
-#: trailer.c:933
+#: trailer.c:953
 #, c-format
 msgid "file %s is not writable by user"
 msgstr "el fitxer %s no és gravable per l'usuari"
 
-#: trailer.c:945
+#: trailer.c:965
 msgid "could not open temporary file"
 msgstr "no s'ha pogut obrir el fitxer temporal"
 
-#: trailer.c:983
+#: trailer.c:1001
 #, c-format
 msgid "could not rename temporary file to %s"
 msgstr "no s'ha pogut canviar el nom del fitxer temporal a %s"
@@ -3165,7 +3510,7 @@
 msgid "transport: invalid depth option '%s'"
 msgstr "transport: opció de profunditat no vàlida '%s'"
 
-#: transport.c:817
+#: transport.c:885
 #, c-format
 msgid ""
 "The following submodule paths contain changes that can\n"
@@ -3174,7 +3519,7 @@
 "Els camins de submòdul següents contenen canvis que no\n"
 "es poden trobar en cap remot:\n"
 
-#: transport.c:821
+#: transport.c:889
 #, c-format
 msgid ""
 "\n"
@@ -3200,11 +3545,11 @@
 "\n"
 "per a pujar-los a un remot.\n"
 
-#: transport.c:829
+#: transport.c:897
 msgid "Aborting."
 msgstr "S'està avortant."
 
-#: transport-helper.c:1075
+#: transport-helper.c:1082
 #, c-format
 msgid "Could not read ref %s"
 msgstr "No s'ha pogut llegir la referència %s"
@@ -3219,13 +3564,13 @@
 
 #: tree-walk.c:41
 msgid "empty filename in tree entry"
-msgstr "nom de fitxer buit en entrada de arbre"
+msgstr "nom de fitxer buit en una entrada d'arbre"
 
 #: tree-walk.c:113
 msgid "too-short tree file"
 msgstr "fitxer d'arbre massa curt"
 
-#: unpack-trees.c:64
+#: unpack-trees.c:99
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by checkout:\n"
@@ -3236,7 +3581,7 @@
 "%%sSi us plau, cometeu els vostres canvis o emmagatzemeu-los abans de "
 "canviar de branca."
 
-#: unpack-trees.c:66
+#: unpack-trees.c:101
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by checkout:\n"
@@ -3246,7 +3591,7 @@
 "agafar:\n"
 "%%s"
 
-#: unpack-trees.c:69
+#: unpack-trees.c:104
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by merge:\n"
@@ -3257,7 +3602,7 @@
 "%%sSi us plau, cometeu els vostres canvis o emmagatzemeu-los abans de "
 "fusionar."
 
-#: unpack-trees.c:71
+#: unpack-trees.c:106
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by merge:\n"
@@ -3267,7 +3612,7 @@
 "fusionar:\n"
 "%%s"
 
-#: unpack-trees.c:74
+#: unpack-trees.c:109
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by %s:\n"
@@ -3276,7 +3621,7 @@
 "Els vostres canvis locals als fitxers següents se sobreescriurien per %s:\n"
 "%%sSi us plau, cometeu els vostres canvis o emmagatzemeu-los abans de %s."
 
-#: unpack-trees.c:76
+#: unpack-trees.c:111
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by %s:\n"
@@ -3285,16 +3630,16 @@
 "Els vostres canvis locals als fitxers següents se sobreescriurien per %s:\n"
 "%%s"
 
-#: unpack-trees.c:81
+#: unpack-trees.c:116
 #, c-format
 msgid ""
-"Updating the following directories would lose untracked files in it:\n"
+"Updating the following directories would lose untracked files in them:\n"
 "%s"
 msgstr ""
-"Actualitzar els directoris següents perdria fitxers no seguits en el:\n"
+"En actualitzar els directoris següents perdria fitxers no seguits en el:\n"
 "%s"
 
-#: unpack-trees.c:85
+#: unpack-trees.c:120
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by checkout:\n"
@@ -3304,7 +3649,7 @@
 "agafar:\n"
 "%%sSi us plau, moveu-los o elimineu-los abans de canviar de branca."
 
-#: unpack-trees.c:87
+#: unpack-trees.c:122
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by checkout:\n"
@@ -3314,7 +3659,7 @@
 "agafar:\n"
 "%%s"
 
-#: unpack-trees.c:90
+#: unpack-trees.c:125
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by merge:\n"
@@ -3324,7 +3669,7 @@
 "fusionar:\n"
 "%%sSi us plau, moveu-los o elimineu-los abans de fusionar."
 
-#: unpack-trees.c:92
+#: unpack-trees.c:127
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by merge:\n"
@@ -3334,7 +3679,7 @@
 "fusionar:\n"
 "%%s"
 
-#: unpack-trees.c:95
+#: unpack-trees.c:130
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by %s:\n"
@@ -3343,7 +3688,7 @@
 "Els següents fitxers no seguits en l'arbre de treball s'eliminarien per %s:\n"
 "%%sSi us plau, moveu-los o elimineu-los abans de %s."
 
-#: unpack-trees.c:97
+#: unpack-trees.c:132
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by %s:\n"
@@ -3352,7 +3697,7 @@
 "Els següents fitxers no seguits en l'arbre de treball s'eliminarien per %s:\n"
 "%%s"
 
-#: unpack-trees.c:102
+#: unpack-trees.c:137
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by "
@@ -3363,7 +3708,7 @@
 "agafar:\n"
 "%%sSi us plau, moveu-los o elimineu-los abans de canviar de branca."
 
-#: unpack-trees.c:104
+#: unpack-trees.c:139
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by "
@@ -3374,7 +3719,7 @@
 "agafar:\n"
 "%%s"
 
-#: unpack-trees.c:107
+#: unpack-trees.c:142
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by merge:\n"
@@ -3384,7 +3729,7 @@
 "fusionar:\n"
 "%%sSi us plau, moveu-los o elimineu-los abans de fusionar."
 
-#: unpack-trees.c:109
+#: unpack-trees.c:144
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by merge:\n"
@@ -3394,7 +3739,7 @@
 "fusionar:\n"
 "%%s"
 
-#: unpack-trees.c:112
+#: unpack-trees.c:147
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by %s:\n"
@@ -3404,7 +3749,7 @@
 "%s:\n"
 "%%sSi us plau, moveu-los o elimineu-los abans de %s."
 
-#: unpack-trees.c:114
+#: unpack-trees.c:149
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by %s:\n"
@@ -3414,12 +3759,12 @@
 "%s:\n"
 "%%s"
 
-#: unpack-trees.c:121
+#: unpack-trees.c:156
 #, c-format
 msgid "Entry '%s' overlaps with '%s'.  Cannot bind."
 msgstr "L'entrada '%s' encavalca amb '%s'.  No es pot vincular."
 
-#: unpack-trees.c:124
+#: unpack-trees.c:159
 #, c-format
 msgid ""
 "Cannot update sparse checkout: the following entries are not up-to-date:\n"
@@ -3429,7 +3774,7 @@
 "dia:\n"
 "%s"
 
-#: unpack-trees.c:126
+#: unpack-trees.c:161
 #, c-format
 msgid ""
 "The following working tree files would be overwritten by sparse checkout "
@@ -3440,7 +3785,7 @@
 "actualitzar l'agafament parcial:\n"
 "%s"
 
-#: unpack-trees.c:128
+#: unpack-trees.c:163
 #, c-format
 msgid ""
 "The following working tree files would be removed by sparse checkout "
@@ -3451,14 +3796,14 @@
 "l'agafament parcial:\n"
 "%s"
 
-#: unpack-trees.c:205
+#: unpack-trees.c:240
 #, c-format
 msgid "Aborting\n"
 msgstr "S'està avortant\n"
 
-#: unpack-trees.c:237
+#: unpack-trees.c:270
 msgid "Checking out files"
-msgstr "S'està agafant fitxers"
+msgstr "S'estan agafant fitxers"
 
 #: urlmatch.c:120
 msgid "invalid URL scheme name or missing '://' suffix"
@@ -3492,7 +3837,7 @@
 #: worktree.c:282
 #, c-format
 msgid "failed to read '%s'"
-msgstr "s'ha fallat en llegir '%s'"
+msgstr "s'ha produït un error en llegir '%s'"
 
 #: wrapper.c:222 wrapper.c:392
 #, c-format
@@ -3505,7 +3850,7 @@
 msgstr "no s'ha pogut obrir '%s' per a escriptura"
 
 #: wrapper.c:226 wrapper.c:396 builtin/am.c:320 builtin/am.c:759
-#: builtin/am.c:847 builtin/commit.c:1705 builtin/merge.c:1029
+#: builtin/am.c:847 builtin/commit.c:1700 builtin/merge.c:1033
 #: builtin/pull.c:341
 #, c-format
 msgid "could not open '%s' for reading"
@@ -3537,11 +3882,11 @@
 #: wt-status.c:178 wt-status.c:205
 #, c-format
 msgid "  (use \"git reset %s <file>...\" to unstage)"
-msgstr "  (useu \"git reset %s <fitxer>...\" per a desallistar)"
+msgstr "  (useu \"git reset %s <fitxer>...\" per a fer «unstage»)"
 
 #: wt-status.c:180 wt-status.c:207
 msgid "  (use \"git rm --cached <file>...\" to unstage)"
-msgstr "  (useu \"git rm --cached <fitxer>...\" per a desallistar)"
+msgstr "  (useu \"git rm --cached <fitxer>...\" per a fer «unstage»)"
 
 #: wt-status.c:184
 msgid "  (use \"git add <file>...\" to mark resolution)"
@@ -3563,7 +3908,7 @@
 
 #: wt-status.c:217 wt-status.c:954
 msgid "Changes not staged for commit:"
-msgstr "Canvis no allistats per a cometre:"
+msgstr "Canvis no «stage» per a cometre:"
 
 #: wt-status.c:221
 msgid "  (use \"git add <file>...\" to update what will be committed)"
@@ -3718,192 +4063,197 @@
 msgid "  (use \"git am --abort\" to restore the original branch)"
 msgstr "  (useu \"git am --abort\" per a restaurar la branca original)"
 
-#: wt-status.c:1172
+#: wt-status.c:1176
+msgid "git-rebase-todo is missing."
+msgstr "Manca git-rebase-todo."
+
+#: wt-status.c:1178
 msgid "No commands done."
 msgstr "No s'ha fet cap ordre."
 
-#: wt-status.c:1175
+#: wt-status.c:1181
 #, c-format
 msgid "Last command done (%d command done):"
 msgid_plural "Last commands done (%d commands done):"
 msgstr[0] "Última ordre feta (%d ordre feta):"
 msgstr[1] "Últimes ordres fetes (%d ordres fetes):"
 
-#: wt-status.c:1186
+#: wt-status.c:1192
 #, c-format
 msgid "  (see more in file %s)"
 msgstr "  (vegeu més en el fitxer %s)"
 
-#: wt-status.c:1191
+#: wt-status.c:1197
 msgid "No commands remaining."
 msgstr "No manca cap ordre."
 
-#: wt-status.c:1194
+#: wt-status.c:1200
 #, c-format
 msgid "Next command to do (%d remaining command):"
 msgid_plural "Next commands to do (%d remaining commands):"
 msgstr[0] "Ordre següent a fer (manca %d ordre):"
 msgstr[1] "Ordres següents a fer (manquen %d ordres):"
 
-#: wt-status.c:1202
+#: wt-status.c:1208
 msgid "  (use \"git rebase --edit-todo\" to view and edit)"
 msgstr "  (useu \"git rebase --edit-todo\" per a veure i editar)"
 
-#: wt-status.c:1215
+#: wt-status.c:1221
 #, c-format
 msgid "You are currently rebasing branch '%s' on '%s'."
 msgstr "Actualment esteu rebasant la branca '%s' en '%s'."
 
-#: wt-status.c:1220
+#: wt-status.c:1226
 msgid "You are currently rebasing."
 msgstr "Actualment esteu rebasant."
 
-#: wt-status.c:1234
+#: wt-status.c:1240
 msgid "  (fix conflicts and then run \"git rebase --continue\")"
 msgstr ""
 "  (arregleu els conflictes i després executeu \"git rebase --continue\")"
 
-#: wt-status.c:1236
+#: wt-status.c:1242
 msgid "  (use \"git rebase --skip\" to skip this patch)"
-msgstr "  (useu \"git rebase --skip\" per a saltar aquest pedaç)"
+msgstr "  (useu \"git rebase --skip\" per a ometre aquest pedaç)"
 
-#: wt-status.c:1238
+#: wt-status.c:1244
 msgid "  (use \"git rebase --abort\" to check out the original branch)"
 msgstr "  (useu \"git rebase --abort\" per a agafar la branca original)"
 
-#: wt-status.c:1244
+#: wt-status.c:1250
 msgid "  (all conflicts fixed: run \"git rebase --continue\")"
 msgstr ""
 "  (tots els conflictes estan arreglats: executeu \"git rebase --continue\")"
 
-#: wt-status.c:1248
+#: wt-status.c:1254
 #, c-format
 msgid ""
 "You are currently splitting a commit while rebasing branch '%s' on '%s'."
 msgstr ""
 "Actualment esteu dividint una comissió mentre rebaseu la branca '%s' en '%s'."
 
-#: wt-status.c:1253
+#: wt-status.c:1259
 msgid "You are currently splitting a commit during a rebase."
 msgstr "Actualment esteu dividint una comissió durant un rebasament."
 
-#: wt-status.c:1256
+#: wt-status.c:1262
 msgid "  (Once your working directory is clean, run \"git rebase --continue\")"
 msgstr ""
 "  (Una vegada que el vostre directori de treball sigui net, executeu \"git "
 "rebase --continue\")"
 
-#: wt-status.c:1260
+#: wt-status.c:1266
 #, c-format
 msgid "You are currently editing a commit while rebasing branch '%s' on '%s'."
 msgstr ""
-"Actualment esteu editant una comissió mentre rebaseu la branca '%s' en '%s'."
+"Actualment esteu editant una comissió mentre es fa «rebase» de la branca "
+"'%s' en '%s'."
 
-#: wt-status.c:1265
+#: wt-status.c:1271
 msgid "You are currently editing a commit during a rebase."
-msgstr "Actualment esteu editant una comissió durant un rebasament."
+msgstr "Actualment esteu editant una comissió durant un «rebase»."
 
-#: wt-status.c:1268
+#: wt-status.c:1274
 msgid "  (use \"git commit --amend\" to amend the current commit)"
 msgstr "  (useu \"git commit --amend\" per a esmenar la comissió actual)"
 
-#: wt-status.c:1270
+#: wt-status.c:1276
 msgid ""
 "  (use \"git rebase --continue\" once you are satisfied with your changes)"
 msgstr ""
 "  (useu \"git rebase --continue\" una vegada que estigueu satisfet amb els "
 "vostres canvis)"
 
-#: wt-status.c:1280
+#: wt-status.c:1286
 #, c-format
 msgid "You are currently cherry-picking commit %s."
-msgstr "Actualment esteu recollint com a cirera la comissió %s."
+msgstr "Actualment esteu fent «cherry pick» a la comissió %s."
 
-#: wt-status.c:1285
+#: wt-status.c:1291
 msgid "  (fix conflicts and run \"git cherry-pick --continue\")"
 msgstr "  (arregleu els conflictes i executeu \"git cherry-pick --continue\")"
 
-#: wt-status.c:1288
+#: wt-status.c:1294
 msgid "  (all conflicts fixed: run \"git cherry-pick --continue\")"
 msgstr ""
 "  (tots els conflictes estan arreglats: executeu \"git cherry-pick --continue"
 "\")"
 
-#: wt-status.c:1290
+#: wt-status.c:1296
 msgid "  (use \"git cherry-pick --abort\" to cancel the cherry-pick operation)"
 msgstr ""
-"  (useu \"git cherry-pick --abort\" per a cancel·lar l'operació de recull de "
-"cireres)"
+"  (useu \"git cherry-pick --abort\" per a cancel·lar l'operació de «cherry "
+"pick»)"
 
-#: wt-status.c:1299
+#: wt-status.c:1305
 #, c-format
 msgid "You are currently reverting commit %s."
 msgstr "Actualment esteu revertint la comissió %s."
 
-#: wt-status.c:1304
+#: wt-status.c:1310
 msgid "  (fix conflicts and run \"git revert --continue\")"
 msgstr "  (arregleu els conflictes i executeu \"git revert --continue\")"
 
-#: wt-status.c:1307
+#: wt-status.c:1313
 msgid "  (all conflicts fixed: run \"git revert --continue\")"
 msgstr ""
 "  (tots els conflictes estan arreglats: executeu \"git revert --continue\")"
 
-#: wt-status.c:1309
+#: wt-status.c:1315
 msgid "  (use \"git revert --abort\" to cancel the revert operation)"
 msgstr ""
 "  (useu \"git revert --abort\" per a cancel·lar l'operació de reversió)"
 
-#: wt-status.c:1320
+#: wt-status.c:1326
 #, c-format
 msgid "You are currently bisecting, started from branch '%s'."
 msgstr "Actualment esteu bisecant, heu començat des de la branca '%s'."
 
-#: wt-status.c:1324
+#: wt-status.c:1330
 msgid "You are currently bisecting."
 msgstr "Actualment esteu bisecant."
 
-#: wt-status.c:1327
+#: wt-status.c:1333
 msgid "  (use \"git bisect reset\" to get back to the original branch)"
 msgstr "  (useu \"git bisect reset\" per a tornar a la branca original)"
 
-#: wt-status.c:1524
+#: wt-status.c:1530
 msgid "On branch "
 msgstr "En la branca "
 
-#: wt-status.c:1530
+#: wt-status.c:1536
 msgid "interactive rebase in progress; onto "
-msgstr "rebasament interactiu en progrés; sobre "
+msgstr "«rebase» interactiu en progrés; sobre "
 
-#: wt-status.c:1532
+#: wt-status.c:1538
 msgid "rebase in progress; onto "
-msgstr "rebasament en progrés; sobre "
+msgstr "«rebase» en progrés; sobre "
 
-#: wt-status.c:1537
+#: wt-status.c:1543
 msgid "HEAD detached at "
 msgstr "HEAD separat a "
 
-#: wt-status.c:1539
+#: wt-status.c:1545
 msgid "HEAD detached from "
 msgstr "HEAD separat de "
 
-#: wt-status.c:1542
+#: wt-status.c:1548
 msgid "Not currently on any branch."
 msgstr "Actualment no s'és en cap branca."
 
-#: wt-status.c:1560
+#: wt-status.c:1566
 msgid "Initial commit"
 msgstr "Comissió inicial"
 
-#: wt-status.c:1574
+#: wt-status.c:1580
 msgid "Untracked files"
 msgstr "Fitxers no seguits"
 
-#: wt-status.c:1576
+#: wt-status.c:1582
 msgid "Ignored files"
 msgstr "Fitxers ignorats"
 
-#: wt-status.c:1580
+#: wt-status.c:1586
 #, c-format
 msgid ""
 "It took %.2f seconds to enumerate untracked files. 'status -uno'\n"
@@ -3912,34 +4262,34 @@
 msgstr ""
 "Ha trigat %.2f segons enumerar els fitxers no seguits.\n"
 "'status -uno' pot accelerar-ho, però heu d'anar amb compte de no\n"
-"oblidar-vos d'afegir fitxers nous per vós mateix (vegeu\n"
+"oblidar-vos d'afegir fitxers nous vosaltres mateixos (vegeu\n"
 "'git help status')."
 
-#: wt-status.c:1586
+#: wt-status.c:1592
 #, c-format
 msgid "Untracked files not listed%s"
 msgstr "Els fitxers no seguits no estan llistats%s"
 
-#: wt-status.c:1588
+#: wt-status.c:1594
 msgid " (use -u option to show untracked files)"
 msgstr " (useu l'opció -u per a mostrar els fitxers no seguits)"
 
-#: wt-status.c:1594
+#: wt-status.c:1600
 msgid "No changes"
 msgstr "Sense canvis"
 
-#: wt-status.c:1599
+#: wt-status.c:1605
 #, c-format
 msgid "no changes added to commit (use \"git add\" and/or \"git commit -a\")\n"
 msgstr ""
 "no hi ha canvis afegits a cometre (useu \"git add\" o \"git commit -a\")\n"
 
-#: wt-status.c:1602
+#: wt-status.c:1608
 #, c-format
 msgid "no changes added to commit\n"
 msgstr "no hi ha canvis afegits a cometre\n"
 
-#: wt-status.c:1605
+#: wt-status.c:1611
 #, c-format
 msgid ""
 "nothing added to commit but untracked files present (use \"git add\" to "
@@ -3948,65 +4298,65 @@
 "no hi ha res afegit a cometre però fitxers no seguits estan presents (useu "
 "\"git add\" per a seguir-los)\n"
 
-#: wt-status.c:1608
+#: wt-status.c:1614
 #, c-format
 msgid "nothing added to commit but untracked files present\n"
 msgstr "no hi ha res afegit a cometre però fitxers no seguits estan presents\n"
 
-#: wt-status.c:1611
+#: wt-status.c:1617
 #, c-format
 msgid "nothing to commit (create/copy files and use \"git add\" to track)\n"
 msgstr ""
 "no hi ha res a cometre (creeu/copieu fitxers i useu \"git add\" per a seguir-"
 "los)\n"
 
-#: wt-status.c:1614 wt-status.c:1619
+#: wt-status.c:1620 wt-status.c:1625
 #, c-format
 msgid "nothing to commit\n"
 msgstr "no hi ha res a cometre\n"
 
-#: wt-status.c:1617
+#: wt-status.c:1623
 #, c-format
 msgid "nothing to commit (use -u to show untracked files)\n"
 msgstr ""
 "no hi ha res a cometre (useu -u per a mostrar els fitxers no seguits)\n"
 
-#: wt-status.c:1621
+#: wt-status.c:1627
 #, c-format
 msgid "nothing to commit, working tree clean\n"
 msgstr "no hi ha res a cometre, l'arbre de treball està net\n"
 
-#: wt-status.c:1728
+#: wt-status.c:1734
 msgid "Initial commit on "
 msgstr "Comissió inicial en "
 
-#: wt-status.c:1732
+#: wt-status.c:1738
 msgid "HEAD (no branch)"
 msgstr "HEAD (sense branca)"
 
-#: wt-status.c:1761
+#: wt-status.c:1767
 msgid "gone"
 msgstr "no hi és"
 
-#: wt-status.c:1763 wt-status.c:1771
+#: wt-status.c:1769 wt-status.c:1777
 msgid "behind "
 msgstr "darrere "
 
-#: wt-status.c:1766 wt-status.c:1769
+#: wt-status.c:1772 wt-status.c:1775
 msgid "ahead "
 msgstr "davant per "
 
 #. TRANSLATORS: the action is e.g. "pull with rebase"
-#: wt-status.c:2270
+#: wt-status.c:2277
 #, c-format
 msgid "cannot %s: You have unstaged changes."
-msgstr "no es pot %s: Teniu canvis no allistats."
+msgstr "no es pot %s: Teniu canvis «unstaged»."
 
-#: wt-status.c:2276
+#: wt-status.c:2283
 msgid "additionally, your index contains uncommitted changes."
 msgstr "addicionalment, el vostre índex conté canvis sense cometre."
 
-#: wt-status.c:2278
+#: wt-status.c:2285
 #, c-format
 msgid "cannot %s: Your index contains uncommitted changes."
 msgstr "no es pot %s: El vostre índex conté canvis sense cometre."
@@ -4014,7 +4364,7 @@
 #: compat/precompose_utf8.c:57 builtin/clone.c:414
 #, c-format
 msgid "failed to unlink '%s'"
-msgstr "s'ha fallat en desenllaçar '%s'"
+msgstr "s'ha produït un error en desenllaçar '%s'"
 
 #: builtin/add.c:22
 msgid "git add [<options>] [--] <pathspec>..."
@@ -4027,7 +4377,7 @@
 
 #: builtin/add.c:85 builtin/commit.c:291
 msgid "updating files failed"
-msgstr "s'ha fallat en actualitzar els fitxers"
+msgstr "s'ha produït un error en actualitzar els fitxers"
 
 #: builtin/add.c:95
 #, c-format
@@ -4036,9 +4386,9 @@
 
 #: builtin/add.c:149
 msgid "Unstaged changes after refreshing the index:"
-msgstr "Canvis no allistats després d'actualitzar l'índex:"
+msgstr "Canvis «unstaged» després d'actualitzar l'índex:"
 
-#: builtin/add.c:209 builtin/rev-parse.c:840
+#: builtin/add.c:209 builtin/rev-parse.c:845
 msgid "Could not read the index"
 msgstr "No s'ha pogut llegir l'índex"
 
@@ -4074,9 +4424,9 @@
 msgstr ""
 "Els camins següents s'ignoren per un dels vostres fitxers .gitignore:\n"
 
-#: builtin/add.c:266 builtin/clean.c:870 builtin/fetch.c:115 builtin/mv.c:111
-#: builtin/prune-packed.c:55 builtin/pull.c:198 builtin/push.c:521
-#: builtin/remote.c:1326 builtin/rm.c:268 builtin/send-pack.c:162
+#: builtin/add.c:266 builtin/clean.c:870 builtin/fetch.c:115 builtin/mv.c:123
+#: builtin/prune-packed.c:55 builtin/pull.c:198 builtin/push.c:524
+#: builtin/remote.c:1326 builtin/rm.c:241 builtin/send-pack.c:162
 msgid "dry run"
 msgstr "marxa en sec"
 
@@ -4084,7 +4434,7 @@
 msgid "interactive picking"
 msgstr "recull interactiu"
 
-#: builtin/add.c:270 builtin/checkout.c:1156 builtin/reset.c:286
+#: builtin/add.c:270 builtin/checkout.c:1159 builtin/reset.c:286
 msgid "select hunks interactively"
 msgstr "selecciona els trossos interactivament"
 
@@ -4145,7 +4495,7 @@
 
 #: builtin/add.c:348
 msgid "-A and -u are mutually incompatible"
-msgstr "-A i -u són mutualment incompatibles"
+msgstr "-A i -u són mútuament incompatibles"
 
 #: builtin/add.c:355
 msgid "Option --ignore-missing can only be used together with --dry-run"
@@ -4168,7 +4518,7 @@
 
 #: builtin/add.c:380 builtin/check-ignore.c:172 builtin/checkout.c:279
 #: builtin/checkout.c:472 builtin/clean.c:914 builtin/commit.c:350
-#: builtin/mv.c:131 builtin/reset.c:235 builtin/rm.c:298
+#: builtin/mv.c:143 builtin/reset.c:235 builtin/rm.c:271
 #: builtin/submodule--helper.c:244
 msgid "index file corrupt"
 msgstr "fitxer d'índex malmès"
@@ -4190,7 +4540,7 @@
 #: builtin/am.c:569
 #, c-format
 msgid "Failed to copy notes from '%s' to '%s'"
-msgstr "S'ha fallat en copiar les notes de '%s' a '%s'"
+msgstr "S'ha produït un error en copiar les notes de '%s' a '%s'"
 
 #: builtin/am.c:595
 msgid "fseek failed"
@@ -4203,7 +4553,7 @@
 
 #: builtin/am.c:840
 msgid "Only one StGIT patch series can be applied at once"
-msgstr "només una sèrie de pedaços StGIT es pot aplicar a la vegada"
+msgstr "Només una sèrie de pedaços StGIT es pot aplicar a la vegada"
 
 #: builtin/am.c:887
 msgid "invalid timestamp"
@@ -4224,11 +4574,11 @@
 #: builtin/am.c:989 builtin/clone.c:379
 #, c-format
 msgid "failed to create directory '%s'"
-msgstr "s'ha fallat en crear el directori '%s'"
+msgstr "s'ha produït un error en crear el directori '%s'"
 
 #: builtin/am.c:993
 msgid "Failed to split patches."
-msgstr "S'ha fallat en dividir els pedaços."
+msgstr "S'ha produït un error en dividir els pedaços."
 
 #: builtin/am.c:1125 builtin/commit.c:376
 msgid "unable to write index file"
@@ -4243,7 +4593,7 @@
 #, c-format
 msgid "If you prefer to skip this patch, run \"%s --skip\" instead."
 msgstr ""
-"Si preferiu saltar aquest pedaç, executeu \"%s --skip\" en lloc d'això."
+"Si preferiu ometre aquest pedaç, executeu \"%s --skip\" en lloc d'això."
 
 #: builtin/am.c:1178
 #, c-format
@@ -4286,13 +4636,13 @@
 
 #: builtin/am.c:1637
 msgid "Falling back to patching base and 3-way merge..."
-msgstr "S'està retrocedint a apedaçar la base i fusionar de 3 vies..."
+msgstr "S'està retrocedint a apedaçar la base i una fusió de 3 vies..."
 
 #: builtin/am.c:1662
 msgid "Failed to merge in the changes."
-msgstr "S'ha fallat en fusionar els canvis."
+msgstr "S'ha produït un error en fusionar els canvis."
 
-#: builtin/am.c:1686 builtin/merge.c:628
+#: builtin/am.c:1686 builtin/merge.c:632
 msgid "git write-tree failed to write a tree"
 msgstr "git write-tree ha fallat en escriure un arbre"
 
@@ -4300,10 +4650,10 @@
 msgid "applying to an empty history"
 msgstr "s'està aplicant a una història buida"
 
-#: builtin/am.c:1706 builtin/commit.c:1769 builtin/merge.c:798
-#: builtin/merge.c:823
+#: builtin/am.c:1706 builtin/commit.c:1764 builtin/merge.c:802
+#: builtin/merge.c:827
 msgid "failed to write commit object"
-msgstr "s'ha fallat en escriure l'objecte de comissió"
+msgstr "s'ha produït un error en escriure l'objecte de comissió"
 
 #: builtin/am.c:1739 builtin/am.c:1743
 #, c-format
@@ -4332,7 +4682,7 @@
 #: builtin/am.c:1824
 #, c-format
 msgid "Dirty index: cannot apply patches (dirty: %s)"
-msgstr "Índex brut: no es pot aplicar pedaços (bruts: %s)"
+msgstr "Índex brut: no es poden aplicar pedaços (bruts: %s)"
 
 #: builtin/am.c:1861 builtin/am.c:1933
 #, c-format
@@ -4360,7 +4710,7 @@
 "already introduced the same changes; you might want to skip this patch."
 msgstr ""
 "Cap canvi - heu oblidat d'usar 'git add'?\n"
-"Si no hi ha res a allistar, probablement alguna altra cosa ja ha\n"
+"Si no hi ha res per fer «stage», probablement alguna altra cosa ja ha\n"
 "introduït els mateixos canvis; potser voleu ometre aquest pedaç."
 
 #: builtin/am.c:1943
@@ -4379,7 +4729,7 @@
 
 #: builtin/am.c:2103
 msgid "failed to clean index"
-msgstr "s'ha fallat en netejar l'índex"
+msgstr "s'ha produït un error en netejar l'índex"
 
 #: builtin/am.c:2137
 msgid ""
@@ -4415,9 +4765,9 @@
 msgstr "permet retrocedir a una fusió de 3 vies si és necessari"
 
 #: builtin/am.c:2245 builtin/init-db.c:483 builtin/prune-packed.c:57
-#: builtin/repack.c:172
+#: builtin/repack.c:178
 msgid "be quiet"
-msgstr "calla"
+msgstr "silenciós"
 
 #: builtin/am.c:2247
 msgid "add a Signed-off-by line to the commit message"
@@ -4450,7 +4800,7 @@
 
 #: builtin/am.c:2264
 msgid "strip everything before a scissors line"
-msgstr "despulla tot abans d'una línia de tissores"
+msgstr "elimina tot abans d'una línia de tisores"
 
 #: builtin/am.c:2266 builtin/am.c:2269 builtin/am.c:2272 builtin/am.c:2275
 #: builtin/am.c:2278 builtin/am.c:2281 builtin/am.c:2284 builtin/am.c:2287
@@ -4459,15 +4809,15 @@
 msgstr "passa-ho a través del git-apply"
 
 #: builtin/am.c:2283 builtin/fmt-merge-msg.c:662 builtin/fmt-merge-msg.c:665
-#: builtin/grep.c:707 builtin/merge.c:200 builtin/pull.c:135 builtin/pull.c:194
-#: builtin/repack.c:181 builtin/repack.c:185 builtin/show-branch.c:644
-#: builtin/show-ref.c:175 builtin/tag.c:340 parse-options.h:132
-#: parse-options.h:134 parse-options.h:245
+#: builtin/grep.c:1038 builtin/merge.c:202 builtin/pull.c:135
+#: builtin/pull.c:194 builtin/repack.c:187 builtin/repack.c:191
+#: builtin/show-branch.c:644 builtin/show-ref.c:169 builtin/tag.c:355
+#: parse-options.h:132 parse-options.h:134 parse-options.h:245
 msgid "n"
 msgstr "n"
 
 #: builtin/am.c:2289 builtin/for-each-ref.c:37 builtin/replace.c:438
-#: builtin/tag.c:372
+#: builtin/tag.c:387 builtin/verify-tag.c:38
 msgid "format"
 msgstr "format"
 
@@ -4490,7 +4840,7 @@
 
 #: builtin/am.c:2304
 msgid "skip the current patch"
-msgstr "salta el pedaç actual"
+msgstr "omet el pedaç actual"
 
 #: builtin/am.c:2307
 msgid "restore the original branch and abort the patching operation."
@@ -4504,8 +4854,8 @@
 msgid "use current timestamp for author date"
 msgstr "usa el marc de temps actual per la data d'autor"
 
-#: builtin/am.c:2315 builtin/commit.c:1605 builtin/merge.c:229
-#: builtin/pull.c:165 builtin/revert.c:92 builtin/tag.c:355
+#: builtin/am.c:2315 builtin/commit.c:1600 builtin/merge.c:233
+#: builtin/pull.c:165 builtin/revert.c:92 builtin/tag.c:370
 msgid "key-id"
 msgstr "ID de clau"
 
@@ -4527,7 +4877,7 @@
 
 #: builtin/am.c:2341
 msgid "failed to read the index"
-msgstr "s'ha fallat en llegir l'índex"
+msgstr "S'ha produït un error en llegir l'índex"
 
 #: builtin/am.c:2356
 #, c-format
@@ -4586,7 +4936,7 @@
 
 #: builtin/archive.c:68
 msgid "git archive: expected a flush"
-msgstr "git archive: rentada esperada"
+msgstr "git archive: s'esperava una neteja"
 
 #: builtin/bisect--helper.c:7
 msgid "git bisect--helper --next-all [--no-checkout]"
@@ -4608,124 +4958,117 @@
 msgid "<rev-opts> are documented in git-rev-list(1)"
 msgstr "es documenten les <opcions-de-revisió> en git-rev-list(1)"
 
-#: builtin/blame.c:1781
+#: builtin/blame.c:1786
 msgid "Blaming lines"
-msgstr "S'estan culpant les línies"
+msgstr "S'està fent un «blame»"
 
-#: builtin/blame.c:2577
+#: builtin/blame.c:2582
 msgid "Show blame entries as we find them, incrementally"
-msgstr "Mostra les entrades de culpa mentre les trobem, incrementalment"
+msgstr "Mostra les entrades «blame» mentre les trobem, incrementalment"
 
-#: builtin/blame.c:2578
+#: builtin/blame.c:2583
 msgid "Show blank SHA-1 for boundary commits (Default: off)"
 msgstr ""
 "Mostra un SHA-1 en blanc per les comissions de frontera (Per defecte: "
 "desactivat)"
 
-#: builtin/blame.c:2579
+#: builtin/blame.c:2584
 msgid "Do not treat root commits as boundaries (Default: off)"
 msgstr ""
 "No tractis les comissions d'arrel com a límits (Per defecte: desactivat)"
 
-#: builtin/blame.c:2580
+#: builtin/blame.c:2585
 msgid "Show work cost statistics"
 msgstr "Mostra les estadístiques de preu de treball"
 
-#: builtin/blame.c:2581
+#: builtin/blame.c:2586
 msgid "Force progress reporting"
 msgstr "Força l'informe de progrés"
 
-#: builtin/blame.c:2582
+#: builtin/blame.c:2587
 msgid "Show output score for blame entries"
-msgstr "Mostra la puntuació de sortida de les entrades de culpa"
+msgstr "Mostra la puntuació de sortida de les entrades «blame»"
 
-#: builtin/blame.c:2583
+#: builtin/blame.c:2588
 msgid "Show original filename (Default: auto)"
 msgstr "Mostra el nom de fitxer original (Per defecte: automàtic)"
 
-#: builtin/blame.c:2584
+#: builtin/blame.c:2589
 msgid "Show original linenumber (Default: off)"
 msgstr "Mostra el número de línia original (Per defecte: desactivat)"
 
-#: builtin/blame.c:2585
+#: builtin/blame.c:2590
 msgid "Show in a format designed for machine consumption"
 msgstr "Presenta en un format dissenyat per consumpció per màquina"
 
-#: builtin/blame.c:2586
+#: builtin/blame.c:2591
 msgid "Show porcelain format with per-line commit information"
 msgstr "Mostra el format de porcellana amb informació de comissió per línia"
 
-#: builtin/blame.c:2587
+#: builtin/blame.c:2592
 msgid "Use the same output mode as git-annotate (Default: off)"
 msgstr ""
 "Usa el mateix mode de sortida que git-annotate (Per defecte: desactivat)"
 
-#: builtin/blame.c:2588
+#: builtin/blame.c:2593
 msgid "Show raw timestamp (Default: off)"
 msgstr "Mostra la marca de temps crua (Per defecte: desactivat)"
 
-#: builtin/blame.c:2589
+#: builtin/blame.c:2594
 msgid "Show long commit SHA1 (Default: off)"
 msgstr "Mostra l'SHA1 de comissió llarg (Per defecte: desactivat)"
 
-#: builtin/blame.c:2590
+#: builtin/blame.c:2595
 msgid "Suppress author name and timestamp (Default: off)"
 msgstr "Omet el nom d'autor i la marca de temps (Per defecte: desactivat)"
 
-#: builtin/blame.c:2591
+#: builtin/blame.c:2596
 msgid "Show author email instead of name (Default: off)"
 msgstr ""
 "Mostra l'adreça de correu electrònic de l'autor en lloc del nom (Per "
 "defecte: desactivat)"
 
-#: builtin/blame.c:2592
+#: builtin/blame.c:2597
 msgid "Ignore whitespace differences"
 msgstr "Ignora les diferències d'espai en blanc"
 
-#: builtin/blame.c:2599
-msgid "Use an experimental indent-based heuristic to improve diffs"
-msgstr ""
-"Usa un heurístic experimental basat en sagnat per a millorar les diferències"
+#: builtin/blame.c:2604
+msgid "Use an experimental heuristic to improve diffs"
+msgstr "Usa un heurístic experimental per a millorar les diferències"
 
-#: builtin/blame.c:2600
-msgid "Use an experimental blank-line-based heuristic to improve diffs"
-msgstr ""
-"Usa un heurístic experimental basat en línies en blanc per a millorar les "
-"diferències"
-
-#: builtin/blame.c:2602
+#: builtin/blame.c:2606
 msgid "Spend extra cycles to find better match"
 msgstr "Gasta cicles extres per a trobar una coincidència millor"
 
-#: builtin/blame.c:2603
+#: builtin/blame.c:2607
 msgid "Use revisions from <file> instead of calling git-rev-list"
 msgstr "Usa les revisions de <fitxer> en lloc d'invocar git-rev-list"
 
-#: builtin/blame.c:2604
+#: builtin/blame.c:2608
 msgid "Use <file>'s contents as the final image"
 msgstr "Usa els continguts de <fitxer> com a la imatge final"
 
-#: builtin/blame.c:2605 builtin/blame.c:2606
+#: builtin/blame.c:2609 builtin/blame.c:2610
 msgid "score"
 msgstr "puntuació"
 
-#: builtin/blame.c:2605
+#: builtin/blame.c:2609
 msgid "Find line copies within and across files"
 msgstr "Troba còpies de línia dins i a través dels fitxers"
 
-#: builtin/blame.c:2606
+#: builtin/blame.c:2610
 msgid "Find line movements within and across files"
 msgstr "Troba moviments de línia dins i a través dels fitxers"
 
-#: builtin/blame.c:2607
+#: builtin/blame.c:2611
 msgid "n,m"
 msgstr "n,m"
 
-#: builtin/blame.c:2607
+#: builtin/blame.c:2611
 msgid "Process only line range n,m, counting from 1"
 msgstr "Processa només el rang de línies n,m, comptant des d'1"
 
-#: builtin/blame.c:2654
+#: builtin/blame.c:2658
 msgid "--progress can't be used with --incremental or porcelain formats"
 msgstr ""
 "no es pot usar --progress amb els formats --incremental o de porcellana"
@@ -4736,42 +5079,42 @@
 #. takes 22 places, is the longest among various forms of
 #. relative timestamps, but your language may need more or
 #. fewer display columns.
-#: builtin/blame.c:2700
+#: builtin/blame.c:2706
 msgid "4 years, 11 months ago"
 msgstr "fa 4 anys i 11 mesos"
 
-#: builtin/blame.c:2780
+#: builtin/blame.c:2786
 msgid "--contents and --reverse do not blend well."
-msgstr "--contents i --reverse no es jutgen bé."
+msgstr "--contents i --reverse no funcionen bé juntes."
 
-#: builtin/blame.c:2800
+#: builtin/blame.c:2806
 msgid "cannot use --contents with final commit object name"
 msgstr "no es pot usar --contents amb el nom d'objecte de la comissió final"
 
-#: builtin/blame.c:2805
+#: builtin/blame.c:2811
 msgid "--reverse and --first-parent together require specified latest commit"
 msgstr ""
 "--reverse i --first-parent-together requereixen una última comissió "
 "especificada"
 
-#: builtin/blame.c:2832
+#: builtin/blame.c:2838
 msgid ""
 "--reverse --first-parent together require range along first-parent chain"
 msgstr ""
 "--reverse --first-parent junts requereixen un rang de la cadena de mares "
 "primeres"
 
-#: builtin/blame.c:2843
+#: builtin/blame.c:2849
 #, c-format
 msgid "no such path %s in %s"
 msgstr "no hi ha tal camí %s en %s"
 
-#: builtin/blame.c:2854
+#: builtin/blame.c:2860
 #, c-format
 msgid "cannot read blob %s for path %s"
 msgstr "no es pot llegir el blob %s per al camí %s"
 
-#: builtin/blame.c:2873
+#: builtin/blame.c:2879
 #, c-format
 msgid "file %s has only %lu line"
 msgid_plural "file %s has only %lu lines"
@@ -4951,46 +5294,46 @@
 msgid "(no branch)"
 msgstr "(cap branca)"
 
-#: builtin/branch.c:544
+#: builtin/branch.c:535
 #, c-format
 msgid "Branch %s is being rebased at %s"
-msgstr "La branca %s s'està rebasant a %s"
+msgstr "S'està fent «rebase» en la branca %s a %s"
 
-#: builtin/branch.c:548
+#: builtin/branch.c:539
 #, c-format
 msgid "Branch %s is being bisected at %s"
 msgstr "La branca %s s'està bisecant a %s"
 
-#: builtin/branch.c:563
+#: builtin/branch.c:554
 msgid "cannot rename the current branch while not on any."
 msgstr "no es pot canviar el nom de la branca actual mentre no s'és a cap."
 
-#: builtin/branch.c:573
+#: builtin/branch.c:564
 #, c-format
 msgid "Invalid branch name: '%s'"
 msgstr "Nom de branca no vàlid: '%s'"
 
-#: builtin/branch.c:590
+#: builtin/branch.c:581
 msgid "Branch rename failed"
 msgstr "El canvi de nom de branca ha fallat"
 
-#: builtin/branch.c:594
+#: builtin/branch.c:585
 #, c-format
 msgid "Renamed a misnamed branch '%s' away"
-msgstr "S'ha canviat el nom de la branca malanomenada '%s'"
+msgstr "S'ha canviat el nom de la branca mal anomenada '%s'"
 
-#: builtin/branch.c:597
+#: builtin/branch.c:588
 #, c-format
 msgid "Branch renamed to %s, but HEAD is not updated!"
 msgstr "S'ha canviat el nom de la branca a %s, però HEAD no està actualitzat!"
 
-#: builtin/branch.c:604
+#: builtin/branch.c:595
 msgid "Branch is renamed, but update of config-file failed"
 msgstr ""
 "La branca està canviada de nom, però l'actualització del fitxer de "
 "configuració ha fallat"
 
-#: builtin/branch.c:620
+#: builtin/branch.c:611
 #, c-format
 msgid ""
 "Please edit the description for the branch\n"
@@ -4999,214 +5342,218 @@
 msgstr ""
 "Si us plau, editeu la descripció de la branca\n"
 "  %s\n"
-"Es despullaran les línies que comencin amb '%c'.\n"
+"S'eliminaran les línies que comencin amb '%c'.\n"
 
-#: builtin/branch.c:651
+#: builtin/branch.c:643
 msgid "Generic options"
 msgstr "Opcions genèriques"
 
-#: builtin/branch.c:653
+#: builtin/branch.c:645
 msgid "show hash and subject, give twice for upstream branch"
 msgstr "mostra el hash i l'assumpte, doneu dues vegades per la branca font"
 
-#: builtin/branch.c:654
+#: builtin/branch.c:646
 msgid "suppress informational messages"
 msgstr "omet els missatges informatius"
 
-#: builtin/branch.c:655
+#: builtin/branch.c:647
 msgid "set up tracking mode (see git-pull(1))"
 msgstr "configura el mode de seguiment (vegeu git-pull(1))"
 
-#: builtin/branch.c:657
+#: builtin/branch.c:649
 msgid "change upstream info"
 msgstr "canvia la informació de font"
 
-#: builtin/branch.c:659
+#: builtin/branch.c:651
 msgid "upstream"
 msgstr "font"
 
-#: builtin/branch.c:659
+#: builtin/branch.c:651
 msgid "change the upstream info"
 msgstr "canvia la informació de font"
 
-#: builtin/branch.c:660
+#: builtin/branch.c:652
 msgid "Unset the upstream info"
 msgstr "Desestableix la informació de font"
 
-#: builtin/branch.c:661
+#: builtin/branch.c:653
 msgid "use colored output"
 msgstr "usa sortida colorada"
 
-#: builtin/branch.c:662
+#: builtin/branch.c:654
 msgid "act on remote-tracking branches"
 msgstr "actua en branques amb seguiment remot"
 
-#: builtin/branch.c:664 builtin/branch.c:665
+#: builtin/branch.c:656 builtin/branch.c:657
 msgid "print only branches that contain the commit"
 msgstr "imprimeix només les branques que continguin la comissió"
 
-#: builtin/branch.c:668
+#: builtin/branch.c:660
 msgid "Specific git-branch actions:"
 msgstr "Accions de git-branch específiques:"
 
-#: builtin/branch.c:669
+#: builtin/branch.c:661
 msgid "list both remote-tracking and local branches"
 msgstr "llista les branques amb seguiment remot i les locals"
 
-#: builtin/branch.c:671
+#: builtin/branch.c:663
 msgid "delete fully merged branch"
 msgstr "suprimeix la branca si està completament fusionada"
 
-#: builtin/branch.c:672
+#: builtin/branch.c:664
 msgid "delete branch (even if not merged)"
 msgstr "suprimeix la branca (encara que no estigui fusionada)"
 
-#: builtin/branch.c:673
+#: builtin/branch.c:665
 msgid "move/rename a branch and its reflog"
 msgstr "mou/canvia de nom una branca i el seu registre de referència"
 
-#: builtin/branch.c:674
+#: builtin/branch.c:666
 msgid "move/rename a branch, even if target exists"
 msgstr "mou/canvia de nom una branca, encara que el destí existeixi"
 
-#: builtin/branch.c:675
+#: builtin/branch.c:667
 msgid "list branch names"
 msgstr "llista els noms de branca"
 
-#: builtin/branch.c:676
+#: builtin/branch.c:668
 msgid "create the branch's reflog"
 msgstr "crea el registre de referència de la branca"
 
-#: builtin/branch.c:678
+#: builtin/branch.c:670
 msgid "edit the description for the branch"
 msgstr "edita la descripció de la branca"
 
-#: builtin/branch.c:679
+#: builtin/branch.c:671
 msgid "force creation, move/rename, deletion"
 msgstr "força creació, moviment/canvi de nom, supressió"
 
-#: builtin/branch.c:680
+#: builtin/branch.c:672
 msgid "print only branches that are merged"
 msgstr "imprimeix només les branques que s'han fusionat"
 
-#: builtin/branch.c:681
+#: builtin/branch.c:673
 msgid "print only branches that are not merged"
 msgstr "imprimeix només les branques que no s'han fusionat"
 
-#: builtin/branch.c:682
+#: builtin/branch.c:674
 msgid "list branches in columns"
 msgstr "llista les branques en columnes"
 
-#: builtin/branch.c:683 builtin/for-each-ref.c:38 builtin/tag.c:366
+#: builtin/branch.c:675 builtin/for-each-ref.c:38 builtin/tag.c:381
 msgid "key"
 msgstr "clau"
 
-#: builtin/branch.c:684 builtin/for-each-ref.c:39 builtin/tag.c:367
+#: builtin/branch.c:676 builtin/for-each-ref.c:39 builtin/tag.c:382
 msgid "field name to sort on"
 msgstr "nom del camp en el qual ordenar"
 
-#: builtin/branch.c:686 builtin/for-each-ref.c:41 builtin/notes.c:404
+#: builtin/branch.c:678 builtin/for-each-ref.c:41 builtin/notes.c:404
 #: builtin/notes.c:407 builtin/notes.c:567 builtin/notes.c:570
-#: builtin/tag.c:369
+#: builtin/tag.c:384
 msgid "object"
 msgstr "objecte"
 
-#: builtin/branch.c:687
+#: builtin/branch.c:679
 msgid "print only branches of the object"
 msgstr "imprimeix només les branques de l'objecte"
 
-#: builtin/branch.c:705
-msgid "Failed to resolve HEAD as a valid ref."
-msgstr "S'ha fallat en resoldre HEAD com a referència vàlida."
+#: builtin/branch.c:681 builtin/for-each-ref.c:46 builtin/tag.c:388
+msgid "sorting and filtering are case insensitive"
+msgstr "l'ordenació i el filtratge distingeixen entre majúscules i minúscules"
 
-#: builtin/branch.c:709 builtin/clone.c:706
+#: builtin/branch.c:698
+msgid "Failed to resolve HEAD as a valid ref."
+msgstr "S'ha produït un error en resoldre HEAD com a referència vàlida."
+
+#: builtin/branch.c:702 builtin/clone.c:706
 msgid "HEAD not found below refs/heads!"
 msgstr "HEAD no trobat sota refs/heads!"
 
-#: builtin/branch.c:729
+#: builtin/branch.c:724
 msgid "--column and --verbose are incompatible"
 msgstr "--column i --verbose són incompatibles"
 
-#: builtin/branch.c:740 builtin/branch.c:782
+#: builtin/branch.c:735 builtin/branch.c:787
 msgid "branch name required"
 msgstr "cal el nom de branca"
 
-#: builtin/branch.c:758
+#: builtin/branch.c:763
 msgid "Cannot give description to detached HEAD"
 msgstr "No es pot donar descripció a un HEAD separat"
 
-#: builtin/branch.c:763
+#: builtin/branch.c:768
 msgid "cannot edit description of more than one branch"
 msgstr "no es pot editar la descripció de més d'una branca"
 
-#: builtin/branch.c:770
+#: builtin/branch.c:775
 #, c-format
 msgid "No commit on branch '%s' yet."
 msgstr "Encara no hi ha cap comissió en la branca '%s'."
 
-#: builtin/branch.c:773
+#: builtin/branch.c:778
 #, c-format
 msgid "No branch named '%s'."
 msgstr "No hi ha branca amb nom '%s'."
 
-#: builtin/branch.c:788
+#: builtin/branch.c:793
 msgid "too many branches for a rename operation"
 msgstr "hi ha massa branques per a una operació de canvi de nom"
 
-#: builtin/branch.c:793
+#: builtin/branch.c:798
 msgid "too many branches to set new upstream"
 msgstr "hi ha massa branques per a establir una nova font"
 
-#: builtin/branch.c:797
+#: builtin/branch.c:802
 #, c-format
 msgid ""
 "could not set upstream of HEAD to %s when it does not point to any branch."
 msgstr ""
 "no s'ha pogut establir la font de HEAD com a %s quan no assenyala cap branca."
 
-#: builtin/branch.c:800 builtin/branch.c:822 builtin/branch.c:843
+#: builtin/branch.c:805 builtin/branch.c:827 builtin/branch.c:848
 #, c-format
 msgid "no such branch '%s'"
 msgstr "no hi ha tal branca '%s'"
 
-#: builtin/branch.c:804
+#: builtin/branch.c:809
 #, c-format
 msgid "branch '%s' does not exist"
 msgstr "la branca '%s' no existeix"
 
-#: builtin/branch.c:816
+#: builtin/branch.c:821
 msgid "too many branches to unset upstream"
 msgstr "hi ha massa branques per a desestablir la font"
 
-#: builtin/branch.c:820
+#: builtin/branch.c:825
 msgid "could not unset upstream of HEAD when it does not point to any branch."
 msgstr ""
 "no s'ha pogut desestablir la font de HEAD perquè no assenyala cap branca."
 
-#: builtin/branch.c:826
+#: builtin/branch.c:831
 #, c-format
 msgid "Branch '%s' has no upstream information"
 msgstr "La branca '%s' no té informació de font"
 
-#: builtin/branch.c:840
+#: builtin/branch.c:845
 msgid "it does not make sense to create 'HEAD' manually"
 msgstr "no té sentit crear 'HEAD' manualment"
 
-#: builtin/branch.c:846
+#: builtin/branch.c:851
 msgid "-a and -r options to 'git branch' do not make sense with a branch name"
 msgstr ""
 "les opcions -a i -r a 'git branch' no tenen sentit amb un nom de branca"
 
-#: builtin/branch.c:849
+#: builtin/branch.c:854
 #, c-format
 msgid ""
 "The --set-upstream flag is deprecated and will be removed. Consider using --"
 "track or --set-upstream-to\n"
 msgstr ""
-"La bandera --set-upstream està desaprovada i s'eliminarà. Considereu usar --"
+"La bandera --set-upstream està en desús i s'eliminarà. Considereu usar --"
 "track o --set-upstream-to\n"
 
-#: builtin/branch.c:866
+#: builtin/branch.c:871
 #, c-format
 msgid ""
 "\n"
@@ -5275,13 +5622,13 @@
 msgstr ""
 "en els objectes de blob, executa els filtres en el contingut de l'objecte"
 
-#: builtin/cat-file.c:561 git-submodule.sh:923
+#: builtin/cat-file.c:561 git-submodule.sh:929
 msgid "blob"
 msgstr "blob"
 
 #: builtin/cat-file.c:562
 msgid "use a specific path for --textconv/--filters"
-msgstr "usa un camí especìfic per a --textconv/--filters"
+msgstr "usa un camí específic per a --textconv/--filters"
 
 #: builtin/cat-file.c:564
 msgid "allow -s and -t to work with broken/corrupt objects"
@@ -5333,9 +5680,9 @@
 msgid "terminate input and output records by a NUL character"
 msgstr "acaba els registres d'entrada i de sortida amb un caràcter NUL"
 
-#: builtin/check-ignore.c:18 builtin/checkout.c:1137 builtin/gc.c:325
+#: builtin/check-ignore.c:18 builtin/checkout.c:1140 builtin/gc.c:332
 msgid "suppress progress reporting"
-msgstr "omet el reportatge de progrés"
+msgstr "omet els informes de progrés"
 
 #: builtin/check-ignore.c:26
 msgid "show non-matching input paths"
@@ -5392,7 +5739,7 @@
 
 #: builtin/checkout-index.c:144
 msgid "stage should be between 1 and 3 or all"
-msgstr "l'etapa ha de ser entre 1 i 3 o all"
+msgstr "«stage» ha de ser entre 1 i 3 o all"
 
 #: builtin/checkout-index.c:160
 msgid "check out all files in the index"
@@ -5404,7 +5751,8 @@
 
 #: builtin/checkout-index.c:163
 msgid "no warning for existing files and files not in index"
-msgstr "cap advertència per a fitxers existents i fitxers no en l'índex"
+msgstr ""
+"cap advertència per a fitxers existents i fitxers que no siguin a l'índex"
 
 #: builtin/checkout-index.c:165
 msgid "don't checkout new files"
@@ -5423,9 +5771,9 @@
 msgstr "escriu el contingut a fitxers temporals"
 
 #: builtin/checkout-index.c:174 builtin/column.c:30
-#: builtin/submodule--helper.c:595 builtin/submodule--helper.c:598
-#: builtin/submodule--helper.c:604 builtin/submodule--helper.c:951
-#: builtin/worktree.c:469
+#: builtin/submodule--helper.c:597 builtin/submodule--helper.c:600
+#: builtin/submodule--helper.c:606 builtin/submodule--helper.c:967
+#: builtin/worktree.c:471
 msgid "string"
 msgstr "cadena"
 
@@ -5435,7 +5783,7 @@
 
 #: builtin/checkout-index.c:177
 msgid "copy out the files from named stage"
-msgstr "copia els fitxers des de l'etapa anomenada"
+msgstr "copia els fitxers des de «stage» amb nom"
 
 #: builtin/checkout.c:25
 msgid "git checkout [<options>] <branch>"
@@ -5448,12 +5796,12 @@
 #: builtin/checkout.c:134 builtin/checkout.c:167
 #, c-format
 msgid "path '%s' does not have our version"
-msgstr "el camí '%s' no té la versió nostra"
+msgstr "el camí '%s' no té la nostra versió"
 
 #: builtin/checkout.c:136 builtin/checkout.c:169
 #, c-format
 msgid "path '%s' does not have their version"
-msgstr "el camí '%s' no té la versió seva"
+msgstr "el camí '%s' no té la seva versió"
 
 #: builtin/checkout.c:152
 #, c-format
@@ -5490,7 +5838,7 @@
 #, c-format
 msgid "Cannot update paths and switch to branch '%s' at the same time."
 msgstr ""
-"No es pot actualitzar els camins i canviar a la branca '%s' a la vegada."
+"No es poden actualitzar els camins i canviar a la branca '%s' a la vegada."
 
 #: builtin/checkout.c:339 builtin/checkout.c:346
 #, c-format
@@ -5501,50 +5849,50 @@
 msgid "you need to resolve your current index first"
 msgstr "heu de primer resoldre el vostre índex actual"
 
-#: builtin/checkout.c:624
+#: builtin/checkout.c:625
 #, c-format
 msgid "Can not do reflog for '%s': %s\n"
 msgstr "No es pot fer reflog per a '%s': %s\n"
 
-#: builtin/checkout.c:663
+#: builtin/checkout.c:666
 msgid "HEAD is now at"
 msgstr "HEAD ara és a"
 
-#: builtin/checkout.c:667 builtin/clone.c:660
+#: builtin/checkout.c:670 builtin/clone.c:660
 msgid "unable to update HEAD"
 msgstr "no s'ha pogut actualitzar HEAD"
 
-#: builtin/checkout.c:671
+#: builtin/checkout.c:674
 #, c-format
 msgid "Reset branch '%s'\n"
 msgstr "Restableix la branca '%s'\n"
 
-#: builtin/checkout.c:674
+#: builtin/checkout.c:677
 #, c-format
 msgid "Already on '%s'\n"
 msgstr "Ja en '%s'\n"
 
-#: builtin/checkout.c:678
+#: builtin/checkout.c:681
 #, c-format
 msgid "Switched to and reset branch '%s'\n"
-msgstr "S'ha agafat i restablert la branca '%s'\n"
+msgstr "S'ha canviat i restablert a la branca '%s'\n"
 
-#: builtin/checkout.c:680 builtin/checkout.c:1069
+#: builtin/checkout.c:683 builtin/checkout.c:1072
 #, c-format
 msgid "Switched to a new branch '%s'\n"
-msgstr "S'ha agafat la branca nova '%s'\n"
+msgstr "S'ha canviat a la branca nova '%s'\n"
 
-#: builtin/checkout.c:682
+#: builtin/checkout.c:685
 #, c-format
 msgid "Switched to branch '%s'\n"
-msgstr "S'ha agafat la branca '%s'\n"
+msgstr "S'ha canviat a la branca '%s'\n"
 
-#: builtin/checkout.c:733
+#: builtin/checkout.c:736
 #, c-format
 msgid " ... and %d more.\n"
 msgstr " ... i %d més.\n"
 
-#: builtin/checkout.c:739
+#: builtin/checkout.c:742
 #, c-format
 msgid ""
 "Warning: you are leaving %d commit behind, not connected to\n"
@@ -5567,7 +5915,7 @@
 "\n"
 "%s\n"
 
-#: builtin/checkout.c:758
+#: builtin/checkout.c:761
 #, c-format
 msgid ""
 "If you want to keep it by creating a new branch, this may be a good time\n"
@@ -5594,150 +5942,150 @@
 " git branch <nom-de-branca-nova> %s\n"
 "\n"
 
-#: builtin/checkout.c:794
+#: builtin/checkout.c:797
 msgid "internal error in revision walk"
 msgstr "error intern en el passeig per revisions"
 
-#: builtin/checkout.c:798
+#: builtin/checkout.c:801
 msgid "Previous HEAD position was"
 msgstr "La posició de HEAD anterior era"
 
-#: builtin/checkout.c:825 builtin/checkout.c:1064
+#: builtin/checkout.c:828 builtin/checkout.c:1067
 msgid "You are on a branch yet to be born"
-msgstr "Sou en una branca que encara ha de nàixer"
+msgstr "Sou en una branca que encara ha de néixer"
 
-#: builtin/checkout.c:970
+#: builtin/checkout.c:973
 #, c-format
 msgid "only one reference expected, %d given."
 msgstr "s'esperava només una referència, s'han donat %d."
 
-#: builtin/checkout.c:1010 builtin/worktree.c:214
+#: builtin/checkout.c:1013 builtin/worktree.c:214
 #, c-format
 msgid "invalid reference: %s"
 msgstr "referència no vàlida: %s"
 
-#: builtin/checkout.c:1039
+#: builtin/checkout.c:1042
 #, c-format
 msgid "reference is not a tree: %s"
 msgstr "la referència no és un arbre: %s"
 
-#: builtin/checkout.c:1078
+#: builtin/checkout.c:1081
 msgid "paths cannot be used with switching branches"
 msgstr "els camins no es poden usar amb canvi de branca"
 
-#: builtin/checkout.c:1081 builtin/checkout.c:1085
+#: builtin/checkout.c:1084 builtin/checkout.c:1088
 #, c-format
 msgid "'%s' cannot be used with switching branches"
 msgstr "'%s' no es pot usar amb canvi de branca"
 
-#: builtin/checkout.c:1089 builtin/checkout.c:1092 builtin/checkout.c:1097
-#: builtin/checkout.c:1100
+#: builtin/checkout.c:1092 builtin/checkout.c:1095 builtin/checkout.c:1100
+#: builtin/checkout.c:1103
 #, c-format
 msgid "'%s' cannot be used with '%s'"
 msgstr "'%s' no es pot usar amb '%s'"
 
-#: builtin/checkout.c:1105
+#: builtin/checkout.c:1108
 #, c-format
 msgid "Cannot switch branch to a non-commit '%s'"
 msgstr "No es pot canviar la branca a la no comissió '%s'"
 
-#: builtin/checkout.c:1138 builtin/checkout.c:1140 builtin/clone.c:93
+#: builtin/checkout.c:1141 builtin/checkout.c:1143 builtin/clone.c:93
 #: builtin/remote.c:165 builtin/remote.c:167 builtin/worktree.c:324
 #: builtin/worktree.c:326
 msgid "branch"
 msgstr "branca"
 
-#: builtin/checkout.c:1139
+#: builtin/checkout.c:1142
 msgid "create and checkout a new branch"
 msgstr "crea i agafa una branca nova"
 
-#: builtin/checkout.c:1141
+#: builtin/checkout.c:1144
 msgid "create/reset and checkout a branch"
 msgstr "crea/restableix i agafa una branca"
 
-#: builtin/checkout.c:1142
+#: builtin/checkout.c:1145
 msgid "create reflog for new branch"
 msgstr "crea un registre de referència per a la branca nova"
 
-#: builtin/checkout.c:1143 builtin/worktree.c:328
+#: builtin/checkout.c:1146 builtin/worktree.c:328
 msgid "detach HEAD at named commit"
 msgstr "separa HEAD a la comissió anomenada"
 
-#: builtin/checkout.c:1144
+#: builtin/checkout.c:1147
 msgid "set upstream info for new branch"
 msgstr "estableix la informació de font de la branca nova"
 
-#: builtin/checkout.c:1146
+#: builtin/checkout.c:1149
 msgid "new-branch"
 msgstr "branca-nova"
 
-#: builtin/checkout.c:1146
+#: builtin/checkout.c:1149
 msgid "new unparented branch"
 msgstr "branca òrfena nova"
 
-#: builtin/checkout.c:1147
+#: builtin/checkout.c:1150
 msgid "checkout our version for unmerged files"
 msgstr "agafa la versió nostra dels fitxers sense fusionar"
 
-#: builtin/checkout.c:1149
+#: builtin/checkout.c:1152
 msgid "checkout their version for unmerged files"
 msgstr "agafa la versió seva dels fitxers sense fusionar"
 
-#: builtin/checkout.c:1151
+#: builtin/checkout.c:1154
 msgid "force checkout (throw away local modifications)"
-msgstr "agafa a la força (descarta qualsevulla modificació local)"
+msgstr "agafa a la força (descarta qualsevol modificació local)"
 
-#: builtin/checkout.c:1152
+#: builtin/checkout.c:1155
 msgid "perform a 3-way merge with the new branch"
 msgstr "realitza una fusió de 3 vies amb la branca nova"
 
-#: builtin/checkout.c:1153 builtin/merge.c:231
+#: builtin/checkout.c:1156 builtin/merge.c:235
 msgid "update ignored files (default)"
 msgstr "actualitza els fitxers ignorats (per defecte)"
 
-#: builtin/checkout.c:1154 builtin/log.c:1466 parse-options.h:251
+#: builtin/checkout.c:1157 builtin/log.c:1466 parse-options.h:251
 msgid "style"
 msgstr "estil"
 
-#: builtin/checkout.c:1155
+#: builtin/checkout.c:1158
 msgid "conflict style (merge or diff3)"
 msgstr "estil de conflicte (fusió o diff3)"
 
-#: builtin/checkout.c:1158
+#: builtin/checkout.c:1161
 msgid "do not limit pathspecs to sparse entries only"
 msgstr "no limitis les especificacions de camí només a entrades disperses"
 
-#: builtin/checkout.c:1160
+#: builtin/checkout.c:1163
 msgid "second guess 'git checkout <no-such-branch>'"
 msgstr "dubta 'git checkout <cap-branca-així>'"
 
-#: builtin/checkout.c:1162
+#: builtin/checkout.c:1165
 msgid "do not check if another worktree is holding the given ref"
 msgstr "no comprovis si altre arbre de treball té la referència donada"
 
-#: builtin/checkout.c:1163 builtin/clone.c:63 builtin/fetch.c:119
-#: builtin/merge.c:228 builtin/pull.c:117 builtin/push.c:536
+#: builtin/checkout.c:1166 builtin/clone.c:63 builtin/fetch.c:119
+#: builtin/merge.c:232 builtin/pull.c:117 builtin/push.c:539
 #: builtin/send-pack.c:168
 msgid "force progress reporting"
 msgstr "força l'informe de progrés"
 
-#: builtin/checkout.c:1194
+#: builtin/checkout.c:1197
 msgid "-b, -B and --orphan are mutually exclusive"
 msgstr "-b, -B i --orphan són mutualment exclusius"
 
-#: builtin/checkout.c:1211
+#: builtin/checkout.c:1214
 msgid "--track needs a branch name"
 msgstr "--track necessita un nom de branca"
 
-#: builtin/checkout.c:1216
+#: builtin/checkout.c:1219
 msgid "Missing branch name; try -b"
 msgstr "Manca el nom de branca; proveu -b"
 
-#: builtin/checkout.c:1252
+#: builtin/checkout.c:1255
 msgid "invalid path specification"
 msgstr "especificació de camí no vàlida"
 
-#: builtin/checkout.c:1259
+#: builtin/checkout.c:1262
 #, c-format
 msgid ""
 "Cannot update paths and switch to branch '%s' at the same time.\n"
@@ -5746,12 +6094,12 @@
 "No es poden actualitzar els camins i canviar a la branca '%s' a la vegada.\n"
 "Volíeu agafar '%s', la qual no es pot resoldre com a comissió?"
 
-#: builtin/checkout.c:1264
+#: builtin/checkout.c:1267
 #, c-format
 msgid "git checkout: --detach does not take a path argument '%s'"
 msgstr "git checkout: --detach no accepta un paràmetre de camí '%s'"
 
-#: builtin/checkout.c:1268
+#: builtin/checkout.c:1271
 msgid ""
 "git checkout: --ours/--theirs, --force and --merge are incompatible when\n"
 "checking out of the index."
@@ -5778,31 +6126,33 @@
 #: builtin/clean.c:31
 #, c-format
 msgid "Skipping repository %s\n"
-msgstr "S'està saltant el dipòsit %s\n"
+msgstr "S'està ometent el dipòsit %s\n"
 
 #: builtin/clean.c:32
 #, c-format
 msgid "Would skip repository %s\n"
-msgstr "Saltaria el dipòsit %s\n"
+msgstr "Ometria el dipòsit %s\n"
 
 #: builtin/clean.c:33
 #, c-format
 msgid "failed to remove %s"
-msgstr "s'ha fallat en eliminar %s"
+msgstr "s'ha produït un error en eliminar %s"
 
-#: builtin/clean.c:291
+#: builtin/clean.c:291 git-add--interactive.perl:623
+#, c-format
 msgid ""
 "Prompt help:\n"
 "1          - select a numbered item\n"
 "foo        - select item based on unique prefix\n"
-"           - (empty) select nothing"
+"           - (empty) select nothing\n"
 msgstr ""
-"Ajuda d'avís:\n"
+"Ajuda:\n"
 "1          - selecciona un ítem numerat\n"
 "foo        - selecciona un ítem basat en un prefix únic\n"
-"           - (buit) no seleccionis res"
+"           - (buit) no seleccionis res\n"
 
-#: builtin/clean.c:295
+#: builtin/clean.c:295 git-add--interactive.perl:632
+#, c-format
 msgid ""
 "Prompt help:\n"
 "1          - select a single item\n"
@@ -5811,21 +6161,22 @@
 "foo        - select item based on unique prefix\n"
 "-...       - unselect specified items\n"
 "*          - choose all items\n"
-"           - (empty) finish selecting"
+"           - (empty) finish selecting\n"
 msgstr ""
-"Ajuda d'avís:\n"
+"Ajuda:\n"
 "1          - selecciona un sol ítem\n"
 "3-5        - selecciona un rang d'ítems\n"
 "2-3,6-9    - selecciona múltiples rangs\n"
 "foo        - selecciona un ítem basat en un prefix únic\n"
 "-...       - desselecciona els ítems seleccionats\n"
 "*          - tria tots els ítems\n"
-"           - (buit) finalitza la selecció"
+"           - (buit) finalitza la selecció\n"
 
-#: builtin/clean.c:511
-#, c-format
-msgid "Huh (%s)?"
-msgstr "Perdó (%s)?"
+#: builtin/clean.c:511 git-add--interactive.perl:598
+#: git-add--interactive.perl:603
+#, c-format, perl-format
+msgid "Huh (%s)?\n"
+msgstr "Perdó (%s)?\n"
 
 #: builtin/clean.c:653
 #, c-format
@@ -5835,7 +6186,7 @@
 #: builtin/clean.c:690
 #, c-format
 msgid "WARNING: Cannot find items matched by: %s"
-msgstr "ADVERTÈNCIA: No es pot trobar ítems que coincideixin amb: %s"
+msgstr "ADVERTÈNCIA: No es poden trobar ítems que coincideixin amb: %s"
 
 #: builtin/clean.c:711
 msgid "Select items to delete"
@@ -5847,9 +6198,10 @@
 msgid "Remove %s [y/N]? "
 msgstr "Voleu eliminar %s [y/N]? "
 
-#: builtin/clean.c:777
-msgid "Bye."
-msgstr "Adéu."
+#: builtin/clean.c:777 git-add--interactive.perl:1669
+#, c-format
+msgid "Bye.\n"
+msgstr "Adéu.\n"
 
 #: builtin/clean.c:785
 msgid ""
@@ -5869,11 +6221,11 @@
 "help                - aquesta pantalla\n"
 "?                   - ajuda de selecció de l'avís"
 
-#: builtin/clean.c:812
+#: builtin/clean.c:812 git-add--interactive.perl:1745
 msgid "*** Commands ***"
 msgstr "*** Ordres ***"
 
-#: builtin/clean.c:813
+#: builtin/clean.c:813 git-add--interactive.perl:1742
 msgid "What now"
 msgstr "I ara què"
 
@@ -5903,8 +6255,8 @@
 msgid "remove whole directories"
 msgstr "elimina directoris sencers"
 
-#: builtin/clean.c:875 builtin/describe.c:407 builtin/grep.c:725
-#: builtin/ls-files.c:536 builtin/name-rev.c:313 builtin/show-ref.c:182
+#: builtin/clean.c:875 builtin/describe.c:407 builtin/grep.c:1056
+#: builtin/ls-files.c:538 builtin/name-rev.c:313 builtin/show-ref.c:176
 msgid "pattern"
 msgstr "patró"
 
@@ -5929,15 +6281,15 @@
 "clean.requireForce set to true and neither -i, -n, nor -f given; refusing to "
 "clean"
 msgstr ""
-"clean.requireForce està establerta a veritat i ni -i, -n ni -f s'ha donat; "
-"refusant netejar"
+"clean.requireForce està establerta a veritat i ni -i, -n ni -f s'han "
+"indicat; refusant netejar"
 
 #: builtin/clean.c:904
 msgid ""
 "clean.requireForce defaults to true and neither -i, -n, nor -f given; "
 "refusing to clean"
 msgstr ""
-"clean.requireForce és per defecte veritat i ni -i, -n ni -f s'ha donat; "
+"clean.requireForce és per defecte veritat i ni -i, -n ni -f s'han indicat; "
 "refusant netejar"
 
 #: builtin/clone.c:37
@@ -5954,7 +6306,7 @@
 
 #: builtin/clone.c:70
 msgid "create a mirror repository (implies bare)"
-msgstr "crea un dipòsit reflectit (implica bare)"
+msgstr "crea un dipòsit mirall (implica bare)"
 
 #: builtin/clone.c:72
 msgid "to clone from a local repository"
@@ -5982,10 +6334,10 @@
 
 #: builtin/clone.c:84 builtin/init-db.c:476
 msgid "directory from which templates will be used"
-msgstr "directori del qual les plantilles s'usaran"
+msgstr "directori des del qual s'usaran les plantilles"
 
-#: builtin/clone.c:86 builtin/clone.c:88 builtin/submodule--helper.c:602
-#: builtin/submodule--helper.c:954
+#: builtin/clone.c:86 builtin/clone.c:88 builtin/submodule--helper.c:604
+#: builtin/submodule--helper.c:970
 msgid "reference repository"
 msgstr "dipòsit de referència"
 
@@ -6009,7 +6361,7 @@
 msgid "path to git-upload-pack on the remote"
 msgstr "camí a git-upload-pack en el remot"
 
-#: builtin/clone.c:97 builtin/fetch.c:120 builtin/grep.c:668 builtin/pull.c:202
+#: builtin/clone.c:97 builtin/fetch.c:120 builtin/grep.c:999 builtin/pull.c:202
 msgid "depth"
 msgstr "profunditat"
 
@@ -6017,7 +6369,7 @@
 msgid "create a shallow clone of that depth"
 msgstr "crea un clon superficial de tal profunditat"
 
-#: builtin/clone.c:99 builtin/fetch.c:122 builtin/pack-objects.c:2848
+#: builtin/clone.c:99 builtin/fetch.c:122 builtin/pack-objects.c:2836
 #: parse-options.h:142
 msgid "time"
 msgstr "hora"
@@ -6031,8 +6383,8 @@
 msgstr "revisió"
 
 #: builtin/clone.c:102 builtin/fetch.c:125
-msgid "deepen history of shallow clone by excluding rev"
-msgstr "aprofundeix la història d'un clon superficial excloent una revisió"
+msgid "deepen history of shallow clone, excluding rev"
+msgstr "aprofundeix la història d'un clon superficial, excloent una revisió"
 
 #: builtin/clone.c:104
 msgid "clone only one branch, HEAD or --branch"
@@ -6058,13 +6410,13 @@
 msgid "set config inside the new repository"
 msgstr "estableix la configuració dins del dipòsit nou"
 
-#: builtin/clone.c:111 builtin/fetch.c:140 builtin/push.c:547
+#: builtin/clone.c:111 builtin/fetch.c:140 builtin/push.c:550
 msgid "use IPv4 addresses only"
-msgstr "usa només les adreces IPv4"
+msgstr "usa només adreces IPv4"
 
-#: builtin/clone.c:113 builtin/fetch.c:142 builtin/push.c:549
+#: builtin/clone.c:113 builtin/fetch.c:142 builtin/push.c:552
 msgid "use IPv6 addresses only"
-msgstr "usa només les adreces IPv6"
+msgstr "usa només adreces IPv6"
 
 #: builtin/clone.c:250
 msgid ""
@@ -6082,7 +6434,7 @@
 #: builtin/clone.c:375
 #, c-format
 msgid "failed to open '%s'"
-msgstr "s'ha fallat en obrir '%s'"
+msgstr "s'ha produït un error en obrir '%s'"
 
 #: builtin/clone.c:383
 #, c-format
@@ -6092,17 +6444,17 @@
 #: builtin/clone.c:397
 #, c-format
 msgid "failed to stat %s\n"
-msgstr "s'ha fallat en fer stat a '%s'\n"
+msgstr "s'ha produït un error en fer stat a '%s'\n"
 
 #: builtin/clone.c:419
 #, c-format
 msgid "failed to create link '%s'"
-msgstr "s'ha fallat en crear l'enllaç '%s'"
+msgstr "s'ha produït un error en crear l'enllaç '%s'"
 
 #: builtin/clone.c:423
 #, c-format
 msgid "failed to copy file to '%s'"
-msgstr "s'ha fallat en copiar el fitxer a '%s'"
+msgstr "s'ha produït un error en copiar el fitxer a '%s'"
 
 #: builtin/clone.c:448
 #, c-format
@@ -6178,7 +6530,7 @@
 msgid "repository '%s' does not exist"
 msgstr "el dipòsit '%s' no existeix"
 
-#: builtin/clone.c:905 builtin/fetch.c:1338
+#: builtin/clone.c:905 builtin/fetch.c:1335
 #, c-format
 msgid "depth %s is not a positive number"
 msgstr "la profunditat %s no és nombre positiu"
@@ -6193,11 +6545,12 @@
 msgid "working tree '%s' already exists."
 msgstr "l'arbre de treball '%s' ja existeix."
 
-#: builtin/clone.c:940 builtin/clone.c:951 builtin/submodule--helper.c:657
-#: builtin/worktree.c:222 builtin/worktree.c:249
+#: builtin/clone.c:940 builtin/clone.c:951 builtin/difftool.c:252
+#: builtin/submodule--helper.c:659 builtin/worktree.c:222
+#: builtin/worktree.c:249
 #, c-format
 msgid "could not create leading directories of '%s'"
-msgstr "no s'ha pogut crear els directoris inicials de '%s'"
+msgstr "no s'han pogut crear els directoris inicials de '%s'"
 
 #: builtin/clone.c:943
 #, c-format
@@ -6219,7 +6572,7 @@
 "clone --recursive is not compatible with both --reference and --reference-if-"
 "able"
 msgstr ""
-"clone --recursive no és compatible amb ambdòs --reference i --reference-if-"
+"clone --recursive no és compatible amb ambdós --reference i --reference-if-"
 "able"
 
 #: builtin/clone.c:1019
@@ -6369,8 +6722,8 @@
 "    git commit --allow-empty\n"
 "\n"
 msgstr ""
-"El recull de cireres previ ja està buit, possiblement a causa de resolució "
-"de conflicte.\n"
+"El «cherry pick» previ ja està buit, possiblement a causa de resolució de "
+"conflicte.\n"
 "Si el voleu cometre de totes maneres, useu:\n"
 "\n"
 "    git commit --allow-empty\n"
@@ -6393,12 +6746,12 @@
 "\n"
 "    git reset\n"
 "\n"
-"Llavors \"git cherry-pick --continue\" reprendrà recollint\n"
-"com a cireres les comissions restants.\n"
+"Llavors \"git cherry-pick --continue\" reprendrà\n"
+"com a «cherry pick» les comissions restants.\n"
 
 #: builtin/commit.c:318
 msgid "failed to unpack HEAD tree object"
-msgstr "s'ha fallat en desempaquetar l'objecte d'arbre HEAD"
+msgstr "s'ha produït un error en desempaquetar l'objecte d'arbre HEAD"
 
 #: builtin/commit.c:359
 msgid "unable to create temporary index"
@@ -6414,7 +6767,7 @@
 
 #: builtin/commit.c:380
 msgid "Failed to update main cache tree"
-msgstr "S'ha fallat en actualitzar l'arbre principal de memòria cau"
+msgstr "S'ha produït un error en actualitzar l'arbre principal de memòria cau"
 
 #: builtin/commit.c:404 builtin/commit.c:427 builtin/commit.c:476
 msgid "unable to write new_index file"
@@ -6426,7 +6779,7 @@
 
 #: builtin/commit.c:460
 msgid "cannot do a partial commit during a cherry-pick."
-msgstr "no es pot fer una comissió parcial durant un recull de cireres."
+msgstr "no es pot fer una comissió parcial durant un «cherry pick»."
 
 #: builtin/commit.c:469
 msgid "cannot read the index"
@@ -6468,7 +6821,7 @@
 msgid "could not lookup commit %s"
 msgstr "no s'ha pogut trobar la comissió %s"
 
-#: builtin/commit.c:704 builtin/shortlog.c:286
+#: builtin/commit.c:704 builtin/shortlog.c:295
 #, c-format
 msgid "(reading log message from standard input)\n"
 msgstr "(s'està llegint el missatge de registre des de l'entrada estàndard)\n"
@@ -6519,7 +6872,7 @@
 "and try again.\n"
 msgstr ""
 "\n"
-"Sembla que podeu estar cometent un recull de cireres.\n"
+"Sembla que podeu estar cometent un «cherry pick».\n"
 "Si això no és correcte, si us plau, elimineu el fitxer\n"
 "\t%s\n"
 "i intenteu-ho de nou.\n"
@@ -6542,8 +6895,8 @@
 "An empty message aborts the commit.\n"
 msgstr ""
 "Si us plau, introduïu el missatge de comissió dels vostres canvis.\n"
-"Es retindran les línies començants amb '%c'; podeu eliminar-les per vós\n"
-"mateix si voleu. Un missatge buit avorta la comissió.\n"
+"Es retindran les línies començants amb '%c'; podeu eliminar-les vosaltres\n"
+"mateixos si voleu. Un missatge buit avorta la comissió.\n"
 
 #: builtin/commit.c:859
 #, c-format
@@ -6568,10 +6921,10 @@
 msgid "Error building trees"
 msgstr "Error en construir arbres"
 
-#: builtin/commit.c:969 builtin/tag.c:266
+#: builtin/commit.c:968 builtin/tag.c:280
 #, c-format
 msgid "Please supply the message using either -m or -F option.\n"
-msgstr "Si us plau, proveïu el missatge per usar o l'opció -m o l'opció -F.\n"
+msgstr "Si us plau, proveïu el missatge usant l'opció -m o l'opció -F.\n"
 
 #: builtin/commit.c:1071
 #, c-format
@@ -6580,7 +6933,7 @@
 "--author '%s' no és 'Nom <adreça-de-correu-electrònic>' i no coincideix amb\n"
 "cap autor existent"
 
-#: builtin/commit.c:1086 builtin/commit.c:1327
+#: builtin/commit.c:1086 builtin/commit.c:1325
 #, c-format
 msgid "Invalid untracked files mode '%s'"
 msgstr "Mode de fitxers no seguits no vàlid '%s'"
@@ -6603,7 +6956,7 @@
 
 #: builtin/commit.c:1168
 msgid "You are in the middle of a cherry-pick -- cannot amend."
-msgstr "Esteu enmig d'un recull de cireres -- no es pot esmenar."
+msgstr "Esteu enmig d'un «cherry pick» -- no es pot esmenar."
 
 #: builtin/commit.c:1171
 msgid "Options --squash and --fixup cannot be used together"
@@ -6630,69 +6983,65 @@
 msgstr "--include/--only no té sentit sense camí."
 
 #: builtin/commit.c:1212
-msgid "Clever... amending the last one with dirty index."
-msgstr "Intel·ligent... s'està esmenant l'últim amb índex brut."
-
-#: builtin/commit.c:1214
 msgid "Explicit paths specified without -i or -o; assuming --only paths..."
 msgstr ""
-"S'han especificat camins explícits sense -i o -o; s'està presumint camins --"
-"only..."
+"S'han especificat camins explícits sense -i o -o; s'està presumint --only "
+"camins..."
 
-#: builtin/commit.c:1226 builtin/tag.c:474
+#: builtin/commit.c:1224 builtin/tag.c:495
 #, c-format
 msgid "Invalid cleanup mode %s"
 msgstr "Mode de neteja no vàlid %s"
 
-#: builtin/commit.c:1231
+#: builtin/commit.c:1229
 msgid "Paths with -a does not make sense."
 msgstr "-a no té sentit amb camins."
 
-#: builtin/commit.c:1341 builtin/commit.c:1617
+#: builtin/commit.c:1339 builtin/commit.c:1612
 msgid "show status concisely"
 msgstr "mostra l'estat concisament"
 
-#: builtin/commit.c:1343 builtin/commit.c:1619
+#: builtin/commit.c:1341 builtin/commit.c:1614
 msgid "show branch information"
 msgstr "mostra la informació de branca"
 
-#: builtin/commit.c:1345
+#: builtin/commit.c:1343
 msgid "version"
 msgstr "versió"
 
-#: builtin/commit.c:1345 builtin/commit.c:1621 builtin/push.c:522
-#: builtin/worktree.c:440
+#: builtin/commit.c:1343 builtin/commit.c:1616 builtin/push.c:525
+#: builtin/worktree.c:442
 msgid "machine-readable output"
 msgstr "sortida llegible per màquina"
 
-#: builtin/commit.c:1348 builtin/commit.c:1623
+#: builtin/commit.c:1346 builtin/commit.c:1618
 msgid "show status in long format (default)"
 msgstr "mostra l'estat en format llarg (per defecte)"
 
-#: builtin/commit.c:1351 builtin/commit.c:1626
+#: builtin/commit.c:1349 builtin/commit.c:1621
 msgid "terminate entries with NUL"
 msgstr "acaba les entrades amb NUL"
 
-#: builtin/commit.c:1353 builtin/commit.c:1629 builtin/fast-export.c:981
-#: builtin/fast-export.c:984 builtin/tag.c:353
+#: builtin/commit.c:1351 builtin/commit.c:1624 builtin/fast-export.c:981
+#: builtin/fast-export.c:984 builtin/tag.c:368
 msgid "mode"
 msgstr "mode"
 
-#: builtin/commit.c:1354 builtin/commit.c:1629
+#: builtin/commit.c:1352 builtin/commit.c:1624
 msgid "show untracked files, optional modes: all, normal, no. (Default: all)"
 msgstr ""
 "mostra els fitxers no seguits, modes opcionals: all, normal, no. (Per "
 "defecte: all)"
 
-#: builtin/commit.c:1357
+#: builtin/commit.c:1355
 msgid "show ignored files"
 msgstr "mostra els fitxers ignorats"
 
-#: builtin/commit.c:1358 parse-options.h:155
+#: builtin/commit.c:1356 parse-options.h:155
 msgid "when"
 msgstr "quan"
 
-#: builtin/commit.c:1359
+#: builtin/commit.c:1357
 msgid ""
 "ignore changes to submodules, optional when: all, dirty, untracked. "
 "(Default: all)"
@@ -6700,202 +7049,202 @@
 "ignora els canvis als submòduls, opcional quan: all, dirty, untracked. (Per "
 "defecte: all)"
 
-#: builtin/commit.c:1361
+#: builtin/commit.c:1359
 msgid "list untracked files in columns"
 msgstr "mostra els fitxers no seguits en columnes"
 
-#: builtin/commit.c:1437
+#: builtin/commit.c:1435
 msgid "couldn't look up newly created commit"
 msgstr "no s'ha pogut trobar la comissió novament creada"
 
-#: builtin/commit.c:1439
+#: builtin/commit.c:1437
 msgid "could not parse newly created commit"
 msgstr "no s'ha pogut analitzar la comissió novament creada"
 
-#: builtin/commit.c:1484
+#: builtin/commit.c:1482
 msgid "detached HEAD"
 msgstr "HEAD separat"
 
-#: builtin/commit.c:1487
+#: builtin/commit.c:1485
 msgid " (root-commit)"
 msgstr " (comissió d'arrel)"
 
-#: builtin/commit.c:1587
+#: builtin/commit.c:1582
 msgid "suppress summary after successful commit"
 msgstr "omet el resum després d'una comissió reeixida"
 
-#: builtin/commit.c:1588
+#: builtin/commit.c:1583
 msgid "show diff in commit message template"
 msgstr "mostra la diferència en la plantilla de missatge de comissió"
 
-#: builtin/commit.c:1590
+#: builtin/commit.c:1585
 msgid "Commit message options"
 msgstr "Opcions de missatge de comissió"
 
-#: builtin/commit.c:1591 builtin/tag.c:351
+#: builtin/commit.c:1586 builtin/tag.c:366
 msgid "read message from file"
 msgstr "llegiu el missatge des d'un fitxer"
 
-#: builtin/commit.c:1592
+#: builtin/commit.c:1587
 msgid "author"
 msgstr "autor"
 
-#: builtin/commit.c:1592
+#: builtin/commit.c:1587
 msgid "override author for commit"
 msgstr "autor corregit de la comissió"
 
-#: builtin/commit.c:1593 builtin/gc.c:326
+#: builtin/commit.c:1588 builtin/gc.c:333
 msgid "date"
 msgstr "data"
 
-#: builtin/commit.c:1593
+#: builtin/commit.c:1588
 msgid "override date for commit"
 msgstr "data corregida de la comissió"
 
-#: builtin/commit.c:1594 builtin/merge.c:220 builtin/notes.c:398
-#: builtin/notes.c:561 builtin/tag.c:349
+#: builtin/commit.c:1589 builtin/merge.c:222 builtin/notes.c:398
+#: builtin/notes.c:561 builtin/tag.c:364
 msgid "message"
 msgstr "missatge"
 
-#: builtin/commit.c:1594
+#: builtin/commit.c:1589
 msgid "commit message"
 msgstr "missatge de comissió"
 
-#: builtin/commit.c:1595 builtin/commit.c:1596 builtin/commit.c:1597
-#: builtin/commit.c:1598 parse-options.h:257 ref-filter.h:79
+#: builtin/commit.c:1590 builtin/commit.c:1591 builtin/commit.c:1592
+#: builtin/commit.c:1593 parse-options.h:257 ref-filter.h:81
 msgid "commit"
 msgstr "comissió"
 
-#: builtin/commit.c:1595
+#: builtin/commit.c:1590
 msgid "reuse and edit message from specified commit"
 msgstr "reusa i edita el missatge de la comissió especificada"
 
-#: builtin/commit.c:1596
+#: builtin/commit.c:1591
 msgid "reuse message from specified commit"
 msgstr "reusa el missatge de la comissió especificada"
 
-#: builtin/commit.c:1597
+#: builtin/commit.c:1592
 msgid "use autosquash formatted message to fixup specified commit"
 msgstr ""
-"usa el missatge formatat d'aixafada automàtica per a arreglar la comissió "
+"usa el missatge formatat de «squash» automàtic per a corregir la comissió "
 "especificada"
 
-#: builtin/commit.c:1598
+#: builtin/commit.c:1593
 msgid "use autosquash formatted message to squash specified commit"
 msgstr ""
-"usa el missatge formatat d'aixafada automàtica per a aixafar la comissió "
+"usa el missatge formatat de «squash» automàtic per a «squash» a la comissió "
 "especificada"
 
-#: builtin/commit.c:1599
+#: builtin/commit.c:1594
 msgid "the commit is authored by me now (used with -C/-c/--amend)"
 msgstr "l'autor de la comissió ja sóc jo (s'usa amb -C/-c/--amend)"
 
-#: builtin/commit.c:1600 builtin/log.c:1413 builtin/revert.c:86
+#: builtin/commit.c:1595 builtin/log.c:1413 builtin/revert.c:86
 msgid "add Signed-off-by:"
 msgstr "afegeix Signed-off-by:"
 
-#: builtin/commit.c:1601
+#: builtin/commit.c:1596
 msgid "use specified template file"
 msgstr "usa el fitxer de plantilla especificat"
 
-#: builtin/commit.c:1602
+#: builtin/commit.c:1597
 msgid "force edit of commit"
 msgstr "força l'edició de la comissió"
 
-#: builtin/commit.c:1603
+#: builtin/commit.c:1598
 msgid "default"
 msgstr "per defecte"
 
-#: builtin/commit.c:1603 builtin/tag.c:354
+#: builtin/commit.c:1598 builtin/tag.c:369
 msgid "how to strip spaces and #comments from message"
-msgstr "com despullar els espais i #comentaris del missatge"
+msgstr "com suprimir els espais i #comentaris del missatge"
 
-#: builtin/commit.c:1604
+#: builtin/commit.c:1599
 msgid "include status in commit message template"
 msgstr "inclou l'estat en la plantilla de missatge de comissió"
 
-#: builtin/commit.c:1606 builtin/merge.c:230 builtin/pull.c:166
+#: builtin/commit.c:1601 builtin/merge.c:234 builtin/pull.c:166
 #: builtin/revert.c:93
 msgid "GPG sign commit"
 msgstr "signa la comissió amb GPG"
 
-#: builtin/commit.c:1609
+#: builtin/commit.c:1604
 msgid "Commit contents options"
 msgstr "Opcions dels continguts de les comissions"
 
-#: builtin/commit.c:1610
+#: builtin/commit.c:1605
 msgid "commit all changed files"
 msgstr "comet tots els fitxers canviats"
 
-#: builtin/commit.c:1611
+#: builtin/commit.c:1606
 msgid "add specified files to index for commit"
 msgstr "afegeix els fitxers especificats a l'índex per a cometre"
 
-#: builtin/commit.c:1612
+#: builtin/commit.c:1607
 msgid "interactively add files"
 msgstr "afegeix els fitxers interactivament"
 
-#: builtin/commit.c:1613
+#: builtin/commit.c:1608
 msgid "interactively add changes"
 msgstr "afegeix els canvis interactivament"
 
-#: builtin/commit.c:1614
+#: builtin/commit.c:1609
 msgid "commit only specified files"
 msgstr "comet només els fitxers especificats"
 
-#: builtin/commit.c:1615
+#: builtin/commit.c:1610
 msgid "bypass pre-commit and commit-msg hooks"
 msgstr "evita els ganxos de precomissió i missatge de comissió"
 
-#: builtin/commit.c:1616
+#: builtin/commit.c:1611
 msgid "show what would be committed"
 msgstr "mostra què es cometria"
 
-#: builtin/commit.c:1627
+#: builtin/commit.c:1622
 msgid "amend previous commit"
 msgstr "esmena la comissió anterior"
 
-#: builtin/commit.c:1628
+#: builtin/commit.c:1623
 msgid "bypass post-rewrite hook"
-msgstr "evita el ganxo de postreescriure"
+msgstr "evita el ganxo de post escriptura"
 
-#: builtin/commit.c:1633
+#: builtin/commit.c:1628
 msgid "ok to record an empty change"
 msgstr "està bé registrar un canvi buit"
 
-#: builtin/commit.c:1635
+#: builtin/commit.c:1630
 msgid "ok to record a change with an empty message"
 msgstr "està bé registrar un canvi amb missatge buit"
 
-#: builtin/commit.c:1664
+#: builtin/commit.c:1659
 msgid "could not parse HEAD commit"
 msgstr "no s'ha pogut analitzar la comissió HEAD"
 
-#: builtin/commit.c:1712
+#: builtin/commit.c:1707
 #, c-format
 msgid "Corrupt MERGE_HEAD file (%s)"
 msgstr "Fitxer MERGE_HEAD malmès (%s)"
 
-#: builtin/commit.c:1719
+#: builtin/commit.c:1714
 msgid "could not read MERGE_MODE"
 msgstr "no s'ha pogut llegir MERGE_MODE"
 
-#: builtin/commit.c:1738
+#: builtin/commit.c:1733
 #, c-format
 msgid "could not read commit message: %s"
 msgstr "no s'ha pogut llegir el missatge de comissió: %s"
 
-#: builtin/commit.c:1749
+#: builtin/commit.c:1744
 #, c-format
 msgid "Aborting commit; you did not edit the message.\n"
 msgstr "S'està avortant la comissió; no heu editat el missatge.\n"
 
-#: builtin/commit.c:1754
+#: builtin/commit.c:1749
 #, c-format
 msgid "Aborting commit due to empty commit message.\n"
 msgstr "S'està avortant la comissió a causa d'un missatge de comissió buit.\n"
 
-#: builtin/commit.c:1802
+#: builtin/commit.c:1797
 msgid ""
 "Repository has been updated, but unable to write\n"
 "new_index file. Check that disk is not full and quota is\n"
@@ -7038,7 +7387,7 @@
 #: builtin/config.c:85
 msgid "show origin of config (file, standard input, blob, command line)"
 msgstr ""
-"mostra l'origen de la configuració (fitxer, entrada estàndar, blob, línia "
+"mostra l'origen de la configuració (fitxer, entrada estàndard, blob, línia "
 "d'ordres)"
 
 #: builtin/config.c:327
@@ -7072,7 +7421,7 @@
 "       Use a regexp, --add or --replace-all to change %s."
 msgstr ""
 "no es pot sobreescriure múltiples valors amb un sol valor\n"
-"       Useu una expresió regular, --add o --replace-all per a canviar %s."
+"       Useu una expressió regular, --add o --replace-all per a canviar %s."
 
 #: builtin/count-objects.c:86
 msgid "git count-objects [-v] [-H | --human-readable]"
@@ -7172,11 +7521,11 @@
 
 #: builtin/describe.c:398
 msgid "use any ref"
-msgstr "usa qualsevulla referència"
+msgstr "usa qualsevol referència"
 
 #: builtin/describe.c:399
 msgid "use any tag, even unannotated"
-msgstr "usa qualsevulla etiqueta, fins i tot aquelles sense anotar"
+msgstr "usa qualsevol etiqueta, fins i tot aquelles sense anotar"
 
 #: builtin/describe.c:400
 msgid "always use long format"
@@ -7200,7 +7549,7 @@
 
 #: builtin/describe.c:410 builtin/name-rev.c:320
 msgid "show abbreviated commit object as fallback"
-msgstr "mostra l'objecte de comissió abreviat com a retrocediment"
+msgstr "mostra l'objecte de comissió abreviat com a sistema alternatiu"
 
 #: builtin/describe.c:411
 msgid "mark"
@@ -7222,35 +7571,119 @@
 msgid "--dirty is incompatible with commit-ishes"
 msgstr "--dirty és incompatible amb les comissions"
 
-#: builtin/diff.c:86
+#: builtin/diff.c:83
 #, c-format
 msgid "'%s': not a regular file or symlink"
 msgstr "'%s': no és ni fitxer regular ni enllaç simbòlic"
 
-#: builtin/diff.c:237
+#: builtin/diff.c:234
 #, c-format
 msgid "invalid option: %s"
 msgstr "opció no vàlida: %s"
 
-#: builtin/diff.c:361
+#: builtin/diff.c:358
 msgid "Not a git repository"
 msgstr "No és un dipòsit de git"
 
-#: builtin/diff.c:404
+#: builtin/diff.c:401
 #, c-format
 msgid "invalid object '%s' given."
 msgstr "s'ha donat un objecte no vàlid '%s'."
 
-#: builtin/diff.c:413
+#: builtin/diff.c:410
 #, c-format
 msgid "more than two blobs given: '%s'"
 msgstr "s'ha donat més de dos blobs: '%s"
 
-#: builtin/diff.c:420
+#: builtin/diff.c:417
 #, c-format
 msgid "unhandled object '%s' given."
 msgstr "s'ha donat l'objecte no gestionat '%s'."
 
+#: builtin/difftool.c:28
+msgid "git difftool [<options>] [<commit> [<commit>]] [--] [<path>...]"
+msgstr "git difftool [<opcions>] [<commit> [<commit>]] [--] [<camí>...]"
+
+#: builtin/difftool.c:241
+#,  c-format
+msgid "failed: %d"
+msgstr "ha fallat: %d"
+
+#: builtin/difftool.c:342
+msgid ""
+"combined diff formats('-c' and '--cc') are not supported in\n"
+"directory diff mode('-d' and '--dir-diff')."
+msgstr ""
+
+#: builtin/difftool.c:567
+#, c-format
+msgid "both files modified: '%s' and '%s'."
+msgstr "s'han modificat ambdós fitxers: '%s' i '%s'."
+
+#: builtin/difftool.c:569
+msgid "working tree file has been left."
+msgstr "s'ha deixat un fitxer de l'arbre de treball."
+
+#: builtin/difftool.c:580
+#, c-format
+msgid "temporary files exist in '%s'."
+msgstr "existeix un fitxer temporal a %s'."
+
+#: builtin/difftool.c:581
+msgid "you may want to cleanup or recover these."
+msgstr "podeu voleu netejar o recuperar-los."
+
+#: builtin/difftool.c:626
+msgid "use `diff.guitool` instead of `diff.tool`"
+msgstr "utilitza `diff.guitool` en comptes de `diff.tool`"
+
+#: builtin/difftool.c:628
+msgid "perform a full-directory diff"
+msgstr "fes un diff de tot el directori"
+
+#: builtin/difftool.c:630
+msgid "do not prompt before launching a diff tool"
+msgstr "no preguntis abans d'executar l'eina diff"
+
+#: builtin/difftool.c:636
+msgid "use symlinks in dir-diff mode"
+msgstr "utilitza enllaços simbòlics en mode dir-diff"
+
+#: builtin/difftool.c:637
+msgid "<tool>"
+msgstr "<tool>"
+
+#: builtin/difftool.c:638
+msgid "use the specified diff tool"
+msgstr "utilitza l'eina de diff especificada"
+
+#: builtin/difftool.c:640
+msgid "print a list of diff tools that may be used with `--tool`"
+msgstr ""
+"imprimeix una llista de totes les eines diff que es podeu usar amb `--tool`"
+
+#: builtin/difftool.c:643
+msgid ""
+"make 'git-difftool' exit when an invoked diff tool returns a non - zero exit "
+"code"
+msgstr ""
+
+#: builtin/difftool.c:645
+msgid "<command>"
+msgstr "<command>"
+
+#: builtin/difftool.c:646
+msgid "specify a custom command for viewing diffs"
+msgstr "especifiqueu una ordre personalitzada per veure diffs"
+
+#: builtin/difftool.c:670
+msgid "no <tool> given for --tool=<tool>"
+msgstr "no s'ha proporcionat <tool> per --tool=<tool>"
+
+#: builtin/difftool.c:677
+msgid "no <cmd> given for --extcmd=<cmd>"
+msgstr "no s'ha proporcionat <cmd> per --extcmd=<cmd>"
+
 #: builtin/fast-export.c:25
 msgid "git fast-export [rev-list-opts]"
 msgstr "git fast-export [opcions-de-llista-de-revisions]"
@@ -7289,7 +7722,7 @@
 
 #: builtin/fast-export.c:997
 msgid "Skip output of blob data"
-msgstr "Salta l'emissió de dades de blob"
+msgstr "Omet l'emissió de dades de blob"
 
 #: builtin/fast-export.c:998
 msgid "refspec"
@@ -7407,78 +7840,78 @@
 msgid "specify fetch refmap"
 msgstr "mostra el mapa de referències d'obtenció"
 
-#: builtin/fetch.c:398
+#: builtin/fetch.c:395
 msgid "Couldn't find remote ref HEAD"
 msgstr "No s'ha pogut trobar la referència HEAD remota"
 
-#: builtin/fetch.c:514
+#: builtin/fetch.c:511
 #, c-format
 msgid "configuration fetch.output contains invalid value %s"
 msgstr "la configuració fetch.output conté un valor no vàlid %s"
 
-#: builtin/fetch.c:607
+#: builtin/fetch.c:604
 #, c-format
 msgid "object %s not found"
 msgstr "objecte %s no trobat"
 
-#: builtin/fetch.c:611
+#: builtin/fetch.c:608
 msgid "[up to date]"
 msgstr "[al dia]"
 
-#: builtin/fetch.c:624 builtin/fetch.c:704
+#: builtin/fetch.c:621 builtin/fetch.c:701
 msgid "[rejected]"
 msgstr "[rebutjat]"
 
-#: builtin/fetch.c:625
+#: builtin/fetch.c:622
 msgid "can't fetch in current branch"
 msgstr "no es pot obtenir en la branca actual"
 
-#: builtin/fetch.c:634
+#: builtin/fetch.c:631
 msgid "[tag update]"
 msgstr "[actualització d'etiqueta]"
 
-#: builtin/fetch.c:635 builtin/fetch.c:668 builtin/fetch.c:684
-#: builtin/fetch.c:699
+#: builtin/fetch.c:632 builtin/fetch.c:665 builtin/fetch.c:681
+#: builtin/fetch.c:696
 msgid "unable to update local ref"
 msgstr "no s'ha pogut actualitzar la referència local"
 
-#: builtin/fetch.c:654
+#: builtin/fetch.c:651
 msgid "[new tag]"
 msgstr "[etiqueta nova]"
 
-#: builtin/fetch.c:657
+#: builtin/fetch.c:654
 msgid "[new branch]"
 msgstr "[branca nova]"
 
-#: builtin/fetch.c:660
+#: builtin/fetch.c:657
 msgid "[new ref]"
 msgstr "[referència nova]"
 
-#: builtin/fetch.c:699
+#: builtin/fetch.c:696
 msgid "forced update"
 msgstr "actualització forçada"
 
-#: builtin/fetch.c:704
+#: builtin/fetch.c:701
 msgid "non-fast-forward"
 msgstr "sense avanç ràpid"
 
-#: builtin/fetch.c:749
+#: builtin/fetch.c:746
 #, c-format
 msgid "%s did not send all necessary objects\n"
 msgstr "%s no ha enviat tots els objectes necessaris\n"
 
-#: builtin/fetch.c:769
+#: builtin/fetch.c:766
 #, c-format
 msgid "reject %s because shallow roots are not allowed to be updated"
 msgstr ""
 "rebutja %s perquè no es permet que les arrels superficials s'actualitzin"
 
-#: builtin/fetch.c:856 builtin/fetch.c:952
+#: builtin/fetch.c:853 builtin/fetch.c:949
 #, c-format
 msgid "From %.*s\n"
 msgstr "De %.*s\n"
 
-#: builtin/fetch.c:867
+#: builtin/fetch.c:864
 #, c-format
 msgid ""
 "some local refs could not be updated; try running\n"
@@ -7486,98 +7919,98 @@
 msgstr ""
 "algunes referències locals no s'han pogut actualitzar;\n"
 " intenteu executar 'git remote prune %s' per a eliminar\n"
-" qualsevulla branca antiga o conflictiva"
+" qualsevol branca antiga o conflictiva"
 
-#: builtin/fetch.c:922
+#: builtin/fetch.c:919
 #, c-format
 msgid "   (%s will become dangling)"
 msgstr "   (%s es tornarà penjant)"
 
-#: builtin/fetch.c:923
+#: builtin/fetch.c:920
 #, c-format
 msgid "   (%s has become dangling)"
 msgstr "   (%s s'ha tornat penjant)"
 
-#: builtin/fetch.c:955
+#: builtin/fetch.c:952
 msgid "[deleted]"
 msgstr "[suprimit]"
 
-#: builtin/fetch.c:956 builtin/remote.c:1020
+#: builtin/fetch.c:953 builtin/remote.c:1020
 msgid "(none)"
 msgstr "(cap)"
 
-#: builtin/fetch.c:979
+#: builtin/fetch.c:976
 #, c-format
 msgid "Refusing to fetch into current branch %s of non-bare repository"
 msgstr "S'està refusant obtenir en la branca actual %s d'un dipòsit no nu"
 
-#: builtin/fetch.c:998
+#: builtin/fetch.c:995
 #, c-format
 msgid "Option \"%s\" value \"%s\" is not valid for %s"
 msgstr "L'opció \"%s\" amb valor \"%s\" no és vàlida per a %s"
 
-#: builtin/fetch.c:1001
+#: builtin/fetch.c:998
 #, c-format
 msgid "Option \"%s\" is ignored for %s\n"
 msgstr "S'ignora l'opció \"%s\" per a %s\n"
 
-#: builtin/fetch.c:1077
+#: builtin/fetch.c:1074
 #, c-format
 msgid "Don't know how to fetch from %s"
 msgstr "No se sap com obtenir de %s"
 
-#: builtin/fetch.c:1237
+#: builtin/fetch.c:1234
 #, c-format
 msgid "Fetching %s\n"
 msgstr "S'està obtenint %s\n"
 
-#: builtin/fetch.c:1239 builtin/remote.c:96
+#: builtin/fetch.c:1236 builtin/remote.c:96
 #, c-format
 msgid "Could not fetch %s"
 msgstr "No s'ha pogut obtenir %s"
 
-#: builtin/fetch.c:1257
+#: builtin/fetch.c:1254
 msgid ""
 "No remote repository specified.  Please, specify either a URL or a\n"
 "remote name from which new revisions should be fetched."
 msgstr ""
-"Cap dipòsit remot especificat. Si us plau, especifiqueu o un URL o\n"
+"Cap dipòsit remot especificat. Si us plau, especifiqueu un URL o\n"
 "un nom remot del qual es deuen obtenir les revisions noves."
 
-#: builtin/fetch.c:1280
+#: builtin/fetch.c:1277
 msgid "You need to specify a tag name."
 msgstr "Necessiteu especificar un nom d'etiqueta."
 
-#: builtin/fetch.c:1322
+#: builtin/fetch.c:1319
 msgid "Negative depth in --deepen is not supported"
 msgstr "No s'admet una profunditat negativa en --deepen"
 
-#: builtin/fetch.c:1324
+#: builtin/fetch.c:1321
 msgid "--deepen and --depth are mutually exclusive"
 msgstr "--deepen i --depth són mutualment exclusius"
 
-#: builtin/fetch.c:1329
+#: builtin/fetch.c:1326
 msgid "--depth and --unshallow cannot be used together"
 msgstr "--depth i --unshallow no es poden usar junts"
 
-#: builtin/fetch.c:1331
+#: builtin/fetch.c:1328
 msgid "--unshallow on a complete repository does not make sense"
 msgstr "--unshallow en un dipòsit complet no té sentit"
 
-#: builtin/fetch.c:1353
+#: builtin/fetch.c:1350
 msgid "fetch --all does not take a repository argument"
 msgstr "fetch --all no accepta un paràmetre de dipòsit"
 
-#: builtin/fetch.c:1355
+#: builtin/fetch.c:1352
 msgid "fetch --all does not make sense with refspecs"
 msgstr "fetch --all no té sentit amb especificacions de referència"
 
-#: builtin/fetch.c:1366
+#: builtin/fetch.c:1363
 #, c-format
 msgid "No such remote or remote group: %s"
 msgstr "No hi ha tal remot ni tal grup remot: %s"
 
-#: builtin/fetch.c:1374
+#: builtin/fetch.c:1371
 msgid "Fetching a group and specifying refspecs does not make sense"
 msgstr "Obtenir un grup i especificar referències no té sentit"
 
@@ -7593,7 +8026,7 @@
 
 #: builtin/fmt-merge-msg.c:666
 msgid "alias for --log (deprecated)"
-msgstr "àlies per --log (desaprovat)"
+msgstr "àlies per --log (en desús)"
 
 #: builtin/fmt-merge-msg.c:669
 msgid "text"
@@ -7645,7 +8078,7 @@
 msgid "show only <n> matched refs"
 msgstr "mostra només <n> referències coincidents"
 
-#: builtin/for-each-ref.c:37 builtin/tag.c:372
+#: builtin/for-each-ref.c:37 builtin/tag.c:387 builtin/verify-tag.c:38
 msgid "format to use for the output"
 msgstr "format a usar en la sortida"
 
@@ -7665,63 +8098,63 @@
 msgid "print only refs which contain the commit"
 msgstr "imprimeix només les referències que continguin la comissió"
 
-#: builtin/fsck.c:519
+#: builtin/fsck.c:554
 msgid "Checking object directories"
 msgstr "S'estan comprovant els directoris d'objecte"
 
-#: builtin/fsck.c:588
+#: builtin/fsck.c:646
 msgid "git fsck [<options>] [<object>...]"
 msgstr "git fsck [<opcions>] [<objecte>...]"
 
-#: builtin/fsck.c:594
+#: builtin/fsck.c:652
 msgid "show unreachable objects"
 msgstr "mostra els objectes inabastables"
 
-#: builtin/fsck.c:595
+#: builtin/fsck.c:653
 msgid "show dangling objects"
 msgstr "mostra els objectes penjants"
 
-#: builtin/fsck.c:596
+#: builtin/fsck.c:654
 msgid "report tags"
 msgstr "informa de les etiquetes"
 
-#: builtin/fsck.c:597
+#: builtin/fsck.c:655
 msgid "report root nodes"
 msgstr "informa dels nodes d'arrel"
 
-#: builtin/fsck.c:598
+#: builtin/fsck.c:656
 msgid "make index objects head nodes"
 msgstr "fes els objectes d'índex nodes de cap"
 
-#: builtin/fsck.c:599
+#: builtin/fsck.c:657
 msgid "make reflogs head nodes (default)"
 msgstr "fes que els registres de referències siguin nodes de cap (per defecte)"
 
-#: builtin/fsck.c:600
+#: builtin/fsck.c:658
 msgid "also consider packs and alternate objects"
 msgstr "també considera els paquets i els objectes alternatius"
 
-#: builtin/fsck.c:601
+#: builtin/fsck.c:659
 msgid "check only connectivity"
 msgstr "comprova només la connectivitat"
 
-#: builtin/fsck.c:602
+#: builtin/fsck.c:660
 msgid "enable more strict checking"
 msgstr "habilita la comprovació més estricta"
 
-#: builtin/fsck.c:604
+#: builtin/fsck.c:662
 msgid "write dangling objects in .git/lost-found"
 msgstr "escriu objectes penjants a .git/lost-found"
 
-#: builtin/fsck.c:605 builtin/prune.c:107
+#: builtin/fsck.c:663 builtin/prune.c:107
 msgid "show progress"
 msgstr "mostra el progrés"
 
-#: builtin/fsck.c:606
+#: builtin/fsck.c:664
 msgid "show verbose names for reachable objects"
 msgstr "mostra els noms detallats dels objectes abastables"
 
-#: builtin/fsck.c:665
+#: builtin/fsck.c:725
 msgid "Checking objects"
 msgstr "S'estan comprovant els objectes"
 
@@ -7739,7 +8172,7 @@
 msgid "insanely long object directory %.*s"
 msgstr "directori d'objectes increïblement llarg %.*s"
 
-#: builtin/gc.c:290
+#: builtin/gc.c:297
 #, c-format
 msgid ""
 "The last gc run reported the following. Please correct the root cause\n"
@@ -7748,290 +8181,306 @@
 "\n"
 "%s"
 msgstr ""
-"L'última execució de gc ha informat d'ho següent. Si us plau, corregiu\n"
+"L'última execució de gc ha informat el següent. Si us plau, corregiu\n"
 "la causa primordial i elimineu %s.\n"
 "No es realitzarà la neteja automàtica fins que s'elimini el fitxer.\n"
 "\n"
 "%s"
 
-#: builtin/gc.c:327
+#: builtin/gc.c:334
 msgid "prune unreferenced objects"
 msgstr "poda objectes sense referència"
 
-#: builtin/gc.c:329
+#: builtin/gc.c:336
 msgid "be more thorough (increased runtime)"
 msgstr "sigues més exhaustiu (el temps d'execució augmenta)"
 
-#: builtin/gc.c:330
+#: builtin/gc.c:337
 msgid "enable auto-gc mode"
 msgstr "habilita el mode de recollida d'escombraries automàtica"
 
-#: builtin/gc.c:331
+#: builtin/gc.c:338
 msgid "force running gc even if there may be another gc running"
 msgstr "força l'execució de gc encara que hi pugui haver un altre gc executant"
 
-#: builtin/gc.c:373
+#: builtin/gc.c:380
 #, c-format
 msgid "Auto packing the repository in background for optimum performance.\n"
 msgstr ""
 "S'està empaquetant el dipòsit automàticament en el fons per rendiment "
 "òptim.\n"
 
-#: builtin/gc.c:375
+#: builtin/gc.c:382
 #, c-format
 msgid "Auto packing the repository for optimum performance.\n"
 msgstr "S'està empaquetant automàticament el dipòsit per rendiment òptim.\n"
 
-#: builtin/gc.c:376
+#: builtin/gc.c:383
 #, c-format
 msgid "See \"git help gc\" for manual housekeeping.\n"
 msgstr "Vegeu \"git help gc\" per neteja manual.\n"
 
-#: builtin/gc.c:397
+#: builtin/gc.c:404
 #, c-format
 msgid ""
 "gc is already running on machine '%s' pid %<PRIuMAX> (use --force if not)"
 msgstr ""
 "gc ja s'està executant en la màquina '%s' pid %<PRIuMAX> (useu --force si no)"
 
-#: builtin/gc.c:441
+#: builtin/gc.c:448
 msgid ""
 "There are too many unreachable loose objects; run 'git prune' to remove them."
 msgstr ""
 "Hi ha massa objectes solts inabastables; executeu 'git prune' per a eliminar-"
 "los."
 
-#: builtin/grep.c:23
+#: builtin/grep.c:25
 msgid "git grep [<options>] [-e] <pattern> [<rev>...] [[--] <path>...]"
 msgstr "git grep [<opcions>] [-e] <patró> [<revisió>...] [[--] <camí>...]"
 
-#: builtin/grep.c:219
+#: builtin/grep.c:232
 #, c-format
 msgid "grep: failed to create thread: %s"
-msgstr "grep: s'ha fallat en crear fil: %s"
+msgstr "grep: s'ha produït un error en crear fil: %s"
 
-#: builtin/grep.c:277
+#: builtin/grep.c:290
 #, c-format
 msgid "invalid number of threads specified (%d) for %s"
 msgstr "s'ha especificat un nombre de fils no vàlid (%d) per a %s"
 
-#: builtin/grep.c:453 builtin/grep.c:488
+#: builtin/grep.c:763 builtin/grep.c:804
 #, c-format
 msgid "unable to read tree (%s)"
 msgstr "no s'ha pogut llegir l'arbre (%s)"
 
-#: builtin/grep.c:503
+#: builtin/grep.c:823
 #, c-format
 msgid "unable to grep from object of type %s"
 msgstr "no es pot fer grep des d'un objecte de tipus %s"
 
-#: builtin/grep.c:561
+#: builtin/grep.c:887
 #, c-format
 msgid "switch `%c' expects a numerical value"
 msgstr "l'opció `%c' espera un valor numèric"
 
-#: builtin/grep.c:647
+#: builtin/grep.c:973
 msgid "search in index instead of in the work tree"
 msgstr "cerca en l'índex en lloc de l'arbre de treball"
 
-#: builtin/grep.c:649
+#: builtin/grep.c:975
 msgid "find in contents not managed by git"
 msgstr "cerca en continguts no gestionats per git"
 
-#: builtin/grep.c:651
+#: builtin/grep.c:977
 msgid "search in both tracked and untracked files"
 msgstr "cerca tant en fitxers seguits com en no seguits"
 
-#: builtin/grep.c:653
+#: builtin/grep.c:979
 msgid "ignore files specified via '.gitignore'"
 msgstr "ignora els fitxers especificats mitjançant '.gitignore'"
 
-#: builtin/grep.c:656
+#: builtin/grep.c:981
+msgid "recursivley search in each submodule"
+msgstr "cerca recursivament a cada submòdul"
+
+#: builtin/grep.c:983
+msgid "basename"
+msgstr "nom base"
+
+#: builtin/grep.c:984
+msgid "prepend parent project's basename to output"
+msgstr "anteposa això a la sortida del nom base del projecte pare"
+
+#: builtin/grep.c:987
 msgid "show non-matching lines"
 msgstr "mostra les línies no coincidents"
 
-#: builtin/grep.c:658
+#: builtin/grep.c:989
 msgid "case insensitive matching"
 msgstr "coincidència insensible a majúscula i minúscula"
 
-#: builtin/grep.c:660
+#: builtin/grep.c:991
 msgid "match patterns only at word boundaries"
 msgstr "coincideix amb els patrons només als límits de paraula"
 
-#: builtin/grep.c:662
+#: builtin/grep.c:993
 msgid "process binary files as text"
 msgstr "processa els fitxers binaris com a text"
 
-#: builtin/grep.c:664
+#: builtin/grep.c:995
 msgid "don't match patterns in binary files"
 msgstr "no coincideixis amb els patrons en els fitxers binaris"
 
-#: builtin/grep.c:667
+#: builtin/grep.c:998
 msgid "process binary files with textconv filters"
 msgstr "processa els fitxers binaris amb filtres de textconv"
 
-#: builtin/grep.c:669
+#: builtin/grep.c:1000
 msgid "descend at most <depth> levels"
 msgstr "descendeix com a màxim <profunditat> nivells"
 
-#: builtin/grep.c:673
+#: builtin/grep.c:1004
 msgid "use extended POSIX regular expressions"
 msgstr "usa les expressions regulars POSIX esteses"
 
-#: builtin/grep.c:676
+#: builtin/grep.c:1007
 msgid "use basic POSIX regular expressions (default)"
 msgstr "usa les expressions regulars POSIX bàsiques (per defecte)"
 
-#: builtin/grep.c:679
+#: builtin/grep.c:1010
 msgid "interpret patterns as fixed strings"
 msgstr "interpreta els patrons com a cadenes fixes"
 
-#: builtin/grep.c:682
+#: builtin/grep.c:1013
 msgid "use Perl-compatible regular expressions"
 msgstr "usa les expressions regulars compatibles amb Perl"
 
-#: builtin/grep.c:685
+#: builtin/grep.c:1016
 msgid "show line numbers"
 msgstr "mostra els números de línia"
 
-#: builtin/grep.c:686
+#: builtin/grep.c:1017
 msgid "don't show filenames"
 msgstr "no mostris els noms de fitxer"
 
-#: builtin/grep.c:687
+#: builtin/grep.c:1018
 msgid "show filenames"
 msgstr "mostra els noms de fitxer"
 
-#: builtin/grep.c:689
+#: builtin/grep.c:1020
 msgid "show filenames relative to top directory"
 msgstr "mostra els noms de fitxer relatius al directori superior"
 
-#: builtin/grep.c:691
+#: builtin/grep.c:1022
 msgid "show only filenames instead of matching lines"
 msgstr "mostra només els noms de fitxer en lloc de les línies coincidents"
 
-#: builtin/grep.c:693
+#: builtin/grep.c:1024
 msgid "synonym for --files-with-matches"
 msgstr "sinònim de --files-with-matches"
 
-#: builtin/grep.c:696
+#: builtin/grep.c:1027
 msgid "show only the names of files without match"
 msgstr "mostra només els noms dels fitxers sense coincidència"
 
-#: builtin/grep.c:698
+#: builtin/grep.c:1029
 msgid "print NUL after filenames"
 msgstr "imprimeix NUL després dels noms de fitxer"
 
-#: builtin/grep.c:700
+#: builtin/grep.c:1031
 msgid "show the number of matches instead of matching lines"
 msgstr "mostra el nombre de coincidències en lloc de les línies coincidents"
 
-#: builtin/grep.c:701
+#: builtin/grep.c:1032
 msgid "highlight matches"
 msgstr "ressalta les coincidències"
 
-#: builtin/grep.c:703
+#: builtin/grep.c:1034
 msgid "print empty line between matches from different files"
 msgstr "imprimeix una línia buida entre coincidències de fitxers distints"
 
-#: builtin/grep.c:705
+#: builtin/grep.c:1036
 msgid "show filename only once above matches from same file"
 msgstr ""
 "mostra el nom de fitxer només una vegada a dalt de les coincidències del "
 "mateix fitxer"
 
-#: builtin/grep.c:708
+#: builtin/grep.c:1039
 msgid "show <n> context lines before and after matches"
 msgstr "mostra <n> línies de context abans i després d'una coincidència"
 
-#: builtin/grep.c:711
+#: builtin/grep.c:1042
 msgid "show <n> context lines before matches"
 msgstr "mostra <n> línies de context abans d'una coincidència"
 
-#: builtin/grep.c:713
+#: builtin/grep.c:1044
 msgid "show <n> context lines after matches"
 msgstr "mostra <n> línies de context després d'una coincidència"
 
-#: builtin/grep.c:715
+#: builtin/grep.c:1046
 msgid "use <n> worker threads"
-msgstr "usa <n> fils obrers"
+msgstr "usa <n> fils de treball"
 
-#: builtin/grep.c:716
+#: builtin/grep.c:1047
 msgid "shortcut for -C NUM"
 msgstr "drecera per -C NUM"
 
-#: builtin/grep.c:719
+#: builtin/grep.c:1050
 msgid "show a line with the function name before matches"
 msgstr "mostra una línia amb el nom de funció abans de les coincidències"
 
-#: builtin/grep.c:721
+#: builtin/grep.c:1052
 msgid "show the surrounding function"
 msgstr "mostra la funció circumdant"
 
-#: builtin/grep.c:724
+#: builtin/grep.c:1055
 msgid "read patterns from file"
 msgstr "llegeix els patrons des d'un fitxer"
 
-#: builtin/grep.c:726
+#: builtin/grep.c:1057
 msgid "match <pattern>"
 msgstr "coincideix amb <patró>"
 
-#: builtin/grep.c:728
+#: builtin/grep.c:1059
 msgid "combine patterns specified with -e"
 msgstr "combina els patrons especificats amb -e"
 
-#: builtin/grep.c:740
+#: builtin/grep.c:1071
 msgid "indicate hit with exit status without output"
 msgstr "indica coincidència amb estat de sortida sense sortida textual"
 
-#: builtin/grep.c:742
+#: builtin/grep.c:1073
 msgid "show only matches from files that match all patterns"
 msgstr ""
 "mostra només les coincidències dels fitxers que coincideixin amb tots els "
 "patrons"
 
-#: builtin/grep.c:744
+#: builtin/grep.c:1075
 msgid "show parse tree for grep expression"
 msgstr "mostra l'arbre d'anàlisis de l'expressió de grep"
 
-#: builtin/grep.c:748
+#: builtin/grep.c:1079
 msgid "pager"
 msgstr "paginador"
 
-#: builtin/grep.c:748
+#: builtin/grep.c:1079
 msgid "show matching files in the pager"
 msgstr "mostra els fitxers coincidents en el paginador"
 
-#: builtin/grep.c:751
+#: builtin/grep.c:1082
 msgid "allow calling of grep(1) (ignored by this build)"
 msgstr "permet la invocació de grep(1) (ignorat per aquesta compilació)"
 
-#: builtin/grep.c:814
+#: builtin/grep.c:1146
 msgid "no pattern given."
 msgstr "cap patró donat."
 
-#: builtin/grep.c:846 builtin/index-pack.c:1480
+#: builtin/grep.c:1178 builtin/index-pack.c:1482
 #, c-format
 msgid "invalid number of threads specified (%d)"
 msgstr "s'ha especificat un nombre de fils no vàlid (%d)"
 
-#: builtin/grep.c:876
+#: builtin/grep.c:1215
 msgid "--open-files-in-pager only works on the worktree"
 msgstr "--open-files-in-pager només funciona en l'arbre de treball"
 
-#: builtin/grep.c:902
+#: builtin/grep.c:1238
+msgid "option not supported with --recurse-submodules."
+msgstr "opció no admesa amb --recurse-submodules."
+
+#: builtin/grep.c:1244
 msgid "--cached or --untracked cannot be used with --no-index."
 msgstr "--cached o --untracked no es pot usar amb --no-index."
 
-#: builtin/grep.c:907
+#: builtin/grep.c:1249
 msgid "--no-index or --untracked cannot be used with revs."
 msgstr "--no-index o --untracked no es pot usar amb revisions."
 
-#: builtin/grep.c:910
+#: builtin/grep.c:1252
 msgid "--[no-]exclude-standard cannot be used for tracked contents."
 msgstr "--[no-]exclude-standard no es pot usar per als continguts seguits."
 
-#: builtin/grep.c:918
+#: builtin/grep.c:1260
 msgid "both --cached and trees are given."
 msgstr "s'han donat ambdós --caches i arbres."
 
@@ -8071,7 +8520,7 @@
 msgid ""
 "just hash any random garbage to create corrupt objects for debugging Git"
 msgstr ""
-"només suma qualsevulla brossa aleatòria per a crear objectes malmesos per a "
+"només suma qualsevol brossa aleatòria per a crear objectes malmesos per a "
 "depurar al Git"
 
 #: builtin/hash-object.c:101
@@ -8084,7 +8533,7 @@
 
 #: builtin/help.c:43
 msgid "exclude guides"
-msgstr "exclou guíes"
+msgstr "exclou guies"
 
 #: builtin/help.c:44
 msgid "print list of useful guides"
@@ -8113,11 +8562,11 @@
 
 #: builtin/help.c:93
 msgid "Failed to start emacsclient."
-msgstr "S'ha fallat en iniciar emacsclient."
+msgstr "S'ha produït un error'ha produït un error en iniciar emacsclient."
 
 #: builtin/help.c:106
 msgid "Failed to parse emacsclient version."
-msgstr "S'ha fallat en analitzar la versió d'emacsclient."
+msgstr "S'ha produït un error en analitzar la versió d'emacsclient."
 
 #: builtin/help.c:114
 #, c-format
@@ -8127,7 +8576,7 @@
 #: builtin/help.c:132 builtin/help.c:153 builtin/help.c:162 builtin/help.c:170
 #, c-format
 msgid "failed to exec '%s'"
-msgstr "s'ha fallat en executar '%s'"
+msgstr "s'ha produït un error en executar '%s'"
 
 #: builtin/help.c:207
 #, c-format
@@ -8186,7 +8635,7 @@
 
 #: builtin/help.c:409
 msgid "A tutorial introduction to Git (for version 1.5.1 or newer)"
-msgstr "Una introducció tutorial al Git (per a la versió 1.5.1 o més nou)"
+msgstr "Una introducció tutorial al Git (per a la versió 1.5.1 o més nova)"
 
 #: builtin/help.c:410
 msgid "An overview of recommended workflows with Git"
@@ -8312,183 +8761,187 @@
 msgstr "hi ha una inconsistència seriosa d'inflació"
 
 #: builtin/index-pack.c:748 builtin/index-pack.c:754 builtin/index-pack.c:777
-#: builtin/index-pack.c:811 builtin/index-pack.c:820
+#: builtin/index-pack.c:813 builtin/index-pack.c:822
 #, c-format
 msgid "SHA1 COLLISION FOUND WITH %s !"
 msgstr "S'HA TROBAT UNA COL·LISIÓ SHA1 AMB %s !"
 
-#: builtin/index-pack.c:751 builtin/pack-objects.c:166
-#: builtin/pack-objects.c:258
+#: builtin/index-pack.c:751 builtin/pack-objects.c:164
+#: builtin/pack-objects.c:256
 #, c-format
 msgid "unable to read %s"
 msgstr "no s'ha pogut llegir %s"
 
-#: builtin/index-pack.c:817
+#: builtin/index-pack.c:819
 #, c-format
 msgid "cannot read existing object %s"
 msgstr "no es pot llegir l'objecte existent %s"
 
-#: builtin/index-pack.c:831
+#: builtin/index-pack.c:833
 #, c-format
 msgid "invalid blob object %s"
 msgstr "objecte de blob no vàlid %s"
 
-#: builtin/index-pack.c:845
+#: builtin/index-pack.c:847
 #, c-format
 msgid "invalid %s"
 msgstr "%s no vàlid"
 
-#: builtin/index-pack.c:848
+#: builtin/index-pack.c:850
 msgid "Error in object"
 msgstr "Error en objecte"
 
-#: builtin/index-pack.c:850
+#: builtin/index-pack.c:852
 #, c-format
 msgid "Not all child objects of %s are reachable"
 msgstr "No tots els objectes fills de %s són abastables"
 
-#: builtin/index-pack.c:922 builtin/index-pack.c:953
+#: builtin/index-pack.c:924 builtin/index-pack.c:955
 msgid "failed to apply delta"
-msgstr "s'ha fallat en aplicar la delta"
+msgstr "s'ha produït un error en aplicar la delta"
 
-#: builtin/index-pack.c:1123
+#: builtin/index-pack.c:1125
 msgid "Receiving objects"
 msgstr "S'estan rebent objectes"
 
-#: builtin/index-pack.c:1123
+#: builtin/index-pack.c:1125
 msgid "Indexing objects"
 msgstr "S'estan indexant objectes"
 
-#: builtin/index-pack.c:1155
+#: builtin/index-pack.c:1157
 msgid "pack is corrupted (SHA1 mismatch)"
 msgstr "el paquet és malmès (discordança SHA1)"
 
-#: builtin/index-pack.c:1160
+#: builtin/index-pack.c:1162
 msgid "cannot fstat packfile"
 msgstr "no es pot fer fstat en el fitxer de paquet"
 
-#: builtin/index-pack.c:1163
+#: builtin/index-pack.c:1165
 msgid "pack has junk at the end"
 msgstr "el paquet té brossa al seu final"
 
-#: builtin/index-pack.c:1174
+#: builtin/index-pack.c:1176
 msgid "confusion beyond insanity in parse_pack_objects()"
 msgstr "confusió més enllà de la bogeria en parse_pack_objects()"
 
-#: builtin/index-pack.c:1197
+#: builtin/index-pack.c:1199
 msgid "Resolving deltas"
 msgstr "S'estan resolent les deltes"
 
-#: builtin/index-pack.c:1208
+#: builtin/index-pack.c:1210
 #, c-format
 msgid "unable to create thread: %s"
 msgstr "no s'ha pogut crear fil: %s"
 
-#: builtin/index-pack.c:1250
+#: builtin/index-pack.c:1252
 msgid "confusion beyond insanity"
 msgstr "confusió més enllà de la bogeria"
 
-#: builtin/index-pack.c:1256
+#: builtin/index-pack.c:1258
 #, c-format
 msgid "completed with %d local object"
 msgid_plural "completed with %d local objects"
 msgstr[0] "s'ha completat amb %d objecte local"
 msgstr[1] "s'ha completat amb %d objectes locals"
 
-#: builtin/index-pack.c:1268
+#: builtin/index-pack.c:1270
 #, c-format
 msgid "Unexpected tail checksum for %s (disk corruption?)"
 msgstr "Suma de verificació final no esperada per a %s (corrupció de disc?)"
 
-#: builtin/index-pack.c:1272
+#: builtin/index-pack.c:1274
 #, c-format
 msgid "pack has %d unresolved delta"
 msgid_plural "pack has %d unresolved deltas"
 msgstr[0] "El paquet té %d delta no resolta"
 msgstr[1] "El paquet té %d deltes no resoltes"
 
-#: builtin/index-pack.c:1296
+#: builtin/index-pack.c:1298
 #, c-format
 msgid "unable to deflate appended object (%d)"
 msgstr "no s'ha pogut desinflar l'objecte annexat (%d)"
 
-#: builtin/index-pack.c:1372
+#: builtin/index-pack.c:1374
 #, c-format
 msgid "local object %s is corrupt"
 msgstr "l'objecte local %s és malmès"
 
-#: builtin/index-pack.c:1396
+#: builtin/index-pack.c:1398
 msgid "error while closing pack file"
 msgstr "error en tancar el fitxer de paquet"
 
-#: builtin/index-pack.c:1409
+#: builtin/index-pack.c:1411
 #, c-format
 msgid "cannot write keep file '%s'"
 msgstr "no es pot escriure el fitxer a retenir '%s'"
 
-#: builtin/index-pack.c:1417
+#: builtin/index-pack.c:1419
 #, c-format
 msgid "cannot close written keep file '%s'"
 msgstr "no es pot tancar el fitxer escrit a retenir '%s'"
 
-#: builtin/index-pack.c:1430
+#: builtin/index-pack.c:1432
 msgid "cannot store pack file"
 msgstr "no es pot emmagatzemar el fitxer de paquet"
 
-#: builtin/index-pack.c:1441
+#: builtin/index-pack.c:1443
 msgid "cannot store index file"
 msgstr "no es pot emmagatzemar el fitxer d'índex"
 
-#: builtin/index-pack.c:1474
+#: builtin/index-pack.c:1476
 #, c-format
 msgid "bad pack.indexversion=%<PRIu32>"
 msgstr "pack.indexversion=%<PRIu32> dolent"
 
-#: builtin/index-pack.c:1484 builtin/index-pack.c:1681
+#: builtin/index-pack.c:1486 builtin/index-pack.c:1683
 #, c-format
 msgid "no threads support, ignoring %s"
 msgstr "no hi ha suport de fils, s'està ignorant %s"
 
-#: builtin/index-pack.c:1542
+#: builtin/index-pack.c:1544
 #, c-format
 msgid "Cannot open existing pack file '%s'"
 msgstr "No es pot obrir el fitxer de paquet existent '%s'"
 
-#: builtin/index-pack.c:1544
+#: builtin/index-pack.c:1546
 #, c-format
 msgid "Cannot open existing pack idx file for '%s'"
 msgstr "No es pot obrir el fitxer d'índex de paquets existent de '%s'"
 
-#: builtin/index-pack.c:1591
+#: builtin/index-pack.c:1593
 #, c-format
 msgid "non delta: %d object"
 msgid_plural "non delta: %d objects"
 msgstr[0] "sense delta: %d objecte"
 msgstr[1] "sense delta: %d objectes"
 
-#: builtin/index-pack.c:1598
+#: builtin/index-pack.c:1600
 #, c-format
 msgid "chain length = %d: %lu object"
 msgid_plural "chain length = %d: %lu objects"
 msgstr[0] "longitud de cadena = %d: %lu objecte"
 msgstr[1] "longitud de cadena = %d: %lu objectes"
 
-#: builtin/index-pack.c:1611
+#: builtin/index-pack.c:1613
 #, c-format
 msgid "packfile name '%s' does not end with '.pack'"
 msgstr "el nom del fitxer de paquet '%s' no acaba amb '.pack'"
 
-#: builtin/index-pack.c:1693 builtin/index-pack.c:1696
-#: builtin/index-pack.c:1712 builtin/index-pack.c:1716
+#: builtin/index-pack.c:1695 builtin/index-pack.c:1698
+#: builtin/index-pack.c:1714 builtin/index-pack.c:1718
 #, c-format
 msgid "bad %s"
 msgstr "%s dolent"
 
-#: builtin/index-pack.c:1732
+#: builtin/index-pack.c:1734
 msgid "--fix-thin cannot be used without --stdin"
 msgstr "--fix-thin no es pot usar sense --stdin"
 
-#: builtin/index-pack.c:1740
+#: builtin/index-pack.c:1736
+msgid "--stdin requires a git repository"
+msgstr "--stdin requereix d'un dipòsit git"
+
+#: builtin/index-pack.c:1744
 msgid "--verify with no packfile name given"
 msgstr "s'ha donat --verify sense nom de fitxer de paquet"
 
@@ -8618,7 +9071,7 @@
 "<token>[(=|:)<value>])...] [<file>...]"
 msgstr ""
 "git interpret-trailers [--in-place] [--trim-empty] [(--trailer "
-"<fitxa>[(=|:)<valor>])...] [<fitxer>...]"
+"<testimoni>[(=|:)<valor>])...] [<fitxer>...]"
 
 #: builtin/interpret-trailers.c:26
 msgid "edit files in place"
@@ -8736,10 +9189,10 @@
 msgid "Unknown commit %s"
 msgstr "Comissió desconeguda %s"
 
-#: builtin/log.c:1258 builtin/notes.c:884 builtin/tag.c:455
+#: builtin/log.c:1258 builtin/notes.c:884 builtin/tag.c:476
 #, c-format
 msgid "Failed to resolve '%s' as a valid ref."
-msgstr "S'ha fallat en resoldre '%s' com a referència vàlida."
+msgstr "S'ha produït un error en resoldre '%s' com a referència vàlida."
 
 #: builtin/log.c:1263
 msgid "Could not find exact merge base."
@@ -8751,14 +9204,15 @@
 "please use git branch --set-upstream-to to track a remote branch.\n"
 "Or you could specify base commit by --base=<base-commit-id> manually."
 msgstr ""
-"S'ha fallat en obtenir la font. Si voleu registrar la comissió base\n"
+"S'ha produït un error en obtenir la font. Si voleu registrar la comissió "
+"base\n"
 "automàticament, si us plau, useu git branch --set-upstream-to per a\n"
 "seguir una branca remot. O podeu especificar la comissió base manualment\n"
 "amb --base=<id-de-comissió-base>."
 
 #: builtin/log.c:1287
 msgid "Failed to find exact merge base"
-msgstr "S'ha fallat en trobar la base exacta de fusió."
+msgstr "S'ha produït un error en trobar la base exacta de fusió."
 
 #: builtin/log.c:1298
 msgid "base commit should be the ancestor of revision list"
@@ -8958,7 +9412,7 @@
 
 #: builtin/log.c:1777
 msgid "Failed to create output files"
-msgstr "S'ha fallat en crear els fitxers de sortida"
+msgstr "S'ha produït un error en crear els fitxers de sortida"
 
 #: builtin/log.c:1826
 msgid "git cherry [-v] [<upstream> [<head> [<limit>]]]"
@@ -8972,105 +9426,105 @@
 "No s'ha pogut trobar una branca remota seguida. Si us plau, especifiqueu "
 "<font> manualment.\n"
 
-#: builtin/ls-files.c:458
+#: builtin/ls-files.c:460
 msgid "git ls-files [<options>] [<file>...]"
 msgstr "git ls-files [<opcions>] [<fitxer>...]"
 
-#: builtin/ls-files.c:507
+#: builtin/ls-files.c:509
 msgid "identify the file status with tags"
 msgstr "identifica l'estat de fitxer amb etiquetes"
 
-#: builtin/ls-files.c:509
+#: builtin/ls-files.c:511
 msgid "use lowercase letters for 'assume unchanged' files"
 msgstr "usa lletres minúscules per als fitxers 'assume unchanged'"
 
-#: builtin/ls-files.c:511
+#: builtin/ls-files.c:513
 msgid "show cached files in the output (default)"
 msgstr ""
 "mostra en la sortida els fitxers desats en la memòria cau (per defecte)"
 
-#: builtin/ls-files.c:513
+#: builtin/ls-files.c:515
 msgid "show deleted files in the output"
 msgstr "mostra en la sortida els fitxers suprimits"
 
-#: builtin/ls-files.c:515
+#: builtin/ls-files.c:517
 msgid "show modified files in the output"
 msgstr "mostra en la sortida els fitxers modificats"
 
-#: builtin/ls-files.c:517
+#: builtin/ls-files.c:519
 msgid "show other files in the output"
 msgstr "mostra en la sortida els altres fitxers"
 
-#: builtin/ls-files.c:519
+#: builtin/ls-files.c:521
 msgid "show ignored files in the output"
 msgstr "mostra en la sortida els fitxers ignorats"
 
-#: builtin/ls-files.c:522
-msgid "show staged contents' object name in the output"
-msgstr "mostra en la sortida el nom d'objecte dels continguts allistats"
-
 #: builtin/ls-files.c:524
+msgid "show staged contents' object name in the output"
+msgstr "mostra en la sortida el nom d'objecte dels continguts «stage»"
+
+#: builtin/ls-files.c:526
 msgid "show files on the filesystem that need to be removed"
 msgstr "mostra els fitxers en el sistema de fitxers que s'han d'eliminar"
 
-#: builtin/ls-files.c:526
+#: builtin/ls-files.c:528
 msgid "show 'other' directories' names only"
 msgstr "mostra només els noms dels directoris 'other'"
 
-#: builtin/ls-files.c:528
+#: builtin/ls-files.c:530
 msgid "show line endings of files"
 msgstr "mostra els terminadors de línia dels fitxers"
 
-#: builtin/ls-files.c:530
+#: builtin/ls-files.c:532
 msgid "don't show empty directories"
 msgstr "no mostris els directoris buits"
 
-#: builtin/ls-files.c:533
+#: builtin/ls-files.c:535
 msgid "show unmerged files in the output"
 msgstr "mostra en la sortida els fitxers sense fusionar"
 
-#: builtin/ls-files.c:535
+#: builtin/ls-files.c:537
 msgid "show resolve-undo information"
 msgstr "mostra la informació de resolució de desfet"
 
-#: builtin/ls-files.c:537
+#: builtin/ls-files.c:539
 msgid "skip files matching pattern"
-msgstr "salta els fitxers coincidents amb el patró"
+msgstr "omet els fitxers coincidents amb el patró"
 
-#: builtin/ls-files.c:540
+#: builtin/ls-files.c:542
 msgid "exclude patterns are read from <file>"
 msgstr "els patrons d'exclusió es llegeixen de <fitxer>"
 
-#: builtin/ls-files.c:543
+#: builtin/ls-files.c:545
 msgid "read additional per-directory exclude patterns in <file>"
 msgstr "llegeix els patrons addicionals d'exclusió per directori en <fitxer>"
 
-#: builtin/ls-files.c:545
+#: builtin/ls-files.c:547
 msgid "add the standard git exclusions"
 msgstr "afegeix les exclusions estàndards de git"
 
-#: builtin/ls-files.c:548
+#: builtin/ls-files.c:550
 msgid "make the output relative to the project top directory"
 msgstr "fes que la sortida sigui relativa al directori superior del projecte"
 
-#: builtin/ls-files.c:551
-msgid "recurse through submodules"
-msgstr "recursa als submòduls"
-
 #: builtin/ls-files.c:553
-msgid "if any <file> is not in the index, treat this as an error"
-msgstr "si qualsevol <fitxer> no és en l'índex, tracta això com a error"
+msgid "recurse through submodules"
+msgstr "inclou recursivament als submòduls"
 
-#: builtin/ls-files.c:554
+#: builtin/ls-files.c:555
+msgid "if any <file> is not in the index, treat this as an error"
+msgstr "si qualsevol <fitxer> no és en l'índex, tracta-ho com a error"
+
+#: builtin/ls-files.c:556
 msgid "tree-ish"
 msgstr "arbre"
 
-#: builtin/ls-files.c:555
+#: builtin/ls-files.c:557
 msgid "pretend that paths removed since <tree-ish> are still present"
 msgstr ""
 "pretén que els camins eliminats després de <arbre> encara siguin presents"
 
-#: builtin/ls-files.c:557
+#: builtin/ls-files.c:559
 msgid "show debugging data"
 msgstr "mostra les dades de depuració"
 
@@ -9125,35 +9579,35 @@
 msgid "git ls-tree [<options>] <tree-ish> [<path>...]"
 msgstr "git ls-tree [<opcions>] <arbre> [<camí>...]"
 
-#: builtin/ls-tree.c:128
+#: builtin/ls-tree.c:126
 msgid "only show trees"
 msgstr "mostra només els arbres"
 
-#: builtin/ls-tree.c:130
+#: builtin/ls-tree.c:128
 msgid "recurse into subtrees"
-msgstr "recursa als subarbres"
+msgstr "inclou recursivament als subarbres"
 
-#: builtin/ls-tree.c:132
+#: builtin/ls-tree.c:130
 msgid "show trees when recursing"
 msgstr "mostra els arbres en recursar"
 
-#: builtin/ls-tree.c:135
+#: builtin/ls-tree.c:133
 msgid "terminate entries with NUL byte"
 msgstr "acaba les entrades amb un octet NUL"
 
-#: builtin/ls-tree.c:136
+#: builtin/ls-tree.c:134
 msgid "include object size"
 msgstr "mida de l'objecte d'inclusió"
 
-#: builtin/ls-tree.c:138 builtin/ls-tree.c:140
+#: builtin/ls-tree.c:136 builtin/ls-tree.c:138
 msgid "list only filenames"
 msgstr "llista només els noms de fitxer"
 
-#: builtin/ls-tree.c:143
+#: builtin/ls-tree.c:141
 msgid "use full path names"
 msgstr "usa els noms de camí complets"
 
-#: builtin/ls-tree.c:145
+#: builtin/ls-tree.c:143
 msgid "list entire tree; not just current directory (implies --full-name)"
 msgstr ""
 "llista l'arbre sencer; no només el directori actual (implica --full-name)"
@@ -9170,163 +9624,171 @@
 msgid "git merge --abort"
 msgstr "git merge --abort"
 
-#: builtin/merge.c:102
+#: builtin/merge.c:49
+msgid "git merge --continue"
+msgstr "git merge --continue"
+
+#: builtin/merge.c:104
 msgid "switch `m' requires a value"
 msgstr "l'opció `m' requereix un valor"
 
-#: builtin/merge.c:139
+#: builtin/merge.c:141
 #, c-format
 msgid "Could not find merge strategy '%s'.\n"
 msgstr "No s'ha pogut trobar l'estratègia de fusió '%s'.\n"
 
-#: builtin/merge.c:140
+#: builtin/merge.c:142
 #, c-format
 msgid "Available strategies are:"
 msgstr "Les estratègies disponibles són:"
 
-#: builtin/merge.c:145
+#: builtin/merge.c:147
 #, c-format
 msgid "Available custom strategies are:"
 msgstr "Les estratègies personalitzades disponibles són:"
 
-#: builtin/merge.c:195 builtin/pull.c:127
+#: builtin/merge.c:197 builtin/pull.c:127
 msgid "do not show a diffstat at the end of the merge"
 msgstr "no mostris les estadístiques de diferència al final de la fusió"
 
-#: builtin/merge.c:198 builtin/pull.c:130
+#: builtin/merge.c:200 builtin/pull.c:130
 msgid "show a diffstat at the end of the merge"
 msgstr "mostra les estadístiques de diferència al final de la fusió"
 
-#: builtin/merge.c:199 builtin/pull.c:133
+#: builtin/merge.c:201 builtin/pull.c:133
 msgid "(synonym to --stat)"
 msgstr "(sinònim de --stat)"
 
-#: builtin/merge.c:201 builtin/pull.c:136
+#: builtin/merge.c:203 builtin/pull.c:136
 msgid "add (at most <n>) entries from shortlog to merge commit message"
 msgstr ""
 "afegeix (com a màxim <n>) entrades del registre curt al missatge de comissió "
 "de fusió"
 
-#: builtin/merge.c:204 builtin/pull.c:139
+#: builtin/merge.c:206 builtin/pull.c:139
 msgid "create a single commit instead of doing a merge"
 msgstr "crea una única comissió en lloc de fusionar"
 
-#: builtin/merge.c:206 builtin/pull.c:142
+#: builtin/merge.c:208 builtin/pull.c:142
 msgid "perform a commit if the merge succeeds (default)"
 msgstr "realitza una comissió si la fusió té èxit (per defecte)"
 
-#: builtin/merge.c:208 builtin/pull.c:145
+#: builtin/merge.c:210 builtin/pull.c:145
 msgid "edit message before committing"
 msgstr "edita el missatge abans de cometre"
 
-#: builtin/merge.c:209
+#: builtin/merge.c:211
 msgid "allow fast-forward (default)"
 msgstr "permet l'avanç ràpid (per defecte)"
 
-#: builtin/merge.c:211 builtin/pull.c:151
+#: builtin/merge.c:213 builtin/pull.c:151
 msgid "abort if fast-forward is not possible"
 msgstr "avorta si l'avanç ràpid no és possible"
 
-#: builtin/merge.c:215 builtin/pull.c:154
+#: builtin/merge.c:217 builtin/pull.c:154
 msgid "verify that the named commit has a valid GPG signature"
 msgstr "verifica que la comissió anomenada tingui una signatura GPG vàlida"
 
-#: builtin/merge.c:216 builtin/notes.c:774 builtin/pull.c:158
+#: builtin/merge.c:218 builtin/notes.c:774 builtin/pull.c:158
 #: builtin/revert.c:89
 msgid "strategy"
 msgstr "estratègia"
 
-#: builtin/merge.c:217 builtin/pull.c:159
+#: builtin/merge.c:219 builtin/pull.c:159
 msgid "merge strategy to use"
 msgstr "estratègia de fusió a usar"
 
-#: builtin/merge.c:218 builtin/pull.c:162
+#: builtin/merge.c:220 builtin/pull.c:162
 msgid "option=value"
 msgstr "opció=valor"
 
-#: builtin/merge.c:219 builtin/pull.c:163
+#: builtin/merge.c:221 builtin/pull.c:163
 msgid "option for selected merge strategy"
 msgstr "opció per a l'estratègia de fusió seleccionada"
 
-#: builtin/merge.c:221
+#: builtin/merge.c:223
 msgid "merge commit message (for a non-fast-forward merge)"
 msgstr "missatge de comissió de fusió (per a una fusió no d'avanç ràpid)"
 
-#: builtin/merge.c:225
+#: builtin/merge.c:227
 msgid "abort the current in-progress merge"
 msgstr "avorta la fusió en curs actual"
 
-#: builtin/merge.c:227 builtin/pull.c:170
+#: builtin/merge.c:229
+msgid "continue the current in-progress merge"
+msgstr "continua la fusió en curs actual"
+
+#: builtin/merge.c:231 builtin/pull.c:170
 msgid "allow merging unrelated histories"
 msgstr "permet fusionar històries no relacionades"
 
-#: builtin/merge.c:255
+#: builtin/merge.c:259
 msgid "could not run stash."
 msgstr "no s'ha pogut executar stash."
 
-#: builtin/merge.c:260
+#: builtin/merge.c:264
 msgid "stash failed"
 msgstr "l'emmagatzemament ha fallat"
 
-#: builtin/merge.c:265
+#: builtin/merge.c:269
 #, c-format
 msgid "not a valid object: %s"
 msgstr "no és un objecte vàlid: %s"
 
-#: builtin/merge.c:284 builtin/merge.c:301
+#: builtin/merge.c:288 builtin/merge.c:305
 msgid "read-tree failed"
 msgstr "read-tree ha fallat"
 
-#: builtin/merge.c:331
+#: builtin/merge.c:335
 msgid " (nothing to squash)"
-msgstr " (res a aixafar)"
+msgstr " (res a fer «squash»)"
 
-#: builtin/merge.c:342
+#: builtin/merge.c:346
 #, c-format
 msgid "Squash commit -- not updating HEAD\n"
-msgstr "Comissió d'aixafada -- no s'està actualitzant HEAD\n"
+msgstr "Comissió «squash» -- no s'està actualitzant HEAD\n"
 
-#: builtin/merge.c:392
+#: builtin/merge.c:396
 #, c-format
 msgid "No merge message -- not updating HEAD\n"
 msgstr "Cap missatge de fusió -- no s'està actualitzant HEAD\n"
 
-#: builtin/merge.c:443
+#: builtin/merge.c:447
 #, c-format
 msgid "'%s' does not point to a commit"
 msgstr "'%s' no assenyala una comissió"
 
-#: builtin/merge.c:533
+#: builtin/merge.c:537
 #, c-format
 msgid "Bad branch.%s.mergeoptions string: %s"
 msgstr "Cadena branch.%s.mergeoptions dolenta: %s"
 
-#: builtin/merge.c:652
+#: builtin/merge.c:656
 msgid "Not handling anything other than two heads merge."
 msgstr "No s'està gestionant res a part de la fusió de dos caps."
 
-#: builtin/merge.c:666
+#: builtin/merge.c:670
 #, c-format
 msgid "Unknown option for merge-recursive: -X%s"
 msgstr "Opció desconeguda de merge-recursive: -X%s"
 
-#: builtin/merge.c:681
+#: builtin/merge.c:685
 #, c-format
 msgid "unable to write %s"
 msgstr "no s'ha pogut escriure %s"
 
-#: builtin/merge.c:733
+#: builtin/merge.c:737
 #, c-format
 msgid "Could not read from '%s'"
 msgstr "No s'ha pogut llegir de '%s'"
 
-#: builtin/merge.c:742
+#: builtin/merge.c:746
 #, c-format
 msgid "Not committing merge; use 'git commit' to complete the merge.\n"
 msgstr ""
 "No s'està cometent la fusió; useu 'git commit' per a completar la fusió.\n"
 
-#: builtin/merge.c:748
+#: builtin/merge.c:752
 #, c-format
 msgid ""
 "Please enter a commit message to explain why this merge is necessary,\n"
@@ -9342,68 +9804,80 @@
 "S'ignoraran les línies que comencin amb '%c', i un missatge buit\n"
 "avorta la comissió.\n"
 
-#: builtin/merge.c:772
+#: builtin/merge.c:776
 msgid "Empty commit message."
 msgstr "El missatge de comissió és buit."
 
-#: builtin/merge.c:792
+#: builtin/merge.c:796
 #, c-format
 msgid "Wonderful.\n"
 msgstr "Meravellós.\n"
 
-#: builtin/merge.c:847
+#: builtin/merge.c:851
 #, c-format
 msgid "Automatic merge failed; fix conflicts and then commit the result.\n"
 msgstr ""
 "La fusió automàtica ha fallat; arregleu els conflictes i després cometeu el "
 "resultat.\n"
 
-#: builtin/merge.c:863
+#: builtin/merge.c:867
 #, c-format
 msgid "'%s' is not a commit"
 msgstr "'%s' no és una comissió"
 
-#: builtin/merge.c:904
+#: builtin/merge.c:908
 msgid "No current branch."
 msgstr "No hi ha cap branca actual."
 
-#: builtin/merge.c:906
+#: builtin/merge.c:910
 msgid "No remote for the current branch."
 msgstr "No hi ha cap remot per a la branca actual."
 
-#: builtin/merge.c:908
+#: builtin/merge.c:912
 msgid "No default upstream defined for the current branch."
 msgstr "No hi ha cap font per defecte definida per a la branca actual."
 
-#: builtin/merge.c:913
+#: builtin/merge.c:917
 #, c-format
 msgid "No remote-tracking branch for %s from %s"
 msgstr "No hi ha cap branca amb seguiment remot per a %s de %s"
 
-#: builtin/merge.c:960
+#: builtin/merge.c:964
 #, c-format
 msgid "Bad value '%s' in environment '%s'"
 msgstr "Valor dolent '%s' en l'entorn '%s'"
 
-#: builtin/merge.c:1034
+#: builtin/merge.c:1038
 #, c-format
 msgid "could not close '%s'"
 msgstr "no s'ha pogut tancar '%s'"
 
-#: builtin/merge.c:1061
+#: builtin/merge.c:1065
 #, c-format
 msgid "not something we can merge in %s: %s"
 msgstr "no és cosa que puguem fusionar en %s: %s"
 
-#: builtin/merge.c:1095
+#: builtin/merge.c:1099
 msgid "not something we can merge"
 msgstr "no és cosa que puguem fusionar"
 
-#: builtin/merge.c:1162
+#: builtin/merge.c:1167
+msgid "--abort expects no arguments"
+msgstr "--abort no accepta paràmetres"
+
+#: builtin/merge.c:1171
 msgid "There is no merge to abort (MERGE_HEAD missing)."
 msgstr "No hi ha fusió a avortar (manca MERGE_HEAD)."
 
-#: builtin/merge.c:1178
+#: builtin/merge.c:1183
+msgid "--continue expects no arguments"
+msgstr "--continue no accepta paràmetres"
+
+#: builtin/merge.c:1187
+msgid "There is no merge in progress (MERGE_HEAD missing)."
+msgstr "No hi ha fusió en progrés (manca MERGE_HEAD)."
+
+#: builtin/merge.c:1203
 msgid ""
 "You have not concluded your merge (MERGE_HEAD exists).\n"
 "Please, commit your changes before you merge."
@@ -9411,123 +9885,122 @@
 "No heu conclòs la vostra fusió (MERGE_HEAD existeix).\n"
 "Si us plau, cometeu els vostres canvis abans de fusionar."
 
-#: builtin/merge.c:1185
+#: builtin/merge.c:1210
 msgid ""
 "You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists).\n"
 "Please, commit your changes before you merge."
 msgstr ""
-"No heu conclòs el vostre recull de cireres (CHERRY_PICK_HEAD existeix).\n"
+"No heu conclòs el vostre «cherry pick» (CHERRY_PICK_HEAD existeix).\n"
 "Si us plau, cometeu els vostres canvis abans de fusionar."
 
-#: builtin/merge.c:1188
+#: builtin/merge.c:1213
 msgid "You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists)."
-msgstr ""
-"No heu conclòs el vostre recull de cireres (CHERRY_PICK_HEAD existeix)."
+msgstr "No heu conclòs el vostre «cherry pick» (CHERRY_PICK_HEAD existeix)."
 
-#: builtin/merge.c:1197
+#: builtin/merge.c:1222
 msgid "You cannot combine --squash with --no-ff."
 msgstr "No podeu combinar --squash amb --no-ff."
 
-#: builtin/merge.c:1205
+#: builtin/merge.c:1230
 msgid "No commit specified and merge.defaultToUpstream not set."
 msgstr ""
 "No hi ha una comissió especificada i merge.defaultToUpstream no està "
 "establert."
 
-#: builtin/merge.c:1222
+#: builtin/merge.c:1247
 msgid "Squash commit into empty head not supported yet"
-msgstr "Aixafar una comissió a un cap buit encara no es permet"
+msgstr "Una comissió «squash» a un HEAD buit encara no es permet"
 
-#: builtin/merge.c:1224
+#: builtin/merge.c:1249
 msgid "Non-fast-forward commit does not make sense into an empty head"
-msgstr "Una comissió no d'avanç ràpid no té sentit a un cap buit"
+msgstr "Una comissió no d'avanç ràpid no té sentit a un HEAD buit"
 
-#: builtin/merge.c:1229
+#: builtin/merge.c:1254
 #, c-format
 msgid "%s - not something we can merge"
 msgstr "%s - no és una cosa que puguem fusionar"
 
-#: builtin/merge.c:1231
+#: builtin/merge.c:1256
 msgid "Can merge only exactly one commit into empty head"
-msgstr "Es pot fusionar no més d'exactament una comissió a un cap buit"
+msgstr "Es pot fusionar només una comissió a un HEAD buit"
 
-#: builtin/merge.c:1287
+#: builtin/merge.c:1312
 #, c-format
 msgid "Commit %s has an untrusted GPG signature, allegedly by %s."
 msgstr "La comissió %s té una signatura GPG no fiable, suposadament de %s."
 
-#: builtin/merge.c:1290
+#: builtin/merge.c:1315
 #, c-format
 msgid "Commit %s has a bad GPG signature allegedly by %s."
 msgstr "La comissió %s té una signatura GPG dolenta suposadament de %s."
 
-#: builtin/merge.c:1293
+#: builtin/merge.c:1318
 #, c-format
 msgid "Commit %s does not have a GPG signature."
 msgstr "La comissió %s no té signatura GPG."
 
-#: builtin/merge.c:1296
+#: builtin/merge.c:1321
 #, c-format
 msgid "Commit %s has a good GPG signature by %s\n"
 msgstr "La comissió %s té una signatura GPG bona de %s\n"
 
-#: builtin/merge.c:1358
+#: builtin/merge.c:1383
 msgid "refusing to merge unrelated histories"
 msgstr "s'està refusant fusionar històries no relacionades"
 
-#: builtin/merge.c:1367
+#: builtin/merge.c:1392
 msgid "Already up-to-date."
 msgstr "Ja està al dia."
 
-#: builtin/merge.c:1377
+#: builtin/merge.c:1402
 #, c-format
 msgid "Updating %s..%s\n"
 msgstr "S'estan actualitzant %s..%s\n"
 
-#: builtin/merge.c:1418
+#: builtin/merge.c:1443
 #, c-format
 msgid "Trying really trivial in-index merge...\n"
 msgstr "S'està intentant una fusió molt trivial en l'índex...\n"
 
-#: builtin/merge.c:1425
+#: builtin/merge.c:1450
 #, c-format
 msgid "Nope.\n"
 msgstr "No.\n"
 
-#: builtin/merge.c:1450
+#: builtin/merge.c:1475
 msgid "Already up-to-date. Yeeah!"
 msgstr "Ja està al dia. Estupend!"
 
-#: builtin/merge.c:1456
+#: builtin/merge.c:1481
 msgid "Not possible to fast-forward, aborting."
 msgstr "No és possible avançar ràpidament, s'està avortant."
 
-#: builtin/merge.c:1479 builtin/merge.c:1558
+#: builtin/merge.c:1504 builtin/merge.c:1583
 #, c-format
 msgid "Rewinding the tree to pristine...\n"
 msgstr "S'està rebobinant l'arbre a la pristina...\n"
 
-#: builtin/merge.c:1483
+#: builtin/merge.c:1508
 #, c-format
 msgid "Trying merge strategy %s...\n"
 msgstr "S'està intentant l'estratègia de fusió %s...\n"
 
-#: builtin/merge.c:1549
+#: builtin/merge.c:1574
 #, c-format
 msgid "No merge strategy handled the merge.\n"
 msgstr "Cap estratègia de fusió ha gestionat la fusió.\n"
 
-#: builtin/merge.c:1551
+#: builtin/merge.c:1576
 #, c-format
 msgid "Merge with strategy %s failed.\n"
 msgstr "L'estratègia de fusió %s ha fallat.\n"
 
-#: builtin/merge.c:1560
+#: builtin/merge.c:1585
 #, c-format
 msgid "Using the %s to prepare resolving by hand.\n"
 msgstr "S'està usant el %s per a preparar la resolució a mà.\n"
 
-#: builtin/merge.c:1572
+#: builtin/merge.c:1597
 #, c-format
 msgid "Automatic merge went well; stopped before committing as requested\n"
 msgstr ""
@@ -9593,11 +10066,11 @@
 
 #: builtin/merge-file.c:35
 msgid "for conflicts, use our version"
-msgstr "en conflictes, usa la versió nostra"
+msgstr "en conflictes, usa la nostra versió"
 
 #: builtin/merge-file.c:37
 msgid "for conflicts, use their version"
-msgstr "en conflictes, usa la versió seva"
+msgstr "en conflictes, usa la seva versió"
 
 #: builtin/merge-file.c:39
 msgid "for conflicts, use a union version"
@@ -9662,96 +10135,96 @@
 msgid "allow creation of more than one tree"
 msgstr "permet la creació de més d'un arbre"
 
-#: builtin/mv.c:15
+#: builtin/mv.c:16
 msgid "git mv [<options>] <source>... <destination>"
 msgstr "git mv [<opcions>] <font>... <destí>"
 
-#: builtin/mv.c:70
+#: builtin/mv.c:82
 #, c-format
 msgid "Directory %s is in index and no submodule?"
 msgstr "El directori %s és en l'índex i no hi ha cap submòdul?"
 
-#: builtin/mv.c:72 builtin/rm.c:317
+#: builtin/mv.c:84 builtin/rm.c:290
 msgid "Please stage your changes to .gitmodules or stash them to proceed"
 msgstr ""
-"Si us plau, allisteu els vostres canvis a .gitmodules o emmagatzemeu-los per "
-"a procedir"
+"Si us plau, «stage» els vostres canvis a .gitmodules o feu «stage» dels "
+"mateixos per a procedir"
 
-#: builtin/mv.c:90
+#: builtin/mv.c:102
 #, c-format
 msgid "%.*s is in index"
 msgstr "%.*s és en l'índex"
 
-#: builtin/mv.c:112
+#: builtin/mv.c:124
 msgid "force move/rename even if target exists"
 msgstr "força el moviment / canvi de nom encara que el destí existeixi"
 
-#: builtin/mv.c:113
+#: builtin/mv.c:125
 msgid "skip move/rename errors"
 msgstr "omet els errors de moviment / canvi de nom"
 
-#: builtin/mv.c:155
+#: builtin/mv.c:167
 #, c-format
 msgid "destination '%s' is not a directory"
 msgstr "el destí '%s' no és un directori"
 
-#: builtin/mv.c:166
+#: builtin/mv.c:178
 #, c-format
 msgid "Checking rename of '%s' to '%s'\n"
 msgstr "S'està comprovant el canvi de nom de '%s' a '%s'\n"
 
-#: builtin/mv.c:170
+#: builtin/mv.c:182
 msgid "bad source"
 msgstr "font dolenta"
 
-#: builtin/mv.c:173
+#: builtin/mv.c:185
 msgid "can not move directory into itself"
 msgstr "no es pot moure un directori a dins d'ell mateix"
 
-#: builtin/mv.c:176
+#: builtin/mv.c:188
 msgid "cannot move directory over file"
 msgstr "no es pot moure un directori sobre un fitxer"
 
-#: builtin/mv.c:185
+#: builtin/mv.c:197
 msgid "source directory is empty"
 msgstr "el directori font està buit"
 
-#: builtin/mv.c:210
+#: builtin/mv.c:222
 msgid "not under version control"
 msgstr "no està sota control de versions"
 
-#: builtin/mv.c:213
+#: builtin/mv.c:225
 msgid "destination exists"
 msgstr "el destí existeix"
 
-#: builtin/mv.c:221
+#: builtin/mv.c:233
 #, c-format
 msgid "overwriting '%s'"
 msgstr "s'està sobreescrivint '%s'"
 
-#: builtin/mv.c:224
+#: builtin/mv.c:236
 msgid "Cannot overwrite"
 msgstr "No es pot sobreescriure"
 
-#: builtin/mv.c:227
+#: builtin/mv.c:239
 msgid "multiple sources for the same target"
 msgstr "múltiples fonts per al mateix destí"
 
-#: builtin/mv.c:229
+#: builtin/mv.c:241
 msgid "destination directory does not exist"
 msgstr "el directori destí no existeix"
 
-#: builtin/mv.c:236
+#: builtin/mv.c:248
 #, c-format
 msgid "%s, source=%s, destination=%s"
 msgstr "%s, origen=%s, destí=%s"
 
-#: builtin/mv.c:257
+#: builtin/mv.c:269
 #, c-format
 msgid "Renaming %s to %s\n"
 msgstr "S'està canviant el nom de %s a %s\n"
 
-#: builtin/mv.c:263 builtin/remote.c:710 builtin/repack.c:375
+#: builtin/mv.c:275 builtin/remote.c:710 builtin/repack.c:384
 #, c-format
 msgid "renaming '%s' failed"
 msgstr "el canvi del nom de '%s' ha fallat"
@@ -9911,7 +10384,7 @@
 
 #: builtin/notes.c:94
 msgid "Write/edit the notes for the following object:"
-msgstr "Escriviu/editeu les notes de l'objecte següent:"
+msgstr "Escriviu/editeu les notes per l'objecte següent:"
 
 #: builtin/notes.c:147
 #, c-format
@@ -9925,7 +10398,7 @@
 #: builtin/notes.c:159
 #, c-format
 msgid "failed to finish 'show' for object '%s'"
-msgstr "s'ha fallat en finalitzar 'show' per a l'objecte '%s'"
+msgstr "S'ha produït un error en finalitzar 'show' per a l'objecte '%s'"
 
 #: builtin/notes.c:194
 msgid "please supply the note contents using either -m or -F option"
@@ -9942,12 +10415,12 @@
 msgid "the note contents have been left in %s"
 msgstr "s'han deixat els continguts de la nota en %s"
 
-#: builtin/notes.c:233 builtin/tag.c:439
+#: builtin/notes.c:233 builtin/tag.c:460
 #, c-format
 msgid "cannot read '%s'"
 msgstr "no es pot llegir '%s'"
 
-#: builtin/notes.c:235 builtin/tag.c:442
+#: builtin/notes.c:235 builtin/tag.c:463
 #, c-format
 msgid "could not open or read '%s'"
 msgstr "no s'ha pogut obrir o llegir '%s'"
@@ -9957,12 +10430,12 @@
 #: builtin/notes.c:518 builtin/notes.c:596 builtin/notes.c:659
 #, c-format
 msgid "failed to resolve '%s' as a valid ref."
-msgstr "s'ha fallat en resoldre '%s' com a referència vàlida."
+msgstr "s'ha produït un error en resoldre '%s' com a referència vàlida."
 
 #: builtin/notes.c:257
 #, c-format
 msgid "failed to read object '%s'."
-msgstr "s'ha fallat en llegir l'objecte '%s'."
+msgstr "s'ha produït un error en llegir l'objecte '%s'."
 
 #: builtin/notes.c:261
 #, c-format
@@ -9977,7 +10450,7 @@
 #: builtin/notes.c:316
 #, c-format
 msgid "failed to copy notes from '%s' to '%s'"
-msgstr "s'ha fallat en copiar les notes de '%s' a '%s'"
+msgstr "s'ha produït un error en copiar les notes de '%s' a '%s'"
 
 #. TRANSLATORS: the first %s will be replaced by a
 #. git notes command: 'add', 'merge', 'remove', etc.
@@ -10027,7 +10500,7 @@
 "Cannot add notes. Found existing notes for object %s. Use '-f' to overwrite "
 "existing notes"
 msgstr ""
-"No es pot afegir les notes. S'han trobat notes existents de l'objecte %s. "
+"No es poden afegir les notes. S'han trobat notes existents de l'objecte %s. "
 "Useu '-f' per a sobreescriure les notes existents."
 
 #: builtin/notes.c:452 builtin/notes.c:531
@@ -10059,7 +10532,7 @@
 "Cannot copy notes. Found existing notes for object %s. Use '-f' to overwrite "
 "existing notes"
 msgstr ""
-"No es pot copiar les notes. S'han trobat notes existents de l'objecte %s. "
+"No es poden copiar les notes. S'han trobat notes existents de l'objecte %s. "
 "Useu '-f' per a sobreescriure les notes existents."
 
 #: builtin/notes.c:537
@@ -10073,24 +10546,25 @@
 "The -m/-F/-c/-C options have been deprecated for the 'edit' subcommand.\n"
 "Please use 'git notes add -f -m/-F/-c/-C' instead.\n"
 msgstr ""
-"S'han desaprovat les opcions -m/-F/-c/-C en favor de la subordre 'edit'.\n"
+"Es desaconsellen les opcions -m/-F/-c/-C en favor de la subordre 'edit'.\n"
 "Si us plau, useu 'git notes add -f -m/-F/-c/-C' en lloc d'això.\n"
 
 #: builtin/notes.c:685
 msgid "failed to delete ref NOTES_MERGE_PARTIAL"
-msgstr "s'ha fallat en suprimir la referència NOTES_MERGE_PARTIAL"
+msgstr "s'ha produït un error en suprimir la referència NOTES_MERGE_PARTIAL"
 
 #: builtin/notes.c:687
 msgid "failed to delete ref NOTES_MERGE_REF"
-msgstr "s'ha fallat en suprimir la referència NOTES_MERGE_REF"
+msgstr "s'ha produït un error en suprimir la referència NOTES_MERGE_REF"
 
 #: builtin/notes.c:689
 msgid "failed to remove 'git notes merge' worktree"
-msgstr "s'ha fallat en eliminar l'arbre de treball de 'git notes merge'"
+msgstr ""
+"s'ha produït un error en eliminar l'arbre de treball de 'git notes merge'"
 
 #: builtin/notes.c:709
 msgid "failed to read ref NOTES_MERGE_PARTIAL"
-msgstr "s'ha fallat en llegir la referència NOTES_MERGE_PARTIAL"
+msgstr "s'ha produït un error en llegir la referència NOTES_MERGE_PARTIAL"
 
 #: builtin/notes.c:711
 msgid "could not find commit from NOTES_MERGE_PARTIAL."
@@ -10102,11 +10576,11 @@
 
 #: builtin/notes.c:726
 msgid "failed to resolve NOTES_MERGE_REF"
-msgstr "s'ha fallat en resoldre NOTES_MERGE_REF"
+msgstr "s'ha produït un error en resoldre NOTES_MERGE_REF"
 
 #: builtin/notes.c:729
 msgid "failed to finalize notes merge"
-msgstr "s'ha fallat en finalitzar la fusió de notes"
+msgstr "s'ha produït un error en finalitzar la fusió de notes"
 
 #: builtin/notes.c:755
 #, c-format
@@ -10167,7 +10641,8 @@
 #, c-format
 msgid "failed to store link to current notes ref (%s)"
 msgstr ""
-"s'ha fallat en emmagatzemar l'enllaç a la referència de notes actual (%s)"
+"s'ha produït un error en emmagatzemar l'enllaç a la referència de notes "
+"actual (%s)"
 
 #: builtin/notes.c:865
 #, c-format
@@ -10228,187 +10703,187 @@
 "git pack-objects [<opcions>...] <nom-base> [< <llista-de-referències> | < "
 "<llista-de-objectes>]"
 
-#: builtin/pack-objects.c:179 builtin/pack-objects.c:182
+#: builtin/pack-objects.c:177 builtin/pack-objects.c:180
 #, c-format
 msgid "deflate error (%d)"
 msgstr "error de deflació (%d)"
 
-#: builtin/pack-objects.c:768
+#: builtin/pack-objects.c:766
 msgid "disabling bitmap writing, packs are split due to pack.packSizeLimit"
 msgstr ""
 "s'està inhabilitant l'escriptura de mapes de bits, es divideixen els paquets "
 "a causa de pack.packSizeLimit"
 
-#: builtin/pack-objects.c:781
+#: builtin/pack-objects.c:779
 msgid "Writing objects"
 msgstr "S'estan escrivint els objectes"
 
-#: builtin/pack-objects.c:1070
+#: builtin/pack-objects.c:1068
 msgid "disabling bitmap writing, as some objects are not being packed"
 msgstr ""
 "s'està inhabilitant l'escriptura de mapes de bits, perquè alguns objectes no "
 "s'empaqueten"
 
-#: builtin/pack-objects.c:2346
+#: builtin/pack-objects.c:2344
 msgid "Compressing objects"
 msgstr "S'estan comprimint objectes"
 
-#: builtin/pack-objects.c:2759
+#: builtin/pack-objects.c:2747
 #, c-format
 msgid "unsupported index version %s"
 msgstr "versió d'índex no compatible %s"
 
-#: builtin/pack-objects.c:2763
+#: builtin/pack-objects.c:2751
 #, c-format
 msgid "bad index version '%s'"
 msgstr "versió d'índex dolenta '%s'"
 
-#: builtin/pack-objects.c:2793
+#: builtin/pack-objects.c:2781
 msgid "do not show progress meter"
 msgstr "no mostris l'indicador de progrés"
 
-#: builtin/pack-objects.c:2795
+#: builtin/pack-objects.c:2783
 msgid "show progress meter"
 msgstr "mostra l'indicador de progrés"
 
-#: builtin/pack-objects.c:2797
+#: builtin/pack-objects.c:2785
 msgid "show progress meter during object writing phase"
 msgstr "mostra l'indicador de progrés durant la fase d'escriptura d'objectes"
 
-#: builtin/pack-objects.c:2800
+#: builtin/pack-objects.c:2788
 msgid "similar to --all-progress when progress meter is shown"
 msgstr "similar a --all-progress quan l'indicador de progrés es mostra"
 
-#: builtin/pack-objects.c:2801
+#: builtin/pack-objects.c:2789
 msgid "version[,offset]"
 msgstr "versió[,desplaçament]"
 
-#: builtin/pack-objects.c:2802
+#: builtin/pack-objects.c:2790
 msgid "write the pack index file in the specified idx format version"
 msgstr ""
 "escriu el fitxer d'índex de paquet en la versió de format d'índex "
 "especificada"
 
-#: builtin/pack-objects.c:2805
+#: builtin/pack-objects.c:2793
 msgid "maximum size of each output pack file"
 msgstr "mida màxima de cada fitxer de paquet de sortida"
 
-#: builtin/pack-objects.c:2807
+#: builtin/pack-objects.c:2795
 msgid "ignore borrowed objects from alternate object store"
 msgstr ""
 "ignora els objectes prestats d'un emmagatzemament d'objectes alternatiu"
 
-#: builtin/pack-objects.c:2809
+#: builtin/pack-objects.c:2797
 msgid "ignore packed objects"
 msgstr "ignora els objectes empaquetats"
 
-#: builtin/pack-objects.c:2811
+#: builtin/pack-objects.c:2799
 msgid "limit pack window by objects"
 msgstr "limita la finestra d'empaquetament per objectes"
 
-#: builtin/pack-objects.c:2813
+#: builtin/pack-objects.c:2801
 msgid "limit pack window by memory in addition to object limit"
 msgstr ""
 "limita la finestra d'empaquetament per memòria a més del límit d'objectes"
 
-#: builtin/pack-objects.c:2815
+#: builtin/pack-objects.c:2803
 msgid "maximum length of delta chain allowed in the resulting pack"
 msgstr "longitud màxima de la cadena de deltes permesa en el paquet resultant"
 
-#: builtin/pack-objects.c:2817
+#: builtin/pack-objects.c:2805
 msgid "reuse existing deltas"
 msgstr "reusa les deltes existents"
 
-#: builtin/pack-objects.c:2819
+#: builtin/pack-objects.c:2807
 msgid "reuse existing objects"
 msgstr "reusa els objectes existents"
 
-#: builtin/pack-objects.c:2821
+#: builtin/pack-objects.c:2809
 msgid "use OFS_DELTA objects"
 msgstr "usa objectes OFS_DELTA"
 
-#: builtin/pack-objects.c:2823
+#: builtin/pack-objects.c:2811
 msgid "use threads when searching for best delta matches"
 msgstr "usa fils en cercar les millores coincidències de delta"
 
-#: builtin/pack-objects.c:2825
+#: builtin/pack-objects.c:2813
 msgid "do not create an empty pack output"
 msgstr "no creïs una emissió de paquet buida"
 
-#: builtin/pack-objects.c:2827
+#: builtin/pack-objects.c:2815
 msgid "read revision arguments from standard input"
 msgstr "llegeix els paràmetres de revisió des de l'entrada estàndard"
 
-#: builtin/pack-objects.c:2829
+#: builtin/pack-objects.c:2817
 msgid "limit the objects to those that are not yet packed"
 msgstr "limita els objectes als quals encara no s'hagin empaquetat"
 
-#: builtin/pack-objects.c:2832
+#: builtin/pack-objects.c:2820
 msgid "include objects reachable from any reference"
-msgstr "inclou els objectes abastables de qualsevulla referència"
+msgstr "inclou els objectes abastables de qualsevol referència"
 
-#: builtin/pack-objects.c:2835
+#: builtin/pack-objects.c:2823
 msgid "include objects referred by reflog entries"
 msgstr ""
 "inclou els objectes als quals facin referència les entrades del registre de "
 "referències"
 
-#: builtin/pack-objects.c:2838
+#: builtin/pack-objects.c:2826
 msgid "include objects referred to by the index"
 msgstr "inclou els objectes als quals faci referència l'índex"
 
-#: builtin/pack-objects.c:2841
+#: builtin/pack-objects.c:2829
 msgid "output pack to stdout"
 msgstr "emet el paquet a stdout"
 
-#: builtin/pack-objects.c:2843
+#: builtin/pack-objects.c:2831
 msgid "include tag objects that refer to objects to be packed"
 msgstr ""
 "inclou els objectes d'etiqueta que facin referència als objectes a empaquetar"
 
-#: builtin/pack-objects.c:2845
+#: builtin/pack-objects.c:2833
 msgid "keep unreachable objects"
 msgstr "retén els objectes inabastables"
 
-#: builtin/pack-objects.c:2847
+#: builtin/pack-objects.c:2835
 msgid "pack loose unreachable objects"
 msgstr "empaqueta els objectes inabastables solts"
 
-#: builtin/pack-objects.c:2849
+#: builtin/pack-objects.c:2837
 msgid "unpack unreachable objects newer than <time>"
 msgstr "desempaqueta els objectes inabastables més nous que <hora>"
 
-#: builtin/pack-objects.c:2852
+#: builtin/pack-objects.c:2840
 msgid "create thin packs"
 msgstr "crea paquets prims"
 
-#: builtin/pack-objects.c:2854
+#: builtin/pack-objects.c:2842
 msgid "create packs suitable for shallow fetches"
 msgstr "crea paquets adequats per a les obtencions superficials"
 
-#: builtin/pack-objects.c:2856
+#: builtin/pack-objects.c:2844
 msgid "ignore packs that have companion .keep file"
 msgstr "ignora els paquets que tinguin un fitxer .keep corresponent"
 
-#: builtin/pack-objects.c:2858
+#: builtin/pack-objects.c:2846
 msgid "pack compression level"
 msgstr "nivell de compressió de paquet"
 
-#: builtin/pack-objects.c:2860
+#: builtin/pack-objects.c:2848
 msgid "do not hide commits by grafts"
 msgstr "no amaguis les comissions per empelt"
 
-#: builtin/pack-objects.c:2862
+#: builtin/pack-objects.c:2850
 msgid "use a bitmap index if available to speed up counting objects"
 msgstr ""
 "usa un índex de mapa de bits, si està disponible, per a accelerar el "
 "recompte d'objectes"
 
-#: builtin/pack-objects.c:2864
+#: builtin/pack-objects.c:2852
 msgid "write a bitmap index together with the pack index"
 msgstr "escriu un índex de mapa de bits junt amb l'índex de paquet"
 
-#: builtin/pack-objects.c:2993
+#: builtin/pack-objects.c:2979
 msgid "Counting objects"
 msgstr "S'estan comptant els objectes"
 
@@ -10436,11 +10911,11 @@
 msgid "git prune [-n] [-v] [--expire <time>] [--] [<head>...]"
 msgstr "git prune [-n] [-v] [--expire <hora>] [--] [<cap>...]"
 
-#: builtin/prune.c:106 builtin/worktree.c:128
+#: builtin/prune.c:106
 msgid "report pruned objects"
 msgstr "informa d'objectes podats"
 
-#: builtin/prune.c:109 builtin/worktree.c:130
+#: builtin/prune.c:109
 msgid "expire objects older than <time>"
 msgstr "fes caducar els objectes més vells que <hora>"
 
@@ -10471,7 +10946,7 @@
 
 #: builtin/pull.c:157
 msgid "automatically stash/stash pop before and after rebase"
-msgstr "automàticament emmagatzema/desempila abans i després de rebasament"
+msgstr "automàticament emmagatzema/desempila abans i després de fer «rebase»"
 
 #: builtin/pull.c:173
 msgid "Options related to fetching"
@@ -10525,7 +11000,7 @@
 
 #: builtin/pull.c:410 builtin/pull.c:425 git-parse-remote.sh:79
 msgid "Please specify which branch you want to rebase against."
-msgstr "Si us plau, especifiqueu sobre què branca voleu rebasar."
+msgstr "Si us plau, especifiqueu sobre què branca voleu fer «rebase»."
 
 #: builtin/pull.c:412 builtin/pull.c:427 git-parse-remote.sh:82
 msgid "Please specify which branch you want to merge with."
@@ -10540,7 +11015,7 @@
 msgid "<remote>"
 msgstr "<remot>"
 
-#: builtin/pull.c:415 builtin/pull.c:430 builtin/pull.c:435 git-rebase.sh:451
+#: builtin/pull.c:415 builtin/pull.c:430 builtin/pull.c:435 git-rebase.sh:455
 #: git-parse-remote.sh:65
 msgid "<branch>"
 msgstr "<branca>"
@@ -10567,7 +11042,7 @@
 
 #: builtin/pull.c:754
 msgid "ignoring --verify-signatures for rebase"
-msgstr "s'està ignorant --verify-signatures per a rebasar"
+msgstr "s'està ignorant --verify-signatures en fer «rebase»"
 
 #: builtin/pull.c:801
 msgid "--[no-]autostash option is only valid with --rebase."
@@ -10580,7 +11055,7 @@
 
 #: builtin/pull.c:812
 msgid "pull with rebase"
-msgstr "baixar amb rebasament"
+msgstr "baixar fent «rebase»"
 
 #: builtin/pull.c:813
 msgid "please commit or stash them."
@@ -10608,7 +11083,7 @@
 "to recover."
 msgstr ""
 "No es pot avançar ràpidament el vostre arbre de treball.\n"
-"Després d'assegurar que hàgiu desat qualsevulla cosa preciosa de la sortida "
+"Després d'assegurar que hàgiu desat qualsevol cosa preciosa de la sortida "
 "de\n"
 "$ git diff %s\n"
 "executeu\n"
@@ -10617,11 +11092,11 @@
 
 #: builtin/pull.c:858
 msgid "Cannot merge multiple branches into empty head."
-msgstr "No es pot fusionar múltiples branques a un cap buit."
+msgstr "No es poden fusionar múltiples branques a un HEAD buit."
 
 #: builtin/pull.c:862
 msgid "Cannot rebase onto multiple branches."
-msgstr "No es pot rebasar sobre múltiples branques."
+msgstr "No es pot fer «rebase» sobre múltiples branques."
 
 #: builtin/push.c:16
 msgid "git push [<options>] [<repository> [<refspec>...]]"
@@ -10641,7 +11116,7 @@
 "To choose either option permanently, see push.default in 'git help config'."
 msgstr ""
 "\n"
-"Per a triar qualsevulla opció permanentment, vegeu push.default a 'git help "
+"Per a triar qualsevol opció permanentment, vegeu push.default a 'git help "
 "config'."
 
 #: builtin/push.c:146
@@ -10714,14 +11189,14 @@
 "branca actual '%s', sense dir-me què pujar per a actualitzar\n"
 "quina branca remota."
 
-#: builtin/push.c:242
+#: builtin/push.c:245
 msgid ""
 "You didn't specify any refspecs to push, and push.default is \"nothing\"."
 msgstr ""
 "No heu especificat cap especificació de referència a pujar, i push.default "
 "és \"nothing\"."
 
-#: builtin/push.c:249
+#: builtin/push.c:252
 msgid ""
 "Updates were rejected because the tip of your current branch is behind\n"
 "its remote counterpart. Integrate the remote changes (e.g.\n"
@@ -10733,7 +11208,7 @@
 "els canvis remots (per exemple, 'git pull ...') abans de pujar de nou.\n"
 "Vegeu la 'Nota sobre avanços ràpids' a 'git push --help' per detalls."
 
-#: builtin/push.c:255
+#: builtin/push.c:258
 msgid ""
 "Updates were rejected because a pushed branch tip is behind its remote\n"
 "counterpart. Check out this branch and integrate the remote changes\n"
@@ -10746,7 +11221,7 @@
 "abans de pujar de nou.\n"
 "Vegeu la 'Nota sobre avanços ràpids' a 'git push --help' per detalls."
 
-#: builtin/push.c:261
+#: builtin/push.c:264
 msgid ""
 "Updates were rejected because the remote contains work that you do\n"
 "not have locally. This is usually caused by another repository pushing\n"
@@ -10761,12 +11236,12 @@
 "pujar de nou.\n"
 "Vegeu la 'Nota sobre avanços ràpids' a 'git push --help' per detalls."
 
-#: builtin/push.c:268
+#: builtin/push.c:271
 msgid "Updates were rejected because the tag already exists in the remote."
 msgstr ""
 "S'han rebutjat les actualitzacions perquè l'etiqueta ja existeix en el remot."
 
-#: builtin/push.c:271
+#: builtin/push.c:274
 msgid ""
 "You cannot update a remote ref that points at a non-commit object,\n"
 "or update a remote ref to make it point at a non-commit object,\n"
@@ -10777,22 +11252,22 @@
 "fer que assenyali un objecte no de comissió, sense usar l'opció\n"
 "'--force'.\n"
 
-#: builtin/push.c:331
+#: builtin/push.c:334
 #, c-format
 msgid "Pushing to %s\n"
 msgstr "S'està pujant a %s\n"
 
-#: builtin/push.c:335
+#: builtin/push.c:338
 #, c-format
 msgid "failed to push some refs to '%s'"
-msgstr "s'ha fallat en pujar algunes referències a '%s'"
+msgstr "s'ha produït un error en pujar algunes referències a '%s'"
 
-#: builtin/push.c:366
+#: builtin/push.c:369
 #, c-format
 msgid "bad repository '%s'"
 msgstr "dipòsit dolent '%s'"
 
-#: builtin/push.c:367
+#: builtin/push.c:370
 msgid ""
 "No configured push destination.\n"
 "Either specify the URL from the command-line or configure a remote "
@@ -10814,112 +11289,112 @@
 "\n"
 "    git push <nom>\n"
 
-#: builtin/push.c:385
+#: builtin/push.c:388
 msgid "--all and --tags are incompatible"
 msgstr "--all i --tags són incompatibles"
 
-#: builtin/push.c:386
+#: builtin/push.c:389
 msgid "--all can't be combined with refspecs"
 msgstr "--all no es pot combinar amb especificacions de referència"
 
-#: builtin/push.c:391
+#: builtin/push.c:394
 msgid "--mirror and --tags are incompatible"
 msgstr "--mirror i --tags són incompatibles"
 
-#: builtin/push.c:392
+#: builtin/push.c:395
 msgid "--mirror can't be combined with refspecs"
 msgstr "--mirror no es pot combinar amb especificacions de referència"
 
-#: builtin/push.c:397
+#: builtin/push.c:400
 msgid "--all and --mirror are incompatible"
 msgstr "--all i --mirror són incompatibles"
 
-#: builtin/push.c:515
+#: builtin/push.c:518
 msgid "repository"
 msgstr "dipòsit"
 
-#: builtin/push.c:516 builtin/send-pack.c:161
+#: builtin/push.c:519 builtin/send-pack.c:161
 msgid "push all refs"
 msgstr "puja totes les referències"
 
-#: builtin/push.c:517 builtin/send-pack.c:163
+#: builtin/push.c:520 builtin/send-pack.c:163
 msgid "mirror all refs"
 msgstr "reflecteix totes les referències"
 
-#: builtin/push.c:519
+#: builtin/push.c:522
 msgid "delete refs"
 msgstr "suprimeix les referències"
 
-#: builtin/push.c:520
+#: builtin/push.c:523
 msgid "push tags (can't be used with --all or --mirror)"
 msgstr "puja les etiquetes (no es pot usar amb --all o --mirror)"
 
-#: builtin/push.c:523 builtin/send-pack.c:164
+#: builtin/push.c:526 builtin/send-pack.c:164
 msgid "force updates"
 msgstr "força les actualitzacions"
 
-#: builtin/push.c:525 builtin/send-pack.c:175
+#: builtin/push.c:528 builtin/send-pack.c:175
 msgid "refname>:<expect"
 msgstr "nom-de-referència>:<esperat"
 
-#: builtin/push.c:526 builtin/send-pack.c:176
+#: builtin/push.c:529 builtin/send-pack.c:176
 msgid "require old value of ref to be at this value"
 msgstr "requereix que el valor antic de la referència sigui d'aquest valor"
 
-#: builtin/push.c:529
+#: builtin/push.c:532
 msgid "control recursive pushing of submodules"
 msgstr "controla la pujada recursiva dels submòduls"
 
-#: builtin/push.c:531 builtin/send-pack.c:169
+#: builtin/push.c:534 builtin/send-pack.c:169
 msgid "use thin pack"
 msgstr "usa el paquet prim"
 
-#: builtin/push.c:532 builtin/push.c:533 builtin/send-pack.c:158
+#: builtin/push.c:535 builtin/push.c:536 builtin/send-pack.c:158
 #: builtin/send-pack.c:159
 msgid "receive pack program"
 msgstr "programa que rep els paquets"
 
-#: builtin/push.c:534
+#: builtin/push.c:537
 msgid "set upstream for git pull/status"
 msgstr "estableix la font per a git pull/status"
 
-#: builtin/push.c:537
+#: builtin/push.c:540
 msgid "prune locally removed refs"
 msgstr "poda les referències eliminades localment"
 
-#: builtin/push.c:539
+#: builtin/push.c:542
 msgid "bypass pre-push hook"
 msgstr "evita el ganxo de prepujada"
 
-#: builtin/push.c:540
+#: builtin/push.c:543
 msgid "push missing but relevant tags"
 msgstr "puja les etiquetes absents però rellevants"
 
-#: builtin/push.c:543 builtin/send-pack.c:166
+#: builtin/push.c:546 builtin/send-pack.c:166
 msgid "GPG sign the push"
 msgstr "signa la pujada amb GPG"
 
-#: builtin/push.c:545 builtin/send-pack.c:170
+#: builtin/push.c:548 builtin/send-pack.c:170
 msgid "request atomic transaction on remote side"
 msgstr "demana una transacció atòmica al costat remot"
 
-#: builtin/push.c:546
+#: builtin/push.c:549
 msgid "server-specific"
 msgstr "específic al servidor"
 
-#: builtin/push.c:546
+#: builtin/push.c:549
 msgid "option to transmit"
 msgstr "opció a transmetre"
 
-#: builtin/push.c:560
+#: builtin/push.c:563
 msgid "--delete is incompatible with --all, --mirror and --tags"
 msgstr "--delete és incompatible amb --all, --mirror i --tags"
 
-#: builtin/push.c:562
+#: builtin/push.c:565
 msgid "--delete doesn't make sense without any refs"
 msgstr "--delete no té sentit sense referències"
 
-#: builtin/push.c:579
+#: builtin/push.c:584
 msgid "push options must not have new line characters"
 msgstr "les opcions de pujada no han de tenir caràcters de línia nova"
 
@@ -10943,7 +11418,7 @@
 
 #: builtin/read-tree.c:115
 msgid "Merging"
-msgstr "Fusión"
+msgstr "S'està fusionant"
 
 #: builtin/read-tree.c:117
 msgid "perform a merge in addition to a read"
@@ -10975,7 +11450,7 @@
 
 #: builtin/read-tree.c:130
 msgid "gitignore"
-msgstr "ignoral de git"
+msgstr "gitignore"
 
 #: builtin/read-tree.c:131
 msgid "allow explicitly ignored files to be overwritten"
@@ -10991,7 +11466,7 @@
 
 #: builtin/read-tree.c:137
 msgid "skip applying sparse checkout filter"
-msgstr "salta l'aplicació del filtre d'agafament parcial"
+msgstr "omet l'aplicació del filtre d'agafament parcial"
 
 #: builtin/read-tree.c:139
 msgid "debug unpack-trees"
@@ -11008,8 +11483,8 @@
 "with what you pushed, and will require 'git reset --hard' to match\n"
 "the work tree to HEAD.\n"
 "\n"
-"You can set 'receive.denyCurrentBranch' configuration variable to\n"
-"'ignore' or 'warn' in the remote repository to allow pushing into\n"
+"You can set the 'receive.denyCurrentBranch' configuration variable\n"
+"to 'ignore' or 'warn' in the remote repository to allow pushing into\n"
 "its current branch; however, this is not recommended unless you\n"
 "arranged to update its work tree to match what you pushed in some\n"
 "other way.\n"
@@ -11017,16 +11492,16 @@
 "To squelch this message and still keep the default behaviour, set\n"
 "'receive.denyCurrentBranch' configuration variable to 'refuse'."
 msgstr ""
-"Per defecte, es denega actualizar la branca actual en un dipòsit no\n"
-"nu, perquè feria l'índex i l'arbre de treball inconsistents amb el\n"
-"que hàgiu pujat, i requerria 'git reset --hard' per a fer que\n"
+"Per defecte, es denega actualitzar la branca actual en un dipòsit no\n"
+"nu, perquè faria l'índex i l'arbre de treball inconsistents amb el\n"
+"que hàgiu pujat, i requeriria 'git reset --hard' per a fer que\n"
 "l'arbre de treball coincideixi amb HEAD.\n"
 "\n"
 "Podeu establir la variable de configuració\n"
 "'receive.denyCurrentBranch' a 'ignore' o 'warn' en el dipòsit remot\n"
 "per a permetre pujar a la seva branca actual; no obstant, no es\n"
 "recomana això a menys que hàgiu decidit actualitzar el seu arbre en\n"
-"alguna altra manera per a coincidar amb el que hàgiu pujat.\n"
+"alguna altra manera per a coincidir amb el que hàgiu pujat.\n"
 "\n"
 "Per a silenciar aquest missatge i encara retenir el comportament\n"
 "predeterminat, establiu la variable de configuració\n"
@@ -11049,14 +11524,14 @@
 "\n"
 "Podeu establir la variable de configuració\n"
 "'receive.denyDeleteCurrent' a 'warn' o 'ignore' en el dipòsit remot\n"
-"per a permetre suprimir la branca actual, amb o sense un missatge\n"
-"d'advertència.\n"
+"per a permetre suprimir la branca actual, amb un missatge\n"
+"d'advertència o sense.\n"
 "\n"
 "Per a silenciar aquest missatge, podeu establir-la a 'refuse'."
 
 #: builtin/receive-pack.c:1883
 msgid "quiet"
-msgstr "callat"
+msgstr "silenciós"
 
 #: builtin/receive-pack.c:1897
 msgid "You must specify a directory."
@@ -11164,7 +11639,7 @@
 "--mirror is dangerous and deprecated; please\n"
 "\t use --mirror=fetch or --mirror=push instead"
 msgstr ""
-"--mirror és perillós i desaprovat; si us\n"
+"--mirror és perillós i està en desús; si us\n"
 "\t plau, useu --mirror=fetch o\n"
 "\t --mirror=push en lloc d'això"
 
@@ -11311,17 +11786,17 @@
 #: builtin/remote.c:955
 #, c-format
 msgid "invalid branch.%s.merge; cannot rebase onto > 1 branch"
-msgstr "branch.%s.merge no vàlid; no es pot rebasar sobre > 1 branca"
+msgstr "branch.%s.merge no vàlid; no es pot fer «rebase» sobre > 1 branca"
 
 #: builtin/remote.c:963
 #, c-format
 msgid "rebases interactively onto remote %s"
-msgstr "es rebasa interactivament sobre el remot %s"
+msgstr "es fa «rebase» interactivament sobre el remot %s"
 
 #: builtin/remote.c:964
 #, c-format
 msgid "rebases onto remote %s"
-msgstr "es rebasa sobre el remot %s"
+msgstr "es fa «rebase» sobre el remot %s"
 
 #: builtin/remote.c:967
 #, c-format
@@ -11587,88 +12062,94 @@
 msgid "git repack [<options>]"
 msgstr "git repack [<opcions>]"
 
-#: builtin/repack.c:160
+#: builtin/repack.c:22
+msgid ""
+"Incremental repacks are incompatible with bitmap indexes.  Use\n"
+"--no-write-bitmap-index or disable the pack.writebitmaps configuration."
+msgstr ""
+
+#: builtin/repack.c:166
 msgid "pack everything in a single pack"
 msgstr "empaqueta-ho tot en un únic paquet"
 
-#: builtin/repack.c:162
+#: builtin/repack.c:168
 msgid "same as -a, and turn unreachable objects loose"
 msgstr "el mateix que -a, i solta els objectes inabastables"
 
-#: builtin/repack.c:165
+#: builtin/repack.c:171
 msgid "remove redundant packs, and run git-prune-packed"
 msgstr "elimina els paquets redundants, i executeu git-prune-packed"
 
-#: builtin/repack.c:167
+#: builtin/repack.c:173
 msgid "pass --no-reuse-delta to git-pack-objects"
 msgstr "passa --no-reuse-delta a git-pack-objects"
 
-#: builtin/repack.c:169
+#: builtin/repack.c:175
 msgid "pass --no-reuse-object to git-pack-objects"
 msgstr "passa --no-reuse-object a git-pack-objects"
 
-#: builtin/repack.c:171
+#: builtin/repack.c:177
 msgid "do not run git-update-server-info"
 msgstr "no executis git-update-server-info"
 
-#: builtin/repack.c:174
+#: builtin/repack.c:180
 msgid "pass --local to git-pack-objects"
 msgstr "passa --local a git-pack-objects"
 
-#: builtin/repack.c:176
+#: builtin/repack.c:182
 msgid "write bitmap index"
 msgstr "escriu índex de mapa de bits"
 
-#: builtin/repack.c:177
+#: builtin/repack.c:183
 msgid "approxidate"
 msgstr "data aproximada"
 
-#: builtin/repack.c:178
+#: builtin/repack.c:184
 msgid "with -A, do not loosen objects older than this"
 msgstr "amb -A, no soltis els objectes més vells que aquest"
 
-#: builtin/repack.c:180
+#: builtin/repack.c:186
 msgid "with -a, repack unreachable objects"
 msgstr "amb -a, reempaqueta els objectes inabastables"
 
-#: builtin/repack.c:182
+#: builtin/repack.c:188
 msgid "size of the window used for delta compression"
 msgstr "mida de la finestra que s'usa per a compressió de deltes"
 
-#: builtin/repack.c:183 builtin/repack.c:187
+#: builtin/repack.c:189 builtin/repack.c:193
 msgid "bytes"
 msgstr "octets"
 
-#: builtin/repack.c:184
+#: builtin/repack.c:190
 msgid "same as the above, but limit memory size instead of entries count"
 msgstr ""
 "el mateix que l'anterior, però limita la mida de memòria en lloc del nombre "
 "d'entrades"
 
-#: builtin/repack.c:186
+#: builtin/repack.c:192
 msgid "limits the maximum delta depth"
 msgstr "limita la profunditat màxima de les deltes"
 
-#: builtin/repack.c:188
+#: builtin/repack.c:194
 msgid "maximum size of each packfile"
 msgstr "mida màxima de cada fitxer de paquet"
 
-#: builtin/repack.c:190
+#: builtin/repack.c:196
 msgid "repack objects in packs marked with .keep"
 msgstr "reempaqueta els objectes en paquets marcats amb .keep"
 
-#: builtin/repack.c:200
+#: builtin/repack.c:206
 msgid "cannot delete packs in a precious-objects repo"
 msgstr "no es pot suprimir paquets en un dipòsit d'objectes preciosos"
 
-#: builtin/repack.c:204
+#: builtin/repack.c:210
 msgid "--keep-unreachable and -A are incompatible"
 msgstr "--keep-unreachable i -A són incompatibles"
 
-#: builtin/repack.c:391 builtin/worktree.c:115
+#: builtin/repack.c:400 builtin/worktree.c:115
 #, c-format
 msgid "failed to remove '%s'"
-msgstr "s'ha fallat en eliminar '%s'"
+msgstr "s'ha produït un error en eliminar '%s'"
 
 #: builtin/replace.c:19
 msgid "git replace [-f] <object> <replacement>"
@@ -11804,12 +12285,12 @@
 
 #: builtin/reset.c:76
 msgid "Failed to find tree of HEAD."
-msgstr "S'ha fallat en trobar l'arbre de HEAD."
+msgstr "S'ha produït un error en trobar l'arbre de HEAD."
 
 #: builtin/reset.c:82
 #, c-format
 msgid "Failed to find tree of %s."
-msgstr "S'ha fallat en trobar l'arbre de %s."
+msgstr "S'ha produït un error en cercar l'arbre de %s."
 
 #: builtin/reset.c:100
 #, c-format
@@ -11823,7 +12304,7 @@
 
 #: builtin/reset.c:276
 msgid "be quiet, only report errors"
-msgstr "calla, només informa d'errors"
+msgstr "sigues silenciós, només informa d'errors"
 
 #: builtin/reset.c:278
 msgid "reset HEAD and index"
@@ -11848,12 +12329,12 @@
 #: builtin/reset.c:305
 #, c-format
 msgid "Failed to resolve '%s' as a valid revision."
-msgstr "S'ha fallat en resoldre '%s' com a revisió vàlida."
+msgstr "S'ha produït un error en resoldre '%s' com a revisió vàlida."
 
 #: builtin/reset.c:313
 #, c-format
 msgid "Failed to resolve '%s' as a valid tree."
-msgstr "S'ha fallat en resoldre '%s' com a arbre vàlid."
+msgstr "S'ha produït un error en resoldre '%s' com a arbre vàlid."
 
 #: builtin/reset.c:322
 msgid "--patch is incompatible with --{hard,mixed,soft}"
@@ -11862,7 +12343,7 @@
 #: builtin/reset.c:331
 msgid "--mixed with paths is deprecated; use 'git reset -- <paths>' instead."
 msgstr ""
-"--mixed amb camins està desaprovat; useu 'git reset -- <camins>' en lloc "
+"--mixed amb camins està en desús; useu 'git reset -- <camins>' en lloc "
 "d'això."
 
 #: builtin/reset.c:333
@@ -11881,7 +12362,7 @@
 
 #: builtin/reset.c:364
 msgid "Unstaged changes after reset:"
-msgstr "Canvis no allistats després de restabliment:"
+msgstr "Canvis «unstaged» després del restabliment:"
 
 #: builtin/reset.c:370
 #, c-format
@@ -11896,23 +12377,23 @@
 msgid "rev-list does not support display of notes"
 msgstr "el rev-list no permet mostrar notes"
 
-#: builtin/rev-parse.c:386
+#: builtin/rev-parse.c:391
 msgid "git rev-parse --parseopt [<options>] -- [<args>...]"
 msgstr "git rev-parse --parseopt [<opcions>] -- [<paràmetres>...]"
 
-#: builtin/rev-parse.c:391
+#: builtin/rev-parse.c:396
 msgid "keep the `--` passed as an arg"
 msgstr "retén el `--` passat com a paràmetre"
 
-#: builtin/rev-parse.c:393
+#: builtin/rev-parse.c:398
 msgid "stop parsing after the first non-option argument"
 msgstr "deixa d'analitzar després del primer paràmetre no d'opció"
 
-#: builtin/rev-parse.c:396
+#: builtin/rev-parse.c:401
 msgid "output in stuck long form"
 msgstr "emet en forma llarga enganxada"
 
-#: builtin/rev-parse.c:527
+#: builtin/rev-parse.c:532
 msgid ""
 "git rev-parse --parseopt [<options>] -- [<args>...]\n"
 "   or: git rev-parse --sq-quote [<arg>...]\n"
@@ -11950,15 +12431,15 @@
 
 #: builtin/revert.c:80
 msgid "end revert or cherry-pick sequence"
-msgstr "acaba la seqüència de reversió o el recull de cireres"
+msgstr "acaba la seqüència de reversió o el «cherry pick»"
 
 #: builtin/revert.c:81
 msgid "resume revert or cherry-pick sequence"
-msgstr "reprèn la seqüència de reversió o el recull de cireres"
+msgstr "reprèn la seqüència de reversió o el «cherry pick»"
 
 #: builtin/revert.c:82
 msgid "cancel revert or cherry-pick sequence"
-msgstr "cancel·la la seqüència de reversió o el recull de cireres"
+msgstr "cancel·la la seqüència de reversió o el «cherry pick»"
 
 #: builtin/revert.c:83
 msgid "don't automatically commit"
@@ -12006,35 +12487,13 @@
 
 #: builtin/revert.c:205
 msgid "cherry-pick failed"
-msgstr "el recull de cireres ha fallat"
+msgstr "el «cherry pick» ha fallat"
 
 #: builtin/rm.c:17
 msgid "git rm [<options>] [--] <file>..."
 msgstr "git rm [<opcions>] [--] <fitxer>..."
 
-#: builtin/rm.c:65
-msgid ""
-"the following submodule (or one of its nested submodules)\n"
-"uses a .git directory:"
-msgid_plural ""
-"the following submodules (or one of their nested submodules)\n"
-"use a .git directory:"
-msgstr[0] ""
-"el submòdul següent (o un dels seus submòduls niats)\n"
-"usa un directori .git:"
-msgstr[1] ""
-"els submòduls següents (o un dels seus submòduls niats)\n"
-"usa un directori .git:"
-
-#: builtin/rm.c:71
-msgid ""
-"\n"
-"(use 'rm -rf' if you really want to remove it including all of its history)"
-msgstr ""
-"\n"
-"(useu 'rm -rf' si realment voleu eliminar-lo, incloent tota la seva història)"
-
-#: builtin/rm.c:230
+#: builtin/rm.c:205
 msgid ""
 "the following file has staged content different from both the\n"
 "file and the HEAD:"
@@ -12042,13 +12501,13 @@
 "the following files have staged content different from both the\n"
 "file and the HEAD:"
 msgstr[0] ""
-"el fitxer següent té contingut allistat diferent d'ambdós el\n"
+"el fitxer següent té contingut «stage» diferent d'ambdós el\n"
 "fitxer i el HEAD:"
 msgstr[1] ""
-"els fitxers següents tenen contingut allistat diferent d'ambdós\n"
+"els fitxers següents tenen contingut «stage» diferent d'ambdós\n"
 "el fitxer i el HEAD:"
 
-#: builtin/rm.c:235
+#: builtin/rm.c:210
 msgid ""
 "\n"
 "(use -f to force removal)"
@@ -12056,13 +12515,13 @@
 "\n"
 "(useu -f per a forçar l'eliminació)"
 
-#: builtin/rm.c:239
+#: builtin/rm.c:214
 msgid "the following file has changes staged in the index:"
 msgid_plural "the following files have changes staged in the index:"
-msgstr[0] "el fitxer següent té canvis allistats en l'índex:"
-msgstr[1] "els fitxers següents tenen canvis allistats en l'índex:"
+msgstr[0] "el fitxer següent té canvis «staged» en l'índex:"
+msgstr[1] "els fitxers següents tenen canvis «staged» en l'índex:"
 
-#: builtin/rm.c:243 builtin/rm.c:254
+#: builtin/rm.c:218 builtin/rm.c:227
 msgid ""
 "\n"
 "(use --cached to keep the file, or -f to force removal)"
@@ -12070,42 +12529,47 @@
 "\n"
 "(useu --cached per a retenir el fitxer, o -f per a forçar l'eliminació)"
 
-#: builtin/rm.c:251
+#: builtin/rm.c:224
 msgid "the following file has local modifications:"
 msgid_plural "the following files have local modifications:"
 msgstr[0] "el fitxer següent té modificacions locals:"
 msgstr[1] "els fitxers següents tenen modificacions locals:"
 
-#: builtin/rm.c:269
+#: builtin/rm.c:242
 msgid "do not list removed files"
 msgstr "no llistis els fitxers eliminats"
 
-#: builtin/rm.c:270
+#: builtin/rm.c:243
 msgid "only remove from the index"
 msgstr "només elimina de l'índex"
 
-#: builtin/rm.c:271
+#: builtin/rm.c:244
 msgid "override the up-to-date check"
 msgstr "passa per alt la comprovació d'actualitat"
 
-#: builtin/rm.c:272
+#: builtin/rm.c:245
 msgid "allow recursive removal"
 msgstr "permet l'eliminació recursiva"
 
-#: builtin/rm.c:274
+#: builtin/rm.c:247
 msgid "exit with a zero status even if nothing matched"
 msgstr "surt amb estat zero encara que res hagi coincidit"
 
-#: builtin/rm.c:335
+#: builtin/rm.c:308
 #, c-format
 msgid "not removing '%s' recursively without -r"
 msgstr "no s'està eliminant '%s' recursivament sense -r"
 
-#: builtin/rm.c:374
+#: builtin/rm.c:347
 #, c-format
 msgid "git rm: unable to remove %s"
 msgstr "git rm: no s'ha pogut eliminar %s"
 
+#: builtin/rm.c:370
+#, c-format
+msgid "could not remove '%s'"
+msgstr "no s'ha pogut suprimir '%s'"
+
 #: builtin/send-pack.c:18
 msgid ""
 "git send-pack [--all | --mirror] [--dry-run] [--force] [--receive-pack=<git-"
@@ -12138,24 +12602,28 @@
 msgid "git shortlog [<options>] [<revision-range>] [[--] [<path>...]]"
 msgstr "git shortlog [<opcions>] [<rang-de-revisions>] [[--] [<camí>...]]"
 
-#: builtin/shortlog.c:242
+#: builtin/shortlog.c:249
+msgid "Group by committer rather than author"
+msgstr ""
+
+#: builtin/shortlog.c:251
 msgid "sort output according to the number of commits per author"
 msgstr "ordena la sortida segons el nombre de comissions per autor"
 
-#: builtin/shortlog.c:244
+#: builtin/shortlog.c:253
 msgid "Suppress commit descriptions, only provides commit count"
 msgstr ""
 "Omet les descripcions de comissió, només proveeix el recompte de comissions"
 
-#: builtin/shortlog.c:246
+#: builtin/shortlog.c:255
 msgid "Show the email address of each author"
 msgstr "Mostra l'adreça de correu electrònic de cada autor"
 
-#: builtin/shortlog.c:247
+#: builtin/shortlog.c:256
 msgid "w[,i1[,i2]]"
 msgstr "w[,i1[,i2]]"
 
-#: builtin/shortlog.c:248
+#: builtin/shortlog.c:257
 msgid "Linewrap output"
 msgstr "Ajusta les línies de la sortida"
 
@@ -12225,7 +12693,7 @@
 
 #: builtin/show-branch.c:656
 msgid "show refs unreachable from any other ref"
-msgstr "mostra les referències inabastables de qualsevulla altra referència"
+msgstr "mostra les referències inabastables de qualsevol altra referència"
 
 #: builtin/show-branch.c:658
 msgid "show commits in topological order"
@@ -12306,37 +12774,37 @@
 msgid "git show-ref --exclude-existing[=<pattern>]"
 msgstr "git show-ref --exclude-existing[=<patró>]"
 
-#: builtin/show-ref.c:165
+#: builtin/show-ref.c:159
 msgid "only show tags (can be combined with heads)"
 msgstr "mostra només les etiquetes (es pot combinar amb heads)"
 
-#: builtin/show-ref.c:166
+#: builtin/show-ref.c:160
 msgid "only show heads (can be combined with tags)"
 msgstr "mostra només els caps (es pot combinar amb tags)"
 
-#: builtin/show-ref.c:167
+#: builtin/show-ref.c:161
 msgid "stricter reference checking, requires exact ref path"
 msgstr ""
 "comprovació de referència més estricta, requereix el camí de referència "
 "exacte"
 
-#: builtin/show-ref.c:170 builtin/show-ref.c:172
+#: builtin/show-ref.c:164 builtin/show-ref.c:166
 msgid "show the HEAD reference, even if it would be filtered out"
 msgstr "mostra la referència HEAD, encara que es filtrés"
 
-#: builtin/show-ref.c:174
+#: builtin/show-ref.c:168
 msgid "dereference tags into object IDs"
-msgstr "dereferencia les etiquetes a IDs d'objecte"
+msgstr "desreferencia les etiquetes a IDs d'objecte"
 
-#: builtin/show-ref.c:176
+#: builtin/show-ref.c:170
 msgid "only show SHA1 hash using <n> digits"
 msgstr "mostra el hash SHA1 usant només <n> xifres"
 
-#: builtin/show-ref.c:180
+#: builtin/show-ref.c:174
 msgid "do not print results to stdout (useful with --verify)"
 msgstr "no imprimeixis els resultats a stdout (útil amb --verify)"
 
-#: builtin/show-ref.c:182
+#: builtin/show-ref.c:176
 msgid "show refs from stdin that aren't in local repository"
 msgstr "mostra les referències d'stdin que no siguin en el dipòsit local"
 
@@ -12351,18 +12819,18 @@
 #: builtin/stripspace.c:35
 msgid "skip and remove all lines starting with comment character"
 msgstr ""
-"salta i elimina totes les línies començant amb el caràcter de comentari"
+"omet i elimina totes les línies que comencin amb el caràcter de comentari"
 
 #: builtin/stripspace.c:38
 msgid "prepend comment character and space to each line"
 msgstr "anteposa el caràcter de comentari i un espai a cada línia"
 
-#: builtin/submodule--helper.c:24 builtin/submodule--helper.c:1046
+#: builtin/submodule--helper.c:24 builtin/submodule--helper.c:1062
 #, c-format
 msgid "No such ref: %s"
 msgstr "No hi ha tal referència: %s"
 
-#: builtin/submodule--helper.c:31 builtin/submodule--helper.c:1055
+#: builtin/submodule--helper.c:31 builtin/submodule--helper.c:1071
 #, c-format
 msgid "Expecting a full ref name, got %s"
 msgstr "S'espera un nom de referència ple, s'ha rebut %s"
@@ -12372,8 +12840,7 @@
 msgid "cannot strip one component off url '%s'"
 msgstr "no es pot despullar un component de l'url '%s'"
 
-#: builtin/submodule--helper.c:282 builtin/submodule--helper.c:408
-#: builtin/submodule--helper.c:590
+#: builtin/submodule--helper.c:282 builtin/submodule--helper.c:592
 msgid "alternative anchor for relative paths"
 msgstr "àncora alternativa per als camins relatius"
 
@@ -12381,87 +12848,88 @@
 msgid "git submodule--helper list [--prefix=<path>] [<path>...]"
 msgstr "git submodule--helper list [--prefix=<camí>] [<camí>...]"
 
-#: builtin/submodule--helper.c:329 builtin/submodule--helper.c:343
+#: builtin/submodule--helper.c:333 builtin/submodule--helper.c:347
 #, c-format
 msgid "No url found for submodule path '%s' in .gitmodules"
 msgstr "No s'ha trobat cap url per al camí de submòdul '%s' a .gitmodules"
 
-#: builtin/submodule--helper.c:369
+#: builtin/submodule--helper.c:373
 #, c-format
 msgid "Failed to register url for submodule path '%s'"
-msgstr "S'ha fallat en registrar l'url per al camí de submòdul '%s'"
+msgstr "S'ha produït un error en registrar l'url per al camí de submòdul '%s'"
 
-#: builtin/submodule--helper.c:373
+#: builtin/submodule--helper.c:377
 #, c-format
 msgid "Submodule '%s' (%s) registered for path '%s'\n"
 msgstr "S'ha registrat el submòdul '%s' (%s) per al camí '%s'\n"
 
-#: builtin/submodule--helper.c:383
+#: builtin/submodule--helper.c:387
 #, c-format
 msgid "warning: command update mode suggested for submodule '%s'\n"
 msgstr ""
 "advertència: se suggereix el mode d'actualització per ordre per al submòdul "
 "'%s'\n"
 
-#: builtin/submodule--helper.c:390
+#: builtin/submodule--helper.c:394
 #, c-format
 msgid "Failed to register update mode for submodule path '%s'"
 msgstr ""
-"S'ha fallat en registrar el mode d'actualització per al camí de submòdul '%s'"
+"S'ha produït un error en registrar el mode d'actualització per al camí de "
+"submòdul '%s'"
 
-#: builtin/submodule--helper.c:409
+#: builtin/submodule--helper.c:410
 msgid "Suppress output for initializing a submodule"
 msgstr "Omet la sortida d'inicialitzar un submòdul"
 
-#: builtin/submodule--helper.c:414
+#: builtin/submodule--helper.c:415
 msgid "git submodule--helper init [<path>]"
 msgstr "git submodule--helper init [<camí>]"
 
-#: builtin/submodule--helper.c:435
+#: builtin/submodule--helper.c:436
 msgid "git submodule--helper name <path>"
 msgstr "git submodule--helper name <camí>"
 
-#: builtin/submodule--helper.c:441
+#: builtin/submodule--helper.c:442
 #, c-format
 msgid "no submodule mapping found in .gitmodules for path '%s'"
 msgstr "No s'ha trobat cap mapatge de submòdul a .gitmodules per al camí '%s'"
 
-#: builtin/submodule--helper.c:524 builtin/submodule--helper.c:527
+#: builtin/submodule--helper.c:525 builtin/submodule--helper.c:528
 #, c-format
 msgid "submodule '%s' cannot add alternate: %s"
 msgstr "el submòdul '%s' no pot afegir un alternatiu: %s"
 
-#: builtin/submodule--helper.c:563
+#: builtin/submodule--helper.c:564
 #, c-format
 msgid "Value '%s' for submodule.alternateErrorStrategy is not recognized"
 msgstr "No es reconeix el valor '%s' per a submodule.alternateErrorStrategy"
 
-#: builtin/submodule--helper.c:570
+#: builtin/submodule--helper.c:571
 #, c-format
 msgid "Value '%s' for submodule.alternateLocation is not recognized"
 msgstr "No es reconeix el valor '%s' per a submodule.alternateLocation"
 
-#: builtin/submodule--helper.c:593
+#: builtin/submodule--helper.c:595
 msgid "where the new submodule will be cloned to"
 msgstr "a on es clonarà el submòdul nou"
 
-#: builtin/submodule--helper.c:596
+#: builtin/submodule--helper.c:598
 msgid "name of the new submodule"
 msgstr "nom del submòdul nou"
 
-#: builtin/submodule--helper.c:599
+#: builtin/submodule--helper.c:601
 msgid "url where to clone the submodule from"
 msgstr "url del qual clonar el submòdul"
 
-#: builtin/submodule--helper.c:605
+#: builtin/submodule--helper.c:607
 msgid "depth for shallow clones"
 msgstr "profunditat dels clons superficials"
 
-#: builtin/submodule--helper.c:608 builtin/submodule--helper.c:964
+#: builtin/submodule--helper.c:610 builtin/submodule--helper.c:980
 msgid "force cloning progress"
 msgstr "força el progrés del clonatge"
 
-#: builtin/submodule--helper.c:613
+#: builtin/submodule--helper.c:615
 msgid ""
 "git submodule--helper clone [--prefix=<path>] [--quiet] [--reference "
 "<repository>] [--name <name>] [--depth <depth>] --url <url> --path <path>"
@@ -12469,97 +12937,92 @@
 "git submodule--helper clone [--prefix=<camí>] [--quiet] [--reference "
 "<dipòsit>] [--name <nom>] [--depth <profunditat>] --url <url> --path <camí>"
 
-#: builtin/submodule--helper.c:638 builtin/submodule--helper.c:648
-#, c-format
-msgid "could not create directory '%s'"
-msgstr "no s'ha pogut crear el directori '%s'"
-
-#: builtin/submodule--helper.c:644
+#: builtin/submodule--helper.c:646
 #, c-format
 msgid "clone of '%s' into submodule path '%s' failed"
 msgstr "el clonatge de '%s' al camí de submòdul '%s' ha fallat"
 
-#: builtin/submodule--helper.c:660
+#: builtin/submodule--helper.c:662
 #, c-format
 msgid "cannot open file '%s'"
 msgstr "no es pot obrir el fitxer '%s'"
 
-#: builtin/submodule--helper.c:665
+#: builtin/submodule--helper.c:667
 #, c-format
 msgid "could not close file %s"
 msgstr "no s'ha pogut tancar el fitxer %s"
 
-#: builtin/submodule--helper.c:672
+#: builtin/submodule--helper.c:674
 #, c-format
 msgid "could not get submodule directory for '%s'"
 msgstr "no s'ha pogut obtenir el directori de submòdul per a '%s'"
 
-#: builtin/submodule--helper.c:726
+#: builtin/submodule--helper.c:742
 #, c-format
 msgid "Submodule path '%s' not initialized"
 msgstr "El camí de submòdul '%s' no està inicialitzat"
 
-#: builtin/submodule--helper.c:730
+#: builtin/submodule--helper.c:746
 msgid "Maybe you want to use 'update --init'?"
 msgstr "Potser voleu usar 'update --init'?"
 
-#: builtin/submodule--helper.c:756
+#: builtin/submodule--helper.c:772
 #, c-format
 msgid "Skipping unmerged submodule %s"
-msgstr "S'està saltant el submòdul no fusionat %s"
+msgstr "S'està ometent el submòdul no fusionat %s"
 
-#: builtin/submodule--helper.c:777
+#: builtin/submodule--helper.c:793
 #, c-format
 msgid "Skipping submodule '%s'"
-msgstr "S'està saltant el submòdul '%s'"
+msgstr "S'està ometent el submòdul '%s'"
 
-#: builtin/submodule--helper.c:913
+#: builtin/submodule--helper.c:929
 #, c-format
 msgid "Failed to clone '%s'. Retry scheduled"
-msgstr "S'ha fallat en clonar '%s'. S'ha programat un reintent"
+msgstr "S'ha produït un error en clonar '%s'. S'ha programat un reintent"
 
-#: builtin/submodule--helper.c:924
+#: builtin/submodule--helper.c:940
 #, c-format
 msgid "Failed to clone '%s' a second time, aborting"
-msgstr "S'ha fallat una segona vegada en clonar '%s', s'està avortant"
+msgstr "S'ha produït un error per segon cop en clonar '%s', s'està avortant"
 
-#: builtin/submodule--helper.c:945
+#: builtin/submodule--helper.c:961 builtin/submodule--helper.c:1105
 msgid "path into the working tree"
 msgstr "camí a l'arbre de treball"
 
-#: builtin/submodule--helper.c:948
+#: builtin/submodule--helper.c:964
 msgid "path into the working tree, across nested submodule boundaries"
 msgstr "camí a l'arbre de treball, a través de fronteres de submòduls niats"
 
-#: builtin/submodule--helper.c:952
+#: builtin/submodule--helper.c:968
 msgid "rebase, merge, checkout or none"
 msgstr "rebase, merge, checkout o none"
 
-#: builtin/submodule--helper.c:956
+#: builtin/submodule--helper.c:972
 msgid "Create a shallow clone truncated to the specified number of revisions"
 msgstr "Crea un clon superficial truncat al nombre de revisions especificat"
 
-#: builtin/submodule--helper.c:959
+#: builtin/submodule--helper.c:975
 msgid "parallel jobs"
 msgstr "tasques paral·leles"
 
-#: builtin/submodule--helper.c:961
+#: builtin/submodule--helper.c:977
 msgid "whether the initial clone should follow the shallow recommendation"
 msgstr "si el clonatge inicial ha de seguir la recomanació de superficialitat"
 
-#: builtin/submodule--helper.c:962
+#: builtin/submodule--helper.c:978
 msgid "don't print cloning progress"
 msgstr "no imprimeixis el progrés del clonatge"
 
-#: builtin/submodule--helper.c:969
+#: builtin/submodule--helper.c:985
 msgid "git submodule--helper update_clone [--prefix=<path>] [<path>...]"
 msgstr "git submodule--helper update_clone [--prefix=<camí>] [<camí>...]"
 
-#: builtin/submodule--helper.c:979
+#: builtin/submodule--helper.c:995
 msgid "bad value for update parameter"
 msgstr "valor dolent per al paràmetre update"
 
-#: builtin/submodule--helper.c:1050
+#: builtin/submodule--helper.c:1066
 #, c-format
 msgid ""
 "Submodule (%s) branch configured to inherit branch from superproject, but "
@@ -12568,11 +13031,24 @@
 "La branca de submòdul (%s) està configurada per a heretar la branca del "
 "superprojecte, però el superprojecte no és en cap branca"
 
-#: builtin/submodule--helper.c:1100
+#: builtin/submodule--helper.c:1106
+msgid "recurse into submodules"
+msgstr "inclou recursivament als submòduls"
+
+#: builtin/submodule--helper.c:1112
+msgid "git submodule--helper embed-git-dir [<path>...]"
+msgstr "git submodule--helper embed-git-dir  [<camí>]"
+
+#: builtin/submodule--helper.c:1157
 msgid "submodule--helper subcommand must be called with a subcommand"
 msgstr "s'ha d'executar la subordre submodule--helper amb una subordre"
 
-#: builtin/submodule--helper.c:1107
+#: builtin/submodule--helper.c:1164
+#, c-format
+msgid "%s doesn't support --super-prefix"
+msgstr "%s no admet --super-prefix"
+
+#: builtin/submodule--helper.c:1170
 #, c-format
 msgid "'%s' is not a valid submodule--helper subcommand"
 msgstr "'%s' no és una subordre vàlida de submodule--helper"
@@ -12627,25 +13103,25 @@
 "\t\t[--[no-]merged [<comissió>]] [<patró>...]"
 
 #: builtin/tag.c:27
-msgid "git tag -v <tagname>..."
-msgstr "git tag -v <nom-d'etiqueta>..."
+msgid "git tag -v [--format=<format>] <tagname>..."
+msgstr "git tag -v [--format=<format>] <nom-d'etiqueta>..."
 
-#: builtin/tag.c:81
+#: builtin/tag.c:82
 #, c-format
 msgid "tag name too long: %.*s..."
 msgstr "nom d'etiqueta massa llarg: %.*s..."
 
-#: builtin/tag.c:86
+#: builtin/tag.c:87
 #, c-format
 msgid "tag '%s' not found."
 msgstr "no s'ha trobat l'etiqueta '%s'."
 
-#: builtin/tag.c:101
+#: builtin/tag.c:102
 #, c-format
 msgid "Deleted tag '%s' (was %s)\n"
 msgstr "S'ha suprimit l'etiqueta '%s' (era %s)\n"
 
-#: builtin/tag.c:117
+#: builtin/tag.c:131
 #, c-format
 msgid ""
 "\n"
@@ -12658,7 +13134,7 @@
 "  %s\n"
 "Les línies que comencin amb '%c' s'ignoraran.\n"
 
-#: builtin/tag.c:121
+#: builtin/tag.c:135
 #, c-format
 msgid ""
 "\n"
@@ -12673,138 +13149,138 @@
 "Les línies que comencin amb '%c' es retindran; podeu eliminar-les per vós "
 "mateix si voleu.\n"
 
-#: builtin/tag.c:199
+#: builtin/tag.c:213
 msgid "unable to sign the tag"
 msgstr "no s'ha pogut signar l'etiqueta"
 
-#: builtin/tag.c:201
+#: builtin/tag.c:215
 msgid "unable to write tag file"
 msgstr "no s'ha pogut escriure el fitxer d'etiqueta"
 
-#: builtin/tag.c:226
+#: builtin/tag.c:240
 msgid "bad object type."
 msgstr "el tipus d'objecte és dolent."
 
-#: builtin/tag.c:239
+#: builtin/tag.c:253
 msgid "tag header too big."
 msgstr "la capçalera d'etiqueta és massa gran."
 
-#: builtin/tag.c:275
+#: builtin/tag.c:289
 msgid "no tag message?"
 msgstr "no hi ha cap missatge d'etiqueta?"
 
-#: builtin/tag.c:281
+#: builtin/tag.c:295
 #, c-format
 msgid "The tag message has been left in %s\n"
 msgstr "S'ha deixat el missatge de l'etiqueta en %s\n"
 
-#: builtin/tag.c:339
+#: builtin/tag.c:354
 msgid "list tag names"
 msgstr "llista els noms d'etiqueta"
 
-#: builtin/tag.c:341
+#: builtin/tag.c:356
 msgid "print <n> lines of each tag message"
 msgstr "imprimeix <n> línies de cada missatge d'etiqueta"
 
-#: builtin/tag.c:343
+#: builtin/tag.c:358
 msgid "delete tags"
 msgstr "suprimeix les etiquetes"
 
-#: builtin/tag.c:344
+#: builtin/tag.c:359
 msgid "verify tags"
 msgstr "verifica les etiquetes"
 
-#: builtin/tag.c:346
+#: builtin/tag.c:361
 msgid "Tag creation options"
 msgstr "Opcions de creació d'etiquetes"
 
-#: builtin/tag.c:348
+#: builtin/tag.c:363
 msgid "annotated tag, needs a message"
 msgstr "etiqueta anotada, necessita un missatge"
 
-#: builtin/tag.c:350
+#: builtin/tag.c:365
 msgid "tag message"
 msgstr "missatge d'etiqueta"
 
-#: builtin/tag.c:352
+#: builtin/tag.c:367
 msgid "annotated and GPG-signed tag"
 msgstr "etiqueta anotada i signada per GPG"
 
-#: builtin/tag.c:356
+#: builtin/tag.c:371
 msgid "use another key to sign the tag"
 msgstr "usa una altra clau per a signar l'etiqueta"
 
-#: builtin/tag.c:357
+#: builtin/tag.c:372
 msgid "replace the tag if exists"
 msgstr "reemplaça l'etiqueta si existeix"
 
-#: builtin/tag.c:358 builtin/update-ref.c:368
+#: builtin/tag.c:373 builtin/update-ref.c:368
 msgid "create a reflog"
 msgstr "crea un registre de referències"
 
-#: builtin/tag.c:360
+#: builtin/tag.c:375
 msgid "Tag listing options"
 msgstr "Opcions de llistat d'etiquetes"
 
-#: builtin/tag.c:361
+#: builtin/tag.c:376
 msgid "show tag list in columns"
 msgstr "mostra la llista d'etiquetes en columnes"
 
-#: builtin/tag.c:362 builtin/tag.c:363
+#: builtin/tag.c:377 builtin/tag.c:378
 msgid "print only tags that contain the commit"
 msgstr "imprimeix només les etiquetes que continguin la comissió"
 
-#: builtin/tag.c:364
+#: builtin/tag.c:379
 msgid "print only tags that are merged"
 msgstr "imprimeix només les etiquetes que s'han fusionat"
 
-#: builtin/tag.c:365
+#: builtin/tag.c:380
 msgid "print only tags that are not merged"
 msgstr "imprimeix només les etiquetes que no s'han fusionat"
 
-#: builtin/tag.c:370
+#: builtin/tag.c:385
 msgid "print only tags of the object"
 msgstr "imprimeix només les etiquetes de l'objecte"
 
-#: builtin/tag.c:399
+#: builtin/tag.c:415
 msgid "--column and -n are incompatible"
 msgstr "--column i -n són incompatibles"
 
-#: builtin/tag.c:419
+#: builtin/tag.c:437
 msgid "-n option is only allowed with -l."
 msgstr "es permet l'opció -n només amb -l."
 
-#: builtin/tag.c:421
+#: builtin/tag.c:439
 msgid "--contains option is only allowed with -l."
 msgstr "es permet l'opció --contains només amb -l."
 
-#: builtin/tag.c:423
+#: builtin/tag.c:441
 msgid "--points-at option is only allowed with -l."
 msgstr "es permet --points-at option només amb -l."
 
-#: builtin/tag.c:425
+#: builtin/tag.c:443
 msgid "--merged and --no-merged option are only allowed with -l"
 msgstr "es permeten les opcions --merged i --no-merged només amb -l"
 
-#: builtin/tag.c:433
+#: builtin/tag.c:454
 msgid "only one -F or -m option is allowed."
 msgstr "només es permet una opció -F o -m."
 
-#: builtin/tag.c:452
+#: builtin/tag.c:473
 msgid "too many params"
 msgstr "massa paràmetres"
 
-#: builtin/tag.c:458
+#: builtin/tag.c:479
 #, c-format
 msgid "'%s' is not a valid tag name."
 msgstr "'%s' no és un nom d'etiqueta vàlid."
 
-#: builtin/tag.c:463
+#: builtin/tag.c:484
 #, c-format
 msgid "tag '%s' already exists"
 msgstr "l'etiqueta '%s' ja existeix"
 
-#: builtin/tag.c:491
+#: builtin/tag.c:512
 #, c-format
 msgid "Updated tag '%s' (was %s)\n"
 msgstr "Etiqueta '%s' actualitzada (era %s)\n"
@@ -12816,27 +13292,27 @@
 #: builtin/update-index.c:79
 #, c-format
 msgid "failed to create directory %s"
-msgstr "s'ha fallat en crear el directori %s"
+msgstr "s'ha produït un error en crear el directori %s"
 
 #: builtin/update-index.c:85
 #, c-format
 msgid "failed to stat %s"
-msgstr "s'ha fallat en fer stat a %s"
+msgstr "s'ha produït un error en fer stat a %s"
 
 #: builtin/update-index.c:95
 #, c-format
 msgid "failed to create file %s"
-msgstr "s'ha fallat en crear el fitxer %s"
+msgstr "s'ha produït un error en crear el fitxer %s"
 
 #: builtin/update-index.c:103
 #, c-format
 msgid "failed to delete file %s"
-msgstr "s'ha fallat en suprimir el fitxer %s"
+msgstr "s'ha produït un error en suprimir el fitxer %s"
 
 #: builtin/update-index.c:110 builtin/update-index.c:212
 #, c-format
 msgid "failed to delete directory %s"
-msgstr "s'ha fallat en suprimir el directori %s"
+msgstr "s'ha produït un error en suprimir el directori %s"
 
 #: builtin/update-index.c:133
 #, c-format
@@ -12965,7 +13441,7 @@
 
 #: builtin/update-index.c:978
 msgid "repopulate stages #2 and #3 for the listed paths"
-msgstr "reemplena les etapes #2 i #3 per als camins llistats"
+msgstr "reemplena les «stage» #2 i #3 per als camins llistats"
 
 #: builtin/update-index.c:982
 msgid "only update entries that differ from HEAD"
@@ -13003,7 +13479,7 @@
 msgid "enable untracked cache without testing the filesystem"
 msgstr "habilita la memòria cau no seguida sense provar el sistema de fitxers"
 
-#: builtin/update-index.c:1119
+#: builtin/update-index.c:1120
 msgid ""
 "core.untrackedCache is set to true; remove or change it, if you really want "
 "to disable the untracked cache"
@@ -13011,11 +13487,11 @@
 "core.untrackedCache està establert a veritable; elimineu-lo o canvieu-lo, si "
 "realment voleu inhabilitar el cau no seguit"
 
-#: builtin/update-index.c:1123
+#: builtin/update-index.c:1124
 msgid "Untracked cache disabled"
 msgstr "La memòria cau no seguida està inhabilitada"
 
-#: builtin/update-index.c:1131
+#: builtin/update-index.c:1132
 msgid ""
 "core.untrackedCache is set to false; remove or change it, if you really want "
 "to enable the untracked cache"
@@ -13023,7 +13499,7 @@
 "core.untrackedCache està establert a fals; elimineu-lo o canviar-lo, si "
 "realment voleu habilitar el cau no seguit"
 
-#: builtin/update-index.c:1135
+#: builtin/update-index.c:1136
 #, c-format
 msgid "Untracked cache enabled for '%s'"
 msgstr "La memòria cau no seguida està habilitada per a '%s'"
@@ -13073,7 +13549,7 @@
 msgid "print commit contents"
 msgstr "imprimeix els continguts de la comissió"
 
-#: builtin/verify-commit.c:73 builtin/verify-tag.c:35
+#: builtin/verify-commit.c:73 builtin/verify-tag.c:37
 msgid "print raw gpg status output"
 msgstr "imprimeix la sortida crua de l'estat gpg"
 
@@ -13089,11 +13565,11 @@
 msgid "show statistics only"
 msgstr "mostra només estadístiques"
 
-#: builtin/verify-tag.c:17
-msgid "git verify-tag [-v | --verbose] <tag>..."
-msgstr "git verify-tag [-v | --verbose] <etiqueta>..."
+#: builtin/verify-tag.c:18
+msgid "git verify-tag [-v | --verbose] [--format=<format>] <tag>..."
+msgstr "git verify-tag [-v | --verbose] [--format=<format>] <etiqueta>..."
 
-#: builtin/verify-tag.c:34
+#: builtin/verify-tag.c:36
 msgid "print tag contents"
 msgstr "imprimeix els continguts de l'etiqueta"
 
@@ -13144,6 +13620,14 @@
 "Eliminació de worktrees/%s: el fitxer gitdir es refereix a una ubicació no "
 "existent"
 
+#: builtin/worktree.c:128
+msgid "report pruned working trees"
+msgstr "informa dels arbres de treball podats"
+
+#: builtin/worktree.c:130
+msgid "expire working trees older than <time>"
+msgstr "fes caducar els arbres de treball més vells que <hora>"
+
 #: builtin/worktree.c:204
 #, c-format
 msgid "'%s' already exists"
@@ -13179,30 +13663,30 @@
 msgid "-b, -B, and --detach are mutually exclusive"
 msgstr "-b, -B i --detach són mutualment exclusius"
 
-#: builtin/worktree.c:470
+#: builtin/worktree.c:472
 msgid "reason for locking"
 msgstr "raó per bloquejar"
 
-#: builtin/worktree.c:482 builtin/worktree.c:515
+#: builtin/worktree.c:484 builtin/worktree.c:517
 #, c-format
 msgid "'%s' is not a working tree"
 msgstr "'%s' no és un arbre de treball"
 
-#: builtin/worktree.c:484 builtin/worktree.c:517
+#: builtin/worktree.c:486 builtin/worktree.c:519
 msgid "The main working tree cannot be locked or unlocked"
 msgstr "No es pot bloquejar ni desbloquejar l'arbre de treball principal"
 
-#: builtin/worktree.c:489
+#: builtin/worktree.c:491
 #, c-format
 msgid "'%s' is already locked, reason: %s"
 msgstr "'%s' ja està bloquejat, raó: '%s'"
 
-#: builtin/worktree.c:491
+#: builtin/worktree.c:493
 #, c-format
 msgid "'%s' is already locked"
 msgstr "'%s' ja està bloquejat"
 
-#: builtin/worktree.c:519
+#: builtin/worktree.c:521
 #, c-format
 msgid "'%s' is not locked"
 msgstr "'%s' no està bloquejat"
@@ -13227,20 +13711,20 @@
 msgid "git upload-pack [<options>] <dir>"
 msgstr "git upload-pack [<opcions>] <directori>"
 
-#: upload-pack.c:1028
+#: upload-pack.c:1036
 msgid "quit after a single request/response exchange"
 msgstr "surt després d'un sol intercanvi de sol·licitud/resposta"
 
-#: upload-pack.c:1030
+#: upload-pack.c:1038
 msgid "exit immediately after initial ref advertisement"
-msgstr "surt immediatament després del anunci inicial de referència"
+msgstr "surt immediatament després de l'anunci inicial de referència"
 
-#: upload-pack.c:1032
+#: upload-pack.c:1040
 msgid "do not try <directory>/.git/ if <directory> is no Git directory"
 msgstr ""
 "no intentis <directori>/.git/ si <directori> no és cap directori del Git"
 
-#: upload-pack.c:1034
+#: upload-pack.c:1042
 msgid "interrupt transfer after <n> seconds of inactivity"
 msgstr "interromp la transferència després de <n> segons d'inactivitat"
 
@@ -13253,7 +13737,7 @@
 "\tchmod 0700 %s"
 msgstr ""
 "Els permisos en el vostre directori de sòcol són massa liberals;\n"
-"potser que altres usuaris poden llegir els vostres credencials.\n"
+"pot ser que altres usuaris poden llegir les vostres credencials.\n"
 "Considereu executar:\n"
 "\n"
 "\tchmod 0700 %s"
@@ -13270,17 +13754,32 @@
 msgstr ""
 "'git help -a' i 'git help -g' llisten subordres disponibles i\n"
 "algunes guies de concepte. Vegeu 'git help <ordre>' o\n"
-"'git help <concepte>' per a llegir sobre una subordre o concepte\n"
-"específic."
+"'git help <concepte>' per a llegir sobre una subordre o concepte específic."
 
-#: http.c:342
+#: http.c:344
 msgid "Delegation control is not supported with cURL < 7.22.0"
 msgstr "No s'admet el control de delegació amb el cURL < 7.22.0"
 
-#: http.c:351
+#: http.c:353
 msgid "Public key pinning not supported with cURL < 7.44.0"
 msgstr "No s'admet l'enganx de clau pública amb cURL < 7.44.0"
 
+#: http.c:1713
+#, c-format
+msgid ""
+"unable to update url base from redirection:\n"
+"  asked for: %s\n"
+"   redirect: %s"
+msgstr ""
+"no s'ha pogut actualitzar la URL base des de la redirecció:\n"
+"  petició: %s\n"
+"   redirecció: %s"
+
+#: remote-curl.c:319
+#, c-format
+msgid "redirecting to %s"
+msgstr "s'està redirigint a %s"
+
 #: common-cmds.h:9
 msgid "start a working area (see also: git help tutorial)"
 msgstr "començar una àrea de treball (vegeu també: git help tutorial)"
@@ -13356,7 +13855,7 @@
 
 #: common-cmds.h:30
 msgid "Fetch from and integrate with another repository or a local branch"
-msgstr "Obtén de i integra amb un altre dipòsit o una branca local"
+msgstr "Obtén i integra amb un altre dipòsit o una branca local"
 
 #: common-cmds.h:31
 msgid "Update remote refs along with associated objects"
@@ -13422,7 +13921,7 @@
 #. at this point.
 #: git-bisect.sh:60
 msgid "Do you want me to do it for you [Y/n]? "
-msgstr "Voleu que ho faci per vós [Y/n]? "
+msgstr "Voleu que ho faci per vostè [Y/n]? "
 
 #: git-bisect.sh:121
 #, sh-format
@@ -13462,17 +13961,17 @@
 #: git-bisect.sh:262
 #, sh-format
 msgid "Bad rev input: $arg"
-msgstr "Introducció de revisió dolenta: $arg"
+msgstr "Introducció de revisió errònia: $arg"
 
 #: git-bisect.sh:281
 #, sh-format
 msgid "Bad rev input: $bisected_head"
-msgstr "Entrada de revisió dolenta: $bisected_head"
+msgstr "Entrada de revisió errònia: $bisected_head"
 
 #: git-bisect.sh:290
 #, sh-format
 msgid "Bad rev input: $rev"
-msgstr "Introducció de revisió dolenta: $rev"
+msgstr "Introducció de revisió errònia: $rev"
 
 #: git-bisect.sh:299
 #, sh-format
@@ -13567,7 +14066,7 @@
 "'bisect_state $state' exited with error code $res"
 msgstr ""
 "el pas de bisecció ha fallat:\n"
-"'bisect_state $state' ha surt amb el codi d'error $res"
+"'bisect_state $state' ha sortit amb el codi d'error $res"
 
 #: git-bisect.sh:538
 msgid "bisect run success"
@@ -13652,7 +14151,7 @@
 msgstr ""
 "La fusió simple no ha funcionat, s'està intentant una fusió automàtica."
 
-#: git-rebase.sh:56
+#: git-rebase.sh:57
 msgid ""
 "When you have resolved this problem, run \"git rebase --continue\".\n"
 "If you prefer to skip this patch, run \"git rebase --skip\" instead.\n"
@@ -13660,57 +14159,42 @@
 "\"."
 msgstr ""
 "Quan hàgiu resolt aquest problema, executeu \"git rebase --continue\".\n"
-"Si preferiu saltar aquest pedaç, executeu \"git rebase --skip\" en lloc "
+"Si preferiu ometre aquest pedaç, executeu \"git rebase --skip\" en lloc "
 "d'això.\n"
-"Per a agafar la branca original i deixar de rebasar, executeu \"git rebase --"
-"abort\"."
+"Per a agafar la branca original i deixar de fer «rebase», executeu \"git "
+"rebase --abort\"."
 
-#: git-rebase.sh:156 git-rebase.sh:395
+#: git-rebase.sh:157 git-rebase.sh:396
 #, sh-format
 msgid "Could not move back to $head_name"
 msgstr "No s'ha pogut tornar a $head_name"
 
-#: git-rebase.sh:167
-msgid "Applied autostash."
-msgstr "S'ha aplicat el magatzem automàtic."
-
-#: git-rebase.sh:170
+#: git-rebase.sh:171
 #, sh-format
 msgid "Cannot store $stash_sha1"
 msgstr "No es pot emmagatzemar $stash_sha1"
 
-#: git-rebase.sh:171
-msgid ""
-"Applying autostash resulted in conflicts.\n"
-"Your changes are safe in the stash.\n"
-"You can run \"git stash pop\" or \"git stash drop\" at any time.\n"
-msgstr ""
-"L'aplicació del magatzem automàtic ha resultat en conflictes.\n"
-"Els vostres canvis estan segurs en el magatzem.\n"
-"Podeu executar \"git stash pop\" o \"git stash drop\" en qualsevol moment.\n"
-
-#: git-rebase.sh:210
+#: git-rebase.sh:211
 msgid "The pre-rebase hook refused to rebase."
-msgstr "El ganxo de prerebasament ha refusat rebasar."
+msgstr "El ganxo pre-«rebase» ha refusat a fer «rebase»."
 
-#: git-rebase.sh:215
+#: git-rebase.sh:216
 msgid "It looks like git-am is in progress. Cannot rebase."
-msgstr "Sembla que git-am està en curs. No es pot rebasar."
+msgstr "Sembla que git-am està en curs. No es pot fer «rebase»."
 
-#: git-rebase.sh:356
+#: git-rebase.sh:357
 msgid "No rebase in progress?"
 msgstr "No hi ha rebasament en curs?"
 
-#: git-rebase.sh:367
+#: git-rebase.sh:368
 msgid "The --edit-todo action can only be used during interactive rebase."
-msgstr ""
-"L'acció --edit-todo només es pot usar durant un rebasament interactiva."
+msgstr "L'acció --edit-todo només es pot usar durant un «rebase» interactiu."
 
-#: git-rebase.sh:374
+#: git-rebase.sh:375
 msgid "Cannot read HEAD"
 msgstr "No es pot llegir HEAD"
 
-#: git-rebase.sh:377
+#: git-rebase.sh:378
 msgid ""
 "You must edit all merge conflicts and then\n"
 "mark them as resolved using git add"
@@ -13718,7 +14202,7 @@
 "Heu d'editar tots els conflictes de fusió i després\n"
 "marcar-los com a resolts fent servir git add"
 
-#: git-rebase.sh:414
+#: git-rebase.sh:418
 #, sh-format
 msgid ""
 "It seems that there is already a $state_dir_base directory, and\n"
@@ -13739,66 +14223,66 @@
 "i executeu-me de nou. M'aturo per si encara hi teniu alguna cosa\n"
 "de valor."
 
-#: git-rebase.sh:465
+#: git-rebase.sh:469
 #, sh-format
 msgid "invalid upstream $upstream_name"
 msgstr "font no vàlida $upstream_name"
 
-#: git-rebase.sh:489
+#: git-rebase.sh:493
 #, sh-format
 msgid "$onto_name: there are more than one merge bases"
 msgstr "$onto_name: ja hi ha més d'una base de fusió"
 
-#: git-rebase.sh:492 git-rebase.sh:496
+#: git-rebase.sh:496 git-rebase.sh:500
 #, sh-format
 msgid "$onto_name: there is no merge base"
 msgstr "$onto_name: no hi ha cap base de fusió"
 
-#: git-rebase.sh:501
+#: git-rebase.sh:505
 #, sh-format
 msgid "Does not point to a valid commit: $onto_name"
 msgstr "No assenyala una comissió vàlida: $onto_name"
 
-#: git-rebase.sh:524
+#: git-rebase.sh:528
 #, sh-format
 msgid "fatal: no such branch: $branch_name"
 msgstr "fatal: no hi ha tal branca: $branch_name"
 
-#: git-rebase.sh:557
+#: git-rebase.sh:561
 msgid "Cannot autostash"
 msgstr "No es pot emmagatzemar automàticament"
 
-#: git-rebase.sh:562
+#: git-rebase.sh:566
 #, sh-format
 msgid "Created autostash: $stash_abbrev"
 msgstr "S'ha creat un magatzem automàtic: $stash_abbrev"
 
-#: git-rebase.sh:566
+#: git-rebase.sh:570
 msgid "Please commit or stash them."
 msgstr "Si us plau, cometeu-los o emmagatzemeu-los."
 
-#: git-rebase.sh:586
+#: git-rebase.sh:590
 #, sh-format
 msgid "Current branch $branch_name is up to date."
 msgstr "La branca actual $branch_name està al dia."
 
-#: git-rebase.sh:590
+#: git-rebase.sh:594
 #, sh-format
 msgid "Current branch $branch_name is up to date, rebase forced."
-msgstr "La branca actual $branch_name està al dia; rebasament forçada."
+msgstr "La branca actual $branch_name està al dia; «rebase» forçat."
 
-#: git-rebase.sh:601
+#: git-rebase.sh:605
 #, sh-format
 msgid "Changes from $mb to $onto:"
 msgstr "Canvis de $mb a $onto:"
 
-#: git-rebase.sh:610
+#: git-rebase.sh:614
 msgid "First, rewinding head to replay your work on top of it..."
 msgstr ""
 "Primer, s'està rebobinant el cap per a reproduir el vostre treball al "
 "damunt..."
 
-#: git-rebase.sh:620
+#: git-rebase.sh:624
 #, sh-format
 msgid "Fast-forwarded $branch_name to $onto_name."
 msgstr "S'ha avançat $branch_name ràpidament a $onto_name."
@@ -13878,11 +14362,11 @@
 #: git-stash.sh:268
 #, sh-format
 msgid "Saved working directory and index state $stash_msg"
-msgstr "S'han desat el directori de treball i l'estat d'ìndex $stash_msg"
+msgstr "S'han desat el directori de treball i l'estat d'índex $stash_msg"
 
 #: git-stash.sh:285
 msgid "Cannot remove worktree changes"
-msgstr "No es pot eliminar els canvis de l'arbre de treball"
+msgstr "No es poden eliminar els canvis de l'arbre de treball"
 
 #: git-stash.sh:403
 #, sh-format
@@ -13935,7 +14419,7 @@
 
 #: git-stash.sh:533
 msgid "Cannot unstage modified files"
-msgstr "No es pot desallistar fitxers modificats"
+msgstr "No es pot fer «unstage» dels fitxers modificats"
 
 #: git-stash.sh:548
 msgid "Index was not unstashed."
@@ -13963,23 +14447,28 @@
 msgid "(To restore them type \"git stash apply\")"
 msgstr "(Per restaurar-les teclegeu \"git stash apply\")"
 
-#: git-submodule.sh:184
+#: git-submodule.sh:181
 msgid "Relative path can only be used from the toplevel of the working tree"
 msgstr ""
 "El camí relatiu només es pot usar des del nivell superior de l'arbre de "
 "treball"
 
-#: git-submodule.sh:194
+#: git-submodule.sh:191
 #, sh-format
 msgid "repo URL: '$repo' must be absolute or begin with ./|../"
 msgstr "URL de dipòsit: '$repo' ha de ser absolut o començar amb ./|../"
 
-#: git-submodule.sh:211
+#: git-submodule.sh:210
 #, sh-format
 msgid "'$sm_path' already exists in the index"
 msgstr "'$sm_path' ja existeix en l'índex"
 
-#: git-submodule.sh:215
+#: git-submodule.sh:213
+#, sh-format
+msgid "'$sm_path' already exists in the index and is not a submodule"
+msgstr "'$sm_path' ja existeix en l'índex i no és submòdul"
+
+#: git-submodule.sh:218
 #, sh-format
 msgid ""
 "The following path is ignored by one of your .gitignore files:\n"
@@ -13990,23 +14479,23 @@
 "$sm_path\n"
 "Useu -f si realment voleu afegir-lo."
 
-#: git-submodule.sh:233
+#: git-submodule.sh:236
 #, sh-format
 msgid "Adding existing repo at '$sm_path' to the index"
 msgstr "S'està afegint el dipòsit existent a '$sm_path' a l'índex"
 
-#: git-submodule.sh:235
+#: git-submodule.sh:238
 #, sh-format
 msgid "'$sm_path' already exists and is not a valid git repo"
 msgstr "'$sm_path' ja existeix i no és un dipòsit de git vàlid"
 
-#: git-submodule.sh:243
+#: git-submodule.sh:246
 #, sh-format
 msgid "A git directory for '$sm_name' is found locally with remote(s):"
 msgstr ""
 "Es troba un directori de git per a '$sm_name' localment amb els remots:"
 
-#: git-submodule.sh:245
+#: git-submodule.sh:248
 #, sh-format
 msgid ""
 "If you want to reuse this local git directory instead of cloning again from\n"
@@ -14023,49 +14512,49 @@
 "o no esteu segur de què vol dir això, trieu un altre nom amb l'opció '--"
 "name'."
 
-#: git-submodule.sh:251
+#: git-submodule.sh:254
 #, sh-format
 msgid "Reactivating local git directory for submodule '$sm_name'."
 msgstr ""
 "S'està reactivant el directori de git local per al submòdul '$sm_name'."
 
-#: git-submodule.sh:263
+#: git-submodule.sh:266
 #, sh-format
 msgid "Unable to checkout submodule '$sm_path'"
-msgstr "no s'ha pogut agafar el submòdul '$sm_path'"
+msgstr "No s'ha pogut agafar el submòdul '$sm_path'"
 
-#: git-submodule.sh:268
+#: git-submodule.sh:271
 #, sh-format
 msgid "Failed to add submodule '$sm_path'"
-msgstr "S'ha fallat en afegir el submòdul '$sm_path'"
+msgstr "S'ha produït un error en afegir el submòdul '$sm_path'"
 
-#: git-submodule.sh:277
+#: git-submodule.sh:280
 #, sh-format
 msgid "Failed to register submodule '$sm_path'"
-msgstr "S'ha fallat en registrar el submòdul '$sm_path'"
+msgstr "S'ha produït un error en registrar el submòdul '$sm_path'"
 
-#: git-submodule.sh:324
+#: git-submodule.sh:327
 #, sh-format
 msgid "Entering '$displaypath'"
 msgstr "S'està entrant '$displaypath'"
 
-#: git-submodule.sh:344
+#: git-submodule.sh:347
 #, sh-format
 msgid "Stopping at '$displaypath'; script returned non-zero status."
 msgstr ""
 "S'està aturant a '$displaypath'; l'script ha retornat un estat no zero."
 
-#: git-submodule.sh:415
+#: git-submodule.sh:418
 #, sh-format
 msgid "pathspec and --all are incompatible"
 msgstr "--pathspec i --all són incompatibles"
 
-#: git-submodule.sh:420
+#: git-submodule.sh:423
 #, sh-format
 msgid "Use '--all' if you really want to deinitialize all submodules"
 msgstr "Useu '--all' si realment voleu desinicialitzar tots els submòduls"
 
-#: git-submodule.sh:440
+#: git-submodule.sh:443
 #, sh-format
 msgid ""
 "Submodule work tree '$displaypath' contains a .git directory\n"
@@ -14074,7 +14563,7 @@
 "L'arbre de treball de submòdul '$displaypath' conté un directori .git\n"
 "(useu 'rm -rf' si realment voleu eliminar-lo, incloent tota la seva història)"
 
-#: git-submodule.sh:448
+#: git-submodule.sh:451
 #, sh-format
 msgid ""
 "Submodule work tree '$displaypath' contains local modifications; use '-f' to "
@@ -14083,38 +14572,38 @@
 "L'arbre de treball de submòdul '$displaypath' conté modificacions locals; "
 "useu '-f' per a descartar-les"
 
-#: git-submodule.sh:451
+#: git-submodule.sh:454
 #, sh-format
 msgid "Cleared directory '$displaypath'"
 msgstr "S'ha netejat el directori '$displaypath'"
 
-#: git-submodule.sh:452
+#: git-submodule.sh:455
 #, sh-format
 msgid "Could not remove submodule work tree '$displaypath'"
 msgstr "No s'ha pogut eliminar l'arbre de treball de submòdul '$displaypath'"
 
-#: git-submodule.sh:455
+#: git-submodule.sh:458
 #, sh-format
 msgid "Could not create empty submodule directory '$displaypath'"
 msgstr "No s'ha pogut crear el directori de submòdul buit '$displaypath'"
 
-#: git-submodule.sh:464
+#: git-submodule.sh:467
 #, sh-format
 msgid "Submodule '$name' ($url) unregistered for path '$displaypath'"
 msgstr "Submòdul '$name' ($url) no registrat per al camí '$displaypath'"
 
-#: git-submodule.sh:617
+#: git-submodule.sh:623
 #, sh-format
 msgid "Unable to find current revision in submodule path '$displaypath'"
 msgstr ""
 "No s'ha pogut trobar la revisió actual en el camí de submòdul '$displaypath'"
 
-#: git-submodule.sh:627
+#: git-submodule.sh:633
 #, sh-format
 msgid "Unable to fetch in submodule path '$sm_path'"
 msgstr "No s'ha pogut obtenir en el camí de submòdul '$sm_path'"
 
-#: git-submodule.sh:632
+#: git-submodule.sh:638
 #, sh-format
 msgid ""
 "Unable to find current ${remote_name}/${branch} revision in submodule path "
@@ -14123,12 +14612,12 @@
 "No s'ha pogut trobar la revisió actual de ${remote_name}/${branch} en el "
 "camí de submòdul '$sm_path'"
 
-#: git-submodule.sh:650
+#: git-submodule.sh:656
 #, sh-format
 msgid "Unable to fetch in submodule path '$displaypath'"
 msgstr "No s'ha pogut obtenir en el camí de submòdul '$displaypath'"
 
-#: git-submodule.sh:656
+#: git-submodule.sh:662
 #, sh-format
 msgid ""
 "Fetched in submodule path '$displaypath', but it did not contain $sha1. "
@@ -14137,83 +14626,87 @@
 "S'ha obtingut en el camí de submòdul '$displaypath', però no contenia $sha1. "
 "L'obtenció directa d'aquella comissió ha fallat."
 
-#: git-submodule.sh:663
+#: git-submodule.sh:669
 #, sh-format
 msgid "Unable to checkout '$sha1' in submodule path '$displaypath'"
 msgstr "No s'ha pogut agafar '$sha1' en el camí de submòdul '$displaypath'"
 
-#: git-submodule.sh:664
+#: git-submodule.sh:670
 #, sh-format
 msgid "Submodule path '$displaypath': checked out '$sha1'"
 msgstr "Camí de submòdul '$displaypath': s'ha agafat '$sha1'"
 
-#: git-submodule.sh:668
+#: git-submodule.sh:674
 #, sh-format
 msgid "Unable to rebase '$sha1' in submodule path '$displaypath'"
-msgstr "no s'ha pogut rebasar '$sha1' en el camí de submòdul '$displaypath'"
+msgstr ""
+"No s'ha pogut fer «rebase» '$sha1' en el camí de submòdul '$displaypath'"
 
-#: git-submodule.sh:669
+#: git-submodule.sh:675
 #, sh-format
 msgid "Submodule path '$displaypath': rebased into '$sha1'"
-msgstr "Camí de submòdul '$displaypath': s'ha rebasat en '$sha1'"
+msgstr "Camí de submòdul '$displaypath': s'ha fet «rebase» en '$sha1'"
 
-#: git-submodule.sh:674
+#: git-submodule.sh:680
 #, sh-format
 msgid "Unable to merge '$sha1' in submodule path '$displaypath'"
 msgstr "No s'ha pogut fusionar '$sha1' en el camí de submòdul '$displaypath'"
 
-#: git-submodule.sh:675
+#: git-submodule.sh:681
 #, sh-format
 msgid "Submodule path '$displaypath': merged in '$sha1'"
 msgstr "Camí de submòdul '$displaypath': s'ha fusionat en '$sha1'"
 
-#: git-submodule.sh:680
+#: git-submodule.sh:686
 #, sh-format
 msgid "Execution of '$command $sha1' failed in submodule path '$displaypath'"
 msgstr ""
 "L'execució de '$command $sha1' ha fallat en el camí de submòdul "
 "'$displaypath'"
 
-#: git-submodule.sh:681
+#: git-submodule.sh:687
 #, sh-format
 msgid "Submodule path '$displaypath': '$command $sha1'"
 msgstr "Camí de submòdul '$displaypath': '$command $sha1'"
 
-#: git-submodule.sh:712
+#: git-submodule.sh:718
 #, sh-format
 msgid "Failed to recurse into submodule path '$displaypath'"
-msgstr "S'ha fallat en recursar al camí de submòdul '$displaypath'"
+msgstr ""
+"S'ha produït un error en recorre recursivament dins del camí de submòdul "
+"'$displaypath'"
 
-#: git-submodule.sh:820
+#: git-submodule.sh:826
 msgid "The --cached option cannot be used with the --files option"
 msgstr "L'opció --cached no es pot usar amb l'opció --files"
 
-#: git-submodule.sh:872
+#: git-submodule.sh:878
 #, sh-format
 msgid "unexpected mode $mod_dst"
 msgstr "mode inesperat $mod_dst"
 
-#: git-submodule.sh:892
+#: git-submodule.sh:898
 #, sh-format
 msgid "  Warn: $display_name doesn't contain commit $sha1_src"
 msgstr "  Avís: $display_name no conté la comissió $sha1_src"
 
-#: git-submodule.sh:895
+#: git-submodule.sh:901
 #, sh-format
 msgid "  Warn: $display_name doesn't contain commit $sha1_dst"
 msgstr "  Avís: $display_name no conté la comissió $sha1_dst"
 
-#: git-submodule.sh:898
+#: git-submodule.sh:904
 #, sh-format
 msgid "  Warn: $display_name doesn't contain commits $sha1_src and $sha1_dst"
 msgstr "  Avís: $display_name no conté les comissions $sha1_src i $sha1_dst"
 
-#: git-submodule.sh:1045
+#: git-submodule.sh:1051
 #, sh-format
 msgid "Failed to recurse into submodule path '$sm_path'"
-msgstr "S'ha fallat en recursar al camí de submòdul '$sm_path'"
+msgstr ""
+"S'ha produït un error en cercar recursivament al camí de submòdul '$sm_path'"
 
-#: git-submodule.sh:1112
+#: git-submodule.sh:1118
 #, sh-format
 msgid "Synchronizing submodule url for '$displaypath'"
 msgstr "S'està sincronitzant l'url de submòdul per a '$displaypath'"
@@ -14226,7 +14719,7 @@
 #: git-rebase--interactive.sh:140
 #, sh-format
 msgid "Rebasing ($new_count/$total)"
-msgstr "S'està rebasant ($new_count/$total)"
+msgstr "S'està fent «rebase» ($new_count/$total)"
 
 #: git-rebase--interactive.sh:156
 msgid ""
@@ -14246,7 +14739,7 @@
 "Ordres:\n"
 " p, pick = usa la comissió\n"
 " r, reword = usa la comissió, però edita el missatge de comissió\n"
-" e, edit = usa la commissió, però atura't per a esmenar\n"
+" e, edit = usa la comissió, però atura't per a esmenar\n"
 " s, squash = usa la comissió, però fusiona'l a la comissió prèvia\n"
 " f, fixup = com \"squash\", però descarta el missatge de registre d'aquesta "
 "comissió\n"
@@ -14295,7 +14788,7 @@
 #: git-rebase--interactive.sh:236
 #, sh-format
 msgid "$sha1: not a commit that can be picked"
-msgstr "$sha1: no és una comissió que es pugi escollir"
+msgstr "$sha1: no és una comissió que es pugui escollir"
 
 #: git-rebase--interactive.sh:275
 #, sh-format
@@ -14324,7 +14817,7 @@
 #: git-rebase--interactive.sh:385
 #, sh-format
 msgid "Refusing to squash a merge: $sha1"
-msgstr "S'està refusant aixafar una fusió: $sha1"
+msgstr "S'està refusant fer «squash» a una fusió: $sha1"
 
 #: git-rebase--interactive.sh:399
 #, sh-format
@@ -14344,7 +14837,7 @@
 #: git-rebase--interactive.sh:421
 #, sh-format
 msgid "The commit message #${n} will be skipped:"
-msgstr "El missatge de comissió núm. ${n} se saltarà:"
+msgstr "El missatge de comissió núm. ${n} s'ometrà:"
 
 #: git-rebase--interactive.sh:432
 #, sh-format
@@ -14353,26 +14846,22 @@
 msgstr[0] "Això és una combinació de $count comissió."
 msgstr[1] "Això és una combinació de $count comissions."
 
-#: git-rebase--interactive.sh:440
+#: git-rebase--interactive.sh:441
 #, sh-format
 msgid "Cannot write $fixup_msg"
 msgstr "No es pot escriure $fixup_msg"
 
-#: git-rebase--interactive.sh:443
+#: git-rebase--interactive.sh:444
 msgid "This is a combination of 2 commits."
 msgstr "Això és una combinació de 2 comissions."
 
-#: git-rebase--interactive.sh:444
-msgid "This is the 1st commit message:"
-msgstr "Aquest és el 1er missatge de comissió:"
-
-#: git-rebase--interactive.sh:484 git-rebase--interactive.sh:527
-#: git-rebase--interactive.sh:530
+#: git-rebase--interactive.sh:485 git-rebase--interactive.sh:528
+#: git-rebase--interactive.sh:531
 #, sh-format
 msgid "Could not apply $sha1... $rest"
 msgstr "No s'ha pogut aplicar $sha1... $rest"
 
-#: git-rebase--interactive.sh:558
+#: git-rebase--interactive.sh:559
 #, sh-format
 msgid ""
 "Could not amend commit after successfully picking $sha1... $rest\n"
@@ -14384,35 +14873,35 @@
 "No s'ha pogut esmenar la comissió després d'escollir amb èxit $sha1... "
 "$rest\n"
 "Això és probablement a causa d'un missatge de comissió buit, o el ganxo de\n"
-"precomissió ha fallat. Si el ganxo de precomissió ha fallat, potser que\n"
+"precomissió ha fallat. Si el ganxo de precomissió ha fallat, pot ser que\n"
 "necessiteu resoldre el problema abans que pugueu canviar el missatge de\n"
 "comissió."
 
-#: git-rebase--interactive.sh:573
+#: git-rebase--interactive.sh:574
 #, sh-format
 msgid "Stopped at $sha1_abbrev... $rest"
 msgstr "S'ha aturat a $sha1_abbrev... $rest"
 
-#: git-rebase--interactive.sh:588
+#: git-rebase--interactive.sh:589
 #, sh-format
 msgid "Cannot '$squash_style' without a previous commit"
 msgstr "No es pot '$squash_style' sense una comissió prèvia"
 
-#: git-rebase--interactive.sh:630
+#: git-rebase--interactive.sh:631
 #, sh-format
 msgid "Executing: $rest"
 msgstr "S'està executant: $rest"
 
-#: git-rebase--interactive.sh:638
+#: git-rebase--interactive.sh:639
 #, sh-format
 msgid "Execution failed: $rest"
 msgstr "L'execució ha fallat: $rest"
 
-#: git-rebase--interactive.sh:640
+#: git-rebase--interactive.sh:641
 msgid "and made changes to the index and/or the working tree"
 msgstr "i ha fet canvis a l'índex o l'arbre de treball"
 
-#: git-rebase--interactive.sh:642
+#: git-rebase--interactive.sh:643
 msgid ""
 "You can fix the problem, and then run\n"
 "\n"
@@ -14423,7 +14912,7 @@
 "\tgit rebase --continue"
 
 #. TRANSLATORS: after these lines is a command to be issued by the user
-#: git-rebase--interactive.sh:655
+#: git-rebase--interactive.sh:656
 #, sh-format
 msgid ""
 "Execution succeeded: $rest\n"
@@ -14438,25 +14927,25 @@
 "\n"
 "\tgit rebase --continue"
 
-#: git-rebase--interactive.sh:666
+#: git-rebase--interactive.sh:667
 #, sh-format
 msgid "Unknown command: $command $sha1 $rest"
 msgstr "Ordre desconeguda: $command $sha1 $rest"
 
-#: git-rebase--interactive.sh:667
+#: git-rebase--interactive.sh:668
 msgid "Please fix this using 'git rebase --edit-todo'."
 msgstr "Si us plau, arregleu això usant 'git rebase --edit-todo'."
 
-#: git-rebase--interactive.sh:702
+#: git-rebase--interactive.sh:703
 #, sh-format
 msgid "Successfully rebased and updated $head_name."
 msgstr "S'ha rebasat i actualitzat $head_name amb èxit."
 
-#: git-rebase--interactive.sh:749
+#: git-rebase--interactive.sh:750
 msgid "Could not skip unnecessary pick commands"
-msgstr "No s'ha pogut saltar ordres innecessaris d'elecció"
+msgstr "No s'ha pogut ometre ordres innecessaris d'elecció"
 
-#: git-rebase--interactive.sh:907
+#: git-rebase--interactive.sh:908
 #, sh-format
 msgid ""
 "Warning: the SHA-1 is missing or isn't a commit in the following line:\n"
@@ -14465,7 +14954,7 @@
 "Advertència: manca el SHA-1 o no és una comissió en la línia següent:\n"
 " - $line"
 
-#: git-rebase--interactive.sh:940
+#: git-rebase--interactive.sh:941
 #, sh-format
 msgid ""
 "Warning: the command isn't recognized in the following line:\n"
@@ -14474,11 +14963,11 @@
 "Advertència: no es reconeix l'ordre en la línia següent:\n"
 " - $line"
 
-#: git-rebase--interactive.sh:979
+#: git-rebase--interactive.sh:980
 msgid "could not detach HEAD"
 msgstr "no s'ha pogut separar HEAD"
 
-#: git-rebase--interactive.sh:1017
+#: git-rebase--interactive.sh:1018
 msgid ""
 "Warning: some commits may have been dropped accidentally.\n"
 "Dropped commits (newer to older):"
@@ -14487,7 +14976,7 @@
 "accidentalment.\n"
 "Les comissions descartades (més nova a més vella):"
 
-#: git-rebase--interactive.sh:1025
+#: git-rebase--interactive.sh:1026
 msgid ""
 "To avoid this message, use \"drop\" to explicitly remove a commit.\n"
 "\n"
@@ -14502,7 +14991,7 @@
 "d'advertències.\n"
 "Els comportaments possibles són: ignore, warn, error."
 
-#: git-rebase--interactive.sh:1036
+#: git-rebase--interactive.sh:1037
 #, sh-format
 msgid ""
 "Unrecognized setting $check_level for option rebase.missingCommitsCheck. "
@@ -14511,23 +15000,23 @@
 "No s'ha reconegut l'ajust $check_level per a l'opció rebase."
 "missingCommitsCheck. S'està ignorant."
 
-#: git-rebase--interactive.sh:1053
+#: git-rebase--interactive.sh:1054
 msgid ""
 "You can fix this with 'git rebase --edit-todo' and then run 'git rebase --"
 "continue'."
 msgstr ""
-"Podeu arreglar això amb 'git rebase --edit-todo' i desprès 'git rebase --"
+"Podeu arreglar això amb 'git rebase --edit-todo' i després 'git rebase --"
 "continue'."
 
-#: git-rebase--interactive.sh:1054
+#: git-rebase--interactive.sh:1055
 msgid "Or you can abort the rebase with 'git rebase --abort'."
 msgstr "O podeu avortar el rebasament amb 'git rebase --abort'."
 
-#: git-rebase--interactive.sh:1078
+#: git-rebase--interactive.sh:1079
 msgid "Could not remove CHERRY_PICK_HEAD"
 msgstr "No s'ha pogut eliminar CHERRY_PICK_HEAD"
 
-#: git-rebase--interactive.sh:1083
+#: git-rebase--interactive.sh:1084
 #, sh-format
 msgid ""
 "You have staged changes in your working tree.\n"
@@ -14544,8 +15033,8 @@
 "\n"
 "  git rebase --continue\n"
 msgstr ""
-"Teniu canvis emmagatzemats en el vostre arbre de treball.\n"
-"Si aquests canvis són per a aixafar-se\n"
+"Teniu canvis «stage» en el vostre arbre de treball.\n"
+"Si aquests canvis són per fer «squash»\n"
 "a la comissió prèvia, executeu:\n"
 "\n"
 "  git commit --amend $gpg_sign_opt_quoted\n"
@@ -14554,29 +15043,29 @@
 "\n"
 "  git commit $gpg_sign_opt_quoted\n"
 "\n"
-"En ambdós cassos, quan hàgiu terminat, continueu amb:\n"
+"En ambdós casos, quan hàgiu terminat, continueu amb:\n"
 "\n"
 "  git rebase --continue\n"
 
-#: git-rebase--interactive.sh:1100
+#: git-rebase--interactive.sh:1101
 msgid "Error trying to find the author identity to amend commit"
 msgstr ""
-"Ha hagut un error en intentar trobar la identitat d'autor per a esmenar la "
-"comissió"
+"Hi ha hagut un error en intentar trobar la identitat d'autor per a esmenar "
+"la comissió"
 
-#: git-rebase--interactive.sh:1105
+#: git-rebase--interactive.sh:1106
 msgid ""
 "You have uncommitted changes in your working tree. Please commit them\n"
 "first and then run 'git rebase --continue' again."
 msgstr ""
-"Teniu canvis no comessos en el vostre arbre de treball. Si us plau,\n"
+"Teniu canvis no comesos en el vostre arbre de treball. Si us plau,\n"
 "primer cometeu-los i després executeu 'git rebase --continue' de nou."
 
-#: git-rebase--interactive.sh:1110 git-rebase--interactive.sh:1114
+#: git-rebase--interactive.sh:1111 git-rebase--interactive.sh:1115
 msgid "Could not commit staged changes."
-msgstr "No s'ha pogut cometre els canvis emmagatzemats."
+msgstr "No s'ha pogut cometre els canvis «staged»."
 
-#: git-rebase--interactive.sh:1138
+#: git-rebase--interactive.sh:1139
 msgid ""
 "\n"
 "You are editing the todo file of an ongoing interactive rebase.\n"
@@ -14590,40 +15079,40 @@
 "    git rebase --continue\n"
 "\n"
 
-#: git-rebase--interactive.sh:1146 git-rebase--interactive.sh:1304
+#: git-rebase--interactive.sh:1147 git-rebase--interactive.sh:1305
 msgid "Could not execute editor"
 msgstr "No s'ha pogut executar l'editor"
 
-#: git-rebase--interactive.sh:1159
+#: git-rebase--interactive.sh:1160
 #, sh-format
 msgid "Could not checkout $switch_to"
 msgstr "No s'ha pogut agafar $switch_to"
 
-#: git-rebase--interactive.sh:1164
+#: git-rebase--interactive.sh:1165
 msgid "No HEAD?"
 msgstr "No hi ha cap HEAD?"
 
-#: git-rebase--interactive.sh:1165
+#: git-rebase--interactive.sh:1166
 #, sh-format
 msgid "Could not create temporary $state_dir"
 msgstr "No s'ha pogut crear el $state_dir temporal"
 
-#: git-rebase--interactive.sh:1167
+#: git-rebase--interactive.sh:1168
 msgid "Could not mark as interactive"
 msgstr "No s'ha pogut marcar com a interactiu"
 
-#: git-rebase--interactive.sh:1177 git-rebase--interactive.sh:1182
+#: git-rebase--interactive.sh:1178 git-rebase--interactive.sh:1183
 msgid "Could not init rewritten commits"
 msgstr "No s'ha pogut iniciar les comissions reescrites"
 
-#: git-rebase--interactive.sh:1282
+#: git-rebase--interactive.sh:1283
 #, sh-format
 msgid "Rebase $shortrevisions onto $shortonto ($todocount command)"
 msgid_plural "Rebase $shortrevisions onto $shortonto ($todocount commands)"
 msgstr[0] "Rebasa $shortrevisions sobre $shortonto ($todocount ordre)"
 msgstr[1] "Rebasa $shortrevisions sobre $shortonto ($todocount ordres)"
 
-#: git-rebase--interactive.sh:1287
+#: git-rebase--interactive.sh:1288
 msgid ""
 "\n"
 "However, if you remove everything, the rebase will be aborted.\n"
@@ -14633,7 +15122,7 @@
 "No obstant, si elimineu tot, s'avortarà el rebasament.\n"
 "\n"
 
-#: git-rebase--interactive.sh:1294
+#: git-rebase--interactive.sh:1295
 msgid "Note that empty commits are commented out"
 msgstr "Nota que les comissions buides estan comentades"
 
@@ -14656,29 +15145,30 @@
 
 #: git-sh-setup.sh:220
 msgid "Cannot rebase: You have unstaged changes."
-msgstr "No es pot rebasar: Teniu canvis no allistats."
+msgstr "No es pot rebasar: Teniu canvis «unstaged»."
 
 #: git-sh-setup.sh:223
 msgid "Cannot rewrite branches: You have unstaged changes."
-msgstr "No es pot reescriure branques: Teniu canvis no allistats."
+msgstr "No es pot reescriure branques: Teniu canvis «unstaged»."
 
 #: git-sh-setup.sh:226
 msgid "Cannot pull with rebase: You have unstaged changes."
-msgstr "No es pot baixar amb rebasament: Teniu canvis no allistats."
+msgstr "No es pot baixar fent «rebase»: Teniu canvis «unstaged»."
 
 #: git-sh-setup.sh:229
 #, sh-format
 msgid "Cannot $action: You have unstaged changes."
-msgstr "No es pot $action: Teniu canvis no allistats."
+msgstr "No es pot $action: Teniu canvis «unstaged»."
 
 #: git-sh-setup.sh:242
 msgid "Cannot rebase: Your index contains uncommitted changes."
-msgstr "No es pot rebasar: El vostre índex conté canvis sense cometre."
+msgstr "No es pot fer «rebase»: El vostre índex conté canvis sense cometre."
 
 #: git-sh-setup.sh:245
 msgid "Cannot pull with rebase: Your index contains uncommitted changes."
 msgstr ""
-"No es pot baixar amb rebasament: El vostre índex conté canvis sense cometre."
+"No es pot baixar fent «rebase»: El vostre índex conté canvis sense "
+"cometre."
 
 #: git-sh-setup.sh:248
 #, sh-format
@@ -14697,3 +15187,847 @@
 #: git-sh-setup.sh:377
 msgid "Unable to determine absolute path of git directory"
 msgstr "No s'ha pogut determinar el camí absolut del directori de git"
+
+#. TRANSLATORS: you can adjust this to align "git add -i" status menu
+#: git-add--interactive.perl:238
+#, perl-format
+msgid "%12s %12s %s"
+msgstr ""
+
+#: git-add--interactive.perl:239
+msgid "staged"
+msgstr "staged"
+
+#: git-add--interactive.perl:239
+msgid "unstaged"
+msgstr "unstaged"
+
+#: git-add--interactive.perl:297 git-add--interactive.perl:322
+msgid "binary"
+msgstr "binari"
+
+#: git-add--interactive.perl:306 git-add--interactive.perl:360
+msgid "nothing"
+msgstr "res"
+
+#: git-add--interactive.perl:342 git-add--interactive.perl:357
+msgid "unchanged"
+msgstr "sense canvis"
+
+#: git-add--interactive.perl:653
+#, perl-format
+msgid "added %d path\n"
+msgid_plural "added %d paths\n"
+msgstr[0] "afegit %d camí\n"
+msgstr[1] "afegits %d camins\n"
+
+#: git-add--interactive.perl:656
+#, perl-format
+msgid "updated %d path\n"
+msgid_plural "updated %d paths\n"
+msgstr[0] "actualitzat %d camí\n"
+msgstr[1] "actualitzats %d camins\n"
+
+#: git-add--interactive.perl:659
+#, perl-format
+msgid "reverted %d path\n"
+msgid_plural "reverted %d paths\n"
+msgstr[0] "revertit %d camí\n"
+msgstr[1] "revertits %d camins\n"
+
+#: git-add--interactive.perl:662
+#, perl-format
+msgid "touched %d path\n"
+msgid_plural "touched %d paths\n"
+msgstr[0] "modificat %d camí\n"
+msgstr[1] "modificat %d camins\n"
+
+#: git-add--interactive.perl:671
+msgid "Update"
+msgstr "Actualitza"
+
+#: git-add--interactive.perl:683
+msgid "Revert"
+msgstr "Reverteix"
+
+#: git-add--interactive.perl:706
+#, perl-format
+msgid "note: %s is untracked now.\n"
+msgstr "nota: %s està ara sense seguiment.\n"
+
+#: git-add--interactive.perl:717
+msgid "Add untracked"
+msgstr "Afegeix sense seguiment"
+
+#: git-add--interactive.perl:723
+msgid "No untracked files.\n"
+msgstr "Sense fitxers no seguits.\n"
+
+#: git-add--interactive.perl:1039
+msgid ""
+"If the patch applies cleanly, the edited hunk will immediately be\n"
+"marked for staging."
+msgstr ""
+"Si el pedaç s'aplica correctament, el tros editat es marcarà immediatament\n"
+"per «staging»."
+
+#: git-add--interactive.perl:1042
+msgid ""
+"If the patch applies cleanly, the edited hunk will immediately be\n"
+"marked for stashing."
+msgstr ""
+"Si el pedaç s'aplica correctament, el tros editat es marcarà immediatament\n"
+"per «stashing»."
+
+#: git-add--interactive.perl:1045
+msgid ""
+"If the patch applies cleanly, the edited hunk will immediately be\n"
+"marked for unstaging."
+msgstr ""
+"Si el pedaç s'aplica correctament, el tros editat es marcarà immediatament\n"
+"per «unstaging»."
+
+#: git-add--interactive.perl:1048 git-add--interactive.perl:1057
+msgid ""
+"If the patch applies cleanly, the edited hunk will immediately be\n"
+"marked for applying."
+msgstr ""
+"Si el pedaç s'aplica correctament, el tros editat es marcarà immediatament\n"
+"per aplicar-se."
+
+#: git-add--interactive.perl:1051
+msgid ""
+"If the patch applies cleanly, the edited hunk will immediately be\n"
+"marked for discarding"
+msgstr ""
+"Si el pedaç s'aplica correctament, el tros editat es marcarà immediatament\n"
+"per descartar-se."
+
+#: git-add--interactive.perl:1054
+msgid ""
+"If the patch applies cleanly, the edited hunk will immediately be\n"
+"marked for discarding."
+msgstr ""
+"Si el pedaç s'aplica correctament, el tros editat es marcarà immediatament\n"
+"per descartar-se."
+
+#: git-add--interactive.perl:1067
+#, perl-format
+msgid "failed to open hunk edit file for writing: %s"
+msgstr "s'ha produït un error en escriure al fitxer d'edició del tros: %s"
+
+#: git-add--interactive.perl:1068
+msgid "Manual hunk edit mode -- see bottom for a quick guide.\n"
+msgstr ""
+"Mode d'edició de trossos manual - vegeu més avall per una guia ràpida.\n"
+
+#: git-add--interactive.perl:1074
+#, perl-format
+msgid ""
+"---\n"
+"To remove '%s' lines, make them ' ' lines (context).\n"
+"To remove '%s' lines, delete them.\n"
+"Lines starting with %s will be removed.\n"
+msgstr ""
+"---\n"
+"Per suprimir '%s' línies, feu-les línies ' ' (context).\n"
+"Per suprimir '%s' línies, suprimiu-les.\n"
+"Les línies que comencin per %s seran suprimides.\n"
+
+#. TRANSLATORS: 'it' refers to the patch mentioned in the previous messages.
+#: git-add--interactive.perl:1082
+msgid ""
+"If it does not apply cleanly, you will be given an opportunity to\n"
+"edit again.  If all lines of the hunk are removed, then the edit is\n"
+"aborted and the hunk is left unchanged.\n"
+msgstr ""
+"Si no s'aplica correctament, tindreu una oportunitat per editar-lo\n"
+"de nou. Si totes les línies del tros se suprimeixen, llavors l'edició "
+"s'avorta\n"
+"i el tros es deixa sense cap canvi.\n"
+
+#: git-add--interactive.perl:1096
+#, perl-format
+msgid "failed to open hunk edit file for reading: %s"
+msgstr "s'ha produït un error en llegir al fitxer d'edició del tros: %s"
+
+#. TRANSLATORS: do not translate [y/n]
+#. The program will only accept that input
+#. at this point.
+#. Consider translating (saying "no" discards!) as
+#. (saying "n" for "no" discards!) if the translation
+#. of the word "no" does not start with n.
+#: git-add--interactive.perl:1187
+msgid ""
+"Your edited hunk does not apply. Edit again (saying \"no\" discards!) [y/n]? "
+msgstr ""
+"El tros editat no s'ha aplica. Editeu-lo de nou (si responeu \"no\" es "
+"descartarà) [y/n]? "
+
+#: git-add--interactive.perl:1196
+msgid ""
+"y - stage this hunk\n"
+"n - do not stage this hunk\n"
+"q - quit; do not stage this hunk or any of the remaining ones\n"
+"a - stage this hunk and all later hunks in the file\n"
+"d - do not stage this hunk or any of the later hunks in the file"
+msgstr ""
+"y - fes «stage» d'aquest tros\n"
+"n - no facis «stage» d'aquest tros\n"
+"q - surt; no facis «stage» d'aquest tros o de cap altre restant\n"
+"a - fes «stage» d'aquest tros i tota la resta de trossos del fitxer\n"
+"d - no facis «stage» d'aquest tros o de cap altre restant del fitxer"
+
+#: git-add--interactive.perl:1202
+msgid ""
+"y - stash this hunk\n"
+"n - do not stash this hunk\n"
+"q - quit; do not stash this hunk or any of the remaining ones\n"
+"a - stash this hunk and all later hunks in the file\n"
+"d - do not stash this hunk or any of the later hunks in the file"
+msgstr ""
+"y - fes «stash» d'aquest tros\n"
+"n - no facis «stash» d'aquest tros\n"
+"q - surt; no facis «stash» d'aquest tros o de cap altre restant\n"
+"a - fes «stash» d'aquest tros i tota la resta de trossos del fitxer\n"
+"d - no facis «stash» d'aquest tros o de cap altre restant del fitxer"
+
+#: git-add--interactive.perl:1208
+msgid ""
+"y - unstage this hunk\n"
+"n - do not unstage this hunk\n"
+"q - quit; do not unstage this hunk or any of the remaining ones\n"
+"a - unstage this hunk and all later hunks in the file\n"
+"d - do not unstage this hunk or any of the later hunks in the file"
+msgstr ""
+"y - fes «unstage» d'aquest tros\n"
+"n - no facis «unstage» d'aquest tros\n"
+"q - surt; no facis «unstage» d'aquest tros o de cap altre restant\n"
+"a - fes «unstage» d'aquest tros i tota la resta de trossos del fitxer\n"
+"d - no facis «unstage» d'aquest tros o de cap altre restant del fitxer"
+
+#: git-add--interactive.perl:1214
+msgid ""
+"y - apply this hunk to index\n"
+"n - do not apply this hunk to index\n"
+"q - quit; do not apply this hunk or any of the remaining ones\n"
+"a - apply this hunk and all later hunks in the file\n"
+"d - do not apply this hunk or any of the later hunks in the file"
+msgstr ""
+
+#: git-add--interactive.perl:1220
+msgid ""
+"y - discard this hunk from worktree\n"
+"n - do not discard this hunk from worktree\n"
+"q - quit; do not discard this hunk or any of the remaining ones\n"
+"a - discard this hunk and all later hunks in the file\n"
+"d - do not discard this hunk or any of the later hunks in the file"
+msgstr ""
+
+#: git-add--interactive.perl:1226
+msgid ""
+"y - discard this hunk from index and worktree\n"
+"n - do not discard this hunk from index and worktree\n"
+"q - quit; do not discard this hunk or any of the remaining ones\n"
+"a - discard this hunk and all later hunks in the file\n"
+"d - do not discard this hunk or any of the later hunks in the file"
+msgstr ""
+
+#: git-add--interactive.perl:1232
+msgid ""
+"y - apply this hunk to index and worktree\n"
+"n - do not apply this hunk to index and worktree\n"
+"q - quit; do not apply this hunk or any of the remaining ones\n"
+"a - apply this hunk and all later hunks in the file\n"
+"d - do not apply this hunk or any of the later hunks in the file"
+msgstr ""
+
+#: git-add--interactive.perl:1241
+msgid ""
+"g - select a hunk to go to\n"
+"/ - search for a hunk matching the given regex\n"
+"j - leave this hunk undecided, see next undecided hunk\n"
+"J - leave this hunk undecided, see next hunk\n"
+"k - leave this hunk undecided, see previous undecided hunk\n"
+"K - leave this hunk undecided, see previous hunk\n"
+"s - split the current hunk into smaller hunks\n"
+"e - manually edit the current hunk\n"
+"? - print help\n"
+msgstr ""
+
+#: git-add--interactive.perl:1272
+msgid "The selected hunks do not apply to the index!\n"
+msgstr "Els trossos seleccionats no apliquen a l'índex\n"
+
+#: git-add--interactive.perl:1273
+msgid "Apply them to the worktree anyway? "
+msgstr "Voleu aplicar-los igualment a l'arbre de treball"
+
+#: git-add--interactive.perl:1276
+msgid "Nothing was applied.\n"
+msgstr "No s'ha aplicat res.\n"
+
+#: git-add--interactive.perl:1287
+#, perl-format
+msgid "ignoring unmerged: %s\n"
+msgstr "s'està ignorant %s no fusionat\n"
+
+#: git-add--interactive.perl:1296
+msgid "Only binary files changed.\n"
+msgstr "Només s'han canviat els fitxers binaris.\n"
+
+#: git-add--interactive.perl:1298
+msgid "No changes.\n"
+msgstr "Sense canvis.\n"
+
+#: git-add--interactive.perl:1306
+msgid "Patch update"
+msgstr "Actualització del pedaç"
+
+#: git-add--interactive.perl:1358
+#, perl-format
+msgid "Stage mode change [y,n,q,a,d,/%s,?]? "
+msgstr "Canvia el mode de «stage» [y,n,q,a,d,/%s,?]? "
+
+#: git-add--interactive.perl:1359
+#, perl-format
+msgid "Stage deletion [y,n,q,a,d,/%s,?]? "
+msgstr "Suprimeix «stage» [y,n,q,a,d,/%s,?]? "
+
+#: git-add--interactive.perl:1360
+#, perl-format
+msgid "Stage this hunk [y,n,q,a,d,/%s,?]? "
+msgstr "Fer un «stage» d'aquest tros [y,n,q,a,d,/%s,?]? "
+
+#: git-add--interactive.perl:1363
+#, perl-format
+msgid "Stash mode change [y,n,q,a,d,/%s,?]? "
+msgstr "Canvia el mode de «stash» [y,n,q,a,d,/%s,?]? "
+
+#: git-add--interactive.perl:1364
+#, perl-format
+msgid "Stash deletion [y,n,q,a,d,/%s,?]? "
+msgstr "Suprimeix «stage» [y,n,q,a,d,/%s,?]? "
+
+#: git-add--interactive.perl:1365
+#, perl-format
+msgid "Stash this hunk [y,n,q,a,d,/%s,?]? "
+msgstr "Fer un «stash» d'aquest tros [y,n,q,a,d,/%s,?]? "
+
+#: git-add--interactive.perl:1368
+#, perl-format
+msgid "Unstage mode change [y,n,q,a,d,/%s,?]? "
+msgstr "Canvia el mode de «unstage» [y,n,q,a,d,/%s,?]? "
+
+#: git-add--interactive.perl:1369
+#, perl-format
+msgid "Unstage deletion [y,n,q,a,d,/%s,?]? "
+msgstr "Suprimeix «Unstage» [y,n,q,a,d,/%s,?]? "
+
+#: git-add--interactive.perl:1370
+#, perl-format
+msgid "Unstage this hunk [y,n,q,a,d,/%s,?]? "
+msgstr "Fer un «unstage» d'aquest tros [y,n,q,a,d,/%s,?]? "
+
+#: git-add--interactive.perl:1373
+#, perl-format
+msgid "Apply mode change to index [y,n,q,a,d,/%s,?]? "
+msgstr "Aplica el canvi de mode a l'índex [y,n,q,a,d,/%s,?]?"
+
+#: git-add--interactive.perl:1374
+#, perl-format
+msgid "Apply deletion to index [y,n,q,a,d,/%s,?]? "
+msgstr "Aplica l'esborrat a l'índex [y,n,q,a,d,/%s,?]?"
+
+#: git-add--interactive.perl:1375
+#, perl-format
+msgid "Apply this hunk to index [y,n,q,a,d,/%s,?]? "
+msgstr "Aplica aquest tros a l'índex [y,n,q,a,d,/%s,?]? "
+
+#: git-add--interactive.perl:1378
+#, perl-format
+msgid "Discard mode change from worktree [y,n,q,a,d,/%s,?]? "
+msgstr ""
+"Descarta el canvi de mode des de l'arbre de treball [y,n,q,a,d,/%s,?]? "
+
+#: git-add--interactive.perl:1379
+#, perl-format
+msgid "Discard deletion from worktree [y,n,q,a,d,/%s,?]? "
+msgstr "Descarta l'esborrat des de l'arbre de treball [y,n,q,a,d,/%s,?]? "
+
+#: git-add--interactive.perl:1380
+#, perl-format
+msgid "Discard this hunk from worktree [y,n,q,a,d,/%s,?]? "
+msgstr "Descarta aquest tros des de l'arbre de treball  [y,n,q,a,d,/%s,?]?"
+
+#: git-add--interactive.perl:1383
+#, perl-format
+msgid "Discard mode change from index and worktree [y,n,q,a,d,/%s,?]? "
+msgstr ""
+"Descarta el canvi de mode des de l'índex i l'arbre de treball [y,n,q,a,d,/"
+"%s,?]? "
+
+#: git-add--interactive.perl:1384
+#, perl-format
+msgid "Discard deletion from index and worktree [y,n,q,a,d,/%s,?]? "
+msgstr ""
+"Descarta la supressió des de l'índex i l'arbre de treball [y,n,q,a,d,/%s,?]? "
+
+#: git-add--interactive.perl:1385
+#, perl-format
+msgid "Discard this hunk from index and worktree [y,n,q,a,d,/%s,?]? "
+msgstr ""
+"Descarta aquest tros des de l'índex i l'arbre de treball [y,n,q,a,d,/%s,?]? "
+
+#: git-add--interactive.perl:1388
+#, perl-format
+msgid "Apply mode change to index and worktree [y,n,q,a,d,/%s,?]? "
+msgstr ""
+"Aplica el canvi de mode a l'índex i l'arbre de treball [y,n,q,a,d,/%s,?]? "
+
+#: git-add--interactive.perl:1389
+#, perl-format
+msgid "Apply deletion to index and worktree [y,n,q,a,d,/%s,?]? "
+msgstr "Aplica la supressió a l'índex i l'arbre de treball [y,n,q,a,d,/%s,?]? "
+
+#: git-add--interactive.perl:1390
+#, perl-format
+msgid "Apply this hunk to index and worktree [y,n,q,a,d,/%s,?]? "
+msgstr "Aplica aquest tros a l'índex i l'arbre de treball [y,n,q,a,d,/%s,?]? "
+
+#: git-add--interactive.perl:1493
+msgid "go to which hunk (<ret> to see more)? "
+msgstr "vés a quin tros (<ret> per veure'n més)? "
+
+#: git-add--interactive.perl:1495
+msgid "go to which hunk? "
+msgstr "vés a quin tros? "
+
+#: git-add--interactive.perl:1504
+#, perl-format
+msgid "Invalid number: '%s'\n"
+msgstr "Número no vàlid: '%s'\n"
+
+#: git-add--interactive.perl:1509
+#, perl-format
+msgid "Sorry, only %d hunk available.\n"
+msgid_plural "Sorry, only %d hunks available.\n"
+msgstr[0] "Només %d tros disponible.\n"
+msgstr[1] "Només %d trossos disponibles.\n"
+
+#: git-add--interactive.perl:1535
+msgid "search for regex? "
+msgstr "Cerca per expressió regular? "
+
+#: git-add--interactive.perl:1548
+#, perl-format
+msgid "Malformed search regexp %s: %s\n"
+msgstr "Expressió regular de cerca mal formada %s: %s\n"
+
+#: git-add--interactive.perl:1558
+msgid "No hunk matches the given pattern\n"
+msgstr "No hi ha trossos que coincideixin amb el patró donat\n"
+
+#: git-add--interactive.perl:1570 git-add--interactive.perl:1592
+msgid "No previous hunk\n"
+msgstr "Sense tros previ\n"
+
+#: git-add--interactive.perl:1579 git-add--interactive.perl:1598
+msgid "No next hunk\n"
+msgstr "No hi ha tros següent\n"
+
+#: git-add--interactive.perl:1606
+#, perl-format
+msgid "Split into %d hunk.\n"
+msgid_plural "Split into %d hunks.\n"
+msgstr[0] "Divideix en %d tros.\n"
+msgstr[1] "Divideix en %d trossos.\n"
+
+#: git-add--interactive.perl:1658
+msgid "Review diff"
+msgstr "Reviseu les diferències"
+
+#. TRANSLATORS: please do not translate the command names
+#. 'status', 'update', 'revert', etc.
+#: git-add--interactive.perl:1677
+msgid ""
+"status        - show paths with changes\n"
+"update        - add working tree state to the staged set of changes\n"
+"revert        - revert staged set of changes back to the HEAD version\n"
+"patch         - pick hunks and update selectively\n"
+"diff\t      - view diff between HEAD and index\n"
+"add untracked - add contents of untracked files to the staged set of "
+"changes\n"
+msgstr ""
+
+#: git-add--interactive.perl:1694 git-add--interactive.perl:1699
+#: git-add--interactive.perl:1702 git-add--interactive.perl:1709
+#: git-add--interactive.perl:1713 git-add--interactive.perl:1719
+msgid "missing --"
+msgstr "manca --"
+
+#: git-add--interactive.perl:1715
+#, perl-format
+msgid "unknown --patch mode: %s"
+msgstr "desconegut --patch mode: %s"
+
+#: git-add--interactive.perl:1721 git-add--interactive.perl:1727
+#, perl-format
+msgid "invalid argument %s, expecting --"
+msgstr "argument %s no vàlid, s'esperava --"
+
+#: git-send-email.perl:121
+msgid "local zone differs from GMT by a non-minute interval\n"
+msgstr "la zona local difereix de GMT per un interval que no és de minuts\n"
+
+#: git-send-email.perl:128 git-send-email.perl:134
+msgid "local time offset greater than or equal to 24 hours\n"
+msgstr "el desplaçament de la zona local és més gran o igual a 24 hores\n"
+
+#: git-send-email.perl:202 git-send-email.perl:208
+msgid "the editor exited uncleanly, aborting everything"
+msgstr "l'editor no ha sortit correctament, avortant-ho tot"
+
+#: git-send-email.perl:282
+#, perl-format
+msgid ""
+"'%s' contains an intermediate version of the email you were composing.\n"
+msgstr ""
+
+#: git-send-email.perl:287
+#, perl-format
+msgid "'%s.final' contains the composed email.\n"
+msgstr ""
+
+#: git-send-email.perl:305
+msgid "--dump-aliases incompatible with other options\n"
+msgstr "--dump-aliases és incompatible amb altres opcions\n"
+
+#: git-send-email.perl:368 git-send-email.perl:623
+msgid "Cannot run git format-patch from outside a repository\n"
+msgstr "No es pot executar git format-patch des de fora del dipòsit\n"
+
+#: git-send-email.perl:437
+#, perl-format
+msgid "Unknown --suppress-cc field: '%s'\n"
+msgstr "Camp --suppress-cc desconegut: '%s'\n"
+
+#: git-send-email.perl:466
+#, perl-format
+msgid "Unknown --confirm setting: '%s'\n"
+msgstr "--confirm setting desconegut: '%s'\n"
+
+#: git-send-email.perl:498
+#, perl-format
+msgid "warning: sendmail alias with quotes is not supported: %s\n"
+msgstr "avís: el sobrenom de sendmail amb cometes no està suportat: %s\n"
+
+#: git-send-email.perl:500
+#, perl-format
+msgid "warning: `:include:` not supported: %s\n"
+msgstr "avís: `:include:` no està suportat: %s\n"
+
+#: git-send-email.perl:502
+#, perl-format
+msgid "warning: `/file` or `|pipe` redirection not supported: %s\n"
+msgstr "avís: les redireccions `/file` or `|pipe no són admeses: %s\n"
+
+#: git-send-email.perl:507
+#, perl-format
+msgid "warning: sendmail line is not recognized: %s\n"
+msgstr "avís: no es pot reconèixer la línia sendmail: %s\n"
+
+#: git-send-email.perl:589
+#, perl-format
+msgid ""
+"File '%s' exists but it could also be the range of commits\n"
+"to produce patches for.  Please disambiguate by...\n"
+"\n"
+"    * Saying \"./%s\" if you mean a file; or\n"
+"    * Giving --format-patch option if you mean a range.\n"
+msgstr ""
+
+#: git-send-email.perl:610
+#, perl-format
+msgid "Failed to opendir %s: %s"
+msgstr "S'ha produït un error a l'obrir el directori %s: %s"
+
+#: git-send-email.perl:634
+#, perl-format
+msgid ""
+"fatal: %s: %s\n"
+"warning: no patches were sent\n"
+msgstr ""
+"greu: %s: %s\n"
+"avís: no s'han enviat pedaços\n"
+
+#: git-send-email.perl:645
+msgid ""
+"\n"
+"No patch files specified!\n"
+"\n"
+msgstr ""
+"\n"
+"No s'han especificat fitxers de pedaç\n"
+"\n"
+
+#: git-send-email.perl:658
+#, perl-format
+msgid "No subject line in %s?"
+msgstr "Sense assumpte a: %s"
+
+#: git-send-email.perl:668
+#, perl-format
+msgid "Failed to open for writing %s: %s"
+msgstr "S'ha produït un error en obrir per escriptura %s: %s"
+
+#: git-send-email.perl:678
+msgid ""
+"Lines beginning in \"GIT:\" will be removed.\n"
+"Consider including an overall diffstat or table of contents\n"
+"for the patch you are writing.\n"
+"\n"
+"Clear the body content if you don't wish to send a summary.\n"
+msgstr ""
+
+#: git-send-email.perl:701
+#, perl-format
+msgid "Failed to open %s.final: %s"
+msgstr "S'ha produït un error en obrir %s.final: %s"
+
+#: git-send-email.perl:704
+#, perl-format
+msgid "Failed to open %s: %s"
+msgstr "S'ha produït un error en obrir %s: %s"
+
+#: git-send-email.perl:739
+msgid "To/Cc/Bcc fields are not interpreted yet, they have been ignored\n"
+msgstr "Els camps A/Cc/Bcc no s'interpreten encara, s'ignoraran\n"
+
+#: git-send-email.perl:748
+msgid "Summary email is empty, skipping it\n"
+msgstr "El correu electrònic de resum està buit, s'omet\n"
+
+#. TRANSLATORS: please keep [y/N] as is.
+#: git-send-email.perl:780
+#, perl-format
+msgid "Are you sure you want to use <%s> [y/N]? "
+msgstr "Esteu segur que voleu usar <%s> [y/N]? "
+
+#: git-send-email.perl:809
+msgid ""
+"The following files are 8bit, but do not declare a Content-Transfer-"
+"Encoding.\n"
+msgstr ""
+
+#: git-send-email.perl:814
+msgid "Which 8bit encoding should I declare [UTF-8]? "
+msgstr "Quina codificació de 8 bits hauria de declarar [UTF-8]? "
+
+#: git-send-email.perl:822
+#, perl-format
+msgid ""
+"Refusing to send because the patch\n"
+"\t%s\n"
+"has the template subject '*** SUBJECT HERE ***'. Pass --force if you really "
+"want to send.\n"
+msgstr ""
+
+#: git-send-email.perl:841
+msgid "To whom should the emails be sent (if anyone)?"
+msgstr ""
+"A quin s'haurien d'enviar els correus electrònics (si s'han d'enviar a algú)?"
+
+#: git-send-email.perl:859
+#, perl-format
+msgid "fatal: alias '%s' expands to itself\n"
+msgstr ""
+
+#: git-send-email.perl:871
+msgid "Message-ID to be used as In-Reply-To for the first email (if any)? "
+msgstr ""
+
+#: git-send-email.perl:921 git-send-email.perl:929
+#, perl-format
+msgid "error: unable to extract a valid address from: %s\n"
+msgstr "error: no s'ha pogut extreure una adreça vàlida de: %s\n"
+
+#. TRANSLATORS: Make sure to include [q] [d] [e] in your
+#. translation. The program will only accept English input
+#. at this point.
+#: git-send-email.perl:933
+msgid "What to do with this address? ([q]uit|[d]rop|[e]dit): "
+msgstr "Què fer amb aquesta adreça? ([q]surt|[d]escarta|[e]dita): "
+
+#: git-send-email.perl:1234
+#, perl-format
+msgid "CA path \"%s\" does not exist"
+msgstr "el camí CA \"%s\" no existeix"
+
+#: git-send-email.perl:1309
+msgid ""
+"    The Cc list above has been expanded by additional\n"
+"    addresses found in the patch commit message. By default\n"
+"    send-email prompts before sending whenever this occurs.\n"
+"    This behavior is controlled by the sendemail.confirm\n"
+"    configuration setting.\n"
+"\n"
+"    For additional information, run 'git send-email --help'.\n"
+"    To retain the current behavior, but squelch this message,\n"
+"    run 'git config --global sendemail.confirm auto'.\n"
+"\n"
+msgstr ""
+
+#. TRANSLATORS: Make sure to include [y] [n] [q] [a] in your
+#. translation. The program will only accept English input
+#. at this point.
+#: git-send-email.perl:1324
+msgid "Send this email? ([y]es|[n]o|[q]uit|[a]ll): "
+msgstr "Voleu enviar aquest correu electrònic? ([y]sí|[n]o|[q]surt|[a]tot): "
+
+#: git-send-email.perl:1327
+msgid "Send this email reply required"
+msgstr "Requereix contestació a l'enviar correu"
+
+#: git-send-email.perl:1353
+msgid "The required SMTP server is not properly defined."
+msgstr "El servidor SMTP requerit no està correctament definit."
+
+#: git-send-email.perl:1397
+#, perl-format
+msgid "Server does not support STARTTLS! %s"
+msgstr "El servidor no admet STARTTLS! %s"
+
+#: git-send-email.perl:1403
+msgid "Unable to initialize SMTP properly. Check config and use --smtp-debug."
+msgstr "No s'ha pogut inicialitzar SMTP correctament. Comproveu-ho la configuració i useu --smtp-debug."
+
+#: git-send-email.perl:1421
+#, perl-format
+msgid "Failed to send %s\n"
+msgstr "S'ha produït un error en enviar %s\n"
+
+#: git-send-email.perl:1424
+#, perl-format
+msgid "Dry-Sent %s\n"
+msgstr "Simulació d'enviament %s\n"
+
+#: git-send-email.perl:1424
+#, perl-format
+msgid "Sent %s\n"
+msgstr "Enviat %s\n"
+
+#: git-send-email.perl:1426
+msgid "Dry-OK. Log says:\n"
+msgstr "Simulació de correcte. El registre diu:\n"
+
+#: git-send-email.perl:1426
+msgid "OK. Log says:\n"
+msgstr "Correcte. El registre diu: \n"
+
+#: git-send-email.perl:1438
+msgid "Result: "
+msgstr "Resultat: "
+
+#: git-send-email.perl:1441
+msgid "Result: OK\n"
+msgstr "Resultat: correcte\n"
+
+#: git-send-email.perl:1454
+#, perl-format
+msgid "can't open file %s"
+msgstr "no es pot obrir el fitxer %s"
+
+#: git-send-email.perl:1501 git-send-email.perl:1521
+#, perl-format
+msgid "(mbox) Adding cc: %s from line '%s'\n"
+msgstr "(mbox) S'està afegint cc: %s des de la línia '%s'\n"
+
+#: git-send-email.perl:1507
+#, perl-format
+msgid "(mbox) Adding to: %s from line '%s'\n"
+msgstr "(mbox) S'està afegint a: %s des de la línia '%s'\n"
+
+#: git-send-email.perl:1555
+#, perl-format
+msgid "(non-mbox) Adding cc: %s from line '%s'\n"
+msgstr "(mbox) S'està afegint cc: %s des de la línia '%s'\n"
+
+#: git-send-email.perl:1578
+#, perl-format
+msgid "(body) Adding cc: %s from line '%s'\n"
+msgstr "(cos) S'està afegint cc: %s des de la línia '%s'\n"
+
+#: git-send-email.perl:1676
+#, perl-format
+msgid "(%s) Could not execute '%s'"
+msgstr "(%s) no s'ha pogut executar '%s'"
+
+#: git-send-email.perl:1683
+#, perl-format
+msgid "(%s) Adding %s: %s from: '%s'\n"
+msgstr "(%s) S'està afegint %s: %s des de: '%s'\n"
+
+#: git-send-email.perl:1687
+#, perl-format
+msgid "(%s) failed to close pipe to '%s'"
+msgstr "(%s) s'ha produït un error en tancar el conducte '%s'"
+
+#: git-send-email.perl:1714
+msgid "cannot send message as 7bit"
+msgstr "no es pot enviar el missatge en 7 bits"
+
+#: git-send-email.perl:1722
+msgid "invalid transfer encoding"
+msgstr "codificació de transferència invàlida"
+
+#: git-send-email.perl:1741 git-send-email.perl:1792 git-send-email.perl:1802
+#, perl-format
+msgid "unable to open %s: %s\n"
+msgstr "no s'ha pogut obrir %s: %s\n"
+
+#: git-send-email.perl:1744
+#, perl-format
+msgid "%s: patch contains a line longer than 998 characters"
+msgstr "%s: el pedaç conté una línia més gran de 998 caràcters"
+
+#: git-send-email.perl:1760
+#, perl-format
+msgid "Skipping %s with backup suffix '%s'.\n"
+msgstr "S'està ometent %s amb el sufix de còpia de seguretat '%s'.\n"
+
+#. TRANSLATORS: please keep "[y|N]" as is.
+#: git-send-email.perl:1764
+#, perl-format
+msgid "Do you really want to send %s? [y|N]: "
+msgstr "Esteu segur que voleu enviar %s? [y|N]: "
+
+#~ msgid "Use an experimental blank-line-based heuristic to improve diffs"
+#~ msgstr ""
+#~ "Usa un heurístic experimental basat en línies en blanc per a millorar les "
+#~ "diferències"
+
+#~ msgid "Clever... amending the last one with dirty index."
+#~ msgstr "Intel·ligent... s'està esmenant l'últim amb índex brut."
+
+#~ msgid ""
+#~ "the following submodule (or one of its nested submodules)\n"
+#~ "uses a .git directory:"
+#~ msgid_plural ""
+#~ "the following submodules (or one of their nested submodules)\n"
+#~ "use a .git directory:"
+#~ msgstr[0] ""
+#~ "el submòdul següent (o un dels seus submòduls niats)\n"
+#~ "usa un directori .git:"
+#~ msgstr[1] ""
+#~ "els submòduls següents (o un dels seus submòduls niats)\n"
+#~ "usa un directori .git:"
+
+#~ msgid ""
+#~ "\n"
+#~ "(use 'rm -rf' if you really want to remove it including all of its "
+#~ "history)"
+#~ msgstr ""
+#~ "\n"
+#~ "(useu 'rm -rf' si realment voleu eliminar-lo, incloent tota la seva "
+#~ "història)"
diff --git a/po/de.po b/po/de.po
index f25bd91..913db39 100644
--- a/po/de.po
+++ b/po/de.po
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: Git\n"
 "Report-Msgid-Bugs-To: Git Mailing List <git@vger.kernel.org>\n"
-"POT-Creation-Date: 2016-11-25 22:50+0800\n"
+"POT-Creation-Date: 2017-02-18 01:00+0800\n"
 "PO-Revision-Date: 2016-11-28 18:10+0100\n"
 "Last-Translator: Ralf Thielow <ralf.thielow@gmail.com>\n"
 "Language-Team: German <>\n"
@@ -66,7 +66,7 @@
 msgid "Exiting because of an unresolved conflict."
 msgstr "Beende wegen unaufgelöstem Konflikt."
 
-#: advice.c:114 builtin/merge.c:1181
+#: advice.c:114 builtin/merge.c:1206
 msgid "You have not concluded your merge (MERGE_HEAD exists)."
 msgstr "Sie haben Ihren Merge nicht abgeschlossen (MERGE_HEAD existiert)."
 
@@ -209,7 +209,9 @@
 #: apply.c:1589
 #, c-format
 msgid "git diff header lacks filename information (line %d)"
-msgstr "Dem Kopfbereich von \"git diff\" fehlen Informationen zum Dateinamen (Zeile %d)"
+msgstr ""
+"Dem Kopfbereich von \"git diff\" fehlen Informationen zum Dateinamen (Zeile "
+"%d)"
 
 #: apply.c:1759
 msgid "new file depends on old contents"
@@ -254,22 +256,22 @@
 msgid "patch with only garbage at line %d"
 msgstr "Patch mit nutzlosen Informationen bei Zeile %d"
 
-#: apply.c:2274
+#: apply.c:2265
 #, c-format
 msgid "unable to read symlink %s"
 msgstr "konnte symbolische Verknüpfung %s nicht lesen"
 
-#: apply.c:2278
+#: apply.c:2269
 #, c-format
 msgid "unable to open or read %s"
 msgstr "konnte %s nicht öffnen oder lesen"
 
-#: apply.c:2931
+#: apply.c:2922
 #, c-format
 msgid "invalid start of line: '%c'"
 msgstr "Ungültiger Zeilenanfang: '%c'"
 
-#: apply.c:3050
+#: apply.c:3041
 #, c-format
 msgid "Hunk #%d succeeded at %d (offset %d line)."
 msgid_plural "Hunk #%d succeeded at %d (offset %d lines)."
@@ -277,12 +279,12 @@
 msgstr[1] ""
 "Patch-Bereich #%d erfolgreich angewendet bei %d (%d Zeilen versetzt)"
 
-#: apply.c:3062
+#: apply.c:3053
 #, c-format
 msgid "Context reduced to (%ld/%ld) to apply fragment at %d"
 msgstr "Kontext reduziert zu (%ld/%ld), um Patch-Bereich bei %d anzuwenden"
 
-#: apply.c:3068
+#: apply.c:3059
 #, c-format
 msgid ""
 "while searching for:\n"
@@ -291,24 +293,25 @@
 "bei der Suche nach:\n"
 "%.*s"
 
-#: apply.c:3090
+#: apply.c:3081
 #, c-format
 msgid "missing binary patch data for '%s'"
 msgstr "keine Daten in Binär-Patch für '%s'"
 
-#: apply.c:3098
+#: apply.c:3089
 #, c-format
 msgid "cannot reverse-apply a binary patch without the reverse hunk to '%s'"
 msgstr ""
 "kann binären Patch nicht in umgekehrter Reihenfolge anwenden ohne einen\n"
 "umgekehrten Patch-Block auf '%s'"
 
-#: apply.c:3144
+#: apply.c:3135
 #, c-format
 msgid "cannot apply binary patch to '%s' without full index line"
-msgstr "kann binären Patch auf '%s' nicht ohne eine vollständige Index-Zeile anwenden"
+msgstr ""
+"kann binären Patch auf '%s' nicht ohne eine vollständige Index-Zeile anwenden"
 
-#: apply.c:3154
+#: apply.c:3145
 #, c-format
 msgid ""
 "the patch applies to '%s' (%s), which does not match the current contents."
@@ -316,433 +319,434 @@
 "der Patch wird angewendet auf '%s' (%s), was nicht den aktuellen Inhalten\n"
 "entspricht"
 
-#: apply.c:3162
+#: apply.c:3153
 #, c-format
 msgid "the patch applies to an empty '%s' but it is not empty"
 msgstr "der Patch wird auf ein leeres '%s' angewendet, was aber nicht leer ist"
 
-#: apply.c:3180
+#: apply.c:3171
 #, c-format
 msgid "the necessary postimage %s for '%s' cannot be read"
 msgstr "das erforderliche Postimage %s für '%s' kann nicht gelesen werden"
 
-#: apply.c:3193
+#: apply.c:3184
 #, c-format
 msgid "binary patch does not apply to '%s'"
 msgstr "Konnte Binär-Patch nicht auf '%s' anwenden"
 
-#: apply.c:3199
+#: apply.c:3190
 #, c-format
 msgid "binary patch to '%s' creates incorrect result (expecting %s, got %s)"
 msgstr ""
 "Binär-Patch für '%s' erzeugt falsches Ergebnis (erwartete %s, bekam %s)"
 
-#: apply.c:3220
+#: apply.c:3211
 #, c-format
 msgid "patch failed: %s:%ld"
 msgstr "Anwendung des Patches fehlgeschlagen: %s:%ld"
 
-#: apply.c:3342
+#: apply.c:3333
 #, c-format
 msgid "cannot checkout %s"
 msgstr "kann %s nicht auschecken"
 
-#: apply.c:3390 apply.c:3401 apply.c:3447 setup.c:248
+#: apply.c:3381 apply.c:3392 apply.c:3438 setup.c:248
 #, c-format
 msgid "failed to read %s"
 msgstr "Fehler beim Lesen von %s"
 
-#: apply.c:3398
+#: apply.c:3389
 #, c-format
 msgid "reading from '%s' beyond a symbolic link"
 msgstr "'%s' ist hinter einer symbolischen Verknüpfung"
 
-#: apply.c:3427 apply.c:3667
+#: apply.c:3418 apply.c:3658
 #, c-format
 msgid "path %s has been renamed/deleted"
 msgstr "Pfad %s wurde umbenannt/gelöscht"
 
-#: apply.c:3510 apply.c:3681
+#: apply.c:3501 apply.c:3672
 #, c-format
 msgid "%s: does not exist in index"
 msgstr "%s ist nicht im Index"
 
-#: apply.c:3519 apply.c:3689
+#: apply.c:3510 apply.c:3680
 #, c-format
 msgid "%s: does not match index"
 msgstr "%s entspricht nicht der Version im Index"
 
-#: apply.c:3554
+#: apply.c:3545
 msgid "repository lacks the necessary blob to fall back on 3-way merge."
 msgstr ""
 "Dem Repository fehlt der notwendige Blob, um auf einen 3-Wege-Merge\n"
 "zurückzufallen."
 
-#: apply.c:3557
+#: apply.c:3548
 #, c-format
 msgid "Falling back to three-way merge...\n"
 msgstr "Falle zurück auf 3-Wege-Merge ...\n"
 
-#: apply.c:3573 apply.c:3577
+#: apply.c:3564 apply.c:3568
 #, c-format
 msgid "cannot read the current contents of '%s'"
 msgstr "kann aktuelle Inhalte von '%s' nicht lesen"
 
-#: apply.c:3589
+#: apply.c:3580
 #, c-format
 msgid "Failed to fall back on three-way merge...\n"
 msgstr "Fehler beim Zurückfallen auf 3-Wege-Merge...\n"
 
-#: apply.c:3603
+#: apply.c:3594
 #, c-format
 msgid "Applied patch to '%s' with conflicts.\n"
 msgstr "Patch auf '%s' mit Konflikten angewendet.\n"
 
-#: apply.c:3608
+#: apply.c:3599
 #, c-format
 msgid "Applied patch to '%s' cleanly.\n"
 msgstr "Patch auf '%s' sauber angewendet.\n"
 
-#: apply.c:3634
+#: apply.c:3625
 msgid "removal patch leaves file contents"
 msgstr "Lösch-Patch hinterlässt Dateiinhalte"
 
-#: apply.c:3706
+#: apply.c:3697
 #, c-format
 msgid "%s: wrong type"
 msgstr "%s: falscher Typ"
 
-#: apply.c:3708
+#: apply.c:3699
 #, c-format
 msgid "%s has type %o, expected %o"
 msgstr "%s ist vom Typ %o, erwartete %o"
 
-#: apply.c:3859 apply.c:3861
+#: apply.c:3850 apply.c:3852
 #, c-format
 msgid "invalid path '%s'"
 msgstr "Ungültiger Pfad '%s'"
 
-#: apply.c:3917
+#: apply.c:3908
 #, c-format
 msgid "%s: already exists in index"
 msgstr "%s ist bereits bereitgestellt"
 
-#: apply.c:3920
+#: apply.c:3911
 #, c-format
 msgid "%s: already exists in working directory"
 msgstr "%s existiert bereits im Arbeitsverzeichnis"
 
-#: apply.c:3940
+#: apply.c:3931
 #, c-format
 msgid "new mode (%o) of %s does not match old mode (%o)"
 msgstr "neuer Modus (%o) von %s entspricht nicht dem alten Modus (%o)"
 
-#: apply.c:3945
+#: apply.c:3936
 #, c-format
 msgid "new mode (%o) of %s does not match old mode (%o) of %s"
 msgstr "neuer Modus (%o) von %s entspricht nicht dem alten Modus (%o) von %s"
 
-#: apply.c:3965
+#: apply.c:3956
 #, c-format
 msgid "affected file '%s' is beyond a symbolic link"
 msgstr "betroffene Datei '%s' ist hinter einer symbolischen Verknüpfung"
 
-#: apply.c:3969
+#: apply.c:3960
 #, c-format
 msgid "%s: patch does not apply"
 msgstr "%s: Patch konnte nicht angewendet werden"
 
-#: apply.c:3984
+#: apply.c:3975
 #, c-format
 msgid "Checking patch %s..."
 msgstr "Prüfe Patch %s ..."
 
-#: apply.c:4075
+#: apply.c:4066
 #, c-format
 msgid "sha1 information is lacking or useless for submodule %s"
 msgstr "SHA-1 Information fehlt oder ist unbrauchbar für Submodul %s"
 
-#: apply.c:4082
+#: apply.c:4073
 #, c-format
 msgid "mode change for %s, which is not in current HEAD"
 msgstr "Modusänderung für %s, was sich nicht im aktuellen HEAD befindet"
 
-#: apply.c:4085
+#: apply.c:4076
 #, c-format
 msgid "sha1 information is lacking or useless (%s)."
 msgstr "SHA-1 Information fehlt oder ist unbrauchbar (%s)."
 
-#: apply.c:4090 builtin/checkout.c:233 builtin/reset.c:135
+#: apply.c:4081 builtin/checkout.c:233 builtin/reset.c:135
 #, c-format
 msgid "make_cache_entry failed for path '%s'"
 msgstr "make_cache_entry für Pfad '%s' fehlgeschlagen"
 
-#: apply.c:4094
+#: apply.c:4085
 #, c-format
 msgid "could not add %s to temporary index"
 msgstr "konnte %s nicht zum temporären Index hinzufügen"
 
-#: apply.c:4104
+#: apply.c:4095
 #, c-format
 msgid "could not write temporary index to %s"
 msgstr "konnte temporären Index nicht nach %s schreiben"
 
-#: apply.c:4242
+#: apply.c:4233
 #, c-format
 msgid "unable to remove %s from index"
 msgstr "konnte %s nicht aus dem Index entfernen"
 
-#: apply.c:4277
+#: apply.c:4268
 #, c-format
 msgid "corrupt patch for submodule %s"
 msgstr "fehlerhafter Patch für Submodul %s"
 
-#: apply.c:4283
+#: apply.c:4274
 #, c-format
 msgid "unable to stat newly created file '%s'"
 msgstr "konnte neu erstellte Datei '%s' nicht lesen"
 
-#: apply.c:4291
+#: apply.c:4282
 #, c-format
 msgid "unable to create backing store for newly created file %s"
 msgstr "kann internen Speicher für eben erstellte Datei %s nicht erzeugen"
 
-#: apply.c:4297 apply.c:4441
+#: apply.c:4288 apply.c:4432
 #, c-format
 msgid "unable to add cache entry for %s"
 msgstr "kann für %s keinen Eintrag in den Zwischenspeicher hinzufügen"
 
-#: apply.c:4338
+#: apply.c:4329
 #, c-format
 msgid "failed to write to '%s'"
 msgstr "Fehler beim Schreiben nach '%s'"
 
-#: apply.c:4342
+#: apply.c:4333
 #, c-format
 msgid "closing file '%s'"
 msgstr "schließe Datei '%s'"
 
-#: apply.c:4412
+#: apply.c:4403
 #, c-format
 msgid "unable to write file '%s' mode %o"
 msgstr "konnte Datei '%s' mit Modus %o nicht schreiben"
 
-#: apply.c:4510
+#: apply.c:4501
 #, c-format
 msgid "Applied patch %s cleanly."
 msgstr "Patch %s sauber angewendet"
 
-#: apply.c:4518
+#: apply.c:4509
 msgid "internal error"
 msgstr "interner Fehler"
 
-#: apply.c:4521
+#: apply.c:4512
 #, c-format
 msgid "Applying patch %%s with %d reject..."
 msgid_plural "Applying patch %%s with %d rejects..."
 msgstr[0] "Wende Patch %%s mit %d Zurückweisung an..."
 msgstr[1] "Wende Patch %%s mit %d Zurückweisungen an..."
 
-#: apply.c:4532
+#: apply.c:4523
 #, c-format
 msgid "truncating .rej filename to %.*s.rej"
 msgstr "Verkürze Name von .rej Datei zu %.*s.rej"
 
-#: apply.c:4540 builtin/fetch.c:740 builtin/fetch.c:989
+#: apply.c:4531 builtin/fetch.c:737 builtin/fetch.c:986
 #, c-format
 msgid "cannot open %s"
 msgstr "kann '%s' nicht öffnen"
 
-#: apply.c:4554
+#: apply.c:4545
 #, c-format
 msgid "Hunk #%d applied cleanly."
 msgstr "Patch-Bereich #%d sauber angewendet."
 
-#: apply.c:4558
+#: apply.c:4549
 #, c-format
 msgid "Rejected hunk #%d."
 msgstr "Patch-Block #%d zurückgewiesen."
 
-#: apply.c:4668
+#: apply.c:4659
 #, c-format
 msgid "Skipped patch '%s'."
 msgstr "Patch '%s' ausgelassen."
 
-#: apply.c:4676
+#: apply.c:4667
 msgid "unrecognized input"
 msgstr "nicht erkannte Eingabe"
 
-#: apply.c:4695
+#: apply.c:4686
 msgid "unable to read index file"
 msgstr "Konnte Index-Datei nicht lesen"
 
-#: apply.c:4833
+#: apply.c:4824
 #, c-format
 msgid "can't open patch '%s': %s"
 msgstr "kann Patch '%s' nicht öffnen: %s"
 
-#: apply.c:4858
+#: apply.c:4849
 #, c-format
 msgid "squelched %d whitespace error"
 msgid_plural "squelched %d whitespace errors"
 msgstr[0] "unterdrückte %d Whitespace-Fehler"
 msgstr[1] "unterdrückte %d Whitespace-Fehler"
 
-#: apply.c:4864 apply.c:4879
+#: apply.c:4855 apply.c:4870
 #, c-format
 msgid "%d line adds whitespace errors."
 msgid_plural "%d lines add whitespace errors."
 msgstr[0] "%d Zeile fügt Whitespace-Fehler hinzu."
 msgstr[1] "%d Zeilen fügen Whitespace-Fehler hinzu."
 
-#: apply.c:4872
+#: apply.c:4863
 #, c-format
 msgid "%d line applied after fixing whitespace errors."
 msgid_plural "%d lines applied after fixing whitespace errors."
 msgstr[0] "%d Zeile nach Behebung von Whitespace-Fehlern angewendet."
 msgstr[1] "%d Zeilen nach Behebung von Whitespace-Fehlern angewendet."
 
-#: apply.c:4888 builtin/add.c:463 builtin/mv.c:286 builtin/rm.c:431
+#: apply.c:4879 builtin/add.c:463 builtin/mv.c:298 builtin/rm.c:391
 msgid "Unable to write new index file"
 msgstr "Konnte neue Index-Datei nicht schreiben."
 
-#: apply.c:4919 apply.c:4922 builtin/am.c:2277 builtin/am.c:2280
+#: apply.c:4910 apply.c:4913 builtin/am.c:2277 builtin/am.c:2280
 #: builtin/clone.c:95 builtin/fetch.c:98 builtin/pull.c:180
-#: builtin/submodule--helper.c:281 builtin/submodule--helper.c:407
-#: builtin/submodule--helper.c:589 builtin/submodule--helper.c:592
-#: builtin/submodule--helper.c:944 builtin/submodule--helper.c:947
+#: builtin/submodule--helper.c:281 builtin/submodule--helper.c:591
+#: builtin/submodule--helper.c:594 builtin/submodule--helper.c:960
+#: builtin/submodule--helper.c:963 builtin/submodule--helper.c:1104
+#: git-add--interactive.perl:239
 msgid "path"
 msgstr "Pfad"
 
-#: apply.c:4920
+#: apply.c:4911
 msgid "don't apply changes matching the given path"
 msgstr "keine Änderungen im angegebenen Pfad anwenden"
 
-#: apply.c:4923
+#: apply.c:4914
 msgid "apply changes matching the given path"
 msgstr "Änderungen nur im angegebenen Pfad anwenden"
 
-#: apply.c:4925 builtin/am.c:2286
+#: apply.c:4916 builtin/am.c:2286
 msgid "num"
 msgstr "Anzahl"
 
-#: apply.c:4926
+#: apply.c:4917
 msgid "remove <num> leading slashes from traditional diff paths"
 msgstr ""
 "<Anzahl> vorangestellte Schrägstriche von herkömmlichen Differenzpfaden "
 "entfernen"
 
-#: apply.c:4929
+#: apply.c:4920
 msgid "ignore additions made by the patch"
 msgstr "hinzugefügte Zeilen des Patches ignorieren"
 
-#: apply.c:4931
+#: apply.c:4922
 msgid "instead of applying the patch, output diffstat for the input"
 msgstr ""
 "anstatt der Anwendung des Patches, den \"diffstat\" für die Eingabe "
 "ausgegeben"
 
-#: apply.c:4935
+#: apply.c:4926
 msgid "show number of added and deleted lines in decimal notation"
 msgstr ""
 "die Anzahl von hinzugefügten/entfernten Zeilen in Dezimalnotation anzeigen"
 
-#: apply.c:4937
+#: apply.c:4928
 msgid "instead of applying the patch, output a summary for the input"
 msgstr ""
 "anstatt der Anwendung des Patches, eine Zusammenfassung für die Eingabe "
 "ausgeben"
 
-#: apply.c:4939
+#: apply.c:4930
 msgid "instead of applying the patch, see if the patch is applicable"
 msgstr ""
 "anstatt der Anwendung des Patches, zeige ob Patch angewendet werden kann"
 
-#: apply.c:4941
+#: apply.c:4932
 msgid "make sure the patch is applicable to the current index"
 msgstr ""
 "sicherstellen, dass der Patch mit dem aktuellen Index angewendet werden kann"
 
-#: apply.c:4943
+#: apply.c:4934
 msgid "apply a patch without touching the working tree"
 msgstr "Patch anwenden, ohne Änderungen im Arbeitsverzeichnis vorzunehmen"
 
-#: apply.c:4945
+#: apply.c:4936
 msgid "accept a patch that touches outside the working area"
 msgstr ""
 "Patch anwenden, der Änderungen außerhalb des Arbeitsverzeichnisses vornimmt"
 
-#: apply.c:4947
+#: apply.c:4938
 msgid "also apply the patch (use with --stat/--summary/--check)"
 msgstr "Patch anwenden (Benutzung mit --stat/--summary/--check)"
 
-#: apply.c:4949
+#: apply.c:4940
 msgid "attempt three-way merge if a patch does not apply"
 msgstr "versuche 3-Wege-Merge, wenn der Patch nicht angewendet werden konnte"
 
-#: apply.c:4951
+#: apply.c:4942
 msgid "build a temporary index based on embedded index information"
 msgstr ""
 "einen temporären Index, basierend auf den integrierten Index-Informationen, "
 "erstellen"
 
-#: apply.c:4954 builtin/checkout-index.c:169 builtin/ls-files.c:505
+#: apply.c:4945 builtin/checkout-index.c:169 builtin/ls-files.c:507
 msgid "paths are separated with NUL character"
 msgstr "Pfade sind getrennt durch NUL Zeichen"
 
-#: apply.c:4956
+#: apply.c:4947
 msgid "ensure at least <n> lines of context match"
 msgstr ""
 "sicher stellen, dass mindestens <n> Zeilen des Kontextes übereinstimmen"
 
-#: apply.c:4957 builtin/am.c:2265
+#: apply.c:4948 builtin/am.c:2265
 msgid "action"
 msgstr "Aktion"
 
-#: apply.c:4958
+#: apply.c:4949
 msgid "detect new or modified lines that have whitespace errors"
 msgstr "neue oder geänderte Zeilen, die Whitespace-Fehler haben, ermitteln"
 
-#: apply.c:4961 apply.c:4964
+#: apply.c:4952 apply.c:4955
 msgid "ignore changes in whitespace when finding context"
 msgstr "Änderungen im Whitespace bei der Suche des Kontextes ignorieren"
 
-#: apply.c:4967
+#: apply.c:4958
 msgid "apply the patch in reverse"
 msgstr "den Patch in umgekehrter Reihenfolge anwenden"
 
-#: apply.c:4969
+#: apply.c:4960
 msgid "don't expect at least one line of context"
 msgstr "keinen Kontext erwarten"
 
-#: apply.c:4971
+#: apply.c:4962
 msgid "leave the rejected hunks in corresponding *.rej files"
 msgstr ""
 "zurückgewiesene Patch-Blöcke in entsprechenden *.rej Dateien hinterlassen"
 
-#: apply.c:4973
+#: apply.c:4964
 msgid "allow overlapping hunks"
 msgstr "sich überlappende Patch-Blöcke erlauben"
 
-#: apply.c:4974 builtin/add.c:267 builtin/check-ignore.c:19
-#: builtin/commit.c:1339 builtin/count-objects.c:94 builtin/fsck.c:593
-#: builtin/log.c:1860 builtin/mv.c:110 builtin/read-tree.c:114
+#: apply.c:4965 builtin/add.c:267 builtin/check-ignore.c:19
+#: builtin/commit.c:1337 builtin/count-objects.c:94 builtin/fsck.c:651
+#: builtin/log.c:1860 builtin/mv.c:122 builtin/read-tree.c:114
 msgid "be verbose"
 msgstr "erweiterte Ausgaben"
 
-#: apply.c:4976
+#: apply.c:4967
 msgid "tolerate incorrectly detected missing new-line at the end of file"
 msgstr "fehlerhaft erkannten fehlenden Zeilenumbruch am Dateiende tolerieren"
 
-#: apply.c:4979
+#: apply.c:4970
 msgid "do not trust the line counts in the hunk headers"
 msgstr "den Zeilennummern im Kopf des Patch-Blocks nicht vertrauen"
 
-#: apply.c:4981 builtin/am.c:2274
+#: apply.c:4972 builtin/am.c:2274
 msgid "root"
 msgstr "Wurzelverzeichnis"
 
-#: apply.c:4982
+#: apply.c:4973
 msgid "prepend <root> to all filenames"
 msgstr "<Wurzelverzeichnis> vor alle Dateinamen stellen"
 
@@ -765,7 +769,7 @@
 msgid "git archive --remote <repo> [--exec <cmd>] --list"
 msgstr "git archive --remote <Repository> [--exec <Programm>] --list"
 
-#: archive.c:344 builtin/add.c:152 builtin/add.c:442 builtin/rm.c:327
+#: archive.c:344 builtin/add.c:152 builtin/add.c:442 builtin/rm.c:300
 #, c-format
 msgid "pathspec '%s' did not match any files"
 msgstr "Pfadspezifikation '%s' stimmt mit keinen Dateien überein"
@@ -786,9 +790,9 @@
 msgid "prepend prefix to each pathname in the archive"
 msgstr "einen Präfix vor jeden Pfadnamen in dem Archiv stellen"
 
-#: archive.c:432 builtin/blame.c:2603 builtin/blame.c:2604 builtin/config.c:59
-#: builtin/fast-export.c:987 builtin/fast-export.c:989 builtin/grep.c:723
-#: builtin/hash-object.c:101 builtin/ls-files.c:539 builtin/ls-files.c:542
+#: archive.c:432 builtin/blame.c:2607 builtin/blame.c:2608 builtin/config.c:59
+#: builtin/fast-export.c:987 builtin/fast-export.c:989 builtin/grep.c:1054
+#: builtin/hash-object.c:101 builtin/ls-files.c:541 builtin/ls-files.c:544
 #: builtin/notes.c:401 builtin/notes.c:564 builtin/read-tree.c:109
 #: parse-options.h:153
 msgid "file"
@@ -823,7 +827,7 @@
 msgstr "unterstützte Archivformate auflisten"
 
 #: archive.c:451 builtin/archive.c:90 builtin/clone.c:85 builtin/clone.c:88
-#: builtin/submodule--helper.c:601 builtin/submodule--helper.c:953
+#: builtin/submodule--helper.c:603 builtin/submodule--helper.c:969
 msgid "repo"
 msgstr "Repository"
 
@@ -914,12 +918,12 @@
 "This means the first '%s' commit is between %s and [%s].\n"
 msgstr ""
 "Die Merge-Basis %s ist %s.\n"
-"Das bedeutet, der erste '%s' Commit befindet sich zwischen %s und [%s]\n"
+"Das bedeutet, der erste '%s' Commit befindet sich zwischen %s und [%s].\n"
 
 #: bisect.c:750
 #, c-format
 msgid ""
-"Some %s revs are not ancestor of the %s rev.\n"
+"Some %s revs are not ancestors of the %s rev.\n"
 "git bisect cannot work properly in this case.\n"
 "Maybe you mistook %s and %s revs?\n"
 msgstr ""
@@ -949,7 +953,7 @@
 msgid "a %s revision is needed"
 msgstr "ein %s Commit wird benötigt"
 
-#: bisect.c:866 builtin/notes.c:174 builtin/tag.c:248
+#: bisect.c:866 builtin/notes.c:174 builtin/tag.c:262
 #, c-format
 msgid "could not create file '%s'"
 msgstr "konnte Datei '%s' nicht erstellen"
@@ -1147,7 +1151,7 @@
 msgid "unrecognized header: %s%s (%d)"
 msgstr "nicht erkannter Kopfbereich: %s%s (%d)"
 
-#: bundle.c:87 sequencer.c:963 builtin/commit.c:777
+#: bundle.c:87 sequencer.c:1331 sequencer.c:1752 builtin/commit.c:777
 #, c-format
 msgid "could not open '%s'"
 msgstr "Konnte '%s' nicht öffnen"
@@ -1156,10 +1160,10 @@
 msgid "Repository lacks these prerequisite commits:"
 msgstr "Dem Repository fehlen folgende vorausgesetzte Commits:"
 
-#: bundle.c:163 ref-filter.c:1462 sequencer.c:830 sequencer.c:1374
-#: builtin/blame.c:2814 builtin/commit.c:1061 builtin/log.c:348
+#: bundle.c:163 ref-filter.c:1499 sequencer.c:1154 sequencer.c:2290
+#: builtin/blame.c:2820 builtin/commit.c:1061 builtin/log.c:348
 #: builtin/log.c:890 builtin/log.c:1340 builtin/log.c:1666 builtin/log.c:1909
-#: builtin/merge.c:356 builtin/shortlog.c:170
+#: builtin/merge.c:360 builtin/shortlog.c:177
 msgid "revision walk setup failed"
 msgstr "Einrichtung des Revisionsgangs fehlgeschlagen"
 
@@ -1198,7 +1202,7 @@
 msgid "ref '%s' is excluded by the rev-list options"
 msgstr "Referenz '%s' wird durch \"rev-list\" Optionen ausgeschlossen"
 
-#: bundle.c:443 builtin/log.c:165 builtin/log.c:1572 builtin/shortlog.c:273
+#: bundle.c:443 builtin/log.c:165 builtin/log.c:1572 builtin/shortlog.c:282
 #, c-format
 msgid "unrecognized argument: %s"
 msgstr "nicht erkanntes Argument: %s"
@@ -1216,13 +1220,13 @@
 msgid "index-pack died"
 msgstr "Erstellung der Paketindexdatei abgebrochen"
 
-#: color.c:290
+#: color.c:300
 #, c-format
 msgid "invalid color value: %.*s"
 msgstr "Ungültiger Farbwert: %.*s"
 
-#: commit.c:40 builtin/am.c:421 builtin/am.c:457 builtin/am.c:1493
-#: builtin/am.c:2127
+#: commit.c:40 sequencer.c:1564 builtin/am.c:421 builtin/am.c:457
+#: builtin/am.c:1493 builtin/am.c:2127
 #, c-format
 msgid "could not parse %s"
 msgstr "konnte %s nicht parsen"
@@ -1240,141 +1244,152 @@
 msgstr ""
 "Warnung: Die Commit-Beschreibung ist nicht UTF-8 konform.\n"
 "Sie können das Nachbessern, nachdem Sie die Beschreibung korrigiert haben,\n"
-"oder Sie setzen die Konfigurationsvariable i18n.commitencoding auf das Encoding,\n"
+"oder Sie setzen die Konfigurationsvariable i18n.commitencoding auf das "
+"Encoding,\n"
 "welches von ihrem Projekt verwendet wird.\n"
 
 #: compat/obstack.c:406 compat/obstack.c:408
 msgid "memory exhausted"
 msgstr "Speicher verbraucht"
 
-#: config.c:516
+#: config.c:518
 #, c-format
 msgid "bad config line %d in blob %s"
 msgstr "Ungültige Konfigurationszeile %d in Blob %s"
 
-#: config.c:520
+#: config.c:522
 #, c-format
 msgid "bad config line %d in file %s"
 msgstr "Ungültige Konfigurationszeile %d in Datei %s"
 
-#: config.c:524
+#: config.c:526
 #, c-format
 msgid "bad config line %d in standard input"
 msgstr "Ungültige Konfigurationszeile %d in Standard-Eingabe"
 
-#: config.c:528
+#: config.c:530
 #, c-format
 msgid "bad config line %d in submodule-blob %s"
 msgstr "Ungültige Konfigurationszeile %d in Submodul-Blob %s"
 
-#: config.c:532
+#: config.c:534
 #, c-format
 msgid "bad config line %d in command line %s"
 msgstr "Ungültige Konfigurationszeile %d in Kommandozeile %s"
 
-#: config.c:536
+#: config.c:538
 #, c-format
 msgid "bad config line %d in %s"
 msgstr "Ungültige Konfigurationszeile %d in %s"
 
-#: config.c:655
+#: config.c:657
 msgid "out of range"
 msgstr "Außerhalb des Bereichs"
 
-#: config.c:655
+#: config.c:657
 msgid "invalid unit"
 msgstr "Ungültige Einheit"
 
-#: config.c:661
+#: config.c:663
 #, c-format
 msgid "bad numeric config value '%s' for '%s': %s"
 msgstr "Ungültiger numerischer Wert '%s' für Konfiguration '%s': %s"
 
-#: config.c:666
+#: config.c:668
 #, c-format
 msgid "bad numeric config value '%s' for '%s' in blob %s: %s"
 msgstr "Ungültiger numerischer Wert '%s' für Konfiguration '%s' in Blob %s: %s"
 
-#: config.c:669
+#: config.c:671
 #, c-format
 msgid "bad numeric config value '%s' for '%s' in file %s: %s"
 msgstr ""
 "Ungültiger numerischer Wert '%s' für Konfiguration '%s' in Datei %s: %s"
 
-#: config.c:672
+#: config.c:674
 #, c-format
 msgid "bad numeric config value '%s' for '%s' in standard input: %s"
 msgstr ""
 "Ungültiger numerischer Wert '%s' für Konfiguration '%s' in Standard-Eingabe: "
 "%s"
 
-#: config.c:675
+#: config.c:677
 #, c-format
 msgid "bad numeric config value '%s' for '%s' in submodule-blob %s: %s"
 msgstr ""
 "Ungültiger numerischer Wert '%s' für Konfiguration '%s' in Submodul-Blob %s: "
 "%s"
 
-#: config.c:678
+#: config.c:680
 #, c-format
 msgid "bad numeric config value '%s' for '%s' in command line %s: %s"
 msgstr ""
 "Ungültiger numerischer Wert '%s' für Konfiguration '%s' in Befehlszeile %s: "
 "%s"
 
-#: config.c:681
+#: config.c:683
 #, c-format
 msgid "bad numeric config value '%s' for '%s' in %s: %s"
 msgstr "Ungültiger numerischer Wert '%s' für Konfiguration '%s' in %s: %s"
 
-#: config.c:768
+#: config.c:770
 #, c-format
 msgid "failed to expand user dir in: '%s'"
 msgstr "Fehler beim Erweitern des Nutzerverzeichnisses in: '%s'"
 
-#: config.c:852 config.c:863
+#: config.c:865 config.c:876
 #, c-format
 msgid "bad zlib compression level %d"
 msgstr "ungültiger zlib Komprimierungsgrad %d"
 
-#: config.c:978
+#: config.c:993
 #, c-format
 msgid "invalid mode for object creation: %s"
 msgstr "Ungültiger Modus für Objekterstellung: %s"
 
-#: config.c:1312
+#: config.c:1149
+#, c-format
+msgid "bad pack compression level %d"
+msgstr "ungültiger Komprimierungsgrad (%d) für Paketierung"
+
+#: config.c:1339
 msgid "unable to parse command-line config"
 msgstr ""
 "Konnte die über die Befehlszeile angegebene Konfiguration nicht parsen."
 
-#: config.c:1362
+#: config.c:1389
 msgid "unknown error occurred while reading the configuration files"
 msgstr ""
 "Es trat ein unbekannter Fehler beim Lesen der Konfigurationsdateien auf."
 
-#: config.c:1716
+#: config.c:1743
 #, c-format
 msgid "unable to parse '%s' from command-line config"
 msgstr ""
 "Konnte Wert '%s' aus der über die Befehlszeile angegebenen Konfiguration\n"
 "nicht parsen."
 
-#: config.c:1718
+#: config.c:1745
 #, c-format
 msgid "bad config variable '%s' in file '%s' at line %d"
 msgstr "ungültige Konfigurationsvariable '%s' in Datei '%s' bei Zeile %d"
 
-#: config.c:1777
+#: config.c:1804
 #, c-format
 msgid "%s has multiple values"
 msgstr "%s hat mehrere Werte"
 
-#: config.c:2311
+#: config.c:2225 config.c:2450
+#, c-format
+msgid "fstat on %s failed"
+msgstr "fstat auf %s fehlgeschlagen"
+
+#: config.c:2343
 #, c-format
 msgid "could not set '%s' to '%s'"
 msgstr "Konnte '%s' nicht zu '%s' setzen."
 
-#: config.c:2313
+#: config.c:2345
 #, c-format
 msgid "could not unset '%s'"
 msgstr "Konnte '%s' nicht aufheben."
@@ -1392,10 +1407,11 @@
 msgstr ""
 "Konnte nicht vom Remote-Repository lesen.\n"
 "\n"
-"Bitte stellen Sie sicher, dass die korrekten Zugriffsberechtigungen bestehen\n"
+"Bitte stellen Sie sicher, dass die korrekten Zugriffsberechtigungen "
+"bestehen\n"
 "und das Repository existiert."
 
-#: connected.c:63 builtin/fsck.c:173 builtin/prune.c:140
+#: connected.c:63 builtin/fsck.c:190 builtin/prune.c:140
 msgid "Checking connectivity"
 msgstr "Prüfe Konnektivität"
 
@@ -1418,7 +1434,8 @@
 "The file will have its original line endings in your working directory."
 msgstr ""
 "CRLF wird in %s durch LF ersetzt.\n"
-"Die Datei wird ihre ursprünglichen Zeilenenden im Arbeitsverzeichnis behalten."
+"Die Datei wird ihre ursprünglichen Zeilenenden im Arbeitsverzeichnis "
+"behalten."
 
 #: convert.c:205
 #, c-format
@@ -1432,7 +1449,8 @@
 "The file will have its original line endings in your working directory."
 msgstr ""
 "LF wird in %s durch CRLF ersetzt.\n"
-"Die Datei wird ihre ursprünglichen Zeilenenden im Arbeitsverzeichnis behalten."
+"Die Datei wird ihre ursprünglichen Zeilenenden im Arbeitsverzeichnis "
+"behalten."
 
 #: convert.c:215
 #, c-format
@@ -1532,12 +1550,12 @@
 msgid "  Unknown dirstat parameter '%s'\n"
 msgstr "  Unbekannter \"dirstat\" Parameter '%s'\n"
 
-#: diff.c:283
+#: diff.c:281
 #, c-format
 msgid "Unknown value for 'diff.submodule' config variable: '%s'"
 msgstr "Unbekannter Wert in Konfigurationsvariable 'diff.dirstat': '%s'"
 
-#: diff.c:346
+#: diff.c:344
 #, c-format
 msgid ""
 "Found errors in 'diff.dirstat' config variable:\n"
@@ -1546,20 +1564,21 @@
 "Fehler in 'diff.dirstat' Konfigurationsvariable gefunden:\n"
 "%s"
 
-#: diff.c:3087
+#: diff.c:3085
 #, c-format
 msgid "external diff died, stopping at %s"
 msgstr "externes Diff-Programm unerwartet beendet, angehalten bei %s"
 
-#: diff.c:3412
+#: diff.c:3411
 msgid "--name-only, --name-status, --check and -s are mutually exclusive"
-msgstr "--name-only, --name-status, --check und -s schließen sich gegenseitig aus"
+msgstr ""
+"--name-only, --name-status, --check und -s schließen sich gegenseitig aus"
 
-#: diff.c:3502
+#: diff.c:3501
 msgid "--follow requires exactly one pathspec"
 msgstr "--follow erfordert genau eine Pfadspezifikation"
 
-#: diff.c:3665
+#: diff.c:3664
 #, c-format
 msgid ""
 "Failed to parse --dirstat/-X option parameter:\n"
@@ -1568,22 +1587,22 @@
 "Fehler beim Parsen des --dirstat/-X Optionsparameters:\n"
 "%s"
 
-#: diff.c:3679
+#: diff.c:3678
 #, c-format
 msgid "Failed to parse --submodule option parameter: '%s'"
 msgstr "Fehler beim Parsen des --submodule Optionsparameters: '%s'"
 
-#: diff.c:4700
+#: diff.c:4696
 msgid "inexact rename detection was skipped due to too many files."
 msgstr ""
 "Ungenaue Erkennung für Umbenennungen wurde aufgrund zu vieler Dateien\n"
 "übersprungen."
 
-#: diff.c:4703
+#: diff.c:4699
 msgid "only found copies from modified paths due to too many files."
 msgstr "nur Kopien von geänderten Pfaden, aufgrund zu vieler Dateien, gefunden"
 
-#: diff.c:4706
+#: diff.c:4702
 #, c-format
 msgid ""
 "you may want to set your %s variable to at least %d and retry the command."
@@ -1591,16 +1610,21 @@
 "Sie könnten die Variable %s auf mindestens %d setzen und den Befehl\n"
 "erneut versuchen."
 
-#: dir.c:1866
+#: dir.c:1862
 msgid "failed to get kernel name and information"
 msgstr "Fehler beim Sammeln von Namen und Informationen zum Kernel"
 
-#: dir.c:1985
+#: dir.c:1981
 msgid "Untracked cache is disabled on this system or location."
 msgstr ""
 "Cache für unversionierte Dateien ist auf diesem System oder\n"
 "für dieses Verzeichnis deaktiviert."
 
+#: dir.c:2759
+#, c-format
+msgid "could not migrate git directory from '%s' to '%s'"
+msgstr "Konnte Git-Verzeichnis nicht von '%s' nach '%s' migrieren."
+
 #: fetch-pack.c:213
 msgid "git fetch-pack: expected shallow list"
 msgstr "git fetch-pack: erwartete shallow-Liste"
@@ -1781,35 +1805,40 @@
 msgid "failed writing detached signature to '%s'"
 msgstr "Fehler beim Schreiben der losgelösten Signatur nach '%s'"
 
-#: grep.c:1782
+#: graph.c:96
+#, c-format
+msgid "ignore invalid color '%.*s' in log.graphColors"
+msgstr "Ignoriere ungültige Farbe '%.*s' in log.graphColors"
+
+#: grep.c:1794
 #, c-format
 msgid "'%s': unable to read %s"
 msgstr "'%s': konnte %s nicht lesen"
 
-#: grep.c:1799 builtin/clone.c:381 builtin/diff.c:84 builtin/rm.c:155
+#: grep.c:1811 builtin/clone.c:381 builtin/diff.c:81 builtin/rm.c:133
 #, c-format
 msgid "failed to stat '%s'"
 msgstr "Konnte '%s' nicht lesen"
 
-#: grep.c:1810
+#: grep.c:1822
 #, c-format
 msgid "'%s': short read"
 msgstr "'%s': read() zu kurz"
 
-#: help.c:203
+#: help.c:218
 #, c-format
 msgid "available git commands in '%s'"
 msgstr "Vorhandene Git-Befehle in '%s'"
 
-#: help.c:210
+#: help.c:225
 msgid "git commands available from elsewhere on your $PATH"
 msgstr "Vorhandene Git-Befehle anderswo in Ihrem $PATH"
 
-#: help.c:241
+#: help.c:256
 msgid "These are common Git commands used in various situations:"
 msgstr "Allgemeine Git-Befehle, verwendet in verschiedenen Situationen:"
 
-#: help.c:306
+#: help.c:321
 #, c-format
 msgid ""
 "'%s' appears to be a git command, but we were not\n"
@@ -1818,11 +1847,11 @@
 "'%s' scheint ein git-Befehl zu sein, konnte aber\n"
 "nicht ausgeführt werden. Vielleicht ist git-%s fehlerhaft?"
 
-#: help.c:361
+#: help.c:376
 msgid "Uh oh. Your system reports no Git commands at all."
 msgstr "Uh oh. Keine Git-Befehle auf Ihrem System vorhanden."
 
-#: help.c:383
+#: help.c:398
 #, c-format
 msgid ""
 "WARNING: You called a Git command named '%s', which does not exist.\n"
@@ -1831,17 +1860,17 @@
 "Warnung: Sie haben den nicht existierenden Git-Befehl '%s' ausgeführt.\n"
 "Setze fort unter der Annahme, dass Sie '%s' gemeint haben."
 
-#: help.c:388
+#: help.c:403
 #, c-format
 msgid "in %0.1f seconds automatically..."
 msgstr "Automatische Ausführung in %0.1f Sekunden ..."
 
-#: help.c:395
+#: help.c:410
 #, c-format
 msgid "git: '%s' is not a git command. See 'git --help'."
 msgstr "git: '%s' ist kein Git-Befehl. Siehe 'git --help'."
 
-#: help.c:399 help.c:465
+#: help.c:414 help.c:480
 msgid ""
 "\n"
 "Did you mean this?"
@@ -1855,7 +1884,7 @@
 "\n"
 "Haben Sie eines von diesen gemeint?"
 
-#: help.c:461
+#: help.c:476
 #, c-format
 msgid "%s: %s - %s"
 msgstr "%s: %s - %s"
@@ -1924,69 +1953,69 @@
 msgid "(bad commit)\n"
 msgstr "(ungültiger Commit)\n"
 
-#: merge-recursive.c:231
+#: merge-recursive.c:231 merge-recursive.c:239
 #, c-format
 msgid "addinfo_cache failed for path '%s'"
 msgstr "addinfo_cache für Pfad '%s' fehlgeschlagen"
 
-#: merge-recursive.c:301
+#: merge-recursive.c:303
 msgid "error building trees"
 msgstr "Fehler beim Erstellen der \"Tree\"-Objekte"
 
-#: merge-recursive.c:720
+#: merge-recursive.c:727
 #, c-format
 msgid "failed to create path '%s'%s"
 msgstr "Fehler beim Erstellen des Pfades '%s'%s"
 
-#: merge-recursive.c:731
+#: merge-recursive.c:738
 #, c-format
 msgid "Removing %s to make room for subdirectory\n"
 msgstr "Entferne %s, um Platz für Unterverzeichnis zu schaffen\n"
 
-#: merge-recursive.c:745 merge-recursive.c:764
+#: merge-recursive.c:752 merge-recursive.c:771
 msgid ": perhaps a D/F conflict?"
 msgstr ": vielleicht ein Verzeichnis/Datei-Konflikt?"
 
-#: merge-recursive.c:754
+#: merge-recursive.c:761
 #, c-format
 msgid "refusing to lose untracked file at '%s'"
 msgstr "verweigere, da unversionierte Dateien in '%s' verloren gehen würden"
 
-#: merge-recursive.c:796 builtin/cat-file.c:34
+#: merge-recursive.c:803 builtin/cat-file.c:34
 #, c-format
 msgid "cannot read object %s '%s'"
 msgstr "kann Objekt %s '%s' nicht lesen"
 
-#: merge-recursive.c:798
+#: merge-recursive.c:805
 #, c-format
 msgid "blob expected for %s '%s'"
 msgstr "Blob erwartet für %s '%s'"
 
-#: merge-recursive.c:822
+#: merge-recursive.c:829
 #, c-format
 msgid "failed to open '%s': %s"
 msgstr "Fehler beim Öffnen von '%s': %s"
 
-#: merge-recursive.c:833
+#: merge-recursive.c:840
 #, c-format
 msgid "failed to symlink '%s': %s"
 msgstr "Fehler beim Erstellen einer symbolischen Verknüpfung für '%s': %s"
 
-#: merge-recursive.c:838
+#: merge-recursive.c:845
 #, c-format
 msgid "do not know what to do with %06o %s '%s'"
 msgstr "weiß nicht was mit %06o %s '%s' zu machen ist"
 
-#: merge-recursive.c:978
+#: merge-recursive.c:985
 msgid "Failed to execute internal merge"
 msgstr "Fehler bei Ausführung des internen Merges"
 
-#: merge-recursive.c:982
+#: merge-recursive.c:989
 #, c-format
 msgid "Unable to add %s to database"
 msgstr "Konnte %s nicht zur Datenbank hinzufügen"
 
-#: merge-recursive.c:1081 merge-recursive.c:1095
+#: merge-recursive.c:1088 merge-recursive.c:1102
 #, c-format
 msgid ""
 "CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left "
@@ -1995,7 +2024,7 @@
 "KONFLIKT (%s/löschen): %s gelöscht in %s und %s in %s. Stand %s von %s wurde "
 "im Arbeitsbereich gelassen."
 
-#: merge-recursive.c:1087 merge-recursive.c:1100
+#: merge-recursive.c:1094 merge-recursive.c:1107
 #, c-format
 msgid ""
 "CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left "
@@ -2004,20 +2033,20 @@
 "KONFLIKT (%s/löschen): %s gelöscht in %s und %s in %s. Stand %s von %s wurde "
 "im Arbeitsbereich bei %s gelassen."
 
-#: merge-recursive.c:1143
+#: merge-recursive.c:1150
 msgid "rename"
 msgstr "umbenennen"
 
-#: merge-recursive.c:1143
+#: merge-recursive.c:1150
 msgid "renamed"
 msgstr "umbenannt"
 
-#: merge-recursive.c:1200
+#: merge-recursive.c:1207
 #, c-format
 msgid "%s is a directory in %s adding as %s instead"
 msgstr "%s ist ein Verzeichnis in %s, füge es stattdessen als %s hinzu"
 
-#: merge-recursive.c:1225
+#: merge-recursive.c:1232
 #, c-format
 msgid ""
 "CONFLICT (rename/rename): Rename \"%s\"->\"%s\" in branch \"%s\" rename \"%s"
@@ -2026,139 +2055,139 @@
 "KONFLIKT (umbenennen/umbenennen): Benenne um \"%s\"->\"%s\" in Branch \"%s\" "
 "und \"%s\"->\"%s\" in Branch \"%s\"%s"
 
-#: merge-recursive.c:1230
+#: merge-recursive.c:1237
 msgid " (left unresolved)"
 msgstr " (bleibt unaufgelöst)"
 
-#: merge-recursive.c:1292
+#: merge-recursive.c:1299
 #, c-format
 msgid "CONFLICT (rename/rename): Rename %s->%s in %s. Rename %s->%s in %s"
 msgstr ""
 "KONFLIKT (umbenennen/umbenennen): Benenne um %s->%s in %s. Benenne um %s->%s "
 "in %s"
 
-#: merge-recursive.c:1325
+#: merge-recursive.c:1332
 #, c-format
 msgid "Renaming %s to %s and %s to %s instead"
 msgstr "Benenne stattdessen %s nach %s und %s nach %s um"
 
-#: merge-recursive.c:1531
+#: merge-recursive.c:1535
 #, c-format
 msgid "CONFLICT (rename/add): Rename %s->%s in %s. %s added in %s"
 msgstr ""
 "KONFLIKT (umbenennen/hinzufügen): Benenne um %s->%s in %s. %s hinzugefügt in "
 "%s"
 
-#: merge-recursive.c:1546
+#: merge-recursive.c:1550
 #, c-format
 msgid "Adding merged %s"
 msgstr "Füge zusammengeführte Datei %s hinzu"
 
-#: merge-recursive.c:1553 merge-recursive.c:1766
+#: merge-recursive.c:1557 merge-recursive.c:1771
 #, c-format
 msgid "Adding as %s instead"
 msgstr "Füge stattdessen als %s hinzu"
 
-#: merge-recursive.c:1610
+#: merge-recursive.c:1614
 #, c-format
 msgid "cannot read object %s"
 msgstr "kann Objekt %s nicht lesen"
 
-#: merge-recursive.c:1613
+#: merge-recursive.c:1617
 #, c-format
 msgid "object %s is not a blob"
 msgstr "Objekt %s ist kein Blob"
 
-#: merge-recursive.c:1666
+#: merge-recursive.c:1670
 msgid "modify"
 msgstr "ändern"
 
-#: merge-recursive.c:1666
+#: merge-recursive.c:1670
 msgid "modified"
 msgstr "geändert"
 
-#: merge-recursive.c:1676
+#: merge-recursive.c:1680
 msgid "content"
 msgstr "Inhalt"
 
-#: merge-recursive.c:1683
+#: merge-recursive.c:1687
 msgid "add/add"
 msgstr "hinzufügen/hinzufügen"
 
-#: merge-recursive.c:1718
+#: merge-recursive.c:1723
 #, c-format
 msgid "Skipped %s (merged same as existing)"
 msgstr "%s ausgelassen (Ergebnis des Merges existiert bereits)"
 
-#: merge-recursive.c:1732
+#: merge-recursive.c:1737
 #, c-format
 msgid "Auto-merging %s"
 msgstr "automatischer Merge von %s"
 
-#: merge-recursive.c:1736 git-submodule.sh:924
+#: merge-recursive.c:1741 git-submodule.sh:930
 msgid "submodule"
 msgstr "Submodul"
 
-#: merge-recursive.c:1737
+#: merge-recursive.c:1742
 #, c-format
 msgid "CONFLICT (%s): Merge conflict in %s"
 msgstr "KONFLIKT (%s): Merge-Konflikt in %s"
 
-#: merge-recursive.c:1831
+#: merge-recursive.c:1836
 #, c-format
 msgid "Removing %s"
 msgstr "Entferne %s"
 
-#: merge-recursive.c:1857
+#: merge-recursive.c:1862
 msgid "file/directory"
 msgstr "Datei/Verzeichnis"
 
-#: merge-recursive.c:1863
+#: merge-recursive.c:1868
 msgid "directory/file"
 msgstr "Verzeichnis/Datei"
 
-#: merge-recursive.c:1868
+#: merge-recursive.c:1874
 #, c-format
 msgid "CONFLICT (%s): There is a directory with name %s in %s. Adding %s as %s"
 msgstr ""
 "KONFLIKT (%s): Es existiert bereits ein Verzeichnis %s in %s. Füge %s als %s "
 "hinzu."
 
-#: merge-recursive.c:1877
+#: merge-recursive.c:1883
 #, c-format
 msgid "Adding %s"
 msgstr "Füge %s hinzu"
 
-#: merge-recursive.c:1914
+#: merge-recursive.c:1920
 msgid "Already up-to-date!"
 msgstr "Bereits aktuell!"
 
-#: merge-recursive.c:1923
+#: merge-recursive.c:1929
 #, c-format
 msgid "merging of trees %s and %s failed"
 msgstr "Zusammenführen der \"Tree\"-Objekte %s und %s fehlgeschlagen"
 
-#: merge-recursive.c:2006
+#: merge-recursive.c:2012
 msgid "Merging:"
 msgstr "Merge:"
 
-#: merge-recursive.c:2019
+#: merge-recursive.c:2025
 #, c-format
 msgid "found %u common ancestor:"
 msgid_plural "found %u common ancestors:"
 msgstr[0] "%u gemeinsamen Vorgänger-Commit gefunden"
 msgstr[1] "%u gemeinsame Vorgänger-Commits gefunden"
 
-#: merge-recursive.c:2058
+#: merge-recursive.c:2064
 msgid "merge returned no commit"
 msgstr "Merge hat keinen Commit zurückgegeben"
 
-#: merge-recursive.c:2121
+#: merge-recursive.c:2127
 #, c-format
 msgid "Could not parse object '%s'"
 msgstr "Konnte Objekt '%s' nicht parsen."
 
-#: merge-recursive.c:2135 builtin/merge.c:641 builtin/merge.c:788
+#: merge-recursive.c:2141 builtin/merge.c:645 builtin/merge.c:792
 msgid "Unable to write index."
 msgstr "Konnte Index nicht schreiben."
 
@@ -2169,9 +2198,12 @@
 "Please, use 'git notes merge --commit' or 'git notes merge --abort' to "
 "commit/abort the previous merge before you start a new notes merge."
 msgstr ""
-"Sie haben Ihren vorherigen Merge von Notizen nicht abgeschlossen (%s existiert).\n"
-"Bitte benutzen Sie 'git notes merge --commit' oder 'git notes merge --abort', um\n"
-"den vorherigen Merge zu committen bzw. abzubrechen, bevor Sie einen neuen Merge\n"
+"Sie haben Ihren vorherigen Merge von Notizen nicht abgeschlossen (%s "
+"existiert).\n"
+"Bitte benutzen Sie 'git notes merge --commit' oder 'git notes merge --"
+"abort', um\n"
+"den vorherigen Merge zu committen bzw. abzubrechen, bevor Sie einen neuen "
+"Merge\n"
 "von Notizen beginnen."
 
 #: notes-merge.c:280
@@ -2202,7 +2234,7 @@
 msgid "Bad %s value: '%s'"
 msgstr "Ungültiger %s Wert: '%s'"
 
-#: object.c:242
+#: object.c:240
 #, c-format
 msgid "unable to parse object: %s"
 msgstr "Konnte Objekt '%s' nicht parsen."
@@ -2242,13 +2274,13 @@
 msgid "Could not make %s writable by group"
 msgstr "Konnte Gruppenschreibrecht für %s nicht setzen."
 
-#: pathspec.c:133
+#: pathspec.c:142
 msgid "global 'glob' and 'noglob' pathspec settings are incompatible"
 msgstr ""
 "Globale Einstellungen zur Pfadspezifikation 'glob' und 'noglob' sind "
 "inkompatibel."
 
-#: pathspec.c:143
+#: pathspec.c:149
 msgid ""
 "global 'literal' pathspec setting is incompatible with all other global "
 "pathspec settings"
@@ -2256,60 +2288,66 @@
 "Globale Einstellung zur Pfadspezifikation 'literal' ist inkompatibel\n"
 "mit allen anderen Optionen."
 
-#: pathspec.c:177
+#: pathspec.c:188
 msgid "invalid parameter for pathspec magic 'prefix'"
 msgstr "ungültiger Parameter für Pfadspezifikationsangabe 'prefix'"
 
-#: pathspec.c:183
+#: pathspec.c:201
 #, c-format
 msgid "Invalid pathspec magic '%.*s' in '%s'"
 msgstr "ungültige Pfadspezifikationsangabe '%.*s' in '%s'"
 
-#: pathspec.c:187
+#: pathspec.c:206
 #, c-format
 msgid "Missing ')' at the end of pathspec magic in '%s'"
 msgstr "Fehlendes ')' am Ende der Pfadspezifikationsangabe in '%s'"
 
-#: pathspec.c:205
+#: pathspec.c:238
 #, c-format
 msgid "Unimplemented pathspec magic '%c' in '%s'"
 msgstr "nicht unterstützte Pfadspezifikationsangabe '%c' in '%s'"
 
-#: pathspec.c:230
-#, c-format
-msgid "%s: 'literal' and 'glob' are incompatible"
-msgstr "%s: 'literal' und 'glob' sind inkompatibel"
-
-#: pathspec.c:241
-#, c-format
-msgid "%s: '%s' is outside repository"
-msgstr "%s: '%s' liegt außerhalb des Repositories"
-
-#: pathspec.c:291
+#: pathspec.c:293 pathspec.c:315
 #, c-format
 msgid "Pathspec '%s' is in submodule '%.*s'"
 msgstr "Pfadspezifikation '%s' befindet sich in Submodul '%.*s'"
 
-#: pathspec.c:353
+#: pathspec.c:350
+#, c-format
+msgid "%s: 'literal' and 'glob' are incompatible"
+msgstr "%s: 'literal' und 'glob' sind inkompatibel"
+
+#: pathspec.c:363
+#, c-format
+msgid "%s: '%s' is outside repository"
+msgstr "%s: '%s' liegt außerhalb des Repositories"
+
+#: pathspec.c:451
+#, c-format
+msgid "'%s' (mnemonic: '%c')"
+msgstr "'%s' (Kürzel: '%c')"
+
+#: pathspec.c:461
 #, c-format
 msgid "%s: pathspec magic not supported by this command: %s"
 msgstr ""
 "%s: Pfadspezifikationsangabe wird von diesem Befehl nicht unterstützt: %s"
 
-#: pathspec.c:408
+#: pathspec.c:511
 msgid ""
 "empty strings as pathspecs will be made invalid in upcoming releases. please "
 "use . instead if you meant to match all paths"
 msgstr ""
-"Leere Strings als Pfadspezifikationen werden in kommenden Releases ungültig.\n"
+"Leere Strings als Pfadspezifikationen werden in kommenden Releases "
+"ungültig.\n"
 "Bitte benutzen Sie stattdessen . wenn Sie alle Pfade meinen."
 
-#: pathspec.c:440
+#: pathspec.c:535
 #, c-format
 msgid "pathspec '%s' is beyond a symbolic link"
 msgstr "Pfadspezifikation '%s' ist hinter einer symbolischen Verknüpfung"
 
-#: pathspec.c:449
+#: pathspec.c:544
 msgid ""
 "There is nothing to exclude from by :(exclude) patterns.\n"
 "Perhaps you forgot to add either ':/' or '.' ?"
@@ -2317,11 +2355,11 @@
 ":(exclude) Muster, aber keine anderen Pfadspezifikationen angegeben.\n"
 "Vielleicht haben Sie vergessen entweder ':/' oder '.' hinzuzufügen?"
 
-#: pretty.c:971
+#: pretty.c:982
 msgid "unable to parse --pretty format"
 msgstr "Konnte --pretty Format nicht parsen."
 
-#: read-cache.c:1315
+#: read-cache.c:1307
 #, c-format
 msgid ""
 "index.version set, but the value is invalid.\n"
@@ -2330,7 +2368,7 @@
 "index.version gesetzt, aber Wert ungültig.\n"
 "Verwende Version %i"
 
-#: read-cache.c:1325
+#: read-cache.c:1317
 #, c-format
 msgid ""
 "GIT_INDEX_VERSION set, but the value is invalid.\n"
@@ -2339,7 +2377,7 @@
 "GIT_INDEX_VERSION gesetzt, aber Wert ungültig.\n"
 "Verwende Version %i"
 
-#: refs.c:576 builtin/merge.c:840
+#: refs.c:576 builtin/merge.c:844
 #, c-format
 msgid "Could not open '%s' for writing"
 msgstr "Konnte '%s' nicht zum Schreiben öffnen."
@@ -2359,245 +2397,248 @@
 msgid "could not remove reference %s"
 msgstr "Konnte Referenz %s nicht löschen"
 
-#: ref-filter.c:55
+#: ref-filter.c:56
 #, c-format
 msgid "expected format: %%(color:<color>)"
 msgstr "Erwartetes Format: %%(color:<Farbe>)"
 
-#: ref-filter.c:57
+#: ref-filter.c:58
 #, c-format
 msgid "unrecognized color: %%(color:%s)"
 msgstr "nicht erkannte Farbe: %%(color:%s)"
 
-#: ref-filter.c:71
+#: ref-filter.c:72
 #, c-format
 msgid "unrecognized format: %%(%s)"
 msgstr "nicht erkanntes Format: %%(%s)"
 
-#: ref-filter.c:77
+#: ref-filter.c:78
 #, c-format
 msgid "%%(body) does not take arguments"
 msgstr "%%(body) akzeptiert keine Argumente"
 
-#: ref-filter.c:84
+#: ref-filter.c:85
 #, c-format
 msgid "%%(subject) does not take arguments"
 msgstr "%%(subject) akzeptiert keine Argumente"
 
-#: ref-filter.c:101
+#: ref-filter.c:92
+#, c-format
+msgid "%%(trailers) does not take arguments"
+msgstr "%%(trailers) akzeptiert keine Argumente"
+
+#: ref-filter.c:111
 #, c-format
 msgid "positive value expected contents:lines=%s"
 msgstr "Positiver Wert erwartet contents:lines=%s"
 
-#: ref-filter.c:103
+#: ref-filter.c:113
 #, c-format
 msgid "unrecognized %%(contents) argument: %s"
 msgstr "nicht erkanntes %%(contents) Argument: %s"
 
-#: ref-filter.c:113
+#: ref-filter.c:123
 #, c-format
 msgid "unrecognized %%(objectname) argument: %s"
 msgstr "nicht erkanntes %%(objectname) Argument: %s"
 
-#: ref-filter.c:135
+#: ref-filter.c:145
 #, c-format
 msgid "expected format: %%(align:<width>,<position>)"
 msgstr "Erwartetes Format: %%(align:<Breite>,<Position>)"
 
-#: ref-filter.c:147
+#: ref-filter.c:157
 #, c-format
 msgid "unrecognized position:%s"
 msgstr "nicht erkannte Position:%s"
 
-#: ref-filter.c:151
+#: ref-filter.c:161
 #, c-format
 msgid "unrecognized width:%s"
 msgstr "nicht erkannte Breite:%s"
 
-#: ref-filter.c:157
+#: ref-filter.c:167
 #, c-format
 msgid "unrecognized %%(align) argument: %s"
 msgstr "nicht erkanntes %%(align) Argument: %s"
 
-#: ref-filter.c:161
+#: ref-filter.c:171
 #, c-format
 msgid "positive width expected with the %%(align) atom"
 msgstr "Positive Breitenangabe für %%(align) erwartet"
 
-#: ref-filter.c:244
+#: ref-filter.c:255
 #, c-format
 msgid "malformed field name: %.*s"
 msgstr "Fehlerhafter Feldname: %.*s"
 
-#: ref-filter.c:270
+#: ref-filter.c:281
 #, c-format
 msgid "unknown field name: %.*s"
 msgstr "Unbekannter Feldname: %.*s"
 
-#: ref-filter.c:372
+#: ref-filter.c:383
 #, c-format
 msgid "format: %%(end) atom used without corresponding atom"
 msgstr "Format: %%(end) Atom ohne zugehöriges Atom verwendet"
 
-#: ref-filter.c:424
+#: ref-filter.c:435
 #, c-format
 msgid "malformed format string %s"
 msgstr "Fehlerhafter Formatierungsstring %s"
 
-#: ref-filter.c:878
+#: ref-filter.c:898
 msgid ":strip= requires a positive integer argument"
 msgstr ":strip= erfordert eine positive Ganzzahl als Argument"
 
-#: ref-filter.c:883
+#: ref-filter.c:903
 #, c-format
 msgid "ref '%s' does not have %ld components to :strip"
 msgstr "Referenz '%s' hat keine %ld Komponenten für :strip"
 
-#: ref-filter.c:1046
+#: ref-filter.c:1066
 #, c-format
 msgid "unknown %.*s format %s"
 msgstr "Unbekanntes %.*s Format %s"
 
-#: ref-filter.c:1066 ref-filter.c:1097
+#: ref-filter.c:1086 ref-filter.c:1117
 #, c-format
 msgid "missing object %s for %s"
 msgstr "Objekt %s fehlt für %s"
 
-#: ref-filter.c:1069 ref-filter.c:1100
+#: ref-filter.c:1089 ref-filter.c:1120
 #, c-format
 msgid "parse_object_buffer failed on %s for %s"
 msgstr "parse_object_buffer bei %s für %s fehlgeschlagen"
 
-#: ref-filter.c:1311
+#: ref-filter.c:1343
 #, c-format
 msgid "malformed object at '%s'"
 msgstr "fehlerhaftes Objekt bei '%s'"
 
-#: ref-filter.c:1373
+#: ref-filter.c:1410
 #, c-format
 msgid "ignoring ref with broken name %s"
 msgstr "Ignoriere Referenz mit fehlerhaftem Namen %s"
 
-#: ref-filter.c:1378
+#: ref-filter.c:1415
 #, c-format
 msgid "ignoring broken ref %s"
 msgstr "Ignoriere fehlerhafte Referenz %s"
 
-#: ref-filter.c:1633
+#: ref-filter.c:1670
 #, c-format
 msgid "format: %%(end) atom missing"
 msgstr "Format: %%(end) Atom fehlt"
 
-#: ref-filter.c:1687
+#: ref-filter.c:1734
 #, c-format
 msgid "malformed object name %s"
 msgstr "Missgebildeter Objektname %s"
 
-#: remote.c:746
+#: remote.c:754
 #, c-format
 msgid "Cannot fetch both %s and %s to %s"
 msgstr "Kann 'fetch' nicht für sowohl %s als auch %s nach %s ausführen."
 
-#: remote.c:750
+#: remote.c:758
 #, c-format
 msgid "%s usually tracks %s, not %s"
 msgstr "%s folgt üblicherweise %s, nicht %s"
 
-#: remote.c:754
+#: remote.c:762
 #, c-format
 msgid "%s tracks both %s and %s"
 msgstr "%s folgt sowohl %s als auch %s"
 
-#: remote.c:762
+#: remote.c:770
 msgid "Internal error"
 msgstr "Interner Fehler"
 
-#: remote.c:1677 remote.c:1720
+#: remote.c:1685 remote.c:1787
 msgid "HEAD does not point to a branch"
 msgstr "HEAD zeigt auf keinen Branch"
 
-#: remote.c:1686
+#: remote.c:1694
 #, c-format
 msgid "no such branch: '%s'"
 msgstr "Kein solcher Branch: '%s'"
 
-#: remote.c:1689
+#: remote.c:1697
 #, c-format
 msgid "no upstream configured for branch '%s'"
 msgstr "Kein Upstream-Branch für Branch '%s' konfiguriert."
 
-#: remote.c:1695
+#: remote.c:1703
 #, c-format
 msgid "upstream branch '%s' not stored as a remote-tracking branch"
 msgstr "Upstream-Branch '%s' nicht als Remote-Tracking-Branch gespeichert"
 
-#: remote.c:1710
+#: remote.c:1718
 #, c-format
 msgid "push destination '%s' on remote '%s' has no local tracking branch"
 msgstr ""
 "Ziel für \"push\" '%s' auf Remote-Repository '%s' hat keinen lokal gefolgten "
 "Branch"
 
-#: remote.c:1725
+#: remote.c:1730
 #, c-format
 msgid "branch '%s' has no remote for pushing"
 msgstr "Branch '%s' hat keinen Upstream-Branch gesetzt"
 
-#: remote.c:1736
+#: remote.c:1741
 #, c-format
 msgid "push refspecs for '%s' do not include '%s'"
 msgstr "Push-Refspecs für '%s' beinhalten nicht '%s'"
 
-#: remote.c:1749
+#: remote.c:1754
 msgid "push has no destination (push.default is 'nothing')"
 msgstr "kein Ziel für \"push\" (push.default ist 'nothing')"
 
-#: remote.c:1771
+#: remote.c:1776
 msgid "cannot resolve 'simple' push to a single destination"
 msgstr "kann einzelnes Ziel für \"push\" im Modus 'simple' nicht auflösen"
 
-#: remote.c:2073
+#: remote.c:2081
 #, c-format
 msgid "Your branch is based on '%s', but the upstream is gone.\n"
 msgstr ""
 "Ihr Branch basiert auf '%s', aber der Upstream-Branch wurde entfernt.\n"
 
-#: remote.c:2077
+#: remote.c:2085
 msgid "  (use \"git branch --unset-upstream\" to fixup)\n"
 msgstr "  (benutzen Sie \"git branch --unset-upstream\" zum Beheben)\n"
 
-#: remote.c:2080
+#: remote.c:2088
 #, c-format
 msgid "Your branch is up-to-date with '%s'.\n"
 msgstr "Ihr Branch ist auf dem selben Stand wie '%s'.\n"
 
-#: remote.c:2084
+#: remote.c:2092
 #, c-format
 msgid "Your branch is ahead of '%s' by %d commit.\n"
 msgid_plural "Your branch is ahead of '%s' by %d commits.\n"
-msgstr[0] "Ihr Branch ist vor '%s' um %d Commit.\n"
-msgstr[1] "Ihr Branch ist vor '%s' um %d Commits.\n"
+msgstr[0] "Ihr Branch ist %2$d Commit vor '%1$s'.\n"
+msgstr[1] "Ihr Branch ist %2$d Commits vor '%1$s'.\n"
 
-#: remote.c:2090
+#: remote.c:2098
 msgid "  (use \"git push\" to publish your local commits)\n"
 msgstr "  (benutzen Sie \"git push\", um lokale Commits zu publizieren)\n"
 
-#: remote.c:2093
+#: remote.c:2101
 #, c-format
 msgid "Your branch is behind '%s' by %d commit, and can be fast-forwarded.\n"
 msgid_plural ""
 "Your branch is behind '%s' by %d commits, and can be fast-forwarded.\n"
-msgstr[0] ""
-"Ihr Branch ist zu '%s' um %d Commit hinterher, und kann vorgespult werden.\n"
-msgstr[1] ""
-"Ihr Branch ist zu '%s' um %d Commits hinterher, und kann vorgespult werden.\n"
+msgstr[0] "Ihr Branch ist %2$d Commit hinter '%1$s', und kann vorgespult werden.\n"
+msgstr[1] "Ihr Branch ist %2$d Commits hinter '%1$s', und kann vorgespult werden.\n"
 
-#: remote.c:2101
+#: remote.c:2109
 msgid "  (use \"git pull\" to update your local branch)\n"
 msgstr ""
 "  (benutzen Sie \"git pull\", um Ihren lokalen Branch zu aktualisieren)\n"
 
-#: remote.c:2104
+#: remote.c:2112
 #, c-format
 msgid ""
 "Your branch and '%s' have diverged,\n"
@@ -2612,7 +2653,7 @@
 "Ihr Branch und '%s' sind divergiert,\n"
 "und haben jeweils %d und %d unterschiedliche Commits.\n"
 
-#: remote.c:2114
+#: remote.c:2122
 msgid "  (use \"git pull\" to merge the remote branch into yours)\n"
 msgstr ""
 "  (benutzen Sie \"git pull\", um Ihren Branch mit dem Remote-Branch "
@@ -2631,11 +2672,11 @@
 msgid "--first-parent is incompatible with --bisect"
 msgstr "Die Optionen --first-parent und --bisect sind inkompatibel."
 
-#: run-command.c:106
+#: run-command.c:125
 msgid "open /dev/null failed"
 msgstr "Öffnen von /dev/null fehlgeschlagen"
 
-#: run-command.c:108
+#: run-command.c:127
 #, c-format
 msgid "dup2(%d,%d) failed"
 msgstr "dup2(%d,%d) fehlgeschlagen"
@@ -2665,15 +2706,24 @@
 msgid "the receiving end does not support push options"
 msgstr "die Gegenseite unterstützt keine Push-Optionen"
 
-#: sequencer.c:171
+#: sequencer.c:215
 msgid "revert"
 msgstr "Revert"
 
-#: sequencer.c:171
+#: sequencer.c:217
 msgid "cherry-pick"
 msgstr "Cherry-Pick"
 
-#: sequencer.c:228
+#: sequencer.c:219
+msgid "rebase -i"
+msgstr "interaktives Rebase"
+
+#: sequencer.c:221
+#, c-format
+msgid "Unknown action: %d"
+msgstr "Unbekannte Aktion: %d"
+
+#: sequencer.c:278
 msgid ""
 "after resolving the conflicts, mark the corrected paths\n"
 "with 'git add <paths>' or 'git rm <paths>'"
@@ -2681,7 +2731,7 @@
 "nach Auflösung der Konflikte, markieren Sie die korrigierten Pfade\n"
 "mit 'git add <Pfade>' oder 'git rm <Pfade>'"
 
-#: sequencer.c:231
+#: sequencer.c:281
 msgid ""
 "after resolving the conflicts, mark the corrected paths\n"
 "with 'git add <paths>' or 'git rm <paths>'\n"
@@ -2691,61 +2741,64 @@
 "mit 'git add <Pfade>' oder 'git rm <Pfade>'und tragen Sie das Ergebnis mit\n"
 "'git commit' ein"
 
-#: sequencer.c:244 sequencer.c:1209
+#: sequencer.c:294 sequencer.c:1667
 #, c-format
 msgid "could not lock '%s'"
 msgstr "Konnte '%s' nicht sperren"
 
-#: sequencer.c:247 sequencer.c:1125 sequencer.c:1214
+#: sequencer.c:297 sequencer.c:1545 sequencer.c:1672 sequencer.c:1686
 #, c-format
 msgid "could not write to '%s'"
 msgstr "Konnte nicht nach '%s' schreiben."
 
-#: sequencer.c:251
+#: sequencer.c:301
 #, c-format
 msgid "could not write eol to '%s'"
 msgstr "Konnte EOL nicht nach '%s' schreiben."
 
-#: sequencer.c:255 sequencer.c:1130 sequencer.c:1216
+#: sequencer.c:305 sequencer.c:1550 sequencer.c:1674
 #, c-format
 msgid "failed to finalize '%s'."
 msgstr "Fehler beim Fertigstellen von '%s'."
 
-#: sequencer.c:279 builtin/am.c:259 builtin/commit.c:749 builtin/merge.c:1032
+#: sequencer.c:329 sequencer.c:808 sequencer.c:1571 builtin/am.c:259
+#: builtin/commit.c:749 builtin/merge.c:1036
 #, c-format
 msgid "could not read '%s'"
 msgstr "Konnte '%s' nicht lesen"
 
-#: sequencer.c:305
+#: sequencer.c:355
 #, c-format
 msgid "your local changes would be overwritten by %s."
 msgstr "Ihre lokalen Änderungen würden durch den %s überschrieben werden."
 
-#: sequencer.c:309
+#: sequencer.c:359
 msgid "commit your changes or stash them to proceed."
 msgstr ""
 "Committen Sie Ihre Änderungen oder benutzen Sie \"stash\", um fortzufahren."
 
-#: sequencer.c:324
+#: sequencer.c:388
 #, c-format
 msgid "%s: fast-forward"
 msgstr "%s: Vorspulen"
 
-#. TRANSLATORS: %s will be "revert" or "cherry-pick"
-#: sequencer.c:399
+#. TRANSLATORS: %s will be "revert", "cherry-pick" or
+#. * "rebase -i".
+#.
+#: sequencer.c:470
 #, c-format
 msgid "%s: Unable to write new index file"
 msgstr "%s: Konnte neue Index-Datei nicht schreiben"
 
-#: sequencer.c:418
+#: sequencer.c:489
 msgid "could not resolve HEAD commit\n"
 msgstr "Konnte HEAD-Commit nicht auflösen\n"
 
-#: sequencer.c:438
+#: sequencer.c:509
 msgid "unable to update cache tree\n"
 msgstr "Konnte Cache-Verzeichnis nicht aktualisieren\n"
 
-#: sequencer.c:483
+#: sequencer.c:592
 #, c-format
 msgid ""
 "you have staged changes in your working tree\n"
@@ -2761,7 +2814,8 @@
 "\n"
 "  git rebase --continue\n"
 msgstr ""
-"Es befinden sich zum Commit vorgemerkte Änderungen in Ihrem Arbeitsverzeichnis.\n"
+"Es befinden sich zum Commit vorgemerkte Änderungen in Ihrem "
+"Arbeitsverzeichnis.\n"
 "Wenn diese Änderungen in den vorherigen Commit aufgenommen werden sollen,\n"
 "führen Sie aus:\n"
 "\n"
@@ -2775,172 +2829,397 @@
 "\n"
 "  git rebase --continue\n"
 
-#: sequencer.c:567
+#: sequencer.c:688
 #, c-format
 msgid "could not parse commit %s\n"
 msgstr "Konnte Commit %s nicht parsen\n"
 
-#: sequencer.c:572
+#: sequencer.c:693
 #, c-format
 msgid "could not parse parent commit %s\n"
 msgstr "Konnte Eltern-Commit %s nicht parsen\n"
 
-#: sequencer.c:656
+#: sequencer.c:815
+#, c-format
+msgid ""
+"unexpected 1st line of squash message:\n"
+"\n"
+"\t%.*s"
+msgstr ""
+"unerwartete erste Zeile der Squash-Beschreibung:\n"
+"\n"
+"\t%.*s"
+
+#: sequencer.c:821
+#, c-format
+msgid ""
+"invalid 1st line of squash message:\n"
+"\n"
+"\t%.*s"
+msgstr ""
+"ungültige erste Zeile der Squash-Beschreibung:\n"
+"\n"
+"\t%.*s"
+
+#: sequencer.c:827 sequencer.c:852
+#, c-format
+msgid "This is a combination of %d commits."
+msgstr "Das ist eine Kombination aus %d Commits."
+
+#: sequencer.c:836
+msgid "need a HEAD to fixup"
+msgstr "benötige HEAD für fixup"
+
+#: sequencer.c:838
+msgid "could not read HEAD"
+msgstr "Konnte HEAD nicht lesen"
+
+#: sequencer.c:840
+msgid "could not read HEAD's commit message"
+msgstr "Konnte Commit-Beschreibung von HEAD nicht lesen"
+
+#: sequencer.c:846
+#, c-format
+msgid "cannot write '%s'"
+msgstr "kann '%s' nicht schreiben"
+
+#: sequencer.c:855 git-rebase--interactive.sh:445
+msgid "This is the 1st commit message:"
+msgstr "Das ist die erste Commit-Beschreibung:"
+
+#: sequencer.c:863
+#, c-format
+msgid "could not read commit message of %s"
+msgstr "Konnte Commit-Beschreibung von %s nicht lesen."
+
+#: sequencer.c:870
+#, c-format
+msgid "This is the commit message #%d:"
+msgstr "Das ist Commit-Beschreibung #%d:"
+
+#: sequencer.c:875
+#, c-format
+msgid "The commit message #%d will be skipped:"
+msgstr "Die Commit-Beschreibung #%d wird ausgelassen:"
+
+#: sequencer.c:880
+#, c-format
+msgid "unknown command: %d"
+msgstr "Unbekannter Befehl: %d"
+
+#: sequencer.c:946
 msgid "your index file is unmerged."
 msgstr "Ihre Index-Datei ist nicht zusammengeführt."
 
-#: sequencer.c:675
+#: sequencer.c:964
 #, c-format
 msgid "commit %s is a merge but no -m option was given."
 msgstr "Commit %s ist ein Merge, aber die Option -m wurde nicht angegeben."
 
-#: sequencer.c:683
+#: sequencer.c:972
 #, c-format
 msgid "commit %s does not have parent %d"
 msgstr "Commit %s hat keinen Eltern-Commit %d"
 
-#: sequencer.c:687
+#: sequencer.c:976
 #, c-format
 msgid "mainline was specified but commit %s is not a merge."
 msgstr "Hauptlinie wurde spezifiziert, aber Commit %s ist kein Merge."
 
-#. TRANSLATORS: The first %s will be a "todo" command like
-#. "revert" or "pick", the second %s a SHA1.
-#: sequencer.c:700
-#, c-format
-msgid "%s: cannot parse parent commit %s"
-msgstr "%s: kann Eltern-Commit %s nicht parsen"
-
-#: sequencer.c:705
+#: sequencer.c:982
 #, c-format
 msgid "cannot get commit message for %s"
 msgstr "Kann keine Commit-Beschreibung für %s bekommen."
 
-#: sequencer.c:797
+#. TRANSLATORS: The first %s will be a "todo" command like
+#. "revert" or "pick", the second %s a SHA1.
+#: sequencer.c:1001
+#, c-format
+msgid "%s: cannot parse parent commit %s"
+msgstr "%s: kann Eltern-Commit %s nicht parsen"
+
+#: sequencer.c:1063 sequencer.c:1812
+#, c-format
+msgid "could not rename '%s' to '%s'"
+msgstr "Konnte '%s' nicht zu '%s' umbenennen."
+
+#: sequencer.c:1114
 #, c-format
 msgid "could not revert %s... %s"
 msgstr "Konnte \"revert\" nicht auf %s... (%s) ausführen"
 
-#: sequencer.c:798
+#: sequencer.c:1115
 #, c-format
 msgid "could not apply %s... %s"
 msgstr "Konnte %s... (%s) nicht anwenden"
 
-#: sequencer.c:833
+#: sequencer.c:1157
 msgid "empty commit set passed"
 msgstr "leere Menge von Commits übergeben"
 
-#: sequencer.c:843
+#: sequencer.c:1167
 #, c-format
 msgid "git %s: failed to read the index"
 msgstr "git %s: Fehler beim Lesen des Index"
 
-#: sequencer.c:850
+#: sequencer.c:1174
 #, c-format
 msgid "git %s: failed to refresh the index"
 msgstr "git %s: Fehler beim Aktualisieren des Index"
 
-#: sequencer.c:944
+#: sequencer.c:1294
 #, c-format
 msgid "invalid line %d: %.*s"
 msgstr "Ungültige Zeile %d: %.*s"
 
-#: sequencer.c:950
-msgid "no commits parsed."
-msgstr "Keine Commits geparst."
+#: sequencer.c:1302
+#, c-format
+msgid "cannot '%s' without a previous commit"
+msgstr "Kann '%s' nicht ohne vorherigen Commit ausführen"
 
-#: sequencer.c:966
+#: sequencer.c:1334
 #, c-format
 msgid "could not read '%s'."
 msgstr "Konnte '%s' nicht lesen."
 
-#: sequencer.c:972
+#: sequencer.c:1341
+msgid "please fix this using 'git rebase --edit-todo'."
+msgstr "Bitte beheben Sie dieses, indem Sie 'git rebase --edit-todo' ausführen."
+
+#: sequencer.c:1343
 #, c-format
 msgid "unusable instruction sheet: '%s'"
 msgstr "Unbenutzbares Instruktionsblatt: '%s'"
 
-#: sequencer.c:983
+#: sequencer.c:1348
+msgid "no commits parsed."
+msgstr "Keine Commits geparst."
+
+#: sequencer.c:1359
 msgid "cannot cherry-pick during a revert."
 msgstr "Kann Cherry-Pick nicht während eines Reverts ausführen."
 
-#: sequencer.c:985
+#: sequencer.c:1361
 msgid "cannot revert during a cherry-pick."
 msgstr "Kann Revert nicht während eines Cherry-Picks ausführen."
 
-#: sequencer.c:1028
+#: sequencer.c:1424
 #, c-format
 msgid "invalid key: %s"
 msgstr "Ungültiger Schlüssel: %s"
 
-#: sequencer.c:1031
+#: sequencer.c:1427
 #, c-format
 msgid "invalid value for %s: %s"
 msgstr "Ungültiger Wert für %s: %s"
 
-#: sequencer.c:1063
+#: sequencer.c:1484
 #, c-format
 msgid "malformed options sheet: '%s'"
 msgstr "Fehlerhaftes Optionsblatt: '%s'"
 
-#: sequencer.c:1101
+#: sequencer.c:1522
 msgid "a cherry-pick or revert is already in progress"
 msgstr "\"cherry-pick\" oder \"revert\" ist bereits im Gang"
 
-#: sequencer.c:1102
+#: sequencer.c:1523
 msgid "try \"git cherry-pick (--continue | --quit | --abort)\""
 msgstr "versuchen Sie \"git cherry-pick (--continue | --quit | --abort)\""
 
-#: sequencer.c:1106
+#: sequencer.c:1526
 #, c-format
 msgid "could not create sequencer directory '%s'"
 msgstr "Konnte \"sequencer\"-Verzeichnis '%s' nicht erstellen."
 
-#: sequencer.c:1120
+#: sequencer.c:1540
 msgid "could not lock HEAD"
 msgstr "Konnte HEAD nicht sperren"
 
-#: sequencer.c:1151 sequencer.c:1289
+#: sequencer.c:1596 sequencer.c:2150
 msgid "no cherry-pick or revert in progress"
 msgstr "kein \"cherry-pick\" oder \"revert\" im Gang"
 
-#: sequencer.c:1153
+#: sequencer.c:1598
 msgid "cannot resolve HEAD"
 msgstr "kann HEAD nicht auflösen"
 
-#: sequencer.c:1155 sequencer.c:1189
+#: sequencer.c:1600 sequencer.c:1634
 msgid "cannot abort from a branch yet to be born"
 msgstr "kann nicht abbrechen: bin auf einem Branch, der noch geboren wird"
 
-#: sequencer.c:1175 builtin/grep.c:578
+#: sequencer.c:1620 builtin/grep.c:904
 #, c-format
 msgid "cannot open '%s'"
 msgstr "kann '%s' nicht öffnen"
 
-#: sequencer.c:1177
+#: sequencer.c:1622
 #, c-format
 msgid "cannot read '%s': %s"
 msgstr "Kann '%s' nicht lesen: %s"
 
-#: sequencer.c:1178
+#: sequencer.c:1623
 msgid "unexpected end of file"
 msgstr "Unerwartetes Dateiende"
 
-#: sequencer.c:1184
+#: sequencer.c:1629
 #, c-format
 msgid "stored pre-cherry-pick HEAD file '%s' is corrupt"
 msgstr "gespeicherte \"pre-cherry-pick\" HEAD Datei '%s' ist beschädigt"
 
-#: sequencer.c:1354
+#: sequencer.c:1640
+msgid "You seem to have moved HEAD. Not rewinding, check your HEAD!"
+msgstr "Sie scheinen HEAD verschoben zu haben. Keine Zurücksetzung, prüfen Sie HEAD."
+
+#: sequencer.c:1777 sequencer.c:2049
+msgid "cannot read HEAD"
+msgstr "Kann HEAD nicht lesen"
+
+#: sequencer.c:1817 builtin/difftool.c:574
+#, c-format
+msgid "could not copy '%s' to '%s'"
+msgstr "Konnte '%s' nicht nach '%s' kopieren."
+
+#: sequencer.c:1833
+msgid "could not read index"
+msgstr "Konnte den Index nicht lesen."
+
+#: sequencer.c:1838
+#, c-format
+msgid ""
+"execution failed: %s\n"
+"%sYou can fix the problem, and then run\n"
+"\n"
+"  git rebase --continue\n"
+"\n"
+msgstr ""
+"Ausführung fehlgeschlagen: %s\n"
+"%sSie können das Problem beheben, und dann\n"
+"\n"
+"\tgit rebase --continue\n"
+"\n"
+"ausführen.\n"
+
+#: sequencer.c:1844
+msgid "and made changes to the index and/or the working tree\n"
+msgstr "Der Index und/oder das Arbeitsverzeichnis wurde geändert.\n"
+
+#: sequencer.c:1850
+#, c-format
+msgid ""
+"execution succeeded: %s\n"
+"but left changes to the index and/or the working tree\n"
+"Commit or stash your changes, and then run\n"
+"\n"
+"  git rebase --continue\n"
+"\n"
+msgstr ""
+"Ausführung erfolgreich: %s\n"
+"Aber Änderungen in Index oder Arbeitsverzeichnis verblieben.\n"
+"Committen Sie Ihre Änderungen oder benutzen Sie \"stash\".\n"
+"Führen Sie dann aus:\n"
+"\n"
+"  git rebase --continue\n"
+"\n"
+
+#: sequencer.c:1905 git-rebase.sh:168
+#, c-format
+msgid "Applied autostash."
+msgstr "Automatischen Stash angewendet."
+
+#: sequencer.c:1917
+#, c-format
+msgid "cannot store %s"
+msgstr "kann %s nicht speichern"
+
+#: sequencer.c:1919 git-rebase.sh:172
+#, c-format
+msgid ""
+"Applying autostash resulted in conflicts.\n"
+"Your changes are safe in the stash.\n"
+"You can run \"git stash pop\" or \"git stash drop\" at any time.\n"
+msgstr ""
+"Anwendung des automatischen Stash resultierte in Konflikten.\n"
+"Ihre Änderungen sind im Stash sicher.\n"
+"Sie können jederzeit \"git stash pop\" oder \"git stash drop\" ausführen.\n"
+
+#: sequencer.c:2000
+#, c-format
+msgid "stopped at %s... %.*s"
+msgstr "Angehalten bei %s... %.*s"
+
+#: sequencer.c:2027
+#, c-format
+msgid "unknown command %d"
+msgstr "Unbekannter Befehl %d"
+
+#: sequencer.c:2057
+msgid "could not read orig-head"
+msgstr "Konnte orig-head nicht lesen."
+
+#: sequencer.c:2061
+msgid "could not read 'onto'"
+msgstr "Konnte 'onto' nicht lesen."
+
+#: sequencer.c:2068
+#, c-format
+msgid "could not update %s"
+msgstr "Konnte %s nicht aktualisieren."
+
+#: sequencer.c:2075
+#, c-format
+msgid "could not update HEAD to %s"
+msgstr "Konnte HEAD nicht auf %s aktualisieren."
+
+#: sequencer.c:2159
+msgid "cannot rebase: You have unstaged changes."
+msgstr ""
+"Rebase nicht möglich: Sie haben Änderungen, die nicht zum Commit\n"
+"vorgemerkt sind."
+
+#: sequencer.c:2164
+msgid "could not remove CHERRY_PICK_HEAD"
+msgstr "Konnte CHERRY_PICK_HEAD nicht löschen."
+
+#: sequencer.c:2173
+msgid "cannot amend non-existing commit"
+msgstr "Kann nicht existierenden Commit nicht nachbessern."
+
+#: sequencer.c:2175
+#, c-format
+msgid "invalid file: '%s'"
+msgstr "Ungültige Datei: '%s'"
+
+#: sequencer.c:2177
+#, c-format
+msgid "invalid contents: '%s'"
+msgstr "Ungültige Inhalte: '%s'"
+
+#: sequencer.c:2180
+msgid ""
+"\n"
+"You have uncommitted changes in your working tree. Please, commit them\n"
+"first and then run 'git rebase --continue' again."
+msgstr ""
+"\n"
+"Sie haben nicht committete Änderungen in Ihrem Arbeitsverzeichnis. Bitte\n"
+"committen Sie diese zuerst und führen Sie dann 'git rebase --continue'\n"
+"erneut aus."
+
+#: sequencer.c:2190
+msgid "could not commit staged changes."
+msgstr "Konnte Änderungen aus der Staging-Area nicht committen."
+
+#: sequencer.c:2270
 #, c-format
 msgid "%s: can't cherry-pick a %s"
 msgstr "%s: %s kann nicht in \"cherry-pick\" benutzt werden"
 
-#: sequencer.c:1358
+#: sequencer.c:2274
 #, c-format
 msgid "%s: bad revision"
 msgstr "%s: ungültiger Commit"
 
-#: sequencer.c:1391
+#: sequencer.c:2307
 msgid "can't revert as initial commit"
 msgstr "Kann nicht als allerersten Commit einen Revert ausführen."
 
@@ -2977,29 +3256,29 @@
 "Benutzen Sie '--', um Pfade und Commits zu trennen, ähnlich wie:\n"
 "'git <Befehl> [<Commit>...] -- [<Datei>...]'"
 
-#: setup.c:468
+#: setup.c:470
 #, c-format
 msgid "Expected git repo version <= %d, found %d"
 msgstr "Erwartete Git-Repository-Version <= %d, %d gefunden"
 
-#: setup.c:476
+#: setup.c:478
 msgid "unknown repository extensions found:"
 msgstr "Unbekannte Repository-Erweiterungen gefunden:"
 
-#: setup.c:762
+#: setup.c:768
 #, c-format
 msgid "Not a git repository (or any of the parent directories): %s"
 msgstr "Kein Git-Repository (oder irgendein Elternverzeichnis): %s"
 
-#: setup.c:764 setup.c:915 builtin/index-pack.c:1641
+#: setup.c:770 setup.c:922 builtin/index-pack.c:1643
 msgid "Cannot come back to cwd"
 msgstr "Kann nicht zurück zu Arbeitsverzeichnis wechseln"
 
-#: setup.c:845
+#: setup.c:852
 msgid "Unable to read current working directory"
 msgstr "Konnte aktuelles Arbeitsverzeichnis nicht lesen."
 
-#: setup.c:920
+#: setup.c:927
 #, c-format
 msgid ""
 "Not a git repository (or any parent up to mount point %s)\n"
@@ -3009,12 +3288,12 @@
 "%s)\n"
 "Stoppe bei Dateisystemgrenze (GIT_DISCOVERY_ACROSS_FILESYSTEM nicht gesetzt)."
 
-#: setup.c:927
+#: setup.c:934
 #, c-format
 msgid "Cannot change to '%s/..'"
 msgstr "Kann nicht in Verzeichnis '%s/..' wechseln"
 
-#: setup.c:989
+#: setup.c:996
 #, c-format
 msgid ""
 "Problem with core.sharedRepository filemode value (0%.3o).\n"
@@ -3023,46 +3302,46 @@
 "Problem mit Wert für Dateimodus (0%.3o) von core.sharedRepository.\n"
 "Der Besitzer der Dateien muss immer Lese- und Schreibrechte haben."
 
-#: sha1_file.c:473
+#: sha1_file.c:490
 #, c-format
 msgid "path '%s' does not exist"
 msgstr "Pfad '%s' existiert nicht"
 
-#: sha1_file.c:499
+#: sha1_file.c:516
 #, c-format
 msgid "reference repository '%s' as a linked checkout is not supported yet."
 msgstr ""
 "Referenziertes Repository '%s' wird noch nicht als verknüpftes\n"
 "Arbeitsverzeichnis unterstützt."
 
-#: sha1_file.c:505
+#: sha1_file.c:522
 #, c-format
 msgid "reference repository '%s' is not a local repository."
 msgstr "Referenziertes Repository '%s' ist kein lokales Repository."
 
-#: sha1_file.c:511
+#: sha1_file.c:528
 #, c-format
 msgid "reference repository '%s' is shallow"
 msgstr ""
 "Referenziertes Repository '%s' hat eine unvollständige Historie (shallow)."
 
-#: sha1_file.c:519
+#: sha1_file.c:536
 #, c-format
 msgid "reference repository '%s' is grafted"
 msgstr ""
 "Referenziertes Repository '%s' ist mit künstlichen Vorgängern (\"grafts\") "
 "eingehängt."
 
-#: sha1_file.c:1159
+#: sha1_file.c:1176
 msgid "offset before end of packfile (broken .idx?)"
 msgstr "Offset vor Ende der Packdatei (fehlerhafte Indexdatei?)"
 
-#: sha1_file.c:2592
+#: sha1_file.c:2637
 #, c-format
 msgid "offset before start of pack index for %s (corrupt index?)"
 msgstr "Offset vor Beginn des Pack-Index für %s (beschädigter Index?)"
 
-#: sha1_file.c:2596
+#: sha1_file.c:2641
 #, c-format
 msgid "offset beyond end of pack index for %s (truncated index?)"
 msgstr "Offset hinter Ende des Pack-Index für %s (abgeschnittener Index?)"
@@ -3101,90 +3380,135 @@
 "indem Sie \"git config advice.objectNameWarning false\"\n"
 "ausführen."
 
-#: submodule.c:64 submodule.c:98
+#: submodule.c:65 submodule.c:99
 msgid "Cannot change unmerged .gitmodules, resolve merge conflicts first"
 msgstr ""
 "Kann nicht zusammengeführte .gitmodules-Datei nicht ändern, lösen\n"
 "Sie zuerst die Konflikte auf"
 
-#: submodule.c:68 submodule.c:102
+#: submodule.c:69 submodule.c:103
 #, c-format
 msgid "Could not find section in .gitmodules where path=%s"
 msgstr "Konnte keine Sektion in .gitmodules mit Pfad \"%s\" finden"
 
-#: submodule.c:76
+#: submodule.c:77
 #, c-format
 msgid "Could not update .gitmodules entry %s"
 msgstr "Konnte Eintrag '%s' in .gitmodules nicht aktualisieren"
 
-#: submodule.c:109
+#: submodule.c:110
 #, c-format
 msgid "Could not remove .gitmodules entry for %s"
 msgstr "Konnte Eintrag '%s' nicht aus .gitmodules entfernen"
 
-#: submodule.c:120
+#: submodule.c:121
 msgid "staging updated .gitmodules failed"
 msgstr "Konnte aktualisierte .gitmodules-Datei nicht zum Commit vormerken"
 
-#: submodule.c:158
+#: submodule.c:159
 msgid "negative values not allowed for submodule.fetchJobs"
 msgstr "Negative Werte für submodule.fetchJobs nicht erlaubt"
 
-#: submodule-config.c:358
+#: submodule.c:1184
+#, c-format
+msgid "could not start 'git status in submodule '%s'"
+msgstr "Konnte 'git status' in Submodul '%s' nicht starten."
+
+#: submodule.c:1197
+#, c-format
+msgid "could not run 'git status in submodule '%s'"
+msgstr "konnte 'git status' in Submodul '%s' nicht ausführen"
+
+#: submodule.c:1398
+#, c-format
+msgid ""
+"relocate_gitdir for submodule '%s' with more than one worktree not supported"
+msgstr ""
+"relocate_gitdir für Submodul '%s' mit mehr als einem Arbeitsverzeichnis\n"
+"wird nicht unterstützt"
+
+#: submodule.c:1410 submodule.c:1471
+#, c-format
+msgid "could not lookup name for submodule '%s'"
+msgstr "konnte Name für Submodul '%s' nicht nachschlagen"
+
+#: submodule.c:1414 submodule.c:1474 builtin/submodule--helper.c:640
+#: builtin/submodule--helper.c:650
+#, c-format
+msgid "could not create directory '%s'"
+msgstr "Konnte Verzeichnis '%s' nicht erstellen."
+
+#: submodule.c:1420
+#, c-format
+msgid ""
+"Migrating git directory of '%s%s' from\n"
+"'%s' to\n"
+"'%s'\n"
+msgstr ""
+"Migriere Git-Verzeichnis von '%s%s' von\n"
+"'%s' nach\n"
+"'%s'\n"
+
+#: submodule.c:1512
+#, c-format
+msgid "could not recurse into submodule '%s'"
+msgstr "Fehler bei Rekursion in Submodul-Pfad '%s'"
+
+#: submodule-config.c:360
 #, c-format
 msgid "invalid value for %s"
 msgstr "Ungültiger Wert für %s"
 
-#: trailer.c:238
+#: trailer.c:240
 #, c-format
 msgid "running trailer command '%s' failed"
 msgstr "Ausführen des Anhang-Befehls '%s' fehlgeschlagen"
 
-#: trailer.c:471 trailer.c:475 trailer.c:479 trailer.c:533 trailer.c:537
-#: trailer.c:541
+#: trailer.c:473 trailer.c:477 trailer.c:481 trailer.c:535 trailer.c:539
+#: trailer.c:543
 #, c-format
 msgid "unknown value '%s' for key '%s'"
 msgstr "unbekannter Wert '%s' für Schlüssel %s"
 
-#: trailer.c:523 trailer.c:528 builtin/remote.c:289
+#: trailer.c:525 trailer.c:530 builtin/remote.c:289
 #, c-format
 msgid "more than one %s"
 msgstr "mehr als ein %s"
 
-#: trailer.c:672
+#: trailer.c:702
 #, c-format
 msgid "empty trailer token in trailer '%.*s'"
 msgstr "leerer Anhang-Token in Anhang '%.*s'"
 
-#: trailer.c:695
+#: trailer.c:722
 #, c-format
 msgid "could not read input file '%s'"
 msgstr "Konnte Eingabe-Datei '%s' nicht lesen"
 
-#: trailer.c:698
+#: trailer.c:725
 msgid "could not read from stdin"
 msgstr "konnte nicht von der Standard-Eingabe lesen"
 
-#: trailer.c:929 builtin/am.c:44
+#: trailer.c:949 builtin/am.c:44
 #, c-format
 msgid "could not stat %s"
 msgstr "Konnte '%s' nicht lesen"
 
-#: trailer.c:931
+#: trailer.c:951
 #, c-format
 msgid "file %s is not a regular file"
 msgstr "Datei '%s' ist keine reguläre Datei"
 
-#: trailer.c:933
+#: trailer.c:953
 #, c-format
 msgid "file %s is not writable by user"
 msgstr "Datei %s ist vom Benutzer nicht beschreibbar."
 
-#: trailer.c:945
+#: trailer.c:965
 msgid "could not open temporary file"
 msgstr "konnte temporäre Datei '%s' nicht öffnen"
 
-#: trailer.c:983
+#: trailer.c:1001
 #, c-format
 msgid "could not rename temporary file to %s"
 msgstr "konnte temporäre Datei nicht zu %s umbenennen"
@@ -3199,7 +3523,7 @@
 msgid "transport: invalid depth option '%s'"
 msgstr "transport: ungültige --depth Option '%s'"
 
-#: transport.c:817
+#: transport.c:885
 #, c-format
 msgid ""
 "The following submodule paths contain changes that can\n"
@@ -3208,7 +3532,7 @@
 "Die folgenden Submodul-Pfade enthalten Änderungen, die in keinem\n"
 "Remote-Repository gefunden wurden:\n"
 
-#: transport.c:821
+#: transport.c:889
 #, c-format
 msgid ""
 "\n"
@@ -3235,11 +3559,11 @@
 "zum Versenden zu einem Remote-Repository.\n"
 "\n"
 
-#: transport.c:829
+#: transport.c:897
 msgid "Aborting."
 msgstr "Abbruch."
 
-#: transport-helper.c:1075
+#: transport-helper.c:1082
 #, c-format
 msgid "Could not read ref %s"
 msgstr "Konnte Referenz %s nicht lesen."
@@ -3260,7 +3584,7 @@
 msgid "too-short tree file"
 msgstr "zu kurze Tree-Datei"
 
-#: unpack-trees.c:64
+#: unpack-trees.c:99
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by checkout:\n"
@@ -3271,7 +3595,7 @@
 "%%sBitte committen oder stashen Sie Ihre Änderungen, bevor Sie Branches\n"
 "wechseln."
 
-#: unpack-trees.c:66
+#: unpack-trees.c:101
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by checkout:\n"
@@ -3281,7 +3605,7 @@
 "überschrieben werden:\n"
 "%%s"
 
-#: unpack-trees.c:69
+#: unpack-trees.c:104
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by merge:\n"
@@ -3291,7 +3615,7 @@
 "überschrieben werden:\n"
 "%%sBitte committen oder stashen Sie Ihre Änderungen, bevor sie mergen."
 
-#: unpack-trees.c:71
+#: unpack-trees.c:106
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by merge:\n"
@@ -3301,7 +3625,7 @@
 "überschrieben werden:\n"
 "%%s"
 
-#: unpack-trees.c:74
+#: unpack-trees.c:109
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by %s:\n"
@@ -3311,7 +3635,7 @@
 "überschrieben werden:\n"
 "%%sBitte committen oder stashen Sie Ihre Änderungen, bevor Sie %s ausführen."
 
-#: unpack-trees.c:76
+#: unpack-trees.c:111
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by %s:\n"
@@ -3320,17 +3644,17 @@
 "Ihre lokalen Änderungen würden durch %s überschrieben werden.\n"
 "%%s"
 
-#: unpack-trees.c:81
+#: unpack-trees.c:116
 #, c-format
 msgid ""
-"Updating the following directories would lose untracked files in it:\n"
+"Updating the following directories would lose untracked files in them:\n"
 "%s"
 msgstr ""
 "Durch die Aktualisierung der folgenden Verzeichnisse würden unversionierte\n"
 "Dateien in diesen Verzeichnissen verloren gehen:\n"
 "%s"
 
-#: unpack-trees.c:85
+#: unpack-trees.c:120
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by checkout:\n"
@@ -3340,7 +3664,7 @@
 "den Checkout entfernt werden:\n"
 "%%sBitte verschieben oder entfernen Sie diese, bevor Sie Branches wechseln."
 
-#: unpack-trees.c:87
+#: unpack-trees.c:122
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by checkout:\n"
@@ -3351,7 +3675,7 @@
 "Checkout entfernt werden:\n"
 "%%s"
 
-#: unpack-trees.c:90
+#: unpack-trees.c:125
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by merge:\n"
@@ -3361,7 +3685,7 @@
 "den Merge entfernt werden:\n"
 "%%sBitte verschieben oder entfernen Sie diese, bevor sie mergen."
 
-#: unpack-trees.c:92
+#: unpack-trees.c:127
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by merge:\n"
@@ -3372,7 +3696,7 @@
 "Merge entfernt werden:\n"
 "%%s"
 
-#: unpack-trees.c:95
+#: unpack-trees.c:130
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by %s:\n"
@@ -3382,7 +3706,7 @@
 "den %s entfernt werden:\n"
 "%%sBitte verschieben oder entfernen Sie diese, bevor sie %s ausführen."
 
-#: unpack-trees.c:97
+#: unpack-trees.c:132
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by %s:\n"
@@ -3392,7 +3716,7 @@
 "den %s entfernt werden:\n"
 "%%s"
 
-#: unpack-trees.c:102
+#: unpack-trees.c:137
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by "
@@ -3403,7 +3727,7 @@
 "den Checkout überschrieben werden:\n"
 "%%sBitte verschieben oder entfernen Sie diese, bevor Sie Branches wechseln."
 
-#: unpack-trees.c:104
+#: unpack-trees.c:139
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by "
@@ -3415,7 +3739,7 @@
 "Checkout überschrieben werden:\n"
 "%%s"
 
-#: unpack-trees.c:107
+#: unpack-trees.c:142
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by merge:\n"
@@ -3425,7 +3749,7 @@
 "den Merge überschrieben werden:\n"
 "%%sBitte verschieben oder entfernen Sie diese, bevor Sie mergen."
 
-#: unpack-trees.c:109
+#: unpack-trees.c:144
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by merge:\n"
@@ -3435,7 +3759,7 @@
 "den Merge überschrieben werden:\n"
 "%%s"
 
-#: unpack-trees.c:112
+#: unpack-trees.c:147
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by %s:\n"
@@ -3445,7 +3769,7 @@
 "den %s überschrieben werden:\n"
 "%%sBitte verschieben oder entfernen Sie diese, bevor sie %s ausführen."
 
-#: unpack-trees.c:114
+#: unpack-trees.c:149
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by %s:\n"
@@ -3456,12 +3780,12 @@
 "%s überschrieben werden:\n"
 "%%s"
 
-#: unpack-trees.c:121
+#: unpack-trees.c:156
 #, c-format
 msgid "Entry '%s' overlaps with '%s'.  Cannot bind."
 msgstr "Eintrag '%s' überschneidet sich mit '%s'. Kann nicht verbinden."
 
-#: unpack-trees.c:124
+#: unpack-trees.c:159
 #, c-format
 msgid ""
 "Cannot update sparse checkout: the following entries are not up-to-date:\n"
@@ -3472,7 +3796,7 @@
 "aktuell:\n"
 "%s"
 
-#: unpack-trees.c:126
+#: unpack-trees.c:161
 #, c-format
 msgid ""
 "The following working tree files would be overwritten by sparse checkout "
@@ -3483,7 +3807,7 @@
 "über einen partiellen Checkout überschrieben werden:\n"
 "%s"
 
-#: unpack-trees.c:128
+#: unpack-trees.c:163
 #, c-format
 msgid ""
 "The following working tree files would be removed by sparse checkout "
@@ -3494,12 +3818,12 @@
 "über einen partiellen Checkout entfernt werden:\n"
 "%s"
 
-#: unpack-trees.c:205
+#: unpack-trees.c:240
 #, c-format
 msgid "Aborting\n"
 msgstr "Abbruch\n"
 
-#: unpack-trees.c:237
+#: unpack-trees.c:270
 msgid "Checking out files"
 msgstr "Checke Dateien aus"
 
@@ -3548,7 +3872,7 @@
 msgstr "Konnte '%s' nicht zum Schreiben öffnen."
 
 #: wrapper.c:226 wrapper.c:396 builtin/am.c:320 builtin/am.c:759
-#: builtin/am.c:847 builtin/commit.c:1705 builtin/merge.c:1029
+#: builtin/am.c:847 builtin/commit.c:1700 builtin/merge.c:1033
 #: builtin/pull.c:341
 #, c-format
 msgid "could not open '%s' for reading"
@@ -3777,67 +4101,71 @@
 "  (benutzen Sie \"git am --abort\", um den ursprünglichen Branch "
 "wiederherzustellen)"
 
-#: wt-status.c:1172
+#: wt-status.c:1176
+msgid "git-rebase-todo is missing."
+msgstr "git-rebase-todo fehlt."
+
+#: wt-status.c:1178
 msgid "No commands done."
 msgstr "Keine Befehle ausgeführt."
 
-#: wt-status.c:1175
+#: wt-status.c:1181
 #, c-format
 msgid "Last command done (%d command done):"
 msgid_plural "Last commands done (%d commands done):"
 msgstr[0] "Zuletzt ausgeführter Befehl (%d Befehl ausgeführt):"
 msgstr[1] "Zuletzt ausgeführte Befehle (%d Befehle ausgeführt):"
 
-#: wt-status.c:1186
+#: wt-status.c:1192
 #, c-format
 msgid "  (see more in file %s)"
 msgstr "  (mehr Informationen in Datei %s)"
 
-#: wt-status.c:1191
+#: wt-status.c:1197
 msgid "No commands remaining."
 msgstr "Keine Befehle verbleibend."
 
-#: wt-status.c:1194
+#: wt-status.c:1200
 #, c-format
 msgid "Next command to do (%d remaining command):"
 msgid_plural "Next commands to do (%d remaining commands):"
 msgstr[0] "Nächster auszuführender Befehl (%d Befehle verbleibend):"
 msgstr[1] "Nächste auszuführende Befehle (%d Befehle verbleibend):"
 
-#: wt-status.c:1202
+#: wt-status.c:1208
 msgid "  (use \"git rebase --edit-todo\" to view and edit)"
 msgstr "  (benutzen Sie \"git rebase --edit-todo\" zum Ansehen und Bearbeiten)"
 
-#: wt-status.c:1215
+#: wt-status.c:1221
 #, c-format
 msgid "You are currently rebasing branch '%s' on '%s'."
 msgstr "Sie sind gerade beim Rebase von Branch '%s' auf '%s'."
 
-#: wt-status.c:1220
+#: wt-status.c:1226
 msgid "You are currently rebasing."
 msgstr "Sie sind gerade beim Rebase."
 
-#: wt-status.c:1234
+#: wt-status.c:1240
 msgid "  (fix conflicts and then run \"git rebase --continue\")"
 msgstr ""
 "  (beheben Sie die Konflikte und führen Sie dann \"git rebase --continue\" "
 "aus)"
 
-#: wt-status.c:1236
+#: wt-status.c:1242
 msgid "  (use \"git rebase --skip\" to skip this patch)"
 msgstr "  (benutzen Sie \"git rebase --skip\", um diesen Patch auszulassen)"
 
-#: wt-status.c:1238
+#: wt-status.c:1244
 msgid "  (use \"git rebase --abort\" to check out the original branch)"
 msgstr ""
 "  (benutzen Sie \"git rebase --abort\", um den ursprünglichen Branch "
 "auszuchecken)"
 
-#: wt-status.c:1244
+#: wt-status.c:1250
 msgid "  (all conflicts fixed: run \"git rebase --continue\")"
 msgstr "  (alle Konflikte behoben: führen Sie \"git rebase --continue\" aus)"
 
-#: wt-status.c:1248
+#: wt-status.c:1254
 #, c-format
 msgid ""
 "You are currently splitting a commit while rebasing branch '%s' on '%s'."
@@ -3845,134 +4173,134 @@
 "Sie teilen gerade einen Commit auf, während ein Rebase von Branch '%s' auf "
 "'%s' im Gange ist."
 
-#: wt-status.c:1253
+#: wt-status.c:1259
 msgid "You are currently splitting a commit during a rebase."
 msgstr "Sie teilen gerade einen Commit während eines Rebase auf."
 
-#: wt-status.c:1256
+#: wt-status.c:1262
 msgid "  (Once your working directory is clean, run \"git rebase --continue\")"
 msgstr ""
 "  (Sobald Ihr Arbeitsverzeichnis unverändert ist, führen Sie \"git rebase --"
 "continue\" aus)"
 
-#: wt-status.c:1260
+#: wt-status.c:1266
 #, c-format
 msgid "You are currently editing a commit while rebasing branch '%s' on '%s'."
 msgstr ""
 "Sie editieren gerade einen Commit während eines Rebase von Branch '%s' auf "
 "'%s'."
 
-#: wt-status.c:1265
+#: wt-status.c:1271
 msgid "You are currently editing a commit during a rebase."
 msgstr "Sie editieren gerade einen Commit während eines Rebase."
 
-#: wt-status.c:1268
+#: wt-status.c:1274
 msgid "  (use \"git commit --amend\" to amend the current commit)"
 msgstr ""
 "  (benutzen Sie \"git commit --amend\", um den aktuellen Commit "
 "nachzubessern)"
 
-#: wt-status.c:1270
+#: wt-status.c:1276
 msgid ""
 "  (use \"git rebase --continue\" once you are satisfied with your changes)"
 msgstr ""
 "  (benutzen Sie \"git rebase --continue\" sobald Ihre Änderungen "
 "abgeschlossen sind)"
 
-#: wt-status.c:1280
+#: wt-status.c:1286
 #, c-format
 msgid "You are currently cherry-picking commit %s."
 msgstr "Sie führen gerade \"cherry-pick\" von Commit %s aus."
 
-#: wt-status.c:1285
+#: wt-status.c:1291
 msgid "  (fix conflicts and run \"git cherry-pick --continue\")"
 msgstr ""
 "  (beheben Sie die Konflikte und führen Sie dann \"git cherry-pick --continue"
 "\" aus)"
 
-#: wt-status.c:1288
+#: wt-status.c:1294
 msgid "  (all conflicts fixed: run \"git cherry-pick --continue\")"
 msgstr ""
 "  (alle Konflikte behoben: führen Sie \"git cherry-pick --continue\" aus)"
 
-#: wt-status.c:1290
+#: wt-status.c:1296
 msgid "  (use \"git cherry-pick --abort\" to cancel the cherry-pick operation)"
 msgstr ""
 "  (benutzen Sie \"git cherry-pick --abort\", um die Cherry-Pick-Operation "
 "abzubrechen)"
 
-#: wt-status.c:1299
+#: wt-status.c:1305
 #, c-format
 msgid "You are currently reverting commit %s."
 msgstr "Sie sind gerade an einem Revert von Commit '%s'."
 
-#: wt-status.c:1304
+#: wt-status.c:1310
 msgid "  (fix conflicts and run \"git revert --continue\")"
 msgstr ""
 "  (beheben Sie die Konflikte und führen Sie dann \"git revert --continue\" "
 "aus)"
 
-#: wt-status.c:1307
+#: wt-status.c:1313
 msgid "  (all conflicts fixed: run \"git revert --continue\")"
 msgstr "  (alle Konflikte behoben: führen Sie \"git revert --continue\" aus)"
 
-#: wt-status.c:1309
+#: wt-status.c:1315
 msgid "  (use \"git revert --abort\" to cancel the revert operation)"
 msgstr ""
 "  (benutzen Sie \"git revert --abort\", um die Revert-Operation abzubrechen)"
 
-#: wt-status.c:1320
+#: wt-status.c:1326
 #, c-format
 msgid "You are currently bisecting, started from branch '%s'."
 msgstr "Sie sind gerade bei einer binären Suche, gestartet von Branch '%s'."
 
-#: wt-status.c:1324
+#: wt-status.c:1330
 msgid "You are currently bisecting."
 msgstr "Sie sind gerade bei einer binären Suche."
 
-#: wt-status.c:1327
+#: wt-status.c:1333
 msgid "  (use \"git bisect reset\" to get back to the original branch)"
 msgstr ""
 "  (benutzen Sie \"git bisect reset\", um zum ursprünglichen Branch "
 "zurückzukehren)"
 
-#: wt-status.c:1524
+#: wt-status.c:1530
 msgid "On branch "
 msgstr "Auf Branch "
 
-#: wt-status.c:1530
+#: wt-status.c:1536
 msgid "interactive rebase in progress; onto "
 msgstr "interaktives Rebase im Gange; auf "
 
-#: wt-status.c:1532
+#: wt-status.c:1538
 msgid "rebase in progress; onto "
 msgstr "Rebase im Gange; auf "
 
-#: wt-status.c:1537
+#: wt-status.c:1543
 msgid "HEAD detached at "
 msgstr "HEAD losgelöst bei "
 
-#: wt-status.c:1539
+#: wt-status.c:1545
 msgid "HEAD detached from "
 msgstr "HEAD losgelöst von "
 
-#: wt-status.c:1542
+#: wt-status.c:1548
 msgid "Not currently on any branch."
 msgstr "Im Moment auf keinem Branch."
 
-#: wt-status.c:1560
+#: wt-status.c:1566
 msgid "Initial commit"
 msgstr "Initialer Commit"
 
-#: wt-status.c:1574
+#: wt-status.c:1580
 msgid "Untracked files"
 msgstr "Unversionierte Dateien"
 
-#: wt-status.c:1576
+#: wt-status.c:1582
 msgid "Ignored files"
 msgstr "Ignorierte Dateien"
 
-#: wt-status.c:1580
+#: wt-status.c:1586
 #, c-format
 msgid ""
 "It took %.2f seconds to enumerate untracked files. 'status -uno'\n"
@@ -3983,103 +4311,103 @@
 "'status -uno' könnte das beschleunigen, aber Sie müssen darauf achten,\n"
 "neue Dateien selbstständig hinzuzufügen (siehe 'git help status')."
 
-#: wt-status.c:1586
+#: wt-status.c:1592
 #, c-format
 msgid "Untracked files not listed%s"
 msgstr "Unversionierte Dateien nicht aufgelistet%s"
 
-#: wt-status.c:1588
+#: wt-status.c:1594
 msgid " (use -u option to show untracked files)"
 msgstr " (benutzen Sie die Option -u, um unversionierte Dateien anzuzeigen)"
 
-#: wt-status.c:1594
+#: wt-status.c:1600
 msgid "No changes"
 msgstr "Keine Änderungen"
 
-#: wt-status.c:1599
+#: wt-status.c:1605
 #, c-format
 msgid "no changes added to commit (use \"git add\" and/or \"git commit -a\")\n"
 msgstr ""
 "keine Änderungen zum Commit vorgemerkt (benutzen Sie \"git add\" und/oder "
 "\"git commit -a\")\n"
 
-#: wt-status.c:1602
+#: wt-status.c:1608
 #, c-format
 msgid "no changes added to commit\n"
 msgstr "keine Änderungen zum Commit vorgemerkt\n"
 
-#: wt-status.c:1605
+#: wt-status.c:1611
 #, c-format
 msgid ""
 "nothing added to commit but untracked files present (use \"git add\" to "
 "track)\n"
 msgstr ""
-"nichts zum Commit vorgemerkt, aber es gibt unversionierte Dateien (benutzen "
-"Sie \"git add\" zum Versionieren)\n"
+"nichts zum Commit vorgemerkt, aber es gibt unversionierte Dateien\n"
+"(benutzen Sie \"git add\" zum Versionieren)\n"
 
-#: wt-status.c:1608
+#: wt-status.c:1614
 #, c-format
 msgid "nothing added to commit but untracked files present\n"
 msgstr "nichts zum Commit vorgemerkt, aber es gibt unversionierte Dateien\n"
 
-#: wt-status.c:1611
+#: wt-status.c:1617
 #, c-format
 msgid "nothing to commit (create/copy files and use \"git add\" to track)\n"
 msgstr ""
-"nichts zu committen (Erstellen/Kopieren Sie Dateien und benutzen Sie \"git "
-"add\" zum Versionieren)\n"
+"nichts zu committen (Erstellen/Kopieren Sie Dateien und benutzen\n"
+"Sie \"git add\" zum Versionieren)\n"
 
-#: wt-status.c:1614 wt-status.c:1619
+#: wt-status.c:1620 wt-status.c:1625
 #, c-format
 msgid "nothing to commit\n"
 msgstr "nichts zu committen\n"
 
-#: wt-status.c:1617
+#: wt-status.c:1623
 #, c-format
 msgid "nothing to commit (use -u to show untracked files)\n"
-msgstr ""
-"nichts zu committen (benutzen Sie die Option -u, um unversionierte Dateien "
-"anzuzeigen)\n"
+msgstr "nichts zu committen (benutzen Sie die Option -u, um unversionierte Dateien anzuzeigen)\n"
 
-#: wt-status.c:1621
+#: wt-status.c:1627
 #, c-format
 msgid "nothing to commit, working tree clean\n"
 msgstr "nichts zu committen, Arbeitsverzeichnis unverändert\n"
 
-#: wt-status.c:1728
+#: wt-status.c:1734
 msgid "Initial commit on "
 msgstr "Initialer Commit auf "
 
-#: wt-status.c:1732
+#: wt-status.c:1738
 msgid "HEAD (no branch)"
 msgstr "HEAD (kein Branch)"
 
-#: wt-status.c:1761
+#: wt-status.c:1767
 msgid "gone"
 msgstr "entfernt"
 
-#: wt-status.c:1763 wt-status.c:1771
+#: wt-status.c:1769 wt-status.c:1777
 msgid "behind "
 msgstr "hinterher "
 
-#: wt-status.c:1766 wt-status.c:1769
+#: wt-status.c:1772 wt-status.c:1775
 msgid "ahead "
 msgstr "voraus "
 
 #. TRANSLATORS: the action is e.g. "pull with rebase"
-#: wt-status.c:2270
+#: wt-status.c:2277
 #, c-format
 msgid "cannot %s: You have unstaged changes."
-msgstr "%s nicht möglich: Sie haben Änderungen, die nicht zum Commit vorgemerkt sind."
+msgstr ""
+"%s nicht möglich: Sie haben Änderungen, die nicht zum Commit vorgemerkt sind."
 
-#: wt-status.c:2276
+#: wt-status.c:2283
 msgid "additionally, your index contains uncommitted changes."
 msgstr "Zusätzlich enthält die Staging-Area nicht committete Änderungen."
 
-#: wt-status.c:2278
+#: wt-status.c:2285
 #, c-format
 msgid "cannot %s: Your index contains uncommitted changes."
-msgstr "%s nicht möglich: Die Staging-Area enthält nicht committete Änderungen."
+msgstr ""
+"%s nicht möglich: Die Staging-Area enthält nicht committete Änderungen."
 
 #: compat/precompose_utf8.c:57 builtin/clone.c:414
 #, c-format
@@ -4109,7 +4437,7 @@
 msgstr ""
 "Nicht zum Commit vorgemerkte Änderungen nach Aktualisierung der Staging-Area:"
 
-#: builtin/add.c:209 builtin/rev-parse.c:840
+#: builtin/add.c:209 builtin/rev-parse.c:845
 msgid "Could not read the index"
 msgstr "Konnte den Index nicht lesen"
 
@@ -4146,9 +4474,9 @@
 "Die folgenden Pfade werden durch eine Ihrer \".gitignore\" Dateien "
 "ignoriert:\n"
 
-#: builtin/add.c:266 builtin/clean.c:870 builtin/fetch.c:115 builtin/mv.c:111
-#: builtin/prune-packed.c:55 builtin/pull.c:198 builtin/push.c:521
-#: builtin/remote.c:1326 builtin/rm.c:268 builtin/send-pack.c:162
+#: builtin/add.c:266 builtin/clean.c:870 builtin/fetch.c:115 builtin/mv.c:123
+#: builtin/prune-packed.c:55 builtin/pull.c:198 builtin/push.c:524
+#: builtin/remote.c:1326 builtin/rm.c:241 builtin/send-pack.c:162
 msgid "dry run"
 msgstr "Probelauf"
 
@@ -4156,7 +4484,7 @@
 msgid "interactive picking"
 msgstr "interaktives Auswählen"
 
-#: builtin/add.c:270 builtin/checkout.c:1156 builtin/reset.c:286
+#: builtin/add.c:270 builtin/checkout.c:1159 builtin/reset.c:286
 msgid "select hunks interactively"
 msgstr "Blöcke interaktiv auswählen"
 
@@ -4242,7 +4570,7 @@
 
 #: builtin/add.c:380 builtin/check-ignore.c:172 builtin/checkout.c:279
 #: builtin/checkout.c:472 builtin/clean.c:914 builtin/commit.c:350
-#: builtin/mv.c:131 builtin/reset.c:235 builtin/rm.c:298
+#: builtin/mv.c:143 builtin/reset.c:235 builtin/rm.c:271
 #: builtin/submodule--helper.c:244
 msgid "index file corrupt"
 msgstr "Index-Datei beschädigt"
@@ -4370,7 +4698,7 @@
 msgid "Failed to merge in the changes."
 msgstr "Merge der Änderungen fehlgeschlagen."
 
-#: builtin/am.c:1686 builtin/merge.c:628
+#: builtin/am.c:1686 builtin/merge.c:632
 msgid "git write-tree failed to write a tree"
 msgstr "\"git write-tree\" schlug beim Schreiben eines \"Tree\"-Objektes fehl"
 
@@ -4378,8 +4706,8 @@
 msgid "applying to an empty history"
 msgstr "auf leere Historie anwenden"
 
-#: builtin/am.c:1706 builtin/commit.c:1769 builtin/merge.c:798
-#: builtin/merge.c:823
+#: builtin/am.c:1706 builtin/commit.c:1764 builtin/merge.c:802
+#: builtin/merge.c:827
 msgid "failed to write commit object"
 msgstr "Fehler beim Schreiben des Commit-Objektes."
 
@@ -4493,7 +4821,7 @@
 msgstr "erlaube, falls notwendig, das Zurückfallen auf einen 3-Wege-Merge"
 
 #: builtin/am.c:2245 builtin/init-db.c:483 builtin/prune-packed.c:57
-#: builtin/repack.c:172
+#: builtin/repack.c:178
 msgid "be quiet"
 msgstr "weniger Ausgaben"
 
@@ -4536,15 +4864,15 @@
 msgstr "an git-apply übergeben"
 
 #: builtin/am.c:2283 builtin/fmt-merge-msg.c:662 builtin/fmt-merge-msg.c:665
-#: builtin/grep.c:707 builtin/merge.c:200 builtin/pull.c:135 builtin/pull.c:194
-#: builtin/repack.c:181 builtin/repack.c:185 builtin/show-branch.c:644
-#: builtin/show-ref.c:175 builtin/tag.c:340 parse-options.h:132
-#: parse-options.h:134 parse-options.h:245
+#: builtin/grep.c:1038 builtin/merge.c:202 builtin/pull.c:135
+#: builtin/pull.c:194 builtin/repack.c:187 builtin/repack.c:191
+#: builtin/show-branch.c:644 builtin/show-ref.c:169 builtin/tag.c:355
+#: parse-options.h:132 parse-options.h:134 parse-options.h:245
 msgid "n"
 msgstr "Anzahl"
 
 #: builtin/am.c:2289 builtin/for-each-ref.c:37 builtin/replace.c:438
-#: builtin/tag.c:372
+#: builtin/tag.c:387 builtin/verify-tag.c:38
 msgid "format"
 msgstr "Format"
 
@@ -4581,8 +4909,8 @@
 msgid "use current timestamp for author date"
 msgstr "aktuellen Zeitstempel als Autor-Datum verwenden"
 
-#: builtin/am.c:2315 builtin/commit.c:1605 builtin/merge.c:229
-#: builtin/pull.c:165 builtin/revert.c:92 builtin/tag.c:355
+#: builtin/am.c:2315 builtin/commit.c:1600 builtin/merge.c:233
+#: builtin/pull.c:165 builtin/revert.c:92 builtin/tag.c:370
 msgid "key-id"
 msgstr "GPG-Schlüsselkennung"
 
@@ -4683,122 +5011,116 @@
 msgid "<rev-opts> are documented in git-rev-list(1)"
 msgstr "<rev-opts> sind dokumentiert in git-rev-list(1)"
 
-#: builtin/blame.c:1781
+#: builtin/blame.c:1786
 msgid "Blaming lines"
 msgstr "Verarbeite Zeilen"
 
-#: builtin/blame.c:2577
+#: builtin/blame.c:2582
 msgid "Show blame entries as we find them, incrementally"
 msgstr "\"blame\"-Einträge schrittweise anzeigen, während wir sie generieren"
 
-#: builtin/blame.c:2578
+#: builtin/blame.c:2583
 msgid "Show blank SHA-1 for boundary commits (Default: off)"
 msgstr "leere SHA-1 für Grenz-Commits anzeigen (Standard: aus)"
 
-#: builtin/blame.c:2579
+#: builtin/blame.c:2584
 msgid "Do not treat root commits as boundaries (Default: off)"
 msgstr "Ursprungs-Commit nicht als Grenzen behandeln (Standard: aus)"
 
-#: builtin/blame.c:2580
+#: builtin/blame.c:2585
 msgid "Show work cost statistics"
 msgstr "Statistiken zum Arbeitsaufwand anzeigen"
 
-#: builtin/blame.c:2581
+#: builtin/blame.c:2586
 msgid "Force progress reporting"
 msgstr "Fortschrittsanzeige erzwingen"
 
-#: builtin/blame.c:2582
+#: builtin/blame.c:2587
 msgid "Show output score for blame entries"
 msgstr "Ausgabebewertung für \"blame\"-Einträge anzeigen"
 
-#: builtin/blame.c:2583
+#: builtin/blame.c:2588
 msgid "Show original filename (Default: auto)"
 msgstr "ursprünglichen Dateinamen anzeigen (Standard: auto)"
 
-#: builtin/blame.c:2584
+#: builtin/blame.c:2589
 msgid "Show original linenumber (Default: off)"
 msgstr "ursprüngliche Zeilennummer anzeigen (Standard: aus)"
 
-#: builtin/blame.c:2585
+#: builtin/blame.c:2590
 msgid "Show in a format designed for machine consumption"
 msgstr "Anzeige in einem Format für maschinelle Auswertung"
 
-#: builtin/blame.c:2586
+#: builtin/blame.c:2591
 msgid "Show porcelain format with per-line commit information"
 msgstr ""
 "Anzeige in Format für Fremdprogramme mit Commit-Informationen pro Zeile"
 
-#: builtin/blame.c:2587
+#: builtin/blame.c:2592
 msgid "Use the same output mode as git-annotate (Default: off)"
 msgstr ""
 "Den gleichen Ausgabemodus benutzen wie \"git-annotate\" (Standard: aus)"
 
-#: builtin/blame.c:2588
+#: builtin/blame.c:2593
 msgid "Show raw timestamp (Default: off)"
 msgstr "Unbearbeiteten Zeitstempel anzeigen (Standard: aus)"
 
-#: builtin/blame.c:2589
+#: builtin/blame.c:2594
 msgid "Show long commit SHA1 (Default: off)"
 msgstr "Langen Commit-SHA1 anzeigen (Standard: aus)"
 
-#: builtin/blame.c:2590
+#: builtin/blame.c:2595
 msgid "Suppress author name and timestamp (Default: off)"
 msgstr "Den Namen des Autors und den Zeitstempel unterdrücken (Standard: aus)"
 
-#: builtin/blame.c:2591
+#: builtin/blame.c:2596
 msgid "Show author email instead of name (Default: off)"
 msgstr ""
 "Anstatt des Namens die E-Mail-Adresse des Autors anzeigen (Standard: aus)"
 
-#: builtin/blame.c:2592
+#: builtin/blame.c:2597
 msgid "Ignore whitespace differences"
 msgstr "Unterschiede im Whitespace ignorieren"
 
-#: builtin/blame.c:2599
-msgid "Use an experimental indent-based heuristic to improve diffs"
+#: builtin/blame.c:2604
+msgid "Use an experimental heuristic to improve diffs"
 msgstr ""
-"eine experimentelle, auf Einrückungen basierende Heuristik zur Verbesserung\n"
-"der Darstellung von Unterschieden verwenden"
+"eine experimentelle Heuristik zur Verbesserung der Darstellung\n"
+"von Unterschieden verwenden"
 
-#: builtin/blame.c:2600
-msgid "Use an experimental blank-line-based heuristic to improve diffs"
-msgstr ""
-"eine experimentelle, auf Leerzeilen basierende Heuristik zur Verbesserung\n"
-"der Darstellung von Unterschieden verwenden"
-
-#: builtin/blame.c:2602
+#: builtin/blame.c:2606
 msgid "Spend extra cycles to find better match"
 msgstr "Länger arbeiten, um bessere Übereinstimmungen zu finden"
 
-#: builtin/blame.c:2603
+#: builtin/blame.c:2607
 msgid "Use revisions from <file> instead of calling git-rev-list"
 msgstr "Commits von <Datei> benutzen, anstatt \"git-rev-list\" aufzurufen"
 
-#: builtin/blame.c:2604
+#: builtin/blame.c:2608
 msgid "Use <file>'s contents as the final image"
 msgstr "Inhalte der <Datei>en als endgültiges Abbild benutzen"
 
-#: builtin/blame.c:2605 builtin/blame.c:2606
+#: builtin/blame.c:2609 builtin/blame.c:2610
 msgid "score"
 msgstr "Bewertung"
 
-#: builtin/blame.c:2605
+#: builtin/blame.c:2609
 msgid "Find line copies within and across files"
 msgstr "kopierte Zeilen innerhalb oder zwischen Dateien finden"
 
-#: builtin/blame.c:2606
+#: builtin/blame.c:2610
 msgid "Find line movements within and across files"
 msgstr "verschobene Zeilen innerhalb oder zwischen Dateien finden"
 
-#: builtin/blame.c:2607
+#: builtin/blame.c:2611
 msgid "n,m"
 msgstr "n,m"
 
-#: builtin/blame.c:2607
+#: builtin/blame.c:2611
 msgid "Process only line range n,m, counting from 1"
 msgstr "nur Zeilen im Bereich n,m verarbeiten, gezählt von 1"
 
-#: builtin/blame.c:2654
+#: builtin/blame.c:2658
 msgid "--progress can't be used with --incremental or porcelain formats"
 msgstr ""
 "--progress kann nicht mit --incremental oder Formaten für Fremdprogramme\n"
@@ -4810,42 +5132,44 @@
 #. takes 22 places, is the longest among various forms of
 #. relative timestamps, but your language may need more or
 #. fewer display columns.
-#: builtin/blame.c:2700
+#: builtin/blame.c:2706
 msgid "4 years, 11 months ago"
 msgstr "vor 4 Jahren, und 11 Monaten"
 
-#: builtin/blame.c:2780
+#: builtin/blame.c:2786
 msgid "--contents and --reverse do not blend well."
 msgstr "--contents und --reverse funktionieren gemeinsam nicht."
 
-#: builtin/blame.c:2800
+#: builtin/blame.c:2806
 msgid "cannot use --contents with final commit object name"
-msgstr "kann --contents nicht mit endgültigem Namen des Commit-Objektes benutzen"
+msgstr ""
+"kann --contents nicht mit endgültigem Namen des Commit-Objektes benutzen"
 
-#: builtin/blame.c:2805
+#: builtin/blame.c:2811
 msgid "--reverse and --first-parent together require specified latest commit"
 msgstr ""
-"--reverse und --first-parent zusammen erfordern die Angabe eines endgültigen\n"
+"--reverse und --first-parent zusammen erfordern die Angabe eines "
+"endgültigen\n"
 "Commits"
 
-#: builtin/blame.c:2832
+#: builtin/blame.c:2838
 msgid ""
 "--reverse --first-parent together require range along first-parent chain"
 msgstr ""
 "--reverse und --first-parent zusammen erfordern einen Bereich entlang der\n"
 "\"first-parent\"-Kette"
 
-#: builtin/blame.c:2843
+#: builtin/blame.c:2849
 #, c-format
 msgid "no such path %s in %s"
 msgstr "Pfad %s nicht in %s"
 
-#: builtin/blame.c:2854
+#: builtin/blame.c:2860
 #, c-format
 msgid "cannot read blob %s for path %s"
 msgstr "kann Blob %s für Pfad '%s' nicht lesen"
 
-#: builtin/blame.c:2873
+#: builtin/blame.c:2879
 #, c-format
 msgid "file %s has only %lu line"
 msgid_plural "file %s has only %lu lines"
@@ -5024,47 +5348,47 @@
 msgid "(no branch)"
 msgstr "(kein Branch)"
 
-#: builtin/branch.c:544
+#: builtin/branch.c:535
 #, c-format
 msgid "Branch %s is being rebased at %s"
 msgstr "Branch %s wird auf %s umgesetzt"
 
-#: builtin/branch.c:548
+#: builtin/branch.c:539
 #, c-format
 msgid "Branch %s is being bisected at %s"
 msgstr "Binäre Suche von Branch %s zu %s im Gange"
 
-#: builtin/branch.c:563
+#: builtin/branch.c:554
 msgid "cannot rename the current branch while not on any."
 msgstr ""
 "Kann aktuellen Branch nicht umbenennen, solange Sie sich auf keinem befinden."
 
-#: builtin/branch.c:573
+#: builtin/branch.c:564
 #, c-format
 msgid "Invalid branch name: '%s'"
 msgstr "Ungültiger Branchname: '%s'"
 
-#: builtin/branch.c:590
+#: builtin/branch.c:581
 msgid "Branch rename failed"
 msgstr "Umbenennung des Branches fehlgeschlagen"
 
-#: builtin/branch.c:594
+#: builtin/branch.c:585
 #, c-format
 msgid "Renamed a misnamed branch '%s' away"
 msgstr "falsch benannten Branch '%s' umbenannt"
 
-#: builtin/branch.c:597
+#: builtin/branch.c:588
 #, c-format
 msgid "Branch renamed to %s, but HEAD is not updated!"
 msgstr "Branch umbenannt zu %s, aber HEAD ist nicht aktualisiert!"
 
-#: builtin/branch.c:604
+#: builtin/branch.c:595
 msgid "Branch is renamed, but update of config-file failed"
 msgstr ""
 "Branch ist umbenannt, aber die Aktualisierung der Konfigurationsdatei ist "
 "fehlgeschlagen."
 
-#: builtin/branch.c:620
+#: builtin/branch.c:611
 #, c-format
 msgid ""
 "Please edit the description for the branch\n"
@@ -5075,164 +5399,168 @@
 "  %s\n"
 "Zeilen, die mit '%c' beginnen, werden entfernt.\n"
 
-#: builtin/branch.c:651
+#: builtin/branch.c:643
 msgid "Generic options"
 msgstr "Allgemeine Optionen"
 
-#: builtin/branch.c:653
+#: builtin/branch.c:645
 msgid "show hash and subject, give twice for upstream branch"
 msgstr "Hash und Betreff anzeigen; -vv: zusätzlich Upstream-Branch"
 
-#: builtin/branch.c:654
+#: builtin/branch.c:646
 msgid "suppress informational messages"
 msgstr "Informationsmeldungen unterdrücken"
 
-#: builtin/branch.c:655
+#: builtin/branch.c:647
 msgid "set up tracking mode (see git-pull(1))"
 msgstr "den Übernahmemodus einstellen (siehe git-pull(1))"
 
-#: builtin/branch.c:657
+#: builtin/branch.c:649
 msgid "change upstream info"
 msgstr "Informationen zum Upstream-Branch ändern"
 
-#: builtin/branch.c:659
+#: builtin/branch.c:651
 msgid "upstream"
 msgstr "Upstream"
 
-#: builtin/branch.c:659
+#: builtin/branch.c:651
 msgid "change the upstream info"
 msgstr "Informationen zum Upstream-Branch ändern"
 
-#: builtin/branch.c:660
+#: builtin/branch.c:652
 msgid "Unset the upstream info"
 msgstr "Informationen zum Upstream-Branch entfernen"
 
-#: builtin/branch.c:661
+#: builtin/branch.c:653
 msgid "use colored output"
 msgstr "farbige Ausgaben verwenden"
 
-#: builtin/branch.c:662
+#: builtin/branch.c:654
 msgid "act on remote-tracking branches"
 msgstr "auf Remote-Tracking-Branches wirken"
 
-#: builtin/branch.c:664 builtin/branch.c:665
+#: builtin/branch.c:656 builtin/branch.c:657
 msgid "print only branches that contain the commit"
 msgstr "nur Branches ausgeben, welche diesen Commit beinhalten"
 
-#: builtin/branch.c:668
+#: builtin/branch.c:660
 msgid "Specific git-branch actions:"
 msgstr "spezifische Aktionen für \"git-branch\":"
 
-#: builtin/branch.c:669
+#: builtin/branch.c:661
 msgid "list both remote-tracking and local branches"
 msgstr "Remote-Tracking und lokale Branches auflisten"
 
-#: builtin/branch.c:671
+#: builtin/branch.c:663
 msgid "delete fully merged branch"
 msgstr "vollständig zusammengeführten Branch entfernen"
 
-#: builtin/branch.c:672
+#: builtin/branch.c:664
 msgid "delete branch (even if not merged)"
 msgstr "Branch löschen (auch wenn nicht zusammengeführt)"
 
-#: builtin/branch.c:673
+#: builtin/branch.c:665
 msgid "move/rename a branch and its reflog"
 msgstr "einen Branch und dessen Reflog verschieben/umbenennen"
 
-#: builtin/branch.c:674
+#: builtin/branch.c:666
 msgid "move/rename a branch, even if target exists"
 msgstr ""
 "einen Branch verschieben/umbenennen, auch wenn das Ziel bereits existiert"
 
-#: builtin/branch.c:675
+#: builtin/branch.c:667
 msgid "list branch names"
 msgstr "Branchnamen auflisten"
 
-#: builtin/branch.c:676
+#: builtin/branch.c:668
 msgid "create the branch's reflog"
 msgstr "das Reflog des Branches erzeugen"
 
-#: builtin/branch.c:678
+#: builtin/branch.c:670
 msgid "edit the description for the branch"
 msgstr "die Beschreibung für den Branch bearbeiten"
 
-#: builtin/branch.c:679
+#: builtin/branch.c:671
 msgid "force creation, move/rename, deletion"
 msgstr "Erstellung, Verschiebung/Umbenennung oder Löschung erzwingen"
 
-#: builtin/branch.c:680
+#: builtin/branch.c:672
 msgid "print only branches that are merged"
 msgstr "nur zusammengeführte Branches ausgeben"
 
-#: builtin/branch.c:681
+#: builtin/branch.c:673
 msgid "print only branches that are not merged"
 msgstr "nur nicht zusammengeführte Branches ausgeben"
 
-#: builtin/branch.c:682
+#: builtin/branch.c:674
 msgid "list branches in columns"
 msgstr "Branches in Spalten auflisten"
 
-#: builtin/branch.c:683 builtin/for-each-ref.c:38 builtin/tag.c:366
+#: builtin/branch.c:675 builtin/for-each-ref.c:38 builtin/tag.c:381
 msgid "key"
 msgstr "Schüssel"
 
-#: builtin/branch.c:684 builtin/for-each-ref.c:39 builtin/tag.c:367
+#: builtin/branch.c:676 builtin/for-each-ref.c:39 builtin/tag.c:382
 msgid "field name to sort on"
 msgstr "sortiere nach diesem Feld"
 
-#: builtin/branch.c:686 builtin/for-each-ref.c:41 builtin/notes.c:404
+#: builtin/branch.c:678 builtin/for-each-ref.c:41 builtin/notes.c:404
 #: builtin/notes.c:407 builtin/notes.c:567 builtin/notes.c:570
-#: builtin/tag.c:369
+#: builtin/tag.c:384
 msgid "object"
 msgstr "Objekt"
 
-#: builtin/branch.c:687
+#: builtin/branch.c:679
 msgid "print only branches of the object"
 msgstr "nur Branches von diesem Objekt ausgeben"
 
-#: builtin/branch.c:705
+#: builtin/branch.c:681 builtin/for-each-ref.c:46 builtin/tag.c:388
+msgid "sorting and filtering are case insensitive"
+msgstr "Sortierung und Filterung sind unabhängig von Groß- und Kleinschreibung"
+
+#: builtin/branch.c:698
 msgid "Failed to resolve HEAD as a valid ref."
 msgstr "Konnte HEAD nicht als gültige Referenz auflösen."
 
-#: builtin/branch.c:709 builtin/clone.c:706
+#: builtin/branch.c:702 builtin/clone.c:706
 msgid "HEAD not found below refs/heads!"
 msgstr "HEAD wurde nicht unter \"refs/heads\" gefunden!"
 
-#: builtin/branch.c:729
+#: builtin/branch.c:724
 msgid "--column and --verbose are incompatible"
 msgstr "Die Optionen --column und --verbose sind inkompatibel."
 
-#: builtin/branch.c:740 builtin/branch.c:782
+#: builtin/branch.c:735 builtin/branch.c:787
 msgid "branch name required"
 msgstr "Branchname erforderlich"
 
-#: builtin/branch.c:758
+#: builtin/branch.c:763
 msgid "Cannot give description to detached HEAD"
 msgstr "zu losgelöstem HEAD kann keine Beschreibung hinterlegt werden"
 
-#: builtin/branch.c:763
+#: builtin/branch.c:768
 msgid "cannot edit description of more than one branch"
 msgstr "Beschreibung von mehr als einem Branch kann nicht bearbeitet werden"
 
-#: builtin/branch.c:770
+#: builtin/branch.c:775
 #, c-format
 msgid "No commit on branch '%s' yet."
 msgstr "Noch kein Commit in Branch '%s'."
 
-#: builtin/branch.c:773
+#: builtin/branch.c:778
 #, c-format
 msgid "No branch named '%s'."
 msgstr "Branch '%s' nicht vorhanden."
 
-#: builtin/branch.c:788
+#: builtin/branch.c:793
 msgid "too many branches for a rename operation"
 msgstr "zu viele Branches für eine Umbenennen-Operation angegeben"
 
-#: builtin/branch.c:793
+#: builtin/branch.c:798
 msgid "too many branches to set new upstream"
 msgstr "zu viele Branches angegeben, um Upstream-Branch zu setzen"
 
-#: builtin/branch.c:797
+#: builtin/branch.c:802
 #, c-format
 msgid ""
 "could not set upstream of HEAD to %s when it does not point to any branch."
@@ -5240,43 +5568,43 @@
 "Konnte keinen neuen Upstream-Branch von HEAD zu %s setzen, da dieser auf\n"
 "keinen Branch zeigt."
 
-#: builtin/branch.c:800 builtin/branch.c:822 builtin/branch.c:843
+#: builtin/branch.c:805 builtin/branch.c:827 builtin/branch.c:848
 #, c-format
 msgid "no such branch '%s'"
 msgstr "Kein solcher Branch '%s'"
 
-#: builtin/branch.c:804
+#: builtin/branch.c:809
 #, c-format
 msgid "branch '%s' does not exist"
 msgstr "Branch '%s' existiert nicht"
 
-#: builtin/branch.c:816
+#: builtin/branch.c:821
 msgid "too many branches to unset upstream"
 msgstr ""
 "zu viele Branches angegeben, um Konfiguration zu Upstream-Branch zu entfernen"
 
-#: builtin/branch.c:820
+#: builtin/branch.c:825
 msgid "could not unset upstream of HEAD when it does not point to any branch."
 msgstr ""
 "Konnte Konfiguration zu Upstream-Branch von HEAD nicht entfernen, da dieser\n"
 "auf keinen Branch zeigt."
 
-#: builtin/branch.c:826
+#: builtin/branch.c:831
 #, c-format
 msgid "Branch '%s' has no upstream information"
 msgstr "Branch '%s' hat keinen Upstream-Branch gesetzt"
 
-#: builtin/branch.c:840
+#: builtin/branch.c:845
 msgid "it does not make sense to create 'HEAD' manually"
 msgstr "'HEAD' darf nicht manuell erstellt werden"
 
-#: builtin/branch.c:846
+#: builtin/branch.c:851
 msgid "-a and -r options to 'git branch' do not make sense with a branch name"
 msgstr ""
 "Die Optionen -a und -r bei 'git branch' können nicht gemeimsam mit einem "
 "Branchnamen verwendet werden."
 
-#: builtin/branch.c:849
+#: builtin/branch.c:854
 #, c-format
 msgid ""
 "The --set-upstream flag is deprecated and will be removed. Consider using --"
@@ -5285,7 +5613,7 @@
 "Die --set-upstream Option ist veraltet und wird entfernt. Benutzen Sie --"
 "track oder --set-upstream-to\n"
 
-#: builtin/branch.c:866
+#: builtin/branch.c:871
 #, c-format
 msgid ""
 "\n"
@@ -5313,13 +5641,17 @@
 msgid ""
 "git cat-file (-t [--allow-unknown-type] | -s [--allow-unknown-type] | -e | -"
 "p | <type> | --textconv | --filters) [--path=<path>] <object>"
-msgstr "git cat-file (-t [--allow-unknown-type] | -s [--allow-unknown-type] | -e | -p | <Art> | --textconv | --filters) [--path=<Pfad>] <Objekt>"
+msgstr ""
+"git cat-file (-t [--allow-unknown-type] | -s [--allow-unknown-type] | -e | -"
+"p | <Art> | --textconv | --filters) [--path=<Pfad>] <Objekt>"
 
 #: builtin/cat-file.c:514
 msgid ""
 "git cat-file (--batch | --batch-check) [--follow-symlinks] [--textconv | --"
 "filters]"
-msgstr "git cat-file (--batch | --batch-check) [--follow-symlinks] [--textconv | --filters]"
+msgstr ""
+"git cat-file (--batch | --batch-check) [--follow-symlinks] [--textconv | --"
+"filters]"
 
 #: builtin/cat-file.c:551
 msgid "<type> can be one of: blob, tree, commit, tag"
@@ -5349,7 +5681,7 @@
 msgid "for blob objects, run filters on object's content"
 msgstr "für Blob-Objekte, Filter auf Objekt-Inhalte ausführen"
 
-#: builtin/cat-file.c:561 git-submodule.sh:923
+#: builtin/cat-file.c:561 git-submodule.sh:929
 msgid "blob"
 msgstr "Blob"
 
@@ -5410,7 +5742,7 @@
 msgid "terminate input and output records by a NUL character"
 msgstr "Einträge von Ein- und Ausgabe mit NUL-Zeichen abschließen"
 
-#: builtin/check-ignore.c:18 builtin/checkout.c:1137 builtin/gc.c:325
+#: builtin/check-ignore.c:18 builtin/checkout.c:1140 builtin/gc.c:332
 msgid "suppress progress reporting"
 msgstr "Fortschrittsanzeige unterdrücken"
 
@@ -5503,9 +5835,9 @@
 msgstr "den Inhalt in temporäre Dateien schreiben"
 
 #: builtin/checkout-index.c:174 builtin/column.c:30
-#: builtin/submodule--helper.c:595 builtin/submodule--helper.c:598
-#: builtin/submodule--helper.c:604 builtin/submodule--helper.c:951
-#: builtin/worktree.c:469
+#: builtin/submodule--helper.c:597 builtin/submodule--helper.c:600
+#: builtin/submodule--helper.c:606 builtin/submodule--helper.c:967
+#: builtin/worktree.c:471
 msgid "string"
 msgstr "Zeichenkette"
 
@@ -5582,50 +5914,50 @@
 msgid "you need to resolve your current index first"
 msgstr "Sie müssen zuerst die Konflikte in Ihrem aktuellen Index auflösen."
 
-#: builtin/checkout.c:624
+#: builtin/checkout.c:625
 #, c-format
 msgid "Can not do reflog for '%s': %s\n"
 msgstr "Kann \"reflog\" für '%s' nicht durchführen: %s\n"
 
-#: builtin/checkout.c:663
+#: builtin/checkout.c:666
 msgid "HEAD is now at"
 msgstr "HEAD ist jetzt bei"
 
-#: builtin/checkout.c:667 builtin/clone.c:660
+#: builtin/checkout.c:670 builtin/clone.c:660
 msgid "unable to update HEAD"
 msgstr "Konnte HEAD nicht aktualisieren."
 
-#: builtin/checkout.c:671
+#: builtin/checkout.c:674
 #, c-format
 msgid "Reset branch '%s'\n"
 msgstr "Setze Branch '%s' neu\n"
 
-#: builtin/checkout.c:674
+#: builtin/checkout.c:677
 #, c-format
 msgid "Already on '%s'\n"
 msgstr "Bereits auf '%s'\n"
 
-#: builtin/checkout.c:678
+#: builtin/checkout.c:681
 #, c-format
 msgid "Switched to and reset branch '%s'\n"
 msgstr "Zu umgesetztem Branch '%s' gewechselt\n"
 
-#: builtin/checkout.c:680 builtin/checkout.c:1069
+#: builtin/checkout.c:683 builtin/checkout.c:1072
 #, c-format
 msgid "Switched to a new branch '%s'\n"
 msgstr "Zu neuem Branch '%s' gewechselt\n"
 
-#: builtin/checkout.c:682
+#: builtin/checkout.c:685
 #, c-format
 msgid "Switched to branch '%s'\n"
 msgstr "Zu Branch '%s' gewechselt\n"
 
-#: builtin/checkout.c:733
+#: builtin/checkout.c:736
 #, c-format
 msgid " ... and %d more.\n"
 msgstr " ... und %d weitere.\n"
 
-#: builtin/checkout.c:739
+#: builtin/checkout.c:742
 #, c-format
 msgid ""
 "Warning: you are leaving %d commit behind, not connected to\n"
@@ -5648,7 +5980,7 @@
 "\n"
 "%s\n"
 
-#: builtin/checkout.c:758
+#: builtin/checkout.c:761
 #, c-format
 msgid ""
 "If you want to keep it by creating a new branch, this may be a good time\n"
@@ -5675,152 +6007,152 @@
 " git branch <neuer-Branchname> %s\n"
 "\n"
 
-#: builtin/checkout.c:794
+#: builtin/checkout.c:797
 msgid "internal error in revision walk"
 msgstr "interner Fehler im Revisionsgang"
 
-#: builtin/checkout.c:798
+#: builtin/checkout.c:801
 msgid "Previous HEAD position was"
 msgstr "Vorherige Position von HEAD war"
 
-#: builtin/checkout.c:825 builtin/checkout.c:1064
+#: builtin/checkout.c:828 builtin/checkout.c:1067
 msgid "You are on a branch yet to be born"
 msgstr "Sie sind auf einem Branch, der noch geboren wird"
 
-#: builtin/checkout.c:970
+#: builtin/checkout.c:973
 #, c-format
 msgid "only one reference expected, %d given."
 msgstr "nur eine Referenz erwartet, %d gegeben."
 
-#: builtin/checkout.c:1010 builtin/worktree.c:214
+#: builtin/checkout.c:1013 builtin/worktree.c:214
 #, c-format
 msgid "invalid reference: %s"
 msgstr "Ungültige Referenz: %s"
 
-#: builtin/checkout.c:1039
+#: builtin/checkout.c:1042
 #, c-format
 msgid "reference is not a tree: %s"
 msgstr "Referenz ist kein \"Tree\"-Objekt: %s"
 
-#: builtin/checkout.c:1078
+#: builtin/checkout.c:1081
 msgid "paths cannot be used with switching branches"
 msgstr "Pfade können nicht beim Wechseln von Branches verwendet werden"
 
-#: builtin/checkout.c:1081 builtin/checkout.c:1085
+#: builtin/checkout.c:1084 builtin/checkout.c:1088
 #, c-format
 msgid "'%s' cannot be used with switching branches"
 msgstr "'%s' kann nicht beim Wechseln von Branches verwendet werden"
 
-#: builtin/checkout.c:1089 builtin/checkout.c:1092 builtin/checkout.c:1097
-#: builtin/checkout.c:1100
+#: builtin/checkout.c:1092 builtin/checkout.c:1095 builtin/checkout.c:1100
+#: builtin/checkout.c:1103
 #, c-format
 msgid "'%s' cannot be used with '%s'"
 msgstr "'%s' kann nicht mit '%s' verwendet werden"
 
-#: builtin/checkout.c:1105
+#: builtin/checkout.c:1108
 #, c-format
 msgid "Cannot switch branch to a non-commit '%s'"
 msgstr "Kann Branch nicht zu Nicht-Commit '%s' wechseln"
 
-#: builtin/checkout.c:1138 builtin/checkout.c:1140 builtin/clone.c:93
+#: builtin/checkout.c:1141 builtin/checkout.c:1143 builtin/clone.c:93
 #: builtin/remote.c:165 builtin/remote.c:167 builtin/worktree.c:324
 #: builtin/worktree.c:326
 msgid "branch"
 msgstr "Branch"
 
-#: builtin/checkout.c:1139
+#: builtin/checkout.c:1142
 msgid "create and checkout a new branch"
 msgstr "einen neuen Branch erzeugen und auschecken"
 
-#: builtin/checkout.c:1141
+#: builtin/checkout.c:1144
 msgid "create/reset and checkout a branch"
 msgstr "einen Branch erstellen/umsetzen und auschecken"
 
-#: builtin/checkout.c:1142
+#: builtin/checkout.c:1145
 msgid "create reflog for new branch"
 msgstr "das Reflog für den neuen Branch erzeugen"
 
-#: builtin/checkout.c:1143 builtin/worktree.c:328
+#: builtin/checkout.c:1146 builtin/worktree.c:328
 msgid "detach HEAD at named commit"
 msgstr "HEAD bei benanntem Commit loslösen"
 
-#: builtin/checkout.c:1144
+#: builtin/checkout.c:1147
 msgid "set upstream info for new branch"
 msgstr "Informationen zum Upstream-Branch für den neuen Branch setzen"
 
-#: builtin/checkout.c:1146
+#: builtin/checkout.c:1149
 msgid "new-branch"
 msgstr "neuer Branch"
 
-#: builtin/checkout.c:1146
+#: builtin/checkout.c:1149
 msgid "new unparented branch"
 msgstr "neuer Branch ohne Eltern-Commit"
 
-#: builtin/checkout.c:1147
+#: builtin/checkout.c:1150
 msgid "checkout our version for unmerged files"
 msgstr "unsere Variante für nicht zusammengeführte Dateien auschecken"
 
-#: builtin/checkout.c:1149
+#: builtin/checkout.c:1152
 msgid "checkout their version for unmerged files"
 msgstr "ihre Variante für nicht zusammengeführte Dateien auschecken"
 
-#: builtin/checkout.c:1151
+#: builtin/checkout.c:1154
 msgid "force checkout (throw away local modifications)"
 msgstr "Auschecken erzwingen (verwirft lokale Änderungen)"
 
-#: builtin/checkout.c:1152
+#: builtin/checkout.c:1155
 msgid "perform a 3-way merge with the new branch"
 msgstr "einen 3-Wege-Merge mit dem neuen Branch ausführen"
 
-#: builtin/checkout.c:1153 builtin/merge.c:231
+#: builtin/checkout.c:1156 builtin/merge.c:235
 msgid "update ignored files (default)"
 msgstr "ignorierte Dateien aktualisieren (Standard)"
 
-#: builtin/checkout.c:1154 builtin/log.c:1466 parse-options.h:251
+#: builtin/checkout.c:1157 builtin/log.c:1466 parse-options.h:251
 msgid "style"
 msgstr "Stil"
 
-#: builtin/checkout.c:1155
+#: builtin/checkout.c:1158
 msgid "conflict style (merge or diff3)"
 msgstr "Konfliktstil (merge oder diff3)"
 
-#: builtin/checkout.c:1158
+#: builtin/checkout.c:1161
 msgid "do not limit pathspecs to sparse entries only"
 msgstr "keine Einschränkung bei Pfadspezifikationen zum partiellen Auschecken"
 
-#: builtin/checkout.c:1160
+#: builtin/checkout.c:1163
 msgid "second guess 'git checkout <no-such-branch>'"
 msgstr "second guess 'git checkout <no-such-branch>'"
 
-#: builtin/checkout.c:1162
+#: builtin/checkout.c:1165
 msgid "do not check if another worktree is holding the given ref"
 msgstr ""
 "Prüfung, ob die Referenz bereits in einem anderen Arbeitsverzeichnis "
 "ausgecheckt wurde, deaktivieren"
 
-#: builtin/checkout.c:1163 builtin/clone.c:63 builtin/fetch.c:119
-#: builtin/merge.c:228 builtin/pull.c:117 builtin/push.c:536
+#: builtin/checkout.c:1166 builtin/clone.c:63 builtin/fetch.c:119
+#: builtin/merge.c:232 builtin/pull.c:117 builtin/push.c:539
 #: builtin/send-pack.c:168
 msgid "force progress reporting"
 msgstr "Fortschrittsanzeige erzwingen"
 
-#: builtin/checkout.c:1194
+#: builtin/checkout.c:1197
 msgid "-b, -B and --orphan are mutually exclusive"
 msgstr "Die Optionen -b, -B und --orphan schließen sich gegenseitig aus."
 
-#: builtin/checkout.c:1211
+#: builtin/checkout.c:1214
 msgid "--track needs a branch name"
 msgstr "Bei der Option --track muss ein Branchname angegeben werden."
 
-#: builtin/checkout.c:1216
+#: builtin/checkout.c:1219
 msgid "Missing branch name; try -b"
 msgstr "Vermisse Branchnamen; versuchen Sie -b"
 
-#: builtin/checkout.c:1252
+#: builtin/checkout.c:1255
 msgid "invalid path specification"
 msgstr "ungültige Pfadspezifikation"
 
-#: builtin/checkout.c:1259
+#: builtin/checkout.c:1262
 #, c-format
 msgid ""
 "Cannot update paths and switch to branch '%s' at the same time.\n"
@@ -5830,12 +6162,12 @@
 "Haben Sie beabsichtigt '%s' auszuchecken, welcher nicht als Commit aufgelöst "
 "werden kann?"
 
-#: builtin/checkout.c:1264
+#: builtin/checkout.c:1267
 #, c-format
 msgid "git checkout: --detach does not take a path argument '%s'"
 msgstr "git checkout: --detach nimmt kein Pfad-Argument '%s'"
 
-#: builtin/checkout.c:1268
+#: builtin/checkout.c:1271
 msgid ""
 "git checkout: --ours/--theirs, --force and --merge are incompatible when\n"
 "checking out of the index."
@@ -5874,19 +6206,21 @@
 msgid "failed to remove %s"
 msgstr "Fehler beim Löschen von %s"
 
-#: builtin/clean.c:291
+#: builtin/clean.c:291 git-add--interactive.perl:623
+#, c-format
 msgid ""
 "Prompt help:\n"
 "1          - select a numbered item\n"
 "foo        - select item based on unique prefix\n"
-"           - (empty) select nothing"
+"           - (empty) select nothing\n"
 msgstr ""
 "Eingabehilfe:\n"
 "1          - nummeriertes Element auswählen\n"
 "foo        - Element anhand eines eindeutigen Präfix auswählen\n"
-"           - (leer) nichts auswählen"
+"           - (leer) nichts auswählen\n"
 
-#: builtin/clean.c:295
+#: builtin/clean.c:295 git-add--interactive.perl:632
+#, c-format
 msgid ""
 "Prompt help:\n"
 "1          - select a single item\n"
@@ -5895,7 +6229,7 @@
 "foo        - select item based on unique prefix\n"
 "-...       - unselect specified items\n"
 "*          - choose all items\n"
-"           - (empty) finish selecting"
+"           - (empty) finish selecting\n"
 msgstr ""
 "Eingabehilfe:\n"
 "1          - einzelnes Element auswählen\n"
@@ -5904,12 +6238,13 @@
 "foo        - Element anhand eines eindeutigen Präfix auswählen\n"
 "-...       - angegebenes Element abwählen\n"
 "*          - alle Elemente auswählen\n"
-"           - (leer) Auswahl beenden"
+"           - (leer) Auswahl beenden\n"
 
-#: builtin/clean.c:511
-#, c-format
-msgid "Huh (%s)?"
-msgstr "Wie bitte (%s)?"
+#: builtin/clean.c:511 git-add--interactive.perl:598
+#: git-add--interactive.perl:603
+#, c-format, perl-format
+msgid "Huh (%s)?\n"
+msgstr "Wie bitte (%s)?\n"
 
 #: builtin/clean.c:653
 #, c-format
@@ -5931,9 +6266,10 @@
 msgid "Remove %s [y/N]? "
 msgstr "'%s' löschen [y/N]? "
 
-#: builtin/clean.c:777
-msgid "Bye."
-msgstr "Tschüss."
+#: builtin/clean.c:777 git-add--interactive.perl:1669
+#, c-format
+msgid "Bye.\n"
+msgstr "Tschüss.\n"
 
 #: builtin/clean.c:785
 msgid ""
@@ -5953,11 +6289,11 @@
 "help                - diese Meldung anzeigen\n"
 "?                   - Hilfe zur Auswahl mittels Eingabe anzeigen"
 
-#: builtin/clean.c:812
+#: builtin/clean.c:812 git-add--interactive.perl:1745
 msgid "*** Commands ***"
 msgstr "*** Befehle ***"
 
-#: builtin/clean.c:813
+#: builtin/clean.c:813 git-add--interactive.perl:1742
 msgid "What now"
 msgstr "Was nun"
 
@@ -5987,8 +6323,8 @@
 msgid "remove whole directories"
 msgstr "ganze Verzeichnisse löschen"
 
-#: builtin/clean.c:875 builtin/describe.c:407 builtin/grep.c:725
-#: builtin/ls-files.c:536 builtin/name-rev.c:313 builtin/show-ref.c:182
+#: builtin/clean.c:875 builtin/describe.c:407 builtin/grep.c:1056
+#: builtin/ls-files.c:538 builtin/name-rev.c:313 builtin/show-ref.c:176
 msgid "pattern"
 msgstr "Muster"
 
@@ -6068,8 +6404,8 @@
 msgid "directory from which templates will be used"
 msgstr "Verzeichnis, von welchem die Vorlagen verwendet werden"
 
-#: builtin/clone.c:86 builtin/clone.c:88 builtin/submodule--helper.c:602
-#: builtin/submodule--helper.c:954
+#: builtin/clone.c:86 builtin/clone.c:88 builtin/submodule--helper.c:604
+#: builtin/submodule--helper.c:970
 msgid "reference repository"
 msgstr "Repository referenzieren"
 
@@ -6093,7 +6429,7 @@
 msgid "path to git-upload-pack on the remote"
 msgstr "Pfad zu \"git-upload-pack\" auf der Gegenseite"
 
-#: builtin/clone.c:97 builtin/fetch.c:120 builtin/grep.c:668 builtin/pull.c:202
+#: builtin/clone.c:97 builtin/fetch.c:120 builtin/grep.c:999 builtin/pull.c:202
 msgid "depth"
 msgstr "Tiefe"
 
@@ -6102,7 +6438,7 @@
 msgstr ""
 "einen Klon mit unvollständiger Historie (shallow) in dieser Tiefe erstellen"
 
-#: builtin/clone.c:99 builtin/fetch.c:122 builtin/pack-objects.c:2848
+#: builtin/clone.c:99 builtin/fetch.c:122 builtin/pack-objects.c:2836
 #: parse-options.h:142
 msgid "time"
 msgstr "Zeit"
@@ -6110,7 +6446,8 @@
 #: builtin/clone.c:100
 msgid "create a shallow clone since a specific time"
 msgstr ""
-"einen Klon mit unvollständiger Historie (shallow) seit einer bestimmten Zeit\n"
+"einen Klon mit unvollständiger Historie (shallow) seit einer bestimmten "
+"Zeit\n"
 "erstellen"
 
 #: builtin/clone.c:101 builtin/fetch.c:124
@@ -6118,7 +6455,7 @@
 msgstr "Commit"
 
 #: builtin/clone.c:102 builtin/fetch.c:125
-msgid "deepen history of shallow clone by excluding rev"
+msgid "deepen history of shallow clone, excluding rev"
 msgstr ""
 "die Historie eines Klons mit unvollständiger Historie (shallow) mittels\n"
 "Ausschluss eines Commits vertiefen"
@@ -6147,11 +6484,11 @@
 msgid "set config inside the new repository"
 msgstr "Konfiguration innerhalb des neuen Repositories setzen"
 
-#: builtin/clone.c:111 builtin/fetch.c:140 builtin/push.c:547
+#: builtin/clone.c:111 builtin/fetch.c:140 builtin/push.c:550
 msgid "use IPv4 addresses only"
 msgstr "nur IPv4-Adressen benutzen"
 
-#: builtin/clone.c:113 builtin/fetch.c:142 builtin/push.c:549
+#: builtin/clone.c:113 builtin/fetch.c:142 builtin/push.c:552
 msgid "use IPv6 addresses only"
 msgstr "nur IPv6-Adressen benutzen"
 
@@ -6266,7 +6603,7 @@
 msgid "repository '%s' does not exist"
 msgstr "Repository '%s' existiert nicht."
 
-#: builtin/clone.c:905 builtin/fetch.c:1338
+#: builtin/clone.c:905 builtin/fetch.c:1335
 #, c-format
 msgid "depth %s is not a positive number"
 msgstr "Tiefe %s ist keine positive Zahl"
@@ -6281,8 +6618,9 @@
 msgid "working tree '%s' already exists."
 msgstr "Arbeitsverzeichnis '%s' existiert bereits."
 
-#: builtin/clone.c:940 builtin/clone.c:951 builtin/submodule--helper.c:657
-#: builtin/worktree.c:222 builtin/worktree.c:249
+#: builtin/clone.c:940 builtin/clone.c:951 builtin/difftool.c:252
+#: builtin/submodule--helper.c:659 builtin/worktree.c:222
+#: builtin/worktree.c:249
 #, c-format
 msgid "could not create leading directories of '%s'"
 msgstr "Konnte führende Verzeichnisse von '%s' nicht erstellen."
@@ -6306,7 +6644,9 @@
 msgid ""
 "clone --recursive is not compatible with both --reference and --reference-if-"
 "able"
-msgstr "'clone --recursive' ist nicht kompatibel mit --reference und --reference-if-able"
+msgstr ""
+"'clone --recursive' ist nicht kompatibel mit --reference und --reference-if-"
+"able"
 
 #: builtin/clone.c:1019
 msgid "--depth is ignored in local clones; use file:// instead."
@@ -6316,11 +6656,15 @@
 
 #: builtin/clone.c:1021
 msgid "--shallow-since is ignored in local clones; use file:// instead."
-msgstr "--shallow-since wird in lokalen Klonen ignoriert; benutzen Sie stattdessen file://"
+msgstr ""
+"--shallow-since wird in lokalen Klonen ignoriert; benutzen Sie stattdessen "
+"file://"
 
 #: builtin/clone.c:1023
 msgid "--shallow-exclude is ignored in local clones; use file:// instead."
-msgstr "--shallow-exclude wird in lokalen Klonen ignoriert; benutzen Sie stattdessen file://"
+msgstr ""
+"--shallow-exclude wird in lokalen Klonen ignoriert; benutzen Sie stattdessen "
+"file://"
 
 #: builtin/clone.c:1026
 msgid "source repository is shallow, ignoring --local"
@@ -6558,7 +6902,7 @@
 msgid "could not lookup commit %s"
 msgstr "Konnte Commit %s nicht nachschlagen"
 
-#: builtin/commit.c:704 builtin/shortlog.c:286
+#: builtin/commit.c:704 builtin/shortlog.c:295
 #, c-format
 msgid "(reading log message from standard input)\n"
 msgstr "(lese Log-Nachricht von Standard-Eingabe)\n"
@@ -6660,7 +7004,7 @@
 msgid "Error building trees"
 msgstr "Fehler beim Erzeugen der \"Tree\"-Objekte"
 
-#: builtin/commit.c:969 builtin/tag.c:266
+#: builtin/commit.c:968 builtin/tag.c:280
 #, c-format
 msgid "Please supply the message using either -m or -F option.\n"
 msgstr ""
@@ -6673,7 +7017,7 @@
 "--author '%s' ist nicht im Format 'Name <E-Mail>' und stimmt mit keinem "
 "vorhandenen Autor überein"
 
-#: builtin/commit.c:1086 builtin/commit.c:1327
+#: builtin/commit.c:1086 builtin/commit.c:1325
 #, c-format
 msgid "Invalid untracked files mode '%s'"
 msgstr "Ungültiger Modus '%s' für unversionierte Dateien"
@@ -6731,67 +7075,63 @@
 "verwendet werden."
 
 #: builtin/commit.c:1212
-msgid "Clever... amending the last one with dirty index."
-msgstr "Klug ... den letzten Commit mit einem geänderten Index nachbessern."
-
-#: builtin/commit.c:1214
 msgid "Explicit paths specified without -i or -o; assuming --only paths..."
 msgstr "Explizite Pfade ohne -i oder -o angegeben; nehme --only an"
 
-#: builtin/commit.c:1226 builtin/tag.c:474
+#: builtin/commit.c:1224 builtin/tag.c:495
 #, c-format
 msgid "Invalid cleanup mode %s"
 msgstr "Ungültiger \"cleanup\" Modus %s"
 
-#: builtin/commit.c:1231
+#: builtin/commit.c:1229
 msgid "Paths with -a does not make sense."
 msgstr "Die Option -a kann nicht mit der Angabe von Pfaden verwendet werden."
 
-#: builtin/commit.c:1341 builtin/commit.c:1617
+#: builtin/commit.c:1339 builtin/commit.c:1612
 msgid "show status concisely"
 msgstr "Status im Kurzformat anzeigen"
 
-#: builtin/commit.c:1343 builtin/commit.c:1619
+#: builtin/commit.c:1341 builtin/commit.c:1614
 msgid "show branch information"
 msgstr "Branchinformationen anzeigen"
 
-#: builtin/commit.c:1345
+#: builtin/commit.c:1343
 msgid "version"
 msgstr "Version"
 
-#: builtin/commit.c:1345 builtin/commit.c:1621 builtin/push.c:522
-#: builtin/worktree.c:440
+#: builtin/commit.c:1343 builtin/commit.c:1616 builtin/push.c:525
+#: builtin/worktree.c:442
 msgid "machine-readable output"
 msgstr "maschinenlesbare Ausgabe"
 
-#: builtin/commit.c:1348 builtin/commit.c:1623
+#: builtin/commit.c:1346 builtin/commit.c:1618
 msgid "show status in long format (default)"
 msgstr "Status im Langformat anzeigen (Standard)"
 
-#: builtin/commit.c:1351 builtin/commit.c:1626
+#: builtin/commit.c:1349 builtin/commit.c:1621
 msgid "terminate entries with NUL"
 msgstr "Einträge mit NUL-Zeichen abschließen"
 
-#: builtin/commit.c:1353 builtin/commit.c:1629 builtin/fast-export.c:981
-#: builtin/fast-export.c:984 builtin/tag.c:353
+#: builtin/commit.c:1351 builtin/commit.c:1624 builtin/fast-export.c:981
+#: builtin/fast-export.c:984 builtin/tag.c:368
 msgid "mode"
 msgstr "Modus"
 
-#: builtin/commit.c:1354 builtin/commit.c:1629
+#: builtin/commit.c:1352 builtin/commit.c:1624
 msgid "show untracked files, optional modes: all, normal, no. (Default: all)"
 msgstr ""
 "unversionierte Dateien anzeigen, optionale Modi: all, normal, no. (Standard: "
 "all)"
 
-#: builtin/commit.c:1357
+#: builtin/commit.c:1355
 msgid "show ignored files"
 msgstr "ignorierte Dateien anzeigen"
 
-#: builtin/commit.c:1358 parse-options.h:155
+#: builtin/commit.c:1356 parse-options.h:155
 msgid "when"
 msgstr "wann"
 
-#: builtin/commit.c:1359
+#: builtin/commit.c:1357
 msgid ""
 "ignore changes to submodules, optional when: all, dirty, untracked. "
 "(Default: all)"
@@ -6799,203 +7139,203 @@
 "Änderungen in Submodulen ignorieren, optional wenn: all, dirty, untracked. "
 "(Standard: all)"
 
-#: builtin/commit.c:1361
+#: builtin/commit.c:1359
 msgid "list untracked files in columns"
 msgstr "unversionierte Dateien in Spalten auflisten"
 
-#: builtin/commit.c:1437
+#: builtin/commit.c:1435
 msgid "couldn't look up newly created commit"
 msgstr "Konnte neu erstellten Commit nicht nachschlagen."
 
-#: builtin/commit.c:1439
+#: builtin/commit.c:1437
 msgid "could not parse newly created commit"
 msgstr "Konnte neulich erstellten Commit nicht analysieren."
 
-#: builtin/commit.c:1484
+#: builtin/commit.c:1482
 msgid "detached HEAD"
 msgstr "losgelöster HEAD"
 
-#: builtin/commit.c:1487
+#: builtin/commit.c:1485
 msgid " (root-commit)"
 msgstr " (Basis-Commit)"
 
-#: builtin/commit.c:1587
+#: builtin/commit.c:1582
 msgid "suppress summary after successful commit"
 msgstr "Zusammenfassung nach erfolgreichem Commit unterdrücken"
 
-#: builtin/commit.c:1588
+#: builtin/commit.c:1583
 msgid "show diff in commit message template"
 msgstr "Unterschiede in Commit-Beschreibungsvorlage anzeigen"
 
-#: builtin/commit.c:1590
+#: builtin/commit.c:1585
 msgid "Commit message options"
 msgstr "Optionen für Commit-Beschreibung"
 
-#: builtin/commit.c:1591 builtin/tag.c:351
+#: builtin/commit.c:1586 builtin/tag.c:366
 msgid "read message from file"
 msgstr "Beschreibung von Datei lesen"
 
-#: builtin/commit.c:1592
+#: builtin/commit.c:1587
 msgid "author"
 msgstr "Autor"
 
-#: builtin/commit.c:1592
+#: builtin/commit.c:1587
 msgid "override author for commit"
 msgstr "Autor eines Commits überschreiben"
 
-#: builtin/commit.c:1593 builtin/gc.c:326
+#: builtin/commit.c:1588 builtin/gc.c:333
 msgid "date"
 msgstr "Datum"
 
-#: builtin/commit.c:1593
+#: builtin/commit.c:1588
 msgid "override date for commit"
 msgstr "Datum eines Commits überschreiben"
 
-#: builtin/commit.c:1594 builtin/merge.c:220 builtin/notes.c:398
-#: builtin/notes.c:561 builtin/tag.c:349
+#: builtin/commit.c:1589 builtin/merge.c:222 builtin/notes.c:398
+#: builtin/notes.c:561 builtin/tag.c:364
 msgid "message"
 msgstr "Beschreibung"
 
-#: builtin/commit.c:1594
+#: builtin/commit.c:1589
 msgid "commit message"
 msgstr "Commit-Beschreibung"
 
-#: builtin/commit.c:1595 builtin/commit.c:1596 builtin/commit.c:1597
-#: builtin/commit.c:1598 parse-options.h:257 ref-filter.h:79
+#: builtin/commit.c:1590 builtin/commit.c:1591 builtin/commit.c:1592
+#: builtin/commit.c:1593 parse-options.h:257 ref-filter.h:81
 msgid "commit"
 msgstr "Commit"
 
-#: builtin/commit.c:1595
+#: builtin/commit.c:1590
 msgid "reuse and edit message from specified commit"
 msgstr "Beschreibung des angegebenen Commits wiederverwenden und editieren"
 
-#: builtin/commit.c:1596
+#: builtin/commit.c:1591
 msgid "reuse message from specified commit"
 msgstr "Beschreibung des angegebenen Commits wiederverwenden"
 
-#: builtin/commit.c:1597
+#: builtin/commit.c:1592
 msgid "use autosquash formatted message to fixup specified commit"
 msgstr ""
 "eine automatisch zusammengesetzte Beschreibung zum Nachbessern des "
 "angegebenen Commits verwenden"
 
-#: builtin/commit.c:1598
+#: builtin/commit.c:1593
 msgid "use autosquash formatted message to squash specified commit"
 msgstr ""
 "eine automatisch zusammengesetzte Beschreibung beim \"squash\" des "
 "angegebenen Commits verwenden"
 
-#: builtin/commit.c:1599
+#: builtin/commit.c:1594
 msgid "the commit is authored by me now (used with -C/-c/--amend)"
 msgstr "Sie als Autor des Commits setzen (verwendet mit -C/-c/--amend)"
 
-#: builtin/commit.c:1600 builtin/log.c:1413 builtin/revert.c:86
+#: builtin/commit.c:1595 builtin/log.c:1413 builtin/revert.c:86
 msgid "add Signed-off-by:"
 msgstr "'Signed-off-by:'-Zeile hinzufügen"
 
-#: builtin/commit.c:1601
+#: builtin/commit.c:1596
 msgid "use specified template file"
 msgstr "angegebene Vorlagendatei verwenden"
 
-#: builtin/commit.c:1602
+#: builtin/commit.c:1597
 msgid "force edit of commit"
 msgstr "Bearbeitung des Commits erzwingen"
 
-#: builtin/commit.c:1603
+#: builtin/commit.c:1598
 msgid "default"
 msgstr "Standard"
 
-#: builtin/commit.c:1603 builtin/tag.c:354
+#: builtin/commit.c:1598 builtin/tag.c:369
 msgid "how to strip spaces and #comments from message"
 msgstr ""
 "wie Leerzeichen und #Kommentare von der Beschreibung getrennt werden sollen"
 
-#: builtin/commit.c:1604
+#: builtin/commit.c:1599
 msgid "include status in commit message template"
 msgstr "Status in die Commit-Beschreibungsvorlage einfügen"
 
-#: builtin/commit.c:1606 builtin/merge.c:230 builtin/pull.c:166
+#: builtin/commit.c:1601 builtin/merge.c:234 builtin/pull.c:166
 #: builtin/revert.c:93
 msgid "GPG sign commit"
 msgstr "Commit mit GPG signieren"
 
-#: builtin/commit.c:1609
+#: builtin/commit.c:1604
 msgid "Commit contents options"
 msgstr "Optionen für Commit-Inhalt"
 
-#: builtin/commit.c:1610
+#: builtin/commit.c:1605
 msgid "commit all changed files"
 msgstr "alle geänderten Dateien committen"
 
-#: builtin/commit.c:1611
+#: builtin/commit.c:1606
 msgid "add specified files to index for commit"
 msgstr "die angegebenen Dateien zusätzlich zum Commit vormerken"
 
-#: builtin/commit.c:1612
+#: builtin/commit.c:1607
 msgid "interactively add files"
 msgstr "interaktives Hinzufügen von Dateien"
 
-#: builtin/commit.c:1613
+#: builtin/commit.c:1608
 msgid "interactively add changes"
 msgstr "interaktives Hinzufügen von Änderungen"
 
-#: builtin/commit.c:1614
+#: builtin/commit.c:1609
 msgid "commit only specified files"
 msgstr "nur die angegebenen Dateien committen"
 
-#: builtin/commit.c:1615
+#: builtin/commit.c:1610
 msgid "bypass pre-commit and commit-msg hooks"
 msgstr "Hooks pre-commit und commit-msg umgehen"
 
-#: builtin/commit.c:1616
+#: builtin/commit.c:1611
 msgid "show what would be committed"
 msgstr "anzeigen, was committet werden würde"
 
-#: builtin/commit.c:1627
+#: builtin/commit.c:1622
 msgid "amend previous commit"
 msgstr "vorherigen Commit ändern"
 
-#: builtin/commit.c:1628
+#: builtin/commit.c:1623
 msgid "bypass post-rewrite hook"
 msgstr "\"post-rewrite hook\" umgehen"
 
-#: builtin/commit.c:1633
+#: builtin/commit.c:1628
 msgid "ok to record an empty change"
 msgstr "Aufzeichnung einer leeren Änderung erlauben"
 
-#: builtin/commit.c:1635
+#: builtin/commit.c:1630
 msgid "ok to record a change with an empty message"
 msgstr "Aufzeichnung einer Änderung mit einer leeren Beschreibung erlauben"
 
-#: builtin/commit.c:1664
+#: builtin/commit.c:1659
 msgid "could not parse HEAD commit"
 msgstr "Konnte Commit von HEAD nicht analysieren."
 
-#: builtin/commit.c:1712
+#: builtin/commit.c:1707
 #, c-format
 msgid "Corrupt MERGE_HEAD file (%s)"
 msgstr "Beschädigte MERGE_HEAD-Datei (%s)"
 
-#: builtin/commit.c:1719
+#: builtin/commit.c:1714
 msgid "could not read MERGE_MODE"
 msgstr "Konnte MERGE_MODE nicht lesen"
 
-#: builtin/commit.c:1738
+#: builtin/commit.c:1733
 #, c-format
 msgid "could not read commit message: %s"
 msgstr "Konnte Commit-Beschreibung nicht lesen: %s"
 
-#: builtin/commit.c:1749
+#: builtin/commit.c:1744
 #, c-format
 msgid "Aborting commit; you did not edit the message.\n"
 msgstr "Commit abgebrochen; Sie haben die Beschreibung nicht editiert.\n"
 
-#: builtin/commit.c:1754
+#: builtin/commit.c:1749
 #, c-format
 msgid "Aborting commit due to empty commit message.\n"
 msgstr "Commit aufgrund leerer Beschreibung abgebrochen.\n"
 
-#: builtin/commit.c:1802
+#: builtin/commit.c:1797
 msgid ""
 "Repository has been updated, but unable to write\n"
 "new_index file. Check that disk is not full and quota is\n"
@@ -7190,7 +7530,19 @@
 msgid "git describe [<options>] --dirty"
 msgstr "git describe [<Optionen>] --dirty"
 
-#: builtin/describe.c:217
+#: builtin/describe.c:52
+msgid "head"
+msgstr "Branch"
+
+#: builtin/describe.c:52
+msgid "lightweight"
+msgstr "nicht-annotiert"
+
+#: builtin/describe.c:52
+msgid "annotated"
+msgstr "annotiert"
+
+#: builtin/describe.c:249
 #, c-format
 msgid "annotated tag %s not available"
 msgstr "annotiertes Tag %s ist nicht verfügbar"
@@ -7324,35 +7676,122 @@
 msgid "--dirty is incompatible with commit-ishes"
 msgstr "Die Option --dirty kann nicht mit Commits verwendet werden."
 
-#: builtin/diff.c:86
+#: builtin/diff.c:83
 #, c-format
 msgid "'%s': not a regular file or symlink"
 msgstr "'%s': keine reguläre Datei oder symbolische Verknüpfung"
 
-#: builtin/diff.c:237
+#: builtin/diff.c:234
 #, c-format
 msgid "invalid option: %s"
 msgstr "Ungültige Option: %s"
 
-#: builtin/diff.c:361
+#: builtin/diff.c:358
 msgid "Not a git repository"
 msgstr "Kein Git-Repository"
 
-#: builtin/diff.c:404
+#: builtin/diff.c:401
 #, c-format
 msgid "invalid object '%s' given."
 msgstr "Objekt '%s' ist ungültig."
 
-#: builtin/diff.c:413
+#: builtin/diff.c:410
 #, c-format
 msgid "more than two blobs given: '%s'"
 msgstr "Mehr als zwei Blobs angegeben: '%s'"
 
-#: builtin/diff.c:420
+#: builtin/diff.c:417
 #, c-format
 msgid "unhandled object '%s' given."
 msgstr "unbehandeltes Objekt '%s' angegeben"
 
+#: builtin/difftool.c:28
+msgid "git difftool [<options>] [<commit> [<commit>]] [--] [<path>...]"
+msgstr "git difftool [<Optionen>] [<Commit> [<Commit>]] [--] [<Pfad>...]"
+
+#: builtin/difftool.c:241
+#, c-format
+msgid "failed: %d"
+msgstr "fehlgeschlagen: %d"
+
+#: builtin/difftool.c:342
+msgid ""
+"combined diff formats('-c' and '--cc') are not supported in\n"
+"directory diff mode('-d' and '--dir-diff')."
+msgstr ""
+"Kombinierte Diff-Formate('-c' und '--cc') werden im Verzeichnis-\n"
+"Diff-Modus('-d' und '--dir-diff') nicht unterstützt."
+
+#: builtin/difftool.c:567
+#, c-format
+msgid "both files modified: '%s' and '%s'."
+msgstr "beide Dateien geändert: '%s' und '%s'."
+
+#: builtin/difftool.c:569
+msgid "working tree file has been left."
+msgstr "Datei im Arbeitsverzeichnis belassen."
+
+#: builtin/difftool.c:580
+#, c-format
+msgid "temporary files exist in '%s'."
+msgstr "Es existieren temporäre Dateien in '%s'."
+
+#: builtin/difftool.c:581
+msgid "you may want to cleanup or recover these."
+msgstr "Sie könnten diese aufräumen oder wiederherstellen."
+
+#: builtin/difftool.c:626
+msgid "use `diff.guitool` instead of `diff.tool`"
+msgstr "`diff.guitool` anstatt `diff.tool` benutzen"
+
+#: builtin/difftool.c:628
+msgid "perform a full-directory diff"
+msgstr "Diff über ganzes Verzeichnis ausführen"
+
+#: builtin/difftool.c:630
+msgid "do not prompt before launching a diff tool"
+msgstr "keine Eingabeaufforderung vor Ausführung eines Diff-Tools"
+
+#: builtin/difftool.c:636
+msgid "use symlinks in dir-diff mode"
+msgstr "symbolische Verknüpfungen im dir-diff Modus verwenden"
+
+#: builtin/difftool.c:637
+msgid "<tool>"
+msgstr "<Tool>"
+
+#: builtin/difftool.c:638
+msgid "use the specified diff tool"
+msgstr "das angegebene Diff-Tool benutzen"
+
+#: builtin/difftool.c:640
+msgid "print a list of diff tools that may be used with `--tool`"
+msgstr "eine Liste mit Diff-Tools darstellen, die mit `--tool` benutzt werden können"
+
+#: builtin/difftool.c:643
+msgid ""
+"make 'git-difftool' exit when an invoked diff tool returns a non - zero exit "
+"code"
+msgstr ""
+"'git-difftool' beenden, wenn das aufgerufene Diff-Tool mit einem Rückkehrwert\n"
+"verschieden 0 ausgeführt wurde"
+
+#: builtin/difftool.c:645
+msgid "<command>"
+msgstr "<Programm>"
+
+#: builtin/difftool.c:646
+msgid "specify a custom command for viewing diffs"
+msgstr "eigenen Befehl zur Anzeige von Unterschieden angeben"
+
+#: builtin/difftool.c:670
+msgid "no <tool> given for --tool=<tool>"
+msgstr "kein <Tool> für --tool=<Tool> angegeben"
+
+#: builtin/difftool.c:677
+msgid "no <cmd> given for --extcmd=<cmd>"
+msgstr "kein <Programm> für --extcmd=<Programm> angegeben"
+
 #: builtin/fast-export.c:25
 msgid "git fast-export [rev-list-opts]"
 msgstr "git fast-export [rev-list-opts]"
@@ -7483,7 +7922,8 @@
 #: builtin/fetch.c:123
 msgid "deepen history of shallow repository based on time"
 msgstr ""
-"die Historie eines Klons mit unvollständiger Historie (shallow) auf Zeitbasis\n"
+"die Historie eines Klons mit unvollständiger Historie (shallow) auf "
+"Zeitbasis\n"
 "vertiefen"
 
 #: builtin/fetch.c:129 builtin/pull.c:206
@@ -7514,79 +7954,79 @@
 msgid "specify fetch refmap"
 msgstr "Refmap für 'fetch' angeben"
 
-#: builtin/fetch.c:398
+#: builtin/fetch.c:395
 msgid "Couldn't find remote ref HEAD"
 msgstr "Konnte Remote-Referenz von HEAD nicht finden."
 
-#: builtin/fetch.c:514
+#: builtin/fetch.c:511
 #, c-format
 msgid "configuration fetch.output contains invalid value %s"
 msgstr "Konfiguration fetch.output enthält ungültigen Wert %s"
 
-#: builtin/fetch.c:607
+#: builtin/fetch.c:604
 #, c-format
 msgid "object %s not found"
 msgstr "Objekt %s nicht gefunden"
 
-#: builtin/fetch.c:611
+#: builtin/fetch.c:608
 msgid "[up to date]"
 msgstr "[aktuell]"
 
-#: builtin/fetch.c:624 builtin/fetch.c:704
+#: builtin/fetch.c:621 builtin/fetch.c:701
 msgid "[rejected]"
 msgstr "[zurückgewiesen]"
 
-#: builtin/fetch.c:625
+#: builtin/fetch.c:622
 msgid "can't fetch in current branch"
 msgstr "kann \"fetch\" im aktuellen Branch nicht ausführen"
 
-#: builtin/fetch.c:634
+#: builtin/fetch.c:631
 msgid "[tag update]"
 msgstr "[Tag Aktualisierung]"
 
-#: builtin/fetch.c:635 builtin/fetch.c:668 builtin/fetch.c:684
-#: builtin/fetch.c:699
+#: builtin/fetch.c:632 builtin/fetch.c:665 builtin/fetch.c:681
+#: builtin/fetch.c:696
 msgid "unable to update local ref"
 msgstr "kann lokale Referenz nicht aktualisieren"
 
-#: builtin/fetch.c:654
+#: builtin/fetch.c:651
 msgid "[new tag]"
 msgstr "[neues Tag]"
 
-#: builtin/fetch.c:657
+#: builtin/fetch.c:654
 msgid "[new branch]"
 msgstr "[neuer Branch]"
 
-#: builtin/fetch.c:660
+#: builtin/fetch.c:657
 msgid "[new ref]"
 msgstr "[neue Referenz]"
 
-#: builtin/fetch.c:699
+#: builtin/fetch.c:696
 msgid "forced update"
 msgstr "Aktualisierung erzwungen"
 
-#: builtin/fetch.c:704
+#: builtin/fetch.c:701
 msgid "non-fast-forward"
 msgstr "kein Vorspulen"
 
-#: builtin/fetch.c:749
+#: builtin/fetch.c:746
 #, c-format
 msgid "%s did not send all necessary objects\n"
 msgstr "%s hat nicht alle erforderlichen Objekte gesendet\n"
 
-#: builtin/fetch.c:769
+#: builtin/fetch.c:766
 #, c-format
 msgid "reject %s because shallow roots are not allowed to be updated"
 msgstr ""
 "%s wurde zurückgewiesen, da Ursprungs-Commits von Repositoriesmit "
 "unvollständiger Historie (shallow) nicht aktualisiert werden dürfen."
 
-#: builtin/fetch.c:856 builtin/fetch.c:952
+#: builtin/fetch.c:853 builtin/fetch.c:949
 #, c-format
 msgid "From %.*s\n"
 msgstr "Von %.*s\n"
 
-#: builtin/fetch.c:867
+#: builtin/fetch.c:864
 #, c-format
 msgid ""
 "some local refs could not be updated; try running\n"
@@ -7595,57 +8035,57 @@
 "Einige lokale Referenzen konnten nicht aktualisiert werden; versuchen Sie\n"
 "'git remote prune %s', um jeden älteren, widersprüchlichen Branch zu löschen."
 
-#: builtin/fetch.c:922
+#: builtin/fetch.c:919
 #, c-format
 msgid "   (%s will become dangling)"
 msgstr "   (%s wird unreferenziert)"
 
-#: builtin/fetch.c:923
+#: builtin/fetch.c:920
 #, c-format
 msgid "   (%s has become dangling)"
 msgstr "   (%s wurde unreferenziert)"
 
-#: builtin/fetch.c:955
+#: builtin/fetch.c:952
 msgid "[deleted]"
 msgstr "[gelöscht]"
 
-#: builtin/fetch.c:956 builtin/remote.c:1020
+#: builtin/fetch.c:953 builtin/remote.c:1020
 msgid "(none)"
 msgstr "(nichts)"
 
-#: builtin/fetch.c:979
+#: builtin/fetch.c:976
 #, c-format
 msgid "Refusing to fetch into current branch %s of non-bare repository"
 msgstr ""
 "Der \"fetch\" in den aktuellen Branch %s von einem nicht-Bare-Repository "
 "wurde verweigert."
 
-#: builtin/fetch.c:998
+#: builtin/fetch.c:995
 #, c-format
 msgid "Option \"%s\" value \"%s\" is not valid for %s"
 msgstr "Option \"%s\" Wert \"%s\" ist nicht gültig für %s"
 
-#: builtin/fetch.c:1001
+#: builtin/fetch.c:998
 #, c-format
 msgid "Option \"%s\" is ignored for %s\n"
 msgstr "Option \"%s\" wird ignoriert für %s\n"
 
-#: builtin/fetch.c:1077
+#: builtin/fetch.c:1074
 #, c-format
 msgid "Don't know how to fetch from %s"
 msgstr "Weiß nicht wie von %s angefordert wird."
 
-#: builtin/fetch.c:1237
+#: builtin/fetch.c:1234
 #, c-format
 msgid "Fetching %s\n"
 msgstr "Fordere an von %s\n"
 
-#: builtin/fetch.c:1239 builtin/remote.c:96
+#: builtin/fetch.c:1236 builtin/remote.c:96
 #, c-format
 msgid "Could not fetch %s"
 msgstr "Konnte nicht von %s anfordern"
 
-#: builtin/fetch.c:1257
+#: builtin/fetch.c:1254
 msgid ""
 "No remote repository specified.  Please, specify either a URL or a\n"
 "remote name from which new revisions should be fetched."
@@ -7654,43 +8094,43 @@
 "oder den Namen des Remote-Repositories an, von welchem neue\n"
 "Commits angefordert werden sollen."
 
-#: builtin/fetch.c:1280
+#: builtin/fetch.c:1277
 msgid "You need to specify a tag name."
 msgstr "Sie müssen den Namen des Tags angeben."
 
-#: builtin/fetch.c:1322
+#: builtin/fetch.c:1319
 msgid "Negative depth in --deepen is not supported"
 msgstr "Negative Tiefe wird von --deepen nicht unterstützt."
 
-#: builtin/fetch.c:1324
+#: builtin/fetch.c:1321
 msgid "--deepen and --depth are mutually exclusive"
 msgstr "--deepen und --depth schließen sich gegenseitig aus"
 
-#: builtin/fetch.c:1329
+#: builtin/fetch.c:1326
 msgid "--depth and --unshallow cannot be used together"
 msgstr ""
 "Die Optionen --depth und --unshallow können nicht gemeinsam verwendet werden."
 
-#: builtin/fetch.c:1331
+#: builtin/fetch.c:1328
 msgid "--unshallow on a complete repository does not make sense"
 msgstr ""
 "Die Option --unshallow kann nicht in einem Repository mit unvollständiger "
 "Historie verwendet werden."
 
-#: builtin/fetch.c:1353
+#: builtin/fetch.c:1350
 msgid "fetch --all does not take a repository argument"
 msgstr "fetch --all akzeptiert kein Repository als Argument"
 
-#: builtin/fetch.c:1355
+#: builtin/fetch.c:1352
 msgid "fetch --all does not make sense with refspecs"
 msgstr "fetch --all kann nicht mit Refspecs verwendet werden."
 
-#: builtin/fetch.c:1366
+#: builtin/fetch.c:1363
 #, c-format
 msgid "No such remote or remote group: %s"
 msgstr "Kein Remote-Repository (einzeln oder Gruppe): %s"
 
-#: builtin/fetch.c:1374
+#: builtin/fetch.c:1371
 msgid "Fetching a group and specifying refspecs does not make sense"
 msgstr ""
 "Das Abholen einer Gruppe von Remote-Repositories kann nicht mit der Angabe\n"
@@ -7759,7 +8199,7 @@
 msgid "show only <n> matched refs"
 msgstr "nur <n> passende Referenzen anzeigen"
 
-#: builtin/for-each-ref.c:37 builtin/tag.c:372
+#: builtin/for-each-ref.c:37 builtin/tag.c:387 builtin/verify-tag.c:38
 msgid "format to use for the output"
 msgstr "für die Ausgabe zu verwendendes Format"
 
@@ -7779,63 +8219,63 @@
 msgid "print only refs which contain the commit"
 msgstr "nur Referenzen ausgeben, die diesen Commit enthalten"
 
-#: builtin/fsck.c:519
+#: builtin/fsck.c:554
 msgid "Checking object directories"
 msgstr "Prüfe Objekt-Verzeichnisse"
 
-#: builtin/fsck.c:588
+#: builtin/fsck.c:646
 msgid "git fsck [<options>] [<object>...]"
 msgstr "git fsck [<Optionen>] [<Objekt>...]"
 
-#: builtin/fsck.c:594
+#: builtin/fsck.c:652
 msgid "show unreachable objects"
 msgstr "unerreichbare Objekte anzeigen"
 
-#: builtin/fsck.c:595
+#: builtin/fsck.c:653
 msgid "show dangling objects"
 msgstr "unreferenzierte Objekte anzeigen"
 
-#: builtin/fsck.c:596
+#: builtin/fsck.c:654
 msgid "report tags"
 msgstr "Tags melden"
 
-#: builtin/fsck.c:597
+#: builtin/fsck.c:655
 msgid "report root nodes"
 msgstr "Hauptwurzeln melden"
 
-#: builtin/fsck.c:598
+#: builtin/fsck.c:656
 msgid "make index objects head nodes"
 msgstr "Index-Objekte in Erreichbarkeitsprüfung einbeziehen"
 
-#: builtin/fsck.c:599
+#: builtin/fsck.c:657
 msgid "make reflogs head nodes (default)"
 msgstr "Reflogs in Erreichbarkeitsprüfung einbeziehen (Standard)"
 
-#: builtin/fsck.c:600
+#: builtin/fsck.c:658
 msgid "also consider packs and alternate objects"
 msgstr "ebenso Pakete und alternative Objekte betrachten"
 
-#: builtin/fsck.c:601
+#: builtin/fsck.c:659
 msgid "check only connectivity"
 msgstr "nur Konnektivität prüfen"
 
-#: builtin/fsck.c:602
+#: builtin/fsck.c:660
 msgid "enable more strict checking"
 msgstr "genauere Prüfung aktivieren"
 
-#: builtin/fsck.c:604
+#: builtin/fsck.c:662
 msgid "write dangling objects in .git/lost-found"
 msgstr "unreferenzierte Objekte nach .git/lost-found schreiben"
 
-#: builtin/fsck.c:605 builtin/prune.c:107
+#: builtin/fsck.c:663 builtin/prune.c:107
 msgid "show progress"
 msgstr "Fortschrittsanzeige anzeigen"
 
-#: builtin/fsck.c:606
+#: builtin/fsck.c:664
 msgid "show verbose names for reachable objects"
 msgstr "ausführliche Namen für erreichbare Objekte anzeigen"
 
-#: builtin/fsck.c:665
+#: builtin/fsck.c:725
 msgid "Checking objects"
 msgstr "Prüfe Objekte"
 
@@ -7853,7 +8293,7 @@
 msgid "insanely long object directory %.*s"
 msgstr "zu langes Objekt-Verzeichnis %.*s"
 
-#: builtin/gc.c:290
+#: builtin/gc.c:297
 #, c-format
 msgid ""
 "The last gc run reported the following. Please correct the root cause\n"
@@ -7869,44 +8309,44 @@
 "\n"
 "%s"
 
-#: builtin/gc.c:327
+#: builtin/gc.c:334
 msgid "prune unreferenced objects"
 msgstr "unreferenzierte Objekte entfernen"
 
-#: builtin/gc.c:329
+#: builtin/gc.c:336
 msgid "be more thorough (increased runtime)"
 msgstr "mehr Gründlichkeit (erhöht Laufzeit)"
 
-#: builtin/gc.c:330
+#: builtin/gc.c:337
 msgid "enable auto-gc mode"
 msgstr "\"auto-gc\" Modus aktivieren"
 
-#: builtin/gc.c:331
+#: builtin/gc.c:338
 msgid "force running gc even if there may be another gc running"
 msgstr ""
 "Ausführung von \"git gc\" erwzingen, selbst wenn ein anderes\n"
 "\"git gc\" bereits ausgeführt wird"
 
-#: builtin/gc.c:373
+#: builtin/gc.c:380
 #, c-format
 msgid "Auto packing the repository in background for optimum performance.\n"
 msgstr ""
 "Die Datenbank des Repositories wird für eine optimale Performance im\n"
 "Hintergrund komprimiert.\n"
 
-#: builtin/gc.c:375
+#: builtin/gc.c:382
 #, c-format
 msgid "Auto packing the repository for optimum performance.\n"
 msgstr ""
 "Die Datenbank des Projektarchivs wird für eine optimale Performance "
 "komprimiert.\n"
 
-#: builtin/gc.c:376
+#: builtin/gc.c:383
 #, c-format
 msgid "See \"git help gc\" for manual housekeeping.\n"
 msgstr "Siehe \"git help gc\" für manuelles Aufräumen.\n"
 
-#: builtin/gc.c:397
+#: builtin/gc.c:404
 #, c-format
 msgid ""
 "gc is already running on machine '%s' pid %<PRIuMAX> (use --force if not)"
@@ -7914,252 +8354,268 @@
 "\"git gc\" wird bereits auf Maschine '%s' pid %<PRIuMAX> ausgeführt\n"
 "(benutzen Sie --force falls nicht)"
 
-#: builtin/gc.c:441
+#: builtin/gc.c:448
 msgid ""
 "There are too many unreachable loose objects; run 'git prune' to remove them."
 msgstr ""
 "Es gibt zu viele unerreichbare lose Objekte; führen Sie 'git prune' aus, um "
 "diese zu löschen."
 
-#: builtin/grep.c:23
+#: builtin/grep.c:25
 msgid "git grep [<options>] [-e] <pattern> [<rev>...] [[--] <path>...]"
 msgstr "git grep [<Optionen>] [-e] <Muster> [<Commit>...] [[--] <Pfad>...]"
 
-#: builtin/grep.c:219
+#: builtin/grep.c:232
 #, c-format
 msgid "grep: failed to create thread: %s"
 msgstr "grep: Fehler beim Erzeugen eines Thread: %s"
 
-#: builtin/grep.c:277
+#: builtin/grep.c:290
 #, c-format
 msgid "invalid number of threads specified (%d) for %s"
 msgstr "ungültige Anzahl von Threads (%d) für %s angegeben"
 
-#: builtin/grep.c:453 builtin/grep.c:488
+#: builtin/grep.c:763 builtin/grep.c:804
 #, c-format
 msgid "unable to read tree (%s)"
 msgstr "konnte \"Tree\"-Objekt (%s) nicht lesen"
 
-#: builtin/grep.c:503
+#: builtin/grep.c:823
 #, c-format
 msgid "unable to grep from object of type %s"
 msgstr "kann \"grep\" nicht mit Objekten des Typs %s durchführen"
 
-#: builtin/grep.c:561
+#: builtin/grep.c:887
 #, c-format
 msgid "switch `%c' expects a numerical value"
 msgstr "Schalter '%c' erwartet einen numerischen Wert"
 
-#: builtin/grep.c:647
+#: builtin/grep.c:973
 msgid "search in index instead of in the work tree"
 msgstr "im Index anstatt im Arbeitsverzeichnis suchen"
 
-#: builtin/grep.c:649
+#: builtin/grep.c:975
 msgid "find in contents not managed by git"
 msgstr "auch in Inhalten finden, die nicht von Git verwaltet werden"
 
-#: builtin/grep.c:651
+#: builtin/grep.c:977
 msgid "search in both tracked and untracked files"
 msgstr "in versionierten und unversionierten Dateien suchen"
 
-#: builtin/grep.c:653
+#: builtin/grep.c:979
 msgid "ignore files specified via '.gitignore'"
 msgstr "Dateien, die über '.gitignore' angegeben sind, ignorieren"
 
-#: builtin/grep.c:656
+#: builtin/grep.c:981
+msgid "recursivley search in each submodule"
+msgstr "rekursive Suche in jedem Submodul"
+
+#: builtin/grep.c:983
+msgid "basename"
+msgstr "Basisname"
+
+#: builtin/grep.c:984
+msgid "prepend parent project's basename to output"
+msgstr "Basisname des Elternprojektes an Ausgaben voranstellen"
+
+#: builtin/grep.c:987
 msgid "show non-matching lines"
 msgstr "Zeilen ohne Übereinstimmungen anzeigen"
 
-#: builtin/grep.c:658
+#: builtin/grep.c:989
 msgid "case insensitive matching"
 msgstr "Übereinstimmungen unabhängig von Groß- und Kleinschreibung finden"
 
-#: builtin/grep.c:660
+#: builtin/grep.c:991
 msgid "match patterns only at word boundaries"
 msgstr "nur ganze Wörter suchen"
 
-#: builtin/grep.c:662
+#: builtin/grep.c:993
 msgid "process binary files as text"
 msgstr "binäre Dateien als Text verarbeiten"
 
-#: builtin/grep.c:664
+#: builtin/grep.c:995
 msgid "don't match patterns in binary files"
 msgstr "keine Muster in Binärdateien finden"
 
-#: builtin/grep.c:667
+#: builtin/grep.c:998
 msgid "process binary files with textconv filters"
 msgstr "binäre Dateien mit \"textconv\"-Filtern verarbeiten"
 
-#: builtin/grep.c:669
+#: builtin/grep.c:1000
 msgid "descend at most <depth> levels"
 msgstr "höchstens <Tiefe> Ebenen durchlaufen"
 
-#: builtin/grep.c:673
+#: builtin/grep.c:1004
 msgid "use extended POSIX regular expressions"
 msgstr "erweiterte reguläre Ausdrücke aus POSIX verwenden"
 
-#: builtin/grep.c:676
+#: builtin/grep.c:1007
 msgid "use basic POSIX regular expressions (default)"
 msgstr "grundlegende reguläre Ausdrücke aus POSIX verwenden (Standard)"
 
-#: builtin/grep.c:679
+#: builtin/grep.c:1010
 msgid "interpret patterns as fixed strings"
 msgstr "Muster als feste Zeichenketten interpretieren"
 
-#: builtin/grep.c:682
+#: builtin/grep.c:1013
 msgid "use Perl-compatible regular expressions"
 msgstr "Perl-kompatible reguläre Ausdrücke verwenden"
 
-#: builtin/grep.c:685
+#: builtin/grep.c:1016
 msgid "show line numbers"
 msgstr "Zeilennummern anzeigen"
 
-#: builtin/grep.c:686
+#: builtin/grep.c:1017
 msgid "don't show filenames"
 msgstr "keine Dateinamen anzeigen"
 
-#: builtin/grep.c:687
+#: builtin/grep.c:1018
 msgid "show filenames"
 msgstr "Dateinamen anzeigen"
 
-#: builtin/grep.c:689
+#: builtin/grep.c:1020
 msgid "show filenames relative to top directory"
 msgstr "Dateinamen relativ zum Projektverzeichnis anzeigen"
 
-#: builtin/grep.c:691
+#: builtin/grep.c:1022
 msgid "show only filenames instead of matching lines"
 msgstr "nur Dateinamen anzeigen anstatt übereinstimmende Zeilen"
 
-#: builtin/grep.c:693
+#: builtin/grep.c:1024
 msgid "synonym for --files-with-matches"
 msgstr "Synonym für --files-with-matches"
 
-#: builtin/grep.c:696
+#: builtin/grep.c:1027
 msgid "show only the names of files without match"
 msgstr "nur die Dateinamen ohne Übereinstimmungen anzeigen"
 
-#: builtin/grep.c:698
+#: builtin/grep.c:1029
 msgid "print NUL after filenames"
 msgstr "NUL-Zeichen nach Dateinamen ausgeben"
 
-#: builtin/grep.c:700
+#: builtin/grep.c:1031
 msgid "show the number of matches instead of matching lines"
 msgstr "anstatt der Zeilen, die Anzahl der übereinstimmenden Zeilen anzeigen"
 
-#: builtin/grep.c:701
+#: builtin/grep.c:1032
 msgid "highlight matches"
 msgstr "Übereinstimmungen hervorheben"
 
-#: builtin/grep.c:703
+#: builtin/grep.c:1034
 msgid "print empty line between matches from different files"
 msgstr ""
 "eine Leerzeile zwischen Übereinstimmungen in verschiedenen Dateien ausgeben"
 
-#: builtin/grep.c:705
+#: builtin/grep.c:1036
 msgid "show filename only once above matches from same file"
 msgstr ""
 "den Dateinamen nur einmal oberhalb der Übereinstimmungen aus dieser Datei "
 "anzeigen"
 
-#: builtin/grep.c:708
+#: builtin/grep.c:1039
 msgid "show <n> context lines before and after matches"
 msgstr "<n> Zeilen vor und nach den Übereinstimmungen anzeigen"
 
-#: builtin/grep.c:711
+#: builtin/grep.c:1042
 msgid "show <n> context lines before matches"
 msgstr "<n> Zeilen vor den Übereinstimmungen anzeigen"
 
-#: builtin/grep.c:713
+#: builtin/grep.c:1044
 msgid "show <n> context lines after matches"
 msgstr "<n> Zeilen nach den Übereinstimmungen anzeigen"
 
-#: builtin/grep.c:715
+#: builtin/grep.c:1046
 msgid "use <n> worker threads"
 msgstr "<n> Threads benutzen"
 
-#: builtin/grep.c:716
+#: builtin/grep.c:1047
 msgid "shortcut for -C NUM"
 msgstr "Kurzform für -C NUM"
 
-#: builtin/grep.c:719
+#: builtin/grep.c:1050
 msgid "show a line with the function name before matches"
 msgstr "eine Zeile mit dem Funktionsnamen vor Übereinstimmungen anzeigen"
 
-#: builtin/grep.c:721
+#: builtin/grep.c:1052
 msgid "show the surrounding function"
 msgstr "die umgebende Funktion anzeigen"
 
-#: builtin/grep.c:724
+#: builtin/grep.c:1055
 msgid "read patterns from file"
 msgstr "Muster von einer Datei lesen"
 
-#: builtin/grep.c:726
+#: builtin/grep.c:1057
 msgid "match <pattern>"
 msgstr "<Muster> finden"
 
-#: builtin/grep.c:728
+#: builtin/grep.c:1059
 msgid "combine patterns specified with -e"
 msgstr "Muster kombinieren, die mit -e angegeben wurden"
 
-#: builtin/grep.c:740
+#: builtin/grep.c:1071
 msgid "indicate hit with exit status without output"
 msgstr "Übereinstimmungen nur durch Beendigungsstatus anzeigen"
 
-#: builtin/grep.c:742
+#: builtin/grep.c:1073
 msgid "show only matches from files that match all patterns"
 msgstr ""
 "nur Übereinstimmungen von Dateien anzeigen, die allen Mustern entsprechen"
 
-#: builtin/grep.c:744
+#: builtin/grep.c:1075
 msgid "show parse tree for grep expression"
 msgstr "geparstes Verzeichnis für \"grep\"-Ausdruck anzeigen"
 
-#: builtin/grep.c:748
+#: builtin/grep.c:1079
 msgid "pager"
 msgstr "Anzeigeprogramm"
 
-#: builtin/grep.c:748
+#: builtin/grep.c:1079
 msgid "show matching files in the pager"
 msgstr "Dateien mit Übereinstimmungen im Anzeigeprogramm anzeigen"
 
-#: builtin/grep.c:751
+#: builtin/grep.c:1082
 msgid "allow calling of grep(1) (ignored by this build)"
 msgstr "den Aufruf von grep(1) erlauben (von dieser Programmversion ignoriert)"
 
-#: builtin/grep.c:814
+#: builtin/grep.c:1146
 msgid "no pattern given."
 msgstr "keine Muster angegeben"
 
-#: builtin/grep.c:846 builtin/index-pack.c:1480
+#: builtin/grep.c:1178 builtin/index-pack.c:1482
 #, c-format
 msgid "invalid number of threads specified (%d)"
 msgstr "ungültige Anzahl von Threads angegeben (%d)"
 
-#: builtin/grep.c:876
+#: builtin/grep.c:1215
 msgid "--open-files-in-pager only works on the worktree"
 msgstr ""
 "Die Option --open-files-in-pager kann nur innerhalb des "
 "Arbeitsverzeichnisses verwendet werden."
 
-#: builtin/grep.c:902
+#: builtin/grep.c:1238
+msgid "option not supported with --recurse-submodules."
+msgstr "Option wird mit --recurse-submodules nicht unterstützt."
+
+#: builtin/grep.c:1244
 msgid "--cached or --untracked cannot be used with --no-index."
 msgstr ""
 "Die Optionen --cached und --untracked können nicht mit --no-index verwendet "
 "werden."
 
-#: builtin/grep.c:907
+#: builtin/grep.c:1249
 msgid "--no-index or --untracked cannot be used with revs."
 msgstr ""
 "Die Optionen --no-index und --untracked können nicht mit Commits verwendet "
 "werden."
 
-#: builtin/grep.c:910
+#: builtin/grep.c:1252
 msgid "--[no-]exclude-standard cannot be used for tracked contents."
 msgstr ""
 "Die Option --[no-]exclude-standard kann nicht mit versionierten Inhalten "
 "verwendet werden."
 
-#: builtin/grep.c:918
+#: builtin/grep.c:1260
 msgid "both --cached and trees are given."
 msgstr "Die Option --cached kann nicht mit \"Tree\"-Objekten verwendet werden."
 
@@ -8440,183 +8896,187 @@
 msgstr "ernsthafte Inkonsistenz nach Dekomprimierung"
 
 #: builtin/index-pack.c:748 builtin/index-pack.c:754 builtin/index-pack.c:777
-#: builtin/index-pack.c:811 builtin/index-pack.c:820
+#: builtin/index-pack.c:813 builtin/index-pack.c:822
 #, c-format
 msgid "SHA1 COLLISION FOUND WITH %s !"
 msgstr "SHA1 KOLLISION MIT %s GEFUNDEN !"
 
-#: builtin/index-pack.c:751 builtin/pack-objects.c:166
-#: builtin/pack-objects.c:258
+#: builtin/index-pack.c:751 builtin/pack-objects.c:164
+#: builtin/pack-objects.c:256
 #, c-format
 msgid "unable to read %s"
 msgstr "kann %s nicht lesen"
 
-#: builtin/index-pack.c:817
+#: builtin/index-pack.c:819
 #, c-format
 msgid "cannot read existing object %s"
 msgstr "Kann existierendes Objekt %s nicht lesen."
 
-#: builtin/index-pack.c:831
+#: builtin/index-pack.c:833
 #, c-format
 msgid "invalid blob object %s"
 msgstr "ungültiges Blob-Objekt %s"
 
-#: builtin/index-pack.c:845
+#: builtin/index-pack.c:847
 #, c-format
 msgid "invalid %s"
 msgstr "Ungültiger Objekt-Typ %s"
 
-#: builtin/index-pack.c:848
+#: builtin/index-pack.c:850
 msgid "Error in object"
 msgstr "Fehler in Objekt"
 
-#: builtin/index-pack.c:850
+#: builtin/index-pack.c:852
 #, c-format
 msgid "Not all child objects of %s are reachable"
 msgstr "Nicht alle Kind-Objekte von %s sind erreichbar"
 
-#: builtin/index-pack.c:922 builtin/index-pack.c:953
+#: builtin/index-pack.c:924 builtin/index-pack.c:955
 msgid "failed to apply delta"
 msgstr "Konnte Dateiunterschied nicht anwenden"
 
-#: builtin/index-pack.c:1123
+#: builtin/index-pack.c:1125
 msgid "Receiving objects"
 msgstr "Empfange Objekte"
 
-#: builtin/index-pack.c:1123
+#: builtin/index-pack.c:1125
 msgid "Indexing objects"
 msgstr "Indiziere Objekte"
 
-#: builtin/index-pack.c:1155
+#: builtin/index-pack.c:1157
 msgid "pack is corrupted (SHA1 mismatch)"
 msgstr "Paket ist beschädigt (SHA1 unterschiedlich)"
 
-#: builtin/index-pack.c:1160
+#: builtin/index-pack.c:1162
 msgid "cannot fstat packfile"
 msgstr "kann Paketdatei nicht lesen"
 
-#: builtin/index-pack.c:1163
+#: builtin/index-pack.c:1165
 msgid "pack has junk at the end"
 msgstr "Paketende enthält nicht verwendbaren Inhalt"
 
-#: builtin/index-pack.c:1174
+#: builtin/index-pack.c:1176
 msgid "confusion beyond insanity in parse_pack_objects()"
 msgstr "Fehler beim Ausführen von \"parse_pack_objects()\""
 
-#: builtin/index-pack.c:1197
+#: builtin/index-pack.c:1199
 msgid "Resolving deltas"
 msgstr "Löse Unterschiede auf"
 
-#: builtin/index-pack.c:1208
+#: builtin/index-pack.c:1210
 #, c-format
 msgid "unable to create thread: %s"
 msgstr "kann Thread nicht erzeugen: %s"
 
-#: builtin/index-pack.c:1250
+#: builtin/index-pack.c:1252
 msgid "confusion beyond insanity"
 msgstr "Fehler beim Auflösen der Unterschiede"
 
-#: builtin/index-pack.c:1256
+#: builtin/index-pack.c:1258
 #, c-format
 msgid "completed with %d local object"
 msgid_plural "completed with %d local objects"
 msgstr[0] "abgeschlossen mit %d lokalem Objekt"
 msgstr[1] "abgeschlossen mit %d lokalen Objekten"
 
-#: builtin/index-pack.c:1268
+#: builtin/index-pack.c:1270
 #, c-format
 msgid "Unexpected tail checksum for %s (disk corruption?)"
 msgstr "Unerwartete Prüfsumme für %s (Festplattenfehler?)"
 
-#: builtin/index-pack.c:1272
+#: builtin/index-pack.c:1274
 #, c-format
 msgid "pack has %d unresolved delta"
 msgid_plural "pack has %d unresolved deltas"
 msgstr[0] "Paket hat %d unaufgelöste Unterschied"
 msgstr[1] "Paket hat %d unaufgelöste Unterschiede"
 
-#: builtin/index-pack.c:1296
+#: builtin/index-pack.c:1298
 #, c-format
 msgid "unable to deflate appended object (%d)"
 msgstr "Konnte angehängtes Objekt (%d) nicht komprimieren"
 
-#: builtin/index-pack.c:1372
+#: builtin/index-pack.c:1374
 #, c-format
 msgid "local object %s is corrupt"
 msgstr "lokales Objekt %s ist beschädigt"
 
-#: builtin/index-pack.c:1396
+#: builtin/index-pack.c:1398
 msgid "error while closing pack file"
 msgstr "Fehler beim Schließen der Paketdatei"
 
-#: builtin/index-pack.c:1409
+#: builtin/index-pack.c:1411
 #, c-format
 msgid "cannot write keep file '%s'"
 msgstr "Kann Paketbeschreibungsdatei '%s' nicht schreiben"
 
-#: builtin/index-pack.c:1417
+#: builtin/index-pack.c:1419
 #, c-format
 msgid "cannot close written keep file '%s'"
 msgstr "Kann eben erstellte Paketbeschreibungsdatei '%s' nicht schließen"
 
-#: builtin/index-pack.c:1430
+#: builtin/index-pack.c:1432
 msgid "cannot store pack file"
 msgstr "Kann Paketdatei nicht speichern"
 
-#: builtin/index-pack.c:1441
+#: builtin/index-pack.c:1443
 msgid "cannot store index file"
 msgstr "Kann Indexdatei nicht speichern"
 
-#: builtin/index-pack.c:1474
+#: builtin/index-pack.c:1476
 #, c-format
 msgid "bad pack.indexversion=%<PRIu32>"
 msgstr "\"pack.indexversion=%<PRIu32>\" ist ungültig"
 
-#: builtin/index-pack.c:1484 builtin/index-pack.c:1681
+#: builtin/index-pack.c:1486 builtin/index-pack.c:1683
 #, c-format
 msgid "no threads support, ignoring %s"
 msgstr "keine Unterstützung von Threads, '%s' wird ignoriert"
 
-#: builtin/index-pack.c:1542
+#: builtin/index-pack.c:1544
 #, c-format
 msgid "Cannot open existing pack file '%s'"
 msgstr "Kann existierende Paketdatei '%s' nicht öffnen"
 
-#: builtin/index-pack.c:1544
+#: builtin/index-pack.c:1546
 #, c-format
 msgid "Cannot open existing pack idx file for '%s'"
 msgstr "Kann existierende Indexdatei für Paket '%s' nicht öffnen"
 
-#: builtin/index-pack.c:1591
+#: builtin/index-pack.c:1593
 #, c-format
 msgid "non delta: %d object"
 msgid_plural "non delta: %d objects"
 msgstr[0] "kein Unterschied: %d Objekt"
 msgstr[1] "kein Unterschied: %d Objekte"
 
-#: builtin/index-pack.c:1598
+#: builtin/index-pack.c:1600
 #, c-format
 msgid "chain length = %d: %lu object"
 msgid_plural "chain length = %d: %lu objects"
 msgstr[0] "Länge der Objekt-Liste = %d: %lu Objekt"
 msgstr[1] "Länge der Objekt-Liste = %d: %lu Objekte"
 
-#: builtin/index-pack.c:1611
+#: builtin/index-pack.c:1613
 #, c-format
 msgid "packfile name '%s' does not end with '.pack'"
 msgstr "Name der Paketdatei '%s' endet nicht mit '.pack'"
 
-#: builtin/index-pack.c:1693 builtin/index-pack.c:1696
-#: builtin/index-pack.c:1712 builtin/index-pack.c:1716
+#: builtin/index-pack.c:1695 builtin/index-pack.c:1698
+#: builtin/index-pack.c:1714 builtin/index-pack.c:1718
 #, c-format
 msgid "bad %s"
 msgstr "%s ist ungültig"
 
-#: builtin/index-pack.c:1732
+#: builtin/index-pack.c:1734
 msgid "--fix-thin cannot be used without --stdin"
 msgstr "Die Option --fix-thin kann nicht ohne --stdin verwendet werden."
 
-#: builtin/index-pack.c:1740
+#: builtin/index-pack.c:1736
+msgid "--stdin requires a git repository"
+msgstr "--stdin erfordert ein Git-Repository"
+
+#: builtin/index-pack.c:1744
 msgid "--verify with no packfile name given"
 msgstr "Die Option --verify wurde ohne Namen der Paketdatei angegeben."
 
@@ -8864,7 +9324,7 @@
 msgid "Unknown commit %s"
 msgstr "Unbekannter Commit %s"
 
-#: builtin/log.c:1258 builtin/notes.c:884 builtin/tag.c:455
+#: builtin/log.c:1258 builtin/notes.c:884 builtin/tag.c:476
 #, c-format
 msgid "Failed to resolve '%s' as a valid ref."
 msgstr "Konnte '%s' nicht als gültige Referenz auflösen."
@@ -9101,108 +9561,108 @@
 "Konnte gefolgten Remote-Branch nicht finden, bitte geben Sie <Upstream> "
 "manuell an.\n"
 
-#: builtin/ls-files.c:458
+#: builtin/ls-files.c:460
 msgid "git ls-files [<options>] [<file>...]"
 msgstr "git ls-files [<Optionen>] [<Datei>...]"
 
-#: builtin/ls-files.c:507
+#: builtin/ls-files.c:509
 msgid "identify the file status with tags"
 msgstr "den Dateistatus mit Tags anzeigen"
 
-#: builtin/ls-files.c:509
+#: builtin/ls-files.c:511
 msgid "use lowercase letters for 'assume unchanged' files"
 msgstr ""
 "Kleinbuchstaben für Dateien mit 'assume unchanged' Markierung verwenden"
 
-#: builtin/ls-files.c:511
+#: builtin/ls-files.c:513
 msgid "show cached files in the output (default)"
 msgstr "zwischengespeicherte Dateien in der Ausgabe anzeigen (Standard)"
 
-#: builtin/ls-files.c:513
+#: builtin/ls-files.c:515
 msgid "show deleted files in the output"
 msgstr "entfernte Dateien in der Ausgabe anzeigen"
 
-#: builtin/ls-files.c:515
+#: builtin/ls-files.c:517
 msgid "show modified files in the output"
 msgstr "geänderte Dateien in der Ausgabe anzeigen"
 
-#: builtin/ls-files.c:517
+#: builtin/ls-files.c:519
 msgid "show other files in the output"
 msgstr "sonstige Dateien in der Ausgabe anzeigen"
 
-#: builtin/ls-files.c:519
+#: builtin/ls-files.c:521
 msgid "show ignored files in the output"
 msgstr "ignorierte Dateien in der Ausgabe anzeigen"
 
-#: builtin/ls-files.c:522
+#: builtin/ls-files.c:524
 msgid "show staged contents' object name in the output"
 msgstr ""
 "Objektnamen von Inhalten, die zum Commit vorgemerkt sind, in der Ausgabe "
 "anzeigen"
 
-#: builtin/ls-files.c:524
+#: builtin/ls-files.c:526
 msgid "show files on the filesystem that need to be removed"
 msgstr "Dateien im Dateisystem, die gelöscht werden müssen, anzeigen"
 
-#: builtin/ls-files.c:526
+#: builtin/ls-files.c:528
 msgid "show 'other' directories' names only"
 msgstr "nur Namen von 'sonstigen' Verzeichnissen anzeigen"
 
-#: builtin/ls-files.c:528
+#: builtin/ls-files.c:530
 msgid "show line endings of files"
 msgstr "Zeilenenden von Dateien anzeigen"
 
-#: builtin/ls-files.c:530
+#: builtin/ls-files.c:532
 msgid "don't show empty directories"
 msgstr "keine leeren Verzeichnisse anzeigen"
 
-#: builtin/ls-files.c:533
+#: builtin/ls-files.c:535
 msgid "show unmerged files in the output"
 msgstr "nicht zusammengeführte Dateien in der Ausgabe anzeigen"
 
-#: builtin/ls-files.c:535
+#: builtin/ls-files.c:537
 msgid "show resolve-undo information"
 msgstr "'resolve-undo' Informationen anzeigen"
 
-#: builtin/ls-files.c:537
+#: builtin/ls-files.c:539
 msgid "skip files matching pattern"
 msgstr "Dateien auslassen, die einem Muster entsprechen"
 
-#: builtin/ls-files.c:540
+#: builtin/ls-files.c:542
 msgid "exclude patterns are read from <file>"
 msgstr "Muster, gelesen von <Datei>, ausschließen"
 
-#: builtin/ls-files.c:543
+#: builtin/ls-files.c:545
 msgid "read additional per-directory exclude patterns in <file>"
 msgstr "zusätzliche pro-Verzeichnis Auschlussmuster aus <Datei> auslesen"
 
-#: builtin/ls-files.c:545
+#: builtin/ls-files.c:547
 msgid "add the standard git exclusions"
 msgstr "die standardmäßigen Git-Ausschlüsse hinzufügen"
 
-#: builtin/ls-files.c:548
+#: builtin/ls-files.c:550
 msgid "make the output relative to the project top directory"
 msgstr "Ausgabe relativ zum Projektverzeichnis"
 
-#: builtin/ls-files.c:551
+#: builtin/ls-files.c:553
 msgid "recurse through submodules"
 msgstr "Rekursion in Submodulen durchführen"
 
-#: builtin/ls-files.c:553
+#: builtin/ls-files.c:555
 msgid "if any <file> is not in the index, treat this as an error"
 msgstr "als Fehler behandeln, wenn sich eine <Datei> nicht im Index befindet"
 
-#: builtin/ls-files.c:554
+#: builtin/ls-files.c:556
 msgid "tree-ish"
 msgstr "Commit-Referenz"
 
-#: builtin/ls-files.c:555
+#: builtin/ls-files.c:557
 msgid "pretend that paths removed since <tree-ish> are still present"
 msgstr ""
 "vorgeben, dass Pfade, die seit <Commit-Referenz> gelöscht wurden, immer noch "
 "vorhanden sind"
 
-#: builtin/ls-files.c:557
+#: builtin/ls-files.c:559
 msgid "show debugging data"
 msgstr "Ausgaben zur Fehlersuche anzeigen"
 
@@ -9258,35 +9718,35 @@
 msgid "git ls-tree [<options>] <tree-ish> [<path>...]"
 msgstr "git ls-tree [<Optionen>] <Commit-Referenz> [<Pfad>...]"
 
-#: builtin/ls-tree.c:128
+#: builtin/ls-tree.c:126
 msgid "only show trees"
 msgstr "nur Verzeichnisse anzeigen"
 
-#: builtin/ls-tree.c:130
+#: builtin/ls-tree.c:128
 msgid "recurse into subtrees"
 msgstr "Rekursion in Unterverzeichnissen durchführen"
 
-#: builtin/ls-tree.c:132
+#: builtin/ls-tree.c:130
 msgid "show trees when recursing"
 msgstr "Verzeichnisse bei Rekursion anzeigen"
 
-#: builtin/ls-tree.c:135
+#: builtin/ls-tree.c:133
 msgid "terminate entries with NUL byte"
 msgstr "Einträge mit NUL-Byte abschließen"
 
-#: builtin/ls-tree.c:136
+#: builtin/ls-tree.c:134
 msgid "include object size"
 msgstr "Objektgröße einschließen"
 
-#: builtin/ls-tree.c:138 builtin/ls-tree.c:140
+#: builtin/ls-tree.c:136 builtin/ls-tree.c:138
 msgid "list only filenames"
 msgstr "nur Dateinamen auflisten"
 
-#: builtin/ls-tree.c:143
+#: builtin/ls-tree.c:141
 msgid "use full path names"
 msgstr "vollständige Pfadnamen verwenden"
 
-#: builtin/ls-tree.c:145
+#: builtin/ls-tree.c:143
 msgid "list entire tree; not just current directory (implies --full-name)"
 msgstr ""
 "das gesamte Verzeichnis auflisten; nicht nur das aktuelle Verzeichnis "
@@ -9304,165 +9764,173 @@
 msgid "git merge --abort"
 msgstr "git merge --abort"
 
-#: builtin/merge.c:102
+#: builtin/merge.c:49
+msgid "git merge --continue"
+msgstr "git merge --continue"
+
+#: builtin/merge.c:104
 msgid "switch `m' requires a value"
 msgstr "Schalter 'm' erfordert einen Wert."
 
-#: builtin/merge.c:139
+#: builtin/merge.c:141
 #, c-format
 msgid "Could not find merge strategy '%s'.\n"
 msgstr "Konnte Merge-Strategie '%s' nicht finden.\n"
 
-#: builtin/merge.c:140
+#: builtin/merge.c:142
 #, c-format
 msgid "Available strategies are:"
 msgstr "Verfügbare Strategien sind:"
 
-#: builtin/merge.c:145
+#: builtin/merge.c:147
 #, c-format
 msgid "Available custom strategies are:"
 msgstr "Verfügbare benutzerdefinierte Strategien sind:"
 
-#: builtin/merge.c:195 builtin/pull.c:127
+#: builtin/merge.c:197 builtin/pull.c:127
 msgid "do not show a diffstat at the end of the merge"
 msgstr "keine Zusammenfassung der Unterschiede am Schluss des Merges anzeigen"
 
-#: builtin/merge.c:198 builtin/pull.c:130
+#: builtin/merge.c:200 builtin/pull.c:130
 msgid "show a diffstat at the end of the merge"
 msgstr "eine Zusammenfassung der Unterschiede am Schluss des Merges anzeigen"
 
-#: builtin/merge.c:199 builtin/pull.c:133
+#: builtin/merge.c:201 builtin/pull.c:133
 msgid "(synonym to --stat)"
 msgstr "(Synonym für --stat)"
 
-#: builtin/merge.c:201 builtin/pull.c:136
+#: builtin/merge.c:203 builtin/pull.c:136
 msgid "add (at most <n>) entries from shortlog to merge commit message"
 msgstr ""
 "(höchstens <n>) Einträge von \"shortlog\" zur Beschreibung des Merge-Commits "
 "hinzufügen"
 
-#: builtin/merge.c:204 builtin/pull.c:139
+#: builtin/merge.c:206 builtin/pull.c:139
 msgid "create a single commit instead of doing a merge"
 msgstr "einen einzelnen Commit anstatt eines Merges erzeugen"
 
-#: builtin/merge.c:206 builtin/pull.c:142
+#: builtin/merge.c:208 builtin/pull.c:142
 msgid "perform a commit if the merge succeeds (default)"
 msgstr "einen Commit durchführen, wenn der Merge erfolgreich war (Standard)"
 
-#: builtin/merge.c:208 builtin/pull.c:145
+#: builtin/merge.c:210 builtin/pull.c:145
 msgid "edit message before committing"
 msgstr "Bearbeitung der Beschreibung vor dem Commit"
 
-#: builtin/merge.c:209
+#: builtin/merge.c:211
 msgid "allow fast-forward (default)"
 msgstr "Vorspulen erlauben (Standard)"
 
-#: builtin/merge.c:211 builtin/pull.c:151
+#: builtin/merge.c:213 builtin/pull.c:151
 msgid "abort if fast-forward is not possible"
 msgstr "abbrechen, wenn kein Vorspulen möglich ist"
 
-#: builtin/merge.c:215 builtin/pull.c:154
+#: builtin/merge.c:217 builtin/pull.c:154
 msgid "verify that the named commit has a valid GPG signature"
 msgstr "den genannten Commit auf eine gültige GPG-Signatur überprüfen"
 
-#: builtin/merge.c:216 builtin/notes.c:774 builtin/pull.c:158
+#: builtin/merge.c:218 builtin/notes.c:774 builtin/pull.c:158
 #: builtin/revert.c:89
 msgid "strategy"
 msgstr "Strategie"
 
-#: builtin/merge.c:217 builtin/pull.c:159
+#: builtin/merge.c:219 builtin/pull.c:159
 msgid "merge strategy to use"
 msgstr "zu verwendende Merge-Strategie"
 
-#: builtin/merge.c:218 builtin/pull.c:162
+#: builtin/merge.c:220 builtin/pull.c:162
 msgid "option=value"
 msgstr "Option=Wert"
 
-#: builtin/merge.c:219 builtin/pull.c:163
+#: builtin/merge.c:221 builtin/pull.c:163
 msgid "option for selected merge strategy"
 msgstr "Option für ausgewählte Merge-Strategie"
 
-#: builtin/merge.c:221
+#: builtin/merge.c:223
 msgid "merge commit message (for a non-fast-forward merge)"
 msgstr ""
 "Commit-Beschreibung zusammenführen (für einen Merge, der kein Vorspulen war)"
 
-#: builtin/merge.c:225
+#: builtin/merge.c:227
 msgid "abort the current in-progress merge"
 msgstr "den sich im Gange befindlichen Merge abbrechen"
 
-#: builtin/merge.c:227 builtin/pull.c:170
+#: builtin/merge.c:229
+msgid "continue the current in-progress merge"
+msgstr "den sich im Gange befindlichen Merge fortsetzen"
+
+#: builtin/merge.c:231 builtin/pull.c:170
 msgid "allow merging unrelated histories"
 msgstr "erlaube das Zusammenführen von nicht zusammenhängenden Historien"
 
-#: builtin/merge.c:255
+#: builtin/merge.c:259
 msgid "could not run stash."
 msgstr "Konnte \"stash\" nicht ausführen."
 
-#: builtin/merge.c:260
+#: builtin/merge.c:264
 msgid "stash failed"
 msgstr "\"stash\" fehlgeschlagen"
 
-#: builtin/merge.c:265
+#: builtin/merge.c:269
 #, c-format
 msgid "not a valid object: %s"
 msgstr "kein gültiges Objekt: %s"
 
-#: builtin/merge.c:284 builtin/merge.c:301
+#: builtin/merge.c:288 builtin/merge.c:305
 msgid "read-tree failed"
 msgstr "read-tree fehlgeschlagen"
 
-#: builtin/merge.c:331
+#: builtin/merge.c:335
 msgid " (nothing to squash)"
 msgstr " (nichts zu quetschen)"
 
-#: builtin/merge.c:342
+#: builtin/merge.c:346
 #, c-format
 msgid "Squash commit -- not updating HEAD\n"
 msgstr "Quetsche Commit -- HEAD wird nicht aktualisiert\n"
 
-#: builtin/merge.c:392
+#: builtin/merge.c:396
 #, c-format
 msgid "No merge message -- not updating HEAD\n"
 msgstr "Keine Merge-Commit-Beschreibung -- HEAD wird nicht aktualisiert\n"
 
-#: builtin/merge.c:443
+#: builtin/merge.c:447
 #, c-format
 msgid "'%s' does not point to a commit"
 msgstr "'%s' zeigt auf keinen Commit"
 
-#: builtin/merge.c:533
+#: builtin/merge.c:537
 #, c-format
 msgid "Bad branch.%s.mergeoptions string: %s"
 msgstr "Ungültiger branch.%s.mergeoptions String: %s"
 
-#: builtin/merge.c:652
+#: builtin/merge.c:656
 msgid "Not handling anything other than two heads merge."
 msgstr "Es wird nur der Merge von zwei Branches behandelt."
 
-#: builtin/merge.c:666
+#: builtin/merge.c:670
 #, c-format
 msgid "Unknown option for merge-recursive: -X%s"
 msgstr "Unbekannte Option für merge-recursive: -X%s"
 
-#: builtin/merge.c:681
+#: builtin/merge.c:685
 #, c-format
 msgid "unable to write %s"
 msgstr "konnte %s nicht schreiben"
 
-#: builtin/merge.c:733
+#: builtin/merge.c:737
 #, c-format
 msgid "Could not read from '%s'"
 msgstr "konnte nicht von '%s' lesen"
 
-#: builtin/merge.c:742
+#: builtin/merge.c:746
 #, c-format
 msgid "Not committing merge; use 'git commit' to complete the merge.\n"
 msgstr ""
 "Merge wurde nicht committet; benutzen Sie 'git commit', um den Merge "
 "abzuschließen.\n"
 
-#: builtin/merge.c:748
+#: builtin/merge.c:752
 #, c-format
 msgid ""
 "Please enter a commit message to explain why this merge is necessary,\n"
@@ -9478,69 +9946,81 @@
 "Zeilen beginnend mit '%c' werden ignoriert, und eine leere Beschreibung\n"
 "bricht den Commit ab.\n"
 
-#: builtin/merge.c:772
+#: builtin/merge.c:776
 msgid "Empty commit message."
 msgstr "Leere Commit-Beschreibung"
 
-#: builtin/merge.c:792
+#: builtin/merge.c:796
 #, c-format
 msgid "Wonderful.\n"
 msgstr "Wunderbar.\n"
 
-#: builtin/merge.c:847
+#: builtin/merge.c:851
 #, c-format
 msgid "Automatic merge failed; fix conflicts and then commit the result.\n"
 msgstr ""
 "Automatischer Merge fehlgeschlagen; beheben Sie die Konflikte und committen "
 "Sie dann das Ergebnis.\n"
 
-#: builtin/merge.c:863
+#: builtin/merge.c:867
 #, c-format
 msgid "'%s' is not a commit"
 msgstr "'%s' ist kein Commit"
 
-#: builtin/merge.c:904
+#: builtin/merge.c:908
 msgid "No current branch."
 msgstr "Sie befinden sich auf keinem Branch."
 
-#: builtin/merge.c:906
+#: builtin/merge.c:910
 msgid "No remote for the current branch."
 msgstr "Kein Remote-Repository für den aktuellen Branch."
 
-#: builtin/merge.c:908
+#: builtin/merge.c:912
 msgid "No default upstream defined for the current branch."
 msgstr ""
 "Es ist kein Standard-Upstream-Branch für den aktuellen Branch definiert."
 
-#: builtin/merge.c:913
+#: builtin/merge.c:917
 #, c-format
 msgid "No remote-tracking branch for %s from %s"
 msgstr "Kein Remote-Tracking-Branch für %s von %s"
 
-#: builtin/merge.c:960
+#: builtin/merge.c:964
 #, c-format
 msgid "Bad value '%s' in environment '%s'"
 msgstr "Fehlerhafter Wert '%s' in Umgebungsvariable '%s'"
 
-#: builtin/merge.c:1034
+#: builtin/merge.c:1038
 #, c-format
 msgid "could not close '%s'"
 msgstr "Konnte '%s' nicht schließen"
 
-#: builtin/merge.c:1061
+#: builtin/merge.c:1065
 #, c-format
 msgid "not something we can merge in %s: %s"
 msgstr "nichts was wir in %s zusammenführen können: %s"
 
-#: builtin/merge.c:1095
+#: builtin/merge.c:1099
 msgid "not something we can merge"
 msgstr "nichts was wir zusammenführen können"
 
-#: builtin/merge.c:1162
+#: builtin/merge.c:1167
+msgid "--abort expects no arguments"
+msgstr "--abort akzeptiert keine Argumente"
+
+#: builtin/merge.c:1171
 msgid "There is no merge to abort (MERGE_HEAD missing)."
 msgstr "Es gibt keinen Merge zum Abbrechen (MERGE_HEAD fehlt)"
 
-#: builtin/merge.c:1178
+#: builtin/merge.c:1183
+msgid "--continue expects no arguments"
+msgstr "--continue erwartet keine Argumente"
+
+#: builtin/merge.c:1187
+msgid "There is no merge in progress (MERGE_HEAD missing)."
+msgstr "Es ist keine Merge im Gange (MERGE_HEAD fehlt)."
+
+#: builtin/merge.c:1203
 msgid ""
 "You have not concluded your merge (MERGE_HEAD exists).\n"
 "Please, commit your changes before you merge."
@@ -9548,7 +10028,7 @@
 "Sie haben Ihren Merge nicht abgeschlossen (MERGE_HEAD existiert).\n"
 "Bitte committen Sie Ihre Änderungen, bevor Sie den Merge ausführen."
 
-#: builtin/merge.c:1185
+#: builtin/merge.c:1210
 msgid ""
 "You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists).\n"
 "Please, commit your changes before you merge."
@@ -9556,117 +10036,117 @@
 "Sie haben \"cherry-pick\" nicht abgeschlossen (CHERRY_PICK_HEAD existiert).\n"
 "Bitte committen Sie Ihre Änderungen, bevor Sie den Merge ausführen."
 
-#: builtin/merge.c:1188
+#: builtin/merge.c:1213
 msgid "You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists)."
 msgstr ""
 "Sie haben \"cherry-pick\" nicht abgeschlossen (CHERRY_PICK_HEAD existiert)."
 
-#: builtin/merge.c:1197
+#: builtin/merge.c:1222
 msgid "You cannot combine --squash with --no-ff."
 msgstr "Sie können --squash nicht mit --no-ff kombinieren."
 
-#: builtin/merge.c:1205
+#: builtin/merge.c:1230
 msgid "No commit specified and merge.defaultToUpstream not set."
 msgstr "Kein Commit angegeben und merge.defaultToUpstream ist nicht gesetzt."
 
-#: builtin/merge.c:1222
+#: builtin/merge.c:1247
 msgid "Squash commit into empty head not supported yet"
 msgstr ""
 "Bin auf einem Commit, der noch geboren wird; kann \"squash\" nicht ausführen."
 
-#: builtin/merge.c:1224
+#: builtin/merge.c:1249
 msgid "Non-fast-forward commit does not make sense into an empty head"
 msgstr ""
 "Nicht vorzuspulender Commit kann nicht in einem leeren Branch verwendet "
 "werden."
 
-#: builtin/merge.c:1229
+#: builtin/merge.c:1254
 #, c-format
 msgid "%s - not something we can merge"
 msgstr "%s - nichts was wir zusammenführen können"
 
-#: builtin/merge.c:1231
+#: builtin/merge.c:1256
 msgid "Can merge only exactly one commit into empty head"
 msgstr "Kann nur exakt einen Commit in einem leeren Branch zusammenführen."
 
-#: builtin/merge.c:1287
+#: builtin/merge.c:1312
 #, c-format
 msgid "Commit %s has an untrusted GPG signature, allegedly by %s."
 msgstr ""
 "Commit %s hat eine nicht vertrauenswürdige GPG-Signatur, angeblich von %s."
 
-#: builtin/merge.c:1290
+#: builtin/merge.c:1315
 #, c-format
 msgid "Commit %s has a bad GPG signature allegedly by %s."
 msgstr "Commit %s hat eine ungültige GPG-Signatur, angeblich von %s."
 
-#: builtin/merge.c:1293
+#: builtin/merge.c:1318
 #, c-format
 msgid "Commit %s does not have a GPG signature."
 msgstr "Commit %s hat keine GPG-Signatur."
 
-#: builtin/merge.c:1296
+#: builtin/merge.c:1321
 #, c-format
 msgid "Commit %s has a good GPG signature by %s\n"
 msgstr "Commit %s hat eine gültige GPG-Signatur von %s\n"
 
-#: builtin/merge.c:1358
+#: builtin/merge.c:1383
 msgid "refusing to merge unrelated histories"
 msgstr "Verweigere den Merge von nicht zusammenhängenden Historien."
 
-#: builtin/merge.c:1367
+#: builtin/merge.c:1392
 msgid "Already up-to-date."
 msgstr "Bereits aktuell."
 
-#: builtin/merge.c:1377
+#: builtin/merge.c:1402
 #, c-format
 msgid "Updating %s..%s\n"
 msgstr "Aktualisiere %s..%s\n"
 
-#: builtin/merge.c:1418
+#: builtin/merge.c:1443
 #, c-format
 msgid "Trying really trivial in-index merge...\n"
 msgstr "Probiere wirklich trivialen \"in-index\"-Merge ...\n"
 
-#: builtin/merge.c:1425
+#: builtin/merge.c:1450
 #, c-format
 msgid "Nope.\n"
 msgstr "Nein.\n"
 
-#: builtin/merge.c:1450
+#: builtin/merge.c:1475
 msgid "Already up-to-date. Yeeah!"
 msgstr "Bereits aktuell."
 
-#: builtin/merge.c:1456
+#: builtin/merge.c:1481
 msgid "Not possible to fast-forward, aborting."
 msgstr "Vorspulen nicht möglich, breche ab."
 
-#: builtin/merge.c:1479 builtin/merge.c:1558
+#: builtin/merge.c:1504 builtin/merge.c:1583
 #, c-format
 msgid "Rewinding the tree to pristine...\n"
 msgstr "Rücklauf des Verzeichnisses bis zum Ursprung ...\n"
 
-#: builtin/merge.c:1483
+#: builtin/merge.c:1508
 #, c-format
 msgid "Trying merge strategy %s...\n"
 msgstr "Probiere Merge-Strategie %s ...\n"
 
-#: builtin/merge.c:1549
+#: builtin/merge.c:1574
 #, c-format
 msgid "No merge strategy handled the merge.\n"
 msgstr "Keine Merge-Strategie behandelt diesen Merge.\n"
 
-#: builtin/merge.c:1551
+#: builtin/merge.c:1576
 #, c-format
 msgid "Merge with strategy %s failed.\n"
 msgstr "Merge mit Strategie %s fehlgeschlagen.\n"
 
-#: builtin/merge.c:1560
+#: builtin/merge.c:1585
 #, c-format
 msgid "Using the %s to prepare resolving by hand.\n"
 msgstr "Benutzen Sie \"%s\", um die Auflösung per Hand vorzubereiten.\n"
 
-#: builtin/merge.c:1572
+#: builtin/merge.c:1597
 #, c-format
 msgid "Automatic merge went well; stopped before committing as requested\n"
 msgstr ""
@@ -9799,97 +10279,97 @@
 msgid "allow creation of more than one tree"
 msgstr "die Erstellung von mehr als einem \"Tree\"-Objekt erlauben"
 
-#: builtin/mv.c:15
+#: builtin/mv.c:16
 msgid "git mv [<options>] <source>... <destination>"
 msgstr "git mv [<Optionen>] <Quelle>... <Ziel>"
 
-#: builtin/mv.c:70
+#: builtin/mv.c:82
 #, c-format
 msgid "Directory %s is in index and no submodule?"
 msgstr "Verzeichnis %s ist zum Commit vorgemerkt und kein Submodul?"
 
-#: builtin/mv.c:72 builtin/rm.c:317
+#: builtin/mv.c:84 builtin/rm.c:290
 msgid "Please stage your changes to .gitmodules or stash them to proceed"
 msgstr ""
 "Bitte merken Sie Ihre Änderungen in .gitmodules zum Commit vor oder "
 "benutzen\n"
 "Sie \"stash\", um fortzufahren."
 
-#: builtin/mv.c:90
+#: builtin/mv.c:102
 #, c-format
 msgid "%.*s is in index"
 msgstr "%.*s ist zum Commit vorgemerkt"
 
-#: builtin/mv.c:112
+#: builtin/mv.c:124
 msgid "force move/rename even if target exists"
 msgstr "Verschieben/Umbenennen erzwingen, auch wenn das Ziel existiert"
 
-#: builtin/mv.c:113
+#: builtin/mv.c:125
 msgid "skip move/rename errors"
 msgstr "Fehler beim Verschieben oder Umbenennen überspringen"
 
-#: builtin/mv.c:155
+#: builtin/mv.c:167
 #, c-format
 msgid "destination '%s' is not a directory"
 msgstr "Ziel '%s' ist kein Verzeichnis"
 
-#: builtin/mv.c:166
+#: builtin/mv.c:178
 #, c-format
 msgid "Checking rename of '%s' to '%s'\n"
 msgstr "Prüfe Umbenennung von '%s' nach '%s'\n"
 
-#: builtin/mv.c:170
+#: builtin/mv.c:182
 msgid "bad source"
 msgstr "ungültige Quelle"
 
-#: builtin/mv.c:173
+#: builtin/mv.c:185
 msgid "can not move directory into itself"
 msgstr "kann Verzeichnis nicht in sich selbst verschieben"
 
-#: builtin/mv.c:176
+#: builtin/mv.c:188
 msgid "cannot move directory over file"
 msgstr "kann Verzeichnis nicht über Datei verschieben"
 
-#: builtin/mv.c:185
+#: builtin/mv.c:197
 msgid "source directory is empty"
 msgstr "Quellverzeichnis ist leer"
 
-#: builtin/mv.c:210
+#: builtin/mv.c:222
 msgid "not under version control"
 msgstr "nicht unter Versionskontrolle"
 
-#: builtin/mv.c:213
+#: builtin/mv.c:225
 msgid "destination exists"
 msgstr "Ziel existiert bereits"
 
-#: builtin/mv.c:221
+#: builtin/mv.c:233
 #, c-format
 msgid "overwriting '%s'"
 msgstr "überschreibe '%s'"
 
-#: builtin/mv.c:224
+#: builtin/mv.c:236
 msgid "Cannot overwrite"
 msgstr "Kann nicht überschreiben"
 
-#: builtin/mv.c:227
+#: builtin/mv.c:239
 msgid "multiple sources for the same target"
 msgstr "mehrere Quellen für das selbe Ziel"
 
-#: builtin/mv.c:229
+#: builtin/mv.c:241
 msgid "destination directory does not exist"
 msgstr "Zielverzeichnis existiert nicht"
 
-#: builtin/mv.c:236
+#: builtin/mv.c:248
 #, c-format
 msgid "%s, source=%s, destination=%s"
 msgstr "%s, Quelle=%s, Ziel=%s"
 
-#: builtin/mv.c:257
+#: builtin/mv.c:269
 #, c-format
 msgid "Renaming %s to %s\n"
 msgstr "Benenne %s nach %s um\n"
 
-#: builtin/mv.c:263 builtin/remote.c:710 builtin/repack.c:375
+#: builtin/mv.c:275 builtin/remote.c:710 builtin/repack.c:384
 #, c-format
 msgid "renaming '%s' failed"
 msgstr "Umbenennung von '%s' fehlgeschlagen"
@@ -10066,7 +10546,8 @@
 
 #: builtin/notes.c:194
 msgid "please supply the note contents using either -m or -F option"
-msgstr "Bitte liefern Sie die Notiz-Inhalte unter Verwendung der Option -m oder -F."
+msgstr ""
+"Bitte liefern Sie die Notiz-Inhalte unter Verwendung der Option -m oder -F."
 
 #: builtin/notes.c:203
 msgid "unable to write note object"
@@ -10077,12 +10558,12 @@
 msgid "the note contents have been left in %s"
 msgstr "Die Notiz-Inhalte wurden in %s belassen."
 
-#: builtin/notes.c:233 builtin/tag.c:439
+#: builtin/notes.c:233 builtin/tag.c:460
 #, c-format
 msgid "cannot read '%s'"
 msgstr "kann '%s' nicht lesen"
 
-#: builtin/notes.c:235 builtin/tag.c:442
+#: builtin/notes.c:235 builtin/tag.c:463
 #, c-format
 msgid "could not open or read '%s'"
 msgstr "konnte '%s' nicht öffnen oder lesen"
@@ -10119,7 +10600,9 @@
 #: builtin/notes.c:345
 #, c-format
 msgid "refusing to %s notes in %s (outside of refs/notes/)"
-msgstr "Ausführung von %s auf Notizen in %s (außerhalb von refs/notes/) zurückgewiesen"
+msgstr ""
+"Ausführung von %s auf Notizen in %s (außerhalb von refs/notes/) "
+"zurückgewiesen"
 
 #: builtin/notes.c:365 builtin/notes.c:420 builtin/notes.c:496
 #: builtin/notes.c:508 builtin/notes.c:584 builtin/notes.c:652
@@ -10367,188 +10850,188 @@
 "git pack-objects [<Optionen>...] <Basis-Name> [< <Referenzliste> | < "
 "<Objektliste>]"
 
-#: builtin/pack-objects.c:179 builtin/pack-objects.c:182
+#: builtin/pack-objects.c:177 builtin/pack-objects.c:180
 #, c-format
 msgid "deflate error (%d)"
 msgstr "Fehler beim Komprimieren (%d)"
 
-#: builtin/pack-objects.c:768
+#: builtin/pack-objects.c:766
 msgid "disabling bitmap writing, packs are split due to pack.packSizeLimit"
 msgstr ""
 "Deaktiviere Schreiben der Bitmap, Pakete wurden durch pack.packSizeLimit\n"
 "aufgetrennt."
 
-#: builtin/pack-objects.c:781
+#: builtin/pack-objects.c:779
 msgid "Writing objects"
 msgstr "Schreibe Objekte"
 
-#: builtin/pack-objects.c:1070
+#: builtin/pack-objects.c:1068
 msgid "disabling bitmap writing, as some objects are not being packed"
 msgstr ""
 "Deaktiviere Schreiben der Bitmap, da einige Objekte nicht in eine Pack-"
 "Datei\n"
 "geschrieben wurden."
 
-#: builtin/pack-objects.c:2346
+#: builtin/pack-objects.c:2344
 msgid "Compressing objects"
 msgstr "Komprimiere Objekte"
 
-#: builtin/pack-objects.c:2759
+#: builtin/pack-objects.c:2747
 #, c-format
 msgid "unsupported index version %s"
 msgstr "Nicht unterstützte Index-Version %s"
 
-#: builtin/pack-objects.c:2763
+#: builtin/pack-objects.c:2751
 #, c-format
 msgid "bad index version '%s'"
 msgstr "Ungültige Index-Version '%s'"
 
-#: builtin/pack-objects.c:2793
+#: builtin/pack-objects.c:2781
 msgid "do not show progress meter"
 msgstr "keine Fortschrittsanzeige anzeigen"
 
-#: builtin/pack-objects.c:2795
+#: builtin/pack-objects.c:2783
 msgid "show progress meter"
 msgstr "Fortschrittsanzeige anzeigen"
 
-#: builtin/pack-objects.c:2797
+#: builtin/pack-objects.c:2785
 msgid "show progress meter during object writing phase"
 msgstr ""
 "Forschrittsanzeige während der Phase des Schreibens der Objekte anzeigen"
 
-#: builtin/pack-objects.c:2800
+#: builtin/pack-objects.c:2788
 msgid "similar to --all-progress when progress meter is shown"
 msgstr "ähnlich zu --all-progress wenn Fortschrittsanzeige darstellt wird"
 
-#: builtin/pack-objects.c:2801
+#: builtin/pack-objects.c:2789
 msgid "version[,offset]"
 msgstr "version[,offset]"
 
-#: builtin/pack-objects.c:2802
+#: builtin/pack-objects.c:2790
 msgid "write the pack index file in the specified idx format version"
 msgstr ""
 "die Index-Datei des Paketes in der angegebenen Indexformat-Version schreiben"
 
-#: builtin/pack-objects.c:2805
+#: builtin/pack-objects.c:2793
 msgid "maximum size of each output pack file"
 msgstr "maximale Größe für jede ausgegebene Paketdatei"
 
-#: builtin/pack-objects.c:2807
+#: builtin/pack-objects.c:2795
 msgid "ignore borrowed objects from alternate object store"
 msgstr "geliehene Objekte von alternativem Objektspeicher ignorieren"
 
-#: builtin/pack-objects.c:2809
+#: builtin/pack-objects.c:2797
 msgid "ignore packed objects"
 msgstr "gepackte Objekte ignorieren"
 
-#: builtin/pack-objects.c:2811
+#: builtin/pack-objects.c:2799
 msgid "limit pack window by objects"
 msgstr "Paketfenster durch Objekte begrenzen"
 
-#: builtin/pack-objects.c:2813
+#: builtin/pack-objects.c:2801
 msgid "limit pack window by memory in addition to object limit"
 msgstr ""
 "Paketfenster, zusätzlich zur Objektbegrenzung, durch Speicher begrenzen"
 
-#: builtin/pack-objects.c:2815
+#: builtin/pack-objects.c:2803
 msgid "maximum length of delta chain allowed in the resulting pack"
 msgstr ""
 "maximale Länge der erlaubten Differenzverkettung im resultierenden Paket"
 
-#: builtin/pack-objects.c:2817
+#: builtin/pack-objects.c:2805
 msgid "reuse existing deltas"
 msgstr "existierende Unterschiede wiederverwenden"
 
-#: builtin/pack-objects.c:2819
+#: builtin/pack-objects.c:2807
 msgid "reuse existing objects"
 msgstr "existierende Objekte wiederverwenden"
 
-#: builtin/pack-objects.c:2821
+#: builtin/pack-objects.c:2809
 msgid "use OFS_DELTA objects"
 msgstr "OFS_DELTA Objekte verwenden"
 
-#: builtin/pack-objects.c:2823
+#: builtin/pack-objects.c:2811
 msgid "use threads when searching for best delta matches"
 msgstr ""
 "Threads bei der Suche nach den besten Übereinstimmungen bei Unterschieden "
 "verwenden"
 
-#: builtin/pack-objects.c:2825
+#: builtin/pack-objects.c:2813
 msgid "do not create an empty pack output"
 msgstr "keine leeren Pakete erzeugen"
 
-#: builtin/pack-objects.c:2827
+#: builtin/pack-objects.c:2815
 msgid "read revision arguments from standard input"
 msgstr "Argumente bezüglich Commits von der Standard-Eingabe lesen"
 
-#: builtin/pack-objects.c:2829
+#: builtin/pack-objects.c:2817
 msgid "limit the objects to those that are not yet packed"
 msgstr "die Objekte zu solchen, die noch nicht gepackt wurden, begrenzen"
 
-#: builtin/pack-objects.c:2832
+#: builtin/pack-objects.c:2820
 msgid "include objects reachable from any reference"
 msgstr "Objekte einschließen, die von jeder Referenz erreichbar sind"
 
-#: builtin/pack-objects.c:2835
+#: builtin/pack-objects.c:2823
 msgid "include objects referred by reflog entries"
 msgstr ""
 "Objekte einschließen, die von Einträgen des Reflogs referenziert werden"
 
-#: builtin/pack-objects.c:2838
+#: builtin/pack-objects.c:2826
 msgid "include objects referred to by the index"
 msgstr "Objekte einschließen, die vom Index referenziert werden"
 
-#: builtin/pack-objects.c:2841
+#: builtin/pack-objects.c:2829
 msgid "output pack to stdout"
 msgstr "Paket in die Standard-Ausgabe schreiben"
 
-#: builtin/pack-objects.c:2843
+#: builtin/pack-objects.c:2831
 msgid "include tag objects that refer to objects to be packed"
 msgstr "Tag-Objekte einschließen, die auf gepackte Objekte referenzieren"
 
-#: builtin/pack-objects.c:2845
+#: builtin/pack-objects.c:2833
 msgid "keep unreachable objects"
 msgstr "nicht erreichbare Objekte behalten"
 
-#: builtin/pack-objects.c:2847
+#: builtin/pack-objects.c:2835
 msgid "pack loose unreachable objects"
 msgstr "nicht erreichbare lose Objekte packen"
 
-#: builtin/pack-objects.c:2849
+#: builtin/pack-objects.c:2837
 msgid "unpack unreachable objects newer than <time>"
 msgstr "nicht erreichbare Objekte entpacken, die neuer als <Zeit> sind"
 
-#: builtin/pack-objects.c:2852
+#: builtin/pack-objects.c:2840
 msgid "create thin packs"
 msgstr "dünnere Pakete erzeugen"
 
-#: builtin/pack-objects.c:2854
+#: builtin/pack-objects.c:2842
 msgid "create packs suitable for shallow fetches"
 msgstr ""
 "Pakete geeignet für Abholung mit unvollständiger Historie (shallow) erzeugen"
 
-#: builtin/pack-objects.c:2856
+#: builtin/pack-objects.c:2844
 msgid "ignore packs that have companion .keep file"
 msgstr "Pakete ignorieren, die .keep Dateien haben"
 
-#: builtin/pack-objects.c:2858
+#: builtin/pack-objects.c:2846
 msgid "pack compression level"
 msgstr "Komprimierungsgrad für Paketierung"
 
-#: builtin/pack-objects.c:2860
+#: builtin/pack-objects.c:2848
 msgid "do not hide commits by grafts"
 msgstr "keine künstlichen Vorgänger-Commits (\"grafts\") verbergen"
 
-#: builtin/pack-objects.c:2862
+#: builtin/pack-objects.c:2850
 msgid "use a bitmap index if available to speed up counting objects"
 msgstr ""
 "Bitmap-Index (falls verfügbar) zur Optimierung der Objektzählung benutzen"
 
-#: builtin/pack-objects.c:2864
+#: builtin/pack-objects.c:2852
 msgid "write a bitmap index together with the pack index"
 msgstr "Bitmap-Index zusammen mit Pack-Index schreiben"
 
-#: builtin/pack-objects.c:2993
+#: builtin/pack-objects.c:2979
 msgid "Counting objects"
 msgstr "Zähle Objekte"
 
@@ -10576,11 +11059,11 @@
 msgid "git prune [-n] [-v] [--expire <time>] [--] [<head>...]"
 msgstr "git prune [-n] [-v] [--expire <Zeit>] [--] [<head>...]"
 
-#: builtin/prune.c:106 builtin/worktree.c:128
+#: builtin/prune.c:106
 msgid "report pruned objects"
 msgstr "gelöschte Objekte melden"
 
-#: builtin/prune.c:109 builtin/worktree.c:130
+#: builtin/prune.c:109
 msgid "expire objects older than <time>"
 msgstr "Objekte älter als <Zeit> verfallen lassen"
 
@@ -10684,7 +11167,7 @@
 msgid "<remote>"
 msgstr "<Remote-Repository>"
 
-#: builtin/pull.c:415 builtin/pull.c:430 builtin/pull.c:435 git-rebase.sh:451
+#: builtin/pull.c:415 builtin/pull.c:430 builtin/pull.c:435 git-rebase.sh:455
 #: git-parse-remote.sh:65
 msgid "<branch>"
 msgstr "<Branch>"
@@ -10861,14 +11344,14 @@
 "Branches '%s' ist, ohne anzugeben, was versendet werden soll, um welchen\n"
 "Remote-Branch zu aktualisieren."
 
-#: builtin/push.c:242
+#: builtin/push.c:245
 msgid ""
 "You didn't specify any refspecs to push, and push.default is \"nothing\"."
 msgstr ""
 "Sie haben keine Refspec für \"push\" angegeben, und push.default ist "
 "\"nothing\"."
 
-#: builtin/push.c:249
+#: builtin/push.c:252
 msgid ""
 "Updates were rejected because the tip of your current branch is behind\n"
 "its remote counterpart. Integrate the remote changes (e.g.\n"
@@ -10882,7 +11365,7 @@
 "Siehe auch die Sektion 'Note about fast-forwards' in 'git push --help'\n"
 "für weitere Details."
 
-#: builtin/push.c:255
+#: builtin/push.c:258
 msgid ""
 "Updates were rejected because a pushed branch tip is behind its remote\n"
 "counterpart. Check out this branch and integrate the remote changes\n"
@@ -10896,7 +11379,7 @@
 "Siehe auch die Sektion 'Note about fast-forwards' in 'git push --help'\n"
 "für weitere Details."
 
-#: builtin/push.c:261
+#: builtin/push.c:264
 msgid ""
 "Updates were rejected because the remote contains work that you do\n"
 "not have locally. This is usually caused by another repository pushing\n"
@@ -10915,13 +11398,13 @@
 "Siehe auch die Sektion 'Note about fast-forwards' in 'git push --help'\n"
 "für weitere Details."
 
-#: builtin/push.c:268
+#: builtin/push.c:271
 msgid "Updates were rejected because the tag already exists in the remote."
 msgstr ""
 "Aktualisierungen wurden zurückgewiesen, weil das Tag bereits\n"
 "im Remote-Repository existiert."
 
-#: builtin/push.c:271
+#: builtin/push.c:274
 msgid ""
 "You cannot update a remote ref that points at a non-commit object,\n"
 "or update a remote ref to make it point at a non-commit object,\n"
@@ -10931,22 +11414,22 @@
 "das kein Commit ist, oder es auf ein solches Objekt zeigen lassen, ohne\n"
 "die Option '--force' zu verwenden.\n"
 
-#: builtin/push.c:331
+#: builtin/push.c:334
 #, c-format
 msgid "Pushing to %s\n"
 msgstr "Versende nach %s\n"
 
-#: builtin/push.c:335
+#: builtin/push.c:338
 #, c-format
 msgid "failed to push some refs to '%s'"
 msgstr "Fehler beim Versenden einiger Referenzen nach '%s'"
 
-#: builtin/push.c:366
+#: builtin/push.c:369
 #, c-format
 msgid "bad repository '%s'"
 msgstr "ungültiges Repository '%s'"
 
-#: builtin/push.c:367
+#: builtin/push.c:370
 msgid ""
 "No configured push destination.\n"
 "Either specify the URL from the command-line or configure a remote "
@@ -10968,112 +11451,112 @@
 "\n"
 "    git push <Name>\n"
 
-#: builtin/push.c:385
+#: builtin/push.c:388
 msgid "--all and --tags are incompatible"
 msgstr "Die Optionen --all und --tags sind inkompatibel."
 
-#: builtin/push.c:386
+#: builtin/push.c:389
 msgid "--all can't be combined with refspecs"
 msgstr "Die Option --all kann nicht mit Refspecs kombiniert werden."
 
-#: builtin/push.c:391
+#: builtin/push.c:394
 msgid "--mirror and --tags are incompatible"
 msgstr "Die Optionen --mirror und --tags sind inkompatibel."
 
-#: builtin/push.c:392
+#: builtin/push.c:395
 msgid "--mirror can't be combined with refspecs"
 msgstr "Die Option --mirror kann nicht mit Refspecs kombiniert werden."
 
-#: builtin/push.c:397
+#: builtin/push.c:400
 msgid "--all and --mirror are incompatible"
 msgstr "Die Optionen --all und --mirror sind inkompatibel."
 
-#: builtin/push.c:515
+#: builtin/push.c:518
 msgid "repository"
 msgstr "Repository"
 
-#: builtin/push.c:516 builtin/send-pack.c:161
+#: builtin/push.c:519 builtin/send-pack.c:161
 msgid "push all refs"
 msgstr "alle Referenzen versenden"
 
-#: builtin/push.c:517 builtin/send-pack.c:163
+#: builtin/push.c:520 builtin/send-pack.c:163
 msgid "mirror all refs"
 msgstr "alle Referenzen spiegeln"
 
-#: builtin/push.c:519
+#: builtin/push.c:522
 msgid "delete refs"
 msgstr "Referenzen löschen"
 
-#: builtin/push.c:520
+#: builtin/push.c:523
 msgid "push tags (can't be used with --all or --mirror)"
 msgstr "Tags versenden (kann nicht mit --all oder --mirror verwendet werden)"
 
-#: builtin/push.c:523 builtin/send-pack.c:164
+#: builtin/push.c:526 builtin/send-pack.c:164
 msgid "force updates"
 msgstr "Aktualisierung erzwingen"
 
-#: builtin/push.c:525 builtin/send-pack.c:175
+#: builtin/push.c:528 builtin/send-pack.c:175
 msgid "refname>:<expect"
 msgstr "Referenzname>:<Erwartungswert"
 
-#: builtin/push.c:526 builtin/send-pack.c:176
+#: builtin/push.c:529 builtin/send-pack.c:176
 msgid "require old value of ref to be at this value"
 msgstr "Referenz muss sich auf dem angegebenen Wert befinden"
 
-#: builtin/push.c:529
+#: builtin/push.c:532
 msgid "control recursive pushing of submodules"
 msgstr "rekursiven \"push\" von Submodulen steuern"
 
-#: builtin/push.c:531 builtin/send-pack.c:169
+#: builtin/push.c:534 builtin/send-pack.c:169
 msgid "use thin pack"
 msgstr "kleinere Pakete verwenden"
 
-#: builtin/push.c:532 builtin/push.c:533 builtin/send-pack.c:158
+#: builtin/push.c:535 builtin/push.c:536 builtin/send-pack.c:158
 #: builtin/send-pack.c:159
 msgid "receive pack program"
 msgstr "'receive pack' Programm"
 
-#: builtin/push.c:534
+#: builtin/push.c:537
 msgid "set upstream for git pull/status"
 msgstr "Upstream für \"git pull/status\" setzen"
 
-#: builtin/push.c:537
+#: builtin/push.c:540
 msgid "prune locally removed refs"
 msgstr "lokal gelöschte Referenzen entfernen"
 
-#: builtin/push.c:539
+#: builtin/push.c:542
 msgid "bypass pre-push hook"
 msgstr "\"pre-push hook\" umgehen"
 
-#: builtin/push.c:540
+#: builtin/push.c:543
 msgid "push missing but relevant tags"
 msgstr "fehlende, aber relevante Tags versenden"
 
-#: builtin/push.c:543 builtin/send-pack.c:166
+#: builtin/push.c:546 builtin/send-pack.c:166
 msgid "GPG sign the push"
 msgstr "signiert \"push\" mit GPG"
 
-#: builtin/push.c:545 builtin/send-pack.c:170
+#: builtin/push.c:548 builtin/send-pack.c:170
 msgid "request atomic transaction on remote side"
 msgstr "Referenzen atomar versenden"
 
-#: builtin/push.c:546
+#: builtin/push.c:549
 msgid "server-specific"
 msgstr "serverspezifisch"
 
-#: builtin/push.c:546
+#: builtin/push.c:549
 msgid "option to transmit"
 msgstr "Option übertragen"
 
-#: builtin/push.c:560
+#: builtin/push.c:563
 msgid "--delete is incompatible with --all, --mirror and --tags"
 msgstr "Die Option --delete ist inkompatibel mit --all, --mirror und --tags."
 
-#: builtin/push.c:562
+#: builtin/push.c:565
 msgid "--delete doesn't make sense without any refs"
 msgstr "Die Option --delete kann nur mit Referenzen verwendet werden."
 
-#: builtin/push.c:579
+#: builtin/push.c:584
 msgid "push options must not have new line characters"
 msgstr "Push-Optionen dürfen keine Zeilenvorschubzeichen haben"
 
@@ -11163,8 +11646,8 @@
 "with what you pushed, and will require 'git reset --hard' to match\n"
 "the work tree to HEAD.\n"
 "\n"
-"You can set 'receive.denyCurrentBranch' configuration variable to\n"
-"'ignore' or 'warn' in the remote repository to allow pushing into\n"
+"You can set the 'receive.denyCurrentBranch' configuration variable\n"
+"to 'ignore' or 'warn' in the remote repository to allow pushing into\n"
 "its current branch; however, this is not recommended unless you\n"
 "arranged to update its work tree to match what you pushed in some\n"
 "other way.\n"
@@ -11179,7 +11662,7 @@
 "entspricht.\n"
 "\n"
 "Sie könnten die Konfigurationsvariable 'receive.denyCurrentBranch' im\n"
-"Remote-Repository zu 'ignore' oder 'warn' setzen, um den Push in den\n"
+"Remote-Repository auf 'ignore' oder 'warn' setzen, um den Push in den\n"
 "aktuellen Branch zu erlauben; dies wird jedoch nicht empfohlen außer\n"
 "Sie stellen durch andere Wege die Aktualität des Arbeitsverzeichnisses\n"
 "gegenüber dem gepushten Stand sicher.\n"
@@ -11747,86 +12230,95 @@
 msgid "git repack [<options>]"
 msgstr "git repack [<Optionen>]"
 
-#: builtin/repack.c:160
+#: builtin/repack.c:22
+msgid ""
+"Incremental repacks are incompatible with bitmap indexes.  Use\n"
+"--no-write-bitmap-index or disable the pack.writebitmaps configuration."
+msgstr ""
+"Schrittweises Neupacken ist mit Bitmap-Indexen inkompatibel. Benutzen Sie\n"
+"--no-write-bitmap-index oder deaktivieren Sie die pack.writebitmaps\n"
+"Konfiguration."
+
+#: builtin/repack.c:166
 msgid "pack everything in a single pack"
 msgstr "alles in eine einzige Pack-Datei packen"
 
-#: builtin/repack.c:162
+#: builtin/repack.c:168
 msgid "same as -a, and turn unreachable objects loose"
 msgstr "genau wie -a, unerreichbare Objekte werden aber nicht gelöscht"
 
-#: builtin/repack.c:165
+#: builtin/repack.c:171
 msgid "remove redundant packs, and run git-prune-packed"
 msgstr "redundante Pakete entfernen und \"git-prune-packed\" ausführen"
 
-#: builtin/repack.c:167
+#: builtin/repack.c:173
 msgid "pass --no-reuse-delta to git-pack-objects"
 msgstr "--no-reuse-delta an git-pack-objects übergeben"
 
-#: builtin/repack.c:169
+#: builtin/repack.c:175
 msgid "pass --no-reuse-object to git-pack-objects"
 msgstr "--no-reuse-object an git-pack-objects übergeben"
 
-#: builtin/repack.c:171
+#: builtin/repack.c:177
 msgid "do not run git-update-server-info"
 msgstr "git-update-server-info nicht ausführen"
 
-#: builtin/repack.c:174
+#: builtin/repack.c:180
 msgid "pass --local to git-pack-objects"
 msgstr "--local an git-pack-objects übergeben"
 
-#: builtin/repack.c:176
+#: builtin/repack.c:182
 msgid "write bitmap index"
 msgstr "Bitmap-Index schreiben"
 
-#: builtin/repack.c:177
+#: builtin/repack.c:183
 msgid "approxidate"
 msgstr "Datumsangabe"
 
-#: builtin/repack.c:178
+#: builtin/repack.c:184
 msgid "with -A, do not loosen objects older than this"
 msgstr "mit -A, keine Objekte älter als dieses Datum löschen"
 
-#: builtin/repack.c:180
+#: builtin/repack.c:186
 msgid "with -a, repack unreachable objects"
 msgstr "mit -a, nicht erreichbare Objekte neu packen"
 
-#: builtin/repack.c:182
+#: builtin/repack.c:188
 msgid "size of the window used for delta compression"
 msgstr "Größe des Fensters für die Delta-Kompression"
 
-#: builtin/repack.c:183 builtin/repack.c:187
+#: builtin/repack.c:189 builtin/repack.c:193
 msgid "bytes"
 msgstr "Bytes"
 
-#: builtin/repack.c:184
+#: builtin/repack.c:190
 msgid "same as the above, but limit memory size instead of entries count"
 msgstr ""
 "gleiches wie oben, aber die Speichergröße anstatt der\n"
 "Anzahl der Einträge limitieren"
 
-#: builtin/repack.c:186
+#: builtin/repack.c:192
 msgid "limits the maximum delta depth"
 msgstr "die maximale Delta-Tiefe limitieren"
 
-#: builtin/repack.c:188
+#: builtin/repack.c:194
 msgid "maximum size of each packfile"
 msgstr "maximale Größe für jede Paketdatei"
 
-#: builtin/repack.c:190
+#: builtin/repack.c:196
 msgid "repack objects in packs marked with .keep"
 msgstr ""
 "Objekte umpacken, die sich in mit .keep markierten Pack-Dateien befinden"
 
-#: builtin/repack.c:200
+#: builtin/repack.c:206
 msgid "cannot delete packs in a precious-objects repo"
 msgstr "kann Pack-Dateien in precious-objects Repository nicht löschen"
 
-#: builtin/repack.c:204
+#: builtin/repack.c:210
 msgid "--keep-unreachable and -A are incompatible"
 msgstr "--keep-unreachable und -A sind inkompatibel"
 
-#: builtin/repack.c:391 builtin/worktree.c:115
+#: builtin/repack.c:400 builtin/worktree.c:115
 #, c-format
 msgid "failed to remove '%s'"
 msgstr "Fehler beim Löschen von '%s'"
@@ -12057,24 +12549,24 @@
 msgid "rev-list does not support display of notes"
 msgstr "rev-list unterstützt keine Anzeige von Notizen"
 
-#: builtin/rev-parse.c:386
+#: builtin/rev-parse.c:391
 msgid "git rev-parse --parseopt [<options>] -- [<args>...]"
 msgstr "git rev-parse --parseopt [<Optionen>] -- [<Argumente>...]"
 
-#: builtin/rev-parse.c:391
+#: builtin/rev-parse.c:396
 msgid "keep the `--` passed as an arg"
 msgstr "`--` als Argument lassen"
 
-#: builtin/rev-parse.c:393
+#: builtin/rev-parse.c:398
 msgid "stop parsing after the first non-option argument"
 msgstr "das Parsen nach dem ersten Argument, was keine Option ist, stoppen"
 
-#: builtin/rev-parse.c:396
+#: builtin/rev-parse.c:401
 msgid "output in stuck long form"
 msgstr ""
 "Ausgabe in Langform mit Argumenten an den Optionen (getrennt durch '=')"
 
-#: builtin/rev-parse.c:527
+#: builtin/rev-parse.c:532
 msgid ""
 "git rev-parse --parseopt [<options>] -- [<args>...]\n"
 "   or: git rev-parse --sq-quote [<arg>...]\n"
@@ -12174,30 +12666,7 @@
 msgid "git rm [<options>] [--] <file>..."
 msgstr "git rm [<Optionen>] [--] <Datei>..."
 
-#: builtin/rm.c:65
-msgid ""
-"the following submodule (or one of its nested submodules)\n"
-"uses a .git directory:"
-msgid_plural ""
-"the following submodules (or one of their nested submodules)\n"
-"use a .git directory:"
-msgstr[0] ""
-"das folgende Submodul (oder ein geschachteltes Submodul hiervon)\n"
-"benutzt ein .git-Verzeichnis:"
-msgstr[1] ""
-"die folgenden Submodule (oder ein geschachteltes Submodul hiervon)\n"
-"benutzen ein .git-Verzeichnis:"
-
-#: builtin/rm.c:71
-msgid ""
-"\n"
-"(use 'rm -rf' if you really want to remove it including all of its history)"
-msgstr ""
-"\n"
-"(benutzen Sie 'rm -rf' wenn Sie dieses Submodul wirklich mitsamt\n"
-"seiner Historie löschen möchten)"
-
-#: builtin/rm.c:230
+#: builtin/rm.c:205
 msgid ""
 "the following file has staged content different from both the\n"
 "file and the HEAD:"
@@ -12212,7 +12681,7 @@
 "unterschiedlich\n"
 "zu der Datei und HEAD:"
 
-#: builtin/rm.c:235
+#: builtin/rm.c:210
 msgid ""
 "\n"
 "(use -f to force removal)"
@@ -12220,13 +12689,13 @@
 "\n"
 "(benutzen Sie -f, um die Löschung zu erzwingen)"
 
-#: builtin/rm.c:239
+#: builtin/rm.c:214
 msgid "the following file has changes staged in the index:"
 msgid_plural "the following files have changes staged in the index:"
 msgstr[0] "die folgende Datei hat zum Commit vorgemerkte Änderungen:"
 msgstr[1] "die folgenden Dateien haben zum Commit vorgemerkte Änderungen:"
 
-#: builtin/rm.c:243 builtin/rm.c:254
+#: builtin/rm.c:218 builtin/rm.c:227
 msgid ""
 "\n"
 "(use --cached to keep the file, or -f to force removal)"
@@ -12235,42 +12704,47 @@
 "(benutzen Sie --cached, um die Datei zu behalten, oder -f, um die Entfernung "
 "zu erzwingen)"
 
-#: builtin/rm.c:251
+#: builtin/rm.c:224
 msgid "the following file has local modifications:"
 msgid_plural "the following files have local modifications:"
 msgstr[0] "die folgende Datei hat lokale Änderungen:"
 msgstr[1] "die folgenden Dateien haben lokale Änderungen:"
 
-#: builtin/rm.c:269
+#: builtin/rm.c:242
 msgid "do not list removed files"
 msgstr "keine gelöschten Dateien auflisten"
 
-#: builtin/rm.c:270
+#: builtin/rm.c:243
 msgid "only remove from the index"
 msgstr "nur aus dem Index entfernen"
 
-#: builtin/rm.c:271
+#: builtin/rm.c:244
 msgid "override the up-to-date check"
 msgstr "die \"up-to-date\" Prüfung überschreiben"
 
-#: builtin/rm.c:272
+#: builtin/rm.c:245
 msgid "allow recursive removal"
 msgstr "rekursive Entfernung erlauben"
 
-#: builtin/rm.c:274
+#: builtin/rm.c:247
 msgid "exit with a zero status even if nothing matched"
 msgstr "mit Rückgabewert 0 beenden, wenn keine Übereinstimmung gefunden wurde"
 
-#: builtin/rm.c:335
+#: builtin/rm.c:308
 #, c-format
 msgid "not removing '%s' recursively without -r"
 msgstr "'%s' wird nicht ohne -r rekursiv entfernt"
 
-#: builtin/rm.c:374
+#: builtin/rm.c:347
 #, c-format
 msgid "git rm: unable to remove %s"
 msgstr "git rm: konnte %s nicht löschen"
 
+#: builtin/rm.c:370
+#, c-format
+msgid "could not remove '%s'"
+msgstr "Konnte '%s' nicht löschen"
+
 #: builtin/send-pack.c:18
 msgid ""
 "git send-pack [--all | --mirror] [--dry-run] [--force] [--receive-pack=<git-"
@@ -12304,23 +12778,27 @@
 msgid "git shortlog [<options>] [<revision-range>] [[--] [<path>...]]"
 msgstr "git shortlog [<Optionen>] [<Commitbereich>] [[--] [<Pfad>...]]"
 
-#: builtin/shortlog.c:242
+#: builtin/shortlog.c:249
+msgid "Group by committer rather than author"
+msgstr "über Commit-Ersteller anstatt Autor gruppieren"
+
+#: builtin/shortlog.c:251
 msgid "sort output according to the number of commits per author"
 msgstr "die Ausgabe entsprechend der Anzahl von Commits pro Autor sortieren"
 
-#: builtin/shortlog.c:244
+#: builtin/shortlog.c:253
 msgid "Suppress commit descriptions, only provides commit count"
 msgstr "Commit-Beschreibungen unterdrücken, nur Anzahl der Commits liefern"
 
-#: builtin/shortlog.c:246
+#: builtin/shortlog.c:255
 msgid "Show the email address of each author"
 msgstr "die E-Mail-Adresse von jedem Autor anzeigen"
 
-#: builtin/shortlog.c:247
+#: builtin/shortlog.c:256
 msgid "w[,i1[,i2]]"
 msgstr "w[,i1[,i2]]"
 
-#: builtin/shortlog.c:248
+#: builtin/shortlog.c:257
 msgid "Linewrap output"
 msgstr "Ausgabe mit Zeilenumbrüchen"
 
@@ -12420,7 +12898,9 @@
 #: builtin/show-branch.c:703
 msgid ""
 "--reflog is incompatible with --all, --remotes, --independent or --merge-base"
-msgstr "--reflog ist inkompatibel mit --all, --remotes, --independent oder --merge-base"
+msgstr ""
+"--reflog ist inkompatibel mit --all, --remotes, --independent oder --merge-"
+"base"
 
 #: builtin/show-branch.c:727
 msgid "no branches given, and HEAD is not valid"
@@ -12471,37 +12951,37 @@
 msgid "git show-ref --exclude-existing[=<pattern>]"
 msgstr "git show-ref --exclude-existing[=<Muster>]"
 
-#: builtin/show-ref.c:165
+#: builtin/show-ref.c:159
 msgid "only show tags (can be combined with heads)"
 msgstr "nur Tags anzeigen (kann mit \"heads\" kombiniert werden)"
 
-#: builtin/show-ref.c:166
+#: builtin/show-ref.c:160
 msgid "only show heads (can be combined with tags)"
 msgstr "nur Branches anzeigen (kann mit \"tags\" kombiniert werden)"
 
-#: builtin/show-ref.c:167
+#: builtin/show-ref.c:161
 msgid "stricter reference checking, requires exact ref path"
 msgstr "strengere Referenzprüfung, erfordert exakten Referenzpfad"
 
-#: builtin/show-ref.c:170 builtin/show-ref.c:172
+#: builtin/show-ref.c:164 builtin/show-ref.c:166
 msgid "show the HEAD reference, even if it would be filtered out"
 msgstr ""
 "die HEAD-Referenz anzeigen, selbst wenn diese ausgefiltert werden würde"
 
-#: builtin/show-ref.c:174
+#: builtin/show-ref.c:168
 msgid "dereference tags into object IDs"
 msgstr "Tags in Objekt-Identifikationen dereferenzieren"
 
-#: builtin/show-ref.c:176
+#: builtin/show-ref.c:170
 msgid "only show SHA1 hash using <n> digits"
 msgstr "nur SHA1 Hash mit <n> Ziffern anzeigen"
 
-#: builtin/show-ref.c:180
+#: builtin/show-ref.c:174
 msgid "do not print results to stdout (useful with --verify)"
 msgstr ""
 "keine Ausgabe der Ergebnisse in die Standard-Ausgabe (nützlich mit --verify)"
 
-#: builtin/show-ref.c:182
+#: builtin/show-ref.c:176
 msgid "show refs from stdin that aren't in local repository"
 msgstr ""
 "Referenzen von der Standard-Eingabe anzeigen, die sich nicht im lokalen "
@@ -12525,12 +13005,12 @@
 msgid "prepend comment character and space to each line"
 msgstr "Kommentarzeichen mit Leerzeichen an jede Zeile voranstellen"
 
-#: builtin/submodule--helper.c:24 builtin/submodule--helper.c:1046
+#: builtin/submodule--helper.c:24 builtin/submodule--helper.c:1062
 #, c-format
 msgid "No such ref: %s"
 msgstr "Referenz nicht gefunden: %s"
 
-#: builtin/submodule--helper.c:31 builtin/submodule--helper.c:1055
+#: builtin/submodule--helper.c:31 builtin/submodule--helper.c:1071
 #, c-format
 msgid "Expecting a full ref name, got %s"
 msgstr "Vollständiger Referenzname erwartet, %s erhalten"
@@ -12540,8 +13020,7 @@
 msgid "cannot strip one component off url '%s'"
 msgstr "Kann eine Komponente von URL '%s' nicht extrahieren"
 
-#: builtin/submodule--helper.c:282 builtin/submodule--helper.c:408
-#: builtin/submodule--helper.c:590
+#: builtin/submodule--helper.c:282 builtin/submodule--helper.c:592
 msgid "alternative anchor for relative paths"
 msgstr "Alternativer Anker für relative Pfade"
 
@@ -12549,87 +13028,87 @@
 msgid "git submodule--helper list [--prefix=<path>] [<path>...]"
 msgstr "git submodule--helper list [--prefix=<Pfad>] [<Pfad>...]"
 
-#: builtin/submodule--helper.c:329 builtin/submodule--helper.c:343
+#: builtin/submodule--helper.c:333 builtin/submodule--helper.c:347
 #, c-format
 msgid "No url found for submodule path '%s' in .gitmodules"
 msgstr "Keine URL für Submodul-Pfad '%s' in .gitmodules gefunden"
 
-#: builtin/submodule--helper.c:369
+#: builtin/submodule--helper.c:373
 #, c-format
 msgid "Failed to register url for submodule path '%s'"
 msgstr ""
 "Fehler beim Eintragen der URL für Submodul-Pfad '%s' in die Konfiguration."
 
-#: builtin/submodule--helper.c:373
+#: builtin/submodule--helper.c:377
 #, c-format
 msgid "Submodule '%s' (%s) registered for path '%s'\n"
 msgstr "Submodul '%s' (%s) für Pfad '%s' in die Konfiguration eingetragen.\n"
 
-#: builtin/submodule--helper.c:383
+#: builtin/submodule--helper.c:387
 #, c-format
 msgid "warning: command update mode suggested for submodule '%s'\n"
 msgstr "Warnung: 'update'-Modus für Submodul '%s' vorgeschlagen\n"
 
-#: builtin/submodule--helper.c:390
+#: builtin/submodule--helper.c:394
 #, c-format
 msgid "Failed to register update mode for submodule path '%s'"
 msgstr ""
 "Fehler bei Änderung des Aktualisierungsmodus für Submodul-Pfad '%s' in der\n"
 "Konfiguration."
 
-#: builtin/submodule--helper.c:409
+#: builtin/submodule--helper.c:410
 msgid "Suppress output for initializing a submodule"
 msgstr "Ausgaben bei Initialisierung eines Submoduls unterdrücken"
 
-#: builtin/submodule--helper.c:414
+#: builtin/submodule--helper.c:415
 msgid "git submodule--helper init [<path>]"
 msgstr "git submodule--helper init [<Pfad>]"
 
-#: builtin/submodule--helper.c:435
+#: builtin/submodule--helper.c:436
 msgid "git submodule--helper name <path>"
 msgstr "git submodule--helper name <Pfad>"
 
-#: builtin/submodule--helper.c:441
+#: builtin/submodule--helper.c:442
 #, c-format
 msgid "no submodule mapping found in .gitmodules for path '%s'"
 msgstr "Keine Submodul-Zuordnung in .gitmodules für Pfad '%s' gefunden"
 
-#: builtin/submodule--helper.c:524 builtin/submodule--helper.c:527
+#: builtin/submodule--helper.c:525 builtin/submodule--helper.c:528
 #, c-format
 msgid "submodule '%s' cannot add alternate: %s"
 msgstr "Submodul '%s' kann Alternative nicht hinzufügen: %s"
 
-#: builtin/submodule--helper.c:563
+#: builtin/submodule--helper.c:564
 #, c-format
 msgid "Value '%s' for submodule.alternateErrorStrategy is not recognized"
 msgstr "Wert '%s' für submodule.alternateErrorStrategy wird nicht erkannt"
 
-#: builtin/submodule--helper.c:570
+#: builtin/submodule--helper.c:571
 #, c-format
 msgid "Value '%s' for submodule.alternateLocation is not recognized"
 msgstr "Wert '%s' für submodule.alternateLocation wird nicht erkannt."
 
-#: builtin/submodule--helper.c:593
+#: builtin/submodule--helper.c:595
 msgid "where the new submodule will be cloned to"
 msgstr "Pfad für neues Submodul"
 
-#: builtin/submodule--helper.c:596
+#: builtin/submodule--helper.c:598
 msgid "name of the new submodule"
 msgstr "Name des neuen Submoduls"
 
-#: builtin/submodule--helper.c:599
+#: builtin/submodule--helper.c:601
 msgid "url where to clone the submodule from"
 msgstr "URL von der das Submodul geklont wird"
 
-#: builtin/submodule--helper.c:605
+#: builtin/submodule--helper.c:607
 msgid "depth for shallow clones"
 msgstr "Tiefe des Klons mit unvollständiger Historie (shallow)"
 
-#: builtin/submodule--helper.c:608 builtin/submodule--helper.c:964
+#: builtin/submodule--helper.c:610 builtin/submodule--helper.c:980
 msgid "force cloning progress"
 msgstr "Fortschrittsanzeige beim Klonen erzwingen"
 
-#: builtin/submodule--helper.c:613
+#: builtin/submodule--helper.c:615
 msgid ""
 "git submodule--helper clone [--prefix=<path>] [--quiet] [--reference "
 "<repository>] [--name <name>] [--depth <depth>] --url <url> --path <path>"
@@ -12638,103 +13117,98 @@
 "<Repository>] [--name <Name>] [--url <URL>] [--name <Name>] [--depth "
 "<Tiefe>] --url <URL> --path <Pfad>"
 
-#: builtin/submodule--helper.c:638 builtin/submodule--helper.c:648
-#, c-format
-msgid "could not create directory '%s'"
-msgstr "Konnte Verzeichnis '%s' nicht erstellen."
-
-#: builtin/submodule--helper.c:644
+#: builtin/submodule--helper.c:646
 #, c-format
 msgid "clone of '%s' into submodule path '%s' failed"
 msgstr "Klonen von '%s' in Submodul-Pfad '%s' fehlgeschlagen"
 
-#: builtin/submodule--helper.c:660
+#: builtin/submodule--helper.c:662
 #, c-format
 msgid "cannot open file '%s'"
 msgstr "Kann Datei '%s' nicht öffnen"
 
-#: builtin/submodule--helper.c:665
+#: builtin/submodule--helper.c:667
 #, c-format
 msgid "could not close file %s"
 msgstr "Konnte Datei '%s' nicht schließen."
 
-#: builtin/submodule--helper.c:672
+#: builtin/submodule--helper.c:674
 #, c-format
 msgid "could not get submodule directory for '%s'"
 msgstr "Konnte Submodul-Verzeichnis '%s' nicht finden."
 
-#: builtin/submodule--helper.c:726
+#: builtin/submodule--helper.c:742
 #, c-format
 msgid "Submodule path '%s' not initialized"
 msgstr "Submodul-Pfad '%s' nicht initialisiert"
 
-#: builtin/submodule--helper.c:730
+#: builtin/submodule--helper.c:746
 msgid "Maybe you want to use 'update --init'?"
 msgstr "Meinten Sie vielleicht 'update --init'?"
 
-#: builtin/submodule--helper.c:756
+#: builtin/submodule--helper.c:772
 #, c-format
 msgid "Skipping unmerged submodule %s"
 msgstr "Überspringe nicht zusammengeführtes Submodul %s"
 
-#: builtin/submodule--helper.c:777
+#: builtin/submodule--helper.c:793
 #, c-format
 msgid "Skipping submodule '%s'"
 msgstr "Überspringe Submodul '%s'"
 
-#: builtin/submodule--helper.c:913
+#: builtin/submodule--helper.c:929
 #, c-format
 msgid "Failed to clone '%s'. Retry scheduled"
 msgstr "Fehler beim Klonen von '%s'. Weiterer Versuch geplant"
 
-#: builtin/submodule--helper.c:924
+#: builtin/submodule--helper.c:940
 #, c-format
 msgid "Failed to clone '%s' a second time, aborting"
 msgstr "Zweiter Versuch '%s' zu klonen fehlgeschlagen, breche ab."
 
-#: builtin/submodule--helper.c:945
+#: builtin/submodule--helper.c:961 builtin/submodule--helper.c:1105
 msgid "path into the working tree"
 msgstr "Pfad zum Arbeitsverzeichnis"
 
-#: builtin/submodule--helper.c:948
+#: builtin/submodule--helper.c:964
 msgid "path into the working tree, across nested submodule boundaries"
 msgstr ""
 "Pfad zum Arbeitsverzeichnis, über verschachtelte Submodul-Grenzen hinweg"
 
-#: builtin/submodule--helper.c:952
+#: builtin/submodule--helper.c:968
 msgid "rebase, merge, checkout or none"
 msgstr "rebase, merge, checkout oder none"
 
-#: builtin/submodule--helper.c:956
+#: builtin/submodule--helper.c:972
 msgid "Create a shallow clone truncated to the specified number of revisions"
 msgstr ""
 "Erstellung eines Klons mit unvollständiger Historie (shallow), abgeschnitten "
 "bei\n"
 "der angegebenen Anzahl von Commits."
 
-#: builtin/submodule--helper.c:959
+#: builtin/submodule--helper.c:975
 msgid "parallel jobs"
 msgstr "Parallele Ausführungen"
 
-#: builtin/submodule--helper.c:961
+#: builtin/submodule--helper.c:977
 msgid "whether the initial clone should follow the shallow recommendation"
 msgstr ""
 "ob das initiale Klonen den Empfehlungen für eine unvollständige\n"
 "Historie (shallow) folgen soll"
 
-#: builtin/submodule--helper.c:962
+#: builtin/submodule--helper.c:978
 msgid "don't print cloning progress"
 msgstr "keine Fortschrittsanzeige beim Klonen"
 
-#: builtin/submodule--helper.c:969
+#: builtin/submodule--helper.c:985
 msgid "git submodule--helper update_clone [--prefix=<path>] [<path>...]"
 msgstr "git submodule--helper update_clone [--prefix=<Pfad>] [<Pfad>...]"
 
-#: builtin/submodule--helper.c:979
+#: builtin/submodule--helper.c:995
 msgid "bad value for update parameter"
 msgstr "Fehlerhafter Wert für --update Parameter"
 
-#: builtin/submodule--helper.c:1050
+#: builtin/submodule--helper.c:1066
 #, c-format
 msgid ""
 "Submodule (%s) branch configured to inherit branch from superproject, but "
@@ -12743,11 +13217,24 @@
 "Branch von Submodul (%s) ist konfiguriert, den Branch des Hauptprojektes\n"
 "zu erben, aber das Hauptprojekt befindet sich auf keinem Branch."
 
-#: builtin/submodule--helper.c:1100
+#: builtin/submodule--helper.c:1106
+msgid "recurse into submodules"
+msgstr "Rekursion in Submodule durchführen"
+
+#: builtin/submodule--helper.c:1112
+msgid "git submodule--helper embed-git-dir [<path>...]"
+msgstr "git submodule--helper embed-git-dir [<Pfad>...]"
+
+#: builtin/submodule--helper.c:1157
 msgid "submodule--helper subcommand must be called with a subcommand"
 msgstr "submodule--helper muss mit einem Unterbefehl aufgerufen werden"
 
-#: builtin/submodule--helper.c:1107
+#: builtin/submodule--helper.c:1164
+#, c-format
+msgid "%s doesn't support --super-prefix"
+msgstr "%s unterstützt kein --super-prefix"
+
+#: builtin/submodule--helper.c:1170
 #, c-format
 msgid "'%s' is not a valid submodule--helper subcommand"
 msgstr "'%s' ist kein gültiger Unterbefehl von submodule--helper"
@@ -12802,25 +13289,25 @@
 "\t\t[--format=<Muster>] [--[no-]merged [<Commit>]] [<Muster>...]"
 
 #: builtin/tag.c:27
-msgid "git tag -v <tagname>..."
-msgstr "git tag -v <Tagname>..."
+msgid "git tag -v [--format=<format>] <tagname>..."
+msgstr "git tag -v [--format=<Format>] <Tagname>..."
 
-#: builtin/tag.c:81
+#: builtin/tag.c:82
 #, c-format
 msgid "tag name too long: %.*s..."
 msgstr "Tagname zu lang: %.*s..."
 
-#: builtin/tag.c:86
+#: builtin/tag.c:87
 #, c-format
 msgid "tag '%s' not found."
 msgstr "Tag '%s' nicht gefunden."
 
-#: builtin/tag.c:101
+#: builtin/tag.c:102
 #, c-format
 msgid "Deleted tag '%s' (was %s)\n"
 msgstr "Tag '%s' gelöscht (war %s)\n"
 
-#: builtin/tag.c:117
+#: builtin/tag.c:131
 #, c-format
 msgid ""
 "\n"
@@ -12833,7 +13320,7 @@
 "  %s\n"
 "ein. Zeilen, die mit '%c' beginnen, werden ignoriert.\n"
 
-#: builtin/tag.c:121
+#: builtin/tag.c:135
 #, c-format
 msgid ""
 "\n"
@@ -12848,138 +13335,138 @@
 "ein. Zeilen, die mit '%c' beginnen, werden behalten; Sie dürfen diese\n"
 "selbst entfernen wenn Sie möchten.\n"
 
-#: builtin/tag.c:199
+#: builtin/tag.c:213
 msgid "unable to sign the tag"
 msgstr "konnte Tag nicht signieren"
 
-#: builtin/tag.c:201
+#: builtin/tag.c:215
 msgid "unable to write tag file"
 msgstr "konnte Tag-Datei nicht schreiben"
 
-#: builtin/tag.c:226
+#: builtin/tag.c:240
 msgid "bad object type."
 msgstr "ungültiger Objekt-Typ"
 
-#: builtin/tag.c:239
+#: builtin/tag.c:253
 msgid "tag header too big."
 msgstr "Tag-Kopf zu groß."
 
-#: builtin/tag.c:275
+#: builtin/tag.c:289
 msgid "no tag message?"
 msgstr "keine Tag-Beschreibung?"
 
-#: builtin/tag.c:281
+#: builtin/tag.c:295
 #, c-format
 msgid "The tag message has been left in %s\n"
 msgstr "Die Tag-Beschreibung wurde gelassen in %s\n"
 
-#: builtin/tag.c:339
+#: builtin/tag.c:354
 msgid "list tag names"
 msgstr "Tagnamen auflisten"
 
-#: builtin/tag.c:341
+#: builtin/tag.c:356
 msgid "print <n> lines of each tag message"
 msgstr "<n> Zeilen jeder Tag-Beschreibung anzeigen"
 
-#: builtin/tag.c:343
+#: builtin/tag.c:358
 msgid "delete tags"
 msgstr "Tags löschen"
 
-#: builtin/tag.c:344
+#: builtin/tag.c:359
 msgid "verify tags"
 msgstr "Tags überprüfen"
 
-#: builtin/tag.c:346
+#: builtin/tag.c:361
 msgid "Tag creation options"
 msgstr "Optionen für Erstellung von Tags"
 
-#: builtin/tag.c:348
+#: builtin/tag.c:363
 msgid "annotated tag, needs a message"
 msgstr "annotiertes Tag, benötigt eine Beschreibung"
 
-#: builtin/tag.c:350
+#: builtin/tag.c:365
 msgid "tag message"
 msgstr "Tag-Beschreibung"
 
-#: builtin/tag.c:352
+#: builtin/tag.c:367
 msgid "annotated and GPG-signed tag"
 msgstr "annotiertes und GPG-signiertes Tag"
 
-#: builtin/tag.c:356
+#: builtin/tag.c:371
 msgid "use another key to sign the tag"
 msgstr "einen anderen Schlüssel verwenden, um das Tag zu signieren"
 
-#: builtin/tag.c:357
+#: builtin/tag.c:372
 msgid "replace the tag if exists"
 msgstr "das Tag ersetzen, wenn es existiert"
 
-#: builtin/tag.c:358 builtin/update-ref.c:368
+#: builtin/tag.c:373 builtin/update-ref.c:368
 msgid "create a reflog"
 msgstr "Reflog erstellen"
 
-#: builtin/tag.c:360
+#: builtin/tag.c:375
 msgid "Tag listing options"
 msgstr "Optionen für Auflistung der Tags"
 
-#: builtin/tag.c:361
+#: builtin/tag.c:376
 msgid "show tag list in columns"
 msgstr "Liste der Tags in Spalten anzeigen"
 
-#: builtin/tag.c:362 builtin/tag.c:363
+#: builtin/tag.c:377 builtin/tag.c:378
 msgid "print only tags that contain the commit"
 msgstr "nur Tags ausgeben, die diesen Commit beinhalten"
 
-#: builtin/tag.c:364
+#: builtin/tag.c:379
 msgid "print only tags that are merged"
 msgstr "nur Tags ausgeben, die gemerged wurden"
 
-#: builtin/tag.c:365
+#: builtin/tag.c:380
 msgid "print only tags that are not merged"
 msgstr "nur Tags ausgeben, die nicht gemerged wurden"
 
-#: builtin/tag.c:370
+#: builtin/tag.c:385
 msgid "print only tags of the object"
 msgstr "nur Tags von dem Objekt ausgeben"
 
-#: builtin/tag.c:399
+#: builtin/tag.c:415
 msgid "--column and -n are incompatible"
 msgstr "--column und -n sind inkompatibel"
 
-#: builtin/tag.c:419
+#: builtin/tag.c:437
 msgid "-n option is only allowed with -l."
 msgstr "-n Option ist nur erlaubt mit -l."
 
-#: builtin/tag.c:421
+#: builtin/tag.c:439
 msgid "--contains option is only allowed with -l."
 msgstr "--contains Option ist nur erlaubt mit -l."
 
-#: builtin/tag.c:423
+#: builtin/tag.c:441
 msgid "--points-at option is only allowed with -l."
 msgstr "--points-at Option ist nur erlaubt mit -l."
 
-#: builtin/tag.c:425
+#: builtin/tag.c:443
 msgid "--merged and --no-merged option are only allowed with -l"
 msgstr "Die Optionen --merged und --no-merged sind nur mit -l erlaubt."
 
-#: builtin/tag.c:433
+#: builtin/tag.c:454
 msgid "only one -F or -m option is allowed."
 msgstr "nur eine -F oder -m Option ist erlaubt."
 
-#: builtin/tag.c:452
+#: builtin/tag.c:473
 msgid "too many params"
 msgstr "zu viele Parameter"
 
-#: builtin/tag.c:458
+#: builtin/tag.c:479
 #, c-format
 msgid "'%s' is not a valid tag name."
 msgstr "'%s' ist kein gültiger Tagname."
 
-#: builtin/tag.c:463
+#: builtin/tag.c:484
 #, c-format
 msgid "tag '%s' already exists"
 msgstr "Tag '%s' existiert bereits"
 
-#: builtin/tag.c:491
+#: builtin/tag.c:512
 #, c-format
 msgid "Updated tag '%s' (was %s)\n"
 msgstr "Tag '%s' aktualisiert (war %s)\n"
@@ -13185,7 +13672,7 @@
 msgstr ""
 "Cache für unversionierte Dateien ohne Prüfung des Dateisystems aktivieren"
 
-#: builtin/update-index.c:1119
+#: builtin/update-index.c:1120
 msgid ""
 "core.untrackedCache is set to true; remove or change it, if you really want "
 "to disable the untracked cache"
@@ -13193,19 +13680,20 @@
 "core.untrackedCache ist auf 'true' gesetzt. Entfernen oder ändern Sie dies,\n"
 "wenn Sie wirklich den Cache für unversionierte Dateien deaktivieren möchten."
 
-#: builtin/update-index.c:1123
+#: builtin/update-index.c:1124
 msgid "Untracked cache disabled"
 msgstr "Cache für unversionierte Dateien deaktiviert"
 
-#: builtin/update-index.c:1131
+#: builtin/update-index.c:1132
 msgid ""
 "core.untrackedCache is set to false; remove or change it, if you really want "
 "to enable the untracked cache"
 msgstr ""
-"core.untrackedCache ist auf 'false' gesetzt. Entfernen oder ändern Sie dies,\n"
+"core.untrackedCache ist auf 'false' gesetzt. Entfernen oder ändern Sie "
+"dies,\n"
 "wenn sie wirklich den Cache für unversionierte Dateien aktivieren möchten."
 
-#: builtin/update-index.c:1135
+#: builtin/update-index.c:1136
 #, c-format
 msgid "Untracked cache enabled for '%s'"
 msgstr "Cache für unversionierte Dateien für '%s' aktiviert"
@@ -13255,7 +13743,7 @@
 msgid "print commit contents"
 msgstr "Commit-Inhalte ausgeben"
 
-#: builtin/verify-commit.c:73 builtin/verify-tag.c:35
+#: builtin/verify-commit.c:73 builtin/verify-tag.c:37
 msgid "print raw gpg status output"
 msgstr "unbearbeitete Ausgabe des Status von gpg ausgeben"
 
@@ -13271,11 +13759,11 @@
 msgid "show statistics only"
 msgstr "nur Statistiken anzeigen"
 
-#: builtin/verify-tag.c:17
-msgid "git verify-tag [-v | --verbose] <tag>..."
-msgstr "git verify-tag [-v | --verbose] <Tag>..."
+#: builtin/verify-tag.c:18
+msgid "git verify-tag [-v | --verbose] [--format=<format>] <tag>..."
+msgstr "git verify-tag [-v | --verbose] [--format=<Format>] <Tag>..."
 
-#: builtin/verify-tag.c:34
+#: builtin/verify-tag.c:36
 msgid "print tag contents"
 msgstr "Tag-Inhalte ausgeben"
 
@@ -13324,6 +13812,14 @@
 msgid "Removing worktrees/%s: gitdir file points to non-existent location"
 msgstr "Lösche worktrees/%s: gitdir-Datei verweist auf nicht existierenden Ort"
 
+#: builtin/worktree.c:128
+msgid "report pruned working trees"
+msgstr "entfernte Arbeitsverzeichnisse ausgeben"
+
+#: builtin/worktree.c:130
+msgid "expire working trees older than <time>"
+msgstr "Arbeitsverzeichnisse älter als <Zeit> verfallen lassen"
+
 #: builtin/worktree.c:204
 #, c-format
 msgid "'%s' already exists"
@@ -13361,30 +13857,30 @@
 msgid "-b, -B, and --detach are mutually exclusive"
 msgstr "-b, -B und --detach schließen sich gegenseitig aus"
 
-#: builtin/worktree.c:470
+#: builtin/worktree.c:472
 msgid "reason for locking"
 msgstr "Sperrgrund"
 
-#: builtin/worktree.c:482 builtin/worktree.c:515
+#: builtin/worktree.c:484 builtin/worktree.c:517
 #, c-format
 msgid "'%s' is not a working tree"
 msgstr "'%s' ist kein Arbeitsverzeichnis"
 
-#: builtin/worktree.c:484 builtin/worktree.c:517
+#: builtin/worktree.c:486 builtin/worktree.c:519
 msgid "The main working tree cannot be locked or unlocked"
 msgstr "Das Hauptarbeitsverzeichnis kann nicht gesperrt oder entsperrt werden."
 
-#: builtin/worktree.c:489
+#: builtin/worktree.c:491
 #, c-format
 msgid "'%s' is already locked, reason: %s"
 msgstr "'%s' ist bereits gesperrt, Grund: %s"
 
-#: builtin/worktree.c:491
+#: builtin/worktree.c:493
 #, c-format
 msgid "'%s' is already locked"
 msgstr "'%s' ist bereits gesperrt"
 
-#: builtin/worktree.c:519
+#: builtin/worktree.c:521
 #, c-format
 msgid "'%s' is not locked"
 msgstr "'%s' ist nicht gesperrt"
@@ -13409,21 +13905,21 @@
 msgid "git upload-pack [<options>] <dir>"
 msgstr "git upload-pack [<Optionen>] <Verzeichnis>"
 
-#: upload-pack.c:1028
+#: upload-pack.c:1036
 msgid "quit after a single request/response exchange"
 msgstr "nach einem einzigen Request/Response-Austausch beenden"
 
-#: upload-pack.c:1030
+#: upload-pack.c:1038
 msgid "exit immediately after initial ref advertisement"
 msgstr "direkt nach der initialen Angabe der Commits beenden"
 
-#: upload-pack.c:1032
+#: upload-pack.c:1040
 msgid "do not try <directory>/.git/ if <directory> is no Git directory"
 msgstr ""
 "kein Versuch in <Verzeichnis>/.git/ wenn <Verzeichnis> kein Git-Verzeichnis "
 "ist"
 
-#: upload-pack.c:1034
+#: upload-pack.c:1042
 msgid "interrupt transfer after <n> seconds of inactivity"
 msgstr "Übertragung nach <n> Sekunden Inaktivität unterbrechen"
 
@@ -13458,16 +13954,32 @@
 "oder 'git help <Konzept>', um mehr über einen spezifischen Befehl oder\n"
 "Konzept zu erfahren."
 
-#: http.c:342
+#: http.c:344
 msgid "Delegation control is not supported with cURL < 7.22.0"
 msgstr "Kontrolle über Delegation wird mit cURL < 7.22.0 nicht unterstützt"
 
-#: http.c:351
+#: http.c:353
 msgid "Public key pinning not supported with cURL < 7.44.0"
 msgstr ""
 "Das Anheften des öffentlichen Schlüssels wird mit cURL < 7.44.0\n"
 "nicht unterstützt."
 
+#: http.c:1713
+#, c-format
+msgid ""
+"unable to update url base from redirection:\n"
+"  asked for: %s\n"
+"   redirect: %s"
+msgstr ""
+"Konnte Basis-URL nicht durch Umleitung aktualisieren:\n"
+"  gefragt nach: %s\n"
+"    umgeleitet: %s"
+
+#: remote-curl.c:319
+#, c-format
+msgid "redirecting to %s"
+msgstr "Leite nach %s um"
+
 #: common-cmds.h:9
 msgid "start a working area (see also: git help tutorial)"
 msgstr "Arbeitsverzeichnis anlegen (siehe auch: git help tutorial)"
@@ -13852,7 +14364,7 @@
 msgid "Simple merge did not work, trying automatic merge."
 msgstr "Einfacher Merge hat nicht funktioniert, versuche automatischen Merge."
 
-#: git-rebase.sh:56
+#: git-rebase.sh:57
 msgid ""
 "When you have resolved this problem, run \"git rebase --continue\".\n"
 "If you prefer to skip this patch, run \"git rebase --skip\" instead.\n"
@@ -13866,53 +14378,39 @@
 "Um den ursprünglichen Branch wiederherzustellen und den Rebase abzubrechen,\n"
 "führen Sie \"git rebase --abort\" aus."
 
-#: git-rebase.sh:156 git-rebase.sh:395
+#: git-rebase.sh:157 git-rebase.sh:396
 #, sh-format
 msgid "Could not move back to $head_name"
 msgstr "Konnte nicht zu $head_name zurückgehen"
 
-#: git-rebase.sh:167
-msgid "Applied autostash."
-msgstr "Automatischen Stash angewendet."
-
-#: git-rebase.sh:170
+#: git-rebase.sh:171
 #, sh-format
 msgid "Cannot store $stash_sha1"
 msgstr "Kann $stash_sha1 nicht speichern."
 
-#: git-rebase.sh:171
-msgid ""
-"Applying autostash resulted in conflicts.\n"
-"Your changes are safe in the stash.\n"
-"You can run \"git stash pop\" or \"git stash drop\" at any time.\n"
-msgstr ""
-"Anwendung des automatischen Stash resultierte in Konflikten.\n"
-"Ihre Änderungen sind im Stash sicher.\n"
-"Sie können jederzeit \"git stash pop\" oder \"git stash drop\" ausführen.\n"
-
-#: git-rebase.sh:210
+#: git-rebase.sh:211
 msgid "The pre-rebase hook refused to rebase."
 msgstr "Der \"pre-rebase hook\" hat den Rebase zurückgewiesen."
 
-#: git-rebase.sh:215
+#: git-rebase.sh:216
 msgid "It looks like git-am is in progress. Cannot rebase."
 msgstr "\"git-am\" scheint im Gange zu sein. Kann Rebase nicht durchführen."
 
-#: git-rebase.sh:356
+#: git-rebase.sh:357
 msgid "No rebase in progress?"
 msgstr "Kein Rebase im Gange?"
 
-#: git-rebase.sh:367
+#: git-rebase.sh:368
 msgid "The --edit-todo action can only be used during interactive rebase."
 msgstr ""
 "Die --edit-todo Aktion kann nur während eines interaktiven Rebase verwendet "
 "werden."
 
-#: git-rebase.sh:374
+#: git-rebase.sh:375
 msgid "Cannot read HEAD"
 msgstr "Kann HEAD nicht lesen"
 
-#: git-rebase.sh:377
+#: git-rebase.sh:378
 msgid ""
 "You must edit all merge conflicts and then\n"
 "mark them as resolved using git add"
@@ -13920,7 +14418,7 @@
 "Sie müssen alle Merge-Konflikte editieren und diese dann\n"
 "mittels \"git add\" als aufgelöst markieren"
 
-#: git-rebase.sh:414
+#: git-rebase.sh:418
 #, sh-format
 msgid ""
 "It seems that there is already a $state_dir_base directory, and\n"
@@ -13941,67 +14439,67 @@
 "und führen Sie diesen Befehl nochmal aus. Es wird angehalten, falls noch\n"
 "etwas Schützenswertes vorhanden ist."
 
-#: git-rebase.sh:465
+#: git-rebase.sh:469
 #, sh-format
 msgid "invalid upstream $upstream_name"
 msgstr "ungültiger Upstream-Branch $upstream_name"
 
-#: git-rebase.sh:489
+#: git-rebase.sh:493
 #, sh-format
 msgid "$onto_name: there are more than one merge bases"
 msgstr "$onto_name: es gibt mehr als eine Merge-Basis"
 
-#: git-rebase.sh:492 git-rebase.sh:496
+#: git-rebase.sh:496 git-rebase.sh:500
 #, sh-format
 msgid "$onto_name: there is no merge base"
 msgstr "$onto_name: es gibt keine Merge-Basis"
 
-#: git-rebase.sh:501
+#: git-rebase.sh:505
 #, sh-format
 msgid "Does not point to a valid commit: $onto_name"
 msgstr "$onto_name zeigt auf keinen gültigen Commit"
 
-#: git-rebase.sh:524
+#: git-rebase.sh:528
 #, sh-format
 msgid "fatal: no such branch: $branch_name"
 msgstr "fatal: Branch $branch_name nicht gefunden"
 
-#: git-rebase.sh:557
+#: git-rebase.sh:561
 msgid "Cannot autostash"
 msgstr "Kann automatischen Stash nicht erzeugen."
 
-#: git-rebase.sh:562
+#: git-rebase.sh:566
 #, sh-format
 msgid "Created autostash: $stash_abbrev"
 msgstr "Automatischen Stash erzeugt: $stash_abbrev"
 
-#: git-rebase.sh:566
+#: git-rebase.sh:570
 msgid "Please commit or stash them."
 msgstr "Bitte committen Sie die Änderungen oder benutzen Sie \"stash\"."
 
-#: git-rebase.sh:586
+#: git-rebase.sh:590
 #, sh-format
 msgid "Current branch $branch_name is up to date."
 msgstr "Aktueller Branch $branch_name ist auf dem neuesten Stand."
 
-#: git-rebase.sh:590
+#: git-rebase.sh:594
 #, sh-format
 msgid "Current branch $branch_name is up to date, rebase forced."
 msgstr ""
 "Aktueller Branch $branch_name ist auf dem neuesten Stand, Rebase erzwungen."
 
-#: git-rebase.sh:601
+#: git-rebase.sh:605
 #, sh-format
 msgid "Changes from $mb to $onto:"
 msgstr "Änderungen von $mb zu $onto:"
 
-#: git-rebase.sh:610
+#: git-rebase.sh:614
 msgid "First, rewinding head to replay your work on top of it..."
 msgstr ""
 "Zunächst wird der Branch zurückgespult, um Ihre Änderungen\n"
 "darauf neu anzuwenden ..."
 
-#: git-rebase.sh:620
+#: git-rebase.sh:624
 #, sh-format
 msgid "Fast-forwarded $branch_name to $onto_name."
 msgstr "$branch_name zu $onto_name vorgespult."
@@ -14065,7 +14563,8 @@
 
 #: git-stash.sh:251
 msgid "Can't use --patch and --include-untracked or --all at the same time"
-msgstr "Kann nicht gleichzeitig --patch und --include-untracked oder --all verwenden"
+msgstr ""
+"Kann nicht gleichzeitig --patch und --include-untracked oder --all verwenden"
 
 #: git-stash.sh:259
 msgid "No local changes to save"
@@ -14167,23 +14666,28 @@
 msgid "(To restore them type \"git stash apply\")"
 msgstr "(Zur Wiederherstellung geben Sie \"git stash apply\" ein)"
 
-#: git-submodule.sh:184
+#: git-submodule.sh:181
 msgid "Relative path can only be used from the toplevel of the working tree"
 msgstr ""
 "Relative Pfade können nur von der obersten Ebene des Arbeitsverzeichnisses "
 "benutzt werden."
 
-#: git-submodule.sh:194
+#: git-submodule.sh:191
 #, sh-format
 msgid "repo URL: '$repo' must be absolute or begin with ./|../"
 msgstr "repo URL: '$repo' muss absolut sein oder mit ./|../ beginnen"
 
-#: git-submodule.sh:211
+#: git-submodule.sh:210
 #, sh-format
 msgid "'$sm_path' already exists in the index"
 msgstr "'$sm_path' ist bereits zum Commit vorgemerkt"
 
-#: git-submodule.sh:215
+#: git-submodule.sh:213
+#, sh-format
+msgid "'$sm_path' already exists in the index and is not a submodule"
+msgstr "'$sm_path' ist bereits zum Commit vorgemerkt und ist kein Submodul"
+
+#: git-submodule.sh:218
 #, sh-format
 msgid ""
 "The following path is ignored by one of your .gitignore files:\n"
@@ -14194,24 +14698,24 @@
 "$sm_path\n"
 "Benutzen Sie -f wenn Sie diesen wirklich hinzufügen möchten."
 
-#: git-submodule.sh:233
+#: git-submodule.sh:236
 #, sh-format
 msgid "Adding existing repo at '$sm_path' to the index"
 msgstr "Füge existierendes Repository in '$sm_path' dem Index hinzu."
 
-#: git-submodule.sh:235
+#: git-submodule.sh:238
 #, sh-format
 msgid "'$sm_path' already exists and is not a valid git repo"
 msgstr "'$sm_path' existiert bereits und ist kein gültiges Git-Repository"
 
-#: git-submodule.sh:243
+#: git-submodule.sh:246
 #, sh-format
 msgid "A git directory for '$sm_name' is found locally with remote(s):"
 msgstr ""
 "Ein Git-Verzeichnis für '$sm_name' wurde lokal gefunden mit den Remote-"
 "Repositories:"
 
-#: git-submodule.sh:245
+#: git-submodule.sh:248
 #, sh-format
 msgid ""
 "If you want to reuse this local git directory instead of cloning again from\n"
@@ -14229,49 +14733,49 @@
 "nicht das korrekte Repository ist oder Sie unsicher sind, was das bedeutet,\n"
 "wählen Sie einen anderen Namen mit der Option '--name'."
 
-#: git-submodule.sh:251
+#: git-submodule.sh:254
 #, sh-format
 msgid "Reactivating local git directory for submodule '$sm_name'."
 msgstr "Reaktiviere lokales Git-Verzeichnis für Submodul '$sm_name'."
 
-#: git-submodule.sh:263
+#: git-submodule.sh:266
 #, sh-format
 msgid "Unable to checkout submodule '$sm_path'"
 msgstr "Kann Submodul '$sm_path' nicht auschecken"
 
-#: git-submodule.sh:268
+#: git-submodule.sh:271
 #, sh-format
 msgid "Failed to add submodule '$sm_path'"
 msgstr "Hinzufügen von Submodul '$sm_path' fehlgeschlagen"
 
-#: git-submodule.sh:277
+#: git-submodule.sh:280
 #, sh-format
 msgid "Failed to register submodule '$sm_path'"
 msgstr "Fehler beim Eintragen von Submodul '$sm_path' in die Konfiguration."
 
-#: git-submodule.sh:324
+#: git-submodule.sh:327
 #, sh-format
 msgid "Entering '$displaypath'"
 msgstr "Betrete '$displaypath'"
 
-#: git-submodule.sh:344
+#: git-submodule.sh:347
 #, sh-format
 msgid "Stopping at '$displaypath'; script returned non-zero status."
 msgstr "Stoppe bei '$displaypath'; Skript gab nicht-Null Status zurück."
 
-#: git-submodule.sh:415
+#: git-submodule.sh:418
 #, sh-format
 msgid "pathspec and --all are incompatible"
 msgstr "Pfadspezifikationen und --all sind inkompatibel."
 
-#: git-submodule.sh:420
+#: git-submodule.sh:423
 #, sh-format
 msgid "Use '--all' if you really want to deinitialize all submodules"
 msgstr ""
 "Verwenden Sie '--all', wenn Sie wirklich alle Submodule deinitialisieren\n"
 "möchten."
 
-#: git-submodule.sh:440
+#: git-submodule.sh:443
 #, sh-format
 msgid ""
 "Submodule work tree '$displaypath' contains a .git directory\n"
@@ -14283,7 +14787,7 @@
 "löschen\n"
 "möchten)"
 
-#: git-submodule.sh:448
+#: git-submodule.sh:451
 #, sh-format
 msgid ""
 "Submodule work tree '$displaypath' contains local modifications; use '-f' to "
@@ -14292,41 +14796,41 @@
 "Arbeitsverzeichnis von Submodul in '$displaypath' enthält lokale Änderungen; "
 "verwenden Sie '-f', um diese zu verwerfen"
 
-#: git-submodule.sh:451
+#: git-submodule.sh:454
 #, sh-format
 msgid "Cleared directory '$displaypath'"
 msgstr "Verzeichnis '$displaypath' bereinigt."
 
-#: git-submodule.sh:452
+#: git-submodule.sh:455
 #, sh-format
 msgid "Could not remove submodule work tree '$displaypath'"
 msgstr ""
 "Konnte Arbeitsverzeichnis des Submoduls in '$displaypath' nicht löschen."
 
-#: git-submodule.sh:455
+#: git-submodule.sh:458
 #, sh-format
 msgid "Could not create empty submodule directory '$displaypath'"
 msgstr ""
 "Konnte kein leeres Verzeichnis für Submodul in '$displaypath' erstellen."
 
-#: git-submodule.sh:464
+#: git-submodule.sh:467
 #, sh-format
 msgid "Submodule '$name' ($url) unregistered for path '$displaypath'"
 msgstr ""
 "Submodul '$name' ($url) für Pfad '$displaypath' wurde aus der Konfiguration "
 "entfernt."
 
-#: git-submodule.sh:617
+#: git-submodule.sh:623
 #, sh-format
 msgid "Unable to find current revision in submodule path '$displaypath'"
 msgstr "Konnte aktuellen Commit in Submodul-Pfad '$displaypath' nicht finden."
 
-#: git-submodule.sh:627
+#: git-submodule.sh:633
 #, sh-format
 msgid "Unable to fetch in submodule path '$sm_path'"
 msgstr "Konnte \"fetch\" in Submodul-Pfad '$sm_path' nicht ausführen"
 
-#: git-submodule.sh:632
+#: git-submodule.sh:638
 #, sh-format
 msgid ""
 "Unable to find current ${remote_name}/${branch} revision in submodule path "
@@ -14335,12 +14839,12 @@
 "Konnte aktuellen Commit von ${remote_name}/${branch} in Submodul-Pfad\n"
 "'$sm_path' nicht finden."
 
-#: git-submodule.sh:650
+#: git-submodule.sh:656
 #, sh-format
 msgid "Unable to fetch in submodule path '$displaypath'"
 msgstr "Konnte \"fetch\" in Submodul-Pfad '$displaypath' nicht ausführen"
 
-#: git-submodule.sh:656
+#: git-submodule.sh:662
 #, sh-format
 msgid ""
 "Fetched in submodule path '$displaypath', but it did not contain $sha1. "
@@ -14349,85 +14853,85 @@
 "\"fetch\" in Submodul-Pfad '$displaypath' ausgeführt, aber $sha1 nicht\n"
 "enthalten. Direktes Anfordern dieses Commits ist fehlgeschlagen."
 
-#: git-submodule.sh:663
+#: git-submodule.sh:669
 #, sh-format
 msgid "Unable to checkout '$sha1' in submodule path '$displaypath'"
 msgstr "Konnte '$sha1' in Submodul-Pfad '$displaypath' nicht auschecken."
 
-#: git-submodule.sh:664
+#: git-submodule.sh:670
 #, sh-format
 msgid "Submodule path '$displaypath': checked out '$sha1'"
 msgstr "Submodul-Pfad: '$displaypath': '$sha1' ausgecheckt"
 
-#: git-submodule.sh:668
+#: git-submodule.sh:674
 #, sh-format
 msgid "Unable to rebase '$sha1' in submodule path '$displaypath'"
 msgstr "Rebase auf '$sha1' in Submodul-Pfad '$displaypath' nicht möglich"
 
-#: git-submodule.sh:669
+#: git-submodule.sh:675
 #, sh-format
 msgid "Submodule path '$displaypath': rebased into '$sha1'"
 msgstr "Submodul-Pfad '$displaypath': Rebase auf '$sha1'"
 
-#: git-submodule.sh:674
+#: git-submodule.sh:680
 #, sh-format
 msgid "Unable to merge '$sha1' in submodule path '$displaypath'"
 msgstr "Merge von '$sha1' in Submodul-Pfad '$displaypath' fehlgeschlagen"
 
-#: git-submodule.sh:675
+#: git-submodule.sh:681
 #, sh-format
 msgid "Submodule path '$displaypath': merged in '$sha1'"
 msgstr "Submodul-Pfad '$displaypath': zusammengeführt in '$sha1'"
 
-#: git-submodule.sh:680
+#: git-submodule.sh:686
 #, sh-format
 msgid "Execution of '$command $sha1' failed in submodule path '$displaypath'"
 msgstr ""
 "Ausführung von '$command $sha1' in Submodul-Pfad '$displaypath' "
 "fehlgeschlagen"
 
-#: git-submodule.sh:681
+#: git-submodule.sh:687
 #, sh-format
 msgid "Submodule path '$displaypath': '$command $sha1'"
 msgstr "Submodul-Pfad '$displaypath': '$command $sha1'"
 
-#: git-submodule.sh:712
+#: git-submodule.sh:718
 #, sh-format
 msgid "Failed to recurse into submodule path '$displaypath'"
 msgstr "Fehler bei Rekursion in Submodul-Pfad '$displaypath'"
 
-#: git-submodule.sh:820
+#: git-submodule.sh:826
 msgid "The --cached option cannot be used with the --files option"
 msgstr ""
 "Die Optionen --cached und --files können nicht gemeinsam verwendet werden."
 
-#: git-submodule.sh:872
+#: git-submodule.sh:878
 #, sh-format
 msgid "unexpected mode $mod_dst"
 msgstr "unerwarteter Modus $mod_dst"
 
-#: git-submodule.sh:892
+#: git-submodule.sh:898
 #, sh-format
 msgid "  Warn: $display_name doesn't contain commit $sha1_src"
 msgstr "  Warnung: $display_name beinhaltet nicht Commit $sha1_src"
 
-#: git-submodule.sh:895
+#: git-submodule.sh:901
 #, sh-format
 msgid "  Warn: $display_name doesn't contain commit $sha1_dst"
 msgstr "  Warnung: $display_name beinhaltet nicht Commit $sha1_dst"
 
-#: git-submodule.sh:898
+#: git-submodule.sh:904
 #, sh-format
 msgid "  Warn: $display_name doesn't contain commits $sha1_src and $sha1_dst"
 msgstr ""
 "  Warnung: $display_name beinhaltet nicht die Commits $sha1_src und $sha1_dst"
 
-#: git-submodule.sh:1045
+#: git-submodule.sh:1051
 #, sh-format
 msgid "Failed to recurse into submodule path '$sm_path'"
 msgstr "Fehler bei Rekursion in Submodul-Pfad '$sm_path'"
 
-#: git-submodule.sh:1112
+#: git-submodule.sh:1118
 #, sh-format
 msgid "Synchronizing submodule url for '$displaypath'"
 msgstr "Synchronisiere Submodul-URL für '$displaypath'"
@@ -14566,26 +15070,22 @@
 msgstr[0] "Das ist eine Kombination aus $count Commit."
 msgstr[1] "Das ist eine Kombination aus $count Commits."
 
-#: git-rebase--interactive.sh:440
+#: git-rebase--interactive.sh:441
 #, sh-format
 msgid "Cannot write $fixup_msg"
 msgstr "Kann $fixup_msg nicht schreiben"
 
-#: git-rebase--interactive.sh:443
+#: git-rebase--interactive.sh:444
 msgid "This is a combination of 2 commits."
 msgstr "Das ist eine Kombination aus 2 Commits."
 
-#: git-rebase--interactive.sh:444
-msgid "This is the 1st commit message:"
-msgstr "Das ist die erste Commit-Beschreibung:"
-
-#: git-rebase--interactive.sh:484 git-rebase--interactive.sh:527
-#: git-rebase--interactive.sh:530
+#: git-rebase--interactive.sh:485 git-rebase--interactive.sh:528
+#: git-rebase--interactive.sh:531
 #, sh-format
 msgid "Could not apply $sha1... $rest"
 msgstr "Konnte $sha1... ($rest) nicht anwenden"
 
-#: git-rebase--interactive.sh:558
+#: git-rebase--interactive.sh:559
 #, sh-format
 msgid ""
 "Could not amend commit after successfully picking $sha1... $rest\n"
@@ -14602,31 +15102,31 @@
 "sollten Sie das Problem beheben, bevor Sie die Commit-Beschreibung ändern "
 "können."
 
-#: git-rebase--interactive.sh:573
+#: git-rebase--interactive.sh:574
 #, sh-format
 msgid "Stopped at $sha1_abbrev... $rest"
 msgstr "Angehalten bei $sha1_abbrev... $rest"
 
-#: git-rebase--interactive.sh:588
+#: git-rebase--interactive.sh:589
 #, sh-format
 msgid "Cannot '$squash_style' without a previous commit"
 msgstr "Kann nicht '$squash_style' ohne vorherigen Commit"
 
-#: git-rebase--interactive.sh:630
+#: git-rebase--interactive.sh:631
 #, sh-format
 msgid "Executing: $rest"
 msgstr "Führe aus: $rest"
 
-#: git-rebase--interactive.sh:638
+#: git-rebase--interactive.sh:639
 #, sh-format
 msgid "Execution failed: $rest"
 msgstr "Ausführung fehlgeschlagen: $rest"
 
-#: git-rebase--interactive.sh:640
+#: git-rebase--interactive.sh:641
 msgid "and made changes to the index and/or the working tree"
 msgstr "Der Index und/oder das Arbeitsverzeichnis wurde geändert."
 
-#: git-rebase--interactive.sh:642
+#: git-rebase--interactive.sh:643
 msgid ""
 "You can fix the problem, and then run\n"
 "\n"
@@ -14639,7 +15139,7 @@
 "ausführen."
 
 #. TRANSLATORS: after these lines is a command to be issued by the user
-#: git-rebase--interactive.sh:655
+#: git-rebase--interactive.sh:656
 #, sh-format
 msgid ""
 "Execution succeeded: $rest\n"
@@ -14655,25 +15155,25 @@
 "\n"
 "\tgit rebase --continue"
 
-#: git-rebase--interactive.sh:666
+#: git-rebase--interactive.sh:667
 #, sh-format
 msgid "Unknown command: $command $sha1 $rest"
 msgstr "Unbekannter Befehl: $command $sha1 $rest"
 
-#: git-rebase--interactive.sh:667
+#: git-rebase--interactive.sh:668
 msgid "Please fix this using 'git rebase --edit-todo'."
 msgstr "Bitte beheben Sie das, indem Sie 'git rebase --edit-todo' ausführen."
 
-#: git-rebase--interactive.sh:702
+#: git-rebase--interactive.sh:703
 #, sh-format
 msgid "Successfully rebased and updated $head_name."
 msgstr "Erfolgreich Rebase ausgeführt und $head_name aktualisiert."
 
-#: git-rebase--interactive.sh:749
+#: git-rebase--interactive.sh:750
 msgid "Could not skip unnecessary pick commands"
 msgstr "Fehler beim Auslassen von nicht erforderlichen \"pick\"-Befehlen."
 
-#: git-rebase--interactive.sh:907
+#: git-rebase--interactive.sh:908
 #, sh-format
 msgid ""
 "Warning: the SHA-1 is missing or isn't a commit in the following line:\n"
@@ -14682,7 +15182,7 @@
 "Warnung: Der SHA-1 in der folgenden Zeile fehlt oder ist kein Commit:\n"
 " - $line"
 
-#: git-rebase--interactive.sh:940
+#: git-rebase--interactive.sh:941
 #, sh-format
 msgid ""
 "Warning: the command isn't recognized in the following line:\n"
@@ -14691,11 +15191,11 @@
 "Warnung: Das Kommando in der folgenden Zeile wurde nicht erkannt:\n"
 " - $line"
 
-#: git-rebase--interactive.sh:979
+#: git-rebase--interactive.sh:980
 msgid "could not detach HEAD"
 msgstr "Konnte HEAD nicht loslösen"
 
-#: git-rebase--interactive.sh:1017
+#: git-rebase--interactive.sh:1018
 msgid ""
 "Warning: some commits may have been dropped accidentally.\n"
 "Dropped commits (newer to older):"
@@ -14703,7 +15203,7 @@
 "Warnung: Einige Commits könnten aus Versehen entfernt worden sein.\n"
 "Entfernte Commits (neu zu alt):"
 
-#: git-rebase--interactive.sh:1025
+#: git-rebase--interactive.sh:1026
 msgid ""
 "To avoid this message, use \"drop\" to explicitly remove a commit.\n"
 "\n"
@@ -14719,7 +15219,7 @@
 "zu ändern.\n"
 "Die möglichen Verhaltensweisen sind: ignore, warn, error."
 
-#: git-rebase--interactive.sh:1036
+#: git-rebase--interactive.sh:1037
 #, sh-format
 msgid ""
 "Unrecognized setting $check_level for option rebase.missingCommitsCheck. "
@@ -14729,7 +15229,7 @@
 "missingCommitsCheck.\n"
 "Ignoriere."
 
-#: git-rebase--interactive.sh:1053
+#: git-rebase--interactive.sh:1054
 msgid ""
 "You can fix this with 'git rebase --edit-todo' and then run 'git rebase --"
 "continue'."
@@ -14737,15 +15237,15 @@
 "Sie können das mit 'git rebase --edit-todo' beheben. Führen Sie danach\n"
 "'git rebase --continue' aus."
 
-#: git-rebase--interactive.sh:1054
+#: git-rebase--interactive.sh:1055
 msgid "Or you can abort the rebase with 'git rebase --abort'."
 msgstr "Oder Sie können den Rebase mit 'git rebase --abort' abbrechen."
 
-#: git-rebase--interactive.sh:1078
+#: git-rebase--interactive.sh:1079
 msgid "Could not remove CHERRY_PICK_HEAD"
 msgstr "Konnte CHERRY_PICK_HEAD nicht löschen"
 
-#: git-rebase--interactive.sh:1083
+#: git-rebase--interactive.sh:1084
 #, sh-format
 msgid ""
 "You have staged changes in your working tree.\n"
@@ -14762,7 +15262,8 @@
 "\n"
 "  git rebase --continue\n"
 msgstr ""
-"Es befinden sich zum Commit vorgemerkte Änderungen in Ihrem Arbeitsverzeichnis.\n"
+"Es befinden sich zum Commit vorgemerkte Änderungen in Ihrem "
+"Arbeitsverzeichnis.\n"
 "Wenn diese Änderungen in den vorherigen Commit aufgenommen werden sollen,\n"
 "führen Sie aus:\n"
 "\n"
@@ -14776,13 +15277,13 @@
 "\n"
 "  git rebase --continue\n"
 
-#: git-rebase--interactive.sh:1100
+#: git-rebase--interactive.sh:1101
 msgid "Error trying to find the author identity to amend commit"
 msgstr ""
 "Fehler beim Versuch die Identität des Authors zum Verbessern des Commits zu\n"
 "finden"
 
-#: git-rebase--interactive.sh:1105
+#: git-rebase--interactive.sh:1106
 msgid ""
 "You have uncommitted changes in your working tree. Please commit them\n"
 "first and then run 'git rebase --continue' again."
@@ -14792,11 +15293,11 @@
 "erneut\n"
 "aus."
 
-#: git-rebase--interactive.sh:1110 git-rebase--interactive.sh:1114
+#: git-rebase--interactive.sh:1111 git-rebase--interactive.sh:1115
 msgid "Could not commit staged changes."
 msgstr "Konnte Änderungen aus der Staging-Area nicht committen."
 
-#: git-rebase--interactive.sh:1138
+#: git-rebase--interactive.sh:1139
 msgid ""
 "\n"
 "You are editing the todo file of an ongoing interactive rebase.\n"
@@ -14810,40 +15311,40 @@
 "    git rebase --continue\n"
 "\n"
 
-#: git-rebase--interactive.sh:1146 git-rebase--interactive.sh:1304
+#: git-rebase--interactive.sh:1147 git-rebase--interactive.sh:1305
 msgid "Could not execute editor"
 msgstr "Konnte Editor nicht ausführen."
 
-#: git-rebase--interactive.sh:1159
+#: git-rebase--interactive.sh:1160
 #, sh-format
 msgid "Could not checkout $switch_to"
 msgstr "Konnte $switch_to nicht auschecken."
 
-#: git-rebase--interactive.sh:1164
+#: git-rebase--interactive.sh:1165
 msgid "No HEAD?"
 msgstr "Kein HEAD?"
 
-#: git-rebase--interactive.sh:1165
+#: git-rebase--interactive.sh:1166
 #, sh-format
 msgid "Could not create temporary $state_dir"
 msgstr "Konnte temporäres Verzeichnis $state_dir nicht erstellen."
 
-#: git-rebase--interactive.sh:1167
+#: git-rebase--interactive.sh:1168
 msgid "Could not mark as interactive"
 msgstr "Konnte nicht als interaktiven Rebase markieren."
 
-#: git-rebase--interactive.sh:1177 git-rebase--interactive.sh:1182
+#: git-rebase--interactive.sh:1178 git-rebase--interactive.sh:1183
 msgid "Could not init rewritten commits"
 msgstr "Konnte neu geschriebene Commits nicht initialisieren."
 
-#: git-rebase--interactive.sh:1282
+#: git-rebase--interactive.sh:1283
 #, sh-format
 msgid "Rebase $shortrevisions onto $shortonto ($todocount command)"
 msgid_plural "Rebase $shortrevisions onto $shortonto ($todocount commands)"
 msgstr[0] "Rebase von $shortrevisions auf $shortonto ($todocount Kommando)"
 msgstr[1] "Rebase von $shortrevisions auf $shortonto ($todocount Kommandos)"
 
-#: git-rebase--interactive.sh:1287
+#: git-rebase--interactive.sh:1288
 msgid ""
 "\n"
 "However, if you remove everything, the rebase will be aborted.\n"
@@ -14853,7 +15354,7 @@
 "Wenn Sie jedoch alles löschen, wird der Rebase abgebrochen.\n"
 "\n"
 
-#: git-rebase--interactive.sh:1294
+#: git-rebase--interactive.sh:1295
 msgid "Note that empty commits are commented out"
 msgstr "Leere Commits sind auskommentiert."
 
@@ -14934,6 +15435,904 @@
 msgid "Unable to determine absolute path of git directory"
 msgstr "Konnte absoluten Pfad des Git-Verzeichnisses nicht bestimmen."
 
+#. TRANSLATORS: you can adjust this to align "git add -i" status menu
+#: git-add--interactive.perl:238
+#, perl-format
+msgid "%12s %12s %s"
+msgstr "%28s %25s %s"
+
+#: git-add--interactive.perl:239
+msgid "staged"
+msgstr "zur Staging-Area hinzugefügt"
+
+#: git-add--interactive.perl:239
+msgid "unstaged"
+msgstr "aus Staging-Area entfernt"
+
+#: git-add--interactive.perl:297 git-add--interactive.perl:322
+msgid "binary"
+msgstr "Binär"
+
+#: git-add--interactive.perl:306 git-add--interactive.perl:360
+msgid "nothing"
+msgstr "Nichts"
+
+#: git-add--interactive.perl:342 git-add--interactive.perl:357
+msgid "unchanged"
+msgstr "unverändert"
+
+#: git-add--interactive.perl:653
+#, perl-format
+msgid "added %d path\n"
+msgid_plural "added %d paths\n"
+msgstr[0] "%d Pfad hinzugefügt\n"
+msgstr[1] "%d Pfade hinzugefügt\n"
+
+#: git-add--interactive.perl:656
+#, perl-format
+msgid "updated %d path\n"
+msgid_plural "updated %d paths\n"
+msgstr[0] "%d Pfad aktualisiert\n"
+msgstr[1] "%d Pfade aktualisiert\n"
+
+#: git-add--interactive.perl:659
+#, perl-format
+msgid "reverted %d path\n"
+msgid_plural "reverted %d paths\n"
+msgstr[0] "%d Pfad wiederhergestellt\n"
+msgstr[1] "%d Pfade wiederhergestellt\n"
+
+#: git-add--interactive.perl:662
+#, perl-format
+msgid "touched %d path\n"
+msgid_plural "touched %d paths\n"
+msgstr[0] "%d Pfad angefasst\n"
+msgstr[1] "%d Pfade angefasst\n"
+
+#: git-add--interactive.perl:671
+msgid "Update"
+msgstr "Aktualisieren"
+
+#: git-add--interactive.perl:683
+msgid "Revert"
+msgstr "Revert"
+
+#: git-add--interactive.perl:706
+#, perl-format
+msgid "note: %s is untracked now.\n"
+msgstr "Hinweis: %s ist nun unversioniert.\n"
+
+#: git-add--interactive.perl:717
+msgid "Add untracked"
+msgstr "unversionierte Dateien hinzufügen"
+
+#: git-add--interactive.perl:723
+msgid "No untracked files.\n"
+msgstr "Keine unversionierten Dateien.\n"
+
+#: git-add--interactive.perl:1039
+msgid ""
+"If the patch applies cleanly, the edited hunk will immediately be\n"
+"marked for staging."
+msgstr ""
+"Wenn der Patch sauber angewendet werden kann, wird der bearbeitete Patch-Block\n"
+"direkt als zum Hinzufügen zur Staging-Area markiert."
+
+#: git-add--interactive.perl:1042
+msgid ""
+"If the patch applies cleanly, the edited hunk will immediately be\n"
+"marked for stashing."
+msgstr ""
+"Wenn der Patch sauber angewendet werden kann, wird der bearbeitete Patch-Block\n"
+"direkt als zum Hinzufügen zum Stash markiert."
+
+#: git-add--interactive.perl:1045
+msgid ""
+"If the patch applies cleanly, the edited hunk will immediately be\n"
+"marked for unstaging."
+msgstr ""
+"Wenn der Patch sauber angewendet werden kann, wird der bearbeitete Patch-Block\n"
+"direkt als zum Entfernen aus der Staging-Area markiert."
+
+#: git-add--interactive.perl:1048 git-add--interactive.perl:1057
+msgid ""
+"If the patch applies cleanly, the edited hunk will immediately be\n"
+"marked for applying."
+msgstr ""
+"Wenn der Patch sauber angewendet werden kann, wird der bearbeitete Patch-Block\n"
+"direkt als zum Anwenden markiert."
+
+#: git-add--interactive.perl:1051
+msgid ""
+"If the patch applies cleanly, the edited hunk will immediately be\n"
+"marked for discarding"
+msgstr ""
+"Wenn der Patch sauber angewendet werden kann, wird der bearbeitete Patch-Block\n"
+"direkt als zum Verwerfen markiert."
+
+#: git-add--interactive.perl:1054
+msgid ""
+"If the patch applies cleanly, the edited hunk will immediately be\n"
+"marked for discarding."
+msgstr ""
+"Wenn der Patch sauber angewendet werden kann, wird der bearbeitete Patch-Block\n"
+"direkt als zum Verwerfen markiert."
+
+#: git-add--interactive.perl:1067
+#, perl-format
+msgid "failed to open hunk edit file for writing: %s"
+msgstr "Fehler beim Öffnen von Editier-Datei eines Patch-Blocks zum Schreiben: %s"
+
+#: git-add--interactive.perl:1068
+msgid "Manual hunk edit mode -- see bottom for a quick guide.\n"
+msgstr ""
+"Manueller Editiermodus für Patch-Blöcke -- siehe nach unten für eine\n"
+"Kurzanleitung.\n"
+
+#: git-add--interactive.perl:1074
+#, perl-format
+msgid ""
+"---\n"
+"To remove '%s' lines, make them ' ' lines (context).\n"
+"To remove '%s' lines, delete them.\n"
+"Lines starting with %s will be removed.\n"
+msgstr ""
+"---\n"
+"Um '%s' Zeilen zu entfernen, machen Sie aus diesen ' ' Zeilen (Kontext).\n"
+"Um '%s' Zeilen zu entfernen, löschen Sie diese.\n"
+"Zeilen, die mit %s beginnen, werden entfernt.\n"
+
+#. TRANSLATORS: 'it' refers to the patch mentioned in the previous messages.
+#: git-add--interactive.perl:1082
+msgid ""
+"If it does not apply cleanly, you will be given an opportunity to\n"
+"edit again.  If all lines of the hunk are removed, then the edit is\n"
+"aborted and the hunk is left unchanged.\n"
+msgstr ""
+"Wenn das nicht sauber angewendet werden kann, haben Sie die Möglichkeit\n"
+"einer erneuten Bearbeitung. Wenn alle Zeilen des Patch-Blocks entfernt werden,\n"
+"wird die Bearbeitung abgebrochen und der Patch-Block bleibt unverändert.\n"
+
+#: git-add--interactive.perl:1096
+#, perl-format
+msgid "failed to open hunk edit file for reading: %s"
+msgstr "Fehler beim Öffnen von Editier-Datei eines Patch-Blocks zum Lesen: %s"
+
+#. TRANSLATORS: do not translate [y/n]
+#. The program will only accept that input
+#. at this point.
+#. Consider translating (saying "no" discards!) as
+#. (saying "n" for "no" discards!) if the translation
+#. of the word "no" does not start with n.
+#: git-add--interactive.perl:1187
+msgid ""
+"Your edited hunk does not apply. Edit again (saying \"no\" discards!) [y/n]? "
+msgstr ""
+"Ihr bearbeiteter Patch-Block kann nicht angewendet werden.\n"
+"Erneut bearbeiten? (\"n\" verwirft Bearbeitung!) [y/n]?"
+
+#: git-add--interactive.perl:1196
+msgid ""
+"y - stage this hunk\n"
+"n - do not stage this hunk\n"
+"q - quit; do not stage this hunk or any of the remaining ones\n"
+"a - stage this hunk and all later hunks in the file\n"
+"d - do not stage this hunk or any of the later hunks in the file"
+msgstr ""
+"y - diesen Patch-Block zum Commit vormerken\n"
+"n - diesen Patch-Block nicht zum Commit vormerken\n"
+"q - Beenden; diesen oder alle verbleibenden Patch-Blöcke nicht zum Commit vormerken\n"
+"a - diesen und alle weiteren Patch-Blöcke dieser Datei zum Commit vormerken\n"
+"d - diesen oder alle weiteren Patch-Blöcke in dieser Datei nicht zum Commit vormerken"
+
+#: git-add--interactive.perl:1202
+msgid ""
+"y - stash this hunk\n"
+"n - do not stash this hunk\n"
+"q - quit; do not stash this hunk or any of the remaining ones\n"
+"a - stash this hunk and all later hunks in the file\n"
+"d - do not stash this hunk or any of the later hunks in the file"
+msgstr ""
+"y - diesen Patch-Block stashen\n"
+"n - diesen Patch-Block nicht stashen\n"
+"q - Beenden; diesen oder alle verbleibenden Patch-Blöcke nicht stashen\n"
+"a - diesen und alle weiteren Patch-Blöcke dieser Datei stashen\n"
+"d - diesen oder alle weiteren Patch-Blöcke dieser Datei nicht stashen"
+
+#: git-add--interactive.perl:1208
+msgid ""
+"y - unstage this hunk\n"
+"n - do not unstage this hunk\n"
+"q - quit; do not unstage this hunk or any of the remaining ones\n"
+"a - unstage this hunk and all later hunks in the file\n"
+"d - do not unstage this hunk or any of the later hunks in the file"
+msgstr ""
+"y - diesen Patch-Block unstashen\n"
+"n - diesen Patch-Block nicht unstashen\n"
+"q - Beenden; diesen oder alle verbleibenden Patch-Blöcke nicht unstashen\n"
+"a - diesen und alle weiteren Patch-Blöcke dieser Datei unstashen\n"
+"d - diesen oder alle weiteren Patch-Blöcke dieser Datei nicht unstashen"
+
+#: git-add--interactive.perl:1214
+msgid ""
+"y - apply this hunk to index\n"
+"n - do not apply this hunk to index\n"
+"q - quit; do not apply this hunk or any of the remaining ones\n"
+"a - apply this hunk and all later hunks in the file\n"
+"d - do not apply this hunk or any of the later hunks in the file"
+msgstr ""
+"y - diesen Patch-Block auf den Index anwenden\n"
+"n - diesen Patch-Block nicht auf den Index anwenden\n"
+"q - Beenden; diesen oder alle verbleibenden Patch-Blöcke nicht auf den Index anwenden\n"
+"a - diesen und alle weiteren Patch-Blöcke dieser Datei auf den Index anwenden\n"
+"d - diesen oder alle weiteren Patch-Blöcke dieser Datei nicht auf den Index anwenden"
+
+#: git-add--interactive.perl:1220
+msgid ""
+"y - discard this hunk from worktree\n"
+"n - do not discard this hunk from worktree\n"
+"q - quit; do not discard this hunk or any of the remaining ones\n"
+"a - discard this hunk and all later hunks in the file\n"
+"d - do not discard this hunk or any of the later hunks in the file"
+msgstr ""
+"y - diesen Patch-Block im Arbeitsverzeichnis verwerfen\n"
+"n - diesen Patch-Block im Arbeitsverzeichnis nicht verwerfen\n"
+"q - Beenden; diesen oder alle verbleibenden Patch-Blöcke nicht im Arbeitsverzeichnis verwerfen\n"
+"a - diesen und alle weiteren Patch-Blöcke dieser Datei im Arbeitsverzeichnis verwerfen\n"
+"d - diesen oder alle weiteren Patch-Blöcke dieser Datei nicht im Arbeitsverzeichnis verwerfen"
+
+#: git-add--interactive.perl:1226
+msgid ""
+"y - discard this hunk from index and worktree\n"
+"n - do not discard this hunk from index and worktree\n"
+"q - quit; do not discard this hunk or any of the remaining ones\n"
+"a - discard this hunk and all later hunks in the file\n"
+"d - do not discard this hunk or any of the later hunks in the file"
+msgstr ""
+"y - diesen Patch-Block im Index und Arbeitsverzeichnis verwerfen\n"
+"n - diesen Patch-Block nicht im Index und Arbeitsverzeichnis verwerfen\n"
+"q - Beenden; diesen oder alle verbleibenden Patch-Blöcke nicht im Index und Arbeitsverzeichnis verwerfen\n"
+"a - diesen und alle weiteren Patch-Blöcke in der Datei verwerfen\n"
+"d - diesen oder alle weiteren Patch-Blöcke in der Datei nicht verwerfen"
+
+#: git-add--interactive.perl:1232
+msgid ""
+"y - apply this hunk to index and worktree\n"
+"n - do not apply this hunk to index and worktree\n"
+"q - quit; do not apply this hunk or any of the remaining ones\n"
+"a - apply this hunk and all later hunks in the file\n"
+"d - do not apply this hunk or any of the later hunks in the file"
+msgstr ""
+"y - diesen Patch-Block im Index und auf Arbeitsverzeichnis anwenden\n"
+"n - diesen Patch-Block nicht im Index und auf Arbeitsverzeichnis anwenden\n"
+"q - Beenden; diesen oder alle verbleibenden Patch-Blöcke nicht anwenden\n"
+"a - diesen und alle weiteren Patch-Blöcke in der Datei anwenden\n"
+"d - diesen oder alle weiteren Patch-Blöcke in der Datei nicht anwenden"
+
+#: git-add--interactive.perl:1241
+msgid ""
+"g - select a hunk to go to\n"
+"/ - search for a hunk matching the given regex\n"
+"j - leave this hunk undecided, see next undecided hunk\n"
+"J - leave this hunk undecided, see next hunk\n"
+"k - leave this hunk undecided, see previous undecided hunk\n"
+"K - leave this hunk undecided, see previous hunk\n"
+"s - split the current hunk into smaller hunks\n"
+"e - manually edit the current hunk\n"
+"? - print help\n"
+msgstr ""
+"g - Patch-Block zum Hinspringen auswählen\n"
+"/ - nach Patch-Block suchen der gegebenem regulärem Ausdruck entspricht\n"
+"j - diesen Patch-Block unbestimmt lassen, nächsten unbestimmten Patch-Block anzeigen\n"
+"J - diesen Patch-Block unbestimmt lassen, nächsten Patch-Block anzeigen\n"
+"k - diesen Patch-Block unbestimmt lassen, vorherigen unbestimmten Patch-Block anzeigen\n"
+"K - diesen Patch-Block unbestimmt lassen, vorherigen Patch-Block anzeigen\n"
+"s - aktuellen Patch-Block in kleinere Patch-Blöcke aufteilen\n"
+"e - aktuellen Patch-Block manuell editieren\n"
+"? - Hilfe anzeigen\n"
+
+#: git-add--interactive.perl:1272
+msgid "The selected hunks do not apply to the index!\n"
+msgstr "Die ausgewählten Patch-Blöcke können nicht auf den Index angewendet werden!\n"
+
+#: git-add--interactive.perl:1273
+msgid "Apply them to the worktree anyway? "
+msgstr "Trotzdem auf Arbeitsverzeichnis anwenden? "
+
+#: git-add--interactive.perl:1276
+msgid "Nothing was applied.\n"
+msgstr "Nichts angewendet.\n"
+
+#: git-add--interactive.perl:1287
+#, perl-format
+msgid "ignoring unmerged: %s\n"
+msgstr "ignoriere nicht zusammengeführte Datei: %s\n"
+
+#: git-add--interactive.perl:1296
+msgid "Only binary files changed.\n"
+msgstr "Nur Binärdateien geändert.\n"
+
+#: git-add--interactive.perl:1298
+msgid "No changes.\n"
+msgstr "Keine Änderungen.\n"
+
+#: git-add--interactive.perl:1306
+msgid "Patch update"
+msgstr "Patch Aktualisierung"
+
+#: git-add--interactive.perl:1358
+#, perl-format
+msgid "Stage mode change [y,n,q,a,d,/%s,?]? "
+msgstr "Modusänderung der Staging-Area hinzufügen [y,n,q,a,d,/%s,?]? "
+
+#: git-add--interactive.perl:1359
+#, perl-format
+msgid "Stage deletion [y,n,q,a,d,/%s,?]? "
+msgstr "Löschung der Staging-Area hinzufügen [y,n,q,a,d,/%s,?]? "
+
+#: git-add--interactive.perl:1360
+#, perl-format
+msgid "Stage this hunk [y,n,q,a,d,/%s,?]? "
+msgstr "Diesen Patch-Block der Staging-Area hinzufügen [y,n,q,a,d,/%s,?]? "
+
+#: git-add--interactive.perl:1363
+#, perl-format
+msgid "Stash mode change [y,n,q,a,d,/%s,?]? "
+msgstr "Modusänderung stashen [y,n,q,a,d,/%s,?]? "
+
+#: git-add--interactive.perl:1364
+#, perl-format
+msgid "Stash deletion [y,n,q,a,d,/%s,?]? "
+msgstr "Löschung stashen [y,n,q,a,d,/%s,?]? "
+
+#: git-add--interactive.perl:1365
+#, perl-format
+msgid "Stash this hunk [y,n,q,a,d,/%s,?]? "
+msgstr "Diesen Patch-Block stashen [y,n,q,a,d,/%s,?]? "
+
+#: git-add--interactive.perl:1368
+#, perl-format
+msgid "Unstage mode change [y,n,q,a,d,/%s,?]? "
+msgstr "Modusänderung aus der Staging-Area entfernen [y,n,q,a,d,/%s,?]? "
+
+#: git-add--interactive.perl:1369
+#, perl-format
+msgid "Unstage deletion [y,n,q,a,d,/%s,?]? "
+msgstr "Löschung aus der Staging-Area entfernen [y,n,q,a,d,/%s,?]? "
+
+#: git-add--interactive.perl:1370
+#, perl-format
+msgid "Unstage this hunk [y,n,q,a,d,/%s,?]? "
+msgstr "Diesen Patch-Block aus der Staging-Area entfernen [y,n,q,a,d,/%s,?]? "
+
+#: git-add--interactive.perl:1373
+#, perl-format
+msgid "Apply mode change to index [y,n,q,a,d,/%s,?]? "
+msgstr "Modusänderung auf Index anwenden [y,n,q,a,d,/%s,?]? "
+
+#: git-add--interactive.perl:1374
+#, perl-format
+msgid "Apply deletion to index [y,n,q,a,d,/%s,?]? "
+msgstr "Löschung auf Index anwenden [y,n,q,a,d,/%s,?]? "
+
+#: git-add--interactive.perl:1375
+#, perl-format
+msgid "Apply this hunk to index [y,n,q,a,d,/%s,?]? "
+msgstr "Diesen Patch-Block auf Index anwenden [y,n,q,a,d,/%s,?]? "
+
+#: git-add--interactive.perl:1378
+#, perl-format
+msgid "Discard mode change from worktree [y,n,q,a,d,/%s,?]? "
+msgstr "Modusänderung im Arbeitsverzeichnis verwerfen [y,n,q,a,d,/%s,?]? "
+
+#: git-add--interactive.perl:1379
+#, perl-format
+msgid "Discard deletion from worktree [y,n,q,a,d,/%s,?]? "
+msgstr "Löschung im Arbeitsverzeichnis verwerfen [y,n,q,a,d,/%s,?]? "
+
+#: git-add--interactive.perl:1380
+#, perl-format
+msgid "Discard this hunk from worktree [y,n,q,a,d,/%s,?]? "
+msgstr "diesen Patch-Block im Arbeitsverzeichnis verwerfen [y,n,q,a,d,/%s,?]? "
+
+#: git-add--interactive.perl:1383
+#, perl-format
+msgid "Discard mode change from index and worktree [y,n,q,a,d,/%s,?]? "
+msgstr "Modusänderung vom Index und Arbeitsverzeichnis verwerfen [y,n,q,a,d,/%s,?]? "
+
+#: git-add--interactive.perl:1384
+#, perl-format
+msgid "Discard deletion from index and worktree [y,n,q,a,d,/%s,?]? "
+msgstr "Löschung vom Index und Arbeitsverzeichnis verwerfen [y,n,q,a,d,/%s,?]? "
+
+#: git-add--interactive.perl:1385
+#, perl-format
+msgid "Discard this hunk from index and worktree [y,n,q,a,d,/%s,?]? "
+msgstr "Diesen Patch-Block vom Index und Arbeitsverzeichnis verwerfen [y,n,q,a,d,/%s,?]? "
+
+#: git-add--interactive.perl:1388
+#, perl-format
+msgid "Apply mode change to index and worktree [y,n,q,a,d,/%s,?]? "
+msgstr "Modusänderung auf Index und Arbeitsverzeichnis anwenden [y,n,q,a,d,/%s,?]? "
+
+#: git-add--interactive.perl:1389
+#, perl-format
+msgid "Apply deletion to index and worktree [y,n,q,a,d,/%s,?]? "
+msgstr "Löschung auf Index und Arbeitsverzeichnis anwenden [y,n,q,a,d,/%s,?]? "
+
+#: git-add--interactive.perl:1390
+#, perl-format
+msgid "Apply this hunk to index and worktree [y,n,q,a,d,/%s,?]? "
+msgstr "Diesen Patch-Block auf Index und Arbeitsverzeichnis anwenden [y,n,q,a,d,/%s,?]? "
+
+#: git-add--interactive.perl:1493
+msgid "go to which hunk (<ret> to see more)? "
+msgstr "zu welchem Patch-Block springen (<Enter> für mehr Informationen)? "
+
+#: git-add--interactive.perl:1495
+msgid "go to which hunk? "
+msgstr "zu welchem Patch-Block springen? "
+
+#: git-add--interactive.perl:1504
+#, perl-format
+msgid "Invalid number: '%s'\n"
+msgstr "Ungültige Nummer: '%s'\n"
+
+#: git-add--interactive.perl:1509
+#, perl-format
+msgid "Sorry, only %d hunk available.\n"
+msgid_plural "Sorry, only %d hunks available.\n"
+msgstr[0] "Entschuldigung, nur %d Patch-Block verfügbar.\n"
+msgstr[1] "Entschuldigung, nur %d Patch-Blöcke verfügbar.\n"
+
+#: git-add--interactive.perl:1535
+msgid "search for regex? "
+msgstr "Suche nach regulärem Ausdruck? "
+
+#: git-add--interactive.perl:1548
+#, perl-format
+msgid "Malformed search regexp %s: %s\n"
+msgstr "Fehlerhafter regulärer Ausdruck für Suche %s: %s\n"
+
+#: git-add--interactive.perl:1558
+msgid "No hunk matches the given pattern\n"
+msgstr "Kein Patch-Block entspricht dem angegebenen Pattern\n"
+
+#: git-add--interactive.perl:1570 git-add--interactive.perl:1592
+msgid "No previous hunk\n"
+msgstr "Kein vorheriger Patch-Block\n"
+
+#: git-add--interactive.perl:1579 git-add--interactive.perl:1598
+msgid "No next hunk\n"
+msgstr "Kein folgender Patch-Block\n"
+
+#: git-add--interactive.perl:1606
+#, perl-format
+msgid "Split into %d hunk.\n"
+msgid_plural "Split into %d hunks.\n"
+msgstr[0] "In %d Patch-Block aufgeteilt.\n"
+msgstr[1] "In %d Patch-Blöcke aufgeteilt.\n"
+
+#: git-add--interactive.perl:1658
+msgid "Review diff"
+msgstr "Diff überprüfen"
+
+#. TRANSLATORS: please do not translate the command names
+#. 'status', 'update', 'revert', etc.
+#: git-add--interactive.perl:1677
+msgid ""
+"status        - show paths with changes\n"
+"update        - add working tree state to the staged set of changes\n"
+"revert        - revert staged set of changes back to the HEAD version\n"
+"patch         - pick hunks and update selectively\n"
+"diff\t      - view diff between HEAD and index\n"
+"add untracked - add contents of untracked files to the staged set of "
+"changes\n"
+msgstr ""
+"status        - Pfade mit Änderungen anzeigen\n"
+"update        - Zustand des Arbeitsverzeichnisses den zum Commit vorgemerkten Änderungen hinzufügen\n"
+"revert        - zum Commit vorgemerkten Änderungen auf HEAD Version zurücksetzen\n"
+"patch         - Patch-Blöcke auswählen und selektiv aktualisieren\n"
+"diff\t      - Unterschiede zwischen HEAD und Index anzeigen\n"
+"add untracked - Inhalte von unversionierten Dateien zum Commit vormerken\n"
+
+#: git-add--interactive.perl:1694 git-add--interactive.perl:1699
+#: git-add--interactive.perl:1702 git-add--interactive.perl:1709
+#: git-add--interactive.perl:1713 git-add--interactive.perl:1719
+msgid "missing --"
+msgstr "-- fehlt"
+
+#: git-add--interactive.perl:1715
+#, perl-format
+msgid "unknown --patch mode: %s"
+msgstr "Unbekannter --patch Modus: %s"
+
+#: git-add--interactive.perl:1721 git-add--interactive.perl:1727
+#, perl-format
+msgid "invalid argument %s, expecting --"
+msgstr "ungültiges Argument %s, erwarte --"
+
+#: git-send-email.perl:121
+msgid "local zone differs from GMT by a non-minute interval\n"
+msgstr "lokale Zeitzone unterscheidet sich von GMT nicht um einen Minutenintervall\n"
+
+#: git-send-email.perl:128 git-send-email.perl:134
+msgid "local time offset greater than or equal to 24 hours\n"
+msgstr "lokaler Zeit-Offset größer oder gleich 24 Stunden\n"
+
+#: git-send-email.perl:202 git-send-email.perl:208
+msgid "the editor exited uncleanly, aborting everything"
+msgstr "Der Editor wurde unsauber beendet, breche alles ab."
+
+#: git-send-email.perl:282
+#, perl-format
+msgid ""
+"'%s' contains an intermediate version of the email you were composing.\n"
+msgstr "'%s' enthält eine Zwischenversion der E-Mail, die Sie gerade verfassen.\n"
+
+#: git-send-email.perl:287
+#, perl-format
+msgid "'%s.final' contains the composed email.\n"
+msgstr "'%s.final' enthält die verfasste E-Mail.\n"
+
+#: git-send-email.perl:305
+msgid "--dump-aliases incompatible with other options\n"
+msgstr "--dump-aliases ist mit anderen Optionen inkompatibel\n"
+
+#: git-send-email.perl:368 git-send-email.perl:623
+msgid "Cannot run git format-patch from outside a repository\n"
+msgstr "Kann 'git format-patch' nicht außerhalb eines Repositories ausführen.\n"
+
+#: git-send-email.perl:437
+#, perl-format
+msgid "Unknown --suppress-cc field: '%s'\n"
+msgstr "Unbekanntes --suppress-cc Feld: '%s'\n"
+
+#: git-send-email.perl:466
+#, perl-format
+msgid "Unknown --confirm setting: '%s'\n"
+msgstr "Unbekannte --confirm Einstellung: '%s'\n"
+
+#: git-send-email.perl:498
+#, perl-format
+msgid "warning: sendmail alias with quotes is not supported: %s\n"
+msgstr "Warnung: sendemail Alias mit Anführungsstrichen wird nicht unterstützt: %s\n"
+
+#: git-send-email.perl:500
+#, perl-format
+msgid "warning: `:include:` not supported: %s\n"
+msgstr "Warnung: `:include:` wird nicht unterstützt: %s\n"
+
+#: git-send-email.perl:502
+#, perl-format
+msgid "warning: `/file` or `|pipe` redirection not supported: %s\n"
+msgstr "Warnung: `/file` oder `|pipe` Umleitung wird nicht unterstützt: %s\n"
+
+#: git-send-email.perl:507
+#, perl-format
+msgid "warning: sendmail line is not recognized: %s\n"
+msgstr "Warnung: sendmail Zeile wird nicht erkannt: %s\n"
+
+#: git-send-email.perl:589
+#, perl-format
+msgid ""
+"File '%s' exists but it could also be the range of commits\n"
+"to produce patches for.  Please disambiguate by...\n"
+"\n"
+"    * Saying \"./%s\" if you mean a file; or\n"
+"    * Giving --format-patch option if you mean a range.\n"
+msgstr ""
+"Datei '%s' existiert, aber es könnte auch der Bereich von Commits sein,\n"
+"für den Patches erzeugt werden sollen. Bitte machen Sie dies eindeutig\n"
+"indem Sie ...\n"
+"\n"
+"    * \"./%s\" angeben, wenn Sie eine Datei meinen, oder\n"
+"    * die Option --format-patch angeben, wenn Sie einen Commit-Bereich meinen\n"
+
+#: git-send-email.perl:610
+#, perl-format
+msgid "Failed to opendir %s: %s"
+msgstr "Fehler beim Öffnen von %s: %s"
+
+#: git-send-email.perl:634
+#, perl-format
+msgid ""
+"fatal: %s: %s\n"
+"warning: no patches were sent\n"
+msgstr ""
+"fatal: %s: %s\n"
+"Warnung: Es wurden keine Patches versendet.\n"
+
+#: git-send-email.perl:645
+msgid ""
+"\n"
+"No patch files specified!\n"
+"\n"
+msgstr "\nkeine Patch-Dateien angegeben!\n\n"
+
+#: git-send-email.perl:658
+#, perl-format
+msgid "No subject line in %s?"
+msgstr "Keine Betreffzeile in %s?"
+
+#: git-send-email.perl:668
+#, perl-format
+msgid "Failed to open for writing %s: %s"
+msgstr "Fehler beim Öffnen von '%s' zum Schreiben: %s"
+
+#: git-send-email.perl:678
+msgid ""
+"Lines beginning in \"GIT:\" will be removed.\n"
+"Consider including an overall diffstat or table of contents\n"
+"for the patch you are writing.\n"
+"\n"
+"Clear the body content if you don't wish to send a summary.\n"
+msgstr ""
+"Zeilen, die mit \"GIT:\" beginnen, werden entfernt.\n"
+"Ziehen Sie in Betracht, einen allgemeinen \"diffstat\" oder ein\n"
+"Inhaltsverzeichnis, für den Patch den Sie schreiben, hinzuzufügen.\n"
+"\n"
+"Leeren Sie den Inhalt des Bodys, wenn Sie keine Zusammenfassung senden möchten.\n"
+
+#: git-send-email.perl:701
+#, perl-format
+msgid "Failed to open %s.final: %s"
+msgstr "Fehler beim Öffnen von %s.final: %s"
+
+#: git-send-email.perl:704
+#, perl-format
+msgid "Failed to open %s: %s"
+msgstr "Fehler beim Öffnen von %s: %s"
+
+#: git-send-email.perl:739
+msgid "To/Cc/Bcc fields are not interpreted yet, they have been ignored\n"
+msgstr "To/Cc/Bcc Felder wurden noch nicht interpretiert, sie wurden ignoriert\n"
+
+#: git-send-email.perl:748
+msgid "Summary email is empty, skipping it\n"
+msgstr "E-Mail mit Zusammenfassung ist leer, wird ausgelassen\n"
+
+#. TRANSLATORS: please keep [y/N] as is.
+#: git-send-email.perl:780
+#, perl-format
+msgid "Are you sure you want to use <%s> [y/N]? "
+msgstr "Sind Sie sich sicher, <%s> zu benutzen [y/N]? "
+
+#: git-send-email.perl:809
+msgid ""
+"The following files are 8bit, but do not declare a Content-Transfer-"
+"Encoding.\n"
+msgstr ""
+"Die folgenden Dateien sind 8-Bit, aber deklarieren kein\n"
+"Content-Transfer-Encoding.\n"
+
+#: git-send-email.perl:814
+msgid "Which 8bit encoding should I declare [UTF-8]? "
+msgstr "Welches 8-Bit-Encoding soll deklariert werden [UTF-8]? "
+
+#: git-send-email.perl:822
+#, perl-format
+msgid ""
+"Refusing to send because the patch\n"
+"\t%s\n"
+"has the template subject '*** SUBJECT HERE ***'. Pass --force if you really "
+"want to send.\n"
+msgstr ""
+"Versand zurückgewiesen, weil der Patch\n"
+"\t%s\n"
+"die Betreffzeilenvorlage '*** SUBJECT HERE ***' enthält. Geben Sie --force an,\n"
+"wenn Sie den Patch wirklich versenden wollen.\n"
+
+#: git-send-email.perl:841
+msgid "To whom should the emails be sent (if anyone)?"
+msgstr "An wen sollen die E-Mails versendet werden (wenn überhaupt jemand)?"
+
+#: git-send-email.perl:859
+#, perl-format
+msgid "fatal: alias '%s' expands to itself\n"
+msgstr "fatal: Alias '%s' erweitert sich zu sich selbst\n"
+
+#: git-send-email.perl:871
+msgid "Message-ID to be used as In-Reply-To for the first email (if any)? "
+msgstr "Message-ID zur Verwendung als In-Reply-To für die erste E-Mail (wenn eine existiert)? "
+
+#: git-send-email.perl:921 git-send-email.perl:929
+#, perl-format
+msgid "error: unable to extract a valid address from: %s\n"
+msgstr "Fehler: konnte keine gültige Adresse aus %s extrahieren\n"
+
+#. TRANSLATORS: Make sure to include [q] [d] [e] in your
+#. translation. The program will only accept English input
+#. at this point.
+#: git-send-email.perl:933
+msgid "What to do with this address? ([q]uit|[d]rop|[e]dit): "
+msgstr "Was soll mit dieser Adresse geschehen? (Beenden [q]|Löschen [d]|Bearbeiten [e]): "
+
+#: git-send-email.perl:1234
+#, perl-format
+msgid "CA path \"%s\" does not exist"
+msgstr "CA Pfad \"%s\" existiert nicht"
+
+#: git-send-email.perl:1309
+msgid ""
+"    The Cc list above has been expanded by additional\n"
+"    addresses found in the patch commit message. By default\n"
+"    send-email prompts before sending whenever this occurs.\n"
+"    This behavior is controlled by the sendemail.confirm\n"
+"    configuration setting.\n"
+"\n"
+"    For additional information, run 'git send-email --help'.\n"
+"    To retain the current behavior, but squelch this message,\n"
+"    run 'git config --global sendemail.confirm auto'.\n"
+"\n"
+msgstr ""
+"    Die Cc-Liste oberhalb wurde um zusätzliche Adressen erweitert, die in der\n"
+"    Commit-Beschreibung des Patches gefunden wurden. Wenn dies passiert, werden\n"
+"    Sie von send-email zu einer Eingabe aufgefordert. Dieses Verhalten wird\n"
+"    durch die Konfigurationseinstellung sendemail.confirm gesteuert.\n"
+"\n"
+"    Für weitere Informationen, führen Sie 'git send-email --help' aus.\n"
+"    Um das aktuelle Verhalten beizubehalten, aber diese Meldung zu unterdrücken,\n"
+"    führen Sie 'git config --global sendemail.confirm auto' aus.\n"
+"\n"
+
+#. TRANSLATORS: Make sure to include [y] [n] [q] [a] in your
+#. translation. The program will only accept English input
+#. at this point.
+#: git-send-email.perl:1324
+msgid "Send this email? ([y]es|[n]o|[q]uit|[a]ll): "
+msgstr "Diese E-Mail versenden? (Ja [y]|Nein [n]|Beenden [q]|Alle [a]): "
+
+#: git-send-email.perl:1327
+msgid "Send this email reply required"
+msgstr "Zum Versenden dieser E-Mail ist eine Antwort erforderlich."
+
+#: git-send-email.perl:1353
+msgid "The required SMTP server is not properly defined."
+msgstr "Der erforderliche SMTP-Server ist nicht korrekt definiert."
+
+#: git-send-email.perl:1397
+#, perl-format
+msgid "Server does not support STARTTLS! %s"
+msgstr "Server unterstützt kein STARTTLS! %s"
+
+#: git-send-email.perl:1403
+msgid "Unable to initialize SMTP properly. Check config and use --smtp-debug."
+msgstr ""
+"Konnte SMTP nicht korrekt initialisieren. Bitte prüfen Sie Ihre Konfiguration\n"
+"und benutzen Sie --smtp-debug."
+
+#: git-send-email.perl:1421
+#, perl-format
+msgid "Failed to send %s\n"
+msgstr "Fehler beim Senden %s\n"
+
+#: git-send-email.perl:1424
+#, perl-format
+msgid "Dry-Sent %s\n"
+msgstr "Probeversand %s\n"
+
+#: git-send-email.perl:1424
+#, perl-format
+msgid "Sent %s\n"
+msgstr "%s gesendet\n"
+
+#: git-send-email.perl:1426
+msgid "Dry-OK. Log says:\n"
+msgstr "Probeversand OK. Log enthält:\n"
+
+#: git-send-email.perl:1426
+msgid "OK. Log says:\n"
+msgstr "OK. Log enthält:\n"
+
+#: git-send-email.perl:1438
+msgid "Result: "
+msgstr "Ergebnis: "
+
+#: git-send-email.perl:1441
+msgid "Result: OK\n"
+msgstr "Ergebnis: OK\n"
+
+#: git-send-email.perl:1454
+#, perl-format
+msgid "can't open file %s"
+msgstr "Kann Datei %s nicht öffnen"
+
+#: git-send-email.perl:1501 git-send-email.perl:1521
+#, perl-format
+msgid "(mbox) Adding cc: %s from line '%s'\n"
+msgstr "(mbox) Füge cc: hinzu: %s von Zeile '%s'\n"
+
+#: git-send-email.perl:1507
+#, perl-format
+msgid "(mbox) Adding to: %s from line '%s'\n"
+msgstr "(mbox) Füge to: hinzu: %s von Zeile '%s'\n"
+
+#: git-send-email.perl:1555
+#, perl-format
+msgid "(non-mbox) Adding cc: %s from line '%s'\n"
+msgstr "(non-mbox) Füge cc: hinzu: %s von Zeile '%s'\n"
+
+#: git-send-email.perl:1578
+#, perl-format
+msgid "(body) Adding cc: %s from line '%s'\n"
+msgstr "(body) Füge cc: hinzu: %s von Zeile '%s'\n"
+
+#: git-send-email.perl:1676
+#, perl-format
+msgid "(%s) Could not execute '%s'"
+msgstr "(%s) Konnte '%s' nicht ausführen"
+
+#: git-send-email.perl:1683
+#, perl-format
+msgid "(%s) Adding %s: %s from: '%s'\n"
+msgstr "(%s) Füge %s: %s hinzu von: '%s'\n"
+
+#: git-send-email.perl:1687
+#, perl-format
+msgid "(%s) failed to close pipe to '%s'"
+msgstr "(%s) Fehler beim Schließen der Pipe nach '%s'"
+
+#: git-send-email.perl:1714
+msgid "cannot send message as 7bit"
+msgstr "Kann Nachricht nicht als 7bit versenden."
+
+#: git-send-email.perl:1722
+msgid "invalid transfer encoding"
+msgstr "Ungültiges Transfer-Encoding"
+
+#: git-send-email.perl:1741 git-send-email.perl:1792 git-send-email.perl:1802
+#, perl-format
+msgid "unable to open %s: %s\n"
+msgstr "konnte %s nicht öffnen: %s\n"
+
+#: git-send-email.perl:1744
+#, perl-format
+msgid "%s: patch contains a line longer than 998 characters"
+msgstr "%s: Patch enthält eine Zeile, die länger als 998 Zeichen ist"
+
+#: git-send-email.perl:1760
+#, perl-format
+msgid "Skipping %s with backup suffix '%s'.\n"
+msgstr "Lasse %s mit Backup-Suffix '%s' aus.\n"
+
+#. TRANSLATORS: please keep "[y|N]" as is.
+#: git-send-email.perl:1764
+#, perl-format
+msgid "Do you really want to send %s? [y|N]: "
+msgstr "Wollen Sie %s wirklich versenden? [y|N]: "
+
+#~ msgid "Use an experimental blank-line-based heuristic to improve diffs"
+#~ msgstr ""
+#~ "eine experimentelle, auf Leerzeilen basierende Heuristik zur "
+#~ "Verbesserung\n"
+#~ "der Darstellung von Unterschieden verwenden"
+
+#~ msgid "Clever... amending the last one with dirty index."
+#~ msgstr "Klug ... den letzten Commit mit einem geänderten Index nachbessern."
+
+#~ msgid ""
+#~ "the following submodule (or one of its nested submodules)\n"
+#~ "uses a .git directory:"
+#~ msgid_plural ""
+#~ "the following submodules (or one of their nested submodules)\n"
+#~ "use a .git directory:"
+#~ msgstr[0] ""
+#~ "das folgende Submodul (oder ein geschachteltes Submodul hiervon)\n"
+#~ "benutzt ein .git-Verzeichnis:"
+#~ msgstr[1] ""
+#~ "die folgenden Submodule (oder ein geschachteltes Submodul hiervon)\n"
+#~ "benutzen ein .git-Verzeichnis:"
+
+#~ msgid ""
+#~ "\n"
+#~ "(use 'rm -rf' if you really want to remove it including all of its "
+#~ "history)"
+#~ msgstr ""
+#~ "\n"
+#~ "(benutzen Sie 'rm -rf' wenn Sie dieses Submodul wirklich mitsamt\n"
+#~ "seiner Historie löschen möchten)"
+
 #~ msgid "Could not write to %s"
 #~ msgstr "Konnte nicht nach %s schreiben"
 
diff --git a/po/fr.po b/po/fr.po
index c06fb40..af7c327 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -73,8 +73,8 @@
 msgstr ""
 "Project-Id-Version: git\n"
 "Report-Msgid-Bugs-To: Git Mailing List <git@vger.kernel.org>\n"
-"POT-Creation-Date: 2016-11-25 22:50+0800\n"
-"PO-Revision-Date: 2016-11-25 22:55+0800\n"
+"POT-Creation-Date: 2017-02-18 01:00+0800\n"
+"PO-Revision-Date: 2017-02-18 00:09+0100\n"
 "Last-Translator: Jean-Noël Avila <jn.avila@free.fr>\n"
 "Language-Team: Jean-Noël Avila <jn.avila@free.fr>\n"
 "Language: fr\n"
@@ -125,7 +125,7 @@
 msgid "Exiting because of an unresolved conflict."
 msgstr "Abandon à cause de conflit non résolu."
 
-#: advice.c:114 builtin/merge.c:1181
+#: advice.c:114 builtin/merge.c:1206
 msgid "You have not concluded your merge (MERGE_HEAD exists)."
 msgstr "Vous n'avez pas terminé votre fusion (MERGE_HEAD existe)."
 
@@ -315,34 +315,34 @@
 msgid "patch with only garbage at line %d"
 msgstr "patch totalement incompréhensible à la ligne %d"
 
-#: apply.c:2274
+#: apply.c:2265
 #, c-format
 msgid "unable to read symlink %s"
 msgstr "lecture du lien symbolique %s impossible"
 
-#: apply.c:2278
+#: apply.c:2269
 #, c-format
 msgid "unable to open or read %s"
 msgstr "ouverture ou lecture de %s impossible"
 
-#: apply.c:2931
+#: apply.c:2922
 #, c-format
 msgid "invalid start of line: '%c'"
 msgstr "début de ligne invalide : '%c'"
 
-#: apply.c:3050
+#: apply.c:3041
 #, c-format
 msgid "Hunk #%d succeeded at %d (offset %d line)."
 msgid_plural "Hunk #%d succeeded at %d (offset %d lines)."
 msgstr[0] "La section n°%d a réussi à la ligne %d (offset %d ligne)."
 msgstr[1] "La section n°%d a réussi à la ligne %d (offset %d lignes)."
 
-#: apply.c:3062
+#: apply.c:3053
 #, c-format
 msgid "Context reduced to (%ld/%ld) to apply fragment at %d"
 msgstr "Contexte réduit à (%ld/%ld) pour appliquer le fragment à la ligne %d"
 
-#: apply.c:3068
+#: apply.c:3059
 #, c-format
 msgid ""
 "while searching for:\n"
@@ -351,455 +351,456 @@
 "pendant la recherche de :\n"
 "%.*s"
 
-#: apply.c:3090
+#: apply.c:3081
 #, c-format
 msgid "missing binary patch data for '%s'"
 msgstr "données de patch binaire manquantes pour '%s'"
 
-#: apply.c:3098
+#: apply.c:3089
 #, c-format
 msgid "cannot reverse-apply a binary patch without the reverse hunk to '%s'"
 msgstr ""
 "impossible d'appliquer l'inverse d'un patch binaire à '%s' sans la section "
 "inverse"
 
-#: apply.c:3144
+#: apply.c:3135
 #, c-format
 msgid "cannot apply binary patch to '%s' without full index line"
 msgstr ""
 "impossible d'appliquer un patch binaire à '%s' sans la ligne complète d'index"
 
-#: apply.c:3154
+#: apply.c:3145
 #, c-format
 msgid ""
 "the patch applies to '%s' (%s), which does not match the current contents."
 msgstr ""
 "le patch s'applique à '%s' (%s), ce qui ne correspond pas au contenu actuel."
 
-#: apply.c:3162
+#: apply.c:3153
 #, c-format
 msgid "the patch applies to an empty '%s' but it is not empty"
 msgstr "le patch s'applique à un '%s' vide mais ce n'est pas vide"
 
-#: apply.c:3180
+#: apply.c:3171
 #, c-format
 msgid "the necessary postimage %s for '%s' cannot be read"
 msgstr "l'image postérieure nécessaire %s pour '%s' ne peut pas être lue"
 
-#: apply.c:3193
+#: apply.c:3184
 #, c-format
 msgid "binary patch does not apply to '%s'"
 msgstr "le patch binaire ne s'applique par correctement à '%s'"
 
-#: apply.c:3199
+#: apply.c:3190
 #, c-format
 msgid "binary patch to '%s' creates incorrect result (expecting %s, got %s)"
 msgstr ""
 "le patch binaire sur '%s' crée un résultat incorrect (%s attendu, mais %s "
 "trouvé)"
 
-#: apply.c:3220
+#: apply.c:3211
 #, c-format
 msgid "patch failed: %s:%ld"
 msgstr "le patch a échoué : %s:%ld"
 
-#: apply.c:3342
+#: apply.c:3333
 #, c-format
 msgid "cannot checkout %s"
 msgstr "extraction de %s impossible"
 
-#: apply.c:3390 apply.c:3401 apply.c:3447 setup.c:248
+#: apply.c:3381 apply.c:3392 apply.c:3438 setup.c:248
 #, c-format
 msgid "failed to read %s"
 msgstr "échec de la lecture de %s"
 
-#: apply.c:3398
+#: apply.c:3389
 #, c-format
 msgid "reading from '%s' beyond a symbolic link"
 msgstr "lecture depuis '%s' au-delà d'un lien symbolique"
 
-#: apply.c:3427 apply.c:3667
+#: apply.c:3418 apply.c:3658
 #, c-format
 msgid "path %s has been renamed/deleted"
 msgstr "le chemin %s a été renommé/supprimé"
 
-#: apply.c:3510 apply.c:3681
+#: apply.c:3501 apply.c:3672
 #, c-format
 msgid "%s: does not exist in index"
 msgstr "%s : n'existe pas dans l'index"
 
-#: apply.c:3519 apply.c:3689
+#: apply.c:3510 apply.c:3680
 #, c-format
 msgid "%s: does not match index"
 msgstr "%s : ne correspond pas à l'index"
 
-#: apply.c:3554
+#: apply.c:3545
 msgid "repository lacks the necessary blob to fall back on 3-way merge."
 msgstr ""
 "le dépôt n'a pas les blobs nécessaires pour un retour à une fusion à 3 "
 "points."
 
-#: apply.c:3557
+#: apply.c:3548
 #, c-format
 msgid "Falling back to three-way merge...\n"
 msgstr "Retour à une fusion à 3 points…\n"
 
-#: apply.c:3573 apply.c:3577
+#: apply.c:3564 apply.c:3568
 #, c-format
 msgid "cannot read the current contents of '%s'"
 msgstr "impossible de lire le contenu actuel de '%s'"
 
-#: apply.c:3589
+#: apply.c:3580
 #, c-format
 msgid "Failed to fall back on three-way merge...\n"
 msgstr "Echec du retour à une fusion à 3 points…\n"
 
-#: apply.c:3603
+#: apply.c:3594
 #, c-format
 msgid "Applied patch to '%s' with conflicts.\n"
 msgstr "Patch %s appliqué avec des conflits.\n"
 
-#: apply.c:3608
+#: apply.c:3599
 #, c-format
 msgid "Applied patch to '%s' cleanly.\n"
 msgstr "Patch %s appliqué proprement.\n"
 
-#: apply.c:3634
+#: apply.c:3625
 msgid "removal patch leaves file contents"
 msgstr "le patch de suppression laisse un contenu dans le fichier"
 
-#: apply.c:3706
+#: apply.c:3697
 #, c-format
 msgid "%s: wrong type"
 msgstr "%s : type erroné"
 
-#: apply.c:3708
+#: apply.c:3699
 #, c-format
 msgid "%s has type %o, expected %o"
 msgstr "%s est de type %o, mais %o attendu"
 
-#: apply.c:3859 apply.c:3861
+#: apply.c:3850 apply.c:3852
 #, c-format
 msgid "invalid path '%s'"
 msgstr "chemin invalide '%s'"
 
-#: apply.c:3917
+#: apply.c:3908
 #, c-format
 msgid "%s: already exists in index"
 msgstr "%s : existe déjà dans l'index"
 
-#: apply.c:3920
+#: apply.c:3911
 #, c-format
 msgid "%s: already exists in working directory"
 msgstr "%s : existe déjà dans la copie de travail"
 
-#: apply.c:3940
+#: apply.c:3931
 #, c-format
 msgid "new mode (%o) of %s does not match old mode (%o)"
 msgstr "le nouveau mode (%o) de %s ne correspond pas à l'ancien mode (%o)"
 
-#: apply.c:3945
+#: apply.c:3936
 #, c-format
 msgid "new mode (%o) of %s does not match old mode (%o) of %s"
 msgstr ""
 "le nouveau mode (%o) de %s ne correspond pas à l'ancien mode (%o) de %s"
 
-#: apply.c:3965
+#: apply.c:3956
 #, c-format
 msgid "affected file '%s' is beyond a symbolic link"
 msgstr "le fichier affecté '%s' est au-delà d'un lien symbolique"
 
-#: apply.c:3969
+#: apply.c:3960
 #, c-format
 msgid "%s: patch does not apply"
 msgstr "%s : le patch ne s'applique pas"
 
-#: apply.c:3984
+#: apply.c:3975
 #, c-format
 msgid "Checking patch %s..."
 msgstr "Vérification du patch %s..."
 
-#: apply.c:4075
+#: apply.c:4066
 #, c-format
 msgid "sha1 information is lacking or useless for submodule %s"
 msgstr ""
 "l'information sha1 est manquante ou inutilisable pour le sous-module %s"
 
-#: apply.c:4082
+#: apply.c:4073
 #, c-format
 msgid "mode change for %s, which is not in current HEAD"
 msgstr "le mode change pour %s, qui n'est pas dans la HEAD actuelle"
 
-#: apply.c:4085
+#: apply.c:4076
 #, c-format
 msgid "sha1 information is lacking or useless (%s)."
 msgstr "l'information de sha1 est manquante ou inutilisable (%s)."
 
-#: apply.c:4090 builtin/checkout.c:233 builtin/reset.c:135
+#: apply.c:4081 builtin/checkout.c:233 builtin/reset.c:135
 #, c-format
 msgid "make_cache_entry failed for path '%s'"
 msgstr "échec de make_cache_entry pour le chemin '%s'"
 
-#: apply.c:4094
+#: apply.c:4085
 #, c-format
 msgid "could not add %s to temporary index"
 msgstr "impossible d'ajouter %s à l'index temporaire"
 
-#: apply.c:4104
+#: apply.c:4095
 #, c-format
 msgid "could not write temporary index to %s"
 msgstr "impossible d'écrire l'index temporaire dans %s"
 
-#: apply.c:4242
+#: apply.c:4233
 #, c-format
 msgid "unable to remove %s from index"
 msgstr "suppression de %s dans l'index impossible"
 
-#: apply.c:4277
+#: apply.c:4268
 #, c-format
 msgid "corrupt patch for submodule %s"
 msgstr "patch corrompu pour le sous-module %s"
 
-#: apply.c:4283
+#: apply.c:4274
 #, c-format
 msgid "unable to stat newly created file '%s'"
 msgstr "stat du fichier nouvellement créé '%s' impossible"
 
-#: apply.c:4291
+#: apply.c:4282
 #, c-format
 msgid "unable to create backing store for newly created file %s"
 msgstr ""
 "création du magasin de stockage pour le fichier nouvellement créé %s "
 "impossible"
 
-#: apply.c:4297 apply.c:4441
+#: apply.c:4288 apply.c:4432
 #, c-format
 msgid "unable to add cache entry for %s"
 msgstr "ajout de l'élément de cache %s impossible"
 
-#: apply.c:4338
+#: apply.c:4329
 #, c-format
 msgid "failed to write to '%s'"
 msgstr "échec de l'écriture dans '%s'"
 
-#: apply.c:4342
+#: apply.c:4333
 #, c-format
 msgid "closing file '%s'"
 msgstr "fermeture du fichier '%s'"
 
-#: apply.c:4412
+#: apply.c:4403
 #, c-format
 msgid "unable to write file '%s' mode %o"
 msgstr "écriture du fichier '%s' mode %o impossible"
 
-#: apply.c:4510
+#: apply.c:4501
 #, c-format
 msgid "Applied patch %s cleanly."
 msgstr "Patch %s appliqué proprement."
 
-#: apply.c:4518
+#: apply.c:4509
 msgid "internal error"
 msgstr "erreur interne"
 
-#: apply.c:4521
+#: apply.c:4512
 #, c-format
 msgid "Applying patch %%s with %d reject..."
 msgid_plural "Applying patch %%s with %d rejects..."
 msgstr[0] "Application du patch %%s avec %d rejet..."
 msgstr[1] "Application du patch %%s avec %d rejets..."
 
-#: apply.c:4532
+#: apply.c:4523
 #, c-format
 msgid "truncating .rej filename to %.*s.rej"
 msgstr "troncature du nom de fichier .rej en %.*s.rej"
 
-#: apply.c:4540 builtin/fetch.c:740 builtin/fetch.c:989
+#: apply.c:4531 builtin/fetch.c:737 builtin/fetch.c:986
 #, c-format
 msgid "cannot open %s"
 msgstr "impossible d'ouvrir %s"
 
-#: apply.c:4554
+#: apply.c:4545
 #, c-format
 msgid "Hunk #%d applied cleanly."
 msgstr "Section n°%d appliquée proprement."
 
-#: apply.c:4558
+#: apply.c:4549
 #, c-format
 msgid "Rejected hunk #%d."
 msgstr "Section n°%d rejetée."
 
-#: apply.c:4668
+#: apply.c:4659
 #, c-format
 msgid "Skipped patch '%s'."
 msgstr "Chemin '%s' non traité."
 
-#: apply.c:4676
+#: apply.c:4667
 msgid "unrecognized input"
 msgstr "entrée non reconnue"
 
-#: apply.c:4695
+#: apply.c:4686
 msgid "unable to read index file"
 msgstr "lecture du fichier d'index impossible"
 
-#: apply.c:4833
+#: apply.c:4824
 #, c-format
 msgid "can't open patch '%s': %s"
 msgstr "ouverture impossible du patch '%s' :%s"
 
-#: apply.c:4858
+#: apply.c:4849
 #, c-format
 msgid "squelched %d whitespace error"
 msgid_plural "squelched %d whitespace errors"
 msgstr[0] "%d erreur d'espace ignorée"
 msgstr[1] "%d erreurs d'espace ignorées"
 
-#: apply.c:4864 apply.c:4879
+#: apply.c:4855 apply.c:4870
 #, c-format
 msgid "%d line adds whitespace errors."
 msgid_plural "%d lines add whitespace errors."
 msgstr[0] "%d ligne a ajouté des erreurs d'espace."
 msgstr[1] "%d lignes ont ajouté des erreurs d'espace."
 
-#: apply.c:4872
+#: apply.c:4863
 #, c-format
 msgid "%d line applied after fixing whitespace errors."
 msgid_plural "%d lines applied after fixing whitespace errors."
 msgstr[0] "%d ligne ajoutée après correction des erreurs d'espace."
 msgstr[1] "%d lignes ajoutées après correction des erreurs d'espace."
 
-#: apply.c:4888 builtin/add.c:463 builtin/mv.c:286 builtin/rm.c:431
+#: apply.c:4879 builtin/add.c:463 builtin/mv.c:298 builtin/rm.c:391
 msgid "Unable to write new index file"
 msgstr "Impossible d'écrire le nouveau fichier d'index"
 
-#: apply.c:4919 apply.c:4922 builtin/am.c:2277 builtin/am.c:2280
+#: apply.c:4910 apply.c:4913 builtin/am.c:2277 builtin/am.c:2280
 #: builtin/clone.c:95 builtin/fetch.c:98 builtin/pull.c:180
-#: builtin/submodule--helper.c:281 builtin/submodule--helper.c:407
-#: builtin/submodule--helper.c:589 builtin/submodule--helper.c:592
-#: builtin/submodule--helper.c:944 builtin/submodule--helper.c:947
+#: builtin/submodule--helper.c:281 builtin/submodule--helper.c:591
+#: builtin/submodule--helper.c:594 builtin/submodule--helper.c:960
+#: builtin/submodule--helper.c:963 builtin/submodule--helper.c:1104
+#: git-add--interactive.perl:239
 msgid "path"
 msgstr "chemin"
 
-#: apply.c:4920
+#: apply.c:4911
 msgid "don't apply changes matching the given path"
 msgstr "ne pas appliquer les modifications qui correspondent au chemin donné"
 
-#: apply.c:4923
+#: apply.c:4914
 msgid "apply changes matching the given path"
 msgstr "appliquer les modifications qui correspondent au chemin donné"
 
-#: apply.c:4925 builtin/am.c:2286
+#: apply.c:4916 builtin/am.c:2286
 msgid "num"
 msgstr "num"
 
-#: apply.c:4926
+#: apply.c:4917
 msgid "remove <num> leading slashes from traditional diff paths"
 msgstr "supprimer <num> barres obliques des chemins traditionnels de diff"
 
-#: apply.c:4929
+#: apply.c:4920
 msgid "ignore additions made by the patch"
 msgstr "ignorer les additions réalisées par le patch"
 
-#: apply.c:4931
+#: apply.c:4922
 msgid "instead of applying the patch, output diffstat for the input"
 msgstr "au lieu d'appliquer le patch, afficher le diffstat de l'entrée"
 
-#: apply.c:4935
+#: apply.c:4926
 msgid "show number of added and deleted lines in decimal notation"
 msgstr ""
 "afficher le nombre de lignes ajoutées et supprimées en notation décimale"
 
-#: apply.c:4937
+#: apply.c:4928
 msgid "instead of applying the patch, output a summary for the input"
 msgstr "au lieu d'appliquer le patch, afficher un résumer de l'entrée"
 
-#: apply.c:4939
+#: apply.c:4930
 msgid "instead of applying the patch, see if the patch is applicable"
 msgstr "au lieu d'appliquer le patch, voir si le patch est applicable"
 
-#: apply.c:4941
+#: apply.c:4932
 msgid "make sure the patch is applicable to the current index"
 msgstr "s'assurer que le patch est applicable sur l'index actuel"
 
-#: apply.c:4943
+#: apply.c:4934
 msgid "apply a patch without touching the working tree"
 msgstr "appliquer les patch sans toucher à la copie de travail"
 
-#: apply.c:4945
+#: apply.c:4936
 msgid "accept a patch that touches outside the working area"
 msgstr "accepter un patch qui touche hors de la copie de travail"
 
-#: apply.c:4947
+#: apply.c:4938
 msgid "also apply the patch (use with --stat/--summary/--check)"
 msgstr "appliquer aussi le patch (à utiliser avec ---stat/--summary/--check)"
 
-#: apply.c:4949
+#: apply.c:4940
 msgid "attempt three-way merge if a patch does not apply"
 msgstr "tenter une fusion à 3 points si le patch ne s'applique pas proprement"
 
-#: apply.c:4951
+#: apply.c:4942
 msgid "build a temporary index based on embedded index information"
 msgstr ""
 "construire un index temporaire fondé sur l'information de l'index embarqué"
 
-#: apply.c:4954 builtin/checkout-index.c:169 builtin/ls-files.c:505
+#: apply.c:4945 builtin/checkout-index.c:169 builtin/ls-files.c:507
 msgid "paths are separated with NUL character"
 msgstr "les chemins sont séparés par un caractère NUL"
 
-#: apply.c:4956
+#: apply.c:4947
 msgid "ensure at least <n> lines of context match"
 msgstr "s'assurer d'au moins <n> lignes de correspondance de contexte"
 
-#: apply.c:4957 builtin/am.c:2265
+#: apply.c:4948 builtin/am.c:2265
 msgid "action"
 msgstr "action"
 
-#: apply.c:4958
+#: apply.c:4949
 msgid "detect new or modified lines that have whitespace errors"
 msgstr ""
 "détecter des lignes nouvelles ou modifiées qui contiennent des erreurs "
 "d'espace"
 
-#: apply.c:4961 apply.c:4964
+#: apply.c:4952 apply.c:4955
 msgid "ignore changes in whitespace when finding context"
 msgstr "ignorer des modifications d'espace lors de la recherche de contexte"
 
-#: apply.c:4967
+#: apply.c:4958
 msgid "apply the patch in reverse"
 msgstr "appliquer le patch en sens inverse"
 
-#: apply.c:4969
+#: apply.c:4960
 msgid "don't expect at least one line of context"
 msgstr "ne pas s'attendre à au moins une ligne de contexte"
 
-#: apply.c:4971
+#: apply.c:4962
 msgid "leave the rejected hunks in corresponding *.rej files"
 msgstr "laisser les sections rejetées dans les fichiers *.rej correspondants"
 
-#: apply.c:4973
+#: apply.c:4964
 msgid "allow overlapping hunks"
 msgstr "accepter les recouvrements de sections"
 
-#: apply.c:4974 builtin/add.c:267 builtin/check-ignore.c:19
-#: builtin/commit.c:1339 builtin/count-objects.c:94 builtin/fsck.c:593
-#: builtin/log.c:1860 builtin/mv.c:110 builtin/read-tree.c:114
+#: apply.c:4965 builtin/add.c:267 builtin/check-ignore.c:19
+#: builtin/commit.c:1337 builtin/count-objects.c:94 builtin/fsck.c:651
+#: builtin/log.c:1860 builtin/mv.c:122 builtin/read-tree.c:114
 msgid "be verbose"
 msgstr "mode verbeux"
 
-#: apply.c:4976
+#: apply.c:4967
 msgid "tolerate incorrectly detected missing new-line at the end of file"
 msgstr ""
 "tolérer des erreurs de détection de retours chariot manquants en fin de "
 "fichier"
 
-#: apply.c:4979
+#: apply.c:4970
 msgid "do not trust the line counts in the hunk headers"
 msgstr "ne pas se fier au compte de lignes dans les en-têtes de section"
 
-#: apply.c:4981 builtin/am.c:2274
+#: apply.c:4972 builtin/am.c:2274
 msgid "root"
 msgstr "racine"
 
-#: apply.c:4982
+#: apply.c:4973
 msgid "prepend <root> to all filenames"
 msgstr "préfixer tous les noms de fichier avec <root>"
 
@@ -822,7 +823,7 @@
 msgid "git archive --remote <repo> [--exec <cmd>] --list"
 msgstr "git archive --remote <dépôt> [--exec <commande>] --list"
 
-#: archive.c:344 builtin/add.c:152 builtin/add.c:442 builtin/rm.c:327
+#: archive.c:344 builtin/add.c:152 builtin/add.c:442 builtin/rm.c:300
 #, c-format
 msgid "pathspec '%s' did not match any files"
 msgstr "le chemin '%s' ne correspond à aucun fichier"
@@ -843,11 +844,11 @@
 msgid "prepend prefix to each pathname in the archive"
 msgstr "préfixer chaque chemin de fichier dans l'archive"
 
-#: archive.c:432 builtin/archive.c:88 builtin/blame.c:2603
-#: builtin/blame.c:2604 builtin/config.c:59 builtin/fast-export.c:987
-#: builtin/fast-export.c:989 builtin/grep.c:723 builtin/hash-object.c:101
-#: builtin/ls-files.c:539 builtin/ls-files.c:542 builtin/notes.c:401
-#: builtin/notes.c:564 builtin/read-tree.c:109 parse-options.h:153
+#: archive.c:432 builtin/blame.c:2607 builtin/blame.c:2608 builtin/config.c:59
+#: builtin/fast-export.c:987 builtin/fast-export.c:989 builtin/grep.c:1054
+#: builtin/hash-object.c:101 builtin/ls-files.c:541 builtin/ls-files.c:544
+#: builtin/notes.c:401 builtin/notes.c:564 builtin/read-tree.c:109
+#: parse-options.h:153
 msgid "file"
 msgstr "fichier"
 
@@ -880,7 +881,7 @@
 msgstr "afficher les formats d'archive supportés"
 
 #: archive.c:451 builtin/archive.c:90 builtin/clone.c:85 builtin/clone.c:88
-#: builtin/submodule--helper.c:601 builtin/submodule--helper.c:953
+#: builtin/submodule--helper.c:603 builtin/submodule--helper.c:969
 msgid "repo"
 msgstr "dépôt"
 
@@ -976,13 +977,13 @@
 #: bisect.c:750
 #, c-format
 msgid ""
-"Some %s revs are not ancestor of the %s rev.\n"
+"Some %s revs are not ancestors of the %s rev.\n"
 "git bisect cannot work properly in this case.\n"
 "Maybe you mistook %s and %s revs?\n"
 msgstr ""
 "Certaines révision %s ne sont pas ancêtres de la révision %s.\n"
 "git bisect ne peut pas fonctionner correctement dans ce cas.\n"
-"Peut-être avez-vous inversé les révisions %s et %s ?\n"
+"Peut-être les révisions %s et %s ne sont-elles pas les bonnes ?\n"
 
 #: bisect.c:763
 #, c-format
@@ -1006,7 +1007,7 @@
 msgid "a %s revision is needed"
 msgstr "une révision %s est nécessaire"
 
-#: bisect.c:866 builtin/notes.c:174 builtin/tag.c:248
+#: bisect.c:866 builtin/notes.c:174 builtin/tag.c:262
 #, c-format
 msgid "could not create file '%s'"
 msgstr "impossible de créer le fichier '%s'"
@@ -1205,7 +1206,7 @@
 msgid "unrecognized header: %s%s (%d)"
 msgstr "en-tête non reconnu : %s%s (%d)"
 
-#: bundle.c:87 sequencer.c:963 builtin/commit.c:777
+#: bundle.c:87 sequencer.c:1331 sequencer.c:1752 builtin/commit.c:777
 #, c-format
 msgid "could not open '%s'"
 msgstr "impossible d'ouvrir '%s'"
@@ -1214,10 +1215,10 @@
 msgid "Repository lacks these prerequisite commits:"
 msgstr "Le dépôt ne dispose pas des commits prérequis suivants :"
 
-#: bundle.c:163 ref-filter.c:1462 sequencer.c:830 sequencer.c:1374
-#: builtin/blame.c:2814 builtin/commit.c:1061 builtin/log.c:348
+#: bundle.c:163 ref-filter.c:1499 sequencer.c:1154 sequencer.c:2290
+#: builtin/blame.c:2820 builtin/commit.c:1061 builtin/log.c:348
 #: builtin/log.c:890 builtin/log.c:1340 builtin/log.c:1666 builtin/log.c:1909
-#: builtin/merge.c:356 builtin/shortlog.c:170
+#: builtin/merge.c:360 builtin/shortlog.c:177
 msgid "revision walk setup failed"
 msgstr "échec de la préparation du parcours des révisions"
 
@@ -1256,7 +1257,7 @@
 msgid "ref '%s' is excluded by the rev-list options"
 msgstr "la référence '%s' est exclue par les options de rev-list"
 
-#: bundle.c:443 builtin/log.c:165 builtin/log.c:1572 builtin/shortlog.c:273
+#: bundle.c:443 builtin/log.c:165 builtin/log.c:1572 builtin/shortlog.c:282
 #, c-format
 msgid "unrecognized argument: %s"
 msgstr "argument non reconnu : %s"
@@ -1274,13 +1275,13 @@
 msgid "index-pack died"
 msgstr "l'index de groupe a disparu"
 
-#: color.c:290
+#: color.c:300
 #, c-format
 msgid "invalid color value: %.*s"
 msgstr "Valeur invalide de couleur : %.*s"
 
-#: commit.c:40 builtin/am.c:421 builtin/am.c:457 builtin/am.c:1493
-#: builtin/am.c:2127
+#: commit.c:40 sequencer.c:1564 builtin/am.c:421 builtin/am.c:457
+#: builtin/am.c:1493 builtin/am.c:2127
 #, c-format
 msgid "could not parse %s"
 msgstr "impossible d'analyser %s"
@@ -1306,136 +1307,146 @@
 msgid "memory exhausted"
 msgstr "plus de mémoire"
 
-#: config.c:516
+#: config.c:518
 #, c-format
 msgid "bad config line %d in blob %s"
 msgstr "ligne %d de config incorrecte dans le blob %s"
 
-#: config.c:520
+#: config.c:522
 #, c-format
 msgid "bad config line %d in file %s"
 msgstr "ligne %d de config incorrecte dans le fichier %s"
 
-#: config.c:524
+#: config.c:526
 #, c-format
 msgid "bad config line %d in standard input"
 msgstr "ligne %d de config incorrecte dans l'entrée standard"
 
-#: config.c:528
+#: config.c:530
 #, c-format
 msgid "bad config line %d in submodule-blob %s"
 msgstr "ligne %d de config incorrecte dans le blob de sous-module %s"
 
-#: config.c:532
+#: config.c:534
 #, c-format
 msgid "bad config line %d in command line %s"
 msgstr "ligne %d de config incorrecte dans la ligne de commande %s"
 
-#: config.c:536
+#: config.c:538
 #, c-format
 msgid "bad config line %d in %s"
 msgstr "ligne %d de config incorrecte dans %s"
 
-#: config.c:655
+#: config.c:657
 msgid "out of range"
 msgstr "hors plage"
 
-#: config.c:655
+#: config.c:657
 msgid "invalid unit"
 msgstr "unité invalide"
 
-#: config.c:661
+#: config.c:663
 #, c-format
 msgid "bad numeric config value '%s' for '%s': %s"
 msgstr "valeur numérique de configuration invalide '%s' pour '%s' : %s"
 
-#: config.c:666
+#: config.c:668
 #, c-format
 msgid "bad numeric config value '%s' for '%s' in blob %s: %s"
 msgstr ""
 "valeur numérique de configuration incorrecte '%s' pour '%s' dans le blob "
 "%s : %s"
 
-#: config.c:669
+#: config.c:671
 #, c-format
 msgid "bad numeric config value '%s' for '%s' in file %s: %s"
 msgstr ""
 "valeur numérique de configuration incorrecte '%s' pour '%s' dans le fichier "
 "%s : %s"
 
-#: config.c:672
+#: config.c:674
 #, c-format
 msgid "bad numeric config value '%s' for '%s' in standard input: %s"
 msgstr ""
 "valeur numérique de configuration incorrecte '%s' pour '%s' dans l'entrée "
 "standard : %s"
 
-#: config.c:675
+#: config.c:677
 #, c-format
 msgid "bad numeric config value '%s' for '%s' in submodule-blob %s: %s"
 msgstr ""
 "valeur numérique de configuration incorrecte '%s' pour '%s' dans le blob de "
 "sous-module %s : %s"
 
-#: config.c:678
+#: config.c:680
 #, c-format
 msgid "bad numeric config value '%s' for '%s' in command line %s: %s"
 msgstr ""
 "valeur numérique de configuration incorrecte '%s' pour '%s' dans la ligne de "
 "commande %s : %s"
 
-#: config.c:681
+#: config.c:683
 #, c-format
 msgid "bad numeric config value '%s' for '%s' in %s: %s"
 msgstr ""
 "valeur numérique de configuration incorrecte '%s' pour '%s' dans %s : %s"
 
-#: config.c:768
+#: config.c:770
 #, c-format
 msgid "failed to expand user dir in: '%s'"
 msgstr "impossible d'étendre le répertoire utilisateur dans : '%s'"
 
-#: config.c:852 config.c:863
+#: config.c:865 config.c:876
 #, c-format
 msgid "bad zlib compression level %d"
 msgstr "niveau de compression zlib incorrect %d"
 
-#: config.c:978
+#: config.c:993
 #, c-format
 msgid "invalid mode for object creation: %s"
 msgstr "mode invalide pour la création d'objet : %s"
 
-#: config.c:1312
+#: config.c:1149
+#, c-format
+msgid "bad pack compression level %d"
+msgstr "niveau de compression du paquet %d"
+
+#: config.c:1339
 msgid "unable to parse command-line config"
 msgstr "lecture de la configuration de ligne de commande impossible"
 
-#: config.c:1362
+#: config.c:1389
 msgid "unknown error occurred while reading the configuration files"
 msgstr "erreur inconnue pendant la lecture des fichiers de configuration"
 
-#: config.c:1716
+#: config.c:1743
 #, c-format
 msgid "unable to parse '%s' from command-line config"
 msgstr ""
 "impossible d'analyser '%s' depuis le configuration en ligne de commande"
 
-#: config.c:1718
+#: config.c:1745
 #, c-format
 msgid "bad config variable '%s' in file '%s' at line %d"
 msgstr ""
 "variable de configuration '%s' incorrecte dans le fichier '%s' à la ligne %d"
 
-#: config.c:1777
+#: config.c:1804
 #, c-format
 msgid "%s has multiple values"
 msgstr "%s a des valeurs multiples"
 
-#: config.c:2311
+#: config.c:2225 config.c:2450
+#, c-format
+msgid "fstat on %s failed"
+msgstr "échec de fstat sur %s"
+
+#: config.c:2343
 #, c-format
 msgid "could not set '%s' to '%s'"
 msgstr "impossible de régler '%s' à '%s'"
 
-#: config.c:2313
+#: config.c:2345
 #, c-format
 msgid "could not unset '%s'"
 msgstr "impossible de désinitialiser '%s'"
@@ -1451,12 +1462,12 @@
 "Please make sure you have the correct access rights\n"
 "and the repository exists."
 msgstr ""
-"Impossilble de lire le dépôt distant.\n"
+"Impossible de lire le dépôt distant.\n"
 "\n"
 "Veuillez vérifier que vous avez les droits d'accès\n"
 "et que le dépôt existe."
 
-#: connected.c:63 builtin/fsck.c:173 builtin/prune.c:140
+#: connected.c:63 builtin/fsck.c:190 builtin/prune.c:140
 msgid "Checking connectivity"
 msgstr "Vérification de la connectivité"
 
@@ -1595,13 +1606,13 @@
 msgid "  Unknown dirstat parameter '%s'\n"
 msgstr "  Paramètre dirstat inconnu '%s'\n"
 
-#: diff.c:283
+#: diff.c:281
 #, c-format
 msgid "Unknown value for 'diff.submodule' config variable: '%s'"
 msgstr ""
 "Valeur inconnue pour la variable de configuration 'diff.submodule' : '%s'"
 
-#: diff.c:346
+#: diff.c:344
 #, c-format
 msgid ""
 "Found errors in 'diff.dirstat' config variable:\n"
@@ -1610,20 +1621,20 @@
 "Erreurs dans la variable de configuration 'diff.dirstat' :\n"
 "%s"
 
-#: diff.c:3087
+#: diff.c:3085
 #, c-format
 msgid "external diff died, stopping at %s"
 msgstr "l'application de diff externe a disparu, arrêt à %s"
 
-#: diff.c:3412
+#: diff.c:3411
 msgid "--name-only, --name-status, --check and -s are mutually exclusive"
 msgstr "--name-only, --name-status, --check et -s sont mutuellement exclusifs"
 
-#: diff.c:3502
+#: diff.c:3501
 msgid "--follow requires exactly one pathspec"
 msgstr "--follow a besoin d'une spécification de chemin unique"
 
-#: diff.c:3665
+#: diff.c:3664
 #, c-format
 msgid ""
 "Failed to parse --dirstat/-X option parameter:\n"
@@ -1632,24 +1643,24 @@
 "Impossible d'analyser le paramètre de l'option --dirstat/-X :\n"
 "%s"
 
-#: diff.c:3679
+#: diff.c:3678
 #, c-format
 msgid "Failed to parse --submodule option parameter: '%s'"
 msgstr "Impossible d'analyser le paramètre de l'option --submodule : '%s'"
 
-#: diff.c:4700
+#: diff.c:4696
 msgid "inexact rename detection was skipped due to too many files."
 msgstr ""
 "détection de renommage inexact annulée à cause d'un trop grand nombre de "
 "fichiers."
 
-#: diff.c:4703
+#: diff.c:4699
 msgid "only found copies from modified paths due to too many files."
 msgstr ""
 "recherche uniquement des copies par modification de chemin à cause d'un trop "
 "grand nombre de fichiers."
 
-#: diff.c:4706
+#: diff.c:4702
 #, c-format
 msgid ""
 "you may want to set your %s variable to at least %d and retry the command."
@@ -1657,14 +1668,19 @@
 "vous souhaitez peut-être régler la variable %s à au moins %d et réessayer le "
 "commande."
 
-#: dir.c:1866
+#: dir.c:1862
 msgid "failed to get kernel name and information"
 msgstr "echec de l'obtention d'information de kernel"
 
-#: dir.c:1985
+#: dir.c:1981
 msgid "Untracked cache is disabled on this system or location."
 msgstr "Le cache non suivi est désactivé sur ce système ou sur cet endroit."
 
+#: dir.c:2759
+#, c-format
+msgid "could not migrate git directory from '%s' to '%s'"
+msgstr "impossible de migrer le répertoire git de '%s' vers '%s'"
+
 #: fetch-pack.c:213
 msgid "git fetch-pack: expected shallow list"
 msgstr "git fetch-pack : list courte attendue"
@@ -1845,35 +1861,40 @@
 msgid "failed writing detached signature to '%s'"
 msgstr "impossible d'écrire la signature détachée dans '%s'"
 
-#: grep.c:1782
+#: graph.c:96
+#, c-format
+msgid "ignore invalid color '%.*s' in log.graphColors"
+msgstr "couleur invalide '%.*s' ignorée dans log.graphColors"
+
+#: grep.c:1794
 #, c-format
 msgid "'%s': unable to read %s"
 msgstr "'%s' : lecture de %s impossible"
 
-#: grep.c:1799 builtin/clone.c:381 builtin/diff.c:84 builtin/rm.c:155
+#: grep.c:1811 builtin/clone.c:381 builtin/diff.c:81 builtin/rm.c:133
 #, c-format
 msgid "failed to stat '%s'"
 msgstr "échec du stat de '%s'"
 
-#: grep.c:1810
+#: grep.c:1822
 #, c-format
 msgid "'%s': short read"
 msgstr "'%s' : lecture tronquée"
 
-#: help.c:203
+#: help.c:218
 #, c-format
 msgid "available git commands in '%s'"
 msgstr "commandes git disponibles dans '%s'"
 
-#: help.c:210
+#: help.c:225
 msgid "git commands available from elsewhere on your $PATH"
 msgstr "commandes git disponibles depuis un autre endroit de votre $PATH"
 
-#: help.c:241
+#: help.c:256
 msgid "These are common Git commands used in various situations:"
 msgstr "Ci-dessous les commandes Git habituelles dans diverses situations :"
 
-#: help.c:306
+#: help.c:321
 #, c-format
 msgid ""
 "'%s' appears to be a git command, but we were not\n"
@@ -1882,11 +1903,11 @@
 "'%s' semble être une commande git, mais elle n'a pas pu\n"
 "être exécutée. Peut-être git-%s est-elle cassée ?"
 
-#: help.c:361
+#: help.c:376
 msgid "Uh oh. Your system reports no Git commands at all."
 msgstr "Ahem. Votre système n'indique aucune commande Git."
 
-#: help.c:383
+#: help.c:398
 #, c-format
 msgid ""
 "WARNING: You called a Git command named '%s', which does not exist.\n"
@@ -1896,17 +1917,17 @@
 "pas.\n"
 "Continuons en supposant que vous avez voulu dire '%s'"
 
-#: help.c:388
+#: help.c:403
 #, c-format
 msgid "in %0.1f seconds automatically..."
 msgstr "dans %0.1f secondes automatiquement..."
 
-#: help.c:395
+#: help.c:410
 #, c-format
 msgid "git: '%s' is not a git command. See 'git --help'."
 msgstr "git : '%s' n'est pas une commande git. Voir 'git --help'."
 
-#: help.c:399 help.c:465
+#: help.c:414 help.c:480
 msgid ""
 "\n"
 "Did you mean this?"
@@ -1920,7 +1941,7 @@
 "\n"
 "Vouliez-vous dire un de ceux-là ?"
 
-#: help.c:461
+#: help.c:476
 #, c-format
 msgid "%s: %s - %s"
 msgstr "%s: %s - %s"
@@ -1988,69 +2009,69 @@
 msgid "(bad commit)\n"
 msgstr "(mauvais commit)\n"
 
-#: merge-recursive.c:231
+#: merge-recursive.c:231 merge-recursive.c:239
 #, c-format
 msgid "addinfo_cache failed for path '%s'"
 msgstr "échec de addinfo_cache pour le chemin '%s'"
 
-#: merge-recursive.c:301
+#: merge-recursive.c:303
 msgid "error building trees"
 msgstr "erreur de construction des arbres"
 
-#: merge-recursive.c:720
+#: merge-recursive.c:727
 #, c-format
 msgid "failed to create path '%s'%s"
 msgstr "impossible de créer le chemin '%s' %s"
 
-#: merge-recursive.c:731
+#: merge-recursive.c:738
 #, c-format
 msgid "Removing %s to make room for subdirectory\n"
 msgstr "Suppression de %s pour faire de la place pour le sous-répertoire\n"
 
-#: merge-recursive.c:745 merge-recursive.c:764
+#: merge-recursive.c:752 merge-recursive.c:771
 msgid ": perhaps a D/F conflict?"
 msgstr ": peut-être un conflit D/F ?"
 
-#: merge-recursive.c:754
+#: merge-recursive.c:761
 #, c-format
 msgid "refusing to lose untracked file at '%s'"
 msgstr "refus de perdre le fichier non suivi '%s'"
 
-#: merge-recursive.c:796 builtin/cat-file.c:34
+#: merge-recursive.c:803 builtin/cat-file.c:34
 #, c-format
 msgid "cannot read object %s '%s'"
 msgstr "impossible de lire l'objet %s '%s'"
 
-#: merge-recursive.c:798
+#: merge-recursive.c:805
 #, c-format
 msgid "blob expected for %s '%s'"
 msgstr "blob attendu pour %s '%s'"
 
-#: merge-recursive.c:822
+#: merge-recursive.c:829
 #, c-format
 msgid "failed to open '%s': %s"
 msgstr "échec à l'ouverture de '%s' : %s"
 
-#: merge-recursive.c:833
+#: merge-recursive.c:840
 #, c-format
 msgid "failed to symlink '%s': %s"
 msgstr "échec à la création du lien symbolique '%s' : %s"
 
-#: merge-recursive.c:838
+#: merge-recursive.c:845
 #, c-format
 msgid "do not know what to do with %06o %s '%s'"
 msgstr "ne sait pas traiter %06o %s '%s'"
 
-#: merge-recursive.c:978
+#: merge-recursive.c:985
 msgid "Failed to execute internal merge"
 msgstr "Échec à l'exécution de la fusion interne"
 
-#: merge-recursive.c:982
+#: merge-recursive.c:989
 #, c-format
 msgid "Unable to add %s to database"
 msgstr "Impossible d'ajouter %s à la base de données"
 
-#: merge-recursive.c:1081 merge-recursive.c:1095
+#: merge-recursive.c:1088 merge-recursive.c:1102
 #, c-format
 msgid ""
 "CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left "
@@ -2059,7 +2080,7 @@
 "CONFLIT (%s/suppression) : %s supprimé dans %s et %s dans %s. Version %s de "
 "%s laissée dans l'arbre."
 
-#: merge-recursive.c:1087 merge-recursive.c:1100
+#: merge-recursive.c:1094 merge-recursive.c:1107
 #, c-format
 msgid ""
 "CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left "
@@ -2068,20 +2089,20 @@
 "CONFLIT (%s/suppression) : %s supprimé dans %s et %s dans %s. Version %s de "
 "%s laissée dans l'arbre dans le fichier %s."
 
-#: merge-recursive.c:1143
+#: merge-recursive.c:1150
 msgid "rename"
 msgstr "renommage"
 
-#: merge-recursive.c:1143
+#: merge-recursive.c:1150
 msgid "renamed"
 msgstr "renommé"
 
-#: merge-recursive.c:1200
+#: merge-recursive.c:1207
 #, c-format
 msgid "%s is a directory in %s adding as %s instead"
 msgstr "%s est un répertoire dans %s ajouté plutôt comme %s"
 
-#: merge-recursive.c:1225
+#: merge-recursive.c:1232
 #, c-format
 msgid ""
 "CONFLICT (rename/rename): Rename \"%s\"->\"%s\" in branch \"%s\" rename \"%s"
@@ -2090,137 +2111,137 @@
 "CONFLIT (renommage/renommage) : Renommage de \"%s\"->\"%s\" dans la branche "
 "\"%s\" et renommage \"%s\"->\"%s\" dans \"%s\"%s"
 
-#: merge-recursive.c:1230
+#: merge-recursive.c:1237
 msgid " (left unresolved)"
 msgstr " (laissé non résolu)"
 
-#: merge-recursive.c:1292
+#: merge-recursive.c:1299
 #, c-format
 msgid "CONFLICT (rename/rename): Rename %s->%s in %s. Rename %s->%s in %s"
 msgstr ""
 "CONFLIT (renommage/renommage) : renommage '%s'->'%s' dans %s. Renommage '%s'-"
 ">'%s' dans %s"
 
-#: merge-recursive.c:1325
+#: merge-recursive.c:1332
 #, c-format
 msgid "Renaming %s to %s and %s to %s instead"
 msgstr "Renommage de %s en %s et de %s en %s à la place"
 
-#: merge-recursive.c:1531
+#: merge-recursive.c:1535
 #, c-format
 msgid "CONFLICT (rename/add): Rename %s->%s in %s. %s added in %s"
 msgstr ""
 "CONFLIT (renommage/ajout) : Renommage de %s->%s dans %s. %s ajouté dans %s"
 
-#: merge-recursive.c:1546
+#: merge-recursive.c:1550
 #, c-format
 msgid "Adding merged %s"
 msgstr "Ajout de %s fusionné"
 
-#: merge-recursive.c:1553 merge-recursive.c:1766
+#: merge-recursive.c:1557 merge-recursive.c:1771
 #, c-format
 msgid "Adding as %s instead"
 msgstr "Ajout plutôt comme %s"
 
-#: merge-recursive.c:1610
+#: merge-recursive.c:1614
 #, c-format
 msgid "cannot read object %s"
 msgstr "impossible de lire l'objet %s"
 
-#: merge-recursive.c:1613
+#: merge-recursive.c:1617
 #, c-format
 msgid "object %s is not a blob"
 msgstr "l'objet %s n'est pas un blob"
 
-#: merge-recursive.c:1666
+#: merge-recursive.c:1670
 msgid "modify"
 msgstr "modification"
 
-#: merge-recursive.c:1666
+#: merge-recursive.c:1670
 msgid "modified"
 msgstr "modifié"
 
-#: merge-recursive.c:1676
+#: merge-recursive.c:1680
 msgid "content"
 msgstr "contenu"
 
-#: merge-recursive.c:1683
+#: merge-recursive.c:1687
 msgid "add/add"
 msgstr "ajout/ajout"
 
-#: merge-recursive.c:1718
+#: merge-recursive.c:1723
 #, c-format
 msgid "Skipped %s (merged same as existing)"
 msgstr "%s sauté (fusion identique à l'existant)"
 
-#: merge-recursive.c:1732
+#: merge-recursive.c:1737
 #, c-format
 msgid "Auto-merging %s"
 msgstr "Fusion automatique de %s"
 
-#: merge-recursive.c:1736 git-submodule.sh:924
+#: merge-recursive.c:1741 git-submodule.sh:930
 msgid "submodule"
 msgstr "sous-module"
 
-#: merge-recursive.c:1737
+#: merge-recursive.c:1742
 #, c-format
 msgid "CONFLICT (%s): Merge conflict in %s"
 msgstr "CONFLIT (%s) : Conflit de fusion dans %s"
 
-#: merge-recursive.c:1831
+#: merge-recursive.c:1836
 #, c-format
 msgid "Removing %s"
 msgstr "Suppression de %s"
 
-#: merge-recursive.c:1857
+#: merge-recursive.c:1862
 msgid "file/directory"
 msgstr "fichier/répertoire"
 
-#: merge-recursive.c:1863
+#: merge-recursive.c:1868
 msgid "directory/file"
 msgstr "répertoire/fichier"
 
-#: merge-recursive.c:1868
+#: merge-recursive.c:1874
 #, c-format
 msgid "CONFLICT (%s): There is a directory with name %s in %s. Adding %s as %s"
 msgstr ""
 "CONFLIT (%s) : Il y a un répertoire nommé %s dans %s. Ajout de %s comme %s"
 
-#: merge-recursive.c:1877
+#: merge-recursive.c:1883
 #, c-format
 msgid "Adding %s"
 msgstr "Ajout de %s"
 
-#: merge-recursive.c:1914
+#: merge-recursive.c:1920
 msgid "Already up-to-date!"
 msgstr "Déjà à jour !"
 
-#: merge-recursive.c:1923
+#: merge-recursive.c:1929
 #, c-format
 msgid "merging of trees %s and %s failed"
 msgstr "échec de fusion des arbres %s et %s"
 
-#: merge-recursive.c:2006
+#: merge-recursive.c:2012
 msgid "Merging:"
 msgstr "Fusion :"
 
-#: merge-recursive.c:2019
+#: merge-recursive.c:2025
 #, c-format
 msgid "found %u common ancestor:"
 msgid_plural "found %u common ancestors:"
 msgstr[0] "%u ancêtre commun trouvé :"
 msgstr[1] "%u ancêtres communs trouvés :"
 
-#: merge-recursive.c:2058
+#: merge-recursive.c:2064
 msgid "merge returned no commit"
 msgstr "la fusion n'a pas retourné de commit"
 
-#: merge-recursive.c:2121
+#: merge-recursive.c:2127
 #, c-format
 msgid "Could not parse object '%s'"
 msgstr "Impossible d'analyser l'objet '%s'"
 
-#: merge-recursive.c:2135 builtin/merge.c:641 builtin/merge.c:788
+#: merge-recursive.c:2141 builtin/merge.c:645 builtin/merge.c:792
 msgid "Unable to write index."
 msgstr "Impossible d'écrire l'index."
 
@@ -2261,7 +2282,7 @@
 msgid "Bad %s value: '%s'"
 msgstr "Mauvaise valeur de %s : '%s'"
 
-#: object.c:242
+#: object.c:240
 #, c-format
 msgid "unable to parse object: %s"
 msgstr "impossible d'analyser l'objet : %s"
@@ -2301,13 +2322,13 @@
 msgid "Could not make %s writable by group"
 msgstr "Impossible de rendre %s inscriptible pour le groupe"
 
-#: pathspec.c:133
+#: pathspec.c:142
 msgid "global 'glob' and 'noglob' pathspec settings are incompatible"
 msgstr ""
 "les réglages de spécificateurs de chemin généraux 'glob' et 'noglob' sont "
 "incompatibles"
 
-#: pathspec.c:143
+#: pathspec.c:149
 msgid ""
 "global 'literal' pathspec setting is incompatible with all other global "
 "pathspec settings"
@@ -2315,48 +2336,53 @@
 "le réglage global de spécificateur de chemin 'literal' est incompatible avec "
 "tous les autres réglages globaux de spécificateur de chemin"
 
-#: pathspec.c:177
+#: pathspec.c:188
 msgid "invalid parameter for pathspec magic 'prefix'"
 msgstr "paramètre invalide pour le spécificateur magique de chemin 'prefix'"
 
-#: pathspec.c:183
+#: pathspec.c:201
 #, c-format
 msgid "Invalid pathspec magic '%.*s' in '%s'"
 msgstr "La spécification magique de chemin '%.*s' est invalide dans '%s'"
 
-#: pathspec.c:187
+#: pathspec.c:206
 #, c-format
 msgid "Missing ')' at the end of pathspec magic in '%s'"
 msgstr "')' manquante à la fin du spécificateur magique de chemin dans '%s'"
 
-#: pathspec.c:205
+#: pathspec.c:238
 #, c-format
 msgid "Unimplemented pathspec magic '%c' in '%s'"
 msgstr "Spécificateur magique '%c' non implémenté dans '%s'"
 
-#: pathspec.c:230
-#, c-format
-msgid "%s: 'literal' and 'glob' are incompatible"
-msgstr "%s : 'literal' et 'glob' sont incompatibles"
-
-#: pathspec.c:241
-#, c-format
-msgid "%s: '%s' is outside repository"
-msgstr "%s : '%s' est hors du dépôt"
-
-#: pathspec.c:291
+#: pathspec.c:293 pathspec.c:315
 #, c-format
 msgid "Pathspec '%s' is in submodule '%.*s'"
 msgstr "Le chemin '%s' est dans le sous-module '%.*s'"
 
-#: pathspec.c:353
+#: pathspec.c:350
+#, c-format
+msgid "%s: 'literal' and 'glob' are incompatible"
+msgstr "%s : 'literal' et 'glob' sont incompatibles"
+
+#: pathspec.c:363
+#, c-format
+msgid "%s: '%s' is outside repository"
+msgstr "%s : '%s' est hors du dépôt"
+
+#: pathspec.c:451
+#, c-format
+msgid "'%s' (mnemonic: '%c')"
+msgstr "'%s' (mnémonique : '%c')"
+
+#: pathspec.c:461
 #, c-format
 msgid "%s: pathspec magic not supported by this command: %s"
 msgstr ""
 "%s : le spécificateur magique de chemin n'est pas supporté par cette "
 "commande : %s"
 
-#: pathspec.c:408
+#: pathspec.c:511
 msgid ""
 "empty strings as pathspecs will be made invalid in upcoming releases. please "
 "use . instead if you meant to match all paths"
@@ -2365,12 +2391,12 @@
 "invalides dans les prochaines versions. Veuillez utiliser . à la place pour "
 "correspondre à tous le chemins"
 
-#: pathspec.c:440
+#: pathspec.c:535
 #, c-format
 msgid "pathspec '%s' is beyond a symbolic link"
 msgstr "le chemin '%s' est au-delà d'un lien symbolique"
 
-#: pathspec.c:449
+#: pathspec.c:544
 msgid ""
 "There is nothing to exclude from by :(exclude) patterns.\n"
 "Perhaps you forgot to add either ':/' or '.' ?"
@@ -2378,11 +2404,11 @@
 "Il n'y a rien dont il faut exclure par des motifs :(exclure).\n"
 "Peut-être avez-vous oublié d'ajouter ':/' ou '.' ?"
 
-#: pretty.c:971
+#: pretty.c:982
 msgid "unable to parse --pretty format"
 msgstr "impossible d'analyser le format --pretty"
 
-#: read-cache.c:1315
+#: read-cache.c:1307
 #, c-format
 msgid ""
 "index.version set, but the value is invalid.\n"
@@ -2391,7 +2417,7 @@
 "version d'index renseignée, mais la valeur est invalide.\n"
 "Utilisation de la version %i"
 
-#: read-cache.c:1325
+#: read-cache.c:1317
 #, c-format
 msgid ""
 "GIT_INDEX_VERSION set, but the value is invalid.\n"
@@ -2400,7 +2426,7 @@
 "GIT_INDEX_VERSION est renseigné, mais la valeur est invalide.\n"
 "Utilisation de la version %i"
 
-#: refs.c:576 builtin/merge.c:840
+#: refs.c:576 builtin/merge.c:844
 #, c-format
 msgid "Could not open '%s' for writing"
 msgstr "Impossible d'ouvrir '%s' en écriture"
@@ -2420,230 +2446,235 @@
 msgid "could not remove reference %s"
 msgstr "impossible de supprimer la référence %s"
 
-#: ref-filter.c:55
+#: ref-filter.c:56
 #, c-format
 msgid "expected format: %%(color:<color>)"
 msgstr "format attendu : %%(color:<couleur>)"
 
-#: ref-filter.c:57
+#: ref-filter.c:58
 #, c-format
 msgid "unrecognized color: %%(color:%s)"
 msgstr "couleur non reconnue : %%(color:%s)"
 
-#: ref-filter.c:71
+#: ref-filter.c:72
 #, c-format
 msgid "unrecognized format: %%(%s)"
 msgstr "format non reconnu %%(%s)"
 
-#: ref-filter.c:77
+#: ref-filter.c:78
 #, c-format
 msgid "%%(body) does not take arguments"
 msgstr "%%(body) n'accepte pas d'argument"
 
-#: ref-filter.c:84
+#: ref-filter.c:85
 #, c-format
 msgid "%%(subject) does not take arguments"
 msgstr "%%(subject) n'accepte pas d'argument"
 
-#: ref-filter.c:101
+#: ref-filter.c:92
+#, c-format
+msgid "%%(trailers) does not take arguments"
+msgstr "%%(trailers) n'accepte pas d'argument"
+
+#: ref-filter.c:111
 #, c-format
 msgid "positive value expected contents:lines=%s"
 msgstr "valeur positive attendue contents:lines=%s"
 
-#: ref-filter.c:103
+#: ref-filter.c:113
 #, c-format
 msgid "unrecognized %%(contents) argument: %s"
 msgstr "argument %%(contents) non reconnu : %s"
 
-#: ref-filter.c:113
+#: ref-filter.c:123
 #, c-format
 msgid "unrecognized %%(objectname) argument: %s"
 msgstr "argument %%(objectname) non reconnu : %s"
 
-#: ref-filter.c:135
+#: ref-filter.c:145
 #, c-format
 msgid "expected format: %%(align:<width>,<position>)"
 msgstr "format attendu : %%(align:<largeur>,<position>)"
 
-#: ref-filter.c:147
+#: ref-filter.c:157
 #, c-format
 msgid "unrecognized position:%s"
 msgstr "position non reconnue : %s"
 
-#: ref-filter.c:151
+#: ref-filter.c:161
 #, c-format
 msgid "unrecognized width:%s"
 msgstr "largeur non reconnue : %s"
 
-#: ref-filter.c:157
+#: ref-filter.c:167
 #, c-format
 msgid "unrecognized %%(align) argument: %s"
 msgstr "argument %%(align) non reconnu : %s"
 
-#: ref-filter.c:161
+#: ref-filter.c:171
 #, c-format
 msgid "positive width expected with the %%(align) atom"
 msgstr "valeur positive attendue avec l'atome %%(align)"
 
-#: ref-filter.c:244
+#: ref-filter.c:255
 #, c-format
 msgid "malformed field name: %.*s"
 msgstr "nom de champ malformé %.*s"
 
-#: ref-filter.c:270
+#: ref-filter.c:281
 #, c-format
 msgid "unknown field name: %.*s"
 msgstr "nom de champ inconnu : %.*s"
 
-#: ref-filter.c:372
+#: ref-filter.c:383
 #, c-format
 msgid "format: %%(end) atom used without corresponding atom"
 msgstr "format : atome %%(end) utilisé sans atome correspondant"
 
-#: ref-filter.c:424
+#: ref-filter.c:435
 #, c-format
 msgid "malformed format string %s"
 msgstr "Chaîne de formatage mal formée %s"
 
-#: ref-filter.c:878
+#: ref-filter.c:898
 msgid ":strip= requires a positive integer argument"
 msgstr ":strip= requiert un argument entier positif"
 
-#: ref-filter.c:883
+#: ref-filter.c:903
 #, c-format
 msgid "ref '%s' does not have %ld components to :strip"
 msgstr "la réf '%s' n'a pas %ld composants à :strip"
 
-#: ref-filter.c:1046
+#: ref-filter.c:1066
 #, c-format
 msgid "unknown %.*s format %s"
 msgstr "format de %.*s inconnu %s"
 
-#: ref-filter.c:1066 ref-filter.c:1097
+#: ref-filter.c:1086 ref-filter.c:1117
 #, c-format
 msgid "missing object %s for %s"
 msgstr "objet manquant %s pour %s"
 
-#: ref-filter.c:1069 ref-filter.c:1100
+#: ref-filter.c:1089 ref-filter.c:1120
 #, c-format
 msgid "parse_object_buffer failed on %s for %s"
 msgstr "echec de parse_object_buffer sur %s pour %s"
 
-#: ref-filter.c:1311
+#: ref-filter.c:1343
 #, c-format
 msgid "malformed object at '%s'"
 msgstr "objet malformé à '%s'"
 
-#: ref-filter.c:1373
+#: ref-filter.c:1410
 #, c-format
 msgid "ignoring ref with broken name %s"
 msgstr "réf avec un nom cassé %s ignoré"
 
-#: ref-filter.c:1378
+#: ref-filter.c:1415
 #, c-format
 msgid "ignoring broken ref %s"
 msgstr "réf cassé %s ignoré"
 
-#: ref-filter.c:1633
+#: ref-filter.c:1670
 #, c-format
 msgid "format: %%(end) atom missing"
 msgstr "format: atome %%(end) manquant"
 
-#: ref-filter.c:1687
+#: ref-filter.c:1734
 #, c-format
 msgid "malformed object name %s"
 msgstr "nom d'objet malformé %s"
 
-#: remote.c:746
+#: remote.c:754
 #, c-format
 msgid "Cannot fetch both %s and %s to %s"
 msgstr "Impossible de récupérer à la fois %s et %s pour %s"
 
-#: remote.c:750
+#: remote.c:758
 #, c-format
 msgid "%s usually tracks %s, not %s"
 msgstr "%s suit habituellement %s, pas %s"
 
-#: remote.c:754
+#: remote.c:762
 #, c-format
 msgid "%s tracks both %s and %s"
 msgstr "%s suit à la fois %s et %s"
 
-#: remote.c:762
+#: remote.c:770
 msgid "Internal error"
 msgstr "Erreur interne"
 
-#: remote.c:1677 remote.c:1720
+#: remote.c:1685 remote.c:1787
 msgid "HEAD does not point to a branch"
 msgstr "HEAD ne pointe pas sur une branche"
 
-#: remote.c:1686
+#: remote.c:1694
 #, c-format
 msgid "no such branch: '%s'"
 msgstr "pas de branche '%s'"
 
-#: remote.c:1689
+#: remote.c:1697
 #, c-format
 msgid "no upstream configured for branch '%s'"
 msgstr "aucune branche amont configurée pour la branche '%s'"
 
-#: remote.c:1695
+#: remote.c:1703
 #, c-format
 msgid "upstream branch '%s' not stored as a remote-tracking branch"
 msgstr "la branche amont '%s' n'est pas stockée comme branche de suivi"
 
-#: remote.c:1710
+#: remote.c:1718
 #, c-format
 msgid "push destination '%s' on remote '%s' has no local tracking branch"
 msgstr ""
 "la destination de poussée '%s' sur le serveur distant '%s' n'a pas de "
 "branche locale de suivi"
 
-#: remote.c:1725
+#: remote.c:1730
 #, c-format
 msgid "branch '%s' has no remote for pushing"
 msgstr "la branche '%s' n'a aucune branche distante de poussée"
 
-#: remote.c:1736
+#: remote.c:1741
 #, c-format
 msgid "push refspecs for '%s' do not include '%s'"
 msgstr "les références de spec pour '%s' n'incluent pas '%s'"
 
-#: remote.c:1749
+#: remote.c:1754
 msgid "push has no destination (push.default is 'nothing')"
 msgstr "la poussée n'a pas de destination (push.default vaut 'nothing')"
 
-#: remote.c:1771
+#: remote.c:1776
 msgid "cannot resolve 'simple' push to a single destination"
 msgstr ""
 "impossible de résoudre une poussée 'simple' pour une destination unique"
 
-#: remote.c:2073
+#: remote.c:2081
 #, c-format
 msgid "Your branch is based on '%s', but the upstream is gone.\n"
 msgstr "Votre branche est basée sur '%s', mais la branche amont a disparu.\n"
 
-#: remote.c:2077
+#: remote.c:2085
 msgid "  (use \"git branch --unset-upstream\" to fixup)\n"
 msgstr "  (utilisez \"git branch --unset-upstream\" pour corriger)\n"
 
-#: remote.c:2080
+#: remote.c:2088
 #, c-format
 msgid "Your branch is up-to-date with '%s'.\n"
 msgstr "Votre branche est à jour avec '%s'.\n"
 
-#: remote.c:2084
+#: remote.c:2092
 #, c-format
 msgid "Your branch is ahead of '%s' by %d commit.\n"
 msgid_plural "Your branch is ahead of '%s' by %d commits.\n"
 msgstr[0] "Votre branche est en avance sur '%s' de %d commit.\n"
 msgstr[1] "Votre branche est en avance sur '%s' de %d commits.\n"
 
-#: remote.c:2090
+#: remote.c:2098
 msgid "  (use \"git push\" to publish your local commits)\n"
 msgstr "  (utilisez \"git push\" pour publier vos commits locaux)\n"
 
-#: remote.c:2093
+#: remote.c:2101
 #, c-format
 msgid "Your branch is behind '%s' by %d commit, and can be fast-forwarded.\n"
 msgid_plural ""
@@ -2655,11 +2686,11 @@
 "Votre branche est en retard sur '%s' de %d commits, et peut être mise à jour "
 "en avance rapide.\n"
 
-#: remote.c:2101
+#: remote.c:2109
 msgid "  (use \"git pull\" to update your local branch)\n"
 msgstr "  (utilisez \"git pull\" pour mettre à jour votre branche locale)\n"
 
-#: remote.c:2104
+#: remote.c:2112
 #, c-format
 msgid ""
 "Your branch and '%s' have diverged,\n"
@@ -2674,7 +2705,7 @@
 "Votre branche et '%s' ont divergé,\n"
 "et ont %d et %d commits différents chacune respectivement.\n"
 
-#: remote.c:2114
+#: remote.c:2122
 msgid "  (use \"git pull\" to merge the remote branch into yours)\n"
 msgstr ""
 "  (utilisez \"git pull\" pour fusionner la branche distante dans la vôtre)\n"
@@ -2692,11 +2723,11 @@
 msgid "--first-parent is incompatible with --bisect"
 msgstr "--first-parent est incompatible avec --bisect"
 
-#: run-command.c:106
+#: run-command.c:125
 msgid "open /dev/null failed"
 msgstr "échec de l'ouverture de /dev/null"
 
-#: run-command.c:108
+#: run-command.c:127
 #, c-format
 msgid "dup2(%d,%d) failed"
 msgstr "échec de dup2(%d,%d)"
@@ -2725,15 +2756,24 @@
 msgid "the receiving end does not support push options"
 msgstr "Le receveur ne gère pas les options de poussées"
 
-#: sequencer.c:171
+#: sequencer.c:215
 msgid "revert"
 msgstr "revert"
 
-#: sequencer.c:171
+#: sequencer.c:217
 msgid "cherry-pick"
 msgstr "cherry-pick"
 
-#: sequencer.c:228
+#: sequencer.c:219
+msgid "rebase -i"
+msgstr "rebase -i"
+
+#: sequencer.c:221
+#, c-format
+msgid "Unknown action: %d"
+msgstr "Action inconnue : %d"
+
+#: sequencer.c:278
 msgid ""
 "after resolving the conflicts, mark the corrected paths\n"
 "with 'git add <paths>' or 'git rm <paths>'"
@@ -2741,7 +2781,7 @@
 "après résolution des conflits, marquez les chemins corrigés\n"
 "avec 'git add <chemins>' ou 'git rm <chemins>'"
 
-#: sequencer.c:231
+#: sequencer.c:281
 msgid ""
 "after resolving the conflicts, mark the corrected paths\n"
 "with 'git add <paths>' or 'git rm <paths>'\n"
@@ -2751,60 +2791,63 @@
 "avec 'git add <chemins>' ou 'git rm <chemins>'\n"
 "puis validez le résultat avec 'git commit'"
 
-#: sequencer.c:244 sequencer.c:1209
+#: sequencer.c:294 sequencer.c:1667
 #, c-format
 msgid "could not lock '%s'"
 msgstr "impossible de verrouiller '%s'"
 
-#: sequencer.c:247 sequencer.c:1125 sequencer.c:1214
+#: sequencer.c:297 sequencer.c:1545 sequencer.c:1672 sequencer.c:1686
 #, c-format
 msgid "could not write to '%s'"
 msgstr "impossible d'écrire dans '%s'"
 
-#: sequencer.c:251
+#: sequencer.c:301
 #, c-format
 msgid "could not write eol to '%s'"
 msgstr "impossible d'écrire la fin de ligne dans '%s'"
 
-#: sequencer.c:255 sequencer.c:1130 sequencer.c:1216
+#: sequencer.c:305 sequencer.c:1550 sequencer.c:1674
 #, c-format
 msgid "failed to finalize '%s'."
 msgstr "échec lors de la finalisation de '%s'."
 
-#: sequencer.c:279 builtin/am.c:259 builtin/commit.c:749 builtin/merge.c:1032
+#: sequencer.c:329 sequencer.c:808 sequencer.c:1571 builtin/am.c:259
+#: builtin/commit.c:749 builtin/merge.c:1036
 #, c-format
 msgid "could not read '%s'"
 msgstr "impossible de lire '%s'"
 
-#: sequencer.c:305
+#: sequencer.c:355
 #, c-format
 msgid "your local changes would be overwritten by %s."
 msgstr "vos modifications locales seraient écrasées par %s."
 
-#: sequencer.c:309
+#: sequencer.c:359
 msgid "commit your changes or stash them to proceed."
 msgstr "validez vos modifications ou les remiser pour continuer."
 
-#: sequencer.c:324
+#: sequencer.c:388
 #, c-format
 msgid "%s: fast-forward"
 msgstr "%s : avance rapide"
 
-#. TRANSLATORS: %s will be "revert" or "cherry-pick"
-#: sequencer.c:399
+#. TRANSLATORS: %s will be "revert", "cherry-pick" or
+#. * "rebase -i".
+#.
+#: sequencer.c:470
 #, c-format
 msgid "%s: Unable to write new index file"
 msgstr "%s: Impossible d'écrire le nouveau fichier index"
 
-#: sequencer.c:418
+#: sequencer.c:489
 msgid "could not resolve HEAD commit\n"
 msgstr "impossible de résoudre le commit HEAD\n"
 
-#: sequencer.c:438
+#: sequencer.c:509
 msgid "unable to update cache tree\n"
 msgstr "impossible de mettre à jour l'arbre de cache\n"
 
-#: sequencer.c:483
+#: sequencer.c:592
 #, c-format
 msgid ""
 "you have staged changes in your working tree\n"
@@ -2833,174 +2876,395 @@
 "\n"
 "  git rebase --continue\n"
 
-#: sequencer.c:567
+#: sequencer.c:688
 #, c-format
 msgid "could not parse commit %s\n"
 msgstr "impossible d'analyser le commit %s\n"
 
-#: sequencer.c:572
+#: sequencer.c:693
 #, c-format
 msgid "could not parse parent commit %s\n"
 msgstr "impossible d'analyser le commit parent %s\n"
 
-#: sequencer.c:656
+#: sequencer.c:815
+#, c-format
+msgid ""
+"unexpected 1st line of squash message:\n"
+"\n"
+"\t%.*s"
+msgstr ""
+"première ligne de message de compression inattendue :\n"
+"\n"
+"\t%.*s"
+
+#: sequencer.c:821
+#, c-format
+msgid ""
+"invalid 1st line of squash message:\n"
+"\n"
+"\t%.*s"
+msgstr ""
+"première ligne de message de compression invalide :\n"
+"\n"
+"\t%.*s"
+
+#: sequencer.c:827 sequencer.c:852
+#, c-format
+msgid "This is a combination of %d commits."
+msgstr "Ceci est la combinaison de %d commits."
+
+#: sequencer.c:836
+msgid "need a HEAD to fixup"
+msgstr "une HEAD est nécessaire à la correction"
+
+#: sequencer.c:838
+msgid "could not read HEAD"
+msgstr "Impossible de lire HEAD"
+
+#: sequencer.c:840
+msgid "could not read HEAD's commit message"
+msgstr "impossible de lire le message de validation de HEAD"
+
+#: sequencer.c:846
+#, c-format
+msgid "cannot write '%s'"
+msgstr "impossible d'écrire '%s'"
+
+#: sequencer.c:855 git-rebase--interactive.sh:445
+msgid "This is the 1st commit message:"
+msgstr "Ceci est le premier message de validation :"
+
+#: sequencer.c:863
+#, c-format
+msgid "could not read commit message of %s"
+msgstr "impossible de lire le message de validation de %s"
+
+#: sequencer.c:870
+#, c-format
+msgid "This is the commit message #%d:"
+msgstr "Ceci est le message de validation numéro %d :"
+
+#: sequencer.c:875
+#, c-format
+msgid "The commit message #%d will be skipped:"
+msgstr "Le message de validation %d sera ignoré :"
+
+#: sequencer.c:880
+#, c-format
+msgid "unknown command: %d"
+msgstr "commande inconnue : %d"
+
+#: sequencer.c:946
 msgid "your index file is unmerged."
 msgstr "votre fichier d'index n'est pas fusionné."
 
-#: sequencer.c:675
+#: sequencer.c:964
 #, c-format
 msgid "commit %s is a merge but no -m option was given."
 msgstr "le commit %s est une fusion mais l'option -m n'a pas été spécifiée."
 
-#: sequencer.c:683
+#: sequencer.c:972
 #, c-format
 msgid "commit %s does not have parent %d"
 msgstr "le commit %s n'a pas de parent %d"
 
-#: sequencer.c:687
+#: sequencer.c:976
 #, c-format
 msgid "mainline was specified but commit %s is not a merge."
 msgstr ""
 "une branche principale a été spécifiée mais le commit %s n'est pas une "
 "fusion."
 
-#. TRANSLATORS: The first %s will be a "todo" command like
-#. "revert" or "pick", the second %s a SHA1.
-#: sequencer.c:700
-#, c-format
-msgid "%s: cannot parse parent commit %s"
-msgstr "%s : impossible d'analyser le commit parent %s"
-
-#: sequencer.c:705
+#: sequencer.c:982
 #, c-format
 msgid "cannot get commit message for %s"
 msgstr "impossible d'obtenir un message de validation pour %s"
 
-#: sequencer.c:797
+#. TRANSLATORS: The first %s will be a "todo" command like
+#. "revert" or "pick", the second %s a SHA1.
+#: sequencer.c:1001
+#, c-format
+msgid "%s: cannot parse parent commit %s"
+msgstr "%s : impossible d'analyser le commit parent %s"
+
+#: sequencer.c:1063 sequencer.c:1812
+#, c-format
+msgid "could not rename '%s' to '%s'"
+msgstr "impossible de renommer '%s' en '%s'"
+
+#: sequencer.c:1114
 #, c-format
 msgid "could not revert %s... %s"
 msgstr "impossible d'annuler %s... %s"
 
-#: sequencer.c:798
+#: sequencer.c:1115
 #, c-format
 msgid "could not apply %s... %s"
 msgstr "impossible d'appliquer %s... %s"
 
-#: sequencer.c:833
+#: sequencer.c:1157
 msgid "empty commit set passed"
 msgstr "l'ensemble de commits spécifié est vide"
 
-#: sequencer.c:843
+#: sequencer.c:1167
 #, c-format
 msgid "git %s: failed to read the index"
 msgstr "git %s : échec à la lecture de l'index"
 
-#: sequencer.c:850
+#: sequencer.c:1174
 #, c-format
 msgid "git %s: failed to refresh the index"
 msgstr "git %s : échec du rafraîchissement de l'index"
 
-#: sequencer.c:944
+#: sequencer.c:1294
 #, c-format
 msgid "invalid line %d: %.*s"
 msgstr "ligne %d invalide : %.*s"
 
-#: sequencer.c:950
-msgid "no commits parsed."
-msgstr "aucun commit analysé."
+#: sequencer.c:1302
+#, c-format
+msgid "cannot '%s' without a previous commit"
+msgstr "'%s' impossible avec le commit précédent"
 
-#: sequencer.c:966
+#: sequencer.c:1334
 #, c-format
 msgid "could not read '%s'."
 msgstr "impossible de lire '%s'."
 
-#: sequencer.c:972
+#: sequencer.c:1341
+msgid "please fix this using 'git rebase --edit-todo'."
+msgstr "veuillez corriger ceci en utilisant 'git rebase --edit-todo'."
+
+#: sequencer.c:1343
 #, c-format
 msgid "unusable instruction sheet: '%s'"
 msgstr "feuille d'instruction inutilisable : '%s'"
 
-#: sequencer.c:983
+#: sequencer.c:1348
+msgid "no commits parsed."
+msgstr "aucun commit analysé."
+
+#: sequencer.c:1359
 msgid "cannot cherry-pick during a revert."
 msgstr "impossible de picorer pendant l'annulation d'un commit."
 
-#: sequencer.c:985
+#: sequencer.c:1361
 msgid "cannot revert during a cherry-pick."
 msgstr "impossible d'annuler un commit pendant un picorage."
 
-#: sequencer.c:1028
+#: sequencer.c:1424
 #, c-format
 msgid "invalid key: %s"
 msgstr "clé invalide : %s"
 
-#: sequencer.c:1031
+#: sequencer.c:1427
 #, c-format
 msgid "invalid value for %s: %s"
 msgstr "valeur invalide pour %s : %s"
 
-#: sequencer.c:1063
+#: sequencer.c:1484
 #, c-format
 msgid "malformed options sheet: '%s'"
 msgstr "feuille d'options malformée : %s"
 
-#: sequencer.c:1101
+#: sequencer.c:1522
 msgid "a cherry-pick or revert is already in progress"
 msgstr "un picorage ou un retour est déjà en cours"
 
-#: sequencer.c:1102
+#: sequencer.c:1523
 msgid "try \"git cherry-pick (--continue | --quit | --abort)\""
 msgstr "essayez \"git cherry-pick (--continue|--quit|-- abort)\""
 
-#: sequencer.c:1106
+#: sequencer.c:1526
 #, c-format
 msgid "could not create sequencer directory '%s'"
 msgstr "impossible de créer le répertoire de séquenceur '%s'"
 
-#: sequencer.c:1120
+#: sequencer.c:1540
 msgid "could not lock HEAD"
 msgstr "impossible de verrouiller HEAD"
 
-#: sequencer.c:1151 sequencer.c:1289
+#: sequencer.c:1596 sequencer.c:2150
 msgid "no cherry-pick or revert in progress"
 msgstr "aucun picorage ou retour en cours"
 
-#: sequencer.c:1153
+#: sequencer.c:1598
 msgid "cannot resolve HEAD"
 msgstr "impossible de résoudre HEAD"
 
-#: sequencer.c:1155 sequencer.c:1189
+#: sequencer.c:1600 sequencer.c:1634
 msgid "cannot abort from a branch yet to be born"
 msgstr "impossible d'abandonner depuis une branche non encore créée"
 
-#: sequencer.c:1175 builtin/grep.c:578
+#: sequencer.c:1620 builtin/grep.c:904
 #, c-format
 msgid "cannot open '%s'"
 msgstr "impossible d'ouvrir '%s'"
 
-#: sequencer.c:1177
+#: sequencer.c:1622
 #, c-format
 msgid "cannot read '%s': %s"
 msgstr "impossible de lire '%s' : %s"
 
-#: sequencer.c:1178
+#: sequencer.c:1623
 msgid "unexpected end of file"
 msgstr "fin de fichier inattendue"
 
-#: sequencer.c:1184
+#: sequencer.c:1629
 #, c-format
 msgid "stored pre-cherry-pick HEAD file '%s' is corrupt"
 msgstr "le fichier HEAD de préparation de picorage '%s' est corrompu"
 
-#: sequencer.c:1354
+#: sequencer.c:1640
+msgid "You seem to have moved HEAD. Not rewinding, check your HEAD!"
+msgstr ""
+"Vous semblez avoir déplacé la HEAD. Pas de rembobinage, vérifiez votre HEAD !"
+
+#: sequencer.c:1777 sequencer.c:2049
+msgid "cannot read HEAD"
+msgstr "impossible de lire HEAD"
+
+#: sequencer.c:1817 builtin/difftool.c:574
+#, c-format
+msgid "could not copy '%s' to '%s'"
+msgstr "impossible de copier '%s' vers '%s'"
+
+#: sequencer.c:1833
+msgid "could not read index"
+msgstr "impossible de lire l'index"
+
+#: sequencer.c:1838
+#, c-format
+msgid ""
+"execution failed: %s\n"
+"%sYou can fix the problem, and then run\n"
+"\n"
+"  git rebase --continue\n"
+"\n"
+msgstr ""
+"échec d'exécution : %s\n"
+"%sVous pouvez corriger le problème, puis lancer\n"
+"\n"
+"git rebase --continue\n"
+"\n"
+
+#: sequencer.c:1844
+msgid "and made changes to the index and/or the working tree\n"
+msgstr "et a mis à jour l'index ou l'arbre de travail\n"
+
+#: sequencer.c:1850
+#, c-format
+msgid ""
+"execution succeeded: %s\n"
+"but left changes to the index and/or the working tree\n"
+"Commit or stash your changes, and then run\n"
+"\n"
+"  git rebase --continue\n"
+"\n"
+msgstr ""
+"L'exécution a réussi : %s\n"
+"mais a laissé des modifications dans l'index ou la copie de travail\n"
+"Validez ou remisez vos modification, puis lancez\n"
+"\n"
+"  git rebase --continue\n"
+"\n"
+
+#: sequencer.c:1905 git-rebase.sh:168
+#, c-format
+msgid "Applied autostash."
+msgstr "Autoremisage appliqué."
+
+#: sequencer.c:1917
+#, c-format
+msgid "cannot store %s"
+msgstr "impossible de stocker %s"
+
+#: sequencer.c:1919 git-rebase.sh:172
+#, c-format
+msgid ""
+"Applying autostash resulted in conflicts.\n"
+"Your changes are safe in the stash.\n"
+"You can run \"git stash pop\" or \"git stash drop\" at any time.\n"
+msgstr ""
+"L'application de l'autoremisage a provoqué des conflits\n"
+"Vos  modifications sont à l'abri dans la remise.\n"
+"Vous pouvez lancer \"git stash pop\" ou \"git stash drop\" à tout moment.\n"
+
+#: sequencer.c:2000
+#, c-format
+msgid "stopped at %s... %.*s"
+msgstr "arrêt à %s... %.*s"
+
+#: sequencer.c:2027
+#, c-format
+msgid "unknown command %d"
+msgstr "commande inconnue %d"
+
+#: sequencer.c:2057
+msgid "could not read orig-head"
+msgstr "impossible de lire orig-head"
+
+#: sequencer.c:2061
+msgid "could not read 'onto'"
+msgstr "impossible de lire 'onto'"
+
+#: sequencer.c:2068
+#, c-format
+msgid "could not update %s"
+msgstr "impossible de mettre à jour %s"
+
+#: sequencer.c:2075
+#, c-format
+msgid "could not update HEAD to %s"
+msgstr "impossible de mettre à jour HEAD sur %s"
+
+#: sequencer.c:2159
+msgid "cannot rebase: You have unstaged changes."
+msgstr "impossible de rebaser : vous avez des modifications non indexées."
+
+#: sequencer.c:2164
+msgid "could not remove CHERRY_PICK_HEAD"
+msgstr "impossible de supprimer CHERRY_PICK_HEAD"
+
+#: sequencer.c:2173
+msgid "cannot amend non-existing commit"
+msgstr "impossible de corriger un commit non-existant"
+
+#: sequencer.c:2175
+#, c-format
+msgid "invalid file: '%s'"
+msgstr "fichier invalide : '%s'"
+
+#: sequencer.c:2177
+#, c-format
+msgid "invalid contents: '%s'"
+msgstr "contenu invalide : '%s'"
+
+#: sequencer.c:2180
+msgid ""
+"\n"
+"You have uncommitted changes in your working tree. Please, commit them\n"
+"first and then run 'git rebase --continue' again."
+msgstr ""
+"\n"
+"Vous avez des modifications non validées dans votre copie de travail.\n"
+"Veuillez les valider d'abord, puis relancer 'git rebase --continue'."
+
+#: sequencer.c:2190
+msgid "could not commit staged changes."
+msgstr "impossible de valider les modifications indexées."
+
+#: sequencer.c:2270
 #, c-format
 msgid "%s: can't cherry-pick a %s"
 msgstr "%s : impossible de picorer un %s"
 
-#: sequencer.c:1358
+#: sequencer.c:2274
 #, c-format
 msgid "%s: bad revision"
 msgstr "%s : mauvaise révision"
 
-#: sequencer.c:1391
+#: sequencer.c:2307
 msgid "can't revert as initial commit"
 msgstr "impossible d'annuler en tant que commit initial"
 
@@ -3036,29 +3300,29 @@
 "Utilisez '--' pour séparer les chemins des révisions, comme ceci :\n"
 "'git <commande> [<révision>...] -- [<chemin>...]'"
 
-#: setup.c:468
+#: setup.c:470
 #, c-format
 msgid "Expected git repo version <= %d, found %d"
 msgstr "Version attendue du dépôt git <= %d, %d trouvée"
 
-#: setup.c:476
+#: setup.c:478
 msgid "unknown repository extensions found:"
 msgstr "extensions de dépôt inconnues trouvées :"
 
-#: setup.c:762
+#: setup.c:768
 #, c-format
 msgid "Not a git repository (or any of the parent directories): %s"
 msgstr "Ni ceci ni aucun de ses répertoires parents n'est un dépôt git : %s"
 
-#: setup.c:764 setup.c:915 builtin/index-pack.c:1641
+#: setup.c:770 setup.c:922 builtin/index-pack.c:1643
 msgid "Cannot come back to cwd"
 msgstr "Impossible de revenir au répertoire de travail courant"
 
-#: setup.c:845
+#: setup.c:852
 msgid "Unable to read current working directory"
 msgstr "Impossible d'accéder au répertoire de travail courant"
 
-#: setup.c:920
+#: setup.c:927
 #, c-format
 msgid ""
 "Not a git repository (or any parent up to mount point %s)\n"
@@ -3069,12 +3333,12 @@
 "Arrêt à la limite du système de fichiers (GIT_DISCOVERY_ACROSS_FILESYSTEM "
 "n'est pas activé)."
 
-#: setup.c:927
+#: setup.c:934
 #, c-format
 msgid "Cannot change to '%s/..'"
 msgstr "Impossible de se déplacer vers le répertoire '%s/..'"
 
-#: setup.c:989
+#: setup.c:996
 #, c-format
 msgid ""
 "Problem with core.sharedRepository filemode value (0%.3o).\n"
@@ -3084,43 +3348,43 @@
 "Le propriétaire des fichiers doit toujours avoir les droits en lecture et "
 "écriture."
 
-#: sha1_file.c:473
+#: sha1_file.c:490
 #, c-format
 msgid "path '%s' does not exist"
 msgstr "le chemin '%s' n'existe pas"
 
-#: sha1_file.c:499
+#: sha1_file.c:516
 #, c-format
 msgid "reference repository '%s' as a linked checkout is not supported yet."
 msgstr ""
 "extraire le dépôt de référence '%s' comme une extraction liée n'est pas "
 "encore supporté."
 
-#: sha1_file.c:505
+#: sha1_file.c:522
 #, c-format
 msgid "reference repository '%s' is not a local repository."
 msgstr "le dépôt de référence '%s' n'est pas un dépôt local."
 
-#: sha1_file.c:511
+#: sha1_file.c:528
 #, c-format
 msgid "reference repository '%s' is shallow"
 msgstr "le dépôt de référence '%s' est superficiel"
 
-#: sha1_file.c:519
+#: sha1_file.c:536
 #, c-format
 msgid "reference repository '%s' is grafted"
 msgstr "le dépôt de référence '%s' est greffé"
 
-#: sha1_file.c:1159
+#: sha1_file.c:1176
 msgid "offset before end of packfile (broken .idx?)"
 msgstr "offset avant la fin du fichier paquet (.idx cassé ?)"
 
-#: sha1_file.c:2592
+#: sha1_file.c:2637
 #, c-format
 msgid "offset before start of pack index for %s (corrupt index?)"
 msgstr "offset avant le début de l'index de paquet pour %s (index corrompu ?)"
 
-#: sha1_file.c:2596
+#: sha1_file.c:2641
 #, c-format
 msgid "offset beyond end of pack index for %s (truncated index?)"
 msgstr ""
@@ -3160,91 +3424,136 @@
 "message\n"
 "en lançant \"git config advice.objectNameWarning false\""
 
-#: submodule.c:64 submodule.c:98
+#: submodule.c:65 submodule.c:99
 msgid "Cannot change unmerged .gitmodules, resolve merge conflicts first"
 msgstr ""
 "Modification impossible de .gitmodules non fusionné, résolvez les conflits "
 "d'abord"
 
-#: submodule.c:68 submodule.c:102
+#: submodule.c:69 submodule.c:103
 #, c-format
 msgid "Could not find section in .gitmodules where path=%s"
 msgstr "Impossible de trouver une section où path=%s dans .gitmodules"
 
-#: submodule.c:76
+#: submodule.c:77
 #, c-format
 msgid "Could not update .gitmodules entry %s"
 msgstr "Impossible de mettre à jour l'élément %s de .gitmodules"
 
 # ici %s est un chemin
-#: submodule.c:109
+#: submodule.c:110
 #, c-format
 msgid "Could not remove .gitmodules entry for %s"
 msgstr "Impossible de supprimer l'élément de .gitmodules pour %s"
 
-#: submodule.c:120
+#: submodule.c:121
 msgid "staging updated .gitmodules failed"
 msgstr "échec de la mise en index du .gitmodules mis à jour"
 
-#: submodule.c:158
+#: submodule.c:159
 msgid "negative values not allowed for submodule.fetchJobs"
 msgstr "les valeurs négatives ne sont pas permises pour submodule.fetchJobs"
 
-#: submodule-config.c:358
+#: submodule.c:1184
+#, c-format
+msgid "could not start 'git status in submodule '%s'"
+msgstr "impossible de démarrer 'git status' dans le sous-module '%s'"
+
+#: submodule.c:1197
+#, c-format
+msgid "could not run 'git status in submodule '%s'"
+msgstr "impossible de lancer 'git status' dans le sous-module '%s'"
+
+#: submodule.c:1398
+#, c-format
+msgid ""
+"relocate_gitdir for submodule '%s' with more than one worktree not supported"
+msgstr ""
+"relocate_gitdir pour le sous-module '%s' avec plus d'un arbre de travail "
+"n'est pas supporté"
+
+#: submodule.c:1410 submodule.c:1471
+#, c-format
+msgid "could not lookup name for submodule '%s'"
+msgstr "impossible de trouve le nom pour le sous-module '%s'"
+
+#: submodule.c:1414 submodule.c:1474 builtin/submodule--helper.c:640
+#: builtin/submodule--helper.c:650
+#, c-format
+msgid "could not create directory '%s'"
+msgstr "impossible de créer le répertoire '%s'"
+
+#: submodule.c:1420
+#, c-format
+msgid ""
+"Migrating git directory of '%s%s' from\n"
+"'%s' to\n"
+"'%s'\n"
+msgstr ""
+"Migration du répertoire git de '%s%s' depuis\n"
+"'%s' sur\n"
+"'%s'\n"
+
+#: submodule.c:1512
+#, c-format
+msgid "could not recurse into submodule '%s'"
+msgstr "récursion impossible dans le sous-module '%s'"
+
+#: submodule-config.c:360
 #, c-format
 msgid "invalid value for %s"
 msgstr "Valeur invalide pour %s"
 
-#: trailer.c:238
+#: trailer.c:240
 #, c-format
 msgid "running trailer command '%s' failed"
 msgstr "échec de la commande trailer '%s'"
 
-#: trailer.c:471 trailer.c:475 trailer.c:479 trailer.c:533 trailer.c:537
-#: trailer.c:541
+#: trailer.c:473 trailer.c:477 trailer.c:481 trailer.c:535 trailer.c:539
+#: trailer.c:543
 #, c-format
 msgid "unknown value '%s' for key '%s'"
 msgstr "valeur inconnue '%s' pour la clé '%s'"
 
-#: trailer.c:523 trailer.c:528 builtin/remote.c:289
+#: trailer.c:525 trailer.c:530 builtin/remote.c:289
 #, c-format
 msgid "more than one %s"
 msgstr "plus d'un %s"
 
-#: trailer.c:672
+#: trailer.c:702
 #, c-format
 msgid "empty trailer token in trailer '%.*s'"
 msgstr "symbole vide dans la ligne de fin '%.*s'"
 
-#: trailer.c:695
+#: trailer.c:722
 #, c-format
 msgid "could not read input file '%s'"
 msgstr "impossible de lire le fichier d'entrée '%s'"
 
-#: trailer.c:698
+#: trailer.c:725
 msgid "could not read from stdin"
 msgstr "Impossible de lire depuis l'entrée standard"
 
-#: trailer.c:929 builtin/am.c:44
+#: trailer.c:949 builtin/am.c:44
 #, c-format
 msgid "could not stat %s"
 msgstr "stat impossible de %s"
 
-#: trailer.c:931
+#: trailer.c:951
 #, c-format
 msgid "file %s is not a regular file"
 msgstr "%s n'est pas un fichier régulier"
 
-#: trailer.c:933
+#: trailer.c:953
 #, c-format
 msgid "file %s is not writable by user"
 msgstr "le fichier %s n'est pas inscriptible par l'utilisateur"
 
-#: trailer.c:945
+#: trailer.c:965
 msgid "could not open temporary file"
 msgstr "impossible de créer un fichier temporaire"
 
-#: trailer.c:983
+#: trailer.c:1001
 #, c-format
 msgid "could not rename temporary file to %s"
 msgstr "impossible de renommer un fichier temporaire en %s"
@@ -3259,7 +3568,7 @@
 msgid "transport: invalid depth option '%s'"
 msgstr "transport : option de profondeur invalide '%s'"
 
-#: transport.c:817
+#: transport.c:885
 #, c-format
 msgid ""
 "The following submodule paths contain changes that can\n"
@@ -3268,7 +3577,7 @@
 "Les chemins suivant de sous-module contiennent des modifications\n"
 "qui ne peuvent être trouvées sur aucun distant :\n"
 
-#: transport.c:821
+#: transport.c:889
 #, c-format
 msgid ""
 "\n"
@@ -3295,11 +3604,11 @@
 "pour les pousser vers un serveur distant.\n"
 "\n"
 
-#: transport.c:829
+#: transport.c:897
 msgid "Aborting."
 msgstr "Abandon."
 
-#: transport-helper.c:1075
+#: transport-helper.c:1082
 #, c-format
 msgid "Could not read ref %s"
 msgstr "impossible de lire la réf %s"
@@ -3320,7 +3629,7 @@
 msgid "too-short tree file"
 msgstr "fichier arbre trop court"
 
-#: unpack-trees.c:64
+#: unpack-trees.c:99
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by checkout:\n"
@@ -3331,7 +3640,7 @@
 "%%sVeuillez valider ou remiser vos modifications avant de basculer de "
 "branche."
 
-#: unpack-trees.c:66
+#: unpack-trees.c:101
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by checkout:\n"
@@ -3341,7 +3650,7 @@
 "l'extraction :\n"
 "%%s"
 
-#: unpack-trees.c:69
+#: unpack-trees.c:104
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by merge:\n"
@@ -3351,7 +3660,7 @@
 "fusion :\n"
 "%%sVeuillez valider ou remiser vos modifications avant la fusion."
 
-#: unpack-trees.c:71
+#: unpack-trees.c:106
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by merge:\n"
@@ -3361,7 +3670,7 @@
 "fusion :\n"
 "%%s"
 
-#: unpack-trees.c:74
+#: unpack-trees.c:109
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by %s:\n"
@@ -3370,7 +3679,7 @@
 "Vos modifications locales aux fichiers suivants seraient écrasées par %s :\n"
 "%%sVeuillez valider ou remiser vos modifications avant %s."
 
-#: unpack-trees.c:76
+#: unpack-trees.c:111
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by %s:\n"
@@ -3379,17 +3688,17 @@
 "Vos modifications locales aux fichiers suivants seraient écrasées par %s :\n"
 "%%s"
 
-#: unpack-trees.c:81
+#: unpack-trees.c:116
 #, c-format
 msgid ""
-"Updating the following directories would lose untracked files in it:\n"
+"Updating the following directories would lose untracked files in them:\n"
 "%s"
 msgstr ""
 "La mise à jour des répertoires suivants effacerait les fichiers non suivis "
 "contenus :\n"
 "%s"
 
-#: unpack-trees.c:85
+#: unpack-trees.c:120
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by checkout:\n"
@@ -3399,7 +3708,7 @@
 "l'extraction :\n"
 "%%sVeuillez renommer ou effacer ces fichiers avant de basculer de branche."
 
-#: unpack-trees.c:87
+#: unpack-trees.c:122
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by checkout:\n"
@@ -3408,7 +3717,7 @@
 "Les fichiers suivants non suivis seraient effacés par l'extraction :\n"
 "%%s"
 
-#: unpack-trees.c:90
+#: unpack-trees.c:125
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by merge:\n"
@@ -3418,7 +3727,7 @@
 "la fusion :\n"
 "%%sVeuillez renommer ou effacer ces fichiers avant la fusion."
 
-#: unpack-trees.c:92
+#: unpack-trees.c:127
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by merge:\n"
@@ -3427,7 +3736,7 @@
 "Les fichiers suivants non suivis seraient effacés par la fusion :\n"
 "%%s"
 
-#: unpack-trees.c:95
+#: unpack-trees.c:130
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by %s:\n"
@@ -3437,7 +3746,7 @@
 "%s :\n"
 "%%sVeuillez renommer ou effacer ces fichiers avant %s."
 
-#: unpack-trees.c:97
+#: unpack-trees.c:132
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by %s:\n"
@@ -3446,7 +3755,7 @@
 "Les fichiers suivants non suivis seraient effacés par %s :\n"
 "%%s"
 
-#: unpack-trees.c:102
+#: unpack-trees.c:137
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by "
@@ -3457,7 +3766,7 @@
 "l'extraction :\n"
 "%%sVeuillez renommer ou effacer ces fichiers avant de basculer de branche."
 
-#: unpack-trees.c:104
+#: unpack-trees.c:139
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by "
@@ -3467,7 +3776,7 @@
 "Les fichiers suivants non suivis seraient écrasés par l'extraction :\n"
 "%%s"
 
-#: unpack-trees.c:107
+#: unpack-trees.c:142
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by merge:\n"
@@ -3477,7 +3786,7 @@
 "la fusion :\n"
 "%%sVeuillez renommer ou effacer ces fichiers avant la fusion."
 
-#: unpack-trees.c:109
+#: unpack-trees.c:144
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by merge:\n"
@@ -3486,7 +3795,7 @@
 "Les fichiers suivants non suivis seraient écrasés par la fusion :\n"
 "%%s"
 
-#: unpack-trees.c:112
+#: unpack-trees.c:147
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by %s:\n"
@@ -3496,7 +3805,7 @@
 "%s :\n"
 "%%sVeuillez renommer ou effacer ces fichiers avant %s."
 
-#: unpack-trees.c:114
+#: unpack-trees.c:149
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by %s:\n"
@@ -3505,12 +3814,12 @@
 "Les fichiers suivants non suivis seraient écrasés par %s :\n"
 "%%s"
 
-#: unpack-trees.c:121
+#: unpack-trees.c:156
 #, c-format
 msgid "Entry '%s' overlaps with '%s'.  Cannot bind."
 msgstr "L'entrée '%s' surcharge avec '%s'. Affectation impossible."
 
-#: unpack-trees.c:124
+#: unpack-trees.c:159
 #, c-format
 msgid ""
 "Cannot update sparse checkout: the following entries are not up-to-date:\n"
@@ -3520,7 +3829,7 @@
 "pas à jour :\n"
 "%s"
 
-#: unpack-trees.c:126
+#: unpack-trees.c:161
 #, c-format
 msgid ""
 "The following working tree files would be overwritten by sparse checkout "
@@ -3531,7 +3840,7 @@
 "jour par l'extraction creuse :\n"
 "%s"
 
-#: unpack-trees.c:128
+#: unpack-trees.c:163
 #, c-format
 msgid ""
 "The following working tree files would be removed by sparse checkout "
@@ -3542,12 +3851,12 @@
 "à jour par extraction creuse :\n"
 "%s"
 
-#: unpack-trees.c:205
+#: unpack-trees.c:240
 #, c-format
 msgid "Aborting\n"
 msgstr "Abandon\n"
 
-#: unpack-trees.c:237
+#: unpack-trees.c:270
 msgid "Checking out files"
 msgstr "Extraction des fichiers"
 
@@ -3596,7 +3905,7 @@
 msgstr "impossible d'ouvrir '%s' en écriture"
 
 #: wrapper.c:226 wrapper.c:396 builtin/am.c:320 builtin/am.c:759
-#: builtin/am.c:847 builtin/commit.c:1705 builtin/merge.c:1029
+#: builtin/am.c:847 builtin/commit.c:1700 builtin/merge.c:1033
 #: builtin/pull.c:341
 #, c-format
 msgid "could not open '%s' for reading"
@@ -3813,63 +4122,67 @@
 msgid "  (use \"git am --abort\" to restore the original branch)"
 msgstr "  (utilisez \"git am --abort\" pour restaurer la branche d'origine)"
 
-#: wt-status.c:1172
+#: wt-status.c:1176
+msgid "git-rebase-todo is missing."
+msgstr "git-rebase-todo est manquant."
+
+#: wt-status.c:1178
 msgid "No commands done."
 msgstr "Aucune commande réalisée."
 
-#: wt-status.c:1175
+#: wt-status.c:1181
 #, c-format
 msgid "Last command done (%d command done):"
 msgid_plural "Last commands done (%d commands done):"
 msgstr[0] "Dernière commande effectuée (%d commande effectuée) :"
 msgstr[1] "Dernières commandes effectuées (%d commandes effectuées) :"
 
-#: wt-status.c:1186
+#: wt-status.c:1192
 #, c-format
 msgid "  (see more in file %s)"
 msgstr "  (voir plus dans le fichier %s)"
 
-#: wt-status.c:1191
+#: wt-status.c:1197
 msgid "No commands remaining."
 msgstr "Aucune commande restante."
 
-#: wt-status.c:1194
+#: wt-status.c:1200
 #, c-format
 msgid "Next command to do (%d remaining command):"
 msgid_plural "Next commands to do (%d remaining commands):"
 msgstr[0] "Prochaine commande à effectuer (%d commande restante) :"
 msgstr[1] "Prochaines commandes à effectuer (%d commandes restantes) :"
 
-#: wt-status.c:1202
+#: wt-status.c:1208
 msgid "  (use \"git rebase --edit-todo\" to view and edit)"
 msgstr "  (utilisez \"git rebase --edit-todo\" pour voir et éditer)"
 
-#: wt-status.c:1215
+#: wt-status.c:1221
 #, c-format
 msgid "You are currently rebasing branch '%s' on '%s'."
 msgstr "Vous êtes en train de rebaser la branche '%s' sur '%s'."
 
-#: wt-status.c:1220
+#: wt-status.c:1226
 msgid "You are currently rebasing."
 msgstr "Vous êtes en train de rebaser."
 
-#: wt-status.c:1234
+#: wt-status.c:1240
 msgid "  (fix conflicts and then run \"git rebase --continue\")"
 msgstr "  (réglez les conflits puis lancez \"git rebase --continue\")"
 
-#: wt-status.c:1236
+#: wt-status.c:1242
 msgid "  (use \"git rebase --skip\" to skip this patch)"
 msgstr "  (utilisez \"git rebase --skip\" pour sauter ce patch)"
 
-#: wt-status.c:1238
+#: wt-status.c:1244
 msgid "  (use \"git rebase --abort\" to check out the original branch)"
 msgstr "  (utilisez \"git rebase --abort\" pour extraire la branche d'origine)"
 
-#: wt-status.c:1244
+#: wt-status.c:1250
 msgid "  (all conflicts fixed: run \"git rebase --continue\")"
 msgstr "  (tous les conflits sont réglés : lancez \"git rebase --continue\")"
 
-#: wt-status.c:1248
+#: wt-status.c:1254
 #, c-format
 msgid ""
 "You are currently splitting a commit while rebasing branch '%s' on '%s'."
@@ -3877,124 +4190,124 @@
 "Vous êtes actuellement en train de fractionner un commit pendant un rebasage "
 "de la branche '%s' sur '%s'."
 
-#: wt-status.c:1253
+#: wt-status.c:1259
 msgid "You are currently splitting a commit during a rebase."
 msgstr ""
 "Vous êtes actuellement en train de fractionner un commit pendant un rebasage."
 
-#: wt-status.c:1256
+#: wt-status.c:1262
 msgid "  (Once your working directory is clean, run \"git rebase --continue\")"
 msgstr ""
 "  (Une fois la copie de travail nettoyée, lancez \"git rebase --continue\")"
 
-#: wt-status.c:1260
+#: wt-status.c:1266
 #, c-format
 msgid "You are currently editing a commit while rebasing branch '%s' on '%s'."
 msgstr ""
 "Vous êtes actuellement en train d'éditer un commit pendant un rebasage de la "
 "branche '%s' sur '%s'."
 
-#: wt-status.c:1265
+#: wt-status.c:1271
 msgid "You are currently editing a commit during a rebase."
 msgstr ""
 "Vous êtes actuellement en train d'éditer un commit pendant un rebasage."
 
-#: wt-status.c:1268
+#: wt-status.c:1274
 msgid "  (use \"git commit --amend\" to amend the current commit)"
 msgstr "  (utilisez \"git commit --amend\" pour corriger le commit actuel)"
 
-#: wt-status.c:1270
+#: wt-status.c:1276
 msgid ""
 "  (use \"git rebase --continue\" once you are satisfied with your changes)"
 msgstr ""
-"  (utilisez \"git rebase --continue\" quand vous êtes satisfait de vos "
+"  (utilisez \"git rebase --continue\" quand vous avez effectué toutes vos "
 "modifications)"
 
-#: wt-status.c:1280
+#: wt-status.c:1286
 #, c-format
 msgid "You are currently cherry-picking commit %s."
 msgstr "Vous êtes actuellement en train de picorer le commit %s."
 
-#: wt-status.c:1285
+#: wt-status.c:1291
 msgid "  (fix conflicts and run \"git cherry-pick --continue\")"
 msgstr "  (réglez les conflits puis lancez \"git cherry-pick --continue\")"
 
-#: wt-status.c:1288
+#: wt-status.c:1294
 msgid "  (all conflicts fixed: run \"git cherry-pick --continue\")"
 msgstr ""
 "  (tous les conflits sont réglés : lancez \"git cherry-pick --continue\")"
 
-#: wt-status.c:1290
+#: wt-status.c:1296
 msgid "  (use \"git cherry-pick --abort\" to cancel the cherry-pick operation)"
 msgstr "  (utilisez \"git cherry-pick --abort\" pour annuler le picorage)"
 
-#: wt-status.c:1299
+#: wt-status.c:1305
 #, c-format
 msgid "You are currently reverting commit %s."
 msgstr "Vous êtes actuellement en train de rétablir le commit %s."
 
-#: wt-status.c:1304
+#: wt-status.c:1310
 msgid "  (fix conflicts and run \"git revert --continue\")"
 msgstr "  (réglez les conflits puis lancez \"git revert --continue\")"
 
-#: wt-status.c:1307
+#: wt-status.c:1313
 msgid "  (all conflicts fixed: run \"git revert --continue\")"
 msgstr "  (tous les conflits sont réglés : lancez \"git revert --continue\")"
 
-#: wt-status.c:1309
+#: wt-status.c:1315
 msgid "  (use \"git revert --abort\" to cancel the revert operation)"
 msgstr "  (utilisez \"git revert --abort\" pour annuler le rétablissement)"
 
-#: wt-status.c:1320
+#: wt-status.c:1326
 #, c-format
 msgid "You are currently bisecting, started from branch '%s'."
 msgstr "Vous êtes en cours de bissection, depuis la branche '%s'."
 
-#: wt-status.c:1324
+#: wt-status.c:1330
 msgid "You are currently bisecting."
 msgstr "Vous êtes en cours de bissection."
 
-#: wt-status.c:1327
+#: wt-status.c:1333
 msgid "  (use \"git bisect reset\" to get back to the original branch)"
 msgstr "  (utilisez \"git bisect reset\" pour revenir à la branche d'origine)"
 
-#: wt-status.c:1524
+#: wt-status.c:1530
 msgid "On branch "
 msgstr "Sur la branche "
 
-#: wt-status.c:1530
+#: wt-status.c:1536
 msgid "interactive rebase in progress; onto "
 msgstr "rebasage interactif en cours ; sur "
 
-#: wt-status.c:1532
+#: wt-status.c:1538
 msgid "rebase in progress; onto "
 msgstr "rebasage en cours ; sur "
 
-#: wt-status.c:1537
+#: wt-status.c:1543
 msgid "HEAD detached at "
 msgstr "HEAD détachée sur "
 
-#: wt-status.c:1539
+#: wt-status.c:1545
 msgid "HEAD detached from "
 msgstr "HEAD détachée depuis "
 
-#: wt-status.c:1542
+#: wt-status.c:1548
 msgid "Not currently on any branch."
 msgstr "Actuellement sur aucun branche."
 
-#: wt-status.c:1560
+#: wt-status.c:1566
 msgid "Initial commit"
 msgstr "Validation initiale"
 
-#: wt-status.c:1574
+#: wt-status.c:1580
 msgid "Untracked files"
 msgstr "Fichiers non suivis"
 
-#: wt-status.c:1576
+#: wt-status.c:1582
 msgid "Ignored files"
 msgstr "Fichiers ignorés"
 
-#: wt-status.c:1580
+#: wt-status.c:1586
 #, c-format
 msgid ""
 "It took %.2f seconds to enumerate untracked files. 'status -uno'\n"
@@ -4006,32 +4319,32 @@
 "oublier d'ajouter les nouveaux fichiers par vous-même (voir 'git help "
 "status')."
 
-#: wt-status.c:1586
+#: wt-status.c:1592
 #, c-format
 msgid "Untracked files not listed%s"
 msgstr "Fichiers non suivis non affichés%s"
 
-#: wt-status.c:1588
+#: wt-status.c:1594
 msgid " (use -u option to show untracked files)"
 msgstr " (utilisez -u pour afficher les fichiers non suivis)"
 
-#: wt-status.c:1594
+#: wt-status.c:1600
 msgid "No changes"
 msgstr "Aucune modification"
 
-#: wt-status.c:1599
+#: wt-status.c:1605
 #, c-format
 msgid "no changes added to commit (use \"git add\" and/or \"git commit -a\")\n"
 msgstr ""
 "aucune modification n'a été ajoutée à la validation (utilisez \"git add\" ou "
 "\"git commit -a\")\n"
 
-#: wt-status.c:1602
+#: wt-status.c:1608
 #, c-format
 msgid "no changes added to commit\n"
 msgstr "aucune modification ajoutée à la validation\n"
 
-#: wt-status.c:1605
+#: wt-status.c:1611
 #, c-format
 msgid ""
 "nothing added to commit but untracked files present (use \"git add\" to "
@@ -4040,67 +4353,67 @@
 "aucune modification ajoutée à la validation mais des fichiers non suivis "
 "sont présents (utilisez \"git add\" pour les suivre)\n"
 
-#: wt-status.c:1608
+#: wt-status.c:1614
 #, c-format
 msgid "nothing added to commit but untracked files present\n"
 msgstr ""
 "aucune modification ajoutée à la validation mais des fichiers non suivis "
 "sont présents\n"
 
-#: wt-status.c:1611
+#: wt-status.c:1617
 #, c-format
 msgid "nothing to commit (create/copy files and use \"git add\" to track)\n"
 msgstr ""
 "rien à valider (créez/copiez des fichiers et utilisez \"git add\" pour les "
 "suivre)\n"
 
-#: wt-status.c:1614 wt-status.c:1619
+#: wt-status.c:1620 wt-status.c:1625
 #, c-format
 msgid "nothing to commit\n"
 msgstr "rien à valider\n"
 
-#: wt-status.c:1617
+#: wt-status.c:1623
 #, c-format
 msgid "nothing to commit (use -u to show untracked files)\n"
 msgstr "rien à valider (utilisez -u pour afficher les fichiers non suivis)\n"
 
-#: wt-status.c:1621
+#: wt-status.c:1627
 #, c-format
 msgid "nothing to commit, working tree clean\n"
 msgstr "rien à valider, la copie de travail est propre\n"
 
-#: wt-status.c:1728
+#: wt-status.c:1734
 msgid "Initial commit on "
 msgstr "Validation initiale sur "
 
-#: wt-status.c:1732
+#: wt-status.c:1738
 msgid "HEAD (no branch)"
 msgstr "HEAD (aucune branche)"
 
 # à priori on parle d'une branche ici
-#: wt-status.c:1761
+#: wt-status.c:1767
 msgid "gone"
 msgstr "disparue"
 
-#: wt-status.c:1763 wt-status.c:1771
+#: wt-status.c:1769 wt-status.c:1777
 msgid "behind "
 msgstr "derrière "
 
-#: wt-status.c:1766 wt-status.c:1769
+#: wt-status.c:1772 wt-status.c:1775
 msgid "ahead "
 msgstr "devant "
 
 #. TRANSLATORS: the action is e.g. "pull with rebase"
-#: wt-status.c:2270
+#: wt-status.c:2277
 #, c-format
 msgid "cannot %s: You have unstaged changes."
 msgstr "Impossible de %s : vous avez des modifications non indexées."
 
-#: wt-status.c:2276
+#: wt-status.c:2283
 msgid "additionally, your index contains uncommitted changes."
 msgstr "de plus, votre index contient des modifications non validées."
 
-#: wt-status.c:2278
+#: wt-status.c:2285
 #, c-format
 msgid "cannot %s: Your index contains uncommitted changes."
 msgstr "%s impossible : votre index contient des modifications non validées."
@@ -4132,7 +4445,7 @@
 msgid "Unstaged changes after refreshing the index:"
 msgstr "Modifications non indexées après rafraîchissement de l'index :"
 
-#: builtin/add.c:209 builtin/rev-parse.c:840
+#: builtin/add.c:209 builtin/rev-parse.c:845
 msgid "Could not read the index"
 msgstr "Impossible de lire l'index"
 
@@ -4168,9 +4481,9 @@
 msgstr ""
 "Les chemins suivants sont ignorés par un de vos fichiers .gitignore :\n"
 
-#: builtin/add.c:266 builtin/clean.c:870 builtin/fetch.c:115 builtin/mv.c:111
-#: builtin/prune-packed.c:55 builtin/pull.c:198 builtin/push.c:521
-#: builtin/remote.c:1326 builtin/rm.c:268 builtin/send-pack.c:162
+#: builtin/add.c:266 builtin/clean.c:870 builtin/fetch.c:115 builtin/mv.c:123
+#: builtin/prune-packed.c:55 builtin/pull.c:198 builtin/push.c:524
+#: builtin/remote.c:1326 builtin/rm.c:241 builtin/send-pack.c:162
 msgid "dry run"
 msgstr "simuler l'action"
 
@@ -4178,7 +4491,7 @@
 msgid "interactive picking"
 msgstr "sélection interactive"
 
-#: builtin/add.c:270 builtin/checkout.c:1156 builtin/reset.c:286
+#: builtin/add.c:270 builtin/checkout.c:1159 builtin/reset.c:286
 msgid "select hunks interactively"
 msgstr "sélection interactive des sections"
 
@@ -4264,7 +4577,7 @@
 
 #: builtin/add.c:380 builtin/check-ignore.c:172 builtin/checkout.c:279
 #: builtin/checkout.c:472 builtin/clean.c:914 builtin/commit.c:350
-#: builtin/mv.c:131 builtin/reset.c:235 builtin/rm.c:298
+#: builtin/mv.c:143 builtin/reset.c:235 builtin/rm.c:271
 #: builtin/submodule--helper.c:244
 msgid "index file corrupt"
 msgstr "fichier d'index corrompu"
@@ -4388,7 +4701,7 @@
 msgid "Failed to merge in the changes."
 msgstr "Échec d'intégration des modifications."
 
-#: builtin/am.c:1686 builtin/merge.c:628
+#: builtin/am.c:1686 builtin/merge.c:632
 msgid "git write-tree failed to write a tree"
 msgstr "git write-tree a échoué à écrire un arbre"
 
@@ -4396,8 +4709,8 @@
 msgid "applying to an empty history"
 msgstr "application à un historique vide"
 
-#: builtin/am.c:1706 builtin/commit.c:1769 builtin/merge.c:798
-#: builtin/merge.c:823
+#: builtin/am.c:1706 builtin/commit.c:1764 builtin/merge.c:802
+#: builtin/merge.c:827
 msgid "failed to write commit object"
 msgstr "échec de l'écriture de l'objet commit"
 
@@ -4510,7 +4823,7 @@
 msgstr "permettre de revenir à une fusion à 3 points si nécessaire"
 
 #: builtin/am.c:2245 builtin/init-db.c:483 builtin/prune-packed.c:57
-#: builtin/repack.c:172
+#: builtin/repack.c:178
 msgid "be quiet"
 msgstr "être silencieux"
 
@@ -4554,15 +4867,15 @@
 msgstr "le passer jusqu'à git-apply"
 
 #: builtin/am.c:2283 builtin/fmt-merge-msg.c:662 builtin/fmt-merge-msg.c:665
-#: builtin/grep.c:707 builtin/merge.c:200 builtin/pull.c:135
-#: builtin/pull.c:194 builtin/repack.c:181 builtin/repack.c:185
-#: builtin/show-branch.c:644 builtin/show-ref.c:175 builtin/tag.c:340
+#: builtin/grep.c:1038 builtin/merge.c:202 builtin/pull.c:135
+#: builtin/pull.c:194 builtin/repack.c:187 builtin/repack.c:191
+#: builtin/show-branch.c:644 builtin/show-ref.c:169 builtin/tag.c:355
 #: parse-options.h:132 parse-options.h:134 parse-options.h:245
 msgid "n"
 msgstr "n"
 
 #: builtin/am.c:2289 builtin/for-each-ref.c:37 builtin/replace.c:438
-#: builtin/tag.c:372
+#: builtin/tag.c:387 builtin/verify-tag.c:38
 msgid "format"
 msgstr "format"
 
@@ -4599,8 +4912,8 @@
 msgid "use current timestamp for author date"
 msgstr "utiliser l'horodatage actuel pour la date d'auteur"
 
-#: builtin/am.c:2315 builtin/commit.c:1605 builtin/merge.c:229
-#: builtin/pull.c:165 builtin/revert.c:92 builtin/tag.c:355
+#: builtin/am.c:2315 builtin/commit.c:1600 builtin/merge.c:233
+#: builtin/pull.c:165 builtin/revert.c:92 builtin/tag.c:370
 msgid "key-id"
 msgstr "id-clé"
 
@@ -4704,125 +5017,117 @@
 msgid "<rev-opts> are documented in git-rev-list(1)"
 msgstr "<options-de-révision> sont documentés dans git-rev-list(1)"
 
-#: builtin/blame.c:1781
+#: builtin/blame.c:1786
 msgid "Blaming lines"
 msgstr "Assignation de blâme au lignes"
 
-#: builtin/blame.c:2577
+#: builtin/blame.c:2582
 msgid "Show blame entries as we find them, incrementally"
 msgstr ""
 "Montrer les éléments de blâme au fur et à mesure de leur découverte, de "
 "manière incrémentale"
 
-#: builtin/blame.c:2578
+#: builtin/blame.c:2583
 msgid "Show blank SHA-1 for boundary commits (Default: off)"
 msgstr "Montrer un SHA-1 blanc pour les commits de limite (Défaut : désactivé)"
 
-#: builtin/blame.c:2579
+#: builtin/blame.c:2584
 msgid "Do not treat root commits as boundaries (Default: off)"
 msgstr ""
 "Ne pas traiter les commits racine comme des limites (Défaut : désactivé)"
 
-#: builtin/blame.c:2580
+#: builtin/blame.c:2585
 msgid "Show work cost statistics"
 msgstr "Montrer les statistiques de coût d'activité"
 
-#: builtin/blame.c:2581
+#: builtin/blame.c:2586
 msgid "Force progress reporting"
 msgstr "Forcer l'affichage de l'état d'avancement"
 
-#: builtin/blame.c:2582
+#: builtin/blame.c:2587
 msgid "Show output score for blame entries"
 msgstr "Montrer le score de sortie pour les éléments de blâme"
 
-#: builtin/blame.c:2583
+#: builtin/blame.c:2588
 msgid "Show original filename (Default: auto)"
 msgstr "Montrer les noms de fichier originaux (Défaut : auto)"
 
-#: builtin/blame.c:2584
+#: builtin/blame.c:2589
 msgid "Show original linenumber (Default: off)"
 msgstr "Montrer les numéros de lignes originaux (Défaut : désactivé)"
 
-#: builtin/blame.c:2585
+#: builtin/blame.c:2590
 msgid "Show in a format designed for machine consumption"
 msgstr "Afficher dans un format propice à la consommation par machine"
 
-#: builtin/blame.c:2586
+#: builtin/blame.c:2591
 msgid "Show porcelain format with per-line commit information"
 msgstr "Afficher en format porcelaine avec l'information de commit par ligne"
 
-#: builtin/blame.c:2587
+#: builtin/blame.c:2592
 msgid "Use the same output mode as git-annotate (Default: off)"
 msgstr "Utiliser le même mode de sortie que git-annotate (Défaut : désactivé)"
 
-#: builtin/blame.c:2588
+#: builtin/blame.c:2593
 msgid "Show raw timestamp (Default: off)"
 msgstr "Afficher les horodatages bruts (Défaut : désactivé)"
 
-#: builtin/blame.c:2589
+#: builtin/blame.c:2594
 msgid "Show long commit SHA1 (Default: off)"
 msgstr "Afficher les longs SHA1 de commits (Défaut : désactivé)"
 
-#: builtin/blame.c:2590
+#: builtin/blame.c:2595
 msgid "Suppress author name and timestamp (Default: off)"
 msgstr "Supprimer le nom de l'auteur et l'horodatage (Défaut : désactivé)"
 
-#: builtin/blame.c:2591
+#: builtin/blame.c:2596
 msgid "Show author email instead of name (Default: off)"
 msgstr "Afficher l'e-mail de l'auteur au lieu du nom (Défaut : désactivé)"
 
-#: builtin/blame.c:2592
+#: builtin/blame.c:2597
 msgid "Ignore whitespace differences"
 msgstr "Ignorer les différences d'espace"
 
-#: builtin/blame.c:2599
-msgid "Use an experimental indent-based heuristic to improve diffs"
-msgstr ""
-"Utiliser une heuristique expérimentale reposant sur l'indentation pour "
-"améliorer les diffs"
+#: builtin/blame.c:2604
+msgid "Use an experimental heuristic to improve diffs"
+msgstr "Utiliser une heuristique expérimentale pour améliorer les diffs"
 
-#: builtin/blame.c:2600
-msgid "Use an experimental blank-line-based heuristic to improve diffs"
-msgstr ""
-"Utiliser une heuristique expérimentale reposant sur les lignes vides pour "
-"améliorer le diffs"
-
-#: builtin/blame.c:2602
+#: builtin/blame.c:2606
 msgid "Spend extra cycles to find better match"
 msgstr ""
 "Dépenser des cycles supplémentaires pour trouver une meilleure correspondance"
 
-#: builtin/blame.c:2603
+#: builtin/blame.c:2607
 msgid "Use revisions from <file> instead of calling git-rev-list"
 msgstr ""
 "Utiliser les révisions du fichier <fichier> au lieu d'appeler git-rev-list"
 
-#: builtin/blame.c:2604
+#: builtin/blame.c:2608
 msgid "Use <file>'s contents as the final image"
 msgstr "Utiliser le contenu de <fichier> comme image finale"
 
-#: builtin/blame.c:2605 builtin/blame.c:2606
+#: builtin/blame.c:2609 builtin/blame.c:2610
 msgid "score"
 msgstr "score"
 
-#: builtin/blame.c:2605
+#: builtin/blame.c:2609
 msgid "Find line copies within and across files"
 msgstr "Trouver les copies de ligne dans et entre les fichiers"
 
-#: builtin/blame.c:2606
+#: builtin/blame.c:2610
 msgid "Find line movements within and across files"
 msgstr "Trouver les mouvements de ligne dans et entre les fichiers"
 
-#: builtin/blame.c:2607
+#: builtin/blame.c:2611
 msgid "n,m"
 msgstr "n,m"
 
-#: builtin/blame.c:2607
+#: builtin/blame.c:2611
 msgid "Process only line range n,m, counting from 1"
 msgstr ""
 "Traiter seulement l'intervalle de ligne n,m en commençant le compte à 1"
 
-#: builtin/blame.c:2654
+#: builtin/blame.c:2658
 msgid "--progress can't be used with --incremental or porcelain formats"
 msgstr ""
 "--progress ne peut pas être utilisé avec --incremental ou les formats "
@@ -4834,42 +5139,42 @@
 #. takes 22 places, is the longest among various forms of
 #. relative timestamps, but your language may need more or
 #. fewer display columns.
-#: builtin/blame.c:2700
+#: builtin/blame.c:2706
 msgid "4 years, 11 months ago"
 msgstr "il y a 10 ans et 11 mois"
 
-#: builtin/blame.c:2780
+#: builtin/blame.c:2786
 msgid "--contents and --reverse do not blend well."
 msgstr "--contents et --reverse ne font pas bon ménage."
 
-#: builtin/blame.c:2800
+#: builtin/blame.c:2806
 msgid "cannot use --contents with final commit object name"
 msgstr "on ne peut pas utiliser --contents avec un nom d'objet commit final"
 
-#: builtin/blame.c:2805
+#: builtin/blame.c:2811
 msgid "--reverse and --first-parent together require specified latest commit"
 msgstr ""
 "--reverse et --first-parent ensemble nécessitent la spécification d'un "
 "dernier commit"
 
-#: builtin/blame.c:2832
+#: builtin/blame.c:2838
 msgid ""
 "--reverse --first-parent together require range along first-parent chain"
 msgstr ""
 "--reverse --first-parent ensemble nécessitent une portée avec la chaîne de "
 "premier parent"
 
-#: builtin/blame.c:2843
+#: builtin/blame.c:2849
 #, c-format
 msgid "no such path %s in %s"
 msgstr "pas de chemin %s dans %s"
 
-#: builtin/blame.c:2854
+#: builtin/blame.c:2860
 #, c-format
 msgid "cannot read blob %s for path %s"
 msgstr "impossible de lire le blob %s  pour le chemin %s"
 
-#: builtin/blame.c:2873
+#: builtin/blame.c:2879
 #, c-format
 msgid "file %s has only %lu line"
 msgid_plural "file %s has only %lu lines"
@@ -4927,7 +5232,7 @@
 "If you are sure you want to delete it, run 'git branch -D %s'."
 msgstr ""
 "La branche '%s' n'est pas totalement fusionnée.\n"
-"Si vous êtes sur que vous voulez la supprimer, lancez 'git branch -D %s'."
+"Si vous souhaitez réellement la supprimer, lancez 'git branch -D %s'."
 
 #: builtin/branch.c:178
 msgid "Update of config-file failed"
@@ -5049,46 +5354,46 @@
 msgid "(no branch)"
 msgstr "(aucune branche)"
 
-#: builtin/branch.c:544
+#: builtin/branch.c:535
 #, c-format
 msgid "Branch %s is being rebased at %s"
 msgstr "La branche %s est en cours de rebasage sur %s"
 
-#: builtin/branch.c:548
+#: builtin/branch.c:539
 #, c-format
 msgid "Branch %s is being bisected at %s"
 msgstr "La branche %s est en cours de bissection sur %s"
 
-#: builtin/branch.c:563
+#: builtin/branch.c:554
 msgid "cannot rename the current branch while not on any."
 msgstr "impossible de renommer la branche actuelle, il n'y en a pas."
 
-#: builtin/branch.c:573
+#: builtin/branch.c:564
 #, c-format
 msgid "Invalid branch name: '%s'"
 msgstr "Nom de branche invalide : '%s'"
 
-#: builtin/branch.c:590
+#: builtin/branch.c:581
 msgid "Branch rename failed"
 msgstr "Échec de renommage de la branche"
 
-#: builtin/branch.c:594
+#: builtin/branch.c:585
 #, c-format
 msgid "Renamed a misnamed branch '%s' away"
 msgstr "Renommage d'un branche mal nommée '%s'"
 
-#: builtin/branch.c:597
+#: builtin/branch.c:588
 #, c-format
 msgid "Branch renamed to %s, but HEAD is not updated!"
 msgstr "La branche a été renommée en %s, mais HEAD n'est pas mise à jour !"
 
-#: builtin/branch.c:604
+#: builtin/branch.c:595
 msgid "Branch is renamed, but update of config-file failed"
 msgstr ""
 "La branche est renommée, mais la mise à jour du fichier de configuration a "
 "échoué"
 
-#: builtin/branch.c:620
+#: builtin/branch.c:611
 #, c-format
 msgid ""
 "Please edit the description for the branch\n"
@@ -5099,163 +5404,167 @@
 "  %s\n"
 "Les lignes commençant par '%c' seront ignorées.\n"
 
-#: builtin/branch.c:651
+#: builtin/branch.c:643
 msgid "Generic options"
 msgstr "Options génériques"
 
-#: builtin/branch.c:653
+#: builtin/branch.c:645
 msgid "show hash and subject, give twice for upstream branch"
 msgstr "afficher le hachage et le sujet, doublé pour la branche amont"
 
-#: builtin/branch.c:654
+#: builtin/branch.c:646
 msgid "suppress informational messages"
 msgstr "supprimer les messages d'information"
 
-#: builtin/branch.c:655
+#: builtin/branch.c:647
 msgid "set up tracking mode (see git-pull(1))"
 msgstr "régler le mode de suivi (voir git-pull(1))"
 
-#: builtin/branch.c:657
+#: builtin/branch.c:649
 msgid "change upstream info"
 msgstr "modifier l'information amont"
 
-#: builtin/branch.c:659
+#: builtin/branch.c:651
 msgid "upstream"
 msgstr "amont"
 
-#: builtin/branch.c:659
+#: builtin/branch.c:651
 msgid "change the upstream info"
 msgstr "modifier l'information amont"
 
-#: builtin/branch.c:660
+#: builtin/branch.c:652
 msgid "Unset the upstream info"
 msgstr "Désactiver l'information amont"
 
-#: builtin/branch.c:661
+#: builtin/branch.c:653
 msgid "use colored output"
 msgstr "utiliser la coloration dans la sortie"
 
-#: builtin/branch.c:662
+#: builtin/branch.c:654
 msgid "act on remote-tracking branches"
 msgstr "agir sur les branches de suivi distantes"
 
-#: builtin/branch.c:664 builtin/branch.c:665
+#: builtin/branch.c:656 builtin/branch.c:657
 msgid "print only branches that contain the commit"
 msgstr "afficher seulement les branches qui contiennent le commit"
 
-#: builtin/branch.c:668
+#: builtin/branch.c:660
 msgid "Specific git-branch actions:"
 msgstr "Actions spécifiques à git-branch :"
 
-#: builtin/branch.c:669
+#: builtin/branch.c:661
 msgid "list both remote-tracking and local branches"
 msgstr "afficher à la fois les branches de suivi et les branches locales"
 
-#: builtin/branch.c:671
+#: builtin/branch.c:663
 msgid "delete fully merged branch"
 msgstr "supprimer une branche totalement fusionnée"
 
-#: builtin/branch.c:672
+#: builtin/branch.c:664
 msgid "delete branch (even if not merged)"
 msgstr "supprimer une branche (même non fusionnée)"
 
-#: builtin/branch.c:673
+#: builtin/branch.c:665
 msgid "move/rename a branch and its reflog"
 msgstr "déplacer/renommer une branche et son reflog"
 
-#: builtin/branch.c:674
+#: builtin/branch.c:666
 msgid "move/rename a branch, even if target exists"
 msgstr "déplacer/renommer une branche, même si la cible existe"
 
-#: builtin/branch.c:675
+#: builtin/branch.c:667
 msgid "list branch names"
 msgstr "afficher les noms des branches"
 
-#: builtin/branch.c:676
+#: builtin/branch.c:668
 msgid "create the branch's reflog"
 msgstr "créer le reflog de la branche"
 
-#: builtin/branch.c:678
+#: builtin/branch.c:670
 msgid "edit the description for the branch"
 msgstr "éditer la description de la branche"
 
-#: builtin/branch.c:679
+#: builtin/branch.c:671
 msgid "force creation, move/rename, deletion"
 msgstr "forcer la création, le déplacement/renommage, ou la suppression"
 
-#: builtin/branch.c:680
+#: builtin/branch.c:672
 msgid "print only branches that are merged"
 msgstr "afficher seulement les branches qui sont fusionnées"
 
-#: builtin/branch.c:681
+#: builtin/branch.c:673
 msgid "print only branches that are not merged"
 msgstr "afficher seulement les branches qui ne sont pas fusionnées"
 
-#: builtin/branch.c:682
+#: builtin/branch.c:674
 msgid "list branches in columns"
 msgstr "afficher les branches en colonnes"
 
-#: builtin/branch.c:683 builtin/for-each-ref.c:38 builtin/tag.c:366
+#: builtin/branch.c:675 builtin/for-each-ref.c:38 builtin/tag.c:381
 msgid "key"
 msgstr "clé"
 
-#: builtin/branch.c:684 builtin/for-each-ref.c:39 builtin/tag.c:367
+#: builtin/branch.c:676 builtin/for-each-ref.c:39 builtin/tag.c:382
 msgid "field name to sort on"
 msgstr "nom du champ servant à trier"
 
-#: builtin/branch.c:686 builtin/for-each-ref.c:41 builtin/notes.c:404
+#: builtin/branch.c:678 builtin/for-each-ref.c:41 builtin/notes.c:404
 #: builtin/notes.c:407 builtin/notes.c:567 builtin/notes.c:570
-#: builtin/tag.c:369
+#: builtin/tag.c:384
 msgid "object"
 msgstr "objet"
 
-#: builtin/branch.c:687
+#: builtin/branch.c:679
 msgid "print only branches of the object"
 msgstr "afficher seulement les branches de l'objet"
 
-#: builtin/branch.c:705
+#: builtin/branch.c:681 builtin/for-each-ref.c:46 builtin/tag.c:388
+msgid "sorting and filtering are case insensitive"
+msgstr "le tri et le filtrage sont non-sensibles à la casse"
+
+#: builtin/branch.c:698
 msgid "Failed to resolve HEAD as a valid ref."
 msgstr "Échec de résolution de HEAD comme référence valide."
 
-#: builtin/branch.c:709 builtin/clone.c:706
+#: builtin/branch.c:702 builtin/clone.c:706
 msgid "HEAD not found below refs/heads!"
 msgstr "HEAD non trouvée sous refs/heads !"
 
-#: builtin/branch.c:729
+#: builtin/branch.c:724
 msgid "--column and --verbose are incompatible"
 msgstr "--column et --verbose sont incompatibles"
 
-#: builtin/branch.c:740 builtin/branch.c:782
+#: builtin/branch.c:735 builtin/branch.c:787
 msgid "branch name required"
 msgstr "le nom de branche est requis"
 
-#: builtin/branch.c:758
+#: builtin/branch.c:763
 msgid "Cannot give description to detached HEAD"
 msgstr "Impossible de décrire une HEAD détachée"
 
-#: builtin/branch.c:763
+#: builtin/branch.c:768
 msgid "cannot edit description of more than one branch"
 msgstr "impossible d'éditer la description de plus d'une branche"
 
-#: builtin/branch.c:770
+#: builtin/branch.c:775
 #, c-format
 msgid "No commit on branch '%s' yet."
 msgstr "Aucun commit sur la branche '%s'."
 
-#: builtin/branch.c:773
+#: builtin/branch.c:778
 #, c-format
 msgid "No branch named '%s'."
 msgstr "Aucune branche nommée '%s'."
 
-#: builtin/branch.c:788
+#: builtin/branch.c:793
 msgid "too many branches for a rename operation"
 msgstr "trop de branches pour une opération de renommage"
 
-#: builtin/branch.c:793
+#: builtin/branch.c:798
 msgid "too many branches to set new upstream"
 msgstr "trop de branches pour spécifier une branche amont"
 
-#: builtin/branch.c:797
+#: builtin/branch.c:802
 #, c-format
 msgid ""
 "could not set upstream of HEAD to %s when it does not point to any branch."
@@ -5263,41 +5572,41 @@
 "impossible de spécifier une branche amont de HEAD par %s qui ne pointe sur "
 "aucune branche."
 
-#: builtin/branch.c:800 builtin/branch.c:822 builtin/branch.c:843
+#: builtin/branch.c:805 builtin/branch.c:827 builtin/branch.c:848
 #, c-format
 msgid "no such branch '%s'"
 msgstr "pas de branche '%s'"
 
-#: builtin/branch.c:804
+#: builtin/branch.c:809
 #, c-format
 msgid "branch '%s' does not exist"
 msgstr "la branche '%s' n'existe pas"
 
-#: builtin/branch.c:816
+#: builtin/branch.c:821
 msgid "too many branches to unset upstream"
 msgstr "trop de branches pour désactiver un amont"
 
-#: builtin/branch.c:820
+#: builtin/branch.c:825
 msgid "could not unset upstream of HEAD when it does not point to any branch."
 msgstr ""
 "impossible de désactiver une branche amont de HEAD quand elle ne pointe sur "
 "aucune branche."
 
-#: builtin/branch.c:826
+#: builtin/branch.c:831
 #, c-format
 msgid "Branch '%s' has no upstream information"
 msgstr "La branche '%s' n'a aucune information de branche amont"
 
-#: builtin/branch.c:840
+#: builtin/branch.c:845
 msgid "it does not make sense to create 'HEAD' manually"
 msgstr "créer manuellement 'HEAD' n'a pas de sens"
 
-#: builtin/branch.c:846
+#: builtin/branch.c:851
 msgid "-a and -r options to 'git branch' do not make sense with a branch name"
 msgstr ""
 "les options -a et -r de 'git branch' n'ont pas de sens avec un nom de branche"
 
-#: builtin/branch.c:849
+#: builtin/branch.c:854
 #, c-format
 msgid ""
 "The --set-upstream flag is deprecated and will be removed. Consider using --"
@@ -5306,7 +5615,7 @@
 "l'option --set-upstream est obsolète et va disparaître. Utilisez plutôt --"
 "track ou --set-upstream-to\n"
 
-#: builtin/branch.c:866
+#: builtin/branch.c:871
 #, c-format
 msgid ""
 "\n"
@@ -5314,7 +5623,7 @@
 "\n"
 msgstr ""
 "\n"
-"Si vous vouliez que '%s' suive '%s', faîtes ceci :\n"
+"Si vous vouliez que '%s' suive '%s', faites ceci :\n"
 "\n"
 
 #: builtin/bundle.c:51
@@ -5374,7 +5683,7 @@
 msgid "for blob objects, run filters on object's content"
 msgstr "pour les objets blob, lancer les filtres sur le contenu de l'objet"
 
-#: builtin/cat-file.c:561 git-submodule.sh:923
+#: builtin/cat-file.c:561 git-submodule.sh:929
 msgid "blob"
 msgstr "blob"
 
@@ -5434,7 +5743,7 @@
 msgstr ""
 "terminer les enregistrements en entrée et en sortie par un caractère NUL"
 
-#: builtin/check-ignore.c:18 builtin/checkout.c:1137 builtin/gc.c:325
+#: builtin/check-ignore.c:18 builtin/checkout.c:1140 builtin/gc.c:332
 msgid "suppress progress reporting"
 msgstr "supprimer l'état d'avancement"
 
@@ -5526,9 +5835,9 @@
 msgstr "écrire le contenu dans des fichiers temporaires"
 
 #: builtin/checkout-index.c:174 builtin/column.c:30
-#: builtin/submodule--helper.c:595 builtin/submodule--helper.c:598
-#: builtin/submodule--helper.c:604 builtin/submodule--helper.c:951
-#: builtin/worktree.c:469
+#: builtin/submodule--helper.c:597 builtin/submodule--helper.c:600
+#: builtin/submodule--helper.c:606 builtin/submodule--helper.c:967
+#: builtin/worktree.c:471
 msgid "string"
 msgstr "chaîne"
 
@@ -5605,50 +5914,50 @@
 msgid "you need to resolve your current index first"
 msgstr "vous devez d'abord résoudre votre index courant"
 
-#: builtin/checkout.c:624
+#: builtin/checkout.c:625
 #, c-format
 msgid "Can not do reflog for '%s': %s\n"
 msgstr "Impossible de faire un reflog pour '%s' : %s\n"
 
-#: builtin/checkout.c:663
+#: builtin/checkout.c:666
 msgid "HEAD is now at"
 msgstr "HEAD est maintenant sur"
 
-#: builtin/checkout.c:667 builtin/clone.c:660
+#: builtin/checkout.c:670 builtin/clone.c:660
 msgid "unable to update HEAD"
 msgstr "impossible de mettre à jour HEAD"
 
-#: builtin/checkout.c:671
+#: builtin/checkout.c:674
 #, c-format
 msgid "Reset branch '%s'\n"
 msgstr "Remise à zéro de la branche '%s'\n"
 
-#: builtin/checkout.c:674
+#: builtin/checkout.c:677
 #, c-format
 msgid "Already on '%s'\n"
 msgstr "Déjà sur '%s'\n"
 
-#: builtin/checkout.c:678
+#: builtin/checkout.c:681
 #, c-format
 msgid "Switched to and reset branch '%s'\n"
 msgstr "Basculement et remise à zéro de la branche '%s'\n"
 
-#: builtin/checkout.c:680 builtin/checkout.c:1069
+#: builtin/checkout.c:683 builtin/checkout.c:1072
 #, c-format
 msgid "Switched to a new branch '%s'\n"
 msgstr "Basculement sur la nouvelle branche '%s'\n"
 
-#: builtin/checkout.c:682
+#: builtin/checkout.c:685
 #, c-format
 msgid "Switched to branch '%s'\n"
 msgstr "Basculement sur la branche '%s'\n"
 
-#: builtin/checkout.c:733
+#: builtin/checkout.c:736
 #, c-format
 msgid " ... and %d more.\n"
 msgstr " ... et %d en plus.\n"
 
-#: builtin/checkout.c:739
+#: builtin/checkout.c:742
 #, c-format
 msgid ""
 "Warning: you are leaving %d commit behind, not connected to\n"
@@ -5671,7 +5980,7 @@
 "\n"
 "%s\n"
 
-#: builtin/checkout.c:758
+#: builtin/checkout.c:761
 #, c-format
 msgid ""
 "If you want to keep it by creating a new branch, this may be a good time\n"
@@ -5700,151 +6009,151 @@
 "git branch <nouvelle-branche> %s\n"
 "\n"
 
-#: builtin/checkout.c:794
+#: builtin/checkout.c:797
 msgid "internal error in revision walk"
 msgstr "erreur interne lors du parcours des révisions"
 
-#: builtin/checkout.c:798
+#: builtin/checkout.c:801
 msgid "Previous HEAD position was"
 msgstr "La position précédente de HEAD était sur"
 
-#: builtin/checkout.c:825 builtin/checkout.c:1064
+#: builtin/checkout.c:828 builtin/checkout.c:1067
 msgid "You are on a branch yet to be born"
 msgstr "Vous êtes sur une branche qui doit encore naître"
 
-#: builtin/checkout.c:970
+#: builtin/checkout.c:973
 #, c-format
 msgid "only one reference expected, %d given."
 msgstr "une seule référence attendue, %d fournies."
 
-#: builtin/checkout.c:1010 builtin/worktree.c:214
+#: builtin/checkout.c:1013 builtin/worktree.c:214
 #, c-format
 msgid "invalid reference: %s"
 msgstr "référence invalide : %s"
 
-#: builtin/checkout.c:1039
+#: builtin/checkout.c:1042
 #, c-format
 msgid "reference is not a tree: %s"
 msgstr "la référence n'est pas un arbre : %s"
 
-#: builtin/checkout.c:1078
+#: builtin/checkout.c:1081
 msgid "paths cannot be used with switching branches"
 msgstr "impossible d'utiliser des chemins avec un basculement de branches"
 
-#: builtin/checkout.c:1081 builtin/checkout.c:1085
+#: builtin/checkout.c:1084 builtin/checkout.c:1088
 #, c-format
 msgid "'%s' cannot be used with switching branches"
 msgstr "'%s' ne peut pas être utilisé avec un basculement de branches"
 
-#: builtin/checkout.c:1089 builtin/checkout.c:1092 builtin/checkout.c:1097
-#: builtin/checkout.c:1100
+#: builtin/checkout.c:1092 builtin/checkout.c:1095 builtin/checkout.c:1100
+#: builtin/checkout.c:1103
 #, c-format
 msgid "'%s' cannot be used with '%s'"
 msgstr "'%s' ne peut pas être utilisé avec '%s'"
 
-#: builtin/checkout.c:1105
+#: builtin/checkout.c:1108
 #, c-format
 msgid "Cannot switch branch to a non-commit '%s'"
 msgstr "Impossible de basculer de branche vers '%s' qui n'est pas un commit"
 
-#: builtin/checkout.c:1138 builtin/checkout.c:1140 builtin/clone.c:93
+#: builtin/checkout.c:1141 builtin/checkout.c:1143 builtin/clone.c:93
 #: builtin/remote.c:165 builtin/remote.c:167 builtin/worktree.c:324
 #: builtin/worktree.c:326
 msgid "branch"
 msgstr "branche"
 
-#: builtin/checkout.c:1139
+#: builtin/checkout.c:1142
 msgid "create and checkout a new branch"
 msgstr "créer et extraire une nouvelle branche"
 
-#: builtin/checkout.c:1141
+#: builtin/checkout.c:1144
 msgid "create/reset and checkout a branch"
 msgstr "créer/réinitialiser et extraire une branche"
 
-#: builtin/checkout.c:1142
+#: builtin/checkout.c:1145
 msgid "create reflog for new branch"
 msgstr "créer un reflog pour une nouvelle branche"
 
-#: builtin/checkout.c:1143 builtin/worktree.c:328
+#: builtin/checkout.c:1146 builtin/worktree.c:328
 msgid "detach HEAD at named commit"
 msgstr "détacher la HEAD au commit nommé"
 
-#: builtin/checkout.c:1144
+#: builtin/checkout.c:1147
 msgid "set upstream info for new branch"
 msgstr "paramétrer les coordonnées de branche amont pour une nouvelle branche"
 
-#: builtin/checkout.c:1146
+#: builtin/checkout.c:1149
 msgid "new-branch"
 msgstr "nouvelle branche"
 
-#: builtin/checkout.c:1146
+#: builtin/checkout.c:1149
 msgid "new unparented branch"
 msgstr "nouvelle branche sans parent"
 
-#: builtin/checkout.c:1147
+#: builtin/checkout.c:1150
 msgid "checkout our version for unmerged files"
 msgstr "extraire notre version pour les fichiers non fusionnés"
 
-#: builtin/checkout.c:1149
+#: builtin/checkout.c:1152
 msgid "checkout their version for unmerged files"
 msgstr "extraire leur version pour les fichiers non fusionnés"
 
-#: builtin/checkout.c:1151
+#: builtin/checkout.c:1154
 msgid "force checkout (throw away local modifications)"
 msgstr "forcer l'extraction (laisser tomber les modifications locales)"
 
-#: builtin/checkout.c:1152
+#: builtin/checkout.c:1155
 msgid "perform a 3-way merge with the new branch"
 msgstr "effectuer une fusion à 3 points avec la nouvelle branche"
 
-#: builtin/checkout.c:1153 builtin/merge.c:231
+#: builtin/checkout.c:1156 builtin/merge.c:235
 msgid "update ignored files (default)"
 msgstr "mettre à jour les fichiers ignorés (par défaut)"
 
-#: builtin/checkout.c:1154 builtin/log.c:1466 parse-options.h:251
+#: builtin/checkout.c:1157 builtin/log.c:1466 parse-options.h:251
 msgid "style"
 msgstr "style"
 
-#: builtin/checkout.c:1155
+#: builtin/checkout.c:1158
 msgid "conflict style (merge or diff3)"
 msgstr "style de conflit (merge (fusion) ou diff3)"
 
-#: builtin/checkout.c:1158
+#: builtin/checkout.c:1161
 msgid "do not limit pathspecs to sparse entries only"
 msgstr "ne pas limiter les spécificateurs de chemins aux seuls éléments creux"
 
-#: builtin/checkout.c:1160
+#: builtin/checkout.c:1163
 msgid "second guess 'git checkout <no-such-branch>'"
 msgstr "réessayer d'interpréter 'git checkout <branche-inexistante>'"
 
-#: builtin/checkout.c:1162
+#: builtin/checkout.c:1165
 msgid "do not check if another worktree is holding the given ref"
 msgstr ""
 "ne pas vérifier si une autre copie de travail contient le référence fournie"
 
-#: builtin/checkout.c:1163 builtin/clone.c:63 builtin/fetch.c:119
-#: builtin/merge.c:228 builtin/pull.c:117 builtin/push.c:536
+#: builtin/checkout.c:1166 builtin/clone.c:63 builtin/fetch.c:119
+#: builtin/merge.c:232 builtin/pull.c:117 builtin/push.c:539
 #: builtin/send-pack.c:168
 msgid "force progress reporting"
 msgstr "forcer l'affichage de l'état d'avancement"
 
-#: builtin/checkout.c:1194
+#: builtin/checkout.c:1197
 msgid "-b, -B and --orphan are mutually exclusive"
 msgstr "-b, -B et --orphan sont mutuellement exclusifs"
 
-#: builtin/checkout.c:1211
+#: builtin/checkout.c:1214
 msgid "--track needs a branch name"
 msgstr "--track requiert un nom de branche"
 
-#: builtin/checkout.c:1216
+#: builtin/checkout.c:1219
 msgid "Missing branch name; try -b"
 msgstr "Nom de branche manquant ; essayez -b"
 
-#: builtin/checkout.c:1252
+#: builtin/checkout.c:1255
 msgid "invalid path specification"
 msgstr "spécification de chemin invalide"
 
-#: builtin/checkout.c:1259
+#: builtin/checkout.c:1262
 #, c-format
 msgid ""
 "Cannot update paths and switch to branch '%s' at the same time.\n"
@@ -5854,12 +6163,12 @@
 "en même temps.\n"
 "Souhaitiez-vous extraire '%s' qui ne peut être résolu comme commit ?"
 
-#: builtin/checkout.c:1264
+#: builtin/checkout.c:1267
 #, c-format
 msgid "git checkout: --detach does not take a path argument '%s'"
 msgstr "git checkout: --detach n'accepte pas un argument de chemin '%s'"
 
-#: builtin/checkout.c:1268
+#: builtin/checkout.c:1271
 msgid ""
 "git checkout: --ours/--theirs, --force and --merge are incompatible when\n"
 "checking out of the index."
@@ -5898,19 +6207,21 @@
 msgid "failed to remove %s"
 msgstr "échec de la suppression de %s"
 
-#: builtin/clean.c:291
+#: builtin/clean.c:291 git-add--interactive.perl:623
+#, c-format
 msgid ""
 "Prompt help:\n"
 "1          - select a numbered item\n"
 "foo        - select item based on unique prefix\n"
-"           - (empty) select nothing"
+"           - (empty) select nothing\n"
 msgstr ""
 "Aide en ligne :\n"
 "1           - sélectionner un élément numéroté\n"
 "foo         - sélectionner un élément par un préfixe unique\n"
-"            - (vide) ne rien sélectionner"
+"            - (vide) ne rien sélectionner\n"
 
-#: builtin/clean.c:295
+#: builtin/clean.c:295 git-add--interactive.perl:632
+#, c-format
 msgid ""
 "Prompt help:\n"
 "1          - select a single item\n"
@@ -5919,7 +6230,7 @@
 "foo        - select item based on unique prefix\n"
 "-...       - unselect specified items\n"
 "*          - choose all items\n"
-"           - (empty) finish selecting"
+"           - (empty) finish selecting\n"
 msgstr ""
 "Aide en ligne :\n"
 "1          - sélectionner un seul élément\n"
@@ -5928,12 +6239,13 @@
 "foo        - sélectionner un élément par un préfixe unique\n"
 "-...       - désélectionner les éléments spécifiés\n"
 "*          - choisir tous les éléments\n"
-"           - (vide) terminer la sélection"
+"           - (vide) terminer la sélection\n"
 
-#: builtin/clean.c:511
-#, c-format
-msgid "Huh (%s)?"
-msgstr "Hein (%s) ?"
+#: builtin/clean.c:511 git-add--interactive.perl:598
+#: git-add--interactive.perl:603
+#, c-format, perl-format
+msgid "Huh (%s)?\n"
+msgstr "Hein (%s) ?\n"
 
 #: builtin/clean.c:653
 #, c-format
@@ -5955,9 +6267,10 @@
 msgid "Remove %s [y/N]? "
 msgstr "Supprimer %s [y/N] ? "
 
-#: builtin/clean.c:777
-msgid "Bye."
-msgstr "Au revoir."
+#: builtin/clean.c:777 git-add--interactive.perl:1669
+#, c-format
+msgid "Bye.\n"
+msgstr "Au revoir.\n"
 
 #: builtin/clean.c:785
 msgid ""
@@ -5977,11 +6290,11 @@
 "help                - cet écran\n"
 "?                   - aide pour la sélection en ligne"
 
-#: builtin/clean.c:812
+#: builtin/clean.c:812 git-add--interactive.perl:1745
 msgid "*** Commands ***"
 msgstr "*** Commandes ***"
 
-#: builtin/clean.c:813
+#: builtin/clean.c:813 git-add--interactive.perl:1742
 msgid "What now"
 msgstr "Et maintenant ?"
 
@@ -6011,8 +6324,8 @@
 msgid "remove whole directories"
 msgstr "supprimer les répertoires entiers"
 
-#: builtin/clean.c:875 builtin/describe.c:407 builtin/grep.c:725
-#: builtin/ls-files.c:536 builtin/name-rev.c:313 builtin/show-ref.c:182
+#: builtin/clean.c:875 builtin/describe.c:407 builtin/grep.c:1056
+#: builtin/ls-files.c:538 builtin/name-rev.c:313 builtin/show-ref.c:176
 msgid "pattern"
 msgstr "motif"
 
@@ -6092,8 +6405,8 @@
 msgid "directory from which templates will be used"
 msgstr "répertoire depuis lequel les modèles vont être utilisés"
 
-#: builtin/clone.c:86 builtin/clone.c:88 builtin/submodule--helper.c:602
-#: builtin/submodule--helper.c:954
+#: builtin/clone.c:86 builtin/clone.c:88 builtin/submodule--helper.c:604
+#: builtin/submodule--helper.c:970
 msgid "reference repository"
 msgstr "dépôt de référence"
 
@@ -6117,8 +6430,7 @@
 msgid "path to git-upload-pack on the remote"
 msgstr "chemin vers git-upload-pack sur le serveur distant"
 
-#: builtin/clone.c:97 builtin/fetch.c:120 builtin/grep.c:668
-#: builtin/pull.c:202
+#: builtin/clone.c:97 builtin/fetch.c:120 builtin/grep.c:999 builtin/pull.c:202
 msgid "depth"
 msgstr "profondeur"
 
@@ -6126,7 +6438,7 @@
 msgid "create a shallow clone of that depth"
 msgstr "créer un clone superficiel de cette profondeur"
 
-#: builtin/clone.c:99 builtin/fetch.c:122 builtin/pack-objects.c:2848
+#: builtin/clone.c:99 builtin/fetch.c:122 builtin/pack-objects.c:2836
 #: parse-options.h:142
 msgid "time"
 msgstr "heure"
@@ -6140,7 +6452,7 @@
 msgstr "révision"
 
 #: builtin/clone.c:102 builtin/fetch.c:125
-msgid "deepen history of shallow clone by excluding rev"
+msgid "deepen history of shallow clone, excluding rev"
 msgstr ""
 "approfondir l'historique d'un clone superficiel en excluant une révision"
 
@@ -6168,11 +6480,11 @@
 msgid "set config inside the new repository"
 msgstr "régler la configuration dans le nouveau dépôt"
 
-#: builtin/clone.c:111 builtin/fetch.c:140 builtin/push.c:547
+#: builtin/clone.c:111 builtin/fetch.c:140 builtin/push.c:550
 msgid "use IPv4 addresses only"
 msgstr "n'utiliser que des adresses IPv4"
 
-#: builtin/clone.c:113 builtin/fetch.c:142 builtin/push.c:549
+#: builtin/clone.c:113 builtin/fetch.c:142 builtin/push.c:552
 msgid "use IPv6 addresses only"
 msgstr "n'utiliser que des adresses IPv6"
 
@@ -6287,7 +6599,7 @@
 msgid "repository '%s' does not exist"
 msgstr "le dépôt '%s' n'existe pas"
 
-#: builtin/clone.c:905 builtin/fetch.c:1338
+#: builtin/clone.c:905 builtin/fetch.c:1335
 #, c-format
 msgid "depth %s is not a positive number"
 msgstr "la profondeur %s n'est pas un entier positif"
@@ -6303,8 +6615,9 @@
 msgid "working tree '%s' already exists."
 msgstr "la copie de travail '%s' existe déjà."
 
-#: builtin/clone.c:940 builtin/clone.c:951 builtin/submodule--helper.c:657
-#: builtin/worktree.c:222 builtin/worktree.c:249
+#: builtin/clone.c:940 builtin/clone.c:951 builtin/difftool.c:252
+#: builtin/submodule--helper.c:659 builtin/worktree.c:222
+#: builtin/worktree.c:249
 #, c-format
 msgid "could not create leading directories of '%s'"
 msgstr "impossible de créer les répertoires de premier niveau dans '%s'"
@@ -6582,7 +6895,7 @@
 msgid "could not lookup commit %s"
 msgstr "impossible de rechercher le commit %s"
 
-#: builtin/commit.c:704 builtin/shortlog.c:286
+#: builtin/commit.c:704 builtin/shortlog.c:295
 #, c-format
 msgid "(reading log message from standard input)\n"
 msgstr "(lecture du message de journal depuis l'entrée standard)\n"
@@ -6682,7 +6995,7 @@
 msgid "Error building trees"
 msgstr "Erreur lors de la construction des arbres"
 
-#: builtin/commit.c:969 builtin/tag.c:266
+#: builtin/commit.c:968 builtin/tag.c:280
 #, c-format
 msgid "Please supply the message using either -m or -F option.\n"
 msgstr "Veuillez fournir le message en utilisant l'option -m ou -F.\n"
@@ -6694,7 +7007,7 @@
 "--author '%s' n'est pas de la forme 'Nom <email>' ni ne correspond à aucun "
 "auteur existant"
 
-#: builtin/commit.c:1086 builtin/commit.c:1327
+#: builtin/commit.c:1086 builtin/commit.c:1325
 #, c-format
 msgid "Invalid untracked files mode '%s'"
 msgstr "Mode de fichier non suivi invalide '%s'"
@@ -6746,67 +7059,63 @@
 msgstr "Aucun chemin avec les options --include/--only n'a pas de sens."
 
 #: builtin/commit.c:1212
-msgid "Clever... amending the last one with dirty index."
-msgstr "Malin... correction du dernier avec un index sale."
-
-#: builtin/commit.c:1214
 msgid "Explicit paths specified without -i or -o; assuming --only paths..."
 msgstr "Chemins explicites spécifiés sans -i ni -o ; --only supposé..."
 
-#: builtin/commit.c:1226 builtin/tag.c:474
+#: builtin/commit.c:1224 builtin/tag.c:495
 #, c-format
 msgid "Invalid cleanup mode %s"
 msgstr "Mode de nettoyage invalide %s"
 
-#: builtin/commit.c:1231
+#: builtin/commit.c:1229
 msgid "Paths with -a does not make sense."
 msgstr "Spécifier des chemins avec l'option -a n'a pas de sens."
 
-#: builtin/commit.c:1341 builtin/commit.c:1617
+#: builtin/commit.c:1339 builtin/commit.c:1612
 msgid "show status concisely"
 msgstr "afficher le statut avec concision"
 
-#: builtin/commit.c:1343 builtin/commit.c:1619
+#: builtin/commit.c:1341 builtin/commit.c:1614
 msgid "show branch information"
 msgstr "afficher l'information de branche"
 
-#: builtin/commit.c:1345
+#: builtin/commit.c:1343
 msgid "version"
 msgstr "version"
 
-#: builtin/commit.c:1345 builtin/commit.c:1621 builtin/push.c:522
-#: builtin/worktree.c:440
+#: builtin/commit.c:1343 builtin/commit.c:1616 builtin/push.c:525
+#: builtin/worktree.c:442
 msgid "machine-readable output"
 msgstr "sortie pour traitement automatique"
 
-#: builtin/commit.c:1348 builtin/commit.c:1623
+#: builtin/commit.c:1346 builtin/commit.c:1618
 msgid "show status in long format (default)"
 msgstr "afficher le statut en format long (par défaut)"
 
-#: builtin/commit.c:1351 builtin/commit.c:1626
+#: builtin/commit.c:1349 builtin/commit.c:1621
 msgid "terminate entries with NUL"
 msgstr "terminer les éléments par NUL"
 
-#: builtin/commit.c:1353 builtin/commit.c:1629 builtin/fast-export.c:981
-#: builtin/fast-export.c:984 builtin/tag.c:353
+#: builtin/commit.c:1351 builtin/commit.c:1624 builtin/fast-export.c:981
+#: builtin/fast-export.c:984 builtin/tag.c:368
 msgid "mode"
 msgstr "mode"
 
-#: builtin/commit.c:1354 builtin/commit.c:1629
+#: builtin/commit.c:1352 builtin/commit.c:1624
 msgid "show untracked files, optional modes: all, normal, no. (Default: all)"
 msgstr ""
 "afficher les fichiers non suivis, \"mode\" facultatif : all (tous), normal, "
 "no. (Défaut : all)"
 
-#: builtin/commit.c:1357
+#: builtin/commit.c:1355
 msgid "show ignored files"
 msgstr "afficher les fichiers ignorés"
 
-#: builtin/commit.c:1358 parse-options.h:155
+#: builtin/commit.c:1356 parse-options.h:155
 msgid "when"
 msgstr "quand"
 
-#: builtin/commit.c:1359
+#: builtin/commit.c:1357
 msgid ""
 "ignore changes to submodules, optional when: all, dirty, untracked. "
 "(Default: all)"
@@ -6814,201 +7123,201 @@
 "ignorer les modifications dans les sous-modules, \"quand\" facultatif : all "
 "(tous), dirty (sale), untracked (non suivi). (Défaut : all)"
 
-#: builtin/commit.c:1361
+#: builtin/commit.c:1359
 msgid "list untracked files in columns"
 msgstr "afficher les fichiers non suivis en colonnes"
 
-#: builtin/commit.c:1437
+#: builtin/commit.c:1435
 msgid "couldn't look up newly created commit"
 msgstr "impossible de retrouver le commit nouvellement créé"
 
-#: builtin/commit.c:1439
+#: builtin/commit.c:1437
 msgid "could not parse newly created commit"
 msgstr "impossible d'analyser le commit nouvellement créé"
 
-#: builtin/commit.c:1484
+#: builtin/commit.c:1482
 msgid "detached HEAD"
 msgstr "HEAD détachée"
 
-#: builtin/commit.c:1487
+#: builtin/commit.c:1485
 msgid " (root-commit)"
 msgstr " (commit racine)"
 
-#: builtin/commit.c:1587
+#: builtin/commit.c:1582
 msgid "suppress summary after successful commit"
 msgstr "supprimer le résumé après une validation réussie"
 
-#: builtin/commit.c:1588
+#: builtin/commit.c:1583
 msgid "show diff in commit message template"
 msgstr "afficher les diff dans le modèle de message de validation"
 
-#: builtin/commit.c:1590
+#: builtin/commit.c:1585
 msgid "Commit message options"
 msgstr "Options du message de validation"
 
-#: builtin/commit.c:1591 builtin/tag.c:351
+#: builtin/commit.c:1586 builtin/tag.c:366
 msgid "read message from file"
 msgstr "lire le message depuis un fichier"
 
-#: builtin/commit.c:1592
+#: builtin/commit.c:1587
 msgid "author"
 msgstr "auteur"
 
-#: builtin/commit.c:1592
+#: builtin/commit.c:1587
 msgid "override author for commit"
 msgstr "remplacer l'auteur pour la validation"
 
-#: builtin/commit.c:1593 builtin/gc.c:326
+#: builtin/commit.c:1588 builtin/gc.c:333
 msgid "date"
 msgstr "date"
 
-#: builtin/commit.c:1593
+#: builtin/commit.c:1588
 msgid "override date for commit"
 msgstr "remplacer la date pour la validation"
 
-#: builtin/commit.c:1594 builtin/merge.c:220 builtin/notes.c:398
-#: builtin/notes.c:561 builtin/tag.c:349
+#: builtin/commit.c:1589 builtin/merge.c:222 builtin/notes.c:398
+#: builtin/notes.c:561 builtin/tag.c:364
 msgid "message"
 msgstr "message"
 
-#: builtin/commit.c:1594
+#: builtin/commit.c:1589
 msgid "commit message"
 msgstr "message de validation"
 
-#: builtin/commit.c:1595 builtin/commit.c:1596 builtin/commit.c:1597
-#: builtin/commit.c:1598 parse-options.h:257 ref-filter.h:79
+#: builtin/commit.c:1590 builtin/commit.c:1591 builtin/commit.c:1592
+#: builtin/commit.c:1593 parse-options.h:257 ref-filter.h:81
 msgid "commit"
 msgstr "commit"
 
-#: builtin/commit.c:1595
+#: builtin/commit.c:1590
 msgid "reuse and edit message from specified commit"
 msgstr "réutiliser et éditer le message du commit spécifié"
 
-#: builtin/commit.c:1596
+#: builtin/commit.c:1591
 msgid "reuse message from specified commit"
 msgstr "réutiliser le message du commit spécifié"
 
-#: builtin/commit.c:1597
+#: builtin/commit.c:1592
 msgid "use autosquash formatted message to fixup specified commit"
 msgstr ""
 "utiliser un message au format autosquash pour corriger le commit spécifié"
 
-#: builtin/commit.c:1598
+#: builtin/commit.c:1593
 msgid "use autosquash formatted message to squash specified commit"
 msgstr ""
 "utiliser un message au format autosquash pour compresser le commit spécifié"
 
-#: builtin/commit.c:1599
+#: builtin/commit.c:1594
 msgid "the commit is authored by me now (used with -C/-c/--amend)"
 msgstr ""
 "à présent je suis l'auteur de la validation (utilisé avec -C/-c/--amend)"
 
-#: builtin/commit.c:1600 builtin/log.c:1413 builtin/revert.c:86
+#: builtin/commit.c:1595 builtin/log.c:1413 builtin/revert.c:86
 msgid "add Signed-off-by:"
 msgstr "ajouter une entrée Signed-off-by :"
 
-#: builtin/commit.c:1601
+#: builtin/commit.c:1596
 msgid "use specified template file"
 msgstr "utiliser le fichier de modèle spécifié"
 
-#: builtin/commit.c:1602
+#: builtin/commit.c:1597
 msgid "force edit of commit"
 msgstr "forcer l'édition du commit"
 
-#: builtin/commit.c:1603
+#: builtin/commit.c:1598
 msgid "default"
 msgstr "défaut"
 
-#: builtin/commit.c:1603 builtin/tag.c:354
+#: builtin/commit.c:1598 builtin/tag.c:369
 msgid "how to strip spaces and #comments from message"
 msgstr "comment éliminer les espaces et les commentaires # du message"
 
-#: builtin/commit.c:1604
+#: builtin/commit.c:1599
 msgid "include status in commit message template"
 msgstr "inclure le statut dans le modèle de message de validation"
 
-#: builtin/commit.c:1606 builtin/merge.c:230 builtin/pull.c:166
+#: builtin/commit.c:1601 builtin/merge.c:234 builtin/pull.c:166
 #: builtin/revert.c:93
 msgid "GPG sign commit"
 msgstr "signer la validation avec GPG"
 
-#: builtin/commit.c:1609
+#: builtin/commit.c:1604
 msgid "Commit contents options"
 msgstr "Valider les options des contenus"
 
-#: builtin/commit.c:1610
+#: builtin/commit.c:1605
 msgid "commit all changed files"
 msgstr "valider tous les fichiers modifiés"
 
-#: builtin/commit.c:1611
+#: builtin/commit.c:1606
 msgid "add specified files to index for commit"
 msgstr "ajouter les fichiers spécifiés à l'index pour la validation"
 
-#: builtin/commit.c:1612
+#: builtin/commit.c:1607
 msgid "interactively add files"
 msgstr "ajouter des fichiers en mode interactif"
 
-#: builtin/commit.c:1613
+#: builtin/commit.c:1608
 msgid "interactively add changes"
 msgstr "ajouter les modifications en mode interactif"
 
-#: builtin/commit.c:1614
+#: builtin/commit.c:1609
 msgid "commit only specified files"
 msgstr "valider seulement les fichiers spécifiés"
 
-#: builtin/commit.c:1615
+#: builtin/commit.c:1610
 msgid "bypass pre-commit and commit-msg hooks"
 msgstr "éviter d'utiliser les crochets pre-commit et commit-msg"
 
-#: builtin/commit.c:1616
+#: builtin/commit.c:1611
 msgid "show what would be committed"
 msgstr "afficher ce qui serait validé"
 
-#: builtin/commit.c:1627
+#: builtin/commit.c:1622
 msgid "amend previous commit"
 msgstr "corriger la validation précédente"
 
-#: builtin/commit.c:1628
+#: builtin/commit.c:1623
 msgid "bypass post-rewrite hook"
 msgstr "éviter d'utiliser le crochet post-rewrite"
 
-#: builtin/commit.c:1633
+#: builtin/commit.c:1628
 msgid "ok to record an empty change"
 msgstr "accepter d'enregistrer une modification vide"
 
-#: builtin/commit.c:1635
+#: builtin/commit.c:1630
 msgid "ok to record a change with an empty message"
 msgstr "accepter d'enregistrer une modification avec un message vide"
 
-#: builtin/commit.c:1664
+#: builtin/commit.c:1659
 msgid "could not parse HEAD commit"
 msgstr "impossible d'analyser le commit HEAD"
 
-#: builtin/commit.c:1712
+#: builtin/commit.c:1707
 #, c-format
 msgid "Corrupt MERGE_HEAD file (%s)"
 msgstr "Fichier MERGE_HEAD corrompu (%s)"
 
-#: builtin/commit.c:1719
+#: builtin/commit.c:1714
 msgid "could not read MERGE_MODE"
 msgstr "impossible de lire MERGE_MODE"
 
-#: builtin/commit.c:1738
+#: builtin/commit.c:1733
 #, c-format
 msgid "could not read commit message: %s"
 msgstr "impossible de lire le message de validation : %s"
 
-#: builtin/commit.c:1749
+#: builtin/commit.c:1744
 #, c-format
 msgid "Aborting commit; you did not edit the message.\n"
 msgstr "Abandon de la validation ; vous n'avez pas édité le message\n"
 
-#: builtin/commit.c:1754
-#, fuzzy, c-format
+#: builtin/commit.c:1749
+#, c-format
 msgid "Aborting commit due to empty commit message.\n"
-msgstr "Abandon de la validation dû à un message de validation vide\n"
+msgstr "Abandon de la validation dû à un message de validation vide.\n"
 
-#: builtin/commit.c:1802
+#: builtin/commit.c:1797
 msgid ""
 "Repository has been updated, but unable to write\n"
 "new_index file. Check that disk is not full and quota is\n"
@@ -7336,35 +7645,122 @@
 msgid "--dirty is incompatible with commit-ishes"
 msgstr "--dirty est incompatible avec la spécification de commits ou assimilés"
 
-#: builtin/diff.c:86
+#: builtin/diff.c:83
 #, c-format
 msgid "'%s': not a regular file or symlink"
 msgstr "'%s' : n'est pas un fichier régulier ni un lien symbolique"
 
-#: builtin/diff.c:237
+#: builtin/diff.c:234
 #, c-format
 msgid "invalid option: %s"
 msgstr "option invalide : %s"
 
-#: builtin/diff.c:361
+#: builtin/diff.c:358
 msgid "Not a git repository"
 msgstr "Ce n'est pas un dépôt git !"
 
-#: builtin/diff.c:404
+#: builtin/diff.c:401
 #, c-format
 msgid "invalid object '%s' given."
 msgstr "objet spécifié '%s' invalide."
 
-#: builtin/diff.c:413
+#: builtin/diff.c:410
 #, c-format
 msgid "more than two blobs given: '%s'"
 msgstr "plus de deux blobs spécifiés : '%s'"
 
-#: builtin/diff.c:420
+#: builtin/diff.c:417
 #, c-format
 msgid "unhandled object '%s' given."
 msgstr "objet non géré '%s' spécifié."
 
+#: builtin/difftool.c:28
+msgid "git difftool [<options>] [<commit> [<commit>]] [--] [<path>...]"
+msgstr "git difftool [<options>] [<commit> [<commit>]] [--] [<chemin>...]"
+
+#: builtin/difftool.c:241
+#, c-format
+msgid "failed: %d"
+msgstr "échec : %d"
+
+#: builtin/difftool.c:342
+msgid ""
+"combined diff formats('-c' and '--cc') are not supported in\n"
+"directory diff mode('-d' and '--dir-diff')."
+msgstr ""
+"les formats de diff combinés ('-c' et '--cc') ne sont pas supportés\n"
+"dans le mode de diff de répertoire ('-d' et '--dir-diff')."
+
+#: builtin/difftool.c:567
+#, c-format
+msgid "both files modified: '%s' and '%s'."
+msgstr "les deux fichiers sont modifiés : '%s' et '%s'."
+
+#: builtin/difftool.c:569
+msgid "working tree file has been left."
+msgstr "le fichier dans l'arbre de travail a été laissé."
+
+#: builtin/difftool.c:580
+#, c-format
+msgid "temporary files exist in '%s'."
+msgstr "des fichiers temporaires existent dans '%s'."
+
+#: builtin/difftool.c:581
+msgid "you may want to cleanup or recover these."
+msgstr "vous pourriez souhaiter les nettoyer ou les récupérer."
+
+#: builtin/difftool.c:626
+msgid "use `diff.guitool` instead of `diff.tool`"
+msgstr "utiliser `diff.guitool` au lieu de `diff.tool`"
+
+#: builtin/difftool.c:628
+msgid "perform a full-directory diff"
+msgstr "réalise un diff de répertoire complet"
+
+#: builtin/difftool.c:630
+msgid "do not prompt before launching a diff tool"
+msgstr "ne pas confirmer avant de lancer l'outil de diff"
+
+#: builtin/difftool.c:636
+msgid "use symlinks in dir-diff mode"
+msgstr "utiliser les liens symboliques en mode de diff de répertoire"
+
+#: builtin/difftool.c:637
+msgid "<tool>"
+msgstr "<outil>"
+
+#: builtin/difftool.c:638
+msgid "use the specified diff tool"
+msgstr "utiliser l'outil de diff spécifié"
+
+#: builtin/difftool.c:640
+msgid "print a list of diff tools that may be used with `--tool`"
+msgstr "afficher une liste des outils de diff utilisables avec `--tool`"
+
+#: builtin/difftool.c:643
+msgid ""
+"make 'git-difftool' exit when an invoked diff tool returns a non - zero exit "
+"code"
+msgstr ""
+"provoque la fin de 'git-difftool' si l'outil de diff invoqué renvoie un code "
+"non-nul"
+
+#: builtin/difftool.c:645
+msgid "<command>"
+msgstr "<commande>"
+
+#: builtin/difftool.c:646
+msgid "specify a custom command for viewing diffs"
+msgstr "spécifier une commande personnalisée pour visualiser les différences"
+
+#: builtin/difftool.c:670
+msgid "no <tool> given for --tool=<tool>"
+msgstr "pas d'<outil> spécifié pour --tool=<outil>"
+
+#: builtin/difftool.c:677
+msgid "no <cmd> given for --extcmd=<cmd>"
+msgstr "pas de <commande> spécifié pour --extcmd=<commande>"
+
 #: builtin/fast-export.c:25
 msgid "git fast-export [rev-list-opts]"
 msgstr "git fast-export [options-de-liste-de-révisions]"
@@ -7524,79 +7920,79 @@
 msgid "specify fetch refmap"
 msgstr "spécifier une correspondance de référence pour la récupération"
 
-#: builtin/fetch.c:398
+#: builtin/fetch.c:395
 msgid "Couldn't find remote ref HEAD"
 msgstr "impossible de trouver la référence HEAD distante"
 
-#: builtin/fetch.c:514
+#: builtin/fetch.c:511
 #, c-format
 msgid "configuration fetch.output contains invalid value %s"
 msgstr ""
 "le paramètre de configuration fetch.output contient une valeur invalide %s"
 
-#: builtin/fetch.c:607
+#: builtin/fetch.c:604
 #, c-format
 msgid "object %s not found"
 msgstr "objet %s non trouvé"
 
-#: builtin/fetch.c:611
+#: builtin/fetch.c:608
 msgid "[up to date]"
 msgstr "[à jour]"
 
-#: builtin/fetch.c:624 builtin/fetch.c:704
+#: builtin/fetch.c:621 builtin/fetch.c:701
 msgid "[rejected]"
 msgstr "[rejeté]"
 
-#: builtin/fetch.c:625
+#: builtin/fetch.c:622
 msgid "can't fetch in current branch"
 msgstr "impossible de récupérer dans la branche actuelle"
 
-#: builtin/fetch.c:634
+#: builtin/fetch.c:631
 msgid "[tag update]"
 msgstr "[mise à jour de l'étiquette]"
 
-#: builtin/fetch.c:635 builtin/fetch.c:668 builtin/fetch.c:684
-#: builtin/fetch.c:699
+#: builtin/fetch.c:632 builtin/fetch.c:665 builtin/fetch.c:681
+#: builtin/fetch.c:696
 msgid "unable to update local ref"
 msgstr "impossible de mettre à jour la référence locale"
 
-#: builtin/fetch.c:654
+#: builtin/fetch.c:651
 msgid "[new tag]"
 msgstr "[nouvelle étiquette]"
 
-#: builtin/fetch.c:657
+#: builtin/fetch.c:654
 msgid "[new branch]"
 msgstr "[nouvelle branche]"
 
-#: builtin/fetch.c:660
+#: builtin/fetch.c:657
 msgid "[new ref]"
 msgstr "[nouvelle référence]"
 
-#: builtin/fetch.c:699
+#: builtin/fetch.c:696
 msgid "forced update"
 msgstr "mise à jour forcée"
 
-#: builtin/fetch.c:704
+#: builtin/fetch.c:701
 msgid "non-fast-forward"
 msgstr "pas en avance rapide"
 
-#: builtin/fetch.c:749
+#: builtin/fetch.c:746
 #, c-format
 msgid "%s did not send all necessary objects\n"
 msgstr "%s n'a pas envoyé tous les objets nécessaires\n"
 
-#: builtin/fetch.c:769
+#: builtin/fetch.c:766
 #, c-format
 msgid "reject %s because shallow roots are not allowed to be updated"
 msgstr ""
 "%s rejeté parce que les racines superficielles ne sont pas mises à jour"
 
-#: builtin/fetch.c:856 builtin/fetch.c:952
+#: builtin/fetch.c:853 builtin/fetch.c:949
 #, c-format
 msgid "From %.*s\n"
 msgstr "Depuis %.*s\n"
 
-#: builtin/fetch.c:867
+#: builtin/fetch.c:864
 #, c-format
 msgid ""
 "some local refs could not be updated; try running\n"
@@ -7605,55 +8001,55 @@
 "des références locales n'ont pas pu être mises à jour ; essayez de lancer\n"
 " 'git remote prune %s' pour supprimer des branches anciennes en conflit"
 
-#: builtin/fetch.c:922
+#: builtin/fetch.c:919
 #, c-format
 msgid "   (%s will become dangling)"
 msgstr "   (%s sera en suspens)"
 
-#: builtin/fetch.c:923
+#: builtin/fetch.c:920
 #, c-format
 msgid "   (%s has become dangling)"
 msgstr "   (%s est devenu en suspens)"
 
-#: builtin/fetch.c:955
+#: builtin/fetch.c:952
 msgid "[deleted]"
 msgstr "[supprimé]"
 
-#: builtin/fetch.c:956 builtin/remote.c:1020
+#: builtin/fetch.c:953 builtin/remote.c:1020
 msgid "(none)"
 msgstr "(aucun(e))"
 
-#: builtin/fetch.c:979
+#: builtin/fetch.c:976
 #, c-format
 msgid "Refusing to fetch into current branch %s of non-bare repository"
 msgstr "Refus de récupérer dans la branche courant %s d'un dépôt non nu"
 
-#: builtin/fetch.c:998
+#: builtin/fetch.c:995
 #, c-format
 msgid "Option \"%s\" value \"%s\" is not valid for %s"
 msgstr "La valeur \"%2$s\" de l'option \"%1$s\" est invalide pour %3$s"
 
-#: builtin/fetch.c:1001
+#: builtin/fetch.c:998
 #, c-format
 msgid "Option \"%s\" is ignored for %s\n"
 msgstr "L'option \"%s\" est ignorée pour %s\n"
 
-#: builtin/fetch.c:1077
+#: builtin/fetch.c:1074
 #, c-format
 msgid "Don't know how to fetch from %s"
 msgstr "Je ne sais pas récupérer depuis %s"
 
-#: builtin/fetch.c:1237
+#: builtin/fetch.c:1234
 #, c-format
 msgid "Fetching %s\n"
 msgstr "Récupération de %s\n"
 
-#: builtin/fetch.c:1239 builtin/remote.c:96
+#: builtin/fetch.c:1236 builtin/remote.c:96
 #, c-format
 msgid "Could not fetch %s"
 msgstr "Impossible de récupérer %s"
 
-#: builtin/fetch.c:1257
+#: builtin/fetch.c:1254
 msgid ""
 "No remote repository specified.  Please, specify either a URL or a\n"
 "remote name from which new revisions should be fetched."
@@ -7661,40 +8057,40 @@
 "Aucun dépôt distant spécifié. Veuillez spécifier une URL ou un nom\n"
 "distant depuis lesquels les nouvelles révisions devraient être récupérées."
 
-#: builtin/fetch.c:1280
+#: builtin/fetch.c:1277
 msgid "You need to specify a tag name."
 msgstr "Vous devez spécifier un nom d'étiquette."
 
-#: builtin/fetch.c:1322
+#: builtin/fetch.c:1319
 msgid "Negative depth in --deepen is not supported"
 msgstr "Une profondeur négative dans --deepen n'est pas supportée"
 
-#: builtin/fetch.c:1324
+#: builtin/fetch.c:1321
 msgid "--deepen and --depth are mutually exclusive"
 msgstr "--deepen et --depth sont mutuellement exclusifs"
 
-#: builtin/fetch.c:1329
+#: builtin/fetch.c:1326
 msgid "--depth and --unshallow cannot be used together"
 msgstr "--depth et --unshallow ne peuvent pas être utilisés ensemble"
 
-#: builtin/fetch.c:1331
+#: builtin/fetch.c:1328
 msgid "--unshallow on a complete repository does not make sense"
 msgstr "--unshallow sur un dépôt complet n'a pas de sens"
 
-#: builtin/fetch.c:1353
+#: builtin/fetch.c:1350
 msgid "fetch --all does not take a repository argument"
 msgstr "fetch --all n'accepte pas d'argument de dépôt"
 
-#: builtin/fetch.c:1355
+#: builtin/fetch.c:1352
 msgid "fetch --all does not make sense with refspecs"
 msgstr "fetch --all n'a pas de sens avec des spécifications de référence"
 
-#: builtin/fetch.c:1366
+#: builtin/fetch.c:1363
 #, c-format
 msgid "No such remote or remote group: %s"
 msgstr "distant ou groupe distant inexistant : %s"
 
-#: builtin/fetch.c:1374
+#: builtin/fetch.c:1371
 msgid "Fetching a group and specifying refspecs does not make sense"
 msgstr ""
 "La récupération d'un groupe et les spécifications de référence n'ont pas de "
@@ -7762,7 +8158,7 @@
 msgid "show only <n> matched refs"
 msgstr "n'afficher que <n> références correspondant"
 
-#: builtin/for-each-ref.c:37 builtin/tag.c:372
+#: builtin/for-each-ref.c:37 builtin/tag.c:387 builtin/verify-tag.c:38
 msgid "format to use for the output"
 msgstr "format à utiliser pour la sortie"
 
@@ -7782,64 +8178,64 @@
 msgid "print only refs which contain the commit"
 msgstr "afficher seulement les références qui contiennent le commit"
 
-#: builtin/fsck.c:519
+#: builtin/fsck.c:554
 msgid "Checking object directories"
 msgstr "Vérification des répertoires d'objet"
 
-#: builtin/fsck.c:588
+#: builtin/fsck.c:646
 msgid "git fsck [<options>] [<object>...]"
 msgstr "git fsck [<options>] [<objet>...]"
 
-#: builtin/fsck.c:594
+#: builtin/fsck.c:652
 msgid "show unreachable objects"
 msgstr "afficher les objets inaccessibles"
 
-#: builtin/fsck.c:595
+#: builtin/fsck.c:653
 msgid "show dangling objects"
 msgstr "afficher les objets en suspens"
 
-#: builtin/fsck.c:596
+#: builtin/fsck.c:654
 msgid "report tags"
 msgstr "afficher les étiquettes"
 
-#: builtin/fsck.c:597
+#: builtin/fsck.c:655
 msgid "report root nodes"
 msgstr "signaler les nœuds racines"
 
-#: builtin/fsck.c:598
+#: builtin/fsck.c:656
 msgid "make index objects head nodes"
 msgstr "considérer les objets de l'index comme nœuds tête"
 
 # translated from man page
-#: builtin/fsck.c:599
+#: builtin/fsck.c:657
 msgid "make reflogs head nodes (default)"
 msgstr "considérer les reflogs comme nœuds tête (par défaut)"
 
-#: builtin/fsck.c:600
+#: builtin/fsck.c:658
 msgid "also consider packs and alternate objects"
 msgstr "inspecter aussi les objets pack et alternatifs"
 
-#: builtin/fsck.c:601
+#: builtin/fsck.c:659
 msgid "check only connectivity"
 msgstr "ne vérifier que la connectivité"
 
-#: builtin/fsck.c:602
+#: builtin/fsck.c:660
 msgid "enable more strict checking"
 msgstr "activer une vérification plus strict"
 
-#: builtin/fsck.c:604
+#: builtin/fsck.c:662
 msgid "write dangling objects in .git/lost-found"
 msgstr "écrire les objets en suspens dans .git/lost-found"
 
-#: builtin/fsck.c:605 builtin/prune.c:107
+#: builtin/fsck.c:663 builtin/prune.c:107
 msgid "show progress"
 msgstr "afficher la progression"
 
-#: builtin/fsck.c:606
+#: builtin/fsck.c:664
 msgid "show verbose names for reachable objects"
 msgstr "afficher les noms étendus pour les objets inaccessibles"
 
-#: builtin/fsck.c:665
+#: builtin/fsck.c:725
 msgid "Checking objects"
 msgstr "Vérification des objets"
 
@@ -7857,7 +8253,7 @@
 msgid "insanely long object directory %.*s"
 msgstr "objet répertoire démentiellement long %.*s"
 
-#: builtin/gc.c:290
+#: builtin/gc.c:297
 #, c-format
 msgid ""
 "The last gc run reported the following. Please correct the root cause\n"
@@ -7873,42 +8269,42 @@
 "\n"
 "%s"
 
-#: builtin/gc.c:327
+#: builtin/gc.c:334
 msgid "prune unreferenced objects"
 msgstr "éliminer les objets non référencés"
 
-#: builtin/gc.c:329
+#: builtin/gc.c:336
 msgid "be more thorough (increased runtime)"
 msgstr "être plus consciencieux (durée de traitement allongée)"
 
-#: builtin/gc.c:330
+#: builtin/gc.c:337
 msgid "enable auto-gc mode"
 msgstr "activer le mode auto-gc"
 
-#: builtin/gc.c:331
+#: builtin/gc.c:338
 msgid "force running gc even if there may be another gc running"
 msgstr ""
 "forcer le lancement du ramasse-miettes même si un autre ramasse-miettes "
 "tourne déjà"
 
-#: builtin/gc.c:373
+#: builtin/gc.c:380
 #, c-format
 msgid "Auto packing the repository in background for optimum performance.\n"
 msgstr ""
 "Compression automatique du dépôt en tâche de fond pour optimiser les "
 "performances.\n"
 
-#: builtin/gc.c:375
+#: builtin/gc.c:382
 #, c-format
 msgid "Auto packing the repository for optimum performance.\n"
 msgstr "Compression du dépôt pour optimiser les performances.\n"
 
-#: builtin/gc.c:376
+#: builtin/gc.c:383
 #, c-format
 msgid "See \"git help gc\" for manual housekeeping.\n"
 msgstr "Voir \"git help gc\" pour toute information sur le nettoyage manuel.\n"
 
-#: builtin/gc.c:397
+#: builtin/gc.c:404
 #, c-format
 msgid ""
 "gc is already running on machine '%s' pid %<PRIuMAX> (use --force if not)"
@@ -7916,249 +8312,265 @@
 "un ramasse-miettes est déjà en cours sur la machine '%s' pid %<PRIuMAX> "
 "(utilisez --force si ce n'est pas le cas)"
 
-#: builtin/gc.c:441
+#: builtin/gc.c:448
 msgid ""
 "There are too many unreachable loose objects; run 'git prune' to remove them."
 msgstr ""
 "Il y a trop d'objets seuls inaccessibles ; lancez 'git prune' pour les "
 "supprimer."
 
-#: builtin/grep.c:23
+#: builtin/grep.c:25
 msgid "git grep [<options>] [-e] <pattern> [<rev>...] [[--] <path>...]"
 msgstr "git grep [<options>] [-e] <motif> [<révision>...] [[--] <chemin>...]"
 
-#: builtin/grep.c:219
+#: builtin/grep.c:232
 #, c-format
 msgid "grep: failed to create thread: %s"
 msgstr "grep : échec de création du fil: %s"
 
-#: builtin/grep.c:277
+#: builtin/grep.c:290
 #, c-format
 msgid "invalid number of threads specified (%d) for %s"
 msgstr "nombre de fils spécifié invalide (%d) pour %s"
 
-#: builtin/grep.c:453 builtin/grep.c:488
+#: builtin/grep.c:763 builtin/grep.c:804
 #, c-format
 msgid "unable to read tree (%s)"
 msgstr "impossible de lire l'arbre (%s)"
 
-#: builtin/grep.c:503
+#: builtin/grep.c:823
 #, c-format
 msgid "unable to grep from object of type %s"
 msgstr "impossible de faire un grep sur un objet de type %s"
 
-#: builtin/grep.c:561
+#: builtin/grep.c:887
 #, c-format
 msgid "switch `%c' expects a numerical value"
 msgstr "l'option '%c' attend un valeur numérique"
 
-#: builtin/grep.c:647
+#: builtin/grep.c:973
 msgid "search in index instead of in the work tree"
 msgstr "rechercher dans l'index plutôt que dans la copie de travail"
 
-#: builtin/grep.c:649
+#: builtin/grep.c:975
 msgid "find in contents not managed by git"
 msgstr "rechercher dans les contenus non gérés par git"
 
-#: builtin/grep.c:651
+#: builtin/grep.c:977
 msgid "search in both tracked and untracked files"
 msgstr "rechercher dans les fichiers suivis et non-suivis"
 
-#: builtin/grep.c:653
+#: builtin/grep.c:979
 msgid "ignore files specified via '.gitignore'"
 msgstr "ignorer les fichiers spécifiés via '.gitignore'"
 
-#: builtin/grep.c:656
+#: builtin/grep.c:981
+msgid "recursivley search in each submodule"
+msgstr "rechercher récursivement dans chaque sous-module"
+
+#: builtin/grep.c:983
+msgid "basename"
+msgstr "nom de base"
+
+#: builtin/grep.c:984
+msgid "prepend parent project's basename to output"
+msgstr "préfixer le nom de base du projet parent à la sortie"
+
+#: builtin/grep.c:987
 msgid "show non-matching lines"
 msgstr "afficher les lignes qui ne correspondent pas"
 
-#: builtin/grep.c:658
+#: builtin/grep.c:989
 msgid "case insensitive matching"
 msgstr "correspondance insensible à la casse"
 
-#: builtin/grep.c:660
+#: builtin/grep.c:991
 msgid "match patterns only at word boundaries"
 msgstr "rechercher les motifs aux séparateurs de mots"
 
-#: builtin/grep.c:662
+#: builtin/grep.c:993
 msgid "process binary files as text"
 msgstr "traiter les fichiers binaires comme texte"
 
-#: builtin/grep.c:664
+#: builtin/grep.c:995
 msgid "don't match patterns in binary files"
 msgstr "ne pas chercher les motifs dans les fichiers binaires"
 
-#: builtin/grep.c:667
+#: builtin/grep.c:998
 msgid "process binary files with textconv filters"
 msgstr "traiter les fichiers binaires avec les filtres textconv"
 
-#: builtin/grep.c:669
+#: builtin/grep.c:1000
 msgid "descend at most <depth> levels"
 msgstr "descendre au plus de <profondeur> dans l'arborescence"
 
-#: builtin/grep.c:673
+#: builtin/grep.c:1004
 msgid "use extended POSIX regular expressions"
 msgstr "utiliser des expressions régulières étendues POSIX"
 
-#: builtin/grep.c:676
+#: builtin/grep.c:1007
 msgid "use basic POSIX regular expressions (default)"
 msgstr "utiliser des expressions régulières basiques POSIX (par défaut)"
 
-#: builtin/grep.c:679
+#: builtin/grep.c:1010
 msgid "interpret patterns as fixed strings"
 msgstr "interpréter les motifs comme de chaînes fixes"
 
-#: builtin/grep.c:682
+#: builtin/grep.c:1013
 msgid "use Perl-compatible regular expressions"
 msgstr "utiliser des expressions régulières compatibles avec Perl"
 
-#: builtin/grep.c:685
+#: builtin/grep.c:1016
 msgid "show line numbers"
 msgstr "afficher les numéros de ligne"
 
-#: builtin/grep.c:686
+#: builtin/grep.c:1017
 msgid "don't show filenames"
 msgstr "ne pas pas afficher les noms de fichier"
 
-#: builtin/grep.c:687
+#: builtin/grep.c:1018
 msgid "show filenames"
 msgstr "afficher les noms de fichier"
 
-#: builtin/grep.c:689
+#: builtin/grep.c:1020
 msgid "show filenames relative to top directory"
 msgstr "afficher les noms de fichiers relativement au répertoire de base"
 
-#: builtin/grep.c:691
+#: builtin/grep.c:1022
 msgid "show only filenames instead of matching lines"
 msgstr "n'afficher que les noms de fichiers au lieu des lignes correspondant"
 
-#: builtin/grep.c:693
+#: builtin/grep.c:1024
 msgid "synonym for --files-with-matches"
 msgstr "synonyme pour --files-with-matches"
 
-#: builtin/grep.c:696
+#: builtin/grep.c:1027
 msgid "show only the names of files without match"
 msgstr "n'afficher que les noms des fichiers sans correspondance"
 
-#: builtin/grep.c:698
+#: builtin/grep.c:1029
 msgid "print NUL after filenames"
 msgstr "imprimer une caractère NUL après le noms de fichier"
 
-#: builtin/grep.c:700
+#: builtin/grep.c:1031
 msgid "show the number of matches instead of matching lines"
 msgstr "afficher le nombre de correspondances au lieu des lignes correspondant"
 
-#: builtin/grep.c:701
+#: builtin/grep.c:1032
 msgid "highlight matches"
 msgstr "mettre en évidence les correspondances"
 
-#: builtin/grep.c:703
+#: builtin/grep.c:1034
 msgid "print empty line between matches from different files"
 msgstr ""
 "imprimer une ligne vide entre les correspondances de fichiers différents"
 
-#: builtin/grep.c:705
+#: builtin/grep.c:1036
 msgid "show filename only once above matches from same file"
 msgstr ""
 "afficher le nom de fichier une fois au dessus des correspondances du même "
 "fichier"
 
-#: builtin/grep.c:708
+#: builtin/grep.c:1039
 msgid "show <n> context lines before and after matches"
 msgstr "afficher <n> lignes de contexte avant et après les correspondances"
 
-#: builtin/grep.c:711
+#: builtin/grep.c:1042
 msgid "show <n> context lines before matches"
 msgstr "afficher <n> lignes de contexte avant les correspondances"
 
-#: builtin/grep.c:713
+#: builtin/grep.c:1044
 msgid "show <n> context lines after matches"
 msgstr "afficher <n> lignes de contexte après les correspondances"
 
-#: builtin/grep.c:715
+#: builtin/grep.c:1046
 msgid "use <n> worker threads"
 msgstr "utiliser <n> fils de travail"
 
-#: builtin/grep.c:716
+#: builtin/grep.c:1047
 msgid "shortcut for -C NUM"
 msgstr "raccourci pour -C NUM"
 
-#: builtin/grep.c:719
+#: builtin/grep.c:1050
 msgid "show a line with the function name before matches"
 msgstr ""
 "afficher une ligne avec le nom de la fonction avant les correspondances"
 
-#: builtin/grep.c:721
+#: builtin/grep.c:1052
 msgid "show the surrounding function"
 msgstr "afficher la fonction contenante"
 
-#: builtin/grep.c:724
+#: builtin/grep.c:1055
 msgid "read patterns from file"
 msgstr "lire les motifs depuis fichier"
 
-#: builtin/grep.c:726
+#: builtin/grep.c:1057
 msgid "match <pattern>"
 msgstr "rechercher <motif>"
 
-#: builtin/grep.c:728
+#: builtin/grep.c:1059
 msgid "combine patterns specified with -e"
 msgstr "combiner les motifs spécifiés par -e"
 
-#: builtin/grep.c:740
+#: builtin/grep.c:1071
 msgid "indicate hit with exit status without output"
 msgstr ""
 "indiquer des correspondances avec le code de sortie mais sans rien afficher"
 
-#: builtin/grep.c:742
+#: builtin/grep.c:1073
 msgid "show only matches from files that match all patterns"
 msgstr ""
 "n'afficher que les correspondances de fichiers qui correspondent à tous les "
 "motifs"
 
-#: builtin/grep.c:744
+#: builtin/grep.c:1075
 msgid "show parse tree for grep expression"
 msgstr "afficher l'arbre d'analyse pour le motif grep"
 
-#: builtin/grep.c:748
+#: builtin/grep.c:1079
 msgid "pager"
 msgstr "pagineur"
 
-#: builtin/grep.c:748
+#: builtin/grep.c:1079
 msgid "show matching files in the pager"
 msgstr "afficher les fichiers correspondant dans le pagineur"
 
-#: builtin/grep.c:751
+#: builtin/grep.c:1082
 msgid "allow calling of grep(1) (ignored by this build)"
 msgstr "permettre l'appel de grep(1) (ignoré par ce build)"
 
-#: builtin/grep.c:814
+#: builtin/grep.c:1146
 msgid "no pattern given."
 msgstr "aucun motif fourni."
 
-#: builtin/grep.c:846 builtin/index-pack.c:1480
+#: builtin/grep.c:1178 builtin/index-pack.c:1482
 #, c-format
 msgid "invalid number of threads specified (%d)"
 msgstr "nombre de fils spécifié invalide (%d)"
 
-#: builtin/grep.c:876
+#: builtin/grep.c:1215
 msgid "--open-files-in-pager only works on the worktree"
 msgstr "--open-files-in-pager ne fonctionne que sur la copie de travail"
 
-#: builtin/grep.c:902
+#: builtin/grep.c:1238
+msgid "option not supported with --recurse-submodules."
+msgstr "option non supportée avec --recurse-submodules."
+
+#: builtin/grep.c:1244
 msgid "--cached or --untracked cannot be used with --no-index."
 msgstr "--cached ou --untracked ne peuvent pas être utilisés avec --no-index."
 
-#: builtin/grep.c:907
+#: builtin/grep.c:1249
 msgid "--no-index or --untracked cannot be used with revs."
 msgstr ""
 "--no-index ou --untracked ne peuvent pas être utilisés avec des révisions."
 
-#: builtin/grep.c:910
+#: builtin/grep.c:1252
 msgid "--[no-]exclude-standard cannot be used for tracked contents."
 msgstr ""
 "--[no-]exclude-standard ne peut pas être utilisé avec du contenu suivi."
 
-#: builtin/grep.c:918
+#: builtin/grep.c:1260
 msgid "both --cached and trees are given."
 msgstr "--cached et des arbres sont fournis en même temps."
 
@@ -8439,184 +8851,188 @@
 msgstr "grave incohérence dans la décompression (inflate)"
 
 #: builtin/index-pack.c:748 builtin/index-pack.c:754 builtin/index-pack.c:777
-#: builtin/index-pack.c:811 builtin/index-pack.c:820
+#: builtin/index-pack.c:813 builtin/index-pack.c:822
 #, c-format
 msgid "SHA1 COLLISION FOUND WITH %s !"
 msgstr "COLLISION SHA1 TROUVÉE AVEC %s !"
 
-#: builtin/index-pack.c:751 builtin/pack-objects.c:166
-#: builtin/pack-objects.c:258
+#: builtin/index-pack.c:751 builtin/pack-objects.c:164
+#: builtin/pack-objects.c:256
 #, c-format
 msgid "unable to read %s"
 msgstr "impossible de lire %s"
 
-#: builtin/index-pack.c:817
+#: builtin/index-pack.c:819
 #, c-format
 msgid "cannot read existing object %s"
 msgstr "impossible de lire l'objet existant %s"
 
-#: builtin/index-pack.c:831
+#: builtin/index-pack.c:833
 #, c-format
 msgid "invalid blob object %s"
 msgstr "objet blob invalide %s"
 
-#: builtin/index-pack.c:845
+#: builtin/index-pack.c:847
 #, c-format
 msgid "invalid %s"
 msgstr "%s invalide"
 
-#: builtin/index-pack.c:848
+#: builtin/index-pack.c:850
 msgid "Error in object"
 msgstr "Erreur dans l'objet"
 
-#: builtin/index-pack.c:850
+#: builtin/index-pack.c:852
 #, c-format
 msgid "Not all child objects of %s are reachable"
 msgstr "Tous les objets enfants de %s ne sont pas accessibles"
 
-#: builtin/index-pack.c:922 builtin/index-pack.c:953
+#: builtin/index-pack.c:924 builtin/index-pack.c:955
 msgid "failed to apply delta"
 msgstr "échec d'application du delta"
 
-#: builtin/index-pack.c:1123
+#: builtin/index-pack.c:1125
 msgid "Receiving objects"
 msgstr "Réception d'objets"
 
-#: builtin/index-pack.c:1123
+#: builtin/index-pack.c:1125
 msgid "Indexing objects"
 msgstr "Indexation d'objets"
 
-#: builtin/index-pack.c:1155
+#: builtin/index-pack.c:1157
 msgid "pack is corrupted (SHA1 mismatch)"
 msgstr "le paquet est corrompu (SHA1 ne correspond pas)"
 
-#: builtin/index-pack.c:1160
+#: builtin/index-pack.c:1162
 msgid "cannot fstat packfile"
 msgstr "impossible d'obtenir le statut (fstat) du fichier paquet"
 
-#: builtin/index-pack.c:1163
+#: builtin/index-pack.c:1165
 msgid "pack has junk at the end"
 msgstr "le paquet est invalide à la fin"
 
-#: builtin/index-pack.c:1174
+#: builtin/index-pack.c:1176
 msgid "confusion beyond insanity in parse_pack_objects()"
 msgstr "confusion extrême dans parse_pack_objects()"
 
-#: builtin/index-pack.c:1197
+#: builtin/index-pack.c:1199
 msgid "Resolving deltas"
 msgstr "Résolution des deltas"
 
-#: builtin/index-pack.c:1208
+#: builtin/index-pack.c:1210
 #, c-format
 msgid "unable to create thread: %s"
 msgstr "impossible de créer le fil : %s"
 
-#: builtin/index-pack.c:1250
+#: builtin/index-pack.c:1252
 msgid "confusion beyond insanity"
 msgstr "confusion extrême"
 
-#: builtin/index-pack.c:1256
+#: builtin/index-pack.c:1258
 #, c-format
 msgid "completed with %d local object"
 msgid_plural "completed with %d local objects"
 msgstr[0] "complété avec %d objet local"
 msgstr[1] "complété avec %d objets locaux"
 
-#: builtin/index-pack.c:1268
+#: builtin/index-pack.c:1270
 #, c-format
 msgid "Unexpected tail checksum for %s (disk corruption?)"
 msgstr ""
 "Somme de contrôle de fin inattendue pour %s (corruption sur le disque ?)"
 
-#: builtin/index-pack.c:1272
+#: builtin/index-pack.c:1274
 #, c-format
 msgid "pack has %d unresolved delta"
 msgid_plural "pack has %d unresolved deltas"
 msgstr[0] "le paquet a %d delta non résolu"
 msgstr[1] "le paquet a %d deltas non résolus"
 
-#: builtin/index-pack.c:1296
+#: builtin/index-pack.c:1298
 #, c-format
 msgid "unable to deflate appended object (%d)"
 msgstr "impossible de compresser l'objet ajouté (%d)"
 
-#: builtin/index-pack.c:1372
+#: builtin/index-pack.c:1374
 #, c-format
 msgid "local object %s is corrupt"
 msgstr "l'objet local %s est corrompu"
 
-#: builtin/index-pack.c:1396
+#: builtin/index-pack.c:1398
 msgid "error while closing pack file"
 msgstr "erreur en fermeture du fichier paquet"
 
-#: builtin/index-pack.c:1409
+#: builtin/index-pack.c:1411
 #, c-format
 msgid "cannot write keep file '%s'"
 msgstr "impossible d'écrire le fichier \"keep\" '%s'"
 
-#: builtin/index-pack.c:1417
+#: builtin/index-pack.c:1419
 #, c-format
 msgid "cannot close written keep file '%s'"
 msgstr "impossible de fermer le fichier \"keep\" '%s'"
 
-#: builtin/index-pack.c:1430
+#: builtin/index-pack.c:1432
 msgid "cannot store pack file"
 msgstr "impossible de stocker le fichier paquet"
 
-#: builtin/index-pack.c:1441
+#: builtin/index-pack.c:1443
 msgid "cannot store index file"
 msgstr "impossible de stocker le fichier d'index"
 
-#: builtin/index-pack.c:1474
+#: builtin/index-pack.c:1476
 #, c-format
 msgid "bad pack.indexversion=%<PRIu32>"
 msgstr "mauvais pack.indexversion=%<PRIu32>"
 
-#: builtin/index-pack.c:1484 builtin/index-pack.c:1681
+#: builtin/index-pack.c:1486 builtin/index-pack.c:1683
 #, c-format
 msgid "no threads support, ignoring %s"
 msgstr "pas de support des fils, ignore %s"
 
-#: builtin/index-pack.c:1542
+#: builtin/index-pack.c:1544
 #, c-format
 msgid "Cannot open existing pack file '%s'"
 msgstr "Impossible d'ouvrir le fichier paquet existant '%s'"
 
-#: builtin/index-pack.c:1544
+#: builtin/index-pack.c:1546
 #, c-format
 msgid "Cannot open existing pack idx file for '%s'"
 msgstr "Impossible d'ouvrir le fichier paquet d'index existant pour '%s'"
 
-#: builtin/index-pack.c:1591
+#: builtin/index-pack.c:1593
 #, c-format
 msgid "non delta: %d object"
 msgid_plural "non delta: %d objects"
 msgstr[0] "pas un delta : %d objet"
 msgstr[1] "pas un delta : %d objets"
 
-#: builtin/index-pack.c:1598
+#: builtin/index-pack.c:1600
 #, c-format
 msgid "chain length = %d: %lu object"
 msgid_plural "chain length = %d: %lu objects"
 msgstr[0] "longueur chaînée = %d : %lu objet"
 msgstr[1] "longueur chaînée = %d : %lu objets"
 
-#: builtin/index-pack.c:1611
+#: builtin/index-pack.c:1613
 #, c-format
 msgid "packfile name '%s' does not end with '.pack'"
 msgstr "le nom de fichier paquet '%s' ne se termine pas par '.pack'"
 
-#: builtin/index-pack.c:1693 builtin/index-pack.c:1696
-#: builtin/index-pack.c:1712 builtin/index-pack.c:1716
+#: builtin/index-pack.c:1695 builtin/index-pack.c:1698
+#: builtin/index-pack.c:1714 builtin/index-pack.c:1718
 #, c-format
 msgid "bad %s"
 msgstr "mauvais %s"
 
-#: builtin/index-pack.c:1732
+#: builtin/index-pack.c:1734
 msgid "--fix-thin cannot be used without --stdin"
 msgstr "--fix-thin ne peut pas être utilisé sans --stdin"
 
-#: builtin/index-pack.c:1740
+#: builtin/index-pack.c:1736
+msgid "--stdin requires a git repository"
+msgstr "--stdin requiert un dépôt git"
+
+#: builtin/index-pack.c:1744
 msgid "--verify with no packfile name given"
 msgstr "--verify sans nom de fichier paquet donné"
 
@@ -8866,7 +9282,7 @@
 msgid "Unknown commit %s"
 msgstr "Commit inconnu %s"
 
-#: builtin/log.c:1258 builtin/notes.c:884 builtin/tag.c:455
+#: builtin/log.c:1258 builtin/notes.c:884 builtin/tag.c:476
 #, c-format
 msgid "Failed to resolve '%s' as a valid ref."
 msgstr "Impossible de résoudre '%s' comme une référence valide."
@@ -9105,106 +9521,106 @@
 "Impossible de trouver une branche distante suivie, merci de spécifier "
 "<branche_amont> manuellement.\n"
 
-#: builtin/ls-files.c:458
+#: builtin/ls-files.c:460
 msgid "git ls-files [<options>] [<file>...]"
 msgstr "git ls-files [<options>] [<fichier>...]"
 
-#: builtin/ls-files.c:507
+#: builtin/ls-files.c:509
 msgid "identify the file status with tags"
 msgstr "identifier le statut de fichier avec les étiquettes"
 
-#: builtin/ls-files.c:509
+#: builtin/ls-files.c:511
 msgid "use lowercase letters for 'assume unchanged' files"
 msgstr "utiliser des minuscules pour les fichier 'assumés inchangés'"
 
-#: builtin/ls-files.c:511
+#: builtin/ls-files.c:513
 msgid "show cached files in the output (default)"
 msgstr "afficher les fichiers mis en cache dans la sortie (défaut)"
 
-#: builtin/ls-files.c:513
+#: builtin/ls-files.c:515
 msgid "show deleted files in the output"
 msgstr "afficher les fichiers supprimés dans la sortie"
 
-#: builtin/ls-files.c:515
+#: builtin/ls-files.c:517
 msgid "show modified files in the output"
 msgstr "afficher les fichiers modifiés dans la sortie"
 
-#: builtin/ls-files.c:517
+#: builtin/ls-files.c:519
 msgid "show other files in the output"
 msgstr "afficher les autres fichiers dans la sortie"
 
-#: builtin/ls-files.c:519
+#: builtin/ls-files.c:521
 msgid "show ignored files in the output"
 msgstr "afficher les fichiers ignorés dans la sortie"
 
-#: builtin/ls-files.c:522
+#: builtin/ls-files.c:524
 msgid "show staged contents' object name in the output"
 msgstr "afficher les nom des objets indexés dans la sortie"
 
-#: builtin/ls-files.c:524
+#: builtin/ls-files.c:526
 msgid "show files on the filesystem that need to be removed"
 msgstr ""
 "afficher les fichiers du système de fichiers qui ont besoin d'être supprimés"
 
-#: builtin/ls-files.c:526
+#: builtin/ls-files.c:528
 msgid "show 'other' directories' names only"
 msgstr "afficher seulement les noms des répertoires 'other'"
 
-#: builtin/ls-files.c:528
+#: builtin/ls-files.c:530
 msgid "show line endings of files"
 msgstr "afficher les fins de lignes des fichiers"
 
-#: builtin/ls-files.c:530
+#: builtin/ls-files.c:532
 msgid "don't show empty directories"
 msgstr "ne pas afficher les répertoires vides"
 
-#: builtin/ls-files.c:533
+#: builtin/ls-files.c:535
 msgid "show unmerged files in the output"
 msgstr "afficher les fichiers non fusionnés dans la sortie"
 
-#: builtin/ls-files.c:535
+#: builtin/ls-files.c:537
 msgid "show resolve-undo information"
 msgstr "afficher l'information resolv-undo"
 
-#: builtin/ls-files.c:537
+#: builtin/ls-files.c:539
 msgid "skip files matching pattern"
 msgstr "sauter les fichiers correspondant au motif"
 
-#: builtin/ls-files.c:540
+#: builtin/ls-files.c:542
 msgid "exclude patterns are read from <file>"
 msgstr "les motifs d'exclusion sont lus depuis <fichier>"
 
-#: builtin/ls-files.c:543
+#: builtin/ls-files.c:545
 msgid "read additional per-directory exclude patterns in <file>"
 msgstr "lire des motifs d'exclusion additionnels par répertoire dans <fichier>"
 
-#: builtin/ls-files.c:545
+#: builtin/ls-files.c:547
 msgid "add the standard git exclusions"
 msgstr "ajouter les exclusions git standard"
 
-#: builtin/ls-files.c:548
+#: builtin/ls-files.c:550
 msgid "make the output relative to the project top directory"
 msgstr "afficher en relatif par rapport au répertoire racine du projet"
 
-#: builtin/ls-files.c:551
+#: builtin/ls-files.c:553
 msgid "recurse through submodules"
 msgstr "parcourir récursivement les sous-modules"
 
-#: builtin/ls-files.c:553
+#: builtin/ls-files.c:555
 msgid "if any <file> is not in the index, treat this as an error"
 msgstr "si un <fichier> n'est pas dans l'index, traiter cela comme une erreur"
 
-#: builtin/ls-files.c:554
+#: builtin/ls-files.c:556
 msgid "tree-ish"
 msgstr "arbre ou apparenté"
 
-#: builtin/ls-files.c:555
+#: builtin/ls-files.c:557
 msgid "pretend that paths removed since <tree-ish> are still present"
 msgstr ""
 "considérer que les chemins supprimés depuis <arbre ou apparenté> sont "
 "toujours présents"
 
-#: builtin/ls-files.c:557
+#: builtin/ls-files.c:559
 msgid "show debugging data"
 msgstr "afficher les données de débogage"
 
@@ -9260,35 +9676,35 @@
 msgid "git ls-tree [<options>] <tree-ish> [<path>...]"
 msgstr "git ls-tree [<options>] <arbre ou apparenté> [<chemin>...]"
 
-#: builtin/ls-tree.c:128
+#: builtin/ls-tree.c:126
 msgid "only show trees"
 msgstr "afficher seulement les arbres"
 
-#: builtin/ls-tree.c:130
+#: builtin/ls-tree.c:128
 msgid "recurse into subtrees"
 msgstr "parcourir les sous-arbres"
 
-#: builtin/ls-tree.c:132
+#: builtin/ls-tree.c:130
 msgid "show trees when recursing"
 msgstr "afficher les arbres en les parcourant"
 
-#: builtin/ls-tree.c:135
+#: builtin/ls-tree.c:133
 msgid "terminate entries with NUL byte"
 msgstr "terminer les éléments avec un octet NUL"
 
-#: builtin/ls-tree.c:136
+#: builtin/ls-tree.c:134
 msgid "include object size"
 msgstr "inclure la taille d'objet"
 
-#: builtin/ls-tree.c:138 builtin/ls-tree.c:140
+#: builtin/ls-tree.c:136 builtin/ls-tree.c:138
 msgid "list only filenames"
 msgstr "afficher seulement les noms de fichiers"
 
-#: builtin/ls-tree.c:143
+#: builtin/ls-tree.c:141
 msgid "use full path names"
 msgstr "utiliser les noms de chemins complets"
 
-#: builtin/ls-tree.c:145
+#: builtin/ls-tree.c:143
 msgid "list entire tree; not just current directory (implies --full-name)"
 msgstr ""
 "afficher l'arbre entier ; pas seulement le répertoire courant (implique --"
@@ -9306,165 +9722,173 @@
 msgid "git merge --abort"
 msgstr "git merge --abort"
 
-#: builtin/merge.c:102
+#: builtin/merge.c:49
+msgid "git merge --continue"
+msgstr "git merge --continue"
+
+#: builtin/merge.c:104
 msgid "switch `m' requires a value"
 msgstr "le commutateur `m' a besoin d'une valeur"
 
-#: builtin/merge.c:139
+#: builtin/merge.c:141
 #, c-format
 msgid "Could not find merge strategy '%s'.\n"
 msgstr "Impossible de trouver la stratégie de fusion '%s'.\n"
 
-#: builtin/merge.c:140
+#: builtin/merge.c:142
 #, c-format
 msgid "Available strategies are:"
 msgstr "Les stratégies disponibles sont :"
 
-#: builtin/merge.c:145
+#: builtin/merge.c:147
 #, c-format
 msgid "Available custom strategies are:"
 msgstr "Les stratégies personnalisées sont :"
 
-#: builtin/merge.c:195 builtin/pull.c:127
+#: builtin/merge.c:197 builtin/pull.c:127
 msgid "do not show a diffstat at the end of the merge"
 msgstr "ne pas afficher un diffstat à la fin de la fusion"
 
-#: builtin/merge.c:198 builtin/pull.c:130
+#: builtin/merge.c:200 builtin/pull.c:130
 msgid "show a diffstat at the end of the merge"
 msgstr "afficher un diffstat à la fin de la fusion"
 
-#: builtin/merge.c:199 builtin/pull.c:133
+#: builtin/merge.c:201 builtin/pull.c:133
 msgid "(synonym to --stat)"
 msgstr "(synonyme de --stat)"
 
-#: builtin/merge.c:201 builtin/pull.c:136
+#: builtin/merge.c:203 builtin/pull.c:136
 msgid "add (at most <n>) entries from shortlog to merge commit message"
 msgstr ""
 "ajouter (au plus <n>) éléments du journal court au message de validation de "
 "la fusion"
 
-#: builtin/merge.c:204 builtin/pull.c:139
+#: builtin/merge.c:206 builtin/pull.c:139
 msgid "create a single commit instead of doing a merge"
 msgstr "créer une validation unique au lieu de faire une fusion"
 
-#: builtin/merge.c:206 builtin/pull.c:142
+#: builtin/merge.c:208 builtin/pull.c:142
 msgid "perform a commit if the merge succeeds (default)"
 msgstr "effectuer une validation si la fusion réussit (défaut)"
 
-#: builtin/merge.c:208 builtin/pull.c:145
+#: builtin/merge.c:210 builtin/pull.c:145
 msgid "edit message before committing"
 msgstr "éditer le message avant la validation"
 
-#: builtin/merge.c:209
+#: builtin/merge.c:211
 msgid "allow fast-forward (default)"
 msgstr "autoriser l'avance rapide (défaut)"
 
-#: builtin/merge.c:211 builtin/pull.c:151
+#: builtin/merge.c:213 builtin/pull.c:151
 msgid "abort if fast-forward is not possible"
 msgstr "abandonner si l'avance rapide n'est pas possible"
 
-#: builtin/merge.c:215 builtin/pull.c:154
+#: builtin/merge.c:217 builtin/pull.c:154
 msgid "verify that the named commit has a valid GPG signature"
 msgstr "vérifier que le commit nommé a une signature GPG valide"
 
-#: builtin/merge.c:216 builtin/notes.c:774 builtin/pull.c:158
+#: builtin/merge.c:218 builtin/notes.c:774 builtin/pull.c:158
 #: builtin/revert.c:89
 msgid "strategy"
 msgstr "stratégie"
 
-#: builtin/merge.c:217 builtin/pull.c:159
+#: builtin/merge.c:219 builtin/pull.c:159
 msgid "merge strategy to use"
 msgstr "stratégie de fusion à utiliser"
 
-#: builtin/merge.c:218 builtin/pull.c:162
+#: builtin/merge.c:220 builtin/pull.c:162
 msgid "option=value"
 msgstr "option=valeur"
 
-#: builtin/merge.c:219 builtin/pull.c:163
+#: builtin/merge.c:221 builtin/pull.c:163
 msgid "option for selected merge strategy"
 msgstr "option pour la stratégie de fusion sélectionnée"
 
-#: builtin/merge.c:221
+#: builtin/merge.c:223
 msgid "merge commit message (for a non-fast-forward merge)"
 msgstr ""
 "message de validation de la fusion (pour une fusion sans avance rapide)"
 
-#: builtin/merge.c:225
+#: builtin/merge.c:227
 msgid "abort the current in-progress merge"
 msgstr "abandonner la fusion en cours"
 
-#: builtin/merge.c:227 builtin/pull.c:170
+#: builtin/merge.c:229
+msgid "continue the current in-progress merge"
+msgstr "continuer la fusion en cours"
+
+#: builtin/merge.c:231 builtin/pull.c:170
 msgid "allow merging unrelated histories"
 msgstr "permettre la fusion d'historiques sans rapport"
 
-#: builtin/merge.c:255
+#: builtin/merge.c:259
 msgid "could not run stash."
 msgstr "impossible de lancer le remisage."
 
-#: builtin/merge.c:260
+#: builtin/merge.c:264
 msgid "stash failed"
 msgstr "échec du remisage"
 
-#: builtin/merge.c:265
+#: builtin/merge.c:269
 #, c-format
 msgid "not a valid object: %s"
 msgstr "pas un objet valide : %s"
 
-#: builtin/merge.c:284 builtin/merge.c:301
+#: builtin/merge.c:288 builtin/merge.c:305
 msgid "read-tree failed"
 msgstr "read-tree a échoué"
 
-#: builtin/merge.c:331
+#: builtin/merge.c:335
 msgid " (nothing to squash)"
 msgstr " (rien à compresser)"
 
-#: builtin/merge.c:342
+#: builtin/merge.c:346
 #, c-format
 msgid "Squash commit -- not updating HEAD\n"
 msgstr "Validation compressée -- HEAD non mise à jour\n"
 
-#: builtin/merge.c:392
+#: builtin/merge.c:396
 #, c-format
 msgid "No merge message -- not updating HEAD\n"
 msgstr "Pas de message de fusion -- pas de mise à jour de HEAD\n"
 
-#: builtin/merge.c:443
+#: builtin/merge.c:447
 #, c-format
 msgid "'%s' does not point to a commit"
 msgstr "'%s' ne pointe pas sur un commit"
 
-#: builtin/merge.c:533
+#: builtin/merge.c:537
 #, c-format
 msgid "Bad branch.%s.mergeoptions string: %s"
 msgstr "Mauvaise chaîne branch.%s.mergeoptions : %s"
 
-#: builtin/merge.c:652
+#: builtin/merge.c:656
 msgid "Not handling anything other than two heads merge."
 msgstr "Impossible de gérer autre chose que la fusion de deux têtes."
 
-#: builtin/merge.c:666
+#: builtin/merge.c:670
 #, c-format
 msgid "Unknown option for merge-recursive: -X%s"
 msgstr "Options inconnue pour merge-recursive : -X%s"
 
-#: builtin/merge.c:681
+#: builtin/merge.c:685
 #, c-format
 msgid "unable to write %s"
 msgstr "impossible d'écrire %s"
 
-#: builtin/merge.c:733
+#: builtin/merge.c:737
 #, c-format
 msgid "Could not read from '%s'"
 msgstr "Impossible de lire depuis '%s'"
 
-#: builtin/merge.c:742
+#: builtin/merge.c:746
 #, c-format
 msgid "Not committing merge; use 'git commit' to complete the merge.\n"
 msgstr ""
 "Pas de validation de la fusion ; utilisez 'git commit' pour terminer la "
 "fusion.\n"
 
-#: builtin/merge.c:748
+#: builtin/merge.c:752
 #, c-format
 msgid ""
 "Please enter a commit message to explain why this merge is necessary,\n"
@@ -9481,68 +9905,80 @@
 "Les lignes commençant par '%c' seront ignorées, et un message vide\n"
 "abandonne la validation.\n"
 
-#: builtin/merge.c:772
+#: builtin/merge.c:776
 msgid "Empty commit message."
 msgstr "Message de validation vide."
 
-#: builtin/merge.c:792
+#: builtin/merge.c:796
 #, c-format
 msgid "Wonderful.\n"
 msgstr "Merveilleux.\n"
 
-#: builtin/merge.c:847
+#: builtin/merge.c:851
 #, c-format
 msgid "Automatic merge failed; fix conflicts and then commit the result.\n"
 msgstr ""
 "La fusion automatique a échoué ; réglez les conflits et validez le "
 "résultat.\n"
 
-#: builtin/merge.c:863
+#: builtin/merge.c:867
 #, c-format
 msgid "'%s' is not a commit"
 msgstr "'%s' n'est pas une validation"
 
-#: builtin/merge.c:904
+#: builtin/merge.c:908
 msgid "No current branch."
 msgstr "Pas de branche courante."
 
-#: builtin/merge.c:906
+#: builtin/merge.c:910
 msgid "No remote for the current branch."
 msgstr "Pas de branche distante pour la branche courante."
 
-#: builtin/merge.c:908
+#: builtin/merge.c:912
 msgid "No default upstream defined for the current branch."
 msgstr "Pas de branche amont par défaut définie pour la branche courante."
 
-#: builtin/merge.c:913
+#: builtin/merge.c:917
 #, c-format
 msgid "No remote-tracking branch for %s from %s"
 msgstr "Pas de branche de suivi pour %s depuis %s"
 
-#: builtin/merge.c:960
+#: builtin/merge.c:964
 #, c-format
 msgid "Bad value '%s' in environment '%s'"
 msgstr "Mauvaise valeur '%s' dans l'environnement '%s'"
 
-#: builtin/merge.c:1034
+#: builtin/merge.c:1038
 #, c-format
 msgid "could not close '%s'"
 msgstr "impossible de fermer '%s'"
 
-#: builtin/merge.c:1061
+#: builtin/merge.c:1065
 #, c-format
 msgid "not something we can merge in %s: %s"
 msgstr "pas possible de fusionner ceci dans %s : %s"
 
-#: builtin/merge.c:1095
+#: builtin/merge.c:1099
 msgid "not something we can merge"
 msgstr "pas possible de fusionner ceci"
 
-#: builtin/merge.c:1162
+#: builtin/merge.c:1167
+msgid "--abort expects no arguments"
+msgstr "--abort n'accepte pas d'argument"
+
+#: builtin/merge.c:1171
 msgid "There is no merge to abort (MERGE_HEAD missing)."
 msgstr "Il n'y a pas de fusion à abandonner (MERGE_HEAD manquant)."
 
-#: builtin/merge.c:1178
+#: builtin/merge.c:1183
+msgid "--continue expects no arguments"
+msgstr "--continue ne supporte aucun argument"
+
+#: builtin/merge.c:1187
+msgid "There is no merge in progress (MERGE_HEAD missing)."
+msgstr "Il n'y a pas de fusion en cours (MERGE_HEAD manquant)."
+
+#: builtin/merge.c:1203
 msgid ""
 "You have not concluded your merge (MERGE_HEAD exists).\n"
 "Please, commit your changes before you merge."
@@ -9550,7 +9986,7 @@
 "Vous n'avez pas terminé votre fusion (MERGE_HEAD existe).\n"
 "Veuillez valider vos modifications avant de pouvoir fusionner."
 
-#: builtin/merge.c:1185
+#: builtin/merge.c:1210
 msgid ""
 "You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists).\n"
 "Please, commit your changes before you merge."
@@ -9558,114 +9994,114 @@
 "Vous n'avez pas terminé votre picorage (CHERRY_PICK_HEAD existe).\n"
 "Veuillez valider vos modifications avant de pouvoir fusionner."
 
-#: builtin/merge.c:1188
+#: builtin/merge.c:1213
 msgid "You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists)."
 msgstr "Vous n'avez pas terminé votre picorage (CHERRY_PICK_HEAD existe)."
 
-#: builtin/merge.c:1197
+#: builtin/merge.c:1222
 msgid "You cannot combine --squash with --no-ff."
 msgstr "Vous ne pouvez pas combiner --squash avec --no-ff."
 
-#: builtin/merge.c:1205
+#: builtin/merge.c:1230
 msgid "No commit specified and merge.defaultToUpstream not set."
 msgstr ""
 "Pas de validation spécifiée et merge.defaultToUpstream n'est pas défini."
 
-#: builtin/merge.c:1222
+#: builtin/merge.c:1247
 msgid "Squash commit into empty head not supported yet"
 msgstr "La validation compressée vers une tête vide n'est pas encore supportée"
 
-#: builtin/merge.c:1224
+#: builtin/merge.c:1249
 msgid "Non-fast-forward commit does not make sense into an empty head"
 msgstr "Une validation sans avance rapide n'a pas de sens dans une tête vide"
 
-#: builtin/merge.c:1229
+#: builtin/merge.c:1254
 #, c-format
 msgid "%s - not something we can merge"
 msgstr "%s - pas possible de fusionner ceci"
 
-#: builtin/merge.c:1231
+#: builtin/merge.c:1256
 msgid "Can merge only exactly one commit into empty head"
 msgstr ""
 "Possible de fusionner exactement une seule validation dans une tête vide"
 
-#: builtin/merge.c:1287
+#: builtin/merge.c:1312
 #, c-format
 msgid "Commit %s has an untrusted GPG signature, allegedly by %s."
 msgstr "La validation %s a une signature GPG non fiable, prétendument par %s."
 
-#: builtin/merge.c:1290
+#: builtin/merge.c:1315
 #, c-format
 msgid "Commit %s has a bad GPG signature allegedly by %s."
 msgstr "La validation %s a une mauvaise signature GPG prétendument par %s."
 
-#: builtin/merge.c:1293
+#: builtin/merge.c:1318
 #, c-format
 msgid "Commit %s does not have a GPG signature."
 msgstr "La validation %s n'a pas de signature GPG."
 
-#: builtin/merge.c:1296
+#: builtin/merge.c:1321
 #, c-format
 msgid "Commit %s has a good GPG signature by %s\n"
 msgstr "La validation %s a une signature GPG correcte par %s\n"
 
-#: builtin/merge.c:1358
+#: builtin/merge.c:1383
 msgid "refusing to merge unrelated histories"
 msgstr "refus de fusionner des historiques sans relation"
 
-#: builtin/merge.c:1367
+#: builtin/merge.c:1392
 msgid "Already up-to-date."
 msgstr "Déjà à jour."
 
-#: builtin/merge.c:1377
+#: builtin/merge.c:1402
 #, c-format
 msgid "Updating %s..%s\n"
 msgstr "Mise à jour %s..%s\n"
 
-#: builtin/merge.c:1418
+#: builtin/merge.c:1443
 #, c-format
 msgid "Trying really trivial in-index merge...\n"
 msgstr "Essai de fusion vraiment triviale dans l'index...\n"
 
-#: builtin/merge.c:1425
+#: builtin/merge.c:1450
 #, c-format
 msgid "Nope.\n"
 msgstr "Non.\n"
 
-#: builtin/merge.c:1450
+#: builtin/merge.c:1475
 msgid "Already up-to-date. Yeeah!"
 msgstr "Déjà à jour. Ouais !"
 
-#: builtin/merge.c:1456
+#: builtin/merge.c:1481
 msgid "Not possible to fast-forward, aborting."
 msgstr "Pas possible d'avancer rapidement, abandon."
 
-#: builtin/merge.c:1479 builtin/merge.c:1558
+#: builtin/merge.c:1504 builtin/merge.c:1583
 #, c-format
 msgid "Rewinding the tree to pristine...\n"
 msgstr "Retour de l'arbre à l'original...\n"
 
-#: builtin/merge.c:1483
+#: builtin/merge.c:1508
 #, c-format
 msgid "Trying merge strategy %s...\n"
 msgstr "Essai de la stratégie de fusion %s...\n"
 
-#: builtin/merge.c:1549
+#: builtin/merge.c:1574
 #, c-format
 msgid "No merge strategy handled the merge.\n"
 msgstr "Aucune stratégie de fusion n'a pris en charge la fusion.\n"
 
-#: builtin/merge.c:1551
+#: builtin/merge.c:1576
 #, c-format
 msgid "Merge with strategy %s failed.\n"
 msgstr "La fusion avec la stratégie %s a échoué.\n"
 
-#: builtin/merge.c:1560
+#: builtin/merge.c:1585
 #, c-format
 msgid "Using the %s to prepare resolving by hand.\n"
 msgstr "Utilisation de %s pour préparer la résolution à la main.\n"
 
-#: builtin/merge.c:1572
+#: builtin/merge.c:1597
 #, c-format
 msgid "Automatic merge went well; stopped before committing as requested\n"
 msgstr ""
@@ -9798,96 +10234,96 @@
 msgid "allow creation of more than one tree"
 msgstr "autoriser la création de plus d'un arbre"
 
-#: builtin/mv.c:15
+#: builtin/mv.c:16
 msgid "git mv [<options>] <source>... <destination>"
 msgstr "git mv [<options>] <source>... <destination>"
 
-#: builtin/mv.c:70
+#: builtin/mv.c:82
 #, c-format
 msgid "Directory %s is in index and no submodule?"
 msgstr "Le répertoire %s est dans l'index et pourtant aucun sous-module ?"
 
-#: builtin/mv.c:72 builtin/rm.c:317
+#: builtin/mv.c:84 builtin/rm.c:290
 msgid "Please stage your changes to .gitmodules or stash them to proceed"
 msgstr ""
 "Veuillez indexer vos modifications de .gitmodules ou les remiser pour "
 "continuer"
 
-#: builtin/mv.c:90
+#: builtin/mv.c:102
 #, c-format
 msgid "%.*s is in index"
 msgstr "%.*s est dans l'index"
 
-#: builtin/mv.c:112
+#: builtin/mv.c:124
 msgid "force move/rename even if target exists"
 msgstr "forcer le déplacement/renommage même si la cible existe"
 
-#: builtin/mv.c:113
+#: builtin/mv.c:125
 msgid "skip move/rename errors"
 msgstr "sauter les erreurs de déplacement/renommage"
 
-#: builtin/mv.c:155
+#: builtin/mv.c:167
 #, c-format
 msgid "destination '%s' is not a directory"
 msgstr "la destination '%s' n'est pas un répertoire"
 
-#: builtin/mv.c:166
+#: builtin/mv.c:178
 #, c-format
 msgid "Checking rename of '%s' to '%s'\n"
 msgstr "Vérification du renommage de '%s' en '%s'\n"
 
-#: builtin/mv.c:170
+#: builtin/mv.c:182
 msgid "bad source"
 msgstr "mauvaise source"
 
-#: builtin/mv.c:173
+#: builtin/mv.c:185
 msgid "can not move directory into itself"
 msgstr "impossible de déplacer un répertoire dans lui-même"
 
-#: builtin/mv.c:176
+#: builtin/mv.c:188
 msgid "cannot move directory over file"
 msgstr "impossible de déplacer un répertoire sur un fichier"
 
-#: builtin/mv.c:185
+#: builtin/mv.c:197
 msgid "source directory is empty"
 msgstr "le répertoire source est vide"
 
-#: builtin/mv.c:210
+#: builtin/mv.c:222
 msgid "not under version control"
 msgstr "pas sous le contrôle de version"
 
-#: builtin/mv.c:213
+#: builtin/mv.c:225
 msgid "destination exists"
 msgstr "la destination existe"
 
-#: builtin/mv.c:221
+#: builtin/mv.c:233
 #, c-format
 msgid "overwriting '%s'"
 msgstr "écrasement de '%s'"
 
-#: builtin/mv.c:224
+#: builtin/mv.c:236
 msgid "Cannot overwrite"
 msgstr "Impossible d'écraser"
 
-#: builtin/mv.c:227
+#: builtin/mv.c:239
 msgid "multiple sources for the same target"
 msgstr "multiples sources pour la même destination"
 
-#: builtin/mv.c:229
+#: builtin/mv.c:241
 msgid "destination directory does not exist"
 msgstr "le répertoire de destination n'existe pas"
 
-#: builtin/mv.c:236
+#: builtin/mv.c:248
 #, c-format
 msgid "%s, source=%s, destination=%s"
 msgstr "%s, source=%s, destination=%s"
 
-#: builtin/mv.c:257
+#: builtin/mv.c:269
 #, c-format
 msgid "Renaming %s to %s\n"
 msgstr "Renommage de %s en %s\n"
 
-#: builtin/mv.c:263 builtin/remote.c:710 builtin/repack.c:375
+#: builtin/mv.c:275 builtin/remote.c:710 builtin/repack.c:384
 #, c-format
 msgid "renaming '%s' failed"
 msgstr "le renommage de '%s' a échoué"
@@ -10076,12 +10512,12 @@
 msgid "the note contents have been left in %s"
 msgstr "le contenu de la note a été laissé dans %s"
 
-#: builtin/notes.c:233 builtin/tag.c:439
+#: builtin/notes.c:233 builtin/tag.c:460
 #, c-format
 msgid "cannot read '%s'"
 msgstr "impossible de lire '%s'"
 
-#: builtin/notes.c:235 builtin/tag.c:442
+#: builtin/notes.c:235 builtin/tag.c:463
 #, c-format
 msgid "could not open or read '%s'"
 msgstr "impossible d'ouvrir ou lire '%s'"
@@ -10363,186 +10799,186 @@
 "git pack-objects [options...] base-name [< <liste-références> | < <liste-"
 "objets>]"
 
-#: builtin/pack-objects.c:179 builtin/pack-objects.c:182
+#: builtin/pack-objects.c:177 builtin/pack-objects.c:180
 #, c-format
 msgid "deflate error (%d)"
 msgstr "erreur de compression (%d)"
 
-#: builtin/pack-objects.c:768
+#: builtin/pack-objects.c:766
 msgid "disabling bitmap writing, packs are split due to pack.packSizeLimit"
 msgstr ""
 "désactivation de l'écriture en bitmap, les fichiers paquets sont scindés à "
 "cause de pack.packSizeLimit"
 
-#: builtin/pack-objects.c:781
+#: builtin/pack-objects.c:779
 msgid "Writing objects"
 msgstr "Écriture des objets"
 
-#: builtin/pack-objects.c:1070
+#: builtin/pack-objects.c:1068
 msgid "disabling bitmap writing, as some objects are not being packed"
 msgstr ""
 "désactivation de l'écriture en bitmap car certains objets ne sont pas "
 "compressés"
 
-#: builtin/pack-objects.c:2346
+#: builtin/pack-objects.c:2344
 msgid "Compressing objects"
 msgstr "Compression des objets"
 
-#: builtin/pack-objects.c:2759
+#: builtin/pack-objects.c:2747
 #, c-format
 msgid "unsupported index version %s"
 msgstr "version d'index non supportée %s"
 
-#: builtin/pack-objects.c:2763
+#: builtin/pack-objects.c:2751
 #, c-format
 msgid "bad index version '%s'"
 msgstr "mauvaise version d'index '%s'"
 
-#: builtin/pack-objects.c:2793
+#: builtin/pack-objects.c:2781
 msgid "do not show progress meter"
 msgstr "ne pas afficher la barre de progression"
 
-#: builtin/pack-objects.c:2795
+#: builtin/pack-objects.c:2783
 msgid "show progress meter"
 msgstr "afficher la barre de progression"
 
-#: builtin/pack-objects.c:2797
+#: builtin/pack-objects.c:2785
 msgid "show progress meter during object writing phase"
 msgstr "afficher la barre de progression durant la phase d'écrite des objets"
 
-#: builtin/pack-objects.c:2800
+#: builtin/pack-objects.c:2788
 msgid "similar to --all-progress when progress meter is shown"
 msgstr "similaire à --all-progress quand la barre de progression est affichée"
 
-#: builtin/pack-objects.c:2801
+#: builtin/pack-objects.c:2789
 msgid "version[,offset]"
 msgstr "version[,offset]"
 
-#: builtin/pack-objects.c:2802
+#: builtin/pack-objects.c:2790
 msgid "write the pack index file in the specified idx format version"
 msgstr ""
 "écrire le fichier d'index du paquet dans le format d'index de version "
 "spécifié"
 
-#: builtin/pack-objects.c:2805
+#: builtin/pack-objects.c:2793
 msgid "maximum size of each output pack file"
 msgstr "taille maximum de chaque fichier paquet en sortie"
 
-#: builtin/pack-objects.c:2807
+#: builtin/pack-objects.c:2795
 msgid "ignore borrowed objects from alternate object store"
 msgstr "ignorer les objets empruntés à un autre magasin d'objets"
 
-#: builtin/pack-objects.c:2809
+#: builtin/pack-objects.c:2797
 msgid "ignore packed objects"
 msgstr "ignorer les objets empaquetés"
 
-#: builtin/pack-objects.c:2811
+#: builtin/pack-objects.c:2799
 msgid "limit pack window by objects"
 msgstr "limiter la fenêtre d'empaquetage par objets"
 
-#: builtin/pack-objects.c:2813
+#: builtin/pack-objects.c:2801
 msgid "limit pack window by memory in addition to object limit"
 msgstr ""
 "limiter la fenêtre d'empaquetage par mémoire en plus de la limite d'objets"
 
-#: builtin/pack-objects.c:2815
+#: builtin/pack-objects.c:2803
 msgid "maximum length of delta chain allowed in the resulting pack"
 msgstr ""
 "longueur maximum de la chaîne de delta autorisée dans le paquet résultant"
 
-#: builtin/pack-objects.c:2817
+#: builtin/pack-objects.c:2805
 msgid "reuse existing deltas"
 msgstr "réutiliser les deltas existants"
 
-#: builtin/pack-objects.c:2819
+#: builtin/pack-objects.c:2807
 msgid "reuse existing objects"
 msgstr "réutiliser les objets existants"
 
-#: builtin/pack-objects.c:2821
+#: builtin/pack-objects.c:2809
 msgid "use OFS_DELTA objects"
 msgstr "utiliser les objets OFS_DELTA"
 
-#: builtin/pack-objects.c:2823
+#: builtin/pack-objects.c:2811
 msgid "use threads when searching for best delta matches"
 msgstr ""
 "utiliser des fils lors de la recherche pour une meilleurs correspondance des "
 "deltas"
 
-#: builtin/pack-objects.c:2825
+#: builtin/pack-objects.c:2813
 msgid "do not create an empty pack output"
 msgstr "ne pas créer un paquet vide"
 
-#: builtin/pack-objects.c:2827
+#: builtin/pack-objects.c:2815
 msgid "read revision arguments from standard input"
 msgstr "lire les paramètres de révision depuis l'entrée standard"
 
-#: builtin/pack-objects.c:2829
+#: builtin/pack-objects.c:2817
 msgid "limit the objects to those that are not yet packed"
 msgstr "limiter les objets à ceux qui ne sont pas encore empaquetés"
 
-#: builtin/pack-objects.c:2832
+#: builtin/pack-objects.c:2820
 msgid "include objects reachable from any reference"
 msgstr "inclure les objets accessibles depuis toute référence"
 
-#: builtin/pack-objects.c:2835
+#: builtin/pack-objects.c:2823
 msgid "include objects referred by reflog entries"
 msgstr "inclure les objets référencés par les éléments de reflog"
 
-#: builtin/pack-objects.c:2838
+#: builtin/pack-objects.c:2826
 msgid "include objects referred to by the index"
 msgstr "inclure les objets référencés par l'index"
 
-#: builtin/pack-objects.c:2841
+#: builtin/pack-objects.c:2829
 msgid "output pack to stdout"
 msgstr "afficher l'empaquetage sur la sortie standard"
 
-#: builtin/pack-objects.c:2843
+#: builtin/pack-objects.c:2831
 msgid "include tag objects that refer to objects to be packed"
 msgstr "inclure les objets d'étiquettes qui réfèrent à des objets à empaqueter"
 
-#: builtin/pack-objects.c:2845
+#: builtin/pack-objects.c:2833
 msgid "keep unreachable objects"
 msgstr "garder les objets inaccessibles"
 
-#: builtin/pack-objects.c:2847
+#: builtin/pack-objects.c:2835
 msgid "pack loose unreachable objects"
 msgstr "empaqueter les objets inaccessibles détachés"
 
-#: builtin/pack-objects.c:2849
+#: builtin/pack-objects.c:2837
 msgid "unpack unreachable objects newer than <time>"
 msgstr "dépaqueter les objets inaccessibles plus récents que <heure>"
 
-#: builtin/pack-objects.c:2852
+#: builtin/pack-objects.c:2840
 msgid "create thin packs"
 msgstr "créer des paquets légers"
 
-#: builtin/pack-objects.c:2854
+#: builtin/pack-objects.c:2842
 msgid "create packs suitable for shallow fetches"
 msgstr "créer des paquets permettant des récupérations superficielles"
 
-#: builtin/pack-objects.c:2856
+#: builtin/pack-objects.c:2844
 msgid "ignore packs that have companion .keep file"
 msgstr "ignorer les paquets qui ont un fichier .keep"
 
-#: builtin/pack-objects.c:2858
+#: builtin/pack-objects.c:2846
 msgid "pack compression level"
 msgstr "niveau de compression du paquet"
 
-#: builtin/pack-objects.c:2860
+#: builtin/pack-objects.c:2848
 msgid "do not hide commits by grafts"
 msgstr "ne pas cacher les validations par greffes"
 
-#: builtin/pack-objects.c:2862
+#: builtin/pack-objects.c:2850
 msgid "use a bitmap index if available to speed up counting objects"
 msgstr ""
 "utiliser un index en bitmap si disponible pour accélerer le décompte des "
 "objets"
 
-#: builtin/pack-objects.c:2864
+#: builtin/pack-objects.c:2852
 msgid "write a bitmap index together with the pack index"
 msgstr "écrire un index en bitmap associé à l'index de paquet"
 
-#: builtin/pack-objects.c:2993
+#: builtin/pack-objects.c:2979
 msgid "Counting objects"
 msgstr "Décompte des objets"
 
@@ -10570,11 +11006,11 @@
 msgid "git prune [-n] [-v] [--expire <time>] [--] [<head>...]"
 msgstr "git prune [-n] [-v] [--expire <heure>] [--] [<head>...]"
 
-#: builtin/prune.c:106 builtin/worktree.c:128
+#: builtin/prune.c:106
 msgid "report pruned objects"
 msgstr "afficher les objets éliminés"
 
-#: builtin/prune.c:109 builtin/worktree.c:130
+#: builtin/prune.c:109
 msgid "expire objects older than <time>"
 msgstr "faire expirer les objets plus vieux que <heure>"
 
@@ -10676,7 +11112,7 @@
 msgid "<remote>"
 msgstr "<distant>"
 
-#: builtin/pull.c:415 builtin/pull.c:430 builtin/pull.c:435 git-rebase.sh:451
+#: builtin/pull.c:415 builtin/pull.c:430 builtin/pull.c:435 git-rebase.sh:455
 #: git-parse-remote.sh:65
 msgid "<branch>"
 msgstr "<branche>"
@@ -10746,8 +11182,7 @@
 "to recover."
 msgstr ""
 "Avance rapide de votre arbre de travail impossible.\n"
-"Après vous être assuré que toute modification précieuse a été sauvegardée "
-"avec\n"
+"Après avoir vérifié que toute modification précieuse a été sauvegardée avec\n"
 "$ git diff %s\n"
 "lancez\n"
 "$ git reset --hard\n"
@@ -10853,14 +11288,14 @@
 "pas une branche amont de votre branche courante '%s', sans me dire\n"
 "quoi pousser pour mettre à jour quelle branche amont."
 
-#: builtin/push.c:242
+#: builtin/push.c:245
 msgid ""
 "You didn't specify any refspecs to push, and push.default is \"nothing\"."
 msgstr ""
 "Vous n'avez pas spécifié de spécifications de référence à pousser, et push."
 "default est \"nothing\"."
 
-#: builtin/push.c:249
+#: builtin/push.c:252
 msgid ""
 "Updates were rejected because the tip of your current branch is behind\n"
 "its remote counterpart. Integrate the remote changes (e.g.\n"
@@ -10875,7 +11310,7 @@
 "Voir la 'Note à propos des avances rapides' dans 'git push --help' pour plus "
 "d'information."
 
-#: builtin/push.c:255
+#: builtin/push.c:258
 msgid ""
 "Updates were rejected because a pushed branch tip is behind its remote\n"
 "counterpart. Check out this branch and integrate the remote changes\n"
@@ -10890,7 +11325,7 @@
 "Voir la 'Note à propos des avances rapides' dans 'git push --help' pour plus "
 "d'information."
 
-#: builtin/push.c:261
+#: builtin/push.c:264
 msgid ""
 "Updates were rejected because the remote contains work that you do\n"
 "not have locally. This is usually caused by another repository pushing\n"
@@ -10908,13 +11343,13 @@
 "Voir la 'Note à propos des avances rapides' dans 'git push --help' pour plus "
 "d'information."
 
-#: builtin/push.c:268
+#: builtin/push.c:271
 msgid "Updates were rejected because the tag already exists in the remote."
 msgstr ""
 "Les mises à jour ont été rejetées car l'étiquette existe déjà dans la "
 "branche distante."
 
-#: builtin/push.c:271
+#: builtin/push.c:274
 msgid ""
 "You cannot update a remote ref that points at a non-commit object,\n"
 "or update a remote ref to make it point at a non-commit object,\n"
@@ -10926,22 +11361,22 @@
 "pointer\n"
 "vers un objet qui n'est pas un commit, sans utiliser l'option '--force'.\n"
 
-#: builtin/push.c:331
+#: builtin/push.c:334
 #, c-format
 msgid "Pushing to %s\n"
 msgstr "Poussée vers %s\n"
 
-#: builtin/push.c:335
+#: builtin/push.c:338
 #, c-format
 msgid "failed to push some refs to '%s'"
 msgstr "impossible de pousser des références vers '%s'"
 
-#: builtin/push.c:366
+#: builtin/push.c:369
 #, c-format
 msgid "bad repository '%s'"
 msgstr "mauvais dépôt '%s'"
 
-#: builtin/push.c:367
+#: builtin/push.c:370
 msgid ""
 "No configured push destination.\n"
 "Either specify the URL from the command-line or configure a remote "
@@ -10963,113 +11398,113 @@
 "\n"
 "    git push <nom>\n"
 
-#: builtin/push.c:385
+#: builtin/push.c:388
 msgid "--all and --tags are incompatible"
 msgstr "--all et --tags sont incompatibles"
 
-#: builtin/push.c:386
+#: builtin/push.c:389
 msgid "--all can't be combined with refspecs"
 msgstr "--all ne peut pas être combiné avec des spécifications de référence"
 
-#: builtin/push.c:391
+#: builtin/push.c:394
 msgid "--mirror and --tags are incompatible"
 msgstr "--mirror et --tags sont incompatibles"
 
-#: builtin/push.c:392
+#: builtin/push.c:395
 msgid "--mirror can't be combined with refspecs"
 msgstr "--mirror ne peut pas être combiné avec des spécifications de référence"
 
-#: builtin/push.c:397
+#: builtin/push.c:400
 msgid "--all and --mirror are incompatible"
 msgstr "--all et --mirror sont incompatibles"
 
-#: builtin/push.c:515
+#: builtin/push.c:518
 msgid "repository"
 msgstr "dépôt"
 
-#: builtin/push.c:516 builtin/send-pack.c:161
+#: builtin/push.c:519 builtin/send-pack.c:161
 msgid "push all refs"
 msgstr "pousser toutes les références"
 
-#: builtin/push.c:517 builtin/send-pack.c:163
+#: builtin/push.c:520 builtin/send-pack.c:163
 msgid "mirror all refs"
 msgstr "refléter toutes les références"
 
-#: builtin/push.c:519
+#: builtin/push.c:522
 msgid "delete refs"
 msgstr "supprimer les références"
 
-#: builtin/push.c:520
+#: builtin/push.c:523
 msgid "push tags (can't be used with --all or --mirror)"
 msgstr ""
 "pousser les étiquettes (ne peut pas être utilisé avec --all ou --mirror)"
 
-#: builtin/push.c:523 builtin/send-pack.c:164
+#: builtin/push.c:526 builtin/send-pack.c:164
 msgid "force updates"
 msgstr "forcer les mises à jour"
 
-#: builtin/push.c:525 builtin/send-pack.c:175
+#: builtin/push.c:528 builtin/send-pack.c:175
 msgid "refname>:<expect"
 msgstr "nom de référence>:<attendu"
 
-#: builtin/push.c:526 builtin/send-pack.c:176
+#: builtin/push.c:529 builtin/send-pack.c:176
 msgid "require old value of ref to be at this value"
 msgstr "exiger que l'ancienne valeur de la référence soit à cette valeur"
 
-#: builtin/push.c:529
+#: builtin/push.c:532
 msgid "control recursive pushing of submodules"
 msgstr "contrôler la poussée récursive des sous-modules"
 
-#: builtin/push.c:531 builtin/send-pack.c:169
+#: builtin/push.c:534 builtin/send-pack.c:169
 msgid "use thin pack"
 msgstr "utiliser un empaquetage léger"
 
-#: builtin/push.c:532 builtin/push.c:533 builtin/send-pack.c:158
+#: builtin/push.c:535 builtin/push.c:536 builtin/send-pack.c:158
 #: builtin/send-pack.c:159
 msgid "receive pack program"
 msgstr "recevoir le programme d'empaquetage"
 
-#: builtin/push.c:534
+#: builtin/push.c:537
 msgid "set upstream for git pull/status"
 msgstr "définir la branche amont pour git pull/status"
 
-#: builtin/push.c:537
+#: builtin/push.c:540
 msgid "prune locally removed refs"
 msgstr "éliminer les références locales supprimées"
 
-#: builtin/push.c:539
+#: builtin/push.c:542
 msgid "bypass pre-push hook"
 msgstr "éviter d'utiliser le crochet pre-push"
 
-#: builtin/push.c:540
+#: builtin/push.c:543
 msgid "push missing but relevant tags"
 msgstr "pousser les étiquettes manquantes mais pertinentes"
 
-#: builtin/push.c:543 builtin/send-pack.c:166
+#: builtin/push.c:546 builtin/send-pack.c:166
 msgid "GPG sign the push"
 msgstr "signer la poussée avec GPG"
 
-#: builtin/push.c:545 builtin/send-pack.c:170
+#: builtin/push.c:548 builtin/send-pack.c:170
 msgid "request atomic transaction on remote side"
 msgstr "demande une transaction atomique sur le serveur distant"
 
-#: builtin/push.c:546
+#: builtin/push.c:549
 msgid "server-specific"
 msgstr "spécifique au serveur"
 
-#: builtin/push.c:546
+#: builtin/push.c:549
 msgid "option to transmit"
 msgstr "option à transmettre"
 
-#: builtin/push.c:560
+#: builtin/push.c:563
 msgid "--delete is incompatible with --all, --mirror and --tags"
 msgstr "--delete est incompatible avec --all, --mirror et --tags"
 
-#: builtin/push.c:562
+#: builtin/push.c:565
 msgid "--delete doesn't make sense without any refs"
 msgstr "--delete n'a pas de sens sans aucune référence"
 
-#: builtin/push.c:579
+#: builtin/push.c:584
 msgid "push options must not have new line characters"
 msgstr ""
 "les options de poussée ne peuvent pas contenir de caractères de nouvelle "
@@ -11161,8 +11596,8 @@
 "with what you pushed, and will require 'git reset --hard' to match\n"
 "the work tree to HEAD.\n"
 "\n"
-"You can set 'receive.denyCurrentBranch' configuration variable to\n"
-"'ignore' or 'warn' in the remote repository to allow pushing into\n"
+"You can set the 'receive.denyCurrentBranch' configuration variable\n"
+"to 'ignore' or 'warn' in the remote repository to allow pushing into\n"
 "its current branch; however, this is not recommended unless you\n"
 "arranged to update its work tree to match what you pushed in some\n"
 "other way.\n"
@@ -11741,84 +12176,93 @@
 msgid "git repack [<options>]"
 msgstr "git repack [<options>]"
 
-#: builtin/repack.c:160
+#: builtin/repack.c:22
+msgid ""
+"Incremental repacks are incompatible with bitmap indexes.  Use\n"
+"--no-write-bitmap-index or disable the pack.writebitmaps configuration."
+msgstr ""
+"Les repaquetages incrémentaux sont incompatibles avec les index bitmap. "
+"Utilisez\n"
+"--no-write-bitmap-index ou désactivez le paramètre pack.writebitmaps."
+
+#: builtin/repack.c:166
 msgid "pack everything in a single pack"
 msgstr "empaqueter tout dans un seul paquet"
 
-#: builtin/repack.c:162
+#: builtin/repack.c:168
 msgid "same as -a, and turn unreachable objects loose"
 msgstr "identique à -a et transformer les objets inaccessibles en suspens"
 
-#: builtin/repack.c:165
+#: builtin/repack.c:171
 msgid "remove redundant packs, and run git-prune-packed"
 msgstr "supprimer les paquets redondants et lancer git-prune-packed"
 
-#: builtin/repack.c:167
+#: builtin/repack.c:173
 msgid "pass --no-reuse-delta to git-pack-objects"
 msgstr "passer --no-reuse-delta à git-pack-objects"
 
-#: builtin/repack.c:169
+#: builtin/repack.c:175
 msgid "pass --no-reuse-object to git-pack-objects"
 msgstr "passer --no-reuse-object à git-pack-objects"
 
-#: builtin/repack.c:171
+#: builtin/repack.c:177
 msgid "do not run git-update-server-info"
 msgstr "ne pas lancer git update-server-info"
 
-#: builtin/repack.c:174
+#: builtin/repack.c:180
 msgid "pass --local to git-pack-objects"
 msgstr "passer --local à git-pack-objects"
 
-#: builtin/repack.c:176
+#: builtin/repack.c:182
 msgid "write bitmap index"
 msgstr "écrire un index en bitmap"
 
-#: builtin/repack.c:177
+#: builtin/repack.c:183
 msgid "approxidate"
 msgstr "date approximative"
 
-#: builtin/repack.c:178
+#: builtin/repack.c:184
 msgid "with -A, do not loosen objects older than this"
 msgstr "avec -A, ne pas suspendre les objets plus vieux que celui-ci"
 
-#: builtin/repack.c:180
+#: builtin/repack.c:186
 msgid "with -a, repack unreachable objects"
 msgstr "avec -a, repaquétiser les objets inaccessibles"
 
-#: builtin/repack.c:182
+#: builtin/repack.c:188
 msgid "size of the window used for delta compression"
 msgstr "taille de la fenêtre utilisée pour la compression des deltas"
 
-#: builtin/repack.c:183 builtin/repack.c:187
+#: builtin/repack.c:189 builtin/repack.c:193
 msgid "bytes"
 msgstr "octets"
 
-#: builtin/repack.c:184
+#: builtin/repack.c:190
 msgid "same as the above, but limit memory size instead of entries count"
 msgstr ""
 "idem ci-dessus, mais limiter la taille mémoire au lieu du nombre d'éléments"
 
-#: builtin/repack.c:186
+#: builtin/repack.c:192
 msgid "limits the maximum delta depth"
 msgstr "limite la profondeur maximale des deltas"
 
-#: builtin/repack.c:188
+#: builtin/repack.c:194
 msgid "maximum size of each packfile"
 msgstr "taille maximum de chaque fichier paquet"
 
-#: builtin/repack.c:190
+#: builtin/repack.c:196
 msgid "repack objects in packs marked with .keep"
 msgstr "réempaqueter les objets dans des paquets marqués avec .keep"
 
-#: builtin/repack.c:200
+#: builtin/repack.c:206
 msgid "cannot delete packs in a precious-objects repo"
 msgstr "impossible de supprimer les paquets dans un dépôt d'objets précieux"
 
-#: builtin/repack.c:204
+#: builtin/repack.c:210
 msgid "--keep-unreachable and -A are incompatible"
 msgstr "--keep-unreachable et -A sont incompatibles"
 
-#: builtin/repack.c:391 builtin/worktree.c:115
+#: builtin/repack.c:400 builtin/worktree.c:115
 #, c-format
 msgid "failed to remove '%s'"
 msgstr "échec de la suppression de '%s'"
@@ -12052,23 +12496,23 @@
 msgid "rev-list does not support display of notes"
 msgstr "rev-list ne supporte l'affichage des notes"
 
-#: builtin/rev-parse.c:386
+#: builtin/rev-parse.c:391
 msgid "git rev-parse --parseopt [<options>] -- [<args>...]"
 msgstr "git rev-parse --parseopt [<options>] -- [<arguments>...]"
 
-#: builtin/rev-parse.c:391
+#: builtin/rev-parse.c:396
 msgid "keep the `--` passed as an arg"
 msgstr "garder le `--` passé en argument"
 
-#: builtin/rev-parse.c:393
+#: builtin/rev-parse.c:398
 msgid "stop parsing after the first non-option argument"
 msgstr "arrêt de l'analyse après le premier argument qui n'est pas une option"
 
-#: builtin/rev-parse.c:396
+#: builtin/rev-parse.c:401
 msgid "output in stuck long form"
 msgstr "sortie en forme longue fixée"
 
-#: builtin/rev-parse.c:527
+#: builtin/rev-parse.c:532
 msgid ""
 "git rev-parse --parseopt [<options>] -- [<args>...]\n"
 "   or: git rev-parse --sq-quote [<arg>...]\n"
@@ -12168,30 +12612,7 @@
 msgid "git rm [<options>] [--] <file>..."
 msgstr "git rm [<options>] [--] <fichier>..."
 
-#: builtin/rm.c:65
-msgid ""
-"the following submodule (or one of its nested submodules)\n"
-"uses a .git directory:"
-msgid_plural ""
-"the following submodules (or one of their nested submodules)\n"
-"use a .git directory:"
-msgstr[0] ""
-"le sous-module suivant (ou un de ses sous-modules imbriqués)\n"
-"utilise un répertoire .git :"
-msgstr[1] ""
-"les sous-modules suivants (ou un de leurs sous-modules imbriqués)\n"
-"utilisent un répertoire .git :"
-
-#: builtin/rm.c:71
-msgid ""
-"\n"
-"(use 'rm -rf' if you really want to remove it including all of its history)"
-msgstr ""
-"\n"
-"(utilisez 'rm -rf' si vous voulez vraiment le supprimer en incluant tout son "
-"historique)"
-
-#: builtin/rm.c:230
+#: builtin/rm.c:205
 msgid ""
 "the following file has staged content different from both the\n"
 "file and the HEAD:"
@@ -12205,7 +12626,7 @@
 "les fichiers suivants ont du contenu indexé différent\n"
 "du fichier et de HEAD :"
 
-#: builtin/rm.c:235
+#: builtin/rm.c:210
 msgid ""
 "\n"
 "(use -f to force removal)"
@@ -12213,13 +12634,13 @@
 "\n"
 "(utilisez -f pour forcer la suppression)"
 
-#: builtin/rm.c:239
+#: builtin/rm.c:214
 msgid "the following file has changes staged in the index:"
 msgid_plural "the following files have changes staged in the index:"
 msgstr[0] "le fichier suivant a des changements indexés :"
 msgstr[1] "les fichiers suivants ont des changements indexés :"
 
-#: builtin/rm.c:243 builtin/rm.c:254
+#: builtin/rm.c:218 builtin/rm.c:227
 msgid ""
 "\n"
 "(use --cached to keep the file, or -f to force removal)"
@@ -12227,42 +12648,47 @@
 "\n"
 "(utilisez --cached pour garder le fichier, ou -f pour forcer la suppression)"
 
-#: builtin/rm.c:251
+#: builtin/rm.c:224
 msgid "the following file has local modifications:"
 msgid_plural "the following files have local modifications:"
 msgstr[0] "le fichier suivant a des modifications locales :"
 msgstr[1] "les fichiers suivants ont des modifications locales :"
 
-#: builtin/rm.c:269
+#: builtin/rm.c:242
 msgid "do not list removed files"
 msgstr "ne pas afficher les fichiers supprimés"
 
-#: builtin/rm.c:270
+#: builtin/rm.c:243
 msgid "only remove from the index"
 msgstr "supprimer seulement de l'index"
 
-#: builtin/rm.c:271
+#: builtin/rm.c:244
 msgid "override the up-to-date check"
 msgstr "outrepasser la vérification des fichiers à jour"
 
-#: builtin/rm.c:272
+#: builtin/rm.c:245
 msgid "allow recursive removal"
 msgstr "autoriser la suppression récursive"
 
-#: builtin/rm.c:274
+#: builtin/rm.c:247
 msgid "exit with a zero status even if nothing matched"
 msgstr "sortir avec un statut zéro même si rien ne correspondait"
 
-#: builtin/rm.c:335
+#: builtin/rm.c:308
 #, c-format
 msgid "not removing '%s' recursively without -r"
 msgstr "pas de suppression récursive de '%s' sans -r"
 
-#: builtin/rm.c:374
+#: builtin/rm.c:347
 #, c-format
 msgid "git rm: unable to remove %s"
 msgstr "git rm : impossible de supprimer %s"
 
+#: builtin/rm.c:370
+#, c-format
+msgid "could not remove '%s'"
+msgstr "impossible de supprimer '%s'"
+
 #: builtin/send-pack.c:18
 msgid ""
 "git send-pack [--all | --mirror] [--dry-run] [--force] [--receive-pack=<git-"
@@ -12296,25 +12722,29 @@
 msgid "git shortlog [<options>] [<revision-range>] [[--] [<path>...]]"
 msgstr "git shortlog [<options>] [<intervalle-révisions>] [[--] [<chemin>...]]"
 
-#: builtin/shortlog.c:242
+#: builtin/shortlog.c:249
+msgid "Group by committer rather than author"
+msgstr "Grouper par validateur plutôt que par auteur"
+
+#: builtin/shortlog.c:251
 msgid "sort output according to the number of commits per author"
 msgstr "trier la sortie sur le nombre de validations par auteur"
 
-#: builtin/shortlog.c:244
+#: builtin/shortlog.c:253
 msgid "Suppress commit descriptions, only provides commit count"
 msgstr ""
 "Supprimer les descriptions de validation, fournit seulement le nombre de "
 "validations"
 
-#: builtin/shortlog.c:246
+#: builtin/shortlog.c:255
 msgid "Show the email address of each author"
 msgstr "Afficher l'adresse e-mail de chaque auteur"
 
-#: builtin/shortlog.c:247
+#: builtin/shortlog.c:256
 msgid "w[,i1[,i2]]"
 msgstr "w[,i1[,i2]]"
 
-#: builtin/shortlog.c:248
+#: builtin/shortlog.c:257
 msgid "Linewrap output"
 msgstr "Couper les lignes"
 
@@ -12468,38 +12898,38 @@
 msgid "git show-ref --exclude-existing[=<pattern>]"
 msgstr "git show-ref --exclude-existing[=<motif>]"
 
-#: builtin/show-ref.c:165
+#: builtin/show-ref.c:159
 msgid "only show tags (can be combined with heads)"
 msgstr "afficher seulement les étiquettes (peut être combiné avec heads)"
 
-#: builtin/show-ref.c:166
+#: builtin/show-ref.c:160
 msgid "only show heads (can be combined with tags)"
 msgstr "afficher seulement les têtes (peut être combiné avec tags)"
 
-#: builtin/show-ref.c:167
+#: builtin/show-ref.c:161
 msgid "stricter reference checking, requires exact ref path"
 msgstr ""
 "vérification de référence plus stricte, nécessite un chemin de référence "
 "exact"
 
-#: builtin/show-ref.c:170 builtin/show-ref.c:172
+#: builtin/show-ref.c:164 builtin/show-ref.c:166
 msgid "show the HEAD reference, even if it would be filtered out"
 msgstr "afficher la référence HEAD, même si elle serait filtrée"
 
-#: builtin/show-ref.c:174
+#: builtin/show-ref.c:168
 msgid "dereference tags into object IDs"
 msgstr "déréférencer les étiquettes en IDs d'objet"
 
-#: builtin/show-ref.c:176
+#: builtin/show-ref.c:170
 msgid "only show SHA1 hash using <n> digits"
 msgstr "afficher seulement le hachage SHA1 en utilisant <n> chiffres"
 
-#: builtin/show-ref.c:180
+#: builtin/show-ref.c:174
 msgid "do not print results to stdout (useful with --verify)"
 msgstr ""
 "ne pas afficher les résultats sur la sortie standard (pratique avec --verify)"
 
-#: builtin/show-ref.c:182
+#: builtin/show-ref.c:176
 msgid "show refs from stdin that aren't in local repository"
 msgstr ""
 "afficher les références de l'entrée standard qui ne sont pas dans le dépôt "
@@ -12523,12 +12953,12 @@
 msgid "prepend comment character and space to each line"
 msgstr "ajouter devant chaque ligne le caractère de commentaire et un espace"
 
-#: builtin/submodule--helper.c:24 builtin/submodule--helper.c:1046
+#: builtin/submodule--helper.c:24 builtin/submodule--helper.c:1062
 #, c-format
 msgid "No such ref: %s"
 msgstr "Référence inexistante : %s"
 
-#: builtin/submodule--helper.c:31 builtin/submodule--helper.c:1055
+#: builtin/submodule--helper.c:31 builtin/submodule--helper.c:1071
 #, c-format
 msgid "Expecting a full ref name, got %s"
 msgstr "Nom de référence complet attendu, %s obtenu"
@@ -12538,8 +12968,7 @@
 msgid "cannot strip one component off url '%s'"
 msgstr "impossible de supprimer un composant de l'URL '%s'"
 
-#: builtin/submodule--helper.c:282 builtin/submodule--helper.c:408
-#: builtin/submodule--helper.c:590
+#: builtin/submodule--helper.c:282 builtin/submodule--helper.c:592
 msgid "alternative anchor for relative paths"
 msgstr "ancre alternative pour les chemins relatifs"
 
@@ -12547,91 +12976,91 @@
 msgid "git submodule--helper list [--prefix=<path>] [<path>...]"
 msgstr "git submodule--helper list [--prefix=<chemin>] [<chemin>...]"
 
-#: builtin/submodule--helper.c:329 builtin/submodule--helper.c:343
+#: builtin/submodule--helper.c:333 builtin/submodule--helper.c:347
 #, c-format
 msgid "No url found for submodule path '%s' in .gitmodules"
 msgstr "URL non trouvée pour le chemin de sous-module '%s' dans .gitmodules"
 
-#: builtin/submodule--helper.c:369
+#: builtin/submodule--helper.c:373
 #, c-format
 msgid "Failed to register url for submodule path '%s'"
 msgstr "Échec d'enregistrement de l'URL pour le chemin de sous-module '%s'"
 
-#: builtin/submodule--helper.c:373
+#: builtin/submodule--helper.c:377
 #, c-format
 msgid "Submodule '%s' (%s) registered for path '%s'\n"
 msgstr "Sous-module '%s' (%s) enregistré pour le chemin '%s'\n"
 
-#: builtin/submodule--helper.c:383
+#: builtin/submodule--helper.c:387
 #, c-format
 msgid "warning: command update mode suggested for submodule '%s'\n"
 msgstr ""
 "attention : nous vous suggérons de spécifier une commande de mode de mise à "
 "jour pour le sous-module '%s'\n"
 
-#: builtin/submodule--helper.c:390
+#: builtin/submodule--helper.c:394
 #, c-format
 msgid "Failed to register update mode for submodule path '%s'"
 msgstr ""
 "Échec d'enregistrement du mode de mise à jour pour le chemin de sous-module "
 "'%s'"
 
-#: builtin/submodule--helper.c:409
+#: builtin/submodule--helper.c:410
 msgid "Suppress output for initializing a submodule"
 msgstr "Supprimer la sortie lors de l'initialisation d'un sous-module"
 
-#: builtin/submodule--helper.c:414
+#: builtin/submodule--helper.c:415
 msgid "git submodule--helper init [<path>]"
 msgstr "git submodule--helper init [<chemin>]"
 
-#: builtin/submodule--helper.c:435
+#: builtin/submodule--helper.c:436
 msgid "git submodule--helper name <path>"
 msgstr "git submodule--helper <nom> <chemin>"
 
-#: builtin/submodule--helper.c:441
+#: builtin/submodule--helper.c:442
 #, c-format
 msgid "no submodule mapping found in .gitmodules for path '%s'"
 msgstr ""
 "Pas de mise en correspondance du sous-module trouvé dans .gitmodules pour le "
 "chemin '%s'"
 
-#: builtin/submodule--helper.c:524 builtin/submodule--helper.c:527
+#: builtin/submodule--helper.c:525 builtin/submodule--helper.c:528
 #, c-format
 msgid "submodule '%s' cannot add alternate: %s"
 msgstr "le sous-module '%s' ne peut pas ajouter d'alternative : %s"
 
-#: builtin/submodule--helper.c:563
+#: builtin/submodule--helper.c:564
 #, c-format
 msgid "Value '%s' for submodule.alternateErrorStrategy is not recognized"
 msgstr ""
 "La valeur '%s' pour submodule.alternateErrorStrategy n'est pas reconnue"
 
-#: builtin/submodule--helper.c:570
+#: builtin/submodule--helper.c:571
 #, c-format
 msgid "Value '%s' for submodule.alternateLocation is not recognized"
 msgstr "La valeur '%s' pour submodule.alternateLocation n'est pas reconnue"
 
-#: builtin/submodule--helper.c:593
+#: builtin/submodule--helper.c:595
 msgid "where the new submodule will be cloned to"
 msgstr "emplacement où le sous-module sera cloné"
 
-#: builtin/submodule--helper.c:596
+#: builtin/submodule--helper.c:598
 msgid "name of the new submodule"
 msgstr "nom du nouveau sous-module"
 
-#: builtin/submodule--helper.c:599
+#: builtin/submodule--helper.c:601
 msgid "url where to clone the submodule from"
 msgstr "URL depuis laquelle cloner le sous-module"
 
-#: builtin/submodule--helper.c:605
+#: builtin/submodule--helper.c:607
 msgid "depth for shallow clones"
 msgstr "profondeur de l'historique des clones superficiels"
 
-#: builtin/submodule--helper.c:608 builtin/submodule--helper.c:964
+#: builtin/submodule--helper.c:610 builtin/submodule--helper.c:980
 msgid "force cloning progress"
 msgstr "forcer l'affichage de la progression du clonage"
 
-#: builtin/submodule--helper.c:613
+#: builtin/submodule--helper.c:615
 msgid ""
 "git submodule--helper clone [--prefix=<path>] [--quiet] [--reference "
 "<repository>] [--name <name>] [--depth <depth>] --url <url> --path <path>"
@@ -12639,98 +13068,93 @@
 "git submodule--helper clone [--prefix=<chemin>] [--quiet] [--reference "
 "<dépôt>] [--name <nom>] [--depth <profondeur>]  --url <url> --path <chemin>"
 
-#: builtin/submodule--helper.c:638 builtin/submodule--helper.c:648
-#, c-format
-msgid "could not create directory '%s'"
-msgstr "impossible de créer le répertoire '%s'"
-
-#: builtin/submodule--helper.c:644
+#: builtin/submodule--helper.c:646
 #, c-format
 msgid "clone of '%s' into submodule path '%s' failed"
 msgstr "Le clonage de '%s' dans le chemin de sous-module '%s' a échoué"
 
-#: builtin/submodule--helper.c:660
+#: builtin/submodule--helper.c:662
 #, c-format
 msgid "cannot open file '%s'"
 msgstr "impossible d'ouvrir le fichier '%s'"
 
-#: builtin/submodule--helper.c:665
+#: builtin/submodule--helper.c:667
 #, c-format
 msgid "could not close file %s"
 msgstr "impossible de fermer le fichier %s"
 
-#: builtin/submodule--helper.c:672
+#: builtin/submodule--helper.c:674
 #, c-format
 msgid "could not get submodule directory for '%s'"
 msgstr "impossible de créer le répertoire de sous-module pour '%s'"
 
-#: builtin/submodule--helper.c:726
+#: builtin/submodule--helper.c:742
 #, c-format
 msgid "Submodule path '%s' not initialized"
 msgstr "Le chemin de sous-module '%s' n'est pas initialisé"
 
-#: builtin/submodule--helper.c:730
+#: builtin/submodule--helper.c:746
 msgid "Maybe you want to use 'update --init'?"
 msgstr "Vous voudriez sûrement utiliser 'update --init' ?"
 
-#: builtin/submodule--helper.c:756
+#: builtin/submodule--helper.c:772
 #, c-format
 msgid "Skipping unmerged submodule %s"
 msgstr "Sous-module non fusionné %s non traité"
 
-#: builtin/submodule--helper.c:777
+#: builtin/submodule--helper.c:793
 #, c-format
 msgid "Skipping submodule '%s'"
 msgstr "Sous-module '%s' non traité"
 
-#: builtin/submodule--helper.c:913
+#: builtin/submodule--helper.c:929
 #, c-format
 msgid "Failed to clone '%s'. Retry scheduled"
 msgstr "Impossible de cloner '%s'. Réessai prévu"
 
-#: builtin/submodule--helper.c:924
+#: builtin/submodule--helper.c:940
 #, c-format
 msgid "Failed to clone '%s' a second time, aborting"
 msgstr "Impossible de cloner '%s' pour la seconde fois, abandon"
 
-#: builtin/submodule--helper.c:945
+#: builtin/submodule--helper.c:961 builtin/submodule--helper.c:1105
 msgid "path into the working tree"
 msgstr "chemin dans la copie de travail"
 
-#: builtin/submodule--helper.c:948
+#: builtin/submodule--helper.c:964
 msgid "path into the working tree, across nested submodule boundaries"
 msgstr ""
 "chemin dans la copie de travail, traversant les frontières de sous-modules"
 
-#: builtin/submodule--helper.c:952
+#: builtin/submodule--helper.c:968
 msgid "rebase, merge, checkout or none"
 msgstr "valeurs possibles : rebase, merge, checkout ou none"
 
-#: builtin/submodule--helper.c:956
+#: builtin/submodule--helper.c:972
 msgid "Create a shallow clone truncated to the specified number of revisions"
 msgstr "Créer un clone superficiel tronqué au nombre de révisions spécifié"
 
-#: builtin/submodule--helper.c:959
+#: builtin/submodule--helper.c:975
 msgid "parallel jobs"
 msgstr "jobs parallèles"
 
-#: builtin/submodule--helper.c:961
+#: builtin/submodule--helper.c:977
 msgid "whether the initial clone should follow the shallow recommendation"
 msgstr "spécifie si le clonage initial doit être aussi superficiel"
 
-#: builtin/submodule--helper.c:962
+#: builtin/submodule--helper.c:978
 msgid "don't print cloning progress"
 msgstr "ne pas afficher la progression du clonage"
 
-#: builtin/submodule--helper.c:969
+#: builtin/submodule--helper.c:985
 msgid "git submodule--helper update_clone [--prefix=<path>] [<path>...]"
 msgstr "git submodule--helper update_clone [--prefix=<chemin>] [<chemin>...]"
 
-#: builtin/submodule--helper.c:979
+#: builtin/submodule--helper.c:995
 msgid "bad value for update parameter"
 msgstr "valeur invalide pour la mise à jour du paramètre"
 
-#: builtin/submodule--helper.c:1050
+#: builtin/submodule--helper.c:1066
 #, c-format
 msgid ""
 "Submodule (%s) branch configured to inherit branch from superproject, but "
@@ -12739,12 +13163,25 @@
 "la branche du sous-module %s est configurée pour hériter de la branche du "
 "superprojet, mais le superprojet n'est sur aucune branche"
 
-#: builtin/submodule--helper.c:1100
+#: builtin/submodule--helper.c:1106
+msgid "recurse into submodules"
+msgstr "parcourir récursivement les sous-modules"
+
+#: builtin/submodule--helper.c:1112
+msgid "git submodule--helper embed-git-dir [<path>...]"
+msgstr "git submodule--helper embed-git-dir [<chemin>...]"
+
+#: builtin/submodule--helper.c:1157
 msgid "submodule--helper subcommand must be called with a subcommand"
 msgstr ""
 "la sous-commande submodule--helper doit être appelée avec une sous-commande"
 
-#: builtin/submodule--helper.c:1107
+#: builtin/submodule--helper.c:1164
+#, c-format
+msgid "%s doesn't support --super-prefix"
+msgstr "%s ne gère pas --super-prefix"
+
+#: builtin/submodule--helper.c:1170
 #, c-format
 msgid "'%s' is not a valid submodule--helper subcommand"
 msgstr "'%s' n'est pas une sous-commande valide de submodule--helper"
@@ -12799,25 +13236,25 @@
 "\t\t[--format=<format>] [--[no-]merged [<commit>]] [<motif>...]"
 
 #: builtin/tag.c:27
-msgid "git tag -v <tagname>..."
-msgstr "git tag -v <nométiquette>..."
+msgid "git tag -v [--format=<format>] <tagname>..."
+msgstr "git tag -v [--format=<format>] <nométiquette>..."
 
-#: builtin/tag.c:81
+#: builtin/tag.c:82
 #, c-format
 msgid "tag name too long: %.*s..."
 msgstr "nom d'étiquette trop long : %.*s..."
 
-#: builtin/tag.c:86
+#: builtin/tag.c:87
 #, c-format
 msgid "tag '%s' not found."
 msgstr "étiquette '%s' non trouvée."
 
-#: builtin/tag.c:101
+#: builtin/tag.c:102
 #, c-format
 msgid "Deleted tag '%s' (was %s)\n"
 msgstr "Étiquette '%s' supprimée (elle était sur %s)\n"
 
-#: builtin/tag.c:117
+#: builtin/tag.c:131
 #, c-format
 msgid ""
 "\n"
@@ -12830,7 +13267,7 @@
 "  %s\n"
 "Les lignes commençant par '%c' seront ignorées.\n"
 
-#: builtin/tag.c:121
+#: builtin/tag.c:135
 #, c-format
 msgid ""
 "\n"
@@ -12845,138 +13282,138 @@
 "Les lignes commençant par '%c' seront gardées ; vous pouvez les retirer vous-"
 "même si vous le souhaitez.\n"
 
-#: builtin/tag.c:199
+#: builtin/tag.c:213
 msgid "unable to sign the tag"
 msgstr "impossible de signer l'étiquette"
 
-#: builtin/tag.c:201
+#: builtin/tag.c:215
 msgid "unable to write tag file"
 msgstr "impossible d'écrire le fichier d'étiquettes"
 
-#: builtin/tag.c:226
+#: builtin/tag.c:240
 msgid "bad object type."
 msgstr "mauvais type d'objet."
 
-#: builtin/tag.c:239
+#: builtin/tag.c:253
 msgid "tag header too big."
 msgstr "en-tête d'étiquette trop gros."
 
-#: builtin/tag.c:275
+#: builtin/tag.c:289
 msgid "no tag message?"
 msgstr "pas de message pour l'étiquette ?"
 
-#: builtin/tag.c:281
+#: builtin/tag.c:295
 #, c-format
 msgid "The tag message has been left in %s\n"
 msgstr "Le message pour l'étiquette a été laissé dans %s\n"
 
-#: builtin/tag.c:339
+#: builtin/tag.c:354
 msgid "list tag names"
 msgstr "afficher les noms des étiquettes"
 
-#: builtin/tag.c:341
+#: builtin/tag.c:356
 msgid "print <n> lines of each tag message"
 msgstr "affiche <n> lignes de chaque message d'étiquette"
 
-#: builtin/tag.c:343
+#: builtin/tag.c:358
 msgid "delete tags"
 msgstr "supprimer des étiquettes"
 
-#: builtin/tag.c:344
+#: builtin/tag.c:359
 msgid "verify tags"
 msgstr "vérifier des étiquettes"
 
-#: builtin/tag.c:346
+#: builtin/tag.c:361
 msgid "Tag creation options"
 msgstr "Options de création de l'étiquette"
 
-#: builtin/tag.c:348
+#: builtin/tag.c:363
 msgid "annotated tag, needs a message"
 msgstr "étiquette annotée, nécessite un message"
 
-#: builtin/tag.c:350
+#: builtin/tag.c:365
 msgid "tag message"
 msgstr "message pour l'étiquette"
 
-#: builtin/tag.c:352
+#: builtin/tag.c:367
 msgid "annotated and GPG-signed tag"
 msgstr "étiquette annotée et signée avec GPG"
 
-#: builtin/tag.c:356
+#: builtin/tag.c:371
 msgid "use another key to sign the tag"
 msgstr "utiliser une autre clé pour signer l'étiquette"
 
-#: builtin/tag.c:357
+#: builtin/tag.c:372
 msgid "replace the tag if exists"
 msgstr "remplacer l'étiquette si elle existe"
 
-#: builtin/tag.c:358 builtin/update-ref.c:368
+#: builtin/tag.c:373 builtin/update-ref.c:368
 msgid "create a reflog"
 msgstr "créer un reflog"
 
-#: builtin/tag.c:360
+#: builtin/tag.c:375
 msgid "Tag listing options"
 msgstr "Options d'affichage des étiquettes"
 
-#: builtin/tag.c:361
+#: builtin/tag.c:376
 msgid "show tag list in columns"
 msgstr "afficher la liste des étiquettes sous forme de colonnes"
 
-#: builtin/tag.c:362 builtin/tag.c:363
+#: builtin/tag.c:377 builtin/tag.c:378
 msgid "print only tags that contain the commit"
 msgstr "afficher seulement les étiquettes qui contiennent la validation"
 
-#: builtin/tag.c:364
+#: builtin/tag.c:379
 msgid "print only tags that are merged"
 msgstr "afficher seulement les étiquettes qui sont fusionnées"
 
-#: builtin/tag.c:365
+#: builtin/tag.c:380
 msgid "print only tags that are not merged"
 msgstr "afficher seulement les étiquettes qui ne sont pas fusionnées"
 
-#: builtin/tag.c:370
+#: builtin/tag.c:385
 msgid "print only tags of the object"
 msgstr "afficher seulement les étiquettes de l'objet"
 
-#: builtin/tag.c:399
+#: builtin/tag.c:415
 msgid "--column and -n are incompatible"
 msgstr "--column et -n sont incompatibles"
 
-#: builtin/tag.c:419
+#: builtin/tag.c:437
 msgid "-n option is only allowed with -l."
 msgstr "l'option -n est autorisée seulement avec -l."
 
-#: builtin/tag.c:421
+#: builtin/tag.c:439
 msgid "--contains option is only allowed with -l."
 msgstr "l'option --contains est autorisée seulement avec -l."
 
-#: builtin/tag.c:423
+#: builtin/tag.c:441
 msgid "--points-at option is only allowed with -l."
 msgstr "l'option --points-at est autorisée seulement avec -l."
 
-#: builtin/tag.c:425
+#: builtin/tag.c:443
 msgid "--merged and --no-merged option are only allowed with -l"
 msgstr "les options --merged et --no-merged ne sont autorisées qu'avec -l"
 
-#: builtin/tag.c:433
+#: builtin/tag.c:454
 msgid "only one -F or -m option is allowed."
 msgstr "une seule option -F ou -m est autorisée."
 
-#: builtin/tag.c:452
+#: builtin/tag.c:473
 msgid "too many params"
 msgstr "trop de paramètres"
 
-#: builtin/tag.c:458
+#: builtin/tag.c:479
 #, c-format
 msgid "'%s' is not a valid tag name."
 msgstr "'%s' n'est pas un nom d'étiquette valide."
 
-#: builtin/tag.c:463
+#: builtin/tag.c:484
 #, c-format
 msgid "tag '%s' already exists"
 msgstr "l'étiquette '%s' existe déjà"
 
-#: builtin/tag.c:491
+#: builtin/tag.c:512
 #, c-format
 msgid "Updated tag '%s' (was %s)\n"
 msgstr "Étiquette '%s' mise à jour (elle était sur %s)\n"
@@ -13176,7 +13613,7 @@
 msgid "enable untracked cache without testing the filesystem"
 msgstr "activer le cache de non-suivis sans tester le système de fichier"
 
-#: builtin/update-index.c:1119
+#: builtin/update-index.c:1120
 msgid ""
 "core.untrackedCache is set to true; remove or change it, if you really want "
 "to disable the untracked cache"
@@ -13184,11 +13621,11 @@
 "core.untrackedCache est réglé à true ; supprimez-le ou changez-le si vous "
 "souhaitez vraiment désactiver le cache des fichiers non-suivis"
 
-#: builtin/update-index.c:1123
+#: builtin/update-index.c:1124
 msgid "Untracked cache disabled"
 msgstr "Le cache non suivi est désactivé"
 
-#: builtin/update-index.c:1131
+#: builtin/update-index.c:1132
 msgid ""
 "core.untrackedCache is set to false; remove or change it, if you really want "
 "to enable the untracked cache"
@@ -13196,7 +13633,7 @@
 "core.untrackedCache est réglé à false ; supprimez-le ou changez-le si vous "
 "souhaitez vraiment activer le cache des fichiers non-suivis"
 
-#: builtin/update-index.c:1135
+#: builtin/update-index.c:1136
 #, c-format
 msgid "Untracked cache enabled for '%s'"
 msgstr "Le cache non suivi est activé pour '%s'"
@@ -13247,7 +13684,7 @@
 msgid "print commit contents"
 msgstr "afficher le contenu du commit"
 
-#: builtin/verify-commit.c:73 builtin/verify-tag.c:35
+#: builtin/verify-commit.c:73 builtin/verify-tag.c:37
 msgid "print raw gpg status output"
 msgstr "afficher les messages bruts de gpg"
 
@@ -13263,11 +13700,11 @@
 msgid "show statistics only"
 msgstr "afficher seulement les statistiques"
 
-#: builtin/verify-tag.c:17
-msgid "git verify-tag [-v | --verbose] <tag>..."
-msgstr "git verify-tag [-v | --verbose] <étiquette>..."
+#: builtin/verify-tag.c:18
+msgid "git verify-tag [-v | --verbose] [--format=<format>] <tag>..."
+msgstr "git verify-tag [-v | --verbose] [--format=<format>] <étiquette>..."
 
-#: builtin/verify-tag.c:34
+#: builtin/verify-tag.c:36
 msgid "print tag contents"
 msgstr "afficher le contenu de l'étiquette"
 
@@ -13319,6 +13756,14 @@
 "Suppression de worktrees/%s : le fichier gitdir point sur un endroit "
 "inexistant"
 
+#: builtin/worktree.c:128
+msgid "report pruned working trees"
+msgstr "afficher les arbres de travail éliminés"
+
+#: builtin/worktree.c:130
+msgid "expire working trees older than <time>"
+msgstr "faire expirer les arbres de travail plus vieux que <temps>"
+
 #: builtin/worktree.c:204
 #, c-format
 msgid "'%s' already exists"
@@ -13356,31 +13801,31 @@
 msgid "-b, -B, and --detach are mutually exclusive"
 msgstr "-b, -B et --detach sont mutuellement exclusifs"
 
-#: builtin/worktree.c:470
+#: builtin/worktree.c:472
 msgid "reason for locking"
 msgstr "raison du vérouillage"
 
-#: builtin/worktree.c:482 builtin/worktree.c:515
+#: builtin/worktree.c:484 builtin/worktree.c:517
 #, c-format
 msgid "'%s' is not a working tree"
 msgstr "'%s' n'est pas une copie de travail"
 
-#: builtin/worktree.c:484 builtin/worktree.c:517
+#: builtin/worktree.c:486 builtin/worktree.c:519
 msgid "The main working tree cannot be locked or unlocked"
 msgstr ""
 "La copie de travail principale ne peut pas être vérouillée ou dévérouillée"
 
-#: builtin/worktree.c:489
+#: builtin/worktree.c:491
 #, c-format
 msgid "'%s' is already locked, reason: %s"
 msgstr "'%s' est déjà verrouillé, car '%s'"
 
-#: builtin/worktree.c:491
+#: builtin/worktree.c:493
 #, c-format
 msgid "'%s' is already locked"
 msgstr "'%s' est déjà verrouillé"
 
-#: builtin/worktree.c:519
+#: builtin/worktree.c:521
 #, c-format
 msgid "'%s' is not locked"
 msgstr "'%s' n'est pas verrouillé"
@@ -13405,21 +13850,21 @@
 msgid "git upload-pack [<options>] <dir>"
 msgstr "git upload-pack [<options>] <répertoire>"
 
-#: upload-pack.c:1028
+#: upload-pack.c:1036
 msgid "quit after a single request/response exchange"
 msgstr "quitter après un unique échange requête/réponse"
 
-#: upload-pack.c:1030
+#: upload-pack.c:1038
 msgid "exit immediately after initial ref advertisement"
 msgstr "Sortir immédiatement après l'annonce initiale des références"
 
-#: upload-pack.c:1032
+#: upload-pack.c:1040
 msgid "do not try <directory>/.git/ if <directory> is no Git directory"
 msgstr ""
 "nes pas essayer <répertoire>/.git/ si <répertoire> n'est pas un répertoire "
 "Git"
 
-#: upload-pack.c:1034
+#: upload-pack.c:1042
 msgid "interrupt transfer after <n> seconds of inactivity"
 msgstr "interrompre le transfer après <n> secondes d'inactivité"
 
@@ -13450,14 +13895,30 @@
 "quelques concepts. Voir 'git help <commande>' ou 'git help <concept>'\n"
 "pour en lire plus à propos d'une commande spécifique ou d'un concept."
 
-#: http.c:342
+#: http.c:344
 msgid "Delegation control is not supported with cURL < 7.22.0"
 msgstr "La délégation de commande n'est pas supporté avec cuRL < 7.22.0"
 
-#: http.c:351
+#: http.c:353
 msgid "Public key pinning not supported with cURL < 7.44.0"
 msgstr "L'épinglage de clé publique n'est pas supporté avec cuRL < 7.44.0"
 
+#: http.c:1713
+#, c-format
+msgid ""
+"unable to update url base from redirection:\n"
+"  asked for: %s\n"
+"   redirect: %s"
+msgstr ""
+"impossible de mettre à jour la base de l'url depuis la redirection :\n"
+"      demandé : %s\n"
+"  redirection : %s"
+
+#: remote-curl.c:319
+#, c-format
+msgid "redirecting to %s"
+msgstr "redirection vers %s"
+
 #: common-cmds.h:9
 msgid "start a working area (see also: git help tutorial)"
 msgstr "démarrer une zone de travail (voir aussi : git help tutorial)"
@@ -13667,7 +14128,7 @@
 #. at this point.
 #: git-bisect.sh:328
 msgid "Are you sure [Y/n]? "
-msgstr "Êtes-vous sûr [Y/n] ? "
+msgstr "Confirmez-vous [Y/n] ? "
 
 #: git-bisect.sh:340
 #, sh-format
@@ -13835,7 +14296,7 @@
 msgid "Simple merge did not work, trying automatic merge."
 msgstr "La fusion simple a échoué, essai avec la fusion automatique."
 
-#: git-rebase.sh:56
+#: git-rebase.sh:57
 msgid ""
 "When you have resolved this problem, run \"git rebase --continue\".\n"
 "If you prefer to skip this patch, run \"git rebase --skip\" instead.\n"
@@ -13847,53 +14308,39 @@
 "Pour extraire la branche d'origine et stopper le rebasage, lancez \"git "
 "rebase --abort\"."
 
-#: git-rebase.sh:156 git-rebase.sh:395
+#: git-rebase.sh:157 git-rebase.sh:396
 #, sh-format
 msgid "Could not move back to $head_name"
 msgstr "Impossible de revenir à $head_name"
 
-#: git-rebase.sh:167
-msgid "Applied autostash."
-msgstr "Autoremisage appliqué."
-
-#: git-rebase.sh:170
+#: git-rebase.sh:171
 #, sh-format
 msgid "Cannot store $stash_sha1"
 msgstr "Impossible de stocker $stash_sha1"
 
-#: git-rebase.sh:171
-msgid ""
-"Applying autostash resulted in conflicts.\n"
-"Your changes are safe in the stash.\n"
-"You can run \"git stash pop\" or \"git stash drop\" at any time.\n"
-msgstr ""
-"L'application de l'autoremisage a provoqué des conflits\n"
-"Vos  modifications sont à l'abri dans la remise.\n"
-"Vous pouvez lancer \"git stash pop\" ou \"git stash drop\" à tout moment.\n"
-
-#: git-rebase.sh:210
+#: git-rebase.sh:211
 msgid "The pre-rebase hook refused to rebase."
 msgstr "Le crochet pre-rebase a refusé de rebaser."
 
-#: git-rebase.sh:215
+#: git-rebase.sh:216
 msgid "It looks like git-am is in progress. Cannot rebase."
 msgstr "Il semble que git-am soit en cours. Impossible de rebaser."
 
-#: git-rebase.sh:356
+#: git-rebase.sh:357
 msgid "No rebase in progress?"
 msgstr "Pas de rebasage en cours ?"
 
-#: git-rebase.sh:367
+#: git-rebase.sh:368
 msgid "The --edit-todo action can only be used during interactive rebase."
 msgstr ""
 "L'action --edit-todo peut seulement être utilisée lors d'un rebasage "
 "interactif."
 
-#: git-rebase.sh:374
+#: git-rebase.sh:375
 msgid "Cannot read HEAD"
 msgstr "Impossible de lire HEAD"
 
-#: git-rebase.sh:377
+#: git-rebase.sh:378
 msgid ""
 "You must edit all merge conflicts and then\n"
 "mark them as resolved using git add"
@@ -13901,7 +14348,7 @@
 "Vous devez éditer tous les conflits de fusion et\n"
 "les marquer comme résolus avec git add"
 
-#: git-rebase.sh:414
+#: git-rebase.sh:418
 #, sh-format
 msgid ""
 "It seems that there is already a $state_dir_base directory, and\n"
@@ -13923,65 +14370,65 @@
 "chose\n"
 "d'important ici."
 
-#: git-rebase.sh:465
+#: git-rebase.sh:469
 #, sh-format
 msgid "invalid upstream $upstream_name"
 msgstr "invalide $upstream_name en amont"
 
-#: git-rebase.sh:489
+#: git-rebase.sh:493
 #, sh-format
 msgid "$onto_name: there are more than one merge bases"
 msgstr "$onto_name : il y a plus d'une base de fusion"
 
-#: git-rebase.sh:492 git-rebase.sh:496
+#: git-rebase.sh:496 git-rebase.sh:500
 #, sh-format
 msgid "$onto_name: there is no merge base"
 msgstr "$onto_name : il n'y a pas de base de fusion"
 
-#: git-rebase.sh:501
+#: git-rebase.sh:505
 #, sh-format
 msgid "Does not point to a valid commit: $onto_name"
 msgstr "Ne pointe pas sur une validation valide : $onto_name"
 
-#: git-rebase.sh:524
+#: git-rebase.sh:528
 #, sh-format
 msgid "fatal: no such branch: $branch_name"
 msgstr "fatal : pas de branche : $branch_name"
 
-#: git-rebase.sh:557
+#: git-rebase.sh:561
 msgid "Cannot autostash"
 msgstr "Autoremisage impossible"
 
-#: git-rebase.sh:562
+#: git-rebase.sh:566
 #, sh-format
 msgid "Created autostash: $stash_abbrev"
 msgstr "Autoremisage créé : $stash_abbrev"
 
-#: git-rebase.sh:566
+#: git-rebase.sh:570
 msgid "Please commit or stash them."
 msgstr "Veuillez les valider ou les remiser."
 
-#: git-rebase.sh:586
+#: git-rebase.sh:590
 #, sh-format
 msgid "Current branch $branch_name is up to date."
 msgstr "La branche courante $branch_name est à jour."
 
-#: git-rebase.sh:590
+#: git-rebase.sh:594
 #, sh-format
 msgid "Current branch $branch_name is up to date, rebase forced."
 msgstr "La branche courante $branch_name est à jour, rebasage forcé."
 
-#: git-rebase.sh:601
+#: git-rebase.sh:605
 #, sh-format
 msgid "Changes from $mb to $onto:"
 msgstr "Changements de $mb sur $onto :"
 
-#: git-rebase.sh:610
+#: git-rebase.sh:614
 msgid "First, rewinding head to replay your work on top of it..."
 msgstr ""
 "Premièrement, rembobinons head pour rejouer votre travail par-dessus..."
 
-#: git-rebase.sh:620
+#: git-rebase.sh:624
 #, sh-format
 msgid "Fast-forwarded $branch_name to $onto_name."
 msgstr "$branch_name mise à jour en avance rapide sur $onto_name."
@@ -14147,23 +14594,28 @@
 msgid "(To restore them type \"git stash apply\")"
 msgstr "(Pour les restaurer tapez \"git stash apply\")"
 
-#: git-submodule.sh:184
+#: git-submodule.sh:181
 msgid "Relative path can only be used from the toplevel of the working tree"
 msgstr ""
 "Un chemin relatif ne peut être utilisé que depuis la racine de la copie de "
 "travail"
 
-#: git-submodule.sh:194
+#: git-submodule.sh:191
 #, sh-format
 msgid "repo URL: '$repo' must be absolute or begin with ./|../"
 msgstr "L'URL de dépôt '$repo' doit être absolu ou commencer par ./|../"
 
-#: git-submodule.sh:211
+#: git-submodule.sh:210
 #, sh-format
 msgid "'$sm_path' already exists in the index"
 msgstr "'$sm_path' existe déjà dans l'index"
 
-#: git-submodule.sh:215
+#: git-submodule.sh:213
+#, sh-format
+msgid "'$sm_path' already exists in the index and is not a submodule"
+msgstr "'$sm_path' existe déjà dans l'index et n'est pas un sous-module"
+
+#: git-submodule.sh:218
 #, sh-format
 msgid ""
 "The following path is ignored by one of your .gitignore files:\n"
@@ -14174,24 +14626,24 @@
 "$sm_path\n"
 "Utilisez -f si vous voulez vraiment l'ajouter."
 
-#: git-submodule.sh:233
+#: git-submodule.sh:236
 #, sh-format
 msgid "Adding existing repo at '$sm_path' to the index"
 msgstr "Ajout du dépôt existant à '$sm_path' dans l'index"
 
-#: git-submodule.sh:235
+#: git-submodule.sh:238
 #, sh-format
 msgid "'$sm_path' already exists and is not a valid git repo"
 msgstr "'$sm_path' existe déjà et n'est pas un dépôt git valide"
 
-#: git-submodule.sh:243
+#: git-submodule.sh:246
 #, sh-format
 msgid "A git directory for '$sm_name' is found locally with remote(s):"
 msgstr ""
 "Un répertoire git pour '$sm_name' est trouvé en local avec le(s) serveur(s) "
 "distant(s) :"
 
-#: git-submodule.sh:245
+#: git-submodule.sh:248
 #, sh-format
 msgid ""
 "If you want to reuse this local git directory instead of cloning again from\n"
@@ -14208,48 +14660,48 @@
 "correct\n"
 "ou si ceci n'est pas clair, choisissez un autre nom avec l'option '--name'."
 
-#: git-submodule.sh:251
+#: git-submodule.sh:254
 #, sh-format
 msgid "Reactivating local git directory for submodule '$sm_name'."
 msgstr "Réactivation du répertoire git local pour le sous-module '$sm_name'."
 
-#: git-submodule.sh:263
+#: git-submodule.sh:266
 #, sh-format
 msgid "Unable to checkout submodule '$sm_path'"
 msgstr "Impossible d'extraire le sous-module '$sm_path'"
 
-#: git-submodule.sh:268
+#: git-submodule.sh:271
 #, sh-format
 msgid "Failed to add submodule '$sm_path'"
 msgstr "Échec d'ajout du sous-module '$sm_path'"
 
-#: git-submodule.sh:277
+#: git-submodule.sh:280
 #, sh-format
 msgid "Failed to register submodule '$sm_path'"
 msgstr "Échec d'enregistrement du sous-module '$sm_path'"
 
-#: git-submodule.sh:324
+#: git-submodule.sh:327
 #, sh-format
 msgid "Entering '$displaypath'"
 msgstr "Entrée dans '$displaypath'"
 
-#: git-submodule.sh:344
+#: git-submodule.sh:347
 #, sh-format
 msgid "Stopping at '$displaypath'; script returned non-zero status."
 msgstr "Arrêt sur '$displaypath' ; le script a retourné un statut non nul."
 
-#: git-submodule.sh:415
+#: git-submodule.sh:418
 #, sh-format
 msgid "pathspec and --all are incompatible"
 msgstr "un spécificateur de chemin et --all sont incompatibles"
 
-#: git-submodule.sh:420
+#: git-submodule.sh:423
 #, sh-format
 msgid "Use '--all' if you really want to deinitialize all submodules"
 msgstr ""
 "Utilisez '--all' si vous voulez vraiment réinitialiser tous les sous-modules"
 
-#: git-submodule.sh:440
+#: git-submodule.sh:443
 #, sh-format
 msgid ""
 "Submodule work tree '$displaypath' contains a .git directory\n"
@@ -14260,7 +14712,7 @@
 "(utilisez 'rm -rf' si vous voulez vraiment le supprimer en incluant tout son "
 "historique)"
 
-#: git-submodule.sh:448
+#: git-submodule.sh:451
 #, sh-format
 msgid ""
 "Submodule work tree '$displaypath' contains local modifications; use '-f' to "
@@ -14269,42 +14721,42 @@
 "La copie de travail du sous-module '$displaypath' contient des modifications "
 "locales ; utilisez '-f' pour les annuler"
 
-#: git-submodule.sh:451
+#: git-submodule.sh:454
 #, sh-format
 msgid "Cleared directory '$displaypath'"
 msgstr "Répertoire '$displaypath' nettoyé"
 
-#: git-submodule.sh:452
+#: git-submodule.sh:455
 #, sh-format
 msgid "Could not remove submodule work tree '$displaypath'"
 msgstr ""
 "Impossible de supprimer la copie de travail du sous-module '$displaypath'"
 
-#: git-submodule.sh:455
+#: git-submodule.sh:458
 #, sh-format
 msgid "Could not create empty submodule directory '$displaypath'"
 msgstr "Impossible de créer le répertoire vide du sous-module '$displaypath'"
 
-#: git-submodule.sh:464
+#: git-submodule.sh:467
 #, sh-format
 msgid "Submodule '$name' ($url) unregistered for path '$displaypath'"
 msgstr ""
 "Le sous-module '$name' ($url) n'est pas enregistré pour le chemin "
 "'$displaypath'"
 
-#: git-submodule.sh:617
+#: git-submodule.sh:623
 #, sh-format
 msgid "Unable to find current revision in submodule path '$displaypath'"
 msgstr ""
 "Impossible de trouver la révision courante dans le chemin de sous-module "
 "'$displaypath'"
 
-#: git-submodule.sh:627
+#: git-submodule.sh:633
 #, sh-format
 msgid "Unable to fetch in submodule path '$sm_path'"
 msgstr "Impossible de rapatrier dans le chemin de sous-module '$sm_path'"
 
-#: git-submodule.sh:632
+#: git-submodule.sh:638
 #, sh-format
 msgid ""
 "Unable to find current ${remote_name}/${branch} revision in submodule path "
@@ -14313,12 +14765,12 @@
 "Impossible de trouver la révision courante ${remote_name}/${branch} dans le "
 "chemin de sous-module '$sm_path'"
 
-#: git-submodule.sh:650
+#: git-submodule.sh:656
 #, sh-format
 msgid "Unable to fetch in submodule path '$displaypath'"
 msgstr "Impossible de rapatrier dans le chemin de sous-module '$displaypath'"
 
-#: git-submodule.sh:656
+#: git-submodule.sh:662
 #, sh-format
 msgid ""
 "Fetched in submodule path '$displaypath', but it did not contain $sha1. "
@@ -14327,88 +14779,88 @@
 "Chemin de sous-module '$displaypath' récupéré, mais il ne contenait pas "
 "$sha1. La récupération directe de ce commit a échoué."
 
-#: git-submodule.sh:663
+#: git-submodule.sh:669
 #, sh-format
 msgid "Unable to checkout '$sha1' in submodule path '$displaypath'"
 msgstr ""
 "Impossible d'extraire '$sha1' dans le chemin de sous-module '$displaypath'"
 
-#: git-submodule.sh:664
+#: git-submodule.sh:670
 #, sh-format
 msgid "Submodule path '$displaypath': checked out '$sha1'"
 msgstr "Chemin de sous-module '$displaypath' : '$sha1' extrait"
 
-#: git-submodule.sh:668
+#: git-submodule.sh:674
 #, sh-format
 msgid "Unable to rebase '$sha1' in submodule path '$displaypath'"
 msgstr ""
 "Impossible de rebaser '$sha1' dans le chemin de sous-module '$displaypath'"
 
-#: git-submodule.sh:669
+#: git-submodule.sh:675
 #, sh-format
 msgid "Submodule path '$displaypath': rebased into '$sha1'"
 msgstr "Chemin de sous-module '$displaypath' : rebasé dans '$sha1'"
 
-#: git-submodule.sh:674
+#: git-submodule.sh:680
 #, sh-format
 msgid "Unable to merge '$sha1' in submodule path '$displaypath'"
 msgstr ""
 "Impossible de fusionner '$sha1' dans le chemin de sous-module '$displaypath'"
 
-#: git-submodule.sh:675
+#: git-submodule.sh:681
 #, sh-format
 msgid "Submodule path '$displaypath': merged in '$sha1'"
 msgstr "Chemin de sous-module '$displaypath' : fusionné dans '$sha1'"
 
-#: git-submodule.sh:680
+#: git-submodule.sh:686
 #, sh-format
 msgid "Execution of '$command $sha1' failed in submodule path '$displaypath'"
 msgstr ""
 "L'exécution de '$command $sha1' a échoué dans le chemin de sous-module "
 "'$displaypath'"
 
-#: git-submodule.sh:681
+#: git-submodule.sh:687
 #, sh-format
 msgid "Submodule path '$displaypath': '$command $sha1'"
 msgstr "Chemin de sous-module '$displaypath' : '$command $sha1'"
 
-#: git-submodule.sh:712
+#: git-submodule.sh:718
 #, sh-format
 msgid "Failed to recurse into submodule path '$displaypath'"
 msgstr "Échec de parcours dans le chemin du sous-module '$displaypath'"
 
-#: git-submodule.sh:820
+#: git-submodule.sh:826
 msgid "The --cached option cannot be used with the --files option"
 msgstr "L'option --cached ne peut pas être utilisée avec l'option --files"
 
-#: git-submodule.sh:872
+#: git-submodule.sh:878
 #, sh-format
 msgid "unexpected mode $mod_dst"
 msgstr "mode $mod_dst inattendu"
 
-#: git-submodule.sh:892
+#: git-submodule.sh:898
 #, sh-format
 msgid "  Warn: $display_name doesn't contain commit $sha1_src"
 msgstr "  Attention : $display_name ne contient pas la validation $sha1_src"
 
-#: git-submodule.sh:895
+#: git-submodule.sh:901
 #, sh-format
 msgid "  Warn: $display_name doesn't contain commit $sha1_dst"
 msgstr "  Attention : $display_name ne contient pas la validation $sha1_dst"
 
-#: git-submodule.sh:898
+#: git-submodule.sh:904
 #, sh-format
 msgid "  Warn: $display_name doesn't contain commits $sha1_src and $sha1_dst"
 msgstr ""
 "  Attention : $display_name ne contient pas les validations $sha1_src et "
 "$sha1_dst"
 
-#: git-submodule.sh:1045
+#: git-submodule.sh:1051
 #, sh-format
 msgid "Failed to recurse into submodule path '$sm_path'"
 msgstr "Échec de parcours dans le chemin du sous-module '$sm_path'"
 
-#: git-submodule.sh:1112
+#: git-submodule.sh:1118
 #, sh-format
 msgid "Synchronizing submodule url for '$displaypath'"
 msgstr "Synchronisation de l'URL sous-module pour '$displaypath'"
@@ -14418,12 +14870,12 @@
 msgid "See git-${cmd}(1) for details."
 msgstr "Référez-vous à git-${cmd}(1) pour de plus amples détails."
 
-#: git-rebase--interactive.sh:131
+#: git-rebase--interactive.sh:140
 #, sh-format
 msgid "Rebasing ($new_count/$total)"
 msgstr "Rebasage ($new_count/$total)"
 
-#: git-rebase--interactive.sh:147
+#: git-rebase--interactive.sh:156
 msgid ""
 "\n"
 "Commands:\n"
@@ -14449,7 +14901,7 @@
 "\n"
 "Vous pouvez réordonner ces lignes ; elles sont exécutées de haut en bas.\n"
 
-#: git-rebase--interactive.sh:162
+#: git-rebase--interactive.sh:171
 msgid ""
 "\n"
 "Do not remove any line. Use 'drop' explicitly to remove a commit.\n"
@@ -14458,7 +14910,7 @@
 "Ne supprimez aucune ligne. Utilisez 'drop' explicitement pour supprimer un "
 "commit.\n"
 
-#: git-rebase--interactive.sh:166
+#: git-rebase--interactive.sh:175
 msgid ""
 "\n"
 "If you remove a line here THAT COMMIT WILL BE LOST.\n"
@@ -14466,7 +14918,7 @@
 "\n"
 "Si vous éliminez une ligne ici, LE COMMIT CORRESPONDANT SERA PERDU.\n"
 
-#: git-rebase--interactive.sh:202
+#: git-rebase--interactive.sh:211
 #, sh-format
 msgid ""
 "You can amend the commit now, with\n"
@@ -14485,87 +14937,83 @@
 "\n"
 "\tgit rebase --continue"
 
-#: git-rebase--interactive.sh:227
+#: git-rebase--interactive.sh:236
 #, sh-format
 msgid "$sha1: not a commit that can be picked"
 msgstr "$sha1 n'est pas un commit qui peut être picorer"
 
-#: git-rebase--interactive.sh:266
+#: git-rebase--interactive.sh:275
 #, sh-format
 msgid "Invalid commit name: $sha1"
 msgstr "Nom de commit invalide : $sha1"
 
-#: git-rebase--interactive.sh:308
+#: git-rebase--interactive.sh:317
 msgid "Cannot write current commit's replacement sha1"
 msgstr "Impossible de sauver le sha1 du remplaçant du commit en cours"
 
-#: git-rebase--interactive.sh:360
+#: git-rebase--interactive.sh:369
 #, sh-format
 msgid "Fast-forward to $sha1"
 msgstr "Avance rapide sur $sha1"
 
-#: git-rebase--interactive.sh:362
+#: git-rebase--interactive.sh:371
 #, sh-format
 msgid "Cannot fast-forward to $sha1"
 msgstr "Avance rapide impossible sur $sha1"
 
-#: git-rebase--interactive.sh:371
+#: git-rebase--interactive.sh:380
 #, sh-format
 msgid "Cannot move HEAD to $first_parent"
 msgstr "Impossible de déplacer HEAD sur $first_parent"
 
-#: git-rebase--interactive.sh:376
+#: git-rebase--interactive.sh:385
 #, sh-format
 msgid "Refusing to squash a merge: $sha1"
 msgstr "Refus d'écraser un commit de fusion: $sha1"
 
-#: git-rebase--interactive.sh:390
+#: git-rebase--interactive.sh:399
 #, sh-format
 msgid "Error redoing merge $sha1"
 msgstr "Erreur lors de la réapplication de la fusion $sha1"
 
-#: git-rebase--interactive.sh:398
+#: git-rebase--interactive.sh:407
 #, sh-format
 msgid "Could not pick $sha1"
 msgstr "Impossible de picorer $sha1"
 
-#: git-rebase--interactive.sh:407
+#: git-rebase--interactive.sh:416
 #, sh-format
 msgid "This is the commit message #${n}:"
 msgstr "Ceci est le ${n}ième message de validation :"
 
-#: git-rebase--interactive.sh:412
+#: git-rebase--interactive.sh:421
 #, sh-format
 msgid "The commit message #${n} will be skipped:"
 msgstr "Le message de validation ${n} sera ignoré :"
 
-#: git-rebase--interactive.sh:423
+#: git-rebase--interactive.sh:432
 #, sh-format
 msgid "This is a combination of $count commit."
 msgid_plural "This is a combination of $count commits."
 msgstr[0] "Ceci est la combinaison de $count commit."
 msgstr[1] "Ceci est la combinaison de $count commits."
 
-#: git-rebase--interactive.sh:431
+#: git-rebase--interactive.sh:441
 #, sh-format
 msgid "Cannot write $fixup_msg"
 msgstr "Impossible d'écrire $fixup_msg"
 
-#: git-rebase--interactive.sh:434
+#: git-rebase--interactive.sh:444
 msgid "This is a combination of 2 commits."
 msgstr "Ceci est la combinaison de 2 commits."
 
-#: git-rebase--interactive.sh:435
-msgid "This is the 1st commit message:"
-msgstr "Ceci est le premier message de validation :"
-
-#: git-rebase--interactive.sh:475 git-rebase--interactive.sh:518
-#: git-rebase--interactive.sh:521
+#: git-rebase--interactive.sh:485 git-rebase--interactive.sh:528
+#: git-rebase--interactive.sh:531
 #, sh-format
 msgid "Could not apply $sha1... $rest"
 msgstr "Impossible d'appliquer $sha1... $rest"
 
-#: git-rebase--interactive.sh:549
+#: git-rebase--interactive.sh:559
 #, sh-format
 msgid ""
 "Could not amend commit after successfully picking $sha1... $rest\n"
@@ -14582,31 +15030,31 @@
 "le\n"
 "problème avant de pouvoir reformuler le message du commit."
 
-#: git-rebase--interactive.sh:564
+#: git-rebase--interactive.sh:574
 #, sh-format
 msgid "Stopped at $sha1_abbrev... $rest"
 msgstr "Arrêté à $sha1_abbrev... $rest"
 
-#: git-rebase--interactive.sh:579
+#: git-rebase--interactive.sh:589
 #, sh-format
 msgid "Cannot '$squash_style' without a previous commit"
 msgstr "'$squash_style' impossible avec le commit précédent"
 
-#: git-rebase--interactive.sh:621
+#: git-rebase--interactive.sh:631
 #, sh-format
 msgid "Executing: $rest"
 msgstr "Exécution : $rest"
 
-#: git-rebase--interactive.sh:629
+#: git-rebase--interactive.sh:639
 #, sh-format
 msgid "Execution failed: $rest"
 msgstr "L'exécution a échoué : $rest"
 
-#: git-rebase--interactive.sh:631
+#: git-rebase--interactive.sh:641
 msgid "and made changes to the index and/or the working tree"
 msgstr "et a mis à jour l'index ou la copie de travail"
 
-#: git-rebase--interactive.sh:633
+#: git-rebase--interactive.sh:643
 msgid ""
 "You can fix the problem, and then run\n"
 "\n"
@@ -14617,7 +15065,7 @@
 "git rebase --continue"
 
 #. TRANSLATORS: after these lines is a command to be issued by the user
-#: git-rebase--interactive.sh:646
+#: git-rebase--interactive.sh:656
 #, sh-format
 msgid ""
 "Execution succeeded: $rest\n"
@@ -14632,25 +15080,25 @@
 "\n"
 "\tgit rebase --continue"
 
-#: git-rebase--interactive.sh:657
+#: git-rebase--interactive.sh:667
 #, sh-format
 msgid "Unknown command: $command $sha1 $rest"
 msgstr "Commande inconnue : $command $sha1 $rest"
 
-#: git-rebase--interactive.sh:658
+#: git-rebase--interactive.sh:668
 msgid "Please fix this using 'git rebase --edit-todo'."
 msgstr "Veuillez corriger ceci en utilisant 'git rebase --edit-todo'."
 
-#: git-rebase--interactive.sh:693
+#: git-rebase--interactive.sh:703
 #, sh-format
 msgid "Successfully rebased and updated $head_name."
 msgstr "Rebasage et mise à jour de $head_name avec succès."
 
-#: git-rebase--interactive.sh:740
+#: git-rebase--interactive.sh:750
 msgid "Could not skip unnecessary pick commands"
 msgstr "Impossible d'éviter les commandes de picorage non nécessaires"
 
-#: git-rebase--interactive.sh:898
+#: git-rebase--interactive.sh:908
 #, sh-format
 msgid ""
 "Warning: the SHA-1 is missing or isn't a commit in the following line:\n"
@@ -14659,7 +15107,7 @@
 "Attention : le SHA-1 manque ou n'est pas un commit dans la ligne suivante :\n"
 " - $line"
 
-#: git-rebase--interactive.sh:931
+#: git-rebase--interactive.sh:941
 #, sh-format
 msgid ""
 "Warning: the command isn't recognized in the following line:\n"
@@ -14668,11 +15116,11 @@
 "Attention : la commande n'est pas reconnue dans le ligne suivante :\n"
 " - $line"
 
-#: git-rebase--interactive.sh:970
+#: git-rebase--interactive.sh:980
 msgid "could not detach HEAD"
 msgstr "Impossible de détacher HEAD"
 
-#: git-rebase--interactive.sh:1008
+#: git-rebase--interactive.sh:1018
 msgid ""
 "Warning: some commits may have been dropped accidentally.\n"
 "Dropped commits (newer to older):"
@@ -14680,7 +15128,7 @@
 "Attention : certains commits ont pu être accidentellement supprimés.\n"
 "Commits supprimés (du plus jeune au plus vieux) :"
 
-#: git-rebase--interactive.sh:1016
+#: git-rebase--interactive.sh:1026
 msgid ""
 "To avoid this message, use \"drop\" to explicitly remove a commit.\n"
 "\n"
@@ -14695,7 +15143,7 @@
 "d'avertissements.\n"
 "Les comportements disponibles sont : ignore, warn, error."
 
-#: git-rebase--interactive.sh:1027
+#: git-rebase--interactive.sh:1037
 #, sh-format
 msgid ""
 "Unrecognized setting $check_level for option rebase.missingCommitsCheck. "
@@ -14704,7 +15152,7 @@
 "Paramètre non reconnu $check_level pour l'option rebase.missingCommitsCheck. "
 "Ignoré."
 
-#: git-rebase--interactive.sh:1044
+#: git-rebase--interactive.sh:1054
 msgid ""
 "You can fix this with 'git rebase --edit-todo' and then run 'git rebase --"
 "continue'."
@@ -14712,15 +15160,15 @@
 "Vous pouvez corriger ceci avec 'git rebase --edit-todo' puis lancez 'git "
 "rebase --continue'."
 
-#: git-rebase--interactive.sh:1045
+#: git-rebase--interactive.sh:1055
 msgid "Or you can abort the rebase with 'git rebase --abort'."
 msgstr "Ou bien vous pouvez abandonner le rebasage avec 'git rebase --abort'."
 
-#: git-rebase--interactive.sh:1069
+#: git-rebase--interactive.sh:1079
 msgid "Could not remove CHERRY_PICK_HEAD"
 msgstr "Impossible de supprimer CHERRY_PICK_HEAD"
 
-#: git-rebase--interactive.sh:1074
+#: git-rebase--interactive.sh:1084
 #, sh-format
 msgid ""
 "You have staged changes in your working tree.\n"
@@ -14751,12 +15199,12 @@
 "\n"
 "  git rebase --continue\n"
 
-#: git-rebase--interactive.sh:1091
+#: git-rebase--interactive.sh:1101
 msgid "Error trying to find the author identity to amend commit"
 msgstr ""
 "Erreur lors de la recherche de l'identité de l'auteur pour corriger le commit"
 
-#: git-rebase--interactive.sh:1096
+#: git-rebase--interactive.sh:1106
 msgid ""
 "You have uncommitted changes in your working tree. Please commit them\n"
 "first and then run 'git rebase --continue' again."
@@ -14764,11 +15212,11 @@
 "Vous avez des modifications non validées dans votre copie de travail.\n"
 "Veuillez les valider d'abord, puis relancer 'git rebase --continue'."
 
-#: git-rebase--interactive.sh:1101 git-rebase--interactive.sh:1105
+#: git-rebase--interactive.sh:1111 git-rebase--interactive.sh:1115
 msgid "Could not commit staged changes."
 msgstr "impossible de valider les modifications indexées."
 
-#: git-rebase--interactive.sh:1129
+#: git-rebase--interactive.sh:1139
 msgid ""
 "\n"
 "You are editing the todo file of an ongoing interactive rebase.\n"
@@ -14783,40 +15231,40 @@
 "    git rebase --continue\n"
 "\n"
 
-#: git-rebase--interactive.sh:1137 git-rebase--interactive.sh:1295
+#: git-rebase--interactive.sh:1147 git-rebase--interactive.sh:1305
 msgid "Could not execute editor"
 msgstr "Impossible de lancer l'éditeur"
 
-#: git-rebase--interactive.sh:1150
+#: git-rebase--interactive.sh:1160
 #, sh-format
 msgid "Could not checkout $switch_to"
 msgstr "Impossible d'extraire $switch_to"
 
-#: git-rebase--interactive.sh:1155
+#: git-rebase--interactive.sh:1165
 msgid "No HEAD?"
 msgstr "Pas de HEAD ?"
 
-#: git-rebase--interactive.sh:1156
+#: git-rebase--interactive.sh:1166
 #, sh-format
 msgid "Could not create temporary $state_dir"
 msgstr "Impossible de créer un répertoire temporaire $state_dir"
 
-#: git-rebase--interactive.sh:1158
+#: git-rebase--interactive.sh:1168
 msgid "Could not mark as interactive"
 msgstr "Impossible de marquer comme interactif"
 
-#: git-rebase--interactive.sh:1168 git-rebase--interactive.sh:1173
+#: git-rebase--interactive.sh:1178 git-rebase--interactive.sh:1183
 msgid "Could not init rewritten commits"
 msgstr "Impossible d'initialiser les commits réécrits"
 
-#: git-rebase--interactive.sh:1273
+#: git-rebase--interactive.sh:1283
 #, sh-format
 msgid "Rebase $shortrevisions onto $shortonto ($todocount command)"
 msgid_plural "Rebase $shortrevisions onto $shortonto ($todocount commands)"
 msgstr[0] "Rebasage de $shortrevisions sur $shortonto ($todocount commande)"
 msgstr[1] "Rebasage de $shortrevisions sur $shortonto ($todocount commandes)"
 
-#: git-rebase--interactive.sh:1278
+#: git-rebase--interactive.sh:1288
 msgid ""
 "\n"
 "However, if you remove everything, the rebase will be aborted.\n"
@@ -14826,7 +15274,7 @@
 "Cependant, si vous effacez tout, le rebasage sera annulé.\n"
 "\n"
 
-#: git-rebase--interactive.sh:1285
+#: git-rebase--interactive.sh:1295
 msgid "Note that empty commits are commented out"
 msgstr "Veuillez noter que les commits vides sont en commentaire"
 
@@ -14897,6 +15345,920 @@
 msgid "Unable to determine absolute path of git directory"
 msgstr "Impossible de déterminer le chemin absolu du répertoire git"
 
+#. TRANSLATORS: you can adjust this to align "git add -i" status menu
+#: git-add--interactive.perl:238
+#, perl-format
+msgid "%12s %12s %s"
+msgstr "%12s %s12s %s"
+
+#: git-add--interactive.perl:239
+msgid "staged"
+msgstr "indexé"
+
+#: git-add--interactive.perl:239
+msgid "unstaged"
+msgstr "non-indexé"
+
+#: git-add--interactive.perl:297 git-add--interactive.perl:322
+msgid "binary"
+msgstr "binaire"
+
+#: git-add--interactive.perl:306 git-add--interactive.perl:360
+msgid "nothing"
+msgstr "rien"
+
+#: git-add--interactive.perl:342 git-add--interactive.perl:357
+msgid "unchanged"
+msgstr "inchangé"
+
+#: git-add--interactive.perl:653
+#, perl-format
+msgid "added %d path\n"
+msgid_plural "added %d paths\n"
+msgstr[0] "%d chemin ajouté\n"
+msgstr[1] "%d chemins ajoutés\n"
+
+#: git-add--interactive.perl:656
+#, perl-format
+msgid "updated %d path\n"
+msgid_plural "updated %d paths\n"
+msgstr[0] "%d chemin mis à jour\n"
+msgstr[1] "%d chemins mis à jour\n"
+
+#: git-add--interactive.perl:659
+#, perl-format
+msgid "reverted %d path\n"
+msgid_plural "reverted %d paths\n"
+msgstr[0] "%d chemin inversé\n"
+msgstr[1] "%d chemins inversés\n"
+
+#: git-add--interactive.perl:662
+#, perl-format
+msgid "touched %d path\n"
+msgid_plural "touched %d paths\n"
+msgstr[0] "%d chemin touché\n"
+msgstr[1] "%d chemins touchés\n"
+
+#: git-add--interactive.perl:671
+msgid "Update"
+msgstr "Mise à jour"
+
+#: git-add--interactive.perl:683
+msgid "Revert"
+msgstr "Inverser"
+
+#: git-add--interactive.perl:706
+#, perl-format
+msgid "note: %s is untracked now.\n"
+msgstr "note : %s n'est plus suivi à présent.\n"
+
+#: git-add--interactive.perl:717
+msgid "Add untracked"
+msgstr "Ajouter un fichier non-suivi"
+
+#: git-add--interactive.perl:723
+msgid "No untracked files.\n"
+msgstr "Aucun Fichier non suivi.\n"
+
+#: git-add--interactive.perl:1039
+msgid ""
+"If the patch applies cleanly, the edited hunk will immediately be\n"
+"marked for staging."
+msgstr ""
+"Si le patch s'applique proprement, la section éditée sera\n"
+"immédiatement marquée comme indexée."
+
+#: git-add--interactive.perl:1042
+msgid ""
+"If the patch applies cleanly, the edited hunk will immediately be\n"
+"marked for stashing."
+msgstr ""
+"Si le patch s'applique proprement, la section éditée sera\n"
+"immédiatement marquée comme remisée."
+
+#: git-add--interactive.perl:1045
+msgid ""
+"If the patch applies cleanly, the edited hunk will immediately be\n"
+"marked for unstaging."
+msgstr ""
+"Si le patch s'applique proprement, la section éditée sera\n"
+"immédiatement marquée comme desindexée."
+
+#: git-add--interactive.perl:1048 git-add--interactive.perl:1057
+msgid ""
+"If the patch applies cleanly, the edited hunk will immediately be\n"
+"marked for applying."
+msgstr ""
+"Si le patch s'applique proprement, la section éditée sera\n"
+"immediatement marquée comme appliquée."
+
+#: git-add--interactive.perl:1051
+msgid ""
+"If the patch applies cleanly, the edited hunk will immediately be\n"
+"marked for discarding"
+msgstr ""
+"Si le patch s'applique proprement, la section éditée sera\n"
+"immediatement marquée comme éliminée"
+
+#: git-add--interactive.perl:1054
+msgid ""
+"If the patch applies cleanly, the edited hunk will immediately be\n"
+"marked for discarding."
+msgstr ""
+"Si le patch s'applique proprement, la section éditée sera\n"
+"immediatement marquée comme éliminée."
+
+#: git-add--interactive.perl:1067
+#, perl-format
+msgid "failed to open hunk edit file for writing: %s"
+msgstr "impossible d'ouvrir le fichier d'édition de section en écriture : %s"
+
+#: git-add--interactive.perl:1068
+msgid "Manual hunk edit mode -- see bottom for a quick guide.\n"
+msgstr ""
+"Mode d'édition manuelle de section -- voir ci-dessous pour un guide rapide.\n"
+
+#: git-add--interactive.perl:1074
+#, perl-format
+msgid ""
+"---\n"
+"To remove '%s' lines, make them ' ' lines (context).\n"
+"To remove '%s' lines, delete them.\n"
+"Lines starting with %s will be removed.\n"
+msgstr ""
+"---\n"
+"Pour éliminer les lignes '%s', rendez-les ' ' (contexte).\n"
+"Pour éliminer les lignes '%s', effacez-les.\n"
+"Les lignes commençant par %s seront éliminées.\n"
+
+#. TRANSLATORS: 'it' refers to the patch mentioned in the previous messages.
+#: git-add--interactive.perl:1082
+msgid ""
+"If it does not apply cleanly, you will be given an opportunity to\n"
+"edit again.  If all lines of the hunk are removed, then the edit is\n"
+"aborted and the hunk is left unchanged.\n"
+msgstr ""
+"Si ça ne s'applique pas proprement, vous aurez la possibilité de\n"
+"l'éditer à nouveau. Si toutes les lignes de la section sont supprimées,\n"
+"alors l'édition sera abandonnée et la section conservée.\n"
+
+#: git-add--interactive.perl:1096
+#, perl-format
+msgid "failed to open hunk edit file for reading: %s"
+msgstr "échec de l'ouverture du fichier d'édition de section en lecture : %s"
+
+#. TRANSLATORS: do not translate [y/n]
+#. The program will only accept that input
+#. at this point.
+#. Consider translating (saying "no" discards!) as
+#. (saying "n" for "no" discards!) if the translation
+#. of the word "no" does not start with n.
+#: git-add--interactive.perl:1187
+msgid ""
+"Your edited hunk does not apply. Edit again (saying \"no\" discards!) [y/n]? "
+msgstr ""
+"Votre section éditée ne s'applique pas. L'éditer à nouveau (\"no\" "
+"l'élimine !) [y|n] ? "
+
+#: git-add--interactive.perl:1196
+msgid ""
+"y - stage this hunk\n"
+"n - do not stage this hunk\n"
+"q - quit; do not stage this hunk or any of the remaining ones\n"
+"a - stage this hunk and all later hunks in the file\n"
+"d - do not stage this hunk or any of the later hunks in the file"
+msgstr ""
+"y - indexer cette section\n"
+"n - ne pas indexer cette section\n"
+"q - quitter ; ne pas indexer cette section ni les autres restantes\n"
+"a - indexer cette section et toutes les suivantes de ce fichier\n"
+"d - ne pas indexer cette section ni les suivantes de ce fichier"
+
+#: git-add--interactive.perl:1202
+msgid ""
+"y - stash this hunk\n"
+"n - do not stash this hunk\n"
+"q - quit; do not stash this hunk or any of the remaining ones\n"
+"a - stash this hunk and all later hunks in the file\n"
+"d - do not stash this hunk or any of the later hunks in the file"
+msgstr ""
+"y - remiser cette section\n"
+"n - ne pas remiser cette section\n"
+"q - quitter ; ne pas remiser cette section ni les autres restantes\n"
+"a - remiser cette section et toutes les suivantes de ce fichier\n"
+"d - ne pas remiser cette section ni les suivantes de ce fichier"
+
+#: git-add--interactive.perl:1208
+msgid ""
+"y - unstage this hunk\n"
+"n - do not unstage this hunk\n"
+"q - quit; do not unstage this hunk or any of the remaining ones\n"
+"a - unstage this hunk and all later hunks in the file\n"
+"d - do not unstage this hunk or any of the later hunks in the file"
+msgstr ""
+"y - désindexer cette section\n"
+"n - ne pas désindexer cette section\n"
+"q - quitter ; ne pas désindexer cette section ni les autres restantes\n"
+"a - désindexer cette section et toutes les suivantes de ce fichier\n"
+"d - ne pas désindexer cette section ni les suivantes de ce fichier"
+
+#: git-add--interactive.perl:1214
+msgid ""
+"y - apply this hunk to index\n"
+"n - do not apply this hunk to index\n"
+"q - quit; do not apply this hunk or any of the remaining ones\n"
+"a - apply this hunk and all later hunks in the file\n"
+"d - do not apply this hunk or any of the later hunks in the file"
+msgstr ""
+"y - appliquer cette section\n"
+"n - ne pas appliquer cette section\n"
+"q - quitter ; ne pas appliquer cette section ni les autres restantes\n"
+"a - appliquer cette section et toutes les suivantes de ce fichier\n"
+"d - ne pas appliquer cette section ni les suivantes de ce fichier"
+
+#: git-add--interactive.perl:1220
+msgid ""
+"y - discard this hunk from worktree\n"
+"n - do not discard this hunk from worktree\n"
+"q - quit; do not discard this hunk or any of the remaining ones\n"
+"a - discard this hunk and all later hunks in the file\n"
+"d - do not discard this hunk or any of the later hunks in the file"
+msgstr ""
+"y - supprimer cette section\n"
+"n - ne pas supprimer cette section\n"
+"q - quitter ; ne pas supprimer cette section ni les autres restantes\n"
+"a - supprimer cette section et toutes les suivantes de ce fichier\n"
+"d - ne pas supprimer cette section ni les suivantes de ce fichier"
+
+#: git-add--interactive.perl:1226
+msgid ""
+"y - discard this hunk from index and worktree\n"
+"n - do not discard this hunk from index and worktree\n"
+"q - quit; do not discard this hunk or any of the remaining ones\n"
+"a - discard this hunk and all later hunks in the file\n"
+"d - do not discard this hunk or any of the later hunks in the file"
+msgstr ""
+"y - éliminer cette section de l'index et de l'arbre de travail\n"
+"n - ne pas éliminer cette section\n"
+"q - quitter ; ne pas éliminer cette section ni les autres restantes\n"
+"a - éliminer cette section et toutes les suivantes de ce fichier\n"
+"d - ne pas éliminer cette section ni les suivantes de ce fichier"
+
+#: git-add--interactive.perl:1232
+msgid ""
+"y - apply this hunk to index and worktree\n"
+"n - do not apply this hunk to index and worktree\n"
+"q - quit; do not apply this hunk or any of the remaining ones\n"
+"a - apply this hunk and all later hunks in the file\n"
+"d - do not apply this hunk or any of the later hunks in the file"
+msgstr ""
+"y - appliquer cette section à l'index et à l'arbre de travail\n"
+"n - ne pas appliquer cette section\n"
+"q - quitter ; ne pas appliquer cette section ni les autres restantes\n"
+"a - appliquer cette section et toutes les suivantes de ce fichier\n"
+"d - ne pas appliquer cette section ni les suivantes de ce fichier"
+
+#: git-add--interactive.perl:1241
+msgid ""
+"g - select a hunk to go to\n"
+"/ - search for a hunk matching the given regex\n"
+"j - leave this hunk undecided, see next undecided hunk\n"
+"J - leave this hunk undecided, see next hunk\n"
+"k - leave this hunk undecided, see previous undecided hunk\n"
+"K - leave this hunk undecided, see previous hunk\n"
+"s - split the current hunk into smaller hunks\n"
+"e - manually edit the current hunk\n"
+"? - print help\n"
+msgstr ""
+"g - selectionner une section et s'y rendre\n"
+"/ - rechercher une section correspondant à une regex donnée\n"
+"j - laisser cette section non décidée et aller à la suivante non-décidée\n"
+"J - laisser cette section non décidée et aller à la suivante\n"
+"k - laisser cette section non décidée et aller à la précédente non-décidée\n"
+"K - laisser cette section non décidée et aller à la précédente\n"
+"s - découper la section en sections plus petites\n"
+"e - éditer manuellement la section actuelle\n"
+"? - afficher l'aide\n"
+
+#: git-add--interactive.perl:1272
+msgid "The selected hunks do not apply to the index!\n"
+msgstr "Les sections sélectionnées ne s'applique pas à l'index !\n"
+
+#: git-add--interactive.perl:1273
+msgid "Apply them to the worktree anyway? "
+msgstr "Les appliquer quand même à l'arbre de travail ? "
+
+#: git-add--interactive.perl:1276
+msgid "Nothing was applied.\n"
+msgstr "Rien n'a été appliqué.\n"
+
+#: git-add--interactive.perl:1287
+#, perl-format
+msgid "ignoring unmerged: %s\n"
+msgstr "fichier non-fusionné ignoré : %s\n"
+
+#: git-add--interactive.perl:1296
+msgid "Only binary files changed.\n"
+msgstr "Seuls des fichiers binaires ont changé.\n"
+
+#: git-add--interactive.perl:1298
+msgid "No changes.\n"
+msgstr "Aucune modification.\n"
+
+#: git-add--interactive.perl:1306
+msgid "Patch update"
+msgstr "Mise à jour par patch"
+
+#: git-add--interactive.perl:1358
+#, perl-format
+msgid "Stage mode change [y,n,q,a,d,/%s,?]? "
+msgstr "Indexer le changement de mode [y,n,q,a,d,/%s,?] ? "
+
+#: git-add--interactive.perl:1359
+#, perl-format
+msgid "Stage deletion [y,n,q,a,d,/%s,?]? "
+msgstr "Indexer la suppression [y,n,q,a,d,/%s,?] ? "
+
+#: git-add--interactive.perl:1360
+#, perl-format
+msgid "Stage this hunk [y,n,q,a,d,/%s,?]? "
+msgstr "Indexer cette section [y,n,q,a,d,/%s,?] ? "
+
+#: git-add--interactive.perl:1363
+#, perl-format
+msgid "Stash mode change [y,n,q,a,d,/%s,?]? "
+msgstr "Remiser le changement de mode [y,n,q,a,d,/%s,?] ? "
+
+#: git-add--interactive.perl:1364
+#, perl-format
+msgid "Stash deletion [y,n,q,a,d,/%s,?]? "
+msgstr "Remiser la suppression [y,n,q,a,d,/%s,?] ? "
+
+#: git-add--interactive.perl:1365
+#, perl-format
+msgid "Stash this hunk [y,n,q,a,d,/%s,?]? "
+msgstr "Remiser cette section [y,n,q,a,d,/%s,?] ? "
+
+#: git-add--interactive.perl:1368
+#, perl-format
+msgid "Unstage mode change [y,n,q,a,d,/%s,?]? "
+msgstr "Désindexer le changement de mode [y,n,q,a,d,/%s,?] ? "
+
+#: git-add--interactive.perl:1369
+#, perl-format
+msgid "Unstage deletion [y,n,q,a,d,/%s,?]? "
+msgstr "Désindexer la suppression [y,n,q,a,d,/%s,?] ? "
+
+#: git-add--interactive.perl:1370
+#, perl-format
+msgid "Unstage this hunk [y,n,q,a,d,/%s,?]? "
+msgstr "Désindexer cette section [y,n,q,a,d,/%s,?] ? "
+
+#: git-add--interactive.perl:1373
+#, perl-format
+msgid "Apply mode change to index [y,n,q,a,d,/%s,?]? "
+msgstr "Appliquer le changement de mode à l'index [y,n,q,a,d,/%s,?] ? "
+
+#: git-add--interactive.perl:1374
+#, perl-format
+msgid "Apply deletion to index [y,n,q,a,d,/%s,?]? "
+msgstr "Appliquer la suppression à l'index [y,n,q,a,d,/%s,?] ? "
+
+#: git-add--interactive.perl:1375
+#, perl-format
+msgid "Apply this hunk to index [y,n,q,a,d,/%s,?]? "
+msgstr "Appliquer cette section à l'index [y,n,q,a,d,/%s,?] ? "
+
+#: git-add--interactive.perl:1378
+#, perl-format
+msgid "Discard mode change from worktree [y,n,q,a,d,/%s,?]? "
+msgstr "Abandonner le changement de mode dans l'arbre [y,n,q,a,d,/%s,?] ? "
+
+#: git-add--interactive.perl:1379
+#, perl-format
+msgid "Discard deletion from worktree [y,n,q,a,d,/%s,?]? "
+msgstr "Abandonner la suppression dans l'arbre [y,n,q,a,d,/%s,?] ? "
+
+#: git-add--interactive.perl:1380
+#, perl-format
+msgid "Discard this hunk from worktree [y,n,q,a,d,/%s,?]? "
+msgstr "Abandonner cette section dans l'arbre [y,n,q,a,d,/%s,?] ? "
+
+#: git-add--interactive.perl:1383
+#, perl-format
+msgid "Discard mode change from index and worktree [y,n,q,a,d,/%s,?]? "
+msgstr ""
+"Abandonner le changement de mode dans l'index et l'arbre [y,n,q,a,d,/%s,?] ? "
+
+#: git-add--interactive.perl:1384
+#, perl-format
+msgid "Discard deletion from index and worktree [y,n,q,a,d,/%s,?]? "
+msgstr ""
+"Abandonner la suppression de l'index et de l'arbre [y,n,q,a,d,/%s,?] ? "
+
+#: git-add--interactive.perl:1385
+#, perl-format
+msgid "Discard this hunk from index and worktree [y,n,q,a,d,/%s,?]? "
+msgstr ""
+"Supprimer la section dans l'index et l'arbre de travail [y,n,q,a,d,/%s,?] ? "
+
+#: git-add--interactive.perl:1388
+#, perl-format
+msgid "Apply mode change to index and worktree [y,n,q,a,d,/%s,?]? "
+msgstr ""
+"Appliquer le changement de mode dans l'index et l'arbre de travail [y,n,q,a,"
+"d,/%s,?] ? "
+
+#: git-add--interactive.perl:1389
+#, perl-format
+msgid "Apply deletion to index and worktree [y,n,q,a,d,/%s,?]? "
+msgstr ""
+"Appliquer la suppression dans l'index et l'arbre de travail [y,n,q,a,d,/"
+"%s,?] ? "
+
+#: git-add--interactive.perl:1390
+#, perl-format
+msgid "Apply this hunk to index and worktree [y,n,q,a,d,/%s,?]? "
+msgstr ""
+"Appliquer la section à l'index et l'arbre de travail [y,n,q,a,d,/%s,?] ? "
+
+#: git-add--interactive.perl:1493
+msgid "go to which hunk (<ret> to see more)? "
+msgstr "aller à quelle section (<ret> pour voir plus) ? "
+
+#: git-add--interactive.perl:1495
+msgid "go to which hunk? "
+msgstr "aller à quelle section ? "
+
+#: git-add--interactive.perl:1504
+#, perl-format
+msgid "Invalid number: '%s'\n"
+msgstr "Nombre invalide : '%s'\n"
+
+#: git-add--interactive.perl:1509
+#, perl-format
+msgid "Sorry, only %d hunk available.\n"
+msgid_plural "Sorry, only %d hunks available.\n"
+msgstr[0] "Désolé, %d seule section disponible.\n"
+msgstr[1] "Désolé, Seulement %d sections disponibles.\n"
+
+#: git-add--interactive.perl:1535
+msgid "search for regex? "
+msgstr "rechercher la regex ? "
+
+#: git-add--interactive.perl:1548
+#, perl-format
+msgid "Malformed search regexp %s: %s\n"
+msgstr "Regex de recherche malformée %s : %s\n"
+
+#: git-add--interactive.perl:1558
+msgid "No hunk matches the given pattern\n"
+msgstr "Aucune section ne correspond au motif donné\n"
+
+#: git-add--interactive.perl:1570 git-add--interactive.perl:1592
+msgid "No previous hunk\n"
+msgstr "Pas de section précédente\n"
+
+#: git-add--interactive.perl:1579 git-add--interactive.perl:1598
+msgid "No next hunk\n"
+msgstr "Pas de section suivante\n"
+
+#: git-add--interactive.perl:1606
+#, perl-format
+msgid "Split into %d hunk.\n"
+msgid_plural "Split into %d hunks.\n"
+msgstr[0] "Découpée en %d section.\n"
+msgstr[1] "Découpée en %d sections.\n"
+
+#: git-add--interactive.perl:1658
+msgid "Review diff"
+msgstr "Réviser la différence"
+
+#. TRANSLATORS: please do not translate the command names
+#. 'status', 'update', 'revert', etc.
+#: git-add--interactive.perl:1677
+msgid ""
+"status        - show paths with changes\n"
+"update        - add working tree state to the staged set of changes\n"
+"revert        - revert staged set of changes back to the HEAD version\n"
+"patch         - pick hunks and update selectively\n"
+"diff\t      - view diff between HEAD and index\n"
+"add untracked - add contents of untracked files to the staged set of "
+"changes\n"
+msgstr ""
+"status        - montrer les chemins modifiés\n"
+"update        - ajouter l'état de l'arbre de travail aux modifications à "
+"indexer\n"
+"revert        - faire revenir les modifications à indexer à la version HEAD\n"
+"patch         - sélectionner les sections et mettre à jour sélectivement\n"
+"diff\t      - visualiser les diff entre HEAD et l'index\n"
+"add untracked - Ajouter les fichiers non-suivis aux modifications à indexer\n"
+
+#: git-add--interactive.perl:1694 git-add--interactive.perl:1699
+#: git-add--interactive.perl:1702 git-add--interactive.perl:1709
+#: git-add--interactive.perl:1713 git-add--interactive.perl:1719
+msgid "missing --"
+msgstr "-- manquant"
+
+#: git-add--interactive.perl:1715
+#, perl-format
+msgid "unknown --patch mode: %s"
+msgstr "mode de --patch inconnu : %s"
+
+#: git-add--interactive.perl:1721 git-add--interactive.perl:1727
+#, perl-format
+msgid "invalid argument %s, expecting --"
+msgstr "argument invalide %s, -- attendu"
+
+#: git-send-email.perl:121
+msgid "local zone differs from GMT by a non-minute interval\n"
+msgstr "la zone locale diffère du GMT par un interval supérieur à une minute\n"
+
+#: git-send-email.perl:128 git-send-email.perl:134
+msgid "local time offset greater than or equal to 24 hours\n"
+msgstr "le décalage de temps local est plus grand ou égal à 24 heures\n"
+
+#: git-send-email.perl:202 git-send-email.perl:208
+msgid "the editor exited uncleanly, aborting everything"
+msgstr "l'éditeur est sorti en erreur, abandon total"
+
+#: git-send-email.perl:282
+#, perl-format
+msgid ""
+"'%s' contains an intermediate version of the email you were composing.\n"
+msgstr ""
+"'%s' contient une version intermédiaire du courriel que vous composiez.\n"
+
+#: git-send-email.perl:287
+#, perl-format
+msgid "'%s.final' contains the composed email.\n"
+msgstr "'%s.final' contient le courriel composé.\n"
+
+#: git-send-email.perl:305
+msgid "--dump-aliases incompatible with other options\n"
+msgstr "--dump-aliases est incompatible avec d'autres options\n"
+
+#: git-send-email.perl:368 git-send-email.perl:623
+msgid "Cannot run git format-patch from outside a repository\n"
+msgstr "Lancement de git format-patch impossible à l'extérieur d'un dépôt\n"
+
+#: git-send-email.perl:437
+#, perl-format
+msgid "Unknown --suppress-cc field: '%s'\n"
+msgstr "Champ de --suppress-cc inconnu : '%s'\n"
+
+#: git-send-email.perl:466
+#, perl-format
+msgid "Unknown --confirm setting: '%s'\n"
+msgstr "Paramètre de --confirm inconnu : '%s'\n"
+
+#: git-send-email.perl:498
+#, perl-format
+msgid "warning: sendmail alias with quotes is not supported: %s\n"
+msgstr ""
+"attention : les guillemets ne sont pas supportés dans alias sendmail : %s\n"
+
+#: git-send-email.perl:500
+#, perl-format
+msgid "warning: `:include:` not supported: %s\n"
+msgstr "attention : `:include:` n'est pas supporté : %s\n"
+
+#: git-send-email.perl:502
+#, perl-format
+msgid "warning: `/file` or `|pipe` redirection not supported: %s\n"
+msgstr ""
+"attention : les redirections `/file` ou `|pipe` ne sont pas supportées : %s\n"
+
+#: git-send-email.perl:507
+#, perl-format
+msgid "warning: sendmail line is not recognized: %s\n"
+msgstr "attention : ligne sendmail non reconnue : %s\n"
+
+#: git-send-email.perl:589
+#, perl-format
+msgid ""
+"File '%s' exists but it could also be the range of commits\n"
+"to produce patches for.  Please disambiguate by...\n"
+"\n"
+"    * Saying \"./%s\" if you mean a file; or\n"
+"    * Giving --format-patch option if you mean a range.\n"
+msgstr ""
+"Le fichier '%s' existe mais ce pourrait aussi être la plage de commmits\n"
+"pour lequel les patches sont à produire. Veuillez préciser...\n"
+"\n"
+"    * en indiquant \"./%s\" si vous désignez un fichier, ou\n"
+"    * en fournissant l'option --format-patch pour une plage.\n"
+
+#: git-send-email.perl:610
+#, perl-format
+msgid "Failed to opendir %s: %s"
+msgstr "Échec à l'ouverture du répertoire %s : %s"
+
+#: git-send-email.perl:634
+#, perl-format
+msgid ""
+"fatal: %s: %s\n"
+"warning: no patches were sent\n"
+msgstr ""
+"fatal : %s : %s\n"
+"attention : aucun patch envoyé\n"
+
+#: git-send-email.perl:645
+msgid ""
+"\n"
+"No patch files specified!\n"
+"\n"
+msgstr ""
+"\n"
+"Aucun fichier patch spécifié !\n"
+"\n"
+
+#: git-send-email.perl:658
+#, perl-format
+msgid "No subject line in %s?"
+msgstr "Ligne de sujet non trouvée dans %s ?"
+
+#: git-send-email.perl:668
+#, perl-format
+msgid "Failed to open for writing %s: %s"
+msgstr "Impossible d'ouvrir %s en écriture : %s"
+
+#: git-send-email.perl:678
+msgid ""
+"Lines beginning in \"GIT:\" will be removed.\n"
+"Consider including an overall diffstat or table of contents\n"
+"for the patch you are writing.\n"
+"\n"
+"Clear the body content if you don't wish to send a summary.\n"
+msgstr ""
+"Les lignes commençant par \"GIT:\" seront supprimées.\n"
+"Envisagez d'inclure un diffstat global ou une table des matières\n"
+"pour le patch que vous êtes en train d'écrire.\n"
+"\n"
+"Effacez le corps si vous ne souhaitez pas envoyer un résumé.\n"
+
+#: git-send-email.perl:701
+#, perl-format
+msgid "Failed to open %s.final: %s"
+msgstr "Échec à l'ouverture de %s.final : %s"
+
+#: git-send-email.perl:704
+#, perl-format
+msgid "Failed to open %s: %s"
+msgstr "Échec à l'ouverture de %s : %s"
+
+#: git-send-email.perl:739
+msgid "To/Cc/Bcc fields are not interpreted yet, they have been ignored\n"
+msgstr ""
+"Les champs To/CC/Bcc ne sont pas encore interprétés, ils ont été ignorés\n"
+
+#: git-send-email.perl:748
+msgid "Summary email is empty, skipping it\n"
+msgstr "Le courriel de résumé etant vide, il a été ignoré\n"
+
+#. TRANSLATORS: please keep [y/N] as is.
+#: git-send-email.perl:780
+#, perl-format
+msgid "Are you sure you want to use <%s> [y/N]? "
+msgstr "Êtes-vous sur de vouloir utiliser <%s> [y/N] ? "
+
+#: git-send-email.perl:809
+msgid ""
+"The following files are 8bit, but do not declare a Content-Transfer-"
+"Encoding.\n"
+msgstr ""
+"Les fichiers suivants sont 8bit mais ne déclarent pas de champs Content-"
+"Transfer-Encoding.\n"
+
+#: git-send-email.perl:814
+msgid "Which 8bit encoding should I declare [UTF-8]? "
+msgstr "Quel encodage 8bit doit être déclaré [UTF8] ? "
+
+#: git-send-email.perl:822
+#, perl-format
+msgid ""
+"Refusing to send because the patch\n"
+"\t%s\n"
+"has the template subject '*** SUBJECT HERE ***'. Pass --force if you really "
+"want to send.\n"
+msgstr ""
+"Envoi refusé parce que le patch\n"
+"\t%s\n"
+"a un sujet modèle '*** SUBJECT HERE ***'. Passez --force is vous souhaitez "
+"vraiment envoyer.\n"
+
+#: git-send-email.perl:841
+msgid "To whom should the emails be sent (if anyone)?"
+msgstr "À qui les courriels doivent-ils être envoyés (s'il y en a) ?"
+
+#: git-send-email.perl:859
+#, perl-format
+msgid "fatal: alias '%s' expands to itself\n"
+msgstr "fatal : l'alias '%s' se développe en lui-même\n"
+
+#: git-send-email.perl:871
+msgid "Message-ID to be used as In-Reply-To for the first email (if any)? "
+msgstr ""
+"Message-ID à utiliser comme In-Reply-to pour le premier courriel (s'il y en "
+"a) ? "
+
+#: git-send-email.perl:921 git-send-email.perl:929
+#, perl-format
+msgid "error: unable to extract a valid address from: %s\n"
+msgstr "erreur : impossible d'extraire une adresse valide depuis : %s\n"
+
+#. TRANSLATORS: Make sure to include [q] [d] [e] in your
+#. translation. The program will only accept English input
+#. at this point.
+#: git-send-email.perl:933
+msgid "What to do with this address? ([q]uit|[d]rop|[e]dit): "
+msgstr "Que faire de cette adresse ? ([q]uitter|[d]élaisser|[e]diter): "
+
+#: git-send-email.perl:1234
+#, perl-format
+msgid "CA path \"%s\" does not exist"
+msgstr "le chemin vers la CA \"%s\" n'existe pas"
+
+#: git-send-email.perl:1309
+msgid ""
+"    The Cc list above has been expanded by additional\n"
+"    addresses found in the patch commit message. By default\n"
+"    send-email prompts before sending whenever this occurs.\n"
+"    This behavior is controlled by the sendemail.confirm\n"
+"    configuration setting.\n"
+"\n"
+"    For additional information, run 'git send-email --help'.\n"
+"    To retain the current behavior, but squelch this message,\n"
+"    run 'git config --global sendemail.confirm auto'.\n"
+"\n"
+msgstr ""
+"   La liste CC ci-dessus a été étendue avec des adresses\n"
+"   supplémentaires trouvées dans le message de validation.\n"
+"   Par défaut dans ce cas, send-email demande confirmation avant envoi.\n"
+"   Ce comportement est géré par le paramètre de configuration\n"
+"   sendemail.confirm.\n"
+"\n"
+"   Pour tout information complémentaire, lancez 'git send-email --help'.\n"
+"   Pour conserver le comportement actuel, mais éliminer ce message,\n"
+"   lancez 'git config --global sendemail.confirm auto'.\n"
+"\n"
+
+#. TRANSLATORS: Make sure to include [y] [n] [q] [a] in your
+#. translation. The program will only accept English input
+#. at this point.
+#: git-send-email.perl:1324
+msgid "Send this email? ([y]es|[n]o|[q]uit|[a]ll): "
+msgstr "Envoyer ce courriel ? ([y]es|[n]o|[q]uit|[a]ll) : "
+
+#: git-send-email.perl:1327
+msgid "Send this email reply required"
+msgstr "Une réponse est nécessaire"
+
+#: git-send-email.perl:1353
+msgid "The required SMTP server is not properly defined."
+msgstr "Le serveur SMTP nécessaire n'est pas défini correctement."
+
+#: git-send-email.perl:1397
+#, perl-format
+msgid "Server does not support STARTTLS! %s"
+msgstr "Le serveur ne supporte pas STARTTLS ! %s"
+
+#: git-send-email.perl:1403
+msgid "Unable to initialize SMTP properly. Check config and use --smtp-debug."
+msgstr ""
+"Impossible d'initialiser SMTP. Vérifiez la configuration et utilisez --smtp-"
+"debug."
+
+#: git-send-email.perl:1421
+#, perl-format
+msgid "Failed to send %s\n"
+msgstr "échec de l'envoi de %s\n"
+
+#: git-send-email.perl:1424
+#, perl-format
+msgid "Dry-Sent %s\n"
+msgstr "Envoi simulé de %s\n"
+
+#: git-send-email.perl:1424
+#, perl-format
+msgid "Sent %s\n"
+msgstr "%s envoyé\n"
+
+#: git-send-email.perl:1426
+msgid "Dry-OK. Log says:\n"
+msgstr "Simulation OK. Le journal indique :\n"
+
+#: git-send-email.perl:1426
+msgid "OK. Log says:\n"
+msgstr "OK. Le journal indique :\n"
+
+#: git-send-email.perl:1438
+msgid "Result: "
+msgstr "Résultat : "
+
+#: git-send-email.perl:1441
+msgid "Result: OK\n"
+msgstr "Résultat : OK\n"
+
+#: git-send-email.perl:1454
+#, perl-format
+msgid "can't open file %s"
+msgstr "impossible d'ouvrir le fichier %s"
+
+#: git-send-email.perl:1501 git-send-email.perl:1521
+#, perl-format
+msgid "(mbox) Adding cc: %s from line '%s'\n"
+msgstr "(mbox) Ajout de cc: %s depuis la ligne '%s'\n"
+
+#: git-send-email.perl:1507
+#, perl-format
+msgid "(mbox) Adding to: %s from line '%s'\n"
+msgstr "(mbox) Ajout de to: %s depuis la ligne '%s'\n"
+
+#: git-send-email.perl:1555
+#, perl-format
+msgid "(non-mbox) Adding cc: %s from line '%s'\n"
+msgstr "(non-mbox) Ajout de cc: %s depuis la ligne '%s'\n"
+
+#: git-send-email.perl:1578
+#, perl-format
+msgid "(body) Adding cc: %s from line '%s'\n"
+msgstr "(corps) Ajout de cc: %s depuis la ligne '%s'\n"
+
+#: git-send-email.perl:1676
+#, perl-format
+msgid "(%s) Could not execute '%s'"
+msgstr "(%s) Impossible d'exécuter '%s'"
+
+#: git-send-email.perl:1683
+#, perl-format
+msgid "(%s) Adding %s: %s from: '%s'\n"
+msgstr "(%s) Ajout de %s : %s depuis : '%s'\n"
+
+#: git-send-email.perl:1687
+#, perl-format
+msgid "(%s) failed to close pipe to '%s'"
+msgstr "(%s) échec de la fermeture du pipe vers '%s'"
+
+#: git-send-email.perl:1714
+msgid "cannot send message as 7bit"
+msgstr "impossible d'envoyer un message comme 7bit"
+
+#: git-send-email.perl:1722
+msgid "invalid transfer encoding"
+msgstr "codage de transfert invalide"
+
+#: git-send-email.perl:1741 git-send-email.perl:1792 git-send-email.perl:1802
+#, perl-format
+msgid "unable to open %s: %s\n"
+msgstr "impossible d'ouvrir %s :%s\n"
+
+#: git-send-email.perl:1744
+#, perl-format
+msgid "%s: patch contains a line longer than 998 characters"
+msgstr "%s : le patch contient une ligne plus longue que 998 caractères"
+
+#: git-send-email.perl:1760
+#, perl-format
+msgid "Skipping %s with backup suffix '%s'.\n"
+msgstr "%s sauté avec un suffix de sauvegarde '%s'.\n"
+
+#. TRANSLATORS: please keep "[y|N]" as is.
+#: git-send-email.perl:1764
+#, perl-format
+msgid "Do you really want to send %s? [y|N]: "
+msgstr "Souhaitez-vous réellement envoyer %s ?[y|N] : "
+
+#~ msgid "Use an experimental blank-line-based heuristic to improve diffs"
+#~ msgstr ""
+#~ "Utiliser une heuristique expérimentale reposant sur les lignes vides pour "
+#~ "améliorer le diffs"
+
+#~ msgid "Clever... amending the last one with dirty index."
+#~ msgstr "Malin... correction du dernier avec un index sale."
+
+#~ msgid ""
+#~ "the following submodule (or one of its nested submodules)\n"
+#~ "uses a .git directory:"
+#~ msgid_plural ""
+#~ "the following submodules (or one of their nested submodules)\n"
+#~ "use a .git directory:"
+#~ msgstr[0] ""
+#~ "le sous-module suivant (ou un de ses sous-modules imbriqués)\n"
+#~ "utilise un répertoire .git :"
+#~ msgstr[1] ""
+#~ "les sous-modules suivants (ou un de leurs sous-modules imbriqués)\n"
+#~ "utilisent un répertoire .git :"
+
+#~ msgid ""
+#~ "\n"
+#~ "(use 'rm -rf' if you really want to remove it including all of its "
+#~ "history)"
+#~ msgstr ""
+#~ "\n"
+#~ "(utilisez 'rm -rf' si vous voulez vraiment le supprimer en incluant tout "
+#~ "son historique)"
+
 #~ msgid "Could not write to %s"
 #~ msgstr "Impossible d'écrire dans %s"
 
@@ -15047,9 +16409,6 @@
 #~ msgid "bug: unhandled diff status %c"
 #~ msgstr "bogue : état de diff non géré %c"
 
-#~ msgid "read of %s failed"
-#~ msgstr "échec de la lecture de %s"
-
 #~ msgid "could not write branch description template"
 #~ msgstr "impossible d'écrire le modèle de description de branche"
 
@@ -15113,8 +16472,8 @@
 #~ "or you are unsure what this means choose another name with the '--name' "
 #~ "option."
 #~ msgstr ""
-#~ "ou vous ne savez pas ce que cela signifie de choisir un autre nom avec "
-#~ "l'option '--name'."
+#~ "ou si vous ne savez pas ce que cela signifie, choisissez un autre nom "
+#~ "avec l'option '--name'."
 
 #~ msgid "Submodule work tree '$displaypath' contains a .git directory"
 #~ msgstr ""
@@ -15134,12 +16493,6 @@
 #~ msgid "unable to access '%s': %s"
 #~ msgstr "impossible d'accéder à '%s' : %s"
 
-#~ msgid "could not open '%s' for reading: %s"
-#~ msgstr "impossible d'ouvrir '%s' en lecture : %s"
-
-#~ msgid "could not open '%s' for writing: %s"
-#~ msgstr "impossible d'ouvrir '%s' en écriture : %s"
-
 #~ msgid "    git branch -d %s\n"
 #~ msgstr "    git branch -d %s\n"
 
diff --git a/po/git.pot b/po/git.pot
index e4e29eb..cc0b9c3 100644
--- a/po/git.pot
+++ b/po/git.pot
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: Git Mailing List <git@vger.kernel.org>\n"
-"POT-Creation-Date: 2016-11-25 22:50+0800\n"
+"POT-Creation-Date: 2017-02-18 01:00+0800\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -58,7 +58,7 @@
 msgid "Exiting because of an unresolved conflict."
 msgstr ""
 
-#: advice.c:114 builtin/merge.c:1181
+#: advice.c:114 builtin/merge.c:1206
 msgid "You have not concluded your merge (MERGE_HEAD exists)."
 msgstr ""
 
@@ -220,471 +220,472 @@
 msgid "patch with only garbage at line %d"
 msgstr ""
 
-#: apply.c:2274
+#: apply.c:2265
 #, c-format
 msgid "unable to read symlink %s"
 msgstr ""
 
-#: apply.c:2278
+#: apply.c:2269
 #, c-format
 msgid "unable to open or read %s"
 msgstr ""
 
-#: apply.c:2931
+#: apply.c:2922
 #, c-format
 msgid "invalid start of line: '%c'"
 msgstr ""
 
-#: apply.c:3050
+#: apply.c:3041
 #, c-format
 msgid "Hunk #%d succeeded at %d (offset %d line)."
 msgid_plural "Hunk #%d succeeded at %d (offset %d lines)."
 msgstr[0] ""
 msgstr[1] ""
 
-#: apply.c:3062
+#: apply.c:3053
 #, c-format
 msgid "Context reduced to (%ld/%ld) to apply fragment at %d"
 msgstr ""
 
-#: apply.c:3068
+#: apply.c:3059
 #, c-format
 msgid ""
 "while searching for:\n"
 "%.*s"
 msgstr ""
 
-#: apply.c:3090
+#: apply.c:3081
 #, c-format
 msgid "missing binary patch data for '%s'"
 msgstr ""
 
-#: apply.c:3098
+#: apply.c:3089
 #, c-format
 msgid "cannot reverse-apply a binary patch without the reverse hunk to '%s'"
 msgstr ""
 
-#: apply.c:3144
+#: apply.c:3135
 #, c-format
 msgid "cannot apply binary patch to '%s' without full index line"
 msgstr ""
 
-#: apply.c:3154
+#: apply.c:3145
 #, c-format
 msgid ""
 "the patch applies to '%s' (%s), which does not match the current contents."
 msgstr ""
 
-#: apply.c:3162
+#: apply.c:3153
 #, c-format
 msgid "the patch applies to an empty '%s' but it is not empty"
 msgstr ""
 
-#: apply.c:3180
+#: apply.c:3171
 #, c-format
 msgid "the necessary postimage %s for '%s' cannot be read"
 msgstr ""
 
-#: apply.c:3193
+#: apply.c:3184
 #, c-format
 msgid "binary patch does not apply to '%s'"
 msgstr ""
 
-#: apply.c:3199
+#: apply.c:3190
 #, c-format
 msgid "binary patch to '%s' creates incorrect result (expecting %s, got %s)"
 msgstr ""
 
-#: apply.c:3220
+#: apply.c:3211
 #, c-format
 msgid "patch failed: %s:%ld"
 msgstr ""
 
-#: apply.c:3342
+#: apply.c:3333
 #, c-format
 msgid "cannot checkout %s"
 msgstr ""
 
-#: apply.c:3390 apply.c:3401 apply.c:3447 setup.c:248
+#: apply.c:3381 apply.c:3392 apply.c:3438 setup.c:248
 #, c-format
 msgid "failed to read %s"
 msgstr ""
 
-#: apply.c:3398
+#: apply.c:3389
 #, c-format
 msgid "reading from '%s' beyond a symbolic link"
 msgstr ""
 
-#: apply.c:3427 apply.c:3667
+#: apply.c:3418 apply.c:3658
 #, c-format
 msgid "path %s has been renamed/deleted"
 msgstr ""
 
-#: apply.c:3510 apply.c:3681
+#: apply.c:3501 apply.c:3672
 #, c-format
 msgid "%s: does not exist in index"
 msgstr ""
 
-#: apply.c:3519 apply.c:3689
+#: apply.c:3510 apply.c:3680
 #, c-format
 msgid "%s: does not match index"
 msgstr ""
 
-#: apply.c:3554
+#: apply.c:3545
 msgid "repository lacks the necessary blob to fall back on 3-way merge."
 msgstr ""
 
-#: apply.c:3557
+#: apply.c:3548
 #, c-format
 msgid "Falling back to three-way merge...\n"
 msgstr ""
 
-#: apply.c:3573 apply.c:3577
+#: apply.c:3564 apply.c:3568
 #, c-format
 msgid "cannot read the current contents of '%s'"
 msgstr ""
 
-#: apply.c:3589
+#: apply.c:3580
 #, c-format
 msgid "Failed to fall back on three-way merge...\n"
 msgstr ""
 
-#: apply.c:3603
+#: apply.c:3594
 #, c-format
 msgid "Applied patch to '%s' with conflicts.\n"
 msgstr ""
 
-#: apply.c:3608
+#: apply.c:3599
 #, c-format
 msgid "Applied patch to '%s' cleanly.\n"
 msgstr ""
 
-#: apply.c:3634
+#: apply.c:3625
 msgid "removal patch leaves file contents"
 msgstr ""
 
-#: apply.c:3706
+#: apply.c:3697
 #, c-format
 msgid "%s: wrong type"
 msgstr ""
 
-#: apply.c:3708
+#: apply.c:3699
 #, c-format
 msgid "%s has type %o, expected %o"
 msgstr ""
 
-#: apply.c:3859 apply.c:3861
+#: apply.c:3850 apply.c:3852
 #, c-format
 msgid "invalid path '%s'"
 msgstr ""
 
-#: apply.c:3917
+#: apply.c:3908
 #, c-format
 msgid "%s: already exists in index"
 msgstr ""
 
-#: apply.c:3920
+#: apply.c:3911
 #, c-format
 msgid "%s: already exists in working directory"
 msgstr ""
 
-#: apply.c:3940
+#: apply.c:3931
 #, c-format
 msgid "new mode (%o) of %s does not match old mode (%o)"
 msgstr ""
 
-#: apply.c:3945
+#: apply.c:3936
 #, c-format
 msgid "new mode (%o) of %s does not match old mode (%o) of %s"
 msgstr ""
 
-#: apply.c:3965
+#: apply.c:3956
 #, c-format
 msgid "affected file '%s' is beyond a symbolic link"
 msgstr ""
 
-#: apply.c:3969
+#: apply.c:3960
 #, c-format
 msgid "%s: patch does not apply"
 msgstr ""
 
-#: apply.c:3984
+#: apply.c:3975
 #, c-format
 msgid "Checking patch %s..."
 msgstr ""
 
-#: apply.c:4075
+#: apply.c:4066
 #, c-format
 msgid "sha1 information is lacking or useless for submodule %s"
 msgstr ""
 
-#: apply.c:4082
+#: apply.c:4073
 #, c-format
 msgid "mode change for %s, which is not in current HEAD"
 msgstr ""
 
-#: apply.c:4085
+#: apply.c:4076
 #, c-format
 msgid "sha1 information is lacking or useless (%s)."
 msgstr ""
 
-#: apply.c:4090 builtin/checkout.c:233 builtin/reset.c:135
+#: apply.c:4081 builtin/checkout.c:233 builtin/reset.c:135
 #, c-format
 msgid "make_cache_entry failed for path '%s'"
 msgstr ""
 
-#: apply.c:4094
+#: apply.c:4085
 #, c-format
 msgid "could not add %s to temporary index"
 msgstr ""
 
-#: apply.c:4104
+#: apply.c:4095
 #, c-format
 msgid "could not write temporary index to %s"
 msgstr ""
 
-#: apply.c:4242
+#: apply.c:4233
 #, c-format
 msgid "unable to remove %s from index"
 msgstr ""
 
-#: apply.c:4277
+#: apply.c:4268
 #, c-format
 msgid "corrupt patch for submodule %s"
 msgstr ""
 
-#: apply.c:4283
+#: apply.c:4274
 #, c-format
 msgid "unable to stat newly created file '%s'"
 msgstr ""
 
-#: apply.c:4291
+#: apply.c:4282
 #, c-format
 msgid "unable to create backing store for newly created file %s"
 msgstr ""
 
-#: apply.c:4297 apply.c:4441
+#: apply.c:4288 apply.c:4432
 #, c-format
 msgid "unable to add cache entry for %s"
 msgstr ""
 
-#: apply.c:4338
+#: apply.c:4329
 #, c-format
 msgid "failed to write to '%s'"
 msgstr ""
 
-#: apply.c:4342
+#: apply.c:4333
 #, c-format
 msgid "closing file '%s'"
 msgstr ""
 
-#: apply.c:4412
+#: apply.c:4403
 #, c-format
 msgid "unable to write file '%s' mode %o"
 msgstr ""
 
-#: apply.c:4510
+#: apply.c:4501
 #, c-format
 msgid "Applied patch %s cleanly."
 msgstr ""
 
-#: apply.c:4518
+#: apply.c:4509
 msgid "internal error"
 msgstr ""
 
-#: apply.c:4521
+#: apply.c:4512
 #, c-format
 msgid "Applying patch %%s with %d reject..."
 msgid_plural "Applying patch %%s with %d rejects..."
 msgstr[0] ""
 msgstr[1] ""
 
-#: apply.c:4532
+#: apply.c:4523
 #, c-format
 msgid "truncating .rej filename to %.*s.rej"
 msgstr ""
 
-#: apply.c:4540 builtin/fetch.c:740 builtin/fetch.c:989
+#: apply.c:4531 builtin/fetch.c:737 builtin/fetch.c:986
 #, c-format
 msgid "cannot open %s"
 msgstr ""
 
-#: apply.c:4554
+#: apply.c:4545
 #, c-format
 msgid "Hunk #%d applied cleanly."
 msgstr ""
 
-#: apply.c:4558
+#: apply.c:4549
 #, c-format
 msgid "Rejected hunk #%d."
 msgstr ""
 
-#: apply.c:4668
+#: apply.c:4659
 #, c-format
 msgid "Skipped patch '%s'."
 msgstr ""
 
-#: apply.c:4676
+#: apply.c:4667
 msgid "unrecognized input"
 msgstr ""
 
-#: apply.c:4695
+#: apply.c:4686
 msgid "unable to read index file"
 msgstr ""
 
-#: apply.c:4833
+#: apply.c:4824
 #, c-format
 msgid "can't open patch '%s': %s"
 msgstr ""
 
-#: apply.c:4858
+#: apply.c:4849
 #, c-format
 msgid "squelched %d whitespace error"
 msgid_plural "squelched %d whitespace errors"
 msgstr[0] ""
 msgstr[1] ""
 
-#: apply.c:4864 apply.c:4879
+#: apply.c:4855 apply.c:4870
 #, c-format
 msgid "%d line adds whitespace errors."
 msgid_plural "%d lines add whitespace errors."
 msgstr[0] ""
 msgstr[1] ""
 
-#: apply.c:4872
+#: apply.c:4863
 #, c-format
 msgid "%d line applied after fixing whitespace errors."
 msgid_plural "%d lines applied after fixing whitespace errors."
 msgstr[0] ""
 msgstr[1] ""
 
-#: apply.c:4888 builtin/add.c:463 builtin/mv.c:286 builtin/rm.c:431
+#: apply.c:4879 builtin/add.c:463 builtin/mv.c:298 builtin/rm.c:391
 msgid "Unable to write new index file"
 msgstr ""
 
-#: apply.c:4919 apply.c:4922 builtin/am.c:2277 builtin/am.c:2280
+#: apply.c:4910 apply.c:4913 builtin/am.c:2277 builtin/am.c:2280
 #: builtin/clone.c:95 builtin/fetch.c:98 builtin/pull.c:180
-#: builtin/submodule--helper.c:281 builtin/submodule--helper.c:407
-#: builtin/submodule--helper.c:589 builtin/submodule--helper.c:592
-#: builtin/submodule--helper.c:944 builtin/submodule--helper.c:947
+#: builtin/submodule--helper.c:281 builtin/submodule--helper.c:591
+#: builtin/submodule--helper.c:594 builtin/submodule--helper.c:960
+#: builtin/submodule--helper.c:963 builtin/submodule--helper.c:1104
+#: git-add--interactive.perl:239
 msgid "path"
 msgstr ""
 
-#: apply.c:4920
+#: apply.c:4911
 msgid "don't apply changes matching the given path"
 msgstr ""
 
-#: apply.c:4923
+#: apply.c:4914
 msgid "apply changes matching the given path"
 msgstr ""
 
-#: apply.c:4925 builtin/am.c:2286
+#: apply.c:4916 builtin/am.c:2286
 msgid "num"
 msgstr ""
 
-#: apply.c:4926
+#: apply.c:4917
 msgid "remove <num> leading slashes from traditional diff paths"
 msgstr ""
 
-#: apply.c:4929
+#: apply.c:4920
 msgid "ignore additions made by the patch"
 msgstr ""
 
-#: apply.c:4931
+#: apply.c:4922
 msgid "instead of applying the patch, output diffstat for the input"
 msgstr ""
 
-#: apply.c:4935
+#: apply.c:4926
 msgid "show number of added and deleted lines in decimal notation"
 msgstr ""
 
-#: apply.c:4937
+#: apply.c:4928
 msgid "instead of applying the patch, output a summary for the input"
 msgstr ""
 
-#: apply.c:4939
+#: apply.c:4930
 msgid "instead of applying the patch, see if the patch is applicable"
 msgstr ""
 
-#: apply.c:4941
+#: apply.c:4932
 msgid "make sure the patch is applicable to the current index"
 msgstr ""
 
-#: apply.c:4943
+#: apply.c:4934
 msgid "apply a patch without touching the working tree"
 msgstr ""
 
-#: apply.c:4945
+#: apply.c:4936
 msgid "accept a patch that touches outside the working area"
 msgstr ""
 
-#: apply.c:4947
+#: apply.c:4938
 msgid "also apply the patch (use with --stat/--summary/--check)"
 msgstr ""
 
-#: apply.c:4949
+#: apply.c:4940
 msgid "attempt three-way merge if a patch does not apply"
 msgstr ""
 
-#: apply.c:4951
+#: apply.c:4942
 msgid "build a temporary index based on embedded index information"
 msgstr ""
 
-#: apply.c:4954 builtin/checkout-index.c:169 builtin/ls-files.c:505
+#: apply.c:4945 builtin/checkout-index.c:169 builtin/ls-files.c:507
 msgid "paths are separated with NUL character"
 msgstr ""
 
-#: apply.c:4956
+#: apply.c:4947
 msgid "ensure at least <n> lines of context match"
 msgstr ""
 
-#: apply.c:4957 builtin/am.c:2265
+#: apply.c:4948 builtin/am.c:2265
 msgid "action"
 msgstr ""
 
-#: apply.c:4958
+#: apply.c:4949
 msgid "detect new or modified lines that have whitespace errors"
 msgstr ""
 
-#: apply.c:4961 apply.c:4964
+#: apply.c:4952 apply.c:4955
 msgid "ignore changes in whitespace when finding context"
 msgstr ""
 
-#: apply.c:4967
+#: apply.c:4958
 msgid "apply the patch in reverse"
 msgstr ""
 
-#: apply.c:4969
+#: apply.c:4960
 msgid "don't expect at least one line of context"
 msgstr ""
 
-#: apply.c:4971
+#: apply.c:4962
 msgid "leave the rejected hunks in corresponding *.rej files"
 msgstr ""
 
-#: apply.c:4973
+#: apply.c:4964
 msgid "allow overlapping hunks"
 msgstr ""
 
-#: apply.c:4974 builtin/add.c:267 builtin/check-ignore.c:19
-#: builtin/commit.c:1339 builtin/count-objects.c:94 builtin/fsck.c:593
-#: builtin/log.c:1860 builtin/mv.c:110 builtin/read-tree.c:114
+#: apply.c:4965 builtin/add.c:267 builtin/check-ignore.c:19
+#: builtin/commit.c:1337 builtin/count-objects.c:94 builtin/fsck.c:651
+#: builtin/log.c:1860 builtin/mv.c:122 builtin/read-tree.c:114
 msgid "be verbose"
 msgstr ""
 
-#: apply.c:4976
+#: apply.c:4967
 msgid "tolerate incorrectly detected missing new-line at the end of file"
 msgstr ""
 
-#: apply.c:4979
+#: apply.c:4970
 msgid "do not trust the line counts in the hunk headers"
 msgstr ""
 
-#: apply.c:4981 builtin/am.c:2274
+#: apply.c:4972 builtin/am.c:2274
 msgid "root"
 msgstr ""
 
-#: apply.c:4982
+#: apply.c:4973
 msgid "prepend <root> to all filenames"
 msgstr ""
 
@@ -705,7 +706,7 @@
 msgid "git archive --remote <repo> [--exec <cmd>] --list"
 msgstr ""
 
-#: archive.c:344 builtin/add.c:152 builtin/add.c:442 builtin/rm.c:327
+#: archive.c:344 builtin/add.c:152 builtin/add.c:442 builtin/rm.c:300
 #, c-format
 msgid "pathspec '%s' did not match any files"
 msgstr ""
@@ -726,9 +727,9 @@
 msgid "prepend prefix to each pathname in the archive"
 msgstr ""
 
-#: archive.c:432 builtin/blame.c:2603 builtin/blame.c:2604 builtin/config.c:59
-#: builtin/fast-export.c:987 builtin/fast-export.c:989 builtin/grep.c:723
-#: builtin/hash-object.c:101 builtin/ls-files.c:539 builtin/ls-files.c:542
+#: archive.c:432 builtin/blame.c:2607 builtin/blame.c:2608 builtin/config.c:59
+#: builtin/fast-export.c:987 builtin/fast-export.c:989 builtin/grep.c:1054
+#: builtin/hash-object.c:101 builtin/ls-files.c:541 builtin/ls-files.c:544
 #: builtin/notes.c:401 builtin/notes.c:564 builtin/read-tree.c:109
 #: parse-options.h:153
 msgid "file"
@@ -763,7 +764,7 @@
 msgstr ""
 
 #: archive.c:451 builtin/archive.c:90 builtin/clone.c:85 builtin/clone.c:88
-#: builtin/submodule--helper.c:601 builtin/submodule--helper.c:953
+#: builtin/submodule--helper.c:603 builtin/submodule--helper.c:969
 msgid "repo"
 msgstr ""
 
@@ -851,7 +852,7 @@
 #: bisect.c:750
 #, c-format
 msgid ""
-"Some %s revs are not ancestor of the %s rev.\n"
+"Some %s revs are not ancestors of the %s rev.\n"
 "git bisect cannot work properly in this case.\n"
 "Maybe you mistook %s and %s revs?\n"
 msgstr ""
@@ -874,7 +875,7 @@
 msgid "a %s revision is needed"
 msgstr ""
 
-#: bisect.c:866 builtin/notes.c:174 builtin/tag.c:248
+#: bisect.c:866 builtin/notes.c:174 builtin/tag.c:262
 #, c-format
 msgid "could not create file '%s'"
 msgstr ""
@@ -1050,7 +1051,7 @@
 msgid "unrecognized header: %s%s (%d)"
 msgstr ""
 
-#: bundle.c:87 sequencer.c:963 builtin/commit.c:777
+#: bundle.c:87 sequencer.c:1331 sequencer.c:1752 builtin/commit.c:777
 #, c-format
 msgid "could not open '%s'"
 msgstr ""
@@ -1059,10 +1060,10 @@
 msgid "Repository lacks these prerequisite commits:"
 msgstr ""
 
-#: bundle.c:163 ref-filter.c:1462 sequencer.c:830 sequencer.c:1374
-#: builtin/blame.c:2814 builtin/commit.c:1061 builtin/log.c:348
+#: bundle.c:163 ref-filter.c:1499 sequencer.c:1154 sequencer.c:2290
+#: builtin/blame.c:2820 builtin/commit.c:1061 builtin/log.c:348
 #: builtin/log.c:890 builtin/log.c:1340 builtin/log.c:1666 builtin/log.c:1909
-#: builtin/merge.c:356 builtin/shortlog.c:170
+#: builtin/merge.c:360 builtin/shortlog.c:177
 msgid "revision walk setup failed"
 msgstr ""
 
@@ -1101,7 +1102,7 @@
 msgid "ref '%s' is excluded by the rev-list options"
 msgstr ""
 
-#: bundle.c:443 builtin/log.c:165 builtin/log.c:1572 builtin/shortlog.c:273
+#: bundle.c:443 builtin/log.c:165 builtin/log.c:1572 builtin/shortlog.c:282
 #, c-format
 msgid "unrecognized argument: %s"
 msgstr ""
@@ -1119,13 +1120,13 @@
 msgid "index-pack died"
 msgstr ""
 
-#: color.c:290
+#: color.c:300
 #, c-format
 msgid "invalid color value: %.*s"
 msgstr ""
 
-#: commit.c:40 builtin/am.c:421 builtin/am.c:457 builtin/am.c:1493
-#: builtin/am.c:2127
+#: commit.c:40 sequencer.c:1564 builtin/am.c:421 builtin/am.c:457
+#: builtin/am.c:1493 builtin/am.c:2127
 #, c-format
 msgid "could not parse %s"
 msgstr ""
@@ -1146,123 +1147,133 @@
 msgid "memory exhausted"
 msgstr ""
 
-#: config.c:516
+#: config.c:518
 #, c-format
 msgid "bad config line %d in blob %s"
 msgstr ""
 
-#: config.c:520
+#: config.c:522
 #, c-format
 msgid "bad config line %d in file %s"
 msgstr ""
 
-#: config.c:524
+#: config.c:526
 #, c-format
 msgid "bad config line %d in standard input"
 msgstr ""
 
-#: config.c:528
+#: config.c:530
 #, c-format
 msgid "bad config line %d in submodule-blob %s"
 msgstr ""
 
-#: config.c:532
+#: config.c:534
 #, c-format
 msgid "bad config line %d in command line %s"
 msgstr ""
 
-#: config.c:536
+#: config.c:538
 #, c-format
 msgid "bad config line %d in %s"
 msgstr ""
 
-#: config.c:655
+#: config.c:657
 msgid "out of range"
 msgstr ""
 
-#: config.c:655
+#: config.c:657
 msgid "invalid unit"
 msgstr ""
 
-#: config.c:661
+#: config.c:663
 #, c-format
 msgid "bad numeric config value '%s' for '%s': %s"
 msgstr ""
 
-#: config.c:666
+#: config.c:668
 #, c-format
 msgid "bad numeric config value '%s' for '%s' in blob %s: %s"
 msgstr ""
 
-#: config.c:669
+#: config.c:671
 #, c-format
 msgid "bad numeric config value '%s' for '%s' in file %s: %s"
 msgstr ""
 
-#: config.c:672
+#: config.c:674
 #, c-format
 msgid "bad numeric config value '%s' for '%s' in standard input: %s"
 msgstr ""
 
-#: config.c:675
+#: config.c:677
 #, c-format
 msgid "bad numeric config value '%s' for '%s' in submodule-blob %s: %s"
 msgstr ""
 
-#: config.c:678
+#: config.c:680
 #, c-format
 msgid "bad numeric config value '%s' for '%s' in command line %s: %s"
 msgstr ""
 
-#: config.c:681
+#: config.c:683
 #, c-format
 msgid "bad numeric config value '%s' for '%s' in %s: %s"
 msgstr ""
 
-#: config.c:768
+#: config.c:770
 #, c-format
 msgid "failed to expand user dir in: '%s'"
 msgstr ""
 
-#: config.c:852 config.c:863
+#: config.c:865 config.c:876
 #, c-format
 msgid "bad zlib compression level %d"
 msgstr ""
 
-#: config.c:978
+#: config.c:993
 #, c-format
 msgid "invalid mode for object creation: %s"
 msgstr ""
 
-#: config.c:1312
+#: config.c:1149
+#, c-format
+msgid "bad pack compression level %d"
+msgstr ""
+
+#: config.c:1339
 msgid "unable to parse command-line config"
 msgstr ""
 
-#: config.c:1362
+#: config.c:1389
 msgid "unknown error occurred while reading the configuration files"
 msgstr ""
 
-#: config.c:1716
+#: config.c:1743
 #, c-format
 msgid "unable to parse '%s' from command-line config"
 msgstr ""
 
-#: config.c:1718
+#: config.c:1745
 #, c-format
 msgid "bad config variable '%s' in file '%s' at line %d"
 msgstr ""
 
-#: config.c:1777
+#: config.c:1804
 #, c-format
 msgid "%s has multiple values"
 msgstr ""
 
-#: config.c:2311
+#: config.c:2225 config.c:2450
+#, c-format
+msgid "fstat on %s failed"
+msgstr ""
+
+#: config.c:2343
 #, c-format
 msgid "could not set '%s' to '%s'"
 msgstr ""
 
-#: config.c:2313
+#: config.c:2345
 #, c-format
 msgid "could not unset '%s'"
 msgstr ""
@@ -1279,7 +1290,7 @@
 "and the repository exists."
 msgstr ""
 
-#: connected.c:63 builtin/fsck.c:173 builtin/prune.c:140
+#: connected.c:63 builtin/fsck.c:190 builtin/prune.c:140
 msgid "Checking connectivity"
 msgstr ""
 
@@ -1411,65 +1422,70 @@
 msgid "  Unknown dirstat parameter '%s'\n"
 msgstr ""
 
-#: diff.c:283
+#: diff.c:281
 #, c-format
 msgid "Unknown value for 'diff.submodule' config variable: '%s'"
 msgstr ""
 
-#: diff.c:346
+#: diff.c:344
 #, c-format
 msgid ""
 "Found errors in 'diff.dirstat' config variable:\n"
 "%s"
 msgstr ""
 
-#: diff.c:3087
+#: diff.c:3085
 #, c-format
 msgid "external diff died, stopping at %s"
 msgstr ""
 
-#: diff.c:3412
+#: diff.c:3411
 msgid "--name-only, --name-status, --check and -s are mutually exclusive"
 msgstr ""
 
-#: diff.c:3502
+#: diff.c:3501
 msgid "--follow requires exactly one pathspec"
 msgstr ""
 
-#: diff.c:3665
+#: diff.c:3664
 #, c-format
 msgid ""
 "Failed to parse --dirstat/-X option parameter:\n"
 "%s"
 msgstr ""
 
-#: diff.c:3679
+#: diff.c:3678
 #, c-format
 msgid "Failed to parse --submodule option parameter: '%s'"
 msgstr ""
 
-#: diff.c:4700
+#: diff.c:4696
 msgid "inexact rename detection was skipped due to too many files."
 msgstr ""
 
-#: diff.c:4703
+#: diff.c:4699
 msgid "only found copies from modified paths due to too many files."
 msgstr ""
 
-#: diff.c:4706
+#: diff.c:4702
 #, c-format
 msgid ""
 "you may want to set your %s variable to at least %d and retry the command."
 msgstr ""
 
-#: dir.c:1866
+#: dir.c:1862
 msgid "failed to get kernel name and information"
 msgstr ""
 
-#: dir.c:1985
+#: dir.c:1981
 msgid "Untracked cache is disabled on this system or location."
 msgstr ""
 
+#: dir.c:2759
+#, c-format
+msgid "could not migrate git directory from '%s' to '%s'"
+msgstr ""
+
 #: fetch-pack.c:213
 msgid "git fetch-pack: expected shallow list"
 msgstr ""
@@ -1650,63 +1666,68 @@
 msgid "failed writing detached signature to '%s'"
 msgstr ""
 
-#: grep.c:1782
+#: graph.c:96
+#, c-format
+msgid "ignore invalid color '%.*s' in log.graphColors"
+msgstr ""
+
+#: grep.c:1794
 #, c-format
 msgid "'%s': unable to read %s"
 msgstr ""
 
-#: grep.c:1799 builtin/clone.c:381 builtin/diff.c:84 builtin/rm.c:155
+#: grep.c:1811 builtin/clone.c:381 builtin/diff.c:81 builtin/rm.c:133
 #, c-format
 msgid "failed to stat '%s'"
 msgstr ""
 
-#: grep.c:1810
+#: grep.c:1822
 #, c-format
 msgid "'%s': short read"
 msgstr ""
 
-#: help.c:203
+#: help.c:218
 #, c-format
 msgid "available git commands in '%s'"
 msgstr ""
 
-#: help.c:210
+#: help.c:225
 msgid "git commands available from elsewhere on your $PATH"
 msgstr ""
 
-#: help.c:241
+#: help.c:256
 msgid "These are common Git commands used in various situations:"
 msgstr ""
 
-#: help.c:306
+#: help.c:321
 #, c-format
 msgid ""
 "'%s' appears to be a git command, but we were not\n"
 "able to execute it. Maybe git-%s is broken?"
 msgstr ""
 
-#: help.c:361
+#: help.c:376
 msgid "Uh oh. Your system reports no Git commands at all."
 msgstr ""
 
-#: help.c:383
+#: help.c:398
 #, c-format
 msgid ""
 "WARNING: You called a Git command named '%s', which does not exist.\n"
 "Continuing under the assumption that you meant '%s'"
 msgstr ""
 
-#: help.c:388
+#: help.c:403
 #, c-format
 msgid "in %0.1f seconds automatically..."
 msgstr ""
 
-#: help.c:395
+#: help.c:410
 #, c-format
 msgid "git: '%s' is not a git command. See 'git --help'."
 msgstr ""
 
-#: help.c:399 help.c:465
+#: help.c:414 help.c:480
 msgid ""
 "\n"
 "Did you mean this?"
@@ -1716,7 +1737,7 @@
 msgstr[0] ""
 msgstr[1] ""
 
-#: help.c:461
+#: help.c:476
 #, c-format
 msgid "%s: %s - %s"
 msgstr ""
@@ -1766,229 +1787,229 @@
 msgid "(bad commit)\n"
 msgstr ""
 
-#: merge-recursive.c:231
+#: merge-recursive.c:231 merge-recursive.c:239
 #, c-format
 msgid "addinfo_cache failed for path '%s'"
 msgstr ""
 
-#: merge-recursive.c:301
+#: merge-recursive.c:303
 msgid "error building trees"
 msgstr ""
 
-#: merge-recursive.c:720
+#: merge-recursive.c:727
 #, c-format
 msgid "failed to create path '%s'%s"
 msgstr ""
 
-#: merge-recursive.c:731
+#: merge-recursive.c:738
 #, c-format
 msgid "Removing %s to make room for subdirectory\n"
 msgstr ""
 
-#: merge-recursive.c:745 merge-recursive.c:764
+#: merge-recursive.c:752 merge-recursive.c:771
 msgid ": perhaps a D/F conflict?"
 msgstr ""
 
-#: merge-recursive.c:754
+#: merge-recursive.c:761
 #, c-format
 msgid "refusing to lose untracked file at '%s'"
 msgstr ""
 
-#: merge-recursive.c:796 builtin/cat-file.c:34
+#: merge-recursive.c:803 builtin/cat-file.c:34
 #, c-format
 msgid "cannot read object %s '%s'"
 msgstr ""
 
-#: merge-recursive.c:798
+#: merge-recursive.c:805
 #, c-format
 msgid "blob expected for %s '%s'"
 msgstr ""
 
-#: merge-recursive.c:822
+#: merge-recursive.c:829
 #, c-format
 msgid "failed to open '%s': %s"
 msgstr ""
 
-#: merge-recursive.c:833
+#: merge-recursive.c:840
 #, c-format
 msgid "failed to symlink '%s': %s"
 msgstr ""
 
-#: merge-recursive.c:838
+#: merge-recursive.c:845
 #, c-format
 msgid "do not know what to do with %06o %s '%s'"
 msgstr ""
 
-#: merge-recursive.c:978
+#: merge-recursive.c:985
 msgid "Failed to execute internal merge"
 msgstr ""
 
-#: merge-recursive.c:982
+#: merge-recursive.c:989
 #, c-format
 msgid "Unable to add %s to database"
 msgstr ""
 
-#: merge-recursive.c:1081 merge-recursive.c:1095
+#: merge-recursive.c:1088 merge-recursive.c:1102
 #, c-format
 msgid ""
 "CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left "
 "in tree."
 msgstr ""
 
-#: merge-recursive.c:1087 merge-recursive.c:1100
+#: merge-recursive.c:1094 merge-recursive.c:1107
 #, c-format
 msgid ""
 "CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left "
 "in tree at %s."
 msgstr ""
 
-#: merge-recursive.c:1143
+#: merge-recursive.c:1150
 msgid "rename"
 msgstr ""
 
-#: merge-recursive.c:1143
+#: merge-recursive.c:1150
 msgid "renamed"
 msgstr ""
 
-#: merge-recursive.c:1200
+#: merge-recursive.c:1207
 #, c-format
 msgid "%s is a directory in %s adding as %s instead"
 msgstr ""
 
-#: merge-recursive.c:1225
+#: merge-recursive.c:1232
 #, c-format
 msgid ""
 "CONFLICT (rename/rename): Rename \"%s\"->\"%s\" in branch \"%s\" rename \"%s"
 "\"->\"%s\" in \"%s\"%s"
 msgstr ""
 
-#: merge-recursive.c:1230
+#: merge-recursive.c:1237
 msgid " (left unresolved)"
 msgstr ""
 
-#: merge-recursive.c:1292
+#: merge-recursive.c:1299
 #, c-format
 msgid "CONFLICT (rename/rename): Rename %s->%s in %s. Rename %s->%s in %s"
 msgstr ""
 
-#: merge-recursive.c:1325
+#: merge-recursive.c:1332
 #, c-format
 msgid "Renaming %s to %s and %s to %s instead"
 msgstr ""
 
-#: merge-recursive.c:1531
+#: merge-recursive.c:1535
 #, c-format
 msgid "CONFLICT (rename/add): Rename %s->%s in %s. %s added in %s"
 msgstr ""
 
-#: merge-recursive.c:1546
+#: merge-recursive.c:1550
 #, c-format
 msgid "Adding merged %s"
 msgstr ""
 
-#: merge-recursive.c:1553 merge-recursive.c:1766
+#: merge-recursive.c:1557 merge-recursive.c:1771
 #, c-format
 msgid "Adding as %s instead"
 msgstr ""
 
-#: merge-recursive.c:1610
+#: merge-recursive.c:1614
 #, c-format
 msgid "cannot read object %s"
 msgstr ""
 
-#: merge-recursive.c:1613
+#: merge-recursive.c:1617
 #, c-format
 msgid "object %s is not a blob"
 msgstr ""
 
-#: merge-recursive.c:1666
+#: merge-recursive.c:1670
 msgid "modify"
 msgstr ""
 
-#: merge-recursive.c:1666
+#: merge-recursive.c:1670
 msgid "modified"
 msgstr ""
 
-#: merge-recursive.c:1676
+#: merge-recursive.c:1680
 msgid "content"
 msgstr ""
 
-#: merge-recursive.c:1683
+#: merge-recursive.c:1687
 msgid "add/add"
 msgstr ""
 
-#: merge-recursive.c:1718
+#: merge-recursive.c:1723
 #, c-format
 msgid "Skipped %s (merged same as existing)"
 msgstr ""
 
-#: merge-recursive.c:1732
+#: merge-recursive.c:1737
 #, c-format
 msgid "Auto-merging %s"
 msgstr ""
 
-#: merge-recursive.c:1736 git-submodule.sh:924
+#: merge-recursive.c:1741 git-submodule.sh:930
 msgid "submodule"
 msgstr ""
 
-#: merge-recursive.c:1737
+#: merge-recursive.c:1742
 #, c-format
 msgid "CONFLICT (%s): Merge conflict in %s"
 msgstr ""
 
-#: merge-recursive.c:1831
+#: merge-recursive.c:1836
 #, c-format
 msgid "Removing %s"
 msgstr ""
 
-#: merge-recursive.c:1857
+#: merge-recursive.c:1862
 msgid "file/directory"
 msgstr ""
 
-#: merge-recursive.c:1863
+#: merge-recursive.c:1868
 msgid "directory/file"
 msgstr ""
 
-#: merge-recursive.c:1868
+#: merge-recursive.c:1874
 #, c-format
 msgid "CONFLICT (%s): There is a directory with name %s in %s. Adding %s as %s"
 msgstr ""
 
-#: merge-recursive.c:1877
+#: merge-recursive.c:1883
 #, c-format
 msgid "Adding %s"
 msgstr ""
 
-#: merge-recursive.c:1914
+#: merge-recursive.c:1920
 msgid "Already up-to-date!"
 msgstr ""
 
-#: merge-recursive.c:1923
+#: merge-recursive.c:1929
 #, c-format
 msgid "merging of trees %s and %s failed"
 msgstr ""
 
-#: merge-recursive.c:2006
+#: merge-recursive.c:2012
 msgid "Merging:"
 msgstr ""
 
-#: merge-recursive.c:2019
+#: merge-recursive.c:2025
 #, c-format
 msgid "found %u common ancestor:"
 msgid_plural "found %u common ancestors:"
 msgstr[0] ""
 msgstr[1] ""
 
-#: merge-recursive.c:2058
+#: merge-recursive.c:2064
 msgid "merge returned no commit"
 msgstr ""
 
-#: merge-recursive.c:2121
+#: merge-recursive.c:2127
 #, c-format
 msgid "Could not parse object '%s'"
 msgstr ""
 
-#: merge-recursive.c:2135 builtin/merge.c:641 builtin/merge.c:788
+#: merge-recursive.c:2141 builtin/merge.c:645 builtin/merge.c:792
 msgid "Unable to write index."
 msgstr ""
 
@@ -2026,7 +2047,7 @@
 msgid "Bad %s value: '%s'"
 msgstr ""
 
-#: object.c:242
+#: object.c:240
 #, c-format
 msgid "unable to parse object: %s"
 msgstr ""
@@ -2066,91 +2087,96 @@
 msgid "Could not make %s writable by group"
 msgstr ""
 
-#: pathspec.c:133
+#: pathspec.c:142
 msgid "global 'glob' and 'noglob' pathspec settings are incompatible"
 msgstr ""
 
-#: pathspec.c:143
+#: pathspec.c:149
 msgid ""
 "global 'literal' pathspec setting is incompatible with all other global "
 "pathspec settings"
 msgstr ""
 
-#: pathspec.c:177
+#: pathspec.c:188
 msgid "invalid parameter for pathspec magic 'prefix'"
 msgstr ""
 
-#: pathspec.c:183
+#: pathspec.c:201
 #, c-format
 msgid "Invalid pathspec magic '%.*s' in '%s'"
 msgstr ""
 
-#: pathspec.c:187
+#: pathspec.c:206
 #, c-format
 msgid "Missing ')' at the end of pathspec magic in '%s'"
 msgstr ""
 
-#: pathspec.c:205
+#: pathspec.c:238
 #, c-format
 msgid "Unimplemented pathspec magic '%c' in '%s'"
 msgstr ""
 
-#: pathspec.c:230
-#, c-format
-msgid "%s: 'literal' and 'glob' are incompatible"
-msgstr ""
-
-#: pathspec.c:241
-#, c-format
-msgid "%s: '%s' is outside repository"
-msgstr ""
-
-#: pathspec.c:291
+#: pathspec.c:293 pathspec.c:315
 #, c-format
 msgid "Pathspec '%s' is in submodule '%.*s'"
 msgstr ""
 
-#: pathspec.c:353
+#: pathspec.c:350
+#, c-format
+msgid "%s: 'literal' and 'glob' are incompatible"
+msgstr ""
+
+#: pathspec.c:363
+#, c-format
+msgid "%s: '%s' is outside repository"
+msgstr ""
+
+#: pathspec.c:451
+#, c-format
+msgid "'%s' (mnemonic: '%c')"
+msgstr ""
+
+#: pathspec.c:461
 #, c-format
 msgid "%s: pathspec magic not supported by this command: %s"
 msgstr ""
 
-#: pathspec.c:408
+#: pathspec.c:511
 msgid ""
 "empty strings as pathspecs will be made invalid in upcoming releases. please "
 "use . instead if you meant to match all paths"
 msgstr ""
 
-#: pathspec.c:440
+#: pathspec.c:535
 #, c-format
 msgid "pathspec '%s' is beyond a symbolic link"
 msgstr ""
 
-#: pathspec.c:449
+#: pathspec.c:544
 msgid ""
 "There is nothing to exclude from by :(exclude) patterns.\n"
 "Perhaps you forgot to add either ':/' or '.' ?"
 msgstr ""
 
-#: pretty.c:971
+#: pretty.c:982
 msgid "unable to parse --pretty format"
 msgstr ""
 
-#: read-cache.c:1315
+#: read-cache.c:1307
 #, c-format
 msgid ""
 "index.version set, but the value is invalid.\n"
 "Using version %i"
 msgstr ""
 
-#: read-cache.c:1325
+#: read-cache.c:1317
 #, c-format
 msgid ""
 "GIT_INDEX_VERSION set, but the value is invalid.\n"
 "Using version %i"
 msgstr ""
 
-#: refs.c:576 builtin/merge.c:840
+#: refs.c:576 builtin/merge.c:844
 #, c-format
 msgid "Could not open '%s' for writing"
 msgstr ""
@@ -2170,227 +2196,232 @@
 msgid "could not remove reference %s"
 msgstr ""
 
-#: ref-filter.c:55
+#: ref-filter.c:56
 #, c-format
 msgid "expected format: %%(color:<color>)"
 msgstr ""
 
-#: ref-filter.c:57
+#: ref-filter.c:58
 #, c-format
 msgid "unrecognized color: %%(color:%s)"
 msgstr ""
 
-#: ref-filter.c:71
+#: ref-filter.c:72
 #, c-format
 msgid "unrecognized format: %%(%s)"
 msgstr ""
 
-#: ref-filter.c:77
+#: ref-filter.c:78
 #, c-format
 msgid "%%(body) does not take arguments"
 msgstr ""
 
-#: ref-filter.c:84
+#: ref-filter.c:85
 #, c-format
 msgid "%%(subject) does not take arguments"
 msgstr ""
 
-#: ref-filter.c:101
+#: ref-filter.c:92
+#, c-format
+msgid "%%(trailers) does not take arguments"
+msgstr ""
+
+#: ref-filter.c:111
 #, c-format
 msgid "positive value expected contents:lines=%s"
 msgstr ""
 
-#: ref-filter.c:103
+#: ref-filter.c:113
 #, c-format
 msgid "unrecognized %%(contents) argument: %s"
 msgstr ""
 
-#: ref-filter.c:113
+#: ref-filter.c:123
 #, c-format
 msgid "unrecognized %%(objectname) argument: %s"
 msgstr ""
 
-#: ref-filter.c:135
+#: ref-filter.c:145
 #, c-format
 msgid "expected format: %%(align:<width>,<position>)"
 msgstr ""
 
-#: ref-filter.c:147
+#: ref-filter.c:157
 #, c-format
 msgid "unrecognized position:%s"
 msgstr ""
 
-#: ref-filter.c:151
+#: ref-filter.c:161
 #, c-format
 msgid "unrecognized width:%s"
 msgstr ""
 
-#: ref-filter.c:157
+#: ref-filter.c:167
 #, c-format
 msgid "unrecognized %%(align) argument: %s"
 msgstr ""
 
-#: ref-filter.c:161
+#: ref-filter.c:171
 #, c-format
 msgid "positive width expected with the %%(align) atom"
 msgstr ""
 
-#: ref-filter.c:244
+#: ref-filter.c:255
 #, c-format
 msgid "malformed field name: %.*s"
 msgstr ""
 
-#: ref-filter.c:270
+#: ref-filter.c:281
 #, c-format
 msgid "unknown field name: %.*s"
 msgstr ""
 
-#: ref-filter.c:372
+#: ref-filter.c:383
 #, c-format
 msgid "format: %%(end) atom used without corresponding atom"
 msgstr ""
 
-#: ref-filter.c:424
+#: ref-filter.c:435
 #, c-format
 msgid "malformed format string %s"
 msgstr ""
 
-#: ref-filter.c:878
+#: ref-filter.c:898
 msgid ":strip= requires a positive integer argument"
 msgstr ""
 
-#: ref-filter.c:883
+#: ref-filter.c:903
 #, c-format
 msgid "ref '%s' does not have %ld components to :strip"
 msgstr ""
 
-#: ref-filter.c:1046
+#: ref-filter.c:1066
 #, c-format
 msgid "unknown %.*s format %s"
 msgstr ""
 
-#: ref-filter.c:1066 ref-filter.c:1097
+#: ref-filter.c:1086 ref-filter.c:1117
 #, c-format
 msgid "missing object %s for %s"
 msgstr ""
 
-#: ref-filter.c:1069 ref-filter.c:1100
+#: ref-filter.c:1089 ref-filter.c:1120
 #, c-format
 msgid "parse_object_buffer failed on %s for %s"
 msgstr ""
 
-#: ref-filter.c:1311
+#: ref-filter.c:1343
 #, c-format
 msgid "malformed object at '%s'"
 msgstr ""
 
-#: ref-filter.c:1373
+#: ref-filter.c:1410
 #, c-format
 msgid "ignoring ref with broken name %s"
 msgstr ""
 
-#: ref-filter.c:1378
+#: ref-filter.c:1415
 #, c-format
 msgid "ignoring broken ref %s"
 msgstr ""
 
-#: ref-filter.c:1633
+#: ref-filter.c:1670
 #, c-format
 msgid "format: %%(end) atom missing"
 msgstr ""
 
-#: ref-filter.c:1687
+#: ref-filter.c:1734
 #, c-format
 msgid "malformed object name %s"
 msgstr ""
 
-#: remote.c:746
+#: remote.c:754
 #, c-format
 msgid "Cannot fetch both %s and %s to %s"
 msgstr ""
 
-#: remote.c:750
+#: remote.c:758
 #, c-format
 msgid "%s usually tracks %s, not %s"
 msgstr ""
 
-#: remote.c:754
+#: remote.c:762
 #, c-format
 msgid "%s tracks both %s and %s"
 msgstr ""
 
-#: remote.c:762
+#: remote.c:770
 msgid "Internal error"
 msgstr ""
 
-#: remote.c:1677 remote.c:1720
+#: remote.c:1685 remote.c:1787
 msgid "HEAD does not point to a branch"
 msgstr ""
 
-#: remote.c:1686
+#: remote.c:1694
 #, c-format
 msgid "no such branch: '%s'"
 msgstr ""
 
-#: remote.c:1689
+#: remote.c:1697
 #, c-format
 msgid "no upstream configured for branch '%s'"
 msgstr ""
 
-#: remote.c:1695
+#: remote.c:1703
 #, c-format
 msgid "upstream branch '%s' not stored as a remote-tracking branch"
 msgstr ""
 
-#: remote.c:1710
+#: remote.c:1718
 #, c-format
 msgid "push destination '%s' on remote '%s' has no local tracking branch"
 msgstr ""
 
-#: remote.c:1725
+#: remote.c:1730
 #, c-format
 msgid "branch '%s' has no remote for pushing"
 msgstr ""
 
-#: remote.c:1736
+#: remote.c:1741
 #, c-format
 msgid "push refspecs for '%s' do not include '%s'"
 msgstr ""
 
-#: remote.c:1749
+#: remote.c:1754
 msgid "push has no destination (push.default is 'nothing')"
 msgstr ""
 
-#: remote.c:1771
+#: remote.c:1776
 msgid "cannot resolve 'simple' push to a single destination"
 msgstr ""
 
-#: remote.c:2073
+#: remote.c:2081
 #, c-format
 msgid "Your branch is based on '%s', but the upstream is gone.\n"
 msgstr ""
 
-#: remote.c:2077
+#: remote.c:2085
 msgid "  (use \"git branch --unset-upstream\" to fixup)\n"
 msgstr ""
 
-#: remote.c:2080
+#: remote.c:2088
 #, c-format
 msgid "Your branch is up-to-date with '%s'.\n"
 msgstr ""
 
-#: remote.c:2084
+#: remote.c:2092
 #, c-format
 msgid "Your branch is ahead of '%s' by %d commit.\n"
 msgid_plural "Your branch is ahead of '%s' by %d commits.\n"
 msgstr[0] ""
 msgstr[1] ""
 
-#: remote.c:2090
+#: remote.c:2098
 msgid "  (use \"git push\" to publish your local commits)\n"
 msgstr ""
 
-#: remote.c:2093
+#: remote.c:2101
 #, c-format
 msgid "Your branch is behind '%s' by %d commit, and can be fast-forwarded.\n"
 msgid_plural ""
@@ -2398,11 +2429,11 @@
 msgstr[0] ""
 msgstr[1] ""
 
-#: remote.c:2101
+#: remote.c:2109
 msgid "  (use \"git pull\" to update your local branch)\n"
 msgstr ""
 
-#: remote.c:2104
+#: remote.c:2112
 #, c-format
 msgid ""
 "Your branch and '%s' have diverged,\n"
@@ -2413,7 +2444,7 @@
 msgstr[0] ""
 msgstr[1] ""
 
-#: remote.c:2114
+#: remote.c:2122
 msgid "  (use \"git pull\" to merge the remote branch into yours)\n"
 msgstr ""
 
@@ -2430,11 +2461,11 @@
 msgid "--first-parent is incompatible with --bisect"
 msgstr ""
 
-#: run-command.c:106
+#: run-command.c:125
 msgid "open /dev/null failed"
 msgstr ""
 
-#: run-command.c:108
+#: run-command.c:127
 #, c-format
 msgid "dup2(%d,%d) failed"
 msgstr ""
@@ -2461,81 +2492,93 @@
 msgid "the receiving end does not support push options"
 msgstr ""
 
-#: sequencer.c:171
+#: sequencer.c:215
 msgid "revert"
 msgstr ""
 
-#: sequencer.c:171
+#: sequencer.c:217
 msgid "cherry-pick"
 msgstr ""
 
-#: sequencer.c:228
+#: sequencer.c:219
+msgid "rebase -i"
+msgstr ""
+
+#: sequencer.c:221
+#, c-format
+msgid "Unknown action: %d"
+msgstr ""
+
+#: sequencer.c:278
 msgid ""
 "after resolving the conflicts, mark the corrected paths\n"
 "with 'git add <paths>' or 'git rm <paths>'"
 msgstr ""
 
-#: sequencer.c:231
+#: sequencer.c:281
 msgid ""
 "after resolving the conflicts, mark the corrected paths\n"
 "with 'git add <paths>' or 'git rm <paths>'\n"
 "and commit the result with 'git commit'"
 msgstr ""
 
-#: sequencer.c:244 sequencer.c:1209
+#: sequencer.c:294 sequencer.c:1667
 #, c-format
 msgid "could not lock '%s'"
 msgstr ""
 
-#: sequencer.c:247 sequencer.c:1125 sequencer.c:1214
+#: sequencer.c:297 sequencer.c:1545 sequencer.c:1672 sequencer.c:1686
 #, c-format
 msgid "could not write to '%s'"
 msgstr ""
 
-#: sequencer.c:251
+#: sequencer.c:301
 #, c-format
 msgid "could not write eol to '%s'"
 msgstr ""
 
-#: sequencer.c:255 sequencer.c:1130 sequencer.c:1216
+#: sequencer.c:305 sequencer.c:1550 sequencer.c:1674
 #, c-format
 msgid "failed to finalize '%s'."
 msgstr ""
 
-#: sequencer.c:279 builtin/am.c:259 builtin/commit.c:749 builtin/merge.c:1032
+#: sequencer.c:329 sequencer.c:808 sequencer.c:1571 builtin/am.c:259
+#: builtin/commit.c:749 builtin/merge.c:1036
 #, c-format
 msgid "could not read '%s'"
 msgstr ""
 
-#: sequencer.c:305
+#: sequencer.c:355
 #, c-format
 msgid "your local changes would be overwritten by %s."
 msgstr ""
 
-#: sequencer.c:309
+#: sequencer.c:359
 msgid "commit your changes or stash them to proceed."
 msgstr ""
 
-#: sequencer.c:324
+#: sequencer.c:388
 #, c-format
 msgid "%s: fast-forward"
 msgstr ""
 
-#. TRANSLATORS: %s will be "revert" or "cherry-pick"
-#: sequencer.c:399
+#. TRANSLATORS: %s will be "revert", "cherry-pick" or
+#. * "rebase -i".
+#.
+#: sequencer.c:470
 #, c-format
 msgid "%s: Unable to write new index file"
 msgstr ""
 
-#: sequencer.c:418
+#: sequencer.c:489
 msgid "could not resolve HEAD commit\n"
 msgstr ""
 
-#: sequencer.c:438
+#: sequencer.c:509
 msgid "unable to update cache tree\n"
 msgstr ""
 
-#: sequencer.c:483
+#: sequencer.c:592
 #, c-format
 msgid ""
 "you have staged changes in your working tree\n"
@@ -2552,172 +2595,369 @@
 "  git rebase --continue\n"
 msgstr ""
 
-#: sequencer.c:567
+#: sequencer.c:688
 #, c-format
 msgid "could not parse commit %s\n"
 msgstr ""
 
-#: sequencer.c:572
+#: sequencer.c:693
 #, c-format
 msgid "could not parse parent commit %s\n"
 msgstr ""
 
-#: sequencer.c:656
+#: sequencer.c:815
+#, c-format
+msgid ""
+"unexpected 1st line of squash message:\n"
+"\n"
+"\t%.*s"
+msgstr ""
+
+#: sequencer.c:821
+#, c-format
+msgid ""
+"invalid 1st line of squash message:\n"
+"\n"
+"\t%.*s"
+msgstr ""
+
+#: sequencer.c:827 sequencer.c:852
+#, c-format
+msgid "This is a combination of %d commits."
+msgstr ""
+
+#: sequencer.c:836
+msgid "need a HEAD to fixup"
+msgstr ""
+
+#: sequencer.c:838
+msgid "could not read HEAD"
+msgstr ""
+
+#: sequencer.c:840
+msgid "could not read HEAD's commit message"
+msgstr ""
+
+#: sequencer.c:846
+#, c-format
+msgid "cannot write '%s'"
+msgstr ""
+
+#: sequencer.c:855 git-rebase--interactive.sh:445
+msgid "This is the 1st commit message:"
+msgstr ""
+
+#: sequencer.c:863
+#, c-format
+msgid "could not read commit message of %s"
+msgstr ""
+
+#: sequencer.c:870
+#, c-format
+msgid "This is the commit message #%d:"
+msgstr ""
+
+#: sequencer.c:875
+#, c-format
+msgid "The commit message #%d will be skipped:"
+msgstr ""
+
+#: sequencer.c:880
+#, c-format
+msgid "unknown command: %d"
+msgstr ""
+
+#: sequencer.c:946
 msgid "your index file is unmerged."
 msgstr ""
 
-#: sequencer.c:675
+#: sequencer.c:964
 #, c-format
 msgid "commit %s is a merge but no -m option was given."
 msgstr ""
 
-#: sequencer.c:683
+#: sequencer.c:972
 #, c-format
 msgid "commit %s does not have parent %d"
 msgstr ""
 
-#: sequencer.c:687
+#: sequencer.c:976
 #, c-format
 msgid "mainline was specified but commit %s is not a merge."
 msgstr ""
 
-#. TRANSLATORS: The first %s will be a "todo" command like
-#. "revert" or "pick", the second %s a SHA1.
-#: sequencer.c:700
-#, c-format
-msgid "%s: cannot parse parent commit %s"
-msgstr ""
-
-#: sequencer.c:705
+#: sequencer.c:982
 #, c-format
 msgid "cannot get commit message for %s"
 msgstr ""
 
-#: sequencer.c:797
+#. TRANSLATORS: The first %s will be a "todo" command like
+#. "revert" or "pick", the second %s a SHA1.
+#: sequencer.c:1001
+#, c-format
+msgid "%s: cannot parse parent commit %s"
+msgstr ""
+
+#: sequencer.c:1063 sequencer.c:1812
+#, c-format
+msgid "could not rename '%s' to '%s'"
+msgstr ""
+
+#: sequencer.c:1114
 #, c-format
 msgid "could not revert %s... %s"
 msgstr ""
 
-#: sequencer.c:798
+#: sequencer.c:1115
 #, c-format
 msgid "could not apply %s... %s"
 msgstr ""
 
-#: sequencer.c:833
+#: sequencer.c:1157
 msgid "empty commit set passed"
 msgstr ""
 
-#: sequencer.c:843
+#: sequencer.c:1167
 #, c-format
 msgid "git %s: failed to read the index"
 msgstr ""
 
-#: sequencer.c:850
+#: sequencer.c:1174
 #, c-format
 msgid "git %s: failed to refresh the index"
 msgstr ""
 
-#: sequencer.c:944
+#: sequencer.c:1294
 #, c-format
 msgid "invalid line %d: %.*s"
 msgstr ""
 
-#: sequencer.c:950
-msgid "no commits parsed."
+#: sequencer.c:1302
+#, c-format
+msgid "cannot '%s' without a previous commit"
 msgstr ""
 
-#: sequencer.c:966
+#: sequencer.c:1334
 #, c-format
 msgid "could not read '%s'."
 msgstr ""
 
-#: sequencer.c:972
+#: sequencer.c:1341
+msgid "please fix this using 'git rebase --edit-todo'."
+msgstr ""
+
+#: sequencer.c:1343
 #, c-format
 msgid "unusable instruction sheet: '%s'"
 msgstr ""
 
-#: sequencer.c:983
+#: sequencer.c:1348
+msgid "no commits parsed."
+msgstr ""
+
+#: sequencer.c:1359
 msgid "cannot cherry-pick during a revert."
 msgstr ""
 
-#: sequencer.c:985
+#: sequencer.c:1361
 msgid "cannot revert during a cherry-pick."
 msgstr ""
 
-#: sequencer.c:1028
+#: sequencer.c:1424
 #, c-format
 msgid "invalid key: %s"
 msgstr ""
 
-#: sequencer.c:1031
+#: sequencer.c:1427
 #, c-format
 msgid "invalid value for %s: %s"
 msgstr ""
 
-#: sequencer.c:1063
+#: sequencer.c:1484
 #, c-format
 msgid "malformed options sheet: '%s'"
 msgstr ""
 
-#: sequencer.c:1101
+#: sequencer.c:1522
 msgid "a cherry-pick or revert is already in progress"
 msgstr ""
 
-#: sequencer.c:1102
+#: sequencer.c:1523
 msgid "try \"git cherry-pick (--continue | --quit | --abort)\""
 msgstr ""
 
-#: sequencer.c:1106
+#: sequencer.c:1526
 #, c-format
 msgid "could not create sequencer directory '%s'"
 msgstr ""
 
-#: sequencer.c:1120
+#: sequencer.c:1540
 msgid "could not lock HEAD"
 msgstr ""
 
-#: sequencer.c:1151 sequencer.c:1289
+#: sequencer.c:1596 sequencer.c:2150
 msgid "no cherry-pick or revert in progress"
 msgstr ""
 
-#: sequencer.c:1153
+#: sequencer.c:1598
 msgid "cannot resolve HEAD"
 msgstr ""
 
-#: sequencer.c:1155 sequencer.c:1189
+#: sequencer.c:1600 sequencer.c:1634
 msgid "cannot abort from a branch yet to be born"
 msgstr ""
 
-#: sequencer.c:1175 builtin/grep.c:578
+#: sequencer.c:1620 builtin/grep.c:904
 #, c-format
 msgid "cannot open '%s'"
 msgstr ""
 
-#: sequencer.c:1177
+#: sequencer.c:1622
 #, c-format
 msgid "cannot read '%s': %s"
 msgstr ""
 
-#: sequencer.c:1178
+#: sequencer.c:1623
 msgid "unexpected end of file"
 msgstr ""
 
-#: sequencer.c:1184
+#: sequencer.c:1629
 #, c-format
 msgid "stored pre-cherry-pick HEAD file '%s' is corrupt"
 msgstr ""
 
-#: sequencer.c:1354
+#: sequencer.c:1640
+msgid "You seem to have moved HEAD. Not rewinding, check your HEAD!"
+msgstr ""
+
+#: sequencer.c:1777 sequencer.c:2049
+msgid "cannot read HEAD"
+msgstr ""
+
+#: sequencer.c:1817 builtin/difftool.c:574
+#, c-format
+msgid "could not copy '%s' to '%s'"
+msgstr ""
+
+#: sequencer.c:1833
+msgid "could not read index"
+msgstr ""
+
+#: sequencer.c:1838
+#, c-format
+msgid ""
+"execution failed: %s\n"
+"%sYou can fix the problem, and then run\n"
+"\n"
+"  git rebase --continue\n"
+"\n"
+msgstr ""
+
+#: sequencer.c:1844
+msgid "and made changes to the index and/or the working tree\n"
+msgstr ""
+
+#: sequencer.c:1850
+#, c-format
+msgid ""
+"execution succeeded: %s\n"
+"but left changes to the index and/or the working tree\n"
+"Commit or stash your changes, and then run\n"
+"\n"
+"  git rebase --continue\n"
+"\n"
+msgstr ""
+
+#: sequencer.c:1905 git-rebase.sh:168
+#, c-format
+msgid "Applied autostash."
+msgstr ""
+
+#: sequencer.c:1917
+#, c-format
+msgid "cannot store %s"
+msgstr ""
+
+#: sequencer.c:1919 git-rebase.sh:172
+#, c-format
+msgid ""
+"Applying autostash resulted in conflicts.\n"
+"Your changes are safe in the stash.\n"
+"You can run \"git stash pop\" or \"git stash drop\" at any time.\n"
+msgstr ""
+
+#: sequencer.c:2000
+#, c-format
+msgid "stopped at %s... %.*s"
+msgstr ""
+
+#: sequencer.c:2027
+#, c-format
+msgid "unknown command %d"
+msgstr ""
+
+#: sequencer.c:2057
+msgid "could not read orig-head"
+msgstr ""
+
+#: sequencer.c:2061
+msgid "could not read 'onto'"
+msgstr ""
+
+#: sequencer.c:2068
+#, c-format
+msgid "could not update %s"
+msgstr ""
+
+#: sequencer.c:2075
+#, c-format
+msgid "could not update HEAD to %s"
+msgstr ""
+
+#: sequencer.c:2159
+msgid "cannot rebase: You have unstaged changes."
+msgstr ""
+
+#: sequencer.c:2164
+msgid "could not remove CHERRY_PICK_HEAD"
+msgstr ""
+
+#: sequencer.c:2173
+msgid "cannot amend non-existing commit"
+msgstr ""
+
+#: sequencer.c:2175
+#, c-format
+msgid "invalid file: '%s'"
+msgstr ""
+
+#: sequencer.c:2177
+#, c-format
+msgid "invalid contents: '%s'"
+msgstr ""
+
+#: sequencer.c:2180
+msgid ""
+"\n"
+"You have uncommitted changes in your working tree. Please, commit them\n"
+"first and then run 'git rebase --continue' again."
+msgstr ""
+
+#: sequencer.c:2190
+msgid "could not commit staged changes."
+msgstr ""
+
+#: sequencer.c:2270
 #, c-format
 msgid "%s: can't cherry-pick a %s"
 msgstr ""
 
-#: sequencer.c:1358
+#: sequencer.c:2274
 #, c-format
 msgid "%s: bad revision"
 msgstr ""
 
-#: sequencer.c:1391
+#: sequencer.c:2307
 msgid "can't revert as initial commit"
 msgstr ""
 
@@ -2744,82 +2984,82 @@
 "'git <command> [<revision>...] -- [<file>...]'"
 msgstr ""
 
-#: setup.c:468
+#: setup.c:470
 #, c-format
 msgid "Expected git repo version <= %d, found %d"
 msgstr ""
 
-#: setup.c:476
+#: setup.c:478
 msgid "unknown repository extensions found:"
 msgstr ""
 
-#: setup.c:762
+#: setup.c:768
 #, c-format
 msgid "Not a git repository (or any of the parent directories): %s"
 msgstr ""
 
-#: setup.c:764 setup.c:915 builtin/index-pack.c:1641
+#: setup.c:770 setup.c:922 builtin/index-pack.c:1643
 msgid "Cannot come back to cwd"
 msgstr ""
 
-#: setup.c:845
+#: setup.c:852
 msgid "Unable to read current working directory"
 msgstr ""
 
-#: setup.c:920
+#: setup.c:927
 #, c-format
 msgid ""
 "Not a git repository (or any parent up to mount point %s)\n"
 "Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set)."
 msgstr ""
 
-#: setup.c:927
+#: setup.c:934
 #, c-format
 msgid "Cannot change to '%s/..'"
 msgstr ""
 
-#: setup.c:989
+#: setup.c:996
 #, c-format
 msgid ""
 "Problem with core.sharedRepository filemode value (0%.3o).\n"
 "The owner of files must always have read and write permissions."
 msgstr ""
 
-#: sha1_file.c:473
+#: sha1_file.c:490
 #, c-format
 msgid "path '%s' does not exist"
 msgstr ""
 
-#: sha1_file.c:499
+#: sha1_file.c:516
 #, c-format
 msgid "reference repository '%s' as a linked checkout is not supported yet."
 msgstr ""
 
-#: sha1_file.c:505
+#: sha1_file.c:522
 #, c-format
 msgid "reference repository '%s' is not a local repository."
 msgstr ""
 
-#: sha1_file.c:511
+#: sha1_file.c:528
 #, c-format
 msgid "reference repository '%s' is shallow"
 msgstr ""
 
-#: sha1_file.c:519
+#: sha1_file.c:536
 #, c-format
 msgid "reference repository '%s' is grafted"
 msgstr ""
 
-#: sha1_file.c:1159
+#: sha1_file.c:1176
 msgid "offset before end of packfile (broken .idx?)"
 msgstr ""
 
-#: sha1_file.c:2592
+#: sha1_file.c:2637
 #, c-format
 msgid "offset before start of pack index for %s (corrupt index?)"
 msgstr ""
 
-#: sha1_file.c:2596
+#: sha1_file.c:2641
 #, c-format
 msgid "offset beyond end of pack index for %s (truncated index?)"
 msgstr ""
@@ -2846,88 +3086,128 @@
 "running \"git config advice.objectNameWarning false\""
 msgstr ""
 
-#: submodule.c:64 submodule.c:98
+#: submodule.c:65 submodule.c:99
 msgid "Cannot change unmerged .gitmodules, resolve merge conflicts first"
 msgstr ""
 
-#: submodule.c:68 submodule.c:102
+#: submodule.c:69 submodule.c:103
 #, c-format
 msgid "Could not find section in .gitmodules where path=%s"
 msgstr ""
 
-#: submodule.c:76
+#: submodule.c:77
 #, c-format
 msgid "Could not update .gitmodules entry %s"
 msgstr ""
 
-#: submodule.c:109
+#: submodule.c:110
 #, c-format
 msgid "Could not remove .gitmodules entry for %s"
 msgstr ""
 
-#: submodule.c:120
+#: submodule.c:121
 msgid "staging updated .gitmodules failed"
 msgstr ""
 
-#: submodule.c:158
+#: submodule.c:159
 msgid "negative values not allowed for submodule.fetchJobs"
 msgstr ""
 
-#: submodule-config.c:358
+#: submodule.c:1184
+#, c-format
+msgid "could not start 'git status in submodule '%s'"
+msgstr ""
+
+#: submodule.c:1197
+#, c-format
+msgid "could not run 'git status in submodule '%s'"
+msgstr ""
+
+#: submodule.c:1398
+#, c-format
+msgid ""
+"relocate_gitdir for submodule '%s' with more than one worktree not supported"
+msgstr ""
+
+#: submodule.c:1410 submodule.c:1471
+#, c-format
+msgid "could not lookup name for submodule '%s'"
+msgstr ""
+
+#: submodule.c:1414 submodule.c:1474 builtin/submodule--helper.c:640
+#: builtin/submodule--helper.c:650
+#, c-format
+msgid "could not create directory '%s'"
+msgstr ""
+
+#: submodule.c:1420
+#, c-format
+msgid ""
+"Migrating git directory of '%s%s' from\n"
+"'%s' to\n"
+"'%s'\n"
+msgstr ""
+
+#: submodule.c:1512
+#, c-format
+msgid "could not recurse into submodule '%s'"
+msgstr ""
+
+#: submodule-config.c:360
 #, c-format
 msgid "invalid value for %s"
 msgstr ""
 
-#: trailer.c:238
+#: trailer.c:240
 #, c-format
 msgid "running trailer command '%s' failed"
 msgstr ""
 
-#: trailer.c:471 trailer.c:475 trailer.c:479 trailer.c:533 trailer.c:537
-#: trailer.c:541
+#: trailer.c:473 trailer.c:477 trailer.c:481 trailer.c:535 trailer.c:539
+#: trailer.c:543
 #, c-format
 msgid "unknown value '%s' for key '%s'"
 msgstr ""
 
-#: trailer.c:523 trailer.c:528 builtin/remote.c:289
+#: trailer.c:525 trailer.c:530 builtin/remote.c:289
 #, c-format
 msgid "more than one %s"
 msgstr ""
 
-#: trailer.c:672
+#: trailer.c:702
 #, c-format
 msgid "empty trailer token in trailer '%.*s'"
 msgstr ""
 
-#: trailer.c:695
+#: trailer.c:722
 #, c-format
 msgid "could not read input file '%s'"
 msgstr ""
 
-#: trailer.c:698
+#: trailer.c:725
 msgid "could not read from stdin"
 msgstr ""
 
-#: trailer.c:929 builtin/am.c:44
+#: trailer.c:949 builtin/am.c:44
 #, c-format
 msgid "could not stat %s"
 msgstr ""
 
-#: trailer.c:931
+#: trailer.c:951
 #, c-format
 msgid "file %s is not a regular file"
 msgstr ""
 
-#: trailer.c:933
+#: trailer.c:953
 #, c-format
 msgid "file %s is not writable by user"
 msgstr ""
 
-#: trailer.c:945
+#: trailer.c:965
 msgid "could not open temporary file"
 msgstr ""
 
-#: trailer.c:983
+#: trailer.c:1001
 #, c-format
 msgid "could not rename temporary file to %s"
 msgstr ""
@@ -2942,14 +3222,14 @@
 msgid "transport: invalid depth option '%s'"
 msgstr ""
 
-#: transport.c:817
+#: transport.c:885
 #, c-format
 msgid ""
 "The following submodule paths contain changes that can\n"
 "not be found on any remote:\n"
 msgstr ""
 
-#: transport.c:821
+#: transport.c:889
 #, c-format
 msgid ""
 "\n"
@@ -2965,11 +3245,11 @@
 "\n"
 msgstr ""
 
-#: transport.c:829
+#: transport.c:897
 msgid "Aborting."
 msgstr ""
 
-#: transport-helper.c:1075
+#: transport-helper.c:1082
 #, c-format
 msgid "Could not read ref %s"
 msgstr ""
@@ -2990,98 +3270,98 @@
 msgid "too-short tree file"
 msgstr ""
 
-#: unpack-trees.c:64
+#: unpack-trees.c:99
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by checkout:\n"
 "%%sPlease commit your changes or stash them before you switch branches."
 msgstr ""
 
-#: unpack-trees.c:66
+#: unpack-trees.c:101
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by checkout:\n"
 "%%s"
 msgstr ""
 
-#: unpack-trees.c:69
+#: unpack-trees.c:104
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by merge:\n"
 "%%sPlease commit your changes or stash them before you merge."
 msgstr ""
 
-#: unpack-trees.c:71
+#: unpack-trees.c:106
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by merge:\n"
 "%%s"
 msgstr ""
 
-#: unpack-trees.c:74
+#: unpack-trees.c:109
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by %s:\n"
 "%%sPlease commit your changes or stash them before you %s."
 msgstr ""
 
-#: unpack-trees.c:76
+#: unpack-trees.c:111
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by %s:\n"
 "%%s"
 msgstr ""
 
-#: unpack-trees.c:81
+#: unpack-trees.c:116
 #, c-format
 msgid ""
-"Updating the following directories would lose untracked files in it:\n"
+"Updating the following directories would lose untracked files in them:\n"
 "%s"
 msgstr ""
 
-#: unpack-trees.c:85
+#: unpack-trees.c:120
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by checkout:\n"
 "%%sPlease move or remove them before you switch branches."
 msgstr ""
 
-#: unpack-trees.c:87
+#: unpack-trees.c:122
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by checkout:\n"
 "%%s"
 msgstr ""
 
-#: unpack-trees.c:90
+#: unpack-trees.c:125
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by merge:\n"
 "%%sPlease move or remove them before you merge."
 msgstr ""
 
-#: unpack-trees.c:92
+#: unpack-trees.c:127
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by merge:\n"
 "%%s"
 msgstr ""
 
-#: unpack-trees.c:95
+#: unpack-trees.c:130
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by %s:\n"
 "%%sPlease move or remove them before you %s."
 msgstr ""
 
-#: unpack-trees.c:97
+#: unpack-trees.c:132
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by %s:\n"
 "%%s"
 msgstr ""
 
-#: unpack-trees.c:102
+#: unpack-trees.c:137
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by "
@@ -3089,7 +3369,7 @@
 "%%sPlease move or remove them before you switch branches."
 msgstr ""
 
-#: unpack-trees.c:104
+#: unpack-trees.c:139
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by "
@@ -3097,47 +3377,47 @@
 "%%s"
 msgstr ""
 
-#: unpack-trees.c:107
+#: unpack-trees.c:142
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by merge:\n"
 "%%sPlease move or remove them before you merge."
 msgstr ""
 
-#: unpack-trees.c:109
+#: unpack-trees.c:144
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by merge:\n"
 "%%s"
 msgstr ""
 
-#: unpack-trees.c:112
+#: unpack-trees.c:147
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by %s:\n"
 "%%sPlease move or remove them before you %s."
 msgstr ""
 
-#: unpack-trees.c:114
+#: unpack-trees.c:149
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by %s:\n"
 "%%s"
 msgstr ""
 
-#: unpack-trees.c:121
+#: unpack-trees.c:156
 #, c-format
 msgid "Entry '%s' overlaps with '%s'.  Cannot bind."
 msgstr ""
 
-#: unpack-trees.c:124
+#: unpack-trees.c:159
 #, c-format
 msgid ""
 "Cannot update sparse checkout: the following entries are not up-to-date:\n"
 "%s"
 msgstr ""
 
-#: unpack-trees.c:126
+#: unpack-trees.c:161
 #, c-format
 msgid ""
 "The following working tree files would be overwritten by sparse checkout "
@@ -3145,7 +3425,7 @@
 "%s"
 msgstr ""
 
-#: unpack-trees.c:128
+#: unpack-trees.c:163
 #, c-format
 msgid ""
 "The following working tree files would be removed by sparse checkout "
@@ -3153,12 +3433,12 @@
 "%s"
 msgstr ""
 
-#: unpack-trees.c:205
+#: unpack-trees.c:240
 #, c-format
 msgid "Aborting\n"
 msgstr ""
 
-#: unpack-trees.c:237
+#: unpack-trees.c:270
 msgid "Checking out files"
 msgstr ""
 
@@ -3207,7 +3487,7 @@
 msgstr ""
 
 #: wrapper.c:226 wrapper.c:396 builtin/am.c:320 builtin/am.c:759
-#: builtin/am.c:847 builtin/commit.c:1705 builtin/merge.c:1029
+#: builtin/am.c:847 builtin/commit.c:1700 builtin/merge.c:1033
 #: builtin/pull.c:341
 #, c-format
 msgid "could not open '%s' for reading"
@@ -3413,178 +3693,182 @@
 msgid "  (use \"git am --abort\" to restore the original branch)"
 msgstr ""
 
-#: wt-status.c:1172
+#: wt-status.c:1176
+msgid "git-rebase-todo is missing."
+msgstr ""
+
+#: wt-status.c:1178
 msgid "No commands done."
 msgstr ""
 
-#: wt-status.c:1175
+#: wt-status.c:1181
 #, c-format
 msgid "Last command done (%d command done):"
 msgid_plural "Last commands done (%d commands done):"
 msgstr[0] ""
 msgstr[1] ""
 
-#: wt-status.c:1186
+#: wt-status.c:1192
 #, c-format
 msgid "  (see more in file %s)"
 msgstr ""
 
-#: wt-status.c:1191
+#: wt-status.c:1197
 msgid "No commands remaining."
 msgstr ""
 
-#: wt-status.c:1194
+#: wt-status.c:1200
 #, c-format
 msgid "Next command to do (%d remaining command):"
 msgid_plural "Next commands to do (%d remaining commands):"
 msgstr[0] ""
 msgstr[1] ""
 
-#: wt-status.c:1202
+#: wt-status.c:1208
 msgid "  (use \"git rebase --edit-todo\" to view and edit)"
 msgstr ""
 
-#: wt-status.c:1215
+#: wt-status.c:1221
 #, c-format
 msgid "You are currently rebasing branch '%s' on '%s'."
 msgstr ""
 
-#: wt-status.c:1220
+#: wt-status.c:1226
 msgid "You are currently rebasing."
 msgstr ""
 
-#: wt-status.c:1234
+#: wt-status.c:1240
 msgid "  (fix conflicts and then run \"git rebase --continue\")"
 msgstr ""
 
-#: wt-status.c:1236
+#: wt-status.c:1242
 msgid "  (use \"git rebase --skip\" to skip this patch)"
 msgstr ""
 
-#: wt-status.c:1238
+#: wt-status.c:1244
 msgid "  (use \"git rebase --abort\" to check out the original branch)"
 msgstr ""
 
-#: wt-status.c:1244
+#: wt-status.c:1250
 msgid "  (all conflicts fixed: run \"git rebase --continue\")"
 msgstr ""
 
-#: wt-status.c:1248
+#: wt-status.c:1254
 #, c-format
 msgid ""
 "You are currently splitting a commit while rebasing branch '%s' on '%s'."
 msgstr ""
 
-#: wt-status.c:1253
+#: wt-status.c:1259
 msgid "You are currently splitting a commit during a rebase."
 msgstr ""
 
-#: wt-status.c:1256
+#: wt-status.c:1262
 msgid "  (Once your working directory is clean, run \"git rebase --continue\")"
 msgstr ""
 
-#: wt-status.c:1260
+#: wt-status.c:1266
 #, c-format
 msgid "You are currently editing a commit while rebasing branch '%s' on '%s'."
 msgstr ""
 
-#: wt-status.c:1265
+#: wt-status.c:1271
 msgid "You are currently editing a commit during a rebase."
 msgstr ""
 
-#: wt-status.c:1268
+#: wt-status.c:1274
 msgid "  (use \"git commit --amend\" to amend the current commit)"
 msgstr ""
 
-#: wt-status.c:1270
+#: wt-status.c:1276
 msgid ""
 "  (use \"git rebase --continue\" once you are satisfied with your changes)"
 msgstr ""
 
-#: wt-status.c:1280
+#: wt-status.c:1286
 #, c-format
 msgid "You are currently cherry-picking commit %s."
 msgstr ""
 
-#: wt-status.c:1285
+#: wt-status.c:1291
 msgid "  (fix conflicts and run \"git cherry-pick --continue\")"
 msgstr ""
 
-#: wt-status.c:1288
+#: wt-status.c:1294
 msgid "  (all conflicts fixed: run \"git cherry-pick --continue\")"
 msgstr ""
 
-#: wt-status.c:1290
+#: wt-status.c:1296
 msgid "  (use \"git cherry-pick --abort\" to cancel the cherry-pick operation)"
 msgstr ""
 
-#: wt-status.c:1299
+#: wt-status.c:1305
 #, c-format
 msgid "You are currently reverting commit %s."
 msgstr ""
 
-#: wt-status.c:1304
+#: wt-status.c:1310
 msgid "  (fix conflicts and run \"git revert --continue\")"
 msgstr ""
 
-#: wt-status.c:1307
+#: wt-status.c:1313
 msgid "  (all conflicts fixed: run \"git revert --continue\")"
 msgstr ""
 
-#: wt-status.c:1309
+#: wt-status.c:1315
 msgid "  (use \"git revert --abort\" to cancel the revert operation)"
 msgstr ""
 
-#: wt-status.c:1320
+#: wt-status.c:1326
 #, c-format
 msgid "You are currently bisecting, started from branch '%s'."
 msgstr ""
 
-#: wt-status.c:1324
+#: wt-status.c:1330
 msgid "You are currently bisecting."
 msgstr ""
 
-#: wt-status.c:1327
+#: wt-status.c:1333
 msgid "  (use \"git bisect reset\" to get back to the original branch)"
 msgstr ""
 
-#: wt-status.c:1524
+#: wt-status.c:1530
 msgid "On branch "
 msgstr ""
 
-#: wt-status.c:1530
+#: wt-status.c:1536
 msgid "interactive rebase in progress; onto "
 msgstr ""
 
-#: wt-status.c:1532
+#: wt-status.c:1538
 msgid "rebase in progress; onto "
 msgstr ""
 
-#: wt-status.c:1537
+#: wt-status.c:1543
 msgid "HEAD detached at "
 msgstr ""
 
-#: wt-status.c:1539
+#: wt-status.c:1545
 msgid "HEAD detached from "
 msgstr ""
 
-#: wt-status.c:1542
+#: wt-status.c:1548
 msgid "Not currently on any branch."
 msgstr ""
 
-#: wt-status.c:1560
+#: wt-status.c:1566
 msgid "Initial commit"
 msgstr ""
 
-#: wt-status.c:1574
+#: wt-status.c:1580
 msgid "Untracked files"
 msgstr ""
 
-#: wt-status.c:1576
+#: wt-status.c:1582
 msgid "Ignored files"
 msgstr ""
 
-#: wt-status.c:1580
+#: wt-status.c:1586
 #, c-format
 msgid ""
 "It took %.2f seconds to enumerate untracked files. 'status -uno'\n"
@@ -3592,92 +3876,92 @@
 "new files yourself (see 'git help status')."
 msgstr ""
 
-#: wt-status.c:1586
+#: wt-status.c:1592
 #, c-format
 msgid "Untracked files not listed%s"
 msgstr ""
 
-#: wt-status.c:1588
+#: wt-status.c:1594
 msgid " (use -u option to show untracked files)"
 msgstr ""
 
-#: wt-status.c:1594
+#: wt-status.c:1600
 msgid "No changes"
 msgstr ""
 
-#: wt-status.c:1599
+#: wt-status.c:1605
 #, c-format
 msgid "no changes added to commit (use \"git add\" and/or \"git commit -a\")\n"
 msgstr ""
 
-#: wt-status.c:1602
+#: wt-status.c:1608
 #, c-format
 msgid "no changes added to commit\n"
 msgstr ""
 
-#: wt-status.c:1605
+#: wt-status.c:1611
 #, c-format
 msgid ""
 "nothing added to commit but untracked files present (use \"git add\" to "
 "track)\n"
 msgstr ""
 
-#: wt-status.c:1608
+#: wt-status.c:1614
 #, c-format
 msgid "nothing added to commit but untracked files present\n"
 msgstr ""
 
-#: wt-status.c:1611
+#: wt-status.c:1617
 #, c-format
 msgid "nothing to commit (create/copy files and use \"git add\" to track)\n"
 msgstr ""
 
-#: wt-status.c:1614 wt-status.c:1619
+#: wt-status.c:1620 wt-status.c:1625
 #, c-format
 msgid "nothing to commit\n"
 msgstr ""
 
-#: wt-status.c:1617
+#: wt-status.c:1623
 #, c-format
 msgid "nothing to commit (use -u to show untracked files)\n"
 msgstr ""
 
-#: wt-status.c:1621
+#: wt-status.c:1627
 #, c-format
 msgid "nothing to commit, working tree clean\n"
 msgstr ""
 
-#: wt-status.c:1728
+#: wt-status.c:1734
 msgid "Initial commit on "
 msgstr ""
 
-#: wt-status.c:1732
+#: wt-status.c:1738
 msgid "HEAD (no branch)"
 msgstr ""
 
-#: wt-status.c:1761
+#: wt-status.c:1767
 msgid "gone"
 msgstr ""
 
-#: wt-status.c:1763 wt-status.c:1771
+#: wt-status.c:1769 wt-status.c:1777
 msgid "behind "
 msgstr ""
 
-#: wt-status.c:1766 wt-status.c:1769
+#: wt-status.c:1772 wt-status.c:1775
 msgid "ahead "
 msgstr ""
 
 #. TRANSLATORS: the action is e.g. "pull with rebase"
-#: wt-status.c:2270
+#: wt-status.c:2277
 #, c-format
 msgid "cannot %s: You have unstaged changes."
 msgstr ""
 
-#: wt-status.c:2276
+#: wt-status.c:2283
 msgid "additionally, your index contains uncommitted changes."
 msgstr ""
 
-#: wt-status.c:2278
+#: wt-status.c:2285
 #, c-format
 msgid "cannot %s: Your index contains uncommitted changes."
 msgstr ""
@@ -3709,7 +3993,7 @@
 msgid "Unstaged changes after refreshing the index:"
 msgstr ""
 
-#: builtin/add.c:209 builtin/rev-parse.c:840
+#: builtin/add.c:209 builtin/rev-parse.c:845
 msgid "Could not read the index"
 msgstr ""
 
@@ -3744,9 +4028,9 @@
 msgid "The following paths are ignored by one of your .gitignore files:\n"
 msgstr ""
 
-#: builtin/add.c:266 builtin/clean.c:870 builtin/fetch.c:115 builtin/mv.c:111
-#: builtin/prune-packed.c:55 builtin/pull.c:198 builtin/push.c:521
-#: builtin/remote.c:1326 builtin/rm.c:268 builtin/send-pack.c:162
+#: builtin/add.c:266 builtin/clean.c:870 builtin/fetch.c:115 builtin/mv.c:123
+#: builtin/prune-packed.c:55 builtin/pull.c:198 builtin/push.c:524
+#: builtin/remote.c:1326 builtin/rm.c:241 builtin/send-pack.c:162
 msgid "dry run"
 msgstr ""
 
@@ -3754,7 +4038,7 @@
 msgid "interactive picking"
 msgstr ""
 
-#: builtin/add.c:270 builtin/checkout.c:1156 builtin/reset.c:286
+#: builtin/add.c:270 builtin/checkout.c:1159 builtin/reset.c:286
 msgid "select hunks interactively"
 msgstr ""
 
@@ -3836,7 +4120,7 @@
 
 #: builtin/add.c:380 builtin/check-ignore.c:172 builtin/checkout.c:279
 #: builtin/checkout.c:472 builtin/clean.c:914 builtin/commit.c:350
-#: builtin/mv.c:131 builtin/reset.c:235 builtin/rm.c:298
+#: builtin/mv.c:143 builtin/reset.c:235 builtin/rm.c:271
 #: builtin/submodule--helper.c:244
 msgid "index file corrupt"
 msgstr ""
@@ -3953,7 +4237,7 @@
 msgid "Failed to merge in the changes."
 msgstr ""
 
-#: builtin/am.c:1686 builtin/merge.c:628
+#: builtin/am.c:1686 builtin/merge.c:632
 msgid "git write-tree failed to write a tree"
 msgstr ""
 
@@ -3961,8 +4245,8 @@
 msgid "applying to an empty history"
 msgstr ""
 
-#: builtin/am.c:1706 builtin/commit.c:1769 builtin/merge.c:798
-#: builtin/merge.c:823
+#: builtin/am.c:1706 builtin/commit.c:1764 builtin/merge.c:802
+#: builtin/merge.c:827
 msgid "failed to write commit object"
 msgstr ""
 
@@ -4066,7 +4350,7 @@
 msgstr ""
 
 #: builtin/am.c:2245 builtin/init-db.c:483 builtin/prune-packed.c:57
-#: builtin/repack.c:172
+#: builtin/repack.c:178
 msgid "be quiet"
 msgstr ""
 
@@ -4109,15 +4393,15 @@
 msgstr ""
 
 #: builtin/am.c:2283 builtin/fmt-merge-msg.c:662 builtin/fmt-merge-msg.c:665
-#: builtin/grep.c:707 builtin/merge.c:200 builtin/pull.c:135
-#: builtin/pull.c:194 builtin/repack.c:181 builtin/repack.c:185
-#: builtin/show-branch.c:644 builtin/show-ref.c:175 builtin/tag.c:340
+#: builtin/grep.c:1038 builtin/merge.c:202 builtin/pull.c:135
+#: builtin/pull.c:194 builtin/repack.c:187 builtin/repack.c:191
+#: builtin/show-branch.c:644 builtin/show-ref.c:169 builtin/tag.c:355
 #: parse-options.h:132 parse-options.h:134 parse-options.h:245
 msgid "n"
 msgstr ""
 
 #: builtin/am.c:2289 builtin/for-each-ref.c:37 builtin/replace.c:438
-#: builtin/tag.c:372
+#: builtin/tag.c:387 builtin/verify-tag.c:38
 msgid "format"
 msgstr ""
 
@@ -4153,8 +4437,8 @@
 msgid "use current timestamp for author date"
 msgstr ""
 
-#: builtin/am.c:2315 builtin/commit.c:1605 builtin/merge.c:229
-#: builtin/pull.c:165 builtin/revert.c:92 builtin/tag.c:355
+#: builtin/am.c:2315 builtin/commit.c:1600 builtin/merge.c:233
+#: builtin/pull.c:165 builtin/revert.c:92 builtin/tag.c:370
 msgid "key-id"
 msgstr ""
 
@@ -4251,115 +4535,111 @@
 msgid "<rev-opts> are documented in git-rev-list(1)"
 msgstr ""
 
-#: builtin/blame.c:1781
+#: builtin/blame.c:1786
 msgid "Blaming lines"
 msgstr ""
 
-#: builtin/blame.c:2577
+#: builtin/blame.c:2582
 msgid "Show blame entries as we find them, incrementally"
 msgstr ""
 
-#: builtin/blame.c:2578
+#: builtin/blame.c:2583
 msgid "Show blank SHA-1 for boundary commits (Default: off)"
 msgstr ""
 
-#: builtin/blame.c:2579
+#: builtin/blame.c:2584
 msgid "Do not treat root commits as boundaries (Default: off)"
 msgstr ""
 
-#: builtin/blame.c:2580
+#: builtin/blame.c:2585
 msgid "Show work cost statistics"
 msgstr ""
 
-#: builtin/blame.c:2581
+#: builtin/blame.c:2586
 msgid "Force progress reporting"
 msgstr ""
 
-#: builtin/blame.c:2582
+#: builtin/blame.c:2587
 msgid "Show output score for blame entries"
 msgstr ""
 
-#: builtin/blame.c:2583
+#: builtin/blame.c:2588
 msgid "Show original filename (Default: auto)"
 msgstr ""
 
-#: builtin/blame.c:2584
+#: builtin/blame.c:2589
 msgid "Show original linenumber (Default: off)"
 msgstr ""
 
-#: builtin/blame.c:2585
+#: builtin/blame.c:2590
 msgid "Show in a format designed for machine consumption"
 msgstr ""
 
-#: builtin/blame.c:2586
+#: builtin/blame.c:2591
 msgid "Show porcelain format with per-line commit information"
 msgstr ""
 
-#: builtin/blame.c:2587
+#: builtin/blame.c:2592
 msgid "Use the same output mode as git-annotate (Default: off)"
 msgstr ""
 
-#: builtin/blame.c:2588
+#: builtin/blame.c:2593
 msgid "Show raw timestamp (Default: off)"
 msgstr ""
 
-#: builtin/blame.c:2589
+#: builtin/blame.c:2594
 msgid "Show long commit SHA1 (Default: off)"
 msgstr ""
 
-#: builtin/blame.c:2590
+#: builtin/blame.c:2595
 msgid "Suppress author name and timestamp (Default: off)"
 msgstr ""
 
-#: builtin/blame.c:2591
+#: builtin/blame.c:2596
 msgid "Show author email instead of name (Default: off)"
 msgstr ""
 
-#: builtin/blame.c:2592
+#: builtin/blame.c:2597
 msgid "Ignore whitespace differences"
 msgstr ""
 
-#: builtin/blame.c:2599
-msgid "Use an experimental indent-based heuristic to improve diffs"
-msgstr ""
-
-#: builtin/blame.c:2600
-msgid "Use an experimental blank-line-based heuristic to improve diffs"
-msgstr ""
-
-#: builtin/blame.c:2602
-msgid "Spend extra cycles to find better match"
-msgstr ""
-
-#: builtin/blame.c:2603
-msgid "Use revisions from <file> instead of calling git-rev-list"
-msgstr ""
-
 #: builtin/blame.c:2604
-msgid "Use <file>'s contents as the final image"
-msgstr ""
-
-#: builtin/blame.c:2605 builtin/blame.c:2606
-msgid "score"
-msgstr ""
-
-#: builtin/blame.c:2605
-msgid "Find line copies within and across files"
+msgid "Use an experimental heuristic to improve diffs"
 msgstr ""
 
 #: builtin/blame.c:2606
+msgid "Spend extra cycles to find better match"
+msgstr ""
+
+#: builtin/blame.c:2607
+msgid "Use revisions from <file> instead of calling git-rev-list"
+msgstr ""
+
+#: builtin/blame.c:2608
+msgid "Use <file>'s contents as the final image"
+msgstr ""
+
+#: builtin/blame.c:2609 builtin/blame.c:2610
+msgid "score"
+msgstr ""
+
+#: builtin/blame.c:2609
+msgid "Find line copies within and across files"
+msgstr ""
+
+#: builtin/blame.c:2610
 msgid "Find line movements within and across files"
 msgstr ""
 
-#: builtin/blame.c:2607
+#: builtin/blame.c:2611
 msgid "n,m"
 msgstr ""
 
-#: builtin/blame.c:2607
+#: builtin/blame.c:2611
 msgid "Process only line range n,m, counting from 1"
 msgstr ""
 
-#: builtin/blame.c:2654
+#: builtin/blame.c:2658
 msgid "--progress can't be used with --incremental or porcelain formats"
 msgstr ""
 
@@ -4369,38 +4649,38 @@
 #. takes 22 places, is the longest among various forms of
 #. relative timestamps, but your language may need more or
 #. fewer display columns.
-#: builtin/blame.c:2700
+#: builtin/blame.c:2706
 msgid "4 years, 11 months ago"
 msgstr ""
 
-#: builtin/blame.c:2780
+#: builtin/blame.c:2786
 msgid "--contents and --reverse do not blend well."
 msgstr ""
 
-#: builtin/blame.c:2800
+#: builtin/blame.c:2806
 msgid "cannot use --contents with final commit object name"
 msgstr ""
 
-#: builtin/blame.c:2805
+#: builtin/blame.c:2811
 msgid "--reverse and --first-parent together require specified latest commit"
 msgstr ""
 
-#: builtin/blame.c:2832
+#: builtin/blame.c:2838
 msgid ""
 "--reverse --first-parent together require range along first-parent chain"
 msgstr ""
 
-#: builtin/blame.c:2843
+#: builtin/blame.c:2849
 #, c-format
 msgid "no such path %s in %s"
 msgstr ""
 
-#: builtin/blame.c:2854
+#: builtin/blame.c:2860
 #, c-format
 msgid "cannot read blob %s for path %s"
 msgstr ""
 
-#: builtin/blame.c:2873
+#: builtin/blame.c:2879
 #, c-format
 msgid "file %s has only %lu line"
 msgid_plural "file %s has only %lu lines"
@@ -4572,44 +4852,44 @@
 msgid "(no branch)"
 msgstr ""
 
-#: builtin/branch.c:544
+#: builtin/branch.c:535
 #, c-format
 msgid "Branch %s is being rebased at %s"
 msgstr ""
 
-#: builtin/branch.c:548
+#: builtin/branch.c:539
 #, c-format
 msgid "Branch %s is being bisected at %s"
 msgstr ""
 
-#: builtin/branch.c:563
+#: builtin/branch.c:554
 msgid "cannot rename the current branch while not on any."
 msgstr ""
 
-#: builtin/branch.c:573
+#: builtin/branch.c:564
 #, c-format
 msgid "Invalid branch name: '%s'"
 msgstr ""
 
-#: builtin/branch.c:590
+#: builtin/branch.c:581
 msgid "Branch rename failed"
 msgstr ""
 
-#: builtin/branch.c:594
+#: builtin/branch.c:585
 #, c-format
 msgid "Renamed a misnamed branch '%s' away"
 msgstr ""
 
-#: builtin/branch.c:597
+#: builtin/branch.c:588
 #, c-format
 msgid "Branch renamed to %s, but HEAD is not updated!"
 msgstr ""
 
-#: builtin/branch.c:604
+#: builtin/branch.c:595
 msgid "Branch is renamed, but update of config-file failed"
 msgstr ""
 
-#: builtin/branch.c:620
+#: builtin/branch.c:611
 #, c-format
 msgid ""
 "Please edit the description for the branch\n"
@@ -4617,207 +4897,211 @@
 "Lines starting with '%c' will be stripped.\n"
 msgstr ""
 
-#: builtin/branch.c:651
+#: builtin/branch.c:643
 msgid "Generic options"
 msgstr ""
 
-#: builtin/branch.c:653
+#: builtin/branch.c:645
 msgid "show hash and subject, give twice for upstream branch"
 msgstr ""
 
-#: builtin/branch.c:654
+#: builtin/branch.c:646
 msgid "suppress informational messages"
 msgstr ""
 
-#: builtin/branch.c:655
+#: builtin/branch.c:647
 msgid "set up tracking mode (see git-pull(1))"
 msgstr ""
 
-#: builtin/branch.c:657
+#: builtin/branch.c:649
 msgid "change upstream info"
 msgstr ""
 
-#: builtin/branch.c:659
+#: builtin/branch.c:651
 msgid "upstream"
 msgstr ""
 
-#: builtin/branch.c:659
+#: builtin/branch.c:651
 msgid "change the upstream info"
 msgstr ""
 
-#: builtin/branch.c:660
+#: builtin/branch.c:652
 msgid "Unset the upstream info"
 msgstr ""
 
-#: builtin/branch.c:661
+#: builtin/branch.c:653
 msgid "use colored output"
 msgstr ""
 
-#: builtin/branch.c:662
+#: builtin/branch.c:654
 msgid "act on remote-tracking branches"
 msgstr ""
 
-#: builtin/branch.c:664 builtin/branch.c:665
+#: builtin/branch.c:656 builtin/branch.c:657
 msgid "print only branches that contain the commit"
 msgstr ""
 
-#: builtin/branch.c:668
+#: builtin/branch.c:660
 msgid "Specific git-branch actions:"
 msgstr ""
 
-#: builtin/branch.c:669
+#: builtin/branch.c:661
 msgid "list both remote-tracking and local branches"
 msgstr ""
 
-#: builtin/branch.c:671
+#: builtin/branch.c:663
 msgid "delete fully merged branch"
 msgstr ""
 
-#: builtin/branch.c:672
+#: builtin/branch.c:664
 msgid "delete branch (even if not merged)"
 msgstr ""
 
-#: builtin/branch.c:673
+#: builtin/branch.c:665
 msgid "move/rename a branch and its reflog"
 msgstr ""
 
-#: builtin/branch.c:674
+#: builtin/branch.c:666
 msgid "move/rename a branch, even if target exists"
 msgstr ""
 
-#: builtin/branch.c:675
+#: builtin/branch.c:667
 msgid "list branch names"
 msgstr ""
 
-#: builtin/branch.c:676
+#: builtin/branch.c:668
 msgid "create the branch's reflog"
 msgstr ""
 
-#: builtin/branch.c:678
+#: builtin/branch.c:670
 msgid "edit the description for the branch"
 msgstr ""
 
-#: builtin/branch.c:679
+#: builtin/branch.c:671
 msgid "force creation, move/rename, deletion"
 msgstr ""
 
-#: builtin/branch.c:680
+#: builtin/branch.c:672
 msgid "print only branches that are merged"
 msgstr ""
 
-#: builtin/branch.c:681
+#: builtin/branch.c:673
 msgid "print only branches that are not merged"
 msgstr ""
 
-#: builtin/branch.c:682
+#: builtin/branch.c:674
 msgid "list branches in columns"
 msgstr ""
 
-#: builtin/branch.c:683 builtin/for-each-ref.c:38 builtin/tag.c:366
+#: builtin/branch.c:675 builtin/for-each-ref.c:38 builtin/tag.c:381
 msgid "key"
 msgstr ""
 
-#: builtin/branch.c:684 builtin/for-each-ref.c:39 builtin/tag.c:367
+#: builtin/branch.c:676 builtin/for-each-ref.c:39 builtin/tag.c:382
 msgid "field name to sort on"
 msgstr ""
 
-#: builtin/branch.c:686 builtin/for-each-ref.c:41 builtin/notes.c:404
+#: builtin/branch.c:678 builtin/for-each-ref.c:41 builtin/notes.c:404
 #: builtin/notes.c:407 builtin/notes.c:567 builtin/notes.c:570
-#: builtin/tag.c:369
+#: builtin/tag.c:384
 msgid "object"
 msgstr ""
 
-#: builtin/branch.c:687
+#: builtin/branch.c:679
 msgid "print only branches of the object"
 msgstr ""
 
-#: builtin/branch.c:705
+#: builtin/branch.c:681 builtin/for-each-ref.c:46 builtin/tag.c:388
+msgid "sorting and filtering are case insensitive"
+msgstr ""
+
+#: builtin/branch.c:698
 msgid "Failed to resolve HEAD as a valid ref."
 msgstr ""
 
-#: builtin/branch.c:709 builtin/clone.c:706
+#: builtin/branch.c:702 builtin/clone.c:706
 msgid "HEAD not found below refs/heads!"
 msgstr ""
 
-#: builtin/branch.c:729
+#: builtin/branch.c:724
 msgid "--column and --verbose are incompatible"
 msgstr ""
 
-#: builtin/branch.c:740 builtin/branch.c:782
+#: builtin/branch.c:735 builtin/branch.c:787
 msgid "branch name required"
 msgstr ""
 
-#: builtin/branch.c:758
+#: builtin/branch.c:763
 msgid "Cannot give description to detached HEAD"
 msgstr ""
 
-#: builtin/branch.c:763
+#: builtin/branch.c:768
 msgid "cannot edit description of more than one branch"
 msgstr ""
 
-#: builtin/branch.c:770
+#: builtin/branch.c:775
 #, c-format
 msgid "No commit on branch '%s' yet."
 msgstr ""
 
-#: builtin/branch.c:773
+#: builtin/branch.c:778
 #, c-format
 msgid "No branch named '%s'."
 msgstr ""
 
-#: builtin/branch.c:788
+#: builtin/branch.c:793
 msgid "too many branches for a rename operation"
 msgstr ""
 
-#: builtin/branch.c:793
+#: builtin/branch.c:798
 msgid "too many branches to set new upstream"
 msgstr ""
 
-#: builtin/branch.c:797
+#: builtin/branch.c:802
 #, c-format
 msgid ""
 "could not set upstream of HEAD to %s when it does not point to any branch."
 msgstr ""
 
-#: builtin/branch.c:800 builtin/branch.c:822 builtin/branch.c:843
+#: builtin/branch.c:805 builtin/branch.c:827 builtin/branch.c:848
 #, c-format
 msgid "no such branch '%s'"
 msgstr ""
 
-#: builtin/branch.c:804
+#: builtin/branch.c:809
 #, c-format
 msgid "branch '%s' does not exist"
 msgstr ""
 
-#: builtin/branch.c:816
+#: builtin/branch.c:821
 msgid "too many branches to unset upstream"
 msgstr ""
 
-#: builtin/branch.c:820
+#: builtin/branch.c:825
 msgid "could not unset upstream of HEAD when it does not point to any branch."
 msgstr ""
 
-#: builtin/branch.c:826
+#: builtin/branch.c:831
 #, c-format
 msgid "Branch '%s' has no upstream information"
 msgstr ""
 
-#: builtin/branch.c:840
+#: builtin/branch.c:845
 msgid "it does not make sense to create 'HEAD' manually"
 msgstr ""
 
-#: builtin/branch.c:846
+#: builtin/branch.c:851
 msgid "-a and -r options to 'git branch' do not make sense with a branch name"
 msgstr ""
 
-#: builtin/branch.c:849
+#: builtin/branch.c:854
 #, c-format
 msgid ""
 "The --set-upstream flag is deprecated and will be removed. Consider using --"
 "track or --set-upstream-to\n"
 msgstr ""
 
-#: builtin/branch.c:866
+#: builtin/branch.c:871
 #, c-format
 msgid ""
 "\n"
@@ -4878,7 +5162,7 @@
 msgid "for blob objects, run filters on object's content"
 msgstr ""
 
-#: builtin/cat-file.c:561 git-submodule.sh:923
+#: builtin/cat-file.c:561 git-submodule.sh:929
 msgid "blob"
 msgstr ""
 
@@ -4934,7 +5218,7 @@
 msgid "terminate input and output records by a NUL character"
 msgstr ""
 
-#: builtin/check-ignore.c:18 builtin/checkout.c:1137 builtin/gc.c:325
+#: builtin/check-ignore.c:18 builtin/checkout.c:1140 builtin/gc.c:332
 msgid "suppress progress reporting"
 msgstr ""
 
@@ -5024,9 +5308,9 @@
 msgstr ""
 
 #: builtin/checkout-index.c:174 builtin/column.c:30
-#: builtin/submodule--helper.c:595 builtin/submodule--helper.c:598
-#: builtin/submodule--helper.c:604 builtin/submodule--helper.c:951
-#: builtin/worktree.c:469
+#: builtin/submodule--helper.c:597 builtin/submodule--helper.c:600
+#: builtin/submodule--helper.c:606 builtin/submodule--helper.c:967
+#: builtin/worktree.c:471
 msgid "string"
 msgstr ""
 
@@ -5101,50 +5385,50 @@
 msgid "you need to resolve your current index first"
 msgstr ""
 
-#: builtin/checkout.c:624
+#: builtin/checkout.c:625
 #, c-format
 msgid "Can not do reflog for '%s': %s\n"
 msgstr ""
 
-#: builtin/checkout.c:663
+#: builtin/checkout.c:666
 msgid "HEAD is now at"
 msgstr ""
 
-#: builtin/checkout.c:667 builtin/clone.c:660
+#: builtin/checkout.c:670 builtin/clone.c:660
 msgid "unable to update HEAD"
 msgstr ""
 
-#: builtin/checkout.c:671
-#, c-format
-msgid "Reset branch '%s'\n"
-msgstr ""
-
 #: builtin/checkout.c:674
 #, c-format
+msgid "Reset branch '%s'\n"
+msgstr ""
+
+#: builtin/checkout.c:677
+#, c-format
 msgid "Already on '%s'\n"
 msgstr ""
 
-#: builtin/checkout.c:678
+#: builtin/checkout.c:681
 #, c-format
 msgid "Switched to and reset branch '%s'\n"
 msgstr ""
 
-#: builtin/checkout.c:680 builtin/checkout.c:1069
+#: builtin/checkout.c:683 builtin/checkout.c:1072
 #, c-format
 msgid "Switched to a new branch '%s'\n"
 msgstr ""
 
-#: builtin/checkout.c:682
+#: builtin/checkout.c:685
 #, c-format
 msgid "Switched to branch '%s'\n"
 msgstr ""
 
-#: builtin/checkout.c:733
+#: builtin/checkout.c:736
 #, c-format
 msgid " ... and %d more.\n"
 msgstr ""
 
-#: builtin/checkout.c:739
+#: builtin/checkout.c:742
 #, c-format
 msgid ""
 "Warning: you are leaving %d commit behind, not connected to\n"
@@ -5159,7 +5443,7 @@
 msgstr[0] ""
 msgstr[1] ""
 
-#: builtin/checkout.c:758
+#: builtin/checkout.c:761
 #, c-format
 msgid ""
 "If you want to keep it by creating a new branch, this may be a good time\n"
@@ -5176,162 +5460,162 @@
 msgstr[0] ""
 msgstr[1] ""
 
-#: builtin/checkout.c:794
+#: builtin/checkout.c:797
 msgid "internal error in revision walk"
 msgstr ""
 
-#: builtin/checkout.c:798
+#: builtin/checkout.c:801
 msgid "Previous HEAD position was"
 msgstr ""
 
-#: builtin/checkout.c:825 builtin/checkout.c:1064
+#: builtin/checkout.c:828 builtin/checkout.c:1067
 msgid "You are on a branch yet to be born"
 msgstr ""
 
-#: builtin/checkout.c:970
+#: builtin/checkout.c:973
 #, c-format
 msgid "only one reference expected, %d given."
 msgstr ""
 
-#: builtin/checkout.c:1010 builtin/worktree.c:214
+#: builtin/checkout.c:1013 builtin/worktree.c:214
 #, c-format
 msgid "invalid reference: %s"
 msgstr ""
 
-#: builtin/checkout.c:1039
+#: builtin/checkout.c:1042
 #, c-format
 msgid "reference is not a tree: %s"
 msgstr ""
 
-#: builtin/checkout.c:1078
+#: builtin/checkout.c:1081
 msgid "paths cannot be used with switching branches"
 msgstr ""
 
-#: builtin/checkout.c:1081 builtin/checkout.c:1085
+#: builtin/checkout.c:1084 builtin/checkout.c:1088
 #, c-format
 msgid "'%s' cannot be used with switching branches"
 msgstr ""
 
-#: builtin/checkout.c:1089 builtin/checkout.c:1092 builtin/checkout.c:1097
-#: builtin/checkout.c:1100
+#: builtin/checkout.c:1092 builtin/checkout.c:1095 builtin/checkout.c:1100
+#: builtin/checkout.c:1103
 #, c-format
 msgid "'%s' cannot be used with '%s'"
 msgstr ""
 
-#: builtin/checkout.c:1105
+#: builtin/checkout.c:1108
 #, c-format
 msgid "Cannot switch branch to a non-commit '%s'"
 msgstr ""
 
-#: builtin/checkout.c:1138 builtin/checkout.c:1140 builtin/clone.c:93
+#: builtin/checkout.c:1141 builtin/checkout.c:1143 builtin/clone.c:93
 #: builtin/remote.c:165 builtin/remote.c:167 builtin/worktree.c:324
 #: builtin/worktree.c:326
 msgid "branch"
 msgstr ""
 
-#: builtin/checkout.c:1139
+#: builtin/checkout.c:1142
 msgid "create and checkout a new branch"
 msgstr ""
 
-#: builtin/checkout.c:1141
+#: builtin/checkout.c:1144
 msgid "create/reset and checkout a branch"
 msgstr ""
 
-#: builtin/checkout.c:1142
+#: builtin/checkout.c:1145
 msgid "create reflog for new branch"
 msgstr ""
 
-#: builtin/checkout.c:1143 builtin/worktree.c:328
+#: builtin/checkout.c:1146 builtin/worktree.c:328
 msgid "detach HEAD at named commit"
 msgstr ""
 
-#: builtin/checkout.c:1144
+#: builtin/checkout.c:1147
 msgid "set upstream info for new branch"
 msgstr ""
 
-#: builtin/checkout.c:1146
+#: builtin/checkout.c:1149
 msgid "new-branch"
 msgstr ""
 
-#: builtin/checkout.c:1146
+#: builtin/checkout.c:1149
 msgid "new unparented branch"
 msgstr ""
 
-#: builtin/checkout.c:1147
+#: builtin/checkout.c:1150
 msgid "checkout our version for unmerged files"
 msgstr ""
 
-#: builtin/checkout.c:1149
+#: builtin/checkout.c:1152
 msgid "checkout their version for unmerged files"
 msgstr ""
 
-#: builtin/checkout.c:1151
+#: builtin/checkout.c:1154
 msgid "force checkout (throw away local modifications)"
 msgstr ""
 
-#: builtin/checkout.c:1152
+#: builtin/checkout.c:1155
 msgid "perform a 3-way merge with the new branch"
 msgstr ""
 
-#: builtin/checkout.c:1153 builtin/merge.c:231
+#: builtin/checkout.c:1156 builtin/merge.c:235
 msgid "update ignored files (default)"
 msgstr ""
 
-#: builtin/checkout.c:1154 builtin/log.c:1466 parse-options.h:251
+#: builtin/checkout.c:1157 builtin/log.c:1466 parse-options.h:251
 msgid "style"
 msgstr ""
 
-#: builtin/checkout.c:1155
+#: builtin/checkout.c:1158
 msgid "conflict style (merge or diff3)"
 msgstr ""
 
-#: builtin/checkout.c:1158
+#: builtin/checkout.c:1161
 msgid "do not limit pathspecs to sparse entries only"
 msgstr ""
 
-#: builtin/checkout.c:1160
+#: builtin/checkout.c:1163
 msgid "second guess 'git checkout <no-such-branch>'"
 msgstr ""
 
-#: builtin/checkout.c:1162
+#: builtin/checkout.c:1165
 msgid "do not check if another worktree is holding the given ref"
 msgstr ""
 
-#: builtin/checkout.c:1163 builtin/clone.c:63 builtin/fetch.c:119
-#: builtin/merge.c:228 builtin/pull.c:117 builtin/push.c:536
+#: builtin/checkout.c:1166 builtin/clone.c:63 builtin/fetch.c:119
+#: builtin/merge.c:232 builtin/pull.c:117 builtin/push.c:539
 #: builtin/send-pack.c:168
 msgid "force progress reporting"
 msgstr ""
 
-#: builtin/checkout.c:1194
+#: builtin/checkout.c:1197
 msgid "-b, -B and --orphan are mutually exclusive"
 msgstr ""
 
-#: builtin/checkout.c:1211
+#: builtin/checkout.c:1214
 msgid "--track needs a branch name"
 msgstr ""
 
-#: builtin/checkout.c:1216
+#: builtin/checkout.c:1219
 msgid "Missing branch name; try -b"
 msgstr ""
 
-#: builtin/checkout.c:1252
+#: builtin/checkout.c:1255
 msgid "invalid path specification"
 msgstr ""
 
-#: builtin/checkout.c:1259
+#: builtin/checkout.c:1262
 #, c-format
 msgid ""
 "Cannot update paths and switch to branch '%s' at the same time.\n"
 "Did you intend to checkout '%s' which can not be resolved as commit?"
 msgstr ""
 
-#: builtin/checkout.c:1264
+#: builtin/checkout.c:1267
 #, c-format
 msgid "git checkout: --detach does not take a path argument '%s'"
 msgstr ""
 
-#: builtin/checkout.c:1268
+#: builtin/checkout.c:1271
 msgid ""
 "git checkout: --ours/--theirs, --force and --merge are incompatible when\n"
 "checking out of the index."
@@ -5367,15 +5651,17 @@
 msgid "failed to remove %s"
 msgstr ""
 
-#: builtin/clean.c:291
+#: builtin/clean.c:291 git-add--interactive.perl:623
+#, c-format
 msgid ""
 "Prompt help:\n"
 "1          - select a numbered item\n"
 "foo        - select item based on unique prefix\n"
-"           - (empty) select nothing"
+"           - (empty) select nothing\n"
 msgstr ""
 
-#: builtin/clean.c:295
+#: builtin/clean.c:295 git-add--interactive.perl:632
+#, c-format
 msgid ""
 "Prompt help:\n"
 "1          - select a single item\n"
@@ -5384,12 +5670,13 @@
 "foo        - select item based on unique prefix\n"
 "-...       - unselect specified items\n"
 "*          - choose all items\n"
-"           - (empty) finish selecting"
+"           - (empty) finish selecting\n"
 msgstr ""
 
-#: builtin/clean.c:511
-#, c-format
-msgid "Huh (%s)?"
+#: builtin/clean.c:511 git-add--interactive.perl:598
+#: git-add--interactive.perl:603
+#, c-format, perl-format
+msgid "Huh (%s)?\n"
 msgstr ""
 
 #: builtin/clean.c:653
@@ -5412,8 +5699,9 @@
 msgid "Remove %s [y/N]? "
 msgstr ""
 
-#: builtin/clean.c:777
-msgid "Bye."
+#: builtin/clean.c:777 git-add--interactive.perl:1669
+#, c-format
+msgid "Bye.\n"
 msgstr ""
 
 #: builtin/clean.c:785
@@ -5427,11 +5715,11 @@
 "?                   - help for prompt selection"
 msgstr ""
 
-#: builtin/clean.c:812
+#: builtin/clean.c:812 git-add--interactive.perl:1745
 msgid "*** Commands ***"
 msgstr ""
 
-#: builtin/clean.c:813
+#: builtin/clean.c:813 git-add--interactive.perl:1742
 msgid "What now"
 msgstr ""
 
@@ -5461,8 +5749,8 @@
 msgid "remove whole directories"
 msgstr ""
 
-#: builtin/clean.c:875 builtin/describe.c:407 builtin/grep.c:725
-#: builtin/ls-files.c:536 builtin/name-rev.c:313 builtin/show-ref.c:182
+#: builtin/clean.c:875 builtin/describe.c:407 builtin/grep.c:1056
+#: builtin/ls-files.c:538 builtin/name-rev.c:313 builtin/show-ref.c:176
 msgid "pattern"
 msgstr ""
 
@@ -5538,8 +5826,8 @@
 msgid "directory from which templates will be used"
 msgstr ""
 
-#: builtin/clone.c:86 builtin/clone.c:88 builtin/submodule--helper.c:602
-#: builtin/submodule--helper.c:954
+#: builtin/clone.c:86 builtin/clone.c:88 builtin/submodule--helper.c:604
+#: builtin/submodule--helper.c:970
 msgid "reference repository"
 msgstr ""
 
@@ -5563,7 +5851,7 @@
 msgid "path to git-upload-pack on the remote"
 msgstr ""
 
-#: builtin/clone.c:97 builtin/fetch.c:120 builtin/grep.c:668
+#: builtin/clone.c:97 builtin/fetch.c:120 builtin/grep.c:999
 #: builtin/pull.c:202
 msgid "depth"
 msgstr ""
@@ -5572,7 +5860,7 @@
 msgid "create a shallow clone of that depth"
 msgstr ""
 
-#: builtin/clone.c:99 builtin/fetch.c:122 builtin/pack-objects.c:2848
+#: builtin/clone.c:99 builtin/fetch.c:122 builtin/pack-objects.c:2836
 #: parse-options.h:142
 msgid "time"
 msgstr ""
@@ -5586,7 +5874,7 @@
 msgstr ""
 
 #: builtin/clone.c:102 builtin/fetch.c:125
-msgid "deepen history of shallow clone by excluding rev"
+msgid "deepen history of shallow clone, excluding rev"
 msgstr ""
 
 #: builtin/clone.c:104
@@ -5613,11 +5901,11 @@
 msgid "set config inside the new repository"
 msgstr ""
 
-#: builtin/clone.c:111 builtin/fetch.c:140 builtin/push.c:547
+#: builtin/clone.c:111 builtin/fetch.c:140 builtin/push.c:550
 msgid "use IPv4 addresses only"
 msgstr ""
 
-#: builtin/clone.c:113 builtin/fetch.c:142 builtin/push.c:549
+#: builtin/clone.c:113 builtin/fetch.c:142 builtin/push.c:552
 msgid "use IPv6 addresses only"
 msgstr ""
 
@@ -5725,7 +6013,7 @@
 msgid "repository '%s' does not exist"
 msgstr ""
 
-#: builtin/clone.c:905 builtin/fetch.c:1338
+#: builtin/clone.c:905 builtin/fetch.c:1335
 #, c-format
 msgid "depth %s is not a positive number"
 msgstr ""
@@ -5740,8 +6028,9 @@
 msgid "working tree '%s' already exists."
 msgstr ""
 
-#: builtin/clone.c:940 builtin/clone.c:951 builtin/submodule--helper.c:657
-#: builtin/worktree.c:222 builtin/worktree.c:249
+#: builtin/clone.c:940 builtin/clone.c:951 builtin/difftool.c:252
+#: builtin/submodule--helper.c:659 builtin/worktree.c:222
+#: builtin/worktree.c:249
 #, c-format
 msgid "could not create leading directories of '%s'"
 msgstr ""
@@ -5970,7 +6259,7 @@
 msgid "could not lookup commit %s"
 msgstr ""
 
-#: builtin/commit.c:704 builtin/shortlog.c:286
+#: builtin/commit.c:704 builtin/shortlog.c:295
 #, c-format
 msgid "(reading log message from standard input)\n"
 msgstr ""
@@ -6054,7 +6343,7 @@
 msgid "Error building trees"
 msgstr ""
 
-#: builtin/commit.c:969 builtin/tag.c:266
+#: builtin/commit.c:968 builtin/tag.c:280
 #, c-format
 msgid "Please supply the message using either -m or -F option.\n"
 msgstr ""
@@ -6064,7 +6353,7 @@
 msgid "--author '%s' is not 'Name <email>' and matches no existing author"
 msgstr ""
 
-#: builtin/commit.c:1086 builtin/commit.c:1327
+#: builtin/commit.c:1086 builtin/commit.c:1325
 #, c-format
 msgid "Invalid untracked files mode '%s'"
 msgstr ""
@@ -6114,262 +6403,258 @@
 msgstr ""
 
 #: builtin/commit.c:1212
-msgid "Clever... amending the last one with dirty index."
-msgstr ""
-
-#: builtin/commit.c:1214
 msgid "Explicit paths specified without -i or -o; assuming --only paths..."
 msgstr ""
 
-#: builtin/commit.c:1226 builtin/tag.c:474
+#: builtin/commit.c:1224 builtin/tag.c:495
 #, c-format
 msgid "Invalid cleanup mode %s"
 msgstr ""
 
-#: builtin/commit.c:1231
+#: builtin/commit.c:1229
 msgid "Paths with -a does not make sense."
 msgstr ""
 
-#: builtin/commit.c:1341 builtin/commit.c:1617
+#: builtin/commit.c:1339 builtin/commit.c:1612
 msgid "show status concisely"
 msgstr ""
 
-#: builtin/commit.c:1343 builtin/commit.c:1619
+#: builtin/commit.c:1341 builtin/commit.c:1614
 msgid "show branch information"
 msgstr ""
 
-#: builtin/commit.c:1345
+#: builtin/commit.c:1343
 msgid "version"
 msgstr ""
 
-#: builtin/commit.c:1345 builtin/commit.c:1621 builtin/push.c:522
-#: builtin/worktree.c:440
+#: builtin/commit.c:1343 builtin/commit.c:1616 builtin/push.c:525
+#: builtin/worktree.c:442
 msgid "machine-readable output"
 msgstr ""
 
-#: builtin/commit.c:1348 builtin/commit.c:1623
+#: builtin/commit.c:1346 builtin/commit.c:1618
 msgid "show status in long format (default)"
 msgstr ""
 
-#: builtin/commit.c:1351 builtin/commit.c:1626
+#: builtin/commit.c:1349 builtin/commit.c:1621
 msgid "terminate entries with NUL"
 msgstr ""
 
-#: builtin/commit.c:1353 builtin/commit.c:1629 builtin/fast-export.c:981
-#: builtin/fast-export.c:984 builtin/tag.c:353
+#: builtin/commit.c:1351 builtin/commit.c:1624 builtin/fast-export.c:981
+#: builtin/fast-export.c:984 builtin/tag.c:368
 msgid "mode"
 msgstr ""
 
-#: builtin/commit.c:1354 builtin/commit.c:1629
+#: builtin/commit.c:1352 builtin/commit.c:1624
 msgid "show untracked files, optional modes: all, normal, no. (Default: all)"
 msgstr ""
 
-#: builtin/commit.c:1357
+#: builtin/commit.c:1355
 msgid "show ignored files"
 msgstr ""
 
-#: builtin/commit.c:1358 parse-options.h:155
+#: builtin/commit.c:1356 parse-options.h:155
 msgid "when"
 msgstr ""
 
-#: builtin/commit.c:1359
+#: builtin/commit.c:1357
 msgid ""
 "ignore changes to submodules, optional when: all, dirty, untracked. "
 "(Default: all)"
 msgstr ""
 
-#: builtin/commit.c:1361
+#: builtin/commit.c:1359
 msgid "list untracked files in columns"
 msgstr ""
 
-#: builtin/commit.c:1437
+#: builtin/commit.c:1435
 msgid "couldn't look up newly created commit"
 msgstr ""
 
-#: builtin/commit.c:1439
+#: builtin/commit.c:1437
 msgid "could not parse newly created commit"
 msgstr ""
 
-#: builtin/commit.c:1484
+#: builtin/commit.c:1482
 msgid "detached HEAD"
 msgstr ""
 
-#: builtin/commit.c:1487
+#: builtin/commit.c:1485
 msgid " (root-commit)"
 msgstr ""
 
-#: builtin/commit.c:1587
+#: builtin/commit.c:1582
 msgid "suppress summary after successful commit"
 msgstr ""
 
-#: builtin/commit.c:1588
+#: builtin/commit.c:1583
 msgid "show diff in commit message template"
 msgstr ""
 
-#: builtin/commit.c:1590
+#: builtin/commit.c:1585
 msgid "Commit message options"
 msgstr ""
 
-#: builtin/commit.c:1591 builtin/tag.c:351
+#: builtin/commit.c:1586 builtin/tag.c:366
 msgid "read message from file"
 msgstr ""
 
-#: builtin/commit.c:1592
+#: builtin/commit.c:1587
 msgid "author"
 msgstr ""
 
-#: builtin/commit.c:1592
+#: builtin/commit.c:1587
 msgid "override author for commit"
 msgstr ""
 
-#: builtin/commit.c:1593 builtin/gc.c:326
+#: builtin/commit.c:1588 builtin/gc.c:333
 msgid "date"
 msgstr ""
 
-#: builtin/commit.c:1593
+#: builtin/commit.c:1588
 msgid "override date for commit"
 msgstr ""
 
-#: builtin/commit.c:1594 builtin/merge.c:220 builtin/notes.c:398
-#: builtin/notes.c:561 builtin/tag.c:349
+#: builtin/commit.c:1589 builtin/merge.c:222 builtin/notes.c:398
+#: builtin/notes.c:561 builtin/tag.c:364
 msgid "message"
 msgstr ""
 
-#: builtin/commit.c:1594
+#: builtin/commit.c:1589
 msgid "commit message"
 msgstr ""
 
-#: builtin/commit.c:1595 builtin/commit.c:1596 builtin/commit.c:1597
-#: builtin/commit.c:1598 parse-options.h:257 ref-filter.h:79
+#: builtin/commit.c:1590 builtin/commit.c:1591 builtin/commit.c:1592
+#: builtin/commit.c:1593 parse-options.h:257 ref-filter.h:81
 msgid "commit"
 msgstr ""
 
-#: builtin/commit.c:1595
+#: builtin/commit.c:1590
 msgid "reuse and edit message from specified commit"
 msgstr ""
 
-#: builtin/commit.c:1596
+#: builtin/commit.c:1591
 msgid "reuse message from specified commit"
 msgstr ""
 
-#: builtin/commit.c:1597
+#: builtin/commit.c:1592
 msgid "use autosquash formatted message to fixup specified commit"
 msgstr ""
 
-#: builtin/commit.c:1598
+#: builtin/commit.c:1593
 msgid "use autosquash formatted message to squash specified commit"
 msgstr ""
 
-#: builtin/commit.c:1599
+#: builtin/commit.c:1594
 msgid "the commit is authored by me now (used with -C/-c/--amend)"
 msgstr ""
 
-#: builtin/commit.c:1600 builtin/log.c:1413 builtin/revert.c:86
+#: builtin/commit.c:1595 builtin/log.c:1413 builtin/revert.c:86
 msgid "add Signed-off-by:"
 msgstr ""
 
-#: builtin/commit.c:1601
+#: builtin/commit.c:1596
 msgid "use specified template file"
 msgstr ""
 
-#: builtin/commit.c:1602
+#: builtin/commit.c:1597
 msgid "force edit of commit"
 msgstr ""
 
-#: builtin/commit.c:1603
+#: builtin/commit.c:1598
 msgid "default"
 msgstr ""
 
-#: builtin/commit.c:1603 builtin/tag.c:354
+#: builtin/commit.c:1598 builtin/tag.c:369
 msgid "how to strip spaces and #comments from message"
 msgstr ""
 
-#: builtin/commit.c:1604
+#: builtin/commit.c:1599
 msgid "include status in commit message template"
 msgstr ""
 
-#: builtin/commit.c:1606 builtin/merge.c:230 builtin/pull.c:166
+#: builtin/commit.c:1601 builtin/merge.c:234 builtin/pull.c:166
 #: builtin/revert.c:93
 msgid "GPG sign commit"
 msgstr ""
 
-#: builtin/commit.c:1609
+#: builtin/commit.c:1604
 msgid "Commit contents options"
 msgstr ""
 
-#: builtin/commit.c:1610
+#: builtin/commit.c:1605
 msgid "commit all changed files"
 msgstr ""
 
-#: builtin/commit.c:1611
+#: builtin/commit.c:1606
 msgid "add specified files to index for commit"
 msgstr ""
 
-#: builtin/commit.c:1612
+#: builtin/commit.c:1607
 msgid "interactively add files"
 msgstr ""
 
-#: builtin/commit.c:1613
+#: builtin/commit.c:1608
 msgid "interactively add changes"
 msgstr ""
 
-#: builtin/commit.c:1614
+#: builtin/commit.c:1609
 msgid "commit only specified files"
 msgstr ""
 
-#: builtin/commit.c:1615
+#: builtin/commit.c:1610
 msgid "bypass pre-commit and commit-msg hooks"
 msgstr ""
 
-#: builtin/commit.c:1616
+#: builtin/commit.c:1611
 msgid "show what would be committed"
 msgstr ""
 
-#: builtin/commit.c:1627
+#: builtin/commit.c:1622
 msgid "amend previous commit"
 msgstr ""
 
-#: builtin/commit.c:1628
+#: builtin/commit.c:1623
 msgid "bypass post-rewrite hook"
 msgstr ""
 
-#: builtin/commit.c:1633
+#: builtin/commit.c:1628
 msgid "ok to record an empty change"
 msgstr ""
 
-#: builtin/commit.c:1635
+#: builtin/commit.c:1630
 msgid "ok to record a change with an empty message"
 msgstr ""
 
-#: builtin/commit.c:1664
+#: builtin/commit.c:1659
 msgid "could not parse HEAD commit"
 msgstr ""
 
-#: builtin/commit.c:1712
+#: builtin/commit.c:1707
 #, c-format
 msgid "Corrupt MERGE_HEAD file (%s)"
 msgstr ""
 
-#: builtin/commit.c:1719
+#: builtin/commit.c:1714
 msgid "could not read MERGE_MODE"
 msgstr ""
 
-#: builtin/commit.c:1738
+#: builtin/commit.c:1733
 #, c-format
 msgid "could not read commit message: %s"
 msgstr ""
 
-#: builtin/commit.c:1749
+#: builtin/commit.c:1744
 #, c-format
 msgid "Aborting commit; you did not edit the message.\n"
 msgstr ""
 
-#: builtin/commit.c:1754
+#: builtin/commit.c:1749
 #, c-format
 msgid "Aborting commit due to empty commit message.\n"
 msgstr ""
 
-#: builtin/commit.c:1802
+#: builtin/commit.c:1797
 msgid ""
 "Repository has been updated, but unable to write\n"
 "new_index file. Check that disk is not full and quota is\n"
@@ -6676,35 +6961,118 @@
 msgid "--dirty is incompatible with commit-ishes"
 msgstr ""
 
-#: builtin/diff.c:86
+#: builtin/diff.c:83
 #, c-format
 msgid "'%s': not a regular file or symlink"
 msgstr ""
 
-#: builtin/diff.c:237
+#: builtin/diff.c:234
 #, c-format
 msgid "invalid option: %s"
 msgstr ""
 
-#: builtin/diff.c:361
+#: builtin/diff.c:358
 msgid "Not a git repository"
 msgstr ""
 
-#: builtin/diff.c:404
+#: builtin/diff.c:401
 #, c-format
 msgid "invalid object '%s' given."
 msgstr ""
 
-#: builtin/diff.c:413
+#: builtin/diff.c:410
 #, c-format
 msgid "more than two blobs given: '%s'"
 msgstr ""
 
-#: builtin/diff.c:420
+#: builtin/diff.c:417
 #, c-format
 msgid "unhandled object '%s' given."
 msgstr ""
 
+#: builtin/difftool.c:28
+msgid "git difftool [<options>] [<commit> [<commit>]] [--] [<path>...]"
+msgstr ""
+
+#: builtin/difftool.c:241
+#, c-format
+msgid "failed: %d"
+msgstr ""
+
+#: builtin/difftool.c:342
+msgid ""
+"combined diff formats('-c' and '--cc') are not supported in\n"
+"directory diff mode('-d' and '--dir-diff')."
+msgstr ""
+
+#: builtin/difftool.c:567
+#, c-format
+msgid "both files modified: '%s' and '%s'."
+msgstr ""
+
+#: builtin/difftool.c:569
+msgid "working tree file has been left."
+msgstr ""
+
+#: builtin/difftool.c:580
+#, c-format
+msgid "temporary files exist in '%s'."
+msgstr ""
+
+#: builtin/difftool.c:581
+msgid "you may want to cleanup or recover these."
+msgstr ""
+
+#: builtin/difftool.c:626
+msgid "use `diff.guitool` instead of `diff.tool`"
+msgstr ""
+
+#: builtin/difftool.c:628
+msgid "perform a full-directory diff"
+msgstr ""
+
+#: builtin/difftool.c:630
+msgid "do not prompt before launching a diff tool"
+msgstr ""
+
+#: builtin/difftool.c:636
+msgid "use symlinks in dir-diff mode"
+msgstr ""
+
+#: builtin/difftool.c:637
+msgid "<tool>"
+msgstr ""
+
+#: builtin/difftool.c:638
+msgid "use the specified diff tool"
+msgstr ""
+
+#: builtin/difftool.c:640
+msgid "print a list of diff tools that may be used with `--tool`"
+msgstr ""
+
+#: builtin/difftool.c:643
+msgid ""
+"make 'git-difftool' exit when an invoked diff tool returns a non - zero exit "
+"code"
+msgstr ""
+
+#: builtin/difftool.c:645
+msgid "<command>"
+msgstr ""
+
+#: builtin/difftool.c:646
+msgid "specify a custom command for viewing diffs"
+msgstr ""
+
+#: builtin/difftool.c:670
+msgid "no <tool> given for --tool=<tool>"
+msgstr ""
+
+#: builtin/difftool.c:677
+msgid "no <cmd> given for --extcmd=<cmd>"
+msgstr ""
+
 #: builtin/fast-export.c:25
 msgid "git fast-export [rev-list-opts]"
 msgstr ""
@@ -6861,171 +7229,171 @@
 msgid "specify fetch refmap"
 msgstr ""
 
-#: builtin/fetch.c:398
+#: builtin/fetch.c:395
 msgid "Couldn't find remote ref HEAD"
 msgstr ""
 
-#: builtin/fetch.c:514
+#: builtin/fetch.c:511
 #, c-format
 msgid "configuration fetch.output contains invalid value %s"
 msgstr ""
 
-#: builtin/fetch.c:607
+#: builtin/fetch.c:604
 #, c-format
 msgid "object %s not found"
 msgstr ""
 
-#: builtin/fetch.c:611
+#: builtin/fetch.c:608
 msgid "[up to date]"
 msgstr ""
 
-#: builtin/fetch.c:624 builtin/fetch.c:704
+#: builtin/fetch.c:621 builtin/fetch.c:701
 msgid "[rejected]"
 msgstr ""
 
-#: builtin/fetch.c:625
+#: builtin/fetch.c:622
 msgid "can't fetch in current branch"
 msgstr ""
 
-#: builtin/fetch.c:634
+#: builtin/fetch.c:631
 msgid "[tag update]"
 msgstr ""
 
-#: builtin/fetch.c:635 builtin/fetch.c:668 builtin/fetch.c:684
-#: builtin/fetch.c:699
+#: builtin/fetch.c:632 builtin/fetch.c:665 builtin/fetch.c:681
+#: builtin/fetch.c:696
 msgid "unable to update local ref"
 msgstr ""
 
-#: builtin/fetch.c:654
+#: builtin/fetch.c:651
 msgid "[new tag]"
 msgstr ""
 
-#: builtin/fetch.c:657
+#: builtin/fetch.c:654
 msgid "[new branch]"
 msgstr ""
 
-#: builtin/fetch.c:660
+#: builtin/fetch.c:657
 msgid "[new ref]"
 msgstr ""
 
-#: builtin/fetch.c:699
+#: builtin/fetch.c:696
 msgid "forced update"
 msgstr ""
 
-#: builtin/fetch.c:704
+#: builtin/fetch.c:701
 msgid "non-fast-forward"
 msgstr ""
 
-#: builtin/fetch.c:749
+#: builtin/fetch.c:746
 #, c-format
 msgid "%s did not send all necessary objects\n"
 msgstr ""
 
-#: builtin/fetch.c:769
+#: builtin/fetch.c:766
 #, c-format
 msgid "reject %s because shallow roots are not allowed to be updated"
 msgstr ""
 
-#: builtin/fetch.c:856 builtin/fetch.c:952
+#: builtin/fetch.c:853 builtin/fetch.c:949
 #, c-format
 msgid "From %.*s\n"
 msgstr ""
 
-#: builtin/fetch.c:867
+#: builtin/fetch.c:864
 #, c-format
 msgid ""
 "some local refs could not be updated; try running\n"
 " 'git remote prune %s' to remove any old, conflicting branches"
 msgstr ""
 
-#: builtin/fetch.c:922
+#: builtin/fetch.c:919
 #, c-format
 msgid "   (%s will become dangling)"
 msgstr ""
 
-#: builtin/fetch.c:923
+#: builtin/fetch.c:920
 #, c-format
 msgid "   (%s has become dangling)"
 msgstr ""
 
-#: builtin/fetch.c:955
+#: builtin/fetch.c:952
 msgid "[deleted]"
 msgstr ""
 
-#: builtin/fetch.c:956 builtin/remote.c:1020
+#: builtin/fetch.c:953 builtin/remote.c:1020
 msgid "(none)"
 msgstr ""
 
-#: builtin/fetch.c:979
+#: builtin/fetch.c:976
 #, c-format
 msgid "Refusing to fetch into current branch %s of non-bare repository"
 msgstr ""
 
-#: builtin/fetch.c:998
+#: builtin/fetch.c:995
 #, c-format
 msgid "Option \"%s\" value \"%s\" is not valid for %s"
 msgstr ""
 
-#: builtin/fetch.c:1001
+#: builtin/fetch.c:998
 #, c-format
 msgid "Option \"%s\" is ignored for %s\n"
 msgstr ""
 
-#: builtin/fetch.c:1077
+#: builtin/fetch.c:1074
 #, c-format
 msgid "Don't know how to fetch from %s"
 msgstr ""
 
-#: builtin/fetch.c:1237
+#: builtin/fetch.c:1234
 #, c-format
 msgid "Fetching %s\n"
 msgstr ""
 
-#: builtin/fetch.c:1239 builtin/remote.c:96
+#: builtin/fetch.c:1236 builtin/remote.c:96
 #, c-format
 msgid "Could not fetch %s"
 msgstr ""
 
-#: builtin/fetch.c:1257
+#: builtin/fetch.c:1254
 msgid ""
 "No remote repository specified.  Please, specify either a URL or a\n"
 "remote name from which new revisions should be fetched."
 msgstr ""
 
-#: builtin/fetch.c:1280
+#: builtin/fetch.c:1277
 msgid "You need to specify a tag name."
 msgstr ""
 
-#: builtin/fetch.c:1322
+#: builtin/fetch.c:1319
 msgid "Negative depth in --deepen is not supported"
 msgstr ""
 
-#: builtin/fetch.c:1324
+#: builtin/fetch.c:1321
 msgid "--deepen and --depth are mutually exclusive"
 msgstr ""
 
-#: builtin/fetch.c:1329
+#: builtin/fetch.c:1326
 msgid "--depth and --unshallow cannot be used together"
 msgstr ""
 
-#: builtin/fetch.c:1331
+#: builtin/fetch.c:1328
 msgid "--unshallow on a complete repository does not make sense"
 msgstr ""
 
-#: builtin/fetch.c:1353
+#: builtin/fetch.c:1350
 msgid "fetch --all does not take a repository argument"
 msgstr ""
 
-#: builtin/fetch.c:1355
+#: builtin/fetch.c:1352
 msgid "fetch --all does not make sense with refspecs"
 msgstr ""
 
-#: builtin/fetch.c:1366
+#: builtin/fetch.c:1363
 #, c-format
 msgid "No such remote or remote group: %s"
 msgstr ""
 
-#: builtin/fetch.c:1374
+#: builtin/fetch.c:1371
 msgid "Fetching a group and specifying refspecs does not make sense"
 msgstr ""
 
@@ -7090,7 +7458,7 @@
 msgid "show only <n> matched refs"
 msgstr ""
 
-#: builtin/for-each-ref.c:37 builtin/tag.c:372
+#: builtin/for-each-ref.c:37 builtin/tag.c:387 builtin/verify-tag.c:38
 msgid "format to use for the output"
 msgstr ""
 
@@ -7110,63 +7478,63 @@
 msgid "print only refs which contain the commit"
 msgstr ""
 
-#: builtin/fsck.c:519
+#: builtin/fsck.c:554
 msgid "Checking object directories"
 msgstr ""
 
-#: builtin/fsck.c:588
+#: builtin/fsck.c:646
 msgid "git fsck [<options>] [<object>...]"
 msgstr ""
 
-#: builtin/fsck.c:594
+#: builtin/fsck.c:652
 msgid "show unreachable objects"
 msgstr ""
 
-#: builtin/fsck.c:595
+#: builtin/fsck.c:653
 msgid "show dangling objects"
 msgstr ""
 
-#: builtin/fsck.c:596
+#: builtin/fsck.c:654
 msgid "report tags"
 msgstr ""
 
-#: builtin/fsck.c:597
+#: builtin/fsck.c:655
 msgid "report root nodes"
 msgstr ""
 
-#: builtin/fsck.c:598
+#: builtin/fsck.c:656
 msgid "make index objects head nodes"
 msgstr ""
 
-#: builtin/fsck.c:599
+#: builtin/fsck.c:657
 msgid "make reflogs head nodes (default)"
 msgstr ""
 
-#: builtin/fsck.c:600
+#: builtin/fsck.c:658
 msgid "also consider packs and alternate objects"
 msgstr ""
 
-#: builtin/fsck.c:601
+#: builtin/fsck.c:659
 msgid "check only connectivity"
 msgstr ""
 
-#: builtin/fsck.c:602
+#: builtin/fsck.c:660
 msgid "enable more strict checking"
 msgstr ""
 
-#: builtin/fsck.c:604
+#: builtin/fsck.c:662
 msgid "write dangling objects in .git/lost-found"
 msgstr ""
 
-#: builtin/fsck.c:605 builtin/prune.c:107
+#: builtin/fsck.c:663 builtin/prune.c:107
 msgid "show progress"
 msgstr ""
 
-#: builtin/fsck.c:606
+#: builtin/fsck.c:664
 msgid "show verbose names for reachable objects"
 msgstr ""
 
-#: builtin/fsck.c:665
+#: builtin/fsck.c:725
 msgid "Checking objects"
 msgstr ""
 
@@ -7184,7 +7552,7 @@
 msgid "insanely long object directory %.*s"
 msgstr ""
 
-#: builtin/gc.c:290
+#: builtin/gc.c:297
 #, c-format
 msgid ""
 "The last gc run reported the following. Please correct the root cause\n"
@@ -7194,275 +7562,291 @@
 "%s"
 msgstr ""
 
-#: builtin/gc.c:327
+#: builtin/gc.c:334
 msgid "prune unreferenced objects"
 msgstr ""
 
-#: builtin/gc.c:329
+#: builtin/gc.c:336
 msgid "be more thorough (increased runtime)"
 msgstr ""
 
-#: builtin/gc.c:330
+#: builtin/gc.c:337
 msgid "enable auto-gc mode"
 msgstr ""
 
-#: builtin/gc.c:331
+#: builtin/gc.c:338
 msgid "force running gc even if there may be another gc running"
 msgstr ""
 
-#: builtin/gc.c:373
+#: builtin/gc.c:380
 #, c-format
 msgid "Auto packing the repository in background for optimum performance.\n"
 msgstr ""
 
-#: builtin/gc.c:375
+#: builtin/gc.c:382
 #, c-format
 msgid "Auto packing the repository for optimum performance.\n"
 msgstr ""
 
-#: builtin/gc.c:376
+#: builtin/gc.c:383
 #, c-format
 msgid "See \"git help gc\" for manual housekeeping.\n"
 msgstr ""
 
-#: builtin/gc.c:397
+#: builtin/gc.c:404
 #, c-format
 msgid ""
 "gc is already running on machine '%s' pid %<PRIuMAX> (use --force if not)"
 msgstr ""
 
-#: builtin/gc.c:441
+#: builtin/gc.c:448
 msgid ""
 "There are too many unreachable loose objects; run 'git prune' to remove them."
 msgstr ""
 
-#: builtin/grep.c:23
+#: builtin/grep.c:25
 msgid "git grep [<options>] [-e] <pattern> [<rev>...] [[--] <path>...]"
 msgstr ""
 
-#: builtin/grep.c:219
+#: builtin/grep.c:232
 #, c-format
 msgid "grep: failed to create thread: %s"
 msgstr ""
 
-#: builtin/grep.c:277
+#: builtin/grep.c:290
 #, c-format
 msgid "invalid number of threads specified (%d) for %s"
 msgstr ""
 
-#: builtin/grep.c:453 builtin/grep.c:488
+#: builtin/grep.c:763 builtin/grep.c:804
 #, c-format
 msgid "unable to read tree (%s)"
 msgstr ""
 
-#: builtin/grep.c:503
+#: builtin/grep.c:823
 #, c-format
 msgid "unable to grep from object of type %s"
 msgstr ""
 
-#: builtin/grep.c:561
+#: builtin/grep.c:887
 #, c-format
 msgid "switch `%c' expects a numerical value"
 msgstr ""
 
-#: builtin/grep.c:647
+#: builtin/grep.c:973
 msgid "search in index instead of in the work tree"
 msgstr ""
 
-#: builtin/grep.c:649
+#: builtin/grep.c:975
 msgid "find in contents not managed by git"
 msgstr ""
 
-#: builtin/grep.c:651
+#: builtin/grep.c:977
 msgid "search in both tracked and untracked files"
 msgstr ""
 
-#: builtin/grep.c:653
+#: builtin/grep.c:979
 msgid "ignore files specified via '.gitignore'"
 msgstr ""
 
-#: builtin/grep.c:656
+#: builtin/grep.c:981
+msgid "recursivley search in each submodule"
+msgstr ""
+
+#: builtin/grep.c:983
+msgid "basename"
+msgstr ""
+
+#: builtin/grep.c:984
+msgid "prepend parent project's basename to output"
+msgstr ""
+
+#: builtin/grep.c:987
 msgid "show non-matching lines"
 msgstr ""
 
-#: builtin/grep.c:658
+#: builtin/grep.c:989
 msgid "case insensitive matching"
 msgstr ""
 
-#: builtin/grep.c:660
+#: builtin/grep.c:991
 msgid "match patterns only at word boundaries"
 msgstr ""
 
-#: builtin/grep.c:662
+#: builtin/grep.c:993
 msgid "process binary files as text"
 msgstr ""
 
-#: builtin/grep.c:664
+#: builtin/grep.c:995
 msgid "don't match patterns in binary files"
 msgstr ""
 
-#: builtin/grep.c:667
+#: builtin/grep.c:998
 msgid "process binary files with textconv filters"
 msgstr ""
 
-#: builtin/grep.c:669
+#: builtin/grep.c:1000
 msgid "descend at most <depth> levels"
 msgstr ""
 
-#: builtin/grep.c:673
+#: builtin/grep.c:1004
 msgid "use extended POSIX regular expressions"
 msgstr ""
 
-#: builtin/grep.c:676
+#: builtin/grep.c:1007
 msgid "use basic POSIX regular expressions (default)"
 msgstr ""
 
-#: builtin/grep.c:679
+#: builtin/grep.c:1010
 msgid "interpret patterns as fixed strings"
 msgstr ""
 
-#: builtin/grep.c:682
+#: builtin/grep.c:1013
 msgid "use Perl-compatible regular expressions"
 msgstr ""
 
-#: builtin/grep.c:685
+#: builtin/grep.c:1016
 msgid "show line numbers"
 msgstr ""
 
-#: builtin/grep.c:686
+#: builtin/grep.c:1017
 msgid "don't show filenames"
 msgstr ""
 
-#: builtin/grep.c:687
+#: builtin/grep.c:1018
 msgid "show filenames"
 msgstr ""
 
-#: builtin/grep.c:689
+#: builtin/grep.c:1020
 msgid "show filenames relative to top directory"
 msgstr ""
 
-#: builtin/grep.c:691
+#: builtin/grep.c:1022
 msgid "show only filenames instead of matching lines"
 msgstr ""
 
-#: builtin/grep.c:693
+#: builtin/grep.c:1024
 msgid "synonym for --files-with-matches"
 msgstr ""
 
-#: builtin/grep.c:696
+#: builtin/grep.c:1027
 msgid "show only the names of files without match"
 msgstr ""
 
-#: builtin/grep.c:698
+#: builtin/grep.c:1029
 msgid "print NUL after filenames"
 msgstr ""
 
-#: builtin/grep.c:700
+#: builtin/grep.c:1031
 msgid "show the number of matches instead of matching lines"
 msgstr ""
 
-#: builtin/grep.c:701
+#: builtin/grep.c:1032
 msgid "highlight matches"
 msgstr ""
 
-#: builtin/grep.c:703
+#: builtin/grep.c:1034
 msgid "print empty line between matches from different files"
 msgstr ""
 
-#: builtin/grep.c:705
+#: builtin/grep.c:1036
 msgid "show filename only once above matches from same file"
 msgstr ""
 
-#: builtin/grep.c:708
+#: builtin/grep.c:1039
 msgid "show <n> context lines before and after matches"
 msgstr ""
 
-#: builtin/grep.c:711
+#: builtin/grep.c:1042
 msgid "show <n> context lines before matches"
 msgstr ""
 
-#: builtin/grep.c:713
+#: builtin/grep.c:1044
 msgid "show <n> context lines after matches"
 msgstr ""
 
-#: builtin/grep.c:715
+#: builtin/grep.c:1046
 msgid "use <n> worker threads"
 msgstr ""
 
-#: builtin/grep.c:716
+#: builtin/grep.c:1047
 msgid "shortcut for -C NUM"
 msgstr ""
 
-#: builtin/grep.c:719
+#: builtin/grep.c:1050
 msgid "show a line with the function name before matches"
 msgstr ""
 
-#: builtin/grep.c:721
+#: builtin/grep.c:1052
 msgid "show the surrounding function"
 msgstr ""
 
-#: builtin/grep.c:724
+#: builtin/grep.c:1055
 msgid "read patterns from file"
 msgstr ""
 
-#: builtin/grep.c:726
+#: builtin/grep.c:1057
 msgid "match <pattern>"
 msgstr ""
 
-#: builtin/grep.c:728
+#: builtin/grep.c:1059
 msgid "combine patterns specified with -e"
 msgstr ""
 
-#: builtin/grep.c:740
+#: builtin/grep.c:1071
 msgid "indicate hit with exit status without output"
 msgstr ""
 
-#: builtin/grep.c:742
+#: builtin/grep.c:1073
 msgid "show only matches from files that match all patterns"
 msgstr ""
 
-#: builtin/grep.c:744
+#: builtin/grep.c:1075
 msgid "show parse tree for grep expression"
 msgstr ""
 
-#: builtin/grep.c:748
+#: builtin/grep.c:1079
 msgid "pager"
 msgstr ""
 
-#: builtin/grep.c:748
+#: builtin/grep.c:1079
 msgid "show matching files in the pager"
 msgstr ""
 
-#: builtin/grep.c:751
+#: builtin/grep.c:1082
 msgid "allow calling of grep(1) (ignored by this build)"
 msgstr ""
 
-#: builtin/grep.c:814
+#: builtin/grep.c:1146
 msgid "no pattern given."
 msgstr ""
 
-#: builtin/grep.c:846 builtin/index-pack.c:1480
+#: builtin/grep.c:1178 builtin/index-pack.c:1482
 #, c-format
 msgid "invalid number of threads specified (%d)"
 msgstr ""
 
-#: builtin/grep.c:876
+#: builtin/grep.c:1215
 msgid "--open-files-in-pager only works on the worktree"
 msgstr ""
 
-#: builtin/grep.c:902
+#: builtin/grep.c:1238
+msgid "option not supported with --recurse-submodules."
+msgstr ""
+
+#: builtin/grep.c:1244
 msgid "--cached or --untracked cannot be used with --no-index."
 msgstr ""
 
-#: builtin/grep.c:907
+#: builtin/grep.c:1249
 msgid "--no-index or --untracked cannot be used with revs."
 msgstr ""
 
-#: builtin/grep.c:910
+#: builtin/grep.c:1252
 msgid "--[no-]exclude-standard cannot be used for tracked contents."
 msgstr ""
 
-#: builtin/grep.c:918
+#: builtin/grep.c:1260
 msgid "both --cached and trees are given."
 msgstr ""
 
@@ -7734,183 +8118,187 @@
 msgstr ""
 
 #: builtin/index-pack.c:748 builtin/index-pack.c:754 builtin/index-pack.c:777
-#: builtin/index-pack.c:811 builtin/index-pack.c:820
+#: builtin/index-pack.c:813 builtin/index-pack.c:822
 #, c-format
 msgid "SHA1 COLLISION FOUND WITH %s !"
 msgstr ""
 
-#: builtin/index-pack.c:751 builtin/pack-objects.c:166
-#: builtin/pack-objects.c:258
+#: builtin/index-pack.c:751 builtin/pack-objects.c:164
+#: builtin/pack-objects.c:256
 #, c-format
 msgid "unable to read %s"
 msgstr ""
 
-#: builtin/index-pack.c:817
+#: builtin/index-pack.c:819
 #, c-format
 msgid "cannot read existing object %s"
 msgstr ""
 
-#: builtin/index-pack.c:831
+#: builtin/index-pack.c:833
 #, c-format
 msgid "invalid blob object %s"
 msgstr ""
 
-#: builtin/index-pack.c:845
+#: builtin/index-pack.c:847
 #, c-format
 msgid "invalid %s"
 msgstr ""
 
-#: builtin/index-pack.c:848
+#: builtin/index-pack.c:850
 msgid "Error in object"
 msgstr ""
 
-#: builtin/index-pack.c:850
+#: builtin/index-pack.c:852
 #, c-format
 msgid "Not all child objects of %s are reachable"
 msgstr ""
 
-#: builtin/index-pack.c:922 builtin/index-pack.c:953
+#: builtin/index-pack.c:924 builtin/index-pack.c:955
 msgid "failed to apply delta"
 msgstr ""
 
-#: builtin/index-pack.c:1123
+#: builtin/index-pack.c:1125
 msgid "Receiving objects"
 msgstr ""
 
-#: builtin/index-pack.c:1123
+#: builtin/index-pack.c:1125
 msgid "Indexing objects"
 msgstr ""
 
-#: builtin/index-pack.c:1155
+#: builtin/index-pack.c:1157
 msgid "pack is corrupted (SHA1 mismatch)"
 msgstr ""
 
-#: builtin/index-pack.c:1160
+#: builtin/index-pack.c:1162
 msgid "cannot fstat packfile"
 msgstr ""
 
-#: builtin/index-pack.c:1163
+#: builtin/index-pack.c:1165
 msgid "pack has junk at the end"
 msgstr ""
 
-#: builtin/index-pack.c:1174
+#: builtin/index-pack.c:1176
 msgid "confusion beyond insanity in parse_pack_objects()"
 msgstr ""
 
-#: builtin/index-pack.c:1197
+#: builtin/index-pack.c:1199
 msgid "Resolving deltas"
 msgstr ""
 
-#: builtin/index-pack.c:1208
+#: builtin/index-pack.c:1210
 #, c-format
 msgid "unable to create thread: %s"
 msgstr ""
 
-#: builtin/index-pack.c:1250
+#: builtin/index-pack.c:1252
 msgid "confusion beyond insanity"
 msgstr ""
 
-#: builtin/index-pack.c:1256
+#: builtin/index-pack.c:1258
 #, c-format
 msgid "completed with %d local object"
 msgid_plural "completed with %d local objects"
 msgstr[0] ""
 msgstr[1] ""
 
-#: builtin/index-pack.c:1268
+#: builtin/index-pack.c:1270
 #, c-format
 msgid "Unexpected tail checksum for %s (disk corruption?)"
 msgstr ""
 
-#: builtin/index-pack.c:1272
+#: builtin/index-pack.c:1274
 #, c-format
 msgid "pack has %d unresolved delta"
 msgid_plural "pack has %d unresolved deltas"
 msgstr[0] ""
 msgstr[1] ""
 
-#: builtin/index-pack.c:1296
+#: builtin/index-pack.c:1298
 #, c-format
 msgid "unable to deflate appended object (%d)"
 msgstr ""
 
-#: builtin/index-pack.c:1372
+#: builtin/index-pack.c:1374
 #, c-format
 msgid "local object %s is corrupt"
 msgstr ""
 
-#: builtin/index-pack.c:1396
+#: builtin/index-pack.c:1398
 msgid "error while closing pack file"
 msgstr ""
 
-#: builtin/index-pack.c:1409
+#: builtin/index-pack.c:1411
 #, c-format
 msgid "cannot write keep file '%s'"
 msgstr ""
 
-#: builtin/index-pack.c:1417
+#: builtin/index-pack.c:1419
 #, c-format
 msgid "cannot close written keep file '%s'"
 msgstr ""
 
-#: builtin/index-pack.c:1430
+#: builtin/index-pack.c:1432
 msgid "cannot store pack file"
 msgstr ""
 
-#: builtin/index-pack.c:1441
+#: builtin/index-pack.c:1443
 msgid "cannot store index file"
 msgstr ""
 
-#: builtin/index-pack.c:1474
+#: builtin/index-pack.c:1476
 #, c-format
 msgid "bad pack.indexversion=%<PRIu32>"
 msgstr ""
 
-#: builtin/index-pack.c:1484 builtin/index-pack.c:1681
+#: builtin/index-pack.c:1486 builtin/index-pack.c:1683
 #, c-format
 msgid "no threads support, ignoring %s"
 msgstr ""
 
-#: builtin/index-pack.c:1542
+#: builtin/index-pack.c:1544
 #, c-format
 msgid "Cannot open existing pack file '%s'"
 msgstr ""
 
-#: builtin/index-pack.c:1544
+#: builtin/index-pack.c:1546
 #, c-format
 msgid "Cannot open existing pack idx file for '%s'"
 msgstr ""
 
-#: builtin/index-pack.c:1591
+#: builtin/index-pack.c:1593
 #, c-format
 msgid "non delta: %d object"
 msgid_plural "non delta: %d objects"
 msgstr[0] ""
 msgstr[1] ""
 
-#: builtin/index-pack.c:1598
+#: builtin/index-pack.c:1600
 #, c-format
 msgid "chain length = %d: %lu object"
 msgid_plural "chain length = %d: %lu objects"
 msgstr[0] ""
 msgstr[1] ""
 
-#: builtin/index-pack.c:1611
+#: builtin/index-pack.c:1613
 #, c-format
 msgid "packfile name '%s' does not end with '.pack'"
 msgstr ""
 
-#: builtin/index-pack.c:1693 builtin/index-pack.c:1696
-#: builtin/index-pack.c:1712 builtin/index-pack.c:1716
+#: builtin/index-pack.c:1695 builtin/index-pack.c:1698
+#: builtin/index-pack.c:1714 builtin/index-pack.c:1718
 #, c-format
 msgid "bad %s"
 msgstr ""
 
-#: builtin/index-pack.c:1732
+#: builtin/index-pack.c:1734
 msgid "--fix-thin cannot be used without --stdin"
 msgstr ""
 
-#: builtin/index-pack.c:1740
+#: builtin/index-pack.c:1736
+msgid "--stdin requires a git repository"
+msgstr ""
+
+#: builtin/index-pack.c:1744
 msgid "--verify with no packfile name given"
 msgstr ""
 
@@ -8152,7 +8540,7 @@
 msgid "Unknown commit %s"
 msgstr ""
 
-#: builtin/log.c:1258 builtin/notes.c:884 builtin/tag.c:455
+#: builtin/log.c:1258 builtin/notes.c:884 builtin/tag.c:476
 #, c-format
 msgid "Failed to resolve '%s' as a valid ref."
 msgstr ""
@@ -8380,103 +8768,103 @@
 "Could not find a tracked remote branch, please specify <upstream> manually.\n"
 msgstr ""
 
-#: builtin/ls-files.c:458
+#: builtin/ls-files.c:460
 msgid "git ls-files [<options>] [<file>...]"
 msgstr ""
 
-#: builtin/ls-files.c:507
+#: builtin/ls-files.c:509
 msgid "identify the file status with tags"
 msgstr ""
 
-#: builtin/ls-files.c:509
+#: builtin/ls-files.c:511
 msgid "use lowercase letters for 'assume unchanged' files"
 msgstr ""
 
-#: builtin/ls-files.c:511
+#: builtin/ls-files.c:513
 msgid "show cached files in the output (default)"
 msgstr ""
 
-#: builtin/ls-files.c:513
+#: builtin/ls-files.c:515
 msgid "show deleted files in the output"
 msgstr ""
 
-#: builtin/ls-files.c:515
+#: builtin/ls-files.c:517
 msgid "show modified files in the output"
 msgstr ""
 
-#: builtin/ls-files.c:517
+#: builtin/ls-files.c:519
 msgid "show other files in the output"
 msgstr ""
 
-#: builtin/ls-files.c:519
+#: builtin/ls-files.c:521
 msgid "show ignored files in the output"
 msgstr ""
 
-#: builtin/ls-files.c:522
+#: builtin/ls-files.c:524
 msgid "show staged contents' object name in the output"
 msgstr ""
 
-#: builtin/ls-files.c:524
+#: builtin/ls-files.c:526
 msgid "show files on the filesystem that need to be removed"
 msgstr ""
 
-#: builtin/ls-files.c:526
+#: builtin/ls-files.c:528
 msgid "show 'other' directories' names only"
 msgstr ""
 
-#: builtin/ls-files.c:528
+#: builtin/ls-files.c:530
 msgid "show line endings of files"
 msgstr ""
 
-#: builtin/ls-files.c:530
+#: builtin/ls-files.c:532
 msgid "don't show empty directories"
 msgstr ""
 
-#: builtin/ls-files.c:533
+#: builtin/ls-files.c:535
 msgid "show unmerged files in the output"
 msgstr ""
 
-#: builtin/ls-files.c:535
+#: builtin/ls-files.c:537
 msgid "show resolve-undo information"
 msgstr ""
 
-#: builtin/ls-files.c:537
+#: builtin/ls-files.c:539
 msgid "skip files matching pattern"
 msgstr ""
 
-#: builtin/ls-files.c:540
+#: builtin/ls-files.c:542
 msgid "exclude patterns are read from <file>"
 msgstr ""
 
-#: builtin/ls-files.c:543
+#: builtin/ls-files.c:545
 msgid "read additional per-directory exclude patterns in <file>"
 msgstr ""
 
-#: builtin/ls-files.c:545
+#: builtin/ls-files.c:547
 msgid "add the standard git exclusions"
 msgstr ""
 
-#: builtin/ls-files.c:548
+#: builtin/ls-files.c:550
 msgid "make the output relative to the project top directory"
 msgstr ""
 
-#: builtin/ls-files.c:551
+#: builtin/ls-files.c:553
 msgid "recurse through submodules"
 msgstr ""
 
-#: builtin/ls-files.c:553
+#: builtin/ls-files.c:555
 msgid "if any <file> is not in the index, treat this as an error"
 msgstr ""
 
-#: builtin/ls-files.c:554
+#: builtin/ls-files.c:556
 msgid "tree-ish"
 msgstr ""
 
-#: builtin/ls-files.c:555
+#: builtin/ls-files.c:557
 msgid "pretend that paths removed since <tree-ish> are still present"
 msgstr ""
 
-#: builtin/ls-files.c:557
+#: builtin/ls-files.c:559
 msgid "show debugging data"
 msgstr ""
 
@@ -8527,35 +8915,35 @@
 msgid "git ls-tree [<options>] <tree-ish> [<path>...]"
 msgstr ""
 
-#: builtin/ls-tree.c:128
+#: builtin/ls-tree.c:126
 msgid "only show trees"
 msgstr ""
 
-#: builtin/ls-tree.c:130
+#: builtin/ls-tree.c:128
 msgid "recurse into subtrees"
 msgstr ""
 
-#: builtin/ls-tree.c:132
+#: builtin/ls-tree.c:130
 msgid "show trees when recursing"
 msgstr ""
 
-#: builtin/ls-tree.c:135
+#: builtin/ls-tree.c:133
 msgid "terminate entries with NUL byte"
 msgstr ""
 
-#: builtin/ls-tree.c:136
+#: builtin/ls-tree.c:134
 msgid "include object size"
 msgstr ""
 
-#: builtin/ls-tree.c:138 builtin/ls-tree.c:140
+#: builtin/ls-tree.c:136 builtin/ls-tree.c:138
 msgid "list only filenames"
 msgstr ""
 
-#: builtin/ls-tree.c:143
+#: builtin/ls-tree.c:141
 msgid "use full path names"
 msgstr ""
 
-#: builtin/ls-tree.c:145
+#: builtin/ls-tree.c:143
 msgid "list entire tree; not just current directory (implies --full-name)"
 msgstr ""
 
@@ -8571,160 +8959,168 @@
 msgid "git merge --abort"
 msgstr ""
 
-#: builtin/merge.c:102
+#: builtin/merge.c:49
+msgid "git merge --continue"
+msgstr ""
+
+#: builtin/merge.c:104
 msgid "switch `m' requires a value"
 msgstr ""
 
-#: builtin/merge.c:139
+#: builtin/merge.c:141
 #, c-format
 msgid "Could not find merge strategy '%s'.\n"
 msgstr ""
 
-#: builtin/merge.c:140
+#: builtin/merge.c:142
 #, c-format
 msgid "Available strategies are:"
 msgstr ""
 
-#: builtin/merge.c:145
+#: builtin/merge.c:147
 #, c-format
 msgid "Available custom strategies are:"
 msgstr ""
 
-#: builtin/merge.c:195 builtin/pull.c:127
+#: builtin/merge.c:197 builtin/pull.c:127
 msgid "do not show a diffstat at the end of the merge"
 msgstr ""
 
-#: builtin/merge.c:198 builtin/pull.c:130
+#: builtin/merge.c:200 builtin/pull.c:130
 msgid "show a diffstat at the end of the merge"
 msgstr ""
 
-#: builtin/merge.c:199 builtin/pull.c:133
+#: builtin/merge.c:201 builtin/pull.c:133
 msgid "(synonym to --stat)"
 msgstr ""
 
-#: builtin/merge.c:201 builtin/pull.c:136
+#: builtin/merge.c:203 builtin/pull.c:136
 msgid "add (at most <n>) entries from shortlog to merge commit message"
 msgstr ""
 
-#: builtin/merge.c:204 builtin/pull.c:139
+#: builtin/merge.c:206 builtin/pull.c:139
 msgid "create a single commit instead of doing a merge"
 msgstr ""
 
-#: builtin/merge.c:206 builtin/pull.c:142
+#: builtin/merge.c:208 builtin/pull.c:142
 msgid "perform a commit if the merge succeeds (default)"
 msgstr ""
 
-#: builtin/merge.c:208 builtin/pull.c:145
+#: builtin/merge.c:210 builtin/pull.c:145
 msgid "edit message before committing"
 msgstr ""
 
-#: builtin/merge.c:209
+#: builtin/merge.c:211
 msgid "allow fast-forward (default)"
 msgstr ""
 
-#: builtin/merge.c:211 builtin/pull.c:151
+#: builtin/merge.c:213 builtin/pull.c:151
 msgid "abort if fast-forward is not possible"
 msgstr ""
 
-#: builtin/merge.c:215 builtin/pull.c:154
+#: builtin/merge.c:217 builtin/pull.c:154
 msgid "verify that the named commit has a valid GPG signature"
 msgstr ""
 
-#: builtin/merge.c:216 builtin/notes.c:774 builtin/pull.c:158
+#: builtin/merge.c:218 builtin/notes.c:774 builtin/pull.c:158
 #: builtin/revert.c:89
 msgid "strategy"
 msgstr ""
 
-#: builtin/merge.c:217 builtin/pull.c:159
+#: builtin/merge.c:219 builtin/pull.c:159
 msgid "merge strategy to use"
 msgstr ""
 
-#: builtin/merge.c:218 builtin/pull.c:162
+#: builtin/merge.c:220 builtin/pull.c:162
 msgid "option=value"
 msgstr ""
 
-#: builtin/merge.c:219 builtin/pull.c:163
+#: builtin/merge.c:221 builtin/pull.c:163
 msgid "option for selected merge strategy"
 msgstr ""
 
-#: builtin/merge.c:221
+#: builtin/merge.c:223
 msgid "merge commit message (for a non-fast-forward merge)"
 msgstr ""
 
-#: builtin/merge.c:225
+#: builtin/merge.c:227
 msgid "abort the current in-progress merge"
 msgstr ""
 
-#: builtin/merge.c:227 builtin/pull.c:170
+#: builtin/merge.c:229
+msgid "continue the current in-progress merge"
+msgstr ""
+
+#: builtin/merge.c:231 builtin/pull.c:170
 msgid "allow merging unrelated histories"
 msgstr ""
 
-#: builtin/merge.c:255
+#: builtin/merge.c:259
 msgid "could not run stash."
 msgstr ""
 
-#: builtin/merge.c:260
+#: builtin/merge.c:264
 msgid "stash failed"
 msgstr ""
 
-#: builtin/merge.c:265
+#: builtin/merge.c:269
 #, c-format
 msgid "not a valid object: %s"
 msgstr ""
 
-#: builtin/merge.c:284 builtin/merge.c:301
+#: builtin/merge.c:288 builtin/merge.c:305
 msgid "read-tree failed"
 msgstr ""
 
-#: builtin/merge.c:331
+#: builtin/merge.c:335
 msgid " (nothing to squash)"
 msgstr ""
 
-#: builtin/merge.c:342
+#: builtin/merge.c:346
 #, c-format
 msgid "Squash commit -- not updating HEAD\n"
 msgstr ""
 
-#: builtin/merge.c:392
+#: builtin/merge.c:396
 #, c-format
 msgid "No merge message -- not updating HEAD\n"
 msgstr ""
 
-#: builtin/merge.c:443
+#: builtin/merge.c:447
 #, c-format
 msgid "'%s' does not point to a commit"
 msgstr ""
 
-#: builtin/merge.c:533
+#: builtin/merge.c:537
 #, c-format
 msgid "Bad branch.%s.mergeoptions string: %s"
 msgstr ""
 
-#: builtin/merge.c:652
+#: builtin/merge.c:656
 msgid "Not handling anything other than two heads merge."
 msgstr ""
 
-#: builtin/merge.c:666
+#: builtin/merge.c:670
 #, c-format
 msgid "Unknown option for merge-recursive: -X%s"
 msgstr ""
 
-#: builtin/merge.c:681
+#: builtin/merge.c:685
 #, c-format
 msgid "unable to write %s"
 msgstr ""
 
-#: builtin/merge.c:733
+#: builtin/merge.c:737
 #, c-format
 msgid "Could not read from '%s'"
 msgstr ""
 
-#: builtin/merge.c:742
+#: builtin/merge.c:746
 #, c-format
 msgid "Not committing merge; use 'git commit' to complete the merge.\n"
 msgstr ""
 
-#: builtin/merge.c:748
+#: builtin/merge.c:752
 #, c-format
 msgid ""
 "Please enter a commit message to explain why this merge is necessary,\n"
@@ -8734,183 +9130,195 @@
 "the commit.\n"
 msgstr ""
 
-#: builtin/merge.c:772
+#: builtin/merge.c:776
 msgid "Empty commit message."
 msgstr ""
 
-#: builtin/merge.c:792
+#: builtin/merge.c:796
 #, c-format
 msgid "Wonderful.\n"
 msgstr ""
 
-#: builtin/merge.c:847
+#: builtin/merge.c:851
 #, c-format
 msgid "Automatic merge failed; fix conflicts and then commit the result.\n"
 msgstr ""
 
-#: builtin/merge.c:863
+#: builtin/merge.c:867
 #, c-format
 msgid "'%s' is not a commit"
 msgstr ""
 
-#: builtin/merge.c:904
+#: builtin/merge.c:908
 msgid "No current branch."
 msgstr ""
 
-#: builtin/merge.c:906
+#: builtin/merge.c:910
 msgid "No remote for the current branch."
 msgstr ""
 
-#: builtin/merge.c:908
+#: builtin/merge.c:912
 msgid "No default upstream defined for the current branch."
 msgstr ""
 
-#: builtin/merge.c:913
+#: builtin/merge.c:917
 #, c-format
 msgid "No remote-tracking branch for %s from %s"
 msgstr ""
 
-#: builtin/merge.c:960
+#: builtin/merge.c:964
 #, c-format
 msgid "Bad value '%s' in environment '%s'"
 msgstr ""
 
-#: builtin/merge.c:1034
+#: builtin/merge.c:1038
 #, c-format
 msgid "could not close '%s'"
 msgstr ""
 
-#: builtin/merge.c:1061
+#: builtin/merge.c:1065
 #, c-format
 msgid "not something we can merge in %s: %s"
 msgstr ""
 
-#: builtin/merge.c:1095
+#: builtin/merge.c:1099
 msgid "not something we can merge"
 msgstr ""
 
-#: builtin/merge.c:1162
+#: builtin/merge.c:1167
+msgid "--abort expects no arguments"
+msgstr ""
+
+#: builtin/merge.c:1171
 msgid "There is no merge to abort (MERGE_HEAD missing)."
 msgstr ""
 
-#: builtin/merge.c:1178
+#: builtin/merge.c:1183
+msgid "--continue expects no arguments"
+msgstr ""
+
+#: builtin/merge.c:1187
+msgid "There is no merge in progress (MERGE_HEAD missing)."
+msgstr ""
+
+#: builtin/merge.c:1203
 msgid ""
 "You have not concluded your merge (MERGE_HEAD exists).\n"
 "Please, commit your changes before you merge."
 msgstr ""
 
-#: builtin/merge.c:1185
+#: builtin/merge.c:1210
 msgid ""
 "You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists).\n"
 "Please, commit your changes before you merge."
 msgstr ""
 
-#: builtin/merge.c:1188
+#: builtin/merge.c:1213
 msgid "You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists)."
 msgstr ""
 
-#: builtin/merge.c:1197
+#: builtin/merge.c:1222
 msgid "You cannot combine --squash with --no-ff."
 msgstr ""
 
-#: builtin/merge.c:1205
+#: builtin/merge.c:1230
 msgid "No commit specified and merge.defaultToUpstream not set."
 msgstr ""
 
-#: builtin/merge.c:1222
+#: builtin/merge.c:1247
 msgid "Squash commit into empty head not supported yet"
 msgstr ""
 
-#: builtin/merge.c:1224
+#: builtin/merge.c:1249
 msgid "Non-fast-forward commit does not make sense into an empty head"
 msgstr ""
 
-#: builtin/merge.c:1229
+#: builtin/merge.c:1254
 #, c-format
 msgid "%s - not something we can merge"
 msgstr ""
 
-#: builtin/merge.c:1231
+#: builtin/merge.c:1256
 msgid "Can merge only exactly one commit into empty head"
 msgstr ""
 
-#: builtin/merge.c:1287
+#: builtin/merge.c:1312
 #, c-format
 msgid "Commit %s has an untrusted GPG signature, allegedly by %s."
 msgstr ""
 
-#: builtin/merge.c:1290
+#: builtin/merge.c:1315
 #, c-format
 msgid "Commit %s has a bad GPG signature allegedly by %s."
 msgstr ""
 
-#: builtin/merge.c:1293
+#: builtin/merge.c:1318
 #, c-format
 msgid "Commit %s does not have a GPG signature."
 msgstr ""
 
-#: builtin/merge.c:1296
+#: builtin/merge.c:1321
 #, c-format
 msgid "Commit %s has a good GPG signature by %s\n"
 msgstr ""
 
-#: builtin/merge.c:1358
+#: builtin/merge.c:1383
 msgid "refusing to merge unrelated histories"
 msgstr ""
 
-#: builtin/merge.c:1367
+#: builtin/merge.c:1392
 msgid "Already up-to-date."
 msgstr ""
 
-#: builtin/merge.c:1377
+#: builtin/merge.c:1402
 #, c-format
 msgid "Updating %s..%s\n"
 msgstr ""
 
-#: builtin/merge.c:1418
+#: builtin/merge.c:1443
 #, c-format
 msgid "Trying really trivial in-index merge...\n"
 msgstr ""
 
-#: builtin/merge.c:1425
+#: builtin/merge.c:1450
 #, c-format
 msgid "Nope.\n"
 msgstr ""
 
-#: builtin/merge.c:1450
+#: builtin/merge.c:1475
 msgid "Already up-to-date. Yeeah!"
 msgstr ""
 
-#: builtin/merge.c:1456
+#: builtin/merge.c:1481
 msgid "Not possible to fast-forward, aborting."
 msgstr ""
 
-#: builtin/merge.c:1479 builtin/merge.c:1558
+#: builtin/merge.c:1504 builtin/merge.c:1583
 #, c-format
 msgid "Rewinding the tree to pristine...\n"
 msgstr ""
 
-#: builtin/merge.c:1483
+#: builtin/merge.c:1508
 #, c-format
 msgid "Trying merge strategy %s...\n"
 msgstr ""
 
-#: builtin/merge.c:1549
+#: builtin/merge.c:1574
 #, c-format
 msgid "No merge strategy handled the merge.\n"
 msgstr ""
 
-#: builtin/merge.c:1551
+#: builtin/merge.c:1576
 #, c-format
 msgid "Merge with strategy %s failed.\n"
 msgstr ""
 
-#: builtin/merge.c:1560
+#: builtin/merge.c:1585
 #, c-format
 msgid "Using the %s to prepare resolving by hand.\n"
 msgstr ""
 
-#: builtin/merge.c:1572
+#: builtin/merge.c:1597
 #, c-format
 msgid "Automatic merge went well; stopped before committing as requested\n"
 msgstr ""
@@ -9040,94 +9448,94 @@
 msgid "allow creation of more than one tree"
 msgstr ""
 
-#: builtin/mv.c:15
+#: builtin/mv.c:16
 msgid "git mv [<options>] <source>... <destination>"
 msgstr ""
 
-#: builtin/mv.c:70
+#: builtin/mv.c:82
 #, c-format
 msgid "Directory %s is in index and no submodule?"
 msgstr ""
 
-#: builtin/mv.c:72 builtin/rm.c:317
+#: builtin/mv.c:84 builtin/rm.c:290
 msgid "Please stage your changes to .gitmodules or stash them to proceed"
 msgstr ""
 
-#: builtin/mv.c:90
+#: builtin/mv.c:102
 #, c-format
 msgid "%.*s is in index"
 msgstr ""
 
-#: builtin/mv.c:112
+#: builtin/mv.c:124
 msgid "force move/rename even if target exists"
 msgstr ""
 
-#: builtin/mv.c:113
+#: builtin/mv.c:125
 msgid "skip move/rename errors"
 msgstr ""
 
-#: builtin/mv.c:155
+#: builtin/mv.c:167
 #, c-format
 msgid "destination '%s' is not a directory"
 msgstr ""
 
-#: builtin/mv.c:166
+#: builtin/mv.c:178
 #, c-format
 msgid "Checking rename of '%s' to '%s'\n"
 msgstr ""
 
-#: builtin/mv.c:170
+#: builtin/mv.c:182
 msgid "bad source"
 msgstr ""
 
-#: builtin/mv.c:173
+#: builtin/mv.c:185
 msgid "can not move directory into itself"
 msgstr ""
 
-#: builtin/mv.c:176
+#: builtin/mv.c:188
 msgid "cannot move directory over file"
 msgstr ""
 
-#: builtin/mv.c:185
+#: builtin/mv.c:197
 msgid "source directory is empty"
 msgstr ""
 
-#: builtin/mv.c:210
+#: builtin/mv.c:222
 msgid "not under version control"
 msgstr ""
 
-#: builtin/mv.c:213
+#: builtin/mv.c:225
 msgid "destination exists"
 msgstr ""
 
-#: builtin/mv.c:221
+#: builtin/mv.c:233
 #, c-format
 msgid "overwriting '%s'"
 msgstr ""
 
-#: builtin/mv.c:224
+#: builtin/mv.c:236
 msgid "Cannot overwrite"
 msgstr ""
 
-#: builtin/mv.c:227
+#: builtin/mv.c:239
 msgid "multiple sources for the same target"
 msgstr ""
 
-#: builtin/mv.c:229
+#: builtin/mv.c:241
 msgid "destination directory does not exist"
 msgstr ""
 
-#: builtin/mv.c:236
+#: builtin/mv.c:248
 #, c-format
 msgid "%s, source=%s, destination=%s"
 msgstr ""
 
-#: builtin/mv.c:257
+#: builtin/mv.c:269
 #, c-format
 msgid "Renaming %s to %s\n"
 msgstr ""
 
-#: builtin/mv.c:263 builtin/remote.c:710 builtin/repack.c:375
+#: builtin/mv.c:275 builtin/remote.c:710 builtin/repack.c:384
 #, c-format
 msgid "renaming '%s' failed"
 msgstr ""
@@ -9308,12 +9716,12 @@
 msgid "the note contents have been left in %s"
 msgstr ""
 
-#: builtin/notes.c:233 builtin/tag.c:439
+#: builtin/notes.c:233 builtin/tag.c:460
 #, c-format
 msgid "cannot read '%s'"
 msgstr ""
 
-#: builtin/notes.c:235 builtin/tag.c:442
+#: builtin/notes.c:235 builtin/tag.c:463
 #, c-format
 msgid "could not open or read '%s'"
 msgstr ""
@@ -9577,174 +9985,174 @@
 "git pack-objects [<options>...] <base-name> [< <ref-list> | < <object-list>]"
 msgstr ""
 
-#: builtin/pack-objects.c:179 builtin/pack-objects.c:182
+#: builtin/pack-objects.c:177 builtin/pack-objects.c:180
 #, c-format
 msgid "deflate error (%d)"
 msgstr ""
 
-#: builtin/pack-objects.c:768
+#: builtin/pack-objects.c:766
 msgid "disabling bitmap writing, packs are split due to pack.packSizeLimit"
 msgstr ""
 
-#: builtin/pack-objects.c:781
+#: builtin/pack-objects.c:779
 msgid "Writing objects"
 msgstr ""
 
-#: builtin/pack-objects.c:1070
+#: builtin/pack-objects.c:1068
 msgid "disabling bitmap writing, as some objects are not being packed"
 msgstr ""
 
-#: builtin/pack-objects.c:2346
+#: builtin/pack-objects.c:2344
 msgid "Compressing objects"
 msgstr ""
 
-#: builtin/pack-objects.c:2759
+#: builtin/pack-objects.c:2747
 #, c-format
 msgid "unsupported index version %s"
 msgstr ""
 
-#: builtin/pack-objects.c:2763
+#: builtin/pack-objects.c:2751
 #, c-format
 msgid "bad index version '%s'"
 msgstr ""
 
-#: builtin/pack-objects.c:2793
+#: builtin/pack-objects.c:2781
 msgid "do not show progress meter"
 msgstr ""
 
-#: builtin/pack-objects.c:2795
+#: builtin/pack-objects.c:2783
 msgid "show progress meter"
 msgstr ""
 
-#: builtin/pack-objects.c:2797
+#: builtin/pack-objects.c:2785
 msgid "show progress meter during object writing phase"
 msgstr ""
 
-#: builtin/pack-objects.c:2800
+#: builtin/pack-objects.c:2788
 msgid "similar to --all-progress when progress meter is shown"
 msgstr ""
 
-#: builtin/pack-objects.c:2801
+#: builtin/pack-objects.c:2789
 msgid "version[,offset]"
 msgstr ""
 
-#: builtin/pack-objects.c:2802
+#: builtin/pack-objects.c:2790
 msgid "write the pack index file in the specified idx format version"
 msgstr ""
 
-#: builtin/pack-objects.c:2805
+#: builtin/pack-objects.c:2793
 msgid "maximum size of each output pack file"
 msgstr ""
 
-#: builtin/pack-objects.c:2807
+#: builtin/pack-objects.c:2795
 msgid "ignore borrowed objects from alternate object store"
 msgstr ""
 
-#: builtin/pack-objects.c:2809
+#: builtin/pack-objects.c:2797
 msgid "ignore packed objects"
 msgstr ""
 
-#: builtin/pack-objects.c:2811
+#: builtin/pack-objects.c:2799
 msgid "limit pack window by objects"
 msgstr ""
 
-#: builtin/pack-objects.c:2813
+#: builtin/pack-objects.c:2801
 msgid "limit pack window by memory in addition to object limit"
 msgstr ""
 
-#: builtin/pack-objects.c:2815
+#: builtin/pack-objects.c:2803
 msgid "maximum length of delta chain allowed in the resulting pack"
 msgstr ""
 
-#: builtin/pack-objects.c:2817
+#: builtin/pack-objects.c:2805
 msgid "reuse existing deltas"
 msgstr ""
 
-#: builtin/pack-objects.c:2819
+#: builtin/pack-objects.c:2807
 msgid "reuse existing objects"
 msgstr ""
 
-#: builtin/pack-objects.c:2821
+#: builtin/pack-objects.c:2809
 msgid "use OFS_DELTA objects"
 msgstr ""
 
-#: builtin/pack-objects.c:2823
+#: builtin/pack-objects.c:2811
 msgid "use threads when searching for best delta matches"
 msgstr ""
 
-#: builtin/pack-objects.c:2825
+#: builtin/pack-objects.c:2813
 msgid "do not create an empty pack output"
 msgstr ""
 
-#: builtin/pack-objects.c:2827
+#: builtin/pack-objects.c:2815
 msgid "read revision arguments from standard input"
 msgstr ""
 
-#: builtin/pack-objects.c:2829
+#: builtin/pack-objects.c:2817
 msgid "limit the objects to those that are not yet packed"
 msgstr ""
 
-#: builtin/pack-objects.c:2832
+#: builtin/pack-objects.c:2820
 msgid "include objects reachable from any reference"
 msgstr ""
 
-#: builtin/pack-objects.c:2835
+#: builtin/pack-objects.c:2823
 msgid "include objects referred by reflog entries"
 msgstr ""
 
-#: builtin/pack-objects.c:2838
+#: builtin/pack-objects.c:2826
 msgid "include objects referred to by the index"
 msgstr ""
 
-#: builtin/pack-objects.c:2841
+#: builtin/pack-objects.c:2829
 msgid "output pack to stdout"
 msgstr ""
 
-#: builtin/pack-objects.c:2843
+#: builtin/pack-objects.c:2831
 msgid "include tag objects that refer to objects to be packed"
 msgstr ""
 
-#: builtin/pack-objects.c:2845
+#: builtin/pack-objects.c:2833
 msgid "keep unreachable objects"
 msgstr ""
 
-#: builtin/pack-objects.c:2847
+#: builtin/pack-objects.c:2835
 msgid "pack loose unreachable objects"
 msgstr ""
 
-#: builtin/pack-objects.c:2849
+#: builtin/pack-objects.c:2837
 msgid "unpack unreachable objects newer than <time>"
 msgstr ""
 
-#: builtin/pack-objects.c:2852
+#: builtin/pack-objects.c:2840
 msgid "create thin packs"
 msgstr ""
 
-#: builtin/pack-objects.c:2854
+#: builtin/pack-objects.c:2842
 msgid "create packs suitable for shallow fetches"
 msgstr ""
 
-#: builtin/pack-objects.c:2856
+#: builtin/pack-objects.c:2844
 msgid "ignore packs that have companion .keep file"
 msgstr ""
 
-#: builtin/pack-objects.c:2858
+#: builtin/pack-objects.c:2846
 msgid "pack compression level"
 msgstr ""
 
-#: builtin/pack-objects.c:2860
+#: builtin/pack-objects.c:2848
 msgid "do not hide commits by grafts"
 msgstr ""
 
-#: builtin/pack-objects.c:2862
+#: builtin/pack-objects.c:2850
 msgid "use a bitmap index if available to speed up counting objects"
 msgstr ""
 
-#: builtin/pack-objects.c:2864
+#: builtin/pack-objects.c:2852
 msgid "write a bitmap index together with the pack index"
 msgstr ""
 
-#: builtin/pack-objects.c:2993
+#: builtin/pack-objects.c:2979
 msgid "Counting objects"
 msgstr ""
 
@@ -9772,11 +10180,11 @@
 msgid "git prune [-n] [-v] [--expire <time>] [--] [<head>...]"
 msgstr ""
 
-#: builtin/prune.c:106 builtin/worktree.c:128
+#: builtin/prune.c:106
 msgid "report pruned objects"
 msgstr ""
 
-#: builtin/prune.c:109 builtin/worktree.c:130
+#: builtin/prune.c:109
 msgid "expire objects older than <time>"
 msgstr ""
 
@@ -9868,7 +10276,7 @@
 msgid "<remote>"
 msgstr ""
 
-#: builtin/pull.c:415 builtin/pull.c:430 builtin/pull.c:435 git-rebase.sh:451
+#: builtin/pull.c:415 builtin/pull.c:430 builtin/pull.c:435 git-rebase.sh:455
 #: git-parse-remote.sh:65
 msgid "<branch>"
 msgstr ""
@@ -10001,12 +10409,12 @@
 "to update which remote branch."
 msgstr ""
 
-#: builtin/push.c:242
+#: builtin/push.c:245
 msgid ""
 "You didn't specify any refspecs to push, and push.default is \"nothing\"."
 msgstr ""
 
-#: builtin/push.c:249
+#: builtin/push.c:252
 msgid ""
 "Updates were rejected because the tip of your current branch is behind\n"
 "its remote counterpart. Integrate the remote changes (e.g.\n"
@@ -10014,7 +10422,7 @@
 "See the 'Note about fast-forwards' in 'git push --help' for details."
 msgstr ""
 
-#: builtin/push.c:255
+#: builtin/push.c:258
 msgid ""
 "Updates were rejected because a pushed branch tip is behind its remote\n"
 "counterpart. Check out this branch and integrate the remote changes\n"
@@ -10022,7 +10430,7 @@
 "See the 'Note about fast-forwards' in 'git push --help' for details."
 msgstr ""
 
-#: builtin/push.c:261
+#: builtin/push.c:264
 msgid ""
 "Updates were rejected because the remote contains work that you do\n"
 "not have locally. This is usually caused by another repository pushing\n"
@@ -10031,33 +10439,33 @@
 "See the 'Note about fast-forwards' in 'git push --help' for details."
 msgstr ""
 
-#: builtin/push.c:268
+#: builtin/push.c:271
 msgid "Updates were rejected because the tag already exists in the remote."
 msgstr ""
 
-#: builtin/push.c:271
+#: builtin/push.c:274
 msgid ""
 "You cannot update a remote ref that points at a non-commit object,\n"
 "or update a remote ref to make it point at a non-commit object,\n"
 "without using the '--force' option.\n"
 msgstr ""
 
-#: builtin/push.c:331
+#: builtin/push.c:334
 #, c-format
 msgid "Pushing to %s\n"
 msgstr ""
 
-#: builtin/push.c:335
+#: builtin/push.c:338
 #, c-format
 msgid "failed to push some refs to '%s'"
 msgstr ""
 
-#: builtin/push.c:366
+#: builtin/push.c:369
 #, c-format
 msgid "bad repository '%s'"
 msgstr ""
 
-#: builtin/push.c:367
+#: builtin/push.c:370
 msgid ""
 "No configured push destination.\n"
 "Either specify the URL from the command-line or configure a remote "
@@ -10070,112 +10478,112 @@
 "    git push <name>\n"
 msgstr ""
 
-#: builtin/push.c:385
+#: builtin/push.c:388
 msgid "--all and --tags are incompatible"
 msgstr ""
 
-#: builtin/push.c:386
+#: builtin/push.c:389
 msgid "--all can't be combined with refspecs"
 msgstr ""
 
-#: builtin/push.c:391
+#: builtin/push.c:394
 msgid "--mirror and --tags are incompatible"
 msgstr ""
 
-#: builtin/push.c:392
+#: builtin/push.c:395
 msgid "--mirror can't be combined with refspecs"
 msgstr ""
 
-#: builtin/push.c:397
+#: builtin/push.c:400
 msgid "--all and --mirror are incompatible"
 msgstr ""
 
-#: builtin/push.c:515
+#: builtin/push.c:518
 msgid "repository"
 msgstr ""
 
-#: builtin/push.c:516 builtin/send-pack.c:161
+#: builtin/push.c:519 builtin/send-pack.c:161
 msgid "push all refs"
 msgstr ""
 
-#: builtin/push.c:517 builtin/send-pack.c:163
+#: builtin/push.c:520 builtin/send-pack.c:163
 msgid "mirror all refs"
 msgstr ""
 
-#: builtin/push.c:519
+#: builtin/push.c:522
 msgid "delete refs"
 msgstr ""
 
-#: builtin/push.c:520
+#: builtin/push.c:523
 msgid "push tags (can't be used with --all or --mirror)"
 msgstr ""
 
-#: builtin/push.c:523 builtin/send-pack.c:164
+#: builtin/push.c:526 builtin/send-pack.c:164
 msgid "force updates"
 msgstr ""
 
-#: builtin/push.c:525 builtin/send-pack.c:175
+#: builtin/push.c:528 builtin/send-pack.c:175
 msgid "refname>:<expect"
 msgstr ""
 
-#: builtin/push.c:526 builtin/send-pack.c:176
+#: builtin/push.c:529 builtin/send-pack.c:176
 msgid "require old value of ref to be at this value"
 msgstr ""
 
-#: builtin/push.c:529
+#: builtin/push.c:532
 msgid "control recursive pushing of submodules"
 msgstr ""
 
-#: builtin/push.c:531 builtin/send-pack.c:169
+#: builtin/push.c:534 builtin/send-pack.c:169
 msgid "use thin pack"
 msgstr ""
 
-#: builtin/push.c:532 builtin/push.c:533 builtin/send-pack.c:158
+#: builtin/push.c:535 builtin/push.c:536 builtin/send-pack.c:158
 #: builtin/send-pack.c:159
 msgid "receive pack program"
 msgstr ""
 
-#: builtin/push.c:534
+#: builtin/push.c:537
 msgid "set upstream for git pull/status"
 msgstr ""
 
-#: builtin/push.c:537
+#: builtin/push.c:540
 msgid "prune locally removed refs"
 msgstr ""
 
-#: builtin/push.c:539
+#: builtin/push.c:542
 msgid "bypass pre-push hook"
 msgstr ""
 
-#: builtin/push.c:540
+#: builtin/push.c:543
 msgid "push missing but relevant tags"
 msgstr ""
 
-#: builtin/push.c:543 builtin/send-pack.c:166
+#: builtin/push.c:546 builtin/send-pack.c:166
 msgid "GPG sign the push"
 msgstr ""
 
-#: builtin/push.c:545 builtin/send-pack.c:170
+#: builtin/push.c:548 builtin/send-pack.c:170
 msgid "request atomic transaction on remote side"
 msgstr ""
 
-#: builtin/push.c:546
+#: builtin/push.c:549
 msgid "server-specific"
 msgstr ""
 
-#: builtin/push.c:546
+#: builtin/push.c:549
 msgid "option to transmit"
 msgstr ""
 
-#: builtin/push.c:560
+#: builtin/push.c:563
 msgid "--delete is incompatible with --all, --mirror and --tags"
 msgstr ""
 
-#: builtin/push.c:562
+#: builtin/push.c:565
 msgid "--delete doesn't make sense without any refs"
 msgstr ""
 
-#: builtin/push.c:579
+#: builtin/push.c:584
 msgid "push options must not have new line characters"
 msgstr ""
 
@@ -10261,8 +10669,8 @@
 "with what you pushed, and will require 'git reset --hard' to match\n"
 "the work tree to HEAD.\n"
 "\n"
-"You can set 'receive.denyCurrentBranch' configuration variable to\n"
-"'ignore' or 'warn' in the remote repository to allow pushing into\n"
+"You can set the 'receive.denyCurrentBranch' configuration variable\n"
+"to 'ignore' or 'warn' in the remote repository to allow pushing into\n"
 "its current branch; however, this is not recommended unless you\n"
 "arranged to update its work tree to match what you pushed in some\n"
 "other way.\n"
@@ -10796,83 +11204,89 @@
 msgid "git repack [<options>]"
 msgstr ""
 
-#: builtin/repack.c:160
+#: builtin/repack.c:22
+msgid ""
+"Incremental repacks are incompatible with bitmap indexes.  Use\n"
+"--no-write-bitmap-index or disable the pack.writebitmaps configuration."
+msgstr ""
+
+#: builtin/repack.c:166
 msgid "pack everything in a single pack"
 msgstr ""
 
-#: builtin/repack.c:162
+#: builtin/repack.c:168
 msgid "same as -a, and turn unreachable objects loose"
 msgstr ""
 
-#: builtin/repack.c:165
+#: builtin/repack.c:171
 msgid "remove redundant packs, and run git-prune-packed"
 msgstr ""
 
-#: builtin/repack.c:167
+#: builtin/repack.c:173
 msgid "pass --no-reuse-delta to git-pack-objects"
 msgstr ""
 
-#: builtin/repack.c:169
+#: builtin/repack.c:175
 msgid "pass --no-reuse-object to git-pack-objects"
 msgstr ""
 
-#: builtin/repack.c:171
+#: builtin/repack.c:177
 msgid "do not run git-update-server-info"
 msgstr ""
 
-#: builtin/repack.c:174
+#: builtin/repack.c:180
 msgid "pass --local to git-pack-objects"
 msgstr ""
 
-#: builtin/repack.c:176
+#: builtin/repack.c:182
 msgid "write bitmap index"
 msgstr ""
 
-#: builtin/repack.c:177
+#: builtin/repack.c:183
 msgid "approxidate"
 msgstr ""
 
-#: builtin/repack.c:178
+#: builtin/repack.c:184
 msgid "with -A, do not loosen objects older than this"
 msgstr ""
 
-#: builtin/repack.c:180
+#: builtin/repack.c:186
 msgid "with -a, repack unreachable objects"
 msgstr ""
 
-#: builtin/repack.c:182
+#: builtin/repack.c:188
 msgid "size of the window used for delta compression"
 msgstr ""
 
-#: builtin/repack.c:183 builtin/repack.c:187
+#: builtin/repack.c:189 builtin/repack.c:193
 msgid "bytes"
 msgstr ""
 
-#: builtin/repack.c:184
+#: builtin/repack.c:190
 msgid "same as the above, but limit memory size instead of entries count"
 msgstr ""
 
-#: builtin/repack.c:186
+#: builtin/repack.c:192
 msgid "limits the maximum delta depth"
 msgstr ""
 
-#: builtin/repack.c:188
+#: builtin/repack.c:194
 msgid "maximum size of each packfile"
 msgstr ""
 
-#: builtin/repack.c:190
+#: builtin/repack.c:196
 msgid "repack objects in packs marked with .keep"
 msgstr ""
 
-#: builtin/repack.c:200
+#: builtin/repack.c:206
 msgid "cannot delete packs in a precious-objects repo"
 msgstr ""
 
-#: builtin/repack.c:204
+#: builtin/repack.c:210
 msgid "--keep-unreachable and -A are incompatible"
 msgstr ""
 
-#: builtin/repack.c:391 builtin/worktree.c:115
+#: builtin/repack.c:400 builtin/worktree.c:115
 #, c-format
 msgid "failed to remove '%s'"
 msgstr ""
@@ -11098,23 +11512,23 @@
 msgid "rev-list does not support display of notes"
 msgstr ""
 
-#: builtin/rev-parse.c:386
+#: builtin/rev-parse.c:391
 msgid "git rev-parse --parseopt [<options>] -- [<args>...]"
 msgstr ""
 
-#: builtin/rev-parse.c:391
+#: builtin/rev-parse.c:396
 msgid "keep the `--` passed as an arg"
 msgstr ""
 
-#: builtin/rev-parse.c:393
+#: builtin/rev-parse.c:398
 msgid "stop parsing after the first non-option argument"
 msgstr ""
 
-#: builtin/rev-parse.c:396
+#: builtin/rev-parse.c:401
 msgid "output in stuck long form"
 msgstr ""
 
-#: builtin/rev-parse.c:527
+#: builtin/rev-parse.c:532
 msgid ""
 "git rev-parse --parseopt [<options>] -- [<args>...]\n"
 "   or: git rev-parse --sq-quote [<arg>...]\n"
@@ -11208,23 +11622,7 @@
 msgid "git rm [<options>] [--] <file>..."
 msgstr ""
 
-#: builtin/rm.c:65
-msgid ""
-"the following submodule (or one of its nested submodules)\n"
-"uses a .git directory:"
-msgid_plural ""
-"the following submodules (or one of their nested submodules)\n"
-"use a .git directory:"
-msgstr[0] ""
-msgstr[1] ""
-
-#: builtin/rm.c:71
-msgid ""
-"\n"
-"(use 'rm -rf' if you really want to remove it including all of its history)"
-msgstr ""
-
-#: builtin/rm.c:230
+#: builtin/rm.c:205
 msgid ""
 "the following file has staged content different from both the\n"
 "file and the HEAD:"
@@ -11234,60 +11632,65 @@
 msgstr[0] ""
 msgstr[1] ""
 
-#: builtin/rm.c:235
+#: builtin/rm.c:210
 msgid ""
 "\n"
 "(use -f to force removal)"
 msgstr ""
 
-#: builtin/rm.c:239
+#: builtin/rm.c:214
 msgid "the following file has changes staged in the index:"
 msgid_plural "the following files have changes staged in the index:"
 msgstr[0] ""
 msgstr[1] ""
 
-#: builtin/rm.c:243 builtin/rm.c:254
+#: builtin/rm.c:218 builtin/rm.c:227
 msgid ""
 "\n"
 "(use --cached to keep the file, or -f to force removal)"
 msgstr ""
 
-#: builtin/rm.c:251
+#: builtin/rm.c:224
 msgid "the following file has local modifications:"
 msgid_plural "the following files have local modifications:"
 msgstr[0] ""
 msgstr[1] ""
 
-#: builtin/rm.c:269
+#: builtin/rm.c:242
 msgid "do not list removed files"
 msgstr ""
 
-#: builtin/rm.c:270
+#: builtin/rm.c:243
 msgid "only remove from the index"
 msgstr ""
 
-#: builtin/rm.c:271
+#: builtin/rm.c:244
 msgid "override the up-to-date check"
 msgstr ""
 
-#: builtin/rm.c:272
+#: builtin/rm.c:245
 msgid "allow recursive removal"
 msgstr ""
 
-#: builtin/rm.c:274
+#: builtin/rm.c:247
 msgid "exit with a zero status even if nothing matched"
 msgstr ""
 
-#: builtin/rm.c:335
+#: builtin/rm.c:308
 #, c-format
 msgid "not removing '%s' recursively without -r"
 msgstr ""
 
-#: builtin/rm.c:374
+#: builtin/rm.c:347
 #, c-format
 msgid "git rm: unable to remove %s"
 msgstr ""
 
+#: builtin/rm.c:370
+#, c-format
+msgid "could not remove '%s'"
+msgstr ""
+
 #: builtin/send-pack.c:18
 msgid ""
 "git send-pack [--all | --mirror] [--dry-run] [--force] [--receive-pack=<git-"
@@ -11316,23 +11719,27 @@
 msgid "git shortlog [<options>] [<revision-range>] [[--] [<path>...]]"
 msgstr ""
 
-#: builtin/shortlog.c:242
+#: builtin/shortlog.c:249
+msgid "Group by committer rather than author"
+msgstr ""
+
+#: builtin/shortlog.c:251
 msgid "sort output according to the number of commits per author"
 msgstr ""
 
-#: builtin/shortlog.c:244
+#: builtin/shortlog.c:253
 msgid "Suppress commit descriptions, only provides commit count"
 msgstr ""
 
-#: builtin/shortlog.c:246
+#: builtin/shortlog.c:255
 msgid "Show the email address of each author"
 msgstr ""
 
-#: builtin/shortlog.c:247
+#: builtin/shortlog.c:256
 msgid "w[,i1[,i2]]"
 msgstr ""
 
-#: builtin/shortlog.c:248
+#: builtin/shortlog.c:257
 msgid "Linewrap output"
 msgstr ""
 
@@ -11476,35 +11883,35 @@
 msgid "git show-ref --exclude-existing[=<pattern>]"
 msgstr ""
 
-#: builtin/show-ref.c:165
+#: builtin/show-ref.c:159
 msgid "only show tags (can be combined with heads)"
 msgstr ""
 
-#: builtin/show-ref.c:166
+#: builtin/show-ref.c:160
 msgid "only show heads (can be combined with tags)"
 msgstr ""
 
-#: builtin/show-ref.c:167
+#: builtin/show-ref.c:161
 msgid "stricter reference checking, requires exact ref path"
 msgstr ""
 
-#: builtin/show-ref.c:170 builtin/show-ref.c:172
+#: builtin/show-ref.c:164 builtin/show-ref.c:166
 msgid "show the HEAD reference, even if it would be filtered out"
 msgstr ""
 
-#: builtin/show-ref.c:174
+#: builtin/show-ref.c:168
 msgid "dereference tags into object IDs"
 msgstr ""
 
-#: builtin/show-ref.c:176
+#: builtin/show-ref.c:170
 msgid "only show SHA1 hash using <n> digits"
 msgstr ""
 
-#: builtin/show-ref.c:180
+#: builtin/show-ref.c:174
 msgid "do not print results to stdout (useful with --verify)"
 msgstr ""
 
-#: builtin/show-ref.c:182
+#: builtin/show-ref.c:176
 msgid "show refs from stdin that aren't in local repository"
 msgstr ""
 
@@ -11524,12 +11931,12 @@
 msgid "prepend comment character and space to each line"
 msgstr ""
 
-#: builtin/submodule--helper.c:24 builtin/submodule--helper.c:1046
+#: builtin/submodule--helper.c:24 builtin/submodule--helper.c:1062
 #, c-format
 msgid "No such ref: %s"
 msgstr ""
 
-#: builtin/submodule--helper.c:31 builtin/submodule--helper.c:1055
+#: builtin/submodule--helper.c:31 builtin/submodule--helper.c:1071
 #, c-format
 msgid "Expecting a full ref name, got %s"
 msgstr ""
@@ -11539,8 +11946,7 @@
 msgid "cannot strip one component off url '%s'"
 msgstr ""
 
-#: builtin/submodule--helper.c:282 builtin/submodule--helper.c:408
-#: builtin/submodule--helper.c:590
+#: builtin/submodule--helper.c:282 builtin/submodule--helper.c:592
 msgid "alternative anchor for relative paths"
 msgstr ""
 
@@ -11548,191 +11954,199 @@
 msgid "git submodule--helper list [--prefix=<path>] [<path>...]"
 msgstr ""
 
-#: builtin/submodule--helper.c:329 builtin/submodule--helper.c:343
+#: builtin/submodule--helper.c:333 builtin/submodule--helper.c:347
 #, c-format
 msgid "No url found for submodule path '%s' in .gitmodules"
 msgstr ""
 
-#: builtin/submodule--helper.c:369
+#: builtin/submodule--helper.c:373
 #, c-format
 msgid "Failed to register url for submodule path '%s'"
 msgstr ""
 
-#: builtin/submodule--helper.c:373
+#: builtin/submodule--helper.c:377
 #, c-format
 msgid "Submodule '%s' (%s) registered for path '%s'\n"
 msgstr ""
 
-#: builtin/submodule--helper.c:383
+#: builtin/submodule--helper.c:387
 #, c-format
 msgid "warning: command update mode suggested for submodule '%s'\n"
 msgstr ""
 
-#: builtin/submodule--helper.c:390
+#: builtin/submodule--helper.c:394
 #, c-format
 msgid "Failed to register update mode for submodule path '%s'"
 msgstr ""
 
-#: builtin/submodule--helper.c:409
+#: builtin/submodule--helper.c:410
 msgid "Suppress output for initializing a submodule"
 msgstr ""
 
-#: builtin/submodule--helper.c:414
+#: builtin/submodule--helper.c:415
 msgid "git submodule--helper init [<path>]"
 msgstr ""
 
-#: builtin/submodule--helper.c:435
+#: builtin/submodule--helper.c:436
 msgid "git submodule--helper name <path>"
 msgstr ""
 
-#: builtin/submodule--helper.c:441
+#: builtin/submodule--helper.c:442
 #, c-format
 msgid "no submodule mapping found in .gitmodules for path '%s'"
 msgstr ""
 
-#: builtin/submodule--helper.c:524 builtin/submodule--helper.c:527
+#: builtin/submodule--helper.c:525 builtin/submodule--helper.c:528
 #, c-format
 msgid "submodule '%s' cannot add alternate: %s"
 msgstr ""
 
-#: builtin/submodule--helper.c:563
+#: builtin/submodule--helper.c:564
 #, c-format
 msgid "Value '%s' for submodule.alternateErrorStrategy is not recognized"
 msgstr ""
 
-#: builtin/submodule--helper.c:570
+#: builtin/submodule--helper.c:571
 #, c-format
 msgid "Value '%s' for submodule.alternateLocation is not recognized"
 msgstr ""
 
-#: builtin/submodule--helper.c:593
+#: builtin/submodule--helper.c:595
 msgid "where the new submodule will be cloned to"
 msgstr ""
 
-#: builtin/submodule--helper.c:596
+#: builtin/submodule--helper.c:598
 msgid "name of the new submodule"
 msgstr ""
 
-#: builtin/submodule--helper.c:599
+#: builtin/submodule--helper.c:601
 msgid "url where to clone the submodule from"
 msgstr ""
 
-#: builtin/submodule--helper.c:605
+#: builtin/submodule--helper.c:607
 msgid "depth for shallow clones"
 msgstr ""
 
-#: builtin/submodule--helper.c:608 builtin/submodule--helper.c:964
+#: builtin/submodule--helper.c:610 builtin/submodule--helper.c:980
 msgid "force cloning progress"
 msgstr ""
 
-#: builtin/submodule--helper.c:613
+#: builtin/submodule--helper.c:615
 msgid ""
 "git submodule--helper clone [--prefix=<path>] [--quiet] [--reference "
 "<repository>] [--name <name>] [--depth <depth>] --url <url> --path <path>"
 msgstr ""
 
-#: builtin/submodule--helper.c:638 builtin/submodule--helper.c:648
-#, c-format
-msgid "could not create directory '%s'"
-msgstr ""
-
-#: builtin/submodule--helper.c:644
+#: builtin/submodule--helper.c:646
 #, c-format
 msgid "clone of '%s' into submodule path '%s' failed"
 msgstr ""
 
-#: builtin/submodule--helper.c:660
+#: builtin/submodule--helper.c:662
 #, c-format
 msgid "cannot open file '%s'"
 msgstr ""
 
-#: builtin/submodule--helper.c:665
+#: builtin/submodule--helper.c:667
 #, c-format
 msgid "could not close file %s"
 msgstr ""
 
-#: builtin/submodule--helper.c:672
+#: builtin/submodule--helper.c:674
 #, c-format
 msgid "could not get submodule directory for '%s'"
 msgstr ""
 
-#: builtin/submodule--helper.c:726
+#: builtin/submodule--helper.c:742
 #, c-format
 msgid "Submodule path '%s' not initialized"
 msgstr ""
 
-#: builtin/submodule--helper.c:730
+#: builtin/submodule--helper.c:746
 msgid "Maybe you want to use 'update --init'?"
 msgstr ""
 
-#: builtin/submodule--helper.c:756
+#: builtin/submodule--helper.c:772
 #, c-format
 msgid "Skipping unmerged submodule %s"
 msgstr ""
 
-#: builtin/submodule--helper.c:777
+#: builtin/submodule--helper.c:793
 #, c-format
 msgid "Skipping submodule '%s'"
 msgstr ""
 
-#: builtin/submodule--helper.c:913
+#: builtin/submodule--helper.c:929
 #, c-format
 msgid "Failed to clone '%s'. Retry scheduled"
 msgstr ""
 
-#: builtin/submodule--helper.c:924
+#: builtin/submodule--helper.c:940
 #, c-format
 msgid "Failed to clone '%s' a second time, aborting"
 msgstr ""
 
-#: builtin/submodule--helper.c:945
+#: builtin/submodule--helper.c:961 builtin/submodule--helper.c:1105
 msgid "path into the working tree"
 msgstr ""
 
-#: builtin/submodule--helper.c:948
+#: builtin/submodule--helper.c:964
 msgid "path into the working tree, across nested submodule boundaries"
 msgstr ""
 
-#: builtin/submodule--helper.c:952
+#: builtin/submodule--helper.c:968
 msgid "rebase, merge, checkout or none"
 msgstr ""
 
-#: builtin/submodule--helper.c:956
+#: builtin/submodule--helper.c:972
 msgid "Create a shallow clone truncated to the specified number of revisions"
 msgstr ""
 
-#: builtin/submodule--helper.c:959
+#: builtin/submodule--helper.c:975
 msgid "parallel jobs"
 msgstr ""
 
-#: builtin/submodule--helper.c:961
+#: builtin/submodule--helper.c:977
 msgid "whether the initial clone should follow the shallow recommendation"
 msgstr ""
 
-#: builtin/submodule--helper.c:962
+#: builtin/submodule--helper.c:978
 msgid "don't print cloning progress"
 msgstr ""
 
-#: builtin/submodule--helper.c:969
+#: builtin/submodule--helper.c:985
 msgid "git submodule--helper update_clone [--prefix=<path>] [<path>...]"
 msgstr ""
 
-#: builtin/submodule--helper.c:979
+#: builtin/submodule--helper.c:995
 msgid "bad value for update parameter"
 msgstr ""
 
-#: builtin/submodule--helper.c:1050
+#: builtin/submodule--helper.c:1066
 #, c-format
 msgid ""
 "Submodule (%s) branch configured to inherit branch from superproject, but "
 "the superproject is not on any branch"
 msgstr ""
 
-#: builtin/submodule--helper.c:1100
+#: builtin/submodule--helper.c:1106
+msgid "recurse into submodules"
+msgstr ""
+
+#: builtin/submodule--helper.c:1112
+msgid "git submodule--helper embed-git-dir [<path>...]"
+msgstr ""
+
+#: builtin/submodule--helper.c:1157
 msgid "submodule--helper subcommand must be called with a subcommand"
 msgstr ""
 
-#: builtin/submodule--helper.c:1107
+#: builtin/submodule--helper.c:1164
+#, c-format
+msgid "%s doesn't support --super-prefix"
+msgstr ""
+
+#: builtin/submodule--helper.c:1170
 #, c-format
 msgid "'%s' is not a valid submodule--helper subcommand"
 msgstr ""
@@ -11782,25 +12196,25 @@
 msgstr ""
 
 #: builtin/tag.c:27
-msgid "git tag -v <tagname>..."
+msgid "git tag -v [--format=<format>] <tagname>..."
 msgstr ""
 
-#: builtin/tag.c:81
+#: builtin/tag.c:82
 #, c-format
 msgid "tag name too long: %.*s..."
 msgstr ""
 
-#: builtin/tag.c:86
+#: builtin/tag.c:87
 #, c-format
 msgid "tag '%s' not found."
 msgstr ""
 
-#: builtin/tag.c:101
+#: builtin/tag.c:102
 #, c-format
 msgid "Deleted tag '%s' (was %s)\n"
 msgstr ""
 
-#: builtin/tag.c:117
+#: builtin/tag.c:131
 #, c-format
 msgid ""
 "\n"
@@ -11809,7 +12223,7 @@
 "Lines starting with '%c' will be ignored.\n"
 msgstr ""
 
-#: builtin/tag.c:121
+#: builtin/tag.c:135
 #, c-format
 msgid ""
 "\n"
@@ -11819,138 +12233,138 @@
 "want to.\n"
 msgstr ""
 
-#: builtin/tag.c:199
+#: builtin/tag.c:213
 msgid "unable to sign the tag"
 msgstr ""
 
-#: builtin/tag.c:201
+#: builtin/tag.c:215
 msgid "unable to write tag file"
 msgstr ""
 
-#: builtin/tag.c:226
+#: builtin/tag.c:240
 msgid "bad object type."
 msgstr ""
 
-#: builtin/tag.c:239
+#: builtin/tag.c:253
 msgid "tag header too big."
 msgstr ""
 
-#: builtin/tag.c:275
+#: builtin/tag.c:289
 msgid "no tag message?"
 msgstr ""
 
-#: builtin/tag.c:281
+#: builtin/tag.c:295
 #, c-format
 msgid "The tag message has been left in %s\n"
 msgstr ""
 
-#: builtin/tag.c:339
+#: builtin/tag.c:354
 msgid "list tag names"
 msgstr ""
 
-#: builtin/tag.c:341
+#: builtin/tag.c:356
 msgid "print <n> lines of each tag message"
 msgstr ""
 
-#: builtin/tag.c:343
+#: builtin/tag.c:358
 msgid "delete tags"
 msgstr ""
 
-#: builtin/tag.c:344
+#: builtin/tag.c:359
 msgid "verify tags"
 msgstr ""
 
-#: builtin/tag.c:346
+#: builtin/tag.c:361
 msgid "Tag creation options"
 msgstr ""
 
-#: builtin/tag.c:348
+#: builtin/tag.c:363
 msgid "annotated tag, needs a message"
 msgstr ""
 
-#: builtin/tag.c:350
+#: builtin/tag.c:365
 msgid "tag message"
 msgstr ""
 
-#: builtin/tag.c:352
+#: builtin/tag.c:367
 msgid "annotated and GPG-signed tag"
 msgstr ""
 
-#: builtin/tag.c:356
+#: builtin/tag.c:371
 msgid "use another key to sign the tag"
 msgstr ""
 
-#: builtin/tag.c:357
+#: builtin/tag.c:372
 msgid "replace the tag if exists"
 msgstr ""
 
-#: builtin/tag.c:358 builtin/update-ref.c:368
+#: builtin/tag.c:373 builtin/update-ref.c:368
 msgid "create a reflog"
 msgstr ""
 
-#: builtin/tag.c:360
+#: builtin/tag.c:375
 msgid "Tag listing options"
 msgstr ""
 
-#: builtin/tag.c:361
+#: builtin/tag.c:376
 msgid "show tag list in columns"
 msgstr ""
 
-#: builtin/tag.c:362 builtin/tag.c:363
+#: builtin/tag.c:377 builtin/tag.c:378
 msgid "print only tags that contain the commit"
 msgstr ""
 
-#: builtin/tag.c:364
+#: builtin/tag.c:379
 msgid "print only tags that are merged"
 msgstr ""
 
-#: builtin/tag.c:365
+#: builtin/tag.c:380
 msgid "print only tags that are not merged"
 msgstr ""
 
-#: builtin/tag.c:370
+#: builtin/tag.c:385
 msgid "print only tags of the object"
 msgstr ""
 
-#: builtin/tag.c:399
+#: builtin/tag.c:415
 msgid "--column and -n are incompatible"
 msgstr ""
 
-#: builtin/tag.c:419
+#: builtin/tag.c:437
 msgid "-n option is only allowed with -l."
 msgstr ""
 
-#: builtin/tag.c:421
+#: builtin/tag.c:439
 msgid "--contains option is only allowed with -l."
 msgstr ""
 
-#: builtin/tag.c:423
+#: builtin/tag.c:441
 msgid "--points-at option is only allowed with -l."
 msgstr ""
 
-#: builtin/tag.c:425
+#: builtin/tag.c:443
 msgid "--merged and --no-merged option are only allowed with -l"
 msgstr ""
 
-#: builtin/tag.c:433
+#: builtin/tag.c:454
 msgid "only one -F or -m option is allowed."
 msgstr ""
 
-#: builtin/tag.c:452
+#: builtin/tag.c:473
 msgid "too many params"
 msgstr ""
 
-#: builtin/tag.c:458
+#: builtin/tag.c:479
 #, c-format
 msgid "'%s' is not a valid tag name."
 msgstr ""
 
-#: builtin/tag.c:463
+#: builtin/tag.c:484
 #, c-format
 msgid "tag '%s' already exists"
 msgstr ""
 
-#: builtin/tag.c:491
+#: builtin/tag.c:512
 #, c-format
 msgid "Updated tag '%s' (was %s)\n"
 msgstr ""
@@ -12137,23 +12551,23 @@
 msgid "enable untracked cache without testing the filesystem"
 msgstr ""
 
-#: builtin/update-index.c:1119
+#: builtin/update-index.c:1120
 msgid ""
 "core.untrackedCache is set to true; remove or change it, if you really want "
 "to disable the untracked cache"
 msgstr ""
 
-#: builtin/update-index.c:1123
+#: builtin/update-index.c:1124
 msgid "Untracked cache disabled"
 msgstr ""
 
-#: builtin/update-index.c:1131
+#: builtin/update-index.c:1132
 msgid ""
 "core.untrackedCache is set to false; remove or change it, if you really want "
 "to enable the untracked cache"
 msgstr ""
 
-#: builtin/update-index.c:1135
+#: builtin/update-index.c:1136
 #, c-format
 msgid "Untracked cache enabled for '%s'"
 msgstr ""
@@ -12202,7 +12616,7 @@
 msgid "print commit contents"
 msgstr ""
 
-#: builtin/verify-commit.c:73 builtin/verify-tag.c:35
+#: builtin/verify-commit.c:73 builtin/verify-tag.c:37
 msgid "print raw gpg status output"
 msgstr ""
 
@@ -12218,11 +12632,11 @@
 msgid "show statistics only"
 msgstr ""
 
-#: builtin/verify-tag.c:17
-msgid "git verify-tag [-v | --verbose] <tag>..."
+#: builtin/verify-tag.c:18
+msgid "git verify-tag [-v | --verbose] [--format=<format>] <tag>..."
 msgstr ""
 
-#: builtin/verify-tag.c:34
+#: builtin/verify-tag.c:36
 msgid "print tag contents"
 msgstr ""
 
@@ -12271,6 +12685,14 @@
 msgid "Removing worktrees/%s: gitdir file points to non-existent location"
 msgstr ""
 
+#: builtin/worktree.c:128
+msgid "report pruned working trees"
+msgstr ""
+
+#: builtin/worktree.c:130
+msgid "expire working trees older than <time>"
+msgstr ""
+
 #: builtin/worktree.c:204
 #, c-format
 msgid "'%s' already exists"
@@ -12306,30 +12728,30 @@
 msgid "-b, -B, and --detach are mutually exclusive"
 msgstr ""
 
-#: builtin/worktree.c:470
+#: builtin/worktree.c:472
 msgid "reason for locking"
 msgstr ""
 
-#: builtin/worktree.c:482 builtin/worktree.c:515
+#: builtin/worktree.c:484 builtin/worktree.c:517
 #, c-format
 msgid "'%s' is not a working tree"
 msgstr ""
 
-#: builtin/worktree.c:484 builtin/worktree.c:517
+#: builtin/worktree.c:486 builtin/worktree.c:519
 msgid "The main working tree cannot be locked or unlocked"
 msgstr ""
 
-#: builtin/worktree.c:489
-#, c-format
-msgid "'%s' is already locked, reason: %s"
-msgstr ""
-
 #: builtin/worktree.c:491
 #, c-format
+msgid "'%s' is already locked, reason: %s"
+msgstr ""
+
+#: builtin/worktree.c:493
+#, c-format
 msgid "'%s' is already locked"
 msgstr ""
 
-#: builtin/worktree.c:519
+#: builtin/worktree.c:521
 #, c-format
 msgid "'%s' is not locked"
 msgstr ""
@@ -12354,19 +12776,19 @@
 msgid "git upload-pack [<options>] <dir>"
 msgstr ""
 
-#: upload-pack.c:1028
+#: upload-pack.c:1036
 msgid "quit after a single request/response exchange"
 msgstr ""
 
-#: upload-pack.c:1030
+#: upload-pack.c:1038
 msgid "exit immediately after initial ref advertisement"
 msgstr ""
 
-#: upload-pack.c:1032
+#: upload-pack.c:1040
 msgid "do not try <directory>/.git/ if <directory> is no Git directory"
 msgstr ""
 
-#: upload-pack.c:1034
+#: upload-pack.c:1042
 msgid "interrupt transfer after <n> seconds of inactivity"
 msgstr ""
 
@@ -12390,14 +12812,27 @@
 "to read about a specific subcommand or concept."
 msgstr ""
 
-#: http.c:342
+#: http.c:344
 msgid "Delegation control is not supported with cURL < 7.22.0"
 msgstr ""
 
-#: http.c:351
+#: http.c:353
 msgid "Public key pinning not supported with cURL < 7.44.0"
 msgstr ""
 
+#: http.c:1713
+#, c-format
+msgid ""
+"unable to update url base from redirection:\n"
+"  asked for: %s\n"
+"   redirect: %s"
+msgstr ""
+
+#: remote-curl.c:319
+#, c-format
+msgid "redirecting to %s"
+msgstr ""
+
 #: common-cmds.h:9
 msgid "start a working area (see also: git help tutorial)"
 msgstr ""
@@ -12746,7 +13181,7 @@
 msgid "Simple merge did not work, trying automatic merge."
 msgstr ""
 
-#: git-rebase.sh:56
+#: git-rebase.sh:57
 msgid ""
 "When you have resolved this problem, run \"git rebase --continue\".\n"
 "If you prefer to skip this patch, run \"git rebase --skip\" instead.\n"
@@ -12754,54 +13189,43 @@
 "\"."
 msgstr ""
 
-#: git-rebase.sh:156 git-rebase.sh:395
+#: git-rebase.sh:157 git-rebase.sh:396
 #, sh-format
 msgid "Could not move back to $head_name"
 msgstr ""
 
-#: git-rebase.sh:167
-msgid "Applied autostash."
-msgstr ""
-
-#: git-rebase.sh:170
+#: git-rebase.sh:171
 #, sh-format
 msgid "Cannot store $stash_sha1"
 msgstr ""
 
-#: git-rebase.sh:171
-msgid ""
-"Applying autostash resulted in conflicts.\n"
-"Your changes are safe in the stash.\n"
-"You can run \"git stash pop\" or \"git stash drop\" at any time.\n"
-msgstr ""
-
-#: git-rebase.sh:210
+#: git-rebase.sh:211
 msgid "The pre-rebase hook refused to rebase."
 msgstr ""
 
-#: git-rebase.sh:215
+#: git-rebase.sh:216
 msgid "It looks like git-am is in progress. Cannot rebase."
 msgstr ""
 
-#: git-rebase.sh:356
+#: git-rebase.sh:357
 msgid "No rebase in progress?"
 msgstr ""
 
-#: git-rebase.sh:367
+#: git-rebase.sh:368
 msgid "The --edit-todo action can only be used during interactive rebase."
 msgstr ""
 
-#: git-rebase.sh:374
+#: git-rebase.sh:375
 msgid "Cannot read HEAD"
 msgstr ""
 
-#: git-rebase.sh:377
+#: git-rebase.sh:378
 msgid ""
 "You must edit all merge conflicts and then\n"
 "mark them as resolved using git add"
 msgstr ""
 
-#: git-rebase.sh:414
+#: git-rebase.sh:418
 #, sh-format
 msgid ""
 "It seems that there is already a $state_dir_base directory, and\n"
@@ -12814,64 +13238,64 @@
 "valuable there."
 msgstr ""
 
-#: git-rebase.sh:465
+#: git-rebase.sh:469
 #, sh-format
 msgid "invalid upstream $upstream_name"
 msgstr ""
 
-#: git-rebase.sh:489
+#: git-rebase.sh:493
 #, sh-format
 msgid "$onto_name: there are more than one merge bases"
 msgstr ""
 
-#: git-rebase.sh:492 git-rebase.sh:496
+#: git-rebase.sh:496 git-rebase.sh:500
 #, sh-format
 msgid "$onto_name: there is no merge base"
 msgstr ""
 
-#: git-rebase.sh:501
+#: git-rebase.sh:505
 #, sh-format
 msgid "Does not point to a valid commit: $onto_name"
 msgstr ""
 
-#: git-rebase.sh:524
+#: git-rebase.sh:528
 #, sh-format
 msgid "fatal: no such branch: $branch_name"
 msgstr ""
 
-#: git-rebase.sh:557
+#: git-rebase.sh:561
 msgid "Cannot autostash"
 msgstr ""
 
-#: git-rebase.sh:562
+#: git-rebase.sh:566
 #, sh-format
 msgid "Created autostash: $stash_abbrev"
 msgstr ""
 
-#: git-rebase.sh:566
+#: git-rebase.sh:570
 msgid "Please commit or stash them."
 msgstr ""
 
-#: git-rebase.sh:586
-#, sh-format
-msgid "Current branch $branch_name is up to date."
-msgstr ""
-
 #: git-rebase.sh:590
 #, sh-format
+msgid "Current branch $branch_name is up to date."
+msgstr ""
+
+#: git-rebase.sh:594
+#, sh-format
 msgid "Current branch $branch_name is up to date, rebase forced."
 msgstr ""
 
-#: git-rebase.sh:601
+#: git-rebase.sh:605
 #, sh-format
 msgid "Changes from $mb to $onto:"
 msgstr ""
 
-#: git-rebase.sh:610
+#: git-rebase.sh:614
 msgid "First, rewinding head to replay your work on top of it..."
 msgstr ""
 
-#: git-rebase.sh:620
+#: git-rebase.sh:624
 #, sh-format
 msgid "Fast-forwarded $branch_name to $onto_name."
 msgstr ""
@@ -13034,21 +13458,26 @@
 msgid "(To restore them type \"git stash apply\")"
 msgstr ""
 
-#: git-submodule.sh:184
+#: git-submodule.sh:181
 msgid "Relative path can only be used from the toplevel of the working tree"
 msgstr ""
 
-#: git-submodule.sh:194
+#: git-submodule.sh:191
 #, sh-format
 msgid "repo URL: '$repo' must be absolute or begin with ./|../"
 msgstr ""
 
-#: git-submodule.sh:211
+#: git-submodule.sh:210
 #, sh-format
 msgid "'$sm_path' already exists in the index"
 msgstr ""
 
-#: git-submodule.sh:215
+#: git-submodule.sh:213
+#, sh-format
+msgid "'$sm_path' already exists in the index and is not a submodule"
+msgstr ""
+
+#: git-submodule.sh:218
 #, sh-format
 msgid ""
 "The following path is ignored by one of your .gitignore files:\n"
@@ -13056,22 +13485,22 @@
 "Use -f if you really want to add it."
 msgstr ""
 
-#: git-submodule.sh:233
+#: git-submodule.sh:236
 #, sh-format
 msgid "Adding existing repo at '$sm_path' to the index"
 msgstr ""
 
-#: git-submodule.sh:235
+#: git-submodule.sh:238
 #, sh-format
 msgid "'$sm_path' already exists and is not a valid git repo"
 msgstr ""
 
-#: git-submodule.sh:243
+#: git-submodule.sh:246
 #, sh-format
 msgid "A git directory for '$sm_name' is found locally with remote(s):"
 msgstr ""
 
-#: git-submodule.sh:245
+#: git-submodule.sh:248
 #, sh-format
 msgid ""
 "If you want to reuse this local git directory instead of cloning again from\n"
@@ -13082,184 +13511,184 @@
 "option."
 msgstr ""
 
-#: git-submodule.sh:251
+#: git-submodule.sh:254
 #, sh-format
 msgid "Reactivating local git directory for submodule '$sm_name'."
 msgstr ""
 
-#: git-submodule.sh:263
+#: git-submodule.sh:266
 #, sh-format
 msgid "Unable to checkout submodule '$sm_path'"
 msgstr ""
 
-#: git-submodule.sh:268
+#: git-submodule.sh:271
 #, sh-format
 msgid "Failed to add submodule '$sm_path'"
 msgstr ""
 
-#: git-submodule.sh:277
+#: git-submodule.sh:280
 #, sh-format
 msgid "Failed to register submodule '$sm_path'"
 msgstr ""
 
-#: git-submodule.sh:324
+#: git-submodule.sh:327
 #, sh-format
 msgid "Entering '$displaypath'"
 msgstr ""
 
-#: git-submodule.sh:344
+#: git-submodule.sh:347
 #, sh-format
 msgid "Stopping at '$displaypath'; script returned non-zero status."
 msgstr ""
 
-#: git-submodule.sh:415
+#: git-submodule.sh:418
 #, sh-format
 msgid "pathspec and --all are incompatible"
 msgstr ""
 
-#: git-submodule.sh:420
+#: git-submodule.sh:423
 #, sh-format
 msgid "Use '--all' if you really want to deinitialize all submodules"
 msgstr ""
 
-#: git-submodule.sh:440
+#: git-submodule.sh:443
 #, sh-format
 msgid ""
 "Submodule work tree '$displaypath' contains a .git directory\n"
 "(use 'rm -rf' if you really want to remove it including all of its history)"
 msgstr ""
 
-#: git-submodule.sh:448
+#: git-submodule.sh:451
 #, sh-format
 msgid ""
 "Submodule work tree '$displaypath' contains local modifications; use '-f' to "
 "discard them"
 msgstr ""
 
-#: git-submodule.sh:451
+#: git-submodule.sh:454
 #, sh-format
 msgid "Cleared directory '$displaypath'"
 msgstr ""
 
-#: git-submodule.sh:452
+#: git-submodule.sh:455
 #, sh-format
 msgid "Could not remove submodule work tree '$displaypath'"
 msgstr ""
 
-#: git-submodule.sh:455
+#: git-submodule.sh:458
 #, sh-format
 msgid "Could not create empty submodule directory '$displaypath'"
 msgstr ""
 
-#: git-submodule.sh:464
+#: git-submodule.sh:467
 #, sh-format
 msgid "Submodule '$name' ($url) unregistered for path '$displaypath'"
 msgstr ""
 
-#: git-submodule.sh:617
+#: git-submodule.sh:623
 #, sh-format
 msgid "Unable to find current revision in submodule path '$displaypath'"
 msgstr ""
 
-#: git-submodule.sh:627
+#: git-submodule.sh:633
 #, sh-format
 msgid "Unable to fetch in submodule path '$sm_path'"
 msgstr ""
 
-#: git-submodule.sh:632
+#: git-submodule.sh:638
 #, sh-format
 msgid ""
 "Unable to find current ${remote_name}/${branch} revision in submodule path "
 "'$sm_path'"
 msgstr ""
 
-#: git-submodule.sh:650
+#: git-submodule.sh:656
 #, sh-format
 msgid "Unable to fetch in submodule path '$displaypath'"
 msgstr ""
 
-#: git-submodule.sh:656
+#: git-submodule.sh:662
 #, sh-format
 msgid ""
 "Fetched in submodule path '$displaypath', but it did not contain $sha1. "
 "Direct fetching of that commit failed."
 msgstr ""
 
-#: git-submodule.sh:663
+#: git-submodule.sh:669
 #, sh-format
 msgid "Unable to checkout '$sha1' in submodule path '$displaypath'"
 msgstr ""
 
-#: git-submodule.sh:664
+#: git-submodule.sh:670
 #, sh-format
 msgid "Submodule path '$displaypath': checked out '$sha1'"
 msgstr ""
 
-#: git-submodule.sh:668
+#: git-submodule.sh:674
 #, sh-format
 msgid "Unable to rebase '$sha1' in submodule path '$displaypath'"
 msgstr ""
 
-#: git-submodule.sh:669
+#: git-submodule.sh:675
 #, sh-format
 msgid "Submodule path '$displaypath': rebased into '$sha1'"
 msgstr ""
 
-#: git-submodule.sh:674
+#: git-submodule.sh:680
 #, sh-format
 msgid "Unable to merge '$sha1' in submodule path '$displaypath'"
 msgstr ""
 
-#: git-submodule.sh:675
+#: git-submodule.sh:681
 #, sh-format
 msgid "Submodule path '$displaypath': merged in '$sha1'"
 msgstr ""
 
-#: git-submodule.sh:680
+#: git-submodule.sh:686
 #, sh-format
 msgid "Execution of '$command $sha1' failed in submodule path '$displaypath'"
 msgstr ""
 
-#: git-submodule.sh:681
+#: git-submodule.sh:687
 #, sh-format
 msgid "Submodule path '$displaypath': '$command $sha1'"
 msgstr ""
 
-#: git-submodule.sh:712
+#: git-submodule.sh:718
 #, sh-format
 msgid "Failed to recurse into submodule path '$displaypath'"
 msgstr ""
 
-#: git-submodule.sh:820
+#: git-submodule.sh:826
 msgid "The --cached option cannot be used with the --files option"
 msgstr ""
 
-#: git-submodule.sh:872
+#: git-submodule.sh:878
 #, sh-format
 msgid "unexpected mode $mod_dst"
 msgstr ""
 
-#: git-submodule.sh:892
+#: git-submodule.sh:898
 #, sh-format
 msgid "  Warn: $display_name doesn't contain commit $sha1_src"
 msgstr ""
 
-#: git-submodule.sh:895
+#: git-submodule.sh:901
 #, sh-format
 msgid "  Warn: $display_name doesn't contain commit $sha1_dst"
 msgstr ""
 
-#: git-submodule.sh:898
+#: git-submodule.sh:904
 #, sh-format
 msgid "  Warn: $display_name doesn't contain commits $sha1_src and $sha1_dst"
 msgstr ""
 
-#: git-submodule.sh:1045
+#: git-submodule.sh:1051
 #, sh-format
 msgid "Failed to recurse into submodule path '$sm_path'"
 msgstr ""
 
-#: git-submodule.sh:1112
+#: git-submodule.sh:1118
 #, sh-format
 msgid "Synchronizing submodule url for '$displaypath'"
 msgstr ""
@@ -13374,26 +13803,22 @@
 msgstr[0] ""
 msgstr[1] ""
 
-#: git-rebase--interactive.sh:440
+#: git-rebase--interactive.sh:441
 #, sh-format
 msgid "Cannot write $fixup_msg"
 msgstr ""
 
-#: git-rebase--interactive.sh:443
+#: git-rebase--interactive.sh:444
 msgid "This is a combination of 2 commits."
 msgstr ""
 
-#: git-rebase--interactive.sh:444
-msgid "This is the 1st commit message:"
-msgstr ""
-
-#: git-rebase--interactive.sh:484 git-rebase--interactive.sh:527
-#: git-rebase--interactive.sh:530
+#: git-rebase--interactive.sh:485 git-rebase--interactive.sh:528
+#: git-rebase--interactive.sh:531
 #, sh-format
 msgid "Could not apply $sha1... $rest"
 msgstr ""
 
-#: git-rebase--interactive.sh:558
+#: git-rebase--interactive.sh:559
 #, sh-format
 msgid ""
 "Could not amend commit after successfully picking $sha1... $rest\n"
@@ -13403,31 +13828,31 @@
 "you are able to reword the commit."
 msgstr ""
 
-#: git-rebase--interactive.sh:573
+#: git-rebase--interactive.sh:574
 #, sh-format
 msgid "Stopped at $sha1_abbrev... $rest"
 msgstr ""
 
-#: git-rebase--interactive.sh:588
+#: git-rebase--interactive.sh:589
 #, sh-format
 msgid "Cannot '$squash_style' without a previous commit"
 msgstr ""
 
-#: git-rebase--interactive.sh:630
+#: git-rebase--interactive.sh:631
 #, sh-format
 msgid "Executing: $rest"
 msgstr ""
 
-#: git-rebase--interactive.sh:638
+#: git-rebase--interactive.sh:639
 #, sh-format
 msgid "Execution failed: $rest"
 msgstr ""
 
-#: git-rebase--interactive.sh:640
+#: git-rebase--interactive.sh:641
 msgid "and made changes to the index and/or the working tree"
 msgstr ""
 
-#: git-rebase--interactive.sh:642
+#: git-rebase--interactive.sh:643
 msgid ""
 "You can fix the problem, and then run\n"
 "\n"
@@ -13435,7 +13860,7 @@
 msgstr ""
 
 #. TRANSLATORS: after these lines is a command to be issued by the user
-#: git-rebase--interactive.sh:655
+#: git-rebase--interactive.sh:656
 #, sh-format
 msgid ""
 "Execution succeeded: $rest\n"
@@ -13445,49 +13870,49 @@
 "\tgit rebase --continue"
 msgstr ""
 
-#: git-rebase--interactive.sh:666
+#: git-rebase--interactive.sh:667
 #, sh-format
 msgid "Unknown command: $command $sha1 $rest"
 msgstr ""
 
-#: git-rebase--interactive.sh:667
+#: git-rebase--interactive.sh:668
 msgid "Please fix this using 'git rebase --edit-todo'."
 msgstr ""
 
-#: git-rebase--interactive.sh:702
+#: git-rebase--interactive.sh:703
 #, sh-format
 msgid "Successfully rebased and updated $head_name."
 msgstr ""
 
-#: git-rebase--interactive.sh:749
+#: git-rebase--interactive.sh:750
 msgid "Could not skip unnecessary pick commands"
 msgstr ""
 
-#: git-rebase--interactive.sh:907
+#: git-rebase--interactive.sh:908
 #, sh-format
 msgid ""
 "Warning: the SHA-1 is missing or isn't a commit in the following line:\n"
 " - $line"
 msgstr ""
 
-#: git-rebase--interactive.sh:940
+#: git-rebase--interactive.sh:941
 #, sh-format
 msgid ""
 "Warning: the command isn't recognized in the following line:\n"
 " - $line"
 msgstr ""
 
-#: git-rebase--interactive.sh:979
+#: git-rebase--interactive.sh:980
 msgid "could not detach HEAD"
 msgstr ""
 
-#: git-rebase--interactive.sh:1017
+#: git-rebase--interactive.sh:1018
 msgid ""
 "Warning: some commits may have been dropped accidentally.\n"
 "Dropped commits (newer to older):"
 msgstr ""
 
-#: git-rebase--interactive.sh:1025
+#: git-rebase--interactive.sh:1026
 msgid ""
 "To avoid this message, use \"drop\" to explicitly remove a commit.\n"
 "\n"
@@ -13496,28 +13921,28 @@
 "The possible behaviours are: ignore, warn, error."
 msgstr ""
 
-#: git-rebase--interactive.sh:1036
+#: git-rebase--interactive.sh:1037
 #, sh-format
 msgid ""
 "Unrecognized setting $check_level for option rebase.missingCommitsCheck. "
 "Ignoring."
 msgstr ""
 
-#: git-rebase--interactive.sh:1053
+#: git-rebase--interactive.sh:1054
 msgid ""
 "You can fix this with 'git rebase --edit-todo' and then run 'git rebase --"
 "continue'."
 msgstr ""
 
-#: git-rebase--interactive.sh:1054
+#: git-rebase--interactive.sh:1055
 msgid "Or you can abort the rebase with 'git rebase --abort'."
 msgstr ""
 
-#: git-rebase--interactive.sh:1078
+#: git-rebase--interactive.sh:1079
 msgid "Could not remove CHERRY_PICK_HEAD"
 msgstr ""
 
-#: git-rebase--interactive.sh:1083
+#: git-rebase--interactive.sh:1084
 #, sh-format
 msgid ""
 "You have staged changes in your working tree.\n"
@@ -13535,21 +13960,21 @@
 "  git rebase --continue\n"
 msgstr ""
 
-#: git-rebase--interactive.sh:1100
+#: git-rebase--interactive.sh:1101
 msgid "Error trying to find the author identity to amend commit"
 msgstr ""
 
-#: git-rebase--interactive.sh:1105
+#: git-rebase--interactive.sh:1106
 msgid ""
 "You have uncommitted changes in your working tree. Please commit them\n"
 "first and then run 'git rebase --continue' again."
 msgstr ""
 
-#: git-rebase--interactive.sh:1110 git-rebase--interactive.sh:1114
+#: git-rebase--interactive.sh:1111 git-rebase--interactive.sh:1115
 msgid "Could not commit staged changes."
 msgstr ""
 
-#: git-rebase--interactive.sh:1138
+#: git-rebase--interactive.sh:1139
 msgid ""
 "\n"
 "You are editing the todo file of an ongoing interactive rebase.\n"
@@ -13558,47 +13983,47 @@
 "\n"
 msgstr ""
 
-#: git-rebase--interactive.sh:1146 git-rebase--interactive.sh:1304
+#: git-rebase--interactive.sh:1147 git-rebase--interactive.sh:1305
 msgid "Could not execute editor"
 msgstr ""
 
-#: git-rebase--interactive.sh:1159
+#: git-rebase--interactive.sh:1160
 #, sh-format
 msgid "Could not checkout $switch_to"
 msgstr ""
 
-#: git-rebase--interactive.sh:1164
+#: git-rebase--interactive.sh:1165
 msgid "No HEAD?"
 msgstr ""
 
-#: git-rebase--interactive.sh:1165
+#: git-rebase--interactive.sh:1166
 #, sh-format
 msgid "Could not create temporary $state_dir"
 msgstr ""
 
-#: git-rebase--interactive.sh:1167
+#: git-rebase--interactive.sh:1168
 msgid "Could not mark as interactive"
 msgstr ""
 
-#: git-rebase--interactive.sh:1177 git-rebase--interactive.sh:1182
+#: git-rebase--interactive.sh:1178 git-rebase--interactive.sh:1183
 msgid "Could not init rewritten commits"
 msgstr ""
 
-#: git-rebase--interactive.sh:1282
+#: git-rebase--interactive.sh:1283
 #, sh-format
 msgid "Rebase $shortrevisions onto $shortonto ($todocount command)"
 msgid_plural "Rebase $shortrevisions onto $shortonto ($todocount commands)"
 msgstr[0] ""
 msgstr[1] ""
 
-#: git-rebase--interactive.sh:1287
+#: git-rebase--interactive.sh:1288
 msgid ""
 "\n"
 "However, if you remove everything, the rebase will be aborted.\n"
 "\n"
 msgstr ""
 
-#: git-rebase--interactive.sh:1294
+#: git-rebase--interactive.sh:1295
 msgid "Note that empty commits are commented out"
 msgstr ""
 
@@ -13658,3 +14083,767 @@
 #: git-sh-setup.sh:377
 msgid "Unable to determine absolute path of git directory"
 msgstr ""
+
+#. TRANSLATORS: you can adjust this to align "git add -i" status menu
+#: git-add--interactive.perl:238
+#, perl-format
+msgid "%12s %12s %s"
+msgstr ""
+
+#: git-add--interactive.perl:239
+msgid "staged"
+msgstr ""
+
+#: git-add--interactive.perl:239
+msgid "unstaged"
+msgstr ""
+
+#: git-add--interactive.perl:297 git-add--interactive.perl:322
+msgid "binary"
+msgstr ""
+
+#: git-add--interactive.perl:306 git-add--interactive.perl:360
+msgid "nothing"
+msgstr ""
+
+#: git-add--interactive.perl:342 git-add--interactive.perl:357
+msgid "unchanged"
+msgstr ""
+
+#: git-add--interactive.perl:653
+#, perl-format
+msgid "added %d path\n"
+msgid_plural "added %d paths\n"
+msgstr[0] ""
+msgstr[1] ""
+
+#: git-add--interactive.perl:656
+#, perl-format
+msgid "updated %d path\n"
+msgid_plural "updated %d paths\n"
+msgstr[0] ""
+msgstr[1] ""
+
+#: git-add--interactive.perl:659
+#, perl-format
+msgid "reverted %d path\n"
+msgid_plural "reverted %d paths\n"
+msgstr[0] ""
+msgstr[1] ""
+
+#: git-add--interactive.perl:662
+#, perl-format
+msgid "touched %d path\n"
+msgid_plural "touched %d paths\n"
+msgstr[0] ""
+msgstr[1] ""
+
+#: git-add--interactive.perl:671
+msgid "Update"
+msgstr ""
+
+#: git-add--interactive.perl:683
+msgid "Revert"
+msgstr ""
+
+#: git-add--interactive.perl:706
+#, perl-format
+msgid "note: %s is untracked now.\n"
+msgstr ""
+
+#: git-add--interactive.perl:717
+msgid "Add untracked"
+msgstr ""
+
+#: git-add--interactive.perl:723
+msgid "No untracked files.\n"
+msgstr ""
+
+#: git-add--interactive.perl:1039
+msgid ""
+"If the patch applies cleanly, the edited hunk will immediately be\n"
+"marked for staging."
+msgstr ""
+
+#: git-add--interactive.perl:1042
+msgid ""
+"If the patch applies cleanly, the edited hunk will immediately be\n"
+"marked for stashing."
+msgstr ""
+
+#: git-add--interactive.perl:1045
+msgid ""
+"If the patch applies cleanly, the edited hunk will immediately be\n"
+"marked for unstaging."
+msgstr ""
+
+#: git-add--interactive.perl:1048 git-add--interactive.perl:1057
+msgid ""
+"If the patch applies cleanly, the edited hunk will immediately be\n"
+"marked for applying."
+msgstr ""
+
+#: git-add--interactive.perl:1051
+msgid ""
+"If the patch applies cleanly, the edited hunk will immediately be\n"
+"marked for discarding"
+msgstr ""
+
+#: git-add--interactive.perl:1054
+msgid ""
+"If the patch applies cleanly, the edited hunk will immediately be\n"
+"marked for discarding."
+msgstr ""
+
+#: git-add--interactive.perl:1067
+#, perl-format
+msgid "failed to open hunk edit file for writing: %s"
+msgstr ""
+
+#: git-add--interactive.perl:1068
+msgid "Manual hunk edit mode -- see bottom for a quick guide.\n"
+msgstr ""
+
+#: git-add--interactive.perl:1074
+#, perl-format
+msgid ""
+"---\n"
+"To remove '%s' lines, make them ' ' lines (context).\n"
+"To remove '%s' lines, delete them.\n"
+"Lines starting with %s will be removed.\n"
+msgstr ""
+
+#. TRANSLATORS: 'it' refers to the patch mentioned in the previous messages.
+#: git-add--interactive.perl:1082
+msgid ""
+"If it does not apply cleanly, you will be given an opportunity to\n"
+"edit again.  If all lines of the hunk are removed, then the edit is\n"
+"aborted and the hunk is left unchanged.\n"
+msgstr ""
+
+#: git-add--interactive.perl:1096
+#, perl-format
+msgid "failed to open hunk edit file for reading: %s"
+msgstr ""
+
+#. TRANSLATORS: do not translate [y/n]
+#. The program will only accept that input
+#. at this point.
+#. Consider translating (saying "no" discards!) as
+#. (saying "n" for "no" discards!) if the translation
+#. of the word "no" does not start with n.
+#: git-add--interactive.perl:1187
+msgid ""
+"Your edited hunk does not apply. Edit again (saying \"no\" discards!) [y/n]? "
+msgstr ""
+
+#: git-add--interactive.perl:1196
+msgid ""
+"y - stage this hunk\n"
+"n - do not stage this hunk\n"
+"q - quit; do not stage this hunk or any of the remaining ones\n"
+"a - stage this hunk and all later hunks in the file\n"
+"d - do not stage this hunk or any of the later hunks in the file"
+msgstr ""
+
+#: git-add--interactive.perl:1202
+msgid ""
+"y - stash this hunk\n"
+"n - do not stash this hunk\n"
+"q - quit; do not stash this hunk or any of the remaining ones\n"
+"a - stash this hunk and all later hunks in the file\n"
+"d - do not stash this hunk or any of the later hunks in the file"
+msgstr ""
+
+#: git-add--interactive.perl:1208
+msgid ""
+"y - unstage this hunk\n"
+"n - do not unstage this hunk\n"
+"q - quit; do not unstage this hunk or any of the remaining ones\n"
+"a - unstage this hunk and all later hunks in the file\n"
+"d - do not unstage this hunk or any of the later hunks in the file"
+msgstr ""
+
+#: git-add--interactive.perl:1214
+msgid ""
+"y - apply this hunk to index\n"
+"n - do not apply this hunk to index\n"
+"q - quit; do not apply this hunk or any of the remaining ones\n"
+"a - apply this hunk and all later hunks in the file\n"
+"d - do not apply this hunk or any of the later hunks in the file"
+msgstr ""
+
+#: git-add--interactive.perl:1220
+msgid ""
+"y - discard this hunk from worktree\n"
+"n - do not discard this hunk from worktree\n"
+"q - quit; do not discard this hunk or any of the remaining ones\n"
+"a - discard this hunk and all later hunks in the file\n"
+"d - do not discard this hunk or any of the later hunks in the file"
+msgstr ""
+
+#: git-add--interactive.perl:1226
+msgid ""
+"y - discard this hunk from index and worktree\n"
+"n - do not discard this hunk from index and worktree\n"
+"q - quit; do not discard this hunk or any of the remaining ones\n"
+"a - discard this hunk and all later hunks in the file\n"
+"d - do not discard this hunk or any of the later hunks in the file"
+msgstr ""
+
+#: git-add--interactive.perl:1232
+msgid ""
+"y - apply this hunk to index and worktree\n"
+"n - do not apply this hunk to index and worktree\n"
+"q - quit; do not apply this hunk or any of the remaining ones\n"
+"a - apply this hunk and all later hunks in the file\n"
+"d - do not apply this hunk or any of the later hunks in the file"
+msgstr ""
+
+#: git-add--interactive.perl:1241
+msgid ""
+"g - select a hunk to go to\n"
+"/ - search for a hunk matching the given regex\n"
+"j - leave this hunk undecided, see next undecided hunk\n"
+"J - leave this hunk undecided, see next hunk\n"
+"k - leave this hunk undecided, see previous undecided hunk\n"
+"K - leave this hunk undecided, see previous hunk\n"
+"s - split the current hunk into smaller hunks\n"
+"e - manually edit the current hunk\n"
+"? - print help\n"
+msgstr ""
+
+#: git-add--interactive.perl:1272
+msgid "The selected hunks do not apply to the index!\n"
+msgstr ""
+
+#: git-add--interactive.perl:1273
+msgid "Apply them to the worktree anyway? "
+msgstr ""
+
+#: git-add--interactive.perl:1276
+msgid "Nothing was applied.\n"
+msgstr ""
+
+#: git-add--interactive.perl:1287
+#, perl-format
+msgid "ignoring unmerged: %s\n"
+msgstr ""
+
+#: git-add--interactive.perl:1296
+msgid "Only binary files changed.\n"
+msgstr ""
+
+#: git-add--interactive.perl:1298
+msgid "No changes.\n"
+msgstr ""
+
+#: git-add--interactive.perl:1306
+msgid "Patch update"
+msgstr ""
+
+#: git-add--interactive.perl:1358
+#, perl-format
+msgid "Stage mode change [y,n,q,a,d,/%s,?]? "
+msgstr ""
+
+#: git-add--interactive.perl:1359
+#, perl-format
+msgid "Stage deletion [y,n,q,a,d,/%s,?]? "
+msgstr ""
+
+#: git-add--interactive.perl:1360
+#, perl-format
+msgid "Stage this hunk [y,n,q,a,d,/%s,?]? "
+msgstr ""
+
+#: git-add--interactive.perl:1363
+#, perl-format
+msgid "Stash mode change [y,n,q,a,d,/%s,?]? "
+msgstr ""
+
+#: git-add--interactive.perl:1364
+#, perl-format
+msgid "Stash deletion [y,n,q,a,d,/%s,?]? "
+msgstr ""
+
+#: git-add--interactive.perl:1365
+#, perl-format
+msgid "Stash this hunk [y,n,q,a,d,/%s,?]? "
+msgstr ""
+
+#: git-add--interactive.perl:1368
+#, perl-format
+msgid "Unstage mode change [y,n,q,a,d,/%s,?]? "
+msgstr ""
+
+#: git-add--interactive.perl:1369
+#, perl-format
+msgid "Unstage deletion [y,n,q,a,d,/%s,?]? "
+msgstr ""
+
+#: git-add--interactive.perl:1370
+#, perl-format
+msgid "Unstage this hunk [y,n,q,a,d,/%s,?]? "
+msgstr ""
+
+#: git-add--interactive.perl:1373
+#, perl-format
+msgid "Apply mode change to index [y,n,q,a,d,/%s,?]? "
+msgstr ""
+
+#: git-add--interactive.perl:1374
+#, perl-format
+msgid "Apply deletion to index [y,n,q,a,d,/%s,?]? "
+msgstr ""
+
+#: git-add--interactive.perl:1375
+#, perl-format
+msgid "Apply this hunk to index [y,n,q,a,d,/%s,?]? "
+msgstr ""
+
+#: git-add--interactive.perl:1378
+#, perl-format
+msgid "Discard mode change from worktree [y,n,q,a,d,/%s,?]? "
+msgstr ""
+
+#: git-add--interactive.perl:1379
+#, perl-format
+msgid "Discard deletion from worktree [y,n,q,a,d,/%s,?]? "
+msgstr ""
+
+#: git-add--interactive.perl:1380
+#, perl-format
+msgid "Discard this hunk from worktree [y,n,q,a,d,/%s,?]? "
+msgstr ""
+
+#: git-add--interactive.perl:1383
+#, perl-format
+msgid "Discard mode change from index and worktree [y,n,q,a,d,/%s,?]? "
+msgstr ""
+
+#: git-add--interactive.perl:1384
+#, perl-format
+msgid "Discard deletion from index and worktree [y,n,q,a,d,/%s,?]? "
+msgstr ""
+
+#: git-add--interactive.perl:1385
+#, perl-format
+msgid "Discard this hunk from index and worktree [y,n,q,a,d,/%s,?]? "
+msgstr ""
+
+#: git-add--interactive.perl:1388
+#, perl-format
+msgid "Apply mode change to index and worktree [y,n,q,a,d,/%s,?]? "
+msgstr ""
+
+#: git-add--interactive.perl:1389
+#, perl-format
+msgid "Apply deletion to index and worktree [y,n,q,a,d,/%s,?]? "
+msgstr ""
+
+#: git-add--interactive.perl:1390
+#, perl-format
+msgid "Apply this hunk to index and worktree [y,n,q,a,d,/%s,?]? "
+msgstr ""
+
+#: git-add--interactive.perl:1493
+msgid "go to which hunk (<ret> to see more)? "
+msgstr ""
+
+#: git-add--interactive.perl:1495
+msgid "go to which hunk? "
+msgstr ""
+
+#: git-add--interactive.perl:1504
+#, perl-format
+msgid "Invalid number: '%s'\n"
+msgstr ""
+
+#: git-add--interactive.perl:1509
+#, perl-format
+msgid "Sorry, only %d hunk available.\n"
+msgid_plural "Sorry, only %d hunks available.\n"
+msgstr[0] ""
+msgstr[1] ""
+
+#: git-add--interactive.perl:1535
+msgid "search for regex? "
+msgstr ""
+
+#: git-add--interactive.perl:1548
+#, perl-format
+msgid "Malformed search regexp %s: %s\n"
+msgstr ""
+
+#: git-add--interactive.perl:1558
+msgid "No hunk matches the given pattern\n"
+msgstr ""
+
+#: git-add--interactive.perl:1570 git-add--interactive.perl:1592
+msgid "No previous hunk\n"
+msgstr ""
+
+#: git-add--interactive.perl:1579 git-add--interactive.perl:1598
+msgid "No next hunk\n"
+msgstr ""
+
+#: git-add--interactive.perl:1606
+#, perl-format
+msgid "Split into %d hunk.\n"
+msgid_plural "Split into %d hunks.\n"
+msgstr[0] ""
+msgstr[1] ""
+
+#: git-add--interactive.perl:1658
+msgid "Review diff"
+msgstr ""
+
+#. TRANSLATORS: please do not translate the command names
+#. 'status', 'update', 'revert', etc.
+#: git-add--interactive.perl:1677
+msgid ""
+"status        - show paths with changes\n"
+"update        - add working tree state to the staged set of changes\n"
+"revert        - revert staged set of changes back to the HEAD version\n"
+"patch         - pick hunks and update selectively\n"
+"diff\t      - view diff between HEAD and index\n"
+"add untracked - add contents of untracked files to the staged set of "
+"changes\n"
+msgstr ""
+
+#: git-add--interactive.perl:1694 git-add--interactive.perl:1699
+#: git-add--interactive.perl:1702 git-add--interactive.perl:1709
+#: git-add--interactive.perl:1713 git-add--interactive.perl:1719
+msgid "missing --"
+msgstr ""
+
+#: git-add--interactive.perl:1715
+#, perl-format
+msgid "unknown --patch mode: %s"
+msgstr ""
+
+#: git-add--interactive.perl:1721 git-add--interactive.perl:1727
+#, perl-format
+msgid "invalid argument %s, expecting --"
+msgstr ""
+
+#: git-send-email.perl:121
+msgid "local zone differs from GMT by a non-minute interval\n"
+msgstr ""
+
+#: git-send-email.perl:128 git-send-email.perl:134
+msgid "local time offset greater than or equal to 24 hours\n"
+msgstr ""
+
+#: git-send-email.perl:202 git-send-email.perl:208
+msgid "the editor exited uncleanly, aborting everything"
+msgstr ""
+
+#: git-send-email.perl:282
+#, perl-format
+msgid ""
+"'%s' contains an intermediate version of the email you were composing.\n"
+msgstr ""
+
+#: git-send-email.perl:287
+#, perl-format
+msgid "'%s.final' contains the composed email.\n"
+msgstr ""
+
+#: git-send-email.perl:305
+msgid "--dump-aliases incompatible with other options\n"
+msgstr ""
+
+#: git-send-email.perl:368 git-send-email.perl:623
+msgid "Cannot run git format-patch from outside a repository\n"
+msgstr ""
+
+#: git-send-email.perl:437
+#, perl-format
+msgid "Unknown --suppress-cc field: '%s'\n"
+msgstr ""
+
+#: git-send-email.perl:466
+#, perl-format
+msgid "Unknown --confirm setting: '%s'\n"
+msgstr ""
+
+#: git-send-email.perl:498
+#, perl-format
+msgid "warning: sendmail alias with quotes is not supported: %s\n"
+msgstr ""
+
+#: git-send-email.perl:500
+#, perl-format
+msgid "warning: `:include:` not supported: %s\n"
+msgstr ""
+
+#: git-send-email.perl:502
+#, perl-format
+msgid "warning: `/file` or `|pipe` redirection not supported: %s\n"
+msgstr ""
+
+#: git-send-email.perl:507
+#, perl-format
+msgid "warning: sendmail line is not recognized: %s\n"
+msgstr ""
+
+#: git-send-email.perl:589
+#, perl-format
+msgid ""
+"File '%s' exists but it could also be the range of commits\n"
+"to produce patches for.  Please disambiguate by...\n"
+"\n"
+"    * Saying \"./%s\" if you mean a file; or\n"
+"    * Giving --format-patch option if you mean a range.\n"
+msgstr ""
+
+#: git-send-email.perl:610
+#, perl-format
+msgid "Failed to opendir %s: %s"
+msgstr ""
+
+#: git-send-email.perl:634
+#, perl-format
+msgid ""
+"fatal: %s: %s\n"
+"warning: no patches were sent\n"
+msgstr ""
+
+#: git-send-email.perl:645
+msgid ""
+"\n"
+"No patch files specified!\n"
+"\n"
+msgstr ""
+
+#: git-send-email.perl:658
+#, perl-format
+msgid "No subject line in %s?"
+msgstr ""
+
+#: git-send-email.perl:668
+#, perl-format
+msgid "Failed to open for writing %s: %s"
+msgstr ""
+
+#: git-send-email.perl:678
+msgid ""
+"Lines beginning in \"GIT:\" will be removed.\n"
+"Consider including an overall diffstat or table of contents\n"
+"for the patch you are writing.\n"
+"\n"
+"Clear the body content if you don't wish to send a summary.\n"
+msgstr ""
+
+#: git-send-email.perl:701
+#, perl-format
+msgid "Failed to open %s.final: %s"
+msgstr ""
+
+#: git-send-email.perl:704
+#, perl-format
+msgid "Failed to open %s: %s"
+msgstr ""
+
+#: git-send-email.perl:739
+msgid "To/Cc/Bcc fields are not interpreted yet, they have been ignored\n"
+msgstr ""
+
+#: git-send-email.perl:748
+msgid "Summary email is empty, skipping it\n"
+msgstr ""
+
+#. TRANSLATORS: please keep [y/N] as is.
+#: git-send-email.perl:780
+#, perl-format
+msgid "Are you sure you want to use <%s> [y/N]? "
+msgstr ""
+
+#: git-send-email.perl:809
+msgid ""
+"The following files are 8bit, but do not declare a Content-Transfer-"
+"Encoding.\n"
+msgstr ""
+
+#: git-send-email.perl:814
+msgid "Which 8bit encoding should I declare [UTF-8]? "
+msgstr ""
+
+#: git-send-email.perl:822
+#, perl-format
+msgid ""
+"Refusing to send because the patch\n"
+"\t%s\n"
+"has the template subject '*** SUBJECT HERE ***'. Pass --force if you really "
+"want to send.\n"
+msgstr ""
+
+#: git-send-email.perl:841
+msgid "To whom should the emails be sent (if anyone)?"
+msgstr ""
+
+#: git-send-email.perl:859
+#, perl-format
+msgid "fatal: alias '%s' expands to itself\n"
+msgstr ""
+
+#: git-send-email.perl:871
+msgid "Message-ID to be used as In-Reply-To for the first email (if any)? "
+msgstr ""
+
+#: git-send-email.perl:921 git-send-email.perl:929
+#, perl-format
+msgid "error: unable to extract a valid address from: %s\n"
+msgstr ""
+
+#. TRANSLATORS: Make sure to include [q] [d] [e] in your
+#. translation. The program will only accept English input
+#. at this point.
+#: git-send-email.perl:933
+msgid "What to do with this address? ([q]uit|[d]rop|[e]dit): "
+msgstr ""
+
+#: git-send-email.perl:1234
+#, perl-format
+msgid "CA path \"%s\" does not exist"
+msgstr ""
+
+#: git-send-email.perl:1309
+msgid ""
+"    The Cc list above has been expanded by additional\n"
+"    addresses found in the patch commit message. By default\n"
+"    send-email prompts before sending whenever this occurs.\n"
+"    This behavior is controlled by the sendemail.confirm\n"
+"    configuration setting.\n"
+"\n"
+"    For additional information, run 'git send-email --help'.\n"
+"    To retain the current behavior, but squelch this message,\n"
+"    run 'git config --global sendemail.confirm auto'.\n"
+"\n"
+msgstr ""
+
+#. TRANSLATORS: Make sure to include [y] [n] [q] [a] in your
+#. translation. The program will only accept English input
+#. at this point.
+#: git-send-email.perl:1324
+msgid "Send this email? ([y]es|[n]o|[q]uit|[a]ll): "
+msgstr ""
+
+#: git-send-email.perl:1327
+msgid "Send this email reply required"
+msgstr ""
+
+#: git-send-email.perl:1353
+msgid "The required SMTP server is not properly defined."
+msgstr ""
+
+#: git-send-email.perl:1397
+#, perl-format
+msgid "Server does not support STARTTLS! %s"
+msgstr ""
+
+#: git-send-email.perl:1403
+msgid "Unable to initialize SMTP properly. Check config and use --smtp-debug."
+msgstr ""
+
+#: git-send-email.perl:1421
+#, perl-format
+msgid "Failed to send %s\n"
+msgstr ""
+
+#: git-send-email.perl:1424
+#, perl-format
+msgid "Dry-Sent %s\n"
+msgstr ""
+
+#: git-send-email.perl:1424
+#, perl-format
+msgid "Sent %s\n"
+msgstr ""
+
+#: git-send-email.perl:1426
+msgid "Dry-OK. Log says:\n"
+msgstr ""
+
+#: git-send-email.perl:1426
+msgid "OK. Log says:\n"
+msgstr ""
+
+#: git-send-email.perl:1438
+msgid "Result: "
+msgstr ""
+
+#: git-send-email.perl:1441
+msgid "Result: OK\n"
+msgstr ""
+
+#: git-send-email.perl:1454
+#, perl-format
+msgid "can't open file %s"
+msgstr ""
+
+#: git-send-email.perl:1501 git-send-email.perl:1521
+#, perl-format
+msgid "(mbox) Adding cc: %s from line '%s'\n"
+msgstr ""
+
+#: git-send-email.perl:1507
+#, perl-format
+msgid "(mbox) Adding to: %s from line '%s'\n"
+msgstr ""
+
+#: git-send-email.perl:1555
+#, perl-format
+msgid "(non-mbox) Adding cc: %s from line '%s'\n"
+msgstr ""
+
+#: git-send-email.perl:1578
+#, perl-format
+msgid "(body) Adding cc: %s from line '%s'\n"
+msgstr ""
+
+#: git-send-email.perl:1676
+#, perl-format
+msgid "(%s) Could not execute '%s'"
+msgstr ""
+
+#: git-send-email.perl:1683
+#, perl-format
+msgid "(%s) Adding %s: %s from: '%s'\n"
+msgstr ""
+
+#: git-send-email.perl:1687
+#, perl-format
+msgid "(%s) failed to close pipe to '%s'"
+msgstr ""
+
+#: git-send-email.perl:1714
+msgid "cannot send message as 7bit"
+msgstr ""
+
+#: git-send-email.perl:1722
+msgid "invalid transfer encoding"
+msgstr ""
+
+#: git-send-email.perl:1741 git-send-email.perl:1792 git-send-email.perl:1802
+#, perl-format
+msgid "unable to open %s: %s\n"
+msgstr ""
+
+#: git-send-email.perl:1744
+#, perl-format
+msgid "%s: patch contains a line longer than 998 characters"
+msgstr ""
+
+#: git-send-email.perl:1760
+#, perl-format
+msgid "Skipping %s with backup suffix '%s'.\n"
+msgstr ""
+
+#. TRANSLATORS: please keep "[y|N]" as is.
+#: git-send-email.perl:1764
+#, perl-format
+msgid "Do you really want to send %s? [y|N]: "
+msgstr ""
diff --git a/po/ko.po b/po/ko.po
index ee64355..f9499bb 100644
--- a/po/ko.po
+++ b/po/ko.po
@@ -1,10 +1,10 @@
 # Git Korean translation
-# Copyright (C) 2015-2016 Changwoo Ryu and contributors
+# Copyright (C) 2015-2017 Changwoo Ryu and contributors
 # This file is distributed under the same license as the Git package.
 #
 # Contributors:
 #  Hyunjun Kim <yoloseem AT users.noreply.github.com>, 2015.
-#  Changwoo Ryu <cwryu@debian.org>, 2015-2016.
+#  Changwoo Ryu <cwryu@debian.org>, 2015-2017.
 #
 # - 작업자는 위 Contributors 목록에 추가해 주세요.
 # - 번역하면서 80컬럼을 넘어가지 않도록 해 주세요.
@@ -58,8 +58,8 @@
 msgstr ""
 "Project-Id-Version: git\n"
 "Report-Msgid-Bugs-To: Git Mailing List <git@vger.kernel.org>\n"
-"POT-Creation-Date: 2016-11-25 22:50+0800\n"
-"PO-Revision-Date: 2016-11-25 22:56+0800\n"
+"POT-Creation-Date: 2017-02-18 01:00+0800\n"
+"PO-Revision-Date: 2017-02-19 19:33+0900\n"
 "Last-Translator: Changwoo Ryu <cwryu@debian.org>\n"
 "Language-Team: Git Korean translation <http://github.com/changwoo/git-l10n-"
 "ko>\n"
@@ -111,7 +111,7 @@
 msgid "Exiting because of an unresolved conflict."
 msgstr "해결하지 못한 충돌 때문에 끝납니다."
 
-#: advice.c:114 builtin/merge.c:1181
+#: advice.c:114 builtin/merge.c:1206
 msgid "You have not concluded your merge (MERGE_HEAD exists)."
 msgstr "병합 작업을 다 마치지 않았습니다 (MERGE_HEAD 파일이 있습니다)."
 
@@ -289,33 +289,33 @@
 msgid "patch with only garbage at line %d"
 msgstr "%d번 줄에 쓰레기 데이터만 있는 패치"
 
-#: apply.c:2274
+#: apply.c:2265
 #, c-format
 msgid "unable to read symlink %s"
 msgstr "%s 심볼릭 링크를 읽을 수 없습니다"
 
-#: apply.c:2278
+#: apply.c:2269
 #, c-format
 msgid "unable to open or read %s"
 msgstr "%s을(를) 열거나 읽을 수 없습니다"
 
-#: apply.c:2931
+#: apply.c:2922
 #, c-format
 msgid "invalid start of line: '%c'"
 msgstr "줄 시작이 잘못됨: '%c'"
 
-#: apply.c:3050
+#: apply.c:3041
 #, c-format
 msgid "Hunk #%d succeeded at %d (offset %d line)."
 msgid_plural "Hunk #%d succeeded at %d (offset %d lines)."
 msgstr[0] "패치 %d번 부분 %d번 줄에서 성공 (오프셋 %d번 줄)"
 
-#: apply.c:3062
+#: apply.c:3053
 #, c-format
 msgid "Context reduced to (%ld/%ld) to apply fragment at %d"
 msgstr "컨텍스트가 (%ld/%ld)로 줄어듭니다. (%d번 줄에서 적용)"
 
-#: apply.c:3068
+#: apply.c:3059
 #, c-format
 msgid ""
 "while searching for:\n"
@@ -324,437 +324,438 @@
 "다음을 검색하던 중:\n"
 "%.*s"
 
-#: apply.c:3090
+#: apply.c:3081
 #, c-format
 msgid "missing binary patch data for '%s'"
 msgstr "'%s'에 대한 바이너리 패치 데이터가 없습니다"
 
-#: apply.c:3098
+#: apply.c:3089
 #, c-format
 msgid "cannot reverse-apply a binary patch without the reverse hunk to '%s'"
 msgstr ""
 "반대 헝크가 없으면 '%s'에 대한 바이너리 패치를 반대로 적용할 수 없습니다"
 
-#: apply.c:3144
+#: apply.c:3135
 #, c-format
 msgid "cannot apply binary patch to '%s' without full index line"
 msgstr ""
 "전체 인덱스 라인이 없으면 '%s'에 대한 바이너리 패치를 적용할 수 없습니다"
 
-#: apply.c:3154
+#: apply.c:3145
 #, c-format
 msgid ""
 "the patch applies to '%s' (%s), which does not match the current contents."
 msgstr "패치가 '%s'(%s)에 적용되지만, 현재 내용과 일치하지 않습니다."
 
-#: apply.c:3162
+#: apply.c:3153
 #, c-format
 msgid "the patch applies to an empty '%s' but it is not empty"
 msgstr "패치는 빈 '%s'에 적용되지만, 현재 비어 있지 않습니다"
 
-#: apply.c:3180
+#: apply.c:3171
 #, c-format
 msgid "the necessary postimage %s for '%s' cannot be read"
 msgstr "'%2$s'에 대한 필요한 %1$s 포스트이미지를 읽을 수 없습니다"
 
-#: apply.c:3193
+#: apply.c:3184
 #, c-format
 msgid "binary patch does not apply to '%s'"
 msgstr "바이너리 패치를 '%s'에 적용할 수 없습니다"
 
-#: apply.c:3199
+#: apply.c:3190
 #, c-format
 msgid "binary patch to '%s' creates incorrect result (expecting %s, got %s)"
 msgstr ""
 "'%s'에 대한 바이너리 패치가 올바르지 않은 결과를 만듭니다. (기대한 값 %s, 실"
 "제 %s)"
 
-#: apply.c:3220
+#: apply.c:3211
 #, c-format
 msgid "patch failed: %s:%ld"
 msgstr "패치 실패: %s:%ld"
 
-#: apply.c:3342
+#: apply.c:3333
 #, c-format
 msgid "cannot checkout %s"
 msgstr "%s을(를) 가져올 수 없습니다"
 
-#: apply.c:3390 apply.c:3401 apply.c:3447 setup.c:248
+#: apply.c:3381 apply.c:3392 apply.c:3438 setup.c:248
 #, c-format
 msgid "failed to read %s"
 msgstr "%s을(를) 읽는데 실패했습니다"
 
-#: apply.c:3398
+#: apply.c:3389
 #, c-format
 msgid "reading from '%s' beyond a symbolic link"
 msgstr "심볼릭 링크 뒤에 있는 '%s' 읽기"
 
-#: apply.c:3427 apply.c:3667
+#: apply.c:3418 apply.c:3658
 #, c-format
 msgid "path %s has been renamed/deleted"
 msgstr "%s 경로가 이름이 바뀌었거나 삭제되었습니다"
 
-#: apply.c:3510 apply.c:3681
+#: apply.c:3501 apply.c:3672
 #, c-format
 msgid "%s: does not exist in index"
 msgstr "%s: 인덱스에 없습니다"
 
-#: apply.c:3519 apply.c:3689
+#: apply.c:3510 apply.c:3680
 #, c-format
 msgid "%s: does not match index"
 msgstr "%s: 인덱스와 맞지 않습니다"
 
-#: apply.c:3554
+#: apply.c:3545
 msgid "repository lacks the necessary blob to fall back on 3-way merge."
 msgstr "저장소에 3-방향 병합으로 대신할 때 필요한 블롭이 없습니다."
 
-#: apply.c:3557
+#: apply.c:3548
 #, c-format
 msgid "Falling back to three-way merge...\n"
 msgstr "3-방향 병합으로 대신합니다...\n"
 
-#: apply.c:3573 apply.c:3577
+#: apply.c:3564 apply.c:3568
 #, c-format
 msgid "cannot read the current contents of '%s'"
 msgstr "'%s'의 현재 내용을 읽을 수 없습니다"
 
-#: apply.c:3589
+#: apply.c:3580
 #, c-format
 msgid "Failed to fall back on three-way merge...\n"
 msgstr "3-방향 병합으로 대신하는데 실패했습니다...\n"
 
-#: apply.c:3603
+#: apply.c:3594
 #, c-format
 msgid "Applied patch to '%s' with conflicts.\n"
 msgstr "패치를 '%s'에 충돌이 있는 상태로 적용.\n"
 
-#: apply.c:3608
+#: apply.c:3599
 #, c-format
 msgid "Applied patch to '%s' cleanly.\n"
 msgstr "패치를 '%s'에 패치 문제 없이 적용.\n"
 
-#: apply.c:3634
+#: apply.c:3625
 msgid "removal patch leaves file contents"
 msgstr "제거하는 패치 다음에 파일 내용이 남았습니다"
 
-#: apply.c:3706
+#: apply.c:3697
 #, c-format
 msgid "%s: wrong type"
 msgstr "%s: 잘못된 종류"
 
-#: apply.c:3708
+#: apply.c:3699
 #, c-format
 msgid "%s has type %o, expected %o"
 msgstr "%s의 종류가 %o이지만 %o이(가) 되어야 합니다"
 
-#: apply.c:3859 apply.c:3861
+#: apply.c:3850 apply.c:3852
 #, c-format
 msgid "invalid path '%s'"
 msgstr "잘못된 경로 '%s'"
 
-#: apply.c:3917
+#: apply.c:3908
 #, c-format
 msgid "%s: already exists in index"
 msgstr "%s: 이미 인덱스에 있습니다"
 
-#: apply.c:3920
+#: apply.c:3911
 #, c-format
 msgid "%s: already exists in working directory"
 msgstr "%s: 이미 작업 디렉터리에 있습니다"
 
-#: apply.c:3940
+#: apply.c:3931
 #, c-format
 msgid "new mode (%o) of %s does not match old mode (%o)"
 msgstr "%2$s의 새 모드(%1$o)가 예전 모드(%3$o)와 다릅니다"
 
-#: apply.c:3945
+#: apply.c:3936
 #, c-format
 msgid "new mode (%o) of %s does not match old mode (%o) of %s"
 msgstr "%2$s의 새 모드(%1$o)가 %4$s의 예전 모드(%3$o)와 다릅니다"
 
-#: apply.c:3965
+#: apply.c:3956
 #, c-format
 msgid "affected file '%s' is beyond a symbolic link"
 msgstr "영향 받는 '%s' 파일이 심볼릭 링크 뒤에 있습니다"
 
-#: apply.c:3969
+#: apply.c:3960
 #, c-format
 msgid "%s: patch does not apply"
 msgstr "%s: 패치를 적용하지 않습니다"
 
-#: apply.c:3984
+#: apply.c:3975
 #, c-format
 msgid "Checking patch %s..."
 msgstr "%s 패치를 확인하는 중입니다..."
 
-#: apply.c:4075
+#: apply.c:4066
 #, c-format
 msgid "sha1 information is lacking or useless for submodule %s"
 msgstr "sha1 정보가 없거나 %s 하위 모듈에서 쓸 수 없습니다"
 
-#: apply.c:4082
+#: apply.c:4073
 #, c-format
 msgid "mode change for %s, which is not in current HEAD"
 msgstr "%s에 대한 모드 변경이지만, 현재 HEAD에 없습니다"
 
-#: apply.c:4085
+#: apply.c:4076
 #, c-format
 msgid "sha1 information is lacking or useless (%s)."
 msgstr "sha1 정보가 없거나 쓸 수 없습니다 (%s)."
 
-#: apply.c:4090 builtin/checkout.c:233 builtin/reset.c:135
+#: apply.c:4081 builtin/checkout.c:233 builtin/reset.c:135
 #, c-format
 msgid "make_cache_entry failed for path '%s'"
 msgstr "경로 '%s'에 대해 make_cache_entry 실패"
 
-#: apply.c:4094
+#: apply.c:4085
 #, c-format
 msgid "could not add %s to temporary index"
 msgstr "임시 인덱스에 %s 항목을 추가할 수 없습니다"
 
-#: apply.c:4104
+#: apply.c:4095
 #, c-format
 msgid "could not write temporary index to %s"
 msgstr "임시 인덱스를 %s에 쓸 수 없습니다"
 
-#: apply.c:4242
+#: apply.c:4233
 #, c-format
 msgid "unable to remove %s from index"
 msgstr "인덱스에서 %s을(를) 제거할 수 없습니다"
 
-#: apply.c:4277
+#: apply.c:4268
 #, c-format
 msgid "corrupt patch for submodule %s"
 msgstr "하위 모듈 %s에 대해 손상된 패치"
 
-#: apply.c:4283
+#: apply.c:4274
 #, c-format
 msgid "unable to stat newly created file '%s'"
 msgstr "새로 만든 파일 '%s'에 대해 stat()할 수 없습니다"
 
-#: apply.c:4291
+#: apply.c:4282
 #, c-format
 msgid "unable to create backing store for newly created file %s"
 msgstr "새로 만든 파일 '%s'에 대해 예비 저장소를 만들 수 없습니다"
 
-#: apply.c:4297 apply.c:4441
+#: apply.c:4288 apply.c:4432
 #, c-format
 msgid "unable to add cache entry for %s"
 msgstr "%s에 대해 캐시 항목을 추가할 수 없습니다"
 
-#: apply.c:4338
+#: apply.c:4329
 #, c-format
 msgid "failed to write to '%s'"
 msgstr "'%s'에 쓰는데 실패했습니다"
 
-#: apply.c:4342
+#: apply.c:4333
 #, c-format
 msgid "closing file '%s'"
 msgstr "'%s' 파일을 닫는 중입니다"
 
-#: apply.c:4412
+#: apply.c:4403
 #, c-format
 msgid "unable to write file '%s' mode %o"
 msgstr "'%s' 파일에 쓸 수 없습니다 ('%o' 모드)"
 
-#: apply.c:4510
+#: apply.c:4501
 #, c-format
 msgid "Applied patch %s cleanly."
 msgstr "%s 패치 깔끔하게 적용."
 
-#: apply.c:4518
+#: apply.c:4509
 msgid "internal error"
 msgstr "내부 오류"
 
-#: apply.c:4521
+#: apply.c:4512
 #, c-format
 msgid "Applying patch %%s with %d reject..."
 msgid_plural "Applying patch %%s with %d rejects..."
 msgstr[0] "%%s 패치를 (%d개 거부) 적용..."
 
-#: apply.c:4532
+#: apply.c:4523
 #, c-format
 msgid "truncating .rej filename to %.*s.rej"
 msgstr "truncating .rej 파일 이름을 '%.*s.rej'(으)로 자름"
 
-#: apply.c:4540 builtin/fetch.c:740 builtin/fetch.c:989
+#: apply.c:4531 builtin/fetch.c:737 builtin/fetch.c:986
 #, c-format
 msgid "cannot open %s"
 msgstr "%s을(를) 열 수 없습니다"
 
-#: apply.c:4554
+#: apply.c:4545
 #, c-format
 msgid "Hunk #%d applied cleanly."
 msgstr "패치 부위 #%d 깔끔하게 적용."
 
-#: apply.c:4558
+#: apply.c:4549
 #, c-format
 msgid "Rejected hunk #%d."
 msgstr "패치 부위 #%d 거부됨."
 
-#: apply.c:4668
+#: apply.c:4659
 #, c-format
 msgid "Skipped patch '%s'."
 msgstr "패치 '%s' 건너뜀."
 
-#: apply.c:4676
+#: apply.c:4667
 msgid "unrecognized input"
 msgstr "인식할 수 없는 입력"
 
-#: apply.c:4695
+#: apply.c:4686
 msgid "unable to read index file"
 msgstr "인덱스 파일을 읽을 수 없습니다"
 
-#: apply.c:4833
+#: apply.c:4824
 #, c-format
 msgid "can't open patch '%s': %s"
 msgstr "'%s' 패치를 열 수 없습니다: %s"
 
-#: apply.c:4858
+#: apply.c:4849
 #, c-format
 msgid "squelched %d whitespace error"
 msgid_plural "squelched %d whitespace errors"
 msgstr[0] "공백 오류 %d개를 넘어갑니다"
 
-#: apply.c:4864 apply.c:4879
+#: apply.c:4855 apply.c:4870
 #, c-format
 msgid "%d line adds whitespace errors."
 msgid_plural "%d lines add whitespace errors."
 msgstr[0] "%d번 줄에서 공백 오류를 추가합니다."
 
-#: apply.c:4872
+#: apply.c:4863
 #, c-format
 msgid "%d line applied after fixing whitespace errors."
 msgid_plural "%d lines applied after fixing whitespace errors."
 msgstr[0] "공백 오류를 바로잡은 뒤에 %d번 줄 적용."
 
-#: apply.c:4888 builtin/add.c:463 builtin/mv.c:286 builtin/rm.c:431
+#: apply.c:4879 builtin/add.c:463 builtin/mv.c:298 builtin/rm.c:391
 msgid "Unable to write new index file"
 msgstr "새 인덱스 파일에 쓸 수 없습니다"
 
-#: apply.c:4919 apply.c:4922 builtin/am.c:2277 builtin/am.c:2280
+#: apply.c:4910 apply.c:4913 builtin/am.c:2277 builtin/am.c:2280
 #: builtin/clone.c:95 builtin/fetch.c:98 builtin/pull.c:180
-#: builtin/submodule--helper.c:281 builtin/submodule--helper.c:407
-#: builtin/submodule--helper.c:589 builtin/submodule--helper.c:592
-#: builtin/submodule--helper.c:944 builtin/submodule--helper.c:947
+#: builtin/submodule--helper.c:281 builtin/submodule--helper.c:591
+#: builtin/submodule--helper.c:594 builtin/submodule--helper.c:960
+#: builtin/submodule--helper.c:963 builtin/submodule--helper.c:1104
+#: git-add--interactive.perl:239
 msgid "path"
 msgstr "경로"
 
-#: apply.c:4920
+#: apply.c:4911
 msgid "don't apply changes matching the given path"
 msgstr "주어진 경로에 해당하는 변경 사항을 적용하지 않습니다"
 
-#: apply.c:4923
+#: apply.c:4914
 msgid "apply changes matching the given path"
 msgstr "주어진 경로에 해당하는 변경 사항을 적용합니다"
 
-#: apply.c:4925 builtin/am.c:2286
+#: apply.c:4916 builtin/am.c:2286
 msgid "num"
 msgstr "개수"
 
-#: apply.c:4926
+#: apply.c:4917
 msgid "remove <num> leading slashes from traditional diff paths"
 msgstr "전통적인 diff 경로 앞의 <개수>개의 앞 슬래시(/)를 제거합니다"
 
-#: apply.c:4929
+#: apply.c:4920
 msgid "ignore additions made by the patch"
 msgstr "패치에서 추가하는 파일을 무시합니다"
 
-#: apply.c:4931
+#: apply.c:4922
 msgid "instead of applying the patch, output diffstat for the input"
 msgstr "패치를 적용하는 대신, 입력에 대한 diffstat을 출력합니다"
 
-#: apply.c:4935
+#: apply.c:4926
 msgid "show number of added and deleted lines in decimal notation"
 msgstr "십진수로 추가 및 삭제한 줄 수를 표시합니다"
 
-#: apply.c:4937
+#: apply.c:4928
 msgid "instead of applying the patch, output a summary for the input"
 msgstr "패치를 적용하는 대신, 입력에 대한 요약을 출력합니다"
 
-#: apply.c:4939
+#: apply.c:4930
 msgid "instead of applying the patch, see if the patch is applicable"
 msgstr "패치를 적용하는 대신, 패치를 적용 가능한지 확인합니다"
 
-#: apply.c:4941
+#: apply.c:4932
 msgid "make sure the patch is applicable to the current index"
 msgstr "현재 인덱스에서 패치가 적용 가능한지 확인합니다"
 
-#: apply.c:4943
+#: apply.c:4934
 msgid "apply a patch without touching the working tree"
 msgstr "작업 폴더를 바꾸지 않고 패치를 적용합니다"
 
-#: apply.c:4945
+#: apply.c:4936
 msgid "accept a patch that touches outside the working area"
 msgstr "작업 영역 밖의 파일을 바꾸는 패치를 허용합니다"
 
-#: apply.c:4947
+#: apply.c:4938
 msgid "also apply the patch (use with --stat/--summary/--check)"
 msgstr "그리고 패치도 적용합니다 (--stat/--summary/--check 옵션과 같이 사용)"
 
-#: apply.c:4949
+#: apply.c:4940
 msgid "attempt three-way merge if a patch does not apply"
 msgstr "패치를 적용하지 않으면 3-방향 병합을 시도합니다"
 
-#: apply.c:4951
+#: apply.c:4942
 msgid "build a temporary index based on embedded index information"
 msgstr "내장 인덱스 정보를 사용해 임시 인덱스를 만듭니다"
 
-#: apply.c:4954 builtin/checkout-index.c:169 builtin/ls-files.c:505
+#: apply.c:4945 builtin/checkout-index.c:169 builtin/ls-files.c:507
 msgid "paths are separated with NUL character"
 msgstr "경로를 NUL 문자로 구분합니다"
 
-#: apply.c:4956
+#: apply.c:4947
 msgid "ensure at least <n> lines of context match"
 msgstr "최소한 <n>줄이 컨텍스트와 일치하는지 확인합니다"
 
-#: apply.c:4957 builtin/am.c:2265
+#: apply.c:4948 builtin/am.c:2265
 msgid "action"
 msgstr "동작"
 
-#: apply.c:4958
+#: apply.c:4949
 msgid "detect new or modified lines that have whitespace errors"
 msgstr "공백 오류가 있는 추가됐거나 수정된 줄을 찾습니다"
 
-#: apply.c:4961 apply.c:4964
+#: apply.c:4952 apply.c:4955
 msgid "ignore changes in whitespace when finding context"
 msgstr "컨텍스트를 찾을 때 공백 변경 사항을 무시합니다"
 
-#: apply.c:4967
+#: apply.c:4958
 msgid "apply the patch in reverse"
 msgstr "패치를 반대 순서로 적용합니다"
 
-#: apply.c:4969
+#: apply.c:4960
 msgid "don't expect at least one line of context"
 msgstr "최소한의 컨텍스트 한 줄도 없이 적용합니다"
 
-#: apply.c:4971
+#: apply.c:4962
 msgid "leave the rejected hunks in corresponding *.rej files"
 msgstr "거부된 패치 부분을 대응되는 *.rej 파일에 남겨둡니다"
 
-#: apply.c:4973
+#: apply.c:4964
 msgid "allow overlapping hunks"
 msgstr "패치 부분이 겹쳐도 허용합니다"
 
-#: apply.c:4974 builtin/add.c:267 builtin/check-ignore.c:19
-#: builtin/commit.c:1339 builtin/count-objects.c:94 builtin/fsck.c:593
-#: builtin/log.c:1860 builtin/mv.c:110 builtin/read-tree.c:114
+#: apply.c:4965 builtin/add.c:267 builtin/check-ignore.c:19
+#: builtin/commit.c:1337 builtin/count-objects.c:94 builtin/fsck.c:651
+#: builtin/log.c:1860 builtin/mv.c:122 builtin/read-tree.c:114
 msgid "be verbose"
 msgstr "자세히 표시"
 
-#: apply.c:4976
+#: apply.c:4967
 msgid "tolerate incorrectly detected missing new-line at the end of file"
 msgstr "파일 끝에 줄바꿈이 빠졌음을 잘못 검색한 경우에 무시합니다"
 
-#: apply.c:4979
+#: apply.c:4970
 msgid "do not trust the line counts in the hunk headers"
 msgstr "패치 부분의 헤더의 줄 수를 신용하지 않습니다"
 
-#: apply.c:4981 builtin/am.c:2274
+#: apply.c:4972 builtin/am.c:2274
 msgid "root"
 msgstr "최상위"
 
-#: apply.c:4982
+#: apply.c:4973
 msgid "prepend <root> to all filenames"
 msgstr "모든 파일 이름에 <최상위>를 앞에 붙입니다"
 
@@ -777,7 +778,7 @@
 msgid "git archive --remote <repo> [--exec <cmd>] --list"
 msgstr "git archive --remote <저장소> [--exec <명령>] --list"
 
-#: archive.c:344 builtin/add.c:152 builtin/add.c:442 builtin/rm.c:327
+#: archive.c:344 builtin/add.c:152 builtin/add.c:442 builtin/rm.c:300
 #, c-format
 msgid "pathspec '%s' did not match any files"
 msgstr "'%s' 경로명세가 어떤 파일과도 일치하지 않습니다"
@@ -798,11 +799,11 @@
 msgid "prepend prefix to each pathname in the archive"
 msgstr "아카이브의 각 경로 이름의 앞에 지정한 경로를 붙입니다"
 
-#: archive.c:432 builtin/archive.c:88 builtin/blame.c:2603
-#: builtin/blame.c:2604 builtin/config.c:59 builtin/fast-export.c:987
-#: builtin/fast-export.c:989 builtin/grep.c:723 builtin/hash-object.c:101
-#: builtin/ls-files.c:539 builtin/ls-files.c:542 builtin/notes.c:401
-#: builtin/notes.c:564 builtin/read-tree.c:109 parse-options.h:153
+#: archive.c:432 builtin/blame.c:2607 builtin/blame.c:2608 builtin/config.c:59
+#: builtin/fast-export.c:987 builtin/fast-export.c:989 builtin/grep.c:1054
+#: builtin/hash-object.c:101 builtin/ls-files.c:541 builtin/ls-files.c:544
+#: builtin/notes.c:401 builtin/notes.c:564 builtin/read-tree.c:109
+#: parse-options.h:153
 msgid "file"
 msgstr "파일"
 
@@ -835,7 +836,7 @@
 msgstr "지원하는 압축 형식의 목록을 표시합니다"
 
 #: archive.c:451 builtin/archive.c:90 builtin/clone.c:85 builtin/clone.c:88
-#: builtin/submodule--helper.c:601 builtin/submodule--helper.c:953
+#: builtin/submodule--helper.c:603 builtin/submodule--helper.c:969
 msgid "repo"
 msgstr "저장소"
 
@@ -931,7 +932,7 @@
 #: bisect.c:750
 #, c-format
 msgid ""
-"Some %s revs are not ancestor of the %s rev.\n"
+"Some %s revs are not ancestors of the %s rev.\n"
 "git bisect cannot work properly in this case.\n"
 "Maybe you mistook %s and %s revs?\n"
 msgstr ""
@@ -960,7 +961,7 @@
 msgid "a %s revision is needed"
 msgstr "하나의 %s 리비전이 필요합니다"
 
-#: bisect.c:866 builtin/notes.c:174 builtin/tag.c:248
+#: bisect.c:866 builtin/notes.c:174 builtin/tag.c:262
 #, c-format
 msgid "could not create file '%s'"
 msgstr "'%s' 파일을 만들 수 없습니다"
@@ -1152,7 +1153,7 @@
 msgid "unrecognized header: %s%s (%d)"
 msgstr "인식할 수 없는 헤더: %s%s (%d)"
 
-#: bundle.c:87 sequencer.c:963 builtin/commit.c:777
+#: bundle.c:87 sequencer.c:1331 sequencer.c:1752 builtin/commit.c:777
 #, c-format
 msgid "could not open '%s'"
 msgstr "'%s'을(를) 열 수 없습니다"
@@ -1161,10 +1162,10 @@
 msgid "Repository lacks these prerequisite commits:"
 msgstr "저장소에 필수적인 다음 커밋이 없습니다:"
 
-#: bundle.c:163 ref-filter.c:1462 sequencer.c:830 sequencer.c:1374
-#: builtin/blame.c:2814 builtin/commit.c:1061 builtin/log.c:348
+#: bundle.c:163 ref-filter.c:1499 sequencer.c:1154 sequencer.c:2290
+#: builtin/blame.c:2820 builtin/commit.c:1061 builtin/log.c:348
 #: builtin/log.c:890 builtin/log.c:1340 builtin/log.c:1666 builtin/log.c:1909
-#: builtin/merge.c:356 builtin/shortlog.c:170
+#: builtin/merge.c:360 builtin/shortlog.c:177
 msgid "revision walk setup failed"
 msgstr "리비전 walk 준비가 실패했습니다"
 
@@ -1201,7 +1202,7 @@
 msgid "ref '%s' is excluded by the rev-list options"
 msgstr "rev-list 옵션에서 '%s' 레퍼런스가 제외되었습니다"
 
-#: bundle.c:443 builtin/log.c:165 builtin/log.c:1572 builtin/shortlog.c:273
+#: bundle.c:443 builtin/log.c:165 builtin/log.c:1572 builtin/shortlog.c:282
 #, c-format
 msgid "unrecognized argument: %s"
 msgstr "알 수 없는 인자: %s"
@@ -1219,13 +1220,13 @@
 msgid "index-pack died"
 msgstr "index-pack 명령이 죽었습니다"
 
-#: color.c:290
+#: color.c:300
 #, c-format
 msgid "invalid color value: %.*s"
 msgstr "잘못된 색 값: %.*s"
 
-#: commit.c:40 builtin/am.c:421 builtin/am.c:457 builtin/am.c:1493
-#: builtin/am.c:2127
+#: commit.c:40 sequencer.c:1564 builtin/am.c:421 builtin/am.c:457
+#: builtin/am.c:1493 builtin/am.c:2127
 #, c-format
 msgid "could not parse %s"
 msgstr "parse %s을(를) 파싱할 수 없습니다"
@@ -1249,123 +1250,133 @@
 msgid "memory exhausted"
 msgstr "메모리 바닥남"
 
-#: config.c:516
+#: config.c:518
 #, c-format
 msgid "bad config line %d in blob %s"
 msgstr "블롭 %2$s 안에 %1$d번 줄에 잘못된 설정"
 
-#: config.c:520
+#: config.c:522
 #, c-format
 msgid "bad config line %d in file %s"
 msgstr "파일 %2$s 안에 %1$d번 줄에 잘못된 설정"
 
-#: config.c:524
+#: config.c:526
 #, c-format
 msgid "bad config line %d in standard input"
 msgstr "표준 입력 안에 %d번 줄에 잘못된 설정"
 
-#: config.c:528
+#: config.c:530
 #, c-format
 msgid "bad config line %d in submodule-blob %s"
 msgstr "하위 모듈 블롭 %2$s 안에 %1$d번 줄에 잘못된 설정"
 
-#: config.c:532
+#: config.c:534
 #, c-format
 msgid "bad config line %d in command line %s"
 msgstr "명령행 %2$s 안에 %1$d번 줄에 잘못된 설정"
 
-#: config.c:536
+#: config.c:538
 #, c-format
 msgid "bad config line %d in %s"
 msgstr "%2$s 안에 %1$d번 줄에 잘못된 설정"
 
-#: config.c:655
+#: config.c:657
 msgid "out of range"
 msgstr "범위를 벗어남"
 
-#: config.c:655
+#: config.c:657
 msgid "invalid unit"
 msgstr "단위가 잘못됨"
 
-#: config.c:661
+#: config.c:663
 #, c-format
 msgid "bad numeric config value '%s' for '%s': %s"
 msgstr "잘못된 수치 설정 값 '%s' (키 '%s'): %s"
 
-#: config.c:666
+#: config.c:668
 #, c-format
 msgid "bad numeric config value '%s' for '%s' in blob %s: %s"
 msgstr "잘못된 수치 설정 값 '%s' (키 '%s', 블롭 %s): %s"
 
-#: config.c:669
+#: config.c:671
 #, c-format
 msgid "bad numeric config value '%s' for '%s' in file %s: %s"
 msgstr "잘못된 수치 설정 값 '%s' (키 '%s', 파일 %s): %s"
 
-#: config.c:672
+#: config.c:674
 #, c-format
 msgid "bad numeric config value '%s' for '%s' in standard input: %s"
 msgstr "잘못된 수치 설정 값 '%s' (키 '%s', 표준입력): %s"
 
-#: config.c:675
+#: config.c:677
 #, c-format
 msgid "bad numeric config value '%s' for '%s' in submodule-blob %s: %s"
 msgstr "잘못된 수치 설정 값 '%s' (키 '%s', 하위 모듈 블롭 %s): %s"
 
-#: config.c:678
+#: config.c:680
 #, c-format
 msgid "bad numeric config value '%s' for '%s' in command line %s: %s"
 msgstr "잘못된 수치 설정 값 '%s' (키 '%s', 명령행 %s): %s"
 
-#: config.c:681
+#: config.c:683
 #, c-format
 msgid "bad numeric config value '%s' for '%s' in %s: %s"
 msgstr "잘못된 수치 설정 값 '%s' (키 '%s', %s 안에): %s"
 
-#: config.c:768
+#: config.c:770
 #, c-format
 msgid "failed to expand user dir in: '%s'"
 msgstr "다음에 사용자 디렉터리 확장에 실패: '%s'"
 
-#: config.c:852 config.c:863
+#: config.c:865 config.c:876
 #, c-format
 msgid "bad zlib compression level %d"
 msgstr "%d번은 올바른 zlib 압축 단계가 아닙니다"
 
-#: config.c:978
+#: config.c:993
 #, c-format
 msgid "invalid mode for object creation: %s"
 msgstr "오브젝트 생성 모드가 올바르지 않습니다: %s"
 
-#: config.c:1312
+#: config.c:1149
+#, c-format
+msgid "bad pack compression level %d"
+msgstr "잘못 묶음 압축 단계 %d"
+
+#: config.c:1339
 msgid "unable to parse command-line config"
 msgstr "명령행 설정을 파싱할 수 없습니다"
 
-#: config.c:1362
+#: config.c:1389
 msgid "unknown error occurred while reading the configuration files"
 msgstr "설정 파일을 읽는 중 알 수 없는 오류가 생겼습니다"
 
-#: config.c:1716
+#: config.c:1743
 #, c-format
 msgid "unable to parse '%s' from command-line config"
 msgstr "명령행 설정에서 '%s'을(를) 설정할 수 없습니다"
 
-#: config.c:1718
+#: config.c:1745
 #, c-format
 msgid "bad config variable '%s' in file '%s' at line %d"
 msgstr "'%2$s' 파일의 %3$d번 줄 '%1$s' 설정 변수가 잘못되었습니다"
 
-#: config.c:1777
+#: config.c:1804
 #, c-format
 msgid "%s has multiple values"
 msgstr "%s은(는) 여러 개 값이 있습니다"
 
-#: config.c:2311
+#: config.c:2225 config.c:2450
+#, c-format
+msgid "fstat on %s failed"
+msgstr "%s에 대해 fstat 실패"
+
+#: config.c:2343
 #, c-format
 msgid "could not set '%s' to '%s'"
 msgstr "'%s'을(를) '%s'(으)로 설정할 수 없습니다"
 
-#: config.c:2313
+#: config.c:2345
 #, c-format
 msgid "could not unset '%s'"
 msgstr "'%s' 설정을 지울 수 없습니다"
@@ -1386,7 +1397,7 @@
 "올바른 접근 권한이 있는지, 그리고 저장소가 있는지\n"
 "확인하십시오."
 
-#: connected.c:63 builtin/fsck.c:173 builtin/prune.c:140
+#: connected.c:63 builtin/fsck.c:190 builtin/prune.c:140
 msgid "Checking connectivity"
 msgstr "연결을 확인하는 중입니다"
 
@@ -1513,12 +1524,12 @@
 msgid "  Unknown dirstat parameter '%s'\n"
 msgstr "  알 수 없는 dirstat 파라미터 '%s'\n"
 
-#: diff.c:283
+#: diff.c:281
 #, c-format
 msgid "Unknown value for 'diff.submodule' config variable: '%s'"
 msgstr "'diff.submodule' 설정 변수에 알 수 없는 값: '%s'"
 
-#: diff.c:346
+#: diff.c:344
 #, c-format
 msgid ""
 "Found errors in 'diff.dirstat' config variable:\n"
@@ -1527,21 +1538,21 @@
 "'diff.submodule' 설정 변수에 오류:\n"
 "%s'"
 
-#: diff.c:3087
+#: diff.c:3085
 #, c-format
 msgid "external diff died, stopping at %s"
 msgstr "외부 diff 프로그램이 죽음, %s 위치에서 멈춤"
 
-#: diff.c:3412
+#: diff.c:3411
 msgid "--name-only, --name-status, --check and -s are mutually exclusive"
 msgstr ""
 "\"--name-only, --name-status, --check, -s 옵션 중 하나만 쓸 수 있습니다"
 
-#: diff.c:3502
+#: diff.c:3501
 msgid "--follow requires exactly one pathspec"
 msgstr "--follow 옵션에는 정확히 하나의 경로명세가 필요합니다"
 
-#: diff.c:3665
+#: diff.c:3664
 #, c-format
 msgid ""
 "Failed to parse --dirstat/-X option parameter:\n"
@@ -1550,33 +1561,38 @@
 "--dirstat/-X 옵션 파라미터를 파싱하는데 실패했습니다:\n"
 "%s"
 
-#: diff.c:3679
+#: diff.c:3678
 #, c-format
 msgid "Failed to parse --submodule option parameter: '%s'"
 msgstr "--submodule 옵션 파라미터 파싱에 실패했습니다: '%s'"
 
-#: diff.c:4700
+#: diff.c:4696
 msgid "inexact rename detection was skipped due to too many files."
 msgstr "파일이 너무 많아서 부정확한 이름 바꾸기 검색 기능을 건너뜁니다."
 
-#: diff.c:4703
+#: diff.c:4699
 msgid "only found copies from modified paths due to too many files."
 msgstr "파일이 너무 많아서 수정한 경로의 복사본만 찾았습니다."
 
-#: diff.c:4706
+#: diff.c:4702
 #, c-format
 msgid ""
 "you may want to set your %s variable to at least %d and retry the command."
 msgstr "%s 변수를 최소한 %d(으)로 설정하고 명령을 다시 시도해 보십시오."
 
-#: dir.c:1866
+#: dir.c:1862
 msgid "failed to get kernel name and information"
 msgstr "커널 이름과 정보를 가져오는데 실패했습니다"
 
-#: dir.c:1985
+#: dir.c:1981
 msgid "Untracked cache is disabled on this system or location."
 msgstr "이 시스템 또는 위치에서는 추적되지 않는 캐시를 사용하지 않습니다."
 
+#: dir.c:2759
+#, c-format
+msgid "could not migrate git directory from '%s' to '%s'"
+msgstr "'%s'에서 '%s'(으)로 git 디렉터리를 옮겨올 수 없습니다"
+
 #: fetch-pack.c:213
 msgid "git fetch-pack: expected shallow list"
 msgstr "git fetch-pack: 얕은 목록을 예상함"
@@ -1757,35 +1773,40 @@
 msgid "failed writing detached signature to '%s'"
 msgstr "분리된 서명을 '%s'에 쓰는데 실패했습니다"
 
-#: grep.c:1782
+#: graph.c:96
+#, c-format
+msgid "ignore invalid color '%.*s' in log.graphColors"
+msgstr "log.graphColors에 잘못된 색을 ('%.*s') 무시합니다"
+
+#: grep.c:1794
 #, c-format
 msgid "'%s': unable to read %s"
 msgstr "'%s': %s을(를) 읽을 수 없습니다"
 
-#: grep.c:1799 builtin/clone.c:381 builtin/diff.c:84 builtin/rm.c:155
+#: grep.c:1811 builtin/clone.c:381 builtin/diff.c:81 builtin/rm.c:133
 #, c-format
 msgid "failed to stat '%s'"
 msgstr "'%s'에 대해 stat()이 실패했습니다"
 
-#: grep.c:1810
+#: grep.c:1822
 #, c-format
 msgid "'%s': short read"
 msgstr "'%s': 읽다가 잘림"
 
-#: help.c:203
+#: help.c:218
 #, c-format
 msgid "available git commands in '%s'"
 msgstr "'%s'에 있는 깃 명령"
 
-#: help.c:210
+#: help.c:225
 msgid "git commands available from elsewhere on your $PATH"
 msgstr "다른 $PATH에 있는 깃 명령"
 
-#: help.c:241
+#: help.c:256
 msgid "These are common Git commands used in various situations:"
 msgstr "다음은 여러가지 상황에서 자주 사용하는 깃 명령입니다:"
 
-#: help.c:306
+#: help.c:321
 #, c-format
 msgid ""
 "'%s' appears to be a git command, but we were not\n"
@@ -1794,11 +1815,11 @@
 "'%s'은(는) 깃 명령으로 보이지만, 실행할 수\n"
 "없습니다. 아마도 git-%s 망가진 것 같습니다."
 
-#: help.c:361
+#: help.c:376
 msgid "Uh oh. Your system reports no Git commands at all."
 msgstr "어라라. 시스템에 깃 명령이 하나도 없다고 나옵니다."
 
-#: help.c:383
+#: help.c:398
 #, c-format
 msgid ""
 "WARNING: You called a Git command named '%s', which does not exist.\n"
@@ -1807,17 +1828,17 @@
 "경고: 이름이 '%s'인 깃 명령을 실행했지만, 그 명령이 없습니다.\n"
 "자동으로 '%s' 명령이라고 가정하고 계속합니다"
 
-#: help.c:388
+#: help.c:403
 #, c-format
 msgid "in %0.1f seconds automatically..."
 msgstr "(%0.1f초 뒤에)..."
 
-#: help.c:395
+#: help.c:410
 #, c-format
 msgid "git: '%s' is not a git command. See 'git --help'."
 msgstr "git: '%s'은(는) 깃 명령이 아닙니다. 'git --help'를 참고하십시오."
 
-#: help.c:399 help.c:465
+#: help.c:414 help.c:480
 msgid ""
 "\n"
 "Did you mean this?"
@@ -1828,7 +1849,7 @@
 "\n"
 "다음을 의도하신 것 아니었나요?"
 
-#: help.c:461
+#: help.c:476
 #, c-format
 msgid "%s: %s - %s"
 msgstr "%s: %s - %s"
@@ -1896,69 +1917,69 @@
 msgid "(bad commit)\n"
 msgstr "(잘못된 커밋)\n"
 
-#: merge-recursive.c:231
+#: merge-recursive.c:231 merge-recursive.c:239
 #, c-format
 msgid "addinfo_cache failed for path '%s'"
 msgstr "'%s' 경로에 대해 addinfo_cache가 실패했습니다"
 
-#: merge-recursive.c:301
+#: merge-recursive.c:303
 msgid "error building trees"
 msgstr "트리 빌드에 오류"
 
-#: merge-recursive.c:720
+#: merge-recursive.c:727
 #, c-format
 msgid "failed to create path '%s'%s"
 msgstr "'%s' 경로 만들기에 실패했습니다%s"
 
-#: merge-recursive.c:731
+#: merge-recursive.c:738
 #, c-format
 msgid "Removing %s to make room for subdirectory\n"
 msgstr "하위 디렉터리에 공간을 만드려고 %s을(를) 제거합니다\n"
 
-#: merge-recursive.c:745 merge-recursive.c:764
+#: merge-recursive.c:752 merge-recursive.c:771
 msgid ": perhaps a D/F conflict?"
 msgstr ": 아마도 D/F 충돌?"
 
-#: merge-recursive.c:754
+#: merge-recursive.c:761
 #, c-format
 msgid "refusing to lose untracked file at '%s'"
 msgstr "'%s' 위치의 추적되지 않는 파일을 잃기를 거부합니다"
 
-#: merge-recursive.c:796 builtin/cat-file.c:34
+#: merge-recursive.c:803 builtin/cat-file.c:34
 #, c-format
 msgid "cannot read object %s '%s'"
 msgstr "%s '%s' 오브젝트를 읽을 수 없음"
 
-#: merge-recursive.c:798
+#: merge-recursive.c:805
 #, c-format
 msgid "blob expected for %s '%s'"
 msgstr "%s '%s'에 대해 블롭을 예상"
 
-#: merge-recursive.c:822
+#: merge-recursive.c:829
 #, c-format
 msgid "failed to open '%s': %s"
 msgstr "'%s'을(를) 여는데 실패: %s"
 
-#: merge-recursive.c:833
+#: merge-recursive.c:840
 #, c-format
 msgid "failed to symlink '%s': %s"
 msgstr "'%s' 심볼릭 링크에 실패: %s"
 
-#: merge-recursive.c:838
+#: merge-recursive.c:845
 #, c-format
 msgid "do not know what to do with %06o %s '%s'"
 msgstr "다음을 어떻게 할지 알 수 없습니다: %06o %s '%s'"
 
-#: merge-recursive.c:978
+#: merge-recursive.c:985
 msgid "Failed to execute internal merge"
 msgstr "내부 병합 실행에 실패"
 
-#: merge-recursive.c:982
+#: merge-recursive.c:989
 #, c-format
 msgid "Unable to add %s to database"
 msgstr "%s을(를) 데이터베이스에 추가할 수 없습니다"
 
-#: merge-recursive.c:1081 merge-recursive.c:1095
+#: merge-recursive.c:1088 merge-recursive.c:1102
 #, c-format
 msgid ""
 "CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left "
@@ -1966,7 +1987,7 @@
 msgstr ""
 "충돌! (%s/삭제): %s (위치 %s) 및 %s (%s에서) 삭제. %s 버전의 %s 트리에 남음."
 
-#: merge-recursive.c:1087 merge-recursive.c:1100
+#: merge-recursive.c:1094 merge-recursive.c:1107
 #, c-format
 msgid ""
 "CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left "
@@ -1975,20 +1996,20 @@
 "충돌! (%s/삭제): %s (위치 %s) 및 %s (위치 %s) 삭제. %s 버전의 %s 트리에 "
 "%s(으)로 남음."
 
-#: merge-recursive.c:1143
+#: merge-recursive.c:1150
 msgid "rename"
 msgstr "이름바꾸기"
 
-#: merge-recursive.c:1143
+#: merge-recursive.c:1150
 msgid "renamed"
 msgstr "이름바꿈"
 
-#: merge-recursive.c:1200
+#: merge-recursive.c:1207
 #, c-format
 msgid "%s is a directory in %s adding as %s instead"
 msgstr "%s은(는) %s에 있는 디렉터리로 %s(으)로 이름을 바꿉니다"
 
-#: merge-recursive.c:1225
+#: merge-recursive.c:1232
 #, c-format
 msgid ""
 "CONFLICT (rename/rename): Rename \"%s\"->\"%s\" in branch \"%s\" rename \"%s"
@@ -1997,136 +2018,136 @@
 "충돌! (이름바꾸기/이름바꾸기): \"%3$s\" 브랜치에서 이름바꾸기 \"%1$s\"->"
 "\"%2$s\" \"%6$s\" 브랜치에서 이름 바꾸기 \"%4$s\"->\"%5$s\"%7$s"
 
-#: merge-recursive.c:1230
+#: merge-recursive.c:1237
 msgid " (left unresolved)"
 msgstr " (해결되지 않음)"
 
-#: merge-recursive.c:1292
+#: merge-recursive.c:1299
 #, c-format
 msgid "CONFLICT (rename/rename): Rename %s->%s in %s. Rename %s->%s in %s"
 msgstr ""
 "충돌! (rename/rename): 이름 바꾸기 %s->%s (위치 %s). 이름 바꾸기 %s->%s (위"
 "치 %s)"
 
-#: merge-recursive.c:1325
+#: merge-recursive.c:1332
 #, c-format
 msgid "Renaming %s to %s and %s to %s instead"
 msgstr "대신 이름을 %s에서 %s(으)로 바꾸고 %s에서 %s(으)로 바꿉니다"
 
-#: merge-recursive.c:1531
+#: merge-recursive.c:1535
 #, c-format
 msgid "CONFLICT (rename/add): Rename %s->%s in %s. %s added in %s"
 msgstr "충돌! (rename/add): 이름 바꾸기 %s->%s (위치 %s). %s 추가 (위치 %s)"
 
-#: merge-recursive.c:1546
+#: merge-recursive.c:1550
 #, c-format
 msgid "Adding merged %s"
 msgstr "병합된 %s을(를) 추가합니다"
 
-#: merge-recursive.c:1553 merge-recursive.c:1766
+#: merge-recursive.c:1557 merge-recursive.c:1771
 #, c-format
 msgid "Adding as %s instead"
 msgstr "대신 %s(으)로 추가합니다"
 
-#: merge-recursive.c:1610
+#: merge-recursive.c:1614
 #, c-format
 msgid "cannot read object %s"
 msgstr "%s 오브젝트를 읽을 수 없습니다"
 
-#: merge-recursive.c:1613
+#: merge-recursive.c:1617
 #, c-format
 msgid "object %s is not a blob"
 msgstr "%s 오브젝트는 블롭이 아닙니다"
 
-#: merge-recursive.c:1666
+#: merge-recursive.c:1670
 msgid "modify"
 msgstr "수정"
 
-#: merge-recursive.c:1666
+#: merge-recursive.c:1670
 msgid "modified"
 msgstr "수정됨"
 
-#: merge-recursive.c:1676
+#: merge-recursive.c:1680
 msgid "content"
 msgstr "내용"
 
-#: merge-recursive.c:1683
+#: merge-recursive.c:1687
 msgid "add/add"
 msgstr "추가/추가"
 
-#: merge-recursive.c:1718
+#: merge-recursive.c:1723
 #, c-format
 msgid "Skipped %s (merged same as existing)"
 msgstr "건너뛰기: %s (기존과 같게 병합)"
 
-#: merge-recursive.c:1732
+#: merge-recursive.c:1737
 #, c-format
 msgid "Auto-merging %s"
 msgstr "자동 병합: %s"
 
-#: merge-recursive.c:1736 git-submodule.sh:924
+#: merge-recursive.c:1741 git-submodule.sh:930
 msgid "submodule"
 msgstr "하위 모듈"
 
-#: merge-recursive.c:1737
+#: merge-recursive.c:1742
 #, c-format
 msgid "CONFLICT (%s): Merge conflict in %s"
 msgstr "충돌! (%s): %s에 병합 충돌"
 
-#: merge-recursive.c:1831
+#: merge-recursive.c:1836
 #, c-format
 msgid "Removing %s"
 msgstr "제거: %s"
 
-#: merge-recursive.c:1857
+#: merge-recursive.c:1862
 msgid "file/directory"
 msgstr "파일/디렉터리"
 
-#: merge-recursive.c:1863
+#: merge-recursive.c:1868
 msgid "directory/file"
 msgstr "디렉터리/파일"
 
-#: merge-recursive.c:1868
+#: merge-recursive.c:1874
 #, c-format
 msgid "CONFLICT (%s): There is a directory with name %s in %s. Adding %s as %s"
 msgstr ""
 "충돌! (%s): 이름이 %s인 디렉터리가 %s에 있습니다. %s을(를) %s(으)로 추가합니"
 "다"
 
-#: merge-recursive.c:1877
+#: merge-recursive.c:1883
 #, c-format
 msgid "Adding %s"
 msgstr "추가: %s"
 
-#: merge-recursive.c:1914
+#: merge-recursive.c:1920
 msgid "Already up-to-date!"
 msgstr "이미 업데이트 상태입니다!"
 
-#: merge-recursive.c:1923
+#: merge-recursive.c:1929
 #, c-format
 msgid "merging of trees %s and %s failed"
 msgstr "%s 및 %s 트리의 병합이 실패했습니다"
 
-#: merge-recursive.c:2006
+#: merge-recursive.c:2012
 msgid "Merging:"
 msgstr "병합:"
 
-#: merge-recursive.c:2019
+#: merge-recursive.c:2025
 #, c-format
 msgid "found %u common ancestor:"
 msgid_plural "found %u common ancestors:"
 msgstr[0] "과거의 공통 커밋 %u개 발견:"
 
-#: merge-recursive.c:2058
+#: merge-recursive.c:2064
 msgid "merge returned no commit"
 msgstr "병합 결과에 커밋이 없습니다"
 
-#: merge-recursive.c:2121
+#: merge-recursive.c:2127
 #, c-format
 msgid "Could not parse object '%s'"
 msgstr "'%s' 오브젝트를 파싱할 수 없습니다"
 
-#: merge-recursive.c:2135 builtin/merge.c:641 builtin/merge.c:788
+#: merge-recursive.c:2141 builtin/merge.c:645 builtin/merge.c:792
 msgid "Unable to write index."
 msgstr "인덱스를 쓸 수 없습니다."
 
@@ -2167,7 +2188,7 @@
 msgid "Bad %s value: '%s'"
 msgstr "잘못된 %s 값: '%s'"
 
-#: object.c:242
+#: object.c:240
 #, c-format
 msgid "unable to parse object: %s"
 msgstr "오브젝트를 파싱할 수 없습니다: %s"
@@ -2207,57 +2228,62 @@
 msgid "Could not make %s writable by group"
 msgstr "%s을(를) 그룹에서 쓰기 가능하도록 만들 수 없습니다"
 
-#: pathspec.c:133
+#: pathspec.c:142
 msgid "global 'glob' and 'noglob' pathspec settings are incompatible"
 msgstr "'glob' 및 'noglob' 경로명세 전체 설정은 호환되지 않습니다"
 
-#: pathspec.c:143
+#: pathspec.c:149
 msgid ""
 "global 'literal' pathspec setting is incompatible with all other global "
 "pathspec settings"
 msgstr ""
 "'literal' 경로명세 전체 설정은 다른 경로명세 전체 설정과 호환되지 않습니다"
 
-#: pathspec.c:177
+#: pathspec.c:188
 msgid "invalid parameter for pathspec magic 'prefix'"
 msgstr "경로명세 지시어 'prefix'에 잘못된 파라미터"
 
-#: pathspec.c:183
+#: pathspec.c:201
 #, c-format
 msgid "Invalid pathspec magic '%.*s' in '%s'"
 msgstr "잘못된 경로명세 지시어 '%.*s' (위치 '%s')"
 
-#: pathspec.c:187
+#: pathspec.c:206
 #, c-format
 msgid "Missing ')' at the end of pathspec magic in '%s'"
 msgstr "경로 명세 지시어 끝에 ')' 빠짐 (위치 '%s')"
 
-#: pathspec.c:205
+#: pathspec.c:238
 #, c-format
 msgid "Unimplemented pathspec magic '%c' in '%s'"
 msgstr "구현되지 않은 경로명세 지시어 '%c' (위치 '%s')"
 
-#: pathspec.c:230
-#, c-format
-msgid "%s: 'literal' and 'glob' are incompatible"
-msgstr "%s: 'literal'과 'glob'은 호환되지 않습니다"
-
-#: pathspec.c:241
-#, c-format
-msgid "%s: '%s' is outside repository"
-msgstr "%s: '%s'은(는) 저장소 밖입니다"
-
-#: pathspec.c:291
+#: pathspec.c:293 pathspec.c:315
 #, c-format
 msgid "Pathspec '%s' is in submodule '%.*s'"
 msgstr "경로명세 '%s'은(는) ''%.*s' 하위 모듈 안에 있습니다"
 
-#: pathspec.c:353
+#: pathspec.c:350
+#, c-format
+msgid "%s: 'literal' and 'glob' are incompatible"
+msgstr "%s: 'literal'과 'glob'은 호환되지 않습니다"
+
+#: pathspec.c:363
+#, c-format
+msgid "%s: '%s' is outside repository"
+msgstr "%s: '%s'은(는) 저장소 밖입니다"
+
+#: pathspec.c:451
+#, c-format
+msgid "'%s' (mnemonic: '%c')"
+msgstr "'%s' (단축키: '%c')"
+
+#: pathspec.c:461
 #, c-format
 msgid "%s: pathspec magic not supported by this command: %s"
 msgstr "%s: 경로명세 지시어가 이 명령어에서 지원하지 않습니다: %s"
 
-#: pathspec.c:408
+#: pathspec.c:511
 msgid ""
 "empty strings as pathspecs will be made invalid in upcoming releases. please "
 "use . instead if you meant to match all paths"
@@ -2265,12 +2291,12 @@
 "경로명세로 빈 문자열을 넣는 일은 다음 릴리스에서 오류로 취급할 예정입니다. 모"
 "든 경로를 지정하려면 점(.)을 사용하십시오."
 
-#: pathspec.c:440
+#: pathspec.c:535
 #, c-format
 msgid "pathspec '%s' is beyond a symbolic link"
 msgstr "'%s' 경로명세는 심볼릭 링크 아래에 있습니다"
 
-#: pathspec.c:449
+#: pathspec.c:544
 msgid ""
 "There is nothing to exclude from by :(exclude) patterns.\n"
 "Perhaps you forgot to add either ':/' or '.' ?"
@@ -2278,11 +2304,11 @@
 ":(exclude) 패턴으로 제외할 사항이 없습니다.\n"
 "':/' 또는 '.' 추가를 잊으신 것 아닙니까?"
 
-#: pretty.c:971
+#: pretty.c:982
 msgid "unable to parse --pretty format"
 msgstr "--pretty 형식을 파싱할 수 없습니다"
 
-#: read-cache.c:1315
+#: read-cache.c:1307
 #, c-format
 msgid ""
 "index.version set, but the value is invalid.\n"
@@ -2291,7 +2317,7 @@
 "index.version이 설정되었지만, 이 값이 잘못되었습니다.\n"
 "%i 버전을 사용합니다"
 
-#: read-cache.c:1325
+#: read-cache.c:1317
 #, c-format
 msgid ""
 "GIT_INDEX_VERSION set, but the value is invalid.\n"
@@ -2300,7 +2326,7 @@
 "GIT_INDEX_VERSION이 설정되었지만, 이 값이 잘못되었습니다.\n"
 "%i 버전을 사용합니다"
 
-#: refs.c:576 builtin/merge.c:840
+#: refs.c:576 builtin/merge.c:844
 #, c-format
 msgid "Could not open '%s' for writing"
 msgstr "'%s'을(를) 쓰기용으로 열 수 없습니다"
@@ -2320,237 +2346,242 @@
 msgid "could not remove reference %s"
 msgstr "%s 레퍼런스를 제거할 수 없습니다"
 
-#: ref-filter.c:55
+#: ref-filter.c:56
 #, c-format
 msgid "expected format: %%(color:<color>)"
 msgstr "예상한 형식: %%(color:<색>)"
 
-#: ref-filter.c:57
+#: ref-filter.c:58
 #, c-format
 msgid "unrecognized color: %%(color:%s)"
 msgstr "인식할 수 없는 색: %%(color:%s)"
 
-#: ref-filter.c:71
+#: ref-filter.c:72
 #, c-format
 msgid "unrecognized format: %%(%s)"
 msgstr "알 수 없는 형식: %%(%s)"
 
-#: ref-filter.c:77
+#: ref-filter.c:78
 #, c-format
 msgid "%%(body) does not take arguments"
 msgstr "%%(body)에 인자를 받지 않습니다"
 
-#: ref-filter.c:84
+#: ref-filter.c:85
 #, c-format
 msgid "%%(subject) does not take arguments"
 msgstr "%%(subject)에 인자를 받지 않습니다"
 
-#: ref-filter.c:101
+#: ref-filter.c:92
+#, c-format
+msgid "%%(trailers) does not take arguments"
+msgstr "%%(trailers)에 인자를 받지 않습니다"
+
+#: ref-filter.c:111
 #, c-format
 msgid "positive value expected contents:lines=%s"
 msgstr "'contents:lines=%s'에서 0보다 큰 값이 와야 합니다"
 
-#: ref-filter.c:103
+#: ref-filter.c:113
 #, c-format
 msgid "unrecognized %%(contents) argument: %s"
 msgstr "알 수 없는 %%(contents) 인자: %s"
 
-#: ref-filter.c:113
+#: ref-filter.c:123
 #, c-format
 msgid "unrecognized %%(objectname) argument: %s"
 msgstr "알 수 없는 %%(objectname) 인자: %s"
 
-#: ref-filter.c:135
+#: ref-filter.c:145
 #, c-format
 msgid "expected format: %%(align:<width>,<position>)"
 msgstr "예상한 형식: %%(align:<너비>,<위치>)"
 
-#: ref-filter.c:147
+#: ref-filter.c:157
 #, c-format
 msgid "unrecognized position:%s"
 msgstr "인식할 수 없는 위치:%s"
 
-#: ref-filter.c:151
+#: ref-filter.c:161
 #, c-format
 msgid "unrecognized width:%s"
 msgstr "인식할 수 없는 너비:%s"
 
-#: ref-filter.c:157
+#: ref-filter.c:167
 #, c-format
 msgid "unrecognized %%(align) argument: %s"
 msgstr "인식할 수 없는 %%(align) 인자:%s"
 
-#: ref-filter.c:161
+#: ref-filter.c:171
 #, c-format
 msgid "positive width expected with the %%(align) atom"
 msgstr "%%(align) 아톰에 너비가 0보다 커야 합니다"
 
-#: ref-filter.c:244
+#: ref-filter.c:255
 #, c-format
 msgid "malformed field name: %.*s"
 msgstr "잘못된 형식의 필드 이름: %.*s"
 
-#: ref-filter.c:270
+#: ref-filter.c:281
 #, c-format
 msgid "unknown field name: %.*s"
 msgstr "알 수 없는 필드 이름: %.*s"
 
-#: ref-filter.c:372
+#: ref-filter.c:383
 #, c-format
 msgid "format: %%(end) atom used without corresponding atom"
 msgstr "형식: %%(end) 아톰이 대응되는 아톰 없이 사용되었습니다"
 
-#: ref-filter.c:424
+#: ref-filter.c:435
 #, c-format
 msgid "malformed format string %s"
 msgstr "잘못된 형식의 문자열 %s"
 
-#: ref-filter.c:878
+#: ref-filter.c:898
 msgid ":strip= requires a positive integer argument"
 msgstr ":strip= 명령에는 0보다 큰 정수 인자가 필요합니다"
 
-#: ref-filter.c:883
+#: ref-filter.c:903
 #, c-format
 msgid "ref '%s' does not have %ld components to :strip"
 msgstr "'%s' 레퍼런스에 :strip할 구성 요소 %ld개가 없습니다"
 
-#: ref-filter.c:1046
+#: ref-filter.c:1066
 #, c-format
 msgid "unknown %.*s format %s"
 msgstr "알 수 없는 %.*s 형식 %s"
 
-#: ref-filter.c:1066 ref-filter.c:1097
+#: ref-filter.c:1086 ref-filter.c:1117
 #, c-format
 msgid "missing object %s for %s"
 msgstr "없는 오브젝트 %s, %s에 대해"
 
-#: ref-filter.c:1069 ref-filter.c:1100
+#: ref-filter.c:1089 ref-filter.c:1120
 #, c-format
 msgid "parse_object_buffer failed on %s for %s"
 msgstr "%s에 parse_object_buffer 실패 (%s에 대해)"
 
-#: ref-filter.c:1311
+#: ref-filter.c:1343
 #, c-format
 msgid "malformed object at '%s'"
 msgstr "'%s'에 잘못된 형식의 오브젝트"
 
-#: ref-filter.c:1373
+#: ref-filter.c:1410
 #, c-format
 msgid "ignoring ref with broken name %s"
 msgstr "망가진 이름 %s에 레퍼런스를 무시합니다"
 
-#: ref-filter.c:1378
+#: ref-filter.c:1415
 #, c-format
 msgid "ignoring broken ref %s"
 msgstr "망가진 레퍼런스 %s 무시"
 
-#: ref-filter.c:1633
+#: ref-filter.c:1670
 #, c-format
 msgid "format: %%(end) atom missing"
 msgstr "형식: %%(end) 아톰이 없습니다"
 
-#: ref-filter.c:1687
+#: ref-filter.c:1734
 #, c-format
 msgid "malformed object name %s"
 msgstr "잘못된 형식의 오브젝트 이름 %s"
 
-#: remote.c:746
+#: remote.c:754
 #, c-format
 msgid "Cannot fetch both %s and %s to %s"
 msgstr "%s 및 %s을(를) 모두 %s에 가져올 수 없습니다"
 
-#: remote.c:750
+#: remote.c:758
 #, c-format
 msgid "%s usually tracks %s, not %s"
 msgstr "%s은(는) 보통 %s을(를) 추적하고, %s을(를) 추적하지 않습니다"
 
-#: remote.c:754
+#: remote.c:762
 #, c-format
 msgid "%s tracks both %s and %s"
 msgstr "%s은(는) %s 및 %s 모두 추적합니다"
 
-#: remote.c:762
+#: remote.c:770
 msgid "Internal error"
 msgstr "내부 오류"
 
-#: remote.c:1677 remote.c:1720
+#: remote.c:1685 remote.c:1787
 msgid "HEAD does not point to a branch"
 msgstr "HEAD가 브랜치를 가리키지 않습니다"
 
-#: remote.c:1686
+#: remote.c:1694
 #, c-format
 msgid "no such branch: '%s'"
 msgstr "그런 브랜치가 없습니다: '%s'"
 
-#: remote.c:1689
+#: remote.c:1697
 #, c-format
 msgid "no upstream configured for branch '%s'"
 msgstr "'%s' 브랜치에 대해 업스트림을 설정하지 않았습니다"
 
-#: remote.c:1695
+#: remote.c:1703
 #, c-format
 msgid "upstream branch '%s' not stored as a remote-tracking branch"
 msgstr "업스트림 '%s' 브랜치가 리모트 추적 브랜치로 저장되지 않았습니다"
 
-#: remote.c:1710
+#: remote.c:1718
 #, c-format
 msgid "push destination '%s' on remote '%s' has no local tracking branch"
 msgstr "리모트 '%2$s'의 푸시 대상 '%1$s'에 로컬 추적 브랜치가 없습니다"
 
-#: remote.c:1725
+#: remote.c:1730
 #, c-format
 msgid "branch '%s' has no remote for pushing"
 msgstr "'%s' 브랜치에 푸시 리모트가 없습니다"
 
-#: remote.c:1736
+#: remote.c:1741
 #, c-format
 msgid "push refspecs for '%s' do not include '%s'"
 msgstr "'%s'에 대한 푸시 레퍼런스명세에 '%s'이(가) 들어 있지 않습니다"
 
-#: remote.c:1749
+#: remote.c:1754
 msgid "push has no destination (push.default is 'nothing')"
 msgstr "푸시의 대상이 없습니다 (push.default가 'nothing'입니다)"
 
-#: remote.c:1771
+#: remote.c:1776
 msgid "cannot resolve 'simple' push to a single destination"
 msgstr "하나의 대상에 대해 'simple' 푸시를 처리할 수 없습니다"
 
-#: remote.c:2073
+#: remote.c:2081
 #, c-format
 msgid "Your branch is based on '%s', but the upstream is gone.\n"
 msgstr "현재 브랜치가 '%s' 기반이지만, 업스트림이 없어졌습니다.\n"
 
-#: remote.c:2077
+#: remote.c:2085
 msgid "  (use \"git branch --unset-upstream\" to fixup)\n"
 msgstr "  (바로잡으려면 \"git branch --unset-upstream\"을 사용하십시오)\n"
 
-#: remote.c:2080
+#: remote.c:2088
 #, c-format
 msgid "Your branch is up-to-date with '%s'.\n"
 msgstr "브랜치가 '%s'에 맞게 업데이트된 상태입니다.\n"
 
-#: remote.c:2084
+#: remote.c:2092
 #, c-format
 msgid "Your branch is ahead of '%s' by %d commit.\n"
 msgid_plural "Your branch is ahead of '%s' by %d commits.\n"
 msgstr[0] "브랜치가 '%s'보다 %d개 커밋만큼 앞에 있습니다.\n"
 
-#: remote.c:2090
+#: remote.c:2098
 msgid "  (use \"git push\" to publish your local commits)\n"
 msgstr "  (로컬에 있는 커밋을 제출하려면 \"git push\"를 사용하십시오)\n"
 
-#: remote.c:2093
+#: remote.c:2101
 #, c-format
 msgid "Your branch is behind '%s' by %d commit, and can be fast-forwarded.\n"
 msgid_plural ""
 "Your branch is behind '%s' by %d commits, and can be fast-forwarded.\n"
 msgstr[0] "브랜치가 '%s'보다 %d개 커밋 뒤에 있고, 앞으로 돌릴 수 있습니다.\n"
 
-#: remote.c:2101
+#: remote.c:2109
 msgid "  (use \"git pull\" to update your local branch)\n"
 msgstr "  (로컬 브랜치를 업데이트하려면 \"git pull\"을 사용하십시오)\n"
 
-#: remote.c:2104
+#: remote.c:2112
 #, c-format
 msgid ""
 "Your branch and '%s' have diverged,\n"
@@ -2562,7 +2593,7 @@
 "현재 브랜치와 '%s'이(가) 갈라졌습니다,\n"
 "다른 커밋이 각각 %d개와 %d개 있습니다.\n"
 
-#: remote.c:2114
+#: remote.c:2122
 msgid "  (use \"git pull\" to merge the remote branch into yours)\n"
 msgstr ""
 "  (리모트의 브랜치를 현재 브랜치로 병합하려면 \"git pull\"을 사용하십시오)\n"
@@ -2580,11 +2611,11 @@
 msgid "--first-parent is incompatible with --bisect"
 msgstr "--first-parent 옵션은 --bisect 옵션과 호환되지 않습니다"
 
-#: run-command.c:106
+#: run-command.c:125
 msgid "open /dev/null failed"
 msgstr "/dev/null 열기 실패"
 
-#: run-command.c:108
+#: run-command.c:127
 #, c-format
 msgid "dup2(%d,%d) failed"
 msgstr "dup2(%d,%d) 실패"
@@ -2612,15 +2643,24 @@
 msgid "the receiving end does not support push options"
 msgstr "받는 쪽에서 푸시 옵션을 지원하지 않습니다"
 
-#: sequencer.c:171
+#: sequencer.c:215
 msgid "revert"
-msgstr "되돌리기"
+msgstr "revert"
 
-#: sequencer.c:171
+#: sequencer.c:217
 msgid "cherry-pick"
-msgstr "빼오기"
+msgstr "cherry-pick"
 
-#: sequencer.c:228
+#: sequencer.c:219
+msgid "rebase -i"
+msgstr "rebase -i"
+
+#: sequencer.c:221
+#, c-format
+msgid "Unknown action: %d"
+msgstr "알 수 없는 동작: %d"
+
+#: sequencer.c:278
 msgid ""
 "after resolving the conflicts, mark the corrected paths\n"
 "with 'git add <paths>' or 'git rm <paths>'"
@@ -2628,7 +2668,7 @@
 "이 충돌을 해결한 뒤에, 바로잡은 경로를\n"
 "'git add <경로>' 또는 'git rm <경로>'로 표시하십시오"
 
-#: sequencer.c:231
+#: sequencer.c:281
 msgid ""
 "after resolving the conflicts, mark the corrected paths\n"
 "with 'git add <paths>' or 'git rm <paths>'\n"
@@ -2638,60 +2678,63 @@
 "'git add <경로>' 또는 'git rm <경로>'로 표시하십시오.\n"
 "그리고 결과물을 'git commit'으로 커밋하십시오"
 
-#: sequencer.c:244 sequencer.c:1209
+#: sequencer.c:294 sequencer.c:1667
 #, c-format
 msgid "could not lock '%s'"
 msgstr "'%s'을(를) 잠글 수 없습니다"
 
-#: sequencer.c:247 sequencer.c:1125 sequencer.c:1214
+#: sequencer.c:297 sequencer.c:1545 sequencer.c:1672 sequencer.c:1686
 #, c-format
 msgid "could not write to '%s'"
 msgstr "'%s'에 쓸 수 없습니다"
 
-#: sequencer.c:251
+#: sequencer.c:301
 #, c-format
 msgid "could not write eol to '%s'"
 msgstr "'%s'에 줄바꿈을 쓸 수 없습니다"
 
-#: sequencer.c:255 sequencer.c:1130 sequencer.c:1216
+#: sequencer.c:305 sequencer.c:1550 sequencer.c:1674
 #, c-format
 msgid "failed to finalize '%s'."
-msgstr "'%s' 마치는데 실패했습니다"
+msgstr "'%s' 마치는데 실패했습니다."
 
-#: sequencer.c:279 builtin/am.c:259 builtin/commit.c:749 builtin/merge.c:1032
+#: sequencer.c:329 sequencer.c:808 sequencer.c:1571 builtin/am.c:259
+#: builtin/commit.c:749 builtin/merge.c:1036
 #, c-format
 msgid "could not read '%s'"
 msgstr "'%s'에서 읽을 수 없습니다"
 
-#: sequencer.c:305
+#: sequencer.c:355
 #, c-format
 msgid "your local changes would be overwritten by %s."
 msgstr "로컬 변경 사항을 %s 때문에 덮어 쓰게 됩니다."
 
-#: sequencer.c:309
+#: sequencer.c:359
 msgid "commit your changes or stash them to proceed."
 msgstr "변경 사항을 커밋하거나 스태시한 다음 계속하십시오."
 
-#: sequencer.c:324
+#: sequencer.c:388
 #, c-format
 msgid "%s: fast-forward"
 msgstr "%s: 정방향 진행"
 
-#. TRANSLATORS: %s will be "revert" or "cherry-pick"
-#: sequencer.c:399
+#. TRANSLATORS: %s will be "revert", "cherry-pick" or
+#. * "rebase -i".
+#.
+#: sequencer.c:470
 #, c-format
 msgid "%s: Unable to write new index file"
 msgstr "%s: 새 인덱스 파일을 쓸 수 없습니다"
 
-#: sequencer.c:418
+#: sequencer.c:489
 msgid "could not resolve HEAD commit\n"
 msgstr "HEAD 커밋을 처리할 수 없습니다\n"
 
-#: sequencer.c:438
+#: sequencer.c:509
 msgid "unable to update cache tree\n"
 msgstr "캐시 트리를 업데이트할 수 없습니다\n"
 
-#: sequencer.c:483
+#: sequencer.c:592
 #, c-format
 msgid ""
 "you have staged changes in your working tree\n"
@@ -2721,173 +2764,393 @@
 "\n"
 "  git rebase --continue\n"
 
-#: sequencer.c:567
+#: sequencer.c:688
 #, c-format
 msgid "could not parse commit %s\n"
 msgstr "%s 커밋을 파싱할 수 없습니다\n"
 
-#: sequencer.c:572
+#: sequencer.c:693
 #, c-format
 msgid "could not parse parent commit %s\n"
 msgstr "%s 이전 커밋을 파싱할 수 없습니다\n"
 
-#: sequencer.c:656
+#: sequencer.c:815
+#, c-format
+msgid ""
+"unexpected 1st line of squash message:\n"
+"\n"
+"\t%.*s"
+msgstr ""
+"커밋 합치기 메시지의 첫 줄이 예상치 못함:\n"
+"\n"
+"\t%.*s"
+
+#: sequencer.c:821
+#, c-format
+msgid ""
+"invalid 1st line of squash message:\n"
+"\n"
+"\t%.*s"
+msgstr ""
+"커밋 합치기 메시지의 첫 줄이 잘못됨:\n"
+"\n"
+"\t%.*s"
+
+#: sequencer.c:827 sequencer.c:852
+#, c-format
+msgid "This is a combination of %d commits."
+msgstr "커밋 %d개가 섞인 결과입니다."
+
+#: sequencer.c:836
+msgid "need a HEAD to fixup"
+msgstr "바로잡으려면 HEAD가 필요합니다"
+
+#: sequencer.c:838
+msgid "could not read HEAD"
+msgstr "HEAD를 읽을 수 없습니다"
+
+#: sequencer.c:840
+msgid "could not read HEAD's commit message"
+msgstr "HEAD의 커밋 메시지를 읽을 수 없습니다"
+
+#: sequencer.c:846
+#, c-format
+msgid "cannot write '%s'"
+msgstr "'%s'을(를) 쓸 수 없습니다"
+
+#: sequencer.c:855 git-rebase--interactive.sh:445
+msgid "This is the 1st commit message:"
+msgstr "1번째 커밋 메시지입니다:"
+
+#: sequencer.c:863
+#, c-format
+msgid "could not read commit message of %s"
+msgstr "%s의 커밋 메시지를 읽을 수 없습니다"
+
+#: sequencer.c:870
+#, c-format
+msgid "This is the commit message #%d:"
+msgstr "커밋 메시지 #%d번입니다:"
+
+#: sequencer.c:875
+#, c-format
+msgid "The commit message #%d will be skipped:"
+msgstr "커밋 메시지 #%d번을 건너뜁니다:"
+
+#: sequencer.c:880
+#, c-format
+msgid "unknown command: %d"
+msgstr "알 수 없는 명령: %d"
+
+#: sequencer.c:946
 msgid "your index file is unmerged."
 msgstr "인덱스 파일이 병합되지 않았습니다."
 
-#: sequencer.c:675
+#: sequencer.c:964
 #, c-format
 msgid "commit %s is a merge but no -m option was given."
 msgstr "%s 커밋은 병합이지만 -m 옵션이 주어지지 않았습니다."
 
 # FIXME: "parent %d" 번호가 무슨 의미?
-#: sequencer.c:683
+#: sequencer.c:972
 #, c-format
 msgid "commit %s does not have parent %d"
 msgstr "%s 커밋에 이전 커밋 %d이(가) 없습니다"
 
-#: sequencer.c:687
+#: sequencer.c:976
 #, c-format
 msgid "mainline was specified but commit %s is not a merge."
 msgstr "메인라인을 지정했지만 %s 커밋이 병합 커밋이 아닙니다."
 
-#. TRANSLATORS: The first %s will be a "todo" command like
-#. "revert" or "pick", the second %s a SHA1.
-#: sequencer.c:700
-#, c-format
-msgid "%s: cannot parse parent commit %s"
-msgstr "%s: %s 이전 커밋을 파싱할 수 없습니다"
-
-#: sequencer.c:705
+#: sequencer.c:982
 #, c-format
 msgid "cannot get commit message for %s"
 msgstr "%s에 대한 커밋 메시지를 가져올 수 없습니다"
 
-#: sequencer.c:797
+#. TRANSLATORS: The first %s will be a "todo" command like
+#. "revert" or "pick", the second %s a SHA1.
+#: sequencer.c:1001
+#, c-format
+msgid "%s: cannot parse parent commit %s"
+msgstr "%s: %s 이전 커밋을 파싱할 수 없습니다"
+
+#: sequencer.c:1063 sequencer.c:1812
+#, c-format
+msgid "could not rename '%s' to '%s'"
+msgstr "'%s'에서 '%s'(으)로 이름을 바꿀 수 없습니다"
+
+#: sequencer.c:1114
 #, c-format
 msgid "could not revert %s... %s"
 msgstr "다음을 되돌릴(revert) 수 없습니다: %s... %s"
 
-#: sequencer.c:798
+#: sequencer.c:1115
 #, c-format
 msgid "could not apply %s... %s"
 msgstr "다음을 적용할(apply) 수 없습니다: %s... %s"
 
-#: sequencer.c:833
+#: sequencer.c:1157
 msgid "empty commit set passed"
 msgstr "빈 커밋 모음을 건너 뜁니다"
 
-#: sequencer.c:843
+#: sequencer.c:1167
 #, c-format
 msgid "git %s: failed to read the index"
 msgstr "git %s: 인덱스 읽기에 실패했습니다"
 
-#: sequencer.c:850
+#: sequencer.c:1174
 #, c-format
 msgid "git %s: failed to refresh the index"
 msgstr "git %s: 인덱스 새로 고침에 실패했습니다"
 
-#: sequencer.c:944
+#: sequencer.c:1294
 #, c-format
 msgid "invalid line %d: %.*s"
 msgstr "잘못된 줄 %d: %.*s"
 
-#: sequencer.c:950
-msgid "no commits parsed."
-msgstr "파싱한 커밋이 없습니다."
+#: sequencer.c:1302
+#, c-format
+msgid "cannot '%s' without a previous commit"
+msgstr "이전 커밋 없이 '%s' 수행할 수 없습니다"
 
-#: sequencer.c:966
+#: sequencer.c:1334
 #, c-format
 msgid "could not read '%s'."
 msgstr "'%s'에서 읽을 수 없습니다."
 
-#: sequencer.c:972
+#: sequencer.c:1341
+msgid "please fix this using 'git rebase --edit-todo'."
+msgstr "'git rebase --edit-todo' 명령으로 바로잡으십시오."
+
+#: sequencer.c:1343
 #, c-format
 msgid "unusable instruction sheet: '%s'"
 msgstr "사용 불가능 인스트럭션 시트: '%s'"
 
-#: sequencer.c:983
+#: sequencer.c:1348
+msgid "no commits parsed."
+msgstr "파싱한 커밋이 없습니다."
+
+#: sequencer.c:1359
 msgid "cannot cherry-pick during a revert."
 msgstr "되돌리기(revert) 중에 빼오기(cherry-pick)를 할 수 없습니다."
 
-#: sequencer.c:985
+#: sequencer.c:1361
 msgid "cannot revert during a cherry-pick."
 msgstr "빼오기(cherry-pick) 중에 되돌리기(revert)를 할 수 없습니다."
 
-#: sequencer.c:1028
+#: sequencer.c:1424
 #, c-format
 msgid "invalid key: %s"
 msgstr "잘못된 키: %s"
 
-#: sequencer.c:1031
+#: sequencer.c:1427
 #, c-format
 msgid "invalid value for %s: %s"
 msgstr "%s의 값이 잘못됨: %s"
 
-#: sequencer.c:1063
+#: sequencer.c:1484
 #, c-format
 msgid "malformed options sheet: '%s'"
 msgstr "형식이 잘못된 옵션 시트: '%s'"
 
-#: sequencer.c:1101
+#: sequencer.c:1522
 msgid "a cherry-pick or revert is already in progress"
 msgstr "이미 커밋 빼오기(cherry-pick) 또는 되돌리기(revert)가 진행 중입니다"
 
-#: sequencer.c:1102
+#: sequencer.c:1523
 msgid "try \"git cherry-pick (--continue | --quit | --abort)\""
 msgstr "\"git cherry-pick (--continue | --quit | --abort)\" 명령을 해 보십시오"
 
-#: sequencer.c:1106
+#: sequencer.c:1526
 #, c-format
 msgid "could not create sequencer directory '%s'"
 msgstr "'%s' 시퀀서 디렉터리를 만들 수 없습니다"
 
-#: sequencer.c:1120
+#: sequencer.c:1540
 msgid "could not lock HEAD"
 msgstr "HEAD를 잠글 수 없습니다"
 
-#: sequencer.c:1151 sequencer.c:1289
+#: sequencer.c:1596 sequencer.c:2150
 msgid "no cherry-pick or revert in progress"
 msgstr "빼오기(cherry-pick) 또는 되돌리기(revert)가 진행 중이지 않습니다"
 
-#: sequencer.c:1153
+#: sequencer.c:1598
 msgid "cannot resolve HEAD"
 msgstr "HEAD를 구해 올 수 없습니다"
 
-#: sequencer.c:1155 sequencer.c:1189
+#: sequencer.c:1600 sequencer.c:1634
 msgid "cannot abort from a branch yet to be born"
 msgstr "새로 만들고 있는 브랜치에서 중지할 수 없습니다"
 
-#: sequencer.c:1175 builtin/grep.c:578
+#: sequencer.c:1620 builtin/grep.c:904
 #, c-format
 msgid "cannot open '%s'"
 msgstr "'%s'을(를) 열 수 없습니다"
 
-#: sequencer.c:1177
+#: sequencer.c:1622
 #, c-format
 msgid "cannot read '%s': %s"
 msgstr "'%s'을(를) 읽을 수 없습니다: %s"
 
-#: sequencer.c:1178
+#: sequencer.c:1623
 msgid "unexpected end of file"
 msgstr "예상치 못하게 파일이 끝났습니다"
 
-#: sequencer.c:1184
+#: sequencer.c:1629
 #, c-format
 msgid "stored pre-cherry-pick HEAD file '%s' is corrupt"
 msgstr "빼오기 전에 저장한 HEAD 파일이('%s') 손상되었습니다"
 
-#: sequencer.c:1354
+#: sequencer.c:1640
+msgid "You seem to have moved HEAD. Not rewinding, check your HEAD!"
+msgstr "HEAD를 옮긴 것 같습니다. 되돌리지 않습니다. HEAD를 확인하십시오!"
+
+#: sequencer.c:1777 sequencer.c:2049
+msgid "cannot read HEAD"
+msgstr "HEAD를 읽을 수 없습니다"
+
+#: sequencer.c:1817 builtin/difftool.c:574
+#, c-format
+msgid "could not copy '%s' to '%s'"
+msgstr "'%s'에서 '%s'(으)로 복사할 수 없습니다"
+
+#: sequencer.c:1833
+msgid "could not read index"
+msgstr "인덱스를 읽을 수 없습니다"
+
+#: sequencer.c:1838
+#, c-format
+msgid ""
+"execution failed: %s\n"
+"%sYou can fix the problem, and then run\n"
+"\n"
+"  git rebase --continue\n"
+"\n"
+msgstr ""
+"실행 실패: %s\n"
+"%s문제를 바로잡고, 다음을 실행하십시오\n"
+"\n"
+"  git rebase --continue\n"
+"\n"
+
+#: sequencer.c:1844
+msgid "and made changes to the index and/or the working tree\n"
+msgstr "그리고 인덱스 그리고/또는 작업 폴더에 변경 사항이 있습니다\n"
+
+#: sequencer.c:1850
+#, c-format
+msgid ""
+"execution succeeded: %s\n"
+"but left changes to the index and/or the working tree\n"
+"Commit or stash your changes, and then run\n"
+"\n"
+"  git rebase --continue\n"
+"\n"
+msgstr ""
+"실행 성공: %s\n"
+"하지만 변경 사항을 인덱스 및/또는 작업 폴더에 남겨둡니다.\n"
+"변경 사항을 커밋하거나 스태시에 넣으려면, 다음을 실행하십시오:\n"
+"\n"
+"  git rebase --continue\n"
+"\n"
+
+#: sequencer.c:1905 git-rebase.sh:168
+#, c-format
+msgid "Applied autostash."
+msgstr "자동스태시 적용."
+
+#: sequencer.c:1917
+#, c-format
+msgid "cannot store %s"
+msgstr "%s을(를) 저장할 수 없습니다"
+
+#: sequencer.c:1919 git-rebase.sh:172
+#, c-format
+msgid ""
+"Applying autostash resulted in conflicts.\n"
+"Your changes are safe in the stash.\n"
+"You can run \"git stash pop\" or \"git stash drop\" at any time.\n"
+msgstr ""
+"자동스태시 적용에 충돌이 발생했습니다.\n"
+"변경 사항은 스태시 안에 안전하게 들어 있습니다.\n"
+"언제든지 \"git stash pop\" 또는 \"git stash drop\"을 실행할 수 있습니다.\n"
+
+#: sequencer.c:2000
+#, c-format
+msgid "stopped at %s... %.*s"
+msgstr "%s...%.*s 위치에서 멈췄습니다"
+
+#: sequencer.c:2027
+#, c-format
+msgid "unknown command %d"
+msgstr "알 수 없는 명령 %d"
+
+#: sequencer.c:2057
+msgid "could not read orig-head"
+msgstr "orig-head를 읽을 수 없습니다"
+
+#: sequencer.c:2061
+msgid "could not read 'onto'"
+msgstr "'onto'를 읽을 수 없습니다"
+
+#: sequencer.c:2068
+#, c-format
+msgid "could not update %s"
+msgstr "%s을(를) 업데이트할 수 없습니다"
+
+#: sequencer.c:2075
+#, c-format
+msgid "could not update HEAD to %s"
+msgstr "HEAD를 %s 위치로 업데이트할 수 없습니다"
+
+#: sequencer.c:2159
+msgid "cannot rebase: You have unstaged changes."
+msgstr "리베이스할 수 없습니다: 스테이징하지 않은 변경 사항이 있습니다."
+
+#: sequencer.c:2164
+msgid "could not remove CHERRY_PICK_HEAD"
+msgstr "CHERRY_PICK_HEAD를 제거할 수 없습니다"
+
+#: sequencer.c:2173
+msgid "cannot amend non-existing commit"
+msgstr "없는 커밋을 수정할 수 없습니다"
+
+#: sequencer.c:2175
+#, c-format
+msgid "invalid file: '%s'"
+msgstr "잘못된 키: '%s'"
+
+#: sequencer.c:2177
+#, c-format
+msgid "invalid contents: '%s'"
+msgstr "잘못된 내용: '%s'"
+
+#: sequencer.c:2180
+msgid ""
+"\n"
+"You have uncommitted changes in your working tree. Please, commit them\n"
+"first and then run 'git rebase --continue' again."
+msgstr ""
+"\n"
+"작업 폴더에 커밋하지 않은 변경 사항이 있습니다. 이 사항을 먼저\n"
+"커밋하고 'git rebase --continue' 명령을 다시 실행하십시오."
+
+#: sequencer.c:2190
+msgid "could not commit staged changes."
+msgstr "스테이징한 변경 사항을 커밋할 수 없습니다."
+
+#: sequencer.c:2270
 #, c-format
 msgid "%s: can't cherry-pick a %s"
 msgstr "%s: %s 커밋을 빼올 수 없습니다"
 
-#: sequencer.c:1358
+#: sequencer.c:2274
 #, c-format
 msgid "%s: bad revision"
 msgstr "%s: 잘못된 리비전"
 
-#: sequencer.c:1391
+#: sequencer.c:2307
 msgid "can't revert as initial commit"
 msgstr "최초의 커밋으로 되돌릴 수 없습니다"
 
@@ -2922,29 +3185,29 @@
 "경로와 리비전을 구분하려면 다음과 같이 '--'를 사용하십시오:\n"
 "'git <명령> [<리비전>...] -- [<파일>...]'"
 
-#: setup.c:468
+#: setup.c:470
 #, c-format
 msgid "Expected git repo version <= %d, found %d"
 msgstr "깃 저장소 버전 <= %d 버전을 기대하지만, %d 버전이 발견되었습니다"
 
-#: setup.c:476
+#: setup.c:478
 msgid "unknown repository extensions found:"
 msgstr "알 수 없는 저장소 확장이 있습니다:"
 
-#: setup.c:762
+#: setup.c:768
 #, c-format
 msgid "Not a git repository (or any of the parent directories): %s"
 msgstr "(현재 폴더 또는 상위 폴더가) 깃 저장소가 아닙니다: %s"
 
-#: setup.c:764 setup.c:915 builtin/index-pack.c:1641
+#: setup.c:770 setup.c:922 builtin/index-pack.c:1643
 msgid "Cannot come back to cwd"
 msgstr "현재 디렉터리로 돌아올 수 없습니다"
 
-#: setup.c:845
+#: setup.c:852
 msgid "Unable to read current working directory"
 msgstr "현재 작업 디렉터리를 읽을 수 없습니다"
 
-#: setup.c:920
+#: setup.c:927
 #, c-format
 msgid ""
 "Not a git repository (or any parent up to mount point %s)\n"
@@ -2954,12 +3217,12 @@
 "파일 시스템 경계에서 중지합니다. (GIT_DISCOVERY_ACROSS_FILESYSTEM 설정되지 않"
 "음)"
 
-#: setup.c:927
+#: setup.c:934
 #, c-format
 msgid "Cannot change to '%s/..'"
 msgstr "'%s/..' 위치로 이동할 수 없습니다"
 
-#: setup.c:989
+#: setup.c:996
 #, c-format
 msgid ""
 "Problem with core.sharedRepository filemode value (0%.3o).\n"
@@ -2968,42 +3231,42 @@
 "core.sharedRepository 파일모드 값에 (0%.3o) 문제가 있습니다.\n"
 "파일의 소유자에 읽기와 쓰기 권한이 있어야 합니다."
 
-#: sha1_file.c:473
+#: sha1_file.c:490
 #, c-format
 msgid "path '%s' does not exist"
 msgstr "'%s' 경로가 없습니다"
 
-#: sha1_file.c:499
+#: sha1_file.c:516
 #, c-format
 msgid "reference repository '%s' as a linked checkout is not supported yet."
 msgstr ""
 "레퍼런스 '%s' 저장소를 연결된 체크아웃으로 쓰기는 아직 지원하지 않습니다."
 
-#: sha1_file.c:505
+#: sha1_file.c:522
 #, c-format
 msgid "reference repository '%s' is not a local repository."
 msgstr "레퍼런스 '%s' 저장소가 로컬 저장소가 아닙니다."
 
-#: sha1_file.c:511
+#: sha1_file.c:528
 #, c-format
 msgid "reference repository '%s' is shallow"
 msgstr "레퍼런스 '%s' 저장소가 얕은 저장소입니다"
 
-#: sha1_file.c:519
+#: sha1_file.c:536
 #, c-format
 msgid "reference repository '%s' is grafted"
 msgstr "레퍼런스 '%s' 저장소가 붙어 있는 저장소입니다"
 
-#: sha1_file.c:1159
+#: sha1_file.c:1176
 msgid "offset before end of packfile (broken .idx?)"
 msgstr "오프셋이 묶음 파일 앞입니다 (망가진 .idx?)"
 
-#: sha1_file.c:2592
+#: sha1_file.c:2637
 #, c-format
 msgid "offset before start of pack index for %s (corrupt index?)"
 msgstr "오프셋이 %s의 묶음 인덱스 시작보다 앞입니다 (망가진 인덱스?)"
 
-#: sha1_file.c:2596
+#: sha1_file.c:2641
 #, c-format
 msgid "offset beyond end of pack index for %s (truncated index?)"
 msgstr "오프셋이 %s의 묶음 인덱스 끝보다 뒤입니다 (망가진 인덱스?)"
@@ -3039,89 +3302,134 @@
 "확인해 보시고 잘못 만들어진 것이면 지우십시오. 이 메시지를 보고 싶지\n"
 "않으면 \"git config advice.objectNameWarning false\" 명령을 사용하십시오."
 
-#: submodule.c:64 submodule.c:98
+#: submodule.c:65 submodule.c:99
 msgid "Cannot change unmerged .gitmodules, resolve merge conflicts first"
 msgstr ""
 "병합하지 않은 .gitmodules를 바꿀 수 없습니다. 병합 충돌을 먼저 해결하십시오"
 
-#: submodule.c:68 submodule.c:102
+#: submodule.c:69 submodule.c:103
 #, c-format
 msgid "Could not find section in .gitmodules where path=%s"
 msgstr "경로가 %s일 때 .gitmodules의 섹션을 찾을 수 없습니다"
 
-#: submodule.c:76
+#: submodule.c:77
 #, c-format
 msgid "Could not update .gitmodules entry %s"
 msgstr ".gitmodules 항목 %s을(를) 업데이트할 수 없습니다"
 
-#: submodule.c:109
+#: submodule.c:110
 #, c-format
 msgid "Could not remove .gitmodules entry for %s"
 msgstr "%s에 대한 .gitmodules 항목을 제거할 수 없습니다"
 
-#: submodule.c:120
+#: submodule.c:121
 msgid "staging updated .gitmodules failed"
 msgstr "업데이트한 .gitmodules를 커밋할 사항으로 표시하는데 실패"
 
-#: submodule.c:158
+#: submodule.c:159
 msgid "negative values not allowed for submodule.fetchJobs"
 msgstr "submodule.fetchJobs 값에 음수를 쓸 수 없습니다"
 
-#: submodule-config.c:358
+#: submodule.c:1184
+#, c-format
+msgid "could not start 'git status in submodule '%s'"
+msgstr "서브모듈 '%s'에서 'git status'를 시작할 수 없습니다"
+
+#: submodule.c:1197
+#, c-format
+msgid "could not run 'git status in submodule '%s'"
+msgstr "서브모듈 '%s'에서 'git status'를 실행할 수 없습니다"
+
+#: submodule.c:1398
+#, c-format
+msgid ""
+"relocate_gitdir for submodule '%s' with more than one worktree not supported"
+msgstr ""
+"여러 개의 작업 폴더가 있는 하위 모듈 '%s'에 대해 relocate_gitdir은 지원하지 "
+"않습니다"
+
+#: submodule.c:1410 submodule.c:1471
+#, c-format
+msgid "could not lookup name for submodule '%s'"
+msgstr "하위 모듈 '%s'의 이름을 찾아볼 수 없습니다"
+
+#: submodule.c:1414 submodule.c:1474 builtin/submodule--helper.c:640
+#: builtin/submodule--helper.c:650
+#, c-format
+msgid "could not create directory '%s'"
+msgstr "'%s' 디렉터리를 만들 수 없습니다"
+
+#: submodule.c:1420
+#, c-format
+msgid ""
+"Migrating git directory of '%s%s' from\n"
+"'%s' to\n"
+"'%s'\n"
+msgstr ""
+"'%s%s'의 깃 디렉터리를 옮깁니다:\n"
+"'%s'에서\n"
+"'%s'(으)로\n"
+
+#: submodule.c:1512
+#, c-format
+msgid "could not recurse into submodule '%s'"
+msgstr "재귀적으로 '%s' 하위 모듈에 들어갈 수 없습니다"
+
+#: submodule-config.c:360
 #, c-format
 msgid "invalid value for %s"
 msgstr "%s의 값이 올바르지 않습니다"
 
-#: trailer.c:238
+#: trailer.c:240
 #, c-format
 msgid "running trailer command '%s' failed"
 msgstr "트레일러 명령 '%s' 실행 실패"
 
-#: trailer.c:471 trailer.c:475 trailer.c:479 trailer.c:533 trailer.c:537
-#: trailer.c:541
+#: trailer.c:473 trailer.c:477 trailer.c:481 trailer.c:535 trailer.c:539
+#: trailer.c:543
 #, c-format
 msgid "unknown value '%s' for key '%s'"
 msgstr "알 수 없는 값 '%s', 키 '%s'"
 
-#: trailer.c:523 trailer.c:528 builtin/remote.c:289
+#: trailer.c:525 trailer.c:530 builtin/remote.c:289
 #, c-format
 msgid "more than one %s"
 msgstr "%s이(가) 여러개입니다"
 
-#: trailer.c:672
+#: trailer.c:702
 #, c-format
 msgid "empty trailer token in trailer '%.*s'"
 msgstr "트레일러 '%.*s'에서 빈 트레일러 토큰"
 
-#: trailer.c:695
+#: trailer.c:722
 #, c-format
 msgid "could not read input file '%s'"
 msgstr "'%s' 입력 파일을 읽을 수 없습니다"
 
-#: trailer.c:698
+#: trailer.c:725
 msgid "could not read from stdin"
 msgstr "표준 입력에서 읽을 수 없습니다"
 
-#: trailer.c:929 builtin/am.c:44
+#: trailer.c:949 builtin/am.c:44
 #, c-format
 msgid "could not stat %s"
 msgstr "%s에 대해 stat()할 수 없습니다"
 
-#: trailer.c:931
+#: trailer.c:951
 #, c-format
 msgid "file %s is not a regular file"
 msgstr "'%s' 파일이 일반 파일이 아닙니다"
 
-#: trailer.c:933
+#: trailer.c:953
 #, c-format
 msgid "file %s is not writable by user"
 msgstr "사용자가 %s 파일에 쓸 수 없습니다"
 
-#: trailer.c:945
+#: trailer.c:965
 msgid "could not open temporary file"
 msgstr "임시 파일을 열 수 없습니다: %s"
 
-#: trailer.c:983
+#: trailer.c:1001
 #, c-format
 msgid "could not rename temporary file to %s"
 msgstr "임시 파일 이름을 '%s'(으)로 바꿀 수 없습니다"
@@ -3129,14 +3437,14 @@
 #: transport.c:62
 #, c-format
 msgid "Would set upstream of '%s' to '%s' of '%s'\n"
-msgstr "'%1$s'의 업스트림을 '%3$s'의 '%2$s'(으)로 설정할 것입니다\n"
+msgstr "'%1$s'의 업스트림을 '%3$s'의 '%2$s'(으)로 설정합니다\n"
 
 #: transport.c:151
 #, c-format
 msgid "transport: invalid depth option '%s'"
 msgstr "transport: 잘못된 깊이 옵션: %s"
 
-#: transport.c:817
+#: transport.c:885
 #, c-format
 msgid ""
 "The following submodule paths contain changes that can\n"
@@ -3145,7 +3453,7 @@
 "다음 하위 모듈 경로에 리모트 어디에도 없는\n"
 "변경 사항이 있습니다:\n"
 
-#: transport.c:821
+#: transport.c:889
 #, c-format
 msgid ""
 "\n"
@@ -3172,11 +3480,11 @@
 "명령을 시도해 보십시오\n"
 "\n"
 
-#: transport.c:829
+#: transport.c:897
 msgid "Aborting."
 msgstr "중지함."
 
-#: transport-helper.c:1075
+#: transport-helper.c:1082
 #, c-format
 msgid "Could not read ref %s"
 msgstr "%s 레퍼런스를 읽을 수 없습니다"
@@ -3197,7 +3505,7 @@
 msgid "too-short tree file"
 msgstr "너무 짧은 트리 파일"
 
-#: unpack-trees.c:64
+#: unpack-trees.c:99
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by checkout:\n"
@@ -3206,7 +3514,7 @@
 "다음 파일의 로컬 변경 사항을 체크아웃 때문에 덮어 쓰게 됩니다:\n"
 "%%s브랜치를 전환하기 전에 변경 사항을 커밋하거나 스태시하십시오."
 
-#: unpack-trees.c:66
+#: unpack-trees.c:101
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by checkout:\n"
@@ -3215,7 +3523,7 @@
 "다음 파일의 로컬 변경 사항을 체크아웃 때문에 덮어 쓰게 됩니다:\n"
 "%%s"
 
-#: unpack-trees.c:69
+#: unpack-trees.c:104
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by merge:\n"
@@ -3224,14 +3532,14 @@
 "다음 파일의 로컬 변경 사항을 병합 때문에 덮어 쓰게 됩니다:\n"
 "%%s병합하기 전에 변경 사항을 커밋하거나 스태시하십시오."
 
-#: unpack-trees.c:71
+#: unpack-trees.c:106
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by merge:\n"
 "%%s"
 msgstr "다음 파일의 로컬 변경 사항을 병합 때문에 덮어 쓰게 됩니다."
 
-#: unpack-trees.c:74
+#: unpack-trees.c:109
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by %s:\n"
@@ -3240,7 +3548,7 @@
 "다음 파일의 로컬 변경 사항을 %s 때문에 덮어 쓰게 됩니다:\n"
 "%%s%s 전에 변경 사항을 커밋하거나 스태시하십시오."
 
-#: unpack-trees.c:76
+#: unpack-trees.c:111
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by %s:\n"
@@ -3249,16 +3557,16 @@
 "다음 파일의 로컬 변경 사항을 %s 때문에 덮어 쓰게 됩니다:\n"
 "%%s"
 
-#: unpack-trees.c:81
+#: unpack-trees.c:116
 #, c-format
 msgid ""
-"Updating the following directories would lose untracked files in it:\n"
+"Updating the following directories would lose untracked files in them:\n"
 "%s"
 msgstr ""
 "다음 디렉터리를 업데이트하면 그 안의 추적하지 않는 파일을 잃어버립니다:\n"
 "%s"
 
-#: unpack-trees.c:85
+#: unpack-trees.c:120
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by checkout:\n"
@@ -3267,7 +3575,7 @@
 "체크아웃 때문에 추적하지 않는 다음 작업 폴더의 파일이 제거됩니다:\n"
 "%%s브랜치를 전환하기 전에 이 파일을 옮기거나 제거하십시오."
 
-#: unpack-trees.c:87
+#: unpack-trees.c:122
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by checkout:\n"
@@ -3276,7 +3584,7 @@
 "체크아웃 때문에 추적하지 않는 다음 작업 폴더 파일이 제거됩니다:\n"
 "%%s"
 
-#: unpack-trees.c:90
+#: unpack-trees.c:125
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by merge:\n"
@@ -3285,7 +3593,7 @@
 "병합 때문에 추적하지 않는 다음 작업 폴더의 파일이 제거됩니다:\n"
 "%%s병합하기 전에 이 파일을 옮기거나 제거하십시오."
 
-#: unpack-trees.c:92
+#: unpack-trees.c:127
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by merge:\n"
@@ -3294,7 +3602,7 @@
 "병합 때문에 추적하지 않는 다음 작업 폴더 파일이 제거됩니다:\n"
 "%%s"
 
-#: unpack-trees.c:95
+#: unpack-trees.c:130
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by %s:\n"
@@ -3303,7 +3611,7 @@
 "%s 때문에 추적하지 않는 다음 작업 폴더의 파일이 제거됩니다:\n"
 "%%s%s 하기 전에 이 파일을 옮기거나 제거하십시오."
 
-#: unpack-trees.c:97
+#: unpack-trees.c:132
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by %s:\n"
@@ -3312,7 +3620,7 @@
 "%s 때문에 추적하지 않는 다음 작업 폴더 파일이 제거됩니다:\n"
 "%%s"
 
-#: unpack-trees.c:102
+#: unpack-trees.c:137
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by "
@@ -3322,7 +3630,7 @@
 "체크아웃 때문에 추적하지 않는 다음 작업 폴더의 파일을 덮어씁니다:\n"
 "%%s브랜치를 전환하기 전에 이 파일을 옮기거나 제거하십시오."
 
-#: unpack-trees.c:104
+#: unpack-trees.c:139
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by "
@@ -3332,7 +3640,7 @@
 "체크아웃 때문에 추적하지 않는 다음 작업 폴더 파일을 덮어씁니다:\n"
 "%%s"
 
-#: unpack-trees.c:107
+#: unpack-trees.c:142
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by merge:\n"
@@ -3341,7 +3649,7 @@
 "병합 때문에 추적하지 않는 다음 작업 폴더의 파일을 덮어씁니다:\n"
 "%%s병합하기 전에 이 파일을 옮기거나 제거하십시오."
 
-#: unpack-trees.c:109
+#: unpack-trees.c:144
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by merge:\n"
@@ -3350,7 +3658,7 @@
 "병합 때문에 추적하지 않는 다음 작업 폴더 파일을 덮어씁니다:\n"
 "%%s"
 
-#: unpack-trees.c:112
+#: unpack-trees.c:147
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by %s:\n"
@@ -3359,7 +3667,7 @@
 "%s 때문에 추적하지 않는 다음 작업 폴더의 파일을 덮어씁니다:\n"
 "%%s%s 하기 전에 이 파일을 옮기거나 제거하십시오."
 
-#: unpack-trees.c:114
+#: unpack-trees.c:149
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by %s:\n"
@@ -3368,12 +3676,12 @@
 "%s 때문에 추적하지 않는 다음 작업 폴더 파일을 덮어씁니다:\n"
 "%%s"
 
-#: unpack-trees.c:121
+#: unpack-trees.c:156
 #, c-format
 msgid "Entry '%s' overlaps with '%s'.  Cannot bind."
 msgstr "'%s' 항목이 '%s'와(과) 겹칩니다.  묶을 수 없습니다."
 
-#: unpack-trees.c:124
+#: unpack-trees.c:159
 #, c-format
 msgid ""
 "Cannot update sparse checkout: the following entries are not up-to-date:\n"
@@ -3383,7 +3691,7 @@
 "았습니다:\n"
 "%s"
 
-#: unpack-trees.c:126
+#: unpack-trees.c:161
 #, c-format
 msgid ""
 "The following working tree files would be overwritten by sparse checkout "
@@ -3394,7 +3702,7 @@
 "다:\n"
 "%s"
 
-#: unpack-trees.c:128
+#: unpack-trees.c:163
 #, c-format
 msgid ""
 "The following working tree files would be removed by sparse checkout "
@@ -3405,12 +3713,12 @@
 "다:\n"
 "%s"
 
-#: unpack-trees.c:205
+#: unpack-trees.c:240
 #, c-format
 msgid "Aborting\n"
 msgstr "중지함\n"
 
-#: unpack-trees.c:237
+#: unpack-trees.c:270
 msgid "Checking out files"
 msgstr "파일을 가져옵니다"
 
@@ -3459,7 +3767,7 @@
 msgstr "'%s'을(를) 쓰기용으로 열 수 없습니다"
 
 #: wrapper.c:226 wrapper.c:396 builtin/am.c:320 builtin/am.c:759
-#: builtin/am.c:847 builtin/commit.c:1705 builtin/merge.c:1029
+#: builtin/am.c:847 builtin/commit.c:1700 builtin/merge.c:1033
 #: builtin/pull.c:341
 #, c-format
 msgid "could not open '%s' for reading"
@@ -3671,179 +3979,183 @@
 msgid "  (use \"git am --abort\" to restore the original branch)"
 msgstr "  (원본 브랜치를 복구하려면 \"git am --abort\"를 사용하십시오)"
 
-#: wt-status.c:1172
+#: wt-status.c:1176
+msgid "git-rebase-todo is missing."
+msgstr "git-rebase-todo가 없습니다."
+
+#: wt-status.c:1178
 msgid "No commands done."
 msgstr "완료한 명령 없음."
 
-#: wt-status.c:1175
+#: wt-status.c:1181
 #, c-format
 msgid "Last command done (%d command done):"
 msgid_plural "Last commands done (%d commands done):"
 msgstr[0] "최근 완료한 명령 (%d개 명령 완료):"
 
-#: wt-status.c:1186
+#: wt-status.c:1192
 #, c-format
 msgid "  (see more in file %s)"
 msgstr "  (자세한 정보는 %s 파일 참고)"
 
-#: wt-status.c:1191
+#: wt-status.c:1197
 msgid "No commands remaining."
 msgstr "명령이 남아있지 않음."
 
-#: wt-status.c:1194
+#: wt-status.c:1200
 #, c-format
 msgid "Next command to do (%d remaining command):"
 msgid_plural "Next commands to do (%d remaining commands):"
 msgstr[0] "다음에 할 명령 (%d개 명령 남음):"
 
-#: wt-status.c:1202
+#: wt-status.c:1208
 msgid "  (use \"git rebase --edit-todo\" to view and edit)"
 msgstr "  (보고 편집하려면 \"git rebase --edit-todo\"를 사용하십시오)"
 
-#: wt-status.c:1215
+#: wt-status.c:1221
 #, c-format
 msgid "You are currently rebasing branch '%s' on '%s'."
 msgstr "현재 '%s' 브랜치를 '%s' 위로 리베이스하는 중입니다."
 
-#: wt-status.c:1220
+#: wt-status.c:1226
 msgid "You are currently rebasing."
 msgstr "현재 리베이스하는 중입니다."
 
-#: wt-status.c:1234
+#: wt-status.c:1240
 msgid "  (fix conflicts and then run \"git rebase --continue\")"
 msgstr "  (충돌을 바로잡고 \"git rebase --continue\"를 사용하십시오)"
 
-#: wt-status.c:1236
+#: wt-status.c:1242
 msgid "  (use \"git rebase --skip\" to skip this patch)"
 msgstr "  (이 패치를 건너뛰려면 \"git rebase --skip\"을 사용하십시오)"
 
-#: wt-status.c:1238
+#: wt-status.c:1244
 msgid "  (use \"git rebase --abort\" to check out the original branch)"
 msgstr "  (원본 브랜치를 가져오려면 \"git rebase --abort\"를 사용하십시오)"
 
-#: wt-status.c:1244
+#: wt-status.c:1250
 msgid "  (all conflicts fixed: run \"git rebase --continue\")"
 msgstr ""
 "  (모든 충돌을 바로잡았습니다: \"git rebase --continue\"를 실행하십시오)"
 
-#: wt-status.c:1248
+#: wt-status.c:1254
 #, c-format
 msgid ""
 "You are currently splitting a commit while rebasing branch '%s' on '%s'."
 msgstr "현재 '%s' 브랜치를 '%s' 위로 리베이스하는 중 커밋을 분리하는 중입니다."
 
-#: wt-status.c:1253
+#: wt-status.c:1259
 msgid "You are currently splitting a commit during a rebase."
 msgstr "현재 리베이스하는 중 커밋을 분리하는 중입니다."
 
-#: wt-status.c:1256
+#: wt-status.c:1262
 msgid "  (Once your working directory is clean, run \"git rebase --continue\")"
 msgstr "  (작업 폴더가 깨끗해지면, \"git rebase --continue\"를 실행하십시오)"
 
-#: wt-status.c:1260
+#: wt-status.c:1266
 #, c-format
 msgid "You are currently editing a commit while rebasing branch '%s' on '%s'."
 msgstr "'%s' 브랜치를 '%s' 위로 리베이스하는 중 커밋을 편집하는 중입니다."
 
-#: wt-status.c:1265
+#: wt-status.c:1271
 msgid "You are currently editing a commit during a rebase."
 msgstr "리베이스 중에 커밋을 편집하는 중입니다."
 
-#: wt-status.c:1268
+#: wt-status.c:1274
 msgid "  (use \"git commit --amend\" to amend the current commit)"
 msgstr "  (현재 커밋을 수정하려면 \"git commit --amend\"을 사용하십시오)"
 
-#: wt-status.c:1270
+#: wt-status.c:1276
 msgid ""
 "  (use \"git rebase --continue\" once you are satisfied with your changes)"
 msgstr "  (변경 사항에 만족할 때 \"git rebase --continue\"를 사용하십시오)"
 
-#: wt-status.c:1280
+#: wt-status.c:1286
 #, c-format
 msgid "You are currently cherry-picking commit %s."
 msgstr "현재 %s 커밋을 뽑아 내고 있습니다."
 
-#: wt-status.c:1285
+#: wt-status.c:1291
 msgid "  (fix conflicts and run \"git cherry-pick --continue\")"
 msgstr "  (충돌을 바로잡고 \"git cherry-pick --continue\"를 실행하십시오)"
 
-#: wt-status.c:1288
+#: wt-status.c:1294
 msgid "  (all conflicts fixed: run \"git cherry-pick --continue\")"
 msgstr ""
 "  (모든 충돌을 바로잡았습니다: \"git cherry-pick --continue\"를 실행하십시오)"
 
-#: wt-status.c:1290
+#: wt-status.c:1296
 msgid "  (use \"git cherry-pick --abort\" to cancel the cherry-pick operation)"
 msgstr "  (뽑기 작업을 취소하려면 \"git cherry-pick --abort\"를 사용하십시오)"
 
-#: wt-status.c:1299
+#: wt-status.c:1305
 #, c-format
 msgid "You are currently reverting commit %s."
 msgstr "현재 %s 커밋을 되돌리는 중입니다."
 
-#: wt-status.c:1304
+#: wt-status.c:1310
 msgid "  (fix conflicts and run \"git revert --continue\")"
 msgstr "  (충돌을 바로잡고 \"git revert --continue\"를 실행하십시오)"
 
-#: wt-status.c:1307
+#: wt-status.c:1313
 msgid "  (all conflicts fixed: run \"git revert --continue\")"
 msgstr ""
 "  (모든 충돌을 바로잡았습니다: \"git revert --continue\"를 실행하십시오)"
 
-#: wt-status.c:1309
+#: wt-status.c:1315
 msgid "  (use \"git revert --abort\" to cancel the revert operation)"
 msgstr "  (되돌리기 작업을 취소하려면 \"git revert --abort\"를 사용하십시오)"
 
-#: wt-status.c:1320
+#: wt-status.c:1326
 #, c-format
 msgid "You are currently bisecting, started from branch '%s'."
 msgstr "'이등분하는 중입니다. '%s' 브랜치부터 시작."
 
-#: wt-status.c:1324
+#: wt-status.c:1330
 msgid "You are currently bisecting."
 msgstr "'이등분하는 중입니다."
 
-#: wt-status.c:1327
+#: wt-status.c:1333
 msgid "  (use \"git bisect reset\" to get back to the original branch)"
 msgstr "  (원래 브랜치로 돌아가려면 \"git bisect reset\"을 사용하십시오)"
 
-#: wt-status.c:1524
+#: wt-status.c:1530
 msgid "On branch "
 msgstr "현재 브랜치 "
 
-#: wt-status.c:1530
+#: wt-status.c:1536
 msgid "interactive rebase in progress; onto "
 msgstr "대화형 리베이스 진행 중. 갈 위치는 "
 
-#: wt-status.c:1532
+#: wt-status.c:1538
 msgid "rebase in progress; onto "
 msgstr "리베이스 진행 중. 갈 위치는 "
 
-#: wt-status.c:1537
+#: wt-status.c:1543
 msgid "HEAD detached at "
 msgstr "HEAD가 다음 위치에서 분리: "
 
-#: wt-status.c:1539
+#: wt-status.c:1545
 msgid "HEAD detached from "
 msgstr "HEAD가 다음으로부터 분리: "
 
-#: wt-status.c:1542
+#: wt-status.c:1548
 msgid "Not currently on any branch."
 msgstr "현재 어떤 브랜치도 사용하지 않음."
 
-#: wt-status.c:1560
+#: wt-status.c:1566
 msgid "Initial commit"
 msgstr "최초 커밋"
 
-#: wt-status.c:1574
+#: wt-status.c:1580
 msgid "Untracked files"
 msgstr "추적하지 않는 파일"
 
-#: wt-status.c:1576
+#: wt-status.c:1582
 msgid "Ignored files"
 msgstr "무시한 파일"
 
-#: wt-status.c:1580
+#: wt-status.c:1586
 #, c-format
 msgid ""
 "It took %.2f seconds to enumerate untracked files. 'status -uno'\n"
@@ -3854,20 +4166,20 @@
 "'status -uno' 옵션을 쓰면 빨라질 수도 있지만, 새 파일을\n"
 "직접 찾아서 추가해야 합니다. ('git help status' 참고)"
 
-#: wt-status.c:1586
+#: wt-status.c:1592
 #, c-format
 msgid "Untracked files not listed%s"
 msgstr "추적하지 않는 파일을 보지 않습니다%s"
 
-#: wt-status.c:1588
+#: wt-status.c:1594
 msgid " (use -u option to show untracked files)"
 msgstr " (추적하지 않는 파일을 보려면 -u 옵션을 사용하십시오)"
 
-#: wt-status.c:1594
+#: wt-status.c:1600
 msgid "No changes"
 msgstr "변경 사항 없음"
 
-#: wt-status.c:1599
+#: wt-status.c:1605
 #, c-format
 msgid "no changes added to commit (use \"git add\" and/or \"git commit -a\")\n"
 msgstr ""
@@ -3875,12 +4187,12 @@
 "\"를\n"
 "사용하십시오)\n"
 
-#: wt-status.c:1602
+#: wt-status.c:1608
 #, c-format
 msgid "no changes added to commit\n"
 msgstr "커밋할 변경 사항을 추가하지 않았습니다\n"
 
-#: wt-status.c:1605
+#: wt-status.c:1611
 #, c-format
 msgid ""
 "nothing added to commit but untracked files present (use \"git add\" to "
@@ -3890,65 +4202,65 @@
 "\"git\n"
 "add\"를 사용하십시오)\n"
 
-#: wt-status.c:1608
+#: wt-status.c:1614
 #, c-format
 msgid "nothing added to commit but untracked files present\n"
 msgstr "커밋할 사항을 추가하지 않았지만 추적하지 않는 파일이 있습니다\n"
 
-#: wt-status.c:1611
+#: wt-status.c:1617
 #, c-format
 msgid "nothing to commit (create/copy files and use \"git add\" to track)\n"
 msgstr ""
 "커밋할 사항 없음 (파일을 만들거나 복사하고 \"git add\"를 사용하면 추적합니"
 "다)\n"
 
-#: wt-status.c:1614 wt-status.c:1619
+#: wt-status.c:1620 wt-status.c:1625
 #, c-format
 msgid "nothing to commit\n"
 msgstr "커밋할 사항 없음\n"
 
-#: wt-status.c:1617
+#: wt-status.c:1623
 #, c-format
 msgid "nothing to commit (use -u to show untracked files)\n"
 msgstr ""
 "커밋할 사항 없음 (추적하지 않는 파일을 보려면 -u 옵션을 사용하십시오)\n"
 
-#: wt-status.c:1621
+#: wt-status.c:1627
 #, c-format
 msgid "nothing to commit, working tree clean\n"
 msgstr "커밋할 사항 없음, 작업 폴더 깨끗함\n"
 
-#: wt-status.c:1728
+#: wt-status.c:1734
 msgid "Initial commit on "
 msgstr "최초 커밋, 브랜치: "
 
-#: wt-status.c:1732
+#: wt-status.c:1738
 msgid "HEAD (no branch)"
 msgstr "HEAD (브랜치 없음)"
 
-#: wt-status.c:1761
+#: wt-status.c:1767
 msgid "gone"
 msgstr "없음"
 
-#: wt-status.c:1763 wt-status.c:1771
+#: wt-status.c:1769 wt-status.c:1777
 msgid "behind "
 msgstr "다음 뒤에: "
 
-#: wt-status.c:1766 wt-status.c:1769
+#: wt-status.c:1772 wt-status.c:1775
 msgid "ahead "
 msgstr "다음 앞에: "
 
 #. TRANSLATORS: the action is e.g. "pull with rebase"
-#: wt-status.c:2270
+#: wt-status.c:2277
 #, c-format
 msgid "cannot %s: You have unstaged changes."
 msgstr "%s 할 수 없습니다: 스테이징하지 않은 변경 사항이 있습니다."
 
-#: wt-status.c:2276
+#: wt-status.c:2283
 msgid "additionally, your index contains uncommitted changes."
 msgstr "추가로, 인덱스에 커밋하지 않은 변경 사항이 있습니다."
 
-#: wt-status.c:2278
+#: wt-status.c:2285
 #, c-format
 msgid "cannot %s: Your index contains uncommitted changes."
 msgstr "%s 할 수 없습니다: 인덱스에 커밋하지 않은 변경 사항이 있습니다."
@@ -3980,7 +4292,7 @@
 msgid "Unstaged changes after refreshing the index:"
 msgstr "인덱스를 새로 고친 다음 커밋 표시하지 않은 변경 사항:"
 
-#: builtin/add.c:209 builtin/rev-parse.c:840
+#: builtin/add.c:209 builtin/rev-parse.c:845
 msgid "Could not read the index"
 msgstr "인덱스를 읽을 수 없습니다"
 
@@ -4015,9 +4327,9 @@
 msgid "The following paths are ignored by one of your .gitignore files:\n"
 msgstr "다음 경로는 .gitignore 파일 중 하나 때문에 무시합니다:\n"
 
-#: builtin/add.c:266 builtin/clean.c:870 builtin/fetch.c:115 builtin/mv.c:111
-#: builtin/prune-packed.c:55 builtin/pull.c:198 builtin/push.c:521
-#: builtin/remote.c:1326 builtin/rm.c:268 builtin/send-pack.c:162
+#: builtin/add.c:266 builtin/clean.c:870 builtin/fetch.c:115 builtin/mv.c:123
+#: builtin/prune-packed.c:55 builtin/pull.c:198 builtin/push.c:524
+#: builtin/remote.c:1326 builtin/rm.c:241 builtin/send-pack.c:162
 msgid "dry run"
 msgstr "가짜로 실행"
 
@@ -4025,7 +4337,7 @@
 msgid "interactive picking"
 msgstr "대화식으로 고릅니다"
 
-#: builtin/add.c:270 builtin/checkout.c:1156 builtin/reset.c:286
+#: builtin/add.c:270 builtin/checkout.c:1159 builtin/reset.c:286
 msgid "select hunks interactively"
 msgstr "대화식으로 변경된 부분을 선택합니다"
 
@@ -4108,7 +4420,7 @@
 
 #: builtin/add.c:380 builtin/check-ignore.c:172 builtin/checkout.c:279
 #: builtin/checkout.c:472 builtin/clean.c:914 builtin/commit.c:350
-#: builtin/mv.c:131 builtin/reset.c:235 builtin/rm.c:298
+#: builtin/mv.c:143 builtin/reset.c:235 builtin/rm.c:271
 #: builtin/submodule--helper.c:244
 msgid "index file corrupt"
 msgstr "인덱스 파일이 손상되었습니다"
@@ -4228,7 +4540,7 @@
 msgid "Failed to merge in the changes."
 msgstr "변경 사항에서 병합하는데 실패했습니다."
 
-#: builtin/am.c:1686 builtin/merge.c:628
+#: builtin/am.c:1686 builtin/merge.c:632
 msgid "git write-tree failed to write a tree"
 msgstr "git write-tree가 트리를 쓰는데 실패했습니다"
 
@@ -4236,8 +4548,8 @@
 msgid "applying to an empty history"
 msgstr "빈 커밋 내역에 대해 적용합니다"
 
-#: builtin/am.c:1706 builtin/commit.c:1769 builtin/merge.c:798
-#: builtin/merge.c:823
+#: builtin/am.c:1706 builtin/commit.c:1764 builtin/merge.c:802
+#: builtin/merge.c:827
 msgid "failed to write commit object"
 msgstr "커밋 오브젝트를 쓰는데 실패했습니다"
 
@@ -4349,7 +4661,7 @@
 msgstr "필요하면 3-방향 병합으로 대신하도록 허용합니다"
 
 #: builtin/am.c:2245 builtin/init-db.c:483 builtin/prune-packed.c:57
-#: builtin/repack.c:172
+#: builtin/repack.c:178
 msgid "be quiet"
 msgstr "간략히 표시합니다"
 
@@ -4393,15 +4705,15 @@
 msgstr "git-apply에 넘깁니다"
 
 #: builtin/am.c:2283 builtin/fmt-merge-msg.c:662 builtin/fmt-merge-msg.c:665
-#: builtin/grep.c:707 builtin/merge.c:200 builtin/pull.c:135
-#: builtin/pull.c:194 builtin/repack.c:181 builtin/repack.c:185
-#: builtin/show-branch.c:644 builtin/show-ref.c:175 builtin/tag.c:340
+#: builtin/grep.c:1038 builtin/merge.c:202 builtin/pull.c:135
+#: builtin/pull.c:194 builtin/repack.c:187 builtin/repack.c:191
+#: builtin/show-branch.c:644 builtin/show-ref.c:169 builtin/tag.c:355
 #: parse-options.h:132 parse-options.h:134 parse-options.h:245
 msgid "n"
 msgstr "n"
 
 #: builtin/am.c:2289 builtin/for-each-ref.c:37 builtin/replace.c:438
-#: builtin/tag.c:372
+#: builtin/tag.c:387 builtin/verify-tag.c:38
 msgid "format"
 msgstr "형식"
 
@@ -4439,8 +4751,8 @@
 msgid "use current timestamp for author date"
 msgstr "현재 시각을 작성자 시각으로 사용합니다"
 
-#: builtin/am.c:2315 builtin/commit.c:1605 builtin/merge.c:229
-#: builtin/pull.c:165 builtin/revert.c:92 builtin/tag.c:355
+#: builtin/am.c:2315 builtin/commit.c:1600 builtin/merge.c:233
+#: builtin/pull.c:165 builtin/revert.c:92 builtin/tag.c:370
 msgid "key-id"
 msgstr "키-ID"
 
@@ -4541,115 +4853,111 @@
 msgid "<rev-opts> are documented in git-rev-list(1)"
 msgstr "<리비전-옵션>은 git-rev-list(1)에 설명되어 있습니다"
 
-#: builtin/blame.c:1781
+#: builtin/blame.c:1786
 msgid "Blaming lines"
 msgstr "블레임 줄"
 
-#: builtin/blame.c:2577
+#: builtin/blame.c:2582
 msgid "Show blame entries as we find them, incrementally"
 msgstr "블레임 항목을 찾자마자 점진적으로 표시합니다"
 
-#: builtin/blame.c:2578
+#: builtin/blame.c:2583
 msgid "Show blank SHA-1 for boundary commits (Default: off)"
 msgstr "가장자리 커밋에 대해 빈 SHA-1을 표시합니다 (기본값: 꺼짐)"
 
-#: builtin/blame.c:2579
+#: builtin/blame.c:2584
 msgid "Do not treat root commits as boundaries (Default: off)"
 msgstr "최상위 커밋을 가장자리 커밋으로 취급하지 않습니다 (기본값: 꺼짐)"
 
-#: builtin/blame.c:2580
+#: builtin/blame.c:2585
 msgid "Show work cost statistics"
 msgstr "작업 비용 통계를 표시합니다"
 
-#: builtin/blame.c:2581
+#: builtin/blame.c:2586
 msgid "Force progress reporting"
 msgstr "강제로 진행 상황을 표시합니다"
 
-#: builtin/blame.c:2582
+#: builtin/blame.c:2587
 msgid "Show output score for blame entries"
 msgstr "블레임 항목에 대해 출력 점수를 표시합니다"
 
-#: builtin/blame.c:2583
+#: builtin/blame.c:2588
 msgid "Show original filename (Default: auto)"
 msgstr "원래 파일 이름 표시 (기본값: 자동)"
 
-#: builtin/blame.c:2584
+#: builtin/blame.c:2589
 msgid "Show original linenumber (Default: off)"
 msgstr "원래 줄 번호 표시 (기본값: 하지 않음)"
 
-#: builtin/blame.c:2585
+#: builtin/blame.c:2590
 msgid "Show in a format designed for machine consumption"
 msgstr "컴퓨터 처리용으로 설계된 형식으로 표시합니다"
 
-#: builtin/blame.c:2586
+#: builtin/blame.c:2591
 msgid "Show porcelain format with per-line commit information"
 msgstr "줄마다 커밋 정보가 표시되는 사용자용 형식으로 표시합니다"
 
-#: builtin/blame.c:2587
+#: builtin/blame.c:2592
 msgid "Use the same output mode as git-annotate (Default: off)"
 msgstr "git-annotate와 동일한 형식을 사용합니다 (기본값: 꺼짐)"
 
-#: builtin/blame.c:2588
+#: builtin/blame.c:2593
 msgid "Show raw timestamp (Default: off)"
 msgstr "내부 형식으로 시각을 표시합니다 (기본값: 꺼짐)"
 
-#: builtin/blame.c:2589
+#: builtin/blame.c:2594
 msgid "Show long commit SHA1 (Default: off)"
 msgstr "길게 커밋 SHA1을 표시합니다 (기본값: 꺼짐)"
 
-#: builtin/blame.c:2590
+#: builtin/blame.c:2595
 msgid "Suppress author name and timestamp (Default: off)"
 msgstr "작성자 이름과 시각을 표시하지 않습니다 (기본값: 꺼짐)"
 
-#: builtin/blame.c:2591
+#: builtin/blame.c:2596
 msgid "Show author email instead of name (Default: off)"
 msgstr "작성자 이름 대신에 전자메일을 표시합니다 (기본값: 꺼짐)"
 
-#: builtin/blame.c:2592
+#: builtin/blame.c:2597
 msgid "Ignore whitespace differences"
 msgstr "공백 문자 차이점을 무시합니다"
 
-#: builtin/blame.c:2599
-msgid "Use an experimental indent-based heuristic to improve diffs"
-msgstr "diff를 향상하는데 실험적인 들여쓰기 기반 휴리스틱을 사용합니다."
+#: builtin/blame.c:2604
+msgid "Use an experimental heuristic to improve diffs"
+msgstr "diff를 향상하는데 실험적인 휴리스틱을 사용합니다"
 
-#: builtin/blame.c:2600
-msgid "Use an experimental blank-line-based heuristic to improve diffs"
-msgstr "diff를 향상하는데 실험적인 빈 줄 기반 휴리스틱을 사용합니다."
-
-#: builtin/blame.c:2602
+#: builtin/blame.c:2606
 msgid "Spend extra cycles to find better match"
 msgstr "더 일치하는 항목을 찾는데 더 시간을 소모합니다"
 
-#: builtin/blame.c:2603
+#: builtin/blame.c:2607
 msgid "Use revisions from <file> instead of calling git-rev-list"
 msgstr "git-rev-list를 호출하는 대신 <파일>에서 리비전을 사용합니다"
 
-#: builtin/blame.c:2604
+#: builtin/blame.c:2608
 msgid "Use <file>'s contents as the final image"
 msgstr "<파일>의 내용을 최종 이미지로 사용합니다"
 
-#: builtin/blame.c:2605 builtin/blame.c:2606
+#: builtin/blame.c:2609 builtin/blame.c:2610
 msgid "score"
 msgstr "점수"
 
-#: builtin/blame.c:2605
+#: builtin/blame.c:2609
 msgid "Find line copies within and across files"
 msgstr "파일 내부와 파일 사이의 복사된 줄을 찾습니다"
 
-#: builtin/blame.c:2606
+#: builtin/blame.c:2610
 msgid "Find line movements within and across files"
 msgstr "파일 내부와 파일 사이의 옮겨진 줄을 찾습니다"
 
-#: builtin/blame.c:2607
+#: builtin/blame.c:2611
 msgid "n,m"
 msgstr "n,m"
 
-#: builtin/blame.c:2607
+#: builtin/blame.c:2611
 msgid "Process only line range n,m, counting from 1"
 msgstr "n,m줄 (1번 줄부터 시작) 사이의 범위만 처리"
 
-#: builtin/blame.c:2654
+#: builtin/blame.c:2658
 msgid "--progress can't be used with --incremental or porcelain formats"
 msgstr ""
 "--progress 옵션은 --incremental 옵션이나 포스레인 형식에서 사용할 수 없습니다"
@@ -4660,41 +4968,41 @@
 #. takes 22 places, is the longest among various forms of
 #. relative timestamps, but your language may need more or
 #. fewer display columns.
-#: builtin/blame.c:2700
+#: builtin/blame.c:2706
 msgid "4 years, 11 months ago"
 msgstr "4년 11달 전"
 
-#: builtin/blame.c:2780
+#: builtin/blame.c:2786
 msgid "--contents and --reverse do not blend well."
 msgstr "--contents 및 --reverse 옵션은 호환되지 않습니다."
 
-#: builtin/blame.c:2800
+#: builtin/blame.c:2806
 msgid "cannot use --contents with final commit object name"
 msgstr "--contents 옵션을 마지막 오브젝트 이름에 사용할 수 없습니다"
 
-#: builtin/blame.c:2805
+#: builtin/blame.c:2811
 msgid "--reverse and --first-parent together require specified latest commit"
 msgstr ""
 "--reverse 및 --first-parent 옵션을 같이 쓰면 최근 커밋을 지정해야 합니다"
 
-#: builtin/blame.c:2832
+#: builtin/blame.c:2838
 msgid ""
 "--reverse --first-parent together require range along first-parent chain"
 msgstr ""
 "--reverse 및 --first-parent 옵션을 같이 쓰면 최초-상위 체인과 범위가 필요합니"
 "다"
 
-#: builtin/blame.c:2843
+#: builtin/blame.c:2849
 #, c-format
 msgid "no such path %s in %s"
 msgstr "%s 경로가 %s 안에 없습니다"
 
-#: builtin/blame.c:2854
+#: builtin/blame.c:2860
 #, c-format
 msgid "cannot read blob %s for path %s"
 msgstr "%s 경로에 대해 %s 블롭을 읽을 수 없음"
 
-#: builtin/blame.c:2873
+#: builtin/blame.c:2879
 #, c-format
 msgid "file %s has only %lu line"
 msgid_plural "file %s has only %lu lines"
@@ -4871,44 +5179,44 @@
 msgid "(no branch)"
 msgstr "(브랜치 없음)"
 
-#: builtin/branch.c:544
+#: builtin/branch.c:535
 #, c-format
 msgid "Branch %s is being rebased at %s"
 msgstr "%s 브랜치를 %s 위치에 리베이스합니다"
 
-#: builtin/branch.c:548
+#: builtin/branch.c:539
 #, c-format
 msgid "Branch %s is being bisected at %s"
 msgstr "%s 브랜치를 %s 위치에서 bisect합니다"
 
-#: builtin/branch.c:563
+#: builtin/branch.c:554
 msgid "cannot rename the current branch while not on any."
 msgstr "브랜치 위에 없으면서 현재 브랜치 이름을 바꿀 수 없습니다."
 
-#: builtin/branch.c:573
+#: builtin/branch.c:564
 #, c-format
 msgid "Invalid branch name: '%s'"
 msgstr "잘못된 브랜치 이름: '%s'"
 
-#: builtin/branch.c:590
+#: builtin/branch.c:581
 msgid "Branch rename failed"
 msgstr "브랜치 이름 바꾸기 실패"
 
-#: builtin/branch.c:594
+#: builtin/branch.c:585
 #, c-format
 msgid "Renamed a misnamed branch '%s' away"
 msgstr "이름이 잘못된 '%s' 브랜치의 이름을 다르게 바꿉니다"
 
-#: builtin/branch.c:597
+#: builtin/branch.c:588
 #, c-format
 msgid "Branch renamed to %s, but HEAD is not updated!"
 msgstr "브랜치 이름을 %s(으)로 바꾸지만, HEAD를 업데이트하지 않습니다!"
 
-#: builtin/branch.c:604
+#: builtin/branch.c:595
 msgid "Branch is renamed, but update of config-file failed"
 msgstr "브랜치의 이름을 바꾸지만, config-file 업데이트가 실패했습니다"
 
-#: builtin/branch.c:620
+#: builtin/branch.c:611
 #, c-format
 msgid ""
 "Please edit the description for the branch\n"
@@ -4919,164 +5227,168 @@
 "  %s\n"
 "'%c' 문자로 시작하는 줄은 무시됩니다.\n"
 
-#: builtin/branch.c:651
+#: builtin/branch.c:643
 msgid "Generic options"
 msgstr "일반 옵션"
 
 # FIXME: give twice?
-#: builtin/branch.c:653
+#: builtin/branch.c:645
 msgid "show hash and subject, give twice for upstream branch"
 msgstr "해시와 제목을 표시하고, 업스트림 브랜치에 대한 위치를 표시합니다"
 
-#: builtin/branch.c:654
+#: builtin/branch.c:646
 msgid "suppress informational messages"
 msgstr "여러가지 안내 메시지를 표시하지 않습니다"
 
-#: builtin/branch.c:655
+#: builtin/branch.c:647
 msgid "set up tracking mode (see git-pull(1))"
 msgstr "추적 모드를 설정합니다 (git-pull(1) 참고)"
 
-#: builtin/branch.c:657
+#: builtin/branch.c:649
 msgid "change upstream info"
 msgstr "업스트림 정보를 바꿉니다"
 
-#: builtin/branch.c:659
+#: builtin/branch.c:651
 msgid "upstream"
 msgstr "업스트림"
 
-#: builtin/branch.c:659
+#: builtin/branch.c:651
 msgid "change the upstream info"
 msgstr "업스트림 정보를 바꿉니다"
 
-#: builtin/branch.c:660
+#: builtin/branch.c:652
 msgid "Unset the upstream info"
 msgstr "업스트림 정보를 해제합니다"
 
-#: builtin/branch.c:661
+#: builtin/branch.c:653
 msgid "use colored output"
 msgstr "여러 색으로 출력합니다"
 
-#: builtin/branch.c:662
+#: builtin/branch.c:654
 msgid "act on remote-tracking branches"
 msgstr "리모트 추적 브랜치에 대해 동작합니다"
 
-#: builtin/branch.c:664 builtin/branch.c:665
+#: builtin/branch.c:656 builtin/branch.c:657
 msgid "print only branches that contain the commit"
 msgstr "커밋이 있는 브랜치만 표시합니다"
 
-#: builtin/branch.c:668
+#: builtin/branch.c:660
 msgid "Specific git-branch actions:"
 msgstr "특정 git-branch 동작:"
 
-#: builtin/branch.c:669
+#: builtin/branch.c:661
 msgid "list both remote-tracking and local branches"
 msgstr "리모트와 로컬의 브랜치 목록을 모두 표시합니다"
 
-#: builtin/branch.c:671
+#: builtin/branch.c:663
 msgid "delete fully merged branch"
 msgstr "완전히 병합된 브랜치를 삭제합니다"
 
-#: builtin/branch.c:672
+#: builtin/branch.c:664
 msgid "delete branch (even if not merged)"
 msgstr "브랜치를 삭제합니다 (병합되지 않았더라도)"
 
-#: builtin/branch.c:673
+#: builtin/branch.c:665
 msgid "move/rename a branch and its reflog"
 msgstr "브랜치와 그 reflog를 옮기거나 이름을 바꿉니다"
 
-#: builtin/branch.c:674
+#: builtin/branch.c:666
 msgid "move/rename a branch, even if target exists"
 msgstr "대상이 이미 있더라도 브랜치를 옮기거나 이름을 바꿉니다"
 
-#: builtin/branch.c:675
+#: builtin/branch.c:667
 msgid "list branch names"
 msgstr "브랜치 이름 목록을 표시합니다"
 
-#: builtin/branch.c:676
+#: builtin/branch.c:668
 msgid "create the branch's reflog"
 msgstr "브랜치의 reflog를 만듭니다"
 
-#: builtin/branch.c:678
+#: builtin/branch.c:670
 msgid "edit the description for the branch"
 msgstr "브랜치의 설명을 편집합니다"
 
-#: builtin/branch.c:679
+#: builtin/branch.c:671
 msgid "force creation, move/rename, deletion"
 msgstr "강제로 만들고, 옮기거나 이름을 바꾸고, 삭제합니다"
 
-#: builtin/branch.c:680
+#: builtin/branch.c:672
 msgid "print only branches that are merged"
 msgstr "병합되는 브랜치만 표시합니다"
 
-#: builtin/branch.c:681
+#: builtin/branch.c:673
 msgid "print only branches that are not merged"
 msgstr "병합되지 않는 브랜치만 표시합니다"
 
-#: builtin/branch.c:682
+#: builtin/branch.c:674
 msgid "list branches in columns"
 msgstr "목록을 여러 열로 표시합니다"
 
-#: builtin/branch.c:683 builtin/for-each-ref.c:38 builtin/tag.c:366
+#: builtin/branch.c:675 builtin/for-each-ref.c:38 builtin/tag.c:381
 msgid "key"
 msgstr "키"
 
-#: builtin/branch.c:684 builtin/for-each-ref.c:39 builtin/tag.c:367
+#: builtin/branch.c:676 builtin/for-each-ref.c:39 builtin/tag.c:382
 msgid "field name to sort on"
 msgstr "정렬한 기준이 되는 필드 이름"
 
-#: builtin/branch.c:686 builtin/for-each-ref.c:41 builtin/notes.c:404
+#: builtin/branch.c:678 builtin/for-each-ref.c:41 builtin/notes.c:404
 #: builtin/notes.c:407 builtin/notes.c:567 builtin/notes.c:570
-#: builtin/tag.c:369
+#: builtin/tag.c:384
 msgid "object"
 msgstr "오브젝트"
 
-#: builtin/branch.c:687
+#: builtin/branch.c:679
 msgid "print only branches of the object"
 msgstr "해당 오브젝트의 브랜치만 표시합니다"
 
-#: builtin/branch.c:705
+#: builtin/branch.c:681 builtin/for-each-ref.c:46 builtin/tag.c:388
+msgid "sorting and filtering are case insensitive"
+msgstr "정렬과 필터링은 대소문자를 구분하지 않습니다"
+
+#: builtin/branch.c:698
 msgid "Failed to resolve HEAD as a valid ref."
 msgstr "HEAD를 올바른 레퍼런스로 구해내는데 실패했습니다."
 
-#: builtin/branch.c:709 builtin/clone.c:706
+#: builtin/branch.c:702 builtin/clone.c:706
 msgid "HEAD not found below refs/heads!"
 msgstr "레퍼런스/헤드 아래에 HEAD가 없습니다!"
 
-#: builtin/branch.c:729
+#: builtin/branch.c:724
 msgid "--column and --verbose are incompatible"
 msgstr "--column 및 --verbose 옵션은 호환되지 않습니다"
 
-#: builtin/branch.c:740 builtin/branch.c:782
+#: builtin/branch.c:735 builtin/branch.c:787
 msgid "branch name required"
 msgstr "브랜치 이름이 필요합니다"
 
-#: builtin/branch.c:758
+#: builtin/branch.c:763
 msgid "Cannot give description to detached HEAD"
 msgstr "분리된 HEAD에 대한 설명을 부여할 수 없습니다"
 
-#: builtin/branch.c:763
+#: builtin/branch.c:768
 msgid "cannot edit description of more than one branch"
 msgstr "여러 브랜치에 대한 설명을 편집할 수 없습니다"
 
-#: builtin/branch.c:770
+#: builtin/branch.c:775
 #, c-format
 msgid "No commit on branch '%s' yet."
 msgstr "아직 '%s' 브랜치에 커밋이 없습니다."
 
-#: builtin/branch.c:773
+#: builtin/branch.c:778
 #, c-format
 msgid "No branch named '%s'."
 msgstr "이름이 '%s'인 브랜치가 없습니다."
 
-#: builtin/branch.c:788
+#: builtin/branch.c:793
 msgid "too many branches for a rename operation"
 msgstr "이름 바꾸기 작업에 대해 브랜치가 너무 많습니다"
 
-#: builtin/branch.c:793
+#: builtin/branch.c:798
 msgid "too many branches to set new upstream"
 msgstr "새 업스트림을 설정하는데 브랜치가 너무 많습니다"
 
-#: builtin/branch.c:797
+#: builtin/branch.c:802
 #, c-format
 msgid ""
 "could not set upstream of HEAD to %s when it does not point to any branch."
@@ -5084,41 +5396,41 @@
 "HEAD의 업스트림을 %s(으)로 설정할 수 없습니다. 어떤 브랜치도 가리키지 않습니"
 "다."
 
-#: builtin/branch.c:800 builtin/branch.c:822 builtin/branch.c:843
+#: builtin/branch.c:805 builtin/branch.c:827 builtin/branch.c:848
 #, c-format
 msgid "no such branch '%s'"
 msgstr "그런 브랜치가 ('%s') 없습니다"
 
-#: builtin/branch.c:804
+#: builtin/branch.c:809
 #, c-format
 msgid "branch '%s' does not exist"
 msgstr "'%s' 브랜치가 없습니다"
 
-#: builtin/branch.c:816
+#: builtin/branch.c:821
 msgid "too many branches to unset upstream"
 msgstr "업스트림 설정을 해제하는데 브랜치가 너무 많습니다"
 
-#: builtin/branch.c:820
+#: builtin/branch.c:825
 msgid "could not unset upstream of HEAD when it does not point to any branch."
 msgstr ""
 "HEAD의 업스트림 설정을 해제할 수 없습니다. 어떤 브랜치도 가리키지 않습니다."
 
-#: builtin/branch.c:826
+#: builtin/branch.c:831
 #, c-format
 msgid "Branch '%s' has no upstream information"
 msgstr "'%s' 브랜치에 업스트림 정보가 없습니다"
 
-#: builtin/branch.c:840
+#: builtin/branch.c:845
 msgid "it does not make sense to create 'HEAD' manually"
 msgstr "'HEAD'를 수동으로 만드는 건 앞뒤가 맞지 않습니다"
 
-#: builtin/branch.c:846
+#: builtin/branch.c:851
 msgid "-a and -r options to 'git branch' do not make sense with a branch name"
 msgstr ""
 "'git branch'에 대해 -a 및 -r 옵션은 브랜치 이름과 같이 쓰면 앞뒤가 맞지 않습"
 "니다"
 
-#: builtin/branch.c:849
+#: builtin/branch.c:854
 #, c-format
 msgid ""
 "The --set-upstream flag is deprecated and will be removed. Consider using --"
@@ -5127,7 +5439,7 @@
 "--set-upstream 옵션은 더 이상 사용되지 않고 제거될 예정입니다. --track 또는 "
 "--set-upstream-to 옵션을 사용해 보십시오\n"
 
-#: builtin/branch.c:866
+#: builtin/branch.c:871
 #, c-format
 msgid ""
 "\n"
@@ -5194,7 +5506,7 @@
 msgid "for blob objects, run filters on object's content"
 msgstr "블롭 오브젝트에 대해서는, 오브젝트의 내용에 대해 필터를 실행합니다"
 
-#: builtin/cat-file.c:561 git-submodule.sh:923
+#: builtin/cat-file.c:561 git-submodule.sh:929
 msgid "blob"
 msgstr "블롭"
 
@@ -5251,7 +5563,7 @@
 msgid "terminate input and output records by a NUL character"
 msgstr "NUL 문자를 기준으로 자료 입력 및 출력을 멈춥니다"
 
-#: builtin/check-ignore.c:18 builtin/checkout.c:1137 builtin/gc.c:325
+#: builtin/check-ignore.c:18 builtin/checkout.c:1140 builtin/gc.c:332
 msgid "suppress progress reporting"
 msgstr "진행 상황 표시를 하지 않습니다"
 
@@ -5341,9 +5653,9 @@
 msgstr "내용을 임시 파일에 씁니다"
 
 #: builtin/checkout-index.c:174 builtin/column.c:30
-#: builtin/submodule--helper.c:595 builtin/submodule--helper.c:598
-#: builtin/submodule--helper.c:604 builtin/submodule--helper.c:951
-#: builtin/worktree.c:469
+#: builtin/submodule--helper.c:597 builtin/submodule--helper.c:600
+#: builtin/submodule--helper.c:606 builtin/submodule--helper.c:967
+#: builtin/worktree.c:471
 msgid "string"
 msgstr "문자열"
 
@@ -5418,50 +5730,50 @@
 msgid "you need to resolve your current index first"
 msgstr "현재 인덱스를 먼저 해결해야 합니다"
 
-#: builtin/checkout.c:624
+#: builtin/checkout.c:625
 #, c-format
 msgid "Can not do reflog for '%s': %s\n"
 msgstr "'%s'에 대해 reflog할 수 없습니다: %s\n"
 
-#: builtin/checkout.c:663
+#: builtin/checkout.c:666
 msgid "HEAD is now at"
 msgstr "HEAD의 현재 위치는"
 
-#: builtin/checkout.c:667 builtin/clone.c:660
+#: builtin/checkout.c:670 builtin/clone.c:660
 msgid "unable to update HEAD"
 msgstr "HEAD를 업데이트할 수 없습니다"
 
-#: builtin/checkout.c:671
+#: builtin/checkout.c:674
 #, c-format
 msgid "Reset branch '%s'\n"
 msgstr "'%s' 브랜치 리셋\n"
 
-#: builtin/checkout.c:674
+#: builtin/checkout.c:677
 #, c-format
 msgid "Already on '%s'\n"
 msgstr "이미 '%s'에 있습니다\n"
 
-#: builtin/checkout.c:678
+#: builtin/checkout.c:681
 #, c-format
 msgid "Switched to and reset branch '%s'\n"
 msgstr "'%s' 브랜치로 전환하고 리셋합니다\n"
 
-#: builtin/checkout.c:680 builtin/checkout.c:1069
+#: builtin/checkout.c:683 builtin/checkout.c:1072
 #, c-format
 msgid "Switched to a new branch '%s'\n"
 msgstr "새로 만든 '%s' 브랜치로 전환합니다\n"
 
-#: builtin/checkout.c:682
+#: builtin/checkout.c:685
 #, c-format
 msgid "Switched to branch '%s'\n"
 msgstr "'%s' 브랜치로 전환합니다\n"
 
-#: builtin/checkout.c:733
+#: builtin/checkout.c:736
 #, c-format
 msgid " ... and %d more.\n"
 msgstr " ... 그리고 %d개 더.\n"
 
-#: builtin/checkout.c:739
+#: builtin/checkout.c:742
 #, c-format
 msgid ""
 "Warning: you are leaving %d commit behind, not connected to\n"
@@ -5479,7 +5791,7 @@
 "\n"
 "%s\n"
 
-#: builtin/checkout.c:758
+#: builtin/checkout.c:761
 #, c-format
 msgid ""
 "If you want to keep it by creating a new branch, this may be a good time\n"
@@ -5500,151 +5812,151 @@
 " git branch <새-브랜치-이름> %s\n"
 "\n"
 
-#: builtin/checkout.c:794
+#: builtin/checkout.c:797
 msgid "internal error in revision walk"
 msgstr "리비전 walk에 내부 오류"
 
-#: builtin/checkout.c:798
+#: builtin/checkout.c:801
 msgid "Previous HEAD position was"
 msgstr "이전 HEAD 위치는"
 
-#: builtin/checkout.c:825 builtin/checkout.c:1064
+#: builtin/checkout.c:828 builtin/checkout.c:1067
 msgid "You are on a branch yet to be born"
 msgstr "현재 위치가 만들 예정인 브랜치에 있습니다"
 
-#: builtin/checkout.c:970
+#: builtin/checkout.c:973
 #, c-format
 msgid "only one reference expected, %d given."
 msgstr "하나의 레퍼런스만 지정해야 하지만 %d개를 지정했습니다."
 
-#: builtin/checkout.c:1010 builtin/worktree.c:214
+#: builtin/checkout.c:1013 builtin/worktree.c:214
 #, c-format
 msgid "invalid reference: %s"
 msgstr "잘못된 레퍼런스: %s"
 
-#: builtin/checkout.c:1039
+#: builtin/checkout.c:1042
 #, c-format
 msgid "reference is not a tree: %s"
 msgstr "레퍼런스가 트리가 아닙니다: %s"
 
-#: builtin/checkout.c:1078
+#: builtin/checkout.c:1081
 msgid "paths cannot be used with switching branches"
 msgstr "브랜치를 전환하는데 경로를 사용할 수 없습니다"
 
-#: builtin/checkout.c:1081 builtin/checkout.c:1085
+#: builtin/checkout.c:1084 builtin/checkout.c:1088
 #, c-format
 msgid "'%s' cannot be used with switching branches"
 msgstr "'%s' 옵션은 브랜치를 전환할 때 쓸 수 없습니다"
 
-#: builtin/checkout.c:1089 builtin/checkout.c:1092 builtin/checkout.c:1097
-#: builtin/checkout.c:1100
+#: builtin/checkout.c:1092 builtin/checkout.c:1095 builtin/checkout.c:1100
+#: builtin/checkout.c:1103
 #, c-format
 msgid "'%s' cannot be used with '%s'"
 msgstr "'%s' 옵션은 '%s' 옵션과 같이 쓸 수 없습니다"
 
-#: builtin/checkout.c:1105
+#: builtin/checkout.c:1108
 #, c-format
 msgid "Cannot switch branch to a non-commit '%s'"
 msgstr "브랜치를 커밋이 아닌 '%s'(으)로 전환할 수 없습니다"
 
-#: builtin/checkout.c:1138 builtin/checkout.c:1140 builtin/clone.c:93
+#: builtin/checkout.c:1141 builtin/checkout.c:1143 builtin/clone.c:93
 #: builtin/remote.c:165 builtin/remote.c:167 builtin/worktree.c:324
 #: builtin/worktree.c:326
 msgid "branch"
 msgstr "브랜치"
 
-#: builtin/checkout.c:1139
+#: builtin/checkout.c:1142
 msgid "create and checkout a new branch"
 msgstr "새 브랜치를 만들고 가져옵니다"
 
-#: builtin/checkout.c:1141
+#: builtin/checkout.c:1144
 msgid "create/reset and checkout a branch"
 msgstr "브랜치를 만들거나 리셋하고 가져옵니다"
 
-#: builtin/checkout.c:1142
+#: builtin/checkout.c:1145
 msgid "create reflog for new branch"
 msgstr "새 브랜치에 대한 reflog를 만듭니다"
 
-#: builtin/checkout.c:1143 builtin/worktree.c:328
+#: builtin/checkout.c:1146 builtin/worktree.c:328
 msgid "detach HEAD at named commit"
 msgstr "HEAD를 해당 커밋에서 분리합니다"
 
-#: builtin/checkout.c:1144
+#: builtin/checkout.c:1147
 msgid "set upstream info for new branch"
 msgstr "새 브랜치에 대한 업스트림 정보를 설정합니다"
 
-#: builtin/checkout.c:1146
+#: builtin/checkout.c:1149
 msgid "new-branch"
 msgstr "새-브랜치"
 
-#: builtin/checkout.c:1146
+#: builtin/checkout.c:1149
 msgid "new unparented branch"
 msgstr "상위 브랜치가 없는 새 브랜치"
 
-#: builtin/checkout.c:1147
+#: builtin/checkout.c:1150
 msgid "checkout our version for unmerged files"
 msgstr "병합되지 않은 파일에 대해 우리쪽 버전을 가져옵니다"
 
-#: builtin/checkout.c:1149
+#: builtin/checkout.c:1152
 msgid "checkout their version for unmerged files"
 msgstr "병합되지 않은 파일에 대해 상대편 버전을 가져옵니다"
 
-#: builtin/checkout.c:1151
+#: builtin/checkout.c:1154
 msgid "force checkout (throw away local modifications)"
 msgstr "강제로 체크아웃합니다 (로컬에서 수정한 사항을 버립니다)"
 
-#: builtin/checkout.c:1152
+#: builtin/checkout.c:1155
 msgid "perform a 3-way merge with the new branch"
 msgstr "새 브랜치에 대해 3-방향 병합을 수행합니다"
 
-#: builtin/checkout.c:1153 builtin/merge.c:231
+#: builtin/checkout.c:1156 builtin/merge.c:235
 msgid "update ignored files (default)"
 msgstr "무시하는 파일을 업데이트합니다 (기본값)"
 
-#: builtin/checkout.c:1154 builtin/log.c:1466 parse-options.h:251
+#: builtin/checkout.c:1157 builtin/log.c:1466 parse-options.h:251
 msgid "style"
 msgstr "스타일"
 
-#: builtin/checkout.c:1155
+#: builtin/checkout.c:1158
 msgid "conflict style (merge or diff3)"
 msgstr "충돌 스타일 (merge 또는 diff3)"
 
 # FIXME: 의미 불명
-#: builtin/checkout.c:1158
+#: builtin/checkout.c:1161
 msgid "do not limit pathspecs to sparse entries only"
 msgstr "경로명세를 드문 항목에만 제한하지 않습니다"
 
-#: builtin/checkout.c:1160
+#: builtin/checkout.c:1163
 msgid "second guess 'git checkout <no-such-branch>'"
 msgstr "'git checkout <없는-브랜치>'에 대해 추측합니다"
 
-#: builtin/checkout.c:1162
+#: builtin/checkout.c:1165
 msgid "do not check if another worktree is holding the given ref"
 msgstr "다른 작업폴더에 주어진 레퍼런스가 있는지 확인하지 않습니다"
 
-#: builtin/checkout.c:1163 builtin/clone.c:63 builtin/fetch.c:119
-#: builtin/merge.c:228 builtin/pull.c:117 builtin/push.c:536
+#: builtin/checkout.c:1166 builtin/clone.c:63 builtin/fetch.c:119
+#: builtin/merge.c:232 builtin/pull.c:117 builtin/push.c:539
 #: builtin/send-pack.c:168
 msgid "force progress reporting"
 msgstr "강제로 진행 상황을 표시합니다"
 
-#: builtin/checkout.c:1194
+#: builtin/checkout.c:1197
 msgid "-b, -B and --orphan are mutually exclusive"
 msgstr "-b, -B 및 --orphan 옵션은 서로 호환되지 않습니다"
 
-#: builtin/checkout.c:1211
+#: builtin/checkout.c:1214
 msgid "--track needs a branch name"
 msgstr "--track 옵션은 브랜치 이름이 필요합니다"
 
-#: builtin/checkout.c:1216
+#: builtin/checkout.c:1219
 msgid "Missing branch name; try -b"
 msgstr "브랜치 이름이 없습니다. -b 옵션을 사용해 보십시오"
 
-#: builtin/checkout.c:1252
+#: builtin/checkout.c:1255
 msgid "invalid path specification"
 msgstr "경로 명세가 잘못되었습니다"
 
-#: builtin/checkout.c:1259
+#: builtin/checkout.c:1262
 #, c-format
 msgid ""
 "Cannot update paths and switch to branch '%s' at the same time.\n"
@@ -5653,12 +5965,12 @@
 "동시에 경로를 업데이트하고 '%s' 브랜치로 전환할 수 없습니다.\n"
 "커밋을 확인할 수 없는 '%s'을(를) 가져오려고 하셨습니까?"
 
-#: builtin/checkout.c:1264
+#: builtin/checkout.c:1267
 #, c-format
 msgid "git checkout: --detach does not take a path argument '%s'"
 msgstr "git checkout: --detach 옵션은 경로 인자를 받지 않습니다 '%s'"
 
-#: builtin/checkout.c:1268
+#: builtin/checkout.c:1271
 msgid ""
 "git checkout: --ours/--theirs, --force and --merge are incompatible when\n"
 "checking out of the index."
@@ -5697,19 +6009,21 @@
 msgid "failed to remove %s"
 msgstr "%s 제거에 실패했습니다"
 
-#: builtin/clean.c:291
+#: builtin/clean.c:291 git-add--interactive.perl:623
+#, c-format
 msgid ""
 "Prompt help:\n"
 "1          - select a numbered item\n"
 "foo        - select item based on unique prefix\n"
-"           - (empty) select nothing"
+"           - (empty) select nothing\n"
 msgstr ""
 "프롬프트 도움말:\n"
 "1          - 해당 번호의 항목을 선택\n"
 "foo        - 유일한 접두어에 해당하는 항목 선택\n"
-"           - (빈 입력) 선택하지 않음"
+"           - (빈 입력) 선택하지 않음\n"
 
-#: builtin/clean.c:295
+#: builtin/clean.c:295 git-add--interactive.perl:632
+#, c-format
 msgid ""
 "Prompt help:\n"
 "1          - select a single item\n"
@@ -5718,7 +6032,7 @@
 "foo        - select item based on unique prefix\n"
 "-...       - unselect specified items\n"
 "*          - choose all items\n"
-"           - (empty) finish selecting"
+"           - (empty) finish selecting\n"
 msgstr ""
 "프롬프트 도움말:\n"
 "1          - 해당 번호의 항목을 선택\n"
@@ -5727,12 +6041,13 @@
 "foo        - 유일한 접두어에 해당하는 항목 선택\n"
 "-...       - 해당 항목 선택 해제\n"
 "*          - 모든 항목 선택\n"
-"           - (빈 입력) 선택 마침"
+"           - (빈 입력) 선택 마침\n"
 
-#: builtin/clean.c:511
-#, c-format
-msgid "Huh (%s)?"
-msgstr "어라라 (%s)?"
+#: builtin/clean.c:511 git-add--interactive.perl:598
+#: git-add--interactive.perl:603
+#, c-format, perl-format
+msgid "Huh (%s)?\n"
+msgstr "어라라 (%s)?\n"
 
 #: builtin/clean.c:653
 #, c-format
@@ -5754,9 +6069,10 @@
 msgid "Remove %s [y/N]? "
 msgstr "%s 제거합니까 [y/N]? "
 
-#: builtin/clean.c:777
-msgid "Bye."
-msgstr "끝."
+#: builtin/clean.c:777 git-add--interactive.perl:1669
+#, c-format
+msgid "Bye.\n"
+msgstr "끝.\n"
 
 #: builtin/clean.c:785
 msgid ""
@@ -5776,11 +6092,11 @@
 "help                - 이 화면 표시\n"
 "?                   - 프롬프트 선택 도움말"
 
-#: builtin/clean.c:812
+#: builtin/clean.c:812 git-add--interactive.perl:1745
 msgid "*** Commands ***"
 msgstr "*** 명령 ***"
 
-#: builtin/clean.c:813
+#: builtin/clean.c:813 git-add--interactive.perl:1742
 msgid "What now"
 msgstr "무엇을 할까요"
 
@@ -5809,8 +6125,8 @@
 msgid "remove whole directories"
 msgstr "전체 디렉터리 제거"
 
-#: builtin/clean.c:875 builtin/describe.c:407 builtin/grep.c:725
-#: builtin/ls-files.c:536 builtin/name-rev.c:313 builtin/show-ref.c:182
+#: builtin/clean.c:875 builtin/describe.c:407 builtin/grep.c:1056
+#: builtin/ls-files.c:538 builtin/name-rev.c:313 builtin/show-ref.c:176
 msgid "pattern"
 msgstr "패턴"
 
@@ -5890,8 +6206,8 @@
 msgid "directory from which templates will be used"
 msgstr "서식을 사용할 디렉터리 위치"
 
-#: builtin/clone.c:86 builtin/clone.c:88 builtin/submodule--helper.c:602
-#: builtin/submodule--helper.c:954
+#: builtin/clone.c:86 builtin/clone.c:88 builtin/submodule--helper.c:604
+#: builtin/submodule--helper.c:970
 msgid "reference repository"
 msgstr "레퍼런스 저장소"
 
@@ -5915,8 +6231,7 @@
 msgid "path to git-upload-pack on the remote"
 msgstr "리모트의 git-upload-pack 경로"
 
-#: builtin/clone.c:97 builtin/fetch.c:120 builtin/grep.c:668
-#: builtin/pull.c:202
+#: builtin/clone.c:97 builtin/fetch.c:120 builtin/grep.c:999 builtin/pull.c:202
 msgid "depth"
 msgstr "깊이"
 
@@ -5924,7 +6239,7 @@
 msgid "create a shallow clone of that depth"
 msgstr "지정한 깊이의 얕은 복제를 만듭니다"
 
-#: builtin/clone.c:99 builtin/fetch.c:122 builtin/pack-objects.c:2848
+#: builtin/clone.c:99 builtin/fetch.c:122 builtin/pack-objects.c:2836
 #: parse-options.h:142
 msgid "time"
 msgstr "시각"
@@ -5938,8 +6253,8 @@
 msgstr "리비전"
 
 #: builtin/clone.c:102 builtin/fetch.c:125
-msgid "deepen history of shallow clone by excluding rev"
-msgstr "레퍼런스를 제외해 얕은 복제의 커밋 내역을 깊게 만듭니다"
+msgid "deepen history of shallow clone, excluding rev"
+msgstr "리비전을 제외해 얕은 복제의 커밋 내역을 깊게 만듭니다"
 
 #: builtin/clone.c:104
 msgid "clone only one branch, HEAD or --branch"
@@ -5965,11 +6280,11 @@
 msgid "set config inside the new repository"
 msgstr "새 저장소 안에서 설정합니다"
 
-#: builtin/clone.c:111 builtin/fetch.c:140 builtin/push.c:547
+#: builtin/clone.c:111 builtin/fetch.c:140 builtin/push.c:550
 msgid "use IPv4 addresses only"
 msgstr "IPv4 주소만 사용합니다"
 
-#: builtin/clone.c:113 builtin/fetch.c:142 builtin/push.c:549
+#: builtin/clone.c:113 builtin/fetch.c:142 builtin/push.c:552
 msgid "use IPv6 addresses only"
 msgstr "IPv6 주소만 사용합니다"
 
@@ -6082,7 +6397,7 @@
 msgid "repository '%s' does not exist"
 msgstr "'%s' 저장소가 없습니다"
 
-#: builtin/clone.c:905 builtin/fetch.c:1338
+#: builtin/clone.c:905 builtin/fetch.c:1335
 #, c-format
 msgid "depth %s is not a positive number"
 msgstr "깊이가(%s) 0보다 큰 수가 아닙니다"
@@ -6097,8 +6412,9 @@
 msgid "working tree '%s' already exists."
 msgstr "작업 폴더가('%s') 이미 있습니다."
 
-#: builtin/clone.c:940 builtin/clone.c:951 builtin/submodule--helper.c:657
-#: builtin/worktree.c:222 builtin/worktree.c:249
+#: builtin/clone.c:940 builtin/clone.c:951 builtin/difftool.c:252
+#: builtin/submodule--helper.c:659 builtin/worktree.c:222
+#: builtin/worktree.c:249
 #, c-format
 msgid "could not create leading directories of '%s'"
 msgstr "'%s'의 앞 디렉터리를 만들 수 없습니다"
@@ -6373,7 +6689,7 @@
 msgid "could not lookup commit %s"
 msgstr "%s 커밋을 찾아볼 수 없습니다"
 
-#: builtin/commit.c:704 builtin/shortlog.c:286
+#: builtin/commit.c:704 builtin/shortlog.c:295
 #, c-format
 msgid "(reading log message from standard input)\n"
 msgstr "(표준 입력에서 로그 메시지를 읽음)\n"
@@ -6472,7 +6788,7 @@
 msgid "Error building trees"
 msgstr "트리를 만드는데 오류"
 
-#: builtin/commit.c:969 builtin/tag.c:266
+#: builtin/commit.c:968 builtin/tag.c:280
 #, c-format
 msgid "Please supply the message using either -m or -F option.\n"
 msgstr "메시지를 -m 또는 -F 옵션으로 입력하십시오.\n"
@@ -6483,7 +6799,7 @@
 msgstr ""
 "--author '%s' 옵션이 '이름 <전자메일>' 형식이 아니고 기존 작성자에도 없습니다"
 
-#: builtin/commit.c:1086 builtin/commit.c:1327
+#: builtin/commit.c:1086 builtin/commit.c:1325
 #, c-format
 msgid "Invalid untracked files mode '%s'"
 msgstr "추적되지 않는 파일 모드가 ('%s') 잘못되었습니다"
@@ -6535,67 +6851,63 @@
 msgstr "경로가 없이 --include/--only 옵션을 쓰면 앞뒤가 맞지 않습니다."
 
 #: builtin/commit.c:1212
-msgid "Clever... amending the last one with dirty index."
-msgstr "기발하네요... 마지막을 변경된 인덱스로 바꿉니다."
-
-#: builtin/commit.c:1214
 msgid "Explicit paths specified without -i or -o; assuming --only paths..."
 msgstr ""
 "-i 또는 -o 없이 명시적인 경로를 지정했습니다. --only 경로를 가정합니다..."
 
-#: builtin/commit.c:1226 builtin/tag.c:474
+#: builtin/commit.c:1224 builtin/tag.c:495
 #, c-format
 msgid "Invalid cleanup mode %s"
 msgstr "잘못된 정리 모드 %s"
 
-#: builtin/commit.c:1231
+#: builtin/commit.c:1229
 msgid "Paths with -a does not make sense."
 msgstr "-a 옵션과 경로를 같이 사용하면 앞뒤가 맞지 않습니다."
 
-#: builtin/commit.c:1341 builtin/commit.c:1617
+#: builtin/commit.c:1339 builtin/commit.c:1612
 msgid "show status concisely"
 msgstr "상태를 간략하게 표시합니다"
 
-#: builtin/commit.c:1343 builtin/commit.c:1619
+#: builtin/commit.c:1341 builtin/commit.c:1614
 msgid "show branch information"
 msgstr "브랜치 정보를 표시합니다"
 
-#: builtin/commit.c:1345
+#: builtin/commit.c:1343
 msgid "version"
 msgstr "버전"
 
-#: builtin/commit.c:1345 builtin/commit.c:1621 builtin/push.c:522
-#: builtin/worktree.c:440
+#: builtin/commit.c:1343 builtin/commit.c:1616 builtin/push.c:525
+#: builtin/worktree.c:442
 msgid "machine-readable output"
 msgstr "컴퓨터가 읽을 수 있는 형식"
 
-#: builtin/commit.c:1348 builtin/commit.c:1623
+#: builtin/commit.c:1346 builtin/commit.c:1618
 msgid "show status in long format (default)"
 msgstr "긴 형식으로 상태를 표시합니다 (기본값)"
 
-#: builtin/commit.c:1351 builtin/commit.c:1626
+#: builtin/commit.c:1349 builtin/commit.c:1621
 msgid "terminate entries with NUL"
 msgstr "NUL 문자로 항목을 끝냅니다"
 
-#: builtin/commit.c:1353 builtin/commit.c:1629 builtin/fast-export.c:981
-#: builtin/fast-export.c:984 builtin/tag.c:353
+#: builtin/commit.c:1351 builtin/commit.c:1624 builtin/fast-export.c:981
+#: builtin/fast-export.c:984 builtin/tag.c:368
 msgid "mode"
 msgstr "모드"
 
-#: builtin/commit.c:1354 builtin/commit.c:1629
+#: builtin/commit.c:1352 builtin/commit.c:1624
 msgid "show untracked files, optional modes: all, normal, no. (Default: all)"
 msgstr ""
 "추적되지 않는 파일을 표시합니다. 추가 옵션: all, normal, no (기본값: all)"
 
-#: builtin/commit.c:1357
+#: builtin/commit.c:1355
 msgid "show ignored files"
 msgstr "무시되는 파일을 표시합니다"
 
-#: builtin/commit.c:1358 parse-options.h:155
+#: builtin/commit.c:1356 parse-options.h:155
 msgid "when"
 msgstr "언제"
 
-#: builtin/commit.c:1359
+#: builtin/commit.c:1357
 msgid ""
 "ignore changes to submodules, optional when: all, dirty, untracked. "
 "(Default: all)"
@@ -6603,198 +6915,198 @@
 "하위 모듈의 변경을 무시합니다. 추가 옵션: all, dirty, untracked. (기본값: "
 "all)"
 
-#: builtin/commit.c:1361
+#: builtin/commit.c:1359
 msgid "list untracked files in columns"
 msgstr "추적되지 않는 파일의 목록을 여러 열로 표시합니다"
 
-#: builtin/commit.c:1437
+#: builtin/commit.c:1435
 msgid "couldn't look up newly created commit"
 msgstr "새로 만든 커밋을 찾아볼 수 없습니다"
 
-#: builtin/commit.c:1439
+#: builtin/commit.c:1437
 msgid "could not parse newly created commit"
 msgstr "새로 만든 커밋을 파싱할 수 없습니다"
 
-#: builtin/commit.c:1484
+#: builtin/commit.c:1482
 msgid "detached HEAD"
 msgstr "HEAD 분리됨"
 
-#: builtin/commit.c:1487
+#: builtin/commit.c:1485
 msgid " (root-commit)"
 msgstr " (최상위-커밋)"
 
-#: builtin/commit.c:1587
+#: builtin/commit.c:1582
 msgid "suppress summary after successful commit"
 msgstr "성공적인 커밋 후에 요약을 표시하지 않습니다"
 
-#: builtin/commit.c:1588
+#: builtin/commit.c:1583
 msgid "show diff in commit message template"
 msgstr "커밋 메시지 서식에 diff를 표시합니다"
 
-#: builtin/commit.c:1590
+#: builtin/commit.c:1585
 msgid "Commit message options"
 msgstr "커밋 메시지 옵션"
 
-#: builtin/commit.c:1591 builtin/tag.c:351
+#: builtin/commit.c:1586 builtin/tag.c:366
 msgid "read message from file"
 msgstr "파일에서 메시지를 읽습니다"
 
-#: builtin/commit.c:1592
+#: builtin/commit.c:1587
 msgid "author"
 msgstr "작성자"
 
-#: builtin/commit.c:1592
+#: builtin/commit.c:1587
 msgid "override author for commit"
 msgstr "커밋의 작성자를 지정합니다"
 
-#: builtin/commit.c:1593 builtin/gc.c:326
+#: builtin/commit.c:1588 builtin/gc.c:333
 msgid "date"
 msgstr "시각"
 
-#: builtin/commit.c:1593
+#: builtin/commit.c:1588
 msgid "override date for commit"
 msgstr "커밋의 시각을 지정합니다"
 
-#: builtin/commit.c:1594 builtin/merge.c:220 builtin/notes.c:398
-#: builtin/notes.c:561 builtin/tag.c:349
+#: builtin/commit.c:1589 builtin/merge.c:222 builtin/notes.c:398
+#: builtin/notes.c:561 builtin/tag.c:364
 msgid "message"
 msgstr "메시지"
 
-#: builtin/commit.c:1594
+#: builtin/commit.c:1589
 msgid "commit message"
 msgstr "커밋 메시지"
 
-#: builtin/commit.c:1595 builtin/commit.c:1596 builtin/commit.c:1597
-#: builtin/commit.c:1598 parse-options.h:257 ref-filter.h:79
+#: builtin/commit.c:1590 builtin/commit.c:1591 builtin/commit.c:1592
+#: builtin/commit.c:1593 parse-options.h:257 ref-filter.h:81
 msgid "commit"
 msgstr "커밋"
 
-#: builtin/commit.c:1595
+#: builtin/commit.c:1590
 msgid "reuse and edit message from specified commit"
 msgstr "지정한 커밋의 메시지를 재사용하고 편집합니다"
 
-#: builtin/commit.c:1596
+#: builtin/commit.c:1591
 msgid "reuse message from specified commit"
 msgstr "지정한 커밋에서 메시지를 재사용합니다"
 
-#: builtin/commit.c:1597
+#: builtin/commit.c:1592
 msgid "use autosquash formatted message to fixup specified commit"
 msgstr "지정한 커밋을 수정하는데 autosquash 형식 메시지를 사용합니다"
 
-#: builtin/commit.c:1598
+#: builtin/commit.c:1593
 msgid "use autosquash formatted message to squash specified commit"
 msgstr "지정한 커밋을 합치는데 autosquash 형식 메시지를 사용합니다"
 
-#: builtin/commit.c:1599
+#: builtin/commit.c:1594
 msgid "the commit is authored by me now (used with -C/-c/--amend)"
 msgstr "커밋을 내가 작성한 것으로 만듭니다 (-C/-c/--amend와 같이 사용)"
 
-#: builtin/commit.c:1600 builtin/log.c:1413 builtin/revert.c:86
+#: builtin/commit.c:1595 builtin/log.c:1413 builtin/revert.c:86
 msgid "add Signed-off-by:"
 msgstr "Signed-off-by: 줄을 추가합니다"
 
-#: builtin/commit.c:1601
+#: builtin/commit.c:1596
 msgid "use specified template file"
 msgstr "지정한 서식 파일을 사용합니다"
 
-#: builtin/commit.c:1602
+#: builtin/commit.c:1597
 msgid "force edit of commit"
 msgstr "커밋 편집을 강제합니다"
 
-#: builtin/commit.c:1603
+#: builtin/commit.c:1598
 msgid "default"
 msgstr "기본값"
 
-#: builtin/commit.c:1603 builtin/tag.c:354
+#: builtin/commit.c:1598 builtin/tag.c:369
 msgid "how to strip spaces and #comments from message"
 msgstr "메시지에서 공백과 #주석을 지웁니다"
 
-#: builtin/commit.c:1604
+#: builtin/commit.c:1599
 msgid "include status in commit message template"
 msgstr "커밋 메시지 서식에 상태를 포함합니다"
 
-#: builtin/commit.c:1606 builtin/merge.c:230 builtin/pull.c:166
+#: builtin/commit.c:1601 builtin/merge.c:234 builtin/pull.c:166
 #: builtin/revert.c:93
 msgid "GPG sign commit"
 msgstr "GPG 서명 커밋"
 
-#: builtin/commit.c:1609
+#: builtin/commit.c:1604
 msgid "Commit contents options"
 msgstr "커밋 내용 옵션"
 
-#: builtin/commit.c:1610
+#: builtin/commit.c:1605
 msgid "commit all changed files"
 msgstr "변경된 파일을 모두 커밋합니다"
 
-#: builtin/commit.c:1611
+#: builtin/commit.c:1606
 msgid "add specified files to index for commit"
 msgstr "지정한 파일을 커밋할 인덱스에 추가합니다"
 
-#: builtin/commit.c:1612
+#: builtin/commit.c:1607
 msgid "interactively add files"
 msgstr "대화형으로 파일을 추가합니다"
 
-#: builtin/commit.c:1613
+#: builtin/commit.c:1608
 msgid "interactively add changes"
 msgstr "대화형으로 변경 사항을 추가합니다"
 
-#: builtin/commit.c:1614
+#: builtin/commit.c:1609
 msgid "commit only specified files"
 msgstr "지정한 파일만 커밋합니다"
 
-#: builtin/commit.c:1615
+#: builtin/commit.c:1610
 msgid "bypass pre-commit and commit-msg hooks"
 msgstr "커밋 전 후크와 커밋 메시지 후크를 건너뜁니다"
 
-#: builtin/commit.c:1616
+#: builtin/commit.c:1611
 msgid "show what would be committed"
 msgstr "무엇을 커밋할지 표시합니다"
 
-#: builtin/commit.c:1627
+#: builtin/commit.c:1622
 msgid "amend previous commit"
 msgstr "바로 앞 커밋을 바꿉니다"
 
-#: builtin/commit.c:1628
+#: builtin/commit.c:1623
 msgid "bypass post-rewrite hook"
 msgstr "다시쓰기 후 후크를 건너뜁니다"
 
-#: builtin/commit.c:1633
+#: builtin/commit.c:1628
 msgid "ok to record an empty change"
 msgstr "빈 변경 사항을 기록하도록 허용합니다"
 
-#: builtin/commit.c:1635
+#: builtin/commit.c:1630
 msgid "ok to record a change with an empty message"
 msgstr "빈 메시지와 같이 변경 사항을 기록하도록 허용합니다"
 
-#: builtin/commit.c:1664
+#: builtin/commit.c:1659
 msgid "could not parse HEAD commit"
 msgstr "HEAD 커밋을 파싱할 수 없습니다"
 
-#: builtin/commit.c:1712
+#: builtin/commit.c:1707
 #, c-format
 msgid "Corrupt MERGE_HEAD file (%s)"
 msgstr "손상된 MERGE_HEAD 파일 (%s)"
 
-#: builtin/commit.c:1719
+#: builtin/commit.c:1714
 msgid "could not read MERGE_MODE"
 msgstr "MERGE_MODE를 읽을 수 없습니다"
 
-#: builtin/commit.c:1738
+#: builtin/commit.c:1733
 #, c-format
 msgid "could not read commit message: %s"
 msgstr "커밋 메시지를 읽을 수 없습니다: %s"
 
-#: builtin/commit.c:1749
+#: builtin/commit.c:1744
 #, c-format
 msgid "Aborting commit; you did not edit the message.\n"
 msgstr "커밋을 중지합니다. 메시지를 편집하지 않았습니다.\n"
 
-#: builtin/commit.c:1754
+#: builtin/commit.c:1749
 #, c-format
 msgid "Aborting commit due to empty commit message.\n"
 msgstr "커밋을 중지합니다. 커밋 메시지가 비어 있습니다.\n"
 
-#: builtin/commit.c:1802
+#: builtin/commit.c:1797
 msgid ""
 "Repository has been updated, but unable to write\n"
 "new_index file. Check that disk is not full and quota is\n"
@@ -7116,37 +7428,123 @@
 
 #: builtin/describe.c:476
 msgid "--dirty is incompatible with commit-ishes"
-msgstr "--dirty 옵션은 커밋같은 항목과 호환되지 않았습니다"
+msgstr "--dirty 옵션은 커밋같은 항목과 호환되지 않습니다"
 
-#: builtin/diff.c:86
+#: builtin/diff.c:83
 #, c-format
 msgid "'%s': not a regular file or symlink"
 msgstr "'%s': 일반 파일이나 심볼릭 링크가 아닙니다"
 
-#: builtin/diff.c:237
+#: builtin/diff.c:234
 #, c-format
 msgid "invalid option: %s"
 msgstr "잘못된 옵션: %s"
 
-#: builtin/diff.c:361
+#: builtin/diff.c:358
 msgid "Not a git repository"
 msgstr "깃 저장소가 아닙니다"
 
-#: builtin/diff.c:404
+#: builtin/diff.c:401
 #, c-format
 msgid "invalid object '%s' given."
 msgstr "잘못된 '%s' 오브젝트가 주어졌습니다."
 
-#: builtin/diff.c:413
+#: builtin/diff.c:410
 #, c-format
 msgid "more than two blobs given: '%s'"
 msgstr "두 개보다 많은 블롭이 주어졌습니다: '%s'"
 
-#: builtin/diff.c:420
+#: builtin/diff.c:417
 #, c-format
 msgid "unhandled object '%s' given."
 msgstr "처리하지 않은 '%s' 오브젝트가 주어졌습니다."
 
+#: builtin/difftool.c:28
+msgid "git difftool [<options>] [<commit> [<commit>]] [--] [<path>...]"
+msgstr "git difftool [<옵션>] [<커밋> [<커밋>]] [--] [<경로>...]"
+
+#: builtin/difftool.c:241
+#, c-format
+msgid "failed: %d"
+msgstr "실패: %d"
+
+#: builtin/difftool.c:342
+msgid ""
+"combined diff formats('-c' and '--cc') are not supported in\n"
+"directory diff mode('-d' and '--dir-diff')."
+msgstr ""
+"컴바인드 diff 형식은 ('-c' 및 '--cc') 디렉터리 diff 모드에서는\n"
+"('-d' 및 '--dir-diff') 지원하지 않습니다."
+
+#: builtin/difftool.c:567
+#, c-format
+msgid "both files modified: '%s' and '%s'."
+msgstr "두 파일이 수정되었습니다: '%s' 및 '%s'."
+
+#: builtin/difftool.c:569
+msgid "working tree file has been left."
+msgstr "작업 폴더가 남겨져 있습니다."
+
+#: builtin/difftool.c:580
+#, c-format
+msgid "temporary files exist in '%s'."
+msgstr "임시 파일이 '%s'에 있습니다."
+
+#: builtin/difftool.c:581
+msgid "you may want to cleanup or recover these."
+msgstr "이 파일을 지우거나 복구할 수 있습니다."
+
+#: builtin/difftool.c:626
+msgid "use `diff.guitool` instead of `diff.tool`"
+msgstr "`diff.tool` 대신 `diff.guitool`을 사용하십시오"
+
+#: builtin/difftool.c:628
+msgid "perform a full-directory diff"
+msgstr "전체 디렉터리 diff를 수행합니다"
+
+#: builtin/difftool.c:630
+msgid "do not prompt before launching a diff tool"
+msgstr "diff 도구를 실행하기 전에 프롬프트를 표시하지 않습니다"
+
+#: builtin/difftool.c:636
+msgid "use symlinks in dir-diff mode"
+msgstr "dir-diff 모드에서 심볼릭 링크를 사용합니다"
+
+#: builtin/difftool.c:637
+msgid "<tool>"
+msgstr "<도구>"
+
+#: builtin/difftool.c:638
+msgid "use the specified diff tool"
+msgstr "지정한 diff 도구를 사용합니다"
+
+#: builtin/difftool.c:640
+msgid "print a list of diff tools that may be used with `--tool`"
+msgstr "`--tool` 옵션에서 사용할 수 있는 diff 도구 목록을 표시합니다"
+
+#: builtin/difftool.c:643
+msgid ""
+"make 'git-difftool' exit when an invoked diff tool returns a non - zero exit "
+"code"
+msgstr ""
+"실행한 diff 도구가 0이 아닌 코드를 리턴하면 'git-difftool'이 끝나게 합니다"
+
+#: builtin/difftool.c:645
+msgid "<command>"
+msgstr "<명령>"
+
+#: builtin/difftool.c:646
+msgid "specify a custom command for viewing diffs"
+msgstr "diff를 보는 명령어를 사용자가 지정합니다"
+
+#: builtin/difftool.c:670
+msgid "no <tool> given for --tool=<tool>"
+msgstr "--tool=<도구> 옵션에 <도구>가 주어지지 않았습니다"
+
+#: builtin/difftool.c:677
+msgid "no <cmd> given for --extcmd=<cmd>"
+msgstr "--extcmd=<명령> 옵션에 <명령>이 주어지지 않았습니다"
+
 #: builtin/fast-export.c:25
 msgid "git fast-export [rev-list-opts]"
 msgstr "git fast-export [rev-list-옵션]"
@@ -7303,77 +7701,77 @@
 msgid "specify fetch refmap"
 msgstr "레퍼런스맵 가져오기를 지정합니다"
 
-#: builtin/fetch.c:398
+#: builtin/fetch.c:395
 msgid "Couldn't find remote ref HEAD"
 msgstr "리모트 레퍼런스 HEAD를 찾을 수 없습니다"
 
-#: builtin/fetch.c:514
+#: builtin/fetch.c:511
 #, c-format
 msgid "configuration fetch.output contains invalid value %s"
 msgstr "fetch.output 설정에 잘못된 값이 있습니다: %s"
 
-#: builtin/fetch.c:607
+#: builtin/fetch.c:604
 #, c-format
 msgid "object %s not found"
 msgstr "%s 오브젝트가 없습니다"
 
-#: builtin/fetch.c:611
+#: builtin/fetch.c:608
 msgid "[up to date]"
 msgstr "[최신 상태]"
 
-#: builtin/fetch.c:624 builtin/fetch.c:704
+#: builtin/fetch.c:621 builtin/fetch.c:701
 msgid "[rejected]"
 msgstr "[거부됨]"
 
-#: builtin/fetch.c:625
+#: builtin/fetch.c:622
 msgid "can't fetch in current branch"
 msgstr "현재 브랜치에서 가져올 수 없음"
 
-#: builtin/fetch.c:634
+#: builtin/fetch.c:631
 msgid "[tag update]"
 msgstr "[태그 업데이트]"
 
-#: builtin/fetch.c:635 builtin/fetch.c:668 builtin/fetch.c:684
-#: builtin/fetch.c:699
+#: builtin/fetch.c:632 builtin/fetch.c:665 builtin/fetch.c:681
+#: builtin/fetch.c:696
 msgid "unable to update local ref"
 msgstr "로컬 레퍼런스를 업데이트할 수 없습니다"
 
-#: builtin/fetch.c:654
+#: builtin/fetch.c:651
 msgid "[new tag]"
 msgstr "[새로운 태그]"
 
-#: builtin/fetch.c:657
+#: builtin/fetch.c:654
 msgid "[new branch]"
 msgstr "[새로운 브랜치]"
 
-#: builtin/fetch.c:660
+#: builtin/fetch.c:657
 msgid "[new ref]"
 msgstr "[새로운 레퍼런스]"
 
-#: builtin/fetch.c:699
+#: builtin/fetch.c:696
 msgid "forced update"
 msgstr "강제 업데이트"
 
-#: builtin/fetch.c:704
+#: builtin/fetch.c:701
 msgid "non-fast-forward"
 msgstr "정방향 진행이 아님"
 
-#: builtin/fetch.c:749
+#: builtin/fetch.c:746
 #, c-format
 msgid "%s did not send all necessary objects\n"
 msgstr "%s이(가) 모든 필요한 오브젝트를 보내지 않았습니다\n"
 
-#: builtin/fetch.c:769
+#: builtin/fetch.c:766
 #, c-format
 msgid "reject %s because shallow roots are not allowed to be updated"
 msgstr "얕은 최상위의 업데이트가 허용되지 않으므로 %s을(를) 거부합니다"
 
-#: builtin/fetch.c:856 builtin/fetch.c:952
+#: builtin/fetch.c:853 builtin/fetch.c:949
 #, c-format
 msgid "From %.*s\n"
 msgstr "%.*s URL에서\n"
 
-#: builtin/fetch.c:867
+#: builtin/fetch.c:864
 #, c-format
 msgid ""
 "some local refs could not be updated; try running\n"
@@ -7382,55 +7780,55 @@
 "업데이트할 수 없는 로컬 레퍼런스가 있습니다. 과거 충돌 브랜치를\n"
 " 제거하려면 'git remote prune %s' 명령을 실행해 보십시오"
 
-#: builtin/fetch.c:922
+#: builtin/fetch.c:919
 #, c-format
 msgid "   (%s will become dangling)"
 msgstr "   (%s 레퍼런스가 연결이 끊어지게 됩니다)"
 
-#: builtin/fetch.c:923
+#: builtin/fetch.c:920
 #, c-format
 msgid "   (%s has become dangling)"
 msgstr "   (%s 레퍼런스가 연결이 끊어졌습니다)"
 
-#: builtin/fetch.c:955
+#: builtin/fetch.c:952
 msgid "[deleted]"
 msgstr "[삭제됨]"
 
-#: builtin/fetch.c:956 builtin/remote.c:1020
+#: builtin/fetch.c:953 builtin/remote.c:1020
 msgid "(none)"
 msgstr "(없음)"
 
-#: builtin/fetch.c:979
+#: builtin/fetch.c:976
 #, c-format
 msgid "Refusing to fetch into current branch %s of non-bare repository"
 msgstr "간략한 저장소가 아닌 저장소의 현재 %s 브랜치로 가져오기를 거절합니다"
 
-#: builtin/fetch.c:998
+#: builtin/fetch.c:995
 #, c-format
 msgid "Option \"%s\" value \"%s\" is not valid for %s"
 msgstr "\"%s\" 옵션의 \"%s\" 값은 %s에 대해 올바르지 않습니다"
 
-#: builtin/fetch.c:1001
+#: builtin/fetch.c:998
 #, c-format
 msgid "Option \"%s\" is ignored for %s\n"
 msgstr "\"%s\" 옵션은 '%s'에 대해 무시됩니다\n"
 
-#: builtin/fetch.c:1077
+#: builtin/fetch.c:1074
 #, c-format
 msgid "Don't know how to fetch from %s"
 msgstr "'%s'에서 가져오는 방법을 알 수 없습니다"
 
-#: builtin/fetch.c:1237
+#: builtin/fetch.c:1234
 #, c-format
 msgid "Fetching %s\n"
 msgstr "%s을(를) 가져오는 중\n"
 
-#: builtin/fetch.c:1239 builtin/remote.c:96
+#: builtin/fetch.c:1236 builtin/remote.c:96
 #, c-format
 msgid "Could not fetch %s"
 msgstr "%s을(를) 가져올 수 없습니다"
 
-#: builtin/fetch.c:1257
+#: builtin/fetch.c:1254
 msgid ""
 "No remote repository specified.  Please, specify either a URL or a\n"
 "remote name from which new revisions should be fetched."
@@ -7438,41 +7836,41 @@
 "리모트 저장소를 지정하지 않았습니다. 새 리비전을 가져올 수 있는\n"
 "URL이나 리모트 이름을 지정하십시오."
 
-#: builtin/fetch.c:1280
+#: builtin/fetch.c:1277
 msgid "You need to specify a tag name."
 msgstr "태그 이름을 지정해야 합니다."
 
-#: builtin/fetch.c:1322
+#: builtin/fetch.c:1319
 msgid "Negative depth in --deepen is not supported"
 msgstr "--deepen 옵션에 음수 깊이는 지원하지 않습니다"
 
-#: builtin/fetch.c:1324
+#: builtin/fetch.c:1321
 msgid "--deepen and --depth are mutually exclusive"
 msgstr "-deepen, --depth 옵션 중 하나만 쓸 수 있습니다"
 
-#: builtin/fetch.c:1329
+#: builtin/fetch.c:1326
 msgid "--depth and --unshallow cannot be used together"
 msgstr "--depth 및 --unshallow 옵션은 같이 쓸 수 없습니다"
 
-#: builtin/fetch.c:1331
+#: builtin/fetch.c:1328
 msgid "--unshallow on a complete repository does not make sense"
 msgstr ""
 "완전한 저장소에 대해 --unshallow 옵션을 사용하는 건 앞뒤가 맞지 않습니다"
 
-#: builtin/fetch.c:1353
+#: builtin/fetch.c:1350
 msgid "fetch --all does not take a repository argument"
 msgstr "fetch --all 명령에 저장소 인자가 없습니다"
 
-#: builtin/fetch.c:1355
+#: builtin/fetch.c:1352
 msgid "fetch --all does not make sense with refspecs"
 msgstr "fetch --all 명령은 레퍼런스명세 인자와 같이 쓰면 앞뒤가 맞지 않습니다"
 
-#: builtin/fetch.c:1366
+#: builtin/fetch.c:1363
 #, c-format
 msgid "No such remote or remote group: %s"
 msgstr "그런 리모트나 리모트 그룹이 없습니다: %s"
 
-#: builtin/fetch.c:1374
+#: builtin/fetch.c:1371
 msgid "Fetching a group and specifying refspecs does not make sense"
 msgstr "그룹을 가져오고 레퍼런스명세를 지정하면 앞뒤가 맞지 않습니다"
 
@@ -7538,7 +7936,7 @@
 msgid "show only <n> matched refs"
 msgstr "<n>개의 해당하는 레퍼런스만 표시합니다"
 
-#: builtin/for-each-ref.c:37 builtin/tag.c:372
+#: builtin/for-each-ref.c:37 builtin/tag.c:387 builtin/verify-tag.c:38
 msgid "format to use for the output"
 msgstr "출력에 사용할 형식"
 
@@ -7558,63 +7956,63 @@
 msgid "print only refs which contain the commit"
 msgstr "커밋이 들어 있는 레퍼런스만 표시합니다"
 
-#: builtin/fsck.c:519
+#: builtin/fsck.c:554
 msgid "Checking object directories"
 msgstr "오브젝트 디렉터리를 확인하는 중입니다"
 
-#: builtin/fsck.c:588
+#: builtin/fsck.c:646
 msgid "git fsck [<options>] [<object>...]"
 msgstr "git fsck [<옵션>] [<오브젝트>...]"
 
-#: builtin/fsck.c:594
+#: builtin/fsck.c:652
 msgid "show unreachable objects"
 msgstr "접근할 수 없는 오브젝트를 표시합니다"
 
-#: builtin/fsck.c:595
+#: builtin/fsck.c:653
 msgid "show dangling objects"
 msgstr "연결이 끊어진 오브젝트를 표시합니다"
 
-#: builtin/fsck.c:596
+#: builtin/fsck.c:654
 msgid "report tags"
 msgstr "태그를 알립니다"
 
-#: builtin/fsck.c:597
+#: builtin/fsck.c:655
 msgid "report root nodes"
 msgstr "최상위 노드를 알립니다"
 
-#: builtin/fsck.c:598
+#: builtin/fsck.c:656
 msgid "make index objects head nodes"
 msgstr "인덱스 오브젝트 헤드 노드를 만듭니다"
 
-#: builtin/fsck.c:599
+#: builtin/fsck.c:657
 msgid "make reflogs head nodes (default)"
 msgstr "reflog 헤드 노드를 만듭니다 (기본값)"
 
-#: builtin/fsck.c:600
+#: builtin/fsck.c:658
 msgid "also consider packs and alternate objects"
 msgstr "묶음과 보조 오브젝트도 만듭니다"
 
-#: builtin/fsck.c:601
+#: builtin/fsck.c:659
 msgid "check only connectivity"
 msgstr "연결만 확인합니다"
 
-#: builtin/fsck.c:602
+#: builtin/fsck.c:660
 msgid "enable more strict checking"
 msgstr "더 엄격하게 확인합니다"
 
-#: builtin/fsck.c:604
+#: builtin/fsck.c:662
 msgid "write dangling objects in .git/lost-found"
 msgstr ".git/lost-found 안에 연결이 끊어진 오브젝트를 씁니다"
 
-#: builtin/fsck.c:605 builtin/prune.c:107
+#: builtin/fsck.c:663 builtin/prune.c:107
 msgid "show progress"
 msgstr "진행 상황을 표시합니다"
 
-#: builtin/fsck.c:606
+#: builtin/fsck.c:664
 msgid "show verbose names for reachable objects"
 msgstr "접근할 수 없는 오브젝트의 이름을 자세히 표시합니다"
 
-#: builtin/fsck.c:665
+#: builtin/fsck.c:725
 msgid "Checking objects"
 msgstr "오브젝트를 확인합니다"
 
@@ -7632,7 +8030,7 @@
 msgid "insanely long object directory %.*s"
 msgstr "비정상적으로 긴 오브젝트 디렉터리 %.*s"
 
-#: builtin/gc.c:290
+#: builtin/gc.c:297
 #, c-format
 msgid ""
 "The last gc run reported the following. Please correct the root cause\n"
@@ -7647,38 +8045,38 @@
 "\n"
 "%s"
 
-#: builtin/gc.c:327
+#: builtin/gc.c:334
 msgid "prune unreferenced objects"
 msgstr "레퍼런스하지 않는 오브젝트를 잘라냅니다"
 
-#: builtin/gc.c:329
+#: builtin/gc.c:336
 msgid "be more thorough (increased runtime)"
 msgstr "더 자세히 검사합니다 (실행 시간 늘어남)"
 
-#: builtin/gc.c:330
+#: builtin/gc.c:337
 msgid "enable auto-gc mode"
 msgstr "자동 가비지컬렉터 모드를 사용합니다"
 
-#: builtin/gc.c:331
+#: builtin/gc.c:338
 msgid "force running gc even if there may be another gc running"
 msgstr "이미 가비지컬렉터가 실행 중이더라도 강제로 가비지컬렉터를 실행합니다"
 
-#: builtin/gc.c:373
+#: builtin/gc.c:380
 #, c-format
 msgid "Auto packing the repository in background for optimum performance.\n"
 msgstr "최적 성능을 위해 백그라운드에서 자동으로 저장소의 묶음을 만듭니다.\n"
 
-#: builtin/gc.c:375
+#: builtin/gc.c:382
 #, c-format
 msgid "Auto packing the repository for optimum performance.\n"
 msgstr "최적 성능을 위해 자동으로 저장소의 묶음을 만듭니다.\n"
 
-#: builtin/gc.c:376
+#: builtin/gc.c:383
 #, c-format
 msgid "See \"git help gc\" for manual housekeeping.\n"
 msgstr "수동 관리 작업은 \"git help gc\" 내용을 참고하십시오.\n"
 
-#: builtin/gc.c:397
+#: builtin/gc.c:404
 #, c-format
 msgid ""
 "gc is already running on machine '%s' pid %<PRIuMAX> (use --force if not)"
@@ -7686,240 +8084,256 @@
 "가비지컬렉터가 이미 '%s' 컴퓨터에서 %<PRIuMAX> PID로 실행 중입니다 (아니면 --"
 "force를 사용하십시오)"
 
-#: builtin/gc.c:441
+#: builtin/gc.c:448
 msgid ""
 "There are too many unreachable loose objects; run 'git prune' to remove them."
 msgstr ""
 "느슨한 오브젝트가 너무 많습니다. 제거하려면 'git prune'을 실행하십시오."
 
-#: builtin/grep.c:23
+#: builtin/grep.c:25
 msgid "git grep [<options>] [-e] <pattern> [<rev>...] [[--] <path>...]"
 msgstr "git grep [<옵션>] [-e] <패턴> [<리비전>...] [[--] <경로>...]"
 
-#: builtin/grep.c:219
+#: builtin/grep.c:232
 #, c-format
 msgid "grep: failed to create thread: %s"
 msgstr "grep: 스레드를 만드는데 실패했습니다: %s"
 
-#: builtin/grep.c:277
+#: builtin/grep.c:290
 #, c-format
 msgid "invalid number of threads specified (%d) for %s"
 msgstr "잘못된 스레드 수를 %2$s에 대해 지정했습니다 (%1$d)"
 
-#: builtin/grep.c:453 builtin/grep.c:488
+#: builtin/grep.c:763 builtin/grep.c:804
 #, c-format
 msgid "unable to read tree (%s)"
 msgstr "트리를 읽을 수 없습니다 (%s)"
 
-#: builtin/grep.c:503
+#: builtin/grep.c:823
 #, c-format
 msgid "unable to grep from object of type %s"
 msgstr "종류가 %s인 오브젝트에서 grep을 할 수 없습니다"
 
-#: builtin/grep.c:561
+#: builtin/grep.c:887
 #, c-format
 msgid "switch `%c' expects a numerical value"
 msgstr "`%c' 옵션에는 숫자 값이 와야 합니다"
 
-#: builtin/grep.c:647
+#: builtin/grep.c:973
 msgid "search in index instead of in the work tree"
 msgstr "작업 폴더 대신에 인덱스에서 검색합니다"
 
-#: builtin/grep.c:649
+#: builtin/grep.c:975
 msgid "find in contents not managed by git"
 msgstr "깃으로 관리하지 않은 내용에서 찾습니다"
 
-#: builtin/grep.c:651
+#: builtin/grep.c:977
 msgid "search in both tracked and untracked files"
 msgstr "추적되는 파일과 추적되지 않는 파일 모두에서 검색합니다"
 
-#: builtin/grep.c:653
+#: builtin/grep.c:979
 msgid "ignore files specified via '.gitignore'"
 msgstr "'.gitignore'로 지정한 파일을 무시합니다"
 
-#: builtin/grep.c:656
+#: builtin/grep.c:981
+msgid "recursivley search in each submodule"
+msgstr "하위 모듈에 재귀적으로 검색합니다"
+
+#: builtin/grep.c:983
+msgid "basename"
+msgstr "베이스이름"
+
+#: builtin/grep.c:984
+msgid "prepend parent project's basename to output"
+msgstr "프로젝트의 베이스일므을 출력 앞에 붙입니다"
+
+#: builtin/grep.c:987
 msgid "show non-matching lines"
 msgstr "일치하지 않는 줄을 표시합니다"
 
-#: builtin/grep.c:658
+#: builtin/grep.c:989
 msgid "case insensitive matching"
-msgstr "대소문자 구별하지 않고 맞춥니다"
+msgstr "대소문자 구별하지 않고 비교합니다"
 
-#: builtin/grep.c:660
+#: builtin/grep.c:991
 msgid "match patterns only at word boundaries"
 msgstr "단어 경계 부분에 대해서만 패턴을 맞춥니다"
 
-#: builtin/grep.c:662
+#: builtin/grep.c:993
 msgid "process binary files as text"
 msgstr "바이너리 파일을 텍스트로 처리합니다"
 
-#: builtin/grep.c:664
+#: builtin/grep.c:995
 msgid "don't match patterns in binary files"
 msgstr "바이너리 파일에서 패턴을 맞추지 않습니다"
 
-#: builtin/grep.c:667
+#: builtin/grep.c:998
 msgid "process binary files with textconv filters"
 msgstr "textconv 필터를 사용해 바이너리 파일을 처리합니다"
 
-#: builtin/grep.c:669
+#: builtin/grep.c:1000
 msgid "descend at most <depth> levels"
 msgstr "최대 <깊이> 단계만큼 내려갑니다"
 
-#: builtin/grep.c:673
+#: builtin/grep.c:1004
 msgid "use extended POSIX regular expressions"
 msgstr "POSIX 확장 정규식을 사용합니다"
 
-#: builtin/grep.c:676
+#: builtin/grep.c:1007
 msgid "use basic POSIX regular expressions (default)"
 msgstr "기본 POSIX 정규식을 사용합니다 (기본값)"
 
-#: builtin/grep.c:679
+#: builtin/grep.c:1010
 msgid "interpret patterns as fixed strings"
 msgstr "패턴을 고정 문자열로 해석합니다"
 
-#: builtin/grep.c:682
+#: builtin/grep.c:1013
 msgid "use Perl-compatible regular expressions"
 msgstr "펄과 호환되는 정규식을 사용합니다"
 
-#: builtin/grep.c:685
+#: builtin/grep.c:1016
 msgid "show line numbers"
 msgstr "줄 번호를 표시합니다"
 
-#: builtin/grep.c:686
+#: builtin/grep.c:1017
 msgid "don't show filenames"
 msgstr "파일 이름을 표시하지 않습니다"
 
-#: builtin/grep.c:687
+#: builtin/grep.c:1018
 msgid "show filenames"
 msgstr "파일 이름을 표시합니다"
 
-#: builtin/grep.c:689
+#: builtin/grep.c:1020
 msgid "show filenames relative to top directory"
 msgstr "파일 이름을 최상위 디렉터리 상대 경로로 표시합니다"
 
-#: builtin/grep.c:691
+#: builtin/grep.c:1022
 msgid "show only filenames instead of matching lines"
 msgstr "일치하는 줄을 표시하지 않고 파일 이름만 표시합니다"
 
-#: builtin/grep.c:693
+#: builtin/grep.c:1024
 msgid "synonym for --files-with-matches"
 msgstr "--files-with-matches 옵션과 동일"
 
-#: builtin/grep.c:696
+#: builtin/grep.c:1027
 msgid "show only the names of files without match"
 msgstr "일치하지 않는 파일의 이름만 표시합니다"
 
-#: builtin/grep.c:698
+#: builtin/grep.c:1029
 msgid "print NUL after filenames"
 msgstr "파일 이름 다음에 NUL을 출력합니다"
 
-#: builtin/grep.c:700
+#: builtin/grep.c:1031
 msgid "show the number of matches instead of matching lines"
 msgstr "일치하는 줄을 표시하지 않고 일치하는 수를 표시합니다"
 
-#: builtin/grep.c:701
+#: builtin/grep.c:1032
 msgid "highlight matches"
 msgstr "일치하는 부분을 강조합니다"
 
-#: builtin/grep.c:703
+#: builtin/grep.c:1034
 msgid "print empty line between matches from different files"
 msgstr "다른 파일 사이에 일치하는 부분의 사이에 빈 줄을 출력합니다"
 
-#: builtin/grep.c:705
+#: builtin/grep.c:1036
 msgid "show filename only once above matches from same file"
 msgstr "같은 파일에서 여러 개가 일치하면 파일 이름을 한 번만 표시합니다"
 
-#: builtin/grep.c:708
+#: builtin/grep.c:1039
 msgid "show <n> context lines before and after matches"
 msgstr "일치하는 부분 앞뒤에 컨텍스트를 <n>줄 표시합니다"
 
-#: builtin/grep.c:711
+#: builtin/grep.c:1042
 msgid "show <n> context lines before matches"
 msgstr "일치하는 부분 앞에 컨텍스트를 <n>줄 표시합니다"
 
-#: builtin/grep.c:713
+#: builtin/grep.c:1044
 msgid "show <n> context lines after matches"
 msgstr "일치하는 부분 뒤에 컨텍스트를 <n>줄 표시합니다"
 
-#: builtin/grep.c:715
+#: builtin/grep.c:1046
 msgid "use <n> worker threads"
 msgstr "<n>개의 작업 스레드를 사용합니다"
 
-#: builtin/grep.c:716
+#: builtin/grep.c:1047
 msgid "shortcut for -C NUM"
 msgstr "-C NUM 옵션의 줄임"
 
-#: builtin/grep.c:719
+#: builtin/grep.c:1050
 msgid "show a line with the function name before matches"
 msgstr "일치 항목 앞에 함수 이름 줄을 표시합니다"
 
-#: builtin/grep.c:721
+#: builtin/grep.c:1052
 msgid "show the surrounding function"
 msgstr "들어 있는 함수를 표시합니다"
 
-#: builtin/grep.c:724
+#: builtin/grep.c:1055
 msgid "read patterns from file"
 msgstr "파일에서 패턴을 읽습니다"
 
-#: builtin/grep.c:726
+#: builtin/grep.c:1057
 msgid "match <pattern>"
 msgstr "<패턴>과 일치"
 
-#: builtin/grep.c:728
+#: builtin/grep.c:1059
 msgid "combine patterns specified with -e"
 msgstr "-e 옵션으로 지정한 패턴을 결합합니다"
 
-#: builtin/grep.c:740
+#: builtin/grep.c:1071
 msgid "indicate hit with exit status without output"
 msgstr "출력하지 않고 일치하는 항목을 exit() 상태 번호로 리턴합니다"
 
-#: builtin/grep.c:742
+#: builtin/grep.c:1073
 msgid "show only matches from files that match all patterns"
 msgstr "모든 패턴과 일치하는 파일의 일치하는 부분만 표시합니다"
 
-#: builtin/grep.c:744
+#: builtin/grep.c:1075
 msgid "show parse tree for grep expression"
 msgstr "grep 표현식에 대한 파싱 트리를 표시합니다"
 
-#: builtin/grep.c:748
+#: builtin/grep.c:1079
 msgid "pager"
 msgstr "페이저"
 
-#: builtin/grep.c:748
+#: builtin/grep.c:1079
 msgid "show matching files in the pager"
 msgstr "일치하는 파일을 페이저 프로그램에서 표시합니다"
 
-#: builtin/grep.c:751
+#: builtin/grep.c:1082
 msgid "allow calling of grep(1) (ignored by this build)"
 msgstr "grep(1) 실행을 허용합니다 (이 빌드에서는 무시)"
 
-#: builtin/grep.c:814
+#: builtin/grep.c:1146
 msgid "no pattern given."
 msgstr "패턴을 지정하지 않았습니다."
 
-#: builtin/grep.c:846 builtin/index-pack.c:1480
+#: builtin/grep.c:1178 builtin/index-pack.c:1482
 #, c-format
 msgid "invalid number of threads specified (%d)"
 msgstr "잘못된 스레드 수를 지정했습니다 (%d)"
 
-#: builtin/grep.c:876
+#: builtin/grep.c:1215
 msgid "--open-files-in-pager only works on the worktree"
 msgstr "--open-files-in-pager 옵션은 작업 폴더에서만 동작합니다"
 
-#: builtin/grep.c:902
+#: builtin/grep.c:1238
+msgid "option not supported with --recurse-submodules."
+msgstr "--recurse-submodules와 같이 지원하지 않는 옵션입니다."
+
+#: builtin/grep.c:1244
 msgid "--cached or --untracked cannot be used with --no-index."
 msgstr ""
 "--cached 또는 --untracked 옵션은 --no-index 옵션과 같이 쓸 수 없습니다."
 
-#: builtin/grep.c:907
+#: builtin/grep.c:1249
 msgid "--no-index or --untracked cannot be used with revs."
 msgstr "--no-index 또는 --untracked 옵션은 리비전과 같이 쓸 수 없습니다."
 
-#: builtin/grep.c:910
+#: builtin/grep.c:1252
 msgid "--[no-]exclude-standard cannot be used for tracked contents."
 msgstr "--[no-]exclude-standard 옵션은 추적되는 내용에 대해 쓸 수 없습니다."
 
-#: builtin/grep.c:918
+#: builtin/grep.c:1260
 msgid "both --cached and trees are given."
 msgstr "--cached 옵션과 트리를 모두 지정했습니다."
 
@@ -8195,179 +8609,183 @@
 msgstr "심각한 inflate 부조화"
 
 #: builtin/index-pack.c:748 builtin/index-pack.c:754 builtin/index-pack.c:777
-#: builtin/index-pack.c:811 builtin/index-pack.c:820
+#: builtin/index-pack.c:813 builtin/index-pack.c:822
 #, c-format
 msgid "SHA1 COLLISION FOUND WITH %s !"
 msgstr "SHA1 충돌이 %s에서 발견되었습니다!"
 
-#: builtin/index-pack.c:751 builtin/pack-objects.c:166
-#: builtin/pack-objects.c:258
+#: builtin/index-pack.c:751 builtin/pack-objects.c:164
+#: builtin/pack-objects.c:256
 #, c-format
 msgid "unable to read %s"
 msgstr "%s을(를) 읽을 수 없습니다"
 
-#: builtin/index-pack.c:817
+#: builtin/index-pack.c:819
 #, c-format
 msgid "cannot read existing object %s"
 msgstr "기존 %s 오브젝트를 읽을 수 없습니다"
 
-#: builtin/index-pack.c:831
+#: builtin/index-pack.c:833
 #, c-format
 msgid "invalid blob object %s"
 msgstr "잘못된 블롭 오브젝트 %s"
 
-#: builtin/index-pack.c:845
+#: builtin/index-pack.c:847
 #, c-format
 msgid "invalid %s"
 msgstr "잘못된 %s"
 
-#: builtin/index-pack.c:848
+#: builtin/index-pack.c:850
 msgid "Error in object"
 msgstr "오브젝트에 오류"
 
-#: builtin/index-pack.c:850
+#: builtin/index-pack.c:852
 #, c-format
 msgid "Not all child objects of %s are reachable"
 msgstr "%s의 모든 하위 오브젝트에 접근할 수 없습니다"
 
-#: builtin/index-pack.c:922 builtin/index-pack.c:953
+#: builtin/index-pack.c:924 builtin/index-pack.c:955
 msgid "failed to apply delta"
 msgstr "델타를 적용하는데 실패했습니다"
 
-#: builtin/index-pack.c:1123
+#: builtin/index-pack.c:1125
 msgid "Receiving objects"
 msgstr "오브젝트를 받는 중"
 
-#: builtin/index-pack.c:1123
+#: builtin/index-pack.c:1125
 msgid "Indexing objects"
 msgstr "오브젝트 인덱스를 만드는 중"
 
-#: builtin/index-pack.c:1155
+#: builtin/index-pack.c:1157
 msgid "pack is corrupted (SHA1 mismatch)"
 msgstr "묶음이 손상되었습니다 (SHA1 일치하지 않음)"
 
-#: builtin/index-pack.c:1160
+#: builtin/index-pack.c:1162
 msgid "cannot fstat packfile"
 msgstr "묶음 파일에 대해 fstat()할 수 없습니다"
 
-#: builtin/index-pack.c:1163
+#: builtin/index-pack.c:1165
 msgid "pack has junk at the end"
 msgstr "묶음의 끝에 쓰레기 데이터가 있습니다"
 
-#: builtin/index-pack.c:1174
+#: builtin/index-pack.c:1176
 msgid "confusion beyond insanity in parse_pack_objects()"
 msgstr "parse_pack_objects()에서 극심한 혼란"
 
-#: builtin/index-pack.c:1197
+#: builtin/index-pack.c:1199
 msgid "Resolving deltas"
 msgstr "델타를 알아내는 중"
 
-#: builtin/index-pack.c:1208
+#: builtin/index-pack.c:1210
 #, c-format
 msgid "unable to create thread: %s"
 msgstr "스레드를 만들 수 없습니다: %s"
 
-#: builtin/index-pack.c:1250
+#: builtin/index-pack.c:1252
 msgid "confusion beyond insanity"
 msgstr "극심한 혼란"
 
-#: builtin/index-pack.c:1256
+#: builtin/index-pack.c:1258
 #, c-format
 msgid "completed with %d local object"
 msgid_plural "completed with %d local objects"
 msgstr[0] "로컬 오브젝트 %d개 마침"
 
-#: builtin/index-pack.c:1268
+#: builtin/index-pack.c:1270
 #, c-format
 msgid "Unexpected tail checksum for %s (disk corruption?)"
 msgstr "%s에 대해 예상치 못한 테일 체크섬 (디스크 손상?)"
 
-#: builtin/index-pack.c:1272
+#: builtin/index-pack.c:1274
 #, c-format
 msgid "pack has %d unresolved delta"
 msgid_plural "pack has %d unresolved deltas"
 msgstr[0] "묶음에 알아내지 못한 델타 %d개가 있습니다"
 
-#: builtin/index-pack.c:1296
+#: builtin/index-pack.c:1298
 #, c-format
 msgid "unable to deflate appended object (%d)"
 msgstr "추가한 오브젝트를 deflate할 수 없습니다 (%d)"
 
-#: builtin/index-pack.c:1372
+#: builtin/index-pack.c:1374
 #, c-format
 msgid "local object %s is corrupt"
 msgstr "%s 로컬 오브젝트가 손상되었습니다"
 
-#: builtin/index-pack.c:1396
+#: builtin/index-pack.c:1398
 msgid "error while closing pack file"
 msgstr "묶음 파일을 닫는데 오류"
 
-#: builtin/index-pack.c:1409
+#: builtin/index-pack.c:1411
 #, c-format
 msgid "cannot write keep file '%s'"
 msgstr "'%s' 보존 파일을 쓸 수 없습니다"
 
-#: builtin/index-pack.c:1417
+#: builtin/index-pack.c:1419
 #, c-format
 msgid "cannot close written keep file '%s'"
 msgstr "쓴 '%s' 보존 파일을 닫지 못했습니다"
 
-#: builtin/index-pack.c:1430
+#: builtin/index-pack.c:1432
 msgid "cannot store pack file"
 msgstr "묶음 파일을 저장할 수 없습니다"
 
-#: builtin/index-pack.c:1441
+#: builtin/index-pack.c:1443
 msgid "cannot store index file"
 msgstr "인덱스 파일을 저장할 수 없습니다"
 
-#: builtin/index-pack.c:1474
+#: builtin/index-pack.c:1476
 #, c-format
 msgid "bad pack.indexversion=%<PRIu32>"
 msgstr "잘못된 pack.indexversion=%<PRIu32>"
 
-#: builtin/index-pack.c:1484 builtin/index-pack.c:1681
+#: builtin/index-pack.c:1486 builtin/index-pack.c:1683
 #, c-format
 msgid "no threads support, ignoring %s"
 msgstr "스레드 기능이 없습니다. %s 무시"
 
-#: builtin/index-pack.c:1542
+#: builtin/index-pack.c:1544
 #, c-format
 msgid "Cannot open existing pack file '%s'"
 msgstr "기존 '%s' 묶음 파일을 열 수 없습니다"
 
-#: builtin/index-pack.c:1544
+#: builtin/index-pack.c:1546
 #, c-format
 msgid "Cannot open existing pack idx file for '%s'"
 msgstr "'%s'에 대한 기존 묶음 idx 파일을 열 수 없습니다"
 
-#: builtin/index-pack.c:1591
+#: builtin/index-pack.c:1593
 #, c-format
 msgid "non delta: %d object"
 msgid_plural "non delta: %d objects"
 msgstr[0] "델타 아님: 오브젝트 %d개"
 
-#: builtin/index-pack.c:1598
+#: builtin/index-pack.c:1600
 #, c-format
 msgid "chain length = %d: %lu object"
 msgid_plural "chain length = %d: %lu objects"
 msgstr[0] "체인 길이 = %d: 오브젝트 %lu개"
 
-#: builtin/index-pack.c:1611
+#: builtin/index-pack.c:1613
 #, c-format
 msgid "packfile name '%s' does not end with '.pack'"
 msgstr "'%s' 묶음파일 이름이 '.pack'으로 끝나지 않습니다"
 
-#: builtin/index-pack.c:1693 builtin/index-pack.c:1696
-#: builtin/index-pack.c:1712 builtin/index-pack.c:1716
+#: builtin/index-pack.c:1695 builtin/index-pack.c:1698
+#: builtin/index-pack.c:1714 builtin/index-pack.c:1718
 #, c-format
 msgid "bad %s"
 msgstr "잘못된 %s"
 
-#: builtin/index-pack.c:1732
+#: builtin/index-pack.c:1734
 msgid "--fix-thin cannot be used without --stdin"
 msgstr "--fix-thin 옵션은 --stdin 옵션과 같이 쓸 수 없습니다"
 
-#: builtin/index-pack.c:1740
+#: builtin/index-pack.c:1736
+msgid "--stdin requires a git repository"
+msgstr "--stdin 옵션은 깃 저장소가 필요합니다"
+
+#: builtin/index-pack.c:1744
 msgid "--verify with no packfile name given"
 msgstr "--verify 옵션에 묶음파일 이름을 지정하지 않았습니다"
 
@@ -8615,7 +9033,7 @@
 msgid "Unknown commit %s"
 msgstr "알 수 없는 커밋 %s"
 
-#: builtin/log.c:1258 builtin/notes.c:884 builtin/tag.c:455
+#: builtin/log.c:1258 builtin/notes.c:884 builtin/tag.c:476
 #, c-format
 msgid "Failed to resolve '%s' as a valid ref."
 msgstr "'%s'을(를) 올바른 레퍼런스로 알아내는데 실패했습니다."
@@ -8849,103 +9267,103 @@
 "추적되는 리모트 브랜치를 찾을 수 없습니다. <업스트림>을 수동으로 지정하십시"
 "오.\n"
 
-#: builtin/ls-files.c:458
+#: builtin/ls-files.c:460
 msgid "git ls-files [<options>] [<file>...]"
 msgstr "git ls-files [<옵션>] [<파일>...]"
 
-#: builtin/ls-files.c:507
+#: builtin/ls-files.c:509
 msgid "identify the file status with tags"
 msgstr "파일 상태를 태그와 같이 표시합니다"
 
-#: builtin/ls-files.c:509
+#: builtin/ls-files.c:511
 msgid "use lowercase letters for 'assume unchanged' files"
 msgstr "'변경되지 않았다고 가정' 파일에 소문자를 사용합니다"
 
-#: builtin/ls-files.c:511
+#: builtin/ls-files.c:513
 msgid "show cached files in the output (default)"
 msgstr "출력에 캐시된 파일을 표시합니다 (기본값)"
 
-#: builtin/ls-files.c:513
+#: builtin/ls-files.c:515
 msgid "show deleted files in the output"
 msgstr "출력에 삭제된 파일을 표시합니다"
 
-#: builtin/ls-files.c:515
+#: builtin/ls-files.c:517
 msgid "show modified files in the output"
 msgstr "출력에 수정된 파일을 표시합니다"
 
-#: builtin/ls-files.c:517
+#: builtin/ls-files.c:519
 msgid "show other files in the output"
 msgstr "출력에 기타 파일을 표시합니다"
 
-#: builtin/ls-files.c:519
+#: builtin/ls-files.c:521
 msgid "show ignored files in the output"
 msgstr "출력에 무시된 파일을 표시합니다"
 
-#: builtin/ls-files.c:522
+#: builtin/ls-files.c:524
 msgid "show staged contents' object name in the output"
 msgstr "출력에 커밋 표시된 내용의 오브젝트 이름을 표시합니다"
 
-#: builtin/ls-files.c:524
+#: builtin/ls-files.c:526
 msgid "show files on the filesystem that need to be removed"
 msgstr "파일 시스템에서 제거해야 하는 파일을 표시합니다"
 
-#: builtin/ls-files.c:526
+#: builtin/ls-files.c:528
 msgid "show 'other' directories' names only"
 msgstr "기타 디렉터리의 이름만 표시합니다"
 
-#: builtin/ls-files.c:528
+#: builtin/ls-files.c:530
 msgid "show line endings of files"
 msgstr "파일의 줄 끝을 표시합니다"
 
-#: builtin/ls-files.c:530
+#: builtin/ls-files.c:532
 msgid "don't show empty directories"
 msgstr "빈 디렉터리 표시하지 않기"
 
-#: builtin/ls-files.c:533
+#: builtin/ls-files.c:535
 msgid "show unmerged files in the output"
 msgstr "출력에 병합하지 않은 파일을 표시합니다"
 
-#: builtin/ls-files.c:535
+#: builtin/ls-files.c:537
 msgid "show resolve-undo information"
 msgstr "resolve-undo 정보를 표시합니다"
 
-#: builtin/ls-files.c:537
+#: builtin/ls-files.c:539
 msgid "skip files matching pattern"
 msgstr "패턴에 일치하는 파일을 건너뜁니다"
 
-#: builtin/ls-files.c:540
+#: builtin/ls-files.c:542
 msgid "exclude patterns are read from <file>"
 msgstr "제외할 패턴을 <파일>에서 읽습니다"
 
-#: builtin/ls-files.c:543
+#: builtin/ls-files.c:545
 msgid "read additional per-directory exclude patterns in <file>"
 msgstr "<파일>에서 추가적인 디렉터리별 제외 패턴을 읽습니다"
 
-#: builtin/ls-files.c:545
+#: builtin/ls-files.c:547
 msgid "add the standard git exclusions"
 msgstr "표준 깃 제외 패턴을 추가합니다"
 
-#: builtin/ls-files.c:548
+#: builtin/ls-files.c:550
 msgid "make the output relative to the project top directory"
 msgstr "최상위 디렉터리 상대 경로로 출력합니다"
 
-#: builtin/ls-files.c:551
+#: builtin/ls-files.c:553
 msgid "recurse through submodules"
 msgstr "하위 모듈에 재귀적으로 적용"
 
-#: builtin/ls-files.c:553
+#: builtin/ls-files.c:555
 msgid "if any <file> is not in the index, treat this as an error"
 msgstr "<파일>이 인덱스 안에 없으면 오류로 취급합니다"
 
-#: builtin/ls-files.c:554
+#: builtin/ls-files.c:556
 msgid "tree-ish"
 msgstr "트리-따위"
 
-#: builtin/ls-files.c:555
+#: builtin/ls-files.c:557
 msgid "pretend that paths removed since <tree-ish> are still present"
 msgstr "<트리-따위> 뒤로 제거한 경로가 있다고 가정합니다"
 
-#: builtin/ls-files.c:557
+#: builtin/ls-files.c:559
 msgid "show debugging data"
 msgstr "디버깅 데이터를 표시합니다"
 
@@ -8999,35 +9417,35 @@
 msgid "git ls-tree [<options>] <tree-ish> [<path>...]"
 msgstr "git ls-tree [<옵션>] <트리-따위> [<경로>...]"
 
-#: builtin/ls-tree.c:128
+#: builtin/ls-tree.c:126
 msgid "only show trees"
 msgstr "트리만 표시"
 
-#: builtin/ls-tree.c:130
+#: builtin/ls-tree.c:128
 msgid "recurse into subtrees"
 msgstr "하위 트리로 재귀적으로 적용"
 
-#: builtin/ls-tree.c:132
+#: builtin/ls-tree.c:130
 msgid "show trees when recursing"
 msgstr "재귀적으로 적용할 때 트리 표시"
 
-#: builtin/ls-tree.c:135
+#: builtin/ls-tree.c:133
 msgid "terminate entries with NUL byte"
 msgstr "항목을 NUL 바이트로 끝냅니다"
 
-#: builtin/ls-tree.c:136
+#: builtin/ls-tree.c:134
 msgid "include object size"
 msgstr "오브젝트 크기 포함"
 
-#: builtin/ls-tree.c:138 builtin/ls-tree.c:140
+#: builtin/ls-tree.c:136 builtin/ls-tree.c:138
 msgid "list only filenames"
 msgstr "파일 이름만 목록 표시"
 
-#: builtin/ls-tree.c:143
+#: builtin/ls-tree.c:141
 msgid "use full path names"
 msgstr "전체 경로 이름 사용"
 
-#: builtin/ls-tree.c:145
+#: builtin/ls-tree.c:143
 msgid "list entire tree; not just current directory (implies --full-name)"
 msgstr "전체 트리 목록 표시, 현재 디렉터리만 아니라 (--full-name 옵션 포함)"
 
@@ -9043,161 +9461,169 @@
 msgid "git merge --abort"
 msgstr "git merge --abort"
 
-#: builtin/merge.c:102
+#: builtin/merge.c:49
+msgid "git merge --continue"
+msgstr "git merge --continue"
+
+#: builtin/merge.c:104
 msgid "switch `m' requires a value"
 msgstr "`m' 옵션에는 값이 필요합니다"
 
-#: builtin/merge.c:139
+#: builtin/merge.c:141
 #, c-format
 msgid "Could not find merge strategy '%s'.\n"
 msgstr "'%s' 병합 전략을 찾을 수 없습니다.\n"
 
-#: builtin/merge.c:140
+#: builtin/merge.c:142
 #, c-format
 msgid "Available strategies are:"
 msgstr "사용 가능한 전략은:"
 
-#: builtin/merge.c:145
+#: builtin/merge.c:147
 #, c-format
 msgid "Available custom strategies are:"
 msgstr "사용 가능한 사용자 설정 전략은:"
 
-#: builtin/merge.c:195 builtin/pull.c:127
+#: builtin/merge.c:197 builtin/pull.c:127
 msgid "do not show a diffstat at the end of the merge"
 msgstr "병합이 끝날 때 diffstat을 표시하지 않습니다"
 
-#: builtin/merge.c:198 builtin/pull.c:130
+#: builtin/merge.c:200 builtin/pull.c:130
 msgid "show a diffstat at the end of the merge"
 msgstr "병합이 끝날 때 diffstat을 표시합니다"
 
-#: builtin/merge.c:199 builtin/pull.c:133
+#: builtin/merge.c:201 builtin/pull.c:133
 msgid "(synonym to --stat)"
 msgstr "(--stat 옵션과 동일)"
 
-#: builtin/merge.c:201 builtin/pull.c:136
+#: builtin/merge.c:203 builtin/pull.c:136
 msgid "add (at most <n>) entries from shortlog to merge commit message"
 msgstr "병합 커밋의 메시지에 shortlog 항목을 (최대 <n>개) 추가합니다"
 
-#: builtin/merge.c:204 builtin/pull.c:139
+#: builtin/merge.c:206 builtin/pull.c:139
 msgid "create a single commit instead of doing a merge"
 msgstr "병합하는 대신 하나의 커밋을 만듭니다"
 
-#: builtin/merge.c:206 builtin/pull.c:142
+#: builtin/merge.c:208 builtin/pull.c:142
 msgid "perform a commit if the merge succeeds (default)"
 msgstr "병합이 성공하면 커밋을 합니다 (기본값)"
 
-#: builtin/merge.c:208 builtin/pull.c:145
+#: builtin/merge.c:210 builtin/pull.c:145
 msgid "edit message before committing"
 msgstr "커밋 전에 메시지를 편집합니다"
 
-#: builtin/merge.c:209
+#: builtin/merge.c:211
 msgid "allow fast-forward (default)"
 msgstr "정방향 진행을 허용합니다 (기본값)"
 
-#: builtin/merge.c:211 builtin/pull.c:151
+#: builtin/merge.c:213 builtin/pull.c:151
 msgid "abort if fast-forward is not possible"
 msgstr "정방향 진행이 불가능하면 중지합니다"
 
-#: builtin/merge.c:215 builtin/pull.c:154
+#: builtin/merge.c:217 builtin/pull.c:154
 msgid "verify that the named commit has a valid GPG signature"
 msgstr "지정한 커밋에 올바른 GPG 서명이 있는지 검증합니다"
 
-#: builtin/merge.c:216 builtin/notes.c:774 builtin/pull.c:158
+#: builtin/merge.c:218 builtin/notes.c:774 builtin/pull.c:158
 #: builtin/revert.c:89
 msgid "strategy"
 msgstr "전략"
 
-#: builtin/merge.c:217 builtin/pull.c:159
+#: builtin/merge.c:219 builtin/pull.c:159
 msgid "merge strategy to use"
 msgstr "사용할 병합 전략"
 
-#: builtin/merge.c:218 builtin/pull.c:162
+#: builtin/merge.c:220 builtin/pull.c:162
 msgid "option=value"
 msgstr "옵션=값"
 
-#: builtin/merge.c:219 builtin/pull.c:163
+#: builtin/merge.c:221 builtin/pull.c:163
 msgid "option for selected merge strategy"
 msgstr "선택한 병합 전략에 대한 옵션"
 
-#: builtin/merge.c:221
+#: builtin/merge.c:223
 msgid "merge commit message (for a non-fast-forward merge)"
 msgstr "병합 커밋 메시지 (정방향이 아닌 병합에 대해)"
 
-#: builtin/merge.c:225
+#: builtin/merge.c:227
 msgid "abort the current in-progress merge"
 msgstr "현재 진행 중인 병합을 중지합니다"
 
-#: builtin/merge.c:227 builtin/pull.c:170
+#: builtin/merge.c:229
+msgid "continue the current in-progress merge"
+msgstr "현재 진행 중인 병합을 계속합니다"
+
+#: builtin/merge.c:231 builtin/pull.c:170
 msgid "allow merging unrelated histories"
 msgstr "관계 없는 커밋 내역의 병합을 허용합니다"
 
-#: builtin/merge.c:255
+#: builtin/merge.c:259
 msgid "could not run stash."
 msgstr "stash를 실행할 수 없습니다."
 
-#: builtin/merge.c:260
+#: builtin/merge.c:264
 msgid "stash failed"
 msgstr "스태시 실패"
 
-#: builtin/merge.c:265
+#: builtin/merge.c:269
 #, c-format
 msgid "not a valid object: %s"
 msgstr "올바른 오브젝트가 아닙니다: %s"
 
-#: builtin/merge.c:284 builtin/merge.c:301
+#: builtin/merge.c:288 builtin/merge.c:305
 msgid "read-tree failed"
 msgstr "read-tree 실패"
 
-#: builtin/merge.c:331
+#: builtin/merge.c:335
 msgid " (nothing to squash)"
 msgstr " (합칠 내용이 없습니다)"
 
-#: builtin/merge.c:342
+#: builtin/merge.c:346
 #, c-format
 msgid "Squash commit -- not updating HEAD\n"
 msgstr "커밋 합치기 -- HEAD를 업데이트하지 않습니다\n"
 
-#: builtin/merge.c:392
+#: builtin/merge.c:396
 #, c-format
 msgid "No merge message -- not updating HEAD\n"
 msgstr "병합 메시지가 없습니다 -- HEAD를 업데이트하지 않습니다\n"
 
-#: builtin/merge.c:443
+#: builtin/merge.c:447
 #, c-format
 msgid "'%s' does not point to a commit"
 msgstr "'%s'이(가) 커밋을 가리키지 않습니다"
 
-#: builtin/merge.c:533
+#: builtin/merge.c:537
 #, c-format
 msgid "Bad branch.%s.mergeoptions string: %s"
 msgstr "잘못된 branch.%s.mergeoptions 문자열: %s"
 
-#: builtin/merge.c:652
+#: builtin/merge.c:656
 msgid "Not handling anything other than two heads merge."
 msgstr "두 개의 헤드 병합 외에는 처리하지 않습니다."
 
-#: builtin/merge.c:666
+#: builtin/merge.c:670
 #, c-format
 msgid "Unknown option for merge-recursive: -X%s"
 msgstr "merge-recursive에 대해 알 수 없는 옵션: -X%s"
 
-#: builtin/merge.c:681
+#: builtin/merge.c:685
 #, c-format
 msgid "unable to write %s"
 msgstr "%s에 쓸 수 없습니다"
 
-#: builtin/merge.c:733
+#: builtin/merge.c:737
 #, c-format
 msgid "Could not read from '%s'"
 msgstr "'%s'에서 읽을 수 없습니다"
 
-#: builtin/merge.c:742
+#: builtin/merge.c:746
 #, c-format
 msgid "Not committing merge; use 'git commit' to complete the merge.\n"
 msgstr ""
 "병합을 커밋하지 않습니다. 병합을 마치려면 'git commit'을 사용하십시오.\n"
 
-#: builtin/merge.c:748
+#: builtin/merge.c:752
 #, c-format
 msgid ""
 "Please enter a commit message to explain why this merge is necessary,\n"
@@ -9213,66 +9639,78 @@
 "'%c' 문자로 시작하는 줄은 무시되고, 메시지가 비어 있으면 커밋을\n"
 "중지합니다.\n"
 
-#: builtin/merge.c:772
+#: builtin/merge.c:776
 msgid "Empty commit message."
 msgstr "빈 커밋 메시지."
 
-#: builtin/merge.c:792
+#: builtin/merge.c:796
 #, c-format
 msgid "Wonderful.\n"
 msgstr "훌륭합니다.\n"
 
-#: builtin/merge.c:847
+#: builtin/merge.c:851
 #, c-format
 msgid "Automatic merge failed; fix conflicts and then commit the result.\n"
 msgstr "자동 병합이 실패했습니다. 충돌을 바로잡고 결과물을 커밋하십시오.\n"
 
-#: builtin/merge.c:863
+#: builtin/merge.c:867
 #, c-format
 msgid "'%s' is not a commit"
 msgstr "'%s'은(는) 커밋이 아닙니다"
 
-#: builtin/merge.c:904
+#: builtin/merge.c:908
 msgid "No current branch."
 msgstr "현재 브랜치가 없습니다."
 
-#: builtin/merge.c:906
+#: builtin/merge.c:910
 msgid "No remote for the current branch."
 msgstr "현재 브랜치에 대한 리모트가 없습니다."
 
-#: builtin/merge.c:908
+#: builtin/merge.c:912
 msgid "No default upstream defined for the current branch."
 msgstr "현재 브랜치에 대해 기본 업스트림을 지정하지 않았습니다."
 
-#: builtin/merge.c:913
+#: builtin/merge.c:917
 #, c-format
 msgid "No remote-tracking branch for %s from %s"
 msgstr "리모트 %2$s에서 %1$s에 대한 리모트 추적 브랜치가 없습니다"
 
-#: builtin/merge.c:960
+#: builtin/merge.c:964
 #, c-format
 msgid "Bad value '%s' in environment '%s'"
 msgstr "잘못된 값 '%s', 환경 '%s'"
 
-#: builtin/merge.c:1034
+#: builtin/merge.c:1038
 #, c-format
 msgid "could not close '%s'"
 msgstr "'%s'을(를) 닫을 수 없습니다"
 
-#: builtin/merge.c:1061
+#: builtin/merge.c:1065
 #, c-format
 msgid "not something we can merge in %s: %s"
 msgstr "%s 안에서 병합할 수 있는 항목이 아닙니다: %s"
 
-#: builtin/merge.c:1095
+#: builtin/merge.c:1099
 msgid "not something we can merge"
 msgstr "병합할 수 있는 항목이 아닙니다"
 
-#: builtin/merge.c:1162
+#: builtin/merge.c:1167
+msgid "--abort expects no arguments"
+msgstr "--abort 옵션은 인자를 받지 않습니다"
+
+#: builtin/merge.c:1171
 msgid "There is no merge to abort (MERGE_HEAD missing)."
 msgstr "중지할 병합 작업이 없습니다. (MERGE_HEAD가 없음)"
 
-#: builtin/merge.c:1178
+#: builtin/merge.c:1183
+msgid "--continue expects no arguments"
+msgstr "--continue 옵션은 인자를 받지 않습니다"
+
+#: builtin/merge.c:1187
+msgid "There is no merge in progress (MERGE_HEAD missing)."
+msgstr "진행 중인 병합 작업이 없습니다. (MERGE_HEAD가 없음)"
+
+#: builtin/merge.c:1203
 msgid ""
 "You have not concluded your merge (MERGE_HEAD exists).\n"
 "Please, commit your changes before you merge."
@@ -9280,7 +9718,7 @@
 "병합을 마치지 않았습니다. (MERGE_HEAD 있음)\n"
 "병합하기 전에 변경 사항을 커밋하십시오."
 
-#: builtin/merge.c:1185
+#: builtin/merge.c:1210
 msgid ""
 "You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists).\n"
 "Please, commit your changes before you merge."
@@ -9288,112 +9726,112 @@
 "커밋 빼오기를 마치지 않았습니다. (COMMIT_PICK_HEAD 있음)\n"
 "병합하기 전에 변경 사항을 커밋하십시오."
 
-#: builtin/merge.c:1188
+#: builtin/merge.c:1213
 msgid "You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists)."
 msgstr "커밋 빼오기를 마치지 않았습니다. (CHERRY_PICK_HEAD 있음)"
 
-#: builtin/merge.c:1197
+#: builtin/merge.c:1222
 msgid "You cannot combine --squash with --no-ff."
 msgstr "--squash 옵션을 --no-ff 옵션과 같이 쓸 수 없습니다."
 
-#: builtin/merge.c:1205
+#: builtin/merge.c:1230
 msgid "No commit specified and merge.defaultToUpstream not set."
 msgstr "커밋을 지정하지 않았고  merge.defaultToUpstream를 설정하지 않았습니다."
 
-#: builtin/merge.c:1222
+#: builtin/merge.c:1247
 msgid "Squash commit into empty head not supported yet"
 msgstr "빈 헤드로 커밋을 합치기는 지원하지 않습니다"
 
-#: builtin/merge.c:1224
+#: builtin/merge.c:1249
 msgid "Non-fast-forward commit does not make sense into an empty head"
 msgstr "정방향이 아닌 커밋은 빈 헤드에서는 앞뒤가 맞지 않습니다"
 
-#: builtin/merge.c:1229
+#: builtin/merge.c:1254
 #, c-format
 msgid "%s - not something we can merge"
 msgstr "%s - 병합할 수 있는 항목이 아닙니다"
 
-#: builtin/merge.c:1231
+#: builtin/merge.c:1256
 msgid "Can merge only exactly one commit into empty head"
 msgstr "빈 헤드에는 정확히 하나의 커밋만 병합할 수 있습니다"
 
-#: builtin/merge.c:1287
+#: builtin/merge.c:1312
 #, c-format
 msgid "Commit %s has an untrusted GPG signature, allegedly by %s."
 msgstr "%s 커밋에 신뢰하지 않는 (서명자가 %s라고 하는) GPG 서명이 있습니다."
 
-#: builtin/merge.c:1290
+#: builtin/merge.c:1315
 #, c-format
 msgid "Commit %s has a bad GPG signature allegedly by %s."
 msgstr "%s 커밋에 잘못된 (서명자가 %s라고 하는) GPG 서명이 있습니다."
 
-#: builtin/merge.c:1293
+#: builtin/merge.c:1318
 #, c-format
 msgid "Commit %s does not have a GPG signature."
 msgstr "%s 커밋에 GPG 서명이 없습니다."
 
-#: builtin/merge.c:1296
+#: builtin/merge.c:1321
 #, c-format
 msgid "Commit %s has a good GPG signature by %s\n"
 msgstr "%s 커밋에 %s의 올바른 GPG 서명이 없습니다\n"
 
-#: builtin/merge.c:1358
+#: builtin/merge.c:1383
 msgid "refusing to merge unrelated histories"
 msgstr "관계 없는 커밋 내역의 병합을 거부합니다"
 
-#: builtin/merge.c:1367
+#: builtin/merge.c:1392
 msgid "Already up-to-date."
 msgstr "이미 업데이트 상태입니다."
 
-#: builtin/merge.c:1377
+#: builtin/merge.c:1402
 #, c-format
 msgid "Updating %s..%s\n"
 msgstr "업데이트 중 %s..%s\n"
 
-#: builtin/merge.c:1418
+#: builtin/merge.c:1443
 #, c-format
 msgid "Trying really trivial in-index merge...\n"
 msgstr "아주 간단한 인덱스 내부 병합을 시도합니다...\n"
 
-#: builtin/merge.c:1425
+#: builtin/merge.c:1450
 #, c-format
 msgid "Nope.\n"
 msgstr "아님.\n"
 
-#: builtin/merge.c:1450
+#: builtin/merge.c:1475
 msgid "Already up-to-date. Yeeah!"
 msgstr "이미 업데이트 상태입니다. 야호!"
 
-#: builtin/merge.c:1456
+#: builtin/merge.c:1481
 msgid "Not possible to fast-forward, aborting."
 msgstr "정방향이 불가능하므로, 중지합니다."
 
-#: builtin/merge.c:1479 builtin/merge.c:1558
+#: builtin/merge.c:1504 builtin/merge.c:1583
 #, c-format
 msgid "Rewinding the tree to pristine...\n"
 msgstr "트리를 본래 위치로 되돌립니다...\n"
 
-#: builtin/merge.c:1483
+#: builtin/merge.c:1508
 #, c-format
 msgid "Trying merge strategy %s...\n"
 msgstr "병합 전략 %s 시도...\n"
 
-#: builtin/merge.c:1549
+#: builtin/merge.c:1574
 #, c-format
 msgid "No merge strategy handled the merge.\n"
 msgstr "병합을 처리한 전략이 없습니다.\n"
 
-#: builtin/merge.c:1551
+#: builtin/merge.c:1576
 #, c-format
 msgid "Merge with strategy %s failed.\n"
 msgstr "전략 %s(으)로 병합이 실패했습니다.\n"
 
-#: builtin/merge.c:1560
+#: builtin/merge.c:1585
 #, c-format
 msgid "Using the %s to prepare resolving by hand.\n"
 msgstr "수동 해결의 준비를 위해 %s 전략을 사용합니다.\n"
 
-#: builtin/merge.c:1572
+#: builtin/merge.c:1597
 #, c-format
 msgid "Automatic merge went well; stopped before committing as requested\n"
 msgstr "자동 병합이 잘 진행되었습니다. 요청한대로 커밋 전에 중지합니다\n"
@@ -9524,94 +9962,94 @@
 msgid "allow creation of more than one tree"
 msgstr "여러개 트리 만들기를 허용합니다"
 
-#: builtin/mv.c:15
+#: builtin/mv.c:16
 msgid "git mv [<options>] <source>... <destination>"
 msgstr "git mv [<옵션>] <원본>... <대상>"
 
-#: builtin/mv.c:70
+#: builtin/mv.c:82
 #, c-format
 msgid "Directory %s is in index and no submodule?"
 msgstr "%s 디렉터리가 인덱스에 있고 하위 모듈이 없습니다?"
 
-#: builtin/mv.c:72 builtin/rm.c:317
+#: builtin/mv.c:84 builtin/rm.c:290
 msgid "Please stage your changes to .gitmodules or stash them to proceed"
 msgstr "계속하려면 .gitmodules의 변경 사항을 스테이지에 넣거나 스태시 하십시오"
 
-#: builtin/mv.c:90
+#: builtin/mv.c:102
 #, c-format
 msgid "%.*s is in index"
 msgstr "%.*s이(가) 인덱스에 있습니다"
 
-#: builtin/mv.c:112
+#: builtin/mv.c:124
 msgid "force move/rename even if target exists"
 msgstr "대상이 이미 있어도 강제로 옮기기/이름 바꾸기를 합니다"
 
-#: builtin/mv.c:113
+#: builtin/mv.c:125
 msgid "skip move/rename errors"
 msgstr "옮기기/이름 바꾸기 오류를 건너 뜁니다"
 
-#: builtin/mv.c:155
+#: builtin/mv.c:167
 #, c-format
 msgid "destination '%s' is not a directory"
 msgstr "대상이 ('%s') 디렉터리가 아닙니다"
 
-#: builtin/mv.c:166
+#: builtin/mv.c:178
 #, c-format
 msgid "Checking rename of '%s' to '%s'\n"
 msgstr "'%s'을(를) '%s'(으)로 이름 바꾸기합니다\n"
 
-#: builtin/mv.c:170
+#: builtin/mv.c:182
 msgid "bad source"
 msgstr "잘못된 원본"
 
-#: builtin/mv.c:173
+#: builtin/mv.c:185
 msgid "can not move directory into itself"
 msgstr "디렉터리를 자기 자신으로 옮길 수 없습니다"
 
-#: builtin/mv.c:176
+#: builtin/mv.c:188
 msgid "cannot move directory over file"
 msgstr "디렉터리를 파일로 옮길 수 없습니다"
 
-#: builtin/mv.c:185
+#: builtin/mv.c:197
 msgid "source directory is empty"
 msgstr "원본 디렉터리가 비어 있습니다"
 
-#: builtin/mv.c:210
+#: builtin/mv.c:222
 msgid "not under version control"
 msgstr "버전 컨트롤 중이 아닙니다"
 
-#: builtin/mv.c:213
+#: builtin/mv.c:225
 msgid "destination exists"
 msgstr "대상이 있습니다"
 
-#: builtin/mv.c:221
+#: builtin/mv.c:233
 #, c-format
 msgid "overwriting '%s'"
 msgstr "'%s' 덮어쓰기"
 
-#: builtin/mv.c:224
+#: builtin/mv.c:236
 msgid "Cannot overwrite"
 msgstr "덮어쓸 수 없습니다"
 
-#: builtin/mv.c:227
+#: builtin/mv.c:239
 msgid "multiple sources for the same target"
 msgstr "동일한 대상에 대해 여러 개 원본"
 
-#: builtin/mv.c:229
+#: builtin/mv.c:241
 msgid "destination directory does not exist"
 msgstr "대상 디렉터리가 없습니다"
 
-#: builtin/mv.c:236
+#: builtin/mv.c:248
 #, c-format
 msgid "%s, source=%s, destination=%s"
 msgstr "%s, 원본=%s, 대상=%s"
 
-#: builtin/mv.c:257
+#: builtin/mv.c:269
 #, c-format
 msgid "Renaming %s to %s\n"
 msgstr "이름 바꾸기, '%s'에서 '%s'(으)로\n"
 
-#: builtin/mv.c:263 builtin/remote.c:710 builtin/repack.c:375
+#: builtin/mv.c:275 builtin/remote.c:710 builtin/repack.c:384
 #, c-format
 msgid "renaming '%s' failed"
 msgstr "'%s'의 이름 바꾸기가 실패했습니다"
@@ -9798,12 +10236,12 @@
 msgid "the note contents have been left in %s"
 msgstr "노트 내용은 %s에 남습니다"
 
-#: builtin/notes.c:233 builtin/tag.c:439
+#: builtin/notes.c:233 builtin/tag.c:460
 #, c-format
 msgid "cannot read '%s'"
 msgstr "'%s'을(를) 읽을 수 없습니다"
 
-#: builtin/notes.c:235 builtin/tag.c:442
+#: builtin/notes.c:235 builtin/tag.c:463
 #, c-format
 msgid "could not open or read '%s'"
 msgstr "'%s'을(를) 열거나 읽을 수 없습니다"
@@ -10081,176 +10519,176 @@
 "git pack-objects [<옵션>...] <베이스이름> [< <레퍼런스목록> | < <오브젝트목록"
 ">]"
 
-#: builtin/pack-objects.c:179 builtin/pack-objects.c:182
+#: builtin/pack-objects.c:177 builtin/pack-objects.c:180
 #, c-format
 msgid "deflate error (%d)"
 msgstr "deflate 오류 (%d)"
 
-#: builtin/pack-objects.c:768
+#: builtin/pack-objects.c:766
 msgid "disabling bitmap writing, packs are split due to pack.packSizeLimit"
 msgstr ""
 "배트맵 쓰기를 하지 않습니다. 묶음은 pack.packSizeLimit 값에 따라 쪼개집니다"
 
-#: builtin/pack-objects.c:781
+#: builtin/pack-objects.c:779
 msgid "Writing objects"
 msgstr "오브젝트 쓰는 중"
 
-#: builtin/pack-objects.c:1070
+#: builtin/pack-objects.c:1068
 msgid "disabling bitmap writing, as some objects are not being packed"
 msgstr "묶음에 들어있지 않은 오브젝트가 있으므로, 비트맵 쓰기를 하지 않습니다"
 
-#: builtin/pack-objects.c:2346
+#: builtin/pack-objects.c:2344
 msgid "Compressing objects"
 msgstr "오브젝트 압축하는 중"
 
-#: builtin/pack-objects.c:2759
+#: builtin/pack-objects.c:2747
 #, c-format
 msgid "unsupported index version %s"
 msgstr "지원하지 않는 인덱스 버전 %s"
 
-#: builtin/pack-objects.c:2763
+#: builtin/pack-objects.c:2751
 #, c-format
 msgid "bad index version '%s'"
 msgstr "잘못된 인덱스 버전 '%s'"
 
-#: builtin/pack-objects.c:2793
+#: builtin/pack-objects.c:2781
 msgid "do not show progress meter"
 msgstr "진행률을 표시하지 않습니다"
 
-#: builtin/pack-objects.c:2795
+#: builtin/pack-objects.c:2783
 msgid "show progress meter"
 msgstr "진행률을 표시합니다"
 
-#: builtin/pack-objects.c:2797
+#: builtin/pack-objects.c:2785
 msgid "show progress meter during object writing phase"
 msgstr "오브젝트 쓰기 단계에서 진행률을 표시합니다"
 
-#: builtin/pack-objects.c:2800
+#: builtin/pack-objects.c:2788
 msgid "similar to --all-progress when progress meter is shown"
 msgstr "진행률이 표시될 때 --all-progress와 비슷합니다"
 
-#: builtin/pack-objects.c:2801
+#: builtin/pack-objects.c:2789
 msgid "version[,offset]"
 msgstr "버전[,오프셋]"
 
-#: builtin/pack-objects.c:2802
+#: builtin/pack-objects.c:2790
 msgid "write the pack index file in the specified idx format version"
 msgstr "지정한 버전의 인덱스 형식에 따라 묶음 인덱스 파일을 씁니다"
 
-#: builtin/pack-objects.c:2805
+#: builtin/pack-objects.c:2793
 msgid "maximum size of each output pack file"
 msgstr "출력 묶음 파일의 최대 크기"
 
-#: builtin/pack-objects.c:2807
+#: builtin/pack-objects.c:2795
 msgid "ignore borrowed objects from alternate object store"
 msgstr "보조 오브젝트 저장소에서 빌려온 오브젝트를 무시합니다"
 
-#: builtin/pack-objects.c:2809
+#: builtin/pack-objects.c:2797
 msgid "ignore packed objects"
 msgstr "묶음 오브젝트를 무시합니다"
 
-#: builtin/pack-objects.c:2811
+#: builtin/pack-objects.c:2799
 msgid "limit pack window by objects"
 msgstr "묶음 윈도우를 오브젝트 단위로 제한합니다"
 
-#: builtin/pack-objects.c:2813
+#: builtin/pack-objects.c:2801
 msgid "limit pack window by memory in addition to object limit"
 msgstr "묶음 윈도우를 오브젝트 단위에 추가로 메모리 단위로 제한합니다"
 
-#: builtin/pack-objects.c:2815
+#: builtin/pack-objects.c:2803
 msgid "maximum length of delta chain allowed in the resulting pack"
 msgstr "결과물 묶음에서 허용되는 최대 길이의 델타 체인"
 
-#: builtin/pack-objects.c:2817
+#: builtin/pack-objects.c:2805
 msgid "reuse existing deltas"
 msgstr "기존 델타를 재사용합니다"
 
-#: builtin/pack-objects.c:2819
+#: builtin/pack-objects.c:2807
 msgid "reuse existing objects"
 msgstr "기존 오브젝트를 재사용합니다"
 
-#: builtin/pack-objects.c:2821
+#: builtin/pack-objects.c:2809
 msgid "use OFS_DELTA objects"
 msgstr "OFS_DELTA 오브젝트를 사용합니다"
 
-#: builtin/pack-objects.c:2823
+#: builtin/pack-objects.c:2811
 msgid "use threads when searching for best delta matches"
 msgstr "최상의 델타 일치를 검색하는데 스레드를 사용합니다"
 
-#: builtin/pack-objects.c:2825
+#: builtin/pack-objects.c:2813
 msgid "do not create an empty pack output"
 msgstr "빈 묶음 출력을 만들지 않습니다"
 
-#: builtin/pack-objects.c:2827
+#: builtin/pack-objects.c:2815
 msgid "read revision arguments from standard input"
 msgstr "표준 입력에서 리비전 인자를 읽습니다"
 
-#: builtin/pack-objects.c:2829
+#: builtin/pack-objects.c:2817
 msgid "limit the objects to those that are not yet packed"
 msgstr "묶지 않는 오브젝트 수를 제한합니다"
 
-#: builtin/pack-objects.c:2832
+#: builtin/pack-objects.c:2820
 msgid "include objects reachable from any reference"
 msgstr "모든 레퍼런스에서 접근 가능한 오브젝트를 포함합니다"
 
-#: builtin/pack-objects.c:2835
+#: builtin/pack-objects.c:2823
 msgid "include objects referred by reflog entries"
 msgstr "reflog 항목에서 레퍼런스할 수 있는 오브젝트를 포함합니다"
 
-#: builtin/pack-objects.c:2838
+#: builtin/pack-objects.c:2826
 msgid "include objects referred to by the index"
 msgstr "인덱스에서< 레퍼런스하는 오브젝트를 포함합니다"
 
-#: builtin/pack-objects.c:2841
+#: builtin/pack-objects.c:2829
 msgid "output pack to stdout"
 msgstr "묶음을 표준 출력으로 출력합니다"
 
-#: builtin/pack-objects.c:2843
+#: builtin/pack-objects.c:2831
 msgid "include tag objects that refer to objects to be packed"
 msgstr "묶음에 들어갈 오브젝트를 레퍼런스하는 태그 오브젝트를 포함합니다"
 
-#: builtin/pack-objects.c:2845
+#: builtin/pack-objects.c:2833
 msgid "keep unreachable objects"
 msgstr "접근 불가능 오브젝트를 보존합니다"
 
-#: builtin/pack-objects.c:2847
+#: builtin/pack-objects.c:2835
 msgid "pack loose unreachable objects"
 msgstr "느슨한 접근 불가능 오브젝트를 묶습니다"
 
-#: builtin/pack-objects.c:2849
+#: builtin/pack-objects.c:2837
 msgid "unpack unreachable objects newer than <time>"
 msgstr "<시각>보다 새로운 접근 불가능 오브젝트의 묶음을 풉니다"
 
-#: builtin/pack-objects.c:2852
+#: builtin/pack-objects.c:2840
 msgid "create thin packs"
 msgstr "얇은 묶음을 만듭니다"
 
-#: builtin/pack-objects.c:2854
+#: builtin/pack-objects.c:2842
 msgid "create packs suitable for shallow fetches"
 msgstr "얕은 가져오기에 적합한 묶음을 만듭니다"
 
-#: builtin/pack-objects.c:2856
+#: builtin/pack-objects.c:2844
 msgid "ignore packs that have companion .keep file"
 msgstr "해당하는 .keep 파일이 있는 묶음을 무시합니다"
 
-#: builtin/pack-objects.c:2858
+#: builtin/pack-objects.c:2846
 msgid "pack compression level"
 msgstr "묶음 압축 단계"
 
 # FIXME: graft?
-#: builtin/pack-objects.c:2860
+#: builtin/pack-objects.c:2848
 msgid "do not hide commits by grafts"
 msgstr "붙어 있는 커밋을 숨기지 않습니다"
 
-#: builtin/pack-objects.c:2862
+#: builtin/pack-objects.c:2850
 msgid "use a bitmap index if available to speed up counting objects"
 msgstr "가능하면 비트맵 인덱스를 사용해 오브젝트 세기 속도를 높입니다"
 
-#: builtin/pack-objects.c:2864
+#: builtin/pack-objects.c:2852
 msgid "write a bitmap index together with the pack index"
 msgstr "묶음 인덱스와 같이 비트맵 인덱스를 씁니다"
 
-#: builtin/pack-objects.c:2993
+#: builtin/pack-objects.c:2979
 msgid "Counting objects"
 msgstr "오브젝트 개수 세는 중"
 
@@ -10278,13 +10716,13 @@
 msgid "git prune [-n] [-v] [--expire <time>] [--] [<head>...]"
 msgstr "git prune [-n] [-v] [--expire <시각>] [--] [<헤드>...]"
 
-#: builtin/prune.c:106 builtin/worktree.c:128
+#: builtin/prune.c:106
 msgid "report pruned objects"
 msgstr "잘라낸 오브젝트를 알립니다"
 
-#: builtin/prune.c:109 builtin/worktree.c:130
+#: builtin/prune.c:109
 msgid "expire objects older than <time>"
-msgstr "<시각>보다 오래 된 오브젝트가 만료됩니다"
+msgstr "<시각>보다 오래 된 오브젝트를 만료합니다"
 
 #: builtin/prune.c:123
 msgid "cannot prune in a precious-objects repo"
@@ -10379,7 +10817,7 @@
 msgid "<remote>"
 msgstr "<리모트>"
 
-#: builtin/pull.c:415 builtin/pull.c:430 builtin/pull.c:435 git-rebase.sh:451
+#: builtin/pull.c:415 builtin/pull.c:430 builtin/pull.c:435 git-rebase.sh:455
 #: git-parse-remote.sh:65
 msgid "<branch>"
 msgstr "<브랜치>"
@@ -10549,13 +10987,13 @@
 "'%s' 브랜치의 업스트림이 아닙니다. 어떤 리모트 브랜치에 무엇을\n"
 "푸시할지 설정하지 않았습니다."
 
-#: builtin/push.c:242
+#: builtin/push.c:245
 msgid ""
 "You didn't specify any refspecs to push, and push.default is \"nothing\"."
 msgstr ""
 "푸시할 레퍼런스명세를 지정하지 않았고, push.default 값이 'nothing'입니다."
 
-#: builtin/push.c:249
+#: builtin/push.c:252
 msgid ""
 "Updates were rejected because the tip of your current branch is behind\n"
 "its remote counterpart. Integrate the remote changes (e.g.\n"
@@ -10568,7 +11006,7 @@
 "자세한 정보는 'git push --help'의 \"Note about fast-forwards' 부분을\n"
 "참고하십시오."
 
-#: builtin/push.c:255
+#: builtin/push.c:258
 msgid ""
 "Updates were rejected because a pushed branch tip is behind its remote\n"
 "counterpart. Check out this branch and integrate the remote changes\n"
@@ -10581,7 +11019,7 @@
 "자세한 정보는 'git push --help'의 \"Note about fast-forwards' 부분을\n"
 "참고하십시오."
 
-#: builtin/push.c:261
+#: builtin/push.c:264
 msgid ""
 "Updates were rejected because the remote contains work that you do\n"
 "not have locally. This is usually caused by another repository pushing\n"
@@ -10597,11 +11035,11 @@
 "자세한 정보는 'git push --help'의 \"Note about fast-forwards' 부분을\n"
 "참고하십시오."
 
-#: builtin/push.c:268
+#: builtin/push.c:271
 msgid "Updates were rejected because the tag already exists in the remote."
 msgstr "리모트에 태그가 이미 있기 때문에 업데이트가 거부되었습니다."
 
-#: builtin/push.c:271
+#: builtin/push.c:274
 msgid ""
 "You cannot update a remote ref that points at a non-commit object,\n"
 "or update a remote ref to make it point at a non-commit object,\n"
@@ -10611,22 +11049,22 @@
 "레퍼런스를 업데이트하거나, 커밋이 아닌 오브젝트를 가리키도록\n"
 "업데이트할 수 없습니다.\n"
 
-#: builtin/push.c:331
+#: builtin/push.c:334
 #, c-format
 msgid "Pushing to %s\n"
 msgstr "다음에 푸시: %s\n"
 
-#: builtin/push.c:335
+#: builtin/push.c:338
 #, c-format
 msgid "failed to push some refs to '%s'"
 msgstr "레퍼런스를 '%s'에 푸시하는데 실패했습니다"
 
-#: builtin/push.c:366
+#: builtin/push.c:369
 #, c-format
 msgid "bad repository '%s'"
 msgstr "잘못된 저장소 '%s'"
 
-#: builtin/push.c:367
+#: builtin/push.c:370
 msgid ""
 "No configured push destination.\n"
 "Either specify the URL from the command-line or configure a remote "
@@ -10647,112 +11085,112 @@
 "\n"
 "    git push <name>\n"
 
-#: builtin/push.c:385
+#: builtin/push.c:388
 msgid "--all and --tags are incompatible"
 msgstr "--all 및 --tags 옵션은 호환되지 않습니다"
 
-#: builtin/push.c:386
+#: builtin/push.c:389
 msgid "--all can't be combined with refspecs"
 msgstr "--all 옵션은 레퍼런스명세와 같이 쓸 수 없습니다"
 
-#: builtin/push.c:391
+#: builtin/push.c:394
 msgid "--mirror and --tags are incompatible"
 msgstr "--mirror 및 --tags 옵션은 호환되지 않습니다"
 
-#: builtin/push.c:392
+#: builtin/push.c:395
 msgid "--mirror can't be combined with refspecs"
 msgstr "--mirror 옵션은 레퍼런스명세와 같이 쓸 수 없습니다"
 
-#: builtin/push.c:397
+#: builtin/push.c:400
 msgid "--all and --mirror are incompatible"
 msgstr "--all 및 --mirror 옵션은 호환되지 않습니다"
 
-#: builtin/push.c:515
+#: builtin/push.c:518
 msgid "repository"
 msgstr "저장소"
 
-#: builtin/push.c:516 builtin/send-pack.c:161
+#: builtin/push.c:519 builtin/send-pack.c:161
 msgid "push all refs"
 msgstr "모든 레퍼런스 푸시하기"
 
-#: builtin/push.c:517 builtin/send-pack.c:163
+#: builtin/push.c:520 builtin/send-pack.c:163
 msgid "mirror all refs"
 msgstr "모든 레퍼런스 미러"
 
-#: builtin/push.c:519
+#: builtin/push.c:522
 msgid "delete refs"
 msgstr "레퍼런스 삭제"
 
-#: builtin/push.c:520
+#: builtin/push.c:523
 msgid "push tags (can't be used with --all or --mirror)"
 msgstr "태그 푸시하기 (--all 또는 --mirror 옵션과 같이 쓸 수 없음)"
 
-#: builtin/push.c:523 builtin/send-pack.c:164
+#: builtin/push.c:526 builtin/send-pack.c:164
 msgid "force updates"
 msgstr "강제로 업데이트"
 
-#: builtin/push.c:525 builtin/send-pack.c:175
+#: builtin/push.c:528 builtin/send-pack.c:175
 msgid "refname>:<expect"
 msgstr "레퍼런스이름>:<예상"
 
-#: builtin/push.c:526 builtin/send-pack.c:176
+#: builtin/push.c:529 builtin/send-pack.c:176
 msgid "require old value of ref to be at this value"
 msgstr "레퍼런스의 과거 값이 이 값이어야 합니다"
 
-#: builtin/push.c:529
+#: builtin/push.c:532
 msgid "control recursive pushing of submodules"
 msgstr "재귀적 하위 모듈 푸시 방식을 설정합니다"
 
-#: builtin/push.c:531 builtin/send-pack.c:169
+#: builtin/push.c:534 builtin/send-pack.c:169
 msgid "use thin pack"
 msgstr "얇은 묶음을 사용합니다"
 
-#: builtin/push.c:532 builtin/push.c:533 builtin/send-pack.c:158
+#: builtin/push.c:535 builtin/push.c:536 builtin/send-pack.c:158
 #: builtin/send-pack.c:159
 msgid "receive pack program"
 msgstr "receive pack 프로그램"
 
-#: builtin/push.c:534
+#: builtin/push.c:537
 msgid "set upstream for git pull/status"
 msgstr "git pull/status에 대한 업스트림을 설정합니다"
 
-#: builtin/push.c:537
+#: builtin/push.c:540
 msgid "prune locally removed refs"
 msgstr "로컬에서 제거한 레퍼런스를 잘라냅니다"
 
-#: builtin/push.c:539
+#: builtin/push.c:542
 msgid "bypass pre-push hook"
 msgstr "푸시 전 후크를 건너뜁니다"
 
-#: builtin/push.c:540
+#: builtin/push.c:543
 msgid "push missing but relevant tags"
 msgstr "빠졌지만 관련된 태그를 푸시합니다"
 
-#: builtin/push.c:543 builtin/send-pack.c:166
+#: builtin/push.c:546 builtin/send-pack.c:166
 msgid "GPG sign the push"
 msgstr "푸시에 GPG 서명"
 
-#: builtin/push.c:545 builtin/send-pack.c:170
+#: builtin/push.c:548 builtin/send-pack.c:170
 msgid "request atomic transaction on remote side"
 msgstr "리모트 쪽에 원자 트랜잭션을 요청합니다"
 
-#: builtin/push.c:546
+#: builtin/push.c:549
 msgid "server-specific"
 msgstr "서버-전용-옵션"
 
-#: builtin/push.c:546
+#: builtin/push.c:549
 msgid "option to transmit"
 msgstr "전송할 옵션"
 
-#: builtin/push.c:560
+#: builtin/push.c:563
 msgid "--delete is incompatible with --all, --mirror and --tags"
 msgstr "--delete 옵션은 --all, --mirror, --tags 옵션과 호환되지 않습니다"
 
-#: builtin/push.c:562
+#: builtin/push.c:565
 msgid "--delete doesn't make sense without any refs"
 msgstr "--delete 옵션은 레퍼런스 없이 앞뒤가 맞지 않습니다"
 
-#: builtin/push.c:579
+#: builtin/push.c:584
 msgid "push options must not have new line characters"
 msgstr "푸시 옵션에는 줄바꿈 문자가 들어갈 수 없습니다"
 
@@ -10841,8 +11279,8 @@
 "with what you pushed, and will require 'git reset --hard' to match\n"
 "the work tree to HEAD.\n"
 "\n"
-"You can set 'receive.denyCurrentBranch' configuration variable to\n"
-"'ignore' or 'warn' in the remote repository to allow pushing into\n"
+"You can set the 'receive.denyCurrentBranch' configuration variable\n"
+"to 'ignore' or 'warn' in the remote repository to allow pushing into\n"
 "its current branch; however, this is not recommended unless you\n"
 "arranged to update its work tree to match what you pushed in some\n"
 "other way.\n"
@@ -11402,84 +11840,92 @@
 msgid "git repack [<options>]"
 msgstr "git repack [<옵션>]"
 
-#: builtin/repack.c:160
+#: builtin/repack.c:22
+msgid ""
+"Incremental repacks are incompatible with bitmap indexes.  Use\n"
+"--no-write-bitmap-index or disable the pack.writebitmaps configuration."
+msgstr ""
+"점진적인 repack은 비트맵 인덱스와 호환되지 않습니다.\n"
+"--no-write-bitmap-index를 사용하거나 pack.writebitmaps 설정을 끄십시오."
+
+#: builtin/repack.c:166
 msgid "pack everything in a single pack"
 msgstr "하나의 묶음 안에 모두 묶습니다"
 
-#: builtin/repack.c:162
+#: builtin/repack.c:168
 msgid "same as -a, and turn unreachable objects loose"
 msgstr "-a와 동일하고, 접근 불가능 오브젝트를 느슨하게 바꿉니다"
 
-#: builtin/repack.c:165
+#: builtin/repack.c:171
 msgid "remove redundant packs, and run git-prune-packed"
 msgstr "여분의 묶음을 제거하고, git-prune-packed를 실행합니다"
 
-#: builtin/repack.c:167
+#: builtin/repack.c:173
 msgid "pass --no-reuse-delta to git-pack-objects"
 msgstr "git-pack-objects에 --no-reuse-delta 옵션을 넘깁니다"
 
-#: builtin/repack.c:169
+#: builtin/repack.c:175
 msgid "pass --no-reuse-object to git-pack-objects"
 msgstr "git-pack-objects에 --no-reuse-object 옵션을 넘깁니다"
 
-#: builtin/repack.c:171
+#: builtin/repack.c:177
 msgid "do not run git-update-server-info"
 msgstr "git-update-server-info를 실행하지 않습니다"
 
-#: builtin/repack.c:174
+#: builtin/repack.c:180
 msgid "pass --local to git-pack-objects"
 msgstr "git-pack-objects에 --local 옵션을 넘깁니다"
 
-#: builtin/repack.c:176
+#: builtin/repack.c:182
 msgid "write bitmap index"
 msgstr "비트맵 인덱스를 씁니다"
 
-#: builtin/repack.c:177
+#: builtin/repack.c:183
 msgid "approxidate"
 msgstr "대략의시각"
 
-#: builtin/repack.c:178
+#: builtin/repack.c:184
 msgid "with -A, do not loosen objects older than this"
 msgstr ""
 "-A에 추가로, 지정한 시각보다 오래된 오브젝트를 느슨하게 만들지 않습니다"
 
-#: builtin/repack.c:180
+#: builtin/repack.c:186
 msgid "with -a, repack unreachable objects"
 msgstr "-a와 같이, 접근 불가능 오브젝트를 다시 묶습니다"
 
-#: builtin/repack.c:182
+#: builtin/repack.c:188
 msgid "size of the window used for delta compression"
 msgstr "델타 압축에 사용할 윈도우 크기"
 
-#: builtin/repack.c:183 builtin/repack.c:187
+#: builtin/repack.c:189 builtin/repack.c:193
 msgid "bytes"
 msgstr "바이트수"
 
-#: builtin/repack.c:184
+#: builtin/repack.c:190
 msgid "same as the above, but limit memory size instead of entries count"
 msgstr "위와 동일하지만, 항목 수 대신 메모리 크기를 제한합니다"
 
-#: builtin/repack.c:186
+#: builtin/repack.c:192
 msgid "limits the maximum delta depth"
 msgstr "최대 델타 깊이를 제한합니다"
 
-#: builtin/repack.c:188
+#: builtin/repack.c:194
 msgid "maximum size of each packfile"
 msgstr "묶음 파일의 최대 크기"
 
-#: builtin/repack.c:190
+#: builtin/repack.c:196
 msgid "repack objects in packs marked with .keep"
 msgstr ".keep으로 표시된 묶음의 오브젝트를 다시 묶습니다"
 
-#: builtin/repack.c:200
+#: builtin/repack.c:206
 msgid "cannot delete packs in a precious-objects repo"
 msgstr "precious-objects 저장소의 묶음을 삭제할 수 없습니다"
 
-#: builtin/repack.c:204
+#: builtin/repack.c:210
 msgid "--keep-unreachable and -A are incompatible"
 msgstr "--keep-unreachable 및 -A 옵션은 호환되지 않습니다"
 
-#: builtin/repack.c:391 builtin/worktree.c:115
+#: builtin/repack.c:400 builtin/worktree.c:115
 #, c-format
 msgid "failed to remove '%s'"
 msgstr "'%s' 제거에 실패했습니다"
@@ -11709,23 +12155,23 @@
 msgid "rev-list does not support display of notes"
 msgstr "rev-list는 노트 표시를 지원하지 않습니다"
 
-#: builtin/rev-parse.c:386
+#: builtin/rev-parse.c:391
 msgid "git rev-parse --parseopt [<options>] -- [<args>...]"
 msgstr "git rev-parse --parseopt [<옵션>] -- [<인자>...]"
 
-#: builtin/rev-parse.c:391
+#: builtin/rev-parse.c:396
 msgid "keep the `--` passed as an arg"
 msgstr "인자로 넘긴 `--`를 유지합니다"
 
-#: builtin/rev-parse.c:393
+#: builtin/rev-parse.c:398
 msgid "stop parsing after the first non-option argument"
 msgstr "첫번째 옵션이 아닌 인자 뒤에 파싱을 중지합니다"
 
-#: builtin/rev-parse.c:396
+#: builtin/rev-parse.c:401
 msgid "output in stuck long form"
 msgstr "stuck long 형식으로 출력합니다"
 
-#: builtin/rev-parse.c:527
+#: builtin/rev-parse.c:532
 msgid ""
 "git rev-parse --parseopt [<options>] -- [<args>...]\n"
 "   or: git rev-parse --sq-quote [<arg>...]\n"
@@ -11826,26 +12272,7 @@
 msgid "git rm [<options>] [--] <file>..."
 msgstr "git rm [<옵션>] [--] <파일>..."
 
-#: builtin/rm.c:65
-msgid ""
-"the following submodule (or one of its nested submodules)\n"
-"uses a .git directory:"
-msgid_plural ""
-"the following submodules (or one of their nested submodules)\n"
-"use a .git directory:"
-msgstr[0] ""
-"다음 하위 모듈이 (또는 그 내부 하위 모듈이) .git\n"
-"디렉터리를 사용합니다:"
-
-#: builtin/rm.c:71
-msgid ""
-"\n"
-"(use 'rm -rf' if you really want to remove it including all of its history)"
-msgstr ""
-"\n"
-"(정말로 그 커밋 내역까지 포함해 제거하려면 'rm -rf'를 사용하십시오)"
-
-#: builtin/rm.c:230
+#: builtin/rm.c:205
 msgid ""
 "the following file has staged content different from both the\n"
 "file and the HEAD:"
@@ -11856,7 +12283,7 @@
 "다음 파일에 파일과 HEAD 모두 다른 스테이징한 내용이\n"
 "있습니다:"
 
-#: builtin/rm.c:235
+#: builtin/rm.c:210
 msgid ""
 "\n"
 "(use -f to force removal)"
@@ -11864,12 +12291,12 @@
 "\n"
 "(강제로 제거하려면 -f 옵션을 사용하십시오)"
 
-#: builtin/rm.c:239
+#: builtin/rm.c:214
 msgid "the following file has changes staged in the index:"
 msgid_plural "the following files have changes staged in the index:"
 msgstr[0] "다음 파일이 인덱스에 스테이징한 변경 사항이 있습니다:"
 
-#: builtin/rm.c:243 builtin/rm.c:254
+#: builtin/rm.c:218 builtin/rm.c:227
 msgid ""
 "\n"
 "(use --cached to keep the file, or -f to force removal)"
@@ -11877,41 +12304,46 @@
 "\n"
 "(파일을 유지하려면 --cached 옵션, 강제로 제거하려면 -f 옵션을 사용하십시오)"
 
-#: builtin/rm.c:251
+#: builtin/rm.c:224
 msgid "the following file has local modifications:"
 msgid_plural "the following files have local modifications:"
 msgstr[0] "다음 파일에 로컬 수정 사항이 있습니다:"
 
-#: builtin/rm.c:269
+#: builtin/rm.c:242
 msgid "do not list removed files"
 msgstr "제거한 파일 목록을 표시하지 않습니다"
 
-#: builtin/rm.c:270
+#: builtin/rm.c:243
 msgid "only remove from the index"
 msgstr "인덱스에서만 제거합니다"
 
-#: builtin/rm.c:271
+#: builtin/rm.c:244
 msgid "override the up-to-date check"
 msgstr "최신 버전 확인을 하지 않습니다"
 
-#: builtin/rm.c:272
+#: builtin/rm.c:245
 msgid "allow recursive removal"
 msgstr "재귀적 제거를 허용합니다"
 
-#: builtin/rm.c:274
+#: builtin/rm.c:247
 msgid "exit with a zero status even if nothing matched"
 msgstr "아무 것도 일치하지 않으면 상태 0번으로 끝납니다"
 
-#: builtin/rm.c:335
+#: builtin/rm.c:308
 #, c-format
 msgid "not removing '%s' recursively without -r"
 msgstr "-r 옵션이 없으면 재귀적으로 '%s'을(를) 제거하지 않습니다"
 
-#: builtin/rm.c:374
+#: builtin/rm.c:347
 #, c-format
 msgid "git rm: unable to remove %s"
 msgstr "git rm: %s을(를) 제거할 수 없습니다"
 
+#: builtin/rm.c:370
+#, c-format
+msgid "could not remove '%s'"
+msgstr "'%s'을(를) 제거할 수 없습니다"
+
 #: builtin/send-pack.c:18
 msgid ""
 "git send-pack [--all | --mirror] [--dry-run] [--force] [--receive-pack=<git-"
@@ -11944,23 +12376,27 @@
 msgid "git shortlog [<options>] [<revision-range>] [[--] [<path>...]]"
 msgstr "git shortlog [<옵션>] [<리비전-범위>] [[--] [<경로>...]]"
 
-#: builtin/shortlog.c:242
+#: builtin/shortlog.c:249
+msgid "Group by committer rather than author"
+msgstr "작성자가 아닌 커미터로 묶습니다"
+
+#: builtin/shortlog.c:251
 msgid "sort output according to the number of commits per author"
 msgstr "작성자별 커밋 수에 따라 정렬합니다"
 
-#: builtin/shortlog.c:244
+#: builtin/shortlog.c:253
 msgid "Suppress commit descriptions, only provides commit count"
 msgstr "커밋 설명을 생략하고, 커밋 수만 표시합니다"
 
-#: builtin/shortlog.c:246
+#: builtin/shortlog.c:255
 msgid "Show the email address of each author"
 msgstr "작성자의 전자메일 주소를 표시합니다"
 
-#: builtin/shortlog.c:247
+#: builtin/shortlog.c:256
 msgid "w[,i1[,i2]]"
 msgstr "w[,i1[,i2]]"
 
-#: builtin/shortlog.c:248
+#: builtin/shortlog.c:257
 msgid "Linewrap output"
 msgstr "줄바꿈 출력"
 
@@ -12109,35 +12545,35 @@
 msgid "git show-ref --exclude-existing[=<pattern>]"
 msgstr "git show-ref --exclude-existing[=<패턴>]"
 
-#: builtin/show-ref.c:165
+#: builtin/show-ref.c:159
 msgid "only show tags (can be combined with heads)"
 msgstr "태그만 표시 (헤드와 결합 가능)"
 
-#: builtin/show-ref.c:166
+#: builtin/show-ref.c:160
 msgid "only show heads (can be combined with tags)"
 msgstr "헤드만 표시 (태그와 결합 가능)"
 
-#: builtin/show-ref.c:167
+#: builtin/show-ref.c:161
 msgid "stricter reference checking, requires exact ref path"
 msgstr "더 엄격한 레퍼런스 검사, 정확히 하나의 레퍼런스 경로 필요"
 
-#: builtin/show-ref.c:170 builtin/show-ref.c:172
+#: builtin/show-ref.c:164 builtin/show-ref.c:166
 msgid "show the HEAD reference, even if it would be filtered out"
 msgstr "HEAD 레퍼런스를 표시합니다 (필터링되서 제외되더라도)"
 
-#: builtin/show-ref.c:174
+#: builtin/show-ref.c:168
 msgid "dereference tags into object IDs"
 msgstr "태그를 오브젝트 ID로 따라갑니다"
 
-#: builtin/show-ref.c:176
+#: builtin/show-ref.c:170
 msgid "only show SHA1 hash using <n> digits"
 msgstr "SHA-1 표시에 <n>개의 숫자만 사용합니다"
 
-#: builtin/show-ref.c:180
+#: builtin/show-ref.c:174
 msgid "do not print results to stdout (useful with --verify)"
 msgstr "표준 출력에 결과를 표시하지 않습니다 (--verify 옵션과 사용하면 좋음)"
 
-#: builtin/show-ref.c:182
+#: builtin/show-ref.c:176
 msgid "show refs from stdin that aren't in local repository"
 msgstr "로컬 저장소에 없는 레퍼런스를 표준 입력에서 읽어 표시합니다"
 
@@ -12157,12 +12593,12 @@
 msgid "prepend comment character and space to each line"
 msgstr "각 줄의 앞에 주석 문자와 공백을 붙입니다"
 
-#: builtin/submodule--helper.c:24 builtin/submodule--helper.c:1046
+#: builtin/submodule--helper.c:24 builtin/submodule--helper.c:1062
 #, c-format
 msgid "No such ref: %s"
 msgstr "그런 레퍼런스가 없습니다: %s"
 
-#: builtin/submodule--helper.c:31 builtin/submodule--helper.c:1055
+#: builtin/submodule--helper.c:31 builtin/submodule--helper.c:1071
 #, c-format
 msgid "Expecting a full ref name, got %s"
 msgstr "전체 레퍼런스 이름이 필요하지만, 입력은 %s"
@@ -12172,8 +12608,7 @@
 msgid "cannot strip one component off url '%s'"
 msgstr "'%s' URL 하나의 단계를 잘라낼 수 없습니다"
 
-#: builtin/submodule--helper.c:282 builtin/submodule--helper.c:408
-#: builtin/submodule--helper.c:590
+#: builtin/submodule--helper.c:282 builtin/submodule--helper.c:592
 msgid "alternative anchor for relative paths"
 msgstr "상대 경로에 사용할 또다른 기준"
 
@@ -12181,84 +12616,84 @@
 msgid "git submodule--helper list [--prefix=<path>] [<path>...]"
 msgstr "git submodule--helper list [--prefix=<경로>] [<경로>...]"
 
-#: builtin/submodule--helper.c:329 builtin/submodule--helper.c:343
+#: builtin/submodule--helper.c:333 builtin/submodule--helper.c:347
 #, c-format
 msgid "No url found for submodule path '%s' in .gitmodules"
 msgstr ".gitmodules에서 하위 모듈 경로 '%s'에 대한 URL이 없습니다"
 
-#: builtin/submodule--helper.c:369
+#: builtin/submodule--helper.c:373
 #, c-format
 msgid "Failed to register url for submodule path '%s'"
 msgstr "하위 모듈 경로 '%s'에 대한 URL을 등록하는데 실패했습니다"
 
-#: builtin/submodule--helper.c:373
+#: builtin/submodule--helper.c:377
 #, c-format
 msgid "Submodule '%s' (%s) registered for path '%s'\n"
 msgstr "'%3$s' 경로에 대해 '%1$s' (%2$s) 하위 모듈 등록\n"
 
-#: builtin/submodule--helper.c:383
+#: builtin/submodule--helper.c:387
 #, c-format
 msgid "warning: command update mode suggested for submodule '%s'\n"
 msgstr "경고: '%s' 하위 모듈에 대해 커맨드 업데이트 모드가 제안되었습니다\n"
 
-#: builtin/submodule--helper.c:390
+#: builtin/submodule--helper.c:394
 #, c-format
 msgid "Failed to register update mode for submodule path '%s'"
 msgstr "'%s' 하위 모듈에 대해 업데이트 모드 등록이 실패했습니다"
 
-#: builtin/submodule--helper.c:409
+#: builtin/submodule--helper.c:410
 msgid "Suppress output for initializing a submodule"
 msgstr "하위 모듈 초기화에 출력을 하지 않습니다"
 
-#: builtin/submodule--helper.c:414
+#: builtin/submodule--helper.c:415
 msgid "git submodule--helper init [<path>]"
 msgstr "git submodule--helper init [<경로>]"
 
-#: builtin/submodule--helper.c:435
+#: builtin/submodule--helper.c:436
 msgid "git submodule--helper name <path>"
 msgstr "git submodule--helper name <경로>"
 
-#: builtin/submodule--helper.c:441
+#: builtin/submodule--helper.c:442
 #, c-format
 msgid "no submodule mapping found in .gitmodules for path '%s'"
 msgstr "경로 '%s'에 대해 .gitmodules에 있는 하위모듈 매핑이 없습니다"
 
-#: builtin/submodule--helper.c:524 builtin/submodule--helper.c:527
+#: builtin/submodule--helper.c:525 builtin/submodule--helper.c:528
 #, c-format
 msgid "submodule '%s' cannot add alternate: %s"
 msgstr "'%s' 하위 모듈에 보조 오브젝트를 추가할 수 없습니다: %s"
 
-#: builtin/submodule--helper.c:563
+#: builtin/submodule--helper.c:564
 #, c-format
 msgid "Value '%s' for submodule.alternateErrorStrategy is not recognized"
 msgstr "submodule.alternateErrorStrategy에 대한 값이('%s') 알 수 없는 값입니다"
 
-#: builtin/submodule--helper.c:570
+#: builtin/submodule--helper.c:571
 #, c-format
 msgid "Value '%s' for submodule.alternateLocation is not recognized"
 msgstr "submodule.alternateLocation에 대한 값이('%s') 알 수 없는 값입니다"
 
-#: builtin/submodule--helper.c:593
+#: builtin/submodule--helper.c:595
 msgid "where the new submodule will be cloned to"
 msgstr "새 하위 모듈을 복제할 대상 위치"
 
-#: builtin/submodule--helper.c:596
+#: builtin/submodule--helper.c:598
 msgid "name of the new submodule"
 msgstr "새 하위 모듈 이름"
 
-#: builtin/submodule--helper.c:599
+#: builtin/submodule--helper.c:601
 msgid "url where to clone the submodule from"
 msgstr "하위 모듈을 복제해 올 URL"
 
-#: builtin/submodule--helper.c:605
+#: builtin/submodule--helper.c:607
 msgid "depth for shallow clones"
 msgstr "얕은 복제에 사용할 깊이"
 
-#: builtin/submodule--helper.c:608 builtin/submodule--helper.c:964
+#: builtin/submodule--helper.c:610 builtin/submodule--helper.c:980
 msgid "force cloning progress"
 msgstr "복제 진행 상황을 항상 표시합니다"
 
-#: builtin/submodule--helper.c:613
+#: builtin/submodule--helper.c:615
 msgid ""
 "git submodule--helper clone [--prefix=<path>] [--quiet] [--reference "
 "<repository>] [--name <name>] [--depth <depth>] --url <url> --path <path>"
@@ -12266,97 +12701,92 @@
 "git submodule--helper clone [--prefix=<경로>] [--quiet] [--reference <저장소"
 ">] [--name <이름>] [--depth <깊이>] --url <url> --path <경로>"
 
-#: builtin/submodule--helper.c:638 builtin/submodule--helper.c:648
-#, c-format
-msgid "could not create directory '%s'"
-msgstr "'%s' 디렉터리를 만들 수 없습니다"
-
-#: builtin/submodule--helper.c:644
+#: builtin/submodule--helper.c:646
 #, c-format
 msgid "clone of '%s' into submodule path '%s' failed"
 msgstr "'%s'에서 하위 모듈 경로 '%s'에 복제하는데 실패했습니다"
 
-#: builtin/submodule--helper.c:660
+#: builtin/submodule--helper.c:662
 #, c-format
 msgid "cannot open file '%s'"
 msgstr "'%s' 파일을 열 수 없습니다"
 
-#: builtin/submodule--helper.c:665
+#: builtin/submodule--helper.c:667
 #, c-format
 msgid "could not close file %s"
 msgstr "%s 파일을 닫을 수 없습니다"
 
-#: builtin/submodule--helper.c:672
+#: builtin/submodule--helper.c:674
 #, c-format
 msgid "could not get submodule directory for '%s'"
 msgstr "'%s'에 대한 하위 모듈 디렉터리를 가져올 수 없습니다"
 
-#: builtin/submodule--helper.c:726
+#: builtin/submodule--helper.c:742
 #, c-format
 msgid "Submodule path '%s' not initialized"
 msgstr "'%s' 하위 모듈 경로가 초기화되지 않았습니다"
 
-#: builtin/submodule--helper.c:730
+#: builtin/submodule--helper.c:746
 msgid "Maybe you want to use 'update --init'?"
 msgstr "'update --init'을 하려고 한 것 아니었습니까?"
 
-#: builtin/submodule--helper.c:756
+#: builtin/submodule--helper.c:772
 #, c-format
 msgid "Skipping unmerged submodule %s"
 msgstr "병합하지 하위 모듈 %s 건너뜀"
 
-#: builtin/submodule--helper.c:777
+#: builtin/submodule--helper.c:793
 #, c-format
 msgid "Skipping submodule '%s'"
 msgstr "하위 모듈 '%s' 건너뜀"
 
-#: builtin/submodule--helper.c:913
+#: builtin/submodule--helper.c:929
 #, c-format
 msgid "Failed to clone '%s'. Retry scheduled"
 msgstr "'%s' 복제하는데 실패했습니다. 재시도 예정"
 
-#: builtin/submodule--helper.c:924
+#: builtin/submodule--helper.c:940
 #, c-format
 msgid "Failed to clone '%s' a second time, aborting"
 msgstr "두번째 '%s' 복제하는데 실패했습니다. 중지합니다"
 
-#: builtin/submodule--helper.c:945
+#: builtin/submodule--helper.c:961 builtin/submodule--helper.c:1105
 msgid "path into the working tree"
 msgstr "작업 폴더로 가는 경로"
 
-#: builtin/submodule--helper.c:948
+#: builtin/submodule--helper.c:964
 msgid "path into the working tree, across nested submodule boundaries"
 msgstr "작업 폴더로 가는 경로, 내장된 하위 모듈의 경계 통과"
 
-#: builtin/submodule--helper.c:952
+#: builtin/submodule--helper.c:968
 msgid "rebase, merge, checkout or none"
 msgstr "rebase, merge, checkout 또는 none"
 
-#: builtin/submodule--helper.c:956
+#: builtin/submodule--helper.c:972
 msgid "Create a shallow clone truncated to the specified number of revisions"
 msgstr "지정한 개수의 리비전에서 잘린 얕은 복제를 만듭니다"
 
-#: builtin/submodule--helper.c:959
+#: builtin/submodule--helper.c:975
 msgid "parallel jobs"
 msgstr "병렬 작업 개수"
 
-#: builtin/submodule--helper.c:961
+#: builtin/submodule--helper.c:977
 msgid "whether the initial clone should follow the shallow recommendation"
 msgstr "최초 복제가 얕은 복제 추천을 따를지 여부"
 
-#: builtin/submodule--helper.c:962
+#: builtin/submodule--helper.c:978
 msgid "don't print cloning progress"
 msgstr "복제 과정을 표시하지 않습니다"
 
-#: builtin/submodule--helper.c:969
+#: builtin/submodule--helper.c:985
 msgid "git submodule--helper update_clone [--prefix=<path>] [<path>...]"
 msgstr "git submodule--helper update_clone [--prefix=<경로>] [<경로>...]"
 
-#: builtin/submodule--helper.c:979
+#: builtin/submodule--helper.c:995
 msgid "bad value for update parameter"
 msgstr "파라미터 업데이트에 값이 잘못되었습니다"
 
-#: builtin/submodule--helper.c:1050
+#: builtin/submodule--helper.c:1066
 #, c-format
 msgid ""
 "Submodule (%s) branch configured to inherit branch from superproject, but "
@@ -12365,11 +12795,24 @@
 "하위 모듈 (%s) 브랜치가 상위 프로젝트 브랜치를 이어받도록 설정되었지만, 상위 "
 "프로젝트에 브랜치가 없습니다"
 
-#: builtin/submodule--helper.c:1100
+#: builtin/submodule--helper.c:1106
+msgid "recurse into submodules"
+msgstr "하위 모듈에 재귀적으로 적용"
+
+#: builtin/submodule--helper.c:1112
+msgid "git submodule--helper embed-git-dir [<path>...]"
+msgstr "git submodule--helper embed-git-dir [<경로>...]"
+
+#: builtin/submodule--helper.c:1157
 msgid "submodule--helper subcommand must be called with a subcommand"
 msgstr "submodule--helper 하위 명령은 하위 명령으로 호출해야 합니다"
 
-#: builtin/submodule--helper.c:1107
+#: builtin/submodule--helper.c:1164
+#, c-format
+msgid "%s doesn't support --super-prefix"
+msgstr "%s에서 --super-prefix 옵션을 지원하지 않습니다"
+
+#: builtin/submodule--helper.c:1170
 #, c-format
 msgid "'%s' is not a valid submodule--helper subcommand"
 msgstr "'%s'은(는) 올바른 submodule--helper 하위 명령이 아닙니다"
@@ -12423,25 +12866,25 @@
 "\t\t[--format=<형식>] [--[no-]merged [<커밋>]] [<패턴>...]"
 
 #: builtin/tag.c:27
-msgid "git tag -v <tagname>..."
-msgstr "git tag -v <태그이름>..."
+msgid "git tag -v [--format=<format>] <tagname>..."
+msgstr "git tag -v [--format=<형식>] <태그이름>..."
 
-#: builtin/tag.c:81
+#: builtin/tag.c:82
 #, c-format
 msgid "tag name too long: %.*s..."
 msgstr "태그 이름이 너무 깁니다: %.*s..."
 
-#: builtin/tag.c:86
+#: builtin/tag.c:87
 #, c-format
 msgid "tag '%s' not found."
 msgstr "'%s' 태그가 없습니다."
 
-#: builtin/tag.c:101
+#: builtin/tag.c:102
 #, c-format
 msgid "Deleted tag '%s' (was %s)\n"
 msgstr "'%s' 태그 삭제함 (과거 %s)\n"
 
-#: builtin/tag.c:117
+#: builtin/tag.c:131
 #, c-format
 msgid ""
 "\n"
@@ -12454,7 +12897,7 @@
 "  %s\n"
 "'%c' 문자로 시작하는 줄은 무시됩니다.\n"
 
-#: builtin/tag.c:121
+#: builtin/tag.c:135
 #, c-format
 msgid ""
 "\n"
@@ -12468,138 +12911,138 @@
 "  %s\n"
 "'%c' 문자로 시작하는 줄은 유지됩니다. 제거하려면 직접 지워야 합니다.\n"
 
-#: builtin/tag.c:199
+#: builtin/tag.c:213
 msgid "unable to sign the tag"
 msgstr "태그에 서명할 수 없습니다"
 
-#: builtin/tag.c:201
+#: builtin/tag.c:215
 msgid "unable to write tag file"
 msgstr "태그 파일을 쓸 수 없습니다"
 
-#: builtin/tag.c:226
+#: builtin/tag.c:240
 msgid "bad object type."
 msgstr "잘못된 오브젝트 종류."
 
-#: builtin/tag.c:239
+#: builtin/tag.c:253
 msgid "tag header too big."
 msgstr "태그 헤더가 너무 큽니다."
 
-#: builtin/tag.c:275
+#: builtin/tag.c:289
 msgid "no tag message?"
 msgstr "태그 메시지 없음?"
 
-#: builtin/tag.c:281
+#: builtin/tag.c:295
 #, c-format
 msgid "The tag message has been left in %s\n"
 msgstr "태그 메시지가 %s 파일에 남아 있습니다\n"
 
-#: builtin/tag.c:339
+#: builtin/tag.c:354
 msgid "list tag names"
 msgstr "태그 이름 목록을 표시합니다"
 
-#: builtin/tag.c:341
+#: builtin/tag.c:356
 msgid "print <n> lines of each tag message"
 msgstr "각 태그 메시지의 <n>줄을 표시합니다"
 
-#: builtin/tag.c:343
+#: builtin/tag.c:358
 msgid "delete tags"
 msgstr "태그를 삭제합니다"
 
-#: builtin/tag.c:344
+#: builtin/tag.c:359
 msgid "verify tags"
 msgstr "태그를 검증합니다"
 
-#: builtin/tag.c:346
+#: builtin/tag.c:361
 msgid "Tag creation options"
 msgstr "태그 만들기 옵션"
 
-#: builtin/tag.c:348
+#: builtin/tag.c:363
 msgid "annotated tag, needs a message"
 msgstr "주석 달린 태그, 메시지가 필요합니다"
 
-#: builtin/tag.c:350
+#: builtin/tag.c:365
 msgid "tag message"
 msgstr "태그 메시지"
 
-#: builtin/tag.c:352
+#: builtin/tag.c:367
 msgid "annotated and GPG-signed tag"
 msgstr "주석 달리고 GPG 서명한 태그"
 
-#: builtin/tag.c:356
+#: builtin/tag.c:371
 msgid "use another key to sign the tag"
 msgstr "태그를 서명하는데 지정한 키를 사용합니다"
 
-#: builtin/tag.c:357
+#: builtin/tag.c:372
 msgid "replace the tag if exists"
 msgstr "태그가 있으면 바꿉니다"
 
-#: builtin/tag.c:358 builtin/update-ref.c:368
+#: builtin/tag.c:373 builtin/update-ref.c:368
 msgid "create a reflog"
 msgstr "reflog를 만듭니다"
 
-#: builtin/tag.c:360
+#: builtin/tag.c:375
 msgid "Tag listing options"
 msgstr "태그 목록 보기 옵션"
 
-#: builtin/tag.c:361
+#: builtin/tag.c:376
 msgid "show tag list in columns"
 msgstr "태그 목록을 여러 열로 표시합니다"
 
-#: builtin/tag.c:362 builtin/tag.c:363
+#: builtin/tag.c:377 builtin/tag.c:378
 msgid "print only tags that contain the commit"
 msgstr "해당 커밋이 들어 있는 태그만 표시합니다"
 
-#: builtin/tag.c:364
+#: builtin/tag.c:379
 msgid "print only tags that are merged"
 msgstr "병합된 태그만 표시합니다"
 
-#: builtin/tag.c:365
+#: builtin/tag.c:380
 msgid "print only tags that are not merged"
 msgstr "병합되지 않은 태그만 표시합니다"
 
-#: builtin/tag.c:370
+#: builtin/tag.c:385
 msgid "print only tags of the object"
 msgstr "해당 오브젝트의 태그만 표시합니다"
 
-#: builtin/tag.c:399
+#: builtin/tag.c:415
 msgid "--column and -n are incompatible"
 msgstr "--column 및 -n 옵션은 호환되지 않습니다"
 
-#: builtin/tag.c:419
+#: builtin/tag.c:437
 msgid "-n option is only allowed with -l."
 msgstr "-n 옵션은 -l 옵션과 같이 써야 합니다."
 
-#: builtin/tag.c:421
+#: builtin/tag.c:439
 msgid "--contains option is only allowed with -l."
 msgstr "--contains 옵션은 -l 옵션과 같이 써야 합니다."
 
-#: builtin/tag.c:423
+#: builtin/tag.c:441
 msgid "--points-at option is only allowed with -l."
 msgstr "--points-at 옵션은 -l 옵션과 같이 써야 합니다."
 
-#: builtin/tag.c:425
+#: builtin/tag.c:443
 msgid "--merged and --no-merged option are only allowed with -l"
 msgstr "--merged 및 --no-merged 옵션은 -l 옵션과 같이 써야 합니다."
 
-#: builtin/tag.c:433
+#: builtin/tag.c:454
 msgid "only one -F or -m option is allowed."
 msgstr "하나의 -F 또는 -m 옵션만 쓸 수 있습니다."
 
-#: builtin/tag.c:452
+#: builtin/tag.c:473
 msgid "too many params"
 msgstr "파라미터가 너무 많습니다"
 
-#: builtin/tag.c:458
+#: builtin/tag.c:479
 #, c-format
 msgid "'%s' is not a valid tag name."
 msgstr "'%s'은(는) 올바른 태그 이름이 아닙니다."
 
-#: builtin/tag.c:463
+#: builtin/tag.c:484
 #, c-format
 msgid "tag '%s' already exists"
 msgstr "태그 '%s'이(가) 이미 있습니다"
 
-#: builtin/tag.c:491
+#: builtin/tag.c:512
 #, c-format
 msgid "Updated tag '%s' (was %s)\n"
 msgstr "태그 '%s' 업데이트 (과거 %s)\n"
@@ -12787,7 +13230,7 @@
 msgid "enable untracked cache without testing the filesystem"
 msgstr "파일 시스템 시험 없이 추적하지 않는 캐시를 사용합니다"
 
-#: builtin/update-index.c:1119
+#: builtin/update-index.c:1120
 msgid ""
 "core.untrackedCache is set to true; remove or change it, if you really want "
 "to disable the untracked cache"
@@ -12795,11 +13238,11 @@
 "core.untrackedCache값이 참입니다. 정말로 추적하지 않는 파일 캐시를 사용하지 "
 "않으려면 이 값을 제거하거나 바꾸십시오."
 
-#: builtin/update-index.c:1123
+#: builtin/update-index.c:1124
 msgid "Untracked cache disabled"
 msgstr "추적되지 않는 파일 캐시를 사용하지 않습니다"
 
-#: builtin/update-index.c:1131
+#: builtin/update-index.c:1132
 msgid ""
 "core.untrackedCache is set to false; remove or change it, if you really want "
 "to enable the untracked cache"
@@ -12807,7 +13250,7 @@
 "core.untrackedCache값이 거짓입니다. 정말로 추적하지 않는 파일 캐시를 사용하려"
 "면 이 값을 제거하거나 바꾸십시오."
 
-#: builtin/update-index.c:1135
+#: builtin/update-index.c:1136
 #, c-format
 msgid "Untracked cache enabled for '%s'"
 msgstr "'%s'에 대해 추적되지 않는 캐시를 사용하지 않습니다"
@@ -12856,7 +13299,7 @@
 msgid "print commit contents"
 msgstr "커밋 내용을 표시합니다"
 
-#: builtin/verify-commit.c:73 builtin/verify-tag.c:35
+#: builtin/verify-commit.c:73 builtin/verify-tag.c:37
 msgid "print raw gpg status output"
 msgstr "원본 GPG 상태를 출력합니다"
 
@@ -12872,11 +13315,11 @@
 msgid "show statistics only"
 msgstr "통계만 표시"
 
-#: builtin/verify-tag.c:17
-msgid "git verify-tag [-v | --verbose] <tag>..."
-msgstr "git verify-tag [-v | --verbose] <태그>..."
+#: builtin/verify-tag.c:18
+msgid "git verify-tag [-v | --verbose] [--format=<format>] <tag>..."
+msgstr "git verify-tag [-v | --verbose] [--format=<형식>] <태그>..."
 
-#: builtin/verify-tag.c:34
+#: builtin/verify-tag.c:36
 msgid "print tag contents"
 msgstr "태그 내용 표시"
 
@@ -12925,6 +13368,14 @@
 msgid "Removing worktrees/%s: gitdir file points to non-existent location"
 msgstr "worktrees/%s 제거: gitdir 파일이 없는 위치를 가리킵니다"
 
+#: builtin/worktree.c:128
+msgid "report pruned working trees"
+msgstr "잘라낸 작업 폴더를 알립니다"
+
+#: builtin/worktree.c:130
+msgid "expire working trees older than <time>"
+msgstr "<시각>보다 오래 된 작업 폴더를 만료합니다"
+
 #: builtin/worktree.c:204
 #, c-format
 msgid "'%s' already exists"
@@ -12960,30 +13411,30 @@
 msgid "-b, -B, and --detach are mutually exclusive"
 msgstr "-b, -B, --detach 옵션 중 하나만 쓸 수 있습니다"
 
-#: builtin/worktree.c:470
+#: builtin/worktree.c:472
 msgid "reason for locking"
 msgstr "잠그는 이유"
 
-#: builtin/worktree.c:482 builtin/worktree.c:515
+#: builtin/worktree.c:484 builtin/worktree.c:517
 #, c-format
 msgid "'%s' is not a working tree"
 msgstr "'%s'은(는) 작업 폴더가 아닙니다"
 
-#: builtin/worktree.c:484 builtin/worktree.c:517
+#: builtin/worktree.c:486 builtin/worktree.c:519
 msgid "The main working tree cannot be locked or unlocked"
 msgstr "메인 작업 폴더를 잠그거나 잠금 해제할 수 없습니다"
 
-#: builtin/worktree.c:489
+#: builtin/worktree.c:491
 #, c-format
 msgid "'%s' is already locked, reason: %s"
 msgstr "'%s'은(는) 이미 잠겼습니다. 이유: %s"
 
-#: builtin/worktree.c:491
+#: builtin/worktree.c:493
 #, c-format
 msgid "'%s' is already locked"
 msgstr "'%s'은(는) 이미 잠겼습니다"
 
-#: builtin/worktree.c:519
+#: builtin/worktree.c:521
 #, c-format
 msgid "'%s' is not locked"
 msgstr "'%s'은(는) 잠기지 않았습니다"
@@ -13008,20 +13459,20 @@
 msgid "git upload-pack [<options>] <dir>"
 msgstr "git upload-pack [<옵션>] <디렉터리>"
 
-#: upload-pack.c:1028
+#: upload-pack.c:1036
 msgid "quit after a single request/response exchange"
 msgstr "하나의 요청/응답 교환 뒤에 끝납니다"
 
-#: upload-pack.c:1030
+#: upload-pack.c:1038
 msgid "exit immediately after initial ref advertisement"
 msgstr "최초 레퍼런스 알림 뒤에 즉시 끝납니다"
 
-#: upload-pack.c:1032
+#: upload-pack.c:1040
 msgid "do not try <directory>/.git/ if <directory> is no Git directory"
 msgstr ""
 "<디렉터리>가 깃 디렉터리가 아니면 <디렉터리>/.git/ 폴더를 시도하지 않습니다."
 
-#: upload-pack.c:1034
+#: upload-pack.c:1042
 msgid "interrupt transfer after <n> seconds of inactivity"
 msgstr "<n>초 동안 반응이 없으면 전송을 중지합니다"
 
@@ -13053,14 +13504,30 @@
 "<명령>' 또는 'git help <개념>' 명령을 실행하십시오."
 
 # HTTP delegation
-#: http.c:342
+#: http.c:344
 msgid "Delegation control is not supported with cURL < 7.22.0"
 msgstr "딜리게이션 컨트롤은 cURL 7.44.0 앞 버전에서는 지원하지 않습니다"
 
-#: http.c:351
+#: http.c:353
 msgid "Public key pinning not supported with cURL < 7.44.0"
 msgstr "공개 키 고정은 cURL 7.44.0 앞 버전에서는 지원하지 않습니다"
 
+#: http.c:1713
+#, c-format
+msgid ""
+"unable to update url base from redirection:\n"
+"  asked for: %s\n"
+"   redirect: %s"
+msgstr ""
+"리다이렉션에서 URL 베이스를 업데이트할 수 없습니다:\n"
+"       요청: %s\n"
+" 리다이렉트: %s"
+
+#: remote-curl.c:319
+#, c-format
+msgid "redirecting to %s"
+msgstr "%s(으)로 리다이렉트"
+
 #: common-cmds.h:9
 msgid "start a working area (see also: git help tutorial)"
 msgstr "작업 공간 시작 (참고: git help tutorial)"
@@ -13424,7 +13891,7 @@
 msgid "Simple merge did not work, trying automatic merge."
 msgstr "간단한 병합이 동작하지 않습니다. 자동 병합을 시도합니다."
 
-#: git-rebase.sh:56
+#: git-rebase.sh:57
 msgid ""
 "When you have resolved this problem, run \"git rebase --continue\".\n"
 "If you prefer to skip this patch, run \"git rebase --skip\" instead.\n"
@@ -13436,51 +13903,37 @@
 "원래 브랜치를 체크아웃하고 리베이스를 중지하려면, \"git rebase --abort\"를 실"
 "행하십시오."
 
-#: git-rebase.sh:156 git-rebase.sh:395
+#: git-rebase.sh:157 git-rebase.sh:396
 #, sh-format
 msgid "Could not move back to $head_name"
 msgstr "'$head_name' 위치로 돌아갈 수 없습니다"
 
-#: git-rebase.sh:167
-msgid "Applied autostash."
-msgstr "자동스태시 적용."
-
-#: git-rebase.sh:170
+#: git-rebase.sh:171
 #, sh-format
 msgid "Cannot store $stash_sha1"
 msgstr "\"$stash_sha1\"을(를) 저장할 수 없습니다"
 
-#: git-rebase.sh:171
-msgid ""
-"Applying autostash resulted in conflicts.\n"
-"Your changes are safe in the stash.\n"
-"You can run \"git stash pop\" or \"git stash drop\" at any time.\n"
-msgstr ""
-"자동스태시 적용에 충돌이 발생했습니다.\n"
-"변경 사항은 스태시 안에 안전하게 들어 있습니다.\n"
-"언제든지 \"git stash pop\" 또는 \"git stash drop\"을 실행할 수 있습니다.\n"
-
-#: git-rebase.sh:210
+#: git-rebase.sh:211
 msgid "The pre-rebase hook refused to rebase."
 msgstr "리베이스 전 후크에서 리베이스를 거부했습니다."
 
-#: git-rebase.sh:215
+#: git-rebase.sh:216
 msgid "It looks like git-am is in progress. Cannot rebase."
 msgstr "git-am이 진행 중인 것처럼 보입니다. 리베이스할 수 없습니다."
 
-#: git-rebase.sh:356
+#: git-rebase.sh:357
 msgid "No rebase in progress?"
 msgstr "리베이스가 진행 중이지 않습니다"
 
-#: git-rebase.sh:367
+#: git-rebase.sh:368
 msgid "The --edit-todo action can only be used during interactive rebase."
 msgstr "--edit-todo 동작은 대화형 리베이스에서만 사용할 수 있습니다."
 
-#: git-rebase.sh:374
+#: git-rebase.sh:375
 msgid "Cannot read HEAD"
 msgstr "HEAD를 읽을 수 없습니다"
 
-#: git-rebase.sh:377
+#: git-rebase.sh:378
 msgid ""
 "You must edit all merge conflicts and then\n"
 "mark them as resolved using git add"
@@ -13488,7 +13941,7 @@
 "모든 병합 충돌을 편집하고 git add\n"
 "명령으로 해결되었다고 표시해야 합니다"
 
-#: git-rebase.sh:414
+#: git-rebase.sh:418
 #, sh-format
 msgid ""
 "It seems that there is already a $state_dir_base directory, and\n"
@@ -13509,64 +13962,64 @@
 "이 명령을 다시 실행하십시오. 중요한 사항이 남아 있을 경우를\n"
 "대비해 여기서 멈춥니다."
 
-#: git-rebase.sh:465
+#: git-rebase.sh:469
 #, sh-format
 msgid "invalid upstream $upstream_name"
 msgstr "잘못된 업스트림 $upstream_name"
 
-#: git-rebase.sh:489
+#: git-rebase.sh:493
 #, sh-format
 msgid "$onto_name: there are more than one merge bases"
 msgstr "$onto_name: 여러 개의 병합 베이스가 있습니다"
 
-#: git-rebase.sh:492 git-rebase.sh:496
+#: git-rebase.sh:496 git-rebase.sh:500
 #, sh-format
 msgid "$onto_name: there is no merge base"
 msgstr "$onto_name: 병합 베이스가 없습니다"
 
-#: git-rebase.sh:501
+#: git-rebase.sh:505
 #, sh-format
 msgid "Does not point to a valid commit: $onto_name"
 msgstr "올바른 커밋을 가리키지 않습니다: $onto_name"
 
-#: git-rebase.sh:524
+#: git-rebase.sh:528
 #, sh-format
 msgid "fatal: no such branch: $branch_name"
 msgstr "치명적 이상: 그런 브랜치가 없습니다: $branch_name"
 
-#: git-rebase.sh:557
+#: git-rebase.sh:561
 msgid "Cannot autostash"
 msgstr "자동 스태시를 할 수 없습니다"
 
-#: git-rebase.sh:562
+#: git-rebase.sh:566
 #, sh-format
 msgid "Created autostash: $stash_abbrev"
 msgstr "자동 스태시를 만들었습니다: $stash_abbrev"
 
-#: git-rebase.sh:566
+#: git-rebase.sh:570
 msgid "Please commit or stash them."
 msgstr "커밋하거나 스태시에 넣으십시오."
 
-#: git-rebase.sh:586
+#: git-rebase.sh:590
 #, sh-format
 msgid "Current branch $branch_name is up to date."
 msgstr "현재 브랜치가 ($branch_name) 최신 상태입니다."
 
-#: git-rebase.sh:590
+#: git-rebase.sh:594
 #, sh-format
 msgid "Current branch $branch_name is up to date, rebase forced."
 msgstr "현재 브랜치가 ($branch_name) 최신 상태입니다. 강제 리베이스합니다."
 
-#: git-rebase.sh:601
+#: git-rebase.sh:605
 #, sh-format
 msgid "Changes from $mb to $onto:"
 msgstr "변경 사항 '$mb'에서 '$onto'(으)로:"
 
-#: git-rebase.sh:610
+#: git-rebase.sh:614
 msgid "First, rewinding head to replay your work on top of it..."
 msgstr "작업 사항을 다시 넣기 위해 먼저 헤드를 뒤로 돌립니다..."
 
-#: git-rebase.sh:620
+#: git-rebase.sh:624
 #, sh-format
 msgid "Fast-forwarded $branch_name to $onto_name."
 msgstr "$branch_name 브랜치를 $onto_name 위치로 정방향 진행합니다."
@@ -13732,21 +14185,26 @@
 msgid "(To restore them type \"git stash apply\")"
 msgstr "(복구하려면 \"git stash apply\"를 실행하십시오)"
 
-#: git-submodule.sh:184
+#: git-submodule.sh:181
 msgid "Relative path can only be used from the toplevel of the working tree"
 msgstr "상대 경로는 작업 폴더의 최상위에서만 쓸 수 있습니다"
 
-#: git-submodule.sh:194
+#: git-submodule.sh:191
 #, sh-format
 msgid "repo URL: '$repo' must be absolute or begin with ./|../"
 msgstr "저장소 URL: '$repo' 값은 절대 경로거나 ./ 또는 ../로 시작해야 합니다."
 
-#: git-submodule.sh:211
+#: git-submodule.sh:210
 #, sh-format
 msgid "'$sm_path' already exists in the index"
 msgstr "'$sm_path'은(는) 이미 인덱스에 있습니다"
 
-#: git-submodule.sh:215
+#: git-submodule.sh:213
+#, sh-format
+msgid "'$sm_path' already exists in the index and is not a submodule"
+msgstr "'$sm_path'은(는) 이미 인덱스에 있고 하위 모듈이 아닙니다"
+
+#: git-submodule.sh:218
 #, sh-format
 msgid ""
 "The following path is ignored by one of your .gitignore files:\n"
@@ -13757,22 +14215,22 @@
 "$sm_path\n"
 "정말로 추가하려면 -f 옵션을 사용하십시오."
 
-#: git-submodule.sh:233
+#: git-submodule.sh:236
 #, sh-format
 msgid "Adding existing repo at '$sm_path' to the index"
 msgstr "'$sm_path'의 기존 저장소를 인덱스에 추가합니다"
 
-#: git-submodule.sh:235
+#: git-submodule.sh:238
 #, sh-format
 msgid "'$sm_path' already exists and is not a valid git repo"
 msgstr "'$sm_path'이(가) 이미 있고 올바른 git 저장소가 아닙니다"
 
-#: git-submodule.sh:243
+#: git-submodule.sh:246
 #, sh-format
 msgid "A git directory for '$sm_name' is found locally with remote(s):"
 msgstr "'$sm_name'에 대한 깃 디렉터리가 로컬에서 리모트가 있는 채로 있습니다:"
 
-#: git-submodule.sh:245
+#: git-submodule.sh:248
 #, sh-format
 msgid ""
 "If you want to reuse this local git directory instead of cloning again from\n"
@@ -13787,47 +14245,47 @@
 "'--force' 옵션을 사용하십시오. 로컬 깃 디렉터리가 올바른 저장소가 아니거나\n"
 "무슨 의미인지 잘 모르겠으면 '--name' 옵션으로 다른 이름을 선택하십시오."
 
-#: git-submodule.sh:251
+#: git-submodule.sh:254
 #, sh-format
 msgid "Reactivating local git directory for submodule '$sm_name'."
 msgstr "로컬 깃 디렉터리를 '$sm_name' 하위모듈로 다시 활성화합니다."
 
-#: git-submodule.sh:263
+#: git-submodule.sh:266
 #, sh-format
 msgid "Unable to checkout submodule '$sm_path'"
 msgstr "'$sm_path' 하위 모듈을 체크아웃할 수 없습니다"
 
-#: git-submodule.sh:268
+#: git-submodule.sh:271
 #, sh-format
 msgid "Failed to add submodule '$sm_path'"
 msgstr "'$sm_path' 하위 모듈을 추가하는데 실패했습니다"
 
-#: git-submodule.sh:277
+#: git-submodule.sh:280
 #, sh-format
 msgid "Failed to register submodule '$sm_path'"
 msgstr "'$sm_path' 하위 모듈을 등록하는데 실패했습니다"
 
-#: git-submodule.sh:324
+#: git-submodule.sh:327
 #, sh-format
 msgid "Entering '$displaypath'"
 msgstr "'$displaypath' 들어감"
 
-#: git-submodule.sh:344
+#: git-submodule.sh:347
 #, sh-format
 msgid "Stopping at '$displaypath'; script returned non-zero status."
 msgstr "'$displaypath'에서 멈춤. 스크립트가 0이 아닌 상태를 리턴함."
 
-#: git-submodule.sh:415
+#: git-submodule.sh:418
 #, sh-format
 msgid "pathspec and --all are incompatible"
 msgstr "경로명세 및 --all 옵션은 호환되지 않습니다"
 
-#: git-submodule.sh:420
+#: git-submodule.sh:423
 #, sh-format
 msgid "Use '--all' if you really want to deinitialize all submodules"
 msgstr "정말로 모든 하위 모듈 초기화를 해제하려면 '--all'을 사용하십시오"
 
-#: git-submodule.sh:440
+#: git-submodule.sh:443
 #, sh-format
 msgid ""
 "Submodule work tree '$displaypath' contains a .git directory\n"
@@ -13836,7 +14294,7 @@
 "하위 모듈 작업 폴더 '$displaypath'에 .git 디렉터리가 들어 있습니다\n"
 "(정말로 그 커밋 내역까지 포함해 제거하려면 'rm -rf'를 사용하십시오)"
 
-#: git-submodule.sh:448
+#: git-submodule.sh:451
 #, sh-format
 msgid ""
 "Submodule work tree '$displaypath' contains local modifications; use '-f' to "
@@ -13845,38 +14303,38 @@
 "하위 모듈 작업 폴더에 ('$displaypath') 로컬 수정 사항이 있습니다. 버리려면 '-"
 "f'를 사용하십시오"
 
-#: git-submodule.sh:451
+#: git-submodule.sh:454
 #, sh-format
 msgid "Cleared directory '$displaypath'"
 msgstr "'$displaypath' 디렉터리를 지웁니다"
 
-#: git-submodule.sh:452
+#: git-submodule.sh:455
 #, sh-format
 msgid "Could not remove submodule work tree '$displaypath'"
 msgstr "하위 모듈 디렉터리를 ('$displaypath') 제거할 수 없습니다"
 
-#: git-submodule.sh:455
+#: git-submodule.sh:458
 #, sh-format
 msgid "Could not create empty submodule directory '$displaypath'"
 msgstr "빈 하위 모듈 디렉터리를 ('$displaypath') 만들 수 없습니다"
 
-#: git-submodule.sh:464
+#: git-submodule.sh:467
 #, sh-format
 msgid "Submodule '$name' ($url) unregistered for path '$displaypath'"
 msgstr ""
 "'$name' 하위 모듈이 ($url) '$displaypath' 경로에 대해 등록되지 않았습니다"
 
-#: git-submodule.sh:617
+#: git-submodule.sh:623
 #, sh-format
 msgid "Unable to find current revision in submodule path '$displaypath'"
 msgstr "하위 모듈 경로에서 ('$displaypath') 현재 리비전을 찾을 수 없습니다"
 
-#: git-submodule.sh:627
+#: git-submodule.sh:633
 #, sh-format
 msgid "Unable to fetch in submodule path '$sm_path'"
 msgstr "하위 모듈 경로 '$sm_path'에서 가져올 수 없습니다"
 
-#: git-submodule.sh:632
+#: git-submodule.sh:638
 #, sh-format
 msgid ""
 "Unable to find current ${remote_name}/${branch} revision in submodule path "
@@ -13885,12 +14343,12 @@
 "하위 모듈 경로 '$sm_path'에서 현재 ${remote_name}/${branch} 리비전을 찾을 수 "
 "없습니다"
 
-#: git-submodule.sh:650
+#: git-submodule.sh:656
 #, sh-format
 msgid "Unable to fetch in submodule path '$displaypath'"
 msgstr "하위 모듈 경로 '$displaypath'에서 가져올 수 없습니다"
 
-#: git-submodule.sh:656
+#: git-submodule.sh:662
 #, sh-format
 msgid ""
 "Fetched in submodule path '$displaypath', but it did not contain $sha1. "
@@ -13899,82 +14357,82 @@
 "'$displaypath' 하위 모듈 경로에서 가져왔지만, $sha1 커밋이 들어있지 않습니"
 "다. 이 커밋을 직접 가져오는데 실패했습니다."
 
-#: git-submodule.sh:663
+#: git-submodule.sh:669
 #, sh-format
 msgid "Unable to checkout '$sha1' in submodule path '$displaypath'"
 msgstr "하위 모듈 경로 '$displaypath'에서 '$sha1'을(를) 체크아웃할 수 없습니다"
 
-#: git-submodule.sh:664
+#: git-submodule.sh:670
 #, sh-format
 msgid "Submodule path '$displaypath': checked out '$sha1'"
 msgstr "하위 모듈 경로 '$displaypath': '$sha1' 체크아웃"
 
-#: git-submodule.sh:668
+#: git-submodule.sh:674
 #, sh-format
 msgid "Unable to rebase '$sha1' in submodule path '$displaypath'"
 msgstr "하위 모듈 경로 '$displaypath'에서 '$sha1'을(를) 리베이스할 수 없습니다"
 
-#: git-submodule.sh:669
+#: git-submodule.sh:675
 #, sh-format
 msgid "Submodule path '$displaypath': rebased into '$sha1'"
 msgstr "하위 모듈 경로 '$displaypath': '$sha1'(으)로 리베이스"
 
-#: git-submodule.sh:674
+#: git-submodule.sh:680
 #, sh-format
 msgid "Unable to merge '$sha1' in submodule path '$displaypath'"
 msgstr "하위 모듈 경로 '$displaypath'에서 '$sha1' 병합할 수 없습니다"
 
-#: git-submodule.sh:675
+#: git-submodule.sh:681
 #, sh-format
 msgid "Submodule path '$displaypath': merged in '$sha1'"
 msgstr "하위 모듈 경로 '$displaypath': '$sha1'에서 병합"
 
-#: git-submodule.sh:680
+#: git-submodule.sh:686
 #, sh-format
 msgid "Execution of '$command $sha1' failed in submodule path '$displaypath'"
 msgstr "'$command $sha1' 실행이 하위 모듈 경로 '$displaypath'에서 실패했습니다"
 
-#: git-submodule.sh:681
+#: git-submodule.sh:687
 #, sh-format
 msgid "Submodule path '$displaypath': '$command $sha1'"
 msgstr "하위 모듈 경로 '$displaypath': '$command $sha1'"
 
-#: git-submodule.sh:712
+#: git-submodule.sh:718
 #, sh-format
 msgid "Failed to recurse into submodule path '$displaypath'"
 msgstr "재귀적으로 하위 모듈 경로 '$displaypath'에 들어가는데 실패했습니다"
 
-#: git-submodule.sh:820
+#: git-submodule.sh:826
 msgid "The --cached option cannot be used with the --files option"
 msgstr "--cached 옵션은 --files 옵션과 같이 쓸 수 없습니다"
 
-#: git-submodule.sh:872
+#: git-submodule.sh:878
 #, sh-format
 msgid "unexpected mode $mod_dst"
 msgstr "예상치 못한 모드 $mod_dst"
 
-#: git-submodule.sh:892
+#: git-submodule.sh:898
 #, sh-format
 msgid "  Warn: $display_name doesn't contain commit $sha1_src"
 msgstr "  경고: '$display_name'에 '$sha1_src' 커밋이 들어있지 않습니다"
 
-#: git-submodule.sh:895
+#: git-submodule.sh:901
 #, sh-format
 msgid "  Warn: $display_name doesn't contain commit $sha1_dst"
 msgstr "  경고: '$display_name'에 '$sha1_dst' 커밋이 들어있지 않습니다"
 
-#: git-submodule.sh:898
+#: git-submodule.sh:904
 #, sh-format
 msgid "  Warn: $display_name doesn't contain commits $sha1_src and $sha1_dst"
 msgstr ""
 "  경고: '$display_name'에 '$sha1_src' 및 '$sha1_dst' 커밋이 들어있지 않습니다"
 
-#: git-submodule.sh:1045
+#: git-submodule.sh:1051
 #, sh-format
 msgid "Failed to recurse into submodule path '$sm_path'"
 msgstr "재귀적으로 하위 모듈 경로 '$sm_path'에 들어가는데 실패했습니다"
 
-#: git-submodule.sh:1112
+#: git-submodule.sh:1118
 #, sh-format
 msgid "Synchronizing submodule url for '$displaypath'"
 msgstr "하위 모듈 URL을 '$displaypath'에 대해 동기화"
@@ -13984,12 +14442,12 @@
 msgid "See git-${cmd}(1) for details."
 msgstr "자세한 정보는 git-${cmd}(1) 페이지를 참고하십시오."
 
-#: git-rebase--interactive.sh:131
+#: git-rebase--interactive.sh:140
 #, sh-format
 msgid "Rebasing ($new_count/$total)"
 msgstr "리베이스중 ($new_count/$total)"
 
-#: git-rebase--interactive.sh:147
+#: git-rebase--interactive.sh:156
 msgid ""
 "\n"
 "Commands:\n"
@@ -14015,7 +14473,7 @@
 "\n"
 "이 줄은 순서를 바꿀 수 있습니다. 위에서 아래 순서로 실행합니다.\n"
 
-#: git-rebase--interactive.sh:162
+#: git-rebase--interactive.sh:171
 msgid ""
 "\n"
 "Do not remove any line. Use 'drop' explicitly to remove a commit.\n"
@@ -14023,7 +14481,7 @@
 "\n"
 "줄을 제거하지 않습니다. 커밋을 제거하려면 명시적으로 'drop'을 사용하십시오.\n"
 
-#: git-rebase--interactive.sh:166
+#: git-rebase--interactive.sh:175
 msgid ""
 "\n"
 "If you remove a line here THAT COMMIT WILL BE LOST.\n"
@@ -14031,7 +14489,7 @@
 "\n"
 "여기 줄을 제거하면 해당 커밋을 잃어버립니다!\n"
 
-#: git-rebase--interactive.sh:202
+#: git-rebase--interactive.sh:211
 #, sh-format
 msgid ""
 "You can amend the commit now, with\n"
@@ -14050,86 +14508,82 @@
 "\n"
 "\tgit rebase --continue"
 
-#: git-rebase--interactive.sh:227
+#: git-rebase--interactive.sh:236
 #, sh-format
 msgid "$sha1: not a commit that can be picked"
 msgstr "$sha1: 빼오기가 가능한 커밋이 아닙니다"
 
-#: git-rebase--interactive.sh:266
+#: git-rebase--interactive.sh:275
 #, sh-format
 msgid "Invalid commit name: $sha1"
 msgstr "잘못된 커밋 이름: $sha1"
 
-#: git-rebase--interactive.sh:308
+#: git-rebase--interactive.sh:317
 msgid "Cannot write current commit's replacement sha1"
 msgstr "현재 커밋의 대체 sha1을 쓸 수 없습니다"
 
-#: git-rebase--interactive.sh:360
+#: git-rebase--interactive.sh:369
 #, sh-format
 msgid "Fast-forward to $sha1"
 msgstr "정방향 진행, $sha1 위치로"
 
-#: git-rebase--interactive.sh:362
+#: git-rebase--interactive.sh:371
 #, sh-format
 msgid "Cannot fast-forward to $sha1"
 msgstr "$sha1 위치로 정방향 진행할 수 없습니다"
 
-#: git-rebase--interactive.sh:371
+#: git-rebase--interactive.sh:380
 #, sh-format
 msgid "Cannot move HEAD to $first_parent"
 msgstr "HEAD를 $first_parent 위치로 옮길 수 없습니다"
 
-#: git-rebase--interactive.sh:376
+#: git-rebase--interactive.sh:385
 #, sh-format
 msgid "Refusing to squash a merge: $sha1"
 msgstr "병합 squash 거부: $sha1"
 
-#: git-rebase--interactive.sh:390
+#: git-rebase--interactive.sh:399
 #, sh-format
 msgid "Error redoing merge $sha1"
 msgstr "$sha1 병합을 다시 하는데 오류"
 
-#: git-rebase--interactive.sh:398
+#: git-rebase--interactive.sh:407
 #, sh-format
 msgid "Could not pick $sha1"
 msgstr "$sha1을 빼오기 할 수 없습니다"
 
-#: git-rebase--interactive.sh:407
+#: git-rebase--interactive.sh:416
 #, sh-format
 msgid "This is the commit message #${n}:"
 msgstr "커밋 메시지 #${n}번입니다:"
 
-#: git-rebase--interactive.sh:412
+#: git-rebase--interactive.sh:421
 #, sh-format
 msgid "The commit message #${n} will be skipped:"
 msgstr "#${n}번째 커밋 메시지를 건너뜁니다:"
 
-#: git-rebase--interactive.sh:423
+#: git-rebase--interactive.sh:432
 #, sh-format
 msgid "This is a combination of $count commit."
 msgid_plural "This is a combination of $count commits."
 msgstr[0] "커밋 $count개가 섞인 결과입니다."
 
-#: git-rebase--interactive.sh:431
+#: git-rebase--interactive.sh:441
 #, sh-format
 msgid "Cannot write $fixup_msg"
 msgstr "$fixup_msg를 쓸 수 없습니다"
 
-#: git-rebase--interactive.sh:434
+#: git-rebase--interactive.sh:444
 msgid "This is a combination of 2 commits."
 msgstr "커밋 2개가 섞인 결과입니다."
 
-#: git-rebase--interactive.sh:435
-msgid "This is the 1st commit message:"
-msgstr "1번째 커밋 메시지입니다:"
-
-#: git-rebase--interactive.sh:475 git-rebase--interactive.sh:518
-#: git-rebase--interactive.sh:521
+#: git-rebase--interactive.sh:485 git-rebase--interactive.sh:528
+#: git-rebase--interactive.sh:531
 #, sh-format
 msgid "Could not apply $sha1... $rest"
 msgstr "다음을 적용할(apply) 수 없습니다: $sha1... $rest"
 
-#: git-rebase--interactive.sh:549
+#: git-rebase--interactive.sh:559
 #, sh-format
 msgid ""
 "Could not amend commit after successfully picking $sha1... $rest\n"
@@ -14142,31 +14596,31 @@
 "대부분의 경우 빈 커밋 메시지 때문이거나, 또는 커밋 전 후크가 실패했기\n"
 "때문입니다. 커밋 메시지를 수정하기 전에 이 문제를 먼저 해결해야 합니다."
 
-#: git-rebase--interactive.sh:564
+#: git-rebase--interactive.sh:574
 #, sh-format
 msgid "Stopped at $sha1_abbrev... $rest"
 msgstr "다음에서 멈춥니다: $sha1_abbrev... $rest"
 
-#: git-rebase--interactive.sh:579
+#: git-rebase--interactive.sh:589
 #, sh-format
 msgid "Cannot '$squash_style' without a previous commit"
 msgstr "이전 커밋 없이 '$squash_style' 수행할 수 없습니다"
 
-#: git-rebase--interactive.sh:621
+#: git-rebase--interactive.sh:631
 #, sh-format
 msgid "Executing: $rest"
 msgstr "실행 중: $rest"
 
-#: git-rebase--interactive.sh:629
+#: git-rebase--interactive.sh:639
 #, sh-format
 msgid "Execution failed: $rest"
 msgstr "실행 실패: $rest"
 
-#: git-rebase--interactive.sh:631
+#: git-rebase--interactive.sh:641
 msgid "and made changes to the index and/or the working tree"
 msgstr "그리고 인덱스 그리고/또는 작업 폴더에 변경 사항이 있습니다"
 
-#: git-rebase--interactive.sh:633
+#: git-rebase--interactive.sh:643
 msgid ""
 "You can fix the problem, and then run\n"
 "\n"
@@ -14177,7 +14631,7 @@
 "\tgit rebase --continue"
 
 #. TRANSLATORS: after these lines is a command to be issued by the user
-#: git-rebase--interactive.sh:646
+#: git-rebase--interactive.sh:656
 #, sh-format
 msgid ""
 "Execution succeeded: $rest\n"
@@ -14192,25 +14646,25 @@
 "\n"
 "\tgit rebase --continue"
 
-#: git-rebase--interactive.sh:657
+#: git-rebase--interactive.sh:667
 #, sh-format
 msgid "Unknown command: $command $sha1 $rest"
 msgstr "알 수 없는 명령: $command $sha1 $rest"
 
-#: git-rebase--interactive.sh:658
+#: git-rebase--interactive.sh:668
 msgid "Please fix this using 'git rebase --edit-todo'."
 msgstr "'git rebase --edit-todo' 명령으로 바로잡으십시오."
 
-#: git-rebase--interactive.sh:693
+#: git-rebase--interactive.sh:703
 #, sh-format
 msgid "Successfully rebased and updated $head_name."
 msgstr "성공적으로 리베이스했고 $head_name 업데이트했습니다."
 
-#: git-rebase--interactive.sh:740
+#: git-rebase--interactive.sh:750
 msgid "Could not skip unnecessary pick commands"
 msgstr "불필요한 빼오기 명령을 건너뛸 수 없습니다"
 
-#: git-rebase--interactive.sh:898
+#: git-rebase--interactive.sh:908
 #, sh-format
 msgid ""
 "Warning: the SHA-1 is missing or isn't a commit in the following line:\n"
@@ -14219,7 +14673,7 @@
 "경고: 다음 줄에서 해당 SHA-1이 없거나 커밋이 아닙니다:\n"
 " - $line"
 
-#: git-rebase--interactive.sh:931
+#: git-rebase--interactive.sh:941
 #, sh-format
 msgid ""
 "Warning: the command isn't recognized in the following line:\n"
@@ -14228,11 +14682,11 @@
 "경고: 다음 줄에서 명령어가 무엇인지 알 수 없습니다:\n"
 " - $line"
 
-#: git-rebase--interactive.sh:970
+#: git-rebase--interactive.sh:980
 msgid "could not detach HEAD"
 msgstr "HEAD는 분리할 수 없습니다"
 
-#: git-rebase--interactive.sh:1008
+#: git-rebase--interactive.sh:1018
 msgid ""
 "Warning: some commits may have been dropped accidentally.\n"
 "Dropped commits (newer to older):"
@@ -14240,7 +14694,7 @@
 "경고: 일부 커밋이 의도치 않게 버려졌을 수도 있습니다.\n"
 "버려진 커밋 (최근에서 과거 순서):"
 
-#: git-rebase--interactive.sh:1016
+#: git-rebase--interactive.sh:1026
 msgid ""
 "To avoid this message, use \"drop\" to explicitly remove a commit.\n"
 "\n"
@@ -14255,7 +14709,7 @@
 "다.\n"
 "가능한 동작은: ignore, warn, error"
 
-#: git-rebase--interactive.sh:1027
+#: git-rebase--interactive.sh:1037
 #, sh-format
 msgid ""
 "Unrecognized setting $check_level for option rebase.missingCommitsCheck. "
@@ -14264,7 +14718,7 @@
 "rebase.missingCommitsCheck 옵션에 대해 인식할 수 없는 $check_level 설정. 무시"
 "합니다."
 
-#: git-rebase--interactive.sh:1044
+#: git-rebase--interactive.sh:1054
 msgid ""
 "You can fix this with 'git rebase --edit-todo' and then run 'git rebase --"
 "continue'."
@@ -14272,15 +14726,15 @@
 "'git rebase --edit-todo' 명령으로 바로잡을 수 있고 'git rebase --continue' 명"
 "령을 실행합니다."
 
-#: git-rebase--interactive.sh:1045
+#: git-rebase--interactive.sh:1055
 msgid "Or you can abort the rebase with 'git rebase --abort'."
 msgstr "아니면 'git rebase --abort' 명령으로 리베이스를 중지할 수도 있습니다."
 
-#: git-rebase--interactive.sh:1069
+#: git-rebase--interactive.sh:1079
 msgid "Could not remove CHERRY_PICK_HEAD"
 msgstr "CHERRY_PICK_HEAD를 제거할 수 없습니다"
 
-#: git-rebase--interactive.sh:1074
+#: git-rebase--interactive.sh:1084
 #, sh-format
 msgid ""
 "You have staged changes in your working tree.\n"
@@ -14311,11 +14765,11 @@
 "\n"
 "  git rebase --continue\n"
 
-#: git-rebase--interactive.sh:1091
+#: git-rebase--interactive.sh:1101
 msgid "Error trying to find the author identity to amend commit"
 msgstr "커밋을 수정한 작성자 신원을 찾는데 오류"
 
-#: git-rebase--interactive.sh:1096
+#: git-rebase--interactive.sh:1106
 msgid ""
 "You have uncommitted changes in your working tree. Please commit them\n"
 "first and then run 'git rebase --continue' again."
@@ -14323,11 +14777,11 @@
 "작업 폴더에 커밋하지 않은 변경 사항이 있습니다. 이 사항을 먼저\n"
 "커밋하고 'git rebase --continue' 명령을 다시 실행하십시오."
 
-#: git-rebase--interactive.sh:1101 git-rebase--interactive.sh:1105
+#: git-rebase--interactive.sh:1111 git-rebase--interactive.sh:1115
 msgid "Could not commit staged changes."
 msgstr "스테이징한 변경 사항은 커밋할 수 없습니다."
 
-#: git-rebase--interactive.sh:1129
+#: git-rebase--interactive.sh:1139
 msgid ""
 "\n"
 "You are editing the todo file of an ongoing interactive rebase.\n"
@@ -14341,39 +14795,39 @@
 "    git rebase --continue\n"
 "\n"
 
-#: git-rebase--interactive.sh:1137 git-rebase--interactive.sh:1295
+#: git-rebase--interactive.sh:1147 git-rebase--interactive.sh:1305
 msgid "Could not execute editor"
 msgstr "편집기를 실행할 수 없습니다"
 
-#: git-rebase--interactive.sh:1150
+#: git-rebase--interactive.sh:1160
 #, sh-format
 msgid "Could not checkout $switch_to"
 msgstr "$switch_to를 체크아웃할 수 없습니다"
 
-#: git-rebase--interactive.sh:1155
+#: git-rebase--interactive.sh:1165
 msgid "No HEAD?"
 msgstr "HEAD가 없습니다?"
 
-#: git-rebase--interactive.sh:1156
+#: git-rebase--interactive.sh:1166
 #, sh-format
 msgid "Could not create temporary $state_dir"
 msgstr "임시로 $state_dir 디렉터리를 만들 수 없습니다"
 
-#: git-rebase--interactive.sh:1158
+#: git-rebase--interactive.sh:1168
 msgid "Could not mark as interactive"
 msgstr "대화형으로 표시할 수 없습니다."
 
-#: git-rebase--interactive.sh:1168 git-rebase--interactive.sh:1173
+#: git-rebase--interactive.sh:1178 git-rebase--interactive.sh:1183
 msgid "Could not init rewritten commits"
 msgstr "다시 작성된 커밋을 초기화할 수 없습니다"
 
-#: git-rebase--interactive.sh:1273
+#: git-rebase--interactive.sh:1283
 #, sh-format
 msgid "Rebase $shortrevisions onto $shortonto ($todocount command)"
 msgid_plural "Rebase $shortrevisions onto $shortonto ($todocount commands)"
 msgstr[0] "리베이스 $shortrevisions, $shortonto 위로 (명령 $todocount개)"
 
-#: git-rebase--interactive.sh:1278
+#: git-rebase--interactive.sh:1288
 msgid ""
 "\n"
 "However, if you remove everything, the rebase will be aborted.\n"
@@ -14383,7 +14837,7 @@
 "하지만 모두 제거할 경우, 리베이스를 중지합니다.\n"
 "\n"
 
-#: git-rebase--interactive.sh:1285
+#: git-rebase--interactive.sh:1295
 msgid "Note that empty commits are commented out"
 msgstr "단 빈 커밋은 주석 처리되었습니다."
 
@@ -14445,3 +14899,868 @@
 #: git-sh-setup.sh:377
 msgid "Unable to determine absolute path of git directory"
 msgstr "깃 디렉터리의 절대 경로를 알아낼 수 없습니다"
+
+#. TRANSLATORS: you can adjust this to align "git add -i" status menu
+#: git-add--interactive.perl:238
+#, perl-format
+msgid "%12s %12s %s"
+msgstr "%12s %12s %s"
+
+#: git-add--interactive.perl:239
+msgid "staged"
+msgstr "스테이징"
+
+#: git-add--interactive.perl:239
+msgid "unstaged"
+msgstr "안스테이징"
+
+#: git-add--interactive.perl:297 git-add--interactive.perl:322
+msgid "binary"
+msgstr "바이너리"
+
+#: git-add--interactive.perl:306 git-add--interactive.perl:360
+msgid "nothing"
+msgstr "없음"
+
+#: git-add--interactive.perl:342 git-add--interactive.perl:357
+msgid "unchanged"
+msgstr "안바뀜"
+
+#: git-add--interactive.perl:653
+#, perl-format
+msgid "added %d path\n"
+msgid_plural "added %d paths\n"
+msgstr[0] "경로 %d개 추가\n"
+
+#: git-add--interactive.perl:656
+#, perl-format
+msgid "updated %d path\n"
+msgid_plural "updated %d paths\n"
+msgstr[0] "경로 %d개 업데이트\n"
+
+#: git-add--interactive.perl:659
+#, perl-format
+msgid "reverted %d path\n"
+msgid_plural "reverted %d paths\n"
+msgstr[0] "경로 %d개 되돌림\n"
+
+#: git-add--interactive.perl:662
+#, perl-format
+msgid "touched %d path\n"
+msgid_plural "touched %d paths\n"
+msgstr[0] "경로 %d개 건드림\n"
+
+#: git-add--interactive.perl:671
+msgid "Update"
+msgstr "업데이트"
+
+#: git-add--interactive.perl:683
+msgid "Revert"
+msgstr "되돌리기"
+
+#: git-add--interactive.perl:706
+#, perl-format
+msgid "note: %s is untracked now.\n"
+msgstr "주의: %s은(는) 현재 추적하지 않습니다.\n"
+
+#: git-add--interactive.perl:717
+msgid "Add untracked"
+msgstr "추적하지 않는 파일 추가"
+
+#: git-add--interactive.perl:723
+msgid "No untracked files.\n"
+msgstr "추적하지 않는 파일 없음.\n"
+
+#: git-add--interactive.perl:1039
+msgid ""
+"If the patch applies cleanly, the edited hunk will immediately be\n"
+"marked for staging."
+msgstr ""
+"패치가 깔끔하게 적용되면, 편집 부분은 즉시 스테이징으로\n"
+"표시됩니다."
+
+#: git-add--interactive.perl:1042
+msgid ""
+"If the patch applies cleanly, the edited hunk will immediately be\n"
+"marked for stashing."
+msgstr ""
+"패치가 깔끔하게 적용되면, 편집 부분은 즉시 스태시에\n"
+"표시됩니다."
+
+#: git-add--interactive.perl:1045
+msgid ""
+"If the patch applies cleanly, the edited hunk will immediately be\n"
+"marked for unstaging."
+msgstr ""
+"패치가 깔끔하게 적용되면, 편집 부분은 즉시 스테이징 아님으로\n"
+"표시됩니다."
+
+#: git-add--interactive.perl:1048 git-add--interactive.perl:1057
+msgid ""
+"If the patch applies cleanly, the edited hunk will immediately be\n"
+"marked for applying."
+msgstr ""
+"패치가 깔끔하게 적용되면, 편집 부분은 즉시 적용으로\n"
+"표시됩니다."
+
+#: git-add--interactive.perl:1051
+msgid ""
+"If the patch applies cleanly, the edited hunk will immediately be\n"
+"marked for discarding"
+msgstr ""
+"패치가 깔끔하게 적용되면, 편집 부분은 즉시 버림으로\n"
+"표시됩니다"
+
+#: git-add--interactive.perl:1054
+msgid ""
+"If the patch applies cleanly, the edited hunk will immediately be\n"
+"marked for discarding."
+msgstr ""
+"패치가 깔끔하게 적용되면, 편집 부분은 즉시 버림으로\n"
+"표시됩니다."
+
+#: git-add--interactive.perl:1067
+#, perl-format
+msgid "failed to open hunk edit file for writing: %s"
+msgstr "부분 편집 파일을 쓰기용으로 여는데 실패: '%s'"
+
+#: git-add--interactive.perl:1068
+msgid "Manual hunk edit mode -- see bottom for a quick guide.\n"
+msgstr "수동 부분 편집 모드 -- 빠른 설명은 맨 아래를 보십시오.\n"
+
+#: git-add--interactive.perl:1074
+#, perl-format
+msgid ""
+"---\n"
+"To remove '%s' lines, make them ' ' lines (context).\n"
+"To remove '%s' lines, delete them.\n"
+"Lines starting with %s will be removed.\n"
+msgstr ""
+"---\n"
+"'%s' 줄을 제거하려면, 줄을 ' ' 줄로 만드십시오 (컨텍스트).\n"
+"'%s' 줄을 제거하려면, 줄을 삭제하십시오..\n"
+"%s(으)로 시작하는 줄은 제거됩니다\n"
+
+#. TRANSLATORS: 'it' refers to the patch mentioned in the previous messages.
+#: git-add--interactive.perl:1082
+msgid ""
+"If it does not apply cleanly, you will be given an opportunity to\n"
+"edit again.  If all lines of the hunk are removed, then the edit is\n"
+"aborted and the hunk is left unchanged.\n"
+msgstr ""
+"깔끔하게 적용되지 않으면, 다시 편집할 기회가 있습니다. 모든 줄을 제거할 경"
+"우,\n"
+"편집은 중단되고 이 부분은 변경되지 않은 상태로 남아있게 됩니다.\n"
+
+#: git-add--interactive.perl:1096
+#, perl-format
+msgid "failed to open hunk edit file for reading: %s"
+msgstr "부분 편집 파일을 읽기용으로 여는데 실패: '%s'"
+
+#. TRANSLATORS: do not translate [y/n]
+#. The program will only accept that input
+#. at this point.
+#. Consider translating (saying "no" discards!) as
+#. (saying "n" for "no" discards!) if the translation
+#. of the word "no" does not start with n.
+#: git-add--interactive.perl:1187
+msgid ""
+"Your edited hunk does not apply. Edit again (saying \"no\" discards!) [y/n]? "
+msgstr ""
+"편집한 부분이 적용되지 않습니다. 다시 편집하시겠습니까 (\"no\"라고 하면 버립"
+"니다!) [y/n]? "
+
+#: git-add--interactive.perl:1196
+msgid ""
+"y - stage this hunk\n"
+"n - do not stage this hunk\n"
+"q - quit; do not stage this hunk or any of the remaining ones\n"
+"a - stage this hunk and all later hunks in the file\n"
+"d - do not stage this hunk or any of the later hunks in the file"
+msgstr ""
+"y - 이 부분 스테이징\n"
+"n - 이 부분 스테이징하지 않음\n"
+"q - 끝내기. 이 부분과 나머지 모두 스테이징하지 않음\n"
+"a - 이 부분과 파일의 뒤 부분 모두 스테이징\n"
+"d - 이 부분과 파일의 뒤 부분 모두 스테이징하지 않음"
+
+#: git-add--interactive.perl:1202
+msgid ""
+"y - stash this hunk\n"
+"n - do not stash this hunk\n"
+"q - quit; do not stash this hunk or any of the remaining ones\n"
+"a - stash this hunk and all later hunks in the file\n"
+"d - do not stash this hunk or any of the later hunks in the file"
+msgstr ""
+"y - 이 부분 스태시\n"
+"n - 이 부분 스태시하지 않음\n"
+"q - 끝내기. 이 부분과 나머지 모두 스태시하지 않음\n"
+"a - 이 부분과 파일의 뒤 부분 모두 스태시\n"
+"d - 이 부분과 파일의 뒤 부분 모두 스태시하지 않음"
+
+#: git-add--interactive.perl:1208
+msgid ""
+"y - unstage this hunk\n"
+"n - do not unstage this hunk\n"
+"q - quit; do not unstage this hunk or any of the remaining ones\n"
+"a - unstage this hunk and all later hunks in the file\n"
+"d - do not unstage this hunk or any of the later hunks in the file"
+msgstr ""
+"y - 이 부분 스테이징 해제\n"
+"n - 이 부분 스테이징 해제하지 않음\n"
+"q - 끝내기. 이 부분과 나머지 모두 스테이징 해제하지 않음\n"
+"a - 이 부분과 파일의 뒤 부분 모두 스테이징 해제\n"
+"d - 이 부분과 파일의 뒤 부분 모두 스테이징 해제하지 않음"
+
+#: git-add--interactive.perl:1214
+msgid ""
+"y - apply this hunk to index\n"
+"n - do not apply this hunk to index\n"
+"q - quit; do not apply this hunk or any of the remaining ones\n"
+"a - apply this hunk and all later hunks in the file\n"
+"d - do not apply this hunk or any of the later hunks in the file"
+msgstr ""
+"y - 이 부분 인덱스에 적용\n"
+"n - 이 부분 인덱스에 적용하지 않음\n"
+"q - 끝내기. 이 부분과 나머지 모두 적용하지 않음\n"
+"a - 이 부분과 파일의 뒤 부분 모두 \n"
+"d - 이 부분과 파일의 뒤 부분 모두 적용하지 않음"
+
+#: git-add--interactive.perl:1220
+msgid ""
+"y - discard this hunk from worktree\n"
+"n - do not discard this hunk from worktree\n"
+"q - quit; do not discard this hunk or any of the remaining ones\n"
+"a - discard this hunk and all later hunks in the file\n"
+"d - do not discard this hunk or any of the later hunks in the file"
+msgstr ""
+"y - 이 부분 작업 폴더에서 버림\n"
+"n - 이 부분 작업 폴더에서 버리지 않음\n"
+"q - 끝내기. 이 부분과 나머지 모두 버리지 않음\n"
+"a - 이 부분과 파일의 뒤 부분 모두 버림\n"
+"d - 이 부분과 파일의 뒤 부분 모두 버리지 않음"
+
+#: git-add--interactive.perl:1226
+msgid ""
+"y - discard this hunk from index and worktree\n"
+"n - do not discard this hunk from index and worktree\n"
+"q - quit; do not discard this hunk or any of the remaining ones\n"
+"a - discard this hunk and all later hunks in the file\n"
+"d - do not discard this hunk or any of the later hunks in the file"
+msgstr ""
+"y - 이 부분 인덱스와 작업 폴더에서 버림\n"
+"n - 이 부분 인덱스와 작업 폴더에서 버리지 않음\n"
+"q - 끝내기. 이 부분과 나머지 모두 버리지 않음\n"
+"a - 이 부분과 파일의 뒤 부분 모두 버림\n"
+"d - 이 부분과 파일의 뒤 부분 모두 버리지 않음"
+
+#: git-add--interactive.perl:1232
+msgid ""
+"y - apply this hunk to index and worktree\n"
+"n - do not apply this hunk to index and worktree\n"
+"q - quit; do not apply this hunk or any of the remaining ones\n"
+"a - apply this hunk and all later hunks in the file\n"
+"d - do not apply this hunk or any of the later hunks in the file"
+msgstr ""
+"y - 이 부분 인덱스와 작업 폴더에 적용\n"
+"n - 이 부분 인덱스와 작업 폴더에 적용하지 않음\n"
+"q - 끝내기. 이 부분과 나머지 모두 적용하지 않음\n"
+"a - 이 부분과 파일의 뒤 부분 모두 \n"
+"d - 이 부분과 파일의 뒤 부분 모두 적용하지 않음"
+
+#: git-add--interactive.perl:1241
+msgid ""
+"g - select a hunk to go to\n"
+"/ - search for a hunk matching the given regex\n"
+"j - leave this hunk undecided, see next undecided hunk\n"
+"J - leave this hunk undecided, see next hunk\n"
+"k - leave this hunk undecided, see previous undecided hunk\n"
+"K - leave this hunk undecided, see previous hunk\n"
+"s - split the current hunk into smaller hunks\n"
+"e - manually edit the current hunk\n"
+"? - print help\n"
+msgstr ""
+"g - 이동할 부분 선택\n"
+"/ - 주어진 정규식에 맞는 부분 검색\n"
+"j - 이 부분 미결정 상태로 남겨두고, 다음 미결정 부분 보기\n"
+"J - 이 부분 미결정 상태로 남겨두고, 다음 부분 보기\n"
+"k - 이 부분 미결정 상태로 남겨두고, 이전 미결정 부분 보기\n"
+"K - 이 부분 미결정 상태로 남겨두고, 이전 부분 보기\n"
+"s - 현재 부분을 작은 부분을 쪼개기\n"
+"e - 현재 부분을 수동으로 편집\n"
+"? - 도움말 보기\n"
+
+#: git-add--interactive.perl:1272
+msgid "The selected hunks do not apply to the index!\n"
+msgstr "선택한 부분은 인덱스에 적용되지 않습니다!\n"
+
+#: git-add--interactive.perl:1273
+msgid "Apply them to the worktree anyway? "
+msgstr "그래도 작업 폴더에 적용할까요?"
+
+#: git-add--interactive.perl:1276
+msgid "Nothing was applied.\n"
+msgstr "아무 것도 적용되지 않았습니다.\n"
+
+#: git-add--interactive.perl:1287
+#, perl-format
+msgid "ignoring unmerged: %s\n"
+msgstr "병합하지 않은 사항 무시: %s\n"
+
+#: git-add--interactive.perl:1296
+msgid "Only binary files changed.\n"
+msgstr "바이너리 파일만 바뀌었습니다.\n"
+
+#: git-add--interactive.perl:1298
+msgid "No changes.\n"
+msgstr "변경 사항 없음.\n"
+
+#: git-add--interactive.perl:1306
+msgid "Patch update"
+msgstr "패치 업데이트"
+
+#: git-add--interactive.perl:1358
+#, perl-format
+msgid "Stage mode change [y,n,q,a,d,/%s,?]? "
+msgstr "모드 변경을 스테이징합니까 [y,n,q,a,d,/%s,?]? "
+
+#: git-add--interactive.perl:1359
+#, perl-format
+msgid "Stage deletion [y,n,q,a,d,/%s,?]? "
+msgstr "삭제를 스테이징합니까 [y,n,q,a,d,/%s,?]? "
+
+#: git-add--interactive.perl:1360
+#, perl-format
+msgid "Stage this hunk [y,n,q,a,d,/%s,?]? "
+msgstr "이 부분 스테이징합니까 [y,n,q,a,d,/%s,?]? "
+
+#: git-add--interactive.perl:1363
+#, perl-format
+msgid "Stash mode change [y,n,q,a,d,/%s,?]? "
+msgstr "모드 변경 스태시합니까 [y,n,q,a,d,/%s,?]? "
+
+#: git-add--interactive.perl:1364
+#, perl-format
+msgid "Stash deletion [y,n,q,a,d,/%s,?]? "
+msgstr "삭제 스태시합니까 [y,n,q,a,d,/%s,?]? "
+
+#: git-add--interactive.perl:1365
+#, perl-format
+msgid "Stash this hunk [y,n,q,a,d,/%s,?]? "
+msgstr "이 부분 스태시합니까 [y,n,q,a,d,/%s,?]? "
+
+#: git-add--interactive.perl:1368
+#, perl-format
+msgid "Unstage mode change [y,n,q,a,d,/%s,?]? "
+msgstr "모드 변경 스태시 해제합니까 [y,n,q,a,d,/%s,?]? "
+
+#: git-add--interactive.perl:1369
+#, perl-format
+msgid "Unstage deletion [y,n,q,a,d,/%s,?]? "
+msgstr "삭제 스태시 해제합니까 [y,n,q,a,d,/%s,?]? "
+
+#: git-add--interactive.perl:1370
+#, perl-format
+msgid "Unstage this hunk [y,n,q,a,d,/%s,?]? "
+msgstr "이 부분 스태시 해제합니까 [y,n,q,a,d,/%s,?]? "
+
+#: git-add--interactive.perl:1373
+#, perl-format
+msgid "Apply mode change to index [y,n,q,a,d,/%s,?]? "
+msgstr "모드 변경을 인덱스에 적용합니까 [y,n,q,a,d,/%s,?]? "
+
+#: git-add--interactive.perl:1374
+#, perl-format
+msgid "Apply deletion to index [y,n,q,a,d,/%s,?]? "
+msgstr "삭제를 인덱스에 적용합니까 [y,n,q,a,d,/%s,?]? "
+
+#: git-add--interactive.perl:1375
+#, perl-format
+msgid "Apply this hunk to index [y,n,q,a,d,/%s,?]? "
+msgstr "이 부분을 인덱스에 적용합니까 [y,n,q,a,d,/%s,?]? "
+
+#: git-add--interactive.perl:1378
+#, perl-format
+msgid "Discard mode change from worktree [y,n,q,a,d,/%s,?]? "
+msgstr "모드 변경을 작업 폴더에서 버립니까 [y,n,q,a,d,/%s,?]? "
+
+#: git-add--interactive.perl:1379
+#, perl-format
+msgid "Discard deletion from worktree [y,n,q,a,d,/%s,?]? "
+msgstr "삭제를 작업 폴더에서 버립니까 [y,n,q,a,d,/%s,?]? "
+
+#: git-add--interactive.perl:1380
+#, perl-format
+msgid "Discard this hunk from worktree [y,n,q,a,d,/%s,?]? "
+msgstr "이 부분을 작업 폴더에서 버립니까 [y,n,q,a,d,/%s,?]? "
+
+#: git-add--interactive.perl:1383
+#, perl-format
+msgid "Discard mode change from index and worktree [y,n,q,a,d,/%s,?]? "
+msgstr "모드 변경을 인덱스와 작업 폴더에서 버립니까 [y,n,q,a,d,/%s,?]? "
+
+#: git-add--interactive.perl:1384
+#, perl-format
+msgid "Discard deletion from index and worktree [y,n,q,a,d,/%s,?]? "
+msgstr "삭제를 인덱스와 작업 폴더에서 버립니까 [y,n,q,a,d,/%s,?]? "
+
+#: git-add--interactive.perl:1385
+#, perl-format
+msgid "Discard this hunk from index and worktree [y,n,q,a,d,/%s,?]? "
+msgstr "이 부분을 인덱스와 작업 폴더에서 버립니까 [y,n,q,a,d,/%s,?]? "
+
+#: git-add--interactive.perl:1388
+#, perl-format
+msgid "Apply mode change to index and worktree [y,n,q,a,d,/%s,?]? "
+msgstr "모드 변경을 인덱스와 작업 폴더에 적용합니까 [y,n,q,a,d,/%s,?]? "
+
+#: git-add--interactive.perl:1389
+#, perl-format
+msgid "Apply deletion to index and worktree [y,n,q,a,d,/%s,?]? "
+msgstr "삭제를 인덱스와 작업 폴더에 적용합니까 [y,n,q,a,d,/%s,?]? "
+
+#: git-add--interactive.perl:1390
+#, perl-format
+msgid "Apply this hunk to index and worktree [y,n,q,a,d,/%s,?]? "
+msgstr "이 부분을 인덱스와 작업 폴더에 적용합니까 [y,n,q,a,d,/%s,?]? "
+
+#: git-add--interactive.perl:1493
+msgid "go to which hunk (<ret> to see more)? "
+msgstr "어느 부분으로 이동합니까 (더 보려면 <ret>)? "
+
+#: git-add--interactive.perl:1495
+msgid "go to which hunk? "
+msgstr "어느 부분으로 이동합니까? "
+
+#: git-add--interactive.perl:1504
+#, perl-format
+msgid "Invalid number: '%s'\n"
+msgstr "잘못된 번호: '%s'\n"
+
+#: git-add--interactive.perl:1509
+#, perl-format
+msgid "Sorry, only %d hunk available.\n"
+msgid_plural "Sorry, only %d hunks available.\n"
+msgstr[0] "미안합니다. 부분이 %d개 밖에 없습니다.\n"
+
+#: git-add--interactive.perl:1535
+msgid "search for regex? "
+msgstr "정규식을 검색합니까?"
+
+#: git-add--interactive.perl:1548
+#, perl-format
+msgid "Malformed search regexp %s: %s\n"
+msgstr "잘못된 형태의 검색 정규식 %s: %s\n"
+
+#: git-add--interactive.perl:1558
+msgid "No hunk matches the given pattern\n"
+msgstr "[주어진 패턴에 맞는 부분이 없습니다\n"
+
+#: git-add--interactive.perl:1570 git-add--interactive.perl:1592
+msgid "No previous hunk\n"
+msgstr "이전 부분이 없습니다\n"
+
+#: git-add--interactive.perl:1579 git-add--interactive.perl:1598
+msgid "No next hunk\n"
+msgstr "다음 부분이 없습니다\n"
+
+#: git-add--interactive.perl:1606
+#, perl-format
+msgid "Split into %d hunk.\n"
+msgid_plural "Split into %d hunks.\n"
+msgstr[0] "%d개 부분으로 나눕니다.\n"
+
+#: git-add--interactive.perl:1658
+msgid "Review diff"
+msgstr "diff 검토"
+
+#. TRANSLATORS: please do not translate the command names
+#. 'status', 'update', 'revert', etc.
+#: git-add--interactive.perl:1677
+msgid ""
+"status        - show paths with changes\n"
+"update        - add working tree state to the staged set of changes\n"
+"revert        - revert staged set of changes back to the HEAD version\n"
+"patch         - pick hunks and update selectively\n"
+"diff\t      - view diff between HEAD and index\n"
+"add untracked - add contents of untracked files to the staged set of "
+"changes\n"
+msgstr ""
+"status        - 변경 사항이 있는 경로를 표시합니다\n"
+"update        - 변경 사항 스테이징 모음에 작업 폴더 상태를 추가합니다\n"
+"revert        - 변경 사항 스테이징 모음을 HEAD 버전으로 되돌립니다\n"
+"patch         - 바뀐 부분을 골라서 개별적으로 업데이트합니다\n"
+"diff          - HEAD와 인덱스 사이의 차이점을 봅니다\n"
+"add untracked - 추적되지 않는 파일의 내용을 변경 사항 스테이징 모음에 추가합"
+"니다\n"
+
+#: git-add--interactive.perl:1694 git-add--interactive.perl:1699
+#: git-add--interactive.perl:1702 git-add--interactive.perl:1709
+#: git-add--interactive.perl:1713 git-add--interactive.perl:1719
+msgid "missing --"
+msgstr "-- 빠짐"
+
+#: git-add--interactive.perl:1715
+#, perl-format
+msgid "unknown --patch mode: %s"
+msgstr "알 수 없는 --patch 모드: %s"
+
+#: git-add--interactive.perl:1721 git-add--interactive.perl:1727
+#, perl-format
+msgid "invalid argument %s, expecting --"
+msgstr "인자가 (%s) 잘못되었고, --가 와야 합니다"
+
+# 주의: 초 단위일 경우를 말한다
+#: git-send-email.perl:121
+msgid "local zone differs from GMT by a non-minute interval\n"
+msgstr "지역 시간대와 GMT의 차이가 분 단위가 아닙니다\n"
+
+#: git-send-email.perl:128 git-send-email.perl:134
+msgid "local time offset greater than or equal to 24 hours\n"
+msgstr "지역 시각 오프셋이 24시간보다 크거나 작습니다\n"
+
+#: git-send-email.perl:202 git-send-email.perl:208
+msgid "the editor exited uncleanly, aborting everything"
+msgstr "편집기가 비정상적으로 끝나서, 모두 중지합니다"
+
+#: git-send-email.perl:282
+#, perl-format
+msgid ""
+"'%s' contains an intermediate version of the email you were composing.\n"
+msgstr "'%s' 안에 작성 중이었던 중간 버전의 전자메일이 들어 있습니다.\n"
+
+#: git-send-email.perl:287
+#, perl-format
+msgid "'%s.final' contains the composed email.\n"
+msgstr "'%s.final' 안에 작성한 전자메일이 들어 있습니다.\n"
+
+#: git-send-email.perl:305
+msgid "--dump-aliases incompatible with other options\n"
+msgstr "--dump-aliases 옵션은 다른 옵션과 호환되지 않습니다\n"
+
+#: git-send-email.perl:368 git-send-email.perl:623
+msgid "Cannot run git format-patch from outside a repository\n"
+msgstr "저장소 밖에서 git format-patch 명령을 실행할 수 없습니다\n"
+
+#: git-send-email.perl:437
+#, perl-format
+msgid "Unknown --suppress-cc field: '%s'\n"
+msgstr "알 수 없는 --suppress-cc 필드: '%s'\n"
+
+#: git-send-email.perl:466
+#, perl-format
+msgid "Unknown --confirm setting: '%s'\n"
+msgstr "알 수 없는 --confirm 설정: '%s'\n"
+
+#: git-send-email.perl:498
+#, perl-format
+msgid "warning: sendmail alias with quotes is not supported: %s\n"
+msgstr "경고: 따옴표가 있는 sendmail 별칭은 지원하지 않습니다: %s\n"
+
+#: git-send-email.perl:500
+#, perl-format
+msgid "warning: `:include:` not supported: %s\n"
+msgstr "경고: `:include:`는 지원하지 않습니다: %s\n"
+
+#: git-send-email.perl:502
+#, perl-format
+msgid "warning: `/file` or `|pipe` redirection not supported: %s\n"
+msgstr "경고: `/file` 또는 `|pipe` 리다이렉션은 지원하지 않습니다: %s\n"
+
+#: git-send-email.perl:507
+#, perl-format
+msgid "warning: sendmail line is not recognized: %s\n"
+msgstr "경고: sendmail 줄이 인식되지 않습니다: %s\n"
+
+#: git-send-email.perl:589
+#, perl-format
+msgid ""
+"File '%s' exists but it could also be the range of commits\n"
+"to produce patches for.  Please disambiguate by...\n"
+"\n"
+"    * Saying \"./%s\" if you mean a file; or\n"
+"    * Giving --format-patch option if you mean a range.\n"
+msgstr ""
+"'%s' 파일이 있지만 이 파일은 패치를 만들 대상인 커밋의 범위가\n"
+"될 수도 있습니다. 다음과 같이 애매함을 없애 주십시오...\n"
+"\n"
+"    * 파일을 의도했다면 \"./%s\"(이)라고 쓰고, 아니면\n"
+"    * 범위를 의도했다면 --format-patch 옵션 사용\n"
+
+#: git-send-email.perl:610
+#, perl-format
+msgid "Failed to opendir %s: %s"
+msgstr "%s에 opendir 실패: %s"
+
+#: git-send-email.perl:634
+#, perl-format
+msgid ""
+"fatal: %s: %s\n"
+"warning: no patches were sent\n"
+msgstr ""
+"치명적 오류: %s: %s\n"
+"경고: 패치를 보내지 않았습니다\n"
+
+#: git-send-email.perl:645
+msgid ""
+"\n"
+"No patch files specified!\n"
+"\n"
+msgstr ""
+"\n"
+"패치 파일을 지정하지 않았습니다\n"
+"\n"
+
+#: git-send-email.perl:658
+#, perl-format
+msgid "No subject line in %s?"
+msgstr "%s 안에 제목 줄이 없습니다?"
+
+#: git-send-email.perl:668
+#, perl-format
+msgid "Failed to open for writing %s: %s"
+msgstr "%s에 쓰려고 여는데 실패: %s"
+
+#: git-send-email.perl:678
+msgid ""
+"Lines beginning in \"GIT:\" will be removed.\n"
+"Consider including an overall diffstat or table of contents\n"
+"for the patch you are writing.\n"
+"\n"
+"Clear the body content if you don't wish to send a summary.\n"
+msgstr ""
+"\"GIT:\"으로 시작하는 줄은 제거됩니다.\n"
+"작성 중인 패치에 대해 전체 diffstat을 포함하거나\n"
+"목차를 포함해 보십시오.\n"
+"\n"
+"요약을 보내는 게 아니라면 본문 내용을 지우십시오.\n"
+
+#: git-send-email.perl:701
+#, perl-format
+msgid "Failed to open %s.final: %s"
+msgstr "%s.final을 여는데 실패: %s"
+
+#: git-send-email.perl:704
+#, perl-format
+msgid "Failed to open %s: %s"
+msgstr "%s을(를) 여는데 실패: %s"
+
+#: git-send-email.perl:739
+msgid "To/Cc/Bcc fields are not interpreted yet, they have been ignored\n"
+msgstr "To/Cc/Bcc 필드가 해석되지 않아서, 무시합니다\n"
+
+#: git-send-email.perl:748
+msgid "Summary email is empty, skipping it\n"
+msgstr "요약 전자메일이 비어 있어서 넘어갑니다.\n"
+
+#. TRANSLATORS: please keep [y/N] as is.
+#: git-send-email.perl:780
+#, perl-format
+msgid "Are you sure you want to use <%s> [y/N]? "
+msgstr "정말로 <%s>을(를) 사용하시겠습니까 [y/N]? "
+
+# 주의: '8bit'이라고 그대로 쓴다. 메일 encoding 헤더에 쓸 literal을 가리킴
+#: git-send-email.perl:809
+msgid ""
+"The following files are 8bit, but do not declare a Content-Transfer-"
+"Encoding.\n"
+msgstr ""
+"다음 파일이 8bit이지만, Content-Transfer-Encoding을 설정하지 않았습니다.\n"
+
+# 주의: '8bit'이라고 그대로 쓴다. 메일 encoding 헤더에 쓸 literal을 가리킴
+#: git-send-email.perl:814
+msgid "Which 8bit encoding should I declare [UTF-8]? "
+msgstr "어떤 8bit 인코딩을 선언합니까 [UTF-8]? "
+
+#: git-send-email.perl:822
+#, perl-format
+msgid ""
+"Refusing to send because the patch\n"
+"\t%s\n"
+"has the template subject '*** SUBJECT HERE ***'. Pass --force if you really "
+"want to send.\n"
+msgstr ""
+"보내지 않습니다. 다음 패치가\n"
+"\t%s\n"
+"제목 서식인 '*** SUBJECT HERE ***'가 들어 있습니다. 정말로 보내려면 --force "
+"옵션을 사용하십시오.\n"
+
+#: git-send-email.perl:841
+msgid "To whom should the emails be sent (if anyone)?"
+msgstr "누구에게 전자메일을 보내야 합니까 (보낼 대상이 있다면)?"
+
+#: git-send-email.perl:859
+#, perl-format
+msgid "fatal: alias '%s' expands to itself\n"
+msgstr "치명적 오류: '%s' 별칭은 자기 자신을 가리킵니다\n"
+
+#: git-send-email.perl:871
+msgid "Message-ID to be used as In-Reply-To for the first email (if any)? "
+msgstr "첫 메일에 대해 (있다면) Message-ID가 In-Reply-To에 사용되었습니다? "
+
+#: git-send-email.perl:921 git-send-email.perl:929
+#, perl-format
+msgid "error: unable to extract a valid address from: %s\n"
+msgstr "오류: 다음에서 올바른 주소를 추출할 수 없습니다: %s\n"
+
+#. TRANSLATORS: Make sure to include [q] [d] [e] in your
+#. translation. The program will only accept English input
+#. at this point.
+#: git-send-email.perl:933
+msgid "What to do with this address? ([q]uit|[d]rop|[e]dit): "
+msgstr "이 주소로 무엇을 하시겠습니까? ([q]끝내기|[d]버리기|[e]편집): "
+
+#: git-send-email.perl:1234
+#, perl-format
+msgid "CA path \"%s\" does not exist"
+msgstr "\"%s\" CA 경로가 없습니다"
+
+#: git-send-email.perl:1309
+msgid ""
+"    The Cc list above has been expanded by additional\n"
+"    addresses found in the patch commit message. By default\n"
+"    send-email prompts before sending whenever this occurs.\n"
+"    This behavior is controlled by the sendemail.confirm\n"
+"    configuration setting.\n"
+"\n"
+"    For additional information, run 'git send-email --help'.\n"
+"    To retain the current behavior, but squelch this message,\n"
+"    run 'git config --global sendemail.confirm auto'.\n"
+"\n"
+msgstr ""
+"    위의 Cc 목록은 패치 커밋 메시지에 들어 있는 추가 주소로\n"
+"    확장됩니다. 기본값으로 확장되기 전에 send-email에서\n"
+"    물어봅니다. 이런 동작은 sendmail.confirm 설정에서\n"
+"    조정할 수 있습니다.\n"
+"\n"
+"    정보를 더 보려면, 'git send-email --help'를 실행하십시오.\n"
+"    현재 동작을 유지하려면, 이 메시지를 무시하고,\n"
+"    'git config --global sendemail.confirm auto' 명령을\n"
+"    실행하십시오.\n"
+"\n"
+
+#. TRANSLATORS: Make sure to include [y] [n] [q] [a] in your
+#. translation. The program will only accept English input
+#. at this point.
+#: git-send-email.perl:1324
+msgid "Send this email? ([y]es|[n]o|[q]uit|[a]ll): "
+msgstr "이 전자메일을 보내시겠습니까? ([y]예|[n]아니오|[q]끝내기|[a]모두): "
+
+#: git-send-email.perl:1327
+msgid "Send this email reply required"
+msgstr "필요한 전자메일 답장 보냅니다"
+
+#: git-send-email.perl:1353
+msgid "The required SMTP server is not properly defined."
+msgstr "필요한 SMTP 서버를 제대로 지정하지 않았습니다."
+
+#: git-send-email.perl:1397
+#, perl-format
+msgid "Server does not support STARTTLS! %s"
+msgstr "서버에서 STARTTLS를 지원하지 않습니다! %s"
+
+#: git-send-email.perl:1403
+msgid "Unable to initialize SMTP properly. Check config and use --smtp-debug."
+msgstr ""
+"SMTP를 제대로 초기화할 수 없습니다. 설정을 확인하고 --smtp-debug 옵션을 사용"
+"하십시오."
+
+#: git-send-email.perl:1421
+#, perl-format
+msgid "Failed to send %s\n"
+msgstr "%s을(를) 보내는데 실패했습니다\n"
+
+#: git-send-email.perl:1424
+#, perl-format
+msgid "Dry-Sent %s\n"
+msgstr "%s 보내는 흉내\n"
+
+#: git-send-email.perl:1424
+#, perl-format
+msgid "Sent %s\n"
+msgstr "%s 보냄\n"
+
+#: git-send-email.perl:1426
+msgid "Dry-OK. Log says:\n"
+msgstr "성공 흉내. 기록은:\n"
+
+#: git-send-email.perl:1426
+msgid "OK. Log says:\n"
+msgstr "성공. 기록은:\n"
+
+#: git-send-email.perl:1438
+msgid "Result: "
+msgstr "결과: "
+
+#: git-send-email.perl:1441
+msgid "Result: OK\n"
+msgstr "결과: 정상\n"
+
+#: git-send-email.perl:1454
+#, perl-format
+msgid "can't open file %s"
+msgstr "%s 파일을 열 수 없습니다"
+
+#: git-send-email.perl:1501 git-send-email.perl:1521
+#, perl-format
+msgid "(mbox) Adding cc: %s from line '%s'\n"
+msgstr "(mbox) cc: %s 추가, '%s' 줄에서\n"
+
+#: git-send-email.perl:1507
+#, perl-format
+msgid "(mbox) Adding to: %s from line '%s'\n"
+msgstr "(mbox) to: %s 추가, '%s' 줄에서\n"
+
+#: git-send-email.perl:1555
+#, perl-format
+msgid "(non-mbox) Adding cc: %s from line '%s'\n"
+msgstr "(mbox아님) cc: %s 추가, '%s' 줄에서\n"
+
+#: git-send-email.perl:1578
+#, perl-format
+msgid "(body) Adding cc: %s from line '%s'\n"
+msgstr "(본문) cc: %s 추가, '%s' 줄에서\n"
+
+#: git-send-email.perl:1676
+#, perl-format
+msgid "(%s) Could not execute '%s'"
+msgstr "(%s) '%s'을 실행할 수 없습니다"
+
+#: git-send-email.perl:1683
+#, perl-format
+msgid "(%s) Adding %s: %s from: '%s'\n"
+msgstr "(%s) %s: %s 추가, '%s' 줄에서\n"
+
+#: git-send-email.perl:1687
+#, perl-format
+msgid "(%s) failed to close pipe to '%s'"
+msgstr "(%s) '%s'(을)를 향한 파이프를 닫는데 실패했습니다"
+
+#: git-send-email.perl:1714
+msgid "cannot send message as 7bit"
+msgstr "메시지를 7비트로 보낼 수 없습니다"
+
+#: git-send-email.perl:1722
+msgid "invalid transfer encoding"
+msgstr "잘못된 전송 인코딩"
+
+#: git-send-email.perl:1741 git-send-email.perl:1792 git-send-email.perl:1802
+#, perl-format
+msgid "unable to open %s: %s\n"
+msgstr "%s을(를) 열 수 없습니다: %s\n"
+
+#: git-send-email.perl:1744
+#, perl-format
+msgid "%s: patch contains a line longer than 998 characters"
+msgstr "%s: 패치에 998자보다 더 긴 줄이 들어 있습니다"
+
+#: git-send-email.perl:1760
+#, perl-format
+msgid "Skipping %s with backup suffix '%s'.\n"
+msgstr "%s 넘어감, 예비 확장자 '%s' 있음.\n"
+
+#. TRANSLATORS: please keep "[y|N]" as is.
+#: git-send-email.perl:1764
+#, perl-format
+msgid "Do you really want to send %s? [y|N]: "
+msgstr "정말로 %s 파일을 보내시겠습니까? [y|N]: "
diff --git a/po/pt_PT.po b/po/pt_PT.po
index c8e096e..114992d 100644
--- a/po/pt_PT.po
+++ b/po/pt_PT.po
@@ -4,13 +4,13 @@
 # This file is distributed under the same license as the Git package.
 # Contributors:
 # - Marco Sousa <marcomsousa AT gmail.com>
-# Vasco Almeida <vascomalmeida@sapo.pt>, 2016.
+# Vasco Almeida <vascomalmeida@sapo.pt>, 2016, 2017.
 msgid ""
 msgstr ""
 "Project-Id-Version: Git\n"
 "Report-Msgid-Bugs-To: Git Mailing List <git@vger.kernel.org>\n"
-"POT-Creation-Date: 2016-11-25 22:50+0800\n"
-"PO-Revision-Date: 2016-11-25 22:58+0800\n"
+"POT-Creation-Date: 2017-02-18 01:00+0800\n"
+"PO-Revision-Date: 2017-02-23 16:05-0100\n"
 "Last-Translator: Vasco Almeida <vascomalmeida@sapo.pt>\n"
 "Language-Team: Portuguese\n"
 "Language: pt\n"
@@ -18,7 +18,7 @@
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Virtaal 0.7.1\n"
+"X-Generator: Poedit 1.8.12\n"
 
 #: advice.c:55
 #, c-format
@@ -27,8 +27,7 @@
 
 #: advice.c:83
 msgid "Cherry-picking is not possible because you have unmerged files."
-msgstr ""
-"Não é possível efetuar cherry-pick porque tem ficheiros não integrados."
+msgstr "Não é possível efetuar cherry-pick porque tem ficheiros não integrados."
 
 #: advice.c:85
 msgid "Committing is not possible because you have unmerged files."
@@ -63,7 +62,7 @@
 msgid "Exiting because of an unresolved conflict."
 msgstr "A terminar devido a conflito não resolvido."
 
-#: advice.c:114 builtin/merge.c:1181
+#: advice.c:114 builtin/merge.c:1206
 msgid "You have not concluded your merge (MERGE_HEAD exists)."
 msgstr "Não concluído a integração (MERGE_HEAD presente)."
 
@@ -246,34 +245,34 @@
 msgid "patch with only garbage at line %d"
 msgstr "patch incompreensível na linha %d"
 
-#: apply.c:2274
+#: apply.c:2265
 #, c-format
 msgid "unable to read symlink %s"
 msgstr "não é possível ler a ligação simbólica %s"
 
-#: apply.c:2278
+#: apply.c:2269
 #, c-format
 msgid "unable to open or read %s"
 msgstr "não é possível abrir ou ler %s"
 
-#: apply.c:2931
+#: apply.c:2922
 #, c-format
 msgid "invalid start of line: '%c'"
 msgstr "início de linha inválido: '%c'"
 
-#: apply.c:3050
+#: apply.c:3041
 #, c-format
 msgid "Hunk #%d succeeded at %d (offset %d line)."
 msgid_plural "Hunk #%d succeeded at %d (offset %d lines)."
 msgstr[0] "Excerto nº%d bem sucedido na linha %d (%d linha deslocada)."
 msgstr[1] "Excerto nº%d bem sucedido na linha %d (%d linhas deslocadas)."
 
-#: apply.c:3062
+#: apply.c:3053
 #, c-format
 msgid "Context reduced to (%ld/%ld) to apply fragment at %d"
 msgstr "Contexto reduzido para (%ld/%ld) para aplicar o fragmento em %d"
 
-#: apply.c:3068
+#: apply.c:3059
 #, c-format
 msgid ""
 "while searching for:\n"
@@ -282,448 +281,448 @@
 "ao procura por:\n"
 "%.*s"
 
-#: apply.c:3090
+#: apply.c:3081
 #, c-format
 msgid "missing binary patch data for '%s'"
 msgstr "falta de dados do patch binário '%s'"
 
-#: apply.c:3098
+#: apply.c:3089
 #, c-format
 msgid "cannot reverse-apply a binary patch without the reverse hunk to '%s'"
 msgstr ""
 "não é possível aplicar o reverso de um patch binário a '%s' sem o excerto "
 "reverso"
 
-#: apply.c:3144
+#: apply.c:3135
 #, c-format
 msgid "cannot apply binary patch to '%s' without full index line"
 msgstr ""
 "não é possível aplicar patch binário a '%s' sem linha de índice completa"
 
-#: apply.c:3154
+#: apply.c:3145
 #, c-format
 msgid ""
 "the patch applies to '%s' (%s), which does not match the current contents."
 msgstr ""
 "o patch aplica-se a '%s' (%s), que não corresponde aos conteúdos atuais."
 
-#: apply.c:3162
+#: apply.c:3153
 #, c-format
 msgid "the patch applies to an empty '%s' but it is not empty"
 msgstr "o patch aplica-se a um '%s' vazio mas não está vazio"
 
-#: apply.c:3180
+#: apply.c:3171
 #, c-format
 msgid "the necessary postimage %s for '%s' cannot be read"
 msgstr "não é possível ler a postimage necessária %s de '%s'"
 
-#: apply.c:3193
+#: apply.c:3184
 #, c-format
 msgid "binary patch does not apply to '%s'"
 msgstr "o patch binário não foi aplicado corretamente a '%s'"
 
-#: apply.c:3199
+#: apply.c:3190
 #, c-format
 msgid "binary patch to '%s' creates incorrect result (expecting %s, got %s)"
 msgstr ""
 "o patch binário aplicado a '%s' gera resultados incorretos (esperava-se %s, "
 "obteve-se %s)"
 
-#: apply.c:3220
+#: apply.c:3211
 #, c-format
 msgid "patch failed: %s:%ld"
 msgstr "falha ao aplicar o patch: %s:%ld"
 
-#: apply.c:3342
+#: apply.c:3333
 #, c-format
 msgid "cannot checkout %s"
 msgstr "não é possível extrair %s"
 
-#: apply.c:3390 apply.c:3401 apply.c:3447 setup.c:248
+#: apply.c:3381 apply.c:3392 apply.c:3438 setup.c:248
 #, c-format
 msgid "failed to read %s"
 msgstr "falha ao ler %s"
 
-#: apply.c:3398
+#: apply.c:3389
 #, c-format
 msgid "reading from '%s' beyond a symbolic link"
 msgstr "a ler '%s' indicado por uma ligação simbólica"
 
-#: apply.c:3427 apply.c:3667
+#: apply.c:3418 apply.c:3658
 #, c-format
 msgid "path %s has been renamed/deleted"
 msgstr "o caminho %s foi eliminado ou mudou de nome"
 
-#: apply.c:3510 apply.c:3681
+#: apply.c:3501 apply.c:3672
 #, c-format
 msgid "%s: does not exist in index"
 msgstr "%s: não existe no índice"
 
-#: apply.c:3519 apply.c:3689
+#: apply.c:3510 apply.c:3680
 #, c-format
 msgid "%s: does not match index"
 msgstr "%s: não tem correspondência no índice"
 
-#: apply.c:3554
+#: apply.c:3545
 msgid "repository lacks the necessary blob to fall back on 3-way merge."
 msgstr ""
 "o repositório não tem o blob necessário para recorrer a integração com 3 "
 "pontos."
 
-#: apply.c:3557
+#: apply.c:3548
 #, c-format
 msgid "Falling back to three-way merge...\n"
 msgstr "A recorrer a integração com 3 pontos...\n"
 
-#: apply.c:3573 apply.c:3577
+#: apply.c:3564 apply.c:3568
 #, c-format
 msgid "cannot read the current contents of '%s'"
 msgstr "não é possível ler o conteúdo atual de '%s'"
 
-#: apply.c:3589
+#: apply.c:3580
 #, c-format
 msgid "Failed to fall back on three-way merge...\n"
 msgstr "Falha a recorrer a integração com 3 pontos...\n"
 
-#: apply.c:3603
+#: apply.c:3594
 #, c-format
 msgid "Applied patch to '%s' with conflicts.\n"
 msgstr "Patch aplicado a '%s' com conflitos.\n"
 
-#: apply.c:3608
+#: apply.c:3599
 #, c-format
 msgid "Applied patch to '%s' cleanly.\n"
 msgstr "Patch aplicado a '%s' com sucesso.\n"
 
-#: apply.c:3634
+#: apply.c:3625
 msgid "removal patch leaves file contents"
 msgstr "patch de remoção deixa conteúdos no ficheiro"
 
-#: apply.c:3706
+#: apply.c:3697
 #, c-format
 msgid "%s: wrong type"
 msgstr "%s: tipo errado"
 
-#: apply.c:3708
+#: apply.c:3699
 #, c-format
 msgid "%s has type %o, expected %o"
 msgstr "%s é do tipo %o, esperado %o"
 
-#: apply.c:3859 apply.c:3861
+#: apply.c:3850 apply.c:3852
 #, c-format
 msgid "invalid path '%s'"
 msgstr "caminho inválido '%s'"
 
-#: apply.c:3917
+#: apply.c:3908
 #, c-format
 msgid "%s: already exists in index"
 msgstr "%s: já existe no índice"
 
-#: apply.c:3920
+#: apply.c:3911
 #, c-format
 msgid "%s: already exists in working directory"
 msgstr "%s: já existe no diretório de trabalho"
 
-#: apply.c:3940
+#: apply.c:3931
 #, c-format
 msgid "new mode (%o) of %s does not match old mode (%o)"
 msgstr "o novo modo (%o) de %s não corresponde ao modo antigo (%o)"
 
-#: apply.c:3945
+#: apply.c:3936
 #, c-format
 msgid "new mode (%o) of %s does not match old mode (%o) of %s"
 msgstr "o novo modo (%o) de %s não corresponde ao modo antigo (%o) de %s"
 
-#: apply.c:3965
+#: apply.c:3956
 #, c-format
 msgid "affected file '%s' is beyond a symbolic link"
 msgstr "o ficheiro afetado '%s' é indicado por uma ligação simbólica"
 
-#: apply.c:3969
+#: apply.c:3960
 #, c-format
 msgid "%s: patch does not apply"
 msgstr "%s: patch não se aplica com sucesso"
 
-#: apply.c:3984
+#: apply.c:3975
 #, c-format
 msgid "Checking patch %s..."
 msgstr "A verificar o patch %s..."
 
-#: apply.c:4075
+#: apply.c:4066
 #, c-format
 msgid "sha1 information is lacking or useless for submodule %s"
 msgstr "falta informação de sha1 ou não é útil para o submódulo %s"
 
-#: apply.c:4082
+#: apply.c:4073
 #, c-format
 msgid "mode change for %s, which is not in current HEAD"
 msgstr "alteração de modo de %s que não está na HEAD atual"
 
-#: apply.c:4085
+#: apply.c:4076
 #, c-format
 msgid "sha1 information is lacking or useless (%s)."
 msgstr "falta informação de sha1 ou não é útil (%s)."
 
-#: apply.c:4090 builtin/checkout.c:233 builtin/reset.c:135
+#: apply.c:4081 builtin/checkout.c:233 builtin/reset.c:135
 #, c-format
 msgid "make_cache_entry failed for path '%s'"
 msgstr "falha ao invocar make_cache_entry em '%s'"
 
-#: apply.c:4094
+#: apply.c:4085
 #, c-format
 msgid "could not add %s to temporary index"
 msgstr "não foi possível adicionar %s ao índice temporário"
 
-#: apply.c:4104
+#: apply.c:4095
 #, c-format
 msgid "could not write temporary index to %s"
 msgstr "não foi possível escrever índice temporário para %s"
 
-#: apply.c:4242
+#: apply.c:4233
 #, c-format
 msgid "unable to remove %s from index"
 msgstr "não é possível remover %s do índice"
 
-#: apply.c:4277
+#: apply.c:4268
 #, c-format
 msgid "corrupt patch for submodule %s"
 msgstr "patch corrompido no submódulo %s"
 
-#: apply.c:4283
+#: apply.c:4274
 #, c-format
 msgid "unable to stat newly created file '%s'"
 msgstr "não é possível obter estado do novo ficheiro criado '%s'"
 
-#: apply.c:4291
+#: apply.c:4282
 #, c-format
 msgid "unable to create backing store for newly created file %s"
 msgstr ""
 "não é possível criar armazenamento de segurança do ficheiro recém-criado %s"
 
-#: apply.c:4297 apply.c:4441
+#: apply.c:4288 apply.c:4432
 #, c-format
 msgid "unable to add cache entry for %s"
 msgstr "não é possível adicionar %s à cache"
 
-#: apply.c:4338
+#: apply.c:4329
 #, c-format
 msgid "failed to write to '%s'"
 msgstr "falha ao escrever para '%s'"
 
-#: apply.c:4342
+#: apply.c:4333
 #, c-format
 msgid "closing file '%s'"
 msgstr "a fechar o ficheiro '%s'"
 
-#: apply.c:4412
+#: apply.c:4403
 #, c-format
 msgid "unable to write file '%s' mode %o"
 msgstr "não é possível escrever o ficheiro '%s' com o modo %o"
 
-#: apply.c:4510
+#: apply.c:4501
 #, c-format
 msgid "Applied patch %s cleanly."
 msgstr "Patch %s aplicado com sucesso."
 
-#: apply.c:4518
+#: apply.c:4509
 msgid "internal error"
 msgstr "erro interno"
 
-#: apply.c:4521
+#: apply.c:4512
 #, c-format
 msgid "Applying patch %%s with %d reject..."
 msgid_plural "Applying patch %%s with %d rejects..."
 msgstr[0] "A aplicar patch %%s com %d rejeição..."
 msgstr[1] "A aplicar patch %%s com %d rejeições..."
 
-#: apply.c:4532
+#: apply.c:4523
 #, c-format
 msgid "truncating .rej filename to %.*s.rej"
 msgstr "a truncar o nome do ficheiro .rej em %.*s.rej"
 
-#: apply.c:4540 builtin/fetch.c:740 builtin/fetch.c:989
+#: apply.c:4531 builtin/fetch.c:737 builtin/fetch.c:986
 #, c-format
 msgid "cannot open %s"
 msgstr "não é possível abrir %s"
 
-#: apply.c:4554
+#: apply.c:4545
 #, c-format
 msgid "Hunk #%d applied cleanly."
 msgstr "Excerto nº%d aplicado com sucesso."
 
-#: apply.c:4558
+#: apply.c:4549
 #, c-format
 msgid "Rejected hunk #%d."
 msgstr "Excerto nº%d rejeitado."
 
-#: apply.c:4668
+#: apply.c:4659
 #, c-format
 msgid "Skipped patch '%s'."
 msgstr "Patch '%s' ignorado."
 
-#: apply.c:4676
+#: apply.c:4667
 msgid "unrecognized input"
 msgstr "entrada não reconhecida"
 
-#: apply.c:4695
+#: apply.c:4686
 msgid "unable to read index file"
 msgstr "não foi possível ler o ficheiro de índice"
 
-#: apply.c:4833
+#: apply.c:4824
 #, c-format
 msgid "can't open patch '%s': %s"
 msgstr "não é possível abrir o patch '%s': %s"
 
-#: apply.c:4858
+#: apply.c:4849
 #, c-format
 msgid "squelched %d whitespace error"
 msgid_plural "squelched %d whitespace errors"
 msgstr[0] "%d erro de espaço em branco reprimido"
 msgstr[1] "%d erros de espaço em branco reprimidos"
 
-#: apply.c:4864 apply.c:4879
+#: apply.c:4855 apply.c:4870
 #, c-format
 msgid "%d line adds whitespace errors."
 msgid_plural "%d lines add whitespace errors."
 msgstr[0] "%d linha adiciona erros de espaço em branco."
 msgstr[1] "%d linhas adicionam erros de espaço em branco."
 
-#: apply.c:4872
+#: apply.c:4863
 #, c-format
 msgid "%d line applied after fixing whitespace errors."
 msgid_plural "%d lines applied after fixing whitespace errors."
 msgstr[0] "%d linha aplicada depois de corrigir erros de espaço em branco."
 msgstr[1] "%d linhas aplicadas depois de corrigir erros de espaço em branco."
 
-#: apply.c:4888 builtin/add.c:463 builtin/mv.c:286 builtin/rm.c:431
+#: apply.c:4879 builtin/add.c:463 builtin/mv.c:298 builtin/rm.c:391
 msgid "Unable to write new index file"
 msgstr "Não foi possível escrever novo ficheiro de índice"
 
-#: apply.c:4919 apply.c:4922 builtin/am.c:2277 builtin/am.c:2280
+#: apply.c:4910 apply.c:4913 builtin/am.c:2277 builtin/am.c:2280
 #: builtin/clone.c:95 builtin/fetch.c:98 builtin/pull.c:180
-#: builtin/submodule--helper.c:281 builtin/submodule--helper.c:407
-#: builtin/submodule--helper.c:589 builtin/submodule--helper.c:592
-#: builtin/submodule--helper.c:944 builtin/submodule--helper.c:947
+#: builtin/submodule--helper.c:281 builtin/submodule--helper.c:591
+#: builtin/submodule--helper.c:594 builtin/submodule--helper.c:960
+#: builtin/submodule--helper.c:963 builtin/submodule--helper.c:1104
+#: git-add--interactive.perl:239
 msgid "path"
 msgstr "caminho"
 
-#: apply.c:4920
+#: apply.c:4911
 msgid "don't apply changes matching the given path"
 msgstr "não aplicar alterações que correspondam ao caminho fornecido"
 
-#: apply.c:4923
+#: apply.c:4914
 msgid "apply changes matching the given path"
 msgstr "aplicar alterações que correspondam ao caminho fornecido"
 
-#: apply.c:4925 builtin/am.c:2286
+#: apply.c:4916 builtin/am.c:2286
 msgid "num"
 msgstr "num"
 
-#: apply.c:4926
+#: apply.c:4917
 msgid "remove <num> leading slashes from traditional diff paths"
 msgstr "remover <num> barras à esquerda dos caminhos de diff tradicional"
 
-#: apply.c:4929
+#: apply.c:4920
 msgid "ignore additions made by the patch"
 msgstr "ignorar adições feitas pelo patch"
 
-#: apply.c:4931
+#: apply.c:4922
 msgid "instead of applying the patch, output diffstat for the input"
 msgstr "em vez de aplicar o patch, mostrar o diffstat da entrada"
 
-#: apply.c:4935
+#: apply.c:4926
 msgid "show number of added and deleted lines in decimal notation"
 msgstr "mostrar número de linhas adicionadas e removidas em notação decimal"
 
-#: apply.c:4937
+#: apply.c:4928
 msgid "instead of applying the patch, output a summary for the input"
 msgstr "em vez de aplicar o patch, mostrar um resumo da entrada"
 
-#: apply.c:4939
+#: apply.c:4930
 msgid "instead of applying the patch, see if the patch is applicable"
 msgstr "em vez de aplicar o patch, verificar se o patch pode ser aplicado"
 
-#: apply.c:4941
+#: apply.c:4932
 msgid "make sure the patch is applicable to the current index"
 msgstr "garantir que o patch pode ser aplicado ao índice atual"
 
-#: apply.c:4943
+#: apply.c:4934
 msgid "apply a patch without touching the working tree"
 msgstr "aplicar um patch sem tocar na árvore de trabalho"
 
-#: apply.c:4945
+#: apply.c:4936
 msgid "accept a patch that touches outside the working area"
 msgstr "aceitar patches que alteram ficheiros fora da área de trabalho"
 
-#: apply.c:4947
+#: apply.c:4938
 msgid "also apply the patch (use with --stat/--summary/--check)"
 msgstr "aplicar o patch também (use com --stat/--summary/--check)"
 
-#: apply.c:4949
+#: apply.c:4940
 msgid "attempt three-way merge if a patch does not apply"
 msgstr "tentar integração com três pontos se um patch não se aplica com êxito"
 
-#: apply.c:4951
+#: apply.c:4942
 msgid "build a temporary index based on embedded index information"
 msgstr ""
 "construir um índice temporário baseado na informação incorporada do índice"
 
-#: apply.c:4954 builtin/checkout-index.c:169 builtin/ls-files.c:505
+#: apply.c:4945 builtin/checkout-index.c:169 builtin/ls-files.c:507
 msgid "paths are separated with NUL character"
 msgstr "os caminhos estão separados por caracteres NUL"
 
-#: apply.c:4956
+#: apply.c:4947
 msgid "ensure at least <n> lines of context match"
 msgstr "garantir que, pelo menos, <n> linhas de contexto coincidem"
 
-#: apply.c:4957 builtin/am.c:2265
+#: apply.c:4948 builtin/am.c:2265
 msgid "action"
 msgstr "ação"
 
-#: apply.c:4958
+#: apply.c:4949
 msgid "detect new or modified lines that have whitespace errors"
 msgstr "detetar linhas novas ou modificadas que tenham espaços em branco"
 
-#: apply.c:4961 apply.c:4964
+#: apply.c:4952 apply.c:4955
 msgid "ignore changes in whitespace when finding context"
 msgstr "ignorar alterações de espaço em branco ao procurar contexto"
 
-#: apply.c:4967
+#: apply.c:4958
 msgid "apply the patch in reverse"
 msgstr "aplicar o patch em reverso"
 
-#: apply.c:4969
+#: apply.c:4960
 msgid "don't expect at least one line of context"
 msgstr "não esperar nenhuma linha de contexto"
 
-#: apply.c:4971
+#: apply.c:4962
 msgid "leave the rejected hunks in corresponding *.rej files"
 msgstr "deixar os excertos rejeitados nos respetivos ficheiros *.rej"
 
-#: apply.c:4973
+#: apply.c:4964
 msgid "allow overlapping hunks"
 msgstr "permitir a sobreposição de excertos"
 
-#: apply.c:4974 builtin/add.c:267 builtin/check-ignore.c:19
-#: builtin/commit.c:1339 builtin/count-objects.c:94 builtin/fsck.c:593
-#: builtin/log.c:1860 builtin/mv.c:110 builtin/read-tree.c:114
+#: apply.c:4965 builtin/add.c:267 builtin/check-ignore.c:19
+#: builtin/commit.c:1337 builtin/count-objects.c:94 builtin/fsck.c:651
+#: builtin/log.c:1860 builtin/mv.c:122 builtin/read-tree.c:114
 msgid "be verbose"
 msgstr "ser verboso"
 
-#: apply.c:4976
+#: apply.c:4967
 msgid "tolerate incorrectly detected missing new-line at the end of file"
-msgstr ""
-"tolerar deteções incorretas de falta de nova linha no final do ficheiro"
+msgstr "tolerar deteções incorretas de falta de nova linha no final do ficheiro"
 
-#: apply.c:4979
+#: apply.c:4970
 msgid "do not trust the line counts in the hunk headers"
 msgstr "não confiar na contagem de linhas no cabeçalho dos excertos"
 
-#: apply.c:4981 builtin/am.c:2274
+#: apply.c:4972 builtin/am.c:2274
 msgid "root"
 msgstr "raiz"
 
-#: apply.c:4982
+#: apply.c:4973
 msgid "prepend <root> to all filenames"
 msgstr "preceder <root> a todos os nomes de ficheiro"
 
@@ -746,7 +745,7 @@
 msgid "git archive --remote <repo> [--exec <cmd>] --list"
 msgstr "git archive --remote <repo> [--exec <cmd>] --list"
 
-#: archive.c:344 builtin/add.c:152 builtin/add.c:442 builtin/rm.c:327
+#: archive.c:344 builtin/add.c:152 builtin/add.c:442 builtin/rm.c:300
 #, c-format
 msgid "pathspec '%s' did not match any files"
 msgstr "o especificador de caminho '%s' não corresponde a nenhum ficheiro"
@@ -767,11 +766,11 @@
 msgid "prepend prefix to each pathname in the archive"
 msgstr "preceder o prefixo a cada nome de caminho dentro do arquivo"
 
-#: archive.c:432 builtin/archive.c:88 builtin/blame.c:2603
-#: builtin/blame.c:2604 builtin/config.c:59 builtin/fast-export.c:987
-#: builtin/fast-export.c:989 builtin/grep.c:723 builtin/hash-object.c:101
-#: builtin/ls-files.c:539 builtin/ls-files.c:542 builtin/notes.c:401
-#: builtin/notes.c:564 builtin/read-tree.c:109 parse-options.h:153
+#: archive.c:432 builtin/blame.c:2607 builtin/blame.c:2608 builtin/config.c:59
+#: builtin/fast-export.c:987 builtin/fast-export.c:989 builtin/grep.c:1054
+#: builtin/hash-object.c:101 builtin/ls-files.c:541 builtin/ls-files.c:544
+#: builtin/notes.c:401 builtin/notes.c:564 builtin/read-tree.c:109
+#: parse-options.h:153
 msgid "file"
 msgstr "ficheiro"
 
@@ -804,7 +803,7 @@
 msgstr "listar formatos de arquivo suportados"
 
 #: archive.c:451 builtin/archive.c:90 builtin/clone.c:85 builtin/clone.c:88
-#: builtin/submodule--helper.c:601 builtin/submodule--helper.c:953
+#: builtin/submodule--helper.c:603 builtin/submodule--helper.c:969
 msgid "repo"
 msgstr "repo"
 
@@ -900,7 +899,7 @@
 #: bisect.c:750
 #, c-format
 msgid ""
-"Some %s revs are not ancestor of the %s rev.\n"
+"Some %s revs are not ancestors of the %s rev.\n"
 "git bisect cannot work properly in this case.\n"
 "Maybe you mistook %s and %s revs?\n"
 msgstr ""
@@ -930,7 +929,7 @@
 msgid "a %s revision is needed"
 msgstr "precisa-se de uma revisão %s"
 
-#: bisect.c:866 builtin/notes.c:174 builtin/tag.c:248
+#: bisect.c:866 builtin/notes.c:174 builtin/tag.c:262
 #, c-format
 msgid "could not create file '%s'"
 msgstr "não foi possível criar o ficheiro '%s'"
@@ -1121,7 +1120,7 @@
 msgid "unrecognized header: %s%s (%d)"
 msgstr "cabeçalho não reconhecido: %s%s (%d)"
 
-#: bundle.c:87 sequencer.c:963 builtin/commit.c:777
+#: bundle.c:87 sequencer.c:1331 sequencer.c:1752 builtin/commit.c:777
 #, c-format
 msgid "could not open '%s'"
 msgstr "não foi possível abrir '%s'"
@@ -1130,10 +1129,10 @@
 msgid "Repository lacks these prerequisite commits:"
 msgstr "O repositório não possuí estes commits pré-requisitados:"
 
-#: bundle.c:163 ref-filter.c:1462 sequencer.c:830 sequencer.c:1374
-#: builtin/blame.c:2814 builtin/commit.c:1061 builtin/log.c:348
+#: bundle.c:163 ref-filter.c:1499 sequencer.c:1154 sequencer.c:2290
+#: builtin/blame.c:2820 builtin/commit.c:1061 builtin/log.c:348
 #: builtin/log.c:890 builtin/log.c:1340 builtin/log.c:1666 builtin/log.c:1909
-#: builtin/merge.c:356 builtin/shortlog.c:170
+#: builtin/merge.c:360 builtin/shortlog.c:177
 msgid "revision walk setup failed"
 msgstr "falha ao configurar percurso de revisões"
 
@@ -1172,7 +1171,7 @@
 msgid "ref '%s' is excluded by the rev-list options"
 msgstr "a referência '%s' é excluída pelas opções de rev-list"
 
-#: bundle.c:443 builtin/log.c:165 builtin/log.c:1572 builtin/shortlog.c:273
+#: bundle.c:443 builtin/log.c:165 builtin/log.c:1572 builtin/shortlog.c:282
 #, c-format
 msgid "unrecognized argument: %s"
 msgstr "argumento não reconhecido: %s"
@@ -1190,13 +1189,13 @@
 msgid "index-pack died"
 msgstr "index-pack terminou inesperadamente"
 
-#: color.c:290
+#: color.c:300
 #, c-format
 msgid "invalid color value: %.*s"
 msgstr "valor de cor inválido: %.*s"
 
-#: commit.c:40 builtin/am.c:421 builtin/am.c:457 builtin/am.c:1493
-#: builtin/am.c:2127
+#: commit.c:40 sequencer.c:1564 builtin/am.c:421 builtin/am.c:457
+#: builtin/am.c:1493 builtin/am.c:2127
 #, c-format
 msgid "could not parse %s"
 msgstr "não foi possível analisar %s"
@@ -1221,128 +1220,137 @@
 msgid "memory exhausted"
 msgstr "memória esgotada"
 
-#: config.c:516
+#: config.c:518
 #, c-format
 msgid "bad config line %d in blob %s"
 msgstr "linha de configuração %d incorreta no blob %s"
 
-#: config.c:520
+#: config.c:522
 #, c-format
 msgid "bad config line %d in file %s"
 msgstr "linha de configuração %d incorreta no ficheiro %s"
 
-#: config.c:524
+#: config.c:526
 #, c-format
 msgid "bad config line %d in standard input"
 msgstr "linha de configuração %d incorreta na entrada padrão"
 
-#: config.c:528
+#: config.c:530
 #, c-format
 msgid "bad config line %d in submodule-blob %s"
 msgstr "linha de configuração %d incorreta no submódulo-blob %s"
 
-#: config.c:532
+#: config.c:534
 #, c-format
 msgid "bad config line %d in command line %s"
 msgstr "linha de configuração %d incorreta na linha de comandos %s"
 
-#: config.c:536
+#: config.c:538
 #, c-format
 msgid "bad config line %d in %s"
 msgstr "linha de configuração %d incorreta em %s"
 
-#: config.c:655
+#: config.c:657
 msgid "out of range"
 msgstr "fora de intervalo"
 
-#: config.c:655
+#: config.c:657
 msgid "invalid unit"
 msgstr "unidade inválida"
 
-#: config.c:661
+#: config.c:663
 #, c-format
 msgid "bad numeric config value '%s' for '%s': %s"
 msgstr "valor numérico '%s' da configuração '%s' incorreto: %s"
 
-#: config.c:666
+#: config.c:668
 #, c-format
 msgid "bad numeric config value '%s' for '%s' in blob %s: %s"
 msgstr "valor numérico '%s' da configuração '%s' incorreto no blob %s: %s"
 
-#: config.c:669
+#: config.c:671
 #, c-format
 msgid "bad numeric config value '%s' for '%s' in file %s: %s"
 msgstr "valor numérico '%s' da configuração '%s' incorreto no ficheiro %s: %s"
 
-#: config.c:672
+#: config.c:674
 #, c-format
 msgid "bad numeric config value '%s' for '%s' in standard input: %s"
 msgstr ""
 "valor numérico '%s' da configuração '%s' incorreto na entrada padrão: %s"
 
-#: config.c:675
+#: config.c:677
 #, c-format
 msgid "bad numeric config value '%s' for '%s' in submodule-blob %s: %s"
 msgstr ""
 "valor numérico '%s' da configuração '%s' incorreto no submódulo-blob %s: %s"
 
-#: config.c:678
+#: config.c:680
 #, c-format
 msgid "bad numeric config value '%s' for '%s' in command line %s: %s"
 msgstr ""
-"valor numérico '%s' da configuração '%s' incorreto na linha de comandos %s: "
-"%s"
+"valor numérico '%s' da configuração '%s' incorreto na linha de comandos %s: %s"
 
-#: config.c:681
+#: config.c:683
 #, c-format
 msgid "bad numeric config value '%s' for '%s' in %s: %s"
 msgstr "valor numérico '%s' da configuração '%s' incorreto em %s: %s"
 
-#: config.c:768
+#: config.c:770
 #, c-format
 msgid "failed to expand user dir in: '%s'"
 msgstr "falha ao expandir diretório de utilizador em: '%s'"
 
-#: config.c:852 config.c:863
+#: config.c:865 config.c:876
 #, c-format
 msgid "bad zlib compression level %d"
 msgstr "nível de compressão zlib %d incorreto"
 
-#: config.c:978
+#: config.c:993
 #, c-format
 msgid "invalid mode for object creation: %s"
 msgstr "modo inválido para criação de objeto: %s"
 
-#: config.c:1312
+#: config.c:1149
+#, c-format
+msgid "bad pack compression level %d"
+msgstr "nível de compactação do pacote %d incorreto"
+
+#: config.c:1339
 msgid "unable to parse command-line config"
 msgstr "não é possível analisar configuração de linha de comandos"
 
-#: config.c:1362
+#: config.c:1389
 msgid "unknown error occurred while reading the configuration files"
 msgstr ""
 "ocorreu um erro desconhecido durante a leitura dos ficheiros de configuração"
 
-#: config.c:1716
+#: config.c:1743
 #, c-format
 msgid "unable to parse '%s' from command-line config"
 msgstr "não é possível analisar '%s' da configuração de linha de comandos"
 
-#: config.c:1718
+#: config.c:1745
 #, c-format
 msgid "bad config variable '%s' in file '%s' at line %d"
 msgstr "variável de configuração '%s' incorreta no ficheiro '%s' na linha %d"
 
-#: config.c:1777
+#: config.c:1804
 #, c-format
 msgid "%s has multiple values"
 msgstr "%s tem múltiplos valores"
 
-#: config.c:2311
+#: config.c:2225 config.c:2450
+#, c-format
+msgid "fstat on %s failed"
+msgstr "falha de fstat de %s"
+
+#: config.c:2343
 #, c-format
 msgid "could not set '%s' to '%s'"
 msgstr "não foi possível definir '%s' como '%s'"
 
-#: config.c:2313
+#: config.c:2345
 #, c-format
 msgid "could not unset '%s'"
 msgstr "não foi possível reiniciar '%s'"
@@ -1363,7 +1371,7 @@
 "Certifica-se que tem os direitos de acesso corretos\n"
 "e que o repositório existe."
 
-#: connected.c:63 builtin/fsck.c:173 builtin/prune.c:140
+#: connected.c:63 builtin/fsck.c:190 builtin/prune.c:140
 msgid "Checking connectivity"
 msgstr "A verificar conectividade"
 
@@ -1499,12 +1507,12 @@
 msgid "  Unknown dirstat parameter '%s'\n"
 msgstr "  Parâmetro de dirstat desconhecido '%s'\n"
 
-#: diff.c:283
+#: diff.c:281
 #, c-format
 msgid "Unknown value for 'diff.submodule' config variable: '%s'"
 msgstr "Valor desconhecido na variável de configuração 'diff.submodule': '%s'"
 
-#: diff.c:346
+#: diff.c:344
 #, c-format
 msgid ""
 "Found errors in 'diff.dirstat' config variable:\n"
@@ -1513,20 +1521,20 @@
 "Erros encontrados na variável de configuração 'diff.dirstat':\n"
 "%s"
 
-#: diff.c:3087
+#: diff.c:3085
 #, c-format
 msgid "external diff died, stopping at %s"
 msgstr "o diff externo terminou inesperadamente, interrompido em %s"
 
-#: diff.c:3412
+#: diff.c:3411
 msgid "--name-only, --name-status, --check and -s are mutually exclusive"
 msgstr "--name-only, --name-status, --check e -s são mutuamente exclusivos"
 
-#: diff.c:3502
+#: diff.c:3501
 msgid "--follow requires exactly one pathspec"
 msgstr "--follow requer exatamente um único especificador de caminho"
 
-#: diff.c:3665
+#: diff.c:3664
 #, c-format
 msgid ""
 "Failed to parse --dirstat/-X option parameter:\n"
@@ -1535,39 +1543,43 @@
 "Falha ao analisar parâmetro da opção --dirstat/-X:\n"
 "%s"
 
-#: diff.c:3679
+#: diff.c:3678
 #, c-format
 msgid "Failed to parse --submodule option parameter: '%s'"
 msgstr "Falha ao analisar parâmetro da opção --submodule: '%s'"
 
-#: diff.c:4700
+#: diff.c:4696
 msgid "inexact rename detection was skipped due to too many files."
 msgstr ""
 "a deteção mudança de nome inexata foi omitida devido a demasiados ficheiros."
 
-#: diff.c:4703
+#: diff.c:4699
 msgid "only found copies from modified paths due to too many files."
 msgstr ""
 "só foram encontradas cópias de caminhos modificados devido a demasiados "
 "ficheiros."
 
-#: diff.c:4706
+#: diff.c:4702
 #, c-format
 msgid ""
 "you may want to set your %s variable to at least %d and retry the command."
 msgstr ""
 "pode tentar definir a variável %s para, pelo menos, %d e repetir o comando."
 
-#: dir.c:1866
+#: dir.c:1862
 msgid "failed to get kernel name and information"
 msgstr "falha ao obter nome e informação do kernel"
 
-#: dir.c:1985
+#: dir.c:1981
 msgid "Untracked cache is disabled on this system or location."
 msgstr "A cache não controlada está desativada neste sistema ou localização."
 
+#: dir.c:2759
+#, c-format
+msgid "could not migrate git directory from '%s' to '%s'"
+msgstr "não foi possível migrar o diretório git de '%s' para '%s'"
+
 #: fetch-pack.c:213
-#, fuzzy
 msgid "git fetch-pack: expected shallow list"
 msgstr "git fetch-pack: esperava-se lista rasa"
 
@@ -1585,12 +1597,12 @@
 msgstr "--stateless-rpc requer multi_ack_detailed"
 
 #: fetch-pack.c:381
-#, fuzzy, c-format
+#, c-format
 msgid "invalid shallow line: %s"
 msgstr "linha rasa inválida: %s"
 
 #: fetch-pack.c:387
-#, fuzzy, c-format
+#, c-format
 msgid "invalid unshallow line: %s"
 msgstr "linha para aprofundar inválida: %s"
 
@@ -1605,12 +1617,12 @@
 msgstr "erro no objeto: %s"
 
 #: fetch-pack.c:394
-#, fuzzy, c-format
+#, c-format
 msgid "no shallow found: %s"
 msgstr "raso não encontrado: %s"
 
 #: fetch-pack.c:397
-#, fuzzy, c-format
+#, c-format
 msgid "expected shallow/unshallow, got %s"
 msgstr "esperava-se raso/aprofundar, obteve-se %s"
 
@@ -1649,7 +1661,7 @@
 
 #: fetch-pack.c:735
 msgid "fetch-pack: unable to fork off sideband demultiplexer"
-msgstr ""
+msgstr "fetch-pack: não é possível efetuar fork de sideband demultiplexer"
 
 #: fetch-pack.c:743
 msgid "protocol error: bad pack header"
@@ -1667,7 +1679,7 @@
 
 #: fetch-pack.c:817
 msgid "error in sideband demultiplexer"
-msgstr ""
+msgstr "erro no sideband demultiplexer"
 
 #: fetch-pack.c:844
 msgid "Server does not support shallow clients"
@@ -1747,35 +1759,40 @@
 msgid "failed writing detached signature to '%s'"
 msgstr "falha ao escrever assinatura destacada em '%s'"
 
-#: grep.c:1782
+#: graph.c:96
+#, c-format
+msgid "ignore invalid color '%.*s' in log.graphColors"
+msgstr "ignorar cor inválida '%.*s' em log.graphColors"
+
+#: grep.c:1794
 #, c-format
 msgid "'%s': unable to read %s"
 msgstr "'%s': não foi possível ler %s"
 
-#: grep.c:1799 builtin/clone.c:381 builtin/diff.c:84 builtin/rm.c:155
+#: grep.c:1811 builtin/clone.c:381 builtin/diff.c:81 builtin/rm.c:133
 #, c-format
 msgid "failed to stat '%s'"
 msgstr "falha ao invocar stat de '%s'"
 
-#: grep.c:1810
+#: grep.c:1822
 #, c-format
 msgid "'%s': short read"
 msgstr "'%s': leitura truncada"
 
-#: help.c:203
+#: help.c:218
 #, c-format
 msgid "available git commands in '%s'"
 msgstr "comandos do git disponível em '%s'"
 
-#: help.c:210
+#: help.c:225
 msgid "git commands available from elsewhere on your $PATH"
 msgstr "comandos do git disponíveis noutras localizações em $PATH"
 
-#: help.c:241
+#: help.c:256
 msgid "These are common Git commands used in various situations:"
 msgstr "Estes são comandos do Git comuns usados em diversas situações:"
 
-#: help.c:306
+#: help.c:321
 #, c-format
 msgid ""
 "'%s' appears to be a git command, but we were not\n"
@@ -1784,11 +1801,11 @@
 "'%s' parece ser um comando do git, mas não é possível\n"
 "executá-lo. Talvez git-%s esteja danificado?"
 
-#: help.c:361
+#: help.c:376
 msgid "Uh oh. Your system reports no Git commands at all."
 msgstr "Oh não. Não há nenhum comando do Git disponível no sistema."
 
-#: help.c:383
+#: help.c:398
 #, c-format
 msgid ""
 "WARNING: You called a Git command named '%s', which does not exist.\n"
@@ -1797,17 +1814,17 @@
 "AVISO: Invocou um comando do Git designado '%s' que não existe.\n"
 "Continuando, assumindo que queria dizer '%s'"
 
-#: help.c:388
+#: help.c:403
 #, c-format
 msgid "in %0.1f seconds automatically..."
 msgstr "automaticamente em %0.1f..."
 
-#: help.c:395
+#: help.c:410
 #, c-format
 msgid "git: '%s' is not a git command. See 'git --help'."
 msgstr "git: '%s' não é um comando do git. Consulte 'git --help'."
 
-#: help.c:399 help.c:465
+#: help.c:414 help.c:480
 msgid ""
 "\n"
 "Did you mean this?"
@@ -1821,7 +1838,7 @@
 "\n"
 "Queria dizer deste?"
 
-#: help.c:461
+#: help.c:476
 #, c-format
 msgid "%s: %s - %s"
 msgstr "%s: %s - %s"
@@ -1889,100 +1906,100 @@
 msgid "(bad commit)\n"
 msgstr "(commit incorreto)\n"
 
-#: merge-recursive.c:231
+#: merge-recursive.c:231 merge-recursive.c:239
 #, c-format
 msgid "addinfo_cache failed for path '%s'"
 msgstr "addinfo_cache falhou no caminho '%s'"
 
-#: merge-recursive.c:301
+#: merge-recursive.c:303
 msgid "error building trees"
 msgstr "erro ao construir árvores"
 
-#: merge-recursive.c:720
+#: merge-recursive.c:727
 #, c-format
 msgid "failed to create path '%s'%s"
 msgstr "falha ao criar o caminho '%s'%s"
 
-#: merge-recursive.c:731
+#: merge-recursive.c:738
 #, c-format
 msgid "Removing %s to make room for subdirectory\n"
 msgstr "A remover %s para criar espaço para o subdiretório\n"
 
-#: merge-recursive.c:745 merge-recursive.c:764
+#: merge-recursive.c:752 merge-recursive.c:771
 msgid ": perhaps a D/F conflict?"
 msgstr ": talvez um conflito D/F?"
 
-#: merge-recursive.c:754
+#: merge-recursive.c:761
 #, c-format
 msgid "refusing to lose untracked file at '%s'"
 msgstr "perda de ficheiro não controlado em '%s' recusada"
 
-#: merge-recursive.c:796 builtin/cat-file.c:34
+#: merge-recursive.c:803 builtin/cat-file.c:34
 #, c-format
 msgid "cannot read object %s '%s'"
 msgstr "não é possível ler o objeto %s: '%s'"
 
-#: merge-recursive.c:798
+#: merge-recursive.c:805
 #, c-format
 msgid "blob expected for %s '%s'"
 msgstr "blob para %s '%s' esperado"
 
-#: merge-recursive.c:822
+#: merge-recursive.c:829
 #, c-format
 msgid "failed to open '%s': %s"
 msgstr "falha ao abrir '%s': %s"
 
-#: merge-recursive.c:833
+#: merge-recursive.c:840
 #, c-format
 msgid "failed to symlink '%s': %s"
 msgstr "falha ao criar a ligação simbólica '%s': %s"
 
-#: merge-recursive.c:838
+#: merge-recursive.c:845
 #, c-format
 msgid "do not know what to do with %06o %s '%s'"
 msgstr "não sei o que fazer com %06o %s '%s'"
 
-#: merge-recursive.c:978
+#: merge-recursive.c:985
 msgid "Failed to execute internal merge"
 msgstr "Falha ao executar integração interna"
 
-#: merge-recursive.c:982
+#: merge-recursive.c:989
 #, c-format
 msgid "Unable to add %s to database"
 msgstr "Não é possível adicionar %s à base de dados"
 
-#: merge-recursive.c:1081 merge-recursive.c:1095
+#: merge-recursive.c:1088 merge-recursive.c:1102
 #, c-format
 msgid ""
-"CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left "
-"in tree."
+"CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left in "
+"tree."
 msgstr ""
 "CONFLITO (%s/eliminar): %s eliminado em %s e %s em %s. Versão de %s de %s "
 "deixada na árvore."
 
-#: merge-recursive.c:1087 merge-recursive.c:1100
+#: merge-recursive.c:1094 merge-recursive.c:1107
 #, c-format
 msgid ""
-"CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left "
-"in tree at %s."
+"CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left in "
+"tree at %s."
 msgstr ""
 "CONFLITO (%s/eliminar): %s eliminado em %s e %s em %s. Versão de %s de %s "
 "deixada na árvore em %s."
 
-#: merge-recursive.c:1143
+#: merge-recursive.c:1150
 msgid "rename"
 msgstr "mudar nome"
 
-#: merge-recursive.c:1143
+#: merge-recursive.c:1150
 msgid "renamed"
 msgstr "nome mudado"
 
-#: merge-recursive.c:1200
+#: merge-recursive.c:1207
 #, c-format
 msgid "%s is a directory in %s adding as %s instead"
 msgstr "%s é um diretório em %s adicionando %s no seu lugar"
 
-#: merge-recursive.c:1225
+#: merge-recursive.c:1232
 #, c-format
 msgid ""
 "CONFLICT (rename/rename): Rename \"%s\"->\"%s\" in branch \"%s\" rename \"%s"
@@ -1991,138 +2008,138 @@
 "CONFLITO (mudar nome/mudar nome): Mudar o nome \"%s\"->\"%s\" no ramo \"%s\" "
 "mudar o nome \"%s\"->\"%s\" em \"%s\"%s"
 
-#: merge-recursive.c:1230
+#: merge-recursive.c:1237
 msgid " (left unresolved)"
 msgstr " (por resolver)"
 
-#: merge-recursive.c:1292
+#: merge-recursive.c:1299
 #, c-format
 msgid "CONFLICT (rename/rename): Rename %s->%s in %s. Rename %s->%s in %s"
 msgstr ""
-"CONFLITO (mudar nome/mudar nome): Mudar de nome %s->%s em %s. Mudar o nome "
-"%s->%s em %s"
+"CONFLITO (mudar nome/mudar nome): Mudar de nome %s->%s em %s. Mudar o nome %s-"
+">%s em %s"
 
-#: merge-recursive.c:1325
+#: merge-recursive.c:1332
 #, c-format
 msgid "Renaming %s to %s and %s to %s instead"
 msgstr "A mudar o nome de %s para %s e de %s para %s, em alternativa"
 
-#: merge-recursive.c:1531
+#: merge-recursive.c:1535
 #, c-format
 msgid "CONFLICT (rename/add): Rename %s->%s in %s. %s added in %s"
 msgstr ""
 "CONFLITO (mudar nome/adicionar): Mudar o nome %s->%s em %s. %s adicionado em "
 "%s"
 
-#: merge-recursive.c:1546
+#: merge-recursive.c:1550
 #, c-format
 msgid "Adding merged %s"
 msgstr "A adicionar %s integrado"
 
-#: merge-recursive.c:1553 merge-recursive.c:1766
+#: merge-recursive.c:1557 merge-recursive.c:1771
 #, c-format
 msgid "Adding as %s instead"
 msgstr "A adicionar como %s, em alternativa."
 
-#: merge-recursive.c:1610
+#: merge-recursive.c:1614
 #, c-format
 msgid "cannot read object %s"
 msgstr "não foi possível ler o objeto %s"
 
-#: merge-recursive.c:1613
+#: merge-recursive.c:1617
 #, c-format
 msgid "object %s is not a blob"
 msgstr "o objeto %s não é um blob"
 
-#: merge-recursive.c:1666
+#: merge-recursive.c:1670
 msgid "modify"
 msgstr "modificar"
 
-#: merge-recursive.c:1666
+#: merge-recursive.c:1670
 msgid "modified"
 msgstr "modificado"
 
-#: merge-recursive.c:1676
+#: merge-recursive.c:1680
 msgid "content"
 msgstr "conteúdo"
 
-#: merge-recursive.c:1683
+#: merge-recursive.c:1687
 msgid "add/add"
 msgstr "adicionar/adicionar"
 
-#: merge-recursive.c:1718
+#: merge-recursive.c:1723
 #, c-format
 msgid "Skipped %s (merged same as existing)"
 msgstr "%s ignorado (integrado é igual ao existente)"
 
-#: merge-recursive.c:1732
+#: merge-recursive.c:1737
 #, c-format
 msgid "Auto-merging %s"
 msgstr "A integrar automaticamente %s"
 
-#: merge-recursive.c:1736 git-submodule.sh:924
+#: merge-recursive.c:1741 git-submodule.sh:930
 msgid "submodule"
 msgstr "submódulo"
 
-#: merge-recursive.c:1737
+#: merge-recursive.c:1742
 #, c-format
 msgid "CONFLICT (%s): Merge conflict in %s"
 msgstr "CONFLITO (%s): conflito de integração em %s"
 
-#: merge-recursive.c:1831
+#: merge-recursive.c:1836
 #, c-format
 msgid "Removing %s"
 msgstr "A remover %s"
 
-#: merge-recursive.c:1857
+#: merge-recursive.c:1862
 msgid "file/directory"
 msgstr "ficheiro/diretório"
 
-#: merge-recursive.c:1863
+#: merge-recursive.c:1868
 msgid "directory/file"
 msgstr "diretório/ficheiro"
 
-#: merge-recursive.c:1868
+#: merge-recursive.c:1874
 #, c-format
 msgid "CONFLICT (%s): There is a directory with name %s in %s. Adding %s as %s"
 msgstr ""
 "CONFLITO (%s): Há um diretório designado %s em %s. A adicionar %s como %s"
 
-#: merge-recursive.c:1877
+#: merge-recursive.c:1883
 #, c-format
 msgid "Adding %s"
 msgstr "A adicionar %s"
 
-#: merge-recursive.c:1914
+#: merge-recursive.c:1920
 msgid "Already up-to-date!"
 msgstr "Já está atualizado!"
 
-#: merge-recursive.c:1923
+#: merge-recursive.c:1929
 #, c-format
 msgid "merging of trees %s and %s failed"
 msgstr "falha ao integrar as árvores %s e %s"
 
-#: merge-recursive.c:2006
+#: merge-recursive.c:2012
 msgid "Merging:"
 msgstr "A integrar:"
 
-#: merge-recursive.c:2019
+#: merge-recursive.c:2025
 #, c-format
 msgid "found %u common ancestor:"
 msgid_plural "found %u common ancestors:"
 msgstr[0] "%u antecessor comum encontrado:"
 msgstr[1] "%u antecessores comuns encontrados:"
 
-#: merge-recursive.c:2058
+#: merge-recursive.c:2064
 msgid "merge returned no commit"
 msgstr "a integração não retornou nenhum commit"
 
-#: merge-recursive.c:2121
+#: merge-recursive.c:2127
 #, c-format
 msgid "Could not parse object '%s'"
 msgstr "Não foi possível analisar o objeto '%s'"
 
-#: merge-recursive.c:2135 builtin/merge.c:641 builtin/merge.c:788
+#: merge-recursive.c:2141 builtin/merge.c:645 builtin/merge.c:792
 msgid "Unable to write index."
 msgstr "Não é possível escrever no índice."
 
@@ -2130,8 +2147,8 @@
 #, c-format
 msgid ""
 "You have not concluded your previous notes merge (%s exists).\n"
-"Please, use 'git notes merge --commit' or 'git notes merge --abort' to "
-"commit/abort the previous merge before you start a new notes merge."
+"Please, use 'git notes merge --commit' or 'git notes merge --abort' to commit/"
+"abort the previous merge before you start a new notes merge."
 msgstr ""
 "Não concluíu a integração de notas anterior (%s existe).\n"
 "Use 'git notes merge --commit' ou 'git notes merge --abort' para submeter/"
@@ -2164,7 +2181,7 @@
 msgid "Bad %s value: '%s'"
 msgstr "Valor incorreto de %s: '%s'"
 
-#: object.c:242
+#: object.c:240
 #, c-format
 msgid "unable to parse object: %s"
 msgstr "não foi possível analisar o objeto: %s"
@@ -2204,13 +2221,13 @@
 msgid "Could not make %s writable by group"
 msgstr "Não foi possível dar permissão de escrita ao grupo a %s"
 
-#: pathspec.c:133
+#: pathspec.c:142
 msgid "global 'glob' and 'noglob' pathspec settings are incompatible"
 msgstr ""
 "as definições globais 'glob' e 'noglob' de especificador de caminho "
 "(pathspec) são incompatíveis"
 
-#: pathspec.c:143
+#: pathspec.c:149
 msgid ""
 "global 'literal' pathspec setting is incompatible with all other global "
 "pathspec settings"
@@ -2218,47 +2235,52 @@
 "a definição global de especificador de caminho 'literal' é incompatível com "
 "todas as outras definições globais de especificador de caminho (pathspec)"
 
-#: pathspec.c:177
+#: pathspec.c:188
 msgid "invalid parameter for pathspec magic 'prefix'"
 msgstr "parâmetro inválido na mágica 'prefix' do especificador de caminho"
 
-#: pathspec.c:183
+#: pathspec.c:201
 #, c-format
 msgid "Invalid pathspec magic '%.*s' in '%s'"
 msgstr "Mágica do especificador de caminho '%.*s' inválida em '%s'"
 
-#: pathspec.c:187
+#: pathspec.c:206
 #, c-format
 msgid "Missing ')' at the end of pathspec magic in '%s'"
 msgstr "Falta um ')' no final da mágica do especificador de caminho em '%s'"
 
-#: pathspec.c:205
+#: pathspec.c:238
 #, c-format
 msgid "Unimplemented pathspec magic '%c' in '%s'"
 msgstr "Mágica de especificador de caminho '%c' em '%s' não implementada"
 
-#: pathspec.c:230
-#, c-format
-msgid "%s: 'literal' and 'glob' are incompatible"
-msgstr "%s: 'literal' e 'glob' são incompatíveis"
-
-#: pathspec.c:241
-#, c-format
-msgid "%s: '%s' is outside repository"
-msgstr "%s: '%s' está fora do repositório"
-
-#: pathspec.c:291
+#: pathspec.c:293 pathspec.c:315
 #, c-format
 msgid "Pathspec '%s' is in submodule '%.*s'"
 msgstr "O caminho '%s' está dentro do submódulo '%.*s'"
 
-#: pathspec.c:353
+#: pathspec.c:350
+#, c-format
+msgid "%s: 'literal' and 'glob' are incompatible"
+msgstr "%s: 'literal' e 'glob' são incompatíveis"
+
+#: pathspec.c:363
+#, c-format
+msgid "%s: '%s' is outside repository"
+msgstr "%s: '%s' está fora do repositório"
+
+#: pathspec.c:451
+#, c-format
+msgid "'%s' (mnemonic: '%c')"
+msgstr "'%s' (mnemónica: '%c')"
+
+#: pathspec.c:461
 #, c-format
 msgid "%s: pathspec magic not supported by this command: %s"
 msgstr ""
 "%s: mágica de especificador de caminho não suportada por este comando: %s"
 
-#: pathspec.c:408
+#: pathspec.c:511
 msgid ""
 "empty strings as pathspecs will be made invalid in upcoming releases. please "
 "use . instead if you meant to match all paths"
@@ -2266,12 +2288,12 @@
 "cadeias de caracteres vazias como especificadores de caminho tornar-se-ão "
 "inválidas nas próximas versões. Use . para corresponder a todos os caminhos"
 
-#: pathspec.c:440
+#: pathspec.c:535
 #, c-format
 msgid "pathspec '%s' is beyond a symbolic link"
 msgstr "o especificador de caminho '%s' é indicado por uma ligação simbólica"
 
-#: pathspec.c:449
+#: pathspec.c:544
 msgid ""
 "There is nothing to exclude from by :(exclude) patterns.\n"
 "Perhaps you forgot to add either ':/' or '.' ?"
@@ -2279,11 +2301,11 @@
 "Não há nada para excluir de acordo com o padrão :(excluir).\n"
 "Talvez se tenha esquecido de acrescentar ':/' ou '.' ?"
 
-#: pretty.c:971
+#: pretty.c:982
 msgid "unable to parse --pretty format"
 msgstr "não foi possível analisar o formato de --pretty"
 
-#: read-cache.c:1315
+#: read-cache.c:1307
 #, c-format
 msgid ""
 "index.version set, but the value is invalid.\n"
@@ -2292,7 +2314,7 @@
 "index.version definido, mas com valor inválido.\n"
 "A usar a versão %i"
 
-#: read-cache.c:1325
+#: read-cache.c:1317
 #, c-format
 msgid ""
 "GIT_INDEX_VERSION set, but the value is invalid.\n"
@@ -2301,7 +2323,7 @@
 "GIT_INDEX_VERSION definido, mas com valor inválido.\n"
 "A usar a versão %i"
 
-#: refs.c:576 builtin/merge.c:840
+#: refs.c:576 builtin/merge.c:844
 #, c-format
 msgid "Could not open '%s' for writing"
 msgstr "Não foi possível abrir '%s' para escrita"
@@ -2321,232 +2343,237 @@
 msgid "could not remove reference %s"
 msgstr "não foi possível eliminar a referência %s"
 
-#: ref-filter.c:55
+#: ref-filter.c:56
 #, c-format
 msgid "expected format: %%(color:<color>)"
 msgstr "formato esperado: %%(color:<cor>)"
 
-#: ref-filter.c:57
+#: ref-filter.c:58
 #, c-format
 msgid "unrecognized color: %%(color:%s)"
 msgstr "cor não reconhecida: %%(color:%s)"
 
-#: ref-filter.c:71
+#: ref-filter.c:72
 #, c-format
 msgid "unrecognized format: %%(%s)"
 msgstr "formato não reconhecido: %%(%s)"
 
-#: ref-filter.c:77
+#: ref-filter.c:78
 #, c-format
 msgid "%%(body) does not take arguments"
 msgstr "%%(body) não leva argumentos"
 
-#: ref-filter.c:84
+#: ref-filter.c:85
 #, c-format
 msgid "%%(subject) does not take arguments"
 msgstr "%%(subject) não leva argumentos"
 
-#: ref-filter.c:101
+#: ref-filter.c:92
+#, c-format
+msgid "%%(trailers) does not take arguments"
+msgstr "%%(trailers) não leva argumentos"
+
+#: ref-filter.c:111
 #, c-format
 msgid "positive value expected contents:lines=%s"
 msgstr "valor positivo esperado contents:lines=%s"
 
-#: ref-filter.c:103
+#: ref-filter.c:113
 #, c-format
 msgid "unrecognized %%(contents) argument: %s"
 msgstr "argumento de %%(contents) não reconhecido: %s"
 
-#: ref-filter.c:113
+#: ref-filter.c:123
 #, c-format
 msgid "unrecognized %%(objectname) argument: %s"
 msgstr "argumento de %%(objectname) não reconhecido: %s"
 
-#: ref-filter.c:135
+#: ref-filter.c:145
 #, c-format
 msgid "expected format: %%(align:<width>,<position>)"
 msgstr "formato esperado: %%(align:<largura>,<posição>)"
 
-#: ref-filter.c:147
+#: ref-filter.c:157
 #, c-format
 msgid "unrecognized position:%s"
 msgstr "posição não reconhecida:%s"
 
-#: ref-filter.c:151
+#: ref-filter.c:161
 #, c-format
 msgid "unrecognized width:%s"
 msgstr "largura não reconhecida:%s"
 
-#: ref-filter.c:157
+#: ref-filter.c:167
 #, c-format
 msgid "unrecognized %%(align) argument: %s"
 msgstr "argumento de %%(align) não reconhecido: %s"
 
-#: ref-filter.c:161
+#: ref-filter.c:171
 #, c-format
 msgid "positive width expected with the %%(align) atom"
 msgstr "largura positiva esperada com o átomo %%(algn)"
 
-#: ref-filter.c:244
+#: ref-filter.c:255
 #, c-format
 msgid "malformed field name: %.*s"
 msgstr "nome de ficheiro malformado: %.*s"
 
-#: ref-filter.c:270
+#: ref-filter.c:281
 #, c-format
 msgid "unknown field name: %.*s"
 msgstr "nome do campo desconhecido: %.*s"
 
-#: ref-filter.c:372
+#: ref-filter.c:383
 #, c-format
 msgid "format: %%(end) atom used without corresponding atom"
 msgstr "formato: átomo %%(end) utilizado sem átomo correspondente"
 
-#: ref-filter.c:424
+#: ref-filter.c:435
 #, c-format
 msgid "malformed format string %s"
 msgstr "cadeia malformada %s"
 
-#: ref-filter.c:878
+#: ref-filter.c:898
 msgid ":strip= requires a positive integer argument"
 msgstr ":strip= requer um inteiro positivo como argumento"
 
-#: ref-filter.c:883
+#: ref-filter.c:903
 #, c-format
 msgid "ref '%s' does not have %ld components to :strip"
 msgstr "a referência '%s' não tem %ld componentes como se indica em :strip"
 
-#: ref-filter.c:1046
+#: ref-filter.c:1066
 #, c-format
 msgid "unknown %.*s format %s"
 msgstr "formato de %.*s desconhecido %s"
 
-#: ref-filter.c:1066 ref-filter.c:1097
+#: ref-filter.c:1086 ref-filter.c:1117
 #, c-format
 msgid "missing object %s for %s"
 msgstr "falta o objeto %s de %s"
 
-#: ref-filter.c:1069 ref-filter.c:1100
+#: ref-filter.c:1089 ref-filter.c:1120
 #, c-format
 msgid "parse_object_buffer failed on %s for %s"
 msgstr "falha ao invocar parse_object_buffer sobre %s de %s"
 
-#: ref-filter.c:1311
+#: ref-filter.c:1343
 #, c-format
 msgid "malformed object at '%s'"
 msgstr "objeto malformado em '%s'"
 
-#: ref-filter.c:1373
+#: ref-filter.c:1410
 #, c-format
 msgid "ignoring ref with broken name %s"
 msgstr "a referência %s com nome danificado foi ignorada"
 
-#: ref-filter.c:1378
+#: ref-filter.c:1415
 #, c-format
 msgid "ignoring broken ref %s"
 msgstr "a referência %s danificada foi ignorada"
 
-#: ref-filter.c:1633
+#: ref-filter.c:1670
 #, c-format
 msgid "format: %%(end) atom missing"
 msgstr "formato: falta átomo %%(end)"
 
-#: ref-filter.c:1687
+#: ref-filter.c:1734
 #, c-format
 msgid "malformed object name %s"
 msgstr "nome de objeto malformado %s"
 
-#: remote.c:746
+#: remote.c:754
 #, c-format
 msgid "Cannot fetch both %s and %s to %s"
 msgstr "Não é possível obter %s e %s ao mesmo tempo para %s"
 
-#: remote.c:750
+#: remote.c:758
 #, c-format
 msgid "%s usually tracks %s, not %s"
 msgstr "%s geralmente segue %s, não %s"
 
-#: remote.c:754
+#: remote.c:762
 #, c-format
 msgid "%s tracks both %s and %s"
 msgstr "%s segue %s e %s em simultâneo"
 
-#: remote.c:762
+#: remote.c:770
 msgid "Internal error"
 msgstr "Erro interno"
 
-#: remote.c:1677 remote.c:1720
+#: remote.c:1685 remote.c:1787
 msgid "HEAD does not point to a branch"
 msgstr "HEAD não aponta para um ramo"
 
-#: remote.c:1686
+#: remote.c:1694
 #, c-format
 msgid "no such branch: '%s'"
 msgstr "ramo inexistente: '%s'"
 
-#: remote.c:1689
+#: remote.c:1697
 #, c-format
 msgid "no upstream configured for branch '%s'"
 msgstr "nenhum ramo a montante configurado para o ramo '%s'"
 
-#: remote.c:1695
+#: remote.c:1703
 #, c-format
 msgid "upstream branch '%s' not stored as a remote-tracking branch"
 msgstr ""
 "o ramo a montante '%s' não está guardado como um ramo de monitorização remoto"
 
-#: remote.c:1710
+#: remote.c:1718
 #, c-format
 msgid "push destination '%s' on remote '%s' has no local tracking branch"
 msgstr ""
 "o destino de publicação '%s' no remoto '%s' não é seguido por nenhum ramo "
 "local"
 
-#: remote.c:1725
+#: remote.c:1730
 #, c-format
 msgid "branch '%s' has no remote for pushing"
 msgstr "o ramo '%s' não tem nenhum remoto para publicar"
 
-#: remote.c:1736
+#: remote.c:1741
 #, c-format
 msgid "push refspecs for '%s' do not include '%s'"
 msgstr ""
 "'%2$s' não faz parte dos especificadores de referência de '%1$s' para "
 "publicação"
 
-#: remote.c:1749
+#: remote.c:1754
 msgid "push has no destination (push.default is 'nothing')"
 msgstr "publicação sem destino (push.default é 'nothing')"
 
-#: remote.c:1771
+#: remote.c:1776
 msgid "cannot resolve 'simple' push to a single destination"
 msgstr "não é possível resolver a publicação 'simple' num único destino"
 
-#: remote.c:2073
+#: remote.c:2081
 #, c-format
 msgid "Your branch is based on '%s', but the upstream is gone.\n"
 msgstr "A base do seu ramo é '%s', mas o ramo a montante desapareceu.\n"
 
-#: remote.c:2077
+#: remote.c:2085
 msgid "  (use \"git branch --unset-upstream\" to fixup)\n"
 msgstr "  (use \"git branch --unset-upstream\" para corrigir)\n"
 
-#: remote.c:2080
+#: remote.c:2088
 #, c-format
 msgid "Your branch is up-to-date with '%s'.\n"
 msgstr "O seu ramo está atualizado com '%s'.\n"
 
-#: remote.c:2084
+#: remote.c:2092
 #, c-format
 msgid "Your branch is ahead of '%s' by %d commit.\n"
 msgid_plural "Your branch is ahead of '%s' by %d commits.\n"
 msgstr[0] "O seu ramo está à frente de '%s' por %d commit.\n"
 msgstr[1] "O seu ramo está à frente de '%s' por %d commits.\n"
 
-#: remote.c:2090
+#: remote.c:2098
 msgid "  (use \"git push\" to publish your local commits)\n"
 msgstr "  (use \"git push\" para publicar os commits locais)\n"
 
-#: remote.c:2093
+#: remote.c:2101
 #, c-format
 msgid "Your branch is behind '%s' by %d commit, and can be fast-forwarded.\n"
 msgid_plural ""
@@ -2558,11 +2585,11 @@
 "O seu ramo está atrás de '%s' por %d commits, podendo ser atualizado com "
 "avanço rápido.\n"
 
-#: remote.c:2101
+#: remote.c:2109
 msgid "  (use \"git pull\" to update your local branch)\n"
 msgstr "  (use \"git pull\" para atualizar o seu ramo local)\n"
 
-#: remote.c:2104
+#: remote.c:2112
 #, c-format
 msgid ""
 "Your branch and '%s' have diverged,\n"
@@ -2577,7 +2604,7 @@
 "O seu ramo e '%s' divergiram,\n"
 "tendo cada um %d e %d commits diferentes, respetivamente.\n"
 
-#: remote.c:2114
+#: remote.c:2122
 msgid "  (use \"git pull\" to merge the remote branch into yours)\n"
 msgstr "  (use \"git pull\" para integrar o ramo remoto no seu ramo)\n"
 
@@ -2594,11 +2621,11 @@
 msgid "--first-parent is incompatible with --bisect"
 msgstr "--first-parent é incompatível com --bisect"
 
-#: run-command.c:106
+#: run-command.c:125
 msgid "open /dev/null failed"
 msgstr "falha ao abrir /dev/null"
 
-#: run-command.c:108
+#: run-command.c:127
 #, c-format
 msgid "dup2(%d,%d) failed"
 msgstr "dup2(%d,%d) falhou"
@@ -2627,15 +2654,24 @@
 msgid "the receiving end does not support push options"
 msgstr "o recetor não suporta opções de publicação"
 
-#: sequencer.c:171
+#: sequencer.c:215
 msgid "revert"
 msgstr "reverter"
 
-#: sequencer.c:171
+#: sequencer.c:217
 msgid "cherry-pick"
 msgstr "cherry-pick"
 
-#: sequencer.c:228
+#: sequencer.c:219
+msgid "rebase -i"
+msgstr "rebase -i"
+
+#: sequencer.c:221
+#, c-format
+msgid "Unknown action: %d"
+msgstr "Ação desconhecida: %d"
+
+#: sequencer.c:278
 msgid ""
 "after resolving the conflicts, mark the corrected paths\n"
 "with 'git add <paths>' or 'git rm <paths>'"
@@ -2643,7 +2679,7 @@
 "depois de resolver os conflitos, marque os caminhos corrigidos\n"
 "com 'git add <caminhos>' ou 'git rm <caminhos>'"
 
-#: sequencer.c:231
+#: sequencer.c:281
 msgid ""
 "after resolving the conflicts, mark the corrected paths\n"
 "with 'git add <paths>' or 'git rm <paths>'\n"
@@ -2653,60 +2689,63 @@
 "com 'git add <caminhos>' ou 'git rm <caminhos>'\n"
 "e submeta o resultado com 'git commit'"
 
-#: sequencer.c:244 sequencer.c:1209
+#: sequencer.c:294 sequencer.c:1667
 #, c-format
 msgid "could not lock '%s'"
 msgstr "não foi possível bloquear '%s'"
 
-#: sequencer.c:247 sequencer.c:1125 sequencer.c:1214
+#: sequencer.c:297 sequencer.c:1545 sequencer.c:1672 sequencer.c:1686
 #, c-format
 msgid "could not write to '%s'"
 msgstr "não foi possível escrever em '%s'"
 
-#: sequencer.c:251
+#: sequencer.c:301
 #, c-format
 msgid "could not write eol to '%s'"
 msgstr "não foi possível escrever fim de linha em '%s'"
 
-#: sequencer.c:255 sequencer.c:1130 sequencer.c:1216
+#: sequencer.c:305 sequencer.c:1550 sequencer.c:1674
 #, c-format
 msgid "failed to finalize '%s'."
 msgstr "falha ao finalizar '%s'."
 
-#: sequencer.c:279 builtin/am.c:259 builtin/commit.c:749 builtin/merge.c:1032
+#: sequencer.c:329 sequencer.c:808 sequencer.c:1571 builtin/am.c:259
+#: builtin/commit.c:749 builtin/merge.c:1036
 #, c-format
 msgid "could not read '%s'"
 msgstr "não foi possível ler '%s'"
 
-#: sequencer.c:305
+#: sequencer.c:355
 #, c-format
 msgid "your local changes would be overwritten by %s."
 msgstr "as suas alterações locais serão substituídas ao %s."
 
-#: sequencer.c:309
+#: sequencer.c:359
 msgid "commit your changes or stash them to proceed."
 msgstr "submeta ou esconda as suas alterações para continuar."
 
-#: sequencer.c:324
+#: sequencer.c:388
 #, c-format
 msgid "%s: fast-forward"
 msgstr "%s: avanço rápido"
 
-#. TRANSLATORS: %s will be "revert" or "cherry-pick"
-#: sequencer.c:399
+#. TRANSLATORS: %s will be "revert", "cherry-pick" or
+#. * "rebase -i".
+#.
+#: sequencer.c:470
 #, c-format
 msgid "%s: Unable to write new index file"
 msgstr "%s: Não foi possível escrever novo ficheiro de índice"
 
-#: sequencer.c:418
+#: sequencer.c:489
 msgid "could not resolve HEAD commit\n"
 msgstr "não foi possível resolver o commit HEAD\n"
 
-#: sequencer.c:438
+#: sequencer.c:509
 msgid "unable to update cache tree\n"
 msgstr "não foi possível atualizar a árvore de cache\n"
 
-#: sequencer.c:483
+#: sequencer.c:592
 #, c-format
 msgid ""
 "you have staged changes in your working tree\n"
@@ -2735,173 +2774,393 @@
 "\n"
 "  git rebase --continue\n"
 
-#: sequencer.c:567
+#: sequencer.c:688
 #, c-format
 msgid "could not parse commit %s\n"
 msgstr "não foi possível analisar o commit %s\n"
 
-#: sequencer.c:572
+#: sequencer.c:693
 #, c-format
 msgid "could not parse parent commit %s\n"
 msgstr "não foi possível analisar o commit pai %s\n"
 
-#: sequencer.c:656
+#: sequencer.c:815
+#, c-format
+msgid ""
+"unexpected 1st line of squash message:\n"
+"\n"
+"\t%.*s"
+msgstr ""
+"1ª linha inesperada da mensagem de squash:\n"
+"\n"
+"\t%.*s"
+
+#: sequencer.c:821
+#, c-format
+msgid ""
+"invalid 1st line of squash message:\n"
+"\n"
+"\t%.*s"
+msgstr ""
+"1ª linha inválida da mensagem de squash:\n"
+"\n"
+"\t%.*s"
+
+#: sequencer.c:827 sequencer.c:852
+#, c-format
+msgid "This is a combination of %d commits."
+msgstr "Isto é a combinação de %d commits."
+
+#: sequencer.c:836
+msgid "need a HEAD to fixup"
+msgstr "necessária uma HEAD para fixup"
+
+#: sequencer.c:838
+msgid "could not read HEAD"
+msgstr "não foi possível ler HEAD"
+
+#: sequencer.c:840
+msgid "could not read HEAD's commit message"
+msgstr "não foi possível ler a mensagem de commit de HEAD"
+
+#: sequencer.c:846
+#, c-format
+msgid "cannot write '%s'"
+msgstr "não é possível escrever '%s'"
+
+#: sequencer.c:855 git-rebase--interactive.sh:445
+msgid "This is the 1st commit message:"
+msgstr "Esta é a 1ª mensagem de commit:"
+
+#: sequencer.c:863
+#, c-format
+msgid "could not read commit message of %s"
+msgstr "não foi possível ler a mensagem de commit de %s"
+
+#: sequencer.c:870
+#, c-format
+msgid "This is the commit message #%d:"
+msgstr "Esta é a mensagem de commit nº%d:"
+
+#: sequencer.c:875
+#, c-format
+msgid "The commit message #%d will be skipped:"
+msgstr "A mensagem de commit #%d será ignorada:"
+
+#: sequencer.c:880
+#, c-format
+msgid "unknown command: %d"
+msgstr "comando desconhecido: %d"
+
+#: sequencer.c:946
 msgid "your index file is unmerged."
 msgstr "ficheiro de índice não integrado."
 
-#: sequencer.c:675
+#: sequencer.c:964
 #, c-format
 msgid "commit %s is a merge but no -m option was given."
 msgstr "o commit %s é uma integração mas não foi fornecida a opção -m."
 
-#: sequencer.c:683
+#: sequencer.c:972
 #, c-format
 msgid "commit %s does not have parent %d"
 msgstr "o commit %s não tem o pai %d"
 
-#: sequencer.c:687
+#: sequencer.c:976
 #, c-format
 msgid "mainline was specified but commit %s is not a merge."
 msgstr ""
 "a linha principal foi especificada mas o commit %s não é uma integração."
 
-#. TRANSLATORS: The first %s will be a "todo" command like
-#. "revert" or "pick", the second %s a SHA1.
-#: sequencer.c:700
-#, c-format
-msgid "%s: cannot parse parent commit %s"
-msgstr "%s: não foi possível analisar o commit pai %s"
-
-#: sequencer.c:705
+#: sequencer.c:982
 #, c-format
 msgid "cannot get commit message for %s"
 msgstr "não é possível obter a mensagem de commit de %s"
 
-#: sequencer.c:797
+#. TRANSLATORS: The first %s will be a "todo" command like
+#. "revert" or "pick", the second %s a SHA1.
+#: sequencer.c:1001
+#, c-format
+msgid "%s: cannot parse parent commit %s"
+msgstr "%s: não foi possível analisar o commit pai %s"
+
+#: sequencer.c:1063 sequencer.c:1812
+#, c-format
+msgid "could not rename '%s' to '%s'"
+msgstr "não foi possível mudar o nome de '%s' para '%s'"
+
+#: sequencer.c:1114
 #, c-format
 msgid "could not revert %s... %s"
 msgstr "não foi possível reverter %s... %s"
 
-#: sequencer.c:798
+#: sequencer.c:1115
 #, c-format
 msgid "could not apply %s... %s"
 msgstr "não foi possível aplicar %s... %s"
 
-#: sequencer.c:833
+#: sequencer.c:1157
 msgid "empty commit set passed"
 msgstr "o conjunto de commits especificado está vazio"
 
-#: sequencer.c:843
+#: sequencer.c:1167
 #, c-format
 msgid "git %s: failed to read the index"
 msgstr "git %s: falha ao ler o índice"
 
-#: sequencer.c:850
+#: sequencer.c:1174
 #, c-format
 msgid "git %s: failed to refresh the index"
 msgstr "git %s: falha ao atualizar o índice"
 
-#: sequencer.c:944
+#: sequencer.c:1294
 #, c-format
 msgid "invalid line %d: %.*s"
 msgstr "linha %d inválida: %.*s"
 
-#: sequencer.c:950
-msgid "no commits parsed."
-msgstr "nenhum commit analisado."
+#: sequencer.c:1302
+#, c-format
+msgid "cannot '%s' without a previous commit"
+msgstr "não é possível efetuar '%s' sem um commit anterior"
 
-#: sequencer.c:966
+#: sequencer.c:1334
 #, c-format
 msgid "could not read '%s'."
 msgstr "não foi possível ler '%s'."
 
-#: sequencer.c:972
+#: sequencer.c:1341
+msgid "please fix this using 'git rebase --edit-todo'."
+msgstr "corrija-o usando 'git rebase --edit-todo'."
+
+#: sequencer.c:1343
 #, c-format
 msgid "unusable instruction sheet: '%s'"
 msgstr "folha de instruções inutilizável: '%s'"
 
-#: sequencer.c:983
+#: sequencer.c:1348
+msgid "no commits parsed."
+msgstr "nenhum commit analisado."
+
+#: sequencer.c:1359
 msgid "cannot cherry-pick during a revert."
 msgstr "não é possível efetuar cherry-pick durante uma reversão."
 
-#: sequencer.c:985
+#: sequencer.c:1361
 msgid "cannot revert during a cherry-pick."
 msgstr "não é possível reverter durante um cherry-pick."
 
-#: sequencer.c:1028
+#: sequencer.c:1424
 #, c-format
 msgid "invalid key: %s"
 msgstr "chave inválida: %s"
 
-#: sequencer.c:1031
+#: sequencer.c:1427
 #, c-format
 msgid "invalid value for %s: %s"
 msgstr "valor inválido de %s: %s"
 
-#: sequencer.c:1063
+#: sequencer.c:1484
 #, c-format
 msgid "malformed options sheet: '%s'"
 msgstr "folha de opções malformada: '%s'"
 
-#: sequencer.c:1101
+#: sequencer.c:1522
 msgid "a cherry-pick or revert is already in progress"
 msgstr "cherry-pick ou revert em curso"
 
-#: sequencer.c:1102
+#: sequencer.c:1523
 msgid "try \"git cherry-pick (--continue | --quit | --abort)\""
 msgstr "tente \"git cherry-pick (--continue | --quit |--abort)\""
 
-#: sequencer.c:1106
+#: sequencer.c:1526
 #, c-format
 msgid "could not create sequencer directory '%s'"
 msgstr "não foi possível criar o diretório do sequenciador '%s'"
 
-#: sequencer.c:1120
+#: sequencer.c:1540
 msgid "could not lock HEAD"
 msgstr "não foi possível bloquear HEAD"
 
-#: sequencer.c:1151 sequencer.c:1289
+#: sequencer.c:1596 sequencer.c:2150
 msgid "no cherry-pick or revert in progress"
 msgstr "nenhum cherry-pick ou revert em curso"
 
-#: sequencer.c:1153
+#: sequencer.c:1598
 msgid "cannot resolve HEAD"
 msgstr "não é possível resolver HEAD"
 
-#: sequencer.c:1155 sequencer.c:1189
+#: sequencer.c:1600 sequencer.c:1634
 msgid "cannot abort from a branch yet to be born"
 msgstr "não é possível abortar um ramo ainda não criado"
 
-#: sequencer.c:1175 builtin/grep.c:578
+#: sequencer.c:1620 builtin/grep.c:904
 #, c-format
 msgid "cannot open '%s'"
 msgstr "não é possível abrir '%s'"
 
-#: sequencer.c:1177
+#: sequencer.c:1622
 #, c-format
 msgid "cannot read '%s': %s"
 msgstr "não é possível ler '%s': %s"
 
-#: sequencer.c:1178
+#: sequencer.c:1623
 msgid "unexpected end of file"
 msgstr "fim de ficheiro inesperado"
 
-#: sequencer.c:1184
+#: sequencer.c:1629
 #, c-format
 msgid "stored pre-cherry-pick HEAD file '%s' is corrupt"
 msgstr "o ficheiro HEAD de pre-cherry-pick '%s' está corrompido"
 
-#: sequencer.c:1354
+#: sequencer.c:1640
+msgid "You seem to have moved HEAD. Not rewinding, check your HEAD!"
+msgstr "Parece que a HEAD se moveu. Não recuando, verifique a HEAD."
+
+#: sequencer.c:1777 sequencer.c:2049
+msgid "cannot read HEAD"
+msgstr "não é possível ler HEAD"
+
+#: sequencer.c:1817 builtin/difftool.c:574
+#, c-format
+msgid "could not copy '%s' to '%s'"
+msgstr "não foi possível copiar '%s' para '%s'"
+
+#: sequencer.c:1833
+msgid "could not read index"
+msgstr "não foi possível ler o índice"
+
+#: sequencer.c:1838
+#, c-format
+msgid ""
+"execution failed: %s\n"
+"%sYou can fix the problem, and then run\n"
+"\n"
+"  git rebase --continue\n"
+"\n"
+msgstr ""
+"a execução falhou: %s\n"
+"%sPode corrigir o problema e executar\n"
+"\n"
+"  git rebase --continue\n"
+"\n"
+
+#: sequencer.c:1844
+msgid "and made changes to the index and/or the working tree\n"
+msgstr "e fez alterações ao índice e/ou à árvore de trabalho\n"
+
+#: sequencer.c:1850
+#, c-format
+msgid ""
+"execution succeeded: %s\n"
+"but left changes to the index and/or the working tree\n"
+"Commit or stash your changes, and then run\n"
+"\n"
+"  git rebase --continue\n"
+"\n"
+msgstr ""
+"Executado com sucesso: %s\n"
+"mas deixou alterações no índice e/ou na árvore de trabalho\n"
+"Submeta ou esconda as alterações e execute\n"
+"\n"
+"  git rebase --continue\n"
+"\n"
+
+#: sequencer.c:1905 git-rebase.sh:168
+#, c-format
+msgid "Applied autostash."
+msgstr "Pilha automática (autostash) aplicada."
+
+#: sequencer.c:1917
+#, c-format
+msgid "cannot store %s"
+msgstr "não é possível guardar %s"
+
+#: sequencer.c:1919 git-rebase.sh:172
+#, c-format
+msgid ""
+"Applying autostash resulted in conflicts.\n"
+"Your changes are safe in the stash.\n"
+"You can run \"git stash pop\" or \"git stash drop\" at any time.\n"
+msgstr ""
+"Surgiram conflitos ao aplicar a pilha automática (autostash).\n"
+"As suas alterações estão guardadas na pilha.\n"
+"Pode executar \"git stash pop\" ou \"git stash drop\" oportunamente.\n"
+
+#: sequencer.c:2000
+#, c-format
+msgid "stopped at %s... %.*s"
+msgstr "parado a %s... %.*s"
+
+#: sequencer.c:2027
+#, c-format
+msgid "unknown command %d"
+msgstr "comando desconhecido %d"
+
+#: sequencer.c:2057
+msgid "could not read orig-head"
+msgstr "não foi possível ler orig-head"
+
+#: sequencer.c:2061
+msgid "could not read 'onto'"
+msgstr "não foi possível ler 'onto'"
+
+#: sequencer.c:2068
+#, c-format
+msgid "could not update %s"
+msgstr "não foi possível atualizar %s"
+
+#: sequencer.c:2075
+#, c-format
+msgid "could not update HEAD to %s"
+msgstr "não foi possível atualizar HEAD para %s"
+
+#: sequencer.c:2159
+msgid "cannot rebase: You have unstaged changes."
+msgstr "não é possível rebasear: tem alterações não preparadas."
+
+#: sequencer.c:2164
+msgid "could not remove CHERRY_PICK_HEAD"
+msgstr "não foi possível remover CHERRY_PICK_HEAD"
+
+#: sequencer.c:2173
+msgid "cannot amend non-existing commit"
+msgstr "não é possível emendar commit não-existente"
+
+#: sequencer.c:2175
+#, c-format
+msgid "invalid file: '%s'"
+msgstr "ficheiro inválido: '%s'"
+
+#: sequencer.c:2177
+#, c-format
+msgid "invalid contents: '%s'"
+msgstr "conteúdo inválido: '%s'"
+
+#: sequencer.c:2180
+msgid ""
+"\n"
+"You have uncommitted changes in your working tree. Please, commit them\n"
+"first and then run 'git rebase --continue' again."
+msgstr ""
+"\n"
+"Tem alterações por submeter na árvore de trabalho. Submeta-as primeiro\n"
+"e execute 'git rebase --continue' de novo."
+
+#: sequencer.c:2190
+msgid "could not commit staged changes."
+msgstr "não foi possível submeter as alterações preparadas."
+
+#: sequencer.c:2270
 #, c-format
 msgid "%s: can't cherry-pick a %s"
 msgstr "%s: não é possível efetuar cherry-pick de %s"
 
-#: sequencer.c:1358
+#: sequencer.c:2274
 #, c-format
 msgid "%s: bad revision"
 msgstr "%s: revisão incorreta"
 
-#: sequencer.c:1391
+#: sequencer.c:2307
 msgid "can't revert as initial commit"
 msgstr "não é possível reverter como commit inicial"
 
@@ -2912,8 +3171,8 @@
 "Use 'git <command> -- <path>...' to specify paths that do not exist locally."
 msgstr ""
 "%s: não há tal caminho na árvore de trabalho.\n"
-"Use 'git <comando> -- <caminho>...' para especificar caminhos que não "
-"existem localmente."
+"Use 'git <comando> -- <caminho>...' para especificar caminhos que não existem "
+"localmente."
 
 #: setup.c:173
 #, c-format
@@ -2938,29 +3197,29 @@
 "Use '--' para separar caminhos de revisões, assim:\n"
 "'git <comando> [<revisão>...] -- [<ficheiro>...]'"
 
-#: setup.c:468
+#: setup.c:470
 #, c-format
 msgid "Expected git repo version <= %d, found %d"
 msgstr "Esperava-se versão do repositório git <= %d, obteve-se %d"
 
-#: setup.c:476
+#: setup.c:478
 msgid "unknown repository extensions found:"
 msgstr "extensões de repositório desconhecidas encontradas:"
 
-#: setup.c:762
+#: setup.c:768
 #, c-format
 msgid "Not a git repository (or any of the parent directories): %s"
 msgstr "Não é um repositório git (ou um dos diretórios pai): %s"
 
-#: setup.c:764 setup.c:915 builtin/index-pack.c:1641
+#: setup.c:770 setup.c:922 builtin/index-pack.c:1643
 msgid "Cannot come back to cwd"
 msgstr "Não é possível voltar ao diretório de trabalho atual"
 
-#: setup.c:845
+#: setup.c:852
 msgid "Unable to read current working directory"
 msgstr "Não é possível ler o diretório de trabalho atual"
 
-#: setup.c:920
+#: setup.c:927
 #, c-format
 msgid ""
 "Not a git repository (or any parent up to mount point %s)\n"
@@ -2970,12 +3229,12 @@
 "Interrompido no limite do sistema de ficheiros "
 "(GIT_DISCOVERY_ACROSS_FILESYSTEM não definido)."
 
-#: setup.c:927
+#: setup.c:934
 #, c-format
 msgid "Cannot change to '%s/..'"
 msgstr "Não é possível mudar para '%s/..'"
 
-#: setup.c:989
+#: setup.c:996
 #, c-format
 msgid ""
 "Problem with core.sharedRepository filemode value (0%.3o).\n"
@@ -2984,43 +3243,43 @@
 "Problema com o valor core.sharedRepository modo de ficheiro (0%.3o).\n"
 "O dono dos ficheiros tem de ter sempre permissões de leitura e escrita."
 
-#: sha1_file.c:473
+#: sha1_file.c:490
 #, c-format
 msgid "path '%s' does not exist"
 msgstr "o caminho '%s' não existe"
 
-#: sha1_file.c:499
+#: sha1_file.c:516
 #, c-format
 msgid "reference repository '%s' as a linked checkout is not supported yet."
 msgstr ""
 "ainda não é suportada a funcionalidade que permite ter o repositório de "
 "referência '%s' como uma extração ligada."
 
-#: sha1_file.c:505
+#: sha1_file.c:522
 #, c-format
 msgid "reference repository '%s' is not a local repository."
 msgstr "o repositório de referência '%s' não é um repositório local."
 
-#: sha1_file.c:511
+#: sha1_file.c:528
 #, c-format
 msgid "reference repository '%s' is shallow"
 msgstr "o repositório de referência '%s' é raso"
 
-#: sha1_file.c:519
+#: sha1_file.c:536
 #, c-format
 msgid "reference repository '%s' is grafted"
 msgstr "o repositório de referência '%s' está enxertado"
 
-#: sha1_file.c:1159
+#: sha1_file.c:1176
 msgid "offset before end of packfile (broken .idx?)"
 msgstr "offset antes do fim do ficheiro de pacote (.idx danificado?)"
 
-#: sha1_file.c:2592
+#: sha1_file.c:2637
 #, c-format
 msgid "offset before start of pack index for %s (corrupt index?)"
 msgstr "offset antes do início do índice do pacote %s (índice corrompido?)"
 
-#: sha1_file.c:2596
+#: sha1_file.c:2641
 #, c-format
 msgid "offset beyond end of pack index for %s (truncated index?)"
 msgstr "offset depois do fim do índice do pacote %s (índice truncado?)"
@@ -3059,90 +3318,135 @@
 "Analise estas referências e elimine-as se desejar. Desative esta\n"
 "mensagem executando \"git config advice.objectNameWarning false\""
 
-#: submodule.c:64 submodule.c:98
+#: submodule.c:65 submodule.c:99
 msgid "Cannot change unmerged .gitmodules, resolve merge conflicts first"
 msgstr ""
 "Não é possível alterar .gitmodules não integrado, resolva primeiro os "
 "conflitos de integração"
 
-#: submodule.c:68 submodule.c:102
+#: submodule.c:69 submodule.c:103
 #, c-format
 msgid "Could not find section in .gitmodules where path=%s"
 msgstr "Secção de .gitmodules cujo path=%s não encontrada"
 
-#: submodule.c:76
+#: submodule.c:77
 #, c-format
 msgid "Could not update .gitmodules entry %s"
 msgstr "Não foi possível atualizar o elemento %s de .gitmodules"
 
-#: submodule.c:109
+#: submodule.c:110
 #, c-format
 msgid "Could not remove .gitmodules entry for %s"
 msgstr "Não foi possível remover o elemento %s de .gitmodules"
 
-#: submodule.c:120
+#: submodule.c:121
 msgid "staging updated .gitmodules failed"
 msgstr "falha ao preparar .gitmodules atualizado"
 
-#: submodule.c:158
+#: submodule.c:159
 msgid "negative values not allowed for submodule.fetchJobs"
 msgstr "não é permitido valores negativos em submodule.fetchJobs"
 
-#: submodule-config.c:358
+#: submodule.c:1184
+#, c-format
+msgid "could not start 'git status in submodule '%s'"
+msgstr "não foi possível iniciar 'git status' no submódulo '%s'"
+
+#: submodule.c:1197
+#, c-format
+msgid "could not run 'git status in submodule '%s'"
+msgstr "não foi possível executar 'git status' no submódulo '%s'"
+
+#: submodule.c:1398
+#, c-format
+msgid ""
+"relocate_gitdir for submodule '%s' with more than one worktree not supported"
+msgstr ""
+"relocate_gitdir para submodule '%s' com mais do que uma árvore de trabalho "
+"não suportado"
+
+#: submodule.c:1410 submodule.c:1471
+#, c-format
+msgid "could not lookup name for submodule '%s'"
+msgstr "não foi possível procurar pelo submódulo '%s'"
+
+#: submodule.c:1414 submodule.c:1474 builtin/submodule--helper.c:640
+#: builtin/submodule--helper.c:650
+#, c-format
+msgid "could not create directory '%s'"
+msgstr "não foi possível criar o diretório '%s'"
+
+#: submodule.c:1420
+#, c-format
+msgid ""
+"Migrating git directory of '%s%s' from\n"
+"'%s' to\n"
+"'%s'\n"
+msgstr ""
+"A migrar diretório git de '%s%s' de\n"
+"'%s' para\n"
+"'%s'\n"
+
+#: submodule.c:1512
+#, c-format
+msgid "could not recurse into submodule '%s'"
+msgstr "não foi possível percorrer recursivamente o submódulo '%s'"
+
+#: submodule-config.c:360
 #, c-format
 msgid "invalid value for %s"
 msgstr "valor inválido de %s"
 
-#: trailer.c:238
+#: trailer.c:240
 #, c-format
 msgid "running trailer command '%s' failed"
 msgstr "falha ao executar o comando trailer '%s'"
 
-#: trailer.c:471 trailer.c:475 trailer.c:479 trailer.c:533 trailer.c:537
-#: trailer.c:541
+#: trailer.c:473 trailer.c:477 trailer.c:481 trailer.c:535 trailer.c:539
+#: trailer.c:543
 #, c-format
 msgid "unknown value '%s' for key '%s'"
 msgstr "valor desconhecido '%s' da chave '%s'"
 
-#: trailer.c:523 trailer.c:528 builtin/remote.c:289
+#: trailer.c:525 trailer.c:530 builtin/remote.c:289
 #, c-format
 msgid "more than one %s"
 msgstr "mais do que um %s"
 
-#: trailer.c:672
+#: trailer.c:702
 #, c-format
 msgid "empty trailer token in trailer '%.*s'"
 msgstr "token terminador vazio no terminador '%.*s'"
 
-#: trailer.c:695
+#: trailer.c:722
 #, c-format
 msgid "could not read input file '%s'"
 msgstr "não foi possível ler o ficheiro de entrada '%s'"
 
-#: trailer.c:698
+#: trailer.c:725
 msgid "could not read from stdin"
 msgstr "não foi possível ler da entrada padrão"
 
-#: trailer.c:929 builtin/am.c:44
+#: trailer.c:949 builtin/am.c:44
 #, c-format
 msgid "could not stat %s"
 msgstr "não foi possível obter stat de %s"
 
-#: trailer.c:931
+#: trailer.c:951
 #, c-format
 msgid "file %s is not a regular file"
 msgstr "o ficheiro %s não é um ficheiro regular"
 
-#: trailer.c:933
+#: trailer.c:953
 #, c-format
 msgid "file %s is not writable by user"
 msgstr "o ficheiro %s não pode ser escrito pelo utilizador"
 
-#: trailer.c:945
+#: trailer.c:965
 msgid "could not open temporary file"
 msgstr "não foi possível abrir ficheiro temporário"
 
-#: trailer.c:983
+#: trailer.c:1001
 #, c-format
 msgid "could not rename temporary file to %s"
 msgstr "não foi possível mudar o nome do ficheiro temporário para %s"
@@ -3157,7 +3461,7 @@
 msgid "transport: invalid depth option '%s'"
 msgstr "transporte: opção de profundidade '%s' inválida"
 
-#: transport.c:817
+#: transport.c:885
 #, c-format
 msgid ""
 "The following submodule paths contain changes that can\n"
@@ -3166,7 +3470,7 @@
 "Os seguintes caminhos de submódulo contêm alterações que\n"
 "não puderam ser encontradas a nenhum remoto:\n"
 
-#: transport.c:821
+#: transport.c:889
 #, c-format
 msgid ""
 "\n"
@@ -3193,11 +3497,11 @@
 "para publicá-las no remoto.\n"
 "\n"
 
-#: transport.c:829
+#: transport.c:897
 msgid "Aborting."
 msgstr "Abortado."
 
-#: transport-helper.c:1075
+#: transport-helper.c:1082
 #, c-format
 msgid "Could not read ref %s"
 msgstr "Não foi possível ler a referência %s"
@@ -3218,7 +3522,7 @@
 msgid "too-short tree file"
 msgstr "ficheiro de árvore demasiado curto"
 
-#: unpack-trees.c:64
+#: unpack-trees.c:99
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by checkout:\n"
@@ -3228,7 +3532,7 @@
 "extrair:\n"
 "%%sSubmeta as suas alterações ou esconda-as antes de trocar de ramo."
 
-#: unpack-trees.c:66
+#: unpack-trees.c:101
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by checkout:\n"
@@ -3238,7 +3542,7 @@
 "extrair:\n"
 "%%s"
 
-#: unpack-trees.c:69
+#: unpack-trees.c:104
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by merge:\n"
@@ -3248,7 +3552,7 @@
 "integrar:\n"
 "%%sSubmeta as suas alterações ou esconda-as antes de integrar."
 
-#: unpack-trees.c:71
+#: unpack-trees.c:106
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by merge:\n"
@@ -3258,7 +3562,7 @@
 "integrar:\n"
 "%%s"
 
-#: unpack-trees.c:74
+#: unpack-trees.c:109
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by %s:\n"
@@ -3268,7 +3572,7 @@
 "%s:\n"
 "%%sSubmeta as suas alterações ou esconda-as antes de efetuar %s."
 
-#: unpack-trees.c:76
+#: unpack-trees.c:111
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by %s:\n"
@@ -3278,99 +3582,97 @@
 "%s:\n"
 "%%s"
 
-#: unpack-trees.c:81
+#: unpack-trees.c:116
 #, c-format
 msgid ""
-"Updating the following directories would lose untracked files in it:\n"
+"Updating the following directories would lose untracked files in them:\n"
 "%s"
 msgstr ""
-"Perder-se-iam ficheiros não controlados ao atualizar os seguintes "
-"diretórios:\n"
+"Atualizar os seguintes diretórios perde os ficheiros não controlos dentro "
+"deles:\n"
 "%s"
 
-#: unpack-trees.c:85
+#: unpack-trees.c:120
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by checkout:\n"
 "%%sPlease move or remove them before you switch branches."
 msgstr ""
-"Os seguintes ficheiros não controlados na árvore de trabalho seriam "
-"removidos ao extrair:\n"
+"Os seguintes ficheiros não controlados na árvore de trabalho seriam removidos "
+"ao extrair:\n"
 "%%sMova ou remova-os antes de trocar de ramos."
 
-#: unpack-trees.c:87
+#: unpack-trees.c:122
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by checkout:\n"
 "%%s"
 msgstr ""
-"Os seguintes ficheiros não controlados na árvore de trabalho seriam "
-"removidos ao extrair:\n"
+"Os seguintes ficheiros não controlados na árvore de trabalho seriam removidos "
+"ao extrair:\n"
 "%%s"
 
-#: unpack-trees.c:90
+#: unpack-trees.c:125
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by merge:\n"
 "%%sPlease move or remove them before you merge."
 msgstr ""
-"Os seguintes ficheiros não controlados na árvore de trabalho seriam "
-"removidos ao integrar:\n"
+"Os seguintes ficheiros não controlados na árvore de trabalho seriam removidos "
+"ao integrar:\n"
 "%%sMova ou remova-os antes de integrar."
 
-#: unpack-trees.c:92
+#: unpack-trees.c:127
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by merge:\n"
 "%%s"
 msgstr ""
-"Os seguintes ficheiros não controlados na árvore de trabalho seriam "
-"removidos ao integrar:\n"
+"Os seguintes ficheiros não controlados na árvore de trabalho seriam removidos "
+"ao integrar:\n"
 "%%s"
 
-#: unpack-trees.c:95
+#: unpack-trees.c:130
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by %s:\n"
 "%%sPlease move or remove them before you %s."
 msgstr ""
-"Os seguintes ficheiros não controlados na árvore de trabalho seriam "
-"removidos por %s:\n"
+"Os seguintes ficheiros não controlados na árvore de trabalho seriam removidos "
+"por %s:\n"
 "%%sMova ou remova-os antes de efetuar %s."
 
-#: unpack-trees.c:97
+#: unpack-trees.c:132
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by %s:\n"
 "%%s"
 msgstr ""
-"Os seguintes ficheiros não controlados na árvore de trabalho seriam "
-"removidos por %s:\n"
+"Os seguintes ficheiros não controlados na árvore de trabalho seriam removidos "
+"por %s:\n"
 "%%s"
 
-#: unpack-trees.c:102
+#: unpack-trees.c:137
 #, c-format
 msgid ""
-"The following untracked working tree files would be overwritten by "
-"checkout:\n"
+"The following untracked working tree files would be overwritten by checkout:\n"
 "%%sPlease move or remove them before you switch branches."
 msgstr ""
 "Os seguintes ficheiros não controlados da árvore de trabalho seriam "
 "substituídos ao extrair:\n"
 "%%sMova ou remova-os antes de trocar de ramos."
 
-#: unpack-trees.c:104
+#: unpack-trees.c:139
 #, c-format
 msgid ""
-"The following untracked working tree files would be overwritten by "
-"checkout:\n"
+"The following untracked working tree files would be overwritten by checkout:\n"
 "%%s"
 msgstr ""
 "Os seguintes ficheiros não controlados da árvore de trabalho seriam "
 "substituídos ao extrair:\n"
 "%%s"
 
-#: unpack-trees.c:107
+#: unpack-trees.c:142
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by merge:\n"
@@ -3380,7 +3682,7 @@
 "substituídos ao integrar:\n"
 "%%sMova ou remova-os antes de integrar."
 
-#: unpack-trees.c:109
+#: unpack-trees.c:144
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by merge:\n"
@@ -3390,7 +3692,7 @@
 "substituídos ao integrar:\n"
 "%%s"
 
-#: unpack-trees.c:112
+#: unpack-trees.c:147
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by %s:\n"
@@ -3400,7 +3702,7 @@
 "substituídos por %s:\n"
 "%%sMova ou remova-os antes de efetuar %s."
 
-#: unpack-trees.c:114
+#: unpack-trees.c:149
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by %s:\n"
@@ -3410,12 +3712,12 @@
 "substituídos por %s:\n"
 "%%s"
 
-#: unpack-trees.c:121
+#: unpack-trees.c:156
 #, c-format
 msgid "Entry '%s' overlaps with '%s'.  Cannot bind."
 msgstr "A entrada '%s' sobrepõe-se com '%s'. Não é possível vincular."
 
-#: unpack-trees.c:124
+#: unpack-trees.c:159
 #, c-format
 msgid ""
 "Cannot update sparse checkout: the following entries are not up-to-date:\n"
@@ -3425,34 +3727,33 @@
 "atualizadas:\n"
 "%s"
 
-#: unpack-trees.c:126
+#: unpack-trees.c:161
 #, c-format
 msgid ""
 "The following working tree files would be overwritten by sparse checkout "
 "update:\n"
 "%s"
 msgstr ""
-"Os seguintes ficheiros na árvore de trabalho seriam substituídos ao "
-"atualizar a extração esparsa:\n"
+"Os seguintes ficheiros na árvore de trabalho seriam substituídos ao atualizar "
+"a extração esparsa:\n"
 "%s"
 
-#: unpack-trees.c:128
+#: unpack-trees.c:163
 #, c-format
 msgid ""
-"The following working tree files would be removed by sparse checkout "
-"update:\n"
+"The following working tree files would be removed by sparse checkout update:\n"
 "%s"
 msgstr ""
 "Os seguintes ficheiros na árvore de trabalho seriam removidos ao atualizar a "
 "extração esparsa:\n"
 "%s"
 
-#: unpack-trees.c:205
+#: unpack-trees.c:240
 #, c-format
 msgid "Aborting\n"
 msgstr "A abortar\n"
 
-#: unpack-trees.c:237
+#: unpack-trees.c:270
 msgid "Checking out files"
 msgstr "A extrair ficheiros"
 
@@ -3501,7 +3802,7 @@
 msgstr "não foi possível abrir '%s' para escrita"
 
 #: wrapper.c:226 wrapper.c:396 builtin/am.c:320 builtin/am.c:759
-#: builtin/am.c:847 builtin/commit.c:1705 builtin/merge.c:1029
+#: builtin/am.c:847 builtin/commit.c:1700 builtin/merge.c:1033
 #: builtin/pull.c:341
 #, c-format
 msgid "could not open '%s' for reading"
@@ -3580,8 +3881,7 @@
 #: wt-status.c:226
 msgid "  (commit or discard the untracked or modified content in submodules)"
 msgstr ""
-"  (submeta ou descarte o conteúdo modificado ou não controlado nos "
-"submódulos)"
+"  (submeta ou descarte o conteúdo modificado ou não controlado nos submódulos)"
 
 #: wt-status.c:238
 #, c-format
@@ -3716,191 +4016,194 @@
 msgid "  (use \"git am --abort\" to restore the original branch)"
 msgstr "  (use \"git am --abort\" para restaurar o ramo original)"
 
-#: wt-status.c:1172
+#: wt-status.c:1176
+msgid "git-rebase-todo is missing."
+msgstr "git-rebase-todo não existe."
+
+#: wt-status.c:1178
 msgid "No commands done."
 msgstr "Nenhum comando concluído."
 
-#: wt-status.c:1175
+#: wt-status.c:1181
 #, c-format
 msgid "Last command done (%d command done):"
 msgid_plural "Last commands done (%d commands done):"
 msgstr[0] "Último comando concluído (%d comando concluído):"
 msgstr[1] "Últimos comandos concluídos (%d comandos concluídos):"
 
-#: wt-status.c:1186
+#: wt-status.c:1192
 #, c-format
 msgid "  (see more in file %s)"
 msgstr "  (veja mais no ficheiro %s)"
 
-#: wt-status.c:1191
+#: wt-status.c:1197
 msgid "No commands remaining."
 msgstr "Nenhum comando por concluir."
 
-#: wt-status.c:1194
+#: wt-status.c:1200
 #, c-format
 msgid "Next command to do (%d remaining command):"
 msgid_plural "Next commands to do (%d remaining commands):"
 msgstr[0] "Próximo comando a executar (%d comando restante):"
 msgstr[1] "Próximos comandos a executar (%d comandos restantes):"
 
-#: wt-status.c:1202
+#: wt-status.c:1208
 msgid "  (use \"git rebase --edit-todo\" to view and edit)"
 msgstr "  (use \"git rebase --edit-todo\" para visualizar e editar)"
 
-#: wt-status.c:1215
+#: wt-status.c:1221
 #, c-format
 msgid "You are currently rebasing branch '%s' on '%s'."
 msgstr "Está a realizar rebase do ramo '%s' sobre '%s'."
 
-#: wt-status.c:1220
+#: wt-status.c:1226
 msgid "You are currently rebasing."
 msgstr "Está a rebasear neste momento."
 
-#: wt-status.c:1234
+#: wt-status.c:1240
 msgid "  (fix conflicts and then run \"git rebase --continue\")"
 msgstr "  (corrija os conflitos e execute \"git rebase --continue\")"
 
-#: wt-status.c:1236
+#: wt-status.c:1242
 msgid "  (use \"git rebase --skip\" to skip this patch)"
 msgstr "  (use \"git rebase --skip\" para ignorar este patch)"
 
-#: wt-status.c:1238
+#: wt-status.c:1244
 msgid "  (use \"git rebase --abort\" to check out the original branch)"
 msgstr "  (use \"git rebase --abort\" para restaurar o ramo original)"
 
-#: wt-status.c:1244
+#: wt-status.c:1250
 msgid "  (all conflicts fixed: run \"git rebase --continue\")"
 msgstr ""
 "  (todos os conflitos foram corrigidos: execute \"git rebase --continue\")"
 
-#: wt-status.c:1248
+#: wt-status.c:1254
 #, c-format
-msgid ""
-"You are currently splitting a commit while rebasing branch '%s' on '%s'."
+msgid "You are currently splitting a commit while rebasing branch '%s' on '%s'."
 msgstr ""
 "Está a dividir um commit ao mesmo tempo que se efetua rebase do ramo '%s' "
 "sobre '%s'."
 
-#: wt-status.c:1253
+#: wt-status.c:1259
 msgid "You are currently splitting a commit during a rebase."
 msgstr "Está a dividir um commit durante um rebase."
 
-#: wt-status.c:1256
+#: wt-status.c:1262
 msgid "  (Once your working directory is clean, run \"git rebase --continue\")"
 msgstr ""
 "  (Assim que o diretório de trabalho estiver limpo, execute \"git rebase --"
 "continue\")"
 
-#: wt-status.c:1260
+#: wt-status.c:1266
 #, c-format
 msgid "You are currently editing a commit while rebasing branch '%s' on '%s'."
 msgstr ""
 "Está a editar um commit ao mesmo tempo que efetua rebase do ramo '%s' sobre "
 "'%s'."
 
-#: wt-status.c:1265
+#: wt-status.c:1271
 msgid "You are currently editing a commit during a rebase."
 msgstr "Está a editar um commit durante um rebase."
 
-#: wt-status.c:1268
+#: wt-status.c:1274
 msgid "  (use \"git commit --amend\" to amend the current commit)"
 msgstr "  (use \"git commit --amend\" para emendar o commit atual)"
 
-#: wt-status.c:1270
+#: wt-status.c:1276
 msgid ""
 "  (use \"git rebase --continue\" once you are satisfied with your changes)"
 msgstr ""
 "  (use \"git rebase --continue\" assim que estiver satisfeito com as "
 "alterações)"
 
-#: wt-status.c:1280
+#: wt-status.c:1286
 #, c-format
 msgid "You are currently cherry-picking commit %s."
 msgstr "Está a realizar cherry-pick do commit %s."
 
-#: wt-status.c:1285
+#: wt-status.c:1291
 msgid "  (fix conflicts and run \"git cherry-pick --continue\")"
 msgstr "  (corrija os conflitos e execute \"git cherry-pick --continue\")"
 
-#: wt-status.c:1288
+#: wt-status.c:1294
 msgid "  (all conflicts fixed: run \"git cherry-pick --continue\")"
 msgstr ""
 "  (todos os conflitos foram corrigidos: execute \"git cherry-pick --continue"
 "\")"
 
-#: wt-status.c:1290
+#: wt-status.c:1296
 msgid "  (use \"git cherry-pick --abort\" to cancel the cherry-pick operation)"
 msgstr ""
 "  (use \"git cherry-pick --abort\" para cancelar a operação de cherry-pick)"
 
-#: wt-status.c:1299
+#: wt-status.c:1305
 #, c-format
 msgid "You are currently reverting commit %s."
 msgstr "Está a reverter o commit %s neste comento."
 
-#: wt-status.c:1304
+#: wt-status.c:1310
 msgid "  (fix conflicts and run \"git revert --continue\")"
 msgstr "  (corrija dos conflitos e execute \"git revert --continue\")"
 
-#: wt-status.c:1307
+#: wt-status.c:1313
 msgid "  (all conflicts fixed: run \"git revert --continue\")"
 msgstr ""
 "  (todos os conflitos foram corrigidos: execute \"git revert --continue\")"
 
-#: wt-status.c:1309
+#: wt-status.c:1315
 msgid "  (use \"git revert --abort\" to cancel the revert operation)"
 msgstr "  (use \"git rever --abort\" para cancelar a operação de reversão)"
 
-#: wt-status.c:1320
+#: wt-status.c:1326
 #, c-format
 msgid "You are currently bisecting, started from branch '%s'."
 msgstr "Está a bissetar, iniciado a partir do ramo '%s'."
 
-#: wt-status.c:1324
+#: wt-status.c:1330
 msgid "You are currently bisecting."
 msgstr "Está a bissetar neste momento."
 
-#: wt-status.c:1327
+#: wt-status.c:1333
 msgid "  (use \"git bisect reset\" to get back to the original branch)"
 msgstr "  (use \"git bisect reset\" para voltar ao ramo original)"
 
-#: wt-status.c:1524
+#: wt-status.c:1530
 msgid "On branch "
 msgstr "No ramo "
 
-#: wt-status.c:1530
+#: wt-status.c:1536
 msgid "interactive rebase in progress; onto "
 msgstr "rebase interativo em curso; sobre "
 
-#: wt-status.c:1532
+#: wt-status.c:1538
 msgid "rebase in progress; onto "
 msgstr "rebase em curso; sobre "
 
-#: wt-status.c:1537
+#: wt-status.c:1543
 msgid "HEAD detached at "
 msgstr "HEAD destacada em "
 
-#: wt-status.c:1539
+#: wt-status.c:1545
 msgid "HEAD detached from "
 msgstr "HEAD destacada de "
 
-#: wt-status.c:1542
+#: wt-status.c:1548
 msgid "Not currently on any branch."
 msgstr "Não se encontra em nenhum ramo neste momento."
 
-#: wt-status.c:1560
+#: wt-status.c:1566
 msgid "Initial commit"
 msgstr "Commit inicial"
 
-#: wt-status.c:1574
+#: wt-status.c:1580
 msgid "Untracked files"
 msgstr "Ficheiros não controlados"
 
-#: wt-status.c:1576
+#: wt-status.c:1582
 msgid "Ignored files"
 msgstr "Ficheiros ignorados"
 
-#: wt-status.c:1580
+#: wt-status.c:1586
 #, c-format
 msgid ""
 "It took %.2f seconds to enumerate untracked files. 'status -uno'\n"
@@ -3912,32 +4215,32 @@
 "cuidado de não se esquecer de adicionar novos ficheiros\n"
 "(consulte 'git help status')."
 
-#: wt-status.c:1586
+#: wt-status.c:1592
 #, c-format
 msgid "Untracked files not listed%s"
 msgstr "Ficheiros não controlados não listados%s"
 
-#: wt-status.c:1588
+#: wt-status.c:1594
 msgid " (use -u option to show untracked files)"
 msgstr " (use a opção -u para mostrar os ficheiros não controlados)"
 
-#: wt-status.c:1594
+#: wt-status.c:1600
 msgid "No changes"
 msgstr "Sem alterações"
 
-#: wt-status.c:1599
+#: wt-status.c:1605
 #, c-format
 msgid "no changes added to commit (use \"git add\" and/or \"git commit -a\")\n"
 msgstr ""
-"nenhuma alteração adicionada para submeter (use \"git add\" e/ou \"git "
-"commit -a\")\n"
+"nenhuma alteração adicionada para submeter (use \"git add\" e/ou \"git commit "
+"-a\")\n"
 
-#: wt-status.c:1602
+#: wt-status.c:1608
 #, c-format
 msgid "no changes added to commit\n"
 msgstr "nenhuma alteração adicionada para submeter\n"
 
-#: wt-status.c:1605
+#: wt-status.c:1611
 #, c-format
 msgid ""
 "nothing added to commit but untracked files present (use \"git add\" to "
@@ -3946,68 +4249,66 @@
 "não foi adicionado nada para submeter, mas existem ficheiros não controlados "
 "(use \"git add\" para controlá-los)\n"
 
-#: wt-status.c:1608
+#: wt-status.c:1614
 #, c-format
 msgid "nothing added to commit but untracked files present\n"
 msgstr ""
-"não foi adicionado nada para submeter, mas existem ficheiros não "
-"controlados\n"
+"não foi adicionado nada para submeter, mas existem ficheiros não controlados\n"
 
-#: wt-status.c:1611
+#: wt-status.c:1617
 #, c-format
 msgid "nothing to commit (create/copy files and use \"git add\" to track)\n"
 msgstr ""
 "não há nada para submeter (crie/copie ficheiros e use \"git add\" para "
 "controlá-los)\n"
 
-#: wt-status.c:1614 wt-status.c:1619
+#: wt-status.c:1620 wt-status.c:1625
 #, c-format
 msgid "nothing to commit\n"
 msgstr "não há nada para submeter\n"
 
-#: wt-status.c:1617
+#: wt-status.c:1623
 #, c-format
 msgid "nothing to commit (use -u to show untracked files)\n"
 msgstr ""
-"não há nada para submeter (use -u para mostrar os ficheiros não "
-"controlados)\n"
+"não há nada para submeter (use -u para mostrar os ficheiros não controlados)\n"
 
-#: wt-status.c:1621
+#: wt-status.c:1627
 #, c-format
 msgid "nothing to commit, working tree clean\n"
 msgstr "não há nada para submeter, árvore de trabalho limpa\n"
 
-#: wt-status.c:1728
+#: wt-status.c:1734
 msgid "Initial commit on "
 msgstr "Commit inicial em "
 
-#: wt-status.c:1732
+#: wt-status.c:1738
 msgid "HEAD (no branch)"
 msgstr "HEAD (nenhum ramo)"
 
-#: wt-status.c:1761
+#: wt-status.c:1767
 msgid "gone"
 msgstr "desaparecido"
 
-#: wt-status.c:1763 wt-status.c:1771
+#: wt-status.c:1769 wt-status.c:1777
 msgid "behind "
 msgstr "atrás "
 
-#: wt-status.c:1766 wt-status.c:1769
+#: wt-status.c:1772 wt-status.c:1775
 msgid "ahead "
 msgstr "à frente "
 
 #. TRANSLATORS: the action is e.g. "pull with rebase"
-#: wt-status.c:2270
+#: wt-status.c:2277
 #, c-format
 msgid "cannot %s: You have unstaged changes."
 msgstr "não é possível efetuar %s: tem alterações não preparadas."
 
-#: wt-status.c:2276
+#: wt-status.c:2283
 msgid "additionally, your index contains uncommitted changes."
 msgstr "além disso, o índice contém alterações não submetidas."
 
-#: wt-status.c:2278
+#: wt-status.c:2285
 #, c-format
 msgid "cannot %s: Your index contains uncommitted changes."
 msgstr "não é possível efetuar %s: o índice contém alterações não submetidas."
@@ -4039,7 +4340,7 @@
 msgid "Unstaged changes after refreshing the index:"
 msgstr "Alterações não preparadas depois de atualizar o índice:"
 
-#: builtin/add.c:209 builtin/rev-parse.c:840
+#: builtin/add.c:209 builtin/rev-parse.c:845
 msgid "Could not read the index"
 msgstr "Não foi possível ler o índice"
 
@@ -4074,9 +4375,9 @@
 msgid "The following paths are ignored by one of your .gitignore files:\n"
 msgstr "Os seguintes caminhos estão ignorados por algum ficheiro .gitignore:\n"
 
-#: builtin/add.c:266 builtin/clean.c:870 builtin/fetch.c:115 builtin/mv.c:111
-#: builtin/prune-packed.c:55 builtin/pull.c:198 builtin/push.c:521
-#: builtin/remote.c:1326 builtin/rm.c:268 builtin/send-pack.c:162
+#: builtin/add.c:266 builtin/clean.c:870 builtin/fetch.c:115 builtin/mv.c:123
+#: builtin/prune-packed.c:55 builtin/pull.c:198 builtin/push.c:524
+#: builtin/remote.c:1326 builtin/rm.c:241 builtin/send-pack.c:162
 msgid "dry run"
 msgstr "simular ação"
 
@@ -4084,7 +4385,7 @@
 msgid "interactive picking"
 msgstr "seleção interativa"
 
-#: builtin/add.c:270 builtin/checkout.c:1156 builtin/reset.c:286
+#: builtin/add.c:270 builtin/checkout.c:1159 builtin/reset.c:286
 msgid "select hunks interactively"
 msgstr "selecionar blocos interativamente"
 
@@ -4111,8 +4412,7 @@
 
 #: builtin/add.c:278
 msgid "ignore paths removed in the working tree (same as --no-all)"
-msgstr ""
-"ignorar caminhos removidos na árvore de trabalho (o mesmo que --no-all)"
+msgstr "ignorar caminhos removidos na árvore de trabalho (o mesmo que --no-all)"
 
 #: builtin/add.c:280
 msgid "don't add, only refresh the index"
@@ -4168,7 +4468,7 @@
 
 #: builtin/add.c:380 builtin/check-ignore.c:172 builtin/checkout.c:279
 #: builtin/checkout.c:472 builtin/clean.c:914 builtin/commit.c:350
-#: builtin/mv.c:131 builtin/reset.c:235 builtin/rm.c:298
+#: builtin/mv.c:143 builtin/reset.c:235 builtin/rm.c:271
 #: builtin/submodule--helper.c:244
 msgid "index file corrupt"
 msgstr "ficheiro de índice corrompido"
@@ -4248,8 +4548,8 @@
 #, c-format
 msgid "To restore the original branch and stop patching, run \"%s --abort\"."
 msgstr ""
-"Para restaurar o ramo original e interromper a aplicação dos patches, "
-"execute \"%s --abort\"."
+"Para restaurar o ramo original e interromper a aplicação dos patches, execute "
+"\"%s --abort\"."
 
 #: builtin/am.c:1316
 msgid "Patch is empty. Was it split wrong?"
@@ -4293,7 +4593,7 @@
 msgid "Failed to merge in the changes."
 msgstr "Falha ao integrar as alterações."
 
-#: builtin/am.c:1686 builtin/merge.c:628
+#: builtin/am.c:1686 builtin/merge.c:632
 msgid "git write-tree failed to write a tree"
 msgstr "git write-tree falhou ao escrever uma árvore"
 
@@ -4301,8 +4601,8 @@
 msgid "applying to an empty history"
 msgstr "a aplicar a um histórico vazio"
 
-#: builtin/am.c:1706 builtin/commit.c:1769 builtin/merge.c:798
-#: builtin/merge.c:823
+#: builtin/am.c:1706 builtin/commit.c:1764 builtin/merge.c:802
+#: builtin/merge.c:827
 msgid "failed to write commit object"
 msgstr "falha ao escrever objeto de commit"
 
@@ -4314,8 +4614,8 @@
 #: builtin/am.c:1759
 msgid "cannot be interactive without stdin connected to a terminal."
 msgstr ""
-"não é possível entrar em modo interativo sem um entrada padrão conectada a "
-"um terminal."
+"não é possível entrar em modo interativo sem um entrada padrão conectada a um "
+"terminal."
 
 #: builtin/am.c:1764
 msgid "Commit Body is:"
@@ -4415,7 +4715,7 @@
 msgstr "permitir recorrer a integração com 3 pontos se necessário"
 
 #: builtin/am.c:2245 builtin/init-db.c:483 builtin/prune-packed.c:57
-#: builtin/repack.c:172
+#: builtin/repack.c:178
 msgid "be quiet"
 msgstr "silencioso"
 
@@ -4459,15 +4759,15 @@
 msgstr "transmitir ao git-apply"
 
 #: builtin/am.c:2283 builtin/fmt-merge-msg.c:662 builtin/fmt-merge-msg.c:665
-#: builtin/grep.c:707 builtin/merge.c:200 builtin/pull.c:135
-#: builtin/pull.c:194 builtin/repack.c:181 builtin/repack.c:185
-#: builtin/show-branch.c:644 builtin/show-ref.c:175 builtin/tag.c:340
-#: parse-options.h:132 parse-options.h:134 parse-options.h:245
+#: builtin/grep.c:1038 builtin/merge.c:202 builtin/pull.c:135 builtin/pull.c:194
+#: builtin/repack.c:187 builtin/repack.c:191 builtin/show-branch.c:644
+#: builtin/show-ref.c:169 builtin/tag.c:355 parse-options.h:132
+#: parse-options.h:134 parse-options.h:245
 msgid "n"
 msgstr "n"
 
 #: builtin/am.c:2289 builtin/for-each-ref.c:37 builtin/replace.c:438
-#: builtin/tag.c:372
+#: builtin/tag.c:387 builtin/verify-tag.c:38
 msgid "format"
 msgstr "formato"
 
@@ -4503,8 +4803,8 @@
 msgid "use current timestamp for author date"
 msgstr "usar a data e hora atual como data de autor"
 
-#: builtin/am.c:2315 builtin/commit.c:1605 builtin/merge.c:229
-#: builtin/pull.c:165 builtin/revert.c:92 builtin/tag.c:355
+#: builtin/am.c:2315 builtin/commit.c:1600 builtin/merge.c:233
+#: builtin/pull.c:165 builtin/revert.c:92 builtin/tag.c:370
 msgid "key-id"
 msgstr "id-chave"
 
@@ -4606,120 +4906,113 @@
 msgid "<rev-opts> are documented in git-rev-list(1)"
 msgstr "<rev-opções> estão documentadas em git-rev-list(1)"
 
-#: builtin/blame.c:1781
+#: builtin/blame.c:1786
 msgid "Blaming lines"
 msgstr "Linhas de culpa"
 
-#: builtin/blame.c:2577
+#: builtin/blame.c:2582
 msgid "Show blame entries as we find them, incrementally"
 msgstr ""
 "Mostrar entradas de culpa à medida que forem encontradas, incrementalmente"
 
-#: builtin/blame.c:2578
+#: builtin/blame.c:2583
 msgid "Show blank SHA-1 for boundary commits (Default: off)"
 msgstr "Mostar SHA-1 dos commits limite em branco (Predefinição: desativado)"
 
-#: builtin/blame.c:2579
+#: builtin/blame.c:2584
 msgid "Do not treat root commits as boundaries (Default: off)"
 msgstr "Não tratar os commits raiz como limites (Predefinição: desativado)"
 
-#: builtin/blame.c:2580
+#: builtin/blame.c:2585
 msgid "Show work cost statistics"
 msgstr "Mostrar estatísticas de custo de atividade"
 
-#: builtin/blame.c:2581
+#: builtin/blame.c:2586
 msgid "Force progress reporting"
 msgstr "Forçar informação de progresso"
 
-#: builtin/blame.c:2582
+#: builtin/blame.c:2587
 msgid "Show output score for blame entries"
 msgstr "Mostrar a pontuação das entradas de culpa"
 
-#: builtin/blame.c:2583
+#: builtin/blame.c:2588
 msgid "Show original filename (Default: auto)"
 msgstr "Mostrar o nome do ficheiro original (Predefinição: auto)"
 
-#: builtin/blame.c:2584
+#: builtin/blame.c:2589
 msgid "Show original linenumber (Default: off)"
 msgstr "Mostrar números de linha originais (Predefinição: desativado)"
 
-#: builtin/blame.c:2585
+#: builtin/blame.c:2590
 msgid "Show in a format designed for machine consumption"
 msgstr "Mostrar em formato próprio para ser consumo por uma máquina"
 
-#: builtin/blame.c:2586
+#: builtin/blame.c:2591
 msgid "Show porcelain format with per-line commit information"
 msgstr "Mostrar em formato de porcelana com informações de commit por linha"
 
-#: builtin/blame.c:2587
+#: builtin/blame.c:2592
 msgid "Use the same output mode as git-annotate (Default: off)"
 msgstr "Usar o mesmo modo de saída que git-annotate (Predefinição: desativado)"
 
-#: builtin/blame.c:2588
+#: builtin/blame.c:2593
 msgid "Show raw timestamp (Default: off)"
 msgstr "Mostrar carimbo de data/hora em bruto (Predefinição: desativado)"
 
-#: builtin/blame.c:2589
+#: builtin/blame.c:2594
 msgid "Show long commit SHA1 (Default: off)"
 msgstr "Mostrar SHA1 longo de commit (Predefinição: desativado)"
 
-#: builtin/blame.c:2590
+#: builtin/blame.c:2595
 msgid "Suppress author name and timestamp (Default: off)"
 msgstr ""
 "Suprimir nome de autor e carimbo de data/hora (Predefinição: desativado)"
 
-#: builtin/blame.c:2591
+#: builtin/blame.c:2596
 msgid "Show author email instead of name (Default: off)"
 msgstr "Mostrar o email do autor em vez do nome (Predefinição: desativado)"
 
-#: builtin/blame.c:2592
+#: builtin/blame.c:2597
 msgid "Ignore whitespace differences"
 msgstr "Ignorar as diferenças de espaço em branco"
 
-#: builtin/blame.c:2599
-msgid "Use an experimental indent-based heuristic to improve diffs"
-msgstr ""
-"Usar um heurística experimental baseada em indentação para melhorar diffs"
+#: builtin/blame.c:2604
+msgid "Use an experimental heuristic to improve diffs"
+msgstr "Usar um heurística experimental para melhorar diffs"
 
-#: builtin/blame.c:2600
-msgid "Use an experimental blank-line-based heuristic to improve diffs"
-msgstr ""
-"Usar uma heurística experimental baseada em linhas brancas para melhorar "
-"diffs"
-
-#: builtin/blame.c:2602
+#: builtin/blame.c:2606
 msgid "Spend extra cycles to find better match"
 msgstr "Despender ciclos extra para encontrar uma melhor correspondência"
 
-#: builtin/blame.c:2603
+#: builtin/blame.c:2607
 msgid "Use revisions from <file> instead of calling git-rev-list"
 msgstr "Usar revisões do <ficheiro> em vez de invocar git-rev-list"
 
-#: builtin/blame.c:2604
+#: builtin/blame.c:2608
 msgid "Use <file>'s contents as the final image"
 msgstr "Usar o conteúdo do <ficheiro> como imagem final"
 
-#: builtin/blame.c:2605 builtin/blame.c:2606
+#: builtin/blame.c:2609 builtin/blame.c:2610
 msgid "score"
 msgstr "pontuação"
 
-#: builtin/blame.c:2605
+#: builtin/blame.c:2609
 msgid "Find line copies within and across files"
 msgstr "Localizar linhas copiadas dentro e entre ficheiros"
 
-#: builtin/blame.c:2606
+#: builtin/blame.c:2610
 msgid "Find line movements within and across files"
 msgstr "Localizar linhas movidas dentro e entre ficheiros"
 
-#: builtin/blame.c:2607
+#: builtin/blame.c:2611
 msgid "n,m"
 msgstr "n,m"
 
-#: builtin/blame.c:2607
+#: builtin/blame.c:2611
 msgid "Process only line range n,m, counting from 1"
 msgstr "Processar apenas o intervalo de linhas n,m, a cantar de 1"
 
-#: builtin/blame.c:2654
+#: builtin/blame.c:2658
 msgid "--progress can't be used with --incremental or porcelain formats"
 msgstr ""
 "--progress não pode ser usado com --incremental ou formatos de porcelana"
@@ -4730,40 +5023,39 @@
 #. takes 22 places, is the longest among various forms of
 #. relative timestamps, but your language may need more or
 #. fewer display columns.
-#: builtin/blame.c:2700
+#: builtin/blame.c:2706
 msgid "4 years, 11 months ago"
 msgstr "há 4 anos e 11 meses atrás"
 
-#: builtin/blame.c:2780
+#: builtin/blame.c:2786
 msgid "--contents and --reverse do not blend well."
 msgstr "--contents e --reverse não se misturam bem."
 
-#: builtin/blame.c:2800
+#: builtin/blame.c:2806
 msgid "cannot use --contents with final commit object name"
 msgstr "não é possível usar --contents com nome de objeto commit final"
 
-#: builtin/blame.c:2805
+#: builtin/blame.c:2811
 msgid "--reverse and --first-parent together require specified latest commit"
 msgstr ""
 "--reverse e --first-parent juntos requer que se especifique o último commit"
 
-#: builtin/blame.c:2832
-msgid ""
-"--reverse --first-parent together require range along first-parent chain"
+#: builtin/blame.c:2838
+msgid "--reverse --first-parent together require range along first-parent chain"
 msgstr ""
 "--reverse --first-parent juntos requer intervalo ao longo do primeiro-pai"
 
-#: builtin/blame.c:2843
+#: builtin/blame.c:2849
 #, c-format
 msgid "no such path %s in %s"
 msgstr "o caminho %s não existe em %s"
 
-#: builtin/blame.c:2854
+#: builtin/blame.c:2860
 #, c-format
 msgid "cannot read blob %s for path %s"
 msgstr "não é possível ler o blob %s do caminho %s"
 
-#: builtin/blame.c:2873
+#: builtin/blame.c:2879
 #, c-format
 msgid "file %s has only %lu line"
 msgid_plural "file %s has only %lu lines"
@@ -4941,46 +5233,46 @@
 msgid "(no branch)"
 msgstr "(nenhum ramo)"
 
-#: builtin/branch.c:544
+#: builtin/branch.c:535
 #, c-format
 msgid "Branch %s is being rebased at %s"
 msgstr "O ramo %s está a ser rebaseado em %s"
 
-#: builtin/branch.c:548
+#: builtin/branch.c:539
 #, c-format
 msgid "Branch %s is being bisected at %s"
 msgstr "O ramo %s está a ser bissetado em %s"
 
-#: builtin/branch.c:563
+#: builtin/branch.c:554
 msgid "cannot rename the current branch while not on any."
 msgstr ""
 "não é possível mudar o nome do ramo atual vista que não se encontra num ramo."
 
-#: builtin/branch.c:573
+#: builtin/branch.c:564
 #, c-format
 msgid "Invalid branch name: '%s'"
 msgstr "Nome de ramo inválido: '%s'"
 
-#: builtin/branch.c:590
+#: builtin/branch.c:581
 msgid "Branch rename failed"
 msgstr "Falha ao mudar o nome do ramo"
 
-#: builtin/branch.c:594
+#: builtin/branch.c:585
 #, c-format
 msgid "Renamed a misnamed branch '%s' away"
 msgstr "O ramo incorretamente denominado '%s' mudou de nome"
 
-#: builtin/branch.c:597
+#: builtin/branch.c:588
 #, c-format
 msgid "Branch renamed to %s, but HEAD is not updated!"
 msgstr "O nome do ramo mudou para %s, mas a HEAD não está atualizada!"
 
-#: builtin/branch.c:604
+#: builtin/branch.c:595
 msgid "Branch is renamed, but update of config-file failed"
 msgstr ""
 "O ramo mudou de nome, mas a atualização do ficheiro de configuração falhou"
 
-#: builtin/branch.c:620
+#: builtin/branch.c:611
 #, c-format
 msgid ""
 "Please edit the description for the branch\n"
@@ -4991,163 +5283,166 @@
 "  %s\n"
 "Linha começadas com '%c' serão ignoradas.\n"
 
-#: builtin/branch.c:651
+#: builtin/branch.c:643
 msgid "Generic options"
 msgstr "Opções genéricas"
 
-#: builtin/branch.c:653
+#: builtin/branch.c:645
 msgid "show hash and subject, give twice for upstream branch"
 msgstr "apresentar hash e assunto, duplique para ramos a montante"
 
-#: builtin/branch.c:654
+#: builtin/branch.c:646
 msgid "suppress informational messages"
 msgstr "suprimir mensagens informativas"
 
-#: builtin/branch.c:655
+#: builtin/branch.c:647
 msgid "set up tracking mode (see git-pull(1))"
 msgstr "configurar modo de seguimento (consulte git-pull(1))"
 
-#: builtin/branch.c:657
+#: builtin/branch.c:649
 msgid "change upstream info"
 msgstr "alterar a informação do ramo a montante"
 
-#: builtin/branch.c:659
+#: builtin/branch.c:651
 msgid "upstream"
 msgstr "a montante"
 
-#: builtin/branch.c:659
+#: builtin/branch.c:651
 msgid "change the upstream info"
 msgstr "alterar a informação do ramo a montante"
 
-#: builtin/branch.c:660
+#: builtin/branch.c:652
 msgid "Unset the upstream info"
 msgstr "Remover a informação do ramo a montante"
 
-#: builtin/branch.c:661
+#: builtin/branch.c:653
 msgid "use colored output"
 msgstr "usar saída colorida"
 
-#: builtin/branch.c:662
+#: builtin/branch.c:654
 msgid "act on remote-tracking branches"
 msgstr "atuar sobre ramos de monitorização remotos"
 
-#: builtin/branch.c:664 builtin/branch.c:665
+#: builtin/branch.c:656 builtin/branch.c:657
 msgid "print only branches that contain the commit"
 msgstr "imprimir apenas ramos que contenham o commit"
 
-#: builtin/branch.c:668
+#: builtin/branch.c:660
 msgid "Specific git-branch actions:"
 msgstr "Ações específicas do git-branch:"
 
-#: builtin/branch.c:669
+#: builtin/branch.c:661
 msgid "list both remote-tracking and local branches"
 msgstr "listar ramos de monitorização remotos e ramos locais"
 
-#: builtin/branch.c:671
+#: builtin/branch.c:663
 msgid "delete fully merged branch"
 msgstr "eliminar um ramo totalmente integrado"
 
-#: builtin/branch.c:672
+#: builtin/branch.c:664
 msgid "delete branch (even if not merged)"
 msgstr "eliminar um ramo (mesmo que não tenha sido integrado)"
 
-#: builtin/branch.c:673
+#: builtin/branch.c:665
 msgid "move/rename a branch and its reflog"
 msgstr "mover ou mudar o nome de um ramo e o seu reflog"
 
-#: builtin/branch.c:674
+#: builtin/branch.c:666
 msgid "move/rename a branch, even if target exists"
 msgstr "mover ou mudar o nome de um ramo, mesmo que o destino já exista"
 
-#: builtin/branch.c:675
+#: builtin/branch.c:667
 msgid "list branch names"
 msgstr "listar os nomes dos ramos"
 
-#: builtin/branch.c:676
+#: builtin/branch.c:668
 msgid "create the branch's reflog"
 msgstr "criar reflog do ramo"
 
-#: builtin/branch.c:678
+#: builtin/branch.c:670
 msgid "edit the description for the branch"
 msgstr "editar a descrição do ramo"
 
-#: builtin/branch.c:679
+#: builtin/branch.c:671
 msgid "force creation, move/rename, deletion"
 msgstr "forçar criação, mover/mudar o nome ou exclusão"
 
-#: builtin/branch.c:680
+#: builtin/branch.c:672
 msgid "print only branches that are merged"
 msgstr "imprimir apenas os ramos que foram integrados"
 
-#: builtin/branch.c:681
+#: builtin/branch.c:673
 msgid "print only branches that are not merged"
 msgstr "imprimir apenas os ramos que não foram integrados"
 
-#: builtin/branch.c:682
+#: builtin/branch.c:674
 msgid "list branches in columns"
 msgstr "listar os ramos em colunas"
 
-#: builtin/branch.c:683 builtin/for-each-ref.c:38 builtin/tag.c:366
+#: builtin/branch.c:675 builtin/for-each-ref.c:38 builtin/tag.c:381
 msgid "key"
 msgstr "chave"
 
-#: builtin/branch.c:684 builtin/for-each-ref.c:39 builtin/tag.c:367
+#: builtin/branch.c:676 builtin/for-each-ref.c:39 builtin/tag.c:382
 msgid "field name to sort on"
 msgstr "nome do campo pelo qual ordernar"
 
-#: builtin/branch.c:686 builtin/for-each-ref.c:41 builtin/notes.c:404
-#: builtin/notes.c:407 builtin/notes.c:567 builtin/notes.c:570
-#: builtin/tag.c:369
+#: builtin/branch.c:678 builtin/for-each-ref.c:41 builtin/notes.c:404
+#: builtin/notes.c:407 builtin/notes.c:567 builtin/notes.c:570 builtin/tag.c:384
 msgid "object"
 msgstr "objeto"
 
-#: builtin/branch.c:687
+#: builtin/branch.c:679
 msgid "print only branches of the object"
 msgstr "imprimir apenas os ramos do objeto"
 
-#: builtin/branch.c:705
+#: builtin/branch.c:681 builtin/for-each-ref.c:46 builtin/tag.c:388
+msgid "sorting and filtering are case insensitive"
+msgstr "ordenar e filtrar são insensíveis a maiúsculas"
+
+#: builtin/branch.c:698
 msgid "Failed to resolve HEAD as a valid ref."
 msgstr "Falha ao resolver HEAD numa referência válida."
 
-#: builtin/branch.c:709 builtin/clone.c:706
+#: builtin/branch.c:702 builtin/clone.c:706
 msgid "HEAD not found below refs/heads!"
 msgstr "HEAD não encontrada em refs/heads!"
 
-#: builtin/branch.c:729
+#: builtin/branch.c:724
 msgid "--column and --verbose are incompatible"
 msgstr "--column e --verbose são incompatíveis"
 
-#: builtin/branch.c:740 builtin/branch.c:782
+#: builtin/branch.c:735 builtin/branch.c:787
 msgid "branch name required"
 msgstr "nome do ramo é obrigatório"
 
-#: builtin/branch.c:758
+#: builtin/branch.c:763
 msgid "Cannot give description to detached HEAD"
 msgstr "Não é possível atribuir descrição a HEAD destacada"
 
-#: builtin/branch.c:763
+#: builtin/branch.c:768
 msgid "cannot edit description of more than one branch"
 msgstr "não é possível editar a descrição de mais do que um ramo"
 
-#: builtin/branch.c:770
+#: builtin/branch.c:775
 #, c-format
 msgid "No commit on branch '%s' yet."
 msgstr "Ainda não há commits no ramo '%s'."
 
-#: builtin/branch.c:773
+#: builtin/branch.c:778
 #, c-format
 msgid "No branch named '%s'."
 msgstr "Não há nenhum ramo denominado '%s'."
 
-#: builtin/branch.c:788
+#: builtin/branch.c:793
 msgid "too many branches for a rename operation"
 msgstr "demasiados ramos para uma operação de mudança de nome"
 
-#: builtin/branch.c:793
+#: builtin/branch.c:798
 msgid "too many branches to set new upstream"
 msgstr "demasiados ramos para definir novo ramo a montante"
 
-#: builtin/branch.c:797
+#: builtin/branch.c:802
 #, c-format
 msgid ""
 "could not set upstream of HEAD to %s when it does not point to any branch."
@@ -5155,50 +5450,49 @@
 "não foi possível definir %s como ramo a montante de HEAD visto que esta não "
 "aponta para um ramo."
 
-#: builtin/branch.c:800 builtin/branch.c:822 builtin/branch.c:843
+#: builtin/branch.c:805 builtin/branch.c:827 builtin/branch.c:848
 #, c-format
 msgid "no such branch '%s'"
 msgstr "o ramo '%s' não existe"
 
-#: builtin/branch.c:804
+#: builtin/branch.c:809
 #, c-format
 msgid "branch '%s' does not exist"
 msgstr "o ramo '%s' não existe"
 
-#: builtin/branch.c:816
+#: builtin/branch.c:821
 msgid "too many branches to unset upstream"
 msgstr "demasiados ramos para remover a definição de ramo a montante"
 
-#: builtin/branch.c:820
+#: builtin/branch.c:825
 msgid "could not unset upstream of HEAD when it does not point to any branch."
 msgstr ""
 "não foi possível remover a definição de ramo a montante de HEAD visto que "
 "esta não aponta para um ramo."
 
-#: builtin/branch.c:826
+#: builtin/branch.c:831
 #, c-format
 msgid "Branch '%s' has no upstream information"
 msgstr "O ramo '%s' não tem informação sobre o ramo a montante"
 
-#: builtin/branch.c:840
+#: builtin/branch.c:845
 msgid "it does not make sense to create 'HEAD' manually"
 msgstr "não faz sentido criar 'HEAD' manualmente"
 
-#: builtin/branch.c:846
+#: builtin/branch.c:851
 msgid "-a and -r options to 'git branch' do not make sense with a branch name"
-msgstr ""
-"as opções -a e -r de 'git branch' não fazem sentido com um nome de ramo"
+msgstr "as opções -a e -r de 'git branch' não fazem sentido com um nome de ramo"
 
-#: builtin/branch.c:849
+#: builtin/branch.c:854
 #, c-format
 msgid ""
 "The --set-upstream flag is deprecated and will be removed. Consider using --"
 "track or --set-upstream-to\n"
 msgstr ""
-"A opção --set-upstream é obsoleta e será removida. Considere o uso de --"
-"track ou --set-upstream-to\n"
+"A opção --set-upstream é obsoleta e será removida. Considere o uso de --track "
+"ou --set-upstream-to\n"
 
-#: builtin/branch.c:866
+#: builtin/branch.c:871
 #, c-format
 msgid ""
 "\n"
@@ -5224,11 +5518,11 @@
 
 #: builtin/cat-file.c:513
 msgid ""
-"git cat-file (-t [--allow-unknown-type] | -s [--allow-unknown-type] | -e | -"
-"p | <type> | --textconv | --filters) [--path=<path>] <object>"
+"git cat-file (-t [--allow-unknown-type] | -s [--allow-unknown-type] | -e | -p "
+"| <type> | --textconv | --filters) [--path=<path>] <object>"
 msgstr ""
-"git cat-file (-t [--allow-unknown-type] | -s [--allow-unknown-type] | -e | -"
-"p | <tipo> | --textconv | --filters) [--path=<caminho>] <objeto>"
+"git cat-file (-t [--allow-unknown-type] | -s [--allow-unknown-type] | -e | -p "
+"| <tipo> | --textconv | --filters) [--path=<caminho>] <objeto>"
 
 #: builtin/cat-file.c:514
 msgid ""
@@ -5266,7 +5560,7 @@
 msgid "for blob objects, run filters on object's content"
 msgstr "para objetos blob, correr filtros sobre o conteúdo do objeto"
 
-#: builtin/cat-file.c:561 git-submodule.sh:923
+#: builtin/cat-file.c:561 git-submodule.sh:929
 msgid "blob"
 msgstr "blob"
 
@@ -5293,8 +5587,8 @@
 #: builtin/cat-file.c:573
 msgid "follow in-tree symlinks (used with --batch or --batch-check)"
 msgstr ""
-"seguir ligações simbólica no interior da árvore (usado com --batch ou --"
-"batch-check)"
+"seguir ligações simbólica no interior da árvore (usado com --batch ou --batch-"
+"check)"
 
 #: builtin/cat-file.c:575
 msgid "show all objects with --batch or --batch-check"
@@ -5324,7 +5618,7 @@
 msgid "terminate input and output records by a NUL character"
 msgstr "terminar registos da entrada e da saída com um carácter NUL"
 
-#: builtin/check-ignore.c:18 builtin/checkout.c:1137 builtin/gc.c:325
+#: builtin/check-ignore.c:18 builtin/checkout.c:1140 builtin/gc.c:332
 msgid "suppress progress reporting"
 msgstr "suprimir informação de progresso"
 
@@ -5416,9 +5710,9 @@
 msgstr "escrever o conteúdo em ficheiros temporários"
 
 #: builtin/checkout-index.c:174 builtin/column.c:30
-#: builtin/submodule--helper.c:595 builtin/submodule--helper.c:598
-#: builtin/submodule--helper.c:604 builtin/submodule--helper.c:951
-#: builtin/worktree.c:469
+#: builtin/submodule--helper.c:597 builtin/submodule--helper.c:600
+#: builtin/submodule--helper.c:606 builtin/submodule--helper.c:967
+#: builtin/worktree.c:471
 msgid "string"
 msgstr "cadeia"
 
@@ -5494,50 +5788,50 @@
 msgid "you need to resolve your current index first"
 msgstr "primeiro deve resolver o índice atual"
 
-#: builtin/checkout.c:624
+#: builtin/checkout.c:625
 #, c-format
 msgid "Can not do reflog for '%s': %s\n"
 msgstr "Não é possível efetuar reflog de '%s': %s\n"
 
-#: builtin/checkout.c:663
+#: builtin/checkout.c:666
 msgid "HEAD is now at"
 msgstr "HEAD está agora em"
 
-#: builtin/checkout.c:667 builtin/clone.c:660
+#: builtin/checkout.c:670 builtin/clone.c:660
 msgid "unable to update HEAD"
 msgstr "não foi possível atualizar HEAD"
 
-#: builtin/checkout.c:671
+#: builtin/checkout.c:674
 #, c-format
 msgid "Reset branch '%s'\n"
 msgstr "Repor ramo '%s'\n"
 
-#: builtin/checkout.c:674
+#: builtin/checkout.c:677
 #, c-format
 msgid "Already on '%s'\n"
 msgstr "Já em '%s'\n"
 
-#: builtin/checkout.c:678
+#: builtin/checkout.c:681
 #, c-format
 msgid "Switched to and reset branch '%s'\n"
 msgstr "Mudou para e repôs o ramo '%s'\n"
 
-#: builtin/checkout.c:680 builtin/checkout.c:1069
+#: builtin/checkout.c:683 builtin/checkout.c:1072
 #, c-format
 msgid "Switched to a new branch '%s'\n"
 msgstr "Mudou para o novo ramo '%s'\n"
 
-#: builtin/checkout.c:682
+#: builtin/checkout.c:685
 #, c-format
 msgid "Switched to branch '%s'\n"
 msgstr "Mudou para o ramo '%s'\n"
 
-#: builtin/checkout.c:733
+#: builtin/checkout.c:736
 #, c-format
 msgid " ... and %d more.\n"
 msgstr " ... e mais %d.\n"
 
-#: builtin/checkout.c:739
+#: builtin/checkout.c:742
 #, c-format
 msgid ""
 "Warning: you are leaving %d commit behind, not connected to\n"
@@ -5558,7 +5852,7 @@
 "\n"
 "%s\n"
 
-#: builtin/checkout.c:758
+#: builtin/checkout.c:761
 #, c-format
 msgid ""
 "If you want to keep it by creating a new branch, this may be a good time\n"
@@ -5585,166 +5879,164 @@
 " git branch <nome-do-novo-ramo> %s\n"
 "\n"
 
-#: builtin/checkout.c:794
+#: builtin/checkout.c:797
 msgid "internal error in revision walk"
 msgstr "erro interno durante o curso de revisões"
 
-#: builtin/checkout.c:798
+#: builtin/checkout.c:801
 msgid "Previous HEAD position was"
 msgstr "A posição anterior de HEAD era"
 
-#: builtin/checkout.c:825 builtin/checkout.c:1064
+#: builtin/checkout.c:828 builtin/checkout.c:1067
 msgid "You are on a branch yet to be born"
 msgstr "Está num ramo ainda não criado"
 
-#: builtin/checkout.c:970
+#: builtin/checkout.c:973
 #, c-format
 msgid "only one reference expected, %d given."
 msgstr "esperava-se apenas uma referência, %d fornecidas."
 
-#: builtin/checkout.c:1010 builtin/worktree.c:214
+#: builtin/checkout.c:1013 builtin/worktree.c:214
 #, c-format
 msgid "invalid reference: %s"
 msgstr "referência inválida: %s"
 
-#: builtin/checkout.c:1039
+#: builtin/checkout.c:1042
 #, c-format
 msgid "reference is not a tree: %s"
 msgstr "a referência não é uma árvore: %s"
 
-#: builtin/checkout.c:1078
+#: builtin/checkout.c:1081
 msgid "paths cannot be used with switching branches"
 msgstr "não podem ser usados caminhos ao mudar de ramo"
 
-#: builtin/checkout.c:1081 builtin/checkout.c:1085
+#: builtin/checkout.c:1084 builtin/checkout.c:1088
 #, c-format
 msgid "'%s' cannot be used with switching branches"
 msgstr "'%s' não pode ser usado ao mudar de ramo"
 
-#: builtin/checkout.c:1089 builtin/checkout.c:1092 builtin/checkout.c:1097
-#: builtin/checkout.c:1100
+#: builtin/checkout.c:1092 builtin/checkout.c:1095 builtin/checkout.c:1100
+#: builtin/checkout.c:1103
 #, c-format
 msgid "'%s' cannot be used with '%s'"
 msgstr "'%s' não pode ser usado com '%s'"
 
-#: builtin/checkout.c:1105
+#: builtin/checkout.c:1108
 #, c-format
 msgid "Cannot switch branch to a non-commit '%s'"
 msgstr "Não é possível mudar de ramo para '%s', visto que não é um commit"
 
-#: builtin/checkout.c:1138 builtin/checkout.c:1140 builtin/clone.c:93
+#: builtin/checkout.c:1141 builtin/checkout.c:1143 builtin/clone.c:93
 #: builtin/remote.c:165 builtin/remote.c:167 builtin/worktree.c:324
 #: builtin/worktree.c:326
 msgid "branch"
 msgstr "ramo"
 
-#: builtin/checkout.c:1139
+#: builtin/checkout.c:1142
 msgid "create and checkout a new branch"
 msgstr "criar e extrair um novo ramo"
 
-#: builtin/checkout.c:1141
+#: builtin/checkout.c:1144
 msgid "create/reset and checkout a branch"
 msgstr "criar/repor e extrair um ramo"
 
-#: builtin/checkout.c:1142
+#: builtin/checkout.c:1145
 msgid "create reflog for new branch"
 msgstr "criar reflog do novo ramo"
 
-#: builtin/checkout.c:1143 builtin/worktree.c:328
+#: builtin/checkout.c:1146 builtin/worktree.c:328
 msgid "detach HEAD at named commit"
 msgstr "destacar HEAD no commit indicado"
 
-#: builtin/checkout.c:1144
+#: builtin/checkout.c:1147
 msgid "set upstream info for new branch"
 msgstr "definir a informação do ramo a montante do novo ramo"
 
-#: builtin/checkout.c:1146
+#: builtin/checkout.c:1149
 msgid "new-branch"
 msgstr "novo-ramo"
 
-#: builtin/checkout.c:1146
+#: builtin/checkout.c:1149
 msgid "new unparented branch"
 msgstr "novo ramo sem pai"
 
-#: builtin/checkout.c:1147
+#: builtin/checkout.c:1150
 msgid "checkout our version for unmerged files"
 msgstr "extrair a nossa versão dos ficheiros não integrados"
 
-#: builtin/checkout.c:1149
+#: builtin/checkout.c:1152
 msgid "checkout their version for unmerged files"
 msgstr "extrair a versão deles dos ficheiros não integrados"
 
-#: builtin/checkout.c:1151
+#: builtin/checkout.c:1154
 msgid "force checkout (throw away local modifications)"
 msgstr "forçar extração (descartar modificações locais)"
 
-#: builtin/checkout.c:1152
+#: builtin/checkout.c:1155
 msgid "perform a 3-way merge with the new branch"
 msgstr "realizar uma integração com 3 pontos com o novo ramo"
 
-#: builtin/checkout.c:1153 builtin/merge.c:231
+#: builtin/checkout.c:1156 builtin/merge.c:235
 msgid "update ignored files (default)"
 msgstr "atualizar ficheiros ignorados (predefinição)"
 
-#: builtin/checkout.c:1154 builtin/log.c:1466 parse-options.h:251
+#: builtin/checkout.c:1157 builtin/log.c:1466 parse-options.h:251
 msgid "style"
 msgstr "estilo"
 
-#: builtin/checkout.c:1155
+#: builtin/checkout.c:1158
 msgid "conflict style (merge or diff3)"
 msgstr "estilo de conflito (merge ou diff3)"
 
-#: builtin/checkout.c:1158
+#: builtin/checkout.c:1161
 msgid "do not limit pathspecs to sparse entries only"
 msgstr "não restringir especificadores de caminho a entradas esparsas"
 
-#: builtin/checkout.c:1160
+#: builtin/checkout.c:1163
 msgid "second guess 'git checkout <no-such-branch>'"
 msgstr "tentar adivinhar 'git checkout <ramo-inexistente>'"
 
-#: builtin/checkout.c:1162
+#: builtin/checkout.c:1165
 msgid "do not check if another worktree is holding the given ref"
-msgstr ""
-"não verificar se outra árvore de trabalho contém a referência fornecida"
+msgstr "não verificar se outra árvore de trabalho contém a referência fornecida"
 
-#: builtin/checkout.c:1163 builtin/clone.c:63 builtin/fetch.c:119
-#: builtin/merge.c:228 builtin/pull.c:117 builtin/push.c:536
+#: builtin/checkout.c:1166 builtin/clone.c:63 builtin/fetch.c:119
+#: builtin/merge.c:232 builtin/pull.c:117 builtin/push.c:539
 #: builtin/send-pack.c:168
 msgid "force progress reporting"
 msgstr "forçar informação de progresso"
 
-#: builtin/checkout.c:1194
+#: builtin/checkout.c:1197
 msgid "-b, -B and --orphan are mutually exclusive"
 msgstr "-b, -B e --orphan são mutuamente exclusivos"
 
-#: builtin/checkout.c:1211
+#: builtin/checkout.c:1214
 msgid "--track needs a branch name"
 msgstr "--track requer um nome dum ramo"
 
-#: builtin/checkout.c:1216
+#: builtin/checkout.c:1219
 msgid "Missing branch name; try -b"
 msgstr "Falta um nome dum ramo; tente -b"
 
-#: builtin/checkout.c:1252
+#: builtin/checkout.c:1255
 msgid "invalid path specification"
 msgstr "especificação de caminho inválida"
 
-#: builtin/checkout.c:1259
+#: builtin/checkout.c:1262
 #, c-format
 msgid ""
 "Cannot update paths and switch to branch '%s' at the same time.\n"
 "Did you intend to checkout '%s' which can not be resolved as commit?"
 msgstr ""
-"Não é possível atualizar os caminho e mudar para o ramo '%s' ao mesmo "
-"tempo.\n"
+"Não é possível atualizar os caminho e mudar para o ramo '%s' ao mesmo tempo.\n"
 "Pretendia extrair '%s' o qual não pode ser resolvido como commit?"
 
-#: builtin/checkout.c:1264
+#: builtin/checkout.c:1267
 #, c-format
 msgid "git checkout: --detach does not take a path argument '%s'"
 msgstr "git checkout: --detach não aceita um caminho como argumento '%s'"
 
-#: builtin/checkout.c:1268
+#: builtin/checkout.c:1271
 msgid ""
 "git checkout: --ours/--theirs, --force and --merge are incompatible when\n"
 "checking out of the index."
@@ -5783,19 +6075,21 @@
 msgid "failed to remove %s"
 msgstr "falha ao remover %s"
 
-#: builtin/clean.c:291
+#: builtin/clean.c:291 git-add--interactive.perl:623
+#, c-format
 msgid ""
 "Prompt help:\n"
 "1          - select a numbered item\n"
 "foo        - select item based on unique prefix\n"
-"           - (empty) select nothing"
+"           - (empty) select nothing\n"
 msgstr ""
 "Ajuda de linha de comandos:\n"
 "1          - selecionar um item numerado\n"
 "foo        - selecionar item baseado no prefixo único\n"
-"           - (vazio) não seleciona nada"
+"           - (vazio) não seleciona nada\n"
 
-#: builtin/clean.c:295
+#: builtin/clean.c:295 git-add--interactive.perl:632
+#, c-format
 msgid ""
 "Prompt help:\n"
 "1          - select a single item\n"
@@ -5804,7 +6098,7 @@
 "foo        - select item based on unique prefix\n"
 "-...       - unselect specified items\n"
 "*          - choose all items\n"
-"           - (empty) finish selecting"
+"           - (empty) finish selecting\n"
 msgstr ""
 "Ajuda de linha de comandos:\n"
 "1          - selecionar um único item\n"
@@ -5813,12 +6107,13 @@
 "foo        - selecionar item baseado no prefixo único\n"
 "-...       - desselecionar itens especificados\n"
 "*          - escolher todos os itens\n"
-"           - (vazio) concluir seleção"
+"           - (vazio) concluir seleção\n"
 
-#: builtin/clean.c:511
-#, c-format
-msgid "Huh (%s)?"
-msgstr "O quê (%s)?"
+#: builtin/clean.c:511 git-add--interactive.perl:598
+#: git-add--interactive.perl:603
+#, c-format, perl-format
+msgid "Huh (%s)?\n"
+msgstr "O quê (%s)?\n"
 
 #: builtin/clean.c:653
 #, c-format
@@ -5840,9 +6135,10 @@
 msgid "Remove %s [y/N]? "
 msgstr "Remover %s [y/N]? "
 
-#: builtin/clean.c:777
-msgid "Bye."
-msgstr "Adeus."
+#: builtin/clean.c:777 git-add--interactive.perl:1669
+#, c-format
+msgid "Bye.\n"
+msgstr "Adeus.\n"
 
 #: builtin/clean.c:785
 msgid ""
@@ -5862,11 +6158,11 @@
 "help                - esta ajuda\n"
 "?                   - ajuda para seleção em linha de comandos"
 
-#: builtin/clean.c:812
+#: builtin/clean.c:812 git-add--interactive.perl:1745
 msgid "*** Commands ***"
 msgstr "*** Comandos ***"
 
-#: builtin/clean.c:813
+#: builtin/clean.c:813 git-add--interactive.perl:1742
 msgid "What now"
 msgstr "E agora"
 
@@ -5896,8 +6192,8 @@
 msgid "remove whole directories"
 msgstr "remover diretórios inteiros"
 
-#: builtin/clean.c:875 builtin/describe.c:407 builtin/grep.c:725
-#: builtin/ls-files.c:536 builtin/name-rev.c:313 builtin/show-ref.c:182
+#: builtin/clean.c:875 builtin/describe.c:407 builtin/grep.c:1056
+#: builtin/ls-files.c:538 builtin/name-rev.c:313 builtin/show-ref.c:176
 msgid "pattern"
 msgstr "padrão"
 
@@ -5977,8 +6273,8 @@
 msgid "directory from which templates will be used"
 msgstr "diretório que contém os modelos usados"
 
-#: builtin/clone.c:86 builtin/clone.c:88 builtin/submodule--helper.c:602
-#: builtin/submodule--helper.c:954
+#: builtin/clone.c:86 builtin/clone.c:88 builtin/submodule--helper.c:604
+#: builtin/submodule--helper.c:970
 msgid "reference repository"
 msgstr "repositório de referência"
 
@@ -6002,8 +6298,7 @@
 msgid "path to git-upload-pack on the remote"
 msgstr "caminho para git-upload-pack no remoto"
 
-#: builtin/clone.c:97 builtin/fetch.c:120 builtin/grep.c:668
-#: builtin/pull.c:202
+#: builtin/clone.c:97 builtin/fetch.c:120 builtin/grep.c:999 builtin/pull.c:202
 msgid "depth"
 msgstr "profundidade"
 
@@ -6011,7 +6306,7 @@
 msgid "create a shallow clone of that depth"
 msgstr "criar um clone raso com essa profundidade"
 
-#: builtin/clone.c:99 builtin/fetch.c:122 builtin/pack-objects.c:2848
+#: builtin/clone.c:99 builtin/fetch.c:122 builtin/pack-objects.c:2836
 #: parse-options.h:142
 msgid "time"
 msgstr "hora"
@@ -6025,8 +6320,8 @@
 msgstr "revisão"
 
 #: builtin/clone.c:102 builtin/fetch.c:125
-msgid "deepen history of shallow clone by excluding rev"
-msgstr "aprofundar o histórico de um clone raso ao excluir uma revisão"
+msgid "deepen history of shallow clone, excluding rev"
+msgstr "aprofundar o histórico de um clone raso, excluindo a revisão"
 
 #: builtin/clone.c:104
 msgid "clone only one branch, HEAD or --branch"
@@ -6052,11 +6347,11 @@
 msgid "set config inside the new repository"
 msgstr "definir configuração dentro do novo repositório"
 
-#: builtin/clone.c:111 builtin/fetch.c:140 builtin/push.c:547
+#: builtin/clone.c:111 builtin/fetch.c:140 builtin/push.c:550
 msgid "use IPv4 addresses only"
 msgstr "usar apenas endereços IPv4"
 
-#: builtin/clone.c:113 builtin/fetch.c:142 builtin/push.c:549
+#: builtin/clone.c:113 builtin/fetch.c:142 builtin/push.c:552
 msgid "use IPv6 addresses only"
 msgstr "usar apenas endereços IPv6"
 
@@ -6130,8 +6425,7 @@
 #: builtin/clone.c:697
 msgid "remote HEAD refers to nonexistent ref, unable to checkout.\n"
 msgstr ""
-"a HEAD remota referencia uma referência inexistente, não é possível "
-"extrair.\n"
+"a HEAD remota referencia uma referência inexistente, não é possível extrair.\n"
 
 #: builtin/clone.c:728
 msgid "unable to checkout working tree"
@@ -6147,8 +6441,7 @@
 
 #: builtin/clone.c:833
 msgid "cannot unlink temporary alternates file"
-msgstr ""
-"não é possível invocar unlink sobre o ficheiro sobressalente temporário"
+msgstr "não é possível invocar unlink sobre o ficheiro sobressalente temporário"
 
 #: builtin/clone.c:866 builtin/receive-pack.c:1895
 msgid "Too many arguments."
@@ -6172,7 +6465,7 @@
 msgid "repository '%s' does not exist"
 msgstr "o repositório '%s' não existe"
 
-#: builtin/clone.c:905 builtin/fetch.c:1338
+#: builtin/clone.c:905 builtin/fetch.c:1335
 #, c-format
 msgid "depth %s is not a positive number"
 msgstr "profundidade %s não é um número positivo"
@@ -6187,8 +6480,8 @@
 msgid "working tree '%s' already exists."
 msgstr "a árvore de trabalho '%s' já existe."
 
-#: builtin/clone.c:940 builtin/clone.c:951 builtin/submodule--helper.c:657
-#: builtin/worktree.c:222 builtin/worktree.c:249
+#: builtin/clone.c:940 builtin/clone.c:951 builtin/difftool.c:252
+#: builtin/submodule--helper.c:659 builtin/worktree.c:222 builtin/worktree.c:249
 #, c-format
 msgid "could not create leading directories of '%s'"
 msgstr "não foi possível criar os diretórios superiores de '%s'"
@@ -6213,8 +6506,7 @@
 "clone --recursive is not compatible with both --reference and --reference-if-"
 "able"
 msgstr ""
-"clone --recursive não é compatível com ambos --reference e --reference-if-"
-"able"
+"clone --recursive não é compatível com ambos --reference e --reference-if-able"
 
 #: builtin/clone.c:1019
 msgid "--depth is ignored in local clones; use file:// instead."
@@ -6457,7 +6749,7 @@
 msgid "could not lookup commit %s"
 msgstr "não foi possível consultar o commit %s"
 
-#: builtin/commit.c:704 builtin/shortlog.c:286
+#: builtin/commit.c:704 builtin/shortlog.c:295
 #, c-format
 msgid "(reading log message from standard input)\n"
 msgstr "(a ler mensagem de log da entrada padrão)\n"
@@ -6557,7 +6849,7 @@
 msgid "Error building trees"
 msgstr "Erro ao construir árvores"
 
-#: builtin/commit.c:969 builtin/tag.c:266
+#: builtin/commit.c:968 builtin/tag.c:280
 #, c-format
 msgid "Please supply the message using either -m or -F option.\n"
 msgstr "Indique a mensagem usando as opções -m ou -F.\n"
@@ -6569,7 +6861,7 @@
 "--author '%s' não é do tipo 'Nome <email>' e não corresponde a um autor "
 "existente"
 
-#: builtin/commit.c:1086 builtin/commit.c:1327
+#: builtin/commit.c:1086 builtin/commit.c:1325
 #, c-format
 msgid "Invalid untracked files mode '%s'"
 msgstr "Modo inválido de ficheiros não controlados '%s'"
@@ -6620,268 +6912,263 @@
 msgstr "As opções --include/--only não fazem sentido sem indicar caminhos."
 
 #: builtin/commit.c:1212
-msgid "Clever... amending the last one with dirty index."
-msgstr "Inteligente... a emendar o último commit com o índice sujo."
-
-#: builtin/commit.c:1214
 msgid "Explicit paths specified without -i or -o; assuming --only paths..."
 msgstr "Caminhos explícitos especificados sem -i ou -o; assumindo --only..."
 
-#: builtin/commit.c:1226 builtin/tag.c:474
+#: builtin/commit.c:1224 builtin/tag.c:495
 #, c-format
 msgid "Invalid cleanup mode %s"
 msgstr "Modo de limpeza inválido %s"
 
-#: builtin/commit.c:1231
+#: builtin/commit.c:1229
 msgid "Paths with -a does not make sense."
 msgstr "Indicar caminhos com -a não faz sentido."
 
-#: builtin/commit.c:1341 builtin/commit.c:1617
+#: builtin/commit.c:1339 builtin/commit.c:1612
 msgid "show status concisely"
 msgstr "mostrar status de forma concisa"
 
-#: builtin/commit.c:1343 builtin/commit.c:1619
+#: builtin/commit.c:1341 builtin/commit.c:1614
 msgid "show branch information"
 msgstr "mostrar informação do ramo"
 
-#: builtin/commit.c:1345
+#: builtin/commit.c:1343
 msgid "version"
 msgstr "versão"
 
-#: builtin/commit.c:1345 builtin/commit.c:1621 builtin/push.c:522
-#: builtin/worktree.c:440
+#: builtin/commit.c:1343 builtin/commit.c:1616 builtin/push.c:525
+#: builtin/worktree.c:442
 msgid "machine-readable output"
 msgstr "saída inteligível por máquina"
 
-#: builtin/commit.c:1348 builtin/commit.c:1623
+#: builtin/commit.c:1346 builtin/commit.c:1618
 msgid "show status in long format (default)"
 msgstr "apresentar status em formato longo (predefinição)"
 
-#: builtin/commit.c:1351 builtin/commit.c:1626
+#: builtin/commit.c:1349 builtin/commit.c:1621
 msgid "terminate entries with NUL"
 msgstr "terminar entradas com NUL"
 
-#: builtin/commit.c:1353 builtin/commit.c:1629 builtin/fast-export.c:981
-#: builtin/fast-export.c:984 builtin/tag.c:353
+#: builtin/commit.c:1351 builtin/commit.c:1624 builtin/fast-export.c:981
+#: builtin/fast-export.c:984 builtin/tag.c:368
 msgid "mode"
 msgstr "modo"
 
-#: builtin/commit.c:1354 builtin/commit.c:1629
+#: builtin/commit.c:1352 builtin/commit.c:1624
 msgid "show untracked files, optional modes: all, normal, no. (Default: all)"
 msgstr ""
 "mostrar ficheiros não controlados, modo é opcional: all, normal, no. "
 "(Predefinição: all)"
 
-#: builtin/commit.c:1357
+#: builtin/commit.c:1355
 msgid "show ignored files"
 msgstr "mostrar ficheiros ignorados"
 
-#: builtin/commit.c:1358 parse-options.h:155
+#: builtin/commit.c:1356 parse-options.h:155
 msgid "when"
 msgstr "quando"
 
-#: builtin/commit.c:1359
+#: builtin/commit.c:1357
 msgid ""
-"ignore changes to submodules, optional when: all, dirty, untracked. "
-"(Default: all)"
+"ignore changes to submodules, optional when: all, dirty, untracked. (Default: "
+"all)"
 msgstr ""
 "ignorar alterações em submódulos, quando é opcional: all, dirty, untracked. "
 "(Predefinição: all)"
 
-#: builtin/commit.c:1361
+#: builtin/commit.c:1359
 msgid "list untracked files in columns"
 msgstr "listar ficheiros não controlados em colunas"
 
-#: builtin/commit.c:1437
+#: builtin/commit.c:1435
 msgid "couldn't look up newly created commit"
 msgstr "não foi possível consultar o commit recém-criado"
 
-#: builtin/commit.c:1439
+#: builtin/commit.c:1437
 msgid "could not parse newly created commit"
 msgstr "não foi possível analisar o commit recém-criado"
 
-#: builtin/commit.c:1484
+#: builtin/commit.c:1482
 msgid "detached HEAD"
 msgstr "HEAD destacada"
 
-#: builtin/commit.c:1487
+#: builtin/commit.c:1485
 msgid " (root-commit)"
 msgstr " (commit-raiz)"
 
-#: builtin/commit.c:1587
+#: builtin/commit.c:1582
 msgid "suppress summary after successful commit"
 msgstr "suprimir o resumo depois de submeter com sucesso"
 
-#: builtin/commit.c:1588
+#: builtin/commit.c:1583
 msgid "show diff in commit message template"
 msgstr "mostrar diff no modelo da mensagem de commit"
 
-#: builtin/commit.c:1590
+#: builtin/commit.c:1585
 msgid "Commit message options"
 msgstr "Opções de mensagem de commit"
 
-#: builtin/commit.c:1591 builtin/tag.c:351
+#: builtin/commit.c:1586 builtin/tag.c:366
 msgid "read message from file"
 msgstr "ler mensagem de um ficheiro"
 
-#: builtin/commit.c:1592
+#: builtin/commit.c:1587
 msgid "author"
 msgstr "autor"
 
-#: builtin/commit.c:1592
+#: builtin/commit.c:1587
 msgid "override author for commit"
 msgstr "substituir autor do commit"
 
-#: builtin/commit.c:1593 builtin/gc.c:326
+#: builtin/commit.c:1588 builtin/gc.c:333
 msgid "date"
 msgstr "data"
 
-#: builtin/commit.c:1593
+#: builtin/commit.c:1588
 msgid "override date for commit"
 msgstr "substituir data do commit"
 
-#: builtin/commit.c:1594 builtin/merge.c:220 builtin/notes.c:398
-#: builtin/notes.c:561 builtin/tag.c:349
+#: builtin/commit.c:1589 builtin/merge.c:222 builtin/notes.c:398
+#: builtin/notes.c:561 builtin/tag.c:364
 msgid "message"
 msgstr "mensagem"
 
-#: builtin/commit.c:1594
+#: builtin/commit.c:1589
 msgid "commit message"
 msgstr "mensagem de commit"
 
-#: builtin/commit.c:1595 builtin/commit.c:1596 builtin/commit.c:1597
-#: builtin/commit.c:1598 parse-options.h:257 ref-filter.h:79
+#: builtin/commit.c:1590 builtin/commit.c:1591 builtin/commit.c:1592
+#: builtin/commit.c:1593 parse-options.h:257 ref-filter.h:81
 msgid "commit"
 msgstr "commit"
 
-#: builtin/commit.c:1595
+#: builtin/commit.c:1590
 msgid "reuse and edit message from specified commit"
 msgstr "reutilizar e editar a mensagem de um commit especificado"
 
-#: builtin/commit.c:1596
+#: builtin/commit.c:1591
 msgid "reuse message from specified commit"
 msgstr "reutilizar a mensagem de um commit especificado"
 
-#: builtin/commit.c:1597
+#: builtin/commit.c:1592
 msgid "use autosquash formatted message to fixup specified commit"
 msgstr ""
 "usar mensagem com formato autosquash para corrigir o commit especificado"
 
-#: builtin/commit.c:1598
+#: builtin/commit.c:1593
 msgid "use autosquash formatted message to squash specified commit"
-msgstr ""
-"usar mensagem com formato autosquash para esmagar o commit especificado"
+msgstr "usar mensagem com formato autosquash para esmagar o commit especificado"
 
-#: builtin/commit.c:1599
+#: builtin/commit.c:1594
 msgid "the commit is authored by me now (used with -C/-c/--amend)"
 msgstr "agora sou eu o autor do commit (usado com C/-c/--amend)"
 
-#: builtin/commit.c:1600 builtin/log.c:1413 builtin/revert.c:86
+#: builtin/commit.c:1595 builtin/log.c:1413 builtin/revert.c:86
 msgid "add Signed-off-by:"
 msgstr "adicionar Signed-off-by:"
 
-#: builtin/commit.c:1601
+#: builtin/commit.c:1596
 msgid "use specified template file"
 msgstr "usar ficheiro de modelo especificado"
 
-#: builtin/commit.c:1602
+#: builtin/commit.c:1597
 msgid "force edit of commit"
 msgstr "forçar edição do commit"
 
-#: builtin/commit.c:1603
+#: builtin/commit.c:1598
 msgid "default"
 msgstr "predefinição"
 
-#: builtin/commit.c:1603 builtin/tag.c:354
+#: builtin/commit.c:1598 builtin/tag.c:369
 msgid "how to strip spaces and #comments from message"
 msgstr "como retirar espaços e #comentários da mensagem"
 
-#: builtin/commit.c:1604
+#: builtin/commit.c:1599
 msgid "include status in commit message template"
 msgstr "incluir status no modelo da mensagem de commit"
 
-#: builtin/commit.c:1606 builtin/merge.c:230 builtin/pull.c:166
+#: builtin/commit.c:1601 builtin/merge.c:234 builtin/pull.c:166
 #: builtin/revert.c:93
 msgid "GPG sign commit"
 msgstr "assinar o commit com GPG"
 
-#: builtin/commit.c:1609
+#: builtin/commit.c:1604
 msgid "Commit contents options"
 msgstr "Opções de conteúdo do commit"
 
-#: builtin/commit.c:1610
+#: builtin/commit.c:1605
 msgid "commit all changed files"
 msgstr "submeter todos os ficheiros alterados"
 
-#: builtin/commit.c:1611
+#: builtin/commit.c:1606
 msgid "add specified files to index for commit"
 msgstr "adicionar ficheiros especificados ao índice para submeter"
 
-#: builtin/commit.c:1612
+#: builtin/commit.c:1607
 msgid "interactively add files"
 msgstr "adicionar ficheiros interativamente"
 
-#: builtin/commit.c:1613
+#: builtin/commit.c:1608
 msgid "interactively add changes"
 msgstr "adicionar alterações interativamente"
 
-#: builtin/commit.c:1614
+#: builtin/commit.c:1609
 msgid "commit only specified files"
 msgstr "submeter somente os ficheiros especificados"
 
-#: builtin/commit.c:1615
+#: builtin/commit.c:1610
 msgid "bypass pre-commit and commit-msg hooks"
 msgstr "ignorar pre-commit e commit-msg hooks"
 
-#: builtin/commit.c:1616
+#: builtin/commit.c:1611
 msgid "show what would be committed"
 msgstr "mostrar o que seria submetido"
 
-#: builtin/commit.c:1627
+#: builtin/commit.c:1622
 msgid "amend previous commit"
 msgstr "emendar o commit anterior"
 
-#: builtin/commit.c:1628
+#: builtin/commit.c:1623
 msgid "bypass post-rewrite hook"
 msgstr "ignorar post-rewrite hook"
 
-#: builtin/commit.c:1633
+#: builtin/commit.c:1628
 msgid "ok to record an empty change"
 msgstr "aceitar o registo duma alteração vazia"
 
-#: builtin/commit.c:1635
+#: builtin/commit.c:1630
 msgid "ok to record a change with an empty message"
 msgstr "aceitar o registo duma alteração com uma mensagem vazia"
 
-#: builtin/commit.c:1664
+#: builtin/commit.c:1659
 msgid "could not parse HEAD commit"
 msgstr "não foi possível analisar o commit HEAD"
 
-#: builtin/commit.c:1712
+#: builtin/commit.c:1707
 #, c-format
 msgid "Corrupt MERGE_HEAD file (%s)"
 msgstr "Ficheiro MERGE_HEAD corrompido (%s)"
 
-#: builtin/commit.c:1719
+#: builtin/commit.c:1714
 msgid "could not read MERGE_MODE"
 msgstr "não foi possível ler MERGE_MODE"
 
-#: builtin/commit.c:1738
+#: builtin/commit.c:1733
 #, c-format
 msgid "could not read commit message: %s"
 msgstr "não foi possível ler a mensagem de commit: %s"
 
-#: builtin/commit.c:1749
+#: builtin/commit.c:1744
 #, c-format
 msgid "Aborting commit; you did not edit the message.\n"
 msgstr "A abortar o commit; não editou a mensagem.\n"
 
-#: builtin/commit.c:1754
+#: builtin/commit.c:1749
 #, c-format
 msgid "Aborting commit due to empty commit message.\n"
 msgstr "A abortar o commit uma vez que a mensagem de commit está vazia.\n"
 
-#: builtin/commit.c:1802
+#: builtin/commit.c:1797
 msgid ""
 "Repository has been updated, but unable to write\n"
 "new_index file. Check that disk is not full and quota is\n"
@@ -7209,35 +7496,123 @@
 msgid "--dirty is incompatible with commit-ishes"
 msgstr "--dirty é incompatível com commits ou semelhantes"
 
-#: builtin/diff.c:86
+#: builtin/diff.c:83
 #, c-format
 msgid "'%s': not a regular file or symlink"
 msgstr "'%s': não é um ficheiro regular nem uma ligação simbólica"
 
-#: builtin/diff.c:237
+#: builtin/diff.c:234
 #, c-format
 msgid "invalid option: %s"
 msgstr "opção inválida: %s"
 
-#: builtin/diff.c:361
+#: builtin/diff.c:358
 msgid "Not a git repository"
 msgstr "Não é um repositório git"
 
-#: builtin/diff.c:404
+#: builtin/diff.c:401
 #, c-format
 msgid "invalid object '%s' given."
 msgstr "objeto inválido '%s' fornecido."
 
-#: builtin/diff.c:413
+#: builtin/diff.c:410
 #, c-format
 msgid "more than two blobs given: '%s'"
 msgstr "mais do que dois blobs fornecidos: '%s'"
 
-#: builtin/diff.c:420
+#: builtin/diff.c:417
 #, c-format
 msgid "unhandled object '%s' given."
 msgstr "objeto sem tratamento '%s' fornecido."
 
+#: builtin/difftool.c:28
+msgid "git difftool [<options>] [<commit> [<commit>]] [--] [<path>...]"
+msgstr "git difftool [<opções>] [<commit> [<commit>]] [--] [<caminho>...]"
+
+#: builtin/difftool.c:241
+#, c-format
+msgid "failed: %d"
+msgstr "falha: %d"
+
+#: builtin/difftool.c:342
+msgid ""
+"combined diff formats('-c' and '--cc') are not supported in\n"
+"directory diff mode('-d' and '--dir-diff')."
+msgstr ""
+"formatos diff combinado('-c' e '--cc') não são suportados em\n"
+"modo diff diretório ('-d' e '--dir-diff')."
+
+#: builtin/difftool.c:567
+#, c-format
+msgid "both files modified: '%s' and '%s'."
+msgstr "ambos os ficheiros modificados: '%s' e '%s'."
+
+#: builtin/difftool.c:569
+msgid "working tree file has been left."
+msgstr "ficheiro de árvore de trabalho foi deixado."
+
+#: builtin/difftool.c:580
+#, c-format
+msgid "temporary files exist in '%s'."
+msgstr "existem ficheiros temporários em '%s'."
+
+#: builtin/difftool.c:581
+msgid "you may want to cleanup or recover these."
+msgstr "pode querer limpar ou recuperá-los."
+
+#: builtin/difftool.c:626
+msgid "use `diff.guitool` instead of `diff.tool`"
+msgstr "use 'diff.guitool' em vez de 'diff.tool'"
+
+#: builtin/difftool.c:628
+msgid "perform a full-directory diff"
+msgstr "efetuar diff diretório completo"
+
+#: builtin/difftool.c:630
+msgid "do not prompt before launching a diff tool"
+msgstr "não perguntar antes de lançar uma ferramenta diff"
+
+#: builtin/difftool.c:636
+msgid "use symlinks in dir-diff mode"
+msgstr "usar symlinks no modi dir-diff"
+
+#: builtin/difftool.c:637
+msgid "<tool>"
+msgstr "<ferramenta>"
+
+#: builtin/difftool.c:638
+msgid "use the specified diff tool"
+msgstr "usar a ferramenta diff especificada"
+
+#: builtin/difftool.c:640
+msgid "print a list of diff tools that may be used with `--tool`"
+msgstr ""
+"imprimir uma lista de ferramentas diff que podem ser usadas com '--tool'"
+
+#: builtin/difftool.c:643
+msgid ""
+"make 'git-difftool' exit when an invoked diff tool returns a non - zero exit "
+"code"
+msgstr ""
+"fazer com que 'git-difftool' termine quando uma ferramenta diff invocada "
+"retorna um código de saída não nulo"
+
+#: builtin/difftool.c:645
+msgid "<command>"
+msgstr "<comando>"
+
+#: builtin/difftool.c:646
+msgid "specify a custom command for viewing diffs"
+msgstr "especificar um comando personalizado para ver diffs"
+
+#: builtin/difftool.c:670
+msgid "no <tool> given for --tool=<tool>"
+msgstr "nenhuma <ferramenta> dada a --tool=<ferramenta>"
+
+#: builtin/difftool.c:677
+msgid "no <cmd> given for --extcmd=<cmd>"
+msgstr "nenhum <cmd> dado a --extcmd=<cmd>"
+
 #: builtin/fast-export.c:25
 msgid "git fast-export [rev-list-opts]"
 msgstr "git fast-export [opções-de-rev-list]"
@@ -7292,8 +7667,7 @@
 
 #: builtin/fetch.c:21
 msgid "git fetch [<options>] [<repository> [<refspec>...]]"
-msgstr ""
-"git fetch [<opções>] [<repositório> [<especificador-de-referência>...]]"
+msgstr "git fetch [<opções>] [<repositório> [<especificador-de-referência>...]]"
 
 #: builtin/fetch.c:22
 msgid "git fetch [<options>] <group>"
@@ -7341,8 +7715,7 @@
 
 #: builtin/fetch.c:110 builtin/pull.c:188
 msgid "prune remote-tracking branches no longer on remote"
-msgstr ""
-"eliminar os ramos de monitorização remotos que já não existem no remoto"
+msgstr "eliminar os ramos de monitorização remotos que já não existem no remoto"
 
 #: builtin/fetch.c:111 builtin/pull.c:191
 msgid "on-demand"
@@ -7396,77 +7769,77 @@
 msgid "specify fetch refmap"
 msgstr "especificar mapa de referências"
 
-#: builtin/fetch.c:398
+#: builtin/fetch.c:395
 msgid "Couldn't find remote ref HEAD"
 msgstr "Referência remota HEAD não encontrada"
 
-#: builtin/fetch.c:514
+#: builtin/fetch.c:511
 #, c-format
 msgid "configuration fetch.output contains invalid value %s"
 msgstr "a configuração fetch.ouput contém o valor inválido %s"
 
-#: builtin/fetch.c:607
+#: builtin/fetch.c:604
 #, c-format
 msgid "object %s not found"
 msgstr "objeto %s não encontrado"
 
-#: builtin/fetch.c:611
+#: builtin/fetch.c:608
 msgid "[up to date]"
 msgstr "[atualizado]"
 
-#: builtin/fetch.c:624 builtin/fetch.c:704
+#: builtin/fetch.c:621 builtin/fetch.c:701
 msgid "[rejected]"
 msgstr "[rejeitado]"
 
-#: builtin/fetch.c:625
+#: builtin/fetch.c:622
 msgid "can't fetch in current branch"
 msgstr "não é possível obter no ramo atual"
 
-#: builtin/fetch.c:634
+#: builtin/fetch.c:631
 msgid "[tag update]"
 msgstr "[tag atualizada]"
 
-#: builtin/fetch.c:635 builtin/fetch.c:668 builtin/fetch.c:684
-#: builtin/fetch.c:699
+#: builtin/fetch.c:632 builtin/fetch.c:665 builtin/fetch.c:681
+#: builtin/fetch.c:696
 msgid "unable to update local ref"
 msgstr "não é possível atualizar a referência local"
 
-#: builtin/fetch.c:654
+#: builtin/fetch.c:651
 msgid "[new tag]"
 msgstr "[nova tag]"
 
-#: builtin/fetch.c:657
+#: builtin/fetch.c:654
 msgid "[new branch]"
 msgstr "[novo ramo]"
 
-#: builtin/fetch.c:660
+#: builtin/fetch.c:657
 msgid "[new ref]"
 msgstr "[nova referência]"
 
-#: builtin/fetch.c:699
+#: builtin/fetch.c:696
 msgid "forced update"
 msgstr "atualização forçada"
 
-#: builtin/fetch.c:704
+#: builtin/fetch.c:701
 msgid "non-fast-forward"
 msgstr "sem avanço-rápido"
 
-#: builtin/fetch.c:749
+#: builtin/fetch.c:746
 #, c-format
 msgid "%s did not send all necessary objects\n"
 msgstr "%s não enviou todos os objetos necessários\n"
 
-#: builtin/fetch.c:769
+#: builtin/fetch.c:766
 #, c-format
 msgid "reject %s because shallow roots are not allowed to be updated"
 msgstr "%s rejeitado, porque as raízes rasas não podem ser atualizadas"
 
-#: builtin/fetch.c:856 builtin/fetch.c:952
+#: builtin/fetch.c:853 builtin/fetch.c:949
 #, c-format
 msgid "From %.*s\n"
 msgstr "De %.*s\n"
 
-#: builtin/fetch.c:867
+#: builtin/fetch.c:864
 #, c-format
 msgid ""
 "some local refs could not be updated; try running\n"
@@ -7475,55 +7848,55 @@
 "algumas referências locais não puderam ser atualizadas; tente executar\n"
 " 'git remote prune %s' para remover algum ramo antigo em conflito"
 
-#: builtin/fetch.c:922
+#: builtin/fetch.c:919
 #, c-format
 msgid "   (%s will become dangling)"
 msgstr "   (%s ficará suspenso)"
 
-#: builtin/fetch.c:923
+#: builtin/fetch.c:920
 #, c-format
 msgid "   (%s has become dangling)"
 msgstr "   (%s ficou suspenso)"
 
-#: builtin/fetch.c:955
+#: builtin/fetch.c:952
 msgid "[deleted]"
 msgstr "[eliminado]"
 
-#: builtin/fetch.c:956 builtin/remote.c:1020
+#: builtin/fetch.c:953 builtin/remote.c:1020
 msgid "(none)"
 msgstr "(nenhum)"
 
-#: builtin/fetch.c:979
+#: builtin/fetch.c:976
 #, c-format
 msgid "Refusing to fetch into current branch %s of non-bare repository"
 msgstr "Obtenção de objetos no ramo atual %s de um repositório não nu recusada"
 
-#: builtin/fetch.c:998
+#: builtin/fetch.c:995
 #, c-format
 msgid "Option \"%s\" value \"%s\" is not valid for %s"
 msgstr "O valor \"%2$s\" da opção \"%1$s\" não é válido em %3$s"
 
-#: builtin/fetch.c:1001
+#: builtin/fetch.c:998
 #, c-format
 msgid "Option \"%s\" is ignored for %s\n"
 msgstr "Opção \"%s\" ignorada em %s\n"
 
-#: builtin/fetch.c:1077
+#: builtin/fetch.c:1074
 #, c-format
 msgid "Don't know how to fetch from %s"
 msgstr "Não sei como obter de %s"
 
-#: builtin/fetch.c:1237
+#: builtin/fetch.c:1234
 #, c-format
 msgid "Fetching %s\n"
 msgstr "A obter de %s\n"
 
-#: builtin/fetch.c:1239 builtin/remote.c:96
+#: builtin/fetch.c:1236 builtin/remote.c:96
 #, c-format
 msgid "Could not fetch %s"
 msgstr "Não foi possível obter de %s"
 
-#: builtin/fetch.c:1257
+#: builtin/fetch.c:1254
 msgid ""
 "No remote repository specified.  Please, specify either a URL or a\n"
 "remote name from which new revisions should be fetched."
@@ -7531,40 +7904,40 @@
 "Nenhum repositório remoto especificado. Especifique um URL ou\n"
 "o nome remoto a partir do qual as novas revisões devem ser obtidas."
 
-#: builtin/fetch.c:1280
+#: builtin/fetch.c:1277
 msgid "You need to specify a tag name."
 msgstr "Deve especificar um nome para a tag."
 
-#: builtin/fetch.c:1322
+#: builtin/fetch.c:1319
 msgid "Negative depth in --deepen is not supported"
 msgstr "Não é suportada profundidade negativa em --deepen"
 
-#: builtin/fetch.c:1324
+#: builtin/fetch.c:1321
 msgid "--deepen and --depth are mutually exclusive"
 msgstr "--deepen e --depth são mutuamente exclusivos"
 
-#: builtin/fetch.c:1329
+#: builtin/fetch.c:1326
 msgid "--depth and --unshallow cannot be used together"
 msgstr "--depth e --unshallow não podem ser usados juntos"
 
-#: builtin/fetch.c:1331
+#: builtin/fetch.c:1328
 msgid "--unshallow on a complete repository does not make sense"
 msgstr "usar --unshallow num repositório completo não faz sentido"
 
-#: builtin/fetch.c:1353
+#: builtin/fetch.c:1350
 msgid "fetch --all does not take a repository argument"
 msgstr "fetch --all não leva um repositório como argumento"
 
-#: builtin/fetch.c:1355
+#: builtin/fetch.c:1352
 msgid "fetch --all does not make sense with refspecs"
 msgstr "fetch --all não faz sentido com especificadores de referência"
 
-#: builtin/fetch.c:1366
+#: builtin/fetch.c:1363
 #, c-format
 msgid "No such remote or remote group: %s"
 msgstr "O remoto ou grupo remoto não existe: %s"
 
-#: builtin/fetch.c:1374
+#: builtin/fetch.c:1371
 msgid "Fetching a group and specifying refspecs does not make sense"
 msgstr "Não faz sentido obter um grupo e especificar uma referência"
 
@@ -7572,8 +7945,7 @@
 msgid ""
 "git fmt-merge-msg [-m <message>] [--log[=<n>] | --no-log] [--file <file>]"
 msgstr ""
-"git fmt-merge-msg [-m <mensagem>] [--log[=<n>] | --no-log] [--file "
-"<ficheiro>]"
+"git fmt-merge-msg [-m <mensagem>] [--log[=<n>] | --no-log] [--file <ficheiro>]"
 
 #: builtin/fmt-merge-msg.c:663
 msgid "populate log with at most <n> entries from shortlog"
@@ -7634,7 +8006,7 @@
 msgid "show only <n> matched refs"
 msgstr "mostrar apenas <n> referências correspondidas"
 
-#: builtin/for-each-ref.c:37 builtin/tag.c:372
+#: builtin/for-each-ref.c:37 builtin/tag.c:387 builtin/verify-tag.c:38
 msgid "format to use for the output"
 msgstr "formato a usar na saída"
 
@@ -7654,63 +8026,63 @@
 msgid "print only refs which contain the commit"
 msgstr "imprimir apenas referências que contenham o commit"
 
-#: builtin/fsck.c:519
+#: builtin/fsck.c:554
 msgid "Checking object directories"
 msgstr "A verificar diretórios de objetos"
 
-#: builtin/fsck.c:588
+#: builtin/fsck.c:646
 msgid "git fsck [<options>] [<object>...]"
 msgstr "git fsck [<opções>] [<objeto>...]"
 
-#: builtin/fsck.c:594
+#: builtin/fsck.c:652
 msgid "show unreachable objects"
 msgstr "mostrar objetos inalcançáveis"
 
-#: builtin/fsck.c:595
+#: builtin/fsck.c:653
 msgid "show dangling objects"
 msgstr "mostrar objetos suspensos"
 
-#: builtin/fsck.c:596
+#: builtin/fsck.c:654
 msgid "report tags"
 msgstr "mostrar tags"
 
-#: builtin/fsck.c:597
+#: builtin/fsck.c:655
 msgid "report root nodes"
 msgstr "mostrar nós raiz"
 
-#: builtin/fsck.c:598
+#: builtin/fsck.c:656
 msgid "make index objects head nodes"
 msgstr "considerar objetos do índice como nós cabeça"
 
-#: builtin/fsck.c:599
+#: builtin/fsck.c:657
 msgid "make reflogs head nodes (default)"
 msgstr "considerar os reflogs como nós cabeça (predefinição)"
 
-#: builtin/fsck.c:600
+#: builtin/fsck.c:658
 msgid "also consider packs and alternate objects"
 msgstr "considerar também pacotes e objetos sobressalente"
 
-#: builtin/fsck.c:601
+#: builtin/fsck.c:659
 msgid "check only connectivity"
 msgstr "verificar só a conetividade"
 
-#: builtin/fsck.c:602
+#: builtin/fsck.c:660
 msgid "enable more strict checking"
 msgstr "ativar verificação mais rigorosa"
 
-#: builtin/fsck.c:604
+#: builtin/fsck.c:662
 msgid "write dangling objects in .git/lost-found"
 msgstr "escrever objetos suspensos em .git/lost-found"
 
-#: builtin/fsck.c:605 builtin/prune.c:107
+#: builtin/fsck.c:663 builtin/prune.c:107
 msgid "show progress"
 msgstr "mostrar progresso"
 
-#: builtin/fsck.c:606
+#: builtin/fsck.c:664
 msgid "show verbose names for reachable objects"
 msgstr "mostrar nomes verbosos de objetos inalcançáveis"
 
-#: builtin/fsck.c:665
+#: builtin/fsck.c:725
 msgid "Checking objects"
 msgstr "A verificar objetos"
 
@@ -7728,7 +8100,7 @@
 msgid "insanely long object directory %.*s"
 msgstr "diretório de objetos demasiado longo %.*s"
 
-#: builtin/gc.c:290
+#: builtin/gc.c:297
 #, c-format
 msgid ""
 "The last gc run reported the following. Please correct the root cause\n"
@@ -7743,40 +8115,40 @@
 "\n"
 "%s"
 
-#: builtin/gc.c:327
+#: builtin/gc.c:334
 msgid "prune unreferenced objects"
 msgstr "eliminar ficheiros não referenciados"
 
-#: builtin/gc.c:329
+#: builtin/gc.c:336
 msgid "be more thorough (increased runtime)"
 msgstr "ser mais minucioso (aumenta o tempo de execução)"
 
-#: builtin/gc.c:330
+#: builtin/gc.c:337
 msgid "enable auto-gc mode"
 msgstr "ativar modo auto-gc"
 
-#: builtin/gc.c:331
+#: builtin/gc.c:338
 msgid "force running gc even if there may be another gc running"
 msgstr "forçar a execução do gc mesmo que haja outro gc a executar"
 
-#: builtin/gc.c:373
+#: builtin/gc.c:380
 #, c-format
 msgid "Auto packing the repository in background for optimum performance.\n"
 msgstr ""
 "A autocompactar o repositório em segundo plano para obter um melhor "
 "desempenho.\n"
 
-#: builtin/gc.c:375
+#: builtin/gc.c:382
 #, c-format
 msgid "Auto packing the repository for optimum performance.\n"
 msgstr "A autocompactar o repositório para obter um melhor desempenho.\n"
 
-#: builtin/gc.c:376
+#: builtin/gc.c:383
 #, c-format
 msgid "See \"git help gc\" for manual housekeeping.\n"
 msgstr "Consulte \"git help gc\" para ler sobre manutenção manual.\n"
 
-#: builtin/gc.c:397
+#: builtin/gc.c:404
 #, c-format
 msgid ""
 "gc is already running on machine '%s' pid %<PRIuMAX> (use --force if not)"
@@ -7784,245 +8156,260 @@
 "gc já a executar na máquina '%s' pid %<PRIuMAX> (use --force se não for o "
 "caso)"
 
-#: builtin/gc.c:441
+#: builtin/gc.c:448
 msgid ""
 "There are too many unreachable loose objects; run 'git prune' to remove them."
 msgstr ""
 "Existem demasiados objeto soltos inalcançáveis; execute 'git prune' para os "
 "remover."
 
-#: builtin/grep.c:23
+#: builtin/grep.c:25
 msgid "git grep [<options>] [-e] <pattern> [<rev>...] [[--] <path>...]"
 msgstr "git grep [<opções>] [-e] <padrão> [<rev>...] [[--] <caminho>...]"
 
-#: builtin/grep.c:219
+#: builtin/grep.c:232
 #, c-format
 msgid "grep: failed to create thread: %s"
 msgstr "grep: falha ao criar thread: %s"
 
-#: builtin/grep.c:277
+#: builtin/grep.c:290
 #, c-format
 msgid "invalid number of threads specified (%d) for %s"
 msgstr "o número de threads especificado em %2$s é inválido (%1$d)"
 
-#: builtin/grep.c:453 builtin/grep.c:488
+#: builtin/grep.c:763 builtin/grep.c:804
 #, c-format
 msgid "unable to read tree (%s)"
 msgstr "não foi possível ler a árvore (%s)"
 
-#: builtin/grep.c:503
+#: builtin/grep.c:823
 #, c-format
 msgid "unable to grep from object of type %s"
 msgstr "não foi possível efetuar grep de objetos do tipo %s"
 
-#: builtin/grep.c:561
+#: builtin/grep.c:887
 #, c-format
 msgid "switch `%c' expects a numerical value"
 msgstr "a opção '%c' espera um valor numérico"
 
-#: builtin/grep.c:647
+#: builtin/grep.c:973
 msgid "search in index instead of in the work tree"
 msgstr "procurar no índice em vez de procurar na árvore de trabalho"
 
-#: builtin/grep.c:649
+#: builtin/grep.c:975
 msgid "find in contents not managed by git"
 msgstr "procurar em conteúdos não geridos pelo git"
 
-#: builtin/grep.c:651
+#: builtin/grep.c:977
 msgid "search in both tracked and untracked files"
 msgstr "procurar em ficheiros controlados e não controlados"
 
-#: builtin/grep.c:653
+#: builtin/grep.c:979
 msgid "ignore files specified via '.gitignore'"
 msgstr "ignorar ficheiros especificados via '.gitignore'"
 
-#: builtin/grep.c:656
+#: builtin/grep.c:981
+msgid "recursivley search in each submodule"
+msgstr "procurar recursivamente em cada submódulo"
+
+#: builtin/grep.c:983
+msgid "basename"
+msgstr "nomebase"
+
+#: builtin/grep.c:984
+msgid "prepend parent project's basename to output"
+msgstr "preceder o nomebase do projeto pai na saída"
+
+#: builtin/grep.c:987
 msgid "show non-matching lines"
 msgstr "mostrar linhas não correspondidas"
 
-#: builtin/grep.c:658
+#: builtin/grep.c:989
 msgid "case insensitive matching"
 msgstr "não diferenciar maiúsculas de minúsculas"
 
-#: builtin/grep.c:660
+#: builtin/grep.c:991
 msgid "match patterns only at word boundaries"
 msgstr "corresponder padrões apenas a palavras"
 
-#: builtin/grep.c:662
+#: builtin/grep.c:993
 msgid "process binary files as text"
 msgstr "processar ficheiros binários como texto"
 
-#: builtin/grep.c:664
+#: builtin/grep.c:995
 msgid "don't match patterns in binary files"
 msgstr "ignorar ficheiros binários"
 
-#: builtin/grep.c:667
+#: builtin/grep.c:998
 msgid "process binary files with textconv filters"
 msgstr "processar ficheiros binários com filtros textconv"
 
-#: builtin/grep.c:669
+#: builtin/grep.c:1000
 msgid "descend at most <depth> levels"
 msgstr "descer no máximo até <profundidade>"
 
-#: builtin/grep.c:673
+#: builtin/grep.c:1004
 msgid "use extended POSIX regular expressions"
 msgstr "usar expressões regulares estendidas do POSIX"
 
-#: builtin/grep.c:676
+#: builtin/grep.c:1007
 msgid "use basic POSIX regular expressions (default)"
 msgstr "usar expressões regulares básicas do POSIX (predefinição)"
 
-#: builtin/grep.c:679
+#: builtin/grep.c:1010
 msgid "interpret patterns as fixed strings"
 msgstr "interpretar padrões como cadeias de caracteres fixas"
 
-#: builtin/grep.c:682
+#: builtin/grep.c:1013
 msgid "use Perl-compatible regular expressions"
 msgstr "usar expressões regulares compatíveis com Perl"
 
-#: builtin/grep.c:685
+#: builtin/grep.c:1016
 msgid "show line numbers"
 msgstr "mostrar números de linha"
 
-#: builtin/grep.c:686
+#: builtin/grep.c:1017
 msgid "don't show filenames"
 msgstr "não mostrar nomes de ficheiro"
 
-#: builtin/grep.c:687
+#: builtin/grep.c:1018
 msgid "show filenames"
 msgstr "mostrar nomes de ficheiro"
 
-#: builtin/grep.c:689
+#: builtin/grep.c:1020
 msgid "show filenames relative to top directory"
 msgstr "mostrar nomes de ficheiro relativamente ao diretório superior"
 
-#: builtin/grep.c:691
+#: builtin/grep.c:1022
 msgid "show only filenames instead of matching lines"
 msgstr "mostrar apenas nomes de ficheiro em vez de linhas correspondidas"
 
-#: builtin/grep.c:693
+#: builtin/grep.c:1024
 msgid "synonym for --files-with-matches"
 msgstr "sinónimo de --files-with-matches"
 
-#: builtin/grep.c:696
+#: builtin/grep.c:1027
 msgid "show only the names of files without match"
 msgstr "mostrar apenas nomes de ficheiro sem correspondência"
 
-#: builtin/grep.c:698
+#: builtin/grep.c:1029
 msgid "print NUL after filenames"
 msgstr "imprimir NUL depois dos nomes de ficheiro"
 
-#: builtin/grep.c:700
+#: builtin/grep.c:1031
 msgid "show the number of matches instead of matching lines"
 msgstr "mostrar o número de correspondências em vez das linha correspondidas"
 
-#: builtin/grep.c:701
+#: builtin/grep.c:1032
 msgid "highlight matches"
 msgstr "realçar correspondências"
 
-#: builtin/grep.c:703
+#: builtin/grep.c:1034
 msgid "print empty line between matches from different files"
 msgstr ""
 "imprimir uma linha em branco entre correspondências de diferentes ficheiros"
 
-#: builtin/grep.c:705
+#: builtin/grep.c:1036
 msgid "show filename only once above matches from same file"
 msgstr ""
 "mostrar só uma vez o nome do ficheiro acima das correspondências dentro do "
 "mesmo ficheiro"
 
-#: builtin/grep.c:708
+#: builtin/grep.c:1039
 msgid "show <n> context lines before and after matches"
 msgstr "mostrar <n> linhas de contexto antes e depois das correspondências"
 
-#: builtin/grep.c:711
+#: builtin/grep.c:1042
 msgid "show <n> context lines before matches"
 msgstr "mostrar <n> linhas de contexto antes das correspondências"
 
-#: builtin/grep.c:713
+#: builtin/grep.c:1044
 msgid "show <n> context lines after matches"
 msgstr "mostrar <n> linhas de contexto depois das correspondências"
 
-#: builtin/grep.c:715
+#: builtin/grep.c:1046
 msgid "use <n> worker threads"
 msgstr "usar <n> threads de trabalho"
 
-#: builtin/grep.c:716
+#: builtin/grep.c:1047
 msgid "shortcut for -C NUM"
 msgstr "atalho para -C NUM"
 
-#: builtin/grep.c:719
+#: builtin/grep.c:1050
 msgid "show a line with the function name before matches"
 msgstr "mostrar uma linha com o nome da função antes das correspondências"
 
-#: builtin/grep.c:721
+#: builtin/grep.c:1052
 msgid "show the surrounding function"
 msgstr "mostrar a função circundante"
 
-#: builtin/grep.c:724
+#: builtin/grep.c:1055
 msgid "read patterns from file"
 msgstr "ler padrões do ficheiro"
 
-#: builtin/grep.c:726
+#: builtin/grep.c:1057
 msgid "match <pattern>"
 msgstr "procurar <padrão>"
 
-#: builtin/grep.c:728
+#: builtin/grep.c:1059
 msgid "combine patterns specified with -e"
 msgstr "combinar padrões especificados com -e"
 
-#: builtin/grep.c:740
+#: builtin/grep.c:1071
 msgid "indicate hit with exit status without output"
 msgstr "indicar padrão encontrado no valor de saída, mas não imprimir"
 
-#: builtin/grep.c:742
+#: builtin/grep.c:1073
 msgid "show only matches from files that match all patterns"
-msgstr ""
-"mostrar apenas correspondências de ficheiro que tenham todos os padrões"
+msgstr "mostrar apenas correspondências de ficheiro que tenham todos os padrões"
 
-#: builtin/grep.c:744
+#: builtin/grep.c:1075
 msgid "show parse tree for grep expression"
 msgstr "mostrar árvore de analise da expressões grep"
 
-#: builtin/grep.c:748
+#: builtin/grep.c:1079
 msgid "pager"
 msgstr "paginador"
 
-#: builtin/grep.c:748
+#: builtin/grep.c:1079
 msgid "show matching files in the pager"
 msgstr "mostrar ficheiros com correspondências no paginador"
 
-#: builtin/grep.c:751
+#: builtin/grep.c:1082
 msgid "allow calling of grep(1) (ignored by this build)"
 msgstr "permitir invocar grep(1) (ignorado nesta compilação)"
 
-#: builtin/grep.c:814
+#: builtin/grep.c:1146
 msgid "no pattern given."
 msgstr "nenhum padrão fornecido."
 
-#: builtin/grep.c:846 builtin/index-pack.c:1480
+#: builtin/grep.c:1178 builtin/index-pack.c:1482
 #, c-format
 msgid "invalid number of threads specified (%d)"
 msgstr "número de threads especificado inválido (%d)"
 
-#: builtin/grep.c:876
+#: builtin/grep.c:1215
 msgid "--open-files-in-pager only works on the worktree"
 msgstr "--open-files-in-pager só funciona na árvore de trabalho"
 
-#: builtin/grep.c:902
+#: builtin/grep.c:1238
+msgid "option not supported with --recurse-submodules."
+msgstr "opção não suportada com --recurse-submodules."
+
+#: builtin/grep.c:1244
 msgid "--cached or --untracked cannot be used with --no-index."
 msgstr "--cached ou --untracked não podem ser usados com --no-index."
 
-#: builtin/grep.c:907
+#: builtin/grep.c:1249
 msgid "--no-index or --untracked cannot be used with revs."
 msgstr "--no-index ou --untracked não podem ser usados em revisões."
 
-#: builtin/grep.c:910
+#: builtin/grep.c:1252
 msgid "--[no-]exclude-standard cannot be used for tracked contents."
 msgstr ""
 "--[no-]exclude-standard não podem ser usados em conteúdos não controlados."
 
-#: builtin/grep.c:918
+#: builtin/grep.c:1260
 msgid "both --cached and trees are given."
 msgstr "--cached e árvores foram fornecidos simultaneamente."
 
@@ -8031,8 +8418,8 @@
 "git hash-object [-t <type>] [-w] [--path=<file> | --no-filters] [--stdin] "
 "[--] <file>..."
 msgstr ""
-"git hash-object [-t <tipo>] [-w] [--path=<ficheiro> | --no-filters] [--"
-"stdin] [--] <ficheiro>..."
+"git hash-object [-t <tipo>] [-w] [--path=<ficheiro> | --no-filters] [--stdin] "
+"[--] <ficheiro>..."
 
 #: builtin/hash-object.c:82
 msgid "git hash-object  --stdin-paths"
@@ -8059,11 +8446,9 @@
 msgstr "guardar o ficheiro tal como está, sem filtros"
 
 #: builtin/hash-object.c:100
-msgid ""
-"just hash any random garbage to create corrupt objects for debugging Git"
+msgid "just hash any random garbage to create corrupt objects for debugging Git"
 msgstr ""
-"obter hash de lixo aleatório para criar objetos corrompidos para depurar o "
-"Git"
+"obter hash de lixo aleatório para criar objetos corrompidos para depurar o Git"
 
 #: builtin/hash-object.c:101
 msgid "process file as it were from this path"
@@ -8303,183 +8688,187 @@
 msgstr "inconsistência de descompactação grave"
 
 #: builtin/index-pack.c:748 builtin/index-pack.c:754 builtin/index-pack.c:777
-#: builtin/index-pack.c:811 builtin/index-pack.c:820
+#: builtin/index-pack.c:813 builtin/index-pack.c:822
 #, c-format
 msgid "SHA1 COLLISION FOUND WITH %s !"
 msgstr "COLISÃO DE SHA1 COM %s ENCONTRADA!"
 
-#: builtin/index-pack.c:751 builtin/pack-objects.c:166
-#: builtin/pack-objects.c:258
+#: builtin/index-pack.c:751 builtin/pack-objects.c:164
+#: builtin/pack-objects.c:256
 #, c-format
 msgid "unable to read %s"
 msgstr "não foi possível ler %s"
 
-#: builtin/index-pack.c:817
+#: builtin/index-pack.c:819
 #, c-format
 msgid "cannot read existing object %s"
 msgstr "não é possível ler o objeto existente %s"
 
-#: builtin/index-pack.c:831
+#: builtin/index-pack.c:833
 #, c-format
 msgid "invalid blob object %s"
 msgstr "objeto blob inválido %s"
 
-#: builtin/index-pack.c:845
+#: builtin/index-pack.c:847
 #, c-format
 msgid "invalid %s"
 msgstr "inválido %s"
 
-#: builtin/index-pack.c:848
+#: builtin/index-pack.c:850
 msgid "Error in object"
 msgstr "Erro no objeto"
 
-#: builtin/index-pack.c:850
+#: builtin/index-pack.c:852
 #, c-format
 msgid "Not all child objects of %s are reachable"
 msgstr "Nem todos os objetos filhos de %s são alcançáveis"
 
-#: builtin/index-pack.c:922 builtin/index-pack.c:953
+#: builtin/index-pack.c:924 builtin/index-pack.c:955
 msgid "failed to apply delta"
 msgstr "falha ao aplicar delta"
 
-#: builtin/index-pack.c:1123
+#: builtin/index-pack.c:1125
 msgid "Receiving objects"
 msgstr "A receber objetos"
 
-#: builtin/index-pack.c:1123
+#: builtin/index-pack.c:1125
 msgid "Indexing objects"
 msgstr "A indexar objetos"
 
-#: builtin/index-pack.c:1155
+#: builtin/index-pack.c:1157
 msgid "pack is corrupted (SHA1 mismatch)"
 msgstr "pacote corrompido (SHA1 não corresponde)"
 
-#: builtin/index-pack.c:1160
+#: builtin/index-pack.c:1162
 msgid "cannot fstat packfile"
 msgstr "não é possível invocar fstat sobre o ficheiro de pacote"
 
-#: builtin/index-pack.c:1163
+#: builtin/index-pack.c:1165
 msgid "pack has junk at the end"
 msgstr "pacote com lixo no final"
 
-#: builtin/index-pack.c:1174
+#: builtin/index-pack.c:1176
 msgid "confusion beyond insanity in parse_pack_objects()"
 msgstr "extrema confusão em parse_pack_objects()"
 
-#: builtin/index-pack.c:1197
+#: builtin/index-pack.c:1199
 msgid "Resolving deltas"
 msgstr "A resolver deltas"
 
-#: builtin/index-pack.c:1208
+#: builtin/index-pack.c:1210
 #, c-format
 msgid "unable to create thread: %s"
 msgstr "não foi possível criar thread: %s"
 
-#: builtin/index-pack.c:1250
+#: builtin/index-pack.c:1252
 msgid "confusion beyond insanity"
 msgstr "extrema confusão"
 
-#: builtin/index-pack.c:1256
+#: builtin/index-pack.c:1258
 #, c-format
 msgid "completed with %d local object"
 msgid_plural "completed with %d local objects"
 msgstr[0] "concluído com %d objeto local"
 msgstr[1] "concluído com %d objetos locais"
 
-#: builtin/index-pack.c:1268
+#: builtin/index-pack.c:1270
 #, c-format
 msgid "Unexpected tail checksum for %s (disk corruption?)"
 msgstr "Soma de verificação inesperada no final de %s (corrupção no disco?)"
 
-#: builtin/index-pack.c:1272
+#: builtin/index-pack.c:1274
 #, c-format
 msgid "pack has %d unresolved delta"
 msgid_plural "pack has %d unresolved deltas"
 msgstr[0] "pacote com %d delta não resolvido"
 msgstr[1] "pacote com %d deltas não resolvidos"
 
-#: builtin/index-pack.c:1296
+#: builtin/index-pack.c:1298
 #, c-format
 msgid "unable to deflate appended object (%d)"
 msgstr "não é possível compactar objeto acrescentado (%d)"
 
-#: builtin/index-pack.c:1372
+#: builtin/index-pack.c:1374
 #, c-format
 msgid "local object %s is corrupt"
 msgstr "objeto local %s corrompido"
 
-#: builtin/index-pack.c:1396
+#: builtin/index-pack.c:1398
 msgid "error while closing pack file"
 msgstr "erro ao fechar ficheiro de pacote"
 
-#: builtin/index-pack.c:1409
+#: builtin/index-pack.c:1411
 #, c-format
 msgid "cannot write keep file '%s'"
 msgstr "não é possível escrever o ficheiro de conservação '%s'"
 
-#: builtin/index-pack.c:1417
+#: builtin/index-pack.c:1419
 #, c-format
 msgid "cannot close written keep file '%s'"
 msgstr "não é possível fechar o ficheiro de conservação '%s' escrito"
 
-#: builtin/index-pack.c:1430
+#: builtin/index-pack.c:1432
 msgid "cannot store pack file"
 msgstr "não é possível guardar ficheiro de pacote"
 
-#: builtin/index-pack.c:1441
+#: builtin/index-pack.c:1443
 msgid "cannot store index file"
 msgstr "não é possível guardar o ficheiro índice"
 
-#: builtin/index-pack.c:1474
+#: builtin/index-pack.c:1476
 #, c-format
 msgid "bad pack.indexversion=%<PRIu32>"
 msgstr "pack.indexversion=%<PRIu32> incorreto"
 
-#: builtin/index-pack.c:1484 builtin/index-pack.c:1681
+#: builtin/index-pack.c:1486 builtin/index-pack.c:1683
 #, c-format
 msgid "no threads support, ignoring %s"
 msgstr "sem suporte de threads, %s ignorado"
 
-#: builtin/index-pack.c:1542
+#: builtin/index-pack.c:1544
 #, c-format
 msgid "Cannot open existing pack file '%s'"
 msgstr "Não é possível abrir o ficheiro de pacote '%s' existente"
 
-#: builtin/index-pack.c:1544
+#: builtin/index-pack.c:1546
 #, c-format
 msgid "Cannot open existing pack idx file for '%s'"
 msgstr "Não é possível abrir o ficheiro de índice do pacote existente de '%s'"
 
-#: builtin/index-pack.c:1591
+#: builtin/index-pack.c:1593
 #, c-format
 msgid "non delta: %d object"
 msgid_plural "non delta: %d objects"
 msgstr[0] "%d objeto não delta"
 msgstr[1] "%d objetos não delta"
 
-#: builtin/index-pack.c:1598
+#: builtin/index-pack.c:1600
 #, c-format
 msgid "chain length = %d: %lu object"
 msgid_plural "chain length = %d: %lu objects"
 msgstr[0] "comprimento de cadeia = %d: %lu objeto"
 msgstr[1] "comprimento de cadeia = %d: %lu objetos"
 
-#: builtin/index-pack.c:1611
+#: builtin/index-pack.c:1613
 #, c-format
 msgid "packfile name '%s' does not end with '.pack'"
 msgstr "o nome do ficheiro de pacote '%s' não termina em '.pack'"
 
-#: builtin/index-pack.c:1693 builtin/index-pack.c:1696
-#: builtin/index-pack.c:1712 builtin/index-pack.c:1716
+#: builtin/index-pack.c:1695 builtin/index-pack.c:1698 builtin/index-pack.c:1714
+#: builtin/index-pack.c:1718
 #, c-format
 msgid "bad %s"
 msgstr "%s incorreto"
 
-#: builtin/index-pack.c:1732
+#: builtin/index-pack.c:1734
 msgid "--fix-thin cannot be used without --stdin"
 msgstr "--fix-thin não pode ser usado sem --stdin"
 
-#: builtin/index-pack.c:1740
+#: builtin/index-pack.c:1736
+msgid "--stdin requires a git repository"
+msgstr "--stdin requer um repositório git"
+
+#: builtin/index-pack.c:1744
 msgid "--verify with no packfile name given"
 msgstr "--verify sem nome do ficheiro de pacote indicado"
 
@@ -8728,7 +9117,7 @@
 msgid "Unknown commit %s"
 msgstr "Commit desconhecido %s"
 
-#: builtin/log.c:1258 builtin/notes.c:884 builtin/tag.c:455
+#: builtin/log.c:1258 builtin/notes.c:884 builtin/tag.c:476
 #, c-format
 msgid "Failed to resolve '%s' as a valid ref."
 msgstr "Falha ao resolver '%s' numa referência válida."
@@ -8865,8 +9254,8 @@
 #: builtin/log.c:1455
 msgid "set From address to <ident> (or committer ident if absent)"
 msgstr ""
-"definir o endereço From como <identidade> (ou como identidade do committer "
-"se não indicado)"
+"definir o endereço From como <identidade> (ou como identidade do committer se "
+"não indicado)"
 
 #: builtin/log.c:1457
 msgid "message-id"
@@ -8966,107 +9355,106 @@
 "O ramo remoto seguido não foi encontrado, especifique <ramo-a-montante> "
 "manualmente.\n"
 
-#: builtin/ls-files.c:458
+#: builtin/ls-files.c:460
 msgid "git ls-files [<options>] [<file>...]"
 msgstr "git ls-files [<opções>] [<ficheiro>...]"
 
-#: builtin/ls-files.c:507
+#: builtin/ls-files.c:509
 msgid "identify the file status with tags"
 msgstr "identificar o estado do ficheiro com tags"
 
-#: builtin/ls-files.c:509
+#: builtin/ls-files.c:511
 msgid "use lowercase letters for 'assume unchanged' files"
 msgstr ""
 "usar letras minúsculas para ficheiros 'assumido não alterado' ('assume "
 "unchanged')"
 
-#: builtin/ls-files.c:511
+#: builtin/ls-files.c:513
 msgid "show cached files in the output (default)"
 msgstr "mostrar ficheiros em cache na saída (predefinição)"
 
-#: builtin/ls-files.c:513
+#: builtin/ls-files.c:515
 msgid "show deleted files in the output"
 msgstr "mostrar ficheiros eliminados na saída"
 
-#: builtin/ls-files.c:515
+#: builtin/ls-files.c:517
 msgid "show modified files in the output"
 msgstr "mostrar ficheiros modificados na saída"
 
-#: builtin/ls-files.c:517
+#: builtin/ls-files.c:519
 msgid "show other files in the output"
 msgstr "mostrar outros ficheiros na saída"
 
-#: builtin/ls-files.c:519
+#: builtin/ls-files.c:521
 msgid "show ignored files in the output"
 msgstr "mostrar ficheiros ignorados na saída"
 
-#: builtin/ls-files.c:522
+#: builtin/ls-files.c:524
 msgid "show staged contents' object name in the output"
 msgstr "mostrar nome de objetos com conteúdo preparado, na saída"
 
-#: builtin/ls-files.c:524
-msgid "show files on the filesystem that need to be removed"
-msgstr ""
-"mostrar ficheiros no sistema de ficheiros que precisam de ser removidos"
-
 #: builtin/ls-files.c:526
+msgid "show files on the filesystem that need to be removed"
+msgstr "mostrar ficheiros no sistema de ficheiros que precisam de ser removidos"
+
+#: builtin/ls-files.c:528
 msgid "show 'other' directories' names only"
 msgstr "mostrar nomes de diretórios 'other' (outro)"
 
-#: builtin/ls-files.c:528
+#: builtin/ls-files.c:530
 msgid "show line endings of files"
 msgstr "mostrar finais de linha dos ficheiros"
 
-#: builtin/ls-files.c:530
+#: builtin/ls-files.c:532
 msgid "don't show empty directories"
 msgstr "não mostrar diretórios vazios"
 
-#: builtin/ls-files.c:533
+#: builtin/ls-files.c:535
 msgid "show unmerged files in the output"
 msgstr "mostrar ficheiros não integrados na saída"
 
-#: builtin/ls-files.c:535
+#: builtin/ls-files.c:537
 msgid "show resolve-undo information"
 msgstr "mostrar informação de resolver-desfazer"
 
-#: builtin/ls-files.c:537
+#: builtin/ls-files.c:539
 msgid "skip files matching pattern"
 msgstr "ignorar ficheiros que correspondam ao padrão"
 
-#: builtin/ls-files.c:540
+#: builtin/ls-files.c:542
 msgid "exclude patterns are read from <file>"
 msgstr "ler padrões de exclusão do <ficheiro>"
 
-#: builtin/ls-files.c:543
+#: builtin/ls-files.c:545
 msgid "read additional per-directory exclude patterns in <file>"
 msgstr "ler padrões de exclusão por diretório do <ficheiro>"
 
-#: builtin/ls-files.c:545
+#: builtin/ls-files.c:547
 msgid "add the standard git exclusions"
 msgstr "incluir as exclusões standard do git"
 
-#: builtin/ls-files.c:548
+#: builtin/ls-files.c:550
 msgid "make the output relative to the project top directory"
 msgstr "mostrar os caminhos relativamente ao diretório superior do projeto"
 
-#: builtin/ls-files.c:551
+#: builtin/ls-files.c:553
 msgid "recurse through submodules"
 msgstr "percorrer submódulos recursivamente"
 
-#: builtin/ls-files.c:553
+#: builtin/ls-files.c:555
 msgid "if any <file> is not in the index, treat this as an error"
 msgstr "se um <ficheiro> não estiver no índice, tratar como erro"
 
-#: builtin/ls-files.c:554
+#: builtin/ls-files.c:556
 msgid "tree-ish"
 msgstr "árvore-etc"
 
-#: builtin/ls-files.c:555
+#: builtin/ls-files.c:557
 msgid "pretend that paths removed since <tree-ish> are still present"
 msgstr ""
 "fingir que os caminhos removidos desde <árvore-etc> ainda estão presentes"
 
-#: builtin/ls-files.c:557
+#: builtin/ls-files.c:559
 msgid "show debugging data"
 msgstr "mostrar dados de depuração"
 
@@ -9120,35 +9508,35 @@
 msgid "git ls-tree [<options>] <tree-ish> [<path>...]"
 msgstr "git ls-tree [<opções>] <árvore-etc> [<caminho>...]"
 
-#: builtin/ls-tree.c:128
+#: builtin/ls-tree.c:126
 msgid "only show trees"
 msgstr "mostrar apenas árvores"
 
-#: builtin/ls-tree.c:130
+#: builtin/ls-tree.c:128
 msgid "recurse into subtrees"
 msgstr "percorrer as subárvores recursivamente"
 
-#: builtin/ls-tree.c:132
+#: builtin/ls-tree.c:130
 msgid "show trees when recursing"
 msgstr "mostrar árvores ao percorrer"
 
-#: builtin/ls-tree.c:135
+#: builtin/ls-tree.c:133
 msgid "terminate entries with NUL byte"
 msgstr "terminar entradas com o byte NUL"
 
-#: builtin/ls-tree.c:136
+#: builtin/ls-tree.c:134
 msgid "include object size"
 msgstr "incluir dimensão dos objetos"
 
-#: builtin/ls-tree.c:138 builtin/ls-tree.c:140
+#: builtin/ls-tree.c:136 builtin/ls-tree.c:138
 msgid "list only filenames"
 msgstr "listar apenas os nomes de ficheiro"
 
-#: builtin/ls-tree.c:143
+#: builtin/ls-tree.c:141
 msgid "use full path names"
 msgstr "usar nomes de caminho completos"
 
-#: builtin/ls-tree.c:145
+#: builtin/ls-tree.c:143
 msgid "list entire tree; not just current directory (implies --full-name)"
 msgstr ""
 "mostrar a árvore completa; não apenas o diretório atual (implica --full-name)"
@@ -9165,164 +9553,172 @@
 msgid "git merge --abort"
 msgstr "git merge --abort"
 
-#: builtin/merge.c:102
+#: builtin/merge.c:49
+msgid "git merge --continue"
+msgstr "git merge --continue"
+
+#: builtin/merge.c:104
 msgid "switch `m' requires a value"
 msgstr "a opção 'm' requer um valor"
 
-#: builtin/merge.c:139
+#: builtin/merge.c:141
 #, c-format
 msgid "Could not find merge strategy '%s'.\n"
 msgstr "Estratégia de integração '%s' não encontrada.\n"
 
-#: builtin/merge.c:140
+#: builtin/merge.c:142
 #, c-format
 msgid "Available strategies are:"
 msgstr "Estratégias disponíveis:"
 
-#: builtin/merge.c:145
+#: builtin/merge.c:147
 #, c-format
 msgid "Available custom strategies are:"
 msgstr "Estratégias personalizadas disponíveis:"
 
-#: builtin/merge.c:195 builtin/pull.c:127
+#: builtin/merge.c:197 builtin/pull.c:127
 msgid "do not show a diffstat at the end of the merge"
 msgstr "não apresentar um diffstat ao fim da integração"
 
-#: builtin/merge.c:198 builtin/pull.c:130
+#: builtin/merge.c:200 builtin/pull.c:130
 msgid "show a diffstat at the end of the merge"
 msgstr "mostrar um diffstat ao fim da integração"
 
-#: builtin/merge.c:199 builtin/pull.c:133
+#: builtin/merge.c:201 builtin/pull.c:133
 msgid "(synonym to --stat)"
 msgstr "(sinónimo de --stat)"
 
-#: builtin/merge.c:201 builtin/pull.c:136
+#: builtin/merge.c:203 builtin/pull.c:136
 msgid "add (at most <n>) entries from shortlog to merge commit message"
 msgstr ""
 "adicionar (no máximo <n>) entradas do shortlog à mensagem de commit da "
 "integração"
 
-#: builtin/merge.c:204 builtin/pull.c:139
+#: builtin/merge.c:206 builtin/pull.c:139
 msgid "create a single commit instead of doing a merge"
 msgstr "criar um único commit em vez de realizar uma integração"
 
-#: builtin/merge.c:206 builtin/pull.c:142
+#: builtin/merge.c:208 builtin/pull.c:142
 msgid "perform a commit if the merge succeeds (default)"
 msgstr "realizar um commit se a integração for bem sucedida (predefinição)"
 
-#: builtin/merge.c:208 builtin/pull.c:145
+#: builtin/merge.c:210 builtin/pull.c:145
 msgid "edit message before committing"
 msgstr "editar a mensagem antes de submeter"
 
-#: builtin/merge.c:209
+#: builtin/merge.c:211
 msgid "allow fast-forward (default)"
 msgstr "permitir avanço rápido (predefinição)"
 
-#: builtin/merge.c:211 builtin/pull.c:151
+#: builtin/merge.c:213 builtin/pull.c:151
 msgid "abort if fast-forward is not possible"
 msgstr "abortar se não é possível efetuar avanço rápido"
 
-#: builtin/merge.c:215 builtin/pull.c:154
+#: builtin/merge.c:217 builtin/pull.c:154
 msgid "verify that the named commit has a valid GPG signature"
 msgstr "verificar se o commit tem uma assinatura GPG válida"
 
-#: builtin/merge.c:216 builtin/notes.c:774 builtin/pull.c:158
+#: builtin/merge.c:218 builtin/notes.c:774 builtin/pull.c:158
 #: builtin/revert.c:89
 msgid "strategy"
 msgstr "estratégia"
 
-#: builtin/merge.c:217 builtin/pull.c:159
+#: builtin/merge.c:219 builtin/pull.c:159
 msgid "merge strategy to use"
 msgstr "estratégia de integração a usar"
 
-#: builtin/merge.c:218 builtin/pull.c:162
+#: builtin/merge.c:220 builtin/pull.c:162
 msgid "option=value"
 msgstr "opção=valor"
 
-#: builtin/merge.c:219 builtin/pull.c:163
+#: builtin/merge.c:221 builtin/pull.c:163
 msgid "option for selected merge strategy"
 msgstr "opções da estratégia de integração selecionada"
 
-#: builtin/merge.c:221
+#: builtin/merge.c:223
 msgid "merge commit message (for a non-fast-forward merge)"
 msgstr "mensagem de commit (de integração não suscetível a avanço rápido)"
 
-#: builtin/merge.c:225
+#: builtin/merge.c:227
 msgid "abort the current in-progress merge"
 msgstr "abortar integração em curso"
 
-#: builtin/merge.c:227 builtin/pull.c:170
+#: builtin/merge.c:229
+msgid "continue the current in-progress merge"
+msgstr "continuar a integração em curso"
+
+#: builtin/merge.c:231 builtin/pull.c:170
 msgid "allow merging unrelated histories"
 msgstr "permitir integração de históricos não relacionados"
 
-#: builtin/merge.c:255
+#: builtin/merge.c:259
 msgid "could not run stash."
 msgstr "não foi possível executar o comando stash."
 
-#: builtin/merge.c:260
+#: builtin/merge.c:264
 msgid "stash failed"
 msgstr "falha ao executar o comando stash"
 
-#: builtin/merge.c:265
+#: builtin/merge.c:269
 #, c-format
 msgid "not a valid object: %s"
 msgstr "nome de objeto inválido: %s"
 
-#: builtin/merge.c:284 builtin/merge.c:301
+#: builtin/merge.c:288 builtin/merge.c:305
 msgid "read-tree failed"
 msgstr "falha ao executar o comando read-tree"
 
-#: builtin/merge.c:331
+#: builtin/merge.c:335
 msgid " (nothing to squash)"
 msgstr " (não há nada para esmagar)"
 
-#: builtin/merge.c:342
+#: builtin/merge.c:346
 #, c-format
 msgid "Squash commit -- not updating HEAD\n"
 msgstr "Commit esmagado -- HEAD não atualizada\n"
 
-#: builtin/merge.c:392
+#: builtin/merge.c:396
 #, c-format
 msgid "No merge message -- not updating HEAD\n"
 msgstr "Nenhuma mensagem de integração -- HEAD não atualizada\n"
 
-#: builtin/merge.c:443
+#: builtin/merge.c:447
 #, c-format
 msgid "'%s' does not point to a commit"
 msgstr "'%s' não aponta para um commit"
 
-#: builtin/merge.c:533
+#: builtin/merge.c:537
 #, c-format
 msgid "Bad branch.%s.mergeoptions string: %s"
 msgstr "Valor de branch.%s.mergeoptions incorreto: %s"
 
-#: builtin/merge.c:652
+#: builtin/merge.c:656
 msgid "Not handling anything other than two heads merge."
 msgstr "Não se processa outra coisa senão incorporação de duas cabeças."
 
-#: builtin/merge.c:666
+#: builtin/merge.c:670
 #, c-format
 msgid "Unknown option for merge-recursive: -X%s"
 msgstr "Opção desconhecida de merge-recursive: -X%s"
 
-#: builtin/merge.c:681
+#: builtin/merge.c:685
 #, c-format
 msgid "unable to write %s"
 msgstr "não foi possível escrever %s"
 
-#: builtin/merge.c:733
+#: builtin/merge.c:737
 #, c-format
 msgid "Could not read from '%s'"
 msgstr "Não foi possível ler '%s'"
 
-#: builtin/merge.c:742
+#: builtin/merge.c:746
 #, c-format
 msgid "Not committing merge; use 'git commit' to complete the merge.\n"
 msgstr ""
 "Commit de integração não realizado; use 'git commit' para concluir a "
 "integração.\n"
 
-#: builtin/merge.c:748
+#: builtin/merge.c:752
 #, c-format
 msgid ""
 "Please enter a commit message to explain why this merge is necessary,\n"
@@ -9338,68 +9734,80 @@
 "Linhas começadas com '%c' são ignoradas e uma mensagem vazia\n"
 "aborta o commit.\n"
 
-#: builtin/merge.c:772
+#: builtin/merge.c:776
 msgid "Empty commit message."
 msgstr "Mensagem de commit vazia."
 
-#: builtin/merge.c:792
+#: builtin/merge.c:796
 #, c-format
 msgid "Wonderful.\n"
 msgstr "Maravilhoso.\n"
 
-#: builtin/merge.c:847
+#: builtin/merge.c:851
 #, c-format
 msgid "Automatic merge failed; fix conflicts and then commit the result.\n"
 msgstr ""
 "Falha ao realizar integração automática; corrija os conflitos e submeta o "
 "resultado.\n"
 
-#: builtin/merge.c:863
+#: builtin/merge.c:867
 #, c-format
 msgid "'%s' is not a commit"
 msgstr "'%s' não é um commit"
 
-#: builtin/merge.c:904
+#: builtin/merge.c:908
 msgid "No current branch."
 msgstr "Nenhum ramo atual."
 
-#: builtin/merge.c:906
+#: builtin/merge.c:910
 msgid "No remote for the current branch."
 msgstr "Não há um remoto para o ramo atual."
 
-#: builtin/merge.c:908
+#: builtin/merge.c:912
 msgid "No default upstream defined for the current branch."
 msgstr "Não está definido nenhum ramo a montante para o ramo atual."
 
-#: builtin/merge.c:913
+#: builtin/merge.c:917
 #, c-format
 msgid "No remote-tracking branch for %s from %s"
 msgstr "Nenhum ramo de monitorização remoto seguido por %s de %s"
 
-#: builtin/merge.c:960
+#: builtin/merge.c:964
 #, c-format
 msgid "Bad value '%s' in environment '%s'"
 msgstr "Valor '%s' incorreto no ambiente '%s'"
 
-#: builtin/merge.c:1034
+#: builtin/merge.c:1038
 #, c-format
 msgid "could not close '%s'"
 msgstr "não foi possível fechar '%s'"
 
-#: builtin/merge.c:1061
+#: builtin/merge.c:1065
 #, c-format
 msgid "not something we can merge in %s: %s"
 msgstr "não se pode integrar em %s: %s"
 
-#: builtin/merge.c:1095
+#: builtin/merge.c:1099
 msgid "not something we can merge"
 msgstr "não se pode integrar"
 
-#: builtin/merge.c:1162
+#: builtin/merge.c:1167
+msgid "--abort expects no arguments"
+msgstr "--abort não leva argumentos"
+
+#: builtin/merge.c:1171
 msgid "There is no merge to abort (MERGE_HEAD missing)."
 msgstr "Não há nenhuma integração para se abortar (MERGE_HEAD não presente)."
 
-#: builtin/merge.c:1178
+#: builtin/merge.c:1183
+msgid "--continue expects no arguments"
+msgstr "--continue não leva argumentos"
+
+#: builtin/merge.c:1187
+msgid "There is no merge in progress (MERGE_HEAD missing)."
+msgstr "Não há nenhuma integração em curso (MERGE_HEAD não presente)."
+
+#: builtin/merge.c:1203
 msgid ""
 "You have not concluded your merge (MERGE_HEAD exists).\n"
 "Please, commit your changes before you merge."
@@ -9407,7 +9815,7 @@
 "Não concluiu a integração (MERGE_HEAD presente).\n"
 "Submeta as suas alterações antes de integrar."
 
-#: builtin/merge.c:1185
+#: builtin/merge.c:1210
 msgid ""
 "You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists).\n"
 "Please, commit your changes before you merge."
@@ -9415,122 +9823,122 @@
 "Cherry-pick não concluído (CHERRY_PICK_HEAD presente).\n"
 "Submeta as suas alterações antes de integrar."
 
-#: builtin/merge.c:1188
+#: builtin/merge.c:1213
 msgid "You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists)."
 msgstr "Cherry-pick não concluído (CHERRY_PICK_HEAD presente)."
 
-#: builtin/merge.c:1197
+#: builtin/merge.c:1222
 msgid "You cannot combine --squash with --no-ff."
 msgstr "Não é possível combinar --squash e --no-ff."
 
-#: builtin/merge.c:1205
+#: builtin/merge.c:1230
 msgid "No commit specified and merge.defaultToUpstream not set."
 msgstr "Nenhum commit especificado e merge.defaultToUpstream não definido."
 
-#: builtin/merge.c:1222
+#: builtin/merge.c:1247
 msgid "Squash commit into empty head not supported yet"
 msgstr "Esmagar um commit numa cabeça vazia ainda não é suportado"
 
-#: builtin/merge.c:1224
+#: builtin/merge.c:1249
 msgid "Non-fast-forward commit does not make sense into an empty head"
 msgstr ""
 "Não faz sentido submeter de modo não suscetível a avanço rápido, numa cabeça "
 "vazia"
 
-#: builtin/merge.c:1229
+#: builtin/merge.c:1254
 #, c-format
 msgid "%s - not something we can merge"
 msgstr "%s - não é algo se possa integrar"
 
-#: builtin/merge.c:1231
+#: builtin/merge.c:1256
 msgid "Can merge only exactly one commit into empty head"
 msgstr "Só se pode integrar exatamente um commit numa cabeça vazia"
 
-#: builtin/merge.c:1287
+#: builtin/merge.c:1312
 #, c-format
 msgid "Commit %s has an untrusted GPG signature, allegedly by %s."
 msgstr ""
 "A assinatura GPG do commit %s, alegadamente assinada por %s, não é de "
 "confiança."
 
-#: builtin/merge.c:1290
+#: builtin/merge.c:1315
 #, c-format
 msgid "Commit %s has a bad GPG signature allegedly by %s."
 msgstr ""
 "A assinatura GPG do commit %s, alegadamente assinada por %s, está incorreta."
 
-#: builtin/merge.c:1293
+#: builtin/merge.c:1318
 #, c-format
 msgid "Commit %s does not have a GPG signature."
 msgstr "O commit %s não tem uma assinatura GPG."
 
-#: builtin/merge.c:1296
+#: builtin/merge.c:1321
 #, c-format
 msgid "Commit %s has a good GPG signature by %s\n"
 msgstr "A assinatura GPG do commit %s por %s está correta\n"
 
-#: builtin/merge.c:1358
+#: builtin/merge.c:1383
 msgid "refusing to merge unrelated histories"
 msgstr "integração de históricos não relacionados recusada"
 
-#: builtin/merge.c:1367
+#: builtin/merge.c:1392
 msgid "Already up-to-date."
 msgstr "Já está atualizado."
 
-#: builtin/merge.c:1377
+#: builtin/merge.c:1402
 #, c-format
 msgid "Updating %s..%s\n"
 msgstr "A atualizar %s..%s\n"
 
-#: builtin/merge.c:1418
+#: builtin/merge.c:1443
 #, c-format
 msgid "Trying really trivial in-index merge...\n"
 msgstr "A tentar integração mesmo trivial no interior do índice...\n"
 
-#: builtin/merge.c:1425
+#: builtin/merge.c:1450
 #, c-format
 msgid "Nope.\n"
 msgstr "Não.\n"
 
-#: builtin/merge.c:1450
+#: builtin/merge.c:1475
 msgid "Already up-to-date. Yeeah!"
 msgstr "Já está atualizado. Sim!"
 
-#: builtin/merge.c:1456
+#: builtin/merge.c:1481
 msgid "Not possible to fast-forward, aborting."
 msgstr "Não é possível avançar rapidamente, a abortar."
 
-#: builtin/merge.c:1479 builtin/merge.c:1558
+#: builtin/merge.c:1504 builtin/merge.c:1583
 #, c-format
 msgid "Rewinding the tree to pristine...\n"
 msgstr "A recuar a árvore ao seu estado original...\n"
 
-#: builtin/merge.c:1483
+#: builtin/merge.c:1508
 #, c-format
 msgid "Trying merge strategy %s...\n"
 msgstr "A tentar a estratégia de integração %s...\n"
 
-#: builtin/merge.c:1549
+#: builtin/merge.c:1574
 #, c-format
 msgid "No merge strategy handled the merge.\n"
 msgstr "Nenhuma estratégia de integração conseguiu processar a integração.\n"
 
-#: builtin/merge.c:1551
+#: builtin/merge.c:1576
 #, c-format
 msgid "Merge with strategy %s failed.\n"
 msgstr "Falha ao integrar com a estratégia %s.\n"
 
-#: builtin/merge.c:1560
+#: builtin/merge.c:1585
 #, c-format
 msgid "Using the %s to prepare resolving by hand.\n"
 msgstr "A usar %s para preparar resolução manual.\n"
 
-#: builtin/merge.c:1572
+#: builtin/merge.c:1597
 #, c-format
 msgid "Automatic merge went well; stopped before committing as requested\n"
 msgstr ""
-"A integração automática foi bem sucedida; interrompida antes de submeter "
-"como solicitado\n"
+"A integração automática foi bem sucedida; interrompida antes de submeter como "
+"solicitado\n"
 
 #: builtin/merge-base.c:29
 msgid "git merge-base [-a | --all] <commit> <commit>..."
@@ -9660,95 +10068,94 @@
 msgid "allow creation of more than one tree"
 msgstr "permitir a criação de mais do que uma árvore"
 
-#: builtin/mv.c:15
+#: builtin/mv.c:16
 msgid "git mv [<options>] <source>... <destination>"
 msgstr "git mv [<opções>] <origem>... <destino>"
 
-#: builtin/mv.c:70
+#: builtin/mv.c:82
 #, c-format
 msgid "Directory %s is in index and no submodule?"
 msgstr "O diretório %s está no índice porém nenhum submódulo?"
 
-#: builtin/mv.c:72 builtin/rm.c:317
+#: builtin/mv.c:84 builtin/rm.c:290
 msgid "Please stage your changes to .gitmodules or stash them to proceed"
-msgstr ""
-"Prepare as suas alterações em .gitmodules ou esconda-as para prosseguir"
+msgstr "Prepare as suas alterações em .gitmodules ou esconda-as para prosseguir"
 
-#: builtin/mv.c:90
+#: builtin/mv.c:102
 #, c-format
 msgid "%.*s is in index"
 msgstr "%.*s está no índice"
 
-#: builtin/mv.c:112
+#: builtin/mv.c:124
 msgid "force move/rename even if target exists"
 msgstr "forçar mover/mudar o nome mesmo que o destino exista"
 
-#: builtin/mv.c:113
+#: builtin/mv.c:125
 msgid "skip move/rename errors"
 msgstr "ignorar erros ao mover/mudar o nome"
 
-#: builtin/mv.c:155
+#: builtin/mv.c:167
 #, c-format
 msgid "destination '%s' is not a directory"
 msgstr "o destino '%s' não é um diretório"
 
-#: builtin/mv.c:166
+#: builtin/mv.c:178
 #, c-format
 msgid "Checking rename of '%s' to '%s'\n"
 msgstr "A verificar a mudança de nome de '%s' para '%s'\n"
 
-#: builtin/mv.c:170
+#: builtin/mv.c:182
 msgid "bad source"
 msgstr "origem incorreta"
 
-#: builtin/mv.c:173
+#: builtin/mv.c:185
 msgid "can not move directory into itself"
 msgstr "não é possível mover um diretório para dentro de si próprio"
 
-#: builtin/mv.c:176
+#: builtin/mv.c:188
 msgid "cannot move directory over file"
 msgstr "não é possível mover um diretório para um ficheiro"
 
-#: builtin/mv.c:185
+#: builtin/mv.c:197
 msgid "source directory is empty"
 msgstr "o diretório de origem está vazio"
 
-#: builtin/mv.c:210
+#: builtin/mv.c:222
 msgid "not under version control"
 msgstr "não está no controlo de versões"
 
-#: builtin/mv.c:213
+#: builtin/mv.c:225
 msgid "destination exists"
 msgstr "o destino já existe"
 
-#: builtin/mv.c:221
+#: builtin/mv.c:233
 #, c-format
 msgid "overwriting '%s'"
 msgstr "a substituir '%s'"
 
-#: builtin/mv.c:224
+#: builtin/mv.c:236
 msgid "Cannot overwrite"
 msgstr "Não é possível substituir"
 
-#: builtin/mv.c:227
+#: builtin/mv.c:239
 msgid "multiple sources for the same target"
 msgstr "múltiplas origens para o mesmo destino"
 
-#: builtin/mv.c:229
+#: builtin/mv.c:241
 msgid "destination directory does not exist"
 msgstr "o diretório de destino não existe"
 
-#: builtin/mv.c:236
+#: builtin/mv.c:248
 #, c-format
 msgid "%s, source=%s, destination=%s"
 msgstr "%s, origem=%s, destino=%s"
 
-#: builtin/mv.c:257
+#: builtin/mv.c:269
 #, c-format
 msgid "Renaming %s to %s\n"
 msgstr "A mudar de nome de %s para %s\n"
 
-#: builtin/mv.c:263 builtin/remote.c:710 builtin/repack.c:375
+#: builtin/mv.c:275 builtin/remote.c:710 builtin/repack.c:384
 #, c-format
 msgid "renaming '%s' failed"
 msgstr "falha ao mudar o nome de '%s'"
@@ -9934,12 +10341,12 @@
 msgid "the note contents have been left in %s"
 msgstr "o conteúdo da nota foi colocado em %s"
 
-#: builtin/notes.c:233 builtin/tag.c:439
+#: builtin/notes.c:233 builtin/tag.c:460
 #, c-format
 msgid "cannot read '%s'"
 msgstr "não é possível ler '%s'"
 
-#: builtin/notes.c:235 builtin/tag.c:442
+#: builtin/notes.c:235 builtin/tag.c:463
 #, c-format
 msgid "could not open or read '%s'"
 msgstr "não foi possível abrir ou ler '%s'"
@@ -10019,8 +10426,8 @@
 "Cannot add notes. Found existing notes for object %s. Use '-f' to overwrite "
 "existing notes"
 msgstr ""
-"Não é possível adicionar notas. Notas do objeto %s encontradas. Use '-f' "
-"para substituí-las."
+"Não é possível adicionar notas. Notas do objeto %s encontradas. Use '-f' para "
+"substituí-las."
 
 #: builtin/notes.c:452 builtin/notes.c:531
 #, c-format
@@ -10117,8 +10524,8 @@
 "resolve notes conflicts using the given strategy (manual/ours/theirs/union/"
 "cat_sort_uniq)"
 msgstr ""
-"resolver conflitos nas notas usando a estratégia indicada (manual/ours/"
-"theirs/union/cat_sort_uniq)"
+"resolver conflitos nas notas usando a estratégia indicada (manual/ours/theirs/"
+"union/cat_sort_uniq)"
 
 #: builtin/notes.c:777
 msgid "Committing unmerged notes"
@@ -10166,9 +10573,9 @@
 "'git notes merge --commit', or abort the merge with 'git notes merge --"
 "abort'.\n"
 msgstr ""
-"A integração automática de notas falhou. Corrija os conflitos em %s e "
-"submeta o resultado com 'git notes merge --commit' ou aborte a integração "
-"com 'git notes merge --abort'.\n"
+"A integração automática de notas falhou. Corrija os conflitos em %s e submeta "
+"o resultado com 'git notes merge --commit' ou aborte a integração com 'git "
+"notes merge --abort'.\n"
 
 #: builtin/notes.c:887
 #, c-format
@@ -10218,182 +10625,182 @@
 "git pack-objects [<opções>...] <nome-base> [< <lista-referências> | < <lista-"
 "objetos>]"
 
-#: builtin/pack-objects.c:179 builtin/pack-objects.c:182
+#: builtin/pack-objects.c:177 builtin/pack-objects.c:180
 #, c-format
 msgid "deflate error (%d)"
 msgstr "erro ao compactar (%d)"
 
-#: builtin/pack-objects.c:768
+#: builtin/pack-objects.c:766
 msgid "disabling bitmap writing, packs are split due to pack.packSizeLimit"
 msgstr ""
 "a desativar escrita de mapa de bits, os pacotes são divididos devido a pack."
 "packSizeLimit"
 
-#: builtin/pack-objects.c:781
+#: builtin/pack-objects.c:779
 msgid "Writing objects"
 msgstr "A escrever objetos"
 
-#: builtin/pack-objects.c:1070
+#: builtin/pack-objects.c:1068
 msgid "disabling bitmap writing, as some objects are not being packed"
 msgstr ""
-"a desativar escrita de mapa de bits, visto que alguns objetos não estão a "
-"ser compactados"
+"a desativar escrita de mapa de bits, visto que alguns objetos não estão a ser "
+"compactados"
 
-#: builtin/pack-objects.c:2346
+#: builtin/pack-objects.c:2344
 msgid "Compressing objects"
 msgstr "A comprimir objetos"
 
-#: builtin/pack-objects.c:2759
+#: builtin/pack-objects.c:2747
 #, c-format
 msgid "unsupported index version %s"
 msgstr "versão de índice %s não suportada"
 
-#: builtin/pack-objects.c:2763
+#: builtin/pack-objects.c:2751
 #, c-format
 msgid "bad index version '%s'"
 msgstr "versão de índice '%s' incorreta"
 
-#: builtin/pack-objects.c:2793
+#: builtin/pack-objects.c:2781
 msgid "do not show progress meter"
 msgstr "não mostrar medidor de progresso"
 
-#: builtin/pack-objects.c:2795
+#: builtin/pack-objects.c:2783
 msgid "show progress meter"
 msgstr "mostrar medidor de progresso"
 
-#: builtin/pack-objects.c:2797
+#: builtin/pack-objects.c:2785
 msgid "show progress meter during object writing phase"
 msgstr "mostrar medidor de progresso durante a fase de escrita de objetos"
 
-#: builtin/pack-objects.c:2800
+#: builtin/pack-objects.c:2788
 msgid "similar to --all-progress when progress meter is shown"
 msgstr "semelhante a --all-progress quando o medidor de progresso é mostrado"
 
-#: builtin/pack-objects.c:2801
+#: builtin/pack-objects.c:2789
 msgid "version[,offset]"
 msgstr "versão[,offset]"
 
-#: builtin/pack-objects.c:2802
+#: builtin/pack-objects.c:2790
 msgid "write the pack index file in the specified idx format version"
 msgstr ""
 "escrever o ficheiro de índice do pacote na versão de formato especificada"
 
-#: builtin/pack-objects.c:2805
+#: builtin/pack-objects.c:2793
 msgid "maximum size of each output pack file"
 msgstr "tamanho máximo de cada ficheiro de pacote gerado"
 
-#: builtin/pack-objects.c:2807
+#: builtin/pack-objects.c:2795
 msgid "ignore borrowed objects from alternate object store"
 msgstr "ignorar objetos emprestados do arquivo de objetos sobressalentes"
 
-#: builtin/pack-objects.c:2809
+#: builtin/pack-objects.c:2797
 msgid "ignore packed objects"
 msgstr "ignorar objetos compactados"
 
-#: builtin/pack-objects.c:2811
+#: builtin/pack-objects.c:2799
 msgid "limit pack window by objects"
 msgstr "limitar a janela de compactação por objetos"
 
-#: builtin/pack-objects.c:2813
+#: builtin/pack-objects.c:2801
 msgid "limit pack window by memory in addition to object limit"
 msgstr ""
 "limitar a janela de compactação por memória em adição ao limite por objetos"
 
-#: builtin/pack-objects.c:2815
+#: builtin/pack-objects.c:2803
 msgid "maximum length of delta chain allowed in the resulting pack"
 msgstr "tamanho máximo de cadeias delta permitidas no pacote resultante"
 
-#: builtin/pack-objects.c:2817
+#: builtin/pack-objects.c:2805
 msgid "reuse existing deltas"
 msgstr "reutilizar deltas existentes"
 
-#: builtin/pack-objects.c:2819
+#: builtin/pack-objects.c:2807
 msgid "reuse existing objects"
 msgstr "reutilizar objetos existentes"
 
-#: builtin/pack-objects.c:2821
+#: builtin/pack-objects.c:2809
 msgid "use OFS_DELTA objects"
 msgstr "usar objetos OFS_DELTA"
 
-#: builtin/pack-objects.c:2823
+#: builtin/pack-objects.c:2811
 msgid "use threads when searching for best delta matches"
 msgstr "usar threads ao procurar pela melhor correspondência delta"
 
-#: builtin/pack-objects.c:2825
+#: builtin/pack-objects.c:2813
 msgid "do not create an empty pack output"
 msgstr "não criar um pacote vazio"
 
-#: builtin/pack-objects.c:2827
+#: builtin/pack-objects.c:2815
 msgid "read revision arguments from standard input"
 msgstr "ler argumentos de revisão da entrada padrão"
 
-#: builtin/pack-objects.c:2829
+#: builtin/pack-objects.c:2817
 msgid "limit the objects to those that are not yet packed"
 msgstr "restringir-se aos objetos que ainda não foram compactados"
 
-#: builtin/pack-objects.c:2832
+#: builtin/pack-objects.c:2820
 msgid "include objects reachable from any reference"
 msgstr "incluir objetos alcançáveis a partir de qualquer referência"
 
-#: builtin/pack-objects.c:2835
+#: builtin/pack-objects.c:2823
 msgid "include objects referred by reflog entries"
 msgstr "incluir objetos referenciados por entradas do reflog"
 
-#: builtin/pack-objects.c:2838
+#: builtin/pack-objects.c:2826
 msgid "include objects referred to by the index"
 msgstr "incluir objetos referenciados pelo índice"
 
-#: builtin/pack-objects.c:2841
+#: builtin/pack-objects.c:2829
 msgid "output pack to stdout"
 msgstr "gerar pacote para a saída padrão"
 
-#: builtin/pack-objects.c:2843
+#: builtin/pack-objects.c:2831
 msgid "include tag objects that refer to objects to be packed"
 msgstr "incluir objetos tag que refiram objetos a compactar"
 
-#: builtin/pack-objects.c:2845
+#: builtin/pack-objects.c:2833
 msgid "keep unreachable objects"
 msgstr "manter objetos inalcançáveis"
 
-#: builtin/pack-objects.c:2847
+#: builtin/pack-objects.c:2835
 msgid "pack loose unreachable objects"
 msgstr "empacotar objetos soltos inalcançáveis"
 
-#: builtin/pack-objects.c:2849
+#: builtin/pack-objects.c:2837
 msgid "unpack unreachable objects newer than <time>"
-msgstr "descompactar objetos inalcançáveis mais recentes que <hora>"
+msgstr "descompactar objetos inalcançáveis mais recentes que <tempo>"
 
-#: builtin/pack-objects.c:2852
+#: builtin/pack-objects.c:2840
 msgid "create thin packs"
 msgstr "criar pacotes finos"
 
-#: builtin/pack-objects.c:2854
+#: builtin/pack-objects.c:2842
 msgid "create packs suitable for shallow fetches"
 msgstr "criar pacotes adequados para obter em repositórios pouco profundos"
 
-#: builtin/pack-objects.c:2856
+#: builtin/pack-objects.c:2844
 msgid "ignore packs that have companion .keep file"
 msgstr "ignorar pacotes que tenham um ficheiro .keep"
 
-#: builtin/pack-objects.c:2858
+#: builtin/pack-objects.c:2846
 msgid "pack compression level"
 msgstr "nível de compactação do pacote"
 
-#: builtin/pack-objects.c:2860
+#: builtin/pack-objects.c:2848
 msgid "do not hide commits by grafts"
 msgstr "não esconder commits introduzidos por enxertos"
 
-#: builtin/pack-objects.c:2862
+#: builtin/pack-objects.c:2850
 msgid "use a bitmap index if available to speed up counting objects"
 msgstr ""
 "usar um índice de mapa de bits se disponível, para acelerar a contagem de "
 "objetos"
 
-#: builtin/pack-objects.c:2864
+#: builtin/pack-objects.c:2852
 msgid "write a bitmap index together with the pack index"
 msgstr "escrever um índice de mapa de bits juntamente com o índice do pacote"
 
-#: builtin/pack-objects.c:2993
+#: builtin/pack-objects.c:2979
 msgid "Counting objects"
 msgstr "A contar objetos"
 
@@ -10419,15 +10826,15 @@
 
 #: builtin/prune.c:11
 msgid "git prune [-n] [-v] [--expire <time>] [--] [<head>...]"
-msgstr "git prune [-n] [-v] [--expire <hora>] [--] [<head>...]"
+msgstr "git prune [-n] [-v] [--expire <tempo>] [--] [<head>...]"
 
-#: builtin/prune.c:106 builtin/worktree.c:128
+#: builtin/prune.c:106
 msgid "report pruned objects"
 msgstr "apresentar objetos eliminados"
 
-#: builtin/prune.c:109 builtin/worktree.c:130
+#: builtin/prune.c:109
 msgid "expire objects older than <time>"
-msgstr "expirar objetos mais antigos que <hora>"
+msgstr "expirar objetos mais antigos que <tempo>"
 
 #: builtin/prune.c:123
 msgid "cannot prune in a precious-objects repo"
@@ -10526,7 +10933,7 @@
 msgid "<remote>"
 msgstr "<remoto>"
 
-#: builtin/pull.c:415 builtin/pull.c:430 builtin/pull.c:435 git-rebase.sh:451
+#: builtin/pull.c:415 builtin/pull.c:430 builtin/pull.c:435 git-rebase.sh:455
 #: git-parse-remote.sh:65
 msgid "<branch>"
 msgstr "<ramo>"
@@ -10539,8 +10946,7 @@
 msgid ""
 "If you wish to set tracking information for this branch you can do so with:"
 msgstr ""
-"Se deseja definir o ramo que deve ser seguido por este ramo, pode fazê-lo "
-"com:"
+"Se deseja definir o ramo que deve ser seguido por este ramo, pode fazê-lo com:"
 
 #: builtin/pull.c:437
 #, c-format
@@ -10698,14 +11104,14 @@
 "do ramo atual '%s'. Deve indicar o que pretende publicar e que ramo\n"
 "remoto atualizar."
 
-#: builtin/push.c:242
+#: builtin/push.c:245
 msgid ""
 "You didn't specify any refspecs to push, and push.default is \"nothing\"."
 msgstr ""
 "Não indicou nenhum especificador de referência para publicar e o valor de "
 "push.default é \"nothing\"."
 
-#: builtin/push.c:249
+#: builtin/push.c:252
 msgid ""
 "Updates were rejected because the tip of your current branch is behind\n"
 "its remote counterpart. Integrate the remote changes (e.g.\n"
@@ -10717,7 +11123,7 @@
 "'git pull ...') antes de publicar de novo.\n"
 "Consulte 'Note about fast-forwards' em 'git push --help' para obter detalhes."
 
-#: builtin/push.c:255
+#: builtin/push.c:258
 msgid ""
 "Updates were rejected because a pushed branch tip is behind its remote\n"
 "counterpart. Check out this branch and integrate the remote changes\n"
@@ -10729,7 +11135,7 @@
 "as alterações remotas (e.g. 'git pull ...') antes de publicar de novo.\n"
 "Consulte 'Note about fast-forwards' em 'git push --help' para obter detalhes."
 
-#: builtin/push.c:261
+#: builtin/push.c:264
 msgid ""
 "Updates were rejected because the remote contains work that you do\n"
 "not have locally. This is usually caused by another repository pushing\n"
@@ -10744,11 +11150,11 @@
 "(e.g., 'git pull ...') antes de publicar de novo.\n"
 "Consulte 'Note about fast-forwards' em 'git push --help' para obter detalhes."
 
-#: builtin/push.c:268
+#: builtin/push.c:271
 msgid "Updates were rejected because the tag already exists in the remote."
 msgstr "As atualizações foram rejeitadas porque a tag já existe no remoto."
 
-#: builtin/push.c:271
+#: builtin/push.c:274
 msgid ""
 "You cannot update a remote ref that points at a non-commit object,\n"
 "or update a remote ref to make it point at a non-commit object,\n"
@@ -10758,26 +11164,26 @@
 "objeto não commit, ou atualizar uma referência remota fazendo-a\n"
 "apontar para um objeto não commit, sem usar a opção '--force'.\n"
 
-#: builtin/push.c:331
+#: builtin/push.c:334
 #, c-format
 msgid "Pushing to %s\n"
 msgstr "A publicar em %s\n"
 
-#: builtin/push.c:335
+#: builtin/push.c:338
 #, c-format
 msgid "failed to push some refs to '%s'"
 msgstr "falha ao publicar algumas referências em '%s'"
 
-#: builtin/push.c:366
+#: builtin/push.c:369
 #, c-format
 msgid "bad repository '%s'"
 msgstr "repositório '%s' incorreto"
 
-#: builtin/push.c:367
+#: builtin/push.c:370
 msgid ""
 "No configured push destination.\n"
-"Either specify the URL from the command-line or configure a remote "
-"repository using\n"
+"Either specify the URL from the command-line or configure a remote repository "
+"using\n"
 "\n"
 "    git remote add <name> <url>\n"
 "\n"
@@ -10795,112 +11201,112 @@
 "\n"
 "    git push <nome>\n"
 
-#: builtin/push.c:385
+#: builtin/push.c:388
 msgid "--all and --tags are incompatible"
 msgstr "--all e --tags são incompatíveis"
 
-#: builtin/push.c:386
+#: builtin/push.c:389
 msgid "--all can't be combined with refspecs"
 msgstr "--all não pode ser combinado com especificadores de referências"
 
-#: builtin/push.c:391
+#: builtin/push.c:394
 msgid "--mirror and --tags are incompatible"
 msgstr "--mirror e --tags são incompatíveis"
 
-#: builtin/push.c:392
+#: builtin/push.c:395
 msgid "--mirror can't be combined with refspecs"
 msgstr "--mirror não pode ser combinado com especificadores de referências"
 
-#: builtin/push.c:397
+#: builtin/push.c:400
 msgid "--all and --mirror are incompatible"
 msgstr "--all e --mirror são incompatíveis"
 
-#: builtin/push.c:515
+#: builtin/push.c:518
 msgid "repository"
 msgstr "repositório"
 
-#: builtin/push.c:516 builtin/send-pack.c:161
+#: builtin/push.c:519 builtin/send-pack.c:161
 msgid "push all refs"
 msgstr "publicar todas as referências"
 
-#: builtin/push.c:517 builtin/send-pack.c:163
+#: builtin/push.c:520 builtin/send-pack.c:163
 msgid "mirror all refs"
 msgstr "replicar todas as referências"
 
-#: builtin/push.c:519
+#: builtin/push.c:522
 msgid "delete refs"
 msgstr "eliminar referências"
 
-#: builtin/push.c:520
+#: builtin/push.c:523
 msgid "push tags (can't be used with --all or --mirror)"
 msgstr "publicar tags (não pode ser usado com --all ou --mirror)"
 
-#: builtin/push.c:523 builtin/send-pack.c:164
+#: builtin/push.c:526 builtin/send-pack.c:164
 msgid "force updates"
 msgstr "forçar atualização"
 
-#: builtin/push.c:525 builtin/send-pack.c:175
+#: builtin/push.c:528 builtin/send-pack.c:175
 msgid "refname>:<expect"
 msgstr "nome da referência>:<esperado"
 
-#: builtin/push.c:526 builtin/send-pack.c:176
+#: builtin/push.c:529 builtin/send-pack.c:176
 msgid "require old value of ref to be at this value"
 msgstr "exigir que o antigo valor da referência tenha este valor"
 
-#: builtin/push.c:529
+#: builtin/push.c:532
 msgid "control recursive pushing of submodules"
 msgstr "controlar a publicação recursiva de submódulos"
 
-#: builtin/push.c:531 builtin/send-pack.c:169
+#: builtin/push.c:534 builtin/send-pack.c:169
 msgid "use thin pack"
 msgstr "usar pacote fino"
 
-#: builtin/push.c:532 builtin/push.c:533 builtin/send-pack.c:158
+#: builtin/push.c:535 builtin/push.c:536 builtin/send-pack.c:158
 #: builtin/send-pack.c:159
 msgid "receive pack program"
 msgstr "programa receive pack"
 
-#: builtin/push.c:534
+#: builtin/push.c:537
 msgid "set upstream for git pull/status"
 msgstr "definir o ramo a montante usado com git pull/status"
 
-#: builtin/push.c:537
+#: builtin/push.c:540
 msgid "prune locally removed refs"
 msgstr "eliminar referências removidas localmente"
 
-#: builtin/push.c:539
+#: builtin/push.c:542
 msgid "bypass pre-push hook"
 msgstr "ignorar pre-push hook"
 
-#: builtin/push.c:540
+#: builtin/push.c:543
 msgid "push missing but relevant tags"
 msgstr "publicar tags perdidas mas relevantes"
 
-#: builtin/push.c:543 builtin/send-pack.c:166
+#: builtin/push.c:546 builtin/send-pack.c:166
 msgid "GPG sign the push"
 msgstr "assinar publicação com GPG"
 
-#: builtin/push.c:545 builtin/send-pack.c:170
+#: builtin/push.c:548 builtin/send-pack.c:170
 msgid "request atomic transaction on remote side"
 msgstr "solicitar transação atómica no servidor remoto"
 
-#: builtin/push.c:546
+#: builtin/push.c:549
 msgid "server-specific"
 msgstr "específico do servidor"
 
-#: builtin/push.c:546
+#: builtin/push.c:549
 msgid "option to transmit"
 msgstr "opção para transmitir"
 
-#: builtin/push.c:560
+#: builtin/push.c:563
 msgid "--delete is incompatible with --all, --mirror and --tags"
 msgstr "--delete é incompatível com --all, --mirror e --tags"
 
-#: builtin/push.c:562
+#: builtin/push.c:565
 msgid "--delete doesn't make sense without any refs"
 msgstr "--delete não faz sentido sem uma referência"
 
-#: builtin/push.c:579
+#: builtin/push.c:584
 msgid "push options must not have new line characters"
 msgstr "as opções de publicação não podem ter carateres de nova linha"
 
@@ -10910,10 +11316,10 @@
 "[-u [--exclude-per-directory=<gitignore>] | -i]] [--no-sparse-checkout] [--"
 "index-output=<file>] (--empty | <tree-ish1> [<tree-ish2> [<tree-ish3>]])"
 msgstr ""
-"git read-tree [(-m [--trivial] [--aggressive] | --reset | --"
-"prefix=<prefixo>) [-u [--exclude-per-directory=<gitignore>] | -i]] [--no-"
-"sparse-checkout] [--index-output=<ficheiro>] (--empty | <árvore-etc1> "
-"[<árvore-etc2> [<árvore-etc3>]])"
+"git read-tree [(-m [--trivial] [--aggressive] | --reset | --prefix=<prefixo>) "
+"[-u [--exclude-per-directory=<gitignore>] | -i]] [--no-sparse-checkout] [--"
+"index-output=<ficheiro>] (--empty | <árvore-etc1> [<árvore-etc2> [<árvore-"
+"etc3>]])"
 
 #: builtin/read-tree.c:110
 msgid "write resulting index to <file>"
@@ -10934,8 +11340,7 @@
 #: builtin/read-tree.c:119
 msgid "3-way merge if no file level merging required"
 msgstr ""
-"integrar com 3 pontos se a integração ao nível de ficheiros não for "
-"necessária"
+"integrar com 3 pontos se a integração ao nível de ficheiros não for necessária"
 
 #: builtin/read-tree.c:121
 msgid "3-way merge in presence of adds and removes"
@@ -10992,8 +11397,8 @@
 "with what you pushed, and will require 'git reset --hard' to match\n"
 "the work tree to HEAD.\n"
 "\n"
-"You can set 'receive.denyCurrentBranch' configuration variable to\n"
-"'ignore' or 'warn' in the remote repository to allow pushing into\n"
+"You can set the 'receive.denyCurrentBranch' configuration variable\n"
+"to 'ignore' or 'warn' in the remote repository to allow pushing into\n"
 "its current branch; however, this is not recommended unless you\n"
 "arranged to update its work tree to match what you pushed in some\n"
 "other way.\n"
@@ -11398,8 +11803,7 @@
 
 #: builtin/remote.c:1164
 #, c-format
-msgid ""
-"  HEAD branch (remote HEAD is ambiguous, may be one of the following):\n"
+msgid "  HEAD branch (remote HEAD is ambiguous, may be one of the following):\n"
 msgstr "  Ramo HEAD (o remoto HEAD é ambíguo, pode ser um dos seguintes):\n"
 
 #: builtin/remote.c:1176
@@ -11564,85 +11968,93 @@
 msgid "git repack [<options>]"
 msgstr "git repack [<opções>]"
 
-#: builtin/repack.c:160
+#: builtin/repack.c:22
+msgid ""
+"Incremental repacks are incompatible with bitmap indexes.  Use\n"
+"--no-write-bitmap-index or disable the pack.writebitmaps configuration."
+msgstr ""
+"Repacks incrementais são incompatíveis com índices bitmap. Use\n"
+"--no-write-bitmap-índex ou desative a configuração pack.writebitmaps."
+
+#: builtin/repack.c:166
 msgid "pack everything in a single pack"
 msgstr "compactar tudo num único pacote"
 
-#: builtin/repack.c:162
+#: builtin/repack.c:168
 msgid "same as -a, and turn unreachable objects loose"
 msgstr "o mesmo que -a, e soltar objetos inalcançáveis"
 
-#: builtin/repack.c:165
+#: builtin/repack.c:171
 msgid "remove redundant packs, and run git-prune-packed"
 msgstr "remover pacotes redundantes e executar git-prune-packed"
 
-#: builtin/repack.c:167
+#: builtin/repack.c:173
 msgid "pass --no-reuse-delta to git-pack-objects"
 msgstr "passar --no-reuse-delta ao git-pack-objects"
 
-#: builtin/repack.c:169
+#: builtin/repack.c:175
 msgid "pass --no-reuse-object to git-pack-objects"
 msgstr "passar --no-reuse-object ao git-pack-objects"
 
-#: builtin/repack.c:171
+#: builtin/repack.c:177
 msgid "do not run git-update-server-info"
 msgstr "não executar git-update-server-info"
 
-#: builtin/repack.c:174
+#: builtin/repack.c:180
 msgid "pass --local to git-pack-objects"
 msgstr "passar --local ao git-pack-objects"
 
-#: builtin/repack.c:176
+#: builtin/repack.c:182
 msgid "write bitmap index"
 msgstr "escrever índice de mapa de bits"
 
-#: builtin/repack.c:177
+#: builtin/repack.c:183
 msgid "approxidate"
 msgstr "aproximar"
 
-#: builtin/repack.c:178
+#: builtin/repack.c:184
 msgid "with -A, do not loosen objects older than this"
 msgstr "com -A, não soltar mais objetos além destes"
 
-#: builtin/repack.c:180
+#: builtin/repack.c:186
 msgid "with -a, repack unreachable objects"
 msgstr "com -a, reempacotar objetos inalcançáveis"
 
-#: builtin/repack.c:182
+#: builtin/repack.c:188
 msgid "size of the window used for delta compression"
 msgstr "dimensão da janela usada em compressão de deltas"
 
-#: builtin/repack.c:183 builtin/repack.c:187
+#: builtin/repack.c:189 builtin/repack.c:193
 msgid "bytes"
 msgstr "bytes"
 
-#: builtin/repack.c:184
+#: builtin/repack.c:190
 msgid "same as the above, but limit memory size instead of entries count"
 msgstr ""
 "o mesmo que o anterior, mas limitar a memória usada em vez do número de "
 "entradas"
 
-#: builtin/repack.c:186
+#: builtin/repack.c:192
 msgid "limits the maximum delta depth"
 msgstr "limitar a profundidade máxima de delta"
 
-#: builtin/repack.c:188
+#: builtin/repack.c:194
 msgid "maximum size of each packfile"
 msgstr "tamanho máximo de cada ficheiro de pacote"
 
-#: builtin/repack.c:190
+#: builtin/repack.c:196
 msgid "repack objects in packs marked with .keep"
 msgstr "reempacotar objetos em pacotes marcados com .keep"
 
-#: builtin/repack.c:200
+#: builtin/repack.c:206
 msgid "cannot delete packs in a precious-objects repo"
 msgstr "não é possível eliminar pacotes num repositório de objetos-preciosos"
 
-#: builtin/repack.c:204
+#: builtin/repack.c:210
 msgid "--keep-unreachable and -A are incompatible"
 msgstr "--keep-unreachable e -A são incompatíveis"
 
-#: builtin/repack.c:391 builtin/worktree.c:115
+#: builtin/repack.c:400 builtin/worktree.c:115
 #, c-format
 msgid "failed to remove '%s'"
 msgstr "falha ao remover '%s'"
@@ -11688,8 +12100,8 @@
 "original commit '%s' contains mergetag '%s' that is discarded; use --edit "
 "instead of --graft"
 msgstr ""
-"o commit original '%s' contém a mergetag '%s' que foi excluída; use --edit "
-"em vez de --graft"
+"o commit original '%s' contém a mergetag '%s' que foi excluída; use --edit em "
+"vez de --graft"
 
 #: builtin/replace.c:401
 #, c-format
@@ -11743,8 +12155,7 @@
 msgstr "registar resoluções limpas no índice"
 
 #: builtin/reset.c:26
-msgid ""
-"git reset [--mixed | --soft | --hard | --merge | --keep] [-q] [<commit>]"
+msgid "git reset [--mixed | --soft | --hard | --merge | --keep] [-q] [<commit>]"
 msgstr ""
 "git reset [--mixed | --soft | --hard | --merge | --keep] [-q] [<commit>]"
 
@@ -11873,23 +12284,23 @@
 msgid "rev-list does not support display of notes"
 msgstr "rev-list não suporta apresentação de notas"
 
-#: builtin/rev-parse.c:386
+#: builtin/rev-parse.c:391
 msgid "git rev-parse --parseopt [<options>] -- [<args>...]"
 msgstr "git rev-parse --parseopt [<opções>] -- [<argumentos>...]"
 
-#: builtin/rev-parse.c:391
+#: builtin/rev-parse.c:396
 msgid "keep the `--` passed as an arg"
 msgstr "conservar '--' passado como argumento"
 
-#: builtin/rev-parse.c:393
+#: builtin/rev-parse.c:398
 msgid "stop parsing after the first non-option argument"
 msgstr "parar de analisar depois do primeiro argumento que não seja uma opção"
 
-#: builtin/rev-parse.c:396
+#: builtin/rev-parse.c:401
 msgid "output in stuck long form"
 msgstr "mostrar em formato fixo e longo"
 
-#: builtin/rev-parse.c:527
+#: builtin/rev-parse.c:532
 msgid ""
 "git rev-parse --parseopt [<options>] -- [<args>...]\n"
 "   or: git rev-parse --sq-quote [<arg>...]\n"
@@ -11989,29 +12400,7 @@
 msgid "git rm [<options>] [--] <file>..."
 msgstr "git rm [<opções>] [--] <ficheiro>..."
 
-#: builtin/rm.c:65
-msgid ""
-"the following submodule (or one of its nested submodules)\n"
-"uses a .git directory:"
-msgid_plural ""
-"the following submodules (or one of their nested submodules)\n"
-"use a .git directory:"
-msgstr[0] ""
-"o submódulo seguinte (ou um dos seus submódulos aninhados)\n"
-"usa um diretório .git:"
-msgstr[1] ""
-"os submódulos seguintes (ou um dos seus submódulos)\n"
-"usam um diretório .git:"
-
-#: builtin/rm.c:71
-msgid ""
-"\n"
-"(use 'rm -rf' if you really want to remove it including all of its history)"
-msgstr ""
-"\n"
-"(use 'rm -rf' se pretende mesmo removê-lo, incluindo todo o seu histórico)"
-
-#: builtin/rm.c:230
+#: builtin/rm.c:205
 msgid ""
 "the following file has staged content different from both the\n"
 "file and the HEAD:"
@@ -12025,7 +12414,7 @@
 "os seguintes ficheiros têm conteúdo preparado no índice diferente\n"
 "do conteúdo no ficheiro e em HEAD:"
 
-#: builtin/rm.c:235
+#: builtin/rm.c:210
 msgid ""
 "\n"
 "(use -f to force removal)"
@@ -12033,13 +12422,13 @@
 "\n"
 "(use -f para forçar remoção)"
 
-#: builtin/rm.c:239
+#: builtin/rm.c:214
 msgid "the following file has changes staged in the index:"
 msgid_plural "the following files have changes staged in the index:"
 msgstr[0] "o seguinte ficheiro contém alterações preparadas no índice:"
 msgstr[1] "os seguintes ficheiros contêm alterações preparadas no índice:"
 
-#: builtin/rm.c:243 builtin/rm.c:254
+#: builtin/rm.c:218 builtin/rm.c:227
 msgid ""
 "\n"
 "(use --cached to keep the file, or -f to force removal)"
@@ -12047,42 +12436,47 @@
 "\n"
 "(use --cached para manter o ficheiro, ou -f para forçar remoção)"
 
-#: builtin/rm.c:251
+#: builtin/rm.c:224
 msgid "the following file has local modifications:"
 msgid_plural "the following files have local modifications:"
 msgstr[0] "o seguinte ficheiro contém alterações locais:"
 msgstr[1] "os seguintes ficheiros contêm alterações locais:"
 
-#: builtin/rm.c:269
+#: builtin/rm.c:242
 msgid "do not list removed files"
 msgstr "não listar ficheiros removidos"
 
-#: builtin/rm.c:270
+#: builtin/rm.c:243
 msgid "only remove from the index"
 msgstr "remover apenas do índice"
 
-#: builtin/rm.c:271
+#: builtin/rm.c:244
 msgid "override the up-to-date check"
 msgstr "ignorar verificação de atualização"
 
-#: builtin/rm.c:272
+#: builtin/rm.c:245
 msgid "allow recursive removal"
 msgstr "permitir remoção recursiva"
 
-#: builtin/rm.c:274
+#: builtin/rm.c:247
 msgid "exit with a zero status even if nothing matched"
 msgstr "sair com valor zero mesmo quando não há correspondência"
 
-#: builtin/rm.c:335
+#: builtin/rm.c:308
 #, c-format
 msgid "not removing '%s' recursively without -r"
 msgstr "não remover '%s' recursivamente sem -r"
 
-#: builtin/rm.c:374
+#: builtin/rm.c:347
 #, c-format
 msgid "git rm: unable to remove %s"
 msgstr "git rm: não é possível remover %s"
 
+#: builtin/rm.c:370
+#, c-format
+msgid "could not remove '%s'"
+msgstr "não foi possível remover '%s'"
+
 #: builtin/send-pack.c:18
 msgid ""
 "git send-pack [--all | --mirror] [--dry-run] [--force] [--receive-pack=<git-"
@@ -12093,8 +12487,7 @@
 "git send-pack [--all | --mirror] [--dry-run] [--force] [--receive-pack=<git-"
 "receive-pack>] [--verbose] [--thin] [--atomic] [<host>:]<diretório> "
 "[<referência>...]\n"
-"  --all e especificação explicita duma <referência> são mutuamente "
-"exclusivos."
+"  --all e especificação explicita duma <referência> são mutuamente exclusivos."
 
 #: builtin/send-pack.c:160
 msgid "remote name"
@@ -12114,26 +12507,29 @@
 
 #: builtin/shortlog.c:13
 msgid "git shortlog [<options>] [<revision-range>] [[--] [<path>...]]"
-msgstr ""
-"git shortlog [<opções>] [<intervalo-de-revisões>] [[--] [<caminho>...]]"
+msgstr "git shortlog [<opções>] [<intervalo-de-revisões>] [[--] [<caminho>...]]"
 
-#: builtin/shortlog.c:242
+#: builtin/shortlog.c:249
+msgid "Group by committer rather than author"
+msgstr "agrupar por committer em vez de autor"
+
+#: builtin/shortlog.c:251
 msgid "sort output according to the number of commits per author"
 msgstr "ordenar saída de acordo com o número de commits por autor"
 
-#: builtin/shortlog.c:244
+#: builtin/shortlog.c:253
 msgid "Suppress commit descriptions, only provides commit count"
 msgstr "suprimir a descrição dos commits, fornecer apenas o número de commits"
 
-#: builtin/shortlog.c:246
+#: builtin/shortlog.c:255
 msgid "Show the email address of each author"
 msgstr "Mostrar o endereço de e-mail de cada autor"
 
-#: builtin/shortlog.c:247
+#: builtin/shortlog.c:256
 msgid "w[,i1[,i2]]"
 msgstr "w[,i1[,i2]]"
 
-#: builtin/shortlog.c:248
+#: builtin/shortlog.c:257
 msgid "Linewrap output"
 msgstr "ajustar linhas"
 
@@ -12285,37 +12681,36 @@
 msgid "git show-ref --exclude-existing[=<pattern>]"
 msgstr "git show-ref --exclude-existing[=<padrão>]"
 
-#: builtin/show-ref.c:165
+#: builtin/show-ref.c:159
 msgid "only show tags (can be combined with heads)"
 msgstr "mostrar apenas tags (pode ser combinado com heads)"
 
-#: builtin/show-ref.c:166
+#: builtin/show-ref.c:160
 msgid "only show heads (can be combined with tags)"
 msgstr "mostrar apenas cabeças (pode ser combinado com tags)"
 
-#: builtin/show-ref.c:167
+#: builtin/show-ref.c:161
 msgid "stricter reference checking, requires exact ref path"
 msgstr ""
-"verificação de referências mais rigorosa, requer o caminho exato da "
-"referência"
+"verificação de referências mais rigorosa, requer o caminho exato da referência"
 
-#: builtin/show-ref.c:170 builtin/show-ref.c:172
+#: builtin/show-ref.c:164 builtin/show-ref.c:166
 msgid "show the HEAD reference, even if it would be filtered out"
 msgstr "mostrar a referência HEAD, mesmo que fosse filtrada"
 
-#: builtin/show-ref.c:174
+#: builtin/show-ref.c:168
 msgid "dereference tags into object IDs"
 msgstr "desreferenciar tags em IDs de objeto"
 
-#: builtin/show-ref.c:176
+#: builtin/show-ref.c:170
 msgid "only show SHA1 hash using <n> digits"
 msgstr "mostrar hash SHA1 com <n> digitos"
 
-#: builtin/show-ref.c:180
+#: builtin/show-ref.c:174
 msgid "do not print results to stdout (useful with --verify)"
 msgstr "não imprimir resultados para o stdout (útil com --verify)"
 
-#: builtin/show-ref.c:182
+#: builtin/show-ref.c:176
 msgid "show refs from stdin that aren't in local repository"
 msgstr "mostrar referências do stdin que não estão no repositório local"
 
@@ -12336,12 +12731,12 @@
 msgid "prepend comment character and space to each line"
 msgstr "preceder cada linha com um carácter de comentário e um espaço"
 
-#: builtin/submodule--helper.c:24 builtin/submodule--helper.c:1046
+#: builtin/submodule--helper.c:24 builtin/submodule--helper.c:1062
 #, c-format
 msgid "No such ref: %s"
 msgstr "Referência inexistente: %s"
 
-#: builtin/submodule--helper.c:31 builtin/submodule--helper.c:1055
+#: builtin/submodule--helper.c:31 builtin/submodule--helper.c:1071
 #, c-format
 msgid "Expecting a full ref name, got %s"
 msgstr "Esperava-se um nome completo de uma referência, obteve-se %s"
@@ -12351,8 +12746,7 @@
 msgid "cannot strip one component off url '%s'"
 msgstr "não é possível tirar um componente do URL '%s'"
 
-#: builtin/submodule--helper.c:282 builtin/submodule--helper.c:408
-#: builtin/submodule--helper.c:590
+#: builtin/submodule--helper.c:282 builtin/submodule--helper.c:592
 msgid "alternative anchor for relative paths"
 msgstr "âncora alternativa para caminhos relativos"
 
@@ -12360,85 +12754,85 @@
 msgid "git submodule--helper list [--prefix=<path>] [<path>...]"
 msgstr "git submodule--helper list [--prefix=<caminho>] [<caminho>...]"
 
-#: builtin/submodule--helper.c:329 builtin/submodule--helper.c:343
+#: builtin/submodule--helper.c:333 builtin/submodule--helper.c:347
 #, c-format
 msgid "No url found for submodule path '%s' in .gitmodules"
 msgstr "Nenhum URL encontrado para o caminho de submódulo '%s' em .gitmodules"
 
-#: builtin/submodule--helper.c:369
+#: builtin/submodule--helper.c:373
 #, c-format
 msgid "Failed to register url for submodule path '%s'"
 msgstr "Falha ao registar o URL do caminho de submódulo '%s'"
 
-#: builtin/submodule--helper.c:373
+#: builtin/submodule--helper.c:377
 #, c-format
 msgid "Submodule '%s' (%s) registered for path '%s'\n"
 msgstr "Submódulo '%s' (%s) registado com caminho '%s'\n"
 
-#: builtin/submodule--helper.c:383
+#: builtin/submodule--helper.c:387
 #, c-format
 msgid "warning: command update mode suggested for submodule '%s'\n"
 msgstr "aviso: modo de atualização do comando sugerido para o submódulo '%s'\n"
 
-#: builtin/submodule--helper.c:390
+#: builtin/submodule--helper.c:394
 #, c-format
 msgid "Failed to register update mode for submodule path '%s'"
 msgstr "Falha ao registar o modo de atualização do caminho de submódulo '%s'"
 
-#: builtin/submodule--helper.c:409
+#: builtin/submodule--helper.c:410
 msgid "Suppress output for initializing a submodule"
 msgstr "Suprimir a saída ao inicializar um submódulo"
 
-#: builtin/submodule--helper.c:414
+#: builtin/submodule--helper.c:415
 msgid "git submodule--helper init [<path>]"
 msgstr "git submodule--helper init [<caminho>]"
 
-#: builtin/submodule--helper.c:435
+#: builtin/submodule--helper.c:436
 msgid "git submodule--helper name <path>"
 msgstr "git submodule--helper name <caminho>"
 
-#: builtin/submodule--helper.c:441
+#: builtin/submodule--helper.c:442
 #, c-format
 msgid "no submodule mapping found in .gitmodules for path '%s'"
 msgstr ""
 "nenhum mapeamento de submódulo do caminho '%s' encontrado em .gitmodules"
 
-#: builtin/submodule--helper.c:524 builtin/submodule--helper.c:527
+#: builtin/submodule--helper.c:525 builtin/submodule--helper.c:528
 #, c-format
 msgid "submodule '%s' cannot add alternate: %s"
 msgstr "o submódulo '%s' não pode adicionar sobressalente: %s"
 
-#: builtin/submodule--helper.c:563
+#: builtin/submodule--helper.c:564
 #, c-format
 msgid "Value '%s' for submodule.alternateErrorStrategy is not recognized"
 msgstr "O valor '%s' de submodule.alternateErrorStrategy não é reconhecido"
 
-#: builtin/submodule--helper.c:570
+#: builtin/submodule--helper.c:571
 #, c-format
 msgid "Value '%s' for submodule.alternateLocation is not recognized"
 msgstr "O valor '%s' de submodule.alternateLocation não é reconhecido"
 
-#: builtin/submodule--helper.c:593
+#: builtin/submodule--helper.c:595
 msgid "where the new submodule will be cloned to"
 msgstr "sítio para aonde o novo submódulo será clonado"
 
-#: builtin/submodule--helper.c:596
+#: builtin/submodule--helper.c:598
 msgid "name of the new submodule"
 msgstr "nome do novo submódulo"
 
-#: builtin/submodule--helper.c:599
+#: builtin/submodule--helper.c:601
 msgid "url where to clone the submodule from"
 msgstr "url donde clonar o submódulos"
 
-#: builtin/submodule--helper.c:605
+#: builtin/submodule--helper.c:607
 msgid "depth for shallow clones"
 msgstr "profundidade de clones rasos"
 
-#: builtin/submodule--helper.c:608 builtin/submodule--helper.c:964
+#: builtin/submodule--helper.c:610 builtin/submodule--helper.c:980
 msgid "force cloning progress"
 msgstr "forçar progresso da clonagem"
 
-#: builtin/submodule--helper.c:613
+#: builtin/submodule--helper.c:615
 msgid ""
 "git submodule--helper clone [--prefix=<path>] [--quiet] [--reference "
 "<repository>] [--name <name>] [--depth <depth>] --url <url> --path <path>"
@@ -12446,112 +12840,120 @@
 "git submodule--helper clone [--prefix=<caminho>] [--quiet] [--reference "
 "<repositório>] [--name <nome>] [--depth <depth>] --url <url> --path <caminho>"
 
-#: builtin/submodule--helper.c:638 builtin/submodule--helper.c:648
-#, c-format
-msgid "could not create directory '%s'"
-msgstr "não foi possível criar o diretório '%s'"
-
-#: builtin/submodule--helper.c:644
+#: builtin/submodule--helper.c:646
 #, c-format
 msgid "clone of '%s' into submodule path '%s' failed"
 msgstr "falha ao clonar '%s' no caminho de submódulo '%s'"
 
-#: builtin/submodule--helper.c:660
+#: builtin/submodule--helper.c:662
 #, c-format
 msgid "cannot open file '%s'"
 msgstr "não é possível abrir o ficheiro '%s'"
 
-#: builtin/submodule--helper.c:665
+#: builtin/submodule--helper.c:667
 #, c-format
 msgid "could not close file %s"
 msgstr "não é possível fechar o ficheiro %s"
 
-#: builtin/submodule--helper.c:672
+#: builtin/submodule--helper.c:674
 #, c-format
 msgid "could not get submodule directory for '%s'"
 msgstr "não foi possível obter o diretório do submódulo de '%s'"
 
-#: builtin/submodule--helper.c:726
+#: builtin/submodule--helper.c:742
 #, c-format
 msgid "Submodule path '%s' not initialized"
 msgstr "Caminho de submódulo '%s' não inicializado"
 
-#: builtin/submodule--helper.c:730
+#: builtin/submodule--helper.c:746
 msgid "Maybe you want to use 'update --init'?"
 msgstr "Pretendia usar 'update --init'?"
 
-#: builtin/submodule--helper.c:756
+#: builtin/submodule--helper.c:772
 #, c-format
 msgid "Skipping unmerged submodule %s"
 msgstr "A ignorar submódulo %s não integrado"
 
-#: builtin/submodule--helper.c:777
+#: builtin/submodule--helper.c:793
 #, c-format
 msgid "Skipping submodule '%s'"
 msgstr "A ignorar submódulo '%s'"
 
-#: builtin/submodule--helper.c:913
+#: builtin/submodule--helper.c:929
 #, c-format
 msgid "Failed to clone '%s'. Retry scheduled"
 msgstr "Falha ao clonar '%s'. Nova tentativa agendada"
 
-#: builtin/submodule--helper.c:924
+#: builtin/submodule--helper.c:940
 #, c-format
 msgid "Failed to clone '%s' a second time, aborting"
 msgstr "Falha ao clonar '%s' pela segunda vez, abortado"
 
-#: builtin/submodule--helper.c:945
+#: builtin/submodule--helper.c:961 builtin/submodule--helper.c:1105
 msgid "path into the working tree"
 msgstr "caminho para a árvore de trabalho"
 
-#: builtin/submodule--helper.c:948
+#: builtin/submodule--helper.c:964
 msgid "path into the working tree, across nested submodule boundaries"
 msgstr ""
 "caminho para a árvore de trabalho, atravessando limites de submódulos "
 "aninhados"
 
-#: builtin/submodule--helper.c:952
+#: builtin/submodule--helper.c:968
 msgid "rebase, merge, checkout or none"
 msgstr "rebase, merge, checkout ou none"
 
-#: builtin/submodule--helper.c:956
+#: builtin/submodule--helper.c:972
 msgid "Create a shallow clone truncated to the specified number of revisions"
 msgstr "criar um clone raso, truncado ao número especificado de revisões"
 
-#: builtin/submodule--helper.c:959
+#: builtin/submodule--helper.c:975
 msgid "parallel jobs"
 msgstr "trabalhos em paralelo"
 
-#: builtin/submodule--helper.c:961
+#: builtin/submodule--helper.c:977
 msgid "whether the initial clone should follow the shallow recommendation"
 msgstr "se o clone inicial deve seguir a recomendação rasa"
 
-#: builtin/submodule--helper.c:962
+#: builtin/submodule--helper.c:978
 msgid "don't print cloning progress"
 msgstr "não imprimir progresso da clonagem"
 
-#: builtin/submodule--helper.c:969
+#: builtin/submodule--helper.c:985
 msgid "git submodule--helper update_clone [--prefix=<path>] [<path>...]"
 msgstr "git submodule--helper update_clone [--prefix=<caminho>] [<caminho>...]"
 
-#: builtin/submodule--helper.c:979
+#: builtin/submodule--helper.c:995
 msgid "bad value for update parameter"
 msgstr "valor incorreto no parâmetro update"
 
-#: builtin/submodule--helper.c:1050
+#: builtin/submodule--helper.c:1066
 #, c-format
 msgid ""
-"Submodule (%s) branch configured to inherit branch from superproject, but "
-"the superproject is not on any branch"
+"Submodule (%s) branch configured to inherit branch from superproject, but the "
+"superproject is not on any branch"
 msgstr ""
 "O ramo do submódulo (%s) foi configurado para herdar o ramo do superprojeto, "
 "mas o superprojeto não está em nenhum ramo"
 
-#: builtin/submodule--helper.c:1100
+#: builtin/submodule--helper.c:1106
+msgid "recurse into submodules"
+msgstr "percorrer submódulos recursivamente"
+
+#: builtin/submodule--helper.c:1112
+msgid "git submodule--helper embed-git-dir [<path>...]"
+msgstr "git submodule--helper embed-git-dir [<caminho>...]"
+
+#: builtin/submodule--helper.c:1157
 msgid "submodule--helper subcommand must be called with a subcommand"
 msgstr "o subcomando submodule--helper deve ser invocado com um subcomando"
 
-#: builtin/submodule--helper.c:1107
+#: builtin/submodule--helper.c:1164
+#, c-format
+msgid "%s doesn't support --super-prefix"
+msgstr "%s não suporta --super-prefix"
+
+#: builtin/submodule--helper.c:1170
 #, c-format
 msgid "'%s' is not a valid submodule--helper subcommand"
 msgstr "'%s' não é um subcomando válido de submodule--helper"
@@ -12587,8 +12989,7 @@
 
 #: builtin/tag.c:23
 msgid ""
-"git tag [-a | -s | -u <key-id>] [-f] [-m <msg> | -F <file>] <tagname> "
-"[<head>]"
+"git tag [-a | -s | -u <key-id>] [-f] [-m <msg> | -F <file>] <tagname> [<head>]"
 msgstr ""
 "git tag [-a | -s | -u <id-chave>] [-f] [-m <msg> | -F <ficheiro>] <nome-da-"
 "tag> [<head>]"
@@ -12606,25 +13007,25 @@
 "\t\t[--format=<formato>] [--[no-]merged [<commit>]] [<padrão>...]"
 
 #: builtin/tag.c:27
-msgid "git tag -v <tagname>..."
-msgstr "git tag -v <nome-da-tag>..."
+msgid "git tag -v [--format=<format>] <tagname>..."
+msgstr "git tag -v [--format=<formato>] <nometag>..."
 
-#: builtin/tag.c:81
+#: builtin/tag.c:82
 #, c-format
 msgid "tag name too long: %.*s..."
 msgstr "o nome da tag é demasiado longo: %.*s..."
 
-#: builtin/tag.c:86
+#: builtin/tag.c:87
 #, c-format
 msgid "tag '%s' not found."
 msgstr "tag '%s' não encontrada."
 
-#: builtin/tag.c:101
+#: builtin/tag.c:102
 #, c-format
 msgid "Deleted tag '%s' (was %s)\n"
 msgstr "Tag '%s' eliminada (era %s)\n"
 
-#: builtin/tag.c:117
+#: builtin/tag.c:131
 #, c-format
 msgid ""
 "\n"
@@ -12637,7 +13038,7 @@
 "  %s\n"
 "Linha começadas com '%c' serão ignoradas.\n"
 
-#: builtin/tag.c:121
+#: builtin/tag.c:135
 #, c-format
 msgid ""
 "\n"
@@ -12651,138 +13052,138 @@
 "  %s\n"
 "Linhas começadas com '%c' serão mantidas; pode removê-las se o desejar.\n"
 
-#: builtin/tag.c:199
+#: builtin/tag.c:213
 msgid "unable to sign the tag"
 msgstr "não foi possível assinar a tag"
 
-#: builtin/tag.c:201
+#: builtin/tag.c:215
 msgid "unable to write tag file"
 msgstr "não foi possível escrever o ficheiro da tag"
 
-#: builtin/tag.c:226
+#: builtin/tag.c:240
 msgid "bad object type."
 msgstr "tipo de objeto incorreto."
 
-#: builtin/tag.c:239
+#: builtin/tag.c:253
 msgid "tag header too big."
 msgstr "cabeçalho da tag demasiado longo."
 
-#: builtin/tag.c:275
+#: builtin/tag.c:289
 msgid "no tag message?"
 msgstr "sem mensagem de tag?"
 
-#: builtin/tag.c:281
+#: builtin/tag.c:295
 #, c-format
 msgid "The tag message has been left in %s\n"
 msgstr "A mensagem da tag foi guardada em %s\n"
 
-#: builtin/tag.c:339
+#: builtin/tag.c:354
 msgid "list tag names"
 msgstr "listar os nomes das tag"
 
-#: builtin/tag.c:341
+#: builtin/tag.c:356
 msgid "print <n> lines of each tag message"
 msgstr "imprimir <n> linhas de cada mensagem de tag"
 
-#: builtin/tag.c:343
+#: builtin/tag.c:358
 msgid "delete tags"
 msgstr "eliminar tags"
 
-#: builtin/tag.c:344
+#: builtin/tag.c:359
 msgid "verify tags"
 msgstr "verificar tags"
 
-#: builtin/tag.c:346
+#: builtin/tag.c:361
 msgid "Tag creation options"
 msgstr "Opções de criação de tags"
 
-#: builtin/tag.c:348
+#: builtin/tag.c:363
 msgid "annotated tag, needs a message"
 msgstr "tag anotada, é necessário uma mensagem"
 
-#: builtin/tag.c:350
+#: builtin/tag.c:365
 msgid "tag message"
 msgstr "mensagem da tag"
 
-#: builtin/tag.c:352
+#: builtin/tag.c:367
 msgid "annotated and GPG-signed tag"
 msgstr "tag anotada e assinada com GPG"
 
-#: builtin/tag.c:356
+#: builtin/tag.c:371
 msgid "use another key to sign the tag"
 msgstr "usar outra chave para assinar a tag"
 
-#: builtin/tag.c:357
+#: builtin/tag.c:372
 msgid "replace the tag if exists"
 msgstr "substituir a tag se esta existir"
 
-#: builtin/tag.c:358 builtin/update-ref.c:368
+#: builtin/tag.c:373 builtin/update-ref.c:368
 msgid "create a reflog"
 msgstr "criar um reflog"
 
-#: builtin/tag.c:360
+#: builtin/tag.c:375
 msgid "Tag listing options"
 msgstr "Opções de listagem de tags"
 
-#: builtin/tag.c:361
+#: builtin/tag.c:376
 msgid "show tag list in columns"
 msgstr "mostrar a lista de tags em colunas"
 
-#: builtin/tag.c:362 builtin/tag.c:363
+#: builtin/tag.c:377 builtin/tag.c:378
 msgid "print only tags that contain the commit"
 msgstr "imprimir apenas tags que contenham o commit"
 
-#: builtin/tag.c:364
+#: builtin/tag.c:379
 msgid "print only tags that are merged"
 msgstr "imprimir apenas as tags que foram integradas"
 
-#: builtin/tag.c:365
+#: builtin/tag.c:380
 msgid "print only tags that are not merged"
 msgstr "imprimir apenas as tags que não foram integradas"
 
-#: builtin/tag.c:370
+#: builtin/tag.c:385
 msgid "print only tags of the object"
 msgstr "imprimir apenas as tags do objeto"
 
-#: builtin/tag.c:399
+#: builtin/tag.c:415
 msgid "--column and -n are incompatible"
 msgstr "--column e -n são incompatíveis"
 
-#: builtin/tag.c:419
+#: builtin/tag.c:437
 msgid "-n option is only allowed with -l."
 msgstr "a opção -n só é permitida com -l."
 
-#: builtin/tag.c:421
+#: builtin/tag.c:439
 msgid "--contains option is only allowed with -l."
 msgstr "a opção --contains só é permitida com -l."
 
-#: builtin/tag.c:423
+#: builtin/tag.c:441
 msgid "--points-at option is only allowed with -l."
 msgstr "a opção --points-at só é permitida com -l."
 
-#: builtin/tag.c:425
+#: builtin/tag.c:443
 msgid "--merged and --no-merged option are only allowed with -l"
 msgstr "as opções --merged e --no-merged só são permitidas com -l"
 
-#: builtin/tag.c:433
+#: builtin/tag.c:454
 msgid "only one -F or -m option is allowed."
 msgstr "só é permitido um opção -F ou -m."
 
-#: builtin/tag.c:452
+#: builtin/tag.c:473
 msgid "too many params"
 msgstr "demasiado parâmetros"
 
-#: builtin/tag.c:458
+#: builtin/tag.c:479
 #, c-format
 msgid "'%s' is not a valid tag name."
 msgstr "'%s' não é um nome de tag válido."
 
-#: builtin/tag.c:463
+#: builtin/tag.c:484
 #, c-format
 msgid "tag '%s' already exists"
 msgstr "a tag '%s' já existe"
 
-#: builtin/tag.c:491
+#: builtin/tag.c:512
 #, c-format
 msgid "Updated tag '%s' (was %s)\n"
 msgstr "Tag '%s' atualizada (era %s)\n"
@@ -12958,8 +13359,7 @@
 
 #: builtin/update-index.c:991
 msgid "(for porcelains) forget saved unresolved conflicts"
-msgstr ""
-"(para porcelanas) esquecer conflitos guardados que não foram resolvidos"
+msgstr "(para porcelanas) esquecer conflitos guardados que não foram resolvidos"
 
 #: builtin/update-index.c:995
 msgid "write index in this format"
@@ -12981,7 +13381,7 @@
 msgid "enable untracked cache without testing the filesystem"
 msgstr "ativar cache não controlada sem testar o sistema de ficheiros"
 
-#: builtin/update-index.c:1119
+#: builtin/update-index.c:1120
 msgid ""
 "core.untrackedCache is set to true; remove or change it, if you really want "
 "to disable the untracked cache"
@@ -12989,11 +13389,11 @@
 "core.untrackedCache está definida como true; remova ou altere-a se pretende "
 "mesmo desativar a cache não controlada"
 
-#: builtin/update-index.c:1123
+#: builtin/update-index.c:1124
 msgid "Untracked cache disabled"
 msgstr "A cache não controlada está desativada"
 
-#: builtin/update-index.c:1131
+#: builtin/update-index.c:1132
 msgid ""
 "core.untrackedCache is set to false; remove or change it, if you really want "
 "to enable the untracked cache"
@@ -13001,7 +13401,7 @@
 "core.untrackedCache está definida como false; remova ou altere-a se pretende "
 "mesmo ativar a cache não controlada"
 
-#: builtin/update-index.c:1135
+#: builtin/update-index.c:1136
 #, c-format
 msgid "Untracked cache enabled for '%s'"
 msgstr "A cache não controlada de '%s' foi ativada."
@@ -13053,7 +13453,7 @@
 msgid "print commit contents"
 msgstr "imprimir conteúdo do commit"
 
-#: builtin/verify-commit.c:73 builtin/verify-tag.c:35
+#: builtin/verify-commit.c:73 builtin/verify-tag.c:37
 msgid "print raw gpg status output"
 msgstr "imprimir informação do gpg em bruto"
 
@@ -13069,11 +13469,11 @@
 msgid "show statistics only"
 msgstr "mostrar apenas estatísticas"
 
-#: builtin/verify-tag.c:17
-msgid "git verify-tag [-v | --verbose] <tag>..."
-msgstr "git verify-tag [-v | --verbose] <tag>..."
+#: builtin/verify-tag.c:18
+msgid "git verify-tag [-v | --verbose] [--format=<format>] <tag>..."
+msgstr "git verify-tag [-v | --verbose] [--format=<formato>] <tag>..."
 
-#: builtin/verify-tag.c:34
+#: builtin/verify-tag.c:36
 msgid "print tag contents"
 msgstr "imprimir conteúdo da tag"
 
@@ -13124,6 +13524,14 @@
 "A remover worktrees/%s: o ficheiro gitdir aponta para uma localização "
 "inexistente"
 
+#: builtin/worktree.c:128
+msgid "report pruned working trees"
+msgstr "reportar árvores de trabalho podadas"
+
+#: builtin/worktree.c:130
+msgid "expire working trees older than <time>"
+msgstr "expirar árvores de trabalho mais antigos que <tempo>"
+
 #: builtin/worktree.c:204
 #, c-format
 msgid "'%s' already exists"
@@ -13160,30 +13568,30 @@
 msgid "-b, -B, and --detach are mutually exclusive"
 msgstr "-b, -B e --detach são mutuamente exclusivos"
 
-#: builtin/worktree.c:470
+#: builtin/worktree.c:472
 msgid "reason for locking"
 msgstr "razão de trancar"
 
-#: builtin/worktree.c:482 builtin/worktree.c:515
+#: builtin/worktree.c:484 builtin/worktree.c:517
 #, c-format
 msgid "'%s' is not a working tree"
 msgstr "'%s' não é uma árvore de trabalho"
 
-#: builtin/worktree.c:484 builtin/worktree.c:517
+#: builtin/worktree.c:486 builtin/worktree.c:519
 msgid "The main working tree cannot be locked or unlocked"
 msgstr "A árvore de trabalho principal não pode ser trancada nem destrancada"
 
-#: builtin/worktree.c:489
+#: builtin/worktree.c:491
 #, c-format
 msgid "'%s' is already locked, reason: %s"
 msgstr "'%s' já está trancada, razão: %s"
 
-#: builtin/worktree.c:491
+#: builtin/worktree.c:493
 #, c-format
 msgid "'%s' is already locked"
 msgstr "'%s' já está trancada"
 
-#: builtin/worktree.c:519
+#: builtin/worktree.c:521
 #, c-format
 msgid "'%s' is not locked"
 msgstr "'%s' não está trancada"
@@ -13208,19 +13616,19 @@
 msgid "git upload-pack [<options>] <dir>"
 msgstr "git upload-pack [<opções>] <dir>"
 
-#: upload-pack.c:1028
+#: upload-pack.c:1036
 msgid "quit after a single request/response exchange"
 msgstr "terminar depois de uma única troca de pedido/resposta"
 
-#: upload-pack.c:1030
+#: upload-pack.c:1038
 msgid "exit immediately after initial ref advertisement"
 msgstr "sair imediatamente depois do anúncio inicial da referência"
 
-#: upload-pack.c:1032
+#: upload-pack.c:1040
 msgid "do not try <directory>/.git/ if <directory> is no Git directory"
 msgstr "não tentar <diretório>/.git/ se o <diretório> não for um diretório Git"
 
-#: upload-pack.c:1034
+#: upload-pack.c:1042
 msgid "interrupt transfer after <n> seconds of inactivity"
 msgstr "interromper transferência depois de <n> segundos de inatividade"
 
@@ -13252,14 +13660,30 @@
 "guias de conceitos. Consulte 'git help <comando>' ou 'git help <conceito>'\n"
 "para ler sobre um subcomando ou conceito específico."
 
-#: http.c:342
+#: http.c:344
 msgid "Delegation control is not supported with cURL < 7.22.0"
 msgstr "Não é suportado delegar controlo com cURL < 7.22.0"
 
-#: http.c:351
+#: http.c:353
 msgid "Public key pinning not supported with cURL < 7.44.0"
 msgstr "Não é suportado afixar chaves públicas com cURL < 7.44.0"
 
+#: http.c:1713
+#, c-format
+msgid ""
+"unable to update url base from redirection:\n"
+"  asked for: %s\n"
+"   redirect: %s"
+msgstr ""
+"não é possível atualizar base de url de redireção:\n"
+"  pedido para: %s\n"
+"    redireção: %s"
+
+#: remote-curl.c:319
+#, c-format
+msgid "redirecting to %s"
+msgstr "a redirecionar para %s "
+
 #: common-cmds.h:9
 msgid "start a working area (see also: git help tutorial)"
 msgstr "iniciar uma área de trabalho (consulte também: git help tutorial)"
@@ -13387,8 +13811,7 @@
 
 #: rerere.h:40
 msgid "update the index with reused conflict resolution if possible"
-msgstr ""
-"atualizar o índice com resoluções de conflitos reutilizadas se possível"
+msgstr "atualizar o índice com resoluções de conflitos reutilizadas se possível"
 
 #: git-bisect.sh:54
 msgid "You need to start by \"git bisect start\""
@@ -13419,8 +13842,7 @@
 #, sh-format
 msgid ""
 "Checking out '$start_head' failed. Try 'git bisect reset <valid-branch>'."
-msgstr ""
-"Falha ao extrair '$start_head'. Tente 'git bisect reset <ramo-válido>'."
+msgstr "Falha ao extrair '$start_head'. Tente 'git bisect reset <ramo-válido>'."
 
 #: git-bisect.sh:177
 msgid "won't bisect on cg-seek'ed tree"
@@ -13589,8 +14011,7 @@
 
 #: git-merge-octopus.sh:46
 msgid ""
-"Error: Your local changes to the following files would be overwritten by "
-"merge"
+"Error: Your local changes to the following files would be overwritten by merge"
 msgstr ""
 "Erro: As suas alterações locais nos seguintes ficheiros seriam substituídas "
 "ao integrar"
@@ -13627,7 +14048,7 @@
 msgid "Simple merge did not work, trying automatic merge."
 msgstr "A integração simples não funcionou, a tentar integração automática."
 
-#: git-rebase.sh:56
+#: git-rebase.sh:57
 msgid ""
 "When you have resolved this problem, run \"git rebase --continue\".\n"
 "If you prefer to skip this patch, run \"git rebase --skip\" instead.\n"
@@ -13639,51 +14060,37 @@
 "Para extrair o ramo original e interromper o rebase, execute \"git rebase --"
 "abort\"."
 
-#: git-rebase.sh:156 git-rebase.sh:395
+#: git-rebase.sh:157 git-rebase.sh:396
 #, sh-format
 msgid "Could not move back to $head_name"
 msgstr "Não foi possível voltar para $head_name"
 
-#: git-rebase.sh:167
-msgid "Applied autostash."
-msgstr "Pilha automática (autostash) aplicada."
-
-#: git-rebase.sh:170
+#: git-rebase.sh:171
 #, sh-format
 msgid "Cannot store $stash_sha1"
 msgstr "Não é possível guardar $stash_sha1"
 
-#: git-rebase.sh:171
-msgid ""
-"Applying autostash resulted in conflicts.\n"
-"Your changes are safe in the stash.\n"
-"You can run \"git stash pop\" or \"git stash drop\" at any time.\n"
-msgstr ""
-"Surgiram conflitos ao aplicar a pilha automática (autostash).\n"
-"As suas alterações estão guardadas na pilha.\n"
-"Pode executar \"git stash pop\" ou \"git stash drop\" oportunamente.\n"
-
-#: git-rebase.sh:210
+#: git-rebase.sh:211
 msgid "The pre-rebase hook refused to rebase."
 msgstr "Rebase recusado pelo hook pre-rebase."
 
-#: git-rebase.sh:215
+#: git-rebase.sh:216
 msgid "It looks like git-am is in progress. Cannot rebase."
 msgstr "Parece que o git-am está em curso. Não é possível efetuar rebase."
 
-#: git-rebase.sh:356
+#: git-rebase.sh:357
 msgid "No rebase in progress?"
 msgstr "Rebase não está em curso?"
 
-#: git-rebase.sh:367
+#: git-rebase.sh:368
 msgid "The --edit-todo action can only be used during interactive rebase."
 msgstr "A ação --edit-todo só pode ser usada durante um rebase interativo."
 
-#: git-rebase.sh:374
+#: git-rebase.sh:375
 msgid "Cannot read HEAD"
 msgstr "Não é possível ler HEAD"
 
-#: git-rebase.sh:377
+#: git-rebase.sh:378
 msgid ""
 "You must edit all merge conflicts and then\n"
 "mark them as resolved using git add"
@@ -13691,7 +14098,7 @@
 "Deve editar todos os conflitos da integração\n"
 "e marcá-los como resolvidos usando git add"
 
-#: git-rebase.sh:414
+#: git-rebase.sh:418
 #, sh-format
 msgid ""
 "It seems that there is already a $state_dir_base directory, and\n"
@@ -13712,65 +14119,65 @@
 "e execute o comando de novo. A execução foi interrompida no caso de\n"
 "ainda ter algo importante nesse sítio."
 
-#: git-rebase.sh:465
+#: git-rebase.sh:469
 #, sh-format
 msgid "invalid upstream $upstream_name"
 msgstr "$upstream_name a montante inválido"
 
-#: git-rebase.sh:489
+#: git-rebase.sh:493
 #, sh-format
 msgid "$onto_name: there are more than one merge bases"
 msgstr "$onto_name: há mais do que uma base de integração"
 
-#: git-rebase.sh:492 git-rebase.sh:496
+#: git-rebase.sh:496 git-rebase.sh:500
 #, sh-format
 msgid "$onto_name: there is no merge base"
 msgstr "$onto_name: não há nenhuma base de integração"
 
-#: git-rebase.sh:501
+#: git-rebase.sh:505
 #, sh-format
 msgid "Does not point to a valid commit: $onto_name"
 msgstr "Não aponta para um commit válido: $onto_name"
 
-#: git-rebase.sh:524
+#: git-rebase.sh:528
 #, sh-format
 msgid "fatal: no such branch: $branch_name"
 msgstr "fatal: ramo inexistente: $branch_name"
 
-#: git-rebase.sh:557
+#: git-rebase.sh:561
 msgid "Cannot autostash"
 msgstr "Não é possível empilhar automaticamente (autostash)"
 
-#: git-rebase.sh:562
+#: git-rebase.sh:566
 #, sh-format
 msgid "Created autostash: $stash_abbrev"
 msgstr "Pilha automática (autostash) criada: $stash_abbrev"
 
-#: git-rebase.sh:566
+#: git-rebase.sh:570
 msgid "Please commit or stash them."
 msgstr "Submeta ou esconda-as."
 
-#: git-rebase.sh:586
+#: git-rebase.sh:590
 #, sh-format
 msgid "Current branch $branch_name is up to date."
 msgstr "O ramo atual $branch_name está atualizado."
 
-#: git-rebase.sh:590
+#: git-rebase.sh:594
 #, sh-format
 msgid "Current branch $branch_name is up to date, rebase forced."
 msgstr "O ramo atual $branch_name está atualizado, rebase forçado."
 
-#: git-rebase.sh:601
+#: git-rebase.sh:605
 #, sh-format
 msgid "Changes from $mb to $onto:"
 msgstr "Alterações de $mb para $onto:"
 
-#: git-rebase.sh:610
+#: git-rebase.sh:614
 msgid "First, rewinding head to replay your work on top of it..."
 msgstr ""
 "Primeiro, a recuar a cabeça para replicar as suas alterações no topo dela..."
 
-#: git-rebase.sh:620
+#: git-rebase.sh:624
 #, sh-format
 msgid "Fast-forwarded $branch_name to $onto_name."
 msgstr "$branch_name avançado rapidamente para $onto_name."
@@ -13936,23 +14343,28 @@
 msgid "(To restore them type \"git stash apply\")"
 msgstr "(Para os restaurar execute \"git stash apply\")"
 
-#: git-submodule.sh:184
+#: git-submodule.sh:181
 msgid "Relative path can only be used from the toplevel of the working tree"
 msgstr ""
 "Os caminhos relativos só podem ser usados a partir do topo da árvore de "
 "trabalho"
 
-#: git-submodule.sh:194
+#: git-submodule.sh:191
 #, sh-format
 msgid "repo URL: '$repo' must be absolute or begin with ./|../"
 msgstr "URL do repositório: '$repo' deve ser absoluto ou começar com ./|../"
 
-#: git-submodule.sh:211
+#: git-submodule.sh:210
 #, sh-format
 msgid "'$sm_path' already exists in the index"
 msgstr "'$sm_path' já existe no índice"
 
-#: git-submodule.sh:215
+#: git-submodule.sh:213
+#, sh-format
+msgid "'$sm_path' already exists in the index and is not a submodule"
+msgstr "'$sm_path' já existe no índicee não é um submódulo"
+
+#: git-submodule.sh:218
 #, sh-format
 msgid ""
 "The following path is ignored by one of your .gitignore files:\n"
@@ -13963,29 +14375,28 @@
 "$sm_path\n"
 "Use -f se pretende mesmo adicioná-lo."
 
-#: git-submodule.sh:233
+#: git-submodule.sh:236
 #, sh-format
 msgid "Adding existing repo at '$sm_path' to the index"
 msgstr "A adicionar repositório existente em '$sm_path' ao índice"
 
-#: git-submodule.sh:235
+#: git-submodule.sh:238
 #, sh-format
 msgid "'$sm_path' already exists and is not a valid git repo"
 msgstr "'$sm_path' já existe e não é uma repositório git válido"
 
-#: git-submodule.sh:243
+#: git-submodule.sh:246
 #, sh-format
 msgid "A git directory for '$sm_name' is found locally with remote(s):"
 msgstr ""
 "Um diretório git de '$sm_name' foi encontrado localmente com os remotos:"
 
-#: git-submodule.sh:245
+#: git-submodule.sh:248
 #, sh-format
 msgid ""
 "If you want to reuse this local git directory instead of cloning again from\n"
 "  $realrepo\n"
-"use the '--force' option. If the local git directory is not the correct "
-"repo\n"
+"use the '--force' option. If the local git directory is not the correct repo\n"
 "or you are unsure what this means choose another name with the '--name' "
 "option."
 msgstr ""
@@ -13995,58 +14406,58 @@
 "ou não tem a certeza o que isto significa escolha outro nome com a opção '--"
 "name'."
 
-#: git-submodule.sh:251
+#: git-submodule.sh:254
 #, sh-format
 msgid "Reactivating local git directory for submodule '$sm_name'."
 msgstr "A reativar o diretório git local do submódulo '$sm_name'."
 
-#: git-submodule.sh:263
+#: git-submodule.sh:266
 #, sh-format
 msgid "Unable to checkout submodule '$sm_path'"
 msgstr "Não foi possível extrair o submódulo '$sm_path'"
 
-#: git-submodule.sh:268
+#: git-submodule.sh:271
 #, sh-format
 msgid "Failed to add submodule '$sm_path'"
 msgstr "Falha ao adicionar o submódulo '$sm_path'"
 
-#: git-submodule.sh:277
+#: git-submodule.sh:280
 #, sh-format
 msgid "Failed to register submodule '$sm_path'"
 msgstr "Falha ao registar o submódulo '$sm_path'"
 
-#: git-submodule.sh:324
+#: git-submodule.sh:327
 #, sh-format
 msgid "Entering '$displaypath'"
 msgstr "A entrar em '$displaypath'"
 
-#: git-submodule.sh:344
+#: git-submodule.sh:347
 #, sh-format
 msgid "Stopping at '$displaypath'; script returned non-zero status."
 msgstr ""
 "Interrompido em '$displaypath'; o script retornou um valor diferente de zero."
 
-#: git-submodule.sh:415
+#: git-submodule.sh:418
 #, sh-format
 msgid "pathspec and --all are incompatible"
 msgstr "especificador de caminho e --all são incompatíveis"
 
-#: git-submodule.sh:420
+#: git-submodule.sh:423
 #, sh-format
 msgid "Use '--all' if you really want to deinitialize all submodules"
 msgstr ""
 "Use '--all' se pretende mesmo anular a inicialização todos os submódulos"
 
-#: git-submodule.sh:440
+#: git-submodule.sh:443
 #, sh-format
 msgid ""
 "Submodule work tree '$displaypath' contains a .git directory\n"
 "(use 'rm -rf' if you really want to remove it including all of its history)"
 msgstr ""
-"A árvore de trabalho do submódulo '$displaypath' contem um diretório .git\n"
+"A árvore de trabalho do submódulo '$displaypath' contém um diretório .git\n"
 "(use 'rm -rf' se pretende mesmo removê-lo, incluindo todo o seu histórico)"
 
-#: git-submodule.sh:448
+#: git-submodule.sh:451
 #, sh-format
 msgid ""
 "Submodule work tree '$displaypath' contains local modifications; use '-f' to "
@@ -14055,41 +14466,41 @@
 "A árvore de trabalho do submódulo '$displaypath' contém alterações locais; "
 "use '-f' para as descartar"
 
-#: git-submodule.sh:451
+#: git-submodule.sh:454
 #, sh-format
 msgid "Cleared directory '$displaypath'"
 msgstr "Diretório '$displaypath' limpo"
 
-#: git-submodule.sh:452
+#: git-submodule.sh:455
 #, sh-format
 msgid "Could not remove submodule work tree '$displaypath'"
 msgstr ""
 "Não foi possível remover a árvore de trabalho do submódulo '$displaypath'"
 
-#: git-submodule.sh:455
+#: git-submodule.sh:458
 #, sh-format
 msgid "Could not create empty submodule directory '$displaypath'"
 msgstr "Não foi possível criar o diretório vazio do submódulo '$displaypath'"
 
-#: git-submodule.sh:464
+#: git-submodule.sh:467
 #, sh-format
 msgid "Submodule '$name' ($url) unregistered for path '$displaypath'"
 msgstr ""
 "O registo do submódulo '$name' ($url) foi removido do caminho '$displaypath'"
 
-#: git-submodule.sh:617
+#: git-submodule.sh:623
 #, sh-format
 msgid "Unable to find current revision in submodule path '$displaypath'"
 msgstr ""
 "Não foi possível encontrar a revisão atual no caminho de submódulo "
 "'$displaypath'"
 
-#: git-submodule.sh:627
+#: git-submodule.sh:633
 #, sh-format
 msgid "Unable to fetch in submodule path '$sm_path'"
 msgstr "Não foi possível obter no caminho de submódulo '$sm_path'"
 
-#: git-submodule.sh:632
+#: git-submodule.sh:638
 #, sh-format
 msgid ""
 "Unable to find current ${remote_name}/${branch} revision in submodule path "
@@ -14098,12 +14509,12 @@
 "Não foi possível encontrar a revisão atual ${remote_name}/${branch} no "
 "caminho de submódulo '$sm_path'"
 
-#: git-submodule.sh:650
+#: git-submodule.sh:656
 #, sh-format
 msgid "Unable to fetch in submodule path '$displaypath'"
 msgstr "Não é possível obter no caminho de submódulo '$displaypath'"
 
-#: git-submodule.sh:656
+#: git-submodule.sh:662
 #, sh-format
 msgid ""
 "Fetched in submodule path '$displaypath', but it did not contain $sha1. "
@@ -14112,84 +14523,84 @@
 "Obteve-se no caminho de submódulo '$displaypath', mas não continha $sha1. "
 "Falha ao obter aquele commit diretamente."
 
-#: git-submodule.sh:663
+#: git-submodule.sh:669
 #, sh-format
 msgid "Unable to checkout '$sha1' in submodule path '$displaypath'"
 msgstr "Não é possível extrair '$sha1' no caminho de submódulo '$displaypath'"
 
-#: git-submodule.sh:664
+#: git-submodule.sh:670
 #, sh-format
 msgid "Submodule path '$displaypath': checked out '$sha1'"
 msgstr "Caminho de submódulo '$displaypath': '$sha1' extraído"
 
-#: git-submodule.sh:668
+#: git-submodule.sh:674
 #, sh-format
 msgid "Unable to rebase '$sha1' in submodule path '$displaypath'"
 msgstr ""
 "Não foi possível efetuar rebase de '$sha1' no caminho de submódulo "
 "'$displaypath'"
 
-#: git-submodule.sh:669
+#: git-submodule.sh:675
 #, sh-format
 msgid "Submodule path '$displaypath': rebased into '$sha1'"
 msgstr "Caminho de submódulo '$displaypath': rebase concluído em '$sha1'"
 
-#: git-submodule.sh:674
+#: git-submodule.sh:680
 #, sh-format
 msgid "Unable to merge '$sha1' in submodule path '$displaypath'"
 msgstr "Não é possível integrar '$sha1' no caminho de submódulo '$displaypath'"
 
-#: git-submodule.sh:675
+#: git-submodule.sh:681
 #, sh-format
 msgid "Submodule path '$displaypath': merged in '$sha1'"
 msgstr "Caminho de submódulo '$displaypath': integrado em '$sha1'"
 
-#: git-submodule.sh:680
+#: git-submodule.sh:686
 #, sh-format
 msgid "Execution of '$command $sha1' failed in submodule path '$displaypath'"
 msgstr ""
 "Falha ao executar '$command $sha1' no caminho de submódulo '$displaypath'"
 
-#: git-submodule.sh:681
+#: git-submodule.sh:687
 #, sh-format
 msgid "Submodule path '$displaypath': '$command $sha1'"
 msgstr "Caminho de submódulo '$displaypath': '$command $sha1'"
 
-#: git-submodule.sh:712
+#: git-submodule.sh:718
 #, sh-format
 msgid "Failed to recurse into submodule path '$displaypath'"
 msgstr "Falha ao percorrer o caminho de submódulo '$displaypath'"
 
-#: git-submodule.sh:820
+#: git-submodule.sh:826
 msgid "The --cached option cannot be used with the --files option"
 msgstr "A opção --cached não pode ser usada com a opção --files"
 
-#: git-submodule.sh:872
+#: git-submodule.sh:878
 #, sh-format
 msgid "unexpected mode $mod_dst"
 msgstr "modo inesperado $mod_dst"
 
-#: git-submodule.sh:892
+#: git-submodule.sh:898
 #, sh-format
 msgid "  Warn: $display_name doesn't contain commit $sha1_src"
 msgstr "  Aviso: $display_name não contém o commit $sha1_src"
 
-#: git-submodule.sh:895
+#: git-submodule.sh:901
 #, sh-format
 msgid "  Warn: $display_name doesn't contain commit $sha1_dst"
 msgstr "  Warn: $display_name não contém o commit $sha1_dst"
 
-#: git-submodule.sh:898
+#: git-submodule.sh:904
 #, sh-format
 msgid "  Warn: $display_name doesn't contain commits $sha1_src and $sha1_dst"
 msgstr "  Warn: $display_name contém os commits $sha1_src e $sha1_dst"
 
-#: git-submodule.sh:1045
+#: git-submodule.sh:1051
 #, sh-format
 msgid "Failed to recurse into submodule path '$sm_path'"
 msgstr "Falha ao percorrer recursivamente o caminho de submódulo '$sm_path'"
 
-#: git-submodule.sh:1112
+#: git-submodule.sh:1118
 #, sh-format
 msgid "Synchronizing submodule url for '$displaypath'"
 msgstr "A sincronizar o URL do submódulo '$displaypath'"
@@ -14199,12 +14610,12 @@
 msgid "See git-${cmd}(1) for details."
 msgstr "Consulte git-${cmd}(1) para obter mais detalhes."
 
-#: git-rebase--interactive.sh:131
+#: git-rebase--interactive.sh:140
 #, sh-format
 msgid "Rebasing ($new_count/$total)"
 msgstr "A rebasear ($new_count/$total)"
 
-#: git-rebase--interactive.sh:147
+#: git-rebase--interactive.sh:156
 msgid ""
 "\n"
 "Commands:\n"
@@ -14230,7 +14641,7 @@
 "\n"
 "Estas linhas pode ser reordenadas; são executadas de cima para baixo.\n"
 
-#: git-rebase--interactive.sh:162
+#: git-rebase--interactive.sh:171
 msgid ""
 "\n"
 "Do not remove any line. Use 'drop' explicitly to remove a commit.\n"
@@ -14238,7 +14649,7 @@
 "\n"
 "Não remover nenhum linha. Use 'drop' explicitamente para remover um commit.\n"
 
-#: git-rebase--interactive.sh:166
+#: git-rebase--interactive.sh:175
 msgid ""
 "\n"
 "If you remove a line here THAT COMMIT WILL BE LOST.\n"
@@ -14246,7 +14657,7 @@
 "\n"
 "Se remover uma linha daqui AQUELE COMMIT SERÁ PERDIDO.\n"
 
-#: git-rebase--interactive.sh:202
+#: git-rebase--interactive.sh:211
 #, sh-format
 msgid ""
 "You can amend the commit now, with\n"
@@ -14265,87 +14676,83 @@
 "\n"
 "\tgit rebase --continue"
 
-#: git-rebase--interactive.sh:227
+#: git-rebase--interactive.sh:236
 #, sh-format
 msgid "$sha1: not a commit that can be picked"
 msgstr "$sha1: não é um commit que se possa apanhar"
 
-#: git-rebase--interactive.sh:266
+#: git-rebase--interactive.sh:275
 #, sh-format
 msgid "Invalid commit name: $sha1"
 msgstr "Nome de commit inválido: $sha1"
 
-#: git-rebase--interactive.sh:308
+#: git-rebase--interactive.sh:317
 msgid "Cannot write current commit's replacement sha1"
 msgstr "Não é possível escrever o sha1 substituto do commit"
 
-#: git-rebase--interactive.sh:360
+#: git-rebase--interactive.sh:369
 #, sh-format
 msgid "Fast-forward to $sha1"
 msgstr "Avanço-rápido para $sha1"
 
-#: git-rebase--interactive.sh:362
+#: git-rebase--interactive.sh:371
 #, sh-format
 msgid "Cannot fast-forward to $sha1"
 msgstr "Não é possível avançar rapidamente para $sha1"
 
-#: git-rebase--interactive.sh:371
+#: git-rebase--interactive.sh:380
 #, sh-format
 msgid "Cannot move HEAD to $first_parent"
 msgstr "Não é possível mover HEAD para $first_parent"
 
-#: git-rebase--interactive.sh:376
+#: git-rebase--interactive.sh:385
 #, sh-format
 msgid "Refusing to squash a merge: $sha1"
 msgstr "Recusa-se a esmagar uma integração: $sha1"
 
-#: git-rebase--interactive.sh:390
+#: git-rebase--interactive.sh:399
 #, sh-format
 msgid "Error redoing merge $sha1"
 msgstr "Erro ao refazer integração $sha1"
 
-#: git-rebase--interactive.sh:398
+#: git-rebase--interactive.sh:407
 #, sh-format
 msgid "Could not pick $sha1"
 msgstr "Não foi possível apanhar $sha1"
 
-#: git-rebase--interactive.sh:407
+#: git-rebase--interactive.sh:416
 #, sh-format
 msgid "This is the commit message #${n}:"
 msgstr "Esta é a mensagem de commit nº${n}:"
 
-#: git-rebase--interactive.sh:412
+#: git-rebase--interactive.sh:421
 #, sh-format
 msgid "The commit message #${n} will be skipped:"
 msgstr "A mensagem de commit nº${n} será ignorada:"
 
-#: git-rebase--interactive.sh:423
+#: git-rebase--interactive.sh:432
 #, sh-format
 msgid "This is a combination of $count commit."
 msgid_plural "This is a combination of $count commits."
 msgstr[0] "Isto é a combinação de $count commit."
 msgstr[1] "Isto é a combinação de $count commits."
 
-#: git-rebase--interactive.sh:431
+#: git-rebase--interactive.sh:441
 #, sh-format
 msgid "Cannot write $fixup_msg"
 msgstr "Não é possível escrever $fixup_msg"
 
-#: git-rebase--interactive.sh:434
+#: git-rebase--interactive.sh:444
 msgid "This is a combination of 2 commits."
 msgstr "Isto é a combinação de 2 commits."
 
-#: git-rebase--interactive.sh:435
-msgid "This is the 1st commit message:"
-msgstr "Esta é a 1ª mensagem de commit:"
-
-#: git-rebase--interactive.sh:475 git-rebase--interactive.sh:518
-#: git-rebase--interactive.sh:521
+#: git-rebase--interactive.sh:485 git-rebase--interactive.sh:528
+#: git-rebase--interactive.sh:531
 #, sh-format
 msgid "Could not apply $sha1... $rest"
 msgstr "Não foi possível aplicar $sha1... $rest"
 
-#: git-rebase--interactive.sh:549
+#: git-rebase--interactive.sh:559
 #, sh-format
 msgid ""
 "Could not amend commit after successfully picking $sha1... $rest\n"
@@ -14362,31 +14769,31 @@
 "poder\n"
 "reformular a mensagem do commit."
 
-#: git-rebase--interactive.sh:564
+#: git-rebase--interactive.sh:574
 #, sh-format
 msgid "Stopped at $sha1_abbrev... $rest"
 msgstr "Parou em $sha1_abbrev... $rest"
 
-#: git-rebase--interactive.sh:579
+#: git-rebase--interactive.sh:589
 #, sh-format
 msgid "Cannot '$squash_style' without a previous commit"
 msgstr "Não é possível efetuar '$squash_style' sem um commit anterior"
 
-#: git-rebase--interactive.sh:621
+#: git-rebase--interactive.sh:631
 #, sh-format
 msgid "Executing: $rest"
 msgstr "A executar: $rest"
 
-#: git-rebase--interactive.sh:629
+#: git-rebase--interactive.sh:639
 #, sh-format
 msgid "Execution failed: $rest"
 msgstr "Falha ao executar: $rest"
 
-#: git-rebase--interactive.sh:631
+#: git-rebase--interactive.sh:641
 msgid "and made changes to the index and/or the working tree"
 msgstr "e fez alterações ao índice e/ou à árvore de trabalho"
 
-#: git-rebase--interactive.sh:633
+#: git-rebase--interactive.sh:643
 msgid ""
 "You can fix the problem, and then run\n"
 "\n"
@@ -14397,7 +14804,7 @@
 "\tgit rebase --continue"
 
 #. TRANSLATORS: after these lines is a command to be issued by the user
-#: git-rebase--interactive.sh:646
+#: git-rebase--interactive.sh:656
 #, sh-format
 msgid ""
 "Execution succeeded: $rest\n"
@@ -14412,25 +14819,25 @@
 "\n"
 "\tgit rebase --continue"
 
-#: git-rebase--interactive.sh:657
+#: git-rebase--interactive.sh:667
 #, sh-format
 msgid "Unknown command: $command $sha1 $rest"
 msgstr "Comando desconhecido: $command $sha1 $rest"
 
-#: git-rebase--interactive.sh:658
+#: git-rebase--interactive.sh:668
 msgid "Please fix this using 'git rebase --edit-todo'."
 msgstr "Corrija-o usando 'git rebase --edit-todo'."
 
-#: git-rebase--interactive.sh:693
+#: git-rebase--interactive.sh:703
 #, sh-format
 msgid "Successfully rebased and updated $head_name."
 msgstr "$head_name rebaseado e atualizado com sucesso."
 
-#: git-rebase--interactive.sh:740
+#: git-rebase--interactive.sh:750
 msgid "Could not skip unnecessary pick commands"
 msgstr "Não foi possível saltar comandos pick desnecessários"
 
-#: git-rebase--interactive.sh:898
+#: git-rebase--interactive.sh:908
 #, sh-format
 msgid ""
 "Warning: the SHA-1 is missing or isn't a commit in the following line:\n"
@@ -14439,7 +14846,7 @@
 "Aviso: falta o SHA-1 ou a seguinte linha não tem um commit:\n"
 " - $line"
 
-#: git-rebase--interactive.sh:931
+#: git-rebase--interactive.sh:941
 #, sh-format
 msgid ""
 "Warning: the command isn't recognized in the following line:\n"
@@ -14448,11 +14855,11 @@
 "Aviso: o comando não é reconhecido na seguinte linha:\n"
 " - $line"
 
-#: git-rebase--interactive.sh:970
+#: git-rebase--interactive.sh:980
 msgid "could not detach HEAD"
 msgstr "não foi possível destacar HEAD"
 
-#: git-rebase--interactive.sh:1008
+#: git-rebase--interactive.sh:1018
 msgid ""
 "Warning: some commits may have been dropped accidentally.\n"
 "Dropped commits (newer to older):"
@@ -14460,12 +14867,11 @@
 "Aviso: alguns commits podem ter sido descartados acidentalmente.\n"
 "Commits descartados (mais novo para o mais velho):"
 
-#: git-rebase--interactive.sh:1016
+#: git-rebase--interactive.sh:1026
 msgid ""
 "To avoid this message, use \"drop\" to explicitly remove a commit.\n"
 "\n"
-"Use 'git config rebase.missingCommitsCheck' to change the level of "
-"warnings.\n"
+"Use 'git config rebase.missingCommitsCheck' to change the level of warnings.\n"
 "The possible behaviours are: ignore, warn, error."
 msgstr ""
 "Para evitar esta mensagem, use \"drop\" para remover um commit "
@@ -14474,7 +14880,7 @@
 "Use 'git config rebase.missingCommitsCheck' para mudar o nível de avisos.\n"
 "O comportamentos possíveis são: ignore, warn, error."
 
-#: git-rebase--interactive.sh:1027
+#: git-rebase--interactive.sh:1037
 #, sh-format
 msgid ""
 "Unrecognized setting $check_level for option rebase.missingCommitsCheck. "
@@ -14483,7 +14889,7 @@
 "Definição $check_level desconhecida da opção rebase.missingCommitsCheck. "
 "Ignorado."
 
-#: git-rebase--interactive.sh:1044
+#: git-rebase--interactive.sh:1054
 msgid ""
 "You can fix this with 'git rebase --edit-todo' and then run 'git rebase --"
 "continue'."
@@ -14491,15 +14897,15 @@
 "Pode corrí-lo com 'git rebase --edit-todo' e depois executar 'git rebase --"
 "continue'."
 
-#: git-rebase--interactive.sh:1045
+#: git-rebase--interactive.sh:1055
 msgid "Or you can abort the rebase with 'git rebase --abort'."
 msgstr "Ou pode abortar o rebase com 'git rebase --abort'."
 
-#: git-rebase--interactive.sh:1069
+#: git-rebase--interactive.sh:1079
 msgid "Could not remove CHERRY_PICK_HEAD"
 msgstr "Não foi possível remover CHERRY_PICK_HEAD"
 
-#: git-rebase--interactive.sh:1074
+#: git-rebase--interactive.sh:1084
 #, sh-format
 msgid ""
 "You have staged changes in your working tree.\n"
@@ -14530,11 +14936,11 @@
 "\n"
 "  git rebase --continue\n"
 
-#: git-rebase--interactive.sh:1091
+#: git-rebase--interactive.sh:1101
 msgid "Error trying to find the author identity to amend commit"
 msgstr "Erro ao tentar encontrar a identidade do autor para emendar o commit"
 
-#: git-rebase--interactive.sh:1096
+#: git-rebase--interactive.sh:1106
 msgid ""
 "You have uncommitted changes in your working tree. Please commit them\n"
 "first and then run 'git rebase --continue' again."
@@ -14542,11 +14948,11 @@
 "Tem alterações por submeter na árvore de trabalho. Submeta-as primeiro\n"
 "e execute 'git rebase --continue' de novo."
 
-#: git-rebase--interactive.sh:1101 git-rebase--interactive.sh:1105
+#: git-rebase--interactive.sh:1111 git-rebase--interactive.sh:1115
 msgid "Could not commit staged changes."
 msgstr "Não foi possível submeter as alterações preparadas."
 
-#: git-rebase--interactive.sh:1129
+#: git-rebase--interactive.sh:1139
 msgid ""
 "\n"
 "You are editing the todo file of an ongoing interactive rebase.\n"
@@ -14560,40 +14966,40 @@
 "    git rebase --continue\n"
 "\n"
 
-#: git-rebase--interactive.sh:1137 git-rebase--interactive.sh:1295
+#: git-rebase--interactive.sh:1147 git-rebase--interactive.sh:1305
 msgid "Could not execute editor"
 msgstr "Não foi possível executar o editor"
 
-#: git-rebase--interactive.sh:1150
+#: git-rebase--interactive.sh:1160
 #, sh-format
 msgid "Could not checkout $switch_to"
 msgstr "Não foi possível extrair $switch_to"
 
-#: git-rebase--interactive.sh:1155
+#: git-rebase--interactive.sh:1165
 msgid "No HEAD?"
 msgstr "Sem HEAD?"
 
-#: git-rebase--interactive.sh:1156
+#: git-rebase--interactive.sh:1166
 #, sh-format
 msgid "Could not create temporary $state_dir"
 msgstr "Não foi possível criar $state_dir temporário"
 
-#: git-rebase--interactive.sh:1158
+#: git-rebase--interactive.sh:1168
 msgid "Could not mark as interactive"
 msgstr "Não foi possível marcar como interativo"
 
-#: git-rebase--interactive.sh:1168 git-rebase--interactive.sh:1173
+#: git-rebase--interactive.sh:1178 git-rebase--interactive.sh:1183
 msgid "Could not init rewritten commits"
 msgstr "Não foi possível inicializar commits reescritos"
 
-#: git-rebase--interactive.sh:1273
+#: git-rebase--interactive.sh:1283
 #, sh-format
 msgid "Rebase $shortrevisions onto $shortonto ($todocount command)"
 msgid_plural "Rebase $shortrevisions onto $shortonto ($todocount commands)"
 msgstr[0] "Rebase $shortrevisions sobre $shortonto ($todocount comando)"
 msgstr[1] "Rebase $shortrevisions sobre $shortonto ($todocount comandos)"
 
-#: git-rebase--interactive.sh:1278
+#: git-rebase--interactive.sh:1288
 msgid ""
 "\n"
 "However, if you remove everything, the rebase will be aborted.\n"
@@ -14603,7 +15009,7 @@
 "No entanto, se remover tudo, o rebase será abortado.\n"
 "\n"
 
-#: git-rebase--interactive.sh:1285
+#: git-rebase--interactive.sh:1295
 msgid "Note that empty commits are commented out"
 msgstr "Note que commits vazios são comentados"
 
@@ -14668,6 +15074,910 @@
 msgid "Unable to determine absolute path of git directory"
 msgstr "Não é possível determinar o caminho absoluto do diretório git"
 
+#. TRANSLATORS: you can adjust this to align "git add -i" status menu
+#: git-add--interactive.perl:238
+#, perl-format
+msgid "%12s %12s %s"
+msgstr "%12s %12s %s"
+
+#: git-add--interactive.perl:239
+msgid "staged"
+msgstr "preparado"
+
+#: git-add--interactive.perl:239
+msgid "unstaged"
+msgstr "não preparado"
+
+#: git-add--interactive.perl:297 git-add--interactive.perl:322
+msgid "binary"
+msgstr "binário"
+
+#: git-add--interactive.perl:306 git-add--interactive.perl:360
+msgid "nothing"
+msgstr "nada"
+
+#: git-add--interactive.perl:342 git-add--interactive.perl:357
+msgid "unchanged"
+msgstr "não alterado"
+
+#: git-add--interactive.perl:653
+#, perl-format
+msgid "added %d path\n"
+msgid_plural "added %d paths\n"
+msgstr[0] "%d caminho adicionar\n"
+msgstr[1] "%d caminhos adicionados\n"
+
+#: git-add--interactive.perl:656
+#, perl-format
+msgid "updated %d path\n"
+msgid_plural "updated %d paths\n"
+msgstr[0] "%d caminho atualizado\n"
+msgstr[1] "%d caminhos atualizados\n"
+
+#: git-add--interactive.perl:659
+#, perl-format
+msgid "reverted %d path\n"
+msgid_plural "reverted %d paths\n"
+msgstr[0] "%d caminho revertido\n"
+msgstr[1] "%d caminhos revertidos\n"
+
+#: git-add--interactive.perl:662
+#, perl-format
+msgid "touched %d path\n"
+msgid_plural "touched %d paths\n"
+msgstr[0] "%d caminho afetado\n"
+msgstr[1] "%d caminhos afetados\n"
+
+#: git-add--interactive.perl:671
+msgid "Update"
+msgstr "Atualizar"
+
+#: git-add--interactive.perl:683
+msgid "Revert"
+msgstr "Reverter"
+
+#: git-add--interactive.perl:706
+#, perl-format
+msgid "note: %s is untracked now.\n"
+msgstr "nota: %s é agora não controlado.\n"
+
+#: git-add--interactive.perl:717
+msgid "Add untracked"
+msgstr "Adicionar não controlados"
+
+#: git-add--interactive.perl:723
+msgid "No untracked files.\n"
+msgstr "Nenhum ficheiros não controlado.\n"
+
+#: git-add--interactive.perl:1039
+msgid ""
+"If the patch applies cleanly, the edited hunk will immediately be\n"
+"marked for staging."
+msgstr ""
+"Se o patch se aplicar corretamente, o excerto editado será marcado\n"
+"como preparado imediatamente."
+
+#: git-add--interactive.perl:1042
+msgid ""
+"If the patch applies cleanly, the edited hunk will immediately be\n"
+"marked for stashing."
+msgstr ""
+"Se o patch se aplicar corretamente, o excerto editado será marcado\n"
+"como escondido imediatamente."
+
+#: git-add--interactive.perl:1045
+msgid ""
+"If the patch applies cleanly, the edited hunk will immediately be\n"
+"marked for unstaging."
+msgstr ""
+"Se o patch se aplicar corretamente, o excerto editado será marcado\n"
+"como não preparado imediatamente."
+
+#: git-add--interactive.perl:1048 git-add--interactive.perl:1057
+msgid ""
+"If the patch applies cleanly, the edited hunk will immediately be\n"
+"marked for applying."
+msgstr ""
+"Se o patch se aplicar corretamente, o excerto editado será marcado\n"
+"para ser aplicado imediatamente."
+
+#: git-add--interactive.perl:1051
+msgid ""
+"If the patch applies cleanly, the edited hunk will immediately be\n"
+"marked for discarding"
+msgstr ""
+"Se o patch se aplicar corretamente, o excerto editado será marcado\n"
+"para ser descartado imediatamente."
+
+#: git-add--interactive.perl:1054
+msgid ""
+"If the patch applies cleanly, the edited hunk will immediately be\n"
+"marked for discarding."
+msgstr ""
+"Se o patch se aplicar corretamente, o excerto editado será marcado\n"
+"para ser descartado imediatamente."
+
+#: git-add--interactive.perl:1067
+#, perl-format
+msgid "failed to open hunk edit file for writing: %s"
+msgstr "não foi possível abrir o ficheiro de edição do excerto para escrita: %s"
+
+#: git-add--interactive.perl:1068
+msgid "Manual hunk edit mode -- see bottom for a quick guide.\n"
+msgstr "Modo de edição manual de excerto -- ver guia rápido abaixo no final.\n"
+
+#: git-add--interactive.perl:1074
+#, perl-format
+msgid ""
+"---\n"
+"To remove '%s' lines, make them ' ' lines (context).\n"
+"To remove '%s' lines, delete them.\n"
+"Lines starting with %s will be removed.\n"
+msgstr ""
+"---\n"
+"Para remover linhas '%s', torne-as linhas ' ' (contexto).\n"
+"Para remover linhas '%s', elimine-as.\n"
+"Linhas começadas com %s serão removidas.\n"
+
+#. TRANSLATORS: 'it' refers to the patch mentioned in the previous messages.
+#: git-add--interactive.perl:1082
+msgid ""
+"If it does not apply cleanly, you will be given an opportunity to\n"
+"edit again.  If all lines of the hunk are removed, then the edit is\n"
+"aborted and the hunk is left unchanged.\n"
+msgstr ""
+"Se não se aplicar corretamente, ser-lhe-á dada oportunidade para editar\n"
+"de novo.  Se todas as linhas do excerto forem removidas, a edição é\n"
+"abortada e o exceto é deixado inalterado.\n"
+
+#: git-add--interactive.perl:1096
+#, perl-format
+msgid "failed to open hunk edit file for reading: %s"
+msgstr "não foi possível abrir o ficheiro de edição do excerto para leitura: %s"
+
+#. TRANSLATORS: do not translate [y/n]
+#. The program will only accept that input
+#. at this point.
+#. Consider translating (saying "no" discards!) as
+#. (saying "n" for "no" discards!) if the translation
+#. of the word "no" does not start with n.
+#: git-add--interactive.perl:1187
+msgid ""
+"Your edited hunk does not apply. Edit again (saying \"no\" discards!) [y/n]? "
+msgstr ""
+"O excerto que editou não aplica.\n"
+"Edite de novo (responder \"não\" descarta!) [y/n]? "
+
+#: git-add--interactive.perl:1196
+msgid ""
+"y - stage this hunk\n"
+"n - do not stage this hunk\n"
+"q - quit; do not stage this hunk or any of the remaining ones\n"
+"a - stage this hunk and all later hunks in the file\n"
+"d - do not stage this hunk or any of the later hunks in the file"
+msgstr ""
+"y - preparar este excerto\n"
+"n - não preparar este excerto\n"
+"q - sair; não preparar este excerto nem os restantes\n"
+"a - preparar este excerto e todos os excertos seguintes no ficheiro\n"
+"d - não preparar este excerto nem os excertos seguintes no ficheiro"
+
+#: git-add--interactive.perl:1202
+msgid ""
+"y - stash this hunk\n"
+"n - do not stash this hunk\n"
+"q - quit; do not stash this hunk or any of the remaining ones\n"
+"a - stash this hunk and all later hunks in the file\n"
+"d - do not stash this hunk or any of the later hunks in the file"
+msgstr ""
+"y - esconder este excerto\n"
+"n - não esconder este excerto\n"
+"q - sair; não esconder este excerto nem os restantes\n"
+"a - esconder este excerto e todos os seguintes no ficheiro\n"
+"d - não esconder este excerto nem os excertos seguintes no ficheiro"
+
+#: git-add--interactive.perl:1208
+msgid ""
+"y - unstage this hunk\n"
+"n - do not unstage this hunk\n"
+"q - quit; do not unstage this hunk or any of the remaining ones\n"
+"a - unstage this hunk and all later hunks in the file\n"
+"d - do not unstage this hunk or any of the later hunks in the file"
+msgstr ""
+"y - despreparar este excerto\n"
+"n - não despreparar este excerto\n"
+"q - sair; não despreparar este excerto nem outros restantes\n"
+"a - despreparar este excerto e todos os excertos seguintes no ficheiro\n"
+"d - não despreparar este excerto nem os excertos seguintes no ficheiro"
+
+#: git-add--interactive.perl:1214
+msgid ""
+"y - apply this hunk to index\n"
+"n - do not apply this hunk to index\n"
+"q - quit; do not apply this hunk or any of the remaining ones\n"
+"a - apply this hunk and all later hunks in the file\n"
+"d - do not apply this hunk or any of the later hunks in the file"
+msgstr ""
+"y - aplicar este excerto ao índice\n"
+"n - não aplicar este excerto ao índice\n"
+"q - sair; não aplicar este excerto nem os restantes\n"
+"a - aplicar este excerto e todos os excertos seguintes no ficheiro\n"
+"d - não aplicar este excerto nem os excertos seguintes no ficheiro"
+
+#: git-add--interactive.perl:1220
+msgid ""
+"y - discard this hunk from worktree\n"
+"n - do not discard this hunk from worktree\n"
+"q - quit; do not discard this hunk or any of the remaining ones\n"
+"a - discard this hunk and all later hunks in the file\n"
+"d - do not discard this hunk or any of the later hunks in the file"
+msgstr ""
+"y - descartar este excerto da árvore de trabalho\n"
+"n - não descartar este excerto da árvore de trabalho\n"
+"q - sair; não descartar este excerto nem os restantes\n"
+"a - descartar este excerto e todos os excertos seguintes no ficheiro\n"
+"d - não descartar este excerto nem os excertos seguintes no ficheiro"
+
+#: git-add--interactive.perl:1226
+msgid ""
+"y - discard this hunk from index and worktree\n"
+"n - do not discard this hunk from index and worktree\n"
+"q - quit; do not discard this hunk or any of the remaining ones\n"
+"a - discard this hunk and all later hunks in the file\n"
+"d - do not discard this hunk or any of the later hunks in the file"
+msgstr ""
+"y - descartar este excerto do índice e da árvore de trabalho\n"
+"n - não descartar este excerto do índice nem da árvore de trabalho\n"
+"q - sair; não descartar este excerto nem nenhum dos restantes\n"
+"a - descartar este excerto e todos os excertos seguintes no ficheiro\n"
+"d - não descartar este excerto nem os excertos seguintes no ficheiro"
+
+#: git-add--interactive.perl:1232
+msgid ""
+"y - apply this hunk to index and worktree\n"
+"n - do not apply this hunk to index and worktree\n"
+"q - quit; do not apply this hunk or any of the remaining ones\n"
+"a - apply this hunk and all later hunks in the file\n"
+"d - do not apply this hunk or any of the later hunks in the file"
+msgstr ""
+"y - aplicar este excerto ao índice e à árvore de trabalho\n"
+"n - não aplicar este excerto ao índice e à árvore de trabalho\n"
+"q - sair; não aplicar este excerto ou restantes\n"
+"a - aplicar este excerto e todos os excertos seguintes no ficheiro\n"
+"d - não aplicar este excerto nem os excertos seguintes no ficheiro"
+
+#: git-add--interactive.perl:1241
+msgid ""
+"g - select a hunk to go to\n"
+"/ - search for a hunk matching the given regex\n"
+"j - leave this hunk undecided, see next undecided hunk\n"
+"J - leave this hunk undecided, see next hunk\n"
+"k - leave this hunk undecided, see previous undecided hunk\n"
+"K - leave this hunk undecided, see previous hunk\n"
+"s - split the current hunk into smaller hunks\n"
+"e - manually edit the current hunk\n"
+"? - print help\n"
+msgstr ""
+"g - selecionar um excerto para ir\n"
+"/ - procurar por um excerto correspondendo à regex dada\n"
+"j - deixar este excerto indecidido, ver excerto seguinte indecidido\n"
+"J - deixar este excerto indecidido, ver excerto seguinte\n"
+"k - deixar este excerto indecidido, ver excerto anterior indecidido\n"
+"K - deixar este excerto indecidido, ver excerto anterior\n"
+"s - dividir o excerto atual em excertos mais pequenos\n"
+"e - editar manualmente o excerto atual\n"
+"? - imprimir ajuda\n"
+
+#: git-add--interactive.perl:1272
+msgid "The selected hunks do not apply to the index!\n"
+msgstr "Os excertos selecionados não aplicam ao índice!\n"
+
+#: git-add--interactive.perl:1273
+msgid "Apply them to the worktree anyway? "
+msgstr "Aplicá-los à árvore de trabalho mesmo assim? "
+
+#: git-add--interactive.perl:1276
+msgid "Nothing was applied.\n"
+msgstr "Não foi aplicado nada.\n"
+
+#: git-add--interactive.perl:1287
+#, perl-format
+msgid "ignoring unmerged: %s\n"
+msgstr "ignorado não integrado: %s\n"
+
+#: git-add--interactive.perl:1296
+msgid "Only binary files changed.\n"
+msgstr "Apenas ficheiros binários alterados.\n"
+
+#: git-add--interactive.perl:1298
+msgid "No changes.\n"
+msgstr "Sem alterações.\n"
+
+#: git-add--interactive.perl:1306
+msgid "Patch update"
+msgstr "Atualizar patch"
+
+#: git-add--interactive.perl:1358
+#, perl-format
+msgid "Stage mode change [y,n,q,a,d,/%s,?]? "
+msgstr "Preparar alteração de modo [y,n,q,a,d,/%s,?]? "
+
+#: git-add--interactive.perl:1359
+#, perl-format
+msgid "Stage deletion [y,n,q,a,d,/%s,?]? "
+msgstr "Preparar eliminação [y,n,q,a,d,/%s,?]? "
+
+#: git-add--interactive.perl:1360
+#, perl-format
+msgid "Stage this hunk [y,n,q,a,d,/%s,?]? "
+msgstr "Preparar este excerto [y,n,q,a,d,/%s,?]? "
+
+#: git-add--interactive.perl:1363
+#, perl-format
+msgid "Stash mode change [y,n,q,a,d,/%s,?]? "
+msgstr "Esconder alteração de modo [y,n,q,a,d,/%s,?]? "
+
+#: git-add--interactive.perl:1364
+#, perl-format
+msgid "Stash deletion [y,n,q,a,d,/%s,?]? "
+msgstr "Esconder eliminação [y,n,q,a,d,/%s,?]? "
+
+#: git-add--interactive.perl:1365
+#, perl-format
+msgid "Stash this hunk [y,n,q,a,d,/%s,?]? "
+msgstr "Esconder este excerto [y,n,q,a,d,/%s,?]? "
+
+#: git-add--interactive.perl:1368
+#, perl-format
+msgid "Unstage mode change [y,n,q,a,d,/%s,?]? "
+msgstr "Não preparar alteração de modo [y,n,q,a,d,/%s,?]? "
+
+#: git-add--interactive.perl:1369
+#, perl-format
+msgid "Unstage deletion [y,n,q,a,d,/%s,?]? "
+msgstr "Não preparar eliminação [y,n,q,a,d,/%s,?]? "
+
+#: git-add--interactive.perl:1370
+#, perl-format
+msgid "Unstage this hunk [y,n,q,a,d,/%s,?]? "
+msgstr "Não preparar este excerto [y,n,q,a,d,/%s,?]? "
+
+#: git-add--interactive.perl:1373
+#, perl-format
+msgid "Apply mode change to index [y,n,q,a,d,/%s,?]? "
+msgstr "Aplicar alteração de modo ao índice [y,n,q,a,d,/%s,?]? "
+
+#: git-add--interactive.perl:1374
+#, perl-format
+msgid "Apply deletion to index [y,n,q,a,d,/%s,?]? "
+msgstr "Aplicar eliminação ao índice [y,n,q,a,d,/%s,?]? "
+
+#: git-add--interactive.perl:1375
+#, perl-format
+msgid "Apply this hunk to index [y,n,q,a,d,/%s,?]? "
+msgstr "Aplicar este excerto ao índice [y,n,q,a,d,/%s,?]? "
+
+#: git-add--interactive.perl:1378
+#, perl-format
+msgid "Discard mode change from worktree [y,n,q,a,d,/%s,?]? "
+msgstr "Descartar alteração de modo da árvore de trabalho [y,n,q,a,d,/%s,?]? "
+
+#: git-add--interactive.perl:1379
+#, perl-format
+msgid "Discard deletion from worktree [y,n,q,a,d,/%s,?]? "
+msgstr "Descartar eliminação da árvore de trabalho [y,n,q,a,d,/%s,?]? "
+
+#: git-add--interactive.perl:1380
+#, perl-format
+msgid "Discard this hunk from worktree [y,n,q,a,d,/%s,?]? "
+msgstr "Descartar este excerto da árvore de trabalho [y,n,q,a,d,/%s,?]? "
+
+#: git-add--interactive.perl:1383
+#, perl-format
+msgid "Discard mode change from index and worktree [y,n,q,a,d,/%s,?]? "
+msgstr ""
+"Descartar alteração de modo do índice e da árvore de trabalho [y,n,q,a,d,/"
+"%s,?]? "
+
+#: git-add--interactive.perl:1384
+#, perl-format
+msgid "Discard deletion from index and worktree [y,n,q,a,d,/%s,?]? "
+msgstr ""
+"Descartar eliminação do índice e da árvore de trabalho [y,n,q,a,d,/%s,?]? "
+
+#: git-add--interactive.perl:1385
+#, perl-format
+msgid "Discard this hunk from index and worktree [y,n,q,a,d,/%s,?]? "
+msgstr ""
+"Descartar este excerto do índice e da árvore de trabalho [y,n,q,a,d,/%s,?]? "
+
+#: git-add--interactive.perl:1388
+#, perl-format
+msgid "Apply mode change to index and worktree [y,n,q,a,d,/%s,?]? "
+msgstr ""
+"Aplicar alteração de modo ao índice e à árvore de trabalho [y,n,q,a,d,/%s,?]? "
+
+#: git-add--interactive.perl:1389
+#, perl-format
+msgid "Apply deletion to index and worktree [y,n,q,a,d,/%s,?]? "
+msgstr "Aplicar eliminação ao índice e à árvore de trabalho [y,n,q,a,d,/%s,?]? "
+
+#: git-add--interactive.perl:1390
+#, perl-format
+msgid "Apply this hunk to index and worktree [y,n,q,a,d,/%s,?]? "
+msgstr ""
+"Aplicar este excerto ao índice e à árvore de trabalho [y,n,q,a,d,/%s,?]? "
+
+#: git-add--interactive.perl:1493
+msgid "go to which hunk (<ret> to see more)? "
+msgstr "ir para que excerto (<ret> para ver mais)? "
+
+#: git-add--interactive.perl:1495
+msgid "go to which hunk? "
+msgstr "ir para que excerto? "
+
+#: git-add--interactive.perl:1504
+#, perl-format
+msgid "Invalid number: '%s'\n"
+msgstr "Número inválido: '%s'\n"
+
+#: git-add--interactive.perl:1509
+#, perl-format
+msgid "Sorry, only %d hunk available.\n"
+msgid_plural "Sorry, only %d hunks available.\n"
+msgstr[0] "Lamento, apenas %d excerto disponível.\n"
+msgstr[1] "Lamento, apenas %d excertos disponíveis.\n"
+
+#: git-add--interactive.perl:1535
+msgid "search for regex? "
+msgstr "procurar por regex? "
+
+#: git-add--interactive.perl:1548
+#, perl-format
+msgid "Malformed search regexp %s: %s\n"
+msgstr "Regexp de pesquisa malformada %s: %s\n"
+
+#: git-add--interactive.perl:1558
+msgid "No hunk matches the given pattern\n"
+msgstr "Nenhum excerto corresponde ao padrão fornecido\n"
+
+#: git-add--interactive.perl:1570 git-add--interactive.perl:1592
+msgid "No previous hunk\n"
+msgstr "Nenhum excerto anterior\n"
+
+#: git-add--interactive.perl:1579 git-add--interactive.perl:1598
+msgid "No next hunk\n"
+msgstr "Nenhum excerto seguinte\n"
+
+#: git-add--interactive.perl:1606
+#, perl-format
+msgid "Split into %d hunk.\n"
+msgid_plural "Split into %d hunks.\n"
+msgstr[0] "Dividir em %d excerto.\n"
+msgstr[1] "Dividir em %d excertos.\n"
+
+#: git-add--interactive.perl:1658
+msgid "Review diff"
+msgstr "Rever diff"
+
+#. TRANSLATORS: please do not translate the command names
+#. 'status', 'update', 'revert', etc.
+#: git-add--interactive.perl:1677
+msgid ""
+"status        - show paths with changes\n"
+"update        - add working tree state to the staged set of changes\n"
+"revert        - revert staged set of changes back to the HEAD version\n"
+"patch         - pick hunks and update selectively\n"
+"diff\t      - view diff between HEAD and index\n"
+"add untracked - add contents of untracked files to the staged set of changes\n"
+msgstr ""
+"status        - mostrar caminhos com alterações\n"
+"update        - adicionar o estado da árvore de trabalho ao conjunto de "
+"alterações preparadas\n"
+"revert        - reverter conjunto de alterações preparadas de volta à versão "
+"de HEAD\n"
+"patch         - escolher excertos e atualizar seletivamente\n"
+"diff          - ver diff entre HEAD e índice\n"
+"add untracked - adicionar conteúdos de ficheiros não controlados ao conjunto "
+"de alterações preparadas\n"
+
+#: git-add--interactive.perl:1694 git-add--interactive.perl:1699
+#: git-add--interactive.perl:1702 git-add--interactive.perl:1709
+#: git-add--interactive.perl:1713 git-add--interactive.perl:1719
+msgid "missing --"
+msgstr "falta --"
+
+#: git-add--interactive.perl:1715
+#, perl-format
+msgid "unknown --patch mode: %s"
+msgstr "Mode de --patch desconhecido: %s"
+
+#: git-add--interactive.perl:1721 git-add--interactive.perl:1727
+#, perl-format
+msgid "invalid argument %s, expecting --"
+msgstr "argumento inválido %s, esperava-se --"
+
+#: git-send-email.perl:121
+msgid "local zone differs from GMT by a non-minute interval\n"
+msgstr "a zona local difere de GMT por um intervalo não arrendado ao minuto\n"
+
+#: git-send-email.perl:128 git-send-email.perl:134
+msgid "local time offset greater than or equal to 24 hours\n"
+msgstr "a diferença de tempo local é maior ou igual a 24 horas\n"
+
+#: git-send-email.perl:202 git-send-email.perl:208
+msgid "the editor exited uncleanly, aborting everything"
+msgstr "o editor saiu com erros, abortar tudo"
+
+#: git-send-email.perl:282
+#, perl-format
+msgid "'%s' contains an intermediate version of the email you were composing.\n"
+msgstr "'%s' contém uma versão intermédia do e-mail que esteve a compor.\n"
+
+#: git-send-email.perl:287
+#, perl-format
+msgid "'%s.final' contains the composed email.\n"
+msgstr "'%s.final' contém o e-mail composto.\n"
+
+#: git-send-email.perl:305
+msgid "--dump-aliases incompatible with other options\n"
+msgstr "--dump-aliases incompatível com outras opções\n"
+
+#: git-send-email.perl:368 git-send-email.perl:623
+msgid "Cannot run git format-patch from outside a repository\n"
+msgstr "Não é possível executar git format-patch fora de um repositório\n"
+
+#: git-send-email.perl:437
+#, perl-format
+msgid "Unknown --suppress-cc field: '%s'\n"
+msgstr "Campo de --suppress-cc desconhecido: '%s'\n"
+
+#: git-send-email.perl:466
+#, perl-format
+msgid "Unknown --confirm setting: '%s'\n"
+msgstr "Definidição --confirm desconhecida: '%s'\n"
+
+#: git-send-email.perl:498
+#, perl-format
+msgid "warning: sendmail alias with quotes is not supported: %s\n"
+msgstr "aviso: sendmail alias com aspas não é suportado: %s\n"
+
+#: git-send-email.perl:500
+#, perl-format
+msgid "warning: `:include:` not supported: %s\n"
+msgstr "aviso: `:include:` não suportado: %s\n"
+
+#: git-send-email.perl:502
+#, perl-format
+msgid "warning: `/file` or `|pipe` redirection not supported: %s\n"
+msgstr "aviso: `/file` ou redireção `|pipe` não suportado: %s\n"
+
+#: git-send-email.perl:507
+#, perl-format
+msgid "warning: sendmail line is not recognized: %s\n"
+msgstr "aviso: linha sendmail não é reconhecida: %s\n"
+
+#: git-send-email.perl:589
+#, perl-format
+msgid ""
+"File '%s' exists but it could also be the range of commits\n"
+"to produce patches for.  Please disambiguate by...\n"
+"\n"
+"    * Saying \"./%s\" if you mean a file; or\n"
+"    * Giving --format-patch option if you mean a range.\n"
+msgstr ""
+"O ficheiro '%s' existe mas também pode ser um intervalo de commits\n"
+"para os quais produzir patches.  Por favor desambigue...\n"
+"\n"
+"    * Dizendo \"./%s\" se pretende um ficheiro; ou\n"
+"    * Passando a opção --format-patch se pretende um intervalo de commits.\n"
+
+#: git-send-email.perl:610
+#, perl-format
+msgid "Failed to opendir %s: %s"
+msgstr "Falha ao abrir diretório %s: %s"
+
+#: git-send-email.perl:634
+#, perl-format
+msgid ""
+"fatal: %s: %s\n"
+"warning: no patches were sent\n"
+msgstr ""
+"fatal: %s: %s\n"
+"aviso: nenhum patch foi enviado\n"
+
+#: git-send-email.perl:645
+msgid ""
+"\n"
+"No patch files specified!\n"
+"\n"
+msgstr ""
+"\n"
+"Nenhum ficheiro patch especificado!\n"
+"\n"
+
+#: git-send-email.perl:658
+#, perl-format
+msgid "No subject line in %s?"
+msgstr "Nenhum linha de assunto em %s?"
+
+#: git-send-email.perl:668
+#, perl-format
+msgid "Failed to open for writing %s: %s"
+msgstr "Falha ao abrir %s para escrita: %s"
+
+#: git-send-email.perl:678
+msgid ""
+"Lines beginning in \"GIT:\" will be removed.\n"
+"Consider including an overall diffstat or table of contents\n"
+"for the patch you are writing.\n"
+"\n"
+"Clear the body content if you don't wish to send a summary.\n"
+msgstr ""
+"Linhas começadas com \"GIT:\" serão removidos.\n"
+"Considere incluir um diffstat geral ou tabela de conteúdos\n"
+"do patch que está a escrever.\n"
+"\n"
+"Apague o conteúdo do corpo se não deseja enviar um sumário.\n"
+
+#: git-send-email.perl:701
+#, perl-format
+msgid "Failed to open %s.final: %s"
+msgstr "Falha ao abrir %s.final: %s"
+
+#: git-send-email.perl:704
+#, perl-format
+msgid "Failed to open %s: %s"
+msgstr "Falha ao abrir %s: %s"
+
+#: git-send-email.perl:739
+msgid "To/Cc/Bcc fields are not interpreted yet, they have been ignored\n"
+msgstr "Os campos To/Cc/Bcc não são interpretados ainda, foram ignorados\n"
+
+#: git-send-email.perl:748
+msgid "Summary email is empty, skipping it\n"
+msgstr "O e-mail de sumário está vazio, saltá-lo à frente\n"
+
+#. TRANSLATORS: please keep [y/N] as is.
+#: git-send-email.perl:780
+#, perl-format
+msgid "Are you sure you want to use <%s> [y/N]? "
+msgstr "Tem a certeza que quer usar <%s> [y/N]? "
+
+#: git-send-email.perl:809
+msgid ""
+"The following files are 8bit, but do not declare a Content-Transfer-"
+"Encoding.\n"
+msgstr ""
+"Os seguintes ficheiros são 8bit, mas não declaram um Content-Transfer-"
+"Encoding.\n"
+
+#: git-send-email.perl:814
+msgid "Which 8bit encoding should I declare [UTF-8]? "
+msgstr "Que codificação 8bit se deve declarar [UTF-8]? "
+
+#: git-send-email.perl:822
+#, perl-format
+msgid ""
+"Refusing to send because the patch\n"
+"\t%s\n"
+"has the template subject '*** SUBJECT HERE ***'. Pass --force if you really "
+"want to send.\n"
+msgstr ""
+"Recusar envio porque o patch\n"
+"\t%s\n"
+"tem o assunto modelo '*** SUBJECT HERE ***'. Passe --force se pretende mesmo "
+"enviar.\n"
+
+#: git-send-email.perl:841
+msgid "To whom should the emails be sent (if anyone)?"
+msgstr "Para quem devem ser enviados os e-mails (se alguém)?"
+
+#: git-send-email.perl:859
+#, perl-format
+msgid "fatal: alias '%s' expands to itself\n"
+msgstr "fatal: alias '%s' expande para si próprio\n"
+
+#: git-send-email.perl:871
+msgid "Message-ID to be used as In-Reply-To for the first email (if any)? "
+msgstr ""
+"Message-ID para ser usado como In-Reply-To para o primeiro e-mail (se algum)? "
+
+#: git-send-email.perl:921 git-send-email.perl:929
+#, perl-format
+msgid "error: unable to extract a valid address from: %s\n"
+msgstr "erro: não é possível extrair um endereço válido de: %s\n"
+
+#. TRANSLATORS: Make sure to include [q] [d] [e] in your
+#. translation. The program will only accept English input
+#. at this point.
+#: git-send-email.perl:933
+msgid "What to do with this address? ([q]uit|[d]rop|[e]dit): "
+msgstr "O que fazer com este endereço? ([q]uit|[d]rop|[e]dit): "
+
+#: git-send-email.perl:1234
+#, perl-format
+msgid "CA path \"%s\" does not exist"
+msgstr "O caminho de CA '%s' não existe"
+
+#: git-send-email.perl:1309
+msgid ""
+"    The Cc list above has been expanded by additional\n"
+"    addresses found in the patch commit message. By default\n"
+"    send-email prompts before sending whenever this occurs.\n"
+"    This behavior is controlled by the sendemail.confirm\n"
+"    configuration setting.\n"
+"\n"
+"    For additional information, run 'git send-email --help'.\n"
+"    To retain the current behavior, but squelch this message,\n"
+"    run 'git config --global sendemail.confirm auto'.\n"
+"\n"
+msgstr ""
+"    A lista de Cc acima foi expandida com endereços\n"
+"    adicionais encontrados na mensagem de commit do patch.\n"
+"    Por omissão send-email pergunta antes de enviar quando\n"
+"    isto ocorre. Este comportamento é controlado pela definição\n"
+"    de configuração sendemail.confirm.\n"
+"\n"
+"    Para informação adicional, execute 'git send-email --help'.\n"
+"    Para reter o comportamento atual, mas suprimir esta mensagem,\n"
+"    execute 'git config --global sendemail.confirm auto'.\n"
+"\n"
+
+#. TRANSLATORS: Make sure to include [y] [n] [q] [a] in your
+#. translation. The program will only accept English input
+#. at this point.
+#: git-send-email.perl:1324
+msgid "Send this email? ([y]es|[n]o|[q]uit|[a]ll): "
+msgstr "Enviar este e-mail? ([y]es|[n]o|[q]uit|[a]ll): "
+
+#: git-send-email.perl:1327
+msgid "Send this email reply required"
+msgstr "É necessária resposta se deseja enviar este e-mail"
+
+#: git-send-email.perl:1353
+msgid "The required SMTP server is not properly defined."
+msgstr "O servidor SMTP necessário não está definido corretamente."
+
+#: git-send-email.perl:1397
+#, perl-format
+msgid "Server does not support STARTTLS! %s"
+msgstr "O servidor não suporta STARTTLS! %s"
+
+#: git-send-email.perl:1403
+msgid "Unable to initialize SMTP properly. Check config and use --smtp-debug."
+msgstr ""
+"Não é possível inicializar SMTP devidamente. Verifique a configuração e use --"
+"smtp-debug."
+
+#: git-send-email.perl:1421
+#, perl-format
+msgid "Failed to send %s\n"
+msgstr "Falha ao enviar %s\n"
+
+#: git-send-email.perl:1424
+#, perl-format
+msgid "Dry-Sent %s\n"
+msgstr "Simulado-Enviado %s\n"
+
+#: git-send-email.perl:1424
+#, perl-format
+msgid "Sent %s\n"
+msgstr "Enviado %s\n"
+
+#: git-send-email.perl:1426
+msgid "Dry-OK. Log says:\n"
+msgstr "Simulado-OK. O registo diz:\n"
+
+#: git-send-email.perl:1426
+msgid "OK. Log says:\n"
+msgstr "OK. O registo diz:\n"
+
+#: git-send-email.perl:1438
+msgid "Result: "
+msgstr "Resultado: "
+
+#: git-send-email.perl:1441
+msgid "Result: OK\n"
+msgstr "Resultado: OK\n"
+
+#: git-send-email.perl:1454
+#, perl-format
+msgid "can't open file %s"
+msgstr "não é possível abrir o ficheiro %s"
+
+#: git-send-email.perl:1501 git-send-email.perl:1521
+#, perl-format
+msgid "(mbox) Adding cc: %s from line '%s'\n"
+msgstr "(mbox) Adicionar cc: %s da linha '%s'\n"
+
+#: git-send-email.perl:1507
+#, perl-format
+msgid "(mbox) Adding to: %s from line '%s'\n"
+msgstr "(mbox) Adicionar para: %s da linha '%s'\n"
+
+#: git-send-email.perl:1555
+#, perl-format
+msgid "(non-mbox) Adding cc: %s from line '%s'\n"
+msgstr "(non-mbox) Adicionar cc: %s da linha '%s'\n"
+
+#: git-send-email.perl:1578
+#, perl-format
+msgid "(body) Adding cc: %s from line '%s'\n"
+msgstr "(body) Adicionar cc: %s da linha '%s'\n"
+
+#: git-send-email.perl:1676
+#, perl-format
+msgid "(%s) Could not execute '%s'"
+msgstr "(%s) Não foi possível executar '%s'"
+
+#: git-send-email.perl:1683
+#, perl-format
+msgid "(%s) Adding %s: %s from: '%s'\n"
+msgstr "(%s) Adicionar %s: %s de: '%s'\n"
+
+#: git-send-email.perl:1687
+#, perl-format
+msgid "(%s) failed to close pipe to '%s'"
+msgstr "(%s) falha ao fechar pipe para '%s'"
+
+#: git-send-email.perl:1714
+msgid "cannot send message as 7bit"
+msgstr "não é possível enviar mensagem como 7bit"
+
+#: git-send-email.perl:1722
+msgid "invalid transfer encoding"
+msgstr "codificação de transferência inválida"
+
+#: git-send-email.perl:1741 git-send-email.perl:1792 git-send-email.perl:1802
+#, perl-format
+msgid "unable to open %s: %s\n"
+msgstr "não é possível abrir %s: %s\n"
+
+#: git-send-email.perl:1744
+#, perl-format
+msgid "%s: patch contains a line longer than 998 characters"
+msgstr "%s: o patch contém uma linha mais longa que 998 carateres"
+
+#: git-send-email.perl:1760
+#, perl-format
+msgid "Skipping %s with backup suffix '%s'.\n"
+msgstr "Saltar %s com sufixo de backup '%s'.\n"
+
+#. TRANSLATORS: please keep "[y|N]" as is.
+#: git-send-email.perl:1764
+#, perl-format
+msgid "Do you really want to send %s? [y|N]: "
+msgstr "Deseja mesmo enviar %s? [y|N]: "
+
+#~ msgid "Use an experimental blank-line-based heuristic to improve diffs"
+#~ msgstr ""
+#~ "Usar uma heurística experimental baseada em linhas brancas para melhorar "
+#~ "diffs"
+
+#~ msgid "Clever... amending the last one with dirty index."
+#~ msgstr "Inteligente... a emendar o último commit com o índice sujo."
+
+#~ msgid ""
+#~ "the following submodule (or one of its nested submodules)\n"
+#~ "uses a .git directory:"
+#~ msgid_plural ""
+#~ "the following submodules (or one of their nested submodules)\n"
+#~ "use a .git directory:"
+#~ msgstr[0] ""
+#~ "o submódulo seguinte (ou um dos seus submódulos aninhados)\n"
+#~ "usa um diretório .git:"
+#~ msgstr[1] ""
+#~ "os submódulos seguintes (ou um dos seus submódulos)\n"
+#~ "usam um diretório .git:"
+
+#~ msgid ""
+#~ "\n"
+#~ "(use 'rm -rf' if you really want to remove it including all of its history)"
+#~ msgstr ""
+#~ "\n"
+#~ "(use 'rm -rf' se pretende mesmo removê-lo, incluindo todo o seu histórico)"
+
 #~ msgid "Could not write to %s"
 #~ msgstr "Não foi possível escrever em %s"
 
@@ -14707,8 +16017,7 @@
 #~ msgstr "Primeiro tem de definir a sua informação de committer"
 
 #~ msgid "bad numeric config value '%s' for '%s': invalid unit"
-#~ msgstr ""
-#~ "valor numérico '%s' da configuração '%s' incorreto: unidade inválida"
+#~ msgstr "valor numérico '%s' da configuração '%s' incorreto: unidade inválida"
 
 #~ msgid "bad numeric config value '%s' for '%s' in blob %s: invalid unit"
 #~ msgstr ""
@@ -14717,8 +16026,8 @@
 
 #~ msgid "bad numeric config value '%s' for '%s' in file %s: invalid unit"
 #~ msgstr ""
-#~ "valor numérico '%s' da configuração '%s' incorreto no ficheiro %s: "
-#~ "unidade inválida"
+#~ "valor numérico '%s' da configuração '%s' incorreto no ficheiro %s: unidade "
+#~ "inválida"
 
 #~ msgid ""
 #~ "bad numeric config value '%s' for '%s' in standard input: invalid unit"
@@ -14850,9 +16159,6 @@
 #~ msgid "could not open %s for writing"
 #~ msgstr "não foi possível abrir %s para escrita"
 
-#~ msgid "read of %s failed"
-#~ msgstr "falha ao ler %s"
-
 #~ msgid "could not write branch description template"
 #~ msgstr "não foi possível escrever o modelo da descrição do ramo"
 
@@ -14899,8 +16205,7 @@
 #~ msgstr "Invoque 'bisect_state' com pelo menos um argumento."
 
 #~ msgid ""
-#~ "If you want to reuse this local git directory instead of cloning again "
-#~ "from"
+#~ "If you want to reuse this local git directory instead of cloning again from"
 #~ msgstr ""
 #~ "Se deseja reutilizar este diretório git local em vez de clonar de novo de"
 
@@ -14908,8 +16213,7 @@
 #~ "use the '--force' option. If the local git directory is not the correct "
 #~ "repo"
 #~ msgstr ""
-#~ "use a opção '--force'. Se o diretório git local não é o repositório "
-#~ "correto"
+#~ "use a opção '--force'. Se o diretório git local não é o repositório correto"
 
 #~ msgid ""
 #~ "or you are unsure what this means choose another name with the '--name' "
@@ -14923,8 +16227,7 @@
 #~ "A árvore de trabalho do submódulo '$displaypath' contém um diretório .git"
 
 #~ msgid ""
-#~ "(use 'rm -rf' if you really want to remove it including all of its "
-#~ "history)"
+#~ "(use 'rm -rf' if you really want to remove it including all of its history)"
 #~ msgstr ""
 #~ "(use 'rm -rf' se pretende mesmo removê-lo, incluindo todo o seu histórico)"
 
@@ -14934,12 +16237,6 @@
 #~ msgid "unable to access '%s': %s"
 #~ msgstr "não é possível aceder a '%s': %s"
 
-#~ msgid "could not open '%s' for reading: %s"
-#~ msgstr "não foi possível abrir '%s' para leitura: %s"
-
-#~ msgid "could not open '%s' for writing: %s"
-#~ msgstr "não foi possível abrir '%s' para escrita: %s"
-
 #~ msgid "    git branch -d %s\n"
 #~ msgstr "    git branch -d %s\n"
 
@@ -15041,9 +16338,6 @@
 #~ "Migrar commits locais para a cabeça atualizada em relação ao ramo a "
 #~ "montante"
 
-#~ msgid " 0 files changed\n"
-#~ msgstr " 0 ficheros modificados\n"
-
 #~ msgid " %d file changed"
 #~ msgid_plural " %d files changed"
 #~ msgstr[0] " %d ficheiro modificado"
diff --git a/po/sv.po b/po/sv.po
index 14a555c..96340dc 100644
--- a/po/sv.po
+++ b/po/sv.po
@@ -1,14 +1,14 @@
 # Swedish translations for Git.
-# Copyright (C) 2010-2016 Peter krefting <peter@softwolves.pp.se>
+# Copyright (C) 2010-2017 Peter krefting <peter@softwolves.pp.se>
 # This file is distributed under the same license as the Git package.
-# Peter Krefting <peter@softwolves.pp.se>, 2010, 2011, 2012, 2013, 2014, 2015, 2016.
+# Peter Krefting <peter@softwolves.pp.se>, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017.
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: git 2.11.0\n"
+"Project-Id-Version: git 2.12.0\n"
 "Report-Msgid-Bugs-To: Git Mailing List <git@vger.kernel.org>\n"
-"POT-Creation-Date: 2016-11-25 22:50+0800\n"
-"PO-Revision-Date: 2016-11-25 22:59+0800\n"
+"POT-Creation-Date: 2017-02-18 01:00+0800\n"
+"PO-Revision-Date: 2017-02-20 19:38+0100\n"
 "Last-Translator: Peter Krefting <peter@softwolves.pp.se>\n"
 "Language-Team: Svenska <tp-sv@listor.tp-sv.se>\n"
 "Language: sv\n"
@@ -70,7 +70,7 @@
 msgid "Exiting because of an unresolved conflict."
 msgstr "Avslutar på grund av olöst konflikgt."
 
-#: advice.c:114 builtin/merge.c:1181
+#: advice.c:114 builtin/merge.c:1206
 msgid "You have not concluded your merge (MERGE_HEAD exists)."
 msgstr "Du har inte avslutat sammanslagningen (MERGE_HEAD finns)."
 
@@ -250,34 +250,34 @@
 msgid "patch with only garbage at line %d"
 msgstr "patch med bara skräp på rad %d"
 
-#: apply.c:2274
+#: apply.c:2265
 #, c-format
 msgid "unable to read symlink %s"
 msgstr "kunde inte läsa symboliska länken %s"
 
-#: apply.c:2278
+#: apply.c:2269
 #, c-format
 msgid "unable to open or read %s"
 msgstr "kunde inte öppna eller läsa %s"
 
-#: apply.c:2931
+#: apply.c:2922
 #, c-format
 msgid "invalid start of line: '%c'"
 msgstr "felaktig inledning på rad: \"%c\""
 
-#: apply.c:3050
+#: apply.c:3041
 #, c-format
 msgid "Hunk #%d succeeded at %d (offset %d line)."
 msgid_plural "Hunk #%d succeeded at %d (offset %d lines)."
 msgstr[0] "Stycke %d lyckades på %d (offset %d rad)."
 msgstr[1] "Stycke %d lyckades på %d (offset %d rader)."
 
-#: apply.c:3062
+#: apply.c:3053
 #, c-format
 msgid "Context reduced to (%ld/%ld) to apply fragment at %d"
 msgstr "Sammanhang reducerat till (%ld/%ld) för att tillämpa fragment vid %d"
 
-#: apply.c:3068
+#: apply.c:3059
 #, c-format
 msgid ""
 "while searching for:\n"
@@ -286,25 +286,25 @@
 "vid sökning efter:\n"
 "%.*s"
 
-#: apply.c:3090
+#: apply.c:3081
 #, c-format
 msgid "missing binary patch data for '%s'"
 msgstr "saknar binära patchdata för \"%s\""
 
-#: apply.c:3098
+#: apply.c:3089
 #, c-format
 msgid "cannot reverse-apply a binary patch without the reverse hunk to '%s'"
 msgstr ""
 "kan inte applicera en binärpatch baklänges utan den omvända patchen för \"%s"
 "\""
 
-#: apply.c:3144
+#: apply.c:3135
 #, c-format
 msgid "cannot apply binary patch to '%s' without full index line"
 msgstr ""
 "kan inte applicera binärpatch på \"%s\" utan den fullständiga indexraden"
 
-#: apply.c:3154
+#: apply.c:3145
 #, c-format
 msgid ""
 "the patch applies to '%s' (%s), which does not match the current contents."
@@ -312,418 +312,419 @@
 "patchen appliceras på \"%s\" (%s), som inte motsvarar det nuvarande "
 "innehållet."
 
-#: apply.c:3162
+#: apply.c:3153
 #, c-format
 msgid "the patch applies to an empty '%s' but it is not empty"
 msgstr "patchen appliceras på en tom \"%s\", men den är inte tom"
 
-#: apply.c:3180
+#: apply.c:3171
 #, c-format
 msgid "the necessary postimage %s for '%s' cannot be read"
 msgstr "nödvändig efterbild %s för \"%s\" kan inte läsas"
 
-#: apply.c:3193
+#: apply.c:3184
 #, c-format
 msgid "binary patch does not apply to '%s'"
 msgstr "binärpatchen kan inte tillämpas på \"%s\""
 
-#: apply.c:3199
+#: apply.c:3190
 #, c-format
 msgid "binary patch to '%s' creates incorrect result (expecting %s, got %s)"
 msgstr "binärpatchen på \"%s\" ger felaktigt resultat (förväntade %s, fick %s)"
 
-#: apply.c:3220
+#: apply.c:3211
 #, c-format
 msgid "patch failed: %s:%ld"
 msgstr "patch misslyckades: %s:%ld"
 
-#: apply.c:3342
+#: apply.c:3333
 #, c-format
 msgid "cannot checkout %s"
 msgstr "kan inte checka ut %s"
 
-#: apply.c:3390 apply.c:3401 apply.c:3447 setup.c:248
+#: apply.c:3381 apply.c:3392 apply.c:3438 setup.c:248
 #, c-format
 msgid "failed to read %s"
 msgstr "misslyckades läsa %s"
 
-#: apply.c:3398
+#: apply.c:3389
 #, c-format
 msgid "reading from '%s' beyond a symbolic link"
 msgstr "läser från \"%s\" som är på andra sidan av en symbolisk länk"
 
-#: apply.c:3427 apply.c:3667
+#: apply.c:3418 apply.c:3658
 #, c-format
 msgid "path %s has been renamed/deleted"
 msgstr "sökvägen %s har ändrat namn/tagits bort"
 
-#: apply.c:3510 apply.c:3681
+#: apply.c:3501 apply.c:3672
 #, c-format
 msgid "%s: does not exist in index"
 msgstr "%s: finns inte i indexet"
 
-#: apply.c:3519 apply.c:3689
+#: apply.c:3510 apply.c:3680
 #, c-format
 msgid "%s: does not match index"
 msgstr "%s: motsvarar inte indexet"
 
-#: apply.c:3554
+#: apply.c:3545
 msgid "repository lacks the necessary blob to fall back on 3-way merge."
 msgstr ""
 "arkivet saknar objekt som behövs för att falla tillbaka på 3-"
 "vägssammanslagning."
 
-#: apply.c:3557
+#: apply.c:3548
 #, c-format
 msgid "Falling back to three-way merge...\n"
 msgstr "Faller tillbaka på trevägssammanslagning...\n"
 
-#: apply.c:3573 apply.c:3577
+#: apply.c:3564 apply.c:3568
 #, c-format
 msgid "cannot read the current contents of '%s'"
 msgstr "kunde inte läsa aktuellt innehåll i \"%s\""
 
-#: apply.c:3589
+#: apply.c:3580
 #, c-format
 msgid "Failed to fall back on three-way merge...\n"
 msgstr "Misslyckades falla tillbaka på trevägssammanslagning...\n"
 
-#: apply.c:3603
+#: apply.c:3594
 #, c-format
 msgid "Applied patch to '%s' with conflicts.\n"
 msgstr "Applicerade patchen på \"%s\" med konflikter.\n"
 
-#: apply.c:3608
+#: apply.c:3599
 #, c-format
 msgid "Applied patch to '%s' cleanly.\n"
 msgstr "Tillämpade patchen på  \"%s\" rent.\n"
 
-#: apply.c:3634
+#: apply.c:3625
 msgid "removal patch leaves file contents"
 msgstr "patch för borttagning lämnar kvar filinnehåll"
 
-#: apply.c:3706
+#: apply.c:3697
 #, c-format
 msgid "%s: wrong type"
 msgstr "%s: fel typ"
 
-#: apply.c:3708
+#: apply.c:3699
 #, c-format
 msgid "%s has type %o, expected %o"
 msgstr "%s har typen %o, förväntade %o"
 
-#: apply.c:3859 apply.c:3861
+#: apply.c:3850 apply.c:3852
 #, c-format
 msgid "invalid path '%s'"
 msgstr "ogiltig sökväg: %s"
 
-#: apply.c:3917
+#: apply.c:3908
 #, c-format
 msgid "%s: already exists in index"
 msgstr "%s: finns redan i indexet"
 
-#: apply.c:3920
+#: apply.c:3911
 #, c-format
 msgid "%s: already exists in working directory"
 msgstr "%s: finns redan i arbetskatalogen"
 
-#: apply.c:3940
+#: apply.c:3931
 #, c-format
 msgid "new mode (%o) of %s does not match old mode (%o)"
 msgstr "nytt läge (%o) för %s motsvarar inte gammalt läge (%o)"
 
-#: apply.c:3945
+#: apply.c:3936
 #, c-format
 msgid "new mode (%o) of %s does not match old mode (%o) of %s"
 msgstr "nytt läge (%o) för %s motsvarar inte gammalt läge (%o) för %s"
 
-#: apply.c:3965
+#: apply.c:3956
 #, c-format
 msgid "affected file '%s' is beyond a symbolic link"
 msgstr "den berörda filen \"%s\" är på andra sidan av en symbolisk länk"
 
-#: apply.c:3969
+#: apply.c:3960
 #, c-format
 msgid "%s: patch does not apply"
 msgstr "%s: patchen kan inte tillämpas"
 
-#: apply.c:3984
+#: apply.c:3975
 #, c-format
 msgid "Checking patch %s..."
 msgstr "Kontrollerar patchen %s..."
 
-#: apply.c:4075
+#: apply.c:4066
 #, c-format
 msgid "sha1 information is lacking or useless for submodule %s"
 msgstr "sha1-informationen saknas eller är oanvändbar för undermodulen %s"
 
-#: apply.c:4082
+#: apply.c:4073
 #, c-format
 msgid "mode change for %s, which is not in current HEAD"
 msgstr "nytt läge för %s, som inte finns i nuvarande HEAD"
 
-#: apply.c:4085
+#: apply.c:4076
 #, c-format
 msgid "sha1 information is lacking or useless (%s)."
 msgstr "sha1-informationen saknas eller är oanvändbar (%s)."
 
-#: apply.c:4090 builtin/checkout.c:233 builtin/reset.c:135
+#: apply.c:4081 builtin/checkout.c:233 builtin/reset.c:135
 #, c-format
 msgid "make_cache_entry failed for path '%s'"
 msgstr "make_cache_entry misslyckades för sökvägen \"%s\""
 
-#: apply.c:4094
+#: apply.c:4085
 #, c-format
 msgid "could not add %s to temporary index"
 msgstr "kunde inte lägga till %s till temporärt index"
 
-#: apply.c:4104
+#: apply.c:4095
 #, c-format
 msgid "could not write temporary index to %s"
 msgstr "kunde inte skriva temporärt index till %s"
 
-#: apply.c:4242
+#: apply.c:4233
 #, c-format
 msgid "unable to remove %s from index"
 msgstr "kan inte ta bort %s från indexet"
 
-#: apply.c:4277
+#: apply.c:4268
 #, c-format
 msgid "corrupt patch for submodule %s"
 msgstr "trasig patch för undermodulen %s"
 
-#: apply.c:4283
+#: apply.c:4274
 #, c-format
 msgid "unable to stat newly created file '%s'"
 msgstr "kan inte ta status på nyligen skapade filen \"%s\""
 
-#: apply.c:4291
+#: apply.c:4282
 #, c-format
 msgid "unable to create backing store for newly created file %s"
 msgstr "kan inte skapa säkerhetsminne för nyligen skapade filen %s"
 
-#: apply.c:4297 apply.c:4441
+#: apply.c:4288 apply.c:4432
 #, c-format
 msgid "unable to add cache entry for %s"
 msgstr "kan inte lägga till cachepost för %s"
 
-#: apply.c:4338
+#: apply.c:4329
 #, c-format
 msgid "failed to write to '%s'"
 msgstr "misslyckades skriva till \"%s\""
 
-#: apply.c:4342
+#: apply.c:4333
 #, c-format
 msgid "closing file '%s'"
 msgstr "stänger filen \"%s\""
 
-#: apply.c:4412
+#: apply.c:4403
 #, c-format
 msgid "unable to write file '%s' mode %o"
 msgstr "kan inte skriva filen \"%s\" läge %o"
 
-#: apply.c:4510
+#: apply.c:4501
 #, c-format
 msgid "Applied patch %s cleanly."
 msgstr "Tillämpade patchen %s rent."
 
-#: apply.c:4518
+#: apply.c:4509
 msgid "internal error"
 msgstr "internt fel"
 
-#: apply.c:4521
+#: apply.c:4512
 #, c-format
 msgid "Applying patch %%s with %d reject..."
 msgid_plural "Applying patch %%s with %d rejects..."
 msgstr[0] "Tillämpade patchen %%s med %d refuserad..."
 msgstr[1] "Tillämpade patchen %%s med %d refuserade..."
 
-#: apply.c:4532
+#: apply.c:4523
 #, c-format
 msgid "truncating .rej filename to %.*s.rej"
 msgstr "trunkerar .rej-filnamnet till %.*s.rej"
 
-#: apply.c:4540 builtin/fetch.c:740 builtin/fetch.c:989
+#: apply.c:4531 builtin/fetch.c:737 builtin/fetch.c:986
 #, c-format
 msgid "cannot open %s"
 msgstr "kan inte öppna %s"
 
-#: apply.c:4554
+#: apply.c:4545
 #, c-format
 msgid "Hunk #%d applied cleanly."
 msgstr "Stycke %d tillämpades rent."
 
-#: apply.c:4558
+#: apply.c:4549
 #, c-format
 msgid "Rejected hunk #%d."
 msgstr "Refuserar stycke %d."
 
-#: apply.c:4668
+#: apply.c:4659
 #, c-format
 msgid "Skipped patch '%s'."
 msgstr "Ignorerar patch \"%s\"."
 
-#: apply.c:4676
+#: apply.c:4667
 msgid "unrecognized input"
 msgstr "indata känns inte igen"
 
-#: apply.c:4695
+#: apply.c:4686
 msgid "unable to read index file"
 msgstr "kan inte läsa indexfilen"
 
-#: apply.c:4833
+#: apply.c:4824
 #, c-format
 msgid "can't open patch '%s': %s"
 msgstr "kan inte öppna patchen \"%s\": %s"
 
-#: apply.c:4858
+#: apply.c:4849
 #, c-format
 msgid "squelched %d whitespace error"
 msgid_plural "squelched %d whitespace errors"
 msgstr[0] "undertryckte %d fel i blanksteg"
 msgstr[1] "undertryckte %d fel i blanksteg"
 
-#: apply.c:4864 apply.c:4879
+#: apply.c:4855 apply.c:4870
 #, c-format
 msgid "%d line adds whitespace errors."
 msgid_plural "%d lines add whitespace errors."
 msgstr[0] "%d rad lägger till fel i blanksteg."
 msgstr[1] "%d rader lägger till fel i blanksteg."
 
-#: apply.c:4872
+#: apply.c:4863
 #, c-format
 msgid "%d line applied after fixing whitespace errors."
 msgid_plural "%d lines applied after fixing whitespace errors."
 msgstr[0] "%d rad applicerade efter att ha rättat fel i blanksteg."
 msgstr[1] "%d rader applicerade efter att ha rättat fel i blanksteg."
 
-#: apply.c:4888 builtin/add.c:463 builtin/mv.c:286 builtin/rm.c:431
+#: apply.c:4879 builtin/add.c:463 builtin/mv.c:298 builtin/rm.c:391
 msgid "Unable to write new index file"
 msgstr "Kunde inte skriva ny indexfil"
 
-#: apply.c:4919 apply.c:4922 builtin/am.c:2277 builtin/am.c:2280
+#: apply.c:4910 apply.c:4913 builtin/am.c:2277 builtin/am.c:2280
 #: builtin/clone.c:95 builtin/fetch.c:98 builtin/pull.c:180
-#: builtin/submodule--helper.c:281 builtin/submodule--helper.c:407
-#: builtin/submodule--helper.c:589 builtin/submodule--helper.c:592
-#: builtin/submodule--helper.c:944 builtin/submodule--helper.c:947
+#: builtin/submodule--helper.c:281 builtin/submodule--helper.c:591
+#: builtin/submodule--helper.c:594 builtin/submodule--helper.c:960
+#: builtin/submodule--helper.c:963 builtin/submodule--helper.c:1104
+#: git-add--interactive.perl:239
 msgid "path"
 msgstr "sökväg"
 
-#: apply.c:4920
+#: apply.c:4911
 msgid "don't apply changes matching the given path"
 msgstr "tillämpa inte ändringar som motsvarar given sökväg"
 
-#: apply.c:4923
+#: apply.c:4914
 msgid "apply changes matching the given path"
 msgstr "tillämpa ändringar som motsvarar given sökväg"
 
-#: apply.c:4925 builtin/am.c:2286
+#: apply.c:4916 builtin/am.c:2286
 msgid "num"
 msgstr "antal"
 
-#: apply.c:4926
+#: apply.c:4917
 msgid "remove <num> leading slashes from traditional diff paths"
 msgstr "ta bort <antal> inledande snedstreck från traditionella diff-sökvägar"
 
-#: apply.c:4929
+#: apply.c:4920
 msgid "ignore additions made by the patch"
 msgstr "ignorera tillägg gjorda av patchen"
 
-#: apply.c:4931
+#: apply.c:4922
 msgid "instead of applying the patch, output diffstat for the input"
 msgstr "istället för att tillämpa patchen, skriv ut diffstat för indata"
 
-#: apply.c:4935
+#: apply.c:4926
 msgid "show number of added and deleted lines in decimal notation"
 msgstr "visa antal tillagda och borttagna rader decimalt"
 
-#: apply.c:4937
+#: apply.c:4928
 msgid "instead of applying the patch, output a summary for the input"
 msgstr "istället för att tillämpa patchen, skriv ut en summering av indata"
 
-#: apply.c:4939
+#: apply.c:4930
 msgid "instead of applying the patch, see if the patch is applicable"
 msgstr "istället för att tillämpa patchen, se om patchen kan tillämpas"
 
-#: apply.c:4941
+#: apply.c:4932
 msgid "make sure the patch is applicable to the current index"
 msgstr "se till att patchen kan tillämpas på aktuellt index"
 
-#: apply.c:4943
+#: apply.c:4934
 msgid "apply a patch without touching the working tree"
 msgstr "tillämpa en patch utan att röra arbetskatalogen"
 
-#: apply.c:4945
+#: apply.c:4936
 msgid "accept a patch that touches outside the working area"
 msgstr "godta en patch som rör filer utanför arbetskatalogen"
 
-#: apply.c:4947
+#: apply.c:4938
 msgid "also apply the patch (use with --stat/--summary/--check)"
 msgstr "tillämpa också patchen (använd med --stat/--summary/--check)"
 
-#: apply.c:4949
+#: apply.c:4940
 msgid "attempt three-way merge if a patch does not apply"
 msgstr "försök en trevägssammanslagning om patchen inte kan tillämpas"
 
-#: apply.c:4951
+#: apply.c:4942
 msgid "build a temporary index based on embedded index information"
 msgstr "bygg ett temporärt index baserat på inbyggd indexinformation"
 
-#: apply.c:4954 builtin/checkout-index.c:169 builtin/ls-files.c:505
+#: apply.c:4945 builtin/checkout-index.c:169 builtin/ls-files.c:507
 msgid "paths are separated with NUL character"
 msgstr "sökvägar avdelas med NUL-tecken"
 
-#: apply.c:4956
+#: apply.c:4947
 msgid "ensure at least <n> lines of context match"
 msgstr "se till att åtminstone <n> rader sammanhang är lika"
 
-#: apply.c:4957 builtin/am.c:2265
+#: apply.c:4948 builtin/am.c:2265
 msgid "action"
 msgstr "åtgärd"
 
-#: apply.c:4958
+#: apply.c:4949
 msgid "detect new or modified lines that have whitespace errors"
 msgstr "detektera nya eller ändrade rader som har fel i blanktecken"
 
-#: apply.c:4961 apply.c:4964
+#: apply.c:4952 apply.c:4955
 msgid "ignore changes in whitespace when finding context"
 msgstr "ignorera ändringar i blanktecken för sammanhang"
 
-#: apply.c:4967
+#: apply.c:4958
 msgid "apply the patch in reverse"
 msgstr "tillämpa patchen baklänges"
 
-#: apply.c:4969
+#: apply.c:4960
 msgid "don't expect at least one line of context"
 msgstr "förvänta inte minst en rad sammanhang"
 
-#: apply.c:4971
+#: apply.c:4962
 msgid "leave the rejected hunks in corresponding *.rej files"
 msgstr "lämna refuserade stycken i motsvarande *.rej-filer"
 
-#: apply.c:4973
+#: apply.c:4964
 msgid "allow overlapping hunks"
 msgstr "tillåt överlappande stycken"
 
-#: apply.c:4974 builtin/add.c:267 builtin/check-ignore.c:19
-#: builtin/commit.c:1339 builtin/count-objects.c:94 builtin/fsck.c:593
-#: builtin/log.c:1860 builtin/mv.c:110 builtin/read-tree.c:114
+#: apply.c:4965 builtin/add.c:267 builtin/check-ignore.c:19
+#: builtin/commit.c:1337 builtin/count-objects.c:94 builtin/fsck.c:651
+#: builtin/log.c:1860 builtin/mv.c:122 builtin/read-tree.c:114
 msgid "be verbose"
 msgstr "var pratsam"
 
-#: apply.c:4976
+#: apply.c:4967
 msgid "tolerate incorrectly detected missing new-line at the end of file"
 msgstr "tolerera felaktigt detekterade saknade nyradstecken vid filslut"
 
-#: apply.c:4979
+#: apply.c:4970
 msgid "do not trust the line counts in the hunk headers"
 msgstr "lite inte på antalet linjer i styckehuvuden"
 
-#: apply.c:4981 builtin/am.c:2274
+#: apply.c:4972 builtin/am.c:2274
 msgid "root"
 msgstr "rot"
 
-#: apply.c:4982
+#: apply.c:4973
 msgid "prepend <root> to all filenames"
 msgstr "lägg till <rot> i alla filnamn"
 
@@ -746,7 +747,7 @@
 msgid "git archive --remote <repo> [--exec <cmd>] --list"
 msgstr "git archive --remote <arkiv> [--exec <kmd>] --list"
 
-#: archive.c:344 builtin/add.c:152 builtin/add.c:442 builtin/rm.c:327
+#: archive.c:344 builtin/add.c:152 builtin/add.c:442 builtin/rm.c:300
 #, c-format
 msgid "pathspec '%s' did not match any files"
 msgstr "sökvägsangivelsen \"%s\" motsvarade inte några filer"
@@ -767,11 +768,11 @@
 msgid "prepend prefix to each pathname in the archive"
 msgstr "lägg till prefix till varje sökväg i arkivet"
 
-#: archive.c:432 builtin/archive.c:88 builtin/blame.c:2603
-#: builtin/blame.c:2604 builtin/config.c:59 builtin/fast-export.c:987
-#: builtin/fast-export.c:989 builtin/grep.c:723 builtin/hash-object.c:101
-#: builtin/ls-files.c:539 builtin/ls-files.c:542 builtin/notes.c:401
-#: builtin/notes.c:564 builtin/read-tree.c:109 parse-options.h:153
+#: archive.c:432 builtin/blame.c:2607 builtin/blame.c:2608 builtin/config.c:59
+#: builtin/fast-export.c:987 builtin/fast-export.c:989 builtin/grep.c:1054
+#: builtin/hash-object.c:101 builtin/ls-files.c:541 builtin/ls-files.c:544
+#: builtin/notes.c:401 builtin/notes.c:564 builtin/read-tree.c:109
+#: parse-options.h:153
 msgid "file"
 msgstr "fil"
 
@@ -804,7 +805,7 @@
 msgstr "visa understödda arkivformat"
 
 #: archive.c:451 builtin/archive.c:90 builtin/clone.c:85 builtin/clone.c:88
-#: builtin/submodule--helper.c:601 builtin/submodule--helper.c:953
+#: builtin/submodule--helper.c:603 builtin/submodule--helper.c:969
 msgid "repo"
 msgstr "arkiv"
 
@@ -900,12 +901,12 @@
 #: bisect.c:750
 #, c-format
 msgid ""
-"Some %s revs are not ancestor of the %s rev.\n"
+"Some %s revs are not ancestors of the %s rev.\n"
 "git bisect cannot work properly in this case.\n"
 "Maybe you mistook %s and %s revs?\n"
 msgstr ""
 "Några %s-revisioner är inte föräldrar till %s-revisionen.\n"
-"git bisect kan inte arbeta korrekt i detta fall.\n"
+"git bisect kan inte fungera korrekt i detta fall.\n"
 "Kanske du skrev fel %s- och %s-revisioner?\n"
 
 #: bisect.c:763
@@ -930,7 +931,7 @@
 msgid "a %s revision is needed"
 msgstr "en %s-revision behövs"
 
-#: bisect.c:866 builtin/notes.c:174 builtin/tag.c:248
+#: bisect.c:866 builtin/notes.c:174 builtin/tag.c:262
 #, c-format
 msgid "could not create file '%s'"
 msgstr "kunde inte skapa filen \"%s\""
@@ -1122,7 +1123,7 @@
 msgid "unrecognized header: %s%s (%d)"
 msgstr "okänt huvud: %s%s (%d)"
 
-#: bundle.c:87 sequencer.c:963 builtin/commit.c:777
+#: bundle.c:87 sequencer.c:1331 sequencer.c:1752 builtin/commit.c:777
 #, c-format
 msgid "could not open '%s'"
 msgstr "kunde inte öppna \"%s\""
@@ -1131,10 +1132,10 @@
 msgid "Repository lacks these prerequisite commits:"
 msgstr "Arkivet saknar dessa nödvändiga incheckningar:"
 
-#: bundle.c:163 ref-filter.c:1462 sequencer.c:830 sequencer.c:1374
-#: builtin/blame.c:2814 builtin/commit.c:1061 builtin/log.c:348
+#: bundle.c:163 ref-filter.c:1499 sequencer.c:1154 sequencer.c:2290
+#: builtin/blame.c:2820 builtin/commit.c:1061 builtin/log.c:348
 #: builtin/log.c:890 builtin/log.c:1340 builtin/log.c:1666 builtin/log.c:1909
-#: builtin/merge.c:356 builtin/shortlog.c:170
+#: builtin/merge.c:360 builtin/shortlog.c:177
 msgid "revision walk setup failed"
 msgstr "misslyckades skapa revisionstraversering"
 
@@ -1173,7 +1174,7 @@
 msgid "ref '%s' is excluded by the rev-list options"
 msgstr "referensen \"%s\" exkluderas av argumenten till rev-list"
 
-#: bundle.c:443 builtin/log.c:165 builtin/log.c:1572 builtin/shortlog.c:273
+#: bundle.c:443 builtin/log.c:165 builtin/log.c:1572 builtin/shortlog.c:282
 #, c-format
 msgid "unrecognized argument: %s"
 msgstr "okänt argument: %s"
@@ -1191,13 +1192,13 @@
 msgid "index-pack died"
 msgstr "index-pack dog"
 
-#: color.c:290
+#: color.c:300
 #, c-format
 msgid "invalid color value: %.*s"
 msgstr "felaktigt färgvärde: %.*s"
 
-#: commit.c:40 builtin/am.c:421 builtin/am.c:457 builtin/am.c:1493
-#: builtin/am.c:2127
+#: commit.c:40 sequencer.c:1564 builtin/am.c:421 builtin/am.c:457
+#: builtin/am.c:1493 builtin/am.c:2127
 #, c-format
 msgid "could not parse %s"
 msgstr "kunde inte tolka %s"
@@ -1221,130 +1222,140 @@
 msgid "memory exhausted"
 msgstr "minnet slut"
 
-#: config.c:516
+#: config.c:518
 #, c-format
 msgid "bad config line %d in blob %s"
 msgstr "felaktig konfigurationsfil rad %d i blob:en %s"
 
-#: config.c:520
+#: config.c:522
 #, c-format
 msgid "bad config line %d in file %s"
 msgstr "felaktig konfigurationsfil rad %d i filen %s"
 
-#: config.c:524
+#: config.c:526
 #, c-format
 msgid "bad config line %d in standard input"
 msgstr "felaktig konfigurationsfil rad %d i standard in"
 
-#: config.c:528
+#: config.c:530
 #, c-format
 msgid "bad config line %d in submodule-blob %s"
 msgstr "felaktig konfigurationsfil rad %d i undermoduls-blob:en %s"
 
-#: config.c:532
+#: config.c:534
 #, c-format
 msgid "bad config line %d in command line %s"
 msgstr "felaktig konfigurationsfil rad %d i kommandoraden %s"
 
-#: config.c:536
+#: config.c:538
 #, c-format
 msgid "bad config line %d in %s"
 msgstr "felaktig konfigurationsfil rad %d i %s"
 
-#: config.c:655
+#: config.c:657
 msgid "out of range"
 msgstr "utanför intervallet"
 
-#: config.c:655
+#: config.c:657
 msgid "invalid unit"
 msgstr "ogiltig enhet"
 
-#: config.c:661
+#: config.c:663
 #, c-format
 msgid "bad numeric config value '%s' for '%s': %s"
 msgstr "felaktigt numeriskt konfigurationsvärde \"%s\" för \"%s\": %s"
 
-#: config.c:666
+#: config.c:668
 #, c-format
 msgid "bad numeric config value '%s' for '%s' in blob %s: %s"
 msgstr ""
 "felaktigt numeriskt konfigurationsvärde \"%s\" för \"%s\" i blob:en %s: %s"
 
-#: config.c:669
+#: config.c:671
 #, c-format
 msgid "bad numeric config value '%s' for '%s' in file %s: %s"
 msgstr ""
 "felaktigt numeriskt konfigurationsvärde \"%s\" för \"%s\" i filen %s: %s"
 
-#: config.c:672
+#: config.c:674
 #, c-format
 msgid "bad numeric config value '%s' for '%s' in standard input: %s"
 msgstr ""
 "felaktigt numeriskt konfigurationsvärde \"%s\" för \"%s\" i standard in: %s"
 
-#: config.c:675
+#: config.c:677
 #, c-format
 msgid "bad numeric config value '%s' for '%s' in submodule-blob %s: %s"
 msgstr ""
 "felaktigt numeriskt konfigurationsvärde \"%s\" för \"%s\" i undermodul-blob:"
 "en %s: %s"
 
-#: config.c:678
+#: config.c:680
 #, c-format
 msgid "bad numeric config value '%s' for '%s' in command line %s: %s"
 msgstr ""
 "felaktigt numeriskt konfigurationsvärde \"%s\" för \"%s\" i kommandoraden "
 "%s: %s"
 
-#: config.c:681
+#: config.c:683
 #, c-format
 msgid "bad numeric config value '%s' for '%s' in %s: %s"
 msgstr "felaktigt numeriskt konfigurationsvärde \"%s\" för \"%s\" i %s: %s"
 
-#: config.c:768
+#: config.c:770
 #, c-format
 msgid "failed to expand user dir in: '%s'"
 msgstr "misslyckades expandera användarkatalog i: \"%s\""
 
-#: config.c:852 config.c:863
+#: config.c:865 config.c:876
 #, c-format
 msgid "bad zlib compression level %d"
 msgstr "felaktigt zlib-komprimeringsgrad %d"
 
-#: config.c:978
+#: config.c:993
 #, c-format
 msgid "invalid mode for object creation: %s"
 msgstr "felaktigt läge för skapande av objekt: %s"
 
-#: config.c:1312
+#: config.c:1149
+#, c-format
+msgid "bad pack compression level %d"
+msgstr "felaktig paketkomprimeringsgrad %d"
+
+#: config.c:1339
 msgid "unable to parse command-line config"
 msgstr "kan inte tolka kommandoradskonfiguration"
 
-#: config.c:1362
+#: config.c:1389
 msgid "unknown error occurred while reading the configuration files"
 msgstr "okänt fel uppstod vid läsning av konfigurationsfilerna"
 
-#: config.c:1716
+#: config.c:1743
 #, c-format
 msgid "unable to parse '%s' from command-line config"
 msgstr "kunde inte tolka värdet \"%s\" från kommandoradskonfiguration"
 
-#: config.c:1718
+#: config.c:1745
 #, c-format
 msgid "bad config variable '%s' in file '%s' at line %d"
 msgstr "felaktig konfigurationsvariabel \"%s\" i filen \"%s\" på rad %d"
 
-#: config.c:1777
+#: config.c:1804
 #, c-format
 msgid "%s has multiple values"
 msgstr "%s har flera värden"
 
-#: config.c:2311
+#: config.c:2225 config.c:2450
+#, c-format
+msgid "fstat on %s failed"
+msgstr "fstat misslyckades på %s"
+
+#: config.c:2343
 #, c-format
 msgid "could not set '%s' to '%s'"
 msgstr "kunde inte ställa in \"%s\" till \"%s\""
 
-#: config.c:2313
+#: config.c:2345
 #, c-format
 msgid "could not unset '%s'"
 msgstr "kunde inte ta bort inställning för \"%s\""
@@ -1367,7 +1378,7 @@
 
 # Vague original, not networking-related, but rather related to the actual
 # objects in the database.
-#: connected.c:63 builtin/fsck.c:173 builtin/prune.c:140
+#: connected.c:63 builtin/fsck.c:190 builtin/prune.c:140
 msgid "Checking connectivity"
 msgstr "Kontrollerar konnektivitet"
 
@@ -1503,12 +1514,12 @@
 msgid "  Unknown dirstat parameter '%s'\n"
 msgstr "  Okänd dirstat-parameter \"%s\"\n"
 
-#: diff.c:283
+#: diff.c:281
 #, c-format
 msgid "Unknown value for 'diff.submodule' config variable: '%s'"
 msgstr "Okänt värde för konfigurationsvariabeln \"diff.submodule\": \"%s\""
 
-#: diff.c:346
+#: diff.c:344
 #, c-format
 msgid ""
 "Found errors in 'diff.dirstat' config variable:\n"
@@ -1517,20 +1528,20 @@
 "Hittade fel i konfigurationsvariabeln \"diff.dirstat\":\n"
 "%s"
 
-#: diff.c:3087
+#: diff.c:3085
 #, c-format
 msgid "external diff died, stopping at %s"
 msgstr "extern diff dog, stannar vid %s"
 
-#: diff.c:3412
+#: diff.c:3411
 msgid "--name-only, --name-status, --check and -s are mutually exclusive"
 msgstr "--name-only, --name-status, -check och -s är ömsesidigt uteslutande"
 
-#: diff.c:3502
+#: diff.c:3501
 msgid "--follow requires exactly one pathspec"
 msgstr "--follow kräver exakt en sökvägsangivelse"
 
-#: diff.c:3665
+#: diff.c:3664
 #, c-format
 msgid ""
 "Failed to parse --dirstat/-X option parameter:\n"
@@ -1539,35 +1550,40 @@
 "Misslyckades tolka argument till flaggan --dirstat/-X;\n"
 "%s"
 
-#: diff.c:3679
+#: diff.c:3678
 #, c-format
 msgid "Failed to parse --submodule option parameter: '%s'"
 msgstr "Misslyckades tolka argument till flaggan --submodule: \"%s\""
 
-#: diff.c:4700
+#: diff.c:4696
 msgid "inexact rename detection was skipped due to too many files."
 msgstr ""
 "onöjaktig namnbytesdetektering utfördes inte på grund av för många filer"
 
-#: diff.c:4703
+#: diff.c:4699
 msgid "only found copies from modified paths due to too many files."
 msgstr "hittade bara kopior från ändrade sökvägar på grund av för många filer."
 
-#: diff.c:4706
+#: diff.c:4702
 #, c-format
 msgid ""
 "you may want to set your %s variable to at least %d and retry the command."
 msgstr ""
 "du kan sätta variabeln %s till åtminstone %d och försöka kommandot på nytt."
 
-#: dir.c:1866
+#: dir.c:1862
 msgid "failed to get kernel name and information"
 msgstr "misslyckades hämta kärnans namn och information"
 
-#: dir.c:1985
+#: dir.c:1981
 msgid "Untracked cache is disabled on this system or location."
 msgstr "Ospårad cache är inaktiverad på systemet eller platsen."
 
+#: dir.c:2759
+#, c-format
+msgid "could not migrate git directory from '%s' to '%s'"
+msgstr "kunde inte migrera git-katalog från \"%s\" till \"%s\""
+
 #: fetch-pack.c:213
 msgid "git fetch-pack: expected shallow list"
 msgstr "git fetch-pack: förväntade grund lista"
@@ -1748,35 +1764,40 @@
 msgid "failed writing detached signature to '%s'"
 msgstr "misslyckades skriva fristående signatur till \"%s\""
 
-#: grep.c:1782
+#: graph.c:96
+#, c-format
+msgid "ignore invalid color '%.*s' in log.graphColors"
+msgstr "ignorera felaktig färg \"%.*s\" i log.graphColors"
+
+#: grep.c:1794
 #, c-format
 msgid "'%s': unable to read %s"
 msgstr "\"%s\" kunde inte läsa %s"
 
-#: grep.c:1799 builtin/clone.c:381 builtin/diff.c:84 builtin/rm.c:155
+#: grep.c:1811 builtin/clone.c:381 builtin/diff.c:81 builtin/rm.c:133
 #, c-format
 msgid "failed to stat '%s'"
 msgstr "misslyckades ta status på \"%s\""
 
-#: grep.c:1810
+#: grep.c:1822
 #, c-format
 msgid "'%s': short read"
 msgstr "\"%s\": kort läsning"
 
-#: help.c:203
+#: help.c:218
 #, c-format
 msgid "available git commands in '%s'"
 msgstr "git-kommandon tillgängliga i \"%s\""
 
-#: help.c:210
+#: help.c:225
 msgid "git commands available from elsewhere on your $PATH"
 msgstr "git-kommandon från andra platser i din $PATH"
 
-#: help.c:241
+#: help.c:256
 msgid "These are common Git commands used in various situations:"
 msgstr "Dessa vanliga Git-kommandon används i olika situationer:"
 
-#: help.c:306
+#: help.c:321
 #, c-format
 msgid ""
 "'%s' appears to be a git command, but we were not\n"
@@ -1785,11 +1806,11 @@
 "\"%s\" verkar vara ett git-kommando, men vi kan inte\n"
 "köra det. Kanske git-%s är trasigt?"
 
-#: help.c:361
+#: help.c:376
 msgid "Uh oh. Your system reports no Git commands at all."
 msgstr "Oj då. Ditt system rapporterar inga Git-kommandon alls."
 
-#: help.c:383
+#: help.c:398
 #, c-format
 msgid ""
 "WARNING: You called a Git command named '%s', which does not exist.\n"
@@ -1798,17 +1819,17 @@
 "VARNING: Du anropade ett Git-kommando vid namn \"%s\", som inte finns.\n"
 "Fortsätter under förutsättningen att du menade \"%s\""
 
-#: help.c:388
+#: help.c:403
 #, c-format
 msgid "in %0.1f seconds automatically..."
 msgstr "automatiskt om %0.1f sekunder..."
 
-#: help.c:395
+#: help.c:410
 #, c-format
 msgid "git: '%s' is not a git command. See 'git --help'."
 msgstr "git: \"%s\" är inte ett git-kommando. Se \"git --help\"."
 
-#: help.c:399 help.c:465
+#: help.c:414 help.c:480
 msgid ""
 "\n"
 "Did you mean this?"
@@ -1822,7 +1843,7 @@
 "\n"
 "Menade du ett av dessa?"
 
-#: help.c:461
+#: help.c:476
 #, c-format
 msgid "%s: %s - %s"
 msgstr "%s: %s - %s"
@@ -1891,69 +1912,69 @@
 msgid "(bad commit)\n"
 msgstr "(felaktig incheckning)\n"
 
-#: merge-recursive.c:231
+#: merge-recursive.c:231 merge-recursive.c:239
 #, c-format
 msgid "addinfo_cache failed for path '%s'"
 msgstr "addinfo_cache misslyckades för sökvägen \"%s\""
 
-#: merge-recursive.c:301
+#: merge-recursive.c:303
 msgid "error building trees"
 msgstr "fel vid byggande av träd"
 
-#: merge-recursive.c:720
+#: merge-recursive.c:727
 #, c-format
 msgid "failed to create path '%s'%s"
 msgstr "misslyckades skapa sökvägen \"%s\"%s"
 
-#: merge-recursive.c:731
+#: merge-recursive.c:738
 #, c-format
 msgid "Removing %s to make room for subdirectory\n"
 msgstr "Tar bort %s för att göra plats för underkatalog\n"
 
-#: merge-recursive.c:745 merge-recursive.c:764
+#: merge-recursive.c:752 merge-recursive.c:771
 msgid ": perhaps a D/F conflict?"
 msgstr ": kanske en K/F-konflikt?"
 
-#: merge-recursive.c:754
+#: merge-recursive.c:761
 #, c-format
 msgid "refusing to lose untracked file at '%s'"
 msgstr "vägrar förlora ospårad fil vid \"%s\""
 
-#: merge-recursive.c:796 builtin/cat-file.c:34
+#: merge-recursive.c:803 builtin/cat-file.c:34
 #, c-format
 msgid "cannot read object %s '%s'"
 msgstr "kan inte läsa objektet %s: \"%s\""
 
-#: merge-recursive.c:798
+#: merge-recursive.c:805
 #, c-format
 msgid "blob expected for %s '%s'"
 msgstr "blob förväntades för %s \"%s\""
 
-#: merge-recursive.c:822
+#: merge-recursive.c:829
 #, c-format
 msgid "failed to open '%s': %s"
 msgstr "misslyckades öppna \"%s\": %s"
 
-#: merge-recursive.c:833
+#: merge-recursive.c:840
 #, c-format
 msgid "failed to symlink '%s': %s"
 msgstr "misslyckades skapa symboliska länken \"%s\": %s"
 
-#: merge-recursive.c:838
+#: merge-recursive.c:845
 #, c-format
 msgid "do not know what to do with %06o %s '%s'"
 msgstr "vet inte hur %06o %s \"%s\" skall hanteras"
 
-#: merge-recursive.c:978
+#: merge-recursive.c:985
 msgid "Failed to execute internal merge"
 msgstr "Misslyckades exekvera intern sammanslagning"
 
-#: merge-recursive.c:982
+#: merge-recursive.c:989
 #, c-format
 msgid "Unable to add %s to database"
 msgstr "Kunde inte lägga till %s till databasen"
 
-#: merge-recursive.c:1081 merge-recursive.c:1095
+#: merge-recursive.c:1088 merge-recursive.c:1102
 #, c-format
 msgid ""
 "CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left "
@@ -1962,7 +1983,7 @@
 "KONFLIKT (%s/radera): %s raderad i %s och %s i %s. Versionen %s av %s lämnad "
 "i trädet."
 
-#: merge-recursive.c:1087 merge-recursive.c:1100
+#: merge-recursive.c:1094 merge-recursive.c:1107
 #, c-format
 msgid ""
 "CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left "
@@ -1971,20 +1992,20 @@
 "KONFLIKT (%s/radera): %s raderad i %s och %s i %s. Versionen %s av %s lämnad "
 "i trädet vid %s."
 
-#: merge-recursive.c:1143
+#: merge-recursive.c:1150
 msgid "rename"
 msgstr "namnbyte"
 
-#: merge-recursive.c:1143
+#: merge-recursive.c:1150
 msgid "renamed"
 msgstr "namnbytt"
 
-#: merge-recursive.c:1200
+#: merge-recursive.c:1207
 #, c-format
 msgid "%s is a directory in %s adding as %s instead"
 msgstr "%s är en katalog i %s lägger till som %s istället"
 
-#: merge-recursive.c:1225
+#: merge-recursive.c:1232
 #, c-format
 msgid ""
 "CONFLICT (rename/rename): Rename \"%s\"->\"%s\" in branch \"%s\" rename \"%s"
@@ -1993,135 +2014,135 @@
 "KONFLIKT (namnbyte/namnbyte): Namnbyte \"%s\"->\"%s\" på grenen \"%s\" "
 "namnbyte \"%s\"->\"%s\" i \"%s\"%s"
 
-#: merge-recursive.c:1230
+#: merge-recursive.c:1237
 msgid " (left unresolved)"
 msgstr " (lämnad olöst)"
 
-#: merge-recursive.c:1292
+#: merge-recursive.c:1299
 #, c-format
 msgid "CONFLICT (rename/rename): Rename %s->%s in %s. Rename %s->%s in %s"
 msgstr ""
 "KONFLIKT (namnbyte/namnbyte): Namnbyte %s->%s i %s. Namnbyte %s->%s i %s"
 
-#: merge-recursive.c:1325
+#: merge-recursive.c:1332
 #, c-format
 msgid "Renaming %s to %s and %s to %s instead"
 msgstr "Byter namn på %s till %s och %s till %s istället"
 
-#: merge-recursive.c:1531
+#: merge-recursive.c:1535
 #, c-format
 msgid "CONFLICT (rename/add): Rename %s->%s in %s. %s added in %s"
 msgstr "KONFLIKT (namnbyte/tillägg): Namnbyte %s->%s i %s. %s tillagd i %s"
 
-#: merge-recursive.c:1546
+#: merge-recursive.c:1550
 #, c-format
 msgid "Adding merged %s"
 msgstr "Lägger till sammanslagen %s"
 
-#: merge-recursive.c:1553 merge-recursive.c:1766
+#: merge-recursive.c:1557 merge-recursive.c:1771
 #, c-format
 msgid "Adding as %s instead"
 msgstr "Lägger till som %s istället"
 
-#: merge-recursive.c:1610
+#: merge-recursive.c:1614
 #, c-format
 msgid "cannot read object %s"
 msgstr "kan inte läsa objektet %s"
 
-#: merge-recursive.c:1613
+#: merge-recursive.c:1617
 #, c-format
 msgid "object %s is not a blob"
 msgstr "objektet %s är inte en blob"
 
-#: merge-recursive.c:1666
+#: merge-recursive.c:1670
 msgid "modify"
 msgstr "ändra"
 
-#: merge-recursive.c:1666
+#: merge-recursive.c:1670
 msgid "modified"
 msgstr "ändrad"
 
-#: merge-recursive.c:1676
+#: merge-recursive.c:1680
 msgid "content"
 msgstr "innehåll"
 
-#: merge-recursive.c:1683
+#: merge-recursive.c:1687
 msgid "add/add"
 msgstr "tillägg/tillägg"
 
-#: merge-recursive.c:1718
+#: merge-recursive.c:1723
 #, c-format
 msgid "Skipped %s (merged same as existing)"
 msgstr "Hoppade över %s (sammanslagen samma som befintlig)"
 
-#: merge-recursive.c:1732
+#: merge-recursive.c:1737
 #, c-format
 msgid "Auto-merging %s"
 msgstr "Slår ihop %s automatiskt"
 
-#: merge-recursive.c:1736 git-submodule.sh:924
+#: merge-recursive.c:1741 git-submodule.sh:930
 msgid "submodule"
 msgstr "undermodul"
 
-#: merge-recursive.c:1737
+#: merge-recursive.c:1742
 #, c-format
 msgid "CONFLICT (%s): Merge conflict in %s"
 msgstr "KONFLIKT (%s): Sammanslagningskonflikt i %s"
 
-#: merge-recursive.c:1831
+#: merge-recursive.c:1836
 #, c-format
 msgid "Removing %s"
 msgstr "Tar bort %s"
 
-#: merge-recursive.c:1857
+#: merge-recursive.c:1862
 msgid "file/directory"
 msgstr "fil/katalog"
 
-#: merge-recursive.c:1863
+#: merge-recursive.c:1868
 msgid "directory/file"
 msgstr "katalog/fil"
 
-#: merge-recursive.c:1868
+#: merge-recursive.c:1874
 #, c-format
 msgid "CONFLICT (%s): There is a directory with name %s in %s. Adding %s as %s"
 msgstr ""
 "KONFLIKT (%s): Det finns en katalog med namnet %s i %s. Lägger till %s som %s"
 
-#: merge-recursive.c:1877
+#: merge-recursive.c:1883
 #, c-format
 msgid "Adding %s"
 msgstr "Lägger till %s"
 
-#: merge-recursive.c:1914
+#: merge-recursive.c:1920
 msgid "Already up-to-date!"
 msgstr "Redan à jour!"
 
-#: merge-recursive.c:1923
+#: merge-recursive.c:1929
 #, c-format
 msgid "merging of trees %s and %s failed"
 msgstr "sammanslagning av träden %s och %s misslyckades"
 
-#: merge-recursive.c:2006
+#: merge-recursive.c:2012
 msgid "Merging:"
 msgstr "Slår ihop:"
 
-#: merge-recursive.c:2019
+#: merge-recursive.c:2025
 #, c-format
 msgid "found %u common ancestor:"
 msgid_plural "found %u common ancestors:"
 msgstr[0] "hittade %u gemensam förfader:"
 msgstr[1] "hittade %u gemensamma förfäder:"
 
-#: merge-recursive.c:2058
+#: merge-recursive.c:2064
 msgid "merge returned no commit"
 msgstr "sammanslagningen returnerade ingen incheckning"
 
-#: merge-recursive.c:2121
+#: merge-recursive.c:2127
 #, c-format
 msgid "Could not parse object '%s'"
 msgstr "Kunde inte tolka objektet \"%s\""
 
-#: merge-recursive.c:2135 builtin/merge.c:641 builtin/merge.c:788
+#: merge-recursive.c:2141 builtin/merge.c:645 builtin/merge.c:792
 msgid "Unable to write index."
 msgstr "Kunde inte skriva indexet."
 
@@ -2163,7 +2184,7 @@
 msgid "Bad %s value: '%s'"
 msgstr "Felaktigt värde på %s: \"%s\""
 
-#: object.c:242
+#: object.c:240
 #, c-format
 msgid "unable to parse object: %s"
 msgstr "kunde inte tolka objektet: %s"
@@ -2203,12 +2224,12 @@
 msgid "Could not make %s writable by group"
 msgstr "Kunde inte göra %s skrivbar för gruppen"
 
-#: pathspec.c:133
+#: pathspec.c:142
 msgid "global 'glob' and 'noglob' pathspec settings are incompatible"
 msgstr ""
 "de globala sökvägsinställningarna \"glob\" och \"noglob\" är inkompatibla"
 
-#: pathspec.c:143
+#: pathspec.c:149
 msgid ""
 "global 'literal' pathspec setting is incompatible with all other global "
 "pathspec settings"
@@ -2216,46 +2237,51 @@
 "den globala sökvägsinställningen \"literal\" är inkompatibel med alla andra "
 "globala sökvägsinställningar"
 
-#: pathspec.c:177
+#: pathspec.c:188
 msgid "invalid parameter for pathspec magic 'prefix'"
 msgstr "ogiltig parameter för sökvägsuttrycket för \"prefix\""
 
-#: pathspec.c:183
+#: pathspec.c:201
 #, c-format
 msgid "Invalid pathspec magic '%.*s' in '%s'"
 msgstr "felaktigt sökvägsuttryck \"%.*s\" i \"%s\""
 
-#: pathspec.c:187
+#: pathspec.c:206
 #, c-format
 msgid "Missing ')' at the end of pathspec magic in '%s'"
 msgstr "\")\" saknas i slutet av sökvägsuttrycket för \"%s\""
 
-#: pathspec.c:205
+#: pathspec.c:238
 #, c-format
 msgid "Unimplemented pathspec magic '%c' in '%s'"
 msgstr "Tecknet \"%c\" i sökvägsuttrycket i \"%s\" har inte implementerats"
 
-#: pathspec.c:230
-#, c-format
-msgid "%s: 'literal' and 'glob' are incompatible"
-msgstr "%s: \"literal\" och \"glob\" är inkompatibla"
-
-#: pathspec.c:241
-#, c-format
-msgid "%s: '%s' is outside repository"
-msgstr "%s: \"%s\" är utanför arkivet"
-
-#: pathspec.c:291
+#: pathspec.c:293 pathspec.c:315
 #, c-format
 msgid "Pathspec '%s' is in submodule '%.*s'"
 msgstr "Sökvägsangivelsen \"%s\" är i undermodulen \"%.*s\""
 
-#: pathspec.c:353
+#: pathspec.c:350
+#, c-format
+msgid "%s: 'literal' and 'glob' are incompatible"
+msgstr "%s: \"literal\" och \"glob\" är inkompatibla"
+
+#: pathspec.c:363
+#, c-format
+msgid "%s: '%s' is outside repository"
+msgstr "%s: \"%s\" är utanför arkivet"
+
+#: pathspec.c:451
+#, c-format
+msgid "'%s' (mnemonic: '%c')"
+msgstr "\"%s\" (minnesstöd: \"%c\")"
+
+#: pathspec.c:461
 #, c-format
 msgid "%s: pathspec magic not supported by this command: %s"
 msgstr "%s: sökvägsuttrycket hanteras inte av det här kommandot: %s"
 
-#: pathspec.c:408
+#: pathspec.c:511
 msgid ""
 "empty strings as pathspecs will be made invalid in upcoming releases. please "
 "use . instead if you meant to match all paths"
@@ -2263,12 +2289,12 @@
 "tomma strängar som sökvägsangivelser kommer bli ogiltiga i en kommande "
 "utgåva. använd istället . om du vill träffa alla sökvägar"
 
-#: pathspec.c:440
+#: pathspec.c:535
 #, c-format
 msgid "pathspec '%s' is beyond a symbolic link"
 msgstr "sökvägsangivelsen \"%s\" är på andra sidan av en symbolisk länk"
 
-#: pathspec.c:449
+#: pathspec.c:544
 msgid ""
 "There is nothing to exclude from by :(exclude) patterns.\n"
 "Perhaps you forgot to add either ':/' or '.' ?"
@@ -2276,11 +2302,11 @@
 "Ingenting att exkludera från med :(exkludera)-mönster.\n"
 "Glömde du kanske att antingen lägga till \":/\" eller \".\"?"
 
-#: pretty.c:971
+#: pretty.c:982
 msgid "unable to parse --pretty format"
 msgstr "kunde inte tolka format för --pretty"
 
-#: read-cache.c:1315
+#: read-cache.c:1307
 #, c-format
 msgid ""
 "index.version set, but the value is invalid.\n"
@@ -2289,7 +2315,7 @@
 "index.version satt, men värdet är ogiltigt.\n"
 "Använder version %i"
 
-#: read-cache.c:1325
+#: read-cache.c:1317
 #, c-format
 msgid ""
 "GIT_INDEX_VERSION set, but the value is invalid.\n"
@@ -2298,7 +2324,7 @@
 "GIT_INDEX_VERSION satt, men värdet är ogiltigt.\n"
 "Använder version %i"
 
-#: refs.c:576 builtin/merge.c:840
+#: refs.c:576 builtin/merge.c:844
 #, c-format
 msgid "Could not open '%s' for writing"
 msgstr "Kunde inte öppna \"%s\" för skrivning"
@@ -2318,227 +2344,232 @@
 msgid "could not remove reference %s"
 msgstr "kunde inte ta bort referensen %s"
 
-#: ref-filter.c:55
+#: ref-filter.c:56
 #, c-format
 msgid "expected format: %%(color:<color>)"
 msgstr "förväntat format: %%(color:<color>)"
 
-#: ref-filter.c:57
+#: ref-filter.c:58
 #, c-format
 msgid "unrecognized color: %%(color:%s)"
 msgstr "okänd färg: %%(color:%s)"
 
-#: ref-filter.c:71
+#: ref-filter.c:72
 #, c-format
 msgid "unrecognized format: %%(%s)"
 msgstr "okänt format: %%(%s)"
 
-#: ref-filter.c:77
+#: ref-filter.c:78
 #, c-format
 msgid "%%(body) does not take arguments"
 msgstr "%%(body) tar inte argument"
 
-#: ref-filter.c:84
+#: ref-filter.c:85
 #, c-format
 msgid "%%(subject) does not take arguments"
 msgstr "%%(subject) tar inte argument"
 
-#: ref-filter.c:101
+#: ref-filter.c:92
+#, c-format
+msgid "%%(trailers) does not take arguments"
+msgstr "%%(trailers) tar inte argument"
+
+#: ref-filter.c:111
 #, c-format
 msgid "positive value expected contents:lines=%s"
 msgstr "positivt värde förväntat contents:lines=%s"
 
-#: ref-filter.c:103
+#: ref-filter.c:113
 #, c-format
 msgid "unrecognized %%(contents) argument: %s"
 msgstr "okänt %%(contents)-argument: %s"
 
-#: ref-filter.c:113
+#: ref-filter.c:123
 #, c-format
 msgid "unrecognized %%(objectname) argument: %s"
 msgstr "okänt %%(objectname)-argument: %s"
 
-#: ref-filter.c:135
+#: ref-filter.c:145
 #, c-format
 msgid "expected format: %%(align:<width>,<position>)"
 msgstr "förväntat format: %%(align:<bredd>,<position>)"
 
-#: ref-filter.c:147
+#: ref-filter.c:157
 #, c-format
 msgid "unrecognized position:%s"
 msgstr "okänd position:%s"
 
-#: ref-filter.c:151
+#: ref-filter.c:161
 #, c-format
 msgid "unrecognized width:%s"
 msgstr "okänd bredd:%s"
 
-#: ref-filter.c:157
+#: ref-filter.c:167
 #, c-format
 msgid "unrecognized %%(align) argument: %s"
 msgstr "okänt %%(align)-argument: %s"
 
-#: ref-filter.c:161
+#: ref-filter.c:171
 #, c-format
 msgid "positive width expected with the %%(align) atom"
 msgstr "positiv bredd förväntad med atomen %%(align)"
 
-#: ref-filter.c:244
+#: ref-filter.c:255
 #, c-format
 msgid "malformed field name: %.*s"
 msgstr "felformat fältnamn: %.*s"
 
-#: ref-filter.c:270
+#: ref-filter.c:281
 #, c-format
 msgid "unknown field name: %.*s"
 msgstr "okänt fältnamn: %.*s"
 
-#: ref-filter.c:372
+#: ref-filter.c:383
 #, c-format
 msgid "format: %%(end) atom used without corresponding atom"
 msgstr "format: atomen %%(end) använd utan motsvarande atom"
 
-#: ref-filter.c:424
+#: ref-filter.c:435
 #, c-format
 msgid "malformed format string %s"
 msgstr "felformad formatsträng %s"
 
-#: ref-filter.c:878
+#: ref-filter.c:898
 msgid ":strip= requires a positive integer argument"
 msgstr ":strip= kräver ett positivt heltalsargument"
 
-#: ref-filter.c:883
+#: ref-filter.c:903
 #, c-format
 msgid "ref '%s' does not have %ld components to :strip"
 msgstr "referensen \"%s\" har inte %ld komponenter för :strip"
 
-#: ref-filter.c:1046
+#: ref-filter.c:1066
 #, c-format
 msgid "unknown %.*s format %s"
 msgstr "okänt \"%.*s\"-format %s"
 
-#: ref-filter.c:1066 ref-filter.c:1097
+#: ref-filter.c:1086 ref-filter.c:1117
 #, c-format
 msgid "missing object %s for %s"
 msgstr "objektet %s saknas för %s"
 
-#: ref-filter.c:1069 ref-filter.c:1100
+#: ref-filter.c:1089 ref-filter.c:1120
 #, c-format
 msgid "parse_object_buffer failed on %s for %s"
 msgstr "parse_object_buffer misslyckades på %s för %s"
 
-#: ref-filter.c:1311
+#: ref-filter.c:1343
 #, c-format
 msgid "malformed object at '%s'"
 msgstr "felformat objekt vid \"%s\""
 
-#: ref-filter.c:1373
+#: ref-filter.c:1410
 #, c-format
 msgid "ignoring ref with broken name %s"
 msgstr "ignorerar referens med trasigt namn %s"
 
-#: ref-filter.c:1378
+#: ref-filter.c:1415
 #, c-format
 msgid "ignoring broken ref %s"
 msgstr "ignorerar trasig referens %s"
 
-#: ref-filter.c:1633
+#: ref-filter.c:1670
 #, c-format
 msgid "format: %%(end) atom missing"
 msgstr "format: atomen %%(end) saknas"
 
-#: ref-filter.c:1687
+#: ref-filter.c:1734
 #, c-format
 msgid "malformed object name %s"
 msgstr "felformat objektnamn %s"
 
-#: remote.c:746
+#: remote.c:754
 #, c-format
 msgid "Cannot fetch both %s and %s to %s"
 msgstr "Kan inte hämta både %s och %s till %s"
 
-#: remote.c:750
+#: remote.c:758
 #, c-format
 msgid "%s usually tracks %s, not %s"
 msgstr "%s spårar vanligtvis %s, inte %s"
 
-#: remote.c:754
+#: remote.c:762
 #, c-format
 msgid "%s tracks both %s and %s"
 msgstr "%s spårar både %s och %s"
 
-#: remote.c:762
+#: remote.c:770
 msgid "Internal error"
 msgstr "Internt fel"
 
-#: remote.c:1677 remote.c:1720
+#: remote.c:1685 remote.c:1787
 msgid "HEAD does not point to a branch"
 msgstr "HEAD pekar inte på en gren"
 
-#: remote.c:1686
+#: remote.c:1694
 #, c-format
 msgid "no such branch: '%s'"
 msgstr "okänd gren: \"%s\""
 
-#: remote.c:1689
+#: remote.c:1697
 #, c-format
 msgid "no upstream configured for branch '%s'"
 msgstr "ingen standarduppström angiven för grenen \"%s\""
 
-#: remote.c:1695
+#: remote.c:1703
 #, c-format
 msgid "upstream branch '%s' not stored as a remote-tracking branch"
 msgstr "uppströmsgrenen \"%s\" är inte lagrad som en fjärrspårande gren"
 
-#: remote.c:1710
+#: remote.c:1718
 #, c-format
 msgid "push destination '%s' on remote '%s' has no local tracking branch"
 msgstr "push-målet \"%s\" på fjärren \"%s\" har ingen lokalt spårande gren"
 
-#: remote.c:1725
+#: remote.c:1730
 #, c-format
 msgid "branch '%s' has no remote for pushing"
 msgstr "grenen \"%s\" har ingen fjärr för \"push\""
 
-#: remote.c:1736
+#: remote.c:1741
 #, c-format
 msgid "push refspecs for '%s' do not include '%s'"
 msgstr "\"push\"-referensspecifikation för \"%s\" innehåller inte \"%s\""
 
-#: remote.c:1749
+#: remote.c:1754
 msgid "push has no destination (push.default is 'nothing')"
 msgstr "\"push\" har inget mål (push.default är \"ingenting\")"
 
-#: remote.c:1771
+#: remote.c:1776
 msgid "cannot resolve 'simple' push to a single destination"
 msgstr "\"enkel push\" motsvarar flera olika mål"
 
-#: remote.c:2073
+#: remote.c:2081
 #, c-format
 msgid "Your branch is based on '%s', but the upstream is gone.\n"
 msgstr "Din gren är baserad på \"%s\", men den har försvunnit uppströms.\n"
 
-#: remote.c:2077
+#: remote.c:2085
 msgid "  (use \"git branch --unset-upstream\" to fixup)\n"
 msgstr "  (använd \"git branch --unset-upstream\" för att rätta)\n"
 
-#: remote.c:2080
+#: remote.c:2088
 #, c-format
 msgid "Your branch is up-to-date with '%s'.\n"
 msgstr "Din gren är à jour med \"%s\".\n"
 
-#: remote.c:2084
+#: remote.c:2092
 #, c-format
 msgid "Your branch is ahead of '%s' by %d commit.\n"
 msgid_plural "Your branch is ahead of '%s' by %d commits.\n"
 msgstr[0] "Din gren ligger före \"%s\" med %d incheckning.\n"
 msgstr[1] "Din gren ligger före \"%s\" med %d incheckningar.\n"
 
-#: remote.c:2090
+#: remote.c:2098
 msgid "  (use \"git push\" to publish your local commits)\n"
 msgstr "  (använd \"git push\" för att publicera dina lokala incheckningar)\n"
 
-#: remote.c:2093
+#: remote.c:2101
 #, c-format
 msgid "Your branch is behind '%s' by %d commit, and can be fast-forwarded.\n"
 msgid_plural ""
@@ -2548,11 +2579,11 @@
 msgstr[1] ""
 "Din gren ligger efter \"%s\" med %d incheckningar, och kan snabbspolas.\n"
 
-#: remote.c:2101
+#: remote.c:2109
 msgid "  (use \"git pull\" to update your local branch)\n"
 msgstr "  (använd \"git pull\" för att uppdatera din lokala gren)\n"
 
-#: remote.c:2104
+#: remote.c:2112
 #, c-format
 msgid ""
 "Your branch and '%s' have diverged,\n"
@@ -2567,7 +2598,7 @@
 "Din gren och \"%s\" har divergerat,\n"
 "och har %d respektive %d olika incheckningar.\n"
 
-#: remote.c:2114
+#: remote.c:2122
 msgid "  (use \"git pull\" to merge the remote branch into yours)\n"
 msgstr "  (använd \"git pull\" för att slå ihop fjärrgrenen med din egen)\n"
 
@@ -2584,11 +2615,11 @@
 msgid "--first-parent is incompatible with --bisect"
 msgstr "--first-parent är inkompatibelt med --bisect"
 
-#: run-command.c:106
+#: run-command.c:125
 msgid "open /dev/null failed"
 msgstr "misslyckades öppna /dev/null"
 
-#: run-command.c:108
+#: run-command.c:127
 #, c-format
 msgid "dup2(%d,%d) failed"
 msgstr "dup2(%d,%d) misslyckades"
@@ -2617,15 +2648,24 @@
 msgid "the receiving end does not support push options"
 msgstr "mottagarsidan stöder inte push-flaggor"
 
-#: sequencer.c:171
+#: sequencer.c:215
 msgid "revert"
 msgstr "revert"
 
-#: sequencer.c:171
+#: sequencer.c:217
 msgid "cherry-pick"
 msgstr "cherry-pick"
 
-#: sequencer.c:228
+#: sequencer.c:219
+msgid "rebase -i"
+msgstr "rebase -i"
+
+#: sequencer.c:221
+#, c-format
+msgid "Unknown action: %d"
+msgstr "Okänd funktion: %d"
+
+#: sequencer.c:278
 msgid ""
 "after resolving the conflicts, mark the corrected paths\n"
 "with 'git add <paths>' or 'git rm <paths>'"
@@ -2633,7 +2673,7 @@
 "efter att ha löst konflikterna, markera de rättade sökvägarna\n"
 "med \"git add <sökvägar>\" eller \"git rm <sökvägar>\""
 
-#: sequencer.c:231
+#: sequencer.c:281
 msgid ""
 "after resolving the conflicts, mark the corrected paths\n"
 "with 'git add <paths>' or 'git rm <paths>'\n"
@@ -2643,60 +2683,63 @@
 "med \"git add <sökvägar>\" eller \"git rm <sökvägar>\"\n"
 "och checka in resultatet med \"git commit\""
 
-#: sequencer.c:244 sequencer.c:1209
+#: sequencer.c:294 sequencer.c:1667
 #, c-format
 msgid "could not lock '%s'"
 msgstr "kunde inte låsa \"%s\""
 
-#: sequencer.c:247 sequencer.c:1125 sequencer.c:1214
+#: sequencer.c:297 sequencer.c:1545 sequencer.c:1672 sequencer.c:1686
 #, c-format
 msgid "could not write to '%s'"
 msgstr "kunde inte skriva till \"%s\""
 
-#: sequencer.c:251
+#: sequencer.c:301
 #, c-format
 msgid "could not write eol to '%s'"
 msgstr "kunde inte skriva radslut till \"%s\""
 
-#: sequencer.c:255 sequencer.c:1130 sequencer.c:1216
+#: sequencer.c:305 sequencer.c:1550 sequencer.c:1674
 #, c-format
 msgid "failed to finalize '%s'."
 msgstr "misslyckades färdigställa \"%s\"."
 
-#: sequencer.c:279 builtin/am.c:259 builtin/commit.c:749 builtin/merge.c:1032
+#: sequencer.c:329 sequencer.c:808 sequencer.c:1571 builtin/am.c:259
+#: builtin/commit.c:749 builtin/merge.c:1036
 #, c-format
 msgid "could not read '%s'"
 msgstr "kunde inte läsa \"%s\""
 
-#: sequencer.c:305
+#: sequencer.c:355
 #, c-format
 msgid "your local changes would be overwritten by %s."
 msgstr "dina lokala ändringar skulle skrivas över av %s."
 
-#: sequencer.c:309
+#: sequencer.c:359
 msgid "commit your changes or stash them to proceed."
 msgstr "checka in dina ändringar eller använd \"stash\" för att fortsätta."
 
-#: sequencer.c:324
+#: sequencer.c:388
 #, c-format
 msgid "%s: fast-forward"
 msgstr "%s: snabbspola"
 
-#. TRANSLATORS: %s will be "revert" or "cherry-pick"
-#: sequencer.c:399
+#. TRANSLATORS: %s will be "revert", "cherry-pick" or
+#. * "rebase -i".
+#.
+#: sequencer.c:470
 #, c-format
 msgid "%s: Unable to write new index file"
 msgstr "%s: Kunde inte skriva ny indexfil"
 
-#: sequencer.c:418
+#: sequencer.c:489
 msgid "could not resolve HEAD commit\n"
 msgstr "kunde inte bestämma HEAD:s incheckning\n"
 
-#: sequencer.c:438
+#: sequencer.c:509
 msgid "unable to update cache tree\n"
 msgstr "kan inte uppdatera cacheträd\n"
 
-#: sequencer.c:483
+#: sequencer.c:592
 #, c-format
 msgid ""
 "you have staged changes in your working tree\n"
@@ -2725,172 +2768,394 @@
 "\n"
 "  git rebase --continue\n"
 
-#: sequencer.c:567
+#: sequencer.c:688
 #, c-format
 msgid "could not parse commit %s\n"
 msgstr "kunde inte tolka incheckningen %s\n"
 
-#: sequencer.c:572
+#: sequencer.c:693
 #, c-format
 msgid "could not parse parent commit %s\n"
 msgstr "kunde inte tolka föräldraincheckningen %s\n"
 
-#: sequencer.c:656
+#: sequencer.c:815
+#, c-format
+msgid ""
+"unexpected 1st line of squash message:\n"
+"\n"
+"\t%.*s"
+msgstr ""
+"oväntad första rad i squash-meddelande:\n"
+"\n"
+"\t%.*s"
+
+#: sequencer.c:821
+#, c-format
+msgid ""
+"invalid 1st line of squash message:\n"
+"\n"
+"\t%.*s"
+msgstr ""
+"ogiltig första rad i squash-meddelande:\n"
+"\n"
+"\t%.*s"
+
+#: sequencer.c:827 sequencer.c:852
+#, c-format
+msgid "This is a combination of %d commits."
+msgstr "Det här är en kombination av %d incheckningar."
+
+#: sequencer.c:836
+msgid "need a HEAD to fixup"
+msgstr "behöver en HEAD-incheckning att rätta"
+
+#: sequencer.c:838
+msgid "could not read HEAD"
+msgstr "kunde inte läsa HEAD"
+
+#: sequencer.c:840
+msgid "could not read HEAD's commit message"
+msgstr "kunde inte läsa HEAD:s incheckningsmeddelande"
+
+#: sequencer.c:846
+#, c-format
+msgid "cannot write '%s'"
+msgstr "kan inte skriva \"%s\""
+
+#: sequencer.c:855 git-rebase--interactive.sh:445
+msgid "This is the 1st commit message:"
+msgstr "Det här är 1:a incheckningsmeddelandet:"
+
+#: sequencer.c:863
+#, c-format
+msgid "could not read commit message of %s"
+msgstr "kunde inte läsa incheckningsmeddelande för %s"
+
+#: sequencer.c:870
+#, c-format
+msgid "This is the commit message #%d:"
+msgstr "Det här är incheckningsmeddelande %d:"
+
+#: sequencer.c:875
+#, c-format
+msgid "The commit message #%d will be skipped:"
+msgstr "Incheckningsmeddelande %d kommer hoppas över:"
+
+#: sequencer.c:880
+#, c-format
+msgid "unknown command: %d"
+msgstr "okänt kommando: %d"
+
+#: sequencer.c:946
 msgid "your index file is unmerged."
 msgstr "din indexfil har inte slagits ihop."
 
-#: sequencer.c:675
+#: sequencer.c:964
 #, c-format
 msgid "commit %s is a merge but no -m option was given."
 msgstr "incheckning %s är en sammanslagning, men flaggan -m angavs inte."
 
-#: sequencer.c:683
+#: sequencer.c:972
 #, c-format
 msgid "commit %s does not have parent %d"
 msgstr "incheckning %s har inte förälder %d"
 
-#: sequencer.c:687
+#: sequencer.c:976
 #, c-format
 msgid "mainline was specified but commit %s is not a merge."
 msgstr "huvudlinje angavs, men incheckningen %s är inte en sammanslagning"
 
-#. TRANSLATORS: The first %s will be a "todo" command like
-#. "revert" or "pick", the second %s a SHA1.
-#: sequencer.c:700
-#, c-format
-msgid "%s: cannot parse parent commit %s"
-msgstr "%s: kan inte tolka föräldraincheckningen %s"
-
-#: sequencer.c:705
+#: sequencer.c:982
 #, c-format
 msgid "cannot get commit message for %s"
 msgstr "kan inte hämta incheckningsmeddelande för %s"
 
-#: sequencer.c:797
+#. TRANSLATORS: The first %s will be a "todo" command like
+#. "revert" or "pick", the second %s a SHA1.
+#: sequencer.c:1001
+#, c-format
+msgid "%s: cannot parse parent commit %s"
+msgstr "%s: kan inte tolka föräldraincheckningen %s"
+
+#: sequencer.c:1063 sequencer.c:1812
+#, c-format
+msgid "could not rename '%s' to '%s'"
+msgstr "kunde inte byta namn på \"%s\" till \"%s\""
+
+#: sequencer.c:1114
 #, c-format
 msgid "could not revert %s... %s"
 msgstr "kunde inte ångra %s... %s"
 
-#: sequencer.c:798
+#: sequencer.c:1115
 #, c-format
 msgid "could not apply %s... %s"
 msgstr "kunde inte tillämpa %s... %s"
 
-#: sequencer.c:833
+#: sequencer.c:1157
 msgid "empty commit set passed"
 msgstr "den angivna uppsättningen incheckningar är tom"
 
-#: sequencer.c:843
+#: sequencer.c:1167
 #, c-format
 msgid "git %s: failed to read the index"
 msgstr "git %s: misslyckades läsa indexet"
 
-#: sequencer.c:850
+#: sequencer.c:1174
 #, c-format
 msgid "git %s: failed to refresh the index"
 msgstr "git %s: misslyckades uppdatera indexet"
 
-#: sequencer.c:944
+#: sequencer.c:1294
 #, c-format
 msgid "invalid line %d: %.*s"
 msgstr "ogiltig rad %d: %.*s"
 
-#: sequencer.c:950
-msgid "no commits parsed."
-msgstr "inga incheckningar lästes."
+#: sequencer.c:1302
+#, c-format
+msgid "cannot '%s' without a previous commit"
+msgstr "Kan inte utföra \"%s\" utan en föregående incheckning"
 
-#: sequencer.c:966
+#: sequencer.c:1334
 #, c-format
 msgid "could not read '%s'."
 msgstr "kunde inte läsa \"%s\"."
 
-#: sequencer.c:972
+#: sequencer.c:1341
+msgid "please fix this using 'git rebase --edit-todo'."
+msgstr "rätta det med \"git rebase --edit-todo\"."
+
+#: sequencer.c:1343
 #, c-format
 msgid "unusable instruction sheet: '%s'"
 msgstr "oanvändbart manus: %s"
 
-#: sequencer.c:983
+#: sequencer.c:1348
+msgid "no commits parsed."
+msgstr "inga incheckningar lästes."
+
+#: sequencer.c:1359
 msgid "cannot cherry-pick during a revert."
 msgstr "kan inte utföra \"cherry-pick\" under en \"revert\"."
 
-#: sequencer.c:985
+#: sequencer.c:1361
 msgid "cannot revert during a cherry-pick."
 msgstr "kan inte utföra \"revert\" under en \"cherry-pick\"."
 
-#: sequencer.c:1028
+#: sequencer.c:1424
 #, c-format
 msgid "invalid key: %s"
 msgstr "felaktig nyckel: %s"
 
-#: sequencer.c:1031
+#: sequencer.c:1427
 #, c-format
 msgid "invalid value for %s: %s"
 msgstr "felaktigt värde för %s: %s"
 
-#: sequencer.c:1063
+#: sequencer.c:1484
 #, c-format
 msgid "malformed options sheet: '%s'"
 msgstr "trasigt manus: %s"
 
-#: sequencer.c:1101
+#: sequencer.c:1522
 msgid "a cherry-pick or revert is already in progress"
 msgstr "en \"cherry-pick\" eller \"revert\" pågår redan"
 
-#: sequencer.c:1102
+#: sequencer.c:1523
 msgid "try \"git cherry-pick (--continue | --quit | --abort)\""
 msgstr "testa \"git cherry-pick (--continue | --quit | --abort)\""
 
-#: sequencer.c:1106
+#: sequencer.c:1526
 #, c-format
 msgid "could not create sequencer directory '%s'"
 msgstr "kunde inte skapa \"sequencer\"-katalogen \"%s\""
 
-#: sequencer.c:1120
+#: sequencer.c:1540
 msgid "could not lock HEAD"
 msgstr "kunde inte låsa HEAD"
 
-#: sequencer.c:1151 sequencer.c:1289
+#: sequencer.c:1596 sequencer.c:2150
 msgid "no cherry-pick or revert in progress"
 msgstr "ingen \"cherry-pick\" eller \"revert\" pågår"
 
-#: sequencer.c:1153
+#: sequencer.c:1598
 msgid "cannot resolve HEAD"
 msgstr "kan inte bestämma HEAD"
 
-#: sequencer.c:1155 sequencer.c:1189
+#: sequencer.c:1600 sequencer.c:1634
 msgid "cannot abort from a branch yet to be born"
 msgstr "kan inte avbryta från en gren som ännu inte är född"
 
-#: sequencer.c:1175 builtin/grep.c:578
+#: sequencer.c:1620 builtin/grep.c:904
 #, c-format
 msgid "cannot open '%s'"
 msgstr "kan inte öppna \"%s\""
 
-#: sequencer.c:1177
+#: sequencer.c:1622
 #, c-format
 msgid "cannot read '%s': %s"
 msgstr "kan inte läsa \"%s\": %s"
 
-#: sequencer.c:1178
+#: sequencer.c:1623
 msgid "unexpected end of file"
 msgstr "oväntat filslut"
 
-#: sequencer.c:1184
+#: sequencer.c:1629
 #, c-format
 msgid "stored pre-cherry-pick HEAD file '%s' is corrupt"
 msgstr "sparad HEAD-fil från före \"cherry-pick\", \"%s\", är trasig"
 
-#: sequencer.c:1354
+#: sequencer.c:1640
+msgid "You seem to have moved HEAD. Not rewinding, check your HEAD!"
+msgstr ""
+"Du verkar ha flyttat HEAD.\n"
+"Spolar inte tillbaka, kontrollera HEAD!"
+
+#: sequencer.c:1777 sequencer.c:2049
+msgid "cannot read HEAD"
+msgstr "kan inte läsa HEAD"
+
+#: sequencer.c:1817 builtin/difftool.c:574
+#, c-format
+msgid "could not copy '%s' to '%s'"
+msgstr "kunde inte kopiera in \"%s\" till \"%s\""
+
+#: sequencer.c:1833
+msgid "could not read index"
+msgstr "Kunde inte läsa indexet"
+
+#: sequencer.c:1838
+#, c-format
+msgid ""
+"execution failed: %s\n"
+"%sYou can fix the problem, and then run\n"
+"\n"
+"  git rebase --continue\n"
+"\n"
+msgstr ""
+"körningen misslyckades: %s\n"
+"%sDu kan rätta problemet och sedan köra\n"
+"\n"
+"\tgit rebase --continue\n"
+"\n"
+
+#: sequencer.c:1844
+msgid "and made changes to the index and/or the working tree\n"
+msgstr "och gjorde ändringar till indexet och/eller arbetskatalogen\n"
+
+#: sequencer.c:1850
+#, c-format
+msgid ""
+"execution succeeded: %s\n"
+"but left changes to the index and/or the working tree\n"
+"Commit or stash your changes, and then run\n"
+"\n"
+"  git rebase --continue\n"
+"\n"
+msgstr ""
+"körningen lyckades: %s\n"
+"men lämnade kvar ändringar i indexet och/eller arbetskatalogen\n"
+"Checka in eller utför \"stash\" på ändringarna och kör sedan\n"
+"\n"
+"\tgit rebase --continue\n"
+"\n"
+
+#: sequencer.c:1905 git-rebase.sh:168
+#, c-format
+msgid "Applied autostash."
+msgstr "Tillämpade autostash."
+
+#: sequencer.c:1917
+#, c-format
+msgid "cannot store %s"
+msgstr "kan inte spara %s"
+
+#: sequencer.c:1919 git-rebase.sh:172
+#, c-format
+msgid ""
+"Applying autostash resulted in conflicts.\n"
+"Your changes are safe in the stash.\n"
+"You can run \"git stash pop\" or \"git stash drop\" at any time.\n"
+msgstr ""
+"Tillämpning av autostash gav konflikter.\n"
+"Dina ändringar är säkra i stashen.\n"
+"Du kan när som helst använda \"git stash pop\" eller \"git stash drop\".\n"
+
+#: sequencer.c:2000
+#, c-format
+msgid "stopped at %s... %.*s"
+msgstr "stoppade på %s... %.*s"
+
+#: sequencer.c:2027
+#, c-format
+msgid "unknown command %d"
+msgstr "okänt kommando %d"
+
+#: sequencer.c:2057
+msgid "could not read orig-head"
+msgstr "Kunde inte läsa orig-head"
+
+#: sequencer.c:2061
+msgid "could not read 'onto'"
+msgstr "kunde inte läsa \"onto\""
+
+#: sequencer.c:2068
+#, c-format
+msgid "could not update %s"
+msgstr "kunde inte uppdatera %s"
+
+#: sequencer.c:2075
+#, c-format
+msgid "could not update HEAD to %s"
+msgstr "kunde inte uppdatera HEAD till %s"
+
+#: sequencer.c:2159
+msgid "cannot rebase: You have unstaged changes."
+msgstr "kan inte ombasera: Du har oköade ändringar."
+
+#: sequencer.c:2164
+msgid "could not remove CHERRY_PICK_HEAD"
+msgstr "kunde inte ta bort CHERRY_PICK_HEAD"
+
+#: sequencer.c:2173
+msgid "cannot amend non-existing commit"
+msgstr "kan inte lägga till incheckning som inte finns"
+
+#: sequencer.c:2175
+#, c-format
+msgid "invalid file: '%s'"
+msgstr "ogiltig fil: \"%s\""
+
+#: sequencer.c:2177
+#, c-format
+msgid "invalid contents: '%s'"
+msgstr "ogiltigt innehåll: \"%s\""
+
+#: sequencer.c:2180
+msgid ""
+"\n"
+"You have uncommitted changes in your working tree. Please, commit them\n"
+"first and then run 'git rebase --continue' again."
+msgstr ""
+"\n"
+"Du har ändringar i arbetskatalogen som inte checkats in. Checka in dem\n"
+"först och kör sedan \"git rebase --continute\" igen."
+
+#: sequencer.c:2190
+msgid "could not commit staged changes."
+msgstr "kunde inte checka in köade ändringar."
+
+#: sequencer.c:2270
 #, c-format
 msgid "%s: can't cherry-pick a %s"
 msgstr "%s: kan inte göra \"cherry-pick\" på typen \"%s\""
 
-#: sequencer.c:1358
+#: sequencer.c:2274
 #, c-format
 msgid "%s: bad revision"
 msgstr "%s: felaktig revision"
 
-#: sequencer.c:1391
+#: sequencer.c:2307
 msgid "can't revert as initial commit"
 msgstr "kan inte ångra som första incheckning"
 
@@ -2927,29 +3192,29 @@
 "Använd \"--\" för att skilja sökvägar från revisioner, så här:\n"
 "\"git <kommando> [<revision>...] -- [<fil>...]\""
 
-#: setup.c:468
+#: setup.c:470
 #, c-format
 msgid "Expected git repo version <= %d, found %d"
 msgstr "Förväntade git-arkivversion <= %d, hittade %d"
 
-#: setup.c:476
+#: setup.c:478
 msgid "unknown repository extensions found:"
 msgstr "okända arkivutökningar hittades:"
 
-#: setup.c:762
+#: setup.c:768
 #, c-format
 msgid "Not a git repository (or any of the parent directories): %s"
 msgstr "Inte ett git-arkiv (eller någon av föräldrakatalogerna): %s"
 
-#: setup.c:764 setup.c:915 builtin/index-pack.c:1641
+#: setup.c:770 setup.c:922 builtin/index-pack.c:1643
 msgid "Cannot come back to cwd"
 msgstr "Kan inte gå tillbaka till arbetskatalogen (cwd)"
 
-#: setup.c:845
+#: setup.c:852
 msgid "Unable to read current working directory"
 msgstr "Kan inte läsa aktuell arbetskatalog"
 
-#: setup.c:920
+#: setup.c:927
 #, c-format
 msgid ""
 "Not a git repository (or any parent up to mount point %s)\n"
@@ -2959,12 +3224,12 @@
 "monteringspunkten %s)\n"
 "Stoppar vid filsystemsgräns (GIT_DISCOVERY_ACROSS_FILESYSTEM är inte satt)."
 
-#: setup.c:927
+#: setup.c:934
 #, c-format
 msgid "Cannot change to '%s/..'"
 msgstr "kan inte byta till \"%s/..\""
 
-#: setup.c:989
+#: setup.c:996
 #, c-format
 msgid ""
 "Problem with core.sharedRepository filemode value (0%.3o).\n"
@@ -2973,41 +3238,41 @@
 "Problem med filläges-värdet i core.sharedRepository (0%.3o).\n"
 "Ägaren av filerna måste alltid ha läs- och skrivbehörighet."
 
-#: sha1_file.c:473
+#: sha1_file.c:490
 #, c-format
 msgid "path '%s' does not exist"
 msgstr "sökvägen \"%s\" finns inte"
 
-#: sha1_file.c:499
+#: sha1_file.c:516
 #, c-format
 msgid "reference repository '%s' as a linked checkout is not supported yet."
 msgstr "referensarkivet \"%s\" som en länkad utcheckning stöds inte ännu."
 
-#: sha1_file.c:505
+#: sha1_file.c:522
 #, c-format
 msgid "reference repository '%s' is not a local repository."
 msgstr "referensarkivet \"%s\" är inte ett lokalt arkiv."
 
-#: sha1_file.c:511
+#: sha1_file.c:528
 #, c-format
 msgid "reference repository '%s' is shallow"
 msgstr "referensarkivet \"%s\" är grunt"
 
-#: sha1_file.c:519
+#: sha1_file.c:536
 #, c-format
 msgid "reference repository '%s' is grafted"
 msgstr "referensarkivet \"%s\" är ympat"
 
-#: sha1_file.c:1159
+#: sha1_file.c:1176
 msgid "offset before end of packfile (broken .idx?)"
 msgstr "offset före slutet av packfilen (trasig .idx?)"
 
-#: sha1_file.c:2592
+#: sha1_file.c:2637
 #, c-format
 msgid "offset before start of pack index for %s (corrupt index?)"
 msgstr "offset före slutet av packindex för %s (trasigt index?)"
 
-#: sha1_file.c:2596
+#: sha1_file.c:2641
 #, c-format
 msgid "offset beyond end of pack index for %s (truncated index?)"
 msgstr "offset borton slutet av packindex för %s (trunkerat index?)"
@@ -3043,90 +3308,135 @@
 "Undersök referenserna och ta kanske bort dem. Stäng av meddelandet\n"
 "genom att köra \"git config advice.objectNameWarning false\""
 
-#: submodule.c:64 submodule.c:98
+#: submodule.c:65 submodule.c:99
 msgid "Cannot change unmerged .gitmodules, resolve merge conflicts first"
 msgstr ""
 "Kan inte ändra .gitmodules-fil som inte slagits ihop, lös "
 "sammanslagningskonflikter först"
 
-#: submodule.c:68 submodule.c:102
+#: submodule.c:69 submodule.c:103
 #, c-format
 msgid "Could not find section in .gitmodules where path=%s"
 msgstr "Hittade inte någon sektion i .gitmodules där sökväg=%s"
 
-#: submodule.c:76
+#: submodule.c:77
 #, c-format
 msgid "Could not update .gitmodules entry %s"
 msgstr "Kunde inte uppdatera .gitmodules-posten %s"
 
-#: submodule.c:109
+#: submodule.c:110
 #, c-format
 msgid "Could not remove .gitmodules entry for %s"
 msgstr "Kunde inte ta bort .gitmodules-posten för %s"
 
-#: submodule.c:120
+#: submodule.c:121
 msgid "staging updated .gitmodules failed"
 msgstr "misslyckades köa uppdaterad .gitmodules"
 
-#: submodule.c:158
+#: submodule.c:159
 msgid "negative values not allowed for submodule.fetchJobs"
 msgstr "negativa värden är inte tillåtna för submodule.fetchJobs"
 
-#: submodule-config.c:358
+#: submodule.c:1184
+#, c-format
+msgid "could not start 'git status in submodule '%s'"
+msgstr "kunde inte starta \"git status\" i undermodulen \"%s\""
+
+#: submodule.c:1197
+#, c-format
+msgid "could not run 'git status in submodule '%s'"
+msgstr "kunde inte köra \"git status\" i undermodulen \"%s\""
+
+#: submodule.c:1398
+#, c-format
+msgid ""
+"relocate_gitdir for submodule '%s' with more than one worktree not supported"
+msgstr ""
+"relocate_gitdir för undermodulen \"%s\", som har mer än en arbetskatalog, "
+"stöds ej"
+
+#: submodule.c:1410 submodule.c:1471
+#, c-format
+msgid "could not lookup name for submodule '%s'"
+msgstr "kunde inte slå upp namnet för undermodulen \"%s\""
+
+#: submodule.c:1414 submodule.c:1474 builtin/submodule--helper.c:640
+#: builtin/submodule--helper.c:650
+#, c-format
+msgid "could not create directory '%s'"
+msgstr "kunde inte skapa katalogen \"%s\""
+
+#: submodule.c:1420
+#, c-format
+msgid ""
+"Migrating git directory of '%s%s' from\n"
+"'%s' to\n"
+"'%s'\n"
+msgstr ""
+"Migrerar git-katalogen för \"%s%s\" från\n"
+"\"%s\" till\n"
+"\"%s\"\n"
+
+#: submodule.c:1512
+#, c-format
+msgid "could not recurse into submodule '%s'"
+msgstr "kunde inte rekursera in i undermodulen \"%s\""
+
+#: submodule-config.c:360
 #, c-format
 msgid "invalid value for %s"
 msgstr "ogiltigt värde för %s"
 
-#: trailer.c:238
+#: trailer.c:240
 #, c-format
 msgid "running trailer command '%s' failed"
 msgstr "misslyckades utföra \"trailer\"-kommandot \"%s\""
 
-#: trailer.c:471 trailer.c:475 trailer.c:479 trailer.c:533 trailer.c:537
-#: trailer.c:541
+#: trailer.c:473 trailer.c:477 trailer.c:481 trailer.c:535 trailer.c:539
+#: trailer.c:543
 #, c-format
 msgid "unknown value '%s' for key '%s'"
 msgstr "okänt värde \"%s\" för nyckeln \"%s\""
 
-#: trailer.c:523 trailer.c:528 builtin/remote.c:289
+#: trailer.c:525 trailer.c:530 builtin/remote.c:289
 #, c-format
 msgid "more than one %s"
 msgstr "mer än en %s"
 
-#: trailer.c:672
+#: trailer.c:702
 #, c-format
 msgid "empty trailer token in trailer '%.*s'"
 msgstr "tom släpradssymbol i släpraden \"%.*s\""
 
-#: trailer.c:695
+#: trailer.c:722
 #, c-format
 msgid "could not read input file '%s'"
 msgstr "kunde inte läsa indatafilen \"%s\""
 
-#: trailer.c:698
+#: trailer.c:725
 msgid "could not read from stdin"
 msgstr "Kunde inte läsa från standard in"
 
-#: trailer.c:929 builtin/am.c:44
+#: trailer.c:949 builtin/am.c:44
 #, c-format
 msgid "could not stat %s"
 msgstr "kunde inte ta status på %s"
 
-#: trailer.c:931
+#: trailer.c:951
 #, c-format
 msgid "file %s is not a regular file"
 msgstr "filen %s är inte en normal fil"
 
-#: trailer.c:933
+#: trailer.c:953
 #, c-format
 msgid "file %s is not writable by user"
 msgstr "filen %s är inte skrivbar av användaren"
 
-#: trailer.c:945
+#: trailer.c:965
 msgid "could not open temporary file"
 msgstr "kunde inte öppna temporär file"
 
-#: trailer.c:983
+#: trailer.c:1001
 #, c-format
 msgid "could not rename temporary file to %s"
 msgstr "kunde inte byta namn på temporär fil till %s"
@@ -3141,7 +3451,7 @@
 msgid "transport: invalid depth option '%s'"
 msgstr "transport: ogiltig flagga för depth: %s"
 
-#: transport.c:817
+#: transport.c:885
 #, c-format
 msgid ""
 "The following submodule paths contain changes that can\n"
@@ -3150,7 +3460,7 @@
 "Följande undermodulsökvägar innehåller ändringar som\n"
 "inte kan hittas av fjärrarna:\n"
 
-#: transport.c:821
+#: transport.c:889
 #, c-format
 msgid ""
 "\n"
@@ -3177,11 +3487,11 @@
 "för att sända dem till fjärren.\n"
 "\n"
 
-#: transport.c:829
+#: transport.c:897
 msgid "Aborting."
 msgstr "Avbryter."
 
-#: transport-helper.c:1075
+#: transport-helper.c:1082
 #, c-format
 msgid "Could not read ref %s"
 msgstr "Kunde inte läsa referensen %s"
@@ -3202,7 +3512,7 @@
 msgid "too-short tree file"
 msgstr "trädfil för kort"
 
-#: unpack-trees.c:64
+#: unpack-trees.c:99
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by checkout:\n"
@@ -3211,7 +3521,7 @@
 "Dina lokala ändringar av följande filer skulle skrivas över av utcheckning:\n"
 "%%sChecka in dina ändringar eller använd \"stash\" innan du byter gren."
 
-#: unpack-trees.c:66
+#: unpack-trees.c:101
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by checkout:\n"
@@ -3220,7 +3530,7 @@
 "Dina lokala ändringar av följande filer skulle skrivas över av utcheckning:\n"
 "%%s"
 
-#: unpack-trees.c:69
+#: unpack-trees.c:104
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by merge:\n"
@@ -3230,7 +3540,7 @@
 "sammanslagning:\n"
 "%%sChecka in dina ändringar eller använd \"stash\" innan du byter gren."
 
-#: unpack-trees.c:71
+#: unpack-trees.c:106
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by merge:\n"
@@ -3240,7 +3550,7 @@
 "sammanslagning:\n"
 "%%s"
 
-#: unpack-trees.c:74
+#: unpack-trees.c:109
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by %s:\n"
@@ -3249,7 +3559,7 @@
 "Dina lokala ändringar av följande filer skulle skrivas över av \"%s\":\n"
 "%%sChecka in dina ändringar eller använd \"stash\" innan du \"%s\"."
 
-#: unpack-trees.c:76
+#: unpack-trees.c:111
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by %s:\n"
@@ -3258,17 +3568,17 @@
 "Dina lokala ändringar av följande filer skulle skrivas över av \"%s\":\n"
 "%%s"
 
-#: unpack-trees.c:81
+#: unpack-trees.c:116
 #, c-format
 msgid ""
-"Updating the following directories would lose untracked files in it:\n"
+"Updating the following directories would lose untracked files in them:\n"
 "%s"
 msgstr ""
 "Uppdatering av följande kataloger gör att ospårade filer går förlorade i "
 "dem:\n"
 "%s"
 
-#: unpack-trees.c:85
+#: unpack-trees.c:120
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by checkout:\n"
@@ -3277,7 +3587,7 @@
 "Följande ospårade filer i arbetskatalogen skulle tas bort av utcheckningen:\n"
 "%%sFlytta eller ta bort dem innan du byter gren."
 
-#: unpack-trees.c:87
+#: unpack-trees.c:122
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by checkout:\n"
@@ -3286,7 +3596,7 @@
 "Följande ospårade filer i arbetskatalogen skulle tas bort av utcheckningen:\n"
 "%%s"
 
-#: unpack-trees.c:90
+#: unpack-trees.c:125
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by merge:\n"
@@ -3296,7 +3606,7 @@
 "sammanslagningen:\n"
 "%%sFlytta eller ta bort dem innan du slår samman."
 
-#: unpack-trees.c:92
+#: unpack-trees.c:127
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by merge:\n"
@@ -3306,7 +3616,7 @@
 "sammanslagningen:\n"
 "%%s"
 
-#: unpack-trees.c:95
+#: unpack-trees.c:130
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by %s:\n"
@@ -3315,7 +3625,7 @@
 "Följande ospårade filer i arbetskatalogen skulle tas bort av \"%s\":\n"
 "%%sFlytta eller ta bort dem innan du \"%s\"."
 
-#: unpack-trees.c:97
+#: unpack-trees.c:132
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by %s:\n"
@@ -3324,7 +3634,7 @@
 "Följande ospårade filer i arbetskatalogen skulle tas bort av \"%s\":\n"
 "%%s"
 
-#: unpack-trees.c:102
+#: unpack-trees.c:137
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by "
@@ -3335,7 +3645,7 @@
 "utcheckningen:\n"
 "%%sFlytta eller ta bort dem innan du byter gren."
 
-#: unpack-trees.c:104
+#: unpack-trees.c:139
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by "
@@ -3346,7 +3656,7 @@
 "utcheckningen:\n"
 "%%s"
 
-#: unpack-trees.c:107
+#: unpack-trees.c:142
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by merge:\n"
@@ -3356,7 +3666,7 @@
 "sammanslagningen:\n"
 "%%sFlytta eller ta bort dem innan du byter gren."
 
-#: unpack-trees.c:109
+#: unpack-trees.c:144
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by merge:\n"
@@ -3366,7 +3676,7 @@
 "sammanslagningen:\n"
 "%%s"
 
-#: unpack-trees.c:112
+#: unpack-trees.c:147
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by %s:\n"
@@ -3375,7 +3685,7 @@
 "Följande ospårade filer i arbetskatalogen skulle skrivas över av \"%s\":\n"
 "%%sFlytta eller ta bort dem innan du \"%s\"."
 
-#: unpack-trees.c:114
+#: unpack-trees.c:149
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by %s:\n"
@@ -3384,12 +3694,12 @@
 "Följande ospårade filer i arbetskatalogen skulle skrivas över av \"%s\":\n"
 "%%s"
 
-#: unpack-trees.c:121
+#: unpack-trees.c:156
 #, c-format
 msgid "Entry '%s' overlaps with '%s'.  Cannot bind."
 msgstr "Posten \"%s\" överlappar \"%s\". Kan inte binda."
 
-#: unpack-trees.c:124
+#: unpack-trees.c:159
 #, c-format
 msgid ""
 "Cannot update sparse checkout: the following entries are not up-to-date:\n"
@@ -3398,7 +3708,7 @@
 "Kan inte uppdatera gles utcheckning: följande poster är inte àjour:\n"
 "%s"
 
-#: unpack-trees.c:126
+#: unpack-trees.c:161
 #, c-format
 msgid ""
 "The following working tree files would be overwritten by sparse checkout "
@@ -3409,7 +3719,7 @@
 "utcheckning:\n"
 "%s"
 
-#: unpack-trees.c:128
+#: unpack-trees.c:163
 #, c-format
 msgid ""
 "The following working tree files would be removed by sparse checkout "
@@ -3420,12 +3730,12 @@
 "utcheckning:\n"
 "%s"
 
-#: unpack-trees.c:205
+#: unpack-trees.c:240
 #, c-format
 msgid "Aborting\n"
 msgstr "Avbryter\n"
 
-#: unpack-trees.c:237
+#: unpack-trees.c:270
 msgid "Checking out files"
 msgstr "Checkar ut filer"
 
@@ -3474,7 +3784,7 @@
 msgstr "kunde inte öppna \"%s\" för skrivning"
 
 #: wrapper.c:226 wrapper.c:396 builtin/am.c:320 builtin/am.c:759
-#: builtin/am.c:847 builtin/commit.c:1705 builtin/merge.c:1029
+#: builtin/am.c:847 builtin/commit.c:1700 builtin/merge.c:1033
 #: builtin/pull.c:341
 #, c-format
 msgid "could not open '%s' for reading"
@@ -3688,63 +3998,67 @@
 msgid "  (use \"git am --abort\" to restore the original branch)"
 msgstr "  (använd \"git am --abort\" för att återställa ursprungsgrenen)"
 
-#: wt-status.c:1172
+#: wt-status.c:1176
+msgid "git-rebase-todo is missing."
+msgstr "git-rebase-todo saknas."
+
+#: wt-status.c:1178
 msgid "No commands done."
 msgstr "Inga kommandon utförda."
 
-#: wt-status.c:1175
+#: wt-status.c:1181
 #, c-format
 msgid "Last command done (%d command done):"
 msgid_plural "Last commands done (%d commands done):"
 msgstr[0] "Sista kommandot utfört (%d kommando utfört):"
 msgstr[1] "Sista kommandot utfört (%d kommandon utfört):"
 
-#: wt-status.c:1186
+#: wt-status.c:1192
 #, c-format
 msgid "  (see more in file %s)"
 msgstr "  (se fler i filen %s)"
 
-#: wt-status.c:1191
+#: wt-status.c:1197
 msgid "No commands remaining."
 msgstr "Inga kommandon återstår."
 
-#: wt-status.c:1194
+#: wt-status.c:1200
 #, c-format
 msgid "Next command to do (%d remaining command):"
 msgid_plural "Next commands to do (%d remaining commands):"
 msgstr[0] "Nästa kommando att utföra (%d kommando återstår):"
 msgstr[1] "Följande kommandon att utföra (%d kommandon återstår):"
 
-#: wt-status.c:1202
+#: wt-status.c:1208
 msgid "  (use \"git rebase --edit-todo\" to view and edit)"
 msgstr "  (använd \"git rebase --edit-todo\" för att visa och redigera)"
 
-#: wt-status.c:1215
+#: wt-status.c:1221
 #, c-format
 msgid "You are currently rebasing branch '%s' on '%s'."
 msgstr "Du håller på att ombasera grenen \"%s\" ovanpå \"%s\"."
 
-#: wt-status.c:1220
+#: wt-status.c:1226
 msgid "You are currently rebasing."
 msgstr "Du håller på med en ombasering."
 
-#: wt-status.c:1234
+#: wt-status.c:1240
 msgid "  (fix conflicts and then run \"git rebase --continue\")"
 msgstr "  (rätta konflikter och kör sedan \"git rebase --continue\")"
 
-#: wt-status.c:1236
+#: wt-status.c:1242
 msgid "  (use \"git rebase --skip\" to skip this patch)"
 msgstr "  (använd \"git rebase --skip\" för att hoppa över patchen)"
 
-#: wt-status.c:1238
+#: wt-status.c:1244
 msgid "  (use \"git rebase --abort\" to check out the original branch)"
 msgstr "  (använd \"git rebase --abort\" för att checka ut ursprungsgrenen)"
 
-#: wt-status.c:1244
+#: wt-status.c:1250
 msgid "  (all conflicts fixed: run \"git rebase --continue\")"
 msgstr "  (alla konflikter rättade: kör \"git rebase --continue\")"
 
-#: wt-status.c:1248
+#: wt-status.c:1254
 #, c-format
 msgid ""
 "You are currently splitting a commit while rebasing branch '%s' on '%s'."
@@ -3752,122 +4066,122 @@
 "Du håller på att dela upp en incheckning medan du ombaserar grenen \"%s\" "
 "ovanpå \"%s\"."
 
-#: wt-status.c:1253
+#: wt-status.c:1259
 msgid "You are currently splitting a commit during a rebase."
 msgstr "Du håller på att dela upp en incheckning i en ombasering."
 
-#: wt-status.c:1256
+#: wt-status.c:1262
 msgid "  (Once your working directory is clean, run \"git rebase --continue\")"
 msgstr "  (Så fort din arbetskatalog är ren, kör \"git rebase --continue\")"
 
-#: wt-status.c:1260
+#: wt-status.c:1266
 #, c-format
 msgid "You are currently editing a commit while rebasing branch '%s' on '%s'."
 msgstr ""
 "Du håller på att redigera en incheckning medan du ombaserar grenen \"%s\" "
 "ovanpå \"%s\"."
 
-#: wt-status.c:1265
+#: wt-status.c:1271
 msgid "You are currently editing a commit during a rebase."
 msgstr "Du håller på att redigera en incheckning under en ombasering."
 
-#: wt-status.c:1268
+#: wt-status.c:1274
 msgid "  (use \"git commit --amend\" to amend the current commit)"
 msgstr ""
 "  (använd \"git commit --amend\" för att lägga till på aktuell incheckning)"
 
-#: wt-status.c:1270
+#: wt-status.c:1276
 msgid ""
 "  (use \"git rebase --continue\" once you are satisfied with your changes)"
 msgstr "  (använd \"git rebase --continue\" när du är nöjd med dina ändringar)"
 
-#: wt-status.c:1280
+#: wt-status.c:1286
 #, c-format
 msgid "You are currently cherry-picking commit %s."
 msgstr "Du håller på med en \"cherry-pick\" av incheckningen %s."
 
-#: wt-status.c:1285
+#: wt-status.c:1291
 msgid "  (fix conflicts and run \"git cherry-pick --continue\")"
 msgstr "  (rätta konflikter och kör sedan \"git cherry-pick --continue\")"
 
-#: wt-status.c:1288
+#: wt-status.c:1294
 msgid "  (all conflicts fixed: run \"git cherry-pick --continue\")"
 msgstr "  (alla konflikter rättade: kör \"git cherry-pick --continue\")"
 
-#: wt-status.c:1290
+#: wt-status.c:1296
 msgid "  (use \"git cherry-pick --abort\" to cancel the cherry-pick operation)"
 msgstr ""
 "  (använd \"git cherry-pick --abort\" för att avbryta \"cherry-pick\"-"
 "operationen)"
 
-#: wt-status.c:1299
+#: wt-status.c:1305
 #, c-format
 msgid "You are currently reverting commit %s."
 msgstr "Du håller på med att ångra incheckningen %s."
 
-#: wt-status.c:1304
+#: wt-status.c:1310
 msgid "  (fix conflicts and run \"git revert --continue\")"
 msgstr "  (rätta konflikter och kör sedan \"git revert --continue\")"
 
-#: wt-status.c:1307
+#: wt-status.c:1313
 msgid "  (all conflicts fixed: run \"git revert --continue\")"
 msgstr "  (alla konflikter rättade: kör \"git revert --continue\")"
 
-#: wt-status.c:1309
+#: wt-status.c:1315
 msgid "  (use \"git revert --abort\" to cancel the revert operation)"
 msgstr "  (använd \"git revert --abort\" för att avbryta ångrandet)"
 
-#: wt-status.c:1320
+#: wt-status.c:1326
 #, c-format
 msgid "You are currently bisecting, started from branch '%s'."
 msgstr "Du håller på med en \"bisect\", startad från grenen \"%s\"."
 
-#: wt-status.c:1324
+#: wt-status.c:1330
 msgid "You are currently bisecting."
 msgstr "Du håller på med en \"bisect\"."
 
-#: wt-status.c:1327
+#: wt-status.c:1333
 msgid "  (use \"git bisect reset\" to get back to the original branch)"
 msgstr ""
 "  (använd \"git bisect reset\" för att komma tillbaka till ursprungsgrenen)"
 
-#: wt-status.c:1524
+#: wt-status.c:1530
 msgid "On branch "
 msgstr "På grenen "
 
-#: wt-status.c:1530
+#: wt-status.c:1536
 msgid "interactive rebase in progress; onto "
 msgstr "interaktiv ombasering pågår; ovanpå"
 
-#: wt-status.c:1532
+#: wt-status.c:1538
 msgid "rebase in progress; onto "
 msgstr "ombasering pågår; ovanpå"
 
-#: wt-status.c:1537
+#: wt-status.c:1543
 msgid "HEAD detached at "
 msgstr "HEAD frånkopplad vid "
 
-#: wt-status.c:1539
+#: wt-status.c:1545
 msgid "HEAD detached from "
 msgstr "HEAD frånkopplad från "
 
-#: wt-status.c:1542
+#: wt-status.c:1548
 msgid "Not currently on any branch."
 msgstr "Inte på någon gren för närvarande."
 
-#: wt-status.c:1560
+#: wt-status.c:1566
 msgid "Initial commit"
 msgstr "Första incheckning"
 
-#: wt-status.c:1574
+#: wt-status.c:1580
 msgid "Untracked files"
 msgstr "Ospårade filer"
 
-#: wt-status.c:1576
+#: wt-status.c:1582
 msgid "Ignored files"
 msgstr "Ignorerade filer"
 
-#: wt-status.c:1580
+#: wt-status.c:1586
 #, c-format
 msgid ""
 "It took %.2f seconds to enumerate untracked files. 'status -uno'\n"
@@ -3879,32 +4193,32 @@
 "lägga till nya filer själv (se \"git help status\")."
 
 # %s är nästa sträng eller tom.
-#: wt-status.c:1586
+#: wt-status.c:1592
 #, c-format
 msgid "Untracked files not listed%s"
 msgstr "Ospårade filer visas ej%s"
 
-#: wt-status.c:1588
+#: wt-status.c:1594
 msgid " (use -u option to show untracked files)"
 msgstr " (använd flaggan -u för att visa ospårade filer)"
 
-#: wt-status.c:1594
+#: wt-status.c:1600
 msgid "No changes"
 msgstr "Inga ändringar"
 
-#: wt-status.c:1599
+#: wt-status.c:1605
 #, c-format
 msgid "no changes added to commit (use \"git add\" and/or \"git commit -a\")\n"
 msgstr ""
 "inga ändringar att checka in (använd \"git add\" och/eller \"git commit -a"
 "\")\n"
 
-#: wt-status.c:1602
+#: wt-status.c:1608
 #, c-format
 msgid "no changes added to commit\n"
 msgstr "inga ändringar att checka in\n"
 
-#: wt-status.c:1605
+#: wt-status.c:1611
 #, c-format
 msgid ""
 "nothing added to commit but untracked files present (use \"git add\" to "
@@ -3913,62 +4227,62 @@
 "inget köat för incheckning, men ospårade filer finns (spåra med \"git add"
 "\")\n"
 
-#: wt-status.c:1608
+#: wt-status.c:1614
 #, c-format
 msgid "nothing added to commit but untracked files present\n"
 msgstr "inget köat för incheckning, men ospårade filer finns\n"
 
-#: wt-status.c:1611
+#: wt-status.c:1617
 #, c-format
 msgid "nothing to commit (create/copy files and use \"git add\" to track)\n"
 msgstr "inget att checka in (skapa/kopiera filer och spåra med \"git add\")\n"
 
-#: wt-status.c:1614 wt-status.c:1619
+#: wt-status.c:1620 wt-status.c:1625
 #, c-format
 msgid "nothing to commit\n"
 msgstr "inget att checka in\n"
 
-#: wt-status.c:1617
+#: wt-status.c:1623
 #, c-format
 msgid "nothing to commit (use -u to show untracked files)\n"
 msgstr "inget att checka in (använd -u för att visa ospårade filer)\n"
 
-#: wt-status.c:1621
+#: wt-status.c:1627
 #, c-format
 msgid "nothing to commit, working tree clean\n"
 msgstr "inget att checka in, arbetskatalogen ren\n"
 
-#: wt-status.c:1728
+#: wt-status.c:1734
 msgid "Initial commit on "
 msgstr "Första incheckning på "
 
-#: wt-status.c:1732
+#: wt-status.c:1738
 msgid "HEAD (no branch)"
 msgstr "HEAD (ingen gren)"
 
-#: wt-status.c:1761
+#: wt-status.c:1767
 msgid "gone"
 msgstr "försvunnen"
 
-#: wt-status.c:1763 wt-status.c:1771
+#: wt-status.c:1769 wt-status.c:1777
 msgid "behind "
 msgstr "efter "
 
-#: wt-status.c:1766 wt-status.c:1769
+#: wt-status.c:1772 wt-status.c:1775
 msgid "ahead "
 msgstr "före "
 
 #. TRANSLATORS: the action is e.g. "pull with rebase"
-#: wt-status.c:2270
+#: wt-status.c:2277
 #, c-format
 msgid "cannot %s: You have unstaged changes."
 msgstr "kan inte %s: Du har oköade ändringar."
 
-#: wt-status.c:2276
+#: wt-status.c:2283
 msgid "additionally, your index contains uncommitted changes."
 msgstr "dessutom innehåller dit index ändringar som inte har checkats in."
 
-#: wt-status.c:2278
+#: wt-status.c:2285
 #, c-format
 msgid "cannot %s: Your index contains uncommitted changes."
 msgstr "kan inte %s: Ditt index innehåller ändringar som inte checkats in."
@@ -4000,7 +4314,7 @@
 msgid "Unstaged changes after refreshing the index:"
 msgstr "Oköade ändringar efter att ha uppdaterat indexet:"
 
-#: builtin/add.c:209 builtin/rev-parse.c:840
+#: builtin/add.c:209 builtin/rev-parse.c:845
 msgid "Could not read the index"
 msgstr "Kunde inte läsa indexet"
 
@@ -4035,9 +4349,9 @@
 msgid "The following paths are ignored by one of your .gitignore files:\n"
 msgstr "Följande sökvägar ignoreras av en av dina .gitignore-filer:\n"
 
-#: builtin/add.c:266 builtin/clean.c:870 builtin/fetch.c:115 builtin/mv.c:111
-#: builtin/prune-packed.c:55 builtin/pull.c:198 builtin/push.c:521
-#: builtin/remote.c:1326 builtin/rm.c:268 builtin/send-pack.c:162
+#: builtin/add.c:266 builtin/clean.c:870 builtin/fetch.c:115 builtin/mv.c:123
+#: builtin/prune-packed.c:55 builtin/pull.c:198 builtin/push.c:524
+#: builtin/remote.c:1326 builtin/rm.c:241 builtin/send-pack.c:162
 msgid "dry run"
 msgstr "testkörning"
 
@@ -4045,7 +4359,7 @@
 msgid "interactive picking"
 msgstr "plocka interaktivt"
 
-#: builtin/add.c:270 builtin/checkout.c:1156 builtin/reset.c:286
+#: builtin/add.c:270 builtin/checkout.c:1159 builtin/reset.c:286
 msgid "select hunks interactively"
 msgstr "välj stycken interaktivt"
 
@@ -4127,7 +4441,7 @@
 
 #: builtin/add.c:380 builtin/check-ignore.c:172 builtin/checkout.c:279
 #: builtin/checkout.c:472 builtin/clean.c:914 builtin/commit.c:350
-#: builtin/mv.c:131 builtin/reset.c:235 builtin/rm.c:298
+#: builtin/mv.c:143 builtin/reset.c:235 builtin/rm.c:271
 #: builtin/submodule--helper.c:244
 msgid "index file corrupt"
 msgstr "indexfilen trasig"
@@ -4250,7 +4564,7 @@
 msgid "Failed to merge in the changes."
 msgstr "Misslyckades slå ihop ändringarna."
 
-#: builtin/am.c:1686 builtin/merge.c:628
+#: builtin/am.c:1686 builtin/merge.c:632
 msgid "git write-tree failed to write a tree"
 msgstr "git write-tree misslyckades skriva ett träd"
 
@@ -4258,8 +4572,8 @@
 msgid "applying to an empty history"
 msgstr "tillämpar på en tom historik"
 
-#: builtin/am.c:1706 builtin/commit.c:1769 builtin/merge.c:798
-#: builtin/merge.c:823
+#: builtin/am.c:1706 builtin/commit.c:1764 builtin/merge.c:802
+#: builtin/merge.c:827
 msgid "failed to write commit object"
 msgstr "kunde inte skriva incheckningsobjekt"
 
@@ -4371,7 +4685,7 @@
 msgstr "tillåt falla tillbaka på trevägssammanslagning om nödvändigt"
 
 #: builtin/am.c:2245 builtin/init-db.c:483 builtin/prune-packed.c:57
-#: builtin/repack.c:172
+#: builtin/repack.c:178
 msgid "be quiet"
 msgstr "var tyst"
 
@@ -4414,15 +4728,15 @@
 msgstr "sänd det genom git-apply"
 
 #: builtin/am.c:2283 builtin/fmt-merge-msg.c:662 builtin/fmt-merge-msg.c:665
-#: builtin/grep.c:707 builtin/merge.c:200 builtin/pull.c:135
-#: builtin/pull.c:194 builtin/repack.c:181 builtin/repack.c:185
-#: builtin/show-branch.c:644 builtin/show-ref.c:175 builtin/tag.c:340
+#: builtin/grep.c:1038 builtin/merge.c:202 builtin/pull.c:135
+#: builtin/pull.c:194 builtin/repack.c:187 builtin/repack.c:191
+#: builtin/show-branch.c:644 builtin/show-ref.c:169 builtin/tag.c:355
 #: parse-options.h:132 parse-options.h:134 parse-options.h:245
 msgid "n"
 msgstr "n"
 
 #: builtin/am.c:2289 builtin/for-each-ref.c:37 builtin/replace.c:438
-#: builtin/tag.c:372
+#: builtin/tag.c:387 builtin/verify-tag.c:38
 msgid "format"
 msgstr "format"
 
@@ -4458,8 +4772,8 @@
 msgid "use current timestamp for author date"
 msgstr "använd nuvarande tidsstämpel för författardatum"
 
-#: builtin/am.c:2315 builtin/commit.c:1605 builtin/merge.c:229
-#: builtin/pull.c:165 builtin/revert.c:92 builtin/tag.c:355
+#: builtin/am.c:2315 builtin/commit.c:1600 builtin/merge.c:233
+#: builtin/pull.c:165 builtin/revert.c:92 builtin/tag.c:370
 msgid "key-id"
 msgstr "nyckel-id"
 
@@ -4560,118 +4874,111 @@
 msgid "<rev-opts> are documented in git-rev-list(1)"
 msgstr "<rev-flaggor> dokumenteras i git-rev-list(1)"
 
-#: builtin/blame.c:1781
+#: builtin/blame.c:1786
 msgid "Blaming lines"
 msgstr "Klandra rader"
 
-#: builtin/blame.c:2577
+#: builtin/blame.c:2582
 msgid "Show blame entries as we find them, incrementally"
 msgstr "Visa klandringsposter när vi hittar dem, interaktivt"
 
-#: builtin/blame.c:2578
+#: builtin/blame.c:2583
 msgid "Show blank SHA-1 for boundary commits (Default: off)"
 msgstr "Visa blank SHA-1 för gränsincheckningar (Standard: av)"
 
-#: builtin/blame.c:2579
+#: builtin/blame.c:2584
 msgid "Do not treat root commits as boundaries (Default: off)"
 msgstr "Behandla inte rotincheckningar som gränser (Standard: av)"
 
-#: builtin/blame.c:2580
+#: builtin/blame.c:2585
 msgid "Show work cost statistics"
 msgstr "Visa statistik över arbetskostnad"
 
-#: builtin/blame.c:2581
+#: builtin/blame.c:2586
 msgid "Force progress reporting"
 msgstr "Tvinga förloppsrapportering"
 
-#: builtin/blame.c:2582
+#: builtin/blame.c:2587
 msgid "Show output score for blame entries"
 msgstr "Visa utdatapoäng för klandringsposter"
 
-#: builtin/blame.c:2583
+#: builtin/blame.c:2588
 msgid "Show original filename (Default: auto)"
 msgstr "Visa originalfilnamn (Standard: auto)"
 
-#: builtin/blame.c:2584
+#: builtin/blame.c:2589
 msgid "Show original linenumber (Default: off)"
 msgstr "Visa ursprungligt radnummer (Standard: av)"
 
-#: builtin/blame.c:2585
+#: builtin/blame.c:2590
 msgid "Show in a format designed for machine consumption"
 msgstr "Visa i ett format avsett för maskinkonsumtion"
 
-#: builtin/blame.c:2586
+#: builtin/blame.c:2591
 msgid "Show porcelain format with per-line commit information"
 msgstr "Visa porslinsformat med per-rad-incheckningsinformation"
 
-#: builtin/blame.c:2587
+#: builtin/blame.c:2592
 msgid "Use the same output mode as git-annotate (Default: off)"
 msgstr "Använd samma utdataläge som git-annotate (Standard: av)"
 
-#: builtin/blame.c:2588
+#: builtin/blame.c:2593
 msgid "Show raw timestamp (Default: off)"
 msgstr "Visa rå tidsstämpel (Standard: av)"
 
-#: builtin/blame.c:2589
+#: builtin/blame.c:2594
 msgid "Show long commit SHA1 (Default: off)"
 msgstr "Visa lång inchecknings-SHA1 (Standard: av)"
 
-#: builtin/blame.c:2590
+#: builtin/blame.c:2595
 msgid "Suppress author name and timestamp (Default: off)"
 msgstr "Undertryck författarnamn och tidsstämpel (Standard: av)"
 
-#: builtin/blame.c:2591
+#: builtin/blame.c:2596
 msgid "Show author email instead of name (Default: off)"
 msgstr "Visa författarens e-post istället för namn (Standard: av)"
 
-#: builtin/blame.c:2592
+#: builtin/blame.c:2597
 msgid "Ignore whitespace differences"
 msgstr "Ignorera ändringar i blanksteg"
 
-#: builtin/blame.c:2599
-msgid "Use an experimental indent-based heuristic to improve diffs"
-msgstr ""
-"Använd en experimentell indenteringsbaserad algoritm för att förbättra diffar"
+#: builtin/blame.c:2604
+msgid "Use an experimental heuristic to improve diffs"
+msgstr "Använd en experimentell algoritm för att förbättra diffar"
 
-#: builtin/blame.c:2600
-msgid "Use an experimental blank-line-based heuristic to improve diffs"
-msgstr ""
-"Använd en experimentell algoritm baserad på tomma rader för att förbättra "
-"diffar"
-
-#: builtin/blame.c:2602
+#: builtin/blame.c:2606
 msgid "Spend extra cycles to find better match"
 msgstr "Slösa extra cykler med att hitta bättre träff"
 
-#: builtin/blame.c:2603
+#: builtin/blame.c:2607
 msgid "Use revisions from <file> instead of calling git-rev-list"
 msgstr "Använd revisioner från <fil> istället för att anropa git-rev-list"
 
-#: builtin/blame.c:2604
+#: builtin/blame.c:2608
 msgid "Use <file>'s contents as the final image"
 msgstr "Använd <fil>s innehåll som slutgiltig bild"
 
-#: builtin/blame.c:2605 builtin/blame.c:2606
+#: builtin/blame.c:2609 builtin/blame.c:2610
 msgid "score"
 msgstr "poäng"
 
-#: builtin/blame.c:2605
+#: builtin/blame.c:2609
 msgid "Find line copies within and across files"
 msgstr "Hitta kopierade rader inuti och mellan filer"
 
-#: builtin/blame.c:2606
+#: builtin/blame.c:2610
 msgid "Find line movements within and across files"
 msgstr "Hitta flyttade rader inuti och mellan filer"
 
-#: builtin/blame.c:2607
+#: builtin/blame.c:2611
 msgid "n,m"
 msgstr "n,m"
 
-#: builtin/blame.c:2607
+#: builtin/blame.c:2611
 msgid "Process only line range n,m, counting from 1"
 msgstr "Behandla endast radintervallet n,m, med början på 1"
 
-#: builtin/blame.c:2654
+#: builtin/blame.c:2658
 msgid "--progress can't be used with --incremental or porcelain formats"
 msgstr "--progress kan inte användas med --incremental eller porslinsformat"
 
@@ -4681,42 +4988,42 @@
 #. takes 22 places, is the longest among various forms of
 #. relative timestamps, but your language may need more or
 #. fewer display columns.
-#: builtin/blame.c:2700
+#: builtin/blame.c:2706
 msgid "4 years, 11 months ago"
 msgstr "4 år, 11 månader sedan"
 
-#: builtin/blame.c:2780
+#: builtin/blame.c:2786
 msgid "--contents and --reverse do not blend well."
 msgstr "--contents och --reverse fungerar inte så bra tillsammans."
 
-#: builtin/blame.c:2800
+#: builtin/blame.c:2806
 msgid "cannot use --contents with final commit object name"
 msgstr "kan inte använda --contents med namn på slutgiltigt incheckningsobjekt"
 
-#: builtin/blame.c:2805
+#: builtin/blame.c:2811
 msgid "--reverse and --first-parent together require specified latest commit"
 msgstr ""
 "--reverse och --first-parent tillsammans kräver att du anger senaste "
 "incheckningen"
 
-#: builtin/blame.c:2832
+#: builtin/blame.c:2838
 msgid ""
 "--reverse --first-parent together require range along first-parent chain"
 msgstr ""
 "--reverse --first-parent tillsammans kräver ett intervall på första-förälder-"
 "kedjan"
 
-#: builtin/blame.c:2843
+#: builtin/blame.c:2849
 #, c-format
 msgid "no such path %s in %s"
 msgstr "sökvägen %s i %s finns inte"
 
-#: builtin/blame.c:2854
+#: builtin/blame.c:2860
 #, c-format
 msgid "cannot read blob %s for path %s"
 msgstr "kan inte läsa objektet %s för sökvägen %s"
 
-#: builtin/blame.c:2873
+#: builtin/blame.c:2879
 #, c-format
 msgid "file %s has only %lu line"
 msgid_plural "file %s has only %lu lines"
@@ -4894,45 +5201,45 @@
 msgid "(no branch)"
 msgstr "(ingen gren)"
 
-#: builtin/branch.c:544
+#: builtin/branch.c:535
 #, c-format
 msgid "Branch %s is being rebased at %s"
 msgstr "Grenen %s ombaseras på %s"
 
-#: builtin/branch.c:548
+#: builtin/branch.c:539
 #, c-format
 msgid "Branch %s is being bisected at %s"
 msgstr "Grenen %s är i en \"bisect\" på %s"
 
-#: builtin/branch.c:563
+#: builtin/branch.c:554
 msgid "cannot rename the current branch while not on any."
 msgstr ""
 "kunde inte byta namn på aktuell gren när du inte befinner dig på någon."
 
-#: builtin/branch.c:573
+#: builtin/branch.c:564
 #, c-format
 msgid "Invalid branch name: '%s'"
 msgstr "Felaktigt namn på gren: \"%s\""
 
-#: builtin/branch.c:590
+#: builtin/branch.c:581
 msgid "Branch rename failed"
 msgstr "Misslyckades byta namn på gren"
 
-#: builtin/branch.c:594
+#: builtin/branch.c:585
 #, c-format
 msgid "Renamed a misnamed branch '%s' away"
 msgstr "Bytte bort namn på en felaktigt namngiven gren \"%s\""
 
-#: builtin/branch.c:597
+#: builtin/branch.c:588
 #, c-format
 msgid "Branch renamed to %s, but HEAD is not updated!"
 msgstr "Grenen namnbytt till %s, men HEAD har inte uppdaterats!"
 
-#: builtin/branch.c:604
+#: builtin/branch.c:595
 msgid "Branch is renamed, but update of config-file failed"
 msgstr "Grenen namnbytt, men misslyckades uppdatera konfigurationsfilen"
 
-#: builtin/branch.c:620
+#: builtin/branch.c:611
 #, c-format
 msgid ""
 "Please edit the description for the branch\n"
@@ -4943,204 +5250,208 @@
 "  %s\n"
 "Rader som inleds med \"%c\" ignoreras.\n"
 
-#: builtin/branch.c:651
+#: builtin/branch.c:643
 msgid "Generic options"
 msgstr "Allmänna flaggor"
 
-#: builtin/branch.c:653
+#: builtin/branch.c:645
 msgid "show hash and subject, give twice for upstream branch"
 msgstr "visa hash och ärenderad, ange två gånger för uppströmsgren"
 
-#: builtin/branch.c:654
+#: builtin/branch.c:646
 msgid "suppress informational messages"
 msgstr "undertryck informationsmeddelanden"
 
-#: builtin/branch.c:655
+#: builtin/branch.c:647
 msgid "set up tracking mode (see git-pull(1))"
 msgstr "ställ in spårningsläge (se git-pull(1))"
 
-#: builtin/branch.c:657
+#: builtin/branch.c:649
 msgid "change upstream info"
 msgstr "ändra uppströmsinformation"
 
-#: builtin/branch.c:659
+#: builtin/branch.c:651
 msgid "upstream"
 msgstr "uppströms"
 
-#: builtin/branch.c:659
+#: builtin/branch.c:651
 msgid "change the upstream info"
 msgstr "ändra uppströmsinformationen"
 
-#: builtin/branch.c:660
+#: builtin/branch.c:652
 msgid "Unset the upstream info"
 msgstr "ta bort uppströmsinformationen"
 
-#: builtin/branch.c:661
+#: builtin/branch.c:653
 msgid "use colored output"
 msgstr "använd färgad utdata"
 
-#: builtin/branch.c:662
+#: builtin/branch.c:654
 msgid "act on remote-tracking branches"
 msgstr "arbeta på fjärrspårande grenar"
 
-#: builtin/branch.c:664 builtin/branch.c:665
+#: builtin/branch.c:656 builtin/branch.c:657
 msgid "print only branches that contain the commit"
 msgstr "visa endast grenar som innehåller incheckningen"
 
-#: builtin/branch.c:668
+#: builtin/branch.c:660
 msgid "Specific git-branch actions:"
 msgstr "Specifika git-branch-åtgärder:"
 
-#: builtin/branch.c:669
+#: builtin/branch.c:661
 msgid "list both remote-tracking and local branches"
 msgstr "visa både fjärrspårande och lokala grenar"
 
-#: builtin/branch.c:671
+#: builtin/branch.c:663
 msgid "delete fully merged branch"
 msgstr "ta bort helt sammanslagen gren"
 
-#: builtin/branch.c:672
+#: builtin/branch.c:664
 msgid "delete branch (even if not merged)"
 msgstr "ta bort gren (även om inte helt sammanslagen)"
 
-#: builtin/branch.c:673
+#: builtin/branch.c:665
 msgid "move/rename a branch and its reflog"
 msgstr "flytta/ta bort en gren och dess reflogg"
 
-#: builtin/branch.c:674
+#: builtin/branch.c:666
 msgid "move/rename a branch, even if target exists"
 msgstr "flytta/ta bort en gren, även om målet finns"
 
-#: builtin/branch.c:675
+#: builtin/branch.c:667
 msgid "list branch names"
 msgstr "lista namn på grenar"
 
-#: builtin/branch.c:676
+#: builtin/branch.c:668
 msgid "create the branch's reflog"
 msgstr "skapa grenens reflogg"
 
-#: builtin/branch.c:678
+#: builtin/branch.c:670
 msgid "edit the description for the branch"
 msgstr "redigera beskrivning för grenen"
 
-#: builtin/branch.c:679
+#: builtin/branch.c:671
 msgid "force creation, move/rename, deletion"
 msgstr "tvinga skapande, flytt/namnändring, borttagande"
 
-#: builtin/branch.c:680
+#: builtin/branch.c:672
 msgid "print only branches that are merged"
 msgstr "visa endast sammanslagna grenar"
 
-#: builtin/branch.c:681
+#: builtin/branch.c:673
 msgid "print only branches that are not merged"
 msgstr "visa endast ej sammanslagna grenar"
 
-#: builtin/branch.c:682
+#: builtin/branch.c:674
 msgid "list branches in columns"
 msgstr "visa grenar i spalter"
 
-#: builtin/branch.c:683 builtin/for-each-ref.c:38 builtin/tag.c:366
+#: builtin/branch.c:675 builtin/for-each-ref.c:38 builtin/tag.c:381
 msgid "key"
 msgstr "nyckel"
 
-#: builtin/branch.c:684 builtin/for-each-ref.c:39 builtin/tag.c:367
+#: builtin/branch.c:676 builtin/for-each-ref.c:39 builtin/tag.c:382
 msgid "field name to sort on"
 msgstr "fältnamn att sortera på"
 
-#: builtin/branch.c:686 builtin/for-each-ref.c:41 builtin/notes.c:404
+#: builtin/branch.c:678 builtin/for-each-ref.c:41 builtin/notes.c:404
 #: builtin/notes.c:407 builtin/notes.c:567 builtin/notes.c:570
-#: builtin/tag.c:369
+#: builtin/tag.c:384
 msgid "object"
 msgstr "objekt"
 
-#: builtin/branch.c:687
+#: builtin/branch.c:679
 msgid "print only branches of the object"
 msgstr "visa endast grenar för objektet"
 
-#: builtin/branch.c:705
+#: builtin/branch.c:681 builtin/for-each-ref.c:46 builtin/tag.c:388
+msgid "sorting and filtering are case insensitive"
+msgstr "sortering och filtrering skiljer gemener och VERSALER"
+
+#: builtin/branch.c:698
 msgid "Failed to resolve HEAD as a valid ref."
 msgstr "Misslyckades slå upp HEAD som giltig referens"
 
-#: builtin/branch.c:709 builtin/clone.c:706
+#: builtin/branch.c:702 builtin/clone.c:706
 msgid "HEAD not found below refs/heads!"
 msgstr "HEAD hittades inte under refs/heads!"
 
-#: builtin/branch.c:729
+#: builtin/branch.c:724
 msgid "--column and --verbose are incompatible"
 msgstr "--column och --verbose är inkompatibla"
 
-#: builtin/branch.c:740 builtin/branch.c:782
+#: builtin/branch.c:735 builtin/branch.c:787
 msgid "branch name required"
 msgstr "grennamn krävs"
 
-#: builtin/branch.c:758
+#: builtin/branch.c:763
 msgid "Cannot give description to detached HEAD"
 msgstr "Kan inte beskriva frånkopplad HEAD"
 
-#: builtin/branch.c:763
+#: builtin/branch.c:768
 msgid "cannot edit description of more than one branch"
 msgstr "kan inte redigera beskrivning för mer än en gren"
 
-#: builtin/branch.c:770
+#: builtin/branch.c:775
 #, c-format
 msgid "No commit on branch '%s' yet."
 msgstr "Inga incheckningar på grenen \"%s\" ännu"
 
-#: builtin/branch.c:773
+#: builtin/branch.c:778
 #, c-format
 msgid "No branch named '%s'."
 msgstr "Ingen gren vid namnet \"%s\"."
 
-#: builtin/branch.c:788
+#: builtin/branch.c:793
 msgid "too many branches for a rename operation"
 msgstr "för många grenar för namnbyte"
 
-#: builtin/branch.c:793
+#: builtin/branch.c:798
 msgid "too many branches to set new upstream"
 msgstr "för många grenar för att byta uppström"
 
-#: builtin/branch.c:797
+#: builtin/branch.c:802
 #, c-format
 msgid ""
 "could not set upstream of HEAD to %s when it does not point to any branch."
 msgstr ""
 "kunde inte sätta uppström för HEAD till %s när det inte pekar mot någon gren."
 
-#: builtin/branch.c:800 builtin/branch.c:822 builtin/branch.c:843
+#: builtin/branch.c:805 builtin/branch.c:827 builtin/branch.c:848
 #, c-format
 msgid "no such branch '%s'"
 msgstr "okänd gren \"%s\""
 
-#: builtin/branch.c:804
+#: builtin/branch.c:809
 #, c-format
 msgid "branch '%s' does not exist"
 msgstr "grenen \"%s\" finns inte"
 
-#: builtin/branch.c:816
+#: builtin/branch.c:821
 msgid "too many branches to unset upstream"
 msgstr "för många grenar för att ta bort uppström"
 
-#: builtin/branch.c:820
+#: builtin/branch.c:825
 msgid "could not unset upstream of HEAD when it does not point to any branch."
 msgstr ""
 "kunde inte ta bort uppström för HEAD när det inte pekar mot någon gren."
 
-#: builtin/branch.c:826
+#: builtin/branch.c:831
 #, c-format
 msgid "Branch '%s' has no upstream information"
 msgstr "Grenen \"%s\" har ingen uppströmsinformation"
 
-#: builtin/branch.c:840
+#: builtin/branch.c:845
 msgid "it does not make sense to create 'HEAD' manually"
 msgstr "kan inte skapa \"HEAD\" manuellt"
 
-#: builtin/branch.c:846
+#: builtin/branch.c:851
 msgid "-a and -r options to 'git branch' do not make sense with a branch name"
 msgstr ""
 "flaggorna -a och -r på \"git branch\" kan inte anges tillsammans med ett "
 "grennamn"
 
-#: builtin/branch.c:849
+#: builtin/branch.c:854
 #, c-format
 msgid ""
 "The --set-upstream flag is deprecated and will be removed. Consider using --"
@@ -5149,7 +5460,7 @@
 "Flaggan --set-upstream rekommenderas ej och kommer tas bort. Använd --track "
 "eller --set-upstream-to\n"
 
-#: builtin/branch.c:866
+#: builtin/branch.c:871
 #, c-format
 msgid ""
 "\n"
@@ -5217,7 +5528,7 @@
 msgid "for blob objects, run filters on object's content"
 msgstr "för blob-objekt, kör filger på objektets innehåll"
 
-#: builtin/cat-file.c:561 git-submodule.sh:923
+#: builtin/cat-file.c:561 git-submodule.sh:929
 msgid "blob"
 msgstr "blob"
 
@@ -5274,7 +5585,7 @@
 msgid "terminate input and output records by a NUL character"
 msgstr "avsluta in- och utdataposter med NUL-tecken"
 
-#: builtin/check-ignore.c:18 builtin/checkout.c:1137 builtin/gc.c:325
+#: builtin/check-ignore.c:18 builtin/checkout.c:1140 builtin/gc.c:332
 msgid "suppress progress reporting"
 msgstr "undertryck förloppsrapportering"
 
@@ -5364,9 +5675,9 @@
 msgstr "skriv innehåll till temporära filer"
 
 #: builtin/checkout-index.c:174 builtin/column.c:30
-#: builtin/submodule--helper.c:595 builtin/submodule--helper.c:598
-#: builtin/submodule--helper.c:604 builtin/submodule--helper.c:951
-#: builtin/worktree.c:469
+#: builtin/submodule--helper.c:597 builtin/submodule--helper.c:600
+#: builtin/submodule--helper.c:606 builtin/submodule--helper.c:967
+#: builtin/worktree.c:471
 msgid "string"
 msgstr "sträng"
 
@@ -5441,50 +5752,50 @@
 msgid "you need to resolve your current index first"
 msgstr "du måste lösa ditt befintliga index först"
 
-#: builtin/checkout.c:624
+#: builtin/checkout.c:625
 #, c-format
 msgid "Can not do reflog for '%s': %s\n"
 msgstr "Kan inte skapa referenslogg för \"%s\": %s\n"
 
-#: builtin/checkout.c:663
+#: builtin/checkout.c:666
 msgid "HEAD is now at"
 msgstr "HEAD är nu på"
 
-#: builtin/checkout.c:667 builtin/clone.c:660
+#: builtin/checkout.c:670 builtin/clone.c:660
 msgid "unable to update HEAD"
 msgstr "kan inte uppdatera HEAD"
 
-#: builtin/checkout.c:671
+#: builtin/checkout.c:674
 #, c-format
 msgid "Reset branch '%s'\n"
 msgstr "Återställ gren \"%s\"\n"
 
-#: builtin/checkout.c:674
+#: builtin/checkout.c:677
 #, c-format
 msgid "Already on '%s'\n"
 msgstr "Redan på \"%s\"\n"
 
-#: builtin/checkout.c:678
+#: builtin/checkout.c:681
 #, c-format
 msgid "Switched to and reset branch '%s'\n"
 msgstr "Växlade till och nollställde grenen \"%s\"\n"
 
-#: builtin/checkout.c:680 builtin/checkout.c:1069
+#: builtin/checkout.c:683 builtin/checkout.c:1072
 #, c-format
 msgid "Switched to a new branch '%s'\n"
 msgstr "Växlade till en ny gren \"%s\"\n"
 
-#: builtin/checkout.c:682
+#: builtin/checkout.c:685
 #, c-format
 msgid "Switched to branch '%s'\n"
 msgstr "Växlade till grenen \"%s\"\n"
 
-#: builtin/checkout.c:733
+#: builtin/checkout.c:736
 #, c-format
 msgid " ... and %d more.\n"
 msgstr " ... och %d till.\n"
 
-#: builtin/checkout.c:739
+#: builtin/checkout.c:742
 #, c-format
 msgid ""
 "Warning: you are leaving %d commit behind, not connected to\n"
@@ -5507,7 +5818,7 @@
 "\n"
 "%s\n"
 
-#: builtin/checkout.c:758
+#: builtin/checkout.c:761
 #, c-format
 msgid ""
 "If you want to keep it by creating a new branch, this may be a good time\n"
@@ -5534,151 +5845,151 @@
 " git branch <nytt_grennamn> %s\n"
 "\n"
 
-#: builtin/checkout.c:794
+#: builtin/checkout.c:797
 msgid "internal error in revision walk"
 msgstr "internt fel vid genomgång av revisioner (revision walk)"
 
-#: builtin/checkout.c:798
+#: builtin/checkout.c:801
 msgid "Previous HEAD position was"
 msgstr "Tidigare position för HEAD var"
 
-#: builtin/checkout.c:825 builtin/checkout.c:1064
+#: builtin/checkout.c:828 builtin/checkout.c:1067
 msgid "You are on a branch yet to be born"
 msgstr "Du är på en gren som ännu inte är född"
 
-#: builtin/checkout.c:970
+#: builtin/checkout.c:973
 #, c-format
 msgid "only one reference expected, %d given."
 msgstr "endast en referens förväntades, %d gavs."
 
-#: builtin/checkout.c:1010 builtin/worktree.c:214
+#: builtin/checkout.c:1013 builtin/worktree.c:214
 #, c-format
 msgid "invalid reference: %s"
 msgstr "felaktig referens: %s"
 
-#: builtin/checkout.c:1039
+#: builtin/checkout.c:1042
 #, c-format
 msgid "reference is not a tree: %s"
 msgstr "referensen är inte ett träd: %s"
 
-#: builtin/checkout.c:1078
+#: builtin/checkout.c:1081
 msgid "paths cannot be used with switching branches"
 msgstr "sökvägar kan inte användas vid byte av gren"
 
-#: builtin/checkout.c:1081 builtin/checkout.c:1085
+#: builtin/checkout.c:1084 builtin/checkout.c:1088
 #, c-format
 msgid "'%s' cannot be used with switching branches"
 msgstr "\"%s\" kan inte användas vid byte av gren"
 
-#: builtin/checkout.c:1089 builtin/checkout.c:1092 builtin/checkout.c:1097
-#: builtin/checkout.c:1100
+#: builtin/checkout.c:1092 builtin/checkout.c:1095 builtin/checkout.c:1100
+#: builtin/checkout.c:1103
 #, c-format
 msgid "'%s' cannot be used with '%s'"
 msgstr "\"%s\" kan inte användas med \"%s\""
 
-#: builtin/checkout.c:1105
+#: builtin/checkout.c:1108
 #, c-format
 msgid "Cannot switch branch to a non-commit '%s'"
 msgstr "Kan inte växla gren till icke-incheckningen \"%s\""
 
-#: builtin/checkout.c:1138 builtin/checkout.c:1140 builtin/clone.c:93
+#: builtin/checkout.c:1141 builtin/checkout.c:1143 builtin/clone.c:93
 #: builtin/remote.c:165 builtin/remote.c:167 builtin/worktree.c:324
 #: builtin/worktree.c:326
 msgid "branch"
 msgstr "gren"
 
-#: builtin/checkout.c:1139
+#: builtin/checkout.c:1142
 msgid "create and checkout a new branch"
 msgstr "skapa och checka ut en ny gren"
 
-#: builtin/checkout.c:1141
+#: builtin/checkout.c:1144
 msgid "create/reset and checkout a branch"
 msgstr "skapa/nollställ och checka ut en gren"
 
-#: builtin/checkout.c:1142
+#: builtin/checkout.c:1145
 msgid "create reflog for new branch"
 msgstr "skapa reflogg för ny gren"
 
-#: builtin/checkout.c:1143 builtin/worktree.c:328
+#: builtin/checkout.c:1146 builtin/worktree.c:328
 msgid "detach HEAD at named commit"
 msgstr "koppla från HEAD vid namngiven incheckning"
 
-#: builtin/checkout.c:1144
+#: builtin/checkout.c:1147
 msgid "set upstream info for new branch"
 msgstr "sätt uppströmsinformation för ny gren"
 
-#: builtin/checkout.c:1146
+#: builtin/checkout.c:1149
 msgid "new-branch"
 msgstr "ny-gren"
 
-#: builtin/checkout.c:1146
+#: builtin/checkout.c:1149
 msgid "new unparented branch"
 msgstr "ny gren utan förälder"
 
-#: builtin/checkout.c:1147
+#: builtin/checkout.c:1150
 msgid "checkout our version for unmerged files"
 msgstr "checka ut vår version för ej sammanslagna filer"
 
-#: builtin/checkout.c:1149
+#: builtin/checkout.c:1152
 msgid "checkout their version for unmerged files"
 msgstr "checka ut deras version för ej sammanslagna filer"
 
-#: builtin/checkout.c:1151
+#: builtin/checkout.c:1154
 msgid "force checkout (throw away local modifications)"
 msgstr "tvinga utcheckning (kasta bort lokala ändringar)"
 
-#: builtin/checkout.c:1152
+#: builtin/checkout.c:1155
 msgid "perform a 3-way merge with the new branch"
 msgstr "utför en 3-vägssammanslagning för den nya grenen"
 
-#: builtin/checkout.c:1153 builtin/merge.c:231
+#: builtin/checkout.c:1156 builtin/merge.c:235
 msgid "update ignored files (default)"
 msgstr "uppdatera ignorerade filer (standard)"
 
-#: builtin/checkout.c:1154 builtin/log.c:1466 parse-options.h:251
+#: builtin/checkout.c:1157 builtin/log.c:1466 parse-options.h:251
 msgid "style"
 msgstr "stil"
 
-#: builtin/checkout.c:1155
+#: builtin/checkout.c:1158
 msgid "conflict style (merge or diff3)"
 msgstr "konfliktstil (merge eller diff3)"
 
-#: builtin/checkout.c:1158
+#: builtin/checkout.c:1161
 msgid "do not limit pathspecs to sparse entries only"
 msgstr "begränsa inte sökvägar till endast glesa poster"
 
-#: builtin/checkout.c:1160
+#: builtin/checkout.c:1163
 msgid "second guess 'git checkout <no-such-branch>'"
 msgstr "förutspå \"git checkout <gren-saknas>\""
 
-#: builtin/checkout.c:1162
+#: builtin/checkout.c:1165
 msgid "do not check if another worktree is holding the given ref"
 msgstr ""
 "kontrollera inte om en annan arbetskatalog håller den angivna referensen"
 
-#: builtin/checkout.c:1163 builtin/clone.c:63 builtin/fetch.c:119
-#: builtin/merge.c:228 builtin/pull.c:117 builtin/push.c:536
+#: builtin/checkout.c:1166 builtin/clone.c:63 builtin/fetch.c:119
+#: builtin/merge.c:232 builtin/pull.c:117 builtin/push.c:539
 #: builtin/send-pack.c:168
 msgid "force progress reporting"
 msgstr "tvinga förloppsrapportering"
 
-#: builtin/checkout.c:1194
+#: builtin/checkout.c:1197
 msgid "-b, -B and --orphan are mutually exclusive"
 msgstr "-b, -B och --orphan är ömsesidigt uteslutande"
 
-#: builtin/checkout.c:1211
+#: builtin/checkout.c:1214
 msgid "--track needs a branch name"
 msgstr "--track behöver ett namn på en gren"
 
-#: builtin/checkout.c:1216
+#: builtin/checkout.c:1219
 msgid "Missing branch name; try -b"
 msgstr "Grennamn saknas; försök med -b"
 
-#: builtin/checkout.c:1252
+#: builtin/checkout.c:1255
 msgid "invalid path specification"
 msgstr "felaktig sökvägsangivelse"
 
-#: builtin/checkout.c:1259
+#: builtin/checkout.c:1262
 #, c-format
 msgid ""
 "Cannot update paths and switch to branch '%s' at the same time.\n"
@@ -5687,12 +5998,12 @@
 "Kan inte uppdatera sökvägar och växla till grenen \"%s\" samtidigt.\n"
 "Ville du checka ut \"%s\" som inte kan lösas som en utcheckning?"
 
-#: builtin/checkout.c:1264
+#: builtin/checkout.c:1267
 #, c-format
 msgid "git checkout: --detach does not take a path argument '%s'"
 msgstr "git checkout: --detach tar inte en sökväg som argument \"%s\""
 
-#: builtin/checkout.c:1268
+#: builtin/checkout.c:1271
 msgid ""
 "git checkout: --ours/--theirs, --force and --merge are incompatible when\n"
 "checking out of the index."
@@ -5732,19 +6043,21 @@
 msgid "failed to remove %s"
 msgstr "misslyckades ta bort %s"
 
-#: builtin/clean.c:291
+#: builtin/clean.c:291 git-add--interactive.perl:623
+#, c-format
 msgid ""
 "Prompt help:\n"
 "1          - select a numbered item\n"
 "foo        - select item based on unique prefix\n"
-"           - (empty) select nothing"
+"           - (empty) select nothing\n"
 msgstr ""
 "Kommandohjälp:\n"
 "1          - markera en numrerad post\n"
 "foo        - markera post baserad på unikt prefix\n"
-"           - (tomt) markera ingenting"
+"           - (tomt) markera ingenting\n"
 
-#: builtin/clean.c:295
+#: builtin/clean.c:295 git-add--interactive.perl:632
+#, c-format
 msgid ""
 "Prompt help:\n"
 "1          - select a single item\n"
@@ -5753,7 +6066,7 @@
 "foo        - select item based on unique prefix\n"
 "-...       - unselect specified items\n"
 "*          - choose all items\n"
-"           - (empty) finish selecting"
+"           - (empty) finish selecting\n"
 msgstr ""
 "Kommandohjälp:\n"
 "1          - markera en ensam post\n"
@@ -5762,12 +6075,13 @@
 "foo        - markera post baserad på unikt prefix\n"
 "-...       - avmarkera specifika poster\n"
 "*          - välj alla poster\n"
-"           - (tomt) avsluta markering"
+"           - (tomt) avsluta markering\n"
 
-#: builtin/clean.c:511
-#, c-format
-msgid "Huh (%s)?"
-msgstr "Vadå (%s)?"
+#: builtin/clean.c:511 git-add--interactive.perl:598
+#: git-add--interactive.perl:603
+#, c-format, perl-format
+msgid "Huh (%s)?\n"
+msgstr "Vadå (%s)?\n"
 
 #: builtin/clean.c:653
 #, c-format
@@ -5789,9 +6103,10 @@
 msgid "Remove %s [y/N]? "
 msgstr "Ta bort %s [Y=ja / N=nej]?"
 
-#: builtin/clean.c:777
-msgid "Bye."
-msgstr "Hej då."
+#: builtin/clean.c:777 git-add--interactive.perl:1669
+#, c-format
+msgid "Bye.\n"
+msgstr "Hej då.\n"
 
 #: builtin/clean.c:785
 msgid ""
@@ -5811,11 +6126,11 @@
 "help                - denna skärm\n"
 "?                   - hjälp för kommandoval"
 
-#: builtin/clean.c:812
+#: builtin/clean.c:812 git-add--interactive.perl:1745
 msgid "*** Commands ***"
 msgstr "*** Kommandon ***"
 
-#: builtin/clean.c:813
+#: builtin/clean.c:813 git-add--interactive.perl:1742
 msgid "What now"
 msgstr "Vad nu"
 
@@ -5845,8 +6160,8 @@
 msgid "remove whole directories"
 msgstr "ta bort hela kataloger"
 
-#: builtin/clean.c:875 builtin/describe.c:407 builtin/grep.c:725
-#: builtin/ls-files.c:536 builtin/name-rev.c:313 builtin/show-ref.c:182
+#: builtin/clean.c:875 builtin/describe.c:407 builtin/grep.c:1056
+#: builtin/ls-files.c:538 builtin/name-rev.c:313 builtin/show-ref.c:176
 msgid "pattern"
 msgstr "mönster"
 
@@ -5926,8 +6241,8 @@
 msgid "directory from which templates will be used"
 msgstr "katalog att använda mallar från"
 
-#: builtin/clone.c:86 builtin/clone.c:88 builtin/submodule--helper.c:602
-#: builtin/submodule--helper.c:954
+#: builtin/clone.c:86 builtin/clone.c:88 builtin/submodule--helper.c:604
+#: builtin/submodule--helper.c:970
 msgid "reference repository"
 msgstr "referensarkiv"
 
@@ -5951,7 +6266,7 @@
 msgid "path to git-upload-pack on the remote"
 msgstr "sökväg till git-upload-pack på fjärren"
 
-#: builtin/clone.c:97 builtin/fetch.c:120 builtin/grep.c:668
+#: builtin/clone.c:97 builtin/fetch.c:120 builtin/grep.c:999
 #: builtin/pull.c:202
 msgid "depth"
 msgstr "djup"
@@ -5960,7 +6275,7 @@
 msgid "create a shallow clone of that depth"
 msgstr "skapa en grund klon på detta djup"
 
-#: builtin/clone.c:99 builtin/fetch.c:122 builtin/pack-objects.c:2848
+#: builtin/clone.c:99 builtin/fetch.c:122 builtin/pack-objects.c:2836
 #: parse-options.h:142
 msgid "time"
 msgstr "tid"
@@ -5974,8 +6289,8 @@
 msgstr "revision"
 
 #: builtin/clone.c:102 builtin/fetch.c:125
-msgid "deepen history of shallow clone by excluding rev"
-msgstr "fördjupa historik för grund klon genom att exkludera revision"
+msgid "deepen history of shallow clone, excluding rev"
+msgstr "fördjupa historik för grund klon, exkludera revisionen"
 
 #: builtin/clone.c:104
 msgid "clone only one branch, HEAD or --branch"
@@ -6001,11 +6316,11 @@
 msgid "set config inside the new repository"
 msgstr "ställ in konfiguration i det nya arkivet"
 
-#: builtin/clone.c:111 builtin/fetch.c:140 builtin/push.c:547
+#: builtin/clone.c:111 builtin/fetch.c:140 builtin/push.c:550
 msgid "use IPv4 addresses only"
 msgstr "använd endast IPv4-adresser"
 
-#: builtin/clone.c:113 builtin/fetch.c:142 builtin/push.c:549
+#: builtin/clone.c:113 builtin/fetch.c:142 builtin/push.c:552
 msgid "use IPv6 addresses only"
 msgstr "använd endast IPv6-adresser"
 
@@ -6119,7 +6434,7 @@
 msgid "repository '%s' does not exist"
 msgstr "arkivet \"%s\" finns inte"
 
-#: builtin/clone.c:905 builtin/fetch.c:1338
+#: builtin/clone.c:905 builtin/fetch.c:1335
 #, c-format
 msgid "depth %s is not a positive number"
 msgstr "djupet %s är inte ett positivt tal"
@@ -6134,8 +6449,9 @@
 msgid "working tree '%s' already exists."
 msgstr "arbetsträdet \"%s\" finns redan."
 
-#: builtin/clone.c:940 builtin/clone.c:951 builtin/submodule--helper.c:657
-#: builtin/worktree.c:222 builtin/worktree.c:249
+#: builtin/clone.c:940 builtin/clone.c:951 builtin/difftool.c:252
+#: builtin/submodule--helper.c:659 builtin/worktree.c:222
+#: builtin/worktree.c:249
 #, c-format
 msgid "could not create leading directories of '%s'"
 msgstr "kunde inte skapa inledande kataloger för \"%s\""
@@ -6405,7 +6721,7 @@
 msgid "could not lookup commit %s"
 msgstr "kunde inte slå upp incheckningen %s"
 
-#: builtin/commit.c:704 builtin/shortlog.c:286
+#: builtin/commit.c:704 builtin/shortlog.c:295
 #, c-format
 msgid "(reading log message from standard input)\n"
 msgstr "(läser loggmeddelande från standard in)\n"
@@ -6505,7 +6821,7 @@
 msgid "Error building trees"
 msgstr "Fel vid byggande av träd"
 
-#: builtin/commit.c:969 builtin/tag.c:266
+#: builtin/commit.c:968 builtin/tag.c:280
 #, c-format
 msgid "Please supply the message using either -m or -F option.\n"
 msgstr "Ange meddelandet en av flaggorna -m eller -F.\n"
@@ -6516,7 +6832,7 @@
 msgstr ""
 "--author '%s' är inte 'Namn <epost>' och matchar ingen befintlig författare"
 
-#: builtin/commit.c:1086 builtin/commit.c:1327
+#: builtin/commit.c:1086 builtin/commit.c:1325
 #, c-format
 msgid "Invalid untracked files mode '%s'"
 msgstr "Ogiltigt läge för ospårade filer: \"%s\""
@@ -6567,65 +6883,61 @@
 msgstr "Du måste ange sökvägar tillsammans med --include/--only."
 
 #: builtin/commit.c:1212
-msgid "Clever... amending the last one with dirty index."
-msgstr "Smart... utöka den senaste med smutsigt index."
-
-#: builtin/commit.c:1214
 msgid "Explicit paths specified without -i or -o; assuming --only paths..."
 msgstr "Explicita sökvägar angavs utan -i eller -o; antar --only sökvägar..."
 
-#: builtin/commit.c:1226 builtin/tag.c:474
+#: builtin/commit.c:1224 builtin/tag.c:495
 #, c-format
 msgid "Invalid cleanup mode %s"
 msgstr "Felaktigt städningsläge %s"
 
-#: builtin/commit.c:1231
+#: builtin/commit.c:1229
 msgid "Paths with -a does not make sense."
 msgstr "Kan inte ange sökvägar med -a."
 
-#: builtin/commit.c:1341 builtin/commit.c:1617
+#: builtin/commit.c:1339 builtin/commit.c:1612
 msgid "show status concisely"
 msgstr "visa koncis status"
 
-#: builtin/commit.c:1343 builtin/commit.c:1619
+#: builtin/commit.c:1341 builtin/commit.c:1614
 msgid "show branch information"
 msgstr "visa information om gren"
 
-#: builtin/commit.c:1345
+#: builtin/commit.c:1343
 msgid "version"
 msgstr "version"
 
-#: builtin/commit.c:1345 builtin/commit.c:1621 builtin/push.c:522
-#: builtin/worktree.c:440
+#: builtin/commit.c:1343 builtin/commit.c:1616 builtin/push.c:525
+#: builtin/worktree.c:442
 msgid "machine-readable output"
 msgstr "maskinläsbar utdata"
 
-#: builtin/commit.c:1348 builtin/commit.c:1623
+#: builtin/commit.c:1346 builtin/commit.c:1618
 msgid "show status in long format (default)"
 msgstr "visa status i långt format (standard)"
 
-#: builtin/commit.c:1351 builtin/commit.c:1626
+#: builtin/commit.c:1349 builtin/commit.c:1621
 msgid "terminate entries with NUL"
 msgstr "terminera poster med NUL"
 
-#: builtin/commit.c:1353 builtin/commit.c:1629 builtin/fast-export.c:981
-#: builtin/fast-export.c:984 builtin/tag.c:353
+#: builtin/commit.c:1351 builtin/commit.c:1624 builtin/fast-export.c:981
+#: builtin/fast-export.c:984 builtin/tag.c:368
 msgid "mode"
 msgstr "läge"
 
-#: builtin/commit.c:1354 builtin/commit.c:1629
+#: builtin/commit.c:1352 builtin/commit.c:1624
 msgid "show untracked files, optional modes: all, normal, no. (Default: all)"
 msgstr "visa ospårade filer, valfria lägen: alla, normal, no. (Standard: all)"
 
-#: builtin/commit.c:1357
+#: builtin/commit.c:1355
 msgid "show ignored files"
 msgstr "visa ignorerade filer"
 
-#: builtin/commit.c:1358 parse-options.h:155
+#: builtin/commit.c:1356 parse-options.h:155
 msgid "when"
 msgstr "när"
 
-#: builtin/commit.c:1359
+#: builtin/commit.c:1357
 msgid ""
 "ignore changes to submodules, optional when: all, dirty, untracked. "
 "(Default: all)"
@@ -6633,201 +6945,201 @@
 "ignorera ändringar i undermoduler, valfritt när: all, dirty, untracked. "
 "(Default: all)"
 
-#: builtin/commit.c:1361
+#: builtin/commit.c:1359
 msgid "list untracked files in columns"
 msgstr "visa ospårade filer i spalter"
 
-#: builtin/commit.c:1437
+#: builtin/commit.c:1435
 msgid "couldn't look up newly created commit"
 msgstr "kunde inte slå upp en precis skapad incheckning"
 
-#: builtin/commit.c:1439
+#: builtin/commit.c:1437
 msgid "could not parse newly created commit"
 msgstr "kunde inte tolka en precis skapad incheckning"
 
-#: builtin/commit.c:1484
+#: builtin/commit.c:1482
 msgid "detached HEAD"
 msgstr "frånkopplad HEAD"
 
-#: builtin/commit.c:1487
+#: builtin/commit.c:1485
 msgid " (root-commit)"
 msgstr " (rotincheckning)"
 
-#: builtin/commit.c:1587
+#: builtin/commit.c:1582
 msgid "suppress summary after successful commit"
 msgstr "undertryck sammanfattning efter framgångsrik incheckning"
 
-#: builtin/commit.c:1588
+#: builtin/commit.c:1583
 msgid "show diff in commit message template"
 msgstr "visa diff i mallen för incheckningsmeddelandet"
 
-#: builtin/commit.c:1590
+#: builtin/commit.c:1585
 msgid "Commit message options"
 msgstr "Alternativ för incheckningsmeddelande"
 
-#: builtin/commit.c:1591 builtin/tag.c:351
+#: builtin/commit.c:1586 builtin/tag.c:366
 msgid "read message from file"
 msgstr "läs meddelande från fil"
 
-#: builtin/commit.c:1592
+#: builtin/commit.c:1587
 msgid "author"
 msgstr "författare"
 
-#: builtin/commit.c:1592
+#: builtin/commit.c:1587
 msgid "override author for commit"
 msgstr "överstyr författare för incheckningen"
 
-#: builtin/commit.c:1593 builtin/gc.c:326
+#: builtin/commit.c:1588 builtin/gc.c:333
 msgid "date"
 msgstr "datum"
 
-#: builtin/commit.c:1593
+#: builtin/commit.c:1588
 msgid "override date for commit"
 msgstr "överstyr datum för incheckningen"
 
-#: builtin/commit.c:1594 builtin/merge.c:220 builtin/notes.c:398
-#: builtin/notes.c:561 builtin/tag.c:349
+#: builtin/commit.c:1589 builtin/merge.c:222 builtin/notes.c:398
+#: builtin/notes.c:561 builtin/tag.c:364
 msgid "message"
 msgstr "meddelande"
 
-#: builtin/commit.c:1594
+#: builtin/commit.c:1589
 msgid "commit message"
 msgstr "incheckningsmeddelande"
 
-#: builtin/commit.c:1595 builtin/commit.c:1596 builtin/commit.c:1597
-#: builtin/commit.c:1598 parse-options.h:257 ref-filter.h:79
+#: builtin/commit.c:1590 builtin/commit.c:1591 builtin/commit.c:1592
+#: builtin/commit.c:1593 parse-options.h:257 ref-filter.h:81
 msgid "commit"
 msgstr "incheckning"
 
-#: builtin/commit.c:1595
+#: builtin/commit.c:1590
 msgid "reuse and edit message from specified commit"
 msgstr "återanvänd och redigera meddelande från angiven incheckning"
 
-#: builtin/commit.c:1596
+#: builtin/commit.c:1591
 msgid "reuse message from specified commit"
 msgstr "återanvänd meddelande från angiven incheckning"
 
-#: builtin/commit.c:1597
+#: builtin/commit.c:1592
 msgid "use autosquash formatted message to fixup specified commit"
 msgstr ""
 "använd autosquash-formaterat meddelande för att fixa angiven incheckning"
 
-#: builtin/commit.c:1598
+#: builtin/commit.c:1593
 msgid "use autosquash formatted message to squash specified commit"
 msgstr ""
 "använd autosquash-formaterat meddelande för att slå ihop med angiven "
 "incheckning"
 
-#: builtin/commit.c:1599
+#: builtin/commit.c:1594
 msgid "the commit is authored by me now (used with -C/-c/--amend)"
 msgstr "jag är nu författare av incheckningen (används med -C/-c/--amend)"
 
-#: builtin/commit.c:1600 builtin/log.c:1413 builtin/revert.c:86
+#: builtin/commit.c:1595 builtin/log.c:1413 builtin/revert.c:86
 msgid "add Signed-off-by:"
 msgstr "lägg till Signed-off-by:"
 
-#: builtin/commit.c:1601
+#: builtin/commit.c:1596
 msgid "use specified template file"
 msgstr "använd angiven mallfil"
 
-#: builtin/commit.c:1602
+#: builtin/commit.c:1597
 msgid "force edit of commit"
 msgstr "tvinga redigering av incheckning"
 
-#: builtin/commit.c:1603
+#: builtin/commit.c:1598
 msgid "default"
 msgstr "standard"
 
-#: builtin/commit.c:1603 builtin/tag.c:354
+#: builtin/commit.c:1598 builtin/tag.c:369
 msgid "how to strip spaces and #comments from message"
 msgstr "hur blanksteg och #kommentarer skall tas bort från meddelande"
 
-#: builtin/commit.c:1604
+#: builtin/commit.c:1599
 msgid "include status in commit message template"
 msgstr "inkludera status i mallen för incheckningsmeddelandet"
 
-#: builtin/commit.c:1606 builtin/merge.c:230 builtin/pull.c:166
+#: builtin/commit.c:1601 builtin/merge.c:234 builtin/pull.c:166
 #: builtin/revert.c:93
 msgid "GPG sign commit"
 msgstr "GPG-signera incheckning"
 
-#: builtin/commit.c:1609
+#: builtin/commit.c:1604
 msgid "Commit contents options"
 msgstr "Alternativ för incheckningens innehåll"
 
-#: builtin/commit.c:1610
+#: builtin/commit.c:1605
 msgid "commit all changed files"
 msgstr "checka in alla ändrade filer"
 
-#: builtin/commit.c:1611
+#: builtin/commit.c:1606
 msgid "add specified files to index for commit"
 msgstr "lägg till angivna filer till indexet för incheckning"
 
-#: builtin/commit.c:1612
+#: builtin/commit.c:1607
 msgid "interactively add files"
 msgstr "lägg till filer interaktivt"
 
-#: builtin/commit.c:1613
+#: builtin/commit.c:1608
 msgid "interactively add changes"
 msgstr "lägg till ändringar interaktivt"
 
-#: builtin/commit.c:1614
+#: builtin/commit.c:1609
 msgid "commit only specified files"
 msgstr "checka endast in angivna filer"
 
-#: builtin/commit.c:1615
+#: builtin/commit.c:1610
 msgid "bypass pre-commit and commit-msg hooks"
 msgstr "förbigå pre-commit- och commit-msg-krokar"
 
-#: builtin/commit.c:1616
+#: builtin/commit.c:1611
 msgid "show what would be committed"
 msgstr "visa vad som skulle checkas in"
 
-#: builtin/commit.c:1627
+#: builtin/commit.c:1622
 msgid "amend previous commit"
 msgstr "lägg till föregående incheckning"
 
-#: builtin/commit.c:1628
+#: builtin/commit.c:1623
 msgid "bypass post-rewrite hook"
 msgstr "förbigå post-rewrite-krok"
 
-#: builtin/commit.c:1633
+#: builtin/commit.c:1628
 msgid "ok to record an empty change"
 msgstr "ok att registrera en tom ändring"
 
-#: builtin/commit.c:1635
+#: builtin/commit.c:1630
 msgid "ok to record a change with an empty message"
 msgstr "ok att registrera en ändring med tomt meddelande"
 
-#: builtin/commit.c:1664
+#: builtin/commit.c:1659
 msgid "could not parse HEAD commit"
 msgstr "kunde inte tolka HEAD:s incheckning"
 
-#: builtin/commit.c:1712
+#: builtin/commit.c:1707
 #, c-format
 msgid "Corrupt MERGE_HEAD file (%s)"
 msgstr "Trasig MERGE_HEAD-fil (%s)"
 
-#: builtin/commit.c:1719
+#: builtin/commit.c:1714
 msgid "could not read MERGE_MODE"
 msgstr "kunde inte läsa MERGE_MODE"
 
-#: builtin/commit.c:1738
+#: builtin/commit.c:1733
 #, c-format
 msgid "could not read commit message: %s"
 msgstr "kunde inte läsa incheckningsmeddelande: %s"
 
-#: builtin/commit.c:1749
+#: builtin/commit.c:1744
 #, c-format
 msgid "Aborting commit; you did not edit the message.\n"
 msgstr "Avbryter incheckning; meddelandet inte redigerat.\n"
 
-#: builtin/commit.c:1754
+#: builtin/commit.c:1749
 #, c-format
 msgid "Aborting commit due to empty commit message.\n"
 msgstr "Avbryter på grund av tomt incheckningsmeddelande.\n"
 
-#: builtin/commit.c:1802
+#: builtin/commit.c:1797
 msgid ""
 "Repository has been updated, but unable to write\n"
 "new_index file. Check that disk is not full and quota is\n"
@@ -7151,35 +7463,123 @@
 msgid "--dirty is incompatible with commit-ishes"
 msgstr "--dirty är inkompatibelt med \"commit-ish\"-värden"
 
-#: builtin/diff.c:86
+#: builtin/diff.c:83
 #, c-format
 msgid "'%s': not a regular file or symlink"
 msgstr "\"%s\": inte en normal fil eller symbolisk länk"
 
-#: builtin/diff.c:237
+#: builtin/diff.c:234
 #, c-format
 msgid "invalid option: %s"
 msgstr "ogiltig flagga: %s"
 
-#: builtin/diff.c:361
+#: builtin/diff.c:358
 msgid "Not a git repository"
 msgstr "Inte ett git-arkiv"
 
-#: builtin/diff.c:404
+#: builtin/diff.c:401
 #, c-format
 msgid "invalid object '%s' given."
 msgstr "objektet \"%s\" som angavs är felaktigt."
 
-#: builtin/diff.c:413
+#: builtin/diff.c:410
 #, c-format
 msgid "more than two blobs given: '%s'"
 msgstr "mer än två blobbar angavs: \"%s\""
 
-#: builtin/diff.c:420
+#: builtin/diff.c:417
 #, c-format
 msgid "unhandled object '%s' given."
 msgstr "ej hanterat objekt \"%s\" angavs."
 
+#: builtin/difftool.c:28
+msgid "git difftool [<options>] [<commit> [<commit>]] [--] [<path>...]"
+msgstr ""
+"git difftool [<flaggor>] [<incheckning> [<incheckning>]] [--] [<sökväg>...]"
+
+#: builtin/difftool.c:241
+#, c-format
+msgid "failed: %d"
+msgstr "misslyckades: %d"
+
+#: builtin/difftool.c:342
+msgid ""
+"combined diff formats('-c' and '--cc') are not supported in\n"
+"directory diff mode('-d' and '--dir-diff')."
+msgstr ""
+"kombinerade diff-format (\"-c\" och \"--cc\") stöds inte i\n"
+"katalogdiffläge (\"-d\" och \"--dir-diff\")."
+
+#: builtin/difftool.c:567
+#, c-format
+msgid "both files modified: '%s' and '%s'."
+msgstr "bägge filerna ändrade: \"%s\" och \"%s\"."
+
+#: builtin/difftool.c:569
+msgid "working tree file has been left."
+msgstr "filen i arbetskatalogen lämnades kvar."
+
+#: builtin/difftool.c:580
+#, c-format
+msgid "temporary files exist in '%s'."
+msgstr "temporära filer finns i \"%s\"."
+
+#: builtin/difftool.c:581
+msgid "you may want to cleanup or recover these."
+msgstr "du kanske vill städa eller rädda dem."
+
+#: builtin/difftool.c:626
+msgid "use `diff.guitool` instead of `diff.tool`"
+msgstr "använd \"diff.guitool\" istället för \"diff.tool\""
+
+#: builtin/difftool.c:628
+msgid "perform a full-directory diff"
+msgstr "utför diff för hela katalogen"
+
+#: builtin/difftool.c:630
+msgid "do not prompt before launching a diff tool"
+msgstr "fråga inte vid start av diff-verktyg"
+
+#: builtin/difftool.c:636
+msgid "use symlinks in dir-diff mode"
+msgstr "använd symboliska länkar i katalogdiffläge"
+
+#: builtin/difftool.c:637
+msgid "<tool>"
+msgstr "<verktyg>"
+
+#: builtin/difftool.c:638
+msgid "use the specified diff tool"
+msgstr "använd angivet diff-verktyg"
+
+#: builtin/difftool.c:640
+msgid "print a list of diff tools that may be used with `--tool`"
+msgstr "visa en lista över diff-verktyg som kan användas med \"--tool\""
+
+#: builtin/difftool.c:643
+msgid ""
+"make 'git-difftool' exit when an invoked diff tool returns a non - zero exit "
+"code"
+msgstr ""
+"låt \"git-difftool\" avbryta när ett anropat diff-verktyg ger returvärde "
+"skilt från noll"
+
+#: builtin/difftool.c:645
+msgid "<command>"
+msgstr "<kommando>"
+
+#: builtin/difftool.c:646
+msgid "specify a custom command for viewing diffs"
+msgstr "ange eget kommando för att visa diffar"
+
+#: builtin/difftool.c:670
+msgid "no <tool> given for --tool=<tool>"
+msgstr "inget <verktyg> angavs för --tool=<verktyg>"
+
+#: builtin/difftool.c:677
+msgid "no <cmd> given for --extcmd=<cmd>"
+msgstr "inget <kommando> angavs för --extcmd=<kommando>"
+
 #: builtin/fast-export.c:25
 msgid "git fast-export [rev-list-opts]"
 msgstr "git fast-export [rev-list-flaggor]"
@@ -7336,77 +7736,77 @@
 msgid "specify fetch refmap"
 msgstr "ange referenskarta för \"fetch\""
 
-#: builtin/fetch.c:398
+#: builtin/fetch.c:395
 msgid "Couldn't find remote ref HEAD"
 msgstr "Kunde inte hitta fjärr-referensen HEAD"
 
-#: builtin/fetch.c:514
+#: builtin/fetch.c:511
 #, c-format
 msgid "configuration fetch.output contains invalid value %s"
 msgstr "konfigurationen för fetch.output innehåller ogiltigt värde %s"
 
-#: builtin/fetch.c:607
+#: builtin/fetch.c:604
 #, c-format
 msgid "object %s not found"
 msgstr "objektet %s hittades inte"
 
-#: builtin/fetch.c:611
+#: builtin/fetch.c:608
 msgid "[up to date]"
 msgstr "[àjour]"
 
-#: builtin/fetch.c:624 builtin/fetch.c:704
+#: builtin/fetch.c:621 builtin/fetch.c:701
 msgid "[rejected]"
 msgstr "[refuserad]"
 
-#: builtin/fetch.c:625
+#: builtin/fetch.c:622
 msgid "can't fetch in current branch"
 msgstr "kan inte hämta i aktuell gren"
 
-#: builtin/fetch.c:634
+#: builtin/fetch.c:631
 msgid "[tag update]"
 msgstr "[uppdaterad tagg]"
 
-#: builtin/fetch.c:635 builtin/fetch.c:668 builtin/fetch.c:684
-#: builtin/fetch.c:699
+#: builtin/fetch.c:632 builtin/fetch.c:665 builtin/fetch.c:681
+#: builtin/fetch.c:696
 msgid "unable to update local ref"
 msgstr "kunde inte uppdatera lokal ref"
 
-#: builtin/fetch.c:654
+#: builtin/fetch.c:651
 msgid "[new tag]"
 msgstr "[ny tagg]"
 
-#: builtin/fetch.c:657
+#: builtin/fetch.c:654
 msgid "[new branch]"
 msgstr "[ny gren]"
 
-#: builtin/fetch.c:660
+#: builtin/fetch.c:657
 msgid "[new ref]"
 msgstr "[ny ref]"
 
-#: builtin/fetch.c:699
+#: builtin/fetch.c:696
 msgid "forced update"
 msgstr "tvingad uppdatering"
 
-#: builtin/fetch.c:704
+#: builtin/fetch.c:701
 msgid "non-fast-forward"
 msgstr "ej snabbspolad"
 
-#: builtin/fetch.c:749
+#: builtin/fetch.c:746
 #, c-format
 msgid "%s did not send all necessary objects\n"
 msgstr "%s sände inte alla nödvändiga objekt\n"
 
-#: builtin/fetch.c:769
+#: builtin/fetch.c:766
 #, c-format
 msgid "reject %s because shallow roots are not allowed to be updated"
 msgstr "avvisa %s då grunda rötter inte kan uppdateras"
 
-#: builtin/fetch.c:856 builtin/fetch.c:952
+#: builtin/fetch.c:853 builtin/fetch.c:949
 #, c-format
 msgid "From %.*s\n"
 msgstr "Från %.*s\n"
 
-#: builtin/fetch.c:867
+#: builtin/fetch.c:864
 #, c-format
 msgid ""
 "some local refs could not be updated; try running\n"
@@ -7415,55 +7815,55 @@
 "vissa lokala referenser kunde inte uppdateras; testa att köra\n"
 " \"git remote prune %s\" för att ta bort gamla grenar som står i konflikt"
 
-#: builtin/fetch.c:922
+#: builtin/fetch.c:919
 #, c-format
 msgid "   (%s will become dangling)"
 msgstr "   (%s kommer bli dinglande)"
 
-#: builtin/fetch.c:923
+#: builtin/fetch.c:920
 #, c-format
 msgid "   (%s has become dangling)"
 msgstr "   (%s har blivit dinglande)"
 
-#: builtin/fetch.c:955
+#: builtin/fetch.c:952
 msgid "[deleted]"
 msgstr "[borttagen]"
 
-#: builtin/fetch.c:956 builtin/remote.c:1020
+#: builtin/fetch.c:953 builtin/remote.c:1020
 msgid "(none)"
 msgstr "(ingen)"
 
-#: builtin/fetch.c:979
+#: builtin/fetch.c:976
 #, c-format
 msgid "Refusing to fetch into current branch %s of non-bare repository"
 msgstr "Vägrar hämta till aktuell gren %s i ett icke-naket arkiv"
 
-#: builtin/fetch.c:998
+#: builtin/fetch.c:995
 #, c-format
 msgid "Option \"%s\" value \"%s\" is not valid for %s"
 msgstr "Flaggan \"%s\" och värdet \"%s\" är inte giltigt för %s"
 
-#: builtin/fetch.c:1001
+#: builtin/fetch.c:998
 #, c-format
 msgid "Option \"%s\" is ignored for %s\n"
 msgstr "Flaggan \"%s\" ignoreras för %s\n"
 
-#: builtin/fetch.c:1077
+#: builtin/fetch.c:1074
 #, c-format
 msgid "Don't know how to fetch from %s"
 msgstr "Vet inte hur man hämtar från %s"
 
-#: builtin/fetch.c:1237
+#: builtin/fetch.c:1234
 #, c-format
 msgid "Fetching %s\n"
 msgstr "Hämtar %s\n"
 
-#: builtin/fetch.c:1239 builtin/remote.c:96
+#: builtin/fetch.c:1236 builtin/remote.c:96
 #, c-format
 msgid "Could not fetch %s"
 msgstr "Kunde inte hämta %s"
 
-#: builtin/fetch.c:1257
+#: builtin/fetch.c:1254
 msgid ""
 "No remote repository specified.  Please, specify either a URL or a\n"
 "remote name from which new revisions should be fetched."
@@ -7471,40 +7871,40 @@
 "Inget fjärrarkiv angavs. Ange antingen en URL eller namnet på ett\n"
 "fjärrarkiv som nya incheckningar skall hämtas från."
 
-#: builtin/fetch.c:1280
+#: builtin/fetch.c:1277
 msgid "You need to specify a tag name."
 msgstr "Du måste ange namnet på en tagg."
 
-#: builtin/fetch.c:1322
+#: builtin/fetch.c:1319
 msgid "Negative depth in --deepen is not supported"
 msgstr "Negativa djup stöds inte i --deepen"
 
-#: builtin/fetch.c:1324
+#: builtin/fetch.c:1321
 msgid "--deepen and --depth are mutually exclusive"
 msgstr "--deepen och --depth är ömsesidigt uteslutande"
 
-#: builtin/fetch.c:1329
+#: builtin/fetch.c:1326
 msgid "--depth and --unshallow cannot be used together"
 msgstr "--depth och --unshallow kan inte användas samtidigt"
 
-#: builtin/fetch.c:1331
+#: builtin/fetch.c:1328
 msgid "--unshallow on a complete repository does not make sense"
 msgstr "--unshallow kan inte användas på ett komplett arkiv"
 
-#: builtin/fetch.c:1353
+#: builtin/fetch.c:1350
 msgid "fetch --all does not take a repository argument"
 msgstr "fetch --all tar inte namnet på ett arkiv som argument"
 
-#: builtin/fetch.c:1355
+#: builtin/fetch.c:1352
 msgid "fetch --all does not make sense with refspecs"
 msgstr "fetch --all kan inte anges med referensspecifikationer"
 
-#: builtin/fetch.c:1366
+#: builtin/fetch.c:1363
 #, c-format
 msgid "No such remote or remote group: %s"
 msgstr "Fjärren eller fjärrgruppen finns inte: %s"
 
-#: builtin/fetch.c:1374
+#: builtin/fetch.c:1371
 msgid "Fetching a group and specifying refspecs does not make sense"
 msgstr "Kan inte hämta från grupp och ange referensspecifikationer"
 
@@ -7570,7 +7970,7 @@
 msgid "show only <n> matched refs"
 msgstr "visa endast <n> träffade refs"
 
-#: builtin/for-each-ref.c:37 builtin/tag.c:372
+#: builtin/for-each-ref.c:37 builtin/tag.c:387 builtin/verify-tag.c:38
 msgid "format to use for the output"
 msgstr "format att använda för utdata"
 
@@ -7590,65 +7990,65 @@
 msgid "print only refs which contain the commit"
 msgstr "visa endast referenser som innehåller incheckningen"
 
-#: builtin/fsck.c:519
+#: builtin/fsck.c:554
 msgid "Checking object directories"
 msgstr "Kontrollerar objektkataloger"
 
-#: builtin/fsck.c:588
+#: builtin/fsck.c:646
 msgid "git fsck [<options>] [<object>...]"
 msgstr "git fsck [<flaggor>] [<objekt>...]"
 
-#: builtin/fsck.c:594
+#: builtin/fsck.c:652
 msgid "show unreachable objects"
 msgstr "visa onåbara objekt"
 
-#: builtin/fsck.c:595
+#: builtin/fsck.c:653
 msgid "show dangling objects"
 msgstr "visa dinglande objekt"
 
-#: builtin/fsck.c:596
+#: builtin/fsck.c:654
 msgid "report tags"
 msgstr "rapportera taggar"
 
-#: builtin/fsck.c:597
+#: builtin/fsck.c:655
 msgid "report root nodes"
 msgstr "rapportera rotnoder"
 
-#: builtin/fsck.c:598
+#: builtin/fsck.c:656
 msgid "make index objects head nodes"
 msgstr "gör indexojekt till huvudnoder"
 
-#: builtin/fsck.c:599
+#: builtin/fsck.c:657
 msgid "make reflogs head nodes (default)"
 msgstr "gör refloggar till huvudnoder (standard)"
 
-#: builtin/fsck.c:600
+#: builtin/fsck.c:658
 msgid "also consider packs and alternate objects"
 msgstr "ta även hänsyn till paket och alternativa objekt"
 
 # Vague original, not networking-related, but rather related to the actual
 # objects in the database.
-#: builtin/fsck.c:601
+#: builtin/fsck.c:659
 msgid "check only connectivity"
 msgstr "kontrollera endast konnektivitet"
 
-#: builtin/fsck.c:602
+#: builtin/fsck.c:660
 msgid "enable more strict checking"
 msgstr "aktivera striktare kontroll"
 
-#: builtin/fsck.c:604
+#: builtin/fsck.c:662
 msgid "write dangling objects in .git/lost-found"
 msgstr "skriv dinglande objekt i .git/lost-found"
 
-#: builtin/fsck.c:605 builtin/prune.c:107
+#: builtin/fsck.c:663 builtin/prune.c:107
 msgid "show progress"
 msgstr "visa förlopp"
 
-#: builtin/fsck.c:606
+#: builtin/fsck.c:664
 msgid "show verbose names for reachable objects"
 msgstr "visa ordrika namn för nåbara objekt"
 
-#: builtin/fsck.c:665
+#: builtin/fsck.c:725
 msgid "Checking objects"
 msgstr "Kontrollerar objekt"
 
@@ -7666,7 +8066,7 @@
 msgid "insanely long object directory %.*s"
 msgstr "tokigt lång objektkatalog %.*s"
 
-#: builtin/gc.c:290
+#: builtin/gc.c:297
 #, c-format
 msgid ""
 "The last gc run reported the following. Please correct the root cause\n"
@@ -7681,38 +8081,38 @@
 "\n"
 "%s"
 
-#: builtin/gc.c:327
+#: builtin/gc.c:334
 msgid "prune unreferenced objects"
 msgstr "rensa ej refererade objekt"
 
-#: builtin/gc.c:329
+#: builtin/gc.c:336
 msgid "be more thorough (increased runtime)"
 msgstr "var mer grundlig (ökar körtiden)"
 
-#: builtin/gc.c:330
+#: builtin/gc.c:337
 msgid "enable auto-gc mode"
 msgstr "aktivera auto-gc-läge"
 
-#: builtin/gc.c:331
+#: builtin/gc.c:338
 msgid "force running gc even if there may be another gc running"
 msgstr "tvinga gc-körning även om en annan gc kanske körs"
 
-#: builtin/gc.c:373
+#: builtin/gc.c:380
 #, c-format
 msgid "Auto packing the repository in background for optimum performance.\n"
 msgstr "Packar arkivet automatiskt i bakgrunden för optimal prestanda.\n"
 
-#: builtin/gc.c:375
+#: builtin/gc.c:382
 #, c-format
 msgid "Auto packing the repository for optimum performance.\n"
 msgstr "Packar arkivet automatiskt för optimal prestanda.\n"
 
-#: builtin/gc.c:376
+#: builtin/gc.c:383
 #, c-format
 msgid "See \"git help gc\" for manual housekeeping.\n"
 msgstr "Se \"git help gc\" för manuell hushållning.\n"
 
-#: builtin/gc.c:397
+#: builtin/gc.c:404
 #, c-format
 msgid ""
 "gc is already running on machine '%s' pid %<PRIuMAX> (use --force if not)"
@@ -7720,240 +8120,256 @@
 "gc körs redan på maskinen \"%s\" pid %<PRIuMAX> (använd --force om så inte "
 "är fallet)"
 
-#: builtin/gc.c:441
+#: builtin/gc.c:448
 msgid ""
 "There are too many unreachable loose objects; run 'git prune' to remove them."
 msgstr ""
 "Det finns för många onåbara lösa objekt; kör \"git prune\" för att ta bort "
 "dem."
 
-#: builtin/grep.c:23
+#: builtin/grep.c:25
 msgid "git grep [<options>] [-e] <pattern> [<rev>...] [[--] <path>...]"
 msgstr "git grep [<flaggor>] [-e] <mönster> [<rev>...] [[--] <sökväg>...]"
 
-#: builtin/grep.c:219
+#: builtin/grep.c:232
 #, c-format
 msgid "grep: failed to create thread: %s"
 msgstr "grep: misslyckades skapa tråd. %s"
 
-#: builtin/grep.c:277
+#: builtin/grep.c:290
 #, c-format
 msgid "invalid number of threads specified (%d) for %s"
 msgstr "felaktigt antal trådar angivet (%d) för %s"
 
-#: builtin/grep.c:453 builtin/grep.c:488
+#: builtin/grep.c:763 builtin/grep.c:804
 #, c-format
 msgid "unable to read tree (%s)"
 msgstr "kunde inte läsa träd (%s)"
 
-#: builtin/grep.c:503
+#: builtin/grep.c:823
 #, c-format
 msgid "unable to grep from object of type %s"
 msgstr "Kunde inte \"grep\" från objekt av typen %s"
 
-#: builtin/grep.c:561
+#: builtin/grep.c:887
 #, c-format
 msgid "switch `%c' expects a numerical value"
 msgstr "flaggan \"%c\" antar ett numeriskt värde"
 
-#: builtin/grep.c:647
+#: builtin/grep.c:973
 msgid "search in index instead of in the work tree"
 msgstr "sök i indexet istället för i arbetskatalogen"
 
-#: builtin/grep.c:649
+#: builtin/grep.c:975
 msgid "find in contents not managed by git"
 msgstr "sök i innehåll som inte hanteras av git"
 
-#: builtin/grep.c:651
+#: builtin/grep.c:977
 msgid "search in both tracked and untracked files"
 msgstr "sök i både spårade och ospårade filer"
 
-#: builtin/grep.c:653
+#: builtin/grep.c:979
 msgid "ignore files specified via '.gitignore'"
 msgstr "ignorera filer angivna i \".gitignore\""
 
-#: builtin/grep.c:656
+#: builtin/grep.c:981
+msgid "recursivley search in each submodule"
+msgstr "sök varje undermodul rekursivt"
+
+#: builtin/grep.c:983
+msgid "basename"
+msgstr "basnamn"
+
+#: builtin/grep.c:984
+msgid "prepend parent project's basename to output"
+msgstr "lägg till föräldraprojektets basnamn i utdata"
+
+#: builtin/grep.c:987
 msgid "show non-matching lines"
 msgstr "visa rader som inte träffas"
 
-#: builtin/grep.c:658
+#: builtin/grep.c:989
 msgid "case insensitive matching"
 msgstr "skiftlägesokänslig sökning"
 
-#: builtin/grep.c:660
+#: builtin/grep.c:991
 msgid "match patterns only at word boundaries"
 msgstr "matcha endast mönster vid ordgränser"
 
-#: builtin/grep.c:662
+#: builtin/grep.c:993
 msgid "process binary files as text"
 msgstr "hantera binärfiler som text"
 
-#: builtin/grep.c:664
+#: builtin/grep.c:995
 msgid "don't match patterns in binary files"
 msgstr "träffa inte mönster i binärfiler"
 
-#: builtin/grep.c:667
+#: builtin/grep.c:998
 msgid "process binary files with textconv filters"
 msgstr "hantera binärfiler med textconv-filter"
 
-#: builtin/grep.c:669
+#: builtin/grep.c:1000
 msgid "descend at most <depth> levels"
 msgstr "gå som mest ned <djup> nivåer"
 
-#: builtin/grep.c:673
+#: builtin/grep.c:1004
 msgid "use extended POSIX regular expressions"
 msgstr "använd utökade POSIX-reguljära uttryck"
 
-#: builtin/grep.c:676
+#: builtin/grep.c:1007
 msgid "use basic POSIX regular expressions (default)"
 msgstr "använd grundläggande POSIX-reguljära uttryck (standard)"
 
-#: builtin/grep.c:679
+#: builtin/grep.c:1010
 msgid "interpret patterns as fixed strings"
 msgstr "tolka mönster som fixerade strängar"
 
-#: builtin/grep.c:682
+#: builtin/grep.c:1013
 msgid "use Perl-compatible regular expressions"
 msgstr "använd Perlkompatibla reguljära uttryck"
 
-#: builtin/grep.c:685
+#: builtin/grep.c:1016
 msgid "show line numbers"
 msgstr "visa radnummer"
 
-#: builtin/grep.c:686
+#: builtin/grep.c:1017
 msgid "don't show filenames"
 msgstr "visa inte filnamn"
 
-#: builtin/grep.c:687
+#: builtin/grep.c:1018
 msgid "show filenames"
 msgstr "visa filnamn"
 
-#: builtin/grep.c:689
+#: builtin/grep.c:1020
 msgid "show filenames relative to top directory"
 msgstr "visa filnamn relativa till toppkatalogen"
 
-#: builtin/grep.c:691
+#: builtin/grep.c:1022
 msgid "show only filenames instead of matching lines"
 msgstr "visa endast filnamn istället för träffade rader"
 
-#: builtin/grep.c:693
+#: builtin/grep.c:1024
 msgid "synonym for --files-with-matches"
 msgstr "synonym för --files-with-matches"
 
-#: builtin/grep.c:696
+#: builtin/grep.c:1027
 msgid "show only the names of files without match"
 msgstr "visa endast namn på filer utan träffar"
 
-#: builtin/grep.c:698
+#: builtin/grep.c:1029
 msgid "print NUL after filenames"
 msgstr "skriv NUL efter filnamn"
 
-#: builtin/grep.c:700
+#: builtin/grep.c:1031
 msgid "show the number of matches instead of matching lines"
 msgstr "visa antal träffar istället för träffade rader"
 
-#: builtin/grep.c:701
+#: builtin/grep.c:1032
 msgid "highlight matches"
 msgstr "ljusmarkera träffar"
 
-#: builtin/grep.c:703
+#: builtin/grep.c:1034
 msgid "print empty line between matches from different files"
 msgstr "skriv tomma rader mellan träffar från olika filer"
 
-#: builtin/grep.c:705
+#: builtin/grep.c:1036
 msgid "show filename only once above matches from same file"
 msgstr "visa filnamn endast en gång ovanför träffar från samma fil"
 
-#: builtin/grep.c:708
+#: builtin/grep.c:1039
 msgid "show <n> context lines before and after matches"
 msgstr "visa <n> rader sammanhang före och efter träffar"
 
-#: builtin/grep.c:711
+#: builtin/grep.c:1042
 msgid "show <n> context lines before matches"
 msgstr "visa <n> rader sammanhang före träffar"
 
-#: builtin/grep.c:713
+#: builtin/grep.c:1044
 msgid "show <n> context lines after matches"
 msgstr "visa <n> rader sammanhang efter träffar"
 
-#: builtin/grep.c:715
+#: builtin/grep.c:1046
 msgid "use <n> worker threads"
 msgstr "använd <n> jobbtrådar"
 
-#: builtin/grep.c:716
+#: builtin/grep.c:1047
 msgid "shortcut for -C NUM"
 msgstr "genväg för -C NUM"
 
-#: builtin/grep.c:719
+#: builtin/grep.c:1050
 msgid "show a line with the function name before matches"
 msgstr "visa en rad med funktionsnamnet före träffen"
 
-#: builtin/grep.c:721
+#: builtin/grep.c:1052
 msgid "show the surrounding function"
 msgstr "visa den omkringliggande funktionen"
 
-#: builtin/grep.c:724
+#: builtin/grep.c:1055
 msgid "read patterns from file"
 msgstr "läs mönster från fil"
 
-#: builtin/grep.c:726
+#: builtin/grep.c:1057
 msgid "match <pattern>"
 msgstr "träffa <mönster>"
 
-#: builtin/grep.c:728
+#: builtin/grep.c:1059
 msgid "combine patterns specified with -e"
 msgstr "kombinera mönster som anges med -e"
 
-#: builtin/grep.c:740
+#: builtin/grep.c:1071
 msgid "indicate hit with exit status without output"
 msgstr "ange träff med slutstatuskod utan utdata"
 
-#: builtin/grep.c:742
+#: builtin/grep.c:1073
 msgid "show only matches from files that match all patterns"
 msgstr "visa endast träffar från filer som träffar alla mönster"
 
-#: builtin/grep.c:744
+#: builtin/grep.c:1075
 msgid "show parse tree for grep expression"
 msgstr "visa analysträd för grep-uttryck"
 
-#: builtin/grep.c:748
+#: builtin/grep.c:1079
 msgid "pager"
 msgstr "bläddrare"
 
-#: builtin/grep.c:748
+#: builtin/grep.c:1079
 msgid "show matching files in the pager"
 msgstr "visa träffade filer i filbläddraren"
 
-#: builtin/grep.c:751
+#: builtin/grep.c:1082
 msgid "allow calling of grep(1) (ignored by this build)"
 msgstr "tillåt anropa grep(1) (ignoreras av detta bygge)"
 
-#: builtin/grep.c:814
+#: builtin/grep.c:1146
 msgid "no pattern given."
 msgstr "inget mönster angavs."
 
-#: builtin/grep.c:846 builtin/index-pack.c:1480
+#: builtin/grep.c:1178 builtin/index-pack.c:1482
 #, c-format
 msgid "invalid number of threads specified (%d)"
 msgstr "felaktigt antal trådar angivet (%d)"
 
-#: builtin/grep.c:876
+#: builtin/grep.c:1215
 msgid "--open-files-in-pager only works on the worktree"
 msgstr "--open-files-in-pager fungerar endast i arbetskatalogen"
 
-#: builtin/grep.c:902
+#: builtin/grep.c:1238
+msgid "option not supported with --recurse-submodules."
+msgstr "flaggan stöds inte med --recurse-submodules."
+
+#: builtin/grep.c:1244
 msgid "--cached or --untracked cannot be used with --no-index."
 msgstr "--cached och --untracked kan inte användas med --no-index."
 
-#: builtin/grep.c:907
+#: builtin/grep.c:1249
 msgid "--no-index or --untracked cannot be used with revs."
 msgstr "--no-index och --untracked kan inte användas med revisioner."
 
-#: builtin/grep.c:910
+#: builtin/grep.c:1252
 msgid "--[no-]exclude-standard cannot be used for tracked contents."
 msgstr "--[no-]exclude-standard kan inte användas för spårat innehåll."
 
-#: builtin/grep.c:918
+#: builtin/grep.c:1260
 msgid "both --cached and trees are given."
 msgstr "både --cached och träd angavs."
 
@@ -8232,183 +8648,187 @@
 msgstr "allvarlig inflate-inkonsekvens"
 
 #: builtin/index-pack.c:748 builtin/index-pack.c:754 builtin/index-pack.c:777
-#: builtin/index-pack.c:811 builtin/index-pack.c:820
+#: builtin/index-pack.c:813 builtin/index-pack.c:822
 #, c-format
 msgid "SHA1 COLLISION FOUND WITH %s !"
 msgstr "SHA1-KOLLISION UPPTÄCKT VID %s !"
 
-#: builtin/index-pack.c:751 builtin/pack-objects.c:166
-#: builtin/pack-objects.c:258
+#: builtin/index-pack.c:751 builtin/pack-objects.c:164
+#: builtin/pack-objects.c:256
 #, c-format
 msgid "unable to read %s"
 msgstr "kunde inte läsa %s"
 
-#: builtin/index-pack.c:817
+#: builtin/index-pack.c:819
 #, c-format
 msgid "cannot read existing object %s"
 msgstr "kan inte läsa befintligt objekt %s"
 
-#: builtin/index-pack.c:831
+#: builtin/index-pack.c:833
 #, c-format
 msgid "invalid blob object %s"
 msgstr "ogiltigt blob-objekt %s"
 
-#: builtin/index-pack.c:845
+#: builtin/index-pack.c:847
 #, c-format
 msgid "invalid %s"
 msgstr "ogiltigt %s"
 
-#: builtin/index-pack.c:848
+#: builtin/index-pack.c:850
 msgid "Error in object"
 msgstr "Fel i objekt"
 
-#: builtin/index-pack.c:850
+#: builtin/index-pack.c:852
 #, c-format
 msgid "Not all child objects of %s are reachable"
 msgstr "Inte alla barnobjekt för %s kan nås"
 
-#: builtin/index-pack.c:922 builtin/index-pack.c:953
+#: builtin/index-pack.c:924 builtin/index-pack.c:955
 msgid "failed to apply delta"
 msgstr "misslyckades tillämpa delta"
 
-#: builtin/index-pack.c:1123
+#: builtin/index-pack.c:1125
 msgid "Receiving objects"
 msgstr "Tar emot objekt"
 
-#: builtin/index-pack.c:1123
+#: builtin/index-pack.c:1125
 msgid "Indexing objects"
 msgstr "Skapar index för objekt"
 
-#: builtin/index-pack.c:1155
+#: builtin/index-pack.c:1157
 msgid "pack is corrupted (SHA1 mismatch)"
 msgstr "paketet är trasigt (SHA1 stämmer inte)"
 
-#: builtin/index-pack.c:1160
+#: builtin/index-pack.c:1162
 msgid "cannot fstat packfile"
 msgstr "kan inte utföra \"fstat\" på paketfil"
 
-#: builtin/index-pack.c:1163
+#: builtin/index-pack.c:1165
 msgid "pack has junk at the end"
 msgstr "paket har skräp i slutet"
 
-#: builtin/index-pack.c:1174
+#: builtin/index-pack.c:1176
 msgid "confusion beyond insanity in parse_pack_objects()"
 msgstr "förvirrad bortom vanvett i parse_pack_objects()"
 
-#: builtin/index-pack.c:1197
+#: builtin/index-pack.c:1199
 msgid "Resolving deltas"
 msgstr "Analyserar delta"
 
-#: builtin/index-pack.c:1208
+#: builtin/index-pack.c:1210
 #, c-format
 msgid "unable to create thread: %s"
 msgstr "kunde inte skapa tråd: %s"
 
-#: builtin/index-pack.c:1250
+#: builtin/index-pack.c:1252
 msgid "confusion beyond insanity"
 msgstr "förvirrad bortom vanvett"
 
-#: builtin/index-pack.c:1256
+#: builtin/index-pack.c:1258
 #, c-format
 msgid "completed with %d local object"
 msgid_plural "completed with %d local objects"
 msgstr[0] "slutfördes med %d lokalt objekt"
 msgstr[1] "slutfördes med %d lokala objekt"
 
-#: builtin/index-pack.c:1268
+#: builtin/index-pack.c:1270
 #, c-format
 msgid "Unexpected tail checksum for %s (disk corruption?)"
 msgstr "Oväntad svanschecksumma för %s (trasig disk?)"
 
-#: builtin/index-pack.c:1272
+#: builtin/index-pack.c:1274
 #, c-format
 msgid "pack has %d unresolved delta"
 msgid_plural "pack has %d unresolved deltas"
 msgstr[0] "paketet har %d oanalyserat delta"
 msgstr[1] "paketet har %d oanalyserade delta"
 
-#: builtin/index-pack.c:1296
+#: builtin/index-pack.c:1298
 #, c-format
 msgid "unable to deflate appended object (%d)"
 msgstr "kunde inte utföra \"deflate\" på tillagt objekt (%d)"
 
-#: builtin/index-pack.c:1372
+#: builtin/index-pack.c:1374
 #, c-format
 msgid "local object %s is corrupt"
 msgstr "lokalt objekt %s är trasigt"
 
-#: builtin/index-pack.c:1396
+#: builtin/index-pack.c:1398
 msgid "error while closing pack file"
 msgstr "fel vid stängning av paketfil"
 
-#: builtin/index-pack.c:1409
+#: builtin/index-pack.c:1411
 #, c-format
 msgid "cannot write keep file '%s'"
 msgstr "kan inte ta skriva \"keep\"-fil \"%s\""
 
-#: builtin/index-pack.c:1417
+#: builtin/index-pack.c:1419
 #, c-format
 msgid "cannot close written keep file '%s'"
 msgstr "akn inte stänga skriven \"keep\"-fil \"%s\""
 
-#: builtin/index-pack.c:1430
+#: builtin/index-pack.c:1432
 msgid "cannot store pack file"
 msgstr "kan inte spara paketfil"
 
-#: builtin/index-pack.c:1441
+#: builtin/index-pack.c:1443
 msgid "cannot store index file"
 msgstr "kan inte spara indexfil"
 
-#: builtin/index-pack.c:1474
+#: builtin/index-pack.c:1476
 #, c-format
 msgid "bad pack.indexversion=%<PRIu32>"
 msgstr "felaktig pack.indexversion=%<PRIu32>"
 
-#: builtin/index-pack.c:1484 builtin/index-pack.c:1681
+#: builtin/index-pack.c:1486 builtin/index-pack.c:1683
 #, c-format
 msgid "no threads support, ignoring %s"
 msgstr "trådstöd saknas, ignorerar %s"
 
-#: builtin/index-pack.c:1542
+#: builtin/index-pack.c:1544
 #, c-format
 msgid "Cannot open existing pack file '%s'"
 msgstr "Kan inte öppna befintlig paketfil \"%s\""
 
-#: builtin/index-pack.c:1544
+#: builtin/index-pack.c:1546
 #, c-format
 msgid "Cannot open existing pack idx file for '%s'"
 msgstr "Kan inte öppna befintlig paket-idx-fil för \"%s\""
 
-#: builtin/index-pack.c:1591
+#: builtin/index-pack.c:1593
 #, c-format
 msgid "non delta: %d object"
 msgid_plural "non delta: %d objects"
 msgstr[0] "icke-delta: %d objekt"
 msgstr[1] "icke-delta: %d objekt"
 
-#: builtin/index-pack.c:1598
+#: builtin/index-pack.c:1600
 #, c-format
 msgid "chain length = %d: %lu object"
 msgid_plural "chain length = %d: %lu objects"
 msgstr[0] "kedjelängd = %d: %lu objekt"
 msgstr[1] "kedjelängd = %d: %lu objekt"
 
-#: builtin/index-pack.c:1611
+#: builtin/index-pack.c:1613
 #, c-format
 msgid "packfile name '%s' does not end with '.pack'"
 msgstr "paketfilnamnet \"%s\" slutar inte med \".pack\""
 
-#: builtin/index-pack.c:1693 builtin/index-pack.c:1696
-#: builtin/index-pack.c:1712 builtin/index-pack.c:1716
+#: builtin/index-pack.c:1695 builtin/index-pack.c:1698
+#: builtin/index-pack.c:1714 builtin/index-pack.c:1718
 #, c-format
 msgid "bad %s"
 msgstr "felaktig %s"
 
-#: builtin/index-pack.c:1732
+#: builtin/index-pack.c:1734
 msgid "--fix-thin cannot be used without --stdin"
 msgstr "--fix-thin kan inte användas med --stdin"
 
-#: builtin/index-pack.c:1740
+#: builtin/index-pack.c:1736
+msgid "--stdin requires a git repository"
+msgstr "--stdin kräver ett git-arkiv"
+
+#: builtin/index-pack.c:1744
 msgid "--verify with no packfile name given"
 msgstr "--verify angavs utan paketfilnamn"
 
@@ -8656,7 +9076,7 @@
 msgid "Unknown commit %s"
 msgstr "Okänd incheckning %s"
 
-#: builtin/log.c:1258 builtin/notes.c:884 builtin/tag.c:455
+#: builtin/log.c:1258 builtin/notes.c:884 builtin/tag.c:476
 #, c-format
 msgid "Failed to resolve '%s' as a valid ref."
 msgstr "Kunde inte slå upp \"%s\" som en giltig referens."
@@ -8888,103 +9308,103 @@
 "Could not find a tracked remote branch, please specify <upstream> manually.\n"
 msgstr "Kunde inte hitta en spårad fjärrgren, ange <uppström> manuellt.\n"
 
-#: builtin/ls-files.c:458
+#: builtin/ls-files.c:460
 msgid "git ls-files [<options>] [<file>...]"
 msgstr "git ls-files [<flaggor>] [<fil>...]"
 
-#: builtin/ls-files.c:507
+#: builtin/ls-files.c:509
 msgid "identify the file status with tags"
 msgstr "identifiera filstatus med taggar"
 
-#: builtin/ls-files.c:509
+#: builtin/ls-files.c:511
 msgid "use lowercase letters for 'assume unchanged' files"
 msgstr "använd små bokstäver för \"anta oförändrade\"-filer"
 
-#: builtin/ls-files.c:511
+#: builtin/ls-files.c:513
 msgid "show cached files in the output (default)"
 msgstr "visa cachade filer i utdata (standard)"
 
-#: builtin/ls-files.c:513
+#: builtin/ls-files.c:515
 msgid "show deleted files in the output"
 msgstr "visa borttagna filer i utdata"
 
-#: builtin/ls-files.c:515
+#: builtin/ls-files.c:517
 msgid "show modified files in the output"
 msgstr "visa modifierade filer i utdata"
 
-#: builtin/ls-files.c:517
+#: builtin/ls-files.c:519
 msgid "show other files in the output"
 msgstr "visa andra filer i utdata"
 
-#: builtin/ls-files.c:519
+#: builtin/ls-files.c:521
 msgid "show ignored files in the output"
 msgstr "visa ignorerade filer i utdata"
 
-#: builtin/ls-files.c:522
+#: builtin/ls-files.c:524
 msgid "show staged contents' object name in the output"
 msgstr "visa köat innehålls objektnamn i utdata"
 
-#: builtin/ls-files.c:524
+#: builtin/ls-files.c:526
 msgid "show files on the filesystem that need to be removed"
 msgstr "visa filer i filsystemet som behöver tas bort"
 
-#: builtin/ls-files.c:526
+#: builtin/ls-files.c:528
 msgid "show 'other' directories' names only"
 msgstr "visa endast namn för \"andra\" kataloger"
 
-#: builtin/ls-files.c:528
+#: builtin/ls-files.c:530
 msgid "show line endings of files"
 msgstr "visa radslut i filer"
 
-#: builtin/ls-files.c:530
+#: builtin/ls-files.c:532
 msgid "don't show empty directories"
 msgstr "visa inte tomma kataloger"
 
-#: builtin/ls-files.c:533
+#: builtin/ls-files.c:535
 msgid "show unmerged files in the output"
 msgstr "visa ej sammanslagna filer i utdata"
 
-#: builtin/ls-files.c:535
+#: builtin/ls-files.c:537
 msgid "show resolve-undo information"
 msgstr "visa \"resolve-undo\"-information"
 
-#: builtin/ls-files.c:537
+#: builtin/ls-files.c:539
 msgid "skip files matching pattern"
 msgstr "hoppa över filer som motsvarar mönster"
 
-#: builtin/ls-files.c:540
+#: builtin/ls-files.c:542
 msgid "exclude patterns are read from <file>"
 msgstr "exkludera mönster som läses från <fil>"
 
-#: builtin/ls-files.c:543
+#: builtin/ls-files.c:545
 msgid "read additional per-directory exclude patterns in <file>"
 msgstr "läs ytterligare per-katalog-exkluderingsmönster från <fil>"
 
-#: builtin/ls-files.c:545
+#: builtin/ls-files.c:547
 msgid "add the standard git exclusions"
 msgstr "lägg till git:s standardexkluderingar"
 
-#: builtin/ls-files.c:548
+#: builtin/ls-files.c:550
 msgid "make the output relative to the project top directory"
 msgstr "gör utdata relativ till projektets toppkatalog"
 
-#: builtin/ls-files.c:551
+#: builtin/ls-files.c:553
 msgid "recurse through submodules"
 msgstr "rekursera ner i undermoduler"
 
-#: builtin/ls-files.c:553
+#: builtin/ls-files.c:555
 msgid "if any <file> is not in the index, treat this as an error"
 msgstr "om en <fil> inte är indexet, betrakta det som ett fel"
 
-#: builtin/ls-files.c:554
+#: builtin/ls-files.c:556
 msgid "tree-ish"
 msgstr "träd-igt"
 
-#: builtin/ls-files.c:555
+#: builtin/ls-files.c:557
 msgid "pretend that paths removed since <tree-ish> are still present"
 msgstr "låtsas att sökvägar borttagna sedan <träd-igt> fortfarande finns"
 
-#: builtin/ls-files.c:557
+#: builtin/ls-files.c:559
 msgid "show debugging data"
 msgstr "visa felsökningsutdata"
 
@@ -9038,35 +9458,35 @@
 msgid "git ls-tree [<options>] <tree-ish> [<path>...]"
 msgstr "git ls-tree [<flaggor>] <träd-igt> [<sökväg>...]"
 
-#: builtin/ls-tree.c:128
+#: builtin/ls-tree.c:126
 msgid "only show trees"
 msgstr "visa endast träd"
 
-#: builtin/ls-tree.c:130
+#: builtin/ls-tree.c:128
 msgid "recurse into subtrees"
 msgstr "rekursera ner i underträd"
 
-#: builtin/ls-tree.c:132
+#: builtin/ls-tree.c:130
 msgid "show trees when recursing"
 msgstr "visa träd medan rekursering"
 
-#: builtin/ls-tree.c:135
+#: builtin/ls-tree.c:133
 msgid "terminate entries with NUL byte"
 msgstr "terminera poster med NUL-byte"
 
-#: builtin/ls-tree.c:136
+#: builtin/ls-tree.c:134
 msgid "include object size"
 msgstr "inkludera objektstorlek"
 
-#: builtin/ls-tree.c:138 builtin/ls-tree.c:140
+#: builtin/ls-tree.c:136 builtin/ls-tree.c:138
 msgid "list only filenames"
 msgstr "visa endast filnamn"
 
-#: builtin/ls-tree.c:143
+#: builtin/ls-tree.c:141
 msgid "use full path names"
 msgstr "använd fullständiga sökvägsnamn"
 
-#: builtin/ls-tree.c:145
+#: builtin/ls-tree.c:143
 msgid "list entire tree; not just current directory (implies --full-name)"
 msgstr "visa hela trädet; inte bara aktuell katalog (implicerar --full-name)"
 
@@ -9082,163 +9502,171 @@
 msgid "git merge --abort"
 msgstr "git merge --abort"
 
-#: builtin/merge.c:102
+#: builtin/merge.c:49
+msgid "git merge --continue"
+msgstr "git merge --continue"
+
+#: builtin/merge.c:104
 msgid "switch `m' requires a value"
 msgstr "flaggan \"m\" behöver ett värde"
 
-#: builtin/merge.c:139
+#: builtin/merge.c:141
 #, c-format
 msgid "Could not find merge strategy '%s'.\n"
 msgstr "Kunde inte hitta sammanslagningsstrategin \"%s\".\n"
 
-#: builtin/merge.c:140
+#: builtin/merge.c:142
 #, c-format
 msgid "Available strategies are:"
 msgstr "Tillgängliga strategier är:"
 
-#: builtin/merge.c:145
+#: builtin/merge.c:147
 #, c-format
 msgid "Available custom strategies are:"
 msgstr "Tillgängliga skräddarsydda strategier är:"
 
-#: builtin/merge.c:195 builtin/pull.c:127
+#: builtin/merge.c:197 builtin/pull.c:127
 msgid "do not show a diffstat at the end of the merge"
 msgstr "visa inte en diffstat när sammanslagningen är färdig"
 
-#: builtin/merge.c:198 builtin/pull.c:130
+#: builtin/merge.c:200 builtin/pull.c:130
 msgid "show a diffstat at the end of the merge"
 msgstr "visa en diffstat när sammanslagningen är färdig"
 
-#: builtin/merge.c:199 builtin/pull.c:133
+#: builtin/merge.c:201 builtin/pull.c:133
 msgid "(synonym to --stat)"
 msgstr "(synonym till --stat)"
 
-#: builtin/merge.c:201 builtin/pull.c:136
+#: builtin/merge.c:203 builtin/pull.c:136
 msgid "add (at most <n>) entries from shortlog to merge commit message"
 msgstr ""
 "lägg till (som mest <n>) poster från shortlog till incheckningsmeddelandet"
 
-#: builtin/merge.c:204 builtin/pull.c:139
+#: builtin/merge.c:206 builtin/pull.c:139
 msgid "create a single commit instead of doing a merge"
 msgstr "skapa en ensam incheckning istället för en sammanslagning"
 
-#: builtin/merge.c:206 builtin/pull.c:142
+#: builtin/merge.c:208 builtin/pull.c:142
 msgid "perform a commit if the merge succeeds (default)"
 msgstr "utför en incheckning om sammanslagningen lyckades (standard)"
 
-#: builtin/merge.c:208 builtin/pull.c:145
+#: builtin/merge.c:210 builtin/pull.c:145
 msgid "edit message before committing"
 msgstr "redigera meddelande innan incheckning"
 
-#: builtin/merge.c:209
+#: builtin/merge.c:211
 msgid "allow fast-forward (default)"
 msgstr "tillåt snabbspolning (standard)"
 
-#: builtin/merge.c:211 builtin/pull.c:151
+#: builtin/merge.c:213 builtin/pull.c:151
 msgid "abort if fast-forward is not possible"
 msgstr "avbryt om snabbspolning inte är möjlig"
 
-#: builtin/merge.c:215 builtin/pull.c:154
+#: builtin/merge.c:217 builtin/pull.c:154
 msgid "verify that the named commit has a valid GPG signature"
 msgstr "bekräfta att den namngivna incheckningen har en giltig GPG-signatur"
 
-#: builtin/merge.c:216 builtin/notes.c:774 builtin/pull.c:158
+#: builtin/merge.c:218 builtin/notes.c:774 builtin/pull.c:158
 #: builtin/revert.c:89
 msgid "strategy"
 msgstr "strategi"
 
-#: builtin/merge.c:217 builtin/pull.c:159
+#: builtin/merge.c:219 builtin/pull.c:159
 msgid "merge strategy to use"
 msgstr "sammanslagningsstrategi att använda"
 
-#: builtin/merge.c:218 builtin/pull.c:162
+#: builtin/merge.c:220 builtin/pull.c:162
 msgid "option=value"
 msgstr "alternativ=värde"
 
-#: builtin/merge.c:219 builtin/pull.c:163
+#: builtin/merge.c:221 builtin/pull.c:163
 msgid "option for selected merge strategy"
 msgstr "alternativ för vald sammanslagningsstrategi"
 
-#: builtin/merge.c:221
+#: builtin/merge.c:223
 msgid "merge commit message (for a non-fast-forward merge)"
 msgstr "incheckningsmeddelande för (icke snabbspolande) sammanslagning"
 
-#: builtin/merge.c:225
+#: builtin/merge.c:227
 msgid "abort the current in-progress merge"
 msgstr "avbryt den pågående sammanslagningen"
 
-#: builtin/merge.c:227 builtin/pull.c:170
+#: builtin/merge.c:229
+msgid "continue the current in-progress merge"
+msgstr "fortsätt den pågående sammanslagningen"
+
+#: builtin/merge.c:231 builtin/pull.c:170
 msgid "allow merging unrelated histories"
 msgstr "tillåt sammanslagning av orelaterade historier"
 
-#: builtin/merge.c:255
+#: builtin/merge.c:259
 msgid "could not run stash."
 msgstr "kunde köra stash."
 
-#: builtin/merge.c:260
+#: builtin/merge.c:264
 msgid "stash failed"
 msgstr "stash misslyckades"
 
-#: builtin/merge.c:265
+#: builtin/merge.c:269
 #, c-format
 msgid "not a valid object: %s"
 msgstr "inte ett giltigt objekt: %s"
 
-#: builtin/merge.c:284 builtin/merge.c:301
+#: builtin/merge.c:288 builtin/merge.c:305
 msgid "read-tree failed"
 msgstr "read-tree misslyckades"
 
-#: builtin/merge.c:331
+#: builtin/merge.c:335
 msgid " (nothing to squash)"
 msgstr " (inget att platta till)"
 
-#: builtin/merge.c:342
+#: builtin/merge.c:346
 #, c-format
 msgid "Squash commit -- not updating HEAD\n"
 msgstr "Tillplattningsincheckning -- uppdaterar inte HEAD\n"
 
-#: builtin/merge.c:392
+#: builtin/merge.c:396
 #, c-format
 msgid "No merge message -- not updating HEAD\n"
 msgstr "Inget sammanslagningsmeddelande -- uppdaterar inte HEAD\n"
 
-#: builtin/merge.c:443
+#: builtin/merge.c:447
 #, c-format
 msgid "'%s' does not point to a commit"
 msgstr "\"%s\" verkar inte peka på en incheckning"
 
-#: builtin/merge.c:533
+#: builtin/merge.c:537
 #, c-format
 msgid "Bad branch.%s.mergeoptions string: %s"
 msgstr "Felaktig branch.%s.mergeoptions-sträng: %s"
 
-#: builtin/merge.c:652
+#: builtin/merge.c:656
 msgid "Not handling anything other than two heads merge."
 msgstr "Hanterar inte något annat än en sammanslagning av två huvuden."
 
-#: builtin/merge.c:666
+#: builtin/merge.c:670
 #, c-format
 msgid "Unknown option for merge-recursive: -X%s"
 msgstr "Felaktig flagga för merge-recursive: -X%s"
 
-#: builtin/merge.c:681
+#: builtin/merge.c:685
 #, c-format
 msgid "unable to write %s"
 msgstr "kunde inte skriva %s"
 
-#: builtin/merge.c:733
+#: builtin/merge.c:737
 #, c-format
 msgid "Could not read from '%s'"
 msgstr "Kunde inte läsa från \"%s\""
 
-#: builtin/merge.c:742
+#: builtin/merge.c:746
 #, c-format
 msgid "Not committing merge; use 'git commit' to complete the merge.\n"
 msgstr ""
 "Checkar inte in sammanslagningen; använd \"git commit\" för att slutföra "
 "den.\n"
 
-#: builtin/merge.c:748
+#: builtin/merge.c:752
 #, c-format
 msgid ""
 "Please enter a commit message to explain why this merge is necessary,\n"
@@ -9254,67 +9682,79 @@
 "Rader som inleds med \"%c\" kommer ignoreras, och ett tomt meddelande\n"
 "avbryter incheckningen.\n"
 
-#: builtin/merge.c:772
+#: builtin/merge.c:776
 msgid "Empty commit message."
 msgstr "Tomt incheckningsmeddelande."
 
-#: builtin/merge.c:792
+#: builtin/merge.c:796
 #, c-format
 msgid "Wonderful.\n"
 msgstr "Underbart.\n"
 
-#: builtin/merge.c:847
+#: builtin/merge.c:851
 #, c-format
 msgid "Automatic merge failed; fix conflicts and then commit the result.\n"
 msgstr ""
 "Kunde inte slå ihop automatiskt; fixa konflikter och checka in resultatet.\n"
 
-#: builtin/merge.c:863
+#: builtin/merge.c:867
 #, c-format
 msgid "'%s' is not a commit"
 msgstr "\"%s\" är inte en incheckning"
 
-#: builtin/merge.c:904
+#: builtin/merge.c:908
 msgid "No current branch."
 msgstr "Inte på någon gren."
 
-#: builtin/merge.c:906
+#: builtin/merge.c:910
 msgid "No remote for the current branch."
 msgstr "Ingen fjärr för aktuell gren."
 
-#: builtin/merge.c:908
+#: builtin/merge.c:912
 msgid "No default upstream defined for the current branch."
 msgstr "Ingen standarduppström angiven för aktuell gren."
 
-#: builtin/merge.c:913
+#: builtin/merge.c:917
 #, c-format
 msgid "No remote-tracking branch for %s from %s"
 msgstr "Ingen fjärrspårande gren för %s från %s"
 
-#: builtin/merge.c:960
+#: builtin/merge.c:964
 #, c-format
 msgid "Bad value '%s' in environment '%s'"
 msgstr "Felaktigt värde \"%s\" i miljövariabeln \"%s\""
 
-#: builtin/merge.c:1034
+#: builtin/merge.c:1038
 #, c-format
 msgid "could not close '%s'"
 msgstr "kunde inte stänga \"%s\""
 
-#: builtin/merge.c:1061
+#: builtin/merge.c:1065
 #, c-format
 msgid "not something we can merge in %s: %s"
 msgstr "inte något vi kan slå ihop med %s: %s"
 
-#: builtin/merge.c:1095
+#: builtin/merge.c:1099
 msgid "not something we can merge"
 msgstr "inte något vi kan slå ihop"
 
-#: builtin/merge.c:1162
-msgid "There is no merge to abort (MERGE_HEAD missing)."
-msgstr "Det finns ingen sammanslagning att avbryta (MERGE_HEAD saknas)."
+#: builtin/merge.c:1167
+msgid "--abort expects no arguments"
+msgstr "--abort tar inga argument"
 
-#: builtin/merge.c:1178
+#: builtin/merge.c:1171
+msgid "There is no merge to abort (MERGE_HEAD missing)."
+msgstr "Ingen sammanslagning att avbryta (MERGE_HEAD saknas)."
+
+#: builtin/merge.c:1183
+msgid "--continue expects no arguments"
+msgstr "--continue tar inga argument"
+
+#: builtin/merge.c:1187
+msgid "There is no merge in progress (MERGE_HEAD missing)."
+msgstr "Ingen sammanslagning pågår (MERGE_HEAD saknas)."
+
+#: builtin/merge.c:1203
 msgid ""
 "You have not concluded your merge (MERGE_HEAD exists).\n"
 "Please, commit your changes before you merge."
@@ -9322,7 +9762,7 @@
 "Du har inte avslutat sammanslagningen (MERGE_HEAD finns).\n"
 "Checka in dina ändringar innan du slår ihop."
 
-#: builtin/merge.c:1185
+#: builtin/merge.c:1210
 msgid ""
 "You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists).\n"
 "Please, commit your changes before you merge."
@@ -9330,114 +9770,114 @@
 "Du har inte avslutat din \"cherry-pick\" (CHERRY_PICK_HEAD finns).\n"
 "Checka in dina ändringar innan du slår ihop."
 
-#: builtin/merge.c:1188
+#: builtin/merge.c:1213
 msgid "You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists)."
 msgstr "Du har inte avslutat din \"cherry-pick\" (CHERRY_PICK_HEAD finns)."
 
-#: builtin/merge.c:1197
+#: builtin/merge.c:1222
 msgid "You cannot combine --squash with --no-ff."
 msgstr "Du kan inte kombinera --squash med --no-ff."
 
-#: builtin/merge.c:1205
+#: builtin/merge.c:1230
 msgid "No commit specified and merge.defaultToUpstream not set."
 msgstr "Ingen incheckning angiven och merge.defaultToUpstream är ej satt."
 
-#: builtin/merge.c:1222
+#: builtin/merge.c:1247
 msgid "Squash commit into empty head not supported yet"
 msgstr "Stöder inte en tillplattningsincheckning på ett tomt huvud ännu"
 
-#: builtin/merge.c:1224
+#: builtin/merge.c:1249
 msgid "Non-fast-forward commit does not make sense into an empty head"
 msgstr "Icke-snabbspolad incheckning kan inte användas med ett tomt huvud"
 
-#: builtin/merge.c:1229
+#: builtin/merge.c:1254
 #, c-format
 msgid "%s - not something we can merge"
 msgstr "%s - inte något vi kan slå ihop"
 
-#: builtin/merge.c:1231
+#: builtin/merge.c:1256
 msgid "Can merge only exactly one commit into empty head"
 msgstr "Kan endast slå ihop en enda incheckning i ett tomt huvud."
 
-#: builtin/merge.c:1287
+#: builtin/merge.c:1312
 #, c-format
 msgid "Commit %s has an untrusted GPG signature, allegedly by %s."
 msgstr ""
 "Incheckningen %s har en obetrodd GPG-signatur som påstås vara gjord av %s."
 
-#: builtin/merge.c:1290
+#: builtin/merge.c:1315
 #, c-format
 msgid "Commit %s has a bad GPG signature allegedly by %s."
 msgstr ""
 "Incheckningen %s har en felaktig GPG-signatur som påstås vara gjord av %s."
 
-#: builtin/merge.c:1293
+#: builtin/merge.c:1318
 #, c-format
 msgid "Commit %s does not have a GPG signature."
 msgstr "Incheckning %s har inte någon GPG-signatur."
 
-#: builtin/merge.c:1296
+#: builtin/merge.c:1321
 #, c-format
 msgid "Commit %s has a good GPG signature by %s\n"
 msgstr "Incheckningen %s har en korrekt GPG-signatur av %s\n"
 
-#: builtin/merge.c:1358
+#: builtin/merge.c:1383
 msgid "refusing to merge unrelated histories"
 msgstr "vägrar slå samman orelaterad historik"
 
-#: builtin/merge.c:1367
+#: builtin/merge.c:1392
 msgid "Already up-to-date."
 msgstr "Redan à jour."
 
-#: builtin/merge.c:1377
+#: builtin/merge.c:1402
 #, c-format
 msgid "Updating %s..%s\n"
 msgstr "Uppdaterar %s..%s\n"
 
-#: builtin/merge.c:1418
+#: builtin/merge.c:1443
 #, c-format
 msgid "Trying really trivial in-index merge...\n"
 msgstr "Försöker riktigt enkel sammanslagning i indexet...\n"
 
-#: builtin/merge.c:1425
+#: builtin/merge.c:1450
 #, c-format
 msgid "Nope.\n"
 msgstr "Nej.\n"
 
-#: builtin/merge.c:1450
+#: builtin/merge.c:1475
 msgid "Already up-to-date. Yeeah!"
 msgstr "Redan à jour. Toppen!"
 
-#: builtin/merge.c:1456
+#: builtin/merge.c:1481
 msgid "Not possible to fast-forward, aborting."
 msgstr "Kan inte snabbspola, avbryter."
 
-#: builtin/merge.c:1479 builtin/merge.c:1558
+#: builtin/merge.c:1504 builtin/merge.c:1583
 #, c-format
 msgid "Rewinding the tree to pristine...\n"
 msgstr "Återspolar trädet till orört...\n"
 
-#: builtin/merge.c:1483
+#: builtin/merge.c:1508
 #, c-format
 msgid "Trying merge strategy %s...\n"
 msgstr "Försöker sammanslagningsstrategin %s...\n"
 
-#: builtin/merge.c:1549
+#: builtin/merge.c:1574
 #, c-format
 msgid "No merge strategy handled the merge.\n"
 msgstr "Ingen sammanslagningsstrategi hanterade sammanslagningen.\n"
 
-#: builtin/merge.c:1551
+#: builtin/merge.c:1576
 #, c-format
 msgid "Merge with strategy %s failed.\n"
 msgstr "Sammanslagning med strategin %s misslyckades.\n"
 
-#: builtin/merge.c:1560
+#: builtin/merge.c:1585
 #, c-format
 msgid "Using the %s to prepare resolving by hand.\n"
 msgstr "Använder %s för att förbereda lösning för hand.\n"
 
-#: builtin/merge.c:1572
+#: builtin/merge.c:1597
 #, c-format
 msgid "Automatic merge went well; stopped before committing as requested\n"
 msgstr ""
@@ -9570,95 +10010,95 @@
 msgid "allow creation of more than one tree"
 msgstr "tillåt skapa mer än ett träd"
 
-#: builtin/mv.c:15
+#: builtin/mv.c:16
 msgid "git mv [<options>] <source>... <destination>"
 msgstr "git mv [<flaggor>] <källa>... <mål>"
 
-#: builtin/mv.c:70
+#: builtin/mv.c:82
 #, c-format
 msgid "Directory %s is in index and no submodule?"
 msgstr "Katalogen %s är i indexet och inte en undermodul?"
 
-#: builtin/mv.c:72 builtin/rm.c:317
+#: builtin/mv.c:84 builtin/rm.c:290
 msgid "Please stage your changes to .gitmodules or stash them to proceed"
 msgstr ""
 "Köa dina ändringar i .gitmodules eller använd \"stash\" för att fortsätta"
 
-#: builtin/mv.c:90
+#: builtin/mv.c:102
 #, c-format
 msgid "%.*s is in index"
 msgstr "%.*s är i indexet"
 
-#: builtin/mv.c:112
+#: builtin/mv.c:124
 msgid "force move/rename even if target exists"
 msgstr "tvinga flytta/ändra namn även om målet finns"
 
-#: builtin/mv.c:113
+#: builtin/mv.c:125
 msgid "skip move/rename errors"
 msgstr "hoppa över fel vid flytt/namnändring"
 
-#: builtin/mv.c:155
+#: builtin/mv.c:167
 #, c-format
 msgid "destination '%s' is not a directory"
 msgstr "destinationen \"%s\" är ingen katalog"
 
-#: builtin/mv.c:166
+#: builtin/mv.c:178
 #, c-format
 msgid "Checking rename of '%s' to '%s'\n"
 msgstr "Kontrollerar namnbyte av \"%s\" till \"%s\"\n"
 
-#: builtin/mv.c:170
+#: builtin/mv.c:182
 msgid "bad source"
 msgstr "felaktig källa"
 
-#: builtin/mv.c:173
+#: builtin/mv.c:185
 msgid "can not move directory into itself"
 msgstr "kan inte flytta katalog till sig själv"
 
-#: builtin/mv.c:176
+#: builtin/mv.c:188
 msgid "cannot move directory over file"
 msgstr "kan inte flytta katalog över fil"
 
-#: builtin/mv.c:185
+#: builtin/mv.c:197
 msgid "source directory is empty"
 msgstr "källkatalogen är tom"
 
-#: builtin/mv.c:210
+#: builtin/mv.c:222
 msgid "not under version control"
 msgstr "inte versionshanterad"
 
-#: builtin/mv.c:213
+#: builtin/mv.c:225
 msgid "destination exists"
 msgstr "destinationen finns"
 
-#: builtin/mv.c:221
+#: builtin/mv.c:233
 #, c-format
 msgid "overwriting '%s'"
 msgstr "skriver över \"%s\""
 
-#: builtin/mv.c:224
+#: builtin/mv.c:236
 msgid "Cannot overwrite"
 msgstr "Kan inte skriva över"
 
-#: builtin/mv.c:227
+#: builtin/mv.c:239
 msgid "multiple sources for the same target"
 msgstr "flera källor för samma mål"
 
-#: builtin/mv.c:229
+#: builtin/mv.c:241
 msgid "destination directory does not exist"
 msgstr "destinationskatalogen finns inte"
 
-#: builtin/mv.c:236
+#: builtin/mv.c:248
 #, c-format
 msgid "%s, source=%s, destination=%s"
 msgstr "%s, källa=%s, mål=%s"
 
-#: builtin/mv.c:257
+#: builtin/mv.c:269
 #, c-format
 msgid "Renaming %s to %s\n"
 msgstr "Byter namn på %s till %s\n"
 
-#: builtin/mv.c:263 builtin/remote.c:710 builtin/repack.c:375
+#: builtin/mv.c:275 builtin/remote.c:710 builtin/repack.c:384
 #, c-format
 msgid "renaming '%s' failed"
 msgstr "misslyckades byta namn på \"%s\""
@@ -9846,12 +10286,12 @@
 msgid "the note contents have been left in %s"
 msgstr "anteckningens innehåll har lämnats kvar i %s"
 
-#: builtin/notes.c:233 builtin/tag.c:439
+#: builtin/notes.c:233 builtin/tag.c:460
 #, c-format
 msgid "cannot read '%s'"
 msgstr "kunde inte läsa \"%s\""
 
-#: builtin/notes.c:235 builtin/tag.c:442
+#: builtin/notes.c:235 builtin/tag.c:463
 #, c-format
 msgid "could not open or read '%s'"
 msgstr "kunde inte öppna eller läsa \"%s\""
@@ -10130,175 +10570,175 @@
 msgstr ""
 "git pack-objects [<flaggor>...] <basnamn> [< <reflista> | < <objektlista>]"
 
-#: builtin/pack-objects.c:179 builtin/pack-objects.c:182
+#: builtin/pack-objects.c:177 builtin/pack-objects.c:180
 #, c-format
 msgid "deflate error (%d)"
 msgstr "fel i deflate (%d)"
 
-#: builtin/pack-objects.c:768
+#: builtin/pack-objects.c:766
 msgid "disabling bitmap writing, packs are split due to pack.packSizeLimit"
 msgstr ""
 "inaktiverar skrivning av bitkarta, paket delas på grund av pack.packSizeLimit"
 
-#: builtin/pack-objects.c:781
+#: builtin/pack-objects.c:779
 msgid "Writing objects"
 msgstr "Skriver objekt"
 
-#: builtin/pack-objects.c:1070
+#: builtin/pack-objects.c:1068
 msgid "disabling bitmap writing, as some objects are not being packed"
 msgstr "inaktiverar skrivning av bitkarta då några objekt inte packas"
 
-#: builtin/pack-objects.c:2346
+#: builtin/pack-objects.c:2344
 msgid "Compressing objects"
 msgstr "Komprimerar objekt"
 
-#: builtin/pack-objects.c:2759
+#: builtin/pack-objects.c:2747
 #, c-format
 msgid "unsupported index version %s"
 msgstr "indexversionen %s stöds ej"
 
-#: builtin/pack-objects.c:2763
+#: builtin/pack-objects.c:2751
 #, c-format
 msgid "bad index version '%s'"
 msgstr "felaktig indexversion \"%s\""
 
-#: builtin/pack-objects.c:2793
+#: builtin/pack-objects.c:2781
 msgid "do not show progress meter"
 msgstr "visa inte förloppsindikator"
 
-#: builtin/pack-objects.c:2795
+#: builtin/pack-objects.c:2783
 msgid "show progress meter"
 msgstr "visa förloppsindikator"
 
-#: builtin/pack-objects.c:2797
+#: builtin/pack-objects.c:2785
 msgid "show progress meter during object writing phase"
 msgstr "visa förloppsindikator under objektskrivningsfasen"
 
-#: builtin/pack-objects.c:2800
+#: builtin/pack-objects.c:2788
 msgid "similar to --all-progress when progress meter is shown"
 msgstr "som --all-progress när förloppsindikatorn visas"
 
-#: builtin/pack-objects.c:2801
+#: builtin/pack-objects.c:2789
 msgid "version[,offset]"
 msgstr "version[,offset]"
 
-#: builtin/pack-objects.c:2802
+#: builtin/pack-objects.c:2790
 msgid "write the pack index file in the specified idx format version"
 msgstr "skriv paketindexfilen i angiven indexformatversion"
 
-#: builtin/pack-objects.c:2805
+#: builtin/pack-objects.c:2793
 msgid "maximum size of each output pack file"
 msgstr "maximal storlek på varje utdatapaketfil"
 
-#: builtin/pack-objects.c:2807
+#: builtin/pack-objects.c:2795
 msgid "ignore borrowed objects from alternate object store"
 msgstr "ignorera lånade objekt från alternativa objektlager"
 
-#: builtin/pack-objects.c:2809
+#: builtin/pack-objects.c:2797
 msgid "ignore packed objects"
 msgstr "ignorera packade objekt"
 
-#: builtin/pack-objects.c:2811
+#: builtin/pack-objects.c:2799
 msgid "limit pack window by objects"
 msgstr "begränsa paketfönster efter objekt"
 
-#: builtin/pack-objects.c:2813
+#: builtin/pack-objects.c:2801
 msgid "limit pack window by memory in addition to object limit"
 msgstr "begränsa paketfönster efter minne förutom objektgräns"
 
-#: builtin/pack-objects.c:2815
+#: builtin/pack-objects.c:2803
 msgid "maximum length of delta chain allowed in the resulting pack"
 msgstr "maximal längd på deltakedja tillåten i slutligt paket"
 
-#: builtin/pack-objects.c:2817
+#: builtin/pack-objects.c:2805
 msgid "reuse existing deltas"
 msgstr "återanvänd befintliga delta"
 
-#: builtin/pack-objects.c:2819
+#: builtin/pack-objects.c:2807
 msgid "reuse existing objects"
 msgstr "återanvänd befintliga objekt"
 
-#: builtin/pack-objects.c:2821
+#: builtin/pack-objects.c:2809
 msgid "use OFS_DELTA objects"
 msgstr "använd OFS_DELTA-objekt"
 
-#: builtin/pack-objects.c:2823
+#: builtin/pack-objects.c:2811
 msgid "use threads when searching for best delta matches"
 msgstr "använd trådar vid sökning efter bästa deltaträffar"
 
-#: builtin/pack-objects.c:2825
+#: builtin/pack-objects.c:2813
 msgid "do not create an empty pack output"
 msgstr "försök inte skapa tom paketutdata"
 
-#: builtin/pack-objects.c:2827
+#: builtin/pack-objects.c:2815
 msgid "read revision arguments from standard input"
 msgstr "läs revisionsargument från standard in"
 
-#: builtin/pack-objects.c:2829
+#: builtin/pack-objects.c:2817
 msgid "limit the objects to those that are not yet packed"
 msgstr "begränsa objekt till de som ännu inte packats"
 
-#: builtin/pack-objects.c:2832
+#: builtin/pack-objects.c:2820
 msgid "include objects reachable from any reference"
 msgstr "inkludera objekt som kan nås från någon referens"
 
-#: builtin/pack-objects.c:2835
+#: builtin/pack-objects.c:2823
 msgid "include objects referred by reflog entries"
 msgstr "inkludera objekt som refereras från referensloggposter"
 
-#: builtin/pack-objects.c:2838
+#: builtin/pack-objects.c:2826
 msgid "include objects referred to by the index"
 msgstr "inkludera objekt som refereras från indexet"
 
-#: builtin/pack-objects.c:2841
+#: builtin/pack-objects.c:2829
 msgid "output pack to stdout"
 msgstr "skriv paket på standard ut"
 
-#: builtin/pack-objects.c:2843
+#: builtin/pack-objects.c:2831
 msgid "include tag objects that refer to objects to be packed"
 msgstr "inkludera taggobjekt som refererar objekt som skall packas"
 
-#: builtin/pack-objects.c:2845
+#: builtin/pack-objects.c:2833
 msgid "keep unreachable objects"
 msgstr "behåll onåbara objekt"
 
-#: builtin/pack-objects.c:2847
+#: builtin/pack-objects.c:2835
 msgid "pack loose unreachable objects"
 msgstr "packa lösa onåbara objekt"
 
-#: builtin/pack-objects.c:2849
+#: builtin/pack-objects.c:2837
 msgid "unpack unreachable objects newer than <time>"
 msgstr "packa upp onåbara objekt nyare än <tid>"
 
-#: builtin/pack-objects.c:2852
+#: builtin/pack-objects.c:2840
 msgid "create thin packs"
 msgstr "skapa tunna paket"
 
-#: builtin/pack-objects.c:2854
+#: builtin/pack-objects.c:2842
 msgid "create packs suitable for shallow fetches"
 msgstr "skapa packfiler lämpade för grunda hämtningar"
 
-#: builtin/pack-objects.c:2856
+#: builtin/pack-objects.c:2844
 msgid "ignore packs that have companion .keep file"
 msgstr "ignorera paket som har tillhörande .keep-fil"
 
-#: builtin/pack-objects.c:2858
+#: builtin/pack-objects.c:2846
 msgid "pack compression level"
 msgstr "komprimeringsgrad för paket"
 
-#: builtin/pack-objects.c:2860
+#: builtin/pack-objects.c:2848
 msgid "do not hide commits by grafts"
 msgstr "göm inte incheckningar med ympningar (\"grafts\")"
 
-#: builtin/pack-objects.c:2862
+#: builtin/pack-objects.c:2850
 msgid "use a bitmap index if available to speed up counting objects"
 msgstr "använd bitkartindex om tillgängligt för att räkna objekt snabbare"
 
-#: builtin/pack-objects.c:2864
+#: builtin/pack-objects.c:2852
 msgid "write a bitmap index together with the pack index"
 msgstr "använd bitkartindex tillsammans med packindexet"
 
-#: builtin/pack-objects.c:2993
+#: builtin/pack-objects.c:2979
 msgid "Counting objects"
 msgstr "Räknar objekt"
 
@@ -10326,11 +10766,11 @@
 msgid "git prune [-n] [-v] [--expire <time>] [--] [<head>...]"
 msgstr "git prune [-n] [-v] [--expire <tid>] [--] [<huvud>...]"
 
-#: builtin/prune.c:106 builtin/worktree.c:128
+#: builtin/prune.c:106
 msgid "report pruned objects"
 msgstr "rapportera borttagna objekt"
 
-#: builtin/prune.c:109 builtin/worktree.c:130
+#: builtin/prune.c:109
 msgid "expire objects older than <time>"
 msgstr "låt tid gå ut för objekt äldre än <tid>"
 
@@ -10431,7 +10871,7 @@
 msgid "<remote>"
 msgstr "<fjärr>"
 
-#: builtin/pull.c:415 builtin/pull.c:430 builtin/pull.c:435 git-rebase.sh:451
+#: builtin/pull.c:415 builtin/pull.c:430 builtin/pull.c:435 git-rebase.sh:455
 #: git-parse-remote.sh:65
 msgid "<branch>"
 msgstr "<gren>"
@@ -10600,14 +11040,14 @@
 "aktuella grenen \"%s\", utan att tala om för mig vad som\n"
 "skall sändas för att uppdatera fjärrgrenen."
 
-#: builtin/push.c:242
+#: builtin/push.c:245
 msgid ""
 "You didn't specify any refspecs to push, and push.default is \"nothing\"."
 msgstr ""
 "Du angav inga referensspecifikationer att sända, och push.default är "
 "\"nothing\"."
 
-#: builtin/push.c:249
+#: builtin/push.c:252
 msgid ""
 "Updates were rejected because the tip of your current branch is behind\n"
 "its remote counterpart. Integrate the remote changes (e.g.\n"
@@ -10619,7 +11059,7 @@
 "\"git pull ....\") innan du sänder igen.\n"
 "Se avsnittet \"Note about fast-forward\" i \"git push --help\" för detaljer."
 
-#: builtin/push.c:255
+#: builtin/push.c:258
 msgid ""
 "Updates were rejected because a pushed branch tip is behind its remote\n"
 "counterpart. Check out this branch and integrate the remote changes\n"
@@ -10631,7 +11071,7 @@
 "\"git pull ...\") innan du sänder igen.\n"
 "Se avsnittet \"Note about fast-forward\" i \"git push --help\" för detaljer."
 
-#: builtin/push.c:261
+#: builtin/push.c:264
 msgid ""
 "Updates were rejected because the remote contains work that you do\n"
 "not have locally. This is usually caused by another repository pushing\n"
@@ -10645,11 +11085,11 @@
 "(t.ex. \"git pull ...\") innan du sänder igen.\n"
 "Se avsnittet \"Note about fast-forwards\" i \"git push --help\" för detaljer."
 
-#: builtin/push.c:268
+#: builtin/push.c:271
 msgid "Updates were rejected because the tag already exists in the remote."
 msgstr "Uppdateringarna avvisades eftersom taggen redan finns på fjärren."
 
-#: builtin/push.c:271
+#: builtin/push.c:274
 msgid ""
 "You cannot update a remote ref that points at a non-commit object,\n"
 "or update a remote ref to make it point at a non-commit object,\n"
@@ -10660,22 +11100,22 @@
 "pekar på något som inte är en incheckning, utan att använda flaggan\n"
 "\"--force\".\n"
 
-#: builtin/push.c:331
+#: builtin/push.c:334
 #, c-format
 msgid "Pushing to %s\n"
 msgstr "Sänder till %s\n"
 
-#: builtin/push.c:335
+#: builtin/push.c:338
 #, c-format
 msgid "failed to push some refs to '%s'"
 msgstr "misslyckades sända vissa referenser till \"%s\""
 
-#: builtin/push.c:366
+#: builtin/push.c:369
 #, c-format
 msgid "bad repository '%s'"
 msgstr "felaktigt arkiv \"%s\""
 
-#: builtin/push.c:367
+#: builtin/push.c:370
 msgid ""
 "No configured push destination.\n"
 "Either specify the URL from the command-line or configure a remote "
@@ -10696,114 +11136,114 @@
 "\n"
 "    git push <namn>\n"
 
-#: builtin/push.c:385
+#: builtin/push.c:388
 msgid "--all and --tags are incompatible"
 msgstr "--all och --tags är inkompatibla"
 
-#: builtin/push.c:386
+#: builtin/push.c:389
 msgid "--all can't be combined with refspecs"
 msgstr "--all kan inte kombineras med referensspecifikationer"
 
-#: builtin/push.c:391
+#: builtin/push.c:394
 msgid "--mirror and --tags are incompatible"
 msgstr "--mirror och --tags är inkompatibla"
 
-#: builtin/push.c:392
+#: builtin/push.c:395
 msgid "--mirror can't be combined with refspecs"
 msgstr "--mirror kan inte kombineras med referensspecifikationer"
 
-#: builtin/push.c:397
+#: builtin/push.c:400
 msgid "--all and --mirror are incompatible"
 msgstr "--all och --mirror är inkompatibla"
 
-#: builtin/push.c:515
+#: builtin/push.c:518
 msgid "repository"
 msgstr "arkiv"
 
-#: builtin/push.c:516 builtin/send-pack.c:161
+#: builtin/push.c:519 builtin/send-pack.c:161
 msgid "push all refs"
 msgstr "sänd alla referenser"
 
-#: builtin/push.c:517 builtin/send-pack.c:163
+#: builtin/push.c:520 builtin/send-pack.c:163
 msgid "mirror all refs"
 msgstr "spegla alla referenser"
 
-#: builtin/push.c:519
+#: builtin/push.c:522
 msgid "delete refs"
 msgstr "ta bort referenser"
 
-#: builtin/push.c:520
+#: builtin/push.c:523
 msgid "push tags (can't be used with --all or --mirror)"
 msgstr "sänd taggar (kan inte användas med --all eller --mirror)"
 
-#: builtin/push.c:523 builtin/send-pack.c:164
+#: builtin/push.c:526 builtin/send-pack.c:164
 msgid "force updates"
 msgstr "tvinga uppdateringar"
 
-#: builtin/push.c:525 builtin/send-pack.c:175
+#: builtin/push.c:528 builtin/send-pack.c:175
 msgid "refname>:<expect"
 msgstr "refnamn>:<förvänta"
 
-#: builtin/push.c:526 builtin/send-pack.c:176
+#: builtin/push.c:529 builtin/send-pack.c:176
 msgid "require old value of ref to be at this value"
 msgstr "kräv att ref:s tidigare värde är detta"
 
-#: builtin/push.c:529
+#: builtin/push.c:532
 msgid "control recursive pushing of submodules"
 msgstr "styr rekursiv insändning av undermoduler"
 
-#: builtin/push.c:531 builtin/send-pack.c:169
+#: builtin/push.c:534 builtin/send-pack.c:169
 msgid "use thin pack"
 msgstr "använd tunna paket"
 
-#: builtin/push.c:532 builtin/push.c:533 builtin/send-pack.c:158
+#: builtin/push.c:535 builtin/push.c:536 builtin/send-pack.c:158
 #: builtin/send-pack.c:159
 msgid "receive pack program"
 msgstr "program för att ta emot paket"
 
-#: builtin/push.c:534
+#: builtin/push.c:537
 msgid "set upstream for git pull/status"
 msgstr "ställ in uppström för git pull/status"
 
-#: builtin/push.c:537
+#: builtin/push.c:540
 msgid "prune locally removed refs"
 msgstr "ta bort lokalt borttagna referenser"
 
-#: builtin/push.c:539
+#: builtin/push.c:542
 msgid "bypass pre-push hook"
 msgstr "förbigå pre-push-krok"
 
-#: builtin/push.c:540
+#: builtin/push.c:543
 msgid "push missing but relevant tags"
 msgstr "sänd in saknade men relevanta taggar"
 
-#: builtin/push.c:543 builtin/send-pack.c:166
+#: builtin/push.c:546 builtin/send-pack.c:166
 msgid "GPG sign the push"
 msgstr "GPG-signera insändningen"
 
-#: builtin/push.c:545 builtin/send-pack.c:170
+#: builtin/push.c:548 builtin/send-pack.c:170
 msgid "request atomic transaction on remote side"
 msgstr "begär atomiska transaktioner på fjärrsidan"
 
-#: builtin/push.c:546
+#: builtin/push.c:549
 msgid "server-specific"
 msgstr "serverspecifik"
 
-#: builtin/push.c:546
+#: builtin/push.c:549
 msgid "option to transmit"
 msgstr ""
 "inget att checka in\n"
 "flagga att sända"
 
-#: builtin/push.c:560
+#: builtin/push.c:563
 msgid "--delete is incompatible with --all, --mirror and --tags"
 msgstr "--delete är inkompatibel med --all, --mirror och --tags"
 
-#: builtin/push.c:562
+#: builtin/push.c:565
 msgid "--delete doesn't make sense without any refs"
 msgstr "--delete kan inte användas utan referenser"
 
-#: builtin/push.c:579
+#: builtin/push.c:584
 msgid "push options must not have new line characters"
 msgstr "push-flaggor kan inte innehålla radbrytning"
 
@@ -10892,8 +11332,8 @@
 "with what you pushed, and will require 'git reset --hard' to match\n"
 "the work tree to HEAD.\n"
 "\n"
-"You can set 'receive.denyCurrentBranch' configuration variable to\n"
-"'ignore' or 'warn' in the remote repository to allow pushing into\n"
+"You can set the 'receive.denyCurrentBranch' configuration variable\n"
+"to 'ignore' or 'warn' in the remote repository to allow pushing into\n"
 "its current branch; however, this is not recommended unless you\n"
 "arranged to update its work tree to match what you pushed in some\n"
 "other way.\n"
@@ -11461,83 +11901,92 @@
 msgid "git repack [<options>]"
 msgstr "git repack [<flaggor>]"
 
-#: builtin/repack.c:160
+#: builtin/repack.c:22
+msgid ""
+"Incremental repacks are incompatible with bitmap indexes.  Use\n"
+"--no-write-bitmap-index or disable the pack.writebitmaps configuration."
+msgstr ""
+"Inkrementella ompackningar är inte kompatibla med bitmapp-index.\n"
+"Använd --no-write-bitmap-index eller inaktivera inställningen\n"
+"pack.writebitmaps"
+
+#: builtin/repack.c:166
 msgid "pack everything in a single pack"
 msgstr "packa allt i ett enda paket"
 
-#: builtin/repack.c:162
+#: builtin/repack.c:168
 msgid "same as -a, and turn unreachable objects loose"
 msgstr "samma som -a, och gör onåbara objekt lösa"
 
-#: builtin/repack.c:165
+#: builtin/repack.c:171
 msgid "remove redundant packs, and run git-prune-packed"
 msgstr "ta bort överflödiga paket, och kör git-prune-packed"
 
-#: builtin/repack.c:167
+#: builtin/repack.c:173
 msgid "pass --no-reuse-delta to git-pack-objects"
 msgstr "sänd --no-reuse-delta till git-pack-objects"
 
-#: builtin/repack.c:169
+#: builtin/repack.c:175
 msgid "pass --no-reuse-object to git-pack-objects"
 msgstr "sänd --no-reuse-object till git-pack-objects"
 
-#: builtin/repack.c:171
+#: builtin/repack.c:177
 msgid "do not run git-update-server-info"
 msgstr "kör inte git-update-server-info"
 
-#: builtin/repack.c:174
+#: builtin/repack.c:180
 msgid "pass --local to git-pack-objects"
 msgstr "sänd --local till git-pack-objects"
 
-#: builtin/repack.c:176
+#: builtin/repack.c:182
 msgid "write bitmap index"
 msgstr "skriv bitkartindex"
 
-#: builtin/repack.c:177
+#: builtin/repack.c:183
 msgid "approxidate"
 msgstr "cirkadatum"
 
-#: builtin/repack.c:178
+#: builtin/repack.c:184
 msgid "with -A, do not loosen objects older than this"
 msgstr "med -A, lös inte upp objekt äldre än detta"
 
-#: builtin/repack.c:180
+#: builtin/repack.c:186
 msgid "with -a, repack unreachable objects"
 msgstr "med -a, packa om onåbara objekt"
 
-#: builtin/repack.c:182
+#: builtin/repack.c:188
 msgid "size of the window used for delta compression"
 msgstr "storlek på fönster använt för deltakomprimering"
 
-#: builtin/repack.c:183 builtin/repack.c:187
+#: builtin/repack.c:189 builtin/repack.c:193
 msgid "bytes"
 msgstr "byte"
 
-#: builtin/repack.c:184
+#: builtin/repack.c:190
 msgid "same as the above, but limit memory size instead of entries count"
 msgstr "samma som ovan, men begränsa minnesstorleken istället för postantal"
 
-#: builtin/repack.c:186
+#: builtin/repack.c:192
 msgid "limits the maximum delta depth"
 msgstr "begränsa maximalt deltadjup"
 
-#: builtin/repack.c:188
+#: builtin/repack.c:194
 msgid "maximum size of each packfile"
 msgstr "maximal storlek på varje paketfil"
 
-#: builtin/repack.c:190
+#: builtin/repack.c:196
 msgid "repack objects in packs marked with .keep"
 msgstr "packa om objekt i paket märkta med .keep"
 
-#: builtin/repack.c:200
+#: builtin/repack.c:206
 msgid "cannot delete packs in a precious-objects repo"
 msgstr "kan inte ta bort paket i ett \"precious-objects\"-arkiv"
 
-#: builtin/repack.c:204
+#: builtin/repack.c:210
 msgid "--keep-unreachable and -A are incompatible"
 msgstr "--keep-unreachable och -A kan inte användas samtidigt"
 
-#: builtin/repack.c:391 builtin/worktree.c:115
+#: builtin/repack.c:400 builtin/worktree.c:115
 #, c-format
 msgid "failed to remove '%s'"
 msgstr "misslyckades ta bort \"%s\""
@@ -11767,23 +12216,23 @@
 msgid "rev-list does not support display of notes"
 msgstr "rev-list stöder inte visning av anteckningar"
 
-#: builtin/rev-parse.c:386
+#: builtin/rev-parse.c:391
 msgid "git rev-parse --parseopt [<options>] -- [<args>...]"
 msgstr "git rev-parse --parseopt [<options>] -- [<argument>...]"
 
-#: builtin/rev-parse.c:391
+#: builtin/rev-parse.c:396
 msgid "keep the `--` passed as an arg"
 msgstr "behåll \"--\" sänt som argument"
 
-#: builtin/rev-parse.c:393
+#: builtin/rev-parse.c:398
 msgid "stop parsing after the first non-option argument"
 msgstr "sluta tolka efter första argument som inte är flagga"
 
-#: builtin/rev-parse.c:396
+#: builtin/rev-parse.c:401
 msgid "output in stuck long form"
 msgstr "utdata fast i lång form"
 
-#: builtin/rev-parse.c:527
+#: builtin/rev-parse.c:532
 msgid ""
 "git rev-parse --parseopt [<options>] -- [<args>...]\n"
 "   or: git rev-parse --sq-quote [<arg>...]\n"
@@ -11883,29 +12332,7 @@
 msgid "git rm [<options>] [--] <file>..."
 msgstr "git rm [<flaggor>] [--] <fil>..."
 
-#: builtin/rm.c:65
-msgid ""
-"the following submodule (or one of its nested submodules)\n"
-"uses a .git directory:"
-msgid_plural ""
-"the following submodules (or one of their nested submodules)\n"
-"use a .git directory:"
-msgstr[0] ""
-"följande undermodul (eller en av dess nästlade undermoduler)\n"
-"använder en .git-katalog:"
-msgstr[1] ""
-"följande undermoduler (eller en av deras nästlade undermoduler)\n"
-"använder en .git-katalog:"
-
-#: builtin/rm.c:71
-msgid ""
-"\n"
-"(use 'rm -rf' if you really want to remove it including all of its history)"
-msgstr ""
-"\n"
-"(använd \"rm -rf\" om du verkligen vill ta bort den och all dess historik)"
-
-#: builtin/rm.c:230
+#: builtin/rm.c:205
 msgid ""
 "the following file has staged content different from both the\n"
 "file and the HEAD:"
@@ -11917,7 +12344,7 @@
 msgstr[1] ""
 "följande filer har köat innehåll som skiljer sig både från filen och HEAD:"
 
-#: builtin/rm.c:235
+#: builtin/rm.c:210
 msgid ""
 "\n"
 "(use -f to force removal)"
@@ -11925,13 +12352,13 @@
 "\n"
 "(använd -f för att tvinga borttagning)"
 
-#: builtin/rm.c:239
+#: builtin/rm.c:214
 msgid "the following file has changes staged in the index:"
 msgid_plural "the following files have changes staged in the index:"
 msgstr[0] "följande fil har ändringar köade i indexet:"
 msgstr[1] "följande filer har ändringar köade i indexet:"
 
-#: builtin/rm.c:243 builtin/rm.c:254
+#: builtin/rm.c:218 builtin/rm.c:227
 msgid ""
 "\n"
 "(use --cached to keep the file, or -f to force removal)"
@@ -11939,42 +12366,47 @@
 "\n"
 "(använd --cached för att behålla filen eller -f för att tvinga borttagning)"
 
-#: builtin/rm.c:251
+#: builtin/rm.c:224
 msgid "the following file has local modifications:"
 msgid_plural "the following files have local modifications:"
 msgstr[0] "följande fil har lokala ändringar:"
 msgstr[1] "följande filer har lokala ändringar:"
 
-#: builtin/rm.c:269
+#: builtin/rm.c:242
 msgid "do not list removed files"
 msgstr "lista inte borttagna filer"
 
-#: builtin/rm.c:270
+#: builtin/rm.c:243
 msgid "only remove from the index"
 msgstr "ta bara bort från indexet"
 
-#: builtin/rm.c:271
+#: builtin/rm.c:244
 msgid "override the up-to-date check"
 msgstr "överstyr àjour-testet"
 
-#: builtin/rm.c:272
+#: builtin/rm.c:245
 msgid "allow recursive removal"
 msgstr "tillåt rekursiv borttagning"
 
-#: builtin/rm.c:274
+#: builtin/rm.c:247
 msgid "exit with a zero status even if nothing matched"
 msgstr "avsluta med nollstatus även om inget träffades"
 
-#: builtin/rm.c:335
+#: builtin/rm.c:308
 #, c-format
 msgid "not removing '%s' recursively without -r"
 msgstr "tar inte bort \"%s\" rekursivt utan -r"
 
-#: builtin/rm.c:374
+#: builtin/rm.c:347
 #, c-format
 msgid "git rm: unable to remove %s"
 msgstr "git rm: kan inte ta bort %s"
 
+#: builtin/rm.c:370
+#, c-format
+msgid "could not remove '%s'"
+msgstr "kunde inte ta bort \"%s\""
+
 #: builtin/send-pack.c:18
 msgid ""
 "git send-pack [--all | --mirror] [--dry-run] [--force] [--receive-pack=<git-"
@@ -12007,23 +12439,27 @@
 msgid "git shortlog [<options>] [<revision-range>] [[--] [<path>...]]"
 msgstr "git shortlog [<flaggor>] [<versionsintervall>] [[--] <sökväg>...]"
 
-#: builtin/shortlog.c:242
+#: builtin/shortlog.c:249
+msgid "Group by committer rather than author"
+msgstr "Gruppera efter incheckare istället för författare"
+
+#: builtin/shortlog.c:251
 msgid "sort output according to the number of commits per author"
 msgstr "sortera utdata enligt antal incheckningar per författare"
 
-#: builtin/shortlog.c:244
+#: builtin/shortlog.c:253
 msgid "Suppress commit descriptions, only provides commit count"
 msgstr "Undertryck beskrivningar, visa bara antal incheckningar"
 
-#: builtin/shortlog.c:246
+#: builtin/shortlog.c:255
 msgid "Show the email address of each author"
 msgstr "Visa e-postadress för varje författare"
 
-#: builtin/shortlog.c:247
+#: builtin/shortlog.c:256
 msgid "w[,i1[,i2]]"
 msgstr "w[,i1[,i2]]"
 
-#: builtin/shortlog.c:248
+#: builtin/shortlog.c:257
 msgid "Linewrap output"
 msgstr "Radbryt utdata"
 
@@ -12175,35 +12611,35 @@
 msgid "git show-ref --exclude-existing[=<pattern>]"
 msgstr "git show-ref --exclude-existing[=<mönster>]"
 
-#: builtin/show-ref.c:165
+#: builtin/show-ref.c:159
 msgid "only show tags (can be combined with heads)"
 msgstr "visa endast taggar (kan kombineras med huvuden)"
 
-#: builtin/show-ref.c:166
+#: builtin/show-ref.c:160
 msgid "only show heads (can be combined with tags)"
 msgstr "visa endast huvuden (kan kombineras med taggar)"
 
-#: builtin/show-ref.c:167
+#: builtin/show-ref.c:161
 msgid "stricter reference checking, requires exact ref path"
 msgstr "striktare referenskontroll, kräver exakt referenssökväg"
 
-#: builtin/show-ref.c:170 builtin/show-ref.c:172
+#: builtin/show-ref.c:164 builtin/show-ref.c:166
 msgid "show the HEAD reference, even if it would be filtered out"
 msgstr "visa HEAD-refrens, även när den skulle filtreras ut"
 
-#: builtin/show-ref.c:174
+#: builtin/show-ref.c:168
 msgid "dereference tags into object IDs"
 msgstr "avreferera taggar till objekt-id"
 
-#: builtin/show-ref.c:176
+#: builtin/show-ref.c:170
 msgid "only show SHA1 hash using <n> digits"
 msgstr "visa SHA1-hash endast med <n> siffror"
 
-#: builtin/show-ref.c:180
+#: builtin/show-ref.c:174
 msgid "do not print results to stdout (useful with --verify)"
 msgstr "visa inte resultat på standard ut (användbart med --verify)"
 
-#: builtin/show-ref.c:182
+#: builtin/show-ref.c:176
 msgid "show refs from stdin that aren't in local repository"
 msgstr "visa referenser från standard in som inte finns i lokalt arkiv"
 
@@ -12223,12 +12659,12 @@
 msgid "prepend comment character and space to each line"
 msgstr "lägg in kommentarstecken och blanksteg först på varje rad"
 
-#: builtin/submodule--helper.c:24 builtin/submodule--helper.c:1046
+#: builtin/submodule--helper.c:24 builtin/submodule--helper.c:1062
 #, c-format
 msgid "No such ref: %s"
 msgstr "Ingen sådan referens: %s"
 
-#: builtin/submodule--helper.c:31 builtin/submodule--helper.c:1055
+#: builtin/submodule--helper.c:31 builtin/submodule--helper.c:1071
 #, c-format
 msgid "Expecting a full ref name, got %s"
 msgstr "Förväntade fullt referensnamn, fick %s"
@@ -12238,8 +12674,7 @@
 msgid "cannot strip one component off url '%s'"
 msgstr "kan inte ta bort en komponent från url:en \"%s\""
 
-#: builtin/submodule--helper.c:282 builtin/submodule--helper.c:408
-#: builtin/submodule--helper.c:590
+#: builtin/submodule--helper.c:282 builtin/submodule--helper.c:592
 msgid "alternative anchor for relative paths"
 msgstr "alternativa ankare för relativa sökvägar"
 
@@ -12247,84 +12682,84 @@
 msgid "git submodule--helper list [--prefix=<path>] [<path>...]"
 msgstr "git submodule--helper list [--prefix=<sökväg>] [<sökväg>...]"
 
-#: builtin/submodule--helper.c:329 builtin/submodule--helper.c:343
+#: builtin/submodule--helper.c:333 builtin/submodule--helper.c:347
 #, c-format
 msgid "No url found for submodule path '%s' in .gitmodules"
 msgstr "Hittade ingen url för undermodulsökvägen \"%s\" i .gitmodules"
 
-#: builtin/submodule--helper.c:369
+#: builtin/submodule--helper.c:373
 #, c-format
 msgid "Failed to register url for submodule path '%s'"
 msgstr "Misslyckades registrera url för undermodulsökväg \"%s\""
 
-#: builtin/submodule--helper.c:373
+#: builtin/submodule--helper.c:377
 #, c-format
 msgid "Submodule '%s' (%s) registered for path '%s'\n"
 msgstr "Undermodulen \"%s\" (%s) registrerad för sökvägen \"%s\"\n"
 
-#: builtin/submodule--helper.c:383
+#: builtin/submodule--helper.c:387
 #, c-format
 msgid "warning: command update mode suggested for submodule '%s'\n"
 msgstr "varning: kommandouppdateringsläge föreslogs för undermodulen \"%s\"\n"
 
-#: builtin/submodule--helper.c:390
+#: builtin/submodule--helper.c:394
 #, c-format
 msgid "Failed to register update mode for submodule path '%s'"
 msgstr "Misslyckades registrera uppdateringsläge för undermodulsökväg \"%s\""
 
-#: builtin/submodule--helper.c:409
+#: builtin/submodule--helper.c:410
 msgid "Suppress output for initializing a submodule"
 msgstr "Dölj utdata från initiering av undermodul"
 
-#: builtin/submodule--helper.c:414
+#: builtin/submodule--helper.c:415
 msgid "git submodule--helper init [<path>]"
 msgstr "git submodule--helper init [<sökväg>]"
 
-#: builtin/submodule--helper.c:435
+#: builtin/submodule--helper.c:436
 msgid "git submodule--helper name <path>"
 msgstr "git submodule--helper name <sökväg>"
 
-#: builtin/submodule--helper.c:441
+#: builtin/submodule--helper.c:442
 #, c-format
 msgid "no submodule mapping found in .gitmodules for path '%s'"
 msgstr "hittade ingen undermodulmappning i .gitmodules för sökvägen \"%s\""
 
-#: builtin/submodule--helper.c:524 builtin/submodule--helper.c:527
+#: builtin/submodule--helper.c:525 builtin/submodule--helper.c:528
 #, c-format
 msgid "submodule '%s' cannot add alternate: %s"
 msgstr "undermodulen \"%s\" kan inte lägga till alternativ: %s"
 
-#: builtin/submodule--helper.c:563
+#: builtin/submodule--helper.c:564
 #, c-format
 msgid "Value '%s' for submodule.alternateErrorStrategy is not recognized"
 msgstr "Värdet \"%s\" i submodule.alternateErrorStrategy förstås inte"
 
-#: builtin/submodule--helper.c:570
+#: builtin/submodule--helper.c:571
 #, c-format
 msgid "Value '%s' for submodule.alternateLocation is not recognized"
 msgstr "Värdet \"%s\" i submodule.alternateLocation förstås inte"
 
-#: builtin/submodule--helper.c:593
+#: builtin/submodule--helper.c:595
 msgid "where the new submodule will be cloned to"
 msgstr "var den nya undermodulen skall klonas till"
 
-#: builtin/submodule--helper.c:596
+#: builtin/submodule--helper.c:598
 msgid "name of the new submodule"
 msgstr "namn på den nya undermodulen"
 
-#: builtin/submodule--helper.c:599
+#: builtin/submodule--helper.c:601
 msgid "url where to clone the submodule from"
 msgstr "URL att klona undermodulen från"
 
-#: builtin/submodule--helper.c:605
+#: builtin/submodule--helper.c:607
 msgid "depth for shallow clones"
 msgstr "djup för grunda kloner"
 
-#: builtin/submodule--helper.c:608 builtin/submodule--helper.c:964
+#: builtin/submodule--helper.c:610 builtin/submodule--helper.c:980
 msgid "force cloning progress"
 msgstr "tvinga kloningsförlopp"
 
-#: builtin/submodule--helper.c:613
+#: builtin/submodule--helper.c:615
 msgid ""
 "git submodule--helper clone [--prefix=<path>] [--quiet] [--reference "
 "<repository>] [--name <name>] [--depth <depth>] --url <url> --path <path>"
@@ -12332,97 +12767,92 @@
 "git submodule--helper clone [--prefix=<sökväg>] [--quiet] [--reference "
 "<arkvi>] [--name <namn>] [--depth <djup>] --url <url> --path <sökväg>"
 
-#: builtin/submodule--helper.c:638 builtin/submodule--helper.c:648
-#, c-format
-msgid "could not create directory '%s'"
-msgstr "kunde inte skapa katalogen \"%s\""
-
-#: builtin/submodule--helper.c:644
+#: builtin/submodule--helper.c:646
 #, c-format
 msgid "clone of '%s' into submodule path '%s' failed"
 msgstr "misslyckades klona \"%s\" till undermodulsökvägen \"%s\""
 
-#: builtin/submodule--helper.c:660
+#: builtin/submodule--helper.c:662
 #, c-format
 msgid "cannot open file '%s'"
 msgstr "kan inte öppna filen \"%s\""
 
-#: builtin/submodule--helper.c:665
+#: builtin/submodule--helper.c:667
 #, c-format
 msgid "could not close file %s"
 msgstr "kunde inte stänga filen %s"
 
-#: builtin/submodule--helper.c:672
+#: builtin/submodule--helper.c:674
 #, c-format
 msgid "could not get submodule directory for '%s'"
 msgstr "kunde inte få tag i undermodulkatalog för \"%s\""
 
-#: builtin/submodule--helper.c:726
+#: builtin/submodule--helper.c:742
 #, c-format
 msgid "Submodule path '%s' not initialized"
 msgstr "Undermodulsökvägen \"%s\" har inte initierats"
 
-#: builtin/submodule--helper.c:730
+#: builtin/submodule--helper.c:746
 msgid "Maybe you want to use 'update --init'?"
 msgstr "Kanske menade du att använda \"update --init\"?"
 
-#: builtin/submodule--helper.c:756
+#: builtin/submodule--helper.c:772
 #, c-format
 msgid "Skipping unmerged submodule %s"
 msgstr "Hoppar över ej sammanslagen undermodul %s"
 
-#: builtin/submodule--helper.c:777
+#: builtin/submodule--helper.c:793
 #, c-format
 msgid "Skipping submodule '%s'"
 msgstr "Hoppar över undermodulen \"%s\""
 
-#: builtin/submodule--helper.c:913
+#: builtin/submodule--helper.c:929
 #, c-format
 msgid "Failed to clone '%s'. Retry scheduled"
 msgstr "Misslyckades klona \"%s\". Nytt försök planlagt"
 
-#: builtin/submodule--helper.c:924
+#: builtin/submodule--helper.c:940
 #, c-format
 msgid "Failed to clone '%s' a second time, aborting"
 msgstr "Misslyckades klona \"%s\" för andra gången, avbryter"
 
-#: builtin/submodule--helper.c:945
+#: builtin/submodule--helper.c:961 builtin/submodule--helper.c:1105
 msgid "path into the working tree"
 msgstr "sökväg inuti arbetskatalogen"
 
-#: builtin/submodule--helper.c:948
+#: builtin/submodule--helper.c:964
 msgid "path into the working tree, across nested submodule boundaries"
 msgstr "sökväg inuti arbetskatalogen, genom nästlade undermodulgränser"
 
-#: builtin/submodule--helper.c:952
+#: builtin/submodule--helper.c:968
 msgid "rebase, merge, checkout or none"
 msgstr "rebase, merge, checkout eller none"
 
-#: builtin/submodule--helper.c:956
+#: builtin/submodule--helper.c:972
 msgid "Create a shallow clone truncated to the specified number of revisions"
 msgstr "Skapa en grund klon trunkerad till angivet antal revisioner"
 
-#: builtin/submodule--helper.c:959
+#: builtin/submodule--helper.c:975
 msgid "parallel jobs"
 msgstr "parallella jobb"
 
-#: builtin/submodule--helper.c:961
+#: builtin/submodule--helper.c:977
 msgid "whether the initial clone should follow the shallow recommendation"
 msgstr "om den första klonen skall följa rekommendation för grund kloning"
 
-#: builtin/submodule--helper.c:962
+#: builtin/submodule--helper.c:978
 msgid "don't print cloning progress"
 msgstr "skriv inte klonförlopp"
 
-#: builtin/submodule--helper.c:969
+#: builtin/submodule--helper.c:985
 msgid "git submodule--helper update_clone [--prefix=<path>] [<path>...]"
 msgstr "git submodule--helper update_clone [--prefix=<sökväg>] [<sökväg>...]"
 
-#: builtin/submodule--helper.c:979
+#: builtin/submodule--helper.c:995
 msgid "bad value for update parameter"
 msgstr "felaktigt värde för parametern update"
 
-#: builtin/submodule--helper.c:1050
+#: builtin/submodule--helper.c:1066
 #, c-format
 msgid ""
 "Submodule (%s) branch configured to inherit branch from superproject, but "
@@ -12431,11 +12861,24 @@
 "Undermodulens (%s) gren inställd på att ärva gren från huvudprojektet, men "
 "huvudprojektet är inte på någon gren"
 
-#: builtin/submodule--helper.c:1100
+#: builtin/submodule--helper.c:1106
+msgid "recurse into submodules"
+msgstr "rekursera ner i undermoduler"
+
+#: builtin/submodule--helper.c:1112
+msgid "git submodule--helper embed-git-dir [<path>...]"
+msgstr "git submodule--helper embed-git-dir [<sökväg>...]"
+
+#: builtin/submodule--helper.c:1157
 msgid "submodule--helper subcommand must be called with a subcommand"
 msgstr "underkommandot submodule--helper måste anropas med ett underkommando"
 
-#: builtin/submodule--helper.c:1107
+#: builtin/submodule--helper.c:1164
+#, c-format
+msgid "%s doesn't support --super-prefix"
+msgstr "%s stöder inte --super-prefix"
+
+#: builtin/submodule--helper.c:1170
 #, c-format
 msgid "'%s' is not a valid submodule--helper subcommand"
 msgstr "\"%s\" är inte ett giltigt underkommando till submodule--helper"
@@ -12490,25 +12933,25 @@
 "\t\t[--format=<format>] [--[no-]merged [<incheckning>]] [<mönster>...]"
 
 #: builtin/tag.c:27
-msgid "git tag -v <tagname>..."
-msgstr "git tag -v <taggnamn>..."
+msgid "git tag -v [--format=<format>] <tagname>..."
+msgstr "git tag -v [--format=<format>] <taggnamn>..."
 
-#: builtin/tag.c:81
+#: builtin/tag.c:82
 #, c-format
 msgid "tag name too long: %.*s..."
 msgstr "taggnamnet för långt: %.*s..."
 
-#: builtin/tag.c:86
+#: builtin/tag.c:87
 #, c-format
 msgid "tag '%s' not found."
 msgstr "taggen \"%s\" hittades inte."
 
-#: builtin/tag.c:101
+#: builtin/tag.c:102
 #, c-format
 msgid "Deleted tag '%s' (was %s)\n"
 msgstr "Tog bort tagg \"%s\" (var %s)\n"
 
-#: builtin/tag.c:117
+#: builtin/tag.c:131
 #, c-format
 msgid ""
 "\n"
@@ -12521,7 +12964,7 @@
 "  %s\n"
 "Rader som inleds med \"%c\" ignoreras.\n"
 
-#: builtin/tag.c:121
+#: builtin/tag.c:135
 #, c-format
 msgid ""
 "\n"
@@ -12536,138 +12979,138 @@
 "Rader som inleds med \"%c\" kommer behållas; du kan själv ta bort dem om\n"
 "du vill.\n"
 
-#: builtin/tag.c:199
+#: builtin/tag.c:213
 msgid "unable to sign the tag"
 msgstr "kunde inte signera taggen"
 
-#: builtin/tag.c:201
+#: builtin/tag.c:215
 msgid "unable to write tag file"
 msgstr "kunde inte skriva tagg-filen"
 
-#: builtin/tag.c:226
+#: builtin/tag.c:240
 msgid "bad object type."
 msgstr "felaktig objekttyp"
 
-#: builtin/tag.c:239
+#: builtin/tag.c:253
 msgid "tag header too big."
 msgstr "tagghuvud för stort."
 
-#: builtin/tag.c:275
+#: builtin/tag.c:289
 msgid "no tag message?"
 msgstr "inget taggmeddelande?"
 
-#: builtin/tag.c:281
+#: builtin/tag.c:295
 #, c-format
 msgid "The tag message has been left in %s\n"
 msgstr "Taggmeddelandet har lämnats i %s\n"
 
-#: builtin/tag.c:339
+#: builtin/tag.c:354
 msgid "list tag names"
 msgstr "lista taggnamn"
 
-#: builtin/tag.c:341
+#: builtin/tag.c:356
 msgid "print <n> lines of each tag message"
 msgstr "visa <n> rader från varje taggmeddelande"
 
-#: builtin/tag.c:343
+#: builtin/tag.c:358
 msgid "delete tags"
 msgstr "ta bort taggar"
 
-#: builtin/tag.c:344
+#: builtin/tag.c:359
 msgid "verify tags"
 msgstr "verifiera taggar"
 
-#: builtin/tag.c:346
+#: builtin/tag.c:361
 msgid "Tag creation options"
 msgstr "Alternativ för att skapa taggar"
 
-#: builtin/tag.c:348
+#: builtin/tag.c:363
 msgid "annotated tag, needs a message"
 msgstr "annoterad tagg, behöver meddelande"
 
-#: builtin/tag.c:350
+#: builtin/tag.c:365
 msgid "tag message"
 msgstr "taggmeddelande"
 
-#: builtin/tag.c:352
+#: builtin/tag.c:367
 msgid "annotated and GPG-signed tag"
 msgstr "annoterad och GPG-signerad tagg"
 
-#: builtin/tag.c:356
+#: builtin/tag.c:371
 msgid "use another key to sign the tag"
 msgstr "använd annan nyckel för att signera taggen"
 
-#: builtin/tag.c:357
+#: builtin/tag.c:372
 msgid "replace the tag if exists"
 msgstr "ersätt taggen om den finns"
 
-#: builtin/tag.c:358 builtin/update-ref.c:368
+#: builtin/tag.c:373 builtin/update-ref.c:368
 msgid "create a reflog"
 msgstr "skapa en reflog"
 
-#: builtin/tag.c:360
+#: builtin/tag.c:375
 msgid "Tag listing options"
 msgstr "Alternativ för listning av taggar"
 
-#: builtin/tag.c:361
+#: builtin/tag.c:376
 msgid "show tag list in columns"
 msgstr "lista taggar i spalter"
 
-#: builtin/tag.c:362 builtin/tag.c:363
+#: builtin/tag.c:377 builtin/tag.c:378
 msgid "print only tags that contain the commit"
 msgstr "visa endast taggar som innehåller incheckningen"
 
-#: builtin/tag.c:364
+#: builtin/tag.c:379
 msgid "print only tags that are merged"
 msgstr "visa endast taggar som slagits samman"
 
-#: builtin/tag.c:365
+#: builtin/tag.c:380
 msgid "print only tags that are not merged"
 msgstr "visa endast taggar som ej slagits samman"
 
-#: builtin/tag.c:370
+#: builtin/tag.c:385
 msgid "print only tags of the object"
 msgstr "visa endast taggar för objektet"
 
-#: builtin/tag.c:399
+#: builtin/tag.c:415
 msgid "--column and -n are incompatible"
 msgstr "--column och -n är inkompatibla"
 
-#: builtin/tag.c:419
+#: builtin/tag.c:437
 msgid "-n option is only allowed with -l."
 msgstr "Flaggan -n är endast tillåten tillsammans med -l."
 
-#: builtin/tag.c:421
+#: builtin/tag.c:439
 msgid "--contains option is only allowed with -l."
 msgstr "Flaggan --contains är endast tillåten tillsammans med -l"
 
-#: builtin/tag.c:423
+#: builtin/tag.c:441
 msgid "--points-at option is only allowed with -l."
 msgstr "Flaggan --points-at är endast tillåten tillsammans med -l."
 
-#: builtin/tag.c:425
+#: builtin/tag.c:443
 msgid "--merged and --no-merged option are only allowed with -l"
 msgstr "flaggorna --merged och --no-merged tillåts endast tillsammans med -l"
 
-#: builtin/tag.c:433
+#: builtin/tag.c:454
 msgid "only one -F or -m option is allowed."
 msgstr "endast en av flaggorna -F eller -m tillåts."
 
-#: builtin/tag.c:452
+#: builtin/tag.c:473
 msgid "too many params"
 msgstr "för många parametrar"
 
-#: builtin/tag.c:458
+#: builtin/tag.c:479
 #, c-format
 msgid "'%s' is not a valid tag name."
 msgstr "\"%s\" är inte ett giltigt taggnamn."
 
-#: builtin/tag.c:463
+#: builtin/tag.c:484
 #, c-format
 msgid "tag '%s' already exists"
 msgstr "taggen \"%s\" finns redan"
 
-#: builtin/tag.c:491
+#: builtin/tag.c:512
 #, c-format
 msgid "Updated tag '%s' (was %s)\n"
 msgstr "Uppdaterad tagg \"%s\" (var %s)\n"
@@ -12857,7 +13300,7 @@
 msgid "enable untracked cache without testing the filesystem"
 msgstr "aktivera ospårad cache utan att testa filsystemet"
 
-#: builtin/update-index.c:1119
+#: builtin/update-index.c:1120
 msgid ""
 "core.untrackedCache is set to true; remove or change it, if you really want "
 "to disable the untracked cache"
@@ -12865,11 +13308,11 @@
 "core.untrackedCache är satt till true; ta bort eller ändra det om du "
 "verkligen vill inaktivera den ospårade cachen"
 
-#: builtin/update-index.c:1123
+#: builtin/update-index.c:1124
 msgid "Untracked cache disabled"
 msgstr "Ospårad cache är inaktiverad"
 
-#: builtin/update-index.c:1131
+#: builtin/update-index.c:1132
 msgid ""
 "core.untrackedCache is set to false; remove or change it, if you really want "
 "to enable the untracked cache"
@@ -12877,7 +13320,7 @@
 "core.untrackedCache är satt till false; ta bort eller ändra det om du "
 "verkligen vill aktivera den ospårade cachen"
 
-#: builtin/update-index.c:1135
+#: builtin/update-index.c:1136
 #, c-format
 msgid "Untracked cache enabled for '%s'"
 msgstr "Ospårad cache är aktiverad för \"%s\""
@@ -12926,7 +13369,7 @@
 msgid "print commit contents"
 msgstr "visa innehåll för incheckning"
 
-#: builtin/verify-commit.c:73 builtin/verify-tag.c:35
+#: builtin/verify-commit.c:73 builtin/verify-tag.c:37
 msgid "print raw gpg status output"
 msgstr "visa råa gpg-statusdata"
 
@@ -12942,11 +13385,11 @@
 msgid "show statistics only"
 msgstr "visa endast statistik"
 
-#: builtin/verify-tag.c:17
-msgid "git verify-tag [-v | --verbose] <tag>..."
-msgstr "git verify-tag [-v | --verbose] <tagg>..."
+#: builtin/verify-tag.c:18
+msgid "git verify-tag [-v | --verbose] [--format=<format>] <tag>..."
+msgstr "git verify-tag [-v | --verbose] [--format=<format] <tagg>..."
 
-#: builtin/verify-tag.c:34
+#: builtin/verify-tag.c:36
 msgid "print tag contents"
 msgstr "visa innehåll för tag"
 
@@ -12995,6 +13438,14 @@
 msgid "Removing worktrees/%s: gitdir file points to non-existent location"
 msgstr "Tar bort worktrees/%s: gitdir-filen pekar på en ickeexisterande plats"
 
+#: builtin/worktree.c:128
+msgid "report pruned working trees"
+msgstr "rapportera borttagna arbetskataloger"
+
+#: builtin/worktree.c:130
+msgid "expire working trees older than <time>"
+msgstr "låt tid gå ut för arbetskataloger äldre än <tid>"
+
 #: builtin/worktree.c:204
 #, c-format
 msgid "'%s' already exists"
@@ -13031,30 +13482,30 @@
 msgid "-b, -B, and --detach are mutually exclusive"
 msgstr "-b, -B och --detach är ömsesidigt uteslutande"
 
-#: builtin/worktree.c:470
+#: builtin/worktree.c:472
 msgid "reason for locking"
 msgstr "orsak till lås"
 
-#: builtin/worktree.c:482 builtin/worktree.c:515
+#: builtin/worktree.c:484 builtin/worktree.c:517
 #, c-format
 msgid "'%s' is not a working tree"
 msgstr "\"%s\" är inte en arbetskatalog"
 
-#: builtin/worktree.c:484 builtin/worktree.c:517
+#: builtin/worktree.c:486 builtin/worktree.c:519
 msgid "The main working tree cannot be locked or unlocked"
 msgstr "Huvudarbetskatalogen kan inte låsas eller låsas upp"
 
-#: builtin/worktree.c:489
+#: builtin/worktree.c:491
 #, c-format
 msgid "'%s' is already locked, reason: %s"
 msgstr "\"%s\" är redan låst, orsak: %s"
 
-#: builtin/worktree.c:491
+#: builtin/worktree.c:493
 #, c-format
 msgid "'%s' is already locked"
 msgstr "\"%s\" är redan låst"
 
-#: builtin/worktree.c:519
+#: builtin/worktree.c:521
 #, c-format
 msgid "'%s' is not locked"
 msgstr "\"%s\" är inte låst"
@@ -13079,19 +13530,19 @@
 msgid "git upload-pack [<options>] <dir>"
 msgstr "git upload-pack [<flaggor>] <katalog>"
 
-#: upload-pack.c:1028
+#: upload-pack.c:1036
 msgid "quit after a single request/response exchange"
 msgstr "avsluta omedelbart efter första anrop/svar-utväxling"
 
-#: upload-pack.c:1030
+#: upload-pack.c:1038
 msgid "exit immediately after initial ref advertisement"
 msgstr "avsluta omedelbart efter inledande kungörelse av referenser"
 
-#: upload-pack.c:1032
+#: upload-pack.c:1040
 msgid "do not try <directory>/.git/ if <directory> is no Git directory"
 msgstr "testa inte <katalog>/.git/ om <katalog> inte är en Git-katalog"
 
-#: upload-pack.c:1034
+#: upload-pack.c:1042
 msgid "interrupt transfer after <n> seconds of inactivity"
 msgstr "avbryt överföringen efter <n> sekunders inaktivitet"
 
@@ -13122,14 +13573,30 @@
 "några konceptvägledningar. Se \"git help <kommando>\" eller \"git help\n"
 "<koncept>\" för att läsa mer om specifika underkommandon och koncept."
 
-#: http.c:342
+#: http.c:344
 msgid "Delegation control is not supported with cURL < 7.22.0"
 msgstr "Delegerad styrning stöds inte av cURL < 7.22.0"
 
-#: http.c:351
+#: http.c:353
 msgid "Public key pinning not supported with cURL < 7.44.0"
 msgstr "Fastnålning av öppen nyckel stöds inte av cURL < 7.44.0"
 
+#: http.c:1713
+#, c-format
+msgid ""
+"unable to update url base from redirection:\n"
+"  asked for: %s\n"
+"   redirect: %s"
+msgstr ""
+"kan inte uppdatera urlbas från omdirigerin:\n"
+"        bad om: %s\n"
+"  omdirigering: %s"
+
+#: remote-curl.c:319
+#, c-format
+msgid "redirecting to %s"
+msgstr "omdirigerar till %s"
+
 #: common-cmds.h:9
 msgid "start a working area (see also: git help tutorial)"
 msgstr "starta arbetskatalog (se också: git help tutorial)"
@@ -13502,7 +13969,7 @@
 msgid "Simple merge did not work, trying automatic merge."
 msgstr "Enkel sammanslagning misslyckades, försöker automatisk sammanslagning."
 
-#: git-rebase.sh:56
+#: git-rebase.sh:57
 msgid ""
 "When you have resolved this problem, run \"git rebase --continue\".\n"
 "If you prefer to skip this patch, run \"git rebase --skip\" instead.\n"
@@ -13513,51 +13980,37 @@
 "Om du vill hoppa över patchen kör du istället \"git rebase --skip\".\n"
 "För att återställa originalgrenen och avbryta kör du \"git rebase --abort\"."
 
-#: git-rebase.sh:156 git-rebase.sh:395
+#: git-rebase.sh:157 git-rebase.sh:396
 #, sh-format
 msgid "Could not move back to $head_name"
 msgstr "Kunde inte flytta tillbaka till $head_name"
 
-#: git-rebase.sh:167
-msgid "Applied autostash."
-msgstr "Tillämpade autostash."
-
-#: git-rebase.sh:170
+#: git-rebase.sh:171
 #, sh-format
 msgid "Cannot store $stash_sha1"
 msgstr "Kan inte spara $stash_sha1"
 
-#: git-rebase.sh:171
-msgid ""
-"Applying autostash resulted in conflicts.\n"
-"Your changes are safe in the stash.\n"
-"You can run \"git stash pop\" or \"git stash drop\" at any time.\n"
-msgstr ""
-"Tillämpning av autostash gav konflikter.\n"
-"Dina ändringar är säkra i stashen.\n"
-"Du kan när som helst använda \"git stash pop\" eller \"git stash drop\".\n"
-
-#: git-rebase.sh:210
+#: git-rebase.sh:211
 msgid "The pre-rebase hook refused to rebase."
 msgstr "Kroken pre-rebase vägrade ombaseringen."
 
-#: git-rebase.sh:215
+#: git-rebase.sh:216
 msgid "It looks like git-am is in progress. Cannot rebase."
 msgstr "Det verkar som en git-am körs. Kan inte ombasera."
 
-#: git-rebase.sh:356
+#: git-rebase.sh:357
 msgid "No rebase in progress?"
 msgstr "Ingen ombasering pågår?"
 
-#: git-rebase.sh:367
+#: git-rebase.sh:368
 msgid "The --edit-todo action can only be used during interactive rebase."
 msgstr "Åtgärden --edit-todo kan endast användas under interaktiv ombasering."
 
-#: git-rebase.sh:374
+#: git-rebase.sh:375
 msgid "Cannot read HEAD"
 msgstr "Kan inte läsa HEAD"
 
-#: git-rebase.sh:377
+#: git-rebase.sh:378
 msgid ""
 "You must edit all merge conflicts and then\n"
 "mark them as resolved using git add"
@@ -13565,7 +14018,7 @@
 "Du måste redigera alla sammanslagningskonflikter och\n"
 "därefter markera dem som lösta med git add"
 
-#: git-rebase.sh:414
+#: git-rebase.sh:418
 #, sh-format
 msgid ""
 "It seems that there is already a $state_dir_base directory, and\n"
@@ -13586,65 +14039,65 @@
 "och kör programmet igen. Jag avslutar ifall du fortfarande har\n"
 "något av värde där."
 
-#: git-rebase.sh:465
+#: git-rebase.sh:469
 #, sh-format
 msgid "invalid upstream $upstream_name"
 msgstr "ogiltig uppström $upstream_name"
 
-#: git-rebase.sh:489
+#: git-rebase.sh:493
 #, sh-format
 msgid "$onto_name: there are more than one merge bases"
 msgstr "$onto_name: mer än en sammanslagningsbas finns"
 
-#: git-rebase.sh:492 git-rebase.sh:496
+#: git-rebase.sh:496 git-rebase.sh:500
 #, sh-format
 msgid "$onto_name: there is no merge base"
 msgstr "$onto_name: ingen sammanslagningsbas finns"
 
-#: git-rebase.sh:501
+#: git-rebase.sh:505
 #, sh-format
 msgid "Does not point to a valid commit: $onto_name"
 msgstr "Peka på en giltig incheckning: $onto_name"
 
-#: git-rebase.sh:524
+#: git-rebase.sh:528
 #, sh-format
 msgid "fatal: no such branch: $branch_name"
 msgstr "ödesdigert: ingen sådan gren: $branch_name"
 
-#: git-rebase.sh:557
+#: git-rebase.sh:561
 msgid "Cannot autostash"
 msgstr "Kan inte utföra \"autostash\""
 
-#: git-rebase.sh:562
+#: git-rebase.sh:566
 #, sh-format
 msgid "Created autostash: $stash_abbrev"
 msgstr "Skapade autostash: $stash_abbrev"
 
-#: git-rebase.sh:566
+#: git-rebase.sh:570
 msgid "Please commit or stash them."
 msgstr "Checka in eller använd \"stash\" på dem."
 
-#: git-rebase.sh:586
+#: git-rebase.sh:590
 #, sh-format
 msgid "Current branch $branch_name is up to date."
 msgstr "Aktuell gren $branch_name är à jour."
 
-#: git-rebase.sh:590
+#: git-rebase.sh:594
 #, sh-format
 msgid "Current branch $branch_name is up to date, rebase forced."
 msgstr "Aktuell gren $branch_name är à jour, ombasering framtvingad."
 
-#: git-rebase.sh:601
+#: git-rebase.sh:605
 #, sh-format
 msgid "Changes from $mb to $onto:"
 msgstr "Ändringar från $mb till $onto:"
 
-#: git-rebase.sh:610
+#: git-rebase.sh:614
 msgid "First, rewinding head to replay your work on top of it..."
 msgstr ""
 "Först, spolar tillbaka huvudet för att spela av ditt arbete ovanpå det..."
 
-#: git-rebase.sh:620
+#: git-rebase.sh:624
 #, sh-format
 msgid "Fast-forwarded $branch_name to $onto_name."
 msgstr "Snabbspolade $branch_name till $onto_name."
@@ -13810,21 +14263,26 @@
 msgid "(To restore them type \"git stash apply\")"
 msgstr "(För att återställa dem, skriv \"git stash apply\")"
 
-#: git-submodule.sh:184
+#: git-submodule.sh:181
 msgid "Relative path can only be used from the toplevel of the working tree"
 msgstr "Relativ sökväg kan endast användas från arbetskatalogens toppnivå"
 
-#: git-submodule.sh:194
+#: git-submodule.sh:191
 #, sh-format
 msgid "repo URL: '$repo' must be absolute or begin with ./|../"
 msgstr "arkiv-URL: \"$repo\" måste vara absolut eller börja med ./|../"
 
-#: git-submodule.sh:211
+#: git-submodule.sh:210
 #, sh-format
 msgid "'$sm_path' already exists in the index"
 msgstr "\"$sm_path\" finns redan i indexet"
 
-#: git-submodule.sh:215
+#: git-submodule.sh:213
+#, sh-format
+msgid "'$sm_path' already exists in the index and is not a submodule"
+msgstr "\"$sm_path\" finns redan i indexet och är inte en undermodul"
+
+#: git-submodule.sh:218
 #, sh-format
 msgid ""
 "The following path is ignored by one of your .gitignore files:\n"
@@ -13835,22 +14293,22 @@
 "$sm_path\n"
 "Använd -f om du verkligen vill lägga till den"
 
-#: git-submodule.sh:233
+#: git-submodule.sh:236
 #, sh-format
 msgid "Adding existing repo at '$sm_path' to the index"
 msgstr "Lägger till befintligt arkiv i \"$sm_path\" i indexet"
 
-#: git-submodule.sh:235
+#: git-submodule.sh:238
 #, sh-format
 msgid "'$sm_path' already exists and is not a valid git repo"
 msgstr "\"$sm_path\" finns redan och är inte ett giltigt git-arkiv"
 
-#: git-submodule.sh:243
+#: git-submodule.sh:246
 #, sh-format
 msgid "A git directory for '$sm_name' is found locally with remote(s):"
 msgstr "En git-katalog för \"$sm_name\" hittades lokalt med fjärr(ar):"
 
-#: git-submodule.sh:245
+#: git-submodule.sh:248
 #, sh-format
 msgid ""
 "If you want to reuse this local git directory instead of cloning again from\n"
@@ -13868,48 +14326,48 @@
 "arkiv eller om du är osäker på vad det här betyder, välj ett annat namn med\n"
 "flaggan \"--name\"."
 
-#: git-submodule.sh:251
+#: git-submodule.sh:254
 #, sh-format
 msgid "Reactivating local git directory for submodule '$sm_name'."
 msgstr "Aktiverar lokal git-katalog för undermodulen \"$sm_name\" på nytt."
 
-#: git-submodule.sh:263
+#: git-submodule.sh:266
 #, sh-format
 msgid "Unable to checkout submodule '$sm_path'"
 msgstr "Kan inte checka ut undermodulen \"$sm_path\""
 
-#: git-submodule.sh:268
+#: git-submodule.sh:271
 #, sh-format
 msgid "Failed to add submodule '$sm_path'"
 msgstr "Misslyckades lägga till undermodulen \"$sm_path\""
 
-#: git-submodule.sh:277
+#: git-submodule.sh:280
 #, sh-format
 msgid "Failed to register submodule '$sm_path'"
 msgstr "Misslyckades registrera undermodulen \"$sm_path\""
 
-#: git-submodule.sh:324
+#: git-submodule.sh:327
 #, sh-format
 msgid "Entering '$displaypath'"
 msgstr "Går in i \"$displaypath\""
 
-#: git-submodule.sh:344
+#: git-submodule.sh:347
 #, sh-format
 msgid "Stopping at '$displaypath'; script returned non-zero status."
 msgstr ""
 "Stoppar på \"$displaypath\"; skriptet returnerade en status skild från noll."
 
-#: git-submodule.sh:415
+#: git-submodule.sh:418
 #, sh-format
 msgid "pathspec and --all are incompatible"
 msgstr "sökvägsangivelse och --all är inkompatibla"
 
-#: git-submodule.sh:420
+#: git-submodule.sh:423
 #, sh-format
 msgid "Use '--all' if you really want to deinitialize all submodules"
 msgstr "Använd \"--all\" om du verkligen vill avinitiera alla undermoduler"
 
-#: git-submodule.sh:440
+#: git-submodule.sh:443
 #, sh-format
 msgid ""
 "Submodule work tree '$displaypath' contains a .git directory\n"
@@ -13918,7 +14376,7 @@
 "Undermodulsarbetskatalogen \"$displaypath\" innehåller en .git-katalog\n"
 "(använd \"rm -rf\" om du verkligen vill ta bort den och all dess historik)"
 
-#: git-submodule.sh:448
+#: git-submodule.sh:451
 #, sh-format
 msgid ""
 "Submodule work tree '$displaypath' contains local modifications; use '-f' to "
@@ -13927,38 +14385,38 @@
 "Undermodulens arbetskatalog \"$displaypath\" har lokala ändringar; \"-f\" "
 "kastar bort dem"
 
-#: git-submodule.sh:451
+#: git-submodule.sh:454
 #, sh-format
 msgid "Cleared directory '$displaypath'"
 msgstr "Rensade katalogen \"$displaypath\""
 
-#: git-submodule.sh:452
+#: git-submodule.sh:455
 #, sh-format
 msgid "Could not remove submodule work tree '$displaypath'"
 msgstr "Kunde inte ta bort undermodulens arbetskatalog \"$displaypath\""
 
-#: git-submodule.sh:455
+#: git-submodule.sh:458
 #, sh-format
 msgid "Could not create empty submodule directory '$displaypath'"
 msgstr "Kunde inte skapa tom undermodulskatalog \"$displaypath\""
 
-#: git-submodule.sh:464
+#: git-submodule.sh:467
 #, sh-format
 msgid "Submodule '$name' ($url) unregistered for path '$displaypath'"
 msgstr ""
 "Undermodulen \"$name\" ($url) avregistrerad för sökvägen \"$displaypath\""
 
-#: git-submodule.sh:617
+#: git-submodule.sh:623
 #, sh-format
 msgid "Unable to find current revision in submodule path '$displaypath'"
 msgstr "Kan inte hitta aktuell revision i undermodulsökvägen \"$displaypath\""
 
-#: git-submodule.sh:627
+#: git-submodule.sh:633
 #, sh-format
 msgid "Unable to fetch in submodule path '$sm_path'"
 msgstr "Kan inte hämta i undermodulsökväg \"$sm_path\""
 
-#: git-submodule.sh:632
+#: git-submodule.sh:638
 #, sh-format
 msgid ""
 "Unable to find current ${remote_name}/${branch} revision in submodule path "
@@ -13967,12 +14425,12 @@
 "Kan inte hitta aktuell revision för ${remote_name}/${branch} i "
 "undermodulsökvägen \"$sm_path\""
 
-#: git-submodule.sh:650
+#: git-submodule.sh:656
 #, sh-format
 msgid "Unable to fetch in submodule path '$displaypath'"
 msgstr "Kan inte hämta i undermodulsökväg \"$displaypath\""
 
-#: git-submodule.sh:656
+#: git-submodule.sh:662
 #, sh-format
 msgid ""
 "Fetched in submodule path '$displaypath', but it did not contain $sha1. "
@@ -13981,84 +14439,84 @@
 "Hämtade i undermodulssökvägen \"$displaypath\", men den innehöll inte $sha1. "
 "Direkt hämtning av incheckningen misslyckades."
 
-#: git-submodule.sh:663
+#: git-submodule.sh:669
 #, sh-format
 msgid "Unable to checkout '$sha1' in submodule path '$displaypath'"
 msgstr "Kan inte checka ut \"$sha1\" i undermodulsökvägen \"$displaypath\""
 
-#: git-submodule.sh:664
+#: git-submodule.sh:670
 #, sh-format
 msgid "Submodule path '$displaypath': checked out '$sha1'"
 msgstr "Undermodulsökvägen \"$displaypath\": checkade ut \"$sha1\""
 
-#: git-submodule.sh:668
+#: git-submodule.sh:674
 #, sh-format
 msgid "Unable to rebase '$sha1' in submodule path '$displaypath'"
 msgstr "Kan inte ombasera \"$sha1\" i undermodulsökvägen \"$displaypath\""
 
-#: git-submodule.sh:669
+#: git-submodule.sh:675
 #, sh-format
 msgid "Submodule path '$displaypath': rebased into '$sha1'"
 msgstr "Undermodulsökvägen \"$displaypath\": ombaserade in i \"$sha1\""
 
-#: git-submodule.sh:674
+#: git-submodule.sh:680
 #, sh-format
 msgid "Unable to merge '$sha1' in submodule path '$displaypath'"
 msgstr "Kan inte slå ihop \"$sha1\" i undermodulsökvägen \"$displaypath\""
 
-#: git-submodule.sh:675
+#: git-submodule.sh:681
 #, sh-format
 msgid "Submodule path '$displaypath': merged in '$sha1'"
 msgstr "Undermodulsökvägen \"$displaypath\": sammanslagen i \"$sha1\""
 
-#: git-submodule.sh:680
+#: git-submodule.sh:686
 #, sh-format
 msgid "Execution of '$command $sha1' failed in submodule path '$displaypath'"
 msgstr ""
 "Misslyckades köra \"$command $sha1\" i undermodulsökvägen \"$displaypath\""
 
-#: git-submodule.sh:681
+#: git-submodule.sh:687
 #, sh-format
 msgid "Submodule path '$displaypath': '$command $sha1'"
 msgstr "Undermodulsökvägen \"$displaypath\": \"$command $sha1\""
 
-#: git-submodule.sh:712
+#: git-submodule.sh:718
 #, sh-format
 msgid "Failed to recurse into submodule path '$displaypath'"
 msgstr "Misslyckades rekursera in i undermodulsökvägen \"$displaypath\""
 
-#: git-submodule.sh:820
+#: git-submodule.sh:826
 msgid "The --cached option cannot be used with the --files option"
 msgstr "Flaggan --cached kan inte användas med flaggan --files"
 
-#: git-submodule.sh:872
+#: git-submodule.sh:878
 #, sh-format
 msgid "unexpected mode $mod_dst"
 msgstr "oväntat läge $mod_dst"
 
-#: git-submodule.sh:892
+#: git-submodule.sh:898
 #, sh-format
 msgid "  Warn: $display_name doesn't contain commit $sha1_src"
 msgstr "  Varning: $display_name innehåller inte incheckningen $sha1_src"
 
-#: git-submodule.sh:895
+#: git-submodule.sh:901
 #, sh-format
 msgid "  Warn: $display_name doesn't contain commit $sha1_dst"
 msgstr "  Varning: $display_name innehåller inte incheckningen $sha1_dst"
 
-#: git-submodule.sh:898
+#: git-submodule.sh:904
 #, sh-format
 msgid "  Warn: $display_name doesn't contain commits $sha1_src and $sha1_dst"
 msgstr ""
 "  Varning: $display_name innehåller inte incheckningarna $sha1_src och "
 "$sha1_dst"
 
-#: git-submodule.sh:1045
+#: git-submodule.sh:1051
 #, sh-format
 msgid "Failed to recurse into submodule path '$sm_path'"
 msgstr "Misslyckades rekursera in i undermodulsökvägen \"$sm_path\""
 
-#: git-submodule.sh:1112
+#: git-submodule.sh:1118
 #, sh-format
 msgid "Synchronizing submodule url for '$displaypath'"
 msgstr "Synkroniserar undermodul-url för \"$displaypath\""
@@ -14068,12 +14526,12 @@
 msgid "See git-${cmd}(1) for details."
 msgstr "Se git-${cmd}(1) för detaljer."
 
-#: git-rebase--interactive.sh:131
+#: git-rebase--interactive.sh:140
 #, sh-format
 msgid "Rebasing ($new_count/$total)"
 msgstr "Ombaserar ($new_count/$total)"
 
-#: git-rebase--interactive.sh:147
+#: git-rebase--interactive.sh:156
 msgid ""
 "\n"
 "Commands:\n"
@@ -14099,7 +14557,7 @@
 "\n"
 "Du kan byta ordning på raderna, de utförs uppifrån och ned.\n"
 
-#: git-rebase--interactive.sh:162
+#: git-rebase--interactive.sh:171
 msgid ""
 "\n"
 "Do not remove any line. Use 'drop' explicitly to remove a commit.\n"
@@ -14108,7 +14566,7 @@
 "Ta inte bort rader. Använd \"drop\" för att specifikt förkasta en "
 "incheckning.\n"
 
-#: git-rebase--interactive.sh:166
+#: git-rebase--interactive.sh:175
 msgid ""
 "\n"
 "If you remove a line here THAT COMMIT WILL BE LOST.\n"
@@ -14116,7 +14574,7 @@
 "\n"
 "Om du tar bort en rad KOMMER DEN INCHECKNINGEN ATT FÖRLORAS.\n"
 
-#: git-rebase--interactive.sh:202
+#: git-rebase--interactive.sh:211
 #, sh-format
 msgid ""
 "You can amend the commit now, with\n"
@@ -14135,87 +14593,83 @@
 "\n"
 "\tgit rebase --continue"
 
-#: git-rebase--interactive.sh:227
+#: git-rebase--interactive.sh:236
 #, sh-format
 msgid "$sha1: not a commit that can be picked"
 msgstr "$sha1: inte en incheckning som kan väljas"
 
-#: git-rebase--interactive.sh:266
+#: git-rebase--interactive.sh:275
 #, sh-format
 msgid "Invalid commit name: $sha1"
 msgstr "Felaktigt incheckningsnamn: $sha1"
 
-#: git-rebase--interactive.sh:308
+#: git-rebase--interactive.sh:317
 msgid "Cannot write current commit's replacement sha1"
 msgstr "Kan inte skriva ersättnings-sha1 för aktuell incheckning"
 
-#: git-rebase--interactive.sh:360
+#: git-rebase--interactive.sh:369
 #, sh-format
 msgid "Fast-forward to $sha1"
 msgstr "Snabbspolade till $sha1"
 
-#: git-rebase--interactive.sh:362
+#: git-rebase--interactive.sh:371
 #, sh-format
 msgid "Cannot fast-forward to $sha1"
 msgstr "Kan inte snabbspola till $sha1"
 
-#: git-rebase--interactive.sh:371
+#: git-rebase--interactive.sh:380
 #, sh-format
 msgid "Cannot move HEAD to $first_parent"
 msgstr "Kan inte flytta HEAD till $first_parent"
 
-#: git-rebase--interactive.sh:376
+#: git-rebase--interactive.sh:385
 #, sh-format
 msgid "Refusing to squash a merge: $sha1"
 msgstr "Vägrar utföra \"squash\" på en sammanslagning: $sha1"
 
-#: git-rebase--interactive.sh:390
+#: git-rebase--interactive.sh:399
 #, sh-format
 msgid "Error redoing merge $sha1"
 msgstr "Fel när sammanslagningen $sha1 skulle göras om"
 
-#: git-rebase--interactive.sh:398
+#: git-rebase--interactive.sh:407
 #, sh-format
 msgid "Could not pick $sha1"
 msgstr "Kunde inte välja $sha1"
 
-#: git-rebase--interactive.sh:407
+#: git-rebase--interactive.sh:416
 #, sh-format
 msgid "This is the commit message #${n}:"
 msgstr "Det här är incheckningsmeddelande ${n}:"
 
-#: git-rebase--interactive.sh:412
+#: git-rebase--interactive.sh:421
 #, sh-format
 msgid "The commit message #${n} will be skipped:"
 msgstr "Incheckningsmeddelande ${n} kommer hoppas över:"
 
-#: git-rebase--interactive.sh:423
+#: git-rebase--interactive.sh:432
 #, sh-format
 msgid "This is a combination of $count commit."
 msgid_plural "This is a combination of $count commits."
 msgstr[0] "Det här är en kombination av $count incheckning."
 msgstr[1] "Det här är en kombination av $count incheckningar."
 
-#: git-rebase--interactive.sh:431
+#: git-rebase--interactive.sh:441
 #, sh-format
 msgid "Cannot write $fixup_msg"
 msgstr "Kan inte skriva $fixup_msg"
 
-#: git-rebase--interactive.sh:434
+#: git-rebase--interactive.sh:444
 msgid "This is a combination of 2 commits."
 msgstr "Det här är en kombination av 2 incheckningar."
 
-#: git-rebase--interactive.sh:435
-msgid "This is the 1st commit message:"
-msgstr "Det här är 1:a incheckningsmeddelandet:"
-
-#: git-rebase--interactive.sh:475 git-rebase--interactive.sh:518
-#: git-rebase--interactive.sh:521
+#: git-rebase--interactive.sh:485 git-rebase--interactive.sh:528
+#: git-rebase--interactive.sh:531
 #, sh-format
 msgid "Could not apply $sha1... $rest"
 msgstr "kunde inte tillämpa $sha1... $rest"
 
-#: git-rebase--interactive.sh:549
+#: git-rebase--interactive.sh:559
 #, sh-format
 msgid ""
 "Could not amend commit after successfully picking $sha1... $rest\n"
@@ -14229,31 +14683,31 @@
 "pre-commit-kroken misslyckades. Om pre-commit-kroken misslyckades kanske\n"
 "du måste lösa problemet innan du kan skriva om incheckningsmeddelandet."
 
-#: git-rebase--interactive.sh:564
+#: git-rebase--interactive.sh:574
 #, sh-format
 msgid "Stopped at $sha1_abbrev... $rest"
 msgstr "Stoppade på $sha1_abbrev... $rest"
 
-#: git-rebase--interactive.sh:579
+#: git-rebase--interactive.sh:589
 #, sh-format
 msgid "Cannot '$squash_style' without a previous commit"
 msgstr "Kan inte utföra \"$squash_style\" utan en föregående incheckning"
 
-#: git-rebase--interactive.sh:621
+#: git-rebase--interactive.sh:631
 #, sh-format
 msgid "Executing: $rest"
 msgstr "Kör: $rest"
 
-#: git-rebase--interactive.sh:629
+#: git-rebase--interactive.sh:639
 #, sh-format
 msgid "Execution failed: $rest"
 msgstr "Körning misslyckades: $rest"
 
-#: git-rebase--interactive.sh:631
+#: git-rebase--interactive.sh:641
 msgid "and made changes to the index and/or the working tree"
 msgstr "och gjorde ändringar till indexet och/eller arbetskatalogen"
 
-#: git-rebase--interactive.sh:633
+#: git-rebase--interactive.sh:643
 msgid ""
 "You can fix the problem, and then run\n"
 "\n"
@@ -14264,7 +14718,7 @@
 "\tgit rebase --continue\""
 
 #. TRANSLATORS: after these lines is a command to be issued by the user
-#: git-rebase--interactive.sh:646
+#: git-rebase--interactive.sh:656
 #, sh-format
 msgid ""
 "Execution succeeded: $rest\n"
@@ -14279,25 +14733,25 @@
 "\n"
 "\tgit rebase --continue"
 
-#: git-rebase--interactive.sh:657
+#: git-rebase--interactive.sh:667
 #, sh-format
 msgid "Unknown command: $command $sha1 $rest"
 msgstr "Okänt kommando: $command $sha1 $rest"
 
-#: git-rebase--interactive.sh:658
+#: git-rebase--interactive.sh:668
 msgid "Please fix this using 'git rebase --edit-todo'."
 msgstr "Rätta det med \"git rebase --edit-todo\"."
 
-#: git-rebase--interactive.sh:693
+#: git-rebase--interactive.sh:703
 #, sh-format
 msgid "Successfully rebased and updated $head_name."
 msgstr "Lyckades ombasera och uppdatera $head_name."
 
-#: git-rebase--interactive.sh:740
+#: git-rebase--interactive.sh:750
 msgid "Could not skip unnecessary pick commands"
 msgstr "Kunde inte hoppa över onödiga \"pick\"-kommandon"
 
-#: git-rebase--interactive.sh:898
+#: git-rebase--interactive.sh:908
 #, sh-format
 msgid ""
 "Warning: the SHA-1 is missing or isn't a commit in the following line:\n"
@@ -14306,7 +14760,7 @@
 "Varning: SHA-1 saknas eller inte en incheckning på följande rad:\n"
 " - $line"
 
-#: git-rebase--interactive.sh:931
+#: git-rebase--interactive.sh:941
 #, sh-format
 msgid ""
 "Warning: the command isn't recognized in the following line:\n"
@@ -14315,11 +14769,11 @@
 "Varning: kommandot kändes inte igen på följande rad:\n"
 " - $line"
 
-#: git-rebase--interactive.sh:970
+#: git-rebase--interactive.sh:980
 msgid "could not detach HEAD"
 msgstr "kunde inte koppla från HEAD"
 
-#: git-rebase--interactive.sh:1008
+#: git-rebase--interactive.sh:1018
 msgid ""
 "Warning: some commits may have been dropped accidentally.\n"
 "Dropped commits (newer to older):"
@@ -14327,7 +14781,7 @@
 "Varning: vissa incheckningar kan av misstag ha tappats.\n"
 "Tappade incheckningar (nyaste först):"
 
-#: git-rebase--interactive.sh:1016
+#: git-rebase--interactive.sh:1026
 msgid ""
 "To avoid this message, use \"drop\" to explicitly remove a commit.\n"
 "\n"
@@ -14344,7 +14798,7 @@
 "Möjliga bettenden är: \"ignore\" (ignorera), \"warn\" (varna), \"error"
 "\" (fel)."
 
-#: git-rebase--interactive.sh:1027
+#: git-rebase--interactive.sh:1037
 #, sh-format
 msgid ""
 "Unrecognized setting $check_level for option rebase.missingCommitsCheck. "
@@ -14352,7 +14806,7 @@
 msgstr ""
 "Okänt val $check_level för flaggan rebase.missingCommitsCheck. Ignorerar."
 
-#: git-rebase--interactive.sh:1044
+#: git-rebase--interactive.sh:1054
 msgid ""
 "You can fix this with 'git rebase --edit-todo' and then run 'git rebase --"
 "continue'."
@@ -14360,15 +14814,15 @@
 "Du kan rätta detta med \"git rebase --edit-todo\" följt av \"git rebase --"
 "continue\"."
 
-#: git-rebase--interactive.sh:1045
+#: git-rebase--interactive.sh:1055
 msgid "Or you can abort the rebase with 'git rebase --abort'."
 msgstr "Eller så kan du avbryta ombaseringen med \"git rebase --abort\"."
 
-#: git-rebase--interactive.sh:1069
+#: git-rebase--interactive.sh:1079
 msgid "Could not remove CHERRY_PICK_HEAD"
 msgstr "Kunde inte ta bort CHERRY_PICK_HEAD"
 
-#: git-rebase--interactive.sh:1074
+#: git-rebase--interactive.sh:1084
 #, sh-format
 msgid ""
 "You have staged changes in your working tree.\n"
@@ -14399,11 +14853,11 @@
 "\n"
 "  git rebase --continue\n"
 
-#: git-rebase--interactive.sh:1091
+#: git-rebase--interactive.sh:1101
 msgid "Error trying to find the author identity to amend commit"
 msgstr "Fel vid försök att hitta författaridentitet för att utöka incheckning"
 
-#: git-rebase--interactive.sh:1096
+#: git-rebase--interactive.sh:1106
 msgid ""
 "You have uncommitted changes in your working tree. Please commit them\n"
 "first and then run 'git rebase --continue' again."
@@ -14411,11 +14865,11 @@
 "Du har ändringar i arbetskatalogen som inte checkats in. Checka in dem\n"
 "först och kör sedan \"git rebase --continute\" igen."
 
-#: git-rebase--interactive.sh:1101 git-rebase--interactive.sh:1105
+#: git-rebase--interactive.sh:1111 git-rebase--interactive.sh:1115
 msgid "Could not commit staged changes."
 msgstr "Kunde inte checka in köade ändringar."
 
-#: git-rebase--interactive.sh:1129
+#: git-rebase--interactive.sh:1139
 msgid ""
 "\n"
 "You are editing the todo file of an ongoing interactive rebase.\n"
@@ -14429,40 +14883,40 @@
 "    git rebase --continue\n"
 "\n"
 
-#: git-rebase--interactive.sh:1137 git-rebase--interactive.sh:1295
+#: git-rebase--interactive.sh:1147 git-rebase--interactive.sh:1305
 msgid "Could not execute editor"
 msgstr "Kunde inte starta textredigerare"
 
-#: git-rebase--interactive.sh:1150
+#: git-rebase--interactive.sh:1160
 #, sh-format
 msgid "Could not checkout $switch_to"
 msgstr "Kunde inte checka ut $switch_to"
 
-#: git-rebase--interactive.sh:1155
+#: git-rebase--interactive.sh:1165
 msgid "No HEAD?"
 msgstr "Inget HEAD?"
 
-#: git-rebase--interactive.sh:1156
+#: git-rebase--interactive.sh:1166
 #, sh-format
 msgid "Could not create temporary $state_dir"
 msgstr "Kunde inte skapa temporär $state_dir"
 
-#: git-rebase--interactive.sh:1158
+#: git-rebase--interactive.sh:1168
 msgid "Could not mark as interactive"
 msgstr "Kunde inte markera som interaktiv"
 
-#: git-rebase--interactive.sh:1168 git-rebase--interactive.sh:1173
+#: git-rebase--interactive.sh:1178 git-rebase--interactive.sh:1183
 msgid "Could not init rewritten commits"
 msgstr "Kunde inte initiera omskrivna incheckningar"
 
-#: git-rebase--interactive.sh:1273
+#: git-rebase--interactive.sh:1283
 #, sh-format
 msgid "Rebase $shortrevisions onto $shortonto ($todocount command)"
 msgid_plural "Rebase $shortrevisions onto $shortonto ($todocount commands)"
 msgstr[0] "Ombasera $shortrevisions på $shortonto ($todocount incheckning)"
 msgstr[1] "Ombasera $shortrevisions på $shortonto ($todocount incheckningar)"
 
-#: git-rebase--interactive.sh:1278
+#: git-rebase--interactive.sh:1288
 msgid ""
 "\n"
 "However, if you remove everything, the rebase will be aborted.\n"
@@ -14472,7 +14926,7 @@
 "Ombaseringen kommer dock att avbrytas om du tar bort allting.\n"
 "\n"
 
-#: git-rebase--interactive.sh:1285
+#: git-rebase--interactive.sh:1295
 msgid "Note that empty commits are commented out"
 msgstr "Observera att tomma incheckningar är utkommenterade"
 
@@ -14536,6 +14990,908 @@
 msgid "Unable to determine absolute path of git directory"
 msgstr "Kunde inte bestämma absolut sökväg till git-katalogen"
 
+#. TRANSLATORS: you can adjust this to align "git add -i" status menu
+#: git-add--interactive.perl:238
+#, perl-format
+msgid "%12s %12s %s"
+msgstr "%12s %12s %s"
+
+#: git-add--interactive.perl:239
+msgid "staged"
+msgstr "köad"
+
+#: git-add--interactive.perl:239
+msgid "unstaged"
+msgstr "ej köad"
+
+#: git-add--interactive.perl:297 git-add--interactive.perl:322
+msgid "binary"
+msgstr "binär"
+
+#: git-add--interactive.perl:306 git-add--interactive.perl:360
+msgid "nothing"
+msgstr "ingenting"
+
+#: git-add--interactive.perl:342 git-add--interactive.perl:357
+msgid "unchanged"
+msgstr "oändrad"
+
+#: git-add--interactive.perl:653
+#, perl-format
+msgid "added %d path\n"
+msgid_plural "added %d paths\n"
+msgstr[0] "lade till %d sökväg\n"
+msgstr[1] "lade till %d sökvägar\n"
+
+#: git-add--interactive.perl:656
+#, perl-format
+msgid "updated %d path\n"
+msgid_plural "updated %d paths\n"
+msgstr[0] "uppdaterade %d sökväg\n"
+msgstr[1] "uppdaterade %d sökvägar\n"
+
+#: git-add--interactive.perl:659
+#, perl-format
+msgid "reverted %d path\n"
+msgid_plural "reverted %d paths\n"
+msgstr[0] "återställde %d sökväg\n"
+msgstr[1] "återställde %d sökvägar\n"
+
+#: git-add--interactive.perl:662
+#, perl-format
+msgid "touched %d path\n"
+msgid_plural "touched %d paths\n"
+msgstr[0] "rörde %d sökväg\n"
+msgstr[1] "rörde %d sökvägar\n"
+
+#: git-add--interactive.perl:671
+msgid "Update"
+msgstr "Uppdatera"
+
+#: git-add--interactive.perl:683
+msgid "Revert"
+msgstr "Återställ"
+
+#: git-add--interactive.perl:706
+#, perl-format
+msgid "note: %s is untracked now.\n"
+msgstr "observera: %s spåras inte längre.\n"
+
+#: git-add--interactive.perl:717
+msgid "Add untracked"
+msgstr "Lägg till ospårad"
+
+#: git-add--interactive.perl:723
+msgid "No untracked files.\n"
+msgstr "Inga ospårade filer.\n"
+
+#: git-add--interactive.perl:1039
+msgid ""
+"If the patch applies cleanly, the edited hunk will immediately be\n"
+"marked for staging."
+msgstr ""
+"Om patchen kan appliceras rent kommer det redigerade stycket att\n"
+"köas omedelbart."
+
+#: git-add--interactive.perl:1042
+msgid ""
+"If the patch applies cleanly, the edited hunk will immediately be\n"
+"marked for stashing."
+msgstr ""
+"Om patchen kan appliceras rent kommer det redigerade stycket att\n"
+"läggas till i \"stash\" omedelbart."
+
+#: git-add--interactive.perl:1045
+msgid ""
+"If the patch applies cleanly, the edited hunk will immediately be\n"
+"marked for unstaging."
+msgstr ""
+"Om patchen kan appliceras rent kommer det redigerade stycket att\n"
+"tas bort från kön omedelbart."
+
+#: git-add--interactive.perl:1048 git-add--interactive.perl:1057
+msgid ""
+"If the patch applies cleanly, the edited hunk will immediately be\n"
+"marked for applying."
+msgstr ""
+"Om patchen kan appliceras rent kommer det redigerade stycket att\n"
+"markeras för applicering omedelbart."
+
+#: git-add--interactive.perl:1051
+msgid ""
+"If the patch applies cleanly, the edited hunk will immediately be\n"
+"marked for discarding"
+msgstr ""
+"Om patchen kan appliceras rent kommer det redigerade stycket att\n"
+"markeras för kasta omedelbart"
+
+#: git-add--interactive.perl:1054
+msgid ""
+"If the patch applies cleanly, the edited hunk will immediately be\n"
+"marked for discarding."
+msgstr ""
+"Om patchen kan appliceras rent kommer det redigerade stycket att\n"
+"markeras för kasta omedelbart."
+
+#: git-add--interactive.perl:1067
+#, perl-format
+msgid "failed to open hunk edit file for writing: %s"
+msgstr "misslyckades öppna styckeredigeringsfil för skrivning: %s"
+
+#: git-add--interactive.perl:1068
+msgid "Manual hunk edit mode -- see bottom for a quick guide.\n"
+msgstr "Manuellt styckeredigeringsläge -- se nederst för snabbguide.\n"
+
+#: git-add--interactive.perl:1074
+#, perl-format
+msgid ""
+"---\n"
+"To remove '%s' lines, make them ' ' lines (context).\n"
+"To remove '%s' lines, delete them.\n"
+"Lines starting with %s will be removed.\n"
+msgstr ""
+"---\n"
+"Ta bort \"%s\" rader genom att göra dem \" \"-rader (sammanhang).\n"
+"Ta bort \"%s\" rader genom att radera dem.\n"
+"Rader som börjar med %s kommer att tas bort.\n"
+
+#. TRANSLATORS: 'it' refers to the patch mentioned in the previous messages.
+#: git-add--interactive.perl:1082
+msgid ""
+"If it does not apply cleanly, you will be given an opportunity to\n"
+"edit again.  If all lines of the hunk are removed, then the edit is\n"
+"aborted and the hunk is left unchanged.\n"
+msgstr ""
+"Om patchen inte kan appliceras rent kommer du få en möjlighet att\n"
+"redigera den igen. Om alla rader i ett stycke tas bort avbryts\n"
+"redigeringen och stycket lämnas oförändrat.\n"
+
+#: git-add--interactive.perl:1096
+#, perl-format
+msgid "failed to open hunk edit file for reading: %s"
+msgstr "misslyckades öppna styckesredigeringsfil för läsning: %s"
+
+#. TRANSLATORS: do not translate [y/n]
+#. The program will only accept that input
+#. at this point.
+#. Consider translating (saying "no" discards!) as
+#. (saying "n" for "no" discards!) if the translation
+#. of the word "no" does not start with n.
+#: git-add--interactive.perl:1187
+msgid ""
+"Your edited hunk does not apply. Edit again (saying \"no\" discards!) [y/n]? "
+msgstr ""
+"Ditt redigerade stycke kan inte appliceras. Redigera igen (\"nej\" kastar!) "
+"[y/n]?"
+
+#: git-add--interactive.perl:1196
+msgid ""
+"y - stage this hunk\n"
+"n - do not stage this hunk\n"
+"q - quit; do not stage this hunk or any of the remaining ones\n"
+"a - stage this hunk and all later hunks in the file\n"
+"d - do not stage this hunk or any of the later hunks in the file"
+msgstr ""
+"y - köa stycket\n"
+"n - köa inte stycket\n"
+"q - avsluta; köa inte stycket eller något av de följande\n"
+"a - köa stycket och alla följande i filen\n"
+"d - köa inte stycket eller något av de följande i filen"
+
+#: git-add--interactive.perl:1202
+msgid ""
+"y - stash this hunk\n"
+"n - do not stash this hunk\n"
+"q - quit; do not stash this hunk or any of the remaining ones\n"
+"a - stash this hunk and all later hunks in the file\n"
+"d - do not stash this hunk or any of the later hunks in the file"
+msgstr ""
+"y - \"stash\":a stycket\n"
+"n - \"stash\":a inte stycket\n"
+"q - avsluta; \"stash\":a inte stycket eller något av de följande\n"
+"a - \"stash\":a stycket och alla följande i filen\n"
+"d - \"stash\":a inte stycket eller något av de följande i filen"
+
+#: git-add--interactive.perl:1208
+msgid ""
+"y - unstage this hunk\n"
+"n - do not unstage this hunk\n"
+"q - quit; do not unstage this hunk or any of the remaining ones\n"
+"a - unstage this hunk and all later hunks in the file\n"
+"d - do not unstage this hunk or any of the later hunks in the file"
+msgstr ""
+"y - ta bort stycket från kön\n"
+"n - ta inte bort stycket från kön\n"
+"q - avsluta; ta inte bort stycket eller något av de följande från kön\n"
+"a - ta bort stycket och alla följande i filen från kön\n"
+"d - ta inte bort stycket eller något av de följande i filen från kön"
+
+#: git-add--interactive.perl:1214
+msgid ""
+"y - apply this hunk to index\n"
+"n - do not apply this hunk to index\n"
+"q - quit; do not apply this hunk or any of the remaining ones\n"
+"a - apply this hunk and all later hunks in the file\n"
+"d - do not apply this hunk or any of the later hunks in the file"
+msgstr ""
+"y - applicera stycket på indexet\n"
+"n - applicera inte stycket på indexet\n"
+"q - avsluta; applicera inte stycket eller något av de följande\n"
+"a - applicera stycket och alla följande i filen\n"
+"d - applicera inte stycket eller något av de följande i filen"
+
+#: git-add--interactive.perl:1220
+msgid ""
+"y - discard this hunk from worktree\n"
+"n - do not discard this hunk from worktree\n"
+"q - quit; do not discard this hunk or any of the remaining ones\n"
+"a - discard this hunk and all later hunks in the file\n"
+"d - do not discard this hunk or any of the later hunks in the file"
+msgstr ""
+"y - förkasta stycket från arbetskatalogen\n"
+"n - förkasta inte stycket från arbetskatalogen\n"
+"q - avsluta; förkasta inte stycket eller något av de följande\n"
+"a - förkasta stycket och alla följande i filen\n"
+"d - förkasta inte stycket eller något av de följande i filen"
+
+#: git-add--interactive.perl:1226
+msgid ""
+"y - discard this hunk from index and worktree\n"
+"n - do not discard this hunk from index and worktree\n"
+"q - quit; do not discard this hunk or any of the remaining ones\n"
+"a - discard this hunk and all later hunks in the file\n"
+"d - do not discard this hunk or any of the later hunks in the file"
+msgstr ""
+"y - förkasta stycket från indexet och arbetskatalogen\n"
+"n - förkasta inte stycket från indexet och arbetskatalogen\n"
+"q - avsluta; förkasta inte stycket eller något av de följande\n"
+"a - förkasta stycket och alla följande i filen\n"
+"d - förkasta inte stycket eller något av de följande i filen"
+
+#: git-add--interactive.perl:1232
+msgid ""
+"y - apply this hunk to index and worktree\n"
+"n - do not apply this hunk to index and worktree\n"
+"q - quit; do not apply this hunk or any of the remaining ones\n"
+"a - apply this hunk and all later hunks in the file\n"
+"d - do not apply this hunk or any of the later hunks in the file"
+msgstr ""
+"y - applicera stycket på indexet och arbetskatalogen\n"
+"n - applicera inte stycket på indexet och arbetskatalogen\n"
+"q - avsluta; applicera inte stycket eller något av de följande\n"
+"a - applicera stycket och alla följande i filen\n"
+"d - applicera inte stycket eller något av de följande i filen"
+
+#: git-add--interactive.perl:1241
+msgid ""
+"g - select a hunk to go to\n"
+"/ - search for a hunk matching the given regex\n"
+"j - leave this hunk undecided, see next undecided hunk\n"
+"J - leave this hunk undecided, see next hunk\n"
+"k - leave this hunk undecided, see previous undecided hunk\n"
+"K - leave this hunk undecided, see previous hunk\n"
+"s - split the current hunk into smaller hunks\n"
+"e - manually edit the current hunk\n"
+"? - print help\n"
+msgstr ""
+"g - välj ett stycke att gå till\n"
+"/ - sök efter stycke som motsvarar angivet reguljärt uttryck\n"
+"j - lämna stycket obestämt, se nästa obestämda stycke\n"
+"J - lämna stycket obestämt, se nästa stycke\n"
+"k - lämna stycket obestämt, se föregående obestämda stycke\n"
+"K - lämna stycket obestämt, se föregående stycke\n"
+"s - dela aktuellt stycke i mindre styckens\n"
+"e - redigera aktuellt stycke manuellt\n"
+"? - visa hjälp\n"
+
+#: git-add--interactive.perl:1272
+msgid "The selected hunks do not apply to the index!\n"
+msgstr "Markerade stycken kan inte appliceras på indexet!\n"
+
+#: git-add--interactive.perl:1273
+msgid "Apply them to the worktree anyway? "
+msgstr "Applicera dem på arbetskatalogen trots det? "
+
+#: git-add--interactive.perl:1276
+msgid "Nothing was applied.\n"
+msgstr "Ingenting applicerades.\n"
+
+#: git-add--interactive.perl:1287
+#, perl-format
+msgid "ignoring unmerged: %s\n"
+msgstr "ignorerar ej sammanslagen: %s\n"
+
+#: git-add--interactive.perl:1296
+msgid "Only binary files changed.\n"
+msgstr "Endast binära filer ändrade.\n"
+
+#: git-add--interactive.perl:1298
+msgid "No changes.\n"
+msgstr "Inga ändringar.\n"
+
+#: git-add--interactive.perl:1306
+msgid "Patch update"
+msgstr "Uppdatera patch"
+
+#: git-add--interactive.perl:1358
+#, perl-format
+msgid "Stage mode change [y,n,q,a,d,/%s,?]? "
+msgstr "Köa ändrat läge [y,n,q,a,d,/%s,?]?"
+
+#: git-add--interactive.perl:1359
+#, perl-format
+msgid "Stage deletion [y,n,q,a,d,/%s,?]? "
+msgstr "Köa borttagning [y,n,q,a,d,/%s,?]?"
+
+#: git-add--interactive.perl:1360
+#, perl-format
+msgid "Stage this hunk [y,n,q,a,d,/%s,?]? "
+msgstr "Köa stycket [y,n,q,a,d,/%s,?]?"
+
+#: git-add--interactive.perl:1363
+#, perl-format
+msgid "Stash mode change [y,n,q,a,d,/%s,?]? "
+msgstr "Stash:a ändrat läge [y,n,q,a,d,/%s,?]?"
+
+#: git-add--interactive.perl:1364
+#, perl-format
+msgid "Stash deletion [y,n,q,a,d,/%s,?]? "
+msgstr "Stash:a borttagning [y,n,q,a,d,/%s,?]?"
+
+#: git-add--interactive.perl:1365
+#, perl-format
+msgid "Stash this hunk [y,n,q,a,d,/%s,?]? "
+msgstr "Stash:a stycket [y,n,q,a,d,/%s,?]?"
+
+#: git-add--interactive.perl:1368
+#, perl-format
+msgid "Unstage mode change [y,n,q,a,d,/%s,?]? "
+msgstr "Ta bort ändrat läge från kön [y,n,q,a,d,/%s,?]?"
+
+#: git-add--interactive.perl:1369
+#, perl-format
+msgid "Unstage deletion [y,n,q,a,d,/%s,?]? "
+msgstr "Ta bort borttagning från kön [y,n,q,a,d,/%s,?]?"
+
+#: git-add--interactive.perl:1370
+#, perl-format
+msgid "Unstage this hunk [y,n,q,a,d,/%s,?]? "
+msgstr "Ta bort stycket från kön [y,n,q,a,d,/%s,?]?"
+
+#: git-add--interactive.perl:1373
+#, perl-format
+msgid "Apply mode change to index [y,n,q,a,d,/%s,?]? "
+msgstr "Applicera ändrat läge på indexet [y,n,q,a,d,/%s,?]?"
+
+#: git-add--interactive.perl:1374
+#, perl-format
+msgid "Apply deletion to index [y,n,q,a,d,/%s,?]? "
+msgstr "Applicera borttagning på indexet [y,n,q,a,d,/%s,?]?"
+
+#: git-add--interactive.perl:1375
+#, perl-format
+msgid "Apply this hunk to index [y,n,q,a,d,/%s,?]? "
+msgstr "Applicera stycket på indexet [y,n,q,a,d,/%s,?]?"
+
+#: git-add--interactive.perl:1378
+#, perl-format
+msgid "Discard mode change from worktree [y,n,q,a,d,/%s,?]? "
+msgstr "Kasta ändrat läge från arbetskatalogen [y,n,q,a,d,/%s,?]?"
+
+#: git-add--interactive.perl:1379
+#, perl-format
+msgid "Discard deletion from worktree [y,n,q,a,d,/%s,?]? "
+msgstr "Kasta borttagning från arbetskatalogen [y,n,q,a,d,/%s,?]?"
+
+#: git-add--interactive.perl:1380
+#, perl-format
+msgid "Discard this hunk from worktree [y,n,q,a,d,/%s,?]? "
+msgstr "Kasta stycket från arbetskatalogen [y,n,q,a,d,/%s,?]?"
+
+#: git-add--interactive.perl:1383
+#, perl-format
+msgid "Discard mode change from index and worktree [y,n,q,a,d,/%s,?]? "
+msgstr "Kasta ändrat läge från indexet och arbetskatalogen [y,n,q,a,d,/%s,?]?"
+
+#: git-add--interactive.perl:1384
+#, perl-format
+msgid "Discard deletion from index and worktree [y,n,q,a,d,/%s,?]? "
+msgstr "Kasta borttagning från indexet och arbetskatalogen [y,n,q,a,d,/%s,?]?"
+
+#: git-add--interactive.perl:1385
+#, perl-format
+msgid "Discard this hunk from index and worktree [y,n,q,a,d,/%s,?]? "
+msgstr "Kasta stycket från indexet och arbetskatalogen [y,n,q,a,d,/%s,?]?"
+
+#: git-add--interactive.perl:1388
+#, perl-format
+msgid "Apply mode change to index and worktree [y,n,q,a,d,/%s,?]? "
+msgstr ""
+"Applicera ändrat läge på indexet och arbetskatalogen [y,n,q,a,d,/%s,?]?"
+
+#: git-add--interactive.perl:1389
+#, perl-format
+msgid "Apply deletion to index and worktree [y,n,q,a,d,/%s,?]? "
+msgstr ""
+"Applicera borttagning på indexet och arbetskatalogen [y,n,q,a,d,/%s,?]?"
+
+#: git-add--interactive.perl:1390
+#, perl-format
+msgid "Apply this hunk to index and worktree [y,n,q,a,d,/%s,?]? "
+msgstr "Applicera stycket på indexet och arbetskatalogen [y,n,q,a,d,/%s,?]?"
+
+#: git-add--interactive.perl:1493
+msgid "go to which hunk (<ret> to see more)? "
+msgstr "gå till vilket stycke (<ret> för att se fler)?"
+
+#: git-add--interactive.perl:1495
+msgid "go to which hunk? "
+msgstr "gå till vilket stycke?"
+
+#: git-add--interactive.perl:1504
+#, perl-format
+msgid "Invalid number: '%s'\n"
+msgstr "Ogiltigt siffervärde: \"%s\"\n"
+
+#: git-add--interactive.perl:1509
+#, perl-format
+msgid "Sorry, only %d hunk available.\n"
+msgid_plural "Sorry, only %d hunks available.\n"
+msgstr[0] "Beklagar, det finns bara %d stycke.\n"
+msgstr[1] "Beklagar, det finns bara %d stycken.\n"
+
+#: git-add--interactive.perl:1535
+msgid "search for regex? "
+msgstr "sök efter reguljärt uttryck? "
+
+#: git-add--interactive.perl:1548
+#, perl-format
+msgid "Malformed search regexp %s: %s\n"
+msgstr "Felaktigt format på reguljärt sökuttryck %s: %s\n"
+
+#: git-add--interactive.perl:1558
+msgid "No hunk matches the given pattern\n"
+msgstr "Inga stycken motsvarar givet mönster\n"
+
+#: git-add--interactive.perl:1570 git-add--interactive.perl:1592
+msgid "No previous hunk\n"
+msgstr "Inget föregående stycke\n"
+
+#: git-add--interactive.perl:1579 git-add--interactive.perl:1598
+msgid "No next hunk\n"
+msgstr "Inget följande stycke\n"
+
+#: git-add--interactive.perl:1606
+#, perl-format
+msgid "Split into %d hunk.\n"
+msgid_plural "Split into %d hunks.\n"
+msgstr[0] "Dela i %d stycke.\n"
+msgstr[1] "Dela i %d stycken.\n"
+
+#: git-add--interactive.perl:1658
+msgid "Review diff"
+msgstr "Granska diff"
+
+#. TRANSLATORS: please do not translate the command names
+#. 'status', 'update', 'revert', etc.
+#: git-add--interactive.perl:1677
+msgid ""
+"status        - show paths with changes\n"
+"update        - add working tree state to the staged set of changes\n"
+"revert        - revert staged set of changes back to the HEAD version\n"
+"patch         - pick hunks and update selectively\n"
+"diff\t      - view diff between HEAD and index\n"
+"add untracked - add contents of untracked files to the staged set of "
+"changes\n"
+msgstr ""
+"status        - visa sökvägar med ändringar\n"
+"update        - lägg arbetskatalogens tillstånd till köade ändringar\n"
+"revert        - återställ köade ändringar till HEAD-versionen\n"
+"patch         - välj och uppdatera valda stycken\n"
+"diff\t      - visa diff mellan HEAD och index\n"
+"add untracked - lägg till innehåll i ospårade filer till köade ändringar\n"
+
+#: git-add--interactive.perl:1694 git-add--interactive.perl:1699
+#: git-add--interactive.perl:1702 git-add--interactive.perl:1709
+#: git-add--interactive.perl:1713 git-add--interactive.perl:1719
+msgid "missing --"
+msgstr "saknad --"
+
+#: git-add--interactive.perl:1715
+#, perl-format
+msgid "unknown --patch mode: %s"
+msgstr "okänt läge för --patch: %s"
+
+#: git-add--interactive.perl:1721 git-add--interactive.perl:1727
+#, perl-format
+msgid "invalid argument %s, expecting --"
+msgstr "felaktigt argument %s, förväntar --"
+
+#: git-send-email.perl:121
+msgid "local zone differs from GMT by a non-minute interval\n"
+msgstr "lokal zon skiljer sig från GMT med delar av minuter\n"
+
+#: git-send-email.perl:128 git-send-email.perl:134
+msgid "local time offset greater than or equal to 24 hours\n"
+msgstr "lokal tidszonförskjutning större än eller lika med 24 timmar\n"
+
+#: git-send-email.perl:202 git-send-email.perl:208
+msgid "the editor exited uncleanly, aborting everything"
+msgstr "textredigeringsprogrammet avslutades med fel, avbryter allting"
+
+#: git-send-email.perl:282
+#, perl-format
+msgid ""
+"'%s' contains an intermediate version of the email you were composing.\n"
+msgstr ""
+"\"%s\" innehåller en mellanliggande version av e-postbrevet du skrev.\n"
+
+#: git-send-email.perl:287
+#, perl-format
+msgid "'%s.final' contains the composed email.\n"
+msgstr "\"%s.final\" innehåller det skrivna brevet.\n"
+
+#: git-send-email.perl:305
+msgid "--dump-aliases incompatible with other options\n"
+msgstr "--dump-alias är inkompatibelt med andra flaggor\n"
+
+#: git-send-email.perl:368 git-send-email.perl:623
+msgid "Cannot run git format-patch from outside a repository\n"
+msgstr "Kan inte köra git format-patch från utanför arkivet\n"
+
+#: git-send-email.perl:437
+#, perl-format
+msgid "Unknown --suppress-cc field: '%s'\n"
+msgstr "Okänt fält i --suppress-cc: \"%s\"\n"
+
+#: git-send-email.perl:466
+#, perl-format
+msgid "Unknown --confirm setting: '%s'\n"
+msgstr "Okänd inställning i --confirm: \"%s\"\n"
+
+#: git-send-email.perl:498
+#, perl-format
+msgid "warning: sendmail alias with quotes is not supported: %s\n"
+msgstr "varning: sendmail-alias med citationstecken stöds inte. %s\n"
+
+#: git-send-email.perl:500
+#, perl-format
+msgid "warning: `:include:` not supported: %s\n"
+msgstr "varning: \":include:\" stöds inte: %s\n"
+
+#: git-send-email.perl:502
+#, perl-format
+msgid "warning: `/file` or `|pipe` redirection not supported: %s\n"
+msgstr "varning: omdirigering til \"/fil\" eller \"|rör\" stöds inte: %s\n"
+
+#: git-send-email.perl:507
+#, perl-format
+msgid "warning: sendmail line is not recognized: %s\n"
+msgstr "varning: sendmail-raden känns inte igen: %s\n"
+
+#: git-send-email.perl:589
+#, perl-format
+msgid ""
+"File '%s' exists but it could also be the range of commits\n"
+"to produce patches for.  Please disambiguate by...\n"
+"\n"
+"    * Saying \"./%s\" if you mean a file; or\n"
+"    * Giving --format-patch option if you mean a range.\n"
+msgstr ""
+"Filen \"%s\" finns men kan också vara ett incheckningsintervall\n"
+"att skapa patchar för. Gör otvetydigt genom att...\n"
+"\n"
+"    * Säga \"./%s\" om du menar en fil; eller\n"
+"    * Ange flaggan --format-patch om du menar ett intervall.\n"
+
+#: git-send-email.perl:610
+#, perl-format
+msgid "Failed to opendir %s: %s"
+msgstr "Misslyckades utföra opendir %s: %s"
+
+#: git-send-email.perl:634
+#, perl-format
+msgid ""
+"fatal: %s: %s\n"
+"warning: no patches were sent\n"
+msgstr ""
+"ödesdigert: %s: %s\n"
+"varning: inga patchar har sänts\n"
+
+#: git-send-email.perl:645
+msgid ""
+"\n"
+"No patch files specified!\n"
+"\n"
+msgstr ""
+"\n"
+"Inga patchfiler angavs!\n"
+"\n"
+
+#: git-send-email.perl:658
+#, perl-format
+msgid "No subject line in %s?"
+msgstr "Ingen ärenderad i %s?"
+
+#: git-send-email.perl:668
+#, perl-format
+msgid "Failed to open for writing %s: %s"
+msgstr "Kunde inte öppna för skrivning %s: %s"
+
+#: git-send-email.perl:678
+msgid ""
+"Lines beginning in \"GIT:\" will be removed.\n"
+"Consider including an overall diffstat or table of contents\n"
+"for the patch you are writing.\n"
+"\n"
+"Clear the body content if you don't wish to send a summary.\n"
+msgstr ""
+"Rader som börjar med \"GIT:\" kommer tas bort.\n"
+"Överväg att ta med en övergripande diffstatus eller\n"
+"innehållsförteckning för patchen du skriver.\n"
+"\n"
+"Rensa brevkroppen om du inte vill sända någon sammanfattning.\n"
+
+#: git-send-email.perl:701
+#, perl-format
+msgid "Failed to open %s.final: %s"
+msgstr "Misslyckades öppna %s.final: %s"
+
+#: git-send-email.perl:704
+#, perl-format
+msgid "Failed to open %s: %s"
+msgstr "Misslyckades öppna %s: %s"
+
+#: git-send-email.perl:739
+msgid "To/Cc/Bcc fields are not interpreted yet, they have been ignored\n"
+msgstr "Fälten To/Cc/Bcc tolkas inte ännu, de har ignorerats\n"
+
+#: git-send-email.perl:748
+msgid "Summary email is empty, skipping it\n"
+msgstr "Sammanfattande brev tomt, hoppar över\n"
+
+#. TRANSLATORS: please keep [y/N] as is.
+#: git-send-email.perl:780
+#, perl-format
+msgid "Are you sure you want to use <%s> [y/N]? "
+msgstr "Är du säker på att du vill använda <%s> [Y=ja, N=nej]? "
+
+#: git-send-email.perl:809
+msgid ""
+"The following files are 8bit, but do not declare a Content-Transfer-"
+"Encoding.\n"
+msgstr ""
+"Följande filer är åttabitars, men anger inte en Content-Transfer-Encoding.\n"
+
+#: git-send-email.perl:814
+msgid "Which 8bit encoding should I declare [UTF-8]? "
+msgstr "Vilken åttabitarsteckenkodning skall jag ange [UTF-8]?"
+
+#: git-send-email.perl:822
+#, perl-format
+msgid ""
+"Refusing to send because the patch\n"
+"\t%s\n"
+"has the template subject '*** SUBJECT HERE ***'. Pass --force if you really "
+"want to send.\n"
+msgstr ""
+"Vägrar sända eftersom patchen\n"
+"\t%s\n"
+"har mallärendet \"*** SUBJECT HERE ***\". Använd --force om du verkligen "
+"vill sända.\n"
+
+#: git-send-email.perl:841
+msgid "To whom should the emails be sent (if anyone)?"
+msgstr "Till vem skall breven sändas (om någon)?"
+
+#: git-send-email.perl:859
+#, perl-format
+msgid "fatal: alias '%s' expands to itself\n"
+msgstr "ödesdigert: aliaset \"%s\" expanderar till sig själv\n"
+
+#: git-send-email.perl:871
+msgid "Message-ID to be used as In-Reply-To for the first email (if any)? "
+msgstr ""
+"Message-ID att använda som In-Reply-To för det första brevet (om något)?"
+
+#: git-send-email.perl:921 git-send-email.perl:929
+#, perl-format
+msgid "error: unable to extract a valid address from: %s\n"
+msgstr "fel: kunde inte få fram en giltig adress från: %s\n"
+
+#. TRANSLATORS: Make sure to include [q] [d] [e] in your
+#. translation. The program will only accept English input
+#. at this point.
+#: git-send-email.perl:933
+msgid "What to do with this address? ([q]uit|[d]rop|[e]dit): "
+msgstr "Vad vill du göra med adressen? (q=avsluta, d=kasta, e=redigera):"
+
+#: git-send-email.perl:1234
+#, perl-format
+msgid "CA path \"%s\" does not exist"
+msgstr "CA-sökvägen \"%s\" finns inte"
+
+#: git-send-email.perl:1309
+msgid ""
+"    The Cc list above has been expanded by additional\n"
+"    addresses found in the patch commit message. By default\n"
+"    send-email prompts before sending whenever this occurs.\n"
+"    This behavior is controlled by the sendemail.confirm\n"
+"    configuration setting.\n"
+"\n"
+"    For additional information, run 'git send-email --help'.\n"
+"    To retain the current behavior, but squelch this message,\n"
+"    run 'git config --global sendemail.confirm auto'.\n"
+"\n"
+msgstr ""
+"    Kopielistan ovan har utökats av ytterligare adresser\n"
+"    funna i patchens incheckningsmeddelande. Send-email\n"
+"    frågar som standard innan sändning när detta sker.\n"
+"    Beteendet styrs av konfigurationsinställningen\n"
+"    sendemail.confirm\n"
+"\n"
+"    För ytterligare information, kör \"git send-email --help\".\n"
+"    För att behålla nuvarande beteende, men dölja detta\n"
+"    meddelande, kör \"git config --global sendemail.confirm auto\".\n"
+"\n"
+
+#. TRANSLATORS: Make sure to include [y] [n] [q] [a] in your
+#. translation. The program will only accept English input
+#. at this point.
+#: git-send-email.perl:1324
+msgid "Send this email? ([y]es|[n]o|[q]uit|[a]ll): "
+msgstr "Sända brevet? (y=ja, n=nej, q=avsluta, a=alla): "
+
+#: git-send-email.perl:1327
+msgid "Send this email reply required"
+msgstr "Svar krävs på frågan \"Sända brevet?\""
+
+#: git-send-email.perl:1353
+msgid "The required SMTP server is not properly defined."
+msgstr "Nödvändig SMTP-server har inte angivits korrekt."
+
+#: git-send-email.perl:1397
+#, perl-format
+msgid "Server does not support STARTTLS! %s"
+msgstr "Servern stöder inte SMARTTLS! %s"
+
+#: git-send-email.perl:1403
+msgid "Unable to initialize SMTP properly. Check config and use --smtp-debug."
+msgstr ""
+"Kan inte initiera SMTP korrekt. Kontrollera inställningarna och använd --"
+"smtp-debug."
+
+#: git-send-email.perl:1421
+#, perl-format
+msgid "Failed to send %s\n"
+msgstr "Misslyckades sända %s\n"
+
+#: git-send-email.perl:1424
+#, perl-format
+msgid "Dry-Sent %s\n"
+msgstr "Test-Sände %s\n"
+
+#: git-send-email.perl:1424
+#, perl-format
+msgid "Sent %s\n"
+msgstr "Sände %s\n"
+
+#: git-send-email.perl:1426
+msgid "Dry-OK. Log says:\n"
+msgstr "Test-OK. Loggen säger:\n"
+
+#: git-send-email.perl:1426
+msgid "OK. Log says:\n"
+msgstr "OK. Loggen säger:\n"
+
+#: git-send-email.perl:1438
+msgid "Result: "
+msgstr "Resultat: "
+
+#: git-send-email.perl:1441
+msgid "Result: OK\n"
+msgstr "Resultat: OK\n"
+
+#: git-send-email.perl:1454
+#, perl-format
+msgid "can't open file %s"
+msgstr "kan inte öppna filen %s"
+
+#: git-send-email.perl:1501 git-send-email.perl:1521
+#, perl-format
+msgid "(mbox) Adding cc: %s from line '%s'\n"
+msgstr "(mbox) Lägger till cc: %s från raden \"%s\"\n"
+
+#: git-send-email.perl:1507
+#, perl-format
+msgid "(mbox) Adding to: %s from line '%s'\n"
+msgstr "(mbox) Lägger till to: %s från raden \"%s\"\n"
+
+#: git-send-email.perl:1555
+#, perl-format
+msgid "(non-mbox) Adding cc: %s from line '%s'\n"
+msgstr "(icke-mbox) Lägger till cc: %s från raden \"%s\"\n"
+
+#: git-send-email.perl:1578
+#, perl-format
+msgid "(body) Adding cc: %s from line '%s'\n"
+msgstr "(kropp) Lägger till cc: %s från raden \"%s\"\n"
+
+#: git-send-email.perl:1676
+#, perl-format
+msgid "(%s) Could not execute '%s'"
+msgstr "(%s) Kunde inte köra \"%s\""
+
+#: git-send-email.perl:1683
+#, perl-format
+msgid "(%s) Adding %s: %s from: '%s'\n"
+msgstr "(%s) Lägger till %s: %s från: \"%s\"\n"
+
+#: git-send-email.perl:1687
+#, perl-format
+msgid "(%s) failed to close pipe to '%s'"
+msgstr "(%s) misslyckades stänga röret till \"%s\""
+
+#: git-send-email.perl:1714
+msgid "cannot send message as 7bit"
+msgstr "kan inte sända brev som sjubitars"
+
+#: git-send-email.perl:1722
+msgid "invalid transfer encoding"
+msgstr "ogiltig överföringskondning"
+
+#: git-send-email.perl:1741 git-send-email.perl:1792 git-send-email.perl:1802
+#, perl-format
+msgid "unable to open %s: %s\n"
+msgstr "kunde inte öppna %s: %s\n"
+
+#: git-send-email.perl:1744
+#, perl-format
+msgid "%s: patch contains a line longer than 998 characters"
+msgstr "%s: patchen innehåller en rad längre än 998 tecken"
+
+#: git-send-email.perl:1760
+#, perl-format
+msgid "Skipping %s with backup suffix '%s'.\n"
+msgstr ""
+"Hoppar över %s med filnamnstillägget \"%s\" som används för "
+"säkerhetskopior.\n"
+
+#. TRANSLATORS: please keep "[y|N]" as is.
+#: git-send-email.perl:1764
+#, perl-format
+msgid "Do you really want to send %s? [y|N]: "
+msgstr "Vill du verkligen sända %s? [y=ja, n=nej]: "
+
+#~ msgid "Use an experimental blank-line-based heuristic to improve diffs"
+#~ msgstr ""
+#~ "Använd en experimentell algoritm baserad på tomma rader för att förbättra "
+#~ "diffar"
+
+#~ msgid "Clever... amending the last one with dirty index."
+#~ msgstr "Smart... utöka den senaste med smutsigt index."
+
+#~ msgid ""
+#~ "the following submodule (or one of its nested submodules)\n"
+#~ "uses a .git directory:"
+#~ msgid_plural ""
+#~ "the following submodules (or one of their nested submodules)\n"
+#~ "use a .git directory:"
+#~ msgstr[0] ""
+#~ "följande undermodul (eller en av dess nästlade undermoduler)\n"
+#~ "använder en .git-katalog:"
+#~ msgstr[1] ""
+#~ "följande undermoduler (eller en av deras nästlade undermoduler)\n"
+#~ "använder en .git-katalog:"
+
+#~ msgid ""
+#~ "\n"
+#~ "(use 'rm -rf' if you really want to remove it including all of its "
+#~ "history)"
+#~ msgstr ""
+#~ "\n"
+#~ "(använd \"rm -rf\" om du verkligen vill ta bort den och all dess historik)"
+
 #~ msgid "Could not write to %s"
 #~ msgstr "Kunde inte skriva till %s"
 
@@ -14723,9 +16079,6 @@
 #~ msgid "bug: unhandled diff status %c"
 #~ msgstr "programfel: diff-status %c ej hanterad"
 
-#~ msgid "read of %s failed"
-#~ msgstr "misslyckades läsa %s"
-
 #~ msgid "could not write branch description template"
 #~ msgstr "kunde inte skriva grenbeskrivningsmall"
 
@@ -14810,12 +16163,6 @@
 #~ msgid "unable to access '%s': %s"
 #~ msgstr "kan inte komma åt \"%s\": %s"
 
-#~ msgid "could not open '%s' for reading: %s"
-#~ msgstr "kunde inte öppna \"%s\" för läsning: %s"
-
-#~ msgid "could not open '%s' for writing: %s"
-#~ msgstr "Kunde inte öppna \"%s\" för skrivning: %s"
-
 #~ msgid "    git branch -d %s\n"
 #~ msgstr "    git branch -d %s\n"
 
@@ -15310,18 +16657,12 @@
 #~ msgid "oops"
 #~ msgstr "hoppsan"
 
-#~ msgid "Would not remove %s\n"
-#~ msgstr "Skulle inte ta bort %s\n"
-
 #~ msgid "Not removing %s\n"
 #~ msgstr "Tar inte bort %s\n"
 
 #~ msgid "git remote set-head <name> (-a | -d | <branch>])"
 #~ msgstr "git remote set-head <namn> (-a | -d | <gren>])"
 
-#~ msgid " 0 files changed"
-#~ msgstr " 0 filer ändrade"
-
 #~ msgid " %d file changed"
 #~ msgid_plural " %d files changed"
 #~ msgstr[0] " %d fil ändrad"
diff --git a/po/vi.po b/po/vi.po
index 1d9544f..dd70018 100644
--- a/po/vi.po
+++ b/po/vi.po
@@ -2,14 +2,14 @@
 # Bản dịch tiếng Việt dành cho GIT-CORE.
 # This file is distributed under the same license as the git-core package.
 # Nguyễn Thái Ngọc Duy <pclouds@gmail.com>, 2012.
-# Trần Ngọc Quân <vnwildman@gmail.com>, 2012, 2013, 2014, 2015, 2016.
+# Trần Ngọc Quân <vnwildman@gmail.com>, 2012, 2013, 2014, 2015, 2016, 2017.
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: git v2.11.0\n"
+"Project-Id-Version: git v2.12.0-rc1\n"
 "Report-Msgid-Bugs-To: Git Mailing List <git@vger.kernel.org>\n"
-"POT-Creation-Date: 2016-11-25 22:50+0800\n"
-"PO-Revision-Date: 2016-11-25 23:00+0800\n"
+"POT-Creation-Date: 2017-02-18 01:00+0800\n"
+"PO-Revision-Date: 2017-02-18 07:07+0700\n"
 "Last-Translator: Trần Ngọc Quân <vnwildman@gmail.com>\n"
 "Language-Team: Vietnamese <translation-team-vi@lists.sourceforge.net>\n"
 "Language: vi\n"
@@ -72,7 +72,7 @@
 msgid "Exiting because of an unresolved conflict."
 msgstr "Thoát ra bởi vì xung đột không thể giải quyết."
 
-#: advice.c:114 builtin/merge.c:1181
+#: advice.c:114 builtin/merge.c:1206
 msgid "You have not concluded your merge (MERGE_HEAD exists)."
 msgstr "Bạn chưa kết thúc việc hòa trộn (MERGE_HEAD vẫn tồn tại)."
 
@@ -251,33 +251,33 @@
 msgid "patch with only garbage at line %d"
 msgstr "vá chỉ với “rác” tại dòng %d"
 
-#: apply.c:2274
+#: apply.c:2265
 #, c-format
 msgid "unable to read symlink %s"
 msgstr "không thể đọc liên kết mềm %s"
 
-#: apply.c:2278
+#: apply.c:2269
 #, c-format
 msgid "unable to open or read %s"
 msgstr "không thể mở hay đọc %s"
 
-#: apply.c:2931
+#: apply.c:2922
 #, c-format
 msgid "invalid start of line: '%c'"
 msgstr "sai khởi đầu dòng: “%c”"
 
-#: apply.c:3050
+#: apply.c:3041
 #, c-format
 msgid "Hunk #%d succeeded at %d (offset %d line)."
 msgid_plural "Hunk #%d succeeded at %d (offset %d lines)."
 msgstr[0] "Khối dữ liệu #%d thành công tại %d (offset %d dòng)."
 
-#: apply.c:3062
+#: apply.c:3053
 #, c-format
 msgid "Context reduced to (%ld/%ld) to apply fragment at %d"
 msgstr "Nội dung bị giảm xuống còn (%ld/%ld) để áp dụng mảnh dữ liệu tại %d"
 
-#: apply.c:3068
+#: apply.c:3059
 #, c-format
 msgid ""
 "while searching for:\n"
@@ -286,445 +286,446 @@
 "trong khi đang tìm kiếm cho:\n"
 "%.*s"
 
-#: apply.c:3090
+#: apply.c:3081
 #, c-format
 msgid "missing binary patch data for '%s'"
 msgstr "thiếu dữ liệu của miếng vá định dạng nhị phân cho “%s”"
 
-#: apply.c:3098
+#: apply.c:3089
 #, c-format
 msgid "cannot reverse-apply a binary patch without the reverse hunk to '%s'"
 msgstr ""
 "không thể reverse-apply một miếng vá nhị phân mà không đảo ngược hunk thành "
 "“%s”"
 
-#: apply.c:3144
+#: apply.c:3135
 #, c-format
 msgid "cannot apply binary patch to '%s' without full index line"
 msgstr ""
 "không thể áp dụng miếng vá nhị phân thành “%s” mà không có dòng chỉ mục đầy "
 "đủ"
 
-#: apply.c:3154
+#: apply.c:3145
 #, c-format
 msgid ""
 "the patch applies to '%s' (%s), which does not match the current contents."
 msgstr ""
 "miếng vá áp dụng cho “%s” (%s), cái mà không khớp với các nội dung hiện tại."
 
-#: apply.c:3162
+#: apply.c:3153
 #, c-format
 msgid "the patch applies to an empty '%s' but it is not empty"
 msgstr "miếng vá áp dụng cho một “%s” trống rỗng nhưng nó lại không trống"
 
-#: apply.c:3180
+#: apply.c:3171
 #, c-format
 msgid "the necessary postimage %s for '%s' cannot be read"
 msgstr "không thể đọc postimage %s cần thiết cho “%s”"
 
-#: apply.c:3193
+#: apply.c:3184
 #, c-format
 msgid "binary patch does not apply to '%s'"
 msgstr "miếng vá định dạng nhị phân không được áp dụng cho “%s”"
 
-#: apply.c:3199
+#: apply.c:3190
 #, c-format
 msgid "binary patch to '%s' creates incorrect result (expecting %s, got %s)"
 msgstr ""
 "vá nhị phân cho “%s” tạo ra kết quả không chính xác (mong chờ %s, lại nhận "
 "%s)"
 
-#: apply.c:3220
+#: apply.c:3211
 #, c-format
 msgid "patch failed: %s:%ld"
 msgstr "gặp lỗi khi vá: %s:%ld"
 
-#: apply.c:3342
+#: apply.c:3333
 #, c-format
 msgid "cannot checkout %s"
 msgstr "không thể lấy ra %s"
 
-#: apply.c:3390 apply.c:3401 apply.c:3447 setup.c:248
+#: apply.c:3381 apply.c:3392 apply.c:3438 setup.c:248
 #, c-format
 msgid "failed to read %s"
 msgstr "gặp lỗi khi đọc %s"
 
-#: apply.c:3398
+#: apply.c:3389
 #, c-format
 msgid "reading from '%s' beyond a symbolic link"
 msgstr "đọc từ “%s” vượt ra ngoài liên kết mềm"
 
-#: apply.c:3427 apply.c:3667
+#: apply.c:3418 apply.c:3658
 #, c-format
 msgid "path %s has been renamed/deleted"
 msgstr "đường dẫn %s đã bị xóa hoặc đổi tên"
 
-#: apply.c:3510 apply.c:3681
+#: apply.c:3501 apply.c:3672
 #, c-format
 msgid "%s: does not exist in index"
 msgstr "%s: không tồn tại trong bảng mục lục"
 
-#: apply.c:3519 apply.c:3689
+#: apply.c:3510 apply.c:3680
 #, c-format
 msgid "%s: does not match index"
 msgstr "%s: không khớp trong mục lục"
 
-#: apply.c:3554
+#: apply.c:3545
 msgid "repository lacks the necessary blob to fall back on 3-way merge."
 msgstr "Kho thiếu đối tượng blob cần thiết để trở về trên “3-way merge”."
 
-#: apply.c:3557
+#: apply.c:3548
 #, c-format
 msgid "Falling back to three-way merge...\n"
 msgstr "Đang trở lại hòa trộn “3-đường”…\n"
 
-#: apply.c:3573 apply.c:3577
+#: apply.c:3564 apply.c:3568
 #, c-format
 msgid "cannot read the current contents of '%s'"
 msgstr "không thể đọc nội dung hiện hành của “%s”"
 
-#: apply.c:3589
+#: apply.c:3580
 #, c-format
 msgid "Failed to fall back on three-way merge...\n"
 msgstr "Gặp lỗi khi quay trở lại để hòa trộn kiểu “three-way”…\n"
 
-#: apply.c:3603
+#: apply.c:3594
 #, c-format
 msgid "Applied patch to '%s' with conflicts.\n"
 msgstr "Đã áp dụng miếng vá %s với các xung đột.\n"
 
-#: apply.c:3608
+#: apply.c:3599
 #, c-format
 msgid "Applied patch to '%s' cleanly.\n"
 msgstr "Đã áp dụng miếng vá %s một cách sạch sẽ.\n"
 
-#: apply.c:3634
+#: apply.c:3625
 msgid "removal patch leaves file contents"
 msgstr "loại bỏ miếng vá để lại nội dung tập tin"
 
-#: apply.c:3706
+#: apply.c:3697
 #, c-format
 msgid "%s: wrong type"
 msgstr "%s: sai kiểu"
 
-#: apply.c:3708
+#: apply.c:3699
 #, c-format
 msgid "%s has type %o, expected %o"
 msgstr "%s có kiểu %o, cần %o"
 
-#: apply.c:3859 apply.c:3861
+#: apply.c:3850 apply.c:3852
 #, c-format
 msgid "invalid path '%s'"
 msgstr "đường dẫn không hợp lệ “%s”"
 
-#: apply.c:3917
+#: apply.c:3908
 #, c-format
 msgid "%s: already exists in index"
 msgstr "%s: đã có từ trước trong bảng mục lục"
 
-#: apply.c:3920
+#: apply.c:3911
 #, c-format
 msgid "%s: already exists in working directory"
 msgstr "%s: đã sẵn có trong thư mục đang làm việc"
 
-#: apply.c:3940
+#: apply.c:3931
 #, c-format
 msgid "new mode (%o) of %s does not match old mode (%o)"
 msgstr "chế độ mới (%o) của %s không khớp với chế độ cũ (%o)"
 
-#: apply.c:3945
+#: apply.c:3936
 #, c-format
 msgid "new mode (%o) of %s does not match old mode (%o) of %s"
 msgstr "chế độ mới (%o) của %s không khớp với chế độ cũ (%o) của %s"
 
-#: apply.c:3965
+#: apply.c:3956
 #, c-format
 msgid "affected file '%s' is beyond a symbolic link"
 msgstr "tập tin chịu tác động “%s” vượt ra ngoài liên kết mềm"
 
-#: apply.c:3969
+#: apply.c:3960
 #, c-format
 msgid "%s: patch does not apply"
 msgstr "%s: miếng vá không được áp dụng"
 
-#: apply.c:3984
+#: apply.c:3975
 #, c-format
 msgid "Checking patch %s..."
 msgstr "Đang kiểm tra miếng vá %s…"
 
-#: apply.c:4075
+#: apply.c:4066
 #, c-format
 msgid "sha1 information is lacking or useless for submodule %s"
 msgstr "thông tin sha1 thiếu hoặc không dùng được cho mô-đun %s"
 
-#: apply.c:4082
+#: apply.c:4073
 #, c-format
 msgid "mode change for %s, which is not in current HEAD"
 msgstr "thay đổi chế độ cho %s, cái mà không phải là HEAD hiện tại"
 
-#: apply.c:4085
+#: apply.c:4076
 #, c-format
 msgid "sha1 information is lacking or useless (%s)."
 msgstr "thông tin sha1 còn thiếu hay không dùng được(%s)."
 
-#: apply.c:4090 builtin/checkout.c:233 builtin/reset.c:135
+#: apply.c:4081 builtin/checkout.c:233 builtin/reset.c:135
 #, c-format
 msgid "make_cache_entry failed for path '%s'"
 msgstr "make_cache_entry gặp lỗi đối với đường dẫn “%s”"
 
-#: apply.c:4094
+#: apply.c:4085
 #, c-format
 msgid "could not add %s to temporary index"
 msgstr "không thể thêm %s vào chỉ mục tạm thời"
 
-#: apply.c:4104
+#: apply.c:4095
 #, c-format
 msgid "could not write temporary index to %s"
 msgstr "không thểghi mục lục tạm vào %s"
 
-#: apply.c:4242
+#: apply.c:4233
 #, c-format
 msgid "unable to remove %s from index"
 msgstr "không thể gỡ bỏ %s từ mục lục"
 
-#: apply.c:4277
+#: apply.c:4268
 #, c-format
 msgid "corrupt patch for submodule %s"
 msgstr "miếng vá sai hỏng cho mô-đun-con %s"
 
-#: apply.c:4283
+#: apply.c:4274
 #, c-format
 msgid "unable to stat newly created file '%s'"
 msgstr "không thể lấy thống kề về tập tin %s mới hơn đã được tạo"
 
-#: apply.c:4291
+#: apply.c:4282
 #, c-format
 msgid "unable to create backing store for newly created file %s"
 msgstr "không thể tạo “kho lưu đằng sau” cho tập tin được tạo mới hơn %s"
 
-#: apply.c:4297 apply.c:4441
+#: apply.c:4288 apply.c:4432
 #, c-format
 msgid "unable to add cache entry for %s"
 msgstr "không thể thêm mục nhớ đệm cho %s"
 
-#: apply.c:4338
+#: apply.c:4329
 #, c-format
 msgid "failed to write to '%s'"
 msgstr "gặp lỗi khi ghi vào “%s”"
 
-#: apply.c:4342
+#: apply.c:4333
 #, c-format
 msgid "closing file '%s'"
 msgstr "đang đóng tập tin “%s”"
 
-#: apply.c:4412
+#: apply.c:4403
 #, c-format
 msgid "unable to write file '%s' mode %o"
 msgstr "không thể ghi vào tập tin “%s” chế độ %o"
 
-#: apply.c:4510
+#: apply.c:4501
 #, c-format
 msgid "Applied patch %s cleanly."
 msgstr "Đã áp dụng miếng vá %s một cách sạch sẽ."
 
-#: apply.c:4518
+#: apply.c:4509
 msgid "internal error"
 msgstr "lỗi nội bộ"
 
-#: apply.c:4521
+#: apply.c:4512
 #, c-format
 msgid "Applying patch %%s with %d reject..."
 msgid_plural "Applying patch %%s with %d rejects..."
 msgstr[0] "Đang áp dụng miếng vá %%s với %d lần từ chối…"
 
-#: apply.c:4532
+#: apply.c:4523
 #, c-format
 msgid "truncating .rej filename to %.*s.rej"
 msgstr "đang cắt ngắn tên tập tin .rej thành %.*s.rej"
 
-#: apply.c:4540 builtin/fetch.c:740 builtin/fetch.c:989
+#: apply.c:4531 builtin/fetch.c:737 builtin/fetch.c:986
 #, c-format
 msgid "cannot open %s"
 msgstr "không mở được “%s”"
 
-#: apply.c:4554
+#: apply.c:4545
 #, c-format
 msgid "Hunk #%d applied cleanly."
 msgstr "Khối nhớ #%d được áp dụng gọn gàng."
 
-#: apply.c:4558
+#: apply.c:4549
 #, c-format
 msgid "Rejected hunk #%d."
 msgstr "đoạn dữ liệu #%d bị từ chối."
 
-#: apply.c:4668
+#: apply.c:4659
 #, c-format
 msgid "Skipped patch '%s'."
 msgstr "bỏ qua đường dẫn “%s”."
 
-#: apply.c:4676
+#: apply.c:4667
 msgid "unrecognized input"
 msgstr "không thừa nhận đầu vào"
 
-#: apply.c:4695
+#: apply.c:4686
 msgid "unable to read index file"
 msgstr "không thể đọc tập tin lưu bảng mục lục"
 
-#: apply.c:4833
+#: apply.c:4824
 #, c-format
 msgid "can't open patch '%s': %s"
 msgstr "không thể mở miếng vá “%s”: %s"
 
-#: apply.c:4858
+#: apply.c:4849
 #, c-format
 msgid "squelched %d whitespace error"
 msgid_plural "squelched %d whitespace errors"
 msgstr[0] "đã chấm dứt %d lỗi khoảng trắng"
 
-#: apply.c:4864 apply.c:4879
+#: apply.c:4855 apply.c:4870
 #, c-format
 msgid "%d line adds whitespace errors."
 msgid_plural "%d lines add whitespace errors."
 msgstr[0] "%d dòng thêm khoảng trắng lỗi."
 
-#: apply.c:4872
+#: apply.c:4863
 #, c-format
 msgid "%d line applied after fixing whitespace errors."
 msgid_plural "%d lines applied after fixing whitespace errors."
 msgstr[0] "%d dòng được áp dụng sau khi sửa các lỗi khoảng trắng."
 
-#: apply.c:4888 builtin/add.c:463 builtin/mv.c:286 builtin/rm.c:431
+#: apply.c:4879 builtin/add.c:463 builtin/mv.c:298 builtin/rm.c:391
 msgid "Unable to write new index file"
 msgstr "Không thể ghi tập tin lưu bảng mục lục mới"
 
-#: apply.c:4919 apply.c:4922 builtin/am.c:2277 builtin/am.c:2280
+#: apply.c:4910 apply.c:4913 builtin/am.c:2277 builtin/am.c:2280
 #: builtin/clone.c:95 builtin/fetch.c:98 builtin/pull.c:180
-#: builtin/submodule--helper.c:281 builtin/submodule--helper.c:407
-#: builtin/submodule--helper.c:589 builtin/submodule--helper.c:592
-#: builtin/submodule--helper.c:944 builtin/submodule--helper.c:947
+#: builtin/submodule--helper.c:281 builtin/submodule--helper.c:591
+#: builtin/submodule--helper.c:594 builtin/submodule--helper.c:960
+#: builtin/submodule--helper.c:963 builtin/submodule--helper.c:1104
+#: git-add--interactive.perl:239
 msgid "path"
 msgstr "đường-dẫn"
 
-#: apply.c:4920
+#: apply.c:4911
 msgid "don't apply changes matching the given path"
 msgstr "không áp dụng các thay đổi khớp với đường dẫn đã cho"
 
-#: apply.c:4923
+#: apply.c:4914
 msgid "apply changes matching the given path"
 msgstr "áp dụng các thay đổi khớp với đường dẫn đã cho"
 
-#: apply.c:4925 builtin/am.c:2286
+#: apply.c:4916 builtin/am.c:2286
 msgid "num"
 msgstr "số"
 
-#: apply.c:4926
+#: apply.c:4917
 msgid "remove <num> leading slashes from traditional diff paths"
 msgstr "gỡ bỏ <số> dấu gạch chéo dẫn đầu từ đường dẫn diff cổ điển"
 
-#: apply.c:4929
+#: apply.c:4920
 msgid "ignore additions made by the patch"
 msgstr "lờ đi phần bổ xung được tạo ra bởi miếng vá"
 
-#: apply.c:4931
+#: apply.c:4922
 msgid "instead of applying the patch, output diffstat for the input"
 msgstr ""
 "thay vì áp dụng một miếng vá, kết xuất kết quả từ lệnh diffstat cho đầu ra"
 
-#: apply.c:4935
+#: apply.c:4926
 msgid "show number of added and deleted lines in decimal notation"
 msgstr ""
 "hiển thị số lượng các dòng được thêm vào và xóa đi theo ký hiệu thập phân"
 
-#: apply.c:4937
+#: apply.c:4928
 msgid "instead of applying the patch, output a summary for the input"
 msgstr "thay vì áp dụng một miếng vá, kết xuất kết quả cho đầu vào"
 
-#: apply.c:4939
+#: apply.c:4930
 msgid "instead of applying the patch, see if the patch is applicable"
 msgstr "thay vì áp dụng miếng vá, hãy xem xem miếng vá có thích hợp không"
 
-#: apply.c:4941
+#: apply.c:4932
 msgid "make sure the patch is applicable to the current index"
 msgstr "hãy chắc chắn là miếng vá thích hợp với bảng mục lục hiện hành"
 
-#: apply.c:4943
+#: apply.c:4934
 msgid "apply a patch without touching the working tree"
 msgstr "áp dụng một miếng vá mà không động chạm đến cây làm việc"
 
-#: apply.c:4945
+#: apply.c:4936
 msgid "accept a patch that touches outside the working area"
 msgstr "chấp nhận một miếng vá mà không động chạm đến cây làm việc"
 
-#: apply.c:4947
+#: apply.c:4938
 msgid "also apply the patch (use with --stat/--summary/--check)"
 msgstr ""
 "đồng thời áp dụng miếng vá (dùng với tùy chọn --stat/--summary/--check)"
 
-#: apply.c:4949
+#: apply.c:4940
 msgid "attempt three-way merge if a patch does not apply"
 msgstr "thử hòa trộn kiểu three-way nếu việc vá không thể thực hiện được"
 
-#: apply.c:4951
+#: apply.c:4942
 msgid "build a temporary index based on embedded index information"
 msgstr ""
 "xây dựng bảng mục lục tạm thời trên cơ sở thông tin bảng mục lục được nhúng"
 
-#: apply.c:4954 builtin/checkout-index.c:169 builtin/ls-files.c:505
+#: apply.c:4945 builtin/checkout-index.c:169 builtin/ls-files.c:507
 msgid "paths are separated with NUL character"
 msgstr "các đường dẫn bị ngăn cách bởi ký tự NULL"
 
-#: apply.c:4956
+#: apply.c:4947
 msgid "ensure at least <n> lines of context match"
 msgstr "đảm bảo rằng có ít nhất <n> dòng nội dung khớp"
 
-#: apply.c:4957 builtin/am.c:2265
+#: apply.c:4948 builtin/am.c:2265
 msgid "action"
 msgstr "hành động"
 
-#: apply.c:4958
+#: apply.c:4949
 msgid "detect new or modified lines that have whitespace errors"
 msgstr "tìm thấy một dòng mới hoặc bị sửa đổi mà nó có lỗi do khoảng trắng"
 
-#: apply.c:4961 apply.c:4964
+#: apply.c:4952 apply.c:4955
 msgid "ignore changes in whitespace when finding context"
 msgstr "lờ đi sự thay đổi do khoảng trắng gây ra khi quét nội dung"
 
-#: apply.c:4967
+#: apply.c:4958
 msgid "apply the patch in reverse"
 msgstr "áp dụng miếng vá theo chiều ngược"
 
-#: apply.c:4969
+#: apply.c:4960
 msgid "don't expect at least one line of context"
 msgstr "đừng hy vọng có ít nhất một dòng nội dung"
 
-#: apply.c:4971
+#: apply.c:4962
 msgid "leave the rejected hunks in corresponding *.rej files"
 msgstr "để lại khối dữ liệu bị từ chối trong các tập tin *.rej tương ứng"
 
-#: apply.c:4973
+#: apply.c:4964
 msgid "allow overlapping hunks"
 msgstr "cho phép chồng khối nhớ"
 
-#: apply.c:4974 builtin/add.c:267 builtin/check-ignore.c:19
-#: builtin/commit.c:1339 builtin/count-objects.c:94 builtin/fsck.c:593
-#: builtin/log.c:1860 builtin/mv.c:110 builtin/read-tree.c:114
+#: apply.c:4965 builtin/add.c:267 builtin/check-ignore.c:19
+#: builtin/commit.c:1337 builtin/count-objects.c:94 builtin/fsck.c:651
+#: builtin/log.c:1860 builtin/mv.c:122 builtin/read-tree.c:114
 msgid "be verbose"
 msgstr "chi tiết"
 
-#: apply.c:4976
+#: apply.c:4967
 msgid "tolerate incorrectly detected missing new-line at the end of file"
 msgstr ""
 "đã dò tìm thấy dung sai không chính xác thiếu dòng mới tại cuối tập tin"
 
-#: apply.c:4979
+#: apply.c:4970
 msgid "do not trust the line counts in the hunk headers"
 msgstr "không tin số lượng dòng trong phần đầu khối dữ liệu"
 
-#: apply.c:4981 builtin/am.c:2274
+#: apply.c:4972 builtin/am.c:2274
 msgid "root"
 msgstr "gốc"
 
-#: apply.c:4982
+#: apply.c:4973
 msgid "prepend <root> to all filenames"
 msgstr "treo thêm <root> vào tất cả các tên tập tin"
 
@@ -747,7 +748,7 @@
 msgid "git archive --remote <repo> [--exec <cmd>] --list"
 msgstr "git archive --remote <kho> [--exec <lệnh>] --list"
 
-#: archive.c:344 builtin/add.c:152 builtin/add.c:442 builtin/rm.c:327
+#: archive.c:344 builtin/add.c:152 builtin/add.c:442 builtin/rm.c:300
 #, c-format
 msgid "pathspec '%s' did not match any files"
 msgstr "đặc tả đường dẫn “%s” không khớp với bất kỳ tập tin nào"
@@ -768,11 +769,11 @@
 msgid "prepend prefix to each pathname in the archive"
 msgstr "nối thêm tiền tố vào từng đường dẫn tập tin trong kho lưu"
 
-#: archive.c:432 builtin/archive.c:88 builtin/blame.c:2603
-#: builtin/blame.c:2604 builtin/config.c:59 builtin/fast-export.c:987
-#: builtin/fast-export.c:989 builtin/grep.c:723 builtin/hash-object.c:101
-#: builtin/ls-files.c:539 builtin/ls-files.c:542 builtin/notes.c:401
-#: builtin/notes.c:564 builtin/read-tree.c:109 parse-options.h:153
+#: archive.c:432 builtin/blame.c:2607 builtin/blame.c:2608 builtin/config.c:59
+#: builtin/fast-export.c:987 builtin/fast-export.c:989 builtin/grep.c:1054
+#: builtin/hash-object.c:101 builtin/ls-files.c:541 builtin/ls-files.c:544
+#: builtin/notes.c:401 builtin/notes.c:564 builtin/read-tree.c:109
+#: parse-options.h:153
 msgid "file"
 msgstr "tập_tin"
 
@@ -805,7 +806,7 @@
 msgstr "liệt kê các kiểu nén được hỗ trợ"
 
 #: archive.c:451 builtin/archive.c:90 builtin/clone.c:85 builtin/clone.c:88
-#: builtin/submodule--helper.c:601 builtin/submodule--helper.c:953
+#: builtin/submodule--helper.c:603 builtin/submodule--helper.c:969
 msgid "repo"
 msgstr "kho"
 
@@ -901,11 +902,11 @@
 #: bisect.c:750
 #, c-format
 msgid ""
-"Some %s revs are not ancestor of the %s rev.\n"
+"Some %s revs are not ancestors of the %s rev.\n"
 "git bisect cannot work properly in this case.\n"
 "Maybe you mistook %s and %s revs?\n"
 msgstr ""
-"Một số điểm xét duyệt %s không phải tổ tiên của %s.\n"
+"Một số điểm xét duyệt %s không phải tổ tiên của điểm xét duyệt %s.\n"
 "git bisect không thể làm việc đúng đắn trong trường hợp này.\n"
 "Liệu có phải bạn nhầm lẫn các điểm %s và %s không?\n"
 
@@ -931,7 +932,7 @@
 msgid "a %s revision is needed"
 msgstr "cần một điểm xét duyệt %s"
 
-#: bisect.c:866 builtin/notes.c:174 builtin/tag.c:248
+#: bisect.c:866 builtin/notes.c:174 builtin/tag.c:262
 #, c-format
 msgid "could not create file '%s'"
 msgstr "không thể tạo tập tin “%s”"
@@ -1122,7 +1123,7 @@
 msgid "unrecognized header: %s%s (%d)"
 msgstr "phần đầu không được thừa nhận: %s%s (%d)"
 
-#: bundle.c:87 sequencer.c:963 builtin/commit.c:777
+#: bundle.c:87 sequencer.c:1331 sequencer.c:1752 builtin/commit.c:777
 #, c-format
 msgid "could not open '%s'"
 msgstr "không thể mở “%s”"
@@ -1131,10 +1132,10 @@
 msgid "Repository lacks these prerequisite commits:"
 msgstr "Kho chứa thiếu những lần chuyển giao tiên quyết này:"
 
-#: bundle.c:163 ref-filter.c:1462 sequencer.c:830 sequencer.c:1374
-#: builtin/blame.c:2814 builtin/commit.c:1061 builtin/log.c:348
+#: bundle.c:163 ref-filter.c:1499 sequencer.c:1154 sequencer.c:2290
+#: builtin/blame.c:2820 builtin/commit.c:1061 builtin/log.c:348
 #: builtin/log.c:890 builtin/log.c:1340 builtin/log.c:1666 builtin/log.c:1909
-#: builtin/merge.c:356 builtin/shortlog.c:170
+#: builtin/merge.c:360 builtin/shortlog.c:177
 msgid "revision walk setup failed"
 msgstr "cài đặt việc di chuyển qua các điểm xét duyệt gặp lỗi"
 
@@ -1171,7 +1172,7 @@
 msgid "ref '%s' is excluded by the rev-list options"
 msgstr "th.chiếu “%s” bị loại trừ bởi các tùy chọn rev-list"
 
-#: bundle.c:443 builtin/log.c:165 builtin/log.c:1572 builtin/shortlog.c:273
+#: bundle.c:443 builtin/log.c:165 builtin/log.c:1572 builtin/shortlog.c:282
 #, c-format
 msgid "unrecognized argument: %s"
 msgstr "đối số không được thừa nhận: %s"
@@ -1189,13 +1190,13 @@
 msgid "index-pack died"
 msgstr "mục lục gói đã chết"
 
-#: color.c:290
+#: color.c:300
 #, c-format
 msgid "invalid color value: %.*s"
 msgstr "giá trị màu không hợp lệ: %.*s"
 
-#: commit.c:40 builtin/am.c:421 builtin/am.c:457 builtin/am.c:1493
-#: builtin/am.c:2127
+#: commit.c:40 sequencer.c:1564 builtin/am.c:421 builtin/am.c:457
+#: builtin/am.c:1493 builtin/am.c:2127
 #, c-format
 msgid "could not parse %s"
 msgstr "không thể phân tích cú pháp %s"
@@ -1219,125 +1220,135 @@
 msgid "memory exhausted"
 msgstr "hết bộ nhớ"
 
-#: config.c:516
+#: config.c:518
 #, c-format
 msgid "bad config line %d in blob %s"
 msgstr "tập tin cấu hình sai tại dòng %d trong blob %s"
 
-#: config.c:520
+#: config.c:522
 #, c-format
 msgid "bad config line %d in file %s"
 msgstr "cấu hình sai tại dòng %d trong tập tin %s"
 
-#: config.c:524
+#: config.c:526
 #, c-format
 msgid "bad config line %d in standard input"
 msgstr "cấu hình sai tại dòng %d trong đầu vào tiêu chuẩn"
 
-#: config.c:528
+#: config.c:530
 #, c-format
 msgid "bad config line %d in submodule-blob %s"
 msgstr "cấu hình sai tại dòng %d trong blob-mô-đun-con %s"
 
-#: config.c:532
+#: config.c:534
 #, c-format
 msgid "bad config line %d in command line %s"
 msgstr "cấu hình sai tại dòng %d trong dòng lệnh %s"
 
-#: config.c:536
+#: config.c:538
 #, c-format
 msgid "bad config line %d in %s"
 msgstr "cấu hình sai tại dòng %d trong %s"
 
-#: config.c:655
+#: config.c:657
 msgid "out of range"
 msgstr "nằm ngoài phạm vi"
 
-#: config.c:655
+#: config.c:657
 msgid "invalid unit"
 msgstr "đơn vị không hợp lệ"
 
-#: config.c:661
+#: config.c:663
 #, c-format
 msgid "bad numeric config value '%s' for '%s': %s"
 msgstr "sai giá trị bằng số của cấu hình “%s” cho “%s”: %s"
 
-#: config.c:666
+#: config.c:668
 #, c-format
 msgid "bad numeric config value '%s' for '%s' in blob %s: %s"
 msgstr "sai giá trị bằng số của cấu hình “%s” cho “%s” trong blob %s: %s"
 
-#: config.c:669
+#: config.c:671
 #, c-format
 msgid "bad numeric config value '%s' for '%s' in file %s: %s"
 msgstr "sai giá trị bằng số của cấu hình “%s” cho “%s” trong tập tin %s: %s"
 
-#: config.c:672
+#: config.c:674
 #, c-format
 msgid "bad numeric config value '%s' for '%s' in standard input: %s"
 msgstr ""
 "sai giá trị bằng số của cấu hình “%s” cho “%s” trong đầu vào tiêu chuẩn: %s"
 
-#: config.c:675
+#: config.c:677
 #, c-format
 msgid "bad numeric config value '%s' for '%s' in submodule-blob %s: %s"
 msgstr ""
 "sai giá trị bằng số của cấu hình “%s” cho “%s” trong submodule-blob %s: %s"
 
-#: config.c:678
+#: config.c:680
 #, c-format
 msgid "bad numeric config value '%s' for '%s' in command line %s: %s"
 msgstr "sai giá trị bằng số của cấu hình “%s” cho “%s” trong dòng lệnh %s: %s"
 
-#: config.c:681
+#: config.c:683
 #, c-format
 msgid "bad numeric config value '%s' for '%s' in %s: %s"
 msgstr "sai giá trị bằng số của cấu hình “%s” cho “%s” trong %s: %s"
 
-#: config.c:768
+#: config.c:770
 #, c-format
 msgid "failed to expand user dir in: '%s'"
 msgstr "gặp lỗi mở rộng thư mục người dùng trong: “%s”"
 
-#: config.c:852 config.c:863
+#: config.c:865 config.c:876
 #, c-format
 msgid "bad zlib compression level %d"
 msgstr "mức nén zlib %d là sai"
 
-#: config.c:978
+#: config.c:993
 #, c-format
 msgid "invalid mode for object creation: %s"
 msgstr "chế độ không hợp lệ đối với việc tạo đối tượng: %s"
 
-#: config.c:1312
+#: config.c:1149
+#, c-format
+msgid "bad pack compression level %d"
+msgstr "mức nén gói %d không hợp lệ"
+
+#: config.c:1339
 msgid "unable to parse command-line config"
 msgstr "không thể phân tích cấu hình dòng lệnh"
 
-#: config.c:1362
+#: config.c:1389
 msgid "unknown error occurred while reading the configuration files"
 msgstr "đã có lỗi chưa biết xảy ra trong khi đọc các tập tin cấu hình"
 
-#: config.c:1716
+#: config.c:1743
 #, c-format
 msgid "unable to parse '%s' from command-line config"
 msgstr "không thể phân tích “%s” từ cấu hình dòng lệnh"
 
-#: config.c:1718
+#: config.c:1745
 #, c-format
 msgid "bad config variable '%s' in file '%s' at line %d"
 msgstr "sai biến cấu hình “%s” trong tập tin “%s” tại dòng %d"
 
-#: config.c:1777
+#: config.c:1804
 #, c-format
 msgid "%s has multiple values"
 msgstr "%s có đa giá trị"
 
-#: config.c:2311
+#: config.c:2225 config.c:2450
+#, c-format
+msgid "fstat on %s failed"
+msgstr "fstat trên %s gặp lỗi"
+
+#: config.c:2343
 #, c-format
 msgid "could not set '%s' to '%s'"
 msgstr "không thể đặt “%s” thành “%s”"
 
-#: config.c:2313
+#: config.c:2345
 #, c-format
 msgid "could not unset '%s'"
 msgstr "không thể thôi đặt “%s”"
@@ -1358,7 +1369,7 @@
 "Vui lòng chắc chắn là bạn có đủ thẩm quyền truy cập\n"
 "và kho chứa đã sẵn có."
 
-#: connected.c:63 builtin/fsck.c:173 builtin/prune.c:140
+#: connected.c:63 builtin/fsck.c:190 builtin/prune.c:140
 msgid "Checking connectivity"
 msgstr "Đang kiểm tra kết nối"
 
@@ -1485,12 +1496,12 @@
 msgid "  Unknown dirstat parameter '%s'\n"
 msgstr "  Không hiểu đối số dirstat “%s”\n"
 
-#: diff.c:283
+#: diff.c:281
 #, c-format
 msgid "Unknown value for 'diff.submodule' config variable: '%s'"
 msgstr "Không hiểu giá trị cho biến cấu hình “diff.submodule”: “%s”"
 
-#: diff.c:346
+#: diff.c:344
 #, c-format
 msgid ""
 "Found errors in 'diff.dirstat' config variable:\n"
@@ -1499,20 +1510,20 @@
 "Tìm thấy các lỗi trong biến cấu hình “diff.dirstat”:\n"
 "%s"
 
-#: diff.c:3087
+#: diff.c:3085
 #, c-format
 msgid "external diff died, stopping at %s"
 msgstr "phần mềm diff ở bên ngoài đã chết, dừng tại %s"
 
-#: diff.c:3412
+#: diff.c:3411
 msgid "--name-only, --name-status, --check and -s are mutually exclusive"
 msgstr "--name-only, --name-status, --check và -s loại từ lẫn nhau"
 
-#: diff.c:3502
+#: diff.c:3501
 msgid "--follow requires exactly one pathspec"
 msgstr "--follow cần chính xác một đặc tả đường dẫn"
 
-#: diff.c:3665
+#: diff.c:3664
 #, c-format
 msgid ""
 "Failed to parse --dirstat/-X option parameter:\n"
@@ -1521,22 +1532,22 @@
 "Gặp lỗi khi phân tích đối số tùy chọn --dirstat/-X:\n"
 "%s"
 
-#: diff.c:3679
+#: diff.c:3678
 #, c-format
 msgid "Failed to parse --submodule option parameter: '%s'"
 msgstr "Gặp lỗi khi phân tích đối số tùy chọn --submodule: “%s”"
 
-#: diff.c:4700
+#: diff.c:4696
 msgid "inexact rename detection was skipped due to too many files."
 msgstr ""
 "nhận thấy đổi tên không chính xác đã bị bỏ qua bởi có quá nhiều tập tin."
 
-#: diff.c:4703
+#: diff.c:4699
 msgid "only found copies from modified paths due to too many files."
 msgstr ""
 "chỉ tìm thấy các bản sao từ đường dẫn đã sửa đổi bởi vì có quá nhiều tập tin."
 
-#: diff.c:4706
+#: diff.c:4702
 #, c-format
 msgid ""
 "you may want to set your %s variable to at least %d and retry the command."
@@ -1544,14 +1555,19 @@
 "bạn có lẽ muốn đặt biến %s của bạn thành ít nhất là %d và thử lại lệnh lần "
 "nữa."
 
-#: dir.c:1866
+#: dir.c:1862
 msgid "failed to get kernel name and information"
 msgstr "gặp lỗi khi lấy tên và thông tin của nhân"
 
-#: dir.c:1985
+#: dir.c:1981
 msgid "Untracked cache is disabled on this system or location."
 msgstr "Bộ nhớ tạm không theo vết bị tắt trên hệ thống hay vị trí này."
 
+#: dir.c:2759
+#, c-format
+msgid "could not migrate git directory from '%s' to '%s'"
+msgstr "không thể di cư thư mục git từ “%s” sang “%s”"
+
 #: fetch-pack.c:213
 msgid "git fetch-pack: expected shallow list"
 msgstr "git fetch-pack: cần danh sách shallow"
@@ -1732,35 +1748,40 @@
 msgid "failed writing detached signature to '%s'"
 msgstr "gặp lỗi khi ghi chữ ký đính kèm vào “%s”"
 
-#: grep.c:1782
+#: graph.c:96
+#, c-format
+msgid "ignore invalid color '%.*s' in log.graphColors"
+msgstr "bỏ qua màu không hợp lệ “%.*s” trong log.graphColors"
+
+#: grep.c:1794
 #, c-format
 msgid "'%s': unable to read %s"
 msgstr "“%s”: không thể đọc %s"
 
-#: grep.c:1799 builtin/clone.c:381 builtin/diff.c:84 builtin/rm.c:155
+#: grep.c:1811 builtin/clone.c:381 builtin/diff.c:81 builtin/rm.c:133
 #, c-format
 msgid "failed to stat '%s'"
 msgstr "gặp lỗi khi lấy thống kê về “%s”"
 
-#: grep.c:1810
+#: grep.c:1822
 #, c-format
 msgid "'%s': short read"
 msgstr "“%s”: đọc ngắn"
 
-#: help.c:203
+#: help.c:218
 #, c-format
 msgid "available git commands in '%s'"
 msgstr "các lệnh git sẵn có trong thư mục “%s”:"
 
-#: help.c:210
+#: help.c:225
 msgid "git commands available from elsewhere on your $PATH"
 msgstr "các lệnh git sẵn có từ một nơi khác trong $PATH của bạn"
 
-#: help.c:241
+#: help.c:256
 msgid "These are common Git commands used in various situations:"
 msgstr "Có các lệnh Git chung được sử dụng trong các tình huống khác nhau:"
 
-#: help.c:306
+#: help.c:321
 #, c-format
 msgid ""
 "'%s' appears to be a git command, but we were not\n"
@@ -1769,11 +1790,11 @@
 "“%s” trông như là một lệnh git, nhưng chúng tôi không\n"
 "thể thực thi nó. Có lẽ là lệnh git-%s đã bị hỏng?"
 
-#: help.c:361
+#: help.c:376
 msgid "Uh oh. Your system reports no Git commands at all."
 msgstr "Ối chà. Hệ thống của bạn báo rằng chẳng có lệnh Git nào cả."
 
-#: help.c:383
+#: help.c:398
 #, c-format
 msgid ""
 "WARNING: You called a Git command named '%s', which does not exist.\n"
@@ -1782,17 +1803,17 @@
 "CẢNH BÁO: Bạn đã gọi lệnh Git có tên “%s”, mà nó lại không có sẵn.\n"
 "Tiếp tục và coi rằng ý bạn là “%s”"
 
-#: help.c:388
+#: help.c:403
 #, c-format
 msgid "in %0.1f seconds automatically..."
 msgstr "trong %0.1f giây một cách tự động…"
 
-#: help.c:395
+#: help.c:410
 #, c-format
 msgid "git: '%s' is not a git command. See 'git --help'."
 msgstr "git: “%s” không phải là một lệnh của git. Xem “git --help”."
 
-#: help.c:399 help.c:465
+#: help.c:414 help.c:480
 msgid ""
 "\n"
 "Did you mean this?"
@@ -1803,7 +1824,7 @@
 "\n"
 "Có phải ý bạn là một trong số những cái này không?"
 
-#: help.c:461
+#: help.c:476
 #, c-format
 msgid "%s: %s - %s"
 msgstr "%s: %s - %s"
@@ -1871,69 +1892,69 @@
 msgid "(bad commit)\n"
 msgstr "(commit sai)\n"
 
-#: merge-recursive.c:231
+#: merge-recursive.c:231 merge-recursive.c:239
 #, c-format
 msgid "addinfo_cache failed for path '%s'"
 msgstr "addinfo_cache gặp lỗi đối với đường dẫn “%s”"
 
-#: merge-recursive.c:301
+#: merge-recursive.c:303
 msgid "error building trees"
 msgstr "gặp lỗi khi xây dựng cây"
 
-#: merge-recursive.c:720
+#: merge-recursive.c:727
 #, c-format
 msgid "failed to create path '%s'%s"
 msgstr "gặp lỗi khi tạo đường dẫn “%s”%s"
 
-#: merge-recursive.c:731
+#: merge-recursive.c:738
 #, c-format
 msgid "Removing %s to make room for subdirectory\n"
 msgstr "Gỡ bỏ %s để tạo chỗ (room) cho thư mục con\n"
 
-#: merge-recursive.c:745 merge-recursive.c:764
+#: merge-recursive.c:752 merge-recursive.c:771
 msgid ": perhaps a D/F conflict?"
 msgstr ": có lẽ là một xung đột D/F?"
 
-#: merge-recursive.c:754
+#: merge-recursive.c:761
 #, c-format
 msgid "refusing to lose untracked file at '%s'"
 msgstr "từ chối đóng tập tin không được theo dõi tại “%s”"
 
-#: merge-recursive.c:796 builtin/cat-file.c:34
+#: merge-recursive.c:803 builtin/cat-file.c:34
 #, c-format
 msgid "cannot read object %s '%s'"
 msgstr "không thể đọc đối tượng %s “%s”"
 
-#: merge-recursive.c:798
+#: merge-recursive.c:805
 #, c-format
 msgid "blob expected for %s '%s'"
 msgstr "đối tượng blob được mong đợi cho %s “%s”"
 
-#: merge-recursive.c:822
+#: merge-recursive.c:829
 #, c-format
 msgid "failed to open '%s': %s"
 msgstr "gặp lỗi khi mở “%s”: %s"
 
-#: merge-recursive.c:833
+#: merge-recursive.c:840
 #, c-format
 msgid "failed to symlink '%s': %s"
 msgstr "gặp lỗi khi tạo liên kết mềm (symlink) “%s”: %s"
 
-#: merge-recursive.c:838
+#: merge-recursive.c:845
 #, c-format
 msgid "do not know what to do with %06o %s '%s'"
 msgstr "không hiểu phải làm gì với %06o %s “%s”"
 
-#: merge-recursive.c:978
+#: merge-recursive.c:985
 msgid "Failed to execute internal merge"
 msgstr "Gặp lỗi khi thực hiện trộn nội bộ"
 
-#: merge-recursive.c:982
+#: merge-recursive.c:989
 #, c-format
 msgid "Unable to add %s to database"
 msgstr "Không thể thêm %s vào cơ sở dữ liệu"
 
-#: merge-recursive.c:1081 merge-recursive.c:1095
+#: merge-recursive.c:1088 merge-recursive.c:1102
 #, c-format
 msgid ""
 "CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left "
@@ -1942,7 +1963,7 @@
 "XUNG ĐỘT (%s/xóa): %s bị xóa trong %s và %s trong %s. Phiên bản %s của %s "
 "còn lại trong cây (tree)."
 
-#: merge-recursive.c:1087 merge-recursive.c:1100
+#: merge-recursive.c:1094 merge-recursive.c:1107
 #, c-format
 msgid ""
 "CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left "
@@ -1951,20 +1972,20 @@
 "XUNG ĐỘT (%s/xóa): %s bị xóa trong %s và %s trong %s. Phiên bản %s của %s "
 "còn lại trong cây (tree) tại %s."
 
-#: merge-recursive.c:1143
+#: merge-recursive.c:1150
 msgid "rename"
 msgstr "đổi tên"
 
-#: merge-recursive.c:1143
+#: merge-recursive.c:1150
 msgid "renamed"
 msgstr "đã đổi tên"
 
-#: merge-recursive.c:1200
+#: merge-recursive.c:1207
 #, c-format
 msgid "%s is a directory in %s adding as %s instead"
 msgstr "%s là một thư mục trong %s thay vào đó thêm vào như là %s"
 
-#: merge-recursive.c:1225
+#: merge-recursive.c:1232
 #, c-format
 msgid ""
 "CONFLICT (rename/rename): Rename \"%s\"->\"%s\" in branch \"%s\" rename \"%s"
@@ -1973,136 +1994,136 @@
 "XUNG ĐỘT (đổi-tên/đổi-tên): Đổi tên \"%s\"->\"%s\" trong nhánh \"%s\" đổi "
 "tên \"%s\"->\"%s\" trong \"%s\"%s"
 
-#: merge-recursive.c:1230
+#: merge-recursive.c:1237
 msgid " (left unresolved)"
 msgstr " (cần giải quyết)"
 
-#: merge-recursive.c:1292
+#: merge-recursive.c:1299
 #, c-format
 msgid "CONFLICT (rename/rename): Rename %s->%s in %s. Rename %s->%s in %s"
 msgstr ""
 "XUNG ĐỘT (đổi-tên/đổi-tên): Đổi tên %s->%s trong %s. Đổi tên %s->%s trong %s"
 
-#: merge-recursive.c:1325
+#: merge-recursive.c:1332
 #, c-format
 msgid "Renaming %s to %s and %s to %s instead"
 msgstr "Đang đổi tên %s thành %s thay vì %s thành %s"
 
-#: merge-recursive.c:1531
+#: merge-recursive.c:1535
 #, c-format
 msgid "CONFLICT (rename/add): Rename %s->%s in %s. %s added in %s"
 msgstr ""
 "XUNG ĐỘT (đổi-tên/thêm): Đổi tên %s->%s trong %s. %s được thêm vào trong %s"
 
-#: merge-recursive.c:1546
+#: merge-recursive.c:1550
 #, c-format
 msgid "Adding merged %s"
 msgstr "Thêm hòa trộn %s"
 
-#: merge-recursive.c:1553 merge-recursive.c:1766
+#: merge-recursive.c:1557 merge-recursive.c:1771
 #, c-format
 msgid "Adding as %s instead"
 msgstr "Thay vào đó thêm vào %s"
 
-#: merge-recursive.c:1610
+#: merge-recursive.c:1614
 #, c-format
 msgid "cannot read object %s"
 msgstr "không thể đọc đối tượng %s"
 
-#: merge-recursive.c:1613
+#: merge-recursive.c:1617
 #, c-format
 msgid "object %s is not a blob"
 msgstr "đối tượng %s không phải là một blob"
 
-#: merge-recursive.c:1666
+#: merge-recursive.c:1670
 msgid "modify"
 msgstr "sửa đổi"
 
-#: merge-recursive.c:1666
+#: merge-recursive.c:1670
 msgid "modified"
 msgstr "đã sửa"
 
-#: merge-recursive.c:1676
+#: merge-recursive.c:1680
 msgid "content"
 msgstr "nội dung"
 
-#: merge-recursive.c:1683
+#: merge-recursive.c:1687
 msgid "add/add"
 msgstr "thêm/thêm"
 
-#: merge-recursive.c:1718
+#: merge-recursive.c:1723
 #, c-format
 msgid "Skipped %s (merged same as existing)"
 msgstr "Đã bỏ qua %s (đã có sẵn lần hòa trộn này)"
 
-#: merge-recursive.c:1732
+#: merge-recursive.c:1737
 #, c-format
 msgid "Auto-merging %s"
 msgstr "Tự-động-hòa-trộn %s"
 
-#: merge-recursive.c:1736 git-submodule.sh:924
+#: merge-recursive.c:1741 git-submodule.sh:930
 msgid "submodule"
 msgstr "mô-đun-con"
 
-#: merge-recursive.c:1737
+#: merge-recursive.c:1742
 #, c-format
 msgid "CONFLICT (%s): Merge conflict in %s"
 msgstr "XUNG ĐỘT (%s): Xung đột hòa trộn trong %s"
 
-#: merge-recursive.c:1831
+#: merge-recursive.c:1836
 #, c-format
 msgid "Removing %s"
 msgstr "Đang xóa %s"
 
-#: merge-recursive.c:1857
+#: merge-recursive.c:1862
 msgid "file/directory"
 msgstr "tập-tin/thư-mục"
 
-#: merge-recursive.c:1863
+#: merge-recursive.c:1868
 msgid "directory/file"
 msgstr "thư-mục/tập-tin"
 
-#: merge-recursive.c:1868
+#: merge-recursive.c:1874
 #, c-format
 msgid "CONFLICT (%s): There is a directory with name %s in %s. Adding %s as %s"
 msgstr ""
 "XUNG ĐỘT (%s): Ở đây không có thư mục nào có tên %s trong %s. Thêm %s như là "
 "%s"
 
-#: merge-recursive.c:1877
+#: merge-recursive.c:1883
 #, c-format
 msgid "Adding %s"
 msgstr "Thêm \"%s\""
 
-#: merge-recursive.c:1914
+#: merge-recursive.c:1920
 msgid "Already up-to-date!"
 msgstr "Đã cập nhật rồi!"
 
-#: merge-recursive.c:1923
+#: merge-recursive.c:1929
 #, c-format
 msgid "merging of trees %s and %s failed"
 msgstr "hòa trộn các cây %s và %s gặp lỗi"
 
-#: merge-recursive.c:2006
+#: merge-recursive.c:2012
 msgid "Merging:"
 msgstr "Đang trộn:"
 
-#: merge-recursive.c:2019
+#: merge-recursive.c:2025
 #, c-format
 msgid "found %u common ancestor:"
 msgid_plural "found %u common ancestors:"
 msgstr[0] "tìm thấy %u tổ tiên chung:"
 
-#: merge-recursive.c:2058
+#: merge-recursive.c:2064
 msgid "merge returned no commit"
 msgstr "hòa trộn không trả về lần chuyển giao nào"
 
-#: merge-recursive.c:2121
+#: merge-recursive.c:2127
 #, c-format
 msgid "Could not parse object '%s'"
 msgstr "Không thể phân tích đối tượng “%s”"
 
-#: merge-recursive.c:2135 builtin/merge.c:641 builtin/merge.c:788
+#: merge-recursive.c:2141 builtin/merge.c:645 builtin/merge.c:792
 msgid "Unable to write index."
 msgstr "Không thể ghi bảng mục lục"
 
@@ -2146,7 +2167,7 @@
 msgid "Bad %s value: '%s'"
 msgstr "Giá trị %s sai: “%s”"
 
-#: object.c:242
+#: object.c:240
 #, c-format
 msgid "unable to parse object: %s"
 msgstr "không thể phân tích đối tượng: “%s”"
@@ -2186,12 +2207,12 @@
 msgid "Could not make %s writable by group"
 msgstr "Không thể làm %s được ghi bởi nhóm"
 
-#: pathspec.c:133
+#: pathspec.c:142
 msgid "global 'glob' and 'noglob' pathspec settings are incompatible"
 msgstr ""
 "các cài đặt đặc tả đường dẫn “glob” và “noglob” toàn cục là xung khắc nhau"
 
-#: pathspec.c:143
+#: pathspec.c:149
 msgid ""
 "global 'literal' pathspec setting is incompatible with all other global "
 "pathspec settings"
@@ -2199,46 +2220,51 @@
 "cài đặt đặc tả đường dẫn “literal” toàn cục là xung khắc với các cài đặt đặc "
 "tả đường dẫn toàn cục khác"
 
-#: pathspec.c:177
+#: pathspec.c:188
 msgid "invalid parameter for pathspec magic 'prefix'"
 msgstr "tham số không hợp lệ cho “tiền tố” màu nhiệm đặc tả đường đẫn"
 
-#: pathspec.c:183
+#: pathspec.c:201
 #, c-format
 msgid "Invalid pathspec magic '%.*s' in '%s'"
 msgstr "Số màu nhiệm đặc tả đường dẫn không hợp lệ “%.*s” trong “%s”"
 
-#: pathspec.c:187
+#: pathspec.c:206
 #, c-format
 msgid "Missing ')' at the end of pathspec magic in '%s'"
 msgstr "Thiếu “)” tại cuối của số màu nhiệm đặc tả đường dẫn trong “%s”"
 
-#: pathspec.c:205
+#: pathspec.c:238
 #, c-format
 msgid "Unimplemented pathspec magic '%c' in '%s'"
 msgstr "Chưa viết mã cho số màu nhiệm đặc tả đường dẫn “%c” trong “%s”"
 
-#: pathspec.c:230
-#, c-format
-msgid "%s: 'literal' and 'glob' are incompatible"
-msgstr "%s: “literal” và “glob” xung khắc nhau"
-
-#: pathspec.c:241
-#, c-format
-msgid "%s: '%s' is outside repository"
-msgstr "%s: “%s” ngoài một kho chứa"
-
-#: pathspec.c:291
+#: pathspec.c:293 pathspec.c:315
 #, c-format
 msgid "Pathspec '%s' is in submodule '%.*s'"
 msgstr "Đặc tả đường dẫn “%s” thì ở trong mô-đun-con “%.*s”"
 
-#: pathspec.c:353
+#: pathspec.c:350
+#, c-format
+msgid "%s: 'literal' and 'glob' are incompatible"
+msgstr "%s: “literal” và “glob” xung khắc nhau"
+
+#: pathspec.c:363
+#, c-format
+msgid "%s: '%s' is outside repository"
+msgstr "%s: “%s” ngoài một kho chứa"
+
+#: pathspec.c:451
+#, c-format
+msgid "'%s' (mnemonic: '%c')"
+msgstr "“%s” (mnemonic: “%c”)"
+
+#: pathspec.c:461
 #, c-format
 msgid "%s: pathspec magic not supported by this command: %s"
 msgstr "%s: số mầu nhiệm đặc tả đường dẫn chưa được hỗ trợ bởi lệnh này: %s"
 
-#: pathspec.c:408
+#: pathspec.c:511
 msgid ""
 "empty strings as pathspecs will be made invalid in upcoming releases. please "
 "use . instead if you meant to match all paths"
@@ -2246,12 +2272,12 @@
 "chuỗi rỗng làm đặc tả đường dẫn không hợp lệ ở lần phát hành kế tiếp. Vui "
 "lòng dùng . để thay thế nếu ý bạn là khớp mọi đường dẫn"
 
-#: pathspec.c:440
+#: pathspec.c:535
 #, c-format
 msgid "pathspec '%s' is beyond a symbolic link"
 msgstr "đặc tả đường dẫn “%s” vượt ra ngoài liên kết mềm"
 
-#: pathspec.c:449
+#: pathspec.c:544
 msgid ""
 "There is nothing to exclude from by :(exclude) patterns.\n"
 "Perhaps you forgot to add either ':/' or '.' ?"
@@ -2259,11 +2285,11 @@
 "Ở đây không có gì bị loại trừ bởi: các mẫu (loại trừ).\n"
 "Có lẽ bạn đã quên thêm hoặc là “:/” hoặc là “.”?"
 
-#: pretty.c:971
+#: pretty.c:982
 msgid "unable to parse --pretty format"
 msgstr "không thể phân tích định dạng --pretty"
 
-#: read-cache.c:1315
+#: read-cache.c:1307
 #, c-format
 msgid ""
 "index.version set, but the value is invalid.\n"
@@ -2272,7 +2298,7 @@
 "index.version được đặt, nhưng giá trị của nó lại không hợp lệ.\n"
 "Dùng phiên bản %i"
 
-#: read-cache.c:1325
+#: read-cache.c:1317
 #, c-format
 msgid ""
 "GIT_INDEX_VERSION set, but the value is invalid.\n"
@@ -2281,7 +2307,7 @@
 "GIT_INDEX_VERSION được đặt, nhưng giá trị của nó lại không hợp lệ.\n"
 "Dùng phiên bản %i"
 
-#: refs.c:576 builtin/merge.c:840
+#: refs.c:576 builtin/merge.c:844
 #, c-format
 msgid "Could not open '%s' for writing"
 msgstr "Không thể mở “%s” để ghi"
@@ -2301,228 +2327,233 @@
 msgid "could not remove reference %s"
 msgstr "không thể gỡ bỏ tham chiếu: %s"
 
-#: ref-filter.c:55
+#: ref-filter.c:56
 #, c-format
 msgid "expected format: %%(color:<color>)"
 msgstr "cần định dạng: %%(color:<color>)"
 
-#: ref-filter.c:57
+#: ref-filter.c:58
 #, c-format
 msgid "unrecognized color: %%(color:%s)"
 msgstr "không nhận ra màu: %%(màu:%s)"
 
-#: ref-filter.c:71
+#: ref-filter.c:72
 #, c-format
 msgid "unrecognized format: %%(%s)"
 msgstr "không nhận ra định dạng: %%(%s)"
 
-#: ref-filter.c:77
+#: ref-filter.c:78
 #, c-format
 msgid "%%(body) does not take arguments"
 msgstr "%%(body) không nhận các đối số"
 
-#: ref-filter.c:84
+#: ref-filter.c:85
 #, c-format
 msgid "%%(subject) does not take arguments"
 msgstr "%%(subject) không nhận các đối số"
 
-#: ref-filter.c:101
+#: ref-filter.c:92
+#, c-format
+msgid "%%(trailers) does not take arguments"
+msgstr "%%(trailers) không nhận các đối số"
+
+#: ref-filter.c:111
 #, c-format
 msgid "positive value expected contents:lines=%s"
 msgstr "cần nội dung mang giá trị dương:lines=%s"
 
-#: ref-filter.c:103
+#: ref-filter.c:113
 #, c-format
 msgid "unrecognized %%(contents) argument: %s"
 msgstr "đối số không được thừa nhận %%(contents): %s"
 
-#: ref-filter.c:113
+#: ref-filter.c:123
 #, c-format
 msgid "unrecognized %%(objectname) argument: %s"
 msgstr "đối số không được thừa nhận %%(objectname): %s"
 
-#: ref-filter.c:135
+#: ref-filter.c:145
 #, c-format
 msgid "expected format: %%(align:<width>,<position>)"
 msgstr "cần định dạng: %%(align:<width>,<position>)"
 
-#: ref-filter.c:147
+#: ref-filter.c:157
 #, c-format
 msgid "unrecognized position:%s"
 msgstr "vị trí không được thừa nhận:%s"
 
-#: ref-filter.c:151
+#: ref-filter.c:161
 #, c-format
 msgid "unrecognized width:%s"
 msgstr "chiều rộng không được thừa nhận:%s"
 
-#: ref-filter.c:157
+#: ref-filter.c:167
 #, c-format
 msgid "unrecognized %%(align) argument: %s"
 msgstr "đối số không được thừa nhận %%(align): %s"
 
-#: ref-filter.c:161
+#: ref-filter.c:171
 #, c-format
 msgid "positive width expected with the %%(align) atom"
 msgstr "cần giá trị độ rộng dương với nguyên tử %%(align)"
 
-#: ref-filter.c:244
+#: ref-filter.c:255
 #, c-format
 msgid "malformed field name: %.*s"
 msgstr "tên trường dị hình: %.*s"
 
-#: ref-filter.c:270
+#: ref-filter.c:281
 #, c-format
 msgid "unknown field name: %.*s"
 msgstr "không hiểu tên trường: %.*s"
 
-#: ref-filter.c:372
+#: ref-filter.c:383
 #, c-format
 msgid "format: %%(end) atom used without corresponding atom"
 msgstr "định dạng: nguyên tử %%(end) được dùng mà không có nguyên tử tương ứng"
 
-#: ref-filter.c:424
+#: ref-filter.c:435
 #, c-format
 msgid "malformed format string %s"
 msgstr "chuỗi định dạng dị hình %s"
 
-#: ref-filter.c:878
+#: ref-filter.c:898
 msgid ":strip= requires a positive integer argument"
 msgstr ":strip= cần một đối số nguyên dương"
 
-#: ref-filter.c:883
+#: ref-filter.c:903
 #, c-format
 msgid "ref '%s' does not have %ld components to :strip"
 msgstr "tham chiếu “%s” không có %ld thành phần để mà :strip"
 
-#: ref-filter.c:1046
+#: ref-filter.c:1066
 #, c-format
 msgid "unknown %.*s format %s"
 msgstr "Không hiểu định dạng %.*s %s"
 
-#: ref-filter.c:1066 ref-filter.c:1097
+#: ref-filter.c:1086 ref-filter.c:1117
 #, c-format
 msgid "missing object %s for %s"
 msgstr "thiếu đối tượng %s cho %s"
 
-#: ref-filter.c:1069 ref-filter.c:1100
+#: ref-filter.c:1089 ref-filter.c:1120
 #, c-format
 msgid "parse_object_buffer failed on %s for %s"
 msgstr "parse_object_buffer gặp lỗi trên %s cho %s"
 
-#: ref-filter.c:1311
+#: ref-filter.c:1343
 #, c-format
 msgid "malformed object at '%s'"
 msgstr "đối tượng dị hình tại “%s”"
 
-#: ref-filter.c:1373
+#: ref-filter.c:1410
 #, c-format
 msgid "ignoring ref with broken name %s"
 msgstr "đang lờ đi tham chiếu với tên hỏng %s"
 
-#: ref-filter.c:1378
+#: ref-filter.c:1415
 #, c-format
 msgid "ignoring broken ref %s"
 msgstr "đang lờ đi tham chiếu hỏng %s"
 
-#: ref-filter.c:1633
+#: ref-filter.c:1670
 #, c-format
 msgid "format: %%(end) atom missing"
 msgstr "định dạng: thiếu nguyên tử %%(end)"
 
-#: ref-filter.c:1687
+#: ref-filter.c:1734
 #, c-format
 msgid "malformed object name %s"
 msgstr "tên đối tượng dị hình %s"
 
-#: remote.c:746
+#: remote.c:754
 #, c-format
 msgid "Cannot fetch both %s and %s to %s"
 msgstr "Không thể lấy về cả %s và %s cho %s"
 
-#: remote.c:750
+#: remote.c:758
 #, c-format
 msgid "%s usually tracks %s, not %s"
 msgstr "%s thường theo dõi %s, không phải %s"
 
-#: remote.c:754
+#: remote.c:762
 #, c-format
 msgid "%s tracks both %s and %s"
 msgstr "%s theo dõi cả %s và %s"
 
-#: remote.c:762
+#: remote.c:770
 msgid "Internal error"
 msgstr "Lỗi nội bộ"
 
-#: remote.c:1677 remote.c:1720
+#: remote.c:1685 remote.c:1787
 msgid "HEAD does not point to a branch"
 msgstr "HEAD không chỉ đến một nhánh nào cả"
 
-#: remote.c:1686
+#: remote.c:1694
 #, c-format
 msgid "no such branch: '%s'"
 msgstr "không có nhánh nào như thế: “%s”"
 
-#: remote.c:1689
+#: remote.c:1697
 #, c-format
 msgid "no upstream configured for branch '%s'"
 msgstr "không có thượng nguồn được cấu hình cho nhánh “%s”"
 
-#: remote.c:1695
+#: remote.c:1703
 #, c-format
 msgid "upstream branch '%s' not stored as a remote-tracking branch"
 msgstr ""
 "nhánh thượng nguồn “%s” không được lưu lại như là một nhánh theo dõi máy chủ"
 
-#: remote.c:1710
+#: remote.c:1718
 #, c-format
 msgid "push destination '%s' on remote '%s' has no local tracking branch"
 msgstr "đẩy lên đích “%s” trên máy chủ “%s” không có nhánh theo dõi nội bộ"
 
-#: remote.c:1725
+#: remote.c:1730
 #, c-format
 msgid "branch '%s' has no remote for pushing"
 msgstr "nhánh “%s” không có máy chủ để đẩy lên"
 
-#: remote.c:1736
+#: remote.c:1741
 #, c-format
 msgid "push refspecs for '%s' do not include '%s'"
 msgstr "đẩy refspecs cho “%s” không bao gồm “%s”"
 
-#: remote.c:1749
+#: remote.c:1754
 msgid "push has no destination (push.default is 'nothing')"
 msgstr "đẩy lên mà không có đích (push.default là “nothing”)"
 
-#: remote.c:1771
+#: remote.c:1776
 msgid "cannot resolve 'simple' push to a single destination"
 msgstr "không thể phân giải đẩy “đơn giản” đến một đích đơn"
 
-#: remote.c:2073
+#: remote.c:2081
 #, c-format
 msgid "Your branch is based on '%s', but the upstream is gone.\n"
 msgstr ""
 "Nhánh của bạn dựa trên cơ sở là “%s”, nhưng trên thượng nguồn không còn.\n"
 
-#: remote.c:2077
+#: remote.c:2085
 msgid "  (use \"git branch --unset-upstream\" to fixup)\n"
 msgstr "   (dùng \" git branch --unset-upstream\" để sửa)\n"
 
-#: remote.c:2080
+#: remote.c:2088
 #, c-format
 msgid "Your branch is up-to-date with '%s'.\n"
 msgstr "Nhánh của bạn đã cập nhật với “%s”.\n"
 
-#: remote.c:2084
+#: remote.c:2092
 #, c-format
 msgid "Your branch is ahead of '%s' by %d commit.\n"
 msgid_plural "Your branch is ahead of '%s' by %d commits.\n"
 msgstr[0] "Nhánh của bạn đứng trước “%s” %d lần chuyển giao.\n"
 
-#: remote.c:2090
+#: remote.c:2098
 msgid "  (use \"git push\" to publish your local commits)\n"
 msgstr "  (dùng \"git push\" để xuất bản các lần chuyển giao nội bộ của bạn)\n"
 
-#: remote.c:2093
+#: remote.c:2101
 #, c-format
 msgid "Your branch is behind '%s' by %d commit, and can be fast-forwarded.\n"
 msgid_plural ""
@@ -2531,11 +2562,11 @@
 "Nhánh của bạn đứng đằng sau “%s” %d lần chuyển giao, và có thể được chuyển-"
 "tiếp-nhanh.\n"
 
-#: remote.c:2101
+#: remote.c:2109
 msgid "  (use \"git pull\" to update your local branch)\n"
 msgstr "  (dùng \"git pull\" để cập nhật nhánh nội bộ của bạn)\n"
 
-#: remote.c:2104
+#: remote.c:2112
 #, c-format
 msgid ""
 "Your branch and '%s' have diverged,\n"
@@ -2548,7 +2579,7 @@
 "và có %d và %d lần chuyển giao khác nhau cho từng cái,\n"
 "tương ứng với mỗi lần.\n"
 
-#: remote.c:2114
+#: remote.c:2122
 msgid "  (use \"git pull\" to merge the remote branch into yours)\n"
 msgstr ""
 "  (dùng \"git pull\" để hòa trộn nhánh trên máy chủ vào trong nhánh của "
@@ -2567,11 +2598,11 @@
 msgid "--first-parent is incompatible with --bisect"
 msgstr "--first-parent xung khắc với --bisect"
 
-#: run-command.c:106
+#: run-command.c:125
 msgid "open /dev/null failed"
 msgstr "gặp lỗi khi mở “/dev/null”"
 
-#: run-command.c:108
+#: run-command.c:127
 #, c-format
 msgid "dup2(%d,%d) failed"
 msgstr "dup2(%d,%d) gặp lỗi"
@@ -2600,15 +2631,24 @@
 msgid "the receiving end does not support push options"
 msgstr "kết thúc nhận không hỗ trợ các tùy chọn của lệnh push"
 
-#: sequencer.c:171
+#: sequencer.c:215
 msgid "revert"
 msgstr "hoàn nguyên"
 
-#: sequencer.c:171
+#: sequencer.c:217
 msgid "cherry-pick"
 msgstr "cherry-pick"
 
-#: sequencer.c:228
+#: sequencer.c:219
+msgid "rebase -i"
+msgstr "rebase -i"
+
+#: sequencer.c:221
+#, c-format
+msgid "Unknown action: %d"
+msgstr "Không nhận ra thao tác: %d"
+
+#: sequencer.c:278
 msgid ""
 "after resolving the conflicts, mark the corrected paths\n"
 "with 'git add <paths>' or 'git rm <paths>'"
@@ -2616,7 +2656,7 @@
 "sau khi giải quyết các xung đột, đánh dấu đường dẫn đã sửa\n"
 "với lệnh “git add <đường_dẫn>” hoặc “git rm <đường_dẫn>”"
 
-#: sequencer.c:231
+#: sequencer.c:281
 msgid ""
 "after resolving the conflicts, mark the corrected paths\n"
 "with 'git add <paths>' or 'git rm <paths>'\n"
@@ -2626,60 +2666,63 @@
 "với lệnh “git add <đường_dẫn>” hoặc “git rm <đường_dẫn>”\n"
 "và chuyển giao kết quả bằng lệnh “git commit”"
 
-#: sequencer.c:244 sequencer.c:1209
+#: sequencer.c:294 sequencer.c:1667
 #, c-format
 msgid "could not lock '%s'"
 msgstr "không thể khóa “%s”"
 
-#: sequencer.c:247 sequencer.c:1125 sequencer.c:1214
+#: sequencer.c:297 sequencer.c:1545 sequencer.c:1672 sequencer.c:1686
 #, c-format
 msgid "could not write to '%s'"
 msgstr "không thể ghi vào “%s”"
 
-#: sequencer.c:251
+#: sequencer.c:301
 #, c-format
 msgid "could not write eol to '%s'"
 msgstr "không thể ghi eol vào “%s”"
 
-#: sequencer.c:255 sequencer.c:1130 sequencer.c:1216
+#: sequencer.c:305 sequencer.c:1550 sequencer.c:1674
 #, c-format
 msgid "failed to finalize '%s'."
 msgstr "gặp lỗi khi finalize “%s”"
 
-#: sequencer.c:279 builtin/am.c:259 builtin/commit.c:749 builtin/merge.c:1032
+#: sequencer.c:329 sequencer.c:808 sequencer.c:1571 builtin/am.c:259
+#: builtin/commit.c:749 builtin/merge.c:1036
 #, c-format
 msgid "could not read '%s'"
 msgstr "Không thể đọc “%s”."
 
-#: sequencer.c:305
+#: sequencer.c:355
 #, c-format
 msgid "your local changes would be overwritten by %s."
 msgstr "các thay đổi nội bộ của bạn có thể bị ghi đè bởi lệnh %s."
 
-#: sequencer.c:309
+#: sequencer.c:359
 msgid "commit your changes or stash them to proceed."
 msgstr "chuyển giao các thay đổi của bạn hay tạm cất (stash) chúng để xử lý."
 
-#: sequencer.c:324
+#: sequencer.c:388
 #, c-format
 msgid "%s: fast-forward"
 msgstr "%s: chuyển-tiếp-nhanh"
 
-#. TRANSLATORS: %s will be "revert" or "cherry-pick"
-#: sequencer.c:399
+#. TRANSLATORS: %s will be "revert", "cherry-pick" or
+#. * "rebase -i".
+#.
+#: sequencer.c:470
 #, c-format
 msgid "%s: Unable to write new index file"
 msgstr "%s: Không thể ghi tập tin lưu bảng mục lục mới"
 
-#: sequencer.c:418
+#: sequencer.c:489
 msgid "could not resolve HEAD commit\n"
 msgstr "không thể phân giải lần chuyển giao HEAD\n"
 
-#: sequencer.c:438
+#: sequencer.c:509
 msgid "unable to update cache tree\n"
 msgstr "không thể cập nhật cây bộ nhớ đệm\n"
 
-#: sequencer.c:483
+#: sequencer.c:592
 #, c-format
 msgid ""
 "you have staged changes in your working tree\n"
@@ -2708,174 +2751,397 @@
 "\n"
 "  git rebase --continue\n"
 
-#: sequencer.c:567
+#: sequencer.c:688
 #, c-format
 msgid "could not parse commit %s\n"
 msgstr "không thể phân tích lần chuyển giao %s\n"
 
-#: sequencer.c:572
+#: sequencer.c:693
 #, c-format
 msgid "could not parse parent commit %s\n"
 msgstr "không thể phân tích lần chuyển giao cha mẹ “%s”\n"
 
-#: sequencer.c:656
+#: sequencer.c:815
+#, c-format
+msgid ""
+"unexpected 1st line of squash message:\n"
+"\n"
+"\t%.*s"
+msgstr ""
+"không cần dòng thứ nhất của ghi chú squash:\n"
+"\n"
+"\t%.*s"
+
+#: sequencer.c:821
+#, c-format
+msgid ""
+"invalid 1st line of squash message:\n"
+"\n"
+"\t%.*s"
+msgstr ""
+"dòng thứ nhất của ghi chú squash không hợp lệ:\n"
+"\n"
+"\t%.*s"
+
+#: sequencer.c:827 sequencer.c:852
+#, c-format
+msgid "This is a combination of %d commits."
+msgstr "Đây là tổ hợp của %d lần chuyển giao."
+
+#: sequencer.c:836
+msgid "need a HEAD to fixup"
+msgstr "cần một HEAD để sửa"
+
+#: sequencer.c:838
+msgid "could not read HEAD"
+msgstr "không thể đọc HEAD"
+
+#: sequencer.c:840
+msgid "could not read HEAD's commit message"
+msgstr "không thể đọc phần chú thích (message) của HEAD"
+
+#: sequencer.c:846
+#, c-format
+msgid "cannot write '%s'"
+msgstr "không thể ghi “%s”"
+
+#: sequencer.c:855 git-rebase--interactive.sh:445
+msgid "This is the 1st commit message:"
+msgstr "Đây là chú thích cho lần chuyển giao thứ nhất:"
+
+#: sequencer.c:863
+#, c-format
+msgid "could not read commit message of %s"
+msgstr "không thể đọc phần chú thích (message) của %s"
+
+#: sequencer.c:870
+#, c-format
+msgid "This is the commit message #%d:"
+msgstr "Đây là chú thích cho lần chuyển giao thứ #%d:"
+
+#: sequencer.c:875
+#, c-format
+msgid "The commit message #%d will be skipped:"
+msgstr "Chú thích cho lần chuyển giao thứ #%d sẽ bị bỏ qua:"
+
+#: sequencer.c:880
+#, c-format
+msgid "unknown command: %d"
+msgstr "không hiểu câu lệnh %d"
+
+#: sequencer.c:946
 msgid "your index file is unmerged."
 msgstr "tập tin lưu mục lục của bạn không được hòa trộn."
 
-#: sequencer.c:675
+#: sequencer.c:964
 #, c-format
 msgid "commit %s is a merge but no -m option was given."
 msgstr "lần chuyển giao %s là một lần hòa trộn nhưng không đưa ra tùy chọn -m."
 
-#: sequencer.c:683
+#: sequencer.c:972
 #, c-format
 msgid "commit %s does not have parent %d"
 msgstr "lần chuyển giao %s không có cha mẹ %d"
 
-#: sequencer.c:687
+#: sequencer.c:976
 #, c-format
 msgid "mainline was specified but commit %s is not a merge."
 msgstr ""
 "luồng chính đã được chỉ ra nhưng lần chuyển giao %s không phải là một lần "
 "hòa trộn."
 
-#. TRANSLATORS: The first %s will be a "todo" command like
-#. "revert" or "pick", the second %s a SHA1.
-#: sequencer.c:700
-#, c-format
-msgid "%s: cannot parse parent commit %s"
-msgstr "%s: không thể phân tích lần chuyển giao mẹ của %s"
-
-#: sequencer.c:705
+#: sequencer.c:982
 #, c-format
 msgid "cannot get commit message for %s"
 msgstr "không thể lấy ghi chú lần chuyển giao cho %s"
 
-#: sequencer.c:797
+#. TRANSLATORS: The first %s will be a "todo" command like
+#. "revert" or "pick", the second %s a SHA1.
+#: sequencer.c:1001
+#, c-format
+msgid "%s: cannot parse parent commit %s"
+msgstr "%s: không thể phân tích lần chuyển giao mẹ của %s"
+
+#: sequencer.c:1063 sequencer.c:1812
+#, c-format
+msgid "could not rename '%s' to '%s'"
+msgstr "không thể đổi tên “%s” thành “%s”"
+
+#: sequencer.c:1114
 #, c-format
 msgid "could not revert %s... %s"
 msgstr "không thể hoàn nguyên %s… %s"
 
-#: sequencer.c:798
+#: sequencer.c:1115
 #, c-format
 msgid "could not apply %s... %s"
 msgstr "không thể áp dụng miếng vá %s… %s"
 
-#: sequencer.c:833
+#: sequencer.c:1157
 msgid "empty commit set passed"
 msgstr "lần chuyển giao trống rỗng đặt là hợp quy cách"
 
-#: sequencer.c:843
+#: sequencer.c:1167
 #, c-format
 msgid "git %s: failed to read the index"
 msgstr "git %s: gặp lỗi đọc bảng mục lục"
 
-#: sequencer.c:850
+#: sequencer.c:1174
 #, c-format
 msgid "git %s: failed to refresh the index"
 msgstr "git %s: gặp lỗi khi làm tươi mới bảng mục lục"
 
-#: sequencer.c:944
+#: sequencer.c:1294
 #, c-format
 msgid "invalid line %d: %.*s"
 msgstr "dòng không hợp lệ %d: %.*s"
 
-#: sequencer.c:950
-msgid "no commits parsed."
-msgstr "không có lần chuyển giao nào được phân tích."
+#: sequencer.c:1302
+#, c-format
+msgid "cannot '%s' without a previous commit"
+msgstr "không thể “%s” thể mà không có lần chuyển giao kế trước"
 
-#: sequencer.c:966
+#: sequencer.c:1334
 #, c-format
 msgid "could not read '%s'."
 msgstr "không thể đọc “%s”."
 
-#: sequencer.c:972
+#: sequencer.c:1341
+msgid "please fix this using 'git rebase --edit-todo'."
+msgstr "vui lòng sửa lỗi này bằng cách dùng “git rebase --edit-todo”."
+
+#: sequencer.c:1343
 #, c-format
 msgid "unusable instruction sheet: '%s'"
 msgstr "bảng chỉ thị không thể dùng được: %s"
 
-#: sequencer.c:983
+#: sequencer.c:1348
+msgid "no commits parsed."
+msgstr "không có lần chuyển giao nào được phân tích."
+
+#: sequencer.c:1359
 msgid "cannot cherry-pick during a revert."
 msgstr "không thể cherry-pick trong khi hoàn nguyên."
 
-#: sequencer.c:985
+#: sequencer.c:1361
 msgid "cannot revert during a cherry-pick."
 msgstr "không thể thực hiện việc hoàn nguyên trong khi đang cherry-pick."
 
-#: sequencer.c:1028
+#: sequencer.c:1424
 #, c-format
 msgid "invalid key: %s"
 msgstr "khóa không đúng: %s"
 
-#: sequencer.c:1031
+#: sequencer.c:1427
 #, c-format
 msgid "invalid value for %s: %s"
 msgstr "giá trị cho %s không hợp lệ: %s"
 
-#: sequencer.c:1063
+#: sequencer.c:1484
 #, c-format
 msgid "malformed options sheet: '%s'"
 msgstr "bảng tùy chọn dị hình: “%s”"
 
-#: sequencer.c:1101
+#: sequencer.c:1522
 msgid "a cherry-pick or revert is already in progress"
 msgstr "có một thao tác “cherry-pick” hoặc “revert” đang được thực hiện"
 
-#: sequencer.c:1102
+#: sequencer.c:1523
 msgid "try \"git cherry-pick (--continue | --quit | --abort)\""
 msgstr "hãy thử \"git cherry-pick (--continue | --quit | --abort)\""
 
-#: sequencer.c:1106
+#: sequencer.c:1526
 #, c-format
 msgid "could not create sequencer directory '%s'"
 msgstr "không thể tạo thư mục xếp dãy “%s”"
 
-#: sequencer.c:1120
+#: sequencer.c:1540
 msgid "could not lock HEAD"
 msgstr "không thể khóa HEAD"
 
-#: sequencer.c:1151 sequencer.c:1289
+#: sequencer.c:1596 sequencer.c:2150
 msgid "no cherry-pick or revert in progress"
 msgstr "không cherry-pick hay hoàn nguyên trong tiến trình"
 
-#: sequencer.c:1153
+#: sequencer.c:1598
 msgid "cannot resolve HEAD"
 msgstr "không thể phân giải HEAD"
 
-#: sequencer.c:1155 sequencer.c:1189
+#: sequencer.c:1600 sequencer.c:1634
 msgid "cannot abort from a branch yet to be born"
 msgstr "không thể hủy bỏ từ một nhánh mà nó còn chưa được tạo ra"
 
-#: sequencer.c:1175 builtin/grep.c:578
+#: sequencer.c:1620 builtin/grep.c:904
 #, c-format
 msgid "cannot open '%s'"
 msgstr "không mở được “%s”"
 
-#: sequencer.c:1177
+#: sequencer.c:1622
 #, c-format
 msgid "cannot read '%s': %s"
 msgstr "không thể đọc “%s”: %s"
 
-#: sequencer.c:1178
+#: sequencer.c:1623
 msgid "unexpected end of file"
 msgstr "gặp kết thúc tập tin đột xuất"
 
-#: sequencer.c:1184
+#: sequencer.c:1629
 #, c-format
 msgid "stored pre-cherry-pick HEAD file '%s' is corrupt"
 msgstr "tập tin HEAD “pre-cherry-pick” đã lưu “%s” bị hỏng"
 
-#: sequencer.c:1354
+#: sequencer.c:1640
+msgid "You seem to have moved HEAD. Not rewinding, check your HEAD!"
+msgstr ""
+"Bạn có lẽ đã có HEAD đã bị di chuyển đi, Không thể tua, kiểm tra HEAD của "
+"bạn!"
+
+#: sequencer.c:1777 sequencer.c:2049
+msgid "cannot read HEAD"
+msgstr "không thể đọc HEAD"
+
+#: sequencer.c:1817 builtin/difftool.c:574
+#, c-format
+msgid "could not copy '%s' to '%s'"
+msgstr "không thể chép “%s” sang “%s”"
+
+#: sequencer.c:1833
+msgid "could not read index"
+msgstr "không thể đọc bảng mục lục"
+
+#: sequencer.c:1838
+#, c-format
+msgid ""
+"execution failed: %s\n"
+"%sYou can fix the problem, and then run\n"
+"\n"
+"  git rebase --continue\n"
+"\n"
+msgstr ""
+"thực thi gặp lỗi: %s\n"
+"%sBạn có thể sửa các trục trặc, và sau đó chạy lệnh\n"
+"\n"
+"  git rebase --continue\n"
+"\n"
+
+#: sequencer.c:1844
+msgid "and made changes to the index and/or the working tree\n"
+msgstr "và tạo các thay đổi bảng mục lục và/hay cây làm việc\n"
+
+#: sequencer.c:1850
+#, c-format
+msgid ""
+"execution succeeded: %s\n"
+"but left changes to the index and/or the working tree\n"
+"Commit or stash your changes, and then run\n"
+"\n"
+"  git rebase --continue\n"
+"\n"
+msgstr ""
+"thực thi thành công: %s\n"
+"nhưng còn các thay đổi trong mục lục và/hoặc cây làm việc\n"
+"Chuyển giao hay tạm cất các thay đổi này đi, rồi chạy\n"
+"\n"
+"  git rebase --continue\n"
+"\n"
+
+#: sequencer.c:1905 git-rebase.sh:168
+#, c-format
+msgid "Applied autostash."
+msgstr "Đã áp dụng autostash."
+
+#: sequencer.c:1917
+#, c-format
+msgid "cannot store %s"
+msgstr "không thử lưu “%s”"
+
+#: sequencer.c:1919 git-rebase.sh:172
+#, c-format
+msgid ""
+"Applying autostash resulted in conflicts.\n"
+"Your changes are safe in the stash.\n"
+"You can run \"git stash pop\" or \"git stash drop\" at any time.\n"
+msgstr ""
+"Áp dụng autostash có hiệu quả trong các xung đột.\n"
+"Các thay đổi của bạn an toàn trong stash (tạm cất đi).\n"
+"Bạn có thể chạy lệnh \"git stash pop\" hay \"git stash drop\" bất kỳ lúc "
+"nào.\n"
+
+#: sequencer.c:2000
+#, c-format
+msgid "stopped at %s... %.*s"
+msgstr "dừng lại ở %s… %.*s"
+
+#: sequencer.c:2027
+#, c-format
+msgid "unknown command %d"
+msgstr "không hiểu câu lệnh %d"
+
+#: sequencer.c:2057
+msgid "could not read orig-head"
+msgstr "không thể đọc orig-head"
+
+#: sequencer.c:2061
+msgid "could not read 'onto'"
+msgstr "không thể đọc “onto”."
+
+#: sequencer.c:2068
+#, c-format
+msgid "could not update %s"
+msgstr "không thể cập nhật %s"
+
+#: sequencer.c:2075
+#, c-format
+msgid "could not update HEAD to %s"
+msgstr "không thể cập nhật HEAD thành %s"
+
+#: sequencer.c:2159
+msgid "cannot rebase: You have unstaged changes."
+msgstr "không thể cải tổ: Bạn có các thay đổi chưa được đưa lên bệ phóng."
+
+#: sequencer.c:2164
+msgid "could not remove CHERRY_PICK_HEAD"
+msgstr "không thể xóa bỏ CHERRY_PICK_HEAD"
+
+#: sequencer.c:2173
+msgid "cannot amend non-existing commit"
+msgstr "không thể tu bỏ một lần chuyển giao không tồn tại"
+
+#: sequencer.c:2175
+#, c-format
+msgid "invalid file: '%s'"
+msgstr "tập tin không hợp lệ: “%s”"
+
+#: sequencer.c:2177
+#, c-format
+msgid "invalid contents: '%s'"
+msgstr "nội dung không hợp lệ: “%s”"
+
+#: sequencer.c:2180
+msgid ""
+"\n"
+"You have uncommitted changes in your working tree. Please, commit them\n"
+"first and then run 'git rebase --continue' again."
+msgstr ""
+"\n"
+"Bạn có các thay đổi chưa chuyển giao trong thư mục làm việc. Vui lòng\n"
+"chuyển giao chúng trước và sau đó chạy lệnh “git rebase --continue” lần nữa."
+
+#: sequencer.c:2190
+msgid "could not commit staged changes."
+msgstr "không thể chuyển giao các thay đổi đã đưa lên bệ phóng."
+
+#: sequencer.c:2270
 #, c-format
 msgid "%s: can't cherry-pick a %s"
 msgstr "%s: không thể cherry-pick một %s"
 
-#: sequencer.c:1358
+#: sequencer.c:2274
 #, c-format
 msgid "%s: bad revision"
 msgstr "%s: điểm xét duyệt sai"
 
-#: sequencer.c:1391
+#: sequencer.c:2307
 msgid "can't revert as initial commit"
 msgstr "không thể hoàn nguyên một lần chuyển giao khởi tạo"
 
@@ -2912,29 +3178,29 @@
 "Dùng “--” để ngăn cách các đường dẫn khỏi điểm xem xét, như thế này:\n"
 "“git <lệnh> [<điểm xem xét>…] -- [<tập tin>…]”"
 
-#: setup.c:468
+#: setup.c:470
 #, c-format
 msgid "Expected git repo version <= %d, found %d"
 msgstr "Cần phiên bản kho git <= %d, nhưng lại nhận được %d"
 
-#: setup.c:476
+#: setup.c:478
 msgid "unknown repository extensions found:"
 msgstr "tìm thấy phần mở rộng kho chưa biết:"
 
-#: setup.c:762
+#: setup.c:768
 #, c-format
 msgid "Not a git repository (or any of the parent directories): %s"
 msgstr "Không phải là kho git (hoặc bất kỳ thư mục cha mẹ nào): %s"
 
-#: setup.c:764 setup.c:915 builtin/index-pack.c:1641
+#: setup.c:770 setup.c:922 builtin/index-pack.c:1643
 msgid "Cannot come back to cwd"
 msgstr "Không thể quay lại cwd"
 
-#: setup.c:845
+#: setup.c:852
 msgid "Unable to read current working directory"
 msgstr "Không thể đọc thư mục làm việc hiện hành"
 
-#: setup.c:920
+#: setup.c:927
 #, c-format
 msgid ""
 "Not a git repository (or any parent up to mount point %s)\n"
@@ -2944,12 +3210,12 @@
 "Dừng tại biên của hệ thống tập tin (GIT_DISCOVERY_ACROSS_FILESYSTEM chưa "
 "đặt)."
 
-#: setup.c:927
+#: setup.c:934
 #, c-format
 msgid "Cannot change to '%s/..'"
 msgstr "Không thể chuyển sang “%s/..”"
 
-#: setup.c:989
+#: setup.c:996
 #, c-format
 msgid ""
 "Problem with core.sharedRepository filemode value (0%.3o).\n"
@@ -2958,41 +3224,41 @@
 "Gặp vấn đề với gía trị chế độ tập tin core.sharedRepository (0%.3o).\n"
 "người sở hữu tập tin phải luôn có quyền đọc và ghi."
 
-#: sha1_file.c:473
+#: sha1_file.c:490
 #, c-format
 msgid "path '%s' does not exist"
 msgstr "đường dẫn “%s” không tồn tại"
 
-#: sha1_file.c:499
+#: sha1_file.c:516
 #, c-format
 msgid "reference repository '%s' as a linked checkout is not supported yet."
 msgstr "kho tham chiếu “%s” như là lấy ra liên kết vẫn chưa được hỗ trợ."
 
-#: sha1_file.c:505
+#: sha1_file.c:522
 #, c-format
 msgid "reference repository '%s' is not a local repository."
 msgstr "kho tham chiếu “%s” không phải là một kho nội bộ."
 
-#: sha1_file.c:511
+#: sha1_file.c:528
 #, c-format
 msgid "reference repository '%s' is shallow"
 msgstr "kho tham chiếu “%s” là nông"
 
-#: sha1_file.c:519
+#: sha1_file.c:536
 #, c-format
 msgid "reference repository '%s' is grafted"
 msgstr "kho tham chiếu “%s” bị cấy ghép"
 
-#: sha1_file.c:1159
+#: sha1_file.c:1176
 msgid "offset before end of packfile (broken .idx?)"
 msgstr "vị trí tương đối trước điểm kết thúc của tập tin gói (.idx hỏng à?)"
 
-#: sha1_file.c:2592
+#: sha1_file.c:2637
 #, c-format
 msgid "offset before start of pack index for %s (corrupt index?)"
 msgstr "vị trí tương đối nằm trước chỉ mục gói cho %s (mục lục bị hỏng à?)"
 
-#: sha1_file.c:2596
+#: sha1_file.c:2641
 #, c-format
 msgid "offset beyond end of pack index for %s (truncated index?)"
 msgstr ""
@@ -3031,90 +3297,135 @@
 "này\n"
 "bằng cách chạy lệnh \"git config advice.objectNameWarning false\""
 
-#: submodule.c:64 submodule.c:98
+#: submodule.c:65 submodule.c:99
 msgid "Cannot change unmerged .gitmodules, resolve merge conflicts first"
 msgstr ""
 "Không thể thay đổi .gitmodules chưa hòa trộn, hãy giải quyết xung đột trộn "
 "trước"
 
-#: submodule.c:68 submodule.c:102
+#: submodule.c:69 submodule.c:103
 #, c-format
 msgid "Could not find section in .gitmodules where path=%s"
 msgstr "Không thể tìm thấy phần trong .gitmodules nơi mà đường_dẫn=%s"
 
-#: submodule.c:76
+#: submodule.c:77
 #, c-format
 msgid "Could not update .gitmodules entry %s"
 msgstr "Không thể cập nhật mục .gitmodules %s"
 
-#: submodule.c:109
+#: submodule.c:110
 #, c-format
 msgid "Could not remove .gitmodules entry for %s"
 msgstr "Không thể gỡ bỏ mục .gitmodules dành cho %s"
 
-#: submodule.c:120
+#: submodule.c:121
 msgid "staging updated .gitmodules failed"
 msgstr "gặp lỗi khi tổ chức .gitmodules đã cập nhật"
 
-#: submodule.c:158
+#: submodule.c:159
 msgid "negative values not allowed for submodule.fetchJobs"
 msgstr "không cho phép giá trị âm ở submodule.fetchJobs"
 
-#: submodule-config.c:358
+#: submodule.c:1184
+#, c-format
+msgid "could not start 'git status in submodule '%s'"
+msgstr "không thể khởi chạy “git status trong mô-đun-con cho “%s”"
+
+#: submodule.c:1197
+#, c-format
+msgid "could not run 'git status in submodule '%s'"
+msgstr "không thể chạy “git status trong mô-đun-con “%s”"
+
+#: submodule.c:1398
+#, c-format
+msgid ""
+"relocate_gitdir for submodule '%s' with more than one worktree not supported"
+msgstr ""
+"relocate_gitdir cho mô-đun-con “%s” với nhiều hơn một cây làm việc là chưa "
+"được hỗ trợ"
+
+#: submodule.c:1410 submodule.c:1471
+#, c-format
+msgid "could not lookup name for submodule '%s'"
+msgstr "không thể tìm kiếm tên cho mô-đun-con “%s”"
+
+#: submodule.c:1414 submodule.c:1474 builtin/submodule--helper.c:640
+#: builtin/submodule--helper.c:650
+#, c-format
+msgid "could not create directory '%s'"
+msgstr "không thể tạo thư mục “%s”"
+
+#: submodule.c:1420
+#, c-format
+msgid ""
+"Migrating git directory of '%s%s' from\n"
+"'%s' to\n"
+"'%s'\n"
+msgstr ""
+"Di cư thư mục git của “%s%s” từ\n"
+"“%s” sang\n"
+"“%s”\n"
+
+#: submodule.c:1512
+#, c-format
+msgid "could not recurse into submodule '%s'"
+msgstr "không thể đệ quy vào trong mô-đun-con “%s”"
+
+#: submodule-config.c:360
 #, c-format
 msgid "invalid value for %s"
 msgstr "giá trị cho %s không hợp lệ"
 
-#: trailer.c:238
+#: trailer.c:240
 #, c-format
 msgid "running trailer command '%s' failed"
 msgstr "chạy lệnh kéo theo “%s” gặp lỗi"
 
-#: trailer.c:471 trailer.c:475 trailer.c:479 trailer.c:533 trailer.c:537
-#: trailer.c:541
+#: trailer.c:473 trailer.c:477 trailer.c:481 trailer.c:535 trailer.c:539
+#: trailer.c:543
 #, c-format
 msgid "unknown value '%s' for key '%s'"
 msgstr "không hiểu giá trị “%s” cho khóa “%s”"
 
-#: trailer.c:523 trailer.c:528 builtin/remote.c:289
+#: trailer.c:525 trailer.c:530 builtin/remote.c:289
 #, c-format
 msgid "more than one %s"
 msgstr "nhiều hơn một %s"
 
-#: trailer.c:672
+#: trailer.c:702
 #, c-format
 msgid "empty trailer token in trailer '%.*s'"
 msgstr "thẻ thừa trống rỗng trong phần thừa “%.*s”"
 
-#: trailer.c:695
+#: trailer.c:722
 #, c-format
 msgid "could not read input file '%s'"
 msgstr "không đọc được tập tin đầu vào “%s”"
 
-#: trailer.c:698
+#: trailer.c:725
 msgid "could not read from stdin"
 msgstr "không thể đọc từ đầu vào tiêu chuẩn"
 
-#: trailer.c:929 builtin/am.c:44
+#: trailer.c:949 builtin/am.c:44
 #, c-format
 msgid "could not stat %s"
 msgstr "không thể lấy thông tin thống kê về %s"
 
-#: trailer.c:931
+#: trailer.c:951
 #, c-format
 msgid "file %s is not a regular file"
 msgstr "\"%s\" không phải là tập tin bình thường"
 
-#: trailer.c:933
+#: trailer.c:953
 #, c-format
 msgid "file %s is not writable by user"
 msgstr "tập tin %s người dùng không thể ghi được"
 
-#: trailer.c:945
+#: trailer.c:965
 msgid "could not open temporary file"
 msgstr "không thể tạo tập tin tạm thời"
 
-#: trailer.c:983
+#: trailer.c:1001
 #, c-format
 msgid "could not rename temporary file to %s"
 msgstr "không thể đổi tên tập tin tạm thời thành %s"
@@ -3129,7 +3440,7 @@
 msgid "transport: invalid depth option '%s'"
 msgstr "vận chuyển: tùy chọn độ sâu “%s” không hợp lệ"
 
-#: transport.c:817
+#: transport.c:885
 #, c-format
 msgid ""
 "The following submodule paths contain changes that can\n"
@@ -3138,7 +3449,7 @@
 "Các đường dẫn mô-đun-con sau đây có chứa các thay đổi cái mà\n"
 "có thể được tìm thấy trên mọi máy phục vụ:\n"
 
-#: transport.c:821
+#: transport.c:889
 #, c-format
 msgid ""
 "\n"
@@ -3165,11 +3476,11 @@
 "để đẩy chúng lên máy phục vụ.\n"
 "\n"
 
-#: transport.c:829
+#: transport.c:897
 msgid "Aborting."
 msgstr "Bãi bỏ."
 
-#: transport-helper.c:1075
+#: transport-helper.c:1082
 #, c-format
 msgid "Could not read ref %s"
 msgstr "Không thể đọc tham chiếu %s"
@@ -3190,7 +3501,7 @@
 msgid "too-short tree file"
 msgstr "tập tin cây quá ngắn"
 
-#: unpack-trees.c:64
+#: unpack-trees.c:99
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by checkout:\n"
@@ -3201,7 +3512,7 @@
 "%%sVui lòng chuyển giao các thay đổi hay tạm cất chúng đi trước khi bạn "
 "chuyển nhánh."
 
-#: unpack-trees.c:66
+#: unpack-trees.c:101
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by checkout:\n"
@@ -3211,7 +3522,7 @@
 "checkout:\n"
 "%%s"
 
-#: unpack-trees.c:69
+#: unpack-trees.c:104
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by merge:\n"
@@ -3222,7 +3533,7 @@
 "%%sVui lòng chuyển giao các thay đổi hay tạm cất chúng đi trước khi bạn hòa "
 "trộn."
 
-#: unpack-trees.c:71
+#: unpack-trees.c:106
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by merge:\n"
@@ -3232,7 +3543,7 @@
 "hòa trộn:\n"
 "%%s"
 
-#: unpack-trees.c:74
+#: unpack-trees.c:109
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by %s:\n"
@@ -3242,7 +3553,7 @@
 "%s:\n"
 "%%sVui lòng chuyển giao các thay đổi hay tạm cất chúng đi trước khi bạn %s."
 
-#: unpack-trees.c:76
+#: unpack-trees.c:111
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by %s:\n"
@@ -3252,17 +3563,17 @@
 "%s:\n"
 "%%s"
 
-#: unpack-trees.c:81
+#: unpack-trees.c:116
 #, c-format
 msgid ""
-"Updating the following directories would lose untracked files in it:\n"
+"Updating the following directories would lose untracked files in them:\n"
 "%s"
 msgstr ""
-"Việc cập nhật các thư mục sau đây có thể làm mất các tập tin theo dõi trong "
-"nó:\n"
+"Việc cập nhật các thư mục sau đây có thể làm mất các tập tin chưa theo dõi "
+"trong nó:\n"
 "%s"
 
-#: unpack-trees.c:85
+#: unpack-trees.c:120
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by checkout:\n"
@@ -3272,7 +3583,7 @@
 "checkout:\n"
 "%%sVui lòng di chuyển hay gỡ bỏ chúng trước khi bạn chuyển nhánh."
 
-#: unpack-trees.c:87
+#: unpack-trees.c:122
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by checkout:\n"
@@ -3282,7 +3593,7 @@
 "checkout:\n"
 "%%s"
 
-#: unpack-trees.c:90
+#: unpack-trees.c:125
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by merge:\n"
@@ -3292,7 +3603,7 @@
 "trộn:\n"
 "%%sVui lòng di chuyển hay gỡ bỏ chúng trước khi bạn hòa trộn."
 
-#: unpack-trees.c:92
+#: unpack-trees.c:127
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by merge:\n"
@@ -3302,7 +3613,7 @@
 "trộn:\n"
 "%%s"
 
-#: unpack-trees.c:95
+#: unpack-trees.c:130
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by %s:\n"
@@ -3311,7 +3622,7 @@
 "Các tập tin cây làm việc chưa được theo dõi sau đây sẽ bị gỡ bỏ bởi %s:\n"
 "%%sVui lòng di chuyển hay gỡ bỏ chúng trước khi bạn %s."
 
-#: unpack-trees.c:97
+#: unpack-trees.c:132
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by %s:\n"
@@ -3320,7 +3631,7 @@
 "Các tập tin cây làm việc chưa được theo dõi sau đây sẽ bị gỡ bỏ bởi %s:\n"
 "%%s"
 
-#: unpack-trees.c:102
+#: unpack-trees.c:137
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by "
@@ -3331,7 +3642,7 @@
 "checkout:\n"
 "%%sVui lòng di chuyển hay gỡ bỏ chúng trước khi bạn chuyển nhánh."
 
-#: unpack-trees.c:104
+#: unpack-trees.c:139
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by "
@@ -3342,7 +3653,7 @@
 "checkout:\n"
 "%%s"
 
-#: unpack-trees.c:107
+#: unpack-trees.c:142
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by merge:\n"
@@ -3352,7 +3663,7 @@
 "hòa trộn:\n"
 "%%sVui lòng di chuyển hay gỡ bỏ chúng trước khi bạn hòa trộn."
 
-#: unpack-trees.c:109
+#: unpack-trees.c:144
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by merge:\n"
@@ -3362,7 +3673,7 @@
 "hòa trộn:\n"
 "%%s"
 
-#: unpack-trees.c:112
+#: unpack-trees.c:147
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by %s:\n"
@@ -3372,7 +3683,7 @@
 "%s:\n"
 "%%sVui lòng di chuyển hay gỡ bỏ chúng trước khi bạn %s."
 
-#: unpack-trees.c:114
+#: unpack-trees.c:149
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by %s:\n"
@@ -3382,12 +3693,12 @@
 "%s:\n"
 "%%s"
 
-#: unpack-trees.c:121
+#: unpack-trees.c:156
 #, c-format
 msgid "Entry '%s' overlaps with '%s'.  Cannot bind."
 msgstr "Mục “%s” đè lên “%s”. Không thể buộc."
 
-#: unpack-trees.c:124
+#: unpack-trees.c:159
 #, c-format
 msgid ""
 "Cannot update sparse checkout: the following entries are not up-to-date:\n"
@@ -3396,7 +3707,7 @@
 "Không thể cập nhật checkout rải rác: các mục tin sau đây chưa cập nhật:\n"
 "%s"
 
-#: unpack-trees.c:126
+#: unpack-trees.c:161
 #, c-format
 msgid ""
 "The following working tree files would be overwritten by sparse checkout "
@@ -3407,7 +3718,7 @@
 "nhật checkout rải rác:\n"
 "%s"
 
-#: unpack-trees.c:128
+#: unpack-trees.c:163
 #, c-format
 msgid ""
 "The following working tree files would be removed by sparse checkout "
@@ -3418,12 +3729,12 @@
 "nhật checkout rải rác:\n"
 "%s"
 
-#: unpack-trees.c:205
+#: unpack-trees.c:240
 #, c-format
 msgid "Aborting\n"
 msgstr "Bãi bỏ\n"
 
-#: unpack-trees.c:237
+#: unpack-trees.c:270
 msgid "Checking out files"
 msgstr "Đang lấy ra các tập tin"
 
@@ -3472,7 +3783,7 @@
 msgstr "không thể mở “%s” để ghi"
 
 #: wrapper.c:226 wrapper.c:396 builtin/am.c:320 builtin/am.c:759
-#: builtin/am.c:847 builtin/commit.c:1705 builtin/merge.c:1029
+#: builtin/am.c:847 builtin/commit.c:1700 builtin/merge.c:1033
 #: builtin/pull.c:341
 #, c-format
 msgid "could not open '%s' for reading"
@@ -3688,65 +3999,69 @@
 msgid "  (use \"git am --abort\" to restore the original branch)"
 msgstr "  (dùng \"git am --abort\" để phục hồi lại nhánh nguyên thủy)"
 
-#: wt-status.c:1172
+#: wt-status.c:1176
+msgid "git-rebase-todo is missing."
+msgstr "thiếu git-rebase-todo"
+
+#: wt-status.c:1178
 msgid "No commands done."
 msgstr "Không thực hiện lệnh nào."
 
-#: wt-status.c:1175
+#: wt-status.c:1181
 #, c-format
 msgid "Last command done (%d command done):"
 msgid_plural "Last commands done (%d commands done):"
 msgstr[0] "Lệnh thực hiện cuối (%d lệnh được thực thi):"
 
-#: wt-status.c:1186
+#: wt-status.c:1192
 #, c-format
 msgid "  (see more in file %s)"
 msgstr "  (xem thêm trong %s)"
 
-#: wt-status.c:1191
+#: wt-status.c:1197
 msgid "No commands remaining."
 msgstr "Không có lệnh nào còn lại."
 
-#: wt-status.c:1194
+#: wt-status.c:1200
 #, c-format
 msgid "Next command to do (%d remaining command):"
 msgid_plural "Next commands to do (%d remaining commands):"
 msgstr[0] "Lệnh cần làm kế tiếp (%d lệnh còn lại):"
 
-#: wt-status.c:1202
+#: wt-status.c:1208
 msgid "  (use \"git rebase --edit-todo\" to view and edit)"
 msgstr "  (dùng lệnh \"git rebase --edit-todo\" để xem và sửa)"
 
-#: wt-status.c:1215
+#: wt-status.c:1221
 #, c-format
 msgid "You are currently rebasing branch '%s' on '%s'."
 msgstr "Bạn hiện nay đang thực hiện việc “rebase” nhánh “%s” trên “%s”."
 
-#: wt-status.c:1220
+#: wt-status.c:1226
 msgid "You are currently rebasing."
 msgstr "Bạn hiện nay đang thực hiện việc “rebase” (“cải tổ”)."
 
-#: wt-status.c:1234
+#: wt-status.c:1240
 msgid "  (fix conflicts and then run \"git rebase --continue\")"
 msgstr ""
 "  (sửa các xung đột và sau đó chạy lệnh “cải tổ” \"git rebase --continue\")"
 
-#: wt-status.c:1236
+#: wt-status.c:1242
 msgid "  (use \"git rebase --skip\" to skip this patch)"
 msgstr "  (dùng lệnh “cải tổ” \"git rebase --skip\" để bỏ qua lần vá này)"
 
-#: wt-status.c:1238
+#: wt-status.c:1244
 msgid "  (use \"git rebase --abort\" to check out the original branch)"
 msgstr ""
 "  (dùng lệnh “cải tổ” \"git rebase --abort\" để check-out nhánh nguyên thủy)"
 
-#: wt-status.c:1244
+#: wt-status.c:1250
 msgid "  (all conflicts fixed: run \"git rebase --continue\")"
 msgstr ""
 "  (khi tất cả các xung đột đã sửa xong: chạy lệnh “cải tổ” \"git rebase --"
 "continue\")"
 
-#: wt-status.c:1248
+#: wt-status.c:1254
 #, c-format
 msgid ""
 "You are currently splitting a commit while rebasing branch '%s' on '%s'."
@@ -3754,130 +4069,130 @@
 "Bạn hiện nay đang thực hiện việc chia tách một lần chuyển giao trong khi "
 "đang “rebase” nhánh “%s” trên “%s”."
 
-#: wt-status.c:1253
+#: wt-status.c:1259
 msgid "You are currently splitting a commit during a rebase."
 msgstr ""
 "Bạn hiện tại đang cắt đôi một lần chuyển giao trong khi đang thực hiện việc "
 "rebase."
 
-#: wt-status.c:1256
+#: wt-status.c:1262
 msgid "  (Once your working directory is clean, run \"git rebase --continue\")"
 msgstr ""
 "  (Một khi thư mục làm việc của bạn đã gọn gàng, chạy lệnh “cải tổ” \"git "
 "rebase --continue\")"
 
-#: wt-status.c:1260
+#: wt-status.c:1266
 #, c-format
 msgid "You are currently editing a commit while rebasing branch '%s' on '%s'."
 msgstr ""
 "Bạn hiện nay đang thực hiện việc sửa chữa một lần chuyển giao trong khi đang "
 "rebase nhánh “%s” trên “%s”."
 
-#: wt-status.c:1265
+#: wt-status.c:1271
 msgid "You are currently editing a commit during a rebase."
 msgstr "Bạn hiện đang sửa một lần chuyển giao trong khi bạn thực hiện rebase."
 
-#: wt-status.c:1268
+#: wt-status.c:1274
 msgid "  (use \"git commit --amend\" to amend the current commit)"
 msgstr "  (dùng \"git commit --amend\" để “tu bổ” lần chuyển giao hiện tại)"
 
-#: wt-status.c:1270
+#: wt-status.c:1276
 msgid ""
 "  (use \"git rebase --continue\" once you are satisfied with your changes)"
 msgstr ""
 "  (chạy lệnh “cải tổ” \"git rebase --continue\" một khi bạn cảm thấy hài "
 "lòng về những thay đổi của mình)"
 
-#: wt-status.c:1280
+#: wt-status.c:1286
 #, c-format
 msgid "You are currently cherry-picking commit %s."
 msgstr "Bạn hiện nay đang thực hiện việc cherry-pick lần chuyển giao %s."
 
-#: wt-status.c:1285
+#: wt-status.c:1291
 msgid "  (fix conflicts and run \"git cherry-pick --continue\")"
 msgstr ""
 "  (sửa các xung đột và sau đó chạy lệnh \"git cherry-pick --continue\")"
 
-#: wt-status.c:1288
+#: wt-status.c:1294
 msgid "  (all conflicts fixed: run \"git cherry-pick --continue\")"
 msgstr ""
 "  (khi tất cả các xung đột đã sửa xong: chạy lệnh \"git cherry-pick --"
 "continue\")"
 
-#: wt-status.c:1290
+#: wt-status.c:1296
 msgid "  (use \"git cherry-pick --abort\" to cancel the cherry-pick operation)"
 msgstr "  (dùng \"git cherry-pick --abort\" để hủy bỏ thao tác cherry-pick)"
 
-#: wt-status.c:1299
+#: wt-status.c:1305
 #, c-format
 msgid "You are currently reverting commit %s."
 msgstr "Bạn hiện nay đang thực hiện thao tác hoàn nguyên lần chuyển giao “%s”."
 
-#: wt-status.c:1304
+#: wt-status.c:1310
 msgid "  (fix conflicts and run \"git revert --continue\")"
 msgstr "  (sửa các xung đột và sau đó chạy lệnh \"git revert --continue\")"
 
-#: wt-status.c:1307
+#: wt-status.c:1313
 msgid "  (all conflicts fixed: run \"git revert --continue\")"
 msgstr ""
 "  (khi tất cả các xung đột đã sửa xong: chạy lệnh \"git revert --continue\")"
 
-#: wt-status.c:1309
+#: wt-status.c:1315
 msgid "  (use \"git revert --abort\" to cancel the revert operation)"
 msgstr "  (dùng \"git revert --abort\" để hủy bỏ thao tác hoàn nguyên)"
 
-#: wt-status.c:1320
+#: wt-status.c:1326
 #, c-format
 msgid "You are currently bisecting, started from branch '%s'."
 msgstr ""
 "Bạn hiện nay đang thực hiện thao tác di chuyển nửa bước (bisect), bắt đầu từ "
 "nhánh “%s”."
 
-#: wt-status.c:1324
+#: wt-status.c:1330
 msgid "You are currently bisecting."
 msgstr "Bạn hiện tại đang thực hiện việc bisect (di chuyển nửa bước)."
 
-#: wt-status.c:1327
+#: wt-status.c:1333
 msgid "  (use \"git bisect reset\" to get back to the original branch)"
 msgstr "  (dùng \"git bisect reset\" để quay trở lại nhánh nguyên thủy)"
 
-#: wt-status.c:1524
+#: wt-status.c:1530
 msgid "On branch "
 msgstr "Trên nhánh "
 
-#: wt-status.c:1530
+#: wt-status.c:1536
 msgid "interactive rebase in progress; onto "
 msgstr "rebase ở chế độ tương tác đang được thực hiện; lên trên "
 
-#: wt-status.c:1532
+#: wt-status.c:1538
 msgid "rebase in progress; onto "
 msgstr "rebase đang được thực hiện: lên trên "
 
-#: wt-status.c:1537
+#: wt-status.c:1543
 msgid "HEAD detached at "
 msgstr "HEAD được tách rời tại "
 
-#: wt-status.c:1539
+#: wt-status.c:1545
 msgid "HEAD detached from "
 msgstr "HEAD được tách rời từ "
 
-#: wt-status.c:1542
+#: wt-status.c:1548
 msgid "Not currently on any branch."
 msgstr "Hiện tại chẳng ở nhánh nào cả."
 
-#: wt-status.c:1560
+#: wt-status.c:1566
 msgid "Initial commit"
 msgstr "Lần chuyển giao khởi tạo"
 
-#: wt-status.c:1574
+#: wt-status.c:1580
 msgid "Untracked files"
 msgstr "Những tập tin chưa được theo dõi"
 
-#: wt-status.c:1576
+#: wt-status.c:1582
 msgid "Ignored files"
 msgstr "Những tập tin bị lờ đi"
 
-#: wt-status.c:1580
+#: wt-status.c:1586
 #, c-format
 msgid ""
 "It took %.2f seconds to enumerate untracked files. 'status -uno'\n"
@@ -3889,32 +4204,32 @@
 "có lẽ làm nó nhanh hơn, nhưng bạn phải cẩn thận đừng quên mình phải\n"
 "tự thêm các tập tin mới (xem “git help status”.."
 
-#: wt-status.c:1586
+#: wt-status.c:1592
 #, c-format
 msgid "Untracked files not listed%s"
 msgstr "Những tập tin chưa được theo dõi không được liệt kê ra %s"
 
-#: wt-status.c:1588
+#: wt-status.c:1594
 msgid " (use -u option to show untracked files)"
 msgstr " (dùng tùy chọn -u để hiển thị các tập tin chưa được theo dõi)"
 
-#: wt-status.c:1594
+#: wt-status.c:1600
 msgid "No changes"
 msgstr "Không có thay đổi nào"
 
-#: wt-status.c:1599
+#: wt-status.c:1605
 #, c-format
 msgid "no changes added to commit (use \"git add\" and/or \"git commit -a\")\n"
 msgstr ""
 "không có thay đổi nào được thêm vào để chuyển giao (dùng \"git add\" và/hoặc "
 "\"git commit -a\")\n"
 
-#: wt-status.c:1602
+#: wt-status.c:1608
 #, c-format
 msgid "no changes added to commit\n"
 msgstr "không có thay đổi nào được thêm vào để chuyển giao\n"
 
-#: wt-status.c:1605
+#: wt-status.c:1611
 #, c-format
 msgid ""
 "nothing added to commit but untracked files present (use \"git add\" to "
@@ -3923,68 +4238,68 @@
 "không có gì được thêm vào lần chuyển giao nhưng có những tập tin chưa được "
 "theo dõi hiện diện (dùng \"git add\" để đưa vào theo dõi)\n"
 
-#: wt-status.c:1608
+#: wt-status.c:1614
 #, c-format
 msgid "nothing added to commit but untracked files present\n"
 msgstr ""
 "không có gì được thêm vào lần chuyển giao nhưng có những tập tin chưa được "
 "theo dõi hiện diện\n"
 
-#: wt-status.c:1611
+#: wt-status.c:1617
 #, c-format
 msgid "nothing to commit (create/copy files and use \"git add\" to track)\n"
 msgstr ""
 "không có gì để chuyển giao (tạo/sao-chép các tập tin và dùng \"git add\" để "
 "đưa vào theo dõi)\n"
 
-#: wt-status.c:1614 wt-status.c:1619
+#: wt-status.c:1620 wt-status.c:1625
 #, c-format
 msgid "nothing to commit\n"
 msgstr "không có gì để chuyển giao\n"
 
-#: wt-status.c:1617
+#: wt-status.c:1623
 #, c-format
 msgid "nothing to commit (use -u to show untracked files)\n"
 msgstr ""
 "không có gì để chuyển giao (dùng -u xem các tập tin chưa được theo dõi)\n"
 
-#: wt-status.c:1621
+#: wt-status.c:1627
 #, c-format
 msgid "nothing to commit, working tree clean\n"
 msgstr "không có gì để chuyển giao, thư mục làm việc sạch sẽ\n"
 
-#: wt-status.c:1728
+#: wt-status.c:1734
 msgid "Initial commit on "
 msgstr "Lần chuyển giao khởi tạo trên "
 
-#: wt-status.c:1732
+#: wt-status.c:1738
 msgid "HEAD (no branch)"
 msgstr "HEAD (không nhánh)"
 
-#: wt-status.c:1761
+#: wt-status.c:1767
 msgid "gone"
 msgstr "đã ra đi"
 
-#: wt-status.c:1763 wt-status.c:1771
+#: wt-status.c:1769 wt-status.c:1777
 msgid "behind "
 msgstr "đằng sau "
 
-#: wt-status.c:1766 wt-status.c:1769
+#: wt-status.c:1772 wt-status.c:1775
 msgid "ahead "
 msgstr "phía trước "
 
 #. TRANSLATORS: the action is e.g. "pull with rebase"
-#: wt-status.c:2270
+#: wt-status.c:2277
 #, c-format
 msgid "cannot %s: You have unstaged changes."
 msgstr "không thể %s: Bạn có các thay đổi chưa được đưa lên bệ phóng."
 
-#: wt-status.c:2276
+#: wt-status.c:2283
 msgid "additionally, your index contains uncommitted changes."
 msgstr ""
 "thêm vào đó, bảng mục lục của bạn có chứa các thay đổi chưa được chuyển giao."
 
-#: wt-status.c:2278
+#: wt-status.c:2285
 #, c-format
 msgid "cannot %s: Your index contains uncommitted changes."
 msgstr ""
@@ -4018,7 +4333,7 @@
 msgstr ""
 "Đưa ra khỏi bệ phóng các thay đổi sau khi làm tươi mới lại bảng mục lục:"
 
-#: builtin/add.c:209 builtin/rev-parse.c:840
+#: builtin/add.c:209 builtin/rev-parse.c:845
 msgid "Could not read the index"
 msgstr "Không thể đọc bảng mục lục"
 
@@ -4055,9 +4370,9 @@
 "Các đường dẫn theo sau đây sẽ bị lờ đi bởi một trong các tập tin .gitignore "
 "của bạn:\n"
 
-#: builtin/add.c:266 builtin/clean.c:870 builtin/fetch.c:115 builtin/mv.c:111
-#: builtin/prune-packed.c:55 builtin/pull.c:198 builtin/push.c:521
-#: builtin/remote.c:1326 builtin/rm.c:268 builtin/send-pack.c:162
+#: builtin/add.c:266 builtin/clean.c:870 builtin/fetch.c:115 builtin/mv.c:123
+#: builtin/prune-packed.c:55 builtin/pull.c:198 builtin/push.c:524
+#: builtin/remote.c:1326 builtin/rm.c:241 builtin/send-pack.c:162
 msgid "dry run"
 msgstr "chạy thử"
 
@@ -4065,7 +4380,7 @@
 msgid "interactive picking"
 msgstr "sửa bằng cách tương tác"
 
-#: builtin/add.c:270 builtin/checkout.c:1156 builtin/reset.c:286
+#: builtin/add.c:270 builtin/checkout.c:1159 builtin/reset.c:286
 msgid "select hunks interactively"
 msgstr "chọn “hunks” theo kiểu tương tác"
 
@@ -4151,7 +4466,7 @@
 
 #: builtin/add.c:380 builtin/check-ignore.c:172 builtin/checkout.c:279
 #: builtin/checkout.c:472 builtin/clean.c:914 builtin/commit.c:350
-#: builtin/mv.c:131 builtin/reset.c:235 builtin/rm.c:298
+#: builtin/mv.c:143 builtin/reset.c:235 builtin/rm.c:271
 #: builtin/submodule--helper.c:244
 msgid "index file corrupt"
 msgstr "tập tin ghi bảng mục lục bị hỏng"
@@ -4272,7 +4587,7 @@
 msgid "Failed to merge in the changes."
 msgstr "Gặp lỗi khi trộn vào các thay đổi."
 
-#: builtin/am.c:1686 builtin/merge.c:628
+#: builtin/am.c:1686 builtin/merge.c:632
 msgid "git write-tree failed to write a tree"
 msgstr "lệnh git write-tree gặp lỗi khi ghi một cây"
 
@@ -4280,8 +4595,8 @@
 msgid "applying to an empty history"
 msgstr "áp dụng vào một lịch sử trống rỗng"
 
-#: builtin/am.c:1706 builtin/commit.c:1769 builtin/merge.c:798
-#: builtin/merge.c:823
+#: builtin/am.c:1706 builtin/commit.c:1764 builtin/merge.c:802
+#: builtin/merge.c:827
 msgid "failed to write commit object"
 msgstr "gặp lỗi khi ghi đối tượng chuyển giao"
 
@@ -4396,7 +4711,7 @@
 msgstr "cho phép quay trở lại để hòa trộn kiểu “3way” nếu cần"
 
 #: builtin/am.c:2245 builtin/init-db.c:483 builtin/prune-packed.c:57
-#: builtin/repack.c:172
+#: builtin/repack.c:178
 msgid "be quiet"
 msgstr "im lặng"
 
@@ -4440,15 +4755,15 @@
 msgstr "chuyển nó qua git-apply"
 
 #: builtin/am.c:2283 builtin/fmt-merge-msg.c:662 builtin/fmt-merge-msg.c:665
-#: builtin/grep.c:707 builtin/merge.c:200 builtin/pull.c:135
-#: builtin/pull.c:194 builtin/repack.c:181 builtin/repack.c:185
-#: builtin/show-branch.c:644 builtin/show-ref.c:175 builtin/tag.c:340
+#: builtin/grep.c:1038 builtin/merge.c:202 builtin/pull.c:135
+#: builtin/pull.c:194 builtin/repack.c:187 builtin/repack.c:191
+#: builtin/show-branch.c:644 builtin/show-ref.c:169 builtin/tag.c:355
 #: parse-options.h:132 parse-options.h:134 parse-options.h:245
 msgid "n"
 msgstr "n"
 
 #: builtin/am.c:2289 builtin/for-each-ref.c:37 builtin/replace.c:438
-#: builtin/tag.c:372
+#: builtin/tag.c:387 builtin/verify-tag.c:38
 msgid "format"
 msgstr "định dạng"
 
@@ -4484,8 +4799,8 @@
 msgid "use current timestamp for author date"
 msgstr "dùng dấu thời gian hiện tại cho ngày tác giả"
 
-#: builtin/am.c:2315 builtin/commit.c:1605 builtin/merge.c:229
-#: builtin/pull.c:165 builtin/revert.c:92 builtin/tag.c:355
+#: builtin/am.c:2315 builtin/commit.c:1600 builtin/merge.c:233
+#: builtin/pull.c:165 builtin/revert.c:92 builtin/tag.c:370
 msgid "key-id"
 msgstr "mã-số-khóa"
 
@@ -4587,118 +4902,113 @@
 msgid "<rev-opts> are documented in git-rev-list(1)"
 msgstr "<rev-opts> được mô tả trong tài liệu git-rev-list(1)"
 
-#: builtin/blame.c:1781
+#: builtin/blame.c:1786
 msgid "Blaming lines"
 msgstr "Các dòng blame"
 
-#: builtin/blame.c:2577
+#: builtin/blame.c:2582
 msgid "Show blame entries as we find them, incrementally"
 msgstr "Hiển thị các mục “blame” như là chúng ta thấy chúng, tăng dần"
 
-#: builtin/blame.c:2578
+#: builtin/blame.c:2583
 msgid "Show blank SHA-1 for boundary commits (Default: off)"
 msgstr ""
 "Hiển thị SHA-1 trắng cho những lần chuyển giao biên giới (Mặc định: off)"
 
-#: builtin/blame.c:2579
+#: builtin/blame.c:2584
 msgid "Do not treat root commits as boundaries (Default: off)"
 msgstr "Không coi các lần chuyển giao gốc là giới hạn (Mặc định: off)"
 
-#: builtin/blame.c:2580
+#: builtin/blame.c:2585
 msgid "Show work cost statistics"
 msgstr "Hiển thị thống kê công sức làm việc"
 
-#: builtin/blame.c:2581
+#: builtin/blame.c:2586
 msgid "Force progress reporting"
 msgstr "Ép buộc báo cáo tiến triển công việc"
 
-#: builtin/blame.c:2582
+#: builtin/blame.c:2587
 msgid "Show output score for blame entries"
 msgstr "Hiển thị kết xuất điểm số có các mục tin “blame”"
 
-#: builtin/blame.c:2583
+#: builtin/blame.c:2588
 msgid "Show original filename (Default: auto)"
 msgstr "Hiển thị tên tập tin gốc (Mặc định: auto)"
 
-#: builtin/blame.c:2584
+#: builtin/blame.c:2589
 msgid "Show original linenumber (Default: off)"
 msgstr "Hiển thị số dòng gốc (Mặc định: off)"
 
-#: builtin/blame.c:2585
+#: builtin/blame.c:2590
 msgid "Show in a format designed for machine consumption"
 msgstr "Hiển thị ở định dạng đã thiết kế cho sự tiêu dùng bằng máy"
 
-#: builtin/blame.c:2586
+#: builtin/blame.c:2591
 msgid "Show porcelain format with per-line commit information"
 msgstr "Hiển thị định dạng “porcelain” với thông tin chuyển giao mỗi dòng"
 
-#: builtin/blame.c:2587
+#: builtin/blame.c:2592
 msgid "Use the same output mode as git-annotate (Default: off)"
 msgstr "Dùng cùng chế độ xuất ra với git-annotate (Mặc định: off)"
 
-#: builtin/blame.c:2588
+#: builtin/blame.c:2593
 msgid "Show raw timestamp (Default: off)"
 msgstr "Hiển thị dấu vết thời gian dạng thô (Mặc định: off)"
 
-#: builtin/blame.c:2589
+#: builtin/blame.c:2594
 msgid "Show long commit SHA1 (Default: off)"
 msgstr "Hiển thị SHA1 của lần chuyển giao dạng dài (Mặc định: off)"
 
-#: builtin/blame.c:2590
+#: builtin/blame.c:2595
 msgid "Suppress author name and timestamp (Default: off)"
 msgstr "Không hiển thị tên tác giả và dấu vết thời gian (Mặc định: off)"
 
-#: builtin/blame.c:2591
+#: builtin/blame.c:2596
 msgid "Show author email instead of name (Default: off)"
 msgstr "Hiển thị thư điện tử của tác giả thay vì tên (Mặc định: off)"
 
-#: builtin/blame.c:2592
+#: builtin/blame.c:2597
 msgid "Ignore whitespace differences"
 msgstr "Bỏ qua các khác biệt do khoảng trắng gây ra"
 
-#: builtin/blame.c:2599
-msgid "Use an experimental indent-based heuristic to improve diffs"
-msgstr "Dùng một phỏng đoán dựa trên thụt lề thử nghiệm để tăng cường các diff"
+#: builtin/blame.c:2604
+msgid "Use an experimental heuristic to improve diffs"
+msgstr "Dùng một phỏng đoán thử nghiệm để tăng cường các diff"
 
-#: builtin/blame.c:2600
-msgid "Use an experimental blank-line-based heuristic to improve diffs"
-msgstr ""
-"Dùng một phỏng đoán dựa trên dòng trắng thử nghiệm để tăng cường các diff"
-
-#: builtin/blame.c:2602
+#: builtin/blame.c:2606
 msgid "Spend extra cycles to find better match"
 msgstr "Tiêu thụ thêm năng tài nguyên máy móc để tìm kiếm tốt hơn nữa"
 
-#: builtin/blame.c:2603
+#: builtin/blame.c:2607
 msgid "Use revisions from <file> instead of calling git-rev-list"
 msgstr ""
 "Sử dụng điểm xét duyệt (revision) từ <tập tin> thay vì gọi “git-rev-list”"
 
-#: builtin/blame.c:2604
+#: builtin/blame.c:2608
 msgid "Use <file>'s contents as the final image"
 msgstr "Sử dụng nội dung của <tập tin> như là ảnh cuối cùng"
 
-#: builtin/blame.c:2605 builtin/blame.c:2606
+#: builtin/blame.c:2609 builtin/blame.c:2610
 msgid "score"
 msgstr "điểm số"
 
-#: builtin/blame.c:2605
+#: builtin/blame.c:2609
 msgid "Find line copies within and across files"
 msgstr "Tìm các bản sao chép dòng trong và ngang qua tập tin"
 
-#: builtin/blame.c:2606
+#: builtin/blame.c:2610
 msgid "Find line movements within and across files"
 msgstr "Tìm các di chuyển dòng trong và ngang qua tập tin"
 
-#: builtin/blame.c:2607
+#: builtin/blame.c:2611
 msgid "n,m"
 msgstr "n,m"
 
-#: builtin/blame.c:2607
+#: builtin/blame.c:2611
 msgid "Process only line range n,m, counting from 1"
 msgstr "Xử lý chỉ dòng vùng n,m, tính từ 1"
 
-#: builtin/blame.c:2654
+#: builtin/blame.c:2658
 msgid "--progress can't be used with --incremental or porcelain formats"
 msgstr ""
 "--progress không được dùng cùng với --incremental hay các định dạng porcelain"
@@ -4709,41 +5019,41 @@
 #. takes 22 places, is the longest among various forms of
 #. relative timestamps, but your language may need more or
 #. fewer display columns.
-#: builtin/blame.c:2700
+#: builtin/blame.c:2706
 msgid "4 years, 11 months ago"
 msgstr "4 năm, 11 tháng trước"
 
-#: builtin/blame.c:2780
+#: builtin/blame.c:2786
 msgid "--contents and --reverse do not blend well."
 msgstr "tùy chọn--contents và --reverse không được trộn vào nhau."
 
-#: builtin/blame.c:2800
+#: builtin/blame.c:2806
 msgid "cannot use --contents with final commit object name"
 msgstr "không thể dùng --contents với tên đối tượng chuyển giao cuối cùng"
 
-#: builtin/blame.c:2805
+#: builtin/blame.c:2811
 msgid "--reverse and --first-parent together require specified latest commit"
 msgstr ""
 "--reverse và --first-parent cùng nhau cần chỉ định lần chuyển giao cuối"
 
-#: builtin/blame.c:2832
+#: builtin/blame.c:2838
 msgid ""
 "--reverse --first-parent together require range along first-parent chain"
 msgstr ""
 "--reverse --first-parent cùng nhau yêu cầu vùng cùng với chuỗi cha-mẹ-đầu-"
 "tiên"
 
-#: builtin/blame.c:2843
+#: builtin/blame.c:2849
 #, c-format
 msgid "no such path %s in %s"
 msgstr "không có đường dẫn %s trong “%s”"
 
-#: builtin/blame.c:2854
+#: builtin/blame.c:2860
 #, c-format
 msgid "cannot read blob %s for path %s"
 msgstr "không thể đọc blob %s cho đường dẫn “%s”"
 
-#: builtin/blame.c:2873
+#: builtin/blame.c:2879
 #, c-format
 msgid "file %s has only %lu line"
 msgid_plural "file %s has only %lu lines"
@@ -4920,44 +5230,44 @@
 msgid "(no branch)"
 msgstr "(không nhánh)"
 
-#: builtin/branch.c:544
+#: builtin/branch.c:535
 #, c-format
 msgid "Branch %s is being rebased at %s"
 msgstr "Nhánh %s đang được cải tổ lại tại %s"
 
-#: builtin/branch.c:548
+#: builtin/branch.c:539
 #, c-format
 msgid "Branch %s is being bisected at %s"
 msgstr "Nhánh %s đang được di chuyển phân đôi (bisect) tại %s"
 
-#: builtin/branch.c:563
+#: builtin/branch.c:554
 msgid "cannot rename the current branch while not on any."
 msgstr "không thể đổi tên nhánh hiện hành trong khi nó chẳng ở đâu cả."
 
-#: builtin/branch.c:573
+#: builtin/branch.c:564
 #, c-format
 msgid "Invalid branch name: '%s'"
 msgstr "Tên nhánh không hợp lệ: “%s”"
 
-#: builtin/branch.c:590
+#: builtin/branch.c:581
 msgid "Branch rename failed"
 msgstr "Gặp lỗi khi đổi tên nhánh"
 
-#: builtin/branch.c:594
+#: builtin/branch.c:585
 #, c-format
 msgid "Renamed a misnamed branch '%s' away"
 msgstr "Đã đổi tên nhánh khuyết danh “%s” đi"
 
-#: builtin/branch.c:597
+#: builtin/branch.c:588
 #, c-format
 msgid "Branch renamed to %s, but HEAD is not updated!"
 msgstr "Nhánh bị đổi tên thành %s, nhưng HEAD lại không được cập nhật!"
 
-#: builtin/branch.c:604
+#: builtin/branch.c:595
 msgid "Branch is renamed, but update of config-file failed"
 msgstr "Nhánh bị đổi tên, nhưng cập nhật tập tin cấu hình gặp lỗi"
 
-#: builtin/branch.c:620
+#: builtin/branch.c:611
 #, c-format
 msgid ""
 "Please edit the description for the branch\n"
@@ -4968,163 +5278,167 @@
 "  %s\n"
 "Những dòng được bắt đầu bằng “%c” sẽ được cắt bỏ.\n"
 
-#: builtin/branch.c:651
+#: builtin/branch.c:643
 msgid "Generic options"
 msgstr "Tùy chọn chung"
 
-#: builtin/branch.c:653
+#: builtin/branch.c:645
 msgid "show hash and subject, give twice for upstream branch"
 msgstr "hiển thị mã băm và chủ đề, đưa ra hai lần cho nhánh thượng nguồn"
 
-#: builtin/branch.c:654
+#: builtin/branch.c:646
 msgid "suppress informational messages"
 msgstr "không xuất các thông tin"
 
-#: builtin/branch.c:655
+#: builtin/branch.c:647
 msgid "set up tracking mode (see git-pull(1))"
 msgstr "cài đặt chế độ theo dõi (xem git-pull(1))"
 
-#: builtin/branch.c:657
+#: builtin/branch.c:649
 msgid "change upstream info"
 msgstr "thay đổi thông tin thượng nguồn"
 
-#: builtin/branch.c:659
+#: builtin/branch.c:651
 msgid "upstream"
 msgstr "thượng nguồn"
 
-#: builtin/branch.c:659
+#: builtin/branch.c:651
 msgid "change the upstream info"
 msgstr "thay đổi thông tin thượng nguồn"
 
-#: builtin/branch.c:660
+#: builtin/branch.c:652
 msgid "Unset the upstream info"
 msgstr "Bỏ đặt thông tin thượng nguồn"
 
-#: builtin/branch.c:661
+#: builtin/branch.c:653
 msgid "use colored output"
 msgstr "tô màu kết xuất"
 
-#: builtin/branch.c:662
+#: builtin/branch.c:654
 msgid "act on remote-tracking branches"
 msgstr "thao tác trên nhánh “remote-tracking”"
 
-#: builtin/branch.c:664 builtin/branch.c:665
+#: builtin/branch.c:656 builtin/branch.c:657
 msgid "print only branches that contain the commit"
 msgstr "chỉ hiển thị những nhánh mà nó chứa lần chuyển giao"
 
-#: builtin/branch.c:668
+#: builtin/branch.c:660
 msgid "Specific git-branch actions:"
 msgstr "Hành động git-branch:"
 
-#: builtin/branch.c:669
+#: builtin/branch.c:661
 msgid "list both remote-tracking and local branches"
 msgstr "liệt kê cả nhánh “remote-tracking” và nội bộ"
 
-#: builtin/branch.c:671
+#: builtin/branch.c:663
 msgid "delete fully merged branch"
 msgstr "xóa một toàn bộ nhánh đã hòa trộn"
 
-#: builtin/branch.c:672
+#: builtin/branch.c:664
 msgid "delete branch (even if not merged)"
 msgstr "xóa nhánh (cho dù là chưa được hòa trộn)"
 
-#: builtin/branch.c:673
+#: builtin/branch.c:665
 msgid "move/rename a branch and its reflog"
 msgstr "di chuyển hay đổi tên một nhánh và reflog của nó"
 
-#: builtin/branch.c:674
+#: builtin/branch.c:666
 msgid "move/rename a branch, even if target exists"
 msgstr "di chuyển hoặc đổi tên một nhánh ngay cả khi đích đã có sẵn"
 
-#: builtin/branch.c:675
+#: builtin/branch.c:667
 msgid "list branch names"
 msgstr "liệt kê các tên nhánh"
 
-#: builtin/branch.c:676
+#: builtin/branch.c:668
 msgid "create the branch's reflog"
 msgstr "tạo reflog của nhánh"
 
-#: builtin/branch.c:678
+#: builtin/branch.c:670
 msgid "edit the description for the branch"
 msgstr "sửa mô tả cho nhánh"
 
-#: builtin/branch.c:679
+#: builtin/branch.c:671
 msgid "force creation, move/rename, deletion"
 msgstr "buộc tạo, di chuyển/đổi tên, xóa"
 
-#: builtin/branch.c:680
+#: builtin/branch.c:672
 msgid "print only branches that are merged"
 msgstr "chỉ hiển thị những nhánh mà nó được hòa trộn"
 
-#: builtin/branch.c:681
+#: builtin/branch.c:673
 msgid "print only branches that are not merged"
 msgstr "chỉ hiển thị những nhánh mà nó không được hòa trộn"
 
-#: builtin/branch.c:682
+#: builtin/branch.c:674
 msgid "list branches in columns"
 msgstr "liệt kê các nhánh trong các cột"
 
-#: builtin/branch.c:683 builtin/for-each-ref.c:38 builtin/tag.c:366
+#: builtin/branch.c:675 builtin/for-each-ref.c:38 builtin/tag.c:381
 msgid "key"
 msgstr "khóa"
 
-#: builtin/branch.c:684 builtin/for-each-ref.c:39 builtin/tag.c:367
+#: builtin/branch.c:676 builtin/for-each-ref.c:39 builtin/tag.c:382
 msgid "field name to sort on"
 msgstr "tên trường cần sắp xếp"
 
-#: builtin/branch.c:686 builtin/for-each-ref.c:41 builtin/notes.c:404
+#: builtin/branch.c:678 builtin/for-each-ref.c:41 builtin/notes.c:404
 #: builtin/notes.c:407 builtin/notes.c:567 builtin/notes.c:570
-#: builtin/tag.c:369
+#: builtin/tag.c:384
 msgid "object"
 msgstr "đối tượng"
 
-#: builtin/branch.c:687
+#: builtin/branch.c:679
 msgid "print only branches of the object"
 msgstr "chỉ hiển thị các nhánh của đối tượng"
 
-#: builtin/branch.c:705
+#: builtin/branch.c:681 builtin/for-each-ref.c:46 builtin/tag.c:388
+msgid "sorting and filtering are case insensitive"
+msgstr "sắp xếp và lọc là phân biệt HOA thường"
+
+#: builtin/branch.c:698
 msgid "Failed to resolve HEAD as a valid ref."
 msgstr "Gặp lỗi khi phân giải HEAD như là một tham chiếu hợp lệ."
 
-#: builtin/branch.c:709 builtin/clone.c:706
+#: builtin/branch.c:702 builtin/clone.c:706
 msgid "HEAD not found below refs/heads!"
 msgstr "không tìm thấy HEAD ở dưới refs/heads!"
 
-#: builtin/branch.c:729
+#: builtin/branch.c:724
 msgid "--column and --verbose are incompatible"
 msgstr "tùy chọn --column và --verbose xung khắc nhau"
 
-#: builtin/branch.c:740 builtin/branch.c:782
+#: builtin/branch.c:735 builtin/branch.c:787
 msgid "branch name required"
 msgstr "cần chỉ ra tên nhánh"
 
-#: builtin/branch.c:758
+#: builtin/branch.c:763
 msgid "Cannot give description to detached HEAD"
 msgstr "Không thể đưa ra mô tả HEAD đã tách rời"
 
-#: builtin/branch.c:763
+#: builtin/branch.c:768
 msgid "cannot edit description of more than one branch"
 msgstr "không thể sửa mô tả cho nhiều hơn một nhánh"
 
-#: builtin/branch.c:770
+#: builtin/branch.c:775
 #, c-format
 msgid "No commit on branch '%s' yet."
 msgstr "Vẫn chưa chuyển giao trên nhánh “%s”."
 
-#: builtin/branch.c:773
+#: builtin/branch.c:778
 #, c-format
 msgid "No branch named '%s'."
 msgstr "Không có nhánh nào có tên “%s”."
 
-#: builtin/branch.c:788
+#: builtin/branch.c:793
 msgid "too many branches for a rename operation"
 msgstr "quá nhiều nhánh dành cho thao tác đổi tên"
 
-#: builtin/branch.c:793
+#: builtin/branch.c:798
 msgid "too many branches to set new upstream"
 msgstr "quá nhiều nhánh được đặt cho thượng nguồn mới"
 
-#: builtin/branch.c:797
+#: builtin/branch.c:802
 #, c-format
 msgid ""
 "could not set upstream of HEAD to %s when it does not point to any branch."
@@ -5132,40 +5446,40 @@
 "không thể đặt thượng nguồn của HEAD thành %s khi mà nó chẳng chỉ đến nhánh "
 "nào cả."
 
-#: builtin/branch.c:800 builtin/branch.c:822 builtin/branch.c:843
+#: builtin/branch.c:805 builtin/branch.c:827 builtin/branch.c:848
 #, c-format
 msgid "no such branch '%s'"
 msgstr "không có nhánh nào như thế “%s”"
 
-#: builtin/branch.c:804
+#: builtin/branch.c:809
 #, c-format
 msgid "branch '%s' does not exist"
 msgstr "chưa có nhánh “%s”"
 
-#: builtin/branch.c:816
+#: builtin/branch.c:821
 msgid "too many branches to unset upstream"
 msgstr "quá nhiều nhánh để bỏ đặt thượng nguồn"
 
-#: builtin/branch.c:820
+#: builtin/branch.c:825
 msgid "could not unset upstream of HEAD when it does not point to any branch."
 msgstr "không thể bỏ đặt thượng nguồn của HEAD không chỉ đến một nhánh nào cả."
 
-#: builtin/branch.c:826
+#: builtin/branch.c:831
 #, c-format
 msgid "Branch '%s' has no upstream information"
 msgstr "Nhánh “%s” không có thông tin thượng nguồn"
 
-#: builtin/branch.c:840
+#: builtin/branch.c:845
 msgid "it does not make sense to create 'HEAD' manually"
 msgstr "không hợp lý khi tạo “HEAD” thủ công"
 
-#: builtin/branch.c:846
+#: builtin/branch.c:851
 msgid "-a and -r options to 'git branch' do not make sense with a branch name"
 msgstr ""
 "hai tùy chọn -a và -r áp dụng cho lệnh “git branch” không hợp lý đối với tên "
 "nhánh"
 
-#: builtin/branch.c:849
+#: builtin/branch.c:854
 #, c-format
 msgid ""
 "The --set-upstream flag is deprecated and will be removed. Consider using --"
@@ -5174,7 +5488,7 @@
 "Cờ --set-upstream đã lạc hậu và sẽ bị xóa bỏ. Nên dùng --track hoặc --set-"
 "upstream-to\n"
 
-#: builtin/branch.c:866
+#: builtin/branch.c:871
 #, c-format
 msgid ""
 "\n"
@@ -5242,7 +5556,7 @@
 msgid "for blob objects, run filters on object's content"
 msgstr "với đối tượng blob, chạy lệnh filters trên nội dung của đối tượng"
 
-#: builtin/cat-file.c:561 git-submodule.sh:923
+#: builtin/cat-file.c:561 git-submodule.sh:929
 msgid "blob"
 msgstr "blob"
 
@@ -5299,7 +5613,7 @@
 msgid "terminate input and output records by a NUL character"
 msgstr "chấm dứt các bản ghi vào và ra bằng ký tự NULL"
 
-#: builtin/check-ignore.c:18 builtin/checkout.c:1137 builtin/gc.c:325
+#: builtin/check-ignore.c:18 builtin/checkout.c:1140 builtin/gc.c:332
 msgid "suppress progress reporting"
 msgstr "chặn các báo cáo tiến trình hoạt động"
 
@@ -5390,9 +5704,9 @@
 msgstr "ghi nội dung vào tập tin tạm"
 
 #: builtin/checkout-index.c:174 builtin/column.c:30
-#: builtin/submodule--helper.c:595 builtin/submodule--helper.c:598
-#: builtin/submodule--helper.c:604 builtin/submodule--helper.c:951
-#: builtin/worktree.c:469
+#: builtin/submodule--helper.c:597 builtin/submodule--helper.c:600
+#: builtin/submodule--helper.c:606 builtin/submodule--helper.c:967
+#: builtin/worktree.c:471
 msgid "string"
 msgstr "chuỗi"
 
@@ -5468,50 +5782,50 @@
 msgid "you need to resolve your current index first"
 msgstr "bạn cần phải giải quyết bảng mục lục hiện tại của bạn trước đã"
 
-#: builtin/checkout.c:624
+#: builtin/checkout.c:625
 #, c-format
 msgid "Can not do reflog for '%s': %s\n"
 msgstr "Không thể thực hiện reflog cho “%s”: %s\n"
 
-#: builtin/checkout.c:663
+#: builtin/checkout.c:666
 msgid "HEAD is now at"
 msgstr "HEAD hiện giờ tại"
 
-#: builtin/checkout.c:667 builtin/clone.c:660
+#: builtin/checkout.c:670 builtin/clone.c:660
 msgid "unable to update HEAD"
 msgstr "không thể cập nhật HEAD"
 
-#: builtin/checkout.c:671
+#: builtin/checkout.c:674
 #, c-format
 msgid "Reset branch '%s'\n"
 msgstr "Đặt lại nhánh “%s”\n"
 
-#: builtin/checkout.c:674
+#: builtin/checkout.c:677
 #, c-format
 msgid "Already on '%s'\n"
 msgstr "Đã sẵn sàng trên “%s”\n"
 
-#: builtin/checkout.c:678
+#: builtin/checkout.c:681
 #, c-format
 msgid "Switched to and reset branch '%s'\n"
 msgstr "Đã chuyển tới và đặt lại nhánh “%s”\n"
 
-#: builtin/checkout.c:680 builtin/checkout.c:1069
+#: builtin/checkout.c:683 builtin/checkout.c:1072
 #, c-format
 msgid "Switched to a new branch '%s'\n"
 msgstr "Đã chuyển đến nhánh mới “%s”\n"
 
-#: builtin/checkout.c:682
+#: builtin/checkout.c:685
 #, c-format
 msgid "Switched to branch '%s'\n"
 msgstr "Đã chuyển đến nhánh “%s”\n"
 
-#: builtin/checkout.c:733
+#: builtin/checkout.c:736
 #, c-format
 msgid " ... and %d more.\n"
 msgstr " … và nhiều hơn %d.\n"
 
-#: builtin/checkout.c:739
+#: builtin/checkout.c:742
 #, c-format
 msgid ""
 "Warning: you are leaving %d commit behind, not connected to\n"
@@ -5530,7 +5844,7 @@
 "\n"
 "%s\n"
 
-#: builtin/checkout.c:758
+#: builtin/checkout.c:761
 #, c-format
 msgid ""
 "If you want to keep it by creating a new branch, this may be a good time\n"
@@ -5551,152 +5865,152 @@
 " git branch <tên_nhánh_mới> %s\n"
 "\n"
 
-#: builtin/checkout.c:794
+#: builtin/checkout.c:797
 msgid "internal error in revision walk"
 msgstr "lỗi nội bộ trong khi di chuyển qua các điểm xét duyệt"
 
-#: builtin/checkout.c:798
+#: builtin/checkout.c:801
 msgid "Previous HEAD position was"
 msgstr "Vị trí trước kia của HEAD là"
 
-#: builtin/checkout.c:825 builtin/checkout.c:1064
+#: builtin/checkout.c:828 builtin/checkout.c:1067
 msgid "You are on a branch yet to be born"
 msgstr "Bạn tại nhánh mà nó chưa hề được sinh ra"
 
-#: builtin/checkout.c:970
+#: builtin/checkout.c:973
 #, c-format
 msgid "only one reference expected, %d given."
 msgstr "chỉ cần một tham chiếu, nhưng lại đưa ra %d."
 
-#: builtin/checkout.c:1010 builtin/worktree.c:214
+#: builtin/checkout.c:1013 builtin/worktree.c:214
 #, c-format
 msgid "invalid reference: %s"
 msgstr "tham chiếu không hợp lệ: %s"
 
-#: builtin/checkout.c:1039
+#: builtin/checkout.c:1042
 #, c-format
 msgid "reference is not a tree: %s"
 msgstr "tham chiếu không phải là một cây:%s"
 
-#: builtin/checkout.c:1078
+#: builtin/checkout.c:1081
 msgid "paths cannot be used with switching branches"
 msgstr "các đường dẫn không thể dùng cùng với các nhánh chuyển"
 
-#: builtin/checkout.c:1081 builtin/checkout.c:1085
+#: builtin/checkout.c:1084 builtin/checkout.c:1088
 #, c-format
 msgid "'%s' cannot be used with switching branches"
 msgstr "“%s” không thể được sử dụng với các nhánh chuyển"
 
-#: builtin/checkout.c:1089 builtin/checkout.c:1092 builtin/checkout.c:1097
-#: builtin/checkout.c:1100
+#: builtin/checkout.c:1092 builtin/checkout.c:1095 builtin/checkout.c:1100
+#: builtin/checkout.c:1103
 #, c-format
 msgid "'%s' cannot be used with '%s'"
 msgstr "“%s” không thể được dùng với “%s”"
 
-#: builtin/checkout.c:1105
+#: builtin/checkout.c:1108
 #, c-format
 msgid "Cannot switch branch to a non-commit '%s'"
 msgstr "Không thể chuyển nhánh đến một thứ không phải là lần chuyển giao “%s”"
 
-#: builtin/checkout.c:1138 builtin/checkout.c:1140 builtin/clone.c:93
+#: builtin/checkout.c:1141 builtin/checkout.c:1143 builtin/clone.c:93
 #: builtin/remote.c:165 builtin/remote.c:167 builtin/worktree.c:324
 #: builtin/worktree.c:326
 msgid "branch"
 msgstr "nhánh"
 
-#: builtin/checkout.c:1139
+#: builtin/checkout.c:1142
 msgid "create and checkout a new branch"
 msgstr "tạo và checkout một nhánh mới"
 
-#: builtin/checkout.c:1141
+#: builtin/checkout.c:1144
 msgid "create/reset and checkout a branch"
 msgstr "tạo/đặt_lại và checkout một nhánh"
 
-#: builtin/checkout.c:1142
+#: builtin/checkout.c:1145
 msgid "create reflog for new branch"
 msgstr "tạo reflog cho nhánh mới"
 
-#: builtin/checkout.c:1143 builtin/worktree.c:328
+#: builtin/checkout.c:1146 builtin/worktree.c:328
 msgid "detach HEAD at named commit"
 msgstr "rời bỏ HEAD tại lần chuyển giao theo tên"
 
-#: builtin/checkout.c:1144
+#: builtin/checkout.c:1147
 msgid "set upstream info for new branch"
 msgstr "đặt thông tin thượng nguồn cho nhánh mới"
 
-#: builtin/checkout.c:1146
+#: builtin/checkout.c:1149
 msgid "new-branch"
 msgstr "nhánh-mới"
 
-#: builtin/checkout.c:1146
+#: builtin/checkout.c:1149
 msgid "new unparented branch"
 msgstr "nhánh không cha mới"
 
-#: builtin/checkout.c:1147
+#: builtin/checkout.c:1150
 msgid "checkout our version for unmerged files"
 msgstr ""
 "lấy ra (checkout) phiên bản của chúng ta cho các tập tin chưa được hòa trộn"
 
-#: builtin/checkout.c:1149
+#: builtin/checkout.c:1152
 msgid "checkout their version for unmerged files"
 msgstr ""
 "lấy ra (checkout) phiên bản của chúng họ cho các tập tin chưa được hòa trộn"
 
-#: builtin/checkout.c:1151
+#: builtin/checkout.c:1154
 msgid "force checkout (throw away local modifications)"
 msgstr "ép buộc lấy ra (bỏ đi những thay đổi nội bộ)"
 
-#: builtin/checkout.c:1152
+#: builtin/checkout.c:1155
 msgid "perform a 3-way merge with the new branch"
 msgstr "thực hiện hòa trộn kiểu 3-way với nhánh mới"
 
-#: builtin/checkout.c:1153 builtin/merge.c:231
+#: builtin/checkout.c:1156 builtin/merge.c:235
 msgid "update ignored files (default)"
 msgstr "cập nhật các tập tin bị bỏ qua (mặc định)"
 
-#: builtin/checkout.c:1154 builtin/log.c:1466 parse-options.h:251
+#: builtin/checkout.c:1157 builtin/log.c:1466 parse-options.h:251
 msgid "style"
 msgstr "kiểu"
 
-#: builtin/checkout.c:1155
+#: builtin/checkout.c:1158
 msgid "conflict style (merge or diff3)"
 msgstr "xung đột kiểu (hòa trộn hoặc diff3)"
 
-#: builtin/checkout.c:1158
+#: builtin/checkout.c:1161
 msgid "do not limit pathspecs to sparse entries only"
 msgstr "không giới hạn đặc tả đường dẫn thành chỉ các mục thưa thớt"
 
-#: builtin/checkout.c:1160
+#: builtin/checkout.c:1163
 msgid "second guess 'git checkout <no-such-branch>'"
 msgstr "gợi ý thứ hai \"git checkout <không-nhánh-nào-như-vậy>\""
 
-#: builtin/checkout.c:1162
+#: builtin/checkout.c:1165
 msgid "do not check if another worktree is holding the given ref"
 msgstr "không kiểm tra nếu cây làm việc khác đang giữ tham chiếu đã cho"
 
-#: builtin/checkout.c:1163 builtin/clone.c:63 builtin/fetch.c:119
-#: builtin/merge.c:228 builtin/pull.c:117 builtin/push.c:536
+#: builtin/checkout.c:1166 builtin/clone.c:63 builtin/fetch.c:119
+#: builtin/merge.c:232 builtin/pull.c:117 builtin/push.c:539
 #: builtin/send-pack.c:168
 msgid "force progress reporting"
 msgstr "ép buộc báo cáo tiến triển công việc"
 
-#: builtin/checkout.c:1194
+#: builtin/checkout.c:1197
 msgid "-b, -B and --orphan are mutually exclusive"
 msgstr "Các tùy chọn -b, -B và --orphan loại từ lẫn nhau"
 
-#: builtin/checkout.c:1211
+#: builtin/checkout.c:1214
 msgid "--track needs a branch name"
 msgstr "--track cần tên một nhánh"
 
-#: builtin/checkout.c:1216
+#: builtin/checkout.c:1219
 msgid "Missing branch name; try -b"
 msgstr "Thiếu tên nhánh; hãy thử -b"
 
-#: builtin/checkout.c:1252
+#: builtin/checkout.c:1255
 msgid "invalid path specification"
 msgstr "đường dẫn đã cho không hợp lệ"
 
-#: builtin/checkout.c:1259
+#: builtin/checkout.c:1262
 #, c-format
 msgid ""
 "Cannot update paths and switch to branch '%s' at the same time.\n"
@@ -5706,12 +6020,12 @@
 "Bạn đã có ý định checkout “%s” cái mà không thể được phân giải như là lần "
 "chuyển giao?"
 
-#: builtin/checkout.c:1264
+#: builtin/checkout.c:1267
 #, c-format
 msgid "git checkout: --detach does not take a path argument '%s'"
 msgstr "git checkout: --detach không nhận một đối số đường dẫn “%s”"
 
-#: builtin/checkout.c:1268
+#: builtin/checkout.c:1271
 msgid ""
 "git checkout: --ours/--theirs, --force and --merge are incompatible when\n"
 "checking out of the index."
@@ -5750,19 +6064,21 @@
 msgid "failed to remove %s"
 msgstr "gặp lỗi khi gỡ bỏ %s"
 
-#: builtin/clean.c:291
+#: builtin/clean.c:291 git-add--interactive.perl:623
+#, c-format
 msgid ""
 "Prompt help:\n"
 "1          - select a numbered item\n"
 "foo        - select item based on unique prefix\n"
-"           - (empty) select nothing"
+"           - (empty) select nothing\n"
 msgstr ""
 "Trợ giúp về nhắc:\n"
 "1          - chọn một mục được đánh số\n"
 "foo        - chọn mục trên cơ sở tiền tố duy nhất\n"
-"           - (để trống) không chọn gì cả"
+"           - (để trống) không chọn gì cả\n"
 
-#: builtin/clean.c:295
+#: builtin/clean.c:295 git-add--interactive.perl:632
+#, c-format
 msgid ""
 "Prompt help:\n"
 "1          - select a single item\n"
@@ -5771,21 +6087,22 @@
 "foo        - select item based on unique prefix\n"
 "-...       - unselect specified items\n"
 "*          - choose all items\n"
-"           - (empty) finish selecting"
+"           - (empty) finish selecting\n"
 msgstr ""
 "Trợ giúp về nhắc:\n"
 "1          - chọn một mục đơn\n"
 "3-5        - chọn một vùng\n"
 "2-3,6-9    - chọn nhiều vùng\n"
 "foo        - chọn mục dựa trên tiền tố duy nhất\n"
-"-…       - không chọn các mục đã chỉ ra\n"
+"-…         - không chọn các mục đã chỉ ra\n"
 "*          - chọn tất\n"
-"           - (để trống) kết thúc việc chọn"
+"           - (để trống) kết thúc việc chọn\n"
 
-#: builtin/clean.c:511
-#, c-format
-msgid "Huh (%s)?"
-msgstr "Hả (%s)?"
+#: builtin/clean.c:511 git-add--interactive.perl:598
+#: git-add--interactive.perl:603
+#, c-format, perl-format
+msgid "Huh (%s)?\n"
+msgstr "Hả (%s)?\n"
 
 #: builtin/clean.c:653
 #, c-format
@@ -5807,9 +6124,10 @@
 msgid "Remove %s [y/N]? "
 msgstr "Xóa bỏ “%s” [y/N]? "
 
-#: builtin/clean.c:777
-msgid "Bye."
-msgstr "Tạm biệt."
+#: builtin/clean.c:777 git-add--interactive.perl:1669
+#, c-format
+msgid "Bye.\n"
+msgstr "Tạm biệt.\n"
 
 #: builtin/clean.c:785
 msgid ""
@@ -5829,11 +6147,11 @@
 "help                - hiển thị chính trợ giúp này\n"
 "?                   - trợ giúp dành cho chọn bằng cách nhắc"
 
-#: builtin/clean.c:812
+#: builtin/clean.c:812 git-add--interactive.perl:1745
 msgid "*** Commands ***"
 msgstr "*** Lệnh ***"
 
-#: builtin/clean.c:813
+#: builtin/clean.c:813 git-add--interactive.perl:1742
 msgid "What now"
 msgstr "Giờ thì sao"
 
@@ -5862,8 +6180,8 @@
 msgid "remove whole directories"
 msgstr "gỡ bỏ toàn bộ thư mục"
 
-#: builtin/clean.c:875 builtin/describe.c:407 builtin/grep.c:725
-#: builtin/ls-files.c:536 builtin/name-rev.c:313 builtin/show-ref.c:182
+#: builtin/clean.c:875 builtin/describe.c:407 builtin/grep.c:1056
+#: builtin/ls-files.c:538 builtin/name-rev.c:313 builtin/show-ref.c:176
 msgid "pattern"
 msgstr "mẫu"
 
@@ -5943,8 +6261,8 @@
 msgid "directory from which templates will be used"
 msgstr "thư mục mà tại đó các mẫu sẽ được dùng"
 
-#: builtin/clone.c:86 builtin/clone.c:88 builtin/submodule--helper.c:602
-#: builtin/submodule--helper.c:954
+#: builtin/clone.c:86 builtin/clone.c:88 builtin/submodule--helper.c:604
+#: builtin/submodule--helper.c:970
 msgid "reference repository"
 msgstr "kho tham chiếu"
 
@@ -5968,8 +6286,7 @@
 msgid "path to git-upload-pack on the remote"
 msgstr "đường dẫn đến git-upload-pack trên máy chủ"
 
-#: builtin/clone.c:97 builtin/fetch.c:120 builtin/grep.c:668
-#: builtin/pull.c:202
+#: builtin/clone.c:97 builtin/fetch.c:120 builtin/grep.c:999 builtin/pull.c:202
 msgid "depth"
 msgstr "độ-sâu"
 
@@ -5977,7 +6294,7 @@
 msgid "create a shallow clone of that depth"
 msgstr "tạo bản sao không đầy đủ cho mức sâu đã cho"
 
-#: builtin/clone.c:99 builtin/fetch.c:122 builtin/pack-objects.c:2848
+#: builtin/clone.c:99 builtin/fetch.c:122 builtin/pack-objects.c:2836
 #: parse-options.h:142
 msgid "time"
 msgstr "thời-gian"
@@ -5991,8 +6308,8 @@
 msgstr "điểm xét duyệt"
 
 #: builtin/clone.c:102 builtin/fetch.c:125
-msgid "deepen history of shallow clone by excluding rev"
-msgstr "làm sâu hơn lịch sử của bản sao shallow bằng điểm xét duyệt loại trừ"
+msgid "deepen history of shallow clone, excluding rev"
+msgstr "làm sâu hơn lịch sử của bản sao shallow, bằng điểm xét duyệt loại trừ"
 
 #: builtin/clone.c:104
 msgid "clone only one branch, HEAD or --branch"
@@ -6018,11 +6335,11 @@
 msgid "set config inside the new repository"
 msgstr "đặt cấu hình bên trong một kho chứa mới"
 
-#: builtin/clone.c:111 builtin/fetch.c:140 builtin/push.c:547
+#: builtin/clone.c:111 builtin/fetch.c:140 builtin/push.c:550
 msgid "use IPv4 addresses only"
 msgstr "chỉ dùng địa chỉ IPv4"
 
-#: builtin/clone.c:113 builtin/fetch.c:142 builtin/push.c:549
+#: builtin/clone.c:113 builtin/fetch.c:142 builtin/push.c:552
 msgid "use IPv6 addresses only"
 msgstr "chỉ dùng địa chỉ IPv6"
 
@@ -6135,7 +6452,7 @@
 msgid "repository '%s' does not exist"
 msgstr "kho chứa “%s” chưa tồn tại"
 
-#: builtin/clone.c:905 builtin/fetch.c:1338
+#: builtin/clone.c:905 builtin/fetch.c:1335
 #, c-format
 msgid "depth %s is not a positive number"
 msgstr "độ sâu %s không phải là một số nguyên dương"
@@ -6150,8 +6467,9 @@
 msgid "working tree '%s' already exists."
 msgstr "cây làm việc “%s” đã sẵn tồn tại rồi."
 
-#: builtin/clone.c:940 builtin/clone.c:951 builtin/submodule--helper.c:657
-#: builtin/worktree.c:222 builtin/worktree.c:249
+#: builtin/clone.c:940 builtin/clone.c:951 builtin/difftool.c:252
+#: builtin/submodule--helper.c:659 builtin/worktree.c:222
+#: builtin/worktree.c:249
 #, c-format
 msgid "could not create leading directories of '%s'"
 msgstr "không thể tạo các thư mục dẫn đầu của “%s”"
@@ -6438,7 +6756,7 @@
 msgid "could not lookup commit %s"
 msgstr "không thể tìm kiếm commit (lần chuyển giao) %s"
 
-#: builtin/commit.c:704 builtin/shortlog.c:286
+#: builtin/commit.c:704 builtin/shortlog.c:295
 #, c-format
 msgid "(reading log message from standard input)\n"
 msgstr "(đang đọc thông điệp nhật ký từ đầu vào tiêu chuẩn)\n"
@@ -6540,7 +6858,7 @@
 msgid "Error building trees"
 msgstr "Gặp lỗi khi xây dựng cây"
 
-#: builtin/commit.c:969 builtin/tag.c:266
+#: builtin/commit.c:968 builtin/tag.c:280
 #, c-format
 msgid "Please supply the message using either -m or -F option.\n"
 msgstr "Xin hãy cung cấp lời chú giải hoặc là dùng tùy chọn -m hoặc là -F.\n"
@@ -6552,7 +6870,7 @@
 "--author “%s” không phải là “Họ và tên <thư điện tửl>” và không khớp bất kỳ "
 "tác giả nào sẵn có"
 
-#: builtin/commit.c:1086 builtin/commit.c:1327
+#: builtin/commit.c:1086 builtin/commit.c:1325
 #, c-format
 msgid "Invalid untracked files mode '%s'"
 msgstr "Chế độ cho các tập tin chưa được theo dõi không hợp lệ “%s”"
@@ -6609,69 +6927,65 @@
 msgstr "Không đường dẫn với các tùy chọn --include/--only không hợp lý."
 
 #: builtin/commit.c:1212
-msgid "Clever... amending the last one with dirty index."
-msgstr "Giỏi…  “tu bổ” cái cuối với bảng mục lục bẩn."
-
-#: builtin/commit.c:1214
 msgid "Explicit paths specified without -i or -o; assuming --only paths..."
 msgstr ""
 "Những đường dẫn rõ ràng được chỉ ra không có tùy chọn -i cũng không -o; coi "
 "là --only những đường dẫn"
 
-#: builtin/commit.c:1226 builtin/tag.c:474
+#: builtin/commit.c:1224 builtin/tag.c:495
 #, c-format
 msgid "Invalid cleanup mode %s"
 msgstr "Chế độ dọn dẹp không hợp lệ %s"
 
-#: builtin/commit.c:1231
+#: builtin/commit.c:1229
 msgid "Paths with -a does not make sense."
 msgstr "Các đường dẫn với tùy chọn -a không hợp lý."
 
-#: builtin/commit.c:1341 builtin/commit.c:1617
+#: builtin/commit.c:1339 builtin/commit.c:1612
 msgid "show status concisely"
 msgstr "hiển thị trạng thái ở dạng súc tích"
 
-#: builtin/commit.c:1343 builtin/commit.c:1619
+#: builtin/commit.c:1341 builtin/commit.c:1614
 msgid "show branch information"
 msgstr "hiển thị thông tin nhánh"
 
-#: builtin/commit.c:1345
+#: builtin/commit.c:1343
 msgid "version"
 msgstr "phiên bản"
 
-#: builtin/commit.c:1345 builtin/commit.c:1621 builtin/push.c:522
-#: builtin/worktree.c:440
+#: builtin/commit.c:1343 builtin/commit.c:1616 builtin/push.c:525
+#: builtin/worktree.c:442
 msgid "machine-readable output"
 msgstr "kết xuất dạng máy-có-thể-đọc"
 
-#: builtin/commit.c:1348 builtin/commit.c:1623
+#: builtin/commit.c:1346 builtin/commit.c:1618
 msgid "show status in long format (default)"
 msgstr "hiển thị trạng thái ở định dạng dài (mặc định)"
 
-#: builtin/commit.c:1351 builtin/commit.c:1626
+#: builtin/commit.c:1349 builtin/commit.c:1621
 msgid "terminate entries with NUL"
 msgstr "chấm dứt các mục bằng NUL"
 
-#: builtin/commit.c:1353 builtin/commit.c:1629 builtin/fast-export.c:981
-#: builtin/fast-export.c:984 builtin/tag.c:353
+#: builtin/commit.c:1351 builtin/commit.c:1624 builtin/fast-export.c:981
+#: builtin/fast-export.c:984 builtin/tag.c:368
 msgid "mode"
 msgstr "chế độ"
 
-#: builtin/commit.c:1354 builtin/commit.c:1629
+#: builtin/commit.c:1352 builtin/commit.c:1624
 msgid "show untracked files, optional modes: all, normal, no. (Default: all)"
 msgstr ""
 "hiển thị các tập tin chưa được theo dõi  dấu vết, các chế độ tùy chọn:  all, "
 "normal, no. (Mặc định: all)"
 
-#: builtin/commit.c:1357
+#: builtin/commit.c:1355
 msgid "show ignored files"
 msgstr "hiển thị các tập tin ẩn"
 
-#: builtin/commit.c:1358 parse-options.h:155
+#: builtin/commit.c:1356 parse-options.h:155
 msgid "when"
 msgstr "khi"
 
-#: builtin/commit.c:1359
+#: builtin/commit.c:1357
 msgid ""
 "ignore changes to submodules, optional when: all, dirty, untracked. "
 "(Default: all)"
@@ -6679,205 +6993,205 @@
 "bỏ qua các thay đổi trong mô-đun-con, tùy chọn khi: all, dirty, untracked. "
 "(Mặc định: all)"
 
-#: builtin/commit.c:1361
+#: builtin/commit.c:1359
 msgid "list untracked files in columns"
 msgstr "hiển thị danh sách các tập-tin chưa được theo dõi trong các cột"
 
-#: builtin/commit.c:1437
+#: builtin/commit.c:1435
 msgid "couldn't look up newly created commit"
 msgstr "không thể tìm thấy lần chuyển giao mới hơn đã được tạo"
 
-#: builtin/commit.c:1439
+#: builtin/commit.c:1437
 msgid "could not parse newly created commit"
 msgstr ""
 "không thể phân tích cú pháp của đối tượng chuyển giao mới hơn đã được tạo"
 
-#: builtin/commit.c:1484
+#: builtin/commit.c:1482
 msgid "detached HEAD"
 msgstr "đã rời khỏi HEAD"
 
-#: builtin/commit.c:1487
+#: builtin/commit.c:1485
 msgid " (root-commit)"
 msgstr " (root-commit)"
 
-#: builtin/commit.c:1587
+#: builtin/commit.c:1582
 msgid "suppress summary after successful commit"
 msgstr "không hiển thị tổng kết sau khi chuyển giao thành công"
 
-#: builtin/commit.c:1588
+#: builtin/commit.c:1583
 msgid "show diff in commit message template"
 msgstr "hiển thị sự khác biệt trong mẫu tin nhắn chuyển giao"
 
-#: builtin/commit.c:1590
+#: builtin/commit.c:1585
 msgid "Commit message options"
 msgstr "Các tùy chọn ghi chú commit"
 
-#: builtin/commit.c:1591 builtin/tag.c:351
+#: builtin/commit.c:1586 builtin/tag.c:366
 msgid "read message from file"
 msgstr "đọc chú thích từ tập tin"
 
-#: builtin/commit.c:1592
+#: builtin/commit.c:1587
 msgid "author"
 msgstr "tác giả"
 
-#: builtin/commit.c:1592
+#: builtin/commit.c:1587
 msgid "override author for commit"
 msgstr "ghi đè tác giả cho commit"
 
-#: builtin/commit.c:1593 builtin/gc.c:326
+#: builtin/commit.c:1588 builtin/gc.c:333
 msgid "date"
 msgstr "ngày tháng"
 
-#: builtin/commit.c:1593
+#: builtin/commit.c:1588
 msgid "override date for commit"
 msgstr "ghi đè ngày tháng cho lần chuyển giao"
 
-#: builtin/commit.c:1594 builtin/merge.c:220 builtin/notes.c:398
-#: builtin/notes.c:561 builtin/tag.c:349
+#: builtin/commit.c:1589 builtin/merge.c:222 builtin/notes.c:398
+#: builtin/notes.c:561 builtin/tag.c:364
 msgid "message"
 msgstr "chú thích"
 
-#: builtin/commit.c:1594
+#: builtin/commit.c:1589
 msgid "commit message"
 msgstr "chú thích của lần chuyển giao"
 
-#: builtin/commit.c:1595 builtin/commit.c:1596 builtin/commit.c:1597
-#: builtin/commit.c:1598 parse-options.h:257 ref-filter.h:79
+#: builtin/commit.c:1590 builtin/commit.c:1591 builtin/commit.c:1592
+#: builtin/commit.c:1593 parse-options.h:257 ref-filter.h:81
 msgid "commit"
 msgstr "lần_chuyển_giao"
 
-#: builtin/commit.c:1595
+#: builtin/commit.c:1590
 msgid "reuse and edit message from specified commit"
 msgstr "dùng lại các ghi chú từ lần chuyển giao đã cho nhưng có cho sửa chữa"
 
-#: builtin/commit.c:1596
+#: builtin/commit.c:1591
 msgid "reuse message from specified commit"
 msgstr "dùng lại các ghi chú từ lần chuyển giao đã cho"
 
-#: builtin/commit.c:1597
+#: builtin/commit.c:1592
 msgid "use autosquash formatted message to fixup specified commit"
 msgstr ""
 "dùng ghi chú có định dạng autosquash để sửa chữa lần chuyển giao đã chỉ ra"
 
-#: builtin/commit.c:1598
+#: builtin/commit.c:1593
 msgid "use autosquash formatted message to squash specified commit"
 msgstr ""
 "dùng lời nhắn có định dạng tự động nén để nén lại các lần chuyển giao đã chỉ "
 "ra"
 
-#: builtin/commit.c:1599
+#: builtin/commit.c:1594
 msgid "the commit is authored by me now (used with -C/-c/--amend)"
 msgstr ""
 "lần chuyển giao nhận tôi là tác giả (được dùng với tùy chọn -C/-c/--amend)"
 
-#: builtin/commit.c:1600 builtin/log.c:1413 builtin/revert.c:86
+#: builtin/commit.c:1595 builtin/log.c:1413 builtin/revert.c:86
 msgid "add Signed-off-by:"
 msgstr "(nên dùng) thêm dòng Signed-off-by:"
 
-#: builtin/commit.c:1601
+#: builtin/commit.c:1596
 msgid "use specified template file"
 msgstr "sử dụng tập tin mẫu đã cho"
 
-#: builtin/commit.c:1602
+#: builtin/commit.c:1597
 msgid "force edit of commit"
 msgstr "ép buộc sửa lần commit"
 
-#: builtin/commit.c:1603
+#: builtin/commit.c:1598
 msgid "default"
 msgstr "mặc định"
 
-#: builtin/commit.c:1603 builtin/tag.c:354
+#: builtin/commit.c:1598 builtin/tag.c:369
 msgid "how to strip spaces and #comments from message"
 msgstr "làm thế nào để cắt bỏ khoảng trắng và #ghichú từ mẩu tin nhắn"
 
-#: builtin/commit.c:1604
+#: builtin/commit.c:1599
 msgid "include status in commit message template"
 msgstr "bao gồm các trạng thái trong mẫu ghi chú chuyển giao"
 
-#: builtin/commit.c:1606 builtin/merge.c:230 builtin/pull.c:166
+#: builtin/commit.c:1601 builtin/merge.c:234 builtin/pull.c:166
 #: builtin/revert.c:93
 msgid "GPG sign commit"
 msgstr "ký lần chuyển giao dùng GPG"
 
-#: builtin/commit.c:1609
+#: builtin/commit.c:1604
 msgid "Commit contents options"
 msgstr "Các tùy nội dung ghi chú commit"
 
-#: builtin/commit.c:1610
+#: builtin/commit.c:1605
 msgid "commit all changed files"
 msgstr "chuyển giao tất cả các tập tin có thay đổi"
 
-#: builtin/commit.c:1611
+#: builtin/commit.c:1606
 msgid "add specified files to index for commit"
 msgstr "thêm các tập tin đã chỉ ra vào bảng mục lục để chuyển giao"
 
-#: builtin/commit.c:1612
+#: builtin/commit.c:1607
 msgid "interactively add files"
 msgstr "thêm các tập-tin bằng tương tác"
 
-#: builtin/commit.c:1613
+#: builtin/commit.c:1608
 msgid "interactively add changes"
 msgstr "thêm các thay đổi bằng tương tác"
 
-#: builtin/commit.c:1614
+#: builtin/commit.c:1609
 msgid "commit only specified files"
 msgstr "chỉ chuyển giao các tập tin đã chỉ ra"
 
-#: builtin/commit.c:1615
+#: builtin/commit.c:1610
 msgid "bypass pre-commit and commit-msg hooks"
 msgstr "vòng qua móc (hook) pre-commit và commit-msg"
 
-#: builtin/commit.c:1616
+#: builtin/commit.c:1611
 msgid "show what would be committed"
 msgstr "hiển thị xem cái gì có thể được chuyển giao"
 
-#: builtin/commit.c:1627
+#: builtin/commit.c:1622
 msgid "amend previous commit"
 msgstr "“tu bổ” (amend) lần commit trước"
 
-#: builtin/commit.c:1628
+#: builtin/commit.c:1623
 msgid "bypass post-rewrite hook"
 msgstr "vòng qua móc (hook) post-rewrite"
 
-#: builtin/commit.c:1633
+#: builtin/commit.c:1628
 msgid "ok to record an empty change"
 msgstr "ok để ghi lại một thay đổi trống rỗng"
 
-#: builtin/commit.c:1635
+#: builtin/commit.c:1630
 msgid "ok to record a change with an empty message"
 msgstr "ok để ghi các thay đổi với lời nhắn trống rỗng"
 
-#: builtin/commit.c:1664
+#: builtin/commit.c:1659
 msgid "could not parse HEAD commit"
 msgstr "không thể phân tích commit (lần chuyển giao) HEAD"
 
-#: builtin/commit.c:1712
+#: builtin/commit.c:1707
 #, c-format
 msgid "Corrupt MERGE_HEAD file (%s)"
 msgstr "Tập tin MERGE_HEAD sai hỏng (%s)"
 
-#: builtin/commit.c:1719
+#: builtin/commit.c:1714
 msgid "could not read MERGE_MODE"
 msgstr "không thể đọc MERGE_MODE"
 
-#: builtin/commit.c:1738
+#: builtin/commit.c:1733
 #, c-format
 msgid "could not read commit message: %s"
-msgstr "không thể đọc phần chú thích (message) của llần chuyển giao: %s"
+msgstr "không thể đọc phần chú thích (message) của lần chuyển giao: %s"
 
-#: builtin/commit.c:1749
+#: builtin/commit.c:1744
 #, c-format
 msgid "Aborting commit; you did not edit the message.\n"
 msgstr ""
 "Đang bỏ qua việc chuyển giao; bạn đã không biên soạn phần chú thích "
 "(message).\n"
 
-#: builtin/commit.c:1754
+#: builtin/commit.c:1749
 #, c-format
 msgid "Aborting commit due to empty commit message.\n"
 msgstr "Bãi bỏ việc chuyển giao bởi vì phần chú thích của nó trống rỗng.\n"
 
-#: builtin/commit.c:1802
+#: builtin/commit.c:1797
 msgid ""
 "Repository has been updated, but unable to write\n"
 "new_index file. Check that disk is not full and quota is\n"
@@ -7203,35 +7517,124 @@
 msgid "--dirty is incompatible with commit-ishes"
 msgstr "--dirty là xung khắc với các tùy chọn commit-ish"
 
-#: builtin/diff.c:86
+#: builtin/diff.c:83
 #, c-format
 msgid "'%s': not a regular file or symlink"
 msgstr "“%s”: không phải tập tin bình thường hay liên kết mềm"
 
-#: builtin/diff.c:237
+#: builtin/diff.c:234
 #, c-format
 msgid "invalid option: %s"
 msgstr "tùy chọn không hợp lệ: %s"
 
-#: builtin/diff.c:361
+#: builtin/diff.c:358
 msgid "Not a git repository"
 msgstr "Không phải là kho git"
 
-#: builtin/diff.c:404
+#: builtin/diff.c:401
 #, c-format
 msgid "invalid object '%s' given."
 msgstr "đối tượng đã cho “%s” không hợp lệ."
 
-#: builtin/diff.c:413
+#: builtin/diff.c:410
 #, c-format
 msgid "more than two blobs given: '%s'"
 msgstr "đã cho nhiều hơn hai đối tượng blob: “%s”"
 
-#: builtin/diff.c:420
+#: builtin/diff.c:417
 #, c-format
 msgid "unhandled object '%s' given."
 msgstr "đã cho đối tượng không thể nắm giữ “%s”."
 
+#: builtin/difftool.c:28
+msgid "git difftool [<options>] [<commit> [<commit>]] [--] [<path>...]"
+msgstr ""
+"git difftool [<các-tùy-chọn>] [<lần_chuyển_giao> [<lần_chuyển_giao>]] [--] "
+"<đường-dẫn>…]"
+
+#: builtin/difftool.c:241
+#, c-format
+msgid "failed: %d"
+msgstr "gặp lỗi: %d"
+
+#: builtin/difftool.c:342
+msgid ""
+"combined diff formats('-c' and '--cc') are not supported in\n"
+"directory diff mode('-d' and '--dir-diff')."
+msgstr ""
+"các định dạng diff tổ hợp(“-c” và “--cc”) chưa được hỗ trợ trong\n"
+"chế độ diff thư mục(“-d” và “--dir-diff”)."
+
+#: builtin/difftool.c:567
+#, c-format
+msgid "both files modified: '%s' and '%s'."
+msgstr "cả hai tập tin đã bị sửa: “%s” và “%s”."
+
+#: builtin/difftool.c:569
+msgid "working tree file has been left."
+msgstr "cây làm việc ở bên trái."
+
+#: builtin/difftool.c:580
+#, c-format
+msgid "temporary files exist in '%s'."
+msgstr "các tập tin tạm đã sẵn có trong “%s”."
+
+#: builtin/difftool.c:581
+msgid "you may want to cleanup or recover these."
+msgstr "bạn có lẽ muốn dọn dẹp hay "
+
+#: builtin/difftool.c:626
+msgid "use `diff.guitool` instead of `diff.tool`"
+msgstr "dùng “diff.guitool“ thay vì dùng “diff.tool“"
+
+#: builtin/difftool.c:628
+msgid "perform a full-directory diff"
+msgstr "thực hiện một diff toàn thư mục"
+
+#: builtin/difftool.c:630
+msgid "do not prompt before launching a diff tool"
+msgstr "đừng nhắc khi khởi chạy công cụ diff"
+
+#: builtin/difftool.c:636
+msgid "use symlinks in dir-diff mode"
+msgstr "dùng liên kết mềm trong diff-thư-mục"
+
+#: builtin/difftool.c:637
+msgid "<tool>"
+msgstr "<công_cụ>"
+
+#: builtin/difftool.c:638
+msgid "use the specified diff tool"
+msgstr "dùng công cụ diff đã cho"
+
+#: builtin/difftool.c:640
+msgid "print a list of diff tools that may be used with `--tool`"
+msgstr "in ra danh sách các công cụ dif cái mà có thẻ dùng với “--tool“"
+
+#: builtin/difftool.c:643
+msgid ""
+"make 'git-difftool' exit when an invoked diff tool returns a non - zero exit "
+"code"
+msgstr ""
+"làm cho “git-difftool” thoát khi gọi công cụ diff trả về mã không phải số "
+"không"
+
+#: builtin/difftool.c:645
+msgid "<command>"
+msgstr "<lệnh>"
+
+#: builtin/difftool.c:646
+msgid "specify a custom command for viewing diffs"
+msgstr "chỉ định một lệnh tùy ý để xem diff"
+
+#: builtin/difftool.c:670
+msgid "no <tool> given for --tool=<tool>"
+msgstr "chưa đưa ra <công_cụ> cho --tool=<công_cụ>"
+
+#: builtin/difftool.c:677
+msgid "no <cmd> given for --extcmd=<cmd>"
+msgstr "chưa đưa ra <lệnh> cho --extcmd=<lệnh>"
+
 #: builtin/fast-export.c:25
 msgid "git fast-export [rev-list-opts]"
 msgstr "git fast-export [rev-list-opts]"
@@ -7390,77 +7793,77 @@
 msgid "specify fetch refmap"
 msgstr "chỉ ra refmap cần lấy về"
 
-#: builtin/fetch.c:398
+#: builtin/fetch.c:395
 msgid "Couldn't find remote ref HEAD"
 msgstr "Không thể tìm thấy máy chủ cho tham chiếu HEAD"
 
-#: builtin/fetch.c:514
+#: builtin/fetch.c:511
 #, c-format
 msgid "configuration fetch.output contains invalid value %s"
 msgstr "phần cấu hình fetch.output có chứa giá-trị không hợp lệ %s"
 
-#: builtin/fetch.c:607
+#: builtin/fetch.c:604
 #, c-format
 msgid "object %s not found"
 msgstr "Không tìm thấy đối tượng %s"
 
-#: builtin/fetch.c:611
+#: builtin/fetch.c:608
 msgid "[up to date]"
 msgstr "[đã cập nhật]"
 
-#: builtin/fetch.c:624 builtin/fetch.c:704
+#: builtin/fetch.c:621 builtin/fetch.c:701
 msgid "[rejected]"
 msgstr "[Bị từ chối]"
 
-#: builtin/fetch.c:625
+#: builtin/fetch.c:622
 msgid "can't fetch in current branch"
 msgstr "không thể fetch (lấy) về nhánh hiện hành"
 
-#: builtin/fetch.c:634
+#: builtin/fetch.c:631
 msgid "[tag update]"
 msgstr "[cập nhật thẻ]"
 
-#: builtin/fetch.c:635 builtin/fetch.c:668 builtin/fetch.c:684
-#: builtin/fetch.c:699
+#: builtin/fetch.c:632 builtin/fetch.c:665 builtin/fetch.c:681
+#: builtin/fetch.c:696
 msgid "unable to update local ref"
 msgstr "không thể cập nhật tham chiếu nội bộ"
 
-#: builtin/fetch.c:654
+#: builtin/fetch.c:651
 msgid "[new tag]"
 msgstr "[thẻ mới]"
 
-#: builtin/fetch.c:657
+#: builtin/fetch.c:654
 msgid "[new branch]"
 msgstr "[nhánh mới]"
 
-#: builtin/fetch.c:660
+#: builtin/fetch.c:657
 msgid "[new ref]"
 msgstr "[ref (tham chiếu) mới]"
 
-#: builtin/fetch.c:699
+#: builtin/fetch.c:696
 msgid "forced update"
 msgstr "cưỡng bức cập nhật"
 
-#: builtin/fetch.c:704
+#: builtin/fetch.c:701
 msgid "non-fast-forward"
 msgstr "không-phải-chuyển-tiếp-nhanh"
 
-#: builtin/fetch.c:749
+#: builtin/fetch.c:746
 #, c-format
 msgid "%s did not send all necessary objects\n"
 msgstr "%s đã không gửi tất cả các đối tượng cần thiết\n"
 
-#: builtin/fetch.c:769
+#: builtin/fetch.c:766
 #, c-format
 msgid "reject %s because shallow roots are not allowed to be updated"
 msgstr "từ chối %s bởi vì các gốc nông thì không được phép cập nhật"
 
-#: builtin/fetch.c:856 builtin/fetch.c:952
+#: builtin/fetch.c:853 builtin/fetch.c:949
 #, c-format
 msgid "From %.*s\n"
 msgstr "Từ %.*s\n"
 
-#: builtin/fetch.c:867
+#: builtin/fetch.c:864
 #, c-format
 msgid ""
 "some local refs could not be updated; try running\n"
@@ -7469,57 +7872,57 @@
 "một số tham chiếu nội bộ không thể được cập nhật; hãy thử chạy\n"
 " “git remote prune %s” để bỏ đi những nhánh cũ, hay bị xung đột"
 
-#: builtin/fetch.c:922
+#: builtin/fetch.c:919
 #, c-format
 msgid "   (%s will become dangling)"
 msgstr "   (%s sẽ trở thành không đầu (không được quản lý))"
 
-#: builtin/fetch.c:923
+#: builtin/fetch.c:920
 #, c-format
 msgid "   (%s has become dangling)"
 msgstr "   (%s đã trở thành không đầu (không được quản lý))"
 
-#: builtin/fetch.c:955
+#: builtin/fetch.c:952
 msgid "[deleted]"
 msgstr "[đã xóa]"
 
-#: builtin/fetch.c:956 builtin/remote.c:1020
+#: builtin/fetch.c:953 builtin/remote.c:1020
 msgid "(none)"
 msgstr "(không)"
 
-#: builtin/fetch.c:979
+#: builtin/fetch.c:976
 #, c-format
 msgid "Refusing to fetch into current branch %s of non-bare repository"
 msgstr ""
 "Từ chối việc lấy vào trong nhánh hiện tại %s của một kho chứa không phải kho "
 "trần (bare)"
 
-#: builtin/fetch.c:998
+#: builtin/fetch.c:995
 #, c-format
 msgid "Option \"%s\" value \"%s\" is not valid for %s"
 msgstr "Tùy chọn \"%s\" có giá trị \"%s\" là không hợp lệ cho %s"
 
-#: builtin/fetch.c:1001
+#: builtin/fetch.c:998
 #, c-format
 msgid "Option \"%s\" is ignored for %s\n"
 msgstr "Tùy chọn \"%s\" bị bỏ qua với %s\n"
 
-#: builtin/fetch.c:1077
+#: builtin/fetch.c:1074
 #, c-format
 msgid "Don't know how to fetch from %s"
 msgstr "Không biết làm cách nào để lấy về từ %s"
 
-#: builtin/fetch.c:1237
+#: builtin/fetch.c:1234
 #, c-format
 msgid "Fetching %s\n"
 msgstr "Đang lấy “%s” về\n"
 
-#: builtin/fetch.c:1239 builtin/remote.c:96
+#: builtin/fetch.c:1236 builtin/remote.c:96
 #, c-format
 msgid "Could not fetch %s"
 msgstr "không thể “%s” về"
 
-#: builtin/fetch.c:1257
+#: builtin/fetch.c:1254
 msgid ""
 "No remote repository specified.  Please, specify either a URL or a\n"
 "remote name from which new revisions should be fetched."
@@ -7527,40 +7930,40 @@
 "Chưa chỉ ra kho chứa máy chủ.  Xin hãy chỉ định hoặc là URL hoặc\n"
 "tên máy chủ từ cái mà những điểm xét duyệt mới có thể được fetch (lấy về)."
 
-#: builtin/fetch.c:1280
+#: builtin/fetch.c:1277
 msgid "You need to specify a tag name."
 msgstr "Bạn phải định rõ tên thẻ."
 
-#: builtin/fetch.c:1322
+#: builtin/fetch.c:1319
 msgid "Negative depth in --deepen is not supported"
 msgstr "Mức sâu là số âm trong --deepen là không được hỗ trợ"
 
-#: builtin/fetch.c:1324
+#: builtin/fetch.c:1321
 msgid "--deepen and --depth are mutually exclusive"
 msgstr "Các tùy chọn--deepen và --depth loại từ lẫn nhau"
 
-#: builtin/fetch.c:1329
+#: builtin/fetch.c:1326
 msgid "--depth and --unshallow cannot be used together"
 msgstr "tùy chọn --depth và --unshallow không thể sử dụng cùng với nhau"
 
-#: builtin/fetch.c:1331
+#: builtin/fetch.c:1328
 msgid "--unshallow on a complete repository does not make sense"
 msgstr "--unshallow trên kho hoàn chỉnh là không hợp lý"
 
-#: builtin/fetch.c:1353
+#: builtin/fetch.c:1350
 msgid "fetch --all does not take a repository argument"
 msgstr "lệnh lấy về \"fetch --all\" không lấy đối số kho chứa"
 
-#: builtin/fetch.c:1355
+#: builtin/fetch.c:1352
 msgid "fetch --all does not make sense with refspecs"
 msgstr "lệnh lấy về \"fetch --all\" không hợp lý với refspecs"
 
-#: builtin/fetch.c:1366
+#: builtin/fetch.c:1363
 #, c-format
 msgid "No such remote or remote group: %s"
 msgstr "không có nhóm máy chủ hay máy chủ như thế: %s"
 
-#: builtin/fetch.c:1374
+#: builtin/fetch.c:1371
 msgid "Fetching a group and specifying refspecs does not make sense"
 msgstr "Việc lấy về cả một nhóm và chỉ định refspecs không hợp lý"
 
@@ -7627,7 +8030,7 @@
 msgid "show only <n> matched refs"
 msgstr "hiển thị chỉ <n> tham chiếu khớp"
 
-#: builtin/for-each-ref.c:37 builtin/tag.c:372
+#: builtin/for-each-ref.c:37 builtin/tag.c:387 builtin/verify-tag.c:38
 msgid "format to use for the output"
 msgstr "định dạng sẽ dùng cho đầu ra"
 
@@ -7647,63 +8050,63 @@
 msgid "print only refs which contain the commit"
 msgstr "chỉ hiển thị những tham chiếu mà nó chứa lần chuyển giao"
 
-#: builtin/fsck.c:519
+#: builtin/fsck.c:554
 msgid "Checking object directories"
 msgstr "Đang kiểm tra các thư mục đối tượng"
 
-#: builtin/fsck.c:588
+#: builtin/fsck.c:646
 msgid "git fsck [<options>] [<object>...]"
 msgstr "git fsck [<các-tùy-chọn>] [<đối-tượng>…]"
 
-#: builtin/fsck.c:594
+#: builtin/fsck.c:652
 msgid "show unreachable objects"
 msgstr "hiển thị các đối tượng không thể đọc được"
 
-#: builtin/fsck.c:595
+#: builtin/fsck.c:653
 msgid "show dangling objects"
 msgstr "hiển thị các đối tượng không được quản lý"
 
-#: builtin/fsck.c:596
+#: builtin/fsck.c:654
 msgid "report tags"
 msgstr "báo cáo các thẻ"
 
-#: builtin/fsck.c:597
+#: builtin/fsck.c:655
 msgid "report root nodes"
 msgstr "báo cáo node gốc"
 
-#: builtin/fsck.c:598
+#: builtin/fsck.c:656
 msgid "make index objects head nodes"
 msgstr "tạo “index objects head nodes”"
 
-#: builtin/fsck.c:599
+#: builtin/fsck.c:657
 msgid "make reflogs head nodes (default)"
 msgstr "tạo “reflogs head nodes” (mặc định)"
 
-#: builtin/fsck.c:600
+#: builtin/fsck.c:658
 msgid "also consider packs and alternate objects"
 msgstr "cũng cân nhắc đến các đối tượng gói và thay thế"
 
-#: builtin/fsck.c:601
+#: builtin/fsck.c:659
 msgid "check only connectivity"
 msgstr "chỉ kiểm tra kết nối"
 
-#: builtin/fsck.c:602
+#: builtin/fsck.c:660
 msgid "enable more strict checking"
 msgstr "cho phép kiểm tra hạn chế hơn"
 
-#: builtin/fsck.c:604
+#: builtin/fsck.c:662
 msgid "write dangling objects in .git/lost-found"
 msgstr "ghi các đối tượng không được quản lý trong .git/lost-found"
 
-#: builtin/fsck.c:605 builtin/prune.c:107
+#: builtin/fsck.c:663 builtin/prune.c:107
 msgid "show progress"
 msgstr "hiển thị quá trình"
 
-#: builtin/fsck.c:606
+#: builtin/fsck.c:664
 msgid "show verbose names for reachable objects"
 msgstr "hiển thị tên chi tiết cho các đối tượng đọc được"
 
-#: builtin/fsck.c:665
+#: builtin/fsck.c:725
 msgid "Checking objects"
 msgstr "Đang kiểm tra các đối tượng"
 
@@ -7721,7 +8124,7 @@
 msgid "insanely long object directory %.*s"
 msgstr "thư mục đối tượng dài một cách điên rồ %.*s"
 
-#: builtin/gc.c:290
+#: builtin/gc.c:297
 #, c-format
 msgid ""
 "The last gc run reported the following. Please correct the root cause\n"
@@ -7736,40 +8139,40 @@
 "\n"
 "%s"
 
-#: builtin/gc.c:327
+#: builtin/gc.c:334
 msgid "prune unreferenced objects"
 msgstr "xóa bỏ các đối tượng không được tham chiếu"
 
-#: builtin/gc.c:329
+#: builtin/gc.c:336
 msgid "be more thorough (increased runtime)"
 msgstr "cẩn thận hơn nữa (tăng thời gian chạy)"
 
-#: builtin/gc.c:330
+#: builtin/gc.c:337
 msgid "enable auto-gc mode"
 msgstr "bật chế độ auto-gc"
 
-#: builtin/gc.c:331
+#: builtin/gc.c:338
 msgid "force running gc even if there may be another gc running"
 msgstr "buộc gc chạy ngay cả khi có tiến trình gc khác đang chạy"
 
-#: builtin/gc.c:373
+#: builtin/gc.c:380
 #, c-format
 msgid "Auto packing the repository in background for optimum performance.\n"
 msgstr ""
 "Tự động đóng gói kho chứa trên nền hệ thống để tối ưu hóa hiệu suất làm "
 "việc.\n"
 
-#: builtin/gc.c:375
+#: builtin/gc.c:382
 #, c-format
 msgid "Auto packing the repository for optimum performance.\n"
 msgstr "Tự động đóng gói kho chứa để tối ưu hóa hiệu suất làm việc.\n"
 
-#: builtin/gc.c:376
+#: builtin/gc.c:383
 #, c-format
 msgid "See \"git help gc\" for manual housekeeping.\n"
 msgstr "Xem \"git help gc\" để có hướng dẫn cụ thể về cách dọn dẹp kho git.\n"
 
-#: builtin/gc.c:397
+#: builtin/gc.c:404
 #, c-format
 msgid ""
 "gc is already running on machine '%s' pid %<PRIuMAX> (use --force if not)"
@@ -7777,243 +8180,259 @@
 "gc đang được thực hiện trên máy “%s” pid %<PRIuMAX> (dùng --force nếu không "
 "phải thế)"
 
-#: builtin/gc.c:441
+#: builtin/gc.c:448
 msgid ""
 "There are too many unreachable loose objects; run 'git prune' to remove them."
 msgstr ""
 "Có quá nhiều đối tượng tự do không được dùng đến; hãy chạy lệnh “git prune” "
 "để xóa bỏ chúng đi."
 
-#: builtin/grep.c:23
+#: builtin/grep.c:25
 msgid "git grep [<options>] [-e] <pattern> [<rev>...] [[--] <path>...]"
 msgstr "git grep [<các-tùy-chọn>] [-e] <mẫu> [<rev>…] [[--] <đường-dẫn>…]"
 
-#: builtin/grep.c:219
+#: builtin/grep.c:232
 #, c-format
 msgid "grep: failed to create thread: %s"
 msgstr "grep: gặp lỗi tạo tuyến (thread): %s"
 
-#: builtin/grep.c:277
+#: builtin/grep.c:290
 #, c-format
 msgid "invalid number of threads specified (%d) for %s"
 msgstr "số tuyến đã cho không hợp lệ (%d) cho %s"
 
-#: builtin/grep.c:453 builtin/grep.c:488
+#: builtin/grep.c:763 builtin/grep.c:804
 #, c-format
 msgid "unable to read tree (%s)"
 msgstr "không thể đọc cây (%s)"
 
-#: builtin/grep.c:503
+#: builtin/grep.c:823
 #, c-format
 msgid "unable to grep from object of type %s"
 msgstr "không thể thực hiện lệnh grep (lọc tìm) từ đối tượng thuộc kiểu %s"
 
-#: builtin/grep.c:561
+#: builtin/grep.c:887
 #, c-format
 msgid "switch `%c' expects a numerical value"
 msgstr "chuyển đến “%c” cần một giá trị bằng số"
 
-#: builtin/grep.c:647
+#: builtin/grep.c:973
 msgid "search in index instead of in the work tree"
 msgstr "tìm trong bảng mục lục thay vì trong cây làm việc"
 
-#: builtin/grep.c:649
+#: builtin/grep.c:975
 msgid "find in contents not managed by git"
 msgstr "tìm trong nội dung không được quản lý bởi git"
 
-#: builtin/grep.c:651
+#: builtin/grep.c:977
 msgid "search in both tracked and untracked files"
 msgstr "tìm kiếm các tập tin được và chưa được theo dõi dấu vết"
 
-#: builtin/grep.c:653
+#: builtin/grep.c:979
 msgid "ignore files specified via '.gitignore'"
 msgstr "các tập tin bị bỏ qua được chỉ định thông qua “.gitignore”"
 
-#: builtin/grep.c:656
+#: builtin/grep.c:981
+msgid "recursivley search in each submodule"
+msgstr "tìm kiếm đệ quy trong từng mô-đun-con"
+
+#: builtin/grep.c:983
+msgid "basename"
+msgstr "tên cơ sở"
+
+#: builtin/grep.c:984
+msgid "prepend parent project's basename to output"
+msgstr "treo vào trước tên cơ sở cha mẹ của đường dẫn vào kết xuất"
+
+#: builtin/grep.c:987
 msgid "show non-matching lines"
 msgstr "hiển thị những dòng không khớp với mẫu"
 
-#: builtin/grep.c:658
+#: builtin/grep.c:989
 msgid "case insensitive matching"
 msgstr "phân biệt HOA/thường"
 
-#: builtin/grep.c:660
+#: builtin/grep.c:991
 msgid "match patterns only at word boundaries"
 msgstr "chỉ khớp mẫu tại đường ranh giới từ"
 
-#: builtin/grep.c:662
+#: builtin/grep.c:993
 msgid "process binary files as text"
 msgstr "xử lý tập tin nhị phân như là dạng văn bản thường"
 
-#: builtin/grep.c:664
+#: builtin/grep.c:995
 msgid "don't match patterns in binary files"
 msgstr "không khớp mẫu trong các tập tin nhị phân"
 
-#: builtin/grep.c:667
+#: builtin/grep.c:998
 msgid "process binary files with textconv filters"
 msgstr "xử lý tập tin nhị phân với các bộ lọc “textconv”"
 
-#: builtin/grep.c:669
+#: builtin/grep.c:1000
 msgid "descend at most <depth> levels"
 msgstr "hạ xuống ít nhất là mức <sâu>"
 
-#: builtin/grep.c:673
+#: builtin/grep.c:1004
 msgid "use extended POSIX regular expressions"
 msgstr "dùng biểu thức chính qui POSIX có mở rộng"
 
-#: builtin/grep.c:676
+#: builtin/grep.c:1007
 msgid "use basic POSIX regular expressions (default)"
 msgstr "sử dụng biểu thức chính quy kiểu POSIX (mặc định)"
 
-#: builtin/grep.c:679
+#: builtin/grep.c:1010
 msgid "interpret patterns as fixed strings"
 msgstr "diễn dịch các mẫu như là chuỗi cố định"
 
-#: builtin/grep.c:682
+#: builtin/grep.c:1013
 msgid "use Perl-compatible regular expressions"
 msgstr "sử dụng biểu thức chính quy tương thích Perl"
 
-#: builtin/grep.c:685
+#: builtin/grep.c:1016
 msgid "show line numbers"
 msgstr "hiển thị số của dòng"
 
-#: builtin/grep.c:686
+#: builtin/grep.c:1017
 msgid "don't show filenames"
 msgstr "không hiển thị tên tập tin"
 
-#: builtin/grep.c:687
+#: builtin/grep.c:1018
 msgid "show filenames"
 msgstr "hiển thị các tên tập tin"
 
-#: builtin/grep.c:689
+#: builtin/grep.c:1020
 msgid "show filenames relative to top directory"
 msgstr "hiển thị tên tập tin tương đối với thư mục đỉnh (top)"
 
-#: builtin/grep.c:691
+#: builtin/grep.c:1022
 msgid "show only filenames instead of matching lines"
 msgstr "chỉ hiển thị tên tập tin thay vì những dòng khớp với mẫu"
 
-#: builtin/grep.c:693
+#: builtin/grep.c:1024
 msgid "synonym for --files-with-matches"
 msgstr "đồng nghĩa với --files-with-matches"
 
-#: builtin/grep.c:696
+#: builtin/grep.c:1027
 msgid "show only the names of files without match"
 msgstr "chỉ hiển thị tên cho những tập tin không khớp với mẫu"
 
-#: builtin/grep.c:698
+#: builtin/grep.c:1029
 msgid "print NUL after filenames"
 msgstr "thêm NUL vào sau tên tập tin"
 
-#: builtin/grep.c:700
+#: builtin/grep.c:1031
 msgid "show the number of matches instead of matching lines"
 msgstr "hiển thị số lượng khớp thay vì những dòng khớp với mẫu"
 
-#: builtin/grep.c:701
+#: builtin/grep.c:1032
 msgid "highlight matches"
 msgstr "tô sáng phần khớp mẫu"
 
-#: builtin/grep.c:703
+#: builtin/grep.c:1034
 msgid "print empty line between matches from different files"
 msgstr "hiển thị dòng trống giữa các lần khớp từ các tập tin khác biệt"
 
-#: builtin/grep.c:705
+#: builtin/grep.c:1036
 msgid "show filename only once above matches from same file"
 msgstr ""
 "hiển thị tên tập tin một lần phía trên các lần khớp từ cùng một tập tin"
 
-#: builtin/grep.c:708
+#: builtin/grep.c:1039
 msgid "show <n> context lines before and after matches"
 msgstr "hiển thị <n> dòng nội dung phía trước và sau các lần khớp"
 
-#: builtin/grep.c:711
+#: builtin/grep.c:1042
 msgid "show <n> context lines before matches"
 msgstr "hiển thị <n> dòng nội dung trước khớp"
 
-#: builtin/grep.c:713
+#: builtin/grep.c:1044
 msgid "show <n> context lines after matches"
 msgstr "hiển thị <n> dòng nội dung sau khớp"
 
-#: builtin/grep.c:715
+#: builtin/grep.c:1046
 msgid "use <n> worker threads"
 msgstr "dùng <n> tuyến trình làm việc"
 
-#: builtin/grep.c:716
+#: builtin/grep.c:1047
 msgid "shortcut for -C NUM"
 msgstr "dạng viết tắt của -C SỐ"
 
-#: builtin/grep.c:719
+#: builtin/grep.c:1050
 msgid "show a line with the function name before matches"
 msgstr "hiển thị dòng vói tên hàm trước các lần khớp"
 
-#: builtin/grep.c:721
+#: builtin/grep.c:1052
 msgid "show the surrounding function"
 msgstr "hiển thị hàm bao quanh"
 
-#: builtin/grep.c:724
+#: builtin/grep.c:1055
 msgid "read patterns from file"
 msgstr "đọc mẫu từ tập-tin"
 
-#: builtin/grep.c:726
+#: builtin/grep.c:1057
 msgid "match <pattern>"
 msgstr "match <mẫu>"
 
-#: builtin/grep.c:728
+#: builtin/grep.c:1059
 msgid "combine patterns specified with -e"
 msgstr "tổ hợp mẫu được chỉ ra với tùy chọn -e"
 
-#: builtin/grep.c:740
+#: builtin/grep.c:1071
 msgid "indicate hit with exit status without output"
 msgstr "đưa ra gợi ý với trạng thái thoát mà không có kết xuất"
 
-#: builtin/grep.c:742
+#: builtin/grep.c:1073
 msgid "show only matches from files that match all patterns"
 msgstr "chỉ hiển thị những cái khớp từ tập tin mà nó khớp toàn bộ các mẫu"
 
-#: builtin/grep.c:744
+#: builtin/grep.c:1075
 msgid "show parse tree for grep expression"
 msgstr "hiển thị cây phân tích cú pháp cho biểu thức “grep” (tìm kiếm)"
 
-#: builtin/grep.c:748
+#: builtin/grep.c:1079
 msgid "pager"
 msgstr "dàn trang"
 
-#: builtin/grep.c:748
+#: builtin/grep.c:1079
 msgid "show matching files in the pager"
 msgstr "hiển thị các tập tin khớp trong trang giấy"
 
-#: builtin/grep.c:751
+#: builtin/grep.c:1082
 msgid "allow calling of grep(1) (ignored by this build)"
 msgstr "cho phép gọi grep(1) (bị bỏ qua bởi lần dịch này)"
 
-#: builtin/grep.c:814
+#: builtin/grep.c:1146
 msgid "no pattern given."
 msgstr "chưa chỉ ra mẫu."
 
-#: builtin/grep.c:846 builtin/index-pack.c:1480
+#: builtin/grep.c:1178 builtin/index-pack.c:1482
 #, c-format
 msgid "invalid number of threads specified (%d)"
 msgstr "số tuyến chỉ ra không hợp lệ (%d)"
 
-#: builtin/grep.c:876
+#: builtin/grep.c:1215
 msgid "--open-files-in-pager only works on the worktree"
 msgstr "--open-files-in-pager chỉ làm việc trên cây-làm-việc"
 
-#: builtin/grep.c:902
+#: builtin/grep.c:1238
+msgid "option not supported with --recurse-submodules."
+msgstr "tùy chọn không được hỗ trợ với --recurse-submodules."
+
+#: builtin/grep.c:1244
 msgid "--cached or --untracked cannot be used with --no-index."
 msgstr "--cached hay --untracked không được sử dụng với --no-index."
 
-#: builtin/grep.c:907
+#: builtin/grep.c:1249
 msgid "--no-index or --untracked cannot be used with revs."
 msgstr ""
 "--no-index hay --untracked không được sử dụng cùng với các tùy chọn liên "
 "quan đến revs."
 
-#: builtin/grep.c:910
+#: builtin/grep.c:1252
 msgid "--[no-]exclude-standard cannot be used for tracked contents."
 msgstr "--[no-]exclude-standard không thể sử dụng cho nội dung lưu dấu vết."
 
-#: builtin/grep.c:918
+#: builtin/grep.c:1260
 msgid "both --cached and trees are given."
 msgstr "cả hai --cached và các cây phải được chỉ ra."
 
@@ -8289,179 +8708,183 @@
 msgstr "sự mâu thuẫn xả nén nghiêm trọng"
 
 #: builtin/index-pack.c:748 builtin/index-pack.c:754 builtin/index-pack.c:777
-#: builtin/index-pack.c:811 builtin/index-pack.c:820
+#: builtin/index-pack.c:813 builtin/index-pack.c:822
 #, c-format
 msgid "SHA1 COLLISION FOUND WITH %s !"
 msgstr "SỰ VA CHẠM SHA1 ĐÃ XẢY RA VỚI %s!"
 
-#: builtin/index-pack.c:751 builtin/pack-objects.c:166
-#: builtin/pack-objects.c:258
+#: builtin/index-pack.c:751 builtin/pack-objects.c:164
+#: builtin/pack-objects.c:256
 #, c-format
 msgid "unable to read %s"
 msgstr "không thể đọc %s"
 
-#: builtin/index-pack.c:817
+#: builtin/index-pack.c:819
 #, c-format
 msgid "cannot read existing object %s"
 msgstr "không thể đọc đối tượng đã tồn tại %s"
 
-#: builtin/index-pack.c:831
+#: builtin/index-pack.c:833
 #, c-format
 msgid "invalid blob object %s"
 msgstr "đối tượng blob không hợp lệ %s"
 
-#: builtin/index-pack.c:845
+#: builtin/index-pack.c:847
 #, c-format
 msgid "invalid %s"
 msgstr "%s không hợp lệ"
 
-#: builtin/index-pack.c:848
+#: builtin/index-pack.c:850
 msgid "Error in object"
 msgstr "Lỗi trong đối tượng"
 
-#: builtin/index-pack.c:850
+#: builtin/index-pack.c:852
 #, c-format
 msgid "Not all child objects of %s are reachable"
 msgstr "Không phải tất cả các đối tượng con của %s là có thể với tới được"
 
-#: builtin/index-pack.c:922 builtin/index-pack.c:953
+#: builtin/index-pack.c:924 builtin/index-pack.c:955
 msgid "failed to apply delta"
 msgstr "gặp lỗi khi áp dụng delta"
 
-#: builtin/index-pack.c:1123
+#: builtin/index-pack.c:1125
 msgid "Receiving objects"
 msgstr "Đang nhận về các đối tượng"
 
-#: builtin/index-pack.c:1123
+#: builtin/index-pack.c:1125
 msgid "Indexing objects"
 msgstr "Các đối tượng bảng mục lục"
 
-#: builtin/index-pack.c:1155
+#: builtin/index-pack.c:1157
 msgid "pack is corrupted (SHA1 mismatch)"
 msgstr "gói bị sai hỏng (SHA1 không khớp)"
 
-#: builtin/index-pack.c:1160
+#: builtin/index-pack.c:1162
 msgid "cannot fstat packfile"
 msgstr "không thể lấy thông tin thống kê packfile"
 
-#: builtin/index-pack.c:1163
+#: builtin/index-pack.c:1165
 msgid "pack has junk at the end"
 msgstr "pack có phần thừa ở cuối"
 
-#: builtin/index-pack.c:1174
+#: builtin/index-pack.c:1176
 msgid "confusion beyond insanity in parse_pack_objects()"
 msgstr "lộn xộn hơn cả điên rồ khi chạy hàm parse_pack_objects()"
 
-#: builtin/index-pack.c:1197
+#: builtin/index-pack.c:1199
 msgid "Resolving deltas"
 msgstr "Đang phân giải các delta"
 
-#: builtin/index-pack.c:1208
+#: builtin/index-pack.c:1210
 #, c-format
 msgid "unable to create thread: %s"
 msgstr "không thể tạo tuyến: %s"
 
-#: builtin/index-pack.c:1250
+#: builtin/index-pack.c:1252
 msgid "confusion beyond insanity"
 msgstr "lộn xộn hơn cả điên rồ"
 
-#: builtin/index-pack.c:1256
+#: builtin/index-pack.c:1258
 #, c-format
 msgid "completed with %d local object"
 msgid_plural "completed with %d local objects"
 msgstr[0] "đầy đủ với %d đối tượng nội bộ"
 
-#: builtin/index-pack.c:1268
+#: builtin/index-pack.c:1270
 #, c-format
 msgid "Unexpected tail checksum for %s (disk corruption?)"
 msgstr "Gặp tổng kiểm tra tail không cần cho %s (đĩa hỏng?)"
 
-#: builtin/index-pack.c:1272
+#: builtin/index-pack.c:1274
 #, c-format
 msgid "pack has %d unresolved delta"
 msgid_plural "pack has %d unresolved deltas"
 msgstr[0] "gói có %d delta chưa được giải quyết"
 
-#: builtin/index-pack.c:1296
+#: builtin/index-pack.c:1298
 #, c-format
 msgid "unable to deflate appended object (%d)"
 msgstr "không thể xả nén đối tượng nối thêm (%d)"
 
-#: builtin/index-pack.c:1372
+#: builtin/index-pack.c:1374
 #, c-format
 msgid "local object %s is corrupt"
 msgstr "đối tượng nội bộ %s bị hỏng"
 
-#: builtin/index-pack.c:1396
+#: builtin/index-pack.c:1398
 msgid "error while closing pack file"
 msgstr "gặp lỗi trong khi đóng tập tin gói"
 
-#: builtin/index-pack.c:1409
+#: builtin/index-pack.c:1411
 #, c-format
 msgid "cannot write keep file '%s'"
 msgstr "không thể ghi tập tin giữ lại “%s”"
 
-#: builtin/index-pack.c:1417
+#: builtin/index-pack.c:1419
 #, c-format
 msgid "cannot close written keep file '%s'"
 msgstr "không thể đóng tập tin giữ lại đã được ghi “%s”"
 
-#: builtin/index-pack.c:1430
+#: builtin/index-pack.c:1432
 msgid "cannot store pack file"
 msgstr "không thể lưu tập tin gói"
 
-#: builtin/index-pack.c:1441
+#: builtin/index-pack.c:1443
 msgid "cannot store index file"
 msgstr "không thể lưu trữ tập tin ghi mục lục"
 
-#: builtin/index-pack.c:1474
+#: builtin/index-pack.c:1476
 #, c-format
 msgid "bad pack.indexversion=%<PRIu32>"
 msgstr "sai pack.indexversion=%<PRIu32>"
 
-#: builtin/index-pack.c:1484 builtin/index-pack.c:1681
+#: builtin/index-pack.c:1486 builtin/index-pack.c:1683
 #, c-format
 msgid "no threads support, ignoring %s"
 msgstr "không hỗ trợ đa tuyến, bỏ qua %s"
 
-#: builtin/index-pack.c:1542
+#: builtin/index-pack.c:1544
 #, c-format
 msgid "Cannot open existing pack file '%s'"
 msgstr "Không thể mở tập tin gói đã sẵn có “%s”"
 
-#: builtin/index-pack.c:1544
+#: builtin/index-pack.c:1546
 #, c-format
 msgid "Cannot open existing pack idx file for '%s'"
 msgstr "Không thể mở tập tin idx của gói cho “%s”"
 
-#: builtin/index-pack.c:1591
+#: builtin/index-pack.c:1593
 #, c-format
 msgid "non delta: %d object"
 msgid_plural "non delta: %d objects"
 msgstr[0] "không delta: %d đối tượng"
 
-#: builtin/index-pack.c:1598
+#: builtin/index-pack.c:1600
 #, c-format
 msgid "chain length = %d: %lu object"
 msgid_plural "chain length = %d: %lu objects"
 msgstr[0] "chiều dài xích = %d: %lu đối tượng"
 
-#: builtin/index-pack.c:1611
+#: builtin/index-pack.c:1613
 #, c-format
 msgid "packfile name '%s' does not end with '.pack'"
 msgstr "tên tập tin tập tin gói “%s” không được kết thúc bằng đuôi “.pack”"
 
-#: builtin/index-pack.c:1693 builtin/index-pack.c:1696
-#: builtin/index-pack.c:1712 builtin/index-pack.c:1716
+#: builtin/index-pack.c:1695 builtin/index-pack.c:1698
+#: builtin/index-pack.c:1714 builtin/index-pack.c:1718
 #, c-format
 msgid "bad %s"
 msgstr "%s sai"
 
-#: builtin/index-pack.c:1732
+#: builtin/index-pack.c:1734
 msgid "--fix-thin cannot be used without --stdin"
 msgstr "--fix-thin không thể được dùng mà không có --stdin"
 
-#: builtin/index-pack.c:1740
+#: builtin/index-pack.c:1736
+msgid "--stdin requires a git repository"
+msgstr "--stdin cần một kho git"
+
+#: builtin/index-pack.c:1744
 msgid "--verify with no packfile name given"
 msgstr "dùng tùy chọn --verify mà không đưa ra tên packfile"
 
@@ -8709,7 +9132,7 @@
 msgid "Unknown commit %s"
 msgstr "Không hiểu lần chuyển giao %s"
 
-#: builtin/log.c:1258 builtin/notes.c:884 builtin/tag.c:455
+#: builtin/log.c:1258 builtin/notes.c:884 builtin/tag.c:476
 #, c-format
 msgid "Failed to resolve '%s' as a valid ref."
 msgstr "Gặp lỗi khi phân giải “%s” như là một tham chiếu hợp lệ."
@@ -8944,106 +9367,106 @@
 "Không tìm thấy nhánh mạng được theo dõi, hãy chỉ định <thượng-nguồn> một "
 "cách thủ công.\n"
 
-#: builtin/ls-files.c:458
+#: builtin/ls-files.c:460
 msgid "git ls-files [<options>] [<file>...]"
 msgstr "git ls-files [<các-tùy-chọn>] [<tập-tin>…]"
 
-#: builtin/ls-files.c:507
+#: builtin/ls-files.c:509
 msgid "identify the file status with tags"
 msgstr "nhận dạng các trạng thái tập tin với thẻ"
 
-#: builtin/ls-files.c:509
+#: builtin/ls-files.c:511
 msgid "use lowercase letters for 'assume unchanged' files"
 msgstr ""
 "dùng chữ cái viết thường cho các tập tin “assume unchanged” (giả định không "
 "thay đổi)"
 
-#: builtin/ls-files.c:511
+#: builtin/ls-files.c:513
 msgid "show cached files in the output (default)"
 msgstr "hiển thị các tập tin được nhớ tạm vào đầu ra (mặc định)"
 
-#: builtin/ls-files.c:513
+#: builtin/ls-files.c:515
 msgid "show deleted files in the output"
 msgstr "hiển thị các tập tin đã xóa trong kết xuất"
 
-#: builtin/ls-files.c:515
+#: builtin/ls-files.c:517
 msgid "show modified files in the output"
 msgstr "hiển thị các tập tin đã bị sửa đổi ra kết xuất"
 
-#: builtin/ls-files.c:517
+#: builtin/ls-files.c:519
 msgid "show other files in the output"
 msgstr "hiển thị các tập tin khác trong kết xuất"
 
-#: builtin/ls-files.c:519
+#: builtin/ls-files.c:521
 msgid "show ignored files in the output"
 msgstr "hiển thị các tập tin bị bỏ qua trong kết xuất"
 
-#: builtin/ls-files.c:522
+#: builtin/ls-files.c:524
 msgid "show staged contents' object name in the output"
 msgstr "hiển thị tên đối tượng của nội dung được đặt lên bệ phóng ra kết xuất"
 
-#: builtin/ls-files.c:524
+#: builtin/ls-files.c:526
 msgid "show files on the filesystem that need to be removed"
 msgstr "hiển thị các tập tin trên hệ thống tập tin mà nó cần được gỡ bỏ"
 
-#: builtin/ls-files.c:526
+#: builtin/ls-files.c:528
 msgid "show 'other' directories' names only"
 msgstr "chỉ hiển thị tên của các thư mục “khác”"
 
-#: builtin/ls-files.c:528
+#: builtin/ls-files.c:530
 msgid "show line endings of files"
 msgstr "hiển thị kết thúc dòng của các tập tin"
 
-#: builtin/ls-files.c:530
+#: builtin/ls-files.c:532
 msgid "don't show empty directories"
 msgstr "không hiển thị thư mục rỗng"
 
-#: builtin/ls-files.c:533
+#: builtin/ls-files.c:535
 msgid "show unmerged files in the output"
 msgstr "hiển thị các tập tin chưa hòa trộn trong kết xuất"
 
-#: builtin/ls-files.c:535
+#: builtin/ls-files.c:537
 msgid "show resolve-undo information"
 msgstr "hiển thị thông tin resolve-undo"
 
-#: builtin/ls-files.c:537
+#: builtin/ls-files.c:539
 msgid "skip files matching pattern"
 msgstr "bỏ qua những tập tin khớp với một mẫu"
 
-#: builtin/ls-files.c:540
+#: builtin/ls-files.c:542
 msgid "exclude patterns are read from <file>"
 msgstr "mẫu loại trừ được đọc từ <tập tin>"
 
-#: builtin/ls-files.c:543
+#: builtin/ls-files.c:545
 msgid "read additional per-directory exclude patterns in <file>"
 msgstr "đọc thêm các mẫu ngoại trừ mỗi thư mục trong <tập tin>"
 
-#: builtin/ls-files.c:545
+#: builtin/ls-files.c:547
 msgid "add the standard git exclusions"
 msgstr "thêm loại trừ tiêu chuẩn kiểu git"
 
-#: builtin/ls-files.c:548
+#: builtin/ls-files.c:550
 msgid "make the output relative to the project top directory"
 msgstr "làm cho kết xuất liên quan đến thư mục ở mức cao nhất (gốc) của dự án"
 
-#: builtin/ls-files.c:551
+#: builtin/ls-files.c:553
 msgid "recurse through submodules"
 msgstr "đệ quy xuyên qua mô-đun con"
 
-#: builtin/ls-files.c:553
+#: builtin/ls-files.c:555
 msgid "if any <file> is not in the index, treat this as an error"
 msgstr "nếu <tập tin> bất kỳ không ở trong bảng mục lục, xử lý nó như một lỗi"
 
-#: builtin/ls-files.c:554
+#: builtin/ls-files.c:556
 msgid "tree-ish"
 msgstr "tree-ish"
 
-#: builtin/ls-files.c:555
+#: builtin/ls-files.c:557
 msgid "pretend that paths removed since <tree-ish> are still present"
 msgstr ""
 "giả định rằng các đường dẫn đã bị gỡ bỏ kể từ <tree-ish> nay vẫn hiện diện"
 
-#: builtin/ls-files.c:557
+#: builtin/ls-files.c:559
 msgid "show debugging data"
 msgstr "hiển thị dữ liệu gỡ lỗi"
 
@@ -9097,35 +9520,35 @@
 msgid "git ls-tree [<options>] <tree-ish> [<path>...]"
 msgstr "git ls-tree [<các-tùy-chọn>] <tree-ish> [<đường-dẫn>…]"
 
-#: builtin/ls-tree.c:128
+#: builtin/ls-tree.c:126
 msgid "only show trees"
 msgstr "chỉ hiển thị các tree"
 
-#: builtin/ls-tree.c:130
+#: builtin/ls-tree.c:128
 msgid "recurse into subtrees"
 msgstr "đệ quy vào các thư mục con"
 
-#: builtin/ls-tree.c:132
+#: builtin/ls-tree.c:130
 msgid "show trees when recursing"
 msgstr "hiển thị cây khi đệ quy"
 
-#: builtin/ls-tree.c:135
+#: builtin/ls-tree.c:133
 msgid "terminate entries with NUL byte"
 msgstr "chấm dứt mục tin với byte NUL"
 
-#: builtin/ls-tree.c:136
+#: builtin/ls-tree.c:134
 msgid "include object size"
 msgstr "gồm cả kích thước đối tượng"
 
-#: builtin/ls-tree.c:138 builtin/ls-tree.c:140
+#: builtin/ls-tree.c:136 builtin/ls-tree.c:138
 msgid "list only filenames"
 msgstr "chỉ liệt kê tên tập tin"
 
-#: builtin/ls-tree.c:143
+#: builtin/ls-tree.c:141
 msgid "use full path names"
 msgstr "dùng tên đường dẫn đầy đủ"
 
-#: builtin/ls-tree.c:145
+#: builtin/ls-tree.c:143
 msgid "list entire tree; not just current directory (implies --full-name)"
 msgstr "liệt kê cây mục tin; không chỉ thư mục hiện hành (ngụ ý --full-name)"
 
@@ -9141,164 +9564,172 @@
 msgid "git merge --abort"
 msgstr "git merge --abort"
 
-#: builtin/merge.c:102
+#: builtin/merge.c:49
+msgid "git merge --continue"
+msgstr "git merge --continue"
+
+#: builtin/merge.c:104
 msgid "switch `m' requires a value"
 msgstr "switch “m” yêu cầu một giá trị"
 
-#: builtin/merge.c:139
+#: builtin/merge.c:141
 #, c-format
 msgid "Could not find merge strategy '%s'.\n"
 msgstr "Không tìm thấy chiến lược hòa trộn “%s”.\n"
 
-#: builtin/merge.c:140
+#: builtin/merge.c:142
 #, c-format
 msgid "Available strategies are:"
 msgstr "Các chiến lược sẵn sàng là:"
 
-#: builtin/merge.c:145
+#: builtin/merge.c:147
 #, c-format
 msgid "Available custom strategies are:"
 msgstr "Các chiến lược tùy chỉnh sẵn sàng là:"
 
-#: builtin/merge.c:195 builtin/pull.c:127
+#: builtin/merge.c:197 builtin/pull.c:127
 msgid "do not show a diffstat at the end of the merge"
 msgstr "không hiển thị thống kê khác biệt tại cuối của lần hòa trộn"
 
-#: builtin/merge.c:198 builtin/pull.c:130
+#: builtin/merge.c:200 builtin/pull.c:130
 msgid "show a diffstat at the end of the merge"
 msgstr "hiển thị thống kê khác biệt tại cuối của hòa trộn"
 
-#: builtin/merge.c:199 builtin/pull.c:133
+#: builtin/merge.c:201 builtin/pull.c:133
 msgid "(synonym to --stat)"
 msgstr "(đồng nghĩa với --stat)"
 
-#: builtin/merge.c:201 builtin/pull.c:136
+#: builtin/merge.c:203 builtin/pull.c:136
 msgid "add (at most <n>) entries from shortlog to merge commit message"
 msgstr "thêm (ít nhất <n>) mục từ shortlog cho ghi chú chuyển giao hòa trộn"
 
-#: builtin/merge.c:204 builtin/pull.c:139
+#: builtin/merge.c:206 builtin/pull.c:139
 msgid "create a single commit instead of doing a merge"
 msgstr "tạo một lần chuyển giao đưon thay vì thực hiện việc hòa trộn"
 
-#: builtin/merge.c:206 builtin/pull.c:142
+#: builtin/merge.c:208 builtin/pull.c:142
 msgid "perform a commit if the merge succeeds (default)"
 msgstr "thực hiện chuyển giao nếu hòa trộn thành công (mặc định)"
 
-#: builtin/merge.c:208 builtin/pull.c:145
+#: builtin/merge.c:210 builtin/pull.c:145
 msgid "edit message before committing"
 msgstr "sửa chú thích trước khi chuyển giao"
 
-#: builtin/merge.c:209
+#: builtin/merge.c:211
 msgid "allow fast-forward (default)"
 msgstr "cho phép chuyển-tiếp-nhanh (mặc định)"
 
-#: builtin/merge.c:211 builtin/pull.c:151
+#: builtin/merge.c:213 builtin/pull.c:151
 msgid "abort if fast-forward is not possible"
 msgstr "bỏ qua nếu chuyển-tiếp-nhanh không thể được"
 
-#: builtin/merge.c:215 builtin/pull.c:154
+#: builtin/merge.c:217 builtin/pull.c:154
 msgid "verify that the named commit has a valid GPG signature"
 msgstr "thẩm tra xem lần chuyển giao có tên đó có chữ ký GPG hợp lệ hay không"
 
-#: builtin/merge.c:216 builtin/notes.c:774 builtin/pull.c:158
+#: builtin/merge.c:218 builtin/notes.c:774 builtin/pull.c:158
 #: builtin/revert.c:89
 msgid "strategy"
 msgstr "chiến lược"
 
-#: builtin/merge.c:217 builtin/pull.c:159
+#: builtin/merge.c:219 builtin/pull.c:159
 msgid "merge strategy to use"
 msgstr "chiến lược hòa trộn sẽ dùng"
 
-#: builtin/merge.c:218 builtin/pull.c:162
+#: builtin/merge.c:220 builtin/pull.c:162
 msgid "option=value"
 msgstr "tùy_chọn=giá_trị"
 
-#: builtin/merge.c:219 builtin/pull.c:163
+#: builtin/merge.c:221 builtin/pull.c:163
 msgid "option for selected merge strategy"
 msgstr "tùy chọn cho chiến lược hòa trộn đã chọn"
 
-#: builtin/merge.c:221
+#: builtin/merge.c:223
 msgid "merge commit message (for a non-fast-forward merge)"
 msgstr ""
 "hòa trộn ghi chú của lần chuyển giao (dành cho hòa trộn không-chuyển-tiếp-"
 "nhanh)"
 
-#: builtin/merge.c:225
+#: builtin/merge.c:227
 msgid "abort the current in-progress merge"
 msgstr "bãi bỏ quá trình hòa trộn hiện tại đang thực hiện"
 
-#: builtin/merge.c:227 builtin/pull.c:170
+#: builtin/merge.c:229
+msgid "continue the current in-progress merge"
+msgstr "tiếp tục quá trình hòa trộn hiện tại đang thực hiện"
+
+#: builtin/merge.c:231 builtin/pull.c:170
 msgid "allow merging unrelated histories"
 msgstr "cho phép hòa trộn lịch sử không liên quan"
 
-#: builtin/merge.c:255
+#: builtin/merge.c:259
 msgid "could not run stash."
 msgstr "không thể chạy stash."
 
-#: builtin/merge.c:260
+#: builtin/merge.c:264
 msgid "stash failed"
 msgstr "lệnh tạm cất gặp lỗi"
 
-#: builtin/merge.c:265
+#: builtin/merge.c:269
 #, c-format
 msgid "not a valid object: %s"
 msgstr "không phải là một đối tượng hợp lệ: %s"
 
-#: builtin/merge.c:284 builtin/merge.c:301
+#: builtin/merge.c:288 builtin/merge.c:305
 msgid "read-tree failed"
 msgstr "read-tree gặp lỗi"
 
-#: builtin/merge.c:331
+#: builtin/merge.c:335
 msgid " (nothing to squash)"
 msgstr " (không có gì để squash)"
 
-#: builtin/merge.c:342
+#: builtin/merge.c:346
 #, c-format
 msgid "Squash commit -- not updating HEAD\n"
 msgstr "Squash commit -- không cập nhật HEAD\n"
 
-#: builtin/merge.c:392
+#: builtin/merge.c:396
 #, c-format
 msgid "No merge message -- not updating HEAD\n"
 msgstr "Không có lời chú thích hòa trộn -- nên không cập nhật HEAD\n"
 
-#: builtin/merge.c:443
+#: builtin/merge.c:447
 #, c-format
 msgid "'%s' does not point to a commit"
 msgstr "“%s” không chỉ đến một lần chuyển giao nào cả"
 
-#: builtin/merge.c:533
+#: builtin/merge.c:537
 #, c-format
 msgid "Bad branch.%s.mergeoptions string: %s"
 msgstr "Chuỗi branch.%s.mergeoptions sai: %s"
 
-#: builtin/merge.c:652
+#: builtin/merge.c:656
 msgid "Not handling anything other than two heads merge."
 msgstr "Không cầm nắm gì ngoài hai head hòa trộn"
 
-#: builtin/merge.c:666
+#: builtin/merge.c:670
 #, c-format
 msgid "Unknown option for merge-recursive: -X%s"
 msgstr "Không hiểu tùy chọn cho merge-recursive: -X%s"
 
-#: builtin/merge.c:681
+#: builtin/merge.c:685
 #, c-format
 msgid "unable to write %s"
 msgstr "không thể ghi %s"
 
-#: builtin/merge.c:733
+#: builtin/merge.c:737
 #, c-format
 msgid "Could not read from '%s'"
 msgstr "Không thể đọc từ “%s”"
 
-#: builtin/merge.c:742
+#: builtin/merge.c:746
 #, c-format
 msgid "Not committing merge; use 'git commit' to complete the merge.\n"
 msgstr ""
 "Vẫn chưa hòa trộn các lần chuyển giao; sử dụng lệnh “git commit” để hoàn tất "
 "việc hòa trộn.\n"
 
-#: builtin/merge.c:748
+#: builtin/merge.c:752
 #, c-format
 msgid ""
 "Please enter a commit message to explain why this merge is necessary,\n"
@@ -9316,69 +9747,81 @@
 "rỗng\n"
 "sẽ hủy bỏ lần chuyển giao.\n"
 
-#: builtin/merge.c:772
+#: builtin/merge.c:776
 msgid "Empty commit message."
 msgstr "Chú thích của lần commit (chuyển giao) bị trống rỗng."
 
-#: builtin/merge.c:792
+#: builtin/merge.c:796
 #, c-format
 msgid "Wonderful.\n"
 msgstr "Tuyệt vời.\n"
 
-#: builtin/merge.c:847
+#: builtin/merge.c:851
 #, c-format
 msgid "Automatic merge failed; fix conflicts and then commit the result.\n"
 msgstr ""
 "Việc tự động hòa trộn gặp lỗi; hãy sửa các xung đột sau đó chuyển giao kết "
 "quả.\n"
 
-#: builtin/merge.c:863
+#: builtin/merge.c:867
 #, c-format
 msgid "'%s' is not a commit"
 msgstr "%s không phải là một lần commit (chuyển giao)"
 
-#: builtin/merge.c:904
+#: builtin/merge.c:908
 msgid "No current branch."
 msgstr "không phải nhánh hiện hành"
 
-#: builtin/merge.c:906
+#: builtin/merge.c:910
 msgid "No remote for the current branch."
 msgstr "Không có máy chủ cho nhánh hiện hành."
 
-#: builtin/merge.c:908
+#: builtin/merge.c:912
 msgid "No default upstream defined for the current branch."
 msgstr "Không có thượng nguồn mặc định được định nghĩa cho nhánh hiện hành."
 
-#: builtin/merge.c:913
+#: builtin/merge.c:917
 #, c-format
 msgid "No remote-tracking branch for %s from %s"
 msgstr "Không nhánh mạng theo dõi cho %s từ %s"
 
-#: builtin/merge.c:960
+#: builtin/merge.c:964
 #, c-format
 msgid "Bad value '%s' in environment '%s'"
 msgstr "Giá trị sai “%s” trong biến môi trường “%s”"
 
-#: builtin/merge.c:1034
+#: builtin/merge.c:1038
 #, c-format
 msgid "could not close '%s'"
 msgstr "không thể đóng “%s”"
 
-#: builtin/merge.c:1061
+#: builtin/merge.c:1065
 #, c-format
 msgid "not something we can merge in %s: %s"
 msgstr "không phải là một số thứ chúng tôi có thể hòa trộn trong %s: %s"
 
-#: builtin/merge.c:1095
+#: builtin/merge.c:1099
 msgid "not something we can merge"
 msgstr "không phải là một số thứ chúng tôi có thể hòa trộn"
 
-#: builtin/merge.c:1162
+#: builtin/merge.c:1167
+msgid "--abort expects no arguments"
+msgstr "--abort không nhận các đối số"
+
+#: builtin/merge.c:1171
 msgid "There is no merge to abort (MERGE_HEAD missing)."
 msgstr ""
 "Ở đây không có lần hòa trộn nào được hủy bỏ giữa chừng cả (thiếu MERGE_HEAD)."
 
-#: builtin/merge.c:1178
+#: builtin/merge.c:1183
+msgid "--continue expects no arguments"
+msgstr "--continue không nhận đối số"
+
+#: builtin/merge.c:1187
+msgid "There is no merge in progress (MERGE_HEAD missing)."
+msgstr "Ở đây không có lần hòa trộn nào đang được xử lý cả (thiếu MERGE_HEAD)."
+
+#: builtin/merge.c:1203
 msgid ""
 "You have not concluded your merge (MERGE_HEAD exists).\n"
 "Please, commit your changes before you merge."
@@ -9386,7 +9829,7 @@
 "Bạn chưa kết thúc việc hòa trộn (MERGE_HEAD vẫn tồn tại).\n"
 "Hãy chuyển giao các thay đổi trước khi bạn có thể hòa trộn."
 
-#: builtin/merge.c:1185
+#: builtin/merge.c:1210
 msgid ""
 "You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists).\n"
 "Please, commit your changes before you merge."
@@ -9394,115 +9837,115 @@
 "Bạn chưa kết thúc việc cherry-pick (CHERRY_PICK_HEAD vẫn tồn tại).\n"
 "Hãy chuyển giao các thay đổi trước khi bạn có thể hòa trộn."
 
-#: builtin/merge.c:1188
+#: builtin/merge.c:1213
 msgid "You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists)."
 msgstr "Bạn chưa kết thúc việc cherry-pick (CHERRY_PICK_HEAD vẫn tồn tại)."
 
-#: builtin/merge.c:1197
+#: builtin/merge.c:1222
 msgid "You cannot combine --squash with --no-ff."
 msgstr "Bạn không thể kết hợp --squash với --no-ff."
 
-#: builtin/merge.c:1205
+#: builtin/merge.c:1230
 msgid "No commit specified and merge.defaultToUpstream not set."
 msgstr "Không chỉ ra lần chuyển giao và merge.defaultToUpstream chưa được đặt."
 
-#: builtin/merge.c:1222
+#: builtin/merge.c:1247
 msgid "Squash commit into empty head not supported yet"
 msgstr "Squash commit vào một head trống rỗng vẫn chưa được hỗ trợ"
 
-#: builtin/merge.c:1224
+#: builtin/merge.c:1249
 msgid "Non-fast-forward commit does not make sense into an empty head"
 msgstr ""
 "Chuyển giao không-chuyển-tiếp-nhanh không hợp lý ở trong một head trống rỗng"
 
-#: builtin/merge.c:1229
+#: builtin/merge.c:1254
 #, c-format
 msgid "%s - not something we can merge"
 msgstr "%s - không phải là một số thứ chúng tôi có thể hòa trộn"
 
-#: builtin/merge.c:1231
+#: builtin/merge.c:1256
 msgid "Can merge only exactly one commit into empty head"
 msgstr ""
 "Không thể hòa trộn một cách đúng đắn một lần chuyển giao vào một head rỗng"
 
-#: builtin/merge.c:1287
+#: builtin/merge.c:1312
 #, c-format
 msgid "Commit %s has an untrusted GPG signature, allegedly by %s."
 msgstr ""
 "Lần chuyển giao %s có một chữ ký GPG không đáng tin, được cho là bởi %s."
 
-#: builtin/merge.c:1290
+#: builtin/merge.c:1315
 #, c-format
 msgid "Commit %s has a bad GPG signature allegedly by %s."
 msgstr "Lần chuyển giao %s có một chữ ký GPG sai, được cho là bởi %s."
 
-#: builtin/merge.c:1293
+#: builtin/merge.c:1318
 #, c-format
 msgid "Commit %s does not have a GPG signature."
 msgstr "Lần chuyển giao %s không có chữ ký GPG."
 
-#: builtin/merge.c:1296
+#: builtin/merge.c:1321
 #, c-format
 msgid "Commit %s has a good GPG signature by %s\n"
 msgstr "Lần chuyển giao %s có một chữ ký GPG tốt bởi %s\n"
 
-#: builtin/merge.c:1358
+#: builtin/merge.c:1383
 msgid "refusing to merge unrelated histories"
 msgstr "từ chối hòa trộn lịch sử không liên quan"
 
-#: builtin/merge.c:1367
+#: builtin/merge.c:1392
 msgid "Already up-to-date."
 msgstr "Đã cập nhật rồi."
 
-#: builtin/merge.c:1377
+#: builtin/merge.c:1402
 #, c-format
 msgid "Updating %s..%s\n"
 msgstr "Đang cập nhật %s..%s\n"
 
-#: builtin/merge.c:1418
+#: builtin/merge.c:1443
 #, c-format
 msgid "Trying really trivial in-index merge...\n"
 msgstr "Đang thử hòa trộn kiểu “trivial in-index”…\n"
 
-#: builtin/merge.c:1425
+#: builtin/merge.c:1450
 #, c-format
 msgid "Nope.\n"
 msgstr "Không.\n"
 
-#: builtin/merge.c:1450
+#: builtin/merge.c:1475
 msgid "Already up-to-date. Yeeah!"
 msgstr "Đã cập nhật rồi. Yeeah!"
 
-#: builtin/merge.c:1456
+#: builtin/merge.c:1481
 msgid "Not possible to fast-forward, aborting."
 msgstr "Thực hiện lệnh chuyển-tiếp-nhanh là không thể được, đang bỏ qua."
 
-#: builtin/merge.c:1479 builtin/merge.c:1558
+#: builtin/merge.c:1504 builtin/merge.c:1583
 #, c-format
 msgid "Rewinding the tree to pristine...\n"
 msgstr "Đang tua lại cây thành thời xa xưa…\n"
 
-#: builtin/merge.c:1483
+#: builtin/merge.c:1508
 #, c-format
 msgid "Trying merge strategy %s...\n"
 msgstr "Đang thử chiến lược hòa trộn %s…\n"
 
-#: builtin/merge.c:1549
+#: builtin/merge.c:1574
 #, c-format
 msgid "No merge strategy handled the merge.\n"
 msgstr "Không có chiến lược hòa trộn nào được nắm giữ (handle) sự hòa trộn.\n"
 
-#: builtin/merge.c:1551
+#: builtin/merge.c:1576
 #, c-format
 msgid "Merge with strategy %s failed.\n"
 msgstr "Hòa trộn với chiến lược %s gặp lỗi.\n"
 
-#: builtin/merge.c:1560
+#: builtin/merge.c:1585
 #, c-format
 msgid "Using the %s to prepare resolving by hand.\n"
 msgstr "Sử dụng %s để chuẩn bị giải quyết bằng tay.\n"
 
-#: builtin/merge.c:1572
+#: builtin/merge.c:1597
 #, c-format
 msgid "Automatic merge went well; stopped before committing as requested\n"
 msgstr ""
@@ -9635,95 +10078,95 @@
 msgid "allow creation of more than one tree"
 msgstr "cho phép tạo nhiều hơn một cây"
 
-#: builtin/mv.c:15
+#: builtin/mv.c:16
 msgid "git mv [<options>] <source>... <destination>"
 msgstr "git mv [<các-tùy-chọn>] <nguồn>… <đích>"
 
-#: builtin/mv.c:70
+#: builtin/mv.c:82
 #, c-format
 msgid "Directory %s is in index and no submodule?"
 msgstr "Thư mục “%s” có ở trong chỉ mục mà không có mô-đun con?"
 
-#: builtin/mv.c:72 builtin/rm.c:317
+#: builtin/mv.c:84 builtin/rm.c:290
 msgid "Please stage your changes to .gitmodules or stash them to proceed"
 msgstr ""
 "Hãy đưa các thay đổi của bạn vào .gitmodules hay tạm cất chúng đi để xử lý"
 
-#: builtin/mv.c:90
+#: builtin/mv.c:102
 #, c-format
 msgid "%.*s is in index"
 msgstr "%.*s trong bảng mục lục"
 
-#: builtin/mv.c:112
+#: builtin/mv.c:124
 msgid "force move/rename even if target exists"
 msgstr "ép buộc di chuyển hay đổi tên thậm chí cả khi đích đã tồn tại"
 
-#: builtin/mv.c:113
+#: builtin/mv.c:125
 msgid "skip move/rename errors"
 msgstr "bỏ qua các lỗi liên quan đến di chuyển, đổi tên"
 
-#: builtin/mv.c:155
+#: builtin/mv.c:167
 #, c-format
 msgid "destination '%s' is not a directory"
 msgstr "có đích “%s” nhưng đây không phải là một thư mục"
 
-#: builtin/mv.c:166
+#: builtin/mv.c:178
 #, c-format
 msgid "Checking rename of '%s' to '%s'\n"
 msgstr "Đang kiểm tra việc đổi tên của “%s” thành “%s”\n"
 
-#: builtin/mv.c:170
+#: builtin/mv.c:182
 msgid "bad source"
 msgstr "nguồn sai"
 
-#: builtin/mv.c:173
+#: builtin/mv.c:185
 msgid "can not move directory into itself"
 msgstr "không thể di chuyển một thư mục vào trong chính nó được"
 
-#: builtin/mv.c:176
+#: builtin/mv.c:188
 msgid "cannot move directory over file"
 msgstr "không di chuyển được thư mục thông qua tập tin"
 
-#: builtin/mv.c:185
+#: builtin/mv.c:197
 msgid "source directory is empty"
 msgstr "thư mục nguồn là trống rỗng"
 
-#: builtin/mv.c:210
+#: builtin/mv.c:222
 msgid "not under version control"
 msgstr "không nằm dưới sự quản lý mã nguồn"
 
-#: builtin/mv.c:213
+#: builtin/mv.c:225
 msgid "destination exists"
 msgstr "đích đã tồn tại sẵn rồi"
 
-#: builtin/mv.c:221
+#: builtin/mv.c:233
 #, c-format
 msgid "overwriting '%s'"
 msgstr "đang ghi đè lên “%s”"
 
-#: builtin/mv.c:224
+#: builtin/mv.c:236
 msgid "Cannot overwrite"
 msgstr "Không thể ghi đè"
 
-#: builtin/mv.c:227
+#: builtin/mv.c:239
 msgid "multiple sources for the same target"
 msgstr "Nhiều nguồn cho cùng một đích"
 
-#: builtin/mv.c:229
+#: builtin/mv.c:241
 msgid "destination directory does not exist"
 msgstr "thư mục đích không tồn tại"
 
-#: builtin/mv.c:236
+#: builtin/mv.c:248
 #, c-format
 msgid "%s, source=%s, destination=%s"
 msgstr "%s, nguồn=%s, đích=%s"
 
-#: builtin/mv.c:257
+#: builtin/mv.c:269
 #, c-format
 msgid "Renaming %s to %s\n"
 msgstr "Đổi tên %s thành %s\n"
 
-#: builtin/mv.c:263 builtin/remote.c:710 builtin/repack.c:375
+#: builtin/mv.c:275 builtin/remote.c:710 builtin/repack.c:384
 #, c-format
 msgid "renaming '%s' failed"
 msgstr "gặp lỗi khi đổi tên “%s”"
@@ -9911,12 +10354,12 @@
 msgid "the note contents have been left in %s"
 msgstr "nội dung ghi chú còn lại %s"
 
-#: builtin/notes.c:233 builtin/tag.c:439
+#: builtin/notes.c:233 builtin/tag.c:460
 #, c-format
 msgid "cannot read '%s'"
 msgstr "không thể đọc “%s”"
 
-#: builtin/notes.c:235 builtin/tag.c:442
+#: builtin/notes.c:235 builtin/tag.c:463
 #, c-format
 msgid "could not open or read '%s'"
 msgstr "không thể mở hay đọc “%s”"
@@ -10197,175 +10640,175 @@
 "git pack-objects [các-tùy-chọn…] <base-name> [< <danh-sách-ref> | < <danh-"
 "sách-đối-tượng>]"
 
-#: builtin/pack-objects.c:179 builtin/pack-objects.c:182
+#: builtin/pack-objects.c:177 builtin/pack-objects.c:180
 #, c-format
 msgid "deflate error (%d)"
 msgstr "lỗi giải nén (%d)"
 
-#: builtin/pack-objects.c:768
+#: builtin/pack-objects.c:766
 msgid "disabling bitmap writing, packs are split due to pack.packSizeLimit"
 msgstr "tắt ghi bitmap, các gói bị chia nhỏ bởi vì pack.packSizeLimit"
 
-#: builtin/pack-objects.c:781
+#: builtin/pack-objects.c:779
 msgid "Writing objects"
 msgstr "Đang ghi lại các đối tượng"
 
-#: builtin/pack-objects.c:1070
+#: builtin/pack-objects.c:1068
 msgid "disabling bitmap writing, as some objects are not being packed"
 msgstr "tắt ghi bitmap, như vậy một số đối tượng sẽ không được đóng gói"
 
-#: builtin/pack-objects.c:2346
+#: builtin/pack-objects.c:2344
 msgid "Compressing objects"
 msgstr "Đang nén các đối tượng"
 
-#: builtin/pack-objects.c:2759
+#: builtin/pack-objects.c:2747
 #, c-format
 msgid "unsupported index version %s"
 msgstr "phiên bản mục lục không được hỗ trợ %s"
 
-#: builtin/pack-objects.c:2763
+#: builtin/pack-objects.c:2751
 #, c-format
 msgid "bad index version '%s'"
 msgstr "phiên bản mục lục sai “%s”"
 
-#: builtin/pack-objects.c:2793
+#: builtin/pack-objects.c:2781
 msgid "do not show progress meter"
 msgstr "không hiển thị bộ đo tiến trình"
 
-#: builtin/pack-objects.c:2795
+#: builtin/pack-objects.c:2783
 msgid "show progress meter"
 msgstr "hiển thị bộ đo tiến trình"
 
-#: builtin/pack-objects.c:2797
+#: builtin/pack-objects.c:2785
 msgid "show progress meter during object writing phase"
 msgstr "hiển thị bộ đo tiến triển trong suốt pha ghi đối tượng"
 
-#: builtin/pack-objects.c:2800
+#: builtin/pack-objects.c:2788
 msgid "similar to --all-progress when progress meter is shown"
 msgstr "tương tự --all-progress khi bộ đo tiến trình được xuất hiện"
 
-#: builtin/pack-objects.c:2801
+#: builtin/pack-objects.c:2789
 msgid "version[,offset]"
 msgstr "phiên bản[,offset]"
 
-#: builtin/pack-objects.c:2802
+#: builtin/pack-objects.c:2790
 msgid "write the pack index file in the specified idx format version"
 msgstr "ghi tập tin bảng mục lục gói (pack) ở phiên bản định dạng idx đã cho"
 
-#: builtin/pack-objects.c:2805
+#: builtin/pack-objects.c:2793
 msgid "maximum size of each output pack file"
 msgstr "kcíh thước tối đa cho tập tin gói được tạo"
 
-#: builtin/pack-objects.c:2807
+#: builtin/pack-objects.c:2795
 msgid "ignore borrowed objects from alternate object store"
 msgstr "bỏ qua các đối tượng vay mượn từ kho đối tượng thay thế"
 
-#: builtin/pack-objects.c:2809
+#: builtin/pack-objects.c:2797
 msgid "ignore packed objects"
 msgstr "bỏ qua các đối tượng đóng gói"
 
-#: builtin/pack-objects.c:2811
+#: builtin/pack-objects.c:2799
 msgid "limit pack window by objects"
 msgstr "giới hạn cửa sổ đóng gói theo đối tượng"
 
-#: builtin/pack-objects.c:2813
+#: builtin/pack-objects.c:2801
 msgid "limit pack window by memory in addition to object limit"
 msgstr "giới hạn cửa sổ đóng gói theo bộ nhớ cộng thêm với giới hạn đối tượng"
 
-#: builtin/pack-objects.c:2815
+#: builtin/pack-objects.c:2803
 msgid "maximum length of delta chain allowed in the resulting pack"
 msgstr "độ dài tối đa của chuỗi móc xích “delta” được phép trong gói kết quả"
 
-#: builtin/pack-objects.c:2817
+#: builtin/pack-objects.c:2805
 msgid "reuse existing deltas"
 msgstr "dùng lại các delta sẵn có"
 
-#: builtin/pack-objects.c:2819
+#: builtin/pack-objects.c:2807
 msgid "reuse existing objects"
 msgstr "dùng lại các đối tượng sẵn có"
 
-#: builtin/pack-objects.c:2821
+#: builtin/pack-objects.c:2809
 msgid "use OFS_DELTA objects"
 msgstr "dùng các đối tượng OFS_DELTA"
 
-#: builtin/pack-objects.c:2823
+#: builtin/pack-objects.c:2811
 msgid "use threads when searching for best delta matches"
 msgstr "sử dụng các tuyến trình khi tìm kiếm cho các mẫu khớp delta tốt nhất"
 
-#: builtin/pack-objects.c:2825
+#: builtin/pack-objects.c:2813
 msgid "do not create an empty pack output"
 msgstr "không thể tạo kết xuất gói trống rỗng"
 
-#: builtin/pack-objects.c:2827
+#: builtin/pack-objects.c:2815
 msgid "read revision arguments from standard input"
 msgstr " đọc tham số “revision” từ thiết bị nhập chuẩn"
 
-#: builtin/pack-objects.c:2829
+#: builtin/pack-objects.c:2817
 msgid "limit the objects to those that are not yet packed"
 msgstr "giới hạn các đối tượng thành những cái mà chúng vẫn chưa được đóng gói"
 
-#: builtin/pack-objects.c:2832
+#: builtin/pack-objects.c:2820
 msgid "include objects reachable from any reference"
 msgstr "bao gồm các đối tượng có thể đọc được từ bất kỳ tham chiếu nào"
 
-#: builtin/pack-objects.c:2835
+#: builtin/pack-objects.c:2823
 msgid "include objects referred by reflog entries"
 msgstr "bao gồm các đối tượng được tham chiếu bởi các mục reflog"
 
-#: builtin/pack-objects.c:2838
+#: builtin/pack-objects.c:2826
 msgid "include objects referred to by the index"
 msgstr "bao gồm các đối tượng được tham chiếu bởi mục lục"
 
-#: builtin/pack-objects.c:2841
+#: builtin/pack-objects.c:2829
 msgid "output pack to stdout"
 msgstr "xuất gói ra đầu ra tiêu chuẩn"
 
-#: builtin/pack-objects.c:2843
+#: builtin/pack-objects.c:2831
 msgid "include tag objects that refer to objects to be packed"
 msgstr "bao gồm các đối tượng tham chiếu đến các đối tượng được đóng gói"
 
-#: builtin/pack-objects.c:2845
+#: builtin/pack-objects.c:2833
 msgid "keep unreachable objects"
 msgstr "giữ lại các đối tượng không thể đọc được"
 
-#: builtin/pack-objects.c:2847
+#: builtin/pack-objects.c:2835
 msgid "pack loose unreachable objects"
 msgstr "pack mất các đối tượng không thể đọc được"
 
-#: builtin/pack-objects.c:2849
+#: builtin/pack-objects.c:2837
 msgid "unpack unreachable objects newer than <time>"
 msgstr ""
 "xả nén (gỡ khỏi gói) các đối tượng không thể đọc được mới hơn <thời-gian>"
 
-#: builtin/pack-objects.c:2852
+#: builtin/pack-objects.c:2840
 msgid "create thin packs"
 msgstr "tạo gói nhẹ"
 
-#: builtin/pack-objects.c:2854
+#: builtin/pack-objects.c:2842
 msgid "create packs suitable for shallow fetches"
 msgstr "tạo gói để phù hợp cho lấy về nông (shallow)"
 
-#: builtin/pack-objects.c:2856
+#: builtin/pack-objects.c:2844
 msgid "ignore packs that have companion .keep file"
 msgstr "bỏ qua các gói mà nó có tập tin .keep đi kèm"
 
-#: builtin/pack-objects.c:2858
+#: builtin/pack-objects.c:2846
 msgid "pack compression level"
 msgstr "mức nén gói"
 
-#: builtin/pack-objects.c:2860
+#: builtin/pack-objects.c:2848
 msgid "do not hide commits by grafts"
 msgstr "không ẩn các lần chuyển giao bởi “grafts”"
 
-#: builtin/pack-objects.c:2862
+#: builtin/pack-objects.c:2850
 msgid "use a bitmap index if available to speed up counting objects"
 msgstr "dùng mục lục ánh xạ nếu có thể được để nâng cao tốc độ đếm đối tượng"
 
-#: builtin/pack-objects.c:2864
+#: builtin/pack-objects.c:2852
 msgid "write a bitmap index together with the pack index"
 msgstr "ghi một mục lục ánh xạ cùng với mục lục gói"
 
-#: builtin/pack-objects.c:2993
+#: builtin/pack-objects.c:2979
 msgid "Counting objects"
 msgstr "Đang đếm các đối tượng"
 
@@ -10393,11 +10836,11 @@
 msgid "git prune [-n] [-v] [--expire <time>] [--] [<head>...]"
 msgstr "git prune [-n] [-v] [--expire <thời-gian>] [--] [<head>…]"
 
-#: builtin/prune.c:106 builtin/worktree.c:128
+#: builtin/prune.c:106
 msgid "report pruned objects"
 msgstr "báo cáo các đối tượng đã prune"
 
-#: builtin/prune.c:109 builtin/worktree.c:130
+#: builtin/prune.c:109
 msgid "expire objects older than <time>"
 msgstr "các đối tượng hết hạn cũ hơn khoảng <thời gian>"
 
@@ -10500,7 +10943,7 @@
 msgid "<remote>"
 msgstr "<máy chủ>"
 
-#: builtin/pull.c:415 builtin/pull.c:430 builtin/pull.c:435 git-rebase.sh:451
+#: builtin/pull.c:415 builtin/pull.c:430 builtin/pull.c:435 git-rebase.sh:455
 #: git-parse-remote.sh:65
 msgid "<branch>"
 msgstr "<nhánh>"
@@ -10675,14 +11118,14 @@
 "nhánh hiện tại “%s” của bạn, mà không báo cho tôi biết là cái gì được push\n"
 "để cập nhật nhánh máy chủ nào."
 
-#: builtin/push.c:242
+#: builtin/push.c:245
 msgid ""
 "You didn't specify any refspecs to push, and push.default is \"nothing\"."
 msgstr ""
 "Bạn đã không chỉ ra một refspecs nào để đẩy lên, và push.default là \"không "
 "là gì cả\"."
 
-#: builtin/push.c:249
+#: builtin/push.c:252
 msgid ""
 "Updates were rejected because the tip of your current branch is behind\n"
 "its remote counterpart. Integrate the remote changes (e.g.\n"
@@ -10695,7 +11138,7 @@
 "Xem “Note about fast-forwards” trong “git push --help” để có thông tin chi "
 "tiết."
 
-#: builtin/push.c:255
+#: builtin/push.c:258
 msgid ""
 "Updates were rejected because a pushed branch tip is behind its remote\n"
 "counterpart. Check out this branch and integrate the remote changes\n"
@@ -10709,7 +11152,7 @@
 "Xem “Note about fast-forwards” trong “git push --help” để có thông tin chi "
 "tiết."
 
-#: builtin/push.c:261
+#: builtin/push.c:264
 msgid ""
 "Updates were rejected because the remote contains work that you do\n"
 "not have locally. This is usually caused by another repository pushing\n"
@@ -10724,11 +11167,11 @@
 "Xem “Note about fast-forwards” trong “git push --help” để có thông tin chi "
 "tiết."
 
-#: builtin/push.c:268
+#: builtin/push.c:271
 msgid "Updates were rejected because the tag already exists in the remote."
 msgstr "Việc cập nhật bị từ chối bởi vì thẻ đã sẵn có từ trước trên máy chủ."
 
-#: builtin/push.c:271
+#: builtin/push.c:274
 msgid ""
 "You cannot update a remote ref that points at a non-commit object,\n"
 "or update a remote ref to make it point at a non-commit object,\n"
@@ -10740,22 +11183,22 @@
 "đối tượng\n"
 "không phải chuyển giao, mà không sử dụng tùy chọn “--force”.\n"
 
-#: builtin/push.c:331
+#: builtin/push.c:334
 #, c-format
 msgid "Pushing to %s\n"
 msgstr "Đang đẩy lên %s\n"
 
-#: builtin/push.c:335
+#: builtin/push.c:338
 #, c-format
 msgid "failed to push some refs to '%s'"
 msgstr "gặp lỗi khi đẩy tới một số tham chiếu đến “%s”"
 
-#: builtin/push.c:366
+#: builtin/push.c:369
 #, c-format
 msgid "bad repository '%s'"
 msgstr "repository (kho) sai “%s”"
 
-#: builtin/push.c:367
+#: builtin/push.c:370
 msgid ""
 "No configured push destination.\n"
 "Either specify the URL from the command-line or configure a remote "
@@ -10776,112 +11219,112 @@
 "\n"
 "    git push <tên>\n"
 
-#: builtin/push.c:385
+#: builtin/push.c:388
 msgid "--all and --tags are incompatible"
 msgstr "--all và --tags xung khắc nhau"
 
-#: builtin/push.c:386
+#: builtin/push.c:389
 msgid "--all can't be combined with refspecs"
 msgstr "--all không thể được tổ hợp cùng với đặc tả đường dẫn"
 
-#: builtin/push.c:391
+#: builtin/push.c:394
 msgid "--mirror and --tags are incompatible"
 msgstr "--mirror và --tags xung khắc nhau"
 
-#: builtin/push.c:392
+#: builtin/push.c:395
 msgid "--mirror can't be combined with refspecs"
 msgstr "--mirror không thể được tổ hợp cùng với đặc tả đường dẫn"
 
-#: builtin/push.c:397
+#: builtin/push.c:400
 msgid "--all and --mirror are incompatible"
 msgstr "--all và --mirror xung khắc nhau"
 
-#: builtin/push.c:515
+#: builtin/push.c:518
 msgid "repository"
 msgstr "kho"
 
-#: builtin/push.c:516 builtin/send-pack.c:161
+#: builtin/push.c:519 builtin/send-pack.c:161
 msgid "push all refs"
 msgstr "đẩy tất cả các tham chiếu"
 
-#: builtin/push.c:517 builtin/send-pack.c:163
+#: builtin/push.c:520 builtin/send-pack.c:163
 msgid "mirror all refs"
 msgstr "mirror tất cả các tham chiếu"
 
-#: builtin/push.c:519
+#: builtin/push.c:522
 msgid "delete refs"
 msgstr "xóa các tham chiếu"
 
-#: builtin/push.c:520
+#: builtin/push.c:523
 msgid "push tags (can't be used with --all or --mirror)"
 msgstr "đẩy các thẻ (không dùng cùng với --all hay --mirror)"
 
-#: builtin/push.c:523 builtin/send-pack.c:164
+#: builtin/push.c:526 builtin/send-pack.c:164
 msgid "force updates"
 msgstr "ép buộc cập nhật"
 
-#: builtin/push.c:525 builtin/send-pack.c:175
+#: builtin/push.c:528 builtin/send-pack.c:175
 msgid "refname>:<expect"
 msgstr "tên-tham-chiếu>:<cần"
 
-#: builtin/push.c:526 builtin/send-pack.c:176
+#: builtin/push.c:529 builtin/send-pack.c:176
 msgid "require old value of ref to be at this value"
 msgstr "yêu cầu giá-trị cũ của tham chiếu thì là giá-trị này"
 
-#: builtin/push.c:529
+#: builtin/push.c:532
 msgid "control recursive pushing of submodules"
 msgstr "điều khiển việc đẩy lên (push) đệ qui của mô-đun-con"
 
-#: builtin/push.c:531 builtin/send-pack.c:169
+#: builtin/push.c:534 builtin/send-pack.c:169
 msgid "use thin pack"
 msgstr "tạo gói nhẹ"
 
-#: builtin/push.c:532 builtin/push.c:533 builtin/send-pack.c:158
+#: builtin/push.c:535 builtin/push.c:536 builtin/send-pack.c:158
 #: builtin/send-pack.c:159
 msgid "receive pack program"
 msgstr "chương trình nhận gói"
 
-#: builtin/push.c:534
+#: builtin/push.c:537
 msgid "set upstream for git pull/status"
 msgstr "đặt thượng nguồn cho git pull/status"
 
-#: builtin/push.c:537
+#: builtin/push.c:540
 msgid "prune locally removed refs"
 msgstr "xén tỉa những tham chiếu bị gỡ bỏ"
 
-#: builtin/push.c:539
+#: builtin/push.c:542
 msgid "bypass pre-push hook"
 msgstr "vòng qua móc tiền-đẩy (pre-push)"
 
-#: builtin/push.c:540
+#: builtin/push.c:543
 msgid "push missing but relevant tags"
 msgstr "push phần bị thiếu nhưng các thẻ lại thích hợp"
 
-#: builtin/push.c:543 builtin/send-pack.c:166
+#: builtin/push.c:546 builtin/send-pack.c:166
 msgid "GPG sign the push"
 msgstr "ký lần đẩy dùng GPG"
 
-#: builtin/push.c:545 builtin/send-pack.c:170
+#: builtin/push.c:548 builtin/send-pack.c:170
 msgid "request atomic transaction on remote side"
 msgstr "yêu cầu giao dịch hạt nhân bên phía máy chủ"
 
-#: builtin/push.c:546
+#: builtin/push.c:549
 msgid "server-specific"
 msgstr "đặc-tả-máy-phục-vụ"
 
-#: builtin/push.c:546
+#: builtin/push.c:549
 msgid "option to transmit"
 msgstr "tùy chọn để chuyển giao"
 
-#: builtin/push.c:560
+#: builtin/push.c:563
 msgid "--delete is incompatible with --all, --mirror and --tags"
 msgstr "--delete là xung khắc với các tùy chọn --all, --mirror và --tags"
 
-#: builtin/push.c:562
+#: builtin/push.c:565
 msgid "--delete doesn't make sense without any refs"
 msgstr "--delete không hợp lý nếu không có bất kỳ tham chiếu nào"
 
-#: builtin/push.c:579
+#: builtin/push.c:584
 msgid "push options must not have new line characters"
 msgstr "các tùy chọn push phải không có ký tự dòng mới"
 
@@ -10972,8 +11415,8 @@
 "with what you pushed, and will require 'git reset --hard' to match\n"
 "the work tree to HEAD.\n"
 "\n"
-"You can set 'receive.denyCurrentBranch' configuration variable to\n"
-"'ignore' or 'warn' in the remote repository to allow pushing into\n"
+"You can set the 'receive.denyCurrentBranch' configuration variable\n"
+"to 'ignore' or 'warn' in the remote repository to allow pushing into\n"
 "its current branch; however, this is not recommended unless you\n"
 "arranged to update its work tree to match what you pushed in some\n"
 "other way.\n"
@@ -10981,7 +11424,7 @@
 "To squelch this message and still keep the default behaviour, set\n"
 "'receive.denyCurrentBranch' configuration variable to 'refuse'."
 msgstr ""
-"Theo mặc định, việc cập nhật nhánh hiện tại không một kho không-thuần\n"
+"Theo mặc định, việc cập nhật nhánh hiện tại trong một kho không-thuần\n"
 "bị từ chối, bởi vì nó sẽ làm cho chỉ mục và cây làm việc mâu thuẫn với\n"
 "cái mà bạn đẩy lên, và sẽ yêu cầu lệnh “git reset --hard” để mà làm\n"
 "cho cây làm việc khớp với HEAD.\n"
@@ -11536,83 +11979,91 @@
 msgid "git repack [<options>]"
 msgstr "git repack [<các-tùy-chọn>]"
 
-#: builtin/repack.c:160
+#: builtin/repack.c:22
+msgid ""
+"Incremental repacks are incompatible with bitmap indexes.  Use\n"
+"--no-write-bitmap-index or disable the pack.writebitmaps configuration."
+msgstr ""
+"Gia tăng repack là không tương thích với chỉ mục bitmap. Dùng\n"
+"--no-write-bitmap-index hay tắt cấu hình pack.writebitmaps."
+
+#: builtin/repack.c:166
 msgid "pack everything in a single pack"
 msgstr "đóng gói mọi thứ trong một gói đơn"
 
-#: builtin/repack.c:162
+#: builtin/repack.c:168
 msgid "same as -a, and turn unreachable objects loose"
 msgstr "giống với -a, và chỉnh sửa các đối tượng không đọc được thiếu sót"
 
-#: builtin/repack.c:165
+#: builtin/repack.c:171
 msgid "remove redundant packs, and run git-prune-packed"
 msgstr "xóa bỏ các gói dư thừa, và chạy git-prune-packed"
 
-#: builtin/repack.c:167
+#: builtin/repack.c:173
 msgid "pass --no-reuse-delta to git-pack-objects"
 msgstr "chuyển --no-reuse-delta cho git-pack-objects"
 
-#: builtin/repack.c:169
+#: builtin/repack.c:175
 msgid "pass --no-reuse-object to git-pack-objects"
 msgstr "chuyển --no-reuse-object cho git-pack-objects"
 
-#: builtin/repack.c:171
+#: builtin/repack.c:177
 msgid "do not run git-update-server-info"
 msgstr "không chạy git-update-server-info"
 
-#: builtin/repack.c:174
+#: builtin/repack.c:180
 msgid "pass --local to git-pack-objects"
 msgstr "chuyển --local cho git-pack-objects"
 
-#: builtin/repack.c:176
+#: builtin/repack.c:182
 msgid "write bitmap index"
 msgstr "ghi mục lục ánh xạ"
 
-#: builtin/repack.c:177
+#: builtin/repack.c:183
 msgid "approxidate"
 msgstr "ngày ước tính"
 
-#: builtin/repack.c:178
+#: builtin/repack.c:184
 msgid "with -A, do not loosen objects older than this"
 msgstr "với -A, các đối tượng cũ hơn khoảng thời gian này thì không bị mất"
 
-#: builtin/repack.c:180
+#: builtin/repack.c:186
 msgid "with -a, repack unreachable objects"
 msgstr "với -a, đóng gói lại các đối tượng không thể đọc được"
 
-#: builtin/repack.c:182
+#: builtin/repack.c:188
 msgid "size of the window used for delta compression"
 msgstr "kích thước cửa sổ được dùng cho nén “delta”"
 
-#: builtin/repack.c:183 builtin/repack.c:187
+#: builtin/repack.c:189 builtin/repack.c:193
 msgid "bytes"
 msgstr "byte"
 
-#: builtin/repack.c:184
+#: builtin/repack.c:190
 msgid "same as the above, but limit memory size instead of entries count"
 msgstr "giống như trên, nhưng giới hạn kích thước bộ nhớ hay vì số lượng"
 
-#: builtin/repack.c:186
+#: builtin/repack.c:192
 msgid "limits the maximum delta depth"
 msgstr "giới hạn độ sâu tối đa của “delta”"
 
-#: builtin/repack.c:188
+#: builtin/repack.c:194
 msgid "maximum size of each packfile"
 msgstr "kích thước tối đa cho từng tập tin gói"
 
-#: builtin/repack.c:190
+#: builtin/repack.c:196
 msgid "repack objects in packs marked with .keep"
 msgstr "đóng gói lại các đối tượng trong các gói đã đánh dấu bằng .keep"
 
-#: builtin/repack.c:200
+#: builtin/repack.c:206
 msgid "cannot delete packs in a precious-objects repo"
 msgstr "không thể xóa các gói trong một kho đối_tượng_vĩ_đại"
 
-#: builtin/repack.c:204
+#: builtin/repack.c:210
 msgid "--keep-unreachable and -A are incompatible"
 msgstr "--keep-unreachable và -A xung khắc nhau"
 
-#: builtin/repack.c:391 builtin/worktree.c:115
+#: builtin/repack.c:400 builtin/worktree.c:115
 #, c-format
 msgid "failed to remove '%s'"
 msgstr "gặp lỗi khi gỡ bỏ “%s”"
@@ -11844,23 +12295,23 @@
 msgid "rev-list does not support display of notes"
 msgstr "rev-list không hỗ trợ hiển thị các ghi chú"
 
-#: builtin/rev-parse.c:386
+#: builtin/rev-parse.c:391
 msgid "git rev-parse --parseopt [<options>] -- [<args>...]"
 msgstr "git rev-parse --parseopt [<các-tùy-chọn>] -- [<các tham số>…]"
 
-#: builtin/rev-parse.c:391
+#: builtin/rev-parse.c:396
 msgid "keep the `--` passed as an arg"
 msgstr "giữ lại “--” chuyển sang làm tham số"
 
-#: builtin/rev-parse.c:393
+#: builtin/rev-parse.c:398
 msgid "stop parsing after the first non-option argument"
 msgstr "dừng phân tích sau đối số đầu tiên không có tùy chọn"
 
-#: builtin/rev-parse.c:396
+#: builtin/rev-parse.c:401
 msgid "output in stuck long form"
 msgstr "kết xuất trong định dạng gậy dài"
 
-#: builtin/rev-parse.c:527
+#: builtin/rev-parse.c:532
 msgid ""
 "git rev-parse --parseopt [<options>] -- [<args>...]\n"
 "   or: git rev-parse --sq-quote [<arg>...]\n"
@@ -11959,27 +12410,7 @@
 msgid "git rm [<options>] [--] <file>..."
 msgstr "git rm [<các-tùy-chọn>] [--] <tập-tin>…"
 
-#: builtin/rm.c:65
-msgid ""
-"the following submodule (or one of its nested submodules)\n"
-"uses a .git directory:"
-msgid_plural ""
-"the following submodules (or one of their nested submodules)\n"
-"use a .git directory:"
-msgstr[0] ""
-"các mô-đun-con sau đây (hay một trong số mô-đun-con bên trong của nó)\n"
-"dùng một thư mục .git:"
-
-#: builtin/rm.c:71
-msgid ""
-"\n"
-"(use 'rm -rf' if you really want to remove it including all of its history)"
-msgstr ""
-"\n"
-"(dùng /\"rm -rf/\" nếu bạn thực sự muốn gỡ bỏ nó cùng với tất cả lịch sử của "
-"chúng)"
-
-#: builtin/rm.c:230
+#: builtin/rm.c:205
 msgid ""
 "the following file has staged content different from both the\n"
 "file and the HEAD:"
@@ -11990,7 +12421,7 @@
 "các tập tin sau đây có khác biệt nội dung đã đưa lên bệ phóng\n"
 "từ cả tập tin và cả HEAD:"
 
-#: builtin/rm.c:235
+#: builtin/rm.c:210
 msgid ""
 "\n"
 "(use -f to force removal)"
@@ -11998,12 +12429,12 @@
 "\n"
 "(dùng -f để buộc gỡ bỏ)"
 
-#: builtin/rm.c:239
+#: builtin/rm.c:214
 msgid "the following file has changes staged in the index:"
 msgid_plural "the following files have changes staged in the index:"
 msgstr[0] "các tập tin sau đây có thay đổi trạng thái trong bảng mục lục:"
 
-#: builtin/rm.c:243 builtin/rm.c:254
+#: builtin/rm.c:218 builtin/rm.c:227
 msgid ""
 "\n"
 "(use --cached to keep the file, or -f to force removal)"
@@ -12011,41 +12442,46 @@
 "\n"
 "(dùng tùy chọn --cached để giữ tập tin, hoặc -f để ép buộc gỡ bỏ)"
 
-#: builtin/rm.c:251
+#: builtin/rm.c:224
 msgid "the following file has local modifications:"
 msgid_plural "the following files have local modifications:"
 msgstr[0] "những tập tin sau đây có những thay đổi nội bộ:"
 
-#: builtin/rm.c:269
+#: builtin/rm.c:242
 msgid "do not list removed files"
 msgstr "không liệt kê các tập tin đã gỡ bỏ"
 
-#: builtin/rm.c:270
+#: builtin/rm.c:243
 msgid "only remove from the index"
 msgstr "chỉ gỡ bỏ từ mục lục"
 
-#: builtin/rm.c:271
+#: builtin/rm.c:244
 msgid "override the up-to-date check"
 msgstr "ghi đè lên kiểm tra cập nhật"
 
-#: builtin/rm.c:272
+#: builtin/rm.c:245
 msgid "allow recursive removal"
 msgstr "cho phép gỡ bỏ đệ qui"
 
-#: builtin/rm.c:274
+#: builtin/rm.c:247
 msgid "exit with a zero status even if nothing matched"
 msgstr "thoát ra với trạng thái khác không thậm chí nếu không có gì khớp"
 
-#: builtin/rm.c:335
+#: builtin/rm.c:308
 #, c-format
 msgid "not removing '%s' recursively without -r"
 msgstr "không thể gỡ bỏ “%s” một cách đệ qui mà không có tùy chọn -r"
 
-#: builtin/rm.c:374
+#: builtin/rm.c:347
 #, c-format
 msgid "git rm: unable to remove %s"
 msgstr "git rm: không thể gỡ bỏ %s"
 
+#: builtin/rm.c:370
+#, c-format
+msgid "could not remove '%s'"
+msgstr "không thể gỡ bỏ “%s”"
+
 #: builtin/send-pack.c:18
 msgid ""
 "git send-pack [--all | --mirror] [--dry-run] [--force] [--receive-pack=<git-"
@@ -12078,23 +12514,27 @@
 msgid "git shortlog [<options>] [<revision-range>] [[--] [<path>...]]"
 msgstr "git shortlog [<các-tùy-chọn>] [<vùng-xét-duyệt>] [[--] [<đường-dẫn>…]]"
 
-#: builtin/shortlog.c:242
+#: builtin/shortlog.c:249
+msgid "Group by committer rather than author"
+msgstr "Nhóm theo người chuyển giao thay vì tác giả"
+
+#: builtin/shortlog.c:251
 msgid "sort output according to the number of commits per author"
 msgstr "sắp xếp kết xuất tuân theo số lượng chuyển giao trên mỗi tác giả"
 
-#: builtin/shortlog.c:244
+#: builtin/shortlog.c:253
 msgid "Suppress commit descriptions, only provides commit count"
 msgstr "Chặn mọi mô tả lần chuyển giao, chỉ đưa ra số lượng lần chuyển giao"
 
-#: builtin/shortlog.c:246
+#: builtin/shortlog.c:255
 msgid "Show the email address of each author"
 msgstr "Hiển thị thư điện tử cho từng tác giả"
 
-#: builtin/shortlog.c:247
+#: builtin/shortlog.c:256
 msgid "w[,i1[,i2]]"
 msgstr "w[,i1[,i2]]"
 
-#: builtin/shortlog.c:248
+#: builtin/shortlog.c:257
 msgid "Linewrap output"
 msgstr "Ngắt dòng khi quá dài"
 
@@ -12243,37 +12683,37 @@
 msgid "git show-ref --exclude-existing[=<pattern>]"
 msgstr "git show-ref --exclude-existing[=<mẫu>]"
 
-#: builtin/show-ref.c:165
+#: builtin/show-ref.c:159
 msgid "only show tags (can be combined with heads)"
 msgstr "chỉ hiển thị thẻ (có thể tổ hợp cùng với đầu)"
 
-#: builtin/show-ref.c:166
+#: builtin/show-ref.c:160
 msgid "only show heads (can be combined with tags)"
 msgstr "chỉ hiển thị đầu (có thể tổ hợp cùng với thẻ)"
 
-#: builtin/show-ref.c:167
+#: builtin/show-ref.c:161
 msgid "stricter reference checking, requires exact ref path"
 msgstr ""
 "việc kiểm tra tham chiếu chính xác, đòi hỏi chính xác đường dẫn tham chiếu"
 
-#: builtin/show-ref.c:170 builtin/show-ref.c:172
+#: builtin/show-ref.c:164 builtin/show-ref.c:166
 msgid "show the HEAD reference, even if it would be filtered out"
 msgstr "hiển thị tham chiếu HEAD, ngay cả khi nó đã được lọc ra"
 
-#: builtin/show-ref.c:174
+#: builtin/show-ref.c:168
 msgid "dereference tags into object IDs"
 msgstr "bãi bỏ tham chiếu các thẻ thành ra các ID đối tượng"
 
-#: builtin/show-ref.c:176
+#: builtin/show-ref.c:170
 msgid "only show SHA1 hash using <n> digits"
 msgstr "chỉ hiển thị mã băm SHA1 sử dụng <n> chữ số"
 
-#: builtin/show-ref.c:180
+#: builtin/show-ref.c:174
 msgid "do not print results to stdout (useful with --verify)"
 msgstr ""
 "không hiển thị kết quả ra đầu ra chuẩn (stdout) (chỉ hữu dụng với --verify)"
 
-#: builtin/show-ref.c:182
+#: builtin/show-ref.c:176
 msgid "show refs from stdin that aren't in local repository"
 msgstr ""
 "hiển thị các tham chiếu từ đầu vào tiêu chuẩn (stdin) cái mà không ở kho nội "
@@ -12295,12 +12735,12 @@
 msgid "prepend comment character and space to each line"
 msgstr "treo trước ký tự ghi chú và ký tự khoảng trắng cho từng dòng"
 
-#: builtin/submodule--helper.c:24 builtin/submodule--helper.c:1046
+#: builtin/submodule--helper.c:24 builtin/submodule--helper.c:1062
 #, c-format
 msgid "No such ref: %s"
 msgstr "Không có tham chiếu nào như thế: %s"
 
-#: builtin/submodule--helper.c:31 builtin/submodule--helper.c:1055
+#: builtin/submodule--helper.c:31 builtin/submodule--helper.c:1071
 #, c-format
 msgid "Expecting a full ref name, got %s"
 msgstr "Cần tên tham chiếu dạng đầy đủ, nhưng lại nhận được %s"
@@ -12310,8 +12750,7 @@
 msgid "cannot strip one component off url '%s'"
 msgstr "không thể cắt bỏ một thành phần ra khỏi “%s” url"
 
-#: builtin/submodule--helper.c:282 builtin/submodule--helper.c:408
-#: builtin/submodule--helper.c:590
+#: builtin/submodule--helper.c:282 builtin/submodule--helper.c:592
 msgid "alternative anchor for relative paths"
 msgstr "điểm neo thay thế cho các đường dẫn tương đối"
 
@@ -12319,86 +12758,86 @@
 msgid "git submodule--helper list [--prefix=<path>] [<path>...]"
 msgstr "git submodule--helper list [--prefix=</đường/dẫn>] [</đường/dẫn>…]"
 
-#: builtin/submodule--helper.c:329 builtin/submodule--helper.c:343
+#: builtin/submodule--helper.c:333 builtin/submodule--helper.c:347
 #, c-format
 msgid "No url found for submodule path '%s' in .gitmodules"
 msgstr "Không tìm thấy url cho đường dẫn mô-đun-con “%s” trong .gitmodules"
 
-#: builtin/submodule--helper.c:369
+#: builtin/submodule--helper.c:373
 #, c-format
 msgid "Failed to register url for submodule path '%s'"
 msgstr "Gặp lỗi khi đăng ký url cho đường dẫn mô-đun-con “%s”"
 
-#: builtin/submodule--helper.c:373
+#: builtin/submodule--helper.c:377
 #, c-format
 msgid "Submodule '%s' (%s) registered for path '%s'\n"
 msgstr "Mô-đun-con “%s” (%s) được đăng ký cho đường dẫn “%s”\n"
 
-#: builtin/submodule--helper.c:383
+#: builtin/submodule--helper.c:387
 #, c-format
 msgid "warning: command update mode suggested for submodule '%s'\n"
 msgstr "cảnh báo: chế độ lệnh cập nhật được gợi ý cho mô-đun-con “%s”\n"
 
-#: builtin/submodule--helper.c:390
+#: builtin/submodule--helper.c:394
 #, c-format
 msgid "Failed to register update mode for submodule path '%s'"
 msgstr "Gặp lỗi khi đăng ký chế độ cập nhật cho đường dẫn mô-đun-con “%s”"
 
-#: builtin/submodule--helper.c:409
+#: builtin/submodule--helper.c:410
 msgid "Suppress output for initializing a submodule"
 msgstr "Chặn kết xuất cho khởi tạo một mô-đun-con"
 
-#: builtin/submodule--helper.c:414
+#: builtin/submodule--helper.c:415
 msgid "git submodule--helper init [<path>]"
 msgstr "git submodule--helper init [</đường/dẫn>]"
 
-#: builtin/submodule--helper.c:435
+#: builtin/submodule--helper.c:436
 msgid "git submodule--helper name <path>"
 msgstr "git submodule--helper name </đường/dẫn>"
 
-#: builtin/submodule--helper.c:441
+#: builtin/submodule--helper.c:442
 #, c-format
 msgid "no submodule mapping found in .gitmodules for path '%s'"
 msgstr ""
 "Không tìm thấy ánh xạ (mapping) mô-đun-con trong .gitmodules cho đường dẫn "
 "“%s”"
 
-#: builtin/submodule--helper.c:524 builtin/submodule--helper.c:527
+#: builtin/submodule--helper.c:525 builtin/submodule--helper.c:528
 #, c-format
 msgid "submodule '%s' cannot add alternate: %s"
 msgstr "mô-đun-con “%s” không thể thêm thay thế: %s"
 
-#: builtin/submodule--helper.c:563
+#: builtin/submodule--helper.c:564
 #, c-format
 msgid "Value '%s' for submodule.alternateErrorStrategy is not recognized"
 msgstr "Giá trị “%s” cho submodule.alternateErrorStrategy không được thừa nhận"
 
-#: builtin/submodule--helper.c:570
+#: builtin/submodule--helper.c:571
 #, c-format
 msgid "Value '%s' for submodule.alternateLocation is not recognized"
 msgstr "Giá trị “%s” cho submodule.alternateLocation không được thừa nhận"
 
-#: builtin/submodule--helper.c:593
+#: builtin/submodule--helper.c:595
 msgid "where the new submodule will be cloned to"
 msgstr "nhân bản mô-đun-con mới vào chỗ nào"
 
-#: builtin/submodule--helper.c:596
+#: builtin/submodule--helper.c:598
 msgid "name of the new submodule"
 msgstr "tên của mô-đun-con mới"
 
-#: builtin/submodule--helper.c:599
+#: builtin/submodule--helper.c:601
 msgid "url where to clone the submodule from"
 msgstr "url nơi mà nhân bản mô-đun-con từ đó"
 
-#: builtin/submodule--helper.c:605
+#: builtin/submodule--helper.c:607
 msgid "depth for shallow clones"
 msgstr "chiều sâu lịch sử khi tạo bản sao"
 
-#: builtin/submodule--helper.c:608 builtin/submodule--helper.c:964
+#: builtin/submodule--helper.c:610 builtin/submodule--helper.c:980
 msgid "force cloning progress"
 msgstr "ép buộc tiến trình nhân bản"
 
-#: builtin/submodule--helper.c:613
+#: builtin/submodule--helper.c:615
 msgid ""
 "git submodule--helper clone [--prefix=<path>] [--quiet] [--reference "
 "<repository>] [--name <name>] [--depth <depth>] --url <url> --path <path>"
@@ -12406,99 +12845,94 @@
 "git submodule--helper clone [--prefix=</đường/dẫn>] [--quiet] [--reference "
 "<kho>] [--name <tên>] [--depth <sâu>] [--url <url>] [</đường/dẫn>…]"
 
-#: builtin/submodule--helper.c:638 builtin/submodule--helper.c:648
-#, c-format
-msgid "could not create directory '%s'"
-msgstr "không thể tạo thư mục “%s”"
-
-#: builtin/submodule--helper.c:644
+#: builtin/submodule--helper.c:646
 #, c-format
 msgid "clone of '%s' into submodule path '%s' failed"
 msgstr "Nhân bản “%s” vào đường dẫn mô-đun-con “%s” gặp lỗi"
 
-#: builtin/submodule--helper.c:660
+#: builtin/submodule--helper.c:662
 #, c-format
 msgid "cannot open file '%s'"
 msgstr "không thể mở tập tin “%s”"
 
-#: builtin/submodule--helper.c:665
+#: builtin/submodule--helper.c:667
 #, c-format
 msgid "could not close file %s"
 msgstr "không thể đóng tập tin %s"
 
-#: builtin/submodule--helper.c:672
+#: builtin/submodule--helper.c:674
 #, c-format
 msgid "could not get submodule directory for '%s'"
 msgstr "không thể lấy thư mục mô-đun-con cho “%s”"
 
-#: builtin/submodule--helper.c:726
+#: builtin/submodule--helper.c:742
 #, c-format
 msgid "Submodule path '%s' not initialized"
 msgstr "Đường dẫn mô-đun-con “%s” chưa được khởi tạo"
 
-#: builtin/submodule--helper.c:730
+#: builtin/submodule--helper.c:746
 msgid "Maybe you want to use 'update --init'?"
 msgstr "Có lẽ bạn là bạn muốn dùng \"update --init\" phải không?"
 
-#: builtin/submodule--helper.c:756
+#: builtin/submodule--helper.c:772
 #, c-format
 msgid "Skipping unmerged submodule %s"
 msgstr "Bỏ qua các mô-đun-con chưa được hòa trộn %s"
 
-#: builtin/submodule--helper.c:777
+#: builtin/submodule--helper.c:793
 #, c-format
 msgid "Skipping submodule '%s'"
 msgstr "Bỏ qua mô-đun-con “%s”"
 
-#: builtin/submodule--helper.c:913
+#: builtin/submodule--helper.c:929
 #, c-format
 msgid "Failed to clone '%s'. Retry scheduled"
 msgstr "Gặp lỗi khi nhân bản “%s”. Thử lại lịch trình"
 
-#: builtin/submodule--helper.c:924
+#: builtin/submodule--helper.c:940
 #, c-format
 msgid "Failed to clone '%s' a second time, aborting"
 msgstr "Gặp lỗi khi nhân bản “%s” lần thứ hai nên bãi bỏ"
 
-#: builtin/submodule--helper.c:945
+#: builtin/submodule--helper.c:961 builtin/submodule--helper.c:1105
 msgid "path into the working tree"
 msgstr "đường dẫn đến cây làm việc"
 
-#: builtin/submodule--helper.c:948
+#: builtin/submodule--helper.c:964
 msgid "path into the working tree, across nested submodule boundaries"
 msgstr "đường dẫn đến cây làm việc, chéo biên giới mô-đun-con lồng nhau"
 
-#: builtin/submodule--helper.c:952
+#: builtin/submodule--helper.c:968
 msgid "rebase, merge, checkout or none"
 msgstr "rebase, merge, checkout hoặc không làm gì cả"
 
-#: builtin/submodule--helper.c:956
+#: builtin/submodule--helper.c:972
 msgid "Create a shallow clone truncated to the specified number of revisions"
 msgstr ""
 "Tạo một bản sao nông được cắt ngắn thành số lượng điểm xét duyệt đã cho"
 
-#: builtin/submodule--helper.c:959
+#: builtin/submodule--helper.c:975
 msgid "parallel jobs"
 msgstr "công việc đồng thời"
 
-#: builtin/submodule--helper.c:961
+#: builtin/submodule--helper.c:977
 msgid "whether the initial clone should follow the shallow recommendation"
 msgstr "nhân bản lần đầu có nên theo khuyến nghị là nông hay không"
 
-#: builtin/submodule--helper.c:962
+#: builtin/submodule--helper.c:978
 msgid "don't print cloning progress"
 msgstr "đừng in tiến trình nhân bản"
 
-#: builtin/submodule--helper.c:969
+#: builtin/submodule--helper.c:985
 msgid "git submodule--helper update_clone [--prefix=<path>] [<path>...]"
 msgstr ""
 "git submodule--helper update_clone [--prefix=</đường/dẫn>] [</đường/dẫn>…]"
 
-#: builtin/submodule--helper.c:979
+#: builtin/submodule--helper.c:995
 msgid "bad value for update parameter"
 msgstr "giá trị cho  tham số cập nhật bị sai"
 
-#: builtin/submodule--helper.c:1050
+#: builtin/submodule--helper.c:1066
 #, c-format
 msgid ""
 "Submodule (%s) branch configured to inherit branch from superproject, but "
@@ -12507,11 +12941,24 @@
 "Nhánh mô-đun-con (%s) được cấu hình kế thừa nhánh từ siêu dự án, nhưng siêu "
 "dự án lại không trên bất kỳ nhánh nào"
 
-#: builtin/submodule--helper.c:1100
+#: builtin/submodule--helper.c:1106
+msgid "recurse into submodules"
+msgstr "đệ quy vào trong mô-đun-con"
+
+#: builtin/submodule--helper.c:1112
+msgid "git submodule--helper embed-git-dir [<path>...]"
+msgstr "git submodule--helper embed-git-dir [</đường/dẫn>…]"
+
+#: builtin/submodule--helper.c:1157
 msgid "submodule--helper subcommand must be called with a subcommand"
 msgstr "lệnh con submodule--helper phải được gọi với một lệnh con"
 
-#: builtin/submodule--helper.c:1107
+#: builtin/submodule--helper.c:1164
+#, c-format
+msgid "%s doesn't support --super-prefix"
+msgstr "%s không hỗ trợ --super-prefix"
+
+#: builtin/submodule--helper.c:1170
 #, c-format
 msgid "'%s' is not a valid submodule--helper subcommand"
 msgstr "“%s” không phải là lệnh con submodule--helper hợp lệ"
@@ -12566,25 +13013,25 @@
 "\t\t[--format=<định dạng>] [--[no-]merged [<lần_chuyển_giao>]] [<mẫu>…]"
 
 #: builtin/tag.c:27
-msgid "git tag -v <tagname>..."
-msgstr "git tag -v <tên-thẻ>…"
+msgid "git tag -v [--format=<format>] <tagname>..."
+msgstr "git tag -v [--format=<định_dạng>]  <tên-thẻ>…"
 
-#: builtin/tag.c:81
+#: builtin/tag.c:82
 #, c-format
 msgid "tag name too long: %.*s..."
 msgstr "tên thẻ quá dài: %.*s…"
 
-#: builtin/tag.c:86
+#: builtin/tag.c:87
 #, c-format
 msgid "tag '%s' not found."
 msgstr "không tìm thấy tìm thấy thẻ “%s”."
 
-#: builtin/tag.c:101
+#: builtin/tag.c:102
 #, c-format
 msgid "Deleted tag '%s' (was %s)\n"
 msgstr "Thẻ đã bị xóa “%s” (từng là %s)\n"
 
-#: builtin/tag.c:117
+#: builtin/tag.c:131
 #, c-format
 msgid ""
 "\n"
@@ -12597,7 +13044,7 @@
 "  %s\n"
 "Những dòng được bắt đầu bằng “%c” sẽ được bỏ qua.\n"
 
-#: builtin/tag.c:121
+#: builtin/tag.c:135
 #, c-format
 msgid ""
 "\n"
@@ -12612,138 +13059,138 @@
 "Những dòng được bắt đầu bằng “%c” sẽ được giữ lại; bạn có thể xóa chúng đi "
 "nếu muốn.\n"
 
-#: builtin/tag.c:199
+#: builtin/tag.c:213
 msgid "unable to sign the tag"
 msgstr "không thể ký thẻ"
 
-#: builtin/tag.c:201
+#: builtin/tag.c:215
 msgid "unable to write tag file"
 msgstr "không thể ghi vào tập tin lưu thẻ"
 
-#: builtin/tag.c:226
+#: builtin/tag.c:240
 msgid "bad object type."
 msgstr "kiểu đối tượng sai."
 
-#: builtin/tag.c:239
+#: builtin/tag.c:253
 msgid "tag header too big."
 msgstr "phần đầu thẻ quá lớn."
 
-#: builtin/tag.c:275
+#: builtin/tag.c:289
 msgid "no tag message?"
 msgstr "không có chú thích gì cho cho thẻ à?"
 
-#: builtin/tag.c:281
+#: builtin/tag.c:295
 #, c-format
 msgid "The tag message has been left in %s\n"
 msgstr "Nội dung ghi chú còn lại %s\n"
 
-#: builtin/tag.c:339
+#: builtin/tag.c:354
 msgid "list tag names"
 msgstr "chỉ liệt kê tên các thẻ"
 
-#: builtin/tag.c:341
+#: builtin/tag.c:356
 msgid "print <n> lines of each tag message"
 msgstr "hiển thị <n> dòng cho mỗi ghi chú"
 
-#: builtin/tag.c:343
+#: builtin/tag.c:358
 msgid "delete tags"
 msgstr "xóa thẻ"
 
-#: builtin/tag.c:344
+#: builtin/tag.c:359
 msgid "verify tags"
 msgstr "thẩm tra thẻ"
 
-#: builtin/tag.c:346
+#: builtin/tag.c:361
 msgid "Tag creation options"
 msgstr "Tùy chọn tạo thẻ"
 
-#: builtin/tag.c:348
+#: builtin/tag.c:363
 msgid "annotated tag, needs a message"
 msgstr "để chú giải cho thẻ, cần một lời ghi chú"
 
-#: builtin/tag.c:350
+#: builtin/tag.c:365
 msgid "tag message"
 msgstr "phần chú thích cho thẻ"
 
-#: builtin/tag.c:352
+#: builtin/tag.c:367
 msgid "annotated and GPG-signed tag"
 msgstr "thẻ chú giải và ký kiểu GPG"
 
-#: builtin/tag.c:356
+#: builtin/tag.c:371
 msgid "use another key to sign the tag"
 msgstr "dùng kháo khác để ký thẻ"
 
-#: builtin/tag.c:357
+#: builtin/tag.c:372
 msgid "replace the tag if exists"
 msgstr "thay thế nếu thẻ đó đã có trước"
 
-#: builtin/tag.c:358 builtin/update-ref.c:368
+#: builtin/tag.c:373 builtin/update-ref.c:368
 msgid "create a reflog"
 msgstr "tạo một reflog"
 
-#: builtin/tag.c:360
+#: builtin/tag.c:375
 msgid "Tag listing options"
 msgstr "Các tùy chọn liệt kê thẻ"
 
-#: builtin/tag.c:361
+#: builtin/tag.c:376
 msgid "show tag list in columns"
 msgstr "hiển thị danh sách thẻ trong các cột"
 
-#: builtin/tag.c:362 builtin/tag.c:363
+#: builtin/tag.c:377 builtin/tag.c:378
 msgid "print only tags that contain the commit"
 msgstr "chỉ hiển thị những nhánh mà nó chứa lần chuyển giao"
 
-#: builtin/tag.c:364
+#: builtin/tag.c:379
 msgid "print only tags that are merged"
 msgstr "chỉ hiển thị những thẻ mà nó được hòa trộn"
 
-#: builtin/tag.c:365
+#: builtin/tag.c:380
 msgid "print only tags that are not merged"
 msgstr "chỉ hiển thị những thẻ mà nó không được hòa trộn"
 
-#: builtin/tag.c:370
+#: builtin/tag.c:385
 msgid "print only tags of the object"
 msgstr "chỉ hiển thị các thẻ của đối tượng"
 
-#: builtin/tag.c:399
+#: builtin/tag.c:415
 msgid "--column and -n are incompatible"
 msgstr "--column và -n xung khắc nhau"
 
-#: builtin/tag.c:419
+#: builtin/tag.c:437
 msgid "-n option is only allowed with -l."
 msgstr "tùy chọn -n chỉ cho phép dùng với -l."
 
-#: builtin/tag.c:421
+#: builtin/tag.c:439
 msgid "--contains option is only allowed with -l."
 msgstr "tùy chọn --contains chỉ cho phép dùng với -l."
 
-#: builtin/tag.c:423
+#: builtin/tag.c:441
 msgid "--points-at option is only allowed with -l."
 msgstr "tùy chọn --points-at chỉ cho phép dùng với -l."
 
-#: builtin/tag.c:425
+#: builtin/tag.c:443
 msgid "--merged and --no-merged option are only allowed with -l"
 msgstr "tùy chọn --merged và --no-merged chỉ cho phép dùng với -l."
 
-#: builtin/tag.c:433
+#: builtin/tag.c:454
 msgid "only one -F or -m option is allowed."
 msgstr "chỉ có một tùy chọn -F hoặc -m là được phép."
 
-#: builtin/tag.c:452
+#: builtin/tag.c:473
 msgid "too many params"
 msgstr "quá nhiều đối số"
 
-#: builtin/tag.c:458
+#: builtin/tag.c:479
 #, c-format
 msgid "'%s' is not a valid tag name."
 msgstr "“%s” không phải thẻ hợp lệ."
 
-#: builtin/tag.c:463
+#: builtin/tag.c:484
 #, c-format
 msgid "tag '%s' already exists"
 msgstr "Thẻ “%s” đã tồn tại rồi"
 
-#: builtin/tag.c:491
+#: builtin/tag.c:512
 #, c-format
 msgid "Updated tag '%s' (was %s)\n"
 msgstr "Đã cập nhật thẻ “%s” (trước là %s)\n"
@@ -12936,7 +13383,7 @@
 msgid "enable untracked cache without testing the filesystem"
 msgstr "bật bộ đệm không theo vết mà không kiểm tra hệ thống tập tin"
 
-#: builtin/update-index.c:1119
+#: builtin/update-index.c:1120
 msgid ""
 "core.untrackedCache is set to true; remove or change it, if you really want "
 "to disable the untracked cache"
@@ -12944,11 +13391,11 @@
 "core.untrackedCache được đặt là đúng; xóa bỏ hay thay đổi nó, nếu bạn thực "
 "sự muốn tắt bộ đệm chưa theo dõi"
 
-#: builtin/update-index.c:1123
+#: builtin/update-index.c:1124
 msgid "Untracked cache disabled"
 msgstr "Nhớ đệm không theo vết bị tắt"
 
-#: builtin/update-index.c:1131
+#: builtin/update-index.c:1132
 msgid ""
 "core.untrackedCache is set to false; remove or change it, if you really want "
 "to enable the untracked cache"
@@ -12956,7 +13403,7 @@
 "core.untrackedCache được đặt là sai; xóa bỏ hay thay đổi nó, nếu bạn thực sự "
 "muốn bật bộ đệm chưa theo dõi"
 
-#: builtin/update-index.c:1135
+#: builtin/update-index.c:1136
 #, c-format
 msgid "Untracked cache enabled for '%s'"
 msgstr "Nhớ đệm không theo vết được bật cho “%s”"
@@ -13005,7 +13452,7 @@
 msgid "print commit contents"
 msgstr "hiển thị nội dung của lần chuyển giao"
 
-#: builtin/verify-commit.c:73 builtin/verify-tag.c:35
+#: builtin/verify-commit.c:73 builtin/verify-tag.c:37
 msgid "print raw gpg status output"
 msgstr "in kết xuất trạng thái gpg dạng thô"
 
@@ -13021,11 +13468,11 @@
 msgid "show statistics only"
 msgstr "chỉ hiển thị thống kê"
 
-#: builtin/verify-tag.c:17
-msgid "git verify-tag [-v | --verbose] <tag>..."
-msgstr "git verify-tag [-v | --verbose] <thẻ>…"
+#: builtin/verify-tag.c:18
+msgid "git verify-tag [-v | --verbose] [--format=<format>] <tag>..."
+msgstr "git verify-tag [-v | --verbose] [--format=<định_dạng>] <thẻ>…"
 
-#: builtin/verify-tag.c:34
+#: builtin/verify-tag.c:36
 msgid "print tag contents"
 msgstr "hiển thị nội dung của thẻ"
 
@@ -13074,6 +13521,14 @@
 msgid "Removing worktrees/%s: gitdir file points to non-existent location"
 msgstr "Gỡ bỏ cây làm việc/%s: tập tin gitdir chỉ đến vị trí không tồn tại"
 
+#: builtin/worktree.c:128
+msgid "report pruned working trees"
+msgstr "báo cáo các cây làm việc đã prune"
+
+#: builtin/worktree.c:130
+msgid "expire working trees older than <time>"
+msgstr "các cây làm việc hết hạn cũ hơn khoảng <thời gian>"
+
 #: builtin/worktree.c:204
 #, c-format
 msgid "'%s' already exists"
@@ -13109,30 +13564,30 @@
 msgid "-b, -B, and --detach are mutually exclusive"
 msgstr "Các tùy chọn -b, -B, và --detach loại từ lẫn nhau"
 
-#: builtin/worktree.c:470
+#: builtin/worktree.c:472
 msgid "reason for locking"
 msgstr "lý do khóa"
 
-#: builtin/worktree.c:482 builtin/worktree.c:515
+#: builtin/worktree.c:484 builtin/worktree.c:517
 #, c-format
 msgid "'%s' is not a working tree"
 msgstr "%s không phải là cây làm việc"
 
-#: builtin/worktree.c:484 builtin/worktree.c:517
+#: builtin/worktree.c:486 builtin/worktree.c:519
 msgid "The main working tree cannot be locked or unlocked"
 msgstr "Cây thư mục làm việc chính không thể khóa hay bỏ khóa được"
 
-#: builtin/worktree.c:489
+#: builtin/worktree.c:491
 #, c-format
 msgid "'%s' is already locked, reason: %s"
 msgstr "“%s” đã được khóa rồi, lý do: %s"
 
-#: builtin/worktree.c:491
+#: builtin/worktree.c:493
 #, c-format
 msgid "'%s' is already locked"
 msgstr "“%s” đã được khóa rồi"
 
-#: builtin/worktree.c:519
+#: builtin/worktree.c:521
 #, c-format
 msgid "'%s' is not locked"
 msgstr "“%s” chưa bị khóa"
@@ -13157,19 +13612,19 @@
 msgid "git upload-pack [<options>] <dir>"
 msgstr "git upload-pack [<các-tùy-chọn>] </đường/dẫn>"
 
-#: upload-pack.c:1028
+#: upload-pack.c:1036
 msgid "quit after a single request/response exchange"
 msgstr "thoát sau khi một trao đổi yêu cầu hay trả lời đơn"
 
-#: upload-pack.c:1030
+#: upload-pack.c:1038
 msgid "exit immediately after initial ref advertisement"
 msgstr "thoát ngay sau khi khởi tạo quảng cáo tham chiếu"
 
-#: upload-pack.c:1032
+#: upload-pack.c:1040
 msgid "do not try <directory>/.git/ if <directory> is no Git directory"
 msgstr "đừng thử <thư_mục>/.git/ nếu <thư_mục> không phải là thư mục Git"
 
-#: upload-pack.c:1034
+#: upload-pack.c:1042
 msgid "interrupt transfer after <n> seconds of inactivity"
 msgstr "ngắt truyền thông sau <n> giây không hoạt động"
 
@@ -13200,14 +13655,30 @@
 "hướng dẫn về khái niệm. Xem “git help <lệnh>” hay “git help <khái-niệm>”\n"
 "để xem các đặc tả cho lệnh hay khái niệm cụ thể."
 
-#: http.c:342
+#: http.c:344
 msgid "Delegation control is not supported with cURL < 7.22.0"
 msgstr "Điều khiển giao quyền không được hỗ trợ với cURL < 7.22.0"
 
-#: http.c:351
+#: http.c:353
 msgid "Public key pinning not supported with cURL < 7.44.0"
 msgstr "Chốt khóa công không được hỗ trợ với cURL < 7.44.0"
 
+#: http.c:1713
+#, c-format
+msgid ""
+"unable to update url base from redirection:\n"
+"  asked for: %s\n"
+"   redirect: %s"
+msgstr ""
+"không thể cập nhật dựa trên cơ sở url từ chuyển hướng:\n"
+"      hỏi cho: %s\n"
+" chuyển hướng: %s"
+
+#: remote-curl.c:319
+#, c-format
+msgid "redirecting to %s"
+msgstr "chuyển hướng đến %s"
+
 #: common-cmds.h:9
 msgid "start a working area (see also: git help tutorial)"
 msgstr "bắt đầu một vùng làm việc (xem thêm: git help tutorial)"
@@ -13578,7 +14049,7 @@
 msgid "Simple merge did not work, trying automatic merge."
 msgstr "Hòa trộn đơn giản không làm việc, thử hòa trộn tự động."
 
-#: git-rebase.sh:56
+#: git-rebase.sh:57
 msgid ""
 "When you have resolved this problem, run \"git rebase --continue\".\n"
 "If you prefer to skip this patch, run \"git rebase --skip\" instead.\n"
@@ -13591,56 +14062,41 @@
 "Để phục hồi lại thành nhánh nguyên thủy và dừng việc vá lại thì chạy \"git "
 "rebase --abort\"."
 
-#: git-rebase.sh:156 git-rebase.sh:395
+#: git-rebase.sh:157 git-rebase.sh:396
 #, sh-format
 msgid "Could not move back to $head_name"
 msgstr "Không thể quay trở lại $head_name"
 
-#: git-rebase.sh:167
-msgid "Applied autostash."
-msgstr "Đã áp dụng autostash."
-
-#: git-rebase.sh:170
+#: git-rebase.sh:171
 #, sh-format
 msgid "Cannot store $stash_sha1"
 msgstr "Không thể lưu $stash_sha1"
 
-#: git-rebase.sh:171
-msgid ""
-"Applying autostash resulted in conflicts.\n"
-"Your changes are safe in the stash.\n"
-"You can run \"git stash pop\" or \"git stash drop\" at any time.\n"
-msgstr ""
-"Áp dụng autostash có hiệu quả trong các xung đột.\n"
-"Các thay đổi của bạn an toàn trong stash (tạm cất đi).\n"
-"Bạn có thể chạy lệnh \"git stash pop\" hay \"git stash drop\" bất kỳ lúc "
-"nào.\n"
-
-#: git-rebase.sh:210
+#: git-rebase.sh:211
 msgid "The pre-rebase hook refused to rebase."
 msgstr "Móc (hook) pre-rebase từ chối rebase."
 
-#: git-rebase.sh:215
+#: git-rebase.sh:216
 msgid "It looks like git-am is in progress. Cannot rebase."
 msgstr ""
 "Hình như đang trong quá trình thực hiện lệnh git-am. Không thể chạy lệnh "
 "rebase."
 
-#: git-rebase.sh:356
+#: git-rebase.sh:357
 msgid "No rebase in progress?"
 msgstr "Không có tiến trình rebase nào phải không?"
 
-#: git-rebase.sh:367
+#: git-rebase.sh:368
 msgid "The --edit-todo action can only be used during interactive rebase."
 msgstr ""
 "Hành động “--edit-todo” chỉ có thể dùng trong quá trình “rebase” (sửa lịch "
 "sử) tương tác."
 
-#: git-rebase.sh:374
+#: git-rebase.sh:375
 msgid "Cannot read HEAD"
 msgstr "Không thể đọc HEAD"
 
-#: git-rebase.sh:377
+#: git-rebase.sh:378
 msgid ""
 "You must edit all merge conflicts and then\n"
 "mark them as resolved using git add"
@@ -13648,7 +14104,7 @@
 "Bạn phải sửa tất cả các lần hòa trộn xung đột và sau\n"
 "đó đánh dấu chúng là cần xử lý sử dụng lệnh git add"
 
-#: git-rebase.sh:414
+#: git-rebase.sh:418
 #, sh-format
 msgid ""
 "It seems that there is already a $state_dir_base directory, and\n"
@@ -13669,64 +14125,64 @@
 "và chạy TÔI lần nữa. TÔI  dừng lại trong trường hợp bạn vẫn\n"
 "có một số thứ quý giá ở đây."
 
-#: git-rebase.sh:465
+#: git-rebase.sh:469
 #, sh-format
 msgid "invalid upstream $upstream_name"
 msgstr "thượng nguồn không hợp lệ $upstream_name"
 
-#: git-rebase.sh:489
+#: git-rebase.sh:493
 #, sh-format
 msgid "$onto_name: there are more than one merge bases"
 msgstr "$onto_name: ở đây có nhiều hơn một nền móng hòa trộn"
 
-#: git-rebase.sh:492 git-rebase.sh:496
+#: git-rebase.sh:496 git-rebase.sh:500
 #, sh-format
 msgid "$onto_name: there is no merge base"
 msgstr "$onto_name: ở đây không có nền móng hòa trộn nào"
 
-#: git-rebase.sh:501
+#: git-rebase.sh:505
 #, sh-format
 msgid "Does not point to a valid commit: $onto_name"
 msgstr "Không chỉ đến một lần chuyển giao không hợp lệ: $onto_name"
 
-#: git-rebase.sh:524
+#: git-rebase.sh:528
 #, sh-format
 msgid "fatal: no such branch: $branch_name"
 msgstr "nghiêm trọng: không có nhánh như thế: $branch_name"
 
-#: git-rebase.sh:557
+#: git-rebase.sh:561
 msgid "Cannot autostash"
 msgstr "Không thể autostash"
 
-#: git-rebase.sh:562
+#: git-rebase.sh:566
 #, sh-format
 msgid "Created autostash: $stash_abbrev"
 msgstr "Đã tạo autostash: $stash_abbrev"
 
-#: git-rebase.sh:566
+#: git-rebase.sh:570
 msgid "Please commit or stash them."
 msgstr "Xin hãy chuyển giao hoặc tạm cất (stash) chúng."
 
-#: git-rebase.sh:586
+#: git-rebase.sh:590
 #, sh-format
 msgid "Current branch $branch_name is up to date."
 msgstr "Nhánh hiện tại $branch_name đã được cập nhật rồi."
 
-#: git-rebase.sh:590
+#: git-rebase.sh:594
 #, sh-format
 msgid "Current branch $branch_name is up to date, rebase forced."
 msgstr "Nhánh hiện tại $branch_name đã được cập nhật rồi, lệnh rebase ép buộc."
 
-#: git-rebase.sh:601
+#: git-rebase.sh:605
 #, sh-format
 msgid "Changes from $mb to $onto:"
 msgstr "Thay đổi từ $mb thành $onto:"
 
-#: git-rebase.sh:610
+#: git-rebase.sh:614
 msgid "First, rewinding head to replay your work on top of it..."
 msgstr "Trước tiên, di chuyển head để xem lại các công việc trên đỉnh của nó…"
 
-#: git-rebase.sh:620
+#: git-rebase.sh:624
 #, sh-format
 msgid "Fast-forwarded $branch_name to $onto_name."
 msgstr "Chuyển-tiếp-nhanh $branch_name thành $onto_name."
@@ -13893,24 +14349,31 @@
 msgid "(To restore them type \"git stash apply\")"
 msgstr "(Để phục hồi lại chúng hãy gõ \"git stash apply\")"
 
-#: git-submodule.sh:184
+#: git-submodule.sh:181
 msgid "Relative path can only be used from the toplevel of the working tree"
 msgstr ""
 "Đường dẫn tương đối chỉ có thể dùng từ thư mục ở mức cao nhất của cây làm "
 "việc"
 
-#: git-submodule.sh:194
+#: git-submodule.sh:191
 #, sh-format
 msgid "repo URL: '$repo' must be absolute or begin with ./|../"
 msgstr ""
 "repo URL: “$repo” phải là đường dẫn tuyệt đối hoặc là bắt đầu bằng ./|../"
 
-#: git-submodule.sh:211
+#: git-submodule.sh:210
 #, sh-format
 msgid "'$sm_path' already exists in the index"
 msgstr "”$sm_path” thực sự đã tồn tại ở bảng mục lục rồi"
 
-#: git-submodule.sh:215
+#: git-submodule.sh:213
+#, sh-format
+msgid "'$sm_path' already exists in the index and is not a submodule"
+msgstr ""
+"”$sm_path” thực sự đã tồn tại ở bảng mục lục rồi và không phải là một mô-đun-"
+"con"
+
+#: git-submodule.sh:218
 #, sh-format
 msgid ""
 "The following path is ignored by one of your .gitignore files:\n"
@@ -13922,23 +14385,23 @@
 "$sm_path\n"
 "Sử dụng -f nếu bạn thực sự muốn thêm nó vào."
 
-#: git-submodule.sh:233
+#: git-submodule.sh:236
 #, sh-format
 msgid "Adding existing repo at '$sm_path' to the index"
 msgstr "Đang thêm repo có sẵn tại “$sm_path” vào bảng mục lục"
 
-#: git-submodule.sh:235
+#: git-submodule.sh:238
 #, sh-format
 msgid "'$sm_path' already exists and is not a valid git repo"
 msgstr "”$sm_path” đã tồn tại từ trước và không phải là một kho git hợp lệ"
 
-#: git-submodule.sh:243
+#: git-submodule.sh:246
 #, sh-format
 msgid "A git directory for '$sm_name' is found locally with remote(s):"
 msgstr ""
 "Thư mục git cho “$sm_name” được tìm thấy một cách cục bộ với các máy chủ:"
 
-#: git-submodule.sh:245
+#: git-submodule.sh:248
 #, sh-format
 msgid ""
 "If you want to reuse this local git directory instead of cloning again from\n"
@@ -13954,48 +14417,48 @@
 "hoặc là bạn không chắc chắn điều đó nghĩa là gì thì chọn tên khác với tùy "
 "chọn “--name”."
 
-#: git-submodule.sh:251
+#: git-submodule.sh:254
 #, sh-format
 msgid "Reactivating local git directory for submodule '$sm_name'."
 msgstr ""
 "Phục hồi sự hoạt động của thư mục git nội bộ cho mô-đun-con “$sm_name”."
 
-#: git-submodule.sh:263
+#: git-submodule.sh:266
 #, sh-format
 msgid "Unable to checkout submodule '$sm_path'"
 msgstr "Không thể lấy ra mô-đun-con “$sm_path”"
 
-#: git-submodule.sh:268
+#: git-submodule.sh:271
 #, sh-format
 msgid "Failed to add submodule '$sm_path'"
 msgstr "Gặp lỗi khi thêm mô-đun-con “$sm_path”"
 
-#: git-submodule.sh:277
+#: git-submodule.sh:280
 #, sh-format
 msgid "Failed to register submodule '$sm_path'"
 msgstr "Gặp lỗi khi đăng ký với hệ thống mô-đun-con “$sm_path”"
 
-#: git-submodule.sh:324
+#: git-submodule.sh:327
 #, sh-format
 msgid "Entering '$displaypath'"
 msgstr "Đang vào “$displaypath”"
 
-#: git-submodule.sh:344
+#: git-submodule.sh:347
 #, sh-format
 msgid "Stopping at '$displaypath'; script returned non-zero status."
 msgstr "Dừng lại tại “$displaypath”; script trả về trạng thái khác không."
 
-#: git-submodule.sh:415
+#: git-submodule.sh:418
 #, sh-format
 msgid "pathspec and --all are incompatible"
 msgstr "đặc tả đường dẫn và --all xung khắc nhau"
 
-#: git-submodule.sh:420
+#: git-submodule.sh:423
 #, sh-format
 msgid "Use '--all' if you really want to deinitialize all submodules"
 msgstr "Dùng “--all” nếu bạn thực sự muốn hủy khởi tạo mọi mô-đun-con"
 
-#: git-submodule.sh:440
+#: git-submodule.sh:443
 #, sh-format
 msgid ""
 "Submodule work tree '$displaypath' contains a .git directory\n"
@@ -14005,7 +14468,7 @@
 "(dùng “rm -rf” nếu bạn thực sự muốn gỡ bỏ nó cùng với tất cả lịch sử của "
 "chúng)"
 
-#: git-submodule.sh:448
+#: git-submodule.sh:451
 #, sh-format
 msgid ""
 "Submodule work tree '$displaypath' contains local modifications; use '-f' to "
@@ -14014,39 +14477,39 @@
 "Cây làm việc mô-đun-con “$displaypath” chứa các thay đổi nội bộ; hãy dùng “-"
 "f” để loại bỏ chúng đi"
 
-#: git-submodule.sh:451
+#: git-submodule.sh:454
 #, sh-format
 msgid "Cleared directory '$displaypath'"
 msgstr "Đã tạo thư mục “$displaypath”"
 
-#: git-submodule.sh:452
+#: git-submodule.sh:455
 #, sh-format
 msgid "Could not remove submodule work tree '$displaypath'"
 msgstr "Không thể gỡ bỏ cây làm việc mô-đun-con “$displaypath”"
 
-#: git-submodule.sh:455
+#: git-submodule.sh:458
 #, sh-format
 msgid "Could not create empty submodule directory '$displaypath'"
 msgstr "Không thể tạo thư mục mô-đun-con rỗng “$displaypath”"
 
-#: git-submodule.sh:464
+#: git-submodule.sh:467
 #, sh-format
 msgid "Submodule '$name' ($url) unregistered for path '$displaypath'"
 msgstr "Mô-đun-con “$name” ($url) được bỏ đăng ký cho đường dẫn “$displaypath”"
 
-#: git-submodule.sh:617
+#: git-submodule.sh:623
 #, sh-format
 msgid "Unable to find current revision in submodule path '$displaypath'"
 msgstr ""
 "Không tìm thấy điểm xét duyệt hiện hành trong đường dẫn mô-đun-con "
 "“$displaypath”"
 
-#: git-submodule.sh:627
+#: git-submodule.sh:633
 #, sh-format
 msgid "Unable to fetch in submodule path '$sm_path'"
 msgstr "Không thể lấy về trong đường dẫn mô-đun-con “$sm_path”"
 
-#: git-submodule.sh:632
+#: git-submodule.sh:638
 #, sh-format
 msgid ""
 "Unable to find current ${remote_name}/${branch} revision in submodule path "
@@ -14055,12 +14518,12 @@
 "Không thể tìm thấy điểm xét duyệt hiện hành ${remote_name}/${branch} trong "
 "đường dẫn mô-đun-con “$sm_path”"
 
-#: git-submodule.sh:650
+#: git-submodule.sh:656
 #, sh-format
 msgid "Unable to fetch in submodule path '$displaypath'"
 msgstr "Không thể lấy về trong đường dẫn mô-đun-con “$displaypath”"
 
-#: git-submodule.sh:656
+#: git-submodule.sh:662
 #, sh-format
 msgid ""
 "Fetched in submodule path '$displaypath', but it did not contain $sha1. "
@@ -14069,86 +14532,86 @@
 "Đã lấy về từ đường dẫn mô-đun con “$displaypath”, nhưng nó không chứa $sha1. "
 "Lấy về theo định hướng của lần chuyển giao đó gặp lỗi."
 
-#: git-submodule.sh:663
+#: git-submodule.sh:669
 #, sh-format
 msgid "Unable to checkout '$sha1' in submodule path '$displaypath'"
 msgstr "Không thể lấy ra “$sha1” trong đường dẫn mô-đun-con “$displaypath”"
 
-#: git-submodule.sh:664
+#: git-submodule.sh:670
 #, sh-format
 msgid "Submodule path '$displaypath': checked out '$sha1'"
 msgstr "Đường dẫn mô-đun-con “$displaypath”: đã checkout “$sha1”"
 
-#: git-submodule.sh:668
+#: git-submodule.sh:674
 #, sh-format
 msgid "Unable to rebase '$sha1' in submodule path '$displaypath'"
 msgstr "Không thể cải tổ “$sha1” trong đường dẫn mô-đun-con “$displaypath”"
 
-#: git-submodule.sh:669
+#: git-submodule.sh:675
 #, sh-format
 msgid "Submodule path '$displaypath': rebased into '$sha1'"
 msgstr "Đường dẫn mô-đun-con “$displaypath”: được rebase vào trong “$sha1”"
 
-#: git-submodule.sh:674
+#: git-submodule.sh:680
 #, sh-format
 msgid "Unable to merge '$sha1' in submodule path '$displaypath'"
 msgstr ""
 "Không thể hòa trộn (merge) “$sha1” trong đường dẫn mô-đun-con “$displaypath”"
 
-#: git-submodule.sh:675
+#: git-submodule.sh:681
 #, sh-format
 msgid "Submodule path '$displaypath': merged in '$sha1'"
 msgstr "Đường dẫn mô-đun-con “$displaypath”: được hòa trộn vào “$sha1”"
 
-#: git-submodule.sh:680
+#: git-submodule.sh:686
 #, sh-format
 msgid "Execution of '$command $sha1' failed in submodule path '$displaypath'"
 msgstr ""
 "Thực hiện không thành công lệnh “$command $sha1” trong đường dẫn mô-đun-con "
 "“$displaypath”"
 
-#: git-submodule.sh:681
+#: git-submodule.sh:687
 #, sh-format
 msgid "Submodule path '$displaypath': '$command $sha1'"
 msgstr "Đường dẫn mô-đun-con “$displaypath”: “$command $sha1”"
 
-#: git-submodule.sh:712
+#: git-submodule.sh:718
 #, sh-format
 msgid "Failed to recurse into submodule path '$displaypath'"
 msgstr "Gặp lỗi khi đệ quy vào trong đường dẫn mô-đun-con “$displaypath”"
 
-#: git-submodule.sh:820
+#: git-submodule.sh:826
 msgid "The --cached option cannot be used with the --files option"
 msgstr "Tùy chọn --cached không thể dùng cùng với tùy chọn --files"
 
-#: git-submodule.sh:872
+#: git-submodule.sh:878
 #, sh-format
 msgid "unexpected mode $mod_dst"
 msgstr "chế độ không như mong chờ $mod_dst"
 
-#: git-submodule.sh:892
+#: git-submodule.sh:898
 #, sh-format
 msgid "  Warn: $display_name doesn't contain commit $sha1_src"
 msgstr "  Cảnh báo: $display_name không chứa lần chuyển giao $sha1_src"
 
-#: git-submodule.sh:895
+#: git-submodule.sh:901
 #, sh-format
 msgid "  Warn: $display_name doesn't contain commit $sha1_dst"
 msgstr "  Cảnh báo: $display_name không chứa lần chuyển giao $sha1_dst"
 
-#: git-submodule.sh:898
+#: git-submodule.sh:904
 #, sh-format
 msgid "  Warn: $display_name doesn't contain commits $sha1_src and $sha1_dst"
 msgstr ""
 "  Cảnh báo: $display_name không chứa những lần chuyển giao $sha1_src và "
 "$sha1_dst"
 
-#: git-submodule.sh:1045
+#: git-submodule.sh:1051
 #, sh-format
 msgid "Failed to recurse into submodule path '$sm_path'"
 msgstr "Gặp lỗi khi đệ quy vào trong đường dẫn mô-đun-con “$sm_path”"
 
-#: git-submodule.sh:1112
+#: git-submodule.sh:1118
 #, sh-format
 msgid "Synchronizing submodule url for '$displaypath'"
 msgstr "Url Mô-đun-con đồng bộ hóa cho “$displaypath”"
@@ -14158,12 +14621,12 @@
 msgid "See git-${cmd}(1) for details."
 msgstr "Xem git-${cmd}(1) để biết thêm chi tiết."
 
-#: git-rebase--interactive.sh:131
+#: git-rebase--interactive.sh:140
 #, sh-format
 msgid "Rebasing ($new_count/$total)"
 msgstr "Đang rebase ($new_count/$total)"
 
-#: git-rebase--interactive.sh:147
+#: git-rebase--interactive.sh:156
 msgid ""
 "\n"
 "Commands:\n"
@@ -14191,7 +14654,7 @@
 "Những dòng này có thể đảo ngược thứ tự; chúng chạy từ trên đỉnh xuống dưới "
 "đáy.\n"
 
-#: git-rebase--interactive.sh:162
+#: git-rebase--interactive.sh:171
 msgid ""
 "\n"
 "Do not remove any line. Use 'drop' explicitly to remove a commit.\n"
@@ -14200,7 +14663,7 @@
 "Đừng xóa bất kỳ dòng nào. Dùng “drop” một cách rõ ràng để xóa bỏ một lần "
 "chuyển giao.\n"
 
-#: git-rebase--interactive.sh:166
+#: git-rebase--interactive.sh:175
 msgid ""
 "\n"
 "If you remove a line here THAT COMMIT WILL BE LOST.\n"
@@ -14208,7 +14671,7 @@
 "\n"
 "Nếu bạn xóa bỏ một dòng ở đây thì LẦN CHUYỂN GIAO ĐÓ SẼ MẤT.\n"
 
-#: git-rebase--interactive.sh:202
+#: git-rebase--interactive.sh:211
 #, sh-format
 msgid ""
 "You can amend the commit now, with\n"
@@ -14227,86 +14690,82 @@
 "\n"
 "\tgit rebase --continue"
 
-#: git-rebase--interactive.sh:227
+#: git-rebase--interactive.sh:236
 #, sh-format
 msgid "$sha1: not a commit that can be picked"
 msgstr "$sha1: không phải là lần chuyển giao mà có thể lấy ra được"
 
-#: git-rebase--interactive.sh:266
+#: git-rebase--interactive.sh:275
 #, sh-format
 msgid "Invalid commit name: $sha1"
 msgstr "Tên lần chuyển giao không hợp lệ: $sha1"
 
-#: git-rebase--interactive.sh:308
+#: git-rebase--interactive.sh:317
 msgid "Cannot write current commit's replacement sha1"
 msgstr "Không thể ghi lại sha1 thay thế của lần chuyển giao"
 
-#: git-rebase--interactive.sh:360
+#: git-rebase--interactive.sh:369
 #, sh-format
 msgid "Fast-forward to $sha1"
 msgstr "Chuyển-tiếp-nhanh đến $sha1"
 
-#: git-rebase--interactive.sh:362
+#: git-rebase--interactive.sh:371
 #, sh-format
 msgid "Cannot fast-forward to $sha1"
 msgstr "Không thể chuyển-tiếp-nhanh đến $sha1"
 
-#: git-rebase--interactive.sh:371
+#: git-rebase--interactive.sh:380
 #, sh-format
 msgid "Cannot move HEAD to $first_parent"
 msgstr "Không thể di chuyển HEAD đến $first_parent"
 
-#: git-rebase--interactive.sh:376
+#: git-rebase--interactive.sh:385
 #, sh-format
 msgid "Refusing to squash a merge: $sha1"
 msgstr "Từ chối squash lần hòa trộn: $sha1"
 
-#: git-rebase--interactive.sh:390
+#: git-rebase--interactive.sh:399
 #, sh-format
 msgid "Error redoing merge $sha1"
 msgstr "Gặp lỗi khi hoàn lại bước hòa trộn $sha1"
 
-#: git-rebase--interactive.sh:398
+#: git-rebase--interactive.sh:407
 #, sh-format
 msgid "Could not pick $sha1"
 msgstr "Không thể lấy ra $sha1"
 
-#: git-rebase--interactive.sh:407
+#: git-rebase--interactive.sh:416
 #, sh-format
 msgid "This is the commit message #${n}:"
 msgstr "Đây là chú thích cho lần chuyển giao thứ #${n}:"
 
-#: git-rebase--interactive.sh:412
+#: git-rebase--interactive.sh:421
 #, sh-format
 msgid "The commit message #${n} will be skipped:"
 msgstr "Chú thích cho lần chuyển giao thứ #${n} sẽ bị bỏ qua:"
 
-#: git-rebase--interactive.sh:423
+#: git-rebase--interactive.sh:432
 #, sh-format
 msgid "This is a combination of $count commit."
 msgid_plural "This is a combination of $count commits."
 msgstr[0] "Đây là tổ hợp của $count lần chuyển giao."
 
-#: git-rebase--interactive.sh:431
+#: git-rebase--interactive.sh:441
 #, sh-format
 msgid "Cannot write $fixup_msg"
 msgstr "Không thể $fixup_msg"
 
-#: git-rebase--interactive.sh:434
+#: git-rebase--interactive.sh:444
 msgid "This is a combination of 2 commits."
 msgstr "Đây là tổ hợp của 2 lần chuyển giao."
 
-#: git-rebase--interactive.sh:435
-msgid "This is the 1st commit message:"
-msgstr "Đây là chú thích cho lần chuyển giao thứ nhất:"
-
-#: git-rebase--interactive.sh:475 git-rebase--interactive.sh:518
-#: git-rebase--interactive.sh:521
+#: git-rebase--interactive.sh:485 git-rebase--interactive.sh:528
+#: git-rebase--interactive.sh:531
 #, sh-format
 msgid "Could not apply $sha1... $rest"
 msgstr "Không thể áp dụng $sha1… $rest"
 
-#: git-rebase--interactive.sh:549
+#: git-rebase--interactive.sh:559
 #, sh-format
 msgid ""
 "Could not amend commit after successfully picking $sha1... $rest\n"
@@ -14322,31 +14781,31 @@
 "này\n"
 "trước khi bạn có thể làm việc lại với lần chuyển giao."
 
-#: git-rebase--interactive.sh:564
+#: git-rebase--interactive.sh:574
 #, sh-format
 msgid "Stopped at $sha1_abbrev... $rest"
 msgstr "Bị dừng tại $sha1_abbrev… $rest"
 
-#: git-rebase--interactive.sh:579
+#: git-rebase--interactive.sh:589
 #, sh-format
 msgid "Cannot '$squash_style' without a previous commit"
 msgstr "Không “$squash_style” thể mà không có lần chuyển giao kế trước"
 
-#: git-rebase--interactive.sh:621
+#: git-rebase--interactive.sh:631
 #, sh-format
 msgid "Executing: $rest"
 msgstr "Thực thi: $rest"
 
-#: git-rebase--interactive.sh:629
+#: git-rebase--interactive.sh:639
 #, sh-format
 msgid "Execution failed: $rest"
 msgstr "Thực thi gặp lỗi: $rest"
 
-#: git-rebase--interactive.sh:631
+#: git-rebase--interactive.sh:641
 msgid "and made changes to the index and/or the working tree"
 msgstr "và tạo các thay đổi bảng mục lục và/hay cây làm việc"
 
-#: git-rebase--interactive.sh:633
+#: git-rebase--interactive.sh:643
 msgid ""
 "You can fix the problem, and then run\n"
 "\n"
@@ -14357,7 +14816,7 @@
 "\tgit rebase --continue"
 
 #. TRANSLATORS: after these lines is a command to be issued by the user
-#: git-rebase--interactive.sh:646
+#: git-rebase--interactive.sh:656
 #, sh-format
 msgid ""
 "Execution succeeded: $rest\n"
@@ -14372,25 +14831,25 @@
 "\n"
 "\tgit rebase --continue"
 
-#: git-rebase--interactive.sh:657
+#: git-rebase--interactive.sh:667
 #, sh-format
 msgid "Unknown command: $command $sha1 $rest"
 msgstr "Lệnh chưa biết: $command $sha1 $rest"
 
-#: git-rebase--interactive.sh:658
+#: git-rebase--interactive.sh:668
 msgid "Please fix this using 'git rebase --edit-todo'."
 msgstr "Vui lòng sửa lỗi này bằng cách dùng “git rebase --edit-todo”."
 
-#: git-rebase--interactive.sh:693
+#: git-rebase--interactive.sh:703
 #, sh-format
 msgid "Successfully rebased and updated $head_name."
 msgstr "Cài tổ và cập nhật $head_name một cách thành công."
 
-#: git-rebase--interactive.sh:740
+#: git-rebase--interactive.sh:750
 msgid "Could not skip unnecessary pick commands"
 msgstr "Không thể bỏ qua các lệnh cậy (pick) không cần thiết"
 
-#: git-rebase--interactive.sh:898
+#: git-rebase--interactive.sh:908
 #, sh-format
 msgid ""
 "Warning: the SHA-1 is missing or isn't a commit in the following line:\n"
@@ -14400,7 +14859,7 @@
 "sau đây:\n"
 " - $line"
 
-#: git-rebase--interactive.sh:931
+#: git-rebase--interactive.sh:941
 #, sh-format
 msgid ""
 "Warning: the command isn't recognized in the following line:\n"
@@ -14409,11 +14868,11 @@
 "Cảnh báo: lệnh không nhận ra trong dòng sau đây:\n"
 " - $line"
 
-#: git-rebase--interactive.sh:970
+#: git-rebase--interactive.sh:980
 msgid "could not detach HEAD"
 msgstr "không thể tách rời HEAD"
 
-#: git-rebase--interactive.sh:1008
+#: git-rebase--interactive.sh:1018
 msgid ""
 "Warning: some commits may have been dropped accidentally.\n"
 "Dropped commits (newer to older):"
@@ -14421,7 +14880,7 @@
 "Cảnh báo: một số lần chuyển giao có lẽ đã bị xóa một cách tình cờ.\n"
 "Các lần chuyển giao bị xóa (từ mới đến cũ):"
 
-#: git-rebase--interactive.sh:1016
+#: git-rebase--interactive.sh:1026
 msgid ""
 "To avoid this message, use \"drop\" to explicitly remove a commit.\n"
 "\n"
@@ -14436,7 +14895,7 @@
 "báo.\n"
 "Cánh ứng xử có thể là: ignore, warn, error."
 
-#: git-rebase--interactive.sh:1027
+#: git-rebase--interactive.sh:1037
 #, sh-format
 msgid ""
 "Unrecognized setting $check_level for option rebase.missingCommitsCheck. "
@@ -14445,7 +14904,7 @@
 "Không thừa nhận cài đặt $check_level for option rebase.missingCommitsCheck. "
 "Nên bỏ qua."
 
-#: git-rebase--interactive.sh:1044
+#: git-rebase--interactive.sh:1054
 msgid ""
 "You can fix this with 'git rebase --edit-todo' and then run 'git rebase --"
 "continue'."
@@ -14453,15 +14912,15 @@
 "Bạn có thể sửa nó bằng “git rebase --edit-todo” và sau đó chạy “git rebase --"
 "continue”."
 
-#: git-rebase--interactive.sh:1045
+#: git-rebase--interactive.sh:1055
 msgid "Or you can abort the rebase with 'git rebase --abort'."
 msgstr "Hoặc là bạn có thể bãi bỏ lần cải tổ với lệnh “git rebase --abort”."
 
-#: git-rebase--interactive.sh:1069
+#: git-rebase--interactive.sh:1079
 msgid "Could not remove CHERRY_PICK_HEAD"
 msgstr "Không thể xóa bỏ CHERRY_PICK_HEAD"
 
-#: git-rebase--interactive.sh:1074
+#: git-rebase--interactive.sh:1084
 #, sh-format
 msgid ""
 "You have staged changes in your working tree.\n"
@@ -14492,11 +14951,11 @@
 "\n"
 "  git rebase --continue\n"
 
-#: git-rebase--interactive.sh:1091
+#: git-rebase--interactive.sh:1101
 msgid "Error trying to find the author identity to amend commit"
 msgstr "Lỗi khi cố tìm định danh của tác giả để tu bổ lần chuyển giao"
 
-#: git-rebase--interactive.sh:1096
+#: git-rebase--interactive.sh:1106
 msgid ""
 "You have uncommitted changes in your working tree. Please commit them\n"
 "first and then run 'git rebase --continue' again."
@@ -14505,11 +14964,11 @@
 "Vui lòng chuyển giao chúng và sau đó chạy lệnh “git rebase --continue” lần "
 "nữa."
 
-#: git-rebase--interactive.sh:1101 git-rebase--interactive.sh:1105
+#: git-rebase--interactive.sh:1111 git-rebase--interactive.sh:1115
 msgid "Could not commit staged changes."
 msgstr "Không thể chuyển giao các thay đổi đã đưa lên bệ phóng."
 
-#: git-rebase--interactive.sh:1129
+#: git-rebase--interactive.sh:1139
 msgid ""
 "\n"
 "You are editing the todo file of an ongoing interactive rebase.\n"
@@ -14523,39 +14982,39 @@
 "    git rebase --continue\n"
 "\n"
 
-#: git-rebase--interactive.sh:1137 git-rebase--interactive.sh:1295
+#: git-rebase--interactive.sh:1147 git-rebase--interactive.sh:1305
 msgid "Could not execute editor"
 msgstr "Không thể thực thi trình biên soạn"
 
-#: git-rebase--interactive.sh:1150
+#: git-rebase--interactive.sh:1160
 #, sh-format
 msgid "Could not checkout $switch_to"
 msgstr "Không thể checkout $switch_to"
 
-#: git-rebase--interactive.sh:1155
+#: git-rebase--interactive.sh:1165
 msgid "No HEAD?"
 msgstr "Không HEAD?"
 
-#: git-rebase--interactive.sh:1156
+#: git-rebase--interactive.sh:1166
 #, sh-format
 msgid "Could not create temporary $state_dir"
 msgstr "Không thể tạo thư mục tạm thời $state_dir"
 
-#: git-rebase--interactive.sh:1158
+#: git-rebase--interactive.sh:1168
 msgid "Could not mark as interactive"
 msgstr "Không thể đánh dấu là tương tác"
 
-#: git-rebase--interactive.sh:1168 git-rebase--interactive.sh:1173
+#: git-rebase--interactive.sh:1178 git-rebase--interactive.sh:1183
 msgid "Could not init rewritten commits"
 msgstr "Không thể khởi tạo các lần chuyển giao ghi lại"
 
-#: git-rebase--interactive.sh:1273
+#: git-rebase--interactive.sh:1283
 #, sh-format
 msgid "Rebase $shortrevisions onto $shortonto ($todocount command)"
 msgid_plural "Rebase $shortrevisions onto $shortonto ($todocount commands)"
 msgstr[0] "Cải tổ $shortrevisions vào $shortonto (các lệnh $todocount)"
 
-#: git-rebase--interactive.sh:1278
+#: git-rebase--interactive.sh:1288
 msgid ""
 "\n"
 "However, if you remove everything, the rebase will be aborted.\n"
@@ -14564,7 +15023,7 @@
 "\n"
 "Tuy nhiên, nếu bạn xóa bỏ mọi thứ, việc cải tổ sẽ bị bãi bỏ.\n"
 
-#: git-rebase--interactive.sh:1285
+#: git-rebase--interactive.sh:1295
 msgid "Note that empty commits are commented out"
 msgstr "Chú ý rằng lần chuyển giao trống rỗng là ghi chú"
 
@@ -14634,6 +15093,901 @@
 msgid "Unable to determine absolute path of git directory"
 msgstr "Không thể dò tìm đường dẫn tuyệt đối của thư mục git"
 
+#. TRANSLATORS: you can adjust this to align "git add -i" status menu
+#: git-add--interactive.perl:238
+#, perl-format
+msgid "%12s %12s %s"
+msgstr "%12s %12s %s"
+
+#: git-add--interactive.perl:239
+msgid "staged"
+msgstr "đã đưa lên bệ phóng"
+
+#: git-add--interactive.perl:239
+msgid "unstaged"
+msgstr "chưa đưa lên bệ phóng"
+
+#: git-add--interactive.perl:297 git-add--interactive.perl:322
+msgid "binary"
+msgstr "nhị phân"
+
+#: git-add--interactive.perl:306 git-add--interactive.perl:360
+msgid "nothing"
+msgstr "không có gì"
+
+#: git-add--interactive.perl:342 git-add--interactive.perl:357
+msgid "unchanged"
+msgstr "không thay đổi"
+
+#: git-add--interactive.perl:653
+#, perl-format
+msgid "added %d path\n"
+msgid_plural "added %d paths\n"
+msgstr[0] "đã thêm %d đường dẫn\n"
+
+#: git-add--interactive.perl:656
+#, perl-format
+msgid "updated %d path\n"
+msgid_plural "updated %d paths\n"
+msgstr[0] "đã cập nhật %d đường dẫn\n"
+
+#: git-add--interactive.perl:659
+#, perl-format
+msgid "reverted %d path\n"
+msgid_plural "reverted %d paths\n"
+msgstr[0] "đã hoàn nguyên %d đường dẫn\n"
+
+#: git-add--interactive.perl:662
+#, perl-format
+msgid "touched %d path\n"
+msgid_plural "touched %d paths\n"
+msgstr[0] "%d đường dẫn đã touch (chạm)\n"
+
+#: git-add--interactive.perl:671
+msgid "Update"
+msgstr "Cập nhật"
+
+#: git-add--interactive.perl:683
+msgid "Revert"
+msgstr "Hoàn nguyên"
+
+#: git-add--interactive.perl:706
+#, perl-format
+msgid "note: %s is untracked now.\n"
+msgstr "chú ý: %s giờ đã bỏ theo dõi.\n"
+
+#: git-add--interactive.perl:717
+msgid "Add untracked"
+msgstr "Thêm các cái chưa được theo dõi"
+
+#: git-add--interactive.perl:723
+msgid "No untracked files.\n"
+msgstr "Không có tập tin nào chưa được theo dõi.\n"
+
+#: git-add--interactive.perl:1039
+msgid ""
+"If the patch applies cleanly, the edited hunk will immediately be\n"
+"marked for staging."
+msgstr ""
+"Nếu miếng vá được áp dụng sạch sẽ, hunk đã sửa sẽ ngay lập tức\n"
+"được đánh dấu để chuyển lên bệ phóng."
+
+#: git-add--interactive.perl:1042
+msgid ""
+"If the patch applies cleanly, the edited hunk will immediately be\n"
+"marked for stashing."
+msgstr ""
+"Nếu miếng vá được áp dụng sạch sẽ, hunk đã sửa sẽ ngay lập tức\n"
+"được đánh dấu để tạm cất."
+
+#: git-add--interactive.perl:1045
+msgid ""
+"If the patch applies cleanly, the edited hunk will immediately be\n"
+"marked for unstaging."
+msgstr ""
+"Nếu miếng vá được áp dụng sạch sẽ, hunk đã sửa sẽ ngay lập tức\n"
+"được đánh dấu để bỏ chuyển lên bệ phóng."
+
+#: git-add--interactive.perl:1048 git-add--interactive.perl:1057
+msgid ""
+"If the patch applies cleanly, the edited hunk will immediately be\n"
+"marked for applying."
+msgstr ""
+"Nếu miếng vá được áp dụng sạch sẽ, hunk đã sửa sẽ ngay lập tức\n"
+"được đánh dấu để áp dụng."
+
+#: git-add--interactive.perl:1051
+msgid ""
+"If the patch applies cleanly, the edited hunk will immediately be\n"
+"marked for discarding"
+msgstr ""
+"Nếu miếng vá được áp dụng sạch sẽ, hunk đã sửa sẽ ngay lập tức\n"
+"được đánh dấu để loại bỏ"
+
+#: git-add--interactive.perl:1054
+msgid ""
+"If the patch applies cleanly, the edited hunk will immediately be\n"
+"marked for discarding."
+msgstr ""
+"Nếu miếng vá được áp dụng sạch sẽ, hunk đã sửa sẽ ngay lập tức\n"
+"được đánh dấu để loại bỏ."
+
+#: git-add--interactive.perl:1067
+#, perl-format
+msgid "failed to open hunk edit file for writing: %s"
+msgstr "gặp lỗi khi tập tin sửa hunk để ghi: %s"
+
+#: git-add--interactive.perl:1068
+msgid "Manual hunk edit mode -- see bottom for a quick guide.\n"
+msgstr "Chế độ sửa hunk bằng tay -- xem ở đáy để có hướng dẫn sử dụng nhanh.\n"
+
+#: git-add--interactive.perl:1074
+#, perl-format
+msgid ""
+"---\n"
+"To remove '%s' lines, make them ' ' lines (context).\n"
+"To remove '%s' lines, delete them.\n"
+"Lines starting with %s will be removed.\n"
+msgstr ""
+"---\n"
+"Để gỡ bỏ các dòng “%s”, làm chúng thành những dòng “ “ (nội dung).\n"
+"Để xóa bỏ dòng “%s”, xóa chúng đi.\n"
+"Những dòng bắt đầu bằng %s sẽ bị loại bỏ.\n"
+
+#. TRANSLATORS: 'it' refers to the patch mentioned in the previous messages.
+#: git-add--interactive.perl:1082
+msgid ""
+"If it does not apply cleanly, you will be given an opportunity to\n"
+"edit again.  If all lines of the hunk are removed, then the edit is\n"
+"aborted and the hunk is left unchanged.\n"
+msgstr ""
+"Nếu miếng vá không được áp dụng sạch sẽ, bạn sẽ có một cơ hội\n"
+"để sửa lần nữa. Nếu mọi dòng của hunk bị xóa bỏ, thế thì những\n"
+"sửa dổi sẽ bị loại bỏ, và hunk vẫn giữ nguyên.\n"
+
+#: git-add--interactive.perl:1096
+#, perl-format
+msgid "failed to open hunk edit file for reading: %s"
+msgstr "gặp lỗi khi mở tập tin hunk để đọc: %s"
+
+#. TRANSLATORS: do not translate [y/n]
+#. The program will only accept that input
+#. at this point.
+#. Consider translating (saying "no" discards!) as
+#. (saying "n" for "no" discards!) if the translation
+#. of the word "no" does not start with n.
+#: git-add--interactive.perl:1187
+msgid ""
+"Your edited hunk does not apply. Edit again (saying \"no\" discards!) [y/n]? "
+msgstr ""
+"Hunk đã sửa của bạn không được áp dụng. Sửa lại lần nữa (nói \"n\" để loại "
+"bỏ!) [y/n]? "
+
+#: git-add--interactive.perl:1196
+msgid ""
+"y - stage this hunk\n"
+"n - do not stage this hunk\n"
+"q - quit; do not stage this hunk or any of the remaining ones\n"
+"a - stage this hunk and all later hunks in the file\n"
+"d - do not stage this hunk or any of the later hunks in the file"
+msgstr ""
+"y - đưa lên bệ phóng hunk này\n"
+"n - đừng đưa lên bệ phóng hunk này\n"
+"q - thoát; đừng đưa lên bệ phóng hunk này cũng như bất kỳ cái nào còn lại\n"
+"a - đưa lên bệ phóng hunk này và tất cả các hunk sau này trong tập tin\n"
+"d - đừng đưa lên bệ phóng hunk này cũng như bất kỳ cái nào còn lại trong tập "
+"tin"
+
+#: git-add--interactive.perl:1202
+msgid ""
+"y - stash this hunk\n"
+"n - do not stash this hunk\n"
+"q - quit; do not stash this hunk or any of the remaining ones\n"
+"a - stash this hunk and all later hunks in the file\n"
+"d - do not stash this hunk or any of the later hunks in the file"
+msgstr ""
+"y - tạm cất hunk này\n"
+"n - đừng tạm cất hunk này\n"
+"q - thoát; đừng tạm cất hunk này cũng như bất kỳ cái nào còn lại\n"
+"a - tạm cất hunk này và tất cả các hunk sau này trong tập tin\n"
+"d - đừng tạm cất hunk này cũng như bất kỳ cái nào còn lại trong tập tin"
+
+#: git-add--interactive.perl:1208
+msgid ""
+"y - unstage this hunk\n"
+"n - do not unstage this hunk\n"
+"q - quit; do not unstage this hunk or any of the remaining ones\n"
+"a - unstage this hunk and all later hunks in the file\n"
+"d - do not unstage this hunk or any of the later hunks in the file"
+msgstr ""
+"y - đưa ra khỏi bệ phóng hunk này\n"
+"n - đừng đưa ra khỏi bệ phóng hunk này\n"
+"q - thoát; đừng đưa ra khỏi bệ phóng hunk này cũng như bất kỳ cái nào còn "
+"lại\n"
+"a - đưa ra khỏi bệ phóng hunk này và tất cả các hunk sau này trong tập tin\n"
+"d - đừng đưa ra khỏi bệ phóng hunk này cũng như bất kỳ cái nào còn lại trong "
+"tập tin"
+
+#: git-add--interactive.perl:1214
+msgid ""
+"y - apply this hunk to index\n"
+"n - do not apply this hunk to index\n"
+"q - quit; do not apply this hunk or any of the remaining ones\n"
+"a - apply this hunk and all later hunks in the file\n"
+"d - do not apply this hunk or any of the later hunks in the file"
+msgstr ""
+"y - áp dụng hunk này vào mục lục\n"
+"n - đừng áp dụng hunk này vào mục lục\n"
+"q - thoát; đừng áp dụng hunk này cũng như bất kỳ cái nào còn lại\n"
+"a - áp dụng hunk này và tất cả các hunk sau này trong tập tin\n"
+"d - đừng áp dụng hunk này cũng như bất kỳ cái nào sau này trong tập tin"
+
+#: git-add--interactive.perl:1220
+msgid ""
+"y - discard this hunk from worktree\n"
+"n - do not discard this hunk from worktree\n"
+"q - quit; do not discard this hunk or any of the remaining ones\n"
+"a - discard this hunk and all later hunks in the file\n"
+"d - do not discard this hunk or any of the later hunks in the file"
+msgstr ""
+"y - loại bỏ hunk này khỏi cây làm việc\n"
+"n - đừng loại bỏ hunk khỏi cây làm việc\n"
+"q - thoát; đừng loại bỏ hunk này cũng như bất kỳ cái nào còn lại\n"
+"a - loại bỏ hunk này và tất cả các hunk sau này trong tập tin\n"
+"d - đừng loại bỏ hunk này cũng như bất kỳ cái nào sau này trong tập tin"
+
+#: git-add--interactive.perl:1226
+msgid ""
+"y - discard this hunk from index and worktree\n"
+"n - do not discard this hunk from index and worktree\n"
+"q - quit; do not discard this hunk or any of the remaining ones\n"
+"a - discard this hunk and all later hunks in the file\n"
+"d - do not discard this hunk or any of the later hunks in the file"
+msgstr ""
+"y - loại bỏ hunk này khỏi mục lục và cây làm việc\n"
+"n - đừng loại bỏ hunk khỏi mục lục và cây làm việc\n"
+"q - thoát; đừng loại bỏ hunk này cũng như bất kỳ cái nào còn lại\n"
+"a - loại bỏ hunk này và tất cả các hunk sau này trong tập tin\n"
+"d - đừng loại bỏ hunk này cũng như bất kỳ cái nào sau này trong tập tin"
+
+#: git-add--interactive.perl:1232
+msgid ""
+"y - apply this hunk to index and worktree\n"
+"n - do not apply this hunk to index and worktree\n"
+"q - quit; do not apply this hunk or any of the remaining ones\n"
+"a - apply this hunk and all later hunks in the file\n"
+"d - do not apply this hunk or any of the later hunks in the file"
+msgstr ""
+"y - áp dụng hunk này vào mục lục và cây làm việc\n"
+"n - đừng áp dụng hunk vào mục lục và cây làm việc\n"
+"q - thoát; đừng áp dụng hunk này cũng như bất kỳ cái nào còn lại\n"
+"a - áp dụng hunk này và tất cả các hunk sau này trong tập tin\n"
+"d - đừng áp dụng hunk này cũng như bất kỳ cái nào sau này trong tập tin"
+
+#: git-add--interactive.perl:1241
+msgid ""
+"g - select a hunk to go to\n"
+"/ - search for a hunk matching the given regex\n"
+"j - leave this hunk undecided, see next undecided hunk\n"
+"J - leave this hunk undecided, see next hunk\n"
+"k - leave this hunk undecided, see previous undecided hunk\n"
+"K - leave this hunk undecided, see previous hunk\n"
+"s - split the current hunk into smaller hunks\n"
+"e - manually edit the current hunk\n"
+"? - print help\n"
+msgstr ""
+"g - chọn một hunk muốn tới\n"
+"/ - tìm một hunk khớp với biểu thức chính quy đưa ra\n"
+"j - để lại hunk này là chưa quyết định, xem hunk chưa quyết định kế\n"
+"J - để lại hunk này là chưa quyết định, xem hunk kế\n"
+"k - để lại hunk này là chưa quyết định, xem hunk chưa quyết định kế trước\n"
+"K - để lại hunk này là chưa quyết định, xem hunk kế trước\n"
+"s - chia hunk hiện tại thành các hunk nhỏ hơn\n"
+"e - sửa bằng tay hunk hiện hành\n"
+"? - in trợ giúp\n"
+
+#: git-add--interactive.perl:1272
+msgid "The selected hunks do not apply to the index!\n"
+msgstr "Các hunk đã chọn không được áp dụng vào bảng mục lục!\n"
+
+#: git-add--interactive.perl:1273
+msgid "Apply them to the worktree anyway? "
+msgstr "Vẫn áp dụng chúng cho cây làm việc? "
+
+#: git-add--interactive.perl:1276
+msgid "Nothing was applied.\n"
+msgstr "Đã không áp dụng gì cả.\n"
+
+#: git-add--interactive.perl:1287
+#, perl-format
+msgid "ignoring unmerged: %s\n"
+msgstr "bỏ qua những thứ chưa hòa trộn: %s\n"
+
+#: git-add--interactive.perl:1296
+msgid "Only binary files changed.\n"
+msgstr "Chỉ có các tập tin nhị phân là thay đổi.\n"
+
+#: git-add--interactive.perl:1298
+msgid "No changes.\n"
+msgstr "Không có thay đổi nào.\n"
+
+#: git-add--interactive.perl:1306
+msgid "Patch update"
+msgstr "Cập nhật miếng vá"
+
+#: git-add--interactive.perl:1358
+#, perl-format
+msgid "Stage mode change [y,n,q,a,d,/%s,?]? "
+msgstr "Thay đổi chế độ bệ phóng [y,n,q,a,d,/%s,?]? "
+
+#: git-add--interactive.perl:1359
+#, perl-format
+msgid "Stage deletion [y,n,q,a,d,/%s,?]? "
+msgstr "Xóa khỏi bệ phóng [y,n,q,a,d,/%s,?]? "
+
+#: git-add--interactive.perl:1360
+#, perl-format
+msgid "Stage this hunk [y,n,q,a,d,/%s,?]? "
+msgstr "Đưa lên bệ phóng hunk này [y,n,q,a,d,/%s,?]? "
+
+#: git-add--interactive.perl:1363
+#, perl-format
+msgid "Stash mode change [y,n,q,a,d,/%s,?]? "
+msgstr "Thay đổi chế độ tạm cất đi [y,n,q,a,d,/%s,?]? "
+
+#: git-add--interactive.perl:1364
+#, perl-format
+msgid "Stash deletion [y,n,q,a,d,/%s,?]? "
+msgstr "Xóa tạm cất [y,n,q,a,d,/%s,?]? "
+
+#: git-add--interactive.perl:1365
+#, perl-format
+msgid "Stash this hunk [y,n,q,a,d,/%s,?]? "
+msgstr "Tạm cất hunk này [y,n,q,a,d,/%s,?]? "
+
+#: git-add--interactive.perl:1368
+#, perl-format
+msgid "Unstage mode change [y,n,q,a,d,/%s,?]? "
+msgstr "Thay đổi chế độ bỏ ra khỏi bệ phóng [y,n,q,a,d,/%s,?]? "
+
+#: git-add--interactive.perl:1369
+#, perl-format
+msgid "Unstage deletion [y,n,q,a,d,/%s,?]? "
+msgstr "Xóa bỏ việc bỏ ra khỏi bệ phóng [y,n,q,a,d,/%s,?]? "
+
+#: git-add--interactive.perl:1370
+#, perl-format
+msgid "Unstage this hunk [y,n,q,a,d,/%s,?]? "
+msgstr "Bỏ ra khỏi bệ phóng hunk này [y,n,q,a,d,/%s,?]? "
+
+#: git-add--interactive.perl:1373
+#, perl-format
+msgid "Apply mode change to index [y,n,q,a,d,/%s,?]? "
+msgstr "Áp dụng thay đổi chế độ cho mục lục [y,n,q,a,d,/%s,?]? "
+
+#: git-add--interactive.perl:1374
+#, perl-format
+msgid "Apply deletion to index [y,n,q,a,d,/%s,?]? "
+msgstr "Áp dụng việc xóa vào mục lục [y,n,q,a,d,/%s,?]? "
+
+#: git-add--interactive.perl:1375
+#, perl-format
+msgid "Apply this hunk to index [y,n,q,a,d,/%s,?]? "
+msgstr "Áo dụng hunk này vào mục lục [y,n,q,a,d,/%s,?]? "
+
+#: git-add--interactive.perl:1378
+#, perl-format
+msgid "Discard mode change from worktree [y,n,q,a,d,/%s,?]? "
+msgstr "Loại bỏ các thay đổi chế độ từ cây làm việc [y,n,q,a,d,/%s,?]? "
+
+#: git-add--interactive.perl:1379
+#, perl-format
+msgid "Discard deletion from worktree [y,n,q,a,d,/%s,?]? "
+msgstr "Loại bỏ việc xóa khỏi cây làm việc [y,n,q,a,d,/%s,?]? "
+
+#: git-add--interactive.perl:1380
+#, perl-format
+msgid "Discard this hunk from worktree [y,n,q,a,d,/%s,?]? "
+msgstr "Loại bỏ hunk này khỏi cây làm việc [y,n,q,a,d,/%s,?]? "
+
+#: git-add--interactive.perl:1383
+#, perl-format
+msgid "Discard mode change from index and worktree [y,n,q,a,d,/%s,?]? "
+msgstr "Loại bỏ thay đổi chế độ từ mục lục và cây làm việc [y,n,q,a,d,/%s,?]? "
+
+#: git-add--interactive.perl:1384
+#, perl-format
+msgid "Discard deletion from index and worktree [y,n,q,a,d,/%s,?]? "
+msgstr "Loại bỏ việc xóa khỏi mục lục và cây làm việc [y,n,q,a,d,/%s,?]? "
+
+#: git-add--interactive.perl:1385
+#, perl-format
+msgid "Discard this hunk from index and worktree [y,n,q,a,d,/%s,?]? "
+msgstr "Loại bỏ hunk này khỏi mục lục và cây làm việc [y,n,q,a,d,/%s,?]? "
+
+#: git-add--interactive.perl:1388
+#, perl-format
+msgid "Apply mode change to index and worktree [y,n,q,a,d,/%s,?]? "
+msgstr ""
+"Áp dụng thay đổi chế độ cho mục lục và cây làm việc [y,n,q,a,d,/%s,?]? "
+
+#: git-add--interactive.perl:1389
+#, perl-format
+msgid "Apply deletion to index and worktree [y,n,q,a,d,/%s,?]? "
+msgstr "Áp dụng việc xóa vào mục lục và cây làm việc [y,n,q,a,d,/%s,?]? "
+
+#: git-add--interactive.perl:1390
+#, perl-format
+msgid "Apply this hunk to index and worktree [y,n,q,a,d,/%s,?]? "
+msgstr "Áp dụng hunk này vào mục lục và cây làm việc [y,n,q,a,d,/%s,?]? "
+
+#: git-add--interactive.perl:1493
+msgid "go to which hunk (<ret> to see more)? "
+msgstr "nhảy đến hunk nào (<ret> để xem thêm)? "
+
+#: git-add--interactive.perl:1495
+msgid "go to which hunk? "
+msgstr "nhảy đến hunk nào?"
+
+#: git-add--interactive.perl:1504
+#, perl-format
+msgid "Invalid number: '%s'\n"
+msgstr "Số không hợp lệ: “%s”\n"
+
+#: git-add--interactive.perl:1509
+#, perl-format
+msgid "Sorry, only %d hunk available.\n"
+msgid_plural "Sorry, only %d hunks available.\n"
+msgstr[0] "Rất tiếc, chỉ có sẵn %d hunk..\n"
+
+#: git-add--interactive.perl:1535
+msgid "search for regex? "
+msgstr "tìm kiếm cho regex? "
+
+#: git-add--interactive.perl:1548
+#, perl-format
+msgid "Malformed search regexp %s: %s\n"
+msgstr "Định dạng tìm kiếm của biểu thức chính quy không đúng %s: %s\n"
+
+#: git-add--interactive.perl:1558
+msgid "No hunk matches the given pattern\n"
+msgstr "Không thấy hunk nào khớp mẫu đã cho\n"
+
+#: git-add--interactive.perl:1570 git-add--interactive.perl:1592
+msgid "No previous hunk\n"
+msgstr "Không có hunk kế trước\n"
+
+#: git-add--interactive.perl:1579 git-add--interactive.perl:1598
+msgid "No next hunk\n"
+msgstr "Không có hunk kế tiếp\n"
+
+#: git-add--interactive.perl:1606
+#, perl-format
+msgid "Split into %d hunk.\n"
+msgid_plural "Split into %d hunks.\n"
+msgstr[0] "Chi nhỏ thành %d hunks.\n"
+
+#: git-add--interactive.perl:1658
+msgid "Review diff"
+msgstr "Xem xét lại diff"
+
+#. TRANSLATORS: please do not translate the command names
+#. 'status', 'update', 'revert', etc.
+#: git-add--interactive.perl:1677
+msgid ""
+"status        - show paths with changes\n"
+"update        - add working tree state to the staged set of changes\n"
+"revert        - revert staged set of changes back to the HEAD version\n"
+"patch         - pick hunks and update selectively\n"
+"diff\t      - view diff between HEAD and index\n"
+"add untracked - add contents of untracked files to the staged set of "
+"changes\n"
+msgstr ""
+"status        - hiển thị các đường dẫn với các thay đổi\n"
+"update        - đặt trạng thái cây làm việc thành tập hợp các thay đổi đã "
+"đặt lên bệ phóng\n"
+"revert        - hoàn nguyên tập hợp các thay đổi đã đặt lên bệ phóng trở lại "
+"phiên bản HEAD\n"
+"patch         - cậy các hunk và cập nhật có lựa chọn\n"
+"diff\t      - xem khác biệt giữa HEAD và mục lục\n"
+"add untracked - thêm nội dung các các tập tin chưa theo dõi và tập hợp các "
+"thay đổi đã đặt lên bệ phóng\n"
+
+#: git-add--interactive.perl:1694 git-add--interactive.perl:1699
+#: git-add--interactive.perl:1702 git-add--interactive.perl:1709
+#: git-add--interactive.perl:1713 git-add--interactive.perl:1719
+msgid "missing --"
+msgstr "thiếu --"
+
+#: git-add--interactive.perl:1715
+#, perl-format
+msgid "unknown --patch mode: %s"
+msgstr "không hiểu chế độ --patch: %s"
+
+#: git-add--interactive.perl:1721 git-add--interactive.perl:1727
+#, perl-format
+msgid "invalid argument %s, expecting --"
+msgstr "đối số không hợp lệ %s, cần --"
+
+#: git-send-email.perl:121
+msgid "local zone differs from GMT by a non-minute interval\n"
+msgstr "múi giờ nội bộ khác biệt với GMT bởi khoảng thời gian không-phút\n"
+
+#: git-send-email.perl:128 git-send-email.perl:134
+msgid "local time offset greater than or equal to 24 hours\n"
+msgstr "khoảng bù thời gian nội bộ lớn hơn hoặc bằng 24 giờ\n"
+
+#: git-send-email.perl:202 git-send-email.perl:208
+msgid "the editor exited uncleanly, aborting everything"
+msgstr "trình soạn thảo thoát không sạch sẽ, bãi bỏ mọi thứ"
+
+#: git-send-email.perl:282
+#, perl-format
+msgid ""
+"'%s' contains an intermediate version of the email you were composing.\n"
+msgstr "“%s” có chưa một phiên bản trung gian của thư bạn đã soạn.\n"
+
+#: git-send-email.perl:287
+#, perl-format
+msgid "'%s.final' contains the composed email.\n"
+msgstr "“%s.final” chứa thư điện tử đã soạn thảo.\n"
+
+#: git-send-email.perl:305
+msgid "--dump-aliases incompatible with other options\n"
+msgstr "--dump-aliases xung khắc với các tùy chọn khác\n"
+
+#: git-send-email.perl:368 git-send-email.perl:623
+msgid "Cannot run git format-patch from outside a repository\n"
+msgstr "Không thể chạy git format-patch ở ngoài một kho chứa\n"
+
+#: git-send-email.perl:437
+#, perl-format
+msgid "Unknown --suppress-cc field: '%s'\n"
+msgstr "Không hiểu trường --suppress-cc: “%s”\n"
+
+#: git-send-email.perl:466
+#, perl-format
+msgid "Unknown --confirm setting: '%s'\n"
+msgstr "Không hiểu cài đặt --confirm: “%s”\n"
+
+#: git-send-email.perl:498
+#, perl-format
+msgid "warning: sendmail alias with quotes is not supported: %s\n"
+msgstr "cảnh báo: bí danh sendmail với dấu trích dẫn không được hỗ trợ: %s\n"
+
+#: git-send-email.perl:500
+#, perl-format
+msgid "warning: `:include:` not supported: %s\n"
+msgstr "cảnh báo: “:include:“ không được hỗ trợ: %s\n"
+
+#: git-send-email.perl:502
+#, perl-format
+msgid "warning: `/file` or `|pipe` redirection not supported: %s\n"
+msgstr "cảnh báo: chuyển hướng “/file“ hay “|pipe“ không được hỗ trợ: %s\n"
+
+#: git-send-email.perl:507
+#, perl-format
+msgid "warning: sendmail line is not recognized: %s\n"
+msgstr "cảnh báo: dòng sendmail không nhận ra được: %s\n"
+
+#: git-send-email.perl:589
+#, perl-format
+msgid ""
+"File '%s' exists but it could also be the range of commits\n"
+"to produce patches for.  Please disambiguate by...\n"
+"\n"
+"    * Saying \"./%s\" if you mean a file; or\n"
+"    * Giving --format-patch option if you mean a range.\n"
+msgstr ""
+"Tập tin “%s” đã có sẵn nhưng nó có lẽ cũng là chuẩn bị của\n"
+"các miếng vá tạo lần chuyển giao. Vui lòng làm rõ ý bằng…\n"
+"\n"
+"    * Nói \"./%s\" nếu ý bạn là một tập tin; hoặc\n"
+"    * Đưa ra tùy chọn --format-patch nếu ý bạn là chuẩn bị.\n"
+
+#: git-send-email.perl:610
+#, perl-format
+msgid "Failed to opendir %s: %s"
+msgstr "Gặp lỗi khi mở thư mục “%s”: %s"
+
+#: git-send-email.perl:634
+#, perl-format
+msgid ""
+"fatal: %s: %s\n"
+"warning: no patches were sent\n"
+msgstr ""
+"nghiêm trọng: %s: %s\n"
+"cảnh báo: không có miếng vá nào được gửi đi\n"
+
+#: git-send-email.perl:645
+msgid ""
+"\n"
+"No patch files specified!\n"
+"\n"
+msgstr ""
+"\n"
+"Chưa chỉ định các tập tin miếng vá!\n"
+"\n"
+
+#: git-send-email.perl:658
+#, perl-format
+msgid "No subject line in %s?"
+msgstr "Không có dòng chủ đề trong %s?"
+
+#: git-send-email.perl:668
+#, perl-format
+msgid "Failed to open for writing %s: %s"
+msgstr "Gặp lỗi khi mở “%s” để ghi: %s"
+
+#: git-send-email.perl:678
+msgid ""
+"Lines beginning in \"GIT:\" will be removed.\n"
+"Consider including an overall diffstat or table of contents\n"
+"for the patch you are writing.\n"
+"\n"
+"Clear the body content if you don't wish to send a summary.\n"
+msgstr ""
+"Các dòng bắt đầu bằng \"GIT:\" sẽ bị xóa bỏ.\n"
+"Cân nhắc bao gồm một thống kê diff toàn thể hay bảng nội dung\n"
+"cho miếng vá mà bạn đang viết.\n"
+"\n"
+"Xóa nội dung phần thân nếu bạn không muốn gửi tóm tắt.\n"
+
+#: git-send-email.perl:701
+#, perl-format
+msgid "Failed to open %s.final: %s"
+msgstr "Gặp lỗi khi mở %s.final: %s"
+
+#: git-send-email.perl:704
+#, perl-format
+msgid "Failed to open %s: %s"
+msgstr "Gặp lỗi khi mở “%s”: %s"
+
+#: git-send-email.perl:739
+msgid "To/Cc/Bcc fields are not interpreted yet, they have been ignored\n"
+msgstr "Các trường To/Cc/Bcc không được phiên dịch, chúng bị bỏ qua\n"
+
+#: git-send-email.perl:748
+msgid "Summary email is empty, skipping it\n"
+msgstr "Thư tổng thể là trống rỗng, nên bỏ qua nó\n"
+
+#. TRANSLATORS: please keep [y/N] as is.
+#: git-send-email.perl:780
+#, perl-format
+msgid "Are you sure you want to use <%s> [y/N]? "
+msgstr "Bạn có chắc muốn dùng <%s> [y/N]? "
+
+#: git-send-email.perl:809
+msgid ""
+"The following files are 8bit, but do not declare a Content-Transfer-"
+"Encoding.\n"
+msgstr ""
+"Các trường sau đây là 8bit, nhưng không khai báo một Content-Transfer-"
+"Encoding.\n"
+
+#: git-send-email.perl:814
+msgid "Which 8bit encoding should I declare [UTF-8]? "
+msgstr "Bảng mã 8bit nào tôi nên khai báo [UTF-8]? "
+
+#: git-send-email.perl:822
+#, perl-format
+msgid ""
+"Refusing to send because the patch\n"
+"\t%s\n"
+"has the template subject '*** SUBJECT HERE ***'. Pass --force if you really "
+"want to send.\n"
+msgstr ""
+"Từ chối gửi bởi vì miếng vá\n"
+"\t%s\n"
+"có chủ đề ở dạng mẫu “*** SUBJECT HERE ***”. Dùng --force nếu bạn thực sự "
+"muốn gửi.\n"
+
+#: git-send-email.perl:841
+msgid "To whom should the emails be sent (if anyone)?"
+msgstr "Tới người mà thư được gửi (nếu có)?"
+
+#: git-send-email.perl:859
+#, perl-format
+msgid "fatal: alias '%s' expands to itself\n"
+msgstr "nghiêm trọng: bí danh “%s” được khai triển thành chính nó\n"
+
+#: git-send-email.perl:871
+msgid "Message-ID to be used as In-Reply-To for the first email (if any)? "
+msgstr "Message-ID được dùng như là In-Reply-To cho thư đầu tiên (nếu có)? "
+
+#: git-send-email.perl:921 git-send-email.perl:929
+#, perl-format
+msgid "error: unable to extract a valid address from: %s\n"
+msgstr "lỗi: không thể rút trích một địa chỉ hợp lệ từ: %s\n"
+
+#. TRANSLATORS: Make sure to include [q] [d] [e] in your
+#. translation. The program will only accept English input
+#. at this point.
+#: git-send-email.perl:933
+msgid "What to do with this address? ([q]uit|[d]rop|[e]dit): "
+msgstr "Làm gì với địa chỉ này? (thoát[q]|xóa[d]|sửa[e]): "
+
+#: git-send-email.perl:1234
+#, perl-format
+msgid "CA path \"%s\" does not exist"
+msgstr "đường dẫn CA “%s” không tồn tại"
+
+#: git-send-email.perl:1309
+msgid ""
+"    The Cc list above has been expanded by additional\n"
+"    addresses found in the patch commit message. By default\n"
+"    send-email prompts before sending whenever this occurs.\n"
+"    This behavior is controlled by the sendemail.confirm\n"
+"    configuration setting.\n"
+"\n"
+"    For additional information, run 'git send-email --help'.\n"
+"    To retain the current behavior, but squelch this message,\n"
+"    run 'git config --global sendemail.confirm auto'.\n"
+"\n"
+msgstr ""
+"    Danh sách Cc ở trên được diễn giải bằng các địa chỉ phụ\n"
+"    thêm tìm thấy trong lời ghi chú lần chuyển giao của miếng vá.\n"
+"    Theo mặc định send-email sẽ nhắc trước khi gửi bất cứ khi\n"
+"    nào điều này xảy ra. Cách hành xử này được điều khiển bởi cài\n"
+"    đặt cấu hình sendemail.confirm.\n"
+"\n"
+"    Để biết thêm chi tiết, hãy chạy lệnh “git send-email --help”.\n"
+"    Để giữ lại cách hành xử hiện nay, làm hết lời nhắn này,\n"
+"    chạy “git config --global sendemail.confirm auto”.\n"
+"\n"
+
+#. TRANSLATORS: Make sure to include [y] [n] [q] [a] in your
+#. translation. The program will only accept English input
+#. at this point.
+#: git-send-email.perl:1324
+msgid "Send this email? ([y]es|[n]o|[q]uit|[a]ll): "
+msgstr "Gửi thư này chứ? ([y]có|[n]không|[q]thoát|[a]tất): "
+
+#: git-send-email.perl:1327
+msgid "Send this email reply required"
+msgstr "Gửi thư này trả lời yêu cầu"
+
+#: git-send-email.perl:1353
+msgid "The required SMTP server is not properly defined."
+msgstr "Máy phục vụ SMTP chưa được định nghĩa một cách thích hợp."
+
+#: git-send-email.perl:1397
+#, perl-format
+msgid "Server does not support STARTTLS! %s"
+msgstr "Máy chủ không hỗ trợ STARTTLS! %s"
+
+#: git-send-email.perl:1403
+msgid "Unable to initialize SMTP properly. Check config and use --smtp-debug."
+msgstr ""
+"Không thể khởi tạo SMTP một cách đúng đắn. Kiểm tra cấu hình và dùng --smtp-"
+"debug."
+
+#: git-send-email.perl:1421
+#, perl-format
+msgid "Failed to send %s\n"
+msgstr "Gặp lỗi khi gửi %s\n"
+
+#: git-send-email.perl:1424
+#, perl-format
+msgid "Dry-Sent %s\n"
+msgstr "Thử gửi %s\n"
+
+#: git-send-email.perl:1424
+#, perl-format
+msgid "Sent %s\n"
+msgstr "Gửi %s\n"
+
+#: git-send-email.perl:1426
+msgid "Dry-OK. Log says:\n"
+msgstr "Dry-OK. Nhật ký nói rằng:\n"
+
+#: git-send-email.perl:1426
+msgid "OK. Log says:\n"
+msgstr "OK. Nhật ký nói rằng:\n"
+
+#: git-send-email.perl:1438
+msgid "Result: "
+msgstr "Kết quả: "
+
+#: git-send-email.perl:1441
+msgid "Result: OK\n"
+msgstr "Kết quả: Tốt\n"
+
+#: git-send-email.perl:1454
+#, perl-format
+msgid "can't open file %s"
+msgstr "không thể mở tập tin “%s”"
+
+#: git-send-email.perl:1501 git-send-email.perl:1521
+#, perl-format
+msgid "(mbox) Adding cc: %s from line '%s'\n"
+msgstr "(mbox) Thêm cc: %s từ dòng “%s”\n"
+
+#: git-send-email.perl:1507
+#, perl-format
+msgid "(mbox) Adding to: %s from line '%s'\n"
+msgstr "(mbox) Đang thêm to: %s từ dòng “%s”\n"
+
+#: git-send-email.perl:1555
+#, perl-format
+msgid "(non-mbox) Adding cc: %s from line '%s'\n"
+msgstr "(non-mbox) Thêm cc: %s từ dòng “%s”\n"
+
+#: git-send-email.perl:1578
+#, perl-format
+msgid "(body) Adding cc: %s from line '%s'\n"
+msgstr "(body) Thêm cc: %s từ dòng “%s”\n"
+
+#: git-send-email.perl:1676
+#, perl-format
+msgid "(%s) Could not execute '%s'"
+msgstr "(%s) Không thể thực thi “%s”"
+
+#: git-send-email.perl:1683
+#, perl-format
+msgid "(%s) Adding %s: %s from: '%s'\n"
+msgstr "(%s) Đang thêm %s: %s từ: “%s”\n"
+
+#: git-send-email.perl:1687
+#, perl-format
+msgid "(%s) failed to close pipe to '%s'"
+msgstr "(%s) gặp lỗi khi đóng đường ống đến “%s”"
+
+#: git-send-email.perl:1714
+msgid "cannot send message as 7bit"
+msgstr "không thể lấy gửi thư dạng 7 bít"
+
+#: git-send-email.perl:1722
+msgid "invalid transfer encoding"
+msgstr "bảng mã truyền không hợp lệ"
+
+#: git-send-email.perl:1741 git-send-email.perl:1792 git-send-email.perl:1802
+#, perl-format
+msgid "unable to open %s: %s\n"
+msgstr "không thể mở %s: %s\n"
+
+#: git-send-email.perl:1744
+#, perl-format
+msgid "%s: patch contains a line longer than 998 characters"
+msgstr "%s: miếng vá có chứa dòng dài hơn 998 ký tự"
+
+#: git-send-email.perl:1760
+#, perl-format
+msgid "Skipping %s with backup suffix '%s'.\n"
+msgstr "Bỏ qua %s với hậu tố sao lưu dự phòng “%s”.\n"
+
+#. TRANSLATORS: please keep "[y|N]" as is.
+#: git-send-email.perl:1764
+#, perl-format
+msgid "Do you really want to send %s? [y|N]: "
+msgstr "Bạn có thực sự muốn gửi %s? [y|N]: "
+
+#~ msgid "Use an experimental blank-line-based heuristic to improve diffs"
+#~ msgstr ""
+#~ "Dùng một phỏng đoán dựa trên dòng trắng thử nghiệm để tăng cường các diff"
+
+#~ msgid "Clever... amending the last one with dirty index."
+#~ msgstr "Giỏi…  “tu bổ” cái cuối với bảng mục lục bẩn."
+
+#~ msgid ""
+#~ "the following submodule (or one of its nested submodules)\n"
+#~ "uses a .git directory:"
+#~ msgid_plural ""
+#~ "the following submodules (or one of their nested submodules)\n"
+#~ "use a .git directory:"
+#~ msgstr[0] ""
+#~ "các mô-đun-con sau đây (hay một trong số mô-đun-con bên trong của nó)\n"
+#~ "dùng một thư mục .git:"
+
+#~ msgid ""
+#~ "\n"
+#~ "(use 'rm -rf' if you really want to remove it including all of its "
+#~ "history)"
+#~ msgstr ""
+#~ "\n"
+#~ "(dùng /\"rm -rf/\" nếu bạn thực sự muốn gỡ bỏ nó cùng với tất cả lịch sử "
+#~ "của chúng)"
+
 #~ msgid "Could not write to %s"
 #~ msgstr "Không thể ghi vào %s"
 
@@ -14820,9 +16174,6 @@
 #~ msgid "bug: unhandled diff status %c"
 #~ msgstr "lỗi: không thể tiếp nhận trạng thái lệnh diff %c"
 
-#~ msgid "read of %s failed"
-#~ msgstr "đọc %s gặp lỗi"
-
 #~ msgid "could not write branch description template"
 #~ msgstr "không thể ghi mẫu mô tả nhánh"
 
@@ -14904,12 +16255,6 @@
 #~ msgid "unable to access '%s': %s"
 #~ msgstr "không thể truy cập “%s”: %s"
 
-#~ msgid "could not open '%s' for reading: %s"
-#~ msgstr "không thể mở “%s” để đọc: %s"
-
-#~ msgid "could not open '%s' for writing: %s"
-#~ msgstr "Không thể mở “%s” để ghi: %s"
-
 #~ msgid "    git branch -d %s\n"
 #~ msgstr "    git branch -d %s\n"
 
@@ -15415,18 +16760,12 @@
 #~ msgid "oops"
 #~ msgstr "ôi?"
 
-#~ msgid "Would not remove %s\n"
-#~ msgstr "Không thể gỡ bỏ %s\n"
-
 #~ msgid "Not removing %s\n"
 #~ msgstr "Không xóa %s\n"
 
 #~ msgid "git remote set-head <name> (-a | -d | <branch>])"
 #~ msgstr "git remote set-head <tên> (-a | -d | <nhánh>])"
 
-#~ msgid " 0 files changed"
-#~ msgstr " 0 có tập tin nào thay đổi cả"
-
 #~ msgid " %d file changed"
 #~ msgid_plural " %d files changed"
 #~ msgstr[0] " %d tập tin thay đổi"
diff --git a/po/zh_CN.po b/po/zh_CN.po
index c38326c..622b61c 100644
--- a/po/zh_CN.po
+++ b/po/zh_CN.po
@@ -135,8 +135,8 @@
 msgstr ""
 "Project-Id-Version: Git\n"
 "Report-Msgid-Bugs-To: Git Mailing List <git@vger.kernel.org>\n"
-"POT-Creation-Date: 2016-11-25 22:50+0800\n"
-"PO-Revision-Date: 2016-11-25 22:54+0800\n"
+"POT-Creation-Date: 2017-02-18 01:00+0800\n"
+"PO-Revision-Date: 2017-02-25 00:10+0800\n"
 "Last-Translator: Jiang Xin <worldhello.net@gmail.com>\n"
 "Language-Team: GitHub <https://github.com/jiangxin/git/>\n"
 "Language: zh_CN\n"
@@ -187,7 +187,7 @@
 msgid "Exiting because of an unresolved conflict."
 msgstr "因为存在未解决的冲突而退出。"
 
-#: advice.c:114 builtin/merge.c:1181
+#: advice.c:114 builtin/merge.c:1206
 msgid "You have not concluded your merge (MERGE_HEAD exists)."
 msgstr "您尚未结束您的合并（存在 MERGE_HEAD）。"
 
@@ -360,34 +360,34 @@
 msgid "patch with only garbage at line %d"
 msgstr "补丁文件的第 %d 行只有垃圾数据"
 
-#: apply.c:2274
+#: apply.c:2265
 #, c-format
 msgid "unable to read symlink %s"
 msgstr "无法读取符号链接 %s"
 
-#: apply.c:2278
+#: apply.c:2269
 #, c-format
 msgid "unable to open or read %s"
 msgstr "不能打开或读取 %s"
 
-#: apply.c:2931
+#: apply.c:2922
 #, c-format
 msgid "invalid start of line: '%c'"
 msgstr "无效的行首字符：'%c'"
 
-#: apply.c:3050
+#: apply.c:3041
 #, c-format
 msgid "Hunk #%d succeeded at %d (offset %d line)."
 msgid_plural "Hunk #%d succeeded at %d (offset %d lines)."
 msgstr[0] "块 #%d 成功应用于 %d（偏移 %d 行）"
 msgstr[1] "块 #%d 成功应用于 %d（偏移 %d 行）"
 
-#: apply.c:3062
+#: apply.c:3053
 #, c-format
 msgid "Context reduced to (%ld/%ld) to apply fragment at %d"
 msgstr "上下文减少到（%ld/%ld）以在第 %d 行应用补丁片段"
 
-#: apply.c:3068
+#: apply.c:3059
 #, c-format
 msgid ""
 "while searching for:\n"
@@ -396,437 +396,438 @@
 "当查询：\n"
 "%.*s"
 
-#: apply.c:3090
+#: apply.c:3081
 #, c-format
 msgid "missing binary patch data for '%s'"
 msgstr "缺失 '%s' 的二进制补丁数据"
 
-#: apply.c:3098
+#: apply.c:3089
 #, c-format
 msgid "cannot reverse-apply a binary patch without the reverse hunk to '%s'"
-msgstr "不能反向应用一个没有至 '%s' 的反向数据块的二进制补丁"
+msgstr "不能反向应用一个缺少到 '%s' 的反向数据块的二进制补丁"
 
-#: apply.c:3144
+#: apply.c:3135
 #, c-format
 msgid "cannot apply binary patch to '%s' without full index line"
 msgstr "不能在 '%s' 上应用没有完整索引行的二进制补丁"
 
-#: apply.c:3154
+#: apply.c:3145
 #, c-format
 msgid ""
 "the patch applies to '%s' (%s), which does not match the current contents."
-msgstr "补丁引用到 '%s' (%s)，但是和当前内容不匹配。"
+msgstr "补丁应用到 '%s'（%s），但是和当前内容不匹配。"
 
-#: apply.c:3162
+#: apply.c:3153
 #, c-format
 msgid "the patch applies to an empty '%s' but it is not empty"
-msgstr "补丁应用到空文件 '%s'，但是它并不空"
+msgstr "补丁应用到空文件 '%s'，但其并非空文件"
 
-#: apply.c:3180
+#: apply.c:3171
 #, c-format
 msgid "the necessary postimage %s for '%s' cannot be read"
 msgstr "无法读取 '%2$s' 必须的目标文件 %1$s"
 
-#: apply.c:3193
+#: apply.c:3184
 #, c-format
 msgid "binary patch does not apply to '%s'"
 msgstr "二进制补丁未应用到 '%s'"
 
-#: apply.c:3199
+#: apply.c:3190
 #, c-format
 msgid "binary patch to '%s' creates incorrect result (expecting %s, got %s)"
 msgstr "到 '%s' 的二进制补丁产生了不正确的结果（应为 %s，却为 %s）"
 
-#: apply.c:3220
+#: apply.c:3211
 #, c-format
 msgid "patch failed: %s:%ld"
 msgstr "打补丁失败：%s:%ld"
 
-#: apply.c:3342
+#: apply.c:3333
 #, c-format
 msgid "cannot checkout %s"
 msgstr "不能检出 %s"
 
-#: apply.c:3390 apply.c:3401 apply.c:3447 setup.c:248
+#: apply.c:3381 apply.c:3392 apply.c:3438 setup.c:248
 #, c-format
 msgid "failed to read %s"
 msgstr "无法读取 %s"
 
-#: apply.c:3398
+#: apply.c:3389
 #, c-format
 msgid "reading from '%s' beyond a symbolic link"
 msgstr "读取位于符号链接中的 '%s'"
 
-#: apply.c:3427 apply.c:3667
+#: apply.c:3418 apply.c:3658
 #, c-format
 msgid "path %s has been renamed/deleted"
 msgstr "路径 %s 已经被重命名/删除"
 
-#: apply.c:3510 apply.c:3681
+#: apply.c:3501 apply.c:3672
 #, c-format
 msgid "%s: does not exist in index"
 msgstr "%s：不存在于索引中"
 
-#: apply.c:3519 apply.c:3689
+#: apply.c:3510 apply.c:3680
 #, c-format
 msgid "%s: does not match index"
 msgstr "%s：和索引不匹配"
 
-#: apply.c:3554
+#: apply.c:3545
 msgid "repository lacks the necessary blob to fall back on 3-way merge."
 msgstr "仓库缺乏必要的数据对象以进行三方合并。"
 
-#: apply.c:3557
+#: apply.c:3548
 #, c-format
 msgid "Falling back to three-way merge...\n"
 msgstr "回落到三方合并...\n"
 
-#: apply.c:3573 apply.c:3577
+#: apply.c:3564 apply.c:3568
 #, c-format
 msgid "cannot read the current contents of '%s'"
 msgstr "无法读取 '%s' 的当前内容"
 
-#: apply.c:3589
+#: apply.c:3580
 #, c-format
 msgid "Failed to fall back on three-way merge...\n"
 msgstr "无法回落到三方合并...\n"
 
-#: apply.c:3603
+#: apply.c:3594
 #, c-format
 msgid "Applied patch to '%s' with conflicts.\n"
 msgstr "应用补丁到 '%s' 存在冲突。\n"
 
-#: apply.c:3608
+#: apply.c:3599
 #, c-format
 msgid "Applied patch to '%s' cleanly.\n"
 msgstr "成功应用补丁到 '%s'。\n"
 
-#: apply.c:3634
+#: apply.c:3625
 msgid "removal patch leaves file contents"
 msgstr "移除补丁仍留下了文件内容"
 
-#: apply.c:3706
+#: apply.c:3697
 #, c-format
 msgid "%s: wrong type"
 msgstr "%s：错误类型"
 
-#: apply.c:3708
+#: apply.c:3699
 #, c-format
 msgid "%s has type %o, expected %o"
 msgstr "%s 的类型是 %o，应为 %o"
 
-#: apply.c:3859 apply.c:3861
+#: apply.c:3850 apply.c:3852
 #, c-format
 msgid "invalid path '%s'"
 msgstr "无效路径 '%s'"
 
-#: apply.c:3917
+#: apply.c:3908
 #, c-format
 msgid "%s: already exists in index"
 msgstr "%s：已经存在于索引中"
 
-#: apply.c:3920
+#: apply.c:3911
 #, c-format
 msgid "%s: already exists in working directory"
 msgstr "%s：已经存在于工作区中"
 
-#: apply.c:3940
+#: apply.c:3931
 #, c-format
 msgid "new mode (%o) of %s does not match old mode (%o)"
 msgstr "%2$s 的新模式（%1$o）和旧模式（%3$o）不匹配"
 
-#: apply.c:3945
+#: apply.c:3936
 #, c-format
 msgid "new mode (%o) of %s does not match old mode (%o) of %s"
 msgstr "%2$s 的新模式（%1$o）和 %4$s 的旧模式（%3$o）不匹配"
 
-#: apply.c:3965
+#: apply.c:3956
 #, c-format
 msgid "affected file '%s' is beyond a symbolic link"
 msgstr "受影响的文件 '%s' 位于符号链接中"
 
-#: apply.c:3969
+#: apply.c:3960
 #, c-format
 msgid "%s: patch does not apply"
 msgstr "%s：补丁未应用"
 
-#: apply.c:3984
+#: apply.c:3975
 #, c-format
 msgid "Checking patch %s..."
 msgstr "检查补丁 %s..."
 
-#: apply.c:4075
+#: apply.c:4066
 #, c-format
 msgid "sha1 information is lacking or useless for submodule %s"
 msgstr "子模组 %s 的 sha1 信息缺失或无效"
 
-#: apply.c:4082
+#: apply.c:4073
 #, c-format
 msgid "mode change for %s, which is not in current HEAD"
-msgstr "%s 的属性改变，但它不再当前 HEAD 中"
+msgstr "%s 的模式被改变，但它不在当前 HEAD 中"
 
-#: apply.c:4085
+#: apply.c:4076
 #, c-format
 msgid "sha1 information is lacking or useless (%s)."
 msgstr "sha1 信息缺失或无效（%s）。"
 
-#: apply.c:4090 builtin/checkout.c:233 builtin/reset.c:135
+#: apply.c:4081 builtin/checkout.c:233 builtin/reset.c:135
 #, c-format
 msgid "make_cache_entry failed for path '%s'"
 msgstr "对路径 '%s' 的 make_cache_entry 操作失败"
 
-#: apply.c:4094
+#: apply.c:4085
 #, c-format
 msgid "could not add %s to temporary index"
 msgstr "不能在临时索引中添加 %s"
 
-#: apply.c:4104
+#: apply.c:4095
 #, c-format
 msgid "could not write temporary index to %s"
 msgstr "不能把临时索引写入到 %s"
 
-#: apply.c:4242
+#: apply.c:4233
 #, c-format
 msgid "unable to remove %s from index"
 msgstr "不能从索引中移除 %s"
 
-#: apply.c:4277
+#: apply.c:4268
 #, c-format
 msgid "corrupt patch for submodule %s"
 msgstr "子模组 %s 损坏的补丁"
 
-#: apply.c:4283
+#: apply.c:4274
 #, c-format
 msgid "unable to stat newly created file '%s'"
 msgstr "不能枚举新建文件 '%s' 的状态"
 
-#: apply.c:4291
+#: apply.c:4282
 #, c-format
 msgid "unable to create backing store for newly created file %s"
 msgstr "不能为新建文件 %s 创建后端存储"
 
-#: apply.c:4297 apply.c:4441
+#: apply.c:4288 apply.c:4432
 #, c-format
 msgid "unable to add cache entry for %s"
 msgstr "无法为 %s 添加缓存条目"
 
-#: apply.c:4338
+#: apply.c:4329
 #, c-format
 msgid "failed to write to '%s'"
 msgstr "无法写入 '%s'"
 
-#: apply.c:4342
+#: apply.c:4333
 #, c-format
 msgid "closing file '%s'"
 msgstr "关闭文件 '%s'"
 
-#: apply.c:4412
+#: apply.c:4403
 #, c-format
 msgid "unable to write file '%s' mode %o"
 msgstr "不能写文件 '%s' 权限 %o"
 
-#: apply.c:4510
+#: apply.c:4501
 #, c-format
 msgid "Applied patch %s cleanly."
 msgstr "成功应用补丁 %s。"
 
-#: apply.c:4518
+#: apply.c:4509
 msgid "internal error"
 msgstr "内部错误"
 
-#: apply.c:4521
+#: apply.c:4512
 #, c-format
 msgid "Applying patch %%s with %d reject..."
 msgid_plural "Applying patch %%s with %d rejects..."
 msgstr[0] "应用 %%s 个补丁，其中 %d 个被拒绝..."
 msgstr[1] "应用 %%s 个补丁，其中 %d 个被拒绝..."
 
-#: apply.c:4532
+#: apply.c:4523
 #, c-format
 msgid "truncating .rej filename to %.*s.rej"
 msgstr "截短 .rej 文件名为 %.*s.rej"
 
-#: apply.c:4540 builtin/fetch.c:740 builtin/fetch.c:989
+#: apply.c:4531 builtin/fetch.c:737 builtin/fetch.c:986
 #, c-format
 msgid "cannot open %s"
 msgstr "不能打开 %s"
 
-#: apply.c:4554
+#: apply.c:4545
 #, c-format
 msgid "Hunk #%d applied cleanly."
 msgstr "第 #%d 个片段成功应用。"
 
-#: apply.c:4558
+#: apply.c:4549
 #, c-format
 msgid "Rejected hunk #%d."
 msgstr "拒绝第 #%d 个片段。"
 
-#: apply.c:4668
+#: apply.c:4659
 #, c-format
 msgid "Skipped patch '%s'."
 msgstr "略过补丁 '%s'。"
 
-#: apply.c:4676
+#: apply.c:4667
 msgid "unrecognized input"
 msgstr "未能识别的输入"
 
-#: apply.c:4695
+#: apply.c:4686
 msgid "unable to read index file"
 msgstr "无法读取索引文件"
 
-#: apply.c:4833
+#: apply.c:4824
 #, c-format
 msgid "can't open patch '%s': %s"
 msgstr "不能打开补丁 '%s'：%s"
 
-#: apply.c:4858
+#: apply.c:4849
 #, c-format
 msgid "squelched %d whitespace error"
 msgid_plural "squelched %d whitespace errors"
 msgstr[0] "抑制下仍有 %d 个空白字符误用"
 msgstr[1] "抑制下仍有 %d 个空白字符误用"
 
-#: apply.c:4864 apply.c:4879
+#: apply.c:4855 apply.c:4870
 #, c-format
 msgid "%d line adds whitespace errors."
 msgid_plural "%d lines add whitespace errors."
 msgstr[0] "%d 行有空白字符误用。"
 msgstr[1] "%d 行有空白字符误用。"
 
-#: apply.c:4872
+#: apply.c:4863
 #, c-format
 msgid "%d line applied after fixing whitespace errors."
 msgid_plural "%d lines applied after fixing whitespace errors."
 msgstr[0] "修复空白错误后，应用了 %d 行。"
 msgstr[1] "修复空白错误后，应用了 %d 行。"
 
-#: apply.c:4888 builtin/add.c:463 builtin/mv.c:286 builtin/rm.c:431
+#: apply.c:4879 builtin/add.c:463 builtin/mv.c:298 builtin/rm.c:391
 msgid "Unable to write new index file"
 msgstr "无法写入新索引文件"
 
-#: apply.c:4919 apply.c:4922 builtin/am.c:2277 builtin/am.c:2280
+#: apply.c:4910 apply.c:4913 builtin/am.c:2277 builtin/am.c:2280
 #: builtin/clone.c:95 builtin/fetch.c:98 builtin/pull.c:180
-#: builtin/submodule--helper.c:281 builtin/submodule--helper.c:407
-#: builtin/submodule--helper.c:589 builtin/submodule--helper.c:592
-#: builtin/submodule--helper.c:944 builtin/submodule--helper.c:947
+#: builtin/submodule--helper.c:281 builtin/submodule--helper.c:591
+#: builtin/submodule--helper.c:594 builtin/submodule--helper.c:960
+#: builtin/submodule--helper.c:963 builtin/submodule--helper.c:1104
+#: git-add--interactive.perl:239
 msgid "path"
 msgstr "路径"
 
-#: apply.c:4920
+#: apply.c:4911
 msgid "don't apply changes matching the given path"
 msgstr "不要应用与给出路径向匹配的变更"
 
-#: apply.c:4923
+#: apply.c:4914
 msgid "apply changes matching the given path"
 msgstr "应用与给出路径向匹配的变更"
 
-#: apply.c:4925 builtin/am.c:2286
+#: apply.c:4916 builtin/am.c:2286
 msgid "num"
 msgstr "数字"
 
-#: apply.c:4926
+#: apply.c:4917
 msgid "remove <num> leading slashes from traditional diff paths"
 msgstr "从传统的 diff 路径中移除指定数量的前导斜线"
 
-#: apply.c:4929
+#: apply.c:4920
 msgid "ignore additions made by the patch"
 msgstr "忽略补丁中的添加的文件"
 
-#: apply.c:4931
+#: apply.c:4922
 msgid "instead of applying the patch, output diffstat for the input"
 msgstr "不应用补丁，而是显示输入的差异统计（diffstat）"
 
-#: apply.c:4935
+#: apply.c:4926
 msgid "show number of added and deleted lines in decimal notation"
 msgstr "以十进制数显示添加和删除的行数"
 
-#: apply.c:4937
+#: apply.c:4928
 msgid "instead of applying the patch, output a summary for the input"
 msgstr "不应用补丁，而是显示输入的概要"
 
-#: apply.c:4939
+#: apply.c:4930
 msgid "instead of applying the patch, see if the patch is applicable"
 msgstr "不应用补丁，而是查看补丁是否可应用"
 
-#: apply.c:4941
+#: apply.c:4932
 msgid "make sure the patch is applicable to the current index"
 msgstr "确认补丁可以应用到当前索引"
 
-#: apply.c:4943
+#: apply.c:4934
 msgid "apply a patch without touching the working tree"
 msgstr "应用补丁而不修改工作区"
 
-#: apply.c:4945
+#: apply.c:4936
 msgid "accept a patch that touches outside the working area"
 msgstr "接受修改工作区之外文件的补丁"
 
-#: apply.c:4947
+#: apply.c:4938
 msgid "also apply the patch (use with --stat/--summary/--check)"
 msgstr "还应用此补丁（与 --stat/--summary/--check 选项同时使用）"
 
-#: apply.c:4949
+#: apply.c:4940
 msgid "attempt three-way merge if a patch does not apply"
 msgstr "如果一个补丁不能应用则尝试三方合并"
 
-#: apply.c:4951
+#: apply.c:4942
 msgid "build a temporary index based on embedded index information"
 msgstr "创建一个临时索引基于嵌入的索引信息"
 
-#: apply.c:4954 builtin/checkout-index.c:169 builtin/ls-files.c:505
+#: apply.c:4945 builtin/checkout-index.c:169 builtin/ls-files.c:507
 msgid "paths are separated with NUL character"
 msgstr "路径以 NUL 字符分隔"
 
-#: apply.c:4956
+#: apply.c:4947
 msgid "ensure at least <n> lines of context match"
 msgstr "确保至少匹配 <n> 行上下文"
 
-#: apply.c:4957 builtin/am.c:2265
+#: apply.c:4948 builtin/am.c:2265
 msgid "action"
 msgstr "动作"
 
-#: apply.c:4958
+#: apply.c:4949
 msgid "detect new or modified lines that have whitespace errors"
 msgstr "检查新增和修改的行中间的空白字符滥用"
 
-#: apply.c:4961 apply.c:4964
+#: apply.c:4952 apply.c:4955
 msgid "ignore changes in whitespace when finding context"
 msgstr "查找上下文时忽略空白字符的变更"
 
-#: apply.c:4967
+#: apply.c:4958
 msgid "apply the patch in reverse"
 msgstr "反向应用补丁"
 
-#: apply.c:4969
+#: apply.c:4960
 msgid "don't expect at least one line of context"
 msgstr "无需至少一行上下文"
 
-#: apply.c:4971
+#: apply.c:4962
 msgid "leave the rejected hunks in corresponding *.rej files"
 msgstr "将拒绝的补丁片段保存在对应的 *.rej 文件中"
 
-#: apply.c:4973
+#: apply.c:4964
 msgid "allow overlapping hunks"
 msgstr "允许重叠的补丁片段"
 
-#: apply.c:4974 builtin/add.c:267 builtin/check-ignore.c:19
-#: builtin/commit.c:1339 builtin/count-objects.c:94 builtin/fsck.c:593
-#: builtin/log.c:1860 builtin/mv.c:110 builtin/read-tree.c:114
+#: apply.c:4965 builtin/add.c:267 builtin/check-ignore.c:19
+#: builtin/commit.c:1337 builtin/count-objects.c:94 builtin/fsck.c:651
+#: builtin/log.c:1860 builtin/mv.c:122 builtin/read-tree.c:114
 msgid "be verbose"
 msgstr "冗长输出"
 
-#: apply.c:4976
+#: apply.c:4967
 msgid "tolerate incorrectly detected missing new-line at the end of file"
 msgstr "允许不正确的文件末尾换行符"
 
-#: apply.c:4979
+#: apply.c:4970
 msgid "do not trust the line counts in the hunk headers"
 msgstr "不信任补丁片段的头信息中的行号"
 
-#: apply.c:4981 builtin/am.c:2274
+#: apply.c:4972 builtin/am.c:2274
 msgid "root"
 msgstr "根目录"
 
-#: apply.c:4982
+#: apply.c:4973
 msgid "prepend <root> to all filenames"
 msgstr "为所有文件名前添加 <根目录>"
 
@@ -848,7 +849,7 @@
 msgid "git archive --remote <repo> [--exec <cmd>] --list"
 msgstr "git archive --remote <仓库> [--exec <命令>] --list"
 
-#: archive.c:344 builtin/add.c:152 builtin/add.c:442 builtin/rm.c:327
+#: archive.c:344 builtin/add.c:152 builtin/add.c:442 builtin/rm.c:300
 #, c-format
 msgid "pathspec '%s' did not match any files"
 msgstr "路径规格 '%s' 未匹配任何文件"
@@ -869,11 +870,11 @@
 msgid "prepend prefix to each pathname in the archive"
 msgstr "为归档中每个路径名加上前缀"
 
-#: archive.c:432 builtin/archive.c:88 builtin/blame.c:2603
-#: builtin/blame.c:2604 builtin/config.c:59 builtin/fast-export.c:987
-#: builtin/fast-export.c:989 builtin/grep.c:723 builtin/hash-object.c:101
-#: builtin/ls-files.c:539 builtin/ls-files.c:542 builtin/notes.c:401
-#: builtin/notes.c:564 builtin/read-tree.c:109 parse-options.h:153
+#: archive.c:432 builtin/blame.c:2607 builtin/blame.c:2608 builtin/config.c:59
+#: builtin/fast-export.c:987 builtin/fast-export.c:989 builtin/grep.c:1054
+#: builtin/hash-object.c:101 builtin/ls-files.c:541 builtin/ls-files.c:544
+#: builtin/notes.c:401 builtin/notes.c:564 builtin/read-tree.c:109
+#: parse-options.h:153
 msgid "file"
 msgstr "文件"
 
@@ -906,7 +907,7 @@
 msgstr "列出支持的归档格式"
 
 #: archive.c:451 builtin/archive.c:90 builtin/clone.c:85 builtin/clone.c:88
-#: builtin/submodule--helper.c:601 builtin/submodule--helper.c:953
+#: builtin/submodule--helper.c:603 builtin/submodule--helper.c:969
 msgid "repo"
 msgstr "仓库"
 
@@ -1002,7 +1003,7 @@
 #: bisect.c:750
 #, c-format
 msgid ""
-"Some %s revs are not ancestor of the %s rev.\n"
+"Some %s revs are not ancestors of the %s rev.\n"
 "git bisect cannot work properly in this case.\n"
 "Maybe you mistook %s and %s revs?\n"
 msgstr ""
@@ -1031,7 +1032,7 @@
 msgid "a %s revision is needed"
 msgstr "需要一个 %s 版本"
 
-#: bisect.c:866 builtin/notes.c:174 builtin/tag.c:248
+#: bisect.c:866 builtin/notes.c:174 builtin/tag.c:262
 #, c-format
 msgid "could not create file '%s'"
 msgstr "不能创建文件 '%s'"
@@ -1218,7 +1219,7 @@
 msgid "unrecognized header: %s%s (%d)"
 msgstr "未能识别的包头：%s%s (%d)"
 
-#: bundle.c:87 sequencer.c:963 builtin/commit.c:777
+#: bundle.c:87 sequencer.c:1331 sequencer.c:1752 builtin/commit.c:777
 #, c-format
 msgid "could not open '%s'"
 msgstr "不能打开 '%s'"
@@ -1227,10 +1228,10 @@
 msgid "Repository lacks these prerequisite commits:"
 msgstr "仓库中缺少这些必备的提交："
 
-#: bundle.c:163 ref-filter.c:1462 sequencer.c:830 sequencer.c:1374
-#: builtin/blame.c:2814 builtin/commit.c:1061 builtin/log.c:348
+#: bundle.c:163 ref-filter.c:1499 sequencer.c:1154 sequencer.c:2290
+#: builtin/blame.c:2820 builtin/commit.c:1061 builtin/log.c:348
 #: builtin/log.c:890 builtin/log.c:1340 builtin/log.c:1666 builtin/log.c:1909
-#: builtin/merge.c:356 builtin/shortlog.c:170
+#: builtin/merge.c:360 builtin/shortlog.c:177
 msgid "revision walk setup failed"
 msgstr "版本遍历设置失败"
 
@@ -1269,7 +1270,7 @@
 msgid "ref '%s' is excluded by the rev-list options"
 msgstr "引用 '%s' 被 rev-list 选项排除"
 
-#: bundle.c:443 builtin/log.c:165 builtin/log.c:1572 builtin/shortlog.c:273
+#: bundle.c:443 builtin/log.c:165 builtin/log.c:1572 builtin/shortlog.c:282
 #, c-format
 msgid "unrecognized argument: %s"
 msgstr "未能识别的参数：%s"
@@ -1287,13 +1288,13 @@
 msgid "index-pack died"
 msgstr "index-pack 终止"
 
-#: color.c:290
+#: color.c:300
 #, c-format
 msgid "invalid color value: %.*s"
 msgstr "无效的颜色值：%.*s"
 
-#: commit.c:40 builtin/am.c:421 builtin/am.c:457 builtin/am.c:1493
-#: builtin/am.c:2127
+#: commit.c:40 sequencer.c:1564 builtin/am.c:421 builtin/am.c:457
+#: builtin/am.c:1493 builtin/am.c:2127
 #, c-format
 msgid "could not parse %s"
 msgstr "不能解析 %s"
@@ -1309,138 +1310,148 @@
 "You may want to amend it after fixing the message, or set the config\n"
 "variable i18n.commitencoding to the encoding your project uses.\n"
 msgstr ""
-"警告：提交说明不符合 UTF-8 字符集。\n"
+"警告：提交说明不符合 UTF-8 字符编码。\n"
 "您可以通过修补提交来改正提交说明，或者将配置变量 i18n.commitencoding\n"
-"设置为您项目所用的字符集。\n"
+"设置为您项目所用的字符编码。\n"
 
 #: compat/obstack.c:406 compat/obstack.c:408
 msgid "memory exhausted"
 msgstr "内存耗尽"
 
-#: config.c:516
+#: config.c:518
 #, c-format
 msgid "bad config line %d in blob %s"
 msgstr "数据对象 %2$s 中错误的配置行 %1$d"
 
-#: config.c:520
+#: config.c:522
 #, c-format
 msgid "bad config line %d in file %s"
 msgstr "文件 %2$s 中错误的配置行 %1$d"
 
-#: config.c:524
+#: config.c:526
 #, c-format
 msgid "bad config line %d in standard input"
 msgstr "标准输入中错误的配置行 %d"
 
-#: config.c:528
+#: config.c:530
 #, c-format
 msgid "bad config line %d in submodule-blob %s"
 msgstr "子模组数据对象 %2$s 中错误的配置行 %1$d"
 
-#: config.c:532
+#: config.c:534
 #, c-format
 msgid "bad config line %d in command line %s"
 msgstr "命令行 %2$s 中错误的配置行 %1$d"
 
-#: config.c:536
+#: config.c:538
 #, c-format
 msgid "bad config line %d in %s"
 msgstr "在 %2$s 中错误的配置行 %1$d"
 
-#: config.c:655
+#: config.c:657
 msgid "out of range"
 msgstr "超出范围"
 
-#: config.c:655
+#: config.c:657
 msgid "invalid unit"
 msgstr "无效的单位"
 
-#: config.c:661
+#: config.c:663
 #, c-format
 msgid "bad numeric config value '%s' for '%s': %s"
 msgstr "配置变量 '%2$s' 的数字取值 '%1$s' 设置错误：%3$s"
 
-#: config.c:666
+#: config.c:668
 #, c-format
 msgid "bad numeric config value '%s' for '%s' in blob %s: %s"
 msgstr "数据对象 %3$s 中配置变量 '%2$s' 错误的取值 '%1$s'：%4$s"
 
-#: config.c:669
+#: config.c:671
 #, c-format
 msgid "bad numeric config value '%s' for '%s' in file %s: %s"
 msgstr "文件 %3$s 中配置变量 '%2$s' 错误的取值 '%1$s'：%4$s"
 
-#: config.c:672
+#: config.c:674
 #, c-format
 msgid "bad numeric config value '%s' for '%s' in standard input: %s"
 msgstr "标准输入中配置变量 '%2$s' 错误的取值 '%1$s'：%3$s"
 
-#: config.c:675
+#: config.c:677
 #, c-format
 msgid "bad numeric config value '%s' for '%s' in submodule-blob %s: %s"
 msgstr "子模组数据 %3$s 中配置变量 '%2$s' 错误的取值 '%1$s'：%4$s"
 
-#: config.c:678
+#: config.c:680
 #, c-format
 msgid "bad numeric config value '%s' for '%s' in command line %s: %s"
 msgstr "命令行 %3$s 中配置变量 '%2$s' 错误的取值 '%1$s'：%4$s"
 
-#: config.c:681
+#: config.c:683
 #, c-format
 msgid "bad numeric config value '%s' for '%s' in %s: %s"
 msgstr "在 %3$s 中配置变量 '%2$s' 错误的取值 '%1$s'：%4$s"
 
-#: config.c:768
+#: config.c:770
 #, c-format
 msgid "failed to expand user dir in: '%s'"
 msgstr "无法扩展 '%s' 中的用户目录"
 
-#: config.c:852 config.c:863
+#: config.c:865 config.c:876
 #, c-format
 msgid "bad zlib compression level %d"
 msgstr "错误的 zlib 压缩级别 %d"
 
-#: config.c:978
+#: config.c:993
 #, c-format
 msgid "invalid mode for object creation: %s"
 msgstr "无效的对象创建模式：%s"
 
-#: config.c:1312
+#: config.c:1149
+#, c-format
+msgid "bad pack compression level %d"
+msgstr "错误的打包压缩级别 %d"
+
+#: config.c:1339
 msgid "unable to parse command-line config"
 msgstr "无法解析命令行中的配置"
 
-#: config.c:1362
+#: config.c:1389
 msgid "unknown error occurred while reading the configuration files"
 msgstr "在读取配置文件时遇到未知错误"
 
-#: config.c:1716
+#: config.c:1743
 #, c-format
 msgid "unable to parse '%s' from command-line config"
 msgstr "无法解析命令行配置中的 '%s'"
 
-#: config.c:1718
+#: config.c:1745
 #, c-format
 msgid "bad config variable '%s' in file '%s' at line %d"
 msgstr "在文件 '%2$s' 的第 %3$d 行发现错误的配置变量 '%1$s'"
 
-#: config.c:1777
+#: config.c:1804
 #, c-format
 msgid "%s has multiple values"
 msgstr "%s 有多个取值"
 
-#: config.c:2311
+#: config.c:2225 config.c:2450
+#, c-format
+msgid "fstat on %s failed"
+msgstr "在 %s 上执行 fstat 失败"
+
+#: config.c:2343
 #, c-format
 msgid "could not set '%s' to '%s'"
 msgstr "不能设置 '%s' 为 '%s'"
 
-#: config.c:2313
+#: config.c:2345
 #, c-format
 msgid "could not unset '%s'"
 msgstr "不能取消设置 '%s'"
 
 #: connect.c:49
 msgid "The remote end hung up upon initial contact"
-msgstr "远端在初始连接时即挂断"
+msgstr "远端在连接发起时即挂断"
 
 #: connect.c:51
 msgid ""
@@ -1453,7 +1464,7 @@
 "\n"
 "请确认您有正确的访问权限并且仓库存在。"
 
-#: connected.c:63 builtin/fsck.c:173 builtin/prune.c:140
+#: connected.c:63 builtin/fsck.c:190 builtin/prune.c:140
 msgid "Checking connectivity"
 msgstr "检查连接中"
 
@@ -1591,12 +1602,12 @@
 msgid "  Unknown dirstat parameter '%s'\n"
 msgstr "  未知的 dirstat 参数 '%s'\n"
 
-#: diff.c:283
+#: diff.c:281
 #, c-format
 msgid "Unknown value for 'diff.submodule' config variable: '%s'"
 msgstr "配置变量 'diff.submodule' 未知的取值：'%s'"
 
-#: diff.c:346
+#: diff.c:344
 #, c-format
 msgid ""
 "Found errors in 'diff.dirstat' config variable:\n"
@@ -1605,20 +1616,20 @@
 "发现配置变量 'diff.dirstat' 中的错误：\n"
 "%s"
 
-#: diff.c:3087
+#: diff.c:3085
 #, c-format
 msgid "external diff died, stopping at %s"
 msgstr "外部 diff 退出，停止在 %s"
 
-#: diff.c:3412
+#: diff.c:3411
 msgid "--name-only, --name-status, --check and -s are mutually exclusive"
 msgstr "--name-only、--name-status、--check 和 -s 是互斥的"
 
-#: diff.c:3502
+#: diff.c:3501
 msgid "--follow requires exactly one pathspec"
 msgstr "--follow 明确要求只跟一个路径规格"
 
-#: diff.c:3665
+#: diff.c:3664
 #, c-format
 msgid ""
 "Failed to parse --dirstat/-X option parameter:\n"
@@ -1627,33 +1638,38 @@
 "无法解析 --dirstat/-X 选项的参数：\n"
 "%s"
 
-#: diff.c:3679
+#: diff.c:3678
 #, c-format
 msgid "Failed to parse --submodule option parameter: '%s'"
 msgstr "无法解析 --submodule 选项的参数：'%s'"
 
-#: diff.c:4700
+#: diff.c:4696
 msgid "inexact rename detection was skipped due to too many files."
 msgstr "因为文件太多，略过不严格的重命名检查。"
 
-#: diff.c:4703
+#: diff.c:4699
 msgid "only found copies from modified paths due to too many files."
 msgstr "因为文件太多，只在修改的路径中查找拷贝。"
 
-#: diff.c:4706
+#: diff.c:4702
 #, c-format
 msgid ""
 "you may want to set your %s variable to at least %d and retry the command."
-msgstr "您可能想要将您的 %s 变量至少设置为 %d 并重复此命令。"
+msgstr "您可能想要将变量 %s 设置为至少 %d 并再次执行此命令。"
 
-#: dir.c:1866
+#: dir.c:1862
 msgid "failed to get kernel name and information"
 msgstr "无法获得内核名称和信息"
 
-#: dir.c:1985
+#: dir.c:1981
 msgid "Untracked cache is disabled on this system or location."
 msgstr "缓存未跟踪文件在本系统或位置中被禁用。"
 
+#: dir.c:2759
+#, c-format
+msgid "could not migrate git directory from '%s' to '%s'"
+msgstr "不能从 '%s' 迁移 git 目录到 '%s'"
+
 #: fetch-pack.c:213
 msgid "git fetch-pack: expected shallow list"
 msgstr "git fetch-pack：应为 shallow 列表"
@@ -1732,7 +1748,7 @@
 #: fetch-pack.c:697
 #, c-format
 msgid "already have %s (%s)"
-msgstr "已经有 %s (%s)"
+msgstr "已经有 %s（%s）"
 
 #: fetch-pack.c:735
 msgid "fetch-pack: unable to fork off sideband demultiplexer"
@@ -1834,35 +1850,40 @@
 msgid "failed writing detached signature to '%s'"
 msgstr "无法将分离式签名写入 '%s'"
 
-#: grep.c:1782
+#: graph.c:96
+#, c-format
+msgid "ignore invalid color '%.*s' in log.graphColors"
+msgstr "忽略 log.graphColors 中无效的颜色 '%.*s'"
+
+#: grep.c:1794
 #, c-format
 msgid "'%s': unable to read %s"
 msgstr "'%s'：无法读取 %s"
 
-#: grep.c:1799 builtin/clone.c:381 builtin/diff.c:84 builtin/rm.c:155
+#: grep.c:1811 builtin/clone.c:381 builtin/diff.c:81 builtin/rm.c:133
 #, c-format
 msgid "failed to stat '%s'"
 msgstr "无法枚举 '%s' 状态"
 
-#: grep.c:1810
+#: grep.c:1822
 #, c-format
 msgid "'%s': short read"
 msgstr "'%s'：读取不完整"
 
-#: help.c:203
+#: help.c:218
 #, c-format
 msgid "available git commands in '%s'"
 msgstr "在 '%s' 下可用的 git 命令"
 
-#: help.c:210
+#: help.c:225
 msgid "git commands available from elsewhere on your $PATH"
 msgstr "在 $PATH 路径中的其他地方可用的 git 命令"
 
-#: help.c:241
+#: help.c:256
 msgid "These are common Git commands used in various situations:"
 msgstr "这些是各种场合常见的 Git 命令："
 
-#: help.c:306
+#: help.c:321
 #, c-format
 msgid ""
 "'%s' appears to be a git command, but we were not\n"
@@ -1871,11 +1892,11 @@
 "'%s' 像是一个 git 命令，但却无法运行。\n"
 "可能是 git-%s 受损？"
 
-#: help.c:361
+#: help.c:376
 msgid "Uh oh. Your system reports no Git commands at all."
 msgstr "唉呀，您的系统中未发现 Git 命令。"
 
-#: help.c:383
+#: help.c:398
 #, c-format
 msgid ""
 "WARNING: You called a Git command named '%s', which does not exist.\n"
@@ -1884,17 +1905,17 @@
 "警告：您运行一个不存在的 Git 命令 '%s'。继续执行假定您要运行的\n"
 "是 '%s'"
 
-#: help.c:388
+#: help.c:403
 #, c-format
 msgid "in %0.1f seconds automatically..."
 msgstr "在 %0.1f 秒钟后自动运行..."
 
-#: help.c:395
+#: help.c:410
 #, c-format
 msgid "git: '%s' is not a git command. See 'git --help'."
 msgstr "git：'%s' 不是一个 git 命令。参见 'git --help'。"
 
-#: help.c:399 help.c:465
+#: help.c:414 help.c:480
 msgid ""
 "\n"
 "Did you mean this?"
@@ -1908,7 +1929,7 @@
 "\n"
 "您指的是这其中的某一个么？"
 
-#: help.c:461
+#: help.c:476
 #, c-format
 msgid "%s: %s - %s"
 msgstr "%s：%s - %s"
@@ -1974,69 +1995,69 @@
 msgid "(bad commit)\n"
 msgstr "（坏提交）\n"
 
-#: merge-recursive.c:231
+#: merge-recursive.c:231 merge-recursive.c:239
 #, c-format
 msgid "addinfo_cache failed for path '%s'"
 msgstr "为路径 '%s' addinfo_cache 失败"
 
-#: merge-recursive.c:301
+#: merge-recursive.c:303
 msgid "error building trees"
 msgstr "无法创建树"
 
-#: merge-recursive.c:720
+#: merge-recursive.c:727
 #, c-format
 msgid "failed to create path '%s'%s"
 msgstr "无法创建路径 '%s'%s"
 
-#: merge-recursive.c:731
+#: merge-recursive.c:738
 #, c-format
 msgid "Removing %s to make room for subdirectory\n"
 msgstr "删除 %s 以便为子目录留出空间\n"
 
-#: merge-recursive.c:745 merge-recursive.c:764
+#: merge-recursive.c:752 merge-recursive.c:771
 msgid ": perhaps a D/F conflict?"
 msgstr "：可能是一个目录/文件冲突？"
 
-#: merge-recursive.c:754
+#: merge-recursive.c:761
 #, c-format
 msgid "refusing to lose untracked file at '%s'"
 msgstr "拒绝丢弃 '%s' 中的未跟踪文件"
 
-#: merge-recursive.c:796 builtin/cat-file.c:34
+#: merge-recursive.c:803 builtin/cat-file.c:34
 #, c-format
 msgid "cannot read object %s '%s'"
 msgstr "不能读取对象 %s '%s'"
 
-#: merge-recursive.c:798
+#: merge-recursive.c:805
 #, c-format
 msgid "blob expected for %s '%s'"
 msgstr "%s '%s' 应为数据对象"
 
-#: merge-recursive.c:822
+#: merge-recursive.c:829
 #, c-format
 msgid "failed to open '%s': %s"
 msgstr "无法打开 '%s'：%s"
 
-#: merge-recursive.c:833
+#: merge-recursive.c:840
 #, c-format
 msgid "failed to symlink '%s': %s"
 msgstr "无法创建符号链接 '%s'：%s"
 
-#: merge-recursive.c:838
+#: merge-recursive.c:845
 #, c-format
 msgid "do not know what to do with %06o %s '%s'"
 msgstr "不知道如何处理 %06o %s '%s'"
 
-#: merge-recursive.c:978
+#: merge-recursive.c:985
 msgid "Failed to execute internal merge"
 msgstr "无法执行内部合并"
 
-#: merge-recursive.c:982
+#: merge-recursive.c:989
 #, c-format
 msgid "Unable to add %s to database"
 msgstr "不能添加 %s 至对象库"
 
-#: merge-recursive.c:1081 merge-recursive.c:1095
+#: merge-recursive.c:1088 merge-recursive.c:1102
 #, c-format
 msgid ""
 "CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left "
@@ -2045,7 +2066,7 @@
 "冲突（%1$s/删除）：%2$s 在 %3$s 中被删除，在 %5$s 中被 %4$s。%7$s 在 %6$s 中"
 "的版本被保留。"
 
-#: merge-recursive.c:1087 merge-recursive.c:1100
+#: merge-recursive.c:1094 merge-recursive.c:1107
 #, c-format
 msgid ""
 "CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left "
@@ -2054,20 +2075,20 @@
 "冲突（%1$s/删除）：%2$s 在 %3$s 中被删除，在 %5$s 中被 %4$s。%7$s 在 %6$s 中"
 "的版本保留于 %8$s 中。"
 
-#: merge-recursive.c:1143
+#: merge-recursive.c:1150
 msgid "rename"
 msgstr "重命名"
 
-#: merge-recursive.c:1143
+#: merge-recursive.c:1150
 msgid "renamed"
 msgstr "重命名"
 
-#: merge-recursive.c:1200
+#: merge-recursive.c:1207
 #, c-format
 msgid "%s is a directory in %s adding as %s instead"
 msgstr "%s 是 %s 中的一个目录而以 %s 为名被添加"
 
-#: merge-recursive.c:1225
+#: merge-recursive.c:1232
 #, c-format
 msgid ""
 "CONFLICT (rename/rename): Rename \"%s\"->\"%s\" in branch \"%s\" rename \"%s"
@@ -2076,135 +2097,135 @@
 "冲突（重命名/重命名）：在分支 \"%3$s\" 中重命名 \"%1$s\"->\"%2$s\"，在分支 "
 "\"%6$s\" 中重命名 \"%4$s\"->\"%5$s\"%7$s"
 
-#: merge-recursive.c:1230
+#: merge-recursive.c:1237
 msgid " (left unresolved)"
 msgstr "（留下未解决）"
 
-#: merge-recursive.c:1292
+#: merge-recursive.c:1299
 #, c-format
 msgid "CONFLICT (rename/rename): Rename %s->%s in %s. Rename %s->%s in %s"
 msgstr ""
 "冲突（重命名/重命名）：在 %3$s 中重命名 %1$s->%2$s，在 %6$s 中重命名 %4$s->"
 "%5$s"
 
-#: merge-recursive.c:1325
+#: merge-recursive.c:1332
 #, c-format
 msgid "Renaming %s to %s and %s to %s instead"
 msgstr "而是重命名 %s 至 %s，以及 %s 至 %s"
 
-#: merge-recursive.c:1531
+#: merge-recursive.c:1535
 #, c-format
 msgid "CONFLICT (rename/add): Rename %s->%s in %s. %s added in %s"
 msgstr "冲突（重命名/添加）：在 %3$s 中重命名 %1$s->%2$s。在 %5$s 中添加 %4$s"
 
-#: merge-recursive.c:1546
+#: merge-recursive.c:1550
 #, c-format
 msgid "Adding merged %s"
 msgstr "添加合并后的 %s"
 
-#: merge-recursive.c:1553 merge-recursive.c:1766
+#: merge-recursive.c:1557 merge-recursive.c:1771
 #, c-format
 msgid "Adding as %s instead"
 msgstr "而是以 %s 为名添加"
 
-#: merge-recursive.c:1610
+#: merge-recursive.c:1614
 #, c-format
 msgid "cannot read object %s"
 msgstr "不能读取对象 %s"
 
-#: merge-recursive.c:1613
+#: merge-recursive.c:1617
 #, c-format
 msgid "object %s is not a blob"
 msgstr "对象 %s 不是一个数据对象"
 
-#: merge-recursive.c:1666
+#: merge-recursive.c:1670
 msgid "modify"
 msgstr "修改"
 
-#: merge-recursive.c:1666
+#: merge-recursive.c:1670
 msgid "modified"
 msgstr "修改"
 
-#: merge-recursive.c:1676
+#: merge-recursive.c:1680
 msgid "content"
 msgstr "内容"
 
-#: merge-recursive.c:1683
+#: merge-recursive.c:1687
 msgid "add/add"
 msgstr "添加/添加"
 
-#: merge-recursive.c:1718
+#: merge-recursive.c:1723
 #, c-format
 msgid "Skipped %s (merged same as existing)"
 msgstr "略过 %s（已经做过相同合并）"
 
-#: merge-recursive.c:1732
+#: merge-recursive.c:1737
 #, c-format
 msgid "Auto-merging %s"
 msgstr "自动合并 %s"
 
-#: merge-recursive.c:1736 git-submodule.sh:924
+#: merge-recursive.c:1741 git-submodule.sh:930
 msgid "submodule"
 msgstr "子模组"
 
-#: merge-recursive.c:1737
+#: merge-recursive.c:1742
 #, c-format
 msgid "CONFLICT (%s): Merge conflict in %s"
 msgstr "冲突（%s）：合并冲突于 %s"
 
-#: merge-recursive.c:1831
+#: merge-recursive.c:1836
 #, c-format
 msgid "Removing %s"
 msgstr "删除 %s"
 
-#: merge-recursive.c:1857
+#: merge-recursive.c:1862
 msgid "file/directory"
 msgstr "文件/目录"
 
-#: merge-recursive.c:1863
+#: merge-recursive.c:1868
 msgid "directory/file"
 msgstr "目录/文件"
 
-#: merge-recursive.c:1868
+#: merge-recursive.c:1874
 #, c-format
 msgid "CONFLICT (%s): There is a directory with name %s in %s. Adding %s as %s"
 msgstr "冲突（%1$s）：在 %3$s 中有一个名为 %2$s 的目录。以 %5$s 为名添加 %4$s"
 
-#: merge-recursive.c:1877
+#: merge-recursive.c:1883
 #, c-format
 msgid "Adding %s"
 msgstr "添加 %s"
 
-#: merge-recursive.c:1914
+#: merge-recursive.c:1920
 msgid "Already up-to-date!"
 msgstr "已经是最新的！"
 
-#: merge-recursive.c:1923
+#: merge-recursive.c:1929
 #, c-format
 msgid "merging of trees %s and %s failed"
 msgstr "无法合并树 %s 和 %s"
 
-#: merge-recursive.c:2006
+#: merge-recursive.c:2012
 msgid "Merging:"
 msgstr "合并："
 
-#: merge-recursive.c:2019
+#: merge-recursive.c:2025
 #, c-format
 msgid "found %u common ancestor:"
 msgid_plural "found %u common ancestors:"
 msgstr[0] "发现 %u 个共同祖先："
 msgstr[1] "发现 %u 个共同祖先："
 
-#: merge-recursive.c:2058
+#: merge-recursive.c:2064
 msgid "merge returned no commit"
 msgstr "合并未返回提交"
 
-#: merge-recursive.c:2121
+#: merge-recursive.c:2127
 #, c-format
 msgid "Could not parse object '%s'"
 msgstr "不能解析对象 '%s'"
 
-#: merge-recursive.c:2135 builtin/merge.c:641 builtin/merge.c:788
+#: merge-recursive.c:2141 builtin/merge.c:645 builtin/merge.c:792
 msgid "Unable to write index."
 msgstr "不能写入索引。"
 
@@ -2215,8 +2236,8 @@
 "Please, use 'git notes merge --commit' or 'git notes merge --abort' to "
 "commit/abort the previous merge before you start a new notes merge."
 msgstr ""
-"您尚未结束您前一次注释合并（存在 %s）。\n"
-"请您在开始一个新的注释合并之前，使用 'git notes merge --commit' 或者 'git "
+"您的前一次注释合并尚未结束（存在 %s）。\n"
+"在开始一个新的注释合并之前，请使用 'git notes merge --commit' 或者 'git "
 "notes merge --abort' 来提交/终止前一次合并。"
 
 #: notes-merge.c:280
@@ -2245,7 +2266,7 @@
 msgid "Bad %s value: '%s'"
 msgstr "坏的 %s 值：'%s'"
 
-#: object.c:242
+#: object.c:240
 #, c-format
 msgid "unable to parse object: %s"
 msgstr "不能解析对象：%s"
@@ -2286,69 +2307,74 @@
 msgid "Could not make %s writable by group"
 msgstr "不能设置 %s 为组可写"
 
-#: pathspec.c:133
+#: pathspec.c:142
 msgid "global 'glob' and 'noglob' pathspec settings are incompatible"
 msgstr "全局的 'glob' 和 'noglob' 路径规格设置不兼容"
 
-#: pathspec.c:143
+#: pathspec.c:149
 msgid ""
 "global 'literal' pathspec setting is incompatible with all other global "
 "pathspec settings"
 msgstr "全局的 'literal' 路径规格设置和其它的全局路径规格设置不兼容"
 
-#: pathspec.c:177
+#: pathspec.c:188
 msgid "invalid parameter for pathspec magic 'prefix'"
 msgstr "路径规格包含无效的神奇前缀"
 
-#: pathspec.c:183
+#: pathspec.c:201
 #, c-format
 msgid "Invalid pathspec magic '%.*s' in '%s'"
 msgstr "在路径规格 '%3$s' 中无效的神奇前缀 '%2$.*1$s'"
 
-#: pathspec.c:187
+#: pathspec.c:206
 #, c-format
 msgid "Missing ')' at the end of pathspec magic in '%s'"
 msgstr "路径规格 '%s' 的神奇前缀结尾少了一个 ')'"
 
-#: pathspec.c:205
+#: pathspec.c:238
 #, c-format
 msgid "Unimplemented pathspec magic '%c' in '%s'"
 msgstr "路径规格 '%2$s' 中包含未实现的神奇前缀 '%1$c'"
 
-#: pathspec.c:230
-#, c-format
-msgid "%s: 'literal' and 'glob' are incompatible"
-msgstr "%s：'literal' 和 'glob' 不兼容"
-
-#: pathspec.c:241
-#, c-format
-msgid "%s: '%s' is outside repository"
-msgstr "%s：'%s' 在仓库之外"
-
-#: pathspec.c:291
+#: pathspec.c:293 pathspec.c:315
 #, c-format
 msgid "Pathspec '%s' is in submodule '%.*s'"
 msgstr "路径规格 '%s' 在子模组 '%.*s' 中"
 
-#: pathspec.c:353
+#: pathspec.c:350
+#, c-format
+msgid "%s: 'literal' and 'glob' are incompatible"
+msgstr "%s：'literal' 和 'glob' 不兼容"
+
+#: pathspec.c:363
+#, c-format
+msgid "%s: '%s' is outside repository"
+msgstr "%s：'%s' 在仓库之外"
+
+#: pathspec.c:451
+#, c-format
+msgid "'%s' (mnemonic: '%c')"
+msgstr "'%s'（助记符：'%c'）"
+
+#: pathspec.c:461
 #, c-format
 msgid "%s: pathspec magic not supported by this command: %s"
 msgstr "%s：路径规格神奇前缀不被此命令支持：%s"
 
-#: pathspec.c:408
+#: pathspec.c:511
 msgid ""
 "empty strings as pathspecs will be made invalid in upcoming releases. please "
 "use . instead if you meant to match all paths"
 msgstr ""
-"在即将到来的版本，不能再使用空字符串作为路径表达式。如果要匹配所有路径，\n"
+"在下一个版本中，使用空字符串作为路径规格将被视作非法。如果要匹配所有路径，\n"
 "请代之以 ."
 
-#: pathspec.c:440
+#: pathspec.c:535
 #, c-format
 msgid "pathspec '%s' is beyond a symbolic link"
 msgstr "路径规格 '%s' 位于符号链接中"
 
-#: pathspec.c:449
+#: pathspec.c:544
 msgid ""
 "There is nothing to exclude from by :(exclude) patterns.\n"
 "Perhaps you forgot to add either ':/' or '.' ?"
@@ -2356,11 +2382,11 @@
 "没有为 :(exclude) 模式提供要忽略的内容。也许您忘记了\n"
 "添加 ':/' 或 '.' ？"
 
-#: pretty.c:971
+#: pretty.c:982
 msgid "unable to parse --pretty format"
 msgstr "不能解析 --pretty 格式"
 
-#: read-cache.c:1315
+#: read-cache.c:1307
 #, c-format
 msgid ""
 "index.version set, but the value is invalid.\n"
@@ -2369,7 +2395,7 @@
 "设置了 index.version，但是取值无效。\n"
 "使用版本 %i"
 
-#: read-cache.c:1325
+#: read-cache.c:1317
 #, c-format
 msgid ""
 "GIT_INDEX_VERSION set, but the value is invalid.\n"
@@ -2378,7 +2404,7 @@
 "设置了 GIT_INDEX_VERSION，但是取值无效。\n"
 "使用版本 %i"
 
-#: refs.c:576 builtin/merge.c:840
+#: refs.c:576 builtin/merge.c:844
 #, c-format
 msgid "Could not open '%s' for writing"
 msgstr "无法打开 '%s' 进行写入"
@@ -2398,227 +2424,232 @@
 msgid "could not remove reference %s"
 msgstr "无法删除引用 %s"
 
-#: ref-filter.c:55
+#: ref-filter.c:56
 #, c-format
 msgid "expected format: %%(color:<color>)"
 msgstr "期望的格式：%%(color:<color>)"
 
-#: ref-filter.c:57
+#: ref-filter.c:58
 #, c-format
 msgid "unrecognized color: %%(color:%s)"
 msgstr "未能识别的颜色：%%(color:%s)"
 
-#: ref-filter.c:71
+#: ref-filter.c:72
 #, c-format
 msgid "unrecognized format: %%(%s)"
 msgstr "未能识别的格式：%%(%s)"
 
-#: ref-filter.c:77
+#: ref-filter.c:78
 #, c-format
 msgid "%%(body) does not take arguments"
 msgstr "%%(body) 不带参数"
 
-#: ref-filter.c:84
+#: ref-filter.c:85
 #, c-format
 msgid "%%(subject) does not take arguments"
 msgstr "%%(subject) 不带参数"
 
-#: ref-filter.c:101
+#: ref-filter.c:92
+#, c-format
+msgid "%%(trailers) does not take arguments"
+msgstr "%%(trailers) 不带参数"
+
+#: ref-filter.c:111
 #, c-format
 msgid "positive value expected contents:lines=%s"
 msgstr "要为 contents:lines=%s 提供一个正数"
 
-#: ref-filter.c:103
+#: ref-filter.c:113
 #, c-format
 msgid "unrecognized %%(contents) argument: %s"
 msgstr "未能识别的 %%(contents) 参数：%s"
 
-#: ref-filter.c:113
+#: ref-filter.c:123
 #, c-format
 msgid "unrecognized %%(objectname) argument: %s"
 msgstr "未能识别的 %%(objectname) 参数：%s"
 
-#: ref-filter.c:135
+#: ref-filter.c:145
 #, c-format
 msgid "expected format: %%(align:<width>,<position>)"
 msgstr "期望的格式：%%(align:<width>,<position>)"
 
-#: ref-filter.c:147
+#: ref-filter.c:157
 #, c-format
 msgid "unrecognized position:%s"
 msgstr "未能识别的位置：%s"
 
-#: ref-filter.c:151
+#: ref-filter.c:161
 #, c-format
 msgid "unrecognized width:%s"
 msgstr "未能识别的宽度：%s"
 
-#: ref-filter.c:157
+#: ref-filter.c:167
 #, c-format
 msgid "unrecognized %%(align) argument: %s"
 msgstr "未能识别的 %%(align) 参数：%s"
 
-#: ref-filter.c:161
+#: ref-filter.c:171
 #, c-format
 msgid "positive width expected with the %%(align) atom"
 msgstr "元素 %%(align) 需要一个正数的宽度"
 
-#: ref-filter.c:244
+#: ref-filter.c:255
 #, c-format
 msgid "malformed field name: %.*s"
 msgstr "非法的字段名：%.*s"
 
-#: ref-filter.c:270
+#: ref-filter.c:281
 #, c-format
 msgid "unknown field name: %.*s"
 msgstr "未知的字段名：%.*s"
 
-#: ref-filter.c:372
+#: ref-filter.c:383
 #, c-format
 msgid "format: %%(end) atom used without corresponding atom"
 msgstr "格式：使用了 %%(end) 元素却没有它的对应元素"
 
-#: ref-filter.c:424
+#: ref-filter.c:435
 #, c-format
 msgid "malformed format string %s"
 msgstr "非法的格式化字符串 %s"
 
-#: ref-filter.c:878
+#: ref-filter.c:898
 msgid ":strip= requires a positive integer argument"
 msgstr ":strip= 需要一个正整型参数"
 
-#: ref-filter.c:883
+#: ref-filter.c:903
 #, c-format
 msgid "ref '%s' does not have %ld components to :strip"
 msgstr "引用 '%s' 未提供用于 :strip 的 %ld 个组件"
 
-#: ref-filter.c:1046
+#: ref-filter.c:1066
 #, c-format
 msgid "unknown %.*s format %s"
 msgstr "未知的 %.*s 格式 %s"
 
-#: ref-filter.c:1066 ref-filter.c:1097
+#: ref-filter.c:1086 ref-filter.c:1117
 #, c-format
 msgid "missing object %s for %s"
 msgstr "缺失 %2$s 的对象 %1$s"
 
-#: ref-filter.c:1069 ref-filter.c:1100
+#: ref-filter.c:1089 ref-filter.c:1120
 #, c-format
 msgid "parse_object_buffer failed on %s for %s"
 msgstr "parse_object_buffer 失败于 %2$s 的 %1$s"
 
-#: ref-filter.c:1311
+#: ref-filter.c:1343
 #, c-format
 msgid "malformed object at '%s'"
 msgstr "非法的对象于 '%s'"
 
-#: ref-filter.c:1373
+#: ref-filter.c:1410
 #, c-format
 msgid "ignoring ref with broken name %s"
 msgstr "忽略带有错误名称 %s 的引用"
 
-#: ref-filter.c:1378
+#: ref-filter.c:1415
 #, c-format
 msgid "ignoring broken ref %s"
 msgstr "忽略损坏的引用 %s"
 
-#: ref-filter.c:1633
+#: ref-filter.c:1670
 #, c-format
 msgid "format: %%(end) atom missing"
 msgstr "格式：缺少 %%(end) 元素"
 
-#: ref-filter.c:1687
+#: ref-filter.c:1734
 #, c-format
 msgid "malformed object name %s"
 msgstr "非法的对象名 %s"
 
-#: remote.c:746
+#: remote.c:754
 #, c-format
 msgid "Cannot fetch both %s and %s to %s"
 msgstr "不能同时获取 %s 和 %s 至 %s"
 
-#: remote.c:750
+#: remote.c:758
 #, c-format
 msgid "%s usually tracks %s, not %s"
 msgstr "%s 通常跟踪 %s，而非 %s"
 
-#: remote.c:754
+#: remote.c:762
 #, c-format
 msgid "%s tracks both %s and %s"
 msgstr "%s 同时跟踪 %s 和 %s"
 
-#: remote.c:762
+#: remote.c:770
 msgid "Internal error"
 msgstr "内部错误"
 
-#: remote.c:1677 remote.c:1720
+#: remote.c:1685 remote.c:1787
 msgid "HEAD does not point to a branch"
 msgstr "HEAD 没有指向一个分支"
 
-#: remote.c:1686
+#: remote.c:1694
 #, c-format
 msgid "no such branch: '%s'"
 msgstr "没有此分支：'%s'"
 
-#: remote.c:1689
+#: remote.c:1697
 #, c-format
 msgid "no upstream configured for branch '%s'"
 msgstr "尚未给分支 '%s' 设置上游"
 
-#: remote.c:1695
+#: remote.c:1703
 #, c-format
 msgid "upstream branch '%s' not stored as a remote-tracking branch"
 msgstr "上游分支 '%s' 没有存储为一个远程跟踪分支"
 
-#: remote.c:1710
+#: remote.c:1718
 #, c-format
 msgid "push destination '%s' on remote '%s' has no local tracking branch"
 msgstr "推送目标 '%s' 至远程 '%s' 没有本地跟踪分支"
 
-#: remote.c:1725
+#: remote.c:1730
 #, c-format
 msgid "branch '%s' has no remote for pushing"
 msgstr "分支 '%s' 没有设置要推送的远程服务器"
 
-#: remote.c:1736
+#: remote.c:1741
 #, c-format
 msgid "push refspecs for '%s' do not include '%s'"
 msgstr "向 '%s' 推送引用规格未包含 '%s'"
 
-#: remote.c:1749
+#: remote.c:1754
 msgid "push has no destination (push.default is 'nothing')"
 msgstr "推送无目标（push.default 是 'nothing'）"
 
-#: remote.c:1771
+#: remote.c:1776
 msgid "cannot resolve 'simple' push to a single destination"
 msgstr "无法解析 'simple' 推送至一个单独的目标"
 
-#: remote.c:2073
+#: remote.c:2081
 #, c-format
 msgid "Your branch is based on '%s', but the upstream is gone.\n"
 msgstr "您的分支基于 '%s'，但此上游分支已经不存在。\n"
 
-#: remote.c:2077
+#: remote.c:2085
 msgid "  (use \"git branch --unset-upstream\" to fixup)\n"
 msgstr "  （使用 \"git branch --unset-upstream\" 来修复）\n"
 
-#: remote.c:2080
+#: remote.c:2088
 #, c-format
 msgid "Your branch is up-to-date with '%s'.\n"
 msgstr "您的分支与上游分支 '%s' 一致。\n"
 
-#: remote.c:2084
+#: remote.c:2092
 #, c-format
 msgid "Your branch is ahead of '%s' by %d commit.\n"
 msgid_plural "Your branch is ahead of '%s' by %d commits.\n"
 msgstr[0] "您的分支领先 '%s' 共 %d 个提交。\n"
 msgstr[1] "您的分支领先 '%s' 共 %d 个提交。\n"
 
-#: remote.c:2090
+#: remote.c:2098
 msgid "  (use \"git push\" to publish your local commits)\n"
 msgstr "  （使用 \"git push\" 来发布您的本地提交）\n"
 
-#: remote.c:2093
+#: remote.c:2101
 #, c-format
 msgid "Your branch is behind '%s' by %d commit, and can be fast-forwarded.\n"
 msgid_plural ""
@@ -2627,11 +2658,11 @@
 msgstr[1] "您的分支落后 '%s' 共 %d 个提交，并且可以快进。\n"
 
 #  译者：注意保持前导空格
-#: remote.c:2101
+#: remote.c:2109
 msgid "  (use \"git pull\" to update your local branch)\n"
 msgstr "  （使用 \"git pull\" 来更新您的本地分支）\n"
 
-#: remote.c:2104
+#: remote.c:2112
 #, c-format
 msgid ""
 "Your branch and '%s' have diverged,\n"
@@ -2647,7 +2678,7 @@
 "并且分别有 %d 和 %d 处不同的提交。\n"
 
 #  译者：注意保持前导空格
-#: remote.c:2114
+#: remote.c:2122
 msgid "  (use \"git pull\" to merge the remote branch into yours)\n"
 msgstr "  （使用 \"git pull\" 来合并远程分支）\n"
 
@@ -2664,11 +2695,11 @@
 msgid "--first-parent is incompatible with --bisect"
 msgstr "--first-parent 与 --bisect 不兼容"
 
-#: run-command.c:106
+#: run-command.c:125
 msgid "open /dev/null failed"
 msgstr "不能打开 /dev/null"
 
-#: run-command.c:108
+#: run-command.c:127
 #, c-format
 msgid "dup2(%d,%d) failed"
 msgstr "不能调用 dup2(%d,%d)"
@@ -2695,15 +2726,24 @@
 msgid "the receiving end does not support push options"
 msgstr "接收端不支持推送选项"
 
-#: sequencer.c:171
+#: sequencer.c:215
 msgid "revert"
 msgstr "还原"
 
-#: sequencer.c:171
+#: sequencer.c:217
 msgid "cherry-pick"
 msgstr "拣选"
 
-#: sequencer.c:228
+#: sequencer.c:219
+msgid "rebase -i"
+msgstr "rebase -i"
+
+#: sequencer.c:221
+#, c-format
+msgid "Unknown action: %d"
+msgstr "未知动作：%d"
+
+#: sequencer.c:278
 msgid ""
 "after resolving the conflicts, mark the corrected paths\n"
 "with 'git add <paths>' or 'git rm <paths>'"
@@ -2711,7 +2751,7 @@
 "冲突解决完毕后，用 'git add <路径>' 或 'git rm <路径>'\n"
 "命令标记修正后的文件"
 
-#: sequencer.c:231
+#: sequencer.c:281
 msgid ""
 "after resolving the conflicts, mark the corrected paths\n"
 "with 'git add <paths>' or 'git rm <paths>'\n"
@@ -2720,60 +2760,63 @@
 "冲突解决完毕后，用 'git add <路径>' 或 'git rm <路径>'\n"
 "对修正后的文件做标记，然后用 'git commit' 提交"
 
-#: sequencer.c:244 sequencer.c:1209
+#: sequencer.c:294 sequencer.c:1667
 #, c-format
 msgid "could not lock '%s'"
 msgstr "不能锁定 '%s'"
 
-#: sequencer.c:247 sequencer.c:1125 sequencer.c:1214
+#: sequencer.c:297 sequencer.c:1545 sequencer.c:1672 sequencer.c:1686
 #, c-format
 msgid "could not write to '%s'"
 msgstr "不能写入 '%s'"
 
-#: sequencer.c:251
+#: sequencer.c:301
 #, c-format
 msgid "could not write eol to '%s'"
 msgstr "不能将换行符写入 '%s'"
 
-#: sequencer.c:255 sequencer.c:1130 sequencer.c:1216
+#: sequencer.c:305 sequencer.c:1550 sequencer.c:1674
 #, c-format
 msgid "failed to finalize '%s'."
 msgstr "无法完成 '%s'。"
 
-#: sequencer.c:279 builtin/am.c:259 builtin/commit.c:749 builtin/merge.c:1032
+#: sequencer.c:329 sequencer.c:808 sequencer.c:1571 builtin/am.c:259
+#: builtin/commit.c:749 builtin/merge.c:1036
 #, c-format
 msgid "could not read '%s'"
 msgstr "不能读取 '%s'"
 
-#: sequencer.c:305
+#: sequencer.c:355
 #, c-format
 msgid "your local changes would be overwritten by %s."
 msgstr "您的本地修改将被%s覆盖。"
 
-#: sequencer.c:309
+#: sequencer.c:359
 msgid "commit your changes or stash them to proceed."
 msgstr "提交您的修改或保存进度后再继续。"
 
-#: sequencer.c:324
+#: sequencer.c:388
 #, c-format
 msgid "%s: fast-forward"
 msgstr "%s：快进"
 
-#. TRANSLATORS: %s will be "revert" or "cherry-pick"
-#: sequencer.c:399
+#. TRANSLATORS: %s will be "revert", "cherry-pick" or
+#. * "rebase -i".
+#.
+#: sequencer.c:470
 #, c-format
 msgid "%s: Unable to write new index file"
 msgstr "%s：无法写入新索引文件"
 
-#: sequencer.c:418
+#: sequencer.c:489
 msgid "could not resolve HEAD commit\n"
 msgstr "不能解析 HEAD 提交\n"
 
-#: sequencer.c:438
+#: sequencer.c:509
 msgid "unable to update cache tree\n"
-msgstr "不能更新缓存\n"
+msgstr "不能更新缓存树\n"
 
-#: sequencer.c:483
+#: sequencer.c:592
 #, c-format
 msgid ""
 "you have staged changes in your working tree\n"
@@ -2789,11 +2832,12 @@
 "\n"
 "  git rebase --continue\n"
 msgstr ""
-"您已暂存了工作区的修改。如果这些修改要压缩到前一个提交，执行：\n"
+"您的工作区中存在已暂存的修改\n"
+"如果这些修改需要被并入前一个提交，执行：\n"
 "\n"
 "  git commit --amend %s\n"
 "\n"
-"如果这些变更要形成一个新提交，执行：\n"
+"如果这些修改要形成一个新提交，执行：\n"
 "\n"
 "  git commit %s\n"
 "\n"
@@ -2801,172 +2845,390 @@
 "\n"
 "  git rebase --continue\n"
 
-#: sequencer.c:567
+#: sequencer.c:688
 #, c-format
 msgid "could not parse commit %s\n"
 msgstr "不能解析提交 %s\n"
 
-#: sequencer.c:572
+#: sequencer.c:693
 #, c-format
 msgid "could not parse parent commit %s\n"
 msgstr "不能解析父提交 %s\n"
 
-#: sequencer.c:656
+#: sequencer.c:815
+#, c-format
+msgid ""
+"unexpected 1st line of squash message:\n"
+"\n"
+"\t%.*s"
+msgstr ""
+"意外的压缩提交首行提交信息：\n"
+"\n"
+"\t%.*s"
+
+#: sequencer.c:821
+#, c-format
+msgid ""
+"invalid 1st line of squash message:\n"
+"\n"
+"\t%.*s"
+msgstr ""
+"压缩提交的首行提交信息无效：\n"
+"\n"
+"\t%.*s"
+
+#: sequencer.c:827 sequencer.c:852
+#, c-format
+msgid "This is a combination of %d commits."
+msgstr "这是一个 %d 个提交的组合。"
+
+#: sequencer.c:836
+msgid "need a HEAD to fixup"
+msgstr "需要一个 HEAD 来修复"
+
+#: sequencer.c:838
+msgid "could not read HEAD"
+msgstr "不能读取 HEAD"
+
+#: sequencer.c:840
+msgid "could not read HEAD's commit message"
+msgstr "不能读取 HEAD 的提交说明"
+
+#: sequencer.c:846
+#, c-format
+msgid "cannot write '%s'"
+msgstr "不能写 '%s'"
+
+#: sequencer.c:855 git-rebase--interactive.sh:445
+msgid "This is the 1st commit message:"
+msgstr "这是第一个提交说明："
+
+#: sequencer.c:863
+#, c-format
+msgid "could not read commit message of %s"
+msgstr "不能读取 %s 的提交说明"
+
+#: sequencer.c:870
+#, c-format
+msgid "This is the commit message #%d:"
+msgstr "这是提交说明 #%d："
+
+#: sequencer.c:875
+#, c-format
+msgid "The commit message #%d will be skipped:"
+msgstr "提交说明 #%d 将被跳过："
+
+#: sequencer.c:880
+#, c-format
+msgid "unknown command: %d"
+msgstr "未知命令：%d"
+
+#: sequencer.c:946
 msgid "your index file is unmerged."
 msgstr "您的索引文件未完成合并。"
 
-#: sequencer.c:675
+#: sequencer.c:964
 #, c-format
 msgid "commit %s is a merge but no -m option was given."
 msgstr "提交 %s 是一个合并提交但未提供 -m 选项。"
 
-#: sequencer.c:683
+#: sequencer.c:972
 #, c-format
 msgid "commit %s does not have parent %d"
 msgstr "提交 %s 没有第 %d 个父提交"
 
-#: sequencer.c:687
+#: sequencer.c:976
 #, c-format
 msgid "mainline was specified but commit %s is not a merge."
 msgstr "指定了主线，但是提交 %s 不是一个合并提交。"
 
-#. TRANSLATORS: The first %s will be a "todo" command like
-#. "revert" or "pick", the second %s a SHA1.
-#: sequencer.c:700
-#, c-format
-msgid "%s: cannot parse parent commit %s"
-msgstr "%s：不能解析父提交 %s"
-
-#: sequencer.c:705
+#: sequencer.c:982
 #, c-format
 msgid "cannot get commit message for %s"
 msgstr "不能得到 %s 的提交说明"
 
-#: sequencer.c:797
+#. TRANSLATORS: The first %s will be a "todo" command like
+#. "revert" or "pick", the second %s a SHA1.
+#: sequencer.c:1001
+#, c-format
+msgid "%s: cannot parse parent commit %s"
+msgstr "%s：不能解析父提交 %s"
+
+#: sequencer.c:1063 sequencer.c:1812
+#, c-format
+msgid "could not rename '%s' to '%s'"
+msgstr "不能将 '%s' 重命名为 '%s'"
+
+#: sequencer.c:1114
 #, c-format
 msgid "could not revert %s... %s"
 msgstr "不能还原 %s... %s"
 
-#: sequencer.c:798
+#: sequencer.c:1115
 #, c-format
 msgid "could not apply %s... %s"
 msgstr "不能应用 %s... %s"
 
-#: sequencer.c:833
+#: sequencer.c:1157
 msgid "empty commit set passed"
 msgstr "提供了空的提交集"
 
-#: sequencer.c:843
+#: sequencer.c:1167
 #, c-format
 msgid "git %s: failed to read the index"
 msgstr "git %s：无法读取索引"
 
-#: sequencer.c:850
+#: sequencer.c:1174
 #, c-format
 msgid "git %s: failed to refresh the index"
 msgstr "git %s：无法刷新索引"
 
-#: sequencer.c:944
+#: sequencer.c:1294
 #, c-format
 msgid "invalid line %d: %.*s"
 msgstr "无效行 %d：%.*s"
 
-#: sequencer.c:950
-msgid "no commits parsed."
-msgstr "没有解析提交。"
+#: sequencer.c:1302
+#, c-format
+msgid "cannot '%s' without a previous commit"
+msgstr "没有父提交的情况下不能 '%s'"
 
-#: sequencer.c:966
+#: sequencer.c:1334
 #, c-format
 msgid "could not read '%s'."
 msgstr "不能读取 '%s'。"
 
-#: sequencer.c:972
+#: sequencer.c:1341
+msgid "please fix this using 'git rebase --edit-todo'."
+msgstr "请用 'git rebase --edit-todo' 来修改。"
+
+#: sequencer.c:1343
 #, c-format
 msgid "unusable instruction sheet: '%s'"
-msgstr "无用的指令清单：'%s'"
+msgstr "不可用的指令清单：'%s'"
 
-#: sequencer.c:983
+#: sequencer.c:1348
+msgid "no commits parsed."
+msgstr "没有解析提交。"
+
+#: sequencer.c:1359
 msgid "cannot cherry-pick during a revert."
 msgstr "不能在回退中执行拣选。"
 
-#: sequencer.c:985
+#: sequencer.c:1361
 msgid "cannot revert during a cherry-pick."
 msgstr "不能在拣选中执行回退。"
 
-#: sequencer.c:1028
+#: sequencer.c:1424
 #, c-format
 msgid "invalid key: %s"
 msgstr "无效键名：%s"
 
-#: sequencer.c:1031
+#: sequencer.c:1427
 #, c-format
 msgid "invalid value for %s: %s"
 msgstr "%s 的值无效：%s"
 
-#: sequencer.c:1063
+#: sequencer.c:1484
 #, c-format
 msgid "malformed options sheet: '%s'"
 msgstr "非法的选项清单：'%s'"
 
-#: sequencer.c:1101
+#: sequencer.c:1522
 msgid "a cherry-pick or revert is already in progress"
 msgstr "一个拣选或还原操作已在进行"
 
-#: sequencer.c:1102
+#: sequencer.c:1523
 msgid "try \"git cherry-pick (--continue | --quit | --abort)\""
 msgstr "尝试 \"git cherry-pick (--continue | --quit | --abort)\""
 
-#: sequencer.c:1106
+#: sequencer.c:1526
 #, c-format
 msgid "could not create sequencer directory '%s'"
 msgstr "不能创建序列目录 '%s'"
 
-#: sequencer.c:1120
+#: sequencer.c:1540
 msgid "could not lock HEAD"
 msgstr "不能锁定 HEAD"
 
-#: sequencer.c:1151 sequencer.c:1289
+#: sequencer.c:1596 sequencer.c:2150
 msgid "no cherry-pick or revert in progress"
 msgstr "拣选或还原操作并未进行"
 
-#: sequencer.c:1153
+#: sequencer.c:1598
 msgid "cannot resolve HEAD"
 msgstr "不能解析 HEAD"
 
-#: sequencer.c:1155 sequencer.c:1189
+#: sequencer.c:1600 sequencer.c:1634
 msgid "cannot abort from a branch yet to be born"
 msgstr "不能从尚未建立的分支终止"
 
-#: sequencer.c:1175 builtin/grep.c:578
+#: sequencer.c:1620 builtin/grep.c:904
 #, c-format
 msgid "cannot open '%s'"
 msgstr "不能打开 '%s'"
 
-#: sequencer.c:1177
+#: sequencer.c:1622
 #, c-format
 msgid "cannot read '%s': %s"
 msgstr "不能读取 '%s'：%s"
 
-#: sequencer.c:1178
+#: sequencer.c:1623
 msgid "unexpected end of file"
 msgstr "意外的文件结束"
 
-#: sequencer.c:1184
+#: sequencer.c:1629
 #, c-format
 msgid "stored pre-cherry-pick HEAD file '%s' is corrupt"
 msgstr "保存拣选提交前的 HEAD 文件 '%s' 损坏"
 
-#: sequencer.c:1354
+#: sequencer.c:1640
+msgid "You seem to have moved HEAD. Not rewinding, check your HEAD!"
+msgstr "您好像移动了 HEAD。未能回退，检查您的 HEAD！"
+
+#: sequencer.c:1777 sequencer.c:2049
+msgid "cannot read HEAD"
+msgstr "不能读取 HEAD"
+
+#: sequencer.c:1817 builtin/difftool.c:574
+#, c-format
+msgid "could not copy '%s' to '%s'"
+msgstr "不能拷贝 '%s' 至 '%s'"
+
+#: sequencer.c:1833
+msgid "could not read index"
+msgstr "不能读取索引"
+
+#  译者：注意保持前导空格
+#: sequencer.c:1838
+#, c-format
+msgid ""
+"execution failed: %s\n"
+"%sYou can fix the problem, and then run\n"
+"\n"
+"  git rebase --continue\n"
+"\n"
+msgstr ""
+"执行失败：%s\n"
+"%s您可以改正该问题，然后运行\n"
+"\n"
+"  git rebase --continue\n"
+"\n"
+
+#: sequencer.c:1844
+msgid "and made changes to the index and/or the working tree\n"
+msgstr "并且修改索引和/或工作区\n"
+
+#: sequencer.c:1850
+#, c-format
+msgid ""
+"execution succeeded: %s\n"
+"but left changes to the index and/or the working tree\n"
+"Commit or stash your changes, and then run\n"
+"\n"
+"  git rebase --continue\n"
+"\n"
+msgstr ""
+"执行成功：%s\n"
+"但是在索引和/或工作区中存在变更\n"
+"提交或暂存修改，然后运行\n"
+"\n"
+"  git rebase --continue\n"
+"\n"
+
+#: sequencer.c:1905 git-rebase.sh:168
+#, c-format
+msgid "Applied autostash."
+msgstr "成功应用 autostash。"
+
+#: sequencer.c:1917
+#, c-format
+msgid "cannot store %s"
+msgstr "不能存储 %s"
+
+#: sequencer.c:1919 git-rebase.sh:172
+#, c-format
+msgid ""
+"Applying autostash resulted in conflicts.\n"
+"Your changes are safe in the stash.\n"
+"You can run \"git stash pop\" or \"git stash drop\" at any time.\n"
+msgstr ""
+"应用 autostash 导致冲突。\n"
+"您的修改安全地保存在 stash 中。\n"
+"您可以在任何时候运行 \"git stash pop\" 或 \"git stash drop\"。\n"
+
+#: sequencer.c:2000
+#, c-format
+msgid "stopped at %s... %.*s"
+msgstr "停止在 %s... %.*s"
+
+#: sequencer.c:2027
+#, c-format
+msgid "unknown command %d"
+msgstr "未知命令 %d"
+
+#: sequencer.c:2057
+msgid "could not read orig-head"
+msgstr "不能读取 orig-head"
+
+#: sequencer.c:2061
+msgid "could not read 'onto'"
+msgstr "不能读取 'onto'"
+
+#: sequencer.c:2068
+#, c-format
+msgid "could not update %s"
+msgstr "不能更新 %s"
+
+#: sequencer.c:2075
+#, c-format
+msgid "could not update HEAD to %s"
+msgstr "不能更新 HEAD 为 %s"
+
+#: sequencer.c:2159
+msgid "cannot rebase: You have unstaged changes."
+msgstr "不能变基：您有未暂存的变更。"
+
+#: sequencer.c:2164
+msgid "could not remove CHERRY_PICK_HEAD"
+msgstr "不能删除 CHERRY_PICK_HEAD"
+
+#: sequencer.c:2173
+msgid "cannot amend non-existing commit"
+msgstr "不能修补不存在的提交"
+
+#: sequencer.c:2175
+#, c-format
+msgid "invalid file: '%s'"
+msgstr "无效文件：'%s'"
+
+#: sequencer.c:2177
+#, c-format
+msgid "invalid contents: '%s'"
+msgstr "无效内容：'%s'"
+
+#: sequencer.c:2180
+msgid ""
+"\n"
+"You have uncommitted changes in your working tree. Please, commit them\n"
+"first and then run 'git rebase --continue' again."
+msgstr "\n您的工作区中有未提交的变更。请先提交然后再次运行 'git rebase --continue'。"
+
+#: sequencer.c:2190
+msgid "could not commit staged changes."
+msgstr "不能提交暂存的修改。"
+
+#: sequencer.c:2270
 #, c-format
 msgid "%s: can't cherry-pick a %s"
 msgstr "%s：不能拣选一个%s"
 
-#: sequencer.c:1358
+#: sequencer.c:2274
 #, c-format
 msgid "%s: bad revision"
 msgstr "%s：错误的版本"
 
-#: sequencer.c:1391
+#: sequencer.c:2307
 msgid "can't revert as initial commit"
 msgstr "不能作为初始提交回退"
 
@@ -3001,29 +3263,29 @@
 "使用 '--' 来分隔版本和路径，例如：\n"
 "'git <command> [<revision>...] -- [<file>...]'"
 
-#: setup.c:468
+#: setup.c:470
 #, c-format
 msgid "Expected git repo version <= %d, found %d"
 msgstr "期望 git 仓库版本 <= %d，却得到 %d"
 
-#: setup.c:476
+#: setup.c:478
 msgid "unknown repository extensions found:"
 msgstr "发现未知的仓库扩展："
 
-#: setup.c:762
+#: setup.c:768
 #, c-format
 msgid "Not a git repository (or any of the parent directories): %s"
 msgstr "不是一个 git 仓库（或者任何父目录）：%s"
 
-#: setup.c:764 setup.c:915 builtin/index-pack.c:1641
+#: setup.c:770 setup.c:922 builtin/index-pack.c:1643
 msgid "Cannot come back to cwd"
 msgstr "无法返回当前工作目录"
 
-#: setup.c:845
+#: setup.c:852
 msgid "Unable to read current working directory"
 msgstr "不能读取当前工作目录"
 
-#: setup.c:920
+#: setup.c:927
 #, c-format
 msgid ""
 "Not a git repository (or any parent up to mount point %s)\n"
@@ -3032,12 +3294,12 @@
 "不是一个 git 仓库（或者向上递归至挂载点 %s 的任何祖先目录）\n"
 "停止在文件系统边界（未设置 GIT_DISCOVERY_ACROSS_FILESYSTEM）。"
 
-#: setup.c:927
+#: setup.c:934
 #, c-format
 msgid "Cannot change to '%s/..'"
 msgstr "不能切换到 '%s/..'"
 
-#: setup.c:989
+#: setup.c:996
 #, c-format
 msgid ""
 "Problem with core.sharedRepository filemode value (0%.3o).\n"
@@ -3046,41 +3308,41 @@
 "参数 core.sharedRepository 的文件权限值有错（0%.3o）。\n"
 "文件属主必须始终拥有读写权限。"
 
-#: sha1_file.c:473
+#: sha1_file.c:490
 #, c-format
 msgid "path '%s' does not exist"
 msgstr "路径 '%s' 不存在"
 
-#: sha1_file.c:499
+#: sha1_file.c:516
 #, c-format
 msgid "reference repository '%s' as a linked checkout is not supported yet."
 msgstr "尚不支持将参考仓库 '%s' 作为一个链接检出。"
 
-#: sha1_file.c:505
+#: sha1_file.c:522
 #, c-format
 msgid "reference repository '%s' is not a local repository."
 msgstr "参考仓库 '%s' 不是一个本地仓库。"
 
-#: sha1_file.c:511
+#: sha1_file.c:528
 #, c-format
 msgid "reference repository '%s' is shallow"
 msgstr "参考仓库 '%s' 是一个浅克隆"
 
-#: sha1_file.c:519
+#: sha1_file.c:536
 #, c-format
 msgid "reference repository '%s' is grafted"
 msgstr "参考仓库 '%s' 已被嫁接"
 
-#: sha1_file.c:1159
+#: sha1_file.c:1176
 msgid "offset before end of packfile (broken .idx?)"
 msgstr "偏移量在包文件结束之前（损坏的 .idx？）"
 
-#: sha1_file.c:2592
+#: sha1_file.c:2637
 #, c-format
 msgid "offset before start of pack index for %s (corrupt index?)"
 msgstr "偏移量在 %s 的包索引开始之前（损坏的索引？）"
 
-#: sha1_file.c:2596
+#: sha1_file.c:2641
 #, c-format
 msgid "offset beyond end of pack index for %s (truncated index?)"
 msgstr "偏移量越过了 %s 的包索引的结尾（被截断的索引？）"
@@ -3088,7 +3350,7 @@
 #: sha1_name.c:407
 #, c-format
 msgid "short SHA1 %s is ambiguous"
-msgstr "歧义的短 SHA1 %s"
+msgstr "短 SHA1 %s 存在歧义"
 
 #: sha1_name.c:418
 msgid "The candidates are:"
@@ -3115,88 +3377,131 @@
 "可能需要删除它们。用 \"git config advice.objectNameWarning false\"\n"
 "命令关闭本消息通知。"
 
-#: submodule.c:64 submodule.c:98
+#: submodule.c:65 submodule.c:99
 msgid "Cannot change unmerged .gitmodules, resolve merge conflicts first"
 msgstr "无法修改未合并的 .gitmodules，先解决合并冲突"
 
-#: submodule.c:68 submodule.c:102
+#: submodule.c:69 submodule.c:103
 #, c-format
 msgid "Could not find section in .gitmodules where path=%s"
 msgstr "无法在 .gitmodules 中找到 path=%s 的小节"
 
-#: submodule.c:76
+#: submodule.c:77
 #, c-format
 msgid "Could not update .gitmodules entry %s"
 msgstr "不能更新 .gitmodules 条目 %s"
 
-#: submodule.c:109
+#: submodule.c:110
 #, c-format
 msgid "Could not remove .gitmodules entry for %s"
 msgstr "无法移除 %s 的 .gitmodules 条目"
 
-#: submodule.c:120
+#: submodule.c:121
 msgid "staging updated .gitmodules failed"
 msgstr "将更新后 .gitmodules 添加暂存区失败"
 
-#: submodule.c:158
+#: submodule.c:159
 msgid "negative values not allowed for submodule.fetchJobs"
 msgstr "submodule.fetchJobs 不允许为负值"
 
-#: submodule-config.c:358
+#: submodule.c:1184
+#, c-format
+msgid "could not start 'git status in submodule '%s'"
+msgstr "无法在子模组 '%s' 中启动 git status"
+
+#: submodule.c:1197
+#, c-format
+msgid "could not run 'git status in submodule '%s'"
+msgstr "无法在子模组 '%s' 中执行 git status"
+
+#: submodule.c:1398
+#, c-format
+msgid ""
+"relocate_gitdir for submodule '%s' with more than one worktree not supported"
+msgstr "不支持对有多个工作区的子模组 '%s' 执行 relocate_gitdir"
+
+#: submodule.c:1410 submodule.c:1471
+#, c-format
+msgid "could not lookup name for submodule '%s'"
+msgstr "不能查询子模组 '%s' 的名称"
+
+#: submodule.c:1414 submodule.c:1474 builtin/submodule--helper.c:640
+#: builtin/submodule--helper.c:650
+#, c-format
+msgid "could not create directory '%s'"
+msgstr "不能创建目录 '%s'"
+
+#: submodule.c:1420
+#, c-format
+msgid ""
+"Migrating git directory of '%s%s' from\n"
+"'%s' to\n"
+"'%s'\n"
+msgstr ""
+"将 '%s%s' 的 git 目录从\n"
+"'%s' 迁移至\n"
+"'%s'\n"
+
+#: submodule.c:1512
+#, c-format
+msgid "could not recurse into submodule '%s'"
+msgstr "无法递归进子模组路径 '%s'"
+
+#: submodule-config.c:360
 #, c-format
 msgid "invalid value for %s"
 msgstr "%s 的值无效"
 
-#: trailer.c:238
+#: trailer.c:240
 #, c-format
 msgid "running trailer command '%s' failed"
 msgstr "执行 trailer 命令 '%s' 失败"
 
-#: trailer.c:471 trailer.c:475 trailer.c:479 trailer.c:533 trailer.c:537
-#: trailer.c:541
+#: trailer.c:473 trailer.c:477 trailer.c:481 trailer.c:535 trailer.c:539
+#: trailer.c:543
 #, c-format
 msgid "unknown value '%s' for key '%s'"
 msgstr "键 '%2$s' 的未知取值 '%1$s'"
 
-#: trailer.c:523 trailer.c:528 builtin/remote.c:289
+#: trailer.c:525 trailer.c:530 builtin/remote.c:289
 #, c-format
 msgid "more than one %s"
 msgstr "多于一个 %s"
 
-#: trailer.c:672
+#: trailer.c:702
 #, c-format
 msgid "empty trailer token in trailer '%.*s'"
 msgstr "签名 '%.*s' 的键为空"
 
-#: trailer.c:695
+#: trailer.c:722
 #, c-format
 msgid "could not read input file '%s'"
 msgstr "不能读取输入文件 '%s'"
 
-#: trailer.c:698
+#: trailer.c:725
 msgid "could not read from stdin"
 msgstr "不能自标准输入读取"
 
-#: trailer.c:929 builtin/am.c:44
+#: trailer.c:949 builtin/am.c:44
 #, c-format
 msgid "could not stat %s"
 msgstr "不能获取 %s 的文件状态"
 
-#: trailer.c:931
+#: trailer.c:951
 #, c-format
 msgid "file %s is not a regular file"
 msgstr "文件 %s 不是一个正规文件"
 
-#: trailer.c:933
+#: trailer.c:953
 #, c-format
 msgid "file %s is not writable by user"
 msgstr "文件 %s 用户不可写"
 
-#: trailer.c:945
+#: trailer.c:965
 msgid "could not open temporary file"
 msgstr "不能打开临时文件"
 
-#: trailer.c:983
+#: trailer.c:1001
 #, c-format
 msgid "could not rename temporary file to %s"
 msgstr "不能重命名临时文件为 %s"
@@ -3211,14 +3516,14 @@
 msgid "transport: invalid depth option '%s'"
 msgstr "传输：无效的深度选项 '%s'"
 
-#: transport.c:817
+#: transport.c:885
 #, c-format
 msgid ""
 "The following submodule paths contain changes that can\n"
 "not be found on any remote:\n"
 msgstr "下列子模组路径所包含的修改在任何远程源中都找不到：\n"
 
-#: transport.c:821
+#: transport.c:889
 #, c-format
 msgid ""
 "\n"
@@ -3245,11 +3550,11 @@
 "以推送至远程。\n"
 "\n"
 
-#: transport.c:829
+#: transport.c:897
 msgid "Aborting."
 msgstr "正在终止。"
 
-#: transport-helper.c:1075
+#: transport-helper.c:1082
 #, c-format
 msgid "Could not read ref %s"
 msgstr "不能读取引用 %s"
@@ -3260,7 +3565,7 @@
 
 #: tree-walk.c:37
 msgid "malformed mode in tree entry"
-msgstr "树对象中的条目属性错误"
+msgstr "树对象中的条目模式错误"
 
 #: tree-walk.c:41
 msgid "empty filename in tree entry"
@@ -3270,7 +3575,7 @@
 msgid "too-short tree file"
 msgstr "太短的树文件"
 
-#: unpack-trees.c:64
+#: unpack-trees.c:99
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by checkout:\n"
@@ -3279,7 +3584,7 @@
 "您对下列文件的本地修改将被检出操作覆盖：\n"
 "%%s请在切换分支前提交您的修改或者保存进度。"
 
-#: unpack-trees.c:66
+#: unpack-trees.c:101
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by checkout:\n"
@@ -3288,7 +3593,7 @@
 "您对下列文件的本地修改将被检出操作覆盖：\n"
 "%%s"
 
-#: unpack-trees.c:69
+#: unpack-trees.c:104
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by merge:\n"
@@ -3297,7 +3602,7 @@
 "您对下列文件的本地修改将被合并操作覆盖：\n"
 "%%s请在合并前提交您的修改或者保存进度。"
 
-#: unpack-trees.c:71
+#: unpack-trees.c:106
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by merge:\n"
@@ -3306,7 +3611,7 @@
 "您对下列文件的本地修改将被合并操作覆盖：\n"
 "%%s"
 
-#: unpack-trees.c:74
+#: unpack-trees.c:109
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by %s:\n"
@@ -3315,7 +3620,7 @@
 "您对下列文件的本地修改将被 %s 覆盖：\n"
 "%%s请在 %s 之前提交您的修改或者保存进度。"
 
-#: unpack-trees.c:76
+#: unpack-trees.c:111
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by %s:\n"
@@ -3324,16 +3629,16 @@
 "您对下列文件的本地修改将被 %s 覆盖：\n"
 "%%s"
 
-#: unpack-trees.c:81
+#: unpack-trees.c:116
 #, c-format
 msgid ""
-"Updating the following directories would lose untracked files in it:\n"
+"Updating the following directories would lose untracked files in them:\n"
 "%s"
 msgstr ""
 "更新如下目录将会丢失其中未跟踪的文件：\n"
 "%s"
 
-#: unpack-trees.c:85
+#: unpack-trees.c:120
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by checkout:\n"
@@ -3342,7 +3647,7 @@
 "工作区中下列未跟踪的文件将会因为检出操作而被删除：\n"
 "%%s请在切换分支之前移动或删除。"
 
-#: unpack-trees.c:87
+#: unpack-trees.c:122
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by checkout:\n"
@@ -3351,7 +3656,7 @@
 "工作区中下列未跟踪的文件将会因为检出操作而被删除：\n"
 "%%s"
 
-#: unpack-trees.c:90
+#: unpack-trees.c:125
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by merge:\n"
@@ -3360,7 +3665,7 @@
 "工作区中下列未跟踪的文件将会因为合并操作而被删除：\n"
 "%%s请在合并前移动或删除。"
 
-#: unpack-trees.c:92
+#: unpack-trees.c:127
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by merge:\n"
@@ -3369,7 +3674,7 @@
 "工作区中下列未跟踪的文件将会因为合并操作而被删除：\n"
 "%%s"
 
-#: unpack-trees.c:95
+#: unpack-trees.c:130
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by %s:\n"
@@ -3378,7 +3683,7 @@
 "工作区中下列未跟踪的文件将会因为 %s 操作而被删除：\n"
 "%%s请在 %s 前移动或删除。"
 
-#: unpack-trees.c:97
+#: unpack-trees.c:132
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by %s:\n"
@@ -3387,7 +3692,7 @@
 "工作区中下列未跟踪的文件将会因为 %s 操作而被删除：\n"
 "%%s"
 
-#: unpack-trees.c:102
+#: unpack-trees.c:137
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by "
@@ -3397,7 +3702,7 @@
 "工作区中下列未跟踪的文件将会因为检出操作而被覆盖：\n"
 "%%s请在切换分支前移动或删除。"
 
-#: unpack-trees.c:104
+#: unpack-trees.c:139
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by "
@@ -3407,7 +3712,7 @@
 "工作区中下列未跟踪的文件将会因为检出操作而被覆盖：\n"
 "%%s"
 
-#: unpack-trees.c:107
+#: unpack-trees.c:142
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by merge:\n"
@@ -3416,7 +3721,7 @@
 "工作区中下列未跟踪的文件将会因为合并操作而被覆盖：\n"
 "%%s请在合并前移动或删除。"
 
-#: unpack-trees.c:109
+#: unpack-trees.c:144
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by merge:\n"
@@ -3425,7 +3730,7 @@
 "工作区中下列未跟踪的文件将会因为合并操作而被覆盖：\n"
 "%%s"
 
-#: unpack-trees.c:112
+#: unpack-trees.c:147
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by %s:\n"
@@ -3434,7 +3739,7 @@
 "工作区中下列未跟踪的文件将会因为 %s 操作而被覆盖：\n"
 "%%s请在 %s 前移动或删除。"
 
-#: unpack-trees.c:114
+#: unpack-trees.c:149
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by %s:\n"
@@ -3443,12 +3748,12 @@
 "工作区中下列未跟踪的文件将会因为 %s 操作而被覆盖：\n"
 "%%s"
 
-#: unpack-trees.c:121
+#: unpack-trees.c:156
 #, c-format
 msgid "Entry '%s' overlaps with '%s'.  Cannot bind."
 msgstr "条目 '%s' 和 '%s' 重叠。无法合并。"
 
-#: unpack-trees.c:124
+#: unpack-trees.c:159
 #, c-format
 msgid ""
 "Cannot update sparse checkout: the following entries are not up-to-date:\n"
@@ -3457,7 +3762,7 @@
 "无法更新稀疏检出：如下条目不是最新：\n"
 "%s"
 
-#: unpack-trees.c:126
+#: unpack-trees.c:161
 #, c-format
 msgid ""
 "The following working tree files would be overwritten by sparse checkout "
@@ -3467,7 +3772,7 @@
 "工作区中下列文件将被稀疏检出更新所覆盖：\n"
 "%s"
 
-#: unpack-trees.c:128
+#: unpack-trees.c:163
 #, c-format
 msgid ""
 "The following working tree files would be removed by sparse checkout "
@@ -3477,12 +3782,12 @@
 "工作区中下列文件将被稀疏检出更新所删除：\n"
 "%s"
 
-#: unpack-trees.c:205
+#: unpack-trees.c:240
 #, c-format
 msgid "Aborting\n"
 msgstr "终止中\n"
 
-#: unpack-trees.c:237
+#: unpack-trees.c:270
 msgid "Checking out files"
 msgstr "正在检出文件"
 
@@ -3531,7 +3836,7 @@
 msgstr "无法打开 '%s' 进行写入"
 
 #: wrapper.c:226 wrapper.c:396 builtin/am.c:320 builtin/am.c:759
-#: builtin/am.c:847 builtin/commit.c:1705 builtin/merge.c:1029
+#: builtin/am.c:847 builtin/commit.c:1700 builtin/merge.c:1033
 #: builtin/pull.c:341
 #, c-format
 msgid "could not open '%s' for reading"
@@ -3758,27 +4063,31 @@
 msgid "  (use \"git am --abort\" to restore the original branch)"
 msgstr "  （使用 \"git am --abort\" 恢复原有分支）"
 
-#: wt-status.c:1172
+#: wt-status.c:1176
+msgid "git-rebase-todo is missing."
+msgstr "git-rebase-todo 丢失。"
+
+#: wt-status.c:1178
 msgid "No commands done."
 msgstr "没有命令被执行。"
 
-#: wt-status.c:1175
+#: wt-status.c:1181
 #, c-format
 msgid "Last command done (%d command done):"
 msgid_plural "Last commands done (%d commands done):"
 msgstr[0] "最后一条命令已完成（%d 条命令被执行）："
 msgstr[1] "最后的命令已完成（%d 条命令被执行）："
 
-#: wt-status.c:1186
+#: wt-status.c:1192
 #, c-format
 msgid "  (see more in file %s)"
 msgstr "  （更多参见文件 %s）"
 
-#: wt-status.c:1191
+#: wt-status.c:1197
 msgid "No commands remaining."
 msgstr "未剩下任何命令。"
 
-#: wt-status.c:1194
+#: wt-status.c:1200
 #, c-format
 msgid "Next command to do (%d remaining command):"
 msgid_plural "Next commands to do (%d remaining commands):"
@@ -3786,165 +4095,165 @@
 msgstr[1] "接下来要执行的命令（剩余 %d 条命令）："
 
 #  译者：注意保持前导空格
-#: wt-status.c:1202
+#: wt-status.c:1208
 msgid "  (use \"git rebase --edit-todo\" to view and edit)"
 msgstr "  （使用 \"git rebase --edit-todo\" 来查看和编辑）"
 
-#: wt-status.c:1215
+#: wt-status.c:1221
 #, c-format
 msgid "You are currently rebasing branch '%s' on '%s'."
 msgstr "您在执行将分支 '%s' 变基到 '%s' 的操作。"
 
-#: wt-status.c:1220
+#: wt-status.c:1226
 msgid "You are currently rebasing."
 msgstr "您在执行变基操作。"
 
 #  译者：注意保持前导空格
-#: wt-status.c:1234
+#: wt-status.c:1240
 msgid "  (fix conflicts and then run \"git rebase --continue\")"
 msgstr "  （解决冲突，然后运行 \"git rebase --continue\"）"
 
 #  译者：注意保持前导空格
-#: wt-status.c:1236
+#: wt-status.c:1242
 msgid "  (use \"git rebase --skip\" to skip this patch)"
 msgstr "  （使用 \"git rebase --skip\" 跳过此补丁）"
 
 #  译者：注意保持前导空格
-#: wt-status.c:1238
+#: wt-status.c:1244
 msgid "  (use \"git rebase --abort\" to check out the original branch)"
 msgstr "  （使用 \"git rebase --abort\" 以检出原有分支）"
 
 #  译者：注意保持前导空格
-#: wt-status.c:1244
+#: wt-status.c:1250
 msgid "  (all conflicts fixed: run \"git rebase --continue\")"
 msgstr "  （所有冲突已解决：运行 \"git rebase --continue\"）"
 
-#: wt-status.c:1248
+#: wt-status.c:1254
 #, c-format
 msgid ""
 "You are currently splitting a commit while rebasing branch '%s' on '%s'."
 msgstr "您在执行将分支 '%s' 变基到 '%s' 的操作时拆分提交。"
 
-#: wt-status.c:1253
+#: wt-status.c:1259
 msgid "You are currently splitting a commit during a rebase."
 msgstr "您在执行变基操作时拆分提交。"
 
 #  译者：注意保持前导空格
-#: wt-status.c:1256
+#: wt-status.c:1262
 msgid "  (Once your working directory is clean, run \"git rebase --continue\")"
 msgstr "  （一旦您工作目录提交干净后，运行 \"git rebase --continue\"）"
 
-#: wt-status.c:1260
+#: wt-status.c:1266
 #, c-format
 msgid "You are currently editing a commit while rebasing branch '%s' on '%s'."
 msgstr "您在执行将分支 '%s' 变基到 '%s' 的操作时编辑提交。"
 
-#: wt-status.c:1265
+#: wt-status.c:1271
 msgid "You are currently editing a commit during a rebase."
 msgstr "您在执行变基操作时编辑提交。"
 
 #  译者：注意保持前导空格
-#: wt-status.c:1268
+#: wt-status.c:1274
 msgid "  (use \"git commit --amend\" to amend the current commit)"
 msgstr "  （使用 \"git commit --amend\" 修补当前提交）"
 
 #  译者：注意保持前导空格
-#: wt-status.c:1270
+#: wt-status.c:1276
 msgid ""
 "  (use \"git rebase --continue\" once you are satisfied with your changes)"
 msgstr "  （当您对您的修改满意后执行 \"git rebase --continue\"）"
 
-#: wt-status.c:1280
+#: wt-status.c:1286
 #, c-format
 msgid "You are currently cherry-picking commit %s."
 msgstr "您在执行拣选提交 %s 的操作。"
 
 #  译者：注意保持前导空格
-#: wt-status.c:1285
+#: wt-status.c:1291
 msgid "  (fix conflicts and run \"git cherry-pick --continue\")"
 msgstr "  （解决冲突并运行 \"git cherry-pick --continue\"）"
 
 #  译者：注意保持前导空格
-#: wt-status.c:1288
+#: wt-status.c:1294
 msgid "  (all conflicts fixed: run \"git cherry-pick --continue\")"
 msgstr "  （所有冲突已解决：运行 \"git cherry-pick --continue\"）"
 
 #  译者：注意保持前导空格
-#: wt-status.c:1290
+#: wt-status.c:1296
 msgid "  (use \"git cherry-pick --abort\" to cancel the cherry-pick operation)"
 msgstr "  （使用 \"git cherry-pick --abort\" 以取消拣选操作）"
 
-#: wt-status.c:1299
+#: wt-status.c:1305
 #, c-format
 msgid "You are currently reverting commit %s."
 msgstr "您在执行反转提交 %s 的操作。"
 
 #  译者：注意保持前导空格
-#: wt-status.c:1304
+#: wt-status.c:1310
 msgid "  (fix conflicts and run \"git revert --continue\")"
 msgstr "  （解决冲突并运行 \"git revert --continue\"）"
 
 #  译者：注意保持前导空格
-#: wt-status.c:1307
+#: wt-status.c:1313
 msgid "  (all conflicts fixed: run \"git revert --continue\")"
 msgstr "  （所有冲突已解决：运行 \"git revert --continue\"）"
 
 #  译者：注意保持前导空格
-#: wt-status.c:1309
+#: wt-status.c:1315
 msgid "  (use \"git revert --abort\" to cancel the revert operation)"
 msgstr "  （使用 \"git revert --abort\" 以取消反转提交操作）"
 
-#: wt-status.c:1320
+#: wt-status.c:1326
 #, c-format
 msgid "You are currently bisecting, started from branch '%s'."
 msgstr "您在执行从分支 '%s' 开始的二分查找操作。"
 
-#: wt-status.c:1324
+#: wt-status.c:1330
 msgid "You are currently bisecting."
 msgstr "您在执行二分查找操作。"
 
 #  译者：注意保持前导空格
-#: wt-status.c:1327
+#: wt-status.c:1333
 msgid "  (use \"git bisect reset\" to get back to the original branch)"
 msgstr "  （使用 \"git bisect reset\" 以回到原有分支）"
 
-#: wt-status.c:1524
+#: wt-status.c:1530
 msgid "On branch "
 msgstr "位于分支 "
 
-#: wt-status.c:1530
+#: wt-status.c:1536
 msgid "interactive rebase in progress; onto "
 msgstr "交互式变基操作正在进行中；至 "
 
-#: wt-status.c:1532
+#: wt-status.c:1538
 msgid "rebase in progress; onto "
 msgstr "变基操作正在进行中；至 "
 
-#: wt-status.c:1537
+#: wt-status.c:1543
 msgid "HEAD detached at "
 msgstr "头指针分离于 "
 
-#: wt-status.c:1539
+#: wt-status.c:1545
 msgid "HEAD detached from "
 msgstr "头指针分离自 "
 
-#: wt-status.c:1542
+#: wt-status.c:1548
 msgid "Not currently on any branch."
 msgstr "当前不在任何分支上。"
 
-#: wt-status.c:1560
+#: wt-status.c:1566
 msgid "Initial commit"
 msgstr "初始提交"
 
-#: wt-status.c:1574
+#: wt-status.c:1580
 msgid "Untracked files"
 msgstr "未跟踪的文件"
 
-#: wt-status.c:1576
+#: wt-status.c:1582
 msgid "Ignored files"
 msgstr "忽略的文件"
 
-#: wt-status.c:1580
+#: wt-status.c:1586
 #, c-format
 msgid ""
 "It took %.2f seconds to enumerate untracked files. 'status -uno'\n"
@@ -3954,98 +4263,98 @@
 "耗费了 %.2f 秒以枚举未跟踪的文件。'status -uno' 也许能提高速度，\n"
 "但您需要小心不要忘了添加新文件（参见 'git help status'）。"
 
-#: wt-status.c:1586
+#: wt-status.c:1592
 #, c-format
 msgid "Untracked files not listed%s"
 msgstr "未跟踪的文件没有列出%s"
 
 #  译者：中文字符串拼接，可删除前导空格
-#: wt-status.c:1588
+#: wt-status.c:1594
 msgid " (use -u option to show untracked files)"
 msgstr "（使用 -u 参数显示未跟踪的文件）"
 
-#: wt-status.c:1594
+#: wt-status.c:1600
 msgid "No changes"
 msgstr "没有修改"
 
-#: wt-status.c:1599
+#: wt-status.c:1605
 #, c-format
 msgid "no changes added to commit (use \"git add\" and/or \"git commit -a\")\n"
 msgstr "修改尚未加入提交（使用 \"git add\" 和/或 \"git commit -a\"）\n"
 
-#: wt-status.c:1602
+#: wt-status.c:1608
 #, c-format
 msgid "no changes added to commit\n"
 msgstr "修改尚未加入提交\n"
 
-#: wt-status.c:1605
+#: wt-status.c:1611
 #, c-format
 msgid ""
 "nothing added to commit but untracked files present (use \"git add\" to "
 "track)\n"
 msgstr "提交为空，但是存在尚未跟踪的文件（使用 \"git add\" 建立跟踪）\n"
 
-#: wt-status.c:1608
+#: wt-status.c:1614
 #, c-format
 msgid "nothing added to commit but untracked files present\n"
 msgstr "提交为空，但是存在尚未跟踪的文件\n"
 
 #  译者：中文字符串拼接，可删除前导空格
-#: wt-status.c:1611
+#: wt-status.c:1617
 #, c-format
 msgid "nothing to commit (create/copy files and use \"git add\" to track)\n"
 msgstr "无文件要提交（创建/拷贝文件并使用 \"git add\" 建立跟踪）\n"
 
-#: wt-status.c:1614 wt-status.c:1619
+#: wt-status.c:1620 wt-status.c:1625
 #, c-format
 msgid "nothing to commit\n"
 msgstr "无文件要提交\n"
 
 #  译者：中文字符串拼接，可删除前导空格
-#: wt-status.c:1617
+#: wt-status.c:1623
 #, c-format
 msgid "nothing to commit (use -u to show untracked files)\n"
 msgstr "无文件要提交（使用 -u 显示未跟踪的文件）\n"
 
 #  译者：中文字符串拼接，可删除前导空格
-#: wt-status.c:1621
+#: wt-status.c:1627
 #, c-format
 msgid "nothing to commit, working tree clean\n"
 msgstr "无文件要提交，干净的工作区\n"
 
 #  译者：注意保持句尾空格
-#: wt-status.c:1728
+#: wt-status.c:1734
 msgid "Initial commit on "
 msgstr "初始提交于 "
 
-#: wt-status.c:1732
+#: wt-status.c:1738
 msgid "HEAD (no branch)"
 msgstr "HEAD（非分支）"
 
-#: wt-status.c:1761
+#: wt-status.c:1767
 msgid "gone"
 msgstr "丢失"
 
 #  译者：注意保持句尾空格
-#: wt-status.c:1763 wt-status.c:1771
+#: wt-status.c:1769 wt-status.c:1777
 msgid "behind "
 msgstr "落后 "
 
-#: wt-status.c:1766 wt-status.c:1769
+#: wt-status.c:1772 wt-status.c:1775
 msgid "ahead "
 msgstr "领先 "
 
 #. TRANSLATORS: the action is e.g. "pull with rebase"
-#: wt-status.c:2270
+#: wt-status.c:2277
 #, c-format
 msgid "cannot %s: You have unstaged changes."
 msgstr "不能%s：您有未暂存的变更。"
 
-#: wt-status.c:2276
+#: wt-status.c:2283
 msgid "additionally, your index contains uncommitted changes."
-msgstr "而且您的索引中包含未提交的变更。"
+msgstr "另外，您的索引中包含未提交的变更。"
 
-#: wt-status.c:2278
+#: wt-status.c:2285
 #, c-format
 msgid "cannot %s: Your index contains uncommitted changes."
 msgstr "不能%s：您的索引中包含未提交的变更。"
@@ -4077,7 +4386,7 @@
 msgid "Unstaged changes after refreshing the index:"
 msgstr "刷新索引之后尚未被暂存的变更："
 
-#: builtin/add.c:209 builtin/rev-parse.c:840
+#: builtin/add.c:209 builtin/rev-parse.c:845
 msgid "Could not read the index"
 msgstr "不能读取索引"
 
@@ -4112,9 +4421,9 @@
 msgid "The following paths are ignored by one of your .gitignore files:\n"
 msgstr "下列路径根据您的一个 .gitignore 文件而被忽略：\n"
 
-#: builtin/add.c:266 builtin/clean.c:870 builtin/fetch.c:115 builtin/mv.c:111
-#: builtin/prune-packed.c:55 builtin/pull.c:198 builtin/push.c:521
-#: builtin/remote.c:1326 builtin/rm.c:268 builtin/send-pack.c:162
+#: builtin/add.c:266 builtin/clean.c:870 builtin/fetch.c:115 builtin/mv.c:123
+#: builtin/prune-packed.c:55 builtin/pull.c:198 builtin/push.c:524
+#: builtin/remote.c:1326 builtin/rm.c:241 builtin/send-pack.c:162
 msgid "dry run"
 msgstr "演习"
 
@@ -4122,7 +4431,7 @@
 msgid "interactive picking"
 msgstr "交互式拣选"
 
-#: builtin/add.c:270 builtin/checkout.c:1156 builtin/reset.c:286
+#: builtin/add.c:270 builtin/checkout.c:1159 builtin/reset.c:286
 msgid "select hunks interactively"
 msgstr "交互式挑选数据块"
 
@@ -4204,7 +4513,7 @@
 
 #: builtin/add.c:380 builtin/check-ignore.c:172 builtin/checkout.c:279
 #: builtin/checkout.c:472 builtin/clean.c:914 builtin/commit.c:350
-#: builtin/mv.c:131 builtin/reset.c:235 builtin/rm.c:298
+#: builtin/mv.c:143 builtin/reset.c:235 builtin/rm.c:271
 #: builtin/submodule--helper.c:244
 msgid "index file corrupt"
 msgstr "索引文件损坏"
@@ -4323,7 +4632,7 @@
 msgid "Failed to merge in the changes."
 msgstr "无法合并变更。"
 
-#: builtin/am.c:1686 builtin/merge.c:628
+#: builtin/am.c:1686 builtin/merge.c:632
 msgid "git write-tree failed to write a tree"
 msgstr "git write-tree 无法写入一树对象"
 
@@ -4331,8 +4640,8 @@
 msgid "applying to an empty history"
 msgstr "正应用到一个空历史上"
 
-#: builtin/am.c:1706 builtin/commit.c:1769 builtin/merge.c:798
-#: builtin/merge.c:823
+#: builtin/am.c:1706 builtin/commit.c:1764 builtin/merge.c:802
+#: builtin/merge.c:827
 msgid "failed to write commit object"
 msgstr "无法写提交对象"
 
@@ -4442,7 +4751,7 @@
 msgstr "如果必要，允许使用三方合并。"
 
 #: builtin/am.c:2245 builtin/init-db.c:483 builtin/prune-packed.c:57
-#: builtin/repack.c:172
+#: builtin/repack.c:178
 msgid "be quiet"
 msgstr "静默模式"
 
@@ -4485,15 +4794,15 @@
 msgstr "传递给 git-apply"
 
 #: builtin/am.c:2283 builtin/fmt-merge-msg.c:662 builtin/fmt-merge-msg.c:665
-#: builtin/grep.c:707 builtin/merge.c:200 builtin/pull.c:135
-#: builtin/pull.c:194 builtin/repack.c:181 builtin/repack.c:185
-#: builtin/show-branch.c:644 builtin/show-ref.c:175 builtin/tag.c:340
+#: builtin/grep.c:1038 builtin/merge.c:202 builtin/pull.c:135
+#: builtin/pull.c:194 builtin/repack.c:187 builtin/repack.c:191
+#: builtin/show-branch.c:644 builtin/show-ref.c:169 builtin/tag.c:355
 #: parse-options.h:132 parse-options.h:134 parse-options.h:245
 msgid "n"
 msgstr "n"
 
 #: builtin/am.c:2289 builtin/for-each-ref.c:37 builtin/replace.c:438
-#: builtin/tag.c:372
+#: builtin/tag.c:387 builtin/verify-tag.c:38
 msgid "format"
 msgstr "格式"
 
@@ -4529,8 +4838,8 @@
 msgid "use current timestamp for author date"
 msgstr "用当前时间作为作者日期"
 
-#: builtin/am.c:2315 builtin/commit.c:1605 builtin/merge.c:229
-#: builtin/pull.c:165 builtin/revert.c:92 builtin/tag.c:355
+#: builtin/am.c:2315 builtin/commit.c:1600 builtin/merge.c:233
+#: builtin/pull.c:165 builtin/revert.c:92 builtin/tag.c:370
 msgid "key-id"
 msgstr "key-id"
 
@@ -4631,115 +4940,111 @@
 msgid "<rev-opts> are documented in git-rev-list(1)"
 msgstr "<版本选项> 的文档记录在 git-rev-list(1) 中"
 
-#: builtin/blame.c:1781
+#: builtin/blame.c:1786
 msgid "Blaming lines"
 msgstr "追踪代码行"
 
-#: builtin/blame.c:2577
+#: builtin/blame.c:2582
 msgid "Show blame entries as we find them, incrementally"
 msgstr "增量式地显示发现的 blame 条目"
 
-#: builtin/blame.c:2578
+#: builtin/blame.c:2583
 msgid "Show blank SHA-1 for boundary commits (Default: off)"
 msgstr "边界提交显示空的 SHA-1（默认：关闭）"
 
-#: builtin/blame.c:2579
+#: builtin/blame.c:2584
 msgid "Do not treat root commits as boundaries (Default: off)"
 msgstr "不把根提交作为边界（默认：关闭）"
 
-#: builtin/blame.c:2580
+#: builtin/blame.c:2585
 msgid "Show work cost statistics"
 msgstr "显示命令消耗统计"
 
-#: builtin/blame.c:2581
+#: builtin/blame.c:2586
 msgid "Force progress reporting"
 msgstr "强制进度显示"
 
-#: builtin/blame.c:2582
+#: builtin/blame.c:2587
 msgid "Show output score for blame entries"
 msgstr "显示判断 blame 条目位移的得分诊断信息"
 
-#: builtin/blame.c:2583
+#: builtin/blame.c:2588
 msgid "Show original filename (Default: auto)"
 msgstr "显示原始文件名（默认：自动）"
 
-#: builtin/blame.c:2584
+#: builtin/blame.c:2589
 msgid "Show original linenumber (Default: off)"
 msgstr "显示原始的行号（默认：关闭）"
 
-#: builtin/blame.c:2585
+#: builtin/blame.c:2590
 msgid "Show in a format designed for machine consumption"
 msgstr "显示为一个适合机器读取的格式"
 
-#: builtin/blame.c:2586
+#: builtin/blame.c:2591
 msgid "Show porcelain format with per-line commit information"
 msgstr "为每一行显示机器适用的提交信息"
 
-#: builtin/blame.c:2587
+#: builtin/blame.c:2592
 msgid "Use the same output mode as git-annotate (Default: off)"
 msgstr "使用和 git-annotate 相同的输出模式（默认：关闭）"
 
-#: builtin/blame.c:2588
+#: builtin/blame.c:2593
 msgid "Show raw timestamp (Default: off)"
 msgstr "显示原始时间戳（默认：关闭）"
 
-#: builtin/blame.c:2589
+#: builtin/blame.c:2594
 msgid "Show long commit SHA1 (Default: off)"
 msgstr "显示长的 SHA1 提交号（默认：关闭）"
 
-#: builtin/blame.c:2590
+#: builtin/blame.c:2595
 msgid "Suppress author name and timestamp (Default: off)"
 msgstr "隐藏作者名字和时间戳（默认：关闭）"
 
-#: builtin/blame.c:2591
+#: builtin/blame.c:2596
 msgid "Show author email instead of name (Default: off)"
 msgstr "显示作者的邮箱而不是名字（默认：关闭）"
 
-#: builtin/blame.c:2592
+#: builtin/blame.c:2597
 msgid "Ignore whitespace differences"
 msgstr "忽略空白差异"
 
-#: builtin/blame.c:2599
-msgid "Use an experimental indent-based heuristic to improve diffs"
-msgstr "使用一个试验性的基于缩进的启发式算法改进差异显示"
+#: builtin/blame.c:2604
+msgid "Use an experimental heuristic to improve diffs"
+msgstr "使用一个试验性的启发式算法改进差异显示"
 
-#: builtin/blame.c:2600
-msgid "Use an experimental blank-line-based heuristic to improve diffs"
-msgstr "使用一个试验性的基于空行的启发式算法改进差异显示"
-
-#: builtin/blame.c:2602
+#: builtin/blame.c:2606
 msgid "Spend extra cycles to find better match"
 msgstr "花费额外的循环来找到更好的匹配"
 
-#: builtin/blame.c:2603
+#: builtin/blame.c:2607
 msgid "Use revisions from <file> instead of calling git-rev-list"
 msgstr "使用来自 <文件> 的修订集而不是调用 git-rev-list"
 
-#: builtin/blame.c:2604
+#: builtin/blame.c:2608
 msgid "Use <file>'s contents as the final image"
 msgstr "使用 <文件> 的内容作为最终的图片"
 
-#: builtin/blame.c:2605 builtin/blame.c:2606
+#: builtin/blame.c:2609 builtin/blame.c:2610
 msgid "score"
 msgstr "得分"
 
-#: builtin/blame.c:2605
+#: builtin/blame.c:2609
 msgid "Find line copies within and across files"
 msgstr "找到文件内及跨文件的行拷贝"
 
-#: builtin/blame.c:2606
+#: builtin/blame.c:2610
 msgid "Find line movements within and across files"
 msgstr "找到文件内及跨文件的行移动"
 
-#: builtin/blame.c:2607
+#: builtin/blame.c:2611
 msgid "n,m"
 msgstr "n,m"
 
-#: builtin/blame.c:2607
+#: builtin/blame.c:2611
 msgid "Process only line range n,m, counting from 1"
 msgstr "只处理行范围在 n 和 m 之间的，从 1 开始"
 
-#: builtin/blame.c:2654
+#: builtin/blame.c:2658
 msgid "--progress can't be used with --incremental or porcelain formats"
 msgstr "--progress 不能和 --incremental 或 --porcelain 同时使用"
 
@@ -4749,38 +5054,38 @@
 #. takes 22 places, is the longest among various forms of
 #. relative timestamps, but your language may need more or
 #. fewer display columns.
-#: builtin/blame.c:2700
+#: builtin/blame.c:2706
 msgid "4 years, 11 months ago"
 msgstr "4 年 11 个月前"
 
-#: builtin/blame.c:2780
+#: builtin/blame.c:2786
 msgid "--contents and --reverse do not blend well."
 msgstr "--contents 和 --reverse 不能混用。"
 
-#: builtin/blame.c:2800
+#: builtin/blame.c:2806
 msgid "cannot use --contents with final commit object name"
 msgstr "不能将 --contents 和最终的提交对象名共用"
 
-#: builtin/blame.c:2805
+#: builtin/blame.c:2811
 msgid "--reverse and --first-parent together require specified latest commit"
 msgstr "--reverse 和 --first-parent 共用，需要指定最新的提交"
 
-#: builtin/blame.c:2832
+#: builtin/blame.c:2838
 msgid ""
 "--reverse --first-parent together require range along first-parent chain"
 msgstr "--reverse 和 --first-parent 共用，需要第一祖先链上的提交范围"
 
-#: builtin/blame.c:2843
+#: builtin/blame.c:2849
 #, c-format
 msgid "no such path %s in %s"
 msgstr "在 %2$s 中无此路径 %1$s"
 
-#: builtin/blame.c:2854
+#: builtin/blame.c:2860
 #, c-format
 msgid "cannot read blob %s for path %s"
-msgstr "不能为路径 %2$s 读取对象 %1$s"
+msgstr "不能为路径 %2$s 读取数据对象 %1$s"
 
-#: builtin/blame.c:2873
+#: builtin/blame.c:2879
 #, c-format
 msgid "file %s has only %lu line"
 msgid_plural "file %s has only %lu lines"
@@ -4960,44 +5265,44 @@
 msgid "(no branch)"
 msgstr "（非分支）"
 
-#: builtin/branch.c:544
+#: builtin/branch.c:535
 #, c-format
 msgid "Branch %s is being rebased at %s"
 msgstr "分支 %s 正被变基到 %s"
 
-#: builtin/branch.c:548
+#: builtin/branch.c:539
 #, c-format
 msgid "Branch %s is being bisected at %s"
 msgstr "分支 %s 正被二分查找于 %s"
 
-#: builtin/branch.c:563
+#: builtin/branch.c:554
 msgid "cannot rename the current branch while not on any."
 msgstr "无法重命名当前分支因为不处于任何分支上。"
 
-#: builtin/branch.c:573
+#: builtin/branch.c:564
 #, c-format
 msgid "Invalid branch name: '%s'"
 msgstr "无效的分支名：'%s'"
 
-#: builtin/branch.c:590
+#: builtin/branch.c:581
 msgid "Branch rename failed"
 msgstr "分支重命名失败"
 
-#: builtin/branch.c:594
+#: builtin/branch.c:585
 #, c-format
 msgid "Renamed a misnamed branch '%s' away"
 msgstr "重命名掉一个错误命名的旧分支 '%s'"
 
-#: builtin/branch.c:597
+#: builtin/branch.c:588
 #, c-format
 msgid "Branch renamed to %s, but HEAD is not updated!"
 msgstr "分支重命名为 %s，但 HEAD 没有更新！"
 
-#: builtin/branch.c:604
+#: builtin/branch.c:595
 msgid "Branch is renamed, but update of config-file failed"
 msgstr "分支被重命名，但更新 config 文件失败"
 
-#: builtin/branch.c:620
+#: builtin/branch.c:611
 #, c-format
 msgid ""
 "Please edit the description for the branch\n"
@@ -5008,200 +5313,204 @@
 "  %s\n"
 "以 '%c' 开头的行将被过滤。\n"
 
-#: builtin/branch.c:651
+#: builtin/branch.c:643
 msgid "Generic options"
 msgstr "通用选项"
 
-#: builtin/branch.c:653
+#: builtin/branch.c:645
 msgid "show hash and subject, give twice for upstream branch"
 msgstr "显示哈希值和主题，若参数出现两次则显示上游分支"
 
-#: builtin/branch.c:654
+#: builtin/branch.c:646
 msgid "suppress informational messages"
 msgstr "不显示信息"
 
-#: builtin/branch.c:655
+#: builtin/branch.c:647
 msgid "set up tracking mode (see git-pull(1))"
 msgstr "设置跟踪模式（参见 git-pull(1)）"
 
-#: builtin/branch.c:657
+#: builtin/branch.c:649
 msgid "change upstream info"
 msgstr "改变上游信息"
 
-#: builtin/branch.c:659
+#: builtin/branch.c:651
 msgid "upstream"
 msgstr "上游"
 
-#: builtin/branch.c:659
+#: builtin/branch.c:651
 msgid "change the upstream info"
 msgstr "改变上游信息"
 
-#: builtin/branch.c:660
+#: builtin/branch.c:652
 msgid "Unset the upstream info"
 msgstr "取消上游信息的设置"
 
-#: builtin/branch.c:661
+#: builtin/branch.c:653
 msgid "use colored output"
 msgstr "使用彩色输出"
 
-#: builtin/branch.c:662
+#: builtin/branch.c:654
 msgid "act on remote-tracking branches"
 msgstr "作用于远程跟踪分支"
 
-#: builtin/branch.c:664 builtin/branch.c:665
+#: builtin/branch.c:656 builtin/branch.c:657
 msgid "print only branches that contain the commit"
 msgstr "只打印包含该提交的分支"
 
-#: builtin/branch.c:668
+#: builtin/branch.c:660
 msgid "Specific git-branch actions:"
 msgstr "具体的 git-branch 动作："
 
-#: builtin/branch.c:669
+#: builtin/branch.c:661
 msgid "list both remote-tracking and local branches"
 msgstr "列出远程跟踪及本地分支"
 
-#: builtin/branch.c:671
+#: builtin/branch.c:663
 msgid "delete fully merged branch"
 msgstr "删除完全合并的分支"
 
-#: builtin/branch.c:672
+#: builtin/branch.c:664
 msgid "delete branch (even if not merged)"
 msgstr "删除分支（即使没有合并）"
 
-#: builtin/branch.c:673
+#: builtin/branch.c:665
 msgid "move/rename a branch and its reflog"
 msgstr "移动/重命名一个分支，以及它的引用日志"
 
-#: builtin/branch.c:674
+#: builtin/branch.c:666
 msgid "move/rename a branch, even if target exists"
 msgstr "移动/重命名一个分支，即使目标已存在"
 
-#: builtin/branch.c:675
+#: builtin/branch.c:667
 msgid "list branch names"
 msgstr "列出分支名"
 
-#: builtin/branch.c:676
+#: builtin/branch.c:668
 msgid "create the branch's reflog"
 msgstr "创建分支的引用日志"
 
-#: builtin/branch.c:678
+#: builtin/branch.c:670
 msgid "edit the description for the branch"
 msgstr "标记分支的描述"
 
-#: builtin/branch.c:679
+#: builtin/branch.c:671
 msgid "force creation, move/rename, deletion"
 msgstr "强制创建、移动/重命名、删除"
 
-#: builtin/branch.c:680
+#: builtin/branch.c:672
 msgid "print only branches that are merged"
 msgstr "只打印已经合并的分支"
 
-#: builtin/branch.c:681
+#: builtin/branch.c:673
 msgid "print only branches that are not merged"
 msgstr "只打印尚未合并的分支"
 
-#: builtin/branch.c:682
+#: builtin/branch.c:674
 msgid "list branches in columns"
 msgstr "以列的方式显示分支"
 
-#: builtin/branch.c:683 builtin/for-each-ref.c:38 builtin/tag.c:366
+#: builtin/branch.c:675 builtin/for-each-ref.c:38 builtin/tag.c:381
 msgid "key"
 msgstr "key"
 
-#: builtin/branch.c:684 builtin/for-each-ref.c:39 builtin/tag.c:367
+#: builtin/branch.c:676 builtin/for-each-ref.c:39 builtin/tag.c:382
 msgid "field name to sort on"
 msgstr "排序的字段名"
 
-#: builtin/branch.c:686 builtin/for-each-ref.c:41 builtin/notes.c:404
+#: builtin/branch.c:678 builtin/for-each-ref.c:41 builtin/notes.c:404
 #: builtin/notes.c:407 builtin/notes.c:567 builtin/notes.c:570
-#: builtin/tag.c:369
+#: builtin/tag.c:384
 msgid "object"
 msgstr "对象"
 
-#: builtin/branch.c:687
+#: builtin/branch.c:679
 msgid "print only branches of the object"
 msgstr "只打印指向该对象的分支"
 
-#: builtin/branch.c:705
+#: builtin/branch.c:681 builtin/for-each-ref.c:46 builtin/tag.c:388
+msgid "sorting and filtering are case insensitive"
+msgstr "排序和过滤属于大小写不敏感"
+
+#: builtin/branch.c:698
 msgid "Failed to resolve HEAD as a valid ref."
 msgstr "无法将 HEAD 解析为有效引用。"
 
-#: builtin/branch.c:709 builtin/clone.c:706
+#: builtin/branch.c:702 builtin/clone.c:706
 msgid "HEAD not found below refs/heads!"
 msgstr "HEAD 没有位于 /refs/heads 之下！"
 
-#: builtin/branch.c:729
+#: builtin/branch.c:724
 msgid "--column and --verbose are incompatible"
 msgstr "--column 和 --verbose 不兼容"
 
-#: builtin/branch.c:740 builtin/branch.c:782
+#: builtin/branch.c:735 builtin/branch.c:787
 msgid "branch name required"
 msgstr "必须提供分支名"
 
-#: builtin/branch.c:758
+#: builtin/branch.c:763
 msgid "Cannot give description to detached HEAD"
 msgstr "不能向分离头指针提供描述"
 
-#: builtin/branch.c:763
+#: builtin/branch.c:768
 msgid "cannot edit description of more than one branch"
 msgstr "不能为一个以上的分支编辑描述"
 
-#: builtin/branch.c:770
+#: builtin/branch.c:775
 #, c-format
 msgid "No commit on branch '%s' yet."
 msgstr "分支 '%s' 尚无提交。"
 
-#: builtin/branch.c:773
+#: builtin/branch.c:778
 #, c-format
 msgid "No branch named '%s'."
 msgstr "没有分支 '%s'。"
 
-#: builtin/branch.c:788
+#: builtin/branch.c:793
 msgid "too many branches for a rename operation"
 msgstr "为重命名操作提供了太多的分支名"
 
-#: builtin/branch.c:793
+#: builtin/branch.c:798
 msgid "too many branches to set new upstream"
 msgstr "为设置新上游提供了太多的分支名"
 
-#: builtin/branch.c:797
+#: builtin/branch.c:802
 #, c-format
 msgid ""
 "could not set upstream of HEAD to %s when it does not point to any branch."
 msgstr "无法设置 HEAD 的上游为 %s，因为 HEAD 没有指向任何分支。"
 
-#: builtin/branch.c:800 builtin/branch.c:822 builtin/branch.c:843
+#: builtin/branch.c:805 builtin/branch.c:827 builtin/branch.c:848
 #, c-format
 msgid "no such branch '%s'"
 msgstr "没有此分支 '%s'"
 
-#: builtin/branch.c:804
+#: builtin/branch.c:809
 #, c-format
 msgid "branch '%s' does not exist"
 msgstr "分支 '%s' 不存在"
 
-#: builtin/branch.c:816
+#: builtin/branch.c:821
 msgid "too many branches to unset upstream"
 msgstr "为取消上游设置操作提供了太多的分支名"
 
-#: builtin/branch.c:820
+#: builtin/branch.c:825
 msgid "could not unset upstream of HEAD when it does not point to any branch."
 msgstr "无法取消 HEAD 的上游设置因为它没有指向一个分支"
 
-#: builtin/branch.c:826
+#: builtin/branch.c:831
 #, c-format
 msgid "Branch '%s' has no upstream information"
 msgstr "分支 '%s' 没有上游信息"
 
-#: builtin/branch.c:840
+#: builtin/branch.c:845
 msgid "it does not make sense to create 'HEAD' manually"
 msgstr "手工创建 'HEAD' 没有意义"
 
-#: builtin/branch.c:846
+#: builtin/branch.c:851
 msgid "-a and -r options to 'git branch' do not make sense with a branch name"
 msgstr "'git branch' 的 -a 和 -r 选项带一个分支名参数没有意义"
 
-#: builtin/branch.c:849
+#: builtin/branch.c:854
 #, c-format
 msgid ""
 "The --set-upstream flag is deprecated and will be removed. Consider using --"
@@ -5209,7 +5518,7 @@
 msgstr ""
 "选项 --set-upstream 已弃用并将被移除。考虑使用 --track 或 --set-upstream-to\n"
 
-#: builtin/branch.c:866
+#: builtin/branch.c:871
 #, c-format
 msgid ""
 "\n"
@@ -5277,7 +5586,7 @@
 msgid "for blob objects, run filters on object's content"
 msgstr "对于数据对象，对其内容做过滤"
 
-#: builtin/cat-file.c:561 git-submodule.sh:923
+#: builtin/cat-file.c:561 git-submodule.sh:929
 msgid "blob"
 msgstr "数据对象"
 
@@ -5333,7 +5642,7 @@
 msgid "terminate input and output records by a NUL character"
 msgstr "输入和输出的记录使用 NUL 字符终结"
 
-#: builtin/check-ignore.c:18 builtin/checkout.c:1137 builtin/gc.c:325
+#: builtin/check-ignore.c:18 builtin/checkout.c:1140 builtin/gc.c:332
 msgid "suppress progress reporting"
 msgstr "不显示进度报告"
 
@@ -5423,9 +5732,9 @@
 msgstr "将内容写入临时文件"
 
 #: builtin/checkout-index.c:174 builtin/column.c:30
-#: builtin/submodule--helper.c:595 builtin/submodule--helper.c:598
-#: builtin/submodule--helper.c:604 builtin/submodule--helper.c:951
-#: builtin/worktree.c:469
+#: builtin/submodule--helper.c:597 builtin/submodule--helper.c:600
+#: builtin/submodule--helper.c:606 builtin/submodule--helper.c:967
+#: builtin/worktree.c:471
 msgid "string"
 msgstr "字符串"
 
@@ -5500,51 +5809,51 @@
 msgid "you need to resolve your current index first"
 msgstr "您需要先解决当前索引的冲突"
 
-#: builtin/checkout.c:624
+#: builtin/checkout.c:625
 #, c-format
 msgid "Can not do reflog for '%s': %s\n"
 msgstr "不能对 '%s' 执行 reflog 操作：%s\n"
 
-#: builtin/checkout.c:663
+#: builtin/checkout.c:666
 msgid "HEAD is now at"
 msgstr "HEAD 目前位于"
 
-#: builtin/checkout.c:667 builtin/clone.c:660
+#: builtin/checkout.c:670 builtin/clone.c:660
 msgid "unable to update HEAD"
 msgstr "不能更新 HEAD"
 
-#: builtin/checkout.c:671
+#: builtin/checkout.c:674
 #, c-format
 msgid "Reset branch '%s'\n"
 msgstr "重置分支 '%s'\n"
 
-#: builtin/checkout.c:674
+#: builtin/checkout.c:677
 #, c-format
 msgid "Already on '%s'\n"
 msgstr "已经位于 '%s'\n"
 
-#: builtin/checkout.c:678
+#: builtin/checkout.c:681
 #, c-format
 msgid "Switched to and reset branch '%s'\n"
 msgstr "切换并重置分支 '%s'\n"
 
-#: builtin/checkout.c:680 builtin/checkout.c:1069
+#: builtin/checkout.c:683 builtin/checkout.c:1072
 #, c-format
 msgid "Switched to a new branch '%s'\n"
 msgstr "切换到一个新分支 '%s'\n"
 
-#: builtin/checkout.c:682
+#: builtin/checkout.c:685
 #, c-format
 msgid "Switched to branch '%s'\n"
 msgstr "切换到分支 '%s'\n"
 
 #  译者：注意保持前导空格
-#: builtin/checkout.c:733
+#: builtin/checkout.c:736
 #, c-format
 msgid " ... and %d more.\n"
 msgstr " ... 及其它 %d 个。\n"
 
-#: builtin/checkout.c:739
+#: builtin/checkout.c:742
 #, c-format
 msgid ""
 "Warning: you are leaving %d commit behind, not connected to\n"
@@ -5565,7 +5874,7 @@
 "\n"
 "%s\n"
 
-#: builtin/checkout.c:758
+#: builtin/checkout.c:761
 #, c-format
 msgid ""
 "If you want to keep it by creating a new branch, this may be a good time\n"
@@ -5592,150 +5901,150 @@
 " git branch <新分支名> %s\n"
 "\n"
 
-#: builtin/checkout.c:794
+#: builtin/checkout.c:797
 msgid "internal error in revision walk"
 msgstr "在版本遍历时遇到内部错误"
 
-#: builtin/checkout.c:798
+#: builtin/checkout.c:801
 msgid "Previous HEAD position was"
 msgstr "之前的 HEAD 位置是"
 
-#: builtin/checkout.c:825 builtin/checkout.c:1064
+#: builtin/checkout.c:828 builtin/checkout.c:1067
 msgid "You are on a branch yet to be born"
 msgstr "您位于一个尚未初始化的分支"
 
-#: builtin/checkout.c:970
+#: builtin/checkout.c:973
 #, c-format
 msgid "only one reference expected, %d given."
 msgstr "应只有一个引用，却给出了 %d 个"
 
-#: builtin/checkout.c:1010 builtin/worktree.c:214
+#: builtin/checkout.c:1013 builtin/worktree.c:214
 #, c-format
 msgid "invalid reference: %s"
 msgstr "无效引用：%s"
 
-#: builtin/checkout.c:1039
+#: builtin/checkout.c:1042
 #, c-format
 msgid "reference is not a tree: %s"
 msgstr "引用不是一个树：%s"
 
-#: builtin/checkout.c:1078
+#: builtin/checkout.c:1081
 msgid "paths cannot be used with switching branches"
 msgstr "路径不能和切换分支同时使用"
 
-#: builtin/checkout.c:1081 builtin/checkout.c:1085
+#: builtin/checkout.c:1084 builtin/checkout.c:1088
 #, c-format
 msgid "'%s' cannot be used with switching branches"
 msgstr "'%s' 不能和切换分支同时使用"
 
-#: builtin/checkout.c:1089 builtin/checkout.c:1092 builtin/checkout.c:1097
-#: builtin/checkout.c:1100
+#: builtin/checkout.c:1092 builtin/checkout.c:1095 builtin/checkout.c:1100
+#: builtin/checkout.c:1103
 #, c-format
 msgid "'%s' cannot be used with '%s'"
 msgstr "'%s' 不能和 '%s' 同时使用"
 
-#: builtin/checkout.c:1105
+#: builtin/checkout.c:1108
 #, c-format
 msgid "Cannot switch branch to a non-commit '%s'"
 msgstr "不能切换分支到一个非提交 '%s'"
 
-#: builtin/checkout.c:1138 builtin/checkout.c:1140 builtin/clone.c:93
+#: builtin/checkout.c:1141 builtin/checkout.c:1143 builtin/clone.c:93
 #: builtin/remote.c:165 builtin/remote.c:167 builtin/worktree.c:324
 #: builtin/worktree.c:326
 msgid "branch"
 msgstr "分支"
 
-#: builtin/checkout.c:1139
+#: builtin/checkout.c:1142
 msgid "create and checkout a new branch"
 msgstr "创建并检出一个新的分支"
 
-#: builtin/checkout.c:1141
+#: builtin/checkout.c:1144
 msgid "create/reset and checkout a branch"
 msgstr "创建/重置并检出一个分支"
 
-#: builtin/checkout.c:1142
+#: builtin/checkout.c:1145
 msgid "create reflog for new branch"
 msgstr "为新的分支创建引用日志"
 
-#: builtin/checkout.c:1143 builtin/worktree.c:328
+#: builtin/checkout.c:1146 builtin/worktree.c:328
 msgid "detach HEAD at named commit"
 msgstr "HEAD 从指定的提交分离"
 
-#: builtin/checkout.c:1144
+#: builtin/checkout.c:1147
 msgid "set upstream info for new branch"
 msgstr "为新的分支设置上游信息"
 
-#: builtin/checkout.c:1146
+#: builtin/checkout.c:1149
 msgid "new-branch"
 msgstr "新分支"
 
-#: builtin/checkout.c:1146
+#: builtin/checkout.c:1149
 msgid "new unparented branch"
 msgstr "新的没有父提交的分支"
 
-#: builtin/checkout.c:1147
+#: builtin/checkout.c:1150
 msgid "checkout our version for unmerged files"
 msgstr "对尚未合并的文件检出我们的版本"
 
-#: builtin/checkout.c:1149
+#: builtin/checkout.c:1152
 msgid "checkout their version for unmerged files"
 msgstr "对尚未合并的文件检出他们的版本"
 
-#: builtin/checkout.c:1151
+#: builtin/checkout.c:1154
 msgid "force checkout (throw away local modifications)"
 msgstr "强制检出（丢弃本地修改）"
 
-#: builtin/checkout.c:1152
+#: builtin/checkout.c:1155
 msgid "perform a 3-way merge with the new branch"
 msgstr "和新的分支执行三方合并"
 
-#: builtin/checkout.c:1153 builtin/merge.c:231
+#: builtin/checkout.c:1156 builtin/merge.c:235
 msgid "update ignored files (default)"
 msgstr "更新忽略的文件（默认）"
 
-#: builtin/checkout.c:1154 builtin/log.c:1466 parse-options.h:251
+#: builtin/checkout.c:1157 builtin/log.c:1466 parse-options.h:251
 msgid "style"
 msgstr "风格"
 
-#: builtin/checkout.c:1155
+#: builtin/checkout.c:1158
 msgid "conflict style (merge or diff3)"
 msgstr "冲突输出风格（merge 或 diff3）"
 
-#: builtin/checkout.c:1158
+#: builtin/checkout.c:1161
 msgid "do not limit pathspecs to sparse entries only"
 msgstr "对路径不做稀疏检出的限制"
 
-#: builtin/checkout.c:1160
+#: builtin/checkout.c:1163
 msgid "second guess 'git checkout <no-such-branch>'"
 msgstr "二次猜测'git checkout <无此分支>'"
 
-#: builtin/checkout.c:1162
+#: builtin/checkout.c:1165
 msgid "do not check if another worktree is holding the given ref"
 msgstr "不检查指定的引用是否被其他工作区所占用"
 
-#: builtin/checkout.c:1163 builtin/clone.c:63 builtin/fetch.c:119
-#: builtin/merge.c:228 builtin/pull.c:117 builtin/push.c:536
+#: builtin/checkout.c:1166 builtin/clone.c:63 builtin/fetch.c:119
+#: builtin/merge.c:232 builtin/pull.c:117 builtin/push.c:539
 #: builtin/send-pack.c:168
 msgid "force progress reporting"
 msgstr "强制显示进度报告"
 
-#: builtin/checkout.c:1194
+#: builtin/checkout.c:1197
 msgid "-b, -B and --orphan are mutually exclusive"
 msgstr "-b、-B 和 --orphan 是互斥的"
 
-#: builtin/checkout.c:1211
+#: builtin/checkout.c:1214
 msgid "--track needs a branch name"
 msgstr "--track 需要一个分支名"
 
-#: builtin/checkout.c:1216
+#: builtin/checkout.c:1219
 msgid "Missing branch name; try -b"
 msgstr "缺少分支名；尝试 -b"
 
-#: builtin/checkout.c:1252
+#: builtin/checkout.c:1255
 msgid "invalid path specification"
 msgstr "无效的路径规格"
 
-#: builtin/checkout.c:1259
+#: builtin/checkout.c:1262
 #, c-format
 msgid ""
 "Cannot update paths and switch to branch '%s' at the same time.\n"
@@ -5744,12 +6053,12 @@
 "不能同时更新路径并切换到分支'%s'。\n"
 "您是想要检出 '%s' 但其未能解析为提交么？"
 
-#: builtin/checkout.c:1264
+#: builtin/checkout.c:1267
 #, c-format
 msgid "git checkout: --detach does not take a path argument '%s'"
 msgstr "git checkout：--detach 不能接收路径参数 '%s'"
 
-#: builtin/checkout.c:1268
+#: builtin/checkout.c:1271
 msgid ""
 "git checkout: --ours/--theirs, --force and --merge are incompatible when\n"
 "checking out of the index."
@@ -5787,19 +6096,21 @@
 msgid "failed to remove %s"
 msgstr "无法删除 %s"
 
-#: builtin/clean.c:291
+#: builtin/clean.c:291 git-add--interactive.perl:623
+#, c-format
 msgid ""
 "Prompt help:\n"
 "1          - select a numbered item\n"
 "foo        - select item based on unique prefix\n"
-"           - (empty) select nothing"
+"           - (empty) select nothing\n"
 msgstr ""
 "帮助：\n"
 "1          - 通过编号选择一个选项\n"
-"foo        - 通过标题选择一个选项\n"
-"           - （空）什么也不选择"
+"foo        - 通过唯一前缀选择一个选项\n"
+"           - （空）什么也不选择\n"
 
-#: builtin/clean.c:295
+#: builtin/clean.c:295 git-add--interactive.perl:632
+#, c-format
 msgid ""
 "Prompt help:\n"
 "1          - select a single item\n"
@@ -5808,21 +6119,22 @@
 "foo        - select item based on unique prefix\n"
 "-...       - unselect specified items\n"
 "*          - choose all items\n"
-"           - (empty) finish selecting"
+"           - (empty) finish selecting\n"
 msgstr ""
 "帮助：\n"
 "1          - 选择一个选项\n"
 "3-5        - 选择一个范围内的所有选项\n"
 "2-3,6-9    - 选择多个范围内的所有选项\n"
-"foo        - 通过标题选择一个选项\n"
+"foo        - 通过唯一前缀选择一个选项\n"
 "-...       - 反选特定的选项\n"
 "*          - 选择所有选项\n"
-"           - （空）结束选择"
+"           - （空）结束选择\n"
 
-#: builtin/clean.c:511
-#, c-format
-msgid "Huh (%s)?"
-msgstr "嗯（%s）？"
+#: builtin/clean.c:511 git-add--interactive.perl:598
+#: git-add--interactive.perl:603
+#, c-format, perl-format
+msgid "Huh (%s)?\n"
+msgstr "嗯（%s）？\n"
 
 #: builtin/clean.c:653
 #, c-format
@@ -5844,9 +6156,10 @@
 msgid "Remove %s [y/N]? "
 msgstr "删除 %s [y/N]？"
 
-#: builtin/clean.c:777
-msgid "Bye."
-msgstr "再见。"
+#: builtin/clean.c:777 git-add--interactive.perl:1669
+#, c-format
+msgid "Bye.\n"
+msgstr "再见。\n"
 
 #: builtin/clean.c:785
 msgid ""
@@ -5866,11 +6179,11 @@
 "help                - 显示本帮助\n"
 "?                   - 显示如何在提示符下选择的帮助"
 
-#: builtin/clean.c:812
+#: builtin/clean.c:812 git-add--interactive.perl:1745
 msgid "*** Commands ***"
 msgstr "*** 命令 ***"
 
-#: builtin/clean.c:813
+#: builtin/clean.c:813 git-add--interactive.perl:1742
 msgid "What now"
 msgstr "请选择"
 
@@ -5900,8 +6213,8 @@
 msgid "remove whole directories"
 msgstr "删除整个目录"
 
-#: builtin/clean.c:875 builtin/describe.c:407 builtin/grep.c:725
-#: builtin/ls-files.c:536 builtin/name-rev.c:313 builtin/show-ref.c:182
+#: builtin/clean.c:875 builtin/describe.c:407 builtin/grep.c:1056
+#: builtin/ls-files.c:538 builtin/name-rev.c:313 builtin/show-ref.c:176
 msgid "pattern"
 msgstr "模式"
 
@@ -5979,8 +6292,8 @@
 msgid "directory from which templates will be used"
 msgstr "模板目录将被使用"
 
-#: builtin/clone.c:86 builtin/clone.c:88 builtin/submodule--helper.c:602
-#: builtin/submodule--helper.c:954
+#: builtin/clone.c:86 builtin/clone.c:88 builtin/submodule--helper.c:604
+#: builtin/submodule--helper.c:970
 msgid "reference repository"
 msgstr "参考仓库"
 
@@ -6004,7 +6317,7 @@
 msgid "path to git-upload-pack on the remote"
 msgstr "远程 git-upload-pack 路径"
 
-#: builtin/clone.c:97 builtin/fetch.c:120 builtin/grep.c:668
+#: builtin/clone.c:97 builtin/fetch.c:120 builtin/grep.c:999
 #: builtin/pull.c:202
 msgid "depth"
 msgstr "深度"
@@ -6013,7 +6326,7 @@
 msgid "create a shallow clone of that depth"
 msgstr "创建一个指定深度的浅克隆"
 
-#: builtin/clone.c:99 builtin/fetch.c:122 builtin/pack-objects.c:2848
+#: builtin/clone.c:99 builtin/fetch.c:122 builtin/pack-objects.c:2836
 #: parse-options.h:142
 msgid "time"
 msgstr "时间"
@@ -6027,8 +6340,8 @@
 msgstr "版本"
 
 #: builtin/clone.c:102 builtin/fetch.c:125
-msgid "deepen history of shallow clone by excluding rev"
-msgstr "通过排除版本来深化浅克隆的历史"
+msgid "deepen history of shallow clone, excluding rev"
+msgstr "深化浅克隆的历史，除了特定版本"
 
 #: builtin/clone.c:104
 msgid "clone only one branch, HEAD or --branch"
@@ -6054,11 +6367,11 @@
 msgid "set config inside the new repository"
 msgstr "在新仓库中设置配置信息"
 
-#: builtin/clone.c:111 builtin/fetch.c:140 builtin/push.c:547
+#: builtin/clone.c:111 builtin/fetch.c:140 builtin/push.c:550
 msgid "use IPv4 addresses only"
 msgstr "只使用 IPv4 地址"
 
-#: builtin/clone.c:113 builtin/fetch.c:142 builtin/push.c:549
+#: builtin/clone.c:113 builtin/fetch.c:142 builtin/push.c:552
 msgid "use IPv6 addresses only"
 msgstr "只使用 IPv6 地址"
 
@@ -6171,7 +6484,7 @@
 msgid "repository '%s' does not exist"
 msgstr "仓库 '%s' 不存在"
 
-#: builtin/clone.c:905 builtin/fetch.c:1338
+#: builtin/clone.c:905 builtin/fetch.c:1335
 #, c-format
 msgid "depth %s is not a positive number"
 msgstr "深度 %s 不是一个正数"
@@ -6186,8 +6499,9 @@
 msgid "working tree '%s' already exists."
 msgstr "工作区 '%s' 已经存在。"
 
-#: builtin/clone.c:940 builtin/clone.c:951 builtin/submodule--helper.c:657
-#: builtin/worktree.c:222 builtin/worktree.c:249
+#: builtin/clone.c:940 builtin/clone.c:951 builtin/difftool.c:252
+#: builtin/submodule--helper.c:659 builtin/worktree.c:222
+#: builtin/worktree.c:249
 #, c-format
 msgid "could not create leading directories of '%s'"
 msgstr "不能为 '%s' 创建先导目录"
@@ -6447,7 +6761,7 @@
 msgid "could not lookup commit %s"
 msgstr "不能查询提交 %s"
 
-#: builtin/commit.c:704 builtin/shortlog.c:286
+#: builtin/commit.c:704 builtin/shortlog.c:295
 #, c-format
 msgid "(reading log message from standard input)\n"
 msgstr "（正从标准输入中读取日志信息）\n"
@@ -6546,7 +6860,7 @@
 msgid "Error building trees"
 msgstr "无法创建树对象"
 
-#: builtin/commit.c:969 builtin/tag.c:266
+#: builtin/commit.c:968 builtin/tag.c:280
 #, c-format
 msgid "Please supply the message using either -m or -F option.\n"
 msgstr "请使用 -m 或 -F 选项提供提交说明。\n"
@@ -6556,7 +6870,7 @@
 msgid "--author '%s' is not 'Name <email>' and matches no existing author"
 msgstr "--author '%s' 不是 'Name <email>' 格式，且未能在现有作者中找到匹配"
 
-#: builtin/commit.c:1086 builtin/commit.c:1327
+#: builtin/commit.c:1086 builtin/commit.c:1325
 #, c-format
 msgid "Invalid untracked files mode '%s'"
 msgstr "无效的未追踪文件参数 '%s'"
@@ -6606,265 +6920,261 @@
 msgstr "参数 --include/--only 不跟路径没有意义。"
 
 #: builtin/commit.c:1212
-msgid "Clever... amending the last one with dirty index."
-msgstr "聪明... 用脏索引修补最后一个提交。"
-
-#: builtin/commit.c:1214
 msgid "Explicit paths specified without -i or -o; assuming --only paths..."
 msgstr "指定了明确的路径而没有使用 -i 或 -o 选项，认为是 --only paths..."
 
-#: builtin/commit.c:1226 builtin/tag.c:474
+#: builtin/commit.c:1224 builtin/tag.c:495
 #, c-format
 msgid "Invalid cleanup mode %s"
 msgstr "无效的清理模式 %s"
 
-#: builtin/commit.c:1231
+#: builtin/commit.c:1229
 msgid "Paths with -a does not make sense."
 msgstr "路径和 -a 选项同时使用没有意义。"
 
-#: builtin/commit.c:1341 builtin/commit.c:1617
+#: builtin/commit.c:1339 builtin/commit.c:1612
 msgid "show status concisely"
 msgstr "以简洁的格式显示状态"
 
-#: builtin/commit.c:1343 builtin/commit.c:1619
+#: builtin/commit.c:1341 builtin/commit.c:1614
 msgid "show branch information"
 msgstr "显示分支信息"
 
-#: builtin/commit.c:1345
+#: builtin/commit.c:1343
 msgid "version"
 msgstr "版本"
 
-#: builtin/commit.c:1345 builtin/commit.c:1621 builtin/push.c:522
-#: builtin/worktree.c:440
+#: builtin/commit.c:1343 builtin/commit.c:1616 builtin/push.c:525
+#: builtin/worktree.c:442
 msgid "machine-readable output"
 msgstr "机器可读的输出"
 
-#: builtin/commit.c:1348 builtin/commit.c:1623
+#: builtin/commit.c:1346 builtin/commit.c:1618
 msgid "show status in long format (default)"
 msgstr "以长格式显示状态（默认）"
 
-#: builtin/commit.c:1351 builtin/commit.c:1626
+#: builtin/commit.c:1349 builtin/commit.c:1621
 msgid "terminate entries with NUL"
 msgstr "条目以 NUL 字符结尾"
 
-#: builtin/commit.c:1353 builtin/commit.c:1629 builtin/fast-export.c:981
-#: builtin/fast-export.c:984 builtin/tag.c:353
+#: builtin/commit.c:1351 builtin/commit.c:1624 builtin/fast-export.c:981
+#: builtin/fast-export.c:984 builtin/tag.c:368
 msgid "mode"
 msgstr "模式"
 
-#: builtin/commit.c:1354 builtin/commit.c:1629
+#: builtin/commit.c:1352 builtin/commit.c:1624
 msgid "show untracked files, optional modes: all, normal, no. (Default: all)"
 msgstr "显示未跟踪的文件，“模式”的可选参数：all、normal、no。（默认：all）"
 
-#: builtin/commit.c:1357
+#: builtin/commit.c:1355
 msgid "show ignored files"
 msgstr "显示忽略的文件"
 
-#: builtin/commit.c:1358 parse-options.h:155
+#: builtin/commit.c:1356 parse-options.h:155
 msgid "when"
 msgstr "何时"
 
-#: builtin/commit.c:1359
+#: builtin/commit.c:1357
 msgid ""
 "ignore changes to submodules, optional when: all, dirty, untracked. "
 "(Default: all)"
 msgstr ""
 "忽略子模组的更改，“何时”的可选参数：all、dirty、untracked。（默认：all）"
 
-#: builtin/commit.c:1361
+#: builtin/commit.c:1359
 msgid "list untracked files in columns"
 msgstr "以列的方式显示未跟踪的文件"
 
-#: builtin/commit.c:1437
+#: builtin/commit.c:1435
 msgid "couldn't look up newly created commit"
 msgstr "无法找到新创建的提交"
 
-#: builtin/commit.c:1439
+#: builtin/commit.c:1437
 msgid "could not parse newly created commit"
 msgstr "不能解析新创建的提交"
 
-#: builtin/commit.c:1484
+#: builtin/commit.c:1482
 msgid "detached HEAD"
 msgstr "分离头指针"
 
 #  译者：中文字符串拼接，可删除前导空格
-#: builtin/commit.c:1487
+#: builtin/commit.c:1485
 msgid " (root-commit)"
 msgstr "（根提交）"
 
-#: builtin/commit.c:1587
+#: builtin/commit.c:1582
 msgid "suppress summary after successful commit"
 msgstr "提交成功后不显示概述信息"
 
-#: builtin/commit.c:1588
+#: builtin/commit.c:1583
 msgid "show diff in commit message template"
 msgstr "在提交说明模板里显示差异"
 
-#: builtin/commit.c:1590
+#: builtin/commit.c:1585
 msgid "Commit message options"
 msgstr "提交说明选项"
 
-#: builtin/commit.c:1591 builtin/tag.c:351
+#: builtin/commit.c:1586 builtin/tag.c:366
 msgid "read message from file"
 msgstr "从文件中读取提交说明"
 
-#: builtin/commit.c:1592
+#: builtin/commit.c:1587
 msgid "author"
 msgstr "作者"
 
-#: builtin/commit.c:1592
+#: builtin/commit.c:1587
 msgid "override author for commit"
 msgstr "提交时覆盖作者"
 
-#: builtin/commit.c:1593 builtin/gc.c:326
+#: builtin/commit.c:1588 builtin/gc.c:333
 msgid "date"
 msgstr "日期"
 
-#: builtin/commit.c:1593
+#: builtin/commit.c:1588
 msgid "override date for commit"
 msgstr "提交时覆盖日期"
 
-#: builtin/commit.c:1594 builtin/merge.c:220 builtin/notes.c:398
-#: builtin/notes.c:561 builtin/tag.c:349
+#: builtin/commit.c:1589 builtin/merge.c:222 builtin/notes.c:398
+#: builtin/notes.c:561 builtin/tag.c:364
 msgid "message"
 msgstr "说明"
 
-#: builtin/commit.c:1594
+#: builtin/commit.c:1589
 msgid "commit message"
 msgstr "提交说明"
 
-#: builtin/commit.c:1595 builtin/commit.c:1596 builtin/commit.c:1597
-#: builtin/commit.c:1598 parse-options.h:257 ref-filter.h:79
+#: builtin/commit.c:1590 builtin/commit.c:1591 builtin/commit.c:1592
+#: builtin/commit.c:1593 parse-options.h:257 ref-filter.h:81
 msgid "commit"
 msgstr "提交"
 
-#: builtin/commit.c:1595
+#: builtin/commit.c:1590
 msgid "reuse and edit message from specified commit"
 msgstr "重用并编辑指定提交的提交说明"
 
-#: builtin/commit.c:1596
+#: builtin/commit.c:1591
 msgid "reuse message from specified commit"
 msgstr "重用指定提交的提交说明"
 
-#: builtin/commit.c:1597
+#: builtin/commit.c:1592
 msgid "use autosquash formatted message to fixup specified commit"
 msgstr "使用 autosquash 格式的提交说明用以修正指定的提交"
 
-#: builtin/commit.c:1598
+#: builtin/commit.c:1593
 msgid "use autosquash formatted message to squash specified commit"
 msgstr "使用 autosquash 格式的提交说明用以压缩至指定的提交"
 
-#: builtin/commit.c:1599
+#: builtin/commit.c:1594
 msgid "the commit is authored by me now (used with -C/-c/--amend)"
 msgstr "现在将该提交的作者改为我（和 -C/-c/--amend 参数共用）"
 
-#: builtin/commit.c:1600 builtin/log.c:1413 builtin/revert.c:86
+#: builtin/commit.c:1595 builtin/log.c:1413 builtin/revert.c:86
 msgid "add Signed-off-by:"
 msgstr "添加 Signed-off-by: 签名"
 
-#: builtin/commit.c:1601
+#: builtin/commit.c:1596
 msgid "use specified template file"
 msgstr "使用指定的模板文件"
 
-#: builtin/commit.c:1602
+#: builtin/commit.c:1597
 msgid "force edit of commit"
 msgstr "强制编辑提交"
 
 #  译者：可选值，不能翻译（或是原文中笔误，应为 mode）
-#: builtin/commit.c:1603
+#: builtin/commit.c:1598
 msgid "default"
 msgstr "default"
 
-#: builtin/commit.c:1603 builtin/tag.c:354
+#: builtin/commit.c:1598 builtin/tag.c:369
 msgid "how to strip spaces and #comments from message"
 msgstr "设置如何删除提交说明里的空格和#注释"
 
-#: builtin/commit.c:1604
+#: builtin/commit.c:1599
 msgid "include status in commit message template"
 msgstr "在提交说明模板里包含状态信息"
 
-#: builtin/commit.c:1606 builtin/merge.c:230 builtin/pull.c:166
+#: builtin/commit.c:1601 builtin/merge.c:234 builtin/pull.c:166
 #: builtin/revert.c:93
 msgid "GPG sign commit"
 msgstr "GPG 提交签名"
 
-#: builtin/commit.c:1609
+#: builtin/commit.c:1604
 msgid "Commit contents options"
 msgstr "提交内容选项"
 
-#: builtin/commit.c:1610
+#: builtin/commit.c:1605
 msgid "commit all changed files"
 msgstr "提交所有改动的文件"
 
-#: builtin/commit.c:1611
+#: builtin/commit.c:1606
 msgid "add specified files to index for commit"
 msgstr "添加指定的文件到索引区等待提交"
 
-#: builtin/commit.c:1612
+#: builtin/commit.c:1607
 msgid "interactively add files"
 msgstr "交互式添加文件"
 
-#: builtin/commit.c:1613
+#: builtin/commit.c:1608
 msgid "interactively add changes"
 msgstr "交互式添加变更"
 
-#: builtin/commit.c:1614
+#: builtin/commit.c:1609
 msgid "commit only specified files"
 msgstr "只提交指定的文件"
 
-#: builtin/commit.c:1615
+#: builtin/commit.c:1610
 msgid "bypass pre-commit and commit-msg hooks"
 msgstr "绕过 pre-commit 和 commit-msg 钩子"
 
-#: builtin/commit.c:1616
+#: builtin/commit.c:1611
 msgid "show what would be committed"
 msgstr "显示将要提交的内容"
 
-#: builtin/commit.c:1627
+#: builtin/commit.c:1622
 msgid "amend previous commit"
 msgstr "修改先前的提交"
 
-#: builtin/commit.c:1628
+#: builtin/commit.c:1623
 msgid "bypass post-rewrite hook"
 msgstr "绕过 post-rewrite 钩子"
 
-#: builtin/commit.c:1633
+#: builtin/commit.c:1628
 msgid "ok to record an empty change"
 msgstr "允许一个空提交"
 
-#: builtin/commit.c:1635
+#: builtin/commit.c:1630
 msgid "ok to record a change with an empty message"
 msgstr "允许空的提交说明"
 
-#: builtin/commit.c:1664
+#: builtin/commit.c:1659
 msgid "could not parse HEAD commit"
 msgstr "不能解析 HEAD 提交"
 
-#: builtin/commit.c:1712
+#: builtin/commit.c:1707
 #, c-format
 msgid "Corrupt MERGE_HEAD file (%s)"
 msgstr "损坏的 MERGE_HEAD 文件（%s）"
 
-#: builtin/commit.c:1719
+#: builtin/commit.c:1714
 msgid "could not read MERGE_MODE"
 msgstr "不能读取 MERGE_MODE"
 
-#: builtin/commit.c:1738
+#: builtin/commit.c:1733
 #, c-format
 msgid "could not read commit message: %s"
 msgstr "不能读取提交说明：%s"
 
-#: builtin/commit.c:1749
+#: builtin/commit.c:1744
 #, c-format
 msgid "Aborting commit; you did not edit the message.\n"
 msgstr "终止提交；您未更改来自模版的提交说明。\n"
 
-#: builtin/commit.c:1754
+#: builtin/commit.c:1749
 #, c-format
 msgid "Aborting commit due to empty commit message.\n"
 msgstr "终止提交因为提交说明为空。\n"
 
-#: builtin/commit.c:1802
+#: builtin/commit.c:1797
 msgid ""
 "Repository has been updated, but unable to write\n"
 "new_index file. Check that disk is not full and quota is\n"
@@ -7186,35 +7496,118 @@
 msgid "--dirty is incompatible with commit-ishes"
 msgstr "--dirty 不能与提交同时使用"
 
-#: builtin/diff.c:86
+#: builtin/diff.c:83
 #, c-format
 msgid "'%s': not a regular file or symlink"
 msgstr "'%s'：不是一个正规文件或符号链接"
 
-#: builtin/diff.c:237
+#: builtin/diff.c:234
 #, c-format
 msgid "invalid option: %s"
 msgstr "无效选项：%s"
 
-#: builtin/diff.c:361
+#: builtin/diff.c:358
 msgid "Not a git repository"
 msgstr "不是一个 git 仓库"
 
-#: builtin/diff.c:404
+#: builtin/diff.c:401
 #, c-format
 msgid "invalid object '%s' given."
 msgstr "提供了无效对象 '%s'。"
 
-#: builtin/diff.c:413
+#: builtin/diff.c:410
 #, c-format
 msgid "more than two blobs given: '%s'"
 msgstr "提供了超过两个数据对象：'%s'"
 
-#: builtin/diff.c:420
+#: builtin/diff.c:417
 #, c-format
 msgid "unhandled object '%s' given."
 msgstr "无法处理的对象 '%s'。"
 
+#: builtin/difftool.c:28
+msgid "git difftool [<options>] [<commit> [<commit>]] [--] [<path>...]"
+msgstr "git difftool [<选项>] [<提交> [<提交>]] [--] [<路径>...]"
+
+#: builtin/difftool.c:241
+#, c-format
+msgid "failed: %d"
+msgstr "失败：%d"
+
+#: builtin/difftool.c:342
+msgid ""
+"combined diff formats('-c' and '--cc') are not supported in\n"
+"directory diff mode('-d' and '--dir-diff')."
+msgstr "不支持在目录比较模式（'-d' 和 '--dir-diff'）中采用组合差异格式（'-c' 和 '--cc'）。"
+
+#: builtin/difftool.c:567
+#, c-format
+msgid "both files modified: '%s' and '%s'."
+msgstr "两个文件都被修改：'%s' 和 '%s'。"
+
+#: builtin/difftool.c:569
+msgid "working tree file has been left."
+msgstr "工作区文件被留了下来。"
+
+#: builtin/difftool.c:580
+#, c-format
+msgid "temporary files exist in '%s'."
+msgstr "临时文件存在于 '%s'。"
+
+#: builtin/difftool.c:581
+msgid "you may want to cleanup or recover these."
+msgstr "您可能想要清理或者恢复它们。"
+
+#: builtin/difftool.c:626
+msgid "use `diff.guitool` instead of `diff.tool`"
+msgstr "使用 `diff.guitool` 代替 `diff.tool`"
+
+#: builtin/difftool.c:628
+msgid "perform a full-directory diff"
+msgstr "执行一个全目录差异比较"
+
+#: builtin/difftool.c:630
+msgid "do not prompt before launching a diff tool"
+msgstr "启动差异比较工具之前不提示"
+
+#: builtin/difftool.c:636
+msgid "use symlinks in dir-diff mode"
+msgstr "在 dir-diff 模式中使用符号链接"
+
+#: builtin/difftool.c:637
+msgid "<tool>"
+msgstr "<工具>"
+
+#: builtin/difftool.c:638
+msgid "use the specified diff tool"
+msgstr "使用指定的差异比较工具"
+
+#: builtin/difftool.c:640
+msgid "print a list of diff tools that may be used with `--tool`"
+msgstr "显示可以用在 `--tool` 参数后的差异工具列表"
+
+#: builtin/difftool.c:643
+msgid ""
+"make 'git-difftool' exit when an invoked diff tool returns a non - zero exit "
+"code"
+msgstr "当执行 diff 工具返回非零退出码时，使 'git-difftool' 退出"
+
+#: builtin/difftool.c:645
+msgid "<command>"
+msgstr "<命令>"
+
+#: builtin/difftool.c:646
+msgid "specify a custom command for viewing diffs"
+msgstr "指定一个用于查看差异的自定义命令"
+
+#: builtin/difftool.c:670
+msgid "no <tool> given for --tool=<tool>"
+msgstr "没有为 --tool=<工具> 参数提供 <工具>"
+
+#: builtin/difftool.c:677
+msgid "no <cmd> given for --extcmd=<cmd>"
+msgstr "没有为 --extcmd=<命令> 参数提供 <命令>"
+
 #: builtin/fast-export.c:25
 msgid "git fast-export [rev-list-opts]"
 msgstr "git fast-export [rev-list-opts]"
@@ -7372,77 +7765,77 @@
 msgid "specify fetch refmap"
 msgstr "指定获取操作的引用映射"
 
-#: builtin/fetch.c:398
+#: builtin/fetch.c:395
 msgid "Couldn't find remote ref HEAD"
 msgstr "无法发现远程 HEAD 引用"
 
-#: builtin/fetch.c:514
+#: builtin/fetch.c:511
 #, c-format
 msgid "configuration fetch.output contains invalid value %s"
 msgstr "配置变量 fetch.output 包含无效值 %s"
 
-#: builtin/fetch.c:607
+#: builtin/fetch.c:604
 #, c-format
 msgid "object %s not found"
 msgstr "对象 %s 未发现"
 
-#: builtin/fetch.c:611
+#: builtin/fetch.c:608
 msgid "[up to date]"
 msgstr "[最新]"
 
-#: builtin/fetch.c:624 builtin/fetch.c:704
+#: builtin/fetch.c:621 builtin/fetch.c:701
 msgid "[rejected]"
 msgstr "[已拒绝]"
 
-#: builtin/fetch.c:625
+#: builtin/fetch.c:622
 msgid "can't fetch in current branch"
 msgstr "当前分支下不能执行获取操作"
 
-#: builtin/fetch.c:634
+#: builtin/fetch.c:631
 msgid "[tag update]"
 msgstr "[标签更新]"
 
-#: builtin/fetch.c:635 builtin/fetch.c:668 builtin/fetch.c:684
-#: builtin/fetch.c:699
+#: builtin/fetch.c:632 builtin/fetch.c:665 builtin/fetch.c:681
+#: builtin/fetch.c:696
 msgid "unable to update local ref"
 msgstr "不能更新本地引用"
 
-#: builtin/fetch.c:654
+#: builtin/fetch.c:651
 msgid "[new tag]"
 msgstr "[新标签]"
 
-#: builtin/fetch.c:657
+#: builtin/fetch.c:654
 msgid "[new branch]"
 msgstr "[新分支]"
 
-#: builtin/fetch.c:660
+#: builtin/fetch.c:657
 msgid "[new ref]"
 msgstr "[新引用]"
 
-#: builtin/fetch.c:699
+#: builtin/fetch.c:696
 msgid "forced update"
 msgstr "强制更新"
 
-#: builtin/fetch.c:704
+#: builtin/fetch.c:701
 msgid "non-fast-forward"
 msgstr "非快进"
 
-#: builtin/fetch.c:749
+#: builtin/fetch.c:746
 #, c-format
 msgid "%s did not send all necessary objects\n"
 msgstr "%s 未发送所有必须的对象\n"
 
-#: builtin/fetch.c:769
+#: builtin/fetch.c:766
 #, c-format
 msgid "reject %s because shallow roots are not allowed to be updated"
 msgstr "拒绝 %s 因为浅克隆不允许被更新"
 
-#: builtin/fetch.c:856 builtin/fetch.c:952
+#: builtin/fetch.c:853 builtin/fetch.c:949
 #, c-format
 msgid "From %.*s\n"
 msgstr "来自 %.*s\n"
 
-#: builtin/fetch.c:867
+#: builtin/fetch.c:864
 #, c-format
 msgid ""
 "some local refs could not be updated; try running\n"
@@ -7452,95 +7845,95 @@
 " 'git remote prune %s' 来删除旧的、有冲突的分支"
 
 #  译者：注意保持前导空格
-#: builtin/fetch.c:922
+#: builtin/fetch.c:919
 #, c-format
 msgid "   (%s will become dangling)"
 msgstr "   （%s 将成为摇摆状态）"
 
 #  译者：注意保持前导空格
-#: builtin/fetch.c:923
+#: builtin/fetch.c:920
 #, c-format
 msgid "   (%s has become dangling)"
 msgstr "   （%s 已成为摇摆状态）"
 
-#: builtin/fetch.c:955
+#: builtin/fetch.c:952
 msgid "[deleted]"
 msgstr "[已删除]"
 
-#: builtin/fetch.c:956 builtin/remote.c:1020
+#: builtin/fetch.c:953 builtin/remote.c:1020
 msgid "(none)"
 msgstr "（无）"
 
-#: builtin/fetch.c:979
+#: builtin/fetch.c:976
 #, c-format
 msgid "Refusing to fetch into current branch %s of non-bare repository"
 msgstr "拒绝获取到非纯仓库的当前分支 %s"
 
-#: builtin/fetch.c:998
+#: builtin/fetch.c:995
 #, c-format
 msgid "Option \"%s\" value \"%s\" is not valid for %s"
 msgstr "选项 \"%s\" 的值 \"%s\" 对于 %s 是无效的"
 
-#: builtin/fetch.c:1001
+#: builtin/fetch.c:998
 #, c-format
 msgid "Option \"%s\" is ignored for %s\n"
 msgstr "选项 \"%s\" 为 %s 所忽略\n"
 
-#: builtin/fetch.c:1077
+#: builtin/fetch.c:1074
 #, c-format
 msgid "Don't know how to fetch from %s"
 msgstr "不知道如何从 %s 获取"
 
-#: builtin/fetch.c:1237
+#: builtin/fetch.c:1234
 #, c-format
 msgid "Fetching %s\n"
 msgstr "正在获取 %s\n"
 
-#: builtin/fetch.c:1239 builtin/remote.c:96
+#: builtin/fetch.c:1236 builtin/remote.c:96
 #, c-format
 msgid "Could not fetch %s"
 msgstr "不能获取 %s"
 
-#: builtin/fetch.c:1257
+#: builtin/fetch.c:1254
 msgid ""
 "No remote repository specified.  Please, specify either a URL or a\n"
 "remote name from which new revisions should be fetched."
 msgstr "未指定远程仓库。请通过一个 URL 或远程仓库名指定，用以获取新提交。"
 
-#: builtin/fetch.c:1280
+#: builtin/fetch.c:1277
 msgid "You need to specify a tag name."
 msgstr "您需要指定一个标签名称。"
 
-#: builtin/fetch.c:1322
+#: builtin/fetch.c:1319
 msgid "Negative depth in --deepen is not supported"
 msgstr "--deepen 不支持负数深度"
 
-#: builtin/fetch.c:1324
+#: builtin/fetch.c:1321
 msgid "--deepen and --depth are mutually exclusive"
 msgstr "--deepen 和 --depth 是互斥的"
 
-#: builtin/fetch.c:1329
+#: builtin/fetch.c:1326
 msgid "--depth and --unshallow cannot be used together"
 msgstr "--depth 和 --unshallow 不能同时使用"
 
-#: builtin/fetch.c:1331
+#: builtin/fetch.c:1328
 msgid "--unshallow on a complete repository does not make sense"
 msgstr "对于一个完整的仓库，参数 --unshallow 没有意义"
 
-#: builtin/fetch.c:1353
+#: builtin/fetch.c:1350
 msgid "fetch --all does not take a repository argument"
 msgstr "fetch --all 不能带一个仓库参数"
 
-#: builtin/fetch.c:1355
+#: builtin/fetch.c:1352
 msgid "fetch --all does not make sense with refspecs"
 msgstr "fetch --all 带引用规格没有任何意义"
 
-#: builtin/fetch.c:1366
+#: builtin/fetch.c:1363
 #, c-format
 msgid "No such remote or remote group: %s"
 msgstr "没有这样的远程或远程组：%s"
 
-#: builtin/fetch.c:1374
+#: builtin/fetch.c:1371
 msgid "Fetching a group and specifying refspecs does not make sense"
 msgstr "获取组并指定引用规格没有意义"
 
@@ -7605,7 +7998,7 @@
 msgid "show only <n> matched refs"
 msgstr "只显示 <n> 个匹配的引用"
 
-#: builtin/for-each-ref.c:37 builtin/tag.c:372
+#: builtin/for-each-ref.c:37 builtin/tag.c:387 builtin/verify-tag.c:38
 msgid "format to use for the output"
 msgstr "输出格式"
 
@@ -7625,63 +8018,63 @@
 msgid "print only refs which contain the commit"
 msgstr "只打印包含该提交的引用"
 
-#: builtin/fsck.c:519
+#: builtin/fsck.c:554
 msgid "Checking object directories"
 msgstr "检查对象目录中"
 
-#: builtin/fsck.c:588
+#: builtin/fsck.c:646
 msgid "git fsck [<options>] [<object>...]"
 msgstr "git fsck [<选项>] [<对象>...]"
 
-#: builtin/fsck.c:594
+#: builtin/fsck.c:652
 msgid "show unreachable objects"
 msgstr "显示不可达的对象"
 
-#: builtin/fsck.c:595
+#: builtin/fsck.c:653
 msgid "show dangling objects"
 msgstr "显示摇摆的对象"
 
-#: builtin/fsck.c:596
+#: builtin/fsck.c:654
 msgid "report tags"
 msgstr "报告标签"
 
-#: builtin/fsck.c:597
+#: builtin/fsck.c:655
 msgid "report root nodes"
 msgstr "报告根节点"
 
-#: builtin/fsck.c:598
+#: builtin/fsck.c:656
 msgid "make index objects head nodes"
 msgstr "将索引亦作为检查的头节点"
 
-#: builtin/fsck.c:599
+#: builtin/fsck.c:657
 msgid "make reflogs head nodes (default)"
 msgstr "将引用日志作为检查的头节点（默认）"
 
-#: builtin/fsck.c:600
+#: builtin/fsck.c:658
 msgid "also consider packs and alternate objects"
 msgstr "也考虑包和备用对象"
 
-#: builtin/fsck.c:601
+#: builtin/fsck.c:659
 msgid "check only connectivity"
 msgstr "仅检查连通性"
 
-#: builtin/fsck.c:602
+#: builtin/fsck.c:660
 msgid "enable more strict checking"
 msgstr "启用更严格的检查"
 
-#: builtin/fsck.c:604
+#: builtin/fsck.c:662
 msgid "write dangling objects in .git/lost-found"
 msgstr "将摇摆对象写入 .git/lost-found 中"
 
-#: builtin/fsck.c:605 builtin/prune.c:107
+#: builtin/fsck.c:663 builtin/prune.c:107
 msgid "show progress"
 msgstr "显示进度"
 
-#: builtin/fsck.c:606
+#: builtin/fsck.c:664
 msgid "show verbose names for reachable objects"
 msgstr "显示可达对象的详细名称"
 
-#: builtin/fsck.c:665
+#: builtin/fsck.c:725
 msgid "Checking objects"
 msgstr "检查对象中"
 
@@ -7699,7 +8092,7 @@
 msgid "insanely long object directory %.*s"
 msgstr "不正常的长对象目录 %.*s"
 
-#: builtin/gc.c:290
+#: builtin/gc.c:297
 #, c-format
 msgid ""
 "The last gc run reported the following. Please correct the root cause\n"
@@ -7713,277 +8106,293 @@
 "\n"
 "%s"
 
-#: builtin/gc.c:327
+#: builtin/gc.c:334
 msgid "prune unreferenced objects"
 msgstr "清除未引用的对象"
 
-#: builtin/gc.c:329
+#: builtin/gc.c:336
 msgid "be more thorough (increased runtime)"
 msgstr "更彻底（增加运行时间）"
 
-#: builtin/gc.c:330
+#: builtin/gc.c:337
 msgid "enable auto-gc mode"
 msgstr "启用自动垃圾回收模式"
 
-#: builtin/gc.c:331
+#: builtin/gc.c:338
 msgid "force running gc even if there may be another gc running"
 msgstr "强制执行 gc 即使另外一个 gc 正在执行"
 
-#: builtin/gc.c:373
+#: builtin/gc.c:380
 #, c-format
 msgid "Auto packing the repository in background for optimum performance.\n"
 msgstr "自动在后台执行仓库打包以求最佳性能。\n"
 
-#: builtin/gc.c:375
+#: builtin/gc.c:382
 #, c-format
 msgid "Auto packing the repository for optimum performance.\n"
 msgstr "自动打包仓库以求最佳性能。\n"
 
-#: builtin/gc.c:376
+#: builtin/gc.c:383
 #, c-format
 msgid "See \"git help gc\" for manual housekeeping.\n"
 msgstr "手工维护参见 \"git help gc\"。\n"
 
-#: builtin/gc.c:397
+#: builtin/gc.c:404
 #, c-format
 msgid ""
 "gc is already running on machine '%s' pid %<PRIuMAX> (use --force if not)"
 msgstr ""
-"已经有一个 gc 正运行在机器 '%s' pid %<PRIuMAX> （如果不是，使用 --force）"
+"已经有一个 gc 正运行在机器 '%s' pid %<PRIuMAX>（如果不是，使用 --force）"
 
-#: builtin/gc.c:441
+#: builtin/gc.c:448
 msgid ""
 "There are too many unreachable loose objects; run 'git prune' to remove them."
 msgstr "有太多不可达的松散对象，运行 'git prune' 删除它们。"
 
-#: builtin/grep.c:23
+#: builtin/grep.c:25
 msgid "git grep [<options>] [-e] <pattern> [<rev>...] [[--] <path>...]"
 msgstr "git grep [<选项>] [-e] <模式> [<版本>...] [[--] <路径>...]"
 
-#: builtin/grep.c:219
+#: builtin/grep.c:232
 #, c-format
 msgid "grep: failed to create thread: %s"
 msgstr "grep：无法创建线程：%s"
 
-#: builtin/grep.c:277
+#: builtin/grep.c:290
 #, c-format
 msgid "invalid number of threads specified (%d) for %s"
 msgstr "为 %2$s 设定的线程数 (%1$d) 无效"
 
-#: builtin/grep.c:453 builtin/grep.c:488
+#: builtin/grep.c:763 builtin/grep.c:804
 #, c-format
 msgid "unable to read tree (%s)"
 msgstr "无法读取树（%s）"
 
-#: builtin/grep.c:503
+#: builtin/grep.c:823
 #, c-format
 msgid "unable to grep from object of type %s"
 msgstr "无法抓取来自于 %s 类型的对象"
 
-#: builtin/grep.c:561
+#: builtin/grep.c:887
 #, c-format
 msgid "switch `%c' expects a numerical value"
 msgstr "开关 `%c' 期望一个数字值"
 
-#: builtin/grep.c:647
+#: builtin/grep.c:973
 msgid "search in index instead of in the work tree"
 msgstr "在索引区搜索而不是在工作区"
 
-#: builtin/grep.c:649
+#: builtin/grep.c:975
 msgid "find in contents not managed by git"
 msgstr "在未被 git 管理的内容中查找"
 
 #  译者：中文字符串拼接，可删除前导空格
-#: builtin/grep.c:651
+#: builtin/grep.c:977
 msgid "search in both tracked and untracked files"
 msgstr "在跟踪和未跟踪的文件中搜索"
 
-#: builtin/grep.c:653
+#: builtin/grep.c:979
 msgid "ignore files specified via '.gitignore'"
 msgstr "忽略 '.gitignore' 包含的文件"
 
-#: builtin/grep.c:656
+#: builtin/grep.c:981
+msgid "recursivley search in each submodule"
+msgstr "在每一个子模组中递归搜索"
+
+#: builtin/grep.c:983
+msgid "basename"
+msgstr "基本名"
+
+#: builtin/grep.c:984
+msgid "prepend parent project's basename to output"
+msgstr "在输出中以父项目的基本名为前缀"
+
+#: builtin/grep.c:987
 msgid "show non-matching lines"
 msgstr "显示未匹配的行"
 
-#: builtin/grep.c:658
+#: builtin/grep.c:989
 msgid "case insensitive matching"
 msgstr "不区分大小写匹配"
 
-#: builtin/grep.c:660
+#: builtin/grep.c:991
 msgid "match patterns only at word boundaries"
 msgstr "只在单词边界匹配模式"
 
-#: builtin/grep.c:662
+#: builtin/grep.c:993
 msgid "process binary files as text"
 msgstr "把二进制文件当做文本处理"
 
-#: builtin/grep.c:664
+#: builtin/grep.c:995
 msgid "don't match patterns in binary files"
 msgstr "不在二进制文件中匹配模式"
 
-#: builtin/grep.c:667
+#: builtin/grep.c:998
 msgid "process binary files with textconv filters"
 msgstr "用 textconv 过滤器处理二进制文件"
 
-#: builtin/grep.c:669
+#: builtin/grep.c:1000
 msgid "descend at most <depth> levels"
 msgstr "最多以指定的深度向下寻找"
 
-#: builtin/grep.c:673
+#: builtin/grep.c:1004
 msgid "use extended POSIX regular expressions"
 msgstr "使用扩展的 POSIX 正则表达式"
 
-#: builtin/grep.c:676
+#: builtin/grep.c:1007
 msgid "use basic POSIX regular expressions (default)"
 msgstr "使用基本的 POSIX 正则表达式（默认）"
 
-#: builtin/grep.c:679
+#: builtin/grep.c:1010
 msgid "interpret patterns as fixed strings"
 msgstr "把模式解析为固定的字符串"
 
-#: builtin/grep.c:682
+#: builtin/grep.c:1013
 msgid "use Perl-compatible regular expressions"
 msgstr "使用 Perl 兼容的正则表达式"
 
-#: builtin/grep.c:685
+#: builtin/grep.c:1016
 msgid "show line numbers"
 msgstr "显示行号"
 
-#: builtin/grep.c:686
+#: builtin/grep.c:1017
 msgid "don't show filenames"
 msgstr "不显示文件名"
 
-#: builtin/grep.c:687
+#: builtin/grep.c:1018
 msgid "show filenames"
 msgstr "显示文件名"
 
-#: builtin/grep.c:689
+#: builtin/grep.c:1020
 msgid "show filenames relative to top directory"
 msgstr "显示相对于顶级目录的文件名"
 
-#: builtin/grep.c:691
+#: builtin/grep.c:1022
 msgid "show only filenames instead of matching lines"
 msgstr "只显示文件名而不显示匹配的行"
 
-#: builtin/grep.c:693
+#: builtin/grep.c:1024
 msgid "synonym for --files-with-matches"
 msgstr "和 --files-with-matches 同义"
 
-#: builtin/grep.c:696
+#: builtin/grep.c:1027
 msgid "show only the names of files without match"
 msgstr "只显示未匹配的文件名"
 
-#: builtin/grep.c:698
+#: builtin/grep.c:1029
 msgid "print NUL after filenames"
 msgstr "在文件名后输出 NUL 字符"
 
-#: builtin/grep.c:700
+#: builtin/grep.c:1031
 msgid "show the number of matches instead of matching lines"
 msgstr "显示总匹配行数，而不显示匹配的行"
 
-#: builtin/grep.c:701
+#: builtin/grep.c:1032
 msgid "highlight matches"
 msgstr "高亮显示匹配项"
 
-#: builtin/grep.c:703
+#: builtin/grep.c:1034
 msgid "print empty line between matches from different files"
 msgstr "在不同文件的匹配项之间打印空行"
 
-#: builtin/grep.c:705
+#: builtin/grep.c:1036
 msgid "show filename only once above matches from same file"
 msgstr "只在同一文件的匹配项的上面显示一次文件名"
 
-#: builtin/grep.c:708
+#: builtin/grep.c:1039
 msgid "show <n> context lines before and after matches"
 msgstr "显示匹配项前后的 <n> 行上下文"
 
-#: builtin/grep.c:711
+#: builtin/grep.c:1042
 msgid "show <n> context lines before matches"
 msgstr "显示匹配项前 <n> 行上下文"
 
-#: builtin/grep.c:713
+#: builtin/grep.c:1044
 msgid "show <n> context lines after matches"
 msgstr "显示匹配项后 <n> 行上下文"
 
-#: builtin/grep.c:715
+#: builtin/grep.c:1046
 msgid "use <n> worker threads"
 msgstr "使用 <n> 个工作线程"
 
-#: builtin/grep.c:716
+#: builtin/grep.c:1047
 msgid "shortcut for -C NUM"
 msgstr "快捷键 -C 数字"
 
-#: builtin/grep.c:719
+#: builtin/grep.c:1050
 msgid "show a line with the function name before matches"
 msgstr "在匹配的前面显示一行函数名"
 
-#: builtin/grep.c:721
+#: builtin/grep.c:1052
 msgid "show the surrounding function"
 msgstr "显示所在函数的前后内容"
 
-#: builtin/grep.c:724
+#: builtin/grep.c:1055
 msgid "read patterns from file"
 msgstr "从文件读取模式"
 
-#: builtin/grep.c:726
+#: builtin/grep.c:1057
 msgid "match <pattern>"
 msgstr "匹配 <模式>"
 
-#: builtin/grep.c:728
+#: builtin/grep.c:1059
 msgid "combine patterns specified with -e"
 msgstr "组合用 -e 参数设定的模式"
 
-#: builtin/grep.c:740
+#: builtin/grep.c:1071
 msgid "indicate hit with exit status without output"
 msgstr "不输出，而用退出码标识命中状态"
 
-#: builtin/grep.c:742
+#: builtin/grep.c:1073
 msgid "show only matches from files that match all patterns"
 msgstr "只显示匹配所有模式的文件中的匹配"
 
-#: builtin/grep.c:744
+#: builtin/grep.c:1075
 msgid "show parse tree for grep expression"
 msgstr "显示 grep 表达式的解析树"
 
-#: builtin/grep.c:748
+#: builtin/grep.c:1079
 msgid "pager"
 msgstr "分页"
 
-#: builtin/grep.c:748
+#: builtin/grep.c:1079
 msgid "show matching files in the pager"
 msgstr "分页显示匹配的文件"
 
-#: builtin/grep.c:751
+#: builtin/grep.c:1082
 msgid "allow calling of grep(1) (ignored by this build)"
 msgstr "允许调用 grep(1)（本次构建忽略）"
 
-#: builtin/grep.c:814
+#: builtin/grep.c:1146
 msgid "no pattern given."
 msgstr "未提供模式匹配。"
 
-#: builtin/grep.c:846 builtin/index-pack.c:1480
+#: builtin/grep.c:1178 builtin/index-pack.c:1482
 #, c-format
 msgid "invalid number of threads specified (%d)"
 msgstr "指定的线程数无效（%d）"
 
-#: builtin/grep.c:876
+#: builtin/grep.c:1215
 msgid "--open-files-in-pager only works on the worktree"
 msgstr "--open-files-in-pager 仅用于工作区"
 
-#: builtin/grep.c:902
+#: builtin/grep.c:1238
+msgid "option not supported with --recurse-submodules."
+msgstr "选项不支持和 --recurse-submodules 共用。"
+
+#: builtin/grep.c:1244
 msgid "--cached or --untracked cannot be used with --no-index."
 msgstr "--cached 或 --untracked 不能与 --no-index 同时使用。"
 
-#: builtin/grep.c:907
+#: builtin/grep.c:1249
 msgid "--no-index or --untracked cannot be used with revs."
 msgstr "--no-index 或 --untracked 不能和版本同时使用。"
 
-#: builtin/grep.c:910
+#: builtin/grep.c:1252
 msgid "--[no-]exclude-standard cannot be used for tracked contents."
 msgstr "--[no-]exclude-standard 不能用于已跟踪内容。"
 
-#: builtin/grep.c:918
+#: builtin/grep.c:1260
 msgid "both --cached and trees are given."
 msgstr "同时给出了 --cached 和树对象。"
 
@@ -8261,183 +8670,187 @@
 msgstr "解压缩严重的不一致"
 
 #: builtin/index-pack.c:748 builtin/index-pack.c:754 builtin/index-pack.c:777
-#: builtin/index-pack.c:811 builtin/index-pack.c:820
+#: builtin/index-pack.c:813 builtin/index-pack.c:822
 #, c-format
 msgid "SHA1 COLLISION FOUND WITH %s !"
 msgstr "发现 %s 出现 SHA1 冲突！"
 
-#: builtin/index-pack.c:751 builtin/pack-objects.c:166
-#: builtin/pack-objects.c:258
+#: builtin/index-pack.c:751 builtin/pack-objects.c:164
+#: builtin/pack-objects.c:256
 #, c-format
 msgid "unable to read %s"
 msgstr "不能读 %s"
 
-#: builtin/index-pack.c:817
+#: builtin/index-pack.c:819
 #, c-format
 msgid "cannot read existing object %s"
 msgstr "不能读取现存对象 %s"
 
-#: builtin/index-pack.c:831
+#: builtin/index-pack.c:833
 #, c-format
 msgid "invalid blob object %s"
 msgstr "无效的数据对象 %s"
 
-#: builtin/index-pack.c:845
+#: builtin/index-pack.c:847
 #, c-format
 msgid "invalid %s"
 msgstr "无效的 %s"
 
-#: builtin/index-pack.c:848
+#: builtin/index-pack.c:850
 msgid "Error in object"
 msgstr "对象中出错"
 
-#: builtin/index-pack.c:850
+#: builtin/index-pack.c:852
 #, c-format
 msgid "Not all child objects of %s are reachable"
 msgstr "%s 的所有子对象并非都可达"
 
-#: builtin/index-pack.c:922 builtin/index-pack.c:953
+#: builtin/index-pack.c:924 builtin/index-pack.c:955
 msgid "failed to apply delta"
 msgstr "无法应用 delta"
 
-#: builtin/index-pack.c:1123
+#: builtin/index-pack.c:1125
 msgid "Receiving objects"
 msgstr "接收对象中"
 
-#: builtin/index-pack.c:1123
+#: builtin/index-pack.c:1125
 msgid "Indexing objects"
 msgstr "索引对象中"
 
-#: builtin/index-pack.c:1155
+#: builtin/index-pack.c:1157
 msgid "pack is corrupted (SHA1 mismatch)"
 msgstr "包冲突（SHA1 不匹配）"
 
-#: builtin/index-pack.c:1160
+#: builtin/index-pack.c:1162
 msgid "cannot fstat packfile"
 msgstr "不能枚举包文件状态"
 
-#: builtin/index-pack.c:1163
+#: builtin/index-pack.c:1165
 msgid "pack has junk at the end"
 msgstr "包的结尾有垃圾数据"
 
-#: builtin/index-pack.c:1174
+#: builtin/index-pack.c:1176
 msgid "confusion beyond insanity in parse_pack_objects()"
 msgstr "parse_pack_objects() 中遇到不可理喻的问题"
 
-#: builtin/index-pack.c:1197
+#: builtin/index-pack.c:1199
 msgid "Resolving deltas"
 msgstr "处理 delta 中"
 
-#: builtin/index-pack.c:1208
+#: builtin/index-pack.c:1210
 #, c-format
 msgid "unable to create thread: %s"
 msgstr "不能创建线程：%s"
 
-#: builtin/index-pack.c:1250
+#: builtin/index-pack.c:1252
 msgid "confusion beyond insanity"
 msgstr "不可理喻"
 
-#: builtin/index-pack.c:1256
+#: builtin/index-pack.c:1258
 #, c-format
 msgid "completed with %d local object"
 msgid_plural "completed with %d local objects"
 msgstr[0] "完成 %d 个本地对象"
 msgstr[1] "完成 %d 个本地对象"
 
-#: builtin/index-pack.c:1268
+#: builtin/index-pack.c:1270
 #, c-format
 msgid "Unexpected tail checksum for %s (disk corruption?)"
 msgstr "对 %s 的尾部校验出现意外（磁盘损坏？）"
 
-#: builtin/index-pack.c:1272
+#: builtin/index-pack.c:1274
 #, c-format
 msgid "pack has %d unresolved delta"
 msgid_plural "pack has %d unresolved deltas"
 msgstr[0] "包有 %d 个未解决的 delta"
 msgstr[1] "包有 %d 个未解决的 delta"
 
-#: builtin/index-pack.c:1296
+#: builtin/index-pack.c:1298
 #, c-format
 msgid "unable to deflate appended object (%d)"
 msgstr "不能压缩附加对象（%d）"
 
-#: builtin/index-pack.c:1372
+#: builtin/index-pack.c:1374
 #, c-format
 msgid "local object %s is corrupt"
 msgstr "本地对象 %s 已损坏"
 
-#: builtin/index-pack.c:1396
+#: builtin/index-pack.c:1398
 msgid "error while closing pack file"
 msgstr "关闭包文件时出错"
 
-#: builtin/index-pack.c:1409
+#: builtin/index-pack.c:1411
 #, c-format
 msgid "cannot write keep file '%s'"
 msgstr "无法写保留文件 '%s'"
 
-#: builtin/index-pack.c:1417
+#: builtin/index-pack.c:1419
 #, c-format
 msgid "cannot close written keep file '%s'"
 msgstr "无法关闭保留文件 '%s'"
 
-#: builtin/index-pack.c:1430
+#: builtin/index-pack.c:1432
 msgid "cannot store pack file"
 msgstr "无法存储包文件"
 
-#: builtin/index-pack.c:1441
+#: builtin/index-pack.c:1443
 msgid "cannot store index file"
 msgstr "无法存储索引文件"
 
-#: builtin/index-pack.c:1474
+#: builtin/index-pack.c:1476
 #, c-format
 msgid "bad pack.indexversion=%<PRIu32>"
 msgstr "坏的 pack.indexversion=%<PRIu32>"
 
-#: builtin/index-pack.c:1484 builtin/index-pack.c:1681
+#: builtin/index-pack.c:1486 builtin/index-pack.c:1683
 #, c-format
 msgid "no threads support, ignoring %s"
 msgstr "没有线程支持，忽略 %s"
 
-#: builtin/index-pack.c:1542
+#: builtin/index-pack.c:1544
 #, c-format
 msgid "Cannot open existing pack file '%s'"
 msgstr "无法打开现存包文件 '%s'"
 
-#: builtin/index-pack.c:1544
+#: builtin/index-pack.c:1546
 #, c-format
 msgid "Cannot open existing pack idx file for '%s'"
 msgstr "无法为 %s 打开包索引文件"
 
-#: builtin/index-pack.c:1591
+#: builtin/index-pack.c:1593
 #, c-format
 msgid "non delta: %d object"
 msgid_plural "non delta: %d objects"
 msgstr[0] "非 delta：%d 个对象"
 msgstr[1] "非 delta：%d 个对象"
 
-#: builtin/index-pack.c:1598
+#: builtin/index-pack.c:1600
 #, c-format
 msgid "chain length = %d: %lu object"
 msgid_plural "chain length = %d: %lu objects"
 msgstr[0] "链长 = %d: %lu 对象"
 msgstr[1] "链长 = %d: %lu 对象"
 
-#: builtin/index-pack.c:1611
+#: builtin/index-pack.c:1613
 #, c-format
 msgid "packfile name '%s' does not end with '.pack'"
 msgstr "包文件名 '%s' 没有以 '.pack' 结尾"
 
-#: builtin/index-pack.c:1693 builtin/index-pack.c:1696
-#: builtin/index-pack.c:1712 builtin/index-pack.c:1716
+#: builtin/index-pack.c:1695 builtin/index-pack.c:1698
+#: builtin/index-pack.c:1714 builtin/index-pack.c:1718
 #, c-format
 msgid "bad %s"
 msgstr "错误选项 %s"
 
-#: builtin/index-pack.c:1732
+#: builtin/index-pack.c:1734
 msgid "--fix-thin cannot be used without --stdin"
 msgstr "--fix-thin 不能和 --stdin 同时使用"
 
-#: builtin/index-pack.c:1740
+#: builtin/index-pack.c:1736
+msgid "--stdin requires a git repository"
+msgstr "--stdin 需要一个 git 仓库"
+
+#: builtin/index-pack.c:1744
 msgid "--verify with no packfile name given"
 msgstr "--verify 没有提供包文件名参数"
 
@@ -8683,7 +9096,7 @@
 msgid "Unknown commit %s"
 msgstr "未知提交 %s"
 
-#: builtin/log.c:1258 builtin/notes.c:884 builtin/tag.c:455
+#: builtin/log.c:1258 builtin/notes.c:884 builtin/tag.c:476
 #, c-format
 msgid "Failed to resolve '%s' as a valid ref."
 msgstr "无法解析 '%s' 为一个有效引用。"
@@ -8914,103 +9327,103 @@
 "Could not find a tracked remote branch, please specify <upstream> manually.\n"
 msgstr "不能找到跟踪的远程分支，请手工指定 <上游>。\n"
 
-#: builtin/ls-files.c:458
+#: builtin/ls-files.c:460
 msgid "git ls-files [<options>] [<file>...]"
 msgstr "git ls-files [<选项>] [<文件>...]"
 
-#: builtin/ls-files.c:507
+#: builtin/ls-files.c:509
 msgid "identify the file status with tags"
 msgstr "用标签标识文件的状态"
 
-#: builtin/ls-files.c:509
+#: builtin/ls-files.c:511
 msgid "use lowercase letters for 'assume unchanged' files"
 msgstr "使用小写字母表示 '假设未改变的' 文件"
 
-#: builtin/ls-files.c:511
+#: builtin/ls-files.c:513
 msgid "show cached files in the output (default)"
 msgstr "显示缓存的文件（默认）"
 
-#: builtin/ls-files.c:513
+#: builtin/ls-files.c:515
 msgid "show deleted files in the output"
 msgstr "显示已删除的文件"
 
-#: builtin/ls-files.c:515
+#: builtin/ls-files.c:517
 msgid "show modified files in the output"
 msgstr "显示已修改的文件"
 
-#: builtin/ls-files.c:517
+#: builtin/ls-files.c:519
 msgid "show other files in the output"
 msgstr "显示其它文件"
 
-#: builtin/ls-files.c:519
+#: builtin/ls-files.c:521
 msgid "show ignored files in the output"
 msgstr "显示忽略的文件"
 
-#: builtin/ls-files.c:522
+#: builtin/ls-files.c:524
 msgid "show staged contents' object name in the output"
 msgstr "显示暂存区内容的对象名称"
 
-#: builtin/ls-files.c:524
+#: builtin/ls-files.c:526
 msgid "show files on the filesystem that need to be removed"
 msgstr "显示文件系统需要删除的文件"
 
-#: builtin/ls-files.c:526
+#: builtin/ls-files.c:528
 msgid "show 'other' directories' names only"
 msgstr "只显示“其他”目录的名称"
 
-#: builtin/ls-files.c:528
+#: builtin/ls-files.c:530
 msgid "show line endings of files"
 msgstr "显示文件换行符格式"
 
-#: builtin/ls-files.c:530
+#: builtin/ls-files.c:532
 msgid "don't show empty directories"
 msgstr "不显示空目录"
 
-#: builtin/ls-files.c:533
+#: builtin/ls-files.c:535
 msgid "show unmerged files in the output"
 msgstr "显示未合并的文件"
 
-#: builtin/ls-files.c:535
+#: builtin/ls-files.c:537
 msgid "show resolve-undo information"
 msgstr "显示 resolve-undo 信息"
 
-#: builtin/ls-files.c:537
+#: builtin/ls-files.c:539
 msgid "skip files matching pattern"
 msgstr "匹配排除文件的模式"
 
-#: builtin/ls-files.c:540
+#: builtin/ls-files.c:542
 msgid "exclude patterns are read from <file>"
 msgstr "从 <文件> 中读取排除模式"
 
-#: builtin/ls-files.c:543
+#: builtin/ls-files.c:545
 msgid "read additional per-directory exclude patterns in <file>"
 msgstr "从 <文件> 读取额外的每个目录的排除模式"
 
-#: builtin/ls-files.c:545
+#: builtin/ls-files.c:547
 msgid "add the standard git exclusions"
 msgstr "添加标准的 git 排除"
 
-#: builtin/ls-files.c:548
+#: builtin/ls-files.c:550
 msgid "make the output relative to the project top directory"
 msgstr "显示相对于顶级目录的文件名"
 
-#: builtin/ls-files.c:551
+#: builtin/ls-files.c:553
 msgid "recurse through submodules"
 msgstr "在子模组中递归"
 
-#: builtin/ls-files.c:553
+#: builtin/ls-files.c:555
 msgid "if any <file> is not in the index, treat this as an error"
 msgstr "如果任何 <文件> 都不在索引区，视为错误"
 
-#: builtin/ls-files.c:554
+#: builtin/ls-files.c:556
 msgid "tree-ish"
 msgstr "树或提交"
 
-#: builtin/ls-files.c:555
+#: builtin/ls-files.c:557
 msgid "pretend that paths removed since <tree-ish> are still present"
 msgstr "假装自从 <树或提交> 之后删除的路径仍然存在"
 
-#: builtin/ls-files.c:557
+#: builtin/ls-files.c:559
 msgid "show debugging data"
 msgstr "显示调试数据"
 
@@ -9064,35 +9477,35 @@
 msgid "git ls-tree [<options>] <tree-ish> [<path>...]"
 msgstr "git ls-tree [<选项>] <树或提交> [<路径>...]"
 
-#: builtin/ls-tree.c:128
+#: builtin/ls-tree.c:126
 msgid "only show trees"
 msgstr "只显示树"
 
-#: builtin/ls-tree.c:130
+#: builtin/ls-tree.c:128
 msgid "recurse into subtrees"
 msgstr "递归到子树"
 
-#: builtin/ls-tree.c:132
+#: builtin/ls-tree.c:130
 msgid "show trees when recursing"
 msgstr "当递归时显示树"
 
-#: builtin/ls-tree.c:135
+#: builtin/ls-tree.c:133
 msgid "terminate entries with NUL byte"
 msgstr "条目以 NUL 字符终止"
 
-#: builtin/ls-tree.c:136
+#: builtin/ls-tree.c:134
 msgid "include object size"
 msgstr "包括对象大小"
 
-#: builtin/ls-tree.c:138 builtin/ls-tree.c:140
+#: builtin/ls-tree.c:136 builtin/ls-tree.c:138
 msgid "list only filenames"
 msgstr "只列出文件名"
 
-#: builtin/ls-tree.c:143
+#: builtin/ls-tree.c:141
 msgid "use full path names"
 msgstr "使用文件的全路径"
 
-#: builtin/ls-tree.c:145
+#: builtin/ls-tree.c:143
 msgid "list entire tree; not just current directory (implies --full-name)"
 msgstr "列出整个树；不仅仅当前目录（隐含 --full-name）"
 
@@ -9108,161 +9521,169 @@
 msgid "git merge --abort"
 msgstr "git merge --abort"
 
-#: builtin/merge.c:102
+#: builtin/merge.c:49
+msgid "git merge --continue"
+msgstr "git merge --continue"
+
+#: builtin/merge.c:104
 msgid "switch `m' requires a value"
 msgstr "开关 `m' 需要一个值"
 
-#: builtin/merge.c:139
+#: builtin/merge.c:141
 #, c-format
 msgid "Could not find merge strategy '%s'.\n"
 msgstr "不能找到合并策略 '%s'。\n"
 
-#: builtin/merge.c:140
+#: builtin/merge.c:142
 #, c-format
 msgid "Available strategies are:"
 msgstr "可用的策略有："
 
-#: builtin/merge.c:145
+#: builtin/merge.c:147
 #, c-format
 msgid "Available custom strategies are:"
 msgstr "可用的自定义策略有："
 
-#: builtin/merge.c:195 builtin/pull.c:127
+#: builtin/merge.c:197 builtin/pull.c:127
 msgid "do not show a diffstat at the end of the merge"
 msgstr "在合并的最后不显示差异统计"
 
-#: builtin/merge.c:198 builtin/pull.c:130
+#: builtin/merge.c:200 builtin/pull.c:130
 msgid "show a diffstat at the end of the merge"
 msgstr "在合并的最后显示差异统计"
 
-#: builtin/merge.c:199 builtin/pull.c:133
+#: builtin/merge.c:201 builtin/pull.c:133
 msgid "(synonym to --stat)"
 msgstr "（和 --stat 同义）"
 
-#: builtin/merge.c:201 builtin/pull.c:136
+#: builtin/merge.c:203 builtin/pull.c:136
 msgid "add (at most <n>) entries from shortlog to merge commit message"
 msgstr "在合并提交信息中添加（最多 <n> 条）精简提交记录"
 
-#: builtin/merge.c:204 builtin/pull.c:139
+#: builtin/merge.c:206 builtin/pull.c:139
 msgid "create a single commit instead of doing a merge"
 msgstr "创建一个单独的提交而不是做一次合并"
 
-#: builtin/merge.c:206 builtin/pull.c:142
+#: builtin/merge.c:208 builtin/pull.c:142
 msgid "perform a commit if the merge succeeds (default)"
 msgstr "如果合并成功，执行一次提交（默认）"
 
-#: builtin/merge.c:208 builtin/pull.c:145
+#: builtin/merge.c:210 builtin/pull.c:145
 msgid "edit message before committing"
 msgstr "在提交前编辑提交说明"
 
-#: builtin/merge.c:209
+#: builtin/merge.c:211
 msgid "allow fast-forward (default)"
 msgstr "允许快进（默认）"
 
-#: builtin/merge.c:211 builtin/pull.c:151
+#: builtin/merge.c:213 builtin/pull.c:151
 msgid "abort if fast-forward is not possible"
 msgstr "如果不能快进就放弃合并"
 
-#: builtin/merge.c:215 builtin/pull.c:154
+#: builtin/merge.c:217 builtin/pull.c:154
 msgid "verify that the named commit has a valid GPG signature"
 msgstr "验证指定的提交是否包含一个有效的 GPG 签名"
 
-#: builtin/merge.c:216 builtin/notes.c:774 builtin/pull.c:158
+#: builtin/merge.c:218 builtin/notes.c:774 builtin/pull.c:158
 #: builtin/revert.c:89
 msgid "strategy"
 msgstr "策略"
 
-#: builtin/merge.c:217 builtin/pull.c:159
+#: builtin/merge.c:219 builtin/pull.c:159
 msgid "merge strategy to use"
 msgstr "要使用的合并策略"
 
-#: builtin/merge.c:218 builtin/pull.c:162
+#: builtin/merge.c:220 builtin/pull.c:162
 msgid "option=value"
 msgstr "option=value"
 
-#: builtin/merge.c:219 builtin/pull.c:163
+#: builtin/merge.c:221 builtin/pull.c:163
 msgid "option for selected merge strategy"
 msgstr "所选的合并策略的选项"
 
-#: builtin/merge.c:221
+#: builtin/merge.c:223
 msgid "merge commit message (for a non-fast-forward merge)"
 msgstr "合并的提交说明（针对非快进式合并）"
 
-#: builtin/merge.c:225
+#: builtin/merge.c:227
 msgid "abort the current in-progress merge"
 msgstr "放弃当前正在进行的合并"
 
-#: builtin/merge.c:227 builtin/pull.c:170
+#: builtin/merge.c:229
+msgid "continue the current in-progress merge"
+msgstr "继续当前正在进行的合并"
+
+#: builtin/merge.c:231 builtin/pull.c:170
 msgid "allow merging unrelated histories"
 msgstr "允许合并不相关的历史"
 
-#: builtin/merge.c:255
+#: builtin/merge.c:259
 msgid "could not run stash."
 msgstr "不能进行进度保存。"
 
-#: builtin/merge.c:260
+#: builtin/merge.c:264
 msgid "stash failed"
 msgstr "进度保存失败"
 
-#: builtin/merge.c:265
+#: builtin/merge.c:269
 #, c-format
 msgid "not a valid object: %s"
 msgstr "不是一个有效对象：%s"
 
-#: builtin/merge.c:284 builtin/merge.c:301
+#: builtin/merge.c:288 builtin/merge.c:305
 msgid "read-tree failed"
 msgstr "读取树失败"
 
 #  译者：注意保持前导空格
-#: builtin/merge.c:331
+#: builtin/merge.c:335
 msgid " (nothing to squash)"
 msgstr " （无可压缩）"
 
-#: builtin/merge.c:342
+#: builtin/merge.c:346
 #, c-format
 msgid "Squash commit -- not updating HEAD\n"
 msgstr "压缩提交 -- 未更新 HEAD\n"
 
-#: builtin/merge.c:392
+#: builtin/merge.c:396
 #, c-format
 msgid "No merge message -- not updating HEAD\n"
 msgstr "无合并信息 -- 未更新 HEAD\n"
 
-#: builtin/merge.c:443
+#: builtin/merge.c:447
 #, c-format
 msgid "'%s' does not point to a commit"
 msgstr "'%s' 没有指向一个提交"
 
-#: builtin/merge.c:533
+#: builtin/merge.c:537
 #, c-format
 msgid "Bad branch.%s.mergeoptions string: %s"
 msgstr "坏的 branch.%s.mergeoptions 字符串：%s"
 
-#: builtin/merge.c:652
+#: builtin/merge.c:656
 msgid "Not handling anything other than two heads merge."
-msgstr "不能处理两个头合并之外的任何操作。"
+msgstr "未处理两个头合并之外的任何操作。"
 
-#: builtin/merge.c:666
+#: builtin/merge.c:670
 #, c-format
 msgid "Unknown option for merge-recursive: -X%s"
 msgstr "merge-recursive 的未知选项：-X%s"
 
-#: builtin/merge.c:681
+#: builtin/merge.c:685
 #, c-format
 msgid "unable to write %s"
 msgstr "不能写 %s"
 
-#: builtin/merge.c:733
+#: builtin/merge.c:737
 #, c-format
 msgid "Could not read from '%s'"
 msgstr "不能从 '%s' 读取"
 
-#: builtin/merge.c:742
+#: builtin/merge.c:746
 #, c-format
 msgid "Not committing merge; use 'git commit' to complete the merge.\n"
 msgstr "未提交合并，使用 'git commit' 完成此次合并。\n"
 
-#: builtin/merge.c:748
+#: builtin/merge.c:752
 #, c-format
 msgid ""
 "Please enter a commit message to explain why this merge is necessary,\n"
@@ -9276,66 +9697,78 @@
 "\n"
 "以 '%c' 开头的行将被忽略，而且空提交说明将会终止提交。\n"
 
-#: builtin/merge.c:772
+#: builtin/merge.c:776
 msgid "Empty commit message."
 msgstr "空提交信息。"
 
-#: builtin/merge.c:792
+#: builtin/merge.c:796
 #, c-format
 msgid "Wonderful.\n"
 msgstr "太棒了。\n"
 
-#: builtin/merge.c:847
+#: builtin/merge.c:851
 #, c-format
 msgid "Automatic merge failed; fix conflicts and then commit the result.\n"
 msgstr "自动合并失败，修正冲突然后提交修正的结果。\n"
 
-#: builtin/merge.c:863
+#: builtin/merge.c:867
 #, c-format
 msgid "'%s' is not a commit"
 msgstr "'%s' 不是一个提交"
 
-#: builtin/merge.c:904
+#: builtin/merge.c:908
 msgid "No current branch."
 msgstr "没有当前分支。"
 
-#: builtin/merge.c:906
+#: builtin/merge.c:910
 msgid "No remote for the current branch."
 msgstr "当前分支没有对应的远程仓库。"
 
-#: builtin/merge.c:908
+#: builtin/merge.c:912
 msgid "No default upstream defined for the current branch."
 msgstr "当前分支没有定义默认的上游分支。"
 
-#: builtin/merge.c:913
+#: builtin/merge.c:917
 #, c-format
 msgid "No remote-tracking branch for %s from %s"
 msgstr "对于 %s 没有来自 %s 的远程跟踪分支"
 
-#: builtin/merge.c:960
+#: builtin/merge.c:964
 #, c-format
 msgid "Bad value '%s' in environment '%s'"
 msgstr "环境 '%2$s' 中存在坏的取值 '%1$s'"
 
-#: builtin/merge.c:1034
+#: builtin/merge.c:1038
 #, c-format
 msgid "could not close '%s'"
 msgstr "不能关闭 '%s'"
 
-#: builtin/merge.c:1061
+#: builtin/merge.c:1065
 #, c-format
 msgid "not something we can merge in %s: %s"
 msgstr "不能在 %s 中合并：%s"
 
-#: builtin/merge.c:1095
+#: builtin/merge.c:1099
 msgid "not something we can merge"
 msgstr "不能合并"
 
-#: builtin/merge.c:1162
+#: builtin/merge.c:1167
+msgid "--abort expects no arguments"
+msgstr "--abort 不带参数"
+
+#: builtin/merge.c:1171
 msgid "There is no merge to abort (MERGE_HEAD missing)."
 msgstr "没有要终止的合并（MERGE_HEAD 丢失）。"
 
-#: builtin/merge.c:1178
+#: builtin/merge.c:1183
+msgid "--continue expects no arguments"
+msgstr "--continue 不带参数"
+
+#: builtin/merge.c:1187
+msgid "There is no merge in progress (MERGE_HEAD missing)."
+msgstr "没有进行中的合并（MERGE_HEAD 丢失）。"
+
+#: builtin/merge.c:1203
 msgid ""
 "You have not concluded your merge (MERGE_HEAD exists).\n"
 "Please, commit your changes before you merge."
@@ -9343,7 +9776,7 @@
 "您尚未结束您的合并（存在 MERGE_HEAD）。\n"
 "请在合并前先提交您的修改。"
 
-#: builtin/merge.c:1185
+#: builtin/merge.c:1210
 msgid ""
 "You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists).\n"
 "Please, commit your changes before you merge."
@@ -9351,112 +9784,112 @@
 "您尚未结束您的拣选（存在 CHERRY_PICK_HEAD）。\n"
 "请在合并前先提交您的修改。"
 
-#: builtin/merge.c:1188
+#: builtin/merge.c:1213
 msgid "You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists)."
 msgstr "您尚未结束您的拣选（存在 CHERRY_PICK_HEAD）。"
 
-#: builtin/merge.c:1197
+#: builtin/merge.c:1222
 msgid "You cannot combine --squash with --no-ff."
 msgstr "您不能将 --squash 与 --no-ff 同时使用。"
 
-#: builtin/merge.c:1205
+#: builtin/merge.c:1230
 msgid "No commit specified and merge.defaultToUpstream not set."
 msgstr "未指定提交并且 merge.defaultToUpstream 未设置。"
 
-#: builtin/merge.c:1222
+#: builtin/merge.c:1247
 msgid "Squash commit into empty head not supported yet"
 msgstr "尚不支持到空分支的压缩提交"
 
-#: builtin/merge.c:1224
+#: builtin/merge.c:1249
 msgid "Non-fast-forward commit does not make sense into an empty head"
 msgstr "到空分支的非快进式提交没有意义"
 
-#: builtin/merge.c:1229
+#: builtin/merge.c:1254
 #, c-format
 msgid "%s - not something we can merge"
 msgstr "%s - 不能被合并"
 
-#: builtin/merge.c:1231
+#: builtin/merge.c:1256
 msgid "Can merge only exactly one commit into empty head"
 msgstr "只能将一个提交合并到空分支上"
 
-#: builtin/merge.c:1287
+#: builtin/merge.c:1312
 #, c-format
 msgid "Commit %s has an untrusted GPG signature, allegedly by %s."
 msgstr "提交 %s 有一个非可信的声称来自 %s 的 GPG 签名。"
 
-#: builtin/merge.c:1290
+#: builtin/merge.c:1315
 #, c-format
 msgid "Commit %s has a bad GPG signature allegedly by %s."
 msgstr "提交 %s 有一个错误的声称来自 %s 的 GPG 签名。"
 
-#: builtin/merge.c:1293
+#: builtin/merge.c:1318
 #, c-format
 msgid "Commit %s does not have a GPG signature."
 msgstr "提交 %s 没有一个 GPG 签名。"
 
-#: builtin/merge.c:1296
+#: builtin/merge.c:1321
 #, c-format
 msgid "Commit %s has a good GPG signature by %s\n"
 msgstr "提交 %s 有一个来自 %s 的好的 GPG 签名。\n"
 
-#: builtin/merge.c:1358
+#: builtin/merge.c:1383
 msgid "refusing to merge unrelated histories"
 msgstr "拒绝合并无关的历史"
 
-#: builtin/merge.c:1367
+#: builtin/merge.c:1392
 msgid "Already up-to-date."
 msgstr "已经是最新的。"
 
-#: builtin/merge.c:1377
+#: builtin/merge.c:1402
 #, c-format
 msgid "Updating %s..%s\n"
 msgstr "更新 %s..%s\n"
 
-#: builtin/merge.c:1418
+#: builtin/merge.c:1443
 #, c-format
 msgid "Trying really trivial in-index merge...\n"
 msgstr "尝试非常小的索引内合并...\n"
 
-#: builtin/merge.c:1425
+#: builtin/merge.c:1450
 #, c-format
 msgid "Nope.\n"
 msgstr "无。\n"
 
-#: builtin/merge.c:1450
+#: builtin/merge.c:1475
 msgid "Already up-to-date. Yeeah!"
 msgstr "已经是最新的。耶！"
 
-#: builtin/merge.c:1456
+#: builtin/merge.c:1481
 msgid "Not possible to fast-forward, aborting."
 msgstr "无法快进，终止。"
 
-#: builtin/merge.c:1479 builtin/merge.c:1558
+#: builtin/merge.c:1504 builtin/merge.c:1583
 #, c-format
 msgid "Rewinding the tree to pristine...\n"
 msgstr "将树回滚至原始状态...\n"
 
-#: builtin/merge.c:1483
+#: builtin/merge.c:1508
 #, c-format
 msgid "Trying merge strategy %s...\n"
 msgstr "尝试合并策略 %s...\n"
 
-#: builtin/merge.c:1549
+#: builtin/merge.c:1574
 #, c-format
 msgid "No merge strategy handled the merge.\n"
 msgstr "没有合并策略处理此合并。\n"
 
-#: builtin/merge.c:1551
+#: builtin/merge.c:1576
 #, c-format
 msgid "Merge with strategy %s failed.\n"
 msgstr "使用策略 %s 合并失败。\n"
 
-#: builtin/merge.c:1560
+#: builtin/merge.c:1585
 #, c-format
 msgid "Using the %s to prepare resolving by hand.\n"
 msgstr "使用 %s 以准备手工解决。\n"
 
-#: builtin/merge.c:1572
+#: builtin/merge.c:1597
 #, c-format
 msgid "Automatic merge went well; stopped before committing as requested\n"
 msgstr "自动合并进展顺利，按要求在提交前停止\n"
@@ -9588,94 +10021,94 @@
 msgid "allow creation of more than one tree"
 msgstr "允许创建一个以上的树"
 
-#: builtin/mv.c:15
+#: builtin/mv.c:16
 msgid "git mv [<options>] <source>... <destination>"
 msgstr "git mv [<选项>] <源>... <目标>"
 
-#: builtin/mv.c:70
+#: builtin/mv.c:82
 #, c-format
 msgid "Directory %s is in index and no submodule?"
 msgstr "目录 %s 在索引中并且不是子模组？"
 
-#: builtin/mv.c:72 builtin/rm.c:317
+#: builtin/mv.c:84 builtin/rm.c:290
 msgid "Please stage your changes to .gitmodules or stash them to proceed"
 msgstr "请将您的修改暂存到 .gitmodules 中或保存进度后再继续"
 
-#: builtin/mv.c:90
+#: builtin/mv.c:102
 #, c-format
 msgid "%.*s is in index"
 msgstr "%.*s 在索引中"
 
-#: builtin/mv.c:112
+#: builtin/mv.c:124
 msgid "force move/rename even if target exists"
 msgstr "强制移动/重命令，即使目标存在"
 
-#: builtin/mv.c:113
+#: builtin/mv.c:125
 msgid "skip move/rename errors"
 msgstr "跳过移动/重命名错误"
 
-#: builtin/mv.c:155
+#: builtin/mv.c:167
 #, c-format
 msgid "destination '%s' is not a directory"
 msgstr "目标 '%s' 不是一个目录"
 
-#: builtin/mv.c:166
+#: builtin/mv.c:178
 #, c-format
 msgid "Checking rename of '%s' to '%s'\n"
 msgstr "检查 '%s' 到 '%s' 的重命名\n"
 
-#: builtin/mv.c:170
+#: builtin/mv.c:182
 msgid "bad source"
 msgstr "坏的源"
 
-#: builtin/mv.c:173
+#: builtin/mv.c:185
 msgid "can not move directory into itself"
 msgstr "不能将目录移动到自身"
 
-#: builtin/mv.c:176
+#: builtin/mv.c:188
 msgid "cannot move directory over file"
 msgstr "不能将目录移动到文件"
 
-#: builtin/mv.c:185
+#: builtin/mv.c:197
 msgid "source directory is empty"
 msgstr "源目录为空"
 
-#: builtin/mv.c:210
+#: builtin/mv.c:222
 msgid "not under version control"
 msgstr "不在版本控制之下"
 
-#: builtin/mv.c:213
+#: builtin/mv.c:225
 msgid "destination exists"
 msgstr "目标已存在"
 
-#: builtin/mv.c:221
+#: builtin/mv.c:233
 #, c-format
 msgid "overwriting '%s'"
 msgstr "覆盖 '%s'"
 
-#: builtin/mv.c:224
+#: builtin/mv.c:236
 msgid "Cannot overwrite"
 msgstr "不能覆盖"
 
-#: builtin/mv.c:227
+#: builtin/mv.c:239
 msgid "multiple sources for the same target"
 msgstr "同一目标具有多个源"
 
-#: builtin/mv.c:229
+#: builtin/mv.c:241
 msgid "destination directory does not exist"
 msgstr "目标目录不存在"
 
-#: builtin/mv.c:236
+#: builtin/mv.c:248
 #, c-format
 msgid "%s, source=%s, destination=%s"
 msgstr "%s，源=%s，目标=%s"
 
-#: builtin/mv.c:257
+#: builtin/mv.c:269
 #, c-format
 msgid "Renaming %s to %s\n"
 msgstr "重命名 %s 至 %s\n"
 
-#: builtin/mv.c:263 builtin/remote.c:710 builtin/repack.c:375
+#: builtin/mv.c:275 builtin/remote.c:710 builtin/repack.c:384
 #, c-format
 msgid "renaming '%s' failed"
 msgstr "重命名 '%s' 失败"
@@ -9860,12 +10293,12 @@
 msgid "the note contents have been left in %s"
 msgstr "注解内容被留在 %s 中"
 
-#: builtin/notes.c:233 builtin/tag.c:439
+#: builtin/notes.c:233 builtin/tag.c:460
 #, c-format
 msgid "cannot read '%s'"
 msgstr "不能读取 '%s'"
 
-#: builtin/notes.c:235 builtin/tag.c:442
+#: builtin/notes.c:235 builtin/tag.c:463
 #, c-format
 msgid "could not open or read '%s'"
 msgstr "不能打开或读取 '%s'"
@@ -10133,174 +10566,174 @@
 "git pack-objects [<options>...] <base-name> [< <ref-list> | < <object-list>]"
 msgstr "git pack-objects [<选项>...] <base-name> [< <引用列表> | < <对象列表>]"
 
-#: builtin/pack-objects.c:179 builtin/pack-objects.c:182
+#: builtin/pack-objects.c:177 builtin/pack-objects.c:180
 #, c-format
 msgid "deflate error (%d)"
 msgstr "压缩错误 (%d)"
 
-#: builtin/pack-objects.c:768
+#: builtin/pack-objects.c:766
 msgid "disabling bitmap writing, packs are split due to pack.packSizeLimit"
 msgstr "禁用 bitmap 写入，因为 pack.packSizeLimit 设置使得包被切分为多个"
 
-#: builtin/pack-objects.c:781
+#: builtin/pack-objects.c:779
 msgid "Writing objects"
 msgstr "写入对象中"
 
-#: builtin/pack-objects.c:1070
+#: builtin/pack-objects.c:1068
 msgid "disabling bitmap writing, as some objects are not being packed"
 msgstr "禁用 bitmap 写入，因为一些对象将不会被打包"
 
-#: builtin/pack-objects.c:2346
+#: builtin/pack-objects.c:2344
 msgid "Compressing objects"
 msgstr "压缩对象中"
 
-#: builtin/pack-objects.c:2759
+#: builtin/pack-objects.c:2747
 #, c-format
 msgid "unsupported index version %s"
 msgstr "不支持的索引版本 %s"
 
-#: builtin/pack-objects.c:2763
+#: builtin/pack-objects.c:2751
 #, c-format
 msgid "bad index version '%s'"
 msgstr "坏的索引版本 '%s'"
 
-#: builtin/pack-objects.c:2793
+#: builtin/pack-objects.c:2781
 msgid "do not show progress meter"
 msgstr "不显示进度表"
 
-#: builtin/pack-objects.c:2795
+#: builtin/pack-objects.c:2783
 msgid "show progress meter"
 msgstr "显示进度表"
 
-#: builtin/pack-objects.c:2797
+#: builtin/pack-objects.c:2785
 msgid "show progress meter during object writing phase"
 msgstr "在对象写入阶段显示进度表"
 
-#: builtin/pack-objects.c:2800
+#: builtin/pack-objects.c:2788
 msgid "similar to --all-progress when progress meter is shown"
 msgstr "当进度表显示时类似于 --all-progress"
 
-#: builtin/pack-objects.c:2801
+#: builtin/pack-objects.c:2789
 msgid "version[,offset]"
 msgstr "版本[,偏移]"
 
-#: builtin/pack-objects.c:2802
+#: builtin/pack-objects.c:2790
 msgid "write the pack index file in the specified idx format version"
 msgstr "用指定的 idx 格式版本来写包索引文件"
 
-#: builtin/pack-objects.c:2805
+#: builtin/pack-objects.c:2793
 msgid "maximum size of each output pack file"
 msgstr "每个输出包的最大尺寸"
 
-#: builtin/pack-objects.c:2807
+#: builtin/pack-objects.c:2795
 msgid "ignore borrowed objects from alternate object store"
 msgstr "忽略从备用对象存储里借用对象"
 
-#: builtin/pack-objects.c:2809
+#: builtin/pack-objects.c:2797
 msgid "ignore packed objects"
 msgstr "忽略包对象"
 
-#: builtin/pack-objects.c:2811
+#: builtin/pack-objects.c:2799
 msgid "limit pack window by objects"
 msgstr "限制打包窗口的对象数"
 
-#: builtin/pack-objects.c:2813
+#: builtin/pack-objects.c:2801
 msgid "limit pack window by memory in addition to object limit"
 msgstr "除对象数量限制外设置打包窗口的内存限制"
 
-#: builtin/pack-objects.c:2815
+#: builtin/pack-objects.c:2803
 msgid "maximum length of delta chain allowed in the resulting pack"
 msgstr "打包允许的 delta 链的最大长度"
 
-#: builtin/pack-objects.c:2817
+#: builtin/pack-objects.c:2805
 msgid "reuse existing deltas"
 msgstr "重用已存在的 deltas"
 
-#: builtin/pack-objects.c:2819
+#: builtin/pack-objects.c:2807
 msgid "reuse existing objects"
 msgstr "重用已存在的对象"
 
-#: builtin/pack-objects.c:2821
+#: builtin/pack-objects.c:2809
 msgid "use OFS_DELTA objects"
 msgstr "使用 OFS_DELTA 对象"
 
-#: builtin/pack-objects.c:2823
+#: builtin/pack-objects.c:2811
 msgid "use threads when searching for best delta matches"
 msgstr "使用线程查询最佳 delta 匹配"
 
-#: builtin/pack-objects.c:2825
+#: builtin/pack-objects.c:2813
 msgid "do not create an empty pack output"
 msgstr "不创建空的包输出"
 
-#: builtin/pack-objects.c:2827
+#: builtin/pack-objects.c:2815
 msgid "read revision arguments from standard input"
 msgstr "从标准输入读取版本号参数"
 
-#: builtin/pack-objects.c:2829
+#: builtin/pack-objects.c:2817
 msgid "limit the objects to those that are not yet packed"
 msgstr "限制那些尚未打包的对象"
 
-#: builtin/pack-objects.c:2832
+#: builtin/pack-objects.c:2820
 msgid "include objects reachable from any reference"
 msgstr "包括可以从任何引用访问到的对象"
 
-#: builtin/pack-objects.c:2835
+#: builtin/pack-objects.c:2823
 msgid "include objects referred by reflog entries"
 msgstr "包括被引用日志引用到的对象"
 
-#: builtin/pack-objects.c:2838
+#: builtin/pack-objects.c:2826
 msgid "include objects referred to by the index"
 msgstr "包括被索引引用到的对象"
 
-#: builtin/pack-objects.c:2841
+#: builtin/pack-objects.c:2829
 msgid "output pack to stdout"
 msgstr "输出包到标准输出"
 
-#: builtin/pack-objects.c:2843
+#: builtin/pack-objects.c:2831
 msgid "include tag objects that refer to objects to be packed"
 msgstr "包括那些引用了待打包对象的标签对象"
 
-#: builtin/pack-objects.c:2845
+#: builtin/pack-objects.c:2833
 msgid "keep unreachable objects"
 msgstr "维持不可达的对象"
 
-#: builtin/pack-objects.c:2847
+#: builtin/pack-objects.c:2835
 msgid "pack loose unreachable objects"
 msgstr "打包松散的不可达对象"
 
-#: builtin/pack-objects.c:2849
+#: builtin/pack-objects.c:2837
 msgid "unpack unreachable objects newer than <time>"
 msgstr "将比给定 <时间> 新的无法访问的对象解包"
 
-#: builtin/pack-objects.c:2852
+#: builtin/pack-objects.c:2840
 msgid "create thin packs"
 msgstr "创建精简包"
 
-#: builtin/pack-objects.c:2854
+#: builtin/pack-objects.c:2842
 msgid "create packs suitable for shallow fetches"
 msgstr "创建适合浅克隆仓库获取的包"
 
-#: builtin/pack-objects.c:2856
+#: builtin/pack-objects.c:2844
 msgid "ignore packs that have companion .keep file"
 msgstr "忽略配有 .keep 文件的包"
 
-#: builtin/pack-objects.c:2858
+#: builtin/pack-objects.c:2846
 msgid "pack compression level"
 msgstr "打包压缩级别"
 
-#: builtin/pack-objects.c:2860
+#: builtin/pack-objects.c:2848
 msgid "do not hide commits by grafts"
 msgstr "显示被嫁接隐藏的提交"
 
-#: builtin/pack-objects.c:2862
+#: builtin/pack-objects.c:2850
 msgid "use a bitmap index if available to speed up counting objects"
 msgstr "使用 bitmap 索引（如果有的话）以提高对象计数时的速度"
 
-#: builtin/pack-objects.c:2864
+#: builtin/pack-objects.c:2852
 msgid "write a bitmap index together with the pack index"
 msgstr "在建立包索引的同时创建 bitmap 索引"
 
-#: builtin/pack-objects.c:2993
+#: builtin/pack-objects.c:2979
 msgid "Counting objects"
 msgstr "对象计数中"
 
@@ -10328,11 +10761,11 @@
 msgid "git prune [-n] [-v] [--expire <time>] [--] [<head>...]"
 msgstr "git prune [-n] [-v] [--expire <时间>] [--] [<头>...]"
 
-#: builtin/prune.c:106 builtin/worktree.c:128
+#: builtin/prune.c:106
 msgid "report pruned objects"
 msgstr "报告清除的对象"
 
-#: builtin/prune.c:109 builtin/worktree.c:130
+#: builtin/prune.c:109
 msgid "expire objects older than <time>"
 msgstr "使早于给定时间的对象过期"
 
@@ -10426,7 +10859,7 @@
 msgid "<remote>"
 msgstr "<远程>"
 
-#: builtin/pull.c:415 builtin/pull.c:430 builtin/pull.c:435 git-rebase.sh:451
+#: builtin/pull.c:415 builtin/pull.c:430 builtin/pull.c:435 git-rebase.sh:455
 #: git-parse-remote.sh:65
 msgid "<branch>"
 msgstr "<分支>"
@@ -10590,12 +11023,12 @@
 "您正推送至远程 '%s'（其并非当前分支 '%s' 的上游），\n"
 "而没有告诉我要推送什么、更新哪个远程分支。"
 
-#: builtin/push.c:242
+#: builtin/push.c:245
 msgid ""
 "You didn't specify any refspecs to push, and push.default is \"nothing\"."
 msgstr "您没有为推送指定任何引用规格，并且 push.default 为 \"nothing\"。"
 
-#: builtin/push.c:249
+#: builtin/push.c:252
 msgid ""
 "Updates were rejected because the tip of your current branch is behind\n"
 "its remote counterpart. Integrate the remote changes (e.g.\n"
@@ -10606,7 +11039,7 @@
 "再次推送前，先与远程变更合并（如 'git pull ...'）。详见\n"
 "'git push --help' 中的 'Note about fast-forwards' 小节。"
 
-#: builtin/push.c:255
+#: builtin/push.c:258
 msgid ""
 "Updates were rejected because a pushed branch tip is behind its remote\n"
 "counterpart. Check out this branch and integrate the remote changes\n"
@@ -10617,7 +11050,7 @@
 "检出该分支并整合远程变更（如 'git pull ...'），然后再推送。详见\n"
 "'git push --help' 中的 'Note about fast-forwards' 小节。"
 
-#: builtin/push.c:261
+#: builtin/push.c:264
 msgid ""
 "Updates were rejected because the remote contains work that you do\n"
 "not have locally. This is usually caused by another repository pushing\n"
@@ -10630,11 +11063,11 @@
 "（如 'git pull ...'）。\n"
 "详见 'git push --help' 中的 'Note about fast-forwards' 小节。"
 
-#: builtin/push.c:268
+#: builtin/push.c:271
 msgid "Updates were rejected because the tag already exists in the remote."
 msgstr "更新被拒绝，因为该标签在远程已经存在。"
 
-#: builtin/push.c:271
+#: builtin/push.c:274
 msgid ""
 "You cannot update a remote ref that points at a non-commit object,\n"
 "or update a remote ref to make it point at a non-commit object,\n"
@@ -10643,22 +11076,22 @@
 "如果不使用 '--force' 参数，您不能更新一个指向非提交对象的远程引用，\n"
 "也不能更新远程引用让其指向一个非提交对象。\n"
 
-#: builtin/push.c:331
+#: builtin/push.c:334
 #, c-format
 msgid "Pushing to %s\n"
 msgstr "推送到 %s\n"
 
-#: builtin/push.c:335
+#: builtin/push.c:338
 #, c-format
 msgid "failed to push some refs to '%s'"
 msgstr "无法推送一些引用到 '%s'"
 
-#: builtin/push.c:366
+#: builtin/push.c:369
 #, c-format
 msgid "bad repository '%s'"
 msgstr "坏的仓库 '%s'"
 
-#: builtin/push.c:367
+#: builtin/push.c:370
 msgid ""
 "No configured push destination.\n"
 "Either specify the URL from the command-line or configure a remote "
@@ -10679,112 +11112,112 @@
 "\n"
 "    git push <名称>\n"
 
-#: builtin/push.c:385
+#: builtin/push.c:388
 msgid "--all and --tags are incompatible"
 msgstr "--all 和 --tags 不兼容"
 
-#: builtin/push.c:386
+#: builtin/push.c:389
 msgid "--all can't be combined with refspecs"
 msgstr "--all 不能和引用规格同时使用"
 
-#: builtin/push.c:391
+#: builtin/push.c:394
 msgid "--mirror and --tags are incompatible"
 msgstr "--mirror 和 --tags 不兼容"
 
-#: builtin/push.c:392
+#: builtin/push.c:395
 msgid "--mirror can't be combined with refspecs"
 msgstr "--mirror 不能和引用规格同时使用"
 
-#: builtin/push.c:397
+#: builtin/push.c:400
 msgid "--all and --mirror are incompatible"
 msgstr "--all 和 --mirror 不兼容"
 
-#: builtin/push.c:515
+#: builtin/push.c:518
 msgid "repository"
 msgstr "仓库"
 
-#: builtin/push.c:516 builtin/send-pack.c:161
+#: builtin/push.c:519 builtin/send-pack.c:161
 msgid "push all refs"
 msgstr "推送所有引用"
 
-#: builtin/push.c:517 builtin/send-pack.c:163
+#: builtin/push.c:520 builtin/send-pack.c:163
 msgid "mirror all refs"
 msgstr "镜像所有引用"
 
-#: builtin/push.c:519
+#: builtin/push.c:522
 msgid "delete refs"
 msgstr "删除引用"
 
-#: builtin/push.c:520
+#: builtin/push.c:523
 msgid "push tags (can't be used with --all or --mirror)"
 msgstr "推送标签（不能使用 --all or --mirror）"
 
-#: builtin/push.c:523 builtin/send-pack.c:164
+#: builtin/push.c:526 builtin/send-pack.c:164
 msgid "force updates"
 msgstr "强制更新"
 
-#: builtin/push.c:525 builtin/send-pack.c:175
+#: builtin/push.c:528 builtin/send-pack.c:175
 msgid "refname>:<expect"
 msgstr "引用名>:<期望值"
 
-#: builtin/push.c:526 builtin/send-pack.c:176
+#: builtin/push.c:529 builtin/send-pack.c:176
 msgid "require old value of ref to be at this value"
 msgstr "要求引用旧的取值为设定值"
 
-#: builtin/push.c:529
+#: builtin/push.c:532
 msgid "control recursive pushing of submodules"
 msgstr "控制子模组的递归推送"
 
-#: builtin/push.c:531 builtin/send-pack.c:169
+#: builtin/push.c:534 builtin/send-pack.c:169
 msgid "use thin pack"
 msgstr "使用精简打包"
 
-#: builtin/push.c:532 builtin/push.c:533 builtin/send-pack.c:158
+#: builtin/push.c:535 builtin/push.c:536 builtin/send-pack.c:158
 #: builtin/send-pack.c:159
 msgid "receive pack program"
 msgstr "接收包程序"
 
-#: builtin/push.c:534
+#: builtin/push.c:537
 msgid "set upstream for git pull/status"
 msgstr "设置 git pull/status 的上游"
 
-#: builtin/push.c:537
+#: builtin/push.c:540
 msgid "prune locally removed refs"
 msgstr "清除本地删除的引用"
 
-#: builtin/push.c:539
+#: builtin/push.c:542
 msgid "bypass pre-push hook"
 msgstr "绕过 pre-push 钩子"
 
-#: builtin/push.c:540
+#: builtin/push.c:543
 msgid "push missing but relevant tags"
 msgstr "推送缺失但有关的标签"
 
-#: builtin/push.c:543 builtin/send-pack.c:166
+#: builtin/push.c:546 builtin/send-pack.c:166
 msgid "GPG sign the push"
 msgstr "用 GPG 为推送签名"
 
-#: builtin/push.c:545 builtin/send-pack.c:170
+#: builtin/push.c:548 builtin/send-pack.c:170
 msgid "request atomic transaction on remote side"
 msgstr "需要远端支持原子事务"
 
-#: builtin/push.c:546
+#: builtin/push.c:549
 msgid "server-specific"
 msgstr "server-specific"
 
-#: builtin/push.c:546
+#: builtin/push.c:549
 msgid "option to transmit"
 msgstr "传输选项"
 
-#: builtin/push.c:560
+#: builtin/push.c:563
 msgid "--delete is incompatible with --all, --mirror and --tags"
 msgstr "--delete 与 --all、--mirror 及 --tags 不兼容"
 
-#: builtin/push.c:562
+#: builtin/push.c:565
 msgid "--delete doesn't make sense without any refs"
 msgstr "--delete 未接任何引用没有意义"
 
-#: builtin/push.c:579
+#: builtin/push.c:584
 msgid "push options must not have new line characters"
 msgstr "推送选项不能有换行符"
 
@@ -10873,8 +11306,8 @@
 "with what you pushed, and will require 'git reset --hard' to match\n"
 "the work tree to HEAD.\n"
 "\n"
-"You can set 'receive.denyCurrentBranch' configuration variable to\n"
-"'ignore' or 'warn' in the remote repository to allow pushing into\n"
+"You can set the 'receive.denyCurrentBranch' configuration variable\n"
+"to 'ignore' or 'warn' in the remote repository to allow pushing into\n"
 "its current branch; however, this is not recommended unless you\n"
 "arranged to update its work tree to match what you pushed in some\n"
 "other way.\n"
@@ -10904,10 +11337,10 @@
 "To squelch this message, you can set it to 'refuse'."
 msgstr ""
 "默认禁止删除当前分支，因为下一次 'git clone' 将不会检出任何文件，\n"
-"导致混淆。\n"
+"导致困惑。\n"
 "\n"
 "您可以在远程仓库中设置 'receive.denyDeleteCurrent' 配置变量为\n"
-"'warn' 或 'ignore' 以允许删除当前分支，显示或者不显示警告。\n"
+"'warn'（显示警告信息）或 'ignore'（忽略警告信息）以允许删除当前分支。\n"
 "\n"
 "若要屏蔽此信息，您可以设置它为 'refuse'。"
 
@@ -11435,83 +11868,91 @@
 msgid "git repack [<options>]"
 msgstr "git repack [<选项>]"
 
-#: builtin/repack.c:160
+#: builtin/repack.c:22
+msgid ""
+"Incremental repacks are incompatible with bitmap indexes.  Use\n"
+"--no-write-bitmap-index or disable the pack.writebitmaps configuration."
+msgstr ""
+"增量 repack 和 bitmap 索引不兼容。  使用 --no-write-bitmap-index\n"
+"或禁用 pack.writebitmaps 配置。"
+
+#: builtin/repack.c:166
 msgid "pack everything in a single pack"
 msgstr "所有内容打包到一个包文件中"
 
-#: builtin/repack.c:162
+#: builtin/repack.c:168
 msgid "same as -a, and turn unreachable objects loose"
 msgstr "和 -a 相同，并将不可达的对象设为松散对象"
 
-#: builtin/repack.c:165
+#: builtin/repack.c:171
 msgid "remove redundant packs, and run git-prune-packed"
 msgstr "删除多余的包，运行 git-prune-packed"
 
-#: builtin/repack.c:167
+#: builtin/repack.c:173
 msgid "pass --no-reuse-delta to git-pack-objects"
 msgstr "向 git-pack-objects 传递参数 --no-reuse-delta"
 
-#: builtin/repack.c:169
+#: builtin/repack.c:175
 msgid "pass --no-reuse-object to git-pack-objects"
 msgstr "向 git-pack-objects 传递参数 --no-reuse-object"
 
-#: builtin/repack.c:171
+#: builtin/repack.c:177
 msgid "do not run git-update-server-info"
 msgstr "不运行 git-update-server-info"
 
-#: builtin/repack.c:174
+#: builtin/repack.c:180
 msgid "pass --local to git-pack-objects"
 msgstr "向 git-pack-objects 传递参数 --local"
 
-#: builtin/repack.c:176
+#: builtin/repack.c:182
 msgid "write bitmap index"
 msgstr "写 bitmap 索引"
 
-#: builtin/repack.c:177
+#: builtin/repack.c:183
 msgid "approxidate"
 msgstr "近似日期"
 
-#: builtin/repack.c:178
+#: builtin/repack.c:184
 msgid "with -A, do not loosen objects older than this"
 msgstr "使用 -A，不要将早于给定时间的对象过期"
 
-#: builtin/repack.c:180
+#: builtin/repack.c:186
 msgid "with -a, repack unreachable objects"
 msgstr "使用 -a ，重新对不可达对象打包"
 
-#: builtin/repack.c:182
+#: builtin/repack.c:188
 msgid "size of the window used for delta compression"
 msgstr "用于增量压缩的窗口值"
 
-#: builtin/repack.c:183 builtin/repack.c:187
+#: builtin/repack.c:189 builtin/repack.c:193
 msgid "bytes"
 msgstr "字节"
 
-#: builtin/repack.c:184
+#: builtin/repack.c:190
 msgid "same as the above, but limit memory size instead of entries count"
 msgstr "和上面的相似，但限制内存大小而非条目数"
 
-#: builtin/repack.c:186
+#: builtin/repack.c:192
 msgid "limits the maximum delta depth"
 msgstr "限制最大增量深度"
 
-#: builtin/repack.c:188
+#: builtin/repack.c:194
 msgid "maximum size of each packfile"
 msgstr "每个包文件的最大尺寸"
 
-#: builtin/repack.c:190
+#: builtin/repack.c:196
 msgid "repack objects in packs marked with .keep"
 msgstr "对标记为 .keep 的包中的对象重新打包"
 
-#: builtin/repack.c:200
+#: builtin/repack.c:206
 msgid "cannot delete packs in a precious-objects repo"
 msgstr "不能删除珍品仓库中的打包文件"
 
-#: builtin/repack.c:204
+#: builtin/repack.c:210
 msgid "--keep-unreachable and -A are incompatible"
 msgstr "--keep-unreachable 和 -A 不兼容"
 
-#: builtin/repack.c:391 builtin/worktree.c:115
+#: builtin/repack.c:400 builtin/worktree.c:115
 #, c-format
 msgid "failed to remove '%s'"
 msgstr "无法删除 '%s'"
@@ -11740,23 +12181,23 @@
 msgid "rev-list does not support display of notes"
 msgstr "rev-list 不支持显示注解"
 
-#: builtin/rev-parse.c:386
+#: builtin/rev-parse.c:391
 msgid "git rev-parse --parseopt [<options>] -- [<args>...]"
 msgstr "git rev-parse --parseopt [<选项>] -- [<参数>...]"
 
-#: builtin/rev-parse.c:391
+#: builtin/rev-parse.c:396
 msgid "keep the `--` passed as an arg"
 msgstr "保持 `--` 作为一个参数传递"
 
-#: builtin/rev-parse.c:393
+#: builtin/rev-parse.c:398
 msgid "stop parsing after the first non-option argument"
 msgstr "遇到第一个非选项参数后停止解析"
 
-#: builtin/rev-parse.c:396
+#: builtin/rev-parse.c:401
 msgid "output in stuck long form"
 msgstr "以固定长格式输出"
 
-#: builtin/rev-parse.c:527
+#: builtin/rev-parse.c:532
 msgid ""
 "git rev-parse --parseopt [<options>] -- [<args>...]\n"
 "   or: git rev-parse --sq-quote [<arg>...]\n"
@@ -11855,25 +12296,7 @@
 msgid "git rm [<options>] [--] <file>..."
 msgstr "git rm [<选项>] [--] <文件>..."
 
-#: builtin/rm.c:65
-msgid ""
-"the following submodule (or one of its nested submodules)\n"
-"uses a .git directory:"
-msgid_plural ""
-"the following submodules (or one of their nested submodules)\n"
-"use a .git directory:"
-msgstr[0] "以下子模组（或一个其嵌套子模组）使用了一个 .git 目录："
-msgstr[1] "以下子模组（或一个其嵌套子模组）使用了一个 .git 目录："
-
-#: builtin/rm.c:71
-msgid ""
-"\n"
-"(use 'rm -rf' if you really want to remove it including all of its history)"
-msgstr ""
-"\n"
-"（使用 'rm -rf' 命令如果您真的想删除它及其全部历史）"
-
-#: builtin/rm.c:230
+#: builtin/rm.c:205
 msgid ""
 "the following file has staged content different from both the\n"
 "file and the HEAD:"
@@ -11883,7 +12306,7 @@
 msgstr[0] "如下文件其暂存的内容和工作区及 HEAD 中的都不一样："
 msgstr[1] "如下文件其暂存的内容和工作区及 HEAD 中的都不一样："
 
-#: builtin/rm.c:235
+#: builtin/rm.c:210
 msgid ""
 "\n"
 "(use -f to force removal)"
@@ -11891,13 +12314,13 @@
 "\n"
 "（使用 -f 强制删除）"
 
-#: builtin/rm.c:239
+#: builtin/rm.c:214
 msgid "the following file has changes staged in the index:"
 msgid_plural "the following files have changes staged in the index:"
 msgstr[0] "下列文件索引中有变更"
 msgstr[1] "下列文件索引中有变更"
 
-#: builtin/rm.c:243 builtin/rm.c:254
+#: builtin/rm.c:218 builtin/rm.c:227
 msgid ""
 "\n"
 "(use --cached to keep the file, or -f to force removal)"
@@ -11905,42 +12328,47 @@
 "\n"
 "（使用 --cached 保留本地文件，或用 -f 强制删除）"
 
-#: builtin/rm.c:251
+#: builtin/rm.c:224
 msgid "the following file has local modifications:"
 msgid_plural "the following files have local modifications:"
 msgstr[0] "如下文件有本地修改："
 msgstr[1] "如下文件有本地修改："
 
-#: builtin/rm.c:269
+#: builtin/rm.c:242
 msgid "do not list removed files"
 msgstr "不列出删除的文件"
 
-#: builtin/rm.c:270
+#: builtin/rm.c:243
 msgid "only remove from the index"
 msgstr "只从索引区删除"
 
-#: builtin/rm.c:271
+#: builtin/rm.c:244
 msgid "override the up-to-date check"
 msgstr "忽略文件更新状态检查"
 
-#: builtin/rm.c:272
+#: builtin/rm.c:245
 msgid "allow recursive removal"
 msgstr "允许递归删除"
 
-#: builtin/rm.c:274
+#: builtin/rm.c:247
 msgid "exit with a zero status even if nothing matched"
 msgstr "即使没有匹配，也以零状态退出"
 
-#: builtin/rm.c:335
+#: builtin/rm.c:308
 #, c-format
 msgid "not removing '%s' recursively without -r"
 msgstr "未提供 -r 选项不会递归删除 '%s'"
 
-#: builtin/rm.c:374
+#: builtin/rm.c:347
 #, c-format
 msgid "git rm: unable to remove %s"
 msgstr "git rm：不能删除 %s"
 
+#: builtin/rm.c:370
+#, c-format
+msgid "could not remove '%s'"
+msgstr "无法删除 '%s'"
+
 #: builtin/send-pack.c:18
 msgid ""
 "git send-pack [--all | --mirror] [--dry-run] [--force] [--receive-pack=<git-"
@@ -11972,23 +12400,27 @@
 msgid "git shortlog [<options>] [<revision-range>] [[--] [<path>...]]"
 msgstr "git shortlog [<选项>] [<版本范围>] [[--] [<路径>...]]"
 
-#: builtin/shortlog.c:242
+#: builtin/shortlog.c:249
+msgid "Group by committer rather than author"
+msgstr "按照提交者分组而不是作者"
+
+#: builtin/shortlog.c:251
 msgid "sort output according to the number of commits per author"
 msgstr "根据每个作者的提交数量排序"
 
-#: builtin/shortlog.c:244
+#: builtin/shortlog.c:253
 msgid "Suppress commit descriptions, only provides commit count"
 msgstr "隐藏提交说明，只提供提交数量"
 
-#: builtin/shortlog.c:246
+#: builtin/shortlog.c:255
 msgid "Show the email address of each author"
 msgstr "显示每个作者的电子邮件地址"
 
-#: builtin/shortlog.c:247
+#: builtin/shortlog.c:256
 msgid "w[,i1[,i2]]"
 msgstr "w[,i1[,i2]]"
 
-#: builtin/shortlog.c:248
+#: builtin/shortlog.c:257
 msgid "Linewrap output"
 msgstr "折行输出"
 
@@ -12124,7 +12556,7 @@
 #: builtin/show-branch.c:836
 #, c-format
 msgid "cannot find commit %s (%s)"
-msgstr "不能找到提交 %s (%s)"
+msgstr "不能找到提交 %s（%s）"
 
 #: builtin/show-ref.c:10
 msgid ""
@@ -12138,35 +12570,35 @@
 msgid "git show-ref --exclude-existing[=<pattern>]"
 msgstr "git show-ref --exclude-existing[=<模式>]"
 
-#: builtin/show-ref.c:165
+#: builtin/show-ref.c:159
 msgid "only show tags (can be combined with heads)"
 msgstr "只显示标签（可以和头共用）"
 
-#: builtin/show-ref.c:166
+#: builtin/show-ref.c:160
 msgid "only show heads (can be combined with tags)"
 msgstr "只显示头（可以和标签共用）"
 
-#: builtin/show-ref.c:167
+#: builtin/show-ref.c:161
 msgid "stricter reference checking, requires exact ref path"
 msgstr "更严格的引用检测，需要精确的引用路径"
 
-#: builtin/show-ref.c:170 builtin/show-ref.c:172
+#: builtin/show-ref.c:164 builtin/show-ref.c:166
 msgid "show the HEAD reference, even if it would be filtered out"
 msgstr "显示 HEAD 引用，即使被过滤掉"
 
-#: builtin/show-ref.c:174
+#: builtin/show-ref.c:168
 msgid "dereference tags into object IDs"
 msgstr "转换标签到对象 ID"
 
-#: builtin/show-ref.c:176
+#: builtin/show-ref.c:170
 msgid "only show SHA1 hash using <n> digits"
 msgstr "只显示使用 <n> 个数字的 SHA1 哈希"
 
-#: builtin/show-ref.c:180
+#: builtin/show-ref.c:174
 msgid "do not print results to stdout (useful with --verify)"
 msgstr "不打印结果到标准输出（例如与 --verify 参数共用）"
 
-#: builtin/show-ref.c:182
+#: builtin/show-ref.c:176
 msgid "show refs from stdin that aren't in local repository"
 msgstr "显示从标准输入中读入的不在本地仓库中的引用"
 
@@ -12186,12 +12618,12 @@
 msgid "prepend comment character and space to each line"
 msgstr "为每一行的行首添加注释符和空格"
 
-#: builtin/submodule--helper.c:24 builtin/submodule--helper.c:1046
+#: builtin/submodule--helper.c:24 builtin/submodule--helper.c:1062
 #, c-format
 msgid "No such ref: %s"
 msgstr "没有这样的引用：%s"
 
-#: builtin/submodule--helper.c:31 builtin/submodule--helper.c:1055
+#: builtin/submodule--helper.c:31 builtin/submodule--helper.c:1071
 #, c-format
 msgid "Expecting a full ref name, got %s"
 msgstr "期望一个完整的引用名称，却得到 %s"
@@ -12201,8 +12633,7 @@
 msgid "cannot strip one component off url '%s'"
 msgstr "无法从 url '%s' 剥离一个组件"
 
-#: builtin/submodule--helper.c:282 builtin/submodule--helper.c:408
-#: builtin/submodule--helper.c:590
+#: builtin/submodule--helper.c:282 builtin/submodule--helper.c:592
 msgid "alternative anchor for relative paths"
 msgstr "相对路径的替代锚记（anchor）"
 
@@ -12210,85 +12641,85 @@
 msgid "git submodule--helper list [--prefix=<path>] [<path>...]"
 msgstr "git submodule--helper list [--prefix=<路径>] [<路径>...]"
 
-#: builtin/submodule--helper.c:329 builtin/submodule--helper.c:343
+#: builtin/submodule--helper.c:333 builtin/submodule--helper.c:347
 #, c-format
 msgid "No url found for submodule path '%s' in .gitmodules"
 msgstr "在 .gitmodules 中未找到子模组 '%s' 的 url"
 
-#: builtin/submodule--helper.c:369
+#: builtin/submodule--helper.c:373
 #, c-format
 msgid "Failed to register url for submodule path '%s'"
 msgstr "无法为子模组 '%s' 注册 url"
 
-#: builtin/submodule--helper.c:373
+#: builtin/submodule--helper.c:377
 #, c-format
 msgid "Submodule '%s' (%s) registered for path '%s'\n"
 msgstr "子模组 '%s'（%s）未对路径 '%s' 注册\n"
 
 #
-#: builtin/submodule--helper.c:383
+#: builtin/submodule--helper.c:387
 #, c-format
 msgid "warning: command update mode suggested for submodule '%s'\n"
 msgstr "警告：建议子模组 '%s' 使用命令更新模式\n"
 
-#: builtin/submodule--helper.c:390
+#: builtin/submodule--helper.c:394
 #, c-format
 msgid "Failed to register update mode for submodule path '%s'"
 msgstr "无法为子模组 '%s' 注册更新模式"
 
-#: builtin/submodule--helper.c:409
+#: builtin/submodule--helper.c:410
 msgid "Suppress output for initializing a submodule"
 msgstr "初始化子模组时抑制输出"
 
-#: builtin/submodule--helper.c:414
+#: builtin/submodule--helper.c:415
 msgid "git submodule--helper init [<path>]"
 msgstr "git submodule--helper init [<路径>]"
 
-#: builtin/submodule--helper.c:435
+#: builtin/submodule--helper.c:436
 msgid "git submodule--helper name <path>"
 msgstr "git submodule--helper name <路径>"
 
-#: builtin/submodule--helper.c:441
+#: builtin/submodule--helper.c:442
 #, c-format
 msgid "no submodule mapping found in .gitmodules for path '%s'"
 msgstr "在 .gitmodules 中没有发现路径 '%s' 的子模组映射"
 
-#: builtin/submodule--helper.c:524 builtin/submodule--helper.c:527
+#: builtin/submodule--helper.c:525 builtin/submodule--helper.c:528
 #, c-format
 msgid "submodule '%s' cannot add alternate: %s"
 msgstr "子模组 '%s' 不能添加仓库备选：%s"
 
-#: builtin/submodule--helper.c:563
+#: builtin/submodule--helper.c:564
 #, c-format
 msgid "Value '%s' for submodule.alternateErrorStrategy is not recognized"
 msgstr "不能识别 submodule.alternateErrorStrategy 的取值 '%s'"
 
-#: builtin/submodule--helper.c:570
+#: builtin/submodule--helper.c:571
 #, c-format
 msgid "Value '%s' for submodule.alternateLocation is not recognized"
 msgstr "不能识别 submodule.alternateLocaion 的取值 '%s'"
 
-#: builtin/submodule--helper.c:593
+#: builtin/submodule--helper.c:595
 msgid "where the new submodule will be cloned to"
 msgstr "新的子模组将要克隆的路径"
 
-#: builtin/submodule--helper.c:596
+#: builtin/submodule--helper.c:598
 msgid "name of the new submodule"
 msgstr "新子模组的名称"
 
-#: builtin/submodule--helper.c:599
+#: builtin/submodule--helper.c:601
 msgid "url where to clone the submodule from"
 msgstr "克隆子模组的 url 地址"
 
-#: builtin/submodule--helper.c:605
+#: builtin/submodule--helper.c:607
 msgid "depth for shallow clones"
 msgstr "浅克隆的深度"
 
-#: builtin/submodule--helper.c:608 builtin/submodule--helper.c:964
+#: builtin/submodule--helper.c:610 builtin/submodule--helper.c:980
 msgid "force cloning progress"
-msgstr "显示克隆进度"
+msgstr "强制显示克隆进度"
 
-#: builtin/submodule--helper.c:613
+#: builtin/submodule--helper.c:615
 msgid ""
 "git submodule--helper clone [--prefix=<path>] [--quiet] [--reference "
 "<repository>] [--name <name>] [--depth <depth>] --url <url> --path <path>"
@@ -12296,108 +12727,116 @@
 "git submodule--helper clone [--prefix=<路径>] [--quiet] [--reference <仓库>] "
 "[--name <名字>] [--depth <深度>] --url <url> --path <路径>"
 
-#: builtin/submodule--helper.c:638 builtin/submodule--helper.c:648
-#, c-format
-msgid "could not create directory '%s'"
-msgstr "不能创建目录 '%s'"
-
-#: builtin/submodule--helper.c:644
+#: builtin/submodule--helper.c:646
 #, c-format
 msgid "clone of '%s' into submodule path '%s' failed"
 msgstr "无法克隆 '%s' 到子模组路径 '%s'"
 
-#: builtin/submodule--helper.c:660
+#: builtin/submodule--helper.c:662
 #, c-format
 msgid "cannot open file '%s'"
 msgstr "无法打开文件 '%s'"
 
-#: builtin/submodule--helper.c:665
+#: builtin/submodule--helper.c:667
 #, c-format
 msgid "could not close file %s"
 msgstr "无法关闭文件 %s"
 
-#: builtin/submodule--helper.c:672
+#: builtin/submodule--helper.c:674
 #, c-format
 msgid "could not get submodule directory for '%s'"
 msgstr "无法得到 '%s' 的子模组目录"
 
-#: builtin/submodule--helper.c:726
+#: builtin/submodule--helper.c:742
 #, c-format
 msgid "Submodule path '%s' not initialized"
 msgstr "子模组 '%s' 尚未初始化"
 
-#: builtin/submodule--helper.c:730
+#: builtin/submodule--helper.c:746
 msgid "Maybe you want to use 'update --init'?"
 msgstr "也许您想要执行 'update --init'？"
 
-#: builtin/submodule--helper.c:756
+#: builtin/submodule--helper.c:772
 #, c-format
 msgid "Skipping unmerged submodule %s"
 msgstr "略过未合并的子模组 %s"
 
-#: builtin/submodule--helper.c:777
+#: builtin/submodule--helper.c:793
 #, c-format
 msgid "Skipping submodule '%s'"
 msgstr "略过子模组 '%s'"
 
-#: builtin/submodule--helper.c:913
+#: builtin/submodule--helper.c:929
 #, c-format
 msgid "Failed to clone '%s'. Retry scheduled"
 msgstr "克隆 '%s' 失败。按计划重试"
 
-#: builtin/submodule--helper.c:924
+#: builtin/submodule--helper.c:940
 #, c-format
 msgid "Failed to clone '%s' a second time, aborting"
 msgstr "第二次尝试克隆 '%s' 失败，退出"
 
-#: builtin/submodule--helper.c:945
+#: builtin/submodule--helper.c:961 builtin/submodule--helper.c:1105
 msgid "path into the working tree"
 msgstr "到工作区的路径"
 
-#: builtin/submodule--helper.c:948
+#: builtin/submodule--helper.c:964
 msgid "path into the working tree, across nested submodule boundaries"
 msgstr "工作区中的路径，递归嵌套子模组"
 
-#: builtin/submodule--helper.c:952
+#: builtin/submodule--helper.c:968
 msgid "rebase, merge, checkout or none"
 msgstr "rebase、merge、checkout 或 none"
 
-#: builtin/submodule--helper.c:956
+#: builtin/submodule--helper.c:972
 msgid "Create a shallow clone truncated to the specified number of revisions"
 msgstr "创建一个指定深度的浅克隆"
 
-#: builtin/submodule--helper.c:959
+#: builtin/submodule--helper.c:975
 msgid "parallel jobs"
 msgstr "并发任务"
 
-#: builtin/submodule--helper.c:961
+#: builtin/submodule--helper.c:977
 msgid "whether the initial clone should follow the shallow recommendation"
 msgstr "初始克隆是否应该遵守推荐的浅克隆选项"
 
-#: builtin/submodule--helper.c:962
+#: builtin/submodule--helper.c:978
 msgid "don't print cloning progress"
 msgstr "不要输出克隆进度"
 
-#: builtin/submodule--helper.c:969
+#: builtin/submodule--helper.c:985
 msgid "git submodule--helper update_clone [--prefix=<path>] [<path>...]"
 msgstr "git submodule--helper update_clone [--prefix=<路径>] [<路径>...]"
 
-#: builtin/submodule--helper.c:979
+#: builtin/submodule--helper.c:995
 msgid "bad value for update parameter"
 msgstr "update 参数取值错误"
 
-#: builtin/submodule--helper.c:1050
+#: builtin/submodule--helper.c:1066
 #, c-format
 msgid ""
 "Submodule (%s) branch configured to inherit branch from superproject, but "
 "the superproject is not on any branch"
 msgstr "子模组（%s）的分支配置为继承上级项目的分支，但是上级项目不在任何分支上"
 
-#: builtin/submodule--helper.c:1100
+#: builtin/submodule--helper.c:1106
+msgid "recurse into submodules"
+msgstr "在子模组中递归"
+
+#: builtin/submodule--helper.c:1112
+msgid "git submodule--helper embed-git-dir [<path>...]"
+msgstr "git submodule--helper embed-git-dir [<路径>...]"
+
+#: builtin/submodule--helper.c:1157
 msgid "submodule--helper subcommand must be called with a subcommand"
 msgstr "submodule-helper 子命令必须由另外的子命令调用"
 
-#: builtin/submodule--helper.c:1107
+#: builtin/submodule--helper.c:1164
+#, c-format
+msgid "%s doesn't support --super-prefix"
+msgstr "%s 不支持 --super-prefix"
+
+#: builtin/submodule--helper.c:1170
 #, c-format
 msgid "'%s' is not a valid submodule--helper subcommand"
 msgstr "'%s' 不是一个有效的 submodule--helper 子命令"
@@ -12450,25 +12889,25 @@
 "\t\t[--format=<格式>] [--[no-]merged [<提交>]] [<模式>...]"
 
 #: builtin/tag.c:27
-msgid "git tag -v <tagname>..."
-msgstr "git tag -v <标签名>..."
+msgid "git tag -v [--format=<format>] <tagname>..."
+msgstr "git tag -v [--format=<格式>] <标签名>..."
 
-#: builtin/tag.c:81
+#: builtin/tag.c:82
 #, c-format
 msgid "tag name too long: %.*s..."
 msgstr "标签名称太长：%.*s..."
 
-#: builtin/tag.c:86
+#: builtin/tag.c:87
 #, c-format
 msgid "tag '%s' not found."
 msgstr "未发现标签 '%s'。"
 
-#: builtin/tag.c:101
+#: builtin/tag.c:102
 #, c-format
 msgid "Deleted tag '%s' (was %s)\n"
 msgstr "已删除标签 '%s'（曾为 %s）\n"
 
-#: builtin/tag.c:117
+#: builtin/tag.c:131
 #, c-format
 msgid ""
 "\n"
@@ -12481,7 +12920,7 @@
 "  %s\n"
 "以 '%c' 开头的行将被忽略。\n"
 
-#: builtin/tag.c:121
+#: builtin/tag.c:135
 #, c-format
 msgid ""
 "\n"
@@ -12495,138 +12934,138 @@
 "  %s\n"
 "以 '%c' 开头的行将被保留，如果您愿意也可以删除它们。\n"
 
-#: builtin/tag.c:199
+#: builtin/tag.c:213
 msgid "unable to sign the tag"
 msgstr "无法签署标签"
 
-#: builtin/tag.c:201
+#: builtin/tag.c:215
 msgid "unable to write tag file"
 msgstr "无法写标签文件"
 
-#: builtin/tag.c:226
+#: builtin/tag.c:240
 msgid "bad object type."
 msgstr "坏的对象类型。"
 
-#: builtin/tag.c:239
+#: builtin/tag.c:253
 msgid "tag header too big."
 msgstr "标签头信息太大。"
 
-#: builtin/tag.c:275
+#: builtin/tag.c:289
 msgid "no tag message?"
 msgstr "无标签说明？"
 
-#: builtin/tag.c:281
+#: builtin/tag.c:295
 #, c-format
 msgid "The tag message has been left in %s\n"
 msgstr "标签说明被保留在 %s\n"
 
-#: builtin/tag.c:339
+#: builtin/tag.c:354
 msgid "list tag names"
 msgstr "列出标签名称"
 
-#: builtin/tag.c:341
+#: builtin/tag.c:356
 msgid "print <n> lines of each tag message"
 msgstr "每个标签信息打印 <n> 行"
 
-#: builtin/tag.c:343
+#: builtin/tag.c:358
 msgid "delete tags"
 msgstr "删除标签"
 
-#: builtin/tag.c:344
+#: builtin/tag.c:359
 msgid "verify tags"
 msgstr "验证标签"
 
-#: builtin/tag.c:346
+#: builtin/tag.c:361
 msgid "Tag creation options"
 msgstr "标签创建选项"
 
-#: builtin/tag.c:348
+#: builtin/tag.c:363
 msgid "annotated tag, needs a message"
 msgstr "附注标签，需要一个说明"
 
-#: builtin/tag.c:350
+#: builtin/tag.c:365
 msgid "tag message"
 msgstr "标签说明"
 
-#: builtin/tag.c:352
+#: builtin/tag.c:367
 msgid "annotated and GPG-signed tag"
 msgstr "附注并附加 GPG 签名的标签"
 
-#: builtin/tag.c:356
+#: builtin/tag.c:371
 msgid "use another key to sign the tag"
 msgstr "使用另外的私钥签名该标签"
 
-#: builtin/tag.c:357
+#: builtin/tag.c:372
 msgid "replace the tag if exists"
 msgstr "如果存在，替换现有的标签"
 
-#: builtin/tag.c:358 builtin/update-ref.c:368
+#: builtin/tag.c:373 builtin/update-ref.c:368
 msgid "create a reflog"
 msgstr "创建引用日志"
 
-#: builtin/tag.c:360
+#: builtin/tag.c:375
 msgid "Tag listing options"
 msgstr "标签列表选项"
 
-#: builtin/tag.c:361
+#: builtin/tag.c:376
 msgid "show tag list in columns"
 msgstr "以列的方式显示标签列表"
 
-#: builtin/tag.c:362 builtin/tag.c:363
+#: builtin/tag.c:377 builtin/tag.c:378
 msgid "print only tags that contain the commit"
 msgstr "只打印包含提交的标签"
 
-#: builtin/tag.c:364
+#: builtin/tag.c:379
 msgid "print only tags that are merged"
 msgstr "只打印已经合并的标签"
 
-#: builtin/tag.c:365
+#: builtin/tag.c:380
 msgid "print only tags that are not merged"
 msgstr "只打印尚未合并的标签"
 
-#: builtin/tag.c:370
+#: builtin/tag.c:385
 msgid "print only tags of the object"
 msgstr "只打印对象的标签"
 
-#: builtin/tag.c:399
+#: builtin/tag.c:415
 msgid "--column and -n are incompatible"
 msgstr "--column 和 -n 不兼容"
 
-#: builtin/tag.c:419
+#: builtin/tag.c:437
 msgid "-n option is only allowed with -l."
 msgstr "-n 选项只允许和 -l 同时使用。"
 
-#: builtin/tag.c:421
+#: builtin/tag.c:439
 msgid "--contains option is only allowed with -l."
 msgstr "--contains 选项只允许和 -l 同时使用。"
 
-#: builtin/tag.c:423
+#: builtin/tag.c:441
 msgid "--points-at option is only allowed with -l."
 msgstr "--points-at 选项只允许和 -l 同时使用。"
 
-#: builtin/tag.c:425
+#: builtin/tag.c:443
 msgid "--merged and --no-merged option are only allowed with -l"
 msgstr "选项 --merged 和 --no-merged 只能和 -l 共用"
 
-#: builtin/tag.c:433
+#: builtin/tag.c:454
 msgid "only one -F or -m option is allowed."
 msgstr "只允许一个 -F 或 -m 选项。"
 
-#: builtin/tag.c:452
+#: builtin/tag.c:473
 msgid "too many params"
 msgstr "太多参数"
 
-#: builtin/tag.c:458
+#: builtin/tag.c:479
 #, c-format
 msgid "'%s' is not a valid tag name."
 msgstr "'%s' 不是一个有效的标签名称。"
 
-#: builtin/tag.c:463
+#: builtin/tag.c:484
 #, c-format
 msgid "tag '%s' already exists"
 msgstr "标签 '%s' 已存在"
 
-#: builtin/tag.c:491
+#: builtin/tag.c:512
 #, c-format
 msgid "Updated tag '%s' (was %s)\n"
 msgstr "已更新标签 '%s'（曾为 %s）\n"
@@ -12813,7 +13252,7 @@
 msgid "enable untracked cache without testing the filesystem"
 msgstr "无需检测文件系统，启用对未跟踪文件的缓存"
 
-#: builtin/update-index.c:1119
+#: builtin/update-index.c:1120
 msgid ""
 "core.untrackedCache is set to true; remove or change it, if you really want "
 "to disable the untracked cache"
@@ -12821,11 +13260,11 @@
 "core.untrackedCache 被设置为 true。如果您确实要禁用未跟踪文件缓存，请删除或修"
 "改它。"
 
-#: builtin/update-index.c:1123
+#: builtin/update-index.c:1124
 msgid "Untracked cache disabled"
 msgstr "缓存未跟踪文件被禁用"
 
-#: builtin/update-index.c:1131
+#: builtin/update-index.c:1132
 msgid ""
 "core.untrackedCache is set to false; remove or change it, if you really want "
 "to enable the untracked cache"
@@ -12833,7 +13272,7 @@
 "core.untrackedCache 被设置为 false。如果您确实要启用未跟踪文件缓存，请删除或"
 "修改它。"
 
-#: builtin/update-index.c:1135
+#: builtin/update-index.c:1136
 #, c-format
 msgid "Untracked cache enabled for '%s'"
 msgstr "缓存未跟踪文件在 '%s' 启用"
@@ -12882,7 +13321,7 @@
 msgid "print commit contents"
 msgstr "打印提交内容"
 
-#: builtin/verify-commit.c:73 builtin/verify-tag.c:35
+#: builtin/verify-commit.c:73 builtin/verify-tag.c:37
 msgid "print raw gpg status output"
 msgstr "打印原始 gpg 状态输出"
 
@@ -12898,11 +13337,11 @@
 msgid "show statistics only"
 msgstr "只显示统计"
 
-#: builtin/verify-tag.c:17
-msgid "git verify-tag [-v | --verbose] <tag>..."
-msgstr "git verify-tag [-v | --verbose] <标签>..."
+#: builtin/verify-tag.c:18
+msgid "git verify-tag [-v | --verbose] [--format=<format>] <tag>..."
+msgstr "git verify-tag [-v | --verbose] [--format=<格式>] <标签>..."
 
-#: builtin/verify-tag.c:34
+#: builtin/verify-tag.c:36
 msgid "print tag contents"
 msgstr "打印标签内容"
 
@@ -12951,6 +13390,14 @@
 msgid "Removing worktrees/%s: gitdir file points to non-existent location"
 msgstr "删除 worktrees/%s：gitdir 文件的指向不存在"
 
+#: builtin/worktree.c:128
+msgid "report pruned working trees"
+msgstr "报告清除的工作区"
+
+#: builtin/worktree.c:130
+msgid "expire working trees older than <time>"
+msgstr "将早于 <time> 的工作区过期"
+
 #: builtin/worktree.c:204
 #, c-format
 msgid "'%s' already exists"
@@ -12964,7 +13411,7 @@
 #: builtin/worktree.c:272
 #, c-format
 msgid "Preparing %s (identifier %s)"
-msgstr "准备 %s （标识符 %s）"
+msgstr "准备 %s（标识符 %s）"
 
 #: builtin/worktree.c:323
 msgid "checkout <branch> even if already checked out in other worktree"
@@ -12986,30 +13433,30 @@
 msgid "-b, -B, and --detach are mutually exclusive"
 msgstr "-b、-B 和 --detach 是互斥的"
 
-#: builtin/worktree.c:470
+#: builtin/worktree.c:472
 msgid "reason for locking"
 msgstr "锁定原因"
 
-#: builtin/worktree.c:482 builtin/worktree.c:515
+#: builtin/worktree.c:484 builtin/worktree.c:517
 #, c-format
 msgid "'%s' is not a working tree"
 msgstr "'%s' 不是一个工作区"
 
-#: builtin/worktree.c:484 builtin/worktree.c:517
+#: builtin/worktree.c:486 builtin/worktree.c:519
 msgid "The main working tree cannot be locked or unlocked"
 msgstr "主工作区无法被加锁或解锁"
 
-#: builtin/worktree.c:489
+#: builtin/worktree.c:491
 #, c-format
 msgid "'%s' is already locked, reason: %s"
 msgstr "'%s' 已被锁定，原因：%s"
 
-#: builtin/worktree.c:491
+#: builtin/worktree.c:493
 #, c-format
 msgid "'%s' is already locked"
 msgstr "'%s' 已被锁定"
 
-#: builtin/worktree.c:519
+#: builtin/worktree.c:521
 #, c-format
 msgid "'%s' is not locked"
 msgstr "'%s' 未被锁定"
@@ -13034,19 +13481,19 @@
 msgid "git upload-pack [<options>] <dir>"
 msgstr "git upload-pack [<选项>] <目录>"
 
-#: upload-pack.c:1028
+#: upload-pack.c:1036
 msgid "quit after a single request/response exchange"
 msgstr "在一次单独的请求/响应（request/response）交换后退出"
 
-#: upload-pack.c:1030
+#: upload-pack.c:1038
 msgid "exit immediately after initial ref advertisement"
 msgstr "在初始的引用广告后立即退出"
 
-#: upload-pack.c:1032
+#: upload-pack.c:1040
 msgid "do not try <directory>/.git/ if <directory> is no Git directory"
 msgstr "不要尝试 <directory>/.git/ 如果 <directory> 不是一个 Git 目录"
 
-#: upload-pack.c:1034
+#: upload-pack.c:1042
 msgid "interrupt transfer after <n> seconds of inactivity"
 msgstr "不活动 <n> 秒钟后终止传输"
 
@@ -13058,7 +13505,8 @@
 "\n"
 "\tchmod 0700 %s"
 msgstr ""
-"您 socket 目录权限过于放松，其他用户可能会读取您缓存的认证信息。考虑执行：\n"
+"您的 socket 目录权限过于宽松，其他用户可能会读取您缓存的认证信息。考虑执"
+"行：\n"
 "\n"
 "\tchmod 0700 %s"
 
@@ -13076,14 +13524,30 @@
 "查看 'git help <命令>' 或 'git help <概念>' 以获取给定子命令或概念的\n"
 "帮助。"
 
-#: http.c:342
+#: http.c:344
 msgid "Delegation control is not supported with cURL < 7.22.0"
 msgstr "当 cURL < 7.22.0 时，不支持委托控制"
 
-#: http.c:351
+#: http.c:353
 msgid "Public key pinning not supported with cURL < 7.44.0"
 msgstr "不支持公钥文件锁定，因为 cURL < 7.44.0"
 
+#: http.c:1713
+#, c-format
+msgid ""
+"unable to update url base from redirection:\n"
+"  asked for: %s\n"
+"   redirect: %s"
+msgstr ""
+"不能更新重定向的 url base：\n"
+"     请求：%s\n"
+"   重定向：%s"
+
+#: remote-curl.c:319
+#, c-format
+msgid "redirecting to %s"
+msgstr "重定向到 %s"
+
 #: common-cmds.h:9
 msgid "start a working area (see also: git help tutorial)"
 msgstr "开始一个工作区（参见：git help tutorial）"
@@ -13447,7 +13911,7 @@
 msgid "Simple merge did not work, trying automatic merge."
 msgstr "简单合并未生效，尝试自动合并。"
 
-#: git-rebase.sh:56
+#: git-rebase.sh:57
 msgid ""
 "When you have resolved this problem, run \"git rebase --continue\".\n"
 "If you prefer to skip this patch, run \"git rebase --skip\" instead.\n"
@@ -13458,51 +13922,37 @@
 "如果您想跳过此补丁，则执行 \"git rebase --skip\"。\n"
 "要恢复原分支并停止变基，执行 \"git rebase --abort\"。"
 
-#: git-rebase.sh:156 git-rebase.sh:395
+#: git-rebase.sh:157 git-rebase.sh:396
 #, sh-format
 msgid "Could not move back to $head_name"
 msgstr "无法移回 $head_name"
 
-#: git-rebase.sh:167
-msgid "Applied autostash."
-msgstr "成功应用 autostash。"
-
-#: git-rebase.sh:170
+#: git-rebase.sh:171
 #, sh-format
 msgid "Cannot store $stash_sha1"
 msgstr "无法保存 $stash_sha1"
 
-#: git-rebase.sh:171
-msgid ""
-"Applying autostash resulted in conflicts.\n"
-"Your changes are safe in the stash.\n"
-"You can run \"git stash pop\" or \"git stash drop\" at any time.\n"
-msgstr ""
-"应用 autostash 导致冲突。\n"
-"您的修改安全地保存在 stash 中。\n"
-"您可以在任何时候运行 \"git stash pop\" 或 \"git stash drop\"。\n"
-
-#: git-rebase.sh:210
+#: git-rebase.sh:211
 msgid "The pre-rebase hook refused to rebase."
 msgstr "钩子 pre-rebase 拒绝变基操作。"
 
-#: git-rebase.sh:215
+#: git-rebase.sh:216
 msgid "It looks like git-am is in progress. Cannot rebase."
 msgstr "似乎正处于在 git-am 的执行过程中。无法变基。"
 
-#: git-rebase.sh:356
+#: git-rebase.sh:357
 msgid "No rebase in progress?"
 msgstr "没有正在进行的变基？"
 
-#: git-rebase.sh:367
+#: git-rebase.sh:368
 msgid "The --edit-todo action can only be used during interactive rebase."
 msgstr "动作 --edit-todo 只能用在交互式变基过程中。"
 
-#: git-rebase.sh:374
+#: git-rebase.sh:375
 msgid "Cannot read HEAD"
 msgstr "不能读取 HEAD"
 
-#: git-rebase.sh:377
+#: git-rebase.sh:378
 msgid ""
 "You must edit all merge conflicts and then\n"
 "mark them as resolved using git add"
@@ -13510,7 +13960,7 @@
 "您必须编辑所有的合并冲突，然后通过 git add\n"
 "命令将它们标记为已解决"
 
-#: git-rebase.sh:414
+#: git-rebase.sh:418
 #, sh-format
 msgid ""
 "It seems that there is already a $state_dir_base directory, and\n"
@@ -13529,64 +13979,64 @@
 "\t$cmd_clear_stale_rebase\n"
 "然后再重新执行变基操作。 为避免丢失重要数据，我已经停止当前操作。"
 
-#: git-rebase.sh:465
+#: git-rebase.sh:469
 #, sh-format
 msgid "invalid upstream $upstream_name"
 msgstr "无效的上游 $upstream_name"
 
-#: git-rebase.sh:489
+#: git-rebase.sh:493
 #, sh-format
 msgid "$onto_name: there are more than one merge bases"
 msgstr "$onto_name: 有一个以上的合并基准"
 
-#: git-rebase.sh:492 git-rebase.sh:496
+#: git-rebase.sh:496 git-rebase.sh:500
 #, sh-format
 msgid "$onto_name: there is no merge base"
 msgstr "$onto_name: 没有合并基准"
 
-#: git-rebase.sh:501
+#: git-rebase.sh:505
 #, sh-format
 msgid "Does not point to a valid commit: $onto_name"
 msgstr "没有指向一个有效的提交：$onto_name"
 
-#: git-rebase.sh:524
+#: git-rebase.sh:528
 #, sh-format
 msgid "fatal: no such branch: $branch_name"
 msgstr "严重错误：无此分支：$branch_name"
 
-#: git-rebase.sh:557
+#: git-rebase.sh:561
 msgid "Cannot autostash"
 msgstr "无法 autostash"
 
-#: git-rebase.sh:562
+#: git-rebase.sh:566
 #, sh-format
 msgid "Created autostash: $stash_abbrev"
 msgstr "创建了 autostash: $stash_abbrev"
 
-#: git-rebase.sh:566
+#: git-rebase.sh:570
 msgid "Please commit or stash them."
 msgstr "请提交或为它们保存进度。"
 
-#: git-rebase.sh:586
+#: git-rebase.sh:590
 #, sh-format
 msgid "Current branch $branch_name is up to date."
 msgstr "当前分支 $branch_name 是最新的。"
 
-#: git-rebase.sh:590
+#: git-rebase.sh:594
 #, sh-format
 msgid "Current branch $branch_name is up to date, rebase forced."
 msgstr "当前分支 $branch_name 是最新的，强制变基。"
 
-#: git-rebase.sh:601
+#: git-rebase.sh:605
 #, sh-format
 msgid "Changes from $mb to $onto:"
 msgstr "变更从 $mb 到 $onto："
 
-#: git-rebase.sh:610
+#: git-rebase.sh:614
 msgid "First, rewinding head to replay your work on top of it..."
 msgstr "首先，回退分支以便在上面重放您的工作..."
 
-#: git-rebase.sh:620
+#: git-rebase.sh:624
 #, sh-format
 msgid "Fast-forwarded $branch_name to $onto_name."
 msgstr "快进 $branch_name 至 $onto_name。"
@@ -13751,21 +14201,26 @@
 msgid "(To restore them type \"git stash apply\")"
 msgstr "（为恢复数据输入 \"git stash apply\"）"
 
-#: git-submodule.sh:184
+#: git-submodule.sh:181
 msgid "Relative path can only be used from the toplevel of the working tree"
 msgstr "只能在工作区的顶级目录中使用相对路径"
 
-#: git-submodule.sh:194
+#: git-submodule.sh:191
 #, sh-format
 msgid "repo URL: '$repo' must be absolute or begin with ./|../"
 msgstr "仓库 URL：'$repo' 必须是绝对路径或以 ./|../ 起始"
 
-#: git-submodule.sh:211
+#: git-submodule.sh:210
 #, sh-format
 msgid "'$sm_path' already exists in the index"
 msgstr "'$sm_path' 已经存在于索引中"
 
-#: git-submodule.sh:215
+#: git-submodule.sh:213
+#, sh-format
+msgid "'$sm_path' already exists in the index and is not a submodule"
+msgstr "'$sm_path' 已经存在于索引中且不是一个子模组"
+
+#: git-submodule.sh:218
 #, sh-format
 msgid ""
 "The following path is ignored by one of your .gitignore files:\n"
@@ -13776,22 +14231,22 @@
 "$sm_path\n"
 "如果您确实想添加它，使用 -f 参数。"
 
-#: git-submodule.sh:233
+#: git-submodule.sh:236
 #, sh-format
 msgid "Adding existing repo at '$sm_path' to the index"
 msgstr "添加位于 '$sm_path' 的现存仓库到索引"
 
-#: git-submodule.sh:235
+#: git-submodule.sh:238
 #, sh-format
 msgid "'$sm_path' already exists and is not a valid git repo"
 msgstr "'$sm_path' 已存在且不是一个有效的 git 仓库"
 
-#: git-submodule.sh:243
+#: git-submodule.sh:246
 #, sh-format
 msgid "A git directory for '$sm_name' is found locally with remote(s):"
 msgstr "本地发现 '$sm_name' 的一个 git 目录，与其对应的远程仓库："
 
-#: git-submodule.sh:245
+#: git-submodule.sh:248
 #, sh-format
 msgid ""
 "If you want to reuse this local git directory instead of cloning again from\n"
@@ -13806,47 +14261,47 @@
 "使用 '--force' 选项。如果本地 git 目录不是正确的仓库\n"
 "或者您不确定这里的含义，使用 '--name' 选项选择另外的名称。"
 
-#: git-submodule.sh:251
+#: git-submodule.sh:254
 #, sh-format
 msgid "Reactivating local git directory for submodule '$sm_name'."
 msgstr "激活本地 git 目录到子模组 '$sm_name'。"
 
-#: git-submodule.sh:263
+#: git-submodule.sh:266
 #, sh-format
 msgid "Unable to checkout submodule '$sm_path'"
 msgstr "不能检出子模组 '$sm_path'"
 
-#: git-submodule.sh:268
+#: git-submodule.sh:271
 #, sh-format
 msgid "Failed to add submodule '$sm_path'"
 msgstr "无法添加子模组 '$sm_path'"
 
-#: git-submodule.sh:277
+#: git-submodule.sh:280
 #, sh-format
 msgid "Failed to register submodule '$sm_path'"
 msgstr "无法注册子模组 '$sm_path'"
 
-#: git-submodule.sh:324
+#: git-submodule.sh:327
 #, sh-format
 msgid "Entering '$displaypath'"
 msgstr "正在进入 '$displaypath'"
 
-#: git-submodule.sh:344
+#: git-submodule.sh:347
 #, sh-format
 msgid "Stopping at '$displaypath'; script returned non-zero status."
 msgstr "停止于 '$displaypath'；脚本返回非零值。"
 
-#: git-submodule.sh:415
+#: git-submodule.sh:418
 #, sh-format
 msgid "pathspec and --all are incompatible"
 msgstr "pathspec 和 --all 不兼容"
 
-#: git-submodule.sh:420
+#: git-submodule.sh:423
 #, sh-format
 msgid "Use '--all' if you really want to deinitialize all submodules"
 msgstr "如果您确实想要对所有子模组执行取消初始化，请使用 '--all'"
 
-#: git-submodule.sh:440
+#: git-submodule.sh:443
 #, sh-format
 msgid ""
 "Submodule work tree '$displaypath' contains a .git directory\n"
@@ -13855,56 +14310,56 @@
 "子模组工作区 '$displaypath' 包含一个 .git 目录\n"
 "（如果您真的想删除它及其全部历史，使用 'rm -rf' 命令）"
 
-#: git-submodule.sh:448
+#: git-submodule.sh:451
 #, sh-format
 msgid ""
 "Submodule work tree '$displaypath' contains local modifications; use '-f' to "
 "discard them"
 msgstr "子模组工作区 '$displaypath' 包含本地修改；使用 '-f' 丢弃它们"
 
-#: git-submodule.sh:451
+#: git-submodule.sh:454
 #, sh-format
 msgid "Cleared directory '$displaypath'"
 msgstr "已清除目录 '$displaypath'"
 
-#: git-submodule.sh:452
+#: git-submodule.sh:455
 #, sh-format
 msgid "Could not remove submodule work tree '$displaypath'"
 msgstr "无法移除子模组工作区 '$displaypath'"
 
-#: git-submodule.sh:455
+#: git-submodule.sh:458
 #, sh-format
 msgid "Could not create empty submodule directory '$displaypath'"
 msgstr "不能创建空的子模组目录 '$displaypath'"
 
-#: git-submodule.sh:464
+#: git-submodule.sh:467
 #, sh-format
 msgid "Submodule '$name' ($url) unregistered for path '$displaypath'"
 msgstr "子模组 '$name' ($url) 未对路径 '$displaypath' 注册"
 
-#: git-submodule.sh:617
+#: git-submodule.sh:623
 #, sh-format
 msgid "Unable to find current revision in submodule path '$displaypath'"
 msgstr "无法在子模组路径 '$displaypath' 中找到当前版本"
 
-#: git-submodule.sh:627
+#: git-submodule.sh:633
 #, sh-format
 msgid "Unable to fetch in submodule path '$sm_path'"
 msgstr "无法在子模组路径 '$sm_path' 中获取"
 
-#: git-submodule.sh:632
+#: git-submodule.sh:638
 #, sh-format
 msgid ""
 "Unable to find current ${remote_name}/${branch} revision in submodule path "
 "'$sm_path'"
 msgstr "无法在子模组路径 '$sm_path' 中找到当前版本 ${remote_name}/${branch}"
 
-#: git-submodule.sh:650
+#: git-submodule.sh:656
 #, sh-format
 msgid "Unable to fetch in submodule path '$displaypath'"
 msgstr "无法在子模组路径 '$displaypath' 中获取"
 
-#: git-submodule.sh:656
+#: git-submodule.sh:662
 #, sh-format
 msgid ""
 "Fetched in submodule path '$displaypath', but it did not contain $sha1. "
@@ -13912,84 +14367,84 @@
 msgstr ""
 "获取了子模组路径 '$displaypath'，但是它没有包含 $sha1。直接获取该提交失败。"
 
-#: git-submodule.sh:663
+#: git-submodule.sh:669
 #, sh-format
 msgid "Unable to checkout '$sha1' in submodule path '$displaypath'"
 msgstr "无法在子模组路径 '$displaypath' 中检出 '$sha1'"
 
-#: git-submodule.sh:664
+#: git-submodule.sh:670
 #, sh-format
 msgid "Submodule path '$displaypath': checked out '$sha1'"
 msgstr "子模组路径 '$displaypath'：检出 '$sha1'"
 
-#: git-submodule.sh:668
+#: git-submodule.sh:674
 #, sh-format
 msgid "Unable to rebase '$sha1' in submodule path '$displaypath'"
 msgstr "无法在子模组路径 '$displaypath' 中变基 '$sha1'"
 
-#: git-submodule.sh:669
+#: git-submodule.sh:675
 #, sh-format
 msgid "Submodule path '$displaypath': rebased into '$sha1'"
 msgstr "子模组路径 '$displaypath'：变基至 '$sha1'"
 
-#: git-submodule.sh:674
+#: git-submodule.sh:680
 #, sh-format
 msgid "Unable to merge '$sha1' in submodule path '$displaypath'"
 msgstr "无法合并 '$sha1' 到子模组路径 '$displaypath' 中"
 
-#: git-submodule.sh:675
+#: git-submodule.sh:681
 #, sh-format
 msgid "Submodule path '$displaypath': merged in '$sha1'"
 msgstr "子模组路径 '$displaypath'：已合并入 '$sha1'"
 
-#: git-submodule.sh:680
+#: git-submodule.sh:686
 #, sh-format
 msgid "Execution of '$command $sha1' failed in submodule path '$displaypath'"
 msgstr "在子模组 '$displaypath' 中执行 '$command $sha1' 失败"
 
-#: git-submodule.sh:681
+#: git-submodule.sh:687
 #, sh-format
 msgid "Submodule path '$displaypath': '$command $sha1'"
 msgstr "子模组 '$displaypath'：'$command $sha1'"
 
-#: git-submodule.sh:712
+#: git-submodule.sh:718
 #, sh-format
 msgid "Failed to recurse into submodule path '$displaypath'"
 msgstr "无法递归进子模组路径 '$displaypath'"
 
-#: git-submodule.sh:820
+#: git-submodule.sh:826
 msgid "The --cached option cannot be used with the --files option"
 msgstr "选项 --cached 不能和选项 --files 同时使用"
 
-#: git-submodule.sh:872
+#: git-submodule.sh:878
 #, sh-format
 msgid "unexpected mode $mod_dst"
 msgstr "意外的模式 $mod_dst"
 
 #  译者：注意保持前导空格
-#: git-submodule.sh:892
+#: git-submodule.sh:898
 #, sh-format
 msgid "  Warn: $display_name doesn't contain commit $sha1_src"
 msgstr "  警告：$display_name 未包含提交 $sha1_src"
 
 #  译者：注意保持前导空格
-#: git-submodule.sh:895
+#: git-submodule.sh:901
 #, sh-format
 msgid "  Warn: $display_name doesn't contain commit $sha1_dst"
 msgstr "  警告：$display_name 未包含提交 $sha1_dst"
 
 #  译者：注意保持前导空格
-#: git-submodule.sh:898
+#: git-submodule.sh:904
 #, sh-format
 msgid "  Warn: $display_name doesn't contain commits $sha1_src and $sha1_dst"
 msgstr "  警告：$display_name 未包含提交 $sha1_src 和 $sha1_dst"
 
-#: git-submodule.sh:1045
+#: git-submodule.sh:1051
 #, sh-format
 msgid "Failed to recurse into submodule path '$sm_path'"
 msgstr "无法递归进子模组路径 '$sm_path'"
 
-#: git-submodule.sh:1112
+#: git-submodule.sh:1118
 #, sh-format
 msgid "Synchronizing submodule url for '$displaypath'"
 msgstr "为 '$displaypath' 同步子模组 url"
@@ -13999,12 +14454,12 @@
 msgid "See git-${cmd}(1) for details."
 msgstr "详见 git-${cmd}(1)。"
 
-#: git-rebase--interactive.sh:131
+#: git-rebase--interactive.sh:140
 #, sh-format
 msgid "Rebasing ($new_count/$total)"
 msgstr "变基中（$new_count/$total）"
 
-#: git-rebase--interactive.sh:147
+#: git-rebase--interactive.sh:156
 msgid ""
 "\n"
 "Commands:\n"
@@ -14031,7 +14486,7 @@
 "这些行可以被重新排序；它们会被从上至下地执行。\n"
 "\n"
 
-#: git-rebase--interactive.sh:162
+#: git-rebase--interactive.sh:171
 msgid ""
 "\n"
 "Do not remove any line. Use 'drop' explicitly to remove a commit.\n"
@@ -14039,7 +14494,7 @@
 "\n"
 "不要删除任意一行。使用 'drop' 显式地删除一个提交。\n"
 
-#: git-rebase--interactive.sh:166
+#: git-rebase--interactive.sh:175
 msgid ""
 "\n"
 "If you remove a line here THAT COMMIT WILL BE LOST.\n"
@@ -14047,7 +14502,7 @@
 "\n"
 "如果您在这里删除一行，对应的提交将会丢失。\n"
 
-#: git-rebase--interactive.sh:202
+#: git-rebase--interactive.sh:211
 #, sh-format
 msgid ""
 "You can amend the commit now, with\n"
@@ -14066,87 +14521,83 @@
 "\n"
 "\tgit rebase --continue"
 
-#: git-rebase--interactive.sh:227
+#: git-rebase--interactive.sh:236
 #, sh-format
 msgid "$sha1: not a commit that can be picked"
 msgstr "$sha1：不是一个可以被拣选的提交"
 
-#: git-rebase--interactive.sh:266
+#: git-rebase--interactive.sh:275
 #, sh-format
 msgid "Invalid commit name: $sha1"
 msgstr "无效的提交名：$sha1"
 
-#: git-rebase--interactive.sh:308
+#: git-rebase--interactive.sh:317
 msgid "Cannot write current commit's replacement sha1"
 msgstr "不能写入当前提交的替代 sha1"
 
-#: git-rebase--interactive.sh:360
+#: git-rebase--interactive.sh:369
 #, sh-format
 msgid "Fast-forward to $sha1"
 msgstr "快进到 $sha1"
 
-#: git-rebase--interactive.sh:362
+#: git-rebase--interactive.sh:371
 #, sh-format
 msgid "Cannot fast-forward to $sha1"
 msgstr "不能快进到 $sha1"
 
-#: git-rebase--interactive.sh:371
+#: git-rebase--interactive.sh:380
 #, sh-format
 msgid "Cannot move HEAD to $first_parent"
 msgstr "不能移动 HEAD 到 $first_parent"
 
-#: git-rebase--interactive.sh:376
+#: git-rebase--interactive.sh:385
 #, sh-format
 msgid "Refusing to squash a merge: $sha1"
 msgstr "拒绝压缩一个合并：$sha1"
 
-#: git-rebase--interactive.sh:390
+#: git-rebase--interactive.sh:399
 #, sh-format
 msgid "Error redoing merge $sha1"
 msgstr "无法重做合并 $sha1"
 
-#: git-rebase--interactive.sh:398
+#: git-rebase--interactive.sh:407
 #, sh-format
 msgid "Could not pick $sha1"
 msgstr "不能拣选 $sha1"
 
-#: git-rebase--interactive.sh:407
+#: git-rebase--interactive.sh:416
 #, sh-format
 msgid "This is the commit message #${n}:"
 msgstr "这是提交说明 #${n}："
 
-#: git-rebase--interactive.sh:412
+#: git-rebase--interactive.sh:421
 #, sh-format
 msgid "The commit message #${n} will be skipped:"
 msgstr "提交说明 #${n} 将被跳过："
 
-#: git-rebase--interactive.sh:423
+#: git-rebase--interactive.sh:432
 #, sh-format
 msgid "This is a combination of $count commit."
 msgid_plural "This is a combination of $count commits."
 msgstr[0] "这是一个 $count 个提交的组合。"
 msgstr[1] "这是一个 $count 个提交的组合。"
 
-#: git-rebase--interactive.sh:431
+#: git-rebase--interactive.sh:441
 #, sh-format
 msgid "Cannot write $fixup_msg"
 msgstr "不能写入 $fixup_msg"
 
-#: git-rebase--interactive.sh:434
+#: git-rebase--interactive.sh:444
 msgid "This is a combination of 2 commits."
 msgstr "这是一个 2 个提交的组合。"
 
-#: git-rebase--interactive.sh:435
-msgid "This is the 1st commit message:"
-msgstr "这是第一个提交说明："
-
-#: git-rebase--interactive.sh:475 git-rebase--interactive.sh:518
-#: git-rebase--interactive.sh:521
+#: git-rebase--interactive.sh:485 git-rebase--interactive.sh:528
+#: git-rebase--interactive.sh:531
 #, sh-format
 msgid "Could not apply $sha1... $rest"
 msgstr "不能应用 $sha1... $rest"
 
-#: git-rebase--interactive.sh:549
+#: git-rebase--interactive.sh:559
 #, sh-format
 msgid ""
 "Could not amend commit after successfully picking $sha1... $rest\n"
@@ -14159,32 +14610,32 @@
 "这通常是因为空的提交说明，或者 pre-commit 钩子执行失败。如果是 pre-commit\n"
 "钩子执行失败，你可能需要在重写提交说明前解决这个问题。"
 
-#: git-rebase--interactive.sh:564
+#: git-rebase--interactive.sh:574
 #, sh-format
 msgid "Stopped at $sha1_abbrev... $rest"
 msgstr "停止在 $sha1_abbrev... $rest"
 
-#: git-rebase--interactive.sh:579
+#: git-rebase--interactive.sh:589
 #, sh-format
 msgid "Cannot '$squash_style' without a previous commit"
 msgstr "没有父提交的情况下不能 '$squash_style'"
 
-#: git-rebase--interactive.sh:621
+#: git-rebase--interactive.sh:631
 #, sh-format
 msgid "Executing: $rest"
 msgstr "执行：$rest"
 
-#: git-rebase--interactive.sh:629
+#: git-rebase--interactive.sh:639
 #, sh-format
 msgid "Execution failed: $rest"
 msgstr "执行失败：$rest"
 
-#: git-rebase--interactive.sh:631
+#: git-rebase--interactive.sh:641
 msgid "and made changes to the index and/or the working tree"
 msgstr "并且修改索引和/或工作区"
 
 #  译者：注意保持前导空格
-#: git-rebase--interactive.sh:633
+#: git-rebase--interactive.sh:643
 msgid ""
 "You can fix the problem, and then run\n"
 "\n"
@@ -14195,7 +14646,7 @@
 "\tgit rebase --continue"
 
 #. TRANSLATORS: after these lines is a command to be issued by the user
-#: git-rebase--interactive.sh:646
+#: git-rebase--interactive.sh:656
 #, sh-format
 msgid ""
 "Execution succeeded: $rest\n"
@@ -14209,25 +14660,25 @@
 "\n"
 "\tgit rebase --continue"
 
-#: git-rebase--interactive.sh:657
+#: git-rebase--interactive.sh:667
 #, sh-format
 msgid "Unknown command: $command $sha1 $rest"
 msgstr "未知命令：$command $sha1 $rest"
 
-#: git-rebase--interactive.sh:658
+#: git-rebase--interactive.sh:668
 msgid "Please fix this using 'git rebase --edit-todo'."
 msgstr "要修改请使用命令 'git rebase --edit-todo'。"
 
-#: git-rebase--interactive.sh:693
+#: git-rebase--interactive.sh:703
 #, sh-format
 msgid "Successfully rebased and updated $head_name."
 msgstr "成功变基并更新 $head_name。"
 
-#: git-rebase--interactive.sh:740
+#: git-rebase--interactive.sh:750
 msgid "Could not skip unnecessary pick commands"
 msgstr "不能跳过不必要的拣选命令"
 
-#: git-rebase--interactive.sh:898
+#: git-rebase--interactive.sh:908
 #, sh-format
 msgid ""
 "Warning: the SHA-1 is missing or isn't a commit in the following line:\n"
@@ -14236,7 +14687,7 @@
 "警告：缺失 SHA-1 或者在下面一行中不是一个提交：\n"
 " - $line"
 
-#: git-rebase--interactive.sh:931
+#: git-rebase--interactive.sh:941
 #, sh-format
 msgid ""
 "Warning: the command isn't recognized in the following line:\n"
@@ -14245,17 +14696,17 @@
 "警告：下面一行中的命令未能被识别：\n"
 " - $line"
 
-#: git-rebase--interactive.sh:970
+#: git-rebase--interactive.sh:980
 msgid "could not detach HEAD"
 msgstr "不能检出为分离头指针"
 
-#: git-rebase--interactive.sh:1008
+#: git-rebase--interactive.sh:1018
 msgid ""
 "Warning: some commits may have been dropped accidentally.\n"
 "Dropped commits (newer to older):"
 msgstr "警告：一些提交可能被意外丢弃。丢弃的提交（从新到旧）："
 
-#: git-rebase--interactive.sh:1016
+#: git-rebase--interactive.sh:1026
 msgid ""
 "To avoid this message, use \"drop\" to explicitly remove a commit.\n"
 "\n"
@@ -14268,30 +14719,29 @@
 "使用 'git config rebase.missingCommitsCheck' 来修改警告级别。\n"
 "可选值有：ignore、warn、error。"
 
-#: git-rebase--interactive.sh:1027
+#: git-rebase--interactive.sh:1037
 #, sh-format
 msgid ""
 "Unrecognized setting $check_level for option rebase.missingCommitsCheck. "
 "Ignoring."
 msgstr "选项 rebase.missingCommitsCheck 的值 $check_level 无法被识别。已忽略。"
 
-#: git-rebase--interactive.sh:1044
+#: git-rebase--interactive.sh:1054
 msgid ""
 "You can fix this with 'git rebase --edit-todo' and then run 'git rebase --"
 "continue'."
 msgstr ""
-"您可以用命令 'git rebase --edit-todo' 修正然后执行命令 'git rebase --"
-"continue'。"
+"您可以用 'git rebase --edit-todo' 修正问题然后执行 'git rebase --continue'。"
 
-#: git-rebase--interactive.sh:1045
+#: git-rebase--interactive.sh:1055
 msgid "Or you can abort the rebase with 'git rebase --abort'."
 msgstr "或者您可以使用 'git rebase --abort' 命令终止变基操作。"
 
-#: git-rebase--interactive.sh:1069
+#: git-rebase--interactive.sh:1079
 msgid "Could not remove CHERRY_PICK_HEAD"
 msgstr "不能删除 CHERRY_PICK_HEAD"
 
-#: git-rebase--interactive.sh:1074
+#: git-rebase--interactive.sh:1084
 #, sh-format
 msgid ""
 "You have staged changes in your working tree.\n"
@@ -14320,22 +14770,22 @@
 "\n"
 "  git rebase --continue\n"
 
-#: git-rebase--interactive.sh:1091
+#: git-rebase--interactive.sh:1101
 msgid "Error trying to find the author identity to amend commit"
 msgstr "在修补提交中查找作者信息时遇到错误"
 
-#: git-rebase--interactive.sh:1096
+#: git-rebase--interactive.sh:1106
 msgid ""
 "You have uncommitted changes in your working tree. Please commit them\n"
 "first and then run 'git rebase --continue' again."
 msgstr ""
 "您的工作区中有未提交的变更。请先提交然后再次运行 'git rebase --continue'。"
 
-#: git-rebase--interactive.sh:1101 git-rebase--interactive.sh:1105
+#: git-rebase--interactive.sh:1111 git-rebase--interactive.sh:1115
 msgid "Could not commit staged changes."
 msgstr "不能提交暂存的修改。"
 
-#: git-rebase--interactive.sh:1129
+#: git-rebase--interactive.sh:1139
 msgid ""
 "\n"
 "You are editing the todo file of an ongoing interactive rebase.\n"
@@ -14349,40 +14799,40 @@
 "    git rebase --continue\n"
 "\n"
 
-#: git-rebase--interactive.sh:1137 git-rebase--interactive.sh:1295
+#: git-rebase--interactive.sh:1147 git-rebase--interactive.sh:1305
 msgid "Could not execute editor"
 msgstr "无法运行编辑器"
 
-#: git-rebase--interactive.sh:1150
+#: git-rebase--interactive.sh:1160
 #, sh-format
 msgid "Could not checkout $switch_to"
 msgstr "不能检出 $switch_to"
 
-#: git-rebase--interactive.sh:1155
+#: git-rebase--interactive.sh:1165
 msgid "No HEAD?"
 msgstr "没有 HEAD？"
 
-#: git-rebase--interactive.sh:1156
+#: git-rebase--interactive.sh:1166
 #, sh-format
 msgid "Could not create temporary $state_dir"
 msgstr "不能创建临时 $state_dir"
 
-#: git-rebase--interactive.sh:1158
+#: git-rebase--interactive.sh:1168
 msgid "Could not mark as interactive"
 msgstr "不能标记为交互式"
 
-#: git-rebase--interactive.sh:1168 git-rebase--interactive.sh:1173
+#: git-rebase--interactive.sh:1178 git-rebase--interactive.sh:1183
 msgid "Could not init rewritten commits"
 msgstr "不能对重写提交进行初始化"
 
-#: git-rebase--interactive.sh:1273
+#: git-rebase--interactive.sh:1283
 #, sh-format
 msgid "Rebase $shortrevisions onto $shortonto ($todocount command)"
 msgid_plural "Rebase $shortrevisions onto $shortonto ($todocount commands)"
 msgstr[0] "变基 $shortrevisions 到 $shortonto（$todocount 个提交）"
 msgstr[1] "变基 $shortrevisions 到 $shortonto（$todocount 个提交）"
 
-#: git-rebase--interactive.sh:1278
+#: git-rebase--interactive.sh:1288
 msgid ""
 "\n"
 "However, if you remove everything, the rebase will be aborted.\n"
@@ -14392,7 +14842,7 @@
 "然而，如果您删除全部内容，变基操作将会终止。\n"
 "\n"
 
-#: git-rebase--interactive.sh:1285
+#: git-rebase--interactive.sh:1295
 msgid "Note that empty commits are commented out"
 msgstr "注意空提交已被注释掉"
 
@@ -14453,6 +14903,870 @@
 msgid "Unable to determine absolute path of git directory"
 msgstr "不能确定 git 目录的绝对路径"
 
+#. TRANSLATORS: you can adjust this to align "git add -i" status menu
+#: git-add--interactive.perl:238
+#, perl-format
+msgid "%12s %12s %s"
+msgstr "%12s %12s %s"
+
+#: git-add--interactive.perl:239
+msgid "staged"
+msgstr "缓存"
+
+#: git-add--interactive.perl:239
+msgid "unstaged"
+msgstr "未缓存"
+
+#: git-add--interactive.perl:297 git-add--interactive.perl:322
+msgid "binary"
+msgstr "二进制"
+
+#: git-add--interactive.perl:306 git-add--interactive.perl:360
+msgid "nothing"
+msgstr "无"
+
+#: git-add--interactive.perl:342 git-add--interactive.perl:357
+msgid "unchanged"
+msgstr "没有修改"
+
+#: git-add--interactive.perl:653
+#, perl-format
+msgid "added %d path\n"
+msgid_plural "added %d paths\n"
+msgstr[0] "增加了 %d 个路径\n"
+msgstr[1] "增加了 %d 个路径\n"
+
+#: git-add--interactive.perl:656
+#, perl-format
+msgid "updated %d path\n"
+msgid_plural "updated %d paths\n"
+msgstr[0] "更新了 %d 个路径\n"
+msgstr[1] "更新了 %d 个路径\n"
+
+#: git-add--interactive.perl:659
+#, perl-format
+msgid "reverted %d path\n"
+msgid_plural "reverted %d paths\n"
+msgstr[0] "还原了 %d 个路径\n"
+msgstr[1] "还原了 %d 个路径\n"
+
+#: git-add--interactive.perl:662
+#, perl-format
+msgid "touched %d path\n"
+msgid_plural "touched %d paths\n"
+msgstr[0] "触碰了 %d 个路径\n"
+msgstr[1] "触碰了 %d 个路径\n"
+
+#: git-add--interactive.perl:671
+msgid "Update"
+msgstr "更新"
+
+#: git-add--interactive.perl:683
+msgid "Revert"
+msgstr "还原"
+
+#: git-add--interactive.perl:706
+#, perl-format
+msgid "note: %s is untracked now.\n"
+msgstr "说明：%s 现已成为未跟踪的。\n"
+
+#: git-add--interactive.perl:717
+msgid "Add untracked"
+msgstr "添加未跟踪的"
+
+#: git-add--interactive.perl:723
+msgid "No untracked files.\n"
+msgstr "没有未跟踪的文件。\n"
+
+#: git-add--interactive.perl:1039
+msgid ""
+"If the patch applies cleanly, the edited hunk will immediately be\n"
+"marked for staging."
+msgstr "如果补丁能干净地应用，编辑块将立即标记为暂存。"
+
+#: git-add--interactive.perl:1042
+msgid ""
+"If the patch applies cleanly, the edited hunk will immediately be\n"
+"marked for stashing."
+msgstr "如果补丁能干净地应用，编辑块将立即标记为保存进度。"
+
+#: git-add--interactive.perl:1045
+msgid ""
+"If the patch applies cleanly, the edited hunk will immediately be\n"
+"marked for unstaging."
+msgstr "如果补丁能干净地应用，编辑块将立即标记为未暂存。"
+
+#: git-add--interactive.perl:1048 git-add--interactive.perl:1057
+msgid ""
+"If the patch applies cleanly, the edited hunk will immediately be\n"
+"marked for applying."
+msgstr "如果补丁能干净地应用，编辑块将立即标记为应用。"
+
+#: git-add--interactive.perl:1051
+msgid ""
+"If the patch applies cleanly, the edited hunk will immediately be\n"
+"marked for discarding"
+msgstr "如果补丁能干净地应用，编辑块将立即标记为丢弃"
+
+#: git-add--interactive.perl:1054
+msgid ""
+"If the patch applies cleanly, the edited hunk will immediately be\n"
+"marked for discarding."
+msgstr "如果补丁能干净地应用，编辑块将立即标记为丢弃。"
+
+#: git-add--interactive.perl:1067
+#, perl-format
+msgid "failed to open hunk edit file for writing: %s"
+msgstr "无法写入块编辑文件：%s"
+
+#: git-add--interactive.perl:1068
+msgid "Manual hunk edit mode -- see bottom for a quick guide.\n"
+msgstr "手动块编辑模式 -- 查看底部的快速指南。\n"
+
+#: git-add--interactive.perl:1074
+#, perl-format
+msgid ""
+"---\n"
+"To remove '%s' lines, make them ' ' lines (context).\n"
+"To remove '%s' lines, delete them.\n"
+"Lines starting with %s will be removed.\n"
+msgstr ""
+"---\n"
+"要删除 '%s' 开始的行，使其成为 ' ' 开始的行（上下文）。\n"
+"要删除 '%s' 开始的行，删除它们。\n"
+"以 %s 开始的行将被删除。\n"
+
+#. TRANSLATORS: 'it' refers to the patch mentioned in the previous messages.
+#: git-add--interactive.perl:1082
+msgid ""
+"If it does not apply cleanly, you will be given an opportunity to\n"
+"edit again.  If all lines of the hunk are removed, then the edit is\n"
+"aborted and the hunk is left unchanged.\n"
+msgstr ""
+"如果不能干净地应用，您将有机会重新编辑。如果该块的全部内容删除，则\n"
+"此次编辑被终止，该块不会被修改。\n"
+
+#: git-add--interactive.perl:1096
+#, perl-format
+msgid "failed to open hunk edit file for reading: %s"
+msgstr "无法读取块编辑文件：%s"
+
+#. TRANSLATORS: do not translate [y/n]
+#. The program will only accept that input
+#. at this point.
+#. Consider translating (saying "no" discards!) as
+#. (saying "n" for "no" discards!) if the translation
+#. of the word "no" does not start with n.
+#: git-add--interactive.perl:1187
+msgid ""
+"Your edited hunk does not apply. Edit again (saying \"no\" discards!) [y/n]? "
+msgstr "您的编辑块不能被应用。重新编辑（选择 \"no\" 丢弃！） [y/n]? "
+
+#: git-add--interactive.perl:1196
+msgid ""
+"y - stage this hunk\n"
+"n - do not stage this hunk\n"
+"q - quit; do not stage this hunk or any of the remaining ones\n"
+"a - stage this hunk and all later hunks in the file\n"
+"d - do not stage this hunk or any of the later hunks in the file"
+msgstr ""
+"y - 暂存该块\n"
+"n - 不要暂存该块\n"
+"q - 退出。不暂存该块及后面的全部块\n"
+"a - 暂存该块和本文件中后面的全部块\n"
+"d - 不暂存该块和本文件中后面的全部块"
+
+#: git-add--interactive.perl:1202
+msgid ""
+"y - stash this hunk\n"
+"n - do not stash this hunk\n"
+"q - quit; do not stash this hunk or any of the remaining ones\n"
+"a - stash this hunk and all later hunks in the file\n"
+"d - do not stash this hunk or any of the later hunks in the file"
+msgstr ""
+"y - 贮藏该块\n"
+"n - 不要贮藏该块\n"
+"q - 退出。不贮藏该块及后面的全部块\n"
+"a - 贮藏该块和本文件中后面的全部块\n"
+"d - 不贮藏该块和本文件中后面的全部块"
+
+#: git-add--interactive.perl:1208
+msgid ""
+"y - unstage this hunk\n"
+"n - do not unstage this hunk\n"
+"q - quit; do not unstage this hunk or any of the remaining ones\n"
+"a - unstage this hunk and all later hunks in the file\n"
+"d - do not unstage this hunk or any of the later hunks in the file"
+msgstr ""
+"y - 不暂存该块\n"
+"n - 不要不暂存该块\n"
+"q - 退出。不要不暂存该块及后面的全部块\n"
+"a - 不暂存该块和本文件中后面的全部块\n"
+"d - 不要不暂存该块和本文件中后面的全部块"
+
+#: git-add--interactive.perl:1214
+msgid ""
+"y - apply this hunk to index\n"
+"n - do not apply this hunk to index\n"
+"q - quit; do not apply this hunk or any of the remaining ones\n"
+"a - apply this hunk and all later hunks in the file\n"
+"d - do not apply this hunk or any of the later hunks in the file"
+msgstr ""
+"y - 在索引中应用该块\n"
+"n - 不要在索引中应用该块\n"
+"q - 退出。不要应用该块及后面的全部块\n"
+"a - 应用该块和本文件中后面的全部块\n"
+"d - 不要应用该块和本文件中后面的全部块"
+
+#: git-add--interactive.perl:1220
+msgid ""
+"y - discard this hunk from worktree\n"
+"n - do not discard this hunk from worktree\n"
+"q - quit; do not discard this hunk or any of the remaining ones\n"
+"a - discard this hunk and all later hunks in the file\n"
+"d - do not discard this hunk or any of the later hunks in the file"
+msgstr ""
+"y - 在工作区中丢弃该块\n"
+"n - 不要在工作区中丢弃该块\n"
+"q - 退出。不要丢弃该块及后面的全部块\n"
+"a - 丢弃该块和本文件中后面的全部块\n"
+"d - 不要丢弃该块和本文件中后面的全部块"
+
+#: git-add--interactive.perl:1226
+msgid ""
+"y - discard this hunk from index and worktree\n"
+"n - do not discard this hunk from index and worktree\n"
+"q - quit; do not discard this hunk or any of the remaining ones\n"
+"a - discard this hunk and all later hunks in the file\n"
+"d - do not discard this hunk or any of the later hunks in the file"
+msgstr ""
+"y - 在索引和工作区中丢弃该块\n"
+"n - 不要在索引和工作区中丢弃该块\n"
+"q - 退出。不要丢弃该块及后面的全部块\n"
+"a - 丢弃该块和本文件中后面的全部块\n"
+"d - 不要丢弃该块和本文件中后面的全部块"
+
+#: git-add--interactive.perl:1232
+msgid ""
+"y - apply this hunk to index and worktree\n"
+"n - do not apply this hunk to index and worktree\n"
+"q - quit; do not apply this hunk or any of the remaining ones\n"
+"a - apply this hunk and all later hunks in the file\n"
+"d - do not apply this hunk or any of the later hunks in the file"
+msgstr ""
+"y - 在索引和工作区中应用该块\n"
+"n - 不要在索引和工作区中应用该块\n"
+"q - 退出。不要应用该块及后面的全部块\n"
+"a - 应用该块和本文件中后面的全部块\n"
+"d - 不要应用该块和本文件中后面的全部块"
+
+#: git-add--interactive.perl:1241
+msgid ""
+"g - select a hunk to go to\n"
+"/ - search for a hunk matching the given regex\n"
+"j - leave this hunk undecided, see next undecided hunk\n"
+"J - leave this hunk undecided, see next hunk\n"
+"k - leave this hunk undecided, see previous undecided hunk\n"
+"K - leave this hunk undecided, see previous hunk\n"
+"s - split the current hunk into smaller hunks\n"
+"e - manually edit the current hunk\n"
+"? - print help\n"
+msgstr ""
+"g - 选择跳转到一个块\n"
+"/ - 查找和给定正则表达式匹配的块\n"
+"j - 维持该块未决状态，查看下一个未决块\n"
+"J - 维持该块未决状态，查看下一个块\n"
+"k - 维持该块未决状态，查看上一个未决块\n"
+"K - 维持该块未决状态，查看上一个块\n"
+"s - 拆分当前块为更小的块\n"
+"e - 手动编辑当前块\n"
+"? - 显示帮助\n"
+
+#: git-add--interactive.perl:1272
+msgid "The selected hunks do not apply to the index!\n"
+msgstr "选中的块不能应用到索引！\n"
+
+#: git-add--interactive.perl:1273
+msgid "Apply them to the worktree anyway? "
+msgstr "无论如何都要应用到工作区么？"
+
+#: git-add--interactive.perl:1276
+msgid "Nothing was applied.\n"
+msgstr "未应用。\n"
+
+#: git-add--interactive.perl:1287
+#, perl-format
+msgid "ignoring unmerged: %s\n"
+msgstr "忽略未合入的：%s\n"
+
+#: git-add--interactive.perl:1296
+msgid "Only binary files changed.\n"
+msgstr "只有二进制文件被修改。\n"
+
+#: git-add--interactive.perl:1298
+msgid "No changes.\n"
+msgstr "没有修改。\n"
+
+#: git-add--interactive.perl:1306
+msgid "Patch update"
+msgstr "补丁更新"
+
+#: git-add--interactive.perl:1358
+#, perl-format
+msgid "Stage mode change [y,n,q,a,d,/%s,?]? "
+msgstr "暂存状态修改 [y,n,q,a,d,/%s,?]? "
+
+#: git-add--interactive.perl:1359
+#, perl-format
+msgid "Stage deletion [y,n,q,a,d,/%s,?]? "
+msgstr "暂存状态删除 [y,n,q,a,d,/%s,?]? "
+
+#: git-add--interactive.perl:1360
+#, perl-format
+msgid "Stage this hunk [y,n,q,a,d,/%s,?]? "
+msgstr "暂存该块 [y,n,q,a,d,/%s,?]? "
+
+#: git-add--interactive.perl:1363
+#, perl-format
+msgid "Stash mode change [y,n,q,a,d,/%s,?]? "
+msgstr "贮藏状态修改 [y,n,q,a,d,/%s,?]? "
+
+#: git-add--interactive.perl:1364
+#, perl-format
+msgid "Stash deletion [y,n,q,a,d,/%s,?]? "
+msgstr "贮藏状态删除 [y,n,q,a,d,/%s,?]? "
+
+#: git-add--interactive.perl:1365
+#, perl-format
+msgid "Stash this hunk [y,n,q,a,d,/%s,?]? "
+msgstr "贮藏该块 [y,n,q,a,d,/%s,?]? "
+
+#: git-add--interactive.perl:1368
+#, perl-format
+msgid "Unstage mode change [y,n,q,a,d,/%s,?]? "
+msgstr "未暂存状态修改 [y,n,q,a,d,/%s,?]? "
+
+#: git-add--interactive.perl:1369
+#, perl-format
+msgid "Unstage deletion [y,n,q,a,d,/%s,?]? "
+msgstr "未暂存状态删除 [y,n,q,a,d,/%s,?]? "
+
+#: git-add--interactive.perl:1370
+#, perl-format
+msgid "Unstage this hunk [y,n,q,a,d,/%s,?]? "
+msgstr "不暂存该块 [y,n,q,a,d,/%s,?]? "
+
+#: git-add--interactive.perl:1373
+#, perl-format
+msgid "Apply mode change to index [y,n,q,a,d,/%s,?]? "
+msgstr "修改索引中的应用状态 [y,n,q,a,d,/%s,?]? "
+
+#: git-add--interactive.perl:1374
+#, perl-format
+msgid "Apply deletion to index [y,n,q,a,d,/%s,?]? "
+msgstr "从索引中删除应用状态 [y,n,q,a,d,/%s,?]? "
+
+#: git-add--interactive.perl:1375
+#, perl-format
+msgid "Apply this hunk to index [y,n,q,a,d,/%s,?]? "
+msgstr "将此块应用到索引 [y,n,q,a,d,/%s,?]? "
+
+#: git-add--interactive.perl:1378
+#, perl-format
+msgid "Discard mode change from worktree [y,n,q,a,d,/%s,?]? "
+msgstr "修改工作区中的丢弃状态 [y,n,q,a,d,/%s,?]? "
+
+#: git-add--interactive.perl:1379
+#, perl-format
+msgid "Discard deletion from worktree [y,n,q,a,d,/%s,?]? "
+msgstr "从工作区中删除丢弃状态 [y,n,q,a,d,/%s,?]? "
+
+#: git-add--interactive.perl:1380
+#, perl-format
+msgid "Discard this hunk from worktree [y,n,q,a,d,/%s,?]? "
+msgstr "从工作区中丢弃该块 [y,n,q,a,d,/%s,?]? "
+
+#: git-add--interactive.perl:1383
+#, perl-format
+msgid "Discard mode change from index and worktree [y,n,q,a,d,/%s,?]? "
+msgstr "修改索引和工作区中的丢弃状态 [y,n,q,a,d,/%s,?]? "
+
+#: git-add--interactive.perl:1384
+#, perl-format
+msgid "Discard deletion from index and worktree [y,n,q,a,d,/%s,?]? "
+msgstr "从索引和工作区中删除丢弃状态 [y,n,q,a,d,/%s,?]? "
+
+#: git-add--interactive.perl:1385
+#, perl-format
+msgid "Discard this hunk from index and worktree [y,n,q,a,d,/%s,?]? "
+msgstr "从索引和工作区中丢弃该块 [y,n,q,a,d,/%s,?]? "
+
+#: git-add--interactive.perl:1388
+#, perl-format
+msgid "Apply mode change to index and worktree [y,n,q,a,d,/%s,?]? "
+msgstr "修改索引和工作区中的应用状态 [y,n,q,a,d,/%s,?]? "
+
+#: git-add--interactive.perl:1389
+#, perl-format
+msgid "Apply deletion to index and worktree [y,n,q,a,d,/%s,?]? "
+msgstr "从索引和工作区中删除应用状态 [y,n,q,a,d,/%s,?]? "
+
+#: git-add--interactive.perl:1390
+#, perl-format
+msgid "Apply this hunk to index and worktree [y,n,q,a,d,/%s,?]? "
+msgstr "在索引和工作区中应用该块 [y,n,q,a,d,/%s,?]? "
+
+#: git-add--interactive.perl:1493
+msgid "go to which hunk (<ret> to see more)? "
+msgstr "跳转到哪个块（<回车> 查看更多）？ "
+
+#: git-add--interactive.perl:1495
+msgid "go to which hunk? "
+msgstr "跳转到哪个块？"
+
+#: git-add--interactive.perl:1504
+#, perl-format
+msgid "Invalid number: '%s'\n"
+msgstr "无效数字：'%s'\n"
+
+#: git-add--interactive.perl:1509
+#, perl-format
+msgid "Sorry, only %d hunk available.\n"
+msgid_plural "Sorry, only %d hunks available.\n"
+msgstr[0] "对不起，只有 %d 个可用块。\n"
+msgstr[1] "对不起，只有 %d 个可用块。\n"
+
+#: git-add--interactive.perl:1535
+msgid "search for regex? "
+msgstr "使用正则表达式搜索？"
+
+#: git-add--interactive.perl:1548
+#, perl-format
+msgid "Malformed search regexp %s: %s\n"
+msgstr "错误的正则表达式 %s：%s\n"
+
+#: git-add--interactive.perl:1558
+msgid "No hunk matches the given pattern\n"
+msgstr "没有和给定模式相匹配的快\n"
+
+#: git-add--interactive.perl:1570 git-add--interactive.perl:1592
+msgid "No previous hunk\n"
+msgstr "没有前一个块\n"
+
+#: git-add--interactive.perl:1579 git-add--interactive.perl:1598
+msgid "No next hunk\n"
+msgstr "没有下一个块\n"
+
+#: git-add--interactive.perl:1606
+#, perl-format
+msgid "Split into %d hunk.\n"
+msgid_plural "Split into %d hunks.\n"
+msgstr[0] "拆分为 %d 块。\n"
+msgstr[1] "拆分为 %d 块。\n"
+
+#: git-add--interactive.perl:1658
+msgid "Review diff"
+msgstr "检视 diff"
+
+#. TRANSLATORS: please do not translate the command names
+#. 'status', 'update', 'revert', etc.
+#: git-add--interactive.perl:1677
+msgid ""
+"status        - show paths with changes\n"
+"update        - add working tree state to the staged set of changes\n"
+"revert        - revert staged set of changes back to the HEAD version\n"
+"patch         - pick hunks and update selectively\n"
+"diff\t      - view diff between HEAD and index\n"
+"add untracked - add contents of untracked files to the staged set of "
+"changes\n"
+msgstr ""
+"status        - 显示含变更的路径\n"
+"update        - 添加工作区状态至暂存列表\n"
+"revert        - 还原修改的暂存集至 HEAD 版本\n"
+"patch         - 挑选块并且有选择地更新\n"
+"diff          - 显示 HEAD 和索引间差异\n"
+"add untracked - 添加未跟踪文件的内容至暂存列表\n"
+
+#: git-add--interactive.perl:1694 git-add--interactive.perl:1699
+#: git-add--interactive.perl:1702 git-add--interactive.perl:1709
+#: git-add--interactive.perl:1713 git-add--interactive.perl:1719
+msgid "missing --"
+msgstr "缺失 --"
+
+#: git-add--interactive.perl:1715
+#, perl-format
+msgid "unknown --patch mode: %s"
+msgstr "未知的 --patch 模式：%s"
+
+#: git-add--interactive.perl:1721 git-add--interactive.perl:1727
+#, perl-format
+msgid "invalid argument %s, expecting --"
+msgstr "无效的参数 %s，期望是 --"
+
+#: git-send-email.perl:121
+msgid "local zone differs from GMT by a non-minute interval\n"
+msgstr "本地时间和 GMT 有不到一分钟间隔\n"
+
+#: git-send-email.perl:128 git-send-email.perl:134
+msgid "local time offset greater than or equal to 24 hours\n"
+msgstr "本地时间偏移量大于等于 24 小时\n"
+
+#: git-send-email.perl:202 git-send-email.perl:208
+msgid "the editor exited uncleanly, aborting everything"
+msgstr "编辑器非正常退出，终止所有操作"
+
+#: git-send-email.perl:282
+#, perl-format
+msgid ""
+"'%s' contains an intermediate version of the email you were composing.\n"
+msgstr "'%s' 包含您正在编写的一个中间版本的邮件。\n"
+
+#: git-send-email.perl:287
+#, perl-format
+msgid "'%s.final' contains the composed email.\n"
+msgstr "'%s.final' 包含编辑的邮件。\n"
+
+#: git-send-email.perl:305
+msgid "--dump-aliases incompatible with other options\n"
+msgstr "--dump-aliases 和其它选项不兼容\n"
+
+#: git-send-email.perl:368 git-send-email.perl:623
+msgid "Cannot run git format-patch from outside a repository\n"
+msgstr "不能在仓库之外运行 git format-patch\n"
+
+#: git-send-email.perl:437
+#, perl-format
+msgid "Unknown --suppress-cc field: '%s'\n"
+msgstr "未知的 --suppress-cc 字段：'%s'\n"
+
+#: git-send-email.perl:466
+#, perl-format
+msgid "Unknown --confirm setting: '%s'\n"
+msgstr "未知的 --confirm 设置：'%s'\n"
+
+#: git-send-email.perl:498
+#, perl-format
+msgid "warning: sendmail alias with quotes is not supported: %s\n"
+msgstr "警告：不支持带引号的 sendmail 别名：%s\n"
+
+#: git-send-email.perl:500
+#, perl-format
+msgid "warning: `:include:` not supported: %s\n"
+msgstr "警告：不支持 `:include:`：%s\n"
+
+#: git-send-email.perl:502
+#, perl-format
+msgid "warning: `/file` or `|pipe` redirection not supported: %s\n"
+msgstr "警告：不支持 `/file` 或 `|pipe` 重定向：%s\n"
+
+#: git-send-email.perl:507
+#, perl-format
+msgid "warning: sendmail line is not recognized: %s\n"
+msgstr "警告：不能识别的 sendmail 行：%s\n"
+
+#: git-send-email.perl:589
+#, perl-format
+msgid ""
+"File '%s' exists but it could also be the range of commits\n"
+"to produce patches for.  Please disambiguate by...\n"
+"\n"
+"    * Saying \"./%s\" if you mean a file; or\n"
+"    * Giving --format-patch option if you mean a range.\n"
+msgstr ""
+"存在文件 '%s' 但是它也可能是一个用于产生补丁列表的提交范围。请用如下方法消除歧义：\n"
+"\n"
+"    * 如果含义为一个文件，使用 \"./%s\"，或者\n"
+"    * 如果含义为一个范围，使用 --format-patch 选项。\n"
+
+#: git-send-email.perl:610
+#, perl-format
+msgid "Failed to opendir %s: %s"
+msgstr "无法打开目录 %s: %s"
+
+#: git-send-email.perl:634
+#, perl-format
+msgid ""
+"fatal: %s: %s\n"
+"warning: no patches were sent\n"
+msgstr ""
+"严重：%s：%s\n"
+"警告：补丁未能发送\n"
+
+#: git-send-email.perl:645
+msgid ""
+"\n"
+"No patch files specified!\n"
+"\n"
+msgstr "\n未指定补丁文件！\n\n"
+
+#: git-send-email.perl:658
+#, perl-format
+msgid "No subject line in %s?"
+msgstr "在 %s 中没有标题行？"
+
+#: git-send-email.perl:668
+#, perl-format
+msgid "Failed to open for writing %s: %s"
+msgstr "无法写入 %s: %s"
+
+#: git-send-email.perl:678
+msgid ""
+"Lines beginning in \"GIT:\" will be removed.\n"
+"Consider including an overall diffstat or table of contents\n"
+"for the patch you are writing.\n"
+"\n"
+"Clear the body content if you don't wish to send a summary.\n"
+msgstr ""
+"以 \"GIT:\" 开头的行将被删除。\n"
+"考虑包含一个整体的 diffstat 或者您正在写的补丁的目录。\n"
+"\n"
+"如果您不想发送摘要，清除内容。\n"
+
+#: git-send-email.perl:701
+#, perl-format
+msgid "Failed to open %s.final: %s"
+msgstr "无法打开 %s.final: %s"
+
+#: git-send-email.perl:704
+#, perl-format
+msgid "Failed to open %s: %s"
+msgstr "无法打开 %s: %s"
+
+#: git-send-email.perl:739
+msgid "To/Cc/Bcc fields are not interpreted yet, they have been ignored\n"
+msgstr "To/Cc/Bcc 字段不解析，它们被忽略\n"
+
+#: git-send-email.perl:748
+msgid "Summary email is empty, skipping it\n"
+msgstr "摘要邮件为空，跳过\n"
+
+#. TRANSLATORS: please keep [y/N] as is.
+#: git-send-email.perl:780
+#, perl-format
+msgid "Are you sure you want to use <%s> [y/N]? "
+msgstr "您确认要使用 <%s> [y/N]？"
+
+#: git-send-email.perl:809
+msgid ""
+"The following files are 8bit, but do not declare a Content-Transfer-"
+"Encoding.\n"
+msgstr "如下文件含 8bit 内容，但没有声明一个 Content-Transfer-Encoding。\n"
+
+#: git-send-email.perl:814
+msgid "Which 8bit encoding should I declare [UTF-8]? "
+msgstr "要声明 8bit 为什么样的编码格式 [UTF-8]？"
+
+#: git-send-email.perl:822
+#, perl-format
+msgid ""
+"Refusing to send because the patch\n"
+"\t%s\n"
+"has the template subject '*** SUBJECT HERE ***'. Pass --force if you really "
+"want to send.\n"
+msgstr ""
+"拒绝发送，因为补丁\n"
+"\t%s\n"
+"包含模版标题 '*** SUBJECT HERE ***'。如果确实想要发送，使用参数 --force。\n"
+
+#: git-send-email.perl:841
+msgid "To whom should the emails be sent (if anyone)?"
+msgstr "邮件将要发送给谁？"
+
+#: git-send-email.perl:859
+#, perl-format
+msgid "fatal: alias '%s' expands to itself\n"
+msgstr "严重：别名 '%s' 扩展为它自己\n"
+
+#: git-send-email.perl:871
+msgid "Message-ID to be used as In-Reply-To for the first email (if any)? "
+msgstr "Message-ID 被用作第一封邮件的 In-Reply-To ？"
+
+#: git-send-email.perl:921 git-send-email.perl:929
+#, perl-format
+msgid "error: unable to extract a valid address from: %s\n"
+msgstr "错误：不能从 %s 中提取一个有效的邮件地址\n"
+
+#. TRANSLATORS: Make sure to include [q] [d] [e] in your
+#. translation. The program will only accept English input
+#. at this point.
+#: git-send-email.perl:933
+msgid "What to do with this address? ([q]uit|[d]rop|[e]dit): "
+msgstr "如何处理这个地址？([q]uit|[d]rop|[e]dit)："
+
+#: git-send-email.perl:1234
+#, perl-format
+msgid "CA path \"%s\" does not exist"
+msgstr "CA 路径 \"%s\" 不存在"
+
+#: git-send-email.perl:1309
+msgid ""
+"    The Cc list above has been expanded by additional\n"
+"    addresses found in the patch commit message. By default\n"
+"    send-email prompts before sending whenever this occurs.\n"
+"    This behavior is controlled by the sendemail.confirm\n"
+"    configuration setting.\n"
+"\n"
+"    For additional information, run 'git send-email --help'.\n"
+"    To retain the current behavior, but squelch this message,\n"
+"    run 'git config --global sendemail.confirm auto'.\n"
+"\n"
+msgstr ""
+"    以上的抄送列表（Cc）已经用补丁提交信息中发现的地址进行\n"
+"    了扩展。缺省 send-email 会给出提示。这个行为可以通过\n"
+"    sendemail.confirm 配置设置。\n"
+"\n"
+"    更多信息，执行 'git send-email --help'。\n"
+"    要保持当前行为，但不显示此信息，运行 'git config --global\n"
+"    sendemail.confirm auto'。\n"
+"\n"
+
+#. TRANSLATORS: Make sure to include [y] [n] [q] [a] in your
+#. translation. The program will only accept English input
+#. at this point.
+#: git-send-email.perl:1324
+msgid "Send this email? ([y]es|[n]o|[q]uit|[a]ll): "
+msgstr "发送邮件？([y]es|[n]o|[q]uit|[a]ll)："
+
+#: git-send-email.perl:1327
+msgid "Send this email reply required"
+msgstr "发送要求的邮件回复"
+
+#: git-send-email.perl:1353
+msgid "The required SMTP server is not properly defined."
+msgstr "要求的 SMTP 服务器未被正确定义。"
+
+#: git-send-email.perl:1397
+#, perl-format
+msgid "Server does not support STARTTLS! %s"
+msgstr "服务器不支持 STARTTLS！%s"
+
+#: git-send-email.perl:1403
+msgid "Unable to initialize SMTP properly. Check config and use --smtp-debug."
+msgstr "无法正确地初始化 SMTP。检查配置并使用 --smtp-debug。"
+
+#: git-send-email.perl:1421
+#, perl-format
+msgid "Failed to send %s\n"
+msgstr "无法发送 %s\n"
+
+#: git-send-email.perl:1424
+#, perl-format
+msgid "Dry-Sent %s\n"
+msgstr "演习发送 %s\n"
+
+#: git-send-email.perl:1424
+#, perl-format
+msgid "Sent %s\n"
+msgstr "正发送 %s\n"
+
+#: git-send-email.perl:1426
+msgid "Dry-OK. Log says:\n"
+msgstr "演习成功。日志说：\n"
+
+#: git-send-email.perl:1426
+msgid "OK. Log says:\n"
+msgstr "OK。日志说：\n"
+
+#: git-send-email.perl:1438
+msgid "Result: "
+msgstr "结果："
+
+#: git-send-email.perl:1441
+msgid "Result: OK\n"
+msgstr "结果：OK\n"
+
+#: git-send-email.perl:1454
+#, perl-format
+msgid "can't open file %s"
+msgstr "无法打开文件 %s"
+
+#: git-send-email.perl:1501 git-send-email.perl:1521
+#, perl-format
+msgid "(mbox) Adding cc: %s from line '%s'\n"
+msgstr "(mbox) 添加 cc：%s 自行 '%s'\n"
+
+#: git-send-email.perl:1507
+#, perl-format
+msgid "(mbox) Adding to: %s from line '%s'\n"
+msgstr "(mbox) 添加 to：%s 自行 '%s'\n"
+
+#: git-send-email.perl:1555
+#, perl-format
+msgid "(non-mbox) Adding cc: %s from line '%s'\n"
+msgstr "(non-mbox) 添加 cc：%s 自行 '%s'\n"
+
+#: git-send-email.perl:1578
+#, perl-format
+msgid "(body) Adding cc: %s from line '%s'\n"
+msgstr "(body) 添加 cc: %s 自行 '%s'\n"
+
+#: git-send-email.perl:1676
+#, perl-format
+msgid "(%s) Could not execute '%s'"
+msgstr "(%s) 不能执行 '%s'"
+
+#: git-send-email.perl:1683
+#, perl-format
+msgid "(%s) Adding %s: %s from: '%s'\n"
+msgstr "(%s) 添加 %s: %s 自：'%s'\n"
+
+#: git-send-email.perl:1687
+#, perl-format
+msgid "(%s) failed to close pipe to '%s'"
+msgstr "(%s) 无法关闭管道至 '%s'"
+
+#: git-send-email.perl:1714
+msgid "cannot send message as 7bit"
+msgstr "不能以 7bit 形式发送信息"
+
+#: git-send-email.perl:1722
+msgid "invalid transfer encoding"
+msgstr "无效的传送编码"
+
+#: git-send-email.perl:1741 git-send-email.perl:1792 git-send-email.perl:1802
+#, perl-format
+msgid "unable to open %s: %s\n"
+msgstr "不能打开 %s：%s\n"
+
+#: git-send-email.perl:1744
+#, perl-format
+msgid "%s: patch contains a line longer than 998 characters"
+msgstr "%s：补丁包含一个超过 998 字符的行"
+
+#: git-send-email.perl:1760
+#, perl-format
+msgid "Skipping %s with backup suffix '%s'.\n"
+msgstr "略过 %s 含备份后缀 '%s'。\n"
+
+#. TRANSLATORS: please keep "[y|N]" as is.
+#: git-send-email.perl:1764
+#, perl-format
+msgid "Do you really want to send %s? [y|N]: "
+msgstr "您真的要发送 %s？[y|N]："
+
+#~ msgid "Use an experimental blank-line-based heuristic to improve diffs"
+#~ msgstr "使用一个试验性的基于空行的启发式算法改进差异显示"
+
+#~ msgid "Clever... amending the last one with dirty index."
+#~ msgstr "聪明... 用脏索引修补最后一个提交。"
+
+#~ msgid ""
+#~ "the following submodule (or one of its nested submodules)\n"
+#~ "uses a .git directory:"
+#~ msgid_plural ""
+#~ "the following submodules (or one of their nested submodules)\n"
+#~ "use a .git directory:"
+#~ msgstr[0] "以下子模组（或一个其嵌套子模组）使用了一个 .git 目录："
+#~ msgstr[1] "以下子模组（或一个其嵌套子模组）使用了一个 .git 目录："
+
+#~ msgid ""
+#~ "\n"
+#~ "(use 'rm -rf' if you really want to remove it including all of its "
+#~ "history)"
+#~ msgstr ""
+#~ "\n"
+#~ "（使用 'rm -rf' 命令如果您真的想删除它及其全部历史）"
+
 #~ msgid "Could not write to %s"
 #~ msgstr "不能写入 %s"
 
diff --git a/preload-index.c b/preload-index.c
index c1fe3a3..70a4c80 100644
--- a/preload-index.c
+++ b/preload-index.c
@@ -53,6 +53,8 @@
 			continue;
 		if (ce_uptodate(ce))
 			continue;
+		if (ce_skip_worktree(ce))
+			continue;
 		if (!ce_path_match(ce, &p->pathspec, NULL))
 			continue;
 		if (threaded_has_symlink_leading_path(&cache, ce->name, ce_namelen(ce)))
diff --git a/pretty.c b/pretty.c
index 37b2c3b..d0f86f5 100644
--- a/pretty.c
+++ b/pretty.c
@@ -10,6 +10,7 @@
 #include "color.h"
 #include "reflog-walk.h"
 #include "gpg-interface.h"
+#include "trailer.h"
 
 static char *user_format;
 static struct cmt_fmt_map {
@@ -889,6 +890,16 @@
 	return msg;
 }
 
+static void format_trailers(struct strbuf *sb, const char *msg)
+{
+	struct trailer_info info;
+
+	trailer_info_get(&info, msg);
+	strbuf_add(sb, info.trailer_start,
+		   info.trailer_end - info.trailer_start);
+	trailer_info_release(&info);
+}
+
 static void parse_commit_message(struct format_commit_context *c)
 {
 	const char *msg = c->message + c->message_off;
@@ -1292,6 +1303,12 @@
 		strbuf_addstr(sb, msg + c->body_off);
 		return 1;
 	}
+
+	if (starts_with(placeholder, "(trailers)")) {
+		format_trailers(sb, msg + c->subject_off);
+		return strlen("(trailers)");
+	}
+
 	return 0;	/* unknown placeholder */
 }
 
@@ -1590,8 +1607,9 @@
 				pp->preserve_subject ? "\n" : " ");
 
 	strbuf_grow(sb, title.len + 1024);
-	if (pp->subject) {
-		strbuf_addstr(sb, pp->subject);
+	if (pp->print_email_subject) {
+		if (pp->rev)
+			fmt_output_email_subject(sb, pp->rev);
 		if (needs_rfc2047_encoding(title.buf, title.len, RFC2047_SUBJECT))
 			add_rfc2047(sb, title.buf, title.len,
 						encoding, RFC2047_SUBJECT);
@@ -1801,7 +1819,7 @@
 	}
 
 	pp_header(pp, encoding, commit, &msg, sb);
-	if (pp->fmt != CMIT_FMT_ONELINE && !pp->subject) {
+	if (pp->fmt != CMIT_FMT_ONELINE && !pp->print_email_subject) {
 		strbuf_addch(sb, '\n');
 	}
 
diff --git a/prio-queue.c b/prio-queue.c
index e4365b0..17252d2 100644
--- a/prio-queue.c
+++ b/prio-queue.c
@@ -12,9 +12,7 @@
 
 static inline void swap(struct prio_queue *queue, int i, int j)
 {
-	struct prio_queue_entry tmp = queue->array[i];
-	queue->array[i] = queue->array[j];
-	queue->array[j] = tmp;
+	SWAP(queue->array[i], queue->array[j]);
 }
 
 void prio_queue_reverse(struct prio_queue *queue)
diff --git a/progress.c b/progress.c
index 76a88c5..29378ca 100644
--- a/progress.c
+++ b/progress.c
@@ -243,21 +243,18 @@
 	*p_progress = NULL;
 	if (progress->last_value != -1) {
 		/* Force the last update */
-		char buf[128], *bufp;
-		size_t len = strlen(msg) + 5;
+		char *buf;
 		struct throughput *tp = progress->throughput;
 
-		bufp = (len < sizeof(buf)) ? buf : xmallocz(len);
 		if (tp) {
 			unsigned int rate = !tp->avg_misecs ? 0 :
 					tp->avg_bytes / tp->avg_misecs;
 			throughput_string(&tp->display, tp->curr_total, rate);
 		}
 		progress_update = 1;
-		xsnprintf(bufp, len + 1, ", %s.\n", msg);
-		display(progress, progress->last_value, bufp);
-		if (buf != bufp)
-			free(bufp);
+		buf = xstrfmt(", %s.\n", msg);
+		display(progress, progress->last_value, buf);
+		free(buf);
 	}
 	clear_progress_signal();
 	if (progress->throughput)
diff --git a/reachable.c b/reachable.c
index d0199ca..a8a979b 100644
--- a/reachable.c
+++ b/reachable.c
@@ -58,7 +58,7 @@
 	unsigned long timestamp;
 };
 
-static void add_recent_object(const unsigned char *sha1,
+static void add_recent_object(const struct object_id *oid,
 			      unsigned long mtime,
 			      struct recent_data *data)
 {
@@ -75,37 +75,37 @@
 	 * later processing, and the revision machinery expects
 	 * commits and tags to have been parsed.
 	 */
-	type = sha1_object_info(sha1, NULL);
+	type = sha1_object_info(oid->hash, NULL);
 	if (type < 0)
-		die("unable to get object info for %s", sha1_to_hex(sha1));
+		die("unable to get object info for %s", oid_to_hex(oid));
 
 	switch (type) {
 	case OBJ_TAG:
 	case OBJ_COMMIT:
-		obj = parse_object_or_die(sha1, NULL);
+		obj = parse_object_or_die(oid->hash, NULL);
 		break;
 	case OBJ_TREE:
-		obj = (struct object *)lookup_tree(sha1);
+		obj = (struct object *)lookup_tree(oid->hash);
 		break;
 	case OBJ_BLOB:
-		obj = (struct object *)lookup_blob(sha1);
+		obj = (struct object *)lookup_blob(oid->hash);
 		break;
 	default:
 		die("unknown object type for %s: %s",
-		    sha1_to_hex(sha1), typename(type));
+		    oid_to_hex(oid), typename(type));
 	}
 
 	if (!obj)
-		die("unable to lookup %s", sha1_to_hex(sha1));
+		die("unable to lookup %s", oid_to_hex(oid));
 
 	add_pending_object(data->revs, obj, "");
 }
 
-static int add_recent_loose(const unsigned char *sha1,
+static int add_recent_loose(const struct object_id *oid,
 			    const char *path, void *data)
 {
 	struct stat st;
-	struct object *obj = lookup_object(sha1);
+	struct object *obj = lookup_object(oid->hash);
 
 	if (obj && obj->flags & SEEN)
 		return 0;
@@ -119,22 +119,22 @@
 		 */
 		if (errno == ENOENT)
 			return 0;
-		return error_errno("unable to stat %s", sha1_to_hex(sha1));
+		return error_errno("unable to stat %s", oid_to_hex(oid));
 	}
 
-	add_recent_object(sha1, st.st_mtime, data);
+	add_recent_object(oid, st.st_mtime, data);
 	return 0;
 }
 
-static int add_recent_packed(const unsigned char *sha1,
+static int add_recent_packed(const struct object_id *oid,
 			     struct packed_git *p, uint32_t pos,
 			     void *data)
 {
-	struct object *obj = lookup_object(sha1);
+	struct object *obj = lookup_object(oid->hash);
 
 	if (obj && obj->flags & SEEN)
 		return 0;
-	add_recent_object(sha1, p->mtime, data);
+	add_recent_object(oid, p->mtime, data);
 	return 0;
 }
 
diff --git a/read-cache.c b/read-cache.c
index 585ff02..e447751 100644
--- a/read-cache.c
+++ b/read-cache.c
@@ -156,14 +156,7 @@
 static int ce_compare_data(const struct cache_entry *ce, struct stat *st)
 {
 	int match = -1;
-	static int cloexec = O_CLOEXEC;
-	int fd = open(ce->name, O_RDONLY | cloexec);
-
-	if ((cloexec & O_CLOEXEC) && fd < 0 && errno == EINVAL) {
-		/* Try again w/o O_CLOEXEC: the kernel might not support it */
-		cloexec &= ~O_CLOEXEC;
-		fd = open(ce->name, O_RDONLY | cloexec);
-	}
+	int fd = git_open_cloexec(ce->name, O_RDONLY);
 
 	if (fd >= 0) {
 		unsigned char sha1[20];
@@ -1424,12 +1417,9 @@
 	return 0;
 }
 
-int hold_locked_index(struct lock_file *lk, int die_on_error)
+int hold_locked_index(struct lock_file *lk, int lock_flags)
 {
-	return hold_lock_file_for_update(lk, get_index_file(),
-					 die_on_error
-					 ? LOCK_DIE_ON_ERROR
-					 : 0);
+	return hold_lock_file_for_update(lk, get_index_file(), lock_flags);
 }
 
 int read_index(struct index_state *istate)
@@ -1568,10 +1558,27 @@
 	}
 }
 
+static void tweak_split_index(struct index_state *istate)
+{
+	switch (git_config_get_split_index()) {
+	case -1: /* unset: do nothing */
+		break;
+	case 0: /* false */
+		remove_split_index(istate);
+		break;
+	case 1: /* true */
+		add_split_index(istate);
+		break;
+	default: /* unknown value: do nothing */
+		break;
+	}
+}
+
 static void post_read_index_from(struct index_state *istate)
 {
 	check_ce_order(istate);
 	tweak_untracked_cache(istate);
+	tweak_split_index(istate);
 }
 
 /* remember to discard_cache() before reading a different cache! */
@@ -1667,10 +1674,25 @@
 	die("index file corrupt");
 }
 
+/*
+ * Signal that the shared index is used by updating its mtime.
+ *
+ * This way, shared index can be removed if they have not been used
+ * for some time.
+ */
+static void freshen_shared_index(char *base_sha1_hex, int warn)
+{
+	const char *shared_index = git_path("sharedindex.%s", base_sha1_hex);
+	if (!check_and_freshen_file(shared_index, 1) && warn)
+		warning("could not freshen shared index '%s'", shared_index);
+}
+
 int read_index_from(struct index_state *istate, const char *path)
 {
 	struct split_index *split_index;
 	int ret;
+	char *base_sha1_hex;
+	const char *base_path;
 
 	/* istate->initialized covers both .git/index and .git/sharedindex.xxx */
 	if (istate->initialized)
@@ -1688,15 +1710,16 @@
 		discard_index(split_index->base);
 	else
 		split_index->base = xcalloc(1, sizeof(*split_index->base));
-	ret = do_read_index(split_index->base,
-			    git_path("sharedindex.%s",
-				     sha1_to_hex(split_index->base_sha1)), 1);
+
+	base_sha1_hex = sha1_to_hex(split_index->base_sha1);
+	base_path = git_path("sharedindex.%s", base_sha1_hex);
+	ret = do_read_index(split_index->base, base_path, 1);
 	if (hashcmp(split_index->base_sha1, split_index->base->sha1))
 		die("broken index, expect %s in %s, got %s",
-		    sha1_to_hex(split_index->base_sha1),
-		    git_path("sharedindex.%s",
-			     sha1_to_hex(split_index->base_sha1)),
+		    base_sha1_hex, base_path,
 		    sha1_to_hex(split_index->base->sha1));
+
+	freshen_shared_index(base_sha1_hex, 0);
 	merge_base_index(istate);
 	post_read_index_from(istate);
 	return ret;
@@ -2179,6 +2202,65 @@
 	return ret;
 }
 
+static const char *shared_index_expire = "2.weeks.ago";
+
+static unsigned long get_shared_index_expire_date(void)
+{
+	static unsigned long shared_index_expire_date;
+	static int shared_index_expire_date_prepared;
+
+	if (!shared_index_expire_date_prepared) {
+		git_config_get_expiry("splitindex.sharedindexexpire",
+				      &shared_index_expire);
+		shared_index_expire_date = approxidate(shared_index_expire);
+		shared_index_expire_date_prepared = 1;
+	}
+
+	return shared_index_expire_date;
+}
+
+static int should_delete_shared_index(const char *shared_index_path)
+{
+	struct stat st;
+	unsigned long expiration;
+
+	/* Check timestamp */
+	expiration = get_shared_index_expire_date();
+	if (!expiration)
+		return 0;
+	if (stat(shared_index_path, &st))
+		return error_errno(_("could not stat '%s"), shared_index_path);
+	if (st.st_mtime > expiration)
+		return 0;
+
+	return 1;
+}
+
+static int clean_shared_index_files(const char *current_hex)
+{
+	struct dirent *de;
+	DIR *dir = opendir(get_git_dir());
+
+	if (!dir)
+		return error_errno(_("unable to open git dir: %s"), get_git_dir());
+
+	while ((de = readdir(dir)) != NULL) {
+		const char *sha1_hex;
+		const char *shared_index_path;
+		if (!skip_prefix(de->d_name, "sharedindex.", &sha1_hex))
+			continue;
+		if (!strcmp(sha1_hex, current_hex))
+			continue;
+		shared_index_path = git_path("%s", de->d_name);
+		if (should_delete_shared_index(shared_index_path) > 0 &&
+		    unlink(shared_index_path))
+			warning_errno(_("unable to unlink: %s"), shared_index_path);
+	}
+	closedir(dir);
+
+	return 0;
+}
+
 static struct tempfile temporary_sharedindex;
 
 static int write_shared_index(struct index_state *istate,
@@ -2200,14 +2282,48 @@
 	}
 	ret = rename_tempfile(&temporary_sharedindex,
 			      git_path("sharedindex.%s", sha1_to_hex(si->base->sha1)));
-	if (!ret)
+	if (!ret) {
 		hashcpy(si->base_sha1, si->base->sha1);
+		clean_shared_index_files(sha1_to_hex(si->base->sha1));
+	}
+
 	return ret;
 }
 
+static const int default_max_percent_split_change = 20;
+
+static int too_many_not_shared_entries(struct index_state *istate)
+{
+	int i, not_shared = 0;
+	int max_split = git_config_get_max_percent_split_change();
+
+	switch (max_split) {
+	case -1:
+		/* not or badly configured: use the default value */
+		max_split = default_max_percent_split_change;
+		break;
+	case 0:
+		return 1; /* 0% means always write a new shared index */
+	case 100:
+		return 0; /* 100% means never write a new shared index */
+	default:
+		break; /* just use the configured value */
+	}
+
+	/* Count not shared entries */
+	for (i = 0; i < istate->cache_nr; i++) {
+		struct cache_entry *ce = istate->cache[i];
+		if (!ce->index)
+			not_shared++;
+	}
+
+	return (int64_t)istate->cache_nr * max_split < (int64_t)not_shared * 100;
+}
+
 int write_locked_index(struct index_state *istate, struct lock_file *lock,
 		       unsigned flags)
 {
+	int new_shared_index, ret;
 	struct split_index *si = istate->split_index;
 
 	if (!si || alternate_index_output ||
@@ -2222,13 +2338,24 @@
 		if ((v & 15) < 6)
 			istate->cache_changed |= SPLIT_INDEX_ORDERED;
 	}
-	if (istate->cache_changed & SPLIT_INDEX_ORDERED) {
-		int ret = write_shared_index(istate, lock, flags);
+	if (too_many_not_shared_entries(istate))
+		istate->cache_changed |= SPLIT_INDEX_ORDERED;
+
+	new_shared_index = istate->cache_changed & SPLIT_INDEX_ORDERED;
+
+	if (new_shared_index) {
+		ret = write_shared_index(istate, lock, flags);
 		if (ret)
 			return ret;
 	}
 
-	return write_split_index(istate, lock, flags);
+	ret = write_split_index(istate, lock, flags);
+
+	/* Freshen the shared index only if the split-index was written */
+	if (!ret && !new_shared_index)
+		freshen_shared_index(sha1_to_hex(si->base_sha1), 1);
+
+	return ret;
 }
 
 /*
@@ -2294,7 +2421,8 @@
 	return 1;
 }
 
-void *read_blob_data_from_index(struct index_state *istate, const char *path, unsigned long *size)
+void *read_blob_data_from_index(const struct index_state *istate,
+				const char *path, unsigned long *size)
 {
 	int pos, len;
 	unsigned long sz;
diff --git a/ref-filter.c b/ref-filter.c
index f5f7a70..3a64044 100644
--- a/ref-filter.c
+++ b/ref-filter.c
@@ -13,14 +13,52 @@
 #include "utf8.h"
 #include "git-compat-util.h"
 #include "version.h"
+#include "trailer.h"
+#include "wt-status.h"
+#include "commit-slab.h"
+
+static struct ref_msg {
+	const char *gone;
+	const char *ahead;
+	const char *behind;
+	const char *ahead_behind;
+} msgs = {
+	 /* Untranslated plumbing messages: */
+	"gone",
+	"ahead %d",
+	"behind %d",
+	"ahead %d, behind %d"
+};
+
+void setup_ref_filter_porcelain_msg(void)
+{
+	msgs.gone = _("gone");
+	msgs.ahead = _("ahead %d");
+	msgs.behind = _("behind %d");
+	msgs.ahead_behind = _("ahead %d, behind %d");
+}
 
 typedef enum { FIELD_STR, FIELD_ULONG, FIELD_TIME } cmp_type;
+typedef enum { COMPARE_EQUAL, COMPARE_UNEQUAL, COMPARE_NONE } cmp_status;
 
 struct align {
 	align_type position;
 	unsigned int width;
 };
 
+struct if_then_else {
+	cmp_status cmp_status;
+	const char *str;
+	unsigned int then_atom_seen : 1,
+		else_atom_seen : 1,
+		condition_satisfied : 1;
+};
+
+struct refname_atom {
+	enum { R_NORMAL, R_SHORT, R_LSTRIP, R_RSTRIP } option;
+	int lstrip, rstrip;
+};
+
 /*
  * An atom is a valid field atom listed below, possibly prefixed with
  * a "*" to denote deref_tag().
@@ -37,13 +75,24 @@
 	union {
 		char color[COLOR_MAXLEN];
 		struct align align;
-		enum { RR_NORMAL, RR_SHORTEN, RR_TRACK, RR_TRACKSHORT }
-			remote_ref;
 		struct {
-			enum { C_BARE, C_BODY, C_BODY_DEP, C_LINES, C_SIG, C_SUB } option;
+			enum { RR_REF, RR_TRACK, RR_TRACKSHORT } option;
+			struct refname_atom refname;
+			unsigned int nobracket : 1;
+		} remote_ref;
+		struct {
+			enum { C_BARE, C_BODY, C_BODY_DEP, C_LINES, C_SIG, C_SUB, C_TRAILERS } option;
 			unsigned int nlines;
 		} contents;
-		enum { O_FULL, O_SHORT } objectname;
+		struct {
+			cmp_status cmp_status;
+			const char *str;
+		} if_then_else;
+		struct {
+			enum { O_FULL, O_LENGTH, O_SHORT } option;
+			unsigned int length;
+		} objectname;
+		struct refname_atom refname;
 	} u;
 } *used_atom;
 static int used_atom_cnt, need_tagged, need_symref;
@@ -57,18 +106,58 @@
 		die(_("unrecognized color: %%(color:%s)"), color_value);
 }
 
-static void remote_ref_atom_parser(struct used_atom *atom, const char *arg)
+static void refname_atom_parser_internal(struct refname_atom *atom,
+					 const char *arg, const char *name)
 {
 	if (!arg)
-		atom->u.remote_ref = RR_NORMAL;
+		atom->option = R_NORMAL;
 	else if (!strcmp(arg, "short"))
-		atom->u.remote_ref = RR_SHORTEN;
-	else if (!strcmp(arg, "track"))
-		atom->u.remote_ref = RR_TRACK;
-	else if (!strcmp(arg, "trackshort"))
-		atom->u.remote_ref = RR_TRACKSHORT;
-	else
-		die(_("unrecognized format: %%(%s)"), atom->name);
+		atom->option = R_SHORT;
+	else if (skip_prefix(arg, "lstrip=", &arg) ||
+		 skip_prefix(arg, "strip=", &arg)) {
+		atom->option = R_LSTRIP;
+		if (strtol_i(arg, 10, &atom->lstrip))
+			die(_("Integer value expected refname:lstrip=%s"), arg);
+	} else if (skip_prefix(arg, "rstrip=", &arg)) {
+		atom->option = R_RSTRIP;
+		if (strtol_i(arg, 10, &atom->rstrip))
+			die(_("Integer value expected refname:rstrip=%s"), arg);
+	} else
+		die(_("unrecognized %%(%s) argument: %s"), name, arg);
+}
+
+static void remote_ref_atom_parser(struct used_atom *atom, const char *arg)
+{
+	struct string_list params = STRING_LIST_INIT_DUP;
+	int i;
+
+	if (!arg) {
+		atom->u.remote_ref.option = RR_REF;
+		refname_atom_parser_internal(&atom->u.remote_ref.refname,
+					     arg, atom->name);
+		return;
+	}
+
+	atom->u.remote_ref.nobracket = 0;
+	string_list_split(&params, arg, ',', -1);
+
+	for (i = 0; i < params.nr; i++) {
+		const char *s = params.items[i].string;
+
+		if (!strcmp(s, "track"))
+			atom->u.remote_ref.option = RR_TRACK;
+		else if (!strcmp(s, "trackshort"))
+			atom->u.remote_ref.option = RR_TRACKSHORT;
+		else if (!strcmp(s, "nobracket"))
+			atom->u.remote_ref.nobracket = 1;
+		else {
+			atom->u.remote_ref.option = RR_REF;
+			refname_atom_parser_internal(&atom->u.remote_ref.refname,
+						     arg, atom->name);
+		}
+	}
+
+	string_list_clear(&params, 0);
 }
 
 static void body_atom_parser(struct used_atom *atom, const char *arg)
@@ -85,6 +174,13 @@
 	atom->u.contents.option = C_SUB;
 }
 
+static void trailers_atom_parser(struct used_atom *atom, const char *arg)
+{
+	if (arg)
+		die(_("%%(trailers) does not take arguments"));
+	atom->u.contents.option = C_TRAILERS;
+}
+
 static void contents_atom_parser(struct used_atom *atom, const char *arg)
 {
 	if (!arg)
@@ -95,6 +191,8 @@
 		atom->u.contents.option = C_SIG;
 	else if (!strcmp(arg, "subject"))
 		atom->u.contents.option = C_SUB;
+	else if (!strcmp(arg, "trailers"))
+		atom->u.contents.option = C_TRAILERS;
 	else if (skip_prefix(arg, "lines=", &arg)) {
 		atom->u.contents.option = C_LINES;
 		if (strtoul_ui(arg, 10, &atom->u.contents.nlines))
@@ -106,13 +204,25 @@
 static void objectname_atom_parser(struct used_atom *atom, const char *arg)
 {
 	if (!arg)
-		atom->u.objectname = O_FULL;
+		atom->u.objectname.option = O_FULL;
 	else if (!strcmp(arg, "short"))
-		atom->u.objectname = O_SHORT;
-	else
+		atom->u.objectname.option = O_SHORT;
+	else if (skip_prefix(arg, "short=", &arg)) {
+		atom->u.objectname.option = O_LENGTH;
+		if (strtoul_ui(arg, 10, &atom->u.objectname.length) ||
+		    atom->u.objectname.length == 0)
+			die(_("positive value expected objectname:short=%s"), arg);
+		if (atom->u.objectname.length < MINIMUM_ABBREV)
+			atom->u.objectname.length = MINIMUM_ABBREV;
+	} else
 		die(_("unrecognized %%(objectname) argument: %s"), arg);
 }
 
+static void refname_atom_parser(struct used_atom *atom, const char *arg)
+{
+	return refname_atom_parser_internal(&atom->u.refname, arg, atom->name);
+}
+
 static align_type parse_align_position(const char *s)
 {
 	if (!strcmp(s, "right"))
@@ -163,12 +273,27 @@
 	string_list_clear(&params, 0);
 }
 
+static void if_atom_parser(struct used_atom *atom, const char *arg)
+{
+	if (!arg) {
+		atom->u.if_then_else.cmp_status = COMPARE_NONE;
+		return;
+	} else if (skip_prefix(arg, "equals=", &atom->u.if_then_else.str)) {
+		atom->u.if_then_else.cmp_status = COMPARE_EQUAL;
+	} else if (skip_prefix(arg, "notequals=", &atom->u.if_then_else.str)) {
+		atom->u.if_then_else.cmp_status = COMPARE_UNEQUAL;
+	} else {
+		die(_("unrecognized %%(if) argument: %s"), arg);
+	}
+}
+
+
 static struct {
 	const char *name;
 	cmp_type cmp_type;
 	void (*parser)(struct used_atom *atom, const char *arg);
 } valid_atom[] = {
-	{ "refname" },
+	{ "refname" , FIELD_STR, refname_atom_parser },
 	{ "objecttype" },
 	{ "objectsize", FIELD_ULONG },
 	{ "objectname", FIELD_STR, objectname_atom_parser },
@@ -194,15 +319,19 @@
 	{ "creatordate", FIELD_TIME },
 	{ "subject", FIELD_STR, subject_atom_parser },
 	{ "body", FIELD_STR, body_atom_parser },
+	{ "trailers", FIELD_STR, trailers_atom_parser },
 	{ "contents", FIELD_STR, contents_atom_parser },
 	{ "upstream", FIELD_STR, remote_ref_atom_parser },
 	{ "push", FIELD_STR, remote_ref_atom_parser },
-	{ "symref" },
+	{ "symref", FIELD_STR, refname_atom_parser },
 	{ "flag" },
 	{ "HEAD" },
 	{ "color", FIELD_STR, color_atom_parser },
 	{ "align", FIELD_STR, align_atom_parser },
 	{ "end" },
+	{ "if", FIELD_STR, if_atom_parser },
+	{ "then" },
+	{ "else" },
 };
 
 #define REF_FORMATTING_STATE_INIT  { 0, NULL }
@@ -210,7 +339,7 @@
 struct ref_formatting_stack {
 	struct ref_formatting_stack *prev;
 	struct strbuf output;
-	void (*at_end)(struct ref_formatting_stack *stack);
+	void (*at_end)(struct ref_formatting_stack **stack);
 	void *at_end_data;
 };
 
@@ -221,11 +350,9 @@
 
 struct atom_value {
 	const char *s;
-	union {
-		struct align align;
-	} u;
 	void (*handler)(struct atom_value *atomv, struct ref_formatting_state *state);
 	unsigned long ul; /* used for sorting when not FIELD_STR */
+	struct used_atom *atom;
 };
 
 /*
@@ -282,7 +409,7 @@
 		valid_atom[i].parser(&used_atom[at], arg);
 	if (*atom == '*')
 		need_tagged = 1;
-	if (!strcmp(used_atom[at].name, "symref"))
+	if (!strcmp(valid_atom[i].name, "symref"))
 		need_symref = 1;
 	return at;
 }
@@ -343,13 +470,14 @@
 	*stack = prev;
 }
 
-static void end_align_handler(struct ref_formatting_stack *stack)
+static void end_align_handler(struct ref_formatting_stack **stack)
 {
-	struct align *align = (struct align *)stack->at_end_data;
+	struct ref_formatting_stack *cur = *stack;
+	struct align *align = (struct align *)cur->at_end_data;
 	struct strbuf s = STRBUF_INIT;
 
-	strbuf_utf8_align(&s, align->position, align->width, stack->output.buf);
-	strbuf_swap(&stack->output, &s);
+	strbuf_utf8_align(&s, align->position, align->width, cur->output.buf);
+	strbuf_swap(&cur->output, &s);
 	strbuf_release(&s);
 }
 
@@ -360,7 +488,115 @@
 	push_stack_element(&state->stack);
 	new = state->stack;
 	new->at_end = end_align_handler;
-	new->at_end_data = &atomv->u.align;
+	new->at_end_data = &atomv->atom->u.align;
+}
+
+static void if_then_else_handler(struct ref_formatting_stack **stack)
+{
+	struct ref_formatting_stack *cur = *stack;
+	struct ref_formatting_stack *prev = cur->prev;
+	struct if_then_else *if_then_else = (struct if_then_else *)cur->at_end_data;
+
+	if (!if_then_else->then_atom_seen)
+		die(_("format: %%(if) atom used without a %%(then) atom"));
+
+	if (if_then_else->else_atom_seen) {
+		/*
+		 * There is an %(else) atom: we need to drop one state from the
+		 * stack, either the %(else) branch if the condition is satisfied, or
+		 * the %(then) branch if it isn't.
+		 */
+		if (if_then_else->condition_satisfied) {
+			strbuf_reset(&cur->output);
+			pop_stack_element(&cur);
+		} else {
+			strbuf_swap(&cur->output, &prev->output);
+			strbuf_reset(&cur->output);
+			pop_stack_element(&cur);
+		}
+	} else if (!if_then_else->condition_satisfied) {
+		/*
+		 * No %(else) atom: just drop the %(then) branch if the
+		 * condition is not satisfied.
+		 */
+		strbuf_reset(&cur->output);
+	}
+
+	*stack = cur;
+	free(if_then_else);
+}
+
+static void if_atom_handler(struct atom_value *atomv, struct ref_formatting_state *state)
+{
+	struct ref_formatting_stack *new;
+	struct if_then_else *if_then_else = xcalloc(sizeof(struct if_then_else), 1);
+
+	if_then_else->str = atomv->atom->u.if_then_else.str;
+	if_then_else->cmp_status = atomv->atom->u.if_then_else.cmp_status;
+
+	push_stack_element(&state->stack);
+	new = state->stack;
+	new->at_end = if_then_else_handler;
+	new->at_end_data = if_then_else;
+}
+
+static int is_empty(const char *s)
+{
+	while (*s != '\0') {
+		if (!isspace(*s))
+			return 0;
+		s++;
+	}
+	return 1;
+}
+
+static void then_atom_handler(struct atom_value *atomv, struct ref_formatting_state *state)
+{
+	struct ref_formatting_stack *cur = state->stack;
+	struct if_then_else *if_then_else = NULL;
+
+	if (cur->at_end == if_then_else_handler)
+		if_then_else = (struct if_then_else *)cur->at_end_data;
+	if (!if_then_else)
+		die(_("format: %%(then) atom used without an %%(if) atom"));
+	if (if_then_else->then_atom_seen)
+		die(_("format: %%(then) atom used more than once"));
+	if (if_then_else->else_atom_seen)
+		die(_("format: %%(then) atom used after %%(else)"));
+	if_then_else->then_atom_seen = 1;
+	/*
+	 * If the 'equals' or 'notequals' attribute is used then
+	 * perform the required comparison. If not, only non-empty
+	 * strings satisfy the 'if' condition.
+	 */
+	if (if_then_else->cmp_status == COMPARE_EQUAL) {
+		if (!strcmp(if_then_else->str, cur->output.buf))
+			if_then_else->condition_satisfied = 1;
+	} else if (if_then_else->cmp_status == COMPARE_UNEQUAL) {
+		if (strcmp(if_then_else->str, cur->output.buf))
+			if_then_else->condition_satisfied = 1;
+	} else if (cur->output.len && !is_empty(cur->output.buf))
+		if_then_else->condition_satisfied = 1;
+	strbuf_reset(&cur->output);
+}
+
+static void else_atom_handler(struct atom_value *atomv, struct ref_formatting_state *state)
+{
+	struct ref_formatting_stack *prev = state->stack;
+	struct if_then_else *if_then_else = NULL;
+
+	if (prev->at_end == if_then_else_handler)
+		if_then_else = (struct if_then_else *)prev->at_end_data;
+	if (!if_then_else)
+		die(_("format: %%(else) atom used without an %%(if) atom"));
+	if (!if_then_else->then_atom_seen)
+		die(_("format: %%(else) atom used without a %%(then) atom"));
+	if (if_then_else->else_atom_seen)
+		die(_("format: %%(else) atom used more than once"));
+	if_then_else->else_atom_seen = 1;
+	push_stack_element(&state->stack);
+	state->stack->at_end_data = prev->at_end_data;
+	state->stack->at_end = prev->at_end;
 }
 
 static void end_atom_handler(struct atom_value *atomv, struct ref_formatting_state *state)
@@ -370,14 +606,17 @@
 
 	if (!current->at_end)
 		die(_("format: %%(end) atom used without corresponding atom"));
-	current->at_end(current);
+	current->at_end(&state->stack);
+
+	/*  Stack may have been popped within at_end(), hence reset the current pointer */
+	current = state->stack;
 
 	/*
 	 * Perform quote formatting when the stack element is that of
 	 * a supporting atom. If nested then perform quote formatting
 	 * only on the topmost supporting atom.
 	 */
-	if (!state->stack->prev->prev) {
+	if (!current->prev->prev) {
 		quote_formatting(&s, current->output.buf, state->quote_style);
 		strbuf_swap(&current->output, &s);
 	}
@@ -454,12 +693,15 @@
 			   struct atom_value *v, struct used_atom *atom)
 {
 	if (starts_with(name, "objectname")) {
-		if (atom->u.objectname == O_SHORT) {
+		if (atom->u.objectname.option == O_SHORT) {
 			v->s = xstrdup(find_unique_abbrev(sha1, DEFAULT_ABBREV));
 			return 1;
-		} else if (atom->u.objectname == O_FULL) {
+		} else if (atom->u.objectname.option == O_FULL) {
 			v->s = xstrdup(sha1_to_hex(sha1));
 			return 1;
+		} else if (atom->u.objectname.option == O_LENGTH) {
+			v->s = xstrdup(find_unique_abbrev(sha1, atom->u.objectname.length));
+			return 1;
 		} else
 			die("BUG: unknown %%(objectname) option");
 	}
@@ -785,6 +1027,7 @@
 			name++;
 		if (strcmp(name, "subject") &&
 		    strcmp(name, "body") &&
+		    strcmp(name, "trailers") &&
 		    !starts_with(name, "contents"))
 			continue;
 		if (!subpos)
@@ -808,6 +1051,14 @@
 			/*  Size is the length of the message after removing the signature */
 			append_lines(&s, subpos, contents_end - subpos, atom->u.contents.nlines);
 			v->s = strbuf_detach(&s, NULL);
+		} else if (atom->u.contents.option == C_TRAILERS) {
+			struct trailer_info info;
+
+			/* Search for trailer info */
+			trailer_info_get(&info, subpos);
+			v->s = xmemdupz(info.trailer_start,
+					info.trailer_end - info.trailer_start);
+			trailer_info_release(&info);
 		} else if (atom->u.contents.option == C_BARE)
 			v->s = xstrdup(subpos);
 	}
@@ -867,50 +1118,108 @@
 	return dst;
 }
 
-static const char *strip_ref_components(const char *refname, const char *nr_arg)
+static const char *lstrip_ref_components(const char *refname, int len)
 {
-	char *end;
-	long nr = strtol(nr_arg, &end, 10);
-	long remaining = nr;
+	long remaining = len;
 	const char *start = refname;
 
-	if (nr < 1 || *end != '\0')
-		die(_(":strip= requires a positive integer argument"));
+	if (len < 0) {
+		int i;
+		const char *p = refname;
 
-	while (remaining) {
+		/* Find total no of '/' separated path-components */
+		for (i = 0; p[i]; p[i] == '/' ? i++ : *p++)
+			;
+		/*
+		 * The number of components we need to strip is now
+		 * the total minus the components to be left (Plus one
+		 * because we count the number of '/', but the number
+		 * of components is one more than the no of '/').
+		 */
+		remaining = i + len + 1;
+	}
+
+	while (remaining > 0) {
 		switch (*start++) {
 		case '\0':
-			die(_("ref '%s' does not have %ld components to :strip"),
-			    refname, nr);
+			return "";
 		case '/':
 			remaining--;
 			break;
 		}
 	}
+
 	return start;
 }
 
+static const char *rstrip_ref_components(const char *refname, int len)
+{
+	long remaining = len;
+	char *start = xstrdup(refname);
+
+	if (len < 0) {
+		int i;
+		const char *p = refname;
+
+		/* Find total no of '/' separated path-components */
+		for (i = 0; p[i]; p[i] == '/' ? i++ : *p++)
+			;
+		/*
+		 * The number of components we need to strip is now
+		 * the total minus the components to be left (Plus one
+		 * because we count the number of '/', but the number
+		 * of components is one more than the no of '/').
+		 */
+		remaining = i + len + 1;
+	}
+
+	while (remaining-- > 0) {
+		char *p = strrchr(start, '/');
+		if (p == NULL)
+			return "";
+		else
+			p[0] = '\0';
+	}
+	return start;
+}
+
+static const char *show_ref(struct refname_atom *atom, const char *refname)
+{
+	if (atom->option == R_SHORT)
+		return shorten_unambiguous_ref(refname, warn_ambiguous_refs);
+	else if (atom->option == R_LSTRIP)
+		return lstrip_ref_components(refname, atom->lstrip);
+	else if (atom->option == R_RSTRIP)
+		return rstrip_ref_components(refname, atom->rstrip);
+	else
+		return refname;
+}
+
 static void fill_remote_ref_details(struct used_atom *atom, const char *refname,
 				    struct branch *branch, const char **s)
 {
 	int num_ours, num_theirs;
-	if (atom->u.remote_ref == RR_SHORTEN)
-		*s = shorten_unambiguous_ref(refname, warn_ambiguous_refs);
-	else if (atom->u.remote_ref == RR_TRACK) {
+	if (atom->u.remote_ref.option == RR_REF)
+		*s = show_ref(&atom->u.remote_ref.refname, refname);
+	else if (atom->u.remote_ref.option == RR_TRACK) {
 		if (stat_tracking_info(branch, &num_ours,
-				       &num_theirs, NULL))
-			return;
-
-		if (!num_ours && !num_theirs)
+				       &num_theirs, NULL)) {
+			*s = xstrdup(msgs.gone);
+		} else if (!num_ours && !num_theirs)
 			*s = "";
 		else if (!num_ours)
-			*s = xstrfmt("[behind %d]", num_theirs);
+			*s = xstrfmt(msgs.behind, num_theirs);
 		else if (!num_theirs)
-			*s = xstrfmt("[ahead %d]", num_ours);
+			*s = xstrfmt(msgs.ahead, num_ours);
 		else
-			*s = xstrfmt("[ahead %d, behind %d]",
+			*s = xstrfmt(msgs.ahead_behind,
 				     num_ours, num_theirs);
-	} else if (atom->u.remote_ref == RR_TRACKSHORT) {
+		if (!atom->u.remote_ref.nobracket && *s[0]) {
+			const char *to_free = *s;
+			*s = xstrfmt("[%s]", *s);
+			free((void *)to_free);
+		}
+	} else if (atom->u.remote_ref.option == RR_TRACKSHORT) {
 		if (stat_tracking_info(branch, &num_ours,
 				       &num_theirs, NULL))
 			return;
@@ -923,8 +1232,56 @@
 			*s = ">";
 		else
 			*s = "<>";
-	} else /* RR_NORMAL */
-		*s = refname;
+	} else
+		die("BUG: unhandled RR_* enum");
+}
+
+char *get_head_description(void)
+{
+	struct strbuf desc = STRBUF_INIT;
+	struct wt_status_state state;
+	memset(&state, 0, sizeof(state));
+	wt_status_get_state(&state, 1);
+	if (state.rebase_in_progress ||
+	    state.rebase_interactive_in_progress)
+		strbuf_addf(&desc, _("(no branch, rebasing %s)"),
+			    state.branch);
+	else if (state.bisect_in_progress)
+		strbuf_addf(&desc, _("(no branch, bisect started on %s)"),
+			    state.branch);
+	else if (state.detached_from) {
+		if (state.detached_at)
+			/* TRANSLATORS: make sure this matches
+			   "HEAD detached at " in wt-status.c */
+			strbuf_addf(&desc, _("(HEAD detached at %s)"),
+				state.detached_from);
+		else
+			/* TRANSLATORS: make sure this matches
+			   "HEAD detached from " in wt-status.c */
+			strbuf_addf(&desc, _("(HEAD detached from %s)"),
+				state.detached_from);
+	}
+	else
+		strbuf_addstr(&desc, _("(no branch)"));
+	free(state.branch);
+	free(state.onto);
+	free(state.detached_from);
+	return strbuf_detach(&desc, NULL);
+}
+
+static const char *get_symref(struct used_atom *atom, struct ref_array_item *ref)
+{
+	if (!ref->symref)
+		return "";
+	else
+		return show_ref(&atom->u.refname, ref->symref);
+}
+
+static const char *get_refname(struct used_atom *atom, struct ref_array_item *ref)
+{
+	if (ref->kind & FILTER_REFS_DETACHED_HEAD)
+		return get_head_description();
+	return show_ref(&atom->u.refname, ref->refname);
 }
 
 /*
@@ -941,9 +1298,9 @@
 	ref->value = xcalloc(used_atom_cnt, sizeof(struct atom_value));
 
 	if (need_symref && (ref->flag & REF_ISSYMREF) && !ref->symref) {
-		unsigned char unused1[20];
+		struct object_id unused1;
 		ref->symref = resolve_refdup(ref->refname, RESOLVE_REF_READING,
-					     unused1, NULL);
+					     unused1.hash, NULL);
 		if (!ref->symref)
 			ref->symref = "";
 	}
@@ -955,10 +1312,10 @@
 		struct atom_value *v = &ref->value[i];
 		int deref = 0;
 		const char *refname;
-		const char *formatp;
 		struct branch *branch = NULL;
 
 		v->handler = append_atom;
+		v->atom = atom;
 
 		if (*name == '*') {
 			deref = 1;
@@ -966,9 +1323,9 @@
 		}
 
 		if (starts_with(name, "refname"))
-			refname = ref->refname;
+			refname = get_refname(atom, ref);
 		else if (starts_with(name, "symref"))
-			refname = ref->symref ? ref->symref : "";
+			refname = get_symref(atom, ref);
 		else if (starts_with(name, "upstream")) {
 			const char *branch_name;
 			/* only local branches may have an upstream */
@@ -1023,30 +1380,27 @@
 				v->s = " ";
 			continue;
 		} else if (starts_with(name, "align")) {
-			v->u.align = atom->u.align;
 			v->handler = align_atom_handler;
 			continue;
 		} else if (!strcmp(name, "end")) {
 			v->handler = end_atom_handler;
 			continue;
+		} else if (starts_with(name, "if")) {
+			const char *s;
+
+			if (skip_prefix(name, "if:", &s))
+				v->s = xstrdup(s);
+			v->handler = if_atom_handler;
+			continue;
+		} else if (!strcmp(name, "then")) {
+			v->handler = then_atom_handler;
+			continue;
+		} else if (!strcmp(name, "else")) {
+			v->handler = else_atom_handler;
+			continue;
 		} else
 			continue;
 
-		formatp = strchr(name, ':');
-		if (formatp) {
-			const char *arg;
-
-			formatp++;
-			if (!strcmp(formatp, "short"))
-				refname = shorten_unambiguous_ref(refname,
-						      warn_ambiguous_refs);
-			else if (skip_prefix(formatp, "strip=", &arg))
-				refname = strip_ref_components(refname, arg);
-			else
-				die(_("unknown %.*s format %s"),
-				    (int)(formatp - name), name, formatp);
-		}
-
 		if (!deref)
 			v->s = refname;
 		else
@@ -1117,10 +1471,23 @@
 	*v = &ref->value[atom];
 }
 
+/*
+ * Unknown has to be "0" here, because that's the default value for
+ * contains_cache slab entries that have not yet been assigned.
+ */
 enum contains_result {
-	CONTAINS_UNKNOWN = -1,
-	CONTAINS_NO = 0,
-	CONTAINS_YES = 1
+	CONTAINS_UNKNOWN = 0,
+	CONTAINS_NO,
+	CONTAINS_YES
+};
+
+define_commit_slab(contains_cache, enum contains_result);
+
+struct ref_filter_cbdata {
+	struct ref_array *array;
+	struct ref_filter *filter;
+	struct contains_cache contains_cache;
+	struct contains_cache no_contains_cache;
 };
 
 /*
@@ -1151,24 +1518,24 @@
  * Do not recurse to find out, though, but return -1 if inconclusive.
  */
 static enum contains_result contains_test(struct commit *candidate,
-			    const struct commit_list *want)
+					  const struct commit_list *want,
+					  struct contains_cache *cache)
 {
-	/* was it previously marked as containing a want commit? */
-	if (candidate->object.flags & TMP_MARK)
-		return 1;
-	/* or marked as not possibly containing a want commit? */
-	if (candidate->object.flags & UNINTERESTING)
-		return 0;
+	enum contains_result *cached = contains_cache_at(cache, candidate);
+
+	/* If we already have the answer cached, return that. */
+	if (*cached)
+		return *cached;
+
 	/* or are we it? */
 	if (in_commit_list(want, candidate)) {
-		candidate->object.flags |= TMP_MARK;
-		return 1;
+		*cached = CONTAINS_YES;
+		return CONTAINS_YES;
 	}
 
-	if (parse_commit(candidate) < 0)
-		return 0;
-
-	return -1;
+	/* Otherwise, we don't know; prepare to recurse */
+	parse_commit_or_die(candidate);
+	return CONTAINS_UNKNOWN;
 }
 
 static void push_to_contains_stack(struct commit *candidate, struct contains_stack *contains_stack)
@@ -1179,10 +1546,11 @@
 }
 
 static enum contains_result contains_tag_algo(struct commit *candidate,
-		const struct commit_list *want)
+					      const struct commit_list *want,
+					      struct contains_cache *cache)
 {
 	struct contains_stack contains_stack = { 0, 0, NULL };
-	int result = contains_test(candidate, want);
+	enum contains_result result = contains_test(candidate, want, cache);
 
 	if (result != CONTAINS_UNKNOWN)
 		return result;
@@ -1194,16 +1562,16 @@
 		struct commit_list *parents = entry->parents;
 
 		if (!parents) {
-			commit->object.flags |= UNINTERESTING;
+			*contains_cache_at(cache, commit) = CONTAINS_NO;
 			contains_stack.nr--;
 		}
 		/*
 		 * If we just popped the stack, parents->item has been marked,
-		 * therefore contains_test will return a meaningful 0 or 1.
+		 * therefore contains_test will return a meaningful yes/no.
 		 */
-		else switch (contains_test(parents->item, want)) {
+		else switch (contains_test(parents->item, want, cache)) {
 		case CONTAINS_YES:
-			commit->object.flags |= TMP_MARK;
+			*contains_cache_at(cache, commit) = CONTAINS_YES;
 			contains_stack.nr--;
 			break;
 		case CONTAINS_NO:
@@ -1215,14 +1583,15 @@
 		}
 	}
 	free(contains_stack.contains_stack);
-	return contains_test(candidate, want);
+	return contains_test(candidate, want, cache);
 }
 
-static int commit_contains(struct ref_filter *filter, struct commit *commit)
+static int commit_contains(struct ref_filter *filter, struct commit *commit,
+			   struct commit_list *list, struct contains_cache *cache)
 {
 	if (filter->with_commit_tag_algo)
-		return contains_tag_algo(commit, filter->with_commit);
-	return is_descendant_of(commit, filter->with_commit);
+		return contains_tag_algo(commit, list, cache) == CONTAINS_YES;
+	return is_descendant_of(commit, list);
 }
 
 /*
@@ -1231,8 +1600,14 @@
  * matches a pattern "refs/heads/mas") or a wildcard (e.g. the same ref
  * matches "refs/heads/mas*", too).
  */
-static int match_pattern(const char **patterns, const char *refname)
+static int match_pattern(const struct ref_filter *filter, const char *refname)
 {
+	const char **patterns = filter->name_patterns;
+	unsigned flags = 0;
+
+	if (filter->ignore_case)
+		flags |= WM_CASEFOLD;
+
 	/*
 	 * When no '--format' option is given we need to skip the prefix
 	 * for matching refs of tags and branches.
@@ -1243,7 +1618,7 @@
 	       skip_prefix(refname, "refs/", &refname));
 
 	for (; *patterns; patterns++) {
-		if (!wildmatch(*patterns, refname, 0, NULL))
+		if (!wildmatch(*patterns, refname, flags, NULL))
 			return 1;
 	}
 	return 0;
@@ -1255,9 +1630,15 @@
  * matches a pattern "refs/heads/" but not "refs/heads/m") or a
  * wildcard (e.g. the same ref matches "refs/heads/m*", too).
  */
-static int match_name_as_path(const char **pattern, const char *refname)
+static int match_name_as_path(const struct ref_filter *filter, const char *refname)
 {
+	const char **pattern = filter->name_patterns;
 	int namelen = strlen(refname);
+	unsigned flags = WM_PATHNAME;
+
+	if (filter->ignore_case)
+		flags |= WM_CASEFOLD;
+
 	for (; *pattern; pattern++) {
 		const char *p = *pattern;
 		int plen = strlen(p);
@@ -1280,8 +1661,8 @@
 	if (!*filter->name_patterns)
 		return 1; /* No pattern always matches */
 	if (filter->match_as_path)
-		return match_name_as_path(filter->name_patterns, refname);
-	return match_pattern(filter->name_patterns, refname);
+		return match_name_as_path(filter, refname);
+	return match_pattern(filter, refname);
 }
 
 /*
@@ -1297,22 +1678,22 @@
  * the need to parse the object via parse_object(). peel_ref() might be a
  * more efficient alternative to obtain the pointee.
  */
-static const unsigned char *match_points_at(struct sha1_array *points_at,
-					    const unsigned char *sha1,
-					    const char *refname)
+static const struct object_id *match_points_at(struct oid_array *points_at,
+					       const struct object_id *oid,
+					       const char *refname)
 {
-	const unsigned char *tagged_sha1 = NULL;
+	const struct object_id *tagged_oid = NULL;
 	struct object *obj;
 
-	if (sha1_array_lookup(points_at, sha1) >= 0)
-		return sha1;
-	obj = parse_object(sha1);
+	if (oid_array_lookup(points_at, oid) >= 0)
+		return oid;
+	obj = parse_object(oid->hash);
 	if (!obj)
 		die(_("malformed object at '%s'"), refname);
 	if (obj->type == OBJ_TAG)
-		tagged_sha1 = ((struct tag *)obj)->tagged->oid.hash;
-	if (tagged_sha1 && sha1_array_lookup(points_at, tagged_sha1) >= 0)
-		return tagged_sha1;
+		tagged_oid = &((struct tag *)obj)->tagged->oid;
+	if (tagged_oid && oid_array_lookup(points_at, tagged_oid) >= 0)
+		return tagged_oid;
 	return NULL;
 }
 
@@ -1329,7 +1710,7 @@
 	return ref;
 }
 
-static int filter_ref_kind(struct ref_filter *filter, const char *refname)
+static int ref_kind_from_refname(const char *refname)
 {
 	unsigned int i;
 
@@ -1342,11 +1723,7 @@
 		{ "refs/tags/", FILTER_REFS_TAGS}
 	};
 
-	if (filter->kind == FILTER_REFS_BRANCHES ||
-	    filter->kind == FILTER_REFS_REMOTES ||
-	    filter->kind == FILTER_REFS_TAGS)
-		return filter->kind;
-	else if (!strcmp(refname, "HEAD"))
+	if (!strcmp(refname, "HEAD"))
 		return FILTER_REFS_DETACHED_HEAD;
 
 	for (i = 0; i < ARRAY_SIZE(ref_kind); i++) {
@@ -1357,6 +1734,15 @@
 	return FILTER_REFS_OTHERS;
 }
 
+static int filter_ref_kind(struct ref_filter *filter, const char *refname)
+{
+	if (filter->kind == FILTER_REFS_BRANCHES ||
+	    filter->kind == FILTER_REFS_REMOTES ||
+	    filter->kind == FILTER_REFS_TAGS)
+		return filter->kind;
+	return ref_kind_from_refname(refname);
+}
+
 /*
  * A call-back given to for_each_ref().  Filter refs and keep them for
  * later object processing.
@@ -1387,7 +1773,7 @@
 	if (!filter_pattern_match(filter, refname))
 		return 0;
 
-	if (filter->points_at.nr && !match_points_at(&filter->points_at, oid->hash, refname))
+	if (filter->points_at.nr && !match_points_at(&filter->points_at, oid, refname))
 		return 0;
 
 	/*
@@ -1395,13 +1781,17 @@
 	 * obtain the commit using the 'oid' available and discard all
 	 * non-commits early. The actual filtering is done later.
 	 */
-	if (filter->merge_commit || filter->with_commit || filter->verbose) {
+	if (filter->merge_commit || filter->with_commit || filter->no_commit || filter->verbose) {
 		commit = lookup_commit_reference_gently(oid->hash, 1);
 		if (!commit)
 			return 0;
-		/* We perform the filtering for the '--contains' option */
+		/* We perform the filtering for the '--contains' option... */
 		if (filter->with_commit &&
-		    !commit_contains(filter, commit))
+		    !commit_contains(filter, commit, filter->with_commit, &ref_cbdata->contains_cache))
+			return 0;
+		/* ...or for the `--no-contains' option */
+		if (filter->no_commit &&
+		    commit_contains(filter, commit, filter->no_commit, &ref_cbdata->no_contains_cache))
 			return 0;
 	}
 
@@ -1501,6 +1891,9 @@
 		broken = 1;
 	filter->kind = type & FILTER_REFS_KIND_MASK;
 
+	init_contains_cache(&ref_cbdata.contains_cache);
+	init_contains_cache(&ref_cbdata.no_contains_cache);
+
 	/*  Simple per-ref filtering */
 	if (!filter->kind)
 		die("filter_refs: invalid type");
@@ -1523,6 +1916,8 @@
 			head_ref(ref_filter_handler, &ref_cbdata);
 	}
 
+	clear_contains_cache(&ref_cbdata.contains_cache);
+	clear_contains_cache(&ref_cbdata.no_contains_cache);
 
 	/*  Filters that need revision walking */
 	if (filter->merge_commit)
@@ -1536,18 +1931,20 @@
 	struct atom_value *va, *vb;
 	int cmp;
 	cmp_type cmp_type = used_atom[s->atom].type;
+	int (*cmp_fn)(const char *, const char *);
 
 	get_ref_atom_value(a, s->atom, &va);
 	get_ref_atom_value(b, s->atom, &vb);
+	cmp_fn = s->ignore_case ? strcasecmp : strcmp;
 	if (s->version)
 		cmp = versioncmp(va->s, vb->s);
 	else if (cmp_type == FIELD_STR)
-		cmp = strcmp(va->s, vb->s);
+		cmp = cmp_fn(va->s, vb->s);
 	else {
 		if (va->ul < vb->ul)
 			cmp = -1;
 		else if (va->ul == vb->ul)
-			cmp = strcmp(a->refname, b->refname);
+			cmp = cmp_fn(a->refname, b->refname);
 		else
 			cmp = 1;
 	}
@@ -1555,8 +1952,7 @@
 	return (s->reverse) ? -cmp : cmp;
 }
 
-static struct ref_sorting *ref_sorting;
-static int compare_refs(const void *a_, const void *b_)
+static int compare_refs(const void *a_, const void *b_, void *ref_sorting)
 {
 	struct ref_array_item *a = *((struct ref_array_item **)a_);
 	struct ref_array_item *b = *((struct ref_array_item **)b_);
@@ -1572,8 +1968,7 @@
 
 void ref_array_sort(struct ref_sorting *sorting, struct ref_array *array)
 {
-	ref_sorting = sorting;
-	QSORT(array->items, array->nr, compare_refs);
+	QSORT_S(array->items, array->nr, compare_refs, sorting);
 }
 
 static void append_literal(const char *cp, const char *ep, struct ref_formatting_state *state)
@@ -1598,10 +1993,10 @@
 	}
 }
 
-void show_ref_array_item(struct ref_array_item *info, const char *format, int quote_style)
+void format_ref_array_item(struct ref_array_item *info, const char *format,
+			   int quote_style, struct strbuf *final_buf)
 {
 	const char *cp, *sp, *ep;
-	struct strbuf *final_buf;
 	struct ref_formatting_state state = REF_FORMATTING_STATE_INIT;
 
 	state.quote_style = quote_style;
@@ -1631,12 +2026,30 @@
 	}
 	if (state.stack->prev)
 		die(_("format: %%(end) atom missing"));
-	final_buf = &state.stack->output;
-	fwrite(final_buf->buf, 1, final_buf->len, stdout);
+	strbuf_addbuf(final_buf, &state.stack->output);
 	pop_stack_element(&state.stack);
+}
+
+void show_ref_array_item(struct ref_array_item *info, const char *format, int quote_style)
+{
+	struct strbuf final_buf = STRBUF_INIT;
+
+	format_ref_array_item(info, format, quote_style, &final_buf);
+	fwrite(final_buf.buf, 1, final_buf.len, stdout);
+	strbuf_release(&final_buf);
 	putchar('\n');
 }
 
+void pretty_print_ref(const char *name, const unsigned char *sha1,
+		const char *format)
+{
+	struct ref_array_item *ref_item;
+	ref_item = new_ref_array_item(name, sha1, 0);
+	ref_item->kind = ref_kind_from_refname(name);
+	show_ref_array_item(ref_item, format, 0);
+	free_array_item(ref_item);
+}
+
 /*  If no sorting option is given, use refname to sort as default */
 struct ref_sorting *ref_default_sorting(void)
 {
@@ -1678,8 +2091,17 @@
 {
 	struct ref_filter *rf = opt->value;
 	unsigned char sha1[20];
+	int no_merged = starts_with(opt->long_name, "no");
 
-	rf->merge = starts_with(opt->long_name, "no")
+	if (rf->merge) {
+		if (no_merged) {
+			return opterror(opt, "is incompatible with --merged", 0);
+		} else {
+			return opterror(opt, "is incompatible with --no-merged", 0);
+		}
+	}
+
+	rf->merge = no_merged
 		? REF_FILTER_MERGED_OMIT
 		: REF_FILTER_MERGED_INCLUDE;
 
diff --git a/ref-filter.h b/ref-filter.h
index 14d435e..c20167a 100644
--- a/ref-filter.h
+++ b/ref-filter.h
@@ -29,6 +29,7 @@
 	struct ref_sorting *next;
 	int atom; /* index into used_atom array (internal) */
 	unsigned reverse : 1,
+		ignore_case : 1,
 		version : 1;
 };
 
@@ -50,8 +51,9 @@
 
 struct ref_filter {
 	const char **name_patterns;
-	struct sha1_array points_at;
+	struct oid_array points_at;
 	struct commit_list *with_commit;
+	struct commit_list *no_commit;
 
 	enum {
 		REF_FILTER_MERGED_NONE = 0,
@@ -62,6 +64,7 @@
 
 	unsigned int with_commit_tag_algo : 1,
 		match_as_path : 1,
+		ignore_case : 1,
 		detached : 1;
 	unsigned int kind,
 		lines;
@@ -69,11 +72,6 @@
 		verbose;
 };
 
-struct ref_filter_cbdata {
-	struct ref_array *array;
-	struct ref_filter *filter;
-};
-
 /*  Macros for checking --merged and --no-merged options */
 #define _OPT_MERGED_NO_MERGED(option, filter, h) \
 	{ OPTION_CALLBACK, 0, option, (filter), N_("commit"), (h), \
@@ -98,6 +96,9 @@
 int verify_ref_format(const char *format);
 /*  Sort the given ref_array as per the ref_sorting provided */
 void ref_array_sort(struct ref_sorting *sort, struct ref_array *array);
+/*  Based on the given format and quote_style, fill the strbuf */
+void format_ref_array_item(struct ref_array_item *info, const char *format,
+			   int quote_style, struct strbuf *final_buf);
 /*  Print the ref using the given format and quote_style */
 void show_ref_array_item(struct ref_array_item *info, const char *format, int quote_style);
 /*  Callback function for parsing the sort option */
@@ -106,5 +107,16 @@
 struct ref_sorting *ref_default_sorting(void);
 /*  Function to parse --merged and --no-merged options */
 int parse_opt_merge_filter(const struct option *opt, const char *arg, int unset);
+/*  Get the current HEAD's description */
+char *get_head_description(void);
+/*  Set up translated strings in the output. */
+void setup_ref_filter_porcelain_msg(void);
+
+/*
+ * Print a single ref, outside of any ref-filter. Note that the
+ * name must be a fully qualified refname.
+ */
+void pretty_print_ref(const char *name, const unsigned char *sha1,
+		const char *format);
 
 #endif /*  REF_FILTER_H  */
diff --git a/reflog-walk.c b/reflog-walk.c
index a246af2..99679f5 100644
--- a/reflog-walk.c
+++ b/reflog-walk.c
@@ -10,7 +10,7 @@
 	char *ref;
 	const char *short_ref;
 	struct reflog_info {
-		unsigned char osha1[20], nsha1[20];
+		struct object_id ooid, noid;
 		char *email;
 		unsigned long timestamp;
 		int tz;
@@ -19,7 +19,7 @@
 	int nr, alloc;
 };
 
-static int read_one_reflog(unsigned char *osha1, unsigned char *nsha1,
+static int read_one_reflog(struct object_id *ooid, struct object_id *noid,
 		const char *email, unsigned long timestamp, int tz,
 		const char *message, void *cb_data)
 {
@@ -28,8 +28,8 @@
 
 	ALLOC_GROW(array->items, array->nr + 1, array->alloc);
 	item = array->items + array->nr;
-	hashcpy(item->osha1, osha1);
-	hashcpy(item->nsha1, nsha1);
+	oidcpy(&item->ooid, ooid);
+	oidcpy(&item->noid, noid);
 	item->email = xstrdup(email);
 	item->timestamp = timestamp;
 	item->tz = tz;
@@ -45,11 +45,11 @@
 	reflogs->ref = xstrdup(ref);
 	for_each_reflog_ent(ref, read_one_reflog, reflogs);
 	if (reflogs->nr == 0) {
-		unsigned char sha1[20];
+		struct object_id oid;
 		const char *name;
 		void *name_to_free;
 		name = name_to_free = resolve_refdup(ref, RESOLVE_REF_READING,
-						     sha1, NULL);
+						     oid.hash, NULL);
 		if (name) {
 			for_each_reflog_ent(name, read_one_reflog, reflogs);
 			free(name_to_free);
@@ -172,18 +172,18 @@
 		reflogs = item->util;
 	else {
 		if (*branch == '\0') {
-			unsigned char sha1[20];
+			struct object_id oid;
 			free(branch);
-			branch = resolve_refdup("HEAD", 0, sha1, NULL);
+			branch = resolve_refdup("HEAD", 0, oid.hash, NULL);
 			if (!branch)
 				die ("No current branch");
 
 		}
 		reflogs = read_complete_reflog(branch);
 		if (!reflogs || reflogs->nr == 0) {
-			unsigned char sha1[20];
+			struct object_id oid;
 			char *b;
-			if (dwim_log(branch, strlen(branch), sha1, &b) == 1) {
+			if (dwim_log(branch, strlen(branch), oid.hash, &b) == 1) {
 				if (reflogs) {
 					free(reflogs->ref);
 					free(reflogs);
@@ -238,13 +238,13 @@
 	do {
 		reflog = &commit_reflog->reflogs->items[commit_reflog->recno];
 		commit_reflog->recno--;
-		logobj = parse_object(reflog->osha1);
+		logobj = parse_object(reflog->ooid.hash);
 	} while (commit_reflog->recno && (logobj && logobj->type != OBJ_COMMIT));
 
-	if (!logobj && commit_reflog->recno >= 0 && is_null_sha1(reflog->osha1)) {
+	if (!logobj && commit_reflog->recno >= 0 && is_null_sha1(reflog->ooid.hash)) {
 		/* a root commit, but there are still more entries to show */
 		reflog = &commit_reflog->reflogs->items[commit_reflog->recno];
-		logobj = parse_object(reflog->nsha1);
+		logobj = parse_object(reflog->noid.hash);
 	}
 
 	if (!logobj || logobj->type != OBJ_COMMIT) {
diff --git a/refs.c b/refs.c
index 9bd0bc1..d1e1b43 100644
--- a/refs.c
+++ b/refs.c
@@ -3,11 +3,13 @@
  */
 
 #include "cache.h"
+#include "hashmap.h"
 #include "lockfile.h"
 #include "refs.h"
 #include "refs/refs-internal.h"
 #include "object.h"
 #include "tag.h"
+#include "submodule.h"
 
 /*
  * List of all available backends
@@ -169,11 +171,23 @@
 	return 1;
 }
 
+char *refs_resolve_refdup(struct ref_store *refs,
+			  const char *refname, int resolve_flags,
+			  unsigned char *sha1, int *flags)
+{
+	const char *result;
+
+	result = refs_resolve_ref_unsafe(refs, refname, resolve_flags,
+					 sha1, flags);
+	return xstrdup_or_null(result);
+}
+
 char *resolve_refdup(const char *refname, int resolve_flags,
 		     unsigned char *sha1, int *flags)
 {
-	return xstrdup_or_null(resolve_ref_unsafe(refname, resolve_flags,
-						  sha1, flags));
+	return refs_resolve_refdup(get_main_ref_store(),
+				   refname, resolve_flags,
+				   sha1, flags);
 }
 
 /* The argument to filter_refs */
@@ -183,13 +197,20 @@
 	void *cb_data;
 };
 
-int read_ref_full(const char *refname, int resolve_flags, unsigned char *sha1, int *flags)
+int refs_read_ref_full(struct ref_store *refs, const char *refname,
+		       int resolve_flags, unsigned char *sha1, int *flags)
 {
-	if (resolve_ref_unsafe(refname, resolve_flags, sha1, flags))
+	if (refs_resolve_ref_unsafe(refs, refname, resolve_flags, sha1, flags))
 		return 0;
 	return -1;
 }
 
+int read_ref_full(const char *refname, int resolve_flags, unsigned char *sha1, int *flags)
+{
+	return refs_read_ref_full(get_main_ref_store(), refname,
+				  resolve_flags, sha1, flags);
+}
+
 int read_ref(const char *refname, unsigned char *sha1)
 {
 	return read_ref_full(refname, RESOLVE_REF_READING, sha1, NULL);
@@ -284,34 +305,52 @@
 	for_each_rawref(warn_if_dangling_symref, &data);
 }
 
+int refs_for_each_tag_ref(struct ref_store *refs, each_ref_fn fn, void *cb_data)
+{
+	return refs_for_each_ref_in(refs, "refs/tags/", fn, cb_data);
+}
+
 int for_each_tag_ref(each_ref_fn fn, void *cb_data)
 {
-	return for_each_ref_in("refs/tags/", fn, cb_data);
+	return refs_for_each_tag_ref(get_main_ref_store(), fn, cb_data);
 }
 
 int for_each_tag_ref_submodule(const char *submodule, each_ref_fn fn, void *cb_data)
 {
-	return for_each_ref_in_submodule(submodule, "refs/tags/", fn, cb_data);
+	return refs_for_each_tag_ref(get_submodule_ref_store(submodule),
+				     fn, cb_data);
+}
+
+int refs_for_each_branch_ref(struct ref_store *refs, each_ref_fn fn, void *cb_data)
+{
+	return refs_for_each_ref_in(refs, "refs/heads/", fn, cb_data);
 }
 
 int for_each_branch_ref(each_ref_fn fn, void *cb_data)
 {
-	return for_each_ref_in("refs/heads/", fn, cb_data);
+	return refs_for_each_branch_ref(get_main_ref_store(), fn, cb_data);
 }
 
 int for_each_branch_ref_submodule(const char *submodule, each_ref_fn fn, void *cb_data)
 {
-	return for_each_ref_in_submodule(submodule, "refs/heads/", fn, cb_data);
+	return refs_for_each_branch_ref(get_submodule_ref_store(submodule),
+					fn, cb_data);
+}
+
+int refs_for_each_remote_ref(struct ref_store *refs, each_ref_fn fn, void *cb_data)
+{
+	return refs_for_each_ref_in(refs, "refs/remotes/", fn, cb_data);
 }
 
 int for_each_remote_ref(each_ref_fn fn, void *cb_data)
 {
-	return for_each_ref_in("refs/remotes/", fn, cb_data);
+	return refs_for_each_remote_ref(get_main_ref_store(), fn, cb_data);
 }
 
 int for_each_remote_ref_submodule(const char *submodule, each_ref_fn fn, void *cb_data)
 {
-	return for_each_ref_in_submodule(submodule, "refs/remotes/", fn, cb_data);
+	return refs_for_each_remote_ref(get_submodule_ref_store(submodule),
+					fn, cb_data);
 }
 
 int head_ref_namespaced(each_ref_fn fn, void *cb_data)
@@ -365,11 +404,11 @@
 
 const char *prettify_refname(const char *name)
 {
-	return name + (
-		starts_with(name, "refs/heads/") ? 11 :
-		starts_with(name, "refs/tags/") ? 10 :
-		starts_with(name, "refs/remotes/") ? 13 :
-		0);
+	if (skip_prefix(name, "refs/heads/", &name) ||
+	    skip_prefix(name, "refs/tags/", &name) ||
+	    skip_prefix(name, "refs/remotes/", &name))
+		; /* nothing */
+	return name;
 }
 
 static const char *ref_rev_parse_rules[] = {
@@ -404,7 +443,7 @@
 static char *substitute_branch_name(const char **string, int *len)
 {
 	struct strbuf buf = STRBUF_INIT;
-	int ret = interpret_branch_name(*string, *len, &buf);
+	int ret = interpret_branch_name(*string, *len, &buf, 0);
 
 	if (ret == *len) {
 		size_t size;
@@ -428,29 +467,31 @@
 {
 	const char **p, *r;
 	int refs_found = 0;
+	struct strbuf fullref = STRBUF_INIT;
 
 	*ref = NULL;
 	for (p = ref_rev_parse_rules; *p; p++) {
-		char fullref[PATH_MAX];
 		unsigned char sha1_from_ref[20];
 		unsigned char *this_result;
 		int flag;
 
 		this_result = refs_found ? sha1_from_ref : sha1;
-		mksnpath(fullref, sizeof(fullref), *p, len, str);
-		r = resolve_ref_unsafe(fullref, RESOLVE_REF_READING,
+		strbuf_reset(&fullref);
+		strbuf_addf(&fullref, *p, len, str);
+		r = resolve_ref_unsafe(fullref.buf, RESOLVE_REF_READING,
 				       this_result, &flag);
 		if (r) {
 			if (!refs_found++)
 				*ref = xstrdup(r);
 			if (!warn_ambiguous_refs)
 				break;
-		} else if ((flag & REF_ISSYMREF) && strcmp(fullref, "HEAD")) {
-			warning("ignoring dangling symref %s.", fullref);
-		} else if ((flag & REF_ISBROKEN) && strchr(fullref, '/')) {
-			warning("ignoring broken ref %s.", fullref);
+		} else if ((flag & REF_ISSYMREF) && strcmp(fullref.buf, "HEAD")) {
+			warning("ignoring dangling symref %s.", fullref.buf);
+		} else if ((flag & REF_ISBROKEN) && strchr(fullref.buf, '/')) {
+			warning("ignoring broken ref %s.", fullref.buf);
 		}
 	}
+	strbuf_release(&fullref);
 	return refs_found;
 }
 
@@ -459,21 +500,22 @@
 	char *last_branch = substitute_branch_name(&str, &len);
 	const char **p;
 	int logs_found = 0;
+	struct strbuf path = STRBUF_INIT;
 
 	*log = NULL;
 	for (p = ref_rev_parse_rules; *p; p++) {
 		unsigned char hash[20];
-		char path[PATH_MAX];
 		const char *ref, *it;
 
-		mksnpath(path, sizeof(path), *p, len, str);
-		ref = resolve_ref_unsafe(path, RESOLVE_REF_READING,
+		strbuf_reset(&path);
+		strbuf_addf(&path, *p, len, str);
+		ref = resolve_ref_unsafe(path.buf, RESOLVE_REF_READING,
 					 hash, NULL);
 		if (!ref)
 			continue;
-		if (reflog_exists(path))
-			it = path;
-		else if (strcmp(ref, path) && reflog_exists(ref))
+		if (reflog_exists(path.buf))
+			it = path.buf;
+		else if (strcmp(ref, path.buf) && reflog_exists(ref))
 			it = ref;
 		else
 			continue;
@@ -484,6 +526,7 @@
 		if (!warn_ambiguous_refs)
 			break;
 	}
+	strbuf_release(&path);
 	free(last_branch);
 	return logs_found;
 }
@@ -591,19 +634,23 @@
 	return 0;
 }
 
-int delete_ref(const char *refname, const unsigned char *old_sha1,
-	       unsigned int flags)
+int refs_delete_ref(struct ref_store *refs, const char *msg,
+		    const char *refname,
+		    const unsigned char *old_sha1,
+		    unsigned int flags)
 {
 	struct ref_transaction *transaction;
 	struct strbuf err = STRBUF_INIT;
 
-	if (ref_type(refname) == REF_TYPE_PSEUDOREF)
+	if (ref_type(refname) == REF_TYPE_PSEUDOREF) {
+		assert(refs == get_main_ref_store());
 		return delete_pseudoref(refname, old_sha1);
+	}
 
-	transaction = ref_transaction_begin(&err);
+	transaction = ref_store_transaction_begin(refs, &err);
 	if (!transaction ||
 	    ref_transaction_delete(transaction, refname, old_sha1,
-				   flags, NULL, &err) ||
+				   flags, msg, &err) ||
 	    ref_transaction_commit(transaction, &err)) {
 		error("%s", err.buf);
 		ref_transaction_free(transaction);
@@ -615,6 +662,13 @@
 	return 0;
 }
 
+int delete_ref(const char *msg, const char *refname,
+	       const unsigned char *old_sha1, unsigned int flags)
+{
+	return refs_delete_ref(get_main_ref_store(), msg, refname,
+			       old_sha1, flags);
+}
+
 int copy_reflog_msg(char *buf, const char *msg)
 {
 	char *cp = buf;
@@ -638,12 +692,17 @@
 
 int should_autocreate_reflog(const char *refname)
 {
-	if (!log_all_ref_updates)
+	switch (log_all_ref_updates) {
+	case LOG_REFS_ALWAYS:
+		return 1;
+	case LOG_REFS_NORMAL:
+		return starts_with(refname, "refs/heads/") ||
+			starts_with(refname, "refs/remotes/") ||
+			starts_with(refname, "refs/notes/") ||
+			!strcmp(refname, "HEAD");
+	default:
 		return 0;
-	return starts_with(refname, "refs/heads/") ||
-		starts_with(refname, "refs/remotes/") ||
-		starts_with(refname, "refs/notes/") ||
-		!strcmp(refname, "HEAD");
+	}
 }
 
 int is_branch(const char *refname)
@@ -669,7 +728,7 @@
 	int *cutoff_cnt;
 };
 
-static int read_ref_at_ent(unsigned char *osha1, unsigned char *nsha1,
+static int read_ref_at_ent(struct object_id *ooid, struct object_id *noid,
 		const char *email, unsigned long timestamp, int tz,
 		const char *message, void *cb_data)
 {
@@ -693,30 +752,30 @@
 		 * hold the values for the previous record.
 		 */
 		if (!is_null_sha1(cb->osha1)) {
-			hashcpy(cb->sha1, nsha1);
-			if (hashcmp(cb->osha1, nsha1))
+			hashcpy(cb->sha1, noid->hash);
+			if (hashcmp(cb->osha1, noid->hash))
 				warning("Log for ref %s has gap after %s.",
 					cb->refname, show_date(cb->date, cb->tz, DATE_MODE(RFC2822)));
 		}
 		else if (cb->date == cb->at_time)
-			hashcpy(cb->sha1, nsha1);
-		else if (hashcmp(nsha1, cb->sha1))
+			hashcpy(cb->sha1, noid->hash);
+		else if (hashcmp(noid->hash, cb->sha1))
 			warning("Log for ref %s unexpectedly ended on %s.",
 				cb->refname, show_date(cb->date, cb->tz,
 						       DATE_MODE(RFC2822)));
-		hashcpy(cb->osha1, osha1);
-		hashcpy(cb->nsha1, nsha1);
+		hashcpy(cb->osha1, ooid->hash);
+		hashcpy(cb->nsha1, noid->hash);
 		cb->found_it = 1;
 		return 1;
 	}
-	hashcpy(cb->osha1, osha1);
-	hashcpy(cb->nsha1, nsha1);
+	hashcpy(cb->osha1, ooid->hash);
+	hashcpy(cb->nsha1, noid->hash);
 	if (cb->cnt > 0)
 		cb->cnt--;
 	return 0;
 }
 
-static int read_ref_at_ent_oldest(unsigned char *osha1, unsigned char *nsha1,
+static int read_ref_at_ent_oldest(struct object_id *ooid, struct object_id *noid,
 				  const char *email, unsigned long timestamp,
 				  int tz, const char *message, void *cb_data)
 {
@@ -730,9 +789,9 @@
 		*cb->cutoff_tz = tz;
 	if (cb->cutoff_cnt)
 		*cb->cutoff_cnt = cb->reccnt;
-	hashcpy(cb->sha1, osha1);
+	hashcpy(cb->sha1, ooid->hash);
 	if (is_null_sha1(cb->sha1))
-		hashcpy(cb->sha1, nsha1);
+		hashcpy(cb->sha1, noid->hash);
 	/* We just want the first entry */
 	return 1;
 }
@@ -769,11 +828,20 @@
 	return 1;
 }
 
-struct ref_transaction *ref_transaction_begin(struct strbuf *err)
+struct ref_transaction *ref_store_transaction_begin(struct ref_store *refs,
+						    struct strbuf *err)
 {
+	struct ref_transaction *tr;
 	assert(err);
 
-	return xcalloc(1, sizeof(struct ref_transaction));
+	tr = xcalloc(1, sizeof(struct ref_transaction));
+	tr->ref_store = refs;
+	return tr;
+}
+
+struct ref_transaction *ref_transaction_begin(struct strbuf *err)
+{
+	return ref_store_transaction_begin(get_main_ref_store(), err);
 }
 
 void ref_transaction_free(struct ref_transaction *transaction)
@@ -890,18 +958,20 @@
 		old_oid ? old_oid->hash : NULL, flags, onerr);
 }
 
-int update_ref(const char *msg, const char *refname,
-	       const unsigned char *new_sha1, const unsigned char *old_sha1,
-	       unsigned int flags, enum action_on_err onerr)
+int refs_update_ref(struct ref_store *refs, const char *msg,
+		    const char *refname, const unsigned char *new_sha1,
+		    const unsigned char *old_sha1, unsigned int flags,
+		    enum action_on_err onerr)
 {
 	struct ref_transaction *t = NULL;
 	struct strbuf err = STRBUF_INIT;
 	int ret = 0;
 
 	if (ref_type(refname) == REF_TYPE_PSEUDOREF) {
+		assert(refs == get_main_ref_store());
 		ret = write_pseudoref(refname, new_sha1, old_sha1, &err);
 	} else {
-		t = ref_transaction_begin(&err);
+		t = ref_store_transaction_begin(refs, &err);
 		if (!t ||
 		    ref_transaction_update(t, refname, new_sha1, old_sha1,
 					   flags, msg, &err) ||
@@ -932,12 +1002,22 @@
 	return 0;
 }
 
+int update_ref(const char *msg, const char *refname,
+	       const unsigned char *new_sha1,
+	       const unsigned char *old_sha1,
+	       unsigned int flags, enum action_on_err onerr)
+{
+	return refs_update_ref(get_main_ref_store(), msg, refname, new_sha1,
+			       old_sha1, flags, onerr);
+}
+
 char *shorten_unambiguous_ref(const char *refname, int strict)
 {
 	int i;
 	static char **scanf_fmts;
 	static int nr_rules;
 	char *short_name;
+	struct strbuf resolved_buf = STRBUF_INIT;
 
 	if (!nr_rules) {
 		/*
@@ -996,7 +1076,6 @@
 		 */
 		for (j = 0; j < rules_to_fail; j++) {
 			const char *rule = ref_rev_parse_rules[j];
-			char refname[PATH_MAX];
 
 			/* skip matched rule */
 			if (i == j)
@@ -1007,9 +1086,10 @@
 			 * (with this previous rule) to a valid ref
 			 * read_ref() returns 0 on success
 			 */
-			mksnpath(refname, sizeof(refname),
-				 rule, short_name_len, short_name);
-			if (ref_exists(refname))
+			strbuf_reset(&resolved_buf);
+			strbuf_addf(&resolved_buf, rule,
+				    short_name_len, short_name);
+			if (ref_exists(resolved_buf.buf))
 				break;
 		}
 
@@ -1017,10 +1097,13 @@
 		 * short name is non-ambiguous if all previous rules
 		 * haven't resolved to a valid ref
 		 */
-		if (j == rules_to_fail)
+		if (j == rules_to_fail) {
+			strbuf_release(&resolved_buf);
 			return short_name;
+		}
 	}
 
+	strbuf_release(&resolved_buf);
 	free(short_name);
 	return xstrdup(refname);
 }
@@ -1029,10 +1112,10 @@
 
 int parse_hide_refs_config(const char *var, const char *value, const char *section)
 {
+	const char *key;
 	if (!strcmp("transfer.hiderefs", var) ||
-	    /* NEEDSWORK: use parse_config_key() once both are merged */
-	    (starts_with(var, section) && var[strlen(section)] == '.' &&
-	     !strcmp(var + strlen(section), ".hiderefs"))) {
+	    (!parse_config_key(var, section, NULL, NULL, &key) &&
+	     !strcmp(key, "hiderefs"))) {
 		char *ref;
 		int len;
 
@@ -1113,14 +1196,17 @@
 	return NULL;
 }
 
-int rename_ref_available(const char *old_refname, const char *new_refname)
+int refs_rename_ref_available(struct ref_store *refs,
+			      const char *old_refname,
+			      const char *new_refname)
 {
 	struct string_list skip = STRING_LIST_INIT_NODUP;
 	struct strbuf err = STRBUF_INIT;
 	int ok;
 
 	string_list_insert(&skip, old_refname);
-	ok = !verify_refname_available(new_refname, NULL, &skip, &err);
+	ok = !refs_verify_refname_available(refs, new_refname,
+					    NULL, &skip, &err);
 	if (!ok)
 		error("%s", err.buf);
 
@@ -1161,10 +1247,9 @@
  * non-zero value, stop the iteration and return that value;
  * otherwise, return 0.
  */
-static int do_for_each_ref(const char *submodule, const char *prefix,
+static int do_for_each_ref(struct ref_store *refs, const char *prefix,
 			   each_ref_fn fn, int trim, int flags, void *cb_data)
 {
-	struct ref_store *refs = get_ref_store(submodule);
 	struct ref_iterator *iter;
 
 	if (!refs)
@@ -1176,19 +1261,30 @@
 	return do_for_each_ref_iterator(iter, fn, cb_data);
 }
 
+int refs_for_each_ref(struct ref_store *refs, each_ref_fn fn, void *cb_data)
+{
+	return do_for_each_ref(refs, "", fn, 0, 0, cb_data);
+}
+
 int for_each_ref(each_ref_fn fn, void *cb_data)
 {
-	return do_for_each_ref(NULL, "", fn, 0, 0, cb_data);
+	return refs_for_each_ref(get_main_ref_store(), fn, cb_data);
 }
 
 int for_each_ref_submodule(const char *submodule, each_ref_fn fn, void *cb_data)
 {
-	return do_for_each_ref(submodule, "", fn, 0, 0, cb_data);
+	return refs_for_each_ref(get_submodule_ref_store(submodule), fn, cb_data);
+}
+
+int refs_for_each_ref_in(struct ref_store *refs, const char *prefix,
+			 each_ref_fn fn, void *cb_data)
+{
+	return do_for_each_ref(refs, prefix, fn, strlen(prefix), 0, cb_data);
 }
 
 int for_each_ref_in(const char *prefix, each_ref_fn fn, void *cb_data)
 {
-	return do_for_each_ref(NULL, prefix, fn, strlen(prefix), 0, cb_data);
+	return refs_for_each_ref_in(get_main_ref_store(), prefix, fn, cb_data);
 }
 
 int for_each_fullref_in(const char *prefix, each_ref_fn fn, void *cb_data, unsigned int broken)
@@ -1197,19 +1293,23 @@
 
 	if (broken)
 		flag = DO_FOR_EACH_INCLUDE_BROKEN;
-	return do_for_each_ref(NULL, prefix, fn, 0, flag, cb_data);
+	return do_for_each_ref(get_main_ref_store(),
+			       prefix, fn, 0, flag, cb_data);
 }
 
 int for_each_ref_in_submodule(const char *submodule, const char *prefix,
-		each_ref_fn fn, void *cb_data)
+			      each_ref_fn fn, void *cb_data)
 {
-	return do_for_each_ref(submodule, prefix, fn, strlen(prefix), 0, cb_data);
+	return refs_for_each_ref_in(get_submodule_ref_store(submodule),
+				    prefix, fn, cb_data);
 }
 
 int for_each_replace_ref(each_ref_fn fn, void *cb_data)
 {
-	return do_for_each_ref(NULL, git_replace_ref_base, fn,
-			       strlen(git_replace_ref_base), 0, cb_data);
+	return do_for_each_ref(get_main_ref_store(),
+			       git_replace_ref_base, fn,
+			       strlen(git_replace_ref_base),
+			       0, cb_data);
 }
 
 int for_each_namespaced_ref(each_ref_fn fn, void *cb_data)
@@ -1217,22 +1317,28 @@
 	struct strbuf buf = STRBUF_INIT;
 	int ret;
 	strbuf_addf(&buf, "%srefs/", get_git_namespace());
-	ret = do_for_each_ref(NULL, buf.buf, fn, 0, 0, cb_data);
+	ret = do_for_each_ref(get_main_ref_store(),
+			      buf.buf, fn, 0, 0, cb_data);
 	strbuf_release(&buf);
 	return ret;
 }
 
-int for_each_rawref(each_ref_fn fn, void *cb_data)
+int refs_for_each_rawref(struct ref_store *refs, each_ref_fn fn, void *cb_data)
 {
-	return do_for_each_ref(NULL, "", fn, 0,
+	return do_for_each_ref(refs, "", fn, 0,
 			       DO_FOR_EACH_INCLUDE_BROKEN, cb_data);
 }
 
+int for_each_rawref(each_ref_fn fn, void *cb_data)
+{
+	return refs_for_each_rawref(get_main_ref_store(), fn, cb_data);
+}
+
 /* This function needs to return a meaningful errno on failure */
-static const char *resolve_ref_recursively(struct ref_store *refs,
-					   const char *refname,
-					   int resolve_flags,
-					   unsigned char *sha1, int *flags)
+const char *refs_resolve_ref_unsafe(struct ref_store *refs,
+				    const char *refname,
+				    int resolve_flags,
+				    unsigned char *sha1, int *flags)
 {
 	static struct strbuf sb_refname = STRBUF_INIT;
 	int unused_flags;
@@ -1308,7 +1414,7 @@
 /* backend functions */
 int refs_init_db(struct strbuf *err)
 {
-	struct ref_store *refs = get_ref_store(NULL);
+	struct ref_store *refs = get_main_ref_store();
 
 	return refs->be->init_db(refs, err);
 }
@@ -1316,7 +1422,7 @@
 const char *resolve_ref_unsafe(const char *refname, int resolve_flags,
 			       unsigned char *sha1, int *flags)
 {
-	return resolve_ref_recursively(get_ref_store(NULL), refname,
+	return refs_resolve_ref_unsafe(get_main_ref_store(), refname,
 				       resolve_flags, sha1, flags);
 }
 
@@ -1337,155 +1443,220 @@
 		/* We need to strip off one or more trailing slashes */
 		char *stripped = xmemdupz(submodule, len);
 
-		refs = get_ref_store(stripped);
+		refs = get_submodule_ref_store(stripped);
 		free(stripped);
 	} else {
-		refs = get_ref_store(submodule);
+		refs = get_submodule_ref_store(submodule);
 	}
 
 	if (!refs)
 		return -1;
 
-	if (!resolve_ref_recursively(refs, refname, 0, sha1, &flags) ||
+	if (!refs_resolve_ref_unsafe(refs, refname, 0, sha1, &flags) ||
 	    is_null_sha1(sha1))
 		return -1;
 	return 0;
 }
 
+struct submodule_hash_entry
+{
+	struct hashmap_entry ent; /* must be the first member! */
+
+	struct ref_store *refs;
+
+	/* NUL-terminated name of submodule: */
+	char submodule[FLEX_ARRAY];
+};
+
+static int submodule_hash_cmp(const void *entry, const void *entry_or_key,
+			      const void *keydata)
+{
+	const struct submodule_hash_entry *e1 = entry, *e2 = entry_or_key;
+	const char *submodule = keydata ? keydata : e2->submodule;
+
+	return strcmp(e1->submodule, submodule);
+}
+
+static struct submodule_hash_entry *alloc_submodule_hash_entry(
+		const char *submodule, struct ref_store *refs)
+{
+	struct submodule_hash_entry *entry;
+
+	FLEX_ALLOC_STR(entry, submodule, submodule);
+	hashmap_entry_init(entry, strhash(submodule));
+	entry->refs = refs;
+	return entry;
+}
+
 /* A pointer to the ref_store for the main repository: */
 static struct ref_store *main_ref_store;
 
-/* A linked list of ref_stores for submodules: */
-static struct ref_store *submodule_ref_stores;
+/* A hashmap of ref_stores, stored by submodule name: */
+static struct hashmap submodule_ref_stores;
 
-void base_ref_store_init(struct ref_store *refs,
-			 const struct ref_storage_be *be,
-			 const char *submodule)
+/*
+ * Return the ref_store instance for the specified submodule. If that
+ * ref_store hasn't been initialized yet, return NULL.
+ */
+static struct ref_store *lookup_submodule_ref_store(const char *submodule)
 {
-	refs->be = be;
-	if (!submodule) {
-		if (main_ref_store)
-			die("BUG: main_ref_store initialized twice");
+	struct submodule_hash_entry *entry;
 
-		refs->submodule = "";
-		refs->next = NULL;
-		main_ref_store = refs;
-	} else {
-		if (lookup_ref_store(submodule))
-			die("BUG: ref_store for submodule '%s' initialized twice",
-			    submodule);
+	if (!submodule_ref_stores.tablesize)
+		/* It's initialized on demand in register_ref_store(). */
+		return NULL;
 
-		refs->submodule = xstrdup(submodule);
-		refs->next = submodule_ref_stores;
-		submodule_ref_stores = refs;
-	}
+	entry = hashmap_get_from_hash(&submodule_ref_stores,
+				      strhash(submodule), submodule);
+	return entry ? entry->refs : NULL;
 }
 
-struct ref_store *ref_store_init(const char *submodule)
+/*
+ * Create, record, and return a ref_store instance for the specified
+ * gitdir.
+ */
+static struct ref_store *ref_store_init(const char *gitdir,
+					unsigned int flags)
 {
 	const char *be_name = "files";
 	struct ref_storage_be *be = find_ref_storage_backend(be_name);
+	struct ref_store *refs;
 
 	if (!be)
 		die("BUG: reference backend %s is unknown", be_name);
 
-	if (!submodule || !*submodule)
-		return be->init(NULL);
-	else
-		return be->init(submodule);
-}
-
-struct ref_store *lookup_ref_store(const char *submodule)
-{
-	struct ref_store *refs;
-
-	if (!submodule || !*submodule)
-		return main_ref_store;
-
-	for (refs = submodule_ref_stores; refs; refs = refs->next) {
-		if (!strcmp(submodule, refs->submodule))
-			return refs;
-	}
-
-	return NULL;
-}
-
-struct ref_store *get_ref_store(const char *submodule)
-{
-	struct ref_store *refs;
-
-	if (!submodule || !*submodule) {
-		refs = lookup_ref_store(NULL);
-
-		if (!refs)
-			refs = ref_store_init(NULL);
-	} else {
-		refs = lookup_ref_store(submodule);
-
-		if (!refs) {
-			struct strbuf submodule_sb = STRBUF_INIT;
-
-			strbuf_addstr(&submodule_sb, submodule);
-			if (is_nonbare_repository_dir(&submodule_sb))
-				refs = ref_store_init(submodule);
-			strbuf_release(&submodule_sb);
-		}
-	}
-
+	refs = be->init(gitdir, flags);
 	return refs;
 }
 
-void assert_main_repository(struct ref_store *refs, const char *caller)
+struct ref_store *get_main_ref_store(void)
 {
-	if (*refs->submodule)
-		die("BUG: %s called for a submodule", caller);
+	if (main_ref_store)
+		return main_ref_store;
+
+	main_ref_store = ref_store_init(get_git_dir(),
+					(REF_STORE_READ |
+					 REF_STORE_WRITE |
+					 REF_STORE_ODB |
+					 REF_STORE_MAIN));
+	return main_ref_store;
+}
+
+/*
+ * Register the specified ref_store to be the one that should be used
+ * for submodule. It is a fatal error to call this function twice for
+ * the same submodule.
+ */
+static void register_submodule_ref_store(struct ref_store *refs,
+					 const char *submodule)
+{
+	if (!submodule_ref_stores.tablesize)
+		hashmap_init(&submodule_ref_stores, submodule_hash_cmp, 0);
+
+	if (hashmap_put(&submodule_ref_stores,
+			alloc_submodule_hash_entry(submodule, refs)))
+		die("BUG: ref_store for submodule '%s' initialized twice",
+		    submodule);
+}
+
+struct ref_store *get_submodule_ref_store(const char *submodule)
+{
+	struct strbuf submodule_sb = STRBUF_INIT;
+	struct ref_store *refs;
+	int ret;
+
+	if (!submodule || !*submodule) {
+		/*
+		 * FIXME: This case is ideally not allowed. But that
+		 * can't happen until we clean up all the callers.
+		 */
+		return get_main_ref_store();
+	}
+
+	refs = lookup_submodule_ref_store(submodule);
+	if (refs)
+		return refs;
+
+	strbuf_addstr(&submodule_sb, submodule);
+	ret = is_nonbare_repository_dir(&submodule_sb);
+	strbuf_release(&submodule_sb);
+	if (!ret)
+		return NULL;
+
+	ret = submodule_to_gitdir(&submodule_sb, submodule);
+	if (ret) {
+		strbuf_release(&submodule_sb);
+		return NULL;
+	}
+
+	/* assume that add_submodule_odb() has been called */
+	refs = ref_store_init(submodule_sb.buf,
+			      REF_STORE_READ | REF_STORE_ODB);
+	register_submodule_ref_store(refs, submodule);
+
+	strbuf_release(&submodule_sb);
+	return refs;
+}
+
+void base_ref_store_init(struct ref_store *refs,
+			 const struct ref_storage_be *be)
+{
+	refs->be = be;
 }
 
 /* backend functions */
-int pack_refs(unsigned int flags)
+int refs_pack_refs(struct ref_store *refs, unsigned int flags)
 {
-	struct ref_store *refs = get_ref_store(NULL);
-
 	return refs->be->pack_refs(refs, flags);
 }
 
+int refs_peel_ref(struct ref_store *refs, const char *refname,
+		  unsigned char *sha1)
+{
+	return refs->be->peel_ref(refs, refname, sha1);
+}
+
 int peel_ref(const char *refname, unsigned char *sha1)
 {
-	struct ref_store *refs = get_ref_store(NULL);
+	return refs_peel_ref(get_main_ref_store(), refname, sha1);
+}
 
-	return refs->be->peel_ref(refs, refname, sha1);
+int refs_create_symref(struct ref_store *refs,
+		       const char *ref_target,
+		       const char *refs_heads_master,
+		       const char *logmsg)
+{
+	return refs->be->create_symref(refs, ref_target,
+				       refs_heads_master,
+				       logmsg);
 }
 
 int create_symref(const char *ref_target, const char *refs_heads_master,
 		  const char *logmsg)
 {
-	struct ref_store *refs = get_ref_store(NULL);
-
-	return refs->be->create_symref(refs, ref_target, refs_heads_master,
-				       logmsg);
+	return refs_create_symref(get_main_ref_store(), ref_target,
+				  refs_heads_master, logmsg);
 }
 
 int ref_transaction_commit(struct ref_transaction *transaction,
 			   struct strbuf *err)
 {
-	struct ref_store *refs = get_ref_store(NULL);
+	struct ref_store *refs = transaction->ref_store;
 
 	return refs->be->transaction_commit(refs, transaction, err);
 }
 
-int verify_refname_available(const char *refname,
-			     const struct string_list *extra,
-			     const struct string_list *skip,
-			     struct strbuf *err)
+int refs_verify_refname_available(struct ref_store *refs,
+				  const char *refname,
+				  const struct string_list *extra,
+				  const struct string_list *skip,
+				  struct strbuf *err)
 {
-	struct ref_store *refs = get_ref_store(NULL);
-
 	return refs->be->verify_refname_available(refs, refname, extra, skip, err);
 }
 
-int for_each_reflog(each_ref_fn fn, void *cb_data)
+int refs_for_each_reflog(struct ref_store *refs, each_ref_fn fn, void *cb_data)
 {
-	struct ref_store *refs = get_ref_store(NULL);
 	struct ref_iterator *iter;
 
 	iter = refs->be->reflog_iterator_begin(refs);
@@ -1493,43 +1664,84 @@
 	return do_for_each_ref_iterator(iter, fn, cb_data);
 }
 
+int for_each_reflog(each_ref_fn fn, void *cb_data)
+{
+	return refs_for_each_reflog(get_main_ref_store(), fn, cb_data);
+}
+
+int refs_for_each_reflog_ent_reverse(struct ref_store *refs,
+				     const char *refname,
+				     each_reflog_ent_fn fn,
+				     void *cb_data)
+{
+	return refs->be->for_each_reflog_ent_reverse(refs, refname,
+						     fn, cb_data);
+}
+
 int for_each_reflog_ent_reverse(const char *refname, each_reflog_ent_fn fn,
 				void *cb_data)
 {
-	struct ref_store *refs = get_ref_store(NULL);
+	return refs_for_each_reflog_ent_reverse(get_main_ref_store(),
+						refname, fn, cb_data);
+}
 
-	return refs->be->for_each_reflog_ent_reverse(refs, refname,
-						     fn, cb_data);
+int refs_for_each_reflog_ent(struct ref_store *refs, const char *refname,
+			     each_reflog_ent_fn fn, void *cb_data)
+{
+	return refs->be->for_each_reflog_ent(refs, refname, fn, cb_data);
 }
 
 int for_each_reflog_ent(const char *refname, each_reflog_ent_fn fn,
 			void *cb_data)
 {
-	struct ref_store *refs = get_ref_store(NULL);
+	return refs_for_each_reflog_ent(get_main_ref_store(), refname,
+					fn, cb_data);
+}
 
-	return refs->be->for_each_reflog_ent(refs, refname, fn, cb_data);
+int refs_reflog_exists(struct ref_store *refs, const char *refname)
+{
+	return refs->be->reflog_exists(refs, refname);
 }
 
 int reflog_exists(const char *refname)
 {
-	struct ref_store *refs = get_ref_store(NULL);
+	return refs_reflog_exists(get_main_ref_store(), refname);
+}
 
-	return refs->be->reflog_exists(refs, refname);
+int refs_create_reflog(struct ref_store *refs, const char *refname,
+		       int force_create, struct strbuf *err)
+{
+	return refs->be->create_reflog(refs, refname, force_create, err);
 }
 
 int safe_create_reflog(const char *refname, int force_create,
 		       struct strbuf *err)
 {
-	struct ref_store *refs = get_ref_store(NULL);
+	return refs_create_reflog(get_main_ref_store(), refname,
+				  force_create, err);
+}
 
-	return refs->be->create_reflog(refs, refname, force_create, err);
+int refs_delete_reflog(struct ref_store *refs, const char *refname)
+{
+	return refs->be->delete_reflog(refs, refname);
 }
 
 int delete_reflog(const char *refname)
 {
-	struct ref_store *refs = get_ref_store(NULL);
+	return refs_delete_reflog(get_main_ref_store(), refname);
+}
 
-	return refs->be->delete_reflog(refs, refname);
+int refs_reflog_expire(struct ref_store *refs,
+		       const char *refname, const unsigned char *sha1,
+		       unsigned int flags,
+		       reflog_expiry_prepare_fn prepare_fn,
+		       reflog_expiry_should_prune_fn should_prune_fn,
+		       reflog_expiry_cleanup_fn cleanup_fn,
+		       void *policy_cb_data)
+{
+	return refs->be->reflog_expire(refs, refname, sha1, flags,
+				       prepare_fn, should_prune_fn,
+				       cleanup_fn, policy_cb_data);
 }
 
 int reflog_expire(const char *refname, const unsigned char *sha1,
@@ -1539,31 +1751,38 @@
 		  reflog_expiry_cleanup_fn cleanup_fn,
 		  void *policy_cb_data)
 {
-	struct ref_store *refs = get_ref_store(NULL);
-
-	return refs->be->reflog_expire(refs, refname, sha1, flags,
-				       prepare_fn, should_prune_fn,
-				       cleanup_fn, policy_cb_data);
+	return refs_reflog_expire(get_main_ref_store(),
+				  refname, sha1, flags,
+				  prepare_fn, should_prune_fn,
+				  cleanup_fn, policy_cb_data);
 }
 
 int initial_ref_transaction_commit(struct ref_transaction *transaction,
 				   struct strbuf *err)
 {
-	struct ref_store *refs = get_ref_store(NULL);
+	struct ref_store *refs = transaction->ref_store;
 
 	return refs->be->initial_transaction_commit(refs, transaction, err);
 }
 
+int refs_delete_refs(struct ref_store *refs, struct string_list *refnames,
+		     unsigned int flags)
+{
+	return refs->be->delete_refs(refs, refnames, flags);
+}
+
 int delete_refs(struct string_list *refnames, unsigned int flags)
 {
-	struct ref_store *refs = get_ref_store(NULL);
+	return refs_delete_refs(get_main_ref_store(), refnames, flags);
+}
 
-	return refs->be->delete_refs(refs, refnames, flags);
+int refs_rename_ref(struct ref_store *refs, const char *oldref,
+		    const char *newref, const char *logmsg)
+{
+	return refs->be->rename_ref(refs, oldref, newref, logmsg);
 }
 
 int rename_ref(const char *oldref, const char *newref, const char *logmsg)
 {
-	struct ref_store *refs = get_ref_store(NULL);
-
-	return refs->be->rename_ref(refs, oldref, newref, logmsg);
+	return refs_rename_ref(get_main_ref_store(), oldref, newref, logmsg);
 }
diff --git a/refs.h b/refs.h
index 6947843..49e97d7 100644
--- a/refs.h
+++ b/refs.h
@@ -1,6 +1,11 @@
 #ifndef REFS_H
 #define REFS_H
 
+struct object_id;
+struct ref_store;
+struct strbuf;
+struct string_list;
+
 /*
  * Resolve a reference, recursively following symbolic refererences.
  *
@@ -52,18 +57,54 @@
 #define RESOLVE_REF_NO_RECURSE 0x02
 #define RESOLVE_REF_ALLOW_BAD_NAME 0x04
 
+const char *refs_resolve_ref_unsafe(struct ref_store *refs,
+				    const char *refname,
+				    int resolve_flags,
+				    unsigned char *sha1,
+				    int *flags);
 const char *resolve_ref_unsafe(const char *refname, int resolve_flags,
 			       unsigned char *sha1, int *flags);
 
+char *refs_resolve_refdup(struct ref_store *refs,
+			  const char *refname, int resolve_flags,
+			  unsigned char *sha1, int *flags);
 char *resolve_refdup(const char *refname, int resolve_flags,
 		     unsigned char *sha1, int *flags);
 
+int refs_read_ref_full(struct ref_store *refs, const char *refname,
+		       int resolve_flags, unsigned char *sha1, int *flags);
 int read_ref_full(const char *refname, int resolve_flags,
 		  unsigned char *sha1, int *flags);
 int read_ref(const char *refname, unsigned char *sha1);
 
+/*
+ * Return 0 if a reference named refname could be created without
+ * conflicting with the name of an existing reference. Otherwise,
+ * return a negative value and write an explanation to err. If extras
+ * is non-NULL, it is a list of additional refnames with which refname
+ * is not allowed to conflict. If skip is non-NULL, ignore potential
+ * conflicts with refs in skip (e.g., because they are scheduled for
+ * deletion in the same operation). Behavior is undefined if the same
+ * name is listed in both extras and skip.
+ *
+ * Two reference names conflict if one of them exactly matches the
+ * leading components of the other; e.g., "foo/bar" conflicts with
+ * both "foo" and with "foo/bar/baz" but not with "foo/bar" or
+ * "foo/barbados".
+ *
+ * extras and skip must be sorted.
+ */
+
+int refs_verify_refname_available(struct ref_store *refs,
+				  const char *refname,
+				  const struct string_list *extra,
+				  const struct string_list *skip,
+				  struct strbuf *err);
+
 int ref_exists(const char *refname);
 
+int should_autocreate_reflog(const char *refname);
+
 int is_branch(const char *refname);
 
 extern int refs_init_db(struct strbuf *err);
@@ -76,6 +117,8 @@
  * Symbolic references are considered unpeelable, even if they
  * ultimately resolve to a peelable tag.
  */
+int refs_peel_ref(struct ref_store *refs, const char *refname,
+		  unsigned char *sha1);
 int peel_ref(const char *refname, unsigned char *sha1);
 
 /**
@@ -187,8 +230,19 @@
  * it is not safe to modify references while an iteration is in
  * progress, unless the same callback function invocation that
  * modifies the reference also returns a nonzero value to immediately
- * stop the iteration.
+ * stop the iteration. Returned references are sorted.
  */
+int refs_for_each_ref(struct ref_store *refs,
+		      each_ref_fn fn, void *cb_data);
+int refs_for_each_ref_in(struct ref_store *refs, const char *prefix,
+			 each_ref_fn fn, void *cb_data);
+int refs_for_each_tag_ref(struct ref_store *refs,
+			  each_ref_fn fn, void *cb_data);
+int refs_for_each_branch_ref(struct ref_store *refs,
+			     each_ref_fn fn, void *cb_data);
+int refs_for_each_remote_ref(struct ref_store *refs,
+			     each_ref_fn fn, void *cb_data);
+
 int head_ref(each_ref_fn fn, void *cb_data);
 int for_each_ref(each_ref_fn fn, void *cb_data);
 int for_each_ref_in(const char *prefix, each_ref_fn fn, void *cb_data);
@@ -218,6 +272,7 @@
 int for_each_namespaced_ref(each_ref_fn fn, void *cb_data);
 
 /* can be used to learn about broken ref and symref */
+int refs_for_each_rawref(struct ref_store *refs, each_ref_fn fn, void *cb_data);
 int for_each_rawref(each_ref_fn fn, void *cb_data);
 
 static inline const char *has_glob_specials(const char *pattern)
@@ -241,7 +296,7 @@
  * Write a packed-refs file for the current repository.
  * flags: Combination of the above PACK_REFS_* flags.
  */
-int pack_refs(unsigned int flags);
+int refs_pack_refs(struct ref_store *refs, unsigned int flags);
 
 /*
  * Flags controlling ref_transaction_update(), ref_transaction_create(), etc.
@@ -256,6 +311,8 @@
 /*
  * Setup reflog before using. Fill in err and return -1 on failure.
  */
+int refs_create_reflog(struct ref_store *refs, const char *refname,
+		       int force_create, struct strbuf *err);
 int safe_create_reflog(const char *refname, int force_create, struct strbuf *err);
 
 /** Reads log for the value of ref during at_time. **/
@@ -265,6 +322,7 @@
 		unsigned long *cutoff_time, int *cutoff_tz, int *cutoff_cnt);
 
 /** Check if a particular reflog exists */
+int refs_reflog_exists(struct ref_store *refs, const char *refname);
 int reflog_exists(const char *refname);
 
 /*
@@ -274,8 +332,12 @@
  * exists, regardless of its old value. It is an error for old_sha1 to
  * be NULL_SHA1. flags is passed through to ref_transaction_delete().
  */
-int delete_ref(const char *refname, const unsigned char *old_sha1,
-	       unsigned int flags);
+int refs_delete_ref(struct ref_store *refs, const char *msg,
+		    const char *refname,
+		    const unsigned char *old_sha1,
+		    unsigned int flags);
+int delete_ref(const char *msg, const char *refname,
+	       const unsigned char *old_sha1, unsigned int flags);
 
 /*
  * Delete the specified references. If there are any problems, emit
@@ -283,24 +345,34 @@
  * an all-or-nothing transaction). flags is passed through to
  * ref_transaction_delete().
  */
+int refs_delete_refs(struct ref_store *refs, struct string_list *refnames,
+		     unsigned int flags);
 int delete_refs(struct string_list *refnames, unsigned int flags);
 
 /** Delete a reflog */
+int refs_delete_reflog(struct ref_store *refs, const char *refname);
 int delete_reflog(const char *refname);
 
 /* iterate over reflog entries */
 typedef int each_reflog_ent_fn(
-		unsigned char *old_sha1, unsigned char *new_sha1,
+		struct object_id *old_oid, struct object_id *new_oid,
 		const char *committer, unsigned long timestamp,
 		int tz, const char *msg, void *cb_data);
 
+int refs_for_each_reflog_ent(struct ref_store *refs, const char *refname,
+			     each_reflog_ent_fn fn, void *cb_data);
+int refs_for_each_reflog_ent_reverse(struct ref_store *refs,
+				     const char *refname,
+				     each_reflog_ent_fn fn,
+				     void *cb_data);
 int for_each_reflog_ent(const char *refname, each_reflog_ent_fn fn, void *cb_data);
 int for_each_reflog_ent_reverse(const char *refname, each_reflog_ent_fn fn, void *cb_data);
 
 /*
  * Calls the specified function for each reflog file until it returns nonzero,
- * and returns the value
+ * and returns the value. Reflog file order is unspecified.
  */
+int refs_for_each_reflog(struct ref_store *refs, each_ref_fn fn, void *cb_data);
 int for_each_reflog(each_ref_fn fn, void *cb_data);
 
 #define REFNAME_ALLOW_ONELEVEL 1
@@ -321,8 +393,12 @@
 char *shorten_unambiguous_ref(const char *refname, int strict);
 
 /** rename ref, return 0 on success **/
+int refs_rename_ref(struct ref_store *refs, const char *oldref,
+		    const char *newref, const char *logmsg);
 int rename_ref(const char *oldref, const char *newref, const char *logmsg);
 
+int refs_create_symref(struct ref_store *refs, const char *refname,
+		       const char *target, const char *logmsg);
 int create_symref(const char *refname, const char *target, const char *logmsg);
 
 /*
@@ -332,7 +408,8 @@
  * $GIT_DIR points to.
  * Return 0 if successful, non-zero otherwise.
  * */
-int set_worktree_head_symref(const char *gitdir, const char *target);
+int set_worktree_head_symref(const char *gitdir, const char *target,
+			     const char *logmsg);
 
 enum action_on_err {
 	UPDATE_REFS_MSG_ON_ERR,
@@ -344,6 +421,8 @@
  * Begin a reference transaction.  The reference transaction must
  * be freed by calling ref_transaction_free().
  */
+struct ref_transaction *ref_store_transaction_begin(struct ref_store *refs,
+						    struct strbuf *err);
 struct ref_transaction *ref_transaction_begin(struct strbuf *err);
 
 /*
@@ -478,6 +557,9 @@
  * ref_transaction_update(). Handle errors as requested by the `onerr`
  * argument.
  */
+int refs_update_ref(struct ref_store *refs, const char *msg, const char *refname,
+		    const unsigned char *new_sha1, const unsigned char *old_sha1,
+		    unsigned int flags, enum action_on_err onerr);
 int update_ref(const char *msg, const char *refname,
 	       const unsigned char *new_sha1, const unsigned char *old_sha1,
 	       unsigned int flags, enum action_on_err onerr);
@@ -544,6 +626,14 @@
  * enum expire_reflog_flags. The three function pointers are described
  * above. On success, return zero.
  */
+int refs_reflog_expire(struct ref_store *refs,
+		       const char *refname,
+		       const unsigned char *sha1,
+		       unsigned int flags,
+		       reflog_expiry_prepare_fn prepare_fn,
+		       reflog_expiry_should_prune_fn should_prune_fn,
+		       reflog_expiry_cleanup_fn cleanup_fn,
+		       void *policy_cb_data);
 int reflog_expire(const char *refname, const unsigned char *sha1,
 		  unsigned int flags,
 		  reflog_expiry_prepare_fn prepare_fn,
@@ -553,4 +643,17 @@
 
 int ref_storage_backend_exists(const char *name);
 
+struct ref_store *get_main_ref_store(void);
+/*
+ * Return the ref_store instance for the specified submodule. For the
+ * main repository, use submodule==NULL; such a call cannot fail. For
+ * a submodule, the submodule must exist and be a nonbare repository,
+ * otherwise return NULL. If the requested reference store has not yet
+ * been initialized, initialize it first.
+ *
+ * For backwards compatibility, submodule=="" is treated the same as
+ * submodule==NULL.
+ */
+struct ref_store *get_submodule_ref_store(const char *submodule);
+
 #endif /* REFS_H */
diff --git a/refs/files-backend.c b/refs/files-backend.c
index f902393..4d705b4 100644
--- a/refs/files-backend.c
+++ b/refs/files-backend.c
@@ -165,6 +165,10 @@
 					  const char *dirname, size_t len,
 					  int incomplete);
 static void add_entry_to_dir(struct ref_dir *dir, struct ref_entry *entry);
+static int files_log_ref_write(struct files_ref_store *refs,
+			       const char *refname, const unsigned char *old_sha1,
+			       const unsigned char *new_sha1, const char *msg,
+			       int flags, struct strbuf *err);
 
 static struct ref_dir *get_ref_dir(struct ref_entry *entry)
 {
@@ -697,7 +701,7 @@
 
 	if (peel_entry(entry, 0))
 		return -1;
-	hashcpy(peeled->hash, entry->u.value.peeled.hash);
+	oidcpy(peeled, &entry->u.value.peeled);
 	return 0;
 }
 
@@ -912,6 +916,12 @@
  */
 struct files_ref_store {
 	struct ref_store base;
+	unsigned int store_flags;
+
+	char *gitdir;
+	char *gitcommondir;
+	char *packed_refs_path;
+
 	struct ref_entry *loose;
 	struct packed_ref_cache *packed;
 };
@@ -967,34 +977,61 @@
  * Create a new submodule ref cache and add it to the internal
  * set of caches.
  */
-static struct ref_store *files_ref_store_create(const char *submodule)
+static struct ref_store *files_ref_store_create(const char *gitdir,
+						unsigned int flags)
 {
 	struct files_ref_store *refs = xcalloc(1, sizeof(*refs));
 	struct ref_store *ref_store = (struct ref_store *)refs;
+	struct strbuf sb = STRBUF_INIT;
 
-	base_ref_store_init(ref_store, &refs_be_files, submodule);
+	base_ref_store_init(ref_store, &refs_be_files);
+	refs->store_flags = flags;
+
+	refs->gitdir = xstrdup(gitdir);
+	get_common_dir_noenv(&sb, gitdir);
+	refs->gitcommondir = strbuf_detach(&sb, NULL);
+	strbuf_addf(&sb, "%s/packed-refs", refs->gitcommondir);
+	refs->packed_refs_path = strbuf_detach(&sb, NULL);
 
 	return ref_store;
 }
 
 /*
- * Downcast ref_store to files_ref_store. Die if ref_store is not a
- * files_ref_store. If submodule_allowed is not true, then also die if
- * files_ref_store is for a submodule (i.e., not for the main
- * repository). caller is used in any necessary error messages.
+ * Die if refs is not the main ref store. caller is used in any
+ * necessary error messages.
  */
-static struct files_ref_store *files_downcast(
-		struct ref_store *ref_store, int submodule_allowed,
-		const char *caller)
+static void files_assert_main_repository(struct files_ref_store *refs,
+					 const char *caller)
 {
+	if (refs->store_flags & REF_STORE_MAIN)
+		return;
+
+	die("BUG: operation %s only allowed for main ref store", caller);
+}
+
+/*
+ * Downcast ref_store to files_ref_store. Die if ref_store is not a
+ * files_ref_store. required_flags is compared with ref_store's
+ * store_flags to ensure the ref_store has all required capabilities.
+ * "caller" is used in any necessary error messages.
+ */
+static struct files_ref_store *files_downcast(struct ref_store *ref_store,
+					      unsigned int required_flags,
+					      const char *caller)
+{
+	struct files_ref_store *refs;
+
 	if (ref_store->be != &refs_be_files)
 		die("BUG: ref_store is type \"%s\" not \"files\" in %s",
 		    ref_store->be->name, caller);
 
-	if (!submodule_allowed)
-		assert_main_repository(ref_store, caller);
+	refs = (struct files_ref_store *)ref_store;
 
-	return (struct files_ref_store *)ref_store;
+	if ((refs->store_flags & required_flags) != required_flags)
+		die("BUG: operation %s requires abilities 0x%x, but only have 0x%x",
+		    caller, required_flags, refs->store_flags);
+
+	return refs;
 }
 
 /* The length of a peeled reference line in packed-refs, including EOL: */
@@ -1125,19 +1162,63 @@
 	strbuf_release(&line);
 }
 
+static const char *files_packed_refs_path(struct files_ref_store *refs)
+{
+	return refs->packed_refs_path;
+}
+
+static void files_reflog_path(struct files_ref_store *refs,
+			      struct strbuf *sb,
+			      const char *refname)
+{
+	if (!refname) {
+		/*
+		 * FIXME: of course this is wrong in multi worktree
+		 * setting. To be fixed real soon.
+		 */
+		strbuf_addf(sb, "%s/logs", refs->gitcommondir);
+		return;
+	}
+
+	switch (ref_type(refname)) {
+	case REF_TYPE_PER_WORKTREE:
+	case REF_TYPE_PSEUDOREF:
+		strbuf_addf(sb, "%s/logs/%s", refs->gitdir, refname);
+		break;
+	case REF_TYPE_NORMAL:
+		strbuf_addf(sb, "%s/logs/%s", refs->gitcommondir, refname);
+		break;
+	default:
+		die("BUG: unknown ref type %d of ref %s",
+		    ref_type(refname), refname);
+	}
+}
+
+static void files_ref_path(struct files_ref_store *refs,
+			   struct strbuf *sb,
+			   const char *refname)
+{
+	switch (ref_type(refname)) {
+	case REF_TYPE_PER_WORKTREE:
+	case REF_TYPE_PSEUDOREF:
+		strbuf_addf(sb, "%s/%s", refs->gitdir, refname);
+		break;
+	case REF_TYPE_NORMAL:
+		strbuf_addf(sb, "%s/%s", refs->gitcommondir, refname);
+		break;
+	default:
+		die("BUG: unknown ref type %d of ref %s",
+		    ref_type(refname), refname);
+	}
+}
+
 /*
  * Get the packed_ref_cache for the specified files_ref_store,
  * creating it if necessary.
  */
 static struct packed_ref_cache *get_packed_ref_cache(struct files_ref_store *refs)
 {
-	char *packed_refs_file;
-
-	if (*refs->base.submodule)
-		packed_refs_file = git_pathdup_submodule(refs->base.submodule,
-							 "packed-refs");
-	else
-		packed_refs_file = git_pathdup("packed-refs");
+	const char *packed_refs_file = files_packed_refs_path(refs);
 
 	if (refs->packed &&
 	    !stat_validity_check(&refs->packed->validity, packed_refs_file))
@@ -1156,7 +1237,6 @@
 			fclose(f);
 		}
 	}
-	free(packed_refs_file);
 	return refs->packed;
 }
 
@@ -1201,19 +1281,10 @@
 	struct strbuf refname;
 	struct strbuf path = STRBUF_INIT;
 	size_t path_baselen;
-	int err = 0;
 
-	if (*refs->base.submodule)
-		err = strbuf_git_path_submodule(&path, refs->base.submodule, "%s", dirname);
-	else
-		strbuf_git_path(&path, "%s", dirname);
+	files_ref_path(refs, &path, dirname);
 	path_baselen = path.len;
 
-	if (err) {
-		strbuf_release(&path);
-		return;
-	}
-
 	d = opendir(path.buf);
 	if (!d) {
 		strbuf_release(&path);
@@ -1242,20 +1313,10 @@
 					 create_dir_entry(refs, refname.buf,
 							  refname.len, 1));
 		} else {
-			int read_ok;
-
-			if (*refs->base.submodule) {
-				hashclr(sha1);
-				flag = 0;
-				read_ok = !resolve_gitlink_ref(refs->base.submodule,
-							       refname.buf, sha1);
-			} else {
-				read_ok = !read_ref_full(refname.buf,
-							 RESOLVE_REF_READING,
-							 sha1, &flag);
-			}
-
-			if (!read_ok) {
+			if (!refs_resolve_ref_unsafe(&refs->base,
+						     refname.buf,
+						     RESOLVE_REF_READING,
+						     sha1, &flag)) {
 				hashclr(sha1);
 				flag |= REF_ISBROKEN;
 			} else if (is_null_sha1(sha1)) {
@@ -1344,7 +1405,7 @@
 			      struct strbuf *referent, unsigned int *type)
 {
 	struct files_ref_store *refs =
-		files_downcast(ref_store, 1, "read_raw_ref");
+		files_downcast(ref_store, REF_STORE_READ, "read_raw_ref");
 	struct strbuf sb_contents = STRBUF_INIT;
 	struct strbuf sb_path = STRBUF_INIT;
 	const char *path;
@@ -1358,10 +1419,7 @@
 	*type = 0;
 	strbuf_reset(&sb_path);
 
-	if (*refs->base.submodule)
-		strbuf_git_path_submodule(&sb_path, refs->base.submodule, "%s", refname);
-	else
-		strbuf_git_path(&sb_path, "%s", refname);
+	files_ref_path(refs, &sb_path, refname);
 
 	path = sb_path.buf;
 
@@ -1540,7 +1598,7 @@
 	int ret = TRANSACTION_GENERIC_ERROR;
 
 	assert(err);
-	assert_main_repository(&refs->base, "lock_raw_ref");
+	files_assert_main_repository(refs, "lock_raw_ref");
 
 	*type = 0;
 
@@ -1549,7 +1607,7 @@
 	*lock_p = lock = xcalloc(1, sizeof(*lock));
 
 	lock->ref_name = xstrdup(refname);
-	strbuf_git_path(&ref_file, "%s", refname);
+	files_ref_path(refs, &ref_file, refname);
 
 retry:
 	switch (safe_create_leading_directories(ref_file.buf)) {
@@ -1564,7 +1622,8 @@
 		 * another reference such as "refs/foo". There is no
 		 * reason to expect this error to be transitory.
 		 */
-		if (verify_refname_available(refname, extras, skip, err)) {
+		if (refs_verify_refname_available(&refs->base, refname,
+						  extras, skip, err)) {
 			if (mustexist) {
 				/*
 				 * To the user the relevant error is
@@ -1764,7 +1823,9 @@
 static int files_peel_ref(struct ref_store *ref_store,
 			  const char *refname, unsigned char *sha1)
 {
-	struct files_ref_store *refs = files_downcast(ref_store, 0, "peel_ref");
+	struct files_ref_store *refs =
+		files_downcast(ref_store, REF_STORE_READ | REF_STORE_ODB,
+			       "peel_ref");
 	int flag;
 	unsigned char base[20];
 
@@ -1777,7 +1838,8 @@
 		return 0;
 	}
 
-	if (read_ref_full(refname, RESOLVE_REF_READING, base, &flag))
+	if (refs_read_ref_full(ref_store, refname,
+			       RESOLVE_REF_READING, base, &flag))
 		return -1;
 
 	/*
@@ -1872,21 +1934,21 @@
 		struct ref_store *ref_store,
 		const char *prefix, unsigned int flags)
 {
-	struct files_ref_store *refs =
-		files_downcast(ref_store, 1, "ref_iterator_begin");
+	struct files_ref_store *refs;
 	struct ref_dir *loose_dir, *packed_dir;
 	struct ref_iterator *loose_iter, *packed_iter;
 	struct files_ref_iterator *iter;
 	struct ref_iterator *ref_iterator;
 
-	if (!refs)
-		return empty_ref_iterator_begin();
-
 	if (ref_paranoia < 0)
 		ref_paranoia = git_env_bool("GIT_REF_PARANOIA", 0);
 	if (ref_paranoia)
 		flags |= DO_FOR_EACH_INCLUDE_BROKEN;
 
+	refs = files_downcast(ref_store,
+			      REF_STORE_READ | (ref_paranoia ? 0 : REF_STORE_ODB),
+			      "ref_iterator_begin");
+
 	iter = xcalloc(1, sizeof(*iter));
 	ref_iterator = &iter->base;
 	base_ref_iterator_init(ref_iterator, &files_ref_iterator_vtable);
@@ -1945,15 +2007,15 @@
  * on success. On error, write an error message to err, set errno, and
  * return a negative value.
  */
-static int verify_lock(struct ref_lock *lock,
+static int verify_lock(struct ref_store *ref_store, struct ref_lock *lock,
 		       const unsigned char *old_sha1, int mustexist,
 		       struct strbuf *err)
 {
 	assert(err);
 
-	if (read_ref_full(lock->ref_name,
-			  mustexist ? RESOLVE_REF_READING : 0,
-			  lock->old_oid.hash, NULL)) {
+	if (refs_read_ref_full(ref_store, lock->ref_name,
+			       mustexist ? RESOLVE_REF_READING : 0,
+			       lock->old_oid.hash, NULL)) {
 		if (old_sha1) {
 			int save_errno = errno;
 			strbuf_addf(err, "can't verify ref '%s'", lock->ref_name);
@@ -1985,6 +2047,13 @@
 	return remove_dir_recursively(path, REMOVE_DIR_EMPTY_ONLY);
 }
 
+static int create_reflock(const char *path, void *cb)
+{
+	struct lock_file *lk = cb;
+
+	return hold_lock_file_for_update(lk, path, LOCK_NO_DEREF) < 0 ? -1 : 0;
+}
+
 /*
  * Locks a ref returning the lock on success and NULL on failure.
  * On failure errno is set to something meaningful.
@@ -2000,13 +2069,11 @@
 	struct strbuf ref_file = STRBUF_INIT;
 	struct ref_lock *lock;
 	int last_errno = 0;
-	int lflags = LOCK_NO_DEREF;
 	int mustexist = (old_sha1 && !is_null_sha1(old_sha1));
 	int resolve_flags = RESOLVE_REF_NO_RECURSE;
-	int attempts_remaining = 3;
 	int resolved;
 
-	assert_main_repository(&refs->base, "lock_ref_sha1_basic");
+	files_assert_main_repository(refs, "lock_ref_sha1_basic");
 	assert(err);
 
 	lock = xcalloc(1, sizeof(struct ref_lock));
@@ -2016,9 +2083,10 @@
 	if (flags & REF_DELETING)
 		resolve_flags |= RESOLVE_REF_ALLOW_BAD_NAME;
 
-	strbuf_git_path(&ref_file, "%s", refname);
-	resolved = !!resolve_ref_unsafe(refname, resolve_flags,
-					lock->old_oid.hash, type);
+	files_ref_path(refs, &ref_file, refname);
+	resolved = !!refs_resolve_ref_unsafe(&refs->base,
+					     refname, resolve_flags,
+					     lock->old_oid.hash, type);
 	if (!resolved && errno == EISDIR) {
 		/*
 		 * we are trying to lock foo but we used to
@@ -2035,8 +2103,9 @@
 					    refname);
 			goto error_return;
 		}
-		resolved = !!resolve_ref_unsafe(refname, resolve_flags,
-						lock->old_oid.hash, type);
+		resolved = !!refs_resolve_ref_unsafe(&refs->base,
+						     refname, resolve_flags,
+						     lock->old_oid.hash, type);
 	}
 	if (!resolved) {
 		last_errno = errno;
@@ -2068,36 +2137,13 @@
 
 	lock->ref_name = xstrdup(refname);
 
- retry:
-	switch (safe_create_leading_directories_const(ref_file.buf)) {
-	case SCLD_OK:
-		break; /* success */
-	case SCLD_VANISHED:
-		if (--attempts_remaining > 0)
-			goto retry;
-		/* fall through */
-	default:
+	if (raceproof_create_file(ref_file.buf, create_reflock, lock->lk)) {
 		last_errno = errno;
-		strbuf_addf(err, "unable to create directory for '%s'",
-			    ref_file.buf);
+		unable_to_lock_message(ref_file.buf, errno, err);
 		goto error_return;
 	}
 
-	if (hold_lock_file_for_update(lock->lk, ref_file.buf, lflags) < 0) {
-		last_errno = errno;
-		if (errno == ENOENT && --attempts_remaining > 0)
-			/*
-			 * Maybe somebody just deleted one of the
-			 * directories leading to ref_file.  Try
-			 * again:
-			 */
-			goto retry;
-		else {
-			unable_to_lock_message(ref_file.buf, errno, err);
-			goto error_return;
-		}
-	}
-	if (verify_lock(lock, old_sha1, mustexist, err)) {
+	if (verify_lock(&refs->base, lock, old_sha1, mustexist, err)) {
 		last_errno = errno;
 		goto error_return;
 	}
@@ -2152,7 +2198,7 @@
 	static int timeout_value = 1000;
 	struct packed_ref_cache *packed_ref_cache;
 
-	assert_main_repository(&refs->base, "lock_packed_refs");
+	files_assert_main_repository(refs, "lock_packed_refs");
 
 	if (!timeout_configured) {
 		git_config_get_int("core.packedrefstimeout", &timeout_value);
@@ -2160,7 +2206,7 @@
 	}
 
 	if (hold_lock_file_for_update_timeout(
-			    &packlock, git_path("packed-refs"),
+			    &packlock, files_packed_refs_path(refs),
 			    flags, timeout_value) < 0)
 		return -1;
 	/*
@@ -2190,7 +2236,7 @@
 	int save_errno = 0;
 	FILE *out;
 
-	assert_main_repository(&refs->base, "commit_packed_refs");
+	files_assert_main_repository(refs, "commit_packed_refs");
 
 	if (!packed_ref_cache->lock)
 		die("internal error: packed-refs not locked");
@@ -2223,7 +2269,7 @@
 	struct packed_ref_cache *packed_ref_cache =
 		get_packed_ref_cache(refs);
 
-	assert_main_repository(&refs->base, "rollback_packed_refs");
+	files_assert_main_repository(refs, "rollback_packed_refs");
 
 	if (!packed_ref_cache->lock)
 		die("internal error: packed-refs not locked");
@@ -2298,15 +2344,28 @@
 	return 0;
 }
 
+enum {
+	REMOVE_EMPTY_PARENTS_REF = 0x01,
+	REMOVE_EMPTY_PARENTS_REFLOG = 0x02
+};
+
 /*
- * Remove empty parents, but spare refs/ and immediate subdirs.
- * Note: munges *name.
+ * Remove empty parent directories associated with the specified
+ * reference and/or its reflog, but spare [logs/]refs/ and immediate
+ * subdirs. flags is a combination of REMOVE_EMPTY_PARENTS_REF and/or
+ * REMOVE_EMPTY_PARENTS_REFLOG.
  */
-static void try_remove_empty_parents(char *name)
+static void try_remove_empty_parents(struct files_ref_store *refs,
+				     const char *refname,
+				     unsigned int flags)
 {
+	struct strbuf buf = STRBUF_INIT;
+	struct strbuf sb = STRBUF_INIT;
 	char *p, *q;
 	int i;
-	p = name;
+
+	strbuf_addstr(&buf, refname);
+	p = buf.buf;
 	for (i = 0; i < 2; i++) { /* refs/{heads,tags,...}/ */
 		while (*p && *p != '/')
 			p++;
@@ -2314,23 +2373,32 @@
 		while (*p == '/')
 			p++;
 	}
-	for (q = p; *q; q++)
-		;
-	while (1) {
+	q = buf.buf + buf.len;
+	while (flags & (REMOVE_EMPTY_PARENTS_REF | REMOVE_EMPTY_PARENTS_REFLOG)) {
 		while (q > p && *q != '/')
 			q--;
 		while (q > p && *(q-1) == '/')
 			q--;
 		if (q == p)
 			break;
-		*q = '\0';
-		if (rmdir(git_path("%s", name)))
-			break;
+		strbuf_setlen(&buf, q - buf.buf);
+
+		strbuf_reset(&sb);
+		files_ref_path(refs, &sb, buf.buf);
+		if ((flags & REMOVE_EMPTY_PARENTS_REF) && rmdir(sb.buf))
+			flags &= ~REMOVE_EMPTY_PARENTS_REF;
+
+		strbuf_reset(&sb);
+		files_reflog_path(refs, &sb, buf.buf);
+		if ((flags & REMOVE_EMPTY_PARENTS_REFLOG) && rmdir(sb.buf))
+			flags &= ~REMOVE_EMPTY_PARENTS_REFLOG;
 	}
+	strbuf_release(&buf);
+	strbuf_release(&sb);
 }
 
 /* make sure nobody touched the ref, and unlink */
-static void prune_ref(struct ref_to_prune *r)
+static void prune_ref(struct files_ref_store *refs, struct ref_to_prune *r)
 {
 	struct ref_transaction *transaction;
 	struct strbuf err = STRBUF_INIT;
@@ -2338,7 +2406,7 @@
 	if (check_refname_format(r->name, 0))
 		return;
 
-	transaction = ref_transaction_begin(&err);
+	transaction = ref_store_transaction_begin(&refs->base, &err);
 	if (!transaction ||
 	    ref_transaction_delete(transaction, r->name, r->sha1,
 				   REF_ISPRUNING | REF_NODEREF, NULL, &err) ||
@@ -2350,13 +2418,12 @@
 	}
 	ref_transaction_free(transaction);
 	strbuf_release(&err);
-	try_remove_empty_parents(r->name);
 }
 
-static void prune_refs(struct ref_to_prune *r)
+static void prune_refs(struct files_ref_store *refs, struct ref_to_prune *r)
 {
 	while (r) {
-		prune_ref(r);
+		prune_ref(refs, r);
 		r = r->next;
 	}
 }
@@ -2364,7 +2431,8 @@
 static int files_pack_refs(struct ref_store *ref_store, unsigned int flags)
 {
 	struct files_ref_store *refs =
-		files_downcast(ref_store, 0, "pack_refs");
+		files_downcast(ref_store, REF_STORE_WRITE | REF_STORE_ODB,
+			       "pack_refs");
 	struct pack_refs_cb_data cbdata;
 
 	memset(&cbdata, 0, sizeof(cbdata));
@@ -2379,7 +2447,7 @@
 	if (commit_packed_refs(refs))
 		die_errno("unable to overwrite old ref-pack file");
 
-	prune_refs(cbdata.ref_to_prune);
+	prune_refs(refs, cbdata.ref_to_prune);
 	return 0;
 }
 
@@ -2397,7 +2465,7 @@
 	struct string_list_item *refname;
 	int ret, needs_repacking = 0, removed = 0;
 
-	assert_main_repository(&refs->base, "repack_without_refs");
+	files_assert_main_repository(refs, "repack_without_refs");
 	assert(err);
 
 	/* Look for a packed ref */
@@ -2413,7 +2481,7 @@
 		return 0; /* no refname exists in packed refs */
 
 	if (lock_packed_refs(refs, 0)) {
-		unable_to_lock_message(git_path("packed-refs"), errno, err);
+		unable_to_lock_message(files_packed_refs_path(refs), errno, err);
 		return -1;
 	}
 	packed = get_packed_refs(refs);
@@ -2439,29 +2507,11 @@
 	return ret;
 }
 
-static int delete_ref_loose(struct ref_lock *lock, int flag, struct strbuf *err)
-{
-	assert(err);
-
-	if (!(flag & REF_ISPACKED) || flag & REF_ISSYMREF) {
-		/*
-		 * loose.  The loose file name is the same as the
-		 * lockfile name, minus ".lock":
-		 */
-		char *loose_filename = get_locked_file_path(lock->lk);
-		int res = unlink_or_msg(loose_filename, err);
-		free(loose_filename);
-		if (res)
-			return 1;
-	}
-	return 0;
-}
-
 static int files_delete_refs(struct ref_store *ref_store,
 			     struct string_list *refnames, unsigned int flags)
 {
 	struct files_ref_store *refs =
-		files_downcast(ref_store, 0, "delete_refs");
+		files_downcast(ref_store, REF_STORE_WRITE, "delete_refs");
 	struct strbuf err = STRBUF_INIT;
 	int i, result = 0;
 
@@ -2489,7 +2539,7 @@
 	for (i = 0; i < refnames->nr; i++) {
 		const char *refname = refnames->items[i].string;
 
-		if (delete_ref(refname, NULL, flags))
+		if (refs_delete_ref(&refs->base, NULL, refname, NULL, flags))
 			result |= error(_("could not remove reference %s"), refname);
 	}
 
@@ -2505,57 +2555,56 @@
  * IOW, to avoid cross device rename errors, the temporary renamed log must
  * live into logs/refs.
  */
-#define TMP_RENAMED_LOG  "logs/refs/.tmp-renamed-log"
+#define TMP_RENAMED_LOG  "refs/.tmp-renamed-log"
 
-static int rename_tmp_log(const char *newrefname)
+struct rename_cb {
+	const char *tmp_renamed_log;
+	int true_errno;
+};
+
+static int rename_tmp_log_callback(const char *path, void *cb_data)
 {
-	int attempts_remaining = 4;
+	struct rename_cb *cb = cb_data;
+
+	if (rename(cb->tmp_renamed_log, path)) {
+		/*
+		 * rename(a, b) when b is an existing directory ought
+		 * to result in ISDIR, but Solaris 5.8 gives ENOTDIR.
+		 * Sheesh. Record the true errno for error reporting,
+		 * but report EISDIR to raceproof_create_file() so
+		 * that it knows to retry.
+		 */
+		cb->true_errno = errno;
+		if (errno == ENOTDIR)
+			errno = EISDIR;
+		return -1;
+	} else {
+		return 0;
+	}
+}
+
+static int rename_tmp_log(struct files_ref_store *refs, const char *newrefname)
+{
 	struct strbuf path = STRBUF_INIT;
-	int ret = -1;
+	struct strbuf tmp = STRBUF_INIT;
+	struct rename_cb cb;
+	int ret;
 
- retry:
-	strbuf_reset(&path);
-	strbuf_git_path(&path, "logs/%s", newrefname);
-	switch (safe_create_leading_directories_const(path.buf)) {
-	case SCLD_OK:
-		break; /* success */
-	case SCLD_VANISHED:
-		if (--attempts_remaining > 0)
-			goto retry;
-		/* fall through */
-	default:
-		error("unable to create directory for %s", newrefname);
-		goto out;
+	files_reflog_path(refs, &path, newrefname);
+	files_reflog_path(refs, &tmp, TMP_RENAMED_LOG);
+	cb.tmp_renamed_log = tmp.buf;
+	ret = raceproof_create_file(path.buf, rename_tmp_log_callback, &cb);
+	if (ret) {
+		if (errno == EISDIR)
+			error("directory not empty: %s", path.buf);
+		else
+			error("unable to move logfile %s to %s: %s",
+			      tmp.buf, path.buf,
+			      strerror(cb.true_errno));
 	}
 
-	if (rename(git_path(TMP_RENAMED_LOG), path.buf)) {
-		if ((errno==EISDIR || errno==ENOTDIR) && --attempts_remaining > 0) {
-			/*
-			 * rename(a, b) when b is an existing
-			 * directory ought to result in ISDIR, but
-			 * Solaris 5.8 gives ENOTDIR.  Sheesh.
-			 */
-			if (remove_empty_directories(&path)) {
-				error("Directory not empty: logs/%s", newrefname);
-				goto out;
-			}
-			goto retry;
-		} else if (errno == ENOENT && --attempts_remaining > 0) {
-			/*
-			 * Maybe another process just deleted one of
-			 * the directories in the path to newrefname.
-			 * Try again from the beginning.
-			 */
-			goto retry;
-		} else {
-			error("unable to move logfile "TMP_RENAMED_LOG" to logs/%s: %s",
-				newrefname, strerror(errno));
-			goto out;
-		}
-	}
-	ret = 0;
-out:
 	strbuf_release(&path);
+	strbuf_release(&tmp);
 	return ret;
 }
 
@@ -2566,7 +2615,7 @@
 					  struct strbuf *err)
 {
 	struct files_ref_store *refs =
-		files_downcast(ref_store, 1, "verify_refname_available");
+		files_downcast(ref_store, REF_STORE_READ, "verify_refname_available");
 	struct ref_dir *packed_refs = get_packed_refs(refs);
 	struct ref_dir *loose_refs = get_loose_refs(refs);
 
@@ -2591,32 +2640,52 @@
 			    const char *logmsg)
 {
 	struct files_ref_store *refs =
-		files_downcast(ref_store, 0, "rename_ref");
+		files_downcast(ref_store, REF_STORE_WRITE, "rename_ref");
 	unsigned char sha1[20], orig_sha1[20];
 	int flag = 0, logmoved = 0;
 	struct ref_lock *lock;
 	struct stat loginfo;
-	int log = !lstat(git_path("logs/%s", oldrefname), &loginfo);
+	struct strbuf sb_oldref = STRBUF_INIT;
+	struct strbuf sb_newref = STRBUF_INIT;
+	struct strbuf tmp_renamed_log = STRBUF_INIT;
+	int log, ret;
 	struct strbuf err = STRBUF_INIT;
 
-	if (log && S_ISLNK(loginfo.st_mode))
-		return error("reflog for %s is a symlink", oldrefname);
+	files_reflog_path(refs, &sb_oldref, oldrefname);
+	files_reflog_path(refs, &sb_newref, newrefname);
+	files_reflog_path(refs, &tmp_renamed_log, TMP_RENAMED_LOG);
 
-	if (!resolve_ref_unsafe(oldrefname, RESOLVE_REF_READING | RESOLVE_REF_NO_RECURSE,
-				orig_sha1, &flag))
-		return error("refname %s not found", oldrefname);
+	log = !lstat(sb_oldref.buf, &loginfo);
+	if (log && S_ISLNK(loginfo.st_mode)) {
+		ret = error("reflog for %s is a symlink", oldrefname);
+		goto out;
+	}
 
-	if (flag & REF_ISSYMREF)
-		return error("refname %s is a symbolic ref, renaming it is not supported",
-			oldrefname);
-	if (!rename_ref_available(oldrefname, newrefname))
-		return 1;
+	if (!refs_resolve_ref_unsafe(&refs->base, oldrefname,
+				     RESOLVE_REF_READING | RESOLVE_REF_NO_RECURSE,
+				orig_sha1, &flag)) {
+		ret = error("refname %s not found", oldrefname);
+		goto out;
+	}
 
-	if (log && rename(git_path("logs/%s", oldrefname), git_path(TMP_RENAMED_LOG)))
-		return error("unable to move logfile logs/%s to "TMP_RENAMED_LOG": %s",
-			oldrefname, strerror(errno));
+	if (flag & REF_ISSYMREF) {
+		ret = error("refname %s is a symbolic ref, renaming it is not supported",
+			    oldrefname);
+		goto out;
+	}
+	if (!refs_rename_ref_available(&refs->base, oldrefname, newrefname)) {
+		ret = 1;
+		goto out;
+	}
 
-	if (delete_ref(oldrefname, orig_sha1, REF_NODEREF)) {
+	if (log && rename(sb_oldref.buf, tmp_renamed_log.buf)) {
+		ret = error("unable to move logfile logs/%s to logs/"TMP_RENAMED_LOG": %s",
+			    oldrefname, strerror(errno));
+		goto out;
+	}
+
+	if (refs_delete_ref(&refs->base, logmsg, oldrefname,
+			    orig_sha1, REF_NODEREF)) {
 		error("unable to delete old %s", oldrefname);
 		goto rollback;
 	}
@@ -2628,14 +2697,16 @@
 	 * the safety anyway; we want to delete the reference whatever
 	 * its current value.
 	 */
-	if (!read_ref_full(newrefname, RESOLVE_REF_READING | RESOLVE_REF_NO_RECURSE,
-			   sha1, NULL) &&
-	    delete_ref(newrefname, NULL, REF_NODEREF)) {
-		if (errno==EISDIR) {
+	if (!refs_read_ref_full(&refs->base, newrefname,
+				RESOLVE_REF_READING | RESOLVE_REF_NO_RECURSE,
+				sha1, NULL) &&
+	    refs_delete_ref(&refs->base, NULL, newrefname,
+			    NULL, REF_NODEREF)) {
+		if (errno == EISDIR) {
 			struct strbuf path = STRBUF_INIT;
 			int result;
 
-			strbuf_git_path(&path, "%s", newrefname);
+			files_ref_path(refs, &path, newrefname);
 			result = remove_empty_directories(&path);
 			strbuf_release(&path);
 
@@ -2649,7 +2720,7 @@
 		}
 	}
 
-	if (log && rename_tmp_log(newrefname))
+	if (log && rename_tmp_log(refs, newrefname))
 		goto rollback;
 
 	logmoved = log;
@@ -2670,7 +2741,8 @@
 		goto rollback;
 	}
 
-	return 0;
+	ret = 0;
+	goto out;
 
  rollback:
 	lock = lock_ref_sha1_basic(refs, oldrefname, NULL, NULL, NULL,
@@ -2682,7 +2754,7 @@
 	}
 
 	flag = log_all_ref_updates;
-	log_all_ref_updates = 0;
+	log_all_ref_updates = LOG_REFS_NONE;
 	if (write_ref_to_lockfile(lock, orig_sha1, &err) ||
 	    commit_ref_update(refs, lock, orig_sha1, NULL, &err)) {
 		error("unable to write current sha1 into %s: %s", oldrefname, err.buf);
@@ -2691,15 +2763,20 @@
 	log_all_ref_updates = flag;
 
  rollbacklog:
-	if (logmoved && rename(git_path("logs/%s", newrefname), git_path("logs/%s", oldrefname)))
+	if (logmoved && rename(sb_newref.buf, sb_oldref.buf))
 		error("unable to restore logfile %s from %s: %s",
 			oldrefname, newrefname, strerror(errno));
 	if (!logmoved && log &&
-	    rename(git_path(TMP_RENAMED_LOG), git_path("logs/%s", oldrefname)))
-		error("unable to restore logfile %s from "TMP_RENAMED_LOG": %s",
+	    rename(tmp_renamed_log.buf, sb_oldref.buf))
+		error("unable to restore logfile %s from logs/"TMP_RENAMED_LOG": %s",
 			oldrefname, strerror(errno));
+	ret = 1;
+ out:
+	strbuf_release(&sb_newref);
+	strbuf_release(&sb_oldref);
+	strbuf_release(&tmp_renamed_log);
 
-	return 1;
+	return ret;
 }
 
 static int close_ref(struct ref_lock *lock)
@@ -2740,66 +2817,93 @@
 	return 0;
 }
 
-/*
- * Create a reflog for a ref.  If force_create = 0, the reflog will
- * only be created for certain refs (those for which
- * should_autocreate_reflog returns non-zero.  Otherwise, create it
- * regardless of the ref name.  Fill in *err and return -1 on failure.
- */
-static int log_ref_setup(const char *refname, struct strbuf *logfile, struct strbuf *err, int force_create)
+static int open_or_create_logfile(const char *path, void *cb)
 {
-	int logfd, oflags = O_APPEND | O_WRONLY;
+	int *fd = cb;
 
-	strbuf_git_path(logfile, "logs/%s", refname);
-	if (force_create || should_autocreate_reflog(refname)) {
-		if (safe_create_leading_directories(logfile->buf) < 0) {
-			strbuf_addf(err, "unable to create directory for '%s': "
-				    "%s", logfile->buf, strerror(errno));
-			return -1;
-		}
-		oflags |= O_CREAT;
-	}
-
-	logfd = open(logfile->buf, oflags, 0666);
-	if (logfd < 0) {
-		if (!(oflags & O_CREAT) && (errno == ENOENT || errno == EISDIR))
-			return 0;
-
-		if (errno == EISDIR) {
-			if (remove_empty_directories(logfile)) {
-				strbuf_addf(err, "there are still logs under "
-					    "'%s'", logfile->buf);
-				return -1;
-			}
-			logfd = open(logfile->buf, oflags, 0666);
-		}
-
-		if (logfd < 0) {
-			strbuf_addf(err, "unable to append to '%s': %s",
-				    logfile->buf, strerror(errno));
-			return -1;
-		}
-	}
-
-	adjust_shared_perm(logfile->buf);
-	close(logfd);
-	return 0;
+	*fd = open(path, O_APPEND | O_WRONLY | O_CREAT, 0666);
+	return (*fd < 0) ? -1 : 0;
 }
 
+/*
+ * Create a reflog for a ref. If force_create = 0, only create the
+ * reflog for certain refs (those for which should_autocreate_reflog
+ * returns non-zero). Otherwise, create it regardless of the reference
+ * name. If the logfile already existed or was created, return 0 and
+ * set *logfd to the file descriptor opened for appending to the file.
+ * If no logfile exists and we decided not to create one, return 0 and
+ * set *logfd to -1. On failure, fill in *err, set *logfd to -1, and
+ * return -1.
+ */
+static int log_ref_setup(struct files_ref_store *refs,
+			 const char *refname, int force_create,
+			 int *logfd, struct strbuf *err)
+{
+	struct strbuf logfile_sb = STRBUF_INIT;
+	char *logfile;
+
+	files_reflog_path(refs, &logfile_sb, refname);
+	logfile = strbuf_detach(&logfile_sb, NULL);
+
+	if (force_create || should_autocreate_reflog(refname)) {
+		if (raceproof_create_file(logfile, open_or_create_logfile, logfd)) {
+			if (errno == ENOENT)
+				strbuf_addf(err, "unable to create directory for '%s': "
+					    "%s", logfile, strerror(errno));
+			else if (errno == EISDIR)
+				strbuf_addf(err, "there are still logs under '%s'",
+					    logfile);
+			else
+				strbuf_addf(err, "unable to append to '%s': %s",
+					    logfile, strerror(errno));
+
+			goto error;
+		}
+	} else {
+		*logfd = open(logfile, O_APPEND | O_WRONLY, 0666);
+		if (*logfd < 0) {
+			if (errno == ENOENT || errno == EISDIR) {
+				/*
+				 * The logfile doesn't already exist,
+				 * but that is not an error; it only
+				 * means that we won't write log
+				 * entries to it.
+				 */
+				;
+			} else {
+				strbuf_addf(err, "unable to append to '%s': %s",
+					    logfile, strerror(errno));
+				goto error;
+			}
+		}
+	}
+
+	if (*logfd >= 0)
+		adjust_shared_perm(logfile);
+
+	free(logfile);
+	return 0;
+
+error:
+	free(logfile);
+	return -1;
+}
 
 static int files_create_reflog(struct ref_store *ref_store,
 			       const char *refname, int force_create,
 			       struct strbuf *err)
 {
-	int ret;
-	struct strbuf sb = STRBUF_INIT;
+	struct files_ref_store *refs =
+		files_downcast(ref_store, REF_STORE_WRITE, "create_reflog");
+	int fd;
 
-	/* Check validity (but we don't need the result): */
-	files_downcast(ref_store, 0, "create_reflog");
+	if (log_ref_setup(refs, refname, force_create, &fd, err))
+		return -1;
 
-	ret = log_ref_setup(refname, &sb, err, force_create);
-	strbuf_release(&sb);
-	return ret;
+	if (fd >= 0)
+		close(fd);
+
+	return 0;
 }
 
 static int log_ref_write_fd(int fd, const unsigned char *old_sha1,
@@ -2828,59 +2932,51 @@
 	return 0;
 }
 
-static int log_ref_write_1(const char *refname, const unsigned char *old_sha1,
-			   const unsigned char *new_sha1, const char *msg,
-			   struct strbuf *logfile, int flags,
-			   struct strbuf *err)
+static int files_log_ref_write(struct files_ref_store *refs,
+			       const char *refname, const unsigned char *old_sha1,
+			       const unsigned char *new_sha1, const char *msg,
+			       int flags, struct strbuf *err)
 {
-	int logfd, result, oflags = O_APPEND | O_WRONLY;
+	int logfd, result;
 
-	if (log_all_ref_updates < 0)
-		log_all_ref_updates = !is_bare_repository();
+	if (log_all_ref_updates == LOG_REFS_UNSET)
+		log_all_ref_updates = is_bare_repository() ? LOG_REFS_NONE : LOG_REFS_NORMAL;
 
-	result = log_ref_setup(refname, logfile, err, flags & REF_FORCE_CREATE_REFLOG);
+	result = log_ref_setup(refs, refname,
+			       flags & REF_FORCE_CREATE_REFLOG,
+			       &logfd, err);
 
 	if (result)
 		return result;
 
-	logfd = open(logfile->buf, oflags);
 	if (logfd < 0)
 		return 0;
 	result = log_ref_write_fd(logfd, old_sha1, new_sha1,
 				  git_committer_info(0), msg);
 	if (result) {
-		strbuf_addf(err, "unable to append to '%s': %s", logfile->buf,
-			    strerror(errno));
+		struct strbuf sb = STRBUF_INIT;
+		int save_errno = errno;
+
+		files_reflog_path(refs, &sb, refname);
+		strbuf_addf(err, "unable to append to '%s': %s",
+			    sb.buf, strerror(save_errno));
+		strbuf_release(&sb);
 		close(logfd);
 		return -1;
 	}
 	if (close(logfd)) {
-		strbuf_addf(err, "unable to append to '%s': %s", logfile->buf,
-			    strerror(errno));
+		struct strbuf sb = STRBUF_INIT;
+		int save_errno = errno;
+
+		files_reflog_path(refs, &sb, refname);
+		strbuf_addf(err, "unable to append to '%s': %s",
+			    sb.buf, strerror(save_errno));
+		strbuf_release(&sb);
 		return -1;
 	}
 	return 0;
 }
 
-static int log_ref_write(const char *refname, const unsigned char *old_sha1,
-			 const unsigned char *new_sha1, const char *msg,
-			 int flags, struct strbuf *err)
-{
-	return files_log_ref_write(refname, old_sha1, new_sha1, msg, flags,
-				   err);
-}
-
-int files_log_ref_write(const char *refname, const unsigned char *old_sha1,
-			const unsigned char *new_sha1, const char *msg,
-			int flags, struct strbuf *err)
-{
-	struct strbuf sb = STRBUF_INIT;
-	int ret = log_ref_write_1(refname, old_sha1, new_sha1, msg, &sb, flags,
-				  err);
-	strbuf_release(&sb);
-	return ret;
-}
-
 /*
  * Write sha1 into the open lockfile, then close the lockfile. On
  * errors, rollback the lockfile, fill in *err and
@@ -2930,10 +3026,12 @@
 			     const unsigned char *sha1, const char *logmsg,
 			     struct strbuf *err)
 {
-	assert_main_repository(&refs->base, "commit_ref_update");
+	files_assert_main_repository(refs, "commit_ref_update");
 
 	clear_loose_ref_cache(refs);
-	if (log_ref_write(lock->ref_name, lock->old_oid.hash, sha1, logmsg, 0, err)) {
+	if (files_log_ref_write(refs, lock->ref_name,
+				lock->old_oid.hash, sha1,
+				logmsg, 0, err)) {
 		char *old_msg = strbuf_detach(err, NULL);
 		strbuf_addf(err, "cannot update the ref '%s': %s",
 			    lock->ref_name, old_msg);
@@ -2959,13 +3057,15 @@
 		int head_flag;
 		const char *head_ref;
 
-		head_ref = resolve_ref_unsafe("HEAD", RESOLVE_REF_READING,
-					      head_sha1, &head_flag);
+		head_ref = refs_resolve_ref_unsafe(&refs->base, "HEAD",
+						   RESOLVE_REF_READING,
+						   head_sha1, &head_flag);
 		if (head_ref && (head_flag & REF_ISSYMREF) &&
 		    !strcmp(head_ref, lock->ref_name)) {
 			struct strbuf log_err = STRBUF_INIT;
-			if (log_ref_write("HEAD", lock->old_oid.hash, sha1,
-					  logmsg, 0, &log_err)) {
+			if (files_log_ref_write(refs, "HEAD",
+						lock->old_oid.hash, sha1,
+						logmsg, 0, &log_err)) {
 				error("%s", log_err.buf);
 				strbuf_release(&log_err);
 			}
@@ -2997,23 +3097,28 @@
 	return ret;
 }
 
-static void update_symref_reflog(struct ref_lock *lock, const char *refname,
+static void update_symref_reflog(struct files_ref_store *refs,
+				 struct ref_lock *lock, const char *refname,
 				 const char *target, const char *logmsg)
 {
 	struct strbuf err = STRBUF_INIT;
 	unsigned char new_sha1[20];
-	if (logmsg && !read_ref(target, new_sha1) &&
-	    log_ref_write(refname, lock->old_oid.hash, new_sha1, logmsg, 0, &err)) {
+	if (logmsg &&
+	    !refs_read_ref_full(&refs->base, target,
+				RESOLVE_REF_READING, new_sha1, NULL) &&
+	    files_log_ref_write(refs, refname, lock->old_oid.hash,
+				new_sha1, logmsg, 0, &err)) {
 		error("%s", err.buf);
 		strbuf_release(&err);
 	}
 }
 
-static int create_symref_locked(struct ref_lock *lock, const char *refname,
+static int create_symref_locked(struct files_ref_store *refs,
+				struct ref_lock *lock, const char *refname,
 				const char *target, const char *logmsg)
 {
 	if (prefer_symlink_refs && !create_ref_symlink(lock, target)) {
-		update_symref_reflog(lock, refname, target, logmsg);
+		update_symref_reflog(refs, lock, refname, target, logmsg);
 		return 0;
 	}
 
@@ -3021,7 +3126,7 @@
 		return error("unable to fdopen %s: %s",
 			     lock->lk->tempfile.filename.buf, strerror(errno));
 
-	update_symref_reflog(lock, refname, target, logmsg);
+	update_symref_reflog(refs, lock, refname, target, logmsg);
 
 	/* no error check; commit_ref will check ferror */
 	fprintf(lock->lk->tempfile.fp, "ref: %s\n", target);
@@ -3036,7 +3141,7 @@
 			       const char *logmsg)
 {
 	struct files_ref_store *refs =
-		files_downcast(ref_store, 0, "create_symref");
+		files_downcast(ref_store, REF_STORE_WRITE, "create_symref");
 	struct strbuf err = STRBUF_INIT;
 	struct ref_lock *lock;
 	int ret;
@@ -3050,13 +3155,22 @@
 		return -1;
 	}
 
-	ret = create_symref_locked(lock, refname, target, logmsg);
+	ret = create_symref_locked(refs, lock, refname, target, logmsg);
 	unlock_ref(lock);
 	return ret;
 }
 
-int set_worktree_head_symref(const char *gitdir, const char *target)
+int set_worktree_head_symref(const char *gitdir, const char *target, const char *logmsg)
 {
+	/*
+	 * FIXME: this obviously will not work well for future refs
+	 * backends. This function needs to die.
+	 */
+	struct files_ref_store *refs =
+		files_downcast(get_main_ref_store(),
+			       REF_STORE_WRITE,
+			       "set_head_symref");
+
 	static struct lock_file head_lock;
 	struct ref_lock *lock;
 	struct strbuf head_path = STRBUF_INIT;
@@ -3083,7 +3197,7 @@
 	lock->lk = &head_lock;
 	lock->ref_name = xstrdup(head_rel);
 
-	ret = create_symref_locked(lock, head_rel, target, NULL);
+	ret = create_symref_locked(refs, lock, head_rel, target, logmsg);
 
 	unlock_ref(lock); /* will free lock */
 	strbuf_release(&head_path);
@@ -3093,36 +3207,45 @@
 static int files_reflog_exists(struct ref_store *ref_store,
 			       const char *refname)
 {
+	struct files_ref_store *refs =
+		files_downcast(ref_store, REF_STORE_READ, "reflog_exists");
+	struct strbuf sb = STRBUF_INIT;
 	struct stat st;
+	int ret;
 
-	/* Check validity (but we don't need the result): */
-	files_downcast(ref_store, 0, "reflog_exists");
-
-	return !lstat(git_path("logs/%s", refname), &st) &&
-		S_ISREG(st.st_mode);
+	files_reflog_path(refs, &sb, refname);
+	ret = !lstat(sb.buf, &st) && S_ISREG(st.st_mode);
+	strbuf_release(&sb);
+	return ret;
 }
 
 static int files_delete_reflog(struct ref_store *ref_store,
 			       const char *refname)
 {
-	/* Check validity (but we don't need the result): */
-	files_downcast(ref_store, 0, "delete_reflog");
+	struct files_ref_store *refs =
+		files_downcast(ref_store, REF_STORE_WRITE, "delete_reflog");
+	struct strbuf sb = STRBUF_INIT;
+	int ret;
 
-	return remove_path(git_path("logs/%s", refname));
+	files_reflog_path(refs, &sb, refname);
+	ret = remove_path(sb.buf);
+	strbuf_release(&sb);
+	return ret;
 }
 
 static int show_one_reflog_ent(struct strbuf *sb, each_reflog_ent_fn fn, void *cb_data)
 {
-	unsigned char osha1[20], nsha1[20];
+	struct object_id ooid, noid;
 	char *email_end, *message;
 	unsigned long timestamp;
 	int tz;
+	const char *p = sb->buf;
 
 	/* old SP new SP name <email> SP time TAB msg LF */
-	if (sb->len < 83 || sb->buf[sb->len - 1] != '\n' ||
-	    get_sha1_hex(sb->buf, osha1) || sb->buf[40] != ' ' ||
-	    get_sha1_hex(sb->buf + 41, nsha1) || sb->buf[81] != ' ' ||
-	    !(email_end = strchr(sb->buf + 82, '>')) ||
+	if (!sb->len || sb->buf[sb->len - 1] != '\n' ||
+	    parse_oid_hex(p, &ooid, &p) || *p++ != ' ' ||
+	    parse_oid_hex(p, &noid, &p) || *p++ != ' ' ||
+	    !(email_end = strchr(p, '>')) ||
 	    email_end[1] != ' ' ||
 	    !(timestamp = strtoul(email_end + 2, &message, 10)) ||
 	    !message || message[0] != ' ' ||
@@ -3136,7 +3259,7 @@
 		message += 6;
 	else
 		message += 7;
-	return fn(osha1, nsha1, sb->buf + 82, timestamp, tz, message, cb_data);
+	return fn(&ooid, &noid, p, timestamp, tz, message, cb_data);
 }
 
 static char *find_beginning_of_line(char *bob, char *scan)
@@ -3155,15 +3278,17 @@
 					     each_reflog_ent_fn fn,
 					     void *cb_data)
 {
+	struct files_ref_store *refs =
+		files_downcast(ref_store, REF_STORE_READ,
+			       "for_each_reflog_ent_reverse");
 	struct strbuf sb = STRBUF_INIT;
 	FILE *logfp;
 	long pos;
 	int ret = 0, at_tail = 1;
 
-	/* Check validity (but we don't need the result): */
-	files_downcast(ref_store, 0, "for_each_reflog_ent_reverse");
-
-	logfp = fopen(git_path("logs/%s", refname), "r");
+	files_reflog_path(refs, &sb, refname);
+	logfp = fopen(sb.buf, "r");
+	strbuf_release(&sb);
 	if (!logfp)
 		return -1;
 
@@ -3262,14 +3387,16 @@
 				     const char *refname,
 				     each_reflog_ent_fn fn, void *cb_data)
 {
+	struct files_ref_store *refs =
+		files_downcast(ref_store, REF_STORE_READ,
+			       "for_each_reflog_ent");
 	FILE *logfp;
 	struct strbuf sb = STRBUF_INIT;
 	int ret = 0;
 
-	/* Check validity (but we don't need the result): */
-	files_downcast(ref_store, 0, "for_each_reflog_ent");
-
-	logfp = fopen(git_path("logs/%s", refname), "r");
+	files_reflog_path(refs, &sb, refname);
+	logfp = fopen(sb.buf, "r");
+	strbuf_release(&sb);
 	if (!logfp)
 		return -1;
 
@@ -3283,6 +3410,7 @@
 struct files_reflog_iterator {
 	struct ref_iterator base;
 
+	struct ref_store *ref_store;
 	struct dir_iterator *dir_iterator;
 	struct object_id oid;
 };
@@ -3304,8 +3432,9 @@
 		if (ends_with(diter->basename, ".lock"))
 			continue;
 
-		if (read_ref_full(diter->relative_path, 0,
-				  iter->oid.hash, &flags)) {
+		if (refs_read_ref_full(iter->ref_store,
+				       diter->relative_path, 0,
+				       iter->oid.hash, &flags)) {
 			error("bad ref for %s", diter->path.buf);
 			continue;
 		}
@@ -3349,14 +3478,18 @@
 
 static struct ref_iterator *files_reflog_iterator_begin(struct ref_store *ref_store)
 {
+	struct files_ref_store *refs =
+		files_downcast(ref_store, REF_STORE_READ,
+			       "reflog_iterator_begin");
 	struct files_reflog_iterator *iter = xcalloc(1, sizeof(*iter));
 	struct ref_iterator *ref_iterator = &iter->base;
-
-	/* Check validity (but we don't need the result): */
-	files_downcast(ref_store, 0, "reflog_iterator_begin");
+	struct strbuf sb = STRBUF_INIT;
 
 	base_ref_iterator_init(ref_iterator, &files_reflog_iterator_vtable);
-	iter->dir_iterator = dir_iterator_begin(git_path("logs"));
+	files_reflog_path(refs, &sb, NULL);
+	iter->dir_iterator = dir_iterator_begin(sb.buf);
+	iter->ref_store = ref_store;
+	strbuf_release(&sb);
 	return ref_iterator;
 }
 
@@ -3560,7 +3693,7 @@
 	int ret;
 	struct ref_lock *lock;
 
-	assert_main_repository(&refs->base, "lock_ref_for_update");
+	files_assert_main_repository(refs, "lock_ref_for_update");
 
 	if ((update->flags & REF_HAVE_NEW) && is_null_sha1(update->new_sha1))
 		update->flags |= REF_DELETING;
@@ -3595,8 +3728,9 @@
 			 * the transaction, so we have to read it here
 			 * to record and possibly check old_sha1:
 			 */
-			if (read_ref_full(referent.buf, 0,
-					  lock->old_oid.hash, NULL)) {
+			if (refs_read_ref_full(&refs->base,
+					       referent.buf, 0,
+					       lock->old_oid.hash, NULL)) {
 				if (update->flags & REF_HAVE_OLD) {
 					strbuf_addf(err, "cannot lock ref '%s': "
 						    "error reading reference",
@@ -3686,7 +3820,8 @@
 				    struct strbuf *err)
 {
 	struct files_ref_store *refs =
-		files_downcast(ref_store, 0, "ref_transaction_commit");
+		files_downcast(ref_store, REF_STORE_WRITE,
+			       "ref_transaction_commit");
 	int ret = 0, i;
 	struct string_list refs_to_delete = STRING_LIST_INIT_NODUP;
 	struct string_list_item *ref_to_delete;
@@ -3694,6 +3829,7 @@
 	char *head_ref = NULL;
 	int head_type;
 	struct object_id head_oid;
+	struct strbuf sb = STRBUF_INIT;
 
 	assert(err);
 
@@ -3748,8 +3884,9 @@
 	 * head_ref within the transaction, then split_head_update()
 	 * arranges for the reflog of HEAD to be updated, too.
 	 */
-	head_ref = resolve_refdup("HEAD", RESOLVE_REF_NO_RECURSE,
-				  head_oid.hash, &head_type);
+	head_ref = refs_resolve_refdup(ref_store, "HEAD",
+				       RESOLVE_REF_NO_RECURSE,
+				       head_oid.hash, &head_type);
 
 	if (head_ref && !(head_type & REF_ISSYMREF)) {
 		free(head_ref);
@@ -3778,9 +3915,12 @@
 
 		if (update->flags & REF_NEEDS_COMMIT ||
 		    update->flags & REF_LOG_ONLY) {
-			if (log_ref_write(lock->ref_name, lock->old_oid.hash,
-					  update->new_sha1,
-					  update->msg, update->flags, err)) {
+			if (files_log_ref_write(refs,
+						lock->ref_name,
+						lock->old_oid.hash,
+						update->new_sha1,
+						update->msg, update->flags,
+						err)) {
 				char *old_msg = strbuf_detach(err, NULL);
 
 				strbuf_addf(err, "cannot update the ref '%s': %s",
@@ -3810,9 +3950,16 @@
 
 		if (update->flags & REF_DELETING &&
 		    !(update->flags & REF_LOG_ONLY)) {
-			if (delete_ref_loose(lock, update->type, err)) {
-				ret = TRANSACTION_GENERIC_ERROR;
-				goto cleanup;
+			if (!(update->type & REF_ISPACKED) ||
+			    update->type & REF_ISSYMREF) {
+				/* It is a loose reference. */
+				strbuf_reset(&sb);
+				files_ref_path(refs, &sb, lock->ref_name);
+				if (unlink_or_msg(sb.buf, err)) {
+					ret = TRANSACTION_GENERIC_ERROR;
+					goto cleanup;
+				}
+				update->flags |= REF_DELETED_LOOSE;
 			}
 
 			if (!(update->flags & REF_ISPRUNING))
@@ -3825,16 +3972,41 @@
 		ret = TRANSACTION_GENERIC_ERROR;
 		goto cleanup;
 	}
-	for_each_string_list_item(ref_to_delete, &refs_to_delete)
-		unlink_or_warn(git_path("logs/%s", ref_to_delete->string));
+
+	/* Delete the reflogs of any references that were deleted: */
+	for_each_string_list_item(ref_to_delete, &refs_to_delete) {
+		strbuf_reset(&sb);
+		files_reflog_path(refs, &sb, ref_to_delete->string);
+		if (!unlink_or_warn(sb.buf))
+			try_remove_empty_parents(refs, ref_to_delete->string,
+						 REMOVE_EMPTY_PARENTS_REFLOG);
+	}
+
 	clear_loose_ref_cache(refs);
 
 cleanup:
+	strbuf_release(&sb);
 	transaction->state = REF_TRANSACTION_CLOSED;
 
-	for (i = 0; i < transaction->nr; i++)
-		if (transaction->updates[i]->backend_data)
-			unlock_ref(transaction->updates[i]->backend_data);
+	for (i = 0; i < transaction->nr; i++) {
+		struct ref_update *update = transaction->updates[i];
+		struct ref_lock *lock = update->backend_data;
+
+		if (lock)
+			unlock_ref(lock);
+
+		if (update->flags & REF_DELETED_LOOSE) {
+			/*
+			 * The loose reference was deleted. Delete any
+			 * empty parent directories. (Note that this
+			 * can only work because we have already
+			 * removed the lockfile.)
+			 */
+			try_remove_empty_parents(refs, update->refname,
+						 REMOVE_EMPTY_PARENTS_REF);
+		}
+	}
+
 	string_list_clear(&refs_to_delete, 0);
 	free(head_ref);
 	string_list_clear(&affected_refnames, 0);
@@ -3855,7 +4027,8 @@
 					    struct strbuf *err)
 {
 	struct files_ref_store *refs =
-		files_downcast(ref_store, 0, "initial_ref_transaction_commit");
+		files_downcast(ref_store, REF_STORE_WRITE,
+			       "initial_ref_transaction_commit");
 	int ret = 0, i;
 	struct string_list affected_refnames = STRING_LIST_INIT_NODUP;
 
@@ -3886,7 +4059,8 @@
 	 * so here we really only check that none of the references
 	 * that we are creating already exists.
 	 */
-	if (for_each_rawref(ref_present, &affected_refnames))
+	if (refs_for_each_rawref(&refs->base, ref_present,
+				 &affected_refnames))
 		die("BUG: initial ref transaction called with existing refs");
 
 	for (i = 0; i < transaction->nr; i++) {
@@ -3895,9 +4069,9 @@
 		if ((update->flags & REF_HAVE_OLD) &&
 		    !is_null_sha1(update->old_sha1))
 			die("BUG: initial ref transaction with old_sha1 set");
-		if (verify_refname_available(update->refname,
-					     &affected_refnames, NULL,
-					     err)) {
+		if (refs_verify_refname_available(&refs->base, update->refname,
+						  &affected_refnames, NULL,
+						  err)) {
 			ret = TRANSACTION_NAME_CONFLICT;
 			goto cleanup;
 		}
@@ -3936,10 +4110,10 @@
 	reflog_expiry_should_prune_fn *should_prune_fn;
 	void *policy_cb;
 	FILE *newlog;
-	unsigned char last_kept_sha1[20];
+	struct object_id last_kept_oid;
 };
 
-static int expire_reflog_ent(unsigned char *osha1, unsigned char *nsha1,
+static int expire_reflog_ent(struct object_id *ooid, struct object_id *noid,
 			     const char *email, unsigned long timestamp, int tz,
 			     const char *message, void *cb_data)
 {
@@ -3947,9 +4121,9 @@
 	struct expire_reflog_policy_cb *policy_cb = cb->policy_cb;
 
 	if (cb->flags & EXPIRE_REFLOGS_REWRITE)
-		osha1 = cb->last_kept_sha1;
+		ooid = &cb->last_kept_oid;
 
-	if ((*cb->should_prune_fn)(osha1, nsha1, email, timestamp, tz,
+	if ((*cb->should_prune_fn)(ooid->hash, noid->hash, email, timestamp, tz,
 				   message, policy_cb)) {
 		if (!cb->newlog)
 			printf("would prune %s", message);
@@ -3958,9 +4132,9 @@
 	} else {
 		if (cb->newlog) {
 			fprintf(cb->newlog, "%s %s %s %lu %+05d\t%s",
-				sha1_to_hex(osha1), sha1_to_hex(nsha1),
+				oid_to_hex(ooid), oid_to_hex(noid),
 				email, timestamp, tz, message);
-			hashcpy(cb->last_kept_sha1, nsha1);
+			oidcpy(&cb->last_kept_oid, noid);
 		}
 		if (cb->flags & EXPIRE_REFLOGS_VERBOSE)
 			printf("keep %s", message);
@@ -3977,10 +4151,11 @@
 			       void *policy_cb_data)
 {
 	struct files_ref_store *refs =
-		files_downcast(ref_store, 0, "reflog_expire");
+		files_downcast(ref_store, REF_STORE_WRITE, "reflog_expire");
 	static struct lock_file reflog_lock;
 	struct expire_reflog_cb cb;
 	struct ref_lock *lock;
+	struct strbuf log_file_sb = STRBUF_INIT;
 	char *log_file;
 	int status = 0;
 	int type;
@@ -4004,12 +4179,13 @@
 		strbuf_release(&err);
 		return -1;
 	}
-	if (!reflog_exists(refname)) {
+	if (!refs_reflog_exists(ref_store, refname)) {
 		unlock_ref(lock);
 		return 0;
 	}
 
-	log_file = git_pathdup("logs/%s", refname);
+	files_reflog_path(refs, &log_file_sb, refname);
+	log_file = strbuf_detach(&log_file_sb, NULL);
 	if (!(flags & EXPIRE_REFLOGS_DRY_RUN)) {
 		/*
 		 * Even though holding $GIT_DIR/logs/$reflog.lock has
@@ -4034,7 +4210,7 @@
 	}
 
 	(*prepare_fn)(refname, sha1, cb.policy_cb);
-	for_each_reflog_ent(refname, expire_reflog_ent, &cb);
+	refs_for_each_reflog_ent(ref_store, refname, expire_reflog_ent, &cb);
 	(*cleanup_fn)(cb.policy_cb);
 
 	if (!(flags & EXPIRE_REFLOGS_DRY_RUN)) {
@@ -4047,14 +4223,14 @@
 		 */
 		int update = (flags & EXPIRE_REFLOGS_UPDATE_REF) &&
 			!(type & REF_ISSYMREF) &&
-			!is_null_sha1(cb.last_kept_sha1);
+			!is_null_oid(&cb.last_kept_oid);
 
 		if (close_lock_file(&reflog_lock)) {
 			status |= error("couldn't write %s: %s", log_file,
 					strerror(errno));
 		} else if (update &&
 			   (write_in_full(get_lock_file_fd(lock->lk),
-				sha1_to_hex(cb.last_kept_sha1), 40) != 40 ||
+				oid_to_hex(&cb.last_kept_oid), GIT_SHA1_HEXSZ) != GIT_SHA1_HEXSZ ||
 			    write_str_in_full(get_lock_file_fd(lock->lk), "\n") != 1 ||
 			    close_ref(lock) < 0)) {
 			status |= error("couldn't write %s",
@@ -4080,18 +4256,21 @@
 
 static int files_init_db(struct ref_store *ref_store, struct strbuf *err)
 {
-	/* Check validity (but we don't need the result): */
-	files_downcast(ref_store, 0, "init_db");
+	struct files_ref_store *refs =
+		files_downcast(ref_store, REF_STORE_WRITE, "init_db");
+	struct strbuf sb = STRBUF_INIT;
 
 	/*
 	 * Create .git/refs/{heads,tags}
 	 */
-	safe_create_dir(git_path("refs/heads"), 1);
-	safe_create_dir(git_path("refs/tags"), 1);
-	if (get_shared_repository()) {
-		adjust_shared_perm(git_path("refs/heads"));
-		adjust_shared_perm(git_path("refs/tags"));
-	}
+	files_ref_path(refs, &sb, "refs/heads");
+	safe_create_dir(sb.buf, 1);
+
+	strbuf_reset(&sb);
+	files_ref_path(refs, &sb, "refs/tags");
+	safe_create_dir(sb.buf, 1);
+
+	strbuf_release(&sb);
 	return 0;
 }
 
diff --git a/refs/refs-internal.h b/refs/refs-internal.h
index 708b260..6904986 100644
--- a/refs/refs-internal.h
+++ b/refs/refs-internal.h
@@ -56,17 +56,24 @@
 #define REF_UPDATE_VIA_HEAD 0x100
 
 /*
+ * Used as a flag in ref_update::flags when the loose reference has
+ * been deleted.
+ */
+#define REF_DELETED_LOOSE 0x200
+
+/*
  * Return true iff refname is minimally safe. "Safe" here means that
  * deleting a loose reference by this name will not do any damage, for
  * example by causing a file that is not a reference to be deleted.
  * This function does not check that the reference name is legal; for
  * that, use check_refname_format().
  *
- * We consider a refname that starts with "refs/" to be safe as long
- * as any ".." components that it might contain do not escape "refs/".
- * Names that do not start with "refs/" are considered safe iff they
- * consist entirely of upper case characters and '_' (like "HEAD" and
- * "MERGE_HEAD" but not "config" or "FOO/BAR").
+ * A refname that starts with "refs/" is considered safe iff it
+ * doesn't contain any "." or ".." components or consecutive '/'
+ * characters, end with '/', or (on Windows) contain any '\'
+ * characters. Names that do not start with "refs/" are considered
+ * safe iff they consist entirely of upper case characters and '_'
+ * (like "HEAD" and "MERGE_HEAD" but not "config" or "FOO/BAR").
  */
 int refname_is_safe(const char *refname);
 
@@ -105,36 +112,12 @@
 enum peel_status peel_object(const unsigned char *name, unsigned char *sha1);
 
 /*
- * Return 0 if a reference named refname could be created without
- * conflicting with the name of an existing reference. Otherwise,
- * return a negative value and write an explanation to err. If extras
- * is non-NULL, it is a list of additional refnames with which refname
- * is not allowed to conflict. If skip is non-NULL, ignore potential
- * conflicts with refs in skip (e.g., because they are scheduled for
- * deletion in the same operation). Behavior is undefined if the same
- * name is listed in both extras and skip.
- *
- * Two reference names conflict if one of them exactly matches the
- * leading components of the other; e.g., "foo/bar" conflicts with
- * both "foo" and with "foo/bar/baz" but not with "foo/bar" or
- * "foo/barbados".
- *
- * extras and skip must be sorted.
- */
-int verify_refname_available(const char *newname,
-			     const struct string_list *extras,
-			     const struct string_list *skip,
-			     struct strbuf *err);
-
-/*
  * Copy the reflog message msg to buf, which has been allocated sufficiently
  * large, while cleaning up the whitespaces.  Especially, convert LF to space,
  * because reflog file is one line per entry.
  */
 int copy_reflog_msg(char *buf, const char *msg);
 
-int should_autocreate_reflog(const char *refname);
-
 /**
  * Information needed for a single ref update. Set new_sha1 to the new
  * value or to null_sha1 to delete the ref. To check the old value
@@ -157,8 +140,9 @@
 
 	/*
 	 * One or more of REF_HAVE_NEW, REF_HAVE_OLD, REF_NODEREF,
-	 * REF_DELETING, REF_ISPRUNING, REF_LOG_ONLY, and
-	 * REF_UPDATE_VIA_HEAD:
+	 * REF_DELETING, REF_ISPRUNING, REF_LOG_ONLY,
+	 * REF_UPDATE_VIA_HEAD, REF_NEEDS_COMMIT, and
+	 * REF_DELETED_LOOSE:
 	 */
 	unsigned int flags;
 
@@ -216,16 +200,13 @@
  * as atomically as possible.  This structure is opaque to callers.
  */
 struct ref_transaction {
+	struct ref_store *ref_store;
 	struct ref_update **updates;
 	size_t alloc;
 	size_t nr;
 	enum ref_transaction_state state;
 };
 
-int files_log_ref_write(const char *refname, const unsigned char *old_sha1,
-			const unsigned char *new_sha1, const char *msg,
-			int flags, struct strbuf *err);
-
 /*
  * Check for entries in extras that are within the specified
  * directory, where dirname is a reference directory name including
@@ -250,7 +231,9 @@
  * processes (though rename_ref() catches some races that might get by
  * this check).
  */
-int rename_ref_available(const char *old_refname, const char *new_refname);
+int refs_rename_ref_available(struct ref_store *refs,
+			      const char *old_refname,
+			      const char *new_refname);
 
 /* We allow "recursive" symbolic refs. Only within reason, though */
 #define SYMREF_MAXDEPTH 5
@@ -479,13 +462,19 @@
 
 /* refs backends */
 
+/* ref_store_init flags */
+#define REF_STORE_READ		(1 << 0)
+#define REF_STORE_WRITE		(1 << 1) /* can perform update operations */
+#define REF_STORE_ODB		(1 << 2) /* has access to object database */
+#define REF_STORE_MAIN		(1 << 3)
+
 /*
- * Initialize the ref_store for the specified submodule, or for the
- * main repository if submodule == NULL. These functions should call
- * base_ref_store_init() to initialize the shared part of the
- * ref_store and to record the ref_store for later lookup.
+ * Initialize the ref_store for the specified gitdir. These functions
+ * should call base_ref_store_init() to initialize the shared part of
+ * the ref_store and to record the ref_store for later lookup.
  */
-typedef struct ref_store *ref_store_init_fn(const char *submodule);
+typedef struct ref_store *ref_store_init_fn(const char *gitdir,
+					    unsigned int flags);
 
 typedef int ref_init_db_fn(struct ref_store *refs, struct strbuf *err);
 
@@ -629,64 +618,13 @@
 struct ref_store {
 	/* The backend describing this ref_store's storage scheme: */
 	const struct ref_storage_be *be;
-
-	/*
-	 * The name of the submodule represented by this object, or
-	 * the empty string if it represents the main repository's
-	 * reference store:
-	 */
-	const char *submodule;
-
-	/*
-	 * Submodule reference store instances are stored in a linked
-	 * list using this pointer.
-	 */
-	struct ref_store *next;
 };
 
 /*
- * Fill in the generic part of refs for the specified submodule and
- * add it to our collection of reference stores.
+ * Fill in the generic part of refs and add it to our collection of
+ * reference stores.
  */
 void base_ref_store_init(struct ref_store *refs,
-			 const struct ref_storage_be *be,
-			 const char *submodule);
-
-/*
- * Create, record, and return a ref_store instance for the specified
- * submodule (or the main repository if submodule is NULL).
- *
- * For backwards compatibility, submodule=="" is treated the same as
- * submodule==NULL.
- */
-struct ref_store *ref_store_init(const char *submodule);
-
-/*
- * Return the ref_store instance for the specified submodule (or the
- * main repository if submodule is NULL). If that ref_store hasn't
- * been initialized yet, return NULL.
- *
- * For backwards compatibility, submodule=="" is treated the same as
- * submodule==NULL.
- */
-struct ref_store *lookup_ref_store(const char *submodule);
-
-/*
- * Return the ref_store instance for the specified submodule. For the
- * main repository, use submodule==NULL; such a call cannot fail. For
- * a submodule, the submodule must exist and be a nonbare repository,
- * otherwise return NULL. If the requested reference store has not yet
- * been initialized, initialize it first.
- *
- * For backwards compatibility, submodule=="" is treated the same as
- * submodule==NULL.
- */
-struct ref_store *get_ref_store(const char *submodule);
-
-/*
- * Die if refs is for a submodule (i.e., not for the main repository).
- * caller is used in any necessary error messages.
- */
-void assert_main_repository(struct ref_store *refs, const char *caller);
+			 const struct ref_storage_be *be);
 
 #endif /* REFS_REFS_INTERNAL_H */
diff --git a/remote-curl.c b/remote-curl.c
index 34a97e7..d41fe16 100644
--- a/remote-curl.c
+++ b/remote-curl.c
@@ -22,6 +22,7 @@
 	unsigned long depth;
 	char *deepen_since;
 	struct string_list deepen_not;
+	struct string_list push_options;
 	unsigned progress : 1,
 		check_self_contained_and_connected : 1,
 		cloning : 1,
@@ -139,6 +140,9 @@
 		else
 			return -1;
 		return 0;
+	} else if (!strcmp(name, "push-option")) {
+		string_list_append(&options.push_options, value);
+		return 0;
 
 #if LIBCURL_VERSION_NUM >= 0x070a08
 	} else if (!strcmp(name, "family")) {
@@ -163,7 +167,7 @@
 	char *buf;
 	size_t len;
 	struct ref *refs;
-	struct sha1_array shallow;
+	struct oid_array shallow;
 	unsigned proto_git : 1;
 };
 static struct discovery *last_discovery;
@@ -230,7 +234,7 @@
 	if (d) {
 		if (d == last_discovery)
 			last_discovery = NULL;
-		free(d->shallow.sha1);
+		free(d->shallow.oid);
 		free(d->buf_alloc);
 		free_refs(d->refs);
 		free(d);
@@ -943,6 +947,9 @@
 		argv_array_push(&args, "--quiet");
 	else if (options.verbosity > 1)
 		argv_array_push(&args, "--verbose");
+	for (i = 0; i < options.push_options.nr; i++)
+		argv_array_pushf(&args, "--push-option=%s",
+				 options.push_options.items[i].string);
 	argv_array_push(&args, options.progress ? "--progress" : "--no-progress");
 	for_each_string_list_item(cas_option, &cas_options)
 		argv_array_push(&args, cas_option->string);
@@ -1028,6 +1035,7 @@
 	options.progress = !!isatty(2);
 	options.thin = 1;
 	string_list_init(&options.deepen_not, 1);
+	string_list_init(&options.push_options, 1);
 
 	remote = remote_get(argv[1]);
 
diff --git a/remote.c b/remote.c
index d5eaec7..801137c 100644
--- a/remote.c
+++ b/remote.c
@@ -255,6 +255,7 @@
 
 	if (!f)
 		return;
+	remote->configured_in_repo = 1;
 	remote->origin = REMOTE_REMOTES;
 	while (strbuf_getline(&buf, f) != EOF) {
 		const char *v;
@@ -289,6 +290,7 @@
 		return;
 	}
 
+	remote->configured_in_repo = 1;
 	remote->origin = REMOTE_BRANCHES;
 
 	/*
@@ -371,6 +373,8 @@
 	}
 	remote = make_remote(name, namelen);
 	remote->origin = REMOTE_CONFIG;
+	if (current_config_scope() == CONFIG_SCOPE_REPO)
+		remote->configured_in_repo = 1;
 	if (!strcmp(subkey, "mirror"))
 		remote->mirror = git_config_bool(key, value);
 	else if (!strcmp(subkey, "skipdefaultupdate"))
@@ -626,7 +630,7 @@
 	return parse_refspec_internal(nr_refspec, refspec, 1, 0);
 }
 
-static struct refspec *parse_push_refspec(int nr_refspec, const char **refspec)
+struct refspec *parse_push_refspec(int nr_refspec, const char **refspec)
 {
 	return parse_refspec_internal(nr_refspec, refspec, 0, 0);
 }
@@ -689,7 +693,7 @@
 		name = get_default(current_branch, &name_given);
 
 	ret = make_remote(name, 0);
-	if (valid_remote_nick(name)) {
+	if (valid_remote_nick(name) && have_git_dir()) {
 		if (!valid_remote(ret))
 			read_remotes_file(ret);
 		if (!valid_remote(ret))
@@ -714,9 +718,13 @@
 	return remote_get_1(name, pushremote_for_branch);
 }
 
-int remote_is_configured(struct remote *remote)
+int remote_is_configured(struct remote *remote, int in_repo)
 {
-	return remote && remote->origin;
+	if (!remote)
+		return 0;
+	if (in_repo)
+		return remote->configured_in_repo;
+	return !!remote->origin;
 }
 
 int for_each_remote(each_remote_fn fn, void *priv)
@@ -2271,7 +2279,7 @@
 	return entry;
 }
 
-int parse_push_cas_option(struct push_cas_option *cas, const char *arg, int unset)
+static int parse_push_cas_option(struct push_cas_option *cas, const char *arg, int unset)
 {
 	const char *colon;
 	struct push_cas *entry;
diff --git a/remote.h b/remote.h
index 9248811..6c28cd3 100644
--- a/remote.h
+++ b/remote.h
@@ -15,7 +15,7 @@
 	struct hashmap_entry ent;  /* must be first */
 
 	const char *name;
-	int origin;
+	int origin, configured_in_repo;
 
 	const char *foreign_vcs;
 
@@ -60,7 +60,7 @@
 
 struct remote *remote_get(const char *name);
 struct remote *pushremote_get(const char *name);
-int remote_is_configured(struct remote *remote);
+int remote_is_configured(struct remote *remote, int in_repo);
 
 typedef int each_remote_fn(struct remote *remote, void *priv);
 int for_each_remote(each_remote_fn fn, void *priv);
@@ -89,8 +89,13 @@
 		force:1,
 		forced_update:1,
 		expect_old_sha1:1,
-		deletion:1,
-		matched:1;
+		deletion:1;
+
+	enum {
+		REF_NOT_MATCHED = 0, /* initial value */
+		REF_MATCHED,
+		REF_UNADVERTISED_NOT_ALLOWED
+	} match_status;
 
 	/*
 	 * Order is important here, as we write to FETCH_HEAD
@@ -144,11 +149,11 @@
  */
 void free_refs(struct ref *ref);
 
-struct sha1_array;
+struct oid_array;
 extern struct ref **get_remote_heads(int in, char *src_buf, size_t src_len,
 				     struct ref **list, unsigned int flags,
-				     struct sha1_array *extra_have,
-				     struct sha1_array *shallow);
+				     struct oid_array *extra_have,
+				     struct oid_array *shallow);
 
 int resolve_remote_symref(struct ref *ref, struct ref *list);
 int ref_newer(const struct object_id *new_oid, const struct object_id *old_oid);
@@ -164,6 +169,7 @@
 
 int valid_fetch_refspec(const char *refspec);
 struct refspec *parse_fetch_refspec(int nr_refspec, const char **refspec);
+extern struct refspec *parse_push_refspec(int nr_refspec, const char **refspec);
 
 void free_refspec(int nr_refspec, struct refspec *refspec);
 
@@ -285,7 +291,6 @@
 };
 
 extern int parseopt_push_cas_option(const struct option *, const char *arg, int unset);
-extern int parse_push_cas_option(struct push_cas_option *, const char *arg, int unset);
 
 extern int is_empty_cas(const struct push_cas_option *);
 void apply_push_cas(struct push_cas_option *, struct remote *, struct ref *);
diff --git a/rerere.c b/rerere.c
index 5d083ca..3bd55ca 100644
--- a/rerere.c
+++ b/rerere.c
@@ -708,7 +708,7 @@
 {
 	int i;
 
-	hold_locked_index(&index_lock, 1);
+	hold_locked_index(&index_lock, LOCK_DIE_ON_ERROR);
 
 	for (i = 0; i < update->nr; i++) {
 		struct string_list_item *item = &update->items[i];
diff --git a/revision.c b/revision.c
index b37dbec..7ff61ff 100644
--- a/revision.c
+++ b/revision.c
@@ -147,7 +147,7 @@
 		revs->no_walk = 0;
 	if (revs->reflog_info && obj->type == OBJ_COMMIT) {
 		struct strbuf buf = STRBUF_INIT;
-		int len = interpret_branch_name(name, 0, &buf);
+		int len = interpret_branch_name(name, 0, &buf, 0);
 		int st;
 
 		if (0 < len && name[len] && buf.len)
@@ -1196,11 +1196,11 @@
 	for_each(submodule, handle_one_ref, &cb);
 }
 
-static void handle_one_reflog_commit(unsigned char *sha1, void *cb_data)
+static void handle_one_reflog_commit(struct object_id *oid, void *cb_data)
 {
 	struct all_refs_cb *cb = cb_data;
-	if (!is_null_sha1(sha1)) {
-		struct object *o = parse_object(sha1);
+	if (!is_null_oid(oid)) {
+		struct object *o = parse_object(oid->hash);
 		if (o) {
 			o->flags |= cb->all_flags;
 			/* ??? CMDLINEFLAGS ??? */
@@ -1214,12 +1214,12 @@
 	}
 }
 
-static int handle_one_reflog_ent(unsigned char *osha1, unsigned char *nsha1,
+static int handle_one_reflog_ent(struct object_id *ooid, struct object_id *noid,
 		const char *email, unsigned long timestamp, int tz,
 		const char *message, void *cb_data)
 {
-	handle_one_reflog_commit(osha1, cb_data);
-	handle_one_reflog_commit(nsha1, cb_data);
+	handle_one_reflog_commit(ooid, cb_data);
+	handle_one_reflog_commit(noid, cb_data);
 	return 0;
 }
 
diff --git a/revision.h b/revision.h
index 9fac1a6..14886ec 100644
--- a/revision.h
+++ b/revision.h
@@ -259,8 +259,6 @@
 extern void mark_parents_uninteresting(struct commit *commit);
 extern void mark_tree_uninteresting(struct tree *tree);
 
-char *path_name(struct strbuf *path, const char *name);
-
 extern void show_object_with_name(FILE *, struct object *, const char *);
 
 extern void add_pending_object(struct rev_info *revs,
diff --git a/run-command.c b/run-command.c
index 73bfba7..574b81d 100644
--- a/run-command.c
+++ b/run-command.c
@@ -48,7 +48,7 @@
 
 		kill(p->pid, sig);
 
-		if (p->process->wait_after_clean) {
+		if (p->process && p->process->wait_after_clean) {
 			p->next = children_to_wait_for;
 			children_to_wait_for = p;
 		} else {
@@ -871,8 +871,14 @@
 
 	strbuf_reset(&path);
 	strbuf_git_path(&path, "hooks/%s", name);
-	if (access(path.buf, X_OK) < 0)
+	if (access(path.buf, X_OK) < 0) {
+#ifdef STRIP_EXTENSION
+		strbuf_addstr(&path, STRIP_EXTENSION);
+		if (access(path.buf, X_OK) >= 0)
+			return path.buf;
+#endif
 		return NULL;
+	}
 	return path.buf;
 }
 
diff --git a/send-pack.c b/send-pack.c
index 6195b43..78bb34e 100644
--- a/send-pack.c
+++ b/send-pack.c
@@ -50,7 +50,7 @@
 /*
  * Make a pack stream and spit it out into file descriptor fd
  */
-static int pack_objects(int fd, struct ref *refs, struct sha1_array *extra, struct send_pack_args *args)
+static int pack_objects(int fd, struct ref *refs, struct oid_array *extra, struct send_pack_args *args)
 {
 	/*
 	 * The child becomes pack-objects --revs; we feed
@@ -72,6 +72,7 @@
 	struct child_process po = CHILD_PROCESS_INIT;
 	FILE *po_in;
 	int i;
+	int rc;
 
 	i = 4;
 	if (args->use_thin_pack)
@@ -97,7 +98,7 @@
 	 */
 	po_in = xfdopen(po.in, "w");
 	for (i = 0; i < extra->nr; i++)
-		feed_object(extra->sha1[i], po_in, 1);
+		feed_object(extra->oid[i].hash, po_in, 1);
 
 	while (refs) {
 		if (!is_null_oid(&refs->old_oid))
@@ -125,27 +126,44 @@
 		po.out = -1;
 	}
 
-	if (finish_command(&po))
+	rc = finish_command(&po);
+	if (rc) {
+		/*
+		 * For a normal non-zero exit, we assume pack-objects wrote
+		 * something useful to stderr. For death by signal, though,
+		 * we should mention it to the user. The exception is SIGPIPE
+		 * (141), because that's a normal occurence if the remote end
+		 * hangs up (and we'll report that by trying to read the unpack
+		 * status).
+		 */
+		if (rc > 128 && rc != 141)
+			error("pack-objects died of signal %d", rc - 128);
 		return -1;
+	}
+	return 0;
+}
+
+static int receive_unpack_status(int in)
+{
+	const char *line = packet_read_line(in, NULL);
+	if (!skip_prefix(line, "unpack ", &line))
+		return error(_("unable to parse remote unpack status: %s"), line);
+	if (strcmp(line, "ok"))
+		return error(_("remote unpack failed: %s"), line);
 	return 0;
 }
 
 static int receive_status(int in, struct ref *refs)
 {
 	struct ref *hint;
-	int ret = 0;
-	char *line = packet_read_line(in, NULL);
-	if (!starts_with(line, "unpack "))
-		return error("did not receive remote status");
-	if (strcmp(line, "unpack ok")) {
-		error("unpack failed: %s", line + 7);
-		ret = -1;
-	}
+	int ret;
+
 	hint = NULL;
+	ret = receive_unpack_status(in);
 	while (1) {
 		char *refname;
 		char *msg;
-		line = packet_read_line(in, NULL);
+		char *line = packet_read_line(in, NULL);
 		if (!line)
 			break;
 		if (!starts_with(line, "ok ") && !starts_with(line, "ng ")) {
@@ -358,7 +376,7 @@
 int send_pack(struct send_pack_args *args,
 	      int fd[], struct child_process *conn,
 	      struct ref *remote_refs,
-	      struct sha1_array *extra_have)
+	      struct oid_array *extra_have)
 {
 	int in = fd[0];
 	int out = fd[1];
@@ -514,6 +532,14 @@
 		}
 	}
 
+	if (use_push_options) {
+		struct string_list_item *item;
+
+		packet_buf_flush(&req_buf);
+		for_each_string_list_item(item, args->push_options)
+			packet_buf_write(&req_buf, "%s", item->string);
+	}
+
 	if (args->stateless_rpc) {
 		if (!args->dry_run && (cmds_sent || is_repository_shallow())) {
 			packet_buf_flush(&req_buf);
@@ -526,18 +552,6 @@
 	strbuf_release(&req_buf);
 	strbuf_release(&cap_buf);
 
-	if (use_push_options) {
-		struct string_list_item *item;
-		struct strbuf sb = STRBUF_INIT;
-
-		for_each_string_list_item(item, args->push_options)
-			packet_buf_write(&sb, "%s", item->string);
-
-		write_or_die(out, sb.buf, sb.len);
-		packet_flush(out);
-		strbuf_release(&sb);
-	}
-
 	if (use_sideband && cmds_sent) {
 		memset(&demux, 0, sizeof(demux));
 		demux.proc = sideband_demux;
@@ -557,6 +571,14 @@
 				close(out);
 			if (git_connection_is_socket(conn))
 				shutdown(fd[0], SHUT_WR);
+
+			/*
+			 * Do not even bother with the return value; we know we
+			 * are failing, and just want the error() side effects.
+			 */
+			if (status_report)
+				receive_unpack_status(in);
+
 			if (use_sideband) {
 				close(demux.out);
 				finish_async(&demux);
diff --git a/send-pack.h b/send-pack.h
index 67fc40f..6af71f7 100644
--- a/send-pack.h
+++ b/send-pack.h
@@ -32,6 +32,6 @@
 
 int send_pack(struct send_pack_args *args,
 	      int fd[], struct child_process *conn,
-	      struct ref *remote_refs, struct sha1_array *extra_have);
+	      struct ref *remote_refs, struct oid_array *extra_have);
 
 #endif
diff --git a/sequencer.c b/sequencer.c
index 0b78f31..77afeca 100644
--- a/sequencer.c
+++ b/sequencer.c
@@ -16,6 +16,9 @@
 #include "refs.h"
 #include "argv-array.h"
 #include "quote.h"
+#include "trailer.h"
+#include "log-tree.h"
+#include "wt-status.h"
 
 #define GIT_REFLOG_ACTION "GIT_REFLOG_ACTION"
 
@@ -29,6 +32,59 @@
 static GIT_PATH_FUNC(git_path_head_file, "sequencer/head")
 static GIT_PATH_FUNC(git_path_abort_safety_file, "sequencer/abort-safety")
 
+static GIT_PATH_FUNC(rebase_path, "rebase-merge")
+/*
+ * The file containing rebase commands, comments, and empty lines.
+ * This file is created by "git rebase -i" then edited by the user. As
+ * the lines are processed, they are removed from the front of this
+ * file and written to the tail of 'done'.
+ */
+static GIT_PATH_FUNC(rebase_path_todo, "rebase-merge/git-rebase-todo")
+/*
+ * The rebase command lines that have already been processed. A line
+ * is moved here when it is first handled, before any associated user
+ * actions.
+ */
+static GIT_PATH_FUNC(rebase_path_done, "rebase-merge/done")
+/*
+ * The file to keep track of how many commands were already processed (e.g.
+ * for the prompt).
+ */
+static GIT_PATH_FUNC(rebase_path_msgnum, "rebase-merge/msgnum");
+/*
+ * The file to keep track of how many commands are to be processed in total
+ * (e.g. for the prompt).
+ */
+static GIT_PATH_FUNC(rebase_path_msgtotal, "rebase-merge/end");
+/*
+ * The commit message that is planned to be used for any changes that
+ * need to be committed following a user interaction.
+ */
+static GIT_PATH_FUNC(rebase_path_message, "rebase-merge/message")
+/*
+ * The file into which is accumulated the suggested commit message for
+ * squash/fixup commands. When the first of a series of squash/fixups
+ * is seen, the file is created and the commit message from the
+ * previous commit and from the first squash/fixup commit are written
+ * to it. The commit message for each subsequent squash/fixup commit
+ * is appended to the file as it is processed.
+ *
+ * The first line of the file is of the form
+ *     # This is a combination of $count commits.
+ * where $count is the number of commits whose messages have been
+ * written to the file so far (including the initial "pick" commit).
+ * Each time that a commit message is processed, this line is read and
+ * updated. It is deleted just before the combined commit is made.
+ */
+static GIT_PATH_FUNC(rebase_path_squash_msg, "rebase-merge/message-squash")
+/*
+ * If the current series of squash/fixups has not yet included a squash
+ * command, then this file exists and holds the commit message of the
+ * original "pick" commit.  (If the series ends without a "squash"
+ * command, then this can be used as the commit message of the combined
+ * commit without opening the editor.)
+ */
+static GIT_PATH_FUNC(rebase_path_fixup_msg, "rebase-merge/message-fixup")
 /*
  * A script to set the GIT_AUTHOR_NAME, GIT_AUTHOR_EMAIL, and
  * GIT_AUTHOR_DATE that will be used for the commit that is currently
@@ -36,51 +92,60 @@
  */
 static GIT_PATH_FUNC(rebase_path_author_script, "rebase-merge/author-script")
 /*
+ * When an "edit" rebase command is being processed, the SHA1 of the
+ * commit to be edited is recorded in this file.  When "git rebase
+ * --continue" is executed, if there are any staged changes then they
+ * will be amended to the HEAD commit, but only provided the HEAD
+ * commit is still the commit to be edited.  When any other rebase
+ * command is processed, this file is deleted.
+ */
+static GIT_PATH_FUNC(rebase_path_amend, "rebase-merge/amend")
+/*
+ * When we stop at a given patch via the "edit" command, this file contains
+ * the abbreviated commit name of the corresponding patch.
+ */
+static GIT_PATH_FUNC(rebase_path_stopped_sha, "rebase-merge/stopped-sha")
+/*
+ * For the post-rewrite hook, we make a list of rewritten commits and
+ * their new sha1s.  The rewritten-pending list keeps the sha1s of
+ * commits that have been processed, but not committed yet,
+ * e.g. because they are waiting for a 'squash' command.
+ */
+static GIT_PATH_FUNC(rebase_path_rewritten_list, "rebase-merge/rewritten-list")
+static GIT_PATH_FUNC(rebase_path_rewritten_pending,
+	"rebase-merge/rewritten-pending")
+/*
  * The following files are written by git-rebase just after parsing the
  * command-line (and are only consumed, not modified, by the sequencer).
  */
 static GIT_PATH_FUNC(rebase_path_gpg_sign_opt, "rebase-merge/gpg_sign_opt")
+static GIT_PATH_FUNC(rebase_path_orig_head, "rebase-merge/orig-head")
+static GIT_PATH_FUNC(rebase_path_verbose, "rebase-merge/verbose")
+static GIT_PATH_FUNC(rebase_path_head_name, "rebase-merge/head-name")
+static GIT_PATH_FUNC(rebase_path_onto, "rebase-merge/onto")
+static GIT_PATH_FUNC(rebase_path_autostash, "rebase-merge/autostash")
+static GIT_PATH_FUNC(rebase_path_strategy, "rebase-merge/strategy")
+static GIT_PATH_FUNC(rebase_path_strategy_opts, "rebase-merge/strategy_opts")
 
-/* We will introduce the 'interactive rebase' mode later */
 static inline int is_rebase_i(const struct replay_opts *opts)
 {
-	return 0;
+	return opts->action == REPLAY_INTERACTIVE_REBASE;
 }
 
 static const char *get_dir(const struct replay_opts *opts)
 {
+	if (is_rebase_i(opts))
+		return rebase_path();
 	return git_path_seq_dir();
 }
 
 static const char *get_todo_path(const struct replay_opts *opts)
 {
+	if (is_rebase_i(opts))
+		return rebase_path_todo();
 	return git_path_todo_file();
 }
 
-static int is_rfc2822_line(const char *buf, int len)
-{
-	int i;
-
-	for (i = 0; i < len; i++) {
-		int ch = buf[i];
-		if (ch == ':')
-			return 1;
-		if (!isalnum(ch) && ch != '-')
-			break;
-	}
-
-	return 0;
-}
-
-static int is_cherry_picked_from_line(const char *buf, int len)
-{
-	/*
-	 * We only care that it looks roughly like (cherry picked from ...)
-	 */
-	return len > strlen(cherry_picked_prefix) + 1 &&
-		starts_with(buf, cherry_picked_prefix) && buf[len - 1] == ')';
-}
-
 /*
  * Returns 0 for non-conforming footer
  * Returns 1 for conforming footer
@@ -90,49 +155,25 @@
 static int has_conforming_footer(struct strbuf *sb, struct strbuf *sob,
 	int ignore_footer)
 {
-	char prev;
-	int i, k;
-	int len = sb->len - ignore_footer;
-	const char *buf = sb->buf;
-	int found_sob = 0;
+	struct trailer_info info;
+	int i;
+	int found_sob = 0, found_sob_last = 0;
 
-	/* footer must end with newline */
-	if (!len || buf[len - 1] != '\n')
+	trailer_info_get(&info, sb->buf);
+
+	if (info.trailer_start == info.trailer_end)
 		return 0;
 
-	prev = '\0';
-	for (i = len - 1; i > 0; i--) {
-		char ch = buf[i];
-		if (prev == '\n' && ch == '\n') /* paragraph break */
-			break;
-		prev = ch;
-	}
+	for (i = 0; i < info.trailer_nr; i++)
+		if (sob && !strncmp(info.trailers[i], sob->buf, sob->len)) {
+			found_sob = 1;
+			if (i == info.trailer_nr - 1)
+				found_sob_last = 1;
+		}
 
-	/* require at least one blank line */
-	if (prev != '\n' || buf[i] != '\n')
-		return 0;
+	trailer_info_release(&info);
 
-	/* advance to start of last paragraph */
-	while (i < len - 1 && buf[i] == '\n')
-		i++;
-
-	for (; i < len; i = k) {
-		int found_rfc2822;
-
-		for (k = i; k < len && buf[k] != '\n'; k++)
-			; /* do nothing */
-		k++;
-
-		found_rfc2822 = is_rfc2822_line(buf + i, k - i - 1);
-		if (found_rfc2822 && sob &&
-		    !strncmp(buf + i, sob->buf, sob->len))
-			found_sob = k;
-
-		if (!(found_rfc2822 ||
-		      is_cherry_picked_from_line(buf + i, k - i - 1)))
-			return 0;
-	}
-	if (found_sob == i)
+	if (found_sob_last)
 		return 3;
 	if (found_sob)
 		return 2;
@@ -169,7 +210,15 @@
 
 static const char *action_name(const struct replay_opts *opts)
 {
-	return opts->action == REPLAY_REVERT ? N_("revert") : N_("cherry-pick");
+	switch (opts->action) {
+	case REPLAY_REVERT:
+		return N_("revert");
+	case REPLAY_PICK:
+		return N_("cherry-pick");
+	case REPLAY_INTERACTIVE_REBASE:
+		return N_("rebase -i");
+	}
+	die(_("Unknown action: %d"), opts->action);
 }
 
 struct commit_message {
@@ -386,7 +435,7 @@
 	char **xopt;
 	static struct lock_file index_lock;
 
-	hold_locked_index(&index_lock, 1);
+	hold_locked_index(&index_lock, LOCK_DIE_ON_ERROR);
 
 	read_cache();
 
@@ -394,6 +443,8 @@
 	o.ancestor = base ? base_label : "(empty tree)";
 	o.branch1 = "HEAD";
 	o.branch2 = next ? next_label : "(empty tree)";
+	if (is_rebase_i(opts))
+		o.buffer_output = 2;
 
 	head_tree = parse_tree_indirect(head);
 	next_tree = next ? next->tree : empty_tree();
@@ -405,13 +456,17 @@
 	clean = merge_trees(&o,
 			    head_tree,
 			    next_tree, base_tree, &result);
+	if (is_rebase_i(opts) && clean <= 0)
+		fputs(o.obuf.buf, stdout);
 	strbuf_release(&o.obuf);
 	if (clean < 0)
 		return clean;
 
 	if (active_cache_changed &&
 	    write_locked_index(&the_index, &index_lock, COMMIT_LOCK))
-		/* TRANSLATORS: %s will be "revert" or "cherry-pick" */
+		/* TRANSLATORS: %s will be "revert", "cherry-pick" or
+		 * "rebase -i".
+		 */
 		return error(_("%s: Unable to write new index file"),
 			_(action_name(opts)));
 	rollback_lock_file(&index_lock);
@@ -456,19 +511,64 @@
 	return !hashcmp(active_cache_tree->sha1, head_commit->tree->object.oid.hash);
 }
 
+static int write_author_script(const char *message)
+{
+	struct strbuf buf = STRBUF_INIT;
+	const char *eol;
+	int res;
+
+	for (;;)
+		if (!*message || starts_with(message, "\n")) {
+missing_author:
+			/* Missing 'author' line? */
+			unlink(rebase_path_author_script());
+			return 0;
+		} else if (skip_prefix(message, "author ", &message))
+			break;
+		else if ((eol = strchr(message, '\n')))
+			message = eol + 1;
+		else
+			goto missing_author;
+
+	strbuf_addstr(&buf, "GIT_AUTHOR_NAME='");
+	while (*message && *message != '\n' && *message != '\r')
+		if (skip_prefix(message, " <", &message))
+			break;
+		else if (*message != '\'')
+			strbuf_addch(&buf, *(message++));
+		else
+			strbuf_addf(&buf, "'\\\\%c'", *(message++));
+	strbuf_addstr(&buf, "'\nGIT_AUTHOR_EMAIL='");
+	while (*message && *message != '\n' && *message != '\r')
+		if (skip_prefix(message, "> ", &message))
+			break;
+		else if (*message != '\'')
+			strbuf_addch(&buf, *(message++));
+		else
+			strbuf_addf(&buf, "'\\\\%c'", *(message++));
+	strbuf_addstr(&buf, "'\nGIT_AUTHOR_DATE='@");
+	while (*message && *message != '\n' && *message != '\r')
+		if (*message != '\'')
+			strbuf_addch(&buf, *(message++));
+		else
+			strbuf_addf(&buf, "'\\\\%c'", *(message++));
+	res = write_message(buf.buf, buf.len, rebase_path_author_script(), 1);
+	strbuf_release(&buf);
+	return res;
+}
+
 /*
- * Read the author-script file into an environment block, ready for use in
- * run_command(), that can be free()d afterwards.
+ * Read a list of environment variable assignments (such as the author-script
+ * file) into an environment block. Returns -1 on error, 0 otherwise.
  */
-static char **read_author_script(void)
+static int read_env_script(struct argv_array *env)
 {
 	struct strbuf script = STRBUF_INIT;
 	int i, count = 0;
-	char *p, *p2, **env;
-	size_t env_size;
+	char *p, *p2;
 
 	if (strbuf_read_file(&script, rebase_path_author_script(), 256) <= 0)
-		return NULL;
+		return -1;
 
 	for (p = script.buf; *p; p++)
 		if (skip_prefix(p, "'\\\\''", (const char **)&p2))
@@ -480,19 +580,12 @@
 			count++;
 		}
 
-	env_size = (count + 1) * sizeof(*env);
-	strbuf_grow(&script, env_size);
-	memmove(script.buf + env_size, script.buf, script.len);
-	p = script.buf + env_size;
-	env = (char **)strbuf_detach(&script, NULL);
-
-	for (i = 0; i < count; i++) {
-		env[i] = p;
+	for (i = 0, p = script.buf; i < count; i++) {
+		argv_array_push(env, p);
 		p += strlen(p) + 1;
 	}
-	env[count] = NULL;
 
-	return env;
+	return 0;
 }
 
 static const char staged_changes_advice[] =
@@ -509,6 +602,12 @@
 "\n"
 "  git rebase --continue\n");
 
+#define ALLOW_EMPTY (1<<0)
+#define EDIT_MSG    (1<<1)
+#define AMEND_MSG   (1<<2)
+#define CLEANUP_MSG (1<<3)
+#define VERIFY_MSG  (1<<4)
+
 /*
  * If we are cherry-pick, and if the merge did not result in
  * hand-editing, we will hit this commit and inherit the original
@@ -522,17 +621,20 @@
  * author metadata.
  */
 static int run_git_commit(const char *defmsg, struct replay_opts *opts,
-			  int allow_empty, int edit, int amend,
-			  int cleanup_commit_message)
+			  unsigned int flags)
 {
-	char **env = NULL;
-	struct argv_array array;
-	int rc;
+	struct child_process cmd = CHILD_PROCESS_INIT;
 	const char *value;
 
+	cmd.git_cmd = 1;
+
 	if (is_rebase_i(opts)) {
-		env = read_author_script();
-		if (!env) {
+		if (!(flags & EDIT_MSG)) {
+			cmd.stdout_to_stderr = 1;
+			cmd.err = -1;
+		}
+
+		if (read_env_script(&cmd.env_array)) {
 			const char *gpg_opt = gpg_sign_opt_quoted(opts);
 
 			return error(_(staged_changes_advice),
@@ -540,39 +642,48 @@
 		}
 	}
 
-	argv_array_init(&array);
-	argv_array_push(&array, "commit");
-	argv_array_push(&array, "-n");
+	argv_array_push(&cmd.args, "commit");
 
-	if (amend)
-		argv_array_push(&array, "--amend");
+	if (!(flags & VERIFY_MSG))
+		argv_array_push(&cmd.args, "-n");
+	if ((flags & AMEND_MSG))
+		argv_array_push(&cmd.args, "--amend");
 	if (opts->gpg_sign)
-		argv_array_pushf(&array, "-S%s", opts->gpg_sign);
+		argv_array_pushf(&cmd.args, "-S%s", opts->gpg_sign);
 	if (opts->signoff)
-		argv_array_push(&array, "-s");
+		argv_array_push(&cmd.args, "-s");
 	if (defmsg)
-		argv_array_pushl(&array, "-F", defmsg, NULL);
-	if (cleanup_commit_message)
-		argv_array_push(&array, "--cleanup=strip");
-	if (edit)
-		argv_array_push(&array, "-e");
-	else if (!cleanup_commit_message &&
+		argv_array_pushl(&cmd.args, "-F", defmsg, NULL);
+	if ((flags & CLEANUP_MSG))
+		argv_array_push(&cmd.args, "--cleanup=strip");
+	if ((flags & EDIT_MSG))
+		argv_array_push(&cmd.args, "-e");
+	else if (!(flags & CLEANUP_MSG) &&
 		 !opts->signoff && !opts->record_origin &&
 		 git_config_get_value("commit.cleanup", &value))
-		argv_array_push(&array, "--cleanup=verbatim");
+		argv_array_push(&cmd.args, "--cleanup=verbatim");
 
-	if (allow_empty)
-		argv_array_push(&array, "--allow-empty");
+	if ((flags & ALLOW_EMPTY))
+		argv_array_push(&cmd.args, "--allow-empty");
 
 	if (opts->allow_empty_message)
-		argv_array_push(&array, "--allow-empty-message");
+		argv_array_push(&cmd.args, "--allow-empty-message");
 
-	rc = run_command_v_opt_cd_env(array.argv, RUN_GIT_CMD, NULL,
-			(const char *const *)env);
-	argv_array_clear(&array);
-	free(env);
+	if (cmd.err == -1) {
+		/* hide stderr on success */
+		struct strbuf buf = STRBUF_INIT;
+		int rc = pipe_command(&cmd,
+				      NULL, 0,
+				      /* stdout is already redirected */
+				      NULL, 0,
+				      &buf, 0);
+		if (rc)
+			fputs(buf.buf, stderr);
+		strbuf_release(&buf);
+		return rc;
+	}
 
-	return rc;
+	return run_command(&cmd);
 }
 
 static int is_original_commit_empty(struct commit *commit)
@@ -633,27 +744,196 @@
 		return 1;
 }
 
+/*
+ * Note that ordering matters in this enum. Not only must it match the mapping
+ * below, it is also divided into several sections that matter.  When adding
+ * new commands, make sure you add it in the right section.
+ */
 enum todo_command {
+	/* commands that handle commits */
 	TODO_PICK = 0,
-	TODO_REVERT
+	TODO_REVERT,
+	TODO_EDIT,
+	TODO_REWORD,
+	TODO_FIXUP,
+	TODO_SQUASH,
+	/* commands that do something else than handling a single commit */
+	TODO_EXEC,
+	/* commands that do nothing but are counted for reporting progress */
+	TODO_NOOP,
+	TODO_DROP,
+	/* comments (not counted for reporting progress) */
+	TODO_COMMENT
 };
 
-static const char *todo_command_strings[] = {
-	"pick",
-	"revert"
+static struct {
+	char c;
+	const char *str;
+} todo_command_info[] = {
+	{ 'p', "pick" },
+	{ 0,   "revert" },
+	{ 'e', "edit" },
+	{ 'r', "reword" },
+	{ 'f', "fixup" },
+	{ 's', "squash" },
+	{ 'x', "exec" },
+	{ 0,   "noop" },
+	{ 'd', "drop" },
+	{ 0,   NULL }
 };
 
 static const char *command_to_string(const enum todo_command command)
 {
-	if ((size_t)command < ARRAY_SIZE(todo_command_strings))
-		return todo_command_strings[command];
+	if (command < TODO_COMMENT)
+		return todo_command_info[command].str;
 	die("Unknown command: %d", command);
 }
 
+static int is_noop(const enum todo_command command)
+{
+	return TODO_NOOP <= command;
+}
+
+static int is_fixup(enum todo_command command)
+{
+	return command == TODO_FIXUP || command == TODO_SQUASH;
+}
+
+static int update_squash_messages(enum todo_command command,
+		struct commit *commit, struct replay_opts *opts)
+{
+	struct strbuf buf = STRBUF_INIT;
+	int count, res;
+	const char *message, *body;
+
+	if (file_exists(rebase_path_squash_msg())) {
+		struct strbuf header = STRBUF_INIT;
+		char *eol, *p;
+
+		if (strbuf_read_file(&buf, rebase_path_squash_msg(), 2048) <= 0)
+			return error(_("could not read '%s'"),
+				rebase_path_squash_msg());
+
+		p = buf.buf + 1;
+		eol = strchrnul(buf.buf, '\n');
+		if (buf.buf[0] != comment_line_char ||
+		    (p += strcspn(p, "0123456789\n")) == eol)
+			return error(_("unexpected 1st line of squash message:"
+				       "\n\n\t%.*s"),
+				     (int)(eol - buf.buf), buf.buf);
+		count = strtol(p, NULL, 10);
+
+		if (count < 1)
+			return error(_("invalid 1st line of squash message:\n"
+				       "\n\t%.*s"),
+				     (int)(eol - buf.buf), buf.buf);
+
+		strbuf_addf(&header, "%c ", comment_line_char);
+		strbuf_addf(&header,
+			    _("This is a combination of %d commits."), ++count);
+		strbuf_splice(&buf, 0, eol - buf.buf, header.buf, header.len);
+		strbuf_release(&header);
+	} else {
+		unsigned char head[20];
+		struct commit *head_commit;
+		const char *head_message, *body;
+
+		if (get_sha1("HEAD", head))
+			return error(_("need a HEAD to fixup"));
+		if (!(head_commit = lookup_commit_reference(head)))
+			return error(_("could not read HEAD"));
+		if (!(head_message = get_commit_buffer(head_commit, NULL)))
+			return error(_("could not read HEAD's commit message"));
+
+		find_commit_subject(head_message, &body);
+		if (write_message(body, strlen(body),
+				  rebase_path_fixup_msg(), 0)) {
+			unuse_commit_buffer(head_commit, head_message);
+			return error(_("cannot write '%s'"),
+				     rebase_path_fixup_msg());
+		}
+
+		count = 2;
+		strbuf_addf(&buf, "%c ", comment_line_char);
+		strbuf_addf(&buf, _("This is a combination of %d commits."),
+			    count);
+		strbuf_addf(&buf, "\n%c ", comment_line_char);
+		strbuf_addstr(&buf, _("This is the 1st commit message:"));
+		strbuf_addstr(&buf, "\n\n");
+		strbuf_addstr(&buf, body);
+
+		unuse_commit_buffer(head_commit, head_message);
+	}
+
+	if (!(message = get_commit_buffer(commit, NULL)))
+		return error(_("could not read commit message of %s"),
+			     oid_to_hex(&commit->object.oid));
+	find_commit_subject(message, &body);
+
+	if (command == TODO_SQUASH) {
+		unlink(rebase_path_fixup_msg());
+		strbuf_addf(&buf, "\n%c ", comment_line_char);
+		strbuf_addf(&buf, _("This is the commit message #%d:"), count);
+		strbuf_addstr(&buf, "\n\n");
+		strbuf_addstr(&buf, body);
+	} else if (command == TODO_FIXUP) {
+		strbuf_addf(&buf, "\n%c ", comment_line_char);
+		strbuf_addf(&buf, _("The commit message #%d will be skipped:"),
+			    count);
+		strbuf_addstr(&buf, "\n\n");
+		strbuf_add_commented_lines(&buf, body, strlen(body));
+	} else
+		return error(_("unknown command: %d"), command);
+	unuse_commit_buffer(commit, message);
+
+	res = write_message(buf.buf, buf.len, rebase_path_squash_msg(), 0);
+	strbuf_release(&buf);
+	return res;
+}
+
+static void flush_rewritten_pending(void) {
+	struct strbuf buf = STRBUF_INIT;
+	unsigned char newsha1[20];
+	FILE *out;
+
+	if (strbuf_read_file(&buf, rebase_path_rewritten_pending(), 82) > 0 &&
+			!get_sha1("HEAD", newsha1) &&
+			(out = fopen(rebase_path_rewritten_list(), "a"))) {
+		char *bol = buf.buf, *eol;
+
+		while (*bol) {
+			eol = strchrnul(bol, '\n');
+			fprintf(out, "%.*s %s\n", (int)(eol - bol),
+					bol, sha1_to_hex(newsha1));
+			if (!*eol)
+				break;
+			bol = eol + 1;
+		}
+		fclose(out);
+		unlink(rebase_path_rewritten_pending());
+	}
+	strbuf_release(&buf);
+}
+
+static void record_in_rewritten(struct object_id *oid,
+		enum todo_command next_command) {
+	FILE *out = fopen(rebase_path_rewritten_pending(), "a");
+
+	if (!out)
+		return;
+
+	fprintf(out, "%s\n", oid_to_hex(oid));
+	fclose(out);
+
+	if (!is_fixup(next_command))
+		flush_rewritten_pending();
+}
 
 static int do_pick_commit(enum todo_command command, struct commit *commit,
-		struct replay_opts *opts)
+		struct replay_opts *opts, int final_fixup)
 {
+	unsigned int flags = opts->edit ? EDIT_MSG : 0;
+	const char *msg_file = opts->edit ? NULL : git_path_merge_msg();
 	unsigned char head[20];
 	struct commit *base, *next, *parent;
 	const char *base_label, *next_label;
@@ -679,9 +959,8 @@
 	}
 	discard_cache();
 
-	if (!commit->parents) {
+	if (!commit->parents)
 		parent = NULL;
-	}
 	else if (commit->parents->next) {
 		/* Reverting or cherry-picking a merge commit */
 		int cnt;
@@ -705,11 +984,25 @@
 	else
 		parent = commit->parents->item;
 
-	if (opts->allow_ff &&
-	    ((parent && !hashcmp(parent->object.oid.hash, head)) ||
-	     (!parent && unborn)))
-		return fast_forward_to(commit->object.oid.hash, head, unborn, opts);
+	if (get_message(commit, &msg) != 0)
+		return error(_("cannot get commit message for %s"),
+			oid_to_hex(&commit->object.oid));
 
+	if (opts->allow_ff && !is_fixup(command) &&
+	    ((parent && !hashcmp(parent->object.oid.hash, head)) ||
+	     (!parent && unborn))) {
+		if (is_rebase_i(opts))
+			write_author_script(msg.message);
+		res = fast_forward_to(commit->object.oid.hash, head, unborn,
+			opts);
+		if (res || command != TODO_REWORD)
+			goto leave;
+		flags |= EDIT_MSG | AMEND_MSG;
+		if (command == TODO_REWORD)
+			flags |= VERIFY_MSG;
+		msg_file = NULL;
+		goto fast_forward_edit;
+	}
 	if (parent && parse_commit(parent) < 0)
 		/* TRANSLATORS: The first %s will be a "todo" command like
 		   "revert" or "pick", the second %s a SHA1. */
@@ -717,10 +1010,6 @@
 			command_to_string(command),
 			oid_to_hex(&parent->object.oid));
 
-	if (get_message(commit, &msg) != 0)
-		return error(_("cannot get commit message for %s"),
-			oid_to_hex(&commit->object.oid));
-
 	/*
 	 * "commit" is an existing commit.  We would want to apply
 	 * the difference it introduces since its first parent "prev"
@@ -751,14 +1040,9 @@
 		next = commit;
 		next_label = msg.label;
 
-		/*
-		 * Append the commit log message to msgbuf; it starts
-		 * after the tree, parent, author, committer
-		 * information followed by "\n\n".
-		 */
-		p = strstr(msg.message, "\n\n");
-		if (p)
-			strbuf_addstr(&msgbuf, skip_blank_lines(p + 2));
+		/* Append the commit log message to msgbuf. */
+		if (find_commit_subject(msg.message, &p))
+			strbuf_addstr(&msgbuf, p);
 
 		if (opts->record_origin) {
 			if (!has_conforming_footer(&msgbuf, NULL, 0))
@@ -769,7 +1053,32 @@
 		}
 	}
 
-	if (!opts->strategy || !strcmp(opts->strategy, "recursive") || command == TODO_REVERT) {
+	if (command == TODO_REWORD)
+		flags |= EDIT_MSG | VERIFY_MSG;
+	else if (is_fixup(command)) {
+		if (update_squash_messages(command, commit, opts))
+			return -1;
+		flags |= AMEND_MSG;
+		if (!final_fixup)
+			msg_file = rebase_path_squash_msg();
+		else if (file_exists(rebase_path_fixup_msg())) {
+			flags |= CLEANUP_MSG;
+			msg_file = rebase_path_fixup_msg();
+		} else {
+			const char *dest = git_path("SQUASH_MSG");
+			unlink(dest);
+			if (copy_file(dest, rebase_path_squash_msg(), 0666))
+				return error(_("could not rename '%s' to '%s'"),
+					     rebase_path_squash_msg(), dest);
+			unlink(git_path("MERGE_MSG"));
+			msg_file = dest;
+			flags |= EDIT_MSG;
+		}
+	}
+
+	if (is_rebase_i(opts) && write_author_script(msg.message) < 0)
+		res = -1;
+	else if (!opts->strategy || !strcmp(opts->strategy, "recursive") || command == TODO_REVERT) {
 		res = do_recursive_merge(base, next, base_label, next_label,
 					 head, &msgbuf, opts);
 		if (res < 0)
@@ -822,10 +1131,16 @@
 	if (allow < 0) {
 		res = allow;
 		goto leave;
-	}
+	} else if (allow)
+		flags |= ALLOW_EMPTY;
 	if (!opts->no_commit)
-		res = run_git_commit(opts->edit ? NULL : git_path_merge_msg(),
-				     opts, allow, opts->edit, 0, 0);
+fast_forward_edit:
+		res = run_git_commit(msg_file, opts, flags);
+
+	if (!res && final_fixup) {
+		unlink(rebase_path_fixup_msg());
+		unlink(rebase_path_squash_msg());
+	}
 
 leave:
 	free_message(commit, &msg);
@@ -884,6 +1199,7 @@
 	struct strbuf buf;
 	struct todo_item *items;
 	int nr, alloc, current;
+	int done_nr, total_nr;
 };
 
 #define TODO_LIST_INIT { STRBUF_INIT }
@@ -911,20 +1227,45 @@
 	/* left-trim */
 	bol += strspn(bol, " \t");
 
-	for (i = 0; i < ARRAY_SIZE(todo_command_strings); i++)
-		if (skip_prefix(bol, todo_command_strings[i], &bol)) {
+	if (bol == eol || *bol == '\r' || *bol == comment_line_char) {
+		item->command = TODO_COMMENT;
+		item->commit = NULL;
+		item->arg = bol;
+		item->arg_len = eol - bol;
+		return 0;
+	}
+
+	for (i = 0; i < TODO_COMMENT; i++)
+		if (skip_prefix(bol, todo_command_info[i].str, &bol)) {
+			item->command = i;
+			break;
+		} else if (bol[1] == ' ' && *bol == todo_command_info[i].c) {
+			bol++;
 			item->command = i;
 			break;
 		}
-	if (i >= ARRAY_SIZE(todo_command_strings))
+	if (i >= TODO_COMMENT)
 		return -1;
 
+	if (item->command == TODO_NOOP) {
+		item->commit = NULL;
+		item->arg = bol;
+		item->arg_len = eol - bol;
+		return 0;
+	}
+
 	/* Eat up extra spaces/ tabs before object name */
 	padding = strspn(bol, " \t");
 	if (!padding)
 		return -1;
 	bol += padding;
 
+	if (item->command == TODO_EXEC) {
+		item->arg = bol;
+		item->arg_len = (int)(eol - bol);
+		return 0;
+	}
+
 	end_of_object_name = (char *) bol + strcspn(bol, " \t\n");
 	saved = *end_of_object_name;
 	*end_of_object_name = '\0';
@@ -945,7 +1286,7 @@
 {
 	struct todo_item *item;
 	char *p = buf, *next_p;
-	int i, res = 0;
+	int i, res = 0, fixup_okay = file_exists(rebase_path_done());
 
 	for (i = 1; *p; i++, p = next_p) {
 		char *eol = strchrnul(p, '\n');
@@ -960,14 +1301,32 @@
 		if (parse_insn_line(item, p, eol)) {
 			res = error(_("invalid line %d: %.*s"),
 				i, (int)(eol - p), p);
-			item->command = -1;
+			item->command = TODO_NOOP;
 		}
+
+		if (fixup_okay)
+			; /* do nothing */
+		else if (is_fixup(item->command))
+			return error(_("cannot '%s' without a previous commit"),
+				command_to_string(item->command));
+		else if (!is_noop(item->command))
+			fixup_okay = 1;
 	}
-	if (!todo_list->nr)
-		return error(_("no commits parsed."));
+
 	return res;
 }
 
+static int count_commands(struct todo_list *todo_list)
+{
+	int count = 0, i;
+
+	for (i = 0; i < todo_list->nr; i++)
+		if (todo_list->items[i].command != TODO_COMMENT)
+			count++;
+
+	return count;
+}
+
 static int read_populate_todo(struct todo_list *todo_list,
 			struct replay_opts *opts)
 {
@@ -985,8 +1344,16 @@
 	close(fd);
 
 	res = parse_insn_buffer(todo_list->buf.buf, todo_list);
-	if (res)
+	if (res) {
+		if (is_rebase_i(opts))
+			return error(_("please fix this using "
+				       "'git rebase --edit-todo'."));
 		return error(_("unusable instruction sheet: '%s'"), todo_file);
+	}
+
+	if (!todo_list->nr &&
+	    (!is_rebase_i(opts) || !file_exists(rebase_path_done())))
+		return error(_("no commits parsed."));
 
 	if (!is_rebase_i(opts)) {
 		enum todo_command valid =
@@ -1002,6 +1369,26 @@
 				return error(_("cannot revert during a cherry-pick."));
 	}
 
+	if (is_rebase_i(opts)) {
+		struct todo_list done = TODO_LIST_INIT;
+		FILE *f = fopen(rebase_path_msgtotal(), "w");
+
+		if (strbuf_read_file(&done.buf, rebase_path_done(), 0) > 0 &&
+				!parse_insn_buffer(done.buf.buf, &done))
+			todo_list->done_nr = count_commands(&done);
+		else
+			todo_list->done_nr = 0;
+
+		todo_list->total_nr = todo_list->done_nr
+			+ count_commands(todo_list);
+		todo_list_release(&done);
+
+		if (f) {
+			fprintf(f, "%d\n", todo_list->total_nr);
+			fclose(f);
+		}
+	}
+
 	return 0;
 }
 
@@ -1050,6 +1437,26 @@
 	return 0;
 }
 
+static void read_strategy_opts(struct replay_opts *opts, struct strbuf *buf)
+{
+	int i;
+
+	strbuf_reset(buf);
+	if (!read_oneliner(buf, rebase_path_strategy(), 0))
+		return;
+	opts->strategy = strbuf_detach(buf, NULL);
+	if (!read_oneliner(buf, rebase_path_strategy_opts(), 0))
+		return;
+
+	opts->xopts_nr = split_cmdline(buf->buf, (const char ***)&opts->xopts);
+	for (i = 0; i < opts->xopts_nr; i++) {
+		const char *arg = opts->xopts[i];
+
+		skip_prefix(arg, "--", &arg);
+		opts->xopts[i] = xstrdup(arg);
+	}
+}
+
 static int read_populate_opts(struct replay_opts *opts)
 {
 	if (is_rebase_i(opts)) {
@@ -1063,6 +1470,11 @@
 				opts->gpg_sign = xstrdup(buf.buf + 2);
 			}
 		}
+
+		if (file_exists(rebase_path_verbose()))
+			opts->verbose = 1;
+
+		read_strategy_opts(opts, &buf);
 		strbuf_release(&buf);
 
 		return 0;
@@ -1087,7 +1499,7 @@
 {
 	enum todo_command command = opts->action == REPLAY_PICK ?
 		TODO_PICK : TODO_REVERT;
-	const char *command_string = todo_command_strings[command];
+	const char *command_string = todo_command_info[command].str;
 	struct commit *commit;
 
 	if (prepare_revs(opts))
@@ -1118,8 +1530,7 @@
 		error(_("a cherry-pick or revert is already in progress"));
 		advise(_("try \"git cherry-pick (--continue | --quit | --abort)\""));
 		return -1;
-	}
-	else if (mkdir(git_path_seq_dir(), 0777) < 0)
+	} else if (mkdir(git_path_seq_dir(), 0777) < 0)
 		return error_errno(_("could not create sequencer directory '%s'"),
 				   git_path_seq_dir());
 	return 0;
@@ -1252,6 +1663,13 @@
 	const char *todo_path = get_todo_path(opts);
 	int next = todo_list->current, offset, fd;
 
+	/*
+	 * rebase -i writes "git-rebase-todo" without the currently executing
+	 * command, appending it to "done" instead.
+	 */
+	if (is_rebase_i(opts))
+		next++;
+
 	fd = hold_lock_file_for_update(&todo_lock, todo_path, 0);
 	if (fd < 0)
 		return error_errno(_("could not lock '%s'"), todo_path);
@@ -1262,6 +1680,23 @@
 		return error_errno(_("could not write to '%s'"), todo_path);
 	if (commit_lock_file(&todo_lock) < 0)
 		return error(_("failed to finalize '%s'."), todo_path);
+
+	if (is_rebase_i(opts)) {
+		const char *done_path = rebase_path_done();
+		int fd = open(done_path, O_CREAT | O_WRONLY | O_APPEND, 0666);
+		int prev_offset = !next ? 0 :
+			todo_list->items[next - 1].offset_in_buf;
+
+		if (fd >= 0 && offset > prev_offset &&
+		    write_in_full(fd, todo_list->buf.buf + prev_offset,
+				  offset - prev_offset) < 0) {
+			close(fd);
+			return error_errno(_("could not write to '%s'"),
+					   done_path);
+		}
+		if (fd >= 0)
+			close(fd);
+	}
 	return 0;
 }
 
@@ -1300,9 +1735,228 @@
 	return res;
 }
 
+static int make_patch(struct commit *commit, struct replay_opts *opts)
+{
+	struct strbuf buf = STRBUF_INIT;
+	struct rev_info log_tree_opt;
+	const char *subject, *p;
+	int res = 0;
+
+	p = short_commit_name(commit);
+	if (write_message(p, strlen(p), rebase_path_stopped_sha(), 1) < 0)
+		return -1;
+
+	strbuf_addf(&buf, "%s/patch", get_dir(opts));
+	memset(&log_tree_opt, 0, sizeof(log_tree_opt));
+	init_revisions(&log_tree_opt, NULL);
+	log_tree_opt.abbrev = 0;
+	log_tree_opt.diff = 1;
+	log_tree_opt.diffopt.output_format = DIFF_FORMAT_PATCH;
+	log_tree_opt.disable_stdin = 1;
+	log_tree_opt.no_commit_id = 1;
+	log_tree_opt.diffopt.file = fopen(buf.buf, "w");
+	log_tree_opt.diffopt.use_color = GIT_COLOR_NEVER;
+	if (!log_tree_opt.diffopt.file)
+		res |= error_errno(_("could not open '%s'"), buf.buf);
+	else {
+		res |= log_tree_commit(&log_tree_opt, commit);
+		fclose(log_tree_opt.diffopt.file);
+	}
+	strbuf_reset(&buf);
+
+	strbuf_addf(&buf, "%s/message", get_dir(opts));
+	if (!file_exists(buf.buf)) {
+		const char *commit_buffer = get_commit_buffer(commit, NULL);
+		find_commit_subject(commit_buffer, &subject);
+		res |= write_message(subject, strlen(subject), buf.buf, 1);
+		unuse_commit_buffer(commit, commit_buffer);
+	}
+	strbuf_release(&buf);
+
+	return res;
+}
+
+static int intend_to_amend(void)
+{
+	unsigned char head[20];
+	char *p;
+
+	if (get_sha1("HEAD", head))
+		return error(_("cannot read HEAD"));
+
+	p = sha1_to_hex(head);
+	return write_message(p, strlen(p), rebase_path_amend(), 1);
+}
+
+static int error_with_patch(struct commit *commit,
+	const char *subject, int subject_len,
+	struct replay_opts *opts, int exit_code, int to_amend)
+{
+	if (make_patch(commit, opts))
+		return -1;
+
+	if (to_amend) {
+		if (intend_to_amend())
+			return -1;
+
+		fprintf(stderr, "You can amend the commit now, with\n"
+			"\n"
+			"  git commit --amend %s\n"
+			"\n"
+			"Once you are satisfied with your changes, run\n"
+			"\n"
+			"  git rebase --continue\n", gpg_sign_opt_quoted(opts));
+	} else if (exit_code)
+		fprintf(stderr, "Could not apply %s... %.*s\n",
+			short_commit_name(commit), subject_len, subject);
+
+	return exit_code;
+}
+
+static int error_failed_squash(struct commit *commit,
+	struct replay_opts *opts, int subject_len, const char *subject)
+{
+	if (rename(rebase_path_squash_msg(), rebase_path_message()))
+		return error(_("could not rename '%s' to '%s'"),
+			rebase_path_squash_msg(), rebase_path_message());
+	unlink(rebase_path_fixup_msg());
+	unlink(git_path("MERGE_MSG"));
+	if (copy_file(git_path("MERGE_MSG"), rebase_path_message(), 0666))
+		return error(_("could not copy '%s' to '%s'"),
+			     rebase_path_message(), git_path("MERGE_MSG"));
+	return error_with_patch(commit, subject, subject_len, opts, 1, 0);
+}
+
+static int do_exec(const char *command_line)
+{
+	const char *child_argv[] = { NULL, NULL };
+	int dirty, status;
+
+	fprintf(stderr, "Executing: %s\n", command_line);
+	child_argv[0] = command_line;
+	status = run_command_v_opt(child_argv, RUN_USING_SHELL);
+
+	/* force re-reading of the cache */
+	if (discard_cache() < 0 || read_cache() < 0)
+		return error(_("could not read index"));
+
+	dirty = require_clean_work_tree("rebase", NULL, 1, 1);
+
+	if (status) {
+		warning(_("execution failed: %s\n%s"
+			  "You can fix the problem, and then run\n"
+			  "\n"
+			  "  git rebase --continue\n"
+			  "\n"),
+			command_line,
+			dirty ? N_("and made changes to the index and/or the "
+				"working tree\n") : "");
+		if (status == 127)
+			/* command not found */
+			status = 1;
+	} else if (dirty) {
+		warning(_("execution succeeded: %s\nbut "
+			  "left changes to the index and/or the working tree\n"
+			  "Commit or stash your changes, and then run\n"
+			  "\n"
+			  "  git rebase --continue\n"
+			  "\n"), command_line);
+		status = 1;
+	}
+
+	return status;
+}
+
+static int is_final_fixup(struct todo_list *todo_list)
+{
+	int i = todo_list->current;
+
+	if (!is_fixup(todo_list->items[i].command))
+		return 0;
+
+	while (++i < todo_list->nr)
+		if (is_fixup(todo_list->items[i].command))
+			return 0;
+		else if (!is_noop(todo_list->items[i].command))
+			break;
+	return 1;
+}
+
+static enum todo_command peek_command(struct todo_list *todo_list, int offset)
+{
+	int i;
+
+	for (i = todo_list->current + offset; i < todo_list->nr; i++)
+		if (!is_noop(todo_list->items[i].command))
+			return todo_list->items[i].command;
+
+	return -1;
+}
+
+static int apply_autostash(struct replay_opts *opts)
+{
+	struct strbuf stash_sha1 = STRBUF_INIT;
+	struct child_process child = CHILD_PROCESS_INIT;
+	int ret = 0;
+
+	if (!read_oneliner(&stash_sha1, rebase_path_autostash(), 1)) {
+		strbuf_release(&stash_sha1);
+		return 0;
+	}
+	strbuf_trim(&stash_sha1);
+
+	child.git_cmd = 1;
+	argv_array_push(&child.args, "stash");
+	argv_array_push(&child.args, "apply");
+	argv_array_push(&child.args, stash_sha1.buf);
+	if (!run_command(&child))
+		printf(_("Applied autostash."));
+	else {
+		struct child_process store = CHILD_PROCESS_INIT;
+
+		store.git_cmd = 1;
+		argv_array_push(&store.args, "stash");
+		argv_array_push(&store.args, "store");
+		argv_array_push(&store.args, "-m");
+		argv_array_push(&store.args, "autostash");
+		argv_array_push(&store.args, "-q");
+		argv_array_push(&store.args, stash_sha1.buf);
+		if (run_command(&store))
+			ret = error(_("cannot store %s"), stash_sha1.buf);
+		else
+			printf(_("Applying autostash resulted in conflicts.\n"
+				"Your changes are safe in the stash.\n"
+				"You can run \"git stash pop\" or"
+				" \"git stash drop\" at any time.\n"));
+	}
+
+	strbuf_release(&stash_sha1);
+	return ret;
+}
+
+static const char *reflog_message(struct replay_opts *opts,
+	const char *sub_action, const char *fmt, ...)
+{
+	va_list ap;
+	static struct strbuf buf = STRBUF_INIT;
+
+	va_start(ap, fmt);
+	strbuf_reset(&buf);
+	strbuf_addstr(&buf, action_name(opts));
+	if (sub_action)
+		strbuf_addf(&buf, " (%s)", sub_action);
+	if (fmt) {
+		strbuf_addstr(&buf, ": ");
+		strbuf_vaddf(&buf, fmt, ap);
+	}
+	va_end(ap);
+
+	return buf.buf;
+}
+
 static int pick_commits(struct todo_list *todo_list, struct replay_opts *opts)
 {
-	int res;
+	int res = 0;
 
 	setenv(GIT_REFLOG_ACTION, action_name(opts), 0);
 	if (opts->allow_ff)
@@ -1315,12 +1969,180 @@
 		struct todo_item *item = todo_list->items + todo_list->current;
 		if (save_todo(todo_list, opts))
 			return -1;
-		res = do_pick_commit(item->command, item->commit, opts);
+		if (is_rebase_i(opts)) {
+			if (item->command != TODO_COMMENT) {
+				FILE *f = fopen(rebase_path_msgnum(), "w");
+
+				todo_list->done_nr++;
+
+				if (f) {
+					fprintf(f, "%d\n", todo_list->done_nr);
+					fclose(f);
+				}
+				fprintf(stderr, "Rebasing (%d/%d)%s",
+					todo_list->done_nr,
+					todo_list->total_nr,
+					opts->verbose ? "\n" : "\r");
+			}
+			unlink(rebase_path_message());
+			unlink(rebase_path_author_script());
+			unlink(rebase_path_stopped_sha());
+			unlink(rebase_path_amend());
+		}
+		if (item->command <= TODO_SQUASH) {
+			if (is_rebase_i(opts))
+				setenv("GIT_REFLOG_ACTION", reflog_message(opts,
+					command_to_string(item->command), NULL),
+					1);
+			res = do_pick_commit(item->command, item->commit,
+					opts, is_final_fixup(todo_list));
+			if (is_rebase_i(opts) && res < 0) {
+				/* Reschedule */
+				todo_list->current--;
+				if (save_todo(todo_list, opts))
+					return -1;
+			}
+			if (item->command == TODO_EDIT) {
+				struct commit *commit = item->commit;
+				if (!res)
+					fprintf(stderr,
+						_("Stopped at %s...  %.*s\n"),
+						short_commit_name(commit),
+						item->arg_len, item->arg);
+				return error_with_patch(commit,
+					item->arg, item->arg_len, opts, res,
+					!res);
+			}
+			if (is_rebase_i(opts) && !res)
+				record_in_rewritten(&item->commit->object.oid,
+					peek_command(todo_list, 1));
+			if (res && is_fixup(item->command)) {
+				if (res == 1)
+					intend_to_amend();
+				return error_failed_squash(item->commit, opts,
+					item->arg_len, item->arg);
+			} else if (res && is_rebase_i(opts))
+				return res | error_with_patch(item->commit,
+					item->arg, item->arg_len, opts, res,
+					item->command == TODO_REWORD);
+		} else if (item->command == TODO_EXEC) {
+			char *end_of_arg = (char *)(item->arg + item->arg_len);
+			int saved = *end_of_arg;
+
+			*end_of_arg = '\0';
+			res = do_exec(item->arg);
+			*end_of_arg = saved;
+		} else if (!is_noop(item->command))
+			return error(_("unknown command %d"), item->command);
+
 		todo_list->current++;
 		if (res)
 			return res;
 	}
 
+	if (is_rebase_i(opts)) {
+		struct strbuf head_ref = STRBUF_INIT, buf = STRBUF_INIT;
+		struct stat st;
+
+		/* Stopped in the middle, as planned? */
+		if (todo_list->current < todo_list->nr)
+			return 0;
+
+		if (read_oneliner(&head_ref, rebase_path_head_name(), 0) &&
+				starts_with(head_ref.buf, "refs/")) {
+			const char *msg;
+			unsigned char head[20], orig[20];
+			int res;
+
+			if (get_sha1("HEAD", head)) {
+				res = error(_("cannot read HEAD"));
+cleanup_head_ref:
+				strbuf_release(&head_ref);
+				strbuf_release(&buf);
+				return res;
+			}
+			if (!read_oneliner(&buf, rebase_path_orig_head(), 0) ||
+					get_sha1_hex(buf.buf, orig)) {
+				res = error(_("could not read orig-head"));
+				goto cleanup_head_ref;
+			}
+			if (!read_oneliner(&buf, rebase_path_onto(), 0)) {
+				res = error(_("could not read 'onto'"));
+				goto cleanup_head_ref;
+			}
+			msg = reflog_message(opts, "finish", "%s onto %s",
+				head_ref.buf, buf.buf);
+			if (update_ref(msg, head_ref.buf, head, orig,
+					REF_NODEREF, UPDATE_REFS_MSG_ON_ERR)) {
+				res = error(_("could not update %s"),
+					head_ref.buf);
+				goto cleanup_head_ref;
+			}
+			msg = reflog_message(opts, "finish", "returning to %s",
+				head_ref.buf);
+			if (create_symref("HEAD", head_ref.buf, msg)) {
+				res = error(_("could not update HEAD to %s"),
+					head_ref.buf);
+				goto cleanup_head_ref;
+			}
+			strbuf_reset(&buf);
+		}
+
+		if (opts->verbose) {
+			struct rev_info log_tree_opt;
+			struct object_id orig, head;
+
+			memset(&log_tree_opt, 0, sizeof(log_tree_opt));
+			init_revisions(&log_tree_opt, NULL);
+			log_tree_opt.diff = 1;
+			log_tree_opt.diffopt.output_format =
+				DIFF_FORMAT_DIFFSTAT;
+			log_tree_opt.disable_stdin = 1;
+
+			if (read_oneliner(&buf, rebase_path_orig_head(), 0) &&
+			    !get_sha1(buf.buf, orig.hash) &&
+			    !get_sha1("HEAD", head.hash)) {
+				diff_tree_sha1(orig.hash, head.hash,
+					       "", &log_tree_opt.diffopt);
+				log_tree_diff_flush(&log_tree_opt);
+			}
+		}
+		flush_rewritten_pending();
+		if (!stat(rebase_path_rewritten_list(), &st) &&
+				st.st_size > 0) {
+			struct child_process child = CHILD_PROCESS_INIT;
+			const char *post_rewrite_hook =
+				find_hook("post-rewrite");
+
+			child.in = open(rebase_path_rewritten_list(), O_RDONLY);
+			child.git_cmd = 1;
+			argv_array_push(&child.args, "notes");
+			argv_array_push(&child.args, "copy");
+			argv_array_push(&child.args, "--for-rewrite=rebase");
+			/* we don't care if this copying failed */
+			run_command(&child);
+
+			if (post_rewrite_hook) {
+				struct child_process hook = CHILD_PROCESS_INIT;
+
+				hook.in = open(rebase_path_rewritten_list(),
+					O_RDONLY);
+				hook.stdout_to_stderr = 1;
+				argv_array_push(&hook.args, post_rewrite_hook);
+				argv_array_push(&hook.args, "rebase");
+				/* we don't care if this hook failed */
+				run_command(&hook);
+			}
+		}
+		apply_autostash(opts);
+
+		fprintf(stderr, "Successfully rebased and updated %s.\n",
+			head_ref.buf);
+
+		strbuf_release(&buf);
+		strbuf_release(&head_ref);
+	}
+
 	/*
 	 * Sequence of picks finished successfully; cleanup by
 	 * removing the .git/sequencer directory
@@ -1338,6 +2160,47 @@
 	return run_command_v_opt(argv, RUN_GIT_CMD);
 }
 
+static int commit_staged_changes(struct replay_opts *opts)
+{
+	unsigned int flags = ALLOW_EMPTY | EDIT_MSG;
+
+	if (has_unstaged_changes(1))
+		return error(_("cannot rebase: You have unstaged changes."));
+	if (!has_uncommitted_changes(0)) {
+		const char *cherry_pick_head = git_path("CHERRY_PICK_HEAD");
+
+		if (file_exists(cherry_pick_head) && unlink(cherry_pick_head))
+			return error(_("could not remove CHERRY_PICK_HEAD"));
+		return 0;
+	}
+
+	if (file_exists(rebase_path_amend())) {
+		struct strbuf rev = STRBUF_INIT;
+		unsigned char head[20], to_amend[20];
+
+		if (get_sha1("HEAD", head))
+			return error(_("cannot amend non-existing commit"));
+		if (!read_oneliner(&rev, rebase_path_amend(), 0))
+			return error(_("invalid file: '%s'"), rebase_path_amend());
+		if (get_sha1_hex(rev.buf, to_amend))
+			return error(_("invalid contents: '%s'"),
+				rebase_path_amend());
+		if (hashcmp(head, to_amend))
+			return error(_("\nYou have uncommitted changes in your "
+				       "working tree. Please, commit them\n"
+				       "first and then run 'git rebase "
+				       "--continue' again."));
+
+		strbuf_release(&rev);
+		flags |= AMEND_MSG;
+	}
+
+	if (run_git_commit(rebase_path_message(), opts, flags))
+		return error(_("could not commit staged changes."));
+	unlink(rebase_path_amend());
+	return 0;
+}
+
 int sequencer_continue(struct replay_opts *opts)
 {
 	struct todo_list todo_list = TODO_LIST_INIT;
@@ -1346,25 +2209,39 @@
 	if (read_and_refresh_cache(opts))
 		return -1;
 
-	if (!file_exists(get_todo_path(opts)))
+	if (is_rebase_i(opts)) {
+		if (commit_staged_changes(opts))
+			return -1;
+	} else if (!file_exists(get_todo_path(opts)))
 		return continue_single_pick();
 	if (read_populate_opts(opts))
 		return -1;
 	if ((res = read_populate_todo(&todo_list, opts)))
 		goto release_todo_list;
 
-	/* Verify that the conflict has been resolved */
-	if (file_exists(git_path_cherry_pick_head()) ||
-	    file_exists(git_path_revert_head())) {
-		res = continue_single_pick();
-		if (res)
+	if (!is_rebase_i(opts)) {
+		/* Verify that the conflict has been resolved */
+		if (file_exists(git_path_cherry_pick_head()) ||
+		    file_exists(git_path_revert_head())) {
+			res = continue_single_pick();
+			if (res)
+				goto release_todo_list;
+		}
+		if (index_differs_from("HEAD", 0, 0)) {
+			res = error_dirty_index(opts);
 			goto release_todo_list;
+		}
+		todo_list.current++;
+	} else if (file_exists(rebase_path_stopped_sha())) {
+		struct strbuf buf = STRBUF_INIT;
+		struct object_id oid;
+
+		if (read_oneliner(&buf, rebase_path_stopped_sha(), 1) &&
+		    !get_sha1_committish(buf.buf, oid.hash))
+			record_in_rewritten(&oid, peek_command(&todo_list, 0));
+		strbuf_release(&buf);
 	}
-	if (index_differs_from("HEAD", 0, 0)) {
-		res = error_dirty_index(opts);
-		goto release_todo_list;
-	}
-	todo_list.current++;
+
 	res = pick_commits(&todo_list, opts);
 release_todo_list:
 	todo_list_release(&todo_list);
@@ -1375,7 +2252,7 @@
 {
 	setenv(GIT_REFLOG_ACTION, action_name(opts), 0);
 	return do_pick_commit(opts->action == REPLAY_PICK ?
-		TODO_PICK : TODO_REVERT, cmit, opts);
+		TODO_PICK : TODO_REVERT, cmit, opts, 0);
 }
 
 int sequencer_pick_revisions(struct replay_opts *opts)
diff --git a/sequencer.h b/sequencer.h
index 7a513c5..f885b68 100644
--- a/sequencer.h
+++ b/sequencer.h
@@ -7,7 +7,8 @@
 
 enum replay_action {
 	REPLAY_REVERT,
-	REPLAY_PICK
+	REPLAY_PICK,
+	REPLAY_INTERACTIVE_REBASE
 };
 
 struct replay_opts {
@@ -23,6 +24,7 @@
 	int allow_empty;
 	int allow_empty_message;
 	int keep_redundant_commits;
+	int verbose;
 
 	int mainline;
 
diff --git a/setup.c b/setup.c
index fe572b8..0309c27 100644
--- a/setup.c
+++ b/setup.c
@@ -135,6 +135,7 @@
 int check_filename(const char *prefix, const char *arg)
 {
 	const char *name;
+	char *to_free = NULL;
 	struct stat st;
 
 	if (starts_with(arg, ":/")) {
@@ -142,13 +143,17 @@
 			return 1;
 		name = arg + 2;
 	} else if (prefix)
-		name = prefix_filename(prefix, strlen(prefix), arg);
+		name = to_free = prefix_filename(prefix, arg);
 	else
 		name = arg;
-	if (!lstat(name, &st))
+	if (!lstat(name, &st)) {
+		free(to_free);
 		return 1; /* file exists */
-	if (errno == ENOENT || errno == ENOTDIR)
+	}
+	if (errno == ENOENT || errno == ENOTDIR) {
+		free(to_free);
 		return 0; /* file does not exist */
+	}
 	die_errno("failed to stat '%s'", arg);
 }
 
@@ -254,10 +259,12 @@
 		if (!is_absolute_path(data.buf))
 			strbuf_addf(&path, "%s/", gitdir);
 		strbuf_addbuf(&path, &data);
-		strbuf_addstr(sb, real_path(path.buf));
+		strbuf_add_real_path(sb, path.buf);
 		ret = 1;
-	} else
+	} else {
 		strbuf_addstr(sb, gitdir);
+	}
+
 	strbuf_release(&data);
 	strbuf_release(&path);
 	return ret;
@@ -484,6 +491,30 @@
 	return 0;
 }
 
+void read_gitfile_error_die(int error_code, const char *path, const char *dir)
+{
+	switch (error_code) {
+	case READ_GITFILE_ERR_STAT_FAILED:
+	case READ_GITFILE_ERR_NOT_A_FILE:
+		/* non-fatal; follow return path */
+		break;
+	case READ_GITFILE_ERR_OPEN_FAILED:
+		die_errno("Error opening '%s'", path);
+	case READ_GITFILE_ERR_TOO_LARGE:
+		die("Too large to be a .git file: '%s'", path);
+	case READ_GITFILE_ERR_READ_FAILED:
+		die("Error reading %s", path);
+	case READ_GITFILE_ERR_INVALID_FORMAT:
+		die("Invalid gitfile format: %s", path);
+	case READ_GITFILE_ERR_NO_PATH:
+		die("No path in gitfile: %s", path);
+	case READ_GITFILE_ERR_NOT_A_REPO:
+		die("Not a git repository: %s", dir);
+	default:
+		die("BUG: unknown error code");
+	}
+}
+
 /*
  * Try to read the location of the git directory from the .git file,
  * return path to git directory if found.
@@ -505,6 +536,7 @@
 	ssize_t len;
 
 	if (stat(path, &st)) {
+		/* NEEDSWORK: discern between ENOENT vs other errors */
 		error_code = READ_GITFILE_ERR_STAT_FAILED;
 		goto cleanup_return;
 	}
@@ -557,28 +589,8 @@
 cleanup_return:
 	if (return_error_code)
 		*return_error_code = error_code;
-	else if (error_code) {
-		switch (error_code) {
-		case READ_GITFILE_ERR_STAT_FAILED:
-		case READ_GITFILE_ERR_NOT_A_FILE:
-			/* non-fatal; follow return path */
-			break;
-		case READ_GITFILE_ERR_OPEN_FAILED:
-			die_errno("Error opening '%s'", path);
-		case READ_GITFILE_ERR_TOO_LARGE:
-			die("Too large to be a .git file: '%s'", path);
-		case READ_GITFILE_ERR_READ_FAILED:
-			die("Error reading %s", path);
-		case READ_GITFILE_ERR_INVALID_FORMAT:
-			die("Invalid gitfile format: %s", path);
-		case READ_GITFILE_ERR_NO_PATH:
-			die("No path in gitfile: %s", path);
-		case READ_GITFILE_ERR_NOT_A_REPO:
-			die("Not a git repository: %s", dir);
-		default:
-			assert(0);
-		}
-	}
+	else if (error_code)
+		read_gitfile_error_die(error_code, path, dir);
 
 	free(buf);
 	return error_code ? NULL : path;
@@ -692,7 +704,7 @@
 	/* --work-tree is set without --git-dir; use discovered one */
 	if (getenv(GIT_WORK_TREE_ENVIRONMENT) || git_work_tree_cfg) {
 		if (offset != cwd->len && !is_absolute_path(gitdir))
-			gitdir = xstrdup(real_path(gitdir));
+			gitdir = real_pathdup(gitdir, 1);
 		if (chdir(cwd->buf))
 			die_errno("Could not come back to cwd");
 		return setup_explicit_git_dir(gitdir, cwd, nongit_ok);
@@ -715,8 +727,10 @@
 	if (offset == cwd->len)
 		return NULL;
 
-	/* Make "offset" point to past the '/', and add a '/' at the end */
-	offset++;
+	/* Make "offset" point past the '/' (already the case for root dirs) */
+	if (offset != offset_1st_component(cwd->buf))
+		offset++;
+	/* Add a '/' at the end */
 	strbuf_addch(cwd, '/');
 	return cwd->buf + offset;
 }
@@ -800,31 +814,182 @@
 		/* Keep entry but do not canonicalize it */
 		return 1;
 	} else {
-		const char *real_path = real_path_if_valid(ceil);
-		if (!real_path)
+		char *real_path = real_pathdup(ceil, 0);
+		if (!real_path) {
 			return 0;
+		}
 		free(item->string);
-		item->string = xstrdup(real_path);
+		item->string = real_path;
 		return 1;
 	}
 }
 
+enum discovery_result {
+	GIT_DIR_NONE = 0,
+	GIT_DIR_EXPLICIT,
+	GIT_DIR_DISCOVERED,
+	GIT_DIR_BARE,
+	/* these are errors */
+	GIT_DIR_HIT_CEILING = -1,
+	GIT_DIR_HIT_MOUNT_POINT = -2,
+	GIT_DIR_INVALID_GITFILE = -3
+};
+
 /*
  * We cannot decide in this function whether we are in the work tree or
  * not, since the config can only be read _after_ this function was called.
+ *
+ * Also, we avoid changing any global state (such as the current working
+ * directory) to allow early callers.
+ *
+ * The directory where the search should start needs to be passed in via the
+ * `dir` parameter; upon return, the `dir` buffer will contain the path of
+ * the directory where the search ended, and `gitdir` will contain the path of
+ * the discovered .git/ directory, if any. If `gitdir` is not absolute, it
+ * is relative to `dir` (i.e. *not* necessarily the cwd).
  */
-static const char *setup_git_directory_gently_1(int *nongit_ok)
+static enum discovery_result setup_git_directory_gently_1(struct strbuf *dir,
+							  struct strbuf *gitdir,
+							  int die_on_error)
 {
 	const char *env_ceiling_dirs = getenv(CEILING_DIRECTORIES_ENVIRONMENT);
 	struct string_list ceiling_dirs = STRING_LIST_INIT_DUP;
-	static struct strbuf cwd = STRBUF_INIT;
-	const char *gitdirenv, *ret;
-	char *gitfile;
-	int offset, offset_parent, ceil_offset = -1;
+	const char *gitdirenv;
+	int ceil_offset = -1, min_offset = has_dos_drive_prefix(dir->buf) ? 3 : 1;
 	dev_t current_device = 0;
 	int one_filesystem = 1;
 
 	/*
+	 * If GIT_DIR is set explicitly, we're not going
+	 * to do any discovery, but we still do repository
+	 * validation.
+	 */
+	gitdirenv = getenv(GIT_DIR_ENVIRONMENT);
+	if (gitdirenv) {
+		strbuf_addstr(gitdir, gitdirenv);
+		return GIT_DIR_EXPLICIT;
+	}
+
+	if (env_ceiling_dirs) {
+		int empty_entry_found = 0;
+
+		string_list_split(&ceiling_dirs, env_ceiling_dirs, PATH_SEP, -1);
+		filter_string_list(&ceiling_dirs, 0,
+				   canonicalize_ceiling_entry, &empty_entry_found);
+		ceil_offset = longest_ancestor_length(dir->buf, &ceiling_dirs);
+		string_list_clear(&ceiling_dirs, 0);
+	}
+
+	if (ceil_offset < 0)
+		ceil_offset = min_offset - 2;
+
+	/*
+	 * Test in the following order (relative to the dir):
+	 * - .git (file containing "gitdir: <path>")
+	 * - .git/
+	 * - ./ (bare)
+	 * - ../.git
+	 * - ../.git/
+	 * - ../ (bare)
+	 * - ../../.git/
+	 *   etc.
+	 */
+	one_filesystem = !git_env_bool("GIT_DISCOVERY_ACROSS_FILESYSTEM", 0);
+	if (one_filesystem)
+		current_device = get_device_or_die(dir->buf, NULL, 0);
+	for (;;) {
+		int offset = dir->len, error_code = 0;
+
+		if (offset > min_offset)
+			strbuf_addch(dir, '/');
+		strbuf_addstr(dir, DEFAULT_GIT_DIR_ENVIRONMENT);
+		gitdirenv = read_gitfile_gently(dir->buf, die_on_error ?
+						NULL : &error_code);
+		if (!gitdirenv) {
+			if (die_on_error ||
+			    error_code == READ_GITFILE_ERR_NOT_A_FILE) {
+				/* NEEDSWORK: fail if .git is not file nor dir */
+				if (is_git_directory(dir->buf))
+					gitdirenv = DEFAULT_GIT_DIR_ENVIRONMENT;
+			} else if (error_code != READ_GITFILE_ERR_STAT_FAILED)
+				return GIT_DIR_INVALID_GITFILE;
+		}
+		strbuf_setlen(dir, offset);
+		if (gitdirenv) {
+			strbuf_addstr(gitdir, gitdirenv);
+			return GIT_DIR_DISCOVERED;
+		}
+
+		if (is_git_directory(dir->buf)) {
+			strbuf_addstr(gitdir, ".");
+			return GIT_DIR_BARE;
+		}
+
+		if (offset <= min_offset)
+			return GIT_DIR_HIT_CEILING;
+
+		while (--offset > ceil_offset && !is_dir_sep(dir->buf[offset]))
+			; /* continue */
+		if (offset <= ceil_offset)
+			return GIT_DIR_HIT_CEILING;
+
+		strbuf_setlen(dir, offset > min_offset ?  offset : min_offset);
+		if (one_filesystem &&
+		    current_device != get_device_or_die(dir->buf, NULL, offset))
+			return GIT_DIR_HIT_MOUNT_POINT;
+	}
+}
+
+const char *discover_git_directory(struct strbuf *gitdir)
+{
+	struct strbuf dir = STRBUF_INIT, err = STRBUF_INIT;
+	size_t gitdir_offset = gitdir->len, cwd_len;
+	struct repository_format candidate;
+
+	if (strbuf_getcwd(&dir))
+		return NULL;
+
+	cwd_len = dir.len;
+	if (setup_git_directory_gently_1(&dir, gitdir, 0) <= 0) {
+		strbuf_release(&dir);
+		return NULL;
+	}
+
+	/*
+	 * The returned gitdir is relative to dir, and if dir does not reflect
+	 * the current working directory, we simply make the gitdir absolute.
+	 */
+	if (dir.len < cwd_len && !is_absolute_path(gitdir->buf + gitdir_offset)) {
+		/* Avoid a trailing "/." */
+		if (!strcmp(".", gitdir->buf + gitdir_offset))
+			strbuf_setlen(gitdir, gitdir_offset);
+		else
+			strbuf_addch(&dir, '/');
+		strbuf_insert(gitdir, gitdir_offset, dir.buf, dir.len);
+	}
+
+	strbuf_reset(&dir);
+	strbuf_addf(&dir, "%s/config", gitdir->buf + gitdir_offset);
+	read_repository_format(&candidate, dir.buf);
+	strbuf_release(&dir);
+
+	if (verify_repository_format(&candidate, &err) < 0) {
+		warning("ignoring git dir '%s': %s",
+			gitdir->buf + gitdir_offset, err.buf);
+		strbuf_release(&err);
+		return NULL;
+	}
+
+	return gitdir->buf + gitdir_offset;
+}
+
+const char *setup_git_directory_gently(int *nongit_ok)
+{
+	static struct strbuf cwd = STRBUF_INIT;
+	struct strbuf dir = STRBUF_INIT, gitdir = STRBUF_INIT;
+	const char *prefix, *env_prefix;
+
+	/*
 	 * We may have read an incomplete configuration before
 	 * setting-up the git directory. If so, clear the cache so
 	 * that the next queries to the configuration reload complete
@@ -843,98 +1008,47 @@
 
 	if (strbuf_getcwd(&cwd))
 		die_errno(_("Unable to read current working directory"));
-	offset = cwd.len;
+	strbuf_addbuf(&dir, &cwd);
 
-	/*
-	 * If GIT_DIR is set explicitly, we're not going
-	 * to do any discovery, but we still do repository
-	 * validation.
-	 */
-	gitdirenv = getenv(GIT_DIR_ENVIRONMENT);
-	if (gitdirenv)
-		return setup_explicit_git_dir(gitdirenv, &cwd, nongit_ok);
-
-	if (env_ceiling_dirs) {
-		int empty_entry_found = 0;
-
-		string_list_split(&ceiling_dirs, env_ceiling_dirs, PATH_SEP, -1);
-		filter_string_list(&ceiling_dirs, 0,
-				   canonicalize_ceiling_entry, &empty_entry_found);
-		ceil_offset = longest_ancestor_length(cwd.buf, &ceiling_dirs);
-		string_list_clear(&ceiling_dirs, 0);
+	switch (setup_git_directory_gently_1(&dir, &gitdir, 1)) {
+	case GIT_DIR_NONE:
+		prefix = NULL;
+		break;
+	case GIT_DIR_EXPLICIT:
+		prefix = setup_explicit_git_dir(gitdir.buf, &cwd, nongit_ok);
+		break;
+	case GIT_DIR_DISCOVERED:
+		if (dir.len < cwd.len && chdir(dir.buf))
+			die(_("Cannot change to '%s'"), dir.buf);
+		prefix = setup_discovered_git_dir(gitdir.buf, &cwd, dir.len,
+						  nongit_ok);
+		break;
+	case GIT_DIR_BARE:
+		if (dir.len < cwd.len && chdir(dir.buf))
+			die(_("Cannot change to '%s'"), dir.buf);
+		prefix = setup_bare_git_dir(&cwd, dir.len, nongit_ok);
+		break;
+	case GIT_DIR_HIT_CEILING:
+		prefix = setup_nongit(cwd.buf, nongit_ok);
+		break;
+	case GIT_DIR_HIT_MOUNT_POINT:
+		if (nongit_ok) {
+			*nongit_ok = 1;
+			strbuf_release(&cwd);
+			strbuf_release(&dir);
+			return NULL;
+		}
+		die(_("Not a git repository (or any parent up to mount point %s)\n"
+		      "Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set)."),
+		    dir.buf);
+	default:
+		die("BUG: unhandled setup_git_directory_1() result");
 	}
 
-	if (ceil_offset < 0 && has_dos_drive_prefix(cwd.buf))
-		ceil_offset = 1;
+	env_prefix = getenv(GIT_TOPLEVEL_PREFIX_ENVIRONMENT);
+	if (env_prefix)
+		prefix = env_prefix;
 
-	/*
-	 * Test in the following order (relative to the cwd):
-	 * - .git (file containing "gitdir: <path>")
-	 * - .git/
-	 * - ./ (bare)
-	 * - ../.git
-	 * - ../.git/
-	 * - ../ (bare)
-	 * - ../../.git/
-	 *   etc.
-	 */
-	one_filesystem = !git_env_bool("GIT_DISCOVERY_ACROSS_FILESYSTEM", 0);
-	if (one_filesystem)
-		current_device = get_device_or_die(".", NULL, 0);
-	for (;;) {
-		gitfile = (char*)read_gitfile(DEFAULT_GIT_DIR_ENVIRONMENT);
-		if (gitfile)
-			gitdirenv = gitfile = xstrdup(gitfile);
-		else {
-			if (is_git_directory(DEFAULT_GIT_DIR_ENVIRONMENT))
-				gitdirenv = DEFAULT_GIT_DIR_ENVIRONMENT;
-		}
-
-		if (gitdirenv) {
-			ret = setup_discovered_git_dir(gitdirenv,
-						       &cwd, offset,
-						       nongit_ok);
-			free(gitfile);
-			return ret;
-		}
-		free(gitfile);
-
-		if (is_git_directory("."))
-			return setup_bare_git_dir(&cwd, offset, nongit_ok);
-
-		offset_parent = offset;
-		while (--offset_parent > ceil_offset && cwd.buf[offset_parent] != '/');
-		if (offset_parent <= ceil_offset)
-			return setup_nongit(cwd.buf, nongit_ok);
-		if (one_filesystem) {
-			dev_t parent_device = get_device_or_die("..", cwd.buf,
-								offset);
-			if (parent_device != current_device) {
-				if (nongit_ok) {
-					if (chdir(cwd.buf))
-						die_errno(_("Cannot come back to cwd"));
-					*nongit_ok = 1;
-					return NULL;
-				}
-				strbuf_setlen(&cwd, offset);
-				die(_("Not a git repository (or any parent up to mount point %s)\n"
-				"Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set)."),
-				    cwd.buf);
-			}
-		}
-		if (chdir("..")) {
-			strbuf_setlen(&cwd, offset);
-			die_errno(_("Cannot change to '%s/..'"), cwd.buf);
-		}
-		offset = offset_parent;
-	}
-}
-
-const char *setup_git_directory_gently(int *nongit_ok)
-{
-	const char *prefix;
-
-	prefix = setup_git_directory_gently_1(nongit_ok);
 	if (prefix)
 		setenv(GIT_PREFIX_ENVIRONMENT, prefix, 1);
 	else
@@ -943,6 +1057,9 @@
 	startup_info->have_repository = !nongit_ok || !*nongit_ok;
 	startup_info->prefix = prefix;
 
+	strbuf_release(&dir);
+	strbuf_release(&gitdir);
+
 	return prefix;
 }
 
@@ -1014,11 +1131,11 @@
 	return setup_git_directory_gently(NULL);
 }
 
-const char *resolve_gitdir(const char *suspect)
+const char *resolve_gitdir_gently(const char *suspect, int *return_error_code)
 {
 	if (is_git_directory(suspect))
 		return suspect;
-	return read_gitfile(suspect);
+	return read_gitfile_gently(suspect, return_error_code);
 }
 
 /* if any standard file descriptor is missing open it to /dev/null */
diff --git a/sha1-array.c b/sha1-array.c
index c1cc25c..7d646ab 100644
--- a/sha1-array.c
+++ b/sha1-array.c
@@ -2,60 +2,60 @@
 #include "sha1-array.h"
 #include "sha1-lookup.h"
 
-void sha1_array_append(struct sha1_array *array, const unsigned char *sha1)
+void oid_array_append(struct oid_array *array, const struct object_id *oid)
 {
-	ALLOC_GROW(array->sha1, array->nr + 1, array->alloc);
-	hashcpy(array->sha1[array->nr++], sha1);
+	ALLOC_GROW(array->oid, array->nr + 1, array->alloc);
+	oidcpy(&array->oid[array->nr++], oid);
 	array->sorted = 0;
 }
 
 static int void_hashcmp(const void *a, const void *b)
 {
-	return hashcmp(a, b);
+	return oidcmp(a, b);
 }
 
-static void sha1_array_sort(struct sha1_array *array)
+static void oid_array_sort(struct oid_array *array)
 {
-	QSORT(array->sha1, array->nr, void_hashcmp);
+	QSORT(array->oid, array->nr, void_hashcmp);
 	array->sorted = 1;
 }
 
 static const unsigned char *sha1_access(size_t index, void *table)
 {
-	unsigned char (*array)[20] = table;
-	return array[index];
+	struct object_id *array = table;
+	return array[index].hash;
 }
 
-int sha1_array_lookup(struct sha1_array *array, const unsigned char *sha1)
+int oid_array_lookup(struct oid_array *array, const struct object_id *oid)
 {
 	if (!array->sorted)
-		sha1_array_sort(array);
-	return sha1_pos(sha1, array->sha1, array->nr, sha1_access);
+		oid_array_sort(array);
+	return sha1_pos(oid->hash, array->oid, array->nr, sha1_access);
 }
 
-void sha1_array_clear(struct sha1_array *array)
+void oid_array_clear(struct oid_array *array)
 {
-	free(array->sha1);
-	array->sha1 = NULL;
+	free(array->oid);
+	array->oid = NULL;
 	array->nr = 0;
 	array->alloc = 0;
 	array->sorted = 0;
 }
 
-int sha1_array_for_each_unique(struct sha1_array *array,
-				for_each_sha1_fn fn,
+int oid_array_for_each_unique(struct oid_array *array,
+				for_each_oid_fn fn,
 				void *data)
 {
 	int i;
 
 	if (!array->sorted)
-		sha1_array_sort(array);
+		oid_array_sort(array);
 
 	for (i = 0; i < array->nr; i++) {
 		int ret;
-		if (i > 0 && !hashcmp(array->sha1[i], array->sha1[i-1]))
+		if (i > 0 && !oidcmp(array->oid + i, array->oid + i - 1))
 			continue;
-		ret = fn(array->sha1[i], data);
+		ret = fn(array->oid + i, data);
 		if (ret)
 			return ret;
 	}
diff --git a/sha1-array.h b/sha1-array.h
index b3230be..04b0756 100644
--- a/sha1-array.h
+++ b/sha1-array.h
@@ -1,23 +1,23 @@
 #ifndef SHA1_ARRAY_H
 #define SHA1_ARRAY_H
 
-struct sha1_array {
-	unsigned char (*sha1)[20];
+struct oid_array {
+	struct object_id *oid;
 	int nr;
 	int alloc;
 	int sorted;
 };
 
-#define SHA1_ARRAY_INIT { NULL, 0, 0, 0 }
+#define OID_ARRAY_INIT { NULL, 0, 0, 0 }
 
-void sha1_array_append(struct sha1_array *array, const unsigned char *sha1);
-int sha1_array_lookup(struct sha1_array *array, const unsigned char *sha1);
-void sha1_array_clear(struct sha1_array *array);
+void oid_array_append(struct oid_array *array, const struct object_id *oid);
+int oid_array_lookup(struct oid_array *array, const struct object_id *oid);
+void oid_array_clear(struct oid_array *array);
 
-typedef int (*for_each_sha1_fn)(const unsigned char sha1[20],
-				void *data);
-int sha1_array_for_each_unique(struct sha1_array *array,
-			       for_each_sha1_fn fn,
+typedef int (*for_each_oid_fn)(const struct object_id *oid,
+			       void *data);
+int oid_array_for_each_unique(struct oid_array *array,
+			       for_each_oid_fn fn,
 			       void *data);
 
 #endif /* SHA1_ARRAY_H */
diff --git a/sha1_file.c b/sha1_file.c
index 1173071..1577e2d 100644
--- a/sha1_file.c
+++ b/sha1_file.c
@@ -28,14 +28,6 @@
 #include "mergesort.h"
 #include "quote.h"
 
-#ifndef O_NOATIME
-#if defined(__linux__) && (defined(__i386__) || defined(__PPC__))
-#define O_NOATIME 01000000
-#else
-#define O_NOATIME 0
-#endif
-#endif
-
 #define SZ_FMT PRIuMAX
 static inline uintmax_t sz_fmt(size_t s) { return s; }
 
@@ -137,8 +129,10 @@
 		*slash = '\0';
 		if (!stat(path, &st)) {
 			/* path exists */
-			if (!S_ISDIR(st.st_mode))
+			if (!S_ISDIR(st.st_mode)) {
+				errno = ENOTDIR;
 				ret = SCLD_EXISTS;
+			}
 		} else if (mkdir(path, 0777)) {
 			if (errno == EEXIST &&
 			    !stat(path, &st) && S_ISDIR(st.st_mode))
@@ -166,13 +160,85 @@
 
 enum scld_error safe_create_leading_directories_const(const char *path)
 {
+	int save_errno;
 	/* path points to cache entries, so xstrdup before messing with it */
 	char *buf = xstrdup(path);
 	enum scld_error result = safe_create_leading_directories(buf);
+
+	save_errno = errno;
 	free(buf);
+	errno = save_errno;
 	return result;
 }
 
+int raceproof_create_file(const char *path, create_file_fn fn, void *cb)
+{
+	/*
+	 * The number of times we will try to remove empty directories
+	 * in the way of path. This is only 1 because if another
+	 * process is racily creating directories that conflict with
+	 * us, we don't want to fight against them.
+	 */
+	int remove_directories_remaining = 1;
+
+	/*
+	 * The number of times that we will try to create the
+	 * directories containing path. We are willing to attempt this
+	 * more than once, because another process could be trying to
+	 * clean up empty directories at the same time as we are
+	 * trying to create them.
+	 */
+	int create_directories_remaining = 3;
+
+	/* A scratch copy of path, filled lazily if we need it: */
+	struct strbuf path_copy = STRBUF_INIT;
+
+	int ret, save_errno;
+
+	/* Sanity check: */
+	assert(*path);
+
+retry_fn:
+	ret = fn(path, cb);
+	save_errno = errno;
+	if (!ret)
+		goto out;
+
+	if (errno == EISDIR && remove_directories_remaining-- > 0) {
+		/*
+		 * A directory is in the way. Maybe it is empty; try
+		 * to remove it:
+		 */
+		if (!path_copy.len)
+			strbuf_addstr(&path_copy, path);
+
+		if (!remove_dir_recursively(&path_copy, REMOVE_DIR_EMPTY_ONLY))
+			goto retry_fn;
+	} else if (errno == ENOENT && create_directories_remaining-- > 0) {
+		/*
+		 * Maybe the containing directory didn't exist, or
+		 * maybe it was just deleted by a process that is
+		 * racing with us to clean up empty directories. Try
+		 * to create it:
+		 */
+		enum scld_error scld_result;
+
+		if (!path_copy.len)
+			strbuf_addstr(&path_copy, path);
+
+		do {
+			scld_result = safe_create_leading_directories(path_copy.buf);
+			if (scld_result == SCLD_OK)
+				goto retry_fn;
+		} while (scld_result == SCLD_VANISHED && create_directories_remaining-- > 0);
+	}
+
+out:
+	strbuf_release(&path_copy);
+	errno = save_errno;
+	return ret;
+}
+
 static void fill_sha1_path(struct strbuf *buf, const unsigned char *sha1)
 {
 	int i;
@@ -211,31 +277,26 @@
 	return buf->buf;
 }
 
-/*
- * Return the name of the pack or index file with the specified sha1
- * in its filename.  *base and *name are scratch space that must be
- * provided by the caller.  which should be "pack" or "idx".
- */
-static char *sha1_get_pack_name(const unsigned char *sha1,
-				struct strbuf *buf,
-				const char *which)
+ char *odb_pack_name(struct strbuf *buf,
+		     const unsigned char *sha1,
+		     const char *ext)
 {
 	strbuf_reset(buf);
 	strbuf_addf(buf, "%s/pack/pack-%s.%s", get_object_directory(),
-		    sha1_to_hex(sha1), which);
+		    sha1_to_hex(sha1), ext);
 	return buf->buf;
 }
 
 char *sha1_pack_name(const unsigned char *sha1)
 {
 	static struct strbuf buf = STRBUF_INIT;
-	return sha1_get_pack_name(sha1, &buf, "pack");
+	return odb_pack_name(&buf, sha1, "pack");
 }
 
 char *sha1_pack_index_name(const unsigned char *sha1)
 {
 	static struct strbuf buf = STRBUF_INIT;
-	return sha1_get_pack_name(sha1, &buf, "idx");
+	return odb_pack_name(&buf, sha1, "idx");
 }
 
 struct alternate_object_database *alt_odb_list;
@@ -292,7 +353,7 @@
 	struct strbuf pathbuf = STRBUF_INIT;
 
 	if (!is_absolute_path(entry) && relative_base) {
-		strbuf_addstr(&pathbuf, real_path(relative_base));
+		strbuf_realpath(&pathbuf, relative_base, 1);
 		strbuf_addch(&pathbuf, '/');
 	}
 	strbuf_addstr(&pathbuf, entry);
@@ -601,7 +662,7 @@
  * either does not exist on disk, or has a stale mtime and may be subject to
  * pruning).
  */
-static int check_and_freshen_file(const char *fn, int freshen)
+int check_and_freshen_file(const char *fn, int freshen)
 {
 	if (access(fn, F_OK))
 		return 0;
@@ -1545,7 +1606,7 @@
 		if (!hashcmp(sha1, p->bad_object_sha1 + GIT_SHA1_RAWSZ * i))
 			return;
 	p->bad_object_sha1 = xrealloc(p->bad_object_sha1,
-				      st_mult(GIT_SHA1_RAWSZ,
+				      st_mult(GIT_MAX_RAWSZ,
 					      st_add(p->num_bad_objects, 1)));
 	hashcpy(p->bad_object_sha1 + GIT_SHA1_RAWSZ * p->num_bad_objects, sha1);
 	p->num_bad_objects++;
@@ -1611,66 +1672,81 @@
 	return hashcmp(sha1, real_sha1) ? -1 : 0;
 }
 
-int git_open(const char *name)
+int git_open_cloexec(const char *name, int flags)
 {
-	static int sha1_file_open_flag = O_NOATIME | O_CLOEXEC;
+	int fd;
+	static int o_cloexec = O_CLOEXEC;
 
-	for (;;) {
-		int fd;
-
-		errno = 0;
-		fd = open(name, O_RDONLY | sha1_file_open_flag);
-		if (fd >= 0)
-			return fd;
-
+	fd = open(name, flags | o_cloexec);
+	if ((o_cloexec & O_CLOEXEC) && fd < 0 && errno == EINVAL) {
 		/* Try again w/o O_CLOEXEC: the kernel might not support it */
-		if ((sha1_file_open_flag & O_CLOEXEC) && errno == EINVAL) {
-			sha1_file_open_flag &= ~O_CLOEXEC;
-			continue;
-		}
-
-		/* Might the failure be due to O_NOATIME? */
-		if (errno != ENOENT && (sha1_file_open_flag & O_NOATIME)) {
-			sha1_file_open_flag &= ~O_NOATIME;
-			continue;
-		}
-		return -1;
+		o_cloexec &= ~O_CLOEXEC;
+		fd = open(name, flags | o_cloexec);
 	}
+
+#if defined(F_GETFL) && defined(F_SETFL) && defined(FD_CLOEXEC)
+	{
+		static int fd_cloexec = FD_CLOEXEC;
+
+		if (!o_cloexec && 0 <= fd && fd_cloexec) {
+			/* Opened w/o O_CLOEXEC?  try with fcntl(2) to add it */
+			int flags = fcntl(fd, F_GETFL);
+			if (fcntl(fd, F_SETFL, flags | fd_cloexec))
+				fd_cloexec = 0;
+		}
+	}
+#endif
+	return fd;
 }
 
-static int stat_sha1_file(const unsigned char *sha1, struct stat *st)
+/*
+ * Find "sha1" as a loose object in the local repository or in an alternate.
+ * Returns 0 on success, negative on failure.
+ *
+ * The "path" out-parameter will give the path of the object we found (if any).
+ * Note that it may point to static storage and is only valid until another
+ * call to sha1_file_name(), etc.
+ */
+static int stat_sha1_file(const unsigned char *sha1, struct stat *st,
+			  const char **path)
 {
 	struct alternate_object_database *alt;
 
-	if (!lstat(sha1_file_name(sha1), st))
+	*path = sha1_file_name(sha1);
+	if (!lstat(*path, st))
 		return 0;
 
 	prepare_alt_odb();
 	errno = ENOENT;
 	for (alt = alt_odb_list; alt; alt = alt->next) {
-		const char *path = alt_sha1_path(alt, sha1);
-		if (!lstat(path, st))
+		*path = alt_sha1_path(alt, sha1);
+		if (!lstat(*path, st))
 			return 0;
 	}
 
 	return -1;
 }
 
-static int open_sha1_file(const unsigned char *sha1)
+/*
+ * Like stat_sha1_file(), but actually open the object and return the
+ * descriptor. See the caveats on the "path" parameter above.
+ */
+static int open_sha1_file(const unsigned char *sha1, const char **path)
 {
 	int fd;
 	struct alternate_object_database *alt;
 	int most_interesting_errno;
 
-	fd = git_open(sha1_file_name(sha1));
+	*path = sha1_file_name(sha1);
+	fd = git_open(*path);
 	if (fd >= 0)
 		return fd;
 	most_interesting_errno = errno;
 
 	prepare_alt_odb();
 	for (alt = alt_odb_list; alt; alt = alt->next) {
-		const char *path = alt_sha1_path(alt, sha1);
-		fd = git_open(path);
+		*path = alt_sha1_path(alt, sha1);
+		fd = git_open(*path);
 		if (fd >= 0)
 			return fd;
 		if (most_interesting_errno == ENOENT)
@@ -1680,12 +1756,21 @@
 	return -1;
 }
 
-void *map_sha1_file(const unsigned char *sha1, unsigned long *size)
+/*
+ * Map the loose object at "path" if it is not NULL, or the path found by
+ * searching for a loose object named "sha1".
+ */
+static void *map_sha1_file_1(const char *path,
+			     const unsigned char *sha1,
+			     unsigned long *size)
 {
 	void *map;
 	int fd;
 
-	fd = open_sha1_file(sha1);
+	if (path)
+		fd = git_open(path);
+	else
+		fd = open_sha1_file(sha1, &path);
 	map = NULL;
 	if (fd >= 0) {
 		struct stat st;
@@ -1694,7 +1779,7 @@
 			*size = xsize_t(st.st_size);
 			if (!*size) {
 				/* mmap() is forbidden on empty files */
-				error("object file %s is empty", sha1_file_name(sha1));
+				error("object file %s is empty", path);
 				return NULL;
 			}
 			map = xmmap(NULL, *size, PROT_READ, MAP_PRIVATE, fd, 0);
@@ -1704,6 +1789,11 @@
 	return map;
 }
 
+void *map_sha1_file(const unsigned char *sha1, unsigned long *size)
+{
+	return map_sha1_file_1(NULL, sha1, size);
+}
+
 unsigned long unpack_object_header_buffer(const unsigned char *buf,
 		unsigned long len, enum object_type *type, unsigned long *sizep)
 {
@@ -2350,11 +2440,10 @@
 
 void clear_delta_base_cache(void)
 {
-	struct hashmap_iter iter;
-	struct delta_base_cache_entry *entry;
-	for (entry = hashmap_iter_first(&delta_base_cache, &iter);
-	     entry;
-	     entry = hashmap_iter_next(&iter)) {
+	struct list_head *lru, *tmp;
+	list_for_each_safe(lru, tmp, &delta_base_cache_lru) {
+		struct delta_base_cache_entry *entry =
+			list_entry(lru, struct delta_base_cache_entry, lru);
 		release_delta_base_cache(entry);
 	}
 }
@@ -2512,6 +2601,7 @@
 	while (delta_stack_nr) {
 		void *delta_data;
 		void *base = data;
+		void *external_base = NULL;
 		unsigned long delta_size, base_size = size;
 		int i;
 
@@ -2538,6 +2628,7 @@
 				      p->pack_name);
 				mark_bad_packed_object(p, base_sha1);
 				base = read_object(base_sha1, &type, &base_size);
+				external_base = base;
 			}
 		}
 
@@ -2556,6 +2647,7 @@
 			      "at offset %"PRIuMAX" from %s",
 			      (uintmax_t)curpos, p->pack_name);
 			data = NULL;
+			free(external_base);
 			continue;
 		}
 
@@ -2575,6 +2667,7 @@
 			error("failed to apply delta");
 
 		free(delta_data);
+		free(external_base);
 	}
 
 	*final_type = type;
@@ -2608,6 +2701,17 @@
 	}
 }
 
+const struct object_id *nth_packed_object_oid(struct object_id *oid,
+					      struct packed_git *p,
+					      uint32_t n)
+{
+	const unsigned char *hash = nth_packed_object_sha1(p, n);
+	if (!hash)
+		return NULL;
+	hashcpy(oid->hash, hash);
+	return oid;
+}
+
 void check_pack_index_ptr(const struct packed_git *p, const void *vptr)
 {
 	const unsigned char *ptr = vptr;
@@ -2814,8 +2918,9 @@
 	 * object even exists.
 	 */
 	if (!oi->typep && !oi->typename && !oi->sizep) {
+		const char *path;
 		struct stat st;
-		if (stat_sha1_file(sha1, &st) < 0)
+		if (stat_sha1_file(sha1, &st, &path) < 0)
 			return -1;
 		if (oi->disk_sizep)
 			*oi->disk_sizep = st.st_size;
@@ -2847,7 +2952,7 @@
 	if (status && oi->typep)
 		*oi->typep = status;
 	strbuf_release(&hdrbuf);
-	return 0;
+	return (status < 0) ? status : 0;
 }
 
 int sha1_object_info_extended(const unsigned char *sha1, struct object_info *oi, unsigned flags)
@@ -3011,6 +3116,8 @@
 {
 	void *data;
 	const struct packed_git *p;
+	const char *path;
+	struct stat st;
 	const unsigned char *repl = lookup_replace_object_extended(sha1, flag);
 
 	errno = 0;
@@ -3026,12 +3133,9 @@
 		die("replacement %s not found for %s",
 		    sha1_to_hex(repl), sha1_to_hex(sha1));
 
-	if (has_loose_object(repl)) {
-		const char *path = sha1_file_name(sha1);
-
+	if (!stat_sha1_file(repl, &st, &path))
 		die("loose object %s (stored in %s) is corrupt",
 		    sha1_to_hex(repl), path);
-	}
 
 	if ((p = has_packed_and_bad(repl)) != NULL)
 		die("packed object %s (stored in %s) is corrupt",
@@ -3377,6 +3481,8 @@
 {
 	struct pack_entry e;
 
+	if (!startup_info->have_repository)
+		return 0;
 	if (find_pack_entry(sha1, &e))
 		return 1;
 	if (has_loose_object(sha1))
@@ -3654,15 +3760,15 @@
 		strbuf_setlen(path, baselen);
 		strbuf_addf(path, "/%s", de->d_name);
 
-		if (strlen(de->d_name) == 38)  {
-			char hex[41];
-			unsigned char sha1[20];
+		if (strlen(de->d_name) == GIT_SHA1_HEXSZ - 2)  {
+			char hex[GIT_MAX_HEXSZ+1];
+			struct object_id oid;
 
-			snprintf(hex, sizeof(hex), "%02x%s",
-				 subdir_nr, de->d_name);
-			if (!get_sha1_hex(hex, sha1)) {
+			xsnprintf(hex, sizeof(hex), "%02x%s",
+				  subdir_nr, de->d_name);
+			if (!get_oid_hex(hex, &oid)) {
 				if (obj_cb) {
-					r = obj_cb(sha1, path->buf, data);
+					r = obj_cb(&oid, path->buf, data);
 					if (r)
 						break;
 				}
@@ -3768,13 +3874,13 @@
 	int r = 0;
 
 	for (i = 0; i < p->num_objects; i++) {
-		const unsigned char *sha1 = nth_packed_object_sha1(p, i);
+		struct object_id oid;
 
-		if (!sha1)
+		if (!nth_packed_object_oid(&oid, p, i))
 			return error("unable to get sha1 of object %u in %s",
 				     i, p->pack_name);
 
-		r = cb(sha1, p, i, data);
+		r = cb(&oid, p, i, data);
 		if (r)
 			break;
 	}
@@ -3801,3 +3907,122 @@
 	}
 	return r ? r : pack_errors;
 }
+
+static int check_stream_sha1(git_zstream *stream,
+			     const char *hdr,
+			     unsigned long size,
+			     const char *path,
+			     const unsigned char *expected_sha1)
+{
+	git_SHA_CTX c;
+	unsigned char real_sha1[GIT_MAX_RAWSZ];
+	unsigned char buf[4096];
+	unsigned long total_read;
+	int status = Z_OK;
+
+	git_SHA1_Init(&c);
+	git_SHA1_Update(&c, hdr, stream->total_out);
+
+	/*
+	 * We already read some bytes into hdr, but the ones up to the NUL
+	 * do not count against the object's content size.
+	 */
+	total_read = stream->total_out - strlen(hdr) - 1;
+
+	/*
+	 * This size comparison must be "<=" to read the final zlib packets;
+	 * see the comment in unpack_sha1_rest for details.
+	 */
+	while (total_read <= size &&
+	       (status == Z_OK || status == Z_BUF_ERROR)) {
+		stream->next_out = buf;
+		stream->avail_out = sizeof(buf);
+		if (size - total_read < stream->avail_out)
+			stream->avail_out = size - total_read;
+		status = git_inflate(stream, Z_FINISH);
+		git_SHA1_Update(&c, buf, stream->next_out - buf);
+		total_read += stream->next_out - buf;
+	}
+	git_inflate_end(stream);
+
+	if (status != Z_STREAM_END) {
+		error("corrupt loose object '%s'", sha1_to_hex(expected_sha1));
+		return -1;
+	}
+	if (stream->avail_in) {
+		error("garbage at end of loose object '%s'",
+		      sha1_to_hex(expected_sha1));
+		return -1;
+	}
+
+	git_SHA1_Final(real_sha1, &c);
+	if (hashcmp(expected_sha1, real_sha1)) {
+		error("sha1 mismatch for %s (expected %s)", path,
+		      sha1_to_hex(expected_sha1));
+		return -1;
+	}
+
+	return 0;
+}
+
+int read_loose_object(const char *path,
+		      const unsigned char *expected_sha1,
+		      enum object_type *type,
+		      unsigned long *size,
+		      void **contents)
+{
+	int ret = -1;
+	int fd = -1;
+	void *map = NULL;
+	unsigned long mapsize;
+	git_zstream stream;
+	char hdr[32];
+
+	*contents = NULL;
+
+	map = map_sha1_file_1(path, NULL, &mapsize);
+	if (!map) {
+		error_errno("unable to mmap %s", path);
+		goto out;
+	}
+
+	if (unpack_sha1_header(&stream, map, mapsize, hdr, sizeof(hdr)) < 0) {
+		error("unable to unpack header of %s", path);
+		goto out;
+	}
+
+	*type = parse_sha1_header(hdr, size);
+	if (*type < 0) {
+		error("unable to parse header of %s", path);
+		git_inflate_end(&stream);
+		goto out;
+	}
+
+	if (*type == OBJ_BLOB) {
+		if (check_stream_sha1(&stream, hdr, *size, path, expected_sha1) < 0)
+			goto out;
+	} else {
+		*contents = unpack_sha1_rest(&stream, hdr, *size, expected_sha1);
+		if (!*contents) {
+			error("unable to unpack contents of %s", path);
+			git_inflate_end(&stream);
+			goto out;
+		}
+		if (check_sha1_signature(expected_sha1, *contents,
+					 *size, typename(*type))) {
+			error("sha1 mismatch for %s (expected %s)", path,
+			      sha1_to_hex(expected_sha1));
+			free(*contents);
+			goto out;
+		}
+	}
+
+	ret = 0; /* everything checks out */
+
+out:
+	if (map)
+		munmap(map, mapsize);
+	if (fd >= 0)
+		close(fd);
+	return ret;
+}
diff --git a/sha1_name.c b/sha1_name.c
index 73a915f..8eec9f7 100644
--- a/sha1_name.c
+++ b/sha1_name.c
@@ -11,16 +11,16 @@
 
 static int get_sha1_oneline(const char *, unsigned char *, struct commit_list *);
 
-typedef int (*disambiguate_hint_fn)(const unsigned char *, void *);
+typedef int (*disambiguate_hint_fn)(const struct object_id *, void *);
 
 struct disambiguate_state {
 	int len; /* length of prefix in hex chars */
-	char hex_pfx[GIT_SHA1_HEXSZ + 1];
-	unsigned char bin_pfx[GIT_SHA1_RAWSZ];
+	char hex_pfx[GIT_MAX_HEXSZ + 1];
+	struct object_id bin_pfx;
 
 	disambiguate_hint_fn fn;
 	void *cb_data;
-	unsigned char candidate[GIT_SHA1_RAWSZ];
+	struct object_id candidate;
 	unsigned candidate_exists:1;
 	unsigned candidate_checked:1;
 	unsigned candidate_ok:1;
@@ -29,7 +29,7 @@
 	unsigned always_call_fn:1;
 };
 
-static void update_candidates(struct disambiguate_state *ds, const unsigned char *current)
+static void update_candidates(struct disambiguate_state *ds, const struct object_id *current)
 {
 	if (ds->always_call_fn) {
 		ds->ambiguous = ds->fn(current, ds->cb_data) ? 1 : 0;
@@ -37,10 +37,10 @@
 	}
 	if (!ds->candidate_exists) {
 		/* this is the first candidate */
-		hashcpy(ds->candidate, current);
+		oidcpy(&ds->candidate, current);
 		ds->candidate_exists = 1;
 		return;
-	} else if (!hashcmp(ds->candidate, current)) {
+	} else if (!oidcmp(&ds->candidate, current)) {
 		/* the same as what we already have seen */
 		return;
 	}
@@ -52,14 +52,14 @@
 	}
 
 	if (!ds->candidate_checked) {
-		ds->candidate_ok = ds->fn(ds->candidate, ds->cb_data);
+		ds->candidate_ok = ds->fn(&ds->candidate, ds->cb_data);
 		ds->disambiguate_fn_used = 1;
 		ds->candidate_checked = 1;
 	}
 
 	if (!ds->candidate_ok) {
 		/* discard the candidate; we know it does not satisfy fn */
-		hashcpy(ds->candidate, current);
+		oidcpy(&ds->candidate, current);
 		ds->candidate_checked = 0;
 		return;
 	}
@@ -80,7 +80,7 @@
 static void find_short_object_filename(struct disambiguate_state *ds)
 {
 	struct alternate_object_database *alt;
-	char hex[GIT_SHA1_HEXSZ];
+	char hex[GIT_MAX_HEXSZ];
 	static struct alternate_object_database *fakeent;
 
 	if (!fakeent) {
@@ -107,15 +107,15 @@
 			continue;
 
 		while (!ds->ambiguous && (de = readdir(dir)) != NULL) {
-			unsigned char sha1[20];
+			struct object_id oid;
 
-			if (strlen(de->d_name) != 38)
+			if (strlen(de->d_name) != GIT_SHA1_HEXSZ - 2)
 				continue;
 			if (memcmp(de->d_name, ds->hex_pfx + 2, ds->len - 2))
 				continue;
-			memcpy(hex + 2, de->d_name, 38);
-			if (!get_sha1_hex(hex, sha1))
-				update_candidates(ds, sha1);
+			memcpy(hex + 2, de->d_name, GIT_SHA1_HEXSZ - 2);
+			if (!get_oid_hex(hex, &oid))
+				update_candidates(ds, &oid);
 		}
 		closedir(dir);
 	}
@@ -140,7 +140,7 @@
 			   struct disambiguate_state *ds)
 {
 	uint32_t num, last, i, first = 0;
-	const unsigned char *current = NULL;
+	const struct object_id *current = NULL;
 
 	open_pack_index(p);
 	num = p->num_objects;
@@ -151,7 +151,7 @@
 		int cmp;
 
 		current = nth_packed_object_sha1(p, mid);
-		cmp = hashcmp(ds->bin_pfx, current);
+		cmp = hashcmp(ds->bin_pfx.hash, current);
 		if (!cmp) {
 			first = mid;
 			break;
@@ -169,8 +169,9 @@
 	 * 0, 1 or more objects that actually match(es).
 	 */
 	for (i = first; i < num && !ds->ambiguous; i++) {
-		current = nth_packed_object_sha1(p, i);
-		if (!match_sha(ds->len, ds->bin_pfx, current))
+		struct object_id oid;
+		current = nth_packed_object_oid(&oid, p, i);
+		if (!match_sha(ds->len, ds->bin_pfx.hash, current->hash))
 			break;
 		update_candidates(ds, current);
 	}
@@ -213,66 +214,66 @@
 		 * same repository!
 		 */
 		ds->candidate_ok = (!ds->disambiguate_fn_used ||
-				    ds->fn(ds->candidate, ds->cb_data));
+				    ds->fn(&ds->candidate, ds->cb_data));
 
 	if (!ds->candidate_ok)
 		return SHORT_NAME_AMBIGUOUS;
 
-	hashcpy(sha1, ds->candidate);
+	hashcpy(sha1, ds->candidate.hash);
 	return 0;
 }
 
-static int disambiguate_commit_only(const unsigned char *sha1, void *cb_data_unused)
+static int disambiguate_commit_only(const struct object_id *oid, void *cb_data_unused)
 {
-	int kind = sha1_object_info(sha1, NULL);
+	int kind = sha1_object_info(oid->hash, NULL);
 	return kind == OBJ_COMMIT;
 }
 
-static int disambiguate_committish_only(const unsigned char *sha1, void *cb_data_unused)
+static int disambiguate_committish_only(const struct object_id *oid, void *cb_data_unused)
 {
 	struct object *obj;
 	int kind;
 
-	kind = sha1_object_info(sha1, NULL);
+	kind = sha1_object_info(oid->hash, NULL);
 	if (kind == OBJ_COMMIT)
 		return 1;
 	if (kind != OBJ_TAG)
 		return 0;
 
 	/* We need to do this the hard way... */
-	obj = deref_tag(parse_object(sha1), NULL, 0);
+	obj = deref_tag(parse_object(oid->hash), NULL, 0);
 	if (obj && obj->type == OBJ_COMMIT)
 		return 1;
 	return 0;
 }
 
-static int disambiguate_tree_only(const unsigned char *sha1, void *cb_data_unused)
+static int disambiguate_tree_only(const struct object_id *oid, void *cb_data_unused)
 {
-	int kind = sha1_object_info(sha1, NULL);
+	int kind = sha1_object_info(oid->hash, NULL);
 	return kind == OBJ_TREE;
 }
 
-static int disambiguate_treeish_only(const unsigned char *sha1, void *cb_data_unused)
+static int disambiguate_treeish_only(const struct object_id *oid, void *cb_data_unused)
 {
 	struct object *obj;
 	int kind;
 
-	kind = sha1_object_info(sha1, NULL);
+	kind = sha1_object_info(oid->hash, NULL);
 	if (kind == OBJ_TREE || kind == OBJ_COMMIT)
 		return 1;
 	if (kind != OBJ_TAG)
 		return 0;
 
 	/* We need to do this the hard way... */
-	obj = deref_tag(parse_object(sha1), NULL, 0);
+	obj = deref_tag(parse_object(oid->hash), NULL, 0);
 	if (obj && (obj->type == OBJ_TREE || obj->type == OBJ_COMMIT))
 		return 1;
 	return 0;
 }
 
-static int disambiguate_blob_only(const unsigned char *sha1, void *cb_data_unused)
+static int disambiguate_blob_only(const struct object_id *oid, void *cb_data_unused)
 {
-	int kind = sha1_object_info(sha1, NULL);
+	int kind = sha1_object_info(oid->hash, NULL);
 	return kind == OBJ_BLOB;
 }
 
@@ -332,7 +333,7 @@
 		ds->hex_pfx[i] = c;
 		if (!(i & 1))
 			val <<= 4;
-		ds->bin_pfx[i >> 1] |= val;
+		ds->bin_pfx.hash[i >> 1] |= val;
 	}
 
 	ds->len = len;
@@ -341,31 +342,32 @@
 	return 0;
 }
 
-static int show_ambiguous_object(const unsigned char *sha1, void *data)
+static int show_ambiguous_object(const struct object_id *oid, void *data)
 {
 	const struct disambiguate_state *ds = data;
 	struct strbuf desc = STRBUF_INIT;
 	int type;
 
-	if (ds->fn && !ds->fn(sha1, ds->cb_data))
+
+	if (ds->fn && !ds->fn(oid, ds->cb_data))
 		return 0;
 
-	type = sha1_object_info(sha1, NULL);
+	type = sha1_object_info(oid->hash, NULL);
 	if (type == OBJ_COMMIT) {
-		struct commit *commit = lookup_commit(sha1);
+		struct commit *commit = lookup_commit(oid->hash);
 		if (commit) {
 			struct pretty_print_context pp = {0};
 			pp.date_mode.type = DATE_SHORT;
 			format_commit_message(commit, " %ad - %s", &desc, &pp);
 		}
 	} else if (type == OBJ_TAG) {
-		struct tag *tag = lookup_tag(sha1);
+		struct tag *tag = lookup_tag(oid->hash);
 		if (!parse_tag(tag) && tag->tag)
 			strbuf_addf(&desc, " %s", tag->tag);
 	}
 
 	advise("  %s %s%s",
-	       find_unique_abbrev(sha1, DEFAULT_ABBREV),
+	       find_unique_abbrev(oid->hash, DEFAULT_ABBREV),
 	       typename(type) ? typename(type) : "unknown type",
 	       desc.buf);
 
@@ -422,15 +424,15 @@
 	return status;
 }
 
-static int collect_ambiguous(const unsigned char *sha1, void *data)
+static int collect_ambiguous(const struct object_id *oid, void *data)
 {
-	sha1_array_append(data, sha1);
+	oid_array_append(data, oid);
 	return 0;
 }
 
 int for_each_abbrev(const char *prefix, each_abbrev_fn fn, void *cb_data)
 {
-	struct sha1_array collect = SHA1_ARRAY_INIT;
+	struct oid_array collect = OID_ARRAY_INIT;
 	struct disambiguate_state ds;
 	int ret;
 
@@ -443,8 +445,8 @@
 	find_short_object_filename(&ds);
 	find_short_packed_object(&ds);
 
-	ret = sha1_array_for_each_unique(&collect, fn, cb_data);
-	sha1_array_clear(&collect);
+	ret = oid_array_for_each_unique(&collect, fn, cb_data);
+	oid_array_clear(&collect);
 	return ret;
 }
 
@@ -509,7 +511,7 @@
 const char *find_unique_abbrev(const unsigned char *sha1, int len)
 {
 	static int bufno;
-	static char hexbuffer[4][GIT_SHA1_HEXSZ + 1];
+	static char hexbuffer[4][GIT_MAX_HEXSZ + 1];
 	char *hex = hexbuffer[bufno];
 	bufno = (bufno + 1) % ARRAY_SIZE(hexbuffer);
 	find_unique_abbrev_r(hex, sha1, len);
@@ -549,7 +551,7 @@
 	for (i = 0; i < nr; i++) {
 		int suffix_len = strlen(suffix[i]);
 		if (suffix_len <= len
-		    && !memcmp(string, suffix[i], suffix_len))
+		    && !strncasecmp(string, suffix[i], suffix_len))
 			return suffix_len;
 	}
 	return 0;
@@ -1051,7 +1053,7 @@
 	struct strbuf buf;
 };
 
-static int grab_nth_branch_switch(unsigned char *osha1, unsigned char *nsha1,
+static int grab_nth_branch_switch(struct object_id *ooid, struct object_id *noid,
 				  const char *email, unsigned long timestamp, int tz,
 				  const char *message, void *cb_data)
 {
@@ -1176,7 +1178,8 @@
 	return 1;
 }
 
-static int reinterpret(const char *name, int namelen, int len, struct strbuf *buf)
+static int reinterpret(const char *name, int namelen, int len,
+		       struct strbuf *buf, unsigned allowed)
 {
 	/* we have extra data, which might need further processing */
 	struct strbuf tmp = STRBUF_INIT;
@@ -1184,7 +1187,7 @@
 	int ret;
 
 	strbuf_add(buf, name + len, namelen - len);
-	ret = interpret_branch_name(buf->buf, buf->len, &tmp);
+	ret = interpret_branch_name(buf->buf, buf->len, &tmp, allowed);
 	/* that data was not interpreted, remove our cruft */
 	if (ret < 0) {
 		strbuf_setlen(buf, used);
@@ -1205,11 +1208,27 @@
 	free(s);
 }
 
+static int branch_interpret_allowed(const char *refname, unsigned allowed)
+{
+	if (!allowed)
+		return 1;
+
+	if ((allowed & INTERPRET_BRANCH_LOCAL) &&
+	    starts_with(refname, "refs/heads/"))
+		return 1;
+	if ((allowed & INTERPRET_BRANCH_REMOTE) &&
+	    starts_with(refname, "refs/remotes/"))
+		return 1;
+
+	return 0;
+}
+
 static int interpret_branch_mark(const char *name, int namelen,
 				 int at, struct strbuf *buf,
 				 int (*get_mark)(const char *, int),
 				 const char *(*get_data)(struct branch *,
-							 struct strbuf *))
+							 struct strbuf *),
+				 unsigned allowed)
 {
 	int len;
 	struct branch *branch;
@@ -1234,64 +1253,55 @@
 	if (!value)
 		die("%s", err.buf);
 
+	if (!branch_interpret_allowed(value, allowed))
+		return -1;
+
 	set_shortened_ref(buf, value);
 	return len + at;
 }
 
-/*
- * This reads short-hand syntax that not only evaluates to a commit
- * object name, but also can act as if the end user spelled the name
- * of the branch from the command line.
- *
- * - "@{-N}" finds the name of the Nth previous branch we were on, and
- *   places the name of the branch in the given buf and returns the
- *   number of characters parsed if successful.
- *
- * - "<branch>@{upstream}" finds the name of the other ref that
- *   <branch> is configured to merge with (missing <branch> defaults
- *   to the current branch), and places the name of the branch in the
- *   given buf and returns the number of characters parsed if
- *   successful.
- *
- * If the input is not of the accepted format, it returns a negative
- * number to signal an error.
- *
- * If the input was ok but there are not N branch switches in the
- * reflog, it returns 0.
- */
-int interpret_branch_name(const char *name, int namelen, struct strbuf *buf)
+int interpret_branch_name(const char *name, int namelen, struct strbuf *buf,
+			  unsigned allowed)
 {
 	char *at;
 	const char *start;
-	int len = interpret_nth_prior_checkout(name, namelen, buf);
+	int len;
 
 	if (!namelen)
 		namelen = strlen(name);
 
-	if (!len) {
-		return len; /* syntax Ok, not enough switches */
-	} else if (len > 0) {
-		if (len == namelen)
-			return len; /* consumed all */
-		else
-			return reinterpret(name, namelen, len, buf);
+	if (!allowed || (allowed & INTERPRET_BRANCH_LOCAL)) {
+		len = interpret_nth_prior_checkout(name, namelen, buf);
+		if (!len) {
+			return len; /* syntax Ok, not enough switches */
+		} else if (len > 0) {
+			if (len == namelen)
+				return len; /* consumed all */
+			else
+				return reinterpret(name, namelen, len, buf, allowed);
+		}
 	}
 
 	for (start = name;
 	     (at = memchr(start, '@', namelen - (start - name)));
 	     start = at + 1) {
 
-		len = interpret_empty_at(name, namelen, at - name, buf);
-		if (len > 0)
-			return reinterpret(name, namelen, len, buf);
+		if (!allowed || (allowed & INTERPRET_BRANCH_HEAD)) {
+			len = interpret_empty_at(name, namelen, at - name, buf);
+			if (len > 0)
+				return reinterpret(name, namelen, len, buf,
+						   allowed);
+		}
 
 		len = interpret_branch_mark(name, namelen, at - name, buf,
-					    upstream_mark, branch_get_upstream);
+					    upstream_mark, branch_get_upstream,
+					    allowed);
 		if (len > 0)
 			return len;
 
 		len = interpret_branch_mark(name, namelen, at - name, buf,
-					    push_mark, branch_get_push);
+					    push_mark, branch_get_push,
+					    allowed);
 		if (len > 0)
 			return len;
 	}
@@ -1299,22 +1309,19 @@
 	return -1;
 }
 
-int strbuf_branchname(struct strbuf *sb, const char *name)
+void strbuf_branchname(struct strbuf *sb, const char *name, unsigned allowed)
 {
 	int len = strlen(name);
-	int used = interpret_branch_name(name, len, sb);
+	int used = interpret_branch_name(name, len, sb, allowed);
 
-	if (used == len)
-		return 0;
 	if (used < 0)
 		used = 0;
 	strbuf_add(sb, name + used, len - used);
-	return len;
 }
 
 int strbuf_check_branch_ref(struct strbuf *sb, const char *name)
 {
-	strbuf_branchname(sb, name);
+	strbuf_branchname(sb, name, INTERPRET_BRANCH_LOCAL);
 	if (name[0] == '-')
 		return -1;
 	strbuf_splice(sb, 0, 0, "refs/heads/", 11);
diff --git a/sha1dc/LICENSE.txt b/sha1dc/LICENSE.txt
new file mode 100644
index 0000000..4a3e6a1
--- /dev/null
+++ b/sha1dc/LICENSE.txt
@@ -0,0 +1,30 @@
+MIT License
+
+Copyright (c) 2017:
+    Marc Stevens
+    Cryptology Group
+    Centrum Wiskunde & Informatica
+    P.O. Box 94079, 1090 GB Amsterdam, Netherlands
+    marc@marc-stevens.nl
+
+    Dan Shumow
+    Microsoft Research
+    danshu@microsoft.com
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/sha1dc/sha1.c b/sha1dc/sha1.c
new file mode 100644
index 0000000..35e9dd5
--- /dev/null
+++ b/sha1dc/sha1.c
@@ -0,0 +1,1809 @@
+/***
+* Copyright 2017 Marc Stevens <marc@marc-stevens.nl>, Dan Shumow (danshu@microsoft.com)
+* Distributed under the MIT Software License.
+* See accompanying file LICENSE.txt or copy at
+* https://opensource.org/licenses/MIT
+***/
+
+#include "cache.h"
+#include "sha1dc/sha1.h"
+#include "sha1dc/ubc_check.h"
+
+
+/*
+   Because Little-Endian architectures are most common,
+   we only set SHA1DC_BIGENDIAN if one of these conditions is met.
+   Note that all MSFT platforms are little endian,
+   so none of these will be defined under the MSC compiler.
+   If you are compiling on a big endian platform and your compiler does not define one of these,
+   you will have to add whatever macros your tool chain defines to indicate Big-Endianness.
+ */
+#if (defined(__BYTE_ORDER) && (__BYTE_ORDER == __BIG_ENDIAN)) || \
+    (defined(__BYTE_ORDER__) && (__BYTE_ORDER__ == __BIG_ENDIAN__)) || \
+    defined(__BIG_ENDIAN__) || defined(__ARMEB__) || defined(__THUMBEB__) ||  defined(__AARCH64EB__) || \
+    defined(_MIPSEB) || defined(__MIPSEB) || defined(__MIPSEB__)
+
+#define SHA1DC_BIGENDIAN	1
+#else
+#undef SHA1DC_BIGENDIAN
+#endif /*ENDIANNESS SELECTION*/
+
+#define rotate_right(x,n) (((x)>>(n))|((x)<<(32-(n))))
+#define rotate_left(x,n)  (((x)<<(n))|((x)>>(32-(n))))
+
+#define sha1_bswap32(x) \
+	{x = ((x << 8) & 0xFF00FF00) | ((x >> 8) & 0xFF00FF); x = (x << 16) | (x >> 16);}
+
+#define sha1_mix(W, t)  (rotate_left(W[t - 3] ^ W[t - 8] ^ W[t - 14] ^ W[t - 16], 1))
+
+#if defined(SHA1DC_BIGENDIAN)
+	#define sha1_load(m, t, temp)  { temp = m[t]; }
+#else
+	#define sha1_load(m, t, temp)  { temp = m[t]; sha1_bswap32(temp); }
+#endif /* !defined(SHA1DC_BIGENDIAN) */
+
+#define sha1_store(W, t, x)	*(volatile uint32_t *)&W[t] = x
+
+#define sha1_f1(b,c,d) ((d)^((b)&((c)^(d))))
+#define sha1_f2(b,c,d) ((b)^(c)^(d))
+#define sha1_f3(b,c,d) (((b)&(c))+((d)&((b)^(c))))
+#define sha1_f4(b,c,d) ((b)^(c)^(d))
+
+#define HASHCLASH_SHA1COMPRESS_ROUND1_STEP(a, b, c, d, e, m, t) \
+	{ e += rotate_left(a, 5) + sha1_f1(b,c,d) + 0x5A827999 + m[t]; b = rotate_left(b, 30); }
+#define HASHCLASH_SHA1COMPRESS_ROUND2_STEP(a, b, c, d, e, m, t) \
+	{ e += rotate_left(a, 5) + sha1_f2(b,c,d) + 0x6ED9EBA1 + m[t]; b = rotate_left(b, 30); }
+#define HASHCLASH_SHA1COMPRESS_ROUND3_STEP(a, b, c, d, e, m, t) \
+	{ e += rotate_left(a, 5) + sha1_f3(b,c,d) + 0x8F1BBCDC + m[t]; b = rotate_left(b, 30); }
+#define HASHCLASH_SHA1COMPRESS_ROUND4_STEP(a, b, c, d, e, m, t) \
+	{ e += rotate_left(a, 5) + sha1_f4(b,c,d) + 0xCA62C1D6 + m[t]; b = rotate_left(b, 30); }
+
+#define HASHCLASH_SHA1COMPRESS_ROUND1_STEP_BW(a, b, c, d, e, m, t) \
+	{ b = rotate_right(b, 30); e -= rotate_left(a, 5) + sha1_f1(b,c,d) + 0x5A827999 + m[t]; }
+#define HASHCLASH_SHA1COMPRESS_ROUND2_STEP_BW(a, b, c, d, e, m, t) \
+	{ b = rotate_right(b, 30); e -= rotate_left(a, 5) + sha1_f2(b,c,d) + 0x6ED9EBA1 + m[t]; }
+#define HASHCLASH_SHA1COMPRESS_ROUND3_STEP_BW(a, b, c, d, e, m, t) \
+	{ b = rotate_right(b, 30); e -= rotate_left(a, 5) + sha1_f3(b,c,d) + 0x8F1BBCDC + m[t]; }
+#define HASHCLASH_SHA1COMPRESS_ROUND4_STEP_BW(a, b, c, d, e, m, t) \
+	{ b = rotate_right(b, 30); e -= rotate_left(a, 5) + sha1_f4(b,c,d) + 0xCA62C1D6 + m[t]; }
+
+#define SHA1COMPRESS_FULL_ROUND1_STEP_LOAD(a, b, c, d, e, m, W, t, temp) \
+	{sha1_load(m, t, temp); sha1_store(W, t, temp); e += temp + rotate_left(a, 5) + sha1_f1(b,c,d) + 0x5A827999; b = rotate_left(b, 30);}
+
+#define SHA1COMPRESS_FULL_ROUND1_STEP_EXPAND(a, b, c, d, e, W, t, temp) \
+	{temp = sha1_mix(W, t); sha1_store(W, t, temp); e += temp + rotate_left(a, 5) + sha1_f1(b,c,d) + 0x5A827999; b = rotate_left(b, 30); }
+
+#define SHA1COMPRESS_FULL_ROUND2_STEP(a, b, c, d, e, W, t, temp) \
+	{temp = sha1_mix(W, t); sha1_store(W, t, temp); e += temp + rotate_left(a, 5) + sha1_f2(b,c,d) + 0x6ED9EBA1; b = rotate_left(b, 30); }
+
+#define SHA1COMPRESS_FULL_ROUND3_STEP(a, b, c, d, e, W, t, temp) \
+	{temp = sha1_mix(W, t); sha1_store(W, t, temp); e += temp + rotate_left(a, 5) + sha1_f3(b,c,d) + 0x8F1BBCDC; b = rotate_left(b, 30); }
+
+#define SHA1COMPRESS_FULL_ROUND4_STEP(a, b, c, d, e, W, t, temp) \
+	{temp = sha1_mix(W, t); sha1_store(W, t, temp); e += temp + rotate_left(a, 5) + sha1_f4(b,c,d) + 0xCA62C1D6; b = rotate_left(b, 30); }
+
+
+#define SHA1_STORE_STATE(i) states[i][0] = a; states[i][1] = b; states[i][2] = c; states[i][3] = d; states[i][4] = e;
+
+#ifdef BUILDNOCOLLDETECTSHA1COMPRESSION
+void sha1_compression(uint32_t ihv[5], const uint32_t m[16])
+{
+	uint32_t W[80];
+	uint32_t a,b,c,d,e;
+	unsigned i;
+
+	memcpy(W, m, 16 * 4);
+	for (i = 16; i < 80; ++i)
+		W[i] = sha1_mix(W, i);
+
+	a = ihv[0]; b = ihv[1]; c = ihv[2]; d = ihv[3]; e = ihv[4];
+
+	HASHCLASH_SHA1COMPRESS_ROUND1_STEP(a, b, c, d, e, W, 0);
+	HASHCLASH_SHA1COMPRESS_ROUND1_STEP(e, a, b, c, d, W, 1);
+	HASHCLASH_SHA1COMPRESS_ROUND1_STEP(d, e, a, b, c, W, 2);
+	HASHCLASH_SHA1COMPRESS_ROUND1_STEP(c, d, e, a, b, W, 3);
+	HASHCLASH_SHA1COMPRESS_ROUND1_STEP(b, c, d, e, a, W, 4);
+	HASHCLASH_SHA1COMPRESS_ROUND1_STEP(a, b, c, d, e, W, 5);
+	HASHCLASH_SHA1COMPRESS_ROUND1_STEP(e, a, b, c, d, W, 6);
+	HASHCLASH_SHA1COMPRESS_ROUND1_STEP(d, e, a, b, c, W, 7);
+	HASHCLASH_SHA1COMPRESS_ROUND1_STEP(c, d, e, a, b, W, 8);
+	HASHCLASH_SHA1COMPRESS_ROUND1_STEP(b, c, d, e, a, W, 9);
+	HASHCLASH_SHA1COMPRESS_ROUND1_STEP(a, b, c, d, e, W, 10);
+	HASHCLASH_SHA1COMPRESS_ROUND1_STEP(e, a, b, c, d, W, 11);
+	HASHCLASH_SHA1COMPRESS_ROUND1_STEP(d, e, a, b, c, W, 12);
+	HASHCLASH_SHA1COMPRESS_ROUND1_STEP(c, d, e, a, b, W, 13);
+	HASHCLASH_SHA1COMPRESS_ROUND1_STEP(b, c, d, e, a, W, 14);
+	HASHCLASH_SHA1COMPRESS_ROUND1_STEP(a, b, c, d, e, W, 15);
+	HASHCLASH_SHA1COMPRESS_ROUND1_STEP(e, a, b, c, d, W, 16);
+	HASHCLASH_SHA1COMPRESS_ROUND1_STEP(d, e, a, b, c, W, 17);
+	HASHCLASH_SHA1COMPRESS_ROUND1_STEP(c, d, e, a, b, W, 18);
+	HASHCLASH_SHA1COMPRESS_ROUND1_STEP(b, c, d, e, a, W, 19);
+
+	HASHCLASH_SHA1COMPRESS_ROUND2_STEP(a, b, c, d, e, W, 20);
+	HASHCLASH_SHA1COMPRESS_ROUND2_STEP(e, a, b, c, d, W, 21);
+	HASHCLASH_SHA1COMPRESS_ROUND2_STEP(d, e, a, b, c, W, 22);
+	HASHCLASH_SHA1COMPRESS_ROUND2_STEP(c, d, e, a, b, W, 23);
+	HASHCLASH_SHA1COMPRESS_ROUND2_STEP(b, c, d, e, a, W, 24);
+	HASHCLASH_SHA1COMPRESS_ROUND2_STEP(a, b, c, d, e, W, 25);
+	HASHCLASH_SHA1COMPRESS_ROUND2_STEP(e, a, b, c, d, W, 26);
+	HASHCLASH_SHA1COMPRESS_ROUND2_STEP(d, e, a, b, c, W, 27);
+	HASHCLASH_SHA1COMPRESS_ROUND2_STEP(c, d, e, a, b, W, 28);
+	HASHCLASH_SHA1COMPRESS_ROUND2_STEP(b, c, d, e, a, W, 29);
+	HASHCLASH_SHA1COMPRESS_ROUND2_STEP(a, b, c, d, e, W, 30);
+	HASHCLASH_SHA1COMPRESS_ROUND2_STEP(e, a, b, c, d, W, 31);
+	HASHCLASH_SHA1COMPRESS_ROUND2_STEP(d, e, a, b, c, W, 32);
+	HASHCLASH_SHA1COMPRESS_ROUND2_STEP(c, d, e, a, b, W, 33);
+	HASHCLASH_SHA1COMPRESS_ROUND2_STEP(b, c, d, e, a, W, 34);
+	HASHCLASH_SHA1COMPRESS_ROUND2_STEP(a, b, c, d, e, W, 35);
+	HASHCLASH_SHA1COMPRESS_ROUND2_STEP(e, a, b, c, d, W, 36);
+	HASHCLASH_SHA1COMPRESS_ROUND2_STEP(d, e, a, b, c, W, 37);
+	HASHCLASH_SHA1COMPRESS_ROUND2_STEP(c, d, e, a, b, W, 38);
+	HASHCLASH_SHA1COMPRESS_ROUND2_STEP(b, c, d, e, a, W, 39);
+
+	HASHCLASH_SHA1COMPRESS_ROUND3_STEP(a, b, c, d, e, W, 40);
+	HASHCLASH_SHA1COMPRESS_ROUND3_STEP(e, a, b, c, d, W, 41);
+	HASHCLASH_SHA1COMPRESS_ROUND3_STEP(d, e, a, b, c, W, 42);
+	HASHCLASH_SHA1COMPRESS_ROUND3_STEP(c, d, e, a, b, W, 43);
+	HASHCLASH_SHA1COMPRESS_ROUND3_STEP(b, c, d, e, a, W, 44);
+	HASHCLASH_SHA1COMPRESS_ROUND3_STEP(a, b, c, d, e, W, 45);
+	HASHCLASH_SHA1COMPRESS_ROUND3_STEP(e, a, b, c, d, W, 46);
+	HASHCLASH_SHA1COMPRESS_ROUND3_STEP(d, e, a, b, c, W, 47);
+	HASHCLASH_SHA1COMPRESS_ROUND3_STEP(c, d, e, a, b, W, 48);
+	HASHCLASH_SHA1COMPRESS_ROUND3_STEP(b, c, d, e, a, W, 49);
+	HASHCLASH_SHA1COMPRESS_ROUND3_STEP(a, b, c, d, e, W, 50);
+	HASHCLASH_SHA1COMPRESS_ROUND3_STEP(e, a, b, c, d, W, 51);
+	HASHCLASH_SHA1COMPRESS_ROUND3_STEP(d, e, a, b, c, W, 52);
+	HASHCLASH_SHA1COMPRESS_ROUND3_STEP(c, d, e, a, b, W, 53);
+	HASHCLASH_SHA1COMPRESS_ROUND3_STEP(b, c, d, e, a, W, 54);
+	HASHCLASH_SHA1COMPRESS_ROUND3_STEP(a, b, c, d, e, W, 55);
+	HASHCLASH_SHA1COMPRESS_ROUND3_STEP(e, a, b, c, d, W, 56);
+	HASHCLASH_SHA1COMPRESS_ROUND3_STEP(d, e, a, b, c, W, 57);
+	HASHCLASH_SHA1COMPRESS_ROUND3_STEP(c, d, e, a, b, W, 58);
+	HASHCLASH_SHA1COMPRESS_ROUND3_STEP(b, c, d, e, a, W, 59);
+
+	HASHCLASH_SHA1COMPRESS_ROUND4_STEP(a, b, c, d, e, W, 60);
+	HASHCLASH_SHA1COMPRESS_ROUND4_STEP(e, a, b, c, d, W, 61);
+	HASHCLASH_SHA1COMPRESS_ROUND4_STEP(d, e, a, b, c, W, 62);
+	HASHCLASH_SHA1COMPRESS_ROUND4_STEP(c, d, e, a, b, W, 63);
+	HASHCLASH_SHA1COMPRESS_ROUND4_STEP(b, c, d, e, a, W, 64);
+	HASHCLASH_SHA1COMPRESS_ROUND4_STEP(a, b, c, d, e, W, 65);
+	HASHCLASH_SHA1COMPRESS_ROUND4_STEP(e, a, b, c, d, W, 66);
+	HASHCLASH_SHA1COMPRESS_ROUND4_STEP(d, e, a, b, c, W, 67);
+	HASHCLASH_SHA1COMPRESS_ROUND4_STEP(c, d, e, a, b, W, 68);
+	HASHCLASH_SHA1COMPRESS_ROUND4_STEP(b, c, d, e, a, W, 69);
+	HASHCLASH_SHA1COMPRESS_ROUND4_STEP(a, b, c, d, e, W, 70);
+	HASHCLASH_SHA1COMPRESS_ROUND4_STEP(e, a, b, c, d, W, 71);
+	HASHCLASH_SHA1COMPRESS_ROUND4_STEP(d, e, a, b, c, W, 72);
+	HASHCLASH_SHA1COMPRESS_ROUND4_STEP(c, d, e, a, b, W, 73);
+	HASHCLASH_SHA1COMPRESS_ROUND4_STEP(b, c, d, e, a, W, 74);
+	HASHCLASH_SHA1COMPRESS_ROUND4_STEP(a, b, c, d, e, W, 75);
+	HASHCLASH_SHA1COMPRESS_ROUND4_STEP(e, a, b, c, d, W, 76);
+	HASHCLASH_SHA1COMPRESS_ROUND4_STEP(d, e, a, b, c, W, 77);
+	HASHCLASH_SHA1COMPRESS_ROUND4_STEP(c, d, e, a, b, W, 78);
+	HASHCLASH_SHA1COMPRESS_ROUND4_STEP(b, c, d, e, a, W, 79);
+
+	ihv[0] += a; ihv[1] += b; ihv[2] += c; ihv[3] += d; ihv[4] += e;
+}
+#endif /*BUILDNOCOLLDETECTSHA1COMPRESSION*/
+
+
+static void sha1_compression_W(uint32_t ihv[5], const uint32_t W[80])
+{
+	uint32_t a = ihv[0], b = ihv[1], c = ihv[2], d = ihv[3], e = ihv[4];
+
+	HASHCLASH_SHA1COMPRESS_ROUND1_STEP(a, b, c, d, e, W, 0);
+	HASHCLASH_SHA1COMPRESS_ROUND1_STEP(e, a, b, c, d, W, 1);
+	HASHCLASH_SHA1COMPRESS_ROUND1_STEP(d, e, a, b, c, W, 2);
+	HASHCLASH_SHA1COMPRESS_ROUND1_STEP(c, d, e, a, b, W, 3);
+	HASHCLASH_SHA1COMPRESS_ROUND1_STEP(b, c, d, e, a, W, 4);
+	HASHCLASH_SHA1COMPRESS_ROUND1_STEP(a, b, c, d, e, W, 5);
+	HASHCLASH_SHA1COMPRESS_ROUND1_STEP(e, a, b, c, d, W, 6);
+	HASHCLASH_SHA1COMPRESS_ROUND1_STEP(d, e, a, b, c, W, 7);
+	HASHCLASH_SHA1COMPRESS_ROUND1_STEP(c, d, e, a, b, W, 8);
+	HASHCLASH_SHA1COMPRESS_ROUND1_STEP(b, c, d, e, a, W, 9);
+	HASHCLASH_SHA1COMPRESS_ROUND1_STEP(a, b, c, d, e, W, 10);
+	HASHCLASH_SHA1COMPRESS_ROUND1_STEP(e, a, b, c, d, W, 11);
+	HASHCLASH_SHA1COMPRESS_ROUND1_STEP(d, e, a, b, c, W, 12);
+	HASHCLASH_SHA1COMPRESS_ROUND1_STEP(c, d, e, a, b, W, 13);
+	HASHCLASH_SHA1COMPRESS_ROUND1_STEP(b, c, d, e, a, W, 14);
+	HASHCLASH_SHA1COMPRESS_ROUND1_STEP(a, b, c, d, e, W, 15);
+	HASHCLASH_SHA1COMPRESS_ROUND1_STEP(e, a, b, c, d, W, 16);
+	HASHCLASH_SHA1COMPRESS_ROUND1_STEP(d, e, a, b, c, W, 17);
+	HASHCLASH_SHA1COMPRESS_ROUND1_STEP(c, d, e, a, b, W, 18);
+	HASHCLASH_SHA1COMPRESS_ROUND1_STEP(b, c, d, e, a, W, 19);
+
+	HASHCLASH_SHA1COMPRESS_ROUND2_STEP(a, b, c, d, e, W, 20);
+	HASHCLASH_SHA1COMPRESS_ROUND2_STEP(e, a, b, c, d, W, 21);
+	HASHCLASH_SHA1COMPRESS_ROUND2_STEP(d, e, a, b, c, W, 22);
+	HASHCLASH_SHA1COMPRESS_ROUND2_STEP(c, d, e, a, b, W, 23);
+	HASHCLASH_SHA1COMPRESS_ROUND2_STEP(b, c, d, e, a, W, 24);
+	HASHCLASH_SHA1COMPRESS_ROUND2_STEP(a, b, c, d, e, W, 25);
+	HASHCLASH_SHA1COMPRESS_ROUND2_STEP(e, a, b, c, d, W, 26);
+	HASHCLASH_SHA1COMPRESS_ROUND2_STEP(d, e, a, b, c, W, 27);
+	HASHCLASH_SHA1COMPRESS_ROUND2_STEP(c, d, e, a, b, W, 28);
+	HASHCLASH_SHA1COMPRESS_ROUND2_STEP(b, c, d, e, a, W, 29);
+	HASHCLASH_SHA1COMPRESS_ROUND2_STEP(a, b, c, d, e, W, 30);
+	HASHCLASH_SHA1COMPRESS_ROUND2_STEP(e, a, b, c, d, W, 31);
+	HASHCLASH_SHA1COMPRESS_ROUND2_STEP(d, e, a, b, c, W, 32);
+	HASHCLASH_SHA1COMPRESS_ROUND2_STEP(c, d, e, a, b, W, 33);
+	HASHCLASH_SHA1COMPRESS_ROUND2_STEP(b, c, d, e, a, W, 34);
+	HASHCLASH_SHA1COMPRESS_ROUND2_STEP(a, b, c, d, e, W, 35);
+	HASHCLASH_SHA1COMPRESS_ROUND2_STEP(e, a, b, c, d, W, 36);
+	HASHCLASH_SHA1COMPRESS_ROUND2_STEP(d, e, a, b, c, W, 37);
+	HASHCLASH_SHA1COMPRESS_ROUND2_STEP(c, d, e, a, b, W, 38);
+	HASHCLASH_SHA1COMPRESS_ROUND2_STEP(b, c, d, e, a, W, 39);
+
+	HASHCLASH_SHA1COMPRESS_ROUND3_STEP(a, b, c, d, e, W, 40);
+	HASHCLASH_SHA1COMPRESS_ROUND3_STEP(e, a, b, c, d, W, 41);
+	HASHCLASH_SHA1COMPRESS_ROUND3_STEP(d, e, a, b, c, W, 42);
+	HASHCLASH_SHA1COMPRESS_ROUND3_STEP(c, d, e, a, b, W, 43);
+	HASHCLASH_SHA1COMPRESS_ROUND3_STEP(b, c, d, e, a, W, 44);
+	HASHCLASH_SHA1COMPRESS_ROUND3_STEP(a, b, c, d, e, W, 45);
+	HASHCLASH_SHA1COMPRESS_ROUND3_STEP(e, a, b, c, d, W, 46);
+	HASHCLASH_SHA1COMPRESS_ROUND3_STEP(d, e, a, b, c, W, 47);
+	HASHCLASH_SHA1COMPRESS_ROUND3_STEP(c, d, e, a, b, W, 48);
+	HASHCLASH_SHA1COMPRESS_ROUND3_STEP(b, c, d, e, a, W, 49);
+	HASHCLASH_SHA1COMPRESS_ROUND3_STEP(a, b, c, d, e, W, 50);
+	HASHCLASH_SHA1COMPRESS_ROUND3_STEP(e, a, b, c, d, W, 51);
+	HASHCLASH_SHA1COMPRESS_ROUND3_STEP(d, e, a, b, c, W, 52);
+	HASHCLASH_SHA1COMPRESS_ROUND3_STEP(c, d, e, a, b, W, 53);
+	HASHCLASH_SHA1COMPRESS_ROUND3_STEP(b, c, d, e, a, W, 54);
+	HASHCLASH_SHA1COMPRESS_ROUND3_STEP(a, b, c, d, e, W, 55);
+	HASHCLASH_SHA1COMPRESS_ROUND3_STEP(e, a, b, c, d, W, 56);
+	HASHCLASH_SHA1COMPRESS_ROUND3_STEP(d, e, a, b, c, W, 57);
+	HASHCLASH_SHA1COMPRESS_ROUND3_STEP(c, d, e, a, b, W, 58);
+	HASHCLASH_SHA1COMPRESS_ROUND3_STEP(b, c, d, e, a, W, 59);
+
+	HASHCLASH_SHA1COMPRESS_ROUND4_STEP(a, b, c, d, e, W, 60);
+	HASHCLASH_SHA1COMPRESS_ROUND4_STEP(e, a, b, c, d, W, 61);
+	HASHCLASH_SHA1COMPRESS_ROUND4_STEP(d, e, a, b, c, W, 62);
+	HASHCLASH_SHA1COMPRESS_ROUND4_STEP(c, d, e, a, b, W, 63);
+	HASHCLASH_SHA1COMPRESS_ROUND4_STEP(b, c, d, e, a, W, 64);
+	HASHCLASH_SHA1COMPRESS_ROUND4_STEP(a, b, c, d, e, W, 65);
+	HASHCLASH_SHA1COMPRESS_ROUND4_STEP(e, a, b, c, d, W, 66);
+	HASHCLASH_SHA1COMPRESS_ROUND4_STEP(d, e, a, b, c, W, 67);
+	HASHCLASH_SHA1COMPRESS_ROUND4_STEP(c, d, e, a, b, W, 68);
+	HASHCLASH_SHA1COMPRESS_ROUND4_STEP(b, c, d, e, a, W, 69);
+	HASHCLASH_SHA1COMPRESS_ROUND4_STEP(a, b, c, d, e, W, 70);
+	HASHCLASH_SHA1COMPRESS_ROUND4_STEP(e, a, b, c, d, W, 71);
+	HASHCLASH_SHA1COMPRESS_ROUND4_STEP(d, e, a, b, c, W, 72);
+	HASHCLASH_SHA1COMPRESS_ROUND4_STEP(c, d, e, a, b, W, 73);
+	HASHCLASH_SHA1COMPRESS_ROUND4_STEP(b, c, d, e, a, W, 74);
+	HASHCLASH_SHA1COMPRESS_ROUND4_STEP(a, b, c, d, e, W, 75);
+	HASHCLASH_SHA1COMPRESS_ROUND4_STEP(e, a, b, c, d, W, 76);
+	HASHCLASH_SHA1COMPRESS_ROUND4_STEP(d, e, a, b, c, W, 77);
+	HASHCLASH_SHA1COMPRESS_ROUND4_STEP(c, d, e, a, b, W, 78);
+	HASHCLASH_SHA1COMPRESS_ROUND4_STEP(b, c, d, e, a, W, 79);
+
+	ihv[0] += a; ihv[1] += b; ihv[2] += c; ihv[3] += d; ihv[4] += e;
+}
+
+
+
+void sha1_compression_states(uint32_t ihv[5], const uint32_t m[16], uint32_t W[80], uint32_t states[80][5])
+{
+	uint32_t a = ihv[0], b = ihv[1], c = ihv[2], d = ihv[3], e = ihv[4];
+	uint32_t temp;
+
+#ifdef DOSTORESTATE00
+	SHA1_STORE_STATE(0)
+#endif
+	SHA1COMPRESS_FULL_ROUND1_STEP_LOAD(a, b, c, d, e, m, W, 0, temp);
+
+#ifdef DOSTORESTATE01
+	SHA1_STORE_STATE(1)
+#endif
+	SHA1COMPRESS_FULL_ROUND1_STEP_LOAD(e, a, b, c, d, m, W, 1, temp);
+
+#ifdef DOSTORESTATE02
+	SHA1_STORE_STATE(2)
+#endif
+	SHA1COMPRESS_FULL_ROUND1_STEP_LOAD(d, e, a, b, c, m, W, 2, temp);
+
+#ifdef DOSTORESTATE03
+	SHA1_STORE_STATE(3)
+#endif
+	SHA1COMPRESS_FULL_ROUND1_STEP_LOAD(c, d, e, a, b, m, W, 3, temp);
+
+#ifdef DOSTORESTATE04
+	SHA1_STORE_STATE(4)
+#endif
+	SHA1COMPRESS_FULL_ROUND1_STEP_LOAD(b, c, d, e, a, m, W, 4, temp);
+
+#ifdef DOSTORESTATE05
+	SHA1_STORE_STATE(5)
+#endif
+	SHA1COMPRESS_FULL_ROUND1_STEP_LOAD(a, b, c, d, e, m, W, 5, temp);
+
+#ifdef DOSTORESTATE06
+	SHA1_STORE_STATE(6)
+#endif
+	SHA1COMPRESS_FULL_ROUND1_STEP_LOAD(e, a, b, c, d, m, W, 6, temp);
+
+#ifdef DOSTORESTATE07
+	SHA1_STORE_STATE(7)
+#endif
+	SHA1COMPRESS_FULL_ROUND1_STEP_LOAD(d, e, a, b, c, m, W, 7, temp);
+
+#ifdef DOSTORESTATE08
+	SHA1_STORE_STATE(8)
+#endif
+	SHA1COMPRESS_FULL_ROUND1_STEP_LOAD(c, d, e, a, b, m, W, 8, temp);
+
+#ifdef DOSTORESTATE09
+	SHA1_STORE_STATE(9)
+#endif
+	SHA1COMPRESS_FULL_ROUND1_STEP_LOAD(b, c, d, e, a, m, W, 9, temp);
+
+#ifdef DOSTORESTATE10
+	SHA1_STORE_STATE(10)
+#endif
+	SHA1COMPRESS_FULL_ROUND1_STEP_LOAD(a, b, c, d, e, m, W, 10, temp);
+
+#ifdef DOSTORESTATE11
+	SHA1_STORE_STATE(11)
+#endif
+	SHA1COMPRESS_FULL_ROUND1_STEP_LOAD(e, a, b, c, d, m, W, 11, temp);
+
+#ifdef DOSTORESTATE12
+	SHA1_STORE_STATE(12)
+#endif
+	SHA1COMPRESS_FULL_ROUND1_STEP_LOAD(d, e, a, b, c, m, W, 12, temp);
+
+#ifdef DOSTORESTATE13
+	SHA1_STORE_STATE(13)
+#endif
+	SHA1COMPRESS_FULL_ROUND1_STEP_LOAD(c, d, e, a, b, m, W, 13, temp);
+
+#ifdef DOSTORESTATE14
+	SHA1_STORE_STATE(14)
+#endif
+	SHA1COMPRESS_FULL_ROUND1_STEP_LOAD(b, c, d, e, a, m, W, 14, temp);
+
+#ifdef DOSTORESTATE15
+	SHA1_STORE_STATE(15)
+#endif
+	SHA1COMPRESS_FULL_ROUND1_STEP_LOAD(a, b, c, d, e, m, W, 15, temp);
+
+#ifdef DOSTORESTATE16
+	SHA1_STORE_STATE(16)
+#endif
+	SHA1COMPRESS_FULL_ROUND1_STEP_EXPAND(e, a, b, c, d, W, 16, temp);
+
+#ifdef DOSTORESTATE17
+	SHA1_STORE_STATE(17)
+#endif
+	SHA1COMPRESS_FULL_ROUND1_STEP_EXPAND(d, e, a, b, c, W, 17, temp);
+
+#ifdef DOSTORESTATE18
+	SHA1_STORE_STATE(18)
+#endif
+	SHA1COMPRESS_FULL_ROUND1_STEP_EXPAND(c, d, e, a, b, W, 18, temp);
+
+#ifdef DOSTORESTATE19
+	SHA1_STORE_STATE(19)
+#endif
+	SHA1COMPRESS_FULL_ROUND1_STEP_EXPAND(b, c, d, e, a, W, 19, temp);
+
+
+
+#ifdef DOSTORESTATE20
+	SHA1_STORE_STATE(20)
+#endif
+	SHA1COMPRESS_FULL_ROUND2_STEP(a, b, c, d, e, W, 20, temp);
+
+#ifdef DOSTORESTATE21
+	SHA1_STORE_STATE(21)
+#endif
+	SHA1COMPRESS_FULL_ROUND2_STEP(e, a, b, c, d, W, 21, temp);
+
+#ifdef DOSTORESTATE22
+	SHA1_STORE_STATE(22)
+#endif
+	SHA1COMPRESS_FULL_ROUND2_STEP(d, e, a, b, c, W, 22, temp);
+
+#ifdef DOSTORESTATE23
+	SHA1_STORE_STATE(23)
+#endif
+	SHA1COMPRESS_FULL_ROUND2_STEP(c, d, e, a, b, W, 23, temp);
+
+#ifdef DOSTORESTATE24
+	SHA1_STORE_STATE(24)
+#endif
+	SHA1COMPRESS_FULL_ROUND2_STEP(b, c, d, e, a, W, 24, temp);
+
+#ifdef DOSTORESTATE25
+	SHA1_STORE_STATE(25)
+#endif
+	SHA1COMPRESS_FULL_ROUND2_STEP(a, b, c, d, e, W, 25, temp);
+
+#ifdef DOSTORESTATE26
+	SHA1_STORE_STATE(26)
+#endif
+	SHA1COMPRESS_FULL_ROUND2_STEP(e, a, b, c, d, W, 26, temp);
+
+#ifdef DOSTORESTATE27
+	SHA1_STORE_STATE(27)
+#endif
+	SHA1COMPRESS_FULL_ROUND2_STEP(d, e, a, b, c, W, 27, temp);
+
+#ifdef DOSTORESTATE28
+	SHA1_STORE_STATE(28)
+#endif
+	SHA1COMPRESS_FULL_ROUND2_STEP(c, d, e, a, b, W, 28, temp);
+
+#ifdef DOSTORESTATE29
+	SHA1_STORE_STATE(29)
+#endif
+	SHA1COMPRESS_FULL_ROUND2_STEP(b, c, d, e, a, W, 29, temp);
+
+#ifdef DOSTORESTATE30
+	SHA1_STORE_STATE(30)
+#endif
+	SHA1COMPRESS_FULL_ROUND2_STEP(a, b, c, d, e, W, 30, temp);
+
+#ifdef DOSTORESTATE31
+	SHA1_STORE_STATE(31)
+#endif
+	SHA1COMPRESS_FULL_ROUND2_STEP(e, a, b, c, d, W, 31, temp);
+
+#ifdef DOSTORESTATE32
+	SHA1_STORE_STATE(32)
+#endif
+	SHA1COMPRESS_FULL_ROUND2_STEP(d, e, a, b, c, W, 32, temp);
+
+#ifdef DOSTORESTATE33
+	SHA1_STORE_STATE(33)
+#endif
+	SHA1COMPRESS_FULL_ROUND2_STEP(c, d, e, a, b, W, 33, temp);
+
+#ifdef DOSTORESTATE34
+	SHA1_STORE_STATE(34)
+#endif
+	SHA1COMPRESS_FULL_ROUND2_STEP(b, c, d, e, a, W, 34, temp);
+
+#ifdef DOSTORESTATE35
+	SHA1_STORE_STATE(35)
+#endif
+	SHA1COMPRESS_FULL_ROUND2_STEP(a, b, c, d, e, W, 35, temp);
+
+#ifdef DOSTORESTATE36
+	SHA1_STORE_STATE(36)
+#endif
+	SHA1COMPRESS_FULL_ROUND2_STEP(e, a, b, c, d, W, 36, temp);
+
+#ifdef DOSTORESTATE37
+	SHA1_STORE_STATE(37)
+#endif
+	SHA1COMPRESS_FULL_ROUND2_STEP(d, e, a, b, c, W, 37, temp);
+
+#ifdef DOSTORESTATE38
+	SHA1_STORE_STATE(38)
+#endif
+	SHA1COMPRESS_FULL_ROUND2_STEP(c, d, e, a, b, W, 38, temp);
+
+#ifdef DOSTORESTATE39
+	SHA1_STORE_STATE(39)
+#endif
+	SHA1COMPRESS_FULL_ROUND2_STEP(b, c, d, e, a, W, 39, temp);
+
+
+
+#ifdef DOSTORESTATE40
+	SHA1_STORE_STATE(40)
+#endif
+	SHA1COMPRESS_FULL_ROUND3_STEP(a, b, c, d, e, W, 40, temp);
+
+#ifdef DOSTORESTATE41
+	SHA1_STORE_STATE(41)
+#endif
+	SHA1COMPRESS_FULL_ROUND3_STEP(e, a, b, c, d, W, 41, temp);
+
+#ifdef DOSTORESTATE42
+	SHA1_STORE_STATE(42)
+#endif
+	SHA1COMPRESS_FULL_ROUND3_STEP(d, e, a, b, c, W, 42, temp);
+
+#ifdef DOSTORESTATE43
+	SHA1_STORE_STATE(43)
+#endif
+	SHA1COMPRESS_FULL_ROUND3_STEP(c, d, e, a, b, W, 43, temp);
+
+#ifdef DOSTORESTATE44
+	SHA1_STORE_STATE(44)
+#endif
+	SHA1COMPRESS_FULL_ROUND3_STEP(b, c, d, e, a, W, 44, temp);
+
+#ifdef DOSTORESTATE45
+	SHA1_STORE_STATE(45)
+#endif
+	SHA1COMPRESS_FULL_ROUND3_STEP(a, b, c, d, e, W, 45, temp);
+
+#ifdef DOSTORESTATE46
+	SHA1_STORE_STATE(46)
+#endif
+	SHA1COMPRESS_FULL_ROUND3_STEP(e, a, b, c, d, W, 46, temp);
+
+#ifdef DOSTORESTATE47
+	SHA1_STORE_STATE(47)
+#endif
+	SHA1COMPRESS_FULL_ROUND3_STEP(d, e, a, b, c, W, 47, temp);
+
+#ifdef DOSTORESTATE48
+	SHA1_STORE_STATE(48)
+#endif
+	SHA1COMPRESS_FULL_ROUND3_STEP(c, d, e, a, b, W, 48, temp);
+
+#ifdef DOSTORESTATE49
+	SHA1_STORE_STATE(49)
+#endif
+	SHA1COMPRESS_FULL_ROUND3_STEP(b, c, d, e, a, W, 49, temp);
+
+#ifdef DOSTORESTATE50
+	SHA1_STORE_STATE(50)
+#endif
+	SHA1COMPRESS_FULL_ROUND3_STEP(a, b, c, d, e, W, 50, temp);
+
+#ifdef DOSTORESTATE51
+	SHA1_STORE_STATE(51)
+#endif
+	SHA1COMPRESS_FULL_ROUND3_STEP(e, a, b, c, d, W, 51, temp);
+
+#ifdef DOSTORESTATE52
+	SHA1_STORE_STATE(52)
+#endif
+	SHA1COMPRESS_FULL_ROUND3_STEP(d, e, a, b, c, W, 52, temp);
+
+#ifdef DOSTORESTATE53
+	SHA1_STORE_STATE(53)
+#endif
+	SHA1COMPRESS_FULL_ROUND3_STEP(c, d, e, a, b, W, 53, temp);
+
+#ifdef DOSTORESTATE54
+	SHA1_STORE_STATE(54)
+#endif
+	SHA1COMPRESS_FULL_ROUND3_STEP(b, c, d, e, a, W, 54, temp);
+
+#ifdef DOSTORESTATE55
+	SHA1_STORE_STATE(55)
+#endif
+	SHA1COMPRESS_FULL_ROUND3_STEP(a, b, c, d, e, W, 55, temp);
+
+#ifdef DOSTORESTATE56
+	SHA1_STORE_STATE(56)
+#endif
+	SHA1COMPRESS_FULL_ROUND3_STEP(e, a, b, c, d, W, 56, temp);
+
+#ifdef DOSTORESTATE57
+	SHA1_STORE_STATE(57)
+#endif
+	SHA1COMPRESS_FULL_ROUND3_STEP(d, e, a, b, c, W, 57, temp);
+
+#ifdef DOSTORESTATE58
+	SHA1_STORE_STATE(58)
+#endif
+	SHA1COMPRESS_FULL_ROUND3_STEP(c, d, e, a, b, W, 58, temp);
+
+#ifdef DOSTORESTATE59
+	SHA1_STORE_STATE(59)
+#endif
+	SHA1COMPRESS_FULL_ROUND3_STEP(b, c, d, e, a, W, 59, temp);
+
+
+
+
+#ifdef DOSTORESTATE60
+	SHA1_STORE_STATE(60)
+#endif
+	SHA1COMPRESS_FULL_ROUND4_STEP(a, b, c, d, e, W, 60, temp);
+
+#ifdef DOSTORESTATE61
+	SHA1_STORE_STATE(61)
+#endif
+	SHA1COMPRESS_FULL_ROUND4_STEP(e, a, b, c, d, W, 61, temp);
+
+#ifdef DOSTORESTATE62
+	SHA1_STORE_STATE(62)
+#endif
+	SHA1COMPRESS_FULL_ROUND4_STEP(d, e, a, b, c, W, 62, temp);
+
+#ifdef DOSTORESTATE63
+	SHA1_STORE_STATE(63)
+#endif
+	SHA1COMPRESS_FULL_ROUND4_STEP(c, d, e, a, b, W, 63, temp);
+
+#ifdef DOSTORESTATE64
+	SHA1_STORE_STATE(64)
+#endif
+	SHA1COMPRESS_FULL_ROUND4_STEP(b, c, d, e, a, W, 64, temp);
+
+#ifdef DOSTORESTATE65
+	SHA1_STORE_STATE(65)
+#endif
+	SHA1COMPRESS_FULL_ROUND4_STEP(a, b, c, d, e, W, 65, temp);
+
+#ifdef DOSTORESTATE66
+	SHA1_STORE_STATE(66)
+#endif
+	SHA1COMPRESS_FULL_ROUND4_STEP(e, a, b, c, d, W, 66, temp);
+
+#ifdef DOSTORESTATE67
+	SHA1_STORE_STATE(67)
+#endif
+	SHA1COMPRESS_FULL_ROUND4_STEP(d, e, a, b, c, W, 67, temp);
+
+#ifdef DOSTORESTATE68
+	SHA1_STORE_STATE(68)
+#endif
+	SHA1COMPRESS_FULL_ROUND4_STEP(c, d, e, a, b, W, 68, temp);
+
+#ifdef DOSTORESTATE69
+	SHA1_STORE_STATE(69)
+#endif
+	SHA1COMPRESS_FULL_ROUND4_STEP(b, c, d, e, a, W, 69, temp);
+
+#ifdef DOSTORESTATE70
+	SHA1_STORE_STATE(70)
+#endif
+	SHA1COMPRESS_FULL_ROUND4_STEP(a, b, c, d, e, W, 70, temp);
+
+#ifdef DOSTORESTATE71
+	SHA1_STORE_STATE(71)
+#endif
+	SHA1COMPRESS_FULL_ROUND4_STEP(e, a, b, c, d, W, 71, temp);
+
+#ifdef DOSTORESTATE72
+	SHA1_STORE_STATE(72)
+#endif
+	SHA1COMPRESS_FULL_ROUND4_STEP(d, e, a, b, c, W, 72, temp);
+
+#ifdef DOSTORESTATE73
+	SHA1_STORE_STATE(73)
+#endif
+	SHA1COMPRESS_FULL_ROUND4_STEP(c, d, e, a, b, W, 73, temp);
+
+#ifdef DOSTORESTATE74
+	SHA1_STORE_STATE(74)
+#endif
+	SHA1COMPRESS_FULL_ROUND4_STEP(b, c, d, e, a, W, 74, temp);
+
+#ifdef DOSTORESTATE75
+	SHA1_STORE_STATE(75)
+#endif
+	SHA1COMPRESS_FULL_ROUND4_STEP(a, b, c, d, e, W, 75, temp);
+
+#ifdef DOSTORESTATE76
+	SHA1_STORE_STATE(76)
+#endif
+	SHA1COMPRESS_FULL_ROUND4_STEP(e, a, b, c, d, W, 76, temp);
+
+#ifdef DOSTORESTATE77
+	SHA1_STORE_STATE(77)
+#endif
+	SHA1COMPRESS_FULL_ROUND4_STEP(d, e, a, b, c, W, 77, temp);
+
+#ifdef DOSTORESTATE78
+	SHA1_STORE_STATE(78)
+#endif
+	SHA1COMPRESS_FULL_ROUND4_STEP(c, d, e, a, b, W, 78, temp);
+
+#ifdef DOSTORESTATE79
+	SHA1_STORE_STATE(79)
+#endif
+	SHA1COMPRESS_FULL_ROUND4_STEP(b, c, d, e, a, W, 79, temp);
+
+
+
+	ihv[0] += a; ihv[1] += b; ihv[2] += c; ihv[3] += d; ihv[4] += e;
+}
+
+
+
+
+#define SHA1_RECOMPRESS(t) \
+static void sha1recompress_fast_ ## t (uint32_t ihvin[5], uint32_t ihvout[5], const uint32_t me2[80], const uint32_t state[5]) \
+{ \
+	uint32_t a = state[0], b = state[1], c = state[2], d = state[3], e = state[4]; \
+	if (t > 79) HASHCLASH_SHA1COMPRESS_ROUND4_STEP_BW(b, c, d, e, a, me2, 79); \
+	if (t > 78) HASHCLASH_SHA1COMPRESS_ROUND4_STEP_BW(c, d, e, a, b, me2, 78); \
+	if (t > 77) HASHCLASH_SHA1COMPRESS_ROUND4_STEP_BW(d, e, a, b, c, me2, 77); \
+	if (t > 76) HASHCLASH_SHA1COMPRESS_ROUND4_STEP_BW(e, a, b, c, d, me2, 76); \
+	if (t > 75) HASHCLASH_SHA1COMPRESS_ROUND4_STEP_BW(a, b, c, d, e, me2, 75); \
+	if (t > 74) HASHCLASH_SHA1COMPRESS_ROUND4_STEP_BW(b, c, d, e, a, me2, 74); \
+	if (t > 73) HASHCLASH_SHA1COMPRESS_ROUND4_STEP_BW(c, d, e, a, b, me2, 73); \
+	if (t > 72) HASHCLASH_SHA1COMPRESS_ROUND4_STEP_BW(d, e, a, b, c, me2, 72); \
+	if (t > 71) HASHCLASH_SHA1COMPRESS_ROUND4_STEP_BW(e, a, b, c, d, me2, 71); \
+	if (t > 70) HASHCLASH_SHA1COMPRESS_ROUND4_STEP_BW(a, b, c, d, e, me2, 70); \
+	if (t > 69) HASHCLASH_SHA1COMPRESS_ROUND4_STEP_BW(b, c, d, e, a, me2, 69); \
+	if (t > 68) HASHCLASH_SHA1COMPRESS_ROUND4_STEP_BW(c, d, e, a, b, me2, 68); \
+	if (t > 67) HASHCLASH_SHA1COMPRESS_ROUND4_STEP_BW(d, e, a, b, c, me2, 67); \
+	if (t > 66) HASHCLASH_SHA1COMPRESS_ROUND4_STEP_BW(e, a, b, c, d, me2, 66); \
+	if (t > 65) HASHCLASH_SHA1COMPRESS_ROUND4_STEP_BW(a, b, c, d, e, me2, 65); \
+	if (t > 64) HASHCLASH_SHA1COMPRESS_ROUND4_STEP_BW(b, c, d, e, a, me2, 64); \
+	if (t > 63) HASHCLASH_SHA1COMPRESS_ROUND4_STEP_BW(c, d, e, a, b, me2, 63); \
+	if (t > 62) HASHCLASH_SHA1COMPRESS_ROUND4_STEP_BW(d, e, a, b, c, me2, 62); \
+	if (t > 61) HASHCLASH_SHA1COMPRESS_ROUND4_STEP_BW(e, a, b, c, d, me2, 61); \
+	if (t > 60) HASHCLASH_SHA1COMPRESS_ROUND4_STEP_BW(a, b, c, d, e, me2, 60); \
+	if (t > 59) HASHCLASH_SHA1COMPRESS_ROUND3_STEP_BW(b, c, d, e, a, me2, 59); \
+	if (t > 58) HASHCLASH_SHA1COMPRESS_ROUND3_STEP_BW(c, d, e, a, b, me2, 58); \
+	if (t > 57) HASHCLASH_SHA1COMPRESS_ROUND3_STEP_BW(d, e, a, b, c, me2, 57); \
+	if (t > 56) HASHCLASH_SHA1COMPRESS_ROUND3_STEP_BW(e, a, b, c, d, me2, 56); \
+	if (t > 55) HASHCLASH_SHA1COMPRESS_ROUND3_STEP_BW(a, b, c, d, e, me2, 55); \
+	if (t > 54) HASHCLASH_SHA1COMPRESS_ROUND3_STEP_BW(b, c, d, e, a, me2, 54); \
+	if (t > 53) HASHCLASH_SHA1COMPRESS_ROUND3_STEP_BW(c, d, e, a, b, me2, 53); \
+	if (t > 52) HASHCLASH_SHA1COMPRESS_ROUND3_STEP_BW(d, e, a, b, c, me2, 52); \
+	if (t > 51) HASHCLASH_SHA1COMPRESS_ROUND3_STEP_BW(e, a, b, c, d, me2, 51); \
+	if (t > 50) HASHCLASH_SHA1COMPRESS_ROUND3_STEP_BW(a, b, c, d, e, me2, 50); \
+	if (t > 49) HASHCLASH_SHA1COMPRESS_ROUND3_STEP_BW(b, c, d, e, a, me2, 49); \
+	if (t > 48) HASHCLASH_SHA1COMPRESS_ROUND3_STEP_BW(c, d, e, a, b, me2, 48); \
+	if (t > 47) HASHCLASH_SHA1COMPRESS_ROUND3_STEP_BW(d, e, a, b, c, me2, 47); \
+	if (t > 46) HASHCLASH_SHA1COMPRESS_ROUND3_STEP_BW(e, a, b, c, d, me2, 46); \
+	if (t > 45) HASHCLASH_SHA1COMPRESS_ROUND3_STEP_BW(a, b, c, d, e, me2, 45); \
+	if (t > 44) HASHCLASH_SHA1COMPRESS_ROUND3_STEP_BW(b, c, d, e, a, me2, 44); \
+	if (t > 43) HASHCLASH_SHA1COMPRESS_ROUND3_STEP_BW(c, d, e, a, b, me2, 43); \
+	if (t > 42) HASHCLASH_SHA1COMPRESS_ROUND3_STEP_BW(d, e, a, b, c, me2, 42); \
+	if (t > 41) HASHCLASH_SHA1COMPRESS_ROUND3_STEP_BW(e, a, b, c, d, me2, 41); \
+	if (t > 40) HASHCLASH_SHA1COMPRESS_ROUND3_STEP_BW(a, b, c, d, e, me2, 40); \
+	if (t > 39) HASHCLASH_SHA1COMPRESS_ROUND2_STEP_BW(b, c, d, e, a, me2, 39); \
+	if (t > 38) HASHCLASH_SHA1COMPRESS_ROUND2_STEP_BW(c, d, e, a, b, me2, 38); \
+	if (t > 37) HASHCLASH_SHA1COMPRESS_ROUND2_STEP_BW(d, e, a, b, c, me2, 37); \
+	if (t > 36) HASHCLASH_SHA1COMPRESS_ROUND2_STEP_BW(e, a, b, c, d, me2, 36); \
+	if (t > 35) HASHCLASH_SHA1COMPRESS_ROUND2_STEP_BW(a, b, c, d, e, me2, 35); \
+	if (t > 34) HASHCLASH_SHA1COMPRESS_ROUND2_STEP_BW(b, c, d, e, a, me2, 34); \
+	if (t > 33) HASHCLASH_SHA1COMPRESS_ROUND2_STEP_BW(c, d, e, a, b, me2, 33); \
+	if (t > 32) HASHCLASH_SHA1COMPRESS_ROUND2_STEP_BW(d, e, a, b, c, me2, 32); \
+	if (t > 31) HASHCLASH_SHA1COMPRESS_ROUND2_STEP_BW(e, a, b, c, d, me2, 31); \
+	if (t > 30) HASHCLASH_SHA1COMPRESS_ROUND2_STEP_BW(a, b, c, d, e, me2, 30); \
+	if (t > 29) HASHCLASH_SHA1COMPRESS_ROUND2_STEP_BW(b, c, d, e, a, me2, 29); \
+	if (t > 28) HASHCLASH_SHA1COMPRESS_ROUND2_STEP_BW(c, d, e, a, b, me2, 28); \
+	if (t > 27) HASHCLASH_SHA1COMPRESS_ROUND2_STEP_BW(d, e, a, b, c, me2, 27); \
+	if (t > 26) HASHCLASH_SHA1COMPRESS_ROUND2_STEP_BW(e, a, b, c, d, me2, 26); \
+	if (t > 25) HASHCLASH_SHA1COMPRESS_ROUND2_STEP_BW(a, b, c, d, e, me2, 25); \
+	if (t > 24) HASHCLASH_SHA1COMPRESS_ROUND2_STEP_BW(b, c, d, e, a, me2, 24); \
+	if (t > 23) HASHCLASH_SHA1COMPRESS_ROUND2_STEP_BW(c, d, e, a, b, me2, 23); \
+	if (t > 22) HASHCLASH_SHA1COMPRESS_ROUND2_STEP_BW(d, e, a, b, c, me2, 22); \
+	if (t > 21) HASHCLASH_SHA1COMPRESS_ROUND2_STEP_BW(e, a, b, c, d, me2, 21); \
+	if (t > 20) HASHCLASH_SHA1COMPRESS_ROUND2_STEP_BW(a, b, c, d, e, me2, 20); \
+	if (t > 19) HASHCLASH_SHA1COMPRESS_ROUND1_STEP_BW(b, c, d, e, a, me2, 19); \
+	if (t > 18) HASHCLASH_SHA1COMPRESS_ROUND1_STEP_BW(c, d, e, a, b, me2, 18); \
+	if (t > 17) HASHCLASH_SHA1COMPRESS_ROUND1_STEP_BW(d, e, a, b, c, me2, 17); \
+	if (t > 16) HASHCLASH_SHA1COMPRESS_ROUND1_STEP_BW(e, a, b, c, d, me2, 16); \
+	if (t > 15) HASHCLASH_SHA1COMPRESS_ROUND1_STEP_BW(a, b, c, d, e, me2, 15); \
+	if (t > 14) HASHCLASH_SHA1COMPRESS_ROUND1_STEP_BW(b, c, d, e, a, me2, 14); \
+	if (t > 13) HASHCLASH_SHA1COMPRESS_ROUND1_STEP_BW(c, d, e, a, b, me2, 13); \
+	if (t > 12) HASHCLASH_SHA1COMPRESS_ROUND1_STEP_BW(d, e, a, b, c, me2, 12); \
+	if (t > 11) HASHCLASH_SHA1COMPRESS_ROUND1_STEP_BW(e, a, b, c, d, me2, 11); \
+	if (t > 10) HASHCLASH_SHA1COMPRESS_ROUND1_STEP_BW(a, b, c, d, e, me2, 10); \
+	if (t > 9) HASHCLASH_SHA1COMPRESS_ROUND1_STEP_BW(b, c, d, e, a, me2, 9); \
+	if (t > 8) HASHCLASH_SHA1COMPRESS_ROUND1_STEP_BW(c, d, e, a, b, me2, 8); \
+	if (t > 7) HASHCLASH_SHA1COMPRESS_ROUND1_STEP_BW(d, e, a, b, c, me2, 7); \
+	if (t > 6) HASHCLASH_SHA1COMPRESS_ROUND1_STEP_BW(e, a, b, c, d, me2, 6); \
+	if (t > 5) HASHCLASH_SHA1COMPRESS_ROUND1_STEP_BW(a, b, c, d, e, me2, 5); \
+	if (t > 4) HASHCLASH_SHA1COMPRESS_ROUND1_STEP_BW(b, c, d, e, a, me2, 4); \
+	if (t > 3) HASHCLASH_SHA1COMPRESS_ROUND1_STEP_BW(c, d, e, a, b, me2, 3); \
+	if (t > 2) HASHCLASH_SHA1COMPRESS_ROUND1_STEP_BW(d, e, a, b, c, me2, 2); \
+	if (t > 1) HASHCLASH_SHA1COMPRESS_ROUND1_STEP_BW(e, a, b, c, d, me2, 1); \
+	if (t > 0) HASHCLASH_SHA1COMPRESS_ROUND1_STEP_BW(a, b, c, d, e, me2, 0); \
+	ihvin[0] = a; ihvin[1] = b; ihvin[2] = c; ihvin[3] = d; ihvin[4] = e; \
+	a = state[0]; b = state[1]; c = state[2]; d = state[3]; e = state[4]; \
+	if (t <= 0) HASHCLASH_SHA1COMPRESS_ROUND1_STEP(a, b, c, d, e, me2, 0); \
+	if (t <= 1) HASHCLASH_SHA1COMPRESS_ROUND1_STEP(e, a, b, c, d, me2, 1); \
+	if (t <= 2) HASHCLASH_SHA1COMPRESS_ROUND1_STEP(d, e, a, b, c, me2, 2); \
+	if (t <= 3) HASHCLASH_SHA1COMPRESS_ROUND1_STEP(c, d, e, a, b, me2, 3); \
+	if (t <= 4) HASHCLASH_SHA1COMPRESS_ROUND1_STEP(b, c, d, e, a, me2, 4); \
+	if (t <= 5) HASHCLASH_SHA1COMPRESS_ROUND1_STEP(a, b, c, d, e, me2, 5); \
+	if (t <= 6) HASHCLASH_SHA1COMPRESS_ROUND1_STEP(e, a, b, c, d, me2, 6); \
+	if (t <= 7) HASHCLASH_SHA1COMPRESS_ROUND1_STEP(d, e, a, b, c, me2, 7); \
+	if (t <= 8) HASHCLASH_SHA1COMPRESS_ROUND1_STEP(c, d, e, a, b, me2, 8); \
+	if (t <= 9) HASHCLASH_SHA1COMPRESS_ROUND1_STEP(b, c, d, e, a, me2, 9); \
+	if (t <= 10) HASHCLASH_SHA1COMPRESS_ROUND1_STEP(a, b, c, d, e, me2, 10); \
+	if (t <= 11) HASHCLASH_SHA1COMPRESS_ROUND1_STEP(e, a, b, c, d, me2, 11); \
+	if (t <= 12) HASHCLASH_SHA1COMPRESS_ROUND1_STEP(d, e, a, b, c, me2, 12); \
+	if (t <= 13) HASHCLASH_SHA1COMPRESS_ROUND1_STEP(c, d, e, a, b, me2, 13); \
+	if (t <= 14) HASHCLASH_SHA1COMPRESS_ROUND1_STEP(b, c, d, e, a, me2, 14); \
+	if (t <= 15) HASHCLASH_SHA1COMPRESS_ROUND1_STEP(a, b, c, d, e, me2, 15); \
+	if (t <= 16) HASHCLASH_SHA1COMPRESS_ROUND1_STEP(e, a, b, c, d, me2, 16); \
+	if (t <= 17) HASHCLASH_SHA1COMPRESS_ROUND1_STEP(d, e, a, b, c, me2, 17); \
+	if (t <= 18) HASHCLASH_SHA1COMPRESS_ROUND1_STEP(c, d, e, a, b, me2, 18); \
+	if (t <= 19) HASHCLASH_SHA1COMPRESS_ROUND1_STEP(b, c, d, e, a, me2, 19); \
+	if (t <= 20) HASHCLASH_SHA1COMPRESS_ROUND2_STEP(a, b, c, d, e, me2, 20); \
+	if (t <= 21) HASHCLASH_SHA1COMPRESS_ROUND2_STEP(e, a, b, c, d, me2, 21); \
+	if (t <= 22) HASHCLASH_SHA1COMPRESS_ROUND2_STEP(d, e, a, b, c, me2, 22); \
+	if (t <= 23) HASHCLASH_SHA1COMPRESS_ROUND2_STEP(c, d, e, a, b, me2, 23); \
+	if (t <= 24) HASHCLASH_SHA1COMPRESS_ROUND2_STEP(b, c, d, e, a, me2, 24); \
+	if (t <= 25) HASHCLASH_SHA1COMPRESS_ROUND2_STEP(a, b, c, d, e, me2, 25); \
+	if (t <= 26) HASHCLASH_SHA1COMPRESS_ROUND2_STEP(e, a, b, c, d, me2, 26); \
+	if (t <= 27) HASHCLASH_SHA1COMPRESS_ROUND2_STEP(d, e, a, b, c, me2, 27); \
+	if (t <= 28) HASHCLASH_SHA1COMPRESS_ROUND2_STEP(c, d, e, a, b, me2, 28); \
+	if (t <= 29) HASHCLASH_SHA1COMPRESS_ROUND2_STEP(b, c, d, e, a, me2, 29); \
+	if (t <= 30) HASHCLASH_SHA1COMPRESS_ROUND2_STEP(a, b, c, d, e, me2, 30); \
+	if (t <= 31) HASHCLASH_SHA1COMPRESS_ROUND2_STEP(e, a, b, c, d, me2, 31); \
+	if (t <= 32) HASHCLASH_SHA1COMPRESS_ROUND2_STEP(d, e, a, b, c, me2, 32); \
+	if (t <= 33) HASHCLASH_SHA1COMPRESS_ROUND2_STEP(c, d, e, a, b, me2, 33); \
+	if (t <= 34) HASHCLASH_SHA1COMPRESS_ROUND2_STEP(b, c, d, e, a, me2, 34); \
+	if (t <= 35) HASHCLASH_SHA1COMPRESS_ROUND2_STEP(a, b, c, d, e, me2, 35); \
+	if (t <= 36) HASHCLASH_SHA1COMPRESS_ROUND2_STEP(e, a, b, c, d, me2, 36); \
+	if (t <= 37) HASHCLASH_SHA1COMPRESS_ROUND2_STEP(d, e, a, b, c, me2, 37); \
+	if (t <= 38) HASHCLASH_SHA1COMPRESS_ROUND2_STEP(c, d, e, a, b, me2, 38); \
+	if (t <= 39) HASHCLASH_SHA1COMPRESS_ROUND2_STEP(b, c, d, e, a, me2, 39); \
+	if (t <= 40) HASHCLASH_SHA1COMPRESS_ROUND3_STEP(a, b, c, d, e, me2, 40); \
+	if (t <= 41) HASHCLASH_SHA1COMPRESS_ROUND3_STEP(e, a, b, c, d, me2, 41); \
+	if (t <= 42) HASHCLASH_SHA1COMPRESS_ROUND3_STEP(d, e, a, b, c, me2, 42); \
+	if (t <= 43) HASHCLASH_SHA1COMPRESS_ROUND3_STEP(c, d, e, a, b, me2, 43); \
+	if (t <= 44) HASHCLASH_SHA1COMPRESS_ROUND3_STEP(b, c, d, e, a, me2, 44); \
+	if (t <= 45) HASHCLASH_SHA1COMPRESS_ROUND3_STEP(a, b, c, d, e, me2, 45); \
+	if (t <= 46) HASHCLASH_SHA1COMPRESS_ROUND3_STEP(e, a, b, c, d, me2, 46); \
+	if (t <= 47) HASHCLASH_SHA1COMPRESS_ROUND3_STEP(d, e, a, b, c, me2, 47); \
+	if (t <= 48) HASHCLASH_SHA1COMPRESS_ROUND3_STEP(c, d, e, a, b, me2, 48); \
+	if (t <= 49) HASHCLASH_SHA1COMPRESS_ROUND3_STEP(b, c, d, e, a, me2, 49); \
+	if (t <= 50) HASHCLASH_SHA1COMPRESS_ROUND3_STEP(a, b, c, d, e, me2, 50); \
+	if (t <= 51) HASHCLASH_SHA1COMPRESS_ROUND3_STEP(e, a, b, c, d, me2, 51); \
+	if (t <= 52) HASHCLASH_SHA1COMPRESS_ROUND3_STEP(d, e, a, b, c, me2, 52); \
+	if (t <= 53) HASHCLASH_SHA1COMPRESS_ROUND3_STEP(c, d, e, a, b, me2, 53); \
+	if (t <= 54) HASHCLASH_SHA1COMPRESS_ROUND3_STEP(b, c, d, e, a, me2, 54); \
+	if (t <= 55) HASHCLASH_SHA1COMPRESS_ROUND3_STEP(a, b, c, d, e, me2, 55); \
+	if (t <= 56) HASHCLASH_SHA1COMPRESS_ROUND3_STEP(e, a, b, c, d, me2, 56); \
+	if (t <= 57) HASHCLASH_SHA1COMPRESS_ROUND3_STEP(d, e, a, b, c, me2, 57); \
+	if (t <= 58) HASHCLASH_SHA1COMPRESS_ROUND3_STEP(c, d, e, a, b, me2, 58); \
+	if (t <= 59) HASHCLASH_SHA1COMPRESS_ROUND3_STEP(b, c, d, e, a, me2, 59); \
+	if (t <= 60) HASHCLASH_SHA1COMPRESS_ROUND4_STEP(a, b, c, d, e, me2, 60); \
+	if (t <= 61) HASHCLASH_SHA1COMPRESS_ROUND4_STEP(e, a, b, c, d, me2, 61); \
+	if (t <= 62) HASHCLASH_SHA1COMPRESS_ROUND4_STEP(d, e, a, b, c, me2, 62); \
+	if (t <= 63) HASHCLASH_SHA1COMPRESS_ROUND4_STEP(c, d, e, a, b, me2, 63); \
+	if (t <= 64) HASHCLASH_SHA1COMPRESS_ROUND4_STEP(b, c, d, e, a, me2, 64); \
+	if (t <= 65) HASHCLASH_SHA1COMPRESS_ROUND4_STEP(a, b, c, d, e, me2, 65); \
+	if (t <= 66) HASHCLASH_SHA1COMPRESS_ROUND4_STEP(e, a, b, c, d, me2, 66); \
+	if (t <= 67) HASHCLASH_SHA1COMPRESS_ROUND4_STEP(d, e, a, b, c, me2, 67); \
+	if (t <= 68) HASHCLASH_SHA1COMPRESS_ROUND4_STEP(c, d, e, a, b, me2, 68); \
+	if (t <= 69) HASHCLASH_SHA1COMPRESS_ROUND4_STEP(b, c, d, e, a, me2, 69); \
+	if (t <= 70) HASHCLASH_SHA1COMPRESS_ROUND4_STEP(a, b, c, d, e, me2, 70); \
+	if (t <= 71) HASHCLASH_SHA1COMPRESS_ROUND4_STEP(e, a, b, c, d, me2, 71); \
+	if (t <= 72) HASHCLASH_SHA1COMPRESS_ROUND4_STEP(d, e, a, b, c, me2, 72); \
+	if (t <= 73) HASHCLASH_SHA1COMPRESS_ROUND4_STEP(c, d, e, a, b, me2, 73); \
+	if (t <= 74) HASHCLASH_SHA1COMPRESS_ROUND4_STEP(b, c, d, e, a, me2, 74); \
+	if (t <= 75) HASHCLASH_SHA1COMPRESS_ROUND4_STEP(a, b, c, d, e, me2, 75); \
+	if (t <= 76) HASHCLASH_SHA1COMPRESS_ROUND4_STEP(e, a, b, c, d, me2, 76); \
+	if (t <= 77) HASHCLASH_SHA1COMPRESS_ROUND4_STEP(d, e, a, b, c, me2, 77); \
+	if (t <= 78) HASHCLASH_SHA1COMPRESS_ROUND4_STEP(c, d, e, a, b, me2, 78); \
+	if (t <= 79) HASHCLASH_SHA1COMPRESS_ROUND4_STEP(b, c, d, e, a, me2, 79); \
+	ihvout[0] = ihvin[0] + a; ihvout[1] = ihvin[1] + b; ihvout[2] = ihvin[2] + c; ihvout[3] = ihvin[3] + d; ihvout[4] = ihvin[4] + e; \
+}
+
+#ifdef DOSTORESTATE0
+SHA1_RECOMPRESS(0)
+#endif
+
+#ifdef DOSTORESTATE1
+SHA1_RECOMPRESS(1)
+#endif
+
+#ifdef DOSTORESTATE2
+SHA1_RECOMPRESS(2)
+#endif
+
+#ifdef DOSTORESTATE3
+SHA1_RECOMPRESS(3)
+#endif
+
+#ifdef DOSTORESTATE4
+SHA1_RECOMPRESS(4)
+#endif
+
+#ifdef DOSTORESTATE5
+SHA1_RECOMPRESS(5)
+#endif
+
+#ifdef DOSTORESTATE6
+SHA1_RECOMPRESS(6)
+#endif
+
+#ifdef DOSTORESTATE7
+SHA1_RECOMPRESS(7)
+#endif
+
+#ifdef DOSTORESTATE8
+SHA1_RECOMPRESS(8)
+#endif
+
+#ifdef DOSTORESTATE9
+SHA1_RECOMPRESS(9)
+#endif
+
+#ifdef DOSTORESTATE10
+SHA1_RECOMPRESS(10)
+#endif
+
+#ifdef DOSTORESTATE11
+SHA1_RECOMPRESS(11)
+#endif
+
+#ifdef DOSTORESTATE12
+SHA1_RECOMPRESS(12)
+#endif
+
+#ifdef DOSTORESTATE13
+SHA1_RECOMPRESS(13)
+#endif
+
+#ifdef DOSTORESTATE14
+SHA1_RECOMPRESS(14)
+#endif
+
+#ifdef DOSTORESTATE15
+SHA1_RECOMPRESS(15)
+#endif
+
+#ifdef DOSTORESTATE16
+SHA1_RECOMPRESS(16)
+#endif
+
+#ifdef DOSTORESTATE17
+SHA1_RECOMPRESS(17)
+#endif
+
+#ifdef DOSTORESTATE18
+SHA1_RECOMPRESS(18)
+#endif
+
+#ifdef DOSTORESTATE19
+SHA1_RECOMPRESS(19)
+#endif
+
+#ifdef DOSTORESTATE20
+SHA1_RECOMPRESS(20)
+#endif
+
+#ifdef DOSTORESTATE21
+SHA1_RECOMPRESS(21)
+#endif
+
+#ifdef DOSTORESTATE22
+SHA1_RECOMPRESS(22)
+#endif
+
+#ifdef DOSTORESTATE23
+SHA1_RECOMPRESS(23)
+#endif
+
+#ifdef DOSTORESTATE24
+SHA1_RECOMPRESS(24)
+#endif
+
+#ifdef DOSTORESTATE25
+SHA1_RECOMPRESS(25)
+#endif
+
+#ifdef DOSTORESTATE26
+SHA1_RECOMPRESS(26)
+#endif
+
+#ifdef DOSTORESTATE27
+SHA1_RECOMPRESS(27)
+#endif
+
+#ifdef DOSTORESTATE28
+SHA1_RECOMPRESS(28)
+#endif
+
+#ifdef DOSTORESTATE29
+SHA1_RECOMPRESS(29)
+#endif
+
+#ifdef DOSTORESTATE30
+SHA1_RECOMPRESS(30)
+#endif
+
+#ifdef DOSTORESTATE31
+SHA1_RECOMPRESS(31)
+#endif
+
+#ifdef DOSTORESTATE32
+SHA1_RECOMPRESS(32)
+#endif
+
+#ifdef DOSTORESTATE33
+SHA1_RECOMPRESS(33)
+#endif
+
+#ifdef DOSTORESTATE34
+SHA1_RECOMPRESS(34)
+#endif
+
+#ifdef DOSTORESTATE35
+SHA1_RECOMPRESS(35)
+#endif
+
+#ifdef DOSTORESTATE36
+SHA1_RECOMPRESS(36)
+#endif
+
+#ifdef DOSTORESTATE37
+SHA1_RECOMPRESS(37)
+#endif
+
+#ifdef DOSTORESTATE38
+SHA1_RECOMPRESS(38)
+#endif
+
+#ifdef DOSTORESTATE39
+SHA1_RECOMPRESS(39)
+#endif
+
+#ifdef DOSTORESTATE40
+SHA1_RECOMPRESS(40)
+#endif
+
+#ifdef DOSTORESTATE41
+SHA1_RECOMPRESS(41)
+#endif
+
+#ifdef DOSTORESTATE42
+SHA1_RECOMPRESS(42)
+#endif
+
+#ifdef DOSTORESTATE43
+SHA1_RECOMPRESS(43)
+#endif
+
+#ifdef DOSTORESTATE44
+SHA1_RECOMPRESS(44)
+#endif
+
+#ifdef DOSTORESTATE45
+SHA1_RECOMPRESS(45)
+#endif
+
+#ifdef DOSTORESTATE46
+SHA1_RECOMPRESS(46)
+#endif
+
+#ifdef DOSTORESTATE47
+SHA1_RECOMPRESS(47)
+#endif
+
+#ifdef DOSTORESTATE48
+SHA1_RECOMPRESS(48)
+#endif
+
+#ifdef DOSTORESTATE49
+SHA1_RECOMPRESS(49)
+#endif
+
+#ifdef DOSTORESTATE50
+SHA1_RECOMPRESS(50)
+#endif
+
+#ifdef DOSTORESTATE51
+SHA1_RECOMPRESS(51)
+#endif
+
+#ifdef DOSTORESTATE52
+SHA1_RECOMPRESS(52)
+#endif
+
+#ifdef DOSTORESTATE53
+SHA1_RECOMPRESS(53)
+#endif
+
+#ifdef DOSTORESTATE54
+SHA1_RECOMPRESS(54)
+#endif
+
+#ifdef DOSTORESTATE55
+SHA1_RECOMPRESS(55)
+#endif
+
+#ifdef DOSTORESTATE56
+SHA1_RECOMPRESS(56)
+#endif
+
+#ifdef DOSTORESTATE57
+SHA1_RECOMPRESS(57)
+#endif
+
+#ifdef DOSTORESTATE58
+SHA1_RECOMPRESS(58)
+#endif
+
+#ifdef DOSTORESTATE59
+SHA1_RECOMPRESS(59)
+#endif
+
+#ifdef DOSTORESTATE60
+SHA1_RECOMPRESS(60)
+#endif
+
+#ifdef DOSTORESTATE61
+SHA1_RECOMPRESS(61)
+#endif
+
+#ifdef DOSTORESTATE62
+SHA1_RECOMPRESS(62)
+#endif
+
+#ifdef DOSTORESTATE63
+SHA1_RECOMPRESS(63)
+#endif
+
+#ifdef DOSTORESTATE64
+SHA1_RECOMPRESS(64)
+#endif
+
+#ifdef DOSTORESTATE65
+SHA1_RECOMPRESS(65)
+#endif
+
+#ifdef DOSTORESTATE66
+SHA1_RECOMPRESS(66)
+#endif
+
+#ifdef DOSTORESTATE67
+SHA1_RECOMPRESS(67)
+#endif
+
+#ifdef DOSTORESTATE68
+SHA1_RECOMPRESS(68)
+#endif
+
+#ifdef DOSTORESTATE69
+SHA1_RECOMPRESS(69)
+#endif
+
+#ifdef DOSTORESTATE70
+SHA1_RECOMPRESS(70)
+#endif
+
+#ifdef DOSTORESTATE71
+SHA1_RECOMPRESS(71)
+#endif
+
+#ifdef DOSTORESTATE72
+SHA1_RECOMPRESS(72)
+#endif
+
+#ifdef DOSTORESTATE73
+SHA1_RECOMPRESS(73)
+#endif
+
+#ifdef DOSTORESTATE74
+SHA1_RECOMPRESS(74)
+#endif
+
+#ifdef DOSTORESTATE75
+SHA1_RECOMPRESS(75)
+#endif
+
+#ifdef DOSTORESTATE76
+SHA1_RECOMPRESS(76)
+#endif
+
+#ifdef DOSTORESTATE77
+SHA1_RECOMPRESS(77)
+#endif
+
+#ifdef DOSTORESTATE78
+SHA1_RECOMPRESS(78)
+#endif
+
+#ifdef DOSTORESTATE79
+SHA1_RECOMPRESS(79)
+#endif
+
+static void sha1_recompression_step(uint32_t step, uint32_t ihvin[5], uint32_t ihvout[5], const uint32_t me2[80], const uint32_t state[5])
+{
+	switch (step)
+	{
+#ifdef DOSTORESTATE0
+	case 0:
+		sha1recompress_fast_0(ihvin, ihvout, me2, state);
+		break;
+#endif
+#ifdef DOSTORESTATE1
+	case 1:
+		sha1recompress_fast_1(ihvin, ihvout, me2, state);
+		break;
+#endif
+#ifdef DOSTORESTATE2
+	case 2:
+		sha1recompress_fast_2(ihvin, ihvout, me2, state);
+		break;
+#endif
+#ifdef DOSTORESTATE3
+	case 3:
+		sha1recompress_fast_3(ihvin, ihvout, me2, state);
+		break;
+#endif
+#ifdef DOSTORESTATE4
+	case 4:
+		sha1recompress_fast_4(ihvin, ihvout, me2, state);
+		break;
+#endif
+#ifdef DOSTORESTATE5
+	case 5:
+		sha1recompress_fast_5(ihvin, ihvout, me2, state);
+		break;
+#endif
+#ifdef DOSTORESTATE6
+	case 6:
+		sha1recompress_fast_6(ihvin, ihvout, me2, state);
+		break;
+#endif
+#ifdef DOSTORESTATE7
+	case 7:
+		sha1recompress_fast_7(ihvin, ihvout, me2, state);
+		break;
+#endif
+#ifdef DOSTORESTATE8
+	case 8:
+		sha1recompress_fast_8(ihvin, ihvout, me2, state);
+		break;
+#endif
+#ifdef DOSTORESTATE9
+	case 9:
+		sha1recompress_fast_9(ihvin, ihvout, me2, state);
+		break;
+#endif
+#ifdef DOSTORESTATE10
+	case 10:
+		sha1recompress_fast_10(ihvin, ihvout, me2, state);
+		break;
+#endif
+#ifdef DOSTORESTATE11
+	case 11:
+		sha1recompress_fast_11(ihvin, ihvout, me2, state);
+		break;
+#endif
+#ifdef DOSTORESTATE12
+	case 12:
+		sha1recompress_fast_12(ihvin, ihvout, me2, state);
+		break;
+#endif
+#ifdef DOSTORESTATE13
+	case 13:
+		sha1recompress_fast_13(ihvin, ihvout, me2, state);
+		break;
+#endif
+#ifdef DOSTORESTATE14
+	case 14:
+		sha1recompress_fast_14(ihvin, ihvout, me2, state);
+		break;
+#endif
+#ifdef DOSTORESTATE15
+	case 15:
+		sha1recompress_fast_15(ihvin, ihvout, me2, state);
+		break;
+#endif
+#ifdef DOSTORESTATE16
+	case 16:
+		sha1recompress_fast_16(ihvin, ihvout, me2, state);
+		break;
+#endif
+#ifdef DOSTORESTATE17
+	case 17:
+		sha1recompress_fast_17(ihvin, ihvout, me2, state);
+		break;
+#endif
+#ifdef DOSTORESTATE18
+	case 18:
+		sha1recompress_fast_18(ihvin, ihvout, me2, state);
+		break;
+#endif
+#ifdef DOSTORESTATE19
+	case 19:
+		sha1recompress_fast_19(ihvin, ihvout, me2, state);
+		break;
+#endif
+#ifdef DOSTORESTATE20
+	case 20:
+		sha1recompress_fast_20(ihvin, ihvout, me2, state);
+		break;
+#endif
+#ifdef DOSTORESTATE21
+	case 21:
+		sha1recompress_fast_21(ihvin, ihvout, me2, state);
+		break;
+#endif
+#ifdef DOSTORESTATE22
+	case 22:
+		sha1recompress_fast_22(ihvin, ihvout, me2, state);
+		break;
+#endif
+#ifdef DOSTORESTATE23
+	case 23:
+		sha1recompress_fast_23(ihvin, ihvout, me2, state);
+		break;
+#endif
+#ifdef DOSTORESTATE24
+	case 24:
+		sha1recompress_fast_24(ihvin, ihvout, me2, state);
+		break;
+#endif
+#ifdef DOSTORESTATE25
+	case 25:
+		sha1recompress_fast_25(ihvin, ihvout, me2, state);
+		break;
+#endif
+#ifdef DOSTORESTATE26
+	case 26:
+		sha1recompress_fast_26(ihvin, ihvout, me2, state);
+		break;
+#endif
+#ifdef DOSTORESTATE27
+	case 27:
+		sha1recompress_fast_27(ihvin, ihvout, me2, state);
+		break;
+#endif
+#ifdef DOSTORESTATE28
+	case 28:
+		sha1recompress_fast_28(ihvin, ihvout, me2, state);
+		break;
+#endif
+#ifdef DOSTORESTATE29
+	case 29:
+		sha1recompress_fast_29(ihvin, ihvout, me2, state);
+		break;
+#endif
+#ifdef DOSTORESTATE30
+	case 30:
+		sha1recompress_fast_30(ihvin, ihvout, me2, state);
+		break;
+#endif
+#ifdef DOSTORESTATE31
+	case 31:
+		sha1recompress_fast_31(ihvin, ihvout, me2, state);
+		break;
+#endif
+#ifdef DOSTORESTATE32
+	case 32:
+		sha1recompress_fast_32(ihvin, ihvout, me2, state);
+		break;
+#endif
+#ifdef DOSTORESTATE33
+	case 33:
+		sha1recompress_fast_33(ihvin, ihvout, me2, state);
+		break;
+#endif
+#ifdef DOSTORESTATE34
+	case 34:
+		sha1recompress_fast_34(ihvin, ihvout, me2, state);
+		break;
+#endif
+#ifdef DOSTORESTATE35
+	case 35:
+		sha1recompress_fast_35(ihvin, ihvout, me2, state);
+		break;
+#endif
+#ifdef DOSTORESTATE36
+	case 36:
+		sha1recompress_fast_36(ihvin, ihvout, me2, state);
+		break;
+#endif
+#ifdef DOSTORESTATE37
+	case 37:
+		sha1recompress_fast_37(ihvin, ihvout, me2, state);
+		break;
+#endif
+#ifdef DOSTORESTATE38
+	case 38:
+		sha1recompress_fast_38(ihvin, ihvout, me2, state);
+		break;
+#endif
+#ifdef DOSTORESTATE39
+	case 39:
+		sha1recompress_fast_39(ihvin, ihvout, me2, state);
+		break;
+#endif
+#ifdef DOSTORESTATE40
+	case 40:
+		sha1recompress_fast_40(ihvin, ihvout, me2, state);
+		break;
+#endif
+#ifdef DOSTORESTATE41
+	case 41:
+		sha1recompress_fast_41(ihvin, ihvout, me2, state);
+		break;
+#endif
+#ifdef DOSTORESTATE42
+	case 42:
+		sha1recompress_fast_42(ihvin, ihvout, me2, state);
+		break;
+#endif
+#ifdef DOSTORESTATE43
+	case 43:
+		sha1recompress_fast_43(ihvin, ihvout, me2, state);
+		break;
+#endif
+#ifdef DOSTORESTATE44
+	case 44:
+		sha1recompress_fast_44(ihvin, ihvout, me2, state);
+		break;
+#endif
+#ifdef DOSTORESTATE45
+	case 45:
+		sha1recompress_fast_45(ihvin, ihvout, me2, state);
+		break;
+#endif
+#ifdef DOSTORESTATE46
+	case 46:
+		sha1recompress_fast_46(ihvin, ihvout, me2, state);
+		break;
+#endif
+#ifdef DOSTORESTATE47
+	case 47:
+		sha1recompress_fast_47(ihvin, ihvout, me2, state);
+		break;
+#endif
+#ifdef DOSTORESTATE48
+	case 48:
+		sha1recompress_fast_48(ihvin, ihvout, me2, state);
+		break;
+#endif
+#ifdef DOSTORESTATE49
+	case 49:
+		sha1recompress_fast_49(ihvin, ihvout, me2, state);
+		break;
+#endif
+#ifdef DOSTORESTATE50
+	case 50:
+		sha1recompress_fast_50(ihvin, ihvout, me2, state);
+		break;
+#endif
+#ifdef DOSTORESTATE51
+	case 51:
+		sha1recompress_fast_51(ihvin, ihvout, me2, state);
+		break;
+#endif
+#ifdef DOSTORESTATE52
+	case 52:
+		sha1recompress_fast_52(ihvin, ihvout, me2, state);
+		break;
+#endif
+#ifdef DOSTORESTATE53
+	case 53:
+		sha1recompress_fast_53(ihvin, ihvout, me2, state);
+		break;
+#endif
+#ifdef DOSTORESTATE54
+	case 54:
+		sha1recompress_fast_54(ihvin, ihvout, me2, state);
+		break;
+#endif
+#ifdef DOSTORESTATE55
+	case 55:
+		sha1recompress_fast_55(ihvin, ihvout, me2, state);
+		break;
+#endif
+#ifdef DOSTORESTATE56
+	case 56:
+		sha1recompress_fast_56(ihvin, ihvout, me2, state);
+		break;
+#endif
+#ifdef DOSTORESTATE57
+	case 57:
+		sha1recompress_fast_57(ihvin, ihvout, me2, state);
+		break;
+#endif
+#ifdef DOSTORESTATE58
+	case 58:
+		sha1recompress_fast_58(ihvin, ihvout, me2, state);
+		break;
+#endif
+#ifdef DOSTORESTATE59
+	case 59:
+		sha1recompress_fast_59(ihvin, ihvout, me2, state);
+		break;
+#endif
+#ifdef DOSTORESTATE60
+	case 60:
+		sha1recompress_fast_60(ihvin, ihvout, me2, state);
+		break;
+#endif
+#ifdef DOSTORESTATE61
+	case 61:
+		sha1recompress_fast_61(ihvin, ihvout, me2, state);
+		break;
+#endif
+#ifdef DOSTORESTATE62
+	case 62:
+		sha1recompress_fast_62(ihvin, ihvout, me2, state);
+		break;
+#endif
+#ifdef DOSTORESTATE63
+	case 63:
+		sha1recompress_fast_63(ihvin, ihvout, me2, state);
+		break;
+#endif
+#ifdef DOSTORESTATE64
+	case 64:
+		sha1recompress_fast_64(ihvin, ihvout, me2, state);
+		break;
+#endif
+#ifdef DOSTORESTATE65
+	case 65:
+		sha1recompress_fast_65(ihvin, ihvout, me2, state);
+		break;
+#endif
+#ifdef DOSTORESTATE66
+	case 66:
+		sha1recompress_fast_66(ihvin, ihvout, me2, state);
+		break;
+#endif
+#ifdef DOSTORESTATE67
+	case 67:
+		sha1recompress_fast_67(ihvin, ihvout, me2, state);
+		break;
+#endif
+#ifdef DOSTORESTATE68
+	case 68:
+		sha1recompress_fast_68(ihvin, ihvout, me2, state);
+		break;
+#endif
+#ifdef DOSTORESTATE69
+	case 69:
+		sha1recompress_fast_69(ihvin, ihvout, me2, state);
+		break;
+#endif
+#ifdef DOSTORESTATE70
+	case 70:
+		sha1recompress_fast_70(ihvin, ihvout, me2, state);
+		break;
+#endif
+#ifdef DOSTORESTATE71
+	case 71:
+		sha1recompress_fast_71(ihvin, ihvout, me2, state);
+		break;
+#endif
+#ifdef DOSTORESTATE72
+	case 72:
+		sha1recompress_fast_72(ihvin, ihvout, me2, state);
+		break;
+#endif
+#ifdef DOSTORESTATE73
+	case 73:
+		sha1recompress_fast_73(ihvin, ihvout, me2, state);
+		break;
+#endif
+#ifdef DOSTORESTATE74
+	case 74:
+		sha1recompress_fast_74(ihvin, ihvout, me2, state);
+		break;
+#endif
+#ifdef DOSTORESTATE75
+	case 75:
+		sha1recompress_fast_75(ihvin, ihvout, me2, state);
+		break;
+#endif
+#ifdef DOSTORESTATE76
+	case 76:
+		sha1recompress_fast_76(ihvin, ihvout, me2, state);
+		break;
+#endif
+#ifdef DOSTORESTATE77
+	case 77:
+		sha1recompress_fast_77(ihvin, ihvout, me2, state);
+		break;
+#endif
+#ifdef DOSTORESTATE78
+	case 78:
+		sha1recompress_fast_78(ihvin, ihvout, me2, state);
+		break;
+#endif
+#ifdef DOSTORESTATE79
+	case 79:
+		sha1recompress_fast_79(ihvin, ihvout, me2, state);
+		break;
+#endif
+	default:
+		abort();
+	}
+
+}
+
+
+
+static void sha1_process(SHA1_CTX* ctx, const uint32_t block[16])
+{
+	unsigned i, j;
+	uint32_t ubc_dv_mask[DVMASKSIZE] = { 0xFFFFFFFF };
+	uint32_t ihvtmp[5];
+
+	ctx->ihv1[0] = ctx->ihv[0];
+	ctx->ihv1[1] = ctx->ihv[1];
+	ctx->ihv1[2] = ctx->ihv[2];
+	ctx->ihv1[3] = ctx->ihv[3];
+	ctx->ihv1[4] = ctx->ihv[4];
+
+	sha1_compression_states(ctx->ihv, block, ctx->m1, ctx->states);
+
+	if (ctx->detect_coll)
+	{
+		if (ctx->ubc_check)
+		{
+			ubc_check(ctx->m1, ubc_dv_mask);
+		}
+
+		if (ubc_dv_mask[0] != 0)
+		{
+			for (i = 0; sha1_dvs[i].dvType != 0; ++i)
+			{
+				if (ubc_dv_mask[0] & ((uint32_t)(1) << sha1_dvs[i].maskb))
+				{
+					for (j = 0; j < 80; ++j)
+						ctx->m2[j] = ctx->m1[j] ^ sha1_dvs[i].dm[j];
+
+					sha1_recompression_step(sha1_dvs[i].testt, ctx->ihv2, ihvtmp, ctx->m2, ctx->states[sha1_dvs[i].testt]);
+
+					/* to verify SHA-1 collision detection code with collisions for reduced-step SHA-1 */
+					if ((0 == ((ihvtmp[0] ^ ctx->ihv[0]) | (ihvtmp[1] ^ ctx->ihv[1]) | (ihvtmp[2] ^ ctx->ihv[2]) | (ihvtmp[3] ^ ctx->ihv[3]) | (ihvtmp[4] ^ ctx->ihv[4])))
+						|| (ctx->reduced_round_coll && 0==((ctx->ihv1[0] ^ ctx->ihv2[0]) | (ctx->ihv1[1] ^ ctx->ihv2[1]) | (ctx->ihv1[2] ^ ctx->ihv2[2]) | (ctx->ihv1[3] ^ ctx->ihv2[3]) | (ctx->ihv1[4] ^ ctx->ihv2[4]))))
+					{
+						ctx->found_collision = 1;
+
+						if (ctx->safe_hash)
+						{
+							sha1_compression_W(ctx->ihv, ctx->m1);
+							sha1_compression_W(ctx->ihv, ctx->m1);
+						}
+
+						break;
+					}
+				}
+			}
+		}
+	}
+}
+
+void SHA1DCInit(SHA1_CTX* ctx)
+{
+	ctx->total = 0;
+	ctx->ihv[0] = 0x67452301;
+	ctx->ihv[1] = 0xEFCDAB89;
+	ctx->ihv[2] = 0x98BADCFE;
+	ctx->ihv[3] = 0x10325476;
+	ctx->ihv[4] = 0xC3D2E1F0;
+	ctx->found_collision = 0;
+	ctx->safe_hash = 0;
+	ctx->ubc_check = 1;
+	ctx->detect_coll = 1;
+	ctx->reduced_round_coll = 0;
+	ctx->callback = NULL;
+}
+
+void SHA1DCSetSafeHash(SHA1_CTX* ctx, int safehash)
+{
+	if (safehash)
+		ctx->safe_hash = 1;
+	else
+		ctx->safe_hash = 0;
+}
+
+
+void SHA1DCSetUseUBC(SHA1_CTX* ctx, int ubc_check)
+{
+	if (ubc_check)
+		ctx->ubc_check = 1;
+	else
+		ctx->ubc_check = 0;
+}
+
+void SHA1DCSetUseDetectColl(SHA1_CTX* ctx, int detect_coll)
+{
+	if (detect_coll)
+		ctx->detect_coll = 1;
+	else
+		ctx->detect_coll = 0;
+}
+
+void SHA1DCSetDetectReducedRoundCollision(SHA1_CTX* ctx, int reduced_round_coll)
+{
+	if (reduced_round_coll)
+		ctx->reduced_round_coll = 1;
+	else
+		ctx->reduced_round_coll = 0;
+}
+
+void SHA1DCSetCallback(SHA1_CTX* ctx, collision_block_callback callback)
+{
+	ctx->callback = callback;
+}
+
+void SHA1DCUpdate(SHA1_CTX* ctx, const char* buf, size_t len)
+{
+	unsigned left, fill;
+	if (len == 0)
+		return;
+
+	left = ctx->total & 63;
+	fill = 64 - left;
+
+	if (left && len >= fill)
+	{
+		ctx->total += fill;
+		memcpy(ctx->buffer + left, buf, fill);
+		sha1_process(ctx, (uint32_t*)(ctx->buffer));
+		buf += fill;
+		len -= fill;
+		left = 0;
+	}
+	while (len >= 64)
+	{
+		ctx->total += 64;
+		sha1_process(ctx, (uint32_t*)(buf));
+		buf += 64;
+		len -= 64;
+	}
+	if (len > 0)
+	{
+		ctx->total += len;
+		memcpy(ctx->buffer + left, buf, len);
+	}
+}
+
+static const unsigned char sha1_padding[64] =
+{
+	0x80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+};
+
+int SHA1DCFinal(unsigned char output[20], SHA1_CTX *ctx)
+{
+	uint32_t last = ctx->total & 63;
+	uint32_t padn = (last < 56) ? (56 - last) : (120 - last);
+	uint64_t total;
+	SHA1DCUpdate(ctx, (const char*)(sha1_padding), padn);
+
+	total = ctx->total - padn;
+	total <<= 3;
+	ctx->buffer[56] = (unsigned char)(total >> 56);
+	ctx->buffer[57] = (unsigned char)(total >> 48);
+	ctx->buffer[58] = (unsigned char)(total >> 40);
+	ctx->buffer[59] = (unsigned char)(total >> 32);
+	ctx->buffer[60] = (unsigned char)(total >> 24);
+	ctx->buffer[61] = (unsigned char)(total >> 16);
+	ctx->buffer[62] = (unsigned char)(total >> 8);
+	ctx->buffer[63] = (unsigned char)(total);
+	sha1_process(ctx, (uint32_t*)(ctx->buffer));
+	output[0] = (unsigned char)(ctx->ihv[0] >> 24);
+	output[1] = (unsigned char)(ctx->ihv[0] >> 16);
+	output[2] = (unsigned char)(ctx->ihv[0] >> 8);
+	output[3] = (unsigned char)(ctx->ihv[0]);
+	output[4] = (unsigned char)(ctx->ihv[1] >> 24);
+	output[5] = (unsigned char)(ctx->ihv[1] >> 16);
+	output[6] = (unsigned char)(ctx->ihv[1] >> 8);
+	output[7] = (unsigned char)(ctx->ihv[1]);
+	output[8] = (unsigned char)(ctx->ihv[2] >> 24);
+	output[9] = (unsigned char)(ctx->ihv[2] >> 16);
+	output[10] = (unsigned char)(ctx->ihv[2] >> 8);
+	output[11] = (unsigned char)(ctx->ihv[2]);
+	output[12] = (unsigned char)(ctx->ihv[3] >> 24);
+	output[13] = (unsigned char)(ctx->ihv[3] >> 16);
+	output[14] = (unsigned char)(ctx->ihv[3] >> 8);
+	output[15] = (unsigned char)(ctx->ihv[3]);
+	output[16] = (unsigned char)(ctx->ihv[4] >> 24);
+	output[17] = (unsigned char)(ctx->ihv[4] >> 16);
+	output[18] = (unsigned char)(ctx->ihv[4] >> 8);
+	output[19] = (unsigned char)(ctx->ihv[4]);
+	return ctx->found_collision;
+}
+
+void git_SHA1DCFinal(unsigned char hash[20], SHA1_CTX *ctx)
+{
+	if (!SHA1DCFinal(hash, ctx))
+		return;
+	die("SHA-1 appears to be part of a collision attack: %s",
+	    sha1_to_hex(hash));
+}
+
+void git_SHA1DCUpdate(SHA1_CTX *ctx, const void *vdata, unsigned long len)
+{
+	const char *data = vdata;
+	/* We expect an unsigned long, but sha1dc only takes an int */
+	while (len > INT_MAX) {
+		SHA1DCUpdate(ctx, data, INT_MAX);
+		data += INT_MAX;
+		len -= INT_MAX;
+	}
+	SHA1DCUpdate(ctx, data, len);
+}
diff --git a/sha1dc/sha1.h b/sha1dc/sha1.h
new file mode 100644
index 0000000..bd8bd92
--- /dev/null
+++ b/sha1dc/sha1.h
@@ -0,0 +1,122 @@
+/***
+* Copyright 2017 Marc Stevens <marc@marc-stevens.nl>, Dan Shumow <danshu@microsoft.com>
+* Distributed under the MIT Software License.
+* See accompanying file LICENSE.txt or copy at
+* https://opensource.org/licenses/MIT
+***/
+#ifndef SHA1DC_SHA1_H
+#define SHA1DC_SHA1_H
+
+#if defined(__cplusplus)
+extern "C" {
+#endif
+
+/* uses SHA-1 message expansion to expand the first 16 words of W[] to 80 words */
+/* void sha1_message_expansion(uint32_t W[80]); */
+
+/* sha-1 compression function; first version takes a message block pre-parsed as 16 32-bit integers, second version takes an already expanded message) */
+/* void sha1_compression(uint32_t ihv[5], const uint32_t m[16]);
+void sha1_compression_W(uint32_t ihv[5], const uint32_t W[80]); */
+
+/* same as sha1_compression_W, but additionally store intermediate states */
+/* only stores states ii (the state between step ii-1 and step ii) when DOSTORESTATEii is defined in ubc_check.h */
+void sha1_compression_states(uint32_t[5], const uint32_t[16], uint32_t[80], uint32_t[80][5]);
+
+/*
+// function type for sha1_recompression_step_T (uint32_t ihvin[5], uint32_t ihvout[5], const uint32_t me2[80], const uint32_t state[5])
+// where 0 <= T < 80
+//       me2 is an expanded message (the expansion of an original message block XOR'ed with a disturbance vector's message block difference)
+//       state is the internal state (a,b,c,d,e) before step T of the SHA-1 compression function while processing the original message block
+// the function will return:
+//       ihvin: the reconstructed input chaining value
+//       ihvout: the reconstructed output chaining value
+*/
+typedef void(*sha1_recompression_type)(uint32_t*, uint32_t*, const uint32_t*, const uint32_t*);
+
+/* table of sha1_recompression_step_0, ... , sha1_recompression_step_79 */
+/* extern sha1_recompression_type sha1_recompression_step[80];*/
+
+/* a callback function type that can be set to be called when a collision block has been found: */
+/* void collision_block_callback(uint64_t byteoffset, const uint32_t ihvin1[5], const uint32_t ihvin2[5], const uint32_t m1[80], const uint32_t m2[80]) */
+typedef void(*collision_block_callback)(uint64_t, const uint32_t*, const uint32_t*, const uint32_t*, const uint32_t*);
+
+/* the SHA-1 context */
+typedef struct {
+	uint64_t total;
+	uint32_t ihv[5];
+	unsigned char buffer[64];
+	int found_collision;
+	int safe_hash;
+	int detect_coll;
+	int ubc_check;
+	int reduced_round_coll;
+	collision_block_callback callback;
+
+	uint32_t ihv1[5];
+	uint32_t ihv2[5];
+	uint32_t m1[80];
+	uint32_t m2[80];
+	uint32_t states[80][5];
+} SHA1_CTX;
+
+/* initialize SHA-1 context */
+void SHA1DCInit(SHA1_CTX*);
+
+/*
+// function to enable safe SHA-1 hashing:
+// collision attacks are thwarted by hashing a detected near-collision block 3 times
+// think of it as extending SHA-1 from 80-steps to 240-steps for such blocks:
+//   the best collision attacks against SHA-1 have complexity about 2^60,
+//   thus for 240-steps an immediate lower-bound for the best cryptanalytic attacks would 2^180
+//   an attacker would be better off using a generic birthday search of complexity 2^80
+//
+// enabling safe SHA-1 hashing will result in the correct SHA-1 hash for messages where no collision attack was detected
+// but it will result in a different SHA-1 hash for messages where a collision attack was detected
+// this will automatically invalidate SHA-1 based digital signature forgeries
+// enabled by default
+*/
+void SHA1DCSetSafeHash(SHA1_CTX*, int);
+
+/* function to disable or enable the use of Unavoidable Bitconditions (provides a significant speed up) */
+/* enabled by default */
+void SHA1DCSetUseUBC(SHA1_CTX*, int);
+
+/* function to disable or enable the use of Collision Detection */
+/* enabled by default */
+void SHA1DCSetUseDetectColl(SHA1_CTX*, int);
+
+/* function to disable or enable the detection of reduced-round SHA-1 collisions */
+/* disabled by default */
+void SHA1DCSetDetectReducedRoundCollision(SHA1_CTX*, int);
+
+/* function to set a callback function, pass NULL to disable */
+/* by default no callback set */
+void SHA1DCSetCallback(SHA1_CTX*, collision_block_callback);
+
+/* update SHA-1 context with buffer contents */
+void SHA1DCUpdate(SHA1_CTX*, const char*, size_t);
+
+/* obtain SHA-1 hash from SHA-1 context */
+/* returns: 0 = no collision detected, otherwise = collision found => warn user for active attack */
+int  SHA1DCFinal(unsigned char[20], SHA1_CTX*);
+
+/*
+ * Same as SHA1DCFinal, but convert collision attack case into a verbose die().
+ */
+void git_SHA1DCFinal(unsigned char [20], SHA1_CTX *);
+
+/*
+ * Same as SHA1DCUpdate, but adjust types to match git's usual interface.
+ */
+void git_SHA1DCUpdate(SHA1_CTX *ctx, const void *data, unsigned long len);
+
+#define platform_SHA_CTX SHA1_CTX
+#define platform_SHA1_Init SHA1DCInit
+#define platform_SHA1_Update git_SHA1DCUpdate
+#define platform_SHA1_Final git_SHA1DCFinal
+
+#if defined(__cplusplus)
+}
+#endif
+
+#endif /* SHA1DC_SHA1_H */
diff --git a/sha1dc/ubc_check.c b/sha1dc/ubc_check.c
new file mode 100644
index 0000000..089dd47
--- /dev/null
+++ b/sha1dc/ubc_check.c
@@ -0,0 +1,363 @@
+/***
+* Copyright 2017 Marc Stevens <marc@marc-stevens.nl>, Dan Shumow <danshu@microsoft.com>
+* Distributed under the MIT Software License.
+* See accompanying file LICENSE.txt or copy at
+* https://opensource.org/licenses/MIT
+***/
+
+/*
+// this file was generated by the 'parse_bitrel' program in the tools section
+// using the data files from directory 'tools/data/3565'
+//
+// sha1_dvs contains a list of SHA-1 Disturbance Vectors (DV) to check
+// dvType, dvK and dvB define the DV: I(K,B) or II(K,B) (see the paper)
+// dm[80] is the expanded message block XOR-difference defined by the DV
+// testt is the step to do the recompression from for collision detection
+// maski and maskb define the bit to check for each DV in the dvmask returned by ubc_check
+//
+// ubc_check takes as input an expanded message block and verifies the unavoidable bitconditions for all listed DVs
+// it returns a dvmask where each bit belonging to a DV is set if all unavoidable bitconditions for that DV have been met
+// thus one needs to do the recompression check for each DV that has its bit set
+//
+// ubc_check is programmatically generated and the unavoidable bitconditions have been hardcoded
+// a directly verifiable version named ubc_check_verify can be found in ubc_check_verify.c
+// ubc_check has been verified against ubc_check_verify using the 'ubc_check_test' program in the tools section
+*/
+
+#include "git-compat-util.h"
+#include "sha1dc/ubc_check.h"
+
+static const uint32_t DV_I_43_0_bit 	= (uint32_t)(1) << 0;
+static const uint32_t DV_I_44_0_bit 	= (uint32_t)(1) << 1;
+static const uint32_t DV_I_45_0_bit 	= (uint32_t)(1) << 2;
+static const uint32_t DV_I_46_0_bit 	= (uint32_t)(1) << 3;
+static const uint32_t DV_I_46_2_bit 	= (uint32_t)(1) << 4;
+static const uint32_t DV_I_47_0_bit 	= (uint32_t)(1) << 5;
+static const uint32_t DV_I_47_2_bit 	= (uint32_t)(1) << 6;
+static const uint32_t DV_I_48_0_bit 	= (uint32_t)(1) << 7;
+static const uint32_t DV_I_48_2_bit 	= (uint32_t)(1) << 8;
+static const uint32_t DV_I_49_0_bit 	= (uint32_t)(1) << 9;
+static const uint32_t DV_I_49_2_bit 	= (uint32_t)(1) << 10;
+static const uint32_t DV_I_50_0_bit 	= (uint32_t)(1) << 11;
+static const uint32_t DV_I_50_2_bit 	= (uint32_t)(1) << 12;
+static const uint32_t DV_I_51_0_bit 	= (uint32_t)(1) << 13;
+static const uint32_t DV_I_51_2_bit 	= (uint32_t)(1) << 14;
+static const uint32_t DV_I_52_0_bit 	= (uint32_t)(1) << 15;
+static const uint32_t DV_II_45_0_bit 	= (uint32_t)(1) << 16;
+static const uint32_t DV_II_46_0_bit 	= (uint32_t)(1) << 17;
+static const uint32_t DV_II_46_2_bit 	= (uint32_t)(1) << 18;
+static const uint32_t DV_II_47_0_bit 	= (uint32_t)(1) << 19;
+static const uint32_t DV_II_48_0_bit 	= (uint32_t)(1) << 20;
+static const uint32_t DV_II_49_0_bit 	= (uint32_t)(1) << 21;
+static const uint32_t DV_II_49_2_bit 	= (uint32_t)(1) << 22;
+static const uint32_t DV_II_50_0_bit 	= (uint32_t)(1) << 23;
+static const uint32_t DV_II_50_2_bit 	= (uint32_t)(1) << 24;
+static const uint32_t DV_II_51_0_bit 	= (uint32_t)(1) << 25;
+static const uint32_t DV_II_51_2_bit 	= (uint32_t)(1) << 26;
+static const uint32_t DV_II_52_0_bit 	= (uint32_t)(1) << 27;
+static const uint32_t DV_II_53_0_bit 	= (uint32_t)(1) << 28;
+static const uint32_t DV_II_54_0_bit 	= (uint32_t)(1) << 29;
+static const uint32_t DV_II_55_0_bit 	= (uint32_t)(1) << 30;
+static const uint32_t DV_II_56_0_bit 	= (uint32_t)(1) << 31;
+
+dv_info_t sha1_dvs[] =
+{
+  {1,43,0,58,0,0, { 0x08000000,0x9800000c,0xd8000010,0x08000010,0xb8000010,0x98000000,0x60000000,0x00000008,0xc0000000,0x90000014,0x10000010,0xb8000014,0x28000000,0x20000010,0x48000000,0x08000018,0x60000000,0x90000010,0xf0000010,0x90000008,0xc0000000,0x90000010,0xf0000010,0xb0000008,0x40000000,0x90000000,0xf0000010,0x90000018,0x60000000,0x90000010,0x90000010,0x90000000,0x80000000,0x00000010,0xa0000000,0x20000000,0xa0000000,0x20000010,0x00000000,0x20000010,0x20000000,0x00000010,0x20000000,0x00000010,0xa0000000,0x00000000,0x20000000,0x20000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000001,0x00000020,0x00000001,0x40000002,0x40000040,0x40000002,0x80000004,0x80000080,0x80000006,0x00000049,0x00000103,0x80000009,0x80000012,0x80000202,0x00000018,0x00000164,0x00000408,0x800000e6,0x8000004c,0x00000803,0x80000161,0x80000599 } }
+, {1,44,0,58,0,1, { 0xb4000008,0x08000000,0x9800000c,0xd8000010,0x08000010,0xb8000010,0x98000000,0x60000000,0x00000008,0xc0000000,0x90000014,0x10000010,0xb8000014,0x28000000,0x20000010,0x48000000,0x08000018,0x60000000,0x90000010,0xf0000010,0x90000008,0xc0000000,0x90000010,0xf0000010,0xb0000008,0x40000000,0x90000000,0xf0000010,0x90000018,0x60000000,0x90000010,0x90000010,0x90000000,0x80000000,0x00000010,0xa0000000,0x20000000,0xa0000000,0x20000010,0x00000000,0x20000010,0x20000000,0x00000010,0x20000000,0x00000010,0xa0000000,0x00000000,0x20000000,0x20000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000001,0x00000020,0x00000001,0x40000002,0x40000040,0x40000002,0x80000004,0x80000080,0x80000006,0x00000049,0x00000103,0x80000009,0x80000012,0x80000202,0x00000018,0x00000164,0x00000408,0x800000e6,0x8000004c,0x00000803,0x80000161 } }
+, {1,45,0,58,0,2, { 0xf4000014,0xb4000008,0x08000000,0x9800000c,0xd8000010,0x08000010,0xb8000010,0x98000000,0x60000000,0x00000008,0xc0000000,0x90000014,0x10000010,0xb8000014,0x28000000,0x20000010,0x48000000,0x08000018,0x60000000,0x90000010,0xf0000010,0x90000008,0xc0000000,0x90000010,0xf0000010,0xb0000008,0x40000000,0x90000000,0xf0000010,0x90000018,0x60000000,0x90000010,0x90000010,0x90000000,0x80000000,0x00000010,0xa0000000,0x20000000,0xa0000000,0x20000010,0x00000000,0x20000010,0x20000000,0x00000010,0x20000000,0x00000010,0xa0000000,0x00000000,0x20000000,0x20000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000001,0x00000020,0x00000001,0x40000002,0x40000040,0x40000002,0x80000004,0x80000080,0x80000006,0x00000049,0x00000103,0x80000009,0x80000012,0x80000202,0x00000018,0x00000164,0x00000408,0x800000e6,0x8000004c,0x00000803 } }
+, {1,46,0,58,0,3, { 0x2c000010,0xf4000014,0xb4000008,0x08000000,0x9800000c,0xd8000010,0x08000010,0xb8000010,0x98000000,0x60000000,0x00000008,0xc0000000,0x90000014,0x10000010,0xb8000014,0x28000000,0x20000010,0x48000000,0x08000018,0x60000000,0x90000010,0xf0000010,0x90000008,0xc0000000,0x90000010,0xf0000010,0xb0000008,0x40000000,0x90000000,0xf0000010,0x90000018,0x60000000,0x90000010,0x90000010,0x90000000,0x80000000,0x00000010,0xa0000000,0x20000000,0xa0000000,0x20000010,0x00000000,0x20000010,0x20000000,0x00000010,0x20000000,0x00000010,0xa0000000,0x00000000,0x20000000,0x20000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000001,0x00000020,0x00000001,0x40000002,0x40000040,0x40000002,0x80000004,0x80000080,0x80000006,0x00000049,0x00000103,0x80000009,0x80000012,0x80000202,0x00000018,0x00000164,0x00000408,0x800000e6,0x8000004c } }
+, {1,46,2,58,0,4, { 0xb0000040,0xd0000053,0xd0000022,0x20000000,0x60000032,0x60000043,0x20000040,0xe0000042,0x60000002,0x80000001,0x00000020,0x00000003,0x40000052,0x40000040,0xe0000052,0xa0000000,0x80000040,0x20000001,0x20000060,0x80000001,0x40000042,0xc0000043,0x40000022,0x00000003,0x40000042,0xc0000043,0xc0000022,0x00000001,0x40000002,0xc0000043,0x40000062,0x80000001,0x40000042,0x40000042,0x40000002,0x00000002,0x00000040,0x80000002,0x80000000,0x80000002,0x80000040,0x00000000,0x80000040,0x80000000,0x00000040,0x80000000,0x00000040,0x80000002,0x00000000,0x80000000,0x80000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000004,0x00000080,0x00000004,0x00000009,0x00000101,0x00000009,0x00000012,0x00000202,0x0000001a,0x00000124,0x0000040c,0x00000026,0x0000004a,0x0000080a,0x00000060,0x00000590,0x00001020,0x0000039a,0x00000132 } }
+, {1,47,0,58,0,5, { 0xc8000010,0x2c000010,0xf4000014,0xb4000008,0x08000000,0x9800000c,0xd8000010,0x08000010,0xb8000010,0x98000000,0x60000000,0x00000008,0xc0000000,0x90000014,0x10000010,0xb8000014,0x28000000,0x20000010,0x48000000,0x08000018,0x60000000,0x90000010,0xf0000010,0x90000008,0xc0000000,0x90000010,0xf0000010,0xb0000008,0x40000000,0x90000000,0xf0000010,0x90000018,0x60000000,0x90000010,0x90000010,0x90000000,0x80000000,0x00000010,0xa0000000,0x20000000,0xa0000000,0x20000010,0x00000000,0x20000010,0x20000000,0x00000010,0x20000000,0x00000010,0xa0000000,0x00000000,0x20000000,0x20000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000001,0x00000020,0x00000001,0x40000002,0x40000040,0x40000002,0x80000004,0x80000080,0x80000006,0x00000049,0x00000103,0x80000009,0x80000012,0x80000202,0x00000018,0x00000164,0x00000408,0x800000e6 } }
+, {1,47,2,58,0,6, { 0x20000043,0xb0000040,0xd0000053,0xd0000022,0x20000000,0x60000032,0x60000043,0x20000040,0xe0000042,0x60000002,0x80000001,0x00000020,0x00000003,0x40000052,0x40000040,0xe0000052,0xa0000000,0x80000040,0x20000001,0x20000060,0x80000001,0x40000042,0xc0000043,0x40000022,0x00000003,0x40000042,0xc0000043,0xc0000022,0x00000001,0x40000002,0xc0000043,0x40000062,0x80000001,0x40000042,0x40000042,0x40000002,0x00000002,0x00000040,0x80000002,0x80000000,0x80000002,0x80000040,0x00000000,0x80000040,0x80000000,0x00000040,0x80000000,0x00000040,0x80000002,0x00000000,0x80000000,0x80000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000004,0x00000080,0x00000004,0x00000009,0x00000101,0x00000009,0x00000012,0x00000202,0x0000001a,0x00000124,0x0000040c,0x00000026,0x0000004a,0x0000080a,0x00000060,0x00000590,0x00001020,0x0000039a } }
+, {1,48,0,58,0,7, { 0xb800000a,0xc8000010,0x2c000010,0xf4000014,0xb4000008,0x08000000,0x9800000c,0xd8000010,0x08000010,0xb8000010,0x98000000,0x60000000,0x00000008,0xc0000000,0x90000014,0x10000010,0xb8000014,0x28000000,0x20000010,0x48000000,0x08000018,0x60000000,0x90000010,0xf0000010,0x90000008,0xc0000000,0x90000010,0xf0000010,0xb0000008,0x40000000,0x90000000,0xf0000010,0x90000018,0x60000000,0x90000010,0x90000010,0x90000000,0x80000000,0x00000010,0xa0000000,0x20000000,0xa0000000,0x20000010,0x00000000,0x20000010,0x20000000,0x00000010,0x20000000,0x00000010,0xa0000000,0x00000000,0x20000000,0x20000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000001,0x00000020,0x00000001,0x40000002,0x40000040,0x40000002,0x80000004,0x80000080,0x80000006,0x00000049,0x00000103,0x80000009,0x80000012,0x80000202,0x00000018,0x00000164,0x00000408 } }
+, {1,48,2,58,0,8, { 0xe000002a,0x20000043,0xb0000040,0xd0000053,0xd0000022,0x20000000,0x60000032,0x60000043,0x20000040,0xe0000042,0x60000002,0x80000001,0x00000020,0x00000003,0x40000052,0x40000040,0xe0000052,0xa0000000,0x80000040,0x20000001,0x20000060,0x80000001,0x40000042,0xc0000043,0x40000022,0x00000003,0x40000042,0xc0000043,0xc0000022,0x00000001,0x40000002,0xc0000043,0x40000062,0x80000001,0x40000042,0x40000042,0x40000002,0x00000002,0x00000040,0x80000002,0x80000000,0x80000002,0x80000040,0x00000000,0x80000040,0x80000000,0x00000040,0x80000000,0x00000040,0x80000002,0x00000000,0x80000000,0x80000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000004,0x00000080,0x00000004,0x00000009,0x00000101,0x00000009,0x00000012,0x00000202,0x0000001a,0x00000124,0x0000040c,0x00000026,0x0000004a,0x0000080a,0x00000060,0x00000590,0x00001020 } }
+, {1,49,0,58,0,9, { 0x18000000,0xb800000a,0xc8000010,0x2c000010,0xf4000014,0xb4000008,0x08000000,0x9800000c,0xd8000010,0x08000010,0xb8000010,0x98000000,0x60000000,0x00000008,0xc0000000,0x90000014,0x10000010,0xb8000014,0x28000000,0x20000010,0x48000000,0x08000018,0x60000000,0x90000010,0xf0000010,0x90000008,0xc0000000,0x90000010,0xf0000010,0xb0000008,0x40000000,0x90000000,0xf0000010,0x90000018,0x60000000,0x90000010,0x90000010,0x90000000,0x80000000,0x00000010,0xa0000000,0x20000000,0xa0000000,0x20000010,0x00000000,0x20000010,0x20000000,0x00000010,0x20000000,0x00000010,0xa0000000,0x00000000,0x20000000,0x20000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000001,0x00000020,0x00000001,0x40000002,0x40000040,0x40000002,0x80000004,0x80000080,0x80000006,0x00000049,0x00000103,0x80000009,0x80000012,0x80000202,0x00000018,0x00000164 } }
+, {1,49,2,58,0,10, { 0x60000000,0xe000002a,0x20000043,0xb0000040,0xd0000053,0xd0000022,0x20000000,0x60000032,0x60000043,0x20000040,0xe0000042,0x60000002,0x80000001,0x00000020,0x00000003,0x40000052,0x40000040,0xe0000052,0xa0000000,0x80000040,0x20000001,0x20000060,0x80000001,0x40000042,0xc0000043,0x40000022,0x00000003,0x40000042,0xc0000043,0xc0000022,0x00000001,0x40000002,0xc0000043,0x40000062,0x80000001,0x40000042,0x40000042,0x40000002,0x00000002,0x00000040,0x80000002,0x80000000,0x80000002,0x80000040,0x00000000,0x80000040,0x80000000,0x00000040,0x80000000,0x00000040,0x80000002,0x00000000,0x80000000,0x80000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000004,0x00000080,0x00000004,0x00000009,0x00000101,0x00000009,0x00000012,0x00000202,0x0000001a,0x00000124,0x0000040c,0x00000026,0x0000004a,0x0000080a,0x00000060,0x00000590 } }
+, {1,50,0,65,0,11, { 0x0800000c,0x18000000,0xb800000a,0xc8000010,0x2c000010,0xf4000014,0xb4000008,0x08000000,0x9800000c,0xd8000010,0x08000010,0xb8000010,0x98000000,0x60000000,0x00000008,0xc0000000,0x90000014,0x10000010,0xb8000014,0x28000000,0x20000010,0x48000000,0x08000018,0x60000000,0x90000010,0xf0000010,0x90000008,0xc0000000,0x90000010,0xf0000010,0xb0000008,0x40000000,0x90000000,0xf0000010,0x90000018,0x60000000,0x90000010,0x90000010,0x90000000,0x80000000,0x00000010,0xa0000000,0x20000000,0xa0000000,0x20000010,0x00000000,0x20000010,0x20000000,0x00000010,0x20000000,0x00000010,0xa0000000,0x00000000,0x20000000,0x20000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000001,0x00000020,0x00000001,0x40000002,0x40000040,0x40000002,0x80000004,0x80000080,0x80000006,0x00000049,0x00000103,0x80000009,0x80000012,0x80000202,0x00000018 } }
+, {1,50,2,65,0,12, { 0x20000030,0x60000000,0xe000002a,0x20000043,0xb0000040,0xd0000053,0xd0000022,0x20000000,0x60000032,0x60000043,0x20000040,0xe0000042,0x60000002,0x80000001,0x00000020,0x00000003,0x40000052,0x40000040,0xe0000052,0xa0000000,0x80000040,0x20000001,0x20000060,0x80000001,0x40000042,0xc0000043,0x40000022,0x00000003,0x40000042,0xc0000043,0xc0000022,0x00000001,0x40000002,0xc0000043,0x40000062,0x80000001,0x40000042,0x40000042,0x40000002,0x00000002,0x00000040,0x80000002,0x80000000,0x80000002,0x80000040,0x00000000,0x80000040,0x80000000,0x00000040,0x80000000,0x00000040,0x80000002,0x00000000,0x80000000,0x80000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000004,0x00000080,0x00000004,0x00000009,0x00000101,0x00000009,0x00000012,0x00000202,0x0000001a,0x00000124,0x0000040c,0x00000026,0x0000004a,0x0000080a,0x00000060 } }
+, {1,51,0,65,0,13, { 0xe8000000,0x0800000c,0x18000000,0xb800000a,0xc8000010,0x2c000010,0xf4000014,0xb4000008,0x08000000,0x9800000c,0xd8000010,0x08000010,0xb8000010,0x98000000,0x60000000,0x00000008,0xc0000000,0x90000014,0x10000010,0xb8000014,0x28000000,0x20000010,0x48000000,0x08000018,0x60000000,0x90000010,0xf0000010,0x90000008,0xc0000000,0x90000010,0xf0000010,0xb0000008,0x40000000,0x90000000,0xf0000010,0x90000018,0x60000000,0x90000010,0x90000010,0x90000000,0x80000000,0x00000010,0xa0000000,0x20000000,0xa0000000,0x20000010,0x00000000,0x20000010,0x20000000,0x00000010,0x20000000,0x00000010,0xa0000000,0x00000000,0x20000000,0x20000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000001,0x00000020,0x00000001,0x40000002,0x40000040,0x40000002,0x80000004,0x80000080,0x80000006,0x00000049,0x00000103,0x80000009,0x80000012,0x80000202 } }
+, {1,51,2,65,0,14, { 0xa0000003,0x20000030,0x60000000,0xe000002a,0x20000043,0xb0000040,0xd0000053,0xd0000022,0x20000000,0x60000032,0x60000043,0x20000040,0xe0000042,0x60000002,0x80000001,0x00000020,0x00000003,0x40000052,0x40000040,0xe0000052,0xa0000000,0x80000040,0x20000001,0x20000060,0x80000001,0x40000042,0xc0000043,0x40000022,0x00000003,0x40000042,0xc0000043,0xc0000022,0x00000001,0x40000002,0xc0000043,0x40000062,0x80000001,0x40000042,0x40000042,0x40000002,0x00000002,0x00000040,0x80000002,0x80000000,0x80000002,0x80000040,0x00000000,0x80000040,0x80000000,0x00000040,0x80000000,0x00000040,0x80000002,0x00000000,0x80000000,0x80000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000004,0x00000080,0x00000004,0x00000009,0x00000101,0x00000009,0x00000012,0x00000202,0x0000001a,0x00000124,0x0000040c,0x00000026,0x0000004a,0x0000080a } }
+, {1,52,0,65,0,15, { 0x04000010,0xe8000000,0x0800000c,0x18000000,0xb800000a,0xc8000010,0x2c000010,0xf4000014,0xb4000008,0x08000000,0x9800000c,0xd8000010,0x08000010,0xb8000010,0x98000000,0x60000000,0x00000008,0xc0000000,0x90000014,0x10000010,0xb8000014,0x28000000,0x20000010,0x48000000,0x08000018,0x60000000,0x90000010,0xf0000010,0x90000008,0xc0000000,0x90000010,0xf0000010,0xb0000008,0x40000000,0x90000000,0xf0000010,0x90000018,0x60000000,0x90000010,0x90000010,0x90000000,0x80000000,0x00000010,0xa0000000,0x20000000,0xa0000000,0x20000010,0x00000000,0x20000010,0x20000000,0x00000010,0x20000000,0x00000010,0xa0000000,0x00000000,0x20000000,0x20000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000001,0x00000020,0x00000001,0x40000002,0x40000040,0x40000002,0x80000004,0x80000080,0x80000006,0x00000049,0x00000103,0x80000009,0x80000012 } }
+, {2,45,0,58,0,16, { 0xec000014,0x0c000002,0xc0000010,0xb400001c,0x2c000004,0xbc000018,0xb0000010,0x0000000c,0xb8000010,0x08000018,0x78000010,0x08000014,0x70000010,0xb800001c,0xe8000000,0xb0000004,0x58000010,0xb000000c,0x48000000,0xb0000000,0xb8000010,0x98000010,0xa0000000,0x00000000,0x00000000,0x20000000,0x80000000,0x00000010,0x00000000,0x20000010,0x20000000,0x00000010,0x60000000,0x00000018,0xe0000000,0x90000000,0x30000010,0xb0000000,0x20000000,0x20000000,0xa0000000,0x00000010,0x80000000,0x20000000,0x20000000,0x20000000,0x80000000,0x00000010,0x00000000,0x20000010,0xa0000000,0x00000000,0x20000000,0x20000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000001,0x00000020,0x00000001,0x40000002,0x40000041,0x40000022,0x80000005,0xc0000082,0xc0000046,0x4000004b,0x80000107,0x00000089,0x00000014,0x8000024b,0x0000011b,0x8000016d,0x8000041a,0x000002e4,0x80000054,0x00000967 } }
+, {2,46,0,58,0,17, { 0x2400001c,0xec000014,0x0c000002,0xc0000010,0xb400001c,0x2c000004,0xbc000018,0xb0000010,0x0000000c,0xb8000010,0x08000018,0x78000010,0x08000014,0x70000010,0xb800001c,0xe8000000,0xb0000004,0x58000010,0xb000000c,0x48000000,0xb0000000,0xb8000010,0x98000010,0xa0000000,0x00000000,0x00000000,0x20000000,0x80000000,0x00000010,0x00000000,0x20000010,0x20000000,0x00000010,0x60000000,0x00000018,0xe0000000,0x90000000,0x30000010,0xb0000000,0x20000000,0x20000000,0xa0000000,0x00000010,0x80000000,0x20000000,0x20000000,0x20000000,0x80000000,0x00000010,0x00000000,0x20000010,0xa0000000,0x00000000,0x20000000,0x20000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000001,0x00000020,0x00000001,0x40000002,0x40000041,0x40000022,0x80000005,0xc0000082,0xc0000046,0x4000004b,0x80000107,0x00000089,0x00000014,0x8000024b,0x0000011b,0x8000016d,0x8000041a,0x000002e4,0x80000054 } }
+, {2,46,2,58,0,18, { 0x90000070,0xb0000053,0x30000008,0x00000043,0xd0000072,0xb0000010,0xf0000062,0xc0000042,0x00000030,0xe0000042,0x20000060,0xe0000041,0x20000050,0xc0000041,0xe0000072,0xa0000003,0xc0000012,0x60000041,0xc0000032,0x20000001,0xc0000002,0xe0000042,0x60000042,0x80000002,0x00000000,0x00000000,0x80000000,0x00000002,0x00000040,0x00000000,0x80000040,0x80000000,0x00000040,0x80000001,0x00000060,0x80000003,0x40000002,0xc0000040,0xc0000002,0x80000000,0x80000000,0x80000002,0x00000040,0x00000002,0x80000000,0x80000000,0x80000000,0x00000002,0x00000040,0x00000000,0x80000040,0x80000002,0x00000000,0x80000000,0x80000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000004,0x00000080,0x00000004,0x00000009,0x00000105,0x00000089,0x00000016,0x0000020b,0x0000011b,0x0000012d,0x0000041e,0x00000224,0x00000050,0x0000092e,0x0000046c,0x000005b6,0x0000106a,0x00000b90,0x00000152 } }
+, {2,47,0,58,0,19, { 0x20000010,0x2400001c,0xec000014,0x0c000002,0xc0000010,0xb400001c,0x2c000004,0xbc000018,0xb0000010,0x0000000c,0xb8000010,0x08000018,0x78000010,0x08000014,0x70000010,0xb800001c,0xe8000000,0xb0000004,0x58000010,0xb000000c,0x48000000,0xb0000000,0xb8000010,0x98000010,0xa0000000,0x00000000,0x00000000,0x20000000,0x80000000,0x00000010,0x00000000,0x20000010,0x20000000,0x00000010,0x60000000,0x00000018,0xe0000000,0x90000000,0x30000010,0xb0000000,0x20000000,0x20000000,0xa0000000,0x00000010,0x80000000,0x20000000,0x20000000,0x20000000,0x80000000,0x00000010,0x00000000,0x20000010,0xa0000000,0x00000000,0x20000000,0x20000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000001,0x00000020,0x00000001,0x40000002,0x40000041,0x40000022,0x80000005,0xc0000082,0xc0000046,0x4000004b,0x80000107,0x00000089,0x00000014,0x8000024b,0x0000011b,0x8000016d,0x8000041a,0x000002e4 } }
+, {2,48,0,58,0,20, { 0xbc00001a,0x20000010,0x2400001c,0xec000014,0x0c000002,0xc0000010,0xb400001c,0x2c000004,0xbc000018,0xb0000010,0x0000000c,0xb8000010,0x08000018,0x78000010,0x08000014,0x70000010,0xb800001c,0xe8000000,0xb0000004,0x58000010,0xb000000c,0x48000000,0xb0000000,0xb8000010,0x98000010,0xa0000000,0x00000000,0x00000000,0x20000000,0x80000000,0x00000010,0x00000000,0x20000010,0x20000000,0x00000010,0x60000000,0x00000018,0xe0000000,0x90000000,0x30000010,0xb0000000,0x20000000,0x20000000,0xa0000000,0x00000010,0x80000000,0x20000000,0x20000000,0x20000000,0x80000000,0x00000010,0x00000000,0x20000010,0xa0000000,0x00000000,0x20000000,0x20000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000001,0x00000020,0x00000001,0x40000002,0x40000041,0x40000022,0x80000005,0xc0000082,0xc0000046,0x4000004b,0x80000107,0x00000089,0x00000014,0x8000024b,0x0000011b,0x8000016d,0x8000041a } }
+, {2,49,0,58,0,21, { 0x3c000004,0xbc00001a,0x20000010,0x2400001c,0xec000014,0x0c000002,0xc0000010,0xb400001c,0x2c000004,0xbc000018,0xb0000010,0x0000000c,0xb8000010,0x08000018,0x78000010,0x08000014,0x70000010,0xb800001c,0xe8000000,0xb0000004,0x58000010,0xb000000c,0x48000000,0xb0000000,0xb8000010,0x98000010,0xa0000000,0x00000000,0x00000000,0x20000000,0x80000000,0x00000010,0x00000000,0x20000010,0x20000000,0x00000010,0x60000000,0x00000018,0xe0000000,0x90000000,0x30000010,0xb0000000,0x20000000,0x20000000,0xa0000000,0x00000010,0x80000000,0x20000000,0x20000000,0x20000000,0x80000000,0x00000010,0x00000000,0x20000010,0xa0000000,0x00000000,0x20000000,0x20000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000001,0x00000020,0x00000001,0x40000002,0x40000041,0x40000022,0x80000005,0xc0000082,0xc0000046,0x4000004b,0x80000107,0x00000089,0x00000014,0x8000024b,0x0000011b,0x8000016d } }
+, {2,49,2,58,0,22, { 0xf0000010,0xf000006a,0x80000040,0x90000070,0xb0000053,0x30000008,0x00000043,0xd0000072,0xb0000010,0xf0000062,0xc0000042,0x00000030,0xe0000042,0x20000060,0xe0000041,0x20000050,0xc0000041,0xe0000072,0xa0000003,0xc0000012,0x60000041,0xc0000032,0x20000001,0xc0000002,0xe0000042,0x60000042,0x80000002,0x00000000,0x00000000,0x80000000,0x00000002,0x00000040,0x00000000,0x80000040,0x80000000,0x00000040,0x80000001,0x00000060,0x80000003,0x40000002,0xc0000040,0xc0000002,0x80000000,0x80000000,0x80000002,0x00000040,0x00000002,0x80000000,0x80000000,0x80000000,0x00000002,0x00000040,0x00000000,0x80000040,0x80000002,0x00000000,0x80000000,0x80000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000004,0x00000080,0x00000004,0x00000009,0x00000105,0x00000089,0x00000016,0x0000020b,0x0000011b,0x0000012d,0x0000041e,0x00000224,0x00000050,0x0000092e,0x0000046c,0x000005b6 } }
+, {2,50,0,65,0,23, { 0xb400001c,0x3c000004,0xbc00001a,0x20000010,0x2400001c,0xec000014,0x0c000002,0xc0000010,0xb400001c,0x2c000004,0xbc000018,0xb0000010,0x0000000c,0xb8000010,0x08000018,0x78000010,0x08000014,0x70000010,0xb800001c,0xe8000000,0xb0000004,0x58000010,0xb000000c,0x48000000,0xb0000000,0xb8000010,0x98000010,0xa0000000,0x00000000,0x00000000,0x20000000,0x80000000,0x00000010,0x00000000,0x20000010,0x20000000,0x00000010,0x60000000,0x00000018,0xe0000000,0x90000000,0x30000010,0xb0000000,0x20000000,0x20000000,0xa0000000,0x00000010,0x80000000,0x20000000,0x20000000,0x20000000,0x80000000,0x00000010,0x00000000,0x20000010,0xa0000000,0x00000000,0x20000000,0x20000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000001,0x00000020,0x00000001,0x40000002,0x40000041,0x40000022,0x80000005,0xc0000082,0xc0000046,0x4000004b,0x80000107,0x00000089,0x00000014,0x8000024b,0x0000011b } }
+, {2,50,2,65,0,24, { 0xd0000072,0xf0000010,0xf000006a,0x80000040,0x90000070,0xb0000053,0x30000008,0x00000043,0xd0000072,0xb0000010,0xf0000062,0xc0000042,0x00000030,0xe0000042,0x20000060,0xe0000041,0x20000050,0xc0000041,0xe0000072,0xa0000003,0xc0000012,0x60000041,0xc0000032,0x20000001,0xc0000002,0xe0000042,0x60000042,0x80000002,0x00000000,0x00000000,0x80000000,0x00000002,0x00000040,0x00000000,0x80000040,0x80000000,0x00000040,0x80000001,0x00000060,0x80000003,0x40000002,0xc0000040,0xc0000002,0x80000000,0x80000000,0x80000002,0x00000040,0x00000002,0x80000000,0x80000000,0x80000000,0x00000002,0x00000040,0x00000000,0x80000040,0x80000002,0x00000000,0x80000000,0x80000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000004,0x00000080,0x00000004,0x00000009,0x00000105,0x00000089,0x00000016,0x0000020b,0x0000011b,0x0000012d,0x0000041e,0x00000224,0x00000050,0x0000092e,0x0000046c } }
+, {2,51,0,65,0,25, { 0xc0000010,0xb400001c,0x3c000004,0xbc00001a,0x20000010,0x2400001c,0xec000014,0x0c000002,0xc0000010,0xb400001c,0x2c000004,0xbc000018,0xb0000010,0x0000000c,0xb8000010,0x08000018,0x78000010,0x08000014,0x70000010,0xb800001c,0xe8000000,0xb0000004,0x58000010,0xb000000c,0x48000000,0xb0000000,0xb8000010,0x98000010,0xa0000000,0x00000000,0x00000000,0x20000000,0x80000000,0x00000010,0x00000000,0x20000010,0x20000000,0x00000010,0x60000000,0x00000018,0xe0000000,0x90000000,0x30000010,0xb0000000,0x20000000,0x20000000,0xa0000000,0x00000010,0x80000000,0x20000000,0x20000000,0x20000000,0x80000000,0x00000010,0x00000000,0x20000010,0xa0000000,0x00000000,0x20000000,0x20000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000001,0x00000020,0x00000001,0x40000002,0x40000041,0x40000022,0x80000005,0xc0000082,0xc0000046,0x4000004b,0x80000107,0x00000089,0x00000014,0x8000024b } }
+, {2,51,2,65,0,26, { 0x00000043,0xd0000072,0xf0000010,0xf000006a,0x80000040,0x90000070,0xb0000053,0x30000008,0x00000043,0xd0000072,0xb0000010,0xf0000062,0xc0000042,0x00000030,0xe0000042,0x20000060,0xe0000041,0x20000050,0xc0000041,0xe0000072,0xa0000003,0xc0000012,0x60000041,0xc0000032,0x20000001,0xc0000002,0xe0000042,0x60000042,0x80000002,0x00000000,0x00000000,0x80000000,0x00000002,0x00000040,0x00000000,0x80000040,0x80000000,0x00000040,0x80000001,0x00000060,0x80000003,0x40000002,0xc0000040,0xc0000002,0x80000000,0x80000000,0x80000002,0x00000040,0x00000002,0x80000000,0x80000000,0x80000000,0x00000002,0x00000040,0x00000000,0x80000040,0x80000002,0x00000000,0x80000000,0x80000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000004,0x00000080,0x00000004,0x00000009,0x00000105,0x00000089,0x00000016,0x0000020b,0x0000011b,0x0000012d,0x0000041e,0x00000224,0x00000050,0x0000092e } }
+, {2,52,0,65,0,27, { 0x0c000002,0xc0000010,0xb400001c,0x3c000004,0xbc00001a,0x20000010,0x2400001c,0xec000014,0x0c000002,0xc0000010,0xb400001c,0x2c000004,0xbc000018,0xb0000010,0x0000000c,0xb8000010,0x08000018,0x78000010,0x08000014,0x70000010,0xb800001c,0xe8000000,0xb0000004,0x58000010,0xb000000c,0x48000000,0xb0000000,0xb8000010,0x98000010,0xa0000000,0x00000000,0x00000000,0x20000000,0x80000000,0x00000010,0x00000000,0x20000010,0x20000000,0x00000010,0x60000000,0x00000018,0xe0000000,0x90000000,0x30000010,0xb0000000,0x20000000,0x20000000,0xa0000000,0x00000010,0x80000000,0x20000000,0x20000000,0x20000000,0x80000000,0x00000010,0x00000000,0x20000010,0xa0000000,0x00000000,0x20000000,0x20000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000001,0x00000020,0x00000001,0x40000002,0x40000041,0x40000022,0x80000005,0xc0000082,0xc0000046,0x4000004b,0x80000107,0x00000089,0x00000014 } }
+, {2,53,0,65,0,28, { 0xcc000014,0x0c000002,0xc0000010,0xb400001c,0x3c000004,0xbc00001a,0x20000010,0x2400001c,0xec000014,0x0c000002,0xc0000010,0xb400001c,0x2c000004,0xbc000018,0xb0000010,0x0000000c,0xb8000010,0x08000018,0x78000010,0x08000014,0x70000010,0xb800001c,0xe8000000,0xb0000004,0x58000010,0xb000000c,0x48000000,0xb0000000,0xb8000010,0x98000010,0xa0000000,0x00000000,0x00000000,0x20000000,0x80000000,0x00000010,0x00000000,0x20000010,0x20000000,0x00000010,0x60000000,0x00000018,0xe0000000,0x90000000,0x30000010,0xb0000000,0x20000000,0x20000000,0xa0000000,0x00000010,0x80000000,0x20000000,0x20000000,0x20000000,0x80000000,0x00000010,0x00000000,0x20000010,0xa0000000,0x00000000,0x20000000,0x20000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000001,0x00000020,0x00000001,0x40000002,0x40000041,0x40000022,0x80000005,0xc0000082,0xc0000046,0x4000004b,0x80000107,0x00000089 } }
+, {2,54,0,65,0,29, { 0x0400001c,0xcc000014,0x0c000002,0xc0000010,0xb400001c,0x3c000004,0xbc00001a,0x20000010,0x2400001c,0xec000014,0x0c000002,0xc0000010,0xb400001c,0x2c000004,0xbc000018,0xb0000010,0x0000000c,0xb8000010,0x08000018,0x78000010,0x08000014,0x70000010,0xb800001c,0xe8000000,0xb0000004,0x58000010,0xb000000c,0x48000000,0xb0000000,0xb8000010,0x98000010,0xa0000000,0x00000000,0x00000000,0x20000000,0x80000000,0x00000010,0x00000000,0x20000010,0x20000000,0x00000010,0x60000000,0x00000018,0xe0000000,0x90000000,0x30000010,0xb0000000,0x20000000,0x20000000,0xa0000000,0x00000010,0x80000000,0x20000000,0x20000000,0x20000000,0x80000000,0x00000010,0x00000000,0x20000010,0xa0000000,0x00000000,0x20000000,0x20000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000001,0x00000020,0x00000001,0x40000002,0x40000041,0x40000022,0x80000005,0xc0000082,0xc0000046,0x4000004b,0x80000107 } }
+, {2,55,0,65,0,30, { 0x00000010,0x0400001c,0xcc000014,0x0c000002,0xc0000010,0xb400001c,0x3c000004,0xbc00001a,0x20000010,0x2400001c,0xec000014,0x0c000002,0xc0000010,0xb400001c,0x2c000004,0xbc000018,0xb0000010,0x0000000c,0xb8000010,0x08000018,0x78000010,0x08000014,0x70000010,0xb800001c,0xe8000000,0xb0000004,0x58000010,0xb000000c,0x48000000,0xb0000000,0xb8000010,0x98000010,0xa0000000,0x00000000,0x00000000,0x20000000,0x80000000,0x00000010,0x00000000,0x20000010,0x20000000,0x00000010,0x60000000,0x00000018,0xe0000000,0x90000000,0x30000010,0xb0000000,0x20000000,0x20000000,0xa0000000,0x00000010,0x80000000,0x20000000,0x20000000,0x20000000,0x80000000,0x00000010,0x00000000,0x20000010,0xa0000000,0x00000000,0x20000000,0x20000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000001,0x00000020,0x00000001,0x40000002,0x40000041,0x40000022,0x80000005,0xc0000082,0xc0000046,0x4000004b } }
+, {2,56,0,65,0,31, { 0x2600001a,0x00000010,0x0400001c,0xcc000014,0x0c000002,0xc0000010,0xb400001c,0x3c000004,0xbc00001a,0x20000010,0x2400001c,0xec000014,0x0c000002,0xc0000010,0xb400001c,0x2c000004,0xbc000018,0xb0000010,0x0000000c,0xb8000010,0x08000018,0x78000010,0x08000014,0x70000010,0xb800001c,0xe8000000,0xb0000004,0x58000010,0xb000000c,0x48000000,0xb0000000,0xb8000010,0x98000010,0xa0000000,0x00000000,0x00000000,0x20000000,0x80000000,0x00000010,0x00000000,0x20000010,0x20000000,0x00000010,0x60000000,0x00000018,0xe0000000,0x90000000,0x30000010,0xb0000000,0x20000000,0x20000000,0xa0000000,0x00000010,0x80000000,0x20000000,0x20000000,0x20000000,0x80000000,0x00000010,0x00000000,0x20000010,0xa0000000,0x00000000,0x20000000,0x20000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000001,0x00000020,0x00000001,0x40000002,0x40000041,0x40000022,0x80000005,0xc0000082,0xc0000046 } }
+, {0,0,0,0,0,0, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}}
+};
+void ubc_check(const uint32_t W[80], uint32_t dvmask[1])
+{
+	uint32_t mask = ~((uint32_t)(0));
+	mask &= (((((W[44]^W[45])>>29)&1)-1) | ~(DV_I_48_0_bit|DV_I_51_0_bit|DV_I_52_0_bit|DV_II_45_0_bit|DV_II_46_0_bit|DV_II_50_0_bit|DV_II_51_0_bit));
+	mask &= (((((W[49]^W[50])>>29)&1)-1) | ~(DV_I_46_0_bit|DV_II_45_0_bit|DV_II_50_0_bit|DV_II_51_0_bit|DV_II_55_0_bit|DV_II_56_0_bit));
+	mask &= (((((W[48]^W[49])>>29)&1)-1) | ~(DV_I_45_0_bit|DV_I_52_0_bit|DV_II_49_0_bit|DV_II_50_0_bit|DV_II_54_0_bit|DV_II_55_0_bit));
+	mask &= ((((W[47]^(W[50]>>25))&(1<<4))-(1<<4)) | ~(DV_I_47_0_bit|DV_I_49_0_bit|DV_I_51_0_bit|DV_II_45_0_bit|DV_II_51_0_bit|DV_II_56_0_bit));
+	mask &= (((((W[47]^W[48])>>29)&1)-1) | ~(DV_I_44_0_bit|DV_I_51_0_bit|DV_II_48_0_bit|DV_II_49_0_bit|DV_II_53_0_bit|DV_II_54_0_bit));
+	mask &= (((((W[46]>>4)^(W[49]>>29))&1)-1) | ~(DV_I_46_0_bit|DV_I_48_0_bit|DV_I_50_0_bit|DV_I_52_0_bit|DV_II_50_0_bit|DV_II_55_0_bit));
+	mask &= (((((W[46]^W[47])>>29)&1)-1) | ~(DV_I_43_0_bit|DV_I_50_0_bit|DV_II_47_0_bit|DV_II_48_0_bit|DV_II_52_0_bit|DV_II_53_0_bit));
+	mask &= (((((W[45]>>4)^(W[48]>>29))&1)-1) | ~(DV_I_45_0_bit|DV_I_47_0_bit|DV_I_49_0_bit|DV_I_51_0_bit|DV_II_49_0_bit|DV_II_54_0_bit));
+	mask &= (((((W[45]^W[46])>>29)&1)-1) | ~(DV_I_49_0_bit|DV_I_52_0_bit|DV_II_46_0_bit|DV_II_47_0_bit|DV_II_51_0_bit|DV_II_52_0_bit));
+	mask &= (((((W[44]>>4)^(W[47]>>29))&1)-1) | ~(DV_I_44_0_bit|DV_I_46_0_bit|DV_I_48_0_bit|DV_I_50_0_bit|DV_II_48_0_bit|DV_II_53_0_bit));
+	mask &= (((((W[43]>>4)^(W[46]>>29))&1)-1) | ~(DV_I_43_0_bit|DV_I_45_0_bit|DV_I_47_0_bit|DV_I_49_0_bit|DV_II_47_0_bit|DV_II_52_0_bit));
+	mask &= (((((W[43]^W[44])>>29)&1)-1) | ~(DV_I_47_0_bit|DV_I_50_0_bit|DV_I_51_0_bit|DV_II_45_0_bit|DV_II_49_0_bit|DV_II_50_0_bit));
+	mask &= (((((W[42]>>4)^(W[45]>>29))&1)-1) | ~(DV_I_44_0_bit|DV_I_46_0_bit|DV_I_48_0_bit|DV_I_52_0_bit|DV_II_46_0_bit|DV_II_51_0_bit));
+	mask &= (((((W[41]>>4)^(W[44]>>29))&1)-1) | ~(DV_I_43_0_bit|DV_I_45_0_bit|DV_I_47_0_bit|DV_I_51_0_bit|DV_II_45_0_bit|DV_II_50_0_bit));
+	mask &= (((((W[40]^W[41])>>29)&1)-1) | ~(DV_I_44_0_bit|DV_I_47_0_bit|DV_I_48_0_bit|DV_II_46_0_bit|DV_II_47_0_bit|DV_II_56_0_bit));
+	mask &= (((((W[54]^W[55])>>29)&1)-1) | ~(DV_I_51_0_bit|DV_II_47_0_bit|DV_II_50_0_bit|DV_II_55_0_bit|DV_II_56_0_bit));
+	mask &= (((((W[53]^W[54])>>29)&1)-1) | ~(DV_I_50_0_bit|DV_II_46_0_bit|DV_II_49_0_bit|DV_II_54_0_bit|DV_II_55_0_bit));
+	mask &= (((((W[52]^W[53])>>29)&1)-1) | ~(DV_I_49_0_bit|DV_II_45_0_bit|DV_II_48_0_bit|DV_II_53_0_bit|DV_II_54_0_bit));
+	mask &= ((((W[50]^(W[53]>>25))&(1<<4))-(1<<4)) | ~(DV_I_50_0_bit|DV_I_52_0_bit|DV_II_46_0_bit|DV_II_48_0_bit|DV_II_54_0_bit));
+	mask &= (((((W[50]^W[51])>>29)&1)-1) | ~(DV_I_47_0_bit|DV_II_46_0_bit|DV_II_51_0_bit|DV_II_52_0_bit|DV_II_56_0_bit));
+	mask &= ((((W[49]^(W[52]>>25))&(1<<4))-(1<<4)) | ~(DV_I_49_0_bit|DV_I_51_0_bit|DV_II_45_0_bit|DV_II_47_0_bit|DV_II_53_0_bit));
+	mask &= ((((W[48]^(W[51]>>25))&(1<<4))-(1<<4)) | ~(DV_I_48_0_bit|DV_I_50_0_bit|DV_I_52_0_bit|DV_II_46_0_bit|DV_II_52_0_bit));
+	mask &= (((((W[42]^W[43])>>29)&1)-1) | ~(DV_I_46_0_bit|DV_I_49_0_bit|DV_I_50_0_bit|DV_II_48_0_bit|DV_II_49_0_bit));
+	mask &= (((((W[41]^W[42])>>29)&1)-1) | ~(DV_I_45_0_bit|DV_I_48_0_bit|DV_I_49_0_bit|DV_II_47_0_bit|DV_II_48_0_bit));
+	mask &= (((((W[40]>>4)^(W[43]>>29))&1)-1) | ~(DV_I_44_0_bit|DV_I_46_0_bit|DV_I_50_0_bit|DV_II_49_0_bit|DV_II_56_0_bit));
+	mask &= (((((W[39]>>4)^(W[42]>>29))&1)-1) | ~(DV_I_43_0_bit|DV_I_45_0_bit|DV_I_49_0_bit|DV_II_48_0_bit|DV_II_55_0_bit));
+	if (mask & (DV_I_44_0_bit|DV_I_48_0_bit|DV_II_47_0_bit|DV_II_54_0_bit|DV_II_56_0_bit))
+		mask &= (((((W[38]>>4)^(W[41]>>29))&1)-1) | ~(DV_I_44_0_bit|DV_I_48_0_bit|DV_II_47_0_bit|DV_II_54_0_bit|DV_II_56_0_bit));
+	mask &= (((((W[37]>>4)^(W[40]>>29))&1)-1) | ~(DV_I_43_0_bit|DV_I_47_0_bit|DV_II_46_0_bit|DV_II_53_0_bit|DV_II_55_0_bit));
+	if (mask & (DV_I_52_0_bit|DV_II_48_0_bit|DV_II_51_0_bit|DV_II_56_0_bit))
+		mask &= (((((W[55]^W[56])>>29)&1)-1) | ~(DV_I_52_0_bit|DV_II_48_0_bit|DV_II_51_0_bit|DV_II_56_0_bit));
+	if (mask & (DV_I_52_0_bit|DV_II_48_0_bit|DV_II_50_0_bit|DV_II_56_0_bit))
+		mask &= ((((W[52]^(W[55]>>25))&(1<<4))-(1<<4)) | ~(DV_I_52_0_bit|DV_II_48_0_bit|DV_II_50_0_bit|DV_II_56_0_bit));
+	if (mask & (DV_I_51_0_bit|DV_II_47_0_bit|DV_II_49_0_bit|DV_II_55_0_bit))
+		mask &= ((((W[51]^(W[54]>>25))&(1<<4))-(1<<4)) | ~(DV_I_51_0_bit|DV_II_47_0_bit|DV_II_49_0_bit|DV_II_55_0_bit));
+	if (mask & (DV_I_48_0_bit|DV_II_47_0_bit|DV_II_52_0_bit|DV_II_53_0_bit))
+		mask &= (((((W[51]^W[52])>>29)&1)-1) | ~(DV_I_48_0_bit|DV_II_47_0_bit|DV_II_52_0_bit|DV_II_53_0_bit));
+	if (mask & (DV_I_46_0_bit|DV_I_49_0_bit|DV_II_45_0_bit|DV_II_48_0_bit))
+		mask &= (((((W[36]>>4)^(W[40]>>29))&1)-1) | ~(DV_I_46_0_bit|DV_I_49_0_bit|DV_II_45_0_bit|DV_II_48_0_bit));
+	if (mask & (DV_I_52_0_bit|DV_II_48_0_bit|DV_II_49_0_bit))
+		mask &= ((0-(((W[53]^W[56])>>29)&1)) | ~(DV_I_52_0_bit|DV_II_48_0_bit|DV_II_49_0_bit));
+	if (mask & (DV_I_50_0_bit|DV_II_46_0_bit|DV_II_47_0_bit))
+		mask &= ((0-(((W[51]^W[54])>>29)&1)) | ~(DV_I_50_0_bit|DV_II_46_0_bit|DV_II_47_0_bit));
+	if (mask & (DV_I_49_0_bit|DV_I_51_0_bit|DV_II_45_0_bit))
+		mask &= ((0-(((W[50]^W[52])>>29)&1)) | ~(DV_I_49_0_bit|DV_I_51_0_bit|DV_II_45_0_bit));
+	if (mask & (DV_I_48_0_bit|DV_I_50_0_bit|DV_I_52_0_bit))
+		mask &= ((0-(((W[49]^W[51])>>29)&1)) | ~(DV_I_48_0_bit|DV_I_50_0_bit|DV_I_52_0_bit));
+	if (mask & (DV_I_47_0_bit|DV_I_49_0_bit|DV_I_51_0_bit))
+		mask &= ((0-(((W[48]^W[50])>>29)&1)) | ~(DV_I_47_0_bit|DV_I_49_0_bit|DV_I_51_0_bit));
+	if (mask & (DV_I_46_0_bit|DV_I_48_0_bit|DV_I_50_0_bit))
+		mask &= ((0-(((W[47]^W[49])>>29)&1)) | ~(DV_I_46_0_bit|DV_I_48_0_bit|DV_I_50_0_bit));
+	if (mask & (DV_I_45_0_bit|DV_I_47_0_bit|DV_I_49_0_bit))
+		mask &= ((0-(((W[46]^W[48])>>29)&1)) | ~(DV_I_45_0_bit|DV_I_47_0_bit|DV_I_49_0_bit));
+	mask &= ((((W[45]^W[47])&(1<<6))-(1<<6)) | ~(DV_I_47_2_bit|DV_I_49_2_bit|DV_I_51_2_bit));
+	if (mask & (DV_I_44_0_bit|DV_I_46_0_bit|DV_I_48_0_bit))
+		mask &= ((0-(((W[45]^W[47])>>29)&1)) | ~(DV_I_44_0_bit|DV_I_46_0_bit|DV_I_48_0_bit));
+	mask &= (((((W[44]^W[46])>>6)&1)-1) | ~(DV_I_46_2_bit|DV_I_48_2_bit|DV_I_50_2_bit));
+	if (mask & (DV_I_43_0_bit|DV_I_45_0_bit|DV_I_47_0_bit))
+		mask &= ((0-(((W[44]^W[46])>>29)&1)) | ~(DV_I_43_0_bit|DV_I_45_0_bit|DV_I_47_0_bit));
+	mask &= ((0-((W[41]^(W[42]>>5))&(1<<1))) | ~(DV_I_48_2_bit|DV_II_46_2_bit|DV_II_51_2_bit));
+	mask &= ((0-((W[40]^(W[41]>>5))&(1<<1))) | ~(DV_I_47_2_bit|DV_I_51_2_bit|DV_II_50_2_bit));
+	if (mask & (DV_I_44_0_bit|DV_I_46_0_bit|DV_II_56_0_bit))
+		mask &= ((0-(((W[40]^W[42])>>4)&1)) | ~(DV_I_44_0_bit|DV_I_46_0_bit|DV_II_56_0_bit));
+	mask &= ((0-((W[39]^(W[40]>>5))&(1<<1))) | ~(DV_I_46_2_bit|DV_I_50_2_bit|DV_II_49_2_bit));
+	if (mask & (DV_I_43_0_bit|DV_I_45_0_bit|DV_II_55_0_bit))
+		mask &= ((0-(((W[39]^W[41])>>4)&1)) | ~(DV_I_43_0_bit|DV_I_45_0_bit|DV_II_55_0_bit));
+	if (mask & (DV_I_44_0_bit|DV_II_54_0_bit|DV_II_56_0_bit))
+		mask &= ((0-(((W[38]^W[40])>>4)&1)) | ~(DV_I_44_0_bit|DV_II_54_0_bit|DV_II_56_0_bit));
+	if (mask & (DV_I_43_0_bit|DV_II_53_0_bit|DV_II_55_0_bit))
+		mask &= ((0-(((W[37]^W[39])>>4)&1)) | ~(DV_I_43_0_bit|DV_II_53_0_bit|DV_II_55_0_bit));
+	mask &= ((0-((W[36]^(W[37]>>5))&(1<<1))) | ~(DV_I_47_2_bit|DV_I_50_2_bit|DV_II_46_2_bit));
+	if (mask & (DV_I_45_0_bit|DV_I_48_0_bit|DV_II_47_0_bit))
+		mask &= (((((W[35]>>4)^(W[39]>>29))&1)-1) | ~(DV_I_45_0_bit|DV_I_48_0_bit|DV_II_47_0_bit));
+	if (mask & (DV_I_48_0_bit|DV_II_48_0_bit))
+		mask &= ((0-((W[63]^(W[64]>>5))&(1<<0))) | ~(DV_I_48_0_bit|DV_II_48_0_bit));
+	if (mask & (DV_I_45_0_bit|DV_II_45_0_bit))
+		mask &= ((0-((W[63]^(W[64]>>5))&(1<<1))) | ~(DV_I_45_0_bit|DV_II_45_0_bit));
+	if (mask & (DV_I_47_0_bit|DV_II_47_0_bit))
+		mask &= ((0-((W[62]^(W[63]>>5))&(1<<0))) | ~(DV_I_47_0_bit|DV_II_47_0_bit));
+	if (mask & (DV_I_46_0_bit|DV_II_46_0_bit))
+		mask &= ((0-((W[61]^(W[62]>>5))&(1<<0))) | ~(DV_I_46_0_bit|DV_II_46_0_bit));
+	mask &= ((0-((W[61]^(W[62]>>5))&(1<<2))) | ~(DV_I_46_2_bit|DV_II_46_2_bit));
+	if (mask & (DV_I_45_0_bit|DV_II_45_0_bit))
+		mask &= ((0-((W[60]^(W[61]>>5))&(1<<0))) | ~(DV_I_45_0_bit|DV_II_45_0_bit));
+	if (mask & (DV_II_51_0_bit|DV_II_54_0_bit))
+		mask &= (((((W[58]^W[59])>>29)&1)-1) | ~(DV_II_51_0_bit|DV_II_54_0_bit));
+	if (mask & (DV_II_50_0_bit|DV_II_53_0_bit))
+		mask &= (((((W[57]^W[58])>>29)&1)-1) | ~(DV_II_50_0_bit|DV_II_53_0_bit));
+	if (mask & (DV_II_52_0_bit|DV_II_54_0_bit))
+		mask &= ((((W[56]^(W[59]>>25))&(1<<4))-(1<<4)) | ~(DV_II_52_0_bit|DV_II_54_0_bit));
+	if (mask & (DV_II_51_0_bit|DV_II_52_0_bit))
+		mask &= ((0-(((W[56]^W[59])>>29)&1)) | ~(DV_II_51_0_bit|DV_II_52_0_bit));
+	if (mask & (DV_II_49_0_bit|DV_II_52_0_bit))
+		mask &= (((((W[56]^W[57])>>29)&1)-1) | ~(DV_II_49_0_bit|DV_II_52_0_bit));
+	if (mask & (DV_II_51_0_bit|DV_II_53_0_bit))
+		mask &= ((((W[55]^(W[58]>>25))&(1<<4))-(1<<4)) | ~(DV_II_51_0_bit|DV_II_53_0_bit));
+	if (mask & (DV_II_50_0_bit|DV_II_52_0_bit))
+		mask &= ((((W[54]^(W[57]>>25))&(1<<4))-(1<<4)) | ~(DV_II_50_0_bit|DV_II_52_0_bit));
+	if (mask & (DV_II_49_0_bit|DV_II_51_0_bit))
+		mask &= ((((W[53]^(W[56]>>25))&(1<<4))-(1<<4)) | ~(DV_II_49_0_bit|DV_II_51_0_bit));
+	mask &= ((((W[51]^(W[50]>>5))&(1<<1))-(1<<1)) | ~(DV_I_50_2_bit|DV_II_46_2_bit));
+	mask &= ((((W[48]^W[50])&(1<<6))-(1<<6)) | ~(DV_I_50_2_bit|DV_II_46_2_bit));
+	if (mask & (DV_I_51_0_bit|DV_I_52_0_bit))
+		mask &= ((0-(((W[48]^W[55])>>29)&1)) | ~(DV_I_51_0_bit|DV_I_52_0_bit));
+	mask &= ((((W[47]^W[49])&(1<<6))-(1<<6)) | ~(DV_I_49_2_bit|DV_I_51_2_bit));
+	mask &= ((((W[48]^(W[47]>>5))&(1<<1))-(1<<1)) | ~(DV_I_47_2_bit|DV_II_51_2_bit));
+	mask &= ((((W[46]^W[48])&(1<<6))-(1<<6)) | ~(DV_I_48_2_bit|DV_I_50_2_bit));
+	mask &= ((((W[47]^(W[46]>>5))&(1<<1))-(1<<1)) | ~(DV_I_46_2_bit|DV_II_50_2_bit));
+	mask &= ((0-((W[44]^(W[45]>>5))&(1<<1))) | ~(DV_I_51_2_bit|DV_II_49_2_bit));
+	mask &= ((((W[43]^W[45])&(1<<6))-(1<<6)) | ~(DV_I_47_2_bit|DV_I_49_2_bit));
+	mask &= (((((W[42]^W[44])>>6)&1)-1) | ~(DV_I_46_2_bit|DV_I_48_2_bit));
+	mask &= ((((W[43]^(W[42]>>5))&(1<<1))-(1<<1)) | ~(DV_II_46_2_bit|DV_II_51_2_bit));
+	mask &= ((((W[42]^(W[41]>>5))&(1<<1))-(1<<1)) | ~(DV_I_51_2_bit|DV_II_50_2_bit));
+	mask &= ((((W[41]^(W[40]>>5))&(1<<1))-(1<<1)) | ~(DV_I_50_2_bit|DV_II_49_2_bit));
+	if (mask & (DV_I_52_0_bit|DV_II_51_0_bit))
+		mask &= ((((W[39]^(W[43]>>25))&(1<<4))-(1<<4)) | ~(DV_I_52_0_bit|DV_II_51_0_bit));
+	if (mask & (DV_I_51_0_bit|DV_II_50_0_bit))
+		mask &= ((((W[38]^(W[42]>>25))&(1<<4))-(1<<4)) | ~(DV_I_51_0_bit|DV_II_50_0_bit));
+	if (mask & (DV_I_48_2_bit|DV_I_51_2_bit))
+		mask &= ((0-((W[37]^(W[38]>>5))&(1<<1))) | ~(DV_I_48_2_bit|DV_I_51_2_bit));
+	if (mask & (DV_I_50_0_bit|DV_II_49_0_bit))
+		mask &= ((((W[37]^(W[41]>>25))&(1<<4))-(1<<4)) | ~(DV_I_50_0_bit|DV_II_49_0_bit));
+	if (mask & (DV_II_52_0_bit|DV_II_54_0_bit))
+		mask &= ((0-((W[36]^W[38])&(1<<4))) | ~(DV_II_52_0_bit|DV_II_54_0_bit));
+	mask &= ((0-((W[35]^(W[36]>>5))&(1<<1))) | ~(DV_I_46_2_bit|DV_I_49_2_bit));
+	if (mask & (DV_I_51_0_bit|DV_II_47_0_bit))
+		mask &= ((((W[35]^(W[39]>>25))&(1<<3))-(1<<3)) | ~(DV_I_51_0_bit|DV_II_47_0_bit));
+if (mask) {
+
+	if (mask & DV_I_43_0_bit)
+		 if (
+			    !((W[61]^(W[62]>>5)) & (1<<1))
+			 || !(!((W[59]^(W[63]>>25)) & (1<<5)))
+			 || !((W[58]^(W[63]>>30)) & (1<<0))
+		 )  mask &= ~DV_I_43_0_bit;
+	if (mask & DV_I_44_0_bit)
+		 if (
+			    !((W[62]^(W[63]>>5)) & (1<<1))
+			 || !(!((W[60]^(W[64]>>25)) & (1<<5)))
+			 || !((W[59]^(W[64]>>30)) & (1<<0))
+		 )  mask &= ~DV_I_44_0_bit;
+	if (mask & DV_I_46_2_bit)
+		mask &= ((~((W[40]^W[42])>>2)) | ~DV_I_46_2_bit);
+	if (mask & DV_I_47_2_bit)
+		 if (
+			    !((W[62]^(W[63]>>5)) & (1<<2))
+			 || !(!((W[41]^W[43]) & (1<<6)))
+		 )  mask &= ~DV_I_47_2_bit;
+	if (mask & DV_I_48_2_bit)
+		 if (
+			    !((W[63]^(W[64]>>5)) & (1<<2))
+			 || !(!((W[48]^(W[49]<<5)) & (1<<6)))
+		 )  mask &= ~DV_I_48_2_bit;
+	if (mask & DV_I_49_2_bit)
+		 if (
+			    !(!((W[49]^(W[50]<<5)) & (1<<6)))
+			 || !((W[42]^W[50]) & (1<<1))
+			 || !(!((W[39]^(W[40]<<5)) & (1<<6)))
+			 || !((W[38]^W[40]) & (1<<1))
+		 )  mask &= ~DV_I_49_2_bit;
+	if (mask & DV_I_50_0_bit)
+		mask &= ((((W[36]^W[37])<<7)) | ~DV_I_50_0_bit);
+	if (mask & DV_I_50_2_bit)
+		mask &= ((((W[43]^W[51])<<11)) | ~DV_I_50_2_bit);
+	if (mask & DV_I_51_0_bit)
+		mask &= ((((W[37]^W[38])<<9)) | ~DV_I_51_0_bit);
+	if (mask & DV_I_51_2_bit)
+		 if (
+			    !(!((W[51]^(W[52]<<5)) & (1<<6)))
+			 || !(!((W[49]^W[51]) & (1<<6)))
+			 || !(!((W[37]^(W[37]>>5)) & (1<<1)))
+			 || !(!((W[35]^(W[39]>>25)) & (1<<5)))
+		 )  mask &= ~DV_I_51_2_bit;
+	if (mask & DV_I_52_0_bit)
+		mask &= ((((W[38]^W[39])<<11)) | ~DV_I_52_0_bit);
+	if (mask & DV_II_46_2_bit)
+		mask &= ((((W[47]^W[51])<<17)) | ~DV_II_46_2_bit);
+	if (mask & DV_II_48_0_bit)
+		 if (
+			    !(!((W[36]^(W[40]>>25)) & (1<<3)))
+			 || !((W[35]^(W[40]<<2)) & (1<<30))
+		 )  mask &= ~DV_II_48_0_bit;
+	if (mask & DV_II_49_0_bit)
+		 if (
+			    !(!((W[37]^(W[41]>>25)) & (1<<3)))
+			 || !((W[36]^(W[41]<<2)) & (1<<30))
+		 )  mask &= ~DV_II_49_0_bit;
+	if (mask & DV_II_49_2_bit)
+		 if (
+			    !(!((W[53]^(W[54]<<5)) & (1<<6)))
+			 || !(!((W[51]^W[53]) & (1<<6)))
+			 || !((W[50]^W[54]) & (1<<1))
+			 || !(!((W[45]^(W[46]<<5)) & (1<<6)))
+			 || !(!((W[37]^(W[41]>>25)) & (1<<5)))
+			 || !((W[36]^(W[41]>>30)) & (1<<0))
+		 )  mask &= ~DV_II_49_2_bit;
+	if (mask & DV_II_50_0_bit)
+		 if (
+			    !((W[55]^W[58]) & (1<<29))
+			 || !(!((W[38]^(W[42]>>25)) & (1<<3)))
+			 || !((W[37]^(W[42]<<2)) & (1<<30))
+		 )  mask &= ~DV_II_50_0_bit;
+	if (mask & DV_II_50_2_bit)
+		 if (
+			    !(!((W[54]^(W[55]<<5)) & (1<<6)))
+			 || !(!((W[52]^W[54]) & (1<<6)))
+			 || !((W[51]^W[55]) & (1<<1))
+			 || !((W[45]^W[47]) & (1<<1))
+			 || !(!((W[38]^(W[42]>>25)) & (1<<5)))
+			 || !((W[37]^(W[42]>>30)) & (1<<0))
+		 )  mask &= ~DV_II_50_2_bit;
+	if (mask & DV_II_51_0_bit)
+		 if (
+			    !(!((W[39]^(W[43]>>25)) & (1<<3)))
+			 || !((W[38]^(W[43]<<2)) & (1<<30))
+		 )  mask &= ~DV_II_51_0_bit;
+	if (mask & DV_II_51_2_bit)
+		 if (
+			    !(!((W[55]^(W[56]<<5)) & (1<<6)))
+			 || !(!((W[53]^W[55]) & (1<<6)))
+			 || !((W[52]^W[56]) & (1<<1))
+			 || !((W[46]^W[48]) & (1<<1))
+			 || !(!((W[39]^(W[43]>>25)) & (1<<5)))
+			 || !((W[38]^(W[43]>>30)) & (1<<0))
+		 )  mask &= ~DV_II_51_2_bit;
+	if (mask & DV_II_52_0_bit)
+		 if (
+			    !(!((W[59]^W[60]) & (1<<29)))
+			 || !(!((W[40]^(W[44]>>25)) & (1<<3)))
+			 || !(!((W[40]^(W[44]>>25)) & (1<<4)))
+			 || !((W[39]^(W[44]<<2)) & (1<<30))
+		 )  mask &= ~DV_II_52_0_bit;
+	if (mask & DV_II_53_0_bit)
+		 if (
+			    !((W[58]^W[61]) & (1<<29))
+			 || !(!((W[57]^(W[61]>>25)) & (1<<4)))
+			 || !(!((W[41]^(W[45]>>25)) & (1<<3)))
+			 || !(!((W[41]^(W[45]>>25)) & (1<<4)))
+		 )  mask &= ~DV_II_53_0_bit;
+	if (mask & DV_II_54_0_bit)
+		 if (
+			    !(!((W[58]^(W[62]>>25)) & (1<<4)))
+			 || !(!((W[42]^(W[46]>>25)) & (1<<3)))
+			 || !(!((W[42]^(W[46]>>25)) & (1<<4)))
+		 )  mask &= ~DV_II_54_0_bit;
+	if (mask & DV_II_55_0_bit)
+		 if (
+			    !(!((W[59]^(W[63]>>25)) & (1<<4)))
+			 || !(!((W[57]^(W[59]>>25)) & (1<<4)))
+			 || !(!((W[43]^(W[47]>>25)) & (1<<3)))
+			 || !(!((W[43]^(W[47]>>25)) & (1<<4)))
+		 )  mask &= ~DV_II_55_0_bit;
+	if (mask & DV_II_56_0_bit)
+		 if (
+			    !(!((W[60]^(W[64]>>25)) & (1<<4)))
+			 || !(!((W[44]^(W[48]>>25)) & (1<<3)))
+			 || !(!((W[44]^(W[48]>>25)) & (1<<4)))
+		 )  mask &= ~DV_II_56_0_bit;
+}
+
+	dvmask[0]=mask;
+}
diff --git a/sha1dc/ubc_check.h b/sha1dc/ubc_check.h
new file mode 100644
index 0000000..b64c306
--- /dev/null
+++ b/sha1dc/ubc_check.h
@@ -0,0 +1,44 @@
+/***
+* Copyright 2017 Marc Stevens <marc@marc-stevens.nl>, Dan Shumow <danshu@microsoft.com>
+* Distributed under the MIT Software License.
+* See accompanying file LICENSE.txt or copy at
+* https://opensource.org/licenses/MIT
+***/
+
+/*
+// this file was generated by the 'parse_bitrel' program in the tools section
+// using the data files from directory 'tools/data/3565'
+//
+// sha1_dvs contains a list of SHA-1 Disturbance Vectors (DV) to check
+// dvType, dvK and dvB define the DV: I(K,B) or II(K,B) (see the paper)
+// dm[80] is the expanded message block XOR-difference defined by the DV
+// testt is the step to do the recompression from for collision detection
+// maski and maskb define the bit to check for each DV in the dvmask returned by ubc_check
+//
+// ubc_check takes as input an expanded message block and verifies the unavoidable bitconditions for all listed DVs
+// it returns a dvmask where each bit belonging to a DV is set if all unavoidable bitconditions for that DV have been met
+// thus one needs to do the recompression check for each DV that has its bit set
+*/
+
+#ifndef UBC_CHECK_H
+#define UBC_CHECK_H
+
+#if defined(__cplusplus)
+extern "C" {
+#endif
+
+#define DVMASKSIZE 1
+typedef struct { int dvType; int dvK; int dvB; int testt; int maski; int maskb; uint32_t dm[80]; } dv_info_t;
+extern dv_info_t sha1_dvs[];
+void ubc_check(const uint32_t W[80], uint32_t dvmask[DVMASKSIZE]);
+
+#define DOSTORESTATE58
+#define DOSTORESTATE65
+
+#define CHECK_DVMASK(_DVMASK) (0 != _DVMASK[0])
+
+#if defined(__cplusplus)
+}
+#endif
+
+#endif /* UBC_CHECK_H */
diff --git a/shallow.c b/shallow.c
index 11f7dde..25b6db9 100644
--- a/shallow.c
+++ b/shallow.c
@@ -260,7 +260,7 @@
 }
 
 static int write_shallow_commits_1(struct strbuf *out, int use_pack_protocol,
-				   const struct sha1_array *extra,
+				   const struct oid_array *extra,
 				   unsigned flags)
 {
 	struct write_shallow_data data;
@@ -273,7 +273,7 @@
 	if (!extra)
 		return data.count;
 	for (i = 0; i < extra->nr; i++) {
-		strbuf_addstr(out, sha1_to_hex(extra->sha1[i]));
+		strbuf_addstr(out, oid_to_hex(extra->oid + i));
 		strbuf_addch(out, '\n');
 		data.count++;
 	}
@@ -281,14 +281,14 @@
 }
 
 int write_shallow_commits(struct strbuf *out, int use_pack_protocol,
-			  const struct sha1_array *extra)
+			  const struct oid_array *extra)
 {
 	return write_shallow_commits_1(out, use_pack_protocol, extra, 0);
 }
 
 static struct tempfile temporary_shallow;
 
-const char *setup_temporary_shallow(const struct sha1_array *extra)
+const char *setup_temporary_shallow(const struct oid_array *extra)
 {
 	struct strbuf sb = STRBUF_INIT;
 	int fd;
@@ -312,7 +312,7 @@
 
 void setup_alternate_shallow(struct lock_file *shallow_lock,
 			     const char **alternate_shallow_file,
-			     const struct sha1_array *extra)
+			     const struct oid_array *extra)
 {
 	struct strbuf sb = STRBUF_INIT;
 	int fd;
@@ -385,7 +385,7 @@
  * Step 1, split sender shallow commits into "ours" and "theirs"
  * Step 2, clean "ours" based on .git/shallow
  */
-void prepare_shallow_info(struct shallow_info *info, struct sha1_array *sa)
+void prepare_shallow_info(struct shallow_info *info, struct oid_array *sa)
 {
 	int i;
 	trace_printf_key(&trace_shallow, "shallow: prepare_shallow_info\n");
@@ -396,9 +396,9 @@
 	ALLOC_ARRAY(info->ours, sa->nr);
 	ALLOC_ARRAY(info->theirs, sa->nr);
 	for (i = 0; i < sa->nr; i++) {
-		if (has_sha1_file(sa->sha1[i])) {
+		if (has_object_file(sa->oid + i)) {
 			struct commit_graft *graft;
-			graft = lookup_commit_graft(sa->sha1[i]);
+			graft = lookup_commit_graft(sa->oid[i].hash);
 			if (graft && graft->nr_parent < 0)
 				continue;
 			info->ours[info->nr_ours++] = i;
@@ -417,13 +417,13 @@
 
 void remove_nonexistent_theirs_shallow(struct shallow_info *info)
 {
-	unsigned char (*sha1)[20] = info->shallow->sha1;
+	struct object_id *oid = info->shallow->oid;
 	int i, dst;
 	trace_printf_key(&trace_shallow, "shallow: remove_nonexistent_theirs_shallow\n");
 	for (i = dst = 0; i < info->nr_theirs; i++) {
 		if (i != dst)
 			info->theirs[dst] = info->theirs[i];
-		if (has_sha1_file(sha1[info->theirs[i]]))
+		if (has_object_file(oid + info->theirs[i]))
 			dst++;
 	}
 	info->nr_theirs = dst;
@@ -559,8 +559,8 @@
 void assign_shallow_commits_to_refs(struct shallow_info *info,
 				    uint32_t **used, int *ref_status)
 {
-	unsigned char (*sha1)[20] = info->shallow->sha1;
-	struct sha1_array *ref = info->ref;
+	struct object_id *oid = info->shallow->oid;
+	struct oid_array *ref = info->ref;
 	unsigned int i, nr;
 	int *shallow, nr_shallow = 0;
 	struct paint_info pi;
@@ -599,18 +599,18 @@
 
 	/* Mark potential bottoms so we won't go out of bound */
 	for (i = 0; i < nr_shallow; i++) {
-		struct commit *c = lookup_commit(sha1[shallow[i]]);
+		struct commit *c = lookup_commit(oid[shallow[i]].hash);
 		c->object.flags |= BOTTOM;
 	}
 
 	for (i = 0; i < ref->nr; i++)
-		paint_down(&pi, ref->sha1[i], i);
+		paint_down(&pi, ref->oid[i].hash, i);
 
 	if (used) {
 		int bitmap_size = ((pi.nr_bits + 31) / 32) * sizeof(uint32_t);
 		memset(used, 0, sizeof(*used) * info->shallow->nr);
 		for (i = 0; i < nr_shallow; i++) {
-			const struct commit *c = lookup_commit(sha1[shallow[i]]);
+			const struct commit *c = lookup_commit(oid[shallow[i]].hash);
 			uint32_t **map = ref_bitmap_at(&pi.ref_bitmap, c);
 			if (*map)
 				used[shallow[i]] = xmemdupz(*map, bitmap_size);
@@ -664,7 +664,7 @@
 				struct ref_bitmap *ref_bitmap,
 				int *ref_status)
 {
-	unsigned char (*sha1)[20] = info->shallow->sha1;
+	struct object_id *oid = info->shallow->oid;
 	struct commit *c;
 	uint32_t **bitmap;
 	int dst, i, j;
@@ -679,7 +679,7 @@
 	for (i = dst = 0; i < info->nr_theirs; i++) {
 		if (i != dst)
 			info->theirs[dst] = info->theirs[i];
-		c = lookup_commit(sha1[info->theirs[i]]);
+		c = lookup_commit(oid[info->theirs[i]].hash);
 		bitmap = ref_bitmap_at(ref_bitmap, c);
 		if (!*bitmap)
 			continue;
@@ -700,7 +700,7 @@
 	for (i = dst = 0; i < info->nr_ours; i++) {
 		if (i != dst)
 			info->ours[dst] = info->ours[i];
-		c = lookup_commit(sha1[info->ours[i]]);
+		c = lookup_commit(oid[info->ours[i]].hash);
 		bitmap = ref_bitmap_at(ref_bitmap, c);
 		if (!*bitmap)
 			continue;
@@ -722,7 +722,7 @@
 int delayed_reachability_test(struct shallow_info *si, int c)
 {
 	if (si->need_reachability_test[c]) {
-		struct commit *commit = lookup_commit(si->shallow->sha1[c]);
+		struct commit *commit = lookup_commit(si->shallow->oid[c].hash);
 
 		if (!si->commits) {
 			struct commit_array ca;
diff --git a/shortlog.h b/shortlog.h
index 5a326c6..5d64cfe 100644
--- a/shortlog.h
+++ b/shortlog.h
@@ -13,6 +13,7 @@
 	int in2;
 	int user_format;
 	int abbrev;
+	int committer;
 
 	char *common_repo_prefix;
 	int email;
diff --git a/split-index.c b/split-index.c
index 615f4ca..f519e60 100644
--- a/split-index.c
+++ b/split-index.c
@@ -317,3 +317,25 @@
 		istate->split_index->base->cache[new->index - 1] = new;
 	}
 }
+
+void add_split_index(struct index_state *istate)
+{
+	if (!istate->split_index) {
+		init_split_index(istate);
+		istate->cache_changed |= SPLIT_INDEX_ORDERED;
+	}
+}
+
+void remove_split_index(struct index_state *istate)
+{
+	if (istate->split_index) {
+		/*
+		 * can't discard_split_index(&the_index); because that
+		 * will destroy split_index->base->cache[], which may
+		 * be shared with the_index.cache[]. So yeah we're
+		 * leaking a bit here.
+		 */
+		istate->split_index = NULL;
+		istate->cache_changed |= SOMETHING_CHANGED;
+	}
+}
diff --git a/split-index.h b/split-index.h
index c1324f5..df91c1b 100644
--- a/split-index.h
+++ b/split-index.h
@@ -31,5 +31,7 @@
 void prepare_to_write_split_index(struct index_state *istate);
 void finish_writing_split_index(struct index_state *istate);
 void discard_split_index(struct index_state *istate);
+void add_split_index(struct index_state *istate);
+void remove_split_index(struct index_state *istate);
 
 #endif
diff --git a/strbuf.c b/strbuf.c
index 8fec657..0045794 100644
--- a/strbuf.c
+++ b/strbuf.c
@@ -449,6 +449,17 @@
 			strbuf_setlen(sb, strlen(sb->buf));
 			return 0;
 		}
+
+		/*
+		 * If getcwd(3) is implemented as a syscall that falls
+		 * back to a regular lookup using readdir(3) etc. then
+		 * we may be able to avoid EACCES by providing enough
+		 * space to the syscall as it's not necessarily bound
+		 * to the same restrictions as the fallback.
+		 */
+		if (errno == EACCES && guessed_len < PATH_MAX)
+			continue;
+
 		if (errno != ERANGE)
 			break;
 	}
@@ -707,6 +718,17 @@
 	strbuf_addstr(sb, path);
 }
 
+void strbuf_add_real_path(struct strbuf *sb, const char *path)
+{
+	if (sb->len) {
+		struct strbuf resolved = STRBUF_INIT;
+		strbuf_realpath(&resolved, path, 1);
+		strbuf_addbuf(sb, &resolved);
+		strbuf_release(&resolved);
+	} else
+		strbuf_realpath(sb, path, 1);
+}
+
 int printf_ln(const char *fmt, ...)
 {
 	int ret;
diff --git a/strbuf.h b/strbuf.h
index 2262b12..80047b1 100644
--- a/strbuf.h
+++ b/strbuf.h
@@ -109,9 +109,7 @@
  */
 static inline void strbuf_swap(struct strbuf *a, struct strbuf *b)
 {
-	struct strbuf tmp = *a;
-	*a = *b;
-	*b = tmp;
+	SWAP(*a, *b);
 }
 
 
@@ -443,6 +441,20 @@
  */
 extern void strbuf_add_absolute_path(struct strbuf *sb, const char *path);
 
+/**
+ * Canonize `path` (make it absolute, resolve symlinks, remove extra
+ * slashes) and append it to `sb`.  Die with an informative error
+ * message if there is a problem.
+ *
+ * The directory part of `path` (i.e., everything up to the last
+ * dir_sep) must denote a valid, existing directory, but the last
+ * component need not exist.
+ *
+ * Callers that don't mind links should use the more lightweight
+ * strbuf_add_absolute_path() instead.
+ */
+extern void strbuf_add_real_path(struct strbuf *sb, const char *path);
+
 
 /**
  * Normalize in-place the path contained in the strbuf. See
@@ -562,7 +574,26 @@
 	strbuf_complete(sb, '\n');
 }
 
-extern int strbuf_branchname(struct strbuf *sb, const char *name);
+/*
+ * Copy "name" to "sb", expanding any special @-marks as handled by
+ * interpret_branch_name(). The result is a non-qualified branch name
+ * (so "foo" or "origin/master" instead of "refs/heads/foo" or
+ * "refs/remotes/origin/master").
+ *
+ * Note that the resulting name may not be a syntactically valid refname.
+ *
+ * If "allowed" is non-zero, restrict the set of allowed expansions. See
+ * interpret_branch_name() for details.
+ */
+extern void strbuf_branchname(struct strbuf *sb, const char *name,
+			      unsigned allowed);
+
+/*
+ * Like strbuf_branchname() above, but confirm that the result is
+ * syntactically valid to be used as a local branch name in refs/heads/.
+ *
+ * The return value is "0" if the result is valid, and "-1" otherwise.
+ */
 extern int strbuf_check_branch_ref(struct strbuf *sb, const char *name);
 
 extern void strbuf_addstr_urlencode(struct strbuf *, const char *,
diff --git a/string-list.c b/string-list.c
index 8c83cac..45016ad 100644
--- a/string-list.c
+++ b/string-list.c
@@ -211,21 +211,18 @@
 			list->strdup_strings ? xstrdup(string) : (char *)string);
 }
 
-/* Yuck */
-static compare_strings_fn compare_for_qsort;
-
-/* Only call this from inside string_list_sort! */
-static int cmp_items(const void *a, const void *b)
+static int cmp_items(const void *a, const void *b, void *ctx)
 {
+	compare_strings_fn cmp = ctx;
 	const struct string_list_item *one = a;
 	const struct string_list_item *two = b;
-	return compare_for_qsort(one->string, two->string);
+	return cmp(one->string, two->string);
 }
 
 void string_list_sort(struct string_list *list)
 {
-	compare_for_qsort = list->cmp ? list->cmp : strcmp;
-	QSORT(list->items, list->nr, cmp_items);
+	QSORT_S(list->items, list->nr, cmp_items,
+		list->cmp ? list->cmp : strcmp);
 }
 
 struct string_list_item *unsorted_string_list_lookup(struct string_list *list,
diff --git a/submodule-config.c b/submodule-config.c
index 098085b..4f58491 100644
--- a/submodule-config.c
+++ b/submodule-config.c
@@ -234,6 +234,26 @@
 	return parse_fetch_recurse(opt, arg, 1);
 }
 
+static int parse_update_recurse(const char *opt, const char *arg,
+				int die_on_error)
+{
+	switch (git_config_maybe_bool(opt, arg)) {
+	case 1:
+		return RECURSE_SUBMODULES_ON;
+	case 0:
+		return RECURSE_SUBMODULES_OFF;
+	default:
+		if (die_on_error)
+			die("bad %s argument: %s", opt, arg);
+		return RECURSE_SUBMODULES_ERROR;
+	}
+}
+
+int parse_update_recurse_submodules_arg(const char *opt, const char *arg)
+{
+	return parse_update_recurse(opt, arg, 1);
+}
+
 static int parse_push_recurse(const char *opt, const char *arg,
 			       int die_on_error)
 {
@@ -251,6 +271,8 @@
 			return RECURSE_SUBMODULES_ON_DEMAND;
 		else if (!strcmp(arg, "check"))
 			return RECURSE_SUBMODULES_CHECK;
+		else if (!strcmp(arg, "only"))
+			return RECURSE_SUBMODULES_ONLY;
 		else if (die_on_error)
 			die("bad %s argument: %s", opt, arg);
 		else
@@ -263,12 +285,12 @@
 	return parse_push_recurse(opt, arg, 1);
 }
 
-static void warn_multiple_config(const unsigned char *commit_sha1,
+static void warn_multiple_config(const unsigned char *treeish_name,
 				 const char *name, const char *option)
 {
 	const char *commit_string = "WORKTREE";
-	if (commit_sha1)
-		commit_string = sha1_to_hex(commit_sha1);
+	if (treeish_name)
+		commit_string = sha1_to_hex(treeish_name);
 	warning("%s:.gitmodules, multiple configurations found for "
 			"'submodule.%s.%s'. Skipping second one!",
 			commit_string, name, option);
@@ -276,7 +298,7 @@
 
 struct parse_config_parameter {
 	struct submodule_cache *cache;
-	const unsigned char *commit_sha1;
+	const unsigned char *treeish_name;
 	const unsigned char *gitmodules_sha1;
 	int overwrite;
 };
@@ -300,7 +322,7 @@
 		if (!value)
 			ret = config_error_nonbool(var);
 		else if (!me->overwrite && submodule->path)
-			warn_multiple_config(me->commit_sha1, submodule->name,
+			warn_multiple_config(me->treeish_name, submodule->name,
 					"path");
 		else {
 			if (submodule->path)
@@ -314,7 +336,7 @@
 		int die_on_error = is_null_sha1(me->gitmodules_sha1);
 		if (!me->overwrite &&
 		    submodule->fetch_recurse != RECURSE_SUBMODULES_NONE)
-			warn_multiple_config(me->commit_sha1, submodule->name,
+			warn_multiple_config(me->treeish_name, submodule->name,
 					"fetchrecursesubmodules");
 		else
 			submodule->fetch_recurse = parse_fetch_recurse(
@@ -324,14 +346,14 @@
 		if (!value)
 			ret = config_error_nonbool(var);
 		else if (!me->overwrite && submodule->ignore)
-			warn_multiple_config(me->commit_sha1, submodule->name,
+			warn_multiple_config(me->treeish_name, submodule->name,
 					"ignore");
 		else if (strcmp(value, "untracked") &&
 			 strcmp(value, "dirty") &&
 			 strcmp(value, "all") &&
 			 strcmp(value, "none"))
 			warning("Invalid parameter '%s' for config option "
-					"'submodule.%s.ignore'", value, var);
+					"'submodule.%s.ignore'", value, name.buf);
 		else {
 			free((void *) submodule->ignore);
 			submodule->ignore = xstrdup(value);
@@ -340,7 +362,7 @@
 		if (!value) {
 			ret = config_error_nonbool(var);
 		} else if (!me->overwrite && submodule->url) {
-			warn_multiple_config(me->commit_sha1, submodule->name,
+			warn_multiple_config(me->treeish_name, submodule->name,
 					"url");
 		} else {
 			free((void *) submodule->url);
@@ -351,21 +373,21 @@
 			ret = config_error_nonbool(var);
 		else if (!me->overwrite &&
 			 submodule->update_strategy.type != SM_UPDATE_UNSPECIFIED)
-			warn_multiple_config(me->commit_sha1, submodule->name,
+			warn_multiple_config(me->treeish_name, submodule->name,
 					     "update");
 		else if (parse_submodule_update_strategy(value,
 			 &submodule->update_strategy) < 0)
 				die(_("invalid value for %s"), var);
 	} else if (!strcmp(item.buf, "shallow")) {
 		if (!me->overwrite && submodule->recommend_shallow != -1)
-			warn_multiple_config(me->commit_sha1, submodule->name,
+			warn_multiple_config(me->treeish_name, submodule->name,
 					     "shallow");
 		else
 			submodule->recommend_shallow =
 				git_config_bool(var, value);
 	} else if (!strcmp(item.buf, "branch")) {
 		if (!me->overwrite && submodule->branch)
-			warn_multiple_config(me->commit_sha1, submodule->name,
+			warn_multiple_config(me->treeish_name, submodule->name,
 					     "branch");
 		else {
 			free((void *)submodule->branch);
@@ -379,18 +401,18 @@
 	return ret;
 }
 
-static int gitmodule_sha1_from_commit(const unsigned char *commit_sha1,
+int gitmodule_sha1_from_commit(const unsigned char *treeish_name,
 				      unsigned char *gitmodules_sha1,
 				      struct strbuf *rev)
 {
 	int ret = 0;
 
-	if (is_null_sha1(commit_sha1)) {
+	if (is_null_sha1(treeish_name)) {
 		hashclr(gitmodules_sha1);
 		return 1;
 	}
 
-	strbuf_addf(rev, "%s:.gitmodules", sha1_to_hex(commit_sha1));
+	strbuf_addf(rev, "%s:.gitmodules", sha1_to_hex(treeish_name));
 	if (get_sha1(rev->buf, gitmodules_sha1) >= 0)
 		ret = 1;
 
@@ -402,7 +424,7 @@
  * revisions.
  */
 static const struct submodule *config_from(struct submodule_cache *cache,
-		const unsigned char *commit_sha1, const char *key,
+		const unsigned char *treeish_name, const char *key,
 		enum lookup_type lookup_type)
 {
 	struct strbuf rev = STRBUF_INIT;
@@ -418,7 +440,7 @@
 	 * return the first submodule. Can be used to check whether
 	 * there are any submodules parsed.
 	 */
-	if (!commit_sha1 || !key) {
+	if (!treeish_name || !key) {
 		struct hashmap_iter iter;
 		struct submodule_entry *entry;
 
@@ -428,7 +450,7 @@
 		return entry->config;
 	}
 
-	if (!gitmodule_sha1_from_commit(commit_sha1, sha1, &rev))
+	if (!gitmodule_sha1_from_commit(treeish_name, sha1, &rev))
 		goto out;
 
 	switch (lookup_type) {
@@ -448,7 +470,7 @@
 
 	/* fill the submodule config into the cache */
 	parameter.cache = cache;
-	parameter.commit_sha1 = commit_sha1;
+	parameter.treeish_name = treeish_name;
 	parameter.gitmodules_sha1 = sha1;
 	parameter.overwrite = 0;
 	git_config_from_mem(parse_config, CONFIG_ORIGIN_SUBMODULE_BLOB, rev.buf,
@@ -471,18 +493,6 @@
 	return submodule;
 }
 
-static const struct submodule *config_from_path(struct submodule_cache *cache,
-		const unsigned char *commit_sha1, const char *path)
-{
-	return config_from(cache, commit_sha1, path, lookup_path);
-}
-
-static const struct submodule *config_from_name(struct submodule_cache *cache,
-		const unsigned char *commit_sha1, const char *name)
-{
-	return config_from(cache, commit_sha1, name, lookup_name);
-}
-
 static void ensure_cache_init(void)
 {
 	if (is_cache_init)
@@ -496,7 +506,7 @@
 {
 	struct parse_config_parameter parameter;
 	parameter.cache = &the_submodule_cache;
-	parameter.commit_sha1 = NULL;
+	parameter.treeish_name = NULL;
 	parameter.gitmodules_sha1 = null_sha1;
 	parameter.overwrite = 1;
 
@@ -504,18 +514,18 @@
 	return parse_config(var, value, &parameter);
 }
 
-const struct submodule *submodule_from_name(const unsigned char *commit_sha1,
+const struct submodule *submodule_from_name(const unsigned char *treeish_name,
 		const char *name)
 {
 	ensure_cache_init();
-	return config_from_name(&the_submodule_cache, commit_sha1, name);
+	return config_from(&the_submodule_cache, treeish_name, name, lookup_name);
 }
 
-const struct submodule *submodule_from_path(const unsigned char *commit_sha1,
+const struct submodule *submodule_from_path(const unsigned char *treeish_name,
 		const char *path)
 {
 	ensure_cache_init();
-	return config_from_path(&the_submodule_cache, commit_sha1, path);
+	return config_from(&the_submodule_cache, treeish_name, path, lookup_path);
 }
 
 void submodule_free(void)
diff --git a/submodule-config.h b/submodule-config.h
index d05c542..d434ecd 100644
--- a/submodule-config.h
+++ b/submodule-config.h
@@ -22,13 +22,17 @@
 	int recommend_shallow;
 };
 
-int parse_fetch_recurse_submodules_arg(const char *opt, const char *arg);
-int parse_push_recurse_submodules_arg(const char *opt, const char *arg);
-int parse_submodule_config_option(const char *var, const char *value);
-const struct submodule *submodule_from_name(const unsigned char *commit_sha1,
-		const char *name);
-const struct submodule *submodule_from_path(const unsigned char *commit_sha1,
-		const char *path);
-void submodule_free(void);
+extern int parse_fetch_recurse_submodules_arg(const char *opt, const char *arg);
+extern int parse_update_recurse_submodules_arg(const char *opt, const char *arg);
+extern int parse_push_recurse_submodules_arg(const char *opt, const char *arg);
+extern int parse_submodule_config_option(const char *var, const char *value);
+extern const struct submodule *submodule_from_name(
+		const unsigned char *commit_or_tree, const char *name);
+extern const struct submodule *submodule_from_path(
+		const unsigned char *commit_or_tree, const char *path);
+extern int gitmodule_sha1_from_commit(const unsigned char *commit_sha1,
+				      unsigned char *gitmodules_sha1,
+				      struct strbuf *rev);
+extern void submodule_free(void);
 
 #endif /* SUBMODULE_CONFIG_H */
diff --git a/submodule.c b/submodule.c
index ece1731..5615d73 100644
--- a/submodule.c
+++ b/submodule.c
@@ -14,13 +14,16 @@
 #include "blob.h"
 #include "thread-utils.h"
 #include "quote.h"
+#include "remote.h"
+#include "worktree.h"
 
 static int config_fetch_recurse_submodules = RECURSE_SUBMODULES_ON_DEMAND;
+static int config_update_recurse_submodules = RECURSE_SUBMODULES_DEFAULT;
 static int parallel_jobs = 1;
 static struct string_list changed_submodule_paths = STRING_LIST_INIT_NODUP;
 static int initialized_fetch_ref_tips;
-static struct sha1_array ref_tips_before_fetch;
-static struct sha1_array ref_tips_after_fetch;
+static struct oid_array ref_tips_before_fetch;
+static struct oid_array ref_tips_after_fetch;
 
 /*
  * The following flag is set if the .gitmodules file is unmerged. We then
@@ -198,6 +201,87 @@
 	}
 }
 
+void gitmodules_config_sha1(const unsigned char *commit_sha1)
+{
+	struct strbuf rev = STRBUF_INIT;
+	unsigned char sha1[20];
+
+	if (gitmodule_sha1_from_commit(commit_sha1, sha1, &rev)) {
+		git_config_from_blob_sha1(submodule_config, rev.buf,
+					  sha1, NULL);
+	}
+	strbuf_release(&rev);
+}
+
+/*
+ * NEEDSWORK: With the addition of different configuration options to determine
+ * if a submodule is of interests, the validity of this function's name comes
+ * into question.  Once the dust has settled and more concrete terminology is
+ * decided upon, come up with a more proper name for this function.  One
+ * potential candidate could be 'is_submodule_active()'.
+ *
+ * Determine if a submodule has been initialized at a given 'path'
+ */
+int is_submodule_initialized(const char *path)
+{
+	int ret = 0;
+	char *key = NULL;
+	char *value = NULL;
+	const struct string_list *sl;
+	const struct submodule *module = submodule_from_path(null_sha1, path);
+
+	/* early return if there isn't a path->module mapping */
+	if (!module)
+		return 0;
+
+	/* submodule.<name>.active is set */
+	key = xstrfmt("submodule.%s.active", module->name);
+	if (!git_config_get_bool(key, &ret)) {
+		free(key);
+		return ret;
+	}
+	free(key);
+
+	/* submodule.active is set */
+	sl = git_config_get_value_multi("submodule.active");
+	if (sl) {
+		struct pathspec ps;
+		struct argv_array args = ARGV_ARRAY_INIT;
+		const struct string_list_item *item;
+
+		for_each_string_list_item(item, sl) {
+			argv_array_push(&args, item->string);
+		}
+
+		parse_pathspec(&ps, 0, 0, NULL, args.argv);
+		ret = match_pathspec(&ps, path, strlen(path), 0, NULL, 1);
+
+		argv_array_clear(&args);
+		clear_pathspec(&ps);
+		return ret;
+	}
+
+	/* fallback to checking if the URL is set */
+	key = xstrfmt("submodule.%s.url", module->name);
+	ret = !git_config_get_string(key, &value);
+
+	free(value);
+	free(key);
+	return ret;
+}
+
+int is_submodule_populated_gently(const char *path, int *return_error_code)
+{
+	int ret = 0;
+	char *gitdir = xstrfmt("%s/.git", path);
+
+	if (resolve_gitdir_gently(gitdir, return_error_code))
+		ret = 1;
+
+	free(gitdir);
+	return ret;
+}
+
 int parse_submodule_update_strategy(const char *value,
 		struct submodule_update_strategy *dst)
 {
@@ -307,6 +391,23 @@
 	strbuf_release(&sb);
 }
 
+static void prepare_submodule_repo_env_no_git_dir(struct argv_array *out)
+{
+	const char * const *var;
+
+	for (var = local_repo_env; *var; var++) {
+		if (strcmp(*var, CONFIG_DATA_ENVIRONMENT))
+			argv_array_push(out, *var);
+	}
+}
+
+void prepare_submodule_repo_env(struct argv_array *out)
+{
+	prepare_submodule_repo_env_no_git_dir(out);
+	argv_array_pushf(out, "%s=%s", GIT_DIR_ENVIRONMENT,
+			 DEFAULT_GIT_DIR_ENVIRONMENT);
+}
+
 /* Helper function to display the submodule header line prior to the full
  * summary output. If it can locate the submodule objects directory it will
  * attempt to lookup both the left and right commits and put them into the
@@ -476,6 +577,7 @@
 	if (!(dirty_submodule & DIRTY_SUBMODULE_MODIFIED))
 		argv_array_push(&cp.args, oid_to_hex(new));
 
+	prepare_submodule_repo_env(&cp.env_array);
 	if (run_command(&cp))
 		fprintf(f, "(diff failed)\n");
 
@@ -494,41 +596,62 @@
 	config_fetch_recurse_submodules = value;
 }
 
+void set_config_update_recurse_submodules(int value)
+{
+	config_update_recurse_submodules = value;
+}
+
+int should_update_submodules(void)
+{
+	return config_update_recurse_submodules == RECURSE_SUBMODULES_ON;
+}
+
+const struct submodule *submodule_from_ce(const struct cache_entry *ce)
+{
+	if (!S_ISGITLINK(ce->ce_mode))
+		return NULL;
+
+	if (!should_update_submodules())
+		return NULL;
+
+	return submodule_from_path(null_sha1, ce->name);
+}
+
 static int has_remote(const char *refname, const struct object_id *oid,
 		      int flags, void *cb_data)
 {
 	return 1;
 }
 
-static int append_sha1_to_argv(const unsigned char sha1[20], void *data)
+static int append_oid_to_argv(const struct object_id *oid, void *data)
 {
 	struct argv_array *argv = data;
-	argv_array_push(argv, sha1_to_hex(sha1));
+	argv_array_push(argv, oid_to_hex(oid));
 	return 0;
 }
 
-static int check_has_commit(const unsigned char sha1[20], void *data)
+static int check_has_commit(const struct object_id *oid, void *data)
 {
 	int *has_commit = data;
 
-	if (!lookup_commit_reference(sha1))
+	if (!lookup_commit_reference(oid->hash))
 		*has_commit = 0;
 
 	return 0;
 }
 
-static int submodule_has_commits(const char *path, struct sha1_array *commits)
+static int submodule_has_commits(const char *path, struct oid_array *commits)
 {
 	int has_commit = 1;
 
 	if (add_submodule_odb(path))
 		return 0;
 
-	sha1_array_for_each_unique(commits, check_has_commit, &has_commit);
+	oid_array_for_each_unique(commits, check_has_commit, &has_commit);
 	return has_commit;
 }
 
-static int submodule_needs_pushing(const char *path, struct sha1_array *commits)
+static int submodule_needs_pushing(const char *path, struct oid_array *commits)
 {
 	if (!submodule_has_commits(path, commits))
 		/*
@@ -550,7 +673,7 @@
 		int needs_pushing = 0;
 
 		argv_array_push(&cp.args, "rev-list");
-		sha1_array_for_each_unique(commits, append_sha1_to_argv, &cp.args);
+		oid_array_for_each_unique(commits, append_oid_to_argv, &cp.args);
 		argv_array_pushl(&cp.args, "--not", "--remotes", "-n", "1" , NULL);
 
 		prepare_submodule_repo_env(&cp.env_array);
@@ -572,18 +695,18 @@
 	return 0;
 }
 
-static struct sha1_array *submodule_commits(struct string_list *submodules,
+static struct oid_array *submodule_commits(struct string_list *submodules,
 					    const char *path)
 {
 	struct string_list_item *item;
 
 	item = string_list_insert(submodules, path);
 	if (item->util)
-		return (struct sha1_array *) item->util;
+		return (struct oid_array *) item->util;
 
-	/* NEEDSWORK: should we have sha1_array_init()? */
-	item->util = xcalloc(1, sizeof(struct sha1_array));
-	return (struct sha1_array *) item->util;
+	/* NEEDSWORK: should we have oid_array_init()? */
+	item->util = xcalloc(1, sizeof(struct oid_array));
+	return (struct oid_array *) item->util;
 }
 
 static void collect_submodules_from_diff(struct diff_queue_struct *q,
@@ -595,11 +718,11 @@
 
 	for (i = 0; i < q->nr; i++) {
 		struct diff_filepair *p = q->queue[i];
-		struct sha1_array *commits;
+		struct oid_array *commits;
 		if (!S_ISGITLINK(p->two->mode))
 			continue;
 		commits = submodule_commits(submodules, p->two->path);
-		sha1_array_append(commits, p->two->oid.hash);
+		oid_array_append(commits, &p->two->oid);
 	}
 }
 
@@ -619,11 +742,11 @@
 {
 	struct string_list_item *item;
 	for_each_string_list_item(item, submodules)
-		sha1_array_clear((struct sha1_array *) item->util);
+		oid_array_clear((struct oid_array *) item->util);
 	string_list_clear(submodules, 1);
 }
 
-int find_unpushed_submodules(struct sha1_array *commits,
+int find_unpushed_submodules(struct oid_array *commits,
 		const char *remotes_name, struct string_list *needs_pushing)
 {
 	struct rev_info rev;
@@ -636,7 +759,7 @@
 
 	/* argv.argv[0] will be ignored by setup_revisions */
 	argv_array_push(&argv, "find_unpushed_submodules");
-	sha1_array_for_each_unique(commits, append_sha1_to_argv, &argv);
+	oid_array_for_each_unique(commits, append_oid_to_argv, &argv);
 	argv_array_push(&argv, "--not");
 	argv_array_pushf(&argv, "--remotes=%s", remotes_name);
 
@@ -651,7 +774,7 @@
 	argv_array_clear(&argv);
 
 	for_each_string_list_item(submodule, &submodules) {
-		struct sha1_array *commits = (struct sha1_array *) submodule->util;
+		struct oid_array *commits = (struct oid_array *) submodule->util;
 
 		if (submodule_needs_pushing(submodule->string, commits))
 			string_list_insert(needs_pushing, submodule->string);
@@ -661,7 +784,11 @@
 	return needs_pushing->nr;
 }
 
-static int push_submodule(const char *path, int dry_run)
+static int push_submodule(const char *path,
+			  const struct remote *remote,
+			  const char **refspec, int refspec_nr,
+			  const struct string_list *push_options,
+			  int dry_run)
 {
 	if (add_submodule_odb(path))
 		return 1;
@@ -672,6 +799,20 @@
 		if (dry_run)
 			argv_array_push(&cp.args, "--dry-run");
 
+		if (push_options && push_options->nr) {
+			const struct string_list_item *item;
+			for_each_string_list_item(item, push_options)
+				argv_array_pushf(&cp.args, "--push-option=%s",
+						 item->string);
+		}
+
+		if (remote->origin != REMOTE_UNCONFIGURED) {
+			int i;
+			argv_array_push(&cp.args, remote->name);
+			for (i = 0; i < refspec_nr; i++)
+				argv_array_push(&cp.args, refspec[i]);
+		}
+
 		prepare_submodule_repo_env(&cp.env_array);
 		cp.git_cmd = 1;
 		cp.no_stdin = 1;
@@ -684,20 +825,67 @@
 	return 1;
 }
 
-int push_unpushed_submodules(struct sha1_array *commits,
-			     const char *remotes_name,
+/*
+ * Perform a check in the submodule to see if the remote and refspec work.
+ * Die if the submodule can't be pushed.
+ */
+static void submodule_push_check(const char *path, const struct remote *remote,
+				 const char **refspec, int refspec_nr)
+{
+	struct child_process cp = CHILD_PROCESS_INIT;
+	int i;
+
+	argv_array_push(&cp.args, "submodule--helper");
+	argv_array_push(&cp.args, "push-check");
+	argv_array_push(&cp.args, remote->name);
+
+	for (i = 0; i < refspec_nr; i++)
+		argv_array_push(&cp.args, refspec[i]);
+
+	prepare_submodule_repo_env(&cp.env_array);
+	cp.git_cmd = 1;
+	cp.no_stdin = 1;
+	cp.no_stdout = 1;
+	cp.dir = path;
+
+	/*
+	 * Simply indicate if 'submodule--helper push-check' failed.
+	 * More detailed error information will be provided by the
+	 * child process.
+	 */
+	if (run_command(&cp))
+		die("process for submodule '%s' failed", path);
+}
+
+int push_unpushed_submodules(struct oid_array *commits,
+			     const struct remote *remote,
+			     const char **refspec, int refspec_nr,
+			     const struct string_list *push_options,
 			     int dry_run)
 {
 	int i, ret = 1;
 	struct string_list needs_pushing = STRING_LIST_INIT_DUP;
 
-	if (!find_unpushed_submodules(commits, remotes_name, &needs_pushing))
+	if (!find_unpushed_submodules(commits, remote->name, &needs_pushing))
 		return 1;
 
+	/*
+	 * Verify that the remote and refspec can be propagated to all
+	 * submodules.  This check can be skipped if the remote and refspec
+	 * won't be propagated due to the remote being unconfigured (e.g. a URL
+	 * instead of a remote name).
+	 */
+	if (remote->origin != REMOTE_UNCONFIGURED)
+		for (i = 0; i < needs_pushing.nr; i++)
+			submodule_push_check(needs_pushing.items[i].string,
+					     remote, refspec, refspec_nr);
+
+	/* Actually push the submodules */
 	for (i = 0; i < needs_pushing.nr; i++) {
 		const char *path = needs_pushing.items[i].string;
 		fprintf(stderr, "Pushing submodule '%s'\n", path);
-		if (!push_submodule(path, dry_run)) {
+		if (!push_submodule(path, remote, refspec, refspec_nr,
+				    push_options, dry_run)) {
 			fprintf(stderr, "Unable to push submodule '%s'\n", path);
 			ret = 0;
 		}
@@ -766,23 +954,23 @@
 static int add_sha1_to_array(const char *ref, const struct object_id *oid,
 			     int flags, void *data)
 {
-	sha1_array_append(data, oid->hash);
+	oid_array_append(data, oid);
 	return 0;
 }
 
-void check_for_new_submodule_commits(unsigned char new_sha1[20])
+void check_for_new_submodule_commits(struct object_id *oid)
 {
 	if (!initialized_fetch_ref_tips) {
 		for_each_ref(add_sha1_to_array, &ref_tips_before_fetch);
 		initialized_fetch_ref_tips = 1;
 	}
 
-	sha1_array_append(&ref_tips_after_fetch, new_sha1);
+	oid_array_append(&ref_tips_after_fetch, oid);
 }
 
-static int add_sha1_to_argv(const unsigned char sha1[20], void *data)
+static int add_oid_to_argv(const struct object_id *oid, void *data)
 {
-	argv_array_push(data, sha1_to_hex(sha1));
+	argv_array_push(data, oid_to_hex(oid));
 	return 0;
 }
 
@@ -798,11 +986,11 @@
 
 	init_revisions(&rev, NULL);
 	argv_array_push(&argv, "--"); /* argv[0] program name */
-	sha1_array_for_each_unique(&ref_tips_after_fetch,
-				   add_sha1_to_argv, &argv);
+	oid_array_for_each_unique(&ref_tips_after_fetch,
+				   add_oid_to_argv, &argv);
 	argv_array_push(&argv, "--not");
-	sha1_array_for_each_unique(&ref_tips_before_fetch,
-				   add_sha1_to_argv, &argv);
+	oid_array_for_each_unique(&ref_tips_before_fetch,
+				   add_oid_to_argv, &argv);
 	setup_revisions(argv.argc, argv.argv, &rev, NULL);
 	if (prepare_revision_walk(&rev))
 		die("revision walk setup failed");
@@ -828,8 +1016,8 @@
 	}
 
 	argv_array_clear(&argv);
-	sha1_array_clear(&ref_tips_before_fetch);
-	sha1_array_clear(&ref_tips_after_fetch);
+	oid_array_clear(&ref_tips_before_fetch);
+	oid_array_clear(&ref_tips_after_fetch);
 	initialized_fetch_ref_tips = 0;
 }
 
@@ -990,67 +1178,78 @@
 
 unsigned is_submodule_modified(const char *path, int ignore_untracked)
 {
-	ssize_t len;
 	struct child_process cp = CHILD_PROCESS_INIT;
-	const char *argv[] = {
-		"status",
-		"--porcelain",
-		NULL,
-		NULL,
-	};
 	struct strbuf buf = STRBUF_INIT;
+	FILE *fp;
 	unsigned dirty_submodule = 0;
-	const char *line, *next_line;
 	const char *git_dir;
+	int ignore_cp_exit_code = 0;
 
 	strbuf_addf(&buf, "%s/.git", path);
 	git_dir = read_gitfile(buf.buf);
 	if (!git_dir)
 		git_dir = buf.buf;
-	if (!is_directory(git_dir)) {
+	if (!is_git_directory(git_dir)) {
+		if (is_directory(git_dir))
+			die(_("'%s' not recognized as a git repository"), git_dir);
 		strbuf_release(&buf);
 		/* The submodule is not checked out, so it is not modified */
 		return 0;
-
 	}
 	strbuf_reset(&buf);
 
+	argv_array_pushl(&cp.args, "status", "--porcelain=2", NULL);
 	if (ignore_untracked)
-		argv[2] = "-uno";
+		argv_array_push(&cp.args, "-uno");
 
-	cp.argv = argv;
 	prepare_submodule_repo_env(&cp.env_array);
 	cp.git_cmd = 1;
 	cp.no_stdin = 1;
 	cp.out = -1;
 	cp.dir = path;
 	if (start_command(&cp))
-		die("Could not run 'git status --porcelain' in submodule %s", path);
+		die("Could not run 'git status --porcelain=2' in submodule %s", path);
 
-	len = strbuf_read(&buf, cp.out, 1024);
-	line = buf.buf;
-	while (len > 2) {
-		if ((line[0] == '?') && (line[1] == '?')) {
+	fp = xfdopen(cp.out, "r");
+	while (strbuf_getwholeline(&buf, fp, '\n') != EOF) {
+		/* regular untracked files */
+		if (buf.buf[0] == '?')
 			dirty_submodule |= DIRTY_SUBMODULE_UNTRACKED;
-			if (dirty_submodule & DIRTY_SUBMODULE_MODIFIED)
-				break;
-		} else {
-			dirty_submodule |= DIRTY_SUBMODULE_MODIFIED;
-			if (ignore_untracked ||
-			    (dirty_submodule & DIRTY_SUBMODULE_UNTRACKED))
-				break;
-		}
-		next_line = strchr(line, '\n');
-		if (!next_line)
-			break;
-		next_line++;
-		len -= (next_line - line);
-		line = next_line;
-	}
-	close(cp.out);
 
-	if (finish_command(&cp))
-		die("'git status --porcelain' failed in submodule %s", path);
+		if (buf.buf[0] == 'u' ||
+		    buf.buf[0] == '1' ||
+		    buf.buf[0] == '2') {
+			/* T = line type, XY = status, SSSS = submodule state */
+			if (buf.len < strlen("T XY SSSS"))
+				die("BUG: invalid status --porcelain=2 line %s",
+				    buf.buf);
+
+			if (buf.buf[5] == 'S' && buf.buf[8] == 'U')
+				/* nested untracked file */
+				dirty_submodule |= DIRTY_SUBMODULE_UNTRACKED;
+
+			if (buf.buf[0] == 'u' ||
+			    buf.buf[0] == '2' ||
+			    memcmp(buf.buf + 5, "S..U", 4))
+				/* other change */
+				dirty_submodule |= DIRTY_SUBMODULE_MODIFIED;
+		}
+
+		if ((dirty_submodule & DIRTY_SUBMODULE_MODIFIED) &&
+		    ((dirty_submodule & DIRTY_SUBMODULE_UNTRACKED) ||
+		     ignore_untracked)) {
+			/*
+			 * We're not interested in any further information from
+			 * the child any more, neither output nor its exit code.
+			 */
+			ignore_cp_exit_code = 1;
+			break;
+		}
+	}
+	fclose(fp);
+
+	if (finish_command(&cp) && !ignore_cp_exit_code)
+		die("'git status --porcelain=2' failed in submodule %s", path);
 
 	strbuf_release(&buf);
 	return dirty_submodule;
@@ -1092,45 +1291,209 @@
 	return 1;
 }
 
-int ok_to_remove_submodule(const char *path)
+/*
+ * Check if it is a bad idea to remove a submodule, i.e. if we'd lose data
+ * when doing so.
+ *
+ * Return 1 if we'd lose data, return 0 if the removal is fine,
+ * and negative values for errors.
+ */
+int bad_to_remove_submodule(const char *path, unsigned flags)
 {
 	ssize_t len;
 	struct child_process cp = CHILD_PROCESS_INIT;
-	const char *argv[] = {
-		"status",
-		"--porcelain",
-		"-u",
-		"--ignore-submodules=none",
-		NULL,
-	};
 	struct strbuf buf = STRBUF_INIT;
-	int ok_to_remove = 1;
+	int ret = 0;
 
 	if (!file_exists(path) || is_empty_dir(path))
-		return 1;
-
-	if (!submodule_uses_gitfile(path))
 		return 0;
 
-	cp.argv = argv;
+	if (!submodule_uses_gitfile(path))
+		return 1;
+
+	argv_array_pushl(&cp.args, "status", "--porcelain",
+				   "--ignore-submodules=none", NULL);
+
+	if (flags & SUBMODULE_REMOVAL_IGNORE_UNTRACKED)
+		argv_array_push(&cp.args, "-uno");
+	else
+		argv_array_push(&cp.args, "-uall");
+
+	if (!(flags & SUBMODULE_REMOVAL_IGNORE_IGNORED_UNTRACKED))
+		argv_array_push(&cp.args, "--ignored");
+
 	prepare_submodule_repo_env(&cp.env_array);
 	cp.git_cmd = 1;
 	cp.no_stdin = 1;
 	cp.out = -1;
 	cp.dir = path;
-	if (start_command(&cp))
-		die("Could not run 'git status --porcelain -uall --ignore-submodules=none' in submodule %s", path);
+	if (start_command(&cp)) {
+		if (flags & SUBMODULE_REMOVAL_DIE_ON_ERROR)
+			die(_("could not start 'git status' in submodule '%s'"),
+				path);
+		ret = -1;
+		goto out;
+	}
 
 	len = strbuf_read(&buf, cp.out, 1024);
 	if (len > 2)
-		ok_to_remove = 0;
+		ret = 1;
 	close(cp.out);
 
-	if (finish_command(&cp))
-		die("'git status --porcelain -uall --ignore-submodules=none' failed in submodule %s", path);
-
+	if (finish_command(&cp)) {
+		if (flags & SUBMODULE_REMOVAL_DIE_ON_ERROR)
+			die(_("could not run 'git status' in submodule '%s'"),
+				path);
+		ret = -1;
+	}
+out:
 	strbuf_release(&buf);
-	return ok_to_remove;
+	return ret;
+}
+
+static const char *get_super_prefix_or_empty(void)
+{
+	const char *s = get_super_prefix();
+	if (!s)
+		s = "";
+	return s;
+}
+
+static int submodule_has_dirty_index(const struct submodule *sub)
+{
+	struct child_process cp = CHILD_PROCESS_INIT;
+
+	prepare_submodule_repo_env_no_git_dir(&cp.env_array);
+
+	cp.git_cmd = 1;
+	argv_array_pushl(&cp.args, "diff-index", "--quiet",
+				   "--cached", "HEAD", NULL);
+	cp.no_stdin = 1;
+	cp.no_stdout = 1;
+	cp.dir = sub->path;
+	if (start_command(&cp))
+		die("could not recurse into submodule '%s'", sub->path);
+
+	return finish_command(&cp);
+}
+
+static void submodule_reset_index(const char *path)
+{
+	struct child_process cp = CHILD_PROCESS_INIT;
+	prepare_submodule_repo_env_no_git_dir(&cp.env_array);
+
+	cp.git_cmd = 1;
+	cp.no_stdin = 1;
+	cp.dir = path;
+
+	argv_array_pushf(&cp.args, "--super-prefix=%s%s/",
+				   get_super_prefix_or_empty(), path);
+	argv_array_pushl(&cp.args, "read-tree", "-u", "--reset", NULL);
+
+	argv_array_push(&cp.args, EMPTY_TREE_SHA1_HEX);
+
+	if (run_command(&cp))
+		die("could not reset submodule index");
+}
+
+/**
+ * Moves a submodule at a given path from a given head to another new head.
+ * For edge cases (a submodule coming into existence or removing a submodule)
+ * pass NULL for old or new respectively.
+ */
+int submodule_move_head(const char *path,
+			 const char *old,
+			 const char *new,
+			 unsigned flags)
+{
+	int ret = 0;
+	struct child_process cp = CHILD_PROCESS_INIT;
+	const struct submodule *sub;
+
+	sub = submodule_from_path(null_sha1, path);
+
+	if (!sub)
+		die("BUG: could not get submodule information for '%s'", path);
+
+	if (old && !(flags & SUBMODULE_MOVE_HEAD_FORCE)) {
+		/* Check if the submodule has a dirty index. */
+		if (submodule_has_dirty_index(sub))
+			return error(_("submodule '%s' has dirty index"), path);
+	}
+
+	if (!(flags & SUBMODULE_MOVE_HEAD_DRY_RUN)) {
+		if (old) {
+			if (!submodule_uses_gitfile(path))
+				absorb_git_dir_into_superproject("", path,
+					ABSORB_GITDIR_RECURSE_SUBMODULES);
+		} else {
+			struct strbuf sb = STRBUF_INIT;
+			strbuf_addf(&sb, "%s/modules/%s",
+				    get_git_common_dir(), sub->name);
+			connect_work_tree_and_git_dir(path, sb.buf);
+			strbuf_release(&sb);
+
+			/* make sure the index is clean as well */
+			submodule_reset_index(path);
+		}
+	}
+
+	prepare_submodule_repo_env_no_git_dir(&cp.env_array);
+
+	cp.git_cmd = 1;
+	cp.no_stdin = 1;
+	cp.dir = path;
+
+	argv_array_pushf(&cp.args, "--super-prefix=%s%s/",
+			get_super_prefix_or_empty(), path);
+	argv_array_pushl(&cp.args, "read-tree", NULL);
+
+	if (flags & SUBMODULE_MOVE_HEAD_DRY_RUN)
+		argv_array_push(&cp.args, "-n");
+	else
+		argv_array_push(&cp.args, "-u");
+
+	if (flags & SUBMODULE_MOVE_HEAD_FORCE)
+		argv_array_push(&cp.args, "--reset");
+	else
+		argv_array_push(&cp.args, "-m");
+
+	argv_array_push(&cp.args, old ? old : EMPTY_TREE_SHA1_HEX);
+	argv_array_push(&cp.args, new ? new : EMPTY_TREE_SHA1_HEX);
+
+	if (run_command(&cp)) {
+		ret = -1;
+		goto out;
+	}
+
+	if (!(flags & SUBMODULE_MOVE_HEAD_DRY_RUN)) {
+		if (new) {
+			struct child_process cp1 = CHILD_PROCESS_INIT;
+			/* also set the HEAD accordingly */
+			cp1.git_cmd = 1;
+			cp1.no_stdin = 1;
+			cp1.dir = path;
+
+			argv_array_pushl(&cp1.args, "update-ref", "HEAD",
+					 new ? new : EMPTY_TREE_SHA1_HEX, NULL);
+
+			if (run_command(&cp1)) {
+				ret = -1;
+				goto out;
+			}
+		} else {
+			struct strbuf sb = STRBUF_INIT;
+
+			strbuf_addf(&sb, "%s/.git", path);
+			unlink_or_warn(sb.buf);
+			strbuf_release(&sb);
+
+			if (is_empty_dir(path))
+				rmdir_or_warn(path);
+		}
+	}
+out:
+	return ret;
 }
 
 static int find_first_merges(struct object_array *result, const char *path,
@@ -1151,7 +1514,7 @@
 	memset(&rev_opts, 0, sizeof(rev_opts));
 
 	/* get all revisions that merge commit a */
-	snprintf(merged_revision, sizeof(merged_revision), "^%s",
+	xsnprintf(merged_revision, sizeof(merged_revision), "^%s",
 			oid_to_hex(&a->object.oid));
 	init_revisions(&revs, NULL);
 	rev_opts.submodule = path;
@@ -1296,42 +1659,241 @@
 	return 0;
 }
 
-/* Update gitfile and core.worktree setting to connect work tree and git dir */
-void connect_work_tree_and_git_dir(const char *work_tree, const char *git_dir)
-{
-	struct strbuf file_name = STRBUF_INIT;
-	struct strbuf rel_path = STRBUF_INIT;
-	const char *real_work_tree = xstrdup(real_path(work_tree));
-
-	/* Update gitfile */
-	strbuf_addf(&file_name, "%s/.git", work_tree);
-	write_file(file_name.buf, "gitdir: %s",
-		   relative_path(git_dir, real_work_tree, &rel_path));
-
-	/* Update core.worktree setting */
-	strbuf_reset(&file_name);
-	strbuf_addf(&file_name, "%s/config", git_dir);
-	git_config_set_in_file(file_name.buf, "core.worktree",
-			       relative_path(real_work_tree, git_dir,
-					     &rel_path));
-
-	strbuf_release(&file_name);
-	strbuf_release(&rel_path);
-	free((void *)real_work_tree);
-}
-
 int parallel_submodules(void)
 {
 	return parallel_jobs;
 }
 
-void prepare_submodule_repo_env(struct argv_array *out)
+/*
+ * Embeds a single submodules git directory into the superprojects git dir,
+ * non recursively.
+ */
+static void relocate_single_git_dir_into_superproject(const char *prefix,
+						      const char *path)
 {
-	const char * const *var;
+	char *old_git_dir = NULL, *real_old_git_dir = NULL, *real_new_git_dir = NULL;
+	const char *new_git_dir;
+	const struct submodule *sub;
 
-	for (var = local_repo_env; *var; var++) {
-		if (strcmp(*var, CONFIG_DATA_ENVIRONMENT))
-			argv_array_push(out, *var);
+	if (submodule_uses_worktrees(path))
+		die(_("relocate_gitdir for submodule '%s' with "
+		      "more than one worktree not supported"), path);
+
+	old_git_dir = xstrfmt("%s/.git", path);
+	if (read_gitfile(old_git_dir))
+		/* If it is an actual gitfile, it doesn't need migration. */
+		return;
+
+	real_old_git_dir = real_pathdup(old_git_dir, 1);
+
+	sub = submodule_from_path(null_sha1, path);
+	if (!sub)
+		die(_("could not lookup name for submodule '%s'"), path);
+
+	new_git_dir = git_path("modules/%s", sub->name);
+	if (safe_create_leading_directories_const(new_git_dir) < 0)
+		die(_("could not create directory '%s'"), new_git_dir);
+	real_new_git_dir = real_pathdup(new_git_dir, 1);
+
+	fprintf(stderr, _("Migrating git directory of '%s%s' from\n'%s' to\n'%s'\n"),
+		get_super_prefix_or_empty(), path,
+		real_old_git_dir, real_new_git_dir);
+
+	relocate_gitdir(path, real_old_git_dir, real_new_git_dir);
+
+	free(old_git_dir);
+	free(real_old_git_dir);
+	free(real_new_git_dir);
+}
+
+/*
+ * Migrate the git directory of the submodule given by path from
+ * having its git directory within the working tree to the git dir nested
+ * in its superprojects git dir under modules/.
+ */
+void absorb_git_dir_into_superproject(const char *prefix,
+				      const char *path,
+				      unsigned flags)
+{
+	int err_code;
+	const char *sub_git_dir;
+	struct strbuf gitdir = STRBUF_INIT;
+	strbuf_addf(&gitdir, "%s/.git", path);
+	sub_git_dir = resolve_gitdir_gently(gitdir.buf, &err_code);
+
+	/* Not populated? */
+	if (!sub_git_dir) {
+		const struct submodule *sub;
+
+		if (err_code == READ_GITFILE_ERR_STAT_FAILED) {
+			/* unpopulated as expected */
+			strbuf_release(&gitdir);
+			return;
+		}
+
+		if (err_code != READ_GITFILE_ERR_NOT_A_REPO)
+			/* We don't know what broke here. */
+			read_gitfile_error_die(err_code, path, NULL);
+
+		/*
+		* Maybe populated, but no git directory was found?
+		* This can happen if the superproject is a submodule
+		* itself and was just absorbed. The absorption of the
+		* superproject did not rewrite the git file links yet,
+		* fix it now.
+		*/
+		sub = submodule_from_path(null_sha1, path);
+		if (!sub)
+			die(_("could not lookup name for submodule '%s'"), path);
+		connect_work_tree_and_git_dir(path,
+			git_path("modules/%s", sub->name));
+	} else {
+		/* Is it already absorbed into the superprojects git dir? */
+		char *real_sub_git_dir = real_pathdup(sub_git_dir, 1);
+		char *real_common_git_dir = real_pathdup(get_git_common_dir(), 1);
+
+		if (!starts_with(real_sub_git_dir, real_common_git_dir))
+			relocate_single_git_dir_into_superproject(prefix, path);
+
+		free(real_sub_git_dir);
+		free(real_common_git_dir);
 	}
-	argv_array_push(out, "GIT_DIR=.git");
+	strbuf_release(&gitdir);
+
+	if (flags & ABSORB_GITDIR_RECURSE_SUBMODULES) {
+		struct child_process cp = CHILD_PROCESS_INIT;
+		struct strbuf sb = STRBUF_INIT;
+
+		if (flags & ~ABSORB_GITDIR_RECURSE_SUBMODULES)
+			die("BUG: we don't know how to pass the flags down?");
+
+		strbuf_addstr(&sb, get_super_prefix_or_empty());
+		strbuf_addstr(&sb, path);
+		strbuf_addch(&sb, '/');
+
+		cp.dir = path;
+		cp.git_cmd = 1;
+		cp.no_stdin = 1;
+		argv_array_pushl(&cp.args, "--super-prefix", sb.buf,
+					   "submodule--helper",
+					   "absorb-git-dirs", NULL);
+		prepare_submodule_repo_env(&cp.env_array);
+		if (run_command(&cp))
+			die(_("could not recurse into submodule '%s'"), path);
+
+		strbuf_release(&sb);
+	}
+}
+
+const char *get_superproject_working_tree(void)
+{
+	struct child_process cp = CHILD_PROCESS_INIT;
+	struct strbuf sb = STRBUF_INIT;
+	const char *one_up = real_path_if_valid("../");
+	const char *cwd = xgetcwd();
+	const char *ret = NULL;
+	const char *subpath;
+	int code;
+	ssize_t len;
+
+	if (!is_inside_work_tree())
+		/*
+		 * FIXME:
+		 * We might have a superproject, but it is harder
+		 * to determine.
+		 */
+		return NULL;
+
+	if (!one_up)
+		return NULL;
+
+	subpath = relative_path(cwd, one_up, &sb);
+
+	prepare_submodule_repo_env(&cp.env_array);
+	argv_array_pop(&cp.env_array);
+
+	argv_array_pushl(&cp.args, "--literal-pathspecs", "-C", "..",
+			"ls-files", "-z", "--stage", "--full-name", "--",
+			subpath, NULL);
+	strbuf_reset(&sb);
+
+	cp.no_stdin = 1;
+	cp.no_stderr = 1;
+	cp.out = -1;
+	cp.git_cmd = 1;
+
+	if (start_command(&cp))
+		die(_("could not start ls-files in .."));
+
+	len = strbuf_read(&sb, cp.out, PATH_MAX);
+	close(cp.out);
+
+	if (starts_with(sb.buf, "160000")) {
+		int super_sub_len;
+		int cwd_len = strlen(cwd);
+		char *super_sub, *super_wt;
+
+		/*
+		 * There is a superproject having this repo as a submodule.
+		 * The format is <mode> SP <hash> SP <stage> TAB <full name> \0,
+		 * We're only interested in the name after the tab.
+		 */
+		super_sub = strchr(sb.buf, '\t') + 1;
+		super_sub_len = sb.buf + sb.len - super_sub - 1;
+
+		if (super_sub_len > cwd_len ||
+		    strcmp(&cwd[cwd_len - super_sub_len], super_sub))
+			die (_("BUG: returned path string doesn't match cwd?"));
+
+		super_wt = xstrdup(cwd);
+		super_wt[cwd_len - super_sub_len] = '\0';
+
+		ret = real_path(super_wt);
+		free(super_wt);
+	}
+	strbuf_release(&sb);
+
+	code = finish_command(&cp);
+
+	if (code == 128)
+		/* '../' is not a git repository */
+		return NULL;
+	if (code == 0 && len == 0)
+		/* There is an unrelated git repository at '../' */
+		return NULL;
+	if (code)
+		die(_("ls-tree returned unexpected return code %d"), code);
+
+	return ret;
+}
+
+int submodule_to_gitdir(struct strbuf *buf, const char *submodule)
+{
+	const struct submodule *sub;
+	const char *git_dir;
+	int ret = 0;
+
+	strbuf_reset(buf);
+	strbuf_addstr(buf, submodule);
+	strbuf_complete(buf, '/');
+	strbuf_addstr(buf, ".git");
+
+	git_dir = read_gitfile(buf->buf);
+	if (git_dir) {
+		strbuf_reset(buf);
+		strbuf_addstr(buf, git_dir);
+	}
+	if (!is_git_directory(buf->buf)) {
+		gitmodules_config();
+		sub = submodule_from_path(null_sha1, submodule);
+		if (!sub) {
+			ret = -1;
+			goto cleanup;
+		}
+		strbuf_reset(buf);
+		strbuf_git_path(buf, "%s/%s", "modules", sub->name);
+	}
+
+cleanup:
+	return ret;
 }
diff --git a/submodule.h b/submodule.h
index 23d7668..1277480 100644
--- a/submodule.h
+++ b/submodule.h
@@ -3,9 +3,11 @@
 
 struct diff_options;
 struct argv_array;
-struct sha1_array;
+struct oid_array;
+struct remote;
 
 enum {
+	RECURSE_SUBMODULES_ONLY = -5,
 	RECURSE_SUBMODULES_CHECK = -4,
 	RECURSE_SUBMODULES_ERROR = -3,
 	RECURSE_SUBMODULES_NONE = -2,
@@ -30,52 +32,103 @@
 };
 #define SUBMODULE_UPDATE_STRATEGY_INIT {SM_UPDATE_UNSPECIFIED, NULL}
 
-int is_staging_gitmodules_ok(void);
-int update_path_in_gitmodules(const char *oldpath, const char *newpath);
-int remove_path_from_gitmodules(const char *path);
-void stage_updated_gitmodules(void);
-void set_diffopt_flags_from_submodule_config(struct diff_options *diffopt,
+extern int is_staging_gitmodules_ok(void);
+extern int update_path_in_gitmodules(const char *oldpath, const char *newpath);
+extern int remove_path_from_gitmodules(const char *path);
+extern void stage_updated_gitmodules(void);
+extern void set_diffopt_flags_from_submodule_config(struct diff_options *,
 		const char *path);
-int submodule_config(const char *var, const char *value, void *cb);
-void gitmodules_config(void);
-int parse_submodule_update_strategy(const char *value,
+extern int submodule_config(const char *var, const char *value, void *cb);
+extern void gitmodules_config(void);
+extern void gitmodules_config_sha1(const unsigned char *commit_sha1);
+extern int is_submodule_initialized(const char *path);
+/*
+ * Determine if a submodule has been populated at a given 'path' by checking if
+ * the <path>/.git resolves to a valid git repository.
+ * If return_error_code is NULL, die on error.
+ * Otherwise the return error code is the same as of resolve_gitdir_gently.
+ */
+extern int is_submodule_populated_gently(const char *path, int *return_error_code);
+extern int parse_submodule_update_strategy(const char *value,
 		struct submodule_update_strategy *dst);
-const char *submodule_strategy_to_string(const struct submodule_update_strategy *s);
-void handle_ignore_submodules_arg(struct diff_options *diffopt, const char *);
-void show_submodule_summary(FILE *f, const char *path,
+extern const char *submodule_strategy_to_string(const struct submodule_update_strategy *s);
+extern void handle_ignore_submodules_arg(struct diff_options *, const char *);
+extern void show_submodule_summary(FILE *f, const char *path,
 		const char *line_prefix,
 		struct object_id *one, struct object_id *two,
 		unsigned dirty_submodule, const char *meta,
 		const char *del, const char *add, const char *reset);
-void show_submodule_inline_diff(FILE *f, const char *path,
+extern void show_submodule_inline_diff(FILE *f, const char *path,
 		const char *line_prefix,
 		struct object_id *one, struct object_id *two,
 		unsigned dirty_submodule, const char *meta,
 		const char *del, const char *add, const char *reset,
 		const struct diff_options *opt);
-void set_config_fetch_recurse_submodules(int value);
-void check_for_new_submodule_commits(unsigned char new_sha1[20]);
-int fetch_populated_submodules(const struct argv_array *options,
+extern void set_config_fetch_recurse_submodules(int value);
+extern void set_config_update_recurse_submodules(int value);
+/* Check if we want to update any submodule.*/
+extern int should_update_submodules(void);
+/*
+ * Returns the submodule struct if the given ce entry is a submodule
+ * and it should be updated. Returns NULL otherwise.
+ */
+extern const struct submodule *submodule_from_ce(const struct cache_entry *ce);
+extern void check_for_new_submodule_commits(struct object_id *oid);
+extern int fetch_populated_submodules(const struct argv_array *options,
 			       const char *prefix, int command_line_option,
 			       int quiet, int max_parallel_jobs);
-unsigned is_submodule_modified(const char *path, int ignore_untracked);
-int submodule_uses_gitfile(const char *path);
-int ok_to_remove_submodule(const char *path);
-int merge_submodule(unsigned char result[20], const char *path, const unsigned char base[20],
-		    const unsigned char a[20], const unsigned char b[20], int search);
-int find_unpushed_submodules(struct sha1_array *commits, const char *remotes_name,
-		struct string_list *needs_pushing);
-extern int push_unpushed_submodules(struct sha1_array *commits,
+extern unsigned is_submodule_modified(const char *path, int ignore_untracked);
+extern int submodule_uses_gitfile(const char *path);
+
+#define SUBMODULE_REMOVAL_DIE_ON_ERROR (1<<0)
+#define SUBMODULE_REMOVAL_IGNORE_UNTRACKED (1<<1)
+#define SUBMODULE_REMOVAL_IGNORE_IGNORED_UNTRACKED (1<<2)
+extern int bad_to_remove_submodule(const char *path, unsigned flags);
+extern int merge_submodule(unsigned char result[20], const char *path,
+			   const unsigned char base[20],
+			   const unsigned char a[20],
+			   const unsigned char b[20], int search);
+extern int find_unpushed_submodules(struct oid_array *commits,
 				    const char *remotes_name,
+				    struct string_list *needs_pushing);
+extern int push_unpushed_submodules(struct oid_array *commits,
+				    const struct remote *remote,
+				    const char **refspec, int refspec_nr,
+				    const struct string_list *push_options,
 				    int dry_run);
-void connect_work_tree_and_git_dir(const char *work_tree, const char *git_dir);
-int parallel_submodules(void);
+extern void connect_work_tree_and_git_dir(const char *work_tree, const char *git_dir);
+extern int parallel_submodules(void);
+/*
+ * Given a submodule path (as in the index), return the repository
+ * path of that submodule in 'buf'. Return -1 on error or when the
+ * submodule is not initialized.
+ */
+int submodule_to_gitdir(struct strbuf *buf, const char *submodule);
+
+#define SUBMODULE_MOVE_HEAD_DRY_RUN (1<<0)
+#define SUBMODULE_MOVE_HEAD_FORCE   (1<<1)
+extern int submodule_move_head(const char *path,
+			       const char *old,
+			       const char *new,
+			       unsigned flags);
 
 /*
  * Prepare the "env_array" parameter of a "struct child_process" for executing
  * a submodule by clearing any repo-specific envirionment variables, but
  * retaining any config in the environment.
  */
-void prepare_submodule_repo_env(struct argv_array *out);
+extern void prepare_submodule_repo_env(struct argv_array *out);
+
+#define ABSORB_GITDIR_RECURSE_SUBMODULES (1<<0)
+extern void absorb_git_dir_into_superproject(const char *prefix,
+					     const char *path,
+					     unsigned flags);
+
+/*
+ * Return the absolute path of the working tree of the superproject, which this
+ * project is a submodule of. If this repository is not a submodule of
+ * another repository, return NULL.
+ */
+extern const char *get_superproject_working_tree(void);
 
 #endif
diff --git a/t/Makefile b/t/Makefile
index d613935..1bb06c3 100644
--- a/t/Makefile
+++ b/t/Makefile
@@ -35,6 +35,12 @@
 test: pre-clean $(TEST_LINT)
 	$(MAKE) aggregate-results-and-cleanup
 
+failed:
+	@failed=$$(cd '$(TEST_RESULTS_DIRECTORY_SQ)' && \
+		grep -l '^failed [1-9]' *.counts | \
+		sed -n 's/\.counts$$/.sh/p') && \
+	test -z "$$failed" || $(MAKE) $$failed
+
 prove: pre-clean $(TEST_LINT)
 	@echo "*** prove ***"; $(PROVE) --exec '$(SHELL_PATH_SQ)' $(GIT_PROVE_OPTS) $(T) :: $(GIT_TEST_OPTS)
 	$(MAKE) clean-except-prove-cache
diff --git a/t/README b/t/README
index 4982d1c..ab386c3 100644
--- a/t/README
+++ b/t/README
@@ -471,13 +471,13 @@
    their output.
 
    You can glean some further possible issues from the TAP grammar
-   (see http://search.cpan.org/perldoc?TAP::Parser::Grammar#TAP_Grammar)
+   (see https://metacpan.org/pod/TAP::Parser::Grammar#TAP-GRAMMAR)
    but the best indication is to just run the tests with prove(1),
    it'll complain if anything is amiss.
 
 Keep in mind:
 
- - Inside <script> part, the standard output and standard error
+ - Inside the <script> part, the standard output and standard error
    streams are discarded, and the test harness only reports "ok" or
    "not ok" to the end user running the tests. Under --verbose, they
    are shown to help debugging the tests.
@@ -611,9 +611,11 @@
 
  - test_have_prereq <prereq>
 
-   Check if we have a prerequisite previously set with
-   test_set_prereq. The most common use of this directly is to skip
-   all the tests if we don't have some essential prerequisite:
+   Check if we have a prerequisite previously set with test_set_prereq.
+   The most common way to use this explicitly (as opposed to the
+   implicit use when an argument is passed to test_expect_*) is to skip
+   all the tests at the start of the test script if we don't have some
+   essential prerequisite:
 
 	if ! test_have_prereq PERL
 	then
diff --git a/t/gitweb-lib.sh b/t/gitweb-lib.sh
index d5dab5a..006d2a8 100644
--- a/t/gitweb-lib.sh
+++ b/t/gitweb-lib.sh
@@ -110,7 +110,12 @@
 }
 
 perl -MCGI -MCGI::Util -MCGI::Carp -e 0 >/dev/null 2>&1 || {
-	skip_all='skipping gitweb tests, CGI module unusable'
+	skip_all='skipping gitweb tests, CGI & CGI::Util & CGI::Carp modules not available'
+	test_done
+}
+
+perl -mTime::HiRes -e 0 >/dev/null 2>&1 || {
+	skip_all='skipping gitweb tests, Time::HiRes module not available'
 	test_done
 }
 
diff --git a/t/helper/.gitignore b/t/helper/.gitignore
index b05d67c..acd5db1 100644
--- a/t/helper/.gitignore
+++ b/t/helper/.gitignore
@@ -21,6 +21,7 @@
 /test-path-utils
 /test-prio-queue
 /test-read-cache
+/test-ref-store
 /test-regex
 /test-revision-walking
 /test-run-command
diff --git a/t/helper/test-config.c b/t/helper/test-config.c
index 83a4f2a..8e3ed6a 100644
--- a/t/helper/test-config.c
+++ b/t/helper/test-config.c
@@ -66,6 +66,16 @@
 	return 0;
 }
 
+static int early_config_cb(const char *var, const char *value, void *vdata)
+{
+	const char *key = vdata;
+
+	if (!strcmp(key, var))
+		printf("%s\n", value);
+
+	return 0;
+}
+
 int cmd_main(int argc, const char **argv)
 {
 	int i, val;
@@ -73,6 +83,11 @@
 	const struct string_list *strptr;
 	struct config_set cs;
 
+	if (argc == 3 && !strcmp(argv[1], "read_early_config")) {
+		read_early_config(early_config_cb, (void *)argv[2]);
+		return 0;
+	}
+
 	setup_git_directory();
 
 	git_configset_init(&cs);
diff --git a/t/helper/test-read-cache.c b/t/helper/test-read-cache.c
index 2a7990e..48255ee 100644
--- a/t/helper/test-read-cache.c
+++ b/t/helper/test-read-cache.c
@@ -5,6 +5,7 @@
 	int i, cnt = 1;
 	if (argc == 2)
 		cnt = strtol(argv[1], NULL, 0);
+	setup_git_directory();
 	for (i = 0; i < cnt; i++) {
 		read_cache();
 		discard_cache();
diff --git a/t/helper/test-ref-store.c b/t/helper/test-ref-store.c
new file mode 100644
index 0000000..2d84c45
--- /dev/null
+++ b/t/helper/test-ref-store.c
@@ -0,0 +1,277 @@
+#include "cache.h"
+#include "refs.h"
+
+static const char *notnull(const char *arg, const char *name)
+{
+	if (!arg)
+		die("%s required", name);
+	return arg;
+}
+
+static unsigned int arg_flags(const char *arg, const char *name)
+{
+	return atoi(notnull(arg, name));
+}
+
+static const char **get_store(const char **argv, struct ref_store **refs)
+{
+	const char *gitdir;
+
+	if (!argv[0]) {
+		die("ref store required");
+	} else if (!strcmp(argv[0], "main")) {
+		*refs = get_main_ref_store();
+	} else if (skip_prefix(argv[0], "submodule:", &gitdir)) {
+		struct strbuf sb = STRBUF_INIT;
+		int ret;
+
+		ret = strbuf_git_path_submodule(&sb, gitdir, "objects/");
+		if (ret)
+			die("strbuf_git_path_submodule failed: %d", ret);
+		add_to_alternates_memory(sb.buf);
+		strbuf_release(&sb);
+
+		*refs = get_submodule_ref_store(gitdir);
+	} else
+		die("unknown backend %s", argv[0]);
+
+	if (!*refs)
+		die("no ref store");
+
+	/* consume store-specific optional arguments if needed */
+
+	return argv + 1;
+}
+
+
+static int cmd_pack_refs(struct ref_store *refs, const char **argv)
+{
+	unsigned int flags = arg_flags(*argv++, "flags");
+
+	return refs_pack_refs(refs, flags);
+}
+
+static int cmd_peel_ref(struct ref_store *refs, const char **argv)
+{
+	const char *refname = notnull(*argv++, "refname");
+	unsigned char sha1[20];
+	int ret;
+
+	ret = refs_peel_ref(refs, refname, sha1);
+	if (!ret)
+		puts(sha1_to_hex(sha1));
+	return ret;
+}
+
+static int cmd_create_symref(struct ref_store *refs, const char **argv)
+{
+	const char *refname = notnull(*argv++, "refname");
+	const char *target = notnull(*argv++, "target");
+	const char *logmsg = *argv++;
+
+	return refs_create_symref(refs, refname, target, logmsg);
+}
+
+static int cmd_delete_refs(struct ref_store *refs, const char **argv)
+{
+	unsigned int flags = arg_flags(*argv++, "flags");
+	struct string_list refnames = STRING_LIST_INIT_NODUP;
+
+	while (*argv)
+		string_list_append(&refnames, *argv++);
+
+	return refs_delete_refs(refs, &refnames, flags);
+}
+
+static int cmd_rename_ref(struct ref_store *refs, const char **argv)
+{
+	const char *oldref = notnull(*argv++, "oldref");
+	const char *newref = notnull(*argv++, "newref");
+	const char *logmsg = *argv++;
+
+	return refs_rename_ref(refs, oldref, newref, logmsg);
+}
+
+static int each_ref(const char *refname, const struct object_id *oid,
+		    int flags, void *cb_data)
+{
+	printf("%s %s 0x%x\n", oid_to_hex(oid), refname, flags);
+	return 0;
+}
+
+static int cmd_for_each_ref(struct ref_store *refs, const char **argv)
+{
+	const char *prefix = notnull(*argv++, "prefix");
+
+	return refs_for_each_ref_in(refs, prefix, each_ref, NULL);
+}
+
+static int cmd_resolve_ref(struct ref_store *refs, const char **argv)
+{
+	unsigned char sha1[20];
+	const char *refname = notnull(*argv++, "refname");
+	int resolve_flags = arg_flags(*argv++, "resolve-flags");
+	int flags;
+	const char *ref;
+
+	ref = refs_resolve_ref_unsafe(refs, refname, resolve_flags,
+				      sha1, &flags);
+	printf("%s %s 0x%x\n", sha1_to_hex(sha1), ref, flags);
+	return ref ? 0 : 1;
+}
+
+static int cmd_verify_ref(struct ref_store *refs, const char **argv)
+{
+	const char *refname = notnull(*argv++, "refname");
+	struct strbuf err = STRBUF_INIT;
+	int ret;
+
+	ret = refs_verify_refname_available(refs, refname, NULL, NULL, &err);
+	if (err.len)
+		puts(err.buf);
+	return ret;
+}
+
+static int cmd_for_each_reflog(struct ref_store *refs, const char **argv)
+{
+	return refs_for_each_reflog(refs, each_ref, NULL);
+}
+
+static int each_reflog(struct object_id *old_oid, struct object_id *new_oid,
+		       const char *committer, unsigned long timestamp,
+		       int tz, const char *msg, void *cb_data)
+{
+	printf("%s %s %s %lu %d %s\n",
+	       oid_to_hex(old_oid), oid_to_hex(new_oid),
+	       committer, timestamp, tz, msg);
+	return 0;
+}
+
+static int cmd_for_each_reflog_ent(struct ref_store *refs, const char **argv)
+{
+	const char *refname = notnull(*argv++, "refname");
+
+	return refs_for_each_reflog_ent(refs, refname, each_reflog, refs);
+}
+
+static int cmd_for_each_reflog_ent_reverse(struct ref_store *refs, const char **argv)
+{
+	const char *refname = notnull(*argv++, "refname");
+
+	return refs_for_each_reflog_ent_reverse(refs, refname, each_reflog, refs);
+}
+
+static int cmd_reflog_exists(struct ref_store *refs, const char **argv)
+{
+	const char *refname = notnull(*argv++, "refname");
+
+	return !refs_reflog_exists(refs, refname);
+}
+
+static int cmd_create_reflog(struct ref_store *refs, const char **argv)
+{
+	const char *refname = notnull(*argv++, "refname");
+	int force_create = arg_flags(*argv++, "force-create");
+	struct strbuf err = STRBUF_INIT;
+	int ret;
+
+	ret = refs_create_reflog(refs, refname, force_create, &err);
+	if (err.len)
+		puts(err.buf);
+	return ret;
+}
+
+static int cmd_delete_reflog(struct ref_store *refs, const char **argv)
+{
+	const char *refname = notnull(*argv++, "refname");
+
+	return refs_delete_reflog(refs, refname);
+}
+
+static int cmd_reflog_expire(struct ref_store *refs, const char **argv)
+{
+	die("not supported yet");
+}
+
+static int cmd_delete_ref(struct ref_store *refs, const char **argv)
+{
+	const char *msg = notnull(*argv++, "msg");
+	const char *refname = notnull(*argv++, "refname");
+	const char *sha1_buf = notnull(*argv++, "old-sha1");
+	unsigned int flags = arg_flags(*argv++, "flags");
+	unsigned char old_sha1[20];
+
+	if (get_sha1_hex(sha1_buf, old_sha1))
+		die("not sha-1");
+
+	return refs_delete_ref(refs, msg, refname, old_sha1, flags);
+}
+
+static int cmd_update_ref(struct ref_store *refs, const char **argv)
+{
+	const char *msg = notnull(*argv++, "msg");
+	const char *refname = notnull(*argv++, "refname");
+	const char *new_sha1_buf = notnull(*argv++, "old-sha1");
+	const char *old_sha1_buf = notnull(*argv++, "old-sha1");
+	unsigned int flags = arg_flags(*argv++, "flags");
+	unsigned char old_sha1[20];
+	unsigned char new_sha1[20];
+
+	if (get_sha1_hex(old_sha1_buf, old_sha1) ||
+	    get_sha1_hex(new_sha1_buf, new_sha1))
+		die("not sha-1");
+
+	return refs_update_ref(refs, msg, refname,
+			       new_sha1, old_sha1,
+			       flags, UPDATE_REFS_DIE_ON_ERR);
+}
+
+struct command {
+	const char *name;
+	int (*func)(struct ref_store *refs, const char **argv);
+};
+
+static struct command commands[] = {
+	{ "pack-refs", cmd_pack_refs },
+	{ "peel-ref", cmd_peel_ref },
+	{ "create-symref", cmd_create_symref },
+	{ "delete-refs", cmd_delete_refs },
+	{ "rename-ref", cmd_rename_ref },
+	{ "for-each-ref", cmd_for_each_ref },
+	{ "resolve-ref", cmd_resolve_ref },
+	{ "verify-ref", cmd_verify_ref },
+	{ "for-each-reflog", cmd_for_each_reflog },
+	{ "for-each-reflog-ent", cmd_for_each_reflog_ent },
+	{ "for-each-reflog-ent-reverse", cmd_for_each_reflog_ent_reverse },
+	{ "reflog-exists", cmd_reflog_exists },
+	{ "create-reflog", cmd_create_reflog },
+	{ "delete-reflog", cmd_delete_reflog },
+	{ "reflog-expire", cmd_reflog_expire },
+	/*
+	 * backend transaction functions can't be tested separately
+	 */
+	{ "delete-ref", cmd_delete_ref },
+	{ "update-ref", cmd_update_ref },
+	{ NULL, NULL }
+};
+
+int cmd_main(int argc, const char **argv)
+{
+	struct ref_store *refs;
+	const char *func;
+	struct command *cmd;
+
+	setup_git_directory();
+
+	argv = get_store(argv + 1, &refs);
+
+	func = *argv++;
+	if (!func)
+		die("ref function required");
+	for (cmd = commands; cmd->name; cmd++) {
+		if (!strcmp(func, cmd->name))
+			return cmd->func(refs, argv);
+	}
+	die("unknown function %s", func);
+	return 0;
+}
diff --git a/t/helper/test-scrap-cache-tree.c b/t/helper/test-scrap-cache-tree.c
index 27fe040..d2a63be 100644
--- a/t/helper/test-scrap-cache-tree.c
+++ b/t/helper/test-scrap-cache-tree.c
@@ -8,7 +8,7 @@
 int cmd_main(int ac, const char **av)
 {
 	setup_git_directory();
-	hold_locked_index(&index_lock, 1);
+	hold_locked_index(&index_lock, LOCK_DIE_ON_ERROR);
 	if (read_cache() < 0)
 		die("unable to read index file");
 	active_cache_tree = NULL;
diff --git a/t/helper/test-sha1-array.c b/t/helper/test-sha1-array.c
index f7a53c4..edfd52d 100644
--- a/t/helper/test-sha1-array.c
+++ b/t/helper/test-sha1-array.c
@@ -1,33 +1,33 @@
 #include "cache.h"
 #include "sha1-array.h"
 
-static int print_sha1(const unsigned char sha1[20], void *data)
+static int print_oid(const struct object_id *oid, void *data)
 {
-	puts(sha1_to_hex(sha1));
+	puts(oid_to_hex(oid));
 	return 0;
 }
 
 int cmd_main(int argc, const char **argv)
 {
-	struct sha1_array array = SHA1_ARRAY_INIT;
+	struct oid_array array = OID_ARRAY_INIT;
 	struct strbuf line = STRBUF_INIT;
 
 	while (strbuf_getline(&line, stdin) != EOF) {
 		const char *arg;
-		unsigned char sha1[20];
+		struct object_id oid;
 
 		if (skip_prefix(line.buf, "append ", &arg)) {
-			if (get_sha1_hex(arg, sha1))
+			if (get_oid_hex(arg, &oid))
 				die("not a hexadecimal SHA1: %s", arg);
-			sha1_array_append(&array, sha1);
+			oid_array_append(&array, &oid);
 		} else if (skip_prefix(line.buf, "lookup ", &arg)) {
-			if (get_sha1_hex(arg, sha1))
+			if (get_oid_hex(arg, &oid))
 				die("not a hexadecimal SHA1: %s", arg);
-			printf("%d\n", sha1_array_lookup(&array, sha1));
+			printf("%d\n", oid_array_lookup(&array, &oid));
 		} else if (!strcmp(line.buf, "clear"))
-			sha1_array_clear(&array);
+			oid_array_clear(&array);
 		else if (!strcmp(line.buf, "for_each_unique"))
-			sha1_array_for_each_unique(&array, print_sha1, NULL);
+			oid_array_for_each_unique(&array, print_oid, NULL);
 		else
 			die("unknown command: %s", line.buf);
 	}
diff --git a/t/helper/test-string-list.c b/t/helper/test-string-list.c
index 4a68967..c502fa1 100644
--- a/t/helper/test-string-list.c
+++ b/t/helper/test-string-list.c
@@ -97,6 +97,31 @@
 		return 0;
 	}
 
+	if (argc == 2 && !strcmp(argv[1], "sort")) {
+		struct string_list list = STRING_LIST_INIT_NODUP;
+		struct strbuf sb = STRBUF_INIT;
+		struct string_list_item *item;
+
+		strbuf_read(&sb, 0, 0);
+
+		/*
+		 * Split by newline, but don't create a string_list item
+		 * for the empty string after the last separator.
+		 */
+		if (sb.buf[sb.len - 1] == '\n')
+			strbuf_setlen(&sb, sb.len - 1);
+		string_list_split_in_place(&list, sb.buf, '\n', -1);
+
+		string_list_sort(&list);
+
+		for_each_string_list_item(item, &list)
+			puts(item->string);
+
+		string_list_clear(&list, 0);
+		strbuf_release(&sb);
+		return 0;
+	}
+
 	fprintf(stderr, "%s: unknown function name: %s\n", argv[0],
 		argv[1] ? argv[1] : "(there was none)");
 	return 1;
diff --git a/t/interop/.gitignore b/t/interop/.gitignore
new file mode 100644
index 0000000..49c78d3
--- /dev/null
+++ b/t/interop/.gitignore
@@ -0,0 +1,4 @@
+/trash directory*/
+/test-results/
+/.prove/
+/build/
diff --git a/t/interop/Makefile b/t/interop/Makefile
new file mode 100644
index 0000000..31a4bbc
--- /dev/null
+++ b/t/interop/Makefile
@@ -0,0 +1,16 @@
+-include ../../config.mak
+export GIT_TEST_OPTIONS
+
+SHELL_PATH ?= $(SHELL)
+SHELL_PATH_SQ = $(subst ','\'',$(SHELL_PATH))
+T = $(sort $(wildcard i[0-9][0-9][0-9][0-9]-*.sh))
+
+all: $(T)
+
+$(T):
+	@echo "*** $@ ***"; '$(SHELL_PATH_SQ)' $@ $(GIT_TEST_OPTS)
+
+clean:
+	rm -rf build "trash directory".* test-results
+
+.PHONY: all clean $(T)
diff --git a/t/interop/README b/t/interop/README
new file mode 100644
index 0000000..72d42bd
--- /dev/null
+++ b/t/interop/README
@@ -0,0 +1,85 @@
+Git version interoperability tests
+==================================
+
+This directory has interoperability tests for git. Each script is
+similar to the normal test scripts found in t/, but with the added twist
+that two special versions of git, "git.a" and "git.b", are available in
+the PATH. Individual tests can then check the interaction between the
+two versions.
+
+When you add a feature that handles backwards compatibility between git
+versions, it's encouraged to add a test here to make sure it behaves as
+you expect.
+
+
+Running Tests
+-------------
+
+The easiest way to run tests is to say "make".  This runs all
+the tests against their default versions.
+
+You can run a single test like:
+
+    $ ./i0000-basic.sh
+    ok 1 - bare git is forbidden
+    ok 2 - git.a version (v1.6.6.3)
+    ok 3 - git.b version (v2.11.1)
+    # passed all 3 test(s)
+    1..3
+
+Each test contains default versions to run against. You may override
+these by setting `GIT_TEST_VERSION_A` and `GIT_TEST_VERSION_B` in the
+environment. Note that not all combinations will give sensible outcomes
+for all tests (e.g., a test checking for a specific old/new interaction
+may want something "old" enough" and something "new" enough; see
+individual tests for details).
+
+Version names should be resolvable as revisions in the current
+repository. They will be exported and built as needed using the
+config.mak files found at the root of your working tree.
+
+The exception is the special version "." which uses the currently-built
+contents of your working tree.
+
+You can set the following variables (in the environment or in your config.mak):
+
+    GIT_INTEROP_MAKE_OPTS
+	Options to pass to `make` when building a git version (e.g.,
+	`-j8`).
+
+You can also pass any command-line options taken by ordinary git tests (e.g.,
+"-v").
+
+
+Naming Tests
+------------
+
+The interop test files are named like:
+
+	iNNNN-short-description.sh
+
+where N is a decimal digit.  The same conventions for choosing NNNN as
+for normal tests apply.
+
+
+Writing Tests
+-------------
+
+An interop test script starts like a normal script, declaring a few
+variables and then including interop-lib.sh (which includes test-lib.sh).
+Besides test_description, you should also set the $VERSION_A and $VERSION_B
+variables to give the default versions to test against. See t0000-basic.sh for
+an example.
+
+You can then use test_expect_success as usual, with a few differences:
+
+  1. The special commands "git.a" and "git.b" correspond to the
+     two versions.
+
+  2. You cannot call a bare "git". This is to prevent accidents where
+     you meant "git.a" or "git.b".
+
+  3. The trash directory is _not_ a git repository by default. You
+     should create one with the appropriate version of git.
+
+At the end of the script, call test_done as usual.
diff --git a/t/interop/i0000-basic.sh b/t/interop/i0000-basic.sh
new file mode 100755
index 0000000..903e919
--- /dev/null
+++ b/t/interop/i0000-basic.sh
@@ -0,0 +1,27 @@
+#!/bin/sh
+
+# Note that this test only works on real version numbers,
+# as it depends on matching the output to "git version".
+VERSION_A=v1.6.6.3
+VERSION_B=v2.11.1
+
+test_description='sanity test interop library'
+. ./interop-lib.sh
+
+test_expect_success 'bare git is forbidden' '
+	test_must_fail git version
+'
+
+test_expect_success "git.a version ($VERSION_A)" '
+	echo git version ${VERSION_A#v} >expect &&
+	git.a version >actual &&
+	test_cmp expect actual
+'
+
+test_expect_success "git.b version ($VERSION_B)" '
+	echo git version ${VERSION_B#v} >expect &&
+	git.b version >actual &&
+	test_cmp expect actual
+'
+
+test_done
diff --git a/t/interop/i5500-git-daemon.sh b/t/interop/i5500-git-daemon.sh
new file mode 100755
index 0000000..1daf694
--- /dev/null
+++ b/t/interop/i5500-git-daemon.sh
@@ -0,0 +1,41 @@
+#!/bin/sh
+
+VERSION_A=.
+VERSION_B=v1.0.0
+
+: ${LIB_GIT_DAEMON_PORT:=5500}
+LIB_GIT_DAEMON_COMMAND='git.a daemon'
+
+test_description='clone and fetch by older client'
+. ./interop-lib.sh
+. "$TEST_DIRECTORY"/lib-git-daemon.sh
+
+start_git_daemon --export-all
+
+repo=$GIT_DAEMON_DOCUMENT_ROOT_PATH/repo
+
+test_expect_success "create repo served by $VERSION_A" '
+	git.a init "$repo" &&
+	git.a -C "$repo" commit --allow-empty -m one
+'
+
+test_expect_success "clone with $VERSION_B" '
+	git.b clone "$GIT_DAEMON_URL/repo" child &&
+	echo one >expect &&
+	git.a -C child log -1 --format=%s >actual &&
+	test_cmp expect actual
+'
+
+test_expect_success "fetch with $VERSION_B" '
+	git.a -C "$repo" commit --allow-empty -m two &&
+	(
+		cd child &&
+		git.b fetch
+	) &&
+	echo two >expect &&
+	git.a -C child log -1 --format=%s FETCH_HEAD >actual &&
+	test_cmp expect actual
+'
+
+stop_git_daemon
+test_done
diff --git a/t/interop/interop-lib.sh b/t/interop/interop-lib.sh
new file mode 100644
index 0000000..3e0a291
--- /dev/null
+++ b/t/interop/interop-lib.sh
@@ -0,0 +1,92 @@
+# Interoperability testing framework. Each script should source
+# this after setting default $VERSION_A and $VERSION_B variables.
+
+. ../../GIT-BUILD-OPTIONS
+INTEROP_ROOT=$(pwd)
+BUILD_ROOT=$INTEROP_ROOT/build
+
+build_version () {
+	if test -z "$1"
+	then
+		echo >&2 "error: test script did not set default versions"
+		return 1
+	fi
+
+	if test "$1" = "."
+	then
+		git rev-parse --show-toplevel
+		return 0
+	fi
+
+	sha1=$(git rev-parse "$1^{tree}") || return 1
+	dir=$BUILD_ROOT/$sha1
+
+	if test -e "$dir/.built"
+	then
+		echo "$dir"
+		return 0
+	fi
+
+	echo >&2 "==> Building $1..."
+
+	mkdir -p "$dir" || return 1
+
+	(cd "$(git rev-parse --show-cdup)" && git archive --format=tar "$sha1") |
+	(cd "$dir" && tar x) ||
+	return 1
+
+	for config in config.mak config.mak.autogen config.status
+	do
+		if test -e "$INTEROP_ROOT/../../$config"
+		then
+			cp "$INTEROP_ROOT/../../$config" "$dir/" || return 1
+		fi
+	done
+
+	(
+		cd "$dir" &&
+		make $GIT_INTEROP_MAKE_OPTS >&2 &&
+		touch .built
+	) || return 1
+
+	echo "$dir"
+}
+
+# Old versions of git don't have bin-wrappers, so let's give a rough emulation.
+wrap_git () {
+	write_script "$1" <<-EOF
+	GIT_EXEC_PATH="$2"
+	export GIT_EXEC_PATH
+	PATH="$2:\$PATH"
+	export GIT_EXEC_PATH
+	exec git "\$@"
+	EOF
+}
+
+generate_wrappers () {
+	mkdir -p .bin &&
+	wrap_git .bin/git.a "$DIR_A" &&
+	wrap_git .bin/git.b "$DIR_B" &&
+	write_script .bin/git <<-\EOF &&
+	echo >&2 fatal: test tried to run generic git
+	exit 1
+	EOF
+	PATH=$(pwd)/.bin:$PATH
+}
+
+VERSION_A=${GIT_TEST_VERSION_A:-$VERSION_A}
+VERSION_B=${GIT_TEST_VERSION_B:-$VERSION_B}
+
+if ! DIR_A=$(build_version "$VERSION_A") ||
+   ! DIR_B=$(build_version "$VERSION_B")
+then
+	echo >&2 "fatal: unable to build git versions"
+	exit 1
+fi
+
+TEST_DIRECTORY=$INTEROP_ROOT/..
+TEST_OUTPUT_DIRECTORY=$INTEROP_ROOT
+TEST_NO_CREATE_REPO=t
+. "$TEST_DIRECTORY"/test-lib.sh
+
+generate_wrappers || die "unable to set up interop test environment"
diff --git a/t/lib-git-daemon.sh b/t/lib-git-daemon.sh
index f9cbd47..987d406 100644
--- a/t/lib-git-daemon.sh
+++ b/t/lib-git-daemon.sh
@@ -46,7 +46,8 @@
 
 	say >&3 "Starting git daemon ..."
 	mkfifo git_daemon_output
-	git daemon --listen=127.0.0.1 --port="$LIB_GIT_DAEMON_PORT" \
+	${LIB_GIT_DAEMON_COMMAND:-git daemon} \
+		--listen=127.0.0.1 --port="$LIB_GIT_DAEMON_PORT" \
 		--reuseaddr --verbose \
 		--base-path="$GIT_DAEMON_DOCUMENT_ROOT_PATH" \
 		"$@" "$GIT_DAEMON_DOCUMENT_ROOT_PATH" \
diff --git a/t/lib-httpd/apache.conf b/t/lib-httpd/apache.conf
index 69174c6..0642ae7 100644
--- a/t/lib-httpd/apache.conf
+++ b/t/lib-httpd/apache.conf
@@ -133,6 +133,15 @@
 RewriteRule ^/loop-redir/x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-(.*) /$1 [R=302]
 RewriteRule ^/loop-redir/(.*)$ /loop-redir/x-$1 [R=302]
 
+# redir-to/502/x?y -> really-redir-to?path=502/x&qs=y which returns 502
+# redir-to/x?y -> really-redir-to?path=x&qs=y -> x?y
+RewriteCond %{QUERY_STRING} ^(.*)$
+RewriteRule ^/redir-to/(.*)$ /really-redir-to?path=$1&qs=%1 [R=302]
+RewriteCond %{QUERY_STRING} ^path=502/(.*)&qs=(.*)$
+RewriteRule ^/really-redir-to$ - [R=502,L]
+RewriteCond %{QUERY_STRING} ^path=(.*)&qs=(.*)$
+RewriteRule ^/really-redir-to$ /%1?%2 [R=302]
+
 # The first rule issues a client-side redirect to something
 # that _doesn't_ look like a git repo. The second rule is a
 # server-side rewrite, so that it turns out the odd-looking
diff --git a/t/lib-proto-disable.sh b/t/lib-proto-disable.sh
index b0917d9..02f49cb 100644
--- a/t/lib-proto-disable.sh
+++ b/t/lib-proto-disable.sh
@@ -1,15 +1,12 @@
 # Test routines for checking protocol disabling.
 
-# test cloning a particular protocol
-#   $1 - description of the protocol
-#   $2 - machine-readable name of the protocol
-#   $3 - the URL to try cloning
-test_proto () {
+# Test clone/fetch/push with GIT_ALLOW_PROTOCOL whitelist
+test_whitelist () {
 	desc=$1
 	proto=$2
 	url=$3
 
-	test_expect_success "clone $1 (enabled)" '
+	test_expect_success "clone $desc (enabled)" '
 		rm -rf tmp.git &&
 		(
 			GIT_ALLOW_PROTOCOL=$proto &&
@@ -18,7 +15,7 @@
 		)
 	'
 
-	test_expect_success "fetch $1 (enabled)" '
+	test_expect_success "fetch $desc (enabled)" '
 		(
 			cd tmp.git &&
 			GIT_ALLOW_PROTOCOL=$proto &&
@@ -27,7 +24,7 @@
 		)
 	'
 
-	test_expect_success "push $1 (enabled)" '
+	test_expect_success "push $desc (enabled)" '
 		(
 			cd tmp.git &&
 			GIT_ALLOW_PROTOCOL=$proto &&
@@ -36,7 +33,7 @@
 		)
 	'
 
-	test_expect_success "push $1 (disabled)" '
+	test_expect_success "push $desc (disabled)" '
 		(
 			cd tmp.git &&
 			GIT_ALLOW_PROTOCOL=none &&
@@ -45,7 +42,7 @@
 		)
 	'
 
-	test_expect_success "fetch $1 (disabled)" '
+	test_expect_success "fetch $desc (disabled)" '
 		(
 			cd tmp.git &&
 			GIT_ALLOW_PROTOCOL=none &&
@@ -54,7 +51,7 @@
 		)
 	'
 
-	test_expect_success "clone $1 (disabled)" '
+	test_expect_success "clone $desc (disabled)" '
 		rm -rf tmp.git &&
 		(
 			GIT_ALLOW_PROTOCOL=none &&
@@ -62,6 +59,129 @@
 			test_must_fail git clone --bare "$url" tmp.git
 		)
 	'
+
+	test_expect_success "clone $desc (env var has precedence)" '
+		rm -rf tmp.git &&
+		(
+			GIT_ALLOW_PROTOCOL=none &&
+			export GIT_ALLOW_PROTOCOL &&
+			test_must_fail git -c protocol.allow=always clone --bare "$url" tmp.git &&
+			test_must_fail git -c protocol.$proto.allow=always clone --bare "$url" tmp.git
+		)
+	'
+}
+
+test_config () {
+	desc=$1
+	proto=$2
+	url=$3
+
+	# Test clone/fetch/push with protocol.<type>.allow config
+	test_expect_success "clone $desc (enabled with config)" '
+		rm -rf tmp.git &&
+		git -c protocol.$proto.allow=always clone --bare "$url" tmp.git
+	'
+
+	test_expect_success "fetch $desc (enabled)" '
+		git -C tmp.git -c protocol.$proto.allow=always fetch
+	'
+
+	test_expect_success "push $desc (enabled)" '
+		git -C tmp.git -c protocol.$proto.allow=always  push origin HEAD:pushed
+	'
+
+	test_expect_success "push $desc (disabled)" '
+		test_must_fail git -C tmp.git -c protocol.$proto.allow=never push origin HEAD:pushed
+	'
+
+	test_expect_success "fetch $desc (disabled)" '
+		test_must_fail git -C tmp.git -c protocol.$proto.allow=never fetch
+	'
+
+	test_expect_success "clone $desc (disabled)" '
+		rm -rf tmp.git &&
+		test_must_fail git -c protocol.$proto.allow=never clone --bare "$url" tmp.git
+	'
+
+	# Test clone/fetch/push with protocol.user.allow and its env var
+	test_expect_success "clone $desc (enabled)" '
+		rm -rf tmp.git &&
+		git -c protocol.$proto.allow=user clone --bare "$url" tmp.git
+	'
+
+	test_expect_success "fetch $desc (enabled)" '
+		git -C tmp.git -c protocol.$proto.allow=user fetch
+	'
+
+	test_expect_success "push $desc (enabled)" '
+		git -C tmp.git -c protocol.$proto.allow=user push origin HEAD:pushed
+	'
+
+	test_expect_success "push $desc (disabled)" '
+		(
+			cd tmp.git &&
+			GIT_PROTOCOL_FROM_USER=0 &&
+			export GIT_PROTOCOL_FROM_USER &&
+			test_must_fail git -c protocol.$proto.allow=user push origin HEAD:pushed
+		)
+	'
+
+	test_expect_success "fetch $desc (disabled)" '
+		(
+			cd tmp.git &&
+			GIT_PROTOCOL_FROM_USER=0 &&
+			export GIT_PROTOCOL_FROM_USER &&
+			test_must_fail git -c protocol.$proto.allow=user fetch
+		)
+	'
+
+	test_expect_success "clone $desc (disabled)" '
+		rm -rf tmp.git &&
+		(
+			GIT_PROTOCOL_FROM_USER=0 &&
+			export GIT_PROTOCOL_FROM_USER &&
+			test_must_fail git -c protocol.$proto.allow=user clone --bare "$url" tmp.git
+		)
+	'
+
+	# Test clone/fetch/push with protocol.allow user defined default
+	test_expect_success "clone $desc (enabled)" '
+		rm -rf tmp.git &&
+		git config --global protocol.allow always &&
+		git clone --bare "$url" tmp.git
+	'
+
+	test_expect_success "fetch $desc (enabled)" '
+		git -C tmp.git fetch
+	'
+
+	test_expect_success "push $desc (enabled)" '
+		git -C tmp.git push origin HEAD:pushed
+	'
+
+	test_expect_success "push $desc (disabled)" '
+		git config --global protocol.allow never &&
+		test_must_fail git -C tmp.git push origin HEAD:pushed
+	'
+
+	test_expect_success "fetch $desc (disabled)" '
+		test_must_fail git -C tmp.git fetch
+	'
+
+	test_expect_success "clone $desc (disabled)" '
+		rm -rf tmp.git &&
+		test_must_fail git clone --bare "$url" tmp.git
+	'
+}
+
+# test cloning a particular protocol
+#   $1 - description of the protocol
+#   $2 - machine-readable name of the protocol
+#   $3 - the URL to try cloning
+test_proto () {
+	test_whitelist "$@"
+
+	test_config "$@"
 }
 
 # set up an ssh wrapper that will access $host/$repo in the
diff --git a/t/lib-submodule-update.sh b/t/lib-submodule-update.sh
index 79cdd34..fb4f7b0 100755
--- a/t/lib-submodule-update.sh
+++ b/t/lib-submodule-update.sh
@@ -4,6 +4,7 @@
 # - New submodule (no_submodule => add_sub1)
 # - Removed submodule (add_sub1 => remove_sub1)
 # - Updated submodule (add_sub1 => modify_sub1)
+# - Updated submodule recursively (add_nested_sub => modify_sub1_recursively)
 # - Submodule updated to invalid commit (add_sub1 => invalid_sub1)
 # - Submodule updated from invalid commit (invalid_sub1 => valid_sub1)
 # - Submodule replaced by tracked files in directory (add_sub1 =>
@@ -15,23 +16,50 @@
 # - Tracked file replaced by submodule (replace_sub1_with_file =>
 #   replace_file_with_sub1)
 #
-#                   --O-----O
-#                  /  ^     replace_directory_with_sub1
-#                 /   replace_sub1_with_directory
-#                /----O
-#               /     ^
-#              /      modify_sub1
-#      O------O-------O
-#      ^      ^\      ^
-#      |      | \     remove_sub1
-#      |      |  -----O-----O
-#      |      |   \   ^     replace_file_with_sub1
-#      |      |    \  replace_sub1_with_file
-#      |   add_sub1 --O-----O
-# no_submodule        ^     valid_sub1
-#                     invalid_sub1
+#                     ----O
+#                    /    ^
+#                   /     remove_sub1
+#                  /
+#       add_sub1  /-------O---------O--------O  modify_sub1_recursively
+#             |  /        ^         add_nested_sub
+#             | /         modify_sub1
+#             v/
+#      O------O-----------O---------O
+#      ^       \          ^         replace_directory_with_sub1
+#      |        \         replace_sub1_with_directory
+# no_submodule   \
+#                 --------O---------O
+#                  \      ^         replace_file_with_sub1
+#                   \     replace_sub1_with_file
+#                    \
+#                     ----O---------O
+#                         ^         valid_sub1
+#                         invalid_sub1
 #
+
 create_lib_submodule_repo () {
+	git init submodule_update_sub1 &&
+	(
+		cd submodule_update_sub1 &&
+		echo "expect" >>.gitignore &&
+		echo "actual" >>.gitignore &&
+		echo "x" >file1 &&
+		echo "y" >file2 &&
+		git add .gitignore file1 file2 &&
+		git commit -m "Base inside first submodule" &&
+		git branch "no_submodule"
+	) &&
+	git init submodule_update_sub2 &&
+	(
+		cd submodule_update_sub2
+		echo "expect" >>.gitignore &&
+		echo "actual" >>.gitignore &&
+		echo "x" >file1 &&
+		echo "y" >file2 &&
+		git add .gitignore file1 file2 &&
+		git commit -m "nested submodule base" &&
+		git branch "no_submodule"
+	) &&
 	git init submodule_update_repo &&
 	(
 		cd submodule_update_repo &&
@@ -44,15 +72,16 @@
 		git branch "no_submodule" &&
 
 		git checkout -b "add_sub1" &&
-		git submodule add ./. sub1 &&
+		git submodule add ../submodule_update_sub1 sub1 &&
 		git config -f .gitmodules submodule.sub1.ignore all &&
 		git config submodule.sub1.ignore all &&
 		git add .gitmodules &&
 		git commit -m "Add sub1" &&
-		git checkout -b remove_sub1 &&
+
+		git checkout -b remove_sub1 add_sub1 &&
 		git revert HEAD &&
 
-		git checkout -b "modify_sub1" "add_sub1" &&
+		git checkout -b modify_sub1 add_sub1 &&
 		git submodule update &&
 		(
 			cd sub1 &&
@@ -67,33 +96,53 @@
 		git add sub1 &&
 		git commit -m "Modify sub1" &&
 
-		git checkout -b "replace_sub1_with_directory" "add_sub1" &&
+		git checkout -b add_nested_sub modify_sub1 &&
+		git -C sub1 checkout -b "add_nested_sub" &&
+		git -C sub1 submodule add --branch no_submodule ../submodule_update_sub2 sub2 &&
+		git -C sub1 commit -a -m "add a nested submodule" &&
+		git add sub1 &&
+		git commit -a -m "update submodule, that updates a nested submodule" &&
+		git checkout -b modify_sub1_recursively &&
+		git -C sub1 checkout -b modify_sub1_recursively &&
+		git -C sub1/sub2 checkout -b modify_sub1_recursively &&
+		echo change >sub1/sub2/file3 &&
+		git -C sub1/sub2 add file3 &&
+		git -C sub1/sub2 commit -m "make a change in nested sub" &&
+		git -C sub1 add sub2 &&
+		git -C sub1 commit -m "update nested sub" &&
+		git add sub1 &&
+		git commit -m "update sub1, that updates nested sub" &&
+		git -C sub1 push origin modify_sub1_recursively &&
+		git -C sub1/sub2 push origin modify_sub1_recursively &&
+		git -C sub1 submodule deinit -f --all &&
+
+		git checkout -b replace_sub1_with_directory add_sub1 &&
 		git submodule update &&
-		(
-			cd sub1 &&
-			git checkout modifications
-		) &&
+		git -C sub1 checkout modifications &&
 		git rm --cached sub1 &&
 		rm sub1/.git* &&
 		git config -f .gitmodules --remove-section "submodule.sub1" &&
 		git add .gitmodules sub1/* &&
 		git commit -m "Replace sub1 with directory" &&
+
 		git checkout -b replace_directory_with_sub1 &&
 		git revert HEAD &&
 
-		git checkout -b "replace_sub1_with_file" "add_sub1" &&
+		git checkout -b replace_sub1_with_file add_sub1 &&
 		git rm sub1 &&
 		echo "content" >sub1 &&
 		git add sub1 &&
 		git commit -m "Replace sub1 with file" &&
+
 		git checkout -b replace_file_with_sub1 &&
 		git revert HEAD &&
 
-		git checkout -b "invalid_sub1" "add_sub1" &&
+		git checkout -b invalid_sub1 add_sub1 &&
 		git update-index --cacheinfo 160000 0123456789012345678901234567890123456789 sub1 &&
 		git commit -m "Invalid sub1 commit" &&
 		git checkout -b valid_sub1 &&
 		git revert HEAD &&
+
 		git checkout master
 	)
 }
@@ -133,6 +182,15 @@
 	)
 }
 
+test_git_directory_exists() {
+	test -e ".git/modules/$1" &&
+	if test -f sub1/.git
+	then
+		# does core.worktree point at the right place?
+		test "$(git -C .git/modules/$1 config core.worktree)" = "../../../$1"
+	fi
+}
+
 # Helper function to be executed at the start of every test below, it sets up
 # the submodule repo if it doesn't exist and configures the most problematic
 # settings for diff.ignoreSubmodules.
@@ -154,15 +212,36 @@
 		git checkout -f "$1" &&
 		git status -u -s >actual &&
 		test_must_be_empty actual &&
-		sha1=$(git rev-parse --revs-only HEAD:sub1) &&
-		if test -n "$sha1" &&
-		   test $(cd "sub1" && git rev-parse --verify "$sha1^{commit}")
+		hash=$(git rev-parse --revs-only HEAD:sub1) &&
+		if test -n "$hash" &&
+		   test $(cd "../submodule_update_sub1" && git rev-parse --verify "$hash^{commit}")
 		then
 			git submodule update --init --recursive "sub1"
 		fi
 	)
 }
 
+reset_work_tree_to_interested () {
+	reset_work_tree_to $1 &&
+	# make the submodule git dirs available
+	if ! test -d submodule_update/.git/modules/sub1
+	then
+		mkdir -p submodule_update/.git/modules &&
+		cp -r submodule_update_repo/.git/modules/sub1 submodule_update/.git/modules/sub1
+		GIT_WORK_TREE=. git -C submodule_update/.git/modules/sub1 config --unset core.worktree
+	fi &&
+	if ! test -d submodule_update/.git/modules/sub1/modules/sub2
+	then
+		mkdir -p submodule_update/.git/modules/sub1/modules &&
+		cp -r submodule_update_repo/.git/modules/sub1/modules/sub2 submodule_update/.git/modules/sub1/modules/sub2
+		GIT_WORK_TREE=. git -C submodule_update/.git/modules/sub1/modules/sub2 config --unset core.worktree
+	fi &&
+	# indicate we are interested in the submodule:
+	git -C submodule_update config submodule.sub1.url "bogus" &&
+	# sub1 might not be checked out, so use the git dir
+	git -C submodule_update/.git/modules/sub1 config submodule.sub2.url "bogus"
+}
+
 # Test that the superproject contains the content according to commit "$1"
 # (the work tree must match the index for everything but submodules but the
 # index must exactly match the given commit including any submodule SHA-1s).
@@ -176,6 +255,11 @@
 # Test that the given submodule at path "$1" contains the content according
 # to the submodule commit recorded in the superproject's commit "$2"
 test_submodule_content () {
+	if test x"$1" = "x-C"
+	then
+		cd "$2"
+		shift; shift;
+	fi
 	if test $# != 2
 	then
 		echo "test_submodule_content needs two arguments"
@@ -678,3 +762,464 @@
 		)
 	'
 }
+
+# Test that submodule contents are correctly updated when switching
+# between commits that change a submodule.
+# Test that the following transitions are correctly handled:
+# (These tests are also above in the case where we expect no change
+#  in the submodule)
+# - Updated submodule
+# - New submodule
+# - Removed submodule
+# - Directory containing tracked files replaced by submodule
+# - Submodule replaced by tracked files in directory
+# - Submodule replaced by tracked file with the same name
+# - tracked file replaced by submodule
+#
+# New test cases
+# - Removing a submodule with a git directory absorbs the submodules
+#   git directory first into the superproject.
+
+test_submodule_switch_recursing () {
+	command="$1"
+	RESULTDS=success
+	if test "$KNOWN_FAILURE_DIRECTORY_SUBMODULE_CONFLICTS" = 1
+	then
+		RESULTDS=failure
+	fi
+	RESULTR=success
+	if test "$KNOWN_FAILURE_SUBMODULE_RECURSIVE_NESTED" = 1
+	then
+		RESULTR=failure
+	fi
+	RESULTOI=success
+	if test "$KNOWN_FAILURE_SUBMODULE_OVERWRITE_IGNORED_UNTRACKED" = 1
+	then
+		RESULTOI=failure
+	fi
+	######################### Appearing submodule #########################
+	# Switching to a commit letting a submodule appear checks it out ...
+	test_expect_success "$command: added submodule is checked out" '
+		prolog &&
+		reset_work_tree_to_interested no_submodule &&
+		(
+			cd submodule_update &&
+			git branch -t add_sub1 origin/add_sub1 &&
+			$command add_sub1 &&
+			test_superproject_content origin/add_sub1 &&
+			test_submodule_content sub1 origin/add_sub1
+		)
+	'
+	# ... ignoring an empty existing directory ...
+	test_expect_success "$command: added submodule is checked out in empty dir" '
+		prolog &&
+		reset_work_tree_to_interested no_submodule &&
+		(
+			cd submodule_update &&
+			mkdir sub1 &&
+			git branch -t add_sub1 origin/add_sub1 &&
+			$command add_sub1 &&
+			test_superproject_content origin/add_sub1 &&
+			test_submodule_content sub1 origin/add_sub1
+		)
+	'
+	# ... unless there is an untracked file in its place.
+	test_expect_success "$command: added submodule doesn't remove untracked file with same name" '
+		prolog &&
+		reset_work_tree_to_interested no_submodule &&
+		(
+			cd submodule_update &&
+			git branch -t add_sub1 origin/add_sub1 &&
+			: >sub1 &&
+			test_must_fail $command add_sub1 &&
+			test_superproject_content origin/no_submodule &&
+			test_must_be_empty sub1
+		)
+	'
+	# ... but an ignored file is fine.
+	test_expect_$RESULTOI "$command: added submodule removes an untracked ignored file" '
+		test_when_finished "rm submodule_update/.git/info/exclude" &&
+		prolog &&
+		reset_work_tree_to_interested no_submodule &&
+		(
+			cd submodule_update &&
+			git branch -t add_sub1 origin/add_sub1 &&
+			: >sub1 &&
+			echo sub1 >.git/info/exclude
+			$command add_sub1 &&
+			test_superproject_content origin/add_sub1 &&
+			test_submodule_content sub1 origin/add_sub1
+		)
+	'
+	# Replacing a tracked file with a submodule produces a checked out submodule
+	test_expect_success "$command: replace tracked file with submodule checks out submodule" '
+		prolog &&
+		reset_work_tree_to_interested replace_sub1_with_file &&
+		(
+			cd submodule_update &&
+			git branch -t replace_file_with_sub1 origin/replace_file_with_sub1 &&
+			$command replace_file_with_sub1 &&
+			test_superproject_content origin/replace_file_with_sub1 &&
+			test_submodule_content sub1 origin/replace_file_with_sub1
+		)
+	'
+	# ... as does removing a directory with tracked files with a submodule.
+	test_expect_success "$command: replace directory with submodule" '
+		prolog &&
+		reset_work_tree_to_interested replace_sub1_with_directory &&
+		(
+			cd submodule_update &&
+			git branch -t replace_directory_with_sub1 origin/replace_directory_with_sub1 &&
+			$command replace_directory_with_sub1 &&
+			test_superproject_content origin/replace_directory_with_sub1 &&
+			test_submodule_content sub1 origin/replace_directory_with_sub1
+		)
+	'
+
+	######################## Disappearing submodule #######################
+	# Removing a submodule removes its work tree ...
+	test_expect_success "$command: removed submodule removes submodules working tree" '
+		prolog &&
+		reset_work_tree_to_interested add_sub1 &&
+		(
+			cd submodule_update &&
+			git branch -t remove_sub1 origin/remove_sub1 &&
+			$command remove_sub1 &&
+			test_superproject_content origin/remove_sub1 &&
+			! test -e sub1
+		)
+	'
+	# ... absorbing a .git directory along the way.
+	test_expect_success "$command: removed submodule absorbs submodules .git directory" '
+		prolog &&
+		reset_work_tree_to_interested add_sub1 &&
+		(
+			cd submodule_update &&
+			git branch -t remove_sub1 origin/remove_sub1 &&
+			replace_gitfile_with_git_dir sub1 &&
+			rm -rf .git/modules &&
+			$command remove_sub1 &&
+			test_superproject_content origin/remove_sub1 &&
+			! test -e sub1 &&
+			test_git_directory_exists sub1
+		)
+	'
+	# Replacing a submodule with files in a directory must succeeds
+	# when the submodule is clean
+	test_expect_$RESULTDS "$command: replace submodule with a directory" '
+		prolog &&
+		reset_work_tree_to_interested add_sub1 &&
+		(
+			cd submodule_update &&
+			git branch -t replace_sub1_with_directory origin/replace_sub1_with_directory &&
+			$command replace_sub1_with_directory &&
+			test_superproject_content origin/replace_sub1_with_directory &&
+			test_submodule_content sub1 origin/replace_sub1_with_directory
+		)
+	'
+	# ... absorbing a .git directory.
+	test_expect_$RESULTDS "$command: replace submodule containing a .git directory with a directory must absorb the git dir" '
+		prolog &&
+		reset_work_tree_to_interested add_sub1 &&
+		(
+			cd submodule_update &&
+			git branch -t replace_sub1_with_directory origin/replace_sub1_with_directory &&
+			replace_gitfile_with_git_dir sub1 &&
+			rm -rf .git/modules &&
+			$command replace_sub1_with_directory &&
+			test_superproject_content origin/replace_sub1_with_directory &&
+			test_git_directory_exists sub1
+		)
+	'
+
+	# Replacing it with a file ...
+	test_expect_success "$command: replace submodule with a file" '
+		prolog &&
+		reset_work_tree_to_interested add_sub1 &&
+		(
+			cd submodule_update &&
+			git branch -t replace_sub1_with_file origin/replace_sub1_with_file &&
+			$command replace_sub1_with_file &&
+			test_superproject_content origin/replace_sub1_with_file &&
+			test -f sub1
+		)
+	'
+
+	# ... must check its local work tree for untracked files
+	test_expect_$RESULTDS "$command: replace submodule with a file must fail with untracked files" '
+		prolog &&
+		reset_work_tree_to_interested add_sub1 &&
+		(
+			cd submodule_update &&
+			git branch -t replace_sub1_with_file origin/replace_sub1_with_file &&
+			: >sub1/untrackedfile &&
+			test_must_fail $command replace_sub1_with_file &&
+			test_superproject_content origin/add_sub1 &&
+			test_submodule_content sub1 origin/add_sub1
+		)
+	'
+
+	# ... and ignored files are ignored
+	test_expect_success "$command: replace submodule with a file works ignores ignored files in submodule" '
+		test_when_finished "rm submodule_update/.git/modules/sub1/info/exclude" &&
+		prolog &&
+		reset_work_tree_to_interested add_sub1 &&
+		(
+			cd submodule_update &&
+			git branch -t replace_sub1_with_file origin/replace_sub1_with_file &&
+			: >sub1/ignored &&
+			$command replace_sub1_with_file &&
+			test_superproject_content origin/replace_sub1_with_file &&
+			test -f sub1
+		)
+	'
+
+	########################## Modified submodule #########################
+	# Updating a submodule sha1 updates the submodule's work tree
+	test_expect_success "$command: modified submodule updates submodule work tree" '
+		prolog &&
+		reset_work_tree_to_interested add_sub1 &&
+		(
+			cd submodule_update &&
+			git branch -t modify_sub1 origin/modify_sub1 &&
+			$command modify_sub1 &&
+			test_superproject_content origin/modify_sub1 &&
+			test_submodule_content sub1 origin/modify_sub1
+		)
+	'
+
+	# Updating a submodule to an invalid sha1 doesn't update the
+	# superproject nor the submodule's work tree.
+	test_expect_success "$command: updating to a missing submodule commit fails" '
+		prolog &&
+		reset_work_tree_to_interested add_sub1 &&
+		(
+			cd submodule_update &&
+			git branch -t invalid_sub1 origin/invalid_sub1 &&
+			test_must_fail $command invalid_sub1 &&
+			test_superproject_content origin/add_sub1 &&
+			test_submodule_content sub1 origin/add_sub1
+		)
+	'
+
+	# recursing deeper than one level doesn't work yet.
+	test_expect_$RESULTR "$command: modified submodule updates submodule recursively" '
+		prolog &&
+		reset_work_tree_to_interested add_nested_sub &&
+		(
+			cd submodule_update &&
+			git branch -t modify_sub1_recursively origin/modify_sub1_recursively &&
+			$command modify_sub1_recursively &&
+			test_superproject_content origin/modify_sub1_recursively &&
+			test_submodule_content sub1 origin/modify_sub1_recursively &&
+			test_submodule_content -C sub1 sub2 origin/modify_sub1_recursively
+		)
+	'
+}
+
+# Test that submodule contents are updated when switching between commits
+# that change a submodule, but throwing away local changes in
+# the superproject as well as the submodule is allowed.
+test_submodule_forced_switch_recursing () {
+	command="$1"
+	RESULT=success
+	if test "$KNOWN_FAILURE_DIRECTORY_SUBMODULE_CONFLICTS" = 1
+	then
+		RESULT=failure
+	fi
+	######################### Appearing submodule #########################
+	# Switching to a commit letting a submodule appear creates empty dir ...
+	test_expect_success "$command: added submodule is checked out" '
+		prolog &&
+		reset_work_tree_to_interested no_submodule &&
+		(
+			cd submodule_update &&
+			git branch -t add_sub1 origin/add_sub1 &&
+			$command add_sub1 &&
+			test_superproject_content origin/add_sub1 &&
+			test_submodule_content sub1 origin/add_sub1
+		)
+	'
+	# ... and doesn't care if it already exists ...
+	test_expect_success "$command: added submodule ignores empty directory" '
+		prolog &&
+		reset_work_tree_to_interested no_submodule &&
+		(
+			cd submodule_update &&
+			git branch -t add_sub1 origin/add_sub1 &&
+			mkdir sub1 &&
+			$command add_sub1 &&
+			test_superproject_content origin/add_sub1 &&
+			test_submodule_content sub1 origin/add_sub1
+		)
+	'
+	# ... not caring about an untracked file either
+	test_expect_success "$command: added submodule does remove untracked unignored file with same name when forced" '
+		prolog &&
+		reset_work_tree_to_interested no_submodule &&
+		(
+			cd submodule_update &&
+			git branch -t add_sub1 origin/add_sub1 &&
+			>sub1 &&
+			$command add_sub1 &&
+			test_superproject_content origin/add_sub1 &&
+			test_submodule_content sub1 origin/add_sub1
+		)
+	'
+	# Replacing a tracked file with a submodule checks out the submodule
+	test_expect_success "$command: replace tracked file with submodule populates the submodule" '
+		prolog &&
+		reset_work_tree_to_interested replace_sub1_with_file &&
+		(
+			cd submodule_update &&
+			git branch -t replace_file_with_sub1 origin/replace_file_with_sub1 &&
+			$command replace_file_with_sub1 &&
+			test_superproject_content origin/replace_file_with_sub1 &&
+			test_submodule_content sub1 origin/replace_file_with_sub1
+		)
+	'
+	# ... as does removing a directory with tracked files with a
+	# submodule.
+	test_expect_success "$command: replace directory with submodule" '
+		prolog &&
+		reset_work_tree_to_interested replace_sub1_with_directory &&
+		(
+			cd submodule_update &&
+			git branch -t replace_directory_with_sub1 origin/replace_directory_with_sub1 &&
+			$command replace_directory_with_sub1 &&
+			test_superproject_content origin/replace_directory_with_sub1 &&
+			test_submodule_content sub1 origin/replace_directory_with_sub1
+		)
+	'
+
+	######################## Disappearing submodule #######################
+	# Removing a submodule doesn't remove its work tree ...
+	test_expect_success "$command: removed submodule leaves submodule directory and its contents in place" '
+		prolog &&
+		reset_work_tree_to_interested add_sub1 &&
+		(
+			cd submodule_update &&
+			git branch -t remove_sub1 origin/remove_sub1 &&
+			$command remove_sub1 &&
+			test_superproject_content origin/remove_sub1 &&
+			! test -e sub1
+		)
+	'
+	# ... especially when it contains a .git directory.
+	test_expect_success "$command: removed submodule leaves submodule containing a .git directory alone" '
+		prolog &&
+		reset_work_tree_to_interested add_sub1 &&
+		(
+			cd submodule_update &&
+			git branch -t remove_sub1 origin/remove_sub1 &&
+			replace_gitfile_with_git_dir sub1 &&
+			rm -rf .git/modules/sub1 &&
+			$command remove_sub1 &&
+			test_superproject_content origin/remove_sub1 &&
+			test_git_directory_exists sub1 &&
+			! test -e sub1
+		)
+	'
+	# Replacing a submodule with files in a directory ...
+	test_expect_success "$command: replace submodule with a directory" '
+		prolog &&
+		reset_work_tree_to_interested add_sub1 &&
+		(
+			cd submodule_update &&
+			git branch -t replace_sub1_with_directory origin/replace_sub1_with_directory &&
+			$command replace_sub1_with_directory &&
+			test_superproject_content origin/replace_sub1_with_directory
+		)
+	'
+	# ... absorbing a .git directory.
+	test_expect_success "$command: replace submodule containing a .git directory with a directory must fail" '
+		prolog &&
+		reset_work_tree_to_interested add_sub1 &&
+		(
+			cd submodule_update &&
+			git branch -t replace_sub1_with_directory origin/replace_sub1_with_directory &&
+			replace_gitfile_with_git_dir sub1 &&
+			rm -rf .git/modules/sub1 &&
+			$command replace_sub1_with_directory &&
+			test_superproject_content origin/replace_sub1_with_directory &&
+			test_submodule_content sub1 origin/modify_sub1
+			test_git_directory_exists sub1
+		)
+	'
+	# Replacing it with a file
+	test_expect_success "$command: replace submodule with a file" '
+		prolog &&
+		reset_work_tree_to_interested add_sub1 &&
+		(
+			cd submodule_update &&
+			git branch -t replace_sub1_with_file origin/replace_sub1_with_file &&
+			$command replace_sub1_with_file &&
+			test_superproject_content origin/replace_sub1_with_file
+		)
+	'
+
+	# ... even if the submodule contains ignored files
+	test_expect_success "$command: replace submodule with a file ignoring ignored files" '
+		prolog &&
+		reset_work_tree_to_interested add_sub1 &&
+		(
+			cd submodule_update &&
+			git branch -t replace_sub1_with_file origin/replace_sub1_with_file &&
+			: >sub1/expect &&
+			$command replace_sub1_with_file &&
+			test_superproject_content origin/replace_sub1_with_file
+		)
+	'
+
+	# ... but stops for untracked files that would be lost
+	test_expect_$RESULT "$command: replace submodule with a file stops for untracked files" '
+		prolog &&
+		reset_work_tree_to_interested add_sub1 &&
+		(
+			cd submodule_update &&
+			git branch -t replace_sub1_with_file origin/replace_sub1_with_file &&
+			: >sub1/untracked_file &&
+			test_must_fail $command replace_sub1_with_file &&
+			test_superproject_content origin/add_sub1 &&
+			test -f sub1/untracked_file
+		)
+	'
+
+	########################## Modified submodule #########################
+	# Updating a submodule sha1 updates the submodule's work tree
+	test_expect_success "$command: modified submodule updates submodule work tree" '
+		prolog &&
+		reset_work_tree_to_interested add_sub1 &&
+		(
+			cd submodule_update &&
+			git branch -t modify_sub1 origin/modify_sub1 &&
+			$command modify_sub1 &&
+			test_superproject_content origin/modify_sub1 &&
+			test_submodule_content sub1 origin/modify_sub1
+		)
+	'
+	# Updating a submodule to an invalid sha1 doesn't update the
+	# submodule's work tree, subsequent update will fail
+	test_expect_success "$command: modified submodule does not update submodule work tree to invalid commit" '
+		prolog &&
+		reset_work_tree_to_interested add_sub1 &&
+		(
+			cd submodule_update &&
+			git branch -t invalid_sub1 origin/invalid_sub1 &&
+			test_must_fail $command invalid_sub1 &&
+			test_superproject_content origin/add_sub1 &&
+			test_submodule_content sub1 origin/add_sub1
+		)
+	'
+	# Updating a submodule from an invalid sha1 updates
+	test_expect_success "$command: modified submodule does not update submodule work tree from invalid commit" '
+		prolog &&
+		reset_work_tree_to_interested invalid_sub1 &&
+		(
+			cd submodule_update &&
+			git branch -t valid_sub1 origin/valid_sub1 &&
+			test_must_fail $command valid_sub1 &&
+			test_superproject_content origin/invalid_sub1
+		)
+	'
+}
diff --git a/t/perf/p0001-rev-list.sh b/t/perf/p0001-rev-list.sh
index 16359d5..ebf1724 100755
--- a/t/perf/p0001-rev-list.sh
+++ b/t/perf/p0001-rev-list.sh
@@ -15,7 +15,8 @@
 '
 
 test_expect_success 'create new unreferenced commit' '
-	commit=$(git commit-tree HEAD^{tree} -p HEAD)
+	commit=$(git commit-tree HEAD^{tree} -p HEAD) &&
+	test_export commit
 '
 
 test_perf 'rev-list $commit --not --all' '
diff --git a/t/perf/p0071-sort.sh b/t/perf/p0071-sort.sh
new file mode 100755
index 0000000..7c9a35a
--- /dev/null
+++ b/t/perf/p0071-sort.sh
@@ -0,0 +1,26 @@
+#!/bin/sh
+
+test_description='Basic sort performance tests'
+. ./perf-lib.sh
+
+test_perf_default_repo
+
+test_expect_success 'setup' '
+	git ls-files --stage "*.[ch]" "*.sh" |
+	cut -f2 -d" " |
+	git cat-file --batch >unsorted
+'
+
+test_perf 'sort(1)' '
+	sort <unsorted >expect
+'
+
+test_perf 'string_list_sort()' '
+	test-string-list sort <unsorted >actual
+'
+
+test_expect_success 'string_list_sort() sorts like sort(1)' '
+	test_cmp_bin expect actual
+'
+
+test_done
diff --git a/t/perf/p5302-pack-index.sh b/t/perf/p5302-pack-index.sh
index 5ee9211..99bdb16 100755
--- a/t/perf/p5302-pack-index.sh
+++ b/t/perf/p5302-pack-index.sh
@@ -13,6 +13,13 @@
 	export PACK
 '
 
+test_expect_success 'create target repositories' '
+	for repo in t1 t2 t3 t4 t5 t6
+	do
+		git init --bare $repo
+	done
+'
+
 test_perf 'index-pack 0 threads' '
 	GIT_DIR=t1 git index-pack --threads=1 --stdin < $PACK
 '
diff --git a/t/perf/p7000-filter-branch.sh b/t/perf/p7000-filter-branch.sh
index 15ee5d1..b029586 100755
--- a/t/perf/p7000-filter-branch.sh
+++ b/t/perf/p7000-filter-branch.sh
@@ -16,4 +16,9 @@
 	git filter-branch -f base..HEAD
 '
 
+test_perf 'noop prune-empty' '
+	git checkout --detach tip &&
+	git filter-branch -f --prune-empty base..HEAD
+'
+
 test_done
diff --git a/t/perf/perf-lib.sh b/t/perf/perf-lib.sh
index 46f08ee..ab4b8b0 100644
--- a/t/perf/perf-lib.sh
+++ b/t/perf/perf-lib.sh
@@ -83,7 +83,7 @@
 	error "bug in the test script: not 2 parameters to test-create-repo"
 	repo="$1"
 	source="$2"
-	source_git="$(git -C "$source" rev-parse --git-dir)"
+	source_git="$("$MODERN_GIT" -C "$source" rev-parse --git-dir)"
 	objects_dir="$("$MODERN_GIT" -C "$source" rev-parse --git-path objects)"
 	mkdir -p "$repo/.git"
 	(
@@ -102,7 +102,7 @@
 	) &&
 	(
 		cd "$repo" &&
-		git init -q && {
+		"$MODERN_GIT" init -q && {
 			test_have_prereq SYMLINKS ||
 			git config core.symlinks false
 		} &&
diff --git a/t/perf/run b/t/perf/run
index e8adeda..c788d71 100755
--- a/t/perf/run
+++ b/t/perf/run
@@ -63,6 +63,9 @@
 		unset GIT_TEST_INSTALLED
 	else
 		GIT_TEST_INSTALLED="$mydir/bin-wrappers"
+		# Older versions of git lacked bin-wrappers; fallback to the
+		# files in the root.
+		test -d "$GIT_TEST_INSTALLED" || GIT_TEST_INSTALLED=$mydir
 		export GIT_TEST_INSTALLED
 	fi
 	run_one_dir "$@"
diff --git a/t/t0001-init.sh b/t/t0001-init.sh
index b8fc588..c4814d2 100755
--- a/t/t0001-init.sh
+++ b/t/t0001-init.sh
@@ -258,6 +258,9 @@
 	(
 		# Leading directories should honor umask while
 		# the repository itself should follow "shared"
+		mkdir newdir &&
+		# Remove a default ACL if possible.
+		(setfacl -k newdir 2>/dev/null || true) &&
 		umask 002 &&
 		git init --bare --shared=0660 newdir/a/b/c &&
 		test_path_is_dir newdir/a/b/c/refs &&
@@ -312,6 +315,20 @@
 	test_path_is_dir realgitdir/refs
 '
 
+test_expect_success 'init in long base path' '
+	# exceed initial buffer size of strbuf_getcwd()
+	component=123456789abcdef &&
+	test_when_finished "chmod 0700 $component; rm -rf $component" &&
+	p31=$component/$component &&
+	p127=$p31/$p31/$p31/$p31 &&
+	mkdir -p $p127 &&
+	chmod 0111 $component &&
+	(
+		cd $p127 &&
+		git init newdir
+	)
+'
+
 test_expect_success 're-init on .git file' '
 	( cd newdir && git init )
 '
diff --git a/t/t0003-attributes.sh b/t/t0003-attributes.sh
index f0fbb42..f19ae4f 100755
--- a/t/t0003-attributes.sh
+++ b/t/t0003-attributes.sh
@@ -13,10 +13,31 @@
 	test_line_count = 0 err
 }
 
+attr_check_quote () {
+
+	path="$1"
+	quoted_path="$2"
+	expect="$3"
+
+	git check-attr test -- "$path" >actual &&
+	echo "\"$quoted_path\": test: $expect" >expect &&
+	test_cmp expect actual
+
+}
+
+test_expect_success 'open-quoted pathname' '
+	echo "\"a test=a" >.gitattributes &&
+	test_must_fail attr_check a a
+'
+
+
 test_expect_success 'setup' '
 	mkdir -p a/b/d a/c b &&
 	(
 		echo "[attr]notest !test"
+		echo "\" d \"	test=d"
+		echo " e	test=e"
+		echo " e\"	test=e"
 		echo "f	test=f"
 		echo "a/i test=a/i"
 		echo "onoff test -test"
@@ -69,6 +90,11 @@
 '
 
 test_expect_success 'attribute test' '
+
+	attr_check " d " d &&
+	attr_check e e &&
+	attr_check_quote e\" e\\\" e &&
+
 	attr_check f f &&
 	attr_check a/f f &&
 	attr_check a/c/f f &&
diff --git a/t/t0013-sha1dc.sh b/t/t0013-sha1dc.sh
new file mode 100755
index 0000000..6d655cb
--- /dev/null
+++ b/t/t0013-sha1dc.sh
@@ -0,0 +1,19 @@
+#!/bin/sh
+
+test_description='test sha1 collision detection'
+. ./test-lib.sh
+TEST_DATA="$TEST_DIRECTORY/t0013"
+
+if test -z "$DC_SHA1"
+then
+	skip_all='skipping sha1 collision tests, DC_SHA1 not set'
+	test_done
+fi
+
+test_expect_success 'test-sha1 detects shattered pdf' '
+	test_must_fail test-sha1 <"$TEST_DATA/shattered-1.pdf" 2>err &&
+	test_i18ngrep collision err &&
+	grep 38762cf7f55934b34d179ae6a4c80cadccbb7f0a err
+'
+
+test_done
diff --git a/t/t0013/shattered-1.pdf b/t/t0013/shattered-1.pdf
new file mode 100644
index 0000000..ba9aaa1
--- /dev/null
+++ b/t/t0013/shattered-1.pdf
Binary files differ
diff --git a/t/t0100-previous.sh b/t/t0100-previous.sh
index e0a6940..58c0b7e 100755
--- a/t/t0100-previous.sh
+++ b/t/t0100-previous.sh
@@ -56,5 +56,13 @@
 	test_must_fail git merge @{-100}
 '
 
+test_expect_success 'log -g @{-1}' '
+	git checkout -b last_branch &&
+	git checkout -b new_branch &&
+	echo "last_branch@{0}" >expect &&
+	git log -g --format=%gd @{-1} >actual &&
+	test_cmp expect actual
+'
+
 test_done
 
diff --git a/t/t0202/test.pl b/t/t0202/test.pl
index 2c10cb4..2cbf7b9 100755
--- a/t/t0202/test.pl
+++ b/t/t0202/test.pl
@@ -4,7 +4,7 @@
 use strict;
 use warnings;
 use POSIX qw(:locale_h);
-use Test::More tests => 8;
+use Test::More tests => 13;
 use Git::I18N;
 
 my $has_gettext_library = $Git::I18N::__HAS_LIBRARY;
@@ -31,6 +31,8 @@
 	# more gettext wrapper functions.
 	my %prototypes = (qw(
 		__	$
+		__n	$$$
+		N__	$
 	));
 	while (my ($sub, $proto) = each %prototypes) {
 		is(prototype(\&{"Git::I18N::$sub"}), $proto, "sanity: $sub has a $proto prototype");
@@ -46,6 +48,16 @@
 	my ($got, $expect) = (('TEST: A Perl test string') x 2);
 
 	is(__($got), $expect, "Passing a string through __() in the C locale works");
+
+	my ($got_singular, $got_plural, $expect_singular, $expect_plural) =
+		(('TEST: 1 file', 'TEST: n files') x 2);
+
+	is(__n($got_singular, $got_plural, 1), $expect_singular,
+		"Get singular string through __n() in C locale");
+	is(__n($got_singular, $got_plural, 2), $expect_plural,
+		"Get plural string through __n() in C locale");
+
+	is(N__($got), $expect, "Passing a string through N__() in the C locale works");
 }
 
 # Test a basic message on different locales
diff --git a/t/t0301-credential-cache.sh b/t/t0301-credential-cache.sh
index 82c8411..fd92533 100755
--- a/t/t0301-credential-cache.sh
+++ b/t/t0301-credential-cache.sh
@@ -12,7 +12,100 @@
 # don't leave a stale daemon running
 trap 'code=$?; git credential-cache exit; (exit $code); die' EXIT
 
+# test that the daemon works with no special setup
 helper_test cache
+
+test_expect_success 'socket defaults to ~/.cache/git/credential/socket' '
+	test_when_finished "
+		git credential-cache exit &&
+		rmdir -p .cache/git/credential/
+	" &&
+	test_path_is_missing "$HOME/.git-credential-cache" &&
+	test -S "$HOME/.cache/git/credential/socket"
+'
+
+XDG_CACHE_HOME="$HOME/xdg"
+export XDG_CACHE_HOME
+# test behavior when XDG_CACHE_HOME is set
+helper_test cache
+
+test_expect_success "use custom XDG_CACHE_HOME if set and default sockets are not created" '
+	test_when_finished "git credential-cache exit" &&
+	test -S "$XDG_CACHE_HOME/git/credential/socket" &&
+	test_path_is_missing "$HOME/.git-credential-cache/socket" &&
+	test_path_is_missing "$HOME/.cache/git/credential/socket"
+'
+unset XDG_CACHE_HOME
+
+test_expect_success 'credential-cache --socket option overrides default location' '
+	test_when_finished "
+		git credential-cache exit --socket \"\$HOME/dir/socket\" &&
+		rmdir \"\$HOME/dir\"
+	" &&
+	check approve "cache --socket \"\$HOME/dir/socket\"" <<-\EOF &&
+	protocol=https
+	host=example.com
+	username=store-user
+	password=store-pass
+	EOF
+	test -S "$HOME/dir/socket"
+'
+
+test_expect_success "use custom XDG_CACHE_HOME even if xdg socket exists" '
+	test_when_finished "
+		git credential-cache exit &&
+		sane_unset XDG_CACHE_HOME
+	" &&
+	check approve cache <<-\EOF &&
+	protocol=https
+	host=example.com
+	username=store-user
+	password=store-pass
+	EOF
+	test -S "$HOME/.cache/git/credential/socket" &&
+	XDG_CACHE_HOME="$HOME/xdg" &&
+	export XDG_CACHE_HOME &&
+	check approve cache <<-\EOF &&
+	protocol=https
+	host=example.com
+	username=store-user
+	password=store-pass
+	EOF
+	test -S "$XDG_CACHE_HOME/git/credential/socket"
+'
+
+test_expect_success 'use user socket if user directory exists' '
+	test_when_finished "
+		git credential-cache exit &&
+		rmdir \"\$HOME/.git-credential-cache/\"
+	" &&
+	mkdir -p -m 700 "$HOME/.git-credential-cache/" &&
+	check approve cache <<-\EOF &&
+	protocol=https
+	host=example.com
+	username=store-user
+	password=store-pass
+	EOF
+	test -S "$HOME/.git-credential-cache/socket"
+'
+
+test_expect_success SYMLINKS 'use user socket if user directory is a symlink to a directory' '
+	test_when_finished "
+		git credential-cache exit &&
+		rmdir \"\$HOME/dir/\" &&
+		rm \"\$HOME/.git-credential-cache\"
+	" &&
+	mkdir -p -m 700 "$HOME/dir/" &&
+	ln -s "$HOME/dir" "$HOME/.git-credential-cache" &&
+	check approve cache <<-\EOF &&
+	protocol=https
+	host=example.com
+	username=store-user
+	password=store-pass
+	EOF
+	test -S "$HOME/.git-credential-cache/socket"
+'
+
 helper_test_timeout cache --timeout=1
 
 # we can't rely on our "trap" above working after test_done,
diff --git a/t/t1000-read-tree-m-3way.sh b/t/t1000-read-tree-m-3way.sh
index a0b79b4..3c4d2d6 100755
--- a/t/t1000-read-tree-m-3way.sh
+++ b/t/t1000-read-tree-m-3way.sh
@@ -128,29 +128,29 @@
 EOF
 
 check_result () {
-    git ls-files --stage | sed -e 's/ '"$_x40"' / X /' >current &&
-    test_cmp expected current
+	git ls-files --stage | sed -e 's/ '"$_x40"' / X /' >current &&
+	test_cmp expected current
 }
 
 # This is done on an empty work directory, which is the normal
 # merge person behaviour.
-test_expect_success \
-    '3-way merge with git read-tree -m, empty cache' \
-    "rm -fr [NDMALTS][NDMALTSF] Z &&
-     rm .git/index &&
-     read_tree_must_succeed -m $tree_O $tree_A $tree_B &&
-     check_result"
+test_expect_success '3-way merge with git read-tree -m, empty cache' '
+	rm -fr [NDMALTS][NDMALTSF] Z &&
+	rm .git/index &&
+	read_tree_must_succeed -m $tree_O $tree_A $tree_B &&
+	check_result
+'
 
 # This starts out with the first head, which is the normal
 # patch submitter behaviour.
-test_expect_success \
-    '3-way merge with git read-tree -m, match H' \
-    "rm -fr [NDMALTS][NDMALTSF] Z &&
-     rm .git/index &&
-     read_tree_must_succeed $tree_A &&
-     git checkout-index -f -u -a &&
-     read_tree_must_succeed -m $tree_O $tree_A $tree_B &&
-     check_result"
+test_expect_success '3-way merge with git read-tree -m, match H' '
+	rm -fr [NDMALTS][NDMALTSF] Z &&
+	rm .git/index &&
+	read_tree_must_succeed $tree_A &&
+	git checkout-index -f -u -a &&
+	read_tree_must_succeed -m $tree_O $tree_A $tree_B &&
+	check_result
+'
 
 : <<\END_OF_CASE_TABLE
 
@@ -208,322 +208,304 @@
 
 END_OF_CASE_TABLE
 
-test_expect_success '1 - must not have an entry not in A.' "
-     rm -f .git/index XX &&
-     echo XX >XX &&
-     git update-index --add XX &&
-     read_tree_must_fail -m $tree_O $tree_A $tree_B
-"
+test_expect_success '1 - must not have an entry not in A.' '
+	rm -f .git/index XX &&
+	echo XX >XX &&
+	git update-index --add XX &&
+	read_tree_must_fail -m $tree_O $tree_A $tree_B
+'
 
-test_expect_success \
-    '2 - must match B in !O && !A && B case.' \
-    "rm -f .git/index NA &&
-     cp .orig-B/NA NA &&
-     git update-index --add NA &&
-     read_tree_must_succeed -m $tree_O $tree_A $tree_B"
+test_expect_success '2 - must match B in !O && !A && B case.' '
+	rm -f .git/index NA &&
+	cp .orig-B/NA NA &&
+	git update-index --add NA &&
+	read_tree_must_succeed -m $tree_O $tree_A $tree_B
+'
 
-test_expect_success \
-    '2 - matching B alone is OK in !O && !A && B case.' \
-    "rm -f .git/index NA &&
-     cp .orig-B/NA NA &&
-     git update-index --add NA &&
-     echo extra >>NA &&
-     read_tree_must_succeed -m $tree_O $tree_A $tree_B"
+test_expect_success '2 - matching B alone is OK in !O && !A && B case.' '
+	rm -f .git/index NA &&
+	cp .orig-B/NA NA &&
+	git update-index --add NA &&
+	echo extra >>NA &&
+	read_tree_must_succeed -m $tree_O $tree_A $tree_B
+'
 
-test_expect_success \
-    '3 - must match A in !O && A && !B case.' \
-    "rm -f .git/index AN &&
-     cp .orig-A/AN AN &&
-     git update-index --add AN &&
-     read_tree_must_succeed -m $tree_O $tree_A $tree_B &&
-     check_result"
+test_expect_success '3 - must match A in !O && A && !B case.' '
+	rm -f .git/index AN &&
+	cp .orig-A/AN AN &&
+	git update-index --add AN &&
+	read_tree_must_succeed -m $tree_O $tree_A $tree_B &&
+	check_result
+'
 
-test_expect_success \
-    '3 - matching A alone is OK in !O && A && !B case.' \
-    "rm -f .git/index AN &&
-     cp .orig-A/AN AN &&
-     git update-index --add AN &&
-     echo extra >>AN &&
-     read_tree_must_succeed -m $tree_O $tree_A $tree_B"
+test_expect_success '3 - matching A alone is OK in !O && A && !B case.' '
+	rm -f .git/index AN &&
+	cp .orig-A/AN AN &&
+	git update-index --add AN &&
+	echo extra >>AN &&
+	read_tree_must_succeed -m $tree_O $tree_A $tree_B
+'
 
-test_expect_success \
-    '3 (fail) - must match A in !O && A && !B case.' "
-     rm -f .git/index AN &&
-     cp .orig-A/AN AN &&
-     echo extra >>AN &&
-     git update-index --add AN &&
-     read_tree_must_fail -m $tree_O $tree_A $tree_B
-"
+test_expect_success '3 (fail) - must match A in !O && A && !B case.' '
+	rm -f .git/index AN &&
+	cp .orig-A/AN AN &&
+	echo extra >>AN &&
+	git update-index --add AN &&
+	read_tree_must_fail -m $tree_O $tree_A $tree_B
+'
 
-test_expect_success \
-    '4 - must match and be up-to-date in !O && A && B && A!=B case.' \
-    "rm -f .git/index AA &&
-     cp .orig-A/AA AA &&
-     git update-index --add AA &&
-     read_tree_must_succeed -m $tree_O $tree_A $tree_B &&
-     check_result"
+test_expect_success '4 - must match and be up-to-date in !O && A && B && A!=B case.' '
+	rm -f .git/index AA &&
+	cp .orig-A/AA AA &&
+	git update-index --add AA &&
+	read_tree_must_succeed -m $tree_O $tree_A $tree_B &&
+	check_result
+'
 
-test_expect_success \
-    '4 (fail) - must match and be up-to-date in !O && A && B && A!=B case.' "
-     rm -f .git/index AA &&
-     cp .orig-A/AA AA &&
-     git update-index --add AA &&
-     echo extra >>AA &&
-     read_tree_must_fail -m $tree_O $tree_A $tree_B
-"
+test_expect_success '4 (fail) - must match and be up-to-date in !O && A && B && A!=B case.' '
+	rm -f .git/index AA &&
+	cp .orig-A/AA AA &&
+	git update-index --add AA &&
+	echo extra >>AA &&
+	read_tree_must_fail -m $tree_O $tree_A $tree_B
+'
 
-test_expect_success \
-    '4 (fail) - must match and be up-to-date in !O && A && B && A!=B case.' "
-     rm -f .git/index AA &&
-     cp .orig-A/AA AA &&
-     echo extra >>AA &&
-     git update-index --add AA &&
-     read_tree_must_fail -m $tree_O $tree_A $tree_B
-"
+test_expect_success '4 (fail) - must match and be up-to-date in !O && A && B && A!=B case.' '
+	rm -f .git/index AA &&
+	cp .orig-A/AA AA &&
+	echo extra >>AA &&
+	git update-index --add AA &&
+	read_tree_must_fail -m $tree_O $tree_A $tree_B
+'
 
-test_expect_success \
-    '5 - must match in !O && A && B && A==B case.' \
-    "rm -f .git/index LL &&
-     cp .orig-A/LL LL &&
-     git update-index --add LL &&
-     read_tree_must_succeed -m $tree_O $tree_A $tree_B &&
-     check_result"
+test_expect_success '5 - must match in !O && A && B && A==B case.' '
+	rm -f .git/index LL &&
+	cp .orig-A/LL LL &&
+	git update-index --add LL &&
+	read_tree_must_succeed -m $tree_O $tree_A $tree_B &&
+	check_result
+'
 
-test_expect_success \
-    '5 - must match in !O && A && B && A==B case.' \
-    "rm -f .git/index LL &&
-     cp .orig-A/LL LL &&
-     git update-index --add LL &&
-     echo extra >>LL &&
-     read_tree_must_succeed -m $tree_O $tree_A $tree_B &&
-     check_result"
+test_expect_success '5 - must match in !O && A && B && A==B case.' '
+	rm -f .git/index LL &&
+	cp .orig-A/LL LL &&
+	git update-index --add LL &&
+	echo extra >>LL &&
+	read_tree_must_succeed -m $tree_O $tree_A $tree_B &&
+	check_result
+'
 
-test_expect_success \
-    '5 (fail) - must match A in !O && A && B && A==B case.' "
-     rm -f .git/index LL &&
-     cp .orig-A/LL LL &&
-     echo extra >>LL &&
-     git update-index --add LL &&
-     read_tree_must_fail -m $tree_O $tree_A $tree_B
-"
+test_expect_success '5 (fail) - must match A in !O && A && B && A==B case.' '
+	rm -f .git/index LL &&
+	cp .orig-A/LL LL &&
+	echo extra >>LL &&
+	git update-index --add LL &&
+	read_tree_must_fail -m $tree_O $tree_A $tree_B
+'
 
-test_expect_success \
-    '6 - must not exist in O && !A && !B case' "
-     rm -f .git/index DD &&
-     echo DD >DD &&
-     git update-index --add DD &&
-     read_tree_must_fail -m $tree_O $tree_A $tree_B
-"
+test_expect_success '6 - must not exist in O && !A && !B case' '
+	rm -f .git/index DD &&
+	echo DD >DD &&
+	git update-index --add DD &&
+	read_tree_must_fail -m $tree_O $tree_A $tree_B
+'
 
-test_expect_success \
-    '7 - must not exist in O && !A && B && O!=B case' "
-     rm -f .git/index DM &&
-     cp .orig-B/DM DM &&
-     git update-index --add DM &&
-     read_tree_must_fail -m $tree_O $tree_A $tree_B
-"
+test_expect_success '7 - must not exist in O && !A && B && O!=B case' '
+	rm -f .git/index DM &&
+	cp .orig-B/DM DM &&
+	git update-index --add DM &&
+	read_tree_must_fail -m $tree_O $tree_A $tree_B
+'
 
-test_expect_success \
-    '8 - must not exist in O && !A && B && O==B case' "
-     rm -f .git/index DN &&
-     cp .orig-B/DN DN &&
-     git update-index --add DN &&
-     read_tree_must_fail -m $tree_O $tree_A $tree_B
-"
+test_expect_success '8 - must not exist in O && !A && B && O==B case' '
+	rm -f .git/index DN &&
+	cp .orig-B/DN DN &&
+	git update-index --add DN &&
+	read_tree_must_fail -m $tree_O $tree_A $tree_B
+'
 
-test_expect_success \
-    '9 - must match and be up-to-date in O && A && !B && O!=A case' \
-    "rm -f .git/index MD &&
-     cp .orig-A/MD MD &&
-     git update-index --add MD &&
-     read_tree_must_succeed -m $tree_O $tree_A $tree_B &&
-     check_result"
+test_expect_success '9 - must match and be up-to-date in O && A && !B && O!=A case' '
+	rm -f .git/index MD &&
+	cp .orig-A/MD MD &&
+	git update-index --add MD &&
+	read_tree_must_succeed -m $tree_O $tree_A $tree_B &&
+	check_result
+'
 
-test_expect_success \
-    '9 (fail) - must match and be up-to-date in O && A && !B && O!=A case' "
-     rm -f .git/index MD &&
-     cp .orig-A/MD MD &&
-     git update-index --add MD &&
-     echo extra >>MD &&
-     read_tree_must_fail -m $tree_O $tree_A $tree_B
-"
+test_expect_success '9 (fail) - must match and be up-to-date in O && A && !B && O!=A case' '
+	rm -f .git/index MD &&
+	cp .orig-A/MD MD &&
+	git update-index --add MD &&
+	echo extra >>MD &&
+	read_tree_must_fail -m $tree_O $tree_A $tree_B
+'
 
-test_expect_success \
-    '9 (fail) - must match and be up-to-date in O && A && !B && O!=A case' "
-     rm -f .git/index MD &&
-     cp .orig-A/MD MD &&
-     echo extra >>MD &&
-     git update-index --add MD &&
-     read_tree_must_fail -m $tree_O $tree_A $tree_B
-"
+test_expect_success '9 (fail) - must match and be up-to-date in O && A && !B && O!=A case' '
+	rm -f .git/index MD &&
+	cp .orig-A/MD MD &&
+	echo extra >>MD &&
+	git update-index --add MD &&
+	read_tree_must_fail -m $tree_O $tree_A $tree_B
+'
 
-test_expect_success \
-    '10 - must match and be up-to-date in O && A && !B && O==A case' \
-    "rm -f .git/index ND &&
-     cp .orig-A/ND ND &&
-     git update-index --add ND &&
-     read_tree_must_succeed -m $tree_O $tree_A $tree_B &&
-     check_result"
+test_expect_success '10 - must match and be up-to-date in O && A && !B && O==A case' '
+	rm -f .git/index ND &&
+	cp .orig-A/ND ND &&
+	git update-index --add ND &&
+	read_tree_must_succeed -m $tree_O $tree_A $tree_B &&
+	check_result
+'
 
-test_expect_success \
-    '10 (fail) - must match and be up-to-date in O && A && !B && O==A case' "
-     rm -f .git/index ND &&
-     cp .orig-A/ND ND &&
-     git update-index --add ND &&
-     echo extra >>ND &&
-     read_tree_must_fail -m $tree_O $tree_A $tree_B
-"
+test_expect_success '10 (fail) - must match and be up-to-date in O && A && !B && O==A case' '
+	rm -f .git/index ND &&
+	cp .orig-A/ND ND &&
+	git update-index --add ND &&
+	echo extra >>ND &&
+	read_tree_must_fail -m $tree_O $tree_A $tree_B
+'
 
-test_expect_success \
-    '10 (fail) - must match and be up-to-date in O && A && !B && O==A case' "
-     rm -f .git/index ND &&
-     cp .orig-A/ND ND &&
-     echo extra >>ND &&
-     git update-index --add ND &&
-     read_tree_must_fail -m $tree_O $tree_A $tree_B
-"
+test_expect_success '10 (fail) - must match and be up-to-date in O && A && !B && O==A case' '
+	rm -f .git/index ND &&
+	cp .orig-A/ND ND &&
+	echo extra >>ND &&
+	git update-index --add ND &&
+	read_tree_must_fail -m $tree_O $tree_A $tree_B
+'
 
-test_expect_success \
-    '11 - must match and be up-to-date in O && A && B && O!=A && O!=B && A!=B case' \
-    "rm -f .git/index MM &&
-     cp .orig-A/MM MM &&
-     git update-index --add MM &&
-     read_tree_must_succeed -m $tree_O $tree_A $tree_B &&
-     check_result"
+test_expect_success '11 - must match and be up-to-date in O && A && B && O!=A && O!=B && A!=B case' '
+	rm -f .git/index MM &&
+	cp .orig-A/MM MM &&
+	git update-index --add MM &&
+	read_tree_must_succeed -m $tree_O $tree_A $tree_B &&
+	check_result
+'
 
-test_expect_success \
-    '11 (fail) - must match and be up-to-date in O && A && B && O!=A && O!=B && A!=B case' "
-     rm -f .git/index MM &&
-     cp .orig-A/MM MM &&
-     git update-index --add MM &&
-     echo extra >>MM &&
-     read_tree_must_fail -m $tree_O $tree_A $tree_B
-"
+test_expect_success '11 (fail) - must match and be up-to-date in O && A && B && O!=A && O!=B && A!=B case' '
+	rm -f .git/index MM &&
+	cp .orig-A/MM MM &&
+	git update-index --add MM &&
+	echo extra >>MM &&
+	read_tree_must_fail -m $tree_O $tree_A $tree_B
+'
 
-test_expect_success \
-    '11 (fail) - must match and be up-to-date in O && A && B && O!=A && O!=B && A!=B case' "
-     rm -f .git/index MM &&
-     cp .orig-A/MM MM &&
-     echo extra >>MM &&
-     git update-index --add MM &&
-     read_tree_must_fail -m $tree_O $tree_A $tree_B
-"
+test_expect_success '11 (fail) - must match and be up-to-date in O && A && B && O!=A && O!=B && A!=B case' '
+	rm -f .git/index MM &&
+	cp .orig-A/MM MM &&
+	echo extra >>MM &&
+	git update-index --add MM &&
+	read_tree_must_fail -m $tree_O $tree_A $tree_B
+'
 
-test_expect_success \
-    '12 - must match A in O && A && B && O!=A && A==B case' \
-    "rm -f .git/index SS &&
-     cp .orig-A/SS SS &&
-     git update-index --add SS &&
-     read_tree_must_succeed -m $tree_O $tree_A $tree_B &&
-     check_result"
+test_expect_success '12 - must match A in O && A && B && O!=A && A==B case' '
+	rm -f .git/index SS &&
+	cp .orig-A/SS SS &&
+	git update-index --add SS &&
+	read_tree_must_succeed -m $tree_O $tree_A $tree_B &&
+	check_result
+'
 
-test_expect_success \
-    '12 - must match A in O && A && B && O!=A && A==B case' \
-    "rm -f .git/index SS &&
-     cp .orig-A/SS SS &&
-     git update-index --add SS &&
-     echo extra >>SS &&
-     read_tree_must_succeed -m $tree_O $tree_A $tree_B &&
-     check_result"
+test_expect_success '12 - must match A in O && A && B && O!=A && A==B case' '
+	rm -f .git/index SS &&
+	cp .orig-A/SS SS &&
+	git update-index --add SS &&
+	echo extra >>SS &&
+	read_tree_must_succeed -m $tree_O $tree_A $tree_B &&
+	check_result
+'
 
-test_expect_success \
-    '12 (fail) - must match A in O && A && B && O!=A && A==B case' "
-     rm -f .git/index SS &&
-     cp .orig-A/SS SS &&
-     echo extra >>SS &&
-     git update-index --add SS &&
-     read_tree_must_fail -m $tree_O $tree_A $tree_B
-"
+test_expect_success '12 (fail) - must match A in O && A && B && O!=A && A==B case' '
+	rm -f .git/index SS &&
+	cp .orig-A/SS SS &&
+	echo extra >>SS &&
+	git update-index --add SS &&
+	read_tree_must_fail -m $tree_O $tree_A $tree_B
+'
 
-test_expect_success \
-    '13 - must match A in O && A && B && O!=A && O==B case' \
-    "rm -f .git/index MN &&
-     cp .orig-A/MN MN &&
-     git update-index --add MN &&
-     read_tree_must_succeed -m $tree_O $tree_A $tree_B &&
-     check_result"
+test_expect_success '13 - must match A in O && A && B && O!=A && O==B case' '
+	rm -f .git/index MN &&
+	cp .orig-A/MN MN &&
+	git update-index --add MN &&
+	read_tree_must_succeed -m $tree_O $tree_A $tree_B &&
+	check_result
+'
 
-test_expect_success \
-    '13 - must match A in O && A && B && O!=A && O==B case' \
-    "rm -f .git/index MN &&
-     cp .orig-A/MN MN &&
-     git update-index --add MN &&
-     echo extra >>MN &&
-     read_tree_must_succeed -m $tree_O $tree_A $tree_B &&
-     check_result"
+test_expect_success '13 - must match A in O && A && B && O!=A && O==B case' '
+	rm -f .git/index MN &&
+	cp .orig-A/MN MN &&
+	git update-index --add MN &&
+	echo extra >>MN &&
+	read_tree_must_succeed -m $tree_O $tree_A $tree_B &&
+	check_result
+'
 
-test_expect_success \
-    '14 - must match and be up-to-date in O && A && B && O==A && O!=B case' \
-    "rm -f .git/index NM &&
-     cp .orig-A/NM NM &&
-     git update-index --add NM &&
-     read_tree_must_succeed -m $tree_O $tree_A $tree_B &&
-     check_result"
+test_expect_success '14 - must match and be up-to-date in O && A && B && O==A && O!=B case' '
+	rm -f .git/index NM &&
+	cp .orig-A/NM NM &&
+	git update-index --add NM &&
+	read_tree_must_succeed -m $tree_O $tree_A $tree_B &&
+	check_result
+'
 
-test_expect_success \
-    '14 - may match B in O && A && B && O==A && O!=B case' \
-    "rm -f .git/index NM &&
-     cp .orig-B/NM NM &&
-     git update-index --add NM &&
-     echo extra >>NM &&
-     read_tree_must_succeed -m $tree_O $tree_A $tree_B &&
-     check_result"
+test_expect_success '14 - may match B in O && A && B && O==A && O!=B case' '
+	rm -f .git/index NM &&
+	cp .orig-B/NM NM &&
+	git update-index --add NM &&
+	echo extra >>NM &&
+	read_tree_must_succeed -m $tree_O $tree_A $tree_B &&
+	check_result
+'
 
-test_expect_success \
-    '14 (fail) - must match and be up-to-date in O && A && B && O==A && O!=B case' "
-     rm -f .git/index NM &&
-     cp .orig-A/NM NM &&
-     git update-index --add NM &&
-     echo extra >>NM &&
-     read_tree_must_fail -m $tree_O $tree_A $tree_B
-"
+test_expect_success '14 (fail) - must match and be up-to-date in O && A && B && O==A && O!=B case' '
+	rm -f .git/index NM &&
+	cp .orig-A/NM NM &&
+	git update-index --add NM &&
+	echo extra >>NM &&
+	read_tree_must_fail -m $tree_O $tree_A $tree_B
+'
 
-test_expect_success \
-    '14 (fail) - must match and be up-to-date in O && A && B && O==A && O!=B case' "
-     rm -f .git/index NM &&
-     cp .orig-A/NM NM &&
-     echo extra >>NM &&
-     git update-index --add NM &&
-     read_tree_must_fail -m $tree_O $tree_A $tree_B
-"
+test_expect_success '14 (fail) - must match and be up-to-date in O && A && B && O==A && O!=B case' '
+	rm -f .git/index NM &&
+	cp .orig-A/NM NM &&
+	echo extra >>NM &&
+	git update-index --add NM &&
+	read_tree_must_fail -m $tree_O $tree_A $tree_B
+'
 
-test_expect_success \
-    '15 - must match A in O && A && B && O==A && O==B case' \
-    "rm -f .git/index NN &&
-     cp .orig-A/NN NN &&
-     git update-index --add NN &&
-     read_tree_must_succeed -m $tree_O $tree_A $tree_B &&
-     check_result"
+test_expect_success '15 - must match A in O && A && B && O==A && O==B case' '
+	rm -f .git/index NN &&
+	cp .orig-A/NN NN &&
+	git update-index --add NN &&
+	read_tree_must_succeed -m $tree_O $tree_A $tree_B &&
+	check_result
+'
 
-test_expect_success \
-    '15 - must match A in O && A && B && O==A && O==B case' \
-    "rm -f .git/index NN &&
-     cp .orig-A/NN NN &&
-     git update-index --add NN &&
-     echo extra >>NN &&
-     read_tree_must_succeed -m $tree_O $tree_A $tree_B &&
-     check_result"
+test_expect_success '15 - must match A in O && A && B && O==A && O==B case' '
+	rm -f .git/index NN &&
+	cp .orig-A/NN NN &&
+	git update-index --add NN &&
+	echo extra >>NN &&
+	read_tree_must_succeed -m $tree_O $tree_A $tree_B &&
+	check_result
+'
 
-test_expect_success \
-    '15 (fail) - must match A in O && A && B && O==A && O==B case' "
-     rm -f .git/index NN &&
-     cp .orig-A/NN NN &&
-     echo extra >>NN &&
-     git update-index --add NN &&
-     read_tree_must_fail -m $tree_O $tree_A $tree_B
-"
+test_expect_success '15 (fail) - must match A in O && A && B && O==A && O==B case' '
+	rm -f .git/index NN &&
+	cp .orig-A/NN NN &&
+	echo extra >>NN &&
+	git update-index --add NN &&
+	read_tree_must_fail -m $tree_O $tree_A $tree_B
+'
 
-# #16
-test_expect_success \
-    '16 - A matches in one and B matches in another.' \
-    'rm -f .git/index F16 &&
-    echo F16 >F16 &&
-    git update-index --add F16 &&
-    tree0=$(git write-tree) &&
-    echo E16 >F16 &&
-    git update-index F16 &&
-    tree1=$(git write-tree) &&
-    read_tree_must_succeed -m $tree0 $tree1 $tree1 $tree0 &&
-    git ls-files --stage'
+test_expect_success '16 - A matches in one and B matches in another.' '
+	rm -f .git/index F16 &&
+	echo F16 >F16 &&
+	git update-index --add F16 &&
+	tree0=$(git write-tree) &&
+	echo E16 >F16 &&
+	git update-index F16 &&
+	tree1=$(git write-tree) &&
+	read_tree_must_succeed -m $tree0 $tree1 $tree1 $tree0 &&
+	git ls-files --stage
+'
 
 test_done
diff --git a/t/t1001-read-tree-m-2way.sh b/t/t1001-read-tree-m-2way.sh
index db1b6f5..5ededd8 100755
--- a/t/t1001-read-tree-m-2way.sh
+++ b/t/t1001-read-tree-m-2way.sh
@@ -14,10 +14,10 @@
 rules, found in <Documentation/git read-tree.txt>.
 
 In the test, these paths are used:
-        bozbar  - in H, stays in M, modified from bozbar to gnusto
-        frotz   - not in H added in M
-        nitfol  - in H, stays in M unmodified
-        rezrov  - in H, deleted in M
+	bozbar  - in H, stays in M, modified from bozbar to gnusto
+	frotz   - not in H added in M
+	nitfol  - in H, stays in M unmodified
+	rezrov  - in H, deleted in M
 	yomin   - not in H or M
 '
 . ./test-lib.sh
@@ -60,336 +60,343 @@
 
 sed -e 's/bozbar/gnusto (earlier bozbar)/' bozbar-old >bozbar-new
 
-test_expect_success \
-    setup \
-    'echo frotz >frotz &&
-     echo nitfol >nitfol &&
-     cat bozbar-old >bozbar &&
-     echo rezrov >rezrov &&
-     echo yomin >yomin &&
-     git update-index --add nitfol bozbar rezrov &&
-     treeH=$(git write-tree) &&
-     echo treeH $treeH &&
-     git ls-tree $treeH &&
+test_expect_success 'setup' '
+	echo frotz >frotz &&
+	echo nitfol >nitfol &&
+	cat bozbar-old >bozbar &&
+	echo rezrov >rezrov &&
+	echo yomin >yomin &&
+	git update-index --add nitfol bozbar rezrov &&
+	treeH=$(git write-tree) &&
+	echo treeH $treeH &&
+	git ls-tree $treeH &&
 
-     cat bozbar-new >bozbar &&
-     git update-index --add frotz bozbar --force-remove rezrov &&
-     git ls-files --stage >M.out &&
-     treeM=$(git write-tree) &&
-     echo treeM $treeM &&
-     git ls-tree $treeM &&
-     git diff-tree $treeH $treeM'
+	cat bozbar-new >bozbar &&
+	git update-index --add frotz bozbar --force-remove rezrov &&
+	git ls-files --stage >M.out &&
+	treeM=$(git write-tree) &&
+	echo treeM $treeM &&
+	git ls-tree $treeM &&
+	git diff-tree $treeH $treeM
+'
 
-test_expect_success \
-    '1, 2, 3 - no carry forward' \
-    'rm -f .git/index &&
-     read_tree_twoway $treeH $treeM &&
-     git ls-files --stage >1-3.out &&
-     test_cmp M.out 1-3.out &&
-     check_cache_at bozbar dirty &&
-     check_cache_at frotz dirty &&
-     check_cache_at nitfol dirty'
-
+test_expect_success '1, 2, 3 - no carry forward' '
+	rm -f .git/index &&
+	read_tree_twoway $treeH $treeM &&
+	git ls-files --stage >1-3.out &&
+	test_cmp M.out 1-3.out &&
+	check_cache_at bozbar dirty &&
+	check_cache_at frotz dirty &&
+	check_cache_at nitfol dirty
+'
 echo '+100644 X 0	yomin' >expected
 
-test_expect_success \
-    '4 - carry forward local addition.' \
-    'rm -f .git/index &&
-     read_tree_must_succeed $treeH &&
-     git checkout-index -u -f -q -a &&
-     git update-index --add yomin &&
-     read_tree_twoway $treeH $treeM &&
-     git ls-files --stage >4.out &&
-     test_must_fail git diff --no-index M.out 4.out >4diff.out &&
-     compare_change 4diff.out expected &&
-     check_cache_at yomin clean'
+test_expect_success '4 - carry forward local addition.' '
+	rm -f .git/index &&
+	read_tree_must_succeed $treeH &&
+	git checkout-index -u -f -q -a &&
+	git update-index --add yomin &&
+	read_tree_twoway $treeH $treeM &&
+	git ls-files --stage >4.out &&
+	test_must_fail git diff --no-index M.out 4.out >4diff.out &&
+	compare_change 4diff.out expected &&
+	check_cache_at yomin clean
+'
 
-test_expect_success \
-    '5 - carry forward local addition.' \
-    'rm -f .git/index &&
-     read_tree_must_succeed $treeH &&
-     git checkout-index -u -f -q -a &&
-     echo yomin >yomin &&
-     git update-index --add yomin &&
-     echo yomin yomin >yomin &&
-     read_tree_twoway $treeH $treeM &&
-     git ls-files --stage >5.out &&
-     test_must_fail git diff --no-index M.out 5.out >5diff.out &&
-     compare_change 5diff.out expected &&
-     check_cache_at yomin dirty'
+test_expect_success '5 - carry forward local addition.' '
+	rm -f .git/index &&
+	read_tree_must_succeed $treeH &&
+	git checkout-index -u -f -q -a &&
+	echo yomin >yomin &&
+	git update-index --add yomin &&
+	echo yomin yomin >yomin &&
+	read_tree_twoway $treeH $treeM &&
+	git ls-files --stage >5.out &&
+	test_must_fail git diff --no-index M.out 5.out >5diff.out &&
+	compare_change 5diff.out expected &&
+	check_cache_at yomin dirty
+'
 
-test_expect_success \
-    '6 - local addition already has the same.' \
-    'rm -f .git/index &&
-     read_tree_must_succeed $treeH &&
-     git checkout-index -u -f -q -a &&
-     git update-index --add frotz &&
-     read_tree_twoway $treeH $treeM &&
-     git ls-files --stage >6.out &&
-     test_cmp M.out 6.out &&
-     check_cache_at frotz clean'
+test_expect_success '6 - local addition already has the same.' '
+	rm -f .git/index &&
+	read_tree_must_succeed $treeH &&
+	git checkout-index -u -f -q -a &&
+	git update-index --add frotz &&
+	read_tree_twoway $treeH $treeM &&
+	git ls-files --stage >6.out &&
+	test_cmp M.out 6.out &&
+	check_cache_at frotz clean
+'
 
-test_expect_success \
-    '7 - local addition already has the same.' \
-    'rm -f .git/index &&
-     read_tree_must_succeed $treeH &&
-     git checkout-index -u -f -q -a &&
-     echo frotz >frotz &&
-     git update-index --add frotz &&
-     echo frotz frotz >frotz &&
-     read_tree_twoway $treeH $treeM &&
-     git ls-files --stage >7.out &&
-     test_cmp M.out 7.out &&
-     check_cache_at frotz dirty'
+test_expect_success '7 - local addition already has the same.' '
+	rm -f .git/index &&
+	read_tree_must_succeed $treeH &&
+	git checkout-index -u -f -q -a &&
+	echo frotz >frotz &&
+	git update-index --add frotz &&
+	echo frotz frotz >frotz &&
+	read_tree_twoway $treeH $treeM &&
+	git ls-files --stage >7.out &&
+	test_cmp M.out 7.out &&
+	check_cache_at frotz dirty
+'
 
-test_expect_success \
-    '8 - conflicting addition.' \
-    'rm -f .git/index &&
-     read_tree_must_succeed $treeH &&
-     git checkout-index -u -f -q -a &&
-     echo frotz frotz >frotz &&
-     git update-index --add frotz &&
-     if read_tree_twoway $treeH $treeM; then false; else :; fi'
+test_expect_success '8 - conflicting addition.' '
+	rm -f .git/index &&
+	read_tree_must_succeed $treeH &&
+	git checkout-index -u -f -q -a &&
+	echo frotz frotz >frotz &&
+	git update-index --add frotz &&
+	if read_tree_twoway $treeH $treeM; then false; else :; fi
+'
 
-test_expect_success \
-    '9 - conflicting addition.' \
-    'rm -f .git/index &&
-     read_tree_must_succeed $treeH &&
-     git checkout-index -u -f -q -a &&
-     echo frotz frotz >frotz &&
-     git update-index --add frotz &&
-     echo frotz >frotz &&
-     if read_tree_twoway $treeH $treeM; then false; else :; fi'
+test_expect_success '9 - conflicting addition.' '
+	rm -f .git/index &&
+	read_tree_must_succeed $treeH &&
+	git checkout-index -u -f -q -a &&
+	echo frotz frotz >frotz &&
+	git update-index --add frotz &&
+	echo frotz >frotz &&
+	if read_tree_twoway $treeH $treeM; then false; else :; fi
+'
 
-test_expect_success \
-    '10 - path removed.' \
-    'rm -f .git/index &&
-     read_tree_must_succeed $treeH &&
-     git checkout-index -u -f -q -a &&
-     echo rezrov >rezrov &&
-     git update-index --add rezrov &&
-     read_tree_twoway $treeH $treeM &&
-     git ls-files --stage >10.out &&
-     test_cmp M.out 10.out'
+test_expect_success '10 - path removed.' '
+	rm -f .git/index &&
+	read_tree_must_succeed $treeH &&
+	git checkout-index -u -f -q -a &&
+	echo rezrov >rezrov &&
+	git update-index --add rezrov &&
+	read_tree_twoway $treeH $treeM &&
+	git ls-files --stage >10.out &&
+	test_cmp M.out 10.out
+'
 
-test_expect_success \
-    '11 - dirty path removed.' \
-    'rm -f .git/index &&
-     read_tree_must_succeed $treeH &&
-     git checkout-index -u -f -q -a &&
-     echo rezrov >rezrov &&
-     git update-index --add rezrov &&
-     echo rezrov rezrov >rezrov &&
-     if read_tree_twoway $treeH $treeM; then false; else :; fi'
+test_expect_success '11 - dirty path removed.' '
+	rm -f .git/index &&
+	read_tree_must_succeed $treeH &&
+	git checkout-index -u -f -q -a &&
+	echo rezrov >rezrov &&
+	git update-index --add rezrov &&
+	echo rezrov rezrov >rezrov &&
+	if read_tree_twoway $treeH $treeM; then false; else :; fi
+'
 
-test_expect_success \
-    '12 - unmatching local changes being removed.' \
-    'rm -f .git/index &&
-     read_tree_must_succeed $treeH &&
-     git checkout-index -u -f -q -a &&
-     echo rezrov rezrov >rezrov &&
-     git update-index --add rezrov &&
-     if read_tree_twoway $treeH $treeM; then false; else :; fi'
+test_expect_success '12 - unmatching local changes being removed.' '
+	rm -f .git/index &&
+	read_tree_must_succeed $treeH &&
+	git checkout-index -u -f -q -a &&
+	echo rezrov rezrov >rezrov &&
+	git update-index --add rezrov &&
+	if read_tree_twoway $treeH $treeM; then false; else :; fi
+'
 
-test_expect_success \
-    '13 - unmatching local changes being removed.' \
-    'rm -f .git/index &&
-     read_tree_must_succeed $treeH &&
-     git checkout-index -u -f -q -a &&
-     echo rezrov rezrov >rezrov &&
-     git update-index --add rezrov &&
-     echo rezrov >rezrov &&
-     if read_tree_twoway $treeH $treeM; then false; else :; fi'
+test_expect_success '13 - unmatching local changes being removed.' '
+	rm -f .git/index &&
+	read_tree_must_succeed $treeH &&
+	git checkout-index -u -f -q -a &&
+	echo rezrov rezrov >rezrov &&
+	git update-index --add rezrov &&
+	echo rezrov >rezrov &&
+	if read_tree_twoway $treeH $treeM; then false; else :; fi
+'
 
 cat >expected <<EOF
 -100644 X 0	nitfol
 +100644 X 0	nitfol
 EOF
 
-test_expect_success \
-    '14 - unchanged in two heads.' \
-    'rm -f .git/index &&
-     read_tree_must_succeed $treeH &&
-     git checkout-index -u -f -q -a &&
-     echo nitfol nitfol >nitfol &&
-     git update-index --add nitfol &&
-     read_tree_twoway $treeH $treeM &&
-     git ls-files --stage >14.out &&
-     test_must_fail git diff --no-index M.out 14.out >14diff.out &&
-     compare_change 14diff.out expected &&
-     check_cache_at nitfol clean'
+test_expect_success '14 - unchanged in two heads.' '
+	rm -f .git/index &&
+	read_tree_must_succeed $treeH &&
+	git checkout-index -u -f -q -a &&
+	echo nitfol nitfol >nitfol &&
+	git update-index --add nitfol &&
+	read_tree_twoway $treeH $treeM &&
+	git ls-files --stage >14.out &&
+	test_must_fail git diff --no-index M.out 14.out >14diff.out &&
+	compare_change 14diff.out expected &&
+	check_cache_at nitfol clean
+'
 
-test_expect_success \
-    '15 - unchanged in two heads.' \
-    'rm -f .git/index &&
-     read_tree_must_succeed $treeH &&
-     git checkout-index -u -f -q -a &&
-     echo nitfol nitfol >nitfol &&
-     git update-index --add nitfol &&
-     echo nitfol nitfol nitfol >nitfol &&
-     read_tree_twoway $treeH $treeM &&
-     git ls-files --stage >15.out &&
-     test_must_fail git diff --no-index M.out 15.out >15diff.out &&
-     compare_change 15diff.out expected &&
-     check_cache_at nitfol dirty'
+test_expect_success '15 - unchanged in two heads.' '
+	rm -f .git/index &&
+	read_tree_must_succeed $treeH &&
+	git checkout-index -u -f -q -a &&
+	echo nitfol nitfol >nitfol &&
+	git update-index --add nitfol &&
+	echo nitfol nitfol nitfol >nitfol &&
+	read_tree_twoway $treeH $treeM &&
+	git ls-files --stage >15.out &&
+	test_must_fail git diff --no-index M.out 15.out >15diff.out &&
+	compare_change 15diff.out expected &&
+	check_cache_at nitfol dirty
+'
 
-test_expect_success \
-    '16 - conflicting local change.' \
-    'rm -f .git/index &&
-     read_tree_must_succeed $treeH &&
-     git checkout-index -u -f -q -a &&
-     echo bozbar bozbar >bozbar &&
-     git update-index --add bozbar &&
-     if read_tree_twoway $treeH $treeM; then false; else :; fi'
+test_expect_success '16 - conflicting local change.' '
+	rm -f .git/index &&
+	read_tree_must_succeed $treeH &&
+	git checkout-index -u -f -q -a &&
+	echo bozbar bozbar >bozbar &&
+	git update-index --add bozbar &&
+	if read_tree_twoway $treeH $treeM; then false; else :; fi
+'
 
-test_expect_success \
-    '17 - conflicting local change.' \
-    'rm -f .git/index &&
-     read_tree_must_succeed $treeH &&
-     git checkout-index -u -f -q -a &&
-     echo bozbar bozbar >bozbar &&
-     git update-index --add bozbar &&
-     echo bozbar bozbar bozbar >bozbar &&
-     if read_tree_twoway $treeH $treeM; then false; else :; fi'
+test_expect_success '17 - conflicting local change.' '
+	rm -f .git/index &&
+	read_tree_must_succeed $treeH &&
+	git checkout-index -u -f -q -a &&
+	echo bozbar bozbar >bozbar &&
+	git update-index --add bozbar &&
+	echo bozbar bozbar bozbar >bozbar &&
+	if read_tree_twoway $treeH $treeM; then false; else :; fi
+'
 
-test_expect_success \
-    '18 - local change already having a good result.' \
-    'rm -f .git/index &&
-     read_tree_must_succeed $treeH &&
-     git checkout-index -u -f -q -a &&
-     cat bozbar-new >bozbar &&
-     git update-index --add bozbar &&
-     read_tree_twoway $treeH $treeM &&
-     git ls-files --stage >18.out &&
-     test_cmp M.out 18.out &&
-     check_cache_at bozbar clean'
+test_expect_success '18 - local change already having a good result.' '
+	rm -f .git/index &&
+	read_tree_must_succeed $treeH &&
+	git checkout-index -u -f -q -a &&
+	cat bozbar-new >bozbar &&
+	git update-index --add bozbar &&
+	read_tree_twoway $treeH $treeM &&
+	git ls-files --stage >18.out &&
+	test_cmp M.out 18.out &&
+	check_cache_at bozbar clean
+'
 
-test_expect_success \
-    '19 - local change already having a good result, further modified.' \
-    'rm -f .git/index &&
-     read_tree_must_succeed $treeH &&
-     git checkout-index -u -f -q -a &&
-     cat bozbar-new >bozbar &&
-     git update-index --add bozbar &&
-     echo gnusto gnusto >bozbar &&
-     read_tree_twoway $treeH $treeM &&
-     git ls-files --stage >19.out &&
-     test_cmp M.out 19.out &&
-     check_cache_at bozbar dirty'
+test_expect_success '19 - local change already having a good result, further modified.' '
+	rm -f .git/index &&
+	read_tree_must_succeed $treeH &&
+	git checkout-index -u -f -q -a &&
+	cat bozbar-new >bozbar &&
+	git update-index --add bozbar &&
+	echo gnusto gnusto >bozbar &&
+	read_tree_twoway $treeH $treeM &&
+	git ls-files --stage >19.out &&
+	test_cmp M.out 19.out &&
+	check_cache_at bozbar dirty
+'
 
-test_expect_success \
-    '20 - no local change, use new tree.' \
-    'rm -f .git/index &&
-     read_tree_must_succeed $treeH &&
-     git checkout-index -u -f -q -a &&
-     cat bozbar-old >bozbar &&
-     git update-index --add bozbar &&
-     read_tree_twoway $treeH $treeM &&
-     git ls-files --stage >20.out &&
-     test_cmp M.out 20.out &&
-     check_cache_at bozbar dirty'
+test_expect_success '20 - no local change, use new tree.' '
+	rm -f .git/index &&
+	read_tree_must_succeed $treeH &&
+	git checkout-index -u -f -q -a &&
+	cat bozbar-old >bozbar &&
+	git update-index --add bozbar &&
+	read_tree_twoway $treeH $treeM &&
+	git ls-files --stage >20.out &&
+	test_cmp M.out 20.out &&
+	check_cache_at bozbar dirty
+'
 
-test_expect_success \
-    '21 - no local change, dirty cache.' \
-    'rm -f .git/index &&
-     read_tree_must_succeed $treeH &&
-     git checkout-index -u -f -q -a &&
-     cat bozbar-old >bozbar &&
-     git update-index --add bozbar &&
-     echo gnusto gnusto >bozbar &&
-     if read_tree_twoway $treeH $treeM; then false; else :; fi'
+test_expect_success '21 - no local change, dirty cache.' '
+	rm -f .git/index &&
+	read_tree_must_succeed $treeH &&
+	git checkout-index -u -f -q -a &&
+	cat bozbar-old >bozbar &&
+	git update-index --add bozbar &&
+	echo gnusto gnusto >bozbar &&
+	if read_tree_twoway $treeH $treeM; then false; else :; fi
+'
 
 # This fails with straight two-way fast-forward.
-test_expect_success \
-    '22 - local change cache updated.' \
-    'rm -f .git/index &&
-     read_tree_must_succeed $treeH &&
-     git checkout-index -u -f -q -a &&
-     sed -e "s/such as/SUCH AS/" bozbar-old >bozbar &&
-     git update-index --add bozbar &&
-     if read_tree_twoway $treeH $treeM; then false; else :; fi'
+test_expect_success '22 - local change cache updated.' '
+	rm -f .git/index &&
+	read_tree_must_succeed $treeH &&
+	git checkout-index -u -f -q -a &&
+	sed -e "s/such as/SUCH AS/" bozbar-old >bozbar &&
+	git update-index --add bozbar &&
+	if read_tree_twoway $treeH $treeM; then false; else :; fi
+'
 
 # Also make sure we did not break DF vs DF/DF case.
-test_expect_success \
-    'DF vs DF/DF case setup.' \
-    'rm -f .git/index &&
-     echo DF >DF &&
-     git update-index --add DF &&
-     treeDF=$(git write-tree) &&
-     echo treeDF $treeDF &&
-     git ls-tree $treeDF &&
+test_expect_success 'DF vs DF/DF case setup.' '
+	rm -f .git/index &&
+	echo DF >DF &&
+	git update-index --add DF &&
+	treeDF=$(git write-tree) &&
+	echo treeDF $treeDF &&
+	git ls-tree $treeDF &&
 
-     rm -f DF &&
-     mkdir DF &&
-     echo DF/DF >DF/DF &&
-     git update-index --add --remove DF DF/DF &&
-     treeDFDF=$(git write-tree) &&
-     echo treeDFDF $treeDFDF &&
-     git ls-tree $treeDFDF &&
-     git ls-files --stage >DFDF.out'
+	rm -f DF &&
+	mkdir DF &&
+	echo DF/DF >DF/DF &&
+	git update-index --add --remove DF DF/DF &&
+	treeDFDF=$(git write-tree) &&
+	echo treeDFDF $treeDFDF &&
+	git ls-tree $treeDFDF &&
+	git ls-files --stage >DFDF.out
+'
 
-test_expect_success \
-    'DF vs DF/DF case test.' \
-    'rm -f .git/index &&
-     rm -fr DF &&
-     echo DF >DF &&
-     git update-index --add DF &&
-     read_tree_twoway $treeDF $treeDFDF &&
-     git ls-files --stage >DFDFcheck.out &&
-     test_cmp DFDF.out DFDFcheck.out &&
-     check_cache_at DF/DF dirty &&
-     :'
+test_expect_success 'DF vs DF/DF case test.' '
+	rm -f .git/index &&
+	rm -fr DF &&
+	echo DF >DF &&
+	git update-index --add DF &&
+	read_tree_twoway $treeDF $treeDFDF &&
+	git ls-files --stage >DFDFcheck.out &&
+	test_cmp DFDF.out DFDFcheck.out &&
+	check_cache_at DF/DF dirty &&
+	:
+'
 
-test_expect_success \
-    'a/b (untracked) vs a case setup.' \
-    'rm -f .git/index &&
-     : >a &&
-     git update-index --add a &&
-     treeM=$(git write-tree) &&
-     echo treeM $treeM &&
-     git ls-tree $treeM &&
-     git ls-files --stage >treeM.out &&
+test_expect_success 'a/b (untracked) vs a case setup.' '
+	rm -f .git/index &&
+	: >a &&
+	git update-index --add a &&
+	treeM=$(git write-tree) &&
+	echo treeM $treeM &&
+	git ls-tree $treeM &&
+	git ls-files --stage >treeM.out &&
 
-     rm -f a &&
-     git update-index --remove a &&
-     mkdir a &&
-     : >a/b &&
-     treeH=$(git write-tree) &&
-     echo treeH $treeH &&
-     git ls-tree $treeH'
+	rm -f a &&
+	git update-index --remove a &&
+	mkdir a &&
+	: >a/b &&
+	treeH=$(git write-tree) &&
+	echo treeH $treeH &&
+	git ls-tree $treeH
+'
 
-test_expect_success \
-    'a/b (untracked) vs a, plus c/d case test.' \
-    'read_tree_u_must_fail -u -m "$treeH" "$treeM" &&
-     git ls-files --stage &&
-     test -f a/b'
+test_expect_success 'a/b (untracked) vs a, plus c/d case test.' '
+	read_tree_u_must_fail -u -m "$treeH" "$treeM" &&
+	git ls-files --stage &&
+	test -f a/b
+'
 
-test_expect_success \
-    'a/b vs a, plus c/d case setup.' \
-    'rm -f .git/index &&
-     rm -fr a &&
-     : >a &&
-     mkdir c &&
-     : >c/d &&
-     git update-index --add a c/d &&
-     treeM=$(git write-tree) &&
-     echo treeM $treeM &&
-     git ls-tree $treeM &&
-     git ls-files --stage >treeM.out &&
+test_expect_success 'read-tree supports the super-prefix' '
+	cat <<-EOF >expect &&
+		error: Updating '\''fictional/a'\'' would lose untracked files in it
+	EOF
+	test_must_fail git --super-prefix fictional/ read-tree -u -m "$treeH" "$treeM" 2>actual &&
+	test_cmp expect actual
+'
 
-     rm -f a &&
-     mkdir a &&
-     : >a/b &&
-     git update-index --add --remove a a/b &&
-     treeH=$(git write-tree) &&
-     echo treeH $treeH &&
-     git ls-tree $treeH'
+test_expect_success 'a/b vs a, plus c/d case setup.' '
+	rm -f .git/index &&
+	rm -fr a &&
+	: >a &&
+	mkdir c &&
+	: >c/d &&
+	git update-index --add a c/d &&
+	treeM=$(git write-tree) &&
+	echo treeM $treeM &&
+	git ls-tree $treeM &&
+	git ls-files --stage >treeM.out &&
 
-test_expect_success \
-    'a/b vs a, plus c/d case test.' \
-    'read_tree_u_must_succeed -u -m "$treeH" "$treeM" &&
-     git ls-files --stage | tee >treeMcheck.out &&
-     test_cmp treeM.out treeMcheck.out'
+	rm -f a &&
+	mkdir a &&
+	: >a/b &&
+	git update-index --add --remove a a/b &&
+	treeH=$(git write-tree) &&
+	echo treeH $treeH &&
+	git ls-tree $treeH
+'
+
+test_expect_success 'a/b vs a, plus c/d case test.' '
+	read_tree_u_must_succeed -u -m "$treeH" "$treeM" &&
+	git ls-files --stage | tee >treeMcheck.out &&
+	test_cmp treeM.out treeMcheck.out
+'
 
 test_expect_success '-m references the correct modified tree' '
 	echo >file-a &&
diff --git a/t/t1007-hash-object.sh b/t/t1007-hash-object.sh
index c5245c5..532682f 100755
--- a/t/t1007-hash-object.sh
+++ b/t/t1007-hash-object.sh
@@ -134,6 +134,16 @@
 	)
 '
 
+test_expect_success '--path works in a subdirectory' '
+	(
+		cd subdir &&
+		path1_sha=$(git hash-object --path=../file1 ../file0) &&
+		path0_sha=$(git hash-object --path=../file0 ../file1) &&
+		test "$file0_sha" = "$path0_sha" &&
+		test "$file1_sha" = "$path1_sha"
+	)
+'
+
 test_expect_success 'check that --no-filters option works' '
 	nofilters_file1=$(git hash-object --no-filters file1) &&
 	test "$file0_sha" = "$nofilters_file1" &&
diff --git a/t/t1013-read-tree-submodule.sh b/t/t1013-read-tree-submodule.sh
index 20526ae..de1ba02 100755
--- a/t/t1013-read-tree-submodule.sh
+++ b/t/t1013-read-tree-submodule.sh
@@ -5,6 +5,14 @@
 . ./test-lib.sh
 . "$TEST_DIRECTORY"/lib-submodule-update.sh
 
+KNOWN_FAILURE_SUBMODULE_RECURSIVE_NESTED=1
+KNOWN_FAILURE_DIRECTORY_SUBMODULE_CONFLICTS=1
+KNOWN_FAILURE_SUBMODULE_OVERWRITE_IGNORED_UNTRACKED=1
+
+test_submodule_switch_recursing "git read-tree --recurse-submodules -u -m"
+
+test_submodule_forced_switch_recursing "git read-tree --recurse-submodules -u --reset"
+
 test_submodule_switch "git read-tree -u -m"
 
 test_submodule_forced_switch "git read-tree -u --reset"
diff --git a/t/t1060-object-corruption.sh b/t/t1060-object-corruption.sh
index 3f87051..ac1f189 100755
--- a/t/t1060-object-corruption.sh
+++ b/t/t1060-object-corruption.sh
@@ -21,6 +21,14 @@
 		cd bit-error &&
 		test_commit content &&
 		corrupt_byte HEAD:content.t 10
+	) &&
+	git init no-bit-error &&
+	(
+		# distinct commit from bit-error, but containing a
+		# non-corrupted version of the same blob
+		cd no-bit-error &&
+		test_tick &&
+		test_commit content
 	)
 '
 
@@ -53,6 +61,13 @@
 	)
 '
 
+test_expect_success 'getting type of a corrupt blob fails' '
+	(
+		cd bit-error &&
+		test_must_fail git cat-file -s HEAD:content.t
+	)
+'
+
 test_expect_success 'read-tree -u detects bit-errors in blobs' '
 	(
 		cd bit-error &&
@@ -101,4 +116,13 @@
 	test_must_fail git clone --local misnamed misnamed-checkout
 '
 
+test_expect_success 'fetch into corrupted repo with index-pack' '
+	(
+		cd bit-error &&
+		test_must_fail git -c transfer.unpackLimit=1 \
+			fetch ../no-bit-error 2>stderr &&
+		test_i18ngrep ! -i collision stderr
+	)
+'
+
 test_done
diff --git a/t/t1300-repo-config.sh b/t/t1300-repo-config.sh
index 923bfc5..afcca0d 100755
--- a/t/t1300-repo-config.sh
+++ b/t/t1300-repo-config.sh
@@ -1097,6 +1097,68 @@
 	test_cmp expect actual
 '
 
+test_expect_success 'last one wins: two level vars' '
+
+	# sec.var and sec.VAR are the same variable, as the first
+	# and the last level of a configuration variable name is
+	# case insensitive.
+
+	echo VAL >expect &&
+
+	git -c sec.var=val -c sec.VAR=VAL config --get sec.var >actual &&
+	test_cmp expect actual &&
+	git -c SEC.var=val -c sec.var=VAL config --get sec.var >actual &&
+	test_cmp expect actual &&
+
+	git -c sec.var=val -c sec.VAR=VAL config --get SEC.var >actual &&
+	test_cmp expect actual &&
+	git -c SEC.var=val -c sec.var=VAL config --get sec.VAR >actual &&
+	test_cmp expect actual
+'
+
+test_expect_success 'last one wins: three level vars' '
+
+	# v.a.r and v.A.r are not the same variable, as the middle
+	# level of a three-level configuration variable name is
+	# case sensitive.
+
+	echo val >expect &&
+	git -c v.a.r=val -c v.A.r=VAL config --get v.a.r >actual &&
+	test_cmp expect actual &&
+	git -c v.a.r=val -c v.A.r=VAL config --get V.a.R >actual &&
+	test_cmp expect actual &&
+
+	# v.a.r and V.a.R are the same variable, as the first
+	# and the last level of a configuration variable name is
+	# case insensitive.
+
+	echo VAL >expect &&
+	git -c v.a.r=val -c v.a.R=VAL config --get v.a.r >actual &&
+	test_cmp expect actual &&
+	git -c v.a.r=val -c V.a.r=VAL config --get v.a.r >actual &&
+	test_cmp expect actual &&
+	git -c v.a.r=val -c v.a.R=VAL config --get V.a.R >actual &&
+	test_cmp expect actual &&
+	git -c v.a.r=val -c V.a.r=VAL config --get V.a.R >actual &&
+	test_cmp expect actual
+'
+
+for VAR in a .a a. a.0b a."b c". a."b c".0d
+do
+	test_expect_success "git -c $VAR=VAL rejects invalid '$VAR'" '
+		test_must_fail git -c "$VAR=VAL" config -l
+	'
+done
+
+for VAR in a.b a."b c".d
+do
+	test_expect_success "git -c $VAR=VAL works with valid '$VAR'" '
+		echo VAL >expect &&
+		git -c "$VAR=VAL" config --get "$VAR" >actual &&
+		test_cmp expect actual
+	'
+done
+
 test_expect_success 'git -c is not confused by empty environment' '
 	GIT_CONFIG_PARAMETERS="" git -c x.one=1 config --list
 '
@@ -1177,6 +1239,111 @@
 	test_cmp expect actual
 '
 
+test_expect_success 'urlmatch favors more specific URLs' '
+	cat >.git/config <<-\EOF &&
+	[http "https://example.com/"]
+		cookieFile = /tmp/root.txt
+	[http "https://example.com/subdirectory"]
+		cookieFile = /tmp/subdirectory.txt
+	[http "https://user@example.com/"]
+		cookieFile = /tmp/user.txt
+	[http "https://averylonguser@example.com/"]
+		cookieFile = /tmp/averylonguser.txt
+	[http "https://preceding.example.com"]
+		cookieFile = /tmp/preceding.txt
+	[http "https://*.example.com"]
+		cookieFile = /tmp/wildcard.txt
+	[http "https://*.example.com/wildcardwithsubdomain"]
+		cookieFile = /tmp/wildcardwithsubdomain.txt
+	[http "https://trailing.example.com"]
+		cookieFile = /tmp/trailing.txt
+	[http "https://user@*.example.com/"]
+		cookieFile = /tmp/wildcardwithuser.txt
+	[http "https://sub.example.com/"]
+		cookieFile = /tmp/sub.txt
+	EOF
+
+	echo http.cookiefile /tmp/root.txt >expect &&
+	git config --get-urlmatch HTTP https://example.com >actual &&
+	test_cmp expect actual &&
+
+	echo http.cookiefile /tmp/subdirectory.txt >expect &&
+	git config --get-urlmatch HTTP https://example.com/subdirectory >actual &&
+	test_cmp expect actual &&
+
+	echo http.cookiefile /tmp/subdirectory.txt >expect &&
+	git config --get-urlmatch HTTP https://example.com/subdirectory/nested >actual &&
+	test_cmp expect actual &&
+
+	echo http.cookiefile /tmp/user.txt >expect &&
+	git config --get-urlmatch HTTP https://user@example.com/ >actual &&
+	test_cmp expect actual &&
+
+	echo http.cookiefile /tmp/subdirectory.txt >expect &&
+	git config --get-urlmatch HTTP https://averylonguser@example.com/subdirectory >actual &&
+	test_cmp expect actual &&
+
+	echo http.cookiefile /tmp/preceding.txt >expect &&
+	git config --get-urlmatch HTTP https://preceding.example.com >actual &&
+	test_cmp expect actual &&
+
+	echo http.cookiefile /tmp/wildcard.txt >expect &&
+	git config --get-urlmatch HTTP https://wildcard.example.com >actual &&
+	test_cmp expect actual &&
+
+	echo http.cookiefile /tmp/sub.txt >expect &&
+	git config --get-urlmatch HTTP https://sub.example.com/wildcardwithsubdomain >actual &&
+	test_cmp expect actual &&
+
+	echo http.cookiefile /tmp/trailing.txt >expect &&
+	git config --get-urlmatch HTTP https://trailing.example.com >actual &&
+	test_cmp expect actual &&
+
+	echo http.cookiefile /tmp/sub.txt >expect &&
+	git config --get-urlmatch HTTP https://user@sub.example.com >actual &&
+	test_cmp expect actual
+'
+
+test_expect_success 'urlmatch with wildcard' '
+	cat >.git/config <<-\EOF &&
+	[http]
+		sslVerify
+	[http "https://*.example.com"]
+		sslVerify = false
+		cookieFile = /tmp/cookie.txt
+	EOF
+
+	test_expect_code 1 git config --bool --get-urlmatch doesnt.exist https://good.example.com >actual &&
+	test_must_be_empty actual &&
+
+	echo true >expect &&
+	git config --bool --get-urlmatch http.SSLverify https://example.com >actual &&
+	test_cmp expect actual &&
+
+	echo true >expect &&
+	git config --bool --get-urlmatch http.SSLverify https://good-example.com >actual &&
+	test_cmp expect actual &&
+
+	echo true >expect &&
+	git config --bool --get-urlmatch http.sslverify https://deep.nested.example.com >actual &&
+	test_cmp expect actual &&
+
+	echo false >expect &&
+	git config --bool --get-urlmatch http.sslverify https://good.example.com >actual &&
+	test_cmp expect actual &&
+
+	{
+		echo http.cookiefile /tmp/cookie.txt &&
+		echo http.sslverify false
+	} >expect &&
+	git config --get-urlmatch HTTP https://good.example.com >actual &&
+	test_cmp expect actual &&
+
+	echo http.sslverify >expect &&
+	git config --get-urlmatch HTTP https://more.example.com.au >actual &&
+	test_cmp expect actual
+'
+
 # good section hygiene
 test_expect_failure 'unsetting the last key in a section removes header' '
 	cat >.git/config <<-\EOF &&
diff --git a/t/t1305-config-include.sh b/t/t1305-config-include.sh
index 9ba2ba1..e833939 100755
--- a/t/t1305-config-include.sh
+++ b/t/t1305-config-include.sh
@@ -102,7 +102,7 @@
 
 test_expect_success 'missing include files are ignored' '
 	cat >.gitconfig <<-\EOF &&
-	[include]path = foo
+	[include]path = non-existent
 	[test]value = yes
 	EOF
 	echo yes >expect &&
@@ -152,6 +152,62 @@
 	test_must_fail git config --file - test.one
 '
 
+test_expect_success 'conditional include, both unanchored' '
+	git init foo &&
+	(
+		cd foo &&
+		echo "[includeIf \"gitdir:foo/\"]path=bar" >>.git/config &&
+		echo "[test]one=1" >.git/bar &&
+		echo 1 >expect &&
+		git config test.one >actual &&
+		test_cmp expect actual
+	)
+'
+
+test_expect_success 'conditional include, $HOME expansion' '
+	(
+		cd foo &&
+		echo "[includeIf \"gitdir:~/foo/\"]path=bar2" >>.git/config &&
+		echo "[test]two=2" >.git/bar2 &&
+		echo 2 >expect &&
+		git config test.two >actual &&
+		test_cmp expect actual
+	)
+'
+
+test_expect_success 'conditional include, full pattern' '
+	(
+		cd foo &&
+		echo "[includeIf \"gitdir:**/foo/**\"]path=bar3" >>.git/config &&
+		echo "[test]three=3" >.git/bar3 &&
+		echo 3 >expect &&
+		git config test.three >actual &&
+		test_cmp expect actual
+	)
+'
+
+test_expect_success 'conditional include, relative path' '
+	echo "[includeIf \"gitdir:./foo/.git\"]path=bar4" >>.gitconfig &&
+	echo "[test]four=4" >bar4 &&
+	(
+		cd foo &&
+		echo 4 >expect &&
+		git config test.four >actual &&
+		test_cmp expect actual
+	)
+'
+
+test_expect_success 'conditional include, both unanchored, icase' '
+	(
+		cd foo &&
+		echo "[includeIf \"gitdir/i:FOO/\"]path=bar5" >>.git/config &&
+		echo "[test]five=5" >.git/bar5 &&
+		echo 5 >expect &&
+		git config test.five >actual &&
+		test_cmp expect actual
+	)
+'
+
 test_expect_success 'include cycles are detected' '
 	cat >.gitconfig <<-\EOF &&
 	[test]value = gitconfig
diff --git a/t/t1309-early-config.sh b/t/t1309-early-config.sh
new file mode 100755
index 0000000..b97357b
--- /dev/null
+++ b/t/t1309-early-config.sh
@@ -0,0 +1,74 @@
+#!/bin/sh
+
+test_description='Test read_early_config()'
+
+. ./test-lib.sh
+
+test_expect_success 'read early config' '
+	test_config early.config correct &&
+	test-config read_early_config early.config >output &&
+	test correct = "$(cat output)"
+'
+
+test_expect_success 'in a sub-directory' '
+	test_config early.config sub &&
+	mkdir -p sub &&
+	(
+		cd sub &&
+		test-config read_early_config early.config
+	) >output &&
+	test sub = "$(cat output)"
+'
+
+test_expect_success 'ceiling' '
+	test_config early.config ceiling &&
+	mkdir -p sub &&
+	(
+		GIT_CEILING_DIRECTORIES="$PWD" &&
+		export GIT_CEILING_DIRECTORIES &&
+		cd sub &&
+		test-config read_early_config early.config
+	) >output &&
+	test -z "$(cat output)"
+'
+
+test_expect_success 'ceiling #2' '
+	mkdir -p xdg/git &&
+	git config -f xdg/git/config early.config xdg &&
+	test_config early.config ceiling &&
+	mkdir -p sub &&
+	(
+		XDG_CONFIG_HOME="$PWD"/xdg &&
+		GIT_CEILING_DIRECTORIES="$PWD" &&
+		export GIT_CEILING_DIRECTORIES XDG_CONFIG_HOME &&
+		cd sub &&
+		test-config read_early_config early.config
+	) >output &&
+	test xdg = "$(cat output)"
+'
+
+test_with_config () {
+	rm -rf throwaway &&
+	git init throwaway &&
+	(
+		cd throwaway &&
+		echo "$*" >.git/config &&
+		test-config read_early_config early.config
+	)
+}
+
+test_expect_success 'ignore .git/ with incompatible repository version' '
+	test_with_config "[core]repositoryformatversion = 999999" 2>err &&
+	grep "warning:.* Expected git repo version <= [1-9]" err
+'
+
+test_expect_failure 'ignore .git/ with invalid repository version' '
+	test_with_config "[core]repositoryformatversion = invalid"
+'
+
+
+test_expect_failure 'ignore .git/ with invalid config' '
+	test_with_config "["
+'
+
+test_done
diff --git a/t/t1400-update-ref.sh b/t/t1400-update-ref.sh
index d4fb977..a23cd7b 100755
--- a/t/t1400-update-ref.sh
+++ b/t/t1400-update-ref.sh
@@ -8,29 +8,39 @@
 
 Z=$_z40
 
-test_expect_success setup '
+m=refs/heads/master
+n_dir=refs/heads/gu
+n=$n_dir/fixes
+outside=refs/foo
+bare=bare-repo
 
+create_test_commits ()
+{
+	prfx="$1"
 	for name in A B C D E F
 	do
 		test_tick &&
 		T=$(git write-tree) &&
 		sha1=$(echo $name | git commit-tree $T) &&
-		eval $name=$sha1
+		eval $prfx$name=$sha1
 	done
+}
 
+test_expect_success setup '
+	create_test_commits "" &&
+	mkdir $bare &&
+	cd $bare &&
+	git init --bare &&
+	create_test_commits "bare" &&
+	cd -
 '
 
-m=refs/heads/master
-n_dir=refs/heads/gu
-n=$n_dir/fixes
-outside=refs/foo
-
 test_expect_success \
 	"create $m" \
 	"git update-ref $m $A &&
 	 test $A"' = $(cat .git/'"$m"')'
 test_expect_success \
-	"create $m" \
+	"create $m with oldvalue verification" \
 	"git update-ref $m $B $A &&
 	 test $B"' = $(cat .git/'"$m"')'
 test_expect_success "fail to delete $m with stale ref" '
@@ -38,31 +48,31 @@
 	test $B = "$(cat .git/$m)"
 '
 test_expect_success "delete $m" '
+	test_when_finished "rm -f .git/$m" &&
 	git update-ref -d $m $B &&
-	! test -f .git/$m
+	test_path_is_missing .git/$m
 '
-rm -f .git/$m
 
-test_expect_success "delete $m without oldvalue verification" "
+test_expect_success "delete $m without oldvalue verification" '
+	test_when_finished "rm -f .git/$m" &&
 	git update-ref $m $A &&
-	test $A = \$(cat .git/$m) &&
+	test $A = $(cat .git/$m) &&
 	git update-ref -d $m &&
-	! test -f .git/$m
-"
-rm -f .git/$m
+	test_path_is_missing .git/$m
+'
 
-test_expect_success \
-	"fail to create $n" \
-	"touch .git/$n_dir &&
-	 test_must_fail git update-ref $n $A >out 2>err"
-rm -f .git/$n_dir out err
+test_expect_success "fail to create $n" '
+	test_when_finished "rm -f .git/$n_dir" &&
+	touch .git/$n_dir &&
+	test_must_fail git update-ref $n $A
+'
 
 test_expect_success \
 	"create $m (by HEAD)" \
 	"git update-ref HEAD $A &&
 	 test $A"' = $(cat .git/'"$m"')'
 test_expect_success \
-	"create $m (by HEAD)" \
+	"create $m (by HEAD) with oldvalue verification" \
 	"git update-ref HEAD $B $A &&
 	 test $B"' = $(cat .git/'"$m"')'
 test_expect_success "fail to delete $m (by HEAD) with stale ref" '
@@ -70,10 +80,28 @@
 	test $B = $(cat .git/$m)
 '
 test_expect_success "delete $m (by HEAD)" '
+	test_when_finished "rm -f .git/$m" &&
 	git update-ref -d HEAD $B &&
-	! test -f .git/$m
+	test_path_is_missing .git/$m
 '
-rm -f .git/$m
+
+test_expect_success "deleting current branch adds message to HEAD's log" '
+	test_when_finished "rm -f .git/$m" &&
+	git update-ref $m $A &&
+	git symbolic-ref HEAD $m &&
+	git update-ref -m delete-$m -d $m &&
+	test_path_is_missing .git/$m &&
+	grep "delete-$m$" .git/logs/HEAD
+'
+
+test_expect_success "deleting by HEAD adds message to HEAD's log" '
+	test_when_finished "rm -f .git/$m" &&
+	git update-ref $m $A &&
+	git symbolic-ref HEAD $m &&
+	git update-ref -m delete-by-head -d HEAD &&
+	test_path_is_missing .git/$m &&
+	grep "delete-by-head$" .git/logs/HEAD
+'
 
 test_expect_success 'update-ref does not create reflogs by default' '
 	test_when_finished "git update-ref -d $outside" &&
@@ -93,6 +121,61 @@
 	git reflog exists $outside
 '
 
+test_expect_success 'creates no reflog in bare repository' '
+	git -C $bare update-ref $m $bareA &&
+	git -C $bare rev-parse $bareA >expect &&
+	git -C $bare rev-parse $m >actual &&
+	test_cmp expect actual &&
+	test_must_fail git -C $bare reflog exists $m
+'
+
+test_expect_success 'core.logAllRefUpdates=true creates reflog in bare repository' '
+	test_when_finished "git -C $bare config --unset core.logAllRefUpdates && \
+		rm $bare/logs/$m" &&
+	git -C $bare config core.logAllRefUpdates true &&
+	git -C $bare update-ref $m $bareB &&
+	git -C $bare rev-parse $bareB >expect &&
+	git -C $bare rev-parse $m >actual &&
+	test_cmp expect actual &&
+	git -C $bare reflog exists $m
+'
+
+test_expect_success 'core.logAllRefUpdates=true does not create reflog by default' '
+	test_config core.logAllRefUpdates true &&
+	test_when_finished "git update-ref -d $outside" &&
+	git update-ref $outside $A &&
+	git rev-parse $A >expect &&
+	git rev-parse $outside >actual &&
+	test_cmp expect actual &&
+	test_must_fail git reflog exists $outside
+'
+
+test_expect_success 'core.logAllRefUpdates=always creates reflog by default' '
+	test_config core.logAllRefUpdates always &&
+	test_when_finished "git update-ref -d $outside" &&
+	git update-ref $outside $A &&
+	git rev-parse $A >expect &&
+	git rev-parse $outside >actual &&
+	test_cmp expect actual &&
+	git reflog exists $outside
+'
+
+test_expect_success 'core.logAllRefUpdates=always creates no reflog for ORIG_HEAD' '
+	test_config core.logAllRefUpdates always &&
+	git update-ref ORIG_HEAD $A &&
+	test_must_fail git reflog exists ORIG_HEAD
+'
+
+test_expect_success '--no-create-reflog overrides core.logAllRefUpdates=always' '
+	test_config core.logAllRefUpdates true &&
+	test_when_finished "git update-ref -d $outside" &&
+	git update-ref --no-create-reflog $outside $A &&
+	git rev-parse $A >expect &&
+	git rev-parse $outside >actual &&
+	test_cmp expect actual &&
+	test_must_fail git reflog exists $outside
+'
+
 test_expect_success \
 	"create $m (by HEAD)" \
 	"git update-ref HEAD $A &&
@@ -105,28 +188,29 @@
 	"git update-ref HEAD $B $A &&
 	 test $B"' = $(cat .git/'"$m"')'
 test_expect_success "delete $m (by HEAD) should remove both packed and loose $m" '
+	test_when_finished "rm -f .git/$m" &&
 	git update-ref -d HEAD $B &&
 	! grep "$m" .git/packed-refs &&
-	! test -f .git/$m
+	test_path_is_missing .git/$m
 '
-rm -f .git/$m
 
 cp -f .git/HEAD .git/HEAD.orig
 test_expect_success "delete symref without dereference" '
+	test_when_finished "cp -f .git/HEAD.orig .git/HEAD" &&
 	git update-ref --no-deref -d HEAD &&
-	! test -f .git/HEAD
+	test_path_is_missing .git/HEAD
 '
-cp -f .git/HEAD.orig .git/HEAD
 
 test_expect_success "delete symref without dereference when the referred ref is packed" '
+	test_when_finished "cp -f .git/HEAD.orig .git/HEAD" &&
 	echo foo >foo.c &&
 	git add foo.c &&
 	git commit -m foo &&
 	git pack-refs --all &&
 	git update-ref --no-deref -d HEAD &&
-	! test -f .git/HEAD
+	test_path_is_missing .git/HEAD
 '
-cp -f .git/HEAD.orig .git/HEAD
+
 git update-ref -d $m
 
 test_expect_success 'update-ref -d is not confused by self-reference' '
@@ -158,10 +242,10 @@
 test_expect_success '(not) create HEAD with old sha1' "
 	test_must_fail git update-ref HEAD $A $B
 "
-test_expect_success "(not) prior created .git/$m" "
-	! test -f .git/$m
-"
-rm -f .git/$m
+test_expect_success "(not) prior created .git/$m" '
+	test_when_finished "rm -f .git/$m" &&
+	test_path_is_missing .git/$m
+'
 
 test_expect_success \
 	"create HEAD" \
@@ -169,56 +253,84 @@
 test_expect_success '(not) change HEAD with wrong SHA1' "
 	test_must_fail git update-ref HEAD $B $Z
 "
-test_expect_success "(not) changed .git/$m" "
-	! test $B"' = $(cat .git/'"$m"')
+test_expect_success "(not) changed .git/$m" '
+	test_when_finished "rm -f .git/$m" &&
+	! test $B = $(cat .git/$m)
 '
-rm -f .git/$m
 
 rm -f .git/logs/refs/heads/master
 test_expect_success \
 	"create $m (logged by touch)" \
-	'GIT_COMMITTER_DATE="2005-05-26 23:30" \
+	'test_config core.logAllRefUpdates false &&
+	 GIT_COMMITTER_DATE="2005-05-26 23:30" \
 	 git update-ref --create-reflog HEAD '"$A"' -m "Initial Creation" &&
 	 test '"$A"' = $(cat .git/'"$m"')'
 test_expect_success \
 	"update $m (logged by touch)" \
-	'GIT_COMMITTER_DATE="2005-05-26 23:31" \
+	'test_config core.logAllRefUpdates false &&
+	 GIT_COMMITTER_DATE="2005-05-26 23:31" \
 	 git update-ref HEAD'" $B $A "'-m "Switch" &&
 	 test '"$B"' = $(cat .git/'"$m"')'
 test_expect_success \
 	"set $m (logged by touch)" \
-	'GIT_COMMITTER_DATE="2005-05-26 23:41" \
+	'test_config core.logAllRefUpdates false &&
+	 GIT_COMMITTER_DATE="2005-05-26 23:41" \
 	 git update-ref HEAD'" $A &&
 	 test $A"' = $(cat .git/'"$m"')'
 
+test_expect_success "empty directory removal" '
+	git branch d1/d2/r1 HEAD &&
+	git branch d1/r2 HEAD &&
+	test_path_is_file .git/refs/heads/d1/d2/r1 &&
+	test_path_is_file .git/logs/refs/heads/d1/d2/r1 &&
+	git branch -d d1/d2/r1 &&
+	test_path_is_missing .git/refs/heads/d1/d2 &&
+	test_path_is_missing .git/logs/refs/heads/d1/d2 &&
+	test_path_is_file .git/refs/heads/d1/r2 &&
+	test_path_is_file .git/logs/refs/heads/d1/r2
+'
+
+test_expect_success "symref empty directory removal" '
+	git branch e1/e2/r1 HEAD &&
+	git branch e1/r2 HEAD &&
+	git checkout e1/e2/r1 &&
+	test_when_finished "git checkout master" &&
+	test_path_is_file .git/refs/heads/e1/e2/r1 &&
+	test_path_is_file .git/logs/refs/heads/e1/e2/r1 &&
+	git update-ref -d HEAD &&
+	test_path_is_missing .git/refs/heads/e1/e2 &&
+	test_path_is_missing .git/logs/refs/heads/e1/e2 &&
+	test_path_is_file .git/refs/heads/e1/r2 &&
+	test_path_is_file .git/logs/refs/heads/e1/r2 &&
+	test_path_is_file .git/logs/HEAD
+'
+
 cat >expect <<EOF
 $Z $A $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> 1117150200 +0000	Initial Creation
 $A $B $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> 1117150260 +0000	Switch
 $B $A $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> 1117150860 +0000
 EOF
-test_expect_success \
-	"verifying $m's log" \
-	"test_cmp expect .git/logs/$m"
-rm -rf .git/$m .git/logs expect
-
-test_expect_success \
-	'enable core.logAllRefUpdates' \
-	'git config core.logAllRefUpdates true &&
-	 test true = $(git config --bool --get core.logAllRefUpdates)'
+test_expect_success "verifying $m's log (logged by touch)" '
+	test_when_finished "rm -rf .git/$m .git/logs expect" &&
+	test_cmp expect .git/logs/$m
+'
 
 test_expect_success \
 	"create $m (logged by config)" \
-	'GIT_COMMITTER_DATE="2005-05-26 23:32" \
+	'test_config core.logAllRefUpdates true &&
+	 GIT_COMMITTER_DATE="2005-05-26 23:32" \
 	 git update-ref HEAD'" $A "'-m "Initial Creation" &&
 	 test '"$A"' = $(cat .git/'"$m"')'
 test_expect_success \
 	"update $m (logged by config)" \
-	'GIT_COMMITTER_DATE="2005-05-26 23:33" \
+	'test_config core.logAllRefUpdates true &&
+	 GIT_COMMITTER_DATE="2005-05-26 23:33" \
 	 git update-ref HEAD'" $B $A "'-m "Switch" &&
 	 test '"$B"' = $(cat .git/'"$m"')'
 test_expect_success \
 	"set $m (logged by config)" \
-	'GIT_COMMITTER_DATE="2005-05-26 23:43" \
+	'test_config core.logAllRefUpdates true &&
+	 GIT_COMMITTER_DATE="2005-05-26 23:43" \
 	 git update-ref HEAD '"$A &&
 	 test $A"' = $(cat .git/'"$m"')'
 
@@ -228,9 +340,9 @@
 $B $A $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> 1117150980 +0000
 EOF
 test_expect_success \
-	"verifying $m's log" \
-	'test_cmp expect .git/logs/$m'
-rm -f .git/$m .git/logs/$m expect
+	"verifying $m's log (logged by config)" \
+	'test_when_finished "rm -f .git/$m .git/logs/$m expect" &&
+	 test_cmp expect .git/logs/$m'
 
 git update-ref $m $D
 cat >.git/logs/$m <<EOF
@@ -246,55 +358,55 @@
 ld="Thu, 26 May 2005 18:43:00 -0500"
 test_expect_success \
 	'Query "master@{May 25 2005}" (before history)' \
-	'rm -f o e &&
+	'test_when_finished "rm -f o e" &&
 	 git rev-parse --verify "master@{May 25 2005}" >o 2>e &&
 	 test '"$C"' = $(cat o) &&
 	 test "warning: Log for '\'master\'' only goes back to $ed." = "$(cat e)"'
 test_expect_success \
 	"Query master@{2005-05-25} (before history)" \
-	'rm -f o e &&
+	'test_when_finished "rm -f o e" &&
 	 git rev-parse --verify master@{2005-05-25} >o 2>e &&
 	 test '"$C"' = $(cat o) &&
 	 echo test "warning: Log for '\'master\'' only goes back to $ed." = "$(cat e)"'
 test_expect_success \
 	'Query "master@{May 26 2005 23:31:59}" (1 second before history)' \
-	'rm -f o e &&
+	'test_when_finished "rm -f o e" &&
 	 git rev-parse --verify "master@{May 26 2005 23:31:59}" >o 2>e &&
 	 test '"$C"' = $(cat o) &&
 	 test "warning: Log for '\''master'\'' only goes back to $ed." = "$(cat e)"'
 test_expect_success \
 	'Query "master@{May 26 2005 23:32:00}" (exactly history start)' \
-	'rm -f o e &&
+	'test_when_finished "rm -f o e" &&
 	 git rev-parse --verify "master@{May 26 2005 23:32:00}" >o 2>e &&
 	 test '"$C"' = $(cat o) &&
 	 test "" = "$(cat e)"'
 test_expect_success \
 	'Query "master@{May 26 2005 23:32:30}" (first non-creation change)' \
-	'rm -f o e &&
+	'test_when_finished "rm -f o e" &&
 	 git rev-parse --verify "master@{May 26 2005 23:32:30}" >o 2>e &&
 	 test '"$A"' = $(cat o) &&
 	 test "" = "$(cat e)"'
 test_expect_success \
 	'Query "master@{2005-05-26 23:33:01}" (middle of history with gap)' \
-	'rm -f o e &&
+	'test_when_finished "rm -f o e" &&
 	 git rev-parse --verify "master@{2005-05-26 23:33:01}" >o 2>e &&
 	 test '"$B"' = $(cat o) &&
 	 test "warning: Log for ref '"$m has gap after $gd"'." = "$(cat e)"'
 test_expect_success \
 	'Query "master@{2005-05-26 23:38:00}" (middle of history)' \
-	'rm -f o e &&
+	'test_when_finished "rm -f o e" &&
 	 git rev-parse --verify "master@{2005-05-26 23:38:00}" >o 2>e &&
 	 test '"$Z"' = $(cat o) &&
 	 test "" = "$(cat e)"'
 test_expect_success \
 	'Query "master@{2005-05-26 23:43:00}" (exact end of history)' \
-	'rm -f o e &&
+	'test_when_finished "rm -f o e" &&
 	 git rev-parse --verify "master@{2005-05-26 23:43:00}" >o 2>e &&
 	 test '"$E"' = $(cat o) &&
 	 test "" = "$(cat e)"'
 test_expect_success \
 	'Query "master@{2005-05-28}" (past end of history)' \
-	'rm -f o e &&
+	'test_when_finished "rm -f o e" &&
 	 git rev-parse --verify "master@{2005-05-28}" >o 2>e &&
 	 test '"$D"' = $(cat o) &&
 	 test "warning: Log for ref '"$m unexpectedly ended on $ld"'." = "$(cat e)"'
@@ -304,7 +416,8 @@
 
 test_expect_success \
     'creating initial files' \
-    'echo TEST >F &&
+    'test_when_finished rm -f M &&
+     echo TEST >F &&
      git add F &&
 	 GIT_AUTHOR_DATE="2005-05-26 23:30" \
 	 GIT_COMMITTER_DATE="2005-05-26 23:30" git commit -m add -a &&
@@ -322,8 +435,7 @@
 	 echo $h_TEST >.git/MERGE_HEAD &&
 	 GIT_AUTHOR_DATE="2005-05-26 23:45" \
 	 GIT_COMMITTER_DATE="2005-05-26 23:45" git commit -F M &&
-	 h_MERGED=$(git rev-parse --verify HEAD) &&
-	 rm -f M'
+	 h_MERGED=$(git rev-parse --verify HEAD)'
 
 cat >expect <<EOF
 $Z $h_TEST $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> 1117150200 +0000	commit (initial): add
@@ -501,6 +613,7 @@
 '
 
 test_expect_success 'stdin creates reflogs with --create-reflog' '
+	test_when_finished "git update-ref -d $outside" &&
 	echo "create $outside $m" >stdin &&
 	git update-ref --create-reflog --stdin <stdin &&
 	git rev-parse $m >expect &&
diff --git a/t/t1403-show-ref.sh b/t/t1403-show-ref.sh
index 7e10bcf..30354fd 100755
--- a/t/t1403-show-ref.sh
+++ b/t/t1403-show-ref.sh
@@ -97,6 +97,9 @@
 	git show-ref -d refs/tags/A refs/tags/C >actual &&
 	test_cmp expect actual &&
 
+	git show-ref --verify -d refs/tags/A refs/tags/C >actual &&
+	test_cmp expect actual &&
+
 	echo $(git rev-parse refs/heads/master) refs/heads/master >expect &&
 	git show-ref -d master >actual &&
 	test_cmp expect actual &&
@@ -116,6 +119,12 @@
 	test_cmp expect actual &&
 
 	test_must_fail git show-ref -d --verify heads/master >actual &&
+	test_cmp expect actual &&
+
+	test_must_fail git show-ref --verify -d A C >actual &&
+	test_cmp expect actual &&
+
+	test_must_fail git show-ref --verify -d tags/A tags/C >actual &&
 	test_cmp expect actual
 
 '
@@ -164,4 +173,37 @@
 	test_cmp expect actual
 '
 
+test_expect_success 'show-ref --verify HEAD' '
+	echo $(git rev-parse HEAD) HEAD >expect &&
+	git show-ref --verify HEAD >actual &&
+	test_cmp expect actual &&
+
+	>expect &&
+
+	git show-ref --verify -q HEAD >actual &&
+	test_cmp expect actual
+'
+
+test_expect_success 'show-ref --verify with dangling ref' '
+	sha1_file() {
+		echo "$*" | sed "s#..#.git/objects/&/#"
+	} &&
+
+	remove_object() {
+		file=$(sha1_file "$*") &&
+		test -e "$file" &&
+		rm -f "$file"
+	} &&
+
+	test_when_finished "rm -rf dangling" &&
+	(
+		git init dangling &&
+		cd dangling &&
+		test_commit dangling &&
+		sha=$(git rev-parse refs/tags/dangling) &&
+		remove_object $sha &&
+		test_must_fail git show-ref --verify refs/tags/dangling
+	)
+'
+
 test_done
diff --git a/t/t1405-main-ref-store.sh b/t/t1405-main-ref-store.sh
new file mode 100755
index 0000000..490521f
--- /dev/null
+++ b/t/t1405-main-ref-store.sh
@@ -0,0 +1,129 @@
+#!/bin/sh
+
+test_description='test main ref store api'
+
+. ./test-lib.sh
+
+RUN="test-ref-store main"
+
+test_expect_success 'pack_refs(PACK_REFS_ALL | PACK_REFS_PRUNE)' '
+	test_commit one &&
+	N=`find .git/refs -type f | wc -l` &&
+	test "$N" != 0 &&
+	$RUN pack-refs 3 &&
+	N=`find .git/refs -type f | wc -l`
+'
+
+test_expect_success 'peel_ref(new-tag)' '
+	git rev-parse HEAD >expected &&
+	git tag -a -m new-tag new-tag HEAD &&
+	$RUN peel-ref refs/tags/new-tag >actual &&
+	test_cmp expected actual
+'
+
+test_expect_success 'create_symref(FOO, refs/heads/master)' '
+	$RUN create-symref FOO refs/heads/master nothing &&
+	echo refs/heads/master >expected &&
+	git symbolic-ref FOO >actual &&
+	test_cmp expected actual
+'
+
+test_expect_success 'delete_refs(FOO, refs/tags/new-tag)' '
+	git rev-parse FOO -- &&
+	git rev-parse refs/tags/new-tag -- &&
+	$RUN delete-refs 0 FOO refs/tags/new-tag &&
+	test_must_fail git rev-parse FOO -- &&
+	test_must_fail git rev-parse refs/tags/new-tag --
+'
+
+test_expect_success 'rename_refs(master, new-master)' '
+	git rev-parse master >expected &&
+	$RUN rename-ref refs/heads/master refs/heads/new-master &&
+	git rev-parse new-master >actual &&
+	test_cmp expected actual &&
+	test_commit recreate-master
+'
+
+test_expect_success 'for_each_ref(refs/heads/)' '
+	$RUN for-each-ref refs/heads/ | cut -c 42- >actual &&
+	cat >expected <<-\EOF &&
+	master 0x0
+	new-master 0x0
+	EOF
+	test_cmp expected actual
+'
+
+test_expect_success 'for_each_ref() is sorted' '
+	$RUN for-each-ref refs/heads/ | cut -c 42- >actual &&
+	sort actual > expected &&
+	test_cmp expected actual
+'
+
+test_expect_success 'resolve_ref(new-master)' '
+	SHA1=`git rev-parse new-master` &&
+	echo "$SHA1 refs/heads/new-master 0x0" >expected &&
+	$RUN resolve-ref refs/heads/new-master 0 >actual &&
+	test_cmp expected actual
+'
+
+test_expect_success 'verify_ref(new-master)' '
+	$RUN verify-ref refs/heads/new-master
+'
+
+test_expect_success 'for_each_reflog()' '
+	$RUN for-each-reflog | sort | cut -c 42- >actual &&
+	cat >expected <<-\EOF &&
+	HEAD 0x1
+	refs/heads/master 0x0
+	refs/heads/new-master 0x0
+	EOF
+	test_cmp expected actual
+'
+
+test_expect_success 'for_each_reflog_ent()' '
+	$RUN for-each-reflog-ent HEAD >actual &&
+	head -n1 actual | grep one &&
+	tail -n2 actual | head -n1 | grep recreate-master
+'
+
+test_expect_success 'for_each_reflog_ent_reverse()' '
+	$RUN for-each-reflog-ent-reverse HEAD >actual &&
+	head -n1 actual | grep recreate-master &&
+	tail -n2 actual | head -n1 | grep one
+'
+
+test_expect_success 'reflog_exists(HEAD)' '
+	$RUN reflog-exists HEAD
+'
+
+test_expect_success 'delete_reflog(HEAD)' '
+	$RUN delete-reflog HEAD &&
+	! test -f .git/logs/HEAD
+'
+
+test_expect_success 'create-reflog(HEAD)' '
+	$RUN create-reflog HEAD 1 &&
+	test -f .git/logs/HEAD
+'
+
+test_expect_success 'delete_ref(refs/heads/foo)' '
+	git checkout -b foo &&
+	FOO_SHA1=`git rev-parse foo` &&
+	git checkout --detach &&
+	test_commit bar-commit &&
+	git checkout -b bar &&
+	BAR_SHA1=`git rev-parse bar` &&
+	$RUN update-ref updating refs/heads/foo $BAR_SHA1 $FOO_SHA1 0 &&
+	echo $BAR_SHA1 >expected &&
+	git rev-parse refs/heads/foo >actual &&
+	test_cmp expected actual
+'
+
+test_expect_success 'delete_ref(refs/heads/foo)' '
+	SHA1=`git rev-parse foo` &&
+	git checkout --detach &&
+	$RUN delete-ref msg refs/heads/foo $SHA1 0 &&
+	test_must_fail git rev-parse refs/heads/foo --
+'
+
+test_done
diff --git a/t/t1406-submodule-ref-store.sh b/t/t1406-submodule-ref-store.sh
new file mode 100755
index 0000000..13b5454
--- /dev/null
+++ b/t/t1406-submodule-ref-store.sh
@@ -0,0 +1,101 @@
+#!/bin/sh
+
+test_description='test submodule ref store api'
+
+. ./test-lib.sh
+
+RUN="test-ref-store submodule:sub"
+
+test_expect_success 'setup' '
+	git init sub &&
+	(
+		cd sub &&
+		test_commit first &&
+		git checkout -b new-master
+	)
+'
+
+test_expect_success 'pack_refs() not allowed' '
+	test_must_fail $RUN pack-refs 3
+'
+
+test_expect_success 'peel_ref(new-tag)' '
+	git -C sub rev-parse HEAD >expected &&
+	git -C sub tag -a -m new-tag new-tag HEAD &&
+	$RUN peel-ref refs/tags/new-tag >actual &&
+	test_cmp expected actual
+'
+
+test_expect_success 'create_symref() not allowed' '
+	test_must_fail $RUN create-symref FOO refs/heads/master nothing
+'
+
+test_expect_success 'delete_refs() not allowed' '
+	test_must_fail $RUN delete-refs 0 FOO refs/tags/new-tag
+'
+
+test_expect_success 'rename_refs() not allowed' '
+	test_must_fail $RUN rename-ref refs/heads/master refs/heads/new-master
+'
+
+test_expect_success 'for_each_ref(refs/heads/)' '
+	$RUN for-each-ref refs/heads/ | cut -c 42- >actual &&
+	cat >expected <<-\EOF &&
+	master 0x0
+	new-master 0x0
+	EOF
+	test_cmp expected actual
+'
+
+test_expect_success 'for_each_ref() is sorted' '
+	$RUN for-each-ref refs/heads/ | cut -c 42- >actual &&
+	sort actual > expected &&
+	test_cmp expected actual
+'
+
+test_expect_success 'resolve_ref(master)' '
+	SHA1=`git -C sub rev-parse master` &&
+	echo "$SHA1 refs/heads/master 0x0" >expected &&
+	$RUN resolve-ref refs/heads/master 0 >actual &&
+	test_cmp expected actual
+'
+
+test_expect_success 'verify_ref(new-master)' '
+	$RUN verify-ref refs/heads/new-master
+'
+
+test_expect_success 'for_each_reflog()' '
+	$RUN for-each-reflog | sort | cut -c 42- >actual &&
+	cat >expected <<-\EOF &&
+	HEAD 0x1
+	refs/heads/master 0x0
+	refs/heads/new-master 0x0
+	EOF
+	test_cmp expected actual
+'
+
+test_expect_success 'for_each_reflog_ent()' '
+	$RUN for-each-reflog-ent HEAD >actual && cat actual &&
+	head -n1 actual | grep first &&
+	tail -n2 actual | head -n1 | grep master.to.new
+'
+
+test_expect_success 'for_each_reflog_ent_reverse()' '
+	$RUN for-each-reflog-ent-reverse HEAD >actual &&
+	head -n1 actual | grep master.to.new &&
+	tail -n2 actual | head -n1 | grep first
+'
+
+test_expect_success 'reflog_exists(HEAD)' '
+	$RUN reflog-exists HEAD
+'
+
+test_expect_success 'delete_reflog() not allowed' '
+	test_must_fail $RUN delete-reflog HEAD
+'
+
+test_expect_success 'create-reflog() not allowed' '
+	test_must_fail $RUN create-reflog HEAD 1
+'
+
+test_done
diff --git a/t/t1450-fsck.sh b/t/t1450-fsck.sh
index ee7d473..33a51c9 100755
--- a/t/t1450-fsck.sh
+++ b/t/t1450-fsck.sh
@@ -43,13 +43,13 @@
 
 test_expect_success 'setup: helpers for corruption tests' '
 	sha1_file() {
-		echo "$*" | sed "s#..#.git/objects/&/#"
+		remainder=${1#??} &&
+		firsttwo=${1%$remainder} &&
+		echo ".git/objects/$firsttwo/$remainder"
 	} &&
 
 	remove_object() {
-		file=$(sha1_file "$*") &&
-		test -e "$file" &&
-		rm -f "$file"
+		rm "$(sha1_file "$1")"
 	}
 '
 
@@ -189,14 +189,16 @@
 '
 
 test_expect_success 'tree object with duplicate entries' '
-	test_when_finished "remove_object \$T" &&
+	test_when_finished "for i in \$T; do remove_object \$i; done" &&
 	T=$(
 		GIT_INDEX_FILE=test-index &&
 		export GIT_INDEX_FILE &&
 		rm -f test-index &&
 		>x &&
 		git add x &&
+		git rev-parse :x &&
 		T=$(git write-tree) &&
+		echo $T &&
 		(
 			git cat-file tree $T &&
 			git cat-file tree $T
@@ -521,9 +523,21 @@
 		touch empty &&
 		git add empty &&
 		test_commit empty &&
+
+		# Drop the index now; we want to be sure that we
+		# recursively notice the broken objects
+		# because they are reachable from refs, not because
+		# they are in the index.
+		rm -f .git/index &&
+
+		# corrupt the blob, but in a way that we can still identify
+		# its type. That lets us see that --connectivity-only is
+		# not actually looking at the contents, but leaves it
+		# free to examine the type if it chooses.
 		empty=.git/objects/e6/9de29bb2d1d6434b8b29ae775ad8c2e48c5391 &&
-		rm -f $empty &&
-		echo invalid >$empty &&
+		blob=$(echo unrelated | git hash-object -w --stdin) &&
+		mv -f $(sha1_file $blob) $empty &&
+
 		test_must_fail git fsck --strict &&
 		git fsck --strict --connectivity-only &&
 		tree=$(git rev-parse HEAD:) &&
@@ -535,12 +549,18 @@
 	)
 '
 
-remove_loose_object () {
-	sha1="$(git rev-parse "$1")" &&
-	remainder=${sha1#??} &&
-	firsttwo=${sha1%$remainder} &&
-	rm .git/objects/$firsttwo/$remainder
-}
+test_expect_success 'fsck --connectivity-only with explicit head' '
+	rm -rf connectivity-only &&
+	git init connectivity-only &&
+	(
+		cd connectivity-only &&
+		test_commit foo &&
+		rm -f .git/index &&
+		tree=$(git rev-parse HEAD^{tree}) &&
+		remove_object $(git rev-parse HEAD:foo.t) &&
+		test_must_fail git fsck --connectivity-only $tree
+	)
+'
 
 test_expect_success 'fsck --name-objects' '
 	rm -rf name-objects &&
@@ -550,11 +570,123 @@
 		test_commit julius caesar.t &&
 		test_commit augustus &&
 		test_commit caesar &&
-		remove_loose_object $(git rev-parse julius:caesar.t) &&
+		remove_object $(git rev-parse julius:caesar.t) &&
 		test_must_fail git fsck --name-objects >out &&
 		tree=$(git rev-parse --verify julius:) &&
 		grep "$tree (\(refs/heads/master\|HEAD\)@{[0-9]*}:" out
 	)
 '
 
+test_expect_success 'alternate objects are correctly blamed' '
+	test_when_finished "rm -rf alt.git .git/objects/info/alternates" &&
+	git init --bare alt.git &&
+	echo "../../alt.git/objects" >.git/objects/info/alternates &&
+	mkdir alt.git/objects/12 &&
+	>alt.git/objects/12/34567890123456789012345678901234567890 &&
+	test_must_fail git fsck >out 2>&1 &&
+	grep alt.git out
+'
+
+test_expect_success 'fsck errors in packed objects' '
+	git cat-file commit HEAD >basis &&
+	sed "s/</one/" basis >one &&
+	sed "s/</foo/" basis >two &&
+	one=$(git hash-object -t commit -w one) &&
+	two=$(git hash-object -t commit -w two) &&
+	pack=$(
+		{
+			echo $one &&
+			echo $two
+		} | git pack-objects .git/objects/pack/pack
+	) &&
+	test_when_finished "rm -f .git/objects/pack/pack-$pack.*" &&
+	remove_object $one &&
+	remove_object $two &&
+	test_must_fail git fsck 2>out &&
+	grep "error in commit $one.* - bad name" out &&
+	grep "error in commit $two.* - bad name" out &&
+	! grep corrupt out
+'
+
+test_expect_success 'fsck finds problems in duplicate loose objects' '
+	rm -rf broken-duplicate &&
+	git init broken-duplicate &&
+	(
+		cd broken-duplicate &&
+		test_commit duplicate &&
+		# no "-d" here, so we end up with duplicates
+		git repack &&
+		# now corrupt the loose copy
+		file=$(sha1_file "$(git rev-parse HEAD)") &&
+		rm "$file" &&
+		echo broken >"$file" &&
+		test_must_fail git fsck
+	)
+'
+
+test_expect_success 'fsck detects trailing loose garbage (commit)' '
+	git cat-file commit HEAD >basis &&
+	echo bump-commit-sha1 >>basis &&
+	commit=$(git hash-object -w -t commit basis) &&
+	file=$(sha1_file $commit) &&
+	test_when_finished "remove_object $commit" &&
+	chmod +w "$file" &&
+	echo garbage >>"$file" &&
+	test_must_fail git fsck 2>out &&
+	test_i18ngrep "garbage.*$commit" out
+'
+
+test_expect_success 'fsck detects trailing loose garbage (blob)' '
+	blob=$(echo trailing | git hash-object -w --stdin) &&
+	file=$(sha1_file $blob) &&
+	test_when_finished "remove_object $blob" &&
+	chmod +w "$file" &&
+	echo garbage >>"$file" &&
+	test_must_fail git fsck 2>out &&
+	test_i18ngrep "garbage.*$blob" out
+'
+
+# for each of type, we have one version which is referenced by another object
+# (and so while unreachable, not dangling), and another variant which really is
+# dangling.
+test_expect_success 'fsck notices dangling objects' '
+	git init dangling &&
+	(
+		cd dangling &&
+		blob=$(echo not-dangling | git hash-object -w --stdin) &&
+		dblob=$(echo dangling | git hash-object -w --stdin) &&
+		tree=$(printf "100644 blob %s\t%s\n" $blob one | git mktree) &&
+		dtree=$(printf "100644 blob %s\t%s\n" $blob two | git mktree) &&
+		commit=$(git commit-tree $tree) &&
+		dcommit=$(git commit-tree -p $commit $tree) &&
+
+		cat >expect <<-EOF &&
+		dangling blob $dblob
+		dangling commit $dcommit
+		dangling tree $dtree
+		EOF
+
+		git fsck >actual &&
+		# the output order is non-deterministic, as it comes from a hash
+		sort <actual >actual.sorted &&
+		test_cmp expect actual.sorted
+	)
+'
+
+test_expect_success 'fsck $name notices bogus $name' '
+	test_must_fail git fsck bogus &&
+	test_must_fail git fsck $_z40
+'
+
+test_expect_success 'bogus head does not fallback to all heads' '
+	# set up a case that will cause a reachability complaint
+	echo to-be-deleted >foo &&
+	git add foo &&
+	blob=$(git rev-parse :foo) &&
+	test_when_finished "git rm --cached foo" &&
+	remove_object $blob &&
+	test_must_fail git fsck $_z40 >out 2>&1 &&
+	! grep $blob out
+'
+
 test_done
diff --git a/t/t1500-rev-parse.sh b/t/t1500-rev-parse.sh
index 038e24c..03d3c7f 100755
--- a/t/t1500-rev-parse.sh
+++ b/t/t1500-rev-parse.sh
@@ -3,7 +3,7 @@
 test_description='test git rev-parse'
 . ./test-lib.sh
 
-# usage: [options] label is-bare is-inside-git is-inside-work prefix git-dir
+# usage: [options] label is-bare is-inside-git is-inside-work prefix git-dir absolute-git-dir
 test_rev_parse () {
 	d=
 	bare=
@@ -29,7 +29,8 @@
 		 --is-inside-git-dir \
 		 --is-inside-work-tree \
 		 --show-prefix \
-		 --git-dir
+		 --git-dir \
+		 --absolute-git-dir
 	do
 		test $# -eq 0 && break
 		expect="$1"
@@ -62,29 +63,71 @@
 	cp -R .git repo.git
 '
 
-test_rev_parse toplevel false false true '' .git
+test_rev_parse toplevel false false true '' .git "$ROOT/.git"
 
-test_rev_parse -C .git .git/ false true false '' .
-test_rev_parse -C .git/objects .git/objects/ false true false '' "$ROOT/.git"
+test_rev_parse -C .git .git/ false true false '' . "$ROOT/.git"
+test_rev_parse -C .git/objects .git/objects/ false true false '' "$ROOT/.git" "$ROOT/.git"
 
-test_rev_parse -C sub/dir subdirectory false false true sub/dir/ "$ROOT/.git"
+test_rev_parse -C sub/dir subdirectory false false true sub/dir/ "$ROOT/.git" "$ROOT/.git"
 
 test_rev_parse -b t 'core.bare = true' true false false
 
 test_rev_parse -b u 'core.bare undefined' false false true
 
 
-test_rev_parse -C work -g ../.git -b f 'GIT_DIR=../.git, core.bare = false' false false true ''
+test_rev_parse -C work -g ../.git -b f 'GIT_DIR=../.git, core.bare = false' false false true '' "../.git" "$ROOT/.git"
 
 test_rev_parse -C work -g ../.git -b t 'GIT_DIR=../.git, core.bare = true' true false false ''
 
 test_rev_parse -C work -g ../.git -b u 'GIT_DIR=../.git, core.bare undefined' false false true ''
 
 
-test_rev_parse -C work -g ../repo.git -b f 'GIT_DIR=../repo.git, core.bare = false' false false true ''
+test_rev_parse -C work -g ../repo.git -b f 'GIT_DIR=../repo.git, core.bare = false' false false true '' "../repo.git" "$ROOT/repo.git"
 
 test_rev_parse -C work -g ../repo.git -b t 'GIT_DIR=../repo.git, core.bare = true' true false false ''
 
 test_rev_parse -C work -g ../repo.git -b u 'GIT_DIR=../repo.git, core.bare undefined' false false true ''
 
+test_expect_success 'git-common-dir from worktree root' '
+	echo .git >expect &&
+	git rev-parse --git-common-dir >actual &&
+	test_cmp expect actual
+'
+
+test_expect_success 'git-common-dir inside sub-dir' '
+	mkdir -p path/to/child &&
+	test_when_finished "rm -rf path" &&
+	echo "$(git -C path/to/child rev-parse --show-cdup).git" >expect &&
+	git -C path/to/child rev-parse --git-common-dir >actual &&
+	test_cmp expect actual
+'
+
+test_expect_success 'git-path from worktree root' '
+	echo .git/objects >expect &&
+	git rev-parse --git-path objects >actual &&
+	test_cmp expect actual
+'
+
+test_expect_success 'git-path inside sub-dir' '
+	mkdir -p path/to/child &&
+	test_when_finished "rm -rf path" &&
+	echo "$(git -C path/to/child rev-parse --show-cdup).git/objects" >expect &&
+	git -C path/to/child rev-parse --git-path objects >actual &&
+	test_cmp expect actual
+'
+
+test_expect_success 'showing the superproject correctly' '
+	git rev-parse --show-superproject-working-tree >out &&
+	test_must_be_empty out &&
+
+	test_create_repo super &&
+	test_commit -C super test_commit &&
+	test_create_repo sub &&
+	test_commit -C sub test_commit &&
+	git -C super submodule add ../sub dir/sub &&
+	echo $(pwd)/super >expect  &&
+	git -C super/dir/sub rev-parse --show-superproject-working-tree >out &&
+	test_cmp expect out
+'
+
 test_done
diff --git a/t/t1501-work-tree.sh b/t/t1501-work-tree.sh
index cc5b870..b06210e 100755
--- a/t/t1501-work-tree.sh
+++ b/t/t1501-work-tree.sh
@@ -423,4 +423,12 @@
 	)
 '
 
+test_expect_success 'error out gracefully on invalid $GIT_WORK_TREE' '
+	(
+		GIT_WORK_TREE=/.invalid/work/tree &&
+		export GIT_WORK_TREE &&
+		test_expect_code 128 git rev-parse
+	)
+'
+
 test_done
diff --git a/t/t1507-rev-parse-upstream.sh b/t/t1507-rev-parse-upstream.sh
index 46ef1f2..b23c4e3 100755
--- a/t/t1507-rev-parse-upstream.sh
+++ b/t/t1507-rev-parse-upstream.sh
@@ -46,11 +46,14 @@
 }
 
 test_expect_success '@{upstream} resolves to correct full name' '
-	test refs/remotes/origin/master = "$(full_name @{upstream})"
+	test refs/remotes/origin/master = "$(full_name @{upstream})" &&
+	test refs/remotes/origin/master = "$(full_name @{UPSTREAM})" &&
+	test refs/remotes/origin/master = "$(full_name @{UpSTReam})"
 '
 
 test_expect_success '@{u} resolves to correct full name' '
-	test refs/remotes/origin/master = "$(full_name @{u})"
+	test refs/remotes/origin/master = "$(full_name @{u})" &&
+	test refs/remotes/origin/master = "$(full_name @{U})"
 '
 
 test_expect_success 'my-side@{upstream} resolves to correct full name' '
@@ -60,6 +63,8 @@
 test_expect_success 'upstream of branch with @ in middle' '
 	full_name fun@ny@{u} >actual &&
 	echo refs/remotes/origin/side >expect &&
+	test_cmp expect actual &&
+	full_name fun@ny@{U} >actual &&
 	test_cmp expect actual
 '
 
@@ -96,12 +101,14 @@
 test_expect_success '<branch>@{u}@{1} resolves correctly' '
 	test_commit 6 &&
 	(cd clone && git fetch) &&
-	test 5 = $(commit_subject my-side@{u}@{1})
+	test 5 = $(commit_subject my-side@{u}@{1}) &&
+	test 5 = $(commit_subject my-side@{U}@{1})
 '
 
 test_expect_success '@{u} without specifying branch fails on a detached HEAD' '
 	git checkout HEAD^0 &&
-	test_must_fail git rev-parse @{u}
+	test_must_fail git rev-parse @{u} &&
+	test_must_fail git rev-parse @{U}
 '
 
 test_expect_success 'checkout -b new my-side@{u} forks from the same' '
diff --git a/t/t1514-rev-parse-push.sh b/t/t1514-rev-parse-push.sh
index 623a32a..788cc91 100755
--- a/t/t1514-rev-parse-push.sh
+++ b/t/t1514-rev-parse-push.sh
@@ -24,12 +24,16 @@
 
 test_expect_success '@{push} with default=nothing' '
 	test_config push.default nothing &&
-	test_must_fail git rev-parse master@{push}
+	test_must_fail git rev-parse master@{push} &&
+	test_must_fail git rev-parse master@{PUSH} &&
+	test_must_fail git rev-parse master@{PuSH}
 '
 
 test_expect_success '@{push} with default=simple' '
 	test_config push.default simple &&
-	resolve master@{push} refs/remotes/origin/master
+	resolve master@{push} refs/remotes/origin/master &&
+	resolve master@{PUSH} refs/remotes/origin/master &&
+	resolve master@{pUSh} refs/remotes/origin/master
 '
 
 test_expect_success 'triangular @{push} fails with default=simple' '
diff --git a/t/t1700-split-index.sh b/t/t1700-split-index.sh
index 292a072..af3ec0d 100755
--- a/t/t1700-split-index.sh
+++ b/t/t1700-split-index.sh
@@ -8,6 +8,7 @@
 sane_unset GIT_TEST_SPLIT_INDEX
 
 test_expect_success 'enable split index' '
+	git config splitIndex.maxPercentChange 100 &&
 	git update-index --split-index &&
 	test-dump-split-index .git/index >actual &&
 	indexversion=$(test-index-version <.git/index) &&
@@ -19,12 +20,12 @@
 		own=8299b0bcd1ac364e5f1d7768efb62fa2da79a339
 		base=39d890139ee5356c7ef572216cebcd27aa41f9df
 	fi &&
-	cat >expect <<EOF &&
-own $own
-base $base
-replacements:
-deletions:
-EOF
+	cat >expect <<-EOF &&
+	own $own
+	base $base
+	replacements:
+	deletions:
+	EOF
 	test_cmp expect actual
 '
 
@@ -32,51 +33,51 @@
 	: >one &&
 	git update-index --add one &&
 	git ls-files --stage >ls-files.actual &&
-	cat >ls-files.expect <<EOF &&
-100644 $EMPTY_BLOB 0	one
-EOF
+	cat >ls-files.expect <<-EOF &&
+	100644 $EMPTY_BLOB 0	one
+	EOF
 	test_cmp ls-files.expect ls-files.actual &&
 
 	test-dump-split-index .git/index | sed "/^own/d" >actual &&
-	cat >expect <<EOF &&
-base $base
-100644 $EMPTY_BLOB 0	one
-replacements:
-deletions:
-EOF
+	cat >expect <<-EOF &&
+	base $base
+	100644 $EMPTY_BLOB 0	one
+	replacements:
+	deletions:
+	EOF
 	test_cmp expect actual
 '
 
 test_expect_success 'disable split index' '
 	git update-index --no-split-index &&
 	git ls-files --stage >ls-files.actual &&
-	cat >ls-files.expect <<EOF &&
-100644 $EMPTY_BLOB 0	one
-EOF
+	cat >ls-files.expect <<-EOF &&
+	100644 $EMPTY_BLOB 0	one
+	EOF
 	test_cmp ls-files.expect ls-files.actual &&
 
 	BASE=$(test-dump-split-index .git/index | grep "^own" | sed "s/own/base/") &&
 	test-dump-split-index .git/index | sed "/^own/d" >actual &&
-	cat >expect <<EOF &&
-not a split index
-EOF
+	cat >expect <<-EOF &&
+	not a split index
+	EOF
 	test_cmp expect actual
 '
 
 test_expect_success 'enable split index again, "one" now belongs to base index"' '
 	git update-index --split-index &&
 	git ls-files --stage >ls-files.actual &&
-	cat >ls-files.expect <<EOF &&
-100644 $EMPTY_BLOB 0	one
-EOF
+	cat >ls-files.expect <<-EOF &&
+	100644 $EMPTY_BLOB 0	one
+	EOF
 	test_cmp ls-files.expect ls-files.actual &&
 
 	test-dump-split-index .git/index | sed "/^own/d" >actual &&
-	cat >expect <<EOF &&
-$BASE
-replacements:
-deletions:
-EOF
+	cat >expect <<-EOF &&
+	$BASE
+	replacements:
+	deletions:
+	EOF
 	test_cmp expect actual
 '
 
@@ -84,18 +85,18 @@
 	echo modified >one &&
 	git update-index one &&
 	git ls-files --stage >ls-files.actual &&
-	cat >ls-files.expect <<EOF &&
-100644 2e0996000b7e9019eabcad29391bf0f5c7702f0b 0	one
-EOF
+	cat >ls-files.expect <<-EOF &&
+	100644 2e0996000b7e9019eabcad29391bf0f5c7702f0b 0	one
+	EOF
 	test_cmp ls-files.expect ls-files.actual &&
 
 	test-dump-split-index .git/index | sed "/^own/d" >actual &&
-	q_to_tab >expect <<EOF &&
-$BASE
-100644 2e0996000b7e9019eabcad29391bf0f5c7702f0b 0Q
-replacements: 0
-deletions:
-EOF
+	q_to_tab >expect <<-EOF &&
+	$BASE
+	100644 2e0996000b7e9019eabcad29391bf0f5c7702f0b 0Q
+	replacements: 0
+	deletions:
+	EOF
 	test_cmp expect actual
 '
 
@@ -103,54 +104,54 @@
 	: >two &&
 	git update-index --add two &&
 	git ls-files --stage >ls-files.actual &&
-	cat >ls-files.expect <<EOF &&
-100644 2e0996000b7e9019eabcad29391bf0f5c7702f0b 0	one
-100644 $EMPTY_BLOB 0	two
-EOF
+	cat >ls-files.expect <<-EOF &&
+	100644 2e0996000b7e9019eabcad29391bf0f5c7702f0b 0	one
+	100644 $EMPTY_BLOB 0	two
+	EOF
 	test_cmp ls-files.expect ls-files.actual &&
 
 	test-dump-split-index .git/index | sed "/^own/d" >actual &&
-	q_to_tab >expect <<EOF &&
-$BASE
-100644 2e0996000b7e9019eabcad29391bf0f5c7702f0b 0Q
-100644 $EMPTY_BLOB 0	two
-replacements: 0
-deletions:
-EOF
+	q_to_tab >expect <<-EOF &&
+	$BASE
+	100644 2e0996000b7e9019eabcad29391bf0f5c7702f0b 0Q
+	100644 $EMPTY_BLOB 0	two
+	replacements: 0
+	deletions:
+	EOF
 	test_cmp expect actual
 '
 
 test_expect_success 'remove file not in base index' '
 	git update-index --force-remove two &&
 	git ls-files --stage >ls-files.actual &&
-	cat >ls-files.expect <<EOF &&
-100644 2e0996000b7e9019eabcad29391bf0f5c7702f0b 0	one
-EOF
+	cat >ls-files.expect <<-EOF &&
+	100644 2e0996000b7e9019eabcad29391bf0f5c7702f0b 0	one
+	EOF
 	test_cmp ls-files.expect ls-files.actual &&
 
 	test-dump-split-index .git/index | sed "/^own/d" >actual &&
-	q_to_tab >expect <<EOF &&
-$BASE
-100644 2e0996000b7e9019eabcad29391bf0f5c7702f0b 0Q
-replacements: 0
-deletions:
-EOF
+	q_to_tab >expect <<-EOF &&
+	$BASE
+	100644 2e0996000b7e9019eabcad29391bf0f5c7702f0b 0Q
+	replacements: 0
+	deletions:
+	EOF
 	test_cmp expect actual
 '
 
 test_expect_success 'remove file in base index' '
 	git update-index --force-remove one &&
 	git ls-files --stage >ls-files.actual &&
-	cat >ls-files.expect <<EOF &&
-EOF
+	cat >ls-files.expect <<-EOF &&
+	EOF
 	test_cmp ls-files.expect ls-files.actual &&
 
 	test-dump-split-index .git/index | sed "/^own/d" >actual &&
-	cat >expect <<EOF &&
-$BASE
-replacements:
-deletions: 0
-EOF
+	cat >expect <<-EOF &&
+	$BASE
+	replacements:
+	deletions: 0
+	EOF
 	test_cmp expect actual
 '
 
@@ -158,18 +159,18 @@
 	: >one &&
 	git update-index --add one &&
 	git ls-files --stage >ls-files.actual &&
-	cat >ls-files.expect <<EOF &&
-100644 $EMPTY_BLOB 0	one
-EOF
+	cat >ls-files.expect <<-EOF &&
+	100644 $EMPTY_BLOB 0	one
+	EOF
 	test_cmp ls-files.expect ls-files.actual &&
 
 	test-dump-split-index .git/index | sed "/^own/d" >actual &&
-	cat >expect <<EOF &&
-$BASE
-100644 $EMPTY_BLOB 0	one
-replacements:
-deletions: 0
-EOF
+	cat >expect <<-EOF &&
+	$BASE
+	100644 $EMPTY_BLOB 0	one
+	replacements:
+	deletions: 0
+	EOF
 	test_cmp expect actual
 '
 
@@ -177,27 +178,196 @@
 	: >two &&
 	git update-index --add two &&
 	git ls-files --stage >actual &&
-	cat >expect <<EOF &&
-100644 $EMPTY_BLOB 0	one
-100644 $EMPTY_BLOB 0	two
-EOF
+	cat >expect <<-EOF &&
+	100644 $EMPTY_BLOB 0	one
+	100644 $EMPTY_BLOB 0	two
+	EOF
 	test_cmp expect actual
 '
 
 test_expect_success 'unify index, two files remain' '
 	git update-index --no-split-index &&
 	git ls-files --stage >ls-files.actual &&
-	cat >ls-files.expect <<EOF &&
-100644 $EMPTY_BLOB 0	one
-100644 $EMPTY_BLOB 0	two
-EOF
+	cat >ls-files.expect <<-EOF &&
+	100644 $EMPTY_BLOB 0	one
+	100644 $EMPTY_BLOB 0	two
+	EOF
 	test_cmp ls-files.expect ls-files.actual &&
 
 	test-dump-split-index .git/index | sed "/^own/d" >actual &&
-	cat >expect <<EOF &&
-not a split index
-EOF
+	cat >expect <<-EOF &&
+	not a split index
+	EOF
 	test_cmp expect actual
 '
 
+test_expect_success 'rev-parse --shared-index-path' '
+	test_create_repo split-index &&
+	(
+		cd split-index &&
+		git update-index --split-index &&
+		echo .git/sharedindex* >expect &&
+		git rev-parse --shared-index-path >actual &&
+		test_cmp expect actual &&
+		mkdir subdirectory &&
+		cd subdirectory &&
+		echo ../.git/sharedindex* >expect &&
+		git rev-parse --shared-index-path >actual &&
+		test_cmp expect actual
+	)
+'
+
+test_expect_success 'set core.splitIndex config variable to true' '
+	git config core.splitIndex true &&
+	: >three &&
+	git update-index --add three &&
+	git ls-files --stage >ls-files.actual &&
+	cat >ls-files.expect <<-EOF &&
+	100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0	one
+	100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0	three
+	100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0	two
+	EOF
+	test_cmp ls-files.expect ls-files.actual &&
+	BASE=$(test-dump-split-index .git/index | grep "^base") &&
+	test-dump-split-index .git/index | sed "/^own/d" >actual &&
+	cat >expect <<-EOF &&
+	$BASE
+	replacements:
+	deletions:
+	EOF
+	test_cmp expect actual
+'
+
+test_expect_success 'set core.splitIndex config variable to false' '
+	git config core.splitIndex false &&
+	git update-index --force-remove three &&
+	git ls-files --stage >ls-files.actual &&
+	cat >ls-files.expect <<-EOF &&
+	100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0	one
+	100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0	two
+	EOF
+	test_cmp ls-files.expect ls-files.actual &&
+	test-dump-split-index .git/index | sed "/^own/d" >actual &&
+	cat >expect <<-EOF &&
+	not a split index
+	EOF
+	test_cmp expect actual
+'
+
+test_expect_success 'set core.splitIndex config variable to true' '
+	git config core.splitIndex true &&
+	: >three &&
+	git update-index --add three &&
+	BASE=$(test-dump-split-index .git/index | grep "^base") &&
+	test-dump-split-index .git/index | sed "/^own/d" >actual &&
+	cat >expect <<-EOF &&
+	$BASE
+	replacements:
+	deletions:
+	EOF
+	test_cmp expect actual &&
+	: >four &&
+	git update-index --add four &&
+	test-dump-split-index .git/index | sed "/^own/d" >actual &&
+	cat >expect <<-EOF &&
+	$BASE
+	100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0	four
+	replacements:
+	deletions:
+	EOF
+	test_cmp expect actual
+'
+
+test_expect_success 'check behavior with splitIndex.maxPercentChange unset' '
+	git config --unset splitIndex.maxPercentChange &&
+	: >five &&
+	git update-index --add five &&
+	BASE=$(test-dump-split-index .git/index | grep "^base") &&
+	test-dump-split-index .git/index | sed "/^own/d" >actual &&
+	cat >expect <<-EOF &&
+	$BASE
+	replacements:
+	deletions:
+	EOF
+	test_cmp expect actual &&
+	: >six &&
+	git update-index --add six &&
+	test-dump-split-index .git/index | sed "/^own/d" >actual &&
+	cat >expect <<-EOF &&
+	$BASE
+	100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0	six
+	replacements:
+	deletions:
+	EOF
+	test_cmp expect actual
+'
+
+test_expect_success 'check splitIndex.maxPercentChange set to 0' '
+	git config splitIndex.maxPercentChange 0 &&
+	: >seven &&
+	git update-index --add seven &&
+	BASE=$(test-dump-split-index .git/index | grep "^base") &&
+	test-dump-split-index .git/index | sed "/^own/d" >actual &&
+	cat >expect <<-EOF &&
+	$BASE
+	replacements:
+	deletions:
+	EOF
+	test_cmp expect actual &&
+	: >eight &&
+	git update-index --add eight &&
+	BASE=$(test-dump-split-index .git/index | grep "^base") &&
+	test-dump-split-index .git/index | sed "/^own/d" >actual &&
+	cat >expect <<-EOF &&
+	$BASE
+	replacements:
+	deletions:
+	EOF
+	test_cmp expect actual
+'
+
+test_expect_success 'shared index files expire after 2 weeks by default' '
+	: >ten &&
+	git update-index --add ten &&
+	test $(ls .git/sharedindex.* | wc -l) -gt 2 &&
+	just_under_2_weeks_ago=$((5-14*86400)) &&
+	test-chmtime =$just_under_2_weeks_ago .git/sharedindex.* &&
+	: >eleven &&
+	git update-index --add eleven &&
+	test $(ls .git/sharedindex.* | wc -l) -gt 2 &&
+	just_over_2_weeks_ago=$((-1-14*86400)) &&
+	test-chmtime =$just_over_2_weeks_ago .git/sharedindex.* &&
+	: >twelve &&
+	git update-index --add twelve &&
+	test $(ls .git/sharedindex.* | wc -l) -le 2
+'
+
+test_expect_success 'check splitIndex.sharedIndexExpire set to 16 days' '
+	git config splitIndex.sharedIndexExpire "16.days.ago" &&
+	test-chmtime =$just_over_2_weeks_ago .git/sharedindex.* &&
+	: >thirteen &&
+	git update-index --add thirteen &&
+	test $(ls .git/sharedindex.* | wc -l) -gt 2 &&
+	just_over_16_days_ago=$((-1-16*86400)) &&
+	test-chmtime =$just_over_16_days_ago .git/sharedindex.* &&
+	: >fourteen &&
+	git update-index --add fourteen &&
+	test $(ls .git/sharedindex.* | wc -l) -le 2
+'
+
+test_expect_success 'check splitIndex.sharedIndexExpire set to "never" and "now"' '
+	git config splitIndex.sharedIndexExpire never &&
+	just_10_years_ago=$((-365*10*86400)) &&
+	test-chmtime =$just_10_years_ago .git/sharedindex.* &&
+	: >fifteen &&
+	git update-index --add fifteen &&
+	test $(ls .git/sharedindex.* | wc -l) -gt 2 &&
+	git config splitIndex.sharedIndexExpire now &&
+	just_1_second_ago=-1 &&
+	test-chmtime =$just_1_second_ago .git/sharedindex.* &&
+	: >sixteen &&
+	git update-index --add sixteen &&
+	test $(ls .git/sharedindex.* | wc -l) -le 2
+'
+
 test_done
diff --git a/t/t2013-checkout-submodule.sh b/t/t2013-checkout-submodule.sh
index 6847f75..e8f70b8 100755
--- a/t/t2013-checkout-submodule.sh
+++ b/t/t2013-checkout-submodule.sh
@@ -63,6 +63,12 @@
 	! test -s actual
 '
 
+KNOWN_FAILURE_DIRECTORY_SUBMODULE_CONFLICTS=1
+KNOWN_FAILURE_SUBMODULE_RECURSIVE_NESTED=1
+test_submodule_switch_recursing "git checkout --recurse-submodules"
+
+test_submodule_forced_switch_recursing "git checkout -f --recurse-submodules"
+
 test_submodule_switch "git checkout"
 
 test_submodule_forced_switch "git checkout -f"
diff --git a/t/t2027-worktree-list.sh b/t/t2027-worktree-list.sh
index 465eeea..848da5f 100755
--- a/t/t2027-worktree-list.sh
+++ b/t/t2027-worktree-list.sh
@@ -14,10 +14,18 @@
 	test_cmp expected actual &&
 	mkdir sub &&
 	git -C sub rev-parse --git-common-dir >actual2 &&
-	echo sub/.git >expected2 &&
+	echo ../.git >expected2 &&
 	test_cmp expected2 actual2
 '
 
+test_expect_success 'rev-parse --git-path objects linked worktree' '
+	echo "$(git rev-parse --show-toplevel)/.git/objects" >expect &&
+	test_when_finished "rm -rf linked-tree && git worktree prune" &&
+	git worktree add --detach linked-tree master &&
+	git -C linked-tree rev-parse --git-path objects >actual &&
+	test_cmp expect actual
+'
+
 test_expect_success '"list" all worktrees from main' '
 	echo "$(git rev-parse --show-toplevel) $(git rev-parse --short HEAD) [$(git symbolic-ref --short HEAD)]" >expect &&
 	test_when_finished "rm -rf here && git worktree prune" &&
diff --git a/t/t3007-ls-files-recurse-submodules.sh b/t/t3007-ls-files-recurse-submodules.sh
index a542617..4cf6ccf 100755
--- a/t/t3007-ls-files-recurse-submodules.sh
+++ b/t/t3007-ls-files-recurse-submodules.sh
@@ -188,6 +188,45 @@
 	test_cmp expect actual
 '
 
+test_expect_success '--recurse-submodules and relative paths' '
+	# From subdir
+	cat >expect <<-\EOF &&
+	b
+	EOF
+	git -C b ls-files --recurse-submodules >actual &&
+	test_cmp expect actual &&
+
+	# Relative path to top
+	cat >expect <<-\EOF &&
+	../.gitmodules
+	../a
+	b
+	../h.txt
+	../sib/file
+	../sub/file
+	../submodule/.gitmodules
+	../submodule/c
+	../submodule/f.TXT
+	../submodule/g.txt
+	../submodule/subsub/d
+	../submodule/subsub/e.txt
+	EOF
+	git -C b ls-files --recurse-submodules -- .. >actual &&
+	test_cmp expect actual &&
+
+	# Relative path to submodule
+	cat >expect <<-\EOF &&
+	../submodule/.gitmodules
+	../submodule/c
+	../submodule/f.TXT
+	../submodule/g.txt
+	../submodule/subsub/d
+	../submodule/subsub/e.txt
+	EOF
+	git -C b ls-files --recurse-submodules -- ../submodule >actual &&
+	test_cmp expect actual
+'
+
 test_expect_success '--recurse-submodules does not support --error-unmatch' '
 	test_must_fail git ls-files --recurse-submodules --error-unmatch 2>actual &&
 	test_i18ngrep "does not support --error-unmatch" actual
diff --git a/t/t3200-branch.sh b/t/t3200-branch.sh
index 8a833f3..fe62e7c 100755
--- a/t/t3200-branch.sh
+++ b/t/t3200-branch.sh
@@ -139,6 +139,12 @@
 	test $(git rev-parse --abbrev-ref HEAD) = bam
 '
 
+test_expect_success 'git branch -M baz bam should add entries to .git/logs/HEAD' '
+	msg="Branch: renamed refs/heads/baz to refs/heads/bam" &&
+	grep " 0\{40\}.*$msg$" .git/logs/HEAD &&
+	grep "^0\{40\}.*$msg$" .git/logs/HEAD
+'
+
 test_expect_success 'git branch -M baz bam should succeed when baz is checked out as linked working tree' '
 	git checkout master &&
 	git worktree add -b baz bazdir &&
@@ -207,6 +213,31 @@
 	test_path_is_missing .git/refs/heads/t
 '
 
+test_expect_success 'git branch --list -v with --abbrev' '
+	test_when_finished "git branch -D t" &&
+	git branch t &&
+	git branch -v --list t >actual.default &&
+	git branch -v --list --abbrev t >actual.abbrev &&
+	test_cmp actual.default actual.abbrev &&
+
+	git branch -v --list --no-abbrev t >actual.noabbrev &&
+	git branch -v --list --abbrev=0 t >actual.0abbrev &&
+	test_cmp actual.noabbrev actual.0abbrev &&
+
+	git branch -v --list --abbrev=36 t >actual.36abbrev &&
+	# how many hexdigits are used?
+	read name objdefault rest <actual.abbrev &&
+	read name obj36 rest <actual.36abbrev &&
+	objfull=$(git rev-parse --verify t) &&
+
+	# are we really getting abbreviations?
+	test "$obj36" != "$objdefault" &&
+	expr "$obj36" : "$objdefault" >/dev/null &&
+	test "$objfull" != "$obj36" &&
+	expr "$objfull" : "$obj36" >/dev/null
+
+'
+
 test_expect_success 'git branch --column' '
 	COLUMNS=81 git branch --column=column >actual &&
 	cat >expected <<\EOF &&
@@ -947,6 +978,10 @@
 	test_must_fail git branch --merged 0000000000000000000000000000000000000000
 '
 
+test_expect_success '--merged is incompatible with --no-merged' '
+	test_must_fail git branch --merged HEAD --no-merged HEAD
+'
+
 test_expect_success 'tracking with unexpected .fetch refspec' '
 	rm -rf a b c d &&
 	git init a &&
diff --git a/t/t3201-branch-contains.sh b/t/t3201-branch-contains.sh
index 7f3ec47..0ef1b6f 100755
--- a/t/t3201-branch-contains.sh
+++ b/t/t3201-branch-contains.sh
@@ -1,6 +1,6 @@
 #!/bin/sh
 
-test_description='branch --contains <commit>, --merged, and --no-merged'
+test_description='branch --contains <commit>, --no-contains <commit> --merged, and --no-merged'
 
 . ./test-lib.sh
 
@@ -45,6 +45,22 @@
 
 '
 
+test_expect_success 'branch --no-contains=master' '
+
+	git branch --no-contains=master >actual &&
+	>expect &&
+	test_cmp expect actual
+
+'
+
+test_expect_success 'branch --no-contains master' '
+
+	git branch --no-contains master >actual &&
+	>expect &&
+	test_cmp expect actual
+
+'
+
 test_expect_success 'branch --contains=side' '
 
 	git branch --contains=side >actual &&
@@ -55,6 +71,16 @@
 
 '
 
+test_expect_success 'branch --no-contains=side' '
+
+	git branch --no-contains=side >actual &&
+	{
+		echo "  master"
+	} >expect &&
+	test_cmp expect actual
+
+'
+
 test_expect_success 'branch --contains with pattern implies --list' '
 
 	git branch --contains=master master >actual &&
@@ -65,6 +91,14 @@
 
 '
 
+test_expect_success 'branch --no-contains with pattern implies --list' '
+
+	git branch --no-contains=master master >actual &&
+	>expect &&
+	test_cmp expect actual
+
+'
+
 test_expect_success 'side: branch --merged' '
 
 	git branch --merged >actual &&
@@ -126,10 +160,22 @@
 test_expect_success 'implicit --list conflicts with modification options' '
 
 	test_must_fail git branch --contains=master -d &&
-	test_must_fail git branch --contains=master -m foo
+	test_must_fail git branch --contains=master -m foo &&
+	test_must_fail git branch --no-contains=master -d &&
+	test_must_fail git branch --no-contains=master -m foo
 
 '
 
+test_expect_success 'Assert that --contains only works on commits, not trees & blobs' '
+	test_must_fail git branch --contains master^{tree} &&
+	blob=$(git hash-object -w --stdin <<-\EOF
+	Some blob
+	EOF
+	) &&
+	test_must_fail git branch --contains $blob &&
+	test_must_fail git branch --no-contains $blob
+'
+
 # We want to set up a case where the walk for the tracking info
 # of one branch crosses the tip of another branch (and make sure
 # that the latter walk does not mess up our flag to see if it was
@@ -159,4 +205,15 @@
 	test_i18ncmp expect actual
 '
 
+test_expect_success 'branch --contains combined with --no-contains' '
+	git branch --contains zzz --no-contains topic >actual &&
+	cat >expect <<-\EOF &&
+	  master
+	  side
+	  zzz
+	EOF
+	test_cmp expect actual
+
+'
+
 test_done
diff --git a/t/t3203-branch-output.sh b/t/t3203-branch-output.sh
index c6a3ccb..5778c0a 100755
--- a/t/t3203-branch-output.sh
+++ b/t/t3203-branch-output.sh
@@ -89,6 +89,11 @@
 	awk "{print \$NF}" <tmp >actual &&
 	test_cmp expect actual
 '
+test_expect_success 'git branch --ignore-case --list -v pattern shows branch summaries' '
+	git branch --list --ignore-case -v BRANCH* >tmp &&
+	awk "{print \$NF}" <tmp >actual &&
+	test_cmp expect actual
+'
 
 test_expect_success 'git branch -v pattern does not show branch summaries' '
 	test_must_fail git branch -v branch*
@@ -189,11 +194,49 @@
 	git symbolic-ref refs/heads/ref-to-remote refs/remotes/origin/branch-one &&
 	cat >expect <<-\EOF &&
 	  ref-to-branch -> branch-one
-	  ref-to-remote -> refs/remotes/origin/branch-one
+	  ref-to-remote -> origin/branch-one
 	EOF
 	git branch >actual.raw &&
 	grep ref-to <actual.raw >actual &&
 	test_cmp expect actual
 '
 
+test_expect_success 'sort branches, ignore case' '
+	(
+		git init sort-icase &&
+		cd sort-icase &&
+		test_commit initial &&
+		git branch branch-one &&
+		git branch BRANCH-two &&
+		git branch --list | awk "{print \$NF}" >actual &&
+		cat >expected <<-\EOF &&
+		BRANCH-two
+		branch-one
+		master
+		EOF
+		test_cmp expected actual &&
+		git branch --list -i | awk "{print \$NF}" >actual &&
+		cat >expected <<-\EOF &&
+		branch-one
+		BRANCH-two
+		master
+		EOF
+		test_cmp expected actual
+	)
+'
+
+test_expect_success 'git branch --format option' '
+	cat >expect <<-\EOF &&
+	Refname is (HEAD detached from fromtag)
+	Refname is refs/heads/ambiguous
+	Refname is refs/heads/branch-one
+	Refname is refs/heads/branch-two
+	Refname is refs/heads/master
+	Refname is refs/heads/ref-to-branch
+	Refname is refs/heads/ref-to-remote
+	EOF
+	git branch --format="Refname is %(refname)" >actual &&
+	test_cmp expect actual
+'
+
 test_done
diff --git a/t/t3204-branch-name-interpretation.sh b/t/t3204-branch-name-interpretation.sh
new file mode 100755
index 0000000..698d9cc
--- /dev/null
+++ b/t/t3204-branch-name-interpretation.sh
@@ -0,0 +1,133 @@
+#!/bin/sh
+
+test_description='interpreting exotic branch name arguments
+
+Branch name arguments are usually names which are taken to be inside of
+refs/heads/, but we interpret some magic syntax like @{-1}, @{upstream}, etc.
+This script aims to check the behavior of those corner cases.
+'
+. ./test-lib.sh
+
+expect_branch() {
+	git log -1 --format=%s "$1" >actual &&
+	echo "$2" >expect &&
+	test_cmp expect actual
+}
+
+expect_deleted() {
+	test_must_fail git rev-parse --verify "$1"
+}
+
+test_expect_success 'set up repo' '
+	test_commit one &&
+	test_commit two &&
+	git remote add origin foo.git
+'
+
+test_expect_success 'update branch via @{-1}' '
+	git branch previous one &&
+
+	git checkout previous &&
+	git checkout master &&
+
+	git branch -f @{-1} two &&
+	expect_branch previous two
+'
+
+test_expect_success 'update branch via local @{upstream}' '
+	git branch local one &&
+	git branch --set-upstream-to=local &&
+
+	git branch -f @{upstream} two &&
+	expect_branch local two
+'
+
+test_expect_success 'disallow updating branch via remote @{upstream}' '
+	git update-ref refs/remotes/origin/remote one &&
+	git branch --set-upstream-to=origin/remote &&
+
+	test_must_fail git branch -f @{upstream} two
+'
+
+test_expect_success 'create branch with pseudo-qualified name' '
+	git branch refs/heads/qualified two &&
+	expect_branch refs/heads/refs/heads/qualified two
+'
+
+test_expect_success 'delete branch via @{-1}' '
+	git branch previous-del &&
+
+	git checkout previous-del &&
+	git checkout master &&
+
+	git branch -D @{-1} &&
+	expect_deleted previous-del
+'
+
+test_expect_success 'delete branch via local @{upstream}' '
+	git branch local-del &&
+	git branch --set-upstream-to=local-del &&
+
+	git branch -D @{upstream} &&
+	expect_deleted local-del
+'
+
+test_expect_success 'delete branch via remote @{upstream}' '
+	git update-ref refs/remotes/origin/remote-del two &&
+	git branch --set-upstream-to=origin/remote-del &&
+
+	git branch -r -D @{upstream} &&
+	expect_deleted origin/remote-del
+'
+
+# Note that we create two oddly named local branches here. We want to make
+# sure that we do not accidentally delete either of them, even if
+# shorten_unambiguous_ref() tweaks the name to avoid ambiguity.
+test_expect_success 'delete @{upstream} expansion matches -r option' '
+	git update-ref refs/remotes/origin/remote-del two &&
+	git branch --set-upstream-to=origin/remote-del &&
+	git update-ref refs/heads/origin/remote-del two &&
+	git update-ref refs/heads/remotes/origin/remote-del two &&
+
+	test_must_fail git branch -D @{upstream} &&
+	expect_branch refs/heads/origin/remote-del two &&
+	expect_branch refs/heads/remotes/origin/remote-del two
+'
+
+test_expect_success 'disallow deleting remote branch via @{-1}' '
+	git update-ref refs/remotes/origin/previous one &&
+
+	git checkout -b origin/previous two &&
+	git checkout master &&
+
+	test_must_fail git branch -r -D @{-1} &&
+	expect_branch refs/remotes/origin/previous one &&
+	expect_branch refs/heads/origin/previous two
+'
+
+# The thing we are testing here is that "@" is the real branch refs/heads/@,
+# and not refs/heads/HEAD. These tests should not imply that refs/heads/@ is a
+# sane thing, but it _is_ technically allowed for now. If we disallow it, these
+# can be switched to test_must_fail.
+test_expect_success 'create branch named "@"' '
+	git branch -f @ one &&
+	expect_branch refs/heads/@ one
+'
+
+test_expect_success 'delete branch named "@"' '
+	git update-ref refs/heads/@ two &&
+	git branch -D @ &&
+	expect_deleted refs/heads/@
+'
+
+test_expect_success 'checkout does not treat remote @{upstream} as a branch' '
+	git update-ref refs/remotes/origin/checkout one &&
+	git branch --set-upstream-to=origin/checkout &&
+	git update-ref refs/heads/origin/checkout two &&
+	git update-ref refs/heads/remotes/origin/checkout two &&
+
+	git checkout @{upstream} &&
+	expect_branch HEAD one
+'
+
+test_done
diff --git a/t/t3404-rebase-interactive.sh b/t/t3404-rebase-interactive.sh
index c896a4c..33d392b 100755
--- a/t/t3404-rebase-interactive.sh
+++ b/t/t3404-rebase-interactive.sh
@@ -237,6 +237,22 @@
 	git show HEAD | grep "^Author: Twerp Snog"
 '
 
+test_expect_success 'retain authorship w/ conflicts' '
+	git reset --hard twerp &&
+	test_commit a conflict a conflict-a &&
+	git reset --hard twerp &&
+	GIT_AUTHOR_NAME=AttributeMe \
+	test_commit b conflict b conflict-b &&
+	set_fake_editor &&
+	test_must_fail git rebase -i conflict-a &&
+	echo resolved >conflict &&
+	git add conflict &&
+	git rebase --continue &&
+	test $(git rev-parse conflict-a^0) = $(git rev-parse HEAD^) &&
+	git show >out &&
+	grep AttributeMe out
+'
+
 test_expect_success 'squash' '
 	git reset --hard twerp &&
 	echo B > file7 &&
@@ -540,7 +556,7 @@
 	echo "edited again" > file7 &&
 	git add file7 &&
 	test_must_fail git rebase --continue 2>error &&
-	test_i18ngrep "You have staged changes in your working tree." error
+	test_i18ngrep "you have staged changes in your working tree" error
 '
 
 test_expect_success 'rebase a detached HEAD' '
diff --git a/t/t3407-rebase-abort.sh b/t/t3407-rebase-abort.sh
index a6a6c40..910f218 100755
--- a/t/t3407-rebase-abort.sh
+++ b/t/t3407-rebase-abort.sh
@@ -99,4 +99,28 @@
 testrebase "" .git/rebase-apply
 testrebase " --merge" .git/rebase-merge
 
+test_expect_success 'rebase --quit' '
+	cd "$work_dir" &&
+	# Clean up the state from the previous one
+	git reset --hard pre-rebase &&
+	test_must_fail git rebase master &&
+	test_path_is_dir .git/rebase-apply &&
+	head_before=$(git rev-parse HEAD) &&
+	git rebase --quit &&
+	test $(git rev-parse HEAD) = $head_before &&
+	test ! -d .git/rebase-apply
+'
+
+test_expect_success 'rebase --merge --quit' '
+	cd "$work_dir" &&
+	# Clean up the state from the previous one
+	git reset --hard pre-rebase &&
+	test_must_fail git rebase --merge master &&
+	test_path_is_dir .git/rebase-merge &&
+	head_before=$(git rev-parse HEAD) &&
+	git rebase --quit &&
+	test $(git rev-parse HEAD) = $head_before &&
+	test ! -d .git/rebase-merge
+'
+
 test_done
diff --git a/t/t3502-cherry-pick-merge.sh b/t/t3502-cherry-pick-merge.sh
index e37547f..b160271 100755
--- a/t/t3502-cherry-pick-merge.sh
+++ b/t/t3502-cherry-pick-merge.sh
@@ -31,6 +31,15 @@
 
 '
 
+test_expect_success 'cherry-pick -m complains of bogus numbers' '
+	# expect 129 here to distinguish between cases where
+	# there was nothing to cherry-pick
+	test_expect_code 129 git cherry-pick -m &&
+	test_expect_code 129 git cherry-pick -m foo b &&
+	test_expect_code 129 git cherry-pick -m -1 b &&
+	test_expect_code 129 git cherry-pick -m 0 b
+'
+
 test_expect_success 'cherry-pick a non-merge with -m should fail' '
 
 	git reset --hard &&
diff --git a/t/t3510-cherry-pick-sequence.sh b/t/t3510-cherry-pick-sequence.sh
index 372307c..0acf4b1 100755
--- a/t/t3510-cherry-pick-sequence.sh
+++ b/t/t3510-cherry-pick-sequence.sh
@@ -385,7 +385,7 @@
 	git cat-file commit HEAD~1 >picked_msg &&
 	git cat-file commit HEAD~2 >unrelatedpick_msg &&
 	git cat-file commit HEAD~3 >initial_msg &&
-	test_must_fail grep "cherry picked from" initial_msg &&
+	! grep "cherry picked from" initial_msg &&
 	grep "cherry picked from" unrelatedpick_msg &&
 	grep "cherry picked from" picked_msg &&
 	grep "cherry picked from" anotherpick_msg
@@ -426,9 +426,9 @@
 	git cat-file commit HEAD~1 >picked_msg &&
 	git cat-file commit HEAD~2 >unrelatedpick_msg &&
 	git cat-file commit HEAD~3 >initial_msg &&
-	test_must_fail grep "Signed-off-by:" initial_msg &&
+	! grep "Signed-off-by:" initial_msg &&
 	grep "Signed-off-by:" unrelatedpick_msg &&
-	test_must_fail grep "Signed-off-by:" picked_msg &&
+	! grep "Signed-off-by:" picked_msg &&
 	grep "Signed-off-by:" anotherpick_msg
 '
 
diff --git a/t/t3511-cherry-pick-x.sh b/t/t3511-cherry-pick-x.sh
index 9cce5ae..bf0a5c9 100755
--- a/t/t3511-cherry-pick-x.sh
+++ b/t/t3511-cherry-pick-x.sh
@@ -25,9 +25,8 @@
 
 mesg_broken_footer="$mesg_no_footer
 
-The signed-off-by string should begin with the words Signed-off-by followed
-by a colon and space, and then the signers name and email address. e.g.
-Signed-off-by: $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL>"
+This is not recognized as a footer because Myfooter is not a recognized token.
+Myfooter: A.U. Thor <author@example.com>"
 
 mesg_with_footer_sob="$mesg_with_footer
 Signed-off-by: $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL>"
@@ -112,6 +111,17 @@
 	test_cmp expect actual
 '
 
+test_expect_success 'cherry-pick -s recognizes trailer config' '
+	pristine_detach initial &&
+	git -c "trailer.Myfooter.ifexists=add" cherry-pick -s mesg-broken-footer &&
+	cat <<-EOF >expect &&
+		$mesg_broken_footer
+		Signed-off-by: $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL>
+	EOF
+	git log -1 --pretty=format:%B >actual &&
+	test_cmp expect actual
+'
+
 test_expect_success 'cherry-pick -x inserts blank line when conforming footer not found' '
 	pristine_detach initial &&
 	sha1=$(git rev-parse mesg-no-footer^0) &&
diff --git a/t/t3600-rm.sh b/t/t3600-rm.sh
index bcbb680..5f9913b 100755
--- a/t/t3600-rm.sh
+++ b/t/t3600-rm.sh
@@ -268,6 +268,14 @@
  M submod
 EOF
 
+cat >expect.modified_inside <<EOF
+ m submod
+EOF
+
+cat >expect.modified_untracked <<EOF
+ ? submod
+EOF
+
 cat >expect.cached <<EOF
 D  submod
 EOF
@@ -421,7 +429,7 @@
 	test -d submod &&
 	test -f submod/.git &&
 	git status -s -uno --ignore-submodules=none >actual &&
-	test_cmp expect.modified actual &&
+	test_cmp expect.modified_inside actual &&
 	git rm -f submod &&
 	test ! -d submod &&
 	git status -s -uno --ignore-submodules=none >actual &&
@@ -436,7 +444,7 @@
 	test -d submod &&
 	test -f submod/.git &&
 	git status -s -uno --ignore-submodules=none >actual &&
-	test_cmp expect.modified actual &&
+	test_cmp expect.modified_untracked actual &&
 	git rm -f submod &&
 	test ! -d submod &&
 	git status -s -uno --ignore-submodules=none >actual &&
@@ -569,26 +577,22 @@
 	test_cmp expect actual
 '
 
-test_expect_success 'rm of a populated submodule with a .git directory fails even when forced' '
+test_expect_success 'rm of a populated submodule with a .git directory migrates git dir' '
 	git checkout -f master &&
 	git reset --hard &&
 	git submodule update &&
 	(cd submod &&
 		rm .git &&
 		cp -R ../.git/modules/sub .git &&
-		GIT_WORK_TREE=. git config --unset core.worktree
+		GIT_WORK_TREE=. git config --unset core.worktree &&
+		rm -r ../.git/modules/sub
 	) &&
-	test_must_fail git rm submod &&
-	test -d submod &&
-	test -d submod/.git &&
+	git rm submod 2>output.err &&
+	! test -d submod &&
+	! test -d submod/.git &&
 	git status -s -uno --ignore-submodules=none >actual &&
-	! test -s actual &&
-	test_must_fail git rm -f submod &&
-	test -d submod &&
-	test -d submod/.git &&
-	git status -s -uno --ignore-submodules=none >actual &&
-	! test -s actual &&
-	rm -rf submod
+	test -s actual &&
+	test_i18ngrep Migrating output.err
 '
 
 cat >expect.deepmodified <<EOF
@@ -625,7 +629,7 @@
 	test -d submod &&
 	test -f submod/.git &&
 	git status -s -uno --ignore-submodules=none >actual &&
-	test_cmp expect.modified actual &&
+	test_cmp expect.modified_inside actual &&
 	git rm -f submod &&
 	test ! -d submod &&
 	git status -s -uno --ignore-submodules=none >actual &&
@@ -640,7 +644,7 @@
 	test -d submod &&
 	test -f submod/.git &&
 	git status -s -uno --ignore-submodules=none >actual &&
-	test_cmp expect.modified actual &&
+	test_cmp expect.modified_inside actual &&
 	git rm -f submod &&
 	test ! -d submod &&
 	git status -s -uno --ignore-submodules=none >actual &&
@@ -655,36 +659,31 @@
 	test -d submod &&
 	test -f submod/.git &&
 	git status -s -uno --ignore-submodules=none >actual &&
-	test_cmp expect.modified actual &&
+	test_cmp expect.modified_untracked actual &&
 	git rm -f submod &&
 	test ! -d submod &&
 	git status -s -uno --ignore-submodules=none >actual &&
 	test_cmp expect actual
 '
 
-test_expect_success 'rm of a populated nested submodule with a nested .git directory fails even when forced' '
+test_expect_success "rm absorbs submodule's nested .git directory" '
 	git reset --hard &&
 	git submodule update --recursive &&
 	(cd submod/subsubmod &&
 		rm .git &&
-		cp -R ../../.git/modules/sub/modules/sub .git &&
+		mv ../../.git/modules/sub/modules/sub .git &&
 		GIT_WORK_TREE=. git config --unset core.worktree
 	) &&
-	test_must_fail git rm submod &&
-	test -d submod &&
-	test -d submod/subsubmod/.git &&
+	git rm submod 2>output.err &&
+	! test -d submod &&
+	! test -d submod/subsubmod/.git &&
 	git status -s -uno --ignore-submodules=none >actual &&
-	! test -s actual &&
-	test_must_fail git rm -f submod &&
-	test -d submod &&
-	test -d submod/subsubmod/.git &&
-	git status -s -uno --ignore-submodules=none >actual &&
-	! test -s actual &&
-	rm -rf submod
+	test -s actual &&
+	test_i18ngrep Migrating output.err
 '
 
 test_expect_success 'checking out a commit after submodule removal needs manual updates' '
-	git commit -m "submodule removal" submod &&
+	git commit -m "submodule removal" submod .gitmodules &&
 	git checkout HEAD^ &&
 	git submodule update &&
 	git checkout -q HEAD^ &&
diff --git a/t/t3701-add-interactive.sh b/t/t3701-add-interactive.sh
index deae948..f9528fa 100755
--- a/t/t3701-add-interactive.sh
+++ b/t/t3701-add-interactive.sh
@@ -380,4 +380,79 @@
 	test_cmp expected diff
 '
 
+test_expect_success 'diffs can be colorized' '
+	git reset --hard &&
+
+	# force color even though the test script has no terminal
+	test_config color.ui always &&
+
+	echo content >test &&
+	printf y | git add -p >output 2>&1 &&
+
+	# We do not want to depend on the exact coloring scheme
+	# git uses for diffs, so just check that we saw some kind of color.
+	grep "$(printf "\\033")" output
+'
+
+test_expect_success 'patch-mode via -i prompts for files' '
+	git reset --hard &&
+
+	echo one >file &&
+	echo two >test &&
+	git add -i <<-\EOF &&
+	patch
+	test
+
+	y
+	quit
+	EOF
+
+	echo test >expect &&
+	git diff --cached --name-only >actual &&
+	test_cmp expect actual
+'
+
+test_expect_success 'add -p handles globs' '
+	git reset --hard &&
+
+	mkdir -p subdir &&
+	echo base >one.c &&
+	echo base >subdir/two.c &&
+	git add "*.c" &&
+	git commit -m base &&
+
+	echo change >one.c &&
+	echo change >subdir/two.c &&
+	git add -p "*.c" <<-\EOF &&
+	y
+	y
+	EOF
+
+	cat >expect <<-\EOF &&
+	one.c
+	subdir/two.c
+	EOF
+	git diff --cached --name-only >actual &&
+	test_cmp expect actual
+'
+
+test_expect_success 'add -p does not expand argument lists' '
+	git reset --hard &&
+
+	echo content >not-changed &&
+	git add not-changed &&
+	git commit -m "add not-changed file" &&
+
+	echo change >file &&
+	GIT_TRACE=$(pwd)/trace.out git add -p . <<-\EOF &&
+	y
+	EOF
+
+	# we know that "file" must be mentioned since we actually
+	# update it, but we want to be sure that our "." pathspec
+	# was not expanded into the argument list of any command.
+	# So look only for "not-changed".
+	! grep not-changed trace.out
+'
+
 test_done
diff --git a/t/t3903-stash.sh b/t/t3903-stash.sh
index 2de3e18..b71d1e6 100755
--- a/t/t3903-stash.sh
+++ b/t/t3903-stash.sh
@@ -274,9 +274,7 @@
 	git add file2 &&
 	test_must_fail git stash --invalid-option &&
 	test_must_fail git stash save --invalid-option &&
-	test bar5,bar6 = $(cat file),$(cat file2) &&
-	git stash -- -message-starting-with-dash &&
-	test bar,bar2 = $(cat file),$(cat file2)
+	test bar5,bar6 = $(cat file),$(cat file2)
 '
 
 test_expect_success 'stash an added file' '
@@ -665,7 +663,7 @@
 		sane_unset GIT_MERGE_VERBOSITY &&
 		git stash apply
 	) |
-	sed -e 1,2d >actual && # drop "Saved..." and "HEAD is now..."
+	sed -e 1d >actual && # drop "Saved..."
 	test_i18ncmp expect actual
 '
 
@@ -775,4 +773,152 @@
 	test_path_is_missing file
 '
 
+test_expect_success 'push -m shows right message' '
+	>foo &&
+	git add foo &&
+	git stash push -m "test message" &&
+	echo "stash@{0}: On master: test message" >expect &&
+	git stash list -1 >actual &&
+	test_cmp expect actual
+'
+
+test_expect_success 'create stores correct message' '
+	>foo &&
+	git add foo &&
+	STASH_ID=$(git stash create "create test message") &&
+	echo "On master: create test message" >expect &&
+	git show --pretty=%s -s ${STASH_ID} >actual &&
+	test_cmp expect actual
+'
+
+test_expect_success 'create with multiple arguments for the message' '
+	>foo &&
+	git add foo &&
+	STASH_ID=$(git stash create test untracked) &&
+	echo "On master: test untracked" >expect &&
+	git show --pretty=%s -s ${STASH_ID} >actual &&
+	test_cmp expect actual
+'
+
+test_expect_success 'stash -- <pathspec> stashes and restores the file' '
+	>foo &&
+	>bar &&
+	git add foo bar &&
+	git stash push -- foo &&
+	test_path_is_file bar &&
+	test_path_is_missing foo &&
+	git stash pop &&
+	test_path_is_file foo &&
+	test_path_is_file bar
+'
+
+test_expect_success 'stash with multiple pathspec arguments' '
+	>foo &&
+	>bar &&
+	>extra &&
+	git add foo bar extra &&
+	git stash push -- foo bar &&
+	test_path_is_missing bar &&
+	test_path_is_missing foo &&
+	test_path_is_file extra &&
+	git stash pop &&
+	test_path_is_file foo &&
+	test_path_is_file bar &&
+	test_path_is_file extra
+'
+
+test_expect_success 'stash with file including $IFS character' '
+	>"foo bar" &&
+	>foo &&
+	>bar &&
+	git add foo* &&
+	git stash push -- "foo b*" &&
+	test_path_is_missing "foo bar" &&
+	test_path_is_file foo &&
+	test_path_is_file bar &&
+	git stash pop &&
+	test_path_is_file "foo bar" &&
+	test_path_is_file foo &&
+	test_path_is_file bar
+'
+
+test_expect_success 'stash with pathspec matching multiple paths' '
+       echo original >file &&
+       echo original >other-file &&
+       git commit -m "two" file other-file &&
+       echo modified >file &&
+       echo modified >other-file &&
+       git stash push -- "*file" &&
+       echo original >expect &&
+       test_cmp expect file &&
+       test_cmp expect other-file &&
+       git stash pop &&
+       echo modified >expect &&
+       test_cmp expect file &&
+       test_cmp expect other-file
+'
+
+test_expect_success 'stash push -p with pathspec shows no changes only once' '
+	>foo &&
+	git add foo &&
+	git commit -m "tmp" &&
+	git stash push -p foo >actual &&
+	echo "No local changes to save" >expect &&
+	git reset --hard HEAD~ &&
+	test_cmp expect actual
+'
+
+test_expect_success 'stash push with pathspec shows no changes when there are none' '
+	>foo &&
+	git add foo &&
+	git commit -m "tmp" &&
+	git stash push foo >actual &&
+	echo "No local changes to save" >expect &&
+	git reset --hard HEAD~ &&
+	test_cmp expect actual
+'
+
+test_expect_success 'stash push with pathspec not in the repository errors out' '
+	>untracked &&
+	test_must_fail git stash push untracked &&
+	test_path_is_file untracked
+'
+
+test_expect_success 'untracked files are left in place when -u is not given' '
+	>file &&
+	git add file &&
+	>untracked &&
+	git stash push file &&
+	test_path_is_file untracked
+'
+
+test_expect_success 'stash without verb with pathspec' '
+	>"foo bar" &&
+	>foo &&
+	>bar &&
+	git add foo* &&
+	git stash -- "foo b*" &&
+	test_path_is_missing "foo bar" &&
+	test_path_is_file foo &&
+	test_path_is_file bar &&
+	git stash pop &&
+	test_path_is_file "foo bar" &&
+	test_path_is_file foo &&
+	test_path_is_file bar
+'
+
+test_expect_success 'stash -k -- <pathspec> leaves unstaged files intact' '
+	git reset &&
+	>foo &&
+	>bar &&
+	git add foo bar &&
+	git commit -m "test" &&
+	echo "foo" >foo &&
+	echo "bar" >bar &&
+	git stash -k -- foo &&
+	test "",bar = $(cat foo),$(cat bar) &&
+	git stash pop &&
+	test foo,bar = $(cat foo),$(cat bar)
+'
+
 test_done
diff --git a/t/t3904-stash-patch.sh b/t/t3904-stash-patch.sh
index 38e7300..83744f8 100755
--- a/t/t3904-stash-patch.sh
+++ b/t/t3904-stash-patch.sh
@@ -77,6 +77,14 @@
 	verify_state dir/foo work index
 '
 
+test_expect_success 'stash -p --no-keep-index -- <pathspec> does not unstage other files' '
+	set_state HEAD HEADfile_work HEADfile_index &&
+	set_state dir/foo work index &&
+	echo y | git stash push -p --no-keep-index -- HEAD &&
+	verify_state HEAD committed committed &&
+	verify_state dir/foo work index
+'
+
 test_expect_success 'none of this moved HEAD' '
 	verify_saved_head
 '
diff --git a/t/t3905-stash-include-untracked.sh b/t/t3905-stash-include-untracked.sh
index f372fc8..193adc7 100755
--- a/t/t3905-stash-include-untracked.sh
+++ b/t/t3905-stash-include-untracked.sh
@@ -185,4 +185,30 @@
 	test -s .gitignore
 '
 
+test_expect_success 'stash push --include-untracked with pathspec' '
+	>foo &&
+	>bar &&
+	git stash push --include-untracked -- foo &&
+	test_path_is_file bar &&
+	test_path_is_missing foo &&
+	git stash pop &&
+	test_path_is_file bar &&
+	test_path_is_file foo
+'
+
+test_expect_success 'stash push with $IFS character' '
+	>"foo bar" &&
+	>foo &&
+	>bar &&
+	git add foo* &&
+	git stash push --include-untracked -- "foo b*" &&
+	test_path_is_missing "foo bar" &&
+	test_path_is_file foo &&
+	test_path_is_file bar &&
+	git stash pop &&
+	test_path_is_file "foo bar" &&
+	test_path_is_file foo &&
+	test_path_is_file bar
+'
+
 test_done
diff --git a/t/t4014-format-patch.sh b/t/t4014-format-patch.sh
index ba4902d..482112c 100755
--- a/t/t4014-format-patch.sh
+++ b/t/t4014-format-patch.sh
@@ -1294,8 +1294,7 @@
 4:Subject: [PATCH] subject
 8:
 10:Signed-off-by: example happens to be wrapped here.
-11:
-12:Signed-off-by: C O Mitter <committer@example.com>
+11:Signed-off-by: C O Mitter <committer@example.com>
 EOF
 	test_cmp expected actual
 '
@@ -1368,7 +1367,7 @@
 	test_cmp expected actual
 '
 
-test_expect_success 'signoff: detect garbage in non-conforming footer' '
+test_expect_success 'signoff: tolerate garbage in conforming footer' '
 	append_signoff <<\EOF >actual &&
 subject
 
@@ -1383,8 +1382,36 @@
 8:
 10:
 13:Signed-off-by: C O Mitter <committer@example.com>
-14:
-15:Signed-off-by: C O Mitter <committer@example.com>
+EOF
+	test_cmp expected actual
+'
+
+test_expect_success 'signoff: respect trailer config' '
+	append_signoff <<\EOF >actual &&
+subject
+
+Myfooter: x
+Some Trash
+EOF
+	cat >expected <<\EOF &&
+4:Subject: [PATCH] subject
+8:
+11:
+12:Signed-off-by: C O Mitter <committer@example.com>
+EOF
+	test_cmp expected actual &&
+
+	test_config trailer.Myfooter.ifexists add &&
+	append_signoff <<\EOF >actual &&
+subject
+
+Myfooter: x
+Some Trash
+EOF
+	cat >expected <<\EOF &&
+4:Subject: [PATCH] subject
+8:
+11:Signed-off-by: C O Mitter <committer@example.com>
 EOF
 	test_cmp expected actual
 '
diff --git a/t/t4026-color.sh b/t/t4026-color.sh
index ec78c5e..671e951 100755
--- a/t/t4026-color.sh
+++ b/t/t4026-color.sh
@@ -6,10 +6,11 @@
 test_description='Test diff/status color escape codes'
 . ./test-lib.sh
 
+ESC=$(printf '\033')
 color()
 {
 	actual=$(git config --get-color no.such.slot "$1") &&
-	test "$actual" = "$2"
+	test "$actual" = "${2:+$ESC}$2"
 }
 
 invalid_color()
@@ -21,6 +22,10 @@
 	color "reset" "[m"
 '
 
+test_expect_success 'empty color is empty' '
+	color "" ""
+'
+
 test_expect_success 'attribute before color name' '
 	color "bold red" "[1;31m"
 '
diff --git a/t/t4032-diff-inter-hunk-context.sh b/t/t4032-diff-inter-hunk-context.sh
index e4e3e28..bada0cb 100755
--- a/t/t4032-diff-inter-hunk-context.sh
+++ b/t/t4032-diff-inter-hunk-context.sh
@@ -16,11 +16,15 @@
 }
 
 t() {
+	use_config=
+	git config --unset diff.interHunkContext
+
 	case $# in
 	4) hunks=$4; cmd="diff -U$3";;
 	5) hunks=$5; cmd="diff -U$3 --inter-hunk-context=$4";;
+	6) hunks=$5; cmd="diff -U$3"; git config diff.interHunkContext $4; use_config="(diff.interHunkContext=$4) ";;
 	esac
-	label="$cmd, $1 common $2"
+	label="$use_config$cmd, $1 common $2"
 	file=f$1
 	expected=expected.$file.$3.$hunks
 
@@ -89,4 +93,25 @@
 t 9 lines	3	2	2
 t 9 lines	3	3	1
 
+#					use diff.interHunkContext?
+t 1 line	0	0	2	config
+t 1 line	0	1	1	config
+t 1 line	0	2	1	config
+t 9 lines	3	3	1	config
+t 2 lines	0	0	2	config
+t 2 lines	0	1	2	config
+t 2 lines	0	2	1	config
+t 3 lines	1	0	2	config
+t 3 lines	1	1	1	config
+t 3 lines	1	2	1	config
+t 9 lines	3	2	2	config
+t 9 lines	3	3	1	config
+
+test_expect_success 'diff.interHunkContext invalid' '
+	git config diff.interHunkContext asdf &&
+	test_must_fail git diff &&
+	git config diff.interHunkContext -1 &&
+	test_must_fail git diff
+'
+
 test_done
diff --git a/t/t4035-diff-quiet.sh b/t/t4035-diff-quiet.sh
index 461f4bb..2f1737f 100755
--- a/t/t4035-diff-quiet.sh
+++ b/t/t4035-diff-quiet.sh
@@ -152,4 +152,13 @@
 	test_expect_code 1 git diff --quiet
 '
 
+test_expect_success 'git diff --quiet on a path that need conversion' '
+	echo "crlf.txt text=auto" >.gitattributes &&
+	printf "Hello\r\nWorld\r\n" >crlf.txt &&
+	git add .gitattributes crlf.txt &&
+
+	printf "Hello\r\nWorld\n" >crlf.txt &&
+	git diff --quiet crlf.txt
+'
+
 test_done
diff --git a/t/t4060-diff-submodule-option-diff-format.sh b/t/t4060-diff-submodule-option-diff-format.sh
index 7e23b55..d4a3ffa 100755
--- a/t/t4060-diff-submodule-option-diff-format.sh
+++ b/t/t4060-diff-submodule-option-diff-format.sh
@@ -746,4 +746,33 @@
 	test_cmp expected actual
 '
 
+test_expect_success 'setup nested submodule' '
+	git submodule add -f ./sm2 &&
+	git commit -a -m "add sm2" &&
+	git -C sm2 submodule add ../sm2 nested &&
+	git -C sm2 commit -a -m "nested sub"
+'
+
+test_expect_success 'move nested submodule HEAD' '
+	echo "nested content" >sm2/nested/file &&
+	git -C sm2/nested add file &&
+	git -C sm2/nested commit --allow-empty -m "new HEAD"
+'
+
+test_expect_success 'diff --submodule=diff with moved nested submodule HEAD' '
+	cat >expected <<-EOF &&
+	Submodule nested a5a65c9..b55928c:
+	diff --git a/nested/file b/nested/file
+	new file mode 100644
+	index 0000000..ca281f5
+	--- /dev/null
+	+++ b/nested/file
+	@@ -0,0 +1 @@
+	+nested content
+	EOF
+	git -C sm2 diff --submodule=diff >actual 2>err &&
+	test_must_be_empty err &&
+	test_cmp expected actual
+'
+
 test_done
diff --git a/t/t4062-diff-pickaxe.sh b/t/t4062-diff-pickaxe.sh
index f0bf50b..7c4903f 100755
--- a/t/t4062-diff-pickaxe.sh
+++ b/t/t4062-diff-pickaxe.sh
@@ -19,4 +19,9 @@
 	test 4096-zeroes.txt = "$(cat out)"
 '
 
+test_expect_success '-S --pickaxe-regex' '
+	git diff --name-only -S0 --pickaxe-regex HEAD^ >out &&
+	verbose test 4096-zeroes.txt = "$(cat out)"
+'
+
 test_done
diff --git a/t/t4150-am.sh b/t/t4150-am.sh
index 89a5bac..44807e2 100755
--- a/t/t4150-am.sh
+++ b/t/t4150-am.sh
@@ -983,7 +983,9 @@
 	rm -fr .git/rebase-apply &&
 	git checkout -f first &&
 	echo one >> file &&
-	git commit -am "$LONG" --author="$LONG <long@example.com>" &&
+	git commit -am "$LONG
+
+    Body test" --author="$LONG <long@example.com>" &&
 	git format-patch --stdout -1 >patch &&
 	# bump from, date, and subject down to in-body header
 	perl -lpe "
@@ -997,7 +999,7 @@
 	git am msg &&
 	# Ensure that the author and full message are present
 	git cat-file commit HEAD | grep "^author.*long@example.com" &&
-	git cat-file commit HEAD | grep "^$LONG"
+	git cat-file commit HEAD | grep "^$LONG$"
 '
 
 test_done
diff --git a/t/t4201-shortlog.sh b/t/t4201-shortlog.sh
index ae08b57..9df054b 100755
--- a/t/t4201-shortlog.sh
+++ b/t/t4201-shortlog.sh
@@ -190,4 +190,23 @@
 	test_line_count = 3 shortlog
 '
 
+test_expect_success 'shortlog --committer (internal)' '
+	git checkout --orphan side &&
+	git commit --allow-empty -m one &&
+	git commit --allow-empty -m two &&
+	GIT_COMMITTER_NAME="Sin Nombre" git commit --allow-empty -m three &&
+
+	cat >expect <<-\EOF &&
+	     2	C O Mitter
+	     1	Sin Nombre
+	EOF
+	git shortlog -nsc HEAD >actual &&
+	test_cmp expect actual
+'
+
+test_expect_success 'shortlog --committer (external)' '
+	git log --format=full | git shortlog -nsc >actual &&
+	test_cmp expect actual
+'
+
 test_done
diff --git a/t/t4202-log.sh b/t/t4202-log.sh
index 1ccbd59..f577990 100755
--- a/t/t4202-log.sh
+++ b/t/t4202-log.sh
@@ -4,6 +4,7 @@
 
 . ./test-lib.sh
 . "$TEST_DIRECTORY/lib-gpg.sh"
+. "$TEST_DIRECTORY/lib-terminal.sh"
 
 test_expect_success setup '
 
@@ -359,6 +360,28 @@
 	test_cmp expect actual
 '
 
+cat > expect.colors <<\EOF
+*   Merge branch 'side'
+<BLUE>|<RESET><CYAN>\<RESET>
+<BLUE>|<RESET> * side-2
+<BLUE>|<RESET> * side-1
+* <CYAN>|<RESET> Second
+* <CYAN>|<RESET> sixth
+* <CYAN>|<RESET> fifth
+* <CYAN>|<RESET> fourth
+<CYAN>|<RESET><CYAN>/<RESET>
+* third
+* second
+* initial
+EOF
+
+test_expect_success 'log --graph with merge with log.graphColors' '
+	test_config log.graphColors " blue,invalid-color, cyan, red  , " &&
+	git log --color=always --graph --date-order --pretty=tformat:%s |
+		test_decode_color | sed "s/ *\$//" >actual &&
+	test_cmp expect.colors actual
+'
+
 test_expect_success 'log --raw --graph -m with merge' '
 	git log --raw --graph --oneline -m master | head -n 500 >actual &&
 	grep "initial" actual
@@ -498,7 +521,7 @@
 '
 
 test_expect_success 'log.decorate configuration' '
-	git log --oneline >expect.none &&
+	git log --oneline --no-decorate >expect.none &&
 	git log --oneline --decorate >expect.short &&
 	git log --oneline --decorate=full >expect.full &&
 
@@ -554,6 +577,13 @@
 
 '
 
+test_expect_success TTY 'log output on a TTY' '
+	git log --oneline --decorate >expect.short &&
+
+	test_terminal git log --oneline >actual &&
+	test_cmp expect.short actual
+'
+
 test_expect_success 'reflog is expected format' '
 	git log -g --abbrev-commit --pretty=oneline >expect &&
 	git reflog >actual &&
@@ -1190,6 +1220,54 @@
 	test_i18ncmp expect actual.sanitized
 '
 
+cat >expect <<-\EOF
+* reach
+|
+| A	reach.t
+* Merge branch 'tangle'
+*   Merge branch 'side'
+|\
+| * side-2
+|
+|   A	2
+* Second
+|
+| A	one
+* sixth
+
+  D	a/two
+EOF
+
+test_expect_success 'log --graph with --name-status' '
+	git log --graph --format=%s --name-status tangle..reach >actual &&
+	sanitize_output <actual >actual.sanitized &&
+	test_cmp expect actual.sanitized
+'
+
+cat >expect <<-\EOF
+* reach
+|
+| reach.t
+* Merge branch 'tangle'
+*   Merge branch 'side'
+|\
+| * side-2
+|
+|   2
+* Second
+|
+| one
+* sixth
+
+  a/two
+EOF
+
+test_expect_success 'log --graph with --name-only' '
+	git log --graph --format=%s --name-only tangle..reach >actual &&
+	sanitize_output <actual >actual.sanitized &&
+	test_cmp expect actual.sanitized
+'
+
 test_expect_success 'dotdot is a parent directory' '
 	mkdir -p a/b &&
 	( echo sixth && echo fifth ) >expect &&
diff --git a/t/t4205-log-pretty-formats.sh b/t/t4205-log-pretty-formats.sh
index f5435fd..21eb8c8 100755
--- a/t/t4205-log-pretty-formats.sh
+++ b/t/t4205-log-pretty-formats.sh
@@ -535,4 +535,30 @@
 	test_cmp expected actual1
 '
 
+cat >trailers <<EOF
+Signed-off-by: A U Thor <author@example.com>
+Acked-by: A U Thor <author@example.com>
+[ v2 updated patch description ]
+Signed-off-by: A U Thor <author@example.com>
+EOF
+
+test_expect_success 'pretty format %(trailers) shows trailers' '
+	echo "Some contents" >trailerfile &&
+	git add trailerfile &&
+	git commit -F - <<-EOF &&
+	trailers: this commit message has trailers
+
+	This commit is a test commit with trailers at the end. We parse this
+	message and display the trailers using %bT
+
+	$(cat trailers)
+	EOF
+	git log --no-walk --pretty="%(trailers)" >actual &&
+	cat >expect <<-EOF &&
+	$(cat trailers)
+
+	EOF
+	test_cmp expect actual
+'
+
 test_done
diff --git a/t/t4211-line-log.sh b/t/t4211-line-log.sh
index 9d87777..d0377fa 100755
--- a/t/t4211-line-log.sh
+++ b/t/t4211-line-log.sh
@@ -106,4 +106,14 @@
 	test_line_count = 70 log
 '
 
+test_expect_success 'range_set_union' '
+	test_seq 500 > c.c &&
+	git add c.c &&
+	git commit -m "many lines" &&
+	test_seq 1000 > c.c &&
+	git add c.c &&
+	git commit -m "modify many lines" &&
+	git log $(for x in $(test_seq 200); do echo -L $((2*x)),+1:c.c; done)
+'
+
 test_done
diff --git a/t/t5316-pack-delta-depth.sh b/t/t5316-pack-delta-depth.sh
new file mode 100755
index 0000000..37143ea
--- /dev/null
+++ b/t/t5316-pack-delta-depth.sh
@@ -0,0 +1,93 @@
+#!/bin/sh
+
+test_description='pack-objects breaks long cross-pack delta chains'
+. ./test-lib.sh
+
+# This mirrors a repeated push setup:
+#
+# 1. A client repeatedly modifies some files, makes a
+#      commit, and pushes the result. It does this N times
+#      before we get around to repacking.
+#
+# 2. Each push generates a thin pack with the new version of
+#    various objects. Let's consider some file in the root tree
+#    which is updated in each commit.
+#
+#    When generating push number X, we feed commit X-1 (and
+#    thus blob X-1) as a preferred base. The resulting pack has
+#    blob X as a thin delta against blob X-1.
+#
+#    On the receiving end, "index-pack --fix-thin" will
+#    complete the pack with a base copy of blob X-1.
+#
+# 3. In older versions of git, if we used the delta from
+#    pack X, then we'd always find blob X-1 as a base in the
+#    same pack (and generate a fresh delta).
+#
+#    But with the pack mru, we jump from delta to delta
+#    following the traversal order:
+#
+#      a. We grab blob X from pack X as a delta, putting it at
+#         the tip of our mru list.
+#
+#      b. Eventually we move onto commit X-1. We need other
+#         objects which are only in pack X-1 (in the test code
+#         below, it's the containing tree). That puts pack X-1
+#         at the tip of our mru list.
+#
+#      c. Eventually we look for blob X-1, and we find the
+#         version in pack X-1 (because it's the mru tip).
+#
+# Now we have blob X as a delta against X-1, which is a delta
+# against X-2, and so forth.
+#
+# In the real world, these small pushes would get exploded by
+# unpack-objects rather than "index-pack --fix-thin", but the
+# same principle applies to larger pushes (they only need one
+# repeatedly-modified file to generate the delta chain).
+
+test_expect_success 'create series of packs' '
+	test-genrandom foo 4096 >content &&
+	prev= &&
+	for i in $(test_seq 1 10)
+	do
+		cat content >file &&
+		echo $i >>file &&
+		git add file &&
+		git commit -m $i &&
+		cur=$(git rev-parse HEAD^{tree}) &&
+		{
+			test -n "$prev" && echo "-$prev"
+			echo $cur
+			echo "$(git rev-parse :file) file"
+		} | git pack-objects --stdout >tmp &&
+		git index-pack --stdin --fix-thin <tmp || return 1
+		prev=$cur
+	done
+'
+
+max_chain() {
+	git index-pack --verify-stat-only "$1" >output &&
+	perl -lne '
+	  /chain length = (\d+)/ and $len = $1;
+	  END { print $len }
+	' output
+}
+
+# Note that this whole setup is pretty reliant on the current
+# packing heuristics. We double-check that our test case
+# actually produces a long chain. If it doesn't, it should be
+# adjusted (or scrapped if the heuristics have become too unreliable)
+test_expect_success 'packing produces a long delta' '
+	# Use --window=0 to make sure we are seeing reused deltas,
+	# not computing a new long chain.
+	pack=$(git pack-objects --all --window=0 </dev/null pack) &&
+	test 9 = "$(max_chain pack-$pack.pack)"
+'
+
+test_expect_success '--depth limits depth' '
+	pack=$(git pack-objects --all --depth=5 </dev/null pack) &&
+	test 5 = "$(max_chain pack-$pack.pack)"
+'
+
+test_done
diff --git a/t/t5400-send-pack.sh b/t/t5400-send-pack.sh
index 305ca7a..3331e0f 100755
--- a/t/t5400-send-pack.sh
+++ b/t/t5400-send-pack.sh
@@ -255,4 +255,42 @@
 	)
 '
 
+extract_ref_advertisement () {
+	perl -lne '
+		# \\ is there to skip capabilities after \0
+		/push< ([^\\]+)/ or next;
+		exit 0 if $1 eq "0000";
+		print $1;
+	'
+}
+
+test_expect_success 'receive-pack de-dupes .have lines' '
+	git init shared &&
+	git -C shared commit --allow-empty -m both &&
+	git clone -s shared fork &&
+	(
+		cd shared &&
+		git checkout -b only-shared &&
+		git commit --allow-empty -m only-shared &&
+		git update-ref refs/heads/foo HEAD
+	) &&
+
+	# Notable things in this expectation:
+	#  - local refs are not de-duped
+	#  - .have does not duplicate locals
+	#  - .have does not duplicate itself
+	local=$(git -C fork rev-parse HEAD) &&
+	shared=$(git -C shared rev-parse only-shared) &&
+	cat >expect <<-EOF &&
+	$local refs/heads/master
+	$local refs/remotes/origin/HEAD
+	$local refs/remotes/origin/master
+	$shared .have
+	EOF
+
+	GIT_TRACE_PACKET=$(pwd)/trace git push fork HEAD:foo &&
+	extract_ref_advertisement <trace >refs &&
+	test_cmp expect refs
+'
+
 test_done
diff --git a/t/t5500-fetch-pack.sh b/t/t5500-fetch-pack.sh
index 505e1b4..b5865b3 100755
--- a/t/t5500-fetch-pack.sh
+++ b/t/t5500-fetch-pack.sh
@@ -484,7 +484,7 @@
 		cd client &&
 		test_must_fail git fetch-pack --no-progress .. refs/heads/xyzzy
 	) >/dev/null 2>error-m &&
-	test_cmp expect-error error-m
+	test_i18ncmp expect-error error-m
 '
 
 test_expect_success 'test missing ref after existing' '
@@ -492,7 +492,7 @@
 		cd client &&
 		test_must_fail git fetch-pack --no-progress .. refs/heads/A refs/heads/xyzzy
 	) >/dev/null 2>error-em &&
-	test_cmp expect-error error-em
+	test_i18ncmp expect-error error-em
 '
 
 test_expect_success 'test missing ref before existing' '
@@ -500,7 +500,7 @@
 		cd client &&
 		test_must_fail git fetch-pack --no-progress .. refs/heads/xyzzy refs/heads/A
 	) >/dev/null 2>error-me &&
-	test_cmp expect-error error-me
+	test_i18ncmp expect-error error-me
 '
 
 test_expect_success 'test --all, --depth, and explicit head' '
diff --git a/t/t5504-fetch-receive-strict.sh b/t/t5504-fetch-receive-strict.sh
index 9b19cff..49d3621 100755
--- a/t/t5504-fetch-receive-strict.sh
+++ b/t/t5504-fetch-receive-strict.sh
@@ -152,7 +152,7 @@
 	git --git-dir=dst/.git config --add \
 		receive.fsck.badDate warn &&
 	git push --porcelain dst bogus >act 2>&1 &&
-	test_must_fail grep "missingEmail" act
+	! grep "missingEmail" act
 '
 
 test_expect_success \
diff --git a/t/t5505-remote.sh b/t/t5505-remote.sh
index 8198d8e..a6c0178 100755
--- a/t/t5505-remote.sh
+++ b/t/t5505-remote.sh
@@ -153,6 +153,25 @@
 	)
 '
 
+test_expect_success 'remove remote with a branch without configured merge' '
+	test_when_finished "(
+		git -C test checkout master;
+		git -C test branch -D two;
+		git -C test config --remove-section remote.two;
+		git -C test config --remove-section branch.second;
+		true
+	)" &&
+	(
+		cd test &&
+		git remote add two ../two &&
+		git fetch two &&
+		git checkout -b second two/master^0 &&
+		git config branch.second.remote two &&
+		git checkout master &&
+		git remote rm two
+	)
+'
+
 test_expect_success 'rename errors out early when deleting non-existent branch' '
 	(
 		cd test &&
@@ -725,7 +744,7 @@
 	(
 		cd four &&
 		git remote rename origin upstream &&
-		rmdir .git/refs/remotes/origin &&
+		test -z "$(git for-each-ref refs/remotes/origin)" &&
 		test "$(git symbolic-ref refs/remotes/upstream/HEAD)" = "refs/remotes/upstream/master" &&
 		test "$(git rev-parse upstream/master)" = "$(git rev-parse master)" &&
 		test "$(git config remote.upstream.fetch)" = "+refs/heads/*:refs/remotes/upstream/*" &&
@@ -764,6 +783,13 @@
 	)
 '
 
+test_expect_success 'rename succeeds with existing remote.<target>.prune' '
+	git clone one four.four &&
+	test_when_finished git config --global --unset remote.upstream.prune &&
+	git config --global remote.upstream.prune true &&
+	git -C four.four remote rename origin upstream
+'
+
 cat >remotes_origin <<EOF
 URL: $(pwd)/one
 Push: refs/heads/master:refs/heads/upstream
diff --git a/t/t5509-fetch-push-namespaces.sh b/t/t5509-fetch-push-namespaces.sh
index bc44ac3..75c570a 100755
--- a/t/t5509-fetch-push-namespaces.sh
+++ b/t/t5509-fetch-push-namespaces.sh
@@ -4,6 +4,7 @@
 . ./test-lib.sh
 
 test_expect_success setup '
+	git config --global protocol.ext.allow user &&
 	test_tick &&
 	git init original &&
 	(
diff --git a/t/t5512-ls-remote.sh b/t/t5512-ls-remote.sh
index 55fc83f..94fc9be 100755
--- a/t/t5512-ls-remote.sh
+++ b/t/t5512-ls-remote.sh
@@ -248,4 +248,13 @@
 	test_expect_code 2 git ls-remote --exit-code git://localhost:$JGIT_DAEMON_PORT/empty.git
 '
 
+test_expect_success 'ls-remote works outside repository' '
+	# It is important for this repo to be inside the nongit
+	# area, as we want a repo name that does not include
+	# slashes (because those inhibit some of our configuration
+	# lookups).
+	nongit git init --bare dst.git &&
+	nongit git ls-remote dst.git
+'
+
 test_done
diff --git a/t/t5516-fetch-push.sh b/t/t5516-fetch-push.sh
index 26b2caf..177897e 100755
--- a/t/t5516-fetch-push.sh
+++ b/t/t5516-fetch-push.sh
@@ -1004,7 +1004,7 @@
 test_expect_success 'push --porcelain bad url' '
 	mk_empty testrepo &&
 	test_must_fail git push >.git/bar --porcelain asdfasdfasd refs/heads/master:refs/remotes/origin/master &&
-	test_must_fail grep -q Done .git/bar
+	! grep -q Done .git/bar
 '
 
 test_expect_success 'push --porcelain rejected' '
@@ -1098,7 +1098,8 @@
 		test_must_fail git cat-file -t $the_commit &&
 
 		# fetching the hidden object should fail by default
-		test_must_fail git fetch -v ../testrepo $the_commit:refs/heads/copy &&
+		test_must_fail git fetch -v ../testrepo $the_commit:refs/heads/copy 2>err &&
+		test_i18ngrep "Server does not allow request for unadvertised object" err &&
 		test_must_fail git rev-parse --verify refs/heads/copy &&
 
 		# the server side can allow it to succeed
diff --git a/t/t5531-deep-submodule-push.sh b/t/t5531-deep-submodule-push.sh
index 1524ff5..57ba322 100755
--- a/t/t5531-deep-submodule-push.sh
+++ b/t/t5531-deep-submodule-push.sh
@@ -454,4 +454,77 @@
 	test_cmp expected_submodule actual_submodule
 '
 
+test_expect_success 'push --dry-run does not recursively update submodules' '
+	git -C work push --dry-run --recurse-submodules=only ../pub.git master &&
+
+	git -C submodule.git rev-parse master >actual_submodule &&
+	git -C pub.git rev-parse master >actual_pub &&
+	test_cmp expected_pub actual_pub &&
+	test_cmp expected_submodule actual_submodule
+'
+
+test_expect_success 'push only unpushed submodules recursively' '
+	git -C work/gar/bage rev-parse master >expected_submodule &&
+	git -C pub.git rev-parse master >expected_pub &&
+
+	git -C work push --recurse-submodules=only ../pub.git master &&
+
+	git -C submodule.git rev-parse master >actual_submodule &&
+	git -C pub.git rev-parse master >actual_pub &&
+	test_cmp expected_submodule actual_submodule &&
+	test_cmp expected_pub actual_pub
+'
+
+test_expect_success 'push propagating the remotes name to a submodule' '
+	git -C work remote add origin ../pub.git &&
+	git -C work remote add pub ../pub.git &&
+
+	> work/gar/bage/junk10 &&
+	git -C work/gar/bage add junk10 &&
+	git -C work/gar/bage commit -m "Tenth junk" &&
+	git -C work add gar/bage &&
+	git -C work commit -m "Tenth junk added to gar/bage" &&
+
+	# Fails when submodule does not have a matching remote
+	test_must_fail git -C work push --recurse-submodules=on-demand pub master &&
+	# Succeeds when submodules has matching remote and refspec
+	git -C work push --recurse-submodules=on-demand origin master &&
+
+	git -C submodule.git rev-parse master >actual_submodule &&
+	git -C pub.git rev-parse master >actual_pub &&
+	git -C work/gar/bage rev-parse master >expected_submodule &&
+	git -C work rev-parse master >expected_pub &&
+	test_cmp expected_submodule actual_submodule &&
+	test_cmp expected_pub actual_pub
+'
+
+test_expect_success 'push propagating refspec to a submodule' '
+	> work/gar/bage/junk11 &&
+	git -C work/gar/bage add junk11 &&
+	git -C work/gar/bage commit -m "Eleventh junk" &&
+
+	git -C work checkout branch2 &&
+	git -C work add gar/bage &&
+	git -C work commit -m "updating gar/bage in branch2" &&
+
+	# Fails when submodule does not have a matching branch
+	test_must_fail git -C work push --recurse-submodules=on-demand origin branch2 &&
+	# Fails when refspec includes an object id
+	test_must_fail git -C work push --recurse-submodules=on-demand origin \
+		"$(git -C work rev-parse branch2):refs/heads/branch2" &&
+	# Fails when refspec includes 'HEAD' as it is unsupported at this time
+	test_must_fail git -C work push --recurse-submodules=on-demand origin \
+		HEAD:refs/heads/branch2 &&
+
+	git -C work/gar/bage branch branch2 master &&
+	git -C work push --recurse-submodules=on-demand origin branch2 &&
+
+	git -C submodule.git rev-parse branch2 >actual_submodule &&
+	git -C pub.git rev-parse branch2 >actual_pub &&
+	git -C work/gar/bage rev-parse branch2 >expected_submodule &&
+	git -C work rev-parse branch2 >expected_pub &&
+	test_cmp expected_submodule actual_submodule &&
+	test_cmp expected_pub actual_pub
+'
+
 test_done
diff --git a/t/t5545-push-options.sh b/t/t5545-push-options.sh
index ea813b9..f9232f5 100755
--- a/t/t5545-push-options.sh
+++ b/t/t5545-push-options.sh
@@ -3,6 +3,8 @@
 test_description='pushing to a repository using push options'
 
 . ./test-lib.sh
+. "$TEST_DIRECTORY"/lib-httpd.sh
+start_httpd
 
 mk_repo_pair () {
 	rm -rf workbench upstream &&
@@ -100,4 +102,86 @@
 	test_cmp expect upstream/.git/hooks/post-receive.push_options
 '
 
+test_expect_success 'push option denied properly by http server' '
+	test_when_finished "rm -rf test_http_clone" &&
+	test_when_finished "rm -rf \"$HTTPD_DOCUMENT_ROOT_PATH\"/upstream.git" &&
+	mk_repo_pair &&
+	git -C upstream config receive.advertisePushOptions false &&
+	git -C upstream config http.receivepack true &&
+	cp -R upstream/.git "$HTTPD_DOCUMENT_ROOT_PATH"/upstream.git &&
+	git clone "$HTTPD_URL"/smart/upstream test_http_clone &&
+	test_commit -C test_http_clone one &&
+	test_must_fail git -C test_http_clone push --push-option=asdf origin master 2>actual &&
+	test_i18ngrep "the receiving end does not support push options" actual &&
+	git -C test_http_clone push origin master
+'
+
+test_expect_success 'push options work properly across http' '
+	test_when_finished "rm -rf test_http_clone" &&
+	test_when_finished "rm -rf \"$HTTPD_DOCUMENT_ROOT_PATH\"/upstream.git" &&
+	mk_repo_pair &&
+	git -C upstream config receive.advertisePushOptions true &&
+	git -C upstream config http.receivepack true &&
+	cp -R upstream/.git "$HTTPD_DOCUMENT_ROOT_PATH"/upstream.git &&
+	git clone "$HTTPD_URL"/smart/upstream test_http_clone &&
+
+	test_commit -C test_http_clone one &&
+	git -C test_http_clone push origin master &&
+	git -C "$HTTPD_DOCUMENT_ROOT_PATH"/upstream.git rev-parse --verify master >expect &&
+	git -C test_http_clone rev-parse --verify master >actual &&
+	test_cmp expect actual &&
+
+	test_commit -C test_http_clone two &&
+	git -C test_http_clone push --push-option=asdf --push-option="more structured text" origin master &&
+	printf "asdf\nmore structured text\n" >expect &&
+	test_cmp expect "$HTTPD_DOCUMENT_ROOT_PATH"/upstream.git/hooks/pre-receive.push_options &&
+	test_cmp expect "$HTTPD_DOCUMENT_ROOT_PATH"/upstream.git/hooks/post-receive.push_options &&
+
+	git -C "$HTTPD_DOCUMENT_ROOT_PATH"/upstream.git rev-parse --verify master >expect &&
+	git -C test_http_clone rev-parse --verify master >actual &&
+	test_cmp expect actual
+'
+
+test_expect_success 'push options and submodules' '
+	test_when_finished "rm -rf parent" &&
+	test_when_finished "rm -rf parent_upstream" &&
+	mk_repo_pair &&
+	git -C upstream config receive.advertisePushOptions true &&
+	cp -r upstream parent_upstream &&
+	test_commit -C upstream one &&
+
+	test_create_repo parent &&
+	git -C parent remote add up ../parent_upstream &&
+	test_commit -C parent one &&
+	git -C parent push --mirror up &&
+
+	git -C parent submodule add ../upstream workbench &&
+	git -C parent/workbench remote add up ../../upstream &&
+	git -C parent commit -m "add submoule" &&
+
+	test_commit -C parent/workbench two &&
+	git -C parent add workbench &&
+	git -C parent commit -m "update workbench" &&
+
+	git -C parent push \
+		--push-option=asdf --push-option="more structured text" \
+		--recurse-submodules=on-demand up master &&
+
+	git -C upstream rev-parse --verify master >expect &&
+	git -C parent/workbench rev-parse --verify master >actual &&
+	test_cmp expect actual &&
+
+	git -C parent_upstream rev-parse --verify master >expect &&
+	git -C parent rev-parse --verify master >actual &&
+	test_cmp expect actual &&
+
+	printf "asdf\nmore structured text\n" >expect &&
+	test_cmp expect upstream/.git/hooks/pre-receive.push_options &&
+	test_cmp expect upstream/.git/hooks/post-receive.push_options &&
+	test_cmp expect parent_upstream/.git/hooks/pre-receive.push_options &&
+	test_cmp expect parent_upstream/.git/hooks/post-receive.push_options
+'
+
+stop_httpd
+
 test_done
diff --git a/t/t5550-http-fetch-dumb.sh b/t/t5550-http-fetch-dumb.sh
index 264a1ab..87308cd 100755
--- a/t/t5550-http-fetch-dumb.sh
+++ b/t/t5550-http-fetch-dumb.sh
@@ -34,6 +34,15 @@
 	test_cmp file clone/file
 '
 
+test_expect_success 'list refs from outside any repository' '
+	cat >expect <<-EOF &&
+	$(git rev-parse master)	HEAD
+	$(git rev-parse master)	refs/heads/master
+	EOF
+	nongit git ls-remote "$HTTPD_URL/dumb/repo.git" >actual &&
+	test_cmp expect actual
+'
+
 test_expect_success 'create password-protected repository' '
 	mkdir -p "$HTTPD_DOCUMENT_ROOT_PATH/auth/dumb/" &&
 	cp -Rf "$HTTPD_DOCUMENT_ROOT_PATH/repo.git" \
@@ -368,5 +377,24 @@
 		clone "$HTTPD_URL/dumb/evil.git" evil-file
 '
 
+test_expect_success 'http-alternates triggers not-from-user protocol check' '
+	echo "$HTTPD_URL/dumb/victim.git/objects" \
+		>"$evil/objects/info/http-alternates" &&
+	test_config_global http.followRedirects true &&
+	test_must_fail git -c protocol.http.allow=user \
+		clone $HTTPD_URL/dumb/evil.git evil-user &&
+	git -c protocol.http.allow=always \
+		clone $HTTPD_URL/dumb/evil.git evil-user
+'
+
+test_expect_success 'can redirect through non-"info/refs?service=git-upload-pack" URL' '
+	git clone "$HTTPD_URL/redir-to/dumb/repo.git"
+'
+
+test_expect_success 'print HTTP error when any intermediate redirect throws error' '
+	test_must_fail git clone "$HTTPD_URL/redir-to/502" 2> stderr &&
+	test_i18ngrep "unable to access.*/redir-to/502" stderr
+'
+
 stop_httpd
 test_done
diff --git a/t/t5580-clone-push-unc.sh b/t/t5580-clone-push-unc.sh
new file mode 100755
index 0000000..b195f71
--- /dev/null
+++ b/t/t5580-clone-push-unc.sh
@@ -0,0 +1,48 @@
+#!/bin/sh
+
+test_description='various UNC path tests (Windows-only)'
+. ./test-lib.sh
+
+if ! test_have_prereq MINGW; then
+	skip_all='skipping UNC path tests, requires Windows'
+	test_done
+fi
+
+UNCPATH="$(pwd)"
+case "$UNCPATH" in
+[A-Z]:*)
+	# Use administrative share e.g. \\localhost\C$\git-sdk-64\usr\src\git
+	# (we use forward slashes here because MSYS2 and Git accept them, and
+	# they are easier on the eyes)
+	UNCPATH="//localhost/${UNCPATH%%:*}\$/${UNCPATH#?:}"
+	test -d "$UNCPATH" || {
+		skip_all='could not access administrative share; skipping'
+		test_done
+	}
+	;;
+*)
+	skip_all='skipping UNC path tests, cannot determine current path as UNC'
+	test_done
+	;;
+esac
+
+test_expect_success setup '
+	test_commit initial
+'
+
+test_expect_success clone '
+	git clone "file://$UNCPATH" clone
+'
+
+test_expect_success push '
+	(
+		cd clone &&
+		git checkout -b to-push &&
+		test_commit to-push &&
+		git push origin HEAD
+	) &&
+	rev="$(git -C clone rev-parse --verify refs/heads/to-push)" &&
+	test "$rev" = "$(git rev-parse --verify refs/heads/to-push)"
+'
+
+test_done
diff --git a/t/t5601-clone.sh b/t/t5601-clone.sh
index a433394..9c56f77 100755
--- a/t/t5601-clone.sh
+++ b/t/t5601-clone.sh
@@ -151,7 +151,7 @@
 	git clone --mirror src mirror2 &&
 	(cd mirror2 &&
 	 git show-ref 2> clone.err > clone.out) &&
-	test_must_fail grep Duplicate mirror2/clone.err &&
+	! grep Duplicate mirror2/clone.err &&
 	grep some-tag mirror2/clone.out
 
 '
@@ -386,6 +386,53 @@
 	expect_ssh "-batch -P 123" myhost src
 '
 
+test_expect_success 'double quoted plink.exe in GIT_SSH_COMMAND' '
+	copy_ssh_wrapper_as "$TRASH_DIRECTORY/plink.exe" &&
+	GIT_SSH_COMMAND="\"$TRASH_DIRECTORY/plink.exe\" -v" \
+		git clone "[myhost:123]:src" ssh-bracket-clone-plink-3 &&
+	expect_ssh "-v -P 123" myhost src
+'
+
+SQ="'"
+test_expect_success 'single quoted plink.exe in GIT_SSH_COMMAND' '
+	copy_ssh_wrapper_as "$TRASH_DIRECTORY/plink.exe" &&
+	GIT_SSH_COMMAND="$SQ$TRASH_DIRECTORY/plink.exe$SQ -v" \
+		git clone "[myhost:123]:src" ssh-bracket-clone-plink-4 &&
+	expect_ssh "-v -P 123" myhost src
+'
+
+test_expect_success 'GIT_SSH_VARIANT overrides plink detection' '
+	copy_ssh_wrapper_as "$TRASH_DIRECTORY/plink" &&
+	GIT_SSH_VARIANT=ssh \
+	git clone "[myhost:123]:src" ssh-bracket-clone-variant-1 &&
+	expect_ssh "-p 123" myhost src
+'
+
+test_expect_success 'ssh.variant overrides plink detection' '
+	copy_ssh_wrapper_as "$TRASH_DIRECTORY/plink" &&
+	git -c ssh.variant=ssh \
+		clone "[myhost:123]:src" ssh-bracket-clone-variant-2 &&
+	expect_ssh "-p 123" myhost src
+'
+
+test_expect_success 'GIT_SSH_VARIANT overrides plink detection to plink' '
+	GIT_SSH_VARIANT=plink \
+	git clone "[myhost:123]:src" ssh-bracket-clone-variant-3 &&
+	expect_ssh "-P 123" myhost src
+'
+
+test_expect_success 'GIT_SSH_VARIANT overrides plink to tortoiseplink' '
+	GIT_SSH_VARIANT=tortoiseplink \
+	git clone "[myhost:123]:src" ssh-bracket-clone-variant-4 &&
+	expect_ssh "-batch -P 123" myhost src
+'
+
+test_expect_success 'clean failure on broken quoting' '
+	test_must_fail \
+		env GIT_SSH_COMMAND="${SQ}plink.exe -v" \
+		git clone "[myhost:123]:src" sq-failure
+'
+
 # Reset the GIT_SSH environment variable for clone tests.
 setup_ssh_wrapper
 
diff --git a/t/t5615-alternate-env.sh b/t/t5615-alternate-env.sh
index 26ebb03..d2d883f 100755
--- a/t/t5615-alternate-env.sh
+++ b/t/t5615-alternate-env.sh
@@ -77,6 +77,7 @@
 	check_obj "$quoted:$unquoted" <<-EOF
 	$one blob
 	$two blob
+	EOF
 '
 
 test_expect_success !MINGW 'broken quoting falls back to interpreting raw' '
diff --git a/t/t5802-connect-helper.sh b/t/t5802-connect-helper.sh
index b7a7f9d..c6c2661 100755
--- a/t/t5802-connect-helper.sh
+++ b/t/t5802-connect-helper.sh
@@ -4,6 +4,7 @@
 . ./test-lib.sh
 
 test_expect_success setup '
+	git config --global protocol.ext.allow user &&
 	test_tick &&
 	git commit --allow-empty -m initial &&
 	test_tick &&
diff --git a/t/t5812-proto-disable-http.sh b/t/t5812-proto-disable-http.sh
index 044cc15..d911afd 100755
--- a/t/t5812-proto-disable-http.sh
+++ b/t/t5812-proto-disable-http.sh
@@ -30,5 +30,12 @@
 	test_must_fail git clone "$HTTPD_URL/loop-redir/smart/repo.git"
 '
 
+test_expect_success 'http can be limited to from-user' '
+	git -c protocol.http.allow=user \
+		clone "$HTTPD_URL/smart/repo.git" plain.git &&
+	test_must_fail git -c protocol.http.allow=user \
+		clone "$HTTPD_URL/smart-redir-perm/repo.git" redir.git
+'
+
 stop_httpd
 test_done
diff --git a/t/t6007-rev-list-cherry-pick-file.sh b/t/t6007-rev-list-cherry-pick-file.sh
index 1408b60..2959745 100755
--- a/t/t6007-rev-list-cherry-pick-file.sh
+++ b/t/t6007-rev-list-cherry-pick-file.sh
@@ -99,6 +99,44 @@
 	test_cmp actual.named expect
 '
 
+test_expect_success 'name-rev multiple --refs combine inclusive' '
+	git rev-list --left-right --cherry-pick F...E -- bar >actual &&
+	git name-rev --stdin --name-only --refs="*tags/F" --refs="*tags/E" \
+		<actual >actual.named &&
+	test_cmp actual.named expect
+'
+
+cat >expect <<EOF
+<tags/F
+EOF
+
+test_expect_success 'name-rev --refs excludes non-matched patterns' '
+	git rev-list --left-right --right-only --cherry-pick F...E -- bar >>expect &&
+	git rev-list --left-right --cherry-pick F...E -- bar >actual &&
+	git name-rev --stdin --name-only --refs="*tags/F" \
+		<actual >actual.named &&
+	test_cmp actual.named expect
+'
+
+cat >expect <<EOF
+<tags/F
+EOF
+
+test_expect_success 'name-rev --exclude excludes matched patterns' '
+	git rev-list --left-right --right-only --cherry-pick F...E -- bar >>expect &&
+	git rev-list --left-right --cherry-pick F...E -- bar >actual &&
+	git name-rev --stdin --name-only --refs="*tags/*" --exclude="*E" \
+		<actual >actual.named &&
+	test_cmp actual.named expect
+'
+
+test_expect_success 'name-rev --no-refs clears the refs list' '
+	git rev-list --left-right --cherry-pick F...E -- bar >expect &&
+	git name-rev --stdin --name-only --refs="*tags/F" --refs="*tags/E" --no-refs --refs="*tags/G" \
+		<expect >actual &&
+	test_cmp actual expect
+'
+
 cat >expect <<EOF
 +tags/F
 =tags/D
diff --git a/t/t6030-bisect-porcelain.sh b/t/t6030-bisect-porcelain.sh
index 5e5370f..8c2c6ea 100755
--- a/t/t6030-bisect-porcelain.sh
+++ b/t/t6030-bisect-porcelain.sh
@@ -407,7 +407,7 @@
 	test_i18ngrep "merge base must be tested" my_bisect_log.txt &&
 	grep $HASH4 my_bisect_log.txt &&
 	git bisect good > my_bisect_log.txt &&
-	test_must_fail grep "merge base must be tested" my_bisect_log.txt &&
+	! grep "merge base must be tested" my_bisect_log.txt &&
 	grep $HASH6 my_bisect_log.txt &&
 	git bisect reset
 '
diff --git a/t/t6040-tracking-info.sh b/t/t6040-tracking-info.sh
index 3d5c238..97a0765 100755
--- a/t/t6040-tracking-info.sh
+++ b/t/t6040-tracking-info.sh
@@ -44,7 +44,7 @@
 b2 [ahead 1, behind 1] d
 b3 [behind 1] b
 b4 [ahead 2] f
-b5 g
+b5 [gone] g
 b6 c
 EOF
 
diff --git a/t/t6045-merge-rename-delete.sh b/t/t6045-merge-rename-delete.sh
new file mode 100755
index 0000000..5d33577
--- /dev/null
+++ b/t/t6045-merge-rename-delete.sh
@@ -0,0 +1,23 @@
+#!/bin/sh
+
+test_description='Merge-recursive rename/delete conflict message'
+. ./test-lib.sh
+
+test_expect_success 'rename/delete' '
+	echo foo >A &&
+	git add A &&
+	git commit -m "initial" &&
+
+	git checkout -b rename &&
+	git mv A B &&
+	git commit -m "rename" &&
+
+	git checkout master &&
+	git rm A &&
+	git commit -m "delete" &&
+
+	test_must_fail git merge --strategy=recursive rename >output &&
+	test_i18ngrep "CONFLICT (rename/delete): A deleted in HEAD and renamed to B in rename. Version rename of B left in tree." output
+'
+
+test_done
diff --git a/t/t6120-describe.sh b/t/t6120-describe.sh
index 85f2694..16952e4 100755
--- a/t/t6120-describe.sh
+++ b/t/t6120-describe.sh
@@ -182,6 +182,10 @@
 
 check_describe "test2-lightweight-*" --long --tags --match="test2-*" HEAD^
 
+check_describe "test1-lightweight-*" --long --tags --match="test1-*" --match="test2-*" HEAD^
+
+check_describe "test2-lightweight-*" --long --tags --match="test1-*" --no-match --match="test2-*" HEAD^
+
 test_expect_success 'name-rev with exact tags' '
 	echo A >expect &&
 	tag_object=$(git rev-parse refs/tags/A) &&
@@ -206,4 +210,47 @@
 	test_cmp expect actual
 '
 
+test_expect_success 'describe --contains and --match' '
+	echo "A^0" >expect &&
+	tagged_commit=$(git rev-parse "refs/tags/A^0") &&
+	test_must_fail git describe --contains --match="B" $tagged_commit &&
+	git describe --contains --match="B" --match="A" $tagged_commit >actual &&
+	test_cmp expect actual
+'
+
+test_expect_success 'describe --exclude' '
+	echo "c~1" >expect &&
+	tagged_commit=$(git rev-parse "refs/tags/A^0") &&
+	test_must_fail git describe --contains --match="B" $tagged_commit &&
+	git describe --contains --match="?" --exclude="A" $tagged_commit >actual &&
+	test_cmp expect actual
+'
+
+test_expect_success 'describe --contains and --no-match' '
+	echo "A^0" >expect &&
+	tagged_commit=$(git rev-parse "refs/tags/A^0") &&
+	git describe --contains --match="B" --no-match $tagged_commit >actual &&
+	test_cmp expect actual
+'
+
+test_expect_success 'setup and absorb a submodule' '
+	test_create_repo sub1 &&
+	test_commit -C sub1 initial &&
+	git submodule add ./sub1 &&
+	git submodule absorbgitdirs &&
+	git commit -a -m "add submodule" &&
+	git describe --dirty >expect &&
+	git describe --broken >out &&
+	test_cmp expect out
+'
+
+test_expect_success 'describe chokes on severly broken submodules' '
+	mv .git/modules/sub1/ .git/modules/sub_moved &&
+	test_must_fail git describe --dirty
+'
+test_expect_success 'describe ignoring a borken submodule' '
+	git describe --broken >out &&
+	grep broken out
+'
+
 test_done
diff --git a/t/t6132-pathspec-exclude.sh b/t/t6132-pathspec-exclude.sh
index d51595c..9dd5cde 100755
--- a/t/t6132-pathspec-exclude.sh
+++ b/t/t6132-pathspec-exclude.sh
@@ -25,8 +25,10 @@
 	test_cmp expect actual
 '
 
-test_expect_success 'exclude only should error out' '
-	test_must_fail git log --oneline --format=%s -- ":(exclude)sub"
+test_expect_success 'exclude only no longer errors out' '
+	git log --oneline --format=%s -- . ":(exclude)sub" >expect &&
+	git log --oneline --format=%s -- ":(exclude)sub" >actual &&
+	test_cmp expect actual
 '
 
 test_expect_success 't_e_i() exclude sub' '
diff --git a/t/t6134-pathspec-in-submodule.sh b/t/t6134-pathspec-in-submodule.sh
new file mode 100755
index 0000000..fd401ca
--- /dev/null
+++ b/t/t6134-pathspec-in-submodule.sh
@@ -0,0 +1,36 @@
+#!/bin/sh
+
+test_description='test case exclude pathspec'
+
+. ./test-lib.sh
+
+test_expect_success 'setup a submodule' '
+	test_create_repo pretzel &&
+	: >pretzel/a &&
+	git -C pretzel add a &&
+	git -C pretzel commit -m "add a file" -- a &&
+	git submodule add ./pretzel sub &&
+	git commit -a -m "add submodule" &&
+	git submodule deinit --all
+'
+
+cat <<EOF >expect
+fatal: Pathspec 'sub/a' is in submodule 'sub'
+EOF
+
+test_expect_success 'error message for path inside submodule' '
+	echo a >sub/a &&
+	test_must_fail git add sub/a 2>actual &&
+	test_cmp expect actual
+'
+
+cat <<EOF >expect
+fatal: Pathspec '.' is in submodule 'sub'
+EOF
+
+test_expect_success 'error message for path inside submodule from within submodule' '
+	test_must_fail git -C sub add . 2>actual &&
+	test_cmp expect actual
+'
+
+test_done
diff --git a/t/t6135-pathspec-with-attrs.sh b/t/t6135-pathspec-with-attrs.sh
new file mode 100755
index 0000000..77b8cef
--- /dev/null
+++ b/t/t6135-pathspec-with-attrs.sh
@@ -0,0 +1,200 @@
+#!/bin/sh
+
+test_description='test labels in pathspecs'
+. ./test-lib.sh
+
+test_expect_success 'setup a tree' '
+	cat <<-\EOF >expect &&
+	fileA
+	fileAB
+	fileAC
+	fileB
+	fileBC
+	fileC
+	fileNoLabel
+	fileSetLabel
+	fileUnsetLabel
+	fileValue
+	fileWrongLabel
+	sub/fileA
+	sub/fileAB
+	sub/fileAC
+	sub/fileB
+	sub/fileBC
+	sub/fileC
+	sub/fileNoLabel
+	sub/fileSetLabel
+	sub/fileUnsetLabel
+	sub/fileValue
+	sub/fileWrongLabel
+	EOF
+	mkdir sub &&
+	while read path
+	do
+		: >$path &&
+		git add $path || return 1
+	done <expect &&
+	git commit -m "initial commit" &&
+	git ls-files >actual &&
+	test_cmp expect actual
+'
+
+test_expect_success 'pathspec with no attr' '
+	test_must_fail git ls-files ":(attr:)"
+'
+
+test_expect_success 'pathspec with labels and non existent .gitattributes' '
+	git ls-files ":(attr:label)" >actual &&
+	test_must_be_empty actual
+'
+
+test_expect_success 'setup .gitattributes' '
+	cat <<-\EOF >.gitattributes &&
+	fileA labelA
+	fileB labelB
+	fileC labelC
+	fileAB labelA labelB
+	fileAC labelA labelC
+	fileBC labelB labelC
+	fileUnsetLabel -label
+	fileSetLabel label
+	fileValue label=foo
+	fileWrongLabel label☺
+	EOF
+	git add .gitattributes &&
+	git commit -m "add attributes"
+'
+
+test_expect_success 'check specific set attr' '
+	cat <<-\EOF >expect &&
+	fileSetLabel
+	sub/fileSetLabel
+	EOF
+	git ls-files ":(attr:label)" >actual &&
+	test_cmp expect actual
+'
+
+test_expect_success 'check specific unset attr' '
+	cat <<-\EOF >expect &&
+	fileUnsetLabel
+	sub/fileUnsetLabel
+	EOF
+	git ls-files ":(attr:-label)" >actual &&
+	test_cmp expect actual
+'
+
+test_expect_success 'check specific value attr' '
+	cat <<-\EOF >expect &&
+	fileValue
+	sub/fileValue
+	EOF
+	git ls-files ":(attr:label=foo)" >actual &&
+	test_cmp expect actual &&
+	git ls-files ":(attr:label=bar)" >actual &&
+	test_must_be_empty actual
+'
+
+test_expect_success 'check unspecified attr' '
+	cat <<-\EOF >expect &&
+	.gitattributes
+	fileA
+	fileAB
+	fileAC
+	fileB
+	fileBC
+	fileC
+	fileNoLabel
+	fileWrongLabel
+	sub/fileA
+	sub/fileAB
+	sub/fileAC
+	sub/fileB
+	sub/fileBC
+	sub/fileC
+	sub/fileNoLabel
+	sub/fileWrongLabel
+	EOF
+	git ls-files ":(attr:!label)" >actual &&
+	test_cmp expect actual
+'
+
+test_expect_success 'check multiple unspecified attr' '
+	cat <<-\EOF >expect &&
+	.gitattributes
+	fileC
+	fileNoLabel
+	fileWrongLabel
+	sub/fileC
+	sub/fileNoLabel
+	sub/fileWrongLabel
+	EOF
+	git ls-files ":(attr:!labelB !labelA !label)" >actual &&
+	test_cmp expect actual
+'
+
+test_expect_success 'check label with more labels but excluded path' '
+	cat <<-\EOF >expect &&
+	fileAB
+	fileB
+	fileBC
+	EOF
+	git ls-files ":(attr:labelB)" ":(exclude)sub/" >actual &&
+	test_cmp expect actual
+'
+
+test_expect_success 'check label excluding other labels' '
+	cat <<-\EOF >expect &&
+	fileAB
+	fileB
+	fileBC
+	sub/fileAB
+	sub/fileB
+	EOF
+	git ls-files ":(attr:labelB)" ":(exclude,attr:labelC)sub/" >actual &&
+	test_cmp expect actual
+'
+
+test_expect_success 'fail on multiple attr specifiers in one pathspec item' '
+	test_must_fail git ls-files . ":(attr:labelB,attr:labelC)" 2>actual &&
+	test_i18ngrep "Only one" actual
+'
+
+test_expect_success 'fail if attr magic is used places not implemented' '
+	# The main purpose of this test is to check that we actually fail
+	# when you attempt to use attr magic in commands that do not implement
+	# attr magic. This test does not advocate git-add to stay that way,
+	# though, but git-add is convenient as it has its own internal pathspec
+	# parsing.
+	test_must_fail git add ":(attr:labelB)" 2>actual &&
+	test_i18ngrep "unsupported magic" actual
+'
+
+test_expect_success 'abort on giving invalid label on the command line' '
+	test_must_fail git ls-files . ":(attr:☺)"
+'
+
+test_expect_success 'abort on asking for wrong magic' '
+	test_must_fail git ls-files . ":(attr:-label=foo)" &&
+	test_must_fail git ls-files . ":(attr:!label=foo)"
+'
+
+test_expect_success 'check attribute list' '
+	cat <<-EOF >>.gitattributes &&
+	* whitespace=indent,trail,space
+	EOF
+	git ls-files ":(attr:whitespace=indent\,trail\,space)" >actual &&
+	git ls-files >expect &&
+	test_cmp expect actual
+'
+
+test_expect_success 'backslash cannot be the last character' '
+	test_must_fail git ls-files ":(attr:label=foo\\ labelA=bar)" 2>actual &&
+	test_i18ngrep "not allowed as last character in attr value" actual
+'
+
+test_expect_success 'backslash cannot be used as a value' '
+	test_must_fail git ls-files ":(attr:label=f\\\oo)" 2>actual &&
+	test_i18ngrep "for value matching" actual
+'
+
+test_done
diff --git a/t/t6300-for-each-ref.sh b/t/t6300-for-each-ref.sh
index 039509a..834a9ed 100755
--- a/t/t6300-for-each-ref.sh
+++ b/t/t6300-for-each-ref.sh
@@ -38,6 +38,7 @@
 	case "$1" in
 		head) ref=refs/heads/master ;;
 		 tag) ref=refs/tags/testtag ;;
+		 sym) ref=refs/heads/sym ;;
 		   *) ref=$1 ;;
 	esac
 	printf '%s\n' "$3" >expected
@@ -50,16 +51,40 @@
 
 test_atom head refname refs/heads/master
 test_atom head refname:short master
+test_atom head refname:lstrip=1 heads/master
+test_atom head refname:lstrip=2 master
+test_atom head refname:lstrip=-1 master
+test_atom head refname:lstrip=-2 heads/master
+test_atom head refname:rstrip=1 refs/heads
+test_atom head refname:rstrip=2 refs
+test_atom head refname:rstrip=-1 refs
+test_atom head refname:rstrip=-2 refs/heads
 test_atom head refname:strip=1 heads/master
 test_atom head refname:strip=2 master
+test_atom head refname:strip=-1 master
+test_atom head refname:strip=-2 heads/master
 test_atom head upstream refs/remotes/origin/master
 test_atom head upstream:short origin/master
+test_atom head upstream:lstrip=2 origin/master
+test_atom head upstream:lstrip=-2 origin/master
+test_atom head upstream:rstrip=2 refs/remotes
+test_atom head upstream:rstrip=-2 refs/remotes
+test_atom head upstream:strip=2 origin/master
+test_atom head upstream:strip=-2 origin/master
 test_atom head push refs/remotes/myfork/master
 test_atom head push:short myfork/master
+test_atom head push:lstrip=1 remotes/myfork/master
+test_atom head push:lstrip=-1 master
+test_atom head push:rstrip=1 refs/remotes/myfork
+test_atom head push:rstrip=-1 refs
+test_atom head push:strip=1 remotes/myfork/master
+test_atom head push:strip=-1 master
 test_atom head objecttype commit
 test_atom head objectsize 171
 test_atom head objectname $(git rev-parse refs/heads/master)
 test_atom head objectname:short $(git rev-parse --short refs/heads/master)
+test_atom head objectname:short=1 $(git rev-parse --short=1 refs/heads/master)
+test_atom head objectname:short=10 $(git rev-parse --short=10 refs/heads/master)
 test_atom head tree $(git rev-parse refs/heads/master^{tree})
 test_atom head parent ''
 test_atom head numparent 0
@@ -99,6 +124,8 @@
 test_atom tag objectsize 154
 test_atom tag objectname $(git rev-parse refs/tags/testtag)
 test_atom tag objectname:short $(git rev-parse --short refs/tags/testtag)
+test_atom head objectname:short=1 $(git rev-parse --short=1 refs/heads/master)
+test_atom head objectname:short=10 $(git rev-parse --short=10 refs/heads/master)
 test_atom tag tree ''
 test_atom tag parent ''
 test_atom tag numparent ''
@@ -134,16 +161,6 @@
 	test_must_fail git for-each-ref --format="%(INVALID)" refs/heads
 '
 
-test_expect_success 'arguments to :strip must be positive integers' '
-	test_must_fail git for-each-ref --format="%(refname:strip=0)" &&
-	test_must_fail git for-each-ref --format="%(refname:strip=-1)" &&
-	test_must_fail git for-each-ref --format="%(refname:strip=foo)"
-'
-
-test_expect_success 'stripping refnames too far gives an error' '
-	test_must_fail git for-each-ref --format="%(refname:strip=3)"
-'
-
 test_expect_success 'Check format specifiers are ignored in naming date atoms' '
 	git for-each-ref --format="%(authordate)" refs/heads &&
 	git for-each-ref --format="%(authordate:default) %(authordate)" refs/heads &&
@@ -164,6 +181,12 @@
 	test_must_fail git for-each-ref --format="%(authordate:INVALID)" refs/heads
 '
 
+test_expect_success 'arguments to %(objectname:short=) must be positive integers' '
+	test_must_fail git for-each-ref --format="%(objectname:short=0)" &&
+	test_must_fail git for-each-ref --format="%(objectname:short=-1)" &&
+	test_must_fail git for-each-ref --format="%(objectname:short=foo)"
+'
+
 test_date () {
 	f=$1 &&
 	committer_date=$2 &&
@@ -362,6 +385,8 @@
 
 test_atom head upstream:track '[ahead 1]'
 test_atom head upstream:trackshort '>'
+test_atom head upstream:track,nobracket 'ahead 1'
+test_atom head upstream:nobracket,track 'ahead 1'
 test_atom head push:track '[ahead 1]'
 test_atom head push:trackshort '>'
 
@@ -372,7 +397,7 @@
 
 test_expect_success 'Check that :track[short] works when upstream is invalid' '
 	cat >expected <<-\EOF &&
-
+	[gone]
 
 	EOF
 	test_when_finished "git config branch.master.merge refs/heads/master" &&
@@ -554,13 +579,87 @@
 	test_cmp expected actual
 '
 
+
 test_expect_success 'do not dereference NULL upon %(HEAD) on unborn branch' '
 	test_when_finished "git checkout master" &&
 	git for-each-ref --format="%(HEAD) %(refname:short)" refs/heads/ >actual &&
 	sed -e "s/^\* /  /" actual >expect &&
-	git checkout --orphan HEAD &&
+	git checkout --orphan orphaned-branch &&
 	git for-each-ref --format="%(HEAD) %(refname:short)" refs/heads/ >actual &&
 	test_cmp expect actual
 '
 
+cat >trailers <<EOF
+Reviewed-by: A U Thor <author@example.com>
+Signed-off-by: A U Thor <author@example.com>
+EOF
+
+test_expect_success 'basic atom: head contents:trailers' '
+	echo "Some contents" > two &&
+	git add two &&
+	git commit -F - <<-EOF &&
+	trailers: this commit message has trailers
+
+	Some message contents
+
+	$(cat trailers)
+	EOF
+	git for-each-ref --format="%(contents:trailers)" refs/heads/master >actual &&
+	sanitize_pgp <actual >actual.clean &&
+	# git for-each-ref ends with a blank line
+	cat >expect <<-EOF &&
+	$(cat trailers)
+
+	EOF
+	test_cmp expect actual.clean
+'
+
+test_expect_success 'Add symbolic ref for the following tests' '
+	git symbolic-ref refs/heads/sym refs/heads/master
+'
+
+cat >expected <<EOF
+refs/heads/master
+EOF
+
+test_expect_success 'Verify usage of %(symref) atom' '
+	git for-each-ref --format="%(symref)" refs/heads/sym >actual &&
+	test_cmp expected actual
+'
+
+cat >expected <<EOF
+heads/master
+EOF
+
+test_expect_success 'Verify usage of %(symref:short) atom' '
+	git for-each-ref --format="%(symref:short)" refs/heads/sym >actual &&
+	test_cmp expected actual
+'
+
+cat >expected <<EOF
+master
+heads/master
+EOF
+
+test_expect_success 'Verify usage of %(symref:lstrip) atom' '
+	git for-each-ref --format="%(symref:lstrip=2)" refs/heads/sym > actual &&
+	git for-each-ref --format="%(symref:lstrip=-2)" refs/heads/sym >> actual &&
+	test_cmp expected actual &&
+
+	git for-each-ref --format="%(symref:strip=2)" refs/heads/sym > actual &&
+	git for-each-ref --format="%(symref:strip=-2)" refs/heads/sym >> actual &&
+	test_cmp expected actual
+'
+
+cat >expected <<EOF
+refs
+refs/heads
+EOF
+
+test_expect_success 'Verify usage of %(symref:rstrip) atom' '
+	git for-each-ref --format="%(symref:rstrip=2)" refs/heads/sym > actual &&
+	git for-each-ref --format="%(symref:rstrip=-2)" refs/heads/sym >> actual &&
+	test_cmp expected actual
+'
+
 test_done
diff --git a/t/t6302-for-each-ref-filter.sh b/t/t6302-for-each-ref-filter.sh
index d0ab09f..fc067ed 100755
--- a/t/t6302-for-each-ref-filter.sh
+++ b/t/t6302-for-each-ref-filter.sh
@@ -93,6 +93,22 @@
 	test_cmp expect actual
 '
 
+test_expect_success 'filtering with --no-contains' '
+	cat >expect <<-\EOF &&
+	refs/tags/one
+	EOF
+	git for-each-ref --format="%(refname)" --no-contains=two >actual &&
+	test_cmp expect actual
+'
+
+test_expect_success 'filtering with --contains and --no-contains' '
+	cat >expect <<-\EOF &&
+	refs/tags/two
+	EOF
+	git for-each-ref --format="%(refname)" --contains=two --no-contains=three >actual &&
+	test_cmp expect actual
+'
+
 test_expect_success '%(color) must fail' '
 	test_must_fail git for-each-ref --format="%(color)%(refname)"
 '
@@ -327,4 +343,102 @@
 	test_cmp expect actual
 '
 
+test_expect_success 'improper usage of %(if), %(then), %(else) and %(end) atoms' '
+	test_must_fail git for-each-ref --format="%(if)" &&
+	test_must_fail git for-each-ref --format="%(then) %(end)" &&
+	test_must_fail git for-each-ref --format="%(else) %(end)" &&
+	test_must_fail git for-each-ref --format="%(if) %(else) %(end)" &&
+	test_must_fail git for-each-ref --format="%(if) %(then) %(then) %(end)" &&
+	test_must_fail git for-each-ref --format="%(then) %(else) %(end)" &&
+	test_must_fail git for-each-ref --format="%(if) %(else) %(end)" &&
+	test_must_fail git for-each-ref --format="%(if) %(then) %(else)" &&
+	test_must_fail git for-each-ref --format="%(if) %(else) %(then) %(end)" &&
+	test_must_fail git for-each-ref --format="%(if) %(then) %(else) %(else) %(end)" &&
+	test_must_fail git for-each-ref --format="%(if) %(end)"
+'
+
+test_expect_success 'check %(if)...%(then)...%(end) atoms' '
+	git for-each-ref --format="%(refname)%(if)%(authorname)%(then) Author: %(authorname)%(end)" >actual &&
+	cat >expect <<-\EOF &&
+	refs/heads/master Author: A U Thor
+	refs/heads/side Author: A U Thor
+	refs/odd/spot Author: A U Thor
+	refs/tags/annotated-tag
+	refs/tags/doubly-annotated-tag
+	refs/tags/doubly-signed-tag
+	refs/tags/foo1.10 Author: A U Thor
+	refs/tags/foo1.3 Author: A U Thor
+	refs/tags/foo1.6 Author: A U Thor
+	refs/tags/four Author: A U Thor
+	refs/tags/one Author: A U Thor
+	refs/tags/signed-tag
+	refs/tags/three Author: A U Thor
+	refs/tags/two Author: A U Thor
+	EOF
+	test_cmp expect actual
+'
+
+test_expect_success 'check %(if)...%(then)...%(else)...%(end) atoms' '
+	git for-each-ref --format="%(if)%(authorname)%(then)%(authorname)%(else)No author%(end): %(refname)" >actual &&
+	cat >expect <<-\EOF &&
+	A U Thor: refs/heads/master
+	A U Thor: refs/heads/side
+	A U Thor: refs/odd/spot
+	No author: refs/tags/annotated-tag
+	No author: refs/tags/doubly-annotated-tag
+	No author: refs/tags/doubly-signed-tag
+	A U Thor: refs/tags/foo1.10
+	A U Thor: refs/tags/foo1.3
+	A U Thor: refs/tags/foo1.6
+	A U Thor: refs/tags/four
+	A U Thor: refs/tags/one
+	No author: refs/tags/signed-tag
+	A U Thor: refs/tags/three
+	A U Thor: refs/tags/two
+	EOF
+	test_cmp expect actual
+'
+test_expect_success 'ignore spaces in %(if) atom usage' '
+	git for-each-ref --format="%(refname:short): %(if)%(HEAD)%(then)Head ref%(else)Not Head ref%(end)" >actual &&
+	cat >expect <<-\EOF &&
+	master: Head ref
+	side: Not Head ref
+	odd/spot: Not Head ref
+	annotated-tag: Not Head ref
+	doubly-annotated-tag: Not Head ref
+	doubly-signed-tag: Not Head ref
+	foo1.10: Not Head ref
+	foo1.3: Not Head ref
+	foo1.6: Not Head ref
+	four: Not Head ref
+	one: Not Head ref
+	signed-tag: Not Head ref
+	three: Not Head ref
+	two: Not Head ref
+	EOF
+	test_cmp expect actual
+'
+
+test_expect_success 'check %(if:equals=<string>)' '
+	git for-each-ref --format="%(if:equals=master)%(refname:short)%(then)Found master%(else)Not master%(end)" refs/heads/ >actual &&
+	cat >expect <<-\EOF &&
+	Found master
+	Not master
+	EOF
+	test_cmp expect actual
+'
+
+test_expect_success 'check %(if:notequals=<string>)' '
+	git for-each-ref --format="%(if:notequals=master)%(refname:short)%(then)Not master%(else)Found master%(end)" refs/heads/ >actual &&
+	cat >expect <<-\EOF &&
+	Found master
+	Not master
+	EOF
+	test_cmp expect actual
+'
+
+test_expect_success '--merged is incompatible with --no-merged' '
+	test_must_fail git for-each-ref --merged HEAD --no-merged HEAD
+'
+
 test_done
diff --git a/t/t6500-gc.sh b/t/t6500-gc.sh
index 1762dfa..cc7acd1 100755
--- a/t/t6500-gc.sh
+++ b/t/t6500-gc.sh
@@ -67,5 +67,36 @@
 	test_line_count = 2 new # There is one new pack and its .idx
 '
 
+run_and_wait_for_auto_gc () {
+	# We read stdout from gc for the side effect of waiting until the
+	# background gc process exits, closing its fd 9.  Furthermore, the
+	# variable assignment from a command substitution preserves the
+	# exit status of the main gc process.
+	# Note: this fd trickery doesn't work on Windows, but there is no
+	# need to, because on Win the auto gc always runs in the foreground.
+	doesnt_matter=$(git gc --auto 9>&1)
+}
+
+test_expect_success 'background auto gc does not run if gc.log is present and recent but does if it is old' '
+	test_commit foo &&
+	test_commit bar &&
+	git repack &&
+	test_config gc.autopacklimit 1 &&
+	test_config gc.autodetach true &&
+	echo fleem >.git/gc.log &&
+	test_must_fail git gc --auto 2>err &&
+	test_i18ngrep "^error:" err &&
+	test_config gc.logexpiry 5.days &&
+	test-chmtime =-345600 .git/gc.log &&
+	test_must_fail git gc --auto &&
+	test_config gc.logexpiry 2.days &&
+	run_and_wait_for_auto_gc &&
+	ls .git/objects/pack/pack-*.pack >packs &&
+	test_line_count = 1 packs
+'
+
+# DO NOT leave a detached auto gc process running near the end of the
+# test script: it can run long enough in the background to racily
+# interfere with the cleanup in 'test_done'.
 
 test_done
diff --git a/t/t7003-filter-branch.sh b/t/t7003-filter-branch.sh
index cb8fbd8..7cb6079 100755
--- a/t/t7003-filter-branch.sh
+++ b/t/t7003-filter-branch.sh
@@ -313,6 +313,27 @@
 	git cat-file tag X/2 > actual &&
 	test_cmp expect actual
 '
+test_expect_success 'setup --prune-empty comparisons' '
+	git checkout --orphan master-no-a &&
+	git rm -rf . &&
+	unset test_tick &&
+	test_tick &&
+	GIT_COMMITTER_DATE="@0 +0000" GIT_AUTHOR_DATE="@0 +0000" &&
+	test_commit --notick B B.t B Bx &&
+	git checkout -b branch-no-a Bx &&
+	test_commit D D.t D Dx &&
+	mkdir dir &&
+	test_commit dir/D dir/D.t dir/D dir/Dx &&
+	test_commit E E.t E Ex &&
+	git checkout master-no-a &&
+	test_commit C C.t C Cx &&
+	git checkout branch-no-a &&
+	git merge Cx -m "Merge tag '\''C'\'' into branch" &&
+	git tag Fx &&
+	test_commit G G.t G Gx &&
+	test_commit H H.t H Hx &&
+	git checkout branch
+'
 
 test_expect_success 'Prune empty commits' '
 	git rev-list HEAD > expect &&
@@ -341,6 +362,22 @@
 	test_cmp expect actual
 '
 
+test_expect_success '--prune-empty is able to prune root commit' '
+	git rev-list branch-no-a >expect &&
+	git branch testing H &&
+	git filter-branch -f --prune-empty --index-filter "git update-index --remove A.t" testing &&
+	git rev-list testing >actual &&
+	git branch -D testing &&
+	test_cmp expect actual
+'
+
+test_expect_success '--prune-empty is able to prune entire branch' '
+	git branch prune-entire B &&
+	git filter-branch -f --prune-empty --index-filter "git update-index --remove A.t B.t" prune-entire &&
+	test_path_is_missing .git/refs/heads/prune-entire &&
+	test_must_fail git reflog exists refs/heads/prune-entire
+'
+
 test_expect_success '--remap-to-ancestor with filename filters' '
 	git checkout master &&
 	git reset --hard A &&
diff --git a/t/t7004-tag.sh b/t/t7004-tag.sh
index 8b0f71a..bb2e4d7 100755
--- a/t/t7004-tag.sh
+++ b/t/t7004-tag.sh
@@ -16,7 +16,6 @@
 	git show-ref --quiet --verify refs/tags/"$1"
 }
 
-# todo: git tag -l now returns always zero, when fixed, change this test
 test_expect_success 'listing all tags in an empty tree should succeed' '
 	git tag -l &&
 	git tag
@@ -27,6 +26,30 @@
 	test $(git tag | wc -l) -eq 0
 '
 
+test_expect_success 'sort tags, ignore case' '
+	(
+		git init sort &&
+		cd sort &&
+		test_commit initial &&
+		git tag tag-one &&
+		git tag TAG-two &&
+		git tag -l >actual &&
+		cat >expected <<-\EOF &&
+		TAG-two
+		initial
+		tag-one
+		EOF
+		test_cmp expected actual &&
+		git tag -l -i >actual &&
+		cat >expected <<-\EOF &&
+		initial
+		tag-one
+		TAG-two
+		EOF
+		test_cmp expected actual
+	)
+'
+
 test_expect_success 'looking for a tag in an empty tree should fail' \
 	'! (tag_exists mytag)'
 
@@ -47,6 +70,7 @@
 
 # commit used in the tests, test_tick is also called here to freeze the date:
 test_expect_success 'creating a tag using default HEAD should succeed' '
+	test_config core.logAllRefUpdates true &&
 	test_tick &&
 	echo foo >foo &&
 	git add foo &&
@@ -56,9 +80,25 @@
 '
 
 test_expect_success 'creating a tag with --create-reflog should create reflog' '
+	git log -1 \
+		--format="format:tag: tagging %h (%s, %cd)%n" \
+		--date=format:%Y-%m-%d >expected &&
 	test_when_finished "git tag -d tag_with_reflog" &&
 	git tag --create-reflog tag_with_reflog &&
-	git reflog exists refs/tags/tag_with_reflog
+	git reflog exists refs/tags/tag_with_reflog &&
+	sed -e "s/^.*	//" .git/logs/refs/tags/tag_with_reflog >actual &&
+	test_cmp expected actual
+'
+
+test_expect_success 'annotated tag with --create-reflog has correct message' '
+	git log -1 \
+		--format="format:tag: tagging %h (%s, %cd)%n" \
+		--date=format:%Y-%m-%d >expected &&
+	test_when_finished "git tag -d tag_with_reflog" &&
+	git tag -m "annotated tag" --create-reflog tag_with_reflog &&
+	git reflog exists refs/tags/tag_with_reflog &&
+	sed -e "s/^.*	//" .git/logs/refs/tags/tag_with_reflog >actual &&
+	test_cmp expected actual
 '
 
 test_expect_success '--create-reflog does not create reflog on failure' '
@@ -66,11 +106,30 @@
 	test_must_fail git reflog exists refs/tags/mytag
 '
 
+test_expect_success 'option core.logAllRefUpdates=always creates reflog' '
+	test_when_finished "git tag -d tag_with_reflog" &&
+	test_config core.logAllRefUpdates always &&
+	git tag tag_with_reflog &&
+	git reflog exists refs/tags/tag_with_reflog
+'
+
 test_expect_success 'listing all tags if one exists should succeed' '
 	git tag -l &&
 	git tag
 '
 
+cat >expect <<EOF
+mytag
+EOF
+test_expect_success 'Multiple -l or --list options are equivalent to one -l option' '
+	git tag -l -l >actual &&
+	test_cmp expect actual &&
+	git tag --list --list >actual &&
+	test_cmp expect actual &&
+	git tag --list -l --list >actual &&
+	test_cmp expect actual
+'
+
 test_expect_success 'listing all tags if one exists should output that tag' '
 	test $(git tag -l) = mytag &&
 	test $(git tag) = mytag
@@ -81,13 +140,15 @@
 test_expect_success 'listing a tag using a matching pattern should succeed' \
 	'git tag -l mytag'
 
+test_expect_success 'listing a tag with --ignore-case' \
+	'test $(git tag -l --ignore-case MYTAG) = mytag'
+
 test_expect_success \
 	'listing a tag using a matching pattern should output that tag' \
 	'test $(git tag -l mytag) = mytag'
 
-# todo: git tag -l now returns always zero, when fixed, change this test
 test_expect_success \
-	'listing tags using a non-matching pattern should suceed' \
+	'listing tags using a non-matching pattern should succeed' \
 	'git tag -l xxx'
 
 test_expect_success \
@@ -122,11 +183,11 @@
 	tag_exists mytag'
 
 test_expect_success '--force is moot with a non-existing tag name' '
+	test_when_finished git tag -d newtag forcetag &&
 	git tag newtag >expect &&
 	git tag --force forcetag >actual &&
 	test_cmp expect actual
 '
-git tag -d newtag forcetag
 
 # deleting tags:
 
@@ -287,6 +348,19 @@
 	test_cmp expect actual
 '
 
+# Between v1.7.7 & v2.13.0 a fair reading of the git-tag documentation
+# could leave you with the impression that "-l <pattern> -l <pattern>"
+# was how we wanted to accept multiple patterns.
+#
+# This test should not imply that this is a sane thing to support. but
+# since the documentation was worded like it was let's at least find
+# out if we're going to break this long-documented form of taking
+# multiple patterns.
+test_expect_success 'tag -l <pattern> -l <pattern> works, as our buggy documentation previously suggested' '
+	git tag -l "v1*" -l "v0*" >actual &&
+	test_cmp expect actual
+'
+
 test_expect_success 'listing tags in column' '
 	COLUMNS=40 git tag -l --column=row >actual &&
 	cat >expected <<\EOF &&
@@ -297,11 +371,9 @@
 '
 
 test_expect_success 'listing tags in column with column.*' '
-	git config column.tag row &&
-	git config column.ui dense &&
+	test_config column.tag row &&
+	test_config column.ui dense &&
 	COLUMNS=40 git tag -l >actual &&
-	git config --unset column.ui &&
-	git config --unset column.tag &&
 	cat >expected <<\EOF &&
 a1      aa1   cba     t210    t211
 v0.2.1  v1.0  v1.0.1  v1.1.3
@@ -314,9 +386,8 @@
 '
 
 test_expect_success 'listing tags -n in column with column.ui ignored' '
-	git config column.ui "row dense" &&
+	test_config column.ui "row dense" &&
 	COLUMNS=40 git tag -l -n >actual &&
-	git config --unset column.ui &&
 	cat >expected <<\EOF &&
 a1              Foo
 aa1             Foo
@@ -572,6 +643,11 @@
 	git tag -n0 -l tag-one-line >actual &&
 	test_cmp expect actual &&
 
+	git tag -n0 | grep "^tag-one-line" >actual &&
+	test_cmp expect actual &&
+	git tag -n0 tag-one-line >actual &&
+	test_cmp expect actual &&
+
 	echo "tag-one-line    A msg" >expect &&
 	git tag -n1 -l | grep "^tag-one-line" >actual &&
 	test_cmp expect actual &&
@@ -585,6 +661,17 @@
 	test_cmp expect actual
 '
 
+test_expect_success 'The -n 100 invocation means -n --list 100, not -n100' '
+	>expect &&
+	git tag -n 100 >actual &&
+	test_cmp expect actual &&
+
+	git tag -m "A msg" 100 &&
+	echo "100             A msg" >expect &&
+	git tag -n 100 >actual &&
+	test_cmp expect actual
+'
+
 test_expect_success \
 	'listing the zero-lines message of a non-signed tag should succeed' '
 	git tag -m "" tag-zero-lines &&
@@ -847,6 +934,20 @@
 	test_must_fail git tag -v forged-tag
 '
 
+test_expect_success GPG 'verifying a proper tag with --format pass and format accordingly' '
+	cat >expect <<-\EOF &&
+	tagname : signed-tag
+	EOF
+	git tag -v --format="tagname : %(tag)" "signed-tag" >actual &&
+	test_cmp expect actual
+'
+
+test_expect_success GPG 'verifying a forged tag with --format should fail silently' '
+	>expect &&
+	test_must_fail git tag -v --format="tagname : %(tag)" "forged-tag" >actual &&
+	test_cmp expect actual
+'
+
 # blank and empty messages for signed tags:
 
 get_tag_header empty-signed-tag $commit commit $time >expect
@@ -1200,11 +1301,10 @@
 '
 
 # try to sign with bad user.signingkey
-git config user.signingkey BobTheMouse
 test_expect_success GPG \
 	'git tag -s fails if gpg is misconfigured (bad key)' \
-	'test_must_fail git tag -s -m tail tag-gpg-failure'
-git config --unset user.signingkey
+	'test_config user.signingkey BobTheMouse &&
+	test_must_fail git tag -s -m tail tag-gpg-failure'
 
 # try to produce invalid signature
 test_expect_success GPG \
@@ -1322,6 +1422,23 @@
 	test_cmp expected actual
 "
 
+# All the --contains tests above, but with --no-contains
+test_expect_success 'checking that first commit is not listed in any tag with --no-contains  (hash)' "
+	>expected &&
+	git tag -l --no-contains $hash1 v* >actual &&
+	test_cmp expected actual
+"
+
+test_expect_success 'checking that first commit is in all tags (tag)' "
+	git tag -l --no-contains v1.0 v* >actual &&
+	test_cmp expected actual
+"
+
+test_expect_success 'checking that first commit is in all tags (relative)' "
+	git tag -l --no-contains HEAD~2 v* >actual &&
+	test_cmp expected actual
+"
+
 cat > expected <<EOF
 v2.0
 EOF
@@ -1331,6 +1448,17 @@
 	test_cmp expected actual
 "
 
+cat > expected <<EOF
+v0.2.1
+v1.0
+v1.0.1
+v1.1.3
+EOF
+
+test_expect_success 'inverse of the last test, with --no-contains' "
+	git tag -l --no-contains $hash2 v* >actual &&
+	test_cmp expected actual
+"
 
 cat > expected <<EOF
 EOF
@@ -1340,6 +1468,19 @@
 	test_cmp expected actual
 "
 
+cat > expected <<EOF
+v0.2.1
+v1.0
+v1.0.1
+v1.1.3
+v2.0
+EOF
+
+test_expect_success 'conversely --no-contains on the third commit lists all tags' "
+	git tag -l --no-contains $hash3 v* >actual &&
+	test_cmp expected actual
+"
+
 # how about a simple merge?
 
 test_expect_success 'creating simple branch' '
@@ -1361,6 +1502,19 @@
 	test_cmp expected actual
 "
 
+cat > expected <<EOF
+v0.2.1
+v1.0
+v1.0.1
+v1.1.3
+v2.0
+EOF
+
+test_expect_success 'checking that branch head with --no-contains lists all but one tag' "
+	git tag -l --no-contains $hash4 v* >actual &&
+	test_cmp expected actual
+"
+
 test_expect_success 'merging original branch into this branch' '
 	git merge --strategy=ours master &&
         git tag v4.0
@@ -1382,6 +1536,20 @@
 v1.1.3
 v2.0
 v3.0
+EOF
+
+test_expect_success 'checking that original branch head with --no-contains lists all but one tag now' "
+	git tag -l --no-contains $hash3 v* >actual &&
+	test_cmp expected actual
+"
+
+cat > expected <<EOF
+v0.2.1
+v1.0
+v1.0.1
+v1.1.3
+v2.0
+v3.0
 v4.0
 EOF
 
@@ -1390,21 +1558,76 @@
 	test_cmp expected actual
 "
 
+test_expect_success 'checking that --contains can be used in non-list mode' '
+	git tag --contains $hash1 v* >actual &&
+	test_cmp expected actual
+'
+
+test_expect_success 'checking that initial commit is in all tags with --no-contains' "
+	>expected &&
+	git tag -l --no-contains $hash1 v* >actual &&
+	test_cmp expected actual
+"
+
 # mixing modes and options:
 
 test_expect_success 'mixing incompatibles modes and options is forbidden' '
 	test_must_fail git tag -a &&
+	test_must_fail git tag -a -l &&
+	test_must_fail git tag -s &&
+	test_must_fail git tag -s -l &&
+	test_must_fail git tag -m &&
+	test_must_fail git tag -m -l &&
+	test_must_fail git tag -m "hlagh" &&
+	test_must_fail git tag -m "hlagh" -l &&
+	test_must_fail git tag -F &&
+	test_must_fail git tag -F -l &&
+	test_must_fail git tag -f &&
+	test_must_fail git tag -f -l &&
+	test_must_fail git tag -a -s -m -F &&
+	test_must_fail git tag -a -s -m -F -l &&
 	test_must_fail git tag -l -v &&
-	test_must_fail git tag -n 100 &&
+	test_must_fail git tag -l -d &&
+	test_must_fail git tag -l -v -d &&
+	test_must_fail git tag -n 100 -v &&
 	test_must_fail git tag -l -m msg &&
 	test_must_fail git tag -l -F some file &&
-	test_must_fail git tag -v -s
+	test_must_fail git tag -v -s &&
+	test_must_fail git tag --contains tag-tree &&
+	test_must_fail git tag --contains tag-blob &&
+	test_must_fail git tag --no-contains tag-tree &&
+	test_must_fail git tag --no-contains tag-blob &&
+	test_must_fail git tag --contains --no-contains &&
+	test_must_fail git tag --no-with HEAD &&
+	test_must_fail git tag --no-without HEAD
 '
 
+for option in --contains --with --no-contains --without --merged --no-merged --points-at
+do
+	test_expect_success "mixing incompatible modes with $option is forbidden" "
+		test_must_fail git tag -d $option HEAD &&
+		test_must_fail git tag -d $option HEAD some-tag &&
+		test_must_fail git tag -v $option HEAD
+	"
+	test_expect_success "Doing 'git tag --list-like $option <commit> <pattern> is permitted" "
+		git tag -n $option HEAD HEAD &&
+		git tag $option HEAD HEAD &&
+		git tag $option
+	"
+done
+
 # check points-at
 
-test_expect_success '--points-at cannot be used in non-list mode' '
-	test_must_fail git tag --points-at=v4.0 foo
+test_expect_success '--points-at can be used in non-list mode' '
+	echo v4.0 >expect &&
+	git tag --points-at=v4.0 "v*" >actual &&
+	test_cmp expect actual
+'
+
+test_expect_success '--points-at is a synonym for --points-at HEAD' '
+	echo v4.0 >expect &&
+	git tag --points-at >actual &&
+	test_cmp expect actual
 '
 
 test_expect_success '--points-at finds lightweight tags' '
@@ -1484,7 +1707,7 @@
 '
 
 test_expect_success 'configured lexical sort' '
-	git config tag.sort "v:refname" &&
+	test_config tag.sort "v:refname" &&
 	git tag -l "foo*" >actual &&
 	cat >expect <<-\EOF &&
 	foo1.3
@@ -1495,6 +1718,7 @@
 '
 
 test_expect_success 'option override configured sort' '
+	test_config tag.sort "v:refname" &&
 	git tag -l --sort=-refname "foo*" >actual &&
 	cat >expect <<-\EOF &&
 	foo1.6
@@ -1509,13 +1733,12 @@
 '
 
 test_expect_success 'invalid sort parameter in configuratoin' '
-	git config tag.sort "v:notvalid" &&
+	test_config tag.sort "v:notvalid" &&
 	test_must_fail git tag -l "foo*"
 '
 
 test_expect_success 'version sort with prerelease reordering' '
-	git config --unset tag.sort &&
-	git config versionsort.prereleaseSuffix -rc &&
+	test_config versionsort.prereleaseSuffix -rc &&
 	git tag foo1.6-rc1 &&
 	git tag foo1.6-rc2 &&
 	git tag -l --sort=version:refname "foo*" >actual &&
@@ -1530,6 +1753,7 @@
 '
 
 test_expect_success 'reverse version sort with prerelease reordering' '
+	test_config versionsort.prereleaseSuffix -rc &&
 	git tag -l --sort=-version:refname "foo*" >actual &&
 	cat >expect <<-\EOF &&
 	foo1.10
@@ -1541,6 +1765,103 @@
 	test_cmp expect actual
 '
 
+test_expect_success 'version sort with prerelease reordering and common leading character' '
+	test_config versionsort.prereleaseSuffix -before &&
+	git tag foo1.7-before1 &&
+	git tag foo1.7 &&
+	git tag foo1.7-after1 &&
+	git tag -l --sort=version:refname "foo1.7*" >actual &&
+	cat >expect <<-\EOF &&
+	foo1.7-before1
+	foo1.7
+	foo1.7-after1
+	EOF
+	test_cmp expect actual
+'
+
+test_expect_success 'version sort with prerelease reordering, multiple suffixes and common leading character' '
+	test_config versionsort.prereleaseSuffix -before &&
+	git config --add versionsort.prereleaseSuffix -after &&
+	git tag -l --sort=version:refname "foo1.7*" >actual &&
+	cat >expect <<-\EOF &&
+	foo1.7-before1
+	foo1.7-after1
+	foo1.7
+	EOF
+	test_cmp expect actual
+'
+
+test_expect_success 'version sort with prerelease reordering, multiple suffixes match the same tag' '
+	test_config versionsort.prereleaseSuffix -bar &&
+	git config --add versionsort.prereleaseSuffix -foo-baz &&
+	git config --add versionsort.prereleaseSuffix -foo-bar &&
+	git tag foo1.8-foo-bar &&
+	git tag foo1.8-foo-baz &&
+	git tag foo1.8 &&
+	git tag -l --sort=version:refname "foo1.8*" >actual &&
+	cat >expect <<-\EOF &&
+	foo1.8-foo-baz
+	foo1.8-foo-bar
+	foo1.8
+	EOF
+	test_cmp expect actual
+'
+
+test_expect_success 'version sort with prerelease reordering, multiple suffixes match starting at the same position' '
+	test_config versionsort.prereleaseSuffix -pre &&
+	git config --add versionsort.prereleaseSuffix -prerelease &&
+	git tag foo1.9-pre1 &&
+	git tag foo1.9-pre2 &&
+	git tag foo1.9-prerelease1 &&
+	git tag -l --sort=version:refname "foo1.9*" >actual &&
+	cat >expect <<-\EOF &&
+	foo1.9-pre1
+	foo1.9-pre2
+	foo1.9-prerelease1
+	EOF
+	test_cmp expect actual
+'
+
+test_expect_success 'version sort with general suffix reordering' '
+	test_config versionsort.suffix -alpha &&
+	git config --add versionsort.suffix -beta &&
+	git config --add versionsort.suffix ""  &&
+	git config --add versionsort.suffix -gamma &&
+	git config --add versionsort.suffix -delta &&
+	git tag foo1.10-alpha &&
+	git tag foo1.10-beta &&
+	git tag foo1.10-gamma &&
+	git tag foo1.10-delta &&
+	git tag foo1.10-unlisted-suffix &&
+	git tag -l --sort=version:refname "foo1.10*" >actual &&
+	cat >expect <<-\EOF &&
+	foo1.10-alpha
+	foo1.10-beta
+	foo1.10
+	foo1.10-unlisted-suffix
+	foo1.10-gamma
+	foo1.10-delta
+	EOF
+	test_cmp expect actual
+'
+
+test_expect_success 'versionsort.suffix overrides versionsort.prereleaseSuffix' '
+	test_config versionsort.suffix -before &&
+	test_config versionsort.prereleaseSuffix -after &&
+	git tag -l --sort=version:refname "foo1.7*" >actual &&
+	cat >expect <<-\EOF &&
+	foo1.7-before1
+	foo1.7
+	foo1.7-after1
+	EOF
+	test_cmp expect actual
+'
+
+test_expect_success 'version sort with very long prerelease suffix' '
+	test_config versionsort.prereleaseSuffix -very-looooooooooooooooooooooooong-prerelease-suffix &&
+	git tag -l --sort=version:refname
+'
+
 run_with_limited_stack () {
 	(ulimit -s 128 && "$@")
 }
@@ -1548,7 +1869,7 @@
 test_lazy_prereq ULIMIT_STACK_SIZE 'run_with_limited_stack true'
 
 # we require ulimit, this excludes Windows
-test_expect_success ULIMIT_STACK_SIZE '--contains works in a deep repo' '
+test_expect_success ULIMIT_STACK_SIZE '--contains and --no-contains work in a deep repo' '
 	>expect &&
 	i=1 &&
 	while test $i -lt 8000
@@ -1564,18 +1885,18 @@
 	git checkout master &&
 	git tag far-far-away HEAD^ &&
 	run_with_limited_stack git tag --contains HEAD >actual &&
-	test_cmp expect actual
+	test_cmp expect actual &&
+	run_with_limited_stack git tag --no-contains HEAD >actual &&
+	test_line_count ">" 10 actual
 '
 
 test_expect_success '--format should list tags as per format given' '
 	cat >expect <<-\EOF &&
-	refname : refs/tags/foo1.10
-	refname : refs/tags/foo1.3
-	refname : refs/tags/foo1.6
-	refname : refs/tags/foo1.6-rc1
-	refname : refs/tags/foo1.6-rc2
+	refname : refs/tags/v1.0
+	refname : refs/tags/v1.0.1
+	refname : refs/tags/v1.1.3
 	EOF
-	git tag -l --format="refname : %(refname)" "foo*" >actual &&
+	git tag -l --format="refname : %(refname)" "v1*" >actual &&
 	test_cmp expect actual
 '
 
@@ -1585,8 +1906,17 @@
 	git tag mergetest-3 HEAD
 '
 
-test_expect_success '--merged cannot be used in non-list mode' '
-	test_must_fail git tag --merged=mergetest-2 foo
+test_expect_success '--merged can be used in non-list mode' '
+	cat >expect <<-\EOF &&
+	mergetest-1
+	mergetest-2
+	EOF
+	git tag --merged=mergetest-2 "mergetest*" >actual &&
+	test_cmp expect actual
+'
+
+test_expect_success '--merged is incompatible with --no-merged' '
+	test_must_fail git tag --merged HEAD --no-merged HEAD
 '
 
 test_expect_success '--merged shows merged tags' '
@@ -1606,6 +1936,11 @@
 	test_cmp expect actual
 '
 
+test_expect_success '--no-merged can be used in non-list mode' '
+	git tag --no-merged=mergetest-2 mergetest-* >actual &&
+	test_cmp expect actual
+'
+
 test_expect_success 'ambiguous branch/tags not marked' '
 	git tag ambiguous &&
 	git branch ambiguous &&
@@ -1614,4 +1949,47 @@
 	test_cmp expect actual
 '
 
+test_expect_success '--contains combined with --no-contains' '
+	(
+		git init no-contains &&
+		cd no-contains &&
+		test_commit v0.1 &&
+		test_commit v0.2 &&
+		test_commit v0.3 &&
+		test_commit v0.4 &&
+		test_commit v0.5 &&
+		cat >expected <<-\EOF &&
+		v0.2
+		v0.3
+		v0.4
+		EOF
+		git tag --contains v0.2 --no-contains v0.5 >actual &&
+		test_cmp expected actual
+	)
+'
+
+# As the docs say, list tags which contain a specified *commit*. We
+# don't recurse down to tags for trees or blobs pointed to by *those*
+# commits.
+test_expect_success 'Does --[no-]contains stop at commits? Yes!' '
+	cd no-contains &&
+	blob=$(git rev-parse v0.3:v0.3.t) &&
+	tree=$(git rev-parse v0.3^{tree}) &&
+	git tag tag-blob $blob &&
+	git tag tag-tree $tree &&
+	git tag --contains v0.3 >actual &&
+	cat >expected <<-\EOF &&
+	v0.3
+	v0.4
+	v0.5
+	EOF
+	test_cmp expected actual &&
+	git tag --no-contains v0.3 >actual &&
+	cat >expected <<-\EOF &&
+	v0.1
+	v0.2
+	EOF
+	test_cmp expected actual
+'
+
 test_done
diff --git a/t/t7006-pager.sh b/t/t7006-pager.sh
index c8dc665..4f3794d 100755
--- a/t/t7006-pager.sh
+++ b/t/t7006-pager.sh
@@ -360,27 +360,37 @@
 test_default_pager        expect_success 'git -p aliasedlog'
 test_PAGER_overrides      expect_success 'git -p aliasedlog'
 test_core_pager_overrides expect_success 'git -p aliasedlog'
-test_core_pager_subdir    expect_failure 'git -p aliasedlog'
+test_core_pager_subdir    expect_success 'git -p aliasedlog'
 test_GIT_PAGER_overrides  expect_success 'git -p aliasedlog'
 
 test_default_pager        expect_success 'git -p true'
 test_PAGER_overrides      expect_success 'git -p true'
 test_core_pager_overrides expect_success 'git -p true'
-test_core_pager_subdir    expect_failure 'git -p true'
+test_core_pager_subdir    expect_success 'git -p true'
 test_GIT_PAGER_overrides  expect_success 'git -p true'
 
 test_default_pager        expect_success test_must_fail 'git -p request-pull'
 test_PAGER_overrides      expect_success test_must_fail 'git -p request-pull'
 test_core_pager_overrides expect_success test_must_fail 'git -p request-pull'
-test_core_pager_subdir    expect_failure test_must_fail 'git -p request-pull'
+test_core_pager_subdir    expect_success test_must_fail 'git -p request-pull'
 test_GIT_PAGER_overrides  expect_success test_must_fail 'git -p request-pull'
 
 test_default_pager        expect_success test_must_fail 'git -p'
 test_PAGER_overrides      expect_success test_must_fail 'git -p'
 test_local_config_ignored expect_failure test_must_fail 'git -p'
-test_no_local_config_subdir expect_success test_must_fail 'git -p'
 test_GIT_PAGER_overrides  expect_success test_must_fail 'git -p'
 
+test_expect_success TTY 'core.pager in repo config works and retains cwd' '
+	sane_unset GIT_PAGER &&
+	test_config core.pager "cat >cwd-retained" &&
+	(
+		cd sub &&
+		rm -f cwd-retained &&
+		test_terminal git -p rev-parse HEAD &&
+		test_path_is_file cwd-retained
+	)
+'
+
 test_doesnt_paginate      expect_failure test_must_fail 'git -p nonsense'
 
 test_pager_choices                       'git shortlog'
diff --git a/t/t7030-verify-tag.sh b/t/t7030-verify-tag.sh
index 07079a4..b4b49ee 100755
--- a/t/t7030-verify-tag.sh
+++ b/t/t7030-verify-tag.sh
@@ -125,4 +125,18 @@
 	test_cmp expect.stderr actual.stderr
 '
 
+test_expect_success GPG 'verifying tag with --format' '
+	cat >expect <<-\EOF &&
+	tagname : fourth-signed
+	EOF
+	git verify-tag --format="tagname : %(tag)" "fourth-signed" >actual &&
+	test_cmp expect actual
+'
+
+test_expect_success GPG 'verifying a forged tag with --format should fail silently' '
+	>expect &&
+	test_must_fail git verify-tag --format="tagname : %(tag)" $(cat forged1.tag) >actual-forged &&
+	test_cmp expect actual-forged
+'
+
 test_done
diff --git a/t/t7400-submodule-basic.sh b/t/t7400-submodule-basic.sh
index b77cce8..cf77a3a 100755
--- a/t/t7400-submodule-basic.sh
+++ b/t/t7400-submodule-basic.sh
@@ -152,6 +152,20 @@
 	)
 '
 
+test_expect_success 'submodule add to reconfigure existing submodule with --force' '
+	(
+		cd addtest-ignore &&
+		git submodule add --force bogus-url submod &&
+		git submodule add -b initial "$submodurl" submod-branch &&
+		test "bogus-url" = "$(git config -f .gitmodules submodule.submod.url)" &&
+		test "bogus-url" = "$(git config submodule.submod.url)" &&
+		# Restore the url
+		git submodule add --force "$submodurl" submod
+		test "$submodurl" = "$(git config -f .gitmodules submodule.submod.url)" &&
+		test "$submodurl" = "$(git config submodule.submod.url)"
+	)
+'
+
 test_expect_success 'submodule add --branch' '
 	echo "refs/heads/initial" >expect-head &&
 	cat <<-\EOF >expect-heads &&
@@ -1116,5 +1130,141 @@
 	test_cmp expect actual
 '
 
+test_expect_success 'setup superproject with submodules' '
+	git init sub1 &&
+	test_commit -C sub1 test &&
+	test_commit -C sub1 test2 &&
+	git init multisuper &&
+	git -C multisuper submodule add ../sub1 sub0 &&
+	git -C multisuper submodule add ../sub1 sub1 &&
+	git -C multisuper submodule add ../sub1 sub2 &&
+	git -C multisuper submodule add ../sub1 sub3 &&
+	git -C multisuper commit -m "add some submodules"
+'
+
+cat >expect <<-EOF
+-sub0
+ sub1 (test2)
+ sub2 (test2)
+ sub3 (test2)
+EOF
+
+test_expect_success 'submodule update --init with a specification' '
+	test_when_finished "rm -rf multisuper_clone" &&
+	pwd=$(pwd) &&
+	git clone file://"$pwd"/multisuper multisuper_clone &&
+	git -C multisuper_clone submodule update --init . ":(exclude)sub0" &&
+	git -C multisuper_clone submodule status |cut -c 1,43- >actual &&
+	test_cmp expect actual
+'
+
+test_expect_success 'submodule update --init with submodule.active set' '
+	test_when_finished "rm -rf multisuper_clone" &&
+	pwd=$(pwd) &&
+	git clone file://"$pwd"/multisuper multisuper_clone &&
+	git -C multisuper_clone config submodule.active "." &&
+	git -C multisuper_clone config --add submodule.active ":(exclude)sub0" &&
+	git -C multisuper_clone submodule update --init &&
+	git -C multisuper_clone submodule status |cut -c 1,43- >actual &&
+	test_cmp expect actual
+'
+
+test_expect_success 'submodule update and setting submodule.<name>.active' '
+	test_when_finished "rm -rf multisuper_clone" &&
+	pwd=$(pwd) &&
+	git clone file://"$pwd"/multisuper multisuper_clone &&
+	git -C multisuper_clone config --bool submodule.sub0.active "true" &&
+	git -C multisuper_clone config --bool submodule.sub1.active "false" &&
+	git -C multisuper_clone config --bool submodule.sub2.active "true" &&
+
+	cat >expect <<-\EOF &&
+	 sub0 (test2)
+	-sub1
+	 sub2 (test2)
+	-sub3
+	EOF
+	git -C multisuper_clone submodule update &&
+	git -C multisuper_clone submodule status |cut -c 1,43- >actual &&
+	test_cmp expect actual
+'
+
+test_expect_success 'clone --recurse-submodules with a pathspec works' '
+	test_when_finished "rm -rf multisuper_clone" &&
+	cat >expected <<-\EOF &&
+	 sub0 (test2)
+	-sub1
+	-sub2
+	-sub3
+	EOF
+
+	git clone --recurse-submodules="sub0" multisuper multisuper_clone &&
+	git -C multisuper_clone submodule status |cut -c1,43- >actual &&
+	test_cmp actual expected
+'
+
+test_expect_success 'clone with multiple --recurse-submodules options' '
+	test_when_finished "rm -rf multisuper_clone" &&
+	cat >expect <<-\EOF &&
+	-sub0
+	 sub1 (test2)
+	-sub2
+	 sub3 (test2)
+	EOF
+
+	git clone --recurse-submodules="." \
+		  --recurse-submodules=":(exclude)sub0" \
+		  --recurse-submodules=":(exclude)sub2" \
+		  multisuper multisuper_clone &&
+	git -C multisuper_clone submodule status |cut -c1,43- >actual &&
+	test_cmp expect actual
+'
+
+test_expect_success 'clone and subsequent updates correctly auto-initialize submodules' '
+	test_when_finished "rm -rf multisuper_clone" &&
+	cat <<-\EOF >expect &&
+	-sub0
+	 sub1 (test2)
+	-sub2
+	 sub3 (test2)
+	EOF
+
+	cat <<-\EOF >expect2 &&
+	-sub0
+	 sub1 (test2)
+	-sub2
+	 sub3 (test2)
+	-sub4
+	 sub5 (test2)
+	EOF
+
+	git clone --recurse-submodules="." \
+		  --recurse-submodules=":(exclude)sub0" \
+		  --recurse-submodules=":(exclude)sub2" \
+		  --recurse-submodules=":(exclude)sub4" \
+		  multisuper multisuper_clone &&
+
+	git -C multisuper_clone submodule status |cut -c1,43- >actual &&
+	test_cmp expect actual &&
+
+	git -C multisuper submodule add ../sub1 sub4 &&
+	git -C multisuper submodule add ../sub1 sub5 &&
+	git -C multisuper commit -m "add more submodules" &&
+	# obtain the new superproject
+	git -C multisuper_clone pull &&
+	git -C multisuper_clone submodule update --init &&
+	git -C multisuper_clone submodule status |cut -c1,43- >actual &&
+	test_cmp expect2 actual
+'
+
+test_expect_success 'init properly sets the config' '
+	test_when_finished "rm -rf multisuper_clone" &&
+	git clone --recurse-submodules="." \
+		  --recurse-submodules=":(exclude)sub0" \
+		  multisuper multisuper_clone &&
+
+	git -C multisuper_clone submodule init -- sub0 sub1 &&
+	git -C multisuper_clone config --get submodule.sub0.active &&
+	test_must_fail git -C multisuper_clone config --get submodule.sub1.active
+'
 
 test_done
diff --git a/t/t7406-submodule-update.sh b/t/t7406-submodule-update.sh
index 64f322c..4ac386d 100755
--- a/t/t7406-submodule-update.sh
+++ b/t/t7406-submodule-update.sh
@@ -140,6 +140,23 @@
 	test_i18ncmp expect2 actual2
 '
 
+cat <<EOF >expect2
+Submodule 'foo/sub' ($pwd/withsubs/../rebasing) registered for path 'sub'
+EOF
+
+test_expect_success 'submodule update --init from and of subdirectory' '
+	git init withsubs &&
+	(cd withsubs &&
+	 mkdir foo &&
+	 git submodule add "$(pwd)/../rebasing" foo/sub &&
+	 (cd foo &&
+	  git submodule deinit -f sub &&
+	  git submodule update --init sub 2>../../actual2
+	 )
+	) &&
+	test_i18ncmp expect2 actual2
+'
+
 apos="'";
 test_expect_success 'submodule update does not fetch already present commits' '
 	(cd submodule &&
@@ -424,6 +441,16 @@
 	test_i18ncmp actual expect
 '
 
+test_expect_success 'submodule update - command run for initial population of submodule' '
+	cat >expect <<-EOF &&
+	Execution of '\''false $submodulesha1'\'' failed in submodule path '\''submodule'\''
+	EOF
+	rm -rf super/submodule &&
+	test_must_fail git -C super submodule update 2>actual &&
+	test_cmp expect actual &&
+	git -C super submodule update --checkout
+'
+
 cat << EOF >expect
 Execution of 'false $submodulesha1' failed in submodule path '../super/submodule'
 Failed to recurse into submodule path '../super'
@@ -476,6 +503,7 @@
 '
 
 test_expect_success 'submodule update --merge  - ignores --merge  for new submodules' '
+	test_config -C super submodule.submodule.update checkout &&
 	(cd super &&
 	 rm -rf submodule &&
 	 git submodule update submodule &&
@@ -488,6 +516,7 @@
 '
 
 test_expect_success 'submodule update --rebase - ignores --rebase for new submodules' '
+	test_config -C super submodule.submodule.update checkout &&
 	(cd super &&
 	 rm -rf submodule &&
 	 git submodule update submodule &&
diff --git a/t/t7408-submodule-reference.sh b/t/t7408-submodule-reference.sh
index 1c1e289..e159fc5 100755
--- a/t/t7408-submodule-reference.sh
+++ b/t/t7408-submodule-reference.sh
@@ -125,4 +125,70 @@
 	)
 '
 
+test_expect_success 'preparing second superproject with a nested submodule plus partial clone' '
+	test_create_repo supersuper &&
+	(
+		cd supersuper &&
+		echo "I am super super." >file &&
+		git add file &&
+		git commit -m B-super-super-initial
+		git submodule add "file://$base_dir/super" subwithsub &&
+		git commit -m B-super-super-added &&
+		git submodule update --init --recursive &&
+		git repack -ad
+	) &&
+	git clone supersuper supersuper2 &&
+	(
+		cd supersuper2 &&
+		git submodule update --init
+	)
+'
+
+# At this point there are three root-level positories: A, B, super and super2
+
+test_expect_success 'nested submodule alternate in works and is actually used' '
+	test_when_finished "rm -rf supersuper-clone" &&
+	git clone --recursive --reference supersuper supersuper supersuper-clone &&
+	(
+		cd supersuper-clone &&
+		# test superproject has alternates setup correctly
+		test_alternate_is_used .git/objects/info/alternates . &&
+		# immediate submodule has alternate:
+		test_alternate_is_used .git/modules/subwithsub/objects/info/alternates subwithsub &&
+		# nested submodule also has alternate:
+		test_alternate_is_used .git/modules/subwithsub/modules/sub/objects/info/alternates subwithsub/sub
+	)
+'
+
+check_that_two_of_three_alternates_are_used() {
+	test_alternate_is_used .git/objects/info/alternates . &&
+	# immediate submodule has alternate:
+	test_alternate_is_used .git/modules/subwithsub/objects/info/alternates subwithsub &&
+	# but nested submodule has no alternate:
+	test_must_fail test_alternate_is_used .git/modules/subwithsub/modules/sub/objects/info/alternates subwithsub/sub
+}
+
+
+test_expect_success 'missing nested submodule alternate fails clone and submodule update' '
+	test_when_finished "rm -rf supersuper-clone" &&
+	test_must_fail git clone --recursive --reference supersuper2 supersuper2 supersuper-clone &&
+	(
+		cd supersuper-clone &&
+		check_that_two_of_three_alternates_are_used &&
+		# update of the submodule fails
+		test_must_fail git submodule update --init --recursive
+	)
+'
+
+test_expect_success 'missing nested submodule alternate in --reference-if-able mode' '
+	test_when_finished "rm -rf supersuper-clone" &&
+	git clone --recursive --reference-if-able supersuper2 supersuper2 supersuper-clone &&
+	(
+		cd supersuper-clone &&
+		check_that_two_of_three_alternates_are_used &&
+		# update of the submodule succeeds
+		git submodule update --init --recursive
+	)
+'
+
 test_done
diff --git a/t/t7411-submodule-config.sh b/t/t7411-submodule-config.sh
index 47562ce..eea36f1 100755
--- a/t/t7411-submodule-config.sh
+++ b/t/t7411-submodule-config.sh
@@ -93,6 +93,20 @@
 	)
 '
 
+test_expect_success 'using different treeishs works' '
+	(
+		cd super &&
+		git tag new_tag &&
+		tree=$(git rev-parse HEAD^{tree}) &&
+		commit=$(git rev-parse HEAD^{commit}) &&
+		test-submodule-config $commit b >expect &&
+		test-submodule-config $tree b >actual.1 &&
+		test-submodule-config new_tag b >actual.2 &&
+		test_cmp expect actual.1 &&
+		test_cmp expect actual.2
+	)
+'
+
 cat >super/expect_url <<EOF
 Submodule url: 'git@somewhere.else.net:a.git' for path 'b'
 Submodule url: 'git@somewhere.else.net:submodule.git' for path 'submodule'
@@ -120,12 +134,33 @@
 			"" submodule \
 				>actual &&
 		test_cmp expect_local_path actual &&
-		git config submodule.a.url $old_a &&
-		git config submodule.submodule.url $old_submodule &&
+		git config submodule.a.url "$old_a" &&
+		git config submodule.submodule.url "$old_submodule" &&
 		git config --unset submodule.a.path c
 	)
 '
 
+cat >super/expect_url <<EOF
+Submodule url: '../submodule' for path 'b'
+Submodule url: 'git@somewhere.else.net:submodule.git' for path 'submodule'
+EOF
+
+test_expect_success 'reading of local configuration for uninitialized submodules' '
+	(
+		cd super &&
+		git submodule deinit -f b &&
+		old_submodule=$(git config submodule.submodule.url) &&
+		git config submodule.submodule.url git@somewhere.else.net:submodule.git &&
+		test-submodule-config --url \
+			"" b \
+			"" submodule \
+				>actual &&
+		test_cmp expect_url actual &&
+		git config submodule.submodule.url "$old_submodule" &&
+		git submodule init b
+	)
+'
+
 cat >super/expect_fetchrecurse_die.err <<EOF
 fatal: bad submodule.submodule.fetchrecursesubmodules argument: blabla
 EOF
diff --git a/t/t7412-submodule-absorbgitdirs.sh b/t/t7412-submodule-absorbgitdirs.sh
new file mode 100755
index 0000000..e2bbb44
--- /dev/null
+++ b/t/t7412-submodule-absorbgitdirs.sh
@@ -0,0 +1,128 @@
+#!/bin/sh
+
+test_description='Test submodule absorbgitdirs
+
+This test verifies that `git submodue absorbgitdirs` moves a submodules git
+directory into the superproject.
+'
+
+. ./test-lib.sh
+
+test_expect_success 'setup a real submodule' '
+	git init sub1 &&
+	test_commit -C sub1 first &&
+	git submodule add ./sub1 &&
+	test_tick &&
+	git commit -m superproject
+'
+
+test_expect_success 'absorb the git dir' '
+	>expect.1 &&
+	>expect.2 &&
+	>actual.1 &&
+	>actual.2 &&
+	git status >expect.1 &&
+	git -C sub1 rev-parse HEAD >expect.2 &&
+	git submodule absorbgitdirs &&
+	git fsck &&
+	test -f sub1/.git &&
+	test -d .git/modules/sub1 &&
+	git status >actual.1 &&
+	git -C sub1 rev-parse HEAD >actual.2 &&
+	test_cmp expect.1 actual.1 &&
+	test_cmp expect.2 actual.2
+'
+
+test_expect_success 'absorbing does not fail for deinitalized submodules' '
+	test_when_finished "git submodule update --init" &&
+	git submodule deinit --all &&
+	git submodule absorbgitdirs &&
+	test -d .git/modules/sub1 &&
+	test -d sub1 &&
+	! test -e sub1/.git
+'
+
+test_expect_success 'setup nested submodule' '
+	git init sub1/nested &&
+	test_commit -C sub1/nested first_nested &&
+	git -C sub1 submodule add ./nested &&
+	test_tick &&
+	git -C sub1 commit -m "add nested" &&
+	git add sub1 &&
+	git commit -m "sub1 to include nested submodule"
+'
+
+test_expect_success 'absorb the git dir in a nested submodule' '
+	git status >expect.1 &&
+	git -C sub1/nested rev-parse HEAD >expect.2 &&
+	git submodule absorbgitdirs &&
+	test -f sub1/nested/.git &&
+	test -d .git/modules/sub1/modules/nested &&
+	git status >actual.1 &&
+	git -C sub1/nested rev-parse HEAD >actual.2 &&
+	test_cmp expect.1 actual.1 &&
+	test_cmp expect.2 actual.2
+'
+
+test_expect_success 're-setup nested submodule' '
+	# un-absorb the direct submodule, to test if the nested submodule
+	# is still correct (needs a rewrite of the gitfile only)
+	rm -rf sub1/.git &&
+	mv .git/modules/sub1 sub1/.git &&
+	GIT_WORK_TREE=. git -C sub1 config --unset core.worktree &&
+	# fixup the nested submodule
+	echo "gitdir: ../.git/modules/nested" >sub1/nested/.git &&
+	GIT_WORK_TREE=../../../nested git -C sub1/.git/modules/nested config \
+		core.worktree "../../../nested" &&
+	# make sure this re-setup is correct
+	git status --ignore-submodules=none
+'
+
+test_expect_success 'absorb the git dir in a nested submodule' '
+	git status >expect.1 &&
+	git -C sub1/nested rev-parse HEAD >expect.2 &&
+	git submodule absorbgitdirs &&
+	test -f sub1/.git &&
+	test -f sub1/nested/.git &&
+	test -d .git/modules/sub1/modules/nested &&
+	git status >actual.1 &&
+	git -C sub1/nested rev-parse HEAD >actual.2 &&
+	test_cmp expect.1 actual.1 &&
+	test_cmp expect.2 actual.2
+'
+
+test_expect_success 'setup a gitlink with missing .gitmodules entry' '
+	git init sub2 &&
+	test_commit -C sub2 first &&
+	git add sub2 &&
+	git commit -m superproject
+'
+
+test_expect_success 'absorbing the git dir fails for incomplete submodules' '
+	git status >expect.1 &&
+	git -C sub2 rev-parse HEAD >expect.2 &&
+	test_must_fail git submodule absorbgitdirs &&
+	git -C sub2 fsck &&
+	test -d sub2/.git &&
+	git status >actual &&
+	git -C sub2 rev-parse HEAD >actual.2 &&
+	test_cmp expect.1 actual.1 &&
+	test_cmp expect.2 actual.2
+'
+
+test_expect_success 'setup a submodule with multiple worktrees' '
+	# first create another unembedded git dir in a new submodule
+	git init sub3 &&
+	test_commit -C sub3 first &&
+	git submodule add ./sub3 &&
+	test_tick &&
+	git commit -m "add another submodule" &&
+	git -C sub3 worktree add ../sub3_second_work_tree
+'
+
+test_expect_success 'absorbing fails for a submodule with multiple worktrees' '
+	test_must_fail git submodule absorbgitdirs sub3 2>error &&
+	test_i18ngrep "not supported" error
+'
+
+test_done
diff --git a/t/t7413-submodule-is-active.sh b/t/t7413-submodule-is-active.sh
new file mode 100755
index 0000000..9c785b0
--- /dev/null
+++ b/t/t7413-submodule-is-active.sh
@@ -0,0 +1,107 @@
+#!/bin/sh
+
+test_description='Test submodule--helper is-active
+
+This test verifies that `git submodue--helper is-active` correclty identifies
+submodules which are "active" and interesting to the user.
+'
+
+. ./test-lib.sh
+
+test_expect_success 'setup' '
+	git init sub &&
+	test_commit -C sub initial &&
+	git init super &&
+	test_commit -C super initial &&
+	git -C super submodule add ../sub sub1 &&
+	git -C super submodule add ../sub sub2 &&
+
+	# Remove submodule.<name>.active entries in order to test in an
+	# environment where only URLs are present in the conifg
+	git -C super config --unset submodule.sub1.active &&
+	git -C super config --unset submodule.sub2.active &&
+
+	git -C super commit -a -m "add 2 submodules at sub{1,2}"
+'
+
+test_expect_success 'is-active works with urls' '
+	git -C super submodule--helper is-active sub1 &&
+	git -C super submodule--helper is-active sub2 &&
+
+	git -C super config --unset submodule.sub1.URL &&
+	test_must_fail git -C super submodule--helper is-active sub1 &&
+	git -C super config submodule.sub1.URL ../sub &&
+	git -C super submodule--helper is-active sub1
+'
+
+test_expect_success 'is-active works with submodule.<name>.active config' '
+	test_when_finished "git -C super config --unset submodule.sub1.active" &&
+	test_when_finished "git -C super config submodule.sub1.URL ../sub" &&
+
+	git -C super config --bool submodule.sub1.active "false" &&
+	test_must_fail git -C super submodule--helper is-active sub1 &&
+
+	git -C super config --bool submodule.sub1.active "true" &&
+	git -C super config --unset submodule.sub1.URL &&
+	git -C super submodule--helper is-active sub1
+'
+
+test_expect_success 'is-active works with basic submodule.active config' '
+	test_when_finished "git -C super config submodule.sub1.URL ../sub" &&
+	test_when_finished "git -C super config --unset-all submodule.active" &&
+
+	git -C super config --add submodule.active "." &&
+	git -C super config --unset submodule.sub1.URL &&
+
+	git -C super submodule--helper is-active sub1 &&
+	git -C super submodule--helper is-active sub2
+'
+
+test_expect_success 'is-active correctly works with paths that are not submodules' '
+	test_when_finished "git -C super config --unset-all submodule.active" &&
+
+	test_must_fail git -C super submodule--helper is-active not-a-submodule &&
+
+	git -C super config --add submodule.active "." &&
+	test_must_fail git -C super submodule--helper is-active not-a-submodule
+'
+
+test_expect_success 'is-active works with exclusions in submodule.active config' '
+	test_when_finished "git -C super config --unset-all submodule.active" &&
+
+	git -C super config --add submodule.active "." &&
+	git -C super config --add submodule.active ":(exclude)sub1" &&
+
+	test_must_fail git -C super submodule--helper is-active sub1 &&
+	git -C super submodule--helper is-active sub2
+'
+
+test_expect_success 'is-active with submodule.active and submodule.<name>.active' '
+	test_when_finished "git -C super config --unset-all submodule.active" &&
+	test_when_finished "git -C super config --unset submodule.sub1.active" &&
+	test_when_finished "git -C super config --unset submodule.sub2.active" &&
+
+	git -C super config --add submodule.active "sub1" &&
+	git -C super config --bool submodule.sub1.active "false" &&
+	git -C super config --bool submodule.sub2.active "true" &&
+
+	test_must_fail git -C super submodule--helper is-active sub1 &&
+	git -C super submodule--helper is-active sub2
+'
+
+test_expect_success 'is-active, submodule.active and submodule add' '
+	test_when_finished "rm -rf super2" &&
+	git init super2 &&
+	test_commit -C super2 initial &&
+	git -C super2 config --add submodule.active "sub*" &&
+
+	# submodule add should only add submodule.<name>.active
+	# to the config if not matched by the pathspec
+	git -C super2 submodule add ../sub sub1 &&
+	test_must_fail git -C super2 config --get submodule.sub1.active &&
+
+	git -C super2 submodule add ../sub mod &&
+	git -C super2 config --get submodule.mod.active
+'
+
+test_done
diff --git a/t/t7501-commit.sh b/t/t7501-commit.sh
index 0d8d893..0b6da7a 100755
--- a/t/t7501-commit.sh
+++ b/t/t7501-commit.sh
@@ -469,6 +469,42 @@
 	test_cmp expected actual
 '
 
+test_expect_success 'signoff respects trailer config' '
+
+	echo 5 >positive &&
+	git add positive &&
+	git commit -s -m "subject
+
+non-trailer line
+Myfooter: x" &&
+	git cat-file commit HEAD | sed -e "1,/^\$/d" > actual &&
+	(
+		echo subject
+		echo
+		echo non-trailer line
+		echo Myfooter: x
+		echo
+		echo "Signed-off-by: $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL>"
+	) >expected &&
+	test_cmp expected actual &&
+
+	echo 6 >positive &&
+	git add positive &&
+	git -c "trailer.Myfooter.ifexists=add" commit -s -m "subject
+
+non-trailer line
+Myfooter: x" &&
+	git cat-file commit HEAD | sed -e "1,/^\$/d" > actual &&
+	(
+		echo subject
+		echo
+		echo non-trailer line
+		echo Myfooter: x
+		echo "Signed-off-by: $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL>"
+	) >expected &&
+	test_cmp expected actual
+'
+
 test_expect_success 'multiple -m' '
 
 	>negative &&
diff --git a/t/t7504-commit-msg-hook.sh b/t/t7504-commit-msg-hook.sh
index 8728db6..88d4cda 100755
--- a/t/t7504-commit-msg-hook.sh
+++ b/t/t7504-commit-msg-hook.sh
@@ -220,4 +220,21 @@
 
 '
 
+# set up fake editor to replace `pick` by `reword`
+cat > reword-editor <<'EOF'
+#!/bin/sh
+mv "$1" "$1".bup &&
+sed 's/^pick/reword/' <"$1".bup >"$1"
+EOF
+chmod +x reword-editor
+REWORD_EDITOR="$(pwd)/reword-editor"
+export REWORD_EDITOR
+
+test_expect_success 'hook is called for reword during `rebase -i`' '
+
+	GIT_SEQUENCE_EDITOR="\"$REWORD_EDITOR\"" git rebase -i HEAD^ &&
+	commit_msg_is "new message"
+
+'
+
 test_done
diff --git a/t/t7506-status-submodule.sh b/t/t7506-status-submodule.sh
index d31b34d..055c907 100755
--- a/t/t7506-status-submodule.sh
+++ b/t/t7506-status-submodule.sh
@@ -17,6 +17,12 @@
 	)
 }
 
+sanitize_output () {
+	sed -e "s/$_x40/HASH/" -e "s/$_x40/HASH/" output >output2 &&
+	mv output2 output
+}
+
+
 test_expect_success 'setup' '
 	test_create_repo_with_commit sub &&
 	echo output > .gitignore &&
@@ -50,6 +56,15 @@
 	EOF
 '
 
+test_expect_success 'status with modified file in submodule (short)' '
+	(cd sub && git reset --hard) &&
+	echo "changed" >sub/foo &&
+	git status --short >output &&
+	diff output - <<-\EOF
+	 m sub
+	EOF
+'
+
 test_expect_success 'status with added file in submodule' '
 	(cd sub && git reset --hard && echo >foo && git add foo) &&
 	git status >output &&
@@ -64,6 +79,14 @@
 	EOF
 '
 
+test_expect_success 'status with added file in submodule (short)' '
+	(cd sub && git reset --hard && echo >foo && git add foo) &&
+	git status --short >output &&
+	diff output - <<-\EOF
+	 m sub
+	EOF
+'
+
 test_expect_success 'status with untracked file in submodule' '
 	(cd sub && git reset --hard) &&
 	echo "content" >sub/new-file &&
@@ -83,6 +106,13 @@
 	EOF
 '
 
+test_expect_success 'status with untracked file in submodule (short)' '
+	git status --short >output &&
+	diff output - <<-\EOF
+	 ? sub
+	EOF
+'
+
 test_expect_success 'status with added and untracked file in submodule' '
 	(cd sub && git reset --hard && echo >foo && git add foo) &&
 	echo "content" >sub/new-file &&
@@ -177,8 +207,24 @@
 	test_i18ngrep "modified:   sub (new commits, modified content)" output
 '
 
+test_expect_success 'status with a lot of untracked files in the submodule' '
+	(
+		cd sub
+		i=0 &&
+		while test $i -lt 1024
+		do
+			>some-file-$i
+			i=$(( $i + 1 ))
+		done
+	) &&
+	git status --porcelain sub 2>err.actual &&
+	test_must_be_empty err.actual &&
+	rm err.actual
+'
+
 test_expect_success 'rm submodule contents' '
-	rm -rf sub/* sub/.git
+	rm -rf sub &&
+	mkdir sub
 '
 
 test_expect_success 'status clean (empty submodule dir)' '
@@ -271,4 +317,91 @@
 	test_cmp diff_submodule_actual diff_submodule_expect
 '
 
+# We'll setup different cases for further testing:
+# sub1 will contain a nested submodule,
+# sub2 will have an untracked file
+# sub3 will have an untracked repository
+test_expect_success 'setup superproject with untracked file in nested submodule' '
+	(
+		cd super &&
+		git clean -dfx &&
+		rm .gitmodules &&
+		git submodule add -f ./sub1 &&
+		git submodule add -f ./sub2 &&
+		git submodule add -f ./sub1 sub3 &&
+		git commit -a -m "messy merge in superproject" &&
+		(
+			cd sub1 &&
+			git submodule add ../sub2 &&
+			git commit -a -m "add sub2 to sub1"
+		) &&
+		git add sub1 &&
+		git commit -a -m "update sub1 to contain nested sub"
+	) &&
+	echo content >super/sub1/sub2/file &&
+	echo content >super/sub2/file &&
+	git -C super/sub3 clone ../../sub2 untracked_repository
+'
+
+test_expect_success 'status with untracked file in nested submodule (porcelain)' '
+	git -C super status --porcelain >output &&
+	diff output - <<-\EOF
+	 M sub1
+	 M sub2
+	 M sub3
+	EOF
+'
+
+test_expect_success 'status with untracked file in nested submodule (porcelain=2)' '
+	git -C super status --porcelain=2 >output &&
+	sanitize_output output &&
+	diff output - <<-\EOF
+	1 .M S..U 160000 160000 160000 HASH HASH sub1
+	1 .M S..U 160000 160000 160000 HASH HASH sub2
+	1 .M S..U 160000 160000 160000 HASH HASH sub3
+	EOF
+'
+
+test_expect_success 'status with untracked file in nested submodule (short)' '
+	git -C super status --short >output &&
+	diff output - <<-\EOF
+	 ? sub1
+	 ? sub2
+	 ? sub3
+	EOF
+'
+
+test_expect_success 'setup superproject with modified file in nested submodule' '
+	git -C super/sub1/sub2 add file &&
+	git -C super/sub2 add file
+'
+
+test_expect_success 'status with added file in nested submodule (porcelain)' '
+	git -C super status --porcelain >output &&
+	diff output - <<-\EOF
+	 M sub1
+	 M sub2
+	 M sub3
+	EOF
+'
+
+test_expect_success 'status with added file in nested submodule (porcelain=2)' '
+	git -C super status --porcelain=2 >output &&
+	sanitize_output output &&
+	diff output - <<-\EOF
+	1 .M S.M. 160000 160000 160000 HASH HASH sub1
+	1 .M S.M. 160000 160000 160000 HASH HASH sub2
+	1 .M S..U 160000 160000 160000 HASH HASH sub3
+	EOF
+'
+
+test_expect_success 'status with added file in nested submodule (short)' '
+	git -C super status --short >output &&
+	diff output - <<-\EOF
+	 m sub1
+	 m sub2
+	 ? sub3
+	EOF
+'
+
 test_done
diff --git a/t/t7512-status-help.sh b/t/t7512-status-help.sh
index 5c3db65..458608c 100755
--- a/t/t7512-status-help.sh
+++ b/t/t7512-status-help.sh
@@ -944,4 +944,23 @@
 	test_i18ncmp expected actual
 '
 
+test_expect_success 'status: handle not-yet-started rebase -i gracefully' '
+	ONTO=$(git rev-parse --short HEAD^) &&
+	COMMIT=$(git rev-parse --short HEAD) &&
+	EDITOR="git status --untracked-files=no >actual" git rebase -i HEAD^ &&
+	cat >expected <<EOF &&
+On branch several_commits
+No commands done.
+Next command to do (1 remaining command):
+   pick $COMMIT four_commit
+  (use "git rebase --edit-todo" to view and edit)
+You are currently editing a commit while rebasing branch '\''several_commits'\'' on '\''$ONTO'\''.
+  (use "git commit --amend" to amend the current commit)
+  (use "git rebase --continue" once you are satisfied with your changes)
+
+nothing to commit (use -u to show untracked files)
+EOF
+	test_i18ncmp expected actual
+'
+
 test_done
diff --git a/t/t7518-ident-corner-cases.sh b/t/t7518-ident-corner-cases.sh
new file mode 100755
index 0000000..b22f631
--- /dev/null
+++ b/t/t7518-ident-corner-cases.sh
@@ -0,0 +1,36 @@
+#!/bin/sh
+
+test_description='corner cases in ident strings'
+. ./test-lib.sh
+
+# confirm that we do not segfault _and_ that we do not say "(null)", as
+# glibc systems will quietly handle our NULL pointer
+#
+# Note also that we can't use "env" here because we need to unset a variable,
+# and "-u" is not portable.
+test_expect_success 'empty name and missing email' '
+	(
+		sane_unset GIT_AUTHOR_EMAIL &&
+		GIT_AUTHOR_NAME= &&
+		test_must_fail git commit --allow-empty -m foo 2>err &&
+		test_i18ngrep ! null err
+	)
+'
+
+test_expect_success 'commit rejects all-crud name' '
+	test_must_fail env GIT_AUTHOR_NAME=" .;<>" \
+		git commit --allow-empty -m foo
+'
+
+# We must test the actual error message here, as an unwanted
+# auto-detection could fail for other reasons.
+test_expect_success 'empty configured name does not auto-detect' '
+	(
+		sane_unset GIT_AUTHOR_NAME &&
+		test_must_fail \
+			git -c user.name= commit --allow-empty -m foo 2>err &&
+		test_i18ngrep "empty ident name" err
+	)
+'
+
+test_done
diff --git a/t/t7600-merge.sh b/t/t7600-merge.sh
index 85248a1..2ebda50 100755
--- a/t/t7600-merge.sh
+++ b/t/t7600-merge.sh
@@ -154,6 +154,10 @@
 	test_must_fail git merge -s foobar c1 &&
 	test_must_fail git merge -s=foobar c1 &&
 	test_must_fail git merge -m &&
+	test_must_fail git merge --abort foobar &&
+	test_must_fail git merge --abort --quiet &&
+	test_must_fail git merge --continue foobar &&
+	test_must_fail git merge --continue --quiet &&
 	test_must_fail git merge
 '
 
@@ -763,4 +767,11 @@
 	)
 '
 
+test_expect_success 'merge can be completed with --continue' '
+	git reset --hard c0 &&
+	git merge --no-ff --no-commit c1 &&
+	git merge --continue &&
+	verify_parents $c0 $c1
+'
+
 test_done
diff --git a/t/t7610-mergetool.sh b/t/t7610-mergetool.sh
index 63d36fb..381b7df 100755
--- a/t/t7610-mergetool.sh
+++ b/t/t7610-mergetool.sh
@@ -55,6 +55,22 @@
 	git rm file12 &&
 	git commit -m "branch1 changes" &&
 
+	git checkout -b delete-base branch1 &&
+	mkdir -p a/a &&
+	(echo one; echo two; echo 3; echo 4) >a/a/file.txt &&
+	git add a/a/file.txt &&
+	git commit -m"base file" &&
+	git checkout -b move-to-b delete-base &&
+	mkdir -p b/b &&
+	git mv a/a/file.txt b/b/file.txt &&
+	(echo one; echo two; echo 4) >b/b/file.txt &&
+	git commit -a -m"move to b" &&
+	git checkout -b move-to-c delete-base &&
+	mkdir -p c/c &&
+	git mv a/a/file.txt c/c/file.txt &&
+	(echo one; echo two; echo 3) >c/c/file.txt &&
+	git commit -a -m"move to c" &&
+
 	git checkout -b stash1 master &&
 	echo stash1 change file11 >file11 &&
 	git add file11 &&
@@ -86,6 +102,23 @@
 	git rm file11 &&
 	git commit -m "master updates" &&
 
+	git clean -fdx &&
+	git checkout -b order-file-start master &&
+	echo start >a &&
+	echo start >b &&
+	git add a b &&
+	git commit -m start &&
+	git checkout -b order-file-side1 order-file-start &&
+	echo side1 >a &&
+	echo side1 >b &&
+	git add a b &&
+	git commit -m side1 &&
+	git checkout -b order-file-side2 order-file-start &&
+	echo side2 >a &&
+	echo side2 >b &&
+	git add a b &&
+	git commit -m side2 &&
+
 	git config merge.tool mytool &&
 	git config mergetool.mytool.cmd "cat \"\$REMOTE\" >\"\$MERGED\"" &&
 	git config mergetool.mytool.trustExitCode true &&
@@ -94,7 +127,8 @@
 '
 
 test_expect_success 'custom mergetool' '
-	git checkout -b test1 branch1 &&
+	test_when_finished "git reset --hard" &&
+	git checkout -b test$test_count branch1 &&
 	git submodule update -N &&
 	test_must_fail git merge master >/dev/null 2>&1 &&
 	( yes "" | git mergetool both >/dev/null 2>&1 ) &&
@@ -112,8 +146,13 @@
 '
 
 test_expect_success 'mergetool crlf' '
+	test_when_finished "git reset --hard" &&
+	# This test_config line must go after the above reset line so that
+	# core.autocrlf is unconfigured before reset runs.  (The
+	# test_config command uses test_when_finished internally and
+	# test_when_finished is LIFO.)
 	test_config core.autocrlf true &&
-	git checkout -b test2 branch1 &&
+	git checkout -b test$test_count branch1 &&
 	test_must_fail git merge master >/dev/null 2>&1 &&
 	( yes "" | git mergetool file1 >/dev/null 2>&1 ) &&
 	( yes "" | git mergetool file2 >/dev/null 2>&1 ) &&
@@ -128,13 +167,12 @@
 	test "$(printf x | cat subdir/file3 -)" = "$(printf "master new sub\r\nx")" &&
 	git submodule update -N &&
 	test "$(cat submod/bar)" = "master submodule" &&
-	git commit -m "branch1 resolved with mergetool - autocrlf" &&
-	test_config core.autocrlf false &&
-	git reset --hard
+	git commit -m "branch1 resolved with mergetool - autocrlf"
 '
 
 test_expect_success 'mergetool in subdir' '
-	git checkout -b test3 branch1 &&
+	test_when_finished "git reset --hard" &&
+	git checkout -b test$test_count branch1 &&
 	git submodule update -N &&
 	(
 		cd subdir &&
@@ -145,8 +183,13 @@
 '
 
 test_expect_success 'mergetool on file in parent dir' '
+	test_when_finished "git reset --hard" &&
+	git checkout -b test$test_count branch1 &&
+	git submodule update -N &&
 	(
 		cd subdir &&
+		test_must_fail git merge master >/dev/null 2>&1 &&
+		( yes "" | git mergetool file3 >/dev/null 2>&1 ) &&
 		( yes "" | git mergetool ../file1 >/dev/null 2>&1 ) &&
 		( yes "" | git mergetool ../file2 ../spaced\ name >/dev/null 2>&1 ) &&
 		( yes "" | git mergetool ../both >/dev/null 2>&1 ) &&
@@ -161,7 +204,8 @@
 '
 
 test_expect_success 'mergetool skips autoresolved' '
-	git checkout -b test4 branch1 &&
+	test_when_finished "git reset --hard" &&
+	git checkout -b test$test_count branch1 &&
 	git submodule update -N &&
 	test_must_fail git merge master &&
 	test -n "$(git ls-files -u)" &&
@@ -169,11 +213,12 @@
 	( yes "d" | git mergetool file12 >/dev/null 2>&1 ) &&
 	( yes "l" | git mergetool submod >/dev/null 2>&1 ) &&
 	output="$(git mergetool --no-prompt)" &&
-	test "$output" = "No files need merging" &&
-	git reset --hard
+	test "$output" = "No files need merging"
 '
 
-test_expect_success 'mergetool merges all from subdir' '
+test_expect_success 'mergetool merges all from subdir (rerere disabled)' '
+	test_when_finished "git reset --hard" &&
+	git checkout -b test$test_count branch1 &&
 	test_config rerere.enabled false &&
 	(
 		cd subdir &&
@@ -189,21 +234,41 @@
 	)
 '
 
-test_expect_success 'mergetool skips resolved paths when rerere is active' '
+test_expect_success 'mergetool merges all from subdir (rerere enabled)' '
+	test_when_finished "git reset --hard" &&
+	git checkout -b test$test_count branch1 &&
 	test_config rerere.enabled true &&
 	rm -rf .git/rr-cache &&
-	git checkout -b test5 branch1 &&
+	(
+		cd subdir &&
+		test_must_fail git merge master &&
+		( yes "r" | git mergetool ../submod ) &&
+		( yes "d" "d" | git mergetool --no-prompt ) &&
+		test "$(cat ../file1)" = "master updated" &&
+		test "$(cat ../file2)" = "master new" &&
+		test "$(cat file3)" = "master new sub" &&
+		( cd .. && git submodule update -N ) &&
+		test "$(cat ../submod/bar)" = "master submodule" &&
+		git commit -m "branch2 resolved by mergetool from subdir"
+	)
+'
+
+test_expect_success 'mergetool skips resolved paths when rerere is active' '
+	test_when_finished "git reset --hard" &&
+	test_config rerere.enabled true &&
+	rm -rf .git/rr-cache &&
+	git checkout -b test$test_count branch1 &&
 	git submodule update -N &&
 	test_must_fail git merge master >/dev/null 2>&1 &&
 	( yes "l" | git mergetool --no-prompt submod >/dev/null 2>&1 ) &&
 	( yes "d" "d" | git mergetool --no-prompt >/dev/null 2>&1 ) &&
 	git submodule update -N &&
 	output="$(yes "n" | git mergetool --no-prompt)" &&
-	test "$output" = "No files need merging" &&
-	git reset --hard
+	test "$output" = "No files need merging"
 '
 
 test_expect_success 'conflicted stash sets up rerere'  '
+	test_when_finished "git reset --hard" &&
 	test_config rerere.enabled true &&
 	git checkout stash1 &&
 	echo "Conflicting stash content" >file11 &&
@@ -231,67 +296,57 @@
 '
 
 test_expect_success 'mergetool takes partial path' '
-	git reset --hard &&
+	test_when_finished "git reset --hard" &&
 	test_config rerere.enabled false &&
-	git checkout -b test12 branch1 &&
+	git checkout -b test$test_count branch1 &&
 	git submodule update -N &&
 	test_must_fail git merge master &&
 
 	( yes "" | git mergetool subdir ) &&
 
-	test "$(cat subdir/file3)" = "master new sub" &&
-	git reset --hard
+	test "$(cat subdir/file3)" = "master new sub"
 '
 
 test_expect_success 'mergetool delete/delete conflict' '
-	git checkout -b delete-base branch1 &&
-	mkdir -p a/a &&
-	(echo one; echo two; echo 3; echo 4) >a/a/file.txt &&
-	git add a/a/file.txt &&
-	git commit -m"base file" &&
-	git checkout -b move-to-b delete-base &&
-	mkdir -p b/b &&
-	git mv a/a/file.txt b/b/file.txt &&
-	(echo one; echo two; echo 4) >b/b/file.txt &&
-	git commit -a -m"move to b" &&
-	git checkout -b move-to-c delete-base &&
-	mkdir -p c/c &&
-	git mv a/a/file.txt c/c/file.txt &&
-	(echo one; echo two; echo 3) >c/c/file.txt &&
-	git commit -a -m"move to c" &&
+	test_when_finished "git reset --hard" &&
+	git checkout -b test$test_count move-to-c &&
 	test_must_fail git merge move-to-b &&
 	echo d | git mergetool a/a/file.txt &&
 	! test -f a/a/file.txt &&
-	git reset --hard HEAD &&
+	git reset --hard &&
 	test_must_fail git merge move-to-b &&
 	echo m | git mergetool a/a/file.txt &&
 	test -f b/b/file.txt &&
-	git reset --hard HEAD &&
+	git reset --hard &&
 	test_must_fail git merge move-to-b &&
 	! echo a | git mergetool a/a/file.txt &&
-	! test -f a/a/file.txt &&
-	git reset --hard HEAD
+	! test -f a/a/file.txt
 '
 
 test_expect_success 'mergetool produces no errors when keepBackup is used' '
+	test_when_finished "git reset --hard" &&
+	git checkout -b test$test_count move-to-c &&
 	test_config mergetool.keepBackup true &&
 	test_must_fail git merge move-to-b &&
 	: >expect &&
 	echo d | git mergetool a/a/file.txt 2>actual &&
 	test_cmp expect actual &&
-	! test -d a &&
-	git reset --hard HEAD
+	! test -d a
 '
 
 test_expect_success 'mergetool honors tempfile config for deleted files' '
+	test_when_finished "git reset --hard" &&
+	git checkout -b test$test_count move-to-c &&
 	test_config mergetool.keepTemporaries false &&
 	test_must_fail git merge move-to-b &&
 	echo d | git mergetool a/a/file.txt &&
-	! test -d a &&
-	git reset --hard HEAD
+	! test -d a
 '
 
 test_expect_success 'mergetool keeps tempfiles when aborting delete/delete' '
+	test_when_finished "git reset --hard" &&
+	test_when_finished "git clean -fdx" &&
+	git checkout -b test$test_count move-to-c &&
 	test_config mergetool.keepTemporaries true &&
 	test_must_fail git merge move-to-b &&
 	! (echo a; echo n) | git mergetool a/a/file.txt &&
@@ -302,18 +357,17 @@
 	file_REMOTE_.txt
 	EOF
 	ls -1 a/a | sed -e "s/[0-9]*//g" >actual &&
-	test_cmp expect actual &&
-	git clean -fdx &&
-	git reset --hard HEAD
+	test_cmp expect actual
 '
 
 test_expect_success 'deleted vs modified submodule' '
-	git checkout -b test6 branch1 &&
+	test_when_finished "git reset --hard" &&
+	git checkout -b test$test_count branch1 &&
 	git submodule update -N &&
 	mv submod submod-movedaside &&
 	git rm --cached submod &&
 	git commit -m "Submodule deleted from branch" &&
-	git checkout -b test6.a test6 &&
+	git checkout -b test$test_count.a test$test_count &&
 	test_must_fail git merge master &&
 	test -n "$(git ls-files -u)" &&
 	( yes "" | git mergetool file1 file2 spaced\ name subdir/file3 >/dev/null 2>&1 ) &&
@@ -329,7 +383,7 @@
 	git commit -m "Merge resolved by keeping module" &&
 
 	mv submod submod-movedaside &&
-	git checkout -b test6.b test6 &&
+	git checkout -b test$test_count.b test$test_count &&
 	git submodule update -N &&
 	test_must_fail git merge master &&
 	test -n "$(git ls-files -u)" &&
@@ -343,9 +397,9 @@
 	git commit -m "Merge resolved by deleting module" &&
 
 	mv submod-movedaside submod &&
-	git checkout -b test6.c master &&
+	git checkout -b test$test_count.c master &&
 	git submodule update -N &&
-	test_must_fail git merge test6 &&
+	test_must_fail git merge test$test_count &&
 	test -n "$(git ls-files -u)" &&
 	( yes "" | git mergetool file1 file2 spaced\ name subdir/file3 >/dev/null 2>&1 ) &&
 	( yes "" | git mergetool both >/dev/null 2>&1 ) &&
@@ -359,9 +413,9 @@
 	git commit -m "Merge resolved by deleting module" &&
 	mv submod.orig submod &&
 
-	git checkout -b test6.d master &&
+	git checkout -b test$test_count.d master &&
 	git submodule update -N &&
-	test_must_fail git merge test6 &&
+	test_must_fail git merge test$test_count &&
 	test -n "$(git ls-files -u)" &&
 	( yes "" | git mergetool file1 file2 spaced\ name subdir/file3 >/dev/null 2>&1 ) &&
 	( yes "" | git mergetool both >/dev/null 2>&1 ) &&
@@ -372,19 +426,19 @@
 	test "$(cat submod/bar)" = "master submodule" &&
 	output="$(git mergetool --no-prompt)" &&
 	test "$output" = "No files need merging" &&
-	git commit -m "Merge resolved by keeping module" &&
-	git reset --hard HEAD
+	git commit -m "Merge resolved by keeping module"
 '
 
 test_expect_success 'file vs modified submodule' '
-	git checkout -b test7 branch1 &&
+	test_when_finished "git reset --hard" &&
+	git checkout -b test$test_count branch1 &&
 	git submodule update -N &&
 	mv submod submod-movedaside &&
 	git rm --cached submod &&
 	echo not a submodule >submod &&
 	git add submod &&
 	git commit -m "Submodule path becomes file" &&
-	git checkout -b test7.a branch1 &&
+	git checkout -b test$test_count.a branch1 &&
 	test_must_fail git merge master &&
 	test -n "$(git ls-files -u)" &&
 	( yes "" | git mergetool file1 file2 spaced\ name subdir/file3 >/dev/null 2>&1 ) &&
@@ -400,7 +454,7 @@
 	git commit -m "Merge resolved by keeping module" &&
 
 	mv submod submod-movedaside &&
-	git checkout -b test7.b test7 &&
+	git checkout -b test$test_count.b test$test_count &&
 	test_must_fail git merge master &&
 	test -n "$(git ls-files -u)" &&
 	( yes "" | git mergetool file1 file2 spaced\ name subdir/file3 >/dev/null 2>&1 ) &&
@@ -413,11 +467,11 @@
 	test "$output" = "No files need merging" &&
 	git commit -m "Merge resolved by keeping file" &&
 
-	git checkout -b test7.c master &&
+	git checkout -b test$test_count.c master &&
 	rmdir submod && mv submod-movedaside submod &&
 	test ! -e submod.orig &&
 	git submodule update -N &&
-	test_must_fail git merge test7 &&
+	test_must_fail git merge test$test_count &&
 	test -n "$(git ls-files -u)" &&
 	( yes "" | git mergetool file1 file2 spaced\ name subdir/file3 >/dev/null 2>&1 ) &&
 	( yes "" | git mergetool both >/dev/null 2>&1 ) &&
@@ -430,10 +484,10 @@
 	test "$output" = "No files need merging" &&
 	git commit -m "Merge resolved by keeping file" &&
 
-	git checkout -b test7.d master &&
+	git checkout -b test$test_count.d master &&
 	rmdir submod && mv submod.orig submod &&
 	git submodule update -N &&
-	test_must_fail git merge test7 &&
+	test_must_fail git merge test$test_count &&
 	test -n "$(git ls-files -u)" &&
 	( yes "" | git mergetool file1 file2 spaced\ name subdir/file3 >/dev/null 2>&1 ) &&
 	( yes "" | git mergetool both>/dev/null 2>&1 ) &&
@@ -448,7 +502,8 @@
 '
 
 test_expect_success 'submodule in subdirectory' '
-	git checkout -b test10 branch1 &&
+	test_when_finished "git reset --hard" &&
+	git checkout -b test$test_count branch1 &&
 	git submodule update -N &&
 	(
 		cd subdir &&
@@ -460,56 +515,57 @@
 		git commit -m "add initial versions"
 		)
 	) &&
+	test_when_finished "rm -rf subdir/subdir_module" &&
 	git submodule add git://example.com/subsubmodule subdir/subdir_module &&
 	git add subdir/subdir_module &&
 	git commit -m "add submodule in subdirectory" &&
 
-	git checkout -b test10.a test10 &&
+	git checkout -b test$test_count.a test$test_count &&
 	git submodule update -N &&
 	(
 	cd subdir/subdir_module &&
 		git checkout -b super10.a &&
-		echo test10.a >file15 &&
+		echo test$test_count.a >file15 &&
 		git add file15 &&
 		git commit -m "on branch 10.a"
 	) &&
 	git add subdir/subdir_module &&
-	git commit -m "change submodule in subdirectory on test10.a" &&
+	git commit -m "change submodule in subdirectory on test$test_count.a" &&
 
-	git checkout -b test10.b test10 &&
+	git checkout -b test$test_count.b test$test_count &&
 	git submodule update -N &&
 	(
 		cd subdir/subdir_module &&
 		git checkout -b super10.b &&
-		echo test10.b >file15 &&
+		echo test$test_count.b >file15 &&
 		git add file15 &&
 		git commit -m "on branch 10.b"
 	) &&
 	git add subdir/subdir_module &&
-	git commit -m "change submodule in subdirectory on test10.b" &&
+	git commit -m "change submodule in subdirectory on test$test_count.b" &&
 
-	test_must_fail git merge test10.a >/dev/null 2>&1 &&
+	test_must_fail git merge test$test_count.a >/dev/null 2>&1 &&
 	(
 		cd subdir &&
 		( yes "l" | git mergetool subdir_module )
 	) &&
-	test "$(cat subdir/subdir_module/file15)" = "test10.b" &&
+	test "$(cat subdir/subdir_module/file15)" = "test$test_count.b" &&
 	git submodule update -N &&
-	test "$(cat subdir/subdir_module/file15)" = "test10.b" &&
+	test "$(cat subdir/subdir_module/file15)" = "test$test_count.b" &&
 	git reset --hard &&
 	git submodule update -N &&
 
-	test_must_fail git merge test10.a >/dev/null 2>&1 &&
+	test_must_fail git merge test$test_count.a >/dev/null 2>&1 &&
 	( yes "r" | git mergetool subdir/subdir_module ) &&
-	test "$(cat subdir/subdir_module/file15)" = "test10.b" &&
+	test "$(cat subdir/subdir_module/file15)" = "test$test_count.b" &&
 	git submodule update -N &&
-	test "$(cat subdir/subdir_module/file15)" = "test10.a" &&
-	git commit -m "branch1 resolved with mergetool" &&
-	rm -rf subdir/subdir_module
+	test "$(cat subdir/subdir_module/file15)" = "test$test_count.a" &&
+	git commit -m "branch1 resolved with mergetool"
 '
 
 test_expect_success 'directory vs modified submodule' '
-	git checkout -b test11 branch1 &&
+	test_when_finished "git reset --hard" &&
+	git checkout -b test$test_count branch1 &&
 	mv submod submod-movedaside &&
 	git rm --cached submod &&
 	mkdir submod &&
@@ -523,7 +579,7 @@
 	test "$(cat submod/file16)" = "not a submodule" &&
 	rm -rf submod.orig &&
 
-	git reset --hard >/dev/null 2>&1 &&
+	git reset --hard &&
 	test_must_fail git merge master &&
 	test -n "$(git ls-files -u)" &&
 	test ! -e submod.orig &&
@@ -535,58 +591,59 @@
 	( cd submod && git clean -f && git reset --hard ) &&
 	git submodule update -N &&
 	test "$(cat submod/bar)" = "master submodule" &&
-	git reset --hard >/dev/null 2>&1 && rm -rf submod-movedaside &&
+	git reset --hard &&
+	rm -rf submod-movedaside &&
 
-	git checkout -b test11.c master &&
+	git checkout -b test$test_count.c master &&
 	git submodule update -N &&
-	test_must_fail git merge test11 &&
+	test_must_fail git merge test$test_count &&
 	test -n "$(git ls-files -u)" &&
 	( yes "l" | git mergetool submod ) &&
 	git submodule update -N &&
 	test "$(cat submod/bar)" = "master submodule" &&
 
-	git reset --hard >/dev/null 2>&1 &&
+	git reset --hard &&
 	git submodule update -N &&
-	test_must_fail git merge test11 &&
+	test_must_fail git merge test$test_count &&
 	test -n "$(git ls-files -u)" &&
 	test ! -e submod.orig &&
 	( yes "r" | git mergetool submod ) &&
 	test "$(cat submod/file16)" = "not a submodule" &&
 
-	git reset --hard master >/dev/null 2>&1 &&
+	git reset --hard master &&
 	( cd submod && git clean -f && git reset --hard ) &&
 	git submodule update -N
 '
 
 test_expect_success 'file with no base' '
-	git checkout -b test13 branch1 &&
+	test_when_finished "git reset --hard" &&
+	git checkout -b test$test_count branch1 &&
 	test_must_fail git merge master &&
 	git mergetool --no-prompt --tool mybase -- both &&
 	>expected &&
-	test_cmp both expected &&
-	git reset --hard master >/dev/null 2>&1
+	test_cmp both expected
 '
 
 test_expect_success 'custom commands override built-ins' '
-	git checkout -b test14 branch1 &&
+	test_when_finished "git reset --hard" &&
+	git checkout -b test$test_count branch1 &&
 	test_config mergetool.defaults.cmd "cat \"\$REMOTE\" >\"\$MERGED\"" &&
 	test_config mergetool.defaults.trustExitCode true &&
 	test_must_fail git merge master &&
 	git mergetool --no-prompt --tool defaults -- both &&
 	echo master both added >expected &&
-	test_cmp both expected &&
-	git reset --hard master >/dev/null 2>&1
+	test_cmp both expected
 '
 
 test_expect_success 'filenames seen by tools start with ./' '
-	git checkout -b test15 branch1 &&
+	test_when_finished "git reset --hard" &&
+	git checkout -b test$test_count branch1 &&
 	test_config mergetool.writeToTemp false &&
 	test_config mergetool.myecho.cmd "echo \"\$LOCAL\"" &&
 	test_config mergetool.myecho.trustExitCode true &&
 	test_must_fail git merge master &&
 	git mergetool --no-prompt --tool myecho -- both >actual &&
-	grep ^\./both_LOCAL_ actual >/dev/null &&
-	git reset --hard master >/dev/null 2>&1
+	grep ^\./both_LOCAL_ actual >/dev/null
 '
 
 test_lazy_prereq MKTEMP '
@@ -596,53 +653,48 @@
 '
 
 test_expect_success MKTEMP 'temporary filenames are used with mergetool.writeToTemp' '
-	git checkout -b test16 branch1 &&
+	test_when_finished "git reset --hard" &&
+	git checkout -b test$test_count branch1 &&
 	test_config mergetool.writeToTemp true &&
 	test_config mergetool.myecho.cmd "echo \"\$LOCAL\"" &&
 	test_config mergetool.myecho.trustExitCode true &&
 	test_must_fail git merge master &&
 	git mergetool --no-prompt --tool myecho -- both >actual &&
-	test_must_fail grep ^\./both_LOCAL_ actual >/dev/null &&
-	grep /both_LOCAL_ actual >/dev/null &&
-	git reset --hard master >/dev/null 2>&1
+	! grep ^\./both_LOCAL_ actual >/dev/null &&
+	grep /both_LOCAL_ actual >/dev/null
 '
 
 test_expect_success 'diff.orderFile configuration is honored' '
+	test_when_finished "git reset --hard" &&
+	git checkout -b test$test_count order-file-side2 &&
 	test_config diff.orderFile order-file &&
 	test_config mergetool.myecho.cmd "echo \"\$LOCAL\"" &&
 	test_config mergetool.myecho.trustExitCode true &&
 	echo b >order-file &&
 	echo a >>order-file &&
-	git checkout -b order-file-start master &&
-	echo start >a &&
-	echo start >b &&
-	git add a b &&
-	git commit -m start &&
-	git checkout -b order-file-side1 order-file-start &&
-	echo side1 >a &&
-	echo side1 >b &&
-	git add a b &&
-	git commit -m side1 &&
-	git checkout -b order-file-side2 order-file-start &&
-	echo side2 >a &&
-	echo side2 >b &&
-	git add a b &&
-	git commit -m side2 &&
 	test_must_fail git merge order-file-side1 &&
 	cat >expect <<-\EOF &&
 		Merging:
 		b
 		a
 	EOF
+
+	# make sure "order-file" that is ambiguous between
+	# rev and path is understood correctly.
+	git branch order-file HEAD &&
+
 	git mergetool --no-prompt --tool myecho >output &&
 	git grep --no-index -h -A2 Merging: output >actual &&
-	test_cmp expect actual &&
-	git reset --hard >/dev/null
+	test_cmp expect actual
 '
 test_expect_success 'mergetool -Oorder-file is honored' '
+	test_when_finished "git reset --hard" &&
+	git checkout -b test$test_count order-file-side2 &&
 	test_config diff.orderFile order-file &&
 	test_config mergetool.myecho.cmd "echo \"\$LOCAL\"" &&
 	test_config mergetool.myecho.trustExitCode true &&
+	echo b >order-file &&
+	echo a >>order-file &&
 	test_must_fail git merge order-file-side1 &&
 	cat >expect <<-\EOF &&
 		Merging:
@@ -652,7 +704,7 @@
 	git mergetool -O/dev/null --no-prompt --tool myecho >output &&
 	git grep --no-index -h -A2 Merging: output >actual &&
 	test_cmp expect actual &&
-	git reset --hard >/dev/null 2>&1 &&
+	git reset --hard &&
 
 	git config --unset diff.orderFile &&
 	test_must_fail git merge order-file-side1 &&
@@ -663,8 +715,7 @@
 	EOF
 	git mergetool -Oorder-file --no-prompt --tool myecho >output &&
 	git grep --no-index -h -A2 Merging: output >actual &&
-	test_cmp expect actual &&
-	git reset --hard >/dev/null 2>&1
+	test_cmp expect actual
 '
 
 test_done
diff --git a/t/t7800-difftool.sh b/t/t7800-difftool.sh
index 99d4123..7f09867 100755
--- a/t/t7800-difftool.sh
+++ b/t/t7800-difftool.sh
@@ -23,8 +23,20 @@
 	test "$prompt" = "Launch 'test-tool' [Y/n]? branch"
 }
 
+test_expect_success 'basic usage requires no repo' '
+	test_expect_code 129 git difftool -h >output &&
+	grep ^usage: output &&
+	# create a ceiling directory to prevent Git from finding a repo
+	mkdir -p not/repo &&
+	test_when_finished rm -r not &&
+	test_expect_code 129 \
+	env GIT_CEILING_DIRECTORIES="$(pwd)/not" \
+	git -C not/repo difftool -h >output &&
+	grep ^usage: output
+'
+
 # Create a file on master and change it on branch
-test_expect_success PERL 'setup' '
+test_expect_success 'setup' '
 	echo master >file &&
 	git add file &&
 	git commit -m "added file" &&
@@ -36,7 +48,7 @@
 '
 
 # Configure a custom difftool.<tool>.cmd and use it
-test_expect_success PERL 'custom commands' '
+test_expect_success 'custom commands' '
 	difftool_test_setup &&
 	test_config difftool.test-tool.cmd "cat \"\$REMOTE\"" &&
 	echo master >expect &&
@@ -49,21 +61,21 @@
 	test_cmp expect actual
 '
 
-test_expect_success PERL 'custom tool commands override built-ins' '
+test_expect_success 'custom tool commands override built-ins' '
 	test_config difftool.vimdiff.cmd "cat \"\$REMOTE\"" &&
 	echo master >expect &&
 	git difftool --tool vimdiff --no-prompt branch >actual &&
 	test_cmp expect actual
 '
 
-test_expect_success PERL 'difftool ignores bad --tool values' '
+test_expect_success 'difftool ignores bad --tool values' '
 	: >expect &&
 	test_must_fail \
 		git difftool --no-prompt --tool=bad-tool branch >actual &&
 	test_cmp expect actual
 '
 
-test_expect_success PERL 'difftool forwards arguments to diff' '
+test_expect_success 'difftool forwards arguments to diff' '
 	difftool_test_setup &&
 	>for-diff &&
 	git add for-diff &&
@@ -76,40 +88,40 @@
 	rm for-diff
 '
 
-test_expect_success PERL 'difftool ignores exit code' '
+test_expect_success 'difftool ignores exit code' '
 	test_config difftool.error.cmd false &&
 	git difftool -y -t error branch
 '
 
-test_expect_success PERL 'difftool forwards exit code with --trust-exit-code' '
+test_expect_success 'difftool forwards exit code with --trust-exit-code' '
 	test_config difftool.error.cmd false &&
 	test_must_fail git difftool -y --trust-exit-code -t error branch
 '
 
-test_expect_success PERL 'difftool forwards exit code with --trust-exit-code for built-ins' '
+test_expect_success 'difftool forwards exit code with --trust-exit-code for built-ins' '
 	test_config difftool.vimdiff.path false &&
 	test_must_fail git difftool -y --trust-exit-code -t vimdiff branch
 '
 
-test_expect_success PERL 'difftool honors difftool.trustExitCode = true' '
+test_expect_success 'difftool honors difftool.trustExitCode = true' '
 	test_config difftool.error.cmd false &&
 	test_config difftool.trustExitCode true &&
 	test_must_fail git difftool -y -t error branch
 '
 
-test_expect_success PERL 'difftool honors difftool.trustExitCode = false' '
+test_expect_success 'difftool honors difftool.trustExitCode = false' '
 	test_config difftool.error.cmd false &&
 	test_config difftool.trustExitCode false &&
 	git difftool -y -t error branch
 '
 
-test_expect_success PERL 'difftool ignores exit code with --no-trust-exit-code' '
+test_expect_success 'difftool ignores exit code with --no-trust-exit-code' '
 	test_config difftool.error.cmd false &&
 	test_config difftool.trustExitCode true &&
 	git difftool -y --no-trust-exit-code -t error branch
 '
 
-test_expect_success PERL 'difftool stops on error with --trust-exit-code' '
+test_expect_success 'difftool stops on error with --trust-exit-code' '
 	test_when_finished "rm -f for-diff .git/fail-right-file" &&
 	test_when_finished "git reset -- for-diff" &&
 	write_script .git/fail-right-file <<-\EOF &&
@@ -124,13 +136,13 @@
 	test_cmp expect actual
 '
 
-test_expect_success PERL 'difftool honors exit status if command not found' '
+test_expect_success 'difftool honors exit status if command not found' '
 	test_config difftool.nonexistent.cmd i-dont-exist &&
 	test_config difftool.trustExitCode false &&
 	test_must_fail git difftool -y -t nonexistent branch
 '
 
-test_expect_success PERL 'difftool honors --gui' '
+test_expect_success 'difftool honors --gui' '
 	difftool_test_setup &&
 	test_config merge.tool bogus-tool &&
 	test_config diff.tool bogus-tool &&
@@ -141,7 +153,7 @@
 	test_cmp expect actual
 '
 
-test_expect_success PERL 'difftool --gui last setting wins' '
+test_expect_success 'difftool --gui last setting wins' '
 	difftool_test_setup &&
 	: >expect &&
 	git difftool --no-prompt --gui --no-gui >actual &&
@@ -155,7 +167,7 @@
 	test_cmp expect actual
 '
 
-test_expect_success PERL 'difftool --gui works without configured diff.guitool' '
+test_expect_success 'difftool --gui works without configured diff.guitool' '
 	difftool_test_setup &&
 	echo branch >expect &&
 	git difftool --no-prompt --gui branch >actual &&
@@ -163,7 +175,7 @@
 '
 
 # Specify the diff tool using $GIT_DIFF_TOOL
-test_expect_success PERL 'GIT_DIFF_TOOL variable' '
+test_expect_success 'GIT_DIFF_TOOL variable' '
 	difftool_test_setup &&
 	git config --unset diff.tool &&
 	echo branch >expect &&
@@ -173,7 +185,7 @@
 
 # Test the $GIT_*_TOOL variables and ensure
 # that $GIT_DIFF_TOOL always wins unless --tool is specified
-test_expect_success PERL 'GIT_DIFF_TOOL overrides' '
+test_expect_success 'GIT_DIFF_TOOL overrides' '
 	difftool_test_setup &&
 	test_config diff.tool bogus-tool &&
 	test_config merge.tool bogus-tool &&
@@ -191,7 +203,7 @@
 
 # Test that we don't have to pass --no-prompt to difftool
 # when $GIT_DIFFTOOL_NO_PROMPT is true
-test_expect_success PERL 'GIT_DIFFTOOL_NO_PROMPT variable' '
+test_expect_success 'GIT_DIFFTOOL_NO_PROMPT variable' '
 	difftool_test_setup &&
 	echo branch >expect &&
 	GIT_DIFFTOOL_NO_PROMPT=true git difftool branch >actual &&
@@ -200,7 +212,7 @@
 
 # git-difftool supports the difftool.prompt variable.
 # Test that GIT_DIFFTOOL_PROMPT can override difftool.prompt = false
-test_expect_success PERL 'GIT_DIFFTOOL_PROMPT variable' '
+test_expect_success 'GIT_DIFFTOOL_PROMPT variable' '
 	difftool_test_setup &&
 	test_config difftool.prompt false &&
 	echo >input &&
@@ -210,7 +222,7 @@
 '
 
 # Test that we don't have to pass --no-prompt when difftool.prompt is false
-test_expect_success PERL 'difftool.prompt config variable is false' '
+test_expect_success 'difftool.prompt config variable is false' '
 	difftool_test_setup &&
 	test_config difftool.prompt false &&
 	echo branch >expect &&
@@ -219,7 +231,7 @@
 '
 
 # Test that we don't have to pass --no-prompt when mergetool.prompt is false
-test_expect_success PERL 'difftool merge.prompt = false' '
+test_expect_success 'difftool merge.prompt = false' '
 	difftool_test_setup &&
 	test_might_fail git config --unset difftool.prompt &&
 	test_config mergetool.prompt false &&
@@ -229,7 +241,7 @@
 '
 
 # Test that the -y flag can override difftool.prompt = true
-test_expect_success PERL 'difftool.prompt can overridden with -y' '
+test_expect_success 'difftool.prompt can overridden with -y' '
 	difftool_test_setup &&
 	test_config difftool.prompt true &&
 	echo branch >expect &&
@@ -238,7 +250,7 @@
 '
 
 # Test that the --prompt flag can override difftool.prompt = false
-test_expect_success PERL 'difftool.prompt can overridden with --prompt' '
+test_expect_success 'difftool.prompt can overridden with --prompt' '
 	difftool_test_setup &&
 	test_config difftool.prompt false &&
 	echo >input &&
@@ -248,7 +260,7 @@
 '
 
 # Test that the last flag passed on the command-line wins
-test_expect_success PERL 'difftool last flag wins' '
+test_expect_success 'difftool last flag wins' '
 	difftool_test_setup &&
 	echo branch >expect &&
 	git difftool --prompt --no-prompt branch >actual &&
@@ -261,7 +273,7 @@
 
 # git-difftool falls back to git-mergetool config variables
 # so test that behavior here
-test_expect_success PERL 'difftool + mergetool config variables' '
+test_expect_success 'difftool + mergetool config variables' '
 	test_config merge.tool test-tool &&
 	test_config mergetool.test-tool.cmd "cat \$LOCAL" &&
 	echo branch >expect &&
@@ -275,49 +287,49 @@
 	test_cmp expect actual
 '
 
-test_expect_success PERL 'difftool.<tool>.path' '
+test_expect_success 'difftool.<tool>.path' '
 	test_config difftool.tkdiff.path echo &&
 	git difftool --tool=tkdiff --no-prompt branch >output &&
-	lines=$(grep file output | wc -l) &&
-	test "$lines" -eq 1
+	grep file output >grep-output &&
+	test_line_count = 1 grep-output
 '
 
-test_expect_success PERL 'difftool --extcmd=cat' '
+test_expect_success 'difftool --extcmd=cat' '
 	echo branch >expect &&
 	echo master >>expect &&
 	git difftool --no-prompt --extcmd=cat branch >actual &&
 	test_cmp expect actual
 '
 
-test_expect_success PERL 'difftool --extcmd cat' '
+test_expect_success 'difftool --extcmd cat' '
 	echo branch >expect &&
 	echo master >>expect &&
 	git difftool --no-prompt --extcmd=cat branch >actual &&
 	test_cmp expect actual
 '
 
-test_expect_success PERL 'difftool -x cat' '
+test_expect_success 'difftool -x cat' '
 	echo branch >expect &&
 	echo master >>expect &&
 	git difftool --no-prompt -x cat branch >actual &&
 	test_cmp expect actual
 '
 
-test_expect_success PERL 'difftool --extcmd echo arg1' '
+test_expect_success 'difftool --extcmd echo arg1' '
 	echo file >expect &&
 	git difftool --no-prompt \
 		--extcmd sh\ -c\ \"echo\ \$1\" branch >actual &&
 	test_cmp expect actual
 '
 
-test_expect_success PERL 'difftool --extcmd cat arg1' '
+test_expect_success 'difftool --extcmd cat arg1' '
 	echo master >expect &&
 	git difftool --no-prompt \
 		--extcmd sh\ -c\ \"cat\ \$1\" branch >actual &&
 	test_cmp expect actual
 '
 
-test_expect_success PERL 'difftool --extcmd cat arg2' '
+test_expect_success 'difftool --extcmd cat arg2' '
 	echo branch >expect &&
 	git difftool --no-prompt \
 		--extcmd sh\ -c\ \"cat\ \$2\" branch >actual &&
@@ -325,7 +337,7 @@
 '
 
 # Create a second file on master and a different version on branch
-test_expect_success PERL 'setup with 2 files different' '
+test_expect_success 'setup with 2 files different' '
 	echo m2 >file2 &&
 	git add file2 &&
 	git commit -m "added file2" &&
@@ -337,7 +349,7 @@
 	git checkout master
 '
 
-test_expect_success PERL 'say no to the first file' '
+test_expect_success 'say no to the first file' '
 	(echo n && echo) >input &&
 	git difftool -x cat branch <input >output &&
 	grep m2 output &&
@@ -346,7 +358,7 @@
 	! grep branch output
 '
 
-test_expect_success PERL 'say no to the second file' '
+test_expect_success 'say no to the second file' '
 	(echo && echo n) >input &&
 	git difftool -x cat branch <input >output &&
 	grep master output &&
@@ -355,7 +367,7 @@
 	! grep br2 output
 '
 
-test_expect_success PERL 'ending prompt input with EOF' '
+test_expect_success 'ending prompt input with EOF' '
 	git difftool -x cat branch </dev/null >output &&
 	! grep master output &&
 	! grep branch output &&
@@ -363,12 +375,12 @@
 	! grep br2 output
 '
 
-test_expect_success PERL 'difftool --tool-help' '
+test_expect_success 'difftool --tool-help' '
 	git difftool --tool-help >output &&
 	grep tool output
 '
 
-test_expect_success PERL 'setup change in subdirectory' '
+test_expect_success 'setup change in subdirectory' '
 	git checkout master &&
 	mkdir sub &&
 	echo master >sub/sub &&
@@ -381,12 +393,31 @@
 	git commit -m "modified both"
 '
 
+test_expect_success 'difftool -d with growing paths' '
+	a=aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa &&
+	git init growing &&
+	(
+		cd growing &&
+		echo "test -f \"\$2/b\"" | write_script .git/test-for-b.sh &&
+		one=$(printf 1 | git hash-object -w --stdin) &&
+		two=$(printf 2 | git hash-object -w --stdin) &&
+		git update-index --add \
+			--cacheinfo 100644,$one,$a --cacheinfo 100644,$two,b &&
+		tree1=$(git write-tree) &&
+		git update-index --add \
+			--cacheinfo 100644,$two,$a --cacheinfo 100644,$one,b &&
+		tree2=$(git write-tree) &&
+		git checkout -- $a &&
+		git difftool -d --extcmd .git/test-for-b.sh $tree1 $tree2
+	)
+'
+
 run_dir_diff_test () {
-	test_expect_success PERL "$1 --no-symlinks" "
+	test_expect_success "$1 --no-symlinks" "
 		symlinks=--no-symlinks &&
 		$2
 	"
-	test_expect_success PERL,SYMLINKS "$1 --symlinks" "
+	test_expect_success SYMLINKS "$1 --symlinks" "
 		symlinks=--symlinks &&
 		$2
 	"
@@ -416,9 +447,12 @@
 		git difftool --dir-diff $symlinks --extcmd ls branch >output &&
 		# "sub" must only exist in "right"
 		# "file" and "file2" must be listed in both "left" and "right"
-		test "1" = $(grep sub output | wc -l) &&
-		test "2" = $(grep file"$" output | wc -l) &&
-		test "2" = $(grep file2 output | wc -l)
+		grep sub output >sub-output &&
+		test_line_count = 1 sub-output &&
+		grep file"$" output >file-output &&
+		test_line_count = 2 file-output &&
+		grep file2 output >file2-output &&
+		test_line_count = 2 file2-output
 	)
 '
 
@@ -428,9 +462,11 @@
 		git difftool --dir-diff $symlinks --extcmd ls v1 >output &&
 		# "sub" and "file" exist in both v1 and HEAD.
 		# "file2" is unchanged.
-		test "2" = $(grep sub output | wc -l) &&
-		test "2" = $(grep file output | wc -l) &&
-		test "0" = $(grep file2 output | wc -l)
+		grep sub output >sub-output &&
+		test_line_count = 2 sub-output &&
+		grep file output >file-output &&
+		test_line_count = 2 file-output &&
+		! grep file2 output
 	)
 '
 
@@ -440,8 +476,9 @@
 		git difftool --dir-diff $symlinks --extcmd ls branch -- .>output &&
 		# "sub" only exists in "right"
 		# "file" and "file2" must not be listed
-		test "1" = $(grep sub output | wc -l) &&
-		test "0" = $(grep file output | wc -l)
+		grep sub output >sub-output &&
+		test_line_count = 1 sub-output &&
+		! grep file output
 	)
 '
 
@@ -451,8 +488,9 @@
 		git difftool --dir-diff $symlinks --extcmd ls v1 -- .>output &&
 		# "sub" exists in v1 and HEAD
 		# "file" is filtered out by the pathspec
-		test "2" = $(grep sub output | wc -l) &&
-		test "0" = $(grep file output | wc -l)
+		grep sub output >sub-output &&
+		test_line_count = 2 sub-output &&
+		! grep file output
 	)
 '
 
@@ -508,7 +546,7 @@
 done >actual
 EOF
 
-test_expect_success PERL,SYMLINKS 'difftool --dir-diff --symlink without unstaged changes' '
+test_expect_success SYMLINKS 'difftool --dir-diff --symlink without unstaged changes' '
 	cat >expect <<-EOF &&
 	file
 	$PWD/file
@@ -545,7 +583,7 @@
 echo "new content" >file
 EOF
 
-test_expect_success PERL 'difftool --no-symlinks does not overwrite working tree file ' '
+test_expect_success 'difftool --no-symlinks does not overwrite working tree file ' '
 	echo "orig content" >file &&
 	git difftool --dir-diff --no-symlinks --extcmd "$PWD/modify-file" branch &&
 	echo "new content" >expect &&
@@ -558,7 +596,7 @@
 echo "$2" >tmpdir
 EOF
 
-test_expect_success PERL 'difftool --no-symlinks detects conflict ' '
+test_expect_success 'difftool --no-symlinks detects conflict ' '
 	(
 		TMPDIR=$TRASH_DIRECTORY &&
 		export TMPDIR &&
@@ -571,7 +609,8 @@
 	)
 '
 
-test_expect_success PERL 'difftool properly honors gitlink and core.worktree' '
+test_expect_success 'difftool properly honors gitlink and core.worktree' '
+	test_when_finished rm -rf submod/ule &&
 	git submodule add ./. submod/ule &&
 	test_config -C submod/ule diff.tool checktrees &&
 	test_config -C submod/ule difftool.checktrees.cmd '\''
@@ -581,11 +620,13 @@
 		cd submod/ule &&
 		echo good >expect &&
 		git difftool --tool=checktrees --dir-diff HEAD~ >actual &&
-		test_cmp expect actual
+		test_cmp expect actual &&
+		rm -f expect actual
 	)
 '
 
-test_expect_success PERL,SYMLINKS 'difftool --dir-diff symlinked directories' '
+test_expect_success SYMLINKS 'difftool --dir-diff symlinked directories' '
+	test_when_finished git reset --hard &&
 	git init dirlinks &&
 	(
 		cd dirlinks &&
@@ -604,4 +645,64 @@
 	)
 '
 
+test_expect_success SYMLINKS 'difftool --dir-diff handles modified symlinks' '
+	test_when_finished git reset --hard &&
+	touch b &&
+	ln -s b c &&
+	git add b c &&
+	test_tick &&
+	git commit -m initial &&
+	touch d &&
+	rm c &&
+	ln -s d c &&
+	cat >expect <<-EOF &&
+		b
+		c
+
+		c
+	EOF
+	git difftool --symlinks --dir-diff --extcmd ls >output &&
+	grep -v ^/ output >actual &&
+	test_cmp expect actual &&
+
+	git difftool --no-symlinks --dir-diff --extcmd ls >output &&
+	grep -v ^/ output >actual &&
+	test_cmp expect actual &&
+
+	# The left side contains symlink "c" that points to "b"
+	test_config difftool.cat.cmd "cat \$LOCAL/c" &&
+	printf "%s\n" b >expect &&
+
+	git difftool --symlinks --dir-diff --tool cat >actual &&
+	test_cmp expect actual &&
+
+	git difftool --symlinks --no-symlinks --dir-diff --tool cat >actual &&
+	test_cmp expect actual &&
+
+	# The right side contains symlink "c" that points to "d"
+	test_config difftool.cat.cmd "cat \$REMOTE/c" &&
+	printf "%s\n" d >expect &&
+
+	git difftool --symlinks --dir-diff --tool cat >actual &&
+	test_cmp expect actual &&
+
+	git difftool --no-symlinks --dir-diff --tool cat >actual &&
+	test_cmp expect actual &&
+
+	# Deleted symlinks
+	rm -f c &&
+	cat >expect <<-EOF &&
+		b
+		c
+
+	EOF
+	git difftool --symlinks --dir-diff --extcmd ls >output &&
+	grep -v ^/ output >actual &&
+	test_cmp expect actual &&
+
+	git difftool --no-symlinks --dir-diff --extcmd ls >output &&
+	grep -v ^/ output >actual &&
+	test_cmp expect actual
+'
+
 test_done
diff --git a/t/t7810-grep.sh b/t/t7810-grep.sh
index 19f0108..cee4209 100755
--- a/t/t7810-grep.sh
+++ b/t/t7810-grep.sh
@@ -982,6 +982,72 @@
 	test_cmp expected actual
 '
 
+test_expect_success 'dashdash disambiguates rev as rev' '
+	test_when_finished "rm -f master" &&
+	echo content >master &&
+	echo master:hello.c >expect &&
+	git grep -l o master -- hello.c >actual &&
+	test_cmp expect actual
+'
+
+test_expect_success 'dashdash disambiguates pathspec as pathspec' '
+	test_when_finished "git rm -f master" &&
+	echo content >master &&
+	git add master &&
+	echo master:content >expect &&
+	git grep o -- master >actual &&
+	test_cmp expect actual
+'
+
+test_expect_success 'report bogus arg without dashdash' '
+	test_must_fail git grep o does-not-exist
+'
+
+test_expect_success 'report bogus rev with dashdash' '
+	test_must_fail git grep o hello.c --
+'
+
+test_expect_success 'allow non-existent path with dashdash' '
+	# We need a real match so grep exits with success.
+	tree=$(git ls-tree HEAD |
+	       sed s/hello.c/not-in-working-tree/ |
+	       git mktree) &&
+	git grep o "$tree" -- not-in-working-tree
+'
+
+test_expect_success 'grep --no-index pattern -- path' '
+	rm -fr non &&
+	mkdir -p non/git &&
+	(
+		GIT_CEILING_DIRECTORIES="$(pwd)/non" &&
+		export GIT_CEILING_DIRECTORIES &&
+		cd non/git &&
+		echo hello >hello &&
+		echo goodbye >goodbye &&
+		echo hello:hello >expect &&
+		git grep --no-index o -- hello >actual &&
+		test_cmp expect actual
+	)
+'
+
+test_expect_success 'grep --no-index complains of revs' '
+	test_must_fail git grep --no-index o master -- 2>err &&
+	test_i18ngrep "cannot be used with revs" err
+'
+
+test_expect_success 'grep --no-index prefers paths to revs' '
+	test_when_finished "rm -f master" &&
+	echo content >master &&
+	echo master:content >expect &&
+	git grep --no-index o master >actual &&
+	test_cmp expect actual
+'
+
+test_expect_success 'grep --no-index does not "diagnose" revs' '
+	test_must_fail git grep --no-index o :1:hello.c 2>err &&
+	test_i18ngrep ! -i "did you mean" err
+'
+
 cat >expected <<EOF
 hello.c:int main(int argc, const char **argv)
 hello.c:	printf("Hello world.\n");
diff --git a/t/t7814-grep-recurse-submodules.sh b/t/t7814-grep-recurse-submodules.sh
new file mode 100755
index 0000000..5b6eb3a
--- /dev/null
+++ b/t/t7814-grep-recurse-submodules.sh
@@ -0,0 +1,316 @@
+#!/bin/sh
+
+test_description='Test grep recurse-submodules feature
+
+This test verifies the recurse-submodules feature correctly greps across
+submodules.
+'
+
+. ./test-lib.sh
+
+test_expect_success 'setup directory structure and submodule' '
+	echo "foobar" >a &&
+	mkdir b &&
+	echo "bar" >b/b &&
+	git add a b &&
+	git commit -m "add a and b" &&
+	git init submodule &&
+	echo "foobar" >submodule/a &&
+	git -C submodule add a &&
+	git -C submodule commit -m "add a" &&
+	git submodule add ./submodule &&
+	git commit -m "added submodule"
+'
+
+test_expect_success 'grep correctly finds patterns in a submodule' '
+	cat >expect <<-\EOF &&
+	a:foobar
+	b/b:bar
+	submodule/a:foobar
+	EOF
+
+	git grep -e "bar" --recurse-submodules >actual &&
+	test_cmp expect actual
+'
+
+test_expect_success 'grep and basic pathspecs' '
+	cat >expect <<-\EOF &&
+	submodule/a:foobar
+	EOF
+
+	git grep -e. --recurse-submodules -- submodule >actual &&
+	test_cmp expect actual
+'
+
+test_expect_success 'grep and nested submodules' '
+	git init submodule/sub &&
+	echo "foobar" >submodule/sub/a &&
+	git -C submodule/sub add a &&
+	git -C submodule/sub commit -m "add a" &&
+	git -C submodule submodule add ./sub &&
+	git -C submodule add sub &&
+	git -C submodule commit -m "added sub" &&
+	git add submodule &&
+	git commit -m "updated submodule" &&
+
+	cat >expect <<-\EOF &&
+	a:foobar
+	b/b:bar
+	submodule/a:foobar
+	submodule/sub/a:foobar
+	EOF
+
+	git grep -e "bar" --recurse-submodules >actual &&
+	test_cmp expect actual
+'
+
+test_expect_success 'grep and multiple patterns' '
+	cat >expect <<-\EOF &&
+	a:foobar
+	submodule/a:foobar
+	submodule/sub/a:foobar
+	EOF
+
+	git grep -e "bar" --and -e "foo" --recurse-submodules >actual &&
+	test_cmp expect actual
+'
+
+test_expect_success 'grep and multiple patterns' '
+	cat >expect <<-\EOF &&
+	b/b:bar
+	EOF
+
+	git grep -e "bar" --and --not -e "foo" --recurse-submodules >actual &&
+	test_cmp expect actual
+'
+
+test_expect_success 'basic grep tree' '
+	cat >expect <<-\EOF &&
+	HEAD:a:foobar
+	HEAD:b/b:bar
+	HEAD:submodule/a:foobar
+	HEAD:submodule/sub/a:foobar
+	EOF
+
+	git grep -e "bar" --recurse-submodules HEAD >actual &&
+	test_cmp expect actual
+'
+
+test_expect_success 'grep tree HEAD^' '
+	cat >expect <<-\EOF &&
+	HEAD^:a:foobar
+	HEAD^:b/b:bar
+	HEAD^:submodule/a:foobar
+	EOF
+
+	git grep -e "bar" --recurse-submodules HEAD^ >actual &&
+	test_cmp expect actual
+'
+
+test_expect_success 'grep tree HEAD^^' '
+	cat >expect <<-\EOF &&
+	HEAD^^:a:foobar
+	HEAD^^:b/b:bar
+	EOF
+
+	git grep -e "bar" --recurse-submodules HEAD^^ >actual &&
+	test_cmp expect actual
+'
+
+test_expect_success 'grep tree and pathspecs' '
+	cat >expect <<-\EOF &&
+	HEAD:submodule/a:foobar
+	HEAD:submodule/sub/a:foobar
+	EOF
+
+	git grep -e "bar" --recurse-submodules HEAD -- submodule >actual &&
+	test_cmp expect actual
+'
+
+test_expect_success 'grep tree and pathspecs' '
+	cat >expect <<-\EOF &&
+	HEAD:submodule/a:foobar
+	HEAD:submodule/sub/a:foobar
+	EOF
+
+	git grep -e "bar" --recurse-submodules HEAD -- "submodule*a" >actual &&
+	test_cmp expect actual
+'
+
+test_expect_success 'grep tree and more pathspecs' '
+	cat >expect <<-\EOF &&
+	HEAD:submodule/a:foobar
+	EOF
+
+	git grep -e "bar" --recurse-submodules HEAD -- "submodul?/a" >actual &&
+	test_cmp expect actual
+'
+
+test_expect_success 'grep tree and more pathspecs' '
+	cat >expect <<-\EOF &&
+	HEAD:submodule/sub/a:foobar
+	EOF
+
+	git grep -e "bar" --recurse-submodules HEAD -- "submodul*/sub/a" >actual &&
+	test_cmp expect actual
+'
+
+test_expect_success !MINGW 'grep recurse submodule colon in name' '
+	git init parent &&
+	test_when_finished "rm -rf parent" &&
+	echo "foobar" >"parent/fi:le" &&
+	git -C parent add "fi:le" &&
+	git -C parent commit -m "add fi:le" &&
+
+	git init "su:b" &&
+	test_when_finished "rm -rf su:b" &&
+	echo "foobar" >"su:b/fi:le" &&
+	git -C "su:b" add "fi:le" &&
+	git -C "su:b" commit -m "add fi:le" &&
+
+	git -C parent submodule add "../su:b" "su:b" &&
+	git -C parent commit -m "add submodule" &&
+
+	cat >expect <<-\EOF &&
+	fi:le:foobar
+	su:b/fi:le:foobar
+	EOF
+	git -C parent grep -e "foobar" --recurse-submodules >actual &&
+	test_cmp expect actual &&
+
+	cat >expect <<-\EOF &&
+	HEAD:fi:le:foobar
+	HEAD:su:b/fi:le:foobar
+	EOF
+	git -C parent grep -e "foobar" --recurse-submodules HEAD >actual &&
+	test_cmp expect actual
+'
+
+test_expect_success 'grep history with moved submoules' '
+	git init parent &&
+	test_when_finished "rm -rf parent" &&
+	echo "foobar" >parent/file &&
+	git -C parent add file &&
+	git -C parent commit -m "add file" &&
+
+	git init sub &&
+	test_when_finished "rm -rf sub" &&
+	echo "foobar" >sub/file &&
+	git -C sub add file &&
+	git -C sub commit -m "add file" &&
+
+	git -C parent submodule add ../sub dir/sub &&
+	git -C parent commit -m "add submodule" &&
+
+	cat >expect <<-\EOF &&
+	dir/sub/file:foobar
+	file:foobar
+	EOF
+	git -C parent grep -e "foobar" --recurse-submodules >actual &&
+	test_cmp expect actual &&
+
+	git -C parent mv dir/sub sub-moved &&
+	git -C parent commit -m "moved submodule" &&
+
+	cat >expect <<-\EOF &&
+	file:foobar
+	sub-moved/file:foobar
+	EOF
+	git -C parent grep -e "foobar" --recurse-submodules >actual &&
+	test_cmp expect actual &&
+
+	cat >expect <<-\EOF &&
+	HEAD^:dir/sub/file:foobar
+	HEAD^:file:foobar
+	EOF
+	git -C parent grep -e "foobar" --recurse-submodules HEAD^ >actual &&
+	test_cmp expect actual
+'
+
+test_expect_success 'grep using relative path' '
+	test_when_finished "rm -rf parent sub" &&
+	git init sub &&
+	echo "foobar" >sub/file &&
+	git -C sub add file &&
+	git -C sub commit -m "add file" &&
+
+	git init parent &&
+	echo "foobar" >parent/file &&
+	git -C parent add file &&
+	mkdir parent/src &&
+	echo "foobar" >parent/src/file2 &&
+	git -C parent add src/file2 &&
+	git -C parent submodule add ../sub &&
+	git -C parent commit -m "add files and submodule" &&
+
+	# From top works
+	cat >expect <<-\EOF &&
+	file:foobar
+	src/file2:foobar
+	sub/file:foobar
+	EOF
+	git -C parent grep --recurse-submodules -e "foobar" >actual &&
+	test_cmp expect actual &&
+
+	# Relative path to top
+	cat >expect <<-\EOF &&
+	../file:foobar
+	file2:foobar
+	../sub/file:foobar
+	EOF
+	git -C parent/src grep --recurse-submodules -e "foobar" -- .. >actual &&
+	test_cmp expect actual &&
+
+	# Relative path to submodule
+	cat >expect <<-\EOF &&
+	../sub/file:foobar
+	EOF
+	git -C parent/src grep --recurse-submodules -e "foobar" -- ../sub >actual &&
+	test_cmp expect actual
+'
+
+test_expect_success 'grep from a subdir' '
+	test_when_finished "rm -rf parent sub" &&
+	git init sub &&
+	echo "foobar" >sub/file &&
+	git -C sub add file &&
+	git -C sub commit -m "add file" &&
+
+	git init parent &&
+	mkdir parent/src &&
+	echo "foobar" >parent/src/file &&
+	git -C parent add src/file &&
+	git -C parent submodule add ../sub src/sub &&
+	git -C parent submodule add ../sub sub &&
+	git -C parent commit -m "add files and submodules" &&
+
+	# Verify grep from root works
+	cat >expect <<-\EOF &&
+	src/file:foobar
+	src/sub/file:foobar
+	sub/file:foobar
+	EOF
+	git -C parent grep --recurse-submodules -e "foobar" >actual &&
+	test_cmp expect actual &&
+
+	# Verify grep from a subdir works
+	cat >expect <<-\EOF &&
+	file:foobar
+	sub/file:foobar
+	EOF
+	git -C parent/src grep --recurse-submodules -e "foobar" >actual &&
+	test_cmp expect actual
+'
+
+test_incompatible_with_recurse_submodules ()
+{
+	test_expect_success "--recurse-submodules and $1 are incompatible" "
+		test_must_fail git grep -e. --recurse-submodules $1 2>actual &&
+		test_i18ngrep 'not supported with --recurse-submodules' actual
+	"
+}
+
+test_incompatible_with_recurse_submodules --untracked
+test_incompatible_with_recurse_submodules --no-index
+
+test_done
diff --git a/t/t9001-send-email.sh b/t/t9001-send-email.sh
index 3dc4a34..60a80f6 100755
--- a/t/t9001-send-email.sh
+++ b/t/t9001-send-email.sh
@@ -50,7 +50,7 @@
 		--smtp-server="$(pwd)/fake.sendmail" \
 		$@ \
 		$patches >stdout &&
-		test_must_fail grep "Send this email" stdout &&
+		! grep "Send this email" stdout &&
 		>no_confirm_okay
 }
 
@@ -148,7 +148,6 @@
 !two@example.com!
 !three@example.com!
 !four@example.com!
-!five@example.com!
 EOF
 "
 
@@ -159,9 +158,9 @@
 	Test Cc: trailers.
 
 	Cc: one@example.com
-	Cc: <two@example.com> # this is part of the name
-	Cc: <three@example.com>, <four@example.com> # not.five@example.com
-	Cc: "Some # Body" <five@example.com> [part.of.name.too]
+	Cc: <two@example.com> # trailing comments are ignored
+	Cc: <three@example.com>, <not.four@example.com> one address per line
+	Cc: "Some # Body" <four@example.com> [ <also.a.comment> ]
 	EOF
 	clean_fake_sendmail &&
 	git send-email -1 --to=recipient@example.com \
diff --git a/t/t9117-git-svn-init-clone.sh b/t/t9117-git-svn-init-clone.sh
index 69a6750..044f65e 100755
--- a/t/t9117-git-svn-init-clone.sh
+++ b/t/t9117-git-svn-init-clone.sh
@@ -55,7 +55,7 @@
 test_expect_success 'init without -s/-T/-b/-t does not warn' '
 	test ! -d trunk &&
 	git svn init "$svnrepo"/project/trunk trunk 2>warning &&
-	test_must_fail grep -q prefix warning &&
+	! grep -q prefix warning &&
 	rm -rf trunk &&
 	rm -f warning
 	'
@@ -63,7 +63,7 @@
 test_expect_success 'clone without -s/-T/-b/-t does not warn' '
 	test ! -d trunk &&
 	git svn clone "$svnrepo"/project/trunk 2>warning &&
-	test_must_fail grep -q prefix warning &&
+	! grep -q prefix warning &&
 	rm -rf trunk &&
 	rm -f warning
 	'
@@ -86,7 +86,7 @@
 test_expect_success 'init with -s/-T/-b/-t assumes --prefix=origin/' '
 	test ! -d project &&
 	git svn init -s "$svnrepo"/project project 2>warning &&
-	test_must_fail grep -q prefix warning &&
+	! grep -q prefix warning &&
 	test_svn_configured_prefix "origin/" &&
 	rm -rf project &&
 	rm -f warning
@@ -95,7 +95,7 @@
 test_expect_success 'clone with -s/-T/-b/-t assumes --prefix=origin/' '
 	test ! -d project &&
 	git svn clone -s "$svnrepo"/project 2>warning &&
-	test_must_fail grep -q prefix warning &&
+	! grep -q prefix warning &&
 	test_svn_configured_prefix "origin/" &&
 	rm -rf project &&
 	rm -f warning
@@ -104,7 +104,7 @@
 test_expect_success 'init with -s/-T/-b/-t and --prefix "" still works' '
 	test ! -d project &&
 	git svn init -s "$svnrepo"/project project --prefix "" 2>warning &&
-	test_must_fail grep -q prefix warning &&
+	! grep -q prefix warning &&
 	test_svn_configured_prefix "" &&
 	rm -rf project &&
 	rm -f warning
@@ -113,7 +113,7 @@
 test_expect_success 'clone with -s/-T/-b/-t and --prefix "" still works' '
 	test ! -d project &&
 	git svn clone -s "$svnrepo"/project --prefix "" 2>warning &&
-	test_must_fail grep -q prefix warning &&
+	! grep -q prefix warning &&
 	test_svn_configured_prefix "" &&
 	rm -rf project &&
 	rm -f warning
diff --git a/t/t9200-git-cvsexportcommit.sh b/t/t9200-git-cvsexportcommit.sh
index bb879a5..1319415 100755
--- a/t/t9200-git-cvsexportcommit.sh
+++ b/t/t9200-git-cvsexportcommit.sh
@@ -18,6 +18,11 @@
     test_done
 fi
 
+if ! test_have_prereq NOT_ROOT; then
+	skip_all='When cvs is compiled with CVS_BADROOT commits as root fail'
+	test_done
+fi
+
 CVSROOT=$PWD/tmpcvsroot
 CVSWORK=$PWD/cvswork
 GIT_DIR=$PWD/.git
diff --git a/t/t9600-cvsimport.sh b/t/t9600-cvsimport.sh
index 4c384ff..804ce38 100755
--- a/t/t9600-cvsimport.sh
+++ b/t/t9600-cvsimport.sh
@@ -3,6 +3,11 @@
 test_description='git cvsimport basic tests'
 . ./lib-cvs.sh
 
+if ! test_have_prereq NOT_ROOT; then
+	skip_all='When cvs is compiled with CVS_BADROOT commits as root fail'
+	test_done
+fi
+
 test_expect_success PERL 'setup cvsroot environment' '
 	CVSROOT=$(pwd)/cvsroot &&
 	export CVSROOT
diff --git a/t/t9800-git-p4-basic.sh b/t/t9800-git-p4-basic.sh
index 4d93522..4849edc 100755
--- a/t/t9800-git-p4-basic.sh
+++ b/t/t9800-git-p4-basic.sh
@@ -277,6 +277,26 @@
 	)
 '
 
+test_expect_success 'submit from worktree' '
+	test_when_finished cleanup_git &&
+	git p4 clone --dest="$git" //depot &&
+	(
+		cd "$git" &&
+		git worktree add ../worktree-test
+	) &&
+	(
+		cd "$git/../worktree-test" &&
+		test_commit "worktree-commit" &&
+		git config git-p4.skipSubmitEdit true &&
+		git p4 submit
+	) &&
+	(
+		cd "$cli" &&
+		p4 sync &&
+		test_path_is_file worktree-commit.t
+	)
+'
+
 test_expect_success 'kill p4d' '
 	kill_p4d
 '
diff --git a/t/t9806-git-p4-options.sh b/t/t9806-git-p4-options.sh
index 254d428..1ab76c4 100755
--- a/t/t9806-git-p4-options.sh
+++ b/t/t9806-git-p4-options.sh
@@ -269,6 +269,38 @@
 	)
 '
 
+test_expect_success 'use --git-dir option and GIT_DIR' '
+	test_when_finished cleanup_git &&
+	git p4 clone //depot --destination="$git" &&
+	(
+		cd "$git" &&
+		git config git-p4.skipSubmitEdit true &&
+		test_commit first-change &&
+		git p4 submit --git-dir "$git"
+	) &&
+	(
+		cd "$cli" &&
+		p4 sync &&
+		test_path_is_file first-change.t &&
+		echo "cli_file" >cli_file.t &&
+		p4 add cli_file.t &&
+		p4 submit -d "cli change"
+	) &&
+	(git --git-dir "$git" p4 sync) &&
+	(cd "$git" && git checkout -q p4/master) &&
+	test_path_is_file "$git"/cli_file.t &&
+	(
+		cd "$cli" &&
+		echo "cli_file2" >cli_file2.t &&
+		p4 add cli_file2.t  &&
+		p4 submit -d "cli change2"
+	) &&
+	(GIT_DIR="$git" git p4 sync) &&
+	(cd "$git" && git checkout -q p4/master) &&
+	test_path_is_file "$git"/cli_file2.t
+'
+
+
 test_expect_success 'kill p4d' '
 	kill_p4d
 '
diff --git a/t/t9807-git-p4-submit.sh b/t/t9807-git-p4-submit.sh
index 5931528..3457d5d 100755
--- a/t/t9807-git-p4-submit.sh
+++ b/t/t9807-git-p4-submit.sh
@@ -139,6 +139,22 @@
 	)
 '
 
+test_expect_success 'allow submit from branch with same revision but different name' '
+	test_when_finished cleanup_git &&
+	git p4 clone --dest="$git" //depot &&
+	(
+		cd "$git" &&
+		test_commit "file8" &&
+		git checkout -b branch1 &&
+		git checkout -b branch2 &&
+		git config git-p4.skipSubmitEdit true &&
+		git config git-p4.allowSubmit "branch1" &&
+		test_must_fail git p4 submit &&
+		git checkout branch1 &&
+		git p4 submit
+	)
+'
+
 #
 # Basic submit tests, the five handled cases
 #
@@ -413,6 +429,75 @@
 	)
 '
 
+test_expect_success 'submit --shelve' '
+	test_when_finished cleanup_git &&
+	git p4 clone --dest="$git" //depot &&
+	(
+		cd "$cli" &&
+		p4 revert ... &&
+		cd "$git" &&
+		git config git-p4.skipSubmitEdit true &&
+		test_commit "shelveme1" &&
+		git p4 submit --origin=HEAD^ &&
+
+		echo 654321 >shelveme2.t &&
+		echo 123456 >>shelveme1.t &&
+		git add shelveme* &&
+		git commit -m"shelvetest" &&
+		git p4 submit --shelve --origin=HEAD^ &&
+
+		test_path_is_file shelveme1.t &&
+		test_path_is_file shelveme2.t
+	) &&
+	(
+		cd "$cli" &&
+		change=$(p4 -G changes -s shelved -m 1 //depot/... | \
+			 marshal_dump change) &&
+		p4 describe -S $change | grep shelveme2 &&
+		p4 describe -S $change | grep 123456 &&
+		test_path_is_file shelveme1.t &&
+		test_path_is_missing shelveme2.t
+	)
+'
+
+# Update an existing shelved changelist
+
+test_expect_success 'submit --update-shelve' '
+	test_when_finished cleanup_git &&
+	git p4 clone --dest="$git" //depot &&
+	(
+		cd "$cli" &&
+		p4 revert ... &&
+		cd "$git" &&
+		git config git-p4.skipSubmitEdit true &&
+		test_commit "test-update-shelved-change" &&
+		git p4 submit --origin=HEAD^ --shelve &&
+
+		shelf_cl=$(p4 -G changes -s shelved -m 1 |\
+			marshal_dump change) &&
+		test -n $shelf_cl &&
+		echo "updating shelved change list $shelf_cl" &&
+
+		echo "updated-line" >>shelf.t &&
+		echo added-file.t >added-file.t &&
+		git add shelf.t added-file.t &&
+		git rm -f test-update-shelved-change.t &&
+		git commit --amend -C HEAD &&
+		git show --stat HEAD &&
+		git p4 submit -v --origin HEAD^ --update-shelve $shelf_cl &&
+		echo "done git p4 submit"
+	) &&
+	(
+		cd "$cli" &&
+		change=$(p4 -G changes -s shelved -m 1 //depot/... | \
+			 marshal_dump change) &&
+		p4 unshelve -c $change -s $change &&
+		grep -q updated-line shelf.t &&
+		p4 describe -S $change | grep added-file.t &&
+		test_path_is_missing test-update-shelved-change.t
+	)
+'
+
 test_expect_success 'kill p4d' '
 	kill_p4d
 '
diff --git a/t/t9813-git-p4-preserve-users.sh b/t/t9813-git-p4-preserve-users.sh
index 0fe2312..bda222a 100755
--- a/t/t9813-git-p4-preserve-users.sh
+++ b/t/t9813-git-p4-preserve-users.sh
@@ -118,21 +118,21 @@
 		make_change_by_user usernamefile3 Derek derek@example.com &&
 		P4EDITOR=cat P4USER=alice P4PASSWD=secret &&
 		export P4EDITOR P4USER P4PASSWD &&
-		git p4 commit |\
-		grep "git author derek@example.com does not match" &&
+		git p4 commit >actual &&
+		grep "git author derek@example.com does not match" actual &&
 
 		make_change_by_user usernamefile3 Charlie charlie@example.com &&
-		git p4 commit |\
-		grep "git author charlie@example.com does not match" &&
+		git p4 commit >actual &&
+		grep "git author charlie@example.com does not match" actual &&
 
 		make_change_by_user usernamefile3 alice alice@example.com &&
-		git p4 commit |\
-		test_must_fail grep "git author.*does not match" &&
+		git p4 commit >actual &&
+		! grep "git author.*does not match" actual &&
 
 		git config git-p4.skipUserNameCheck true &&
 		make_change_by_user usernamefile3 Charlie charlie@example.com &&
-		git p4 commit |\
-		test_must_fail grep "git author.*does not match" &&
+		git p4 commit >actual &&
+		! grep "git author.*does not match" actual &&
 
 		p4_check_commit_author usernamefile3 alice
 	)
diff --git a/t/t9814-git-p4-rename.sh b/t/t9814-git-p4-rename.sh
index c89992c..e7e0268 100755
--- a/t/t9814-git-p4-rename.sh
+++ b/t/t9814-git-p4-rename.sh
@@ -141,7 +141,7 @@
 		git diff-tree -r -C HEAD &&
 		git p4 submit &&
 		p4 filelog //depot/file8 &&
-		p4 filelog //depot/file8 | test_must_fail grep -q "branch from" &&
+		! p4 filelog //depot/file8 | grep -q "branch from" &&
 
 		echo "file9" >>file2 &&
 		git commit -a -m "Differentiate file2" &&
@@ -154,7 +154,7 @@
 		git config git-p4.detectCopies true &&
 		git p4 submit &&
 		p4 filelog //depot/file9 &&
-		p4 filelog //depot/file9 | test_must_fail grep -q "branch from" &&
+		! p4 filelog //depot/file9 | grep -q "branch from" &&
 
 		echo "file10" >>file2 &&
 		git commit -a -m "Differentiate file2" &&
@@ -202,7 +202,7 @@
 		git config git-p4.detectCopies $(($level + 2)) &&
 		git p4 submit &&
 		p4 filelog //depot/file12 &&
-		p4 filelog //depot/file12 | test_must_fail grep -q "branch from" &&
+		! p4 filelog //depot/file12 | grep -q "branch from" &&
 
 		echo "file13" >>file2 &&
 		git commit -a -m "Differentiate file2" &&
diff --git a/t/t9822-git-p4-path-encoding.sh b/t/t9822-git-p4-path-encoding.sh
index 7b83e69..c78477c 100755
--- a/t/t9822-git-p4-path-encoding.sh
+++ b/t/t9822-git-p4-path-encoding.sh
@@ -51,6 +51,22 @@
 	)
 '
 
+test_expect_success 'Delete iso8859-1 encoded paths and clone' '
+	(
+		cd "$cli" &&
+		ISO8859="$(printf "$ISO8859_ESCAPED")" &&
+		p4 delete "$ISO8859" &&
+		p4 submit -d "remove file"
+	) &&
+	git p4 clone --destination="$git" //depot@all &&
+	test_when_finished cleanup_git &&
+	(
+		cd "$git" &&
+		git -c core.quotepath=false ls-files >actual &&
+		test_must_be_empty actual
+	)
+'
+
 test_expect_success 'kill p4d' '
 	kill_p4d
 '
diff --git a/t/t9824-git-p4-git-lfs.sh b/t/t9824-git-p4-git-lfs.sh
index 734b8db..ed80ca8 100755
--- a/t/t9824-git-p4-git-lfs.sh
+++ b/t/t9824-git-p4-git-lfs.sh
@@ -83,9 +83,9 @@
 		#
 		# Git LFS (see https://git-lfs.github.com/)
 		#
-		/file2.dat filter=lfs -text
-		/file4.bin filter=lfs -text
-		/path[[:space:]]with[[:space:]]spaces/file3.bin filter=lfs -text
+		/file2.dat filter=lfs diff=lfs merge=lfs -text
+		/file4.bin filter=lfs diff=lfs merge=lfs -text
+		/path[[:space:]]with[[:space:]]spaces/file3.bin filter=lfs diff=lfs merge=lfs -text
 		EOF
 		test_path_is_file .gitattributes &&
 		test_cmp expect .gitattributes
@@ -111,7 +111,7 @@
 		#
 		# Git LFS (see https://git-lfs.github.com/)
 		#
-		/file4.bin filter=lfs -text
+		/file4.bin filter=lfs diff=lfs merge=lfs -text
 		EOF
 		test_path_is_file .gitattributes &&
 		test_cmp expect .gitattributes
@@ -137,7 +137,7 @@
 		#
 		# Git LFS (see https://git-lfs.github.com/)
 		#
-		*.dat filter=lfs -text
+		*.dat filter=lfs diff=lfs merge=lfs -text
 		EOF
 		test_path_is_file .gitattributes &&
 		test_cmp expect .gitattributes
@@ -165,8 +165,8 @@
 		#
 		# Git LFS (see https://git-lfs.github.com/)
 		#
-		*.dat filter=lfs -text
-		/file4.bin filter=lfs -text
+		*.dat filter=lfs diff=lfs merge=lfs -text
+		/file4.bin filter=lfs diff=lfs merge=lfs -text
 		EOF
 		test_path_is_file .gitattributes &&
 		test_cmp expect .gitattributes
@@ -201,8 +201,8 @@
 		#
 		# Git LFS (see https://git-lfs.github.com/)
 		#
-		/file2.dat filter=lfs -text
-		/path[[:space:]]with[[:space:]]spaces/file3.bin filter=lfs -text
+		/file2.dat filter=lfs diff=lfs merge=lfs -text
+		/path[[:space:]]with[[:space:]]spaces/file3.bin filter=lfs diff=lfs merge=lfs -text
 		EOF
 		test_path_is_file .gitattributes &&
 		test_cmp expect .gitattributes
@@ -239,8 +239,8 @@
 		#
 		# Git LFS (see https://git-lfs.github.com/)
 		#
-		/file2.dat filter=lfs -text
-		/path[[:space:]]with[[:space:]]spaces/file3.bin filter=lfs -text
+		/file2.dat filter=lfs diff=lfs merge=lfs -text
+		/path[[:space:]]with[[:space:]]spaces/file3.bin filter=lfs diff=lfs merge=lfs -text
 		EOF
 		test_path_is_file .gitattributes &&
 		test_cmp expect .gitattributes
@@ -280,7 +280,7 @@
 		#
 		# Git LFS (see https://git-lfs.github.com/)
 		#
-		/file6.bin filter=lfs -text
+		/file6.bin filter=lfs diff=lfs merge=lfs -text
 		EOF
 		test_path_is_file .gitattributes &&
 		test_cmp expect .gitattributes
diff --git a/t/t9902-completion.sh b/t/t9902-completion.sh
index a34e55f..5ed2813 100755
--- a/t/t9902-completion.sh
+++ b/t/t9902-completion.sh
@@ -98,7 +98,7 @@
 {
 	local -a COMPREPLY &&
 	sed -e 's/Z$//' >expected &&
-	cur="$1" &&
+	local cur="$1" &&
 	shift &&
 	__gitcomp "$@" &&
 	print_comp &&
@@ -113,7 +113,7 @@
 {
 	local -a COMPREPLY &&
 	sed -e 's/Z$//' >expected &&
-	cur="$1" &&
+	local cur="$1" &&
 	shift &&
 	__gitcomp_nl "$@" &&
 	print_comp &&
@@ -124,140 +124,296 @@
 
 actual="$TRASH_DIRECTORY/actual"
 
-test_expect_success 'setup for __gitdir tests' '
+if test_have_prereq MINGW
+then
+	ROOT="$(pwd -W)"
+else
+	ROOT="$(pwd)"
+fi
+
+test_expect_success 'setup for __git_find_repo_path/__gitdir tests' '
 	mkdir -p subdir/subsubdir &&
+	mkdir -p non-repo &&
 	git init otherrepo
 '
 
-test_expect_success '__gitdir - from command line (through $__git_dir)' '
-	echo "$TRASH_DIRECTORY/otherrepo/.git" >expected &&
+test_expect_success '__git_find_repo_path - from command line (through $__git_dir)' '
+	echo "$ROOT/otherrepo/.git" >expected &&
 	(
-		__git_dir="$TRASH_DIRECTORY/otherrepo/.git" &&
-		__gitdir >"$actual"
+		__git_dir="$ROOT/otherrepo/.git" &&
+		__git_find_repo_path &&
+		echo "$__git_repo_path" >"$actual"
 	) &&
 	test_cmp expected "$actual"
 '
 
-test_expect_success '__gitdir - repo as argument' '
-	echo "otherrepo/.git" >expected &&
-	__gitdir "otherrepo" >"$actual" &&
-	test_cmp expected "$actual"
-'
-
-test_expect_success '__gitdir - remote as argument' '
-	echo "remote" >expected &&
-	__gitdir "remote" >"$actual" &&
-	test_cmp expected "$actual"
-'
-
-test_expect_success '__gitdir - .git directory in cwd' '
+test_expect_success '__git_find_repo_path - .git directory in cwd' '
 	echo ".git" >expected &&
-	__gitdir >"$actual" &&
+	(
+		__git_find_repo_path &&
+		echo "$__git_repo_path" >"$actual"
+	) &&
 	test_cmp expected "$actual"
 '
 
-test_expect_success '__gitdir - .git directory in parent' '
-	echo "$(pwd -P)/.git" >expected &&
+test_expect_success '__git_find_repo_path - .git directory in parent' '
+	echo "$ROOT/.git" >expected &&
 	(
 		cd subdir/subsubdir &&
-		__gitdir >"$actual"
+		__git_find_repo_path &&
+		echo "$__git_repo_path" >"$actual"
 	) &&
 	test_cmp expected "$actual"
 '
 
-test_expect_success '__gitdir - cwd is a .git directory' '
+test_expect_success '__git_find_repo_path - cwd is a .git directory' '
 	echo "." >expected &&
 	(
 		cd .git &&
-		__gitdir >"$actual"
+		__git_find_repo_path &&
+		echo "$__git_repo_path" >"$actual"
 	) &&
 	test_cmp expected "$actual"
 '
 
-test_expect_success '__gitdir - parent is a .git directory' '
-	echo "$(pwd -P)/.git" >expected &&
+test_expect_success '__git_find_repo_path - parent is a .git directory' '
+	echo "$ROOT/.git" >expected &&
 	(
 		cd .git/refs/heads &&
-		__gitdir >"$actual"
+		__git_find_repo_path &&
+		echo "$__git_repo_path" >"$actual"
 	) &&
 	test_cmp expected "$actual"
 '
 
-test_expect_success '__gitdir - $GIT_DIR set while .git directory in cwd' '
-	echo "$TRASH_DIRECTORY/otherrepo/.git" >expected &&
+test_expect_success '__git_find_repo_path - $GIT_DIR set while .git directory in cwd' '
+	echo "$ROOT/otherrepo/.git" >expected &&
 	(
-		GIT_DIR="$TRASH_DIRECTORY/otherrepo/.git" &&
+		GIT_DIR="$ROOT/otherrepo/.git" &&
 		export GIT_DIR &&
-		__gitdir >"$actual"
+		__git_find_repo_path &&
+		echo "$__git_repo_path" >"$actual"
 	) &&
 	test_cmp expected "$actual"
 '
 
-test_expect_success '__gitdir - $GIT_DIR set while .git directory in parent' '
-	echo "$TRASH_DIRECTORY/otherrepo/.git" >expected &&
+test_expect_success '__git_find_repo_path - $GIT_DIR set while .git directory in parent' '
+	echo "$ROOT/otherrepo/.git" >expected &&
 	(
-		GIT_DIR="$TRASH_DIRECTORY/otherrepo/.git" &&
+		GIT_DIR="$ROOT/otherrepo/.git" &&
 		export GIT_DIR &&
 		cd subdir &&
-		__gitdir >"$actual"
+		__git_find_repo_path &&
+		echo "$__git_repo_path" >"$actual"
 	) &&
 	test_cmp expected "$actual"
 '
 
-test_expect_success '__gitdir - non-existing $GIT_DIR' '
+test_expect_success '__git_find_repo_path - from command line while "git -C"' '
+	echo "$ROOT/.git" >expected &&
 	(
-		GIT_DIR="$TRASH_DIRECTORY/non-existing" &&
-		export GIT_DIR &&
-		test_must_fail __gitdir
-	)
+		__git_dir="$ROOT/.git" &&
+		__git_C_args=(-C otherrepo) &&
+		__git_find_repo_path &&
+		echo "$__git_repo_path" >"$actual"
+	) &&
+	test_cmp expected "$actual"
 '
 
-function pwd_P_W () {
-	if test_have_prereq MINGW
-	then
-		pwd -W
-	else
-		pwd -P
-	fi
-}
+test_expect_success '__git_find_repo_path - relative dir from command line and "git -C"' '
+	echo "$ROOT/otherrepo/.git" >expected &&
+	(
+		cd subdir &&
+		__git_dir="otherrepo/.git" &&
+		__git_C_args=(-C ..) &&
+		__git_find_repo_path &&
+		echo "$__git_repo_path" >"$actual"
+	) &&
+	test_cmp expected "$actual"
+'
 
-test_expect_success '__gitdir - gitfile in cwd' '
-	echo "$(pwd_P_W)/otherrepo/.git" >expected &&
-	echo "gitdir: $(pwd_P_W)/otherrepo/.git" >subdir/.git &&
+test_expect_success '__git_find_repo_path - $GIT_DIR set while "git -C"' '
+	echo "$ROOT/.git" >expected &&
+	(
+		GIT_DIR="$ROOT/.git" &&
+		export GIT_DIR &&
+		__git_C_args=(-C otherrepo) &&
+		__git_find_repo_path &&
+		echo "$__git_repo_path" >"$actual"
+	) &&
+	test_cmp expected "$actual"
+'
+
+test_expect_success '__git_find_repo_path - relative dir in $GIT_DIR and "git -C"' '
+	echo "$ROOT/otherrepo/.git" >expected &&
+	(
+		cd subdir &&
+		GIT_DIR="otherrepo/.git" &&
+		export GIT_DIR &&
+		__git_C_args=(-C ..) &&
+		__git_find_repo_path &&
+		echo "$__git_repo_path" >"$actual"
+	) &&
+	test_cmp expected "$actual"
+'
+
+test_expect_success '__git_find_repo_path - "git -C" while .git directory in cwd' '
+	echo "$ROOT/otherrepo/.git" >expected &&
+	(
+		__git_C_args=(-C otherrepo) &&
+		__git_find_repo_path &&
+		echo "$__git_repo_path" >"$actual"
+	) &&
+	test_cmp expected "$actual"
+'
+
+test_expect_success '__git_find_repo_path - "git -C" while cwd is a .git directory' '
+	echo "$ROOT/otherrepo/.git" >expected &&
+	(
+		cd .git &&
+		__git_C_args=(-C .. -C otherrepo) &&
+		__git_find_repo_path &&
+		echo "$__git_repo_path" >"$actual"
+	) &&
+	test_cmp expected "$actual"
+'
+
+test_expect_success '__git_find_repo_path - "git -C" while .git directory in parent' '
+	echo "$ROOT/otherrepo/.git" >expected &&
+	(
+		cd subdir &&
+		__git_C_args=(-C .. -C otherrepo) &&
+		__git_find_repo_path &&
+		echo "$__git_repo_path" >"$actual"
+	) &&
+	test_cmp expected "$actual"
+'
+
+test_expect_success '__git_find_repo_path - non-existing path in "git -C"' '
+	(
+		__git_C_args=(-C non-existing) &&
+		test_must_fail __git_find_repo_path &&
+		printf "$__git_repo_path" >"$actual"
+	) &&
+	test_must_be_empty "$actual"
+'
+
+test_expect_success '__git_find_repo_path - non-existing path in $__git_dir' '
+	(
+		__git_dir="non-existing" &&
+		test_must_fail __git_find_repo_path &&
+		printf "$__git_repo_path" >"$actual"
+	) &&
+	test_must_be_empty "$actual"
+'
+
+test_expect_success '__git_find_repo_path - non-existing $GIT_DIR' '
+	(
+		GIT_DIR="$ROOT/non-existing" &&
+		export GIT_DIR &&
+		test_must_fail __git_find_repo_path &&
+		printf "$__git_repo_path" >"$actual"
+	) &&
+	test_must_be_empty "$actual"
+'
+
+test_expect_success '__git_find_repo_path - gitfile in cwd' '
+	echo "$ROOT/otherrepo/.git" >expected &&
+	echo "gitdir: $ROOT/otherrepo/.git" >subdir/.git &&
 	test_when_finished "rm -f subdir/.git" &&
 	(
 		cd subdir &&
-		__gitdir >"$actual"
+		__git_find_repo_path &&
+		echo "$__git_repo_path" >"$actual"
 	) &&
 	test_cmp expected "$actual"
 '
 
-test_expect_success '__gitdir - gitfile in parent' '
-	echo "$(pwd_P_W)/otherrepo/.git" >expected &&
-	echo "gitdir: $(pwd_P_W)/otherrepo/.git" >subdir/.git &&
+test_expect_success '__git_find_repo_path - gitfile in parent' '
+	echo "$ROOT/otherrepo/.git" >expected &&
+	echo "gitdir: $ROOT/otherrepo/.git" >subdir/.git &&
 	test_when_finished "rm -f subdir/.git" &&
 	(
 		cd subdir/subsubdir &&
-		__gitdir >"$actual"
+		__git_find_repo_path &&
+		echo "$__git_repo_path" >"$actual"
 	) &&
 	test_cmp expected "$actual"
 '
 
-test_expect_success SYMLINKS '__gitdir - resulting path avoids symlinks' '
-	echo "$(pwd -P)/otherrepo/.git" >expected &&
+test_expect_success SYMLINKS '__git_find_repo_path - resulting path avoids symlinks' '
+	echo "$ROOT/otherrepo/.git" >expected &&
 	mkdir otherrepo/dir &&
 	test_when_finished "rm -rf otherrepo/dir" &&
 	ln -s otherrepo/dir link &&
 	test_when_finished "rm -f link" &&
 	(
 		cd link &&
+		__git_find_repo_path &&
+		echo "$__git_repo_path" >"$actual"
+	) &&
+	test_cmp expected "$actual"
+'
+
+test_expect_success '__git_find_repo_path - not a git repository' '
+	(
+		cd non-repo &&
+		GIT_CEILING_DIRECTORIES="$ROOT" &&
+		export GIT_CEILING_DIRECTORIES &&
+		test_must_fail __git_find_repo_path &&
+		printf "$__git_repo_path" >"$actual"
+	) &&
+	test_must_be_empty "$actual"
+'
+
+test_expect_success '__gitdir - finds repo' '
+	echo "$ROOT/.git" >expected &&
+	(
+		cd subdir/subsubdir &&
 		__gitdir >"$actual"
 	) &&
 	test_cmp expected "$actual"
 '
 
-test_expect_success '__gitdir - not a git repository' '
-	nongit test_must_fail __gitdir
+
+test_expect_success '__gitdir - returns error when cant find repo' '
+	(
+		__git_dir="non-existing" &&
+		test_must_fail __gitdir >"$actual"
+	) &&
+	test_must_be_empty "$actual"
+'
+
+test_expect_success '__gitdir - repo as argument' '
+	echo "otherrepo/.git" >expected &&
+	(
+		__gitdir "otherrepo" >"$actual"
+	) &&
+	test_cmp expected "$actual"
+'
+
+test_expect_success '__gitdir - remote as argument' '
+	echo "remote" >expected &&
+	(
+		__gitdir "remote" >"$actual"
+	) &&
+	test_cmp expected "$actual"
+'
+
+test_expect_success '__gitcomp_direct - puts everything into COMPREPLY as-is' '
+	sed -e "s/Z$//g" >expected <<-EOF &&
+	with-trailing-space Z
+	without-trailing-spaceZ
+	--option Z
+	--option=Z
+	$invalid_variable_name Z
+	EOF
+	(
+		cur=should_be_ignored &&
+		__gitcomp_direct "$(cat expected)" &&
+		print_comp
+	) &&
+	test_cmp expected out
 '
 
 test_expect_success '__gitcomp - trailing space - options' '
@@ -361,10 +517,657 @@
 	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 &&
+	(
+		__git_remotes >actual
+	) &&
 	test_cmp expect actual
 '
 
+test_expect_success '__git_is_configured_remote' '
+	test_when_finished "git remote remove remote_1" &&
+	git remote add remote_1 git://remote_1 &&
+	test_when_finished "git remote remove remote_2" &&
+	git remote add remote_2 git://remote_2 &&
+	(
+		verbose __git_is_configured_remote remote_2 &&
+		test_must_fail __git_is_configured_remote non-existent
+	)
+'
+
+test_expect_success 'setup for ref completion' '
+	git commit --allow-empty -m initial &&
+	git branch matching-branch &&
+	git tag matching-tag &&
+	(
+		cd otherrepo &&
+		git commit --allow-empty -m initial &&
+		git branch -m master master-in-other &&
+		git branch branch-in-other &&
+		git tag tag-in-other
+	) &&
+	git remote add other "$ROOT/otherrepo/.git" &&
+	git fetch --no-tags other &&
+	rm -f .git/FETCH_HEAD &&
+	git init thirdrepo
+'
+
+test_expect_success '__git_refs - simple' '
+	cat >expected <<-EOF &&
+	HEAD
+	master
+	matching-branch
+	other/branch-in-other
+	other/master-in-other
+	matching-tag
+	EOF
+	(
+		cur= &&
+		__git_refs >"$actual"
+	) &&
+	test_cmp expected "$actual"
+'
+
+test_expect_success '__git_refs - full refs' '
+	cat >expected <<-EOF &&
+	refs/heads/master
+	refs/heads/matching-branch
+	refs/remotes/other/branch-in-other
+	refs/remotes/other/master-in-other
+	refs/tags/matching-tag
+	EOF
+	(
+		cur=refs/heads/ &&
+		__git_refs >"$actual"
+	) &&
+	test_cmp expected "$actual"
+'
+
+test_expect_success '__git_refs - repo given on the command line' '
+	cat >expected <<-EOF &&
+	HEAD
+	branch-in-other
+	master-in-other
+	tag-in-other
+	EOF
+	(
+		__git_dir="$ROOT/otherrepo/.git" &&
+		cur= &&
+		__git_refs >"$actual"
+	) &&
+	test_cmp expected "$actual"
+'
+
+test_expect_success '__git_refs - remote on local file system' '
+	cat >expected <<-EOF &&
+	HEAD
+	branch-in-other
+	master-in-other
+	tag-in-other
+	EOF
+	(
+		cur= &&
+		__git_refs otherrepo >"$actual"
+	) &&
+	test_cmp expected "$actual"
+'
+
+test_expect_success '__git_refs - remote on local file system - full refs' '
+	cat >expected <<-EOF &&
+	refs/heads/branch-in-other
+	refs/heads/master-in-other
+	refs/tags/tag-in-other
+	EOF
+	(
+		cur=refs/ &&
+		__git_refs otherrepo >"$actual"
+	) &&
+	test_cmp expected "$actual"
+'
+
+test_expect_success '__git_refs - configured remote' '
+	cat >expected <<-EOF &&
+	HEAD
+	branch-in-other
+	master-in-other
+	EOF
+	(
+		cur= &&
+		__git_refs other >"$actual"
+	) &&
+	test_cmp expected "$actual"
+'
+
+test_expect_success '__git_refs - configured remote - full refs' '
+	cat >expected <<-EOF &&
+	HEAD
+	refs/heads/branch-in-other
+	refs/heads/master-in-other
+	refs/tags/tag-in-other
+	EOF
+	(
+		cur=refs/ &&
+		__git_refs other >"$actual"
+	) &&
+	test_cmp expected "$actual"
+'
+
+test_expect_success '__git_refs - configured remote - repo given on the command line' '
+	cat >expected <<-EOF &&
+	HEAD
+	branch-in-other
+	master-in-other
+	EOF
+	(
+		cd thirdrepo &&
+		__git_dir="$ROOT/.git" &&
+		cur= &&
+		__git_refs other >"$actual"
+	) &&
+	test_cmp expected "$actual"
+'
+
+test_expect_success '__git_refs - configured remote - full refs - repo given on the command line' '
+	cat >expected <<-EOF &&
+	HEAD
+	refs/heads/branch-in-other
+	refs/heads/master-in-other
+	refs/tags/tag-in-other
+	EOF
+	(
+		cd thirdrepo &&
+		__git_dir="$ROOT/.git" &&
+		cur=refs/ &&
+		__git_refs other >"$actual"
+	) &&
+	test_cmp expected "$actual"
+'
+
+test_expect_success '__git_refs - configured remote - remote name matches a directory' '
+	cat >expected <<-EOF &&
+	HEAD
+	branch-in-other
+	master-in-other
+	EOF
+	mkdir other &&
+	test_when_finished "rm -rf other" &&
+	(
+		cur= &&
+		__git_refs other >"$actual"
+	) &&
+	test_cmp expected "$actual"
+'
+
+test_expect_success '__git_refs - URL remote' '
+	cat >expected <<-EOF &&
+	HEAD
+	branch-in-other
+	master-in-other
+	tag-in-other
+	EOF
+	(
+		cur= &&
+		__git_refs "file://$ROOT/otherrepo/.git" >"$actual"
+	) &&
+	test_cmp expected "$actual"
+'
+
+test_expect_success '__git_refs - URL remote - full refs' '
+	cat >expected <<-EOF &&
+	HEAD
+	refs/heads/branch-in-other
+	refs/heads/master-in-other
+	refs/tags/tag-in-other
+	EOF
+	(
+		cur=refs/ &&
+		__git_refs "file://$ROOT/otherrepo/.git" >"$actual"
+	) &&
+	test_cmp expected "$actual"
+'
+
+test_expect_success '__git_refs - non-existing remote' '
+	(
+		cur= &&
+		__git_refs non-existing >"$actual"
+	) &&
+	test_must_be_empty "$actual"
+'
+
+test_expect_success '__git_refs - non-existing remote - full refs' '
+	(
+		cur=refs/ &&
+		__git_refs non-existing >"$actual"
+	) &&
+	test_must_be_empty "$actual"
+'
+
+test_expect_success '__git_refs - non-existing URL remote' '
+	(
+		cur= &&
+		__git_refs "file://$ROOT/non-existing" >"$actual"
+	) &&
+	test_must_be_empty "$actual"
+'
+
+test_expect_success '__git_refs - non-existing URL remote - full refs' '
+	(
+		cur=refs/ &&
+		__git_refs "file://$ROOT/non-existing" >"$actual"
+	) &&
+	test_must_be_empty "$actual"
+'
+
+test_expect_success '__git_refs - not in a git repository' '
+	(
+		GIT_CEILING_DIRECTORIES="$ROOT" &&
+		export GIT_CEILING_DIRECTORIES &&
+		cd subdir &&
+		cur= &&
+		__git_refs >"$actual"
+	) &&
+	test_must_be_empty "$actual"
+'
+
+test_expect_success '__git_refs - unique remote branches for git checkout DWIMery' '
+	cat >expected <<-EOF &&
+	HEAD
+	master
+	matching-branch
+	other/ambiguous
+	other/branch-in-other
+	other/master-in-other
+	remote/ambiguous
+	remote/branch-in-remote
+	matching-tag
+	branch-in-other
+	branch-in-remote
+	master-in-other
+	EOF
+	for remote_ref in refs/remotes/other/ambiguous \
+		refs/remotes/remote/ambiguous \
+		refs/remotes/remote/branch-in-remote
+	do
+		git update-ref $remote_ref master &&
+		test_when_finished "git update-ref -d $remote_ref"
+	done &&
+	(
+		cur= &&
+		__git_refs "" 1 >"$actual"
+	) &&
+	test_cmp expected "$actual"
+'
+
+test_expect_success '__git_refs - after --opt=' '
+	cat >expected <<-EOF &&
+	HEAD
+	master
+	matching-branch
+	other/branch-in-other
+	other/master-in-other
+	matching-tag
+	EOF
+	(
+		cur="--opt=" &&
+		__git_refs "" "" "" "" >"$actual"
+	) &&
+	test_cmp expected "$actual"
+'
+
+test_expect_success '__git_refs - after --opt= - full refs' '
+	cat >expected <<-EOF &&
+	refs/heads/master
+	refs/heads/matching-branch
+	refs/remotes/other/branch-in-other
+	refs/remotes/other/master-in-other
+	refs/tags/matching-tag
+	EOF
+	(
+		cur="--opt=refs/" &&
+		__git_refs "" "" "" refs/ >"$actual"
+	) &&
+	test_cmp expected "$actual"
+'
+
+test_expect_success '__git refs - exluding refs' '
+	cat >expected <<-EOF &&
+	^HEAD
+	^master
+	^matching-branch
+	^other/branch-in-other
+	^other/master-in-other
+	^matching-tag
+	EOF
+	(
+		cur=^ &&
+		__git_refs >"$actual"
+	) &&
+	test_cmp expected "$actual"
+'
+
+test_expect_success '__git refs - exluding full refs' '
+	cat >expected <<-EOF &&
+	^refs/heads/master
+	^refs/heads/matching-branch
+	^refs/remotes/other/branch-in-other
+	^refs/remotes/other/master-in-other
+	^refs/tags/matching-tag
+	EOF
+	(
+		cur=^refs/ &&
+		__git_refs >"$actual"
+	) &&
+	test_cmp expected "$actual"
+'
+
+test_expect_success 'setup for filtering matching refs' '
+	git branch matching/branch &&
+	git tag matching/tag &&
+	git -C otherrepo branch matching/branch-in-other &&
+	git fetch --no-tags other &&
+	rm -f .git/FETCH_HEAD
+'
+
+test_expect_success '__git_refs - dont filter refs unless told so' '
+	cat >expected <<-EOF &&
+	HEAD
+	master
+	matching-branch
+	matching/branch
+	other/branch-in-other
+	other/master-in-other
+	other/matching/branch-in-other
+	matching-tag
+	matching/tag
+	EOF
+	(
+		cur=master &&
+		__git_refs >"$actual"
+	) &&
+	test_cmp expected "$actual"
+'
+
+test_expect_success '__git_refs - only matching refs' '
+	cat >expected <<-EOF &&
+	matching-branch
+	matching/branch
+	matching-tag
+	matching/tag
+	EOF
+	(
+		cur=mat &&
+		__git_refs "" "" "" "$cur" >"$actual"
+	) &&
+	test_cmp expected "$actual"
+'
+
+test_expect_success '__git_refs - only matching refs - full refs' '
+	cat >expected <<-EOF &&
+	refs/heads/matching-branch
+	refs/heads/matching/branch
+	EOF
+	(
+		cur=refs/heads/mat &&
+		__git_refs "" "" "" "$cur" >"$actual"
+	) &&
+	test_cmp expected "$actual"
+'
+
+test_expect_success '__git_refs - only matching refs - remote on local file system' '
+	cat >expected <<-EOF &&
+	master-in-other
+	matching/branch-in-other
+	EOF
+	(
+		cur=ma &&
+		__git_refs otherrepo "" "" "$cur" >"$actual"
+	) &&
+	test_cmp expected "$actual"
+'
+
+test_expect_success '__git_refs - only matching refs - configured remote' '
+	cat >expected <<-EOF &&
+	master-in-other
+	matching/branch-in-other
+	EOF
+	(
+		cur=ma &&
+		__git_refs other "" "" "$cur" >"$actual"
+	) &&
+	test_cmp expected "$actual"
+'
+
+test_expect_success '__git_refs - only matching refs - remote - full refs' '
+	cat >expected <<-EOF &&
+	refs/heads/master-in-other
+	refs/heads/matching/branch-in-other
+	EOF
+	(
+		cur=refs/heads/ma &&
+		__git_refs other "" "" "$cur" >"$actual"
+	) &&
+	test_cmp expected "$actual"
+'
+
+test_expect_success '__git_refs - only matching refs - checkout DWIMery' '
+	cat >expected <<-EOF &&
+	matching-branch
+	matching/branch
+	matching-tag
+	matching/tag
+	matching/branch-in-other
+	EOF
+	for remote_ref in refs/remotes/other/ambiguous \
+		refs/remotes/remote/ambiguous \
+		refs/remotes/remote/branch-in-remote
+	do
+		git update-ref $remote_ref master &&
+		test_when_finished "git update-ref -d $remote_ref"
+	done &&
+	(
+		cur=mat &&
+		__git_refs "" 1 "" "$cur" >"$actual"
+	) &&
+	test_cmp expected "$actual"
+'
+
+test_expect_success 'teardown after filtering matching refs' '
+	git branch -d matching/branch &&
+	git tag -d matching/tag &&
+	git update-ref -d refs/remotes/other/matching/branch-in-other &&
+	git -C otherrepo branch -D matching/branch-in-other
+'
+
+test_expect_success '__git_refs - for-each-ref format specifiers in prefix' '
+	cat >expected <<-EOF &&
+	evil-%%-%42-%(refname)..master
+	EOF
+	(
+		cur="evil-%%-%42-%(refname)..mas" &&
+		__git_refs "" "" "evil-%%-%42-%(refname).." mas >"$actual"
+	) &&
+	test_cmp expected "$actual"
+'
+
+test_expect_success '__git_complete_refs - simple' '
+	sed -e "s/Z$//" >expected <<-EOF &&
+	HEAD Z
+	master Z
+	matching-branch Z
+	other/branch-in-other Z
+	other/master-in-other Z
+	matching-tag Z
+	EOF
+	(
+		cur= &&
+		__git_complete_refs &&
+		print_comp
+	) &&
+	test_cmp expected out
+'
+
+test_expect_success '__git_complete_refs - matching' '
+	sed -e "s/Z$//" >expected <<-EOF &&
+	matching-branch Z
+	matching-tag Z
+	EOF
+	(
+		cur=mat &&
+		__git_complete_refs &&
+		print_comp
+	) &&
+	test_cmp expected out
+'
+
+test_expect_success '__git_complete_refs - remote' '
+	sed -e "s/Z$//" >expected <<-EOF &&
+	HEAD Z
+	branch-in-other Z
+	master-in-other Z
+	EOF
+	(
+		cur=
+		__git_complete_refs --remote=other &&
+		print_comp
+	) &&
+	test_cmp expected out
+'
+
+test_expect_success '__git_complete_refs - track' '
+	sed -e "s/Z$//" >expected <<-EOF &&
+	HEAD Z
+	master Z
+	matching-branch Z
+	other/branch-in-other Z
+	other/master-in-other Z
+	matching-tag Z
+	branch-in-other Z
+	master-in-other Z
+	EOF
+	(
+		cur=
+		__git_complete_refs --track &&
+		print_comp
+	) &&
+	test_cmp expected out
+'
+
+test_expect_success '__git_complete_refs - current word' '
+	sed -e "s/Z$//" >expected <<-EOF &&
+	matching-branch Z
+	matching-tag Z
+	EOF
+	(
+		cur="--option=mat" &&
+		__git_complete_refs --cur="${cur#*=}" &&
+		print_comp
+	) &&
+	test_cmp expected out
+'
+
+test_expect_success '__git_complete_refs - prefix' '
+	sed -e "s/Z$//" >expected <<-EOF &&
+	v1.0..matching-branch Z
+	v1.0..matching-tag Z
+	EOF
+	(
+		cur=v1.0..mat &&
+		__git_complete_refs --pfx=v1.0.. --cur=mat &&
+		print_comp
+	) &&
+	test_cmp expected out
+'
+
+test_expect_success '__git_complete_refs - suffix' '
+	cat >expected <<-EOF &&
+	HEAD.
+	master.
+	matching-branch.
+	other/branch-in-other.
+	other/master-in-other.
+	matching-tag.
+	EOF
+	(
+		cur= &&
+		__git_complete_refs --sfx=. &&
+		print_comp
+	) &&
+	test_cmp expected out
+'
+
+test_expect_success '__git_complete_fetch_refspecs - simple' '
+	sed -e "s/Z$//" >expected <<-EOF &&
+	HEAD:HEAD Z
+	branch-in-other:branch-in-other Z
+	master-in-other:master-in-other Z
+	EOF
+	(
+		cur= &&
+		__git_complete_fetch_refspecs other &&
+		print_comp
+	) &&
+	test_cmp expected out
+'
+
+test_expect_success '__git_complete_fetch_refspecs - matching' '
+	sed -e "s/Z$//" >expected <<-EOF &&
+	branch-in-other:branch-in-other Z
+	EOF
+	(
+		cur=br &&
+		__git_complete_fetch_refspecs other "" br &&
+		print_comp
+	) &&
+	test_cmp expected out
+'
+
+test_expect_success '__git_complete_fetch_refspecs - prefix' '
+	sed -e "s/Z$//" >expected <<-EOF &&
+	+HEAD:HEAD Z
+	+branch-in-other:branch-in-other Z
+	+master-in-other:master-in-other Z
+	EOF
+	(
+		cur="+" &&
+		__git_complete_fetch_refspecs other "+" ""  &&
+		print_comp
+	) &&
+	test_cmp expected out
+'
+
+test_expect_success '__git_complete_fetch_refspecs - fully qualified' '
+	sed -e "s/Z$//" >expected <<-EOF &&
+	refs/heads/branch-in-other:refs/heads/branch-in-other Z
+	refs/heads/master-in-other:refs/heads/master-in-other Z
+	refs/tags/tag-in-other:refs/tags/tag-in-other Z
+	EOF
+	(
+		cur=refs/ &&
+		__git_complete_fetch_refspecs other "" refs/ &&
+		print_comp
+	) &&
+	test_cmp expected out
+'
+
+test_expect_success '__git_complete_fetch_refspecs - fully qualified & prefix' '
+	sed -e "s/Z$//" >expected <<-EOF &&
+	+refs/heads/branch-in-other:refs/heads/branch-in-other Z
+	+refs/heads/master-in-other:refs/heads/master-in-other Z
+	+refs/tags/tag-in-other:refs/tags/tag-in-other Z
+	EOF
+	(
+		cur=+refs/ &&
+		__git_complete_fetch_refspecs other + refs/ &&
+		print_comp
+	) &&
+	test_cmp expected out
+'
+
+test_expect_success 'teardown after ref completion' '
+	git branch -d matching-branch &&
+	git tag -d matching-tag &&
+	git remote remove other
+'
+
 test_expect_success '__git_get_config_variables' '
 	cat >expect <<-EOF &&
 	name-1
@@ -475,7 +1278,12 @@
 	test_completion "git --namespace=foo check" "checkout " &&
 	test_completion "git --paginate check" "checkout " &&
 	test_completion "git --info-path check" "checkout " &&
-	test_completion "git --no-replace-objects check" "checkout "
+	test_completion "git --no-replace-objects check" "checkout " &&
+	test_completion "git --git-dir some/path check" "checkout " &&
+	test_completion "git -c conf.var=value check" "checkout " &&
+	test_completion "git -C some/path check" "checkout " &&
+	test_completion "git --work-tree some/path check" "checkout " &&
+	test_completion "git --namespace name/space check" "checkout "
 '
 
 test_expect_success 'git --help completion' '
@@ -483,10 +1291,10 @@
 	test_completion "git --help core" "core-tutorial "
 '
 
-test_expect_success 'setup for ref completion' '
+test_expect_success 'setup for integration tests' '
 	echo content >file1 &&
 	echo more >file2 &&
-	git add . &&
+	git add file1 file2 &&
 	git commit -m one &&
 	git branch mybranch &&
 	git tag mytag
@@ -500,6 +1308,12 @@
 	EOF
 '
 
+test_expect_success 'git -C <path> checkout uses the right repo' '
+	test_completion "git -C subdir -C subsubdir -C .. -C ../otherrepo checkout b" <<-\EOF
+	branch-in-other Z
+	EOF
+'
+
 test_expect_success 'show completes all refs' '
 	test_completion "git show m" <<-\EOF
 	master Z
@@ -517,7 +1331,7 @@
 
 test_expect_success 'complete tree filename with spaces' '
 	echo content >"name with spaces" &&
-	git add . &&
+	git add "name with spaces" &&
 	git commit -m spaces &&
 	test_completion "git show HEAD:nam" <<-\EOF
 	name with spaces Z
@@ -526,7 +1340,7 @@
 
 test_expect_success 'complete tree filename with metacharacters' '
 	echo content >"name with \${meta}" &&
-	git add . &&
+	git add "name with \${meta}" &&
 	git commit -m meta &&
 	test_completion "git show HEAD:nam" <<-\EOF
 	name with ${meta} Z
diff --git a/t/test-lib-functions.sh b/t/test-lib-functions.sh
index adab7f5..5ee1243 100644
--- a/t/test-lib-functions.sh
+++ b/t/test-lib-functions.sh
@@ -136,17 +136,12 @@
 	export GIT_COMMITTER_DATE GIT_AUTHOR_DATE
 }
 
-# Stop execution and start a shell. This is useful for debugging tests and
-# only makes sense together with "-v".
+# Stop execution and start a shell. This is useful for debugging tests.
 #
 # Be sure to remove all invocations of this command before submitting.
 
 test_pause () {
-	if test "$verbose" = t; then
-		"$SHELL_PATH" <&6 >&3 2>&4
-	else
-		error >&5 "test_pause requires --verbose"
-	fi
+	"$SHELL_PATH" <&6 >&5 2>&7
 }
 
 # Wrap git in gdb. Adding this to a command can make it easier to
@@ -154,19 +149,24 @@
 #
 # Example: "debug git checkout master".
 debug () {
-	 GIT_TEST_GDB=1 "$@"
+	 GIT_TEST_GDB=1 "$@" <&6 >&5 2>&7
 }
 
-# Call test_commit with the arguments "<message> [<file> [<contents> [<tag>]]]"
+# Call test_commit with the arguments
+# [-C <directory>] <message> [<file> [<contents> [<tag>]]]"
 #
 # This will commit a file with the given contents and the given commit
 # message, and tag the resulting commit with the given tag name.
 #
 # <file>, <contents>, and <tag> all default to <message>.
+#
+# If the first argument is "-C", the second argument is used as a path for
+# the git invocations.
 
 test_commit () {
 	notick= &&
 	signoff= &&
+	indir= &&
 	while test $# != 0
 	do
 		case "$1" in
@@ -176,21 +176,26 @@
 		--signoff)
 			signoff="$1"
 			;;
+		-C)
+			indir="$2"
+			shift
+			;;
 		*)
 			break
 			;;
 		esac
 		shift
 	done &&
+	indir=${indir:+"$indir"/} &&
 	file=${2:-"$1.t"} &&
-	echo "${3-$1}" > "$file" &&
-	git add "$file" &&
+	echo "${3-$1}" > "$indir$file" &&
+	git ${indir:+ -C "$indir"} add "$file" &&
 	if test -z "$notick"
 	then
 		test_tick
 	fi &&
-	git commit $signoff -m "$1" &&
-	git tag "${4:-$1}"
+	git ${indir:+ -C "$indir"} commit $signoff -m "$1" &&
+	git ${indir:+ -C "$indir"} tag "${4:-$1}"
 }
 
 # Call test_merge with the arguments "<message> <commit>", where <commit>
diff --git a/t/test-lib.sh b/t/test-lib.sh
index cde7fc7..13b5696 100644
--- a/t/test-lib.sh
+++ b/t/test-lib.sh
@@ -342,6 +342,7 @@
 
 exec 5>&1
 exec 6<&0
+exec 7>&2
 if test "$verbose_log" = "t"
 then
 	exec 3>>"$GIT_TEST_TEE_OUTPUT_FILE" 4>&3
@@ -624,9 +625,9 @@
 		trace=
 		# 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"
+		if test "OK-117" != "$(test_eval_ "(exit 117) && $1${LF}${LF}echo OK-\$?" 3>&1)"
+		then
+			error "bug in the test script: broken &&-chain or run-away HERE-DOC: $1"
 		fi
 		trace=$trace_tmp
 	fi
@@ -966,7 +967,8 @@
 }
 
 # Fix some commands on Windows
-case $(uname -s) in
+uname_s=$(uname -s)
+case $uname_s in
 *MINGW*)
 	# Windows has its own (incompatible) sort and find
 	sort () {
@@ -1141,6 +1143,7 @@
 	return $status
 '
 
+test FreeBSD != $uname_s || GIT_UNZIP=${GIT_UNZIP:-/usr/local/bin/unzip}
 GIT_UNZIP=${GIT_UNZIP:-unzip}
 test_lazy_prereq UNZIP '
 	"$GIT_UNZIP" -v
diff --git a/tag.c b/tag.c
index d1dcd18..243d1fd 100644
--- a/tag.c
+++ b/tag.c
@@ -3,6 +3,7 @@
 #include "commit.h"
 #include "tree.h"
 #include "blob.h"
+#include "gpg-interface.h"
 
 const char *tag_type = "tag";
 
@@ -24,7 +25,9 @@
 
 	ret = check_signature(buf, payload_size, buf + payload_size,
 				size - payload_size, &sigc);
-	print_signature_buffer(&sigc, flags);
+
+	if (!(flags & GPG_VERIFY_OMIT_STATUS))
+		print_signature_buffer(&sigc, flags);
 
 	signature_check_clear(&sigc);
 	return ret;
diff --git a/tempfile.c b/tempfile.c
index 2990c92..6843710 100644
--- a/tempfile.c
+++ b/tempfile.c
@@ -247,12 +247,13 @@
 	tempfile->fd = -1;
 	if (fp) {
 		tempfile->fp = NULL;
-
-		/*
-		 * Note: no short-circuiting here; we want to fclose()
-		 * in any case!
-		 */
-		err = ferror(fp) | fclose(fp);
+		if (ferror(fp)) {
+			err = -1;
+			if (!fclose(fp))
+				errno = EIO;
+		} else {
+			err = fclose(fp);
+		}
 	} else {
 		err = close(fd);
 	}
diff --git a/trailer.c b/trailer.c
index f0ecde2..11f0b9f 100644
--- a/trailer.c
+++ b/trailer.c
@@ -46,6 +46,8 @@
 
 static char *separators = ":";
 
+static int configured;
+
 #define TRAILER_ARG_STRING "$ARG"
 
 static const char *git_generated_prefixes[] = {
@@ -102,12 +104,12 @@
 	return same_token(a, b) && same_value(a, b);
 }
 
-static inline int contains_only_spaces(const char *str)
+static inline int is_blank_line(const char *str)
 {
 	const char *s = str;
-	while (*s && isspace(*s))
+	while (*s && *s != '\n' && isspace(*s))
 		s++;
-	return !*s;
+	return !*s || *s == '\n';
 }
 
 static inline void strbuf_replace(struct strbuf *sb, const char *a, const char *b)
@@ -546,6 +548,17 @@
 	return 0;
 }
 
+static void ensure_configured(void)
+{
+	if (configured)
+		return;
+
+	/* Default config must be setup first */
+	git_config(git_trailer_default_config, NULL);
+	git_config(git_trailer_config, NULL);
+	configured = 1;
+}
+
 static const char *token_from_item(struct arg_item *item, char *tok)
 {
 	if (item->conf.key)
@@ -563,15 +576,32 @@
 }
 
 /*
- * Return the location of the first separator in line, or -1 if there is no
- * separator.
+ * If the given line is of the form
+ * "<token><optional whitespace><separator>..." or "<separator>...", return the
+ * location of the separator. Otherwise, return -1.  The optional whitespace
+ * is allowed there primarily to allow things like "Bug #43" where <token> is
+ * "Bug" and <separator> is "#".
+ *
+ * The separator-starts-line case (in which this function returns 0) is
+ * distinguished from the non-well-formed-line case (in which this function
+ * returns -1) because some callers of this function need such a distinction.
  */
 static int find_separator(const char *line, const char *separators)
 {
-	int loc = strcspn(line, separators);
-	if (!line[loc])
-		return -1;
-	return loc;
+	int whitespace_found = 0;
+	const char *c;
+	for (c = line; *c; c++) {
+		if (strchr(separators, *c))
+			return c - line;
+		if (!whitespace_found && (isalnum(*c) || *c == '-'))
+			continue;
+		if (c != line && (*c == ' ' || *c == '\t')) {
+			whitespace_found = 1;
+			continue;
+		}
+		break;
+	}
+	return -1;
 }
 
 /*
@@ -685,51 +715,71 @@
 	free(cl_separators);
 }
 
-static struct strbuf **read_input_file(const char *file)
+static void read_input_file(struct strbuf *sb, const char *file)
 {
-	struct strbuf **lines;
-	struct strbuf sb = STRBUF_INIT;
-
 	if (file) {
-		if (strbuf_read_file(&sb, file, 0) < 0)
+		if (strbuf_read_file(sb, file, 0) < 0)
 			die_errno(_("could not read input file '%s'"), file);
 	} else {
-		if (strbuf_read(&sb, fileno(stdin), 0) < 0)
+		if (strbuf_read(sb, fileno(stdin), 0) < 0)
 			die_errno(_("could not read from stdin"));
 	}
+}
 
-	lines = strbuf_split(&sb, '\n');
-
-	strbuf_release(&sb);
-
-	return lines;
+static const char *next_line(const char *str)
+{
+	const char *nl = strchrnul(str, '\n');
+	return nl + !!*nl;
 }
 
 /*
- * Return the (0 based) index of the start of the patch or the line
- * count if there is no patch in the message.
+ * Return the position of the start of the last line. If len is 0, return -1.
  */
-static int find_patch_start(struct strbuf **lines, int count)
+static int last_line(const char *buf, size_t len)
 {
 	int i;
+	if (len == 0)
+		return -1;
+	if (len == 1)
+		return 0;
+	/*
+	 * Skip the last character (in addition to the null terminator),
+	 * because if the last character is a newline, it is considered as part
+	 * of the last line anyway.
+	 */
+	i = len - 2;
 
-	/* Get the start of the patch part if any */
-	for (i = 0; i < count; i++) {
-		if (starts_with(lines[i]->buf, "---"))
-			return i;
+	for (; i >= 0; i--) {
+		if (buf[i] == '\n')
+			return i + 1;
 	}
-
-	return count;
+	return 0;
 }
 
 /*
- * Return the (0 based) index of the first trailer line or count if
- * there are no trailers. Trailers are searched only in the lines from
- * index (count - 1) down to index 0.
+ * Return the position of the start of the patch or the length of str if there
+ * is no patch in the message.
  */
-static int find_trailer_start(struct strbuf **lines, int count)
+static int find_patch_start(const char *str)
 {
-	int start, end_of_title, only_spaces = 1;
+	const char *s;
+
+	for (s = str; *s; s = next_line(s)) {
+		if (starts_with(s, "---"))
+			return s - str;
+	}
+
+	return s - str;
+}
+
+/*
+ * Return the position of the first trailer line or len if there are no
+ * trailers.
+ */
+static int find_trailer_start(const char *buf, size_t len)
+{
+	const char *s;
+	int end_of_title, l, only_spaces = 1;
 	int recognized_prefix = 0, trailer_lines = 0, non_trailer_lines = 0;
 	/*
 	 * Number of possible continuation lines encountered. This will be
@@ -741,13 +791,13 @@
 	int possible_continuation_lines = 0;
 
 	/* The first paragraph is the title and cannot be trailers */
-	for (start = 0; start < count; start++) {
-		if (lines[start]->buf[0] == comment_line_char)
+	for (s = buf; s < buf + len; s = next_line(s)) {
+		if (s[0] == comment_line_char)
 			continue;
-		if (contains_only_spaces(lines[start]->buf))
+		if (is_blank_line(s))
 			break;
 	}
-	end_of_title = start;
+	end_of_title = s - buf;
 
 	/*
 	 * Get the start of the trailers by looking starting from the end for a
@@ -755,30 +805,33 @@
 	 * trailers, or (ii) contains at least one Git-generated trailer and
 	 * consists of at least 25% trailers.
 	 */
-	for (start = count - 1; start >= end_of_title; start--) {
+	for (l = last_line(buf, len);
+	     l >= end_of_title;
+	     l = last_line(buf, l)) {
+		const char *bol = buf + l;
 		const char **p;
 		int separator_pos;
 
-		if (lines[start]->buf[0] == comment_line_char) {
+		if (bol[0] == comment_line_char) {
 			non_trailer_lines += possible_continuation_lines;
 			possible_continuation_lines = 0;
 			continue;
 		}
-		if (contains_only_spaces(lines[start]->buf)) {
+		if (is_blank_line(bol)) {
 			if (only_spaces)
 				continue;
 			non_trailer_lines += possible_continuation_lines;
 			if (recognized_prefix &&
 			    trailer_lines * 3 >= non_trailer_lines)
-				return start + 1;
-			if (trailer_lines && !non_trailer_lines)
-				return start + 1;
-			return count;
+				return next_line(bol) - buf;
+			else if (trailer_lines && !non_trailer_lines)
+				return next_line(bol) - buf;
+			return len;
 		}
 		only_spaces = 0;
 
 		for (p = git_generated_prefixes; *p; p++) {
-			if (starts_with(lines[start]->buf, *p)) {
+			if (starts_with(bol, *p)) {
 				trailer_lines++;
 				possible_continuation_lines = 0;
 				recognized_prefix = 1;
@@ -786,8 +839,8 @@
 			}
 		}
 
-		separator_pos = find_separator(lines[start]->buf, separators);
-		if (separator_pos >= 1 && !isspace(lines[start]->buf[0])) {
+		separator_pos = find_separator(bol, separators);
+		if (separator_pos >= 1 && !isspace(bol[0])) {
 			struct list_head *pos;
 
 			trailer_lines++;
@@ -797,13 +850,13 @@
 			list_for_each(pos, &conf_head) {
 				struct arg_item *item;
 				item = list_entry(pos, struct arg_item, list);
-				if (token_matches_item(lines[start]->buf, item,
+				if (token_matches_item(bol, item,
 						       separator_pos)) {
 					recognized_prefix = 1;
 					break;
 				}
 			}
-		} else if (isspace(lines[start]->buf[0]))
+		} else if (isspace(bol[0]))
 			possible_continuation_lines++;
 		else {
 			non_trailer_lines++;
@@ -814,97 +867,64 @@
 		;
 	}
 
-	return count;
+	return len;
 }
 
-/* Get the index of the end of the trailers */
-static int find_trailer_end(struct strbuf **lines, int patch_start)
+/* Return the position of the end of the trailers. */
+static int find_trailer_end(const char *buf, size_t len)
 {
-	struct strbuf sb = STRBUF_INIT;
-	int i, ignore_bytes;
-
-	for (i = 0; i < patch_start; i++)
-		strbuf_addbuf(&sb, lines[i]);
-	ignore_bytes = ignore_non_trailer(&sb);
-	strbuf_release(&sb);
-	for (i = patch_start - 1; i >= 0 && ignore_bytes > 0; i--)
-		ignore_bytes -= lines[i]->len;
-
-	return i + 1;
+	return len - ignore_non_trailer(buf, len);
 }
 
-static int has_blank_line_before(struct strbuf **lines, int start)
+static int ends_with_blank_line(const char *buf, size_t len)
 {
-	for (;start >= 0; start--) {
-		if (lines[start]->buf[0] == comment_line_char)
-			continue;
-		return contains_only_spaces(lines[start]->buf);
-	}
-	return 0;
-}
-
-static void print_lines(FILE *outfile, struct strbuf **lines, int start, int end)
-{
-	int i;
-	for (i = start; lines[i] && i < end; i++)
-		fprintf(outfile, "%s", lines[i]->buf);
+	int ll = last_line(buf, len);
+	if (ll < 0)
+		return 0;
+	return is_blank_line(buf + ll);
 }
 
 static int process_input_file(FILE *outfile,
-			      struct strbuf **lines,
+			      const char *str,
 			      struct list_head *head)
 {
-	int count = 0;
-	int patch_start, trailer_start, trailer_end, i;
+	struct trailer_info info;
 	struct strbuf tok = STRBUF_INIT;
 	struct strbuf val = STRBUF_INIT;
-	struct trailer_item *last = NULL;
+	int i;
 
-	/* Get the line count */
-	while (lines[count])
-		count++;
-
-	patch_start = find_patch_start(lines, count);
-	trailer_end = find_trailer_end(lines, patch_start);
-	trailer_start = find_trailer_start(lines, trailer_end);
+	trailer_info_get(&info, str);
 
 	/* Print lines before the trailers as is */
-	print_lines(outfile, lines, 0, trailer_start);
+	fwrite(str, 1, info.trailer_start - str, outfile);
 
-	if (!has_blank_line_before(lines, trailer_start - 1))
+	if (!info.blank_line_before_trailer)
 		fprintf(outfile, "\n");
 
-	/* Parse trailer lines */
-	for (i = trailer_start; i < trailer_end; i++) {
+	for (i = 0; i < info.trailer_nr; i++) {
 		int separator_pos;
-		if (lines[i]->buf[0] == comment_line_char)
+		char *trailer = info.trailers[i];
+		if (trailer[0] == comment_line_char)
 			continue;
-		if (last && isspace(lines[i]->buf[0])) {
-			struct strbuf sb = STRBUF_INIT;
-			strbuf_addf(&sb, "%s\n%s", last->value, lines[i]->buf);
-			strbuf_strip_suffix(&sb, "\n");
-			free(last->value);
-			last->value = strbuf_detach(&sb, NULL);
-			continue;
-		}
-		separator_pos = find_separator(lines[i]->buf, separators);
+		separator_pos = find_separator(trailer, separators);
 		if (separator_pos >= 1) {
-			parse_trailer(&tok, &val, NULL, lines[i]->buf,
+			parse_trailer(&tok, &val, NULL, trailer,
 				      separator_pos);
-			last = add_trailer_item(head,
-						strbuf_detach(&tok, NULL),
-						strbuf_detach(&val, NULL));
+			add_trailer_item(head,
+					 strbuf_detach(&tok, NULL),
+					 strbuf_detach(&val, NULL));
 		} else {
-			strbuf_addbuf(&val, lines[i]);
+			strbuf_addstr(&val, trailer);
 			strbuf_strip_suffix(&val, "\n");
 			add_trailer_item(head,
 					 NULL,
 					 strbuf_detach(&val, NULL));
-			last = NULL;
 		}
 	}
 
-	return trailer_end;
+	trailer_info_release(&info);
+
+	return info.trailer_end - str;
 }
 
 static void free_all(struct list_head *head)
@@ -951,21 +971,19 @@
 {
 	LIST_HEAD(head);
 	LIST_HEAD(arg_head);
-	struct strbuf **lines;
+	struct strbuf sb = STRBUF_INIT;
 	int trailer_end;
 	FILE *outfile = stdout;
 
-	/* Default config must be setup first */
-	git_config(git_trailer_default_config, NULL);
-	git_config(git_trailer_config, NULL);
+	ensure_configured();
 
-	lines = read_input_file(file);
+	read_input_file(&sb, file);
 
 	if (in_place)
 		outfile = create_in_place_tempfile(file);
 
 	/* Print the lines before the trailers */
-	trailer_end = process_input_file(outfile, lines, &head);
+	trailer_end = process_input_file(outfile, sb.buf, &head);
 
 	process_command_line_args(&arg_head, trailers);
 
@@ -976,11 +994,62 @@
 	free_all(&head);
 
 	/* Print the lines after the trailers as is */
-	print_lines(outfile, lines, trailer_end, INT_MAX);
+	fwrite(sb.buf + trailer_end, 1, sb.len - trailer_end, outfile);
 
 	if (in_place)
 		if (rename_tempfile(&trailers_tempfile, file))
 			die_errno(_("could not rename temporary file to %s"), file);
 
-	strbuf_list_free(lines);
+	strbuf_release(&sb);
+}
+
+void trailer_info_get(struct trailer_info *info, const char *str)
+{
+	int patch_start, trailer_end, trailer_start;
+	struct strbuf **trailer_lines, **ptr;
+	char **trailer_strings = NULL;
+	size_t nr = 0, alloc = 0;
+	char **last = NULL;
+
+	ensure_configured();
+
+	patch_start = find_patch_start(str);
+	trailer_end = find_trailer_end(str, patch_start);
+	trailer_start = find_trailer_start(str, trailer_end);
+
+	trailer_lines = strbuf_split_buf(str + trailer_start,
+					 trailer_end - trailer_start,
+					 '\n',
+					 0);
+	for (ptr = trailer_lines; *ptr; ptr++) {
+		if (last && isspace((*ptr)->buf[0])) {
+			struct strbuf sb = STRBUF_INIT;
+			strbuf_attach(&sb, *last, strlen(*last), strlen(*last));
+			strbuf_addbuf(&sb, *ptr);
+			*last = strbuf_detach(&sb, NULL);
+			continue;
+		}
+		ALLOC_GROW(trailer_strings, nr + 1, alloc);
+		trailer_strings[nr] = strbuf_detach(*ptr, NULL);
+		last = find_separator(trailer_strings[nr], separators) >= 1
+			? &trailer_strings[nr]
+			: NULL;
+		nr++;
+	}
+	strbuf_list_free(trailer_lines);
+
+	info->blank_line_before_trailer = ends_with_blank_line(str,
+							       trailer_start);
+	info->trailer_start = str + trailer_start;
+	info->trailer_end = str + trailer_end;
+	info->trailers = trailer_strings;
+	info->trailer_nr = nr;
+}
+
+void trailer_info_release(struct trailer_info *info)
+{
+	int i;
+	for (i = 0; i < info->trailer_nr; i++)
+		free(info->trailers[i]);
+	free(info->trailers);
 }
diff --git a/trailer.h b/trailer.h
index 36b40b8..65cc5d7 100644
--- a/trailer.h
+++ b/trailer.h
@@ -1,7 +1,32 @@
 #ifndef TRAILER_H
 #define TRAILER_H
 
+struct trailer_info {
+	/*
+	 * True if there is a blank line before the location pointed to by
+	 * trailer_start.
+	 */
+	int blank_line_before_trailer;
+
+	/*
+	 * Pointers to the start and end of the trailer block found. If there
+	 * is no trailer block found, these 2 pointers point to the end of the
+	 * input string.
+	 */
+	const char *trailer_start, *trailer_end;
+
+	/*
+	 * Array of trailers found.
+	 */
+	char **trailers;
+	size_t trailer_nr;
+};
+
 void process_trailers(const char *file, int in_place, int trim_empty,
 		      struct string_list *trailers);
 
+void trailer_info_get(struct trailer_info *info, const char *str);
+
+void trailer_info_release(struct trailer_info *info);
+
 #endif /* TRAILER_H */
diff --git a/transport-helper.c b/transport-helper.c
index 91aed35..3640804 100644
--- a/transport-helper.c
+++ b/transport-helper.c
@@ -124,8 +124,9 @@
 	helper->git_cmd = 0;
 	helper->silent_exec_failure = 1;
 
-	argv_array_pushf(&helper->env_array, "%s=%s", GIT_DIR_ENVIRONMENT,
-			 get_git_dir());
+	if (have_git_dir())
+		argv_array_pushf(&helper->env_array, "%s=%s",
+				 GIT_DIR_ENVIRONMENT, get_git_dir());
 
 	code = start_command(helper);
 	if (code < 0 && errno == ENOENT)
@@ -346,14 +347,11 @@
 static void standard_options(struct transport *t)
 {
 	char buf[16];
-	int n;
 	int v = t->verbose;
 
 	set_helper_option(t, "progress", t->progress ? "true" : "false");
 
-	n = snprintf(buf, sizeof(buf), "%d", v + 1);
-	if (n >= sizeof(buf))
-		die("impossibly large verbosity value");
+	xsnprintf(buf, sizeof(buf), "%d", v + 1);
 	set_helper_option(t, "verbosity", buf);
 
 	switch (t->family) {
@@ -826,6 +824,13 @@
 		if (set_helper_option(transport, TRANS_OPT_PUSH_CERT, "if-asked") != 0)
 			die("helper %s does not support --signed=if-asked", name);
 	}
+
+	if (flags & TRANSPORT_PUSH_OPTIONS) {
+		struct string_list_item *item;
+		for_each_string_list_item(item, transport->push_options)
+			if (set_helper_option(transport, "push-option", item->string) != 0)
+				die("helper %s does not support 'push-option'", name);
+	}
 }
 
 static int push_refs_with_push(struct transport *transport,
diff --git a/transport.c b/transport.c
index 04e5d66..4d33138 100644
--- a/transport.c
+++ b/transport.c
@@ -116,8 +116,8 @@
 	struct child_process *conn;
 	int fd[2];
 	unsigned got_remote_heads : 1;
-	struct sha1_array extra_have;
-	struct sha1_array shallow;
+	struct oid_array extra_have;
+	struct oid_array shallow;
 };
 
 static int set_git_option(struct git_transport_options *opts,
@@ -204,6 +204,7 @@
 static int fetch_refs_via_pack(struct transport *transport,
 			       int nr_heads, struct ref **to_fetch)
 {
+	int ret = 0;
 	struct git_transport_data *data = transport->data;
 	struct ref *refs;
 	char *dest = xstrdup(transport->url);
@@ -241,19 +242,22 @@
 			  &transport->pack_lockfile);
 	close(data->fd[0]);
 	close(data->fd[1]);
-	if (finish_connect(data->conn)) {
-		free_refs(refs);
-		refs = NULL;
-	}
+	if (finish_connect(data->conn))
+		ret = -1;
 	data->conn = NULL;
 	data->got_remote_heads = 0;
 	data->options.self_contained_and_connected =
 		args.self_contained_and_connected;
 
+	if (refs == NULL)
+		ret = -1;
+	if (report_unmatched_refs(to_fetch, nr_heads))
+		ret = -1;
+
 	free_refs(refs_tmp);
 	free_refs(refs);
 	free(dest);
-	return (refs ? 0 : -1);
+	return ret;
 }
 
 static int push_had_errors(struct ref *ref)
@@ -299,7 +303,7 @@
 		if (verbose)
 			fprintf(stderr, "updating local tracking ref '%s'\n", rs.dst);
 		if (ref->deletion) {
-			delete_ref(rs.dst, NULL, 0);
+			delete_ref(NULL, rs.dst, NULL, 0);
 		} else
 			update_ref("update by push", rs.dst,
 					ref->new_oid.hash, NULL, 0, 0);
@@ -443,7 +447,7 @@
 
 static int measure_abbrev(const struct object_id *oid, int sofar)
 {
-	char hex[GIT_SHA1_HEXSZ + 1];
+	char hex[GIT_MAX_HEXSZ + 1];
 	int w = find_unique_abbrev_r(hex, oid->hash, DEFAULT_ABBREV);
 
 	return (w < sofar) ? sofar : w;
@@ -467,11 +471,11 @@
 {
 	struct ref *ref;
 	int n = 0;
-	unsigned char head_sha1[20];
+	struct object_id head_oid;
 	char *head;
 	int summary_width = transport_summary_width(refs);
 
-	head = resolve_refdup("HEAD", RESOLVE_REF_READING, head_sha1, NULL);
+	head = resolve_refdup("HEAD", RESOLVE_REF_READING, head_oid.hash, NULL);
 
 	if (verbose) {
 		for (ref = refs; ref; ref = ref->next)
@@ -664,23 +668,91 @@
 	return enabled ? &allowed : NULL;
 }
 
-int is_transport_allowed(const char *type)
+enum protocol_allow_config {
+	PROTOCOL_ALLOW_NEVER = 0,
+	PROTOCOL_ALLOW_USER_ONLY,
+	PROTOCOL_ALLOW_ALWAYS
+};
+
+static enum protocol_allow_config parse_protocol_config(const char *key,
+							const char *value)
 {
-	const struct string_list *allowed = protocol_whitelist();
-	return !allowed || string_list_has_string(allowed, type);
+	if (!strcasecmp(value, "always"))
+		return PROTOCOL_ALLOW_ALWAYS;
+	else if (!strcasecmp(value, "never"))
+		return PROTOCOL_ALLOW_NEVER;
+	else if (!strcasecmp(value, "user"))
+		return PROTOCOL_ALLOW_USER_ONLY;
+
+	die("unknown value for config '%s': %s", key, value);
+}
+
+static enum protocol_allow_config get_protocol_config(const char *type)
+{
+	char *key = xstrfmt("protocol.%s.allow", type);
+	char *value;
+
+	/* first check the per-protocol config */
+	if (!git_config_get_string(key, &value)) {
+		enum protocol_allow_config ret =
+			parse_protocol_config(key, value);
+		free(key);
+		free(value);
+		return ret;
+	}
+	free(key);
+
+	/* if defined, fallback to user-defined default for unknown protocols */
+	if (!git_config_get_string("protocol.allow", &value)) {
+		enum protocol_allow_config ret =
+			parse_protocol_config("protocol.allow", value);
+		free(value);
+		return ret;
+	}
+
+	/* fallback to built-in defaults */
+	/* known safe */
+	if (!strcmp(type, "http") ||
+	    !strcmp(type, "https") ||
+	    !strcmp(type, "git") ||
+	    !strcmp(type, "ssh") ||
+	    !strcmp(type, "file"))
+		return PROTOCOL_ALLOW_ALWAYS;
+
+	/* known scary; err on the side of caution */
+	if (!strcmp(type, "ext"))
+		return PROTOCOL_ALLOW_NEVER;
+
+	/* unknown; by default let them be used only directly by the user */
+	return PROTOCOL_ALLOW_USER_ONLY;
+}
+
+int is_transport_allowed(const char *type, int from_user)
+{
+	const struct string_list *whitelist = protocol_whitelist();
+	if (whitelist)
+		return string_list_has_string(whitelist, type);
+
+	switch (get_protocol_config(type)) {
+	case PROTOCOL_ALLOW_ALWAYS:
+		return 1;
+	case PROTOCOL_ALLOW_NEVER:
+		return 0;
+	case PROTOCOL_ALLOW_USER_ONLY:
+		if (from_user < 0)
+			from_user = git_env_bool("GIT_PROTOCOL_FROM_USER", 1);
+		return from_user;
+	}
+
+	die("BUG: invalid protocol_allow_config type");
 }
 
 void transport_check_allowed(const char *type)
 {
-	if (!is_transport_allowed(type))
+	if (!is_transport_allowed(type, -1))
 		die("transport '%s' not allowed", type);
 }
 
-int transport_restrict_protocols(void)
-{
-	return !!protocol_whitelist();
-}
-
 struct transport *transport_get(struct remote *remote, const char *url)
 {
 	const char *helper;
@@ -947,44 +1019,54 @@
 			if (run_pre_push_hook(transport, remote_refs))
 				return -1;
 
-		if ((flags & TRANSPORT_RECURSE_SUBMODULES_ON_DEMAND) && !is_bare_repository()) {
+		if ((flags & (TRANSPORT_RECURSE_SUBMODULES_ON_DEMAND |
+			      TRANSPORT_RECURSE_SUBMODULES_ONLY)) &&
+		    !is_bare_repository()) {
 			struct ref *ref = remote_refs;
-			struct sha1_array commits = SHA1_ARRAY_INIT;
+			struct oid_array commits = OID_ARRAY_INIT;
 
 			for (; ref; ref = ref->next)
 				if (!is_null_oid(&ref->new_oid))
-					sha1_array_append(&commits, ref->new_oid.hash);
+					oid_array_append(&commits,
+							  &ref->new_oid);
 
 			if (!push_unpushed_submodules(&commits,
-						      transport->remote->name,
+						      transport->remote,
+						      refspec, refspec_nr,
+						      transport->push_options,
 						      pretend)) {
-				sha1_array_clear(&commits);
+				oid_array_clear(&commits);
 				die("Failed to push all needed submodules!");
 			}
-			sha1_array_clear(&commits);
+			oid_array_clear(&commits);
 		}
 
 		if (((flags & TRANSPORT_RECURSE_SUBMODULES_CHECK) ||
-		     ((flags & TRANSPORT_RECURSE_SUBMODULES_ON_DEMAND) &&
+		     ((flags & (TRANSPORT_RECURSE_SUBMODULES_ON_DEMAND |
+				TRANSPORT_RECURSE_SUBMODULES_ONLY)) &&
 		      !pretend)) && !is_bare_repository()) {
 			struct ref *ref = remote_refs;
 			struct string_list needs_pushing = STRING_LIST_INIT_DUP;
-			struct sha1_array commits = SHA1_ARRAY_INIT;
+			struct oid_array commits = OID_ARRAY_INIT;
 
 			for (; ref; ref = ref->next)
 				if (!is_null_oid(&ref->new_oid))
-					sha1_array_append(&commits, ref->new_oid.hash);
+					oid_array_append(&commits,
+							  &ref->new_oid);
 
 			if (find_unpushed_submodules(&commits, transport->remote->name,
 						&needs_pushing)) {
-				sha1_array_clear(&commits);
+				oid_array_clear(&commits);
 				die_with_unpushed_submodules(&needs_pushing);
 			}
 			string_list_clear(&needs_pushing, 0);
-			sha1_array_clear(&commits);
+			oid_array_clear(&commits);
 		}
 
-		push_ret = transport->push_refs(transport, remote_refs, flags);
+		if (!(flags & TRANSPORT_RECURSE_SUBMODULES_ONLY))
+			push_ret = transport->push_refs(transport, remote_refs, flags);
+		else
+			push_ret = 0;
 		err = push_had_errors(remote_refs);
 		ret = push_ret | err;
 
@@ -996,7 +1078,8 @@
 		if (flags & TRANSPORT_PUSH_SET_UPSTREAM)
 			set_upstreams(transport, remote_refs, pretend);
 
-		if (!(flags & TRANSPORT_PUSH_DRY_RUN)) {
+		if (!(flags & (TRANSPORT_PUSH_DRY_RUN |
+			       TRANSPORT_RECURSE_SUBMODULES_ONLY))) {
 			struct ref *ref;
 			for (ref = remote_refs; ref; ref = ref->next)
 				transport_update_tracking_ref(transport->remote, ref, verbose);
@@ -1131,6 +1214,42 @@
 	return xstrdup(url);
 }
 
+static void read_alternate_refs(const char *path,
+				alternate_ref_fn *cb,
+				void *data)
+{
+	struct child_process cmd = CHILD_PROCESS_INIT;
+	struct strbuf line = STRBUF_INIT;
+	FILE *fh;
+
+	cmd.git_cmd = 1;
+	argv_array_pushf(&cmd.args, "--git-dir=%s", path);
+	argv_array_push(&cmd.args, "for-each-ref");
+	argv_array_push(&cmd.args, "--format=%(objectname) %(refname)");
+	cmd.env = local_repo_env;
+	cmd.out = -1;
+
+	if (start_command(&cmd))
+		return;
+
+	fh = xfdopen(cmd.out, "r");
+	while (strbuf_getline_lf(&line, fh) != EOF) {
+		struct object_id oid;
+
+		if (get_oid_hex(line.buf, &oid) ||
+		    line.buf[GIT_SHA1_HEXSZ] != ' ') {
+			warning("invalid line while parsing alternate refs: %s",
+				line.buf);
+			break;
+		}
+
+		cb(line.buf + GIT_SHA1_HEXSZ + 1, &oid, data);
+	}
+
+	fclose(fh);
+	finish_command(&cmd);
+}
+
 struct alternate_refs_data {
 	alternate_ref_fn *fn;
 	void *data;
@@ -1139,34 +1258,26 @@
 static int refs_from_alternate_cb(struct alternate_object_database *e,
 				  void *data)
 {
-	char *other;
-	size_t len;
-	struct remote *remote;
-	struct transport *transport;
-	const struct ref *extra;
+	struct strbuf path = STRBUF_INIT;
+	size_t base_len;
 	struct alternate_refs_data *cb = data;
 
-	other = xstrdup(real_path(e->path));
-	len = strlen(other);
+	if (!strbuf_realpath(&path, e->path, 0))
+		goto out;
+	if (!strbuf_strip_suffix(&path, "/objects"))
+		goto out;
+	base_len = path.len;
 
-	while (other[len-1] == '/')
-		other[--len] = '\0';
-	if (len < 8 || memcmp(other + len - 8, "/objects", 8))
-		goto out;
 	/* Is this a git repository with refs? */
-	memcpy(other + len - 8, "/refs", 6);
-	if (!is_directory(other))
+	strbuf_addstr(&path, "/refs");
+	if (!is_directory(path.buf))
 		goto out;
-	other[len - 8] = '\0';
-	remote = remote_get(other);
-	transport = transport_get(remote, other);
-	for (extra = transport_get_remote_refs(transport);
-	     extra;
-	     extra = extra->next)
-		cb->fn(extra, cb->data);
-	transport_disconnect(transport);
+	strbuf_setlen(&path, base_len);
+
+	read_alternate_refs(path.buf, cb->fn, cb->data);
+
 out:
-	free(other);
+	strbuf_release(&path);
 	return 0;
 }
 
diff --git a/transport.h b/transport.h
index b8e4ee8..bc55715 100644
--- a/transport.h
+++ b/transport.h
@@ -131,21 +131,22 @@
 	enum transport_family family;
 };
 
-#define TRANSPORT_PUSH_ALL 1
-#define TRANSPORT_PUSH_FORCE 2
-#define TRANSPORT_PUSH_DRY_RUN 4
-#define TRANSPORT_PUSH_MIRROR 8
-#define TRANSPORT_PUSH_PORCELAIN 16
-#define TRANSPORT_PUSH_SET_UPSTREAM 32
-#define TRANSPORT_RECURSE_SUBMODULES_CHECK 64
-#define TRANSPORT_PUSH_PRUNE 128
-#define TRANSPORT_RECURSE_SUBMODULES_ON_DEMAND 256
-#define TRANSPORT_PUSH_NO_HOOK 512
-#define TRANSPORT_PUSH_FOLLOW_TAGS 1024
-#define TRANSPORT_PUSH_CERT_ALWAYS 2048
-#define TRANSPORT_PUSH_CERT_IF_ASKED 4096
-#define TRANSPORT_PUSH_ATOMIC 8192
-#define TRANSPORT_PUSH_OPTIONS 16384
+#define TRANSPORT_PUSH_ALL			(1<<0)
+#define TRANSPORT_PUSH_FORCE			(1<<1)
+#define TRANSPORT_PUSH_DRY_RUN			(1<<2)
+#define TRANSPORT_PUSH_MIRROR			(1<<3)
+#define TRANSPORT_PUSH_PORCELAIN		(1<<4)
+#define TRANSPORT_PUSH_SET_UPSTREAM		(1<<5)
+#define TRANSPORT_RECURSE_SUBMODULES_CHECK	(1<<6)
+#define TRANSPORT_PUSH_PRUNE			(1<<7)
+#define TRANSPORT_RECURSE_SUBMODULES_ON_DEMAND	(1<<8)
+#define TRANSPORT_PUSH_NO_HOOK			(1<<9)
+#define TRANSPORT_PUSH_FOLLOW_TAGS		(1<<10)
+#define TRANSPORT_PUSH_CERT_ALWAYS		(1<<11)
+#define TRANSPORT_PUSH_CERT_IF_ASKED		(1<<12)
+#define TRANSPORT_PUSH_ATOMIC			(1<<13)
+#define TRANSPORT_PUSH_OPTIONS			(1<<14)
+#define TRANSPORT_RECURSE_SUBMODULES_ONLY	(1<<15)
 
 extern int transport_summary_width(const struct ref *refs);
 
@@ -153,10 +154,17 @@
 struct transport *transport_get(struct remote *, const char *);
 
 /*
- * Check whether a transport is allowed by the environment. Type should
- * generally be the URL scheme, as described in Documentation/git.txt
+ * Check whether a transport is allowed by the environment.
+ *
+ * Type should generally be the URL scheme, as described in
+ * Documentation/git.txt
+ *
+ * from_user specifies if the transport was given by the user.  If unknown pass
+ * a -1 to read from the environment to determine if the transport was given by
+ * the user.
+ *
  */
-int is_transport_allowed(const char *type);
+int is_transport_allowed(const char *type, int from_user);
 
 /*
  * Check whether a transport is allowed by the environment,
@@ -164,12 +172,6 @@
  */
 void transport_check_allowed(const char *type);
 
-/*
- * Returns true if the user has attempted to turn on protocol
- * restrictions at all.
- */
-int transport_restrict_protocols(void);
-
 /* Transport options which apply to git:// and scp-style URLs */
 
 /* The program to use on the remote side to send a pack */
@@ -253,6 +255,6 @@
 void transport_print_push_status(const char *dest, struct ref *refs,
 		  int verbose, int porcelain, unsigned int *reject_reasons);
 
-typedef void alternate_ref_fn(const struct ref *, void *);
+typedef void alternate_ref_fn(const char *refname, const struct object_id *oid, void *);
 extern void for_each_alternate_ref(alternate_ref_fn, void *);
 #endif
diff --git a/tree-walk.c b/tree-walk.c
index 828f435..ff77605 100644
--- a/tree-walk.c
+++ b/tree-walk.c
@@ -1004,6 +1004,19 @@
 				 */
 				if (ps->recursive && S_ISDIR(entry->mode))
 					return entry_interesting;
+
+				/*
+				 * When matching against submodules with
+				 * wildcard characters, ensure that the entry
+				 * at least matches up to the first wild
+				 * character.  More accurate matching can then
+				 * be performed in the submodule itself.
+				 */
+				if (ps->recursive && S_ISGITLINK(entry->mode) &&
+				    !ps_strncmp(item, match + baselen,
+						entry->path,
+						item->nowildcard_len - baselen))
+					return entry_interesting;
 			}
 
 			continue;
@@ -1040,6 +1053,21 @@
 			strbuf_setlen(base, base_offset + baselen);
 			return entry_interesting;
 		}
+
+		/*
+		 * When matching against submodules with
+		 * wildcard characters, ensure that the entry
+		 * at least matches up to the first wild
+		 * character.  More accurate matching can then
+		 * be performed in the submodule itself.
+		 */
+		if (ps->recursive && S_ISGITLINK(entry->mode) &&
+		    !ps_strncmp(item, match, base->buf + base_offset,
+				item->nowildcard_len)) {
+			strbuf_setlen(base, base_offset + baselen);
+			return entry_interesting;
+		}
+
 		strbuf_setlen(base, base_offset + baselen);
 
 		/*
diff --git a/unpack-trees.c b/unpack-trees.c
index 7a6df99..6b7356d 100644
--- a/unpack-trees.c
+++ b/unpack-trees.c
@@ -10,6 +10,8 @@
 #include "attr.h"
 #include "split-index.h"
 #include "dir.h"
+#include "submodule.h"
+#include "submodule-config.h"
 
 /*
  * Error messages expected by scripts out of plumbing commands such as
@@ -45,6 +47,9 @@
 
 	/* ERROR_WOULD_LOSE_ORPHANED_REMOVED */
 	"Working tree file '%s' would be removed by sparse checkout update.",
+
+	/* ERROR_WOULD_LOSE_SUBMODULE */
+	"Submodule '%s' cannot checkout new HEAD.",
 };
 
 #define ERRORMSG(o,type) \
@@ -52,6 +57,41 @@
 	  ? ((o)->msgs[(type)])      \
 	  : (unpack_plumbing_errors[(type)]) )
 
+static const char *super_prefixed(const char *path)
+{
+	/*
+	 * It is necessary and sufficient to have two static buffers
+	 * here, as the return value of this function is fed to
+	 * error() using the unpack_*_errors[] templates we see above.
+	 */
+	static struct strbuf buf[2] = {STRBUF_INIT, STRBUF_INIT};
+	static int super_prefix_len = -1;
+	static unsigned idx = ARRAY_SIZE(buf) - 1;
+
+	if (super_prefix_len < 0) {
+		const char *super_prefix = get_super_prefix();
+		if (!super_prefix) {
+			super_prefix_len = 0;
+		} else {
+			int i;
+			for (i = 0; i < ARRAY_SIZE(buf); i++)
+				strbuf_addstr(&buf[i], super_prefix);
+			super_prefix_len = buf[0].len;
+		}
+	}
+
+	if (!super_prefix_len)
+		return path;
+
+	if (++idx >= ARRAY_SIZE(buf))
+		idx = 0;
+
+	strbuf_setlen(&buf[idx], super_prefix_len);
+	strbuf_addstr(&buf[idx], path);
+
+	return buf[idx].buf;
+}
+
 void setup_unpack_trees_porcelain(struct unpack_trees_options *opts,
 				  const char *cmd)
 {
@@ -126,6 +166,8 @@
 		_("The following working tree files would be overwritten by sparse checkout update:\n%s");
 	msgs[ERROR_WOULD_LOSE_ORPHANED_REMOVED] =
 		_("The following working tree files would be removed by sparse checkout update:\n%s");
+	msgs[ERROR_WOULD_LOSE_SUBMODULE] =
+		_("Cannot update submodule:\n%s");
 
 	opts->show_all_errors = 1;
 	/* rejected paths may not have a static buffer */
@@ -172,7 +214,7 @@
 			     const char *path)
 {
 	if (!o->show_all_errors)
-		return error(ERRORMSG(o, e), path);
+		return error(ERRORMSG(o, e), super_prefixed(path));
 
 	/*
 	 * Otherwise, insert in a list for future display by
@@ -196,7 +238,7 @@
 			something_displayed = 1;
 			for (i = 0; i < rejects->nr; i++)
 				strbuf_addf(&path, "\t%s\n", rejects->items[i].string);
-			error(ERRORMSG(o, e), path.buf);
+			error(ERRORMSG(o, e), super_prefixed(path.buf));
 			strbuf_release(&path);
 		}
 		string_list_clear(rejects, 0);
@@ -205,12 +247,75 @@
 		fprintf(stderr, _("Aborting\n"));
 }
 
+static int check_submodule_move_head(const struct cache_entry *ce,
+				     const char *old_id,
+				     const char *new_id,
+				     struct unpack_trees_options *o)
+{
+	const struct submodule *sub = submodule_from_ce(ce);
+	if (!sub)
+		return 0;
+
+	switch (sub->update_strategy.type) {
+	case SM_UPDATE_UNSPECIFIED:
+	case SM_UPDATE_CHECKOUT:
+		if (submodule_move_head(ce->name, old_id, new_id, SUBMODULE_MOVE_HEAD_DRY_RUN))
+			return o->gently ? -1 :
+				add_rejected_path(o, ERROR_WOULD_LOSE_SUBMODULE, ce->name);
+		return 0;
+	case SM_UPDATE_NONE:
+		return 0;
+	case SM_UPDATE_REBASE:
+	case SM_UPDATE_MERGE:
+	case SM_UPDATE_COMMAND:
+	default:
+		warning(_("submodule update strategy not supported for submodule '%s'"), ce->name);
+		return -1;
+	}
+}
+
+static void reload_gitmodules_file(struct index_state *index,
+				   struct checkout *state)
+{
+	int i;
+	for (i = 0; i < index->cache_nr; i++) {
+		struct cache_entry *ce = index->cache[i];
+		if (ce->ce_flags & CE_UPDATE) {
+			int r = strcmp(ce->name, ".gitmodules");
+			if (r < 0)
+				continue;
+			else if (r == 0) {
+				submodule_free();
+				checkout_entry(ce, state, NULL);
+				gitmodules_config();
+				git_config(submodule_config, NULL);
+			} else
+				break;
+		}
+	}
+}
+
 /*
  * Unlink the last component and schedule the leading directories for
  * removal, such that empty directories get removed.
  */
 static void unlink_entry(const struct cache_entry *ce)
 {
+	const struct submodule *sub = submodule_from_ce(ce);
+	if (sub) {
+		switch (sub->update_strategy.type) {
+		case SM_UPDATE_UNSPECIFIED:
+		case SM_UPDATE_CHECKOUT:
+		case SM_UPDATE_REBASE:
+		case SM_UPDATE_MERGE:
+			submodule_move_head(ce->name, "HEAD", NULL,
+					    SUBMODULE_MOVE_HEAD_FORCE);
+			break;
+		case SM_UPDATE_NONE:
+		case SM_UPDATE_COMMAND:
+			return; /* Do not touch the submodule. */
+		}
+	}
 	if (!check_leading_path(ce->name, ce_namelen(ce)))
 		return;
 	if (remove_or_warn(ce->ce_mode, ce->name))
@@ -218,29 +323,42 @@
 	schedule_dir_for_removal(ce->name, ce_namelen(ce));
 }
 
-static int check_updates(struct unpack_trees_options *o,
-			 const struct checkout *state)
+static struct progress *get_progress(struct unpack_trees_options *o)
 {
 	unsigned cnt = 0, total = 0;
-	struct progress *progress = NULL;
 	struct index_state *index = &o->result;
-	int i;
-	int errs = 0;
 
-	if (o->update && o->verbose_update) {
-		for (total = cnt = 0; cnt < index->cache_nr; cnt++) {
-			const struct cache_entry *ce = index->cache[cnt];
-			if (ce->ce_flags & (CE_UPDATE | CE_WT_REMOVE))
-				total++;
-		}
+	if (!o->update || !o->verbose_update)
+		return NULL;
 
-		progress = start_progress_delay(_("Checking out files"),
-						total, 50, 1);
-		cnt = 0;
+	for (; cnt < index->cache_nr; cnt++) {
+		const struct cache_entry *ce = index->cache[cnt];
+		if (ce->ce_flags & (CE_UPDATE | CE_WT_REMOVE))
+			total++;
 	}
 
+	return start_progress_delay(_("Checking out files"),
+				    total, 50, 1);
+}
+
+static int check_updates(struct unpack_trees_options *o)
+{
+	unsigned cnt = 0;
+	int errs = 0;
+	struct progress *progress = NULL;
+	struct index_state *index = &o->result;
+	struct checkout state = CHECKOUT_INIT;
+	int i;
+
+	state.force = 1;
+	state.quiet = 1;
+	state.refresh_cache = 1;
+	state.istate = index;
+
+	progress = get_progress(o);
+
 	if (o->update)
-		git_attr_set_direction(GIT_ATTR_CHECKOUT, &o->result);
+		git_attr_set_direction(GIT_ATTR_CHECKOUT, index);
 	for (i = 0; i < index->cache_nr; i++) {
 		const struct cache_entry *ce = index->cache[i];
 
@@ -248,12 +366,14 @@
 			display_progress(progress, ++cnt);
 			if (o->update && !o->dry_run)
 				unlink_entry(ce);
-			continue;
 		}
 	}
-	remove_marked_cache_entries(&o->result);
+	remove_marked_cache_entries(index);
 	remove_scheduled_dirs();
 
+	if (should_update_submodules() && o->update && !o->dry_run)
+		reload_gitmodules_file(index, &state);
+
 	for (i = 0; i < index->cache_nr; i++) {
 		struct cache_entry *ce = index->cache[i];
 
@@ -264,7 +384,7 @@
 			display_progress(progress, ++cnt);
 			ce->ce_flags &= ~CE_UPDATE;
 			if (o->update && !o->dry_run) {
-				errs |= checkout_entry(ce, state, NULL);
+				errs |= checkout_entry(ce, &state, NULL);
 			}
 		}
 	}
@@ -1094,14 +1214,9 @@
 	int i, ret;
 	static struct cache_entry *dfc;
 	struct exclude_list el;
-	struct checkout state = CHECKOUT_INIT;
 
 	if (len > MAX_UNPACK_TREES)
 		die("unpack_trees takes at most %d trees", MAX_UNPACK_TREES);
-	state.force = 1;
-	state.quiet = 1;
-	state.refresh_cache = 1;
-	state.istate = &o->result;
 
 	memset(&el, 0, sizeof(el));
 	if (!core_apply_sparse_checkout || !o->update)
@@ -1238,7 +1353,7 @@
 	}
 
 	o->src_index = NULL;
-	ret = check_updates(o, &state) ? (-2) : 0;
+	ret = check_updates(o) ? (-2) : 0;
 	if (o->dst_index) {
 		if (!ret) {
 			if (!o->result.cache_tree)
@@ -1316,17 +1431,26 @@
 	if (!lstat(ce->name, &st)) {
 		int flags = CE_MATCH_IGNORE_VALID|CE_MATCH_IGNORE_SKIP_WORKTREE;
 		unsigned changed = ie_match_stat(o->src_index, ce, &st, flags);
+
+		if (submodule_from_ce(ce)) {
+			int r = check_submodule_move_head(ce,
+				"HEAD", oid_to_hex(&ce->oid), o);
+			if (r)
+				return o->gently ? -1 :
+					add_rejected_path(o, error_type, ce->name);
+			return 0;
+		}
+
 		if (!changed)
 			return 0;
 		/*
-		 * NEEDSWORK: the current default policy is to allow
-		 * submodule to be out of sync wrt the superproject
-		 * index.  This needs to be tightened later for
-		 * submodules that are marked to be automatically
-		 * checked out.
+		 * Historic default policy was to allow submodule to be out
+		 * of sync wrt the superproject index. If the submodule was
+		 * not considered interesting above, we don't care here.
 		 */
 		if (S_ISGITLINK(ce->ce_mode))
 			return 0;
+
 		errno = 0;
 	}
 	if (errno == ENOENT)
@@ -1365,11 +1489,16 @@
  * Currently, git does not checkout subprojects during a superproject
  * checkout, so it is not going to overwrite anything.
  */
-static int verify_clean_submodule(const struct cache_entry *ce,
+static int verify_clean_submodule(const char *old_sha1,
+				  const struct cache_entry *ce,
 				  enum unpack_trees_error_types error_type,
 				  struct unpack_trees_options *o)
 {
-	return 0;
+	if (!submodule_from_ce(ce))
+		return 0;
+
+	return check_submodule_move_head(ce, old_sha1,
+					 oid_to_hex(&ce->oid), o);
 }
 
 static int verify_clean_subdirectory(const struct cache_entry *ce,
@@ -1385,16 +1514,18 @@
 	struct dir_struct d;
 	char *pathbuf;
 	int cnt = 0;
-	unsigned char sha1[20];
 
-	if (S_ISGITLINK(ce->ce_mode) &&
-	    resolve_gitlink_ref(ce->name, "HEAD", sha1) == 0) {
-		/* If we are not going to update the submodule, then
+	if (S_ISGITLINK(ce->ce_mode)) {
+		unsigned char sha1[20];
+		int sub_head = resolve_gitlink_ref(ce->name, "HEAD", sha1);
+		/*
+		 * If we are not going to update the submodule, then
 		 * we don't care.
 		 */
-		if (!hashcmp(sha1, ce->oid.hash))
+		if (!sub_head && !hashcmp(sha1, ce->oid.hash))
 			return 0;
-		return verify_clean_submodule(ce, error_type, o);
+		return verify_clean_submodule(sub_head ? NULL : sha1_to_hex(sha1),
+					      ce, error_type, o);
 	}
 
 	/*
@@ -1533,9 +1664,15 @@
 		path = xmemdupz(ce->name, len);
 		if (lstat(path, &st))
 			ret = error_errno("cannot stat '%s'", path);
-		else
-			ret = check_ok_to_remove(path, len, DT_UNKNOWN, NULL,
-						 &st, error_type, o);
+		else {
+			if (submodule_from_ce(ce))
+				ret = check_submodule_move_head(ce,
+								oid_to_hex(&ce->oid),
+								NULL, o);
+			else
+				ret = check_ok_to_remove(path, len, DT_UNKNOWN, NULL,
+							 &st, error_type, o);
+		}
 		free(path);
 		return ret;
 	} else if (lstat(ce->name, &st)) {
@@ -1543,6 +1680,10 @@
 			return error_errno("cannot stat '%s'", ce->name);
 		return 0;
 	} else {
+		if (submodule_from_ce(ce))
+			return check_submodule_move_head(ce, oid_to_hex(&ce->oid),
+							 NULL, o);
+
 		return check_ok_to_remove(ce->name, ce_namelen(ce),
 					  ce_to_dtype(ce), ce, &st,
 					  error_type, o);
@@ -1598,6 +1739,15 @@
 			return -1;
 		}
 		invalidate_ce_path(merge, o);
+
+		if (submodule_from_ce(ce)) {
+			int ret = check_submodule_move_head(ce, NULL,
+							    oid_to_hex(&ce->oid),
+							    o);
+			if (ret)
+				return ret;
+		}
+
 	} else if (!(old->ce_flags & CE_CONFLICTED)) {
 		/*
 		 * See if we can re-use the old CE directly?
@@ -1618,6 +1768,14 @@
 			update |= old->ce_flags & (CE_SKIP_WORKTREE | CE_NEW_SKIP_WORKTREE);
 			invalidate_ce_path(old, o);
 		}
+
+		if (submodule_from_ce(ce)) {
+			int ret = check_submodule_move_head(ce, oid_to_hex(&old->oid),
+							    oid_to_hex(&ce->oid),
+							    o);
+			if (ret)
+				return ret;
+		}
 	} else {
 		/*
 		 * Previously unmerged entry left as an existence
@@ -1918,7 +2076,9 @@
 			     o->merge_size);
 	if (a && old)
 		return o->gently ? -1 :
-			error(ERRORMSG(o, ERROR_BIND_OVERLAP), a->name, old->name);
+			error(ERRORMSG(o, ERROR_BIND_OVERLAP),
+			      super_prefixed(a->name),
+			      super_prefixed(old->name));
 	if (!a)
 		return keep_entry(old, o);
 	else
diff --git a/unpack-trees.h b/unpack-trees.h
index 36a73a6..6c48117b 100644
--- a/unpack-trees.h
+++ b/unpack-trees.h
@@ -21,6 +21,7 @@
 	ERROR_SPARSE_NOT_UPTODATE_FILE,
 	ERROR_WOULD_LOSE_ORPHANED_OVERWRITTEN,
 	ERROR_WOULD_LOSE_ORPHANED_REMOVED,
+	ERROR_WOULD_LOSE_SUBMODULE,
 	NB_UNPACK_TREES_ERROR_TYPES
 };
 
diff --git a/upload-pack.c b/upload-pack.c
index 7597ba3..ffb028d 100644
--- a/upload-pack.c
+++ b/upload-pack.c
@@ -822,9 +822,13 @@
 			use_include_tag = 1;
 
 		o = parse_object(sha1_buf);
-		if (!o)
+		if (!o) {
+			packet_write_fmt(1,
+					 "ERR upload-pack: not our ref %s",
+					 sha1_to_hex(sha1_buf));
 			die("git upload-pack: not our ref %s",
 			    sha1_to_hex(sha1_buf));
+		}
 		if (!(o->flags & WANTED)) {
 			o->flags |= WANTED;
 			if (!((allow_unadvertised_object_request & ALLOW_ANY_SHA1) == ALLOW_ANY_SHA1
diff --git a/urlmatch.c b/urlmatch.c
index 132d342..4bbde92 100644
--- a/urlmatch.c
+++ b/urlmatch.c
@@ -63,7 +63,50 @@
 	return 1;
 }
 
-char *url_normalize(const char *url, struct url_info *out_info)
+static const char *end_of_token(const char *s, int c, size_t n)
+{
+	const char *next = memchr(s, c, n);
+	if (!next)
+		next = s + n;
+	return next;
+}
+
+static int match_host(const struct url_info *url_info,
+		      const struct url_info *pattern_info)
+{
+	const char *url = url_info->url + url_info->host_off;
+	const char *pat = pattern_info->url + pattern_info->host_off;
+	int url_len = url_info->host_len;
+	int pat_len = pattern_info->host_len;
+
+	while (url_len && pat_len) {
+		const char *url_next = end_of_token(url, '.', url_len);
+		const char *pat_next = end_of_token(pat, '.', pat_len);
+
+		if (pat_next == pat + 1 && pat[0] == '*')
+			/* wildcard matches anything */
+			;
+		else if ((pat_next - pat) == (url_next - url) &&
+			 !memcmp(url, pat, url_next - url))
+			/* the components are the same */
+			;
+		else
+			return 0; /* found an unmatch */
+
+		if (url_next < url + url_len)
+			url_next++;
+		url_len -= url_next - url;
+		url = url_next;
+		if (pat_next < pat + pat_len)
+			pat_next++;
+		pat_len -= pat_next - pat;
+		pat = pat_next;
+	}
+
+	return (!url_len && !pat_len);
+}
+
+static char *url_normalize_1(const char *url, struct url_info *out_info, char allow_globs)
 {
 	/*
 	 * Normalize NUL-terminated url using the following rules:
@@ -104,7 +147,7 @@
 	struct strbuf norm;
 	size_t spanned;
 	size_t scheme_len, user_off=0, user_len=0, passwd_off=0, passwd_len=0;
-	size_t host_off=0, host_len=0, port_len=0, path_off, path_len, result_len;
+	size_t host_off=0, host_len=0, port_off=0, port_len=0, path_off, path_len, result_len;
 	const char *slash_ptr, *at_ptr, *colon_ptr, *path_start;
 	char *result;
 
@@ -191,7 +234,12 @@
 		strbuf_release(&norm);
 		return NULL;
 	}
-	spanned = strspn(url, URL_HOST_CHARS);
+
+	if (allow_globs)
+		spanned = strspn(url, URL_HOST_CHARS "*");
+	else
+		spanned = strspn(url, URL_HOST_CHARS);
+
 	if (spanned < colon_ptr - url) {
 		/* Host name has invalid characters */
 		if (out_info) {
@@ -258,6 +306,7 @@
 				return NULL;
 			}
 			strbuf_addch(&norm, ':');
+			port_off = norm.len;
 			strbuf_add(&norm, url, slash_ptr - url);
 			port_len = slash_ptr - url;
 		}
@@ -265,7 +314,7 @@
 		url = slash_ptr;
 	}
 	if (host_off)
-		host_len = norm.len - host_off;
+		host_len = norm.len - host_off - (port_len ? port_len + 1 : 0);
 
 
 	/*
@@ -373,6 +422,7 @@
 		out_info->passwd_len = passwd_len;
 		out_info->host_off = host_off;
 		out_info->host_len = host_len;
+		out_info->port_off = port_off;
 		out_info->port_len = port_len;
 		out_info->path_off = path_off;
 		out_info->path_len = path_len;
@@ -380,6 +430,11 @@
 	return result;
 }
 
+char *url_normalize(const char *url, struct url_info *out_info)
+{
+	return url_normalize_1(url, out_info, 0);
+}
+
 static size_t url_match_prefix(const char *url,
 			       const char *url_prefix,
 			       size_t url_prefix_len)
@@ -414,7 +469,7 @@
 
 static int match_urls(const struct url_info *url,
 		      const struct url_info *url_prefix,
-		      int *exactusermatch)
+		      struct urlmatch_item *match)
 {
 	/*
 	 * url_prefix matches url if the scheme, host and port of url_prefix
@@ -433,8 +488,8 @@
 	 * contained a user name or false if url_prefix did not have a
 	 * user name.  If there is no match *exactusermatch is left untouched.
 	 */
-	int usermatched = 0;
-	int pathmatchlen;
+	char usermatched = 0;
+	size_t pathmatchlen;
 
 	if (!url || !url_prefix || !url->url || !url_prefix->url)
 		return 0;
@@ -454,33 +509,53 @@
 		usermatched = 1;
 	}
 
-	/* check the host and port */
-	if (url_prefix->host_len != url->host_len ||
-	    strncmp(url->url + url->host_off,
-		    url_prefix->url + url_prefix->host_off, url->host_len))
-		return 0; /* host names and/or ports do not match */
+	/* check the host */
+	if (!match_host(url, url_prefix))
+		return 0; /* host names do not match */
+
+	/* check the port */
+	if (url_prefix->port_len != url->port_len ||
+	    strncmp(url->url + url->port_off,
+		    url_prefix->url + url_prefix->port_off, url->port_len))
+		return 0; /* ports do not match */
 
 	/* check the path */
 	pathmatchlen = url_match_prefix(
 		url->url + url->path_off,
 		url_prefix->url + url_prefix->path_off,
 		url_prefix->url_len - url_prefix->path_off);
+	if (!pathmatchlen)
+		return 0; /* paths do not match */
 
-	if (pathmatchlen && exactusermatch)
-		*exactusermatch = usermatched;
-	return pathmatchlen;
+	if (match) {
+		match->hostmatch_len = url_prefix->host_len;
+		match->pathmatch_len = pathmatchlen;
+		match->user_matched = usermatched;
+	}
+
+	return 1;
+}
+
+static int cmp_matches(const struct urlmatch_item *a,
+		       const struct urlmatch_item *b)
+{
+	if (a->hostmatch_len != b->hostmatch_len)
+		return a->hostmatch_len < b->hostmatch_len ? -1 : 1;
+	if (a->pathmatch_len != b->pathmatch_len)
+		return a->pathmatch_len < b->pathmatch_len ? -1 : 1;
+	if (a->user_matched != b->user_matched)
+		return b->user_matched ? -1 : 1;
+	return 0;
 }
 
 int urlmatch_config_entry(const char *var, const char *value, void *cb)
 {
 	struct string_list_item *item;
 	struct urlmatch_config *collect = cb;
-	struct urlmatch_item *matched;
+	struct urlmatch_item matched = {0};
 	struct url_info *url = &collect->url;
 	const char *key, *dot;
 	struct strbuf synthkey = STRBUF_INIT;
-	size_t matched_len = 0;
-	int user_matched = 0;
 	int retval;
 
 	if (!skip_prefix(var, collect->section, &key) || *(key++) != '.') {
@@ -494,13 +569,13 @@
 		struct url_info norm_info;
 
 		config_url = xmemdupz(key, dot - key);
-		norm_url = url_normalize(config_url, &norm_info);
+		norm_url = url_normalize_1(config_url, &norm_info, 1);
 		free(config_url);
 		if (!norm_url)
 			return 0;
-		matched_len = match_urls(url, &norm_info, &user_matched);
+		retval = match_urls(url, &norm_info, &matched);
 		free(norm_url);
-		if (!matched_len)
+		if (!retval)
 			return 0;
 		key = dot + 1;
 	}
@@ -510,24 +585,18 @@
 
 	item = string_list_insert(&collect->vars, key);
 	if (!item->util) {
-		matched = xcalloc(1, sizeof(*matched));
-		item->util = matched;
+		item->util = xcalloc(1, sizeof(matched));
 	} else {
-		matched = item->util;
-		/*
-		 * Is our match shorter?  Is our match the same
-		 * length, and without user while the current
-		 * candidate is with user?  Then we cannot use it.
-		 */
-		if (matched_len < matched->matched_len ||
-		    ((matched_len == matched->matched_len) &&
-		     (!user_matched && matched->user_matched)))
+		if (cmp_matches(&matched, item->util) < 0)
+			 /*
+			  * Our match is worse than the old one,
+			  * we cannot use it.
+			  */
 			return 0;
 		/* Otherwise, replace it with this one. */
 	}
 
-	matched->matched_len = matched_len;
-	matched->user_matched = user_matched;
+	memcpy(item->util, &matched, sizeof(matched));
 	strbuf_addstr(&synthkey, collect->section);
 	strbuf_addch(&synthkey, '.');
 	strbuf_addstr(&synthkey, key);
diff --git a/urlmatch.h b/urlmatch.h
index 528862a..37ee5da 100644
--- a/urlmatch.h
+++ b/urlmatch.h
@@ -18,11 +18,12 @@
 	size_t passwd_len;	/* length of passwd; if passwd_off != 0 but
 				   passwd_len == 0, an empty passwd was given */
 	size_t host_off;	/* offset into url to start of host name (0 => none) */
-	size_t host_len;	/* length of host name; this INCLUDES any ':portnum';
+	size_t host_len;	/* length of host name;
 				 * file urls may have host_len == 0 */
-	size_t port_len;	/* if a portnum is present (port_len != 0), it has
-				 * this length (excluding the leading ':') at the
-				 * end of the host name (always 0 for file urls) */
+	size_t port_off;	/* offset into url to start of port number (0 => none) */
+	size_t port_len;	/* if a portnum is present (port_off != 0), it has
+				 * this length (excluding the leading ':') starting
+				 * from port_off (always 0 for file urls) */
 	size_t path_off;	/* offset into url to the start of the url path;
 				 * this will always point to a '/' character
 				 * after the url has been normalized */
@@ -33,7 +34,8 @@
 extern char *url_normalize(const char *, struct url_info *);
 
 struct urlmatch_item {
-	size_t matched_len;
+	size_t hostmatch_len;
+	size_t pathmatch_len;
 	char user_matched;
 };
 
diff --git a/usage.c b/usage.c
index 17f52c1..ad6d291 100644
--- a/usage.c
+++ b/usage.c
@@ -7,21 +7,19 @@
 #include "cache.h"
 
 static FILE *error_handle;
-static int tweaked_error_buffering;
 
 void vreportf(const char *prefix, const char *err, va_list params)
 {
+	char msg[4096];
 	FILE *fh = error_handle ? error_handle : stderr;
+	char *p;
 
-	fflush(fh);
-	if (!tweaked_error_buffering) {
-		setvbuf(fh, NULL, _IOLBF, 0);
-		tweaked_error_buffering = 1;
+	vsnprintf(msg, sizeof(msg), err, params);
+	for (p = msg; *p; p++) {
+		if (iscntrl(*p) && *p != '\t' && *p != '\n')
+			*p = '?';
 	}
-
-	fputs(prefix, fh);
-	vfprintf(fh, err, params);
-	fputc('\n', fh);
+	fprintf(fh, "%s%s\n", prefix, msg);
 }
 
 static NORETURN void usage_builtin(const char *err, va_list params)
@@ -93,7 +91,6 @@
 void set_error_handle(FILE *fh)
 {
 	error_handle = fh;
-	tweaked_error_buffering = 0;
 }
 
 void NORETURN usagef(const char *err, ...)
diff --git a/userdiff.c b/userdiff.c
index 2125d6d..8b732e4 100644
--- a/userdiff.c
+++ b/userdiff.c
@@ -262,25 +262,22 @@
 
 struct userdiff_driver *userdiff_find_by_path(const char *path)
 {
-	static struct git_attr *attr;
-	struct git_attr_check check;
+	static struct attr_check *check;
 
-	if (!attr)
-		attr = git_attr("diff");
-	check.attr = attr;
-
+	if (!check)
+		check = attr_check_initl("diff", NULL);
 	if (!path)
 		return NULL;
-	if (git_check_attr(path, 1, &check))
+	if (git_check_attr(path, check))
 		return NULL;
 
-	if (ATTR_TRUE(check.value))
+	if (ATTR_TRUE(check->items[0].value))
 		return &driver_true;
-	if (ATTR_FALSE(check.value))
+	if (ATTR_FALSE(check->items[0].value))
 		return &driver_false;
-	if (ATTR_UNSET(check.value))
+	if (ATTR_UNSET(check->items[0].value))
 		return NULL;
-	return userdiff_find_by_name(check.value);
+	return userdiff_find_by_name(check->items[0].value);
 }
 
 struct userdiff_driver *userdiff_get_textconv(struct userdiff_driver *driver)
diff --git a/versioncmp.c b/versioncmp.c
index 80bfd10..9f81dc1 100644
--- a/versioncmp.c
+++ b/versioncmp.c
@@ -24,42 +24,83 @@
 static const struct string_list *prereleases;
 static int initialized;
 
+struct suffix_match {
+	int conf_pos;
+	int start;
+	int len;
+};
+
+static void find_better_matching_suffix(const char *tagname, const char *suffix,
+					int suffix_len, int start, int conf_pos,
+					struct suffix_match *match)
+{
+	/*
+	 * A better match either starts earlier or starts at the same offset
+	 * but is longer.
+	 */
+	int end = match->len < suffix_len ? match->start : match->start-1;
+	int i;
+	for (i = start; i <= end; i++)
+		if (starts_with(tagname + i, suffix)) {
+			match->conf_pos = conf_pos;
+			match->start = i;
+			match->len = suffix_len;
+			break;
+		}
+}
+
 /*
- * 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.
+ * off is the offset of the first different character in the two strings
+ * s1 and s2. If either s1 or s2 contains a prerelease suffix containing
+ * that offset or a suffix ends right before that offset, then that
+ * string 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.
+ * If both s1 and s2 contain a (different) suffix around that position,
+ * their order is determined by the order of those two suffixes in the
+ * configuration.
+ * If any of the strings contains more than one different suffixes around
+ * that position, then that string is sorted according to the contained
+ * suffix which starts at the earliest offset in that string.
+ * If more than one different contained suffixes start at that earliest
+ * offset, then that string is sorted according to the longest of those
+ * suffixes.
  *
  * Return non-zero if *diff contains the return value for versioncmp()
  */
-static int swap_prereleases(const void *p1_,
-			    const void *p2_,
+static int swap_prereleases(const char *s1,
+			    const char *s2,
+			    int off,
 			    int *diff)
 {
-	const char *p1 = p1_;
-	const char *p2 = p2_;
-	int i, i1 = -1, i2 = -1;
+	int i;
+	struct suffix_match match1 = { -1, off, -1 };
+	struct suffix_match match2 = { -1, off, -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;
+		int start, suffix_len = strlen(suffix);
+		if (suffix_len < off)
+			start = off - suffix_len;
+		else
+			start = 0;
+		find_better_matching_suffix(s1, suffix, suffix_len, start,
+					    i, &match1);
+		find_better_matching_suffix(s2, suffix, suffix_len, start,
+					    i, &match2);
 	}
-	if (i1 == -1 && i2 == -1)
+	if (match1.conf_pos == -1 && match2.conf_pos == -1)
 		return 0;
-	if (i1 >= 0 && i2 >= 0)
-		*diff = i1 - i2;
-	else if (i1 >= 0)
+	if (match1.conf_pos == match2.conf_pos)
+		/* Found the same suffix in both, e.g. "-rc" in "v1.0-rcX"
+		 * and "v1.0-rcY": the caller should decide based on "X"
+		 * and "Y". */
+		return 0;
+
+	if (match1.conf_pos >= 0 && match2.conf_pos >= 0)
+		*diff = match1.conf_pos - match2.conf_pos;
+	else if (match1.conf_pos >= 0)
 		*diff = -1;
-	else /* if (i2 >= 0) */
+	else /* if (match2.conf_pos >= 0) */
 		*diff = 1;
 	return 1;
 }
@@ -118,10 +159,18 @@
 	}
 
 	if (!initialized) {
+		const struct string_list *deprecated_prereleases;
 		initialized = 1;
-		prereleases = git_config_get_value_multi("versionsort.prereleasesuffix");
+		prereleases = git_config_get_value_multi("versionsort.suffix");
+		deprecated_prereleases = git_config_get_value_multi("versionsort.prereleasesuffix");
+		if (prereleases) {
+			if (deprecated_prereleases)
+				warning("ignoring versionsort.prereleasesuffix because versionsort.suffix is set");
+		} else
+			prereleases = deprecated_prereleases;
 	}
-	if (prereleases && swap_prereleases(p1 - 1, p2 - 1, &diff))
+	if (prereleases && swap_prereleases(s1, s2, (const char *) p1 - s1 - 1,
+					    &diff))
 		return diff;
 
 	state = result_type[state * 3 + (((c2 == '0') + (isdigit (c2) != 0)))];
diff --git a/worktree.c b/worktree.c
index eb61212..bae787c 100644
--- a/worktree.c
+++ b/worktree.c
@@ -145,7 +145,7 @@
 
 static void mark_current_worktree(struct worktree **worktrees)
 {
-	char *git_dir = xstrdup(absolute_path(get_git_dir()));
+	char *git_dir = absolute_pathdup(get_git_dir());
 	int i;
 
 	for (i = 0; worktrees[i]; i++) {
@@ -175,7 +175,7 @@
 	struct dirent *d;
 	int counter = 0, alloc = 2;
 
-	list = xmalloc(alloc * sizeof(struct worktree *));
+	ALLOC_ARRAY(list, alloc);
 
 	list[counter++] = get_main_worktree();
 
@@ -250,16 +250,19 @@
 {
 	struct worktree *wt;
 	char *path;
+	char *to_free = NULL;
 
 	if ((wt = find_worktree_by_suffix(list, arg)))
 		return wt;
 
-	arg = prefix_filename(prefix, strlen(prefix), arg);
-	path = xstrdup(real_path(arg));
+	if (prefix)
+		arg = to_free = prefix_filename(prefix, arg);
+	path = real_pathdup(arg, 1);
 	for (; *list; list++)
 		if (!fspathcmp(path, real_path((*list)->path)))
 			break;
 	free(path);
+	free(to_free);
 	return *list;
 }
 
@@ -380,3 +383,53 @@
 
 	return existing;
 }
+
+int submodule_uses_worktrees(const char *path)
+{
+	char *submodule_gitdir;
+	struct strbuf sb = STRBUF_INIT;
+	DIR *dir;
+	struct dirent *d;
+	int ret = 0;
+	struct repository_format format;
+
+	submodule_gitdir = git_pathdup_submodule(path, "%s", "");
+	if (!submodule_gitdir)
+		return 0;
+
+	/* The env would be set for the superproject. */
+	get_common_dir_noenv(&sb, submodule_gitdir);
+
+	/*
+	 * The check below is only known to be good for repository format
+	 * version 0 at the time of writing this code.
+	 */
+	strbuf_addstr(&sb, "/config");
+	read_repository_format(&format, sb.buf);
+	if (format.version != 0) {
+		strbuf_release(&sb);
+		return 1;
+	}
+
+	/* Replace config by worktrees. */
+	strbuf_setlen(&sb, sb.len - strlen("config"));
+	strbuf_addstr(&sb, "worktrees");
+
+	/* See if there is any file inside the worktrees directory. */
+	dir = opendir(sb.buf);
+	strbuf_release(&sb);
+	free(submodule_gitdir);
+
+	if (!dir)
+		return 0;
+
+	while ((d = readdir(dir)) != NULL) {
+		if (is_dot_or_dotdot(d->d_name))
+			continue;
+
+		ret = 1;
+		break;
+	}
+	closedir(dir);
+	return ret;
+}
diff --git a/worktree.h b/worktree.h
index d59ce1f..6bfb985 100644
--- a/worktree.h
+++ b/worktree.h
@@ -28,6 +28,11 @@
 extern struct worktree **get_worktrees(unsigned flags);
 
 /*
+ * Returns 1 if linked worktrees exist, 0 otherwise.
+ */
+extern int submodule_uses_worktrees(const char *path);
+
+/*
  * Return git dir of the worktree. Note that the path may be relative.
  * If wt is NULL, git dir of current worktree is returned.
  */
diff --git a/wrapper.c b/wrapper.c
index e7f1979..0542fc7 100644
--- a/wrapper.c
+++ b/wrapper.c
@@ -440,23 +440,6 @@
 	return fd;
 }
 
-/* git_mkstemp() - create tmp file honoring TMPDIR variable */
-int git_mkstemp(char *path, size_t len, const char *template)
-{
-	const char *tmp;
-	size_t n;
-
-	tmp = getenv("TMPDIR");
-	if (!tmp)
-		tmp = "/tmp";
-	n = snprintf(path, len, "%s/%s", tmp, template);
-	if (len <= n) {
-		errno = ENAMETOOLONG;
-		return -1;
-	}
-	return mkstemp(path);
-}
-
 /* Adapted from libiberty's mkstemp.c. */
 
 #undef TMP_MAX
@@ -531,13 +514,6 @@
 	return git_mkstemps_mode(pattern, 0, mode);
 }
 
-#ifdef NO_MKSTEMPS
-int gitmkstemps(char *pattern, int suffix_len)
-{
-	return git_mkstemps_mode(pattern, suffix_len, 0600);
-}
-#endif
-
 int xmkstemp_mode(char *template, int mode)
 {
 	int fd;
diff --git a/ws.c b/ws.c
index ea4b2b1..a07caed 100644
--- a/ws.c
+++ b/ws.c
@@ -71,24 +71,17 @@
 	return rule;
 }
 
-static void setup_whitespace_attr_check(struct git_attr_check *check)
-{
-	static struct git_attr *attr_whitespace;
-
-	if (!attr_whitespace)
-		attr_whitespace = git_attr("whitespace");
-	check[0].attr = attr_whitespace;
-}
-
 unsigned whitespace_rule(const char *pathname)
 {
-	struct git_attr_check attr_whitespace_rule;
+	static struct attr_check *attr_whitespace_rule;
 
-	setup_whitespace_attr_check(&attr_whitespace_rule);
-	if (!git_check_attr(pathname, 1, &attr_whitespace_rule)) {
+	if (!attr_whitespace_rule)
+		attr_whitespace_rule = attr_check_initl("whitespace", NULL);
+
+	if (!git_check_attr(pathname, attr_whitespace_rule)) {
 		const char *value;
 
-		value = attr_whitespace_rule.value;
+		value = attr_whitespace_rule->items[0].value;
 		if (ATTR_TRUE(value)) {
 			/* true (whitespace) */
 			unsigned all_rule = ws_tab_width(whitespace_rule_cfg);
diff --git a/wt-status.c b/wt-status.c
index a2e9d33..0375484 100644
--- a/wt-status.c
+++ b/wt-status.c
@@ -121,7 +121,7 @@
 
 void wt_status_prepare(struct wt_status *s)
 {
-	unsigned char sha1[20];
+	struct object_id oid;
 
 	memset(s, 0, sizeof(*s));
 	memcpy(s->color_palette, default_wt_status_colors,
@@ -129,7 +129,7 @@
 	s->show_untracked_files = SHOW_NORMAL_UNTRACKED_FILES;
 	s->use_color = -1;
 	s->relative_paths = 1;
-	s->branch = resolve_refdup("HEAD", 0, sha1, NULL);
+	s->branch = resolve_refdup("HEAD", 0, oid.hash, NULL);
 	s->reference = "HEAD";
 	s->fp = stdout;
 	s->index_file = get_index_file();
@@ -407,6 +407,16 @@
 	strbuf_release(&twobuf);
 }
 
+static char short_submodule_status(struct wt_status_change_data *d) {
+	if (d->new_submodule_commits)
+		return 'M';
+	if (d->dirty_submodule & DIRTY_SUBMODULE_MODIFIED)
+		return 'm';
+	if (d->dirty_submodule & DIRTY_SUBMODULE_UNTRACKED)
+		return '?';
+	return d->worktree_status;
+}
+
 static void wt_status_collect_changed_cb(struct diff_queue_struct *q,
 					 struct diff_options *options,
 					 void *data)
@@ -431,10 +441,13 @@
 		}
 		if (!d->worktree_status)
 			d->worktree_status = p->status;
-		d->dirty_submodule = p->two->dirty_submodule;
-		if (S_ISGITLINK(p->two->mode))
+		if (S_ISGITLINK(p->two->mode)) {
+			d->dirty_submodule = p->two->dirty_submodule;
 			d->new_submodule_commits = !!oidcmp(&p->one->oid,
 							    &p->two->oid);
+			if (s->status_format == STATUS_FORMAT_SHORT)
+				d->worktree_status = short_submodule_status(d);
+		}
 
 		switch (p->status) {
 		case DIFF_STATUS_ADDED:
@@ -628,7 +641,7 @@
 			d->index_status = DIFF_STATUS_ADDED;
 			/* Leave {mode,oid}_head zero for adds. */
 			d->mode_index = ce->ce_mode;
-			hashcpy(d->oid_index.hash, ce->oid.hash);
+			oidcpy(&d->oid_index, &ce->oid);
 		}
 	}
 }
@@ -1115,16 +1128,16 @@
 
 	split = strbuf_split_max(line, ' ', 3);
 	if (split[0] && split[1]) {
-		unsigned char sha1[20];
+		struct object_id oid;
 
 		/*
 		 * strbuf_split_max left a space. Trim it and re-add
 		 * it after abbreviation.
 		 */
 		strbuf_trim(split[1]);
-		if (!get_sha1(split[1]->buf, sha1)) {
+		if (!get_oid(split[1]->buf, &oid)) {
 			strbuf_reset(split[1]);
-			strbuf_add_unique_abbrev(split[1], sha1,
+			strbuf_add_unique_abbrev(split[1], oid.hash,
 						 DEFAULT_ABBREV);
 			strbuf_addch(split[1], ' ');
 			strbuf_reset(line);
@@ -1135,14 +1148,17 @@
 	strbuf_list_free(split);
 }
 
-static void read_rebase_todolist(const char *fname, struct string_list *lines)
+static int read_rebase_todolist(const char *fname, struct string_list *lines)
 {
 	struct strbuf line = STRBUF_INIT;
 	FILE *f = fopen(git_path("%s", fname), "r");
 
-	if (!f)
+	if (!f) {
+		if (errno == ENOENT)
+			return -1;
 		die_errno("Could not open file %s for reading",
 			  git_path("%s", fname));
+	}
 	while (!strbuf_getline_lf(&line, f)) {
 		if (line.len && line.buf[0] == comment_line_char)
 			continue;
@@ -1152,6 +1168,7 @@
 		abbrev_sha1_in_line(&line);
 		string_list_append(lines, line.buf);
 	}
+	return 0;
 }
 
 static void show_rebase_information(struct wt_status *s,
@@ -1166,8 +1183,10 @@
 		struct string_list yet_to_do = STRING_LIST_INIT_DUP;
 
 		read_rebase_todolist("rebase-merge/done", &have_done);
-		read_rebase_todolist("rebase-merge/git-rebase-todo", &yet_to_do);
-
+		if (read_rebase_todolist("rebase-merge/git-rebase-todo",
+					 &yet_to_do))
+			status_printf_ln(s, color,
+				_("git-rebase-todo is missing."));
 		if (have_done.nr == 0)
 			status_printf_ln(s, color, _("No commands done."));
 		else {
@@ -1334,7 +1353,7 @@
 static char *get_branch(const struct worktree *wt, const char *path)
 {
 	struct strbuf sb = STRBUF_INIT;
-	unsigned char sha1[20];
+	struct object_id oid;
 	const char *branch_name;
 
 	if (strbuf_read_file(&sb, worktree_git_path(wt, "%s", path), 0) <= 0)
@@ -1348,9 +1367,9 @@
 		strbuf_remove(&sb, 0, branch_name - sb.buf);
 	else if (starts_with(sb.buf, "refs/"))
 		;
-	else if (!get_sha1_hex(sb.buf, sha1)) {
+	else if (!get_oid_hex(sb.buf, &oid)) {
 		strbuf_reset(&sb);
-		strbuf_add_unique_abbrev(&sb, sha1, DEFAULT_ABBREV);
+		strbuf_add_unique_abbrev(&sb, oid.hash, DEFAULT_ABBREV);
 	} else if (!strcmp(sb.buf, "detached HEAD")) /* rebase */
 		goto got_nothing;
 	else			/* bisect */
@@ -1364,10 +1383,10 @@
 
 struct grab_1st_switch_cbdata {
 	struct strbuf buf;
-	unsigned char nsha1[20];
+	struct object_id noid;
 };
 
-static int grab_1st_switch(unsigned char *osha1, unsigned char *nsha1,
+static int grab_1st_switch(struct object_id *ooid, struct object_id *noid,
 			   const char *email, unsigned long timestamp, int tz,
 			   const char *message, void *cb_data)
 {
@@ -1381,13 +1400,13 @@
 		return 0;
 	target += strlen(" to ");
 	strbuf_reset(&cb->buf);
-	hashcpy(cb->nsha1, nsha1);
+	oidcpy(&cb->noid, noid);
 	end = strchrnul(target, '\n');
 	strbuf_add(&cb->buf, target, end - target);
 	if (!strcmp(cb->buf.buf, "HEAD")) {
 		/* HEAD is relative. Resolve it to the right reflog entry. */
 		strbuf_reset(&cb->buf);
-		strbuf_add_unique_abbrev(&cb->buf, nsha1, DEFAULT_ABBREV);
+		strbuf_add_unique_abbrev(&cb->buf, noid->hash, DEFAULT_ABBREV);
 	}
 	return 1;
 }
@@ -1396,7 +1415,7 @@
 {
 	struct grab_1st_switch_cbdata cb;
 	struct commit *commit;
-	unsigned char sha1[20];
+	struct object_id oid;
 	char *ref = NULL;
 
 	strbuf_init(&cb.buf, 0);
@@ -1405,22 +1424,22 @@
 		return;
 	}
 
-	if (dwim_ref(cb.buf.buf, cb.buf.len, sha1, &ref) == 1 &&
+	if (dwim_ref(cb.buf.buf, cb.buf.len, oid.hash, &ref) == 1 &&
 	    /* sha1 is a commit? match without further lookup */
-	    (!hashcmp(cb.nsha1, sha1) ||
+	    (!oidcmp(&cb.noid, &oid) ||
 	     /* perhaps sha1 is a tag, try to dereference to a commit */
-	     ((commit = lookup_commit_reference_gently(sha1, 1)) != NULL &&
-	      !hashcmp(cb.nsha1, commit->object.oid.hash)))) {
+	     ((commit = lookup_commit_reference_gently(oid.hash, 1)) != NULL &&
+	      !oidcmp(&cb.noid, &commit->object.oid)))) {
 		const char *from = ref;
 		if (!skip_prefix(from, "refs/tags/", &from))
 			skip_prefix(from, "refs/remotes/", &from);
 		state->detached_from = xstrdup(from);
 	} else
 		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);
+			xstrdup(find_unique_abbrev(cb.noid.hash, DEFAULT_ABBREV));
+	hashcpy(state->detached_sha1, cb.noid.hash);
+	state->detached_at = !get_oid("HEAD", &oid) &&
+			     !hashcmp(oid.hash, state->detached_sha1);
 
 	free(ref);
 	strbuf_release(&cb.buf);
@@ -1470,22 +1489,22 @@
 			 int get_detached_from)
 {
 	struct stat st;
-	unsigned char sha1[20];
+	struct object_id oid;
 
 	if (!stat(git_path_merge_head(), &st)) {
 		state->merge_in_progress = 1;
 	} else if (wt_status_check_rebase(NULL, state)) {
 		;		/* all set */
 	} else if (!stat(git_path_cherry_pick_head(), &st) &&
-			!get_sha1("CHERRY_PICK_HEAD", sha1)) {
+			!get_oid("CHERRY_PICK_HEAD", &oid)) {
 		state->cherry_pick_in_progress = 1;
-		hashcpy(state->cherry_pick_head_sha1, sha1);
+		hashcpy(state->cherry_pick_head_sha1, oid.hash);
 	}
 	wt_status_check_bisect(NULL, state);
 	if (!stat(git_path_revert_head(), &st) &&
-	    !get_sha1("REVERT_HEAD", sha1)) {
+	    !get_oid("REVERT_HEAD", &oid)) {
 		state->revert_in_progress = 1;
-		hashcpy(state->revert_head_sha1, sha1);
+		hashcpy(state->revert_head_sha1, oid.hash);
 	}
 
 	if (get_detached_from)
@@ -1724,12 +1743,14 @@
 		return;
 	branch_name = s->branch;
 
+#define LABEL(string) (s->no_gettext ? (string) : _(string))
+
 	if (s->is_initial)
-		color_fprintf(s->fp, header_color, _("Initial commit on "));
+		color_fprintf(s->fp, header_color, LABEL(N_("Initial commit on ")));
 
 	if (!strcmp(s->branch, "HEAD")) {
 		color_fprintf(s->fp, color(WT_STATUS_NOBRANCH, s), "%s",
-			      _("HEAD (no branch)"));
+			      LABEL(N_("HEAD (no branch)")));
 		goto conclude;
 	}
 
@@ -1754,8 +1775,6 @@
 	if (!upstream_is_gone && !num_ours && !num_theirs)
 		goto conclude;
 
-#define LABEL(string) (s->no_gettext ? (string) : _(string))
-
 	color_fprintf(s->fp, header_color, " [");
 	if (upstream_is_gone) {
 		color_fprintf(s->fp, header_color, LABEL(N_("gone")));
@@ -1779,34 +1798,24 @@
 
 static void wt_shortstatus_print(struct wt_status *s)
 {
-	int i;
+	struct string_list_item *it;
 
 	if (s->show_branch)
 		wt_shortstatus_print_tracking(s);
 
-	for (i = 0; i < s->change.nr; i++) {
-		struct wt_status_change_data *d;
-		struct string_list_item *it;
+	for_each_string_list_item(it, &s->change) {
+		struct wt_status_change_data *d = it->util;
 
-		it = &(s->change.items[i]);
-		d = it->util;
 		if (d->stagemask)
 			wt_shortstatus_unmerged(it, s);
 		else
 			wt_shortstatus_status(it, s);
 	}
-	for (i = 0; i < s->untracked.nr; i++) {
-		struct string_list_item *it;
-
-		it = &(s->untracked.items[i]);
+	for_each_string_list_item(it, &s->untracked)
 		wt_shortstatus_other(it, s, "??");
-	}
-	for (i = 0; i < s->ignored.nr; i++) {
-		struct string_list_item *it;
 
-		it = &(s->ignored.items[i]);
+	for_each_string_list_item(it, &s->ignored)
 		wt_shortstatus_other(it, s, "!!");
-	}
 }
 
 static void wt_porcelain_print(struct wt_status *s)
@@ -2096,7 +2105,7 @@
 		if (strcmp(ce->name, it->string) || !stage)
 			break;
 		stages[stage - 1].mode = ce->ce_mode;
-		hashcpy(stages[stage - 1].oid.hash, ce->oid.hash);
+		oidcpy(&stages[stage - 1].oid, &ce->oid);
 		sum |= (1 << (stage - 1));
 	}
 	if (sum != d->stagemask)
@@ -2258,11 +2267,12 @@
 int require_clean_work_tree(const char *action, const char *hint, int ignore_submodules, int gently)
 {
 	struct lock_file *lock_file = xcalloc(1, sizeof(*lock_file));
-	int err = 0;
+	int err = 0, fd;
 
-	hold_locked_index(lock_file, 0);
+	fd = hold_locked_index(lock_file, 0);
 	refresh_cache(REFRESH_QUIET);
-	update_index_if_able(&the_index, lock_file);
+	if (0 <= fd)
+		update_index_if_able(&the_index, lock_file);
 	rollback_lock_file(lock_file);
 
 	if (has_unstaged_changes(ignore_submodules)) {
diff --git a/wt-status.h b/wt-status.h
index 54fec77..6018c62 100644
--- a/wt-status.h
+++ b/wt-status.h
@@ -80,7 +80,7 @@
 	int hints;
 
 	enum wt_status_format status_format;
-	unsigned char sha1_commit[GIT_SHA1_RAWSZ]; /* when not Initial */
+	unsigned char sha1_commit[GIT_MAX_RAWSZ]; /* when not Initial */
 
 	/* These are computed during processing of the individual sections */
 	int commitable;
diff --git a/xdiff/xdiff.h b/xdiff/xdiff.h
index 8db16d4..b090ad8 100644
--- a/xdiff/xdiff.h
+++ b/xdiff/xdiff.h
@@ -41,8 +41,7 @@
 
 #define XDF_IGNORE_BLANK_LINES (1 << 7)
 
-#define XDF_COMPACTION_HEURISTIC (1 << 8)
-#define XDF_INDENT_HEURISTIC (1 << 9)
+#define XDF_INDENT_HEURISTIC (1 << 8)
 
 #define XDL_EMIT_FUNCNAMES (1 << 0)
 #define XDL_EMIT_FUNCCONTEXT (1 << 2)
diff --git a/xdiff/xdiffi.c b/xdiff/xdiffi.c
index 760fbb6..93a6568 100644
--- a/xdiff/xdiffi.c
+++ b/xdiff/xdiffi.c
@@ -400,11 +400,6 @@
 }
 
 
-static int is_blank_line(xrecord_t *rec, long flags)
-{
-	return xdl_blankline(rec->ptr, rec->size, flags);
-}
-
 static int recs_match(xrecord_t *rec1, xrecord_t *rec2, long flags)
 {
 	return (rec1->ha == rec2->ha &&
@@ -821,7 +816,6 @@
 	struct xdlgroup g, go;
 	long earliest_end, end_matching_other;
 	long groupsize;
-	unsigned int blank_lines;
 
 	group_init(xdf, &g);
 	group_init(xdfo, &go);
@@ -846,13 +840,6 @@
 			 */
 			end_matching_other = -1;
 
-			/*
-			 * Boolean value that records whether there are any blank
-			 * lines that could be made to be the last line of this
-			 * group.
-			 */
-			blank_lines = 0;
-
 			/* Shift the group backward as much as possible: */
 			while (!group_slide_up(xdf, &g, flags))
 				if (group_previous(xdfo, &go))
@@ -869,11 +856,6 @@
 
 			/* Now shift the group forward as far as possible: */
 			while (1) {
-				if (!blank_lines)
-					blank_lines = is_blank_line(
-							xdf->recs[g.end - 1],
-							flags);
-
 				if (group_slide_down(xdf, &g, flags))
 					break;
 				if (group_next(xdfo, &go))
@@ -906,21 +888,6 @@
 				if (group_previous(xdfo, &go))
 					xdl_bug("group sync broken sliding to match");
 			}
-		} else if ((flags & XDF_COMPACTION_HEURISTIC) && blank_lines) {
-			/*
-			 * Compaction heuristic: if it is possible to shift the
-			 * group to make its bottom line a blank line, do so.
-			 *
-			 * As we already shifted the group forward as far as
-			 * possible in the earlier loop, we only need to handle
-			 * backward shifts, not forward ones.
-			 */
-			while (!is_blank_line(xdf->recs[g.end - 1], flags)) {
-				if (group_slide_up(xdf, &g, flags))
-					xdl_bug("blank line disappeared");
-				if (group_previous(xdfo, &go))
-					xdl_bug("group sync broken sliding to blank line");
-			}
 		} else if (flags & XDF_INDENT_HEURISTIC) {
 			/*
 			 * Indent heuristic: a group of pure add/delete lines
diff --git a/xdiff/xemit.c b/xdiff/xemit.c
index 7389ce4..8c88dbd 100644
--- a/xdiff/xemit.c
+++ b/xdiff/xemit.c
@@ -183,16 +183,14 @@
 
 				/*
 				 * We don't need additional context if
-				 * a whole function was added, possibly
-				 * starting with empty lines.
+				 * a whole function was added.
 				 */
-				while (i2 < xe->xdf2.nrec &&
-				       is_empty_rec(&xe->xdf2, i2))
+				while (i2 < xe->xdf2.nrec) {
+					if (match_func_rec(&xe->xdf2, xecfg, i2,
+						dummy, sizeof(dummy)) >= 0)
+						goto post_context_calculation;
 					i2++;
-				if (i2 < xe->xdf2.nrec &&
-				    match_func_rec(&xe->xdf2, xecfg, i2,
-						   dummy, sizeof(dummy)) >= 0)
-					goto post_context_calculation;
+				}
 
 				/*
 				 * Otherwise get more context from the
diff --git a/xdiff/xutils.c b/xdiff/xutils.c
index 027192a..04d7b32 100644
--- a/xdiff/xutils.c
+++ b/xdiff/xutils.c
@@ -264,110 +264,6 @@
 	return ha;
 }
 
-#ifdef XDL_FAST_HASH
-
-#define REPEAT_BYTE(x)  ((~0ul / 0xff) * (x))
-
-#define ONEBYTES	REPEAT_BYTE(0x01)
-#define NEWLINEBYTES	REPEAT_BYTE(0x0a)
-#define HIGHBITS	REPEAT_BYTE(0x80)
-
-/* Return the high bit set in the first byte that is a zero */
-static inline unsigned long has_zero(unsigned long a)
-{
-	return ((a - ONEBYTES) & ~a) & HIGHBITS;
-}
-
-static inline long count_masked_bytes(unsigned long mask)
-{
-	if (sizeof(long) == 8) {
-		/*
-		 * Jan Achrenius on G+: microoptimized version of
-		 * the simpler "(mask & ONEBYTES) * ONEBYTES >> 56"
-		 * that works for the bytemasks without having to
-		 * mask them first.
-		 */
-		/*
-		 * return mask * 0x0001020304050608 >> 56;
-		 *
-		 * Doing it like this avoids warnings on 32-bit machines.
-		 */
-		long a = (REPEAT_BYTE(0x01) / 0xff + 1);
-		return mask * a >> (sizeof(long) * 7);
-	} else {
-		/* Carl Chatfield / Jan Achrenius G+ version for 32-bit */
-		/* (000000 0000ff 00ffff ffffff) -> ( 1 1 2 3 ) */
-		long a = (0x0ff0001 + mask) >> 23;
-		/* Fix the 1 for 00 case */
-		return a & mask;
-	}
-}
-
-unsigned long xdl_hash_record(char const **data, char const *top, long flags)
-{
-	unsigned long hash = 5381;
-	unsigned long a = 0, mask = 0;
-	char const *ptr = *data;
-	char const *end = top - sizeof(unsigned long) + 1;
-
-	if (flags & XDF_WHITESPACE_FLAGS)
-		return xdl_hash_record_with_whitespace(data, top, flags);
-
-	ptr -= sizeof(unsigned long);
-	do {
-		hash += hash << 5;
-		hash ^= a;
-		ptr += sizeof(unsigned long);
-		if (ptr >= end)
-			break;
-		a = *(unsigned long *)ptr;
-		/* Do we have any '\n' bytes in this word? */
-		mask = has_zero(a ^ NEWLINEBYTES);
-	} while (!mask);
-
-	if (ptr >= end) {
-		/*
-		 * There is only a partial word left at the end of the
-		 * buffer. Because we may work with a memory mapping,
-		 * we have to grab the rest byte by byte instead of
-		 * blindly reading it.
-		 *
-		 * To avoid problems with masking in a signed value,
-		 * we use an unsigned char here.
-		 */
-		const char *p;
-		for (p = top - 1; p >= ptr; p--)
-			a = (a << 8) + *((const unsigned char *)p);
-		mask = has_zero(a ^ NEWLINEBYTES);
-		if (!mask)
-			/*
-			 * No '\n' found in the partial word.  Make a
-			 * mask that matches what we read.
-			 */
-			mask = 1UL << (8 * (top - ptr) + 7);
-	}
-
-	/* The mask *below* the first high bit set */
-	mask = (mask - 1) & ~mask;
-	mask >>= 7;
-	hash += hash << 5;
-	hash ^= a & mask;
-
-	/* Advance past the last (possibly partial) word */
-	ptr += count_masked_bytes(mask);
-
-	if (ptr < top) {
-		assert(*ptr == '\n');
-		ptr++;
-	}
-
-	*data = ptr;
-
-	return hash;
-}
-
-#else /* XDL_FAST_HASH */
-
 unsigned long xdl_hash_record(char const **data, char const *top, long flags) {
 	unsigned long ha = 5381;
 	char const *ptr = *data;
@@ -384,8 +280,6 @@
 	return ha;
 }
 
-#endif /* XDL_FAST_HASH */
-
 unsigned int xdl_hashbits(unsigned int size) {
 	unsigned int val = 1, bits = 0;
 
