Merge branch 'js/mingw-tests-2.8' into maint

Code clean-up.

* js/mingw-tests-2.8:
  Windows: shorten code by re-using convert_slashes()
diff --git a/Documentation/RelNotes/2.8.0.txt b/Documentation/RelNotes/2.8.0.txt
index 5ec39bc..2507971 100644
--- a/Documentation/RelNotes/2.8.0.txt
+++ b/Documentation/RelNotes/2.8.0.txt
@@ -34,7 +34,7 @@
    have a place to store the updated notes tree, iow, a ref).
 
  * "git grep" by default does not fall back to its "--no-index"
-   behaviour outside a directory under Git's control (otherwise the
+   behavior outside a directory under Git's control (otherwise the
    user may by mistake end up running a huge recursive search); with a
    new configuration (set in $HOME/.gitconfig--by definition this
    cannot be set in the config file per project), this safety can be
@@ -55,7 +55,7 @@
 
  * Many commands that read files that are expected to contain text
    that is generated (or can be edited) by the end user to control
-   their behaviour (e.g. "git grep -f <filename>") have been updated
+   their behavior (e.g. "git grep -f <filename>") have been updated
    to be more tolerant to lines that are terminated with CRLF (they
    used to treat such a line to contain payload that ends with CR,
    which is usually not what the users expect).
@@ -187,7 +187,7 @@
    with expectations that are not satisfiable on Git for Windows.
 
  * Some calls to strcpy(3) triggers a false warning from static
-   analysers that are less intelligent than humans, and reducing the
+   analyzers that are less intelligent than humans, and reducing the
    number of these false hits helps us notice real issues.  A few
    calls to strcpy(3) in a couple of protrams that are already safe
    has been rewritten to avoid false warnings.
@@ -281,7 +281,7 @@
  * "git send-email" was confused by escaped quotes stored in the alias
    files saved by "mutt", which has been corrected.
 
- * A few unportable C construct have been spotted by clang compiler
+ * A few non-portable C construct have been spotted by clang compiler
    and have been fixed.
 
  * The documentation has been updated to hint the connection between
@@ -349,10 +349,10 @@
  * "git worktree" had a broken code that attempted to auto-fix
    possible inconsistency that results from end-users moving a
    worktree to different places without telling Git (the original
-   repository needs to maintain backpointers to its worktrees, but
-   "mv" run by end-users who are not familiar with that fact will
-   obviously not adjust them), which actually made things worse
-   when triggered.
+   repository needs to maintain back-pointers to its worktrees,
+   but "mv" run by end-users who are not familiar with that fact
+   will obviously not adjust them), which actually made things
+   worse when triggered.
 
  * The low-level merge machinery has been taught to use CRLF line
    termination when inserting conflict markers to merged contents that
diff --git a/Documentation/RelNotes/2.8.1.txt b/Documentation/RelNotes/2.8.1.txt
new file mode 100644
index 0000000..ef6d80b
--- /dev/null
+++ b/Documentation/RelNotes/2.8.1.txt
@@ -0,0 +1,9 @@
+Git v2.8.1 Release Notes
+========================
+
+Fixes since v2.8
+----------------
+
+ * "make rpmbuild" target was broken as its input, git.spec.in, was
+   not updated to match a file it describes that has been renamed
+   recently.  This has been fixed.
diff --git a/Documentation/RelNotes/2.8.2.txt b/Documentation/RelNotes/2.8.2.txt
new file mode 100644
index 0000000..3db67f4
--- /dev/null
+++ b/Documentation/RelNotes/2.8.2.txt
@@ -0,0 +1,55 @@
+Git v2.8.2 Release Notes
+========================
+
+Fixes since v2.8.1
+------------------
+
+ * The embedded args argv-array in the child process is used to build
+   the command line to run pack-objects instead of using a separate
+   array of strings.
+
+ * Bunch of tests on "git clone" has been renumbered for better
+   organization.
+
+ * The tests that involve running httpd leaked the system-wide
+   configuration in /etc/gitconfig to the tested environment.
+
+ * "index-pack --keep=<msg>" was broken since v2.1.0 timeframe.
+
+ * "git config --get-urlmatch", unlike other variants of the "git
+   config --get" family, did not signal error with its exit status
+   when there was no matching configuration.
+
+ * The "--local-env-vars" and "--resolve-git-dir" options of "git
+   rev-parse" failed to work outside a repository when the command's
+   option parsing was rewritten in 1.8.5 era.
+
+ * Fetching of history by naming a commit object name directly didn't
+   work across remote-curl transport.
+
+ * A small memory leak in an error codepath has been plugged in xdiff
+   code.
+
+ * strbuf_getwholeline() did not NUL-terminate the buffer on certain
+   corner cases in its error codepath.
+
+ * The startup_info data, which records if we are working inside a
+   repository (among other things), are now uniformly available to Git
+   subcommand implementations, and Git avoids attempting to touch
+   references when we are not in a repository.
+
+ * "git mergetool" did not work well with conflicts that both sides
+   deleted.
+
+ * "git send-email" had trouble parsing alias file in mailrc format
+   when lines in it had trailing whitespaces on them.
+
+ * When "git merge --squash" stopped due to conflict, the concluding
+   "git commit" failed to read in the SQUASH_MSG that shows the log
+   messages from all the squashed commits.
+
+ * "git merge FETCH_HEAD" dereferenced NULL pointer when merging
+   nothing into an unborn history (which is arguably unusual usage,
+   which perhaps was the reason why nobody noticed it).
+
+Also contains minor documentation updates and code clean-ups.
diff --git a/Documentation/diff-options.txt b/Documentation/diff-options.txt
index 306b7e3..32f48ed 100644
--- a/Documentation/diff-options.txt
+++ b/Documentation/diff-options.txt
@@ -286,8 +286,8 @@
 
 ifndef::git-format-patch[]
 --check::
-	Warn if changes introduce whitespace errors.  What are
-	considered whitespace errors is controlled by `core.whitespace`
+	Warn if changes introduce conflict markers or whitespace errors.
+	What are considered whitespace errors is controlled by `core.whitespace`
 	configuration.  By default, trailing whitespaces (including
 	lines that solely consist of whitespaces) and a space character
 	that is immediately followed by a tab character inside the
diff --git a/Documentation/git-apply.txt b/Documentation/git-apply.txt
index d9ed6a1..8ddb207 100644
--- a/Documentation/git-apply.txt
+++ b/Documentation/git-apply.txt
@@ -13,7 +13,7 @@
 	  [--apply] [--no-add] [--build-fake-ancestor=<file>] [-R | --reverse]
 	  [--allow-binary-replacement | --binary] [--reject] [-z]
 	  [-p<n>] [-C<n>] [--inaccurate-eof] [--recount] [--cached]
-	  [--ignore-space-change | --ignore-whitespace ]
+	  [--ignore-space-change | --ignore-whitespace]
 	  [--whitespace=(nowarn|warn|fix|error|error-all)]
 	  [--exclude=<path>] [--include=<path>] [--directory=<root>]
 	  [--verbose] [--unsafe-paths] [<patch>...]
@@ -21,6 +21,8 @@
 DESCRIPTION
 -----------
 Reads the supplied diff output (i.e. "a patch") and applies it to files.
+When running from a subdirectory in a repository, patched paths
+outside the directory are ignored.
 With the `--index` option the patch is also applied to the index, and
 with the `--cached` option the patch is only applied to the index.
 Without these options, the command applies the patch only to files,
diff --git a/Documentation/git-config.txt b/Documentation/git-config.txt
index 153b2d8..6fc08e3 100644
--- a/Documentation/git-config.txt
+++ b/Documentation/git-config.txt
@@ -58,13 +58,13 @@
 This command will fail with non-zero status upon error.  Some exit
 codes are:
 
-. The config file is invalid (ret=3),
-. can not write to the config file (ret=4),
-. no section or name was provided (ret=2),
-. the section or key is invalid (ret=1),
-. you try to unset an option which does not exist (ret=5),
-. you try to unset/set an option for which multiple lines match (ret=5), or
-. you try to use an invalid regexp (ret=6).
+- The config file is invalid (ret=3),
+- can not write to the config file (ret=4),
+- no section or name was provided (ret=2),
+- the section or key is invalid (ret=1),
+- you try to unset an option which does not exist (ret=5),
+- you try to unset/set an option for which multiple lines match (ret=5), or
+- you try to use an invalid regexp (ret=6).
 
 On success, the command returns the exit code 0.
 
@@ -86,8 +86,7 @@
 	found and the last value if multiple key values were found.
 
 --get-all::
-	Like get, but does not fail if the number of values for the key
-	is not exactly one.
+	Like get, but returns all values for a multi-valued key.
 
 --get-regexp::
 	Like --get-all, but interprets the name as a regular expression and
@@ -102,7 +101,7 @@
 	given URL is returned (if no such key exists, the value for
 	section.key is used as a fallback).  When given just the
 	section as name, do so for all the keys in the section and
-	list them.
+	list them.  Returns error code 1 if no value is found.
 
 --global::
 	For writing options: write to global `~/.gitconfig` file
diff --git a/Documentation/git-fetch-pack.txt b/Documentation/git-fetch-pack.txt
index 8680f45..239623c 100644
--- a/Documentation/git-fetch-pack.txt
+++ b/Documentation/git-fetch-pack.txt
@@ -104,6 +104,10 @@
 	The remote heads to update from. This is relative to
 	$GIT_DIR (e.g. "HEAD", "refs/heads/master").  When
 	unspecified, update from all heads the remote side has.
++
+If the remote has enabled the options `uploadpack.allowTipSHA1InWant` or
+`uploadpack.allowReachableSHA1InWant`, they may alternatively be 40-hex
+sha1s present on the remote.
 
 SEE ALSO
 --------
diff --git a/Documentation/git-p4.txt b/Documentation/git-p4.txt
index 738cfde..35e3170 100644
--- a/Documentation/git-p4.txt
+++ b/Documentation/git-p4.txt
@@ -515,20 +515,18 @@
 	Git expects paths encoded as UTF-8. Use this config to tell git-p4
 	what encoding Perforce had used for the paths. This encoding is used
 	to transcode the paths to UTF-8. As an example, Perforce on Windows
-	often uses “cp1252” to encode path names.
+	often uses "cp1252" to encode path names.
 
 git-p4.largeFileSystem::
 	Specify the system that is used for large (binary) files. Please note
 	that large file systems do not support the 'git p4 submit' command.
-	Only Git LFS [1] is implemented right now. Download
-	and install the Git LFS command line extension to use this option
-	and configure it like this:
+	Only Git LFS is implemented right now (see https://git-lfs.github.com/
+	for more information). Download and install the Git LFS command line
+	extension to use this option and configure it like this:
 +
 -------------
 git config       git-p4.largeFileSystem GitLFS
 -------------
-+
-	[1] https://git-lfs.github.com/
 
 git-p4.largeFileExtensions::
 	All files matching a file extension in the list will be processed
diff --git a/Documentation/git.txt b/Documentation/git.txt
index a9120a8..8afe349 100644
--- a/Documentation/git.txt
+++ b/Documentation/git.txt
@@ -43,6 +43,12 @@
 branch of the `git.git` repository.
 Documentation for older releases are available here:
 
+* link:v2.8.1/git.html[documentation for release 2.8.1]
+
+* release notes for
+  link:RelNotes/2.8.1.txt[2.8.1].
+  link:RelNotes/2.8.0.txt[2.8].
+
 * link:v2.7.3/git.html[documentation for release 2.7.3]
 
 * release notes for
diff --git a/Documentation/technical/api-parse-options.txt b/Documentation/technical/api-parse-options.txt
index 5f0757d..695bd4b 100644
--- a/Documentation/technical/api-parse-options.txt
+++ b/Documentation/technical/api-parse-options.txt
@@ -231,6 +231,13 @@
 	pass the command-line option, which can be specified multiple times,
 	to another command.
 
+`OPT_CMDMODE(short, long, &int_var, description, enum_val)`::
+	Define an "operation mode" option, only one of which in the same
+	group of "operating mode" options that share the same `int_var`
+	can be given by the user. `enum_val` is set to `int_var` when the
+	option is used, but an error is reported if other "operating mode"
+	option has already set its value to the same `int_var`.
+
 
 The last element of the array must be `OPT_END()`.
 
diff --git a/Documentation/technical/api-trace.txt b/Documentation/technical/api-trace.txt
index 097a651..fadb597 100644
--- a/Documentation/technical/api-trace.txt
+++ b/Documentation/technical/api-trace.txt
@@ -28,7 +28,7 @@
 
 static void trace_print_foo(const char *message)
 {
-	trace_print_key(&trace_foo, message);
+	trace_printf_key(&trace_foo, "%s", message);
 }
 ------------
 +
@@ -95,3 +95,46 @@
 }
 trace_performance(t, "frotz");
 ------------
+
+Bugs & Caveats
+--------------
+
+GIT_TRACE_* environment variables can be used to tell Git to show
+trace output to its standard error stream. Git can often spawn a pager
+internally to run its subcommand and send its standard output and
+standard error to it.
+
+Because GIT_TRACE_PERFORMANCE trace is generated only at the very end
+of the program with atexit(), which happens after the pager exits, it
+would not work well if you send its log to the standard error output
+and let Git spawn the pager at the same time.
+
+As a work around, you can for example use '--no-pager', or set
+GIT_TRACE_PERFORMANCE to another file descriptor which is redirected
+to stderr, or set GIT_TRACE_PERFORMANCE to a file specified by its
+absolute path.
+
+For example instead of the following command which by default may not
+print any performance information:
+
+------------
+GIT_TRACE_PERFORMANCE=2 git log -1
+------------
+
+you may want to use:
+
+------------
+GIT_TRACE_PERFORMANCE=2 git --no-pager log -1
+------------
+
+or:
+
+------------
+GIT_TRACE_PERFORMANCE=3 3>&2 git log -1
+------------
+
+or:
+
+------------
+GIT_TRACE_PERFORMANCE=/path/to/log/file git log -1
+------------
diff --git a/GIT-VERSION-GEN b/GIT-VERSION-GEN
index b5072a2..46595da 100755
--- a/GIT-VERSION-GEN
+++ b/GIT-VERSION-GEN
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 GVF=GIT-VERSION-FILE
-DEF_VER=v2.8.0-rc4
+DEF_VER=v2.8.1
 
 LF='
 '
diff --git a/Makefile b/Makefile
index 2742a69..c7354bf 100644
--- a/Makefile
+++ b/Makefile
@@ -2263,10 +2263,10 @@
 check: common-cmds.h
 	@if sparse; \
 	then \
-		echo 2>&1 "Use 'make sparse' instead"; \
+		echo >&2 "Use 'make sparse' instead"; \
 		$(MAKE) --no-print-directory sparse; \
 	else \
-		echo 2>&1 "Did you mean 'make test'?"; \
+		echo >&2 "Did you mean 'make test'?"; \
 		exit 1; \
 	fi
 
diff --git a/RelNotes b/RelNotes
index 7db3040..d40c3e1 120000
--- a/RelNotes
+++ b/RelNotes
@@ -1 +1 @@
-Documentation/RelNotes/2.8.0.txt
\ No newline at end of file
+Documentation/RelNotes/2.8.1.txt
\ No newline at end of file
diff --git a/attr.c b/attr.c
index 6537a43..eec5d7d 100644
--- a/attr.c
+++ b/attr.c
@@ -122,7 +122,7 @@
 	const char *pattern;
 	int patternlen;
 	int nowildcardlen;
-	int flags;		/* EXC_FLAG_* */
+	unsigned flags;		/* EXC_FLAG_* */
 };
 
 /*
diff --git a/builtin/blame.c b/builtin/blame.c
index e982fb8..21f42b0 100644
--- a/builtin/blame.c
+++ b/builtin/blame.c
@@ -2307,6 +2307,7 @@
 	unsigned mode;
 	struct strbuf msg = STRBUF_INIT;
 
+	read_cache();
 	time(&now);
 	commit = alloc_commit_node();
 	commit->object.parsed = 1;
diff --git a/builtin/commit.c b/builtin/commit.c
index b3bd2d4..c733ec9 100644
--- a/builtin/commit.c
+++ b/builtin/commit.c
@@ -726,9 +726,18 @@
 				      &sb, &ctx);
 		hook_arg1 = "message";
 	} else if (!stat(git_path_merge_msg(), &statbuf)) {
+		/*
+		 * prepend SQUASH_MSG here if it exists and a
+		 * "merge --squash" was originally performed
+		 */
+		if (!stat(git_path_squash_msg(), &statbuf)) {
+			if (strbuf_read_file(&sb, git_path_squash_msg(), 0) < 0)
+				die_errno(_("could not read SQUASH_MSG"));
+			hook_arg1 = "squash";
+		} else
+			hook_arg1 = "merge";
 		if (strbuf_read_file(&sb, git_path_merge_msg(), 0) < 0)
 			die_errno(_("could not read MERGE_MSG"));
-		hook_arg1 = "merge";
 	} else if (!stat(git_path_squash_msg(), &statbuf)) {
 		if (strbuf_read_file(&sb, git_path_squash_msg(), 0) < 0)
 			die_errno(_("could not read SQUASH_MSG"));
diff --git a/builtin/config.c b/builtin/config.c
index ca9f834..1d7c6ef 100644
--- a/builtin/config.c
+++ b/builtin/config.c
@@ -417,6 +417,7 @@
 
 static int get_urlmatch(const char *var, const char *url)
 {
+	int ret;
 	char *section_tail;
 	struct string_list_item *item;
 	struct urlmatch_config config = { STRING_LIST_INIT_DUP };
@@ -443,6 +444,8 @@
 	git_config_with_options(urlmatch_config_entry, &config,
 				&given_config_source, respect_includes);
 
+	ret = !values.nr;
+
 	for_each_string_list_item(item, &values) {
 		struct urlmatch_current_candidate_value *matched = item->util;
 		struct strbuf buf = STRBUF_INIT;
@@ -459,7 +462,7 @@
 	free(config.url.url);
 
 	free((void *)config.section);
-	return 0;
+	return ret;
 }
 
 static char *default_user_config(void)
diff --git a/builtin/fetch-pack.c b/builtin/fetch-pack.c
index 79a611f..bfd0be4 100644
--- a/builtin/fetch-pack.c
+++ b/builtin/fetch-pack.c
@@ -16,10 +16,20 @@
 	struct ref *ref;
 	struct object_id oid;
 
-	if (!get_oid_hex(name, &oid) && name[GIT_SHA1_HEXSZ] == ' ')
-		name += GIT_SHA1_HEXSZ + 1;
-	else
+	if (!get_oid_hex(name, &oid)) {
+		if (name[GIT_SHA1_HEXSZ] == ' ') {
+			/* <sha1> <ref>, find refname */
+			name += GIT_SHA1_HEXSZ + 1;
+		} else if (name[GIT_SHA1_HEXSZ] == '\0') {
+			; /* <sha1>, leave sha1 as name */
+		} else {
+			/* <ref>, clear cruft from oid */
+			oidclr(&oid);
+		}
+	} else {
+		/* <ref>, clear cruft from get_oid_hex */
 		oidclr(&oid);
+	}
 
 	ref = alloc_ref(name);
 	oidcpy(&ref->old_oid, &oid);
diff --git a/builtin/grep.c b/builtin/grep.c
index aa7435f..111b6f6 100644
--- a/builtin/grep.c
+++ b/builtin/grep.c
@@ -522,12 +522,14 @@
 }
 
 static int grep_directory(struct grep_opt *opt, const struct pathspec *pathspec,
-			  int exc_std)
+			  int exc_std, int use_index)
 {
 	struct dir_struct dir;
 	int i, hit = 0;
 
 	memset(&dir, 0, sizeof(dir));
+	if (!use_index)
+		dir.flags |= DIR_NO_GITLINKS;
 	if (exc_std)
 		setup_standard_excludes(&dir);
 
@@ -902,7 +904,7 @@
 		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);
+		hit = grep_directory(&opt, &pathspec, use_exclude, use_index);
 	} else if (0 <= opt_exclude) {
 		die(_("--[no-]exclude-standard cannot be used for tracked contents."));
 	} else if (!list.nr) {
diff --git a/builtin/index-pack.c b/builtin/index-pack.c
index 4524519..2d1eb8b 100644
--- a/builtin/index-pack.c
+++ b/builtin/index-pack.c
@@ -1599,6 +1599,18 @@
 	}
 }
 
+static const char *derive_filename(const char *pack_name, const char *suffix,
+				   struct strbuf *buf)
+{
+	size_t len;
+	if (!strip_suffix(pack_name, ".pack", &len))
+		die(_("packfile name '%s' does not end with '.pack'"),
+		    pack_name);
+	strbuf_add(buf, pack_name, len);
+	strbuf_addstr(buf, suffix);
+	return buf->buf;
+}
+
 int cmd_index_pack(int argc, const char **argv, const char *prefix)
 {
 	int i, fix_thin_pack = 0, verify = 0, stat_only = 0;
@@ -1707,24 +1719,11 @@
 		usage(index_pack_usage);
 	if (fix_thin_pack && !from_stdin)
 		die(_("--fix-thin cannot be used without --stdin"));
-	if (!index_name && pack_name) {
-		size_t len;
-		if (!strip_suffix(pack_name, ".pack", &len))
-			die(_("packfile name '%s' does not end with '.pack'"),
-			    pack_name);
-		strbuf_add(&index_name_buf, pack_name, len);
-		strbuf_addstr(&index_name_buf, ".idx");
-		index_name = index_name_buf.buf;
-	}
-	if (keep_msg && !keep_name && pack_name) {
-		size_t len;
-		if (!strip_suffix(pack_name, ".pack", &len))
-			die(_("packfile name '%s' does not end with '.pack'"),
-			    pack_name);
-		strbuf_add(&keep_name_buf, pack_name, len);
-		strbuf_addstr(&keep_name_buf, ".idx");
-		keep_name = keep_name_buf.buf;
-	}
+	if (!index_name && pack_name)
+		index_name = derive_filename(pack_name, ".idx", &index_name_buf);
+	if (keep_msg && !keep_name && pack_name)
+		keep_name = derive_filename(pack_name, ".keep", &keep_name_buf);
+
 	if (verify) {
 		if (!index_name)
 			die(_("--verify with no packfile name given"));
diff --git a/builtin/init-db.c b/builtin/init-db.c
index 6223b7d..da531f6b 100644
--- a/builtin/init-db.c
+++ b/builtin/init-db.c
@@ -322,6 +322,7 @@
 		set_git_dir(real_path(git_dir));
 		git_link = NULL;
 	}
+	startup_info->have_repository = 1;
 	return 0;
 }
 
diff --git a/builtin/merge.c b/builtin/merge.c
index 101ffef..bf2f261 100644
--- a/builtin/merge.c
+++ b/builtin/merge.c
@@ -1257,12 +1257,12 @@
 			builtin_merge_options);
 
 	if (!head_commit) {
-		struct commit *remote_head;
 		/*
 		 * If the merged head is a valid one there is no reason
 		 * to forbid "git merge" into a branch yet to be born.
 		 * We do the same for "git pull".
 		 */
+		unsigned char *remote_head_sha1;
 		if (squash)
 			die(_("Squash commit into empty head not supported yet"));
 		if (fast_forward == FF_NO)
@@ -1270,13 +1270,13 @@
 			    "an empty head"));
 		remoteheads = collect_parents(head_commit, &head_subsumed,
 					      argc, argv, NULL);
-		remote_head = remoteheads->item;
-		if (!remote_head)
+		if (!remoteheads)
 			die(_("%s - not something we can merge"), argv[0]);
 		if (remoteheads->next)
 			die(_("Can merge only exactly one commit into empty head"));
-		read_empty(remote_head->object.oid.hash, 0);
-		update_ref("initial pull", "HEAD", remote_head->object.oid.hash,
+		remote_head_sha1 = remoteheads->item->object.oid.hash;
+		read_empty(remote_head_sha1, 0);
+		update_ref("initial pull", "HEAD", remote_head_sha1,
 			   NULL, 0, UPDATE_REFS_DIE_ON_ERR);
 		goto done;
 	}
diff --git a/builtin/rev-parse.c b/builtin/rev-parse.c
index cf8487b..c961b74 100644
--- a/builtin/rev-parse.c
+++ b/builtin/rev-parse.c
@@ -505,6 +505,7 @@
 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;
+	int did_repo_setup = 0;
 	int has_dashdash = 0;
 	int output_prefix = 0;
 	unsigned char sha1[20];
@@ -528,11 +529,40 @@
 		}
 	}
 
-	prefix = setup_git_directory();
-	git_config(git_default_config, NULL);
+	/* No options; just report on whether we're in a git repo or not. */
+	if (argc == 1) {
+		setup_git_directory();
+		git_config(git_default_config, NULL);
+		return 0;
+	}
+
 	for (i = 1; i < argc; i++) {
 		const char *arg = argv[i];
 
+		if (!strcmp(arg, "--local-env-vars")) {
+			int i;
+			for (i = 0; local_repo_env[i]; i++)
+				printf("%s\n", local_repo_env[i]);
+			continue;
+		}
+		if (!strcmp(arg, "--resolve-git-dir")) {
+			const char *gitdir = argv[++i];
+			if (!gitdir)
+				die("--resolve-git-dir requires an argument");
+			gitdir = resolve_gitdir(gitdir);
+			if (!gitdir)
+				die("not a gitdir '%s'", argv[i]);
+			puts(gitdir);
+			continue;
+		}
+
+		/* The rest of the options require a git repository. */
+		if (!did_repo_setup) {
+			prefix = setup_git_directory();
+			git_config(git_default_config, NULL);
+			did_repo_setup = 1;
+		}
+
 		if (!strcmp(arg, "--git-path")) {
 			if (!argv[i + 1])
 				die("--git-path requires an argument");
@@ -706,12 +736,6 @@
 				add_ref_exclusion(&ref_excludes, arg + 10);
 				continue;
 			}
-			if (!strcmp(arg, "--local-env-vars")) {
-				int i;
-				for (i = 0; local_repo_env[i]; i++)
-					printf("%s\n", local_repo_env[i]);
-				continue;
-			}
 			if (!strcmp(arg, "--show-toplevel")) {
 				const char *work_tree = get_git_work_tree();
 				if (work_tree)
@@ -767,16 +791,6 @@
 				puts(prefix_filename(pfx, strlen(pfx), get_git_common_dir()));
 				continue;
 			}
-			if (!strcmp(arg, "--resolve-git-dir")) {
-				const char *gitdir = argv[++i];
-				if (!gitdir)
-					die("--resolve-git-dir requires an argument");
-				gitdir = resolve_gitdir(gitdir);
-				if (!gitdir)
-					die("not a gitdir '%s'", argv[i]);
-				puts(gitdir);
-				continue;
-			}
 			if (!strcmp(arg, "--is-inside-git-dir")) {
 				printf("%s\n", is_inside_git_dir() ? "true"
 						: "false");
diff --git a/builtin/send-pack.c b/builtin/send-pack.c
index 5b9dd6a..1ff5a67 100644
--- a/builtin/send-pack.c
+++ b/builtin/send-pack.c
@@ -225,7 +225,7 @@
 	 * --all and --mirror are incompatible; neither makes sense
 	 * with any refspecs.
 	 */
-	if ((refspecs && (send_all || args.send_mirror)) ||
+	if ((nr_refspecs > 0 && (send_all || args.send_mirror)) ||
 	    (send_all && args.send_mirror))
 		usage_with_options(send_pack_usage, options);
 
diff --git a/builtin/submodule--helper.c b/builtin/submodule--helper.c
index ed764c9..5295b72 100644
--- a/builtin/submodule--helper.c
+++ b/builtin/submodule--helper.c
@@ -37,9 +37,9 @@
 	for (i = 0; i < active_nr; i++) {
 		const struct cache_entry *ce = active_cache[i];
 
-		if (!S_ISGITLINK(ce->ce_mode) ||
-		    !match_pathspec(pathspec, ce->name, ce_namelen(ce),
-				    0, ps_matched, 1))
+		if (!match_pathspec(pathspec, ce->name, ce_namelen(ce),
+				    0, ps_matched, 1) ||
+		    !S_ISGITLINK(ce->ce_mode))
 			continue;
 
 		ALLOC_GROW(list->entries, list->nr + 1, list->alloc);
diff --git a/cache.h b/cache.h
index b829410..9f09540 100644
--- a/cache.h
+++ b/cache.h
@@ -1771,7 +1771,7 @@
 /* Takes a negative value returned by split_cmdline */
 const char *split_cmdline_strerror(int cmdline_errno);
 
-/* git.c */
+/* setup.c */
 struct startup_info {
 	int have_repository;
 	const char *prefix;
diff --git a/compat/mingw.h b/compat/mingw.h
index c008694..1de70ff 100644
--- a/compat/mingw.h
+++ b/compat/mingw.h
@@ -406,7 +406,7 @@
 int mingw_offset_1st_component(const char *path);
 #define offset_1st_component mingw_offset_1st_component
 #define PATH_SEP ';'
-#ifndef __MINGW64_VERSION_MAJOR
+#if !defined(__MINGW64_VERSION_MAJOR) && (!defined(_MSC_VER) || _MSC_VER < 1800)
 #define PRIuMAX "I64u"
 #define PRId64 "I64d"
 #else
diff --git a/compat/snprintf.c b/compat/snprintf.c
index 42ea1ac..0b11688 100644
--- a/compat/snprintf.c
+++ b/compat/snprintf.c
@@ -9,7 +9,7 @@
  * always have room for a trailing NUL byte.
  */
 #ifndef SNPRINTF_SIZE_CORR
-#if defined(WIN32) && (!defined(__GNUC__) || __GNUC__ < 4)
+#if defined(WIN32) && (!defined(__GNUC__) || __GNUC__ < 4) && (!defined(_MSC_VER) || _MSC_VER < 1900)
 #define SNPRINTF_SIZE_CORR 1
 #else
 #define SNPRINTF_SIZE_CORR 0
diff --git a/compat/vcbuild/include/unistd.h b/compat/vcbuild/include/unistd.h
index c65c2cd..3a959d1 100644
--- a/compat/vcbuild/include/unistd.h
+++ b/compat/vcbuild/include/unistd.h
@@ -45,11 +45,15 @@
 
 typedef int64_t off64_t;
 
+#if !defined(_MSC_VER) || _MSC_VER < 1600
 #define INTMAX_MIN  _I64_MIN
 #define INTMAX_MAX  _I64_MAX
 #define UINTMAX_MAX _UI64_MAX
 
 #define UINT32_MAX 0xffffffff  /* 4294967295U */
+#else
+#include <stdint.h>
+#endif
 
 #define STDIN_FILENO  0
 #define STDOUT_FILENO 1
diff --git a/credential-cache--daemon.c b/credential-cache--daemon.c
index caef21e..291c0fd 100644
--- a/credential-cache--daemon.c
+++ b/credential-cache--daemon.c
@@ -126,8 +126,17 @@
 			fprintf(out, "password=%s\n", e->item.password);
 		}
 	}
-	else if (!strcmp(action.buf, "exit"))
+	else if (!strcmp(action.buf, "exit")) {
+		/*
+		 * It's important that we clean up our socket first, and then
+		 * signal the client only once we have finished the cleanup.
+		 * Calling exit() directly does this, because we clean up in
+		 * our atexit() handler, and then signal the client when our
+		 * process actually ends, which closes the socket and gives
+		 * them EOF.
+		 */
 		exit(0);
+	}
 	else if (!strcmp(action.buf, "erase"))
 		remove_credential(&c);
 	else if (!strcmp(action.buf, "store")) {
diff --git a/diffcore-rename.c b/diffcore-rename.c
index 3b3c1ed..7f03eb5 100644
--- a/diffcore-rename.c
+++ b/diffcore-rename.c
@@ -340,9 +340,11 @@
 	int i, renames = 0;
 	struct hashmap file_table;
 
-	/* Add all sources to the hash table */
+	/* Add all sources to the hash table in reverse order, because
+	 * later on they will be retrieved in LIFO order.
+	 */
 	hashmap_init(&file_table, NULL, rename_src_nr);
-	for (i = 0; i < rename_src_nr; i++)
+	for (i = rename_src_nr-1; i >= 0; i--)
 		insert_file_table(&file_table, i, rename_src[i].p->one);
 
 	/* Walk the destinations and find best source match */
diff --git a/dir.c b/dir.c
index a4a9d9f..996653b 100644
--- a/dir.c
+++ b/dir.c
@@ -457,7 +457,7 @@
 
 void parse_exclude_pattern(const char **pattern,
 			   int *patternlen,
-			   int *flags,
+			   unsigned *flags,
 			   int *nowildcardlen)
 {
 	const char *p = *pattern;
@@ -498,7 +498,7 @@
 {
 	struct exclude *x;
 	int patternlen;
-	int flags;
+	unsigned flags;
 	int nowildcardlen;
 
 	parse_exclude_pattern(&string, &patternlen, &flags, &nowildcardlen);
@@ -798,7 +798,7 @@
 
 int match_basename(const char *basename, int basenamelen,
 		   const char *pattern, int prefix, int patternlen,
-		   int flags)
+		   unsigned flags)
 {
 	if (prefix == patternlen) {
 		if (patternlen == basenamelen &&
@@ -823,7 +823,7 @@
 int match_pathname(const char *pathname, int pathlen,
 		   const char *base, int baselen,
 		   const char *pattern, int prefix, int patternlen,
-		   int flags)
+		   unsigned flags)
 {
 	const char *name;
 	int namelen;
diff --git a/dir.h b/dir.h
index cd46f30..301b737 100644
--- a/dir.h
+++ b/dir.h
@@ -27,7 +27,7 @@
 	int nowildcardlen;
 	const char *base;
 	int baselen;
-	int flags;
+	unsigned flags;		/* EXC_FLAG_* */
 
 	/*
 	 * Counting starts from 1 for line numbers in ignore files,
@@ -226,10 +226,10 @@
  * attr.c:path_matches()
  */
 extern int match_basename(const char *, int,
-			  const char *, int, int, int);
+			  const char *, int, int, unsigned);
 extern int match_pathname(const char *, int,
 			  const char *, int,
-			  const char *, int, int, int);
+			  const char *, int, int, unsigned);
 
 extern struct exclude *last_exclude_matching(struct dir_struct *dir,
 					     const char *name, int *dtype);
@@ -241,7 +241,7 @@
 extern int add_excludes_from_file_to_list(const char *fname, const char *base, int baselen,
 					  struct exclude_list *el, int check_index);
 extern void add_excludes_from_file(struct dir_struct *, const char *fname);
-extern void parse_exclude_pattern(const char **string, int *patternlen, int *flags, int *nowildcardlen);
+extern void parse_exclude_pattern(const char **string, int *patternlen, unsigned *flags, int *nowildcardlen);
 extern void add_exclude(const char *string, const char *base,
 			int baselen, struct exclude_list *el, int srcpos);
 extern void clear_exclude_list(struct exclude_list *el);
diff --git a/environment.c b/environment.c
index 6dec9d0..6cc0a77 100644
--- a/environment.c
+++ b/environment.c
@@ -64,7 +64,6 @@
 int core_apply_sparse_checkout;
 int merge_log_config = -1;
 int precomposed_unicode = -1; /* see probe_utf8_pathname_composition() */
-struct startup_info *startup_info;
 unsigned long pack_size_limit_cfg;
 
 #ifndef PROTECT_HFS_DEFAULT
diff --git a/git-mergetool.sh b/git-mergetool.sh
index 9f77e3a..f67bab5 100755
--- a/git-mergetool.sh
+++ b/git-mergetool.sh
@@ -126,7 +126,12 @@
 		case "$ans" in
 		[mMcC]*)
 			git add -- "$MERGED"
-			cleanup_temp_files --save-backup
+			if test "$merge_keep_backup" = "true"
+			then
+				cleanup_temp_files --save-backup
+			else
+				cleanup_temp_files
+			fi
 			return 0
 			;;
 		[dD]*)
@@ -135,6 +140,10 @@
 			return 0
 			;;
 		[aA]*)
+			if test "$merge_keep_temporaries" = "false"
+			then
+				cleanup_temp_files
+			fi
 			return 1
 			;;
 		esac
@@ -282,8 +291,14 @@
 		return
 	fi
 
-	mv -- "$MERGED" "$BACKUP"
-	cp -- "$BACKUP" "$MERGED"
+	if test -f "$MERGED"
+	then
+		mv -- "$MERGED" "$BACKUP"
+		cp -- "$BACKUP" "$MERGED"
+	fi
+	# Create a parent directory to handle delete/delete conflicts
+	# where the base's directory no longer exists.
+	mkdir -p "$(dirname "$MERGED")"
 
 	checkout_staged_file 1 "$MERGED" "$BASE"
 	checkout_staged_file 2 "$MERGED" "$LOCAL"
@@ -295,7 +310,9 @@
 		describe_file "$local_mode" "local" "$LOCAL"
 		describe_file "$remote_mode" "remote" "$REMOTE"
 		resolve_deleted_merge
-		return
+		status=$?
+		rmdir -p "$(dirname "$MERGED")" 2>/dev/null
+		return $status
 	fi
 
 	if is_symlink "$local_mode" || is_symlink "$remote_mode"
diff --git a/git-send-email.perl b/git-send-email.perl
index d356901..c45b22a 100755
--- a/git-send-email.perl
+++ b/git-send-email.perl
@@ -533,7 +533,7 @@
 			$aliases{$alias} = \@addr
 		}}},
 	mailrc => sub { my $fh = shift; while (<$fh>) {
-		if (/^alias\s+(\S+)\s+(.*)$/) {
+		if (/^alias\s+(\S+)\s+(.*?)\s*$/) {
 			# spaces delimit multiple addresses
 			$aliases{$1} = [ quotewords('\s+', 0, $2) ];
 		}}},
diff --git a/git.c b/git.c
index 6cc0c07..968a8a4 100644
--- a/git.c
+++ b/git.c
@@ -15,7 +15,6 @@
 	   "concept guides. See 'git help <command>' or 'git help <concept>'\n"
 	   "to read about a specific subcommand or concept.");
 
-static struct startup_info git_startup_info;
 static int use_pager = -1;
 static char *orig_cwd;
 static const char *env_names[] = {
@@ -637,8 +636,6 @@
 	const char *cmd;
 	int done_help = 0;
 
-	startup_info = &git_startup_info;
-
 	cmd = git_extract_argv0_path(argv[0]);
 	if (!cmd)
 		cmd = "git-help";
diff --git a/git.spec.in b/git.spec.in
index d61d537..bfd1cfb 100644
--- a/git.spec.in
+++ b/git.spec.in
@@ -146,7 +146,7 @@
 %files -f bin-man-doc-files
 %defattr(-,root,root)
 %{_datadir}/git-core/
-%doc README COPYING Documentation/*.txt
+%doc README.md COPYING Documentation/*.txt
 %{!?_without_docs: %doc Documentation/*.html Documentation/howto}
 %{!?_without_docs: %doc Documentation/technical}
 %{_sysconfdir}/bash_completion.d
diff --git a/lockfile.c b/lockfile.c
index 80d056d..9268cdf 100644
--- a/lockfile.c
+++ b/lockfile.c
@@ -149,13 +149,15 @@
 void unable_to_lock_message(const char *path, int err, struct strbuf *buf)
 {
 	if (err == EEXIST) {
-		strbuf_addf(buf, "Unable to create '%s.lock': %s.\n\n"
-		    "If no other git process is currently running, this probably means a\n"
-		    "git process crashed in this repository earlier. Make sure no other git\n"
-		    "process is running and remove the file manually to continue.",
+		strbuf_addf(buf, _("Unable to create '%s.lock': %s.\n\n"
+		    "Another git process seems to be running in this repository, e.g.\n"
+		    "an editor opened by 'git commit'. Please make sure all processes\n"
+		    "are terminated then try again. If it still fails, a git process\n"
+		    "may have crashed in this repository earlier:\n"
+		    "remove the file manually to continue."),
 			    absolute_path(path), strerror(err));
 	} else
-		strbuf_addf(buf, "Unable to create '%s.lock': %s",
+		strbuf_addf(buf, _("Unable to create '%s.lock': %s"),
 			    absolute_path(path), strerror(err));
 }
 
diff --git a/mailmap.c b/mailmap.c
index f4a0f1c..9726237 100644
--- a/mailmap.c
+++ b/mailmap.c
@@ -250,7 +250,8 @@
 		git_mailmap_blob = "HEAD:.mailmap";
 
 	err |= read_mailmap_file(map, ".mailmap", repo_abbrev);
-	err |= read_mailmap_blob(map, git_mailmap_blob, repo_abbrev);
+	if (startup_info->have_repository)
+		err |= read_mailmap_blob(map, git_mailmap_blob, repo_abbrev);
 	err |= read_mailmap_file(map, git_mailmap_file, repo_abbrev);
 	return err;
 }
diff --git a/po/ca.po b/po/ca.po
index d364141..46000d7 100644
--- a/po/ca.po
+++ b/po/ca.po
@@ -7,8 +7,8 @@
 msgstr ""
 "Project-Id-Version: Git\n"
 "Report-Msgid-Bugs-To: Git Mailing List <git@vger.kernel.org>\n"
-"POT-Creation-Date: 2015-12-22 22:50+0800\n"
-"PO-Revision-Date: 2015-12-27 21:42-0700\n"
+"POT-Creation-Date: 2016-03-16 00:16+0800\n"
+"PO-Revision-Date: 2016-03-19 23:51-0600\n"
 "Last-Translator: Alex Henrie <alexhenrie24@gmail.com>\n"
 "Language-Team: Catalan\n"
 "Language: ca\n"
@@ -16,7 +16,7 @@
 "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.6\n"
+"X-Generator: Poedit 1.8.7\n"
 
 #: advice.c:55
 #, c-format
@@ -32,7 +32,7 @@
 "'git add/rm <fitxer>' segons sigui apropiat per a marcar la\n"
 "resolució i feu una comissió."
 
-#: advice.c:101 builtin/merge.c:1225
+#: advice.c:101 builtin/merge.c:1226
 msgid "You have not concluded your merge (MERGE_HEAD exists)."
 msgstr "No heu conclòs la vostra fusió (MERGE_HEAD existeix)."
 
@@ -76,7 +76,7 @@
 msgid "archive format"
 msgstr "format d'arxiu"
 
-#: archive.c:430 builtin/log.c:1229
+#: archive.c:430 builtin/log.c:1232
 msgid "prefix"
 msgstr "prefix"
 
@@ -84,10 +84,10 @@
 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/archive.c:88 builtin/blame.c:2535 builtin/blame.c:2536
-#: builtin/config.c:58 builtin/fast-export.c:987 builtin/fast-export.c:989
-#: builtin/grep.c:707 builtin/hash-object.c:99 builtin/ls-files.c:446
-#: builtin/ls-files.c:449 builtin/notes.c:395 builtin/notes.c:558
+#: archive.c:432 builtin/archive.c:88 builtin/blame.c:2547 builtin/blame.c:2548
+#: builtin/config.c:60 builtin/fast-export.c:987 builtin/fast-export.c:989
+#: builtin/grep.c:720 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
 msgid "file"
 msgstr "fitxer"
@@ -120,7 +120,7 @@
 msgid "list supported archive formats"
 msgstr "allista els formats d'arxiu admesos"
 
-#: archive.c:451 builtin/archive.c:90 builtin/clone.c:77
+#: archive.c:451 builtin/archive.c:90 builtin/clone.c:78
 msgid "repo"
 msgstr "dipòsit"
 
@@ -128,7 +128,7 @@
 msgid "retrieve the archive from remote repository <repo>"
 msgstr "recupera l'arxiu del dipòsit remot <dipòsit>"
 
-#: archive.c:453 builtin/archive.c:92 builtin/notes.c:479
+#: archive.c:453 builtin/archive.c:92 builtin/notes.c:482
 msgid "command"
 msgstr "ordre"
 
@@ -136,7 +136,7 @@
 msgid "path to the remote git-upload-archive command"
 msgstr "camí a l'ordre git-upload-archive remota"
 
-#: attr.c:265
+#: attr.c:263
 msgid ""
 "Negative patterns are ignored in git attributes\n"
 "Use '\\!' for literal leading exclamation."
@@ -144,90 +144,107 @@
 "Els patrons negatius s'ignoren en els atributs de git\n"
 "Useu '\\!' per exclamació capdavantera literal."
 
-#: branch.c:61
+#: branch.c:53
+#, c-format
+msgid ""
+"\n"
+"After fixing the error cause you may try to fix up\n"
+"the remote tracking information by invoking\n"
+"\"git branch --set-upstream-to=%s%s%s\"."
+msgstr ""
+"\n"
+"Després de corregir la causa de l'error, podeu\n"
+"intentar corregir la informació de seguiment remot\n"
+"invocant \"git branch --set-upstream-to=%s%s%s\"."
+
+#: branch.c:67
 #, c-format
 msgid "Not setting branch %s as its own upstream."
 msgstr "No establint la branca %s com a la seva pròpia font."
 
-#: branch.c:84
+#: branch.c:93
 #, c-format
 msgid "Branch %s set up to track remote branch %s from %s by rebasing."
 msgstr ""
 "La branca %s està configurada per a seguir la branca remota %s de %s per "
 "rebasar."
 
-#: branch.c:85
+#: branch.c:94
 #, c-format
 msgid "Branch %s set up to track remote branch %s from %s."
 msgstr "La branca %s està configurada per a seguir la branca remota %s de %s."
 
-#: branch.c:89
+#: branch.c:98
 #, c-format
 msgid "Branch %s set up to track local branch %s by rebasing."
 msgstr ""
 "La branca %s està configurada per a seguir la branca local %s per rebasar."
 
-#: branch.c:90
+#: branch.c:99
 #, c-format
 msgid "Branch %s set up to track local branch %s."
 msgstr "La branca %s està configurada per a seguir la branca local %s."
 
-#: branch.c:95
+#: branch.c:104
 #, c-format
 msgid "Branch %s set up to track remote ref %s by rebasing."
 msgstr ""
 "La branca %s està configurada per a seguir la referència remota %s per "
 "rebasar."
 
-#: branch.c:96
+#: branch.c:105
 #, c-format
 msgid "Branch %s set up to track remote ref %s."
 msgstr "La branca %s està configurada per a seguir la referència remota %s."
 
-#: branch.c:100
+#: branch.c:109
 #, c-format
 msgid "Branch %s set up to track local ref %s by rebasing."
 msgstr ""
 "La branca %s està configurada per a seguir la referència local %s per "
 "rebasar."
 
-#: branch.c:101
+#: branch.c:110
 #, c-format
 msgid "Branch %s set up to track local ref %s."
 msgstr "La branca %s està configurada per a seguir la referència local %s."
 
-#: branch.c:134
+#: branch.c:119
+msgid "Unable to write upstream branch configuration"
+msgstr "No es pot escriure la configuració de la branca font"
+
+#: branch.c:156
 #, c-format
 msgid "Not tracking: ambiguous information for ref %s"
 msgstr "No seguint: informació ambigua per a la referència %s"
 
-#: branch.c:163
+#: branch.c:185
 #, c-format
 msgid "'%s' is not a valid branch name."
 msgstr "'%s' no és un nom de branca vàlid."
 
-#: branch.c:168
+#: branch.c:190
 #, c-format
 msgid "A branch named '%s' already exists."
 msgstr "Una branca amb nom '%s' ja existeix."
 
-#: branch.c:176
+#: branch.c:198
 msgid "Cannot force update the current branch."
 msgstr "No es pot actualitzar la branca actual a la força."
 
-#: branch.c:196
+#: branch.c:218
 #, c-format
 msgid "Cannot setup tracking information; starting point '%s' is not a branch."
 msgstr ""
 "No es pot configurar la informació de seguiment; el punt inicial '%s' no és "
 "una branca."
 
-#: branch.c:198
+#: branch.c:220
 #, c-format
 msgid "the requested upstream branch '%s' does not exist"
 msgstr "la branca font demanada '%s' no existeix"
 
-#: branch.c:200
+#: branch.c:222
 msgid ""
 "\n"
 "If you are planning on basing your work on an upstream\n"
@@ -248,22 +265,22 @@
 "\"git push -u\" per a establir la configuració font\n"
 "mentre pugeu."
 
-#: branch.c:244
+#: branch.c:266
 #, c-format
 msgid "Not a valid object name: '%s'."
 msgstr "No és un nom d'objecte vàlid: '%s'."
 
-#: branch.c:264
+#: branch.c:286
 #, c-format
 msgid "Ambiguous object name: '%s'."
 msgstr "Nom d'objecte ambigu: '%s'."
 
-#: branch.c:269
+#: branch.c:291
 #, c-format
 msgid "Not a valid branch point: '%s'."
 msgstr "No és un punt de ramificació vàlid: '%s'."
 
-#: branch.c:322
+#: branch.c:344
 #, c-format
 msgid "'%s' is already checked out at '%s'"
 msgstr "'%s' ja s'ha agafat a '%s'"
@@ -287,10 +304,10 @@
 msgid "Repository lacks these prerequisite commits:"
 msgstr "Al dipòsit li manquen aquestes comissions prerequisits:"
 
-#: bundle.c:163 ref-filter.c:1372 sequencer.c:636 sequencer.c:1083
-#: builtin/blame.c:2734 builtin/commit.c:1045 builtin/log.c:334
-#: builtin/log.c:849 builtin/log.c:1461 builtin/log.c:1694 builtin/merge.c:358
-#: builtin/shortlog.c:158
+#: bundle.c:163 ref-filter.c:1462 sequencer.c:627 sequencer.c:1074
+#: builtin/blame.c:2754 builtin/commit.c:1045 builtin/log.c:334
+#: builtin/log.c:852 builtin/log.c:1467 builtin/log.c:1700 builtin/merge.c:358
+#: builtin/shortlog.c:170
 msgid "revision walk setup failed"
 msgstr "la configuració del passeig per revisions ha fallat"
 
@@ -329,7 +346,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:157 builtin/log.c:1369 builtin/shortlog.c:261
+#: bundle.c:443 builtin/log.c:157 builtin/log.c:1372 builtin/shortlog.c:273
 #, c-format
 msgid "unrecognized argument: %s"
 msgstr "paràmetre no reconegut: %s"
@@ -352,8 +369,8 @@
 msgid "invalid color value: %.*s"
 msgstr "valor de color no vàlid: %.*s"
 
-#: commit.c:40 builtin/am.c:452 builtin/am.c:488 builtin/am.c:1520
-#: builtin/am.c:2149
+#: commit.c:40 builtin/am.c:437 builtin/am.c:473 builtin/am.c:1505
+#: builtin/am.c:2135
 #, c-format
 msgid "could not parse %s"
 msgstr "no s'ha pogut analitzar %s"
@@ -367,59 +384,64 @@
 msgid "memory exhausted"
 msgstr "memòria esgotada"
 
-#: config.c:474 config.c:476
+#: config.c:475 config.c:477
 #, c-format
-msgid "bad config file line %d in %s"
-msgstr "línia de fitxer de configuració dolenta %d en %s"
+msgid "bad config line %d in %s %s"
+msgstr "línia de fitxer de configuració dolenta %d en %s %s"
 
-#: config.c:592
+#: config.c:593
 #, c-format
-msgid "bad numeric config value '%s' for '%s' in %s: %s"
-msgstr "valor de configuració numèrica dolent '%s' per '%s' en %s: %s"
+msgid "bad numeric config value '%s' for '%s' in %s %s: %s"
+msgstr "valor de configuració numèrica dolent '%s' per '%s' en %s %s: %s"
 
-#: config.c:594
+#: config.c:595
 #, c-format
 msgid "bad numeric config value '%s' for '%s': %s"
 msgstr "valor de configuració numèrica dolent '%s' per '%s': %s"
 
-#: config.c:679
+#: config.c:680
 #, c-format
 msgid "failed to expand user dir in: '%s'"
 msgstr "s'ha fallat en expandir el directori d'usuari en '%s'"
 
-#: config.c:757 config.c:768
+#: config.c:758 config.c:769
 #, c-format
 msgid "bad zlib compression level %d"
 msgstr "nivell de compressió de zlib dolent %d"
 
-#: config.c:890
+#: config.c:891
 #, c-format
 msgid "invalid mode for object creation: %s"
 msgstr "mode de creació d'objecte no vàlid: %s"
 
-#: config.c:1216
+#: config.c:1220
 msgid "unable to parse command-line config"
 msgstr "no s'ha pogut analitzar la configuració de la línia d'ordres"
 
-#: config.c:1277
+#: config.c:1281
 msgid "unknown error occured while reading the configuration files"
 msgstr "ha ocorregut un error desconegut en llegir els fitxers de configuració"
 
-#: config.c:1601
+#: config.c:1629
 #, 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:1603
+#: config.c:1631
 #, 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"
 
-#: config.c:1662
+#: config.c:1690
 #, c-format
 msgid "%s has multiple values"
 msgstr "%s té múltiples valors"
 
+#: config.c:2226
+#, c-format
+msgid "Could not set '%s' to '%s'"
+msgstr "No s'ha pogut establir '%s' com a '%s'"
+
 #: connected.c:69
 msgid "Could not run 'git rev-list'"
 msgstr "No s'ha pogut executar 'git rev-list'"
@@ -536,16 +558,16 @@
 "Errors trobats en la variable de configuració 'diff.dirstat':\n"
 "%s"
 
-#: diff.c:3000
+#: diff.c:2997
 #, c-format
 msgid "external diff died, stopping at %s"
 msgstr "El diff external s'ha mort, aturant a %s"
 
-#: diff.c:3396
+#: diff.c:3393
 msgid "--follow requires exactly one pathspec"
 msgstr "--follow requereix exactament una especificació de camí"
 
-#: diff.c:3559
+#: diff.c:3556
 #, c-format
 msgid ""
 "Failed to parse --dirstat/-X option parameter:\n"
@@ -554,18 +576,19 @@
 "S'ha fallat en analitzar el paràmetre d'opció de --dirstat/-X:\n"
 "%s"
 
-#: diff.c:3573
+#: diff.c:3570
 #, c-format
 msgid "Failed to parse --submodule option parameter: '%s'"
 msgstr "S'ha fallat en analitzar el paràmetre d'opció de --submodule: %s"
 
-#: dir.c:1915
+#: dir.c:2004
 msgid "failed to get kernel name and information"
 msgstr "s'ha fallat en obtenir el nombre i la informació del nucli"
 
-#: dir.c:1998
-msgid "Untracked cache is disabled on this system."
-msgstr "La memòria cau no seguida està deshabilitada en aquest sistema."
+#: dir.c:2123
+msgid "Untracked cache is disabled on this system or location."
+msgstr ""
+"La memòria cau no seguida està inhabilitada en aquest sistema o ubicació."
 
 #: gpg-interface.c:166 gpg-interface.c:237
 msgid "could not run gpg."
@@ -604,20 +627,20 @@
 msgid "'%s': short read %s"
 msgstr "'%s': lectura curta %s"
 
-#: help.c:207
+#: help.c:205
 #, c-format
 msgid "available git commands in '%s'"
 msgstr "ordres de git disponibles en '%s'"
 
-#: help.c:214
+#: help.c:212
 msgid "git commands available from elsewhere on your $PATH"
 msgstr "ordres de git disponibles d'altres llocs en el vostre $PATH"
 
-#: help.c:246
+#: help.c:244
 msgid "These are common Git commands used in various situations:"
 msgstr "Aquestes són ordres del Git comunament usades en diverses situacions:"
 
-#: help.c:311
+#: help.c:309
 #, c-format
 msgid ""
 "'%s' appears to be a git command, but we were not\n"
@@ -626,11 +649,11 @@
 "'%s' sembla una ordre de git, però no hem pogut\n"
 "executar-la. Pot ser que git-%s estigui estropejat?"
 
-#: help.c:368
+#: help.c:366
 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:390
+#: help.c:388
 #, c-format
 msgid ""
 "WARNING: You called a Git command named '%s', which does not exist.\n"
@@ -639,17 +662,17 @@
 "AVÍS: Heu invocat una ordre de Git amb nom '%s', la qual no existeix.\n"
 "Continuant sota l'assumpció que volíeu dir '%s'"
 
-#: help.c:395
+#: help.c:393
 #, c-format
 msgid "in %0.1f seconds automatically..."
 msgstr "en %0.1f segons automàticament..."
 
-#: help.c:402
+#: help.c:400
 #, 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:406 help.c:466
+#: help.c:404 help.c:464
 msgid ""
 "\n"
 "Did you mean this?"
@@ -663,7 +686,7 @@
 "\n"
 "Volíeu dir un d'aquests?"
 
-#: help.c:462
+#: help.c:460
 #, c-format
 msgid "%s: %s - %s"
 msgstr "%s: %s - %s"
@@ -672,8 +695,8 @@
 msgid "failed to read the cache"
 msgstr "s'ha fallat en llegir la memòria cau"
 
-#: merge.c:94 builtin/am.c:2022 builtin/am.c:2057 builtin/checkout.c:376
-#: builtin/checkout.c:587 builtin/clone.c:722
+#: merge.c:94 builtin/am.c:2008 builtin/am.c:2043 builtin/checkout.c:376
+#: builtin/checkout.c:587 builtin/clone.c:730
 msgid "unable to write new index file"
 msgstr "no s'ha pogut escriure un fitxer d'índex nou"
 
@@ -691,64 +714,64 @@
 msgid "error building trees"
 msgstr "error en construir arbres"
 
-#: merge-recursive.c:686
+#: merge-recursive.c:689
 #, c-format
 msgid "failed to create path '%s'%s"
 msgstr "s'ha fallat en crear el camí '%s' %s"
 
-#: merge-recursive.c:697
+#: merge-recursive.c:700
 #, c-format
 msgid "Removing %s to make room for subdirectory\n"
 msgstr "Eliminant %s per a fer espai per al subdirectori\n"
 
-#: merge-recursive.c:711 merge-recursive.c:732
+#: merge-recursive.c:714 merge-recursive.c:735
 msgid ": perhaps a D/F conflict?"
 msgstr ": potser un conflicte D/F?"
 
-#: merge-recursive.c:722
+#: merge-recursive.c:725
 #, c-format
 msgid "refusing to lose untracked file at '%s'"
 msgstr "refusant perdre el fitxer no seguit a '%s'"
 
-#: merge-recursive.c:762
+#: merge-recursive.c:765
 #, c-format
 msgid "cannot read object %s '%s'"
 msgstr "no es pot llegir l'objecte %s '%s'"
 
-#: merge-recursive.c:764
+#: merge-recursive.c:767
 #, c-format
 msgid "blob expected for %s '%s'"
 msgstr "blob esperat per a %s '%s'"
 
-#: merge-recursive.c:787 builtin/clone.c:369
+#: merge-recursive.c:790 builtin/clone.c:374
 #, c-format
 msgid "failed to open '%s'"
 msgstr "s'ha fallat en obrir '%s'"
 
-#: merge-recursive.c:795
+#: merge-recursive.c:798
 #, c-format
 msgid "failed to symlink '%s'"
 msgstr "s'ha fallat en fer l'enllaç simbòlic '%s'"
 
-#: merge-recursive.c:798
+#: merge-recursive.c:801
 #, 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:936
+#: merge-recursive.c:939
 msgid "Failed to execute internal merge"
 msgstr "S'ha fallat en executar la fusió interna"
 
-#: merge-recursive.c:940
+#: merge-recursive.c:943
 #, c-format
 msgid "Unable to add %s to database"
 msgstr "no s'ha pogut afegir %s a la base de dades"
 
-#: merge-recursive.c:956
+#: merge-recursive.c:959
 msgid "unsupported object type in the tree"
 msgstr "tipus d'objecte no compatible en l'arbre"
 
-#: merge-recursive.c:1031 merge-recursive.c:1045
+#: merge-recursive.c:1034 merge-recursive.c:1048
 #, c-format
 msgid ""
 "CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left "
@@ -757,7 +780,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:1037 merge-recursive.c:1050
+#: merge-recursive.c:1040 merge-recursive.c:1053
 #, c-format
 msgid ""
 "CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left "
@@ -766,20 +789,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:1091
+#: merge-recursive.c:1094
 msgid "rename"
 msgstr "canvia de nom"
 
-#: merge-recursive.c:1091
+#: merge-recursive.c:1094
 msgid "renamed"
 msgstr "canviat de nom"
 
-#: merge-recursive.c:1147
+#: merge-recursive.c:1150
 #, c-format
 msgid "%s is a directory in %s adding as %s instead"
 msgstr "%s és un directori en %s; afegint com a %s en lloc"
 
-#: merge-recursive.c:1169
+#: merge-recursive.c:1172
 #, c-format
 msgid ""
 "CONFLICT (rename/rename): Rename \"%s\"->\"%s\" in branch \"%s\" rename \"%s"
@@ -788,147 +811,147 @@
 "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:1174
+#: merge-recursive.c:1177
 msgid " (left unresolved)"
 msgstr " (deixat sense resolució)"
 
-#: merge-recursive.c:1228
+#: merge-recursive.c:1231
 #, 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:1258
+#: merge-recursive.c:1261
 #, c-format
 msgid "Renaming %s to %s and %s to %s instead"
 msgstr "Canviant el nom de %s a %s i %s a %s en lloc d'això"
 
-#: merge-recursive.c:1457
+#: merge-recursive.c:1460
 #, 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:1467
+#: merge-recursive.c:1470
 #, c-format
 msgid "Adding merged %s"
 msgstr "Afegint %s fusionat"
 
-#: merge-recursive.c:1472 merge-recursive.c:1674
+#: merge-recursive.c:1475 merge-recursive.c:1677
 #, c-format
 msgid "Adding as %s instead"
 msgstr "Afegint com a %s en lloc d'això"
 
-#: merge-recursive.c:1523
+#: merge-recursive.c:1526
 #, c-format
 msgid "cannot read object %s"
 msgstr "no es pot llegir l'objecte %s"
 
-#: merge-recursive.c:1526
+#: merge-recursive.c:1529
 #, c-format
 msgid "object %s is not a blob"
 msgstr "L'objecte %s no és un blob"
 
-#: merge-recursive.c:1578
+#: merge-recursive.c:1581
 msgid "modify"
 msgstr "modifica"
 
-#: merge-recursive.c:1578
+#: merge-recursive.c:1581
 msgid "modified"
 msgstr "modificat"
 
-#: merge-recursive.c:1588
+#: merge-recursive.c:1591
 msgid "content"
 msgstr "contingut"
 
-#: merge-recursive.c:1595
+#: merge-recursive.c:1598
 msgid "add/add"
 msgstr "afegiment/afegiment"
 
-#: merge-recursive.c:1629
+#: merge-recursive.c:1632
 #, c-format
 msgid "Skipped %s (merged same as existing)"
 msgstr "%s saltat (el fusionat és igual a l'existent)"
 
-#: merge-recursive.c:1643
+#: merge-recursive.c:1646
 #, c-format
 msgid "Auto-merging %s"
 msgstr "Autofusionant %s"
 
-#: merge-recursive.c:1647 git-submodule.sh:1025
+#: merge-recursive.c:1650 git-submodule.sh:1048
 msgid "submodule"
 msgstr "submòdul"
 
-#: merge-recursive.c:1648
+#: merge-recursive.c:1651
 #, c-format
 msgid "CONFLICT (%s): Merge conflict in %s"
 msgstr "CONFLICTE (%s): Conflicte de fusió en %s"
 
-#: merge-recursive.c:1734
+#: merge-recursive.c:1737
 #, c-format
 msgid "Removing %s"
 msgstr "Eliminant %s"
 
-#: merge-recursive.c:1759
+#: merge-recursive.c:1762
 msgid "file/directory"
 msgstr "fitxer/directori"
 
-#: merge-recursive.c:1765
+#: merge-recursive.c:1768
 msgid "directory/file"
 msgstr "directori/fitxer"
 
-#: merge-recursive.c:1770
+#: merge-recursive.c:1773
 #, 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. Afegint %s com a %s"
 
-#: merge-recursive.c:1780
+#: merge-recursive.c:1783
 #, c-format
 msgid "Adding %s"
 msgstr "Afegint %s"
 
-#: merge-recursive.c:1797
+#: merge-recursive.c:1800
 msgid "Fatal merge failure, shouldn't happen."
 msgstr "Fallat de fusió fatal; això no ha de passar."
 
-#: merge-recursive.c:1816
+#: merge-recursive.c:1819
 msgid "Already up-to-date!"
 msgstr "Ja al dia!"
 
-#: merge-recursive.c:1825
+#: merge-recursive.c:1828
 #, c-format
 msgid "merging of trees %s and %s failed"
 msgstr "la fusió dels arbres %s i %s ha fallat"
 
-#: merge-recursive.c:1855
+#: merge-recursive.c:1858
 #, c-format
 msgid "Unprocessed path??? %s"
 msgstr "Camí no processat??? %s"
 
-#: merge-recursive.c:1903
+#: merge-recursive.c:1906
 msgid "Merging:"
 msgstr "Fusionant:"
 
-#: merge-recursive.c:1916
+#: merge-recursive.c:1919
 #, c-format
 msgid "found %u common ancestor:"
 msgid_plural "found %u common ancestors:"
 msgstr[0] "s'ha trobat %u avantpassat:"
 msgstr[1] "s'han trobat %u avantpassats:"
 
-#: merge-recursive.c:1953
+#: merge-recursive.c:1956
 msgid "merge returned no commit"
 msgstr "la fusió no ha retornat cap comissió"
 
-#: merge-recursive.c:2010
+#: merge-recursive.c:2013
 #, c-format
 msgid "Could not parse object '%s'"
 msgstr "No s'ha pogut analitzar l'objecte '%s'"
 
-#: merge-recursive.c:2021 builtin/merge.c:645
+#: merge-recursive.c:2024 builtin/merge.c:646
 msgid "Unable to write index."
 msgstr "No s'ha pogut escriure l'índex."
 
@@ -986,7 +1009,7 @@
 #: parse-options-cb.c:108
 #, c-format
 msgid "malformed object name '%s'"
-msgstr "nom d'objecte mal format '%s'"
+msgstr "nom de camp mal format '%s'"
 
 #: path.c:752
 #, c-format
@@ -1047,12 +1070,12 @@
 msgstr ""
 "%s: aquesta ordre no és compatible amb la màgia d'especificació de camí: %s"
 
-#: pathspec.c:432
+#: pathspec.c:433
 #, 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:441
+#: pathspec.c:442
 msgid ""
 "There is nothing to exclude from by :(exclude) patterns.\n"
 "Perhaps you forgot to add either ':/' or '.' ?"
@@ -1086,164 +1109,249 @@
 "GIT_INDEX_VERSION establert, però el valor no és vàlid.\n"
 "Usant la versió %i"
 
-#: refs.c:543 builtin/merge.c:760 builtin/merge.c:871 builtin/merge.c:973
-#: builtin/merge.c:983
+#: refs.c:543 builtin/merge.c:761 builtin/merge.c:872 builtin/merge.c:974
+#: builtin/merge.c:984
 #, c-format
 msgid "Could not open '%s' for writing"
 msgstr "No s'ha pogut obrir '%s' per a escriptura"
 
-#: refs/files-backend.c:2359
+#: refs/files-backend.c:2374
 #, c-format
 msgid "could not delete reference %s: %s"
 msgstr "no s'ha pogut suprimir la referència %s: %s"
 
-#: refs/files-backend.c:2362
+#: refs/files-backend.c:2377
 #, c-format
 msgid "could not delete references: %s"
 msgstr "no s'ha pogut suprimir les referències: %s"
 
-#: refs/files-backend.c:2371
+#: refs/files-backend.c:2386
 #, c-format
 msgid "could not remove reference %s"
 msgstr "no s'ha pogut eliminar la referència %s"
 
-#: ref-filter.c:245
-#, 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:704
-#, c-format
-msgid "positive value expected contents:lines=%s"
-msgstr "valor positiu esperat contents:lines=%s"
-
-#: ref-filter.c:833
+#: ref-filter.c:55
 #, c-format
 msgid "expected format: %%(color:<color>)"
 msgstr "format esperat: %%(color:<color>)"
 
-#: ref-filter.c:835
-msgid "unable to parse format"
-msgstr "no s'ha pogut analitzar el format"
+#: ref-filter.c:57
+#, c-format
+msgid "unrecognized color: %%(color:%s)"
+msgstr "color no reconegut: %%(color:%s)"
 
-#: ref-filter.c:870
+#: ref-filter.c:71
+#, c-format
+msgid "unrecognized format: %%(%s)"
+msgstr "format no reconegut: %%(%s)"
+
+#: ref-filter.c:77
+#, c-format
+msgid "%%(body) does not take arguments"
+msgstr "%%(body) no accepta paràmetres"
+
+#: ref-filter.c:84
+#, c-format
+msgid "%%(subject) does not take arguments"
+msgstr "%%(subject) no accepta paràmetres"
+
+#: ref-filter.c:101
+#, c-format
+msgid "positive value expected contents:lines=%s"
+msgstr "valor positiu esperat contents:lines=%s"
+
+#: ref-filter.c:103
+#, c-format
+msgid "unrecognized %%(contents) argument: %s"
+msgstr "paràmetre %%(contents) no reconegut: %s"
+
+#: ref-filter.c:113
+#, c-format
+msgid "unrecognized %%(objectname) argument: %s"
+msgstr "paràmetre %%(objectname) no reconegut: %s"
+
+#: ref-filter.c:135
 #, c-format
 msgid "expected format: %%(align:<width>,<position>)"
 msgstr "format esperat: %%(align:<amplada>,<posició>)"
 
-#: ref-filter.c:893
+#: ref-filter.c:147
 #, c-format
-msgid "improper format entered align:%s"
-msgstr "format impropi introduït align:%s"
+msgid "unrecognized position:%s"
+msgstr "posició no reconeguda:%s"
 
-#: ref-filter.c:898
+#: ref-filter.c:151
+#, c-format
+msgid "unrecognized width:%s"
+msgstr "amplada no reconeguda:%s"
+
+#: ref-filter.c:157
+#, c-format
+msgid "unrecognized %%(align) argument: %s"
+msgstr "paràmetre %%(align) no reconegut: %s"
+
+#: ref-filter.c:161
 #, c-format
 msgid "positive width expected with the %%(align) atom"
 msgstr "amplada positiva esperada amb l'àtom %%(align)"
 
-#: ref-filter.c:1219
+#: ref-filter.c:244
+#, c-format
+msgid "malformed field name: %.*s"
+msgstr "nom d'objecte mal format: %.*s"
+
+#: ref-filter.c:270
+#, c-format
+msgid "unknown field name: %.*s"
+msgstr "nom de camp desconegut: %.*s"
+
+#: ref-filter.c:372
+#, 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
+#, c-format
+msgid "malformed format string %s"
+msgstr "cadena de format mal format %s"
+
+#: ref-filter.c:878
+msgid ":strip= requires a positive integer argument"
+msgstr ":strip= requereix un paràmetre enter positiu"
+
+#: ref-filter.c:883
+#, 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
+#, c-format
+msgid "unknown %.*s format %s"
+msgstr "format de %.*s desconegut %s"
+
+#: ref-filter.c:1066 ref-filter.c:1097
+#, c-format
+msgid "missing object %s for %s"
+msgstr "manca l'objecte %s per a %s"
+
+#: ref-filter.c:1069 ref-filter.c:1100
+#, 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
 #, c-format
 msgid "malformed object at '%s'"
 msgstr "objecte mal format a '%s'"
 
-#: ref-filter.c:1561
+#: ref-filter.c:1373
+#, c-format
+msgid "ignoring ref with broken name %s"
+msgstr "ignorant la referència amb nom trencat %s"
+
+#: ref-filter.c:1378
+#, c-format
+msgid "ignoring broken ref %s"
+msgstr "ignorant la referència trencada %s"
+
+#: ref-filter.c:1651
 #, c-format
 msgid "format: %%(end) atom missing"
 msgstr "format: manca l'àtom %%(end)"
 
-#: ref-filter.c:1615
+#: ref-filter.c:1705
 #, c-format
 msgid "malformed object name %s"
 msgstr "nom d'objecte %s mal format"
 
-#: remote.c:756
+#: remote.c:745
 #, c-format
 msgid "Cannot fetch both %s and %s to %s"
 msgstr "No es pot obtenir ambdós %s i %s a %s"
 
-#: remote.c:760
+#: remote.c:749
 #, c-format
 msgid "%s usually tracks %s, not %s"
 msgstr "%s generalment segueix %s, no %s"
 
-#: remote.c:764
+#: remote.c:753
 #, c-format
 msgid "%s tracks both %s and %s"
 msgstr "%s segueix ambdós %s i %s"
 
-#: remote.c:772
+#: remote.c:761
 msgid "Internal error"
 msgstr "Error intern"
 
-#: remote.c:1687 remote.c:1730
+#: remote.c:1677 remote.c:1720
 msgid "HEAD does not point to a branch"
 msgstr "HEAD no assenyala cap branca"
 
-#: remote.c:1696
+#: remote.c:1686
 #, c-format
 msgid "no such branch: '%s'"
 msgstr "no hi ha tal branca: '%s'"
 
-#: remote.c:1699
+#: remote.c:1689
 #, c-format
 msgid "no upstream configured for branch '%s'"
 msgstr "cap font configurada per a la branca '%s'"
 
-#: remote.c:1705
+#: remote.c:1695
 #, 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:1720
+#: remote.c:1710
 #, 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:1735
+#: remote.c:1725
 #, c-format
 msgid "branch '%s' has no remote for pushing"
 msgstr "la branca '%s' no té cap remot al qual pujar"
 
-#: remote.c:1746
+#: remote.c:1736
 #, c-format
 msgid "push refspecs for '%s' do not include '%s'"
 msgstr "les especificacions de referència de '%s' no inclouen '%s'"
 
-#: remote.c:1759
+#: remote.c:1749
 msgid "push has no destination (push.default is 'nothing')"
 msgstr "push no té destí (push.default és 'nothing')"
 
-#: remote.c:1781
+#: remote.c:1771
 msgid "cannot resolve 'simple' push to a single destination"
 msgstr "no es pot resoldre una pujada 'simple' a un sol destí"
 
-#: remote.c:2083
+#: remote.c:2073
 #, 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:2087
+#: remote.c:2077
 msgid "  (use \"git branch --unset-upstream\" to fixup)\n"
 msgstr "  (useu \"git branch --unset-upstream\" per a arreglar)\n"
 
-#: remote.c:2090
+#: remote.c:2080
 #, c-format
 msgid "Your branch is up-to-date with '%s'.\n"
 msgstr "La vostra branca està al dia amb '%s'.\n"
 
-#: remote.c:2094
+#: 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] "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:2100
+#: remote.c:2090
 msgid "  (use \"git push\" to publish your local commits)\n"
 msgstr "  (useu \"git push\" per a publicar les vostres comissions locals)\n"
 
-#: remote.c:2103
+#: remote.c:2093
 #, c-format
 msgid "Your branch is behind '%s' by %d commit, and can be fast-forwarded.\n"
 msgid_plural ""
@@ -1255,11 +1363,11 @@
 "La vostra branca està darrere de '%s' per %d comissions, i pot avançar-se "
 "ràpidament.\n"
 
-#: remote.c:2111
+#: remote.c:2101
 msgid "  (use \"git pull\" to update your local branch)\n"
 msgstr " (useu \"git pull\" per a actualitzar la vostra branca local)\n"
 
-#: remote.c:2114
+#: remote.c:2104
 #, c-format
 msgid ""
 "Your branch and '%s' have diverged,\n"
@@ -1274,28 +1382,28 @@
 "La vostra branca i '%s' s'han divergit,\n"
 "i tenen %d i %d comissions distintes cada una, respectivament.\n"
 
-#: remote.c:2124
+#: remote.c:2114
 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:2193
+#: revision.c:2131
 msgid "your current branch appears to be broken"
 msgstr "la vostra branca actual sembla trencada"
 
-#: revision.c:2196
+#: revision.c:2134
 #, c-format
 msgid "your current branch '%s' does not have any commits yet"
 msgstr "la vostra branca actual '%s' encara no té cap comissió"
 
-#: revision.c:2390
+#: revision.c:2328
 msgid "--first-parent is incompatible with --bisect"
 msgstr "--first-parent és incompatible amb --bisect"
 
-#: run-command.c:90
+#: run-command.c:92
 msgid "open /dev/null failed"
 msgstr "s'ha fallat en obrir /dev/null"
 
-#: run-command.c:92
+#: run-command.c:94
 #, c-format
 msgid "dup2(%d,%d) failed"
 msgstr "dup2(%d,%d) ha fallat"
@@ -1320,7 +1428,7 @@
 msgid "the receiving end does not support --atomic push"
 msgstr "el destí receptor no admet pujar --atomic"
 
-#: sequencer.c:183
+#: sequencer.c:174
 msgid ""
 "after resolving the conflicts, mark the corrected paths\n"
 "with 'git add <paths>' or 'git rm <paths>'"
@@ -1328,7 +1436,7 @@
 "després de resoldre els conflictes, marqueu els camins\n"
 "corregits amb 'git add <camins>' o 'git rm <camins>'"
 
-#: sequencer.c:186
+#: sequencer.c:177
 msgid ""
 "after resolving the conflicts, mark the corrected paths\n"
 "with 'git add <paths>' or 'git rm <paths>'\n"
@@ -1338,67 +1446,67 @@
 "corregits amb 'git add <camins>' o 'git rm <camins>'\n"
 "i cometeu el resultat amb 'git commit'"
 
-#: sequencer.c:199 sequencer.c:842 sequencer.c:922
+#: sequencer.c:190 sequencer.c:833 sequencer.c:913
 #, c-format
 msgid "Could not write to %s"
 msgstr "No s'ha pogut escriure a %s"
 
-#: sequencer.c:202
+#: sequencer.c:193
 #, c-format
 msgid "Error wrapping up %s"
 msgstr "Error en finalitzar %s"
 
-#: sequencer.c:217
+#: sequencer.c:208
 msgid "Your local changes would be overwritten by cherry-pick."
 msgstr "Els vostres canvis locals se sobreescriurien pel recull de cireres."
 
-#: sequencer.c:219
+#: sequencer.c:210
 msgid "Your local changes would be overwritten by revert."
 msgstr "Els vostres canvis locals se sobreescriurien per la reversió."
 
-#: sequencer.c:222
+#: sequencer.c:213
 msgid "Commit your changes or stash them to proceed."
 msgstr "Cometeu els vostres canvis o emmagatzemeu-los per a procedir."
 
 #. TRANSLATORS: %s will be "revert" or "cherry-pick"
-#: sequencer.c:309
+#: sequencer.c:300
 #, c-format
 msgid "%s: Unable to write new index file"
 msgstr "%s: No s'ha pogut escriure un fitxer d'índex nou"
 
-#: sequencer.c:327
+#: sequencer.c:318
 msgid "Could not resolve HEAD commit\n"
 msgstr "No s'ha pogut resoldre la comissió HEAD\n"
 
-#: sequencer.c:347
+#: sequencer.c:338
 msgid "Unable to update cache tree\n"
 msgstr "No s'ha pogut actualitzar l'arbre cau\n"
 
-#: sequencer.c:399
+#: sequencer.c:390
 #, c-format
 msgid "Could not parse commit %s\n"
 msgstr "No s'ha pogut analitzar la comissió %s\n"
 
-#: sequencer.c:404
+#: sequencer.c:395
 #, c-format
 msgid "Could not parse parent commit %s\n"
 msgstr "No s'ha pogut analitzar la comissió mare %s\n"
 
-#: sequencer.c:469
+#: sequencer.c:460
 msgid "Your index file is unmerged."
 msgstr "El vostre fitxer d'índex està sense fusionar."
 
-#: sequencer.c:488
+#: sequencer.c:479
 #, 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:496
+#: sequencer.c:487
 #, c-format
 msgid "Commit %s does not have parent %d"
 msgstr "La comissió %s no té mare %d"
 
-#: sequencer.c:500
+#: sequencer.c:491
 #, c-format
 msgid "Mainline was specified but commit %s is not a merge."
 msgstr ""
@@ -1406,162 +1514,178 @@
 
 #. TRANSLATORS: The first %s will be "revert" or
 #. "cherry-pick", the second %s a SHA1
-#: sequencer.c:513
+#: sequencer.c:504
 #, c-format
 msgid "%s: cannot parse parent commit %s"
 msgstr "%s: no es pot analitzar la comissió mare %s"
 
-#: sequencer.c:517
+#: sequencer.c:508
 #, c-format
 msgid "Cannot get commit message for %s"
 msgstr "No es pot obtenir el missatge de comissió de %s"
 
-#: sequencer.c:603
+#: sequencer.c:594
 #, c-format
 msgid "could not revert %s... %s"
 msgstr "no s'ha pogut revertir %s...%s"
 
-#: sequencer.c:604
+#: sequencer.c:595
 #, c-format
 msgid "could not apply %s... %s"
 msgstr "no s'ha pogut aplicar %s...%s"
 
-#: sequencer.c:639
+#: sequencer.c:630
 msgid "empty commit set passed"
 msgstr "conjunt de comissions buit passat"
 
-#: sequencer.c:647
+#: sequencer.c:638
 #, c-format
 msgid "git %s: failed to read the index"
 msgstr "git %s: s'ha fallat en llegir l'índex"
 
-#: sequencer.c:651
+#: sequencer.c:642
 #, c-format
 msgid "git %s: failed to refresh the index"
 msgstr "git %s: s'ha fallat en actualitzar l'índex"
 
-#: sequencer.c:711
+#: sequencer.c:702
 #, c-format
 msgid "Cannot %s during a %s"
 msgstr "No es pot %s durant un %s"
 
-#: sequencer.c:733
+#: sequencer.c:724
 #, c-format
 msgid "Could not parse line %d."
 msgstr "No s'ha pogut analitzar la línia %d."
 
-#: sequencer.c:738
+#: sequencer.c:729
 msgid "No commits parsed."
 msgstr "Cap comissió analitzada."
 
-#: sequencer.c:750
+#: sequencer.c:741
 #, c-format
 msgid "Could not open %s"
 msgstr "No s'ha pogut obrir %s"
 
-#: sequencer.c:754
+#: sequencer.c:745
 #, c-format
 msgid "Could not read %s."
 msgstr "No s'ha pogut llegir %s."
 
-#: sequencer.c:761
+#: sequencer.c:752
 #, c-format
 msgid "Unusable instruction sheet: %s"
 msgstr "Full d'instruccions inusable: %s"
 
-#: sequencer.c:791
+#: sequencer.c:782
 #, c-format
 msgid "Invalid key: %s"
 msgstr "Clau no vàlida: %s"
 
-#: sequencer.c:794 builtin/pull.c:47 builtin/pull.c:49
+#: sequencer.c:785 builtin/pull.c:50 builtin/pull.c:52
 #, c-format
 msgid "Invalid value for %s: %s"
 msgstr "Valor no vàlid per a %s: %s"
 
-#: sequencer.c:804
+#: sequencer.c:795
 #, c-format
 msgid "Malformed options sheet: %s"
 msgstr "Full d'opcions mal format: %s"
 
-#: sequencer.c:823
+#: sequencer.c:814
 msgid "a cherry-pick or revert is already in progress"
 msgstr "un recull de cireres o una reversió ja està en curs"
 
-#: sequencer.c:824
+#: sequencer.c:815
 msgid "try \"git cherry-pick (--continue | --quit | --abort)\""
 msgstr "intenteu \"git cherry-pick (--continue | --quit | --abort)\""
 
-#: sequencer.c:828
+#: sequencer.c:819
 #, c-format
 msgid "Could not create sequencer directory %s"
 msgstr "No s'ha pogut crear el directori de seqüenciador %s"
 
-#: sequencer.c:844 sequencer.c:926
+#: sequencer.c:835 sequencer.c:917
 #, c-format
 msgid "Error wrapping up %s."
 msgstr "Error en finalitzar %s."
 
-#: sequencer.c:863 sequencer.c:996
+#: sequencer.c:854 sequencer.c:987
 msgid "no cherry-pick or revert in progress"
 msgstr "ni hi ha cap recull de cireres ni cap reversió en curs"
 
-#: sequencer.c:865
+#: sequencer.c:856
 msgid "cannot resolve HEAD"
 msgstr "no es pot resoldre HEAD"
 
-#: sequencer.c:867
+#: sequencer.c:858
 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:887 builtin/apply.c:4287
+#: sequencer.c:878 builtin/apply.c:4287
 #, c-format
 msgid "cannot open %s: %s"
 msgstr "no es pot obrir %s: %s"
 
-#: sequencer.c:890
+#: sequencer.c:881
 #, c-format
 msgid "cannot read %s: %s"
 msgstr "no es pot llegir %s: %s"
 
-#: sequencer.c:891
+#: sequencer.c:882
 msgid "unexpected end of file"
 msgstr "final de fitxer inesperat"
 
-#: sequencer.c:897
+#: sequencer.c:888
 #, 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"
 
-#: sequencer.c:919
+#: sequencer.c:910
 #, c-format
 msgid "Could not format %s."
 msgstr "No s'ha pogut formatar %s."
 
-#: sequencer.c:1064
+#: sequencer.c:1055
 #, c-format
 msgid "%s: can't cherry-pick a %s"
 msgstr "%s: no es pot recollir com a cirera un %s"
 
-#: sequencer.c:1067
+#: sequencer.c:1058
 #, c-format
 msgid "%s: bad revision"
 msgstr "%s: revisió dolenta"
 
-#: sequencer.c:1101
+#: sequencer.c:1092
 msgid "Can't revert as initial commit"
 msgstr "No es pot revertir com a comissió inicial"
 
-#: sequencer.c:1102
+#: sequencer.c:1093
 msgid "Can't cherry-pick into empty head"
 msgstr "No es pot recollir cireres en un cap buit"
 
-#: setup.c:248
+#: setup.c:246
 #, c-format
 msgid "failed to read %s"
 msgstr "s'ha fallat en llegir %s"
 
-#: sha1_name.c:463
+#: sha1_file.c:1080
+msgid "offset before end of packfile (broken .idx?)"
+msgstr "desplaçament abans de la fi del fitxer de paquet (.idx trencat?)"
+
+#: sha1_file.c:2459
+#, 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:2463
+#, c-format
+msgid "offset beyond end of pack index for %s (truncated index?)"
+msgstr ""
+"desplaçament més enllà de la fi d'índex de paquet per a %s (índex truncat?)"
+
+#: sha1_name.c:462
 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"
@@ -1585,62 +1709,86 @@
 "suprimiu-les. Desactiveu aquest missatge executant\n"
 "\"git config advice.objectNameWarning false\""
 
-#: submodule.c:61 submodule.c:95
+#: submodule.c:62 submodule.c:96
 msgid "Cannot change unmerged .gitmodules, resolve merge conflicts first"
 msgstr ""
 "No es pot canviar un .gitmodules no fusionat, primer resoldreu els "
 "conflictes de fusió"
 
-#: submodule.c:65 submodule.c:99
+#: submodule.c:66 submodule.c:100
 #, 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:73
+#: submodule.c:74
 #, c-format
 msgid "Could not update .gitmodules entry %s"
 msgstr "No s'ha pogut actualitzar l'entrada de .gitmodules %s"
 
-#: submodule.c:106
+#: submodule.c:107
 #, 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:117
+#: submodule.c:118
 msgid "staging updated .gitmodules failed"
 msgstr "L'allistament del .gitmodules actualitzat ha fallat"
 
-#: submodule.c:1040
+#: trailer.c:237
 #, c-format
-msgid "Could not set core.worktree in %s"
-msgstr "No s'ha pogut establir core.worktree en %s"
+msgid "running trailer command '%s' failed"
+msgstr "l'execució de l'ordre de remolc '%s' ha fallat"
 
-#: trailer.c:491 trailer.c:495 trailer.c:499 trailer.c:553 trailer.c:557
-#: trailer.c:561
+#: trailer.c:492 trailer.c:496 trailer.c:500 trailer.c:554 trailer.c:558
+#: trailer.c:562
 #, c-format
 msgid "unknown value '%s' for key '%s'"
 msgstr "valor desconegut '%s' per a la clau '%s'"
 
-#: trailer.c:543 trailer.c:548 builtin/remote.c:296
+#: trailer.c:544 trailer.c:549 builtin/remote.c:289
 #, c-format
 msgid "more than one %s"
 msgstr "més d'un %s"
 
-#: trailer.c:581
+#: trailer.c:582
 #, c-format
 msgid "empty trailer token in trailer '%.*s'"
 msgstr "fitxa de remolc buida en el remolc '%.*s'"
 
-#: trailer.c:701
+#: trailer.c:702
 #, c-format
 msgid "could not read input file '%s'"
 msgstr "no s'ha pogut llegir el fitxer d'entrada '%s'"
 
-#: trailer.c:704
+#: trailer.c:705
 msgid "could not read from stdin"
 msgstr "No s'ha pogut llegir des d'stdin"
 
-#: transport-helper.c:1025
+#: trailer.c:857 builtin/am.c:42
+#, c-format
+msgid "could not stat %s"
+msgstr "no s'ha pogut fer stat a %s"
+
+#: trailer.c:859
+#, c-format
+msgid "file %s is not a regular file"
+msgstr "el fitxer %s no és un fitxer regular"
+
+#: trailer.c:861
+#, c-format
+msgid "file %s is not writable by user"
+msgstr "el fitxer %s no és gravable per l'usuari"
+
+#: trailer.c:873
+msgid "could not open temporary file"
+msgstr "no s'ha pogut obrir el fitxer temporal"
+
+#: trailer.c:912
+#, c-format
+msgid "could not rename temporary file to %s"
+msgstr "no s'ha pogut canviar el nom del fitxer temporal a %s"
+
+#: transport-helper.c:1041
 #, c-format
 msgid "Could not read ref %s"
 msgstr "No s'ha pogut llegir la referència %s"
@@ -1678,47 +1826,47 @@
 msgid "invalid '..' path segment"
 msgstr "segment de camí '..' no vàlid"
 
-#: wrapper.c:219 wrapper.c:362
+#: wrapper.c:222 wrapper.c:381
 #, c-format
 msgid "could not open '%s' for reading and writing"
 msgstr "no s'ha pogut obrir '%s' per a lectura i escriptura"
 
-#: wrapper.c:221 wrapper.c:364
+#: wrapper.c:224 wrapper.c:383
 #, c-format
 msgid "could not open '%s' for writing"
 msgstr "no s'ha pogut obrir '%s' per a escriptura"
 
-#: wrapper.c:223 wrapper.c:366 builtin/am.c:338 builtin/commit.c:1691
-#: builtin/merge.c:1074 builtin/pull.c:380
+#: wrapper.c:226 wrapper.c:385 builtin/am.c:323 builtin/commit.c:1691
+#: builtin/merge.c:1075 builtin/pull.c:387
 #, c-format
 msgid "could not open '%s' for reading"
 msgstr "no s'ha pogut obrir '%s' per a lectura"
 
-#: wrapper.c:579
+#: wrapper.c:611
 #, c-format
 msgid "unable to access '%s': %s"
 msgstr "no s'ha pogut accedir a '%s': %s"
 
-#: wrapper.c:600
+#: wrapper.c:632
 #, c-format
 msgid "unable to access '%s'"
 msgstr "no s'ha pogut accedir a '%s'"
 
-#: wrapper.c:608
+#: wrapper.c:640
 msgid "unable to get current working directory"
 msgstr "no s'ha pogut obtenir el directori de treball actual"
 
-#: wrapper.c:635
+#: wrapper.c:667
 #, c-format
 msgid "could not open %s for writing"
 msgstr "no s'ha pogut obrir '%s' per a escriptura"
 
-#: wrapper.c:646 builtin/am.c:425
+#: wrapper.c:678 builtin/am.c:410
 #, c-format
 msgid "could not write to %s"
 msgstr "no s'ha pogut escriure a %s"
 
-#: wrapper.c:652
+#: wrapper.c:684
 #, c-format
 msgid "could not close %s"
 msgstr "no s'ha pogut tancar %s"
@@ -2189,7 +2337,11 @@
 msgid "behind "
 msgstr "darrere "
 
-#: compat/precompose_utf8.c:56 builtin/clone.c:408
+#: wt-status.c:1680 wt-status.c:1683
+msgid "ahead "
+msgstr "davant per "
+
+#: compat/precompose_utf8.c:57 builtin/clone.c:413
 #, c-format
 msgid "failed to unlink '%s'"
 msgstr "s'ha fallat en desenllaçar '%s'"
@@ -2216,7 +2368,7 @@
 msgid "Unstaged changes after refreshing the index:"
 msgstr "Canvis no allistats després d'actualitzar l'índex:"
 
-#: builtin/add.c:194 builtin/rev-parse.c:796
+#: builtin/add.c:194 builtin/rev-parse.c:797
 msgid "Could not read the index"
 msgstr "No s'ha pogut llegir l'índex"
 
@@ -2252,15 +2404,15 @@
 msgstr ""
 "Els camins següents s'ignoren per un dels vostres fitxers .gitignore:\n"
 
-#: builtin/add.c:249 builtin/clean.c:894 builtin/fetch.c:108 builtin/mv.c:110
-#: builtin/prune-packed.c:55 builtin/pull.c:182 builtin/push.c:543
-#: builtin/remote.c:1345 builtin/rm.c:268 builtin/send-pack.c:162
+#: builtin/add.c:249 builtin/clean.c:870 builtin/fetch.c:112 builtin/mv.c:111
+#: builtin/prune-packed.c:55 builtin/pull.c:189 builtin/push.c:511
+#: builtin/remote.c:1330 builtin/rm.c:268 builtin/send-pack.c:162
 msgid "dry run"
 msgstr "marxa en sec"
 
-#: builtin/add.c:250 builtin/apply.c:4571 builtin/check-ignore.c:19
+#: builtin/add.c:250 builtin/apply.c:4561 builtin/check-ignore.c:19
 #: builtin/commit.c:1322 builtin/count-objects.c:85 builtin/fsck.c:558
-#: builtin/log.c:1645 builtin/mv.c:109 builtin/read-tree.c:114
+#: builtin/log.c:1651 builtin/mv.c:110 builtin/read-tree.c:114
 msgid "be verbose"
 msgstr "sigues detallat"
 
@@ -2268,7 +2420,7 @@
 msgid "interactive picking"
 msgstr "recull interactiu"
 
-#: builtin/add.c:253 builtin/checkout.c:1153 builtin/reset.c:286
+#: builtin/add.c:253 builtin/checkout.c:1155 builtin/reset.c:286
 msgid "select hunks interactively"
 msgstr "selecciona els trossos interactivament"
 
@@ -2337,139 +2489,134 @@
 msgid "Maybe you wanted to say 'git add .'?\n"
 msgstr "Potser volíeu dir 'git add .'?\n"
 
-#: builtin/add.c:358 builtin/check-ignore.c:172 builtin/clean.c:938
-#: builtin/commit.c:337 builtin/mv.c:130 builtin/reset.c:235 builtin/rm.c:298
-#: builtin/submodule--helper.c:40
+#: builtin/add.c:358 builtin/check-ignore.c:172 builtin/clean.c:914
+#: builtin/commit.c:337 builtin/mv.c:131 builtin/reset.c:235 builtin/rm.c:298
+#: builtin/submodule--helper.c:35
 msgid "index file corrupt"
 msgstr "fitxer d'índex malmès"
 
-#: builtin/add.c:439 builtin/apply.c:4669 builtin/mv.c:279 builtin/rm.c:430
+#: builtin/add.c:439 builtin/apply.c:4659 builtin/mv.c:280 builtin/rm.c:430
 msgid "Unable to write new index file"
 msgstr "no s'ha pogut escriure un fitxer d'índex nou"
 
-#: builtin/am.c:42
-#, c-format
-msgid "could not stat %s"
-msgstr "no s'ha pogut fer stat a '%s'"
-
-#: builtin/am.c:271 builtin/commit.c:738 builtin/merge.c:1077
+#: builtin/am.c:256 builtin/commit.c:738 builtin/merge.c:1078
 #, c-format
 msgid "could not read '%s'"
 msgstr "no s'ha pogut llegir '%s'"
 
-#: builtin/am.c:445
+#: builtin/am.c:430
 msgid "could not parse author script"
 msgstr "no s'ha pogut analitzar l'script d'autor"
 
-#: builtin/am.c:522
+#: builtin/am.c:507
 #, c-format
 msgid "'%s' was deleted by the applypatch-msg hook"
 msgstr "s'ha suprimit '%s' per el ganxo applypatch-msg"
 
-#: builtin/am.c:563 builtin/notes.c:300
+#: builtin/am.c:548 builtin/notes.c:300
 #, c-format
 msgid "Malformed input line: '%s'."
 msgstr "Línia d'entrada mal formada: '%s'."
 
-#: builtin/am.c:600 builtin/notes.c:315
+#: builtin/am.c:585 builtin/notes.c:315
 #, c-format
 msgid "Failed to copy notes from '%s' to '%s'"
 msgstr "S'ha fallat en copiar les notes de '%s' a '%s'"
 
-#: builtin/am.c:626
+#: builtin/am.c:611
 msgid "fseek failed"
 msgstr "fseek ha fallat"
 
-#: builtin/am.c:787 builtin/am.c:875
+#: builtin/am.c:772 builtin/am.c:860
 #, c-format
 msgid "could not open '%s' for reading: %s"
 msgstr "no s'ha pogut obrir '%s' per a lectura: %s"
 
-#: builtin/am.c:794
+#: builtin/am.c:779
 #, c-format
 msgid "could not open '%s' for writing: %s"
 msgstr "no s'ha pogut obrir '%s' per a escriptura: %s"
 
-#: builtin/am.c:803
+#: builtin/am.c:788
 #, c-format
 msgid "could not parse patch '%s'"
 msgstr "no s'ha pogut analitzar el pedaç '%s'"
 
-#: builtin/am.c:868
+#: builtin/am.c:853
 msgid "Only one StGIT patch series can be applied at once"
 msgstr "només una sèrie de pedaços StGIT es pot aplicar a la vegada"
 
-#: builtin/am.c:916
+#: builtin/am.c:901
 msgid "invalid timestamp"
 msgstr "marca de temps no vàlida"
 
-#: builtin/am.c:919 builtin/am.c:927
+#: builtin/am.c:904 builtin/am.c:912
 msgid "invalid Date line"
 msgstr "línia Date no vàlida"
 
-#: builtin/am.c:924
+#: builtin/am.c:909
 msgid "invalid timezone offset"
 msgstr "desplaçament de zona de temps no vàlid"
 
-#: builtin/am.c:1011
+#: builtin/am.c:996
 msgid "Patch format detection failed."
 msgstr "La detecció de format de pedaç ha fallat."
 
-#: builtin/am.c:1016 builtin/clone.c:373
+#: builtin/am.c:1001 builtin/clone.c:378
 #, c-format
 msgid "failed to create directory '%s'"
 msgstr "s'ha fallat en crear el directori '%s'"
 
-#: builtin/am.c:1020
+#: builtin/am.c:1005
 msgid "Failed to split patches."
 msgstr "S'ha fallat en dividir els pedaços."
 
-#: builtin/am.c:1152 builtin/commit.c:363
+#: builtin/am.c:1137 builtin/commit.c:363
 msgid "unable to write index file"
 msgstr "no s'ha pogut escriure el fitxer d'índex"
 
-#: builtin/am.c:1203
+#: builtin/am.c:1188
 #, c-format
 msgid "When you have resolved this problem, run \"%s --continue\"."
 msgstr "Quan hàgiu resolt aquest problema, executeu \"%s --continue\"."
 
-#: builtin/am.c:1204
+#: builtin/am.c:1189
 #, 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."
 
-#: builtin/am.c:1205
+#: builtin/am.c:1190
 #, c-format
 msgid "To restore the original branch and stop patching, run \"%s --abort\"."
 msgstr ""
 "Per a restaurar la branca original i deixar d'apedaçar, executeu \"%s --abort"
 "\"."
 
-#: builtin/am.c:1343
+#: builtin/am.c:1328
 msgid "Patch is empty. Was it split wrong?"
 msgstr "El pedaç és buit. S'ha dividit malament?"
 
-#: builtin/am.c:1417 builtin/log.c:1347
+#: builtin/am.c:1402 builtin/log.c:1350
 #, c-format
 msgid "invalid ident line: %s"
 msgstr "línia d'identitat no vàlida: %s"
 
-#: builtin/am.c:1444
+#: builtin/am.c:1429
 #, c-format
 msgid "unable to parse commit %s"
 msgstr "no s'ha pogut analitzar la comissió %s"
 
-#: builtin/am.c:1646
+#: builtin/am.c:1631
 msgid "Repository lacks necessary blobs to fall back on 3-way merge."
 msgstr ""
 "Al dipòsit li manquen els blobs necessaris per a retrocedir a una fusió de 3 "
 "vies."
 
-#: builtin/am.c:1648
+#: builtin/am.c:1633
 msgid "Using index info to reconstruct a base tree..."
 msgstr "Usant la informació d'índex per a reconstruir un arbre base..."
 
-#: builtin/am.c:1667
+#: builtin/am.c:1652
 msgid ""
 "Did you hand edit your patch?\n"
 "It does not apply to blobs recorded in its index."
@@ -2477,38 +2624,38 @@
 "Heu editat el vostre pedaç a mà?\n"
 "No s'aplica als blobs recordats en el seu índex."
 
-#: builtin/am.c:1673
+#: builtin/am.c:1658
 msgid "Falling back to patching base and 3-way merge..."
 msgstr "Retrocedint a apedaçar la base i fusionar de 3 vies..."
 
-#: builtin/am.c:1688
+#: builtin/am.c:1673
 msgid "Failed to merge in the changes."
 msgstr "S'ha fallat en fusionar els canvis."
 
-#: builtin/am.c:1712 builtin/merge.c:632
+#: builtin/am.c:1697 builtin/merge.c:633
 msgid "git write-tree failed to write a tree"
 msgstr "git write-tree ha fallat en escriure un arbre"
 
-#: builtin/am.c:1719
+#: builtin/am.c:1704
 msgid "applying to an empty history"
 msgstr "aplicant a una història buida"
 
-#: builtin/am.c:1732 builtin/commit.c:1755 builtin/merge.c:829
-#: builtin/merge.c:854
+#: builtin/am.c:1717 builtin/commit.c:1755 builtin/merge.c:830
+#: builtin/merge.c:855
 msgid "failed to write commit object"
 msgstr "s'ha fallat en escriure l'objecte de comissió"
 
-#: builtin/am.c:1764 builtin/am.c:1768
+#: builtin/am.c:1749 builtin/am.c:1753
 #, c-format
 msgid "cannot resume: %s does not exist."
 msgstr "no es pot reprendre: %s no existeix."
 
-#: builtin/am.c:1784
+#: builtin/am.c:1769
 msgid "cannot be interactive without stdin connected to a terminal."
 msgstr ""
 "no es pot ser interactiu sense que stdin sigui connectat a un terminal."
 
-#: builtin/am.c:1789
+#: builtin/am.c:1774
 msgid "Commit Body is:"
 msgstr "El cos de la comissió és:"
 
@@ -2516,37 +2663,37 @@
 #. in your translation. The program will only accept English
 #. input at this point.
 #.
-#: builtin/am.c:1799
+#: builtin/am.c:1784
 msgid "Apply? [y]es/[n]o/[e]dit/[v]iew patch/[a]ccept all: "
 msgstr ""
 "Voleu aplicar-lo? [y]es/[n]o/[e]dita/[v]isualitza el pedaç/[a]ccepta'ls "
 "tots: "
 
-#: builtin/am.c:1849
+#: builtin/am.c:1834
 #, c-format
 msgid "Dirty index: cannot apply patches (dirty: %s)"
 msgstr "Índex brut: no es pot aplicar pedaços (bruts: %s)"
 
-#: builtin/am.c:1884 builtin/am.c:1955
+#: builtin/am.c:1869 builtin/am.c:1941
 #, c-format
 msgid "Applying: %.*s"
 msgstr "Aplicant: %.*s"
 
-#: builtin/am.c:1900
+#: builtin/am.c:1885
 msgid "No changes -- Patch already applied."
 msgstr "Sense canvis -- El pedaç ja s'ha aplicat."
 
-#: builtin/am.c:1908
+#: builtin/am.c:1893
 #, c-format
 msgid "Patch failed at %s %.*s"
 msgstr "El pedaç ha fallat a %s %.*s"
 
-#: builtin/am.c:1914
+#: builtin/am.c:1899
 #, c-format
 msgid "The copy of the patch that failed is found in: %s"
 msgstr "La còpia del pedaç que ha fallat es troba en: %s"
 
-#: builtin/am.c:1958
+#: builtin/am.c:1944
 msgid ""
 "No changes - did you forget to use 'git add'?\n"
 "If there is nothing left to stage, chances are that something else\n"
@@ -2556,7 +2703,7 @@
 "Si no hi ha res a allistar, probablement alguna altra cosa\n"
 "ja ha introduït els mateixos canvis; potser voleu ometre aquest pedaç."
 
-#: builtin/am.c:1965
+#: builtin/am.c:1951
 msgid ""
 "You still have unmerged paths in your index.\n"
 "Did you forget to use 'git add'?"
@@ -2564,17 +2711,17 @@
 "Encara teniu camins sense fusionar en el vostre índex.\n"
 "Heu oblidat d'usar 'git add'?"
 
-#: builtin/am.c:2073 builtin/am.c:2077 builtin/am.c:2089 builtin/reset.c:308
+#: builtin/am.c:2059 builtin/am.c:2063 builtin/am.c:2075 builtin/reset.c:308
 #: builtin/reset.c:316
 #, c-format
 msgid "Could not parse object '%s'."
 msgstr "No s'ha pogut analitzar l'objecte '%s'."
 
-#: builtin/am.c:2125
+#: builtin/am.c:2111
 msgid "failed to clean index"
 msgstr "s'ha fallat en netejar l'índex"
 
-#: builtin/am.c:2159
+#: builtin/am.c:2145
 msgid ""
 "You seem to have moved HEAD since the last 'am' failure.\n"
 "Not rewinding to ORIG_HEAD"
@@ -2582,154 +2729,154 @@
 "Sembla que heu mogut HEAD després de l'última fallada de 'am'.\n"
 "No rebobinant a ORIG_HEAD"
 
-#: builtin/am.c:2220
+#: builtin/am.c:2206
 #, c-format
 msgid "Invalid value for --patch-format: %s"
 msgstr "Valor no vàlid per a --patch-format: %s"
 
-#: builtin/am.c:2253
+#: builtin/am.c:2239
 msgid "git am [<options>] [(<mbox>|<Maildir>)...]"
 msgstr "git am [<opcions>] [(<bústia>|<directori-de-correu>)...]"
 
-#: builtin/am.c:2254
+#: builtin/am.c:2240
 msgid "git am [<options>] (--continue | --skip | --abort)"
 msgstr "git am [<opcions>] (--continue | --skip | --abort)"
 
-#: builtin/am.c:2260
+#: builtin/am.c:2246
 msgid "run interactively"
 msgstr "executa interactivament"
 
-#: builtin/am.c:2262
+#: builtin/am.c:2248
 msgid "historical option -- no-op"
 msgstr "opció històrica -- no-op"
 
-#: builtin/am.c:2264
+#: builtin/am.c:2250
 msgid "allow fall back on 3way merging if needed"
 msgstr "permet retrocedir a una fusió de 3 vies si és necessari"
 
-#: builtin/am.c:2265 builtin/init-db.c:474 builtin/prune-packed.c:57
+#: builtin/am.c:2251 builtin/init-db.c:474 builtin/prune-packed.c:57
 #: builtin/repack.c:171
 msgid "be quiet"
 msgstr "calla"
 
-#: builtin/am.c:2267
+#: builtin/am.c:2253
 msgid "add a Signed-off-by line to the commit message"
 msgstr "afegeix una línia Signed-off-by al missatge de comissió"
 
-#: builtin/am.c:2270
+#: builtin/am.c:2256
 msgid "recode into utf8 (default)"
 msgstr "recodifica en utf8 (per defecte)"
 
-#: builtin/am.c:2272
+#: builtin/am.c:2258
 msgid "pass -k flag to git-mailinfo"
 msgstr "passa la bandera -k al git-mailinfo"
 
-#: builtin/am.c:2274
+#: builtin/am.c:2260
 msgid "pass -b flag to git-mailinfo"
 msgstr "passa la bandera -b al git-mailinfo"
 
-#: builtin/am.c:2276
+#: builtin/am.c:2262
 msgid "pass -m flag to git-mailinfo"
 msgstr "passa la bandera -m al git-mailinfo"
 
-#: builtin/am.c:2278
+#: builtin/am.c:2264
 msgid "pass --keep-cr flag to git-mailsplit for mbox format"
 msgstr "passa la bandera --keep-cr al git-mailsplit pel format mbox"
 
-#: builtin/am.c:2281
+#: builtin/am.c:2267
 msgid "do not pass --keep-cr flag to git-mailsplit independent of am.keepcr"
 msgstr ""
 "no passis la bandera --keep-cr al git-mailsplit independent de am.keepcr"
 
-#: builtin/am.c:2284
+#: builtin/am.c:2270
 msgid "strip everything before a scissors line"
 msgstr "despulla tot abans d'una línia de tissores"
 
-#: builtin/am.c:2285 builtin/apply.c:4554
+#: builtin/am.c:2271 builtin/apply.c:4544
 msgid "action"
 msgstr "acció"
 
-#: builtin/am.c:2286 builtin/am.c:2289 builtin/am.c:2292 builtin/am.c:2295
-#: builtin/am.c:2298 builtin/am.c:2301 builtin/am.c:2304 builtin/am.c:2307
-#: builtin/am.c:2313
+#: 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:2290 builtin/am.c:2293
+#: builtin/am.c:2299
 msgid "pass it through git-apply"
 msgstr "passa-ho a través del git-apply"
 
-#: builtin/am.c:2294 builtin/apply.c:4578
+#: builtin/am.c:2280 builtin/apply.c:4568
 msgid "root"
 msgstr "arrel"
 
-#: builtin/am.c:2297 builtin/am.c:2300 builtin/apply.c:4516
-#: builtin/apply.c:4519 builtin/clone.c:85 builtin/fetch.c:93
-#: builtin/pull.c:167 builtin/submodule--helper.c:78
-#: builtin/submodule--helper.c:166 builtin/submodule--helper.c:169
+#: builtin/am.c:2283 builtin/am.c:2286 builtin/apply.c:4506
+#: builtin/apply.c:4509 builtin/clone.c:86 builtin/fetch.c:95
+#: builtin/pull.c:171 builtin/submodule--helper.c:72
+#: builtin/submodule--helper.c:160 builtin/submodule--helper.c:163
 msgid "path"
 msgstr "camí"
 
-#: builtin/am.c:2303 builtin/fmt-merge-msg.c:666 builtin/fmt-merge-msg.c:669
-#: builtin/grep.c:693 builtin/merge.c:198 builtin/pull.c:127
+#: builtin/am.c:2289 builtin/fmt-merge-msg.c:666 builtin/fmt-merge-msg.c:669
+#: builtin/grep.c:704 builtin/merge.c:198 builtin/pull.c:131 builtin/pull.c:185
 #: builtin/repack.c:178 builtin/repack.c:182 builtin/show-branch.c:645
 #: builtin/show-ref.c:175 builtin/tag.c:340 parse-options.h:132
 #: parse-options.h:134 parse-options.h:244
 msgid "n"
 msgstr "n"
 
-#: builtin/am.c:2306 builtin/apply.c:4522
+#: builtin/am.c:2292 builtin/apply.c:4512
 msgid "num"
 msgstr "número"
 
-#: builtin/am.c:2309 builtin/for-each-ref.c:37 builtin/replace.c:438
+#: builtin/am.c:2295 builtin/for-each-ref.c:37 builtin/replace.c:438
 #: builtin/tag.c:372
 msgid "format"
 msgstr "format"
 
-#: builtin/am.c:2310
+#: builtin/am.c:2296
 msgid "format the patch(es) are in"
 msgstr "el format en el qual estan els pedaços"
 
-#: builtin/am.c:2316
+#: builtin/am.c:2302
 msgid "override error message when patch failure occurs"
 msgstr ""
 "passa per alt el missatge d'error quan s'ocorre una fallada en apedaçar"
 
-#: builtin/am.c:2318
+#: builtin/am.c:2304
 msgid "continue applying patches after resolving a conflict"
 msgstr "segueix aplicant pedaços després de resoldre un conflicte"
 
-#: builtin/am.c:2321
+#: builtin/am.c:2307
 msgid "synonyms for --continue"
 msgstr "sinònims de --continue"
 
-#: builtin/am.c:2324
+#: builtin/am.c:2310
 msgid "skip the current patch"
 msgstr "salta el pedaç actual"
 
-#: builtin/am.c:2327
+#: builtin/am.c:2313
 msgid "restore the original branch and abort the patching operation."
 msgstr "restaura la branca original i avorta l'operació d'apedaçament."
 
-#: builtin/am.c:2331
+#: builtin/am.c:2317
 msgid "lie about committer date"
 msgstr "menteix sobre la data del comitent"
 
-#: builtin/am.c:2333
+#: builtin/am.c:2319
 msgid "use current timestamp for author date"
 msgstr "usa el marc de temps actual per la data d'autor"
 
-#: builtin/am.c:2335 builtin/commit.c:1593 builtin/merge.c:225
-#: builtin/pull.c:155 builtin/revert.c:92 builtin/tag.c:355
+#: builtin/am.c:2321 builtin/commit.c:1593 builtin/merge.c:225
+#: builtin/pull.c:159 builtin/revert.c:92 builtin/tag.c:355
 msgid "key-id"
 msgstr "ID de clau"
 
-#: builtin/am.c:2336
+#: builtin/am.c:2322
 msgid "GPG-sign commits"
 msgstr "firma les comissions amb GPG"
 
-#: builtin/am.c:2339
+#: builtin/am.c:2325
 msgid "(internal use for git-rebase)"
 msgstr "(ús intern per al git-rebase)"
 
-#: builtin/am.c:2354
+#: builtin/am.c:2340
 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."
@@ -2737,18 +2884,18 @@
 "Fa molt que l'opció -b/--binary no ha fet res, i\n"
 "s'eliminarà. Si us plau, no l'useu més."
 
-#: builtin/am.c:2361
+#: builtin/am.c:2347
 msgid "failed to read the index"
 msgstr "s'ha fallat en llegir l'índex"
 
-#: builtin/am.c:2376
+#: builtin/am.c:2362
 #, c-format
 msgid "previous rebase directory %s still exists but mbox given."
 msgstr ""
 "un directori de rebasament anterior %s encara existeix però s'ha donat una "
 "bústia."
 
-#: builtin/am.c:2400
+#: builtin/am.c:2386
 #, c-format
 msgid ""
 "Stray %s directory found.\n"
@@ -2757,7 +2904,7 @@
 "Directori %s extraviat trobat.\n"
 "Useu \"git am --abort\" per a eliminar-lo."
 
-#: builtin/am.c:2406
+#: builtin/am.c:2392
 msgid "Resolve operation not in progress, we are not resuming."
 msgstr "Operació de resolució no en curs; no reprenem."
 
@@ -3108,135 +3255,135 @@
 msgid "unable to read index file"
 msgstr "no es pot llegir el fitxer d'índex"
 
-#: builtin/apply.c:4517
+#: builtin/apply.c:4507
 msgid "don't apply changes matching the given path"
 msgstr "no apliquis els canvis que coincideixin amb el camí donat"
 
-#: builtin/apply.c:4520
+#: builtin/apply.c:4510
 msgid "apply changes matching the given path"
 msgstr "aplica els canvis que coincideixin amb el camí donat"
 
-#: builtin/apply.c:4523
+#: builtin/apply.c:4513
 msgid "remove <num> leading slashes from traditional diff paths"
 msgstr ""
 "elimina <nombre> barres obliqües inicials dels camins de diferència "
 "tradicionals"
 
-#: builtin/apply.c:4526
+#: builtin/apply.c:4516
 msgid "ignore additions made by the patch"
 msgstr "ignora afegiments fets pel pedaç"
 
-#: builtin/apply.c:4528
+#: builtin/apply.c:4518
 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"
 
-#: builtin/apply.c:4532
+#: builtin/apply.c:4522
 msgid "show number of added and deleted lines in decimal notation"
 msgstr "mostra el nombre de línies afegides i suprimides en notació decimal"
 
-#: builtin/apply.c:4534
+#: builtin/apply.c:4524
 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"
 
-#: builtin/apply.c:4536
+#: builtin/apply.c:4526
 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"
 
-#: builtin/apply.c:4538
+#: builtin/apply.c:4528
 msgid "make sure the patch is applicable to the current index"
 msgstr "assegura que el pedaç sigui aplicable a l'índex actual"
 
-#: builtin/apply.c:4540
+#: builtin/apply.c:4530
 msgid "apply a patch without touching the working tree"
 msgstr "aplica un pedaç sense tocar l'arbre de treball"
 
-#: builtin/apply.c:4542
+#: builtin/apply.c:4532
 msgid "accept a patch that touches outside the working area"
 msgstr "accepta un pedaç que toqui fora de l'àrea de treball"
 
-#: builtin/apply.c:4544
+#: builtin/apply.c:4534
 msgid "also apply the patch (use with --stat/--summary/--check)"
 msgstr "aplica el pedaç també (useu amb --stat/--summary/--check)"
 
-#: builtin/apply.c:4546
+#: builtin/apply.c:4536
 msgid "attempt three-way merge if a patch does not apply"
 msgstr "intenta una fusió de tres vies si el pedaç no s'aplica"
 
-#: builtin/apply.c:4548
+#: builtin/apply.c:4538
 msgid "build a temporary index based on embedded index information"
 msgstr "construeix un índex temporal basat en la informació d'índex incrustada"
 
-#: builtin/apply.c:4550 builtin/checkout-index.c:198 builtin/ls-files.c:412
+#: builtin/apply.c:4541 builtin/checkout-index.c:169 builtin/ls-files.c:425
 msgid "paths are separated with NUL character"
 msgstr "els camins se separen amb el caràcter NUL"
 
-#: builtin/apply.c:4553
+#: builtin/apply.c:4543
 msgid "ensure at least <n> lines of context match"
 msgstr "assegura't que almenys <n> línies de context coincideixin"
 
-#: builtin/apply.c:4555
+#: builtin/apply.c:4545
 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"
 
-#: builtin/apply.c:4558 builtin/apply.c:4561
+#: builtin/apply.c:4548 builtin/apply.c:4551
 msgid "ignore changes in whitespace when finding context"
 msgstr "ignora els canvis d'espai en blanc en cercar context"
 
-#: builtin/apply.c:4564
+#: builtin/apply.c:4554
 msgid "apply the patch in reverse"
 msgstr "aplica el pedaç al revés"
 
-#: builtin/apply.c:4566
+#: builtin/apply.c:4556
 msgid "don't expect at least one line of context"
 msgstr "no esperis almenys una línia de context"
 
-#: builtin/apply.c:4568
+#: builtin/apply.c:4558
 msgid "leave the rejected hunks in corresponding *.rej files"
 msgstr "deixa els trossos rebutjats en fitxers *.reg coresspondents"
 
-#: builtin/apply.c:4570
+#: builtin/apply.c:4560
 msgid "allow overlapping hunks"
 msgstr "permet trossos encavalcants"
 
-#: builtin/apply.c:4573
+#: builtin/apply.c:4563
 msgid "tolerate incorrectly detected missing new-line at the end of file"
 msgstr "tolera una línia nova incorrectament detectada al final del fitxer"
 
-#: builtin/apply.c:4576
+#: builtin/apply.c:4566
 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"
 
-#: builtin/apply.c:4579
+#: builtin/apply.c:4569
 msgid "prepend <root> to all filenames"
 msgstr "anteposa <arrel> a tots els noms de fitxer"
 
-#: builtin/apply.c:4601
+#: builtin/apply.c:4591
 msgid "--3way outside a repository"
 msgstr "--3way fora d'un dipòsit"
 
-#: builtin/apply.c:4609
+#: builtin/apply.c:4599
 msgid "--index outside a repository"
 msgstr "--index fora d'un dipòsit"
 
-#: builtin/apply.c:4612
+#: builtin/apply.c:4602
 msgid "--cached outside a repository"
 msgstr "--cached fora d'un dipòsit"
 
-#: builtin/apply.c:4631
+#: builtin/apply.c:4621
 #, c-format
 msgid "can't open patch '%s'"
 msgstr "no es pot obrir el pedaç '%s'"
 
-#: builtin/apply.c:4645
+#: builtin/apply.c:4635
 #, c-format
 msgid "squelched %d whitespace error"
 msgid_plural "squelched %d whitespace errors"
 msgstr[0] "%d error d'espai en blanc omès"
 msgstr[1] "%d errors d'espai en blanc omesos"
 
-#: builtin/apply.c:4651 builtin/apply.c:4661
+#: builtin/apply.c:4641 builtin/apply.c:4651
 #, c-format
 msgid "%d line adds whitespace errors."
 msgid_plural "%d lines add whitespace errors."
@@ -3290,109 +3437,117 @@
 msgid "update BISECT_HEAD instead of checking out the current commit"
 msgstr "actualitza BISECT_HEAD en lloc d'agafar la comissió actual"
 
-#: builtin/blame.c:32
+#: builtin/blame.c:33
 msgid "git blame [<options>] [<rev-opts>] [<rev>] [--] <file>"
 msgstr "git blame [<opcions>] [<opcions-de-revisió>] [<revisió>] [--] fitxer"
 
-#: builtin/blame.c:37
+#: builtin/blame.c:38
 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:2519
+#: builtin/blame.c:1782
+msgid "Blaming lines"
+msgstr "Culpant les línies"
+
+#: builtin/blame.c:2530
 msgid "Show blame entries as we find them, incrementally"
 msgstr "Mostra les entrades de culpa mentre les trobem, incrementalment"
 
-#: builtin/blame.c:2520
+#: builtin/blame.c:2531
 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:2521
+#: builtin/blame.c:2532
 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:2522
+#: builtin/blame.c:2533
 msgid "Show work cost statistics"
 msgstr "Mostra les estadístiques de preu de treball"
 
-#: builtin/blame.c:2523
+#: builtin/blame.c:2534
+msgid "Force progress reporting"
+msgstr "Força l'informe de progrés"
+
+#: builtin/blame.c:2535
 msgid "Show output score for blame entries"
 msgstr "Mostra la puntuació de sortida de les entrades de culpa"
 
-#: builtin/blame.c:2524
+#: builtin/blame.c:2536
 msgid "Show original filename (Default: auto)"
 msgstr "Mostra el nom de fitxer original (Per defecte: automàtic)"
 
-#: builtin/blame.c:2525
+#: builtin/blame.c:2537
 msgid "Show original linenumber (Default: off)"
 msgstr "Mostra el número de línia original (Per defecte: desactivat)"
 
-#: builtin/blame.c:2526
+#: builtin/blame.c:2538
 msgid "Show in a format designed for machine consumption"
 msgstr "Presenta en un format dissenyat per consumpció per màquina"
 
-#: builtin/blame.c:2527
+#: builtin/blame.c:2539
 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:2528
+#: builtin/blame.c:2540
 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:2529
+#: builtin/blame.c:2541
 msgid "Show raw timestamp (Default: off)"
 msgstr "Mostra la marca de temps crua (Per defecte: desactivat)"
 
-#: builtin/blame.c:2530
+#: builtin/blame.c:2542
 msgid "Show long commit SHA1 (Default: off)"
 msgstr "Mostra l'SHA1 de comissió llarg (Per defecte: desactivat)"
 
-#: builtin/blame.c:2531
+#: builtin/blame.c:2543
 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:2532
+#: builtin/blame.c:2544
 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:2533
+#: builtin/blame.c:2545
 msgid "Ignore whitespace differences"
 msgstr "Ignora les diferències d'espai en blanc"
 
-#: builtin/blame.c:2534
+#: builtin/blame.c:2546
 msgid "Spend extra cycles to find better match"
 msgstr "Gasta cicles extres per a trobar una coincidència millor"
 
-#: builtin/blame.c:2535
+#: builtin/blame.c:2547
 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:2536
+#: builtin/blame.c:2548
 msgid "Use <file>'s contents as the final image"
 msgstr "Usa els continguts de <fitxer> com a la imatge final"
 
-#: builtin/blame.c:2537 builtin/blame.c:2538
+#: builtin/blame.c:2549 builtin/blame.c:2550
 msgid "score"
 msgstr "puntuació"
 
-#: builtin/blame.c:2537
+#: builtin/blame.c:2549
 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:2538
+#: builtin/blame.c:2550
 msgid "Find line movements within and across files"
 msgstr "Troba moviments de línia dins i a través dels fitxers"
 
-#: builtin/blame.c:2539
+#: builtin/blame.c:2551
 msgid "n,m"
 msgstr "n,m"
 
-#: builtin/blame.c:2539
+#: builtin/blame.c:2551
 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"
 
@@ -3402,7 +3557,7 @@
 #. 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:2620
+#: builtin/blame.c:2640
 msgid "4 years, 11 months ago"
 msgstr "fa 4 anys i 11 mesos"
 
@@ -3604,196 +3759,196 @@
 "La branca està canviada de nom, però l'actualització del fitxer de "
 "configuració ha fallat"
 
-#: builtin/branch.c:587
+#: builtin/branch.c:586
 #, c-format
 msgid "could not write branch description template: %s"
 msgstr "no s'ha pogut escriure la plantilla de descripció de branca: %s"
 
-#: builtin/branch.c:616
+#: builtin/branch.c:615
 msgid "Generic options"
 msgstr "Opcions genèriques"
 
-#: builtin/branch.c:618
+#: builtin/branch.c:617
 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:619
+#: builtin/branch.c:618
 msgid "suppress informational messages"
 msgstr "omet els missatges informatius"
 
-#: builtin/branch.c:620
+#: builtin/branch.c:619
 msgid "set up tracking mode (see git-pull(1))"
 msgstr "configura el mode de seguiment (vegeu git-pull(1))"
 
-#: builtin/branch.c:622
+#: builtin/branch.c:621
 msgid "change upstream info"
 msgstr "canvia la informació de font"
 
-#: builtin/branch.c:626
+#: builtin/branch.c:625
 msgid "use colored output"
 msgstr "usa sortida colorada"
 
-#: builtin/branch.c:627
+#: builtin/branch.c:626
 msgid "act on remote-tracking branches"
 msgstr "actua en branques amb seguiment remot"
 
-#: builtin/branch.c:629 builtin/branch.c:630
+#: builtin/branch.c:628 builtin/branch.c:629
 msgid "print only branches that contain the commit"
 msgstr "imprimeix només les branques que continguin la comissió"
 
-#: builtin/branch.c:633
+#: builtin/branch.c:632
 msgid "Specific git-branch actions:"
 msgstr "Accions de git-branch específiques:"
 
-#: builtin/branch.c:634
+#: builtin/branch.c:633
 msgid "list both remote-tracking and local branches"
 msgstr "llista les branques amb seguiment remot i les locals"
 
-#: builtin/branch.c:636
+#: builtin/branch.c:635
 msgid "delete fully merged branch"
 msgstr "suprimeix la branca si està completament fusionada"
 
-#: builtin/branch.c:637
+#: builtin/branch.c:636
 msgid "delete branch (even if not merged)"
 msgstr "suprimeix la branca (encara que no estigui fusionada)"
 
-#: builtin/branch.c:638
+#: builtin/branch.c:637
 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:639
+#: builtin/branch.c:638
 msgid "move/rename a branch, even if target exists"
 msgstr "mou/canvia de nom una branca, encara que el destí existeixi"
 
-#: builtin/branch.c:640
+#: builtin/branch.c:639
 msgid "list branch names"
 msgstr "llista els noms de branca"
 
-#: builtin/branch.c:641
+#: builtin/branch.c:640
 msgid "create the branch's reflog"
 msgstr "crea el registre de referència de la branca"
 
-#: builtin/branch.c:643
+#: builtin/branch.c:642
 msgid "edit the description for the branch"
 msgstr "edita la descripció de la branca"
 
-#: builtin/branch.c:644
+#: builtin/branch.c:643
 msgid "force creation, move/rename, deletion"
 msgstr "força creació, moviment/canvi de nom, supressió"
 
-#: builtin/branch.c:645
+#: builtin/branch.c:644
 msgid "print only branches that are merged"
 msgstr "imprimeix només les branques que s'han fusionat"
 
-#: builtin/branch.c:646
+#: builtin/branch.c:645
 msgid "print only branches that are not merged"
 msgstr "imprimeix només les branques que no s'han fusionat"
 
-#: builtin/branch.c:647
+#: builtin/branch.c:646
 msgid "list branches in columns"
 msgstr "llista les branques en columnes"
 
-#: builtin/branch.c:648 builtin/for-each-ref.c:38 builtin/tag.c:366
+#: builtin/branch.c:647 builtin/for-each-ref.c:38 builtin/tag.c:366
 msgid "key"
 msgstr "clau"
 
-#: builtin/branch.c:649 builtin/for-each-ref.c:39 builtin/tag.c:367
+#: builtin/branch.c:648 builtin/for-each-ref.c:39 builtin/tag.c:367
 msgid "field name to sort on"
 msgstr "nom del camp en el qual ordenar"
 
-#: builtin/branch.c:651 builtin/for-each-ref.c:41 builtin/notes.c:398
-#: builtin/notes.c:401 builtin/notes.c:561 builtin/notes.c:564
+#: builtin/branch.c:650 builtin/for-each-ref.c:41 builtin/notes.c:401
+#: builtin/notes.c:404 builtin/notes.c:564 builtin/notes.c:567
 #: builtin/tag.c:369
 msgid "object"
 msgstr "objecte"
 
-#: builtin/branch.c:652
+#: builtin/branch.c:651
 msgid "print only branches of the object"
 msgstr "imprimeix només les branques de l'objecte"
 
-#: builtin/branch.c:670
+#: builtin/branch.c:669
 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:674 builtin/clone.c:697
+#: builtin/branch.c:673 builtin/clone.c:705
 msgid "HEAD not found below refs/heads!"
 msgstr "HEAD no trobat sota refs/heads!"
 
-#: builtin/branch.c:694
+#: builtin/branch.c:693
 msgid "--column and --verbose are incompatible"
 msgstr "--column i --verbose són incompatibles"
 
-#: builtin/branch.c:705 builtin/branch.c:747
+#: builtin/branch.c:704 builtin/branch.c:746
 msgid "branch name required"
 msgstr "cal el nom de branca"
 
-#: builtin/branch.c:723
+#: builtin/branch.c:722
 msgid "Cannot give description to detached HEAD"
 msgstr "No es pot donar descripció a un HEAD separat"
 
-#: builtin/branch.c:728
+#: builtin/branch.c:727
 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:735
+#: builtin/branch.c:734
 #, c-format
 msgid "No commit on branch '%s' yet."
 msgstr "Encara no hi ha comissió en la branca '%s'."
 
-#: builtin/branch.c:738
+#: builtin/branch.c:737
 #, c-format
 msgid "No branch named '%s'."
 msgstr "No hi ha branca amb nom '%s'."
 
-#: builtin/branch.c:753
+#: builtin/branch.c:752
 msgid "too many branches for a rename operation"
 msgstr "hi ha massa branques per a una operació de canvi de nom"
 
-#: builtin/branch.c:758
+#: builtin/branch.c:757
 msgid "too many branches to set new upstream"
 msgstr "hi ha massa branques per a establir una nova font"
 
-#: builtin/branch.c:762
+#: builtin/branch.c:761
 #, 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:765 builtin/branch.c:787 builtin/branch.c:808
+#: builtin/branch.c:764 builtin/branch.c:786 builtin/branch.c:807
 #, c-format
 msgid "no such branch '%s'"
 msgstr "no hi ha tal branca '%s'"
 
-#: builtin/branch.c:769
+#: builtin/branch.c:768
 #, c-format
 msgid "branch '%s' does not exist"
 msgstr "la branca '%s' no existeix"
 
-#: builtin/branch.c:781
+#: builtin/branch.c:780
 msgid "too many branches to unset upstream"
 msgstr "hi ha massa branques per a desestablir la font"
 
-#: builtin/branch.c:785
+#: builtin/branch.c:784
 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:791
+#: builtin/branch.c:790
 #, c-format
 msgid "Branch '%s' has no upstream information"
 msgstr "La branca '%s' no té informació de font"
 
-#: builtin/branch.c:805
+#: builtin/branch.c:804
 msgid "it does not make sense to create 'HEAD' manually"
 msgstr "no té sentit crear 'HEAD' manualment"
 
-#: builtin/branch.c:811
+#: builtin/branch.c:810
 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:814
+#: builtin/branch.c:813
 #, c-format
 msgid ""
 "The --set-upstream flag is deprecated and will be removed. Consider using --"
@@ -3802,7 +3957,7 @@
 "La bandera --set-upstream està desaprovada i s'eliminarà. Considereu usar --"
 "track o --set-upstream-to\n"
 
-#: builtin/branch.c:831
+#: builtin/branch.c:830
 #, c-format
 msgid ""
 "\n"
@@ -3813,12 +3968,12 @@
 "Si volíeu fer '%s' seguir '%s', feu això:\n"
 "\n"
 
-#: builtin/branch.c:832
+#: builtin/branch.c:831
 #, c-format
 msgid "    git branch -d %s\n"
 msgstr "    git branch -d %s\n"
 
-#: builtin/branch.c:833
+#: builtin/branch.c:832
 #, c-format
 msgid "    git branch --set-upstream-to %s\n"
 msgstr "    git branch --set-upstream-to %s\n"
@@ -3914,7 +4069,7 @@
 msgid "use .gitattributes only from the index"
 msgstr "usa .gitattributes només des de l'índex"
 
-#: builtin/check-attr.c:21 builtin/check-ignore.c:22 builtin/hash-object.c:96
+#: builtin/check-attr.c:21 builtin/check-ignore.c:22 builtin/hash-object.c:97
 msgid "read file names from stdin"
 msgstr "llegeix els noms de fitxer d'stdin"
 
@@ -3922,7 +4077,7 @@
 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:1134 builtin/gc.c:325
+#: builtin/check-ignore.c:18 builtin/checkout.c:1136 builtin/gc.c:325
 msgid "suppress progress reporting"
 msgstr "omet el reportatge de progrés"
 
@@ -3975,49 +4130,53 @@
 msgid "no contacts specified"
 msgstr "no hi ha contactes especificats"
 
-#: builtin/checkout-index.c:126
+#: builtin/checkout-index.c:127
 msgid "git checkout-index [<options>] [--] [<file>...]"
 msgstr "git checkout-index [<opcions>] [--] [<fitxer>...]"
 
-#: builtin/checkout-index.c:188
+#: 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"
+
+#: builtin/checkout-index.c:160
 msgid "check out all files in the index"
 msgstr "agafa tots els fitxers en l'índex"
 
-#: builtin/checkout-index.c:189
+#: builtin/checkout-index.c:161
 msgid "force overwrite of existing files"
 msgstr "força la sobreescriptura de fitxers existents"
 
-#: builtin/checkout-index.c:191
+#: builtin/checkout-index.c:163
 msgid "no warning for existing files and files not in index"
 msgstr "cap avís per a fitxers existents i fitxers no en l'índex"
 
-#: builtin/checkout-index.c:193
+#: builtin/checkout-index.c:165
 msgid "don't checkout new files"
 msgstr "no agafis fitxers nous"
 
-#: builtin/checkout-index.c:195
+#: builtin/checkout-index.c:167
 msgid "update stat information in the index file"
 msgstr "actualitza la informació d'estadístiques en el fitxer d'índex"
 
-#: builtin/checkout-index.c:201
+#: builtin/checkout-index.c:171
 msgid "read list of paths from the standard input"
 msgstr "llegeix la llista de camins des de l'entrada estàndard"
 
-#: builtin/checkout-index.c:203
+#: builtin/checkout-index.c:173
 msgid "write the content to temporary files"
 msgstr "escriu el contingut a fitxers temporals"
 
-#: builtin/checkout-index.c:204 builtin/column.c:30
+#: builtin/checkout-index.c:174 builtin/column.c:30
+#: builtin/submodule--helper.c:166 builtin/submodule--helper.c:169
 #: builtin/submodule--helper.c:172 builtin/submodule--helper.c:175
-#: builtin/submodule--helper.c:178 builtin/submodule--helper.c:181
 msgid "string"
 msgstr "cadena"
 
-#: builtin/checkout-index.c:205
+#: builtin/checkout-index.c:175
 msgid "when creating files, prepend <string>"
 msgstr "en crear fitxers, anteposa <cadena>"
 
-#: builtin/checkout-index.c:208
+#: builtin/checkout-index.c:177
 msgid "copy out the files from named stage"
 msgstr "copia els fitxers des de l'etapa anomenada"
 
@@ -4098,37 +4257,41 @@
 msgid "HEAD is now at"
 msgstr "HEAD ara és a"
 
-#: builtin/checkout.c:668
+#: builtin/checkout.c:665 builtin/clone.c:659
+msgid "unable to update HEAD"
+msgstr "no s'ha pogut actualitzar HEAD"
+
+#: builtin/checkout.c:669
 #, c-format
 msgid "Reset branch '%s'\n"
 msgstr "Restableix la branca '%s'\n"
 
-#: builtin/checkout.c:671
+#: builtin/checkout.c:672
 #, c-format
 msgid "Already on '%s'\n"
 msgstr "Ja en '%s'\n"
 
-#: builtin/checkout.c:675
+#: builtin/checkout.c:676
 #, c-format
 msgid "Switched to and reset branch '%s'\n"
 msgstr "S'ha agafat i restablert la branca '%s'\n"
 
-#: builtin/checkout.c:677 builtin/checkout.c:1066
+#: builtin/checkout.c:678 builtin/checkout.c:1068
 #, c-format
 msgid "Switched to a new branch '%s'\n"
 msgstr "S'ha agafat la branca nova '%s'\n"
 
-#: builtin/checkout.c:679
+#: builtin/checkout.c:680
 #, c-format
 msgid "Switched to branch '%s'\n"
 msgstr "S'ha agafat la branca '%s'\n"
 
-#: builtin/checkout.c:731
+#: builtin/checkout.c:732
 #, c-format
 msgid " ... and %d more.\n"
 msgstr " ... i %d més.\n"
 
-#: builtin/checkout.c:737
+#: builtin/checkout.c:738
 #, c-format
 msgid ""
 "Warning: you are leaving %d commit behind, not connected to\n"
@@ -4151,7 +4314,7 @@
 "\n"
 "%s\n"
 
-#: builtin/checkout.c:756
+#: builtin/checkout.c:757
 #, c-format
 msgid ""
 "If you want to keep it by creating a new branch, this may be a good time\n"
@@ -4178,150 +4341,150 @@
 " git branch <nom-de-branca-nova> %s\n"
 "\n"
 
-#: builtin/checkout.c:792
+#: builtin/checkout.c:793
 msgid "internal error in revision walk"
 msgstr "error intern en el passeig per revisions"
 
-#: builtin/checkout.c:796
+#: builtin/checkout.c:797
 msgid "Previous HEAD position was"
 msgstr "La posició de HEAD anterior era"
 
-#: builtin/checkout.c:823 builtin/checkout.c:1061
+#: builtin/checkout.c:824 builtin/checkout.c:1063
 msgid "You are on a branch yet to be born"
 msgstr "Sou en una branca que encara ha de nàixer"
 
-#: builtin/checkout.c:968
+#: builtin/checkout.c:969
 #, c-format
 msgid "only one reference expected, %d given."
 msgstr "només una referència esperada, %d donades."
 
-#: builtin/checkout.c:1007 builtin/worktree.c:213
+#: builtin/checkout.c:1009 builtin/worktree.c:211
 #, c-format
 msgid "invalid reference: %s"
 msgstr "referència no vàlida: %s"
 
-#: builtin/checkout.c:1036
+#: builtin/checkout.c:1038
 #, c-format
 msgid "reference is not a tree: %s"
 msgstr "la referència no és un arbre: %s"
 
-#: builtin/checkout.c:1075
+#: builtin/checkout.c:1077
 msgid "paths cannot be used with switching branches"
 msgstr "els camins no es poden usar amb canvi de branca"
 
-#: builtin/checkout.c:1078 builtin/checkout.c:1082
+#: builtin/checkout.c:1080 builtin/checkout.c:1084
 #, c-format
 msgid "'%s' cannot be used with switching branches"
 msgstr "'%s' no es pot usar amb canvi de branca"
 
-#: builtin/checkout.c:1086 builtin/checkout.c:1089 builtin/checkout.c:1094
-#: builtin/checkout.c:1097
+#: builtin/checkout.c:1088 builtin/checkout.c:1091 builtin/checkout.c:1096
+#: builtin/checkout.c:1099
 #, c-format
 msgid "'%s' cannot be used with '%s'"
 msgstr "'%s' no es pot usar amb '%s'"
 
-#: builtin/checkout.c:1102
+#: builtin/checkout.c:1104
 #, 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:1135 builtin/checkout.c:1137 builtin/clone.c:83
-#: builtin/remote.c:165 builtin/remote.c:167 builtin/worktree.c:320
-#: builtin/worktree.c:322
+#: builtin/checkout.c:1137 builtin/checkout.c:1139 builtin/clone.c:84
+#: builtin/remote.c:165 builtin/remote.c:167 builtin/worktree.c:318
+#: builtin/worktree.c:320
 msgid "branch"
 msgstr "branca"
 
-#: builtin/checkout.c:1136
+#: builtin/checkout.c:1138
 msgid "create and checkout a new branch"
 msgstr "crea i agafa una branca nova"
 
-#: builtin/checkout.c:1138
+#: builtin/checkout.c:1140
 msgid "create/reset and checkout a branch"
 msgstr "crea/restableix i agafa una branca"
 
-#: builtin/checkout.c:1139
+#: builtin/checkout.c:1141
 msgid "create reflog for new branch"
 msgstr "crea un registre de referència per a la branca nova"
 
-#: builtin/checkout.c:1140
+#: builtin/checkout.c:1142
 msgid "detach the HEAD at named commit"
 msgstr "separa el HEAD a la comissió anomenada"
 
-#: builtin/checkout.c:1141
+#: builtin/checkout.c:1143
 msgid "set upstream info for new branch"
 msgstr "estableix la informació de font de la branca nova"
 
-#: builtin/checkout.c:1143
+#: builtin/checkout.c:1145
 msgid "new-branch"
 msgstr "branca-nova"
 
-#: builtin/checkout.c:1143
+#: builtin/checkout.c:1145
 msgid "new unparented branch"
 msgstr "branca òrfena nova"
 
-#: builtin/checkout.c:1144
+#: builtin/checkout.c:1146
 msgid "checkout our version for unmerged files"
 msgstr "agafa la versió nostra dels fitxers sense fusionar"
 
-#: builtin/checkout.c:1146
+#: builtin/checkout.c:1148
 msgid "checkout their version for unmerged files"
 msgstr "agafa la versió seva dels fitxers sense fusionar"
 
-#: builtin/checkout.c:1148
+#: builtin/checkout.c:1150
 msgid "force checkout (throw away local modifications)"
 msgstr "agafa a la força (descarta qualsevulla modificació local)"
 
-#: builtin/checkout.c:1149
+#: builtin/checkout.c:1151
 msgid "perform a 3-way merge with the new branch"
 msgstr "realitza una fusió de 3 vies amb la branca nova"
 
-#: builtin/checkout.c:1150 builtin/merge.c:227
+#: builtin/checkout.c:1152 builtin/merge.c:227
 msgid "update ignored files (default)"
 msgstr "actualitza els fitxers ignorats (per defecte)"
 
-#: builtin/checkout.c:1151 builtin/log.c:1266 parse-options.h:250
+#: builtin/checkout.c:1153 builtin/log.c:1269 parse-options.h:250
 msgid "style"
 msgstr "estil"
 
-#: builtin/checkout.c:1152
+#: builtin/checkout.c:1154
 msgid "conflict style (merge or diff3)"
 msgstr "estil de conflicte (fusió o diff3)"
 
-#: builtin/checkout.c:1155
+#: builtin/checkout.c:1157
 msgid "do not limit pathspecs to sparse entries only"
 msgstr "no limitis les especificacions de camí només a entrades disperses"
 
-#: builtin/checkout.c:1157
+#: builtin/checkout.c:1159
 msgid "second guess 'git checkout <no-such-branch>'"
 msgstr "dubta 'git checkout <cap-branca-així>'"
 
-#: builtin/checkout.c:1159
+#: builtin/checkout.c:1161
 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:1160 builtin/clone.c:57 builtin/fetch.c:112
-#: builtin/merge.c:224 builtin/pull.c:109 builtin/push.c:558
+#: builtin/checkout.c:1162 builtin/clone.c:58 builtin/fetch.c:116
+#: builtin/merge.c:224 builtin/pull.c:113 builtin/push.c:526
 #: builtin/send-pack.c:168
 msgid "force progress reporting"
 msgstr "força l'informe de progrés"
 
-#: builtin/checkout.c:1191
+#: builtin/checkout.c:1193
 msgid "-b, -B and --orphan are mutually exclusive"
 msgstr "-b, -B i --orphan són mutualment exclusius"
 
-#: builtin/checkout.c:1208
+#: builtin/checkout.c:1210
 msgid "--track needs a branch name"
 msgstr "--track necessita un nom de branca"
 
-#: builtin/checkout.c:1213
+#: builtin/checkout.c:1215
 msgid "Missing branch name; try -b"
 msgstr "Manca el nom de branca; proveu -b"
 
-#: builtin/checkout.c:1249
+#: builtin/checkout.c:1251
 msgid "invalid path specification"
 msgstr "especificació de camí no vàlida"
 
-#: builtin/checkout.c:1256
+#: builtin/checkout.c:1258
 #, c-format
 msgid ""
 "Cannot update paths and switch to branch '%s' at the same time.\n"
@@ -4330,12 +4493,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:1261
+#: builtin/checkout.c:1263
 #, 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:1265
+#: builtin/checkout.c:1267
 msgid ""
 "git checkout: --ours/--theirs, --force and --merge are incompatible when\n"
 "checking out of the index."
@@ -4374,7 +4537,7 @@
 msgid "failed to remove %s"
 msgstr "s'ha fallat en eliminar %s"
 
-#: builtin/clean.c:315
+#: builtin/clean.c:291
 msgid ""
 "Prompt help:\n"
 "1          - select a numbered item\n"
@@ -4386,7 +4549,7 @@
 "foo        - selecciona un ítem basat en un prefix únic\n"
 "           - (buit) no seleccionis res"
 
-#: builtin/clean.c:319
+#: builtin/clean.c:295
 msgid ""
 "Prompt help:\n"
 "1          - select a single item\n"
@@ -4406,36 +4569,36 @@
 "*          - tria tots els ítems\n"
 "           - (buit) finalitza la selecció"
 
-#: builtin/clean.c:535
+#: builtin/clean.c:511
 #, c-format
 msgid "Huh (%s)?"
 msgstr "Perdó (%s)?"
 
-#: builtin/clean.c:677
+#: builtin/clean.c:653
 #, c-format
 msgid "Input ignore patterns>> "
 msgstr "Introduïu els patrons a ignorar>> "
 
-#: builtin/clean.c:714
+#: builtin/clean.c:690
 #, c-format
 msgid "WARNING: Cannot find items matched by: %s"
 msgstr "AVÍS: No es pot trobar ítems que coincideixin amb: %s"
 
-#: builtin/clean.c:735
+#: builtin/clean.c:711
 msgid "Select items to delete"
 msgstr "Selecciona els ítems a suprimir"
 
 #. TRANSLATORS: Make sure to keep [y/N] as is
-#: builtin/clean.c:776
+#: builtin/clean.c:752
 #, c-format
 msgid "Remove %s [y/N]? "
 msgstr "Voleu eliminar %s [y/N]? "
 
-#: builtin/clean.c:801
+#: builtin/clean.c:777
 msgid "Bye."
 msgstr "Adéu."
 
-#: builtin/clean.c:809
+#: builtin/clean.c:785
 msgid ""
 "clean               - start cleaning\n"
 "filter by pattern   - exclude items from deletion\n"
@@ -4453,62 +4616,62 @@
 "help                - aquesta pantalla\n"
 "?                   - ajuda de selecció de l'avís"
 
-#: builtin/clean.c:836
+#: builtin/clean.c:812
 msgid "*** Commands ***"
 msgstr "*** Ordres ***"
 
-#: builtin/clean.c:837
+#: builtin/clean.c:813
 msgid "What now"
 msgstr "I ara què"
 
-#: builtin/clean.c:845
+#: builtin/clean.c:821
 msgid "Would remove the following item:"
 msgid_plural "Would remove the following items:"
 msgstr[0] "Eliminaria l'ítem següent:"
 msgstr[1] "Eliminaria els ítems següents:"
 
-#: builtin/clean.c:862
+#: builtin/clean.c:838
 msgid "No more files to clean, exiting."
 msgstr "No hi ha més fitxers a netejar; sortint."
 
-#: builtin/clean.c:893
+#: builtin/clean.c:869
 msgid "do not print names of files removed"
 msgstr "no imprimeixis els noms dels fitxers eliminats"
 
-#: builtin/clean.c:895
+#: builtin/clean.c:871
 msgid "force"
 msgstr "força"
 
-#: builtin/clean.c:896
+#: builtin/clean.c:872
 msgid "interactive cleaning"
 msgstr "neteja interactiva"
 
-#: builtin/clean.c:898
+#: builtin/clean.c:874
 msgid "remove whole directories"
 msgstr "elimina directoris sencers"
 
-#: builtin/clean.c:899 builtin/describe.c:407 builtin/grep.c:709
-#: builtin/ls-files.c:443 builtin/name-rev.c:307 builtin/show-ref.c:182
+#: builtin/clean.c:875 builtin/describe.c:407 builtin/grep.c:722
+#: builtin/ls-files.c:456 builtin/name-rev.c:307 builtin/show-ref.c:182
 msgid "pattern"
 msgstr "patró"
 
-#: builtin/clean.c:900
+#: builtin/clean.c:876
 msgid "add <pattern> to ignore rules"
 msgstr "afegiu <patró> per a ignorar les regles"
 
-#: builtin/clean.c:901
+#: builtin/clean.c:877
 msgid "remove ignored files, too"
 msgstr "elimina els fitxers ignorats, també"
 
-#: builtin/clean.c:903
+#: builtin/clean.c:879
 msgid "remove only ignored files"
 msgstr "elimina només els fitxers ignorats"
 
-#: builtin/clean.c:921
+#: builtin/clean.c:897
 msgid "-x and -X cannot be used together"
 msgstr "-x i -X no es poden usar junts"
 
-#: builtin/clean.c:925
+#: builtin/clean.c:901
 msgid ""
 "clean.requireForce set to true and neither -i, -n, nor -f given; refusing to "
 "clean"
@@ -4516,7 +4679,7 @@
 "clean.requireForce està establerta a veritat i ni -i, -n ni -f s'ha donat; "
 "refusant netejar"
 
-#: builtin/clean.c:928
+#: builtin/clean.c:904
 msgid ""
 "clean.requireForce defaults to true and neither -i, -n, nor -f given; "
 "refusing to clean"
@@ -4528,146 +4691,162 @@
 msgid "git clone [<options>] [--] <repo> [<dir>]"
 msgstr "git clone [<opcions>] [--] <dipòsit> [<directori>]"
 
-#: builtin/clone.c:59
+#: builtin/clone.c:60
 msgid "don't create a checkout"
 msgstr "no facis cap agafament"
 
-#: builtin/clone.c:60 builtin/clone.c:62 builtin/init-db.c:469
+#: builtin/clone.c:61 builtin/clone.c:63 builtin/init-db.c:469
 msgid "create a bare repository"
 msgstr "crea un dipòsit nu"
 
-#: builtin/clone.c:64
+#: builtin/clone.c:65
 msgid "create a mirror repository (implies bare)"
 msgstr "crea un dipòsit reflectit (implica bare)"
 
-#: builtin/clone.c:66
+#: builtin/clone.c:67
 msgid "to clone from a local repository"
 msgstr "per a clonar des d'un dipòsit local"
 
-#: builtin/clone.c:68
+#: builtin/clone.c:69
 msgid "don't use local hardlinks, always copy"
 msgstr "no usis enllaços durs locals, sempre copia"
 
-#: builtin/clone.c:70
+#: builtin/clone.c:71
 msgid "setup as shared repository"
 msgstr "configura com a dipòsit compartit"
 
-#: builtin/clone.c:72 builtin/clone.c:74
+#: builtin/clone.c:73 builtin/clone.c:75
 msgid "initialize submodules in the clone"
 msgstr "inicialitza els submòduls en el clon"
 
-#: builtin/clone.c:75 builtin/init-db.c:466
+#: builtin/clone.c:76 builtin/init-db.c:466
 msgid "template-directory"
 msgstr "directori-de-plantilla"
 
-#: builtin/clone.c:76 builtin/init-db.c:467
+#: builtin/clone.c:77 builtin/init-db.c:467
 msgid "directory from which templates will be used"
 msgstr "directori del qual les plantilles s'usaran"
 
-#: builtin/clone.c:78 builtin/submodule--helper.c:179
+#: builtin/clone.c:79 builtin/submodule--helper.c:173
 msgid "reference repository"
 msgstr "dipòsit de referència"
 
-#: builtin/clone.c:80
+#: builtin/clone.c:81
 msgid "use --reference only while cloning"
 msgstr "usa --reference només en clonar"
 
-#: builtin/clone.c:81 builtin/column.c:26 builtin/merge-file.c:44
+#: builtin/clone.c:82 builtin/column.c:26 builtin/merge-file.c:44
 msgid "name"
 msgstr "nom"
 
-#: builtin/clone.c:82
+#: builtin/clone.c:83
 msgid "use <name> instead of 'origin' to track upstream"
 msgstr "usa <nom> en lloc de 'origin' per a seguir la font"
 
-#: builtin/clone.c:84
+#: builtin/clone.c:85
 msgid "checkout <branch> instead of the remote's HEAD"
 msgstr "agafa <branca> en lloc del HEAD del remot"
 
-#: builtin/clone.c:86
+#: builtin/clone.c:87
 msgid "path to git-upload-pack on the remote"
 msgstr "camí a git-upload-pack en el remot"
 
-#: builtin/clone.c:87 builtin/fetch.c:113 builtin/grep.c:654 builtin/pull.c:186
+#: builtin/clone.c:88 builtin/fetch.c:117 builtin/grep.c:665 builtin/pull.c:193
 msgid "depth"
 msgstr "profunditat"
 
-#: builtin/clone.c:88
+#: builtin/clone.c:89
 msgid "create a shallow clone of that depth"
 msgstr "crea un clon superficial de tal profunditat"
 
-#: builtin/clone.c:90
+#: builtin/clone.c:91
 msgid "clone only one branch, HEAD or --branch"
 msgstr "clona només una branca, HEAD o --branch"
 
-#: builtin/clone.c:91 builtin/init-db.c:475
+#: builtin/clone.c:92 builtin/init-db.c:475
 msgid "gitdir"
 msgstr "directori de git"
 
-#: builtin/clone.c:92 builtin/init-db.c:476
+#: builtin/clone.c:93 builtin/init-db.c:476
 msgid "separate git dir from working tree"
 msgstr "separa el directori de git de l'arbre de treball"
 
-#: builtin/clone.c:93
+#: builtin/clone.c:94
 msgid "key=value"
 msgstr "clau=valor"
 
-#: builtin/clone.c:94
+#: builtin/clone.c:95
 msgid "set config inside the new repository"
 msgstr "estableix la configuració dins del dipòsit nou"
 
-#: builtin/clone.c:300
+#: builtin/clone.c:96 builtin/fetch.c:131 builtin/push.c:536
+msgid "use IPv4 addresses only"
+msgstr "usa només les adreces IPv4"
+
+#: builtin/clone.c:98 builtin/fetch.c:133 builtin/push.c:538
+msgid "use IPv6 addresses only"
+msgstr "usa només les adreces IPv6"
+
+#: builtin/clone.c:239
+msgid ""
+"No directory name could be guessed.\n"
+"Please specify a directory on the command line"
+msgstr ""
+"No s'ha pogut endevinar cap nom de directori.\n"
+"Si us plau, especifiqueu un directori en la línia d'ordres"
+
+#: builtin/clone.c:305
 #, 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."
 
-#: builtin/clone.c:302
+#: builtin/clone.c:307
 #, 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."
 
-#: builtin/clone.c:307
+#: builtin/clone.c:312
 #, c-format
 msgid "reference repository '%s' is shallow"
 msgstr "el dipòsit de referència '%s' és superficial"
 
-#: builtin/clone.c:310
+#: builtin/clone.c:315
 #, c-format
 msgid "reference repository '%s' is grafted"
 msgstr "el dipòsit de referència '%s' és empeltat"
 
-#: builtin/clone.c:375 builtin/diff.c:84
+#: builtin/clone.c:380 builtin/diff.c:84
 #, c-format
 msgid "failed to stat '%s'"
 msgstr "s'ha fallat en fer stat a '%s'"
 
-#: builtin/clone.c:377
+#: builtin/clone.c:382
 #, c-format
 msgid "%s exists and is not a directory"
 msgstr "%s existeix i no és directori"
 
-#: builtin/clone.c:391
+#: builtin/clone.c:396
 #, c-format
 msgid "failed to stat %s\n"
 msgstr "s'ha fallat en fer stat a '%s'\n"
 
-#: builtin/clone.c:413
+#: builtin/clone.c:418
 #, c-format
 msgid "failed to create link '%s'"
 msgstr "s'ha fallat en crear l'enllaç '%s'"
 
-#: builtin/clone.c:417
+#: builtin/clone.c:422
 #, c-format
 msgid "failed to copy file to '%s'"
 msgstr "s'ha fallat en copiar el fitxer a '%s'"
 
-#: builtin/clone.c:442 builtin/clone.c:626
+#: builtin/clone.c:447 builtin/clone.c:631
 #, c-format
 msgid "done.\n"
 msgstr "fet.\n"
 
-#: builtin/clone.c:454
+#: builtin/clone.c:459
 msgid ""
 "Clone succeeded, but checkout failed.\n"
 "You can inspect what was checked out with 'git status'\n"
@@ -4678,119 +4857,128 @@
 "'git status' i tornar a intentar l'agafament amb\n"
 "'git checkout -f HEAD'\n"
 
-#: builtin/clone.c:531
+#: builtin/clone.c:536
 #, c-format
 msgid "Could not find remote branch %s to clone."
 msgstr "No s'ha pogut trobar la branca remota %s per a clonar."
 
-#: builtin/clone.c:621
+#: builtin/clone.c:626
 #, c-format
 msgid "Checking connectivity... "
 msgstr "Provant connectivitat... "
 
-#: builtin/clone.c:624
+#: builtin/clone.c:629
 msgid "remote did not send all necessary objects"
 msgstr "el remot no ha enviat tots els objectes necessaris"
 
-#: builtin/clone.c:688
+#: builtin/clone.c:647
+#, c-format
+msgid "unable to update %s"
+msgstr "no s'ha pogut actualizar %s"
+
+#: builtin/clone.c:696
 msgid "remote HEAD refers to nonexistent ref, unable to checkout.\n"
 msgstr ""
 "el HEAD remot es refereix a una referència que no existeix; no s'ha pogut "
 "agafar.\n"
 
-#: builtin/clone.c:719
+#: builtin/clone.c:727
 msgid "unable to checkout working tree"
 msgstr "no s'ha pogut agafar l'arbre de treball"
 
-#: builtin/clone.c:808
+#: builtin/clone.c:753
+msgid "unable to write parameters to config file"
+msgstr "no s'ha pogut escriure les paràmetres al fitxer de configuració"
+
+#: builtin/clone.c:816
 msgid "cannot repack to clean up"
 msgstr "no es pot reempaquetar per a netejar"
 
-#: builtin/clone.c:810
+#: builtin/clone.c:818
 msgid "cannot unlink temporary alternates file"
 msgstr "no es pot desenllaçar el fitxer d'alternatives temporal"
 
-#: builtin/clone.c:842
+#: builtin/clone.c:850
 msgid "Too many arguments."
 msgstr "Hi ha massa paràmetres."
 
-#: builtin/clone.c:846
+#: builtin/clone.c:854
 msgid "You must specify a repository to clone."
 msgstr "Heu d'especificar un dipòsit per a clonar."
 
-#: builtin/clone.c:857
+#: builtin/clone.c:865
 #, c-format
 msgid "--bare and --origin %s options are incompatible."
 msgstr "les opcions --bare i --origin %s són incompatibles."
 
-#: builtin/clone.c:860
+#: builtin/clone.c:868
 msgid "--bare and --separate-git-dir are incompatible."
 msgstr "--bare i --separate-git-dir són incompatibles."
 
-#: builtin/clone.c:873
+#: builtin/clone.c:881
 #, c-format
 msgid "repository '%s' does not exist"
 msgstr "el dipòsit '%s' no existeix"
 
-#: builtin/clone.c:879 builtin/fetch.c:1166
+#: builtin/clone.c:887 builtin/fetch.c:1174
 #, c-format
 msgid "depth %s is not a positive number"
 msgstr "la profunditat %s no és nombre positiu"
 
-#: builtin/clone.c:889
+#: builtin/clone.c:897
 #, c-format
 msgid "destination path '%s' already exists and is not an empty directory."
 msgstr "el camí destí '%s' ja existeix i no és un directori buit."
 
-#: builtin/clone.c:899
+#: builtin/clone.c:907
 #, c-format
 msgid "working tree '%s' already exists."
 msgstr "l'arbre de treball '%s' ja existeix."
 
-#: builtin/clone.c:914 builtin/clone.c:925 builtin/submodule--helper.c:224
-#: builtin/worktree.c:221 builtin/worktree.c:248
+#: builtin/clone.c:922 builtin/clone.c:933 builtin/submodule--helper.c:218
+#: builtin/worktree.c:219 builtin/worktree.c:246
 #, c-format
 msgid "could not create leading directories of '%s'"
 msgstr "no s'ha pogut crear els directoris inicials de '%s'"
 
-#: builtin/clone.c:917
+#: builtin/clone.c:925
 #, c-format
 msgid "could not create work tree dir '%s'"
 msgstr "no s'ha pogut crear el directori d'arbre de treball '%s'"
 
-#: builtin/clone.c:935
+#: builtin/clone.c:943
 #, c-format
 msgid "Cloning into bare repository '%s'...\n"
 msgstr "Clonant al dipòsit nu '%s'...\n"
 
-#: builtin/clone.c:937
+#: builtin/clone.c:945
 #, c-format
 msgid "Cloning into '%s'...\n"
 msgstr "Clonant a '%s'...\n"
 
-#: builtin/clone.c:975
+#: builtin/clone.c:984
 msgid "--depth is ignored in local clones; use file:// instead."
 msgstr "--depth s'ignora en els clons locals; useu file:// en lloc d'això."
 
-#: builtin/clone.c:978
+#: builtin/clone.c:987
 msgid "source repository is shallow, ignoring --local"
 msgstr "el dipòsit font és superficial, ignorant --local"
 
-#: builtin/clone.c:983
+#: builtin/clone.c:992
 msgid "--local is ignored"
 msgstr "--local s'ignora"
 
-#: builtin/clone.c:987
+#: builtin/clone.c:996
 #, c-format
 msgid "Don't know how to clone %s"
 msgstr "No se sap com clonar %s"
 
-#: builtin/clone.c:1036 builtin/clone.c:1044
+#: builtin/clone.c:1045 builtin/clone.c:1053
 #, c-format
 msgid "Remote branch %s not found in upstream %s"
 msgstr "La branca remota %s no es troba en la font %s"
 
-#: builtin/clone.c:1047
+#: builtin/clone.c:1056
 msgid "You appear to have cloned an empty repository."
 msgstr "Sembla que heu clonat un dipòsit buit."
 
@@ -5004,7 +5192,7 @@
 msgid "could not lookup commit %s"
 msgstr "no s'ha pogut trobar la comissió %s"
 
-#: builtin/commit.c:702 builtin/shortlog.c:273
+#: builtin/commit.c:702 builtin/shortlog.c:285
 #, c-format
 msgid "(reading log message from standard input)\n"
 msgstr "(llegint el missatge de registre des de l'entrada estàndard)\n"
@@ -5191,8 +5379,8 @@
 msgid "show branch information"
 msgstr "mostra la informació de branca"
 
-#: builtin/commit.c:1328 builtin/commit.c:1609 builtin/push.c:544
-#: builtin/worktree.c:423
+#: builtin/commit.c:1328 builtin/commit.c:1609 builtin/push.c:512
+#: builtin/worktree.c:430
 msgid "machine-readable output"
 msgstr "sortida llegible per màquina"
 
@@ -5283,8 +5471,8 @@
 msgid "override date for commit"
 msgstr "data corregida de la comissió"
 
-#: builtin/commit.c:1582 builtin/merge.c:218 builtin/notes.c:392
-#: builtin/notes.c:555 builtin/tag.c:349
+#: builtin/commit.c:1582 builtin/merge.c:218 builtin/notes.c:395
+#: builtin/notes.c:558 builtin/tag.c:349
 msgid "message"
 msgstr "missatge"
 
@@ -5321,7 +5509,7 @@
 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:1588 builtin/log.c:1216 builtin/revert.c:86
+#: builtin/commit.c:1588 builtin/log.c:1219 builtin/revert.c:86
 msgid "add Signed-off-by:"
 msgstr "afegeix Signed-off-by:"
 
@@ -5345,7 +5533,7 @@
 msgid "include status in commit message template"
 msgstr "inclou l'estat en la plantilla de missatge de comissió"
 
-#: builtin/commit.c:1594 builtin/merge.c:226 builtin/pull.c:156
+#: builtin/commit.c:1594 builtin/merge.c:226 builtin/pull.c:160
 #: builtin/revert.c:93
 msgid "GPG sign commit"
 msgstr "firma la comissió amb GPG"
@@ -5437,140 +5625,146 @@
 "que la quota no estigui excedida, i després\n"
 "\"git reset HEAD\" per a recuperar."
 
-#: builtin/config.c:8
+#: builtin/config.c:9
 msgid "git config [<options>]"
 msgstr "git config [<opcions>]"
 
-#: builtin/config.c:54
+#: builtin/config.c:56
 msgid "Config file location"
 msgstr "Ubicació del fitxer de configuració"
 
-#: builtin/config.c:55
+#: builtin/config.c:57
 msgid "use global config file"
 msgstr "usa el fitxer de configuració global"
 
-#: builtin/config.c:56
+#: builtin/config.c:58
 msgid "use system config file"
 msgstr "usa el fitxer de configuració del sistema"
 
-#: builtin/config.c:57
+#: builtin/config.c:59
 msgid "use repository config file"
 msgstr "usa el fitxer de configuració del dipòsit"
 
-#: builtin/config.c:58
+#: builtin/config.c:60
 msgid "use given config file"
 msgstr "usa el fitxer de configuració donat"
 
-#: builtin/config.c:59
+#: builtin/config.c:61
 msgid "blob-id"
 msgstr "ID de blob"
 
-#: builtin/config.c:59
+#: builtin/config.c:61
 msgid "read config from given blob object"
 msgstr "llegeix la configuració de l'objecte de blob donat"
 
-#: builtin/config.c:60
+#: builtin/config.c:62
 msgid "Action"
 msgstr "Acció"
 
-#: builtin/config.c:61
+#: builtin/config.c:63
 msgid "get value: name [value-regex]"
 msgstr "obtén valor: nom [regex-de-valors]"
 
-#: builtin/config.c:62
+#: builtin/config.c:64
 msgid "get all values: key [value-regex]"
 msgstr "obtén tots els valors: clau [regex-de-valors]"
 
-#: builtin/config.c:63
+#: builtin/config.c:65
 msgid "get values for regexp: name-regex [value-regex]"
 msgstr "obtén valors de regexp: regex-de-noms [regex-de-valors]"
 
-#: builtin/config.c:64
+#: builtin/config.c:66
 msgid "get value specific for the URL: section[.var] URL"
 msgstr "obtén el valor específic per a l'URL: secció[.variable] URL"
 
-#: builtin/config.c:65
+#: builtin/config.c:67
 msgid "replace all matching variables: name value [value_regex]"
 msgstr ""
 "reemplaça totes les variables que coincideixen: nom valor [regex_de_valors]"
 
-#: builtin/config.c:66
+#: builtin/config.c:68
 msgid "add a new variable: name value"
 msgstr "afegeix una variable nova: nom valor"
 
-#: builtin/config.c:67
+#: builtin/config.c:69
 msgid "remove a variable: name [value-regex]"
 msgstr "elimina una variable: nom [regex-de-valors]"
 
-#: builtin/config.c:68
+#: builtin/config.c:70
 msgid "remove all matches: name [value-regex]"
 msgstr "elimina totes les coincidències: nom [regex-de-valors]"
 
-#: builtin/config.c:69
+#: builtin/config.c:71
 msgid "rename section: old-name new-name"
 msgstr "canvia el nom de secció: nom-antic nom-nou"
 
-#: builtin/config.c:70
+#: builtin/config.c:72
 msgid "remove a section: name"
 msgstr "elimina una secció: nom"
 
-#: builtin/config.c:71
+#: builtin/config.c:73
 msgid "list all"
 msgstr "llista tots"
 
-#: builtin/config.c:72
+#: builtin/config.c:74
 msgid "open an editor"
 msgstr "obre un editor"
 
-#: builtin/config.c:73
+#: builtin/config.c:75
 msgid "find the color configured: slot [default]"
 msgstr "troba el color configurat: ranura [per defecte]"
 
-#: builtin/config.c:74
+#: builtin/config.c:76
 msgid "find the color setting: slot [stdout-is-tty]"
 msgstr "troba l'ajust de color: ranura [stdout-és-tty]"
 
-#: builtin/config.c:75
+#: builtin/config.c:77
 msgid "Type"
 msgstr "Tipus"
 
-#: builtin/config.c:76
+#: builtin/config.c:78
 msgid "value is \"true\" or \"false\""
 msgstr "el valor és \"true\" o \"false\""
 
-#: builtin/config.c:77
+#: builtin/config.c:79
 msgid "value is decimal number"
 msgstr "el valor és un nombre decimal"
 
-#: builtin/config.c:78
+#: builtin/config.c:80
 msgid "value is --bool or --int"
 msgstr "el valor és --bool o --int"
 
-#: builtin/config.c:79
+#: builtin/config.c:81
 msgid "value is a path (file or directory name)"
 msgstr "el valor és un camí (nom de fitxer o directori)"
 
-#: builtin/config.c:80
+#: builtin/config.c:82
 msgid "Other"
 msgstr "Altre"
 
-#: builtin/config.c:81
+#: builtin/config.c:83
 msgid "terminate values with NUL byte"
 msgstr "acaba els valors amb un octet NUL"
 
-#: builtin/config.c:82
+#: builtin/config.c:84
 msgid "show variable names only"
 msgstr "mostra només els noms de variable"
 
-#: builtin/config.c:83
+#: builtin/config.c:85
 msgid "respect include directives on lookup"
 msgstr "respecta les directives d'inclusió en cercar"
 
-#: builtin/config.c:303
+#: builtin/config.c:86
+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 "
+"d'ordres)"
+
+#: builtin/config.c:328
 msgid "unable to parse default color value"
 msgstr "no s'ha pogut analitzar el valor de color per defecte"
 
-#: builtin/config.c:441
+#: builtin/config.c:469
 #, c-format
 msgid ""
 "# This is Git's per-user configuration file.\n"
@@ -5585,7 +5779,7 @@
 "#\tname = %s\n"
 "#\temail = %s\n"
 
-#: builtin/config.c:575
+#: builtin/config.c:611
 #, c-format
 msgid "cannot create configuration file %s"
 msgstr "no es pot crear el fitxer de configuració '%s'"
@@ -5835,162 +6029,166 @@
 msgid "git fetch --all [<options>]"
 msgstr "git fetch --all [<opcions>]"
 
-#: builtin/fetch.c:90 builtin/pull.c:162
+#: builtin/fetch.c:92 builtin/pull.c:166
 msgid "fetch from all remotes"
 msgstr "obtén de tots els remots"
 
-#: builtin/fetch.c:92 builtin/pull.c:165
+#: builtin/fetch.c:94 builtin/pull.c:169
 msgid "append to .git/FETCH_HEAD instead of overwriting"
 msgstr "annexa a .git/FETCH_HEAD en lloc de sobreescriure"
 
-#: builtin/fetch.c:94 builtin/pull.c:168
+#: builtin/fetch.c:96 builtin/pull.c:172
 msgid "path to upload pack on remote end"
 msgstr "camí al qual pujar el paquet al costat remot"
 
-#: builtin/fetch.c:95 builtin/pull.c:170
+#: builtin/fetch.c:97 builtin/pull.c:174
 msgid "force overwrite of local branch"
 msgstr "força la sobreescriptura de la branca local"
 
-#: builtin/fetch.c:97
+#: builtin/fetch.c:99
 msgid "fetch from multiple remotes"
 msgstr "obtén de múltiples remots"
 
-#: builtin/fetch.c:99 builtin/pull.c:172
+#: builtin/fetch.c:101 builtin/pull.c:176
 msgid "fetch all tags and associated objects"
 msgstr "obtén totes les etiquetes i tots els objectes associats"
 
-#: builtin/fetch.c:101
+#: builtin/fetch.c:103
 msgid "do not fetch all tags (--no-tags)"
 msgstr "no obtinguis les etiquetes (--no-tags)"
 
-#: builtin/fetch.c:103 builtin/pull.c:175
+#: builtin/fetch.c:105
+msgid "number of submodules fetched in parallel"
+msgstr "nombre de submòduls obtinguts en paral·lel"
+
+#: builtin/fetch.c:107 builtin/pull.c:179
 msgid "prune remote-tracking branches no longer on remote"
 msgstr "poda les branques amb seguiment remot que ja no estiguin en el remot"
 
-#: builtin/fetch.c:104 builtin/pull.c:178
+#: builtin/fetch.c:108 builtin/pull.c:182
 msgid "on-demand"
 msgstr "sota demanda"
 
-#: builtin/fetch.c:105 builtin/pull.c:179
+#: builtin/fetch.c:109 builtin/pull.c:183
 msgid "control recursive fetching of submodules"
 msgstr "controla l'obtenció recursiva de submòduls"
 
-#: builtin/fetch.c:109 builtin/pull.c:184
+#: builtin/fetch.c:113 builtin/pull.c:191
 msgid "keep downloaded pack"
 msgstr "retén el paquet baixat"
 
-#: builtin/fetch.c:111
+#: builtin/fetch.c:115
 msgid "allow updating of HEAD ref"
 msgstr "permet l'actualització de la referència HEAD"
 
-#: builtin/fetch.c:114 builtin/pull.c:187
+#: builtin/fetch.c:118 builtin/pull.c:194
 msgid "deepen history of shallow clone"
 msgstr "aprofundeix la història d'un clon superficial"
 
-#: builtin/fetch.c:116 builtin/pull.c:190
+#: builtin/fetch.c:120 builtin/pull.c:197
 msgid "convert to a complete repository"
 msgstr "converteix en un dipòsit complet"
 
-#: builtin/fetch.c:118 builtin/log.c:1233
+#: builtin/fetch.c:122 builtin/log.c:1236
 msgid "dir"
 msgstr "directori"
 
-#: builtin/fetch.c:119
+#: builtin/fetch.c:123
 msgid "prepend this to submodule path output"
 msgstr "anteposa això a la sortida de camí del submòdul"
 
-#: builtin/fetch.c:122
+#: builtin/fetch.c:126
 msgid "default mode for recursion"
 msgstr "mode de recursivitat per defecte"
 
-#: builtin/fetch.c:124 builtin/pull.c:193
+#: builtin/fetch.c:128 builtin/pull.c:200
 msgid "accept refs that update .git/shallow"
 msgstr "accepta les referències que actualitzin .git/shallow"
 
-#: builtin/fetch.c:125 builtin/pull.c:195
+#: builtin/fetch.c:129 builtin/pull.c:202
 msgid "refmap"
 msgstr "mapa de referències"
 
-#: builtin/fetch.c:126 builtin/pull.c:196
+#: builtin/fetch.c:130 builtin/pull.c:203
 msgid "specify fetch refmap"
 msgstr "mostra el mapa de referències d'obtenció"
 
-#: builtin/fetch.c:378
+#: builtin/fetch.c:386
 msgid "Couldn't find remote ref HEAD"
 msgstr "No s'ha pogut trobar la referència HEAD remota"
 
-#: builtin/fetch.c:458
+#: builtin/fetch.c:466
 #, c-format
 msgid "object %s not found"
 msgstr "objecte %s no trobat"
 
-#: builtin/fetch.c:463
+#: builtin/fetch.c:471
 msgid "[up to date]"
 msgstr "[al dia]"
 
-#: builtin/fetch.c:477
+#: builtin/fetch.c:485
 #, c-format
 msgid "! %-*s %-*s -> %s  (can't fetch in current branch)"
 msgstr "! %-*s %-*s -> %s  (no es pot obtenir en la branca actual)"
 
-#: builtin/fetch.c:478 builtin/fetch.c:566
+#: builtin/fetch.c:486 builtin/fetch.c:574
 msgid "[rejected]"
 msgstr "[rebutjat]"
 
-#: builtin/fetch.c:489
+#: builtin/fetch.c:497
 msgid "[tag update]"
 msgstr "[actualització d'etiqueta]"
 
-#: builtin/fetch.c:491 builtin/fetch.c:526 builtin/fetch.c:544
+#: builtin/fetch.c:499 builtin/fetch.c:534 builtin/fetch.c:552
 msgid "  (unable to update local ref)"
 msgstr "  (no s'ha pogut actualitzar la referència local)"
 
-#: builtin/fetch.c:509
+#: builtin/fetch.c:517
 msgid "[new tag]"
 msgstr "[etiqueta nova]"
 
-#: builtin/fetch.c:512
+#: builtin/fetch.c:520
 msgid "[new branch]"
 msgstr "[branca nova]"
 
-#: builtin/fetch.c:515
+#: builtin/fetch.c:523
 msgid "[new ref]"
 msgstr "[referència nova]"
 
-#: builtin/fetch.c:561
+#: builtin/fetch.c:569
 msgid "unable to update local ref"
 msgstr "no s'ha pogut actualitzar la referència local"
 
-#: builtin/fetch.c:561
+#: builtin/fetch.c:569
 msgid "forced update"
 msgstr "actualització forçada"
 
-#: builtin/fetch.c:568
+#: builtin/fetch.c:576
 msgid "(non-fast-forward)"
 msgstr "(sense avanç ràpid)"
 
-#: builtin/fetch.c:602 builtin/fetch.c:843
+#: builtin/fetch.c:610 builtin/fetch.c:851
 #, c-format
 msgid "cannot open %s: %s\n"
 msgstr "no es pot obrir %s: %s\n"
 
-#: builtin/fetch.c:611
+#: builtin/fetch.c:619
 #, c-format
 msgid "%s did not send all necessary objects\n"
 msgstr "%s no ha enviat tots els objectes necessaris\n"
 
-#: builtin/fetch.c:629
+#: builtin/fetch.c:637
 #, 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:716 builtin/fetch.c:808
+#: builtin/fetch.c:724 builtin/fetch.c:816
 #, c-format
 msgid "From %.*s\n"
 msgstr "De %.*s\n"
 
-#: builtin/fetch.c:727
+#: builtin/fetch.c:735
 #, c-format
 msgid ""
 "some local refs could not be updated; try running\n"
@@ -6000,55 +6198,55 @@
 " intenteu executar 'git remote prune %s' per a eliminar\n"
 " qualsevulla branca antiga o conflictiva"
 
-#: builtin/fetch.c:779
+#: builtin/fetch.c:787
 #, c-format
 msgid "   (%s will become dangling)"
 msgstr "   (%s es tornarà penjant)"
 
-#: builtin/fetch.c:780
+#: builtin/fetch.c:788
 #, c-format
 msgid "   (%s has become dangling)"
 msgstr "   (%s s'ha tornat penjant)"
 
-#: builtin/fetch.c:812
+#: builtin/fetch.c:820
 msgid "[deleted]"
 msgstr "[suprimit]"
 
-#: builtin/fetch.c:813 builtin/remote.c:1040
+#: builtin/fetch.c:821 builtin/remote.c:1025
 msgid "(none)"
 msgstr "(cap)"
 
-#: builtin/fetch.c:833
+#: builtin/fetch.c:841
 #, c-format
 msgid "Refusing to fetch into current branch %s of non-bare repository"
 msgstr "Refusant obtenir en la branca actual %s d'un dipòsit no nu"
 
-#: builtin/fetch.c:852
+#: builtin/fetch.c:860
 #, 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:855
+#: builtin/fetch.c:863
 #, c-format
 msgid "Option \"%s\" is ignored for %s\n"
 msgstr "S'ignora l'opció \"%s\" per a %s\n"
 
-#: builtin/fetch.c:911
+#: builtin/fetch.c:920
 #, c-format
 msgid "Don't know how to fetch from %s"
 msgstr "No se sap com obtenir de %s"
 
-#: builtin/fetch.c:1072
+#: builtin/fetch.c:1080
 #, c-format
 msgid "Fetching %s\n"
 msgstr "Obtenint %s\n"
 
-#: builtin/fetch.c:1074 builtin/remote.c:96
+#: builtin/fetch.c:1082 builtin/remote.c:96
 #, c-format
 msgid "Could not fetch %s"
 msgstr "No s'ha pogut obtenir %s"
 
-#: builtin/fetch.c:1092
+#: builtin/fetch.c:1100
 msgid ""
 "No remote repository specified.  Please, specify either a URL or a\n"
 "remote name from which new revisions should be fetched."
@@ -6056,32 +6254,32 @@
 "Cap dipòsit remot especificat. Si us plau, especifiqueu o un URL o\n"
 "un nom remot del qual es deuen obtenir les revisions noves."
 
-#: builtin/fetch.c:1115
+#: builtin/fetch.c:1123
 msgid "You need to specify a tag name."
 msgstr "Necessiteu especificar un nom d'etiqueta."
 
-#: builtin/fetch.c:1157
+#: builtin/fetch.c:1165
 msgid "--depth and --unshallow cannot be used together"
 msgstr "--depth i --unshallow no es poden usar junts"
 
-#: builtin/fetch.c:1159
+#: builtin/fetch.c:1167
 msgid "--unshallow on a complete repository does not make sense"
 msgstr "--unshallow en un dipòsit complet no té sentit"
 
-#: builtin/fetch.c:1179
+#: builtin/fetch.c:1187
 msgid "fetch --all does not take a repository argument"
 msgstr "fetch --all no accepta un paràmetre de dipòsit"
 
-#: builtin/fetch.c:1181
+#: builtin/fetch.c:1189
 msgid "fetch --all does not make sense with refspecs"
 msgstr "fetch --all no té sentit amb especificacions de referència"
 
-#: builtin/fetch.c:1192
+#: builtin/fetch.c:1200
 #, c-format
 msgid "No such remote or remote group: %s"
 msgstr "No hi ha tal remot ni tal grup remot: %s"
 
-#: builtin/fetch.c:1200
+#: builtin/fetch.c:1208
 msgid "Fetching a group and specifying refspecs does not make sense"
 msgstr "Obtenir un grup i especificar referències no té sentit"
 
@@ -6308,228 +6506,242 @@
 msgid "git grep [<options>] [-e] <pattern> [<rev>...] [[--] <path>...]"
 msgstr "git grep [<opcions>] [-e] <patró> [<revisió>...] [[--] <camí>...]"
 
-#: builtin/grep.c:218
+#: builtin/grep.c:219
 #, c-format
 msgid "grep: failed to create thread: %s"
 msgstr "grep: s'ha fallat en crear fil: %s"
 
-#: builtin/grep.c:441 builtin/grep.c:476
+#: builtin/grep.c:277
+#, 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:452 builtin/grep.c:487
 #, c-format
 msgid "unable to read tree (%s)"
 msgstr "no s'ha pogut llegir l'arbre (%s)"
 
-#: builtin/grep.c:491
+#: builtin/grep.c:502
 #, 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:547
+#: builtin/grep.c:558
 #, c-format
 msgid "switch `%c' expects a numerical value"
 msgstr "l'opció `%c' espera un valor numèric"
 
-#: builtin/grep.c:564
+#: builtin/grep.c:575
 #, c-format
 msgid "cannot open '%s'"
 msgstr "no es pot obrir '%s'"
 
-#: builtin/grep.c:633
+#: builtin/grep.c:644
 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:635
+#: builtin/grep.c:646
 msgid "find in contents not managed by git"
 msgstr "cerca en continguts no gestionats per git"
 
-#: builtin/grep.c:637
+#: builtin/grep.c:648
 msgid "search in both tracked and untracked files"
 msgstr "cerca tant en fitxers seguits com en no seguits"
 
-#: builtin/grep.c:639
+#: builtin/grep.c:650
 msgid "ignore files specified via '.gitignore'"
 msgstr "ignora els fitxers especificats mitjançant '.gitignore'"
 
-#: builtin/grep.c:642
+#: builtin/grep.c:653
 msgid "show non-matching lines"
 msgstr "mostra les línies no coincidents"
 
-#: builtin/grep.c:644
+#: builtin/grep.c:655
 msgid "case insensitive matching"
 msgstr "coincidència insensible a majúscula i minúscula"
 
-#: builtin/grep.c:646
+#: builtin/grep.c:657
 msgid "match patterns only at word boundaries"
 msgstr "coincideix amb els patrons només als límits de paraula"
 
-#: builtin/grep.c:648
+#: builtin/grep.c:659
 msgid "process binary files as text"
 msgstr "processa els fitxers binaris com a text"
 
-#: builtin/grep.c:650
+#: builtin/grep.c:661
 msgid "don't match patterns in binary files"
 msgstr "no coincideixis amb els patrons en els fitxers binaris"
 
-#: builtin/grep.c:653
+#: builtin/grep.c:664
 msgid "process binary files with textconv filters"
 msgstr "processa els fitxers binaris amb filtres de textconv"
 
-#: builtin/grep.c:655
+#: builtin/grep.c:666
 msgid "descend at most <depth> levels"
 msgstr "descendeix com a màxim <profunditat> nivells"
 
-#: builtin/grep.c:659
+#: builtin/grep.c:670
 msgid "use extended POSIX regular expressions"
 msgstr "usa les expressions regulars POSIX esteses"
 
-#: builtin/grep.c:662
+#: builtin/grep.c:673
 msgid "use basic POSIX regular expressions (default)"
 msgstr "usa les expressions regulars POSIX bàsiques (per defecte)"
 
-#: builtin/grep.c:665
+#: builtin/grep.c:676
 msgid "interpret patterns as fixed strings"
 msgstr "interpreta els patrons com a cadenes fixes"
 
-#: builtin/grep.c:668
+#: builtin/grep.c:679
 msgid "use Perl-compatible regular expressions"
 msgstr "usa les expressions regulars compatibles amb Perl"
 
-#: builtin/grep.c:671
+#: builtin/grep.c:682
 msgid "show line numbers"
 msgstr "mostra els números de línia"
 
-#: builtin/grep.c:672
+#: builtin/grep.c:683
 msgid "don't show filenames"
 msgstr "no mostris els noms de fitxer"
 
-#: builtin/grep.c:673
+#: builtin/grep.c:684
 msgid "show filenames"
 msgstr "mostra els noms de fitxer"
 
-#: builtin/grep.c:675
+#: builtin/grep.c:686
 msgid "show filenames relative to top directory"
 msgstr "mostra els noms de fitxer relatius al directori superior"
 
-#: builtin/grep.c:677
+#: builtin/grep.c:688
 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:679
+#: builtin/grep.c:690
 msgid "synonym for --files-with-matches"
 msgstr "sinònim de --files-with-matches"
 
-#: builtin/grep.c:682
+#: builtin/grep.c:693
 msgid "show only the names of files without match"
 msgstr "mostra només els noms dels fitxers sense coincidència"
 
-#: builtin/grep.c:684
+#: builtin/grep.c:695
 msgid "print NUL after filenames"
 msgstr "imprimeix NUL després dels noms de fitxer"
 
-#: builtin/grep.c:686
+#: builtin/grep.c:697
 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:687
+#: builtin/grep.c:698
 msgid "highlight matches"
 msgstr "ressalta les coincidències"
 
-#: builtin/grep.c:689
+#: builtin/grep.c:700
 msgid "print empty line between matches from different files"
 msgstr "imprimeix una línia buida entre coincidències de fitxers distints"
 
-#: builtin/grep.c:691
+#: builtin/grep.c:702
 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:694
+#: builtin/grep.c:705
 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:697
+#: builtin/grep.c:708
 msgid "show <n> context lines before matches"
 msgstr "mostra <n> línies de context abans d'una coincidència"
 
-#: builtin/grep.c:699
+#: builtin/grep.c:710
 msgid "show <n> context lines after matches"
 msgstr "mostra <n> línies de context després d'una coincidència"
 
-#: builtin/grep.c:700
+#: builtin/grep.c:712
+msgid "use <n> worker threads"
+msgstr "usa <n> fils obrers"
+
+#: builtin/grep.c:713
 msgid "shortcut for -C NUM"
 msgstr "drecera per -C NUM"
 
-#: builtin/grep.c:703
+#: builtin/grep.c:716
 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:705
+#: builtin/grep.c:718
 msgid "show the surrounding function"
 msgstr "mostra la funció circumdant"
 
-#: builtin/grep.c:708
+#: builtin/grep.c:721
 msgid "read patterns from file"
 msgstr "llegeix els patrons des d'un fitxer"
 
-#: builtin/grep.c:710
+#: builtin/grep.c:723
 msgid "match <pattern>"
 msgstr "coincideix amb <patró>"
 
-#: builtin/grep.c:712
+#: builtin/grep.c:725
 msgid "combine patterns specified with -e"
 msgstr "combina els patrons especificats amb -e"
 
-#: builtin/grep.c:724
+#: builtin/grep.c:737
 msgid "indicate hit with exit status without output"
 msgstr "indica coincidència amb estat de sortida sense sortida textual"
 
-#: builtin/grep.c:726
+#: builtin/grep.c:739
 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:728
+#: builtin/grep.c:741
 msgid "show parse tree for grep expression"
 msgstr "mostra l'arbre d'anàlisis de l'expressió de grep"
 
-#: builtin/grep.c:732
+#: builtin/grep.c:745
 msgid "pager"
 msgstr "paginador"
 
-#: builtin/grep.c:732
+#: builtin/grep.c:745
 msgid "show matching files in the pager"
 msgstr "mostra els fitxers coincidents en el paginador"
 
-#: builtin/grep.c:735
+#: builtin/grep.c:748
 msgid "allow calling of grep(1) (ignored by this build)"
 msgstr "permet la invocació de grep(1) (ignorat per aquesta compilació)"
 
-#: builtin/grep.c:793
+#: builtin/grep.c:811
 msgid "no pattern given."
 msgstr "cap patró donat."
 
-#: builtin/grep.c:851
+#: builtin/grep.c:843 builtin/index-pack.c:1475
+#, c-format
+msgid "invalid number of threads specified (%d)"
+msgstr "s'ha especificat un nombre de fils no vàlid (%d)"
+
+#: builtin/grep.c:873
 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:877
+#: builtin/grep.c:899
 msgid "--cached or --untracked cannot be used with --no-index."
 msgstr "--cached o --untracked no es pot usar amb --no-index."
 
-#: builtin/grep.c:882
+#: builtin/grep.c:904
 msgid "--no-index or --untracked cannot be used with revs."
 msgstr "--no-index o --untracked no es pot usar amb revisions."
 
-#: builtin/grep.c:885
+#: builtin/grep.c:907
 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:893
+#: builtin/grep.c:915
 msgid "both --cached and trees are given."
 msgstr "s'han donat ambdós --caches i arbres."
 
-#: builtin/hash-object.c:80
+#: builtin/hash-object.c:81
 msgid ""
 "git hash-object [-t <type>] [-w] [--path=<file> | --no-filters] [--stdin] "
 "[--] <file>..."
@@ -6537,38 +6749,38 @@
 "git hash-object [-t <tipus>] [-w] [--path=<fitxer> | --no-filters] [--stdin] "
 "[--] <fitxer>..."
 
-#: builtin/hash-object.c:81
+#: builtin/hash-object.c:82
 msgid "git hash-object  --stdin-paths"
 msgstr "git hash-object  --stdin-paths"
 
-#: builtin/hash-object.c:92
+#: builtin/hash-object.c:93
 msgid "type"
 msgstr "tipus"
 
-#: builtin/hash-object.c:92
+#: builtin/hash-object.c:93
 msgid "object type"
 msgstr "tipus d'objecte"
 
-#: builtin/hash-object.c:93
+#: builtin/hash-object.c:94
 msgid "write the object into the object database"
 msgstr "escriu l'objecte a la base de dades d'objectes"
 
-#: builtin/hash-object.c:95
+#: builtin/hash-object.c:96
 msgid "read the object from stdin"
 msgstr "llegeix l'objecte des d'stdin"
 
-#: builtin/hash-object.c:97
+#: builtin/hash-object.c:98
 msgid "store file as is without filters"
 msgstr "emmagatzema el fitxer tal com és sense filtres"
 
-#: builtin/hash-object.c:98
+#: builtin/hash-object.c:99
 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 "
 "depurar al Git"
 
-#: builtin/hash-object.c:99
+#: builtin/hash-object.c:100
 msgid "process file as it were from this path"
 msgstr "processa el fitxer com si fos d'aquest camí"
 
@@ -6619,7 +6831,7 @@
 msgid "failed to exec '%s': %s"
 msgstr "s'ha fallat en executar '%s': %s"
 
-#: builtin/help.c:208
+#: builtin/help.c:205
 #, c-format
 msgid ""
 "'%s': path for unsupported man viewer.\n"
@@ -6628,7 +6840,7 @@
 "'%s': camí a un visualitzador de manuals no compatible.\n"
 "Si us plau, considereu usar 'man.<eina>.cmd' en lloc d'això."
 
-#: builtin/help.c:220
+#: builtin/help.c:217
 #, c-format
 msgid ""
 "'%s': cmd for supported man viewer.\n"
@@ -6637,61 +6849,61 @@
 "'%s': ordre per a un visualitzador de manuals compatible.\n"
 "Si us plau, considereu usar 'man.<eina>.path' en lloc d'això."
 
-#: builtin/help.c:337
+#: builtin/help.c:334
 #, c-format
 msgid "'%s': unknown man viewer."
 msgstr "'%s': visualitzador de manuals desconegut"
 
-#: builtin/help.c:354
+#: builtin/help.c:351
 msgid "no man viewer handled the request"
 msgstr "cap visualitzador de manuals ha gestionat la sol·licitud"
 
-#: builtin/help.c:362
+#: builtin/help.c:359
 msgid "no info viewer handled the request"
 msgstr "cap visualitzador d'informació ha gestionat la sol·licitud"
 
-#: builtin/help.c:411
+#: builtin/help.c:408
 msgid "Defining attributes per path"
 msgstr "La definició d'atributs per camí"
 
-#: builtin/help.c:412
+#: builtin/help.c:409
 msgid "Everyday Git With 20 Commands Or So"
 msgstr "Git quotidià amb més o menys 20 ordres"
 
-#: builtin/help.c:413
+#: builtin/help.c:410
 msgid "A Git glossary"
 msgstr "Un glossari de Git"
 
-#: builtin/help.c:414
+#: builtin/help.c:411
 msgid "Specifies intentionally untracked files to ignore"
 msgstr "Especifica els fitxers intencionalment no seguits a ignorar"
 
-#: builtin/help.c:415
+#: builtin/help.c:412
 msgid "Defining submodule properties"
 msgstr "La definició de les propietats de submòduls"
 
-#: builtin/help.c:416
+#: builtin/help.c:413
 msgid "Specifying revisions and ranges for Git"
 msgstr "L'especificació de revisions i rangs per al Git"
 
-#: builtin/help.c:417
+#: builtin/help.c:414
 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)"
 
-#: builtin/help.c:418
+#: builtin/help.c:415
 msgid "An overview of recommended workflows with Git"
 msgstr "Una visió de conjunt de fluxos de treball recomanats amb Git"
 
-#: builtin/help.c:430
+#: builtin/help.c:427
 msgid "The common Git guides are:\n"
 msgstr "Les guies de Git comunes són:\n"
 
-#: builtin/help.c:451 builtin/help.c:468
+#: builtin/help.c:448 builtin/help.c:465
 #, c-format
 msgid "usage: %s%s"
 msgstr "ús: %s%s"
 
-#: builtin/help.c:484
+#: builtin/help.c:481
 #, c-format
 msgid "`git %s' is aliased to `%s'"
 msgstr "`git %s' és un àlies de `%s'"
@@ -6927,60 +7139,55 @@
 msgid "bad pack.indexversion=%<PRIu32>"
 msgstr "pack.indexversion=%<PRIu32> dolent"
 
-#: builtin/index-pack.c:1475
-#, c-format
-msgid "invalid number of threads specified (%d)"
-msgstr "s'ha especificat un nombre de fils no vàlid (%d)"
-
-#: builtin/index-pack.c:1479 builtin/index-pack.c:1663
+#: builtin/index-pack.c:1479 builtin/index-pack.c:1664
 #, c-format
 msgid "no threads support, ignoring %s"
 msgstr "no hi ha suport de fils, ignorant %s"
 
-#: builtin/index-pack.c:1537
+#: builtin/index-pack.c:1538
 #, c-format
 msgid "Cannot open existing pack file '%s'"
 msgstr "No es pot obrir el fitxer de paquet existent '%s'"
 
-#: builtin/index-pack.c:1539
+#: builtin/index-pack.c:1540
 #, 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:1586
+#: builtin/index-pack.c:1587
 #, 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:1593
+#: builtin/index-pack.c:1594
 #, 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:1623
+#: builtin/index-pack.c:1624
 msgid "Cannot come back to cwd"
 msgstr "No es pot tornar al directori de treball actual"
 
-#: builtin/index-pack.c:1675 builtin/index-pack.c:1678
-#: builtin/index-pack.c:1690 builtin/index-pack.c:1694
+#: builtin/index-pack.c:1676 builtin/index-pack.c:1679
+#: builtin/index-pack.c:1691 builtin/index-pack.c:1695
 #, c-format
 msgid "bad %s"
 msgstr "%s dolent"
 
-#: builtin/index-pack.c:1708
+#: builtin/index-pack.c:1709
 msgid "--fix-thin cannot be used without --stdin"
 msgstr "--fix-thin no es pot usar sense --stdin"
 
-#: builtin/index-pack.c:1712 builtin/index-pack.c:1721
+#: builtin/index-pack.c:1713 builtin/index-pack.c:1722
 #, c-format
 msgid "packfile name '%s' does not end with '.pack'"
 msgstr "el nom de fitxer de paquet '%s' no acaba amb '.pack'"
 
-#: builtin/index-pack.c:1729
+#: builtin/index-pack.c:1730
 msgid "--verify with no packfile name given"
 msgstr "s'ha donat --verify sense nom de fitxer de paquet"
 
@@ -7106,24 +7313,32 @@
 
 #: builtin/interpret-trailers.c:15
 msgid ""
-"git interpret-trailers [--trim-empty] [(--trailer <token>[(=|:)<value>])...] "
-"[<file>...]"
+"git interpret-trailers [--in-place] [--trim-empty] [(--trailer "
+"<token>[(=|:)<value>])...] [<file>...]"
 msgstr ""
-"git interpret-trailers [--trim-empty] [(--trailer <fitxa>[(=|:)<valor>])...] "
-"[<fitxer>...]"
+"git interpret-trailers [--in-place] [--trim-empty] [(--trailer "
+"<fitxa>[(=|:)<valor>])...] [<fitxer>...]"
 
-#: builtin/interpret-trailers.c:25
+#: builtin/interpret-trailers.c:26
+msgid "edit files in place"
+msgstr "edita els fitxers in situ"
+
+#: builtin/interpret-trailers.c:27
 msgid "trim empty trailers"
 msgstr "escurça els remolcs buits"
 
-#: builtin/interpret-trailers.c:26
+#: builtin/interpret-trailers.c:28
 msgid "trailer"
 msgstr "remolc"
 
-#: builtin/interpret-trailers.c:27
+#: builtin/interpret-trailers.c:29
 msgid "trailer(s) to add"
 msgstr "remolcs a afegir"
 
+#: builtin/interpret-trailers.c:42
+msgid "no input file given for in-place editing"
+msgstr "no s'ha donat cap fitxer d'entrada per a edició in situ"
+
 #: builtin/log.c:43
 msgid "git log [<options>] [<revision-range>] [[--] <path>...]"
 msgstr "git log [<opcions>] [<rang-de-revisions>] [[--] <camí>...]"
@@ -7177,225 +7392,225 @@
 msgid "Unknown type: %d"
 msgstr "Tipus desconegut: %d"
 
-#: builtin/log.c:714
+#: builtin/log.c:715
 msgid "format.headers without value"
 msgstr "format.headers sense valor"
 
-#: builtin/log.c:798
+#: builtin/log.c:801
 msgid "name of output directory is too long"
 msgstr "el nom del directori de sortida és massa llarg"
 
-#: builtin/log.c:813
+#: builtin/log.c:816
 #, c-format
 msgid "Cannot open patch file %s"
 msgstr "No es pot obrir el fitxer de pedaç %s"
 
-#: builtin/log.c:827
+#: builtin/log.c:830
 msgid "Need exactly one range."
 msgstr "Cal exactament un rang."
 
-#: builtin/log.c:837
+#: builtin/log.c:840
 msgid "Not a range."
 msgstr "No és un rang."
 
-#: builtin/log.c:943
+#: builtin/log.c:946
 msgid "Cover letter needs email format"
 msgstr "La carta de presentació necessita el format de correu electrònic"
 
-#: builtin/log.c:1022
+#: builtin/log.c:1025
 #, c-format
 msgid "insane in-reply-to: %s"
 msgstr "in-reply-to boig: %s"
 
-#: builtin/log.c:1050
+#: builtin/log.c:1053
 msgid "git format-patch [<options>] [<since> | <revision-range>]"
 msgstr "git format-patch [<opcions>] [<des-de> | <rang-de-revisions>]"
 
-#: builtin/log.c:1095
+#: builtin/log.c:1098
 msgid "Two output directories?"
 msgstr "Dos directoris de sortida?"
 
-#: builtin/log.c:1211
+#: builtin/log.c:1214
 msgid "use [PATCH n/m] even with a single patch"
 msgstr "usa [PATCH n/m] fins i tot amb un sol pedaç"
 
-#: builtin/log.c:1214
+#: builtin/log.c:1217
 msgid "use [PATCH] even with multiple patches"
 msgstr "usa [PATCH] fins i tot amb múltiples pedaços"
 
-#: builtin/log.c:1218
+#: builtin/log.c:1221
 msgid "print patches to standard out"
 msgstr "imprimeix els pedaços a la sortida estàndard"
 
-#: builtin/log.c:1220
+#: builtin/log.c:1223
 msgid "generate a cover letter"
 msgstr "genera una carta de presentació"
 
-#: builtin/log.c:1222
+#: builtin/log.c:1225
 msgid "use simple number sequence for output file names"
 msgstr "usa una seqüència de números per als noms dels fitxers de sortida"
 
-#: builtin/log.c:1223
+#: builtin/log.c:1226
 msgid "sfx"
 msgstr "sufix"
 
-#: builtin/log.c:1224
+#: builtin/log.c:1227
 msgid "use <sfx> instead of '.patch'"
 msgstr "usa <sufix> en lloc de '.patch'"
 
-#: builtin/log.c:1226
+#: builtin/log.c:1229
 msgid "start numbering patches at <n> instead of 1"
 msgstr "comença numerant els pedaços a <n> en lloc d'1"
 
-#: builtin/log.c:1228
+#: builtin/log.c:1231
 msgid "mark the series as Nth re-roll"
 msgstr "marca la sèrie com a l'enèsima llançada"
 
-#: builtin/log.c:1230
+#: builtin/log.c:1233
 msgid "Use [<prefix>] instead of [PATCH]"
 msgstr "Usa [<prefix>] en lloc de [PATCH]"
 
-#: builtin/log.c:1233
+#: builtin/log.c:1236
 msgid "store resulting files in <dir>"
 msgstr "emmagatzema els fitxers resultants a <directori>"
 
-#: builtin/log.c:1236
+#: builtin/log.c:1239
 msgid "don't strip/add [PATCH]"
 msgstr "no despullis/afegeixis [PATCH]"
 
-#: builtin/log.c:1239
+#: builtin/log.c:1242
 msgid "don't output binary diffs"
 msgstr "no emetis diferències binàries"
 
-#: builtin/log.c:1241
+#: builtin/log.c:1244
 msgid "output all-zero hash in From header"
 msgstr "emet un hash de tots zeros en la capçalera From"
 
-#: builtin/log.c:1243
+#: builtin/log.c:1246
 msgid "don't include a patch matching a commit upstream"
 msgstr "no incloguis pedaços que coincideixin amb comissions a la font"
 
-#: builtin/log.c:1245
+#: builtin/log.c:1248
 msgid "show patch format instead of default (patch + stat)"
 msgstr ""
 "mostra el format de pedaç en lloc del per defecte (pedaç + estadístiques)"
 
-#: builtin/log.c:1247
+#: builtin/log.c:1250
 msgid "Messaging"
 msgstr "Missatgeria"
 
-#: builtin/log.c:1248
+#: builtin/log.c:1251
 msgid "header"
 msgstr "capçalera"
 
-#: builtin/log.c:1249
+#: builtin/log.c:1252
 msgid "add email header"
 msgstr "afegeix una capçalera de correu electrònic"
 
-#: builtin/log.c:1250 builtin/log.c:1252
+#: builtin/log.c:1253 builtin/log.c:1255
 msgid "email"
 msgstr "correu electrònic"
 
-#: builtin/log.c:1250
+#: builtin/log.c:1253
 msgid "add To: header"
 msgstr "afegeix la capçalera To:"
 
-#: builtin/log.c:1252
+#: builtin/log.c:1255
 msgid "add Cc: header"
 msgstr "afegeix la capçalera Cc:"
 
-#: builtin/log.c:1254
+#: builtin/log.c:1257
 msgid "ident"
 msgstr "identitat"
 
-#: builtin/log.c:1255
+#: builtin/log.c:1258
 msgid "set From address to <ident> (or committer ident if absent)"
 msgstr ""
 "estableix l'adreça From a <identitat> (o la identitat del comitent si manca)"
 
-#: builtin/log.c:1257
+#: builtin/log.c:1260
 msgid "message-id"
 msgstr "ID de missatge"
 
-#: builtin/log.c:1258
+#: builtin/log.c:1261
 msgid "make first mail a reply to <message-id>"
 msgstr "fes del primer missatge una resposta a <ID de missatge>"
 
-#: builtin/log.c:1259 builtin/log.c:1262
+#: builtin/log.c:1262 builtin/log.c:1265
 msgid "boundary"
 msgstr "límit"
 
-#: builtin/log.c:1260
+#: builtin/log.c:1263
 msgid "attach the patch"
 msgstr "ajunta el pedaç"
 
-#: builtin/log.c:1263
+#: builtin/log.c:1266
 msgid "inline the patch"
 msgstr "posa el pedaç en el cos"
 
-#: builtin/log.c:1267
+#: builtin/log.c:1270
 msgid "enable message threading, styles: shallow, deep"
 msgstr "habilita l'enfilada de missatges, estils: shallow, deep"
 
-#: builtin/log.c:1269
+#: builtin/log.c:1272
 msgid "signature"
 msgstr "firma"
 
-#: builtin/log.c:1270
+#: builtin/log.c:1273
 msgid "add a signature"
 msgstr "afegeix una firma"
 
-#: builtin/log.c:1272
+#: builtin/log.c:1275
 msgid "add a signature from a file"
 msgstr "afegeix una firma des d'un fitxer"
 
-#: builtin/log.c:1273
+#: builtin/log.c:1276
 msgid "don't print the patch filenames"
 msgstr "no imprimeixis els noms de fitxer del pedaç"
 
-#: builtin/log.c:1362
+#: builtin/log.c:1365
 msgid "-n and -k are mutually exclusive."
 msgstr "-n i -k són mutualment exclusius."
 
-#: builtin/log.c:1364
+#: builtin/log.c:1367
 msgid "--subject-prefix and -k are mutually exclusive."
 msgstr "--subject-prefix i -k són mutualment exclusius."
 
-#: builtin/log.c:1372
+#: builtin/log.c:1375
 msgid "--name-only does not make sense"
 msgstr "--name-only no té sentit"
 
-#: builtin/log.c:1374
+#: builtin/log.c:1377
 msgid "--name-status does not make sense"
 msgstr "--name-status no té sentit"
 
-#: builtin/log.c:1376
+#: builtin/log.c:1379
 msgid "--check does not make sense"
 msgstr "--check no té sentit"
 
-#: builtin/log.c:1401
+#: builtin/log.c:1407
 msgid "standard output, or directory, which one?"
 msgstr "sortida estàndard o directori, quin dels dos?"
 
-#: builtin/log.c:1403
+#: builtin/log.c:1409
 #, c-format
 msgid "Could not create directory '%s'"
 msgstr "No s'ha pogut crear el directori '%s'"
 
-#: builtin/log.c:1500
+#: builtin/log.c:1506
 #, c-format
 msgid "unable to read signature file '%s'"
 msgstr "no s'ha pogut llegir el fitxer de firma '%s'"
 
-#: builtin/log.c:1563
+#: builtin/log.c:1569
 msgid "Failed to create output files"
 msgstr "S'ha fallat en crear els fitxers de sortida"
 
-#: builtin/log.c:1611
+#: builtin/log.c:1617
 msgid "git cherry [-v] [<upstream> [<head> [<limit>]]]"
 msgstr "git cherry [-v] [<font> [<cap> [<límit>]]]"
 
-#: builtin/log.c:1665
+#: builtin/log.c:1671
 #, c-format
 msgid ""
 "Could not find a tracked remote branch, please specify <upstream> manually.\n"
@@ -7403,105 +7618,156 @@
 "No s'ha pogut trobar una branca remota seguida. Si us plau, especifiqueu "
 "<font> manualment.\n"
 
-#: builtin/log.c:1676 builtin/log.c:1678 builtin/log.c:1690
+#: builtin/log.c:1682 builtin/log.c:1684 builtin/log.c:1696
 #, c-format
 msgid "Unknown commit %s"
 msgstr "Comissió desconeguda %s"
 
-#: builtin/ls-files.c:358
+#: builtin/ls-files.c:378
 msgid "git ls-files [<options>] [<file>...]"
 msgstr "git ls-files [<opcions>] [<fitxer>...]"
 
-#: builtin/ls-files.c:415
+#: builtin/ls-files.c:427
 msgid "identify the file status with tags"
 msgstr "identifica l'estat de fitxer amb etiquetes"
 
-#: builtin/ls-files.c:417
+#: builtin/ls-files.c:429
 msgid "use lowercase letters for 'assume unchanged' files"
 msgstr "usa lletres minúscules per als fitxers 'assume unchanged'"
 
-#: builtin/ls-files.c:419
+#: builtin/ls-files.c:431
 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:421
+#: builtin/ls-files.c:433
 msgid "show deleted files in the output"
 msgstr "mostra en la sortida els fitxers suprimits"
 
-#: builtin/ls-files.c:423
+#: builtin/ls-files.c:435
 msgid "show modified files in the output"
 msgstr "mostra en la sortida els fitxers modificats"
 
-#: builtin/ls-files.c:425
+#: builtin/ls-files.c:437
 msgid "show other files in the output"
 msgstr "mostra en la sortida els altres fitxers"
 
-#: builtin/ls-files.c:427
+#: builtin/ls-files.c:439
 msgid "show ignored files in the output"
 msgstr "mostra en la sortida els fitxers ignorats"
 
-#: builtin/ls-files.c:430
+#: builtin/ls-files.c:442
 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:432
+#: builtin/ls-files.c:444
 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:434
+#: builtin/ls-files.c:446
 msgid "show 'other' directories' names only"
 msgstr "mostra només els noms dels directoris 'other'"
 
-#: builtin/ls-files.c:437
+#: builtin/ls-files.c:448
+msgid "show line endings of files"
+msgstr "mostra els terminis de línia dels fitxers"
+
+#: builtin/ls-files.c:450
 msgid "don't show empty directories"
 msgstr "no mostris els directoris buits"
 
-#: builtin/ls-files.c:440
+#: builtin/ls-files.c:453
 msgid "show unmerged files in the output"
 msgstr "mostra en la sortida els fitxers sense fusionar"
 
-#: builtin/ls-files.c:442
+#: builtin/ls-files.c:455
 msgid "show resolve-undo information"
 msgstr "mostra la informació de resolució de desfet"
 
-#: builtin/ls-files.c:444
+#: builtin/ls-files.c:457
 msgid "skip files matching pattern"
 msgstr "salta els fitxers coincidents amb el patró"
 
-#: builtin/ls-files.c:447
+#: builtin/ls-files.c:460
 msgid "exclude patterns are read from <file>"
 msgstr "els patrons d'exclusió es llegeixen de <fitxer>"
 
-#: builtin/ls-files.c:450
+#: builtin/ls-files.c:463
 msgid "read additional per-directory exclude patterns in <file>"
 msgstr "llegeix els patrons addicionals d'exclusió per directori en <fitxer>"
 
-#: builtin/ls-files.c:452
+#: builtin/ls-files.c:465
 msgid "add the standard git exclusions"
 msgstr "afegeix les exclusions estàndards de git"
 
-#: builtin/ls-files.c:455
+#: builtin/ls-files.c:468
 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:458
+#: builtin/ls-files.c:471
 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"
 
-#: builtin/ls-files.c:459
+#: builtin/ls-files.c:472
 msgid "tree-ish"
 msgstr "arbre"
 
-#: builtin/ls-files.c:460
+#: builtin/ls-files.c:473
 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:462
+#: builtin/ls-files.c:475
 msgid "show debugging data"
 msgstr "mostra les dades de depuració"
 
+#: builtin/ls-remote.c:7
+msgid ""
+"git ls-remote [--heads] [--tags] [--refs] [--upload-pack=<exec>]\n"
+"                     [-q | --quiet] [--exit-code] [--get-url]\n"
+"                     [--symref] [<repository> [<refs>...]]"
+msgstr ""
+"git ls-remote [--heads] [--tags] [--refs]\n"
+"                     [--upload-pack=<executable>] [-q | --quiet]\n"
+"                     [--exit-code] [--get-url] [--symref]\n"
+"                     [<dipòsit> [<referències>...]]"
+
+#: builtin/ls-remote.c:50
+msgid "do not print remote URL"
+msgstr "no imprimeixis l'URL remot"
+
+#: builtin/ls-remote.c:51 builtin/ls-remote.c:53
+msgid "exec"
+msgstr "executable"
+
+#: builtin/ls-remote.c:52 builtin/ls-remote.c:54
+msgid "path of git-upload-pack on the remote host"
+msgstr "camí a git-upload-pack en la màquina remota"
+
+#: builtin/ls-remote.c:56
+msgid "limit to tags"
+msgstr "limita a etiquetes"
+
+#: builtin/ls-remote.c:57
+msgid "limit to heads"
+msgstr "limita a caps"
+
+#: builtin/ls-remote.c:58
+msgid "do not show peeled tags"
+msgstr "no mostris les etiquetes pelades"
+
+#: builtin/ls-remote.c:60
+msgid "take url.<base>.insteadOf into account"
+msgstr "tingues en compte url.<base>.insteadOf"
+
+#: builtin/ls-remote.c:62
+msgid "exit with exit code 2 if no matching refs are found"
+msgstr "surt amb codi de sortida 2 si no es troba cap referència coincident"
+
+#: builtin/ls-remote.c:64
+msgid "show underlying ref in addition to the object pointed by it"
+msgstr "mostra la referència subjacent en adició a l'objecte que senyali"
+
 #: builtin/ls-tree.c:28
 msgid "git ls-tree [<options>] <tree-ish> [<path>...]"
 msgstr "git ls-tree [<opcions>] <arbre> [<camí>...]"
@@ -7570,33 +7836,33 @@
 msgid "Available custom strategies are:"
 msgstr "Les estratègies personalitzades disponibles són:"
 
-#: builtin/merge.c:193 builtin/pull.c:119
+#: builtin/merge.c:193 builtin/pull.c:123
 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:196 builtin/pull.c:122
+#: builtin/merge.c:196 builtin/pull.c:126
 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:197 builtin/pull.c:125
+#: builtin/merge.c:197 builtin/pull.c:129
 msgid "(synonym to --stat)"
 msgstr "(sinònim de --stat)"
 
-#: builtin/merge.c:199 builtin/pull.c:128
+#: builtin/merge.c:199 builtin/pull.c:132
 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:202 builtin/pull.c:131
+#: builtin/merge.c:202 builtin/pull.c:135
 msgid "create a single commit instead of doing a merge"
 msgstr "crea una única comissió en lloc de fusionar"
 
-#: builtin/merge.c:204 builtin/pull.c:134
+#: builtin/merge.c:204 builtin/pull.c:138
 msgid "perform a commit if the merge succeeds (default)"
 msgstr "realitza una comissió si la fusió té èxit (per defecte)"
 
-#: builtin/merge.c:206 builtin/pull.c:137
+#: builtin/merge.c:206 builtin/pull.c:141
 msgid "edit message before committing"
 msgstr "edita el missatge abans de cometre"
 
@@ -7604,7 +7870,7 @@
 msgid "allow fast-forward (default)"
 msgstr "permet l'avanç ràpid (per defecte)"
 
-#: builtin/merge.c:209 builtin/pull.c:143
+#: builtin/merge.c:209 builtin/pull.c:147
 msgid "abort if fast-forward is not possible"
 msgstr "avorta si l'avanç ràpid no és possible"
 
@@ -7612,20 +7878,20 @@
 msgid "Verify that the named commit has a valid GPG signature"
 msgstr "Verifica que la comissió anomenada tingui una firma GPG vàlida"
 
-#: builtin/merge.c:214 builtin/notes.c:767 builtin/pull.c:148
+#: builtin/merge.c:214 builtin/notes.c:770 builtin/pull.c:152
 #: builtin/revert.c:89
 msgid "strategy"
 msgstr "estratègia"
 
-#: builtin/merge.c:215 builtin/pull.c:149
+#: builtin/merge.c:215 builtin/pull.c:153
 msgid "merge strategy to use"
 msgstr "estratègia de fusió a usar"
 
-#: builtin/merge.c:216 builtin/pull.c:152
+#: builtin/merge.c:216 builtin/pull.c:156
 msgid "option=value"
 msgstr "opció=valor"
 
-#: builtin/merge.c:217 builtin/pull.c:153
+#: builtin/merge.c:217 builtin/pull.c:157
 msgid "option for selected merge strategy"
 msgstr "opció per a l'estratègia de fusió seleccionada"
 
@@ -7663,8 +7929,8 @@
 msgid "Squash commit -- not updating HEAD\n"
 msgstr "Comissió d'aixafada -- no actualitzant HEAD\n"
 
-#: builtin/merge.c:344 builtin/merge.c:763 builtin/merge.c:975
-#: builtin/merge.c:988
+#: builtin/merge.c:344 builtin/merge.c:764 builtin/merge.c:976
+#: builtin/merge.c:989
 #, c-format
 msgid "Could not write to '%s'"
 msgstr "No s'ha pogut escriure al '%s'"
@@ -7682,41 +7948,41 @@
 msgid "No merge message -- not updating HEAD\n"
 msgstr "Cap missatge de fusió -- no actualitzant HEAD\n"
 
-#: builtin/merge.c:447
+#: builtin/merge.c:448
 #, c-format
 msgid "'%s' does not point to a commit"
 msgstr "'%s' no assenyala una comissió"
 
-#: builtin/merge.c:537
+#: builtin/merge.c:538
 #, c-format
 msgid "Bad branch.%s.mergeoptions string: %s"
 msgstr "Cadena branch.%s.mergeoptions dolenta: %s"
 
-#: builtin/merge.c:656
+#: builtin/merge.c:657
 msgid "Not handling anything other than two heads merge."
 msgstr "No gestionant res a part de la fusió de dos caps."
 
-#: builtin/merge.c:670
+#: builtin/merge.c:671
 #, c-format
 msgid "Unknown option for merge-recursive: -X%s"
 msgstr "Opció desconeguda de merge-recursive: -X%s"
 
-#: builtin/merge.c:683
+#: builtin/merge.c:684
 #, c-format
 msgid "unable to write %s"
 msgstr "no s'ha pogut escriure %s"
 
-#: builtin/merge.c:772
+#: builtin/merge.c:773
 #, c-format
 msgid "Could not read from '%s'"
 msgstr "No s'ha pogut llegir de '%s'"
 
-#: builtin/merge.c:781
+#: builtin/merge.c:782
 #, c-format
 msgid "Not committing merge; use 'git commit' to complete the merge.\n"
 msgstr "No cometent la fusió; useu 'git commit' per a completar la fusió.\n"
 
-#: builtin/merge.c:787
+#: builtin/merge.c:788
 #, c-format
 msgid ""
 "Please enter a commit message to explain why this merge is necessary,\n"
@@ -7732,54 +7998,54 @@
 "S'ignoraran les línies que comencin amb '%c', i un missatge buit\n"
 "avorta la comissió.\n"
 
-#: builtin/merge.c:811
+#: builtin/merge.c:812
 msgid "Empty commit message."
 msgstr "Missatge de comissió buit."
 
-#: builtin/merge.c:823
+#: builtin/merge.c:824
 #, c-format
 msgid "Wonderful.\n"
 msgstr "Meravellós.\n"
 
-#: builtin/merge.c:878
+#: builtin/merge.c:879
 #, 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:894
+#: builtin/merge.c:895
 #, c-format
 msgid "'%s' is not a commit"
 msgstr "'%s' no és una comissió"
 
-#: builtin/merge.c:935
+#: builtin/merge.c:936
 msgid "No current branch."
 msgstr "Cap branca actual."
 
-#: builtin/merge.c:937
+#: builtin/merge.c:938
 msgid "No remote for the current branch."
 msgstr "No hi ha cap remot per a la branca actual."
 
-#: builtin/merge.c:939
+#: builtin/merge.c:940
 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:944
+#: builtin/merge.c:945
 #, 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:1079
+#: builtin/merge.c:1080
 #, c-format
 msgid "could not close '%s'"
 msgstr "no s'ha pogut tancar '%s'"
 
-#: builtin/merge.c:1206
+#: builtin/merge.c:1207
 msgid "There is no merge to abort (MERGE_HEAD missing)."
 msgstr "No hi ha fusió a avortar (manca MERGE_HEAD)."
 
-#: builtin/merge.c:1222
+#: builtin/merge.c:1223
 msgid ""
 "You have not concluded your merge (MERGE_HEAD exists).\n"
 "Please, commit your changes before you merge."
@@ -7787,7 +8053,7 @@
 "No heu conclòs la vostra fusió (MERGE_HEAD existeix).\n"
 "Si us plau, cometeu els vostres canvis abans de fusionar."
 
-#: builtin/merge.c:1229
+#: builtin/merge.c:1230
 msgid ""
 "You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists).\n"
 "Please, commit your changes before you merge."
@@ -7795,103 +8061,103 @@
 "No heu conclòs el vostre recull de cireres (CHERRY_PICK_HEAD existeix).\n"
 "Si us plau, cometeu els vostres canvis abans de fusionar."
 
-#: builtin/merge.c:1232
+#: builtin/merge.c:1233
 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)."
 
-#: builtin/merge.c:1241
+#: builtin/merge.c:1242
 msgid "You cannot combine --squash with --no-ff."
 msgstr "No podeu combinar --squash amb --no-ff."
 
-#: builtin/merge.c:1249
+#: builtin/merge.c:1250
 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:1266
+#: builtin/merge.c:1267
 msgid "Squash commit into empty head not supported yet"
 msgstr "Aixafar una comissió a un cap buit encara no es permet"
 
-#: builtin/merge.c:1268
+#: builtin/merge.c:1269
 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"
 
-#: builtin/merge.c:1274
+#: builtin/merge.c:1275
 #, c-format
 msgid "%s - not something we can merge"
 msgstr "%s - no és una cosa que puguem fusionar"
 
-#: builtin/merge.c:1276
+#: builtin/merge.c:1277
 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"
 
-#: builtin/merge.c:1331
+#: builtin/merge.c:1332
 #, c-format
 msgid "Commit %s has an untrusted GPG signature, allegedly by %s."
 msgstr "La comissió %s té una firma GPG no fiable, suposadament de %s."
 
-#: builtin/merge.c:1334
+#: builtin/merge.c:1335
 #, c-format
 msgid "Commit %s has a bad GPG signature allegedly by %s."
 msgstr "La comissió %s té una firma GPG dolenta suposadament de %s."
 
-#: builtin/merge.c:1337
+#: builtin/merge.c:1338
 #, c-format
 msgid "Commit %s does not have a GPG signature."
 msgstr "La comissió %s no té firma GPG."
 
-#: builtin/merge.c:1340
+#: builtin/merge.c:1341
 #, c-format
 msgid "Commit %s has a good GPG signature by %s\n"
 msgstr "La comissió %s té una firma GPG bona de %s\n"
 
-#: builtin/merge.c:1423
+#: builtin/merge.c:1424
 #, c-format
 msgid "Updating %s..%s\n"
 msgstr "Actualitzant %s..%s\n"
 
-#: builtin/merge.c:1460
+#: builtin/merge.c:1461
 #, c-format
 msgid "Trying really trivial in-index merge...\n"
 msgstr "Intentant una fusió molt trivial en l'índex...\n"
 
-#: builtin/merge.c:1467
+#: builtin/merge.c:1468
 #, c-format
 msgid "Nope.\n"
 msgstr "No.\n"
 
-#: builtin/merge.c:1499
+#: builtin/merge.c:1500
 msgid "Not possible to fast-forward, aborting."
 msgstr "No és possible avançar ràpidament, avortant."
 
-#: builtin/merge.c:1522 builtin/merge.c:1601
+#: builtin/merge.c:1523 builtin/merge.c:1602
 #, c-format
 msgid "Rewinding the tree to pristine...\n"
 msgstr "Rebobinant l'arbre a la pristina...\n"
 
-#: builtin/merge.c:1526
+#: builtin/merge.c:1527
 #, c-format
 msgid "Trying merge strategy %s...\n"
 msgstr "Intentant l'estratègia de fusió %s...\n"
 
-#: builtin/merge.c:1592
+#: builtin/merge.c:1593
 #, c-format
 msgid "No merge strategy handled the merge.\n"
 msgstr "Cap estratègia de fusió ha gestionat la fusió.\n"
 
-#: builtin/merge.c:1594
+#: builtin/merge.c:1595
 #, c-format
 msgid "Merge with strategy %s failed.\n"
 msgstr "L'estratègia de fusió %s ha fallat.\n"
 
-#: builtin/merge.c:1603
+#: builtin/merge.c:1604
 #, c-format
 msgid "Using the %s to prepare resolving by hand.\n"
 msgstr "Usant el %s per a preparar la resolució a mà.\n"
 
-#: builtin/merge.c:1615
+#: builtin/merge.c:1616
 #, c-format
 msgid "Automatic merge went well; stopped before committing as requested\n"
 msgstr ""
@@ -7979,19 +8245,19 @@
 msgid "set labels for file1/orig-file/file2"
 msgstr "estableix les etiquetes per a fitxer1/fitxer-original/fitxer2"
 
-#: builtin/mktree.c:64
+#: builtin/mktree.c:65
 msgid "git mktree [-z] [--missing] [--batch]"
 msgstr "git mktree [-z] [--missing] [--batch]"
 
-#: builtin/mktree.c:150
+#: builtin/mktree.c:152
 msgid "input is NUL terminated"
 msgstr "l'entrada és acabada amb NUL"
 
-#: builtin/mktree.c:151 builtin/write-tree.c:24
+#: builtin/mktree.c:153 builtin/write-tree.c:24
 msgid "allow missing objects"
 msgstr "permet els objectes absents"
 
-#: builtin/mktree.c:152
+#: builtin/mktree.c:154
 msgid "allow creation of more than one tree"
 msgstr "permet la creació de més d'un arbre"
 
@@ -7999,92 +8265,92 @@
 msgid "git mv [<options>] <source>... <destination>"
 msgstr "git mv [<opcions>] <font>... <destí>"
 
-#: builtin/mv.c:69
+#: builtin/mv.c:70
 #, 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:71
+#: builtin/mv.c:72
 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"
 
-#: builtin/mv.c:89
+#: builtin/mv.c:90
 #, c-format
 msgid "%.*s is in index"
 msgstr "%.*s és en l'índex"
 
-#: builtin/mv.c:111
+#: builtin/mv.c:112
 msgid "force move/rename even if target exists"
 msgstr "força el moviment / canvi de nom encara que el destí existeixi"
 
-#: builtin/mv.c:112
+#: builtin/mv.c:113
 msgid "skip move/rename errors"
 msgstr "omet els errors de moviment / canvi de nom"
 
-#: builtin/mv.c:151
+#: builtin/mv.c:152
 #, c-format
 msgid "destination '%s' is not a directory"
 msgstr "el destí '%s' no és un directori"
 
-#: builtin/mv.c:162
+#: builtin/mv.c:163
 #, c-format
 msgid "Checking rename of '%s' to '%s'\n"
 msgstr "Comprovant el canvi de nom de '%s' a '%s'\n"
 
-#: builtin/mv.c:166
+#: builtin/mv.c:167
 msgid "bad source"
 msgstr "font dolenta"
 
-#: builtin/mv.c:169
+#: builtin/mv.c:170
 msgid "can not move directory into itself"
 msgstr "no es pot moure un directori a dins d'ell mateix"
 
-#: builtin/mv.c:172
+#: builtin/mv.c:173
 msgid "cannot move directory over file"
 msgstr "no es pot moure un directori sobre un fitxer"
 
-#: builtin/mv.c:181
+#: builtin/mv.c:182
 msgid "source directory is empty"
 msgstr "el directori font està buit"
 
-#: builtin/mv.c:206
+#: builtin/mv.c:207
 msgid "not under version control"
 msgstr "no està sota control de versions"
 
-#: builtin/mv.c:209
+#: builtin/mv.c:210
 msgid "destination exists"
 msgstr "el destí existeix"
 
-#: builtin/mv.c:217
+#: builtin/mv.c:218
 #, c-format
 msgid "overwriting '%s'"
 msgstr "sobreescrivint '%s'"
 
-#: builtin/mv.c:220
+#: builtin/mv.c:221
 msgid "Cannot overwrite"
 msgstr "No es pot sobreescriure"
 
-#: builtin/mv.c:223
+#: builtin/mv.c:224
 msgid "multiple sources for the same target"
 msgstr "múltiples fonts per al mateix destí"
 
-#: builtin/mv.c:225
+#: builtin/mv.c:226
 msgid "destination directory does not exist"
 msgstr "el directori destí no existeix"
 
-#: builtin/mv.c:232
+#: builtin/mv.c:233
 #, c-format
 msgid "%s, source=%s, destination=%s"
 msgstr "%s, origen=%s, destí=%s"
 
-#: builtin/mv.c:253
+#: builtin/mv.c:254
 #, c-format
 msgid "Renaming %s to %s\n"
 msgstr "Canviant el nom de %s a %s\n"
 
-#: builtin/mv.c:256 builtin/remote.c:728 builtin/repack.c:365
+#: builtin/mv.c:257 builtin/remote.c:714 builtin/repack.c:365
 #, c-format
 msgid "renaming '%s' failed"
 msgstr "el canvi del nom de '%s' ha fallat"
@@ -8287,9 +8553,9 @@
 msgstr "no s'ha pogut obrir o llegir '%s'"
 
 #: builtin/notes.c:253 builtin/notes.c:304 builtin/notes.c:306
-#: builtin/notes.c:366 builtin/notes.c:421 builtin/notes.c:507
-#: builtin/notes.c:512 builtin/notes.c:590 builtin/notes.c:653
-#: builtin/notes.c:877 builtin/tag.c:456
+#: 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:880 builtin/tag.c:456
 #, c-format
 msgid "Failed to resolve '%s' as a valid ref."
 msgstr "S'ha fallat en resoldre '%s' com a referència vàlida."
@@ -8304,42 +8570,42 @@
 msgid "Cannot read note data from non-blob object '%s'."
 msgstr "No es pot llegir les dades de node de l'objecte no de blob '%s'."
 
-#: builtin/notes.c:359 builtin/notes.c:414 builtin/notes.c:490
-#: builtin/notes.c:502 builtin/notes.c:578 builtin/notes.c:646
-#: builtin/notes.c:942
+#: 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:945
 msgid "too many parameters"
 msgstr "massa paràmetres"
 
-#: builtin/notes.c:372 builtin/notes.c:659
+#: builtin/notes.c:375 builtin/notes.c:662
 #, c-format
 msgid "No note found for object %s."
 msgstr "No s'ha trobat cap nota per a l'objecte %s."
 
-#: builtin/notes.c:393 builtin/notes.c:556
+#: builtin/notes.c:396 builtin/notes.c:559
 msgid "note contents as a string"
 msgstr "anota els continguts com a cadena"
 
-#: builtin/notes.c:396 builtin/notes.c:559
+#: builtin/notes.c:399 builtin/notes.c:562
 msgid "note contents in a file"
 msgstr "anota els continguts en un fitxer"
 
-#: builtin/notes.c:399 builtin/notes.c:562
+#: builtin/notes.c:402 builtin/notes.c:565
 msgid "reuse and edit specified note object"
 msgstr "reusa i edita l'objecte de nota especificat"
 
-#: builtin/notes.c:402 builtin/notes.c:565
+#: builtin/notes.c:405 builtin/notes.c:568
 msgid "reuse specified note object"
 msgstr "reusa l'objecte de nota especificat"
 
-#: builtin/notes.c:405 builtin/notes.c:568
+#: builtin/notes.c:408 builtin/notes.c:571
 msgid "allow storing empty note"
 msgstr "permet l'emmagatzematge d'una nota buida"
 
-#: builtin/notes.c:406 builtin/notes.c:477
+#: builtin/notes.c:409 builtin/notes.c:480
 msgid "replace existing notes"
 msgstr "reemplaça les notes existents"
 
-#: builtin/notes.c:431
+#: builtin/notes.c:434
 #, c-format
 msgid ""
 "Cannot add notes. Found existing notes for object %s. Use '-f' to overwrite "
@@ -8348,30 +8614,30 @@
 "No es pot afegir les notes. S'han trobat notes existents de l'objecte %s. "
 "Useu '-f' per a sobreescriure les notes existents."
 
-#: builtin/notes.c:446 builtin/notes.c:525
+#: builtin/notes.c:449 builtin/notes.c:528
 #, c-format
 msgid "Overwriting existing notes for object %s\n"
 msgstr "Sobreescrivint les notes existents de l'objecte %s\n"
 
-#: builtin/notes.c:457 builtin/notes.c:618 builtin/notes.c:882
+#: builtin/notes.c:460 builtin/notes.c:621 builtin/notes.c:885
 #, c-format
 msgid "Removing note for object %s\n"
 msgstr "Eliminant la nota de l'objecte %s\n"
 
-#: builtin/notes.c:478
+#: builtin/notes.c:481
 msgid "read objects from stdin"
 msgstr "llegeix els objectes des d'stdin"
 
-#: builtin/notes.c:480
+#: builtin/notes.c:483
 msgid "load rewriting config for <command> (implies --stdin)"
 msgstr ""
 "carrega la configuració de reescriptura per a <ordre> (implica --stdin)"
 
-#: builtin/notes.c:498
+#: builtin/notes.c:501
 msgid "too few parameters"
 msgstr "hi ha massa pocs paràmetres"
 
-#: builtin/notes.c:519
+#: builtin/notes.c:522
 #, c-format
 msgid ""
 "Cannot copy notes. Found existing notes for object %s. Use '-f' to overwrite "
@@ -8380,12 +8646,12 @@
 "No es pot copiar les notes. S'han trobat notes existents de l'objecte %s. "
 "Useu '-f' per a sobreescriure les notes existents."
 
-#: builtin/notes.c:531
+#: builtin/notes.c:534
 #, c-format
 msgid "Missing notes on source object %s. Cannot copy."
 msgstr "Manquen notes a l'objecte font %s. No es pot copiar."
 
-#: builtin/notes.c:583
+#: builtin/notes.c:586
 #, c-format
 msgid ""
 "The -m/-F/-c/-C options have been deprecated for the 'edit' subcommand.\n"
@@ -8394,15 +8660,15 @@
 "S'han desaprovat 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:764
+#: builtin/notes.c:767
 msgid "General options"
 msgstr "Opcions generals"
 
-#: builtin/notes.c:766
+#: builtin/notes.c:769
 msgid "Merge options"
 msgstr "Opcions de fusió"
 
-#: builtin/notes.c:768
+#: builtin/notes.c:771
 msgid ""
 "resolve notes conflicts using the given strategy (manual/ours/theirs/union/"
 "cat_sort_uniq)"
@@ -8410,49 +8676,49 @@
 "resol els conflictes de nota usant l'estratègia donada (manual/ours/theirs/"
 "union/cat_sort_uniq)"
 
-#: builtin/notes.c:770
+#: builtin/notes.c:773
 msgid "Committing unmerged notes"
 msgstr "Cometent les notes sense fusionar"
 
-#: builtin/notes.c:772
+#: builtin/notes.c:775
 msgid "finalize notes merge by committing unmerged notes"
 msgstr "finalitza la fusió de notes cometent les notes sense fusionar"
 
-#: builtin/notes.c:774
+#: builtin/notes.c:777
 msgid "Aborting notes merge resolution"
 msgstr "Avortant la resolució de fusió de notes"
 
-#: builtin/notes.c:776
+#: builtin/notes.c:779
 msgid "abort notes merge"
 msgstr "avorta la fusió de notes"
 
-#: builtin/notes.c:853
+#: builtin/notes.c:856
 #, c-format
 msgid "A notes merge into %s is already in-progress at %s"
 msgstr "Una fusió de notes a %s ja està en curs a %s"
 
-#: builtin/notes.c:880
+#: builtin/notes.c:883
 #, c-format
 msgid "Object %s has no note\n"
 msgstr "L'objecte %s no té cap nota\n"
 
-#: builtin/notes.c:892
+#: builtin/notes.c:895
 msgid "attempt to remove non-existent note is not an error"
 msgstr "l'intent d'eliminar una nota no existent no és un error"
 
-#: builtin/notes.c:895
+#: builtin/notes.c:898
 msgid "read object names from the standard input"
 msgstr "llegeix els noms d'objecte des de l'entrada estàndard"
 
-#: builtin/notes.c:976
+#: builtin/notes.c:979
 msgid "notes-ref"
 msgstr "referència de notes"
 
-#: builtin/notes.c:977
+#: builtin/notes.c:980
 msgid "use notes from <notes-ref>"
 msgstr "usa les notes de <referència-de-notes>"
 
-#: builtin/notes.c:1012 builtin/remote.c:1647
+#: builtin/notes.c:1015 builtin/remote.c:1626
 #, c-format
 msgid "Unknown subcommand: %s"
 msgstr "Subordre desconeguda: %s"
@@ -8476,176 +8742,176 @@
 msgid "deflate error (%d)"
 msgstr "error de deflació (%d)"
 
-#: builtin/pack-objects.c:771
+#: builtin/pack-objects.c:772
 msgid "Writing objects"
 msgstr "Escrivint els objectes"
 
-#: builtin/pack-objects.c:1011
+#: builtin/pack-objects.c:1012
 msgid "disabling bitmap writing, as some objects are not being packed"
 msgstr ""
 "inhabilitant l'escriptura de mapes de bits, perquè alguns objectes no "
 "s'estan empaquetant"
 
-#: builtin/pack-objects.c:2171
+#: builtin/pack-objects.c:2172
 msgid "Compressing objects"
 msgstr "Comprimint objectes"
 
-#: builtin/pack-objects.c:2568
+#: builtin/pack-objects.c:2558
 #, c-format
 msgid "unsupported index version %s"
 msgstr "versió d'índex no compatible %s"
 
-#: builtin/pack-objects.c:2572
+#: builtin/pack-objects.c:2562
 #, c-format
 msgid "bad index version '%s'"
 msgstr "versió d'índex dolenta '%s'"
 
-#: builtin/pack-objects.c:2602
+#: builtin/pack-objects.c:2592
 msgid "do not show progress meter"
 msgstr "no mostris l'indicador de progrés"
 
-#: builtin/pack-objects.c:2604
+#: builtin/pack-objects.c:2594
 msgid "show progress meter"
 msgstr "mostra l'indicador de progrés"
 
-#: builtin/pack-objects.c:2606
+#: builtin/pack-objects.c:2596
 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:2609
+#: builtin/pack-objects.c:2599
 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:2610
+#: builtin/pack-objects.c:2600
 msgid "version[,offset]"
 msgstr "versió[,desplaçament]"
 
-#: builtin/pack-objects.c:2611
+#: builtin/pack-objects.c:2601
 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:2614
+#: builtin/pack-objects.c:2604
 msgid "maximum size of each output pack file"
 msgstr "mida màxima de cada fitxer de paquet de sortida"
 
-#: builtin/pack-objects.c:2616
+#: builtin/pack-objects.c:2606
 msgid "ignore borrowed objects from alternate object store"
 msgstr ""
 "ignora els objectes prestats d'un emmagatzemament d'objectes alternatiu"
 
-#: builtin/pack-objects.c:2618
+#: builtin/pack-objects.c:2608
 msgid "ignore packed objects"
 msgstr "ignora els objectes empaquetats"
 
-#: builtin/pack-objects.c:2620
+#: builtin/pack-objects.c:2610
 msgid "limit pack window by objects"
 msgstr "limita la finestra d'empaquetament per objectes"
 
-#: builtin/pack-objects.c:2622
+#: builtin/pack-objects.c:2612
 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:2624
+#: builtin/pack-objects.c:2614
 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:2626
+#: builtin/pack-objects.c:2616
 msgid "reuse existing deltas"
 msgstr "reusa les deltes existents"
 
-#: builtin/pack-objects.c:2628
+#: builtin/pack-objects.c:2618
 msgid "reuse existing objects"
 msgstr "reusa els objectes existents"
 
-#: builtin/pack-objects.c:2630
+#: builtin/pack-objects.c:2620
 msgid "use OFS_DELTA objects"
 msgstr "usa objectes OFS_DELTA"
 
-#: builtin/pack-objects.c:2632
+#: builtin/pack-objects.c:2622
 msgid "use threads when searching for best delta matches"
 msgstr "usa fils en cercar les millores coincidències de delta"
 
-#: builtin/pack-objects.c:2634
+#: builtin/pack-objects.c:2624
 msgid "do not create an empty pack output"
 msgstr "no creïs una emissió de paquet buida"
 
-#: builtin/pack-objects.c:2636
+#: builtin/pack-objects.c:2626
 msgid "read revision arguments from standard input"
 msgstr "llegeix els paràmetres de revisió des de l'entrada estàndard"
 
-#: builtin/pack-objects.c:2638
+#: builtin/pack-objects.c:2628
 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:2641
+#: builtin/pack-objects.c:2631
 msgid "include objects reachable from any reference"
 msgstr "inclou els objectes abastables de qualsevulla referència"
 
-#: builtin/pack-objects.c:2644
+#: builtin/pack-objects.c:2634
 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:2647
+#: builtin/pack-objects.c:2637
 msgid "include objects referred to by the index"
 msgstr "inclou els objectes als quals faci referència l'índex"
 
-#: builtin/pack-objects.c:2650
+#: builtin/pack-objects.c:2640
 msgid "output pack to stdout"
 msgstr "emet el paquet a stdout"
 
-#: builtin/pack-objects.c:2652
+#: builtin/pack-objects.c:2642
 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:2654
+#: builtin/pack-objects.c:2644
 msgid "keep unreachable objects"
 msgstr "retén els objectes inabastables"
 
-#: builtin/pack-objects.c:2655 parse-options.h:142
+#: builtin/pack-objects.c:2645 parse-options.h:142
 msgid "time"
 msgstr "hora"
 
-#: builtin/pack-objects.c:2656
+#: builtin/pack-objects.c:2646
 msgid "unpack unreachable objects newer than <time>"
 msgstr "desempaqueta els objectes inabastables més nous que <hora>"
 
-#: builtin/pack-objects.c:2659
+#: builtin/pack-objects.c:2649
 msgid "create thin packs"
 msgstr "crea paquets prims"
 
-#: builtin/pack-objects.c:2661
+#: builtin/pack-objects.c:2651
 msgid "create packs suitable for shallow fetches"
 msgstr "crea paquets adequats per a les obtencions superficials"
 
-#: builtin/pack-objects.c:2663
+#: builtin/pack-objects.c:2653
 msgid "ignore packs that have companion .keep file"
 msgstr "ignora els paquets que tinguin un fitxer .keep corresponent"
 
-#: builtin/pack-objects.c:2665
+#: builtin/pack-objects.c:2655
 msgid "pack compression level"
 msgstr "nivell de compressió de paquet"
 
-#: builtin/pack-objects.c:2667
+#: builtin/pack-objects.c:2657
 msgid "do not hide commits by grafts"
 msgstr "no amaguis les comissions per empelt"
 
-#: builtin/pack-objects.c:2669
+#: builtin/pack-objects.c:2659
 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:2671
+#: builtin/pack-objects.c:2661
 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:2762
+#: builtin/pack-objects.c:2752
 msgid "Counting objects"
 msgstr "Comptant els objectes"
 
@@ -8689,49 +8955,53 @@
 msgid "cannot prune in a precious-objects repo"
 msgstr "no es pot podar en un dipòsit d'objectes precioses"
 
-#: builtin/pull.c:69
+#: builtin/pull.c:72
 msgid "git pull [<options>] [<repository> [<refspec>...]]"
 msgstr "git pull [opcions] [<dipòsit> [<especificació-de-referència>...]]"
 
-#: builtin/pull.c:113
+#: builtin/pull.c:117
 msgid "Options related to merging"
 msgstr "Opcions relacionades amb fusionar"
 
-#: builtin/pull.c:116
+#: builtin/pull.c:120
 msgid "incorporate changes by rebasing rather than merging"
 msgstr "incorpora els canvis per rebasar en lloc de fusionar"
 
-#: builtin/pull.c:140 builtin/revert.c:105
+#: builtin/pull.c:144 builtin/revert.c:105
 msgid "allow fast-forward"
 msgstr "permet l'avanç ràpid"
 
-#: builtin/pull.c:146
+#: builtin/pull.c:150
 msgid "verify that the named commit has a valid GPG signature"
 msgstr "verifica que la comissió anomenada tingui una firma GPG vàlida"
 
-#: builtin/pull.c:160
+#: builtin/pull.c:164
 msgid "Options related to fetching"
 msgstr "Opcions relacionades amb obtenir"
 
-#: builtin/pull.c:268
+#: builtin/pull.c:186
+msgid "number of submodules pulled in parallel"
+msgstr "nombre de submòduls baixats en paral·lel"
+
+#: builtin/pull.c:275
 #, c-format
 msgid "Invalid value for pull.ff: %s"
 msgstr "Valor no vàlid per a pull.ff: %s"
 
-#: builtin/pull.c:352
+#: builtin/pull.c:359
 msgid "Cannot pull with rebase: You have unstaged changes."
 msgstr "No es pot baixar amb rebasament: Teniu canvis no allistats."
 
-#: builtin/pull.c:358
+#: builtin/pull.c:365
 msgid "Additionally, your index contains uncommitted changes."
 msgstr "Addicionalment, el vostre índex conté canvis sense cometre."
 
-#: builtin/pull.c:360
+#: builtin/pull.c:367
 msgid "Cannot pull with rebase: Your index contains uncommitted changes."
 msgstr ""
 "No es pot baixar amb rebasament: El vostre índex conté canvis sense cometre."
 
-#: builtin/pull.c:436
+#: builtin/pull.c:443
 msgid ""
 "There is no candidate for rebasing against among the refs that you just "
 "fetched."
@@ -8739,13 +9009,13 @@
 "No hi ha cap candidat sobre el qual rebasar entre les referències que acabeu "
 "d'obtenir."
 
-#: builtin/pull.c:438
+#: builtin/pull.c:445
 msgid ""
 "There are no candidates for merging among the refs that you just fetched."
 msgstr ""
 "No hi ha candidats per a fusionar entre les referències que acabeu d'obtenir."
 
-#: builtin/pull.c:439
+#: builtin/pull.c:446
 msgid ""
 "Generally this means that you provided a wildcard refspec which had no\n"
 "matches on the remote end."
@@ -8753,7 +9023,7 @@
 "Generalment això vol dir que heu proveït una especificació de\n"
 "referència de comodí que no tenia cap coincidència en el costat remot."
 
-#: builtin/pull.c:442
+#: builtin/pull.c:449
 #, c-format
 msgid ""
 "You asked to pull from the remote '%s', but did not specify\n"
@@ -8764,27 +9034,27 @@
 "Perquè aquest no és el remot configurat per defecte per a la vostra\n"
 "branca actual, heu d'especificar una branca en la línia d'ordres."
 
-#: builtin/pull.c:447
+#: builtin/pull.c:454
 msgid "You are not currently on a branch."
 msgstr "Actualment no sou en cap branca."
 
-#: builtin/pull.c:449 builtin/pull.c:464
+#: builtin/pull.c:456 builtin/pull.c:471
 msgid "Please specify which branch you want to rebase against."
 msgstr "Si us plau, especifiqueu sobre què branca voleu rebasar."
 
-#: builtin/pull.c:451 builtin/pull.c:466
+#: builtin/pull.c:458 builtin/pull.c:473
 msgid "Please specify which branch you want to merge with."
 msgstr "Si us plau, especifiqueu amb què branca voleu fusionar."
 
-#: builtin/pull.c:452 builtin/pull.c:467
+#: builtin/pull.c:459 builtin/pull.c:474
 msgid "See git-pull(1) for details."
 msgstr "Vegeu git-pull(1) per detalls."
 
-#: builtin/pull.c:462
+#: builtin/pull.c:469
 msgid "There is no tracking information for the current branch."
 msgstr "No hi ha cap informació de seguiment per a la branca actual."
 
-#: builtin/pull.c:471
+#: builtin/pull.c:478
 #, c-format
 msgid ""
 "If you wish to set tracking information for this branch you can do so with:\n"
@@ -8796,7 +9066,7 @@
 "\n"
 "    git branch --set-upstream-to=%s/<branca> %s\n"
 
-#: builtin/pull.c:476
+#: builtin/pull.c:483
 #, c-format
 msgid ""
 "Your configuration specifies to merge with the ref '%s'\n"
@@ -8805,11 +9075,11 @@
 "La vostra configuració especifica fusionar amb la referència '%s'\n"
 "del remot, però no s'ha obtingut tal referència."
 
-#: builtin/pull.c:830
+#: builtin/pull.c:841
 msgid "Updating an unborn branch with changes added to the index."
 msgstr "Actualitzant una branca no nascuda amb canvis afegits a l'índex."
 
-#: builtin/pull.c:859
+#: builtin/pull.c:870
 #, c-format
 msgid ""
 "fetch updated the current branch head.\n"
@@ -8820,7 +9090,7 @@
 "avançant ràpidament el vostre arbre de treball des de\n"
 "la comissió %s."
 
-#: builtin/pull.c:864
+#: builtin/pull.c:875
 #, c-format
 msgid ""
 "Cannot fast-forward your working tree.\n"
@@ -8838,11 +9108,11 @@
 "$ git reset --hard\n"
 "per a recuperar."
 
-#: builtin/pull.c:879
+#: builtin/pull.c:890
 msgid "Cannot merge multiple branches into empty head."
 msgstr "No es pot fusionar múltiples branques a un cap buit."
 
-#: builtin/pull.c:883
+#: builtin/pull.c:894
 msgid "Cannot rebase onto multiple branches."
 msgstr "No es pot rebasar sobre múltiples branques."
 
@@ -8850,15 +9120,15 @@
 msgid "git push [<options>] [<repository> [<refspec>...]]"
 msgstr "git push [<opcions>] [<dipòsit> [<especificació-de-referència>...]]"
 
-#: builtin/push.c:88
+#: builtin/push.c:89
 msgid "tag shorthand without <tag>"
 msgstr "abreviatura d'etiqueta sense <tag>"
 
-#: builtin/push.c:98
+#: builtin/push.c:99
 msgid "--delete only accepts plain target ref names"
 msgstr "--delete només accepta noms de referència de destí senzills"
 
-#: builtin/push.c:142
+#: builtin/push.c:143
 msgid ""
 "\n"
 "To choose either option permanently, see push.default in 'git help config'."
@@ -8867,7 +9137,7 @@
 "Per a triar qualsevulla opció permanentment, vegeu push.default a 'git help "
 "config'."
 
-#: builtin/push.c:145
+#: builtin/push.c:146
 #, c-format
 msgid ""
 "The upstream branch of your current branch does not match\n"
@@ -8892,7 +9162,7 @@
 "    git push %s %s\n"
 "%s"
 
-#: builtin/push.c:160
+#: builtin/push.c:161
 #, c-format
 msgid ""
 "You are not currently on a branch.\n"
@@ -8907,7 +9177,7 @@
 "\n"
 "    git push %s HEAD:<nom-de-branca-remota>\n"
 
-#: builtin/push.c:174
+#: builtin/push.c:175
 #, c-format
 msgid ""
 "The current branch %s has no upstream branch.\n"
@@ -8920,12 +9190,12 @@
 "\n"
 "    git push --set-upstream %s %s\n"
 
-#: builtin/push.c:182
+#: builtin/push.c:183
 #, c-format
 msgid "The current branch %s has multiple upstream branches, refusing to push."
 msgstr "La branca actual %s té múltiples branques fonts, refusant pujar."
 
-#: builtin/push.c:185
+#: builtin/push.c:186
 #, c-format
 msgid ""
 "You are pushing to remote '%s', which is not the upstream of\n"
@@ -8936,61 +9206,14 @@
 "branca actual '%s', sense dir-me què pujar per a actualitzar\n"
 "quina branca remota."
 
-#: builtin/push.c:208
-msgid ""
-"push.default is unset; its implicit value has changed in\n"
-"Git 2.0 from 'matching' to 'simple'. To squelch this message\n"
-"and maintain the traditional behavior, use:\n"
-"\n"
-"  git config --global push.default matching\n"
-"\n"
-"To squelch this message and adopt the new behavior now, use:\n"
-"\n"
-"  git config --global push.default simple\n"
-"\n"
-"When push.default is set to 'matching', git will push local branches\n"
-"to the remote branches that already exist with the same name.\n"
-"\n"
-"Since Git 2.0, Git defaults to the more conservative 'simple'\n"
-"behavior, which only pushes the current branch to the corresponding\n"
-"remote branch that 'git pull' uses to update the current branch.\n"
-"\n"
-"See 'git help config' and search for 'push.default' for further "
-"information.\n"
-"(the 'simple' mode was introduced in Git 1.7.11. Use the similar mode\n"
-"'current' instead of 'simple' if you sometimes use older versions of Git)"
-msgstr ""
-"push.default no està establert; el seu valor implícit s'ha\n"
-"canviat en el Git 2.0 de 'matching' a 'simple'. Per a suprimir\n"
-"aquest missatge i mantenir el comportament tradicional,\n"
-"useu:\n"
-"\n"
-"  git config --global push.default matching\n"
-"\n"
-"Per a suprimir aquest missatge i adoptar el comportament nou ara, useu:\n"
-"\n"
-"  git config --global push.default simple\n"
-"\n"
-"Quan push.default és 'matching', git pujarà les branques locals a les\n"
-"branques remotes que ja existeixen amb el mateix nom.\n"
-"\n"
-"Des del Git 2.0, el Git per defecte té el comportament més\n"
-"conservatiu 'simple', que només puja la branca actual a la branca\n"
-"corresponent que 'git pull' usa per a actualitzar la branca actual.\n"
-"\n"
-"Vegeu 'git help config' i cerqueu 'push.default' per a més informació.\n"
-"(s'ha introduït el mode 'simple' en el Git 1.7.11. Useu el mode similar\n"
-"'current' en lloc de 'simple' si a vegades useu versions més antigues\n"
-"del Git)"
-
-#: builtin/push.c:275
+#: builtin/push.c:242
 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:282
+#: builtin/push.c:249
 msgid ""
 "Updates were rejected because the tip of your current branch is behind\n"
 "its remote counterpart. Integrate the remote changes (e.g.\n"
@@ -9002,7 +9225,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:288
+#: builtin/push.c:255
 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"
@@ -9015,7 +9238,7 @@
 "abans de pujar de nou.\n"
 "Vegeu la 'Nota sobre avanços ràpids' a 'git push --help' per detalls."
 
-#: builtin/push.c:294
+#: builtin/push.c:261
 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"
@@ -9030,12 +9253,12 @@
 "pujar de nou.\n"
 "Vegeu la 'Nota sobre avanços ràpids' a 'git push --help' per detalls."
 
-#: builtin/push.c:301
+#: builtin/push.c:268
 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:304
+#: builtin/push.c:271
 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"
@@ -9046,22 +9269,22 @@
 "fer que assenyali un objecte no de comissió, sense usar l'opció\n"
 "'--force'.\n"
 
-#: builtin/push.c:363
+#: builtin/push.c:331
 #, c-format
 msgid "Pushing to %s\n"
 msgstr "Pujant a %s\n"
 
-#: builtin/push.c:367
+#: builtin/push.c:335
 #, c-format
 msgid "failed to push some refs to '%s'"
 msgstr "s'ha fallat en pujar algunes referències a '%s'"
 
-#: builtin/push.c:397
+#: builtin/push.c:365
 #, c-format
 msgid "bad repository '%s'"
 msgstr "dipòsit dolent '%s'"
 
-#: builtin/push.c:398
+#: builtin/push.c:366
 msgid ""
 "No configured push destination.\n"
 "Either specify the URL from the command-line or configure a remote "
@@ -9083,104 +9306,100 @@
 "\n"
 "    git push <nom>\n"
 
-#: builtin/push.c:413
+#: builtin/push.c:381
 msgid "--all and --tags are incompatible"
 msgstr "--all i --tags són incompatibles"
 
-#: builtin/push.c:414
+#: builtin/push.c:382
 msgid "--all can't be combined with refspecs"
 msgstr "--all no es pot combinar amb especificacions de referència"
 
-#: builtin/push.c:419
+#: builtin/push.c:387
 msgid "--mirror and --tags are incompatible"
 msgstr "--mirror i --tags són incompatibles"
 
-#: builtin/push.c:420
+#: builtin/push.c:388
 msgid "--mirror can't be combined with refspecs"
 msgstr "--mirror no es pot combinar amb especificacions de referència"
 
-#: builtin/push.c:425
+#: builtin/push.c:393
 msgid "--all and --mirror are incompatible"
 msgstr "--all i --mirror són incompatibles"
 
-#: builtin/push.c:537
+#: builtin/push.c:505
 msgid "repository"
 msgstr "dipòsit"
 
-#: builtin/push.c:538 builtin/send-pack.c:161
+#: builtin/push.c:506 builtin/send-pack.c:161
 msgid "push all refs"
 msgstr "puja totes les referències"
 
-#: builtin/push.c:539 builtin/send-pack.c:163
+#: builtin/push.c:507 builtin/send-pack.c:163
 msgid "mirror all refs"
 msgstr "reflecteix totes les referències"
 
-#: builtin/push.c:541
+#: builtin/push.c:509
 msgid "delete refs"
 msgstr "suprimeix les referències"
 
-#: builtin/push.c:542
+#: builtin/push.c:510
 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:545 builtin/send-pack.c:164
+#: builtin/push.c:513 builtin/send-pack.c:164
 msgid "force updates"
 msgstr "força les actualitzacions"
 
-#: builtin/push.c:547 builtin/send-pack.c:175
+#: builtin/push.c:515 builtin/send-pack.c:175
 msgid "refname>:<expect"
 msgstr "nom-de-referència>:<esperat"
 
-#: builtin/push.c:548 builtin/send-pack.c:176
+#: builtin/push.c:516 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:550
-msgid "check|on-demand|no"
-msgstr "comprova|sota demanda|no"
-
-#: builtin/push.c:551
+#: builtin/push.c:519
 msgid "control recursive pushing of submodules"
 msgstr "controla la pujada recursiva dels submòduls"
 
-#: builtin/push.c:553 builtin/send-pack.c:169
+#: builtin/push.c:521 builtin/send-pack.c:169
 msgid "use thin pack"
 msgstr "usa el paquet prim"
 
-#: builtin/push.c:554 builtin/push.c:555 builtin/send-pack.c:158
+#: builtin/push.c:522 builtin/push.c:523 builtin/send-pack.c:158
 #: builtin/send-pack.c:159
 msgid "receive pack program"
 msgstr "programa que rep els paquets"
 
-#: builtin/push.c:556
+#: builtin/push.c:524
 msgid "set upstream for git pull/status"
 msgstr "estableix la font per a git pull/status"
 
-#: builtin/push.c:559
+#: builtin/push.c:527
 msgid "prune locally removed refs"
 msgstr "poda les referències eliminades localment"
 
-#: builtin/push.c:561
+#: builtin/push.c:529
 msgid "bypass pre-push hook"
 msgstr "evita el ganxo de prepujada"
 
-#: builtin/push.c:562
+#: builtin/push.c:530
 msgid "push missing but relevant tags"
 msgstr "puja les etiquetes absents però rellevants"
 
-#: builtin/push.c:565 builtin/send-pack.c:166
+#: builtin/push.c:533 builtin/send-pack.c:166
 msgid "GPG sign the push"
 msgstr "firma la pujada amb GPG"
 
-#: builtin/push.c:567 builtin/send-pack.c:170
+#: builtin/push.c:535 builtin/send-pack.c:170
 msgid "request atomic transaction on remote side"
 msgstr "demana una transacció atòmica al costat remot"
 
-#: builtin/push.c:577
+#: builtin/push.c:549
 msgid "--delete is incompatible with --all, --mirror and --tags"
 msgstr "--delete és incompatible amb --all, --mirror i --tags"
 
-#: builtin/push.c:579
+#: builtin/push.c:551
 msgid "--delete doesn't make sense without any refs"
 msgstr "--delete no té sentit sense referències"
 
@@ -9258,12 +9477,12 @@
 msgid "debug unpack-trees"
 msgstr "depura unpack-trees"
 
-#: builtin/reflog.c:428
+#: builtin/reflog.c:423
 #, c-format
 msgid "'%s' for '%s' is not a valid timestamp"
 msgstr "'%s' per a '%s' no és una marca de temps vàlida"
 
-#: builtin/reflog.c:545 builtin/reflog.c:550
+#: builtin/reflog.c:540 builtin/reflog.c:545
 #, c-format
 msgid "'%s' is not a valid timestamp"
 msgstr "'%s' no és una marca de temps vàlida"
@@ -9406,56 +9625,46 @@
 msgstr ""
 "especificar les branques a seguir té sentit només amb miralls d'obtenció"
 
-#: builtin/remote.c:193 builtin/remote.c:643
+#: builtin/remote.c:190 builtin/remote.c:633
 #, c-format
 msgid "remote %s already exists."
 msgstr "el remot %s ja existeix."
 
-#: builtin/remote.c:197 builtin/remote.c:647
+#: builtin/remote.c:194 builtin/remote.c:637
 #, c-format
 msgid "'%s' is not a valid remote name"
 msgstr "'%s' no és un nom de remot vàlid"
 
-#: builtin/remote.c:241
+#: builtin/remote.c:234
 #, c-format
 msgid "Could not setup master '%s'"
 msgstr "No s'ha pogut configurar la mestra '%s'"
 
-#: builtin/remote.c:341
+#: builtin/remote.c:336
 #, c-format
 msgid "Could not get fetch map for refspec %s"
 msgstr ""
 "No s'ha pogut obtenir el mapa d'obtenció de l'especificació de referència %s"
 
-#: builtin/remote.c:442 builtin/remote.c:450
+#: builtin/remote.c:437 builtin/remote.c:445
 msgid "(matching)"
 msgstr "(coincident)"
 
-#: builtin/remote.c:454
+#: builtin/remote.c:449
 msgid "(delete)"
 msgstr "(suprimir)"
 
-#: builtin/remote.c:594 builtin/remote.c:600 builtin/remote.c:606
-#, c-format
-msgid "Could not append '%s' to '%s'"
-msgstr "No s'ha pogut annexar '%s' a '%s'"
-
-#: builtin/remote.c:636 builtin/remote.c:775 builtin/remote.c:875
+#: builtin/remote.c:626 builtin/remote.c:761 builtin/remote.c:858
 #, c-format
 msgid "No such remote: %s"
 msgstr "No hi ha tal remot: %s"
 
-#: builtin/remote.c:653
+#: builtin/remote.c:643
 #, c-format
 msgid "Could not rename config section '%s' to '%s'"
 msgstr "No s'ha pogut canviar el nom de la secció de configuració '%s' a '%s'"
 
-#: builtin/remote.c:659 builtin/remote.c:827
-#, c-format
-msgid "Could not remove config section '%s'"
-msgstr "No s'ha pogut eliminar la secció de configuració '%s'"
-
-#: builtin/remote.c:674
+#: builtin/remote.c:663
 #, c-format
 msgid ""
 "Not updating non-default fetch refspec\n"
@@ -9466,27 +9675,17 @@
 "\t%s\n"
 "\tSi us plau, actualitzeu la configuració manualment si és necessari."
 
-#: builtin/remote.c:680
-#, c-format
-msgid "Could not append '%s'"
-msgstr "No s'ha pogut annexar '%s'"
-
-#: builtin/remote.c:691
-#, c-format
-msgid "Could not set '%s'"
-msgstr "No s'ha pogut establir '%s'"
-
-#: builtin/remote.c:713
+#: builtin/remote.c:699
 #, c-format
 msgid "deleting '%s' failed"
 msgstr "la supressió de '%s' ha fallat"
 
-#: builtin/remote.c:747
+#: builtin/remote.c:733
 #, c-format
 msgid "creating '%s' failed"
 msgstr "la creació de '%s' ha fallat"
 
-#: builtin/remote.c:813
+#: builtin/remote.c:796
 msgid ""
 "Note: A branch outside the refs/remotes/ hierarchy was not removed;\n"
 "to delete it, use:"
@@ -9501,278 +9700,283 @@
 "eliminat;\n"
 "per a suprimir-les, useu:"
 
-#: builtin/remote.c:928
+#: builtin/remote.c:810
+#, c-format
+msgid "Could not remove config section '%s'"
+msgstr "No s'ha pogut eliminar la secció de configuració '%s'"
+
+#: builtin/remote.c:911
 #, c-format
 msgid " new (next fetch will store in remotes/%s)"
 msgstr " nou (la pròxima obtenció emmagatzemarà a remotes/%s)"
 
-#: builtin/remote.c:931
+#: builtin/remote.c:914
 msgid " tracked"
 msgstr " seguit"
 
-#: builtin/remote.c:933
+#: builtin/remote.c:916
 msgid " stale (use 'git remote prune' to remove)"
 msgstr " estancat (useu 'git remote prune' per a eliminar)"
 
-#: builtin/remote.c:935
+#: builtin/remote.c:918
 msgid " ???"
 msgstr " ???"
 
-#: builtin/remote.c:976
+#: builtin/remote.c:959
 #, 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"
 
-#: builtin/remote.c:983
+#: builtin/remote.c:967
 #, c-format
-msgid "rebases onto remote %s"
-msgstr "es rebasa sobre el remot %s"
+msgid "rebases interactively onto remote %s"
+msgstr "es rebasa interactivament sobre el remot %s"
 
-#: builtin/remote.c:986
+#: builtin/remote.c:971
 #, c-format
 msgid " merges with remote %s"
 msgstr "es fusiona amb el remot %s"
 
-#: builtin/remote.c:987
+#: builtin/remote.c:972
 msgid "    and with remote"
 msgstr "    i amb el remot"
 
-#: builtin/remote.c:989
+#: builtin/remote.c:974
 #, c-format
 msgid "merges with remote %s"
 msgstr "es fusiona amb el remot %s"
 
-#: builtin/remote.c:990
+#: builtin/remote.c:975
 msgid "   and with remote"
 msgstr "   i amb el remot"
 
-#: builtin/remote.c:1036
+#: builtin/remote.c:1021
 msgid "create"
 msgstr "crea"
 
-#: builtin/remote.c:1039
+#: builtin/remote.c:1024
 msgid "delete"
 msgstr "suprimeix"
 
-#: builtin/remote.c:1043
+#: builtin/remote.c:1028
 msgid "up to date"
 msgstr "al dia"
 
-#: builtin/remote.c:1046
+#: builtin/remote.c:1031
 msgid "fast-forwardable"
 msgstr "avanç ràpid possible"
 
-#: builtin/remote.c:1049
+#: builtin/remote.c:1034
 msgid "local out of date"
 msgstr "local no actualitzat"
 
-#: builtin/remote.c:1056
+#: builtin/remote.c:1041
 #, c-format
 msgid "    %-*s forces to %-*s (%s)"
 msgstr "    %-*s força a %-*s (%s)"
 
-#: builtin/remote.c:1059
+#: builtin/remote.c:1044
 #, c-format
 msgid "    %-*s pushes to %-*s (%s)"
 msgstr "    %-*s puja a %-*s (%s)"
 
-#: builtin/remote.c:1063
+#: builtin/remote.c:1048
 #, c-format
 msgid "    %-*s forces to %s"
 msgstr "    %-*s força a %s"
 
-#: builtin/remote.c:1066
+#: builtin/remote.c:1051
 #, c-format
 msgid "    %-*s pushes to %s"
 msgstr "    %-*s puja a %s"
 
-#: builtin/remote.c:1134
+#: builtin/remote.c:1119
 msgid "do not query remotes"
 msgstr "no consultis els remots"
 
-#: builtin/remote.c:1161
+#: builtin/remote.c:1146
 #, c-format
 msgid "* remote %s"
 msgstr "* remot %s"
 
-#: builtin/remote.c:1162
+#: builtin/remote.c:1147
 #, c-format
 msgid "  Fetch URL: %s"
 msgstr "  URL d'obtenció: %s"
 
-#: builtin/remote.c:1163 builtin/remote.c:1314
+#: builtin/remote.c:1148 builtin/remote.c:1299
 msgid "(no URL)"
 msgstr "(sense URL)"
 
-#: builtin/remote.c:1172 builtin/remote.c:1174
+#: builtin/remote.c:1157 builtin/remote.c:1159
 #, c-format
 msgid "  Push  URL: %s"
 msgstr "  URL de pujada: %s"
 
-#: builtin/remote.c:1176 builtin/remote.c:1178 builtin/remote.c:1180
+#: builtin/remote.c:1161 builtin/remote.c:1163 builtin/remote.c:1165
 #, c-format
 msgid "  HEAD branch: %s"
 msgstr "  Branca de HEAD: %s"
 
-#: builtin/remote.c:1182
+#: builtin/remote.c:1167
 #, c-format
 msgid ""
 "  HEAD branch (remote HEAD is ambiguous, may be one of the following):\n"
 msgstr ""
 "  Branca de HEAD (el HEAD remot és ambigu, pot ser un dels següents):\n"
 
-#: builtin/remote.c:1194
+#: builtin/remote.c:1179
 #, c-format
 msgid "  Remote branch:%s"
 msgid_plural "  Remote branches:%s"
 msgstr[0] "  Branca remota:%s"
 msgstr[1] "  Branques remotes:%s"
 
-#: builtin/remote.c:1197 builtin/remote.c:1224
+#: builtin/remote.c:1182 builtin/remote.c:1209
 msgid " (status not queried)"
 msgstr " (estat no consultat)"
 
-#: builtin/remote.c:1206
+#: builtin/remote.c:1191
 msgid "  Local branch configured for 'git pull':"
 msgid_plural "  Local branches configured for 'git pull':"
 msgstr[0] "  Branca local configurada per a 'git pull':"
 msgstr[1] "  Branques locals configurades per a 'git pull':"
 
-#: builtin/remote.c:1214
+#: builtin/remote.c:1199
 msgid "  Local refs will be mirrored by 'git push'"
 msgstr "  'git push' reflectirà les referències locals"
 
-#: builtin/remote.c:1221
+#: builtin/remote.c:1206
 #, c-format
 msgid "  Local ref configured for 'git push'%s:"
 msgid_plural "  Local refs configured for 'git push'%s:"
 msgstr[0] "  Referència local configurada per a 'git push'%s:"
 msgstr[1] "  Referències locals configurades per a 'git push'%s:"
 
-#: builtin/remote.c:1242
+#: builtin/remote.c:1227
 msgid "set refs/remotes/<name>/HEAD according to remote"
 msgstr "estableix refs/remotes/<name>/HEAD segons el remot"
 
-#: builtin/remote.c:1244
+#: builtin/remote.c:1229
 msgid "delete refs/remotes/<name>/HEAD"
 msgstr "suprimeix refs/remotes/<name>/HEAD"
 
-#: builtin/remote.c:1259
+#: builtin/remote.c:1244
 msgid "Cannot determine remote HEAD"
 msgstr "No es pot determinar el HEAD remot"
 
-#: builtin/remote.c:1261
+#: builtin/remote.c:1246
 msgid "Multiple remote HEAD branches. Please choose one explicitly with:"
 msgstr ""
 "Múltiples branques de HEAD remotes. Si us plau, trieu-ne una explícitament "
 "amb:"
 
-#: builtin/remote.c:1271
+#: builtin/remote.c:1256
 #, c-format
 msgid "Could not delete %s"
 msgstr "No s'ha pogut suprimir %s"
 
-#: builtin/remote.c:1279
+#: builtin/remote.c:1264
 #, c-format
 msgid "Not a valid ref: %s"
 msgstr "No és una referència vàlida: %s"
 
-#: builtin/remote.c:1281
+#: builtin/remote.c:1266
 #, c-format
 msgid "Could not setup %s"
 msgstr "No s'ha pogut configurar %s"
 
-#: builtin/remote.c:1299
+#: builtin/remote.c:1284
 #, c-format
 msgid " %s will become dangling!"
 msgstr " %s es tornarà penjant!"
 
-#: builtin/remote.c:1300
+#: builtin/remote.c:1285
 #, c-format
 msgid " %s has become dangling!"
 msgstr " %s s'ha tornat penjant!"
 
-#: builtin/remote.c:1310
+#: builtin/remote.c:1295
 #, c-format
 msgid "Pruning %s"
 msgstr "Podant %s"
 
-#: builtin/remote.c:1311
+#: builtin/remote.c:1296
 #, c-format
 msgid "URL: %s"
 msgstr "URL: %s"
 
-#: builtin/remote.c:1327
+#: builtin/remote.c:1312
 #, c-format
 msgid " * [would prune] %s"
 msgstr " * [podaria] %s"
 
-#: builtin/remote.c:1330
+#: builtin/remote.c:1315
 #, c-format
 msgid " * [pruned] %s"
 msgstr " * [podat] %s"
 
-#: builtin/remote.c:1375
+#: builtin/remote.c:1360
 msgid "prune remotes after fetching"
 msgstr "poda els remots després d'obtenir-los"
 
-#: builtin/remote.c:1441 builtin/remote.c:1498 builtin/remote.c:1566
+#: builtin/remote.c:1423 builtin/remote.c:1477 builtin/remote.c:1545
 #, c-format
 msgid "No such remote '%s'"
 msgstr "No hi ha tal remot '%s'"
 
-#: builtin/remote.c:1461
+#: builtin/remote.c:1439
 msgid "add branch"
 msgstr "afegeix branca"
 
-#: builtin/remote.c:1468
+#: builtin/remote.c:1446
 msgid "no remote specified"
 msgstr "cap remot especificat"
 
-#: builtin/remote.c:1485
+#: builtin/remote.c:1463
 msgid "query push URLs rather than fetch URLs"
 msgstr "consulta els URL de pujada en lloc dels URL d'obteniment"
 
-#: builtin/remote.c:1487
+#: builtin/remote.c:1465
 msgid "return all URLs"
 msgstr "retorna tots els URL"
 
-#: builtin/remote.c:1515
+#: builtin/remote.c:1493
 #, c-format
 msgid "no URLs configured for remote '%s'"
 msgstr "cap URL configurat per al remot '%s'"
 
-#: builtin/remote.c:1541
+#: builtin/remote.c:1519
 msgid "manipulate push URLs"
 msgstr "manipula els URL de pujada"
 
-#: builtin/remote.c:1543
+#: builtin/remote.c:1521
 msgid "add URL"
 msgstr "afegeix URL"
 
-#: builtin/remote.c:1545
+#: builtin/remote.c:1523
 msgid "delete URLs"
 msgstr "suprimeix URLs"
 
-#: builtin/remote.c:1552
+#: builtin/remote.c:1530
 msgid "--add --delete doesn't make sense"
 msgstr "--add --delete no té sentit"
 
-#: builtin/remote.c:1592
+#: builtin/remote.c:1571
 #, c-format
 msgid "Invalid old URL pattern: %s"
 msgstr "Patró d'URL antic no vàlid: %s"
 
-#: builtin/remote.c:1600
+#: builtin/remote.c:1579
 #, c-format
 msgid "No such URL found: %s"
 msgstr "No s'ha trobat tal URL: %s"
 
-#: builtin/remote.c:1602
+#: builtin/remote.c:1581
 msgid "Will not delete all non-push URLs"
 msgstr "No se suprimiran tots els URL no de pujada"
 
-#: builtin/remote.c:1616
+#: builtin/remote.c:1595
 msgid "be verbose; must be placed before a subcommand"
 msgstr "sigues detallat; s'ha de col·locar abans d'una subordre"
 
@@ -10077,7 +10281,7 @@
 msgid "Could not write new index file."
 msgstr "No s'ha pogut escriure el fitxer d'índex nou."
 
-#: builtin/rev-list.c:354
+#: builtin/rev-list.c:350
 msgid "rev-list does not support display of notes"
 msgstr "el rev-list no permet mostrar notes"
 
@@ -10333,29 +10537,24 @@
 msgid "git shortlog [<options>] [<revision-range>] [[--] [<path>...]]"
 msgstr "git shortlog [<opcions>] [<rang-de-revisions>] [[--] [<camí>...]]"
 
-#: builtin/shortlog.c:131
-#, c-format
-msgid "Missing author: %s"
-msgstr "Manca l'autor: %s"
-
-#: builtin/shortlog.c:230
+#: builtin/shortlog.c:242
 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:232
+#: builtin/shortlog.c:244
 msgid "Suppress commit descriptions, only provides commit count"
 msgstr ""
 "Omet les descripcions de comissió, només proveeix el recompte de comissions"
 
-#: builtin/shortlog.c:234
+#: builtin/shortlog.c:246
 msgid "Show the email address of each author"
 msgstr "Mostra l'adreça de correu electrònic de cada autor"
 
-#: builtin/shortlog.c:235
+#: builtin/shortlog.c:247
 msgid "w[,i1[,i2]]"
 msgstr "w[,i1[,i2]]"
 
-#: builtin/shortlog.c:236
+#: builtin/shortlog.c:248
 msgid "Linewrap output"
 msgstr "Ajusta les línies de la sortida"
 
@@ -10499,43 +10698,43 @@
 "salta i elimina totes les línies començant amb el caràcter de comentari"
 
 #: builtin/stripspace.c:38
-msgid "prepend comment character and blank to each line"
-msgstr "anteposa el caràcter de comentari i espai blanc a cada línia"
+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:79 builtin/submodule--helper.c:167
+#: builtin/submodule--helper.c:73 builtin/submodule--helper.c:161
 msgid "alternative anchor for relative paths"
 msgstr "àncora alternativa per als camins relatius"
 
-#: builtin/submodule--helper.c:84
+#: builtin/submodule--helper.c:78
 msgid "git submodule--helper list [--prefix=<path>] [<path>...]"
 msgstr "git submodule--helper list [--prefix=<camí>] [<camí>...]"
 
-#: builtin/submodule--helper.c:114
+#: builtin/submodule--helper.c:108
 msgid "git submodule--helper name <path>"
 msgstr "git submodule--helper name <camí>"
 
-#: builtin/submodule--helper.c:120
+#: builtin/submodule--helper.c:114
 #, 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:170
+#: builtin/submodule--helper.c:164
 msgid "where the new submodule will be cloned to"
 msgstr "a on es clonarà el submòdul nou"
 
-#: builtin/submodule--helper.c:173
+#: builtin/submodule--helper.c:167
 msgid "name of the new submodule"
 msgstr "nom del submòdul nou"
 
-#: builtin/submodule--helper.c:176
+#: builtin/submodule--helper.c:170
 msgid "url where to clone the submodule from"
 msgstr "url del qual clonar el submòdul"
 
-#: builtin/submodule--helper.c:182
+#: builtin/submodule--helper.c:176
 msgid "depth for shallow clones"
 msgstr "profunditat dels clons superficials"
 
-#: builtin/submodule--helper.c:188
+#: builtin/submodule--helper.c:182
 msgid ""
 "git submodule--helper clone [--prefix=<path>] [--quiet] [--reference "
 "<repository>] [--name <name>] [--url <url>][--depth <depth>] [--] [<path>...]"
@@ -10544,37 +10743,37 @@
 "<dipòsit>] [--name <nom>] [--url <url>][--depth <profunditat>] [--] "
 "[<camí>...]"
 
-#: builtin/submodule--helper.c:202 builtin/submodule--helper.c:208
-#: builtin/submodule--helper.c:216
+#: builtin/submodule--helper.c:196 builtin/submodule--helper.c:202
+#: builtin/submodule--helper.c:210
 #, c-format
 msgid "could not create directory '%s'"
 msgstr "no s'ha pogut crear el directori '%s'"
 
-#: builtin/submodule--helper.c:204
+#: builtin/submodule--helper.c:198
 #, 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:227
+#: builtin/submodule--helper.c:221
 #, c-format
 msgid "cannot open file '%s'"
 msgstr "no es pot obrir el fitxer '%s'"
 
-#: builtin/submodule--helper.c:232
+#: builtin/submodule--helper.c:226
 #, c-format
 msgid "could not close file %s"
 msgstr "no s'ha pogut tancar el fitxer %s"
 
-#: builtin/submodule--helper.c:247
+#: builtin/submodule--helper.c:241
 #, 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:273
+#: builtin/submodule--helper.c:267
 msgid "fatal: submodule--helper subcommand must be called with a subcommand"
 msgstr "fatal: s'ha d'executar la subordre submodule--helper amb una subordre"
 
-#: builtin/submodule--helper.c:280
+#: builtin/submodule--helper.c:274
 #, c-format
 msgid "fatal: '%s' is not a valid submodule--helper subcommand"
 msgstr "fatal: '%s' no és una subordre vàlida de submodule--helper"
@@ -10820,200 +11019,213 @@
 msgid "Unpacking objects"
 msgstr "Desempaquetant objectes"
 
-#: builtin/update-index.c:70
+#: builtin/update-index.c:79
 #, c-format
 msgid "failed to create directory %s"
 msgstr "s'ha fallat en crear el directori %s"
 
-#: builtin/update-index.c:76
+#: builtin/update-index.c:85
 #, c-format
 msgid "failed to stat %s"
 msgstr "s'ha fallat en fer stat a %s"
 
-#: builtin/update-index.c:86
+#: builtin/update-index.c:95
 #, c-format
 msgid "failed to create file %s"
 msgstr "s'ha fallat en crear el fitxer %s"
 
-#: builtin/update-index.c:94
+#: builtin/update-index.c:103
 #, c-format
 msgid "failed to delete file %s"
 msgstr "s'ha fallat en suprimir el fitxer %s"
 
-#: builtin/update-index.c:101 builtin/update-index.c:203
+#: 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"
 
-#: builtin/update-index.c:124
+#: builtin/update-index.c:133
 #, c-format
-msgid "Testing "
-msgstr "Provant "
+msgid "Testing mtime in '%s' "
+msgstr "Provant mtime en '%s'"
 
-#: builtin/update-index.c:136
+#: builtin/update-index.c:145
 msgid "directory stat info does not change after adding a new file"
 msgstr ""
 "la informació d'stat de directori no canvia després d'afegir un fitxer nou"
 
-#: builtin/update-index.c:149
+#: builtin/update-index.c:158
 msgid "directory stat info does not change after adding a new directory"
 msgstr ""
 "la informació d'stat de directori no canvia després d'afegir un directori nou"
 
-#: builtin/update-index.c:162
+#: builtin/update-index.c:171
 msgid "directory stat info changes after updating a file"
 msgstr ""
 "la informació d'stat de directori canvia després d'actualitzar un fitxer"
 
-#: builtin/update-index.c:173
+#: builtin/update-index.c:182
 msgid "directory stat info changes after adding a file inside subdirectory"
 msgstr ""
 "la informació d'stat de directori canvia després d'afegir un fitxer dins "
 "d'un subdirectori"
 
-#: builtin/update-index.c:184
+#: builtin/update-index.c:193
 msgid "directory stat info does not change after deleting a file"
 msgstr ""
 "la informació d'stat de directori no canvia després de suprimir un fitxer"
 
-#: builtin/update-index.c:197
+#: builtin/update-index.c:206
 msgid "directory stat info does not change after deleting a directory"
 msgstr ""
 "la informació d'stat de directori no canvia després de suprimir un directori"
 
-#: builtin/update-index.c:204
+#: builtin/update-index.c:213
 msgid " OK"
 msgstr " D'acord"
 
-#: builtin/update-index.c:564
+#: builtin/update-index.c:575
 msgid "git update-index [<options>] [--] [<file>...]"
 msgstr "git update-index [<opcions>] [--] [<fitxer>...]"
 
-#: builtin/update-index.c:918
+#: builtin/update-index.c:930
 msgid "continue refresh even when index needs update"
 msgstr ""
 "continua l'actualització encara que l'índex necessiti una actualització"
 
-#: builtin/update-index.c:921
+#: builtin/update-index.c:933
 msgid "refresh: ignore submodules"
 msgstr "actualitza: ignora els submòduls"
 
-#: builtin/update-index.c:924
+#: builtin/update-index.c:936
 msgid "do not ignore new files"
 msgstr "no ignoris els fitxers nous"
 
-#: builtin/update-index.c:926
+#: builtin/update-index.c:938
 msgid "let files replace directories and vice-versa"
 msgstr "deixa que els fitxers reemplacin els directoris i viceversa"
 
-#: builtin/update-index.c:928
+#: builtin/update-index.c:940
 msgid "notice files missing from worktree"
 msgstr "tingues en compte els fitxers absents de l'arbre de treball"
 
-#: builtin/update-index.c:930
+#: builtin/update-index.c:942
 msgid "refresh even if index contains unmerged entries"
 msgstr "actualitza encara que l'índex contingui entrades no fusionades"
 
-#: builtin/update-index.c:933
+#: builtin/update-index.c:945
 msgid "refresh stat information"
 msgstr "actualitza la informació d'estadístiques"
 
-#: builtin/update-index.c:937
+#: builtin/update-index.c:949
 msgid "like --refresh, but ignore assume-unchanged setting"
 msgstr "com --refresh, però ignora l'ajust assume-unchanged"
 
-#: builtin/update-index.c:941
+#: builtin/update-index.c:953
 msgid "<mode>,<object>,<path>"
 msgstr "<mode>,<objecte>,<camí>"
 
-#: builtin/update-index.c:942
+#: builtin/update-index.c:954
 msgid "add the specified entry to the index"
 msgstr "afegeix l'entrada especificada a l'índex"
 
-#: builtin/update-index.c:946
+#: builtin/update-index.c:958
 msgid "(+/-)x"
 msgstr "(+/-)x"
 
-#: builtin/update-index.c:947
+#: builtin/update-index.c:959
 msgid "override the executable bit of the listed files"
 msgstr "passa per alt el bit executable dels fitxers llistats"
 
-#: builtin/update-index.c:951
+#: builtin/update-index.c:963
 msgid "mark files as \"not changing\""
 msgstr "marca els fitxers com a \"no canviant\""
 
-#: builtin/update-index.c:954
+#: builtin/update-index.c:966
 msgid "clear assumed-unchanged bit"
 msgstr "neteja el bit assumed-unchanged"
 
-#: builtin/update-index.c:957
+#: builtin/update-index.c:969
 msgid "mark files as \"index-only\""
 msgstr "marca els fitxers com a \"només índex\""
 
-#: builtin/update-index.c:960
+#: builtin/update-index.c:972
 msgid "clear skip-worktree bit"
 msgstr "neteja el bit skip-worktree"
 
-#: builtin/update-index.c:963
+#: builtin/update-index.c:975
 msgid "add to index only; do not add content to object database"
 msgstr ""
 "només afegeix a l'índex; no afegeixis el contingut a la base de dades "
 "d'objectes"
 
-#: builtin/update-index.c:965
+#: builtin/update-index.c:977
 msgid "remove named paths even if present in worktree"
 msgstr ""
 "elimina els camins anomenats encara que estiguin presents en l'arbre de "
 "treball"
 
-#: builtin/update-index.c:967
+#: builtin/update-index.c:979
 msgid "with --stdin: input lines are terminated by null bytes"
 msgstr "amb --stdin: les línies d'entrada acaben amb octets nuls"
 
-#: builtin/update-index.c:969
+#: builtin/update-index.c:981
 msgid "read list of paths to be updated from standard input"
 msgstr "llegeix la llista de camins a actualitzar des de l'entrada estàndard"
 
-#: builtin/update-index.c:973
+#: builtin/update-index.c:985
 msgid "add entries from standard input to the index"
 msgstr "afegeix les entrades de l'entrada estàndard a l'índex"
 
-#: builtin/update-index.c:977
+#: builtin/update-index.c:989
 msgid "repopulate stages #2 and #3 for the listed paths"
 msgstr "reemplena les etapes #2 i #3 per als camins llistats"
 
-#: builtin/update-index.c:981
+#: builtin/update-index.c:993
 msgid "only update entries that differ from HEAD"
 msgstr "només actualitza les entrades que difereixin de HEAD"
 
-#: builtin/update-index.c:985
+#: builtin/update-index.c:997
 msgid "ignore files missing from worktree"
 msgstr "ignora els fitxers absents de l'arbre de treball"
 
-#: builtin/update-index.c:988
+#: builtin/update-index.c:1000
 msgid "report actions to standard output"
 msgstr "informa de les accions en la sortida estàndard"
 
-#: builtin/update-index.c:990
+#: builtin/update-index.c:1002
 msgid "(for porcelains) forget saved unresolved conflicts"
 msgstr "(per a porcellanes) oblida't dels conflictes no resolts ni desats"
 
-#: builtin/update-index.c:994
+#: builtin/update-index.c:1006
 msgid "write index in this format"
 msgstr "escriu l'índex en aquest format"
 
-#: builtin/update-index.c:996
+#: builtin/update-index.c:1008
 msgid "enable or disable split index"
 msgstr "habilita o inhabilita l'índex dividit"
 
-#: builtin/update-index.c:998
+#: builtin/update-index.c:1010
 msgid "enable/disable untracked cache"
 msgstr "habilita/inhabilita la memòria cau no seguida"
 
-#: builtin/update-index.c:1000
+#: builtin/update-index.c:1012
+msgid "test if the filesystem supports untracked cache"
+msgstr "prova si el sistema de fitxers admet la memòria cau no seguida"
+
+#: builtin/update-index.c:1014
 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:1134
+msgid "Untracked cache disabled"
+msgstr "La memòria cau no seguida està inhabilitada"
+
+#: builtin/update-index.c:1146
+#, c-format
+msgid "Untracked cache enabled for '%s'"
+msgstr "La memòria cau no seguida està habilitada per a '%s'"
+
 #: builtin/update-ref.c:9
 msgid "git update-ref [<options>] -d <refname> [<old-val>]"
 msgstr "git update-ref [<opcions>] -d <nom-de-referència> [<valor-antic>]"
@@ -11132,33 +11344,33 @@
 msgid "'%s' already exists"
 msgstr "'%s' ja existeix"
 
-#: builtin/worktree.c:235
+#: builtin/worktree.c:233
 #, c-format
 msgid "could not create directory of '%s'"
 msgstr "no s'ha pogut crear directori de '%s'"
 
-#: builtin/worktree.c:271
+#: builtin/worktree.c:269
 #, c-format
 msgid "Preparing %s (identifier %s)"
 msgstr "Preparant %s (identificador %s)"
 
-#: builtin/worktree.c:319
+#: builtin/worktree.c:317
 msgid "checkout <branch> even if already checked out in other worktree"
 msgstr "agafa <branca> encara que sigui agafada en altre arbre de treball"
 
-#: builtin/worktree.c:321
+#: builtin/worktree.c:319
 msgid "create a new branch"
 msgstr "crea una branca nova"
 
-#: builtin/worktree.c:323
+#: builtin/worktree.c:321
 msgid "create or reset a branch"
 msgstr "crea o restableix una branca"
 
-#: builtin/worktree.c:324
+#: builtin/worktree.c:322
 msgid "detach HEAD at named commit"
 msgstr "separa el HEAD a la comissió anomenada"
 
-#: builtin/worktree.c:331
+#: builtin/worktree.c:329
 msgid "-b, -B, and --detach are mutually exclusive"
 msgstr "-b, -B i --detach són mutualment exclusius"
 
@@ -11178,7 +11390,7 @@
 msgid "only useful for debugging"
 msgstr "només útil per a la depuració"
 
-#: credential-cache--daemon.c:255
+#: credential-cache--daemon.c:262
 msgid "print debugging messages to stderr"
 msgstr "imprimeix els missatges de depuració a stderr"
 
@@ -11193,6 +11405,10 @@
 "'git help <concepte>' per a llegir sobre una subordre o concepte\n"
 "específic."
 
+#: http.c:321
+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"
+
 #: 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)"
@@ -11276,8 +11492,8 @@
 "Actualitza les referències remotes juntament amb els objectes associats"
 
 #: common-cmds.h:32
-msgid "Forward-port local commits to the updated upstream head"
-msgstr "Avança les comissions locals al cap font actualitzat"
+msgid "Reapply commits on top of another base tip"
+msgstr "Reaplica les comissions sobre un altre punt de basament"
 
 #: common-cmds.h:33
 msgid "Reset current HEAD to the specified state"
@@ -11506,7 +11722,7 @@
 #: git-bisect.sh:606
 #, sh-format
 msgid "Invalid command: you're currently in a $TERM_BAD/$TERM_GOOD bisect."
-msgstr "Ordre invàlida: actualment esteu en una bisecció $TERM_BAD/$TERM_GOOD"
+msgstr "Ordre no vàlida: actualment esteu en una bisecció $TERM_BAD/$TERM_GOOD"
 
 #: git-bisect.sh:636
 msgid "no terms defined"
@@ -11518,7 +11734,7 @@
 "invalid argument $arg for 'git bisect terms'.\n"
 "Supported options are: --term-good|--term-old and --term-bad|--term-new."
 msgstr ""
-"paràmetre invàlid $arg per a 'git bisect terms'.\n"
+"paràmetre no vàlid $arg per a 'git bisect terms'.\n"
 "Les opcions admeses són: --term-good|--term-old i --term-bad|--term-new."
 
 #: git-rebase.sh:57
@@ -11985,7 +12201,7 @@
 msgid "Submodule '$name' ($url) unregistered for path '$displaypath'"
 msgstr "Submòdul '$name' ($url) no registrat per al camí '$displaypath'"
 
-#: git-submodule.sh:705
+#: git-submodule.sh:723
 #, sh-format
 msgid ""
 "Submodule path '$displaypath' not initialized\n"
@@ -11994,53 +12210,53 @@
 "Camí de submòdul '$displaypath' no inicialitzat\n"
 "Potser voleu usar 'update --init'?"
 
-#: git-submodule.sh:718
+#: git-submodule.sh:736
 #, 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:727
+#: git-submodule.sh:745
 #, 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:751
+#: git-submodule.sh:768
 #, 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:765
+#: git-submodule.sh:788
 #, 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:766
+#: git-submodule.sh:789
 #, sh-format
 msgid "Submodule path '$displaypath': checked out '$sha1'"
 msgstr "Camí de submòdul '$displaypath': s'ha agafat '$sha1'"
 
-#: git-submodule.sh:770
+#: git-submodule.sh:793
 #, 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'"
 
-#: git-submodule.sh:771
+#: git-submodule.sh:794
 #, sh-format
 msgid "Submodule path '$displaypath': rebased into '$sha1'"
 msgstr "Camí de submòdul '$displaypath': s'ha rebasat en '$sha1'"
 
-#: git-submodule.sh:776
+#: git-submodule.sh:799
 #, 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:777
+#: git-submodule.sh:800
 #, sh-format
 msgid "Submodule path '$displaypath': merged in '$sha1'"
 msgstr "Camí de submòdul '$displaypath': s'ha fusionat en '$sha1'"
 
-#: git-submodule.sh:782
+#: git-submodule.sh:805
 #, sh-format
 msgid ""
 "Execution of '$command $sha1' failed in submodule path '$prefix$sm_path'"
@@ -12048,50 +12264,50 @@
 "L'execució de '$command $sha1' ha fallat en el camí de submòdul '$prefix"
 "$sm_path'"
 
-#: git-submodule.sh:783
+#: git-submodule.sh:806
 #, sh-format
 msgid "Submodule path '$prefix$sm_path': '$command $sha1'"
 msgstr "Camí de submòdul '$prefix$sm_path': '$command $sha1'"
 
-#: git-submodule.sh:813
+#: git-submodule.sh:836
 #, sh-format
 msgid "Failed to recurse into submodule path '$displaypath'"
 msgstr "S'ha fallat en recursar al camí de submòdul '$displaypath'"
 
-#: git-submodule.sh:921
+#: git-submodule.sh:944
 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:973
+#: git-submodule.sh:996
 #, sh-format
 msgid "unexpected mode $mod_dst"
 msgstr "mode inesperat $mod_dst"
 
-#: git-submodule.sh:993
+#: git-submodule.sh:1016
 #, 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:996
+#: git-submodule.sh:1019
 #, 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:999
+#: git-submodule.sh:1022
 #, 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:1024
+#: git-submodule.sh:1047
 msgid "blob"
 msgstr "blob"
 
-#: git-submodule.sh:1142
+#: git-submodule.sh:1165
 #, sh-format
 msgid "Failed to recurse into submodule path '$sm_path'"
 msgstr "S'ha fallat en recursar al camí de submòdul '$sm_path'"
 
-#: git-submodule.sh:1206
+#: git-submodule.sh:1229
 #, sh-format
 msgid "Synchronizing submodule url for '$displaypath'"
 msgstr "Sincronitzant l'url de submòdul per a '$displaypath'"
diff --git a/po/fr.po b/po/fr.po
index 88b0b8a..55ca387 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -2945,7 +2945,7 @@
 #: builtin/am.c:2321 builtin/commit.c:1593 builtin/merge.c:225
 #: builtin/pull.c:159 builtin/revert.c:92 builtin/tag.c:355
 msgid "key-id"
-msgstr "id de clé"
+msgstr "id-clé"
 
 #: builtin/am.c:2322
 msgid "GPG-sign commits"
@@ -4545,7 +4545,7 @@
 
 #: builtin/checkout.c:1154
 msgid "conflict style (merge or diff3)"
-msgstr "style de conflit (fusion ou diff3)"
+msgstr "style de conflit (merge (fusion) ou diff3)"
 
 #: builtin/checkout.c:1157
 msgid "do not limit pathspecs to sparse entries only"
@@ -6197,7 +6197,7 @@
 
 #: builtin/fetch.c:122 builtin/log.c:1236
 msgid "dir"
-msgstr "dir"
+msgstr "répertoire"
 
 #: builtin/fetch.c:123
 msgid "prepend this to submodule path output"
@@ -10809,11 +10809,11 @@
 
 #: builtin/show-ref.c:165
 msgid "only show tags (can be combined with heads)"
-msgstr "afficher seulement les étiquettes (peut être combiné avec des têtes)"
+msgstr "afficher seulement les étiquettes (peut être combiné avec heads)"
 
 #: builtin/show-ref.c:166
 msgid "only show heads (can be combined with tags)"
-msgstr "afficher seulement les têtes (peut être combiné avec des étiquettes)"
+msgstr "afficher seulement les têtes (peut être combiné avec tags)"
 
 #: builtin/show-ref.c:167
 msgid "stricter reference checking, requires exact ref path"
diff --git a/po/pt_PT.po b/po/pt_PT.po
index 689ad1b..321b553 100644
--- a/po/pt_PT.po
+++ b/po/pt_PT.po
@@ -2,333 +2,667 @@
 # Copyright (C) 2012 Marco Sousa <marcomsousa AT gmail.com>
 # This file is distributed under the same license as the Git package.
 # Contributers:
-#   - Marco Sousa <marcomsousa AT gmail.com>
-#
+# - Marco Sousa <marcomsousa AT gmail.com>
+# Vasco Almeida <vasco13almeida@gmail.com>, 2016.
 msgid ""
 msgstr ""
 "Project-Id-Version: Git\n"
 "Report-Msgid-Bugs-To: Git Mailing List <git@vger.kernel.org>\n"
-"POT-Creation-Date: 2012-05-08 16:06+0800\n"
-"PO-Revision-Date: 2012-05-14 21:17+0100\n"
-"Last-Translator: Marco Sousa <marcomsousa AT gmail.com>\n"
+"POT-Creation-Date: 2016-03-16 00:16+0800\n"
+"PO-Revision-Date: 2016-03-22 16:00+0000\n"
+"Last-Translator: Vasco Almeida <vasco13almeida@gmail.com>\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"
-"Language: pt\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Generator: Virtaal 0.7.1\n"
 
-#: advice.c:40
+#: advice.c:55
 #, c-format
 msgid "hint: %.*s\n"
-msgstr "dica: %.*s\n"
+msgstr "sugestão: %.*s\n"
 
-#.
-#. * Message used both when 'git commit' fails and when
-#. * other commands doing a merge do.
-#.
-#: advice.c:70
+#: advice.c:88
 msgid ""
-"Fix them up in the work tree,\n"
-"and then use 'git add/rm <file>' as\n"
-"appropriate to mark resolution and make a commit,\n"
-"or use 'git commit -a'."
+"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 ""
+"Corrija-os na árvore de trabalho e use 'git add/rm <ficheiro>'\n"
+"conforme apropriado para marcá-los como resolvidos e faça commit."
 
-#: bundle.c:36
+#: advice.c:101 builtin/merge.c:1226
+msgid "You have not concluded your merge (MERGE_HEAD exists)."
+msgstr "Merge não concluído (MERGE_HEAD presente)."
+
+#: advice.c:103
+msgid "Please, commit your changes before merging."
+msgstr "Faça commit das suas alterações antes de efetuar merge."
+
+#: advice.c:104
+msgid "Exiting because of unfinished merge."
+msgstr "A terminar por causa de merge incompleto."
+
+#: archive.c:12
+msgid "git archive [<options>] <tree-ish> [<path>...]"
+msgstr "git archive [<opções>] <árvore> [<caminho>...]"
+
+#: archive.c:13
+msgid "git archive --list"
+msgstr "git archive --list"
+
+#: archive.c:14
+msgid ""
+"git archive --remote <repo> [--exec <cmd>] [<options>] <tree-ish> [<path>...]"
+msgstr ""
+"git archive --remote <repo> [--exec <cmd>] [<opções>] <tree-ish> "
+"[<caminho>...]"
+
+#: archive.c:15
+msgid "git archive --remote <repo> [--exec <cmd>] --list"
+msgstr "git archive --remote <repo> [--exec <cmd>] --list"
+
+#: archive.c:344 builtin/add.c:137 builtin/add.c:420 builtin/rm.c:327
+#, c-format
+msgid "pathspec '%s' did not match any files"
+msgstr "o especificador de caminho '%s' não corresponde a nenhum ficheiro"
+
+#: archive.c:429
+msgid "fmt"
+msgstr "fmt"
+
+#: archive.c:429
+msgid "archive format"
+msgstr "formato do arquivo"
+
+#: archive.c:430 builtin/log.c:1232
+msgid "prefix"
+msgstr "prefixo"
+
+#: archive.c:431
+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:2547
+#: builtin/blame.c:2548 builtin/config.c:60 builtin/fast-export.c:987
+#: builtin/fast-export.c:989 builtin/grep.c:720 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
+msgid "file"
+msgstr "ficheiro"
+
+#: archive.c:433 builtin/archive.c:89
+msgid "write the archive to this file"
+msgstr "escrever o arquivo para este ficheiro"
+
+#: archive.c:435
+msgid "read .gitattributes in working directory"
+msgstr "ler .gitattributes do diretório de trabalho"
+
+#: archive.c:436
+msgid "report archived files on stderr"
+msgstr "listar ficheiros arquivados para stderr"
+
+#: archive.c:437
+msgid "store only"
+msgstr "armazenar apenas"
+
+#: archive.c:438
+msgid "compress faster"
+msgstr "compressão rápida"
+
+#: archive.c:446
+msgid "compress better"
+msgstr "compressão ótima"
+
+#: archive.c:449
+msgid "list supported archive formats"
+msgstr "listar formatos de arquivo suportados"
+
+#: archive.c:451 builtin/archive.c:90 builtin/clone.c:78
+msgid "repo"
+msgstr "repo"
+
+#: archive.c:452 builtin/archive.c:91
+msgid "retrieve the archive from remote repository <repo>"
+msgstr "obter o arquivo a partir do repositório remoto <repo>"
+
+#: archive.c:453 builtin/archive.c:92 builtin/notes.c:482
+msgid "command"
+msgstr "comando"
+
+#: archive.c:454 builtin/archive.c:93
+msgid "path to the remote git-upload-archive command"
+msgstr "caminho para o comando git-upload-archive no remoto"
+
+#: attr.c:263
+msgid ""
+"Negative patterns are ignored in git attributes\n"
+"Use '\\!' for literal leading exclamation."
+msgstr ""
+"Os padrões negativos são ignorados nos atributos do git\n"
+"Use '\\!' para uma exclamação literal à esquerda."
+
+#: branch.c:53
+#, c-format
+msgid ""
+"\n"
+"After fixing the error cause you may try to fix up\n"
+"the remote tracking information by invoking\n"
+"\"git branch --set-upstream-to=%s%s%s\"."
+msgstr ""
+"\n"
+"Após resolver a causa do problema, pode tentar corrigir\n"
+"o ramo remoto que deve ser seguido invocando\n"
+"\"git branch --set-upstream-to=%s%s%s\"."
+
+#: branch.c:67
+#, c-format
+msgid "Not setting branch %s as its own upstream."
+msgstr "O ramo %s não foi configurado com ramo a montante dele próprio."
+
+#: branch.c:93
+#, c-format
+msgid "Branch %s set up to track remote branch %s from %s by rebasing."
+msgstr "Ramo %s configurado para seguir o ramo remoto %s de %s por rebase."
+
+#: branch.c:94
+#, c-format
+msgid "Branch %s set up to track remote branch %s from %s."
+msgstr "Ramo %s configurado para seguir o ramo remoto %s de %s."
+
+#: branch.c:98
+#, c-format
+msgid "Branch %s set up to track local branch %s by rebasing."
+msgstr "Ramo %s configurado para seguir o ramo local %s por rebase."
+
+#: branch.c:99
+#, c-format
+msgid "Branch %s set up to track local branch %s."
+msgstr "Ramo %s configurado para seguir o ramo local %s."
+
+#: branch.c:104
+#, c-format
+msgid "Branch %s set up to track remote ref %s by rebasing."
+msgstr "Ramo %s configurado para seguir a referência remota %s por rebase."
+
+#: branch.c:105
+#, c-format
+msgid "Branch %s set up to track remote ref %s."
+msgstr "Ramo %s configurado para seguir a referência remota %s."
+
+#: branch.c:109
+#, c-format
+msgid "Branch %s set up to track local ref %s by rebasing."
+msgstr "Ramo %s configurado para seguir a referência local %s por rebase."
+
+#: branch.c:110
+#, c-format
+msgid "Branch %s set up to track local ref %s."
+msgstr "Ramo %s configurado para seguir a referência local %s."
+
+#: branch.c:119
+msgid "Unable to write upstream branch configuration"
+msgstr "Não foi possível escrever a configuração do ramo a montante"
+
+#: branch.c:156
+#, c-format
+msgid "Not tracking: ambiguous information for ref %s"
+msgstr "Não seguido: informação da referência %s ambígua"
+
+#: branch.c:185
+#, c-format
+msgid "'%s' is not a valid branch name."
+msgstr "'%s' não é um nome válido para um ramo."
+
+#: branch.c:190
+#, c-format
+msgid "A branch named '%s' already exists."
+msgstr "Já existe um ramo designado '%s'."
+
+#: branch.c:198
+msgid "Cannot force update the current branch."
+msgstr "Não é possível forçar a atualização do ramo atual."
+
+#: branch.c:218
+#, c-format
+msgid "Cannot setup tracking information; starting point '%s' is not a branch."
+msgstr ""
+"Não é possível configurar ramo a seguir; o ponto inicial '%s' não é um ramo."
+
+#: branch.c:220
+#, c-format
+msgid "the requested upstream branch '%s' does not exist"
+msgstr "o ramo a montante solicitado '%s' não existe"
+
+#: branch.c:222
+msgid ""
+"\n"
+"If you are planning on basing your work on an upstream\n"
+"branch that already exists at the remote, you may need to\n"
+"run \"git fetch\" to retrieve it.\n"
+"\n"
+"If you are planning to push out a new local branch that\n"
+"will track its remote counterpart, you may want to use\n"
+"\"git push -u\" to set the upstream config as you push."
+msgstr ""
+"\n"
+"Se pretende efetuar rebase do seu trabalho sobre um ramo\n"
+"a montante que já existe no remoto, pode ser necessário\n"
+"executar \"git fetch\" para obtê-lo.\n"
+"\n"
+"Se pretende publicar um novo ramo local que irá seguir\n"
+"o seu homólogo remoto, pode usar \"git push -u\" para configurar\n"
+"o respetivo ramo a montante, ao mesmo tempo que publica."
+
+#: branch.c:266
+#, c-format
+msgid "Not a valid object name: '%s'."
+msgstr "Nome de objeto inválido: '%s'."
+
+#: branch.c:286
+#, c-format
+msgid "Ambiguous object name: '%s'."
+msgstr "Nome de objeto ambíguo: '%s'."
+
+#: branch.c:291
+#, c-format
+msgid "Not a valid branch point: '%s'."
+msgstr "Ponto no ramo inválido: '%s'."
+
+#: branch.c:344
+#, c-format
+msgid "'%s' is already checked out at '%s'"
+msgstr "'%s' já extraído em '%s'"
+
+#: bundle.c:34
 #, c-format
 msgid "'%s' does not look like a v2 bundle file"
-msgstr ""
+msgstr "'%s' não parece ser um ficheiro bundle v2"
 
-#: bundle.c:63
+#: bundle.c:61
 #, c-format
 msgid "unrecognized header: %s%s (%d)"
 msgstr "cabeçalho não reconhecido: %s%s (%d)"
 
-#: bundle.c:89
-#: builtin/commit.c:753
+#: bundle.c:87 builtin/commit.c:766
 #, c-format
 msgid "could not open '%s'"
-msgstr "não é possivel abrir '%s'"
+msgstr "não é possível abrir '%s'"
 
-#: bundle.c:140
+#: bundle.c:139
 msgid "Repository lacks these prerequisite commits:"
-msgstr ""
+msgstr "O repositório não possuí estes commits pré-requisitados:"
 
-#: bundle.c:164
-#: sequencer.c:533
-#: sequencer.c:965
-#: builtin/log.c:289
-#: builtin/log.c:719
-#: builtin/log.c:1335
-#: builtin/log.c:1554
-#: builtin/merge.c:347
-#: builtin/shortlog.c:181
+#: bundle.c:163 ref-filter.c:1462 sequencer.c:627 sequencer.c:1074
+#: builtin/blame.c:2754 builtin/commit.c:1045 builtin/log.c:334
+#: builtin/log.c:852 builtin/log.c:1467 builtin/log.c:1700 builtin/merge.c:358
+#: builtin/shortlog.c:170
 msgid "revision walk setup failed"
-msgstr ""
+msgstr "falha ao configurar percurso de revisões"
 
-#: bundle.c:186
+#: bundle.c:185
 #, c-format
-msgid "The bundle contains %d ref"
-msgid_plural "The bundle contains %d refs"
-msgstr[0] ""
-msgstr[1] ""
+msgid "The bundle contains this ref:"
+msgid_plural "The bundle contains these %d refs:"
+msgstr[0] "O bundle contém esta referência:"
+msgstr[1] "O bundle contém estas %d referências:"
 
 #: bundle.c:192
+msgid "The bundle records a complete history."
+msgstr "O pacote regista um histórico completo."
+
+#: bundle.c:194
 #, c-format
-msgid "The bundle requires this ref"
-msgid_plural "The bundle requires these %d refs"
-msgstr[0] ""
-msgstr[1] ""
+msgid "The bundle requires this ref:"
+msgid_plural "The bundle requires these %d refs:"
+msgstr[0] "O bundle requer esta referência:"
+msgstr[1] "O bundle requer estas %d referências:"
 
-#: bundle.c:290
+#: bundle.c:253
+msgid "Could not spawn pack-objects"
+msgstr "Não foi possível lançar pack-objects"
+
+#: bundle.c:264
+msgid "pack-objects died"
+msgstr "pack-objects terminou inesperadamente"
+
+#: bundle.c:304
 msgid "rev-list died"
-msgstr "rev-list morreu"
+msgstr "rev-list terminou inesperadamente"
 
-#: bundle.c:296
-#: builtin/log.c:1231
-#: builtin/shortlog.c:284
+#: bundle.c:353
+#, c-format
+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:157 builtin/log.c:1372 builtin/shortlog.c:273
 #, c-format
 msgid "unrecognized argument: %s"
 msgstr "argumento não reconhecido: %s"
 
-#: bundle.c:331
-#, c-format
-msgid "ref '%s' is excluded by the rev-list options"
-msgstr ""
-
-#: bundle.c:376
+#: bundle.c:449
 msgid "Refusing to create empty bundle."
-msgstr ""
+msgstr "Criação de bundle vazio recusada."
 
-#: bundle.c:394
-msgid "Could not spawn pack-objects"
-msgstr "Não foi possível pawn pack-objects"
-
-#: bundle.c:412
-msgid "pack-objects died"
-msgstr ""
-
-#: bundle.c:415
+#: bundle.c:459
 #, c-format
 msgid "cannot create '%s'"
-msgstr "não consegue crear '%s'"
+msgstr "não é possível criar '%s'"
 
-#: bundle.c:437
+#: bundle.c:480
 msgid "index-pack died"
-msgstr ""
+msgstr "index-pack terminou inesperadamente"
 
-#: commit.c:48
+#: color.c:275
+#, c-format
+msgid "invalid color value: %.*s"
+msgstr "valor de cor inválido: %.*s"
+
+#: commit.c:40 builtin/am.c:437 builtin/am.c:473 builtin/am.c:1505
+#: builtin/am.c:2135
 #, c-format
 msgid "could not parse %s"
-msgstr "não consigo parsear %s"
+msgstr "não foi possível analisar %s"
 
-#: commit.c:50
+#: commit.c:42
 #, c-format
 msgid "%s %s is not a commit!"
 msgstr "%s %s não é um commit!"
 
-#: compat/obstack.c:406
-#: compat/obstack.c:408
+#: compat/obstack.c:406 compat/obstack.c:408
 msgid "memory exhausted"
 msgstr "memória esgotada"
 
-#: connected.c:39
+#: config.c:475 config.c:477
+#, fuzzy, c-format
+msgid "bad config line %d in %s %s"
+msgstr "linha %d de configuração incorreta em %s %s"
+
+#: config.c:593
+#, c-format
+msgid "bad numeric config value '%s' for '%s' in %s %s: %s"
+msgstr "valor numérico '%s' da configuração '%s' em %s %s incorreto: %s"
+
+#: config.c:595
+#, c-format
+msgid "bad numeric config value '%s' for '%s': %s"
+msgstr "valor numérico '%s' da configuração '%s' incorreto: %s"
+
+#: config.c:680
+#, c-format
+msgid "failed to expand user dir in: '%s'"
+msgstr "falha ao expandir diretório de utilizador em: '%s'"
+
+#: config.c:758 config.c:769
+#, c-format
+msgid "bad zlib compression level %d"
+msgstr "nível de compressão zlib %d incorreto"
+
+#: config.c:891
+#, c-format
+msgid "invalid mode for object creation: %s"
+msgstr "modo inválido para criação de objeto: %s"
+
+#: config.c:1220
+msgid "unable to parse command-line config"
+msgstr "não é possível analisar configuração de linha de comandos"
+
+#: config.c:1281
+msgid "unknown error occured while reading the configuration files"
+msgstr ""
+"ocorreu um erro desconhecido durante a leitura dos ficheiros de configuração"
+
+#: config.c:1629
+#, 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:1631
+#, 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:1690
+#, c-format
+msgid "%s has multiple values"
+msgstr "%s tem múltiplos valores"
+
+#: config.c:2226
+#, c-format
+msgid "Could not set '%s' to '%s'"
+msgstr "Não foi possível definir '%s' como '%s'"
+
+#: connected.c:69
 msgid "Could not run 'git rev-list'"
 msgstr "Não foi possível executar 'git rev-list'"
 
-#: connected.c:48
+#: connected.c:89
 #, c-format
 msgid "failed write to rev-list: %s"
-msgstr ""
+msgstr "falha ao escrever para rev-list: %s"
 
-#: connected.c:56
+#: connected.c:97
 #, c-format
 msgid "failed to close rev-list's stdin: %s"
-msgstr ""
+msgstr "falha ao fechar stdin de rev-list: %s"
 
 #: date.c:95
 msgid "in the future"
-msgstr ""
+msgstr "no futuro"
 
 #: date.c:101
 #, c-format
 msgid "%lu second ago"
 msgid_plural "%lu seconds ago"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "há %lu segundo atrás"
+msgstr[1] "há %lu segundos atrás"
 
 #: date.c:108
 #, c-format
 msgid "%lu minute ago"
 msgid_plural "%lu minutes ago"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "há %lu minuto atrás"
+msgstr[1] "há %lu minutos atrás"
 
 #: date.c:115
 #, c-format
 msgid "%lu hour ago"
 msgid_plural "%lu hours ago"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "há %lu hora atrás"
+msgstr[1] "há %lu horas atrás"
 
 #: date.c:122
 #, c-format
 msgid "%lu day ago"
 msgid_plural "%lu days ago"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "há %lu dia atrás"
+msgstr[1] "há %lu dias atrás"
 
 #: date.c:128
 #, c-format
 msgid "%lu week ago"
 msgid_plural "%lu weeks ago"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "há %lu semana atrás"
+msgstr[1] "há %lu semanas atrás"
 
 #: date.c:135
 #, c-format
 msgid "%lu month ago"
 msgid_plural "%lu months ago"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "há %lu mês atrás"
+msgstr[1] "há %lu meses atrás"
 
 #: date.c:146
 #, c-format
 msgid "%lu year"
 msgid_plural "%lu years"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "%lu ano"
+msgstr[1] "%lu anos"
 
+#. TRANSLATORS: "%s" is "<n> years"
 #: date.c:149
 #, c-format
 msgid "%s, %lu month ago"
 msgid_plural "%s, %lu months ago"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "há %s e %lu mês"
+msgstr[1] "há %s e %lu meses"
 
-#: date.c:154
-#: date.c:159
+#: date.c:154 date.c:159
 #, c-format
 msgid "%lu year ago"
 msgid_plural "%lu years ago"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "há %lu ano atrás"
+msgstr[1] "há %lu anos atrás"
 
-#: diff.c:105
+#: diffcore-order.c:24
 #, c-format
-msgid "  Failed to parse dirstat cut-off percentage '%.*s'\n"
-msgstr ""
+msgid "failed to read orderfile '%s'"
+msgstr "falha ao ler o ficheiro de comando '%s'"
 
-#: diff.c:110
+#: diffcore-rename.c:536
+msgid "Performing inexact rename detection"
+msgstr "Deteção de mudança de nome inexata em curso"
+
+#: diff.c:115
 #, c-format
-msgid "  Unknown dirstat parameter '%.*s'\n"
-msgstr ""
+msgid "  Failed to parse dirstat cut-off percentage '%s'\n"
+msgstr "  Falha ao analisar percentagem limite de dirstat '%s'\n"
 
-#: diff.c:210
+#: diff.c:120
+#, c-format
+msgid "  Unknown dirstat parameter '%s'\n"
+msgstr "  Parâmetro de dirstat desconhecido '%s'\n"
+
+#: diff.c:215
+#, 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:267
 #, c-format
 msgid ""
 "Found errors in 'diff.dirstat' config variable:\n"
 "%s"
 msgstr ""
+"Erros encontrados na variável de configuração 'diff.dirstat':\n"
+"%s"
 
-#: diff.c:1400
-msgid " 0 files changed\n"
-msgstr " 0 ficheros modificados\n"
-
-#: diff.c:1404
+#: diff.c:2997
 #, c-format
-msgid " %d file changed"
-msgid_plural " %d files changed"
-msgstr[0] " %d ficheiro modificado"
-msgstr[1] " %d ficheiros modificados"
+msgid "external diff died, stopping at %s"
+msgstr "o diff externo terminou inesperadamente, interrompido em %s"
 
-#: diff.c:1421
-#, c-format
-msgid ", %d insertion(+)"
-msgid_plural ", %d insertions(+)"
-msgstr[0] ", %d adição(+)"
-msgstr[1] ", %d adições(+)"
+#: diff.c:3393
+msgid "--follow requires exactly one pathspec"
+msgstr "--follow requer exatamente um único especificador de caminho"
 
-#: diff.c:1432
-#, c-format
-msgid ", %d deletion(-)"
-msgid_plural ", %d deletions(-)"
-msgstr[0] ", %d eliminado(-)"
-msgstr[1] ", %d eliminados(-)"
-
-#: diff.c:3478
+#: diff.c:3556
 #, c-format
 msgid ""
 "Failed to parse --dirstat/-X option parameter:\n"
 "%s"
 msgstr ""
+"Falha ao analisar parâmetro da opção --dirstat/-X:\n"
+"%s"
 
-#: gpg-interface.c:59
+#: diff.c:3570
+#, c-format
+msgid "Failed to parse --submodule option parameter: '%s'"
+msgstr "Falha ao analisar parâmetro da opção --submodule: '%s'"
+
+#: dir.c:2004
+msgid "failed to get kernel name and information"
+msgstr "falha ao obter nome e informação do kernel"
+
+#: dir.c:2123
+msgid "Untracked cache is disabled on this system or location."
+msgstr "A cache não controlada está desativada neste sistema ou localização."
+
+#: gpg-interface.c:166 gpg-interface.c:237
 msgid "could not run gpg."
-msgstr "não consegue ejecutar gpg."
+msgstr "não foi possível executar gpg."
 
-#: gpg-interface.c:71
+#: gpg-interface.c:178
 msgid "gpg did not accept the data"
-msgstr ""
+msgstr "gpg não aceitou os dados"
 
-#: gpg-interface.c:82
+#: gpg-interface.c:189
 msgid "gpg failed to sign the data"
-msgstr ""
+msgstr "gpg não assinou os dados"
 
-#: grep.c:1280
+#: gpg-interface.c:222
+#, c-format
+msgid "could not create temporary file '%s': %s"
+msgstr "não foi possível criar ficheiro temporário '%s': %s"
+
+#: gpg-interface.c:225
+#, c-format
+msgid "failed writing detached signature to '%s': %s"
+msgstr "falha ao escrever assinatura destacada em '%s': %s"
+
+#: grep.c:1718
 #, c-format
 msgid "'%s': unable to read %s"
-msgstr ""
+msgstr "'%s': não foi possível ler %s"
 
-#: grep.c:1297
+#: grep.c:1735
 #, c-format
 msgid "'%s': %s"
 msgstr "'%s': %s"
 
-#: grep.c:1308
+#: grep.c:1746
 #, c-format
 msgid "'%s': short read %s"
-msgstr ""
+msgstr "'%s': leitura truncada %s"
 
-#: help.c:207
+#: help.c:205
 #, c-format
 msgid "available git commands in '%s'"
-msgstr ""
+msgstr "comandos do git disponível em '%s'"
 
-#: help.c:214
+#: help.c:212
 msgid "git commands available from elsewhere on your $PATH"
-msgstr ""
+msgstr "comandos do git disponíveis noutras localizações em $PATH"
 
-#: help.c:270
+#: help.c:244
+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:309
 #, 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' parece ser um comando do git, mas não é possível\n"
+"executá-lo. Talvez git-%s esteja danificado?"
 
-#: help.c:327
+#: help.c:366
 msgid "Uh oh. Your system reports no Git commands at all."
-msgstr ""
+msgstr "Ai ai. Não há nenhum comando do Git disponível no sistema."
 
-#: help.c:349
+#: help.c:388
 #, 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 ""
+"AVISO: Invocou um comando do Git designado '%s' que não existe.\n"
+"Continuando, assumindo que queria dizer '%s'"
 
-#: help.c:354
+#: help.c:393
 #, c-format
 msgid "in %0.1f seconds automatically..."
-msgstr ""
+msgstr "automaticamente em %0.1f..."
 
-#: help.c:361
+#: help.c:400
 #, c-format
 msgid "git: '%s' is not a git command. See 'git --help'."
-msgstr ""
+msgstr "git: '%s' não é um comando do git. Consulte 'git --help'."
 
-#: help.c:365
+#: help.c:404 help.c:464
 msgid ""
 "\n"
 "Did you mean this?"
@@ -336,23 +670,699 @@
 "\n"
 "Did you mean one of these?"
 msgstr[0] ""
+"\n"
+"Queria dizer isto?"
 msgstr[1] ""
+"\n"
+"Queria dizer deste?"
 
-#: remote.c:1607
+#: help.c:460
+#, c-format
+msgid "%s: %s - %s"
+msgstr "%s: %s - %s"
+
+#: merge.c:41
+msgid "failed to read the cache"
+msgstr "falha ao ler a cache"
+
+#: merge.c:94 builtin/am.c:2008 builtin/am.c:2043 builtin/checkout.c:376
+#: builtin/checkout.c:587 builtin/clone.c:730
+msgid "unable to write new index file"
+msgstr "não foi possível escrever novo ficheiro de índice"
+
+#: merge-recursive.c:189
+#, c-format
+msgid "(bad commit)\n"
+msgstr "(commit incorreto)\n"
+
+#: merge-recursive.c:209
+#, c-format
+msgid "addinfo_cache failed for path '%s'"
+msgstr "addinfo_cache falhou no caminho '%s'"
+
+#: merge-recursive.c:270
+msgid "error building trees"
+msgstr "erro ao construir árvores"
+
+#: merge-recursive.c:689
+#, c-format
+msgid "failed to create path '%s'%s"
+msgstr "falha ao criar o caminho '%s'%s"
+
+#: merge-recursive.c:700
+#, 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:714 merge-recursive.c:735
+msgid ": perhaps a D/F conflict?"
+msgstr ": talvez um conflito D/F?"
+
+#: merge-recursive.c:725
+#, c-format
+msgid "refusing to lose untracked file at '%s'"
+msgstr "recusando-se a perder ficheiro não controlado em '%s'"
+
+#: merge-recursive.c:765
+#, c-format
+msgid "cannot read object %s '%s'"
+msgstr "não é possível ler o objeto %s: '%s'"
+
+#: merge-recursive.c:767
+#, c-format
+msgid "blob expected for %s '%s'"
+msgstr "blob para %s '%s' esperado"
+
+#: merge-recursive.c:790 builtin/clone.c:374
+#, c-format
+msgid "failed to open '%s'"
+msgstr "falha ao abrir '%s'"
+
+#: merge-recursive.c:798
+#, c-format
+msgid "failed to symlink '%s'"
+msgstr "falha ao criar a ligação simbólica '%s'"
+
+#: merge-recursive.c:801
+#, 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:939
+msgid "Failed to execute internal merge"
+msgstr "Falha ao executar merge interno"
+
+#: merge-recursive.c:943
+#, c-format
+msgid "Unable to add %s to database"
+msgstr "Não é possível adicionar %s à base de dados"
+
+#: merge-recursive.c:959
+msgid "unsupported object type in the tree"
+msgstr "tipo de objeto sem suporte encontrado na árvore"
+
+#: merge-recursive.c:1034 merge-recursive.c:1048
+#, c-format
+msgid ""
+"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:1040 merge-recursive.c:1053
+#, c-format
+msgid ""
+"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:1094
+msgid "rename"
+msgstr "mudar nome"
+
+#: merge-recursive.c:1094
+msgid "renamed"
+msgstr "nome mudado"
+
+#: merge-recursive.c:1150
+#, 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:1172
+#, c-format
+msgid ""
+"CONFLICT (rename/rename): Rename \"%s\"->\"%s\" in branch \"%s\" rename \"%s"
+"\"->\"%s\" in \"%s\"%s"
+msgstr ""
+"CONFLITO (mudar nome/mudar nome): Mudar o nome \"%s\"->\"%s\" no ramo \"%s\" "
+"mudar o nome \"%s\"->\"%s\" em \"%s\"%s"
+
+#: merge-recursive.c:1177
+msgid " (left unresolved)"
+msgstr " (por resolver)"
+
+#: merge-recursive.c:1231
+#, 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"
+
+#: merge-recursive.c:1261
+#, 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:1460
+#, 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:1470
+#, c-format
+msgid "Adding merged %s"
+msgstr "A adicionar %s integrado"
+
+#: merge-recursive.c:1475 merge-recursive.c:1677
+#, c-format
+msgid "Adding as %s instead"
+msgstr "A adicionar como %s, em alternativa."
+
+#: merge-recursive.c:1526
+#, c-format
+msgid "cannot read object %s"
+msgstr "não foi possível ler o objeto %s"
+
+#: merge-recursive.c:1529
+#, c-format
+msgid "object %s is not a blob"
+msgstr "o objeto %s não é um blob"
+
+#: merge-recursive.c:1581
+msgid "modify"
+msgstr "modificar"
+
+#: merge-recursive.c:1581
+msgid "modified"
+msgstr "modificado"
+
+#: merge-recursive.c:1591
+msgid "content"
+msgstr "conteúdo"
+
+#: merge-recursive.c:1598
+msgid "add/add"
+msgstr "adicionar/adicionar"
+
+#: merge-recursive.c:1632
+#, c-format
+msgid "Skipped %s (merged same as existing)"
+msgstr "%s ignorado (integrado é igual ao existente)"
+
+#: merge-recursive.c:1646
+#, c-format
+msgid "Auto-merging %s"
+msgstr "Merge automático de %s"
+
+#: merge-recursive.c:1650 git-submodule.sh:1048
+msgid "submodule"
+msgstr "submódulo"
+
+#: merge-recursive.c:1651
+#, c-format
+msgid "CONFLICT (%s): Merge conflict in %s"
+msgstr "CONFLITO (%s): conflito de merge em %s"
+
+#: merge-recursive.c:1737
+#, c-format
+msgid "Removing %s"
+msgstr "A remover %s"
+
+#: merge-recursive.c:1762
+msgid "file/directory"
+msgstr "ficheiro/diretório"
+
+#: merge-recursive.c:1768
+msgid "directory/file"
+msgstr "diretório/ficheiro"
+
+#: merge-recursive.c:1773
+#, 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:1783
+#, c-format
+msgid "Adding %s"
+msgstr "A adicionar %s"
+
+#: merge-recursive.c:1800
+msgid "Fatal merge failure, shouldn't happen."
+msgstr "Falha de merge fatal, não devia acontecer."
+
+#: merge-recursive.c:1819
+msgid "Already up-to-date!"
+msgstr "Já está atualizado!"
+
+#: merge-recursive.c:1828
+#, c-format
+msgid "merging of trees %s and %s failed"
+msgstr "falha ao realizar merge das árvores %s e %s"
+
+#: merge-recursive.c:1858
+#, c-format
+msgid "Unprocessed path??? %s"
+msgstr "Caminho não processado??? %s"
+
+#: merge-recursive.c:1906
+msgid "Merging:"
+msgstr "A realizar merge:"
+
+#: merge-recursive.c:1919
+#, 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:1956
+msgid "merge returned no commit"
+msgstr "merge não retornou nenhum commit"
+
+#: merge-recursive.c:2013
+#, c-format
+msgid "Could not parse object '%s'"
+msgstr "Não foi possível analisar o objeto '%s'"
+
+#: merge-recursive.c:2024 builtin/merge.c:646
+msgid "Unable to write index."
+msgstr "Não é possível escrever no índice."
+
+#: notes-utils.c:41
+msgid "Cannot commit uninitialized/unreferenced notes tree"
+msgstr ""
+"Não é possível fazer commit de árvore de notas não inicializada ou não "
+"referenciada"
+
+#: notes-utils.c:100
+#, c-format
+msgid "Bad notes.rewriteMode value: '%s'"
+msgstr "Valor de notes.rewriteMode incorreto: '%s'"
+
+#: notes-utils.c:110
+#, c-format
+msgid "Refusing to rewrite notes in %s (outside of refs/notes/)"
+msgstr "Recusando-se a reescrever notas em %s (fora de refs/notes/)"
+
+#. TRANSLATORS: The first %s is the name of the
+#. environment variable, the second %s is its value
+#: notes-utils.c:137
+#, c-format
+msgid "Bad %s value: '%s'"
+msgstr "Valor incorreto de %s: '%s'"
+
+#: object.c:242
+#, c-format
+msgid "unable to parse object: %s"
+msgstr "não foi possível analisar o objeto: %s"
+
+#: parse-options.c:570
+msgid "..."
+msgstr "..."
+
+#: parse-options.c:588
+#, c-format
+msgid "usage: %s"
+msgstr "utilização: %s"
+
+#. TRANSLATORS: the colon here should align with the
+#. one in "usage: %s" translation
+#: parse-options.c:592
+#, c-format
+msgid "   or: %s"
+msgstr "        ou: %s"
+
+#: parse-options.c:595
+#, c-format
+msgid "    %s"
+msgstr "         %s"
+
+#: parse-options.c:629
+msgid "-NUM"
+msgstr "-NUM"
+
+#: parse-options-cb.c:108
+#, c-format
+msgid "malformed object name '%s'"
+msgstr "nome do objeto malformado '%s'"
+
+#: path.c:752
+#, c-format
+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
+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
+msgid ""
+"global 'literal' pathspec setting is incompatible with all other global "
+"pathspec settings"
+msgstr ""
+"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
+msgid "invalid parameter for pathspec magic 'prefix'"
+msgstr "parâmetro inválido na mágica 'prefix' do especificador de caminho"
+
+#: pathspec.c:183
+#, c-format
+msgid "Invalid pathspec magic '%.*s' in '%s'"
+msgstr "Mágica do especificador de caminho '%.*s' inválida em '%s'"
+
+#: pathspec.c:187
+#, 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
+#, 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
+#, c-format
+msgid "Pathspec '%s' is in submodule '%.*s'"
+msgstr "O caminho '%s' está dentro do submódulo '%.*s'"
+
+#: pathspec.c:353
+#, 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:433
+#, 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:442
+msgid ""
+"There is nothing to exclude from by :(exclude) patterns.\n"
+"Perhaps you forgot to add either ':/' or '.' ?"
+msgstr ""
+"Não há nada para excluir de acordo com o padrão :(excluir).\n"
+"Talvez se tenha esquecido de acrescentar ':/' ou '.' ?"
+
+#: pretty.c:969
+msgid "unable to parse --pretty format"
+msgstr "não foi possível analisar o formato de --pretty"
+
+#: progress.c:235
+msgid "done"
+msgstr "concluído"
+
+#: read-cache.c:1281
+#, c-format
+msgid ""
+"index.version set, but the value is invalid.\n"
+"Using version %i"
+msgstr ""
+"index.version definido, mas com valor inválido.\n"
+"A usar a versão %i"
+
+#: read-cache.c:1291
+#, c-format
+msgid ""
+"GIT_INDEX_VERSION set, but the value is invalid.\n"
+"Using version %i"
+msgstr ""
+"GIT_INDEX_VERSION definido, mas com valor inválido.\n"
+"A usar a versão %i"
+
+#: refs.c:543 builtin/merge.c:761 builtin/merge.c:872 builtin/merge.c:974
+#: builtin/merge.c:984
+#, c-format
+msgid "Could not open '%s' for writing"
+msgstr "Não foi possível abrir '%s' para escrita"
+
+#: refs/files-backend.c:2374
+#, c-format
+msgid "could not delete reference %s: %s"
+msgstr "não foi possível eliminar a referência %s: %s"
+
+#: refs/files-backend.c:2377
+#, c-format
+msgid "could not delete references: %s"
+msgstr "não foi possível eliminar as referências: %s"
+
+#: refs/files-backend.c:2386
+#, c-format
+msgid "could not remove reference %s"
+msgstr "não foi possível eliminar a referência %s"
+
+#: ref-filter.c:55
+#, c-format
+msgid "expected format: %%(color:<color>)"
+msgstr "formato esperado: %%(color:<cor>)"
+
+#: ref-filter.c:57
+#, c-format
+msgid "unrecognized color: %%(color:%s)"
+msgstr "cor não reconhecida: %%(color:%s)"
+
+#: ref-filter.c:71
+#, c-format
+msgid "unrecognized format: %%(%s)"
+msgstr "formato não reconhecido: %%(%s)"
+
+#: ref-filter.c:77
+#, c-format
+msgid "%%(body) does not take arguments"
+msgstr "%%(body) não leva argumentos"
+
+#: ref-filter.c:84
+#, c-format
+msgid "%%(subject) does not take arguments"
+msgstr "%%(subject) não leva argumentos"
+
+#: ref-filter.c:101
+#, c-format
+msgid "positive value expected contents:lines=%s"
+msgstr "valor positivo esperado contents:lines=%s"
+
+#: ref-filter.c:103
+#, c-format
+msgid "unrecognized %%(contents) argument: %s"
+msgstr "argumento de %%(contents) não reconhecido: %s"
+
+#: ref-filter.c:113
+#, c-format
+msgid "unrecognized %%(objectname) argument: %s"
+msgstr "argumento de %%(objectname) não reconhecido: %s"
+
+#: ref-filter.c:135
+#, c-format
+msgid "expected format: %%(align:<width>,<position>)"
+msgstr "formato esperado: %%(align:<largura>,<posição>)"
+
+#: ref-filter.c:147
+#, c-format
+msgid "unrecognized position:%s"
+msgstr "posição não reconhecida:%s"
+
+#: ref-filter.c:151
+#, c-format
+msgid "unrecognized width:%s"
+msgstr "largura não reconhecida:%s"
+
+#: ref-filter.c:157
+#, c-format
+msgid "unrecognized %%(align) argument: %s"
+msgstr "argumento de %%(align) não reconhecido: %s"
+
+#: ref-filter.c:161
+#, c-format
+msgid "positive width expected with the %%(align) atom"
+msgstr "largura positiva esperada com o átomo %%(algn)"
+
+#: ref-filter.c:244
+#, c-format
+msgid "malformed field name: %.*s"
+msgstr "nome de ficheiro malformado: %.*s"
+
+#: ref-filter.c:270
+#, c-format
+msgid "unknown field name: %.*s"
+msgstr "nome do campo desconhecido: %.*s"
+
+#: ref-filter.c:372
+#, c-format
+msgid "format: %%(end) atom used without corresponding atom"
+msgstr "formato: átomo %%(end) utilizado sem átomo correspondente"
+
+#: ref-filter.c:424
+#, c-format
+msgid "malformed format string %s"
+msgstr "cadeia malformada %s"
+
+#: ref-filter.c:878
+msgid ":strip= requires a positive integer argument"
+msgstr ":strip= requer um inteiro positivo como argumento"
+
+#: ref-filter.c:883
+#, 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
+#, c-format
+msgid "unknown %.*s format %s"
+msgstr "formato de %.*s desconhecido %s"
+
+#: ref-filter.c:1066 ref-filter.c:1097
+#, c-format
+msgid "missing object %s for %s"
+msgstr "falta o objeto %s de %s"
+
+#: ref-filter.c:1069 ref-filter.c:1100
+#, 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
+#, c-format
+msgid "malformed object at '%s'"
+msgstr "objeto malformado em '%s'"
+
+#: ref-filter.c:1373
+#, c-format
+msgid "ignoring ref with broken name %s"
+msgstr "a referência %s com nome danificado foi ignorada"
+
+#: ref-filter.c:1378
+#, c-format
+msgid "ignoring broken ref %s"
+msgstr "a referência %s danificada foi ignorada"
+
+#: ref-filter.c:1651
+#, c-format
+msgid "format: %%(end) atom missing"
+msgstr "formato: falta átomo %%(end)"
+
+#: ref-filter.c:1705
+#, c-format
+msgid "malformed object name %s"
+msgstr "nome de objeto malformado %s"
+
+#: remote.c:745
+#, 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:749
+#, c-format
+msgid "%s usually tracks %s, not %s"
+msgstr "%s geralmente segue %s, não %s"
+
+#: remote.c:753
+#, c-format
+msgid "%s tracks both %s and %s"
+msgstr "%s segue %s e %s em simultâneo"
+
+#: remote.c:761
+msgid "Internal error"
+msgstr "Erro interno"
+
+#: remote.c:1677 remote.c:1720
+msgid "HEAD does not point to a branch"
+msgstr "HEAD não aponta para um ramo"
+
+#: remote.c:1686
+#, c-format
+msgid "no such branch: '%s'"
+msgstr "ramo inexistente: '%s'"
+
+#: remote.c:1689
+#, c-format
+msgid "no upstream configured for branch '%s'"
+msgstr "nenhum ramo a montante configurado para o ramo '%s'"
+
+#: remote.c:1695
+#, 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 remoto seguido"
+
+#: remote.c:1710
+#, 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
+#, c-format
+msgid "branch '%s' has no remote for pushing"
+msgstr "o ramo '%s' não tem nenhum remoto para publicar"
+
+#: remote.c:1736
+#, 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
+msgid "push has no destination (push.default is 'nothing')"
+msgstr "publicação sem destino (push.default é 'nothing')"
+
+#: remote.c:1771
+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
+#, 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
+msgid "  (use \"git branch --unset-upstream\" to fixup)\n"
+msgstr "  (use \"git branch --unset-upstream\" para corrigir)\n"
+
+#: remote.c:2080
+#, c-format
+msgid "Your branch is up-to-date with '%s'.\n"
+msgstr "O seu ramo está atualizado com '%s'.\n"
+
+#: 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] "A sua rama está à frente de '%s' pelo commit %d.\n"
-msgstr[1] "A sua rama está à frente de '%s' pelos commites %d.\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:1613
+#: remote.c:2090
+msgid "  (use \"git push\" to publish your local commits)\n"
+msgstr "  (use \"git push\" para publicar os commits locais)\n"
+
+#: remote.c:2093
 #, 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"
+msgid_plural ""
+"Your branch is behind '%s' by %d commits, and can be fast-forwarded.\n"
 msgstr[0] ""
+"O seu ramo está atrás de '%s' por %d commit, podendo ser atualizado com "
+"avanço rápido.\n"
 msgstr[1] ""
+"O seu ramo está atrás de '%s' por %d commits, podendo ser atualizado com "
+"avanço rápido.\n"
 
-#: remote.c:1621
+#: remote.c:2101
+msgid "  (use \"git pull\" to update your local branch)\n"
+msgstr "  (use \"git pull\" para atualizar o seu ramo local)\n"
+
+#: remote.c:2104
 #, c-format
 msgid ""
 "Your branch and '%s' have diverged,\n"
@@ -361,1264 +1371,2924 @@
 "Your branch and '%s' have diverged,\n"
 "and have %d and %d different commits each, respectively.\n"
 msgstr[0] ""
+"O seu ramo e '%s' divergiram,\n"
+"tendo cada um %d e %d commit diferente, respetivamente.\n"
 msgstr[1] ""
+"O seu ramo e '%s' divergiram,\n"
+"tendo cada um %d e %d commits diferentes, respetivamente.\n"
 
-#: sequencer.c:121
-#: builtin/merge.c:865
-#: builtin/merge.c:978
-#: builtin/merge.c:1088
-#: builtin/merge.c:1098
+#: remote.c:2114
+msgid "  (use \"git pull\" to merge the remote branch into yours)\n"
+msgstr "  (use \"git pull\" para incorporar o ramo remoto no seu)\n"
+
+#: revision.c:2131
+msgid "your current branch appears to be broken"
+msgstr "o ramo atual parece estar danificado"
+
+#: revision.c:2134
 #, c-format
-msgid "Could not open '%s' for writing"
+msgid "your current branch '%s' does not have any commits yet"
+msgstr "o ramo atual '%s' ainda não contém nenhum commit"
+
+#: revision.c:2328
+msgid "--first-parent is incompatible with --bisect"
+msgstr "--first-parent é incompatível com --bisect"
+
+#: run-command.c:92
+msgid "open /dev/null failed"
+msgstr "falha ao abrir /dev/null"
+
+#: run-command.c:94
+#, c-format
+msgid "dup2(%d,%d) failed"
+msgstr "dup2(%d,%d) falhou"
+
+#: send-pack.c:295
+msgid "failed to sign the push certificate"
+msgstr "falha ao assinar o certificado de publicação"
+
+#: send-pack.c:404
+msgid "the receiving end does not support --signed push"
+msgstr "o recetor não suporta publicação com --signed"
+
+#: send-pack.c:406
+msgid ""
+"not sending a push certificate since the receiving end does not support --"
+"signed push"
 msgstr ""
+"certificado de publicação não enviado uma vez que o recetor não suporta "
+"publicação com --signed"
 
-#: sequencer.c:123
-#: builtin/merge.c:333
-#: builtin/merge.c:868
-#: builtin/merge.c:1090
-#: builtin/merge.c:1103
-#, c-format
-msgid "Could not write to '%s'"
-msgstr "Não foi possível escrever para '%s'"
+#: send-pack.c:418
+msgid "the receiving end does not support --atomic push"
+msgstr "o recetor não suporta publicação com --atomic"
 
-#: sequencer.c:144
+#: sequencer.c:174
 msgid ""
 "after resolving the conflicts, mark the corrected paths\n"
 "with 'git add <paths>' or 'git rm <paths>'"
 msgstr ""
+"depois de resolver os conflitos, marque os caminhos corrigidos\n"
+"com 'git add <caminhos>' ou 'git rm <caminhos>'"
 
-#: sequencer.c:147
+#: sequencer.c:177
 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 ""
+"depois de resolver os conflitos, marque os caminhos corrigidos\n"
+"com 'git add <caminhos>' ou 'git rm <caminhos>'\n"
+"e faça commit do resultado com 'git commit'"
 
-#: sequencer.c:160
-#: sequencer.c:741
-#: sequencer.c:824
+#: sequencer.c:190 sequencer.c:833 sequencer.c:913
 #, c-format
 msgid "Could not write to %s"
-msgstr "Não foi possível gravar para %s"
+msgstr "Não foi possível escrever em %s"
 
-#: sequencer.c:163
-#, c-format
+#: sequencer.c:193
+#, fuzzy, c-format
 msgid "Error wrapping up %s"
-msgstr ""
+msgstr "Erro ao isolar %s"
 
-#: sequencer.c:178
+#: sequencer.c:208
 msgid "Your local changes would be overwritten by cherry-pick."
-msgstr ""
+msgstr "As suas alterações locais serão substituídas por cherry-pick."
 
-#: sequencer.c:180
+#: sequencer.c:210
 msgid "Your local changes would be overwritten by revert."
-msgstr ""
+msgstr "As suas alterações locais serão substituídas por revert."
 
-#: sequencer.c:183
+#: sequencer.c:213
 msgid "Commit your changes or stash them to proceed."
-msgstr ""
+msgstr "Faça commit ou stash das suas alterações para continuar."
 
 #. TRANSLATORS: %s will be "revert" or "cherry-pick"
-#: sequencer.c:233
+#: sequencer.c:300
 #, c-format
 msgid "%s: Unable to write new index file"
-msgstr ""
+msgstr "%s: Não foi possível escrever novo ficheiro de índice"
 
-#: sequencer.c:261
+#: sequencer.c:318
 msgid "Could not resolve HEAD commit\n"
-msgstr ""
+msgstr "Não foi possível resolver o commit HEAD\n"
 
-#: sequencer.c:282
+#: sequencer.c:338
 msgid "Unable to update cache tree\n"
-msgstr ""
+msgstr "Não foi possível atualizar a árvore de cache\n"
 
-#: sequencer.c:323
+#: sequencer.c:390
 #, c-format
 msgid "Could not parse commit %s\n"
-msgstr "Não foi possível analisar commit %s\n"
+msgstr "Não foi possível analisar o commit %s\n"
 
-#: sequencer.c:328
+#: sequencer.c:395
 #, c-format
 msgid "Could not parse parent commit %s\n"
-msgstr "Não foi possível analisar commit parent %s\n"
+msgstr "Não foi possível analisar o commit pai %s\n"
 
-#: sequencer.c:358
+#: sequencer.c:460
 msgid "Your index file is unmerged."
-msgstr "O seu ficheiro de índice é não fundido."
+msgstr "Ficheiro de índice não integrado."
 
-#: sequencer.c:361
-msgid "You do not have a valid HEAD"
-msgstr "Você não tem uma HEAD válida"
-
-#: sequencer.c:376
+#: sequencer.c:479
 #, c-format
 msgid "Commit %s is a merge but no -m option was given."
-msgstr ""
+msgstr "O commit %s é um merge mas nenhuma opção -m fornecida."
 
-#: sequencer.c:384
+#: sequencer.c:487
 #, c-format
 msgid "Commit %s does not have parent %d"
-msgstr ""
-
-#: sequencer.c:388
-#, c-format
-msgid "Mainline was specified but commit %s is not a merge."
-msgstr ""
-
-#. TRANSLATORS: The first %s will be "revert" or
-#. "cherry-pick", the second %s a SHA1
-#: sequencer.c:399
-#, c-format
-msgid "%s: cannot parse parent commit %s"
-msgstr ""
-
-#: sequencer.c:403
-#, c-format
-msgid "Cannot get commit message for %s"
-msgstr "Não é possível obter mensagem commit para %s"
+msgstr "O commit %s não tem o pai %d"
 
 #: sequencer.c:491
 #, c-format
-msgid "could not revert %s... %s"
-msgstr ""
+msgid "Mainline was specified but commit %s is not a merge."
+msgstr "Linha principal especificada mas o commit %s não é um merge."
 
-#: sequencer.c:492
+#. TRANSLATORS: The first %s will be "revert" or
+#. "cherry-pick", the second %s a SHA1
+#: sequencer.c:504
+#, c-format
+msgid "%s: cannot parse parent commit %s"
+msgstr "%s: não foi possível analisar o commit pai %s"
+
+#: sequencer.c:508
+#, c-format
+msgid "Cannot get commit message for %s"
+msgstr "Não é possível obter a mensagem de commit de %s"
+
+#: sequencer.c:594
+#, c-format
+msgid "could not revert %s... %s"
+msgstr "não foi possível reverter %s... %s"
+
+#: sequencer.c:595
 #, c-format
 msgid "could not apply %s... %s"
-msgstr ""
+msgstr "não foi possível aplicar %s... %s"
 
-#: sequencer.c:536
+#: sequencer.c:630
 msgid "empty commit set passed"
-msgstr "passado commit com o set vazio"
+msgstr "o conjunto de commits especificado está vazio"
 
-#: sequencer.c:544
+#: sequencer.c:638
 #, c-format
 msgid "git %s: failed to read the index"
-msgstr ""
+msgstr "git %s: falha ao ler o índice"
 
-#: sequencer.c:549
+#: sequencer.c:642
 #, c-format
 msgid "git %s: failed to refresh the index"
-msgstr ""
+msgstr "git %s: falha ao atualizar o índice"
 
-#: sequencer.c:607
+#: sequencer.c:702
 #, c-format
 msgid "Cannot %s during a %s"
-msgstr "Não foi possível abrir %s durante um %s"
+msgstr "Não foi possível efetuar %s durante %s"
 
-#: sequencer.c:629
+#: sequencer.c:724
 #, c-format
 msgid "Could not parse line %d."
-msgstr "Não foi possível parsear linha %d."
+msgstr "Não foi possível analisar a linha %d."
 
-#: sequencer.c:634
+#: sequencer.c:729
 msgid "No commits parsed."
-msgstr "Nenhum commit parseado."
+msgstr "Nenhum commit analisado."
 
-#: sequencer.c:647
+#: sequencer.c:741
 #, c-format
 msgid "Could not open %s"
 msgstr "Não foi possível abrir %s"
 
-#: sequencer.c:651
+#: sequencer.c:745
 #, c-format
 msgid "Could not read %s."
 msgstr "Não foi possível ler %s."
 
-#: sequencer.c:658
+#: sequencer.c:752
 #, c-format
 msgid "Unusable instruction sheet: %s"
-msgstr ""
+msgstr "Folha de instruções inutilizável: %s"
 
-#: sequencer.c:686
+#: sequencer.c:782
 #, c-format
 msgid "Invalid key: %s"
-msgstr ""
+msgstr "Chave inválida: %s"
 
-#: sequencer.c:689
+#: sequencer.c:785 builtin/pull.c:50 builtin/pull.c:52
 #, c-format
 msgid "Invalid value for %s: %s"
-msgstr "Valor inválido para %s: %s"
+msgstr "Valor inválido de %s: %s"
 
-#: sequencer.c:701
+#: sequencer.c:795
 #, c-format
 msgid "Malformed options sheet: %s"
-msgstr ""
+msgstr "Folha de opções malformada: %s"
 
-#: sequencer.c:722
+#: sequencer.c:814
 msgid "a cherry-pick or revert is already in progress"
-msgstr ""
+msgstr "cherry-pick ou revert em curso"
 
-#: sequencer.c:723
+#: sequencer.c:815
 msgid "try \"git cherry-pick (--continue | --quit | --abort)\""
-msgstr ""
+msgstr "tente \"git cherry-pick (--continue | --quit |--abort)\""
 
-#: sequencer.c:727
+#: sequencer.c:819
 #, c-format
 msgid "Could not create sequencer directory %s"
-msgstr ""
+msgstr "Não foi possível criar o diretório do sequenciador %s"
 
-#: sequencer.c:743
-#: sequencer.c:828
-#, c-format
+#: sequencer.c:835 sequencer.c:917
+#, fuzzy, c-format
 msgid "Error wrapping up %s."
-msgstr ""
+msgstr "Erro ao isolar %s."
 
-#: sequencer.c:762
-#: sequencer.c:896
+#: sequencer.c:854 sequencer.c:987
 msgid "no cherry-pick or revert in progress"
-msgstr ""
+msgstr "nenhum cherry-pick ou revert em curso"
 
-#: sequencer.c:764
+#: sequencer.c:856
 msgid "cannot resolve HEAD"
-msgstr ""
+msgstr "não é possível resolver HEAD"
 
-#: sequencer.c:766
+#: sequencer.c:858
 msgid "cannot abort from a branch yet to be born"
-msgstr ""
+msgstr "não é possível abortar um ramo ainda não criado"
 
-#: sequencer.c:788
-#: builtin/apply.c:3682
+#: sequencer.c:878 builtin/apply.c:4287
 #, c-format
 msgid "cannot open %s: %s"
-msgstr "não foi possível abrir %s: %s"
+msgstr "não é possível abrir %s: %s"
 
-#: sequencer.c:791
+#: sequencer.c:881
 #, c-format
 msgid "cannot read %s: %s"
-msgstr "não foi possível ler %s: %s"
+msgstr "não é possível ler %s: %s"
 
-#: sequencer.c:792
+#: sequencer.c:882
 msgid "unexpected end of file"
-msgstr ""
+msgstr "fim de ficheiro inesperado"
 
-#: sequencer.c:798
+#: sequencer.c:888
 #, c-format
 msgid "stored pre-cherry-pick HEAD file '%s' is corrupt"
-msgstr ""
+msgstr "o ficheiro HEAD de pre-cherry-pick '%s' está corrompido"
 
-#: sequencer.c:821
+#: sequencer.c:910
 #, c-format
 msgid "Could not format %s."
-msgstr "Não foi possível formatear %s."
+msgstr "Não foi possível formatar %s."
 
-#: sequencer.c:983
+#: sequencer.c:1055
+#, c-format
+msgid "%s: can't cherry-pick a %s"
+msgstr "%s: não é possível efetuar cherry-pick de %s"
+
+#: sequencer.c:1058
+#, c-format
+msgid "%s: bad revision"
+msgstr "%s: revisão incorreta"
+
+#: sequencer.c:1092
 msgid "Can't revert as initial commit"
-msgstr ""
+msgstr "Não é possível reverter como commit inicial"
 
-#: sequencer.c:984
+#: sequencer.c:1093
 msgid "Can't cherry-pick into empty head"
-msgstr ""
+msgstr "Não é possível efetuar cherry-pick numa cabeça vazia"
 
-#: sha1_name.c:864
-msgid "HEAD does not point to a branch"
-msgstr ""
-
-#: sha1_name.c:867
+#: setup.c:246
 #, c-format
-msgid "No such branch: '%s'"
-msgstr "Não existe rama '%s'"
+msgid "failed to read %s"
+msgstr "falha ao ler %s"
 
-#: sha1_name.c:869
+#: sha1_file.c:1080
+msgid "offset before end of packfile (broken .idx?)"
+msgstr "offset antes do fim do ficheiro de pacote (.idx danificado?)"
+
+#: sha1_file.c:2459
 #, c-format
-msgid "No upstream configured for branch '%s'"
+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:2463
+#, 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?)"
+
+#: sha1_name.c:462
+msgid ""
+"Git normally never creates a ref that ends with 40 hex characters\n"
+"because it will be ignored when you just specify 40-hex. These refs\n"
+"may be created by mistake. For example,\n"
+"\n"
+"  git checkout -b $br $(git rev-parse ...)\n"
+"\n"
+"where \"$br\" is somehow empty and a 40-hex ref is created. Please\n"
+"examine these refs and maybe delete them. Turn this message off by\n"
+"running \"git config advice.objectNameWarning false\""
+msgstr ""
+"Normalmente o Git nunca cria referências que terminem em 40 caracteres "
+"hexadecimais,\n"
+"pois uma referência destas seria ignorada se indicasse só 40 caracteres "
+"hexadecimais.\n"
+"Estas referências podem ser criadas por engano. Como no exemplo,\n"
+"\n"
+"  git checkout -b $br $(git rev-parse ...)\n"
+"\n"
+"onde \"$br\" está vazio e é criada uma referência de 40 caracteres "
+"hexadecimais.\n"
+"Analise estas referências e elimine-as se desejar. Desative esta\n"
+"mensagem executando \"git config advice.objectNameWarning false\""
+
+#: submodule.c:62 submodule.c:96
+msgid "Cannot change unmerged .gitmodules, resolve merge conflicts first"
+msgstr ""
+"Não é possível alterar .gitmodules não integrado, resolva os conflitos do "
+"merge primeiro"
+
+#: submodule.c:66 submodule.c:100
+#, 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:74
+#, c-format
+msgid "Could not update .gitmodules entry %s"
+msgstr "Não foi possível atualizar o elemento %s de .gitmodules"
+
+#: submodule.c:107
+#, c-format
+msgid "Could not remove .gitmodules entry for %s"
+msgstr "Não foi possível remover o elemento %s de .gitmodules"
+
+#: submodule.c:118
+msgid "staging updated .gitmodules failed"
+msgstr "falha ao preparar .gitmodules atualizado"
+
+#: trailer.c:237
+#, c-format
+msgid "running trailer command '%s' failed"
+msgstr "falha ao executar o comando trailer '%s'"
+
+#: trailer.c:492 trailer.c:496 trailer.c:500 trailer.c:554 trailer.c:558
+#: trailer.c:562
+#, c-format
+msgid "unknown value '%s' for key '%s'"
+msgstr "valor desconhecido '%s' da chave '%s'"
+
+#: trailer.c:544 trailer.c:549 builtin/remote.c:289
+#, c-format
+msgid "more than one %s"
+msgstr "mais do que um %s"
+
+#: trailer.c:582
+#, c-format
+msgid "empty trailer token in trailer '%.*s'"
 msgstr ""
 
-#: sha1_name.c:872
+#: trailer.c:702
 #, c-format
-msgid "Upstream branch '%s' not stored as a remote-tracking branch"
-msgstr ""
+msgid "could not read input file '%s'"
+msgstr "não foi possível ler o ficheiro de entrada '%s'"
 
-#: wt-status.c:135
+#: trailer.c:705
+msgid "could not read from stdin"
+msgstr "não foi possível ler da entrada padrão"
+
+#: trailer.c:857 builtin/am.c:42
+#, c-format
+msgid "could not stat %s"
+msgstr "não foi possível obter stat de %s"
+
+#: trailer.c:859
+#, c-format
+msgid "file %s is not a regular file"
+msgstr "o ficheiro %s não é um ficheiro regular"
+
+#: trailer.c:861
+#, c-format
+msgid "file %s is not writable by user"
+msgstr "o ficheiro %s não pode ser escrito pelo utilizador"
+
+#: trailer.c:873
+msgid "could not open temporary file"
+msgstr "não foi possível abrir ficheiro temporário"
+
+#: trailer.c:912
+#, 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"
+
+#: transport-helper.c:1041
+#, c-format
+msgid "Could not read ref %s"
+msgstr "Não foi possível ler a referência %s"
+
+#: unpack-trees.c:203
+msgid "Checking out files"
+msgstr "A extrair ficheiros"
+
+#: urlmatch.c:120
+msgid "invalid URL scheme name or missing '://' suffix"
+msgstr "nome de esquema de URL inválido ou falta do sufixo '://'"
+
+#: urlmatch.c:144 urlmatch.c:297 urlmatch.c:356
+#, c-format
+msgid "invalid %XX escape sequence"
+msgstr "sequencia de escape %XX inválida"
+
+#: urlmatch.c:172
+msgid "missing host and scheme is not 'file:'"
+msgstr "sistema anfitrião não indicado e o esquema não é do tipo 'file:'"
+
+#: urlmatch.c:189
+msgid "a 'file:' URL may not have a port number"
+msgstr "um URL do tipo 'file:' não pode ter um número de porta"
+
+#: urlmatch.c:199
+msgid "invalid characters in host name"
+msgstr "caracteres inválidos no nome do anfitrião"
+
+#: urlmatch.c:244 urlmatch.c:255
+msgid "invalid port number"
+msgstr "número de porta inválido"
+
+#: urlmatch.c:322
+msgid "invalid '..' path segment"
+msgstr "segmento de caminho '..' inválido"
+
+#: wrapper.c:222 wrapper.c:381
+#, c-format
+msgid "could not open '%s' for reading and writing"
+msgstr "não foi possível abrir '%s' para leitura e escrita"
+
+#: wrapper.c:224 wrapper.c:383
+#, c-format
+msgid "could not open '%s' for writing"
+msgstr "não foi possível abrir '%s' para escrita"
+
+#: wrapper.c:226 wrapper.c:385 builtin/am.c:323 builtin/commit.c:1691
+#: builtin/merge.c:1075 builtin/pull.c:387
+#, c-format
+msgid "could not open '%s' for reading"
+msgstr "não foi possível abrir '%s' para leitura"
+
+#: wrapper.c:611
+#, c-format
+msgid "unable to access '%s': %s"
+msgstr "não é possível aceder a '%s': %s"
+
+#: wrapper.c:632
+#, c-format
+msgid "unable to access '%s'"
+msgstr "não é possível aceder a '%s'"
+
+#: wrapper.c:640
+msgid "unable to get current working directory"
+msgstr "não é possível de obter o diretório de trabalho atual"
+
+#: wrapper.c:667
+#, c-format
+msgid "could not open %s for writing"
+msgstr "não foi possível abrir %s para escrita"
+
+#: wrapper.c:678 builtin/am.c:410
+#, c-format
+msgid "could not write to %s"
+msgstr "não foi possível escrever para %s"
+
+#: wrapper.c:684
+#, c-format
+msgid "could not close %s"
+msgstr "não foi possível fechar %s"
+
+#: wt-status.c:149
 msgid "Unmerged paths:"
-msgstr "caminhos não fundidos:"
+msgstr "Caminhos não integrados:"
 
-#: wt-status.c:141
-#: wt-status.c:158
+#: wt-status.c:176 wt-status.c:203
 #, c-format
 msgid "  (use \"git reset %s <file>...\" to unstage)"
-msgstr ""
+msgstr "  (use \"git reset %s <ficheiro>...\" para retirar do índice)"
 
-#: wt-status.c:143
-#: wt-status.c:160
+#: wt-status.c:178 wt-status.c:205
 msgid "  (use \"git rm --cached <file>...\" to unstage)"
-msgstr ""
+msgstr "  (use \"git rm --cached <ficheiro>...\" para retirar do índice)"
 
-#: wt-status.c:144
+#: wt-status.c:182
+msgid "  (use \"git add <file>...\" to mark resolution)"
+msgstr "  (use \"git add <ficheiro>...\" para marcar como resolvido)"
+
+#: wt-status.c:184 wt-status.c:188
 msgid "  (use \"git add/rm <file>...\" as appropriate to mark resolution)"
-msgstr "  (usa \"git add/rm <ficheiro>...\" para marcar como resolvido)"
+msgstr ""
+"  (use \"git add/rm <ficheiro>...\" conforme apropriado para marcar como "
+"resolvido)"
 
-#: wt-status.c:152
+#: wt-status.c:186
+msgid "  (use \"git rm <file>...\" to mark resolution)"
+msgstr "  (use \"git rm <ficheiro>...\" para marcar como resolvido)"
+
+#: wt-status.c:197 wt-status.c:880
 msgid "Changes to be committed:"
-msgstr "Mudanças a serem commitadas"
+msgstr "Alterações incluídas no próximo commit:"
 
-#: wt-status.c:170
+#: wt-status.c:215 wt-status.c:889
 msgid "Changes not staged for commit:"
-msgstr ""
+msgstr "Alterações não preparadas para commit:"
 
-#: wt-status.c:174
+#: wt-status.c:219
 msgid "  (use \"git add <file>...\" to update what will be committed)"
-msgstr "  (usa \"git add <ficheiro>...\" para actualizar o que vai ser commitado)"
-
-#: wt-status.c:176
-msgid "  (use \"git add/rm <file>...\" to update what will be committed)"
-msgstr "  (usa \"git add/rm <ficheiro>...\" para actualizar o que vai ser commitado)"
-
-#: wt-status.c:177
-msgid "  (use \"git checkout -- <file>...\" to discard changes in working directory)"
 msgstr ""
+"  (use \"git add <ficheiro>...\" para atualizar o que será incluído no "
+"commit)"
 
-#: wt-status.c:179
+#: wt-status.c:221
+msgid "  (use \"git add/rm <file>...\" to update what will be committed)"
+msgstr ""
+"  (use \"git add/rm <ficheiro>...\" para atualizar o que será incluído no "
+"commit)"
+
+#: wt-status.c:222
+msgid ""
+"  (use \"git checkout -- <file>...\" to discard changes in working directory)"
+msgstr ""
+"  (use \"git checkout -- <ficheiro>...\" para descartar alterações no "
+"diretório de trabalho)"
+
+#: wt-status.c:224
 msgid "  (commit or discard the untracked or modified content in submodules)"
 msgstr ""
+"  (faça commit ou descarte o conteúdo modificado ou não controlado nos "
+"submódulos)"
 
-#: wt-status.c:188
-#, c-format
-msgid "%s files:"
-msgstr "%s ficheros:"
-
-#: wt-status.c:191
+#: wt-status.c:236
 #, c-format
 msgid "  (use \"git %s <file>...\" to include in what will be committed)"
-msgstr ""
+msgstr "  (use \"git %s <ficheiro>...\" para incluir no próximo commit)"
 
-#: wt-status.c:208
-msgid "bug"
-msgstr "erro"
-
-#: wt-status.c:213
+#: wt-status.c:251
 msgid "both deleted:"
-msgstr "eliminados em ambos:"
+msgstr "eliminado por ambos:"
 
-#: wt-status.c:214
+#: wt-status.c:253
 msgid "added by us:"
 msgstr "adicionado por nós:"
 
-#: wt-status.c:215
+#: wt-status.c:255
 msgid "deleted by them:"
-msgstr "eliminados por eles:"
+msgstr "eliminado por eles:"
 
-#: wt-status.c:216
+#: wt-status.c:257
 msgid "added by them:"
-msgstr "adicionados por eles:"
+msgstr "adicionado por eles:"
 
-#: wt-status.c:217
+#: wt-status.c:259
 msgid "deleted by us:"
-msgstr "eliminados por nós:"
+msgstr "eliminado por nós:"
 
-#: wt-status.c:218
+#: wt-status.c:261
 msgid "both added:"
-msgstr "adicionados em ambos:"
+msgstr "adicionado por ambos:"
 
-#: wt-status.c:219
+#: wt-status.c:263
 msgid "both modified:"
-msgstr "modificados em ambos:"
+msgstr "modificado por ambos:"
 
-#: wt-status.c:249
+#: wt-status.c:265
+#, c-format
+msgid "bug: unhandled unmerged status %x"
+msgstr ""
+
+#: wt-status.c:273
+msgid "new file:"
+msgstr "novo ficheiro:"
+
+#: wt-status.c:275
+msgid "copied:"
+msgstr "copiado:"
+
+#: wt-status.c:277
+msgid "deleted:"
+msgstr "eliminado:"
+
+#: wt-status.c:279
+msgid "modified:"
+msgstr "modificado:"
+
+#: wt-status.c:281
+msgid "renamed:"
+msgstr "nome mudado:"
+
+#: wt-status.c:283
+msgid "typechange:"
+msgstr "tipo alterado:"
+
+#: wt-status.c:285
+msgid "unknown:"
+msgstr "desconhecido:"
+
+#: wt-status.c:287
+msgid "unmerged:"
+msgstr "não integrado:"
+
+#: wt-status.c:369
 msgid "new commits, "
 msgstr "novos commits, "
 
-#: wt-status.c:251
+#: wt-status.c:371
 msgid "modified content, "
 msgstr "conteúdo modificado, "
 
-#: wt-status.c:253
+#: wt-status.c:373
 msgid "untracked content, "
-msgstr "conteúdo não seguido"
+msgstr "conteúdo não controlado, "
 
-#: wt-status.c:267
-#, c-format
-msgid "new file:   %s"
-msgstr "novo ficheiro:   %s"
-
-#: wt-status.c:270
-#, c-format
-msgid "copied:     %s -> %s"
-msgstr "copiado:     %s -> %s"
-
-#: wt-status.c:273
-#, c-format
-msgid "deleted:    %s"
-msgstr "eliminado:    %s"
-
-#: wt-status.c:276
-#, c-format
-msgid "modified:   %s"
-msgstr "modificado:   %s"
-
-#: wt-status.c:279
-#, c-format
-msgid "renamed:    %s -> %s"
-msgstr "mudado de nome:    %s -> %s"
-
-#: wt-status.c:282
-#, c-format
-msgid "typechange: %s"
-msgstr ""
-
-#: wt-status.c:285
-#, c-format
-msgid "unknown:    %s"
-msgstr "desconhecido:    %s"
-
-#: wt-status.c:288
-#, c-format
-msgid "unmerged:   %s"
-msgstr "não fundidos:   %s"
-
-#: wt-status.c:291
+#: wt-status.c:390
 #, c-format
 msgid "bug: unhandled diff status %c"
 msgstr ""
 
-#: wt-status.c:737
+#: wt-status.c:754
+msgid "Submodules changed but not updated:"
+msgstr "Submódulos alterados mas não atualizados:"
+
+#: wt-status.c:756
+msgid "Submodule changes to be committed:"
+msgstr "Alterações em submódulos incluídas no próximo commit:"
+
+#: wt-status.c:837
+msgid ""
+"Do not touch the line above.\n"
+"Everything below will be removed."
+msgstr ""
+"Não altere a linha acima.\n"
+"Tudo o que estiver abaixo será removido."
+
+#: wt-status.c:948
+msgid "You have unmerged paths."
+msgstr "Há caminhos não integrados."
+
+#: wt-status.c:951
+msgid "  (fix conflicts and run \"git commit\")"
+msgstr "  (corrija os conflitos e execute \"git commit\")"
+
+#: wt-status.c:954
+msgid "All conflicts fixed but you are still merging."
+msgstr "Todos os conflitos foram corrigidos mas o merge continua em curso."
+
+#: wt-status.c:957
+msgid "  (use \"git commit\" to conclude merge)"
+msgstr "  (use \"git commit\" para concluir o merge)"
+
+#: wt-status.c:967
+msgid "You are in the middle of an am session."
+msgstr "Sessão am em curso."
+
+#: wt-status.c:970
+msgid "The current patch is empty."
+msgstr "O patch atual está vazio."
+
+#: wt-status.c:974
+msgid "  (fix conflicts and then run \"git am --continue\")"
+msgstr "  (corrija os conflitos e execute \"git am --continue\")"
+
+#: wt-status.c:976
+msgid "  (use \"git am --skip\" to skip this patch)"
+msgstr "  (use \"git am --skip\" para ignorar este patch)"
+
+#: wt-status.c:978
+msgid "  (use \"git am --abort\" to restore the original branch)"
+msgstr "  (use \"git am --abort\" para restaurar o ramo original)"
+
+#: wt-status.c:1105
+msgid "No commands done."
+msgstr "Nenhum comando concluído."
+
+#: wt-status.c:1108
+#, 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:1119
+#, c-format
+msgid "  (see more in file %s)"
+msgstr "  (veja mais no ficheiro %s)"
+
+#: wt-status.c:1124
+msgid "No commands remaining."
+msgstr "Nenhum comando por concluir."
+
+#: wt-status.c:1127
+#, 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:1135
+msgid "  (use \"git rebase --edit-todo\" to view and edit)"
+msgstr "  (use \"git rebase --edit-todo\" para visualizar e editar)"
+
+#: wt-status.c:1148
+#, c-format
+msgid "You are currently rebasing branch '%s' on '%s'."
+msgstr "A realizar rebase do ramo '%s' sobre '%s'."
+
+#: wt-status.c:1153
+msgid "You are currently rebasing."
+msgstr "Rebase em curso."
+
+#: wt-status.c:1167
+msgid "  (fix conflicts and then run \"git rebase --continue\")"
+msgstr "  (corrija os conflitos e execute \"git rebase --continue\")"
+
+#: wt-status.c:1169
+msgid "  (use \"git rebase --skip\" to skip this patch)"
+msgstr "  (use \"git rebase --skip\" para ignorar este patch)"
+
+#: wt-status.c:1171
+msgid "  (use \"git rebase --abort\" to check out the original branch)"
+msgstr "  (use \"git rebase --abort\" para restaurar o ramo original)"
+
+#: wt-status.c:1177
+msgid "  (all conflicts fixed: run \"git rebase --continue\")"
+msgstr ""
+"  (todos os conflitos foram corrigidos: execute \"git rebase --continue\")"
+
+#: wt-status.c:1181
+#, c-format
+msgid ""
+"You are currently splitting a commit while rebasing branch '%s' on '%s'."
+msgstr ""
+"A dividir um commit ao mesmo tempo que efetua rebase do ramo '%s' sobre '%s'."
+
+#: wt-status.c:1186
+msgid "You are currently splitting a commit during a rebase."
+msgstr "A dividir um commit durante um rebase."
+
+#: wt-status.c:1189
+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:1193
+#, c-format
+msgid "You are currently editing a commit while rebasing branch '%s' on '%s'."
+msgstr ""
+"A editar um commit ao mesmo tempo que efetua rebase do ramo '%s' sobre '%s'."
+
+#: wt-status.c:1198
+msgid "You are currently editing a commit during a rebase."
+msgstr "A editar um commit durante um rebase."
+
+#: wt-status.c:1201
+msgid "  (use \"git commit --amend\" to amend the current commit)"
+msgstr "  (use \"git commit --amend\" para emendar o commit atual)"
+
+#: wt-status.c:1203
+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:1213
+#, c-format
+msgid "You are currently cherry-picking commit %s."
+msgstr "A realizar cherry-pick do commit %s."
+
+#: wt-status.c:1218
+msgid "  (fix conflicts and run \"git cherry-pick --continue\")"
+msgstr "  (corrija os conflitos e execute \"git cherry-pick --continue\")"
+
+#: wt-status.c:1221
+msgid "  (all conflicts fixed: run \"git cherry-pick --continue\")"
+msgstr ""
+"  (todos os conflitos foram corrigidos: execute \"git cherry-pick --continue"
+"\")"
+
+#: wt-status.c:1223
+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:1232
+#, c-format
+msgid "You are currently reverting commit %s."
+msgstr "A reverter o commit %s."
+
+#: wt-status.c:1237
+msgid "  (fix conflicts and run \"git revert --continue\")"
+msgstr "  (corrija dos conflitos e execute \"git revert --continue\")"
+
+#: wt-status.c:1240
+msgid "  (all conflicts fixed: run \"git revert --continue\")"
+msgstr ""
+"  (todos os conflitos foram corrigidos: execute \"git revert --continue\")"
+
+#: wt-status.c:1242
+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:1253
+#, c-format
+msgid "You are currently bisecting, started from branch '%s'."
+msgstr "Bissecção em curso, iniciada a partir do ramo '%s'."
+
+#: wt-status.c:1257
+msgid "You are currently bisecting."
+msgstr "Bissecção em curso."
+
+#: wt-status.c:1260
+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:1438
 msgid "On branch "
-msgstr "Na rama"
+msgstr "No ramo "
 
-#: wt-status.c:744
+#: wt-status.c:1444
+msgid "interactive rebase in progress; onto "
+msgstr "rebase interativo em curso; sobre "
+
+#: wt-status.c:1446
+msgid "rebase in progress; onto "
+msgstr "rebase em curso; sobre "
+
+#: wt-status.c:1451
+msgid "HEAD detached at "
+msgstr "HEAD destacada em "
+
+#: wt-status.c:1453
+msgid "HEAD detached from "
+msgstr "HEAD destacada de "
+
+#: wt-status.c:1456
 msgid "Not currently on any branch."
-msgstr "Não está em nenhuma rama."
+msgstr "Não se encontra em nenhum ramo neste momento."
 
-#: wt-status.c:755
+#: wt-status.c:1474
 msgid "Initial commit"
 msgstr "Commit inicial"
 
-#: wt-status.c:769
-msgid "Untracked"
-msgstr "Não seguido"
+#: wt-status.c:1488
+msgid "Untracked files"
+msgstr "Ficheiros não controlados"
 
-#: wt-status.c:771
-msgid "Ignored"
-msgstr "Ignorado"
+#: wt-status.c:1490
+msgid "Ignored files"
+msgstr "Ficheiros ignorados"
 
-#: wt-status.c:773
+#: wt-status.c:1494
+#, c-format
+msgid ""
+"It took %.2f seconds to enumerate untracked files. 'status -uno'\n"
+"may speed it up, but you have to be careful not to forget to add\n"
+"new files yourself (see 'git help status')."
+msgstr ""
+"A enumeração dos ficheiros não controlados demorou %.2f segundos\n"
+"a concluir. 'status -uno' pode acelerar o processo, mas deve ter\n"
+"cuidado de não se esquecer de adicionar novos ficheiros\n"
+"(consulte 'git help status')."
+
+#: wt-status.c:1500
 #, c-format
 msgid "Untracked files not listed%s"
-msgstr ""
+msgstr "Ficheiros não controlados não listados%s"
 
-#: wt-status.c:775
+#: wt-status.c:1502
 msgid " (use -u option to show untracked files)"
-msgstr ""
+msgstr " (use a opção -u para mostrar os ficheiros não controlados)"
 
-#: wt-status.c:781
+#: wt-status.c:1508
 msgid "No changes"
-msgstr "Sem mudanças"
+msgstr "Sem alterações"
 
-#: wt-status.c:785
+#: wt-status.c:1513
 #, c-format
-msgid "no changes added to commit%s\n"
-msgstr "nenhuma alteração adicionado ao commit%s\n"
+msgid "no changes added to commit (use \"git add\" and/or \"git commit -a\")\n"
+msgstr ""
+"nenhuma alteração adicionada para commit (use \"git add\" e/ou \"git commit -"
+"a\")\n"
 
-#: wt-status.c:787
-msgid " (use \"git add\" and/or \"git commit -a\")"
-msgstr " (usa \"git add\" e/ou \"git commit -a\")"
-
-#: wt-status.c:789
+#: wt-status.c:1516
 #, c-format
-msgid "nothing added to commit but untracked files present%s\n"
-msgstr ""
+msgid "no changes added to commit\n"
+msgstr "nenhuma alteração adicionada para commit\n"
 
-#: wt-status.c:791
-msgid " (use \"git add\" to track)"
-msgstr " (usa \"git add\" para seguir)"
-
-#: wt-status.c:793
-#: wt-status.c:796
-#: wt-status.c:799
+#: wt-status.c:1519
 #, c-format
-msgid "nothing to commit%s\n"
-msgstr "nada para fazer commit%s\n"
-
-#: wt-status.c:794
-msgid " (create/copy files and use \"git add\" to track)"
+msgid ""
+"nothing added to commit but untracked files present (use \"git add\" to "
+"track)\n"
 msgstr ""
+"não foi adicionado nada para commit, mas existem ficheiros não controlados "
+"(use \"git add\" para controlá-los)\n"
 
-#: wt-status.c:797
-msgid " (use -u to show untracked files)"
+#: wt-status.c:1522
+#, c-format
+msgid "nothing added to commit but untracked files present\n"
 msgstr ""
+"não foi adicionado nada para commit, mas existem ficheiros não controlados\n"
 
-#: wt-status.c:800
-msgid " (working directory clean)"
-msgstr " (directório de trabalho vacio)"
+#: wt-status.c:1525
+#, c-format
+msgid "nothing to commit (create/copy files and use \"git add\" to track)\n"
+msgstr ""
+"não há nada para fazer commit (crie/copie ficheiros e use \"git add\" para "
+"controlá-los)\n"
 
-#: wt-status.c:908
-msgid "HEAD (no branch)"
-msgstr "HEAD (Não é rama)"
+#: wt-status.c:1528 wt-status.c:1533
+#, c-format
+msgid "nothing to commit\n"
+msgstr "não há nada para fazer commit\n"
 
-#: wt-status.c:914
+#: wt-status.c:1531
+#, c-format
+msgid "nothing to commit (use -u to show untracked files)\n"
+msgstr ""
+"não há nada para fazer commit (use -u para mostrar os ficheiros não "
+"controlados)\n"
+
+#: wt-status.c:1535
+#, c-format
+msgid "nothing to commit, working directory clean\n"
+msgstr "não há nada para fazer commit, diretório de trabalho limpo\n"
+
+#: wt-status.c:1642
 msgid "Initial commit on "
 msgstr "Commit inicial em "
 
-#: wt-status.c:929
+#: wt-status.c:1646
+msgid "HEAD (no branch)"
+msgstr "HEAD (nenhum ramo)"
+
+#: wt-status.c:1675
+msgid "gone"
+msgstr "desaparecido"
+
+#: wt-status.c:1677 wt-status.c:1685
 msgid "behind "
 msgstr "atrás "
 
-#: wt-status.c:932
-#: wt-status.c:935
+#: wt-status.c:1680 wt-status.c:1683
 msgid "ahead "
-msgstr "a frente "
+msgstr "à frente "
 
-#: wt-status.c:937
-msgid ", behind "
-msgstr ", atrás "
+#: compat/precompose_utf8.c:57 builtin/clone.c:413
+#, c-format
+msgid "failed to unlink '%s'"
+msgstr "falha ao invocar unlink de '%s'"
 
-#: builtin/add.c:62
+#: builtin/add.c:22
+msgid "git add [<options>] [--] <pathspec>..."
+msgstr "git add [<opções>] [--] <caminho>..."
+
+#: builtin/add.c:65
 #, c-format
 msgid "unexpected diff status %c"
-msgstr ""
+msgstr "diff status inesperado %c"
 
-#: builtin/add.c:67
-#: builtin/commit.c:282
+#: builtin/add.c:70 builtin/commit.c:278
 msgid "updating files failed"
-msgstr "Falou a atualização dos ficheiros"
+msgstr "falha ao atualizar os ficheiros"
 
-#: builtin/add.c:77
+#: builtin/add.c:80
 #, c-format
 msgid "remove '%s'\n"
-msgstr "eliminar '%s'\n"
+msgstr "remover '%s'\n"
 
-#: builtin/add.c:176
-#, c-format
-msgid "Path '%s' is in submodule '%.*s'"
-msgstr ""
-
-#: builtin/add.c:192
+#: builtin/add.c:134
 msgid "Unstaged changes after refreshing the index:"
-msgstr ""
+msgstr "Alterações não preparadas depois de atualizar o índice:"
 
-#: builtin/add.c:195
-#: builtin/add.c:456
-#: builtin/rm.c:186
-#, c-format
-msgid "pathspec '%s' did not match any files"
-msgstr ""
-
-#: builtin/add.c:209
-#, c-format
-msgid "'%s' is beyond a symbolic link"
-msgstr ""
-
-#: builtin/add.c:276
+#: builtin/add.c:194 builtin/rev-parse.c:797
 msgid "Could not read the index"
-msgstr "Não foi possível ler o indíce"
+msgstr "Não foi possível ler o índice"
 
-#: builtin/add.c:286
+#: builtin/add.c:205
 #, c-format
 msgid "Could not open '%s' for writing."
-msgstr "Não foi possível abrir '%s' para escrever."
+msgstr "Não foi possível abrir '%s' para escrita."
 
-#: builtin/add.c:290
+#: builtin/add.c:209
 msgid "Could not write patch"
-msgstr "Não consegue escrever patch"
+msgstr "Não foi possível escrever patch"
 
-#: builtin/add.c:295
+#: builtin/add.c:212
+msgid "editing patch failed"
+msgstr "falha ao editar patch"
+
+#: builtin/add.c:215
 #, c-format
 msgid "Could not stat '%s'"
-msgstr ""
+msgstr "Não foi possível obter stat de '%s'"
 
-#: builtin/add.c:297
+#: builtin/add.c:217
 msgid "Empty patch. Aborted."
-msgstr "Patch vazio. Aborted."
+msgstr "Patch vazio. Abortado."
 
-#: builtin/add.c:303
+#: builtin/add.c:222
 #, c-format
 msgid "Could not apply '%s'"
-msgstr "Não foi possível aplicar o '%s'"
+msgstr "Não foi possível aplicar '%s'"
 
-#: builtin/add.c:312
+#: builtin/add.c:232
 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:249 builtin/clean.c:870 builtin/fetch.c:112 builtin/mv.c:111
+#: builtin/prune-packed.c:55 builtin/pull.c:189 builtin/push.c:511
+#: builtin/remote.c:1330 builtin/rm.c:268 builtin/send-pack.c:162
+msgid "dry run"
+msgstr "simular ação"
+
+#: builtin/add.c:250 builtin/apply.c:4561 builtin/check-ignore.c:19
+#: builtin/commit.c:1322 builtin/count-objects.c:85 builtin/fsck.c:558
+#: builtin/log.c:1651 builtin/mv.c:110 builtin/read-tree.c:114
+msgid "be verbose"
+msgstr "ser verboso"
+
+#: builtin/add.c:252
+msgid "interactive picking"
+msgstr "seleção interativa"
+
+#: builtin/add.c:253 builtin/checkout.c:1155 builtin/reset.c:286
+msgid "select hunks interactively"
+msgstr "selecionar blocos interativamente"
+
+#: builtin/add.c:254
+msgid "edit current diff and apply"
+msgstr "editar o diff atual e aplicá-lo"
+
+#: builtin/add.c:255
+msgid "allow adding otherwise ignored files"
+msgstr "permitir adicionar ficheiros ignorados"
+
+#: builtin/add.c:256
+msgid "update tracked files"
+msgstr "atualizar ficheiros controlados"
+
+#: builtin/add.c:257
+msgid "record only the fact that the path will be added later"
+msgstr "registar apenas o facto de que o caminho será adicionado mais tarde"
+
+#: builtin/add.c:258
+msgid "add changes from all tracked and untracked files"
 msgstr ""
+"adicionar alterações de todos os ficheiros controlados ou não controlados"
+
+#: builtin/add.c:261
+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)"
+
+#: builtin/add.c:263
+msgid "don't add, only refresh the index"
+msgstr "não adicionar, apenas atualizar o índice"
+
+#: builtin/add.c:264
+msgid "just skip files which cannot be added because of errors"
+msgstr "ignorar ficheiros que não podem ser adicionados por causa de erros"
+
+#: builtin/add.c:265
+msgid "check if - even missing - files are ignored in dry run"
+msgstr "verificar quais os ficheiros ignorados na simulação"
+
+#: builtin/add.c:287
+#, c-format
+msgid "Use -f if you really want to add them.\n"
+msgstr "Use -f se deseja mesmo adicioná-los.\n"
+
+#: builtin/add.c:294
+msgid "adding files failed"
+msgstr "falha ao adicionar ficheiros"
+
+#: builtin/add.c:330
+msgid "-A and -u are mutually incompatible"
+msgstr "-A e -u são mutuamente incompatíveis"
+
+#: builtin/add.c:337
+msgid "Option --ignore-missing can only be used together with --dry-run"
+msgstr "A opção --ignore-missing só pode ser usada em conjunto com --dry-run"
 
 #: builtin/add.c:352
 #, c-format
-msgid "Use -f if you really want to add them.\n"
-msgstr ""
+msgid "Nothing specified, nothing added.\n"
+msgstr "Não foi especificado nada, nada adicionado.\n"
 
 #: builtin/add.c:353
-msgid "no files added"
-msgstr "nenhum ficheiros adicionado"
-
-#: builtin/add.c:359
-msgid "adding files failed"
-msgstr "falhou a adicionar ficheiros"
-
-#: builtin/add.c:391
-msgid "-A and -u are mutually incompatible"
-msgstr ""
-
-#: builtin/add.c:393
-msgid "Option --ignore-missing can only be used together with --dry-run"
-msgstr ""
-
-#: builtin/add.c:413
-#, c-format
-msgid "Nothing specified, nothing added.\n"
-msgstr ""
-
-#: builtin/add.c:414
 #, c-format
 msgid "Maybe you wanted to say 'git add .'?\n"
-msgstr ""
+msgstr "Queria dizer 'git add .'?\n"
 
-#: builtin/add.c:420
-#: builtin/clean.c:95
-#: builtin/commit.c:342
-#: builtin/mv.c:82
-#: builtin/rm.c:162
+#: builtin/add.c:358 builtin/check-ignore.c:172 builtin/clean.c:914
+#: builtin/commit.c:337 builtin/mv.c:131 builtin/reset.c:235 builtin/rm.c:298
+#: builtin/submodule--helper.c:35
 msgid "index file corrupt"
-msgstr "ficheiro index corrupto"
+msgstr "ficheiro de índice corrompido"
 
-#: builtin/add.c:476
-#: builtin/apply.c:4093
-#: builtin/mv.c:229
-#: builtin/rm.c:260
+#: builtin/add.c:439 builtin/apply.c:4659 builtin/mv.c:280 builtin/rm.c:430
 msgid "Unable to write new index file"
-msgstr ""
+msgstr "Não foi possível escrever novo ficheiro de índice"
 
-#: builtin/apply.c:106
+#: builtin/am.c:256 builtin/commit.c:738 builtin/merge.c:1078
+#, c-format
+msgid "could not read '%s'"
+msgstr "não foi possível ler '%s'"
+
+#: builtin/am.c:430
+msgid "could not parse author script"
+msgstr "não foi possível analisar o autor do script"
+
+#: builtin/am.c:507
+#, c-format
+msgid "'%s' was deleted by the applypatch-msg hook"
+msgstr "'%s' foi eliminado pelo hook applypatch-msg"
+
+#: builtin/am.c:548 builtin/notes.c:300
+#, c-format
+msgid "Malformed input line: '%s'."
+msgstr "Linha de entrada malformada: '%s'."
+
+#: builtin/am.c:585 builtin/notes.c:315
+#, c-format
+msgid "Failed to copy notes from '%s' to '%s'"
+msgstr "Falha ao copiar notas de '%s' para '%s'"
+
+#: builtin/am.c:611
+msgid "fseek failed"
+msgstr "falha ao invocar fseek"
+
+#: builtin/am.c:772 builtin/am.c:860
+#, c-format
+msgid "could not open '%s' for reading: %s"
+msgstr "não foi possível abrir '%s' para leitura: %s"
+
+#: builtin/am.c:779
+#, c-format
+msgid "could not open '%s' for writing: %s"
+msgstr "não foi possível abrir '%s' para escrita: %s"
+
+#: builtin/am.c:788
+#, c-format
+msgid "could not parse patch '%s'"
+msgstr "não foi possível analisar o patch '%s'"
+
+#: builtin/am.c:853
+msgid "Only one StGIT patch series can be applied at once"
+msgstr "Só pode ser aplicada uma série de patches StGIT duma só vez"
+
+#: builtin/am.c:901
+msgid "invalid timestamp"
+msgstr "carimbo de data/hora inválido"
+
+#: builtin/am.c:904 builtin/am.c:912
+msgid "invalid Date line"
+msgstr "linha de Data inválida"
+
+#: builtin/am.c:909
+msgid "invalid timezone offset"
+msgstr "mudança de fuso horário inválida"
+
+#: builtin/am.c:996
+msgid "Patch format detection failed."
+msgstr "Falha ao detetar o formato do patch."
+
+#: builtin/am.c:1001 builtin/clone.c:378
+#, c-format
+msgid "failed to create directory '%s'"
+msgstr "falha ao criar o diretório '%s'"
+
+#: builtin/am.c:1005
+msgid "Failed to split patches."
+msgstr "Falha ao dividir patches."
+
+#: builtin/am.c:1137 builtin/commit.c:363
+msgid "unable to write index file"
+msgstr "não é possível escrever o ficheiro de índice"
+
+#: builtin/am.c:1188
+#, c-format
+msgid "When you have resolved this problem, run \"%s --continue\"."
+msgstr "Após resolver este problema, execute \"%s --continue\"."
+
+#: builtin/am.c:1189
+#, c-format
+msgid "If you prefer to skip this patch, run \"%s --skip\" instead."
+msgstr "Se preferir ignorar este patch, execute \"%s --skip\"."
+
+#: builtin/am.c:1190
+#, 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\"."
+
+#: builtin/am.c:1328
+msgid "Patch is empty. Was it split wrong?"
+msgstr "O patch está vazio. Foi dividido incorretamente?"
+
+#: builtin/am.c:1402 builtin/log.c:1350
+#, c-format
+msgid "invalid ident line: %s"
+msgstr "linha de identidade inválida: %s"
+
+#: builtin/am.c:1429
+#, c-format
+msgid "unable to parse commit %s"
+msgstr "não foi possível analisar o commit %s"
+
+#: builtin/am.c:1631
+msgid "Repository lacks necessary blobs to fall back on 3-way merge."
+msgstr ""
+"O repositório não tem os blobs necessários para recorrer a merge com 3 "
+"pontos."
+
+#: builtin/am.c:1633
+msgid "Using index info to reconstruct a base tree..."
+msgstr "A usar informação do índice para reconstruir uma árvore de base..."
+
+#: builtin/am.c:1652
+msgid ""
+"Did you hand edit your patch?\n"
+"It does not apply to blobs recorded in its index."
+msgstr ""
+"Editou o patch manualmente?\n"
+"Não é possível aplicá-lo aos blobs registados no índice."
+
+#: builtin/am.c:1658
+msgid "Falling back to patching base and 3-way merge..."
+msgstr ""
+"A recorrer a uma de base para aplicação de patches e merge com 3 pontos..."
+
+#: builtin/am.c:1673
+msgid "Failed to merge in the changes."
+msgstr "Falha ao efetuar merge das alterações."
+
+#: builtin/am.c:1697 builtin/merge.c:633
+msgid "git write-tree failed to write a tree"
+msgstr "git write-tree falhou ao escrever uma árvore"
+
+#: builtin/am.c:1704
+msgid "applying to an empty history"
+msgstr "a aplicar a um histórico vazio"
+
+#: builtin/am.c:1717 builtin/commit.c:1755 builtin/merge.c:830
+#: builtin/merge.c:855
+msgid "failed to write commit object"
+msgstr "falha ao escrever objeto de commit"
+
+#: builtin/am.c:1749 builtin/am.c:1753
+#, c-format
+msgid "cannot resume: %s does not exist."
+msgstr "não é possível continuar: %s não existe."
+
+#: builtin/am.c:1769
+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."
+
+#: builtin/am.c:1774
+msgid "Commit Body is:"
+msgstr "Corpo do commit:"
+
+#. TRANSLATORS: Make sure to include [y], [n], [e], [v] and [a]
+#. in your translation. The program will only accept English
+#. input at this point.
+#.
+#: builtin/am.c:1784
+msgid "Apply? [y]es/[n]o/[e]dit/[v]iew patch/[a]ccept all: "
+msgstr "Aplicar? [y]sim/[n]ão/[e]ditar/[v]er patch/[a]ceitar todos: "
+
+#: builtin/am.c:1834
+#, c-format
+msgid "Dirty index: cannot apply patches (dirty: %s)"
+msgstr "Índice modificado: não é possível aplicar patches (modificado: %s)"
+
+#: builtin/am.c:1869 builtin/am.c:1941
+#, c-format
+msgid "Applying: %.*s"
+msgstr "A aplicar: %.*s"
+
+#: builtin/am.c:1885
+msgid "No changes -- Patch already applied."
+msgstr "Nenhuma alteração -- Já foi aplicado o patch."
+
+#: builtin/am.c:1893
+#, c-format
+msgid "Patch failed at %s %.*s"
+msgstr "Falha ao aplicar o patch em %s %.*s"
+
+#: builtin/am.c:1899
+#, c-format
+msgid "The copy of the patch that failed is found in: %s"
+msgstr "A cópia do patch que falhou encontra-se em: %s"
+
+#: builtin/am.c:1944
+msgid ""
+"No changes - did you forget to use 'git add'?\n"
+"If there is nothing left to stage, chances are that something else\n"
+"already introduced the same changes; you might want to skip this patch."
+msgstr ""
+"Sem alterações - esqueceu-se de usar 'git add'?\n"
+"Se não há nada por preparar, provavelmente essas mesmas alterações\n"
+"já foram introduzidas; pode querer ignorar este patch."
+
+#: builtin/am.c:1951
+msgid ""
+"You still have unmerged paths in your index.\n"
+"Did you forget to use 'git add'?"
+msgstr ""
+"Ainda há caminhos não integrados no índice.\n"
+"Esqueceu-se de usar 'git add'?"
+
+#: builtin/am.c:2059 builtin/am.c:2063 builtin/am.c:2075 builtin/reset.c:308
+#: builtin/reset.c:316
+#, c-format
+msgid "Could not parse object '%s'."
+msgstr "Não foi possível analisar o objeto '%s'."
+
+#: builtin/am.c:2111
+msgid "failed to clean index"
+msgstr "falha ao limpar o índice"
+
+#: builtin/am.c:2145
+msgid ""
+"You seem to have moved HEAD since the last 'am' failure.\n"
+"Not rewinding to ORIG_HEAD"
+msgstr ""
+"Parece que a HEAD foi movida desde a última vez que o 'am' falhou.\n"
+"Não recuando a ORIG_HEAD"
+
+#: builtin/am.c:2206
+#, c-format
+msgid "Invalid value for --patch-format: %s"
+msgstr "Valor inválido de --patch-format: %s"
+
+#: builtin/am.c:2239
+msgid "git am [<options>] [(<mbox>|<Maildir>)...]"
+msgstr "git am [<opções>] [(<mbox>|<Maildir>)...]"
+
+#: builtin/am.c:2240
+msgid "git am [<options>] (--continue | --skip | --abort)"
+msgstr "git am [<opções>] (--continue | --skip | --abort)"
+
+#: builtin/am.c:2246
+msgid "run interactively"
+msgstr "executar interativamente"
+
+#: builtin/am.c:2248
+msgid "historical option -- no-op"
+msgstr "opção histórica -- sem-ação"
+
+#: builtin/am.c:2250
+msgid "allow fall back on 3way merging if needed"
+msgstr "permitir recorrer a merge com 3 pontos se necessário"
+
+#: builtin/am.c:2251 builtin/init-db.c:474 builtin/prune-packed.c:57
+#: builtin/repack.c:171
+msgid "be quiet"
+msgstr "silencioso"
+
+#: builtin/am.c:2253
+msgid "add a Signed-off-by line to the commit message"
+msgstr "adicionar uma linha com Signed-of-by no fim da mensagem de commit"
+
+#: builtin/am.c:2256
+msgid "recode into utf8 (default)"
+msgstr "recodificar em utf8 (predefinição)"
+
+#: builtin/am.c:2258
+msgid "pass -k flag to git-mailinfo"
+msgstr "passar a opção -k ao git-mailinfo"
+
+#: builtin/am.c:2260
+msgid "pass -b flag to git-mailinfo"
+msgstr "passar a opção -b ao git-mailinfo"
+
+#: builtin/am.c:2262
+msgid "pass -m flag to git-mailinfo"
+msgstr "passar a opção -m ao git-mailinfo"
+
+#: builtin/am.c:2264
+msgid "pass --keep-cr flag to git-mailsplit for mbox format"
+msgstr "passar a opção --keep-cr ao gitmailsplit para formato de mbox"
+
+#: builtin/am.c:2267
+msgid "do not pass --keep-cr flag to git-mailsplit independent of am.keepcr"
+msgstr ""
+"não passar a opção --keep-cr ao git-mailsplit independentemente de am.keepcr"
+
+#: builtin/am.c:2270
+msgid "strip everything before a scissors line"
+msgstr "retirar todo o conteúdo antes da linha de tesoura"
+
+#: builtin/am.c:2271 builtin/apply.c:4544
+msgid "action"
+msgstr "ação"
+
+#: 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:2290 builtin/am.c:2293
+#: builtin/am.c:2299
+msgid "pass it through git-apply"
+msgstr "transmitir ao git-apply"
+
+#: builtin/am.c:2280 builtin/apply.c:4568
+msgid "root"
+msgstr "raiz"
+
+#: builtin/am.c:2283 builtin/am.c:2286 builtin/apply.c:4506
+#: builtin/apply.c:4509 builtin/clone.c:86 builtin/fetch.c:95
+#: builtin/pull.c:171 builtin/submodule--helper.c:72
+#: builtin/submodule--helper.c:160 builtin/submodule--helper.c:163
+msgid "path"
+msgstr "caminho"
+
+#: builtin/am.c:2289 builtin/fmt-merge-msg.c:666 builtin/fmt-merge-msg.c:669
+#: builtin/grep.c:704 builtin/merge.c:198 builtin/pull.c:131
+#: builtin/pull.c:185 builtin/repack.c:178 builtin/repack.c:182
+#: builtin/show-branch.c:645 builtin/show-ref.c:175 builtin/tag.c:340
+#: parse-options.h:132 parse-options.h:134 parse-options.h:244
+msgid "n"
+msgstr "n"
+
+#: builtin/am.c:2292 builtin/apply.c:4512
+msgid "num"
+msgstr "num"
+
+#: builtin/am.c:2295 builtin/for-each-ref.c:37 builtin/replace.c:438
+#: builtin/tag.c:372
+msgid "format"
+msgstr "formato"
+
+#: builtin/am.c:2296
+msgid "format the patch(es) are in"
+msgstr "formato de apresentação de patches"
+
+#: builtin/am.c:2302
+msgid "override error message when patch failure occurs"
+msgstr "substituir a mensagem de erro quando a aplicação do patch falha"
+
+#: builtin/am.c:2304
+msgid "continue applying patches after resolving a conflict"
+msgstr "continuar a aplicar os patches depois de resolver os conflitos"
+
+#: builtin/am.c:2307
+msgid "synonyms for --continue"
+msgstr "sinónimo de --continue"
+
+#: builtin/am.c:2310
+msgid "skip the current patch"
+msgstr "ignorar o patch atual"
+
+#: builtin/am.c:2313
+msgid "restore the original branch and abort the patching operation."
+msgstr "restaurar o ramo original e abortar a operação de patch"
+
+#: builtin/am.c:2317
+msgid "lie about committer date"
+msgstr "mentir sobre a data de commit"
+
+#: builtin/am.c:2319
+msgid "use current timestamp for author date"
+msgstr "usar a data e hora atual como data de autor"
+
+#: builtin/am.c:2321 builtin/commit.c:1593 builtin/merge.c:225
+#: builtin/pull.c:159 builtin/revert.c:92 builtin/tag.c:355
+msgid "key-id"
+msgstr "id-chave"
+
+#: builtin/am.c:2322
+msgid "GPG-sign commits"
+msgstr "assinar os commits com GPG"
+
+#: builtin/am.c:2325
+msgid "(internal use for git-rebase)"
+msgstr "(uso interno de git-rebase)"
+
+#: builtin/am.c:2340
+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 ""
+"A opção -b/--binary há muito que é ignorada e será\n"
+"futuramente removida. Por favor não a use."
+
+#: builtin/am.c:2347
+msgid "failed to read the index"
+msgstr "falha ao ler o índice"
+
+#: builtin/am.c:2362
+#, c-format
+msgid "previous rebase directory %s still exists but mbox given."
+msgstr ""
+"o diretório de rebesa anterior %s ainda existe, mas foi fornecida uma mbox."
+
+#: builtin/am.c:2386
+#, c-format
+msgid ""
+"Stray %s directory found.\n"
+"Use \"git am --abort\" to remove it."
+msgstr ""
+"Diretório abandonado %s encontrado.\n"
+"Use \"git am --abort\" para o remover."
+
+#: builtin/am.c:2392
+msgid "Resolve operation not in progress, we are not resuming."
+msgstr "A operação de resolução não está em curso, não retomando."
+
+#: builtin/apply.c:59
+msgid "git apply [<options>] [<patch>...]"
+msgstr "git apply [<opções>] [<patch>...]"
+
+#: builtin/apply.c:111
 #, c-format
 msgid "unrecognized whitespace option '%s'"
-msgstr "espaço em braco não reconhecido: '%s'"
+msgstr "opção de espaço em branco não reconhecida '%s'"
 
-#: builtin/apply.c:121
+#: builtin/apply.c:126
 #, c-format
 msgid "unrecognized whitespace ignore option '%s'"
-msgstr ""
+msgstr "opção de ignorar espaço em branco não reconhecida '%s'"
 
-#: builtin/apply.c:815
+#: builtin/apply.c:818
 #, c-format
 msgid "Cannot prepare timestamp regexp %s"
-msgstr ""
+msgstr "Não é possível preparar a regexp de carimbo de data/hora %s"
 
-#: builtin/apply.c:824
+#: builtin/apply.c:827
 #, c-format
 msgid "regexec returned %d for input: %s"
-msgstr ""
+msgstr "regexec retornou %d para a entra: %s"
 
-#: builtin/apply.c:905
+#: builtin/apply.c:908
 #, c-format
 msgid "unable to find filename in patch at line %d"
-msgstr ""
+msgstr "não foi possível encontrar o nome do ficheiro no patch na linha %d"
 
-#: builtin/apply.c:934
+#: builtin/apply.c:940
 #, c-format
 msgid "git apply: bad git-diff - expected /dev/null, got %s on line %d"
 msgstr ""
-
-#: builtin/apply.c:937
-#, c-format
-msgid "git apply: bad git-diff - inconsistent %s filename on line %d"
-msgstr ""
+"git apply: git-diff incorreto - esperava-se /dev/null, obteve-se %s na linha "
+"%d"
 
 #: builtin/apply.c:944
 #, c-format
-msgid "git apply: bad git-diff - expected /dev/null on line %d"
+msgid "git apply: bad git-diff - inconsistent new filename on line %d"
 msgstr ""
+"git apply: git-diff incorreto - o nome do novo ficheiro na linha %d é "
+"inconsistente"
 
-#: builtin/apply.c:1387
+#: builtin/apply.c:945
+#, c-format
+msgid "git apply: bad git-diff - inconsistent old filename on line %d"
+msgstr ""
+"git apply: git-diff incorreto - o nome do ficheiro antigo na linha %d é "
+"inconsistente"
+
+#: builtin/apply.c:952
+#, c-format
+msgid "git apply: bad git-diff - expected /dev/null on line %d"
+msgstr "git apply: git-diff incorreto - esperava-se /dev/null na linha %d"
+
+#: builtin/apply.c:1415
 #, c-format
 msgid "recount: unexpected line: %.*s"
-msgstr ""
+msgstr "recontagem: linha inesperada: %.*s"
 
-#: builtin/apply.c:1444
+#: builtin/apply.c:1472
 #, c-format
 msgid "patch fragment without header at line %d: %.*s"
-msgstr ""
+msgstr "fragmento de patch sem cabeçalho na linha %d: %.*s"
 
-#: builtin/apply.c:1461
+#: builtin/apply.c:1489
 #, c-format
-msgid "git diff header lacks filename information when removing %d leading pathname component (line %d)"
-msgid_plural "git diff header lacks filename information when removing %d leading pathname components (line %d)"
+msgid ""
+"git diff header lacks filename information when removing %d leading pathname "
+"component (line %d)"
+msgid_plural ""
+"git diff header lacks filename information when removing %d leading pathname "
+"components (line %d)"
 msgstr[0] ""
+"o cabeçalho do git diff não revelou o nome do ficheiro depois de se remover "
+"%d componente do caminho (linha %d)"
 msgstr[1] ""
+"o cabeçalho do git diff não revelou o nome do ficheiro depois de se remover "
+"%d componentes de caminho (linha %d)"
 
-#: builtin/apply.c:1621
+#: builtin/apply.c:1655
 msgid "new file depends on old contents"
-msgstr ""
+msgstr "o novo ficheiro depende de conteúdos antigos"
 
-#: builtin/apply.c:1623
+#: builtin/apply.c:1657
 msgid "deleted file still has contents"
-msgstr ""
+msgstr "o ficheiro eliminado ainda tem conteúdos"
 
-#: builtin/apply.c:1649
+#: builtin/apply.c:1683
 #, c-format
 msgid "corrupt patch at line %d"
-msgstr ""
+msgstr "patch corrompido na linha %d"
 
-#: builtin/apply.c:1685
+#: builtin/apply.c:1719
 #, c-format
 msgid "new file %s depends on old contents"
-msgstr ""
+msgstr "o novo ficheiro %s depende de conteúdos antigos"
 
-#: builtin/apply.c:1687
+#: builtin/apply.c:1721
 #, c-format
 msgid "deleted file %s still has contents"
-msgstr ""
+msgstr "o ficheiro eliminado %s ainda tem conteúdos"
 
-#: builtin/apply.c:1690
+#: builtin/apply.c:1724
 #, c-format
 msgid "** warning: file %s becomes empty but is not deleted"
-msgstr ""
+msgstr "** aviso: o ficheiro %s ficará vazio, mas não será eliminado"
 
-#: builtin/apply.c:1836
+#: builtin/apply.c:1870
 #, c-format
 msgid "corrupt binary patch at line %d: %.*s"
-msgstr ""
+msgstr "patch binário corrompido na linha %d: %.*s"
 
-#. there has to be one hunk (forward hunk)
-#: builtin/apply.c:1865
+#: builtin/apply.c:1899
 #, c-format
 msgid "unrecognized binary patch at line %d"
-msgstr ""
+msgstr "patch binário não reconhecido na linha %d"
 
-#: builtin/apply.c:1951
+#: builtin/apply.c:2050
 #, c-format
 msgid "patch with only garbage at line %d"
-msgstr ""
+msgstr "patch incompreensível na linha %d"
 
-#: builtin/apply.c:2041
+#: builtin/apply.c:2140
 #, c-format
 msgid "unable to read symlink %s"
-msgstr ""
+msgstr "não é possível ler a ligação simbólica %s"
 
-#: builtin/apply.c:2045
+#: builtin/apply.c:2144
 #, c-format
 msgid "unable to open or read %s"
-msgstr "Não foi possível abrir o ler %s"
+msgstr "não é possível abrir ou ler %s"
 
-#: builtin/apply.c:2116
-msgid "oops"
-msgstr ""
-
-#: builtin/apply.c:2638
+#: builtin/apply.c:2777
 #, c-format
 msgid "invalid start of line: '%c'"
-msgstr "começo de linha inválido: '%c'"
+msgstr "início de linha inválido: '%c'"
 
-#: builtin/apply.c:2756
+#: builtin/apply.c:2896
 #, 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] ""
+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)"
 
-#: builtin/apply.c:2768
+#: builtin/apply.c:2908
 #, c-format
 msgid "Context reduced to (%ld/%ld) to apply fragment at %d"
-msgstr ""
+msgstr "Contexto reduzido para (%ld/%ld) para aplicar o fragmento em %d"
 
-#: builtin/apply.c:2774
+#: builtin/apply.c:2914
 #, c-format
 msgid ""
 "while searching for:\n"
 "%.*s"
 msgstr ""
+"ao procura por:\n"
+"%.*s"
 
-#: builtin/apply.c:2793
+#: builtin/apply.c:2934
 #, c-format
 msgid "missing binary patch data for '%s'"
-msgstr ""
+msgstr "falta de dados do patch binário '%s'"
 
-#: builtin/apply.c:2896
+#: builtin/apply.c:3035
 #, c-format
 msgid "binary patch does not apply to '%s'"
-msgstr ""
+msgstr "o patch binário não foi aplicado corretamente a '%s'"
 
-#: builtin/apply.c:2902
+#: builtin/apply.c:3041
 #, 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)"
 
-#: builtin/apply.c:2923
-#, c-format
-msgid "patch failed: %s:%ld"
-msgstr ""
-
-#: builtin/apply.c:3038
-#, c-format
-msgid "patch %s has been renamed/deleted"
-msgstr ""
-
-#: builtin/apply.c:3045
 #: builtin/apply.c:3062
 #, c-format
+msgid "patch failed: %s:%ld"
+msgstr "falha ao aplicar o patch: %s:%ld"
+
+#: builtin/apply.c:3186
+#, c-format
+msgid "cannot checkout %s"
+msgstr "não é possível extrair %s"
+
+#: builtin/apply.c:3231 builtin/apply.c:3242 builtin/apply.c:3287
+#, c-format
 msgid "read of %s failed"
-msgstr "ler %s falhou"
+msgstr "falha ao ler %s"
 
-#: builtin/apply.c:3077
-msgid "removal patch leaves file contents"
-msgstr ""
-
-#: builtin/apply.c:3098
+#: builtin/apply.c:3239
 #, c-format
-msgid "%s: already exists in working directory"
-msgstr "%s: já existe no espaço de trabalho"
+msgid "reading from '%s' beyond a symbolic link"
+msgstr "a ler '%s' indicado por uma ligação simbólica"
 
-#: builtin/apply.c:3136
+#: builtin/apply.c:3267 builtin/apply.c:3489
 #, c-format
-msgid "%s: has been deleted/renamed"
-msgstr ""
+msgid "path %s has been renamed/deleted"
+msgstr "o caminho %s foi eliminado ou mudou de nome"
 
-#: builtin/apply.c:3141
-#: builtin/apply.c:3172
+#: builtin/apply.c:3348 builtin/apply.c:3503
+#, c-format
+msgid "%s: does not exist in index"
+msgstr "%s: não existe no índice"
+
+#: builtin/apply.c:3352 builtin/apply.c:3495 builtin/apply.c:3517
 #, c-format
 msgid "%s: %s"
 msgstr "%s: %s"
 
-#: builtin/apply.c:3152
-#, c-format
-msgid "%s: does not exist in index"
-msgstr ""
-
-#: builtin/apply.c:3166
+#: builtin/apply.c:3357 builtin/apply.c:3511
 #, c-format
 msgid "%s: does not match index"
-msgstr "%s: não tem correspondencia ao index"
+msgstr "%s: não tem correspondência no índice"
 
-#: builtin/apply.c:3183
+#: builtin/apply.c:3459
+msgid "removal patch leaves file contents"
+msgstr "patch de remoção deixa conteúdos no ficheiro"
+
+#: builtin/apply.c:3528
 #, c-format
 msgid "%s: wrong type"
-msgstr ""
+msgstr "%s: tipo errado"
 
-#: builtin/apply.c:3185
+#: builtin/apply.c:3530
 #, c-format
 msgid "%s has type %o, expected %o"
-msgstr ""
+msgstr "%s é do tipo %o, esperado %o"
 
-#: builtin/apply.c:3240
+#: builtin/apply.c:3689 builtin/apply.c:3691
+#, c-format
+msgid "invalid path '%s'"
+msgstr "caminho inválido '%s'"
+
+#: builtin/apply.c:3746
 #, c-format
 msgid "%s: already exists in index"
-msgstr "%s: já existe no indíce"
+msgstr "%s: já existe no índice"
 
-#: builtin/apply.c:3259
+#: builtin/apply.c:3749
 #, c-format
-msgid "new mode (%o) of %s does not match old mode (%o)%s%s"
-msgstr ""
+msgid "%s: already exists in working directory"
+msgstr "%s: já existe no diretório de trabalho"
 
-#: builtin/apply.c:3265
+#: builtin/apply.c:3769
+#, 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)"
+
+#: builtin/apply.c:3774
+#, 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"
+
+#: builtin/apply.c:3794
+#, c-format
+msgid "affected file '%s' is beyond a symbolic link"
+msgstr "o ficheiro afetado '%s' é indicado por uma ligação simbólica"
+
+#: builtin/apply.c:3798
 #, c-format
 msgid "%s: patch does not apply"
-msgstr ""
+msgstr "%s: patch não se aplica com sucesso"
 
-#: builtin/apply.c:3278
+#: builtin/apply.c:3812
 #, c-format
 msgid "Checking patch %s..."
-msgstr ""
+msgstr "A verificar o patch %s..."
 
-#: builtin/apply.c:3333
-#: builtin/checkout.c:212
-#: builtin/reset.c:158
+#: builtin/apply.c:3905 builtin/checkout.c:233 builtin/reset.c:135
 #, c-format
 msgid "make_cache_entry failed for path '%s'"
-msgstr ""
+msgstr "falha ao invocar make_cache_entry em '%s'"
 
-#: builtin/apply.c:3476
+#: builtin/apply.c:4048
 #, c-format
 msgid "unable to remove %s from index"
-msgstr ""
+msgstr "não é possível remover %s do índice"
 
-#: builtin/apply.c:3503
+#: builtin/apply.c:4077
 #, c-format
-msgid "corrupt patch for subproject %s"
-msgstr ""
+msgid "corrupt patch for submodule %s"
+msgstr "patch corrompido no submódulo %s"
 
-#: builtin/apply.c:3507
+#: builtin/apply.c:4081
 #, c-format
 msgid "unable to stat newly created file '%s'"
-msgstr "não é possivel 'stat' o novo ficheiro creado '%s'"
+msgstr "não é possível obter estado do novo ficheiro criado '%s'"
 
-#: builtin/apply.c:3512
+#: builtin/apply.c:4086
 #, 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"
 
-#: builtin/apply.c:3515
+#: builtin/apply.c:4089 builtin/apply.c:4197
 #, c-format
 msgid "unable to add cache entry for %s"
-msgstr ""
+msgstr "não é possível adicionar %s à cache"
 
-#: builtin/apply.c:3548
+#: builtin/apply.c:4122
 #, c-format
 msgid "closing file '%s'"
-msgstr "fechar fichero '%s'"
+msgstr "a fechar o ficheiro '%s'"
 
-#: builtin/apply.c:3597
+#: builtin/apply.c:4171
 #, c-format
 msgid "unable to write file '%s' mode %o"
-msgstr ""
+msgstr "não é possível escrever o ficheiro '%s' com o modo %o"
 
-#: builtin/apply.c:3653
+#: builtin/apply.c:4258
 #, c-format
 msgid "Applied patch %s cleanly."
-msgstr ""
+msgstr "Patch %s aplicado com sucesso."
 
-#: builtin/apply.c:3661
+#: builtin/apply.c:4266
 msgid "internal error"
-msgstr ""
+msgstr "erro interno"
 
-#. Say this even without --verbose
-#: builtin/apply.c:3664
+#: builtin/apply.c:4269
 #, c-format
 msgid "Applying patch %%s with %d reject..."
 msgid_plural "Applying patch %%s with %d rejects..."
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "A aplicar patch %%s com %d rejeição..."
+msgstr[1] "A aplicar patch %%s com %d rejeições..."
 
-#: builtin/apply.c:3674
+#: builtin/apply.c:4279
 #, c-format
 msgid "truncating .rej filename to %.*s.rej"
-msgstr ""
+msgstr "a truncar o nome do ficheiro .rej em %.*s.rej "
 
-#: builtin/apply.c:3695
+#: builtin/apply.c:4300
 #, c-format
 msgid "Hunk #%d applied cleanly."
-msgstr ""
+msgstr "Excerto nº%d aplicado com sucesso."
 
-#: builtin/apply.c:3698
+#: builtin/apply.c:4303
 #, c-format
 msgid "Rejected hunk #%d."
-msgstr ""
+msgstr "Excerto nº%d rejeitado."
 
-#: builtin/apply.c:3829
+#: builtin/apply.c:4393
 msgid "unrecognized input"
 msgstr "entrada não reconhecida"
 
-#: builtin/apply.c:3840
+#: builtin/apply.c:4404
 msgid "unable to read index file"
-msgstr "Não foi possível ler o fichero indíce"
+msgstr "não foi possível ler o ficheiro de índice"
 
-#: builtin/apply.c:4035
+#: builtin/apply.c:4507
+msgid "don't apply changes matching the given path"
+msgstr "não aplicar alterações que correspondam ao caminho fornecido"
+
+#: builtin/apply.c:4510
+msgid "apply changes matching the given path"
+msgstr "aplicar alterações que correspondam ao caminho fornecido"
+
+#: builtin/apply.c:4513
+msgid "remove <num> leading slashes from traditional diff paths"
+msgstr "remover <num> barras à esquerda dos caminhos de diff tradicional"
+
+#: builtin/apply.c:4516
+msgid "ignore additions made by the patch"
+msgstr "ignorar adições feitas pelo patch"
+
+#: builtin/apply.c:4518
+msgid "instead of applying the patch, output diffstat for the input"
+msgstr "em vez de aplicar o patch, mostrar o diffstat da entrada"
+
+#: builtin/apply.c:4522
+msgid "show number of added and deleted lines in decimal notation"
+msgstr "mostrar número de linhas adicionadas e removidas em notação decimal"
+
+#: builtin/apply.c:4524
+msgid "instead of applying the patch, output a summary for the input"
+msgstr "em vez de aplicar o patch, mostrar um resumo da entrada"
+
+#: builtin/apply.c:4526
+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"
+
+#: builtin/apply.c:4528
+msgid "make sure the patch is applicable to the current index"
+msgstr "garantir que o patch pode ser aplicado ao índice atual"
+
+#: builtin/apply.c:4530
+msgid "apply a patch without touching the working tree"
+msgstr "aplicar um patch sem tocar na árvore de trabalho"
+
+#: builtin/apply.c:4532
+msgid "accept a patch that touches outside the working area"
+msgstr "aceitar patches que alteram ficheiros fora da área de trabalho"
+
+#: builtin/apply.c:4534
+msgid "also apply the patch (use with --stat/--summary/--check)"
+msgstr "aplicar o patch também (use com --stat/--summary/--check)"
+
+#: builtin/apply.c:4536
+msgid "attempt three-way merge if a patch does not apply"
+msgstr "tentar merge com três pontos se um patch não for aplicado corretamente"
+
+#: builtin/apply.c:4538
+msgid "build a temporary index based on embedded index information"
+msgstr ""
+"construir um índice temporário baseado na informação incorporada do índice"
+
+#: builtin/apply.c:4541 builtin/checkout-index.c:169 builtin/ls-files.c:425
+msgid "paths are separated with NUL character"
+msgstr "os caminhos estão separados por caracteres NUL"
+
+#: builtin/apply.c:4543
+msgid "ensure at least <n> lines of context match"
+msgstr "garantir que, pelo menos, <n> linhas de contexto coincidem"
+
+#: builtin/apply.c:4545
+msgid "detect new or modified lines that have whitespace errors"
+msgstr "detetar linhas novas ou modificadas que tenham espaços em branco"
+
+#: builtin/apply.c:4548 builtin/apply.c:4551
+msgid "ignore changes in whitespace when finding context"
+msgstr "ignorar alterações de espaço em branco ao procurar contexto"
+
+#: builtin/apply.c:4554
+msgid "apply the patch in reverse"
+msgstr "aplicar o patch em reverso"
+
+#: builtin/apply.c:4556
+msgid "don't expect at least one line of context"
+msgstr "não esperar nenhuma linha de contexto"
+
+#: builtin/apply.c:4558
+msgid "leave the rejected hunks in corresponding *.rej files"
+msgstr "deixar os excertos rejeitados nos respetivos ficheiros *.rej"
+
+#: builtin/apply.c:4560
+msgid "allow overlapping hunks"
+msgstr "permitir a sobreposição de excertos"
+
+#: builtin/apply.c:4563
+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"
+
+#: builtin/apply.c:4566
+msgid "do not trust the line counts in the hunk headers"
+msgstr "não confiar na contagem de linhas no cabeçalho dos excertos"
+
+#: builtin/apply.c:4569
+msgid "prepend <root> to all filenames"
+msgstr "preceder <root> a todos os nomes de ficheiro"
+
+#: builtin/apply.c:4591
+msgid "--3way outside a repository"
+msgstr "--3way fora de um repositório"
+
+#: builtin/apply.c:4599
 msgid "--index outside a repository"
-msgstr "--index fora de um repositorio"
+msgstr "--index fora de um repositório"
 
-#: builtin/apply.c:4038
+#: builtin/apply.c:4602
 msgid "--cached outside a repository"
-msgstr "--cached fora de um repositorio"
+msgstr "--cached fora de um repositório"
 
-#: builtin/apply.c:4054
+#: builtin/apply.c:4621
 #, c-format
 msgid "can't open patch '%s'"
-msgstr "não é possivel abrir patch '%s'"
+msgstr "não é possível abrir o patch '%s'"
 
-#: builtin/apply.c:4068
+#: builtin/apply.c:4635
 #, c-format
 msgid "squelched %d whitespace error"
 msgid_plural "squelched %d whitespace errors"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "%d erro de espaço em branco reprimido"
+msgstr[1] "%d erros de espaço em branco repimidos"
 
-#: builtin/apply.c:4074
-#: builtin/apply.c:4084
+#: builtin/apply.c:4641 builtin/apply.c:4651
 #, c-format
 msgid "%d line adds whitespace errors."
 msgid_plural "%d lines add whitespace errors."
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "%d linha adiciona erros de espaço em branco."
+msgstr[1] "%d linhas adicionam erros de espaço em branco."
 
 #: builtin/archive.c:17
 #, c-format
 msgid "could not create archive file '%s'"
-msgstr ""
+msgstr "não foi possível criar o ficheiro de arquivo '%s'"
 
 #: builtin/archive.c:20
 msgid "could not redirect output"
-msgstr ""
+msgstr "não foi possível redirecionar a saída"
 
 #: builtin/archive.c:37
 msgid "git archive: Remote with no URL"
-msgstr ""
+msgstr "git archive: Remoto sem URL"
 
 #: builtin/archive.c:58
 msgid "git archive: expected ACK/NAK, got EOF"
-msgstr ""
+msgstr "git archive: esperava-se ACK/NAK, obteve-se EOF"
 
-#: builtin/archive.c:63
+#: builtin/archive.c:61
 #, c-format
 msgid "git archive: NACK %s"
-msgstr ""
+msgstr "git archive: NACK %s"
 
-#: builtin/archive.c:65
+#: builtin/archive.c:63
 #, c-format
 msgid "remote error: %s"
 msgstr "erro remoto: %s"
 
-#: builtin/archive.c:66
+#: builtin/archive.c:64
 msgid "git archive: protocol error"
-msgstr ""
+msgstr "git archive: erro de protocolo"
 
-#: builtin/archive.c:71
+#: builtin/archive.c:68
 msgid "git archive: expected a flush"
-msgstr ""
+msgstr "git archive: esvaziamento de cache (flush) esperado"
 
-#: builtin/branch.c:144
+#: builtin/bisect--helper.c:7
+msgid "git bisect--helper --next-all [--no-checkout]"
+msgstr "git bisect--helper --next-all [--no-checkout]"
+
+#: builtin/bisect--helper.c:17
+msgid "perform 'git bisect next'"
+msgstr "executar 'git bisect next'"
+
+#: builtin/bisect--helper.c:19
+msgid "update BISECT_HEAD instead of checking out the current commit"
+msgstr "atualizar BISECT_HEAD em vez de extrair o commit atual"
+
+#: builtin/blame.c:33
+msgid "git blame [<options>] [<rev-opts>] [<rev>] [--] <file>"
+msgstr "git blame [<opções>] [<rev-opções>] [<rev>] [--] <ficheiro>"
+
+#: builtin/blame.c:38
+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:1782
+msgid "Blaming lines"
+msgstr "Linhas de culpa"
+
+#: builtin/blame.c:2530
+msgid "Show blame entries as we find them, incrementally"
+msgstr ""
+"Mostrar entradas de culpa à medida que forem encontradas, incrementalmente"
+
+#: builtin/blame.c:2531
+msgid "Show blank SHA-1 for boundary commits (Default: off)"
+msgstr ""
+"Mostar SHA-1 dos commits de limite em branco (Predefinição: desativado)"
+
+#: builtin/blame.c:2532
+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:2533
+msgid "Show work cost statistics"
+msgstr "Mostrar estatísticas de custo de atividade"
+
+#: builtin/blame.c:2534
+msgid "Force progress reporting"
+msgstr "Forçar informação de progresso"
+
+#: builtin/blame.c:2535
+msgid "Show output score for blame entries"
+msgstr "Mostrar a pontuação das entradas de culpa"
+
+#: builtin/blame.c:2536
+msgid "Show original filename (Default: auto)"
+msgstr "Mostrar o nome do ficheiro original (Predefinição: auto)"
+
+#: builtin/blame.c:2537
+msgid "Show original linenumber (Default: off)"
+msgstr "Mostrar números de linha originais (Predefinição: desativado)"
+
+#: builtin/blame.c:2538
+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:2539
+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:2540
+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:2541
+msgid "Show raw timestamp (Default: off)"
+msgstr "Mostrar carimbo de data/hora em bruto (Predefinição: desativado)"
+
+#: builtin/blame.c:2542
+msgid "Show long commit SHA1 (Default: off)"
+msgstr "Mostrar SHA1 longo de commit (Predefinição: desativado)"
+
+#: builtin/blame.c:2543
+msgid "Suppress author name and timestamp (Default: off)"
+msgstr ""
+"Suprimir nome de autor e carimbo de data/hora (Predefinição: desativado)"
+
+#: builtin/blame.c:2544
+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:2545
+msgid "Ignore whitespace differences"
+msgstr "Ignorar as diferenças de espaço em branco"
+
+#: builtin/blame.c:2546
+msgid "Spend extra cycles to find better match"
+msgstr "Despender ciclos extra para encontrar uma melhor correspondência"
+
+#: builtin/blame.c:2547
+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:2548
+msgid "Use <file>'s contents as the final image"
+msgstr "Usar o conteúdo do <ficheiro> como imagem final"
+
+#: builtin/blame.c:2549 builtin/blame.c:2550
+msgid "score"
+msgstr "pontuação"
+
+#: builtin/blame.c:2549
+msgid "Find line copies within and across files"
+msgstr "Localizar linhas copiadas dentro e entre ficheiros"
+
+#: builtin/blame.c:2550
+msgid "Find line movements within and across files"
+msgstr "Localizar linhas movidas dentro e entre ficheiros"
+
+#: builtin/blame.c:2551
+msgid "n,m"
+msgstr "n,m"
+
+#: builtin/blame.c:2551
+msgid "Process only line range n,m, counting from 1"
+msgstr "Processar apenas o intervalo de linhas n,m, a cantar de 1"
+
+#. 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:2640
+msgid "4 years, 11 months ago"
+msgstr "há 4 anos e 11 meses atrás"
+
+#: builtin/branch.c:25
+msgid "git branch [<options>] [-r | -a] [--merged | --no-merged]"
+msgstr "git branch [<opções>] [-r | -a] [--merged | --no-merged]"
+
+#: builtin/branch.c:26
+msgid "git branch [<options>] [-l] [-f] <branch-name> [<start-point>]"
+msgstr "git branch [<opções>] [-l] [-f] <nome-ramo> [<ponto-de-partida>]"
+
+#: builtin/branch.c:27
+msgid "git branch [<options>] [-r] (-d | -D) <branch-name>..."
+msgstr "git branch [<opções>] [-r] (-d | -D) <nome-do-ramo>..."
+
+#: builtin/branch.c:28
+msgid "git branch [<options>] (-m | -M) [<old-branch>] <new-branch>"
+msgstr "git branch [<opções>] (-m | -M) [<ramo-antigo>] <novo-ramo>"
+
+#: builtin/branch.c:29
+msgid "git branch [<options>] [-r | -a] [--points-at]"
+msgstr "git branch [<opções>] [-r | -a] [--points-at]"
+
+#: builtin/branch.c:142
 #, c-format
 msgid ""
 "deleting branch '%s' that has been merged to\n"
 "         '%s', but not yet merged to HEAD."
 msgstr ""
+"a eliminar o ramo '%s' incorporado em\n"
+"         '%s', mas ainda não incorporado em HEAD."
 
-#: builtin/branch.c:148
+#: builtin/branch.c:146
 #, c-format
 msgid ""
 "not deleting branch '%s' that is not yet merged to\n"
 "         '%s', even though it is merged to HEAD."
 msgstr ""
+"ramo '%s' não eliminado, visto que ainda não foi incorporado em\n"
+"         '%s', apesar de já ter sido incorporado em HEAD."
 
-#: builtin/branch.c:180
-msgid "cannot use -a with -d"
-msgstr "Não é possível usar -a com um -d"
-
-#: builtin/branch.c:186
-msgid "Couldn't look up commit object for HEAD"
-msgstr ""
-
-#: builtin/branch.c:191
-#, c-format
-msgid "Cannot delete the branch '%s' which you are currently on."
-msgstr ""
-
-#: builtin/branch.c:202
-#, c-format
-msgid "remote branch '%s' not found."
-msgstr "rama remota '%s não encontrada."
-
-#: builtin/branch.c:203
-#, c-format
-msgid "branch '%s' not found."
-msgstr "rama '%s' não encontrado."
-
-#: builtin/branch.c:210
+#: builtin/branch.c:160
 #, c-format
 msgid "Couldn't look up commit object for '%s'"
-msgstr ""
+msgstr "Não foi possível pesquisar pelo objeto commit de '%s'"
 
-#: builtin/branch.c:216
+#: builtin/branch.c:164
 #, c-format
 msgid ""
 "The branch '%s' is not fully merged.\n"
 "If you are sure you want to delete it, run 'git branch -D %s'."
 msgstr ""
+"O ramo '%s' não foi totalmente incorporado.\n"
+"Se tem a certeza que o quer eliminar, execute 'git branch -D %s'."
 
-#: builtin/branch.c:225
+#: builtin/branch.c:177
+msgid "Update of config-file failed"
+msgstr "Falha ao atualizar o ficheiro de configuração"
+
+#: builtin/branch.c:205
+msgid "cannot use -a with -d"
+msgstr "não é possível usar -a com -d"
+
+#: builtin/branch.c:211
+msgid "Couldn't look up commit object for HEAD"
+msgstr "Não foi possível pesquisar pelo objeto commit de HEAD"
+
+#: builtin/branch.c:219
 #, c-format
-msgid "Error deleting remote branch '%s'"
-msgstr ""
+msgid "Cannot delete the branch '%s' which you are currently on."
+msgstr "Não é possível eliminar o ramo '%s' no qual se encontra neste momento."
 
-#: builtin/branch.c:226
+#: builtin/branch.c:235
+#, c-format
+msgid "remote-tracking branch '%s' not found."
+msgstr "ramo remoto seguido '%s' não encontrado."
+
+#: builtin/branch.c:236
+#, c-format
+msgid "branch '%s' not found."
+msgstr "ramo '%s' não encontrado."
+
+#: builtin/branch.c:251
+#, c-format
+msgid "Error deleting remote-tracking branch '%s'"
+msgstr "Erro a eliminar o ramo remoto seguido '%s'"
+
+#: builtin/branch.c:252
 #, c-format
 msgid "Error deleting branch '%s'"
-msgstr "Erro a eliminar rama '%s'"
+msgstr "Erro a eliminar ramo '%s'"
 
-#: builtin/branch.c:233
+#: builtin/branch.c:259
 #, c-format
-msgid "Deleted remote branch %s (was %s).\n"
-msgstr ""
+msgid "Deleted remote-tracking branch %s (was %s).\n"
+msgstr "Ramo remoto seguido %s eliminado (era %s).\n"
 
-#: builtin/branch.c:234
+#: builtin/branch.c:260
 #, c-format
 msgid "Deleted branch %s (was %s).\n"
-msgstr "Eliminar rama %s (era %s).\n"
+msgstr "Ramo %s eliminado (era %s).\n"
 
-#: builtin/branch.c:239
-msgid "Update of config-file failed"
-msgstr ""
-
-#: builtin/branch.c:337
+#: builtin/branch.c:303
 #, c-format
-msgid "branch '%s' does not point at a commit"
-msgstr ""
+msgid "[%s: gone]"
+msgstr "[%s: desaparecido]"
 
-#: builtin/branch.c:409
+#: builtin/branch.c:308
 #, c-format
-msgid "behind %d] "
-msgstr "atrás %d] "
+msgid "[%s]"
+msgstr "[%s]"
 
-#: builtin/branch.c:411
+#: builtin/branch.c:313
 #, c-format
-msgid "ahead %d] "
-msgstr "a frente %d] "
+msgid "[%s: behind %d]"
+msgstr "[%s: atrás %d]"
 
-#: builtin/branch.c:413
+#: builtin/branch.c:315
 #, c-format
-msgid "ahead %d, behind %d] "
-msgstr "a frente %d, atrás %d] "
+msgid "[behind %d]"
+msgstr "[atrás %d]"
 
-#: builtin/branch.c:521
+#: builtin/branch.c:319
+#, c-format
+msgid "[%s: ahead %d]"
+msgstr "[%s: à frente %d]"
+
+#: builtin/branch.c:321
+#, c-format
+msgid "[ahead %d]"
+msgstr "[à frente %d]"
+
+#: builtin/branch.c:324
+#, c-format
+msgid "[%s: ahead %d, behind %d]"
+msgstr "[%s: à frente %d, atrás %d]"
+
+#: builtin/branch.c:327
+#, c-format
+msgid "[ahead %d, behind %d]"
+msgstr "[à frente %d, atrás %d]"
+
+#: builtin/branch.c:340
+msgid " **** invalid ref ****"
+msgstr " **** referências inválida ****"
+
+#: builtin/branch.c:366
+#, c-format
+msgid "(no branch, rebasing %s)"
+msgstr "(nenhum ramo, a efetuar rebase de %s)"
+
+#: builtin/branch.c:369
+#, c-format
+msgid "(no branch, bisect started on %s)"
+msgstr "(nenhum ramo, bissecção iniciada em %s)"
+
+#: builtin/branch.c:375
+#, c-format
+msgid "(HEAD detached at %s)"
+msgstr "(HEAD destacada em %s)"
+
+#: builtin/branch.c:378
+#, c-format
+msgid "(HEAD detached from %s)"
+msgstr "(HEAD destacada de %s)"
+
+#: builtin/branch.c:382
 msgid "(no branch)"
-msgstr "(não é rama)"
+msgstr "(nenhum ramo)"
 
-#: builtin/branch.c:586
-msgid "some refs could not be read"
-msgstr ""
-
-#: builtin/branch.c:599
+#: builtin/branch.c:524
 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:609
+#: builtin/branch.c:534
 #, c-format
 msgid "Invalid branch name: '%s'"
-msgstr "Nome da rama inválida: '%s'"
+msgstr "Nome de ramo inválido: '%s'"
 
-#: builtin/branch.c:624
+#: builtin/branch.c:549
 msgid "Branch rename failed"
-msgstr "Falhou renomeação da rama"
+msgstr "Falha ao mudar o nome do ramo"
 
-#: builtin/branch.c:628
+#: builtin/branch.c:553
 #, c-format
 msgid "Renamed a misnamed branch '%s' away"
-msgstr "Renomeado uma rama erronea '%s'"
+msgstr "O ramo incorretamente denominado '%s' mudou de nome"
 
-#: builtin/branch.c:632
+#: builtin/branch.c:557
 #, c-format
 msgid "Branch renamed to %s, but HEAD is not updated!"
-msgstr ""
+msgstr "O nome do ramo mudou para %s, mas a HEAD não está atualizada!"
 
-#: builtin/branch.c:639
+#: builtin/branch.c:564
 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:654
-#, c-format
-msgid "malformed object name %s"
-msgstr ""
-
-#: builtin/branch.c:678
+#: builtin/branch.c:586
 #, c-format
 msgid "could not write branch description template: %s"
-msgstr ""
+msgstr "não foi possível escrever o modelo da descrição de ramo: %s"
 
-#: builtin/branch.c:769
+#: builtin/branch.c:615
+msgid "Generic options"
+msgstr "Opções genéricas"
+
+#: builtin/branch.c:617
+msgid "show hash and subject, give twice for upstream branch"
+msgstr "apresentar hash e assunto, duplique para ramos a montante"
+
+#: builtin/branch.c:618
+msgid "suppress informational messages"
+msgstr "suprimir mensagens informativas"
+
+#: builtin/branch.c:619
+msgid "set up tracking mode (see git-pull(1))"
+msgstr "configurar modo de seguimento (consulte git-pull(1))"
+
+#: builtin/branch.c:621
+msgid "change upstream info"
+msgstr "alterar a informação do ramo a montante"
+
+#: builtin/branch.c:625
+msgid "use colored output"
+msgstr "usar saída colorida"
+
+#: builtin/branch.c:626
+msgid "act on remote-tracking branches"
+msgstr "atuar sobre ramos remotos seguidos"
+
+#: builtin/branch.c:628 builtin/branch.c:629
+msgid "print only branches that contain the commit"
+msgstr "imprimir apenas ramos que contenham o commit"
+
+#: builtin/branch.c:632
+msgid "Specific git-branch actions:"
+msgstr "Ações específicas do git-branch:"
+
+#: builtin/branch.c:633
+msgid "list both remote-tracking and local branches"
+msgstr "listar ramos remotos seguidos e ramos locais"
+
+#: builtin/branch.c:635
+msgid "delete fully merged branch"
+msgstr "eliminar um ramo totalmente incorporado"
+
+#: builtin/branch.c:636
+msgid "delete branch (even if not merged)"
+msgstr "eliminar um ramo (mesmo que não tenha sido incorporado)"
+
+#: builtin/branch.c:637
+msgid "move/rename a branch and its reflog"
+msgstr "mover ou mudar o nome de um ramo e o seu reflog"
+
+#: builtin/branch.c:638
+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:639
+msgid "list branch names"
+msgstr "listar os nomes dos ramos"
+
+#: builtin/branch.c:640
+msgid "create the branch's reflog"
+msgstr "criar reflog do ramo"
+
+#: builtin/branch.c:642
+msgid "edit the description for the branch"
+msgstr "editar a descrição do ramo"
+
+#: builtin/branch.c:643
+msgid "force creation, move/rename, deletion"
+msgstr "forçar criação, mover/mudar o nome ou exclusão"
+
+#: builtin/branch.c:644
+msgid "print only branches that are merged"
+msgstr "imprimir apenas os ramos que foram incorporados"
+
+#: builtin/branch.c:645
+msgid "print only branches that are not merged"
+msgstr "imprimir apenas os ramos que não foram incorporados"
+
+#: builtin/branch.c:646
+msgid "list branches in columns"
+msgstr "listar os ramos em colunas"
+
+#: builtin/branch.c:647 builtin/for-each-ref.c:38 builtin/tag.c:366
+msgid "key"
+msgstr "chave"
+
+#: builtin/branch.c:648 builtin/for-each-ref.c:39 builtin/tag.c:367
+msgid "field name to sort on"
+msgstr "nome do campo pelo qual ordernar"
+
+#: builtin/branch.c:650 builtin/for-each-ref.c:41 builtin/notes.c:401
+#: builtin/notes.c:404 builtin/notes.c:564 builtin/notes.c:567
+#: builtin/tag.c:369
+msgid "object"
+msgstr "objeto"
+
+#: builtin/branch.c:651
+msgid "print only branches of the object"
+msgstr "imprimir apenas os ramos do objeto"
+
+#: builtin/branch.c:669
 msgid "Failed to resolve HEAD as a valid ref."
-msgstr ""
+msgstr "Falha ao resolver HEAD numa referência válida."
 
-#: builtin/branch.c:774
-#: builtin/clone.c:558
+#: builtin/branch.c:673 builtin/clone.c:705
 msgid "HEAD not found below refs/heads!"
-msgstr ""
+msgstr "HEAD não encontrada em refs/heads!"
 
-#: builtin/branch.c:794
+#: builtin/branch.c:693
 msgid "--column and --verbose are incompatible"
 msgstr "--column e --verbose são incompatíveis"
 
-#: builtin/branch.c:843
+#: builtin/branch.c:704 builtin/branch.c:746
+msgid "branch name required"
+msgstr "nome do ramo é obrigatório"
+
+#: builtin/branch.c:722
+msgid "Cannot give description to detached HEAD"
+msgstr "Não é possível atribuir descrição a HEAD destacada"
+
+#: builtin/branch.c:727
+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:734
+#, c-format
+msgid "No commit on branch '%s' yet."
+msgstr "Ainda não há commits no ramo '%s'."
+
+#: builtin/branch.c:737
+#, c-format
+msgid "No branch named '%s'."
+msgstr "Não há nenhum ramo denominado '%s'."
+
+#: builtin/branch.c:752
+msgid "too many branches for a rename operation"
+msgstr "demasiados ramos para uma operação de mudança de nome"
+
+#: builtin/branch.c:757
+msgid "too many branches to set new upstream"
+msgstr "demasiados ramos para definir novo ramo a montante"
+
+#: builtin/branch.c:761
+#, c-format
+msgid ""
+"could not set upstream of HEAD to %s when it does not point to any branch."
+msgstr ""
+"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:764 builtin/branch.c:786 builtin/branch.c:807
+#, c-format
+msgid "no such branch '%s'"
+msgstr "o ramo '%s' não existe"
+
+#: builtin/branch.c:768
+#, c-format
+msgid "branch '%s' does not exist"
+msgstr "o ramo '%s' não existe"
+
+#: builtin/branch.c:780
+msgid "too many branches to unset upstream"
+msgstr "demasiados ramos para remover a definição de ramo a montante"
+
+#: builtin/branch.c:784
+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:790
+#, 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:804
+msgid "it does not make sense to create 'HEAD' manually"
+msgstr "não faz sentido criar 'HEAD' manualmente"
+
+#: builtin/branch.c:810
 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"
 
-#: builtin/bundle.c:47
+#: builtin/branch.c:813
+#, 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"
+
+#: builtin/branch.c:830
+#, c-format
+msgid ""
+"\n"
+"If you wanted to make '%s' track '%s', do this:\n"
+"\n"
+msgstr ""
+"\n"
+"Se quer que '%s' siga '%s', faça:\n"
+"\n"
+
+#: builtin/branch.c:831
+#, c-format
+msgid "    git branch -d %s\n"
+msgstr "    git branch -d %s\n"
+
+#: builtin/branch.c:832
+#, c-format
+msgid "    git branch --set-upstream-to %s\n"
+msgstr "    git branch --set-upstream-to %s\n"
+
+#: builtin/bundle.c:51
 #, c-format
 msgid "%s is okay\n"
-msgstr "%s está bem\n"
+msgstr "%s está correto\n"
 
-#: builtin/bundle.c:56
+#: builtin/bundle.c:64
 msgid "Need a repository to create a bundle."
-msgstr ""
+msgstr "É necessário um repositório para criar um bundle."
 
-#: builtin/bundle.c:60
+#: builtin/bundle.c:68
 msgid "Need a repository to unbundle."
-msgstr ""
+msgstr "É preciso um repositório para desempacotar."
 
-#: builtin/checkout.c:113
-#: builtin/checkout.c:146
+#: builtin/cat-file.c:428
+msgid ""
+"git cat-file (-t [--allow-unknown-type]|-s [--allow-unknown-type]|-e|-p|"
+"<type>|--textconv) <object>"
+msgstr ""
+"git cat-file (-t [--allow-unknown-type]|-s [--allow-unknown-type]|-e|-p|"
+"<tipo>|--textconv) <objeto>"
+
+#: 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:466
+msgid "<type> can be one of: blob, tree, commit, tag"
+msgstr "<tipo> pode ser um de: blob, tree, commit, tag"
+
+#: builtin/cat-file.c:467
+msgid "show object type"
+msgstr "mostrar tipo do objeto"
+
+#: builtin/cat-file.c:468
+msgid "show object size"
+msgstr "mostrar tamanho do objeto"
+
+#: builtin/cat-file.c:470
+msgid "exit with zero when there's no error"
+msgstr "sair com retorno zero quando não houver erros"
+
+#: builtin/cat-file.c:471
+msgid "pretty-print object's content"
+msgstr "mostrar conteúdo do objeto com impressão bonita"
+
+#: builtin/cat-file.c:473
+msgid "for blob objects, run textconv on object's content"
+msgstr "executar textconv no conteúdo de objetos blob"
+
+#: builtin/cat-file.c:475
+msgid "allow -s and -t to work with broken/corrupt objects"
+msgstr "permitir que -s e -t funcionem com objetos danificados/corrompidos"
+
+#: builtin/cat-file.c:476
+msgid "buffer --batch output"
+msgstr "carregar a saída de --batch"
+
+#: builtin/cat-file.c:478
+msgid "show info and content of objects fed from the standard input"
+msgstr "mostrar informação e conteúdo dos objetos fornecidos na entrada padrão"
+
+#: builtin/cat-file.c:481
+msgid "show info about objects fed from the standard input"
+msgstr "mostrar informação sobre os objetos fornecidos na entrada padrão"
+
+#: builtin/cat-file.c:484
+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)"
+
+#: builtin/cat-file.c:486
+msgid "show all objects with --batch or --batch-check"
+msgstr "mostrar todos os objetos com --batch ou --batch-check"
+
+#: builtin/check-attr.c:11
+msgid "git check-attr [-a | --all | <attr>...] [--] <pathname>..."
+msgstr "git check-attr [-a | --all | <atributo>...] [--] <caminho>..."
+
+#: builtin/check-attr.c:12
+msgid "git check-attr --stdin [-z] [-a | --all | <attr>...]"
+msgstr "git check-attr --stdin [-z] [-a | --all | <atributo>...]"
+
+#: builtin/check-attr.c:19
+msgid "report all attributes set on file"
+msgstr "apresentar todos os atributos definidos no ficheiro"
+
+#: builtin/check-attr.c:20
+msgid "use .gitattributes only from the index"
+msgstr "usar .gitattributes apenas a partir do índice"
+
+#: builtin/check-attr.c:21 builtin/check-ignore.c:22 builtin/hash-object.c:97
+msgid "read file names from stdin"
+msgstr "ler os nomes dos ficheiros da entrada padrão"
+
+#: builtin/check-attr.c:23 builtin/check-ignore.c:24
+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:1136 builtin/gc.c:325
+msgid "suppress progress reporting"
+msgstr "suprimir informação de progresso"
+
+#: builtin/check-ignore.c:26
+msgid "show non-matching input paths"
+msgstr "mostrar caminhos de entrada sem correspondência"
+
+#: builtin/check-ignore.c:28
+msgid "ignore index when checking"
+msgstr "ignorar o índice ao verificar"
+
+#: builtin/check-ignore.c:154
+msgid "cannot specify pathnames with --stdin"
+msgstr "não é possível especificar caminhos com --stdin"
+
+#: builtin/check-ignore.c:157
+msgid "-z only makes sense with --stdin"
+msgstr "-z só faz sentido com --stdin"
+
+#: builtin/check-ignore.c:159
+msgid "no path specified"
+msgstr "nenhum caminho especificado"
+
+#: builtin/check-ignore.c:163
+msgid "--quiet is only valid with a single pathname"
+msgstr "--quiet só é válido com um único caminho"
+
+#: builtin/check-ignore.c:165
+msgid "cannot have both --quiet and --verbose"
+msgstr "não é possível usar --quiet e --verbose simultaneamente"
+
+#: builtin/check-ignore.c:168
+msgid "--non-matching is only valid with --verbose"
+msgstr "--non-matching só é válido com --verbose"
+
+#: builtin/check-mailmap.c:8
+msgid "git check-mailmap [<options>] <contact>..."
+msgstr "git check-mailmap [<opções>] <contacto>..."
+
+#: builtin/check-mailmap.c:13
+msgid "also read contacts from stdin"
+msgstr "também ler contactos da entrada padrão"
+
+#: builtin/check-mailmap.c:24
+#, c-format
+msgid "unable to parse contact: %s"
+msgstr "não é possível analisar o contacto: %s"
+
+#: builtin/check-mailmap.c:47
+msgid "no contacts specified"
+msgstr "nenhum contacto especificado"
+
+#: builtin/checkout-index.c:127
+msgid "git checkout-index [<options>] [--] [<file>...]"
+msgstr "git checkout-index [<opções>] [--] [<ficheiro>...]"
+
+#: builtin/checkout-index.c:144
+msgid "stage should be between 1 and 3 or all"
+msgstr "stage deve ser um número entre 1 e 3 ou o parâmetro all"
+
+#: builtin/checkout-index.c:160
+msgid "check out all files in the index"
+msgstr "extrair todos os ficheiros presentes no índice"
+
+#: builtin/checkout-index.c:161
+msgid "force overwrite of existing files"
+msgstr "forçar substituição dos ficheiros existentes"
+
+#: builtin/checkout-index.c:163
+msgid "no warning for existing files and files not in index"
+msgstr ""
+"não mostrar aviso para ficheiros existentes e ficheiros não presentes no "
+"índice"
+
+#: builtin/checkout-index.c:165
+msgid "don't checkout new files"
+msgstr "não extrair novos ficheiros"
+
+#: builtin/checkout-index.c:167
+msgid "update stat information in the index file"
+msgstr "atualizar informação de stat no ficheiro de índice"
+
+#: builtin/checkout-index.c:171
+msgid "read list of paths from the standard input"
+msgstr "ler lista de caminhos da entrada padrão"
+
+#: builtin/checkout-index.c:173
+msgid "write the content to temporary files"
+msgstr "escrever o conteúdo em ficheiros temporários"
+
+#: builtin/checkout-index.c:174 builtin/column.c:30
+#: builtin/submodule--helper.c:166 builtin/submodule--helper.c:169
+#: builtin/submodule--helper.c:172 builtin/submodule--helper.c:175
+msgid "string"
+msgstr "cadeia"
+
+#: builtin/checkout-index.c:175
+msgid "when creating files, prepend <string>"
+msgstr "preceder <cadeia> ao criar ficheiros"
+
+#: builtin/checkout-index.c:177
+msgid "copy out the files from named stage"
+msgstr "copiar os ficheiros do estágio indicado"
+
+#: builtin/checkout.c:25
+msgid "git checkout [<options>] <branch>"
+msgstr "git checkout [<opções>] <ramo>"
+
+#: builtin/checkout.c:26
+msgid "git checkout [<options>] [<branch>] -- <file>..."
+msgstr "git checkout [<opções>] [<ramo>] -- <ficheiro>..."
+
+#: builtin/checkout.c:134 builtin/checkout.c:167
 #, c-format
 msgid "path '%s' does not have our version"
-msgstr ""
+msgstr "o caminho '%s' não tem a nossa versão"
 
-#: builtin/checkout.c:115
-#: builtin/checkout.c:148
+#: builtin/checkout.c:136 builtin/checkout.c:169
 #, c-format
 msgid "path '%s' does not have their version"
-msgstr ""
+msgstr "o caminho '%s' não tem a versão deles"
 
-#: builtin/checkout.c:131
+#: builtin/checkout.c:152
 #, c-format
 msgid "path '%s' does not have all necessary versions"
-msgstr ""
+msgstr "o caminho '%s' não tem todas as versões necessárias"
 
-#: builtin/checkout.c:175
+#: builtin/checkout.c:196
 #, c-format
 msgid "path '%s' does not have necessary versions"
-msgstr ""
+msgstr "o caminho '%s' não tem as versões necessárias"
 
-#: builtin/checkout.c:192
+#: builtin/checkout.c:213
 #, c-format
 msgid "path '%s': cannot merge"
-msgstr ""
+msgstr "caminho '%s': não é possível integrar"
 
-#: builtin/checkout.c:209
+#: builtin/checkout.c:230
 #, c-format
 msgid "Unable to add merge result for '%s'"
+msgstr "Não é possível integrar os resultados do merge de '%s'"
+
+#: builtin/checkout.c:251 builtin/checkout.c:254 builtin/checkout.c:257
+#: builtin/checkout.c:260
+#, c-format
+msgid "'%s' cannot be used with updating paths"
+msgstr "'%s' não pode ser usado com caminhos em atualização"
+
+#: builtin/checkout.c:263 builtin/checkout.c:266
+#, c-format
+msgid "'%s' cannot be used with %s"
+msgstr "'%s' não pode ser usado com %s"
+
+#: builtin/checkout.c:269
+#, c-format
+msgid "Cannot update paths and switch to branch '%s' at the same time."
 msgstr ""
+"Não é possível atualizar os caminhos e mudar para o ramo '%s' ao mesmo tempo."
 
-#: builtin/checkout.c:234
-#: builtin/checkout.c:392
+#: builtin/checkout.c:280 builtin/checkout.c:474
 msgid "corrupt index file"
-msgstr "ficheiro index corrupto"
+msgstr "ficheiro de índice corrompido"
 
-#: builtin/checkout.c:264
-#: builtin/checkout.c:271
+#: builtin/checkout.c:340 builtin/checkout.c:347
 #, c-format
 msgid "path '%s' is unmerged"
-msgstr ""
+msgstr "o caminho '%s' não foi integrado"
 
-#: builtin/checkout.c:302
-#: builtin/checkout.c:498
-#: builtin/clone.c:583
-#: builtin/merge.c:812
-msgid "unable to write new index file"
-msgstr ""
-
-#: builtin/checkout.c:319
-#: builtin/diff.c:302
-#: builtin/merge.c:408
-msgid "diff_setup_done failed"
-msgstr ""
-
-#: builtin/checkout.c:414
+#: builtin/checkout.c:496
 msgid "you need to resolve your current index first"
-msgstr ""
+msgstr "primeiro deve resolver o índice atual"
 
-#: builtin/checkout.c:533
+#: builtin/checkout.c:623
 #, c-format
-msgid "Can not do reflog for '%s'\n"
-msgstr ""
+msgid "Can not do reflog for '%s': %s\n"
+msgstr "Não é possível efetuar reflog de '%s': %s\n"
 
-#: builtin/checkout.c:566
+#: builtin/checkout.c:661
 msgid "HEAD is now at"
-msgstr "HEAD é agora em "
+msgstr "HEAD está agora em"
 
-#: builtin/checkout.c:573
+#: builtin/checkout.c:665 builtin/clone.c:659
+msgid "unable to update HEAD"
+msgstr "não foi possível atualizar HEAD"
+
+#: builtin/checkout.c:669
 #, c-format
 msgid "Reset branch '%s'\n"
-msgstr "Reset rama '%s'\n"
+msgstr "Repor ramo '%s'\n"
 
-#: builtin/checkout.c:576
+#: builtin/checkout.c:672
 #, c-format
 msgid "Already on '%s'\n"
 msgstr "Já em '%s'\n"
 
-#: builtin/checkout.c:580
+#: builtin/checkout.c:676
 #, c-format
 msgid "Switched to and reset branch '%s'\n"
-msgstr ""
+msgstr "Mudou para e repôs o ramo '%s'\n"
 
-#: builtin/checkout.c:582
+#: builtin/checkout.c:678 builtin/checkout.c:1068
 #, c-format
 msgid "Switched to a new branch '%s'\n"
-msgstr "Mudado para a nova rama '%s'\n"
+msgstr "Mudou para o novo ramo '%s'\n"
 
-#: builtin/checkout.c:584
+#: builtin/checkout.c:680
 #, c-format
 msgid "Switched to branch '%s'\n"
-msgstr "Mudado para a rama '%s'\n"
+msgstr "Mudou para o ramo '%s'\n"
 
-#: builtin/checkout.c:640
+#: builtin/checkout.c:732
 #, c-format
 msgid " ... and %d more.\n"
-msgstr " ... e %d mais.\n"
+msgstr " ... e mais %d.\n"
 
-#. The singular version
-#: builtin/checkout.c:646
+#: builtin/checkout.c:738
 #, c-format
 msgid ""
 "Warning: you are leaving %d commit behind, not connected to\n"
@@ -1631,283 +4301,752 @@
 "\n"
 "%s\n"
 msgstr[0] ""
+"Aviso: deixa %d commit para trás, não ligado a nenhum ramo:\n"
+"\n"
+"%s\n"
 msgstr[1] ""
+"Aviso: deixa %d commits para trás, não ligados a nenhum ramo:\n"
+"\n"
+"%s\n"
 
-#: builtin/checkout.c:664
+#: builtin/checkout.c:757
 #, c-format
 msgid ""
+"If you want to keep it by creating a new branch, this may be a good time\n"
+"to do so with:\n"
+"\n"
+" git branch <new-branch-name> %s\n"
+"\n"
+msgid_plural ""
 "If you want to keep them by creating a new branch, this may be a good time\n"
 "to do so with:\n"
 "\n"
-" git branch new_branch_name %s\n"
+" git branch <new-branch-name> %s\n"
 "\n"
-msgstr ""
+msgstr[0] ""
+"Se deseja mantê-lo, criando um novo ramo, agora seria uma boa altura\n"
+"para fazê-lo com:\n"
+"\n"
+" git branch <nome-do-novo-ramo> %s\n"
+"\n"
+msgstr[1] ""
+"Se deseja mantê-los, criando um novo ramo, agora seria uma boa altura\n"
+"para fazê-lo com:\n"
+"\n"
+" git branch <nome-do-novo-ramo> %s\n"
+"\n"
 
-#: builtin/checkout.c:693
+#: builtin/checkout.c:793
 msgid "internal error in revision walk"
-msgstr ""
+msgstr "erro interno durante o curso de revisões"
 
-#: builtin/checkout.c:697
+#: builtin/checkout.c:797
 msgid "Previous HEAD position was"
-msgstr ""
+msgstr "A posição anterior de HEAD era"
 
-#: builtin/checkout.c:723
+#: builtin/checkout.c:824 builtin/checkout.c:1063
 msgid "You are on a branch yet to be born"
-msgstr ""
+msgstr "Está num ramo ainda não criado"
 
-#. case (1)
-#: builtin/checkout.c:854
+#: builtin/checkout.c:969
+#, c-format
+msgid "only one reference expected, %d given."
+msgstr "esperava-se apenas uma referência, %d fornecidas."
+
+#: builtin/checkout.c:1009 builtin/worktree.c:211
 #, c-format
 msgid "invalid reference: %s"
-msgstr ""
+msgstr "referência inválida: %s"
 
-#. case (1): want a tree
-#: builtin/checkout.c:893
+#: builtin/checkout.c:1038
 #, c-format
 msgid "reference is not a tree: %s"
-msgstr ""
+msgstr "a referência não é uma árvore: %s"
 
-#: builtin/checkout.c:973
-msgid "-B cannot be used with -b"
-msgstr ""
+#: builtin/checkout.c:1077
+msgid "paths cannot be used with switching branches"
+msgstr "não podem ser usados caminhos ao mudar de ramo"
 
-#: builtin/checkout.c:982
-msgid "--patch is incompatible with all other options"
-msgstr ""
+#: builtin/checkout.c:1080 builtin/checkout.c:1084
+#, c-format
+msgid "'%s' cannot be used with switching branches"
+msgstr "'%s' não pode ser usado ao mudar de ramo"
 
-#: builtin/checkout.c:985
-msgid "--detach cannot be used with -b/-B/--orphan"
-msgstr ""
+#: builtin/checkout.c:1088 builtin/checkout.c:1091 builtin/checkout.c:1096
+#: builtin/checkout.c:1099
+#, c-format
+msgid "'%s' cannot be used with '%s'"
+msgstr "'%s' não pode ser usado com '%s'"
 
-#: builtin/checkout.c:987
-msgid "--detach cannot be used with -t"
-msgstr ""
+#: builtin/checkout.c:1104
+#, 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:993
+#: builtin/checkout.c:1137 builtin/checkout.c:1139 builtin/clone.c:84
+#: builtin/remote.c:165 builtin/remote.c:167 builtin/worktree.c:318
+#: builtin/worktree.c:320
+msgid "branch"
+msgstr "ramo"
+
+#: builtin/checkout.c:1138
+msgid "create and checkout a new branch"
+msgstr "criar e extrair um novo ramo"
+
+#: builtin/checkout.c:1140
+msgid "create/reset and checkout a branch"
+msgstr "criar/repor e extrair um ramo"
+
+#: builtin/checkout.c:1141
+msgid "create reflog for new branch"
+msgstr "criar reflog do novo ramo"
+
+#: builtin/checkout.c:1142
+msgid "detach the HEAD at named commit"
+msgstr "destacar HEAD no commit indicado"
+
+#: builtin/checkout.c:1143
+msgid "set upstream info for new branch"
+msgstr "definir a informação do ramo a montante do novo ramo"
+
+#: builtin/checkout.c:1145
+msgid "new-branch"
+msgstr "novo-ramo"
+
+#: builtin/checkout.c:1145
+msgid "new unparented branch"
+msgstr "novo ramo sem pai"
+
+#: builtin/checkout.c:1146
+msgid "checkout our version for unmerged files"
+msgstr "extrair a nossa versão dos ficheiros não integrados"
+
+#: builtin/checkout.c:1148
+msgid "checkout their version for unmerged files"
+msgstr "extrair a versão deles dos ficheiros não integrados"
+
+#: builtin/checkout.c:1150
+msgid "force checkout (throw away local modifications)"
+msgstr "forçar extração (descartar modificações locais)"
+
+#: builtin/checkout.c:1151
+msgid "perform a 3-way merge with the new branch"
+msgstr "realizar um merge com 3 pontos com o novo ramo"
+
+#: builtin/checkout.c:1152 builtin/merge.c:227
+msgid "update ignored files (default)"
+msgstr "atualizar ficheiros ignorados (predefinição)"
+
+#: builtin/checkout.c:1153 builtin/log.c:1269 parse-options.h:250
+msgid "style"
+msgstr "estilo"
+
+#: builtin/checkout.c:1154
+msgid "conflict style (merge or diff3)"
+msgstr "estilo de conflito (merge ou diff3)"
+
+#: builtin/checkout.c:1157
+msgid "do not limit pathspecs to sparse entries only"
+msgstr "não restringir especificadores de caminho a entradas esparsas"
+
+#: builtin/checkout.c:1159
+msgid "second guess 'git checkout <no-such-branch>'"
+msgstr "tentar adivinhar 'git checkout <ramo-inexistente>'"
+
+#: builtin/checkout.c:1161
+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"
+
+#: builtin/checkout.c:1162 builtin/clone.c:58 builtin/fetch.c:116
+#: builtin/merge.c:224 builtin/pull.c:113 builtin/push.c:526
+#: builtin/send-pack.c:168
+msgid "force progress reporting"
+msgstr "forçar informação de progresso"
+
+#: builtin/checkout.c:1193
+msgid "-b, -B and --orphan are mutually exclusive"
+msgstr "-b, -B e --orphan são mutuamente exclusivos"
+
+#: builtin/checkout.c:1210
 msgid "--track needs a branch name"
-msgstr ""
+msgstr "--track requer um nome dum ramo"
 
-#: builtin/checkout.c:1000
+#: builtin/checkout.c:1215
 msgid "Missing branch name; try -b"
-msgstr ""
+msgstr "Falta um nome dum ramo; tente -b"
 
-#: builtin/checkout.c:1006
-msgid "--orphan and -b|-B are mutually exclusive"
-msgstr ""
-
-#: builtin/checkout.c:1008
-msgid "--orphan cannot be used with -t"
-msgstr ""
-
-#: builtin/checkout.c:1018
-msgid "git checkout: -f and -m are incompatible"
-msgstr ""
-
-#: builtin/checkout.c:1052
+#: builtin/checkout.c:1251
 msgid "invalid path specification"
-msgstr ""
+msgstr "especificação de caminho inválida"
 
-#: builtin/checkout.c:1060
+#: builtin/checkout.c:1258
 #, c-format
 msgid ""
-"git checkout: updating paths is incompatible with switching branches.\n"
+"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"
+"Pretendia extrair '%s' podendo ser resolvido num commit?"
 
-#: builtin/checkout.c:1062
-msgid "git checkout: updating paths is incompatible with switching branches."
-msgstr ""
+#: builtin/checkout.c:1263
+#, 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:1067
-msgid "git checkout: --detach does not take a path argument"
-msgstr ""
-
-#: builtin/checkout.c:1070
+#: builtin/checkout.c:1267
 msgid ""
 "git checkout: --ours/--theirs, --force and --merge are incompatible when\n"
 "checking out of the index."
 msgstr ""
+"git checkout: --ours/--theirs, --force e --merge são incompatíveis\n"
+"durante a extração do índice."
 
-#: builtin/checkout.c:1089
-msgid "Cannot switch branch to a non-commit."
+#: builtin/clean.c:25
+msgid ""
+"git clean [-d] [-f] [-i] [-n] [-q] [-e <pattern>] [-x | -X] [--] <paths>..."
 msgstr ""
+"git clean [-d] [-f] [-i] [-n] [-q] [-e <padrão>] [-x | -X] [--] <caminhos>..."
 
-#: builtin/checkout.c:1092
-msgid "--ours/--theirs is incompatible with switching branches."
-msgstr ""
-
-#: builtin/clean.c:78
-msgid "-x and -X cannot be used together"
-msgstr ""
-
-#: builtin/clean.c:82
-msgid "clean.requireForce set to true and neither -n nor -f given; refusing to clean"
-msgstr ""
-
-#: builtin/clean.c:85
-msgid "clean.requireForce defaults to true and neither -n nor -f given; refusing to clean"
-msgstr ""
-
-#: builtin/clean.c:155
-#: builtin/clean.c:176
-#, c-format
-msgid "Would remove %s\n"
-msgstr ""
-
-#: builtin/clean.c:159
-#: builtin/clean.c:179
+#: builtin/clean.c:29
 #, c-format
 msgid "Removing %s\n"
-msgstr "Eliminando %s\n"
+msgstr "A remover %s\n"
 
-#: builtin/clean.c:162
-#: builtin/clean.c:182
+#: builtin/clean.c:30
+#, c-format
+msgid "Would remove %s\n"
+msgstr "Removeria %s\n"
+
+#: builtin/clean.c:31
+#, c-format
+msgid "Skipping repository %s\n"
+msgstr "A ignorar o repositório %s\n"
+
+#: builtin/clean.c:32
+#, c-format
+msgid "Would skip repository %s\n"
+msgstr "Ignoraria o repositório %s\n"
+
+#: builtin/clean.c:33
 #, c-format
 msgid "failed to remove %s"
+msgstr "falha ao remover %s"
+
+#: builtin/clean.c:291
+msgid ""
+"Prompt help:\n"
+"1          - select a numbered item\n"
+"foo        - select item based on unique prefix\n"
+"           - (empty) select nothing"
 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"
 
-#: builtin/clean.c:166
-#, c-format
-msgid "Would not remove %s\n"
+#: builtin/clean.c:295
+msgid ""
+"Prompt help:\n"
+"1          - select a single item\n"
+"3-5        - select a range of items\n"
+"2-3,6-9    - select multiple ranges\n"
+"foo        - select item based on unique prefix\n"
+"-...       - unselect specified items\n"
+"*          - choose all items\n"
+"           - (empty) finish selecting"
 msgstr ""
+"Ajuda de linha de comandos:\n"
+"1          - selecionar um único item\n"
+"3-5        - selecionar um intervalo de items\n"
+"2-3,6-9    - selecionar múltiplos intervalos\n"
+"foo        - selecionar item baseado no prefixo único\n"
+"-...       - desselecionar itens especificados\n"
+"*          - escolher todos os itens\n"
+"           - (vazio) concluir seleção"
 
-#: builtin/clean.c:168
+#: builtin/clean.c:511
 #, c-format
-msgid "Not removing %s\n"
+msgid "Huh (%s)?"
+msgstr "O quê (%s)?"
+
+#: builtin/clean.c:653
+#, c-format
+msgid "Input ignore patterns>> "
+msgstr "Introduza padrões a ignorar>> "
+
+#: builtin/clean.c:690
+#, c-format
+msgid "WARNING: Cannot find items matched by: %s"
+msgstr "AVISO: não foram encontrados itens correspondentes a %s"
+
+#: builtin/clean.c:711
+msgid "Select items to delete"
+msgstr "Selecione itens para eliminar"
+
+#. TRANSLATORS: Make sure to keep [y/N] as is
+#: builtin/clean.c:752
+#, c-format
+msgid "Remove %s [y/N]? "
+msgstr "Remover %s [y/N]? "
+
+#: builtin/clean.c:777
+msgid "Bye."
+msgstr "Adeus."
+
+#: builtin/clean.c:785
+msgid ""
+"clean               - start cleaning\n"
+"filter by pattern   - exclude items from deletion\n"
+"select by numbers   - select items to be deleted by numbers\n"
+"ask each            - confirm each deletion (like \"rm -i\")\n"
+"quit                - stop cleaning\n"
+"help                - this screen\n"
+"?                   - help for prompt selection"
 msgstr ""
+"clean               - começar a limpar\n"
+"filter by pattern   - excluir itens da eliminação\n"
+"select by numbers   - selecionar itens para serem eliminados por número\n"
+"ask each            - confirmar cada eliminação (como \"rm -i\")\n"
+"quit                - parar limpeza\n"
+"help                - esta ajuda\n"
+"?                   - ajuda para seleção em linha de comandos"
 
-#: builtin/clone.c:243
-#, c-format
-msgid "reference repository '%s' is not a local directory."
+#: builtin/clean.c:812
+msgid "*** Commands ***"
+msgstr "*** Comandos ***"
+
+#: builtin/clean.c:813
+msgid "What now"
+msgstr "E agora"
+
+#: builtin/clean.c:821
+msgid "Would remove the following item:"
+msgid_plural "Would remove the following items:"
+msgstr[0] "Removeria o seguinte item:"
+msgstr[1] "Removeria os seguintes itens:"
+
+#: builtin/clean.c:838
+msgid "No more files to clean, exiting."
+msgstr "Não há mais ficheiros por limpar, a terminar."
+
+#: builtin/clean.c:869
+msgid "do not print names of files removed"
+msgstr "não imprimir os nomes dos ficheiros removidos"
+
+#: builtin/clean.c:871
+msgid "force"
+msgstr "forçar"
+
+#: builtin/clean.c:872
+msgid "interactive cleaning"
+msgstr "limpeza interativa"
+
+#: builtin/clean.c:874
+msgid "remove whole directories"
+msgstr "remover diretórios inteiros"
+
+#: builtin/clean.c:875 builtin/describe.c:407 builtin/grep.c:722
+#: builtin/ls-files.c:456 builtin/name-rev.c:307 builtin/show-ref.c:182
+msgid "pattern"
+msgstr "padrão"
+
+#: builtin/clean.c:876
+msgid "add <pattern> to ignore rules"
+msgstr "adicionar <padrão> às regras ignoradas"
+
+#: builtin/clean.c:877
+msgid "remove ignored files, too"
+msgstr "também remover ficheiros ignorados"
+
+#: builtin/clean.c:879
+msgid "remove only ignored files"
+msgstr "remover apenas ficheiros ignorados"
+
+#: builtin/clean.c:897
+msgid "-x and -X cannot be used together"
+msgstr "-x e -X não pode ser usados juntos"
+
+#: builtin/clean.c:901
+msgid ""
+"clean.requireForce set to true and neither -i, -n, nor -f given; refusing to "
+"clean"
 msgstr ""
+"clean.requireForce definido como true e nenhum -i, -n, ou -f fornecido; "
+"recusando-se a limpar"
 
-#: builtin/clone.c:302
+#: builtin/clean.c:904
+msgid ""
+"clean.requireForce defaults to true and neither -i, -n, nor -f given; "
+"refusing to clean"
+msgstr ""
+"clean.requireForce predefinido como true e nenhum -i, -n, ou -f fornecido; "
+"recusando-se a limpar"
+
+#: builtin/clone.c:37
+msgid "git clone [<options>] [--] <repo> [<dir>]"
+msgstr "git clone [<opções>] [--] <repo> [<dir>]"
+
+#: builtin/clone.c:60
+msgid "don't create a checkout"
+msgstr "não realizar extração"
+
+#: builtin/clone.c:61 builtin/clone.c:63 builtin/init-db.c:469
+msgid "create a bare repository"
+msgstr "criar um repositório nu"
+
+#: builtin/clone.c:65
+msgid "create a mirror repository (implies bare)"
+msgstr "criar um repositório espelhado (implica repositório nu)"
+
+#: builtin/clone.c:67
+msgid "to clone from a local repository"
+msgstr "para clonar de um repositório local"
+
+#: builtin/clone.c:69
+msgid "don't use local hardlinks, always copy"
+msgstr "não usar ligações fixas, copiar sempre"
+
+#: builtin/clone.c:71
+msgid "setup as shared repository"
+msgstr "configurar como repositório partilhado"
+
+#: builtin/clone.c:73 builtin/clone.c:75
+msgid "initialize submodules in the clone"
+msgstr "inicializar submódulos no clone"
+
+#: builtin/clone.c:76 builtin/init-db.c:466
+msgid "template-directory"
+msgstr "diretório-modelo"
+
+#: builtin/clone.c:77 builtin/init-db.c:467
+msgid "directory from which templates will be used"
+msgstr "diretório que contém os modelos usados"
+
+#: builtin/clone.c:79 builtin/submodule--helper.c:173
+msgid "reference repository"
+msgstr "repositório de referência"
+
+#: builtin/clone.c:81
+msgid "use --reference only while cloning"
+msgstr "usar --reference apenas para clonar"
+
+#: builtin/clone.c:82 builtin/column.c:26 builtin/merge-file.c:44
+msgid "name"
+msgstr "nome"
+
+#: builtin/clone.c:83
+msgid "use <name> instead of 'origin' to track upstream"
+msgstr "usar <nome> em vez de 'origin' para seguir o ramo a montante"
+
+#: builtin/clone.c:85
+msgid "checkout <branch> instead of the remote's HEAD"
+msgstr "extrair <ramo> em vez da HEAD do remoto"
+
+#: builtin/clone.c:87
+msgid "path to git-upload-pack on the remote"
+msgstr "caminho para git-upload-pack no remoto"
+
+#: builtin/clone.c:88 builtin/fetch.c:117 builtin/grep.c:665
+#: builtin/pull.c:193
+msgid "depth"
+msgstr "profundidade"
+
+#: builtin/clone.c:89
+msgid "create a shallow clone of that depth"
+msgstr "criar um clone raso com essa profundidade"
+
+#: builtin/clone.c:91
+msgid "clone only one branch, HEAD or --branch"
+msgstr "clonar apenas um ramo, HEAD ou --branch"
+
+#: builtin/clone.c:92 builtin/init-db.c:475
+msgid "gitdir"
+msgstr "gitdir"
+
+#: builtin/clone.c:93 builtin/init-db.c:476
+msgid "separate git dir from working tree"
+msgstr "separar o repositório git da árvore de trabalho"
+
+#: builtin/clone.c:94
+msgid "key=value"
+msgstr "chave=valor"
+
+#: builtin/clone.c:95
+msgid "set config inside the new repository"
+msgstr "definir configuração dentro do novo repositório"
+
+#: builtin/clone.c:96 builtin/fetch.c:131 builtin/push.c:536
+msgid "use IPv4 addresses only"
+msgstr "usar apenas endereços IPv4"
+
+#: builtin/clone.c:98 builtin/fetch.c:133 builtin/push.c:538
+msgid "use IPv6 addresses only"
+msgstr "usar apenas endereços IPv6"
+
+#: builtin/clone.c:239
+msgid ""
+"No directory name could be guessed.\n"
+"Please specify a directory on the command line"
+msgstr ""
+"Não foi possível adivinhar o nome do diretório.\n"
+"Especifique um diretório na linha de comandos"
+
+#: builtin/clone.c:305
 #, c-format
-msgid "failed to open '%s'"
-msgstr "falhou a abrir '%s'"
+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"
 
-#: builtin/clone.c:306
+#: builtin/clone.c:307
 #, c-format
-msgid "failed to create directory '%s'"
-msgstr "falhou a criar o directório '%s'"
+msgid "reference repository '%s' is not a local repository."
+msgstr "o repositório de referência '%s' não é um repositório local."
 
-#: builtin/clone.c:308
-#: builtin/diff.c:75
+#: builtin/clone.c:312
+#, c-format
+msgid "reference repository '%s' is shallow"
+msgstr "o repositório de referência '%s' é raso"
+
+#: builtin/clone.c:315
+#, c-format
+msgid "reference repository '%s' is grafted"
+msgstr "o repositório de referência '%s' está enxertado"
+
+#: builtin/clone.c:380 builtin/diff.c:84
 #, c-format
 msgid "failed to stat '%s'"
-msgstr ""
+msgstr "falha ao invocar stat de '%s'"
 
-#: builtin/clone.c:310
+#: builtin/clone.c:382
 #, c-format
 msgid "%s exists and is not a directory"
-msgstr ""
+msgstr "%s existe e não é um diretório"
 
-#: builtin/clone.c:324
+#: builtin/clone.c:396
 #, c-format
 msgid "failed to stat %s\n"
-msgstr ""
+msgstr "falha ao invocar stat de %s\n"
 
-#: builtin/clone.c:341
-#, c-format
-msgid "failed to unlink '%s'"
-msgstr ""
-
-#: builtin/clone.c:346
+#: builtin/clone.c:418
 #, c-format
 msgid "failed to create link '%s'"
-msgstr ""
+msgstr "falha ao criar a ligação '%s'"
 
-#: builtin/clone.c:350
+#: builtin/clone.c:422
 #, c-format
 msgid "failed to copy file to '%s'"
-msgstr "falhou a copiar o ficheiro para '%s'"
+msgstr "falha ao copiar o ficheiro para '%s'"
 
-#: builtin/clone.c:373
+#: builtin/clone.c:447 builtin/clone.c:631
 #, c-format
 msgid "done.\n"
-msgstr "terminado.\n"
+msgstr "concluído.\n"
 
-#: builtin/clone.c:440
+#: builtin/clone.c:459
+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 ""
+"Clonado com sucesso, mas a extração falhou.\n"
+"Pode inspecionar o que foi extraído com 'git status'\n"
+"e repetir a extração com 'git checkout -f HEAD'\n"
+
+#: builtin/clone.c:536
 #, c-format
 msgid "Could not find remote branch %s to clone."
-msgstr ""
+msgstr "Ramo remoto %s não encontrado para clonar."
 
-#: builtin/clone.c:549
+#: builtin/clone.c:626
+#, c-format
+msgid "Checking connectivity... "
+msgstr "A verificar a conectividade... "
+
+#: builtin/clone.c:629
+msgid "remote did not send all necessary objects"
+msgstr "o remoto não enviou todos os objetos necessários"
+
+#: builtin/clone.c:647
+#, c-format
+msgid "unable to update %s"
+msgstr "não foi possível atualizar %s"
+
+#: builtin/clone.c:696
 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"
 
-#: builtin/clone.c:639
+#: builtin/clone.c:727
+msgid "unable to checkout working tree"
+msgstr "não foi possível extrair a árvore de trabalho"
+
+#: builtin/clone.c:753
+msgid "unable to write parameters to config file"
+msgstr "não foi possível escrever os parâmetros no ficheiro de configuração"
+
+#: builtin/clone.c:816
+msgid "cannot repack to clean up"
+msgstr "não é possível reempacotar para limpar"
+
+#: builtin/clone.c:818
+msgid "cannot unlink temporary alternates file"
+msgstr "não é possível invocar unlink sobre o ficheiro alternates temporário"
+
+#: builtin/clone.c:850
 msgid "Too many arguments."
-msgstr "Demasiados parametros."
+msgstr "Demasiados argumentos."
 
-#: builtin/clone.c:643
+#: builtin/clone.c:854
 msgid "You must specify a repository to clone."
-msgstr ""
+msgstr "Deve especificar um repositório para clonar."
 
-#: builtin/clone.c:654
+#: builtin/clone.c:865
 #, c-format
 msgid "--bare and --origin %s options are incompatible."
-msgstr ""
+msgstr "as opções --bare e --origin %s são incompatíveis."
 
-#: builtin/clone.c:668
+#: builtin/clone.c:868
+msgid "--bare and --separate-git-dir are incompatible."
+msgstr "--bare e --separate-git-dir são incompatíveis."
+
+#: builtin/clone.c:881
 #, c-format
 msgid "repository '%s' does not exist"
-msgstr ""
+msgstr "o repositório '%s' não existe"
 
-#: builtin/clone.c:673
-msgid "--depth is ignored in local clones; use file:// instead."
-msgstr ""
+#: builtin/clone.c:887 builtin/fetch.c:1174
+#, c-format
+msgid "depth %s is not a positive number"
+msgstr "profundidade %s não é um número positivo"
 
-#: builtin/clone.c:683
+#: builtin/clone.c:897
 #, c-format
 msgid "destination path '%s' already exists and is not an empty directory."
-msgstr ""
+msgstr "o caminho de destino '%s' já existe e não é um diretório vazio."
 
-#: builtin/clone.c:693
+#: builtin/clone.c:907
 #, c-format
 msgid "working tree '%s' already exists."
-msgstr ""
+msgstr "a árvore de trabalho '%s' já existe."
 
-#: builtin/clone.c:706
-#: builtin/clone.c:720
+#: builtin/clone.c:922 builtin/clone.c:933 builtin/submodule--helper.c:218
+#: builtin/worktree.c:219 builtin/worktree.c:246
 #, c-format
 msgid "could not create leading directories of '%s'"
-msgstr ""
+msgstr "não foi possível criar os diretórios superiores de '%s'"
 
-#: builtin/clone.c:709
+#: builtin/clone.c:925
 #, c-format
-msgid "could not create work tree dir '%s'."
-msgstr ""
+msgid "could not create work tree dir '%s'"
+msgstr "não foi possível criar o diretório de árvore de trabalho '%s'"
 
-#: builtin/clone.c:728
+#: builtin/clone.c:943
 #, c-format
 msgid "Cloning into bare repository '%s'...\n"
-msgstr "Clonando em um repositorio nu (bare) '%s'...\n"
+msgstr "A clonar no repositório nu '%s'...\n"
 
-#: builtin/clone.c:730
+#: builtin/clone.c:945
 #, c-format
 msgid "Cloning into '%s'...\n"
-msgstr "Clonar em '%s'...\n"
+msgstr "A clonar em '%s'...\n"
 
-#: builtin/clone.c:786
+#: builtin/clone.c:984
+msgid "--depth is ignored in local clones; use file:// instead."
+msgstr "--depth é ignorado em clones locais; use file:// ."
+
+#: builtin/clone.c:987
+msgid "source repository is shallow, ignoring --local"
+msgstr "o repositório de origem é raso, --local ignorado"
+
+#: builtin/clone.c:992
+msgid "--local is ignored"
+msgstr "--local ignorado"
+
+#: builtin/clone.c:996
 #, c-format
 msgid "Don't know how to clone %s"
 msgstr "Não sei como clonar %s"
 
-#: builtin/clone.c:835
+#: builtin/clone.c:1045 builtin/clone.c:1053
 #, c-format
 msgid "Remote branch %s not found in upstream %s"
-msgstr ""
+msgstr "O ramo remoto %s não foi encontrado no repositório a montante %s"
 
-#: builtin/clone.c:842
+#: builtin/clone.c:1056
 msgid "You appear to have cloned an empty repository."
-msgstr ""
+msgstr "Parece foi clonado um repositório vazio."
+
+#: builtin/column.c:9
+msgid "git column [<options>]"
+msgstr "git column [<opções>]"
+
+#: builtin/column.c:26
+msgid "lookup config vars"
+msgstr "pesquisar variáveis de configuração"
+
+#: builtin/column.c:27 builtin/column.c:28
+msgid "layout to use"
+msgstr "esquema a usar"
+
+#: builtin/column.c:29
+msgid "Maximum width"
+msgstr "Largura máxima"
+
+#: builtin/column.c:30
+msgid "Padding space on left border"
+msgstr "Espaço de preenchimento na borda esquerda"
+
+#: builtin/column.c:31
+msgid "Padding space on right border"
+msgstr "Espaço de preenchimento na borda direita"
+
+#: builtin/column.c:32
+msgid "Padding space between columns"
+msgstr "Espaço de preenchimento entre colunas"
 
 #: builtin/column.c:51
 msgid "--command must be the first argument"
-msgstr ""
+msgstr "--command deve ser o primeiro argumento"
+
+#: builtin/commit.c:38
+msgid "git commit [<options>] [--] <pathspec>..."
+msgstr "git commit [<opções>] [--] <especificador-de-caminho>..."
 
 #: builtin/commit.c:43
+msgid "git status [<options>] [--] <pathspec>..."
+msgstr "git status [<opções>] [--] <especificador-de-caminho>..."
+
+#: builtin/commit.c:48
+msgid ""
+"Your name and email address were configured automatically based\n"
+"on your username and hostname. Please check that they are accurate.\n"
+"You can suppress this message by setting them explicitly. Run the\n"
+"following command and follow the instructions in your editor to edit\n"
+"your configuration file:\n"
+"\n"
+"    git config --global --edit\n"
+"\n"
+"After doing this, you may fix the identity used for this commit with:\n"
+"\n"
+"    git commit --amend --reset-author\n"
+msgstr ""
+"O seu nome e endereço de e-mail foram configurados automaticamente com base\n"
+"no seu nome de utilizador e nome de máquina. Verifique se estão corretos.\n"
+"Pode suprimir esta mensagem configurando-os explicitamente. Execute\n"
+"o seguinte comando e siga as instruções no editor para editar\n"
+"o ficheiro de configuração:\n"
+"\n"
+"    git config --global --edit\n"
+"\n"
+"Após fazer isto, pode corrigir a identidade usada neste commit com:\n"
+"\n"
+"    git commit --amend --reset-author\n"
+
+#: builtin/commit.c:61
 msgid ""
 "Your name and email address were configured automatically based\n"
 "on your username and hostname. Please check that they are accurate.\n"
@@ -1921,126 +5060,160 @@
 "    git commit --amend --reset-author\n"
 msgstr ""
 "O seu nome e endereço de e-mail foram configurados automaticamente com base\n"
-"no o seu usuario e nome da maquina. Por favor, verifique se eles são precisos.\n"
-"Você pode suprimir esta mensagem, configurando-los explicitamente:\n"
+"no seu nome de utilizador e nome de máquina. Verifique se estão corretos.\n"
+"Pode suprimir esta mensagem configurando-os explicitamente:\n"
 "\n"
-"    git config --global user.name \"O teu Nome\"\n"
-"    git config --global user.email tu@examplo.com\n"
+"    git config --global user.name \"O Seu Nome\"\n"
+"    git config --global user.email utilizador@exemplo.com\n"
 "\n"
-"Após fazer isso, você pode corregir a identidade usada em este commit com:\n"
+"Após fazer isto, pode corrigir a identidade usada neste commit com:\n"
 "\n"
 "    git commit --amend --reset-author\n"
 
-#: builtin/commit.c:55
+#: builtin/commit.c:73
 msgid ""
 "You asked to amend the most recent commit, but doing so would make\n"
 "it empty. You can repeat your command with --allow-empty, or you can\n"
 "remove the commit entirely with \"git reset HEAD^\".\n"
 msgstr ""
+"Pediu para emendar o commit mais recente, mas fazê-lo torná-lo-ia\n"
+"vazio. Pode repetir o comando com --allow-empty, ou pode remover o\n"
+"commit completamente com \"git reset HEAD^\".\n"
 
-#: builtin/commit.c:60
+#: builtin/commit.c:78
 msgid ""
 "The previous cherry-pick is now empty, possibly due to conflict resolution.\n"
 "If you wish to commit it anyway, use:\n"
 "\n"
 "    git commit --allow-empty\n"
 "\n"
-"Otherwise, please use 'git reset'\n"
 msgstr ""
+"O cherry-pick anterior está vazio, possivelmente devido a resolução de "
+"conflitos.\n"
+"Se deseja fazer commit de qualquer forma, use:\n"
+"\n"
+"    git commit --allow-empty\n"
+"\n"
 
-#: builtin/commit.c:309
+#: builtin/commit.c:85
+msgid "Otherwise, please use 'git reset'\n"
+msgstr "Caso contrário, use 'git reset'\n"
+
+#: builtin/commit.c:88
+msgid ""
+"If you wish to skip this commit, use:\n"
+"\n"
+"    git reset\n"
+"\n"
+"Then \"git cherry-pick --continue\" will resume cherry-picking\n"
+"the remaining commits.\n"
+msgstr ""
+"Se deseja ignorar este commit, use:\n"
+"\n"
+"    git reset\n"
+"\n"
+"Depois \"git cherry-pick --continue\" irá retomar o cherry-pick\n"
+"dos restantes commits.\n"
+
+#: builtin/commit.c:305
 msgid "failed to unpack HEAD tree object"
-msgstr ""
+msgstr "falha ao descompactar o objeto árvore HEAD"
 
-#: builtin/commit.c:351
+#: builtin/commit.c:346
 msgid "unable to create temporary index"
-msgstr ""
+msgstr "não foi possível criar índice temporário"
 
-#: builtin/commit.c:357
+#: builtin/commit.c:352
 msgid "interactive add failed"
-msgstr "falhou adicionar interativo"
+msgstr "falha ao adicionar interativamente"
 
-#: builtin/commit.c:390
-#: builtin/commit.c:411
-#: builtin/commit.c:461
+#: builtin/commit.c:365
+msgid "unable to update temporary index"
+msgstr "não é possível atualizar o índice temporário"
+
+#: builtin/commit.c:367
+msgid "Failed to update main cache tree"
+msgstr "Falha ao atualizar a árvore de cache principal"
+
+#: builtin/commit.c:391 builtin/commit.c:414 builtin/commit.c:463
 msgid "unable to write new_index file"
-msgstr ""
+msgstr "não é possível escrever o ficheiro new_index"
 
-#: builtin/commit.c:442
+#: builtin/commit.c:445
 msgid "cannot do a partial commit during a merge."
-msgstr ""
+msgstr "não é possível fazer um commit parcial durante um merge."
 
-#: builtin/commit.c:444
+#: builtin/commit.c:447
 msgid "cannot do a partial commit during a cherry-pick."
-msgstr ""
+msgstr "não é possível fazer um commit parcial durante um cherry-pick."
 
-#: builtin/commit.c:454
+#: builtin/commit.c:456
 msgid "cannot read the index"
-msgstr "não foi possível ler o indíce"
+msgstr "não é possível ler o índice"
 
-#: builtin/commit.c:474
+#: builtin/commit.c:475
 msgid "unable to write temporary index file"
-msgstr ""
+msgstr "não é possível escrever ficheiro de índice temporário"
 
-#: builtin/commit.c:549
-#: builtin/commit.c:555
+#: builtin/commit.c:580
 #, c-format
-msgid "invalid commit: %s"
-msgstr "commit inválido: %s"
+msgid "commit '%s' lacks author header"
+msgstr "o commit '%s' não tem cabeçalho de autor"
 
-#: builtin/commit.c:578
+#: builtin/commit.c:582
+#, c-format
+msgid "commit '%s' has malformed author line"
+msgstr "o commit '%s' tem a linha de autor malformada"
+
+#: builtin/commit.c:601
 msgid "malformed --author parameter"
-msgstr ""
+msgstr "parâmetro --author malformado"
 
-#: builtin/commit.c:639
+#: builtin/commit.c:609
 #, c-format
-msgid "Malformed ident string: '%s'"
-msgstr ""
+msgid "invalid date format: %s"
+msgstr "formato de data inválido: %s"
 
-#: builtin/commit.c:677
-#: builtin/commit.c:710
-#: builtin/commit.c:1024
+#: builtin/commit.c:653
+msgid ""
+"unable to select a comment character that is not used\n"
+"in the current commit message"
+msgstr ""
+"não foi possível selecionar um carácter de comentário que\n"
+"não estivesse já a ser usado na mensagem de commit atual"
+
+#: builtin/commit.c:690 builtin/commit.c:723 builtin/commit.c:1080
 #, c-format
 msgid "could not lookup commit %s"
-msgstr ""
+msgstr "não foi possível consultar o commit %s"
 
-#: builtin/commit.c:689
-#: builtin/shortlog.c:296
+#: builtin/commit.c:702 builtin/shortlog.c:285
 #, c-format
 msgid "(reading log message from standard input)\n"
-msgstr ""
+msgstr "(a ler mensagem de log da entrada padrão)\n"
 
-#: builtin/commit.c:691
+#: builtin/commit.c:704
 msgid "could not read log from standard input"
-msgstr ""
+msgstr "não foi possível ler o log da entrada padrão"
 
-#: builtin/commit.c:695
+#: builtin/commit.c:708
 #, c-format
 msgid "could not read log file '%s'"
-msgstr "não é possivel ler o ficheiro de log '%s'"
+msgstr "não é possível ler o ficheiro de log '%s'"
 
-#: builtin/commit.c:701
-msgid "commit has empty message"
-msgstr "a mensagem do commit está vazia"
-
-#: builtin/commit.c:717
+#: builtin/commit.c:730
 msgid "could not read MERGE_MSG"
-msgstr "não é possivel ler MERGE_MSG"
+msgstr "não foi possível ler MERGE_MSG"
 
-#: builtin/commit.c:721
+#: builtin/commit.c:734
 msgid "could not read SQUASH_MSG"
-msgstr "não é possivel ler SQUASH_MSG"
+msgstr "não foi possível ler SQUASH_MSG"
 
-#: builtin/commit.c:725
-#, c-format
-msgid "could not read '%s'"
-msgstr "não é possivel ler '%s'"
-
-#: builtin/commit.c:777
+#: builtin/commit.c:785
 msgid "could not write commit template"
-msgstr ""
+msgstr "não foi possível escrever o modelo de commit"
 
-#: builtin/commit.c:788
+#: builtin/commit.c:803
 #, c-format
 msgid ""
 "\n"
@@ -2049,8 +5222,13 @@
 "\t%s\n"
 "and try again.\n"
 msgstr ""
+"\n"
+"Parece que está a fazer commit de um merge.\n"
+"Se não for o caso, remova o ficheiro\n"
+"\t%s\n"
+"e tente de novo.\n"
 
-#: builtin/commit.c:793
+#: builtin/commit.c:808
 #, c-format
 msgid ""
 "\n"
@@ -2059,1616 +5237,3904 @@
 "\t%s\n"
 "and try again.\n"
 msgstr ""
+"\n"
+"Parece que está a fazer commit de um cherry-pick.\n"
+"Se não é o caso, remova o ficheiro\n"
+"        %s\n"
+"e tente outra vez.\n"
 
-#: builtin/commit.c:805
+#: builtin/commit.c:821
+#, c-format
 msgid ""
 "Please enter the commit message for your changes. Lines starting\n"
-"with '#' will be ignored, and an empty message aborts the commit.\n"
+"with '%c' will be ignored, and an empty message aborts the commit.\n"
 msgstr ""
+"Introduza a mensagem de commit das suas alterações.\n"
+"Linhas começadas com '%c' serão ignoradas, e uma mensagem vazia\n"
+"aborta o commit.\n"
 
-#: builtin/commit.c:810
+#: builtin/commit.c:828
+#, c-format
 msgid ""
 "Please enter the commit message for your changes. Lines starting\n"
-"with '#' will be kept; you may remove them yourself if you want to.\n"
+"with '%c' will be kept; you may remove them yourself if you want to.\n"
 "An empty message aborts the commit.\n"
 msgstr ""
+"Introduzia a mensagem de commit das suas alterações.\n"
+"Linhas começadas com '%c' serão mantidas; pode removê-las se o desejar.\n"
+"Uma mensagem vazia aborta o commit.\n"
 
-#: builtin/commit.c:823
+#: builtin/commit.c:848
 #, c-format
-msgid "%sAuthor:    %s"
-msgstr "%sAutor:    %s"
+msgid "%sAuthor:    %.*s <%.*s>"
+msgstr "%sAutor:    %.*s <%.*s>"
 
-#: builtin/commit.c:830
+#: builtin/commit.c:856
 #, c-format
-msgid "%sCommitter: %s"
-msgstr "%sCommitador: %s"
+msgid "%sDate:      %s"
+msgstr "%sData:      %s"
 
-#: builtin/commit.c:850
+#: builtin/commit.c:863
+#, c-format
+msgid "%sCommitter: %.*s <%.*s>"
+msgstr "%sCommitter: %.*s <%.*s>"
+
+#: builtin/commit.c:881
 msgid "Cannot read index"
-msgstr ""
+msgstr "Não é possível ler o índice"
 
-#: builtin/commit.c:887
+#: builtin/commit.c:938
 msgid "Error building trees"
-msgstr ""
+msgstr "Erro ao construir árvores"
 
-#: builtin/commit.c:902
-#: builtin/tag.c:361
+#: builtin/commit.c:953 builtin/tag.c:266
 #, c-format
 msgid "Please supply the message using either -m or -F option.\n"
-msgstr ""
+msgstr "Indique a mensagem usando as opções -m ou -F.\n"
 
-#: builtin/commit.c:999
+#: builtin/commit.c:1055
 #, c-format
-msgid "No existing author found with '%s'"
+msgid "--author '%s' is not 'Name <email>' and matches no existing author"
 msgstr ""
+"--author '%s' não é do tipo 'Nome <email>' e não corresponde a um autor "
+"existente"
 
-#: builtin/commit.c:1014
-#: builtin/commit.c:1214
+#: builtin/commit.c:1070 builtin/commit.c:1310
 #, c-format
 msgid "Invalid untracked files mode '%s'"
-msgstr ""
+msgstr "Modo inválido de ficheiros não controlados '%s'"
 
-#: builtin/commit.c:1054
+#: builtin/commit.c:1107
+msgid "--long and -z are incompatible"
+msgstr "--long e -z são incompatíveis"
+
+#: builtin/commit.c:1137
 msgid "Using both --reset-author and --author does not make sense"
-msgstr ""
+msgstr "Não faz sentido usar --reset-author e --author ao mesmo tempo"
 
-#: builtin/commit.c:1065
+#: builtin/commit.c:1146
 msgid "You have nothing to amend."
-msgstr "Você não tem nada a corregir."
+msgstr "Não há nada para emendar."
 
-#: builtin/commit.c:1068
+#: builtin/commit.c:1149
 msgid "You are in the middle of a merge -- cannot amend."
-msgstr ""
+msgstr "Merge em curso -- não é possível emendar."
 
-#: builtin/commit.c:1070
+#: builtin/commit.c:1151
 msgid "You are in the middle of a cherry-pick -- cannot amend."
-msgstr ""
+msgstr "Cherry-pick em curso -- não é possível emendar."
 
-#: builtin/commit.c:1073
+#: builtin/commit.c:1154
 msgid "Options --squash and --fixup cannot be used together"
-msgstr ""
+msgstr "As opções --squash e --fixup não podem ser usadas juntas"
 
-#: builtin/commit.c:1083
+#: builtin/commit.c:1164
 msgid "Only one of -c/-C/-F/--fixup can be used."
-msgstr ""
+msgstr "Apenas um entre -c/-C/-F/--fixup pode ser usado."
 
-#: builtin/commit.c:1085
+#: builtin/commit.c:1166
 msgid "Option -m cannot be combined with -c/-C/-F/--fixup."
-msgstr ""
+msgstr "A opção -m não pode ser combinada com -c/C/-F/--fixup."
 
-#: builtin/commit.c:1093
+#: builtin/commit.c:1174
 msgid "--reset-author can be used only with -C, -c or --amend."
-msgstr ""
+msgstr "--reset-author só pode ser usado com -C, -c ou --amend."
 
-#: builtin/commit.c:1110
+#: builtin/commit.c:1191
 msgid "Only one of --include/--only/--all/--interactive/--patch can be used."
 msgstr ""
+"Apenas um entre --include/--only/--all/--interactive/--patch pode ser usado."
 
-#: builtin/commit.c:1112
+#: builtin/commit.c:1193
 msgid "No paths with --include/--only does not make sense."
-msgstr ""
+msgstr "As opções --include/--only não fazem sentido sem indicar caminhos."
 
-#: builtin/commit.c:1114
+#: builtin/commit.c:1195
 msgid "Clever... amending the last one with dirty index."
-msgstr ""
+msgstr "Inteligente... a emendar o último commit com o índice sujo."
 
-#: builtin/commit.c:1116
-msgid "Explicit paths specified without -i nor -o; assuming --only paths..."
-msgstr ""
+#: builtin/commit.c:1197
+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:1126
-#: builtin/tag.c:577
+#: builtin/commit.c:1209 builtin/tag.c:475
 #, c-format
 msgid "Invalid cleanup mode %s"
-msgstr ""
+msgstr "Modo de limpeza inválido %s"
 
-#: builtin/commit.c:1131
+#: builtin/commit.c:1214
 msgid "Paths with -a does not make sense."
-msgstr ""
+msgstr "A especificação de caminhos com -a não faz sentido."
 
-#: builtin/commit.c:1315
+#: builtin/commit.c:1324 builtin/commit.c:1605
+msgid "show status concisely"
+msgstr "mostrar status de forma concisa"
+
+#: builtin/commit.c:1326 builtin/commit.c:1607
+msgid "show branch information"
+msgstr "mostrar informação do ramo"
+
+#: builtin/commit.c:1328 builtin/commit.c:1609 builtin/push.c:512
+#: builtin/worktree.c:430
+msgid "machine-readable output"
+msgstr "saída inteligível por máquina"
+
+#: builtin/commit.c:1331 builtin/commit.c:1611
+msgid "show status in long format (default)"
+msgstr "apresentar status em formato longo (predefinição)"
+
+#: builtin/commit.c:1334 builtin/commit.c:1614
+msgid "terminate entries with NUL"
+msgstr "terminar entradas com NUL"
+
+#: builtin/commit.c:1336 builtin/commit.c:1617 builtin/fast-export.c:981
+#: builtin/fast-export.c:984 builtin/tag.c:353
+msgid "mode"
+msgstr "modo"
+
+#: builtin/commit.c:1337 builtin/commit.c:1617
+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:1340
+msgid "show ignored files"
+msgstr "mostrar ficheiros ignorados"
+
+#: builtin/commit.c:1341 parse-options.h:155
+msgid "when"
+msgstr "quando"
+
+#: builtin/commit.c:1342
+msgid ""
+"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:1344
+msgid "list untracked files in columns"
+msgstr "listar ficheiros não controlados em colunas"
+
+#: builtin/commit.c:1430
 msgid "couldn't look up newly created commit"
-msgstr ""
+msgstr "não foi possível consultar o commit recém-criado"
 
-#: builtin/commit.c:1317
+#: builtin/commit.c:1432
 msgid "could not parse newly created commit"
-msgstr ""
+msgstr "não foi possível analisar o commit recém-criado"
 
-#: builtin/commit.c:1358
+#: builtin/commit.c:1477
 msgid "detached HEAD"
-msgstr ""
+msgstr "HEAD destacada"
 
-#: builtin/commit.c:1360
+#: builtin/commit.c:1480
 msgid " (root-commit)"
-msgstr " (root-commit)"
-
-#: builtin/commit.c:1450
-msgid "could not parse HEAD commit"
-msgstr ""
-
-#: builtin/commit.c:1487
-#: builtin/merge.c:509
-#, c-format
-msgid "could not open '%s' for reading"
-msgstr ""
-
-#: builtin/commit.c:1494
-#, c-format
-msgid "Corrupt MERGE_HEAD file (%s)"
-msgstr ""
-
-#: builtin/commit.c:1501
-msgid "could not read MERGE_MODE"
-msgstr ""
-
-#: builtin/commit.c:1520
-#, c-format
-msgid "could not read commit message: %s"
-msgstr ""
-
-#: builtin/commit.c:1534
-#, c-format
-msgid "Aborting commit; you did not edit the message.\n"
-msgstr ""
-
-#: builtin/commit.c:1539
-#, c-format
-msgid "Aborting commit due to empty commit message.\n"
-msgstr ""
-
-#: builtin/commit.c:1554
-#: builtin/merge.c:936
-#: builtin/merge.c:961
-msgid "failed to write commit object"
-msgstr ""
+msgstr " (commit-raiz)"
 
 #: builtin/commit.c:1575
-msgid "cannot lock HEAD ref"
-msgstr ""
+msgid "suppress summary after successful commit"
+msgstr "suprimir o resumo depois de fazer commit com sucesso"
 
-#: builtin/commit.c:1579
-msgid "cannot update HEAD ref"
+#: builtin/commit.c:1576
+msgid "show diff in commit message template"
+msgstr "mostrar diff no modelo da mensagem de commit"
+
+#: builtin/commit.c:1578
+msgid "Commit message options"
+msgstr "Opções de mensagem de commit"
+
+#: builtin/commit.c:1579 builtin/tag.c:351
+msgid "read message from file"
+msgstr "ler mensagem de um ficheiro"
+
+#: builtin/commit.c:1580
+msgid "author"
+msgstr "autor"
+
+#: builtin/commit.c:1580
+msgid "override author for commit"
+msgstr "substituir autor do commit"
+
+#: builtin/commit.c:1581 builtin/gc.c:326
+msgid "date"
+msgstr "data"
+
+#: builtin/commit.c:1581
+msgid "override date for commit"
+msgstr "substituir data do commit"
+
+#: builtin/commit.c:1582 builtin/merge.c:218 builtin/notes.c:395
+#: builtin/notes.c:558 builtin/tag.c:349
+msgid "message"
+msgstr "mensagem"
+
+#: builtin/commit.c:1582
+msgid "commit message"
+msgstr "mensagem de commit"
+
+#: builtin/commit.c:1583 builtin/commit.c:1584 builtin/commit.c:1585
+#: builtin/commit.c:1586 parse-options.h:256 ref-filter.h:79
+msgid "commit"
+msgstr "commit"
+
+#: builtin/commit.c:1583
+msgid "reuse and edit message from specified commit"
+msgstr "reutilizar e editar a mensagem de um commit especificado"
+
+#: builtin/commit.c:1584
+msgid "reuse message from specified commit"
+msgstr "reutilizar a mensagem de um commit especificado"
+
+#: builtin/commit.c:1585
+msgid "use autosquash formatted message to fixup specified commit"
 msgstr ""
+"usar mensagem com formato autosquash para corrigir o commit especificado"
+
+#: builtin/commit.c:1586
+msgid "use autosquash formatted message to squash specified commit"
+msgstr ""
+"usar mensagem com formato autosquash para esmagar o commit especificado"
+
+#: builtin/commit.c:1587
+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:1588 builtin/log.c:1219 builtin/revert.c:86
+msgid "add Signed-off-by:"
+msgstr "adicionar Signed-off-by:"
+
+#: builtin/commit.c:1589
+msgid "use specified template file"
+msgstr "usar ficheiro de modelo especificado"
 
 #: builtin/commit.c:1590
+msgid "force edit of commit"
+msgstr "forçar edição do commit"
+
+#: builtin/commit.c:1591
+msgid "default"
+msgstr "predefinição"
+
+#: builtin/commit.c:1591 builtin/tag.c:354
+msgid "how to strip spaces and #comments from message"
+msgstr "como retirar espaços e #comentários da mensagem"
+
+#: builtin/commit.c:1592
+msgid "include status in commit message template"
+msgstr "incluir status no modelo da mensagem de commit"
+
+#: builtin/commit.c:1594 builtin/merge.c:226 builtin/pull.c:160
+#: builtin/revert.c:93
+msgid "GPG sign commit"
+msgstr "assinar o commit com GPG"
+
+#: builtin/commit.c:1597
+msgid "Commit contents options"
+msgstr "Opções de conteúdo do commit"
+
+#: builtin/commit.c:1598
+msgid "commit all changed files"
+msgstr "fazer commit de todos os ficheiros alterados"
+
+#: builtin/commit.c:1599
+msgid "add specified files to index for commit"
+msgstr "adicionar ficheiros especificados ao índice para incluir no commit"
+
+#: builtin/commit.c:1600
+msgid "interactively add files"
+msgstr "adicionar ficheiros interativamente"
+
+#: builtin/commit.c:1601
+msgid "interactively add changes"
+msgstr "adicionar alterações interativamente"
+
+#: builtin/commit.c:1602
+msgid "commit only specified files"
+msgstr "fazer commit somente dos ficheiros especificados"
+
+#: builtin/commit.c:1603
+msgid "bypass pre-commit hook"
+msgstr "ignorar pre-commit hook"
+
+#: builtin/commit.c:1604
+msgid "show what would be committed"
+msgstr "mostrar o que será incluído no commit"
+
+#: builtin/commit.c:1615
+msgid "amend previous commit"
+msgstr "emendar o commit anterior"
+
+#: builtin/commit.c:1616
+msgid "bypass post-rewrite hook"
+msgstr "ignorar post-rewrite hook"
+
+#: builtin/commit.c:1621
+msgid "ok to record an empty change"
+msgstr "aceitar o registo duma alteração vazia"
+
+#: builtin/commit.c:1623
+msgid "ok to record a change with an empty message"
+msgstr "aceitar o registo duma alteração com uma mensagem vazia"
+
+#: builtin/commit.c:1652
+msgid "could not parse HEAD commit"
+msgstr "não foi possível analisar o commit HEAD"
+
+#: builtin/commit.c:1698
+#, c-format
+msgid "Corrupt MERGE_HEAD file (%s)"
+msgstr "Ficheiro MERGE_HEAD corrompido (%s)"
+
+#: builtin/commit.c:1705
+msgid "could not read MERGE_MODE"
+msgstr "não foi possível ler MERGE_MODE"
+
+#: builtin/commit.c:1724
+#, c-format
+msgid "could not read commit message: %s"
+msgstr "não foi possível ler a mensagem de commit: %s"
+
+#: builtin/commit.c:1735
+#, 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:1740
+#, 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:1788
 msgid ""
 "Repository has been updated, but unable to write\n"
-"new_index file. Check that disk is not full or quota is\n"
+"new_index file. Check that disk is not full and quota is\n"
 "not exceeded, and then \"git reset HEAD\" to recover."
 msgstr ""
+"O repositório foi atualizado, mas não foi possível escrever\n"
+"o ficheiro new_index. Verifique se o disco não está cheio\n"
+"e que a quota não foi excedida e execute \"git reset HEAD\" para recuperar."
 
-#: builtin/describe.c:234
+#: builtin/config.c:9
+msgid "git config [<options>]"
+msgstr "git config [<opções>]"
+
+#: builtin/config.c:56
+msgid "Config file location"
+msgstr "Localização do ficheiro de configuração"
+
+#: builtin/config.c:57
+msgid "use global config file"
+msgstr "usar ficheiro de configuração global"
+
+#: builtin/config.c:58
+msgid "use system config file"
+msgstr "usar ficheiro de configuração do sistema"
+
+#: builtin/config.c:59
+msgid "use repository config file"
+msgstr "usar ficheiro de configuração do repositório"
+
+#: builtin/config.c:60
+msgid "use given config file"
+msgstr "usar ficheiro de configuração fornecido"
+
+#: builtin/config.c:61
+msgid "blob-id"
+msgstr "id-blob"
+
+#: builtin/config.c:61
+msgid "read config from given blob object"
+msgstr "ler configuração a partir do objeto blob fornecido"
+
+#: builtin/config.c:62
+msgid "Action"
+msgstr "Ação"
+
+#: builtin/config.c:63
+msgid "get value: name [value-regex]"
+msgstr "obter valor: nome [regex-do-valor]"
+
+#: builtin/config.c:64
+msgid "get all values: key [value-regex]"
+msgstr "obter todos os valores: chave [regex-do-valor]"
+
+#: builtin/config.c:65
+msgid "get values for regexp: name-regex [value-regex]"
+msgstr "obter valores para a regexp: regex-do-nome [regex-do-valor]"
+
+#: builtin/config.c:66
+msgid "get value specific for the URL: section[.var] URL"
+msgstr "obter valor do URL especificado: section[.var] URL"
+
+#: builtin/config.c:67
+msgid "replace all matching variables: name value [value_regex]"
+msgstr ""
+"substituir todos as variáveis correspondentes: nome valor [regex-do-valor]"
+
+#: builtin/config.c:68
+msgid "add a new variable: name value"
+msgstr "adicionar uma nova variável: nome valor"
+
+#: builtin/config.c:69
+msgid "remove a variable: name [value-regex]"
+msgstr "remover uma variável: nome [regex-do-valor]"
+
+#: builtin/config.c:70
+msgid "remove all matches: name [value-regex]"
+msgstr "remover todas as correspondências: nome [regex-do-valor]"
+
+#: builtin/config.c:71
+msgid "rename section: old-name new-name"
+msgstr "mudar o nome da secção: nome-antigo novo-nome"
+
+#: builtin/config.c:72
+msgid "remove a section: name"
+msgstr "remover uma secção: nome"
+
+#: builtin/config.c:73
+msgid "list all"
+msgstr "listar todos"
+
+#: builtin/config.c:74
+msgid "open an editor"
+msgstr "abrir um editor"
+
+#: builtin/config.c:75
+msgid "find the color configured: slot [default]"
+msgstr "encontrar a cor configurada: slot [predefinição]"
+
+#: builtin/config.c:76
+msgid "find the color setting: slot [stdout-is-tty]"
+msgstr "encontrar a definição de cor: slot [stdout-é-tty]"
+
+#: builtin/config.c:77
+msgid "Type"
+msgstr "Tipo"
+
+#: builtin/config.c:78
+msgid "value is \"true\" or \"false\""
+msgstr "o valor é \"true\" (verdadeiro) ou \"falso\" (falso)"
+
+#: builtin/config.c:79
+msgid "value is decimal number"
+msgstr "o valor é um número decimal"
+
+#: builtin/config.c:80
+msgid "value is --bool or --int"
+msgstr "o valor é --bool ou --int"
+
+#: builtin/config.c:81
+msgid "value is a path (file or directory name)"
+msgstr "o valor é um caminho (nome dum ficheiro ou diretório)"
+
+#: builtin/config.c:82
+msgid "Other"
+msgstr "Outro"
+
+#: builtin/config.c:83
+msgid "terminate values with NUL byte"
+msgstr "terminar valores com o byte NUL"
+
+#: builtin/config.c:84
+msgid "show variable names only"
+msgstr "mostrar apenas os nomes das variáveis"
+
+#: builtin/config.c:85
+msgid "respect include directives on lookup"
+msgstr "respeitar diretivas de inclusão ao pesquisar"
+
+#: builtin/config.c:86
+msgid "show origin of config (file, standard input, blob, command line)"
+msgstr ""
+"mostrar a origem da configuração (ficheiro, entrada padrão, blob, linha de "
+"comandos)"
+
+#: builtin/config.c:328
+msgid "unable to parse default color value"
+msgstr "não é possível analisar o valor de cor por omissão"
+
+#: builtin/config.c:469
+#, c-format
+msgid ""
+"# This is Git's per-user configuration file.\n"
+"[user]\n"
+"# Please adapt and uncomment the following lines:\n"
+"#\tname = %s\n"
+"#\temail = %s\n"
+msgstr ""
+"# Este é o ficheiro de configuração do Git do utilizador.\n"
+"[user]\n"
+"# Adapte e retire os comentários das seguintes linhas:\n"
+"#\tname = %s\n"
+"#\temail = %s\n"
+
+#: builtin/config.c:611
+#, c-format
+msgid "cannot create configuration file %s"
+msgstr "não é possível criar o ficheiro de configuração %s"
+
+#: builtin/count-objects.c:77
+msgid "git count-objects [-v] [-H | --human-readable]"
+msgstr "git count-objects [-v] [-H | --human-readable]"
+
+#: builtin/count-objects.c:87
+msgid "print sizes in human readable format"
+msgstr "imprimir dimensões em formato inteligível por humanos"
+
+#: builtin/describe.c:17
+msgid "git describe [<options>] [<commit-ish>...]"
+msgstr "git describe [<opções>] [<commit-ish>...]"
+
+#: builtin/describe.c:18
+msgid "git describe [<options>] --dirty"
+msgstr "git describe [<opções>] --dirty"
+
+#: builtin/describe.c:217
 #, c-format
 msgid "annotated tag %s not available"
-msgstr ""
+msgstr "a tag anotada %s não está disponível"
 
-#: builtin/describe.c:238
+#: builtin/describe.c:221
 #, c-format
 msgid "annotated tag %s has no embedded name"
-msgstr ""
+msgstr "a tag anotada %s não tem nenhum nome incorporado"
 
-#: builtin/describe.c:240
+#: builtin/describe.c:223
 #, c-format
 msgid "tag '%s' is really '%s' here"
-msgstr ""
+msgstr "a tag '%s' está de facto em '%s'"
 
-#: builtin/describe.c:267
+#: builtin/describe.c:250 builtin/log.c:459
 #, c-format
 msgid "Not a valid object name %s"
-msgstr ""
+msgstr "%s não é um nome de objeto válido"
+
+#: builtin/describe.c:253
+#, c-format
+msgid "%s is not a valid '%s' object"
+msgstr "%s não é um objeto '%s' válido"
 
 #: builtin/describe.c:270
 #, c-format
-msgid "%s is not a valid '%s' object"
-msgstr ""
-
-#: builtin/describe.c:287
-#, c-format
 msgid "no tag exactly matches '%s'"
-msgstr ""
+msgstr "nenhuma tag corresponde exatamente a '%s'"
 
-#: builtin/describe.c:289
+#: builtin/describe.c:272
 #, c-format
 msgid "searching to describe %s\n"
-msgstr ""
+msgstr "à procurar da descrição de %s\n"
 
-#: builtin/describe.c:329
+#: builtin/describe.c:319
 #, c-format
 msgid "finished search at %s\n"
-msgstr ""
+msgstr "a pesquisa terminou em %s\n"
 
-#: builtin/describe.c:353
+#: builtin/describe.c:346
 #, c-format
 msgid ""
 "No annotated tags can describe '%s'.\n"
 "However, there were unannotated tags: try --tags."
 msgstr ""
+"Não é possível usar tags anotadas para descrever '%s'.\n"
+"No entanto, é possível com tags não anotadas: tente --tags."
 
-#: builtin/describe.c:357
+#: builtin/describe.c:350
 #, c-format
 msgid ""
 "No tags can describe '%s'.\n"
 "Try --always, or create some tags."
 msgstr ""
+"Não é possível usar tags para descrever '%s'.\n"
+"Tente --always, ou crie algumas tags."
 
-#: builtin/describe.c:378
+#: builtin/describe.c:371
 #, c-format
 msgid "traversed %lu commits\n"
-msgstr ""
+msgstr "%lu commits percorridos\n"
 
-#: builtin/describe.c:381
+#: builtin/describe.c:374
 #, c-format
 msgid ""
 "more than %i tags found; listed %i most recent\n"
 "gave up search at %s\n"
 msgstr ""
+"mais de %i tags encontradas; foram listadas as %i mais recentes\n"
+"pesquisa interrompida em %s\n"
 
-#: builtin/describe.c:436
+#: builtin/describe.c:396
+msgid "find the tag that comes after the commit"
+msgstr "localizar a tag que vem após o commit"
+
+#: builtin/describe.c:397
+msgid "debug search strategy on stderr"
+msgstr "depurar a estratégia de procura para stderr"
+
+#: builtin/describe.c:398
+msgid "use any ref"
+msgstr "usar uma referência qualquer"
+
+#: builtin/describe.c:399
+msgid "use any tag, even unannotated"
+msgstr "usar uma tag qualquer, mesmo não anotada"
+
+#: builtin/describe.c:400
+msgid "always use long format"
+msgstr "usar sempre formato longo"
+
+#: builtin/describe.c:401
+msgid "only follow first parent"
+msgstr "seguir só o primeiro pai"
+
+#: builtin/describe.c:404
+msgid "only output exact matches"
+msgstr "imprimir apenas correspondências exatas"
+
+#: builtin/describe.c:406
+msgid "consider <n> most recent tags (default: 10)"
+msgstr "considerar as <n> tags mais recentes (predefinição: 10)"
+
+#: builtin/describe.c:408
+msgid "only consider tags matching <pattern>"
+msgstr "apenas considerar tags que correspondam ao <padrão>"
+
+#: builtin/describe.c:410 builtin/name-rev.c:314
+msgid "show abbreviated commit object as fallback"
+msgstr "mostrar objetos de commit abreviados em recurso"
+
+#: builtin/describe.c:411
+msgid "mark"
+msgstr "marca"
+
+#: builtin/describe.c:412
+msgid "append <mark> on dirty working tree (default: \"-dirty\")"
+msgstr ""
+"acrescentar <marca> se a árvore de trabalho contiver alterações "
+"(predefinição: \"-dirty\")"
+
+#: builtin/describe.c:430
 msgid "--long is incompatible with --abbrev=0"
-msgstr ""
+msgstr "--long é incompatível com --abbrev=0"
 
-#: builtin/describe.c:462
+#: builtin/describe.c:456
 msgid "No names found, cannot describe anything."
-msgstr "Nenhum nome encontrado, não descreve nada."
+msgstr "Nenhum nome encontrado, não é possível descrever."
 
-#: builtin/describe.c:482
+#: builtin/describe.c:476
 msgid "--dirty is incompatible with commit-ishes"
-msgstr ""
+msgstr "--dirty é incompatível com commits ou semelhantes"
 
-#: builtin/diff.c:77
+#: builtin/diff.c:86
 #, c-format
 msgid "'%s': not a regular file or symlink"
-msgstr ""
+msgstr "'%s': não é um ficheiro regular nem uma ligação simbólica"
 
-#: builtin/diff.c:220
+#: builtin/diff.c:237
 #, c-format
 msgid "invalid option: %s"
-msgstr ""
+msgstr "opção inválida: %s"
 
-#: builtin/diff.c:297
+#: builtin/diff.c:358
 msgid "Not a git repository"
-msgstr "Não é um repositorio git"
+msgstr "Não é um repositório git"
 
-#: builtin/diff.c:347
+#: builtin/diff.c:401
 #, c-format
 msgid "invalid object '%s' given."
-msgstr ""
+msgstr "objeto inválido '%s' fornecido."
 
-#: builtin/diff.c:352
-#, c-format
-msgid "more than %d trees given: '%s'"
-msgstr ""
-
-#: builtin/diff.c:362
+#: builtin/diff.c:410
 #, c-format
 msgid "more than two blobs given: '%s'"
-msgstr ""
+msgstr "mais do que dois blobs fornecidos: '%s'"
 
-#: builtin/diff.c:370
+#: builtin/diff.c:417
 #, c-format
 msgid "unhandled object '%s' given."
-msgstr ""
+msgstr "objeto sem tratamento '%s' fornecido."
 
-#: builtin/fetch.c:200
+#: builtin/fast-export.c:25
+msgid "git fast-export [rev-list-opts]"
+msgstr "git fast-export [opções-de-rev-list]"
+
+#: builtin/fast-export.c:980
+msgid "show progress after <n> objects"
+msgstr "mostrar progresso depois de <n> objetos"
+
+#: builtin/fast-export.c:982
+msgid "select handling of signed tags"
+msgstr "selecionar o tratamento de tags assinadas"
+
+#: builtin/fast-export.c:985
+msgid "select handling of tags that tag filtered objects"
+msgstr "selecionar o tratamento de tags que apontem para objetos filtrados"
+
+#: builtin/fast-export.c:988
+msgid "Dump marks to this file"
+msgstr "Capturar marcas neste ficheiro"
+
+#: builtin/fast-export.c:990
+msgid "Import marks from this file"
+msgstr "Importar marcas deste ficheiro"
+
+#: builtin/fast-export.c:992
+msgid "Fake a tagger when tags lack one"
+msgstr "Inventar um autor de tag para tags que não tenham um"
+
+#: builtin/fast-export.c:994
+msgid "Output full tree for each commit"
+msgstr "Mostrar a árvore completa para cada commit"
+
+#: builtin/fast-export.c:996
+msgid "Use the done feature to terminate the stream"
+msgstr "Usar a funcionalidade done para terminar o fluxo"
+
+#: builtin/fast-export.c:997
+msgid "Skip output of blob data"
+msgstr "Ignorar a exibição de dados de blob"
+
+#: builtin/fast-export.c:998
+msgid "refspec"
+msgstr "especificador de referência"
+
+#: builtin/fast-export.c:999
+msgid "Apply refspec to exported refs"
+msgstr "Aplicar o especificador de referência a referências exportadas"
+
+#: builtin/fast-export.c:1000
+msgid "anonymize output"
+msgstr "anonimizar saída"
+
+#: builtin/fetch.c:20
+msgid "git fetch [<options>] [<repository> [<refspec>...]]"
+msgstr ""
+"git fetch [<opções>] [<repositório> [<especificador-de-referência>...]]"
+
+#: builtin/fetch.c:21
+msgid "git fetch [<options>] <group>"
+msgstr "git fetch [<opções>] <grupo>"
+
+#: builtin/fetch.c:22
+msgid "git fetch --multiple [<options>] [(<repository> | <group>)...]"
+msgstr "git fetch --multiple [<opções>] [(<repositório> | <grupo>)...]"
+
+#: builtin/fetch.c:23
+msgid "git fetch --all [<options>]"
+msgstr "git fetch --all [<opções>]"
+
+#: builtin/fetch.c:92 builtin/pull.c:166
+msgid "fetch from all remotes"
+msgstr "obter de todos os remotos"
+
+#: builtin/fetch.c:94 builtin/pull.c:169
+msgid "append to .git/FETCH_HEAD instead of overwriting"
+msgstr "acrescentar a .git/FETCH_HEAD em vez de substituir"
+
+#: builtin/fetch.c:96 builtin/pull.c:172
+msgid "path to upload pack on remote end"
+msgstr "caminho para o comando upload pack no remoto"
+
+#: builtin/fetch.c:97 builtin/pull.c:174
+msgid "force overwrite of local branch"
+msgstr "forçar a substituição do ramo local"
+
+#: builtin/fetch.c:99
+msgid "fetch from multiple remotes"
+msgstr "obter de múltiplos remotos"
+
+#: builtin/fetch.c:101 builtin/pull.c:176
+msgid "fetch all tags and associated objects"
+msgstr "obter todas as tags e objetos associados"
+
+#: builtin/fetch.c:103
+msgid "do not fetch all tags (--no-tags)"
+msgstr "não obter todas as tags (--no-tags)"
+
+#: builtin/fetch.c:105
+msgid "number of submodules fetched in parallel"
+msgstr "número de submódulos obtidos em paralelo"
+
+#: builtin/fetch.c:107 builtin/pull.c:179
+msgid "prune remote-tracking branches no longer on remote"
+msgstr "eliminar os ramos cujo respetivo ramo remoto já não existe"
+
+#: builtin/fetch.c:108 builtin/pull.c:182
+msgid "on-demand"
+msgstr "on-demand"
+
+#: builtin/fetch.c:109 builtin/pull.c:183
+msgid "control recursive fetching of submodules"
+msgstr "controlar a obtenção recursiva de submódulos"
+
+#: builtin/fetch.c:113 builtin/pull.c:191
+msgid "keep downloaded pack"
+msgstr "manter o pacote transferido"
+
+#: builtin/fetch.c:115
+msgid "allow updating of HEAD ref"
+msgstr "permitir a atualização da referência HEAD"
+
+#: builtin/fetch.c:118 builtin/pull.c:194
+msgid "deepen history of shallow clone"
+msgstr "aprofundar o histórico de um clone raso"
+
+#: builtin/fetch.c:120 builtin/pull.c:197
+msgid "convert to a complete repository"
+msgstr "converter num repositório completo"
+
+#: builtin/fetch.c:122 builtin/log.c:1236
+msgid "dir"
+msgstr "dir"
+
+#: builtin/fetch.c:123
+msgid "prepend this to submodule path output"
+msgstr "preceder isto ao caminho do submódulo"
+
+#: builtin/fetch.c:126
+msgid "default mode for recursion"
+msgstr "modo recursivo por omissão"
+
+#: builtin/fetch.c:128 builtin/pull.c:200
+msgid "accept refs that update .git/shallow"
+msgstr "aceitar referência que atualizem .git/shallow"
+
+#: builtin/fetch.c:129 builtin/pull.c:202
+msgid "refmap"
+msgstr "mapa de referências"
+
+#: builtin/fetch.c:130 builtin/pull.c:203
+msgid "specify fetch refmap"
+msgstr "especificar mapa de referências"
+
+#: builtin/fetch.c:386
 msgid "Couldn't find remote ref HEAD"
-msgstr ""
+msgstr "Referência remota HEAD não encontrada"
 
-#: builtin/fetch.c:253
+#: builtin/fetch.c:466
 #, c-format
 msgid "object %s not found"
-msgstr "objecto %s não encontrado"
+msgstr "objeto %s não encontrado"
 
-#: builtin/fetch.c:259
+#: builtin/fetch.c:471
 msgid "[up to date]"
-msgstr "[Actualizada]"
+msgstr "[atualizado]"
 
-#: builtin/fetch.c:273
+#: builtin/fetch.c:485
 #, c-format
 msgid "! %-*s %-*s -> %s  (can't fetch in current branch)"
-msgstr ""
+msgstr "! %-*s %-*s -> %s  (não é possível obter no ramo atual)"
 
-#: builtin/fetch.c:274
-#: builtin/fetch.c:360
+#: builtin/fetch.c:486 builtin/fetch.c:574
 msgid "[rejected]"
 msgstr "[rejeitado]"
 
-#: builtin/fetch.c:285
+#: builtin/fetch.c:497
 msgid "[tag update]"
-msgstr "[etiqueta actualizada]"
+msgstr "[tag atualizada]"
 
-#: builtin/fetch.c:287
-#: builtin/fetch.c:322
-#: builtin/fetch.c:340
+#: builtin/fetch.c:499 builtin/fetch.c:534 builtin/fetch.c:552
 msgid "  (unable to update local ref)"
-msgstr ""
+msgstr "  (não é possível atualizar a referência local)"
 
-#: builtin/fetch.c:305
+#: builtin/fetch.c:517
 msgid "[new tag]"
-msgstr "[nova etiqueta]"
+msgstr "[nova tag]"
 
-#: builtin/fetch.c:308
+#: builtin/fetch.c:520
 msgid "[new branch]"
-msgstr "[nova rama]"
+msgstr "[novo ramo]"
 
-#: builtin/fetch.c:311
+#: builtin/fetch.c:523
 msgid "[new ref]"
-msgstr "[nova ref]"
+msgstr "[nova referência]"
 
-#: builtin/fetch.c:356
+#: builtin/fetch.c:569
 msgid "unable to update local ref"
-msgstr ""
+msgstr "não é possível atualizar a referência local"
 
-#: builtin/fetch.c:356
+#: builtin/fetch.c:569
 msgid "forced update"
-msgstr "actualização forçada"
+msgstr "atualização forçada"
 
-#: builtin/fetch.c:362
+#: builtin/fetch.c:576
 msgid "(non-fast-forward)"
-msgstr "(non-fast-forward)"
+msgstr "(sem avanço rápido)"
 
-#: builtin/fetch.c:393
-#: builtin/fetch.c:685
+#: builtin/fetch.c:610 builtin/fetch.c:851
 #, c-format
 msgid "cannot open %s: %s\n"
-msgstr "não é possivel abrir %s: %s\n"
+msgstr "não é possível abrir %s: %s\n"
 
-#: builtin/fetch.c:402
+#: builtin/fetch.c:619
 #, c-format
 msgid "%s did not send all necessary objects\n"
-msgstr ""
+msgstr "%s não enviou todos os objetos necessários\n"
 
-#: builtin/fetch.c:488
+#: builtin/fetch.c:637
+#, 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:724 builtin/fetch.c:816
 #, c-format
 msgid "From %.*s\n"
-msgstr "Para %.*s\n"
+msgstr "De %.*s\n"
 
-#: builtin/fetch.c:499
+#: builtin/fetch.c:735
 #, c-format
 msgid ""
 "some local refs could not be updated; try running\n"
 " 'git remote prune %s' to remove any old, conflicting branches"
 msgstr ""
+"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:549
+#: builtin/fetch.c:787
 #, c-format
 msgid "   (%s will become dangling)"
-msgstr ""
+msgstr "   (%s ficará suspenso)"
 
-#: builtin/fetch.c:550
+#: builtin/fetch.c:788
 #, c-format
 msgid "   (%s has become dangling)"
-msgstr ""
+msgstr "   (%s ficou suspenso)"
 
-#: builtin/fetch.c:557
+#: builtin/fetch.c:820
 msgid "[deleted]"
 msgstr "[eliminado]"
 
-#: builtin/fetch.c:558
-#: builtin/remote.c:1055
+#: builtin/fetch.c:821 builtin/remote.c:1025
 msgid "(none)"
 msgstr "(nenhum)"
 
-#: builtin/fetch.c:675
+#: builtin/fetch.c:841
 #, c-format
 msgid "Refusing to fetch into current branch %s of non-bare repository"
-msgstr ""
+msgstr "Não é possível obter objetos no ramo atual %s de um repositório não nu"
 
-#: builtin/fetch.c:709
-#, c-format
-msgid "Don't know how to fetch from %s"
-msgstr ""
-
-#: builtin/fetch.c:786
+#: builtin/fetch.c:860
 #, c-format
 msgid "Option \"%s\" value \"%s\" is not valid for %s"
-msgstr ""
+msgstr "O valor \"%2$s\" da opção \"%1$s\" não é válido em %3$s"
 
-#: builtin/fetch.c:789
+#: builtin/fetch.c:863
 #, c-format
 msgid "Option \"%s\" is ignored for %s\n"
-msgstr ""
+msgstr "Opção \"%s\" ignorada em %s\n"
 
-#: builtin/fetch.c:888
+#: builtin/fetch.c:920
+#, c-format
+msgid "Don't know how to fetch from %s"
+msgstr "Não sei como obter de %s"
+
+#: builtin/fetch.c:1080
 #, c-format
 msgid "Fetching %s\n"
-msgstr "Baixando %s\n"
+msgstr "A obter de %s\n"
 
-#: builtin/fetch.c:890
-#: builtin/remote.c:100
+#: builtin/fetch.c:1082 builtin/remote.c:96
 #, c-format
 msgid "Could not fetch %s"
-msgstr ""
+msgstr "Não foi possível obter de %s"
 
-#: builtin/fetch.c:907
+#: builtin/fetch.c:1100
 msgid ""
 "No remote repository specified.  Please, specify either a URL or a\n"
 "remote name from which new revisions should be fetched."
 msgstr ""
-"Nenhum repositório remoto especificado. Por favor, especifique um URL ou o\n"
-"nome remoto a partir do qual novas revisões devem ser obtida."
+"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:927
+#: builtin/fetch.c:1123
 msgid "You need to specify a tag name."
-msgstr "Você precisa especificar um nome da etiqueta."
+msgstr "Deve especificar um nome para a tag."
 
-#: builtin/fetch.c:979
+#: builtin/fetch.c:1165
+msgid "--depth and --unshallow cannot be used together"
+msgstr "--depth e --unshallow não podem ser usados juntos"
+
+#: builtin/fetch.c:1167
+msgid "--unshallow on a complete repository does not make sense"
+msgstr "usar --unshallow num repositório completo não faz sentido"
+
+#: builtin/fetch.c:1187
 msgid "fetch --all does not take a repository argument"
-msgstr ""
+msgstr "fetch --all não leva um repositório como argumento"
 
-#: builtin/fetch.c:981
+#: builtin/fetch.c:1189
 msgid "fetch --all does not make sense with refspecs"
-msgstr ""
+msgstr "fetch --all não faz sentido com especificadores de referência"
 
-#: builtin/fetch.c:992
+#: builtin/fetch.c:1200
 #, c-format
 msgid "No such remote or remote group: %s"
-msgstr ""
+msgstr "O remoto ou grupo remoto não existe: %s"
 
-#: builtin/fetch.c:1000
+#: builtin/fetch.c:1208
 msgid "Fetching a group and specifying refspecs does not make sense"
-msgstr ""
+msgstr "Não faz sentido obter um grupo e especificar uma referência"
 
-#: builtin/gc.c:63
+#: builtin/fmt-merge-msg.c:14
+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>]"
+
+#: builtin/fmt-merge-msg.c:667
+msgid "populate log with at most <n> entries from shortlog"
+msgstr "povoar o registo com, no máximo, <n> entradas do shortlog"
+
+#: builtin/fmt-merge-msg.c:670
+msgid "alias for --log (deprecated)"
+msgstr "alias de --log (obsoleto)"
+
+#: builtin/fmt-merge-msg.c:673
+msgid "text"
+msgstr "texto"
+
+#: builtin/fmt-merge-msg.c:674
+msgid "use <text> as start of message"
+msgstr "usar <texto> no início da mensagem"
+
+#: builtin/fmt-merge-msg.c:675
+msgid "file to read from"
+msgstr "ficheiro a ler"
+
+#: builtin/for-each-ref.c:9
+msgid "git for-each-ref [<options>] [<pattern>]"
+msgstr "git for-each-ref [<opções>] [<padrão>]"
+
+#: builtin/for-each-ref.c:10
+msgid "git for-each-ref [--points-at <object>]"
+msgstr "git for-each-ref [--points-at <objeto>]"
+
+#: builtin/for-each-ref.c:11
+msgid "git for-each-ref [(--merged | --no-merged) [<object>]]"
+msgstr "git for-each-ref [(--merged | --no-merged) [<objeto>]]"
+
+#: builtin/for-each-ref.c:12
+msgid "git for-each-ref [--contains [<object>]]"
+msgstr "git for-each-ref [--contains [<objeto>]]"
+
+#: builtin/for-each-ref.c:27
+msgid "quote placeholders suitably for shells"
+msgstr ""
+"envolver os marcadores de posição em aspas de forma adequada para "
+"interpretadores de comandos"
+
+#: builtin/for-each-ref.c:29
+msgid "quote placeholders suitably for perl"
+msgstr "envolver os marcadores de posição em aspas de forma adequada para perl"
+
+#: builtin/for-each-ref.c:31
+msgid "quote placeholders suitably for python"
+msgstr ""
+"envolver os marcadores de posição em aspas de forma adequada para python"
+
+#: builtin/for-each-ref.c:33
+msgid "quote placeholders suitably for Tcl"
+msgstr "envolver os marcadores de posição em aspas de forma adequada para Tcl"
+
+#: builtin/for-each-ref.c:36
+msgid "show only <n> matched refs"
+msgstr "mostrar apenas <n> referências correspondidas"
+
+#: builtin/for-each-ref.c:37 builtin/tag.c:372
+msgid "format to use for the output"
+msgstr "formato a usar na saída"
+
+#: builtin/for-each-ref.c:41
+msgid "print only refs which points at the given object"
+msgstr "imprimir apenas referências que apontem para o objeto fornecido"
+
+#: builtin/for-each-ref.c:43
+msgid "print only refs that are merged"
+msgstr "imprimir apenas referenciadas incorporadas"
+
+#: builtin/for-each-ref.c:44
+msgid "print only refs that are not merged"
+msgstr "imprimir apenas referências não incorporadas"
+
+#: builtin/for-each-ref.c:45
+msgid "print only refs which contain the commit"
+msgstr "imprimir apenas referências que contenham o commit"
+
+#: builtin/fsck.c:156 builtin/prune.c:140
+msgid "Checking connectivity"
+msgstr "A verificar conectividade"
+
+#: builtin/fsck.c:486
+msgid "Checking object directories"
+msgstr "A verificar diretórios de objetos"
+
+#: builtin/fsck.c:553
+msgid "git fsck [<options>] [<object>...]"
+msgstr "git fsck [<opções>] [<objeto>...]"
+
+#: builtin/fsck.c:559
+msgid "show unreachable objects"
+msgstr "mostrar objetos inalcançáveis"
+
+#: builtin/fsck.c:560
+msgid "show dangling objects"
+msgstr "mostrar objetos suspensos"
+
+#: builtin/fsck.c:561
+msgid "report tags"
+msgstr "mostrar tags"
+
+#: builtin/fsck.c:562
+msgid "report root nodes"
+msgstr "mostrar nós raiz"
+
+#: builtin/fsck.c:563
+msgid "make index objects head nodes"
+msgstr "considerar objetos do índice como nós cabeça"
+
+#: builtin/fsck.c:564
+msgid "make reflogs head nodes (default)"
+msgstr "considerar os reflogs como nós cabeça (predefinição)"
+
+#: builtin/fsck.c:565
+msgid "also consider packs and alternate objects"
+msgstr "considerar também pacotes e objetos alternate"
+
+#: builtin/fsck.c:566
+msgid "check only connectivity"
+msgstr "verificar só a conetividade"
+
+#: builtin/fsck.c:567
+msgid "enable more strict checking"
+msgstr "ativar verificação mais rigorosa"
+
+#: builtin/fsck.c:569
+msgid "write dangling objects in .git/lost-found"
+msgstr "escrever objetos suspensos em .git/lost-found"
+
+#: builtin/fsck.c:570 builtin/prune.c:107
+msgid "show progress"
+msgstr "mostrar progresso"
+
+#: builtin/fsck.c:631
+msgid "Checking objects"
+msgstr "A verificar objetos"
+
+#: builtin/gc.c:25
+msgid "git gc [<options>]"
+msgstr "git gc [<opções>]"
+
+#: builtin/gc.c:72
 #, c-format
 msgid "Invalid %s: '%s'"
 msgstr "Inválido %s: '%s'"
 
-#: builtin/gc.c:90
+#: builtin/gc.c:139
 #, c-format
 msgid "insanely long object directory %.*s"
-msgstr ""
+msgstr "diretório de objetos demasiado longo %.*s"
 
-#: builtin/gc.c:221
-#, c-format
-msgid "Auto packing the repository for optimum performance.\n"
-msgstr ""
-
-#: builtin/gc.c:224
+#: builtin/gc.c:290
 #, c-format
 msgid ""
-"Auto packing the repository for optimum performance. You may also\n"
-"run \"git gc\" manually. See \"git help gc\" for more information.\n"
+"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"
 msgstr ""
+"A última execução do gc reportou o seguinte.\n"
+"Corrija a raiz do problema e remova %s.\n"
+"A limpeza automática não será realizada enquanto o ficheiro existir.\n"
+"\n"
+"%s"
 
-#: builtin/gc.c:251
-msgid "There are too many unreachable loose objects; run 'git prune' to remove them."
+#: builtin/gc.c:327
+msgid "prune unreferenced objects"
+msgstr "eliminar ficheiros não referenciados"
+
+#: builtin/gc.c:329
+msgid "be more thorough (increased runtime)"
+msgstr "ser mais minucioso (aumenta o tempo de execução)"
+
+#: builtin/gc.c:330
+msgid "enable auto-gc mode"
+msgstr "ativar modo auto-gc"
+
+#: builtin/gc.c:331
+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
+#, 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/grep.c:216
+#: builtin/gc.c:375
+#, 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
+#, 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
+#, c-format
+msgid ""
+"gc is already running on machine '%s' pid %<PRIuMAX> (use --force if not)"
+msgstr ""
+"gc já a executar na máquina '%s' pid %<PRIuMAX> (use --force se não for o "
+"caso)"
+
+#: builtin/gc.c:441
+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
+msgid "git grep [<options>] [-e] <pattern> [<rev>...] [[--] <path>...]"
+msgstr "git grep [<opções>] [-e] <padrão> [<rev>...] [[--] <caminho>...]"
+
+#: builtin/grep.c:219
 #, c-format
 msgid "grep: failed to create thread: %s"
-msgstr ""
+msgstr "grep: falha ao criar thread: %s"
 
-#: builtin/grep.c:402
+#: builtin/grep.c:277
 #, c-format
-msgid "Failed to chdir: %s"
-msgstr ""
+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:478
-#: builtin/grep.c:512
+#: builtin/grep.c:452 builtin/grep.c:487
 #, c-format
 msgid "unable to read tree (%s)"
-msgstr ""
+msgstr "não foi possível ler a árvore (%s)"
 
-#: builtin/grep.c:526
+#: builtin/grep.c:502
 #, c-format
 msgid "unable to grep from object of type %s"
-msgstr ""
+msgstr "não foi possível efetuar grep de objetos do tipo %s"
 
-#: builtin/grep.c:584
+#: builtin/grep.c:558
 #, c-format
 msgid "switch `%c' expects a numerical value"
-msgstr ""
+msgstr "a opção '%c' espera um valor numérico"
 
-#: builtin/grep.c:601
+#: builtin/grep.c:575
 #, c-format
 msgid "cannot open '%s'"
-msgstr ""
+msgstr "não é possível abrir '%s'"
 
-#: builtin/grep.c:888
+#: builtin/grep.c:644
+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:646
+msgid "find in contents not managed by git"
+msgstr "procurar em conteúdos não geridos pelo git"
+
+#: builtin/grep.c:648
+msgid "search in both tracked and untracked files"
+msgstr "procurar em ficheiros controlados e não controlados"
+
+#: builtin/grep.c:650
+msgid "ignore files specified via '.gitignore'"
+msgstr "ignorar ficheiros especificados via '.gitignore'"
+
+#: builtin/grep.c:653
+msgid "show non-matching lines"
+msgstr "mostrar linhas não correspondidas"
+
+#: builtin/grep.c:655
+msgid "case insensitive matching"
+msgstr "não diferenciar maiúsculas de minúsculas"
+
+#: builtin/grep.c:657
+msgid "match patterns only at word boundaries"
+msgstr "corresponder padrões apenas a palavras"
+
+#: builtin/grep.c:659
+msgid "process binary files as text"
+msgstr "processar ficheiros binários como texto"
+
+#: builtin/grep.c:661
+msgid "don't match patterns in binary files"
+msgstr "ignorar ficheiros binários"
+
+#: builtin/grep.c:664
+msgid "process binary files with textconv filters"
+msgstr "processar ficheiros binários com filtros textconv"
+
+#: builtin/grep.c:666
+msgid "descend at most <depth> levels"
+msgstr "descer no máximo até <profundidade>"
+
+#: builtin/grep.c:670
+msgid "use extended POSIX regular expressions"
+msgstr "usar expressões regulares estendidas do POSIX"
+
+#: builtin/grep.c:673
+msgid "use basic POSIX regular expressions (default)"
+msgstr "usar expressões regulares básicas do POSIX (predefinição)"
+
+#: builtin/grep.c:676
+msgid "interpret patterns as fixed strings"
+msgstr "interpretar padrões como cadeias de caracteres fixas"
+
+#: builtin/grep.c:679
+msgid "use Perl-compatible regular expressions"
+msgstr "usar expressões regulares compatíveis com Perl"
+
+#: builtin/grep.c:682
+msgid "show line numbers"
+msgstr "mostrar números de linha"
+
+#: builtin/grep.c:683
+msgid "don't show filenames"
+msgstr "não mostrar nomes de ficheiro"
+
+#: builtin/grep.c:684
+msgid "show filenames"
+msgstr "mostrar nomes de ficheiro"
+
+#: builtin/grep.c:686
+msgid "show filenames relative to top directory"
+msgstr "mostrar nomes de ficheiro relativamente ao diretório superior"
+
+#: builtin/grep.c:688
+msgid "show only filenames instead of matching lines"
+msgstr "mostrar apenas nomes de ficheiro em vez de linhas correspondidas"
+
+#: builtin/grep.c:690
+msgid "synonym for --files-with-matches"
+msgstr "sinónimo de --files-with-matches"
+
+#: builtin/grep.c:693
+msgid "show only the names of files without match"
+msgstr "mostrar apenas nomes de ficheiro sem correspondência"
+
+#: builtin/grep.c:695
+msgid "print NUL after filenames"
+msgstr "imprimir NUL depois dos nomes de ficheiro"
+
+#: builtin/grep.c:697
+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:698
+msgid "highlight matches"
+msgstr "realçar correspondências"
+
+#: builtin/grep.c:700
+msgid "print empty line between matches from different files"
+msgstr ""
+"imprimir uma linha em branco entre correspondências de diferentes ficheiros"
+
+#: builtin/grep.c:702
+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:705
+msgid "show <n> context lines before and after matches"
+msgstr "mostrar <n> linhas de contexto antes e depois das correspondências"
+
+#: builtin/grep.c:708
+msgid "show <n> context lines before matches"
+msgstr "mostrar <n> linhas de contexto antes das correspondências"
+
+#: builtin/grep.c:710
+msgid "show <n> context lines after matches"
+msgstr "mostrar <n> linhas de contexto depois das correspondências"
+
+#: builtin/grep.c:712
+msgid "use <n> worker threads"
+msgstr "usar <n> threads de trabalho"
+
+#: builtin/grep.c:713
+msgid "shortcut for -C NUM"
+msgstr "atalho para -C NUM"
+
+#: builtin/grep.c:716
+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:718
+msgid "show the surrounding function"
+msgstr "mostrar a função circundante"
+
+#: builtin/grep.c:721
+msgid "read patterns from file"
+msgstr "ler padrões do ficheiro"
+
+#: builtin/grep.c:723
+msgid "match <pattern>"
+msgstr "procurar <padrão>"
+
+#: builtin/grep.c:725
+msgid "combine patterns specified with -e"
+msgstr "combinar padrões especificados com -e"
+
+#: builtin/grep.c:737
+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:739
+msgid "show only matches from files that match all patterns"
+msgstr ""
+"mostrar apenas correspondências de ficheiro que tenham todos os padrões"
+
+#: builtin/grep.c:741
+msgid "show parse tree for grep expression"
+msgstr "mostrar árvore de analise da expressões grep"
+
+#: builtin/grep.c:745
+msgid "pager"
+msgstr "paginador"
+
+#: builtin/grep.c:745
+msgid "show matching files in the pager"
+msgstr "mostrar ficheiros com correspondências no paginador"
+
+#: builtin/grep.c:748
+msgid "allow calling of grep(1) (ignored by this build)"
+msgstr "permitir invocar grep(1) (ignorado nesta compilação)"
+
+#: builtin/grep.c:811
 msgid "no pattern given."
-msgstr ""
+msgstr "nenhum padrão fornecido."
 
-#: builtin/grep.c:902
+#: builtin/grep.c:843 builtin/index-pack.c:1475
 #, c-format
-msgid "bad object %s"
-msgstr ""
+msgid "invalid number of threads specified (%d)"
+msgstr "número de threads especificado inválido (%d)"
 
-#: builtin/grep.c:943
+#: builtin/grep.c:873
 msgid "--open-files-in-pager only works on the worktree"
-msgstr ""
+msgstr "--open-files-in-pager só funciona na árvore de trabalho"
 
-#: builtin/grep.c:966
+#: builtin/grep.c:899
 msgid "--cached or --untracked cannot be used with --no-index."
-msgstr ""
+msgstr "--cached ou --untracked não podem ser usados com --no-index."
 
-#: builtin/grep.c:971
+#: builtin/grep.c:904
 msgid "--no-index or --untracked cannot be used with revs."
-msgstr ""
+msgstr "--no-index ou --untracked não podem ser usados em revisões."
 
-#: builtin/grep.c:974
+#: builtin/grep.c:907
 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:982
+#: builtin/grep.c:915
 msgid "both --cached and trees are given."
-msgstr ""
+msgstr "--cached e árvores fornecidos simultaneamente."
 
-#: builtin/help.c:59
+#: builtin/hash-object.c:81
+msgid ""
+"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>..."
+
+#: builtin/hash-object.c:82
+msgid "git hash-object  --stdin-paths"
+msgstr "git hash-object  --stdin-paths"
+
+#: builtin/hash-object.c:93
+msgid "type"
+msgstr "tipo"
+
+#: builtin/hash-object.c:93
+msgid "object type"
+msgstr "tipo do objeto"
+
+#: builtin/hash-object.c:94
+msgid "write the object into the object database"
+msgstr "escrever o objeto na base de dados de objetos"
+
+#: builtin/hash-object.c:96
+msgid "read the object from stdin"
+msgstr "ler o objeto da entrada padrão"
+
+#: builtin/hash-object.c:98
+msgid "store file as is without filters"
+msgstr "guardar o ficheiro tal como está, sem filtros"
+
+#: builtin/hash-object.c:99
+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"
+
+#: builtin/hash-object.c:100
+msgid "process file as it were from this path"
+msgstr "processar o ficheiro como se este fosse do caminho indicado"
+
+#: builtin/help.c:41
+msgid "print all available commands"
+msgstr "imprimir todos os comandos disponíveis"
+
+#: builtin/help.c:42
+msgid "print list of useful guides"
+msgstr "imprimir lista de guias úteis"
+
+#: builtin/help.c:43
+msgid "show man page"
+msgstr "mostrar página do manual"
+
+#: builtin/help.c:44
+msgid "show manual in web browser"
+msgstr "mostrar o manual no navegador web"
+
+#: builtin/help.c:46
+msgid "show info page"
+msgstr "mostrar página info"
+
+#: builtin/help.c:52
+msgid "git help [--all] [--guides] [--man | --web | --info] [<command>]"
+msgstr "git help [--all] [--guides] [--man | --web | --info] [<comando>]"
+
+#: builtin/help.c:64
 #, c-format
 msgid "unrecognized help format '%s'"
-msgstr "formato ajuda não reconhecido '%s'"
+msgstr "formato de ajuda não reconhecido '%s'"
 
-#: builtin/help.c:87
+#: builtin/help.c:91
 msgid "Failed to start emacsclient."
-msgstr ""
+msgstr "Falha ao iniciar emacsclient."
 
-#: builtin/help.c:100
+#: builtin/help.c:104
 msgid "Failed to parse emacsclient version."
-msgstr ""
+msgstr "Falha ao analisar a versão do emacsclient."
 
-#: builtin/help.c:108
+#: builtin/help.c:112
 #, c-format
 msgid "emacsclient version '%d' too old (< 22)."
-msgstr ""
+msgstr "a versão do emacsclient '%d' é demasiado antiga (< 22)."
 
-#: builtin/help.c:126
-#: builtin/help.c:154
-#: builtin/help.c:163
-#: builtin/help.c:171
+#: builtin/help.c:130 builtin/help.c:151 builtin/help.c:160 builtin/help.c:168
 #, c-format
 msgid "failed to exec '%s': %s"
-msgstr ""
+msgstr "falha ao executar '%s': %s"
 
-#: builtin/help.c:211
+#: builtin/help.c:205
 #, c-format
 msgid ""
 "'%s': path for unsupported man viewer.\n"
 "Please consider using 'man.<tool>.cmd' instead."
 msgstr ""
+"'%s': caminho para visualizador de manual não suportado.\n"
+"Considere usar 'man.<tool>.cmd'."
 
-#: builtin/help.c:223
+#: builtin/help.c:217
 #, c-format
 msgid ""
 "'%s': cmd for supported man viewer.\n"
 "Please consider using 'man.<tool>.path' instead."
 msgstr ""
+"'%s': comando de visualizador de manual suportado.\n"
+"Considere usar 'man.<tool>.path'."
 
-#: builtin/help.c:287
-msgid "The most commonly used git commands are:"
-msgstr ""
-
-#: builtin/help.c:355
+#: builtin/help.c:334
 #, c-format
 msgid "'%s': unknown man viewer."
-msgstr ""
+msgstr "'%s' visualizador de manual desconhecido."
 
-#: builtin/help.c:372
+#: builtin/help.c:351
 msgid "no man viewer handled the request"
-msgstr ""
+msgstr "nenhum visualizador de manual atendeu o pedido"
 
-#: builtin/help.c:380
+#: builtin/help.c:359
 msgid "no info viewer handled the request"
-msgstr ""
+msgstr "nenhum visualizador de info atendeu o pedido"
 
-#: builtin/help.c:391
-#, c-format
-msgid "'%s': not a documentation directory."
-msgstr ""
+#: builtin/help.c:408
+msgid "Defining attributes per path"
+msgstr "Definir atributos por caminho"
 
-#: builtin/help.c:432
-#: builtin/help.c:439
+#: builtin/help.c:409
+msgid "Everyday Git With 20 Commands Or So"
+msgstr "Diário Git com mais ou menos 20 Comandos"
+
+#: builtin/help.c:410
+msgid "A Git glossary"
+msgstr "Um Glossário do Git"
+
+#: builtin/help.c:411
+msgid "Specifies intentionally untracked files to ignore"
+msgstr ""
+"Especificar ficheiros não controlados para serem intencionalmente ignorados"
+
+#: builtin/help.c:412
+msgid "Defining submodule properties"
+msgstr "Definir propriedades de submódulos"
+
+#: builtin/help.c:413
+msgid "Specifying revisions and ranges for Git"
+msgstr "Especificar revisões e intervalos do Git"
+
+#: builtin/help.c:414
+msgid "A tutorial introduction to Git (for version 1.5.1 or newer)"
+msgstr "Uma introdução ao Git (versão 1.5.1 ou mais recente)"
+
+#: builtin/help.c:415
+msgid "An overview of recommended workflows with Git"
+msgstr "Uma descrição geral dos fluxos de trabalho recomendados para o Git"
+
+#: builtin/help.c:427
+msgid "The common Git guides are:\n"
+msgstr "Os guias comuns do Git:\n"
+
+#: builtin/help.c:448 builtin/help.c:465
 #, c-format
 msgid "usage: %s%s"
-msgstr ""
+msgstr "utilização: %s%s"
 
-#: builtin/help.c:453
+#: builtin/help.c:481
 #, c-format
 msgid "`git %s' is aliased to `%s'"
-msgstr ""
+msgstr "'git %s' é um alias de '%s'"
 
-#: builtin/index-pack.c:84
+#: builtin/index-pack.c:152
+#, c-format
+msgid "unable to open %s"
+msgstr "não foi possível ler %s"
+
+#: builtin/index-pack.c:202
 #, c-format
 msgid "object type mismatch at %s"
-msgstr ""
+msgstr "incompatibilidade de tipo de objeto em %s"
 
-#: builtin/index-pack.c:104
-msgid "object of unexpected type"
-msgstr ""
+#: builtin/index-pack.c:222
+#, c-format
+msgid "did not receive expected object %s"
+msgstr "o objeto esperado %s não foi recebido"
 
-#: builtin/index-pack.c:141
+#: builtin/index-pack.c:225
+#, c-format
+msgid "object %s: expected type %s, found %s"
+msgstr "objeto %s: tipo esperado %s, obtido %s"
+
+#: builtin/index-pack.c:267
 #, c-format
 msgid "cannot fill %d byte"
 msgid_plural "cannot fill %d bytes"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "não é possível preencher %d byte"
+msgstr[1] "não é possível preencher %d bytes"
 
-#: builtin/index-pack.c:151
+#: builtin/index-pack.c:277
 msgid "early EOF"
-msgstr ""
+msgstr "fim de ficheiro (EOF) prematuro"
 
-#: builtin/index-pack.c:152
+#: builtin/index-pack.c:278
 msgid "read error on input"
-msgstr ""
+msgstr "erro de leitura da entrada"
 
-#: builtin/index-pack.c:164
+#: builtin/index-pack.c:290
 msgid "used more bytes than were available"
-msgstr ""
+msgstr "foram usados mais bytes dos que estavam disponíveis"
 
-#: builtin/index-pack.c:171
+#: builtin/index-pack.c:297
 msgid "pack too large for current definition of off_t"
-msgstr ""
+msgstr "pacote demasiado grande para a definição atual de off_t"
 
-#: builtin/index-pack.c:187
+#: builtin/index-pack.c:313
 #, c-format
 msgid "unable to create '%s'"
-msgstr "não é possivel crear '%s'"
+msgstr "não foi possível criar '%s'"
 
-#: builtin/index-pack.c:192
+#: builtin/index-pack.c:318
 #, c-format
 msgid "cannot open packfile '%s'"
-msgstr "Não é possivel abrir o ficheiro packfile '%s'"
+msgstr "não é possível abrir o ficheiro de pacote '%s'"
 
-#: builtin/index-pack.c:206
+#: builtin/index-pack.c:332
 msgid "pack signature mismatch"
-msgstr ""
+msgstr "a assinatura do pacote não corresponde"
 
-#: builtin/index-pack.c:226
+#: builtin/index-pack.c:334
+#, c-format
+msgid "pack version %<PRIu32> unsupported"
+msgstr "versão de pacote %<PRIu32> não suportada"
+
+#: builtin/index-pack.c:352
 #, c-format
 msgid "pack has bad object at offset %lu: %s"
-msgstr ""
+msgstr "pacote com objeto incorreto no offset %lu: %s"
 
-#: builtin/index-pack.c:300
+#: builtin/index-pack.c:473
 #, c-format
 msgid "inflate returned %d"
-msgstr ""
+msgstr "a descompactação retornou %d"
 
-#: builtin/index-pack.c:345
+#: builtin/index-pack.c:522
 msgid "offset value overflow for delta base object"
-msgstr ""
+msgstr "delta de objeto base com capacidade excedida no valor de offset"
 
-#: builtin/index-pack.c:353
+#: builtin/index-pack.c:530
+#, fuzzy
 msgid "delta base offset is out of bound"
-msgstr ""
+msgstr "um offset de base delta ultrapassou o limite"
 
-#: builtin/index-pack.c:361
+#: builtin/index-pack.c:538
 #, c-format
 msgid "unknown object type %d"
-msgstr "ojecto com tipo desconhecido %d"
+msgstr "objeto de tipo desconhecido %d"
 
-#: builtin/index-pack.c:390
+#: builtin/index-pack.c:569
 msgid "cannot pread pack file"
-msgstr "Não é possivel pread pack file"
+msgstr "não é possível invocar pread sobre o ficheiro de pacote"
 
-#: builtin/index-pack.c:392
+#: builtin/index-pack.c:571
 #, c-format
 msgid "premature end of pack file, %lu byte missing"
 msgid_plural "premature end of pack file, %lu bytes missing"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "fim de ficheiro de pacote prematuro, falta %lu byte"
+msgstr[1] "fim de ficheiro de pacote prematuro, faltam %lu bytes"
 
-#: builtin/index-pack.c:405
+#: builtin/index-pack.c:597
 msgid "serious inflate inconsistency"
-msgstr ""
+msgstr "inconsistência de descompactação grave"
 
-#: builtin/index-pack.c:476
-#, c-format
-msgid "cannot read existing object %s"
-msgstr "não foi possível ler objecto existente %s"
-
-#: builtin/index-pack.c:479
+#: 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
 #, c-format
 msgid "SHA1 COLLISION FOUND WITH %s !"
-msgstr ""
+msgstr "COLISÃO DE SHA1 COM %s ENCONTRADA!"
 
-#: builtin/index-pack.c:488
+#: builtin/index-pack.c:746 builtin/pack-objects.c:162
+#: builtin/pack-objects.c:254
+#, c-format
+msgid "unable to read %s"
+msgstr "não foi possível ler %s"
+
+#: builtin/index-pack.c:812
+#, c-format
+msgid "cannot read existing object %s"
+msgstr "não é possível ler o objeto existente %s"
+
+#: builtin/index-pack.c:826
 #, c-format
 msgid "invalid blob object %s"
-msgstr "inválido objecto blob %s"
+msgstr "objeto blob inválido %s"
 
-#: builtin/index-pack.c:500
+#: builtin/index-pack.c:840
 #, c-format
 msgid "invalid %s"
-msgstr "inválido: %s"
-
-#: builtin/index-pack.c:502
-msgid "Error in object"
-msgstr ""
-
-#: builtin/index-pack.c:504
-#, c-format
-msgid "Not all child objects of %s are reachable"
-msgstr ""
-
-#: builtin/index-pack.c:576
-#: builtin/index-pack.c:602
-msgid "failed to apply delta"
-msgstr ""
-
-#: builtin/index-pack.c:706
-msgid "Receiving objects"
-msgstr ""
-
-#: builtin/index-pack.c:706
-msgid "Indexing objects"
-msgstr ""
-
-#: builtin/index-pack.c:728
-msgid "pack is corrupted (SHA1 mismatch)"
-msgstr ""
-
-#: builtin/index-pack.c:733
-msgid "cannot fstat packfile"
-msgstr "Não é possivel fstat packfile"
-
-#: builtin/index-pack.c:736
-msgid "pack has junk at the end"
-msgstr ""
-
-#: builtin/index-pack.c:754
-msgid "Resolving deltas"
-msgstr "Resolvendo deltas"
-
-#: builtin/index-pack.c:787
-#, c-format
-msgid "unable to deflate appended object (%d)"
-msgstr ""
-
-#: builtin/index-pack.c:866
-#, c-format
-msgid "local object %s is corrupt"
-msgstr ""
-
-#: builtin/index-pack.c:890
-msgid "error while closing pack file"
-msgstr ""
-
-#: builtin/index-pack.c:903
-#, c-format
-msgid "cannot write keep file '%s'"
-msgstr "não é possivel escrever o fichero kepp '%s'"
-
-#: builtin/index-pack.c:911
-#, c-format
-msgid "cannot close written keep file '%s'"
-msgstr "Não é possivel fechar o fichero escrito '%s'"
-
-#: builtin/index-pack.c:924
-msgid "cannot store pack file"
-msgstr "Não é possivel guardar o fichero pack"
-
-#: builtin/index-pack.c:935
-msgid "cannot store index file"
-msgstr "Não é possivel guardar fichero index"
-
-#: builtin/index-pack.c:1024
-#, c-format
-msgid "Cannot open existing pack file '%s'"
-msgstr "Não é possivel abrir o existente ficheiro pack %s"
-
-#: builtin/index-pack.c:1026
-#, c-format
-msgid "Cannot open existing pack idx file for '%s'"
-msgstr "Não é possivel abrir o ficheiro 'pack idx' para '%s'"
-
-#: builtin/index-pack.c:1073
-#, c-format
-msgid "non delta: %d object"
-msgid_plural "non delta: %d objects"
-msgstr[0] ""
-msgstr[1] ""
-
-#: builtin/index-pack.c:1080
-#, c-format
-msgid "chain length = %d: %lu object"
-msgid_plural "chain length = %d: %lu objects"
-msgstr[0] ""
-msgstr[1] ""
-
-#: builtin/index-pack.c:1107
-msgid "Cannot come back to cwd"
-msgstr ""
-
-#: builtin/index-pack.c:1140
-#: builtin/index-pack.c:1143
-#: builtin/index-pack.c:1155
-#: builtin/index-pack.c:1159
-#, c-format
-msgid "bad %s"
 msgstr "inválido %s"
 
-#: builtin/index-pack.c:1173
-msgid "--fix-thin cannot be used without --stdin"
-msgstr ""
+#: builtin/index-pack.c:843
+msgid "Error in object"
+msgstr "Erro no objeto"
 
-#: builtin/index-pack.c:1177
-#: builtin/index-pack.c:1187
+#: builtin/index-pack.c:845
 #, c-format
-msgid "packfile name '%s' does not end with '.pack'"
-msgstr ""
+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:1196
-msgid "--verify with no packfile name given"
-msgstr ""
+#: builtin/index-pack.c:917 builtin/index-pack.c:948
+msgid "failed to apply delta"
+msgstr "falha ao aplicar delta"
 
-#: builtin/index-pack.c:1220
+#: builtin/index-pack.c:1118
+msgid "Receiving objects"
+msgstr "A receber objetos"
+
+#: builtin/index-pack.c:1118
+msgid "Indexing objects"
+msgstr "A indexar objetos"
+
+#: builtin/index-pack.c:1150
+msgid "pack is corrupted (SHA1 mismatch)"
+msgstr "pacote corrompido (SHA1 não corresponde)"
+
+#: builtin/index-pack.c:1155
+msgid "cannot fstat packfile"
+msgstr "não é possível invocar fstat sobre o ficheiro de pacote"
+
+#: builtin/index-pack.c:1158
+msgid "pack has junk at the end"
+msgstr "pacote com lixo no final"
+
+#: builtin/index-pack.c:1169
+msgid "confusion beyond insanity in parse_pack_objects()"
+msgstr "extrema confusão em parse_pack_objects()"
+
+#: builtin/index-pack.c:1194
+msgid "Resolving deltas"
+msgstr "A resolver deltas"
+
+#: builtin/index-pack.c:1205
+#, c-format
+msgid "unable to create thread: %s"
+msgstr "não foi possível criar thread: %s"
+
+#: builtin/index-pack.c:1247
 msgid "confusion beyond insanity"
-msgstr ""
+msgstr "extrema confusão"
 
-#: builtin/index-pack.c:1239
+#: builtin/index-pack.c:1253
+#, c-format
+msgid "completed with %d local objects"
+msgstr "concluído com %d objetos locais"
+
+#: builtin/index-pack.c:1263
+#, 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:1267
 #, c-format
 msgid "pack has %d unresolved delta"
 msgid_plural "pack has %d unresolved deltas"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "pacote com %d delta não resolvido"
+msgstr[1] "pacote com %d deltas não resolvidos"
 
-#: builtin/init-db.c:35
+#: builtin/index-pack.c:1291
 #, c-format
-msgid "Could not make %s writable by group"
-msgstr ""
+msgid "unable to deflate appended object (%d)"
+msgstr "não é possível compactar objeto acrescentado (%d)"
 
-#: builtin/init-db.c:62
+#: builtin/index-pack.c:1367
 #, c-format
-msgid "insanely long template name %s"
-msgstr ""
+msgid "local object %s is corrupt"
+msgstr "objeto local %s corrompido"
 
-#: builtin/init-db.c:67
+#: builtin/index-pack.c:1391
+msgid "error while closing pack file"
+msgstr "erro ao fechar ficheiro de pacote"
+
+#: builtin/index-pack.c:1404
+#, c-format
+msgid "cannot write keep file '%s'"
+msgstr "não é possível escrever o ficheiro de conservação '%s'"
+
+#: builtin/index-pack.c:1412
+#, 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:1425
+msgid "cannot store pack file"
+msgstr "não é possível guardar ficheiro de pacote"
+
+#: builtin/index-pack.c:1436
+msgid "cannot store index file"
+msgstr "não é possível guardar o ficheiro índice"
+
+#: builtin/index-pack.c:1469
+#, c-format
+msgid "bad pack.indexversion=%<PRIu32>"
+msgstr "pack.indexversion=%<PRIu32> incorreto"
+
+#: builtin/index-pack.c:1479 builtin/index-pack.c:1664
+#, c-format
+msgid "no threads support, ignoring %s"
+msgstr "sem suporte de threads, %s ignorado"
+
+#: builtin/index-pack.c:1538
+#, 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:1540
+#, 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:1587
+#, 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:1594
+#, 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:1624
+msgid "Cannot come back to cwd"
+msgstr "Não é possível voltar ao diretório de trabalho atual"
+
+#: builtin/index-pack.c:1676 builtin/index-pack.c:1679
+#: builtin/index-pack.c:1691 builtin/index-pack.c:1695
+#, c-format
+msgid "bad %s"
+msgstr "%s incorreto"
+
+#: builtin/index-pack.c:1709
+msgid "--fix-thin cannot be used without --stdin"
+msgstr "--fix-thin não pode ser usado sem --stdin"
+
+#: builtin/index-pack.c:1713 builtin/index-pack.c:1722
+#, 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:1730
+msgid "--verify with no packfile name given"
+msgstr "--verify sem nome do ficheiro de pacote indicado"
+
+#: builtin/init-db.c:55
 #, c-format
 msgid "cannot stat '%s'"
-msgstr ""
+msgstr "não é possível invocar stat sobre '%s'"
 
-#: builtin/init-db.c:73
+#: builtin/init-db.c:61
 #, c-format
 msgid "cannot stat template '%s'"
-msgstr ""
+msgstr "não é possível invocar stat sobre o modelo '%s'"
 
-#: builtin/init-db.c:80
+#: builtin/init-db.c:66
 #, c-format
 msgid "cannot opendir '%s'"
-msgstr ""
+msgstr "não é possível abrir (opendir) '%s'"
 
-#: builtin/init-db.c:97
+#: builtin/init-db.c:77
 #, c-format
 msgid "cannot readlink '%s'"
-msgstr ""
+msgstr "não é possível ler (readlink) '%s'"
 
-#: builtin/init-db.c:99
-#, c-format
-msgid "insanely long symlink %s"
-msgstr ""
-
-#: builtin/init-db.c:102
+#: builtin/init-db.c:79
 #, c-format
 msgid "cannot symlink '%s' '%s'"
-msgstr ""
+msgstr "não é possível criar a ligação simbólica '%s' '%s'"
 
-#: builtin/init-db.c:106
+#: builtin/init-db.c:85
 #, c-format
 msgid "cannot copy '%s' to '%s'"
-msgstr ""
+msgstr "não é possível copiar '%s' para '%s'"
 
-#: builtin/init-db.c:110
+#: builtin/init-db.c:89
 #, c-format
 msgid "ignoring template %s"
-msgstr ""
+msgstr "modelo %s ignorado"
 
-#: builtin/init-db.c:133
-#, c-format
-msgid "insanely long template path %s"
-msgstr ""
-
-#: builtin/init-db.c:141
+#: builtin/init-db.c:118
 #, c-format
 msgid "templates not found %s"
-msgstr ""
+msgstr "modelos não encontrados em %s"
 
-#: builtin/init-db.c:154
+#: builtin/init-db.c:131
 #, c-format
 msgid "not copying templates of a wrong format version %d from '%s'"
 msgstr ""
+"os modelos com versão de formato %d incorreta não foram copiados de '%s'"
 
-#: builtin/init-db.c:192
-#, c-format
-msgid "insane git directory %s"
-msgstr ""
-
-#: builtin/init-db.c:322
-#: builtin/init-db.c:325
+#: builtin/init-db.c:309 builtin/init-db.c:312
 #, c-format
 msgid "%s already exists"
 msgstr "%s já existe"
 
-#: builtin/init-db.c:354
+#: builtin/init-db.c:340
 #, c-format
 msgid "unable to handle file type %d"
-msgstr ""
+msgstr "não foi possível processar o tipo de ficheiro %d"
 
-#: builtin/init-db.c:357
+#: builtin/init-db.c:343
 #, c-format
 msgid "unable to move %s to %s"
-msgstr ""
+msgstr "não foi possível mover %s para %s"
 
-#: builtin/init-db.c:362
-#, c-format
-msgid "Could not create git link %s"
-msgstr ""
-
-#.
-#. * 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:419
+#. 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:399
 #, c-format
 msgid "%s%s Git repository in %s%s\n"
-msgstr ""
+msgstr "Repositório Git %s%s em %s%s\n"
 
-#: builtin/init-db.c:420
+#: builtin/init-db.c:400
 msgid "Reinitialized existing"
-msgstr ""
+msgstr "existente reinicializado"
 
-#: builtin/init-db.c:420
+#: builtin/init-db.c:400
 msgid "Initialized empty"
-msgstr "Inicializada vazio"
+msgstr "vazio inicializado"
 
-#: builtin/init-db.c:421
+#: builtin/init-db.c:401
 msgid " shared"
 msgstr " partilhado"
 
-#: builtin/init-db.c:440
-msgid "cannot tell cwd"
+#: builtin/init-db.c:448
+msgid ""
+"git init [-q | --quiet] [--bare] [--template=<template-directory>] [--"
+"shared[=<permissions>]] [<directory>]"
 msgstr ""
+"git init [-q | --quiet] [--bare] [--template=<diretório-modelo>] [--"
+"shared[=<permissões>]] [<diretório>]"
 
-#: builtin/init-db.c:521
-#: builtin/init-db.c:528
+#: builtin/init-db.c:471
+msgid "permissions"
+msgstr "permissões"
+
+#: builtin/init-db.c:472
+msgid "specify that the git repository is to be shared amongst several users"
+msgstr ""
+"especificar que o repositório git será partilhado por vários utilizadores"
+
+#: builtin/init-db.c:506 builtin/init-db.c:511
 #, c-format
 msgid "cannot mkdir %s"
-msgstr ""
+msgstr "não é possível criar o diretório %s"
 
-#: builtin/init-db.c:532
+#: builtin/init-db.c:515
 #, c-format
 msgid "cannot chdir to %s"
-msgstr ""
+msgstr "não é possível mudar para o diretório %s"
 
-#: builtin/init-db.c:554
+#: builtin/init-db.c:536
 #, c-format
-msgid "%s (or --work-tree=<directory>) not allowed without specifying %s (or --git-dir=<directory>)"
+msgid ""
+"%s (or --work-tree=<directory>) not allowed without specifying %s (or --git-"
+"dir=<directory>)"
 msgstr ""
+"%s (ou --work-tree=<diretório>) não é permitido sem especificar %s (ou --git-"
+"dir=<diretório>)"
 
-#: builtin/init-db.c:578
-msgid "Cannot access current working directory"
-msgstr ""
-
-#: builtin/init-db.c:585
+#: builtin/init-db.c:564
 #, c-format
 msgid "Cannot access work tree '%s'"
-msgstr ""
+msgstr "Não é possível aceder à árvore de trabalho '%s'"
 
-#: builtin/log.c:188
+#: builtin/interpret-trailers.c:15
+msgid ""
+"git interpret-trailers [--in-place] [--trim-empty] [(--trailer "
+"<token>[(=|:)<value>])...] [<file>...]"
+msgstr ""
+"git interpret-trailers [--in-place] [--trim-empty] [(--trailer "
+"<token>[(=|:)<valor>])...] [<ficheiro>...]"
+
+#: builtin/interpret-trailers.c:26
+msgid "edit files in place"
+msgstr "editar ficheiros no local"
+
+#: builtin/interpret-trailers.c:27
+msgid "trim empty trailers"
+msgstr "cortar terminadores vazios"
+
+#: builtin/interpret-trailers.c:28
+msgid "trailer"
+msgstr "terminador"
+
+#: builtin/interpret-trailers.c:29
+msgid "trailer(s) to add"
+msgstr "terminadores a adicionar"
+
+#: builtin/interpret-trailers.c:42
+msgid "no input file given for in-place editing"
+msgstr "nenhum ficheiro de entrada fornecido para edição no local"
+
+#: builtin/log.c:43
+msgid "git log [<options>] [<revision-range>] [[--] <path>...]"
+msgstr "git log [<opções>] [<intervalo-de-revisões>] [[--] <caminho>...]"
+
+#: builtin/log.c:44
+msgid "git show [<options>] <object>..."
+msgstr "git show [<opções>] <objeto>..."
+
+#: builtin/log.c:83
+#, c-format
+msgid "invalid --decorate option: %s"
+msgstr "opção --decorate inválida: %s"
+
+#: builtin/log.c:131
+msgid "suppress diff output"
+msgstr "suprimir saída do diff"
+
+#: builtin/log.c:132
+msgid "show source"
+msgstr "mostrar origem"
+
+#: builtin/log.c:133
+msgid "Use mail map file"
+msgstr "usar ficheiro de mapeamento de correio"
+
+#: builtin/log.c:134
+msgid "decorate options"
+msgstr "opções de decoração"
+
+#: builtin/log.c:137
+msgid "Process line range n,m in file, counting from 1"
+msgstr "processar intervalo de linhas n,m, a cantar a partir de 1"
+
+#: builtin/log.c:233
 #, c-format
 msgid "Final output: %d %s\n"
-msgstr ""
+msgstr "Resultado final: %d %s\n"
 
-#: builtin/log.c:401
-#: builtin/log.c:489
+#: builtin/log.c:465
+#, c-format
+msgid "git show %s: bad file"
+msgstr "git show %s: ficheiro incorreto"
+
+#: builtin/log.c:479 builtin/log.c:572
 #, c-format
 msgid "Could not read object %s"
-msgstr ""
+msgstr "Não foi possível ler o objeto %s"
 
-#: builtin/log.c:513
+#: builtin/log.c:596
 #, c-format
 msgid "Unknown type: %d"
 msgstr "Tipo desconhecido: %d"
 
-#: builtin/log.c:602
+#: builtin/log.c:715
 msgid "format.headers without value"
-msgstr ""
+msgstr "format.headers sem valor"
 
-#: builtin/log.c:675
+#: builtin/log.c:801
 msgid "name of output directory is too long"
-msgstr "nome do diretório de saída é demasiado longo"
+msgstr "o nome do diretório de saída é demasiado longo"
 
-#: builtin/log.c:686
+#: builtin/log.c:816
 #, c-format
 msgid "Cannot open patch file %s"
-msgstr "Não é possivel abrir o ficheiro patch %s"
+msgstr "Não é possível abrir o ficheiro de patch %s"
 
-#: builtin/log.c:700
+#: builtin/log.c:830
 msgid "Need exactly one range."
-msgstr "Necessita de exatamente um intervalo."
+msgstr "É necessário exatamente um intervalo."
 
-#: builtin/log.c:708
+#: builtin/log.c:840
 msgid "Not a range."
 msgstr "Não é um intervalo."
 
-#: builtin/log.c:745
-msgid "Could not extract email from committer identity."
-msgstr "Não foi possível extrair a identidade do committer do e-mail."
-
-#: builtin/log.c:791
+#: builtin/log.c:946
 msgid "Cover letter needs email format"
-msgstr "Carta de apresentação necessita um modelo de e-mail"
+msgstr "A carta de apresentação precisa de um formato de e-mail"
 
-#: builtin/log.c:885
+#: builtin/log.c:1025
 #, c-format
 msgid "insane in-reply-to: %s"
-msgstr ""
+msgstr "in-reply-to incorreto: %s"
 
-#: builtin/log.c:958
+#: builtin/log.c:1053
+msgid "git format-patch [<options>] [<since> | <revision-range>]"
+msgstr "git format-patch [<opções>] [<desde> | <intervalo-de-revisões>]"
+
+#: builtin/log.c:1098
 msgid "Two output directories?"
 msgstr "Dois diretórios de saída?"
 
-#: builtin/log.c:1179
-#, c-format
-msgid "bogus committer info %s"
-msgstr ""
+#: builtin/log.c:1214
+msgid "use [PATCH n/m] even with a single patch"
+msgstr "usar [PATCH n/m] mesmo com um único patch"
 
-#: builtin/log.c:1224
-msgid "-n and -k are mutually exclusive."
+#: builtin/log.c:1217
+msgid "use [PATCH] even with multiple patches"
+msgstr "usar [PATCH] mesmo com múltiplos patches"
+
+#: builtin/log.c:1221
+msgid "print patches to standard out"
+msgstr "imprimir patches para a saída padrão"
+
+#: builtin/log.c:1223
+msgid "generate a cover letter"
+msgstr "gerar uma carta de apresentação"
+
+#: builtin/log.c:1225
+msgid "use simple number sequence for output file names"
 msgstr ""
+"usar uma sequência de números simples para denominar os ficheiros gerados"
 
 #: builtin/log.c:1226
-msgid "--subject-prefix and -k are mutually exclusive."
-msgstr ""
+msgid "sfx"
+msgstr "sfx"
 
-#: builtin/log.c:1234
-msgid "--name-only does not make sense"
-msgstr ""
+#: builtin/log.c:1227
+msgid "use <sfx> instead of '.patch'"
+msgstr "usar <sfx> em vez de '.patch'"
+
+#: builtin/log.c:1229
+msgid "start numbering patches at <n> instead of 1"
+msgstr "começar a numerar os patches em <n> em vez de 1"
+
+#: builtin/log.c:1231
+msgid "mark the series as Nth re-roll"
+msgstr "marcar a série como a n-ésima reiteração"
+
+#: builtin/log.c:1233
+msgid "Use [<prefix>] instead of [PATCH]"
+msgstr "usar [<prefixo>] em vez de [PATCH]"
 
 #: builtin/log.c:1236
-msgid "--name-status does not make sense"
-msgstr ""
+msgid "store resulting files in <dir>"
+msgstr "guardar os ficheiros resultantes em <dir>"
 
-#: builtin/log.c:1238
-msgid "--check does not make sense"
+#: builtin/log.c:1239
+msgid "don't strip/add [PATCH]"
+msgstr "não tirar/inserir [PATCH]"
+
+#: builtin/log.c:1242
+msgid "don't output binary diffs"
+msgstr "não gerar diffs binários"
+
+#: builtin/log.c:1244
+msgid "output all-zero hash in From header"
+msgstr "preencher o cabeçalho From com hash de zeros"
+
+#: builtin/log.c:1246
+msgid "don't include a patch matching a commit upstream"
+msgstr "não incluir um patch que coincida com um commit a montante"
+
+#: builtin/log.c:1248
+msgid "show patch format instead of default (patch + stat)"
 msgstr ""
+"mostrar no formato de patch em vez de no formato por omissão (patch + stat)"
+
+#: builtin/log.c:1250
+msgid "Messaging"
+msgstr "Mensagem"
+
+#: builtin/log.c:1251
+msgid "header"
+msgstr "cabeçalho"
+
+#: builtin/log.c:1252
+msgid "add email header"
+msgstr "adicionar cabeçalho de e-mail"
+
+#: builtin/log.c:1253 builtin/log.c:1255
+msgid "email"
+msgstr "e-mail"
+
+#: builtin/log.c:1253
+msgid "add To: header"
+msgstr "adicionar cabeçalho To:"
+
+#: builtin/log.c:1255
+msgid "add Cc: header"
+msgstr "adicionar cabeçalho Cc:"
+
+#: builtin/log.c:1257
+msgid "ident"
+msgstr "identidade"
+
+#: builtin/log.c:1258
+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)"
+
+#: builtin/log.c:1260
+msgid "message-id"
+msgstr "id-mensagem"
 
 #: builtin/log.c:1261
+msgid "make first mail a reply to <message-id>"
+msgstr "usar o primeiro email para responder a <id-mensagem>"
+
+#: builtin/log.c:1262 builtin/log.c:1265
+msgid "boundary"
+msgstr "limite"
+
+#: builtin/log.c:1263
+msgid "attach the patch"
+msgstr "anexar o patch"
+
+#: builtin/log.c:1266
+msgid "inline the patch"
+msgstr "incorporar o patch"
+
+#: builtin/log.c:1270
+msgid "enable message threading, styles: shallow, deep"
+msgstr "ativar mensagens por tópicos, estilos: shallow (raso), deep (profundo)"
+
+#: builtin/log.c:1272
+msgid "signature"
+msgstr "assinatura"
+
+#: builtin/log.c:1273
+msgid "add a signature"
+msgstr "adicionar uma assinatura"
+
+#: builtin/log.c:1275
+msgid "add a signature from a file"
+msgstr "adicionar uma assinatura de um ficheiro"
+
+#: builtin/log.c:1276
+msgid "don't print the patch filenames"
+msgstr "não imprimir os nomes dos ficheiros de patch"
+
+#: builtin/log.c:1365
+msgid "-n and -k are mutually exclusive."
+msgstr "-n e -k são mutuamente exclusivos."
+
+#: builtin/log.c:1367
+msgid "--subject-prefix and -k are mutually exclusive."
+msgstr "--subject-prefix e -k são mutuamente exclusivos."
+
+#: builtin/log.c:1375
+msgid "--name-only does not make sense"
+msgstr "--name-only não faz sentido"
+
+#: builtin/log.c:1377
+msgid "--name-status does not make sense"
+msgstr "--name-status não faz sentido"
+
+#: builtin/log.c:1379
+msgid "--check does not make sense"
+msgstr "--check não faz sentido"
+
+#: builtin/log.c:1407
 msgid "standard output, or directory, which one?"
 msgstr "saída padrão, ou diretório, qual deles?"
 
-#: builtin/log.c:1263
+#: builtin/log.c:1409
 #, c-format
 msgid "Could not create directory '%s'"
-msgstr ""
+msgstr "Não foi possível criar o diretório '%s'"
 
-#: builtin/log.c:1416
-msgid "Failed to create output files"
-msgstr "Falhou ao criar ficheiros de saída"
-
-#: builtin/log.c:1520
+#: builtin/log.c:1506
 #, c-format
-msgid "Could not find a tracked remote branch, please specify <upstream> manually.\n"
-msgstr ""
+msgid "unable to read signature file '%s'"
+msgstr "não é possível ler o ficheiro de assinatura '%s'"
 
-#: builtin/log.c:1536
-#: builtin/log.c:1538
-#: builtin/log.c:1550
+#: builtin/log.c:1569
+msgid "Failed to create output files"
+msgstr "Falha ao criar os ficheiros de saída"
+
+#: builtin/log.c:1617
+msgid "git cherry [-v] [<upstream> [<head> [<limit>]]]"
+msgstr "git cherry [-v] [<ramo-a-montante> [<head> [<limite>]]]"
+
+#: builtin/log.c:1671
+#, c-format
+msgid ""
+"Could not find a tracked remote branch, please specify <upstream> manually.\n"
+msgstr ""
+"O ramo remoto seguido não foi encontrado, especifique <ramo-a-montante> "
+"manualmente.\n"
+
+#: builtin/log.c:1682 builtin/log.c:1684 builtin/log.c:1696
 #, c-format
 msgid "Unknown commit %s"
 msgstr "Commit desconhecido %s"
 
-#: builtin/merge.c:90
-msgid "switch `m' requires a value"
-msgstr ""
+#: builtin/ls-files.c:378
+msgid "git ls-files [<options>] [<file>...]"
+msgstr "git ls-files [<opções>] [<ficheiro>...]"
 
-#: builtin/merge.c:127
+#: builtin/ls-files.c:427
+msgid "identify the file status with tags"
+msgstr "identificar o estado do ficheiro com tags"
+
+#: builtin/ls-files.c:429
+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:431
+msgid "show cached files in the output (default)"
+msgstr "mostrar ficheiros em cache na saída"
+
+#: builtin/ls-files.c:433
+msgid "show deleted files in the output"
+msgstr "mostrar ficheiros eliminados na saída"
+
+#: builtin/ls-files.c:435
+msgid "show modified files in the output"
+msgstr "mostrar ficheiros modificados na saída"
+
+#: builtin/ls-files.c:437
+msgid "show other files in the output"
+msgstr "mostrar outros ficheiros na saída"
+
+#: builtin/ls-files.c:439
+msgid "show ignored files in the output"
+msgstr "mostrar ficheiros ignorados na saída"
+
+#: builtin/ls-files.c:442
+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:444
+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:446
+msgid "show 'other' directories' names only"
+msgstr "mostrar nomes de diretórios 'other' (outro)"
+
+#: builtin/ls-files.c:448
+msgid "show line endings of files"
+msgstr "mostrar finais de linha dos ficheiros"
+
+#: builtin/ls-files.c:450
+msgid "don't show empty directories"
+msgstr "não mostrar diretórios vazios"
+
+#: builtin/ls-files.c:453
+msgid "show unmerged files in the output"
+msgstr "mostrar ficheiros com versões não conciliadas, na saída"
+
+#: builtin/ls-files.c:455
+msgid "show resolve-undo information"
+msgstr "mostrar informação de resolver-anular"
+
+#: builtin/ls-files.c:457
+msgid "skip files matching pattern"
+msgstr "ignorar ficheiros que correspondam ao padrão"
+
+#: builtin/ls-files.c:460
+msgid "exclude patterns are read from <file>"
+msgstr "ler padrões de exclusão do <ficheiro>"
+
+#: builtin/ls-files.c:463
+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:465
+msgid "add the standard git exclusions"
+msgstr "incluir as exclusões standard do git"
+
+#: builtin/ls-files.c:468
+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:471
+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:472
+msgid "tree-ish"
+msgstr "árvore"
+
+#: builtin/ls-files.c:473
+msgid "pretend that paths removed since <tree-ish> are still present"
+msgstr "fingir que os caminhos removidos desde <árvore> ainda estão presentes"
+
+#: builtin/ls-files.c:475
+msgid "show debugging data"
+msgstr "mostrar dados de depuração"
+
+#: builtin/ls-remote.c:7
+msgid ""
+"git ls-remote [--heads] [--tags] [--refs] [--upload-pack=<exec>]\n"
+"                     [-q | --quiet] [--exit-code] [--get-url]\n"
+"                     [--symref] [<repository> [<refs>...]]"
+msgstr ""
+"git ls-remote [--heads] [--tags] [--refs] [--upload-pack=<exec>]\n"
+"                     [-q | --quiet] [--exit-code] [--get-url]\n"
+"                     [--symref] [<repositório> [<referências>...]]"
+
+#: builtin/ls-remote.c:50
+msgid "do not print remote URL"
+msgstr "não imprimir URL remoto"
+
+#: builtin/ls-remote.c:51 builtin/ls-remote.c:53
+msgid "exec"
+msgstr "exec"
+
+#: builtin/ls-remote.c:52 builtin/ls-remote.c:54
+msgid "path of git-upload-pack on the remote host"
+msgstr "caminho para git-upload-pack no servidor remoto"
+
+#: builtin/ls-remote.c:56
+msgid "limit to tags"
+msgstr "restringir-se a tags"
+
+#: builtin/ls-remote.c:57
+msgid "limit to heads"
+msgstr "restringir-se a cabeças"
+
+#: builtin/ls-remote.c:58
+msgid "do not show peeled tags"
+msgstr "não mostrar tags descascadas"
+
+#: builtin/ls-remote.c:60
+msgid "take url.<base>.insteadOf into account"
+msgstr "ter url.<base>.insteadOf em conta"
+
+#: builtin/ls-remote.c:62
+msgid "exit with exit code 2 if no matching refs are found"
+msgstr "terminar com código de saída 2 se não forem encontradas referências"
+
+#: builtin/ls-remote.c:64
+msgid "show underlying ref in addition to the object pointed by it"
+msgstr "mostrar a referência subjacente em adição ao objeto por ela apontado"
+
+#: builtin/ls-tree.c:28
+msgid "git ls-tree [<options>] <tree-ish> [<path>...]"
+msgstr "git ls-tree [<opções>] <árvore> [<caminho>...]"
+
+#: builtin/ls-tree.c:128
+msgid "only show trees"
+msgstr "mostrar apenas árvores"
+
+#: builtin/ls-tree.c:130
+msgid "recurse into subtrees"
+msgstr "percorrer as subárvores recursivamente"
+
+#: builtin/ls-tree.c:132
+msgid "show trees when recursing"
+msgstr "mostrar árvores ao percorrer"
+
+#: builtin/ls-tree.c:135
+msgid "terminate entries with NUL byte"
+msgstr "terminar entradas com o byte NUL"
+
+#: builtin/ls-tree.c:136
+msgid "include object size"
+msgstr "incluir dimensão dos objetos"
+
+#: builtin/ls-tree.c:138 builtin/ls-tree.c:140
+msgid "list only filenames"
+msgstr "listar apenas os nomes de ficheiro"
+
+#: builtin/ls-tree.c:143
+msgid "use full path names"
+msgstr "usar nomes de caminho completos"
+
+#: builtin/ls-tree.c:145
+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)"
+
+#: builtin/merge.c:45
+msgid "git merge [<options>] [<commit>...]"
+msgstr "git merge [<opções>] [<commit>...]"
+
+#: builtin/merge.c:46
+msgid "git merge [<options>] <msg> HEAD <commit>"
+msgstr "git merge [<opções>] <msg> HEAD <commit>"
+
+#: builtin/merge.c:47
+msgid "git merge --abort"
+msgstr "git merge --abort"
+
+#: builtin/merge.c:100
+msgid "switch `m' requires a value"
+msgstr "a opção 'm' requer um valor"
+
+#: builtin/merge.c:137
 #, c-format
 msgid "Could not find merge strategy '%s'.\n"
-msgstr ""
+msgstr "Estratégia de merge '%s' não encontrada.\n"
 
-#: builtin/merge.c:128
+#: builtin/merge.c:138
 #, c-format
 msgid "Available strategies are:"
-msgstr "As estratégias disponíveis são:"
+msgstr "Estratégias disponíveis:"
 
-#: builtin/merge.c:133
+#: builtin/merge.c:143
 #, c-format
 msgid "Available custom strategies are:"
-msgstr "Estratégias personalizadas disponíveis são:"
+msgstr "Estratégias personalizadas disponíveis:"
 
-#: builtin/merge.c:240
-msgid "could not run stash."
+#: builtin/merge.c:193 builtin/pull.c:123
+msgid "do not show a diffstat at the end of the merge"
+msgstr "não apresentar um diffstat no final do merge"
+
+#: builtin/merge.c:196 builtin/pull.c:126
+msgid "show a diffstat at the end of the merge"
+msgstr "mostrar um diffstat no final do merge"
+
+#: builtin/merge.c:197 builtin/pull.c:129
+msgid "(synonym to --stat)"
+msgstr "(sinónimo de --stat)"
+
+#: builtin/merge.c:199 builtin/pull.c:132
+msgid "add (at most <n>) entries from shortlog to merge commit message"
 msgstr ""
+"adicionar (no máximo <n>) entradas do shortlog à mensagem de commit do merge"
 
-#: builtin/merge.c:245
+#: builtin/merge.c:202 builtin/pull.c:135
+msgid "create a single commit instead of doing a merge"
+msgstr "criar um único commit em vez de realizar um merge"
+
+#: builtin/merge.c:204 builtin/pull.c:138
+msgid "perform a commit if the merge succeeds (default)"
+msgstr "realizar um commit se o merge for bem sucedido (predefinição)"
+
+#: builtin/merge.c:206 builtin/pull.c:141
+msgid "edit message before committing"
+msgstr "editar a mensagem antes de realizar commit"
+
+#: builtin/merge.c:207
+msgid "allow fast-forward (default)"
+msgstr "permitir avanço rápido (predefinição)"
+
+#: builtin/merge.c:209 builtin/pull.c:147
+msgid "abort if fast-forward is not possible"
+msgstr "abortar se não é possível efetuar avanço rápido"
+
+#: builtin/merge.c:213
+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:214 builtin/notes.c:770 builtin/pull.c:152
+#: builtin/revert.c:89
+msgid "strategy"
+msgstr "estratégia"
+
+#: builtin/merge.c:215 builtin/pull.c:153
+msgid "merge strategy to use"
+msgstr "estratégia de merge a usar"
+
+#: builtin/merge.c:216 builtin/pull.c:156
+msgid "option=value"
+msgstr "opção=valor"
+
+#: builtin/merge.c:217 builtin/pull.c:157
+msgid "option for selected merge strategy"
+msgstr "opções para a estratégia de merge selecionada"
+
+#: builtin/merge.c:219
+msgid "merge commit message (for a non-fast-forward merge)"
+msgstr "mensagem de commit (de merge não suscetível a avanço rápido)"
+
+#: builtin/merge.c:223
+msgid "abort the current in-progress merge"
+msgstr "abortar merge em curso"
+
+#: builtin/merge.c:251
+msgid "could not run stash."
+msgstr "não foi possível executar o comando stash."
+
+#: builtin/merge.c:256
 msgid "stash failed"
-msgstr "falhou o stash"
+msgstr "falha ao executar o comando stash"
 
-#: builtin/merge.c:250
+#: builtin/merge.c:261
 #, c-format
 msgid "not a valid object: %s"
-msgstr ""
+msgstr "nome de objeto inválido: %s"
 
-#: builtin/merge.c:269
-#: builtin/merge.c:286
+#: builtin/merge.c:280 builtin/merge.c:297
 msgid "read-tree failed"
-msgstr ""
+msgstr "falha ao executar o comando read-tree"
 
-#: builtin/merge.c:316
+#: builtin/merge.c:327
 msgid " (nothing to squash)"
-msgstr " (nada para squash)"
+msgstr " (não há nada para esmagar)"
 
-#: builtin/merge.c:329
+#: builtin/merge.c:340
 #, c-format
 msgid "Squash commit -- not updating HEAD\n"
-msgstr ""
+msgstr "Commit esmagado -- HEAD não atualizada\n"
 
-#: builtin/merge.c:361
+#: builtin/merge.c:344 builtin/merge.c:764 builtin/merge.c:976
+#: builtin/merge.c:989
+#, c-format
+msgid "Could not write to '%s'"
+msgstr "Não foi possível escrever em '%s'"
+
+#: builtin/merge.c:372
 msgid "Writing SQUASH_MSG"
-msgstr "Escrevendo SQUASH_MSG"
+msgstr "A escrever SQUASH_MSG"
 
-#: builtin/merge.c:363
+#: builtin/merge.c:374
 msgid "Finishing SQUASH_MSG"
-msgstr "Terminando SQUASH_MSG"
+msgstr "A concluir SQUASH_MSG"
 
-#: builtin/merge.c:386
+#: builtin/merge.c:397
 #, c-format
 msgid "No merge message -- not updating HEAD\n"
-msgstr ""
+msgstr "Sem mensagem de merge -- HEAD não atualizada\n"
 
-#: builtin/merge.c:437
+#: builtin/merge.c:448
 #, c-format
 msgid "'%s' does not point to a commit"
-msgstr ""
+msgstr "'%s' não aponta para um commit"
 
-#: builtin/merge.c:536
+#: builtin/merge.c:538
 #, c-format
 msgid "Bad branch.%s.mergeoptions string: %s"
-msgstr ""
+msgstr "Valor de branch.%s.mergeoptions incorreto: %s"
 
-#: builtin/merge.c:629
-msgid "git write-tree failed to write a tree"
-msgstr ""
-
-#: builtin/merge.c:679
-msgid "failed to read the cache"
-msgstr ""
-
-#: builtin/merge.c:697
-msgid "Unable to write index."
-msgstr ""
-
-#: builtin/merge.c:710
+#: builtin/merge.c:657
 msgid "Not handling anything other than two heads merge."
-msgstr ""
+msgstr "A processar exclusivamente merge de duas cabeças."
 
-#: builtin/merge.c:724
+#: builtin/merge.c:671
 #, c-format
 msgid "Unknown option for merge-recursive: -X%s"
-msgstr ""
+msgstr "Opção desconhecida de merge-recursive: -X%s"
 
-#: builtin/merge.c:738
+#: builtin/merge.c:684
 #, c-format
 msgid "unable to write %s"
-msgstr ""
+msgstr "não foi possível escrever %s"
 
-#: builtin/merge.c:877
+#: builtin/merge.c:773
 #, c-format
 msgid "Could not read from '%s'"
-msgstr ""
+msgstr "Não foi possível ler '%s'"
 
-#: builtin/merge.c:886
+#: builtin/merge.c:782
 #, c-format
 msgid "Not committing merge; use 'git commit' to complete the merge.\n"
-msgstr "Não commitando um merge; usa 'git commit' para completar o merge.\n"
+msgstr ""
+"Commit do merge não realizado; use 'git commit' para concluir o merge.\n"
 
-#: builtin/merge.c:892
+#: builtin/merge.c:788
+#, c-format
 msgid ""
 "Please enter a commit message to explain why this merge is necessary,\n"
 "especially if it merges an updated upstream into a topic branch.\n"
 "\n"
-"Lines starting with '#' will be ignored, and an empty message aborts\n"
+"Lines starting with '%c' will be ignored, and an empty message aborts\n"
 "the commit.\n"
 msgstr ""
+"Introduza uma mensagem de commit, explicando por que este merge é "
+"necessário,\n"
+"sobretudo se incorpora um ramo a montante atualizado, com um ramo tópico.\n"
+"\n"
+"Linhas começadas com '%c' são ignoradas, e uma mensagem vazia\n"
+"aborta o commit.\n"
 
-#: builtin/merge.c:916
+#: builtin/merge.c:812
 msgid "Empty commit message."
 msgstr "Mensagem de commit vazia."
 
-#: builtin/merge.c:928
+#: builtin/merge.c:824
 #, c-format
 msgid "Wonderful.\n"
-msgstr "Fastastico.\n"
+msgstr "Maravilhoso.\n"
 
-#: builtin/merge.c:993
+#: builtin/merge.c:879
 #, c-format
 msgid "Automatic merge failed; fix conflicts and then commit the result.\n"
 msgstr ""
+"Falha ao realizar merge automático; corrija os conflitos e faça commit do "
+"resultado.\n"
 
-#: builtin/merge.c:1009
+#: builtin/merge.c:895
 #, c-format
 msgid "'%s' is not a commit"
 msgstr "'%s' não é um commit"
 
-#: builtin/merge.c:1050
+#: builtin/merge.c:936
 msgid "No current branch."
-msgstr "Nenhuma rama actual"
+msgstr "Nenhum ramo atual."
 
-#: builtin/merge.c:1052
+#: builtin/merge.c:938
 msgid "No remote for the current branch."
-msgstr ""
+msgstr "Não há um remoto para o ramo atual."
 
-#: builtin/merge.c:1054
+#: builtin/merge.c:940
 msgid "No default upstream defined for the current branch."
-msgstr ""
+msgstr "Não está definido nenhum ramo a montante para o ramo atual."
 
-#: builtin/merge.c:1059
+#: builtin/merge.c:945
 #, c-format
-msgid "No remote tracking branch for %s from %s"
-msgstr ""
+msgid "No remote-tracking branch for %s from %s"
+msgstr "Nenhum ramo remoto seguido por %s de %s"
 
-#: builtin/merge.c:1146
-#: builtin/merge.c:1303
+#: builtin/merge.c:1080
 #, c-format
-msgid "%s - not something we can merge"
-msgstr ""
+msgid "could not close '%s'"
+msgstr "não foi possível fechar '%s'"
 
-#: builtin/merge.c:1214
+#: builtin/merge.c:1207
 msgid "There is no merge to abort (MERGE_HEAD missing)."
-msgstr ""
+msgstr "Não há nenhum merge para abortar (MERGE_HEAD não presente)."
 
-#: builtin/merge.c:1230
-#: git-pull.sh:31
+#: builtin/merge.c:1223
 msgid ""
 "You have not concluded your merge (MERGE_HEAD exists).\n"
-"Please, commit your changes before you can merge."
+"Please, commit your changes before you merge."
 msgstr ""
+"Merge não concluído (MERGE_HEAD presente).\n"
+"Faça commit das suas alterações antes de realizar merge."
 
-#: builtin/merge.c:1233
-#: git-pull.sh:34
-msgid "You have not concluded your merge (MERGE_HEAD exists)."
-msgstr ""
-
-#: builtin/merge.c:1237
+#: builtin/merge.c:1230
 msgid ""
 "You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists).\n"
-"Please, commit your changes before you can merge."
+"Please, commit your changes before you merge."
 msgstr ""
+"Cherry-pick não concluído (CHERRY_PICK_HEAD presente).\n"
+"Faça commit das suas alterações antes de realizar merge."
 
-#: builtin/merge.c:1240
+#: builtin/merge.c:1233
 msgid "You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists)."
-msgstr ""
+msgstr "Cherry-pick não concluído (CHERRY_PICK_HEAD presente)."
 
-#: builtin/merge.c:1249
+#: builtin/merge.c:1242
 msgid "You cannot combine --squash with --no-ff."
-msgstr ""
+msgstr "Não é possível combinar --squash e --no-ff."
 
-#: builtin/merge.c:1254
-msgid "You cannot combine --no-ff with --ff-only."
-msgstr ""
-
-#: builtin/merge.c:1261
+#: builtin/merge.c:1250
 msgid "No commit specified and merge.defaultToUpstream not set."
-msgstr ""
+msgstr "Nenhum commit especificado e merge.defaultToUpstream não definido."
 
-#: builtin/merge.c:1293
-msgid "Can merge only exactly one commit into empty head"
-msgstr ""
-
-#: builtin/merge.c:1296
+#: builtin/merge.c:1267
 msgid "Squash commit into empty head not supported yet"
-msgstr ""
+msgstr "Esmagar um commit numa cabeça vazia ainda não é suportado"
 
-#: builtin/merge.c:1298
+#: builtin/merge.c:1269
 msgid "Non-fast-forward commit does not make sense into an empty head"
 msgstr ""
+"Não faz sentido efetuar commit não suscetível a avanço rápido, numa cabeça "
+"vazia"
 
-#: builtin/merge.c:1413
+#: builtin/merge.c:1275
+#, c-format
+msgid "%s - not something we can merge"
+msgstr "%s - não é algo suscetível a merge"
+
+#: builtin/merge.c:1277
+msgid "Can merge only exactly one commit into empty head"
+msgstr "Só é possível realizar merge de exatamente um commit numa cabeça vazia"
+
+#: builtin/merge.c:1332
+#, 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:1335
+#, 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:1338
+#, c-format
+msgid "Commit %s does not have a GPG signature."
+msgstr "O commit %s não tem uma assinatura GPG."
+
+#: builtin/merge.c:1341
+#, 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:1424
 #, c-format
 msgid "Updating %s..%s\n"
-msgstr "Actualizando %s..%s\n"
+msgstr "A atualizar %s..%s\n"
 
-#: builtin/merge.c:1451
+#: builtin/merge.c:1461
 #, c-format
 msgid "Trying really trivial in-index merge...\n"
-msgstr ""
+msgstr "A tentar merge mesmo trivial no interior do índice...\n"
 
-#: builtin/merge.c:1458
+#: builtin/merge.c:1468
 #, c-format
 msgid "Nope.\n"
 msgstr "Não.\n"
 
-#: builtin/merge.c:1490
+#: builtin/merge.c:1500
 msgid "Not possible to fast-forward, aborting."
-msgstr ""
+msgstr "Não é possível avançar rapidamente, a abortar."
 
-#: builtin/merge.c:1513
-#: builtin/merge.c:1592
+#: builtin/merge.c:1523 builtin/merge.c:1602
 #, c-format
 msgid "Rewinding the tree to pristine...\n"
-msgstr ""
+msgstr "A recuar a árvore ao seu estado original...\n"
 
-#: builtin/merge.c:1517
+#: builtin/merge.c:1527
 #, c-format
 msgid "Trying merge strategy %s...\n"
-msgstr ""
+msgstr "A tentar a estratégia de merge %s...\n"
 
-#: builtin/merge.c:1583
+#: builtin/merge.c:1593
 #, c-format
 msgid "No merge strategy handled the merge.\n"
-msgstr ""
+msgstr "Nenhuma estratégia de merge conseguiu processar o merge.\n"
 
-#: builtin/merge.c:1585
+#: builtin/merge.c:1595
 #, c-format
 msgid "Merge with strategy %s failed.\n"
-msgstr "Fundir com a estratégia %s falhou.\n"
+msgstr "Falha ao realizar merge com a estratégia %s.\n"
 
-#: builtin/merge.c:1594
+#: builtin/merge.c:1604
 #, c-format
 msgid "Using the %s to prepare resolving by hand.\n"
-msgstr ""
+msgstr "A usar %s para preparar resolução manual.\n"
 
-#: builtin/merge.c:1606
+#: builtin/merge.c:1616
 #, c-format
 msgid "Automatic merge went well; stopped before committing as requested\n"
 msgstr ""
+"O merge automático foi bem sucedido; interrompido antes de realizar commit "
+"como pretendido\n"
 
-#: builtin/mv.c:108
-#, c-format
-msgid "Checking rename of '%s' to '%s'\n"
+#: builtin/merge-base.c:29
+msgid "git merge-base [-a | --all] <commit> <commit>..."
+msgstr "git merge-base [-a | --all] <commit> <commit>..."
+
+#: builtin/merge-base.c:30
+msgid "git merge-base [-a | --all] --octopus <commit>..."
+msgstr "git merge-base [-a | --all] --octopus <commit>..."
+
+#: builtin/merge-base.c:31
+msgid "git merge-base --independent <commit>..."
+msgstr "git merge-base --independent <commit>..."
+
+#: builtin/merge-base.c:32
+msgid "git merge-base --is-ancestor <commit> <commit>"
+msgstr "git merge-base --is-ancestor <commit> <commit>"
+
+#: builtin/merge-base.c:33
+msgid "git merge-base --fork-point <ref> [<commit>]"
+msgstr "git merge-base --fork-point <referência> [<commit>]"
+
+#: builtin/merge-base.c:214
+msgid "output all common ancestors"
+msgstr "mostrar todos os antecessores"
+
+#: builtin/merge-base.c:216
+msgid "find ancestors for a single n-way merge"
+msgstr "encontrar antecessores de um único merge com n pontos"
+
+#: builtin/merge-base.c:218
+msgid "list revs not reachable from others"
+msgstr "listar revisões não alcançáveis a partir de outras"
+
+#: builtin/merge-base.c:220
+msgid "is the first one ancestor of the other?"
+msgstr "o primeiro é antecessor do segundo?"
+
+#: builtin/merge-base.c:222
+msgid "find where <commit> forked from reflog of <ref>"
 msgstr ""
+"descobrir aonde foi que o <commit> divergiu usando o reflog da <referência>"
+
+#: builtin/merge-file.c:8
+msgid ""
+"git merge-file [<options>] [-L <name1> [-L <orig> [-L <name2>]]] <file1> "
+"<orig-file> <file2>"
+msgstr ""
+"git merge-file [<opções>] [-L <nome1> [-L <orig> [-L <nome2>]]] <ficheiro1> "
+"<ficheiro-orig> <ficheiro2>"
+
+#: builtin/merge-file.c:33
+msgid "send results to standard output"
+msgstr "enviar resultados para a saída padrão"
+
+#: builtin/merge-file.c:34
+msgid "use a diff3 based merge"
+msgstr "usar merge baseado em diff3"
+
+#: builtin/merge-file.c:35
+msgid "for conflicts, use our version"
+msgstr "usar a nossa versão em caso de conflito"
+
+#: builtin/merge-file.c:37
+msgid "for conflicts, use their version"
+msgstr "usar a versão deles em caso de conflito"
+
+#: builtin/merge-file.c:39
+msgid "for conflicts, use a union version"
+msgstr "usar a união das versões em caso de conflito"
+
+#: builtin/merge-file.c:42
+msgid "for conflicts, use this marker size"
+msgstr "usar este comprimento de marcador para os conflitos"
+
+#: builtin/merge-file.c:43
+msgid "do not warn about conflicts"
+msgstr "não alertar sobre conflitos"
+
+#: builtin/merge-file.c:45
+msgid "set labels for file1/orig-file/file2"
+msgstr "definir identificares para ficheiro1/ficheiro-orig/ficheiro2"
+
+#: builtin/mktree.c:65
+msgid "git mktree [-z] [--missing] [--batch]"
+msgstr "git mktree [-z] [--missing] [--batch]"
+
+#: builtin/mktree.c:152
+msgid "input is NUL terminated"
+msgstr "a entrada termina com NUL"
+
+#: builtin/mktree.c:153 builtin/write-tree.c:24
+msgid "allow missing objects"
+msgstr "permitir objetos não presentes"
+
+#: builtin/mktree.c:154
+msgid "allow creation of more than one tree"
+msgstr "permitir a criação de mais do que uma árvore"
+
+#: builtin/mv.c:15
+msgid "git mv [<options>] <source>... <destination>"
+msgstr "git mv [<opções>] <origem>... <destino>"
+
+#: builtin/mv.c:70
+#, fuzzy, c-format
+msgid "Directory %s is in index and no submodule?"
+msgstr "O diretório %s está no índice mas não no submódulo?"
+
+#: builtin/mv.c:72
+msgid "Please stage your changes to .gitmodules or stash them to proceed"
+msgstr ""
+"Prepare as suas alterações em .gitmodules ou esconda-as (stash) para "
+"prosseguir"
+
+#: builtin/mv.c:90
+#, c-format
+msgid "%.*s is in index"
+msgstr "%.*s está no índice"
 
 #: builtin/mv.c:112
-msgid "bad source"
-msgstr "fonte inválida"
+msgid "force move/rename even if target exists"
+msgstr "forçar mover/mudar o nome mesmo que o destino exista"
 
-#: builtin/mv.c:115
-msgid "can not move directory into itself"
-msgstr ""
+#: builtin/mv.c:113
+msgid "skip move/rename errors"
+msgstr "ignorar erros ao mover/mudar o nome"
 
-#: builtin/mv.c:118
-msgid "cannot move directory over file"
-msgstr ""
-
-#: builtin/mv.c:128
+#: builtin/mv.c:152
 #, c-format
-msgid "Huh? %.*s is in index?"
-msgstr ""
+msgid "destination '%s' is not a directory"
+msgstr "o destino '%s' não é um diretório"
 
-#: builtin/mv.c:140
+#: builtin/mv.c:163
+#, 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:167
+msgid "bad source"
+msgstr "origem incorreta"
+
+#: builtin/mv.c:170
+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:173
+msgid "cannot move directory over file"
+msgstr "não é possível mover um diretório para um ficheiro"
+
+#: builtin/mv.c:182
 msgid "source directory is empty"
-msgstr "o directorio fonte está vazio"
+msgstr "o diretório de origem está vazio"
 
-#: builtin/mv.c:171
+#: builtin/mv.c:207
 msgid "not under version control"
 msgstr "não está no controlo de versões"
 
-#: builtin/mv.c:173
+#: builtin/mv.c:210
 msgid "destination exists"
-msgstr "existe destino"
+msgstr "o destino já existe"
 
-#: builtin/mv.c:181
+#: builtin/mv.c:218
 #, c-format
 msgid "overwriting '%s'"
-msgstr "subscrevendo '%s'"
+msgstr "a substituir '%s'"
 
-#: builtin/mv.c:184
+#: builtin/mv.c:221
 msgid "Cannot overwrite"
-msgstr "Não consegue subscrever"
+msgstr "Não é possível substituir"
 
-#: builtin/mv.c:187
+#: builtin/mv.c:224
 msgid "multiple sources for the same target"
-msgstr "múltiplas fontes para o mesmo alvo"
+msgstr "múltiplas origens para o mesmo destino"
 
-#: builtin/mv.c:202
+#: builtin/mv.c:226
+msgid "destination directory does not exist"
+msgstr "o diretório de destino não existe"
+
+#: builtin/mv.c:233
 #, c-format
 msgid "%s, source=%s, destination=%s"
-msgstr ""
+msgstr "%s, origem=%s, destino=%s"
 
-#: builtin/mv.c:212
+#: builtin/mv.c:254
 #, c-format
 msgid "Renaming %s to %s\n"
-msgstr "Mudar de nome %s para %s\n"
+msgstr "A mudar de nome de %s para %s\n"
 
-#: builtin/mv.c:215
-#: builtin/remote.c:731
+#: builtin/mv.c:257 builtin/remote.c:714 builtin/repack.c:365
 #, c-format
 msgid "renaming '%s' failed"
-msgstr "mudar de nome '%s' falhou"
+msgstr "falha ao mudar o nome de '%s'"
 
-#: builtin/notes.c:139
+#: builtin/name-rev.c:251
+msgid "git name-rev [<options>] <commit>..."
+msgstr "git name-rev [<opções>] <commit>..."
+
+#: builtin/name-rev.c:252
+msgid "git name-rev [<options>] --all"
+msgstr "git name-rev [<opções>] --all"
+
+#: builtin/name-rev.c:253
+msgid "git name-rev [<options>] --stdin"
+msgstr "git name-rev [<opções>] --stdin"
+
+#: builtin/name-rev.c:305
+msgid "print only names (no SHA-1)"
+msgstr "imprimir apenas nomes (sem SHA-1)"
+
+#: builtin/name-rev.c:306
+msgid "only use tags to name the commits"
+msgstr "usar apenas tags para designar commits"
+
+#: builtin/name-rev.c:308
+msgid "only use refs matching <pattern>"
+msgstr "usar apenas referência que correspondam ao <padrão>"
+
+#: builtin/name-rev.c:310
+msgid "list all commits reachable from all refs"
+msgstr "listar todos os commits alcançáveis a partir de todas as referências"
+
+#: builtin/name-rev.c:311
+msgid "read from stdin"
+msgstr "ler da entrada padrão"
+
+#: builtin/name-rev.c:312
+msgid "allow to print `undefined` names (default)"
+msgstr "permitir imprimir nomes 'indefinidos' (predefinição)"
+
+#: builtin/name-rev.c:318
+msgid "dereference tags in the input (internal use)"
+msgstr "desreferenciar tags na entrada (uso interno)"
+
+#: builtin/notes.c:25
+msgid "git notes [--ref <notes-ref>] [list [<object>]]"
+msgstr "git notes [--ref <notes-ref>] [list [<objeto>]]"
+
+#: builtin/notes.c:26
+msgid ""
+"git notes [--ref <notes-ref>] add [-f] [--allow-empty] [-m <msg> | -F <file> "
+"| (-c | -C) <object>] [<object>]"
+msgstr ""
+"git notes [--ref <notes-ref>] add [-f] [--allow-empty] [-m <msg> | -F "
+"<ficheiro> | (-c | -C) <objeto>] [<objeto>]"
+
+#: builtin/notes.c:27
+msgid "git notes [--ref <notes-ref>] copy [-f] <from-object> <to-object>"
+msgstr "git notes [--ref <notes-ref>] copy [-f] <de-objeto> <para-objeto>"
+
+#: builtin/notes.c:28
+msgid ""
+"git notes [--ref <notes-ref>] append [--allow-empty] [-m <msg> | -F <file> | "
+"(-c | -C) <object>] [<object>]"
+msgstr ""
+"git notes [--ref <notes-ref>] append [--allow-empty] [-m <msg> | -F "
+"<ficheiro> | (-c | -C) <objeto>] [<objeto>]"
+
+#: builtin/notes.c:29
+msgid "git notes [--ref <notes-ref>] edit [--allow-empty] [<object>]"
+msgstr "git notes [--ref <notes-ref>] edit [--allow-empty] [<objeto>]"
+
+#: builtin/notes.c:30
+msgid "git notes [--ref <notes-ref>] show [<object>]"
+msgstr "git notes [--ref <notes-ref>] show [<objeto>]"
+
+#: builtin/notes.c:31
+msgid ""
+"git notes [--ref <notes-ref>] merge [-v | -q] [-s <strategy>] <notes-ref>"
+msgstr ""
+"git notes [--ref <notes-ref>] merge [-v | -q] [-s <estratégia>] <notes-ref>"
+
+#: builtin/notes.c:32
+msgid "git notes merge --commit [-v | -q]"
+msgstr "git notes merge --commit [-v | -q]"
+
+#: builtin/notes.c:33
+msgid "git notes merge --abort [-v | -q]"
+msgstr "git notes merge --abort [-v | -q]"
+
+#: builtin/notes.c:34
+msgid "git notes [--ref <notes-ref>] remove [<object>...]"
+msgstr "git notes [--ref <notes-ref>] remove [<objeto>...]"
+
+#: builtin/notes.c:35
+msgid "git notes [--ref <notes-ref>] prune [-n | -v]"
+msgstr "git notes [--ref <notes-ref>] prune [-n | -v]"
+
+#: builtin/notes.c:36
+msgid "git notes [--ref <notes-ref>] get-ref"
+msgstr "git notes [--ref <notes-ref>] get-ref"
+
+#: builtin/notes.c:41
+msgid "git notes [list [<object>]]"
+msgstr "git notes [list [<objeto>]]"
+
+#: builtin/notes.c:46
+msgid "git notes add [<options>] [<object>]"
+msgstr "git notes add [<opções>] [<objeto>]"
+
+#: builtin/notes.c:51
+msgid "git notes copy [<options>] <from-object> <to-object>"
+msgstr "git notes copy [<opções>] <de-objeto> <para-objeto>"
+
+#: builtin/notes.c:52
+msgid "git notes copy --stdin [<from-object> <to-object>]..."
+msgstr "git notes copy --stdin [<de-objeto> <para-objeto>]..."
+
+#: builtin/notes.c:57
+msgid "git notes append [<options>] [<object>]"
+msgstr "git notes append [<opções>] [<objeto>]"
+
+#: builtin/notes.c:62
+msgid "git notes edit [<object>]"
+msgstr "git notes edit [<objeto>]"
+
+#: builtin/notes.c:67
+msgid "git notes show [<object>]"
+msgstr "git notes show [<objeto>]"
+
+#: builtin/notes.c:72
+msgid "git notes merge [<options>] <notes-ref>"
+msgstr "git notes merge [<opções>] <notes-ref>"
+
+#: builtin/notes.c:73
+msgid "git notes merge --commit [<options>]"
+msgstr "git notes merge --commit [<opções>]"
+
+#: builtin/notes.c:74
+msgid "git notes merge --abort [<options>]"
+msgstr "git notes merge --abort [<opções>]"
+
+#: builtin/notes.c:79
+msgid "git notes remove [<object>]"
+msgstr "git notes remove [<objeto>]"
+
+#: builtin/notes.c:84
+msgid "git notes prune [<options>]"
+msgstr "git notes prune [<optções>]"
+
+#: builtin/notes.c:89
+msgid "git notes get-ref"
+msgstr "git notes get-ref"
+
+#: builtin/notes.c:147
 #, c-format
 msgid "unable to start 'show' for object '%s'"
-msgstr ""
+msgstr "não foi possível iniciar o comando 'show' sobre o objeto '%s'"
 
-#: builtin/notes.c:145
-msgid "can't fdopen 'show' output fd"
-msgstr ""
+#: builtin/notes.c:151
+msgid "could not read 'show' output"
+msgstr "não foi possível ler a saída do comando 'show'"
 
-#: builtin/notes.c:155
-#, c-format
-msgid "failed to close pipe to 'show' for object '%s'"
-msgstr ""
-
-#: builtin/notes.c:158
+#: builtin/notes.c:159
 #, c-format
 msgid "failed to finish 'show' for object '%s'"
-msgstr ""
+msgstr "falha ao concluir o comando 'show' sobre o objeto '%s'"
 
-#: builtin/notes.c:175
-#: builtin/tag.c:347
+#: builtin/notes.c:174 builtin/tag.c:248
 #, c-format
 msgid "could not create file '%s'"
-msgstr ""
+msgstr "não foi possível criar o ficheiro '%s'"
 
-#: builtin/notes.c:189
+#: builtin/notes.c:193
 msgid "Please supply the note contents using either -m or -F option"
-msgstr ""
+msgstr "Forneça o conteúdo da nota usando a opção -m ou -F"
 
-#: builtin/notes.c:210
-#: builtin/notes.c:973
-#, c-format
-msgid "Removing note for object %s\n"
-msgstr ""
-
-#: builtin/notes.c:215
+#: builtin/notes.c:202
 msgid "unable to write note object"
-msgstr ""
+msgstr "não é possível escrever o objeto de nota"
 
-#: builtin/notes.c:217
+#: builtin/notes.c:204
 #, c-format
-msgid "The note contents has been left in %s"
-msgstr ""
+msgid "The note contents have been left in %s"
+msgstr "O conteúdo da nota foi guardado em %s"
 
-#: builtin/notes.c:251
-#: builtin/tag.c:542
+#: builtin/notes.c:232 builtin/tag.c:440
 #, c-format
 msgid "cannot read '%s'"
-msgstr "não consegue ler '%s'"
+msgstr "não é possível ler '%s'"
 
-#: builtin/notes.c:253
-#: builtin/tag.c:545
+#: builtin/notes.c:234 builtin/tag.c:443
 #, c-format
 msgid "could not open or read '%s'"
-msgstr ""
+msgstr "não foi possível abrir ou ler '%s'"
 
-#: builtin/notes.c:272
-#: builtin/notes.c:445
-#: builtin/notes.c:447
-#: builtin/notes.c:507
-#: builtin/notes.c:561
-#: builtin/notes.c:644
-#: builtin/notes.c:649
-#: builtin/notes.c:724
-#: builtin/notes.c:766
-#: builtin/notes.c:968
-#: builtin/reset.c:293
-#: builtin/tag.c:558
+#: 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:880 builtin/tag.c:456
 #, c-format
 msgid "Failed to resolve '%s' as a valid ref."
-msgstr ""
+msgstr "Falha ao resolver '%s' numa referência válida."
 
-#: builtin/notes.c:275
+#: builtin/notes.c:256
 #, c-format
 msgid "Failed to read object '%s'."
-msgstr ""
+msgstr "Falha ao ler o objeto '%s'."
 
-#: builtin/notes.c:299
-msgid "Cannot commit uninitialized/unreferenced notes tree"
-msgstr ""
-
-#: builtin/notes.c:340
+#: builtin/notes.c:260
 #, c-format
-msgid "Bad notes.rewriteMode value: '%s'"
-msgstr ""
+msgid "Cannot read note data from non-blob object '%s'."
+msgstr "Não é possível ler os dados da nota de um objeto não-blob '%s'."
 
-#: builtin/notes.c:350
-#, c-format
-msgid "Refusing to rewrite notes in %s (outside of refs/notes/)"
-msgstr ""
-
-#. TRANSLATORS: The first %s is the name of the
-#. environment variable, the second %s is its value
-#: builtin/notes.c:377
-#, c-format
-msgid "Bad %s value: '%s'"
-msgstr "Inválido %s valor: '%s'"
-
-#: builtin/notes.c:441
-#, c-format
-msgid "Malformed input line: '%s'."
-msgstr ""
-
-#: builtin/notes.c:456
-#, c-format
-msgid "Failed to copy notes from '%s' to '%s'"
-msgstr ""
-
-#: builtin/notes.c:500
-#: builtin/notes.c:554
-#: builtin/notes.c:627
-#: builtin/notes.c:639
-#: builtin/notes.c:712
-#: builtin/notes.c:759
-#: builtin/notes.c:1033
+#: 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:945
 msgid "too many parameters"
-msgstr "demasiado parametros"
+msgstr "demasiados parâmetros"
 
-#: builtin/notes.c:513
-#: builtin/notes.c:772
+#: builtin/notes.c:375 builtin/notes.c:662
 #, c-format
 msgid "No note found for object %s."
-msgstr "Nenhuma nota encontrada para o objecto %s."
+msgstr "A nota do objeto %s não foi encontrada."
 
-#: builtin/notes.c:580
+#: builtin/notes.c:396 builtin/notes.c:559
+msgid "note contents as a string"
+msgstr "conteúdo da nota sob a forma de cadeia de caracteres"
+
+#: builtin/notes.c:399 builtin/notes.c:562
+msgid "note contents in a file"
+msgstr "conteúdo da nota de um ficheiro"
+
+#: builtin/notes.c:402 builtin/notes.c:565
+msgid "reuse and edit specified note object"
+msgstr "reutilizar e editar o objeto de nota especificado"
+
+#: builtin/notes.c:405 builtin/notes.c:568
+msgid "reuse specified note object"
+msgstr "reutilizar o objeto de nota especificado"
+
+#: builtin/notes.c:408 builtin/notes.c:571
+msgid "allow storing empty note"
+msgstr "permitir guardar uma nota vazia"
+
+#: builtin/notes.c:409 builtin/notes.c:480
+msgid "replace existing notes"
+msgstr "substituir notas existentes"
+
+#: builtin/notes.c:434
 #, c-format
-msgid "Cannot add notes. Found existing notes for object %s. Use '-f' to overwrite existing notes"
+msgid ""
+"Cannot add notes. Found existing notes for object %s. Use '-f' to overwrite "
+"existing notes"
 msgstr ""
+"Não é possível adicionar notas. Notas do objeto %s encontradas. Use '-f' "
+"para substituí-las."
 
-#: builtin/notes.c:585
-#: builtin/notes.c:662
+#: builtin/notes.c:449 builtin/notes.c:528
 #, c-format
 msgid "Overwriting existing notes for object %s\n"
-msgstr ""
+msgstr "A substituir as notas existentes do objeto %s\n"
 
-#: builtin/notes.c:635
-msgid "too few parameters"
-msgstr ""
-
-#: builtin/notes.c:656
+#: builtin/notes.c:460 builtin/notes.c:621 builtin/notes.c:885
 #, c-format
-msgid "Cannot copy notes. Found existing notes for object %s. Use '-f' to overwrite existing notes"
-msgstr ""
+msgid "Removing note for object %s\n"
+msgstr "A remover a nota do objeto %s\n"
 
-#: builtin/notes.c:668
+#: builtin/notes.c:481
+msgid "read objects from stdin"
+msgstr "ler objetos da entrada padrão"
+
+#: builtin/notes.c:483
+msgid "load rewriting config for <command> (implies --stdin)"
+msgstr "carregar configuração de reescrita do <comando> (implica --stdin)"
+
+#: builtin/notes.c:501
+msgid "too few parameters"
+msgstr "parâmetros insuficientes"
+
+#: builtin/notes.c:522
+#, c-format
+msgid ""
+"Cannot copy notes. Found existing notes for object %s. Use '-f' to overwrite "
+"existing notes"
+msgstr ""
+"Não é possível copiar notas. Notas do objeto %s encontradas. Use '-f' para "
+"substituí-las."
+
+#: builtin/notes.c:534
 #, c-format
 msgid "Missing notes on source object %s. Cannot copy."
-msgstr ""
+msgstr "Não existem notas no objeto de origem %s. Não é possível copiar."
 
-#: builtin/notes.c:717
+#: builtin/notes.c:586
 #, c-format
 msgid ""
 "The -m/-F/-c/-C options have been deprecated for the 'edit' subcommand.\n"
 "Please use 'git notes add -f -m/-F/-c/-C' instead.\n"
 msgstr ""
+"As opções -m/-F/-c/-C são obsoletas no subcomando 'edit'.\n"
+"Use 'git notes add -f -m/-F/-c/-C' em seu lugar.\n"
 
-#: builtin/notes.c:971
+#: builtin/notes.c:767
+msgid "General options"
+msgstr "Opções gerais"
+
+#: builtin/notes.c:769
+msgid "Merge options"
+msgstr "Opções de merge"
+
+#: builtin/notes.c:771
+msgid ""
+"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)"
+
+#: builtin/notes.c:773
+msgid "Committing unmerged notes"
+msgstr "Efetuar commit de notas não integradas"
+
+#: builtin/notes.c:775
+msgid "finalize notes merge by committing unmerged notes"
+msgstr "concluir merge de notas, fazendo commit de notas não integradas"
+
+#: builtin/notes.c:777
+msgid "Aborting notes merge resolution"
+msgstr "Abortar resoluções de merge das notas"
+
+#: builtin/notes.c:779
+msgid "abort notes merge"
+msgstr "abortar merge das notas"
+
+#: builtin/notes.c:856
+#, c-format
+msgid "A notes merge into %s is already in-progress at %s"
+msgstr "Merge das notas em %s já está em curso em %s"
+
+#: builtin/notes.c:883
 #, c-format
 msgid "Object %s has no note\n"
-msgstr ""
+msgstr "O objeto %s não tem nenhuma nota\n"
 
-#: builtin/notes.c:1103
-#: builtin/remote.c:1598
+#: builtin/notes.c:895
+msgid "attempt to remove non-existent note is not an error"
+msgstr "não considerar como erro a remoção de uma nota não existente"
+
+#: builtin/notes.c:898
+msgid "read object names from the standard input"
+msgstr "ler nome dos objetos da entrada padrão"
+
+#: builtin/notes.c:979
+msgid "notes-ref"
+msgstr "notes-ref"
+
+#: builtin/notes.c:980
+msgid "use notes from <notes-ref>"
+msgstr "usar notas de <notes-ref>"
+
+#: builtin/notes.c:1015 builtin/remote.c:1626
 #, c-format
 msgid "Unknown subcommand: %s"
-msgstr ""
+msgstr "Subcomando desconhecido: %s"
 
-#: builtin/pack-objects.c:2315
+#: builtin/pack-objects.c:28
+msgid ""
+"git pack-objects --stdout [<options>...] [< <ref-list> | < <object-list>]"
+msgstr ""
+"git pack-objects --stdout [<opções>...] [< <lista-referências> | < <lista-"
+"objetos>]"
+
+#: builtin/pack-objects.c:29
+msgid ""
+"git pack-objects [<options>...] <base-name> [< <ref-list> | < <object-list>]"
+msgstr ""
+"git pack-objects [<opções>...] <nome-base> [< <lista-referências> | < <lista-"
+"objetos>]"
+
+#: builtin/pack-objects.c:175 builtin/pack-objects.c:178
+#, c-format
+msgid "deflate error (%d)"
+msgstr "erro ao compactar (%d)"
+
+#: builtin/pack-objects.c:772
+msgid "Writing objects"
+msgstr "A escrever objetos"
+
+#: builtin/pack-objects.c:1012
+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"
+
+#: builtin/pack-objects.c:2172
+msgid "Compressing objects"
+msgstr "A comprimir objetos"
+
+#: builtin/pack-objects.c:2558
 #, c-format
 msgid "unsupported index version %s"
-msgstr ""
+msgstr "versão de índice %s não suportada"
 
-#: builtin/pack-objects.c:2319
+#: builtin/pack-objects.c:2562
 #, c-format
 msgid "bad index version '%s'"
+msgstr "versão de índice '%s' incorreta"
+
+#: builtin/pack-objects.c:2592
+msgid "do not show progress meter"
+msgstr "não mostrar medidor de progresso"
+
+#: builtin/pack-objects.c:2594
+msgid "show progress meter"
+msgstr "mostrar medidor de progresso"
+
+#: builtin/pack-objects.c:2596
+msgid "show progress meter during object writing phase"
+msgstr "mostrar medidor de progresso durante a fase de escrita de objetos"
+
+#: builtin/pack-objects.c:2599
+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:2600
+msgid "version[,offset]"
+msgstr "versão[,offset]"
+
+#: builtin/pack-objects.c:2601
+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:2342
-#, c-format
-msgid "option %s does not accept negative form"
-msgstr "opção %s não aceita formato negativo"
+#: builtin/pack-objects.c:2604
+msgid "maximum size of each output pack file"
+msgstr "tamanho máximo de cada ficheiro de pacote gerado"
 
-#: builtin/pack-objects.c:2346
-#, c-format
-msgid "unable to parse value '%s' for option %s"
+#: builtin/pack-objects.c:2606
+msgid "ignore borrowed objects from alternate object store"
+msgstr "ignorar objetos emprestados do arquivo de objetos alternate"
+
+#: builtin/pack-objects.c:2608
+msgid "ignore packed objects"
+msgstr "ignorar objetos compactados"
+
+#: builtin/pack-objects.c:2610
+msgid "limit pack window by objects"
+msgstr "limitar a janela de compactação por objetos"
+
+#: builtin/pack-objects.c:2612
+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/push.c:45
+#: builtin/pack-objects.c:2614
+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:2616
+msgid "reuse existing deltas"
+msgstr "reutilizar deltas existentes"
+
+#: builtin/pack-objects.c:2618
+msgid "reuse existing objects"
+msgstr "reutilizar objetos existentes"
+
+#: builtin/pack-objects.c:2620
+msgid "use OFS_DELTA objects"
+msgstr "usar objetos OFS_DELTA"
+
+#: builtin/pack-objects.c:2622
+msgid "use threads when searching for best delta matches"
+msgstr "usar threads ao procurar pela melhor correspondência delta"
+
+#: builtin/pack-objects.c:2624
+msgid "do not create an empty pack output"
+msgstr "não criar um pacote vazio"
+
+#: builtin/pack-objects.c:2626
+msgid "read revision arguments from standard input"
+msgstr "ler argumentos de revisão da entrada padrão"
+
+#: builtin/pack-objects.c:2628
+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:2631
+msgid "include objects reachable from any reference"
+msgstr "incluir objetos alcançáveis a partir de qualquer referência"
+
+#: builtin/pack-objects.c:2634
+msgid "include objects referred by reflog entries"
+msgstr "incluir objetos referenciados por entradas do reflog"
+
+#: builtin/pack-objects.c:2637
+msgid "include objects referred to by the index"
+msgstr "incluir objetos referenciados pelo índice"
+
+#: builtin/pack-objects.c:2640
+msgid "output pack to stdout"
+msgstr "gerar pacote para a saída padrão"
+
+#: builtin/pack-objects.c:2642
+msgid "include tag objects that refer to objects to be packed"
+msgstr "incluir objetos tag que refiram objetos a compactar"
+
+#: builtin/pack-objects.c:2644
+msgid "keep unreachable objects"
+msgstr "manter objetos inalcançáveis"
+
+#: builtin/pack-objects.c:2645 parse-options.h:142
+msgid "time"
+msgstr "hora"
+
+#: builtin/pack-objects.c:2646
+msgid "unpack unreachable objects newer than <time>"
+msgstr "descompactar objetos inalcançáveis mais recentes que <hora>"
+
+#: builtin/pack-objects.c:2649
+msgid "create thin packs"
+msgstr "criar pacotes finos"
+
+#: builtin/pack-objects.c:2651
+msgid "create packs suitable for shallow fetches"
+msgstr "criar pacotes adequados para obter em repositórios pouco profundos"
+
+#: builtin/pack-objects.c:2653
+msgid "ignore packs that have companion .keep file"
+msgstr "ignorar pacotes que tenham um ficheiro .keep"
+
+#: builtin/pack-objects.c:2655
+msgid "pack compression level"
+msgstr "nível de compactação do pacote"
+
+#: builtin/pack-objects.c:2657
+msgid "do not hide commits by grafts"
+msgstr "não esconder commits introduzidos por enxertos"
+
+#: builtin/pack-objects.c:2659
+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:2661
+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:2752
+msgid "Counting objects"
+msgstr "A contar objetos"
+
+#: builtin/pack-refs.c:6
+msgid "git pack-refs [<options>]"
+msgstr "git pack-refs [<opções>]"
+
+#: builtin/pack-refs.c:14
+msgid "pack everything"
+msgstr "compactar tudo"
+
+#: builtin/pack-refs.c:15
+msgid "prune loose refs (default)"
+msgstr "eliminar referências soltas (predefinição)"
+
+#: builtin/prune-packed.c:7
+msgid "git prune-packed [-n | --dry-run] [-q | --quiet]"
+msgstr "git prune-packed [-n | --dry-run] [-q | --quiet]"
+
+#: builtin/prune-packed.c:40
+msgid "Removing duplicate objects"
+msgstr "A remover objetos duplicados"
+
+#: builtin/prune.c:11
+msgid "git prune [-n] [-v] [--expire <time>] [--] [<head>...]"
+msgstr "git prune [-n] [-v] [--expire <hora>] [--] [<head>...]"
+
+#: builtin/prune.c:105 builtin/worktree.c:124
+msgid "do not remove, show only"
+msgstr "não remover, mostrar apenas"
+
+#: builtin/prune.c:106 builtin/worktree.c:125
+msgid "report pruned objects"
+msgstr "apresentar objetos eliminados"
+
+#: builtin/prune.c:109 builtin/worktree.c:127
+msgid "expire objects older than <time>"
+msgstr "expirar objetos mais antigos que <hora>"
+
+#: builtin/prune.c:123
+msgid "cannot prune in a precious-objects repo"
+msgstr "não é possível limpar num repositório de objetos-preciosos"
+
+#: builtin/pull.c:72
+msgid "git pull [<options>] [<repository> [<refspec>...]]"
+msgstr "git pull [<opções>] [<repositório> [<especificador-de-referência>...]]"
+
+#: builtin/pull.c:117
+msgid "Options related to merging"
+msgstr "Opções relacionadas com merge"
+
+#: builtin/pull.c:120
+msgid "incorporate changes by rebasing rather than merging"
+msgstr "incorporar alterações por rebase em vez de merge"
+
+#: builtin/pull.c:144 builtin/revert.c:105
+msgid "allow fast-forward"
+msgstr "permitir avanço rápido"
+
+#: builtin/pull.c:150
+msgid "verify that the named commit has a valid GPG signature"
+msgstr "verificar se o commit tem uma assinatura GPG válida"
+
+#: builtin/pull.c:164
+msgid "Options related to fetching"
+msgstr "Opções relacionadas com obtenção de objetos"
+
+#: builtin/pull.c:186
+msgid "number of submodules pulled in parallel"
+msgstr "número de submódulos obtidos em paralelo"
+
+#: builtin/pull.c:275
+#, c-format
+msgid "Invalid value for pull.ff: %s"
+msgstr "Valor inválido de pull.ff: %s"
+
+#: builtin/pull.c:359
+msgid "Cannot pull with rebase: You have unstaged changes."
+msgstr "Não é possível efetuar pull com rebase: tem alterações não preparadas."
+
+#: builtin/pull.c:365
+msgid "Additionally, your index contains uncommitted changes."
+msgstr "Além disso, o índice contém alterações pendentes para commit."
+
+#: builtin/pull.c:367
+msgid "Cannot pull with rebase: Your index contains uncommitted changes."
+msgstr ""
+"Não é possível efetuar pull com rebase: o índice contém alterações pendentes "
+"para commit."
+
+#: builtin/pull.c:443
+msgid ""
+"There is no candidate for rebasing against among the refs that you just "
+"fetched."
+msgstr ""
+"Não há nenhum candidato com o qual realizar rebase de entre as referências "
+"que se acabaram de obter."
+
+#: builtin/pull.c:445
+msgid ""
+"There are no candidates for merging among the refs that you just fetched."
+msgstr ""
+"Não há nenhum candidato com o qual realizar merge de entre as referências "
+"que se acabaram obter."
+
+#: builtin/pull.c:446
+msgid ""
+"Generally this means that you provided a wildcard refspec which had no\n"
+"matches on the remote end."
+msgstr ""
+"Geralmente, significa que forneceu um especificador de referência\n"
+"com um carácter universal (wildcard) que não corresponde a nenhum remoto."
+
+#: builtin/pull.c:449
+#, c-format
+msgid ""
+"You asked to pull from the remote '%s', but did not specify\n"
+"a branch. Because this is not the default configured remote\n"
+"for your current branch, you must specify a branch on the command line."
+msgstr ""
+"Solicitou pull do remoto '%s', mas não especificou um ramo.\n"
+"Uma vez que este não é o remoto configurado por omissão,\n"
+"deve especificar um ramo na linha de comandos."
+
+#: builtin/pull.c:454
+msgid "You are not currently on a branch."
+msgstr "Não se encontra em nenhum ramo de momento."
+
+#: builtin/pull.c:456 builtin/pull.c:471
+msgid "Please specify which branch you want to rebase against."
+msgstr "Especifique o ramo sobre o qual pretende realizar rebase."
+
+#: builtin/pull.c:458 builtin/pull.c:473
+msgid "Please specify which branch you want to merge with."
+msgstr "Especifique o ramo com o qual pretende realizar merge."
+
+#: builtin/pull.c:459 builtin/pull.c:474
+msgid "See git-pull(1) for details."
+msgstr "Consulte git-pull(1) para obter mais detalhes."
+
+#: builtin/pull.c:469
+msgid "There is no tracking information for the current branch."
+msgstr "O ramo atual não segue nenhum ramo."
+
+#: builtin/pull.c:478
+#, c-format
+msgid ""
+"If you wish to set tracking information for this branch you can do so with:\n"
+"\n"
+"    git branch --set-upstream-to=%s/<branch> %s\n"
+msgstr ""
+"Se deseja definir um ramo para este ramo seguir, pode fazê-lo com:\n"
+"\n"
+"    git branch --set-upstream-to=%s/<ramo> %s\n"
+
+#: builtin/pull.c:483
+#, c-format
+msgid ""
+"Your configuration specifies to merge with the ref '%s'\n"
+"from the remote, but no such ref was fetched."
+msgstr ""
+"A configuração indica para efetuar merge com a referência '%s'\n"
+"do remoto, mas esta ainda não foi obtida."
+
+#: builtin/pull.c:841
+msgid "Updating an unborn branch with changes added to the index."
+msgstr ""
+"A atualizar um ramo que ainda não foi criado e com alterações adicionadas ao "
+"índice."
+
+#: builtin/pull.c:870
+#, c-format
+msgid ""
+"fetch updated the current branch head.\n"
+"fast-forwarding your working tree from\n"
+"commit %s."
+msgstr ""
+"o fetch atualizou a cabeça do ramo atual.\n"
+"a avançar a árvore de trabalho a partir do\n"
+"commit %s."
+
+#: builtin/pull.c:875
+#, c-format
+msgid ""
+"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."
+msgstr ""
+"Não é possível avançar rapidamente a árvore de trabalho.\n"
+"Depois de guardar todas as alterações importantes indicadas por\n"
+"$ git diff %s\n"
+"execute\n"
+"$ git reset --hard\n"
+"para recuperar."
+
+#: builtin/pull.c:890
+msgid "Cannot merge multiple branches into empty head."
+msgstr "Não é possível efetuar merge de múltiplos ramos numa cabeça vazia."
+
+#: builtin/pull.c:894
+msgid "Cannot rebase onto multiple branches."
+msgstr "Não é possível efetuar rebase sobre múltiplos ramos."
+
+#: builtin/push.c:16
+msgid "git push [<options>] [<repository> [<refspec>...]]"
+msgstr "git push [<opções>] [<repositório> [<especificador-de-referência>...]]"
+
+#: builtin/push.c:89
 msgid "tag shorthand without <tag>"
-msgstr ""
-
-#: builtin/push.c:64
-msgid "--delete only accepts plain target ref names"
-msgstr "--delete só aceita nomes simples para o ref de destino"
+msgstr "forma abreviada de tag sem <tag>"
 
 #: builtin/push.c:99
+msgid "--delete only accepts plain target ref names"
+msgstr "--delete só aceita nomes simples como referências de destino"
+
+#: builtin/push.c:143
 msgid ""
 "\n"
 "To choose either option permanently, see push.default in 'git help config'."
 msgstr ""
+"\n"
+"Para escolher uma opção permanentemente, consulte push.default em 'git help "
+"config'."
 
-#: builtin/push.c:102
+#: builtin/push.c:146
 #, c-format
 msgid ""
 "The upstream branch of your current branch does not match\n"
@@ -3682,8 +9148,17 @@
 "    git push %s %s\n"
 "%s"
 msgstr ""
+"O ramo a montante do ramo atual não coincide com o nome do ramo atual.\n"
+"Para publicar no ramo a montante no remoto, use\n"
+"\n"
+"    git push %s HEAD:%s\n"
+"\n"
+"Para publicar no ramo com o mesmo nome no remoto, use\n"
+"\n"
+"    git push %s %s\n"
+"%s"
 
-#: builtin/push.c:121
+#: builtin/push.c:161
 #, c-format
 msgid ""
 "You are not currently on a branch.\n"
@@ -3692,8 +9167,13 @@
 "\n"
 "    git push %s HEAD:<name-of-remote-branch>\n"
 msgstr ""
+"Não se encontra em nenhum ramo neste momento.\n"
+"Para publicar o histórico que conduziu ao estado atual (de HEAD\n"
+"destacada), use\n"
+"\n"
+"    git push %s HEAD:<name-of-remote-branch>\n"
 
-#: builtin/push.c:128
+#: builtin/push.c:175
 #, c-format
 msgid ""
 "The current branch %s has no upstream branch.\n"
@@ -3701,67 +9181,108 @@
 "\n"
 "    git push --set-upstream %s %s\n"
 msgstr ""
+"O ramo atual %s não tem nenhum ramo a montante.\n"
+"Para publicar o ramo atual e definir o remoto a montante, use\n"
+"\n"
+"    git push --set-upstream %s %s\n"
 
-#: builtin/push.c:136
+#: builtin/push.c:183
 #, c-format
 msgid "The current branch %s has multiple upstream branches, refusing to push."
 msgstr ""
+"O ramo atual %s tem múltiplos ramos a montante, recusando-se a publicar."
 
-#: builtin/push.c:139
+#: builtin/push.c:186
 #, c-format
 msgid ""
 "You are pushing to remote '%s', which is not the upstream of\n"
 "your current branch '%s', without telling me what to push\n"
 "to update which remote branch."
 msgstr ""
+"O remoto '%s', no qual pretende publicar, não é o remoto a montante\n"
+"do ramo atual '%s'. Deve indicar o que pretende publicar e que ramo\n"
+"remoto atualizar."
 
-#: builtin/push.c:174
-msgid "You didn't specify any refspecs to push, and push.default is \"nothing\"."
+#: builtin/push.c:242
+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:181
+#: builtin/push.c:249
 msgid ""
 "Updates were rejected because the tip of your current branch is behind\n"
-"its remote counterpart. Merge the remote changes (e.g. 'git pull')\n"
-"before pushing again.\n"
+"its remote counterpart. Integrate the remote changes (e.g.\n"
+"'git pull ...') before pushing again.\n"
 "See the 'Note about fast-forwards' in 'git push --help' for details."
 msgstr ""
+"As atualizações foram rejeitadas porque a ponta do ramo atual está atrasada\n"
+"em relação ao homólogo remoto. Integre as alterações remotas (e.g.\n"
+"'git pull ...') antes de publicar de novo.\n"
+"Consulte 'Note about fast-forwards' em 'git push --help' para obter detalhes."
 
-#: builtin/push.c:187
+#: builtin/push.c:255
 msgid ""
 "Updates were rejected because a pushed branch tip is behind its remote\n"
-"counterpart. If you did not intend to push that branch, you may want to\n"
-"specify branches to push or set the 'push.default' configuration\n"
-"variable to 'current' or 'upstream' to push only the current branch."
-msgstr ""
-
-#: builtin/push.c:193
-msgid ""
-"Updates were rejected because a pushed branch tip is behind its remote\n"
-"counterpart. Check out this branch and merge the remote changes\n"
-"(e.g. 'git pull') before pushing again.\n"
+"counterpart. Check out this branch and integrate the remote changes\n"
+"(e.g. 'git pull ...') before pushing again.\n"
 "See the 'Note about fast-forwards' in 'git push --help' for details."
 msgstr ""
+"As atualizações foram rejeitadas porque a ponta do ramo atual está atrasada\n"
+"em relação ao homólogo remoto. Extraia o ramo e integre\n"
+"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:233
+#: builtin/push.c:261
+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"
+"to the same ref. You may want to first integrate the remote changes\n"
+"(e.g., 'git pull ...') before pushing again.\n"
+"See the 'Note about fast-forwards' in 'git push --help' for details."
+msgstr ""
+"As atualizações foram rejeitadas porque o remoto contém alterações que\n"
+"não tem localmente. Habitualmente, acontece porque outro repositório "
+"publicou\n"
+"na mesma referência. Pode integrar primeiro as alterações remotas\n"
+"(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
+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
+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 ""
+"Não é possível atualizar uma referência remota que aponte para um\n"
+"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
 #, c-format
 msgid "Pushing to %s\n"
-msgstr "Pushing para %s\n"
+msgstr "A publicar em %s\n"
 
-#: builtin/push.c:237
+#: builtin/push.c:335
 #, c-format
 msgid "failed to push some refs to '%s'"
-msgstr ""
+msgstr "falha ao publicar algumas referências em '%s'"
 
-#: builtin/push.c:269
+#: builtin/push.c:365
 #, c-format
 msgid "bad repository '%s'"
-msgstr "repositorio inválido '%s'"
+msgstr "repositório '%s' incorreto"
 
-#: builtin/push.c:270
+#: builtin/push.c:366
 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"
@@ -3769,154 +9290,399 @@
 "\n"
 "    git push <name>\n"
 msgstr ""
+"Destino de publicação não definido.\n"
+"Indique um URL na linha de comandos ou configure um repositório remoto "
+"usando\n"
+"\n"
+"    git remote add <nome> <url>\n"
+"\n"
+"e publique usando o nome remoto\n"
+"\n"
+"    git push <nome>\n"
 
-#: builtin/push.c:285
+#: builtin/push.c:381
 msgid "--all and --tags are incompatible"
-msgstr "--all e --tags are são incompatíveis"
+msgstr "--all e --tags são incompatíveis"
 
-#: builtin/push.c:286
+#: builtin/push.c:382
 msgid "--all can't be combined with refspecs"
-msgstr ""
-
-#: builtin/push.c:291
-msgid "--mirror and --tags are incompatible"
-msgstr ""
-
-#: builtin/push.c:292
-msgid "--mirror can't be combined with refspecs"
-msgstr ""
-
-#: builtin/push.c:297
-msgid "--all and --mirror are incompatible"
-msgstr ""
-
-#: builtin/push.c:385
-msgid "--delete is incompatible with --all, --mirror and --tags"
-msgstr ""
+msgstr "--all não pode ser combinado com especificadores de referências"
 
 #: builtin/push.c:387
-msgid "--delete doesn't make sense without any refs"
-msgstr ""
+msgid "--mirror and --tags are incompatible"
+msgstr "--mirror e --tags são incompatíveis"
 
-#: builtin/remote.c:98
+#: builtin/push.c:388
+msgid "--mirror can't be combined with refspecs"
+msgstr "--mirror não pode ser combinado com especificadores de referências"
+
+#: builtin/push.c:393
+msgid "--all and --mirror are incompatible"
+msgstr "--all e --mirror são incompatíveis"
+
+#: builtin/push.c:505
+msgid "repository"
+msgstr "repositório"
+
+#: builtin/push.c:506 builtin/send-pack.c:161
+msgid "push all refs"
+msgstr "publicar todas as referências"
+
+#: builtin/push.c:507 builtin/send-pack.c:163
+msgid "mirror all refs"
+msgstr "replicar todas as referências"
+
+#: builtin/push.c:509
+msgid "delete refs"
+msgstr "eliminar referências"
+
+#: builtin/push.c:510
+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:513 builtin/send-pack.c:164
+msgid "force updates"
+msgstr "forçar atualização"
+
+#: builtin/push.c:515 builtin/send-pack.c:175
+msgid "refname>:<expect"
+msgstr "nome da referência>:<esperado"
+
+#: builtin/push.c:516 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:519
+msgid "control recursive pushing of submodules"
+msgstr "controlar a publicação recursiva de submódulos"
+
+#: builtin/push.c:521 builtin/send-pack.c:169
+msgid "use thin pack"
+msgstr "usar pacote fino"
+
+#: builtin/push.c:522 builtin/push.c:523 builtin/send-pack.c:158
+#: builtin/send-pack.c:159
+msgid "receive pack program"
+msgstr "programa receive pack"
+
+#: builtin/push.c:524
+msgid "set upstream for git pull/status"
+msgstr "definir o ramo a montante usado com git pull/status"
+
+#: builtin/push.c:527
+msgid "prune locally removed refs"
+msgstr "eliminar referências removidas localmente"
+
+#: builtin/push.c:529
+msgid "bypass pre-push hook"
+msgstr "ignorar pre-push hook"
+
+#: builtin/push.c:530
+msgid "push missing but relevant tags"
+msgstr "publicar tags perdidas mas relevantes"
+
+#: builtin/push.c:533 builtin/send-pack.c:166
+msgid "GPG sign the push"
+msgstr "assinar publicação com GPG"
+
+#: builtin/push.c:535 builtin/send-pack.c:170
+msgid "request atomic transaction on remote side"
+msgstr "solicitar transação atómica no servidor remoto"
+
+#: builtin/push.c:549
+msgid "--delete is incompatible with --all, --mirror and --tags"
+msgstr "--delete é incompatível com --all, --mirror e --tags"
+
+#: builtin/push.c:551
+msgid "--delete doesn't make sense without any refs"
+msgstr "--delete não faz sentido sem uma referência"
+
+#: builtin/read-tree.c:37
+msgid ""
+"git read-tree [(-m [--trivial] [--aggressive] | --reset | --prefix=<prefix>) "
+"[-u [--exclude-per-directory=<gitignore>] | -i]] [--no-sparse-checkout] [--"
+"index-output=<file>] (--empty | <tree-ish1> [<tree-ish2> [<tree-ish3>]])"
+msgstr ""
+"git read-tree [(-m [--trivial] [--aggressive] | --reset | --"
+"prefix=<prefixo>) [-u [--exclude-per-directory=<gitignore>] | -i]] [--no-"
+"sparse-checkout] [--index-output=<ficheiro>] (--empty | <árvore1> [<árvore2> "
+"[<árvore3>]])"
+
+#: builtin/read-tree.c:110
+msgid "write resulting index to <file>"
+msgstr "escrever o índice resultante no <ficheiro>"
+
+#: builtin/read-tree.c:113
+msgid "only empty the index"
+msgstr "apenas esvaziar o índice"
+
+#: builtin/read-tree.c:115
+msgid "Merging"
+msgstr "A realizar merge"
+
+#: builtin/read-tree.c:117
+msgid "perform a merge in addition to a read"
+msgstr "realizar um merge em adição a uma leitura"
+
+#: builtin/read-tree.c:119
+msgid "3-way merge if no file level merging required"
+msgstr ""
+"realizar merge com 3 pontos se o merge ao nível dos ficheiros não for "
+"necessário"
+
+#: builtin/read-tree.c:121
+msgid "3-way merge in presence of adds and removes"
+msgstr "realizar merge com 3 ponto na presença de adições e remoções"
+
+#: builtin/read-tree.c:123
+msgid "same as -m, but discard unmerged entries"
+msgstr "o mesmo que -m, mas descartar entradas não integradas"
+
+#: builtin/read-tree.c:124
+msgid "<subdirectory>/"
+msgstr "<subdiretório>/"
+
+#: builtin/read-tree.c:125
+msgid "read the tree into the index under <subdirectory>/"
+msgstr "ler a árvore em <subdiretório>/ para o índice"
+
+#: builtin/read-tree.c:128
+msgid "update working tree with merge result"
+msgstr "atualizar a árvore de trabalho com os resultados do merge"
+
+#: builtin/read-tree.c:130
+msgid "gitignore"
+msgstr "gitignore"
+
+#: builtin/read-tree.c:131
+msgid "allow explicitly ignored files to be overwritten"
+msgstr "permitir que os ficheiros explicitamente ignorados sejam substituídos"
+
+#: builtin/read-tree.c:134
+msgid "don't check the working tree after merging"
+msgstr "não verificar a árvore de trabalho depois de efetuar merge"
+
+#: builtin/read-tree.c:135
+msgid "don't update the index or the work tree"
+msgstr "não atualizar o índice ou a árvore de trabalho"
+
+#: builtin/read-tree.c:137
+msgid "skip applying sparse checkout filter"
+msgstr "ignorar a aplicação do filtro de extração esparsa"
+
+#: builtin/read-tree.c:139
+msgid "debug unpack-trees"
+msgstr "depurar unpack-trees"
+
+#: builtin/reflog.c:423
+#, c-format
+msgid "'%s' for '%s' is not a valid timestamp"
+msgstr "'%s' em '%s' não é um carimbo de data/hora válido"
+
+#: builtin/reflog.c:540 builtin/reflog.c:545
+#, c-format
+msgid "'%s' is not a valid timestamp"
+msgstr "'%s' não é um carimbo de data/hora válido"
+
+#: builtin/remote.c:12
+msgid "git remote [-v | --verbose]"
+msgstr "git remote [-v | --verbose]"
+
+#: builtin/remote.c:13
+msgid ""
+"git remote add [-t <branch>] [-m <master>] [-f] [--tags | --no-tags] [--"
+"mirror=<fetch|push>] <name> <url>"
+msgstr ""
+"git remote add [-t <ramo>] [-m <master>] [-f] [--tags | --no-tags] [--"
+"mirror=<fetch|push>] <nome> <url>"
+
+#: builtin/remote.c:14 builtin/remote.c:34
+msgid "git remote rename <old> <new>"
+msgstr "git remote rename <antigo> <novo>"
+
+#: builtin/remote.c:15 builtin/remote.c:39
+msgid "git remote remove <name>"
+msgstr "git remote remove <nome>"
+
+#: builtin/remote.c:16 builtin/remote.c:44
+msgid "git remote set-head <name> (-a | --auto | -d | --delete | <branch>)"
+msgstr "git remote set-head <nome> (-a | --auto | -d | --delete | <ramo>)"
+
+#: builtin/remote.c:17
+msgid "git remote [-v | --verbose] show [-n] <name>"
+msgstr "git remote [-v | --verbose] show [-n] <nome>"
+
+#: builtin/remote.c:18
+msgid "git remote prune [-n | --dry-run] <name>"
+msgstr "git remote prune [-n | --dry-run] <nome>"
+
+#: builtin/remote.c:19
+msgid ""
+"git remote [-v | --verbose] update [-p | --prune] [(<group> | <remote>)...]"
+msgstr ""
+"git remote [-v | --verbose] update [-p | --prune] [(<grupo> | <remoto>)...]"
+
+#: builtin/remote.c:20
+msgid "git remote set-branches [--add] <name> <branch>..."
+msgstr "git remote set-branches [--add] <nome> <ramo>..."
+
+#: builtin/remote.c:21 builtin/remote.c:70
+msgid "git remote get-url [--push] [--all] <name>"
+msgstr "git remote get-url [--push] [--all] <nome>"
+
+#: builtin/remote.c:22 builtin/remote.c:75
+msgid "git remote set-url [--push] <name> <newurl> [<oldurl>]"
+msgstr "git remote set-url [--push] <nome> <novo-url> [<url-antigo>]"
+
+#: builtin/remote.c:23 builtin/remote.c:76
+msgid "git remote set-url --add <name> <newurl>"
+msgstr "git remote set-url --add <nome> <novo-url>"
+
+#: builtin/remote.c:24 builtin/remote.c:77
+msgid "git remote set-url --delete <name> <url>"
+msgstr "git remote set-url --delete <nome> <url>"
+
+#: builtin/remote.c:29
+msgid "git remote add [<options>] <name> <url>"
+msgstr "git remote add [<opções>] <nome> <url>"
+
+#: builtin/remote.c:49
+msgid "git remote set-branches <name> <branch>..."
+msgstr "git remote set-branches <nome> <ramo>..."
+
+#: builtin/remote.c:50
+msgid "git remote set-branches --add <name> <branch>..."
+msgstr "git remote set-branches --add <nome> <ramo>..."
+
+#: builtin/remote.c:55
+msgid "git remote show [<options>] <name>"
+msgstr "git remote show [<opções>] <nome>"
+
+#: builtin/remote.c:60
+msgid "git remote prune [<options>] <name>"
+msgstr "git remote prune [<opções>] <nome>"
+
+#: builtin/remote.c:65
+msgid "git remote update [<options>] [<group> | <remote>]..."
+msgstr "git remote update [<opções>] [<grupo> | <remoto>]..."
+
+#: builtin/remote.c:94
 #, c-format
 msgid "Updating %s"
-msgstr "Actualizando %s"
+msgstr "A atualizar %s"
 
-#: builtin/remote.c:130
+#: builtin/remote.c:126
 msgid ""
 "--mirror is dangerous and deprecated; please\n"
 "\t use --mirror=fetch or --mirror=push instead"
 msgstr ""
+"--mirror é perigoso e obsoleto;\n"
+"\t use --mirror=fetch ou --mirror=push"
 
-#: builtin/remote.c:147
+#: builtin/remote.c:143
 #, c-format
 msgid "unknown mirror argument: %s"
-msgstr "argumento mirror não conhecido: %s"
+msgstr "argumento de mirror desconhecido: %s"
 
-#: builtin/remote.c:185
+#: builtin/remote.c:159
+msgid "fetch the remote branches"
+msgstr "obter os ramos remotos"
+
+#: builtin/remote.c:161
+msgid "import all tags and associated objects when fetching"
+msgstr "importar todas as tags e objetos associados ao obter"
+
+#: builtin/remote.c:164
+msgid "or do not fetch any tag at all (--no-tags)"
+msgstr "ou não obter nenhuma tag (--no-tags)"
+
+#: builtin/remote.c:166
+msgid "branch(es) to track"
+msgstr "ramos a seguir"
+
+#: builtin/remote.c:167
+msgid "master branch"
+msgstr "ramo mestre"
+
+#: builtin/remote.c:168
+msgid "push|fetch"
+msgstr "push|fetch"
+
+#: builtin/remote.c:169
+msgid "set up remote as a mirror to push to or fetch from"
+msgstr "configurar o remoto como um espelho para publicar ou obter"
+
+#: builtin/remote.c:181
 msgid "specifying a master branch makes no sense with --mirror"
-msgstr ""
+msgstr "especificar um ramo mestre não faz sentido com --mirror"
 
-#: builtin/remote.c:187
+#: builtin/remote.c:183
 msgid "specifying branches to track makes sense only with fetch mirrors"
-msgstr ""
+msgstr "especificar ramos para seguir só faz sentido com fetch mirrors"
 
-#: builtin/remote.c:195
-#: builtin/remote.c:646
+#: builtin/remote.c:190 builtin/remote.c:633
 #, c-format
 msgid "remote %s already exists."
-msgstr "o remoto %s já existe"
+msgstr "o remoto %s já existe."
 
-#: builtin/remote.c:199
-#: builtin/remote.c:650
+#: builtin/remote.c:194 builtin/remote.c:637
 #, c-format
 msgid "'%s' is not a valid remote name"
-msgstr "'%s' não é um nombe remoto valido"
+msgstr "'%s' não é um nome de remoto válido"
 
-#: builtin/remote.c:243
+#: builtin/remote.c:234
 #, c-format
 msgid "Could not setup master '%s'"
-msgstr "Não foi possível configurar a rama master '%s'"
+msgstr "Não foi possível configuração o ramo mestre '%s'"
 
-#: builtin/remote.c:299
-#, c-format
-msgid "more than one %s"
-msgstr ""
-
-#: builtin/remote.c:339
+#: builtin/remote.c:336
 #, c-format
 msgid "Could not get fetch map for refspec %s"
 msgstr ""
+"Não foi possível obter o mapa de fetch do especificador de referência %s"
 
-#: builtin/remote.c:440
-#: builtin/remote.c:448
+#: builtin/remote.c:437 builtin/remote.c:445
 msgid "(matching)"
-msgstr ""
+msgstr "(correspondente)"
 
-#: builtin/remote.c:452
+#: builtin/remote.c:449
 msgid "(delete)"
 msgstr "(eliminado)"
 
-#: builtin/remote.c:595
-#: builtin/remote.c:601
-#: builtin/remote.c:607
-#, c-format
-msgid "Could not append '%s' to '%s'"
-msgstr "Não foi possível adicionar o '%s' para o '%s'"
-
-#: builtin/remote.c:639
-#: builtin/remote.c:792
-#: builtin/remote.c:890
+#: builtin/remote.c:626 builtin/remote.c:761 builtin/remote.c:858
 #, c-format
 msgid "No such remote: %s"
-msgstr ""
+msgstr "Remoto inexistente: %s"
 
-#: builtin/remote.c:656
+#: builtin/remote.c:643
 #, c-format
 msgid "Could not rename config section '%s' to '%s'"
-msgstr "Não foi possível renombrar a secção da configuração de '%s' para '%s'"
+msgstr ""
+"Não foi possível mudar o nome da secção de configuração de '%s' para '%s'"
 
-#: builtin/remote.c:662
-#: builtin/remote.c:799
-#, c-format
-msgid "Could not remove config section '%s'"
-msgstr "Não foi possível remover a secção da configuração '%s'"
-
-#: builtin/remote.c:677
+#: builtin/remote.c:663
 #, c-format
 msgid ""
-"Not updating non-default fetch respec\n"
+"Not updating non-default fetch refspec\n"
 "\t%s\n"
 "\tPlease update the configuration manually if necessary."
 msgstr ""
+"O seguinte especificador de referência, não-predefinido e usado para obter "
+"objetos, não foi atualizado\n"
+"\t%s\n"
+"\tAtualize a configuração manualmente se necessário."
 
-#: builtin/remote.c:683
-#, c-format
-msgid "Could not append '%s'"
-msgstr "Não foi possível adicionar '%s'"
-
-#: builtin/remote.c:694
-#, c-format
-msgid "Could not set '%s'"
-msgstr "Não foi possível atribuir '%s'"
-
-#: builtin/remote.c:716
+#: builtin/remote.c:699
 #, c-format
 msgid "deleting '%s' failed"
-msgstr "falhou eliminar '%s'"
+msgstr "falha ao eliminar '%s'"
 
-#: builtin/remote.c:750
+#: builtin/remote.c:733
 #, c-format
 msgid "creating '%s' failed"
-msgstr "falhou a criar '%s'"
+msgstr "falha ao criar '%s'"
 
-#: builtin/remote.c:764
-#, c-format
-msgid "Could not remove branch %s"
-msgstr "Não foi possível remover rama %s"
-
-#: builtin/remote.c:834
+#: builtin/remote.c:796
 msgid ""
 "Note: A branch outside the refs/remotes/ hierarchy was not removed;\n"
 "to delete it, use:"
@@ -3924,1057 +9690,2752 @@
 "Note: Some branches outside the refs/remotes/ hierarchy were not removed;\n"
 "to delete them, use:"
 msgstr[0] ""
+"Nota: Um ramo fora da hierarquia refs/remotes/ não foi removido;\n"
+"para o remover, use:"
 msgstr[1] ""
+"Nota: alguns ramos fora da hierarquia refs/remotes/ não foram removidos;\n"
+"para os remover, use:"
 
-#: builtin/remote.c:943
+#: builtin/remote.c:810
+#, c-format
+msgid "Could not remove config section '%s'"
+msgstr "Não foi possível remover a secção de configuração '%s'"
+
+#: builtin/remote.c:911
 #, c-format
 msgid " new (next fetch will store in remotes/%s)"
-msgstr ""
+msgstr " novo (os próxima objetos obtidos serão guardados em remotes/%s)"
 
-#: builtin/remote.c:946
+#: builtin/remote.c:914
 msgid " tracked"
-msgstr "seguido"
+msgstr " seguido"
 
-#: builtin/remote.c:948
+#: builtin/remote.c:916
 msgid " stale (use 'git remote prune' to remove)"
-msgstr ""
+msgstr " obsoleto (use 'git remote prune' para remover)"
 
-#: builtin/remote.c:950
+#: builtin/remote.c:918
 msgid " ???"
 msgstr " ???"
 
-#: builtin/remote.c:991
+#: builtin/remote.c:959
 #, c-format
 msgid "invalid branch.%s.merge; cannot rebase onto > 1 branch"
 msgstr ""
+"branch.%s.merge inválido; não é possível realizar rebase sobre mais do que "
+"um ramo"
 
-#: builtin/remote.c:998
+#: builtin/remote.c:967
 #, c-format
-msgid "rebases onto remote %s"
-msgstr ""
+msgid "rebases interactively onto remote %s"
+msgstr "realiza rebase interativo sobre %s do remoto"
 
-#: builtin/remote.c:1001
+#: builtin/remote.c:971
 #, c-format
 msgid " merges with remote %s"
-msgstr "Fundir com servidor remoto %s"
+msgstr " realiza merge com %s do remoto"
 
-#: builtin/remote.c:1002
+#: builtin/remote.c:972
 msgid "    and with remote"
-msgstr "    e com remoto"
+msgstr "    e com o remoto"
 
-#: builtin/remote.c:1004
+#: builtin/remote.c:974
 #, c-format
 msgid "merges with remote %s"
-msgstr "Fundir com servidor remoto %s"
+msgstr "realiza merge com %s do remoto"
 
-#: builtin/remote.c:1005
+#: builtin/remote.c:975
 msgid "   and with remote"
-msgstr "   e com remoto"
+msgstr "   e com o remoto"
 
-#: builtin/remote.c:1051
+#: builtin/remote.c:1021
 msgid "create"
-msgstr "creado"
+msgstr "criado"
 
-#: builtin/remote.c:1054
+#: builtin/remote.c:1024
 msgid "delete"
 msgstr "eliminado"
 
-#: builtin/remote.c:1058
+#: builtin/remote.c:1028
 msgid "up to date"
-msgstr "actualizado"
+msgstr "atualizado"
 
-#: builtin/remote.c:1061
+#: builtin/remote.c:1031
 msgid "fast-forwardable"
-msgstr "fast-forwardable"
+msgstr "pode ser avançado rapidamente"
 
-#: builtin/remote.c:1064
+#: builtin/remote.c:1034
 msgid "local out of date"
-msgstr "local desatualizada"
+msgstr "local desatualizado"
 
-#: builtin/remote.c:1071
+#: builtin/remote.c:1041
 #, c-format
 msgid "    %-*s forces to %-*s (%s)"
-msgstr ""
+msgstr "    %-*s força em %-*s (%s)"
 
-#: builtin/remote.c:1074
+#: builtin/remote.c:1044
 #, c-format
 msgid "    %-*s pushes to %-*s (%s)"
-msgstr ""
+msgstr "    %-*s publica em %-*s (%s)"
 
-#: builtin/remote.c:1078
+#: builtin/remote.c:1048
 #, c-format
 msgid "    %-*s forces to %s"
-msgstr ""
+msgstr "    %-*s força em %s"
 
-#: builtin/remote.c:1081
+#: builtin/remote.c:1051
 #, c-format
 msgid "    %-*s pushes to %s"
-msgstr ""
-
-#: builtin/remote.c:1118
-#, c-format
-msgid "* remote %s"
-msgstr "* remota %s"
+msgstr "    %-*s publica em %s"
 
 #: builtin/remote.c:1119
+msgid "do not query remotes"
+msgstr "não consultar remotos"
+
+#: builtin/remote.c:1146
+#, c-format
+msgid "* remote %s"
+msgstr "* remoto %s"
+
+#: builtin/remote.c:1147
 #, c-format
 msgid "  Fetch URL: %s"
-msgstr ""
+msgstr "  Obter    do URL: %s"
 
-#: builtin/remote.c:1120
-#: builtin/remote.c:1285
+#: builtin/remote.c:1148 builtin/remote.c:1299
 msgid "(no URL)"
 msgstr "(nenhum URL)"
 
-#: builtin/remote.c:1129
-#: builtin/remote.c:1131
+#: builtin/remote.c:1157 builtin/remote.c:1159
 #, c-format
 msgid "  Push  URL: %s"
-msgstr ""
+msgstr "  Publicar no URL: %s"
 
-#: builtin/remote.c:1133
-#: builtin/remote.c:1135
-#: builtin/remote.c:1137
+#: builtin/remote.c:1161 builtin/remote.c:1163 builtin/remote.c:1165
 #, c-format
 msgid "  HEAD branch: %s"
-msgstr "Rama HEAD: %s"
+msgstr "  Ramo HEAD: %s"
 
-#: builtin/remote.c:1139
+#: builtin/remote.c:1167
 #, c-format
-msgid "  HEAD branch (remote HEAD is ambiguous, may be one of the following):\n"
-msgstr ""
+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:1151
+#: builtin/remote.c:1179
 #, c-format
 msgid "  Remote branch:%s"
 msgid_plural "  Remote branches:%s"
-msgstr[0] "Rama remota:%s"
-msgstr[1] "Ramas remotas:%s'"
+msgstr[0] "  Ramo remoto:%s"
+msgstr[1] "  Ramos remotos:%s"
 
-#: builtin/remote.c:1154
-#: builtin/remote.c:1181
+#: builtin/remote.c:1182 builtin/remote.c:1209
 msgid " (status not queried)"
-msgstr ""
+msgstr " (estado não consultado)"
 
-#: builtin/remote.c:1163
+#: builtin/remote.c:1191
 msgid "  Local branch configured for 'git pull':"
 msgid_plural "  Local branches configured for 'git pull':"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "  Ramo local configurado para 'git pull':"
+msgstr[1] "  Ramos locais configurados para 'git pull':"
 
-#: builtin/remote.c:1171
+#: builtin/remote.c:1199
 msgid "  Local refs will be mirrored by 'git push'"
-msgstr ""
+msgstr "  Referências locais serão refletidas (mirror) por 'git push'"
 
-#: builtin/remote.c:1178
+#: builtin/remote.c:1206
 #, c-format
 msgid "  Local ref configured for 'git push'%s:"
 msgid_plural "  Local refs configured for 'git push'%s:"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "  Referência local configurada para 'git push'%s:"
+msgstr[1] "  Referências locais configuradas para 'git push'%s:"
 
-#: builtin/remote.c:1216
+#: builtin/remote.c:1227
+msgid "set refs/remotes/<name>/HEAD according to remote"
+msgstr "definir refs/remotes/<nome>/HEAD de acordo com o remoto"
+
+#: builtin/remote.c:1229
+msgid "delete refs/remotes/<name>/HEAD"
+msgstr "eliminar refs/remotes/<nome>/HEAD"
+
+#: builtin/remote.c:1244
 msgid "Cannot determine remote HEAD"
-msgstr ""
+msgstr "Não é possível determinar o remoto HEAD"
 
-#: builtin/remote.c:1218
+#: builtin/remote.c:1246
 msgid "Multiple remote HEAD branches. Please choose one explicitly with:"
-msgstr ""
+msgstr "Múltiplos ramos HEAD remotos. Escolha um explicitamente com:"
 
-#: builtin/remote.c:1228
+#: builtin/remote.c:1256
 #, c-format
 msgid "Could not delete %s"
-msgstr "Não foi possível abrir %s"
+msgstr "Não foi possível eliminar %s"
 
-#: builtin/remote.c:1236
+#: builtin/remote.c:1264
 #, c-format
 msgid "Not a valid ref: %s"
-msgstr ""
+msgstr "Referência inválida: %s"
 
-#: builtin/remote.c:1238
+#: builtin/remote.c:1266
 #, c-format
 msgid "Could not setup %s"
 msgstr "Não foi possível configurar %s"
 
-#: builtin/remote.c:1274
+#: builtin/remote.c:1284
 #, c-format
 msgid " %s will become dangling!"
-msgstr ""
+msgstr " %s ficará suspenso!"
 
-#: builtin/remote.c:1275
+#: builtin/remote.c:1285
 #, c-format
 msgid " %s has become dangling!"
-msgstr ""
+msgstr " %s ficou suspenso!"
 
-#: builtin/remote.c:1281
+#: builtin/remote.c:1295
 #, c-format
 msgid "Pruning %s"
-msgstr "Apagando %s"
+msgstr "A eliminar %s"
 
-#: builtin/remote.c:1282
+#: builtin/remote.c:1296
 #, c-format
 msgid "URL: %s"
 msgstr "URL: %s"
 
-#: builtin/remote.c:1295
+#: builtin/remote.c:1312
 #, c-format
 msgid " * [would prune] %s"
-msgstr ""
+msgstr " * [eliminaria] %s"
 
-#: builtin/remote.c:1298
+#: builtin/remote.c:1315
 #, c-format
 msgid " * [pruned] %s"
-msgstr ""
+msgstr " * [eliminado] %s"
 
-#: builtin/remote.c:1387
-#: builtin/remote.c:1461
+#: builtin/remote.c:1360
+msgid "prune remotes after fetching"
+msgstr "eliminar remotos depois de obter"
+
+#: builtin/remote.c:1423 builtin/remote.c:1477 builtin/remote.c:1545
 #, c-format
 msgid "No such remote '%s'"
-msgstr "Não existe este remoto '%s'"
+msgstr "Remoto inexistente '%s'"
 
-#: builtin/remote.c:1414
+#: builtin/remote.c:1439
+msgid "add branch"
+msgstr "adicionar ramo"
+
+#: builtin/remote.c:1446
 msgid "no remote specified"
-msgstr "Nenhum remoto especificado"
+msgstr "nenhum remoto especificado"
 
-#: builtin/remote.c:1447
+#: builtin/remote.c:1463
+msgid "query push URLs rather than fetch URLs"
+msgstr "consultar URLs de publicação em vez de URLs utilizados para obter"
+
+#: builtin/remote.c:1465
+msgid "return all URLs"
+msgstr "retornar todos os URLs"
+
+#: builtin/remote.c:1493
+#, c-format
+msgid "no URLs configured for remote '%s'"
+msgstr "o remoto '%s' não tem nenhum URL configurado"
+
+#: builtin/remote.c:1519
+msgid "manipulate push URLs"
+msgstr "manipular URLs de publicação"
+
+#: builtin/remote.c:1521
+msgid "add URL"
+msgstr "adicionar URL"
+
+#: builtin/remote.c:1523
+msgid "delete URLs"
+msgstr "eliminar URLs"
+
+#: builtin/remote.c:1530
 msgid "--add --delete doesn't make sense"
-msgstr ""
+msgstr "--add --delete não faz sentido"
 
-#: builtin/remote.c:1487
+#: builtin/remote.c:1571
 #, c-format
 msgid "Invalid old URL pattern: %s"
-msgstr ""
+msgstr "Padrão de URL antigo inválido: %s"
 
-#: builtin/remote.c:1495
+#: builtin/remote.c:1579
 #, c-format
 msgid "No such URL found: %s"
-msgstr "Nenhum URL encontrado: %s"
+msgstr "URL não encontrado: %s"
 
-#: builtin/remote.c:1497
+#: builtin/remote.c:1581
 msgid "Will not delete all non-push URLs"
+msgstr "Não é possível remover todos os URLs de não publicação"
+
+#: builtin/remote.c:1595
+msgid "be verbose; must be placed before a subcommand"
+msgstr "ser verboso; deve ser colocado antes de um subcomando"
+
+#: builtin/repack.c:17
+msgid "git repack [<options>]"
+msgstr "git repack [<opções>]"
+
+#: builtin/repack.c:159
+msgid "pack everything in a single pack"
+msgstr "compactar tudo num único pacote"
+
+#: builtin/repack.c:161
+msgid "same as -a, and turn unreachable objects loose"
+msgstr "o mesmo que -a, e soltar objetos inalcançáveis"
+
+#: builtin/repack.c:164
+msgid "remove redundant packs, and run git-prune-packed"
+msgstr "remover pacotes redundantes e executar git-prune-packed"
+
+#: builtin/repack.c:166
+msgid "pass --no-reuse-delta to git-pack-objects"
+msgstr "passar --no-reuse-delta ao git-pack-objects"
+
+#: builtin/repack.c:168
+msgid "pass --no-reuse-object to git-pack-objects"
+msgstr "passar --no-reuse-object ao git-pack-objects"
+
+#: builtin/repack.c:170
+msgid "do not run git-update-server-info"
+msgstr "não executar git-update-server-info"
+
+#: builtin/repack.c:173
+msgid "pass --local to git-pack-objects"
+msgstr "passar --local ao git-pack-objects"
+
+#: builtin/repack.c:175
+msgid "write bitmap index"
+msgstr "escrever índice de mapa de bits"
+
+#: builtin/repack.c:176
+msgid "approxidate"
+msgstr "aproximar"
+
+#: builtin/repack.c:177
+msgid "with -A, do not loosen objects older than this"
+msgstr "com -A, não soltar mais objetos além destes"
+
+#: builtin/repack.c:179
+msgid "size of the window used for delta compression"
+msgstr "dimensão da janela usada em compressão de deltas"
+
+#: builtin/repack.c:180 builtin/repack.c:184
+msgid "bytes"
+msgstr "bytes"
+
+#: builtin/repack.c:181
+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/reset.c:33
+#: builtin/repack.c:183
+msgid "limits the maximum delta depth"
+msgstr "limitar a profundidade máxima de delta"
+
+#: builtin/repack.c:185
+msgid "maximum size of each packfile"
+msgstr "tamanho máximo de cada ficheiro de pacote"
+
+#: builtin/repack.c:187
+msgid "repack objects in packs marked with .keep"
+msgstr "reempacotar objetos em pacotes marcados com .keep"
+
+#: builtin/repack.c:197
+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:381
+#, c-format
+msgid "removing '%s' failed"
+msgstr "falha ao remover '%s'"
+
+#: builtin/replace.c:19
+msgid "git replace [-f] <object> <replacement>"
+msgstr "git replace [-f] <objeto> <substituição>"
+
+#: builtin/replace.c:20
+msgid "git replace [-f] --edit <object>"
+msgstr "git replace [-f] --edit <objeto>"
+
+#: builtin/replace.c:21
+msgid "git replace [-f] --graft <commit> [<parent>...]"
+msgstr "git replace [-f] --graft <commit> [<pai>...]"
+
+#: builtin/replace.c:22
+msgid "git replace -d <object>..."
+msgstr "git replace -d <objeto>..."
+
+#: builtin/replace.c:23
+msgid "git replace [--format=<format>] [-l [<pattern>]]"
+msgstr "git replace [--format=<formato>] [-l [<padrão>]]"
+
+#: builtin/replace.c:325 builtin/replace.c:363 builtin/replace.c:391
+#, c-format
+msgid "Not a valid object name: '%s'"
+msgstr "Nome de objeto inválido: '%s'"
+
+#: builtin/replace.c:355
+#, c-format
+msgid "bad mergetag in commit '%s'"
+msgstr "mergetag incorreta no commit '%s'"
+
+#: builtin/replace.c:357
+#, c-format
+msgid "malformed mergetag in commit '%s'"
+msgstr "mergetag malformada no commit '%s' "
+
+#: builtin/replace.c:368
+#, c-format
+msgid ""
+"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"
+
+#: builtin/replace.c:401
+#, c-format
+msgid "the original commit '%s' has a gpg signature."
+msgstr "o commit original '%s' tem uma assinatura gpg."
+
+#: builtin/replace.c:402
+msgid "the signature will be removed in the replacement commit!"
+msgstr "a assinatura será removida do commit substituto!"
+
+#: builtin/replace.c:408
+#, c-format
+msgid "could not write replacement commit for: '%s'"
+msgstr "não foi possível escrever o commit substituto de: '%s'"
+
+#: builtin/replace.c:432
+msgid "list replace refs"
+msgstr "listar referências substituídas"
+
+#: builtin/replace.c:433
+msgid "delete replace refs"
+msgstr "eliminar referências substituídas"
+
+#: builtin/replace.c:434
+msgid "edit existing object"
+msgstr "editar objeto existente"
+
+#: builtin/replace.c:435
+msgid "change a commit's parents"
+msgstr "mudar os pais de um commit"
+
+#: builtin/replace.c:436
+msgid "replace the ref if it exists"
+msgstr "substituir a referência se esta existir"
+
+#: builtin/replace.c:437
+msgid "do not pretty-print contents for --edit"
+msgstr "não mostrar o conteúdo de --edit com impressão bonita"
+
+#: builtin/replace.c:438
+msgid "use this format"
+msgstr "usar este formato"
+
+#: builtin/rerere.c:12
+msgid "git rerere [clear | forget <path>... | status | remaining | diff | gc]"
+msgstr ""
+"git rerere [clear | forget <caminho>... | status | remaining | diff | gc]"
+
+#: builtin/rerere.c:58
+msgid "register clean resolutions in index"
+msgstr "registar resoluções limpas no índice"
+
+#: builtin/reset.c:26
+msgid ""
+"git reset [--mixed | --soft | --hard | --merge | --keep] [-q] [<commit>]"
+msgstr ""
+"git reset [--mixed | --soft | --hard | --merge | --keep] [-q] [<commit>]"
+
+#: builtin/reset.c:27
+msgid "git reset [-q] <tree-ish> [--] <paths>..."
+msgstr "git reset [-q] <árvore> [--] <caminhos>..."
+
+#: builtin/reset.c:28
+msgid "git reset --patch [<tree-ish>] [--] [<paths>...]"
+msgstr "git reset --patch [<árvore>] [--] [<caminhos>...]"
+
+#: builtin/reset.c:34
 msgid "mixed"
-msgstr "mistura"
+msgstr "misturado"
 
-#: builtin/reset.c:33
+#: builtin/reset.c:34
 msgid "soft"
-msgstr "leve"
+msgstr "suave"
 
-#: builtin/reset.c:33
+#: builtin/reset.c:34
 msgid "hard"
 msgstr "forte"
 
-#: builtin/reset.c:33
+#: builtin/reset.c:34
 msgid "merge"
-msgstr "juntar"
+msgstr "merge"
 
-#: builtin/reset.c:33
+#: builtin/reset.c:34
 msgid "keep"
-msgstr "manter"
+msgstr "conservador"
 
-#: builtin/reset.c:77
+#: builtin/reset.c:74
 msgid "You do not have a valid HEAD."
-msgstr "Não tens a HEAD válida."
+msgstr "HEAD inválida."
 
-#: builtin/reset.c:79
+#: builtin/reset.c:76
 msgid "Failed to find tree of HEAD."
-msgstr ""
+msgstr "Falha ao procurar árvore de HEAD."
 
-#: builtin/reset.c:85
+#: builtin/reset.c:82
 #, c-format
 msgid "Failed to find tree of %s."
-msgstr ""
+msgstr "Falha ao procurar árvore de %s."
 
-#: builtin/reset.c:96
-msgid "Could not write new index file."
-msgstr ""
-
-#: builtin/reset.c:106
+#: builtin/reset.c:100
 #, c-format
 msgid "HEAD is now at %s"
-msgstr "HEAD é agora em %s"
+msgstr "HEAD está agora em %s"
 
-#: builtin/reset.c:130
-msgid "Could not read index"
-msgstr ""
-
-#: builtin/reset.c:133
-msgid "Unstaged changes after reset:"
-msgstr ""
-
-#: builtin/reset.c:223
+#: builtin/reset.c:183
 #, c-format
 msgid "Cannot do a %s reset in the middle of a merge."
-msgstr ""
+msgstr "Não é possível repor de modo %s durante um merge."
 
-#: builtin/reset.c:297
+#: builtin/reset.c:276
+msgid "be quiet, only report errors"
+msgstr "silencioso, só reportar erros"
+
+#: builtin/reset.c:278
+msgid "reset HEAD and index"
+msgstr "repor HEAD e índice"
+
+#: builtin/reset.c:279
+msgid "reset only HEAD"
+msgstr "repor HEAD apenas"
+
+#: builtin/reset.c:281 builtin/reset.c:283
+msgid "reset HEAD, index and working tree"
+msgstr "repor HEAD, índice e árvore de trabalho"
+
+#: builtin/reset.c:285
+msgid "reset HEAD but keep local changes"
+msgstr "repor HEAD mas conservar alterações locais"
+
+#: builtin/reset.c:288
+msgid "record only the fact that removed paths will be added later"
+msgstr "registar apenas o facto de que os caminhos removidos serão adicionados"
+
+#: builtin/reset.c:305
 #, c-format
-msgid "Could not parse object '%s'."
-msgstr "Não foi possível analisar objeto '%s'."
-
-#: builtin/reset.c:302
-msgid "--patch is incompatible with --{hard,mixed,soft}"
-msgstr ""
-
-#: builtin/reset.c:311
-msgid "--mixed with paths is deprecated; use 'git reset -- <paths>' instead."
-msgstr ""
+msgid "Failed to resolve '%s' as a valid revision."
+msgstr "Falha ao resolver '%s' como referência válida."
 
 #: builtin/reset.c:313
 #, c-format
-msgid "Cannot do %s reset with paths."
-msgstr ""
+msgid "Failed to resolve '%s' as a valid tree."
+msgstr "Falha ao resolver '%s' como árvore válida."
 
-#: builtin/reset.c:325
+#: builtin/reset.c:322
+msgid "--patch is incompatible with --{hard,mixed,soft}"
+msgstr "--patch é incompatível com --{hard,mixed,soft}"
+
+#: builtin/reset.c:331
+msgid "--mixed with paths is deprecated; use 'git reset -- <paths>' instead."
+msgstr ""
+"--mixed acompanhado com caminhos é obsoleto; use 'git reset -- <caminhos>'."
+
+#: builtin/reset.c:333
+#, c-format
+msgid "Cannot do %s reset with paths."
+msgstr "Não é possível repor de modo %s com caminhos."
+
+#: builtin/reset.c:343
 #, c-format
 msgid "%s reset is not allowed in a bare repository"
-msgstr ""
+msgstr "Não é permitido repor de modo %s num repositório nu"
 
-#: builtin/reset.c:341
+#: builtin/reset.c:347
+msgid "-N can only be used with --mixed"
+msgstr "-N só pode ser usado com --mixed"
+
+#: builtin/reset.c:364
+msgid "Unstaged changes after reset:"
+msgstr "Alterações não preparadas depois de repor:"
+
+#: builtin/reset.c:370
 #, c-format
 msgid "Could not reset index file to revision '%s'."
-msgstr ""
+msgstr "Não foi possível repor o ficheiro índice para a revisão '%s'."
 
-#: builtin/revert.c:70
-#: builtin/revert.c:92
+#: builtin/reset.c:374
+msgid "Could not write new index file."
+msgstr "Não foi possível escrever novo ficheiro de índice."
+
+#: builtin/rev-list.c:350
+msgid "rev-list does not support display of notes"
+msgstr "rev-list não suporta apresentação de notas"
+
+#: builtin/rev-parse.c:358
+msgid "git rev-parse --parseopt [<options>] -- [<args>...]"
+msgstr "git rev-parse --parseopt [<opções>] -- [<argumentos>...]"
+
+#: builtin/rev-parse.c:363
+msgid "keep the `--` passed as an arg"
+msgstr "Conservar '--' passado como argumento"
+
+#: builtin/rev-parse.c:365
+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:368
+msgid "output in stuck long form"
+msgstr "mostrar em formato fixo e longo"
+
+#: builtin/rev-parse.c:499
+msgid ""
+"git rev-parse --parseopt [<options>] -- [<args>...]\n"
+"   or: git rev-parse --sq-quote [<arg>...]\n"
+"   or: git rev-parse [<options>] [<arg>...]\n"
+"\n"
+"Run \"git rev-parse --parseopt -h\" for more information on the first usage."
+msgstr ""
+"git rev-parse --parseopt [<opções>] -- [<argumentos>...]\n"
+"   or: git rev-parse --sq-quote [<argumentos>...]\n"
+"   or: git rev-parse [<opções>] [<argumentos>...]\n"
+"\n"
+"Execute \"git rev-parse --parseopt -h\" para obter mais informação sobre a "
+"primeira utilização."
+
+#: builtin/revert.c:22
+msgid "git revert [<options>] <commit-ish>..."
+msgstr "git revert [<opções>] <commit-ish>..."
+
+#: builtin/revert.c:23
+msgid "git revert <subcommand>"
+msgstr "git revert <subcommando>"
+
+#: builtin/revert.c:28
+msgid "git cherry-pick [<options>] <commit-ish>..."
+msgstr "git cherry-pick [<opções>] <commit-ish>..."
+
+#: builtin/revert.c:29
+msgid "git cherry-pick <subcommand>"
+msgstr "git cherry-pick <subcommando>"
+
+#: builtin/revert.c:71
 #, c-format
 msgid "%s: %s cannot be used with %s"
-msgstr ""
+msgstr "%s: %s não pode ser usado com %s"
 
-#: builtin/revert.c:131
+#: builtin/revert.c:80
+msgid "end revert or cherry-pick sequence"
+msgstr "terminar reversão ou cherry-pick"
+
+#: builtin/revert.c:81
+msgid "resume revert or cherry-pick sequence"
+msgstr "retomar a reversão ou cherry-pick"
+
+#: builtin/revert.c:82
+msgid "cancel revert or cherry-pick sequence"
+msgstr "cancelar reversão ou cherry-pick"
+
+#: builtin/revert.c:83
+msgid "don't automatically commit"
+msgstr "não efetuar commit automaticamente"
+
+#: builtin/revert.c:84
+msgid "edit the commit message"
+msgstr "editar a mensagem de commit"
+
+#: builtin/revert.c:87
+msgid "parent number"
+msgstr "número de pai"
+
+#: builtin/revert.c:89
+msgid "merge strategy"
+msgstr "estratégia de merge"
+
+#: builtin/revert.c:90
+msgid "option"
+msgstr "opção"
+
+#: builtin/revert.c:91
+msgid "option for merge strategy"
+msgstr "opção de estratégia de merge"
+
+#: builtin/revert.c:104
+msgid "append commit name"
+msgstr "acrescentar nome do commit"
+
+#: builtin/revert.c:106
+msgid "preserve initially empty commits"
+msgstr "preservar commits inicialmente vazios"
+
+#: builtin/revert.c:107
+msgid "allow commits with empty messages"
+msgstr "permitir commits com mensagens vazias"
+
+#: builtin/revert.c:108
+msgid "keep redundant, empty commits"
+msgstr "manter commits redundantes e vazios"
+
+#: builtin/revert.c:112
 msgid "program error"
 msgstr "erro do programa"
 
-#: builtin/revert.c:221
+#: builtin/revert.c:197
 msgid "revert failed"
-msgstr "falhou o revert"
+msgstr "falha ao reverter"
 
-#: builtin/revert.c:236
+#: builtin/revert.c:212
 msgid "cherry-pick failed"
-msgstr "cherry-pick falhou"
+msgstr "falha ao efetuar cherry-pick"
 
-#: builtin/rm.c:109
-#, c-format
+#: builtin/rm.c:17
+msgid "git rm [<options>] [--] <file>..."
+msgstr "git rm [<opções>] [--] <ficheiro>..."
+
+#: builtin/rm.c:65
 msgid ""
-"'%s' has staged content different from both the file and the HEAD\n"
-"(use -f to force removal)"
-msgstr ""
+"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:115
-#, c-format
+#: builtin/rm.c:71
 msgid ""
-"'%s' has changes staged in the index\n"
-"(use --cached to keep the file, or -f to force removal)"
+"\n"
+"(use 'rm -rf' if you really want to remove it including all of its history)"
 msgstr ""
-
-#: builtin/rm.c:119
-#, c-format
-msgid ""
-"'%s' has local modifications\n"
-"(use --cached to keep the file, or -f to force removal)"
-msgstr ""
-
-#: builtin/rm.c:194
-#, c-format
-msgid "not removing '%s' recursively without -r"
-msgstr ""
+"\n"
+"(use 'rm -rf' se quer mesmo removê-lo, incluindo todo o seu histórico)"
 
 #: builtin/rm.c:230
+msgid ""
+"the following file has staged content different from both the\n"
+"file and the HEAD:"
+msgid_plural ""
+"the following files have staged content different from both the\n"
+"file and the HEAD:"
+msgstr[0] ""
+"o seguinte ficheiro tem conteúdo preparado no índice diferente\n"
+"do conteúdo no ficheiro e em HEAD:"
+msgstr[1] ""
+"os seguintes ficheiros têm conteúdo preparado no índice diferente\n"
+"do conteúdo no ficheiro e em HEAD:"
+
+#: builtin/rm.c:235
+msgid ""
+"\n"
+"(use -f to force removal)"
+msgstr ""
+"\n"
+"(use -f para forçar remoção)"
+
+#: builtin/rm.c:239
+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
+msgid ""
+"\n"
+"(use --cached to keep the file, or -f to force removal)"
+msgstr ""
+"\n"
+"(use --cached para manter o ficheiro, ou -f para forçar remoção)"
+
+#: builtin/rm.c:251
+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
+msgid "do not list removed files"
+msgstr "não listar ficheiros removidos"
+
+#: builtin/rm.c:270
+msgid "only remove from the index"
+msgstr "remover apenas do índice"
+
+#: builtin/rm.c:271
+msgid "override the up-to-date check"
+msgstr "ignorar verificação de atualização"
+
+#: builtin/rm.c:272
+msgid "allow recursive removal"
+msgstr "permitir remoção recursiva"
+
+#: builtin/rm.c:274
+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:317
+msgid "Please, stage your changes to .gitmodules or stash them to proceed"
+msgstr ""
+"Prepare as suas alterações em .gitmodules ou esconda-as (stash) para "
+"prosseguir"
+
+#: builtin/rm.c:335
+#, c-format
+msgid "not removing '%s' recursively without -r"
+msgstr "não remover '%s' recursivamente sem -r"
+
+#: builtin/rm.c:374
 #, c-format
 msgid "git rm: unable to remove %s"
+msgstr "git rm: não é possível remover %s"
+
+#: builtin/send-pack.c:18
+msgid ""
+"git send-pack [--all | --mirror] [--dry-run] [--force] [--receive-pack=<git-"
+"receive-pack>] [--verbose] [--thin] [--atomic] [<host>:]<directory> "
+"[<ref>...]\n"
+"  --all and explicit <ref> specification are mutually exclusive."
 msgstr ""
+"git send-pack [--all | --mirror] [--dry-run] [--force] [--receive-pack=<git-"
+"receive-pack>] [--verbose] [--thin] [--atomic] [<host>:]<diretório> "
+"[<referência>...]\n"
+"  --all e especificação explicita duma <referência> são mutuamente "
+"exclusivos."
 
-#: builtin/shortlog.c:157
-#, c-format
-msgid "Missing author: %s"
-msgstr "Autor em falta: %s"
+#: builtin/send-pack.c:160
+msgid "remote name"
+msgstr "nome do remoto"
 
-#: builtin/tag.c:60
-#, c-format
-msgid "malformed object at '%s'"
+#: builtin/send-pack.c:171
+msgid "use stateless RPC protocol"
+msgstr "use protocolo RPC sem estado"
+
+#: builtin/send-pack.c:172
+msgid "read refs from stdin"
+msgstr "ler referências do stdin"
+
+#: builtin/send-pack.c:173
+msgid "print status from remote helper"
+msgstr "imprimir estado do programa auxiliar remoto"
+
+#: builtin/shortlog.c:13
+msgid "git shortlog [<options>] [<revision-range>] [[--] [<path>...]]"
 msgstr ""
+"git shortlog [<opções>] [<intervalo-de-revisões>] [[--] [<caminho>...]]"
 
-#: builtin/tag.c:207
+#: builtin/shortlog.c:242
+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
+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
+msgid "Show the email address of each author"
+msgstr "Mostrar o endereço de e-mail de cada autor"
+
+#: builtin/shortlog.c:247
+msgid "w[,i1[,i2]]"
+msgstr "w[,i1[,i2]]"
+
+#: builtin/shortlog.c:248
+msgid "Linewrap output"
+msgstr "ajustar linhas"
+
+#: builtin/show-branch.c:10
+msgid ""
+"git show-branch [-a | --all] [-r | --remotes] [--topo-order | --date-order]\n"
+"\t\t[--current] [--color[=<when>] | --no-color] [--sparse]\n"
+"\t\t[--more=<n> | --list | --independent | --merge-base]\n"
+"\t\t[--no-name | --sha1-name] [--topics] [(<rev> | <glob>)...]"
+msgstr ""
+"git show-branch [-a | --all] [-r | --remotes] [--topo-order | --date-order]\n"
+"\t\t[--current] [--color[=<when>] | --no-color] [--sparse]\n"
+"\t\t[--more=<n> | --list | --independent | --merge-base]\n"
+"\t\t[--no-name | --sha1-name] [--topics] [(<revisão> | <glob>)...]"
+
+#: builtin/show-branch.c:14
+msgid "git show-branch (-g | --reflog)[=<n>[,<base>]] [--list] [<ref>]"
+msgstr "git show-branch (-g | --reflog)[=<n>[,<base>]] [--list] [<referência>]"
+
+#: builtin/show-branch.c:640
+msgid "show remote-tracking and local branches"
+msgstr "mostrar os ramos remotos seguidos e os ramos locais"
+
+#: builtin/show-branch.c:642
+msgid "show remote-tracking branches"
+msgstr "mostrar os ramos remotos seguidos"
+
+#: builtin/show-branch.c:644
+msgid "color '*!+-' corresponding to the branch"
+msgstr "colorir '*!+-' correspondendo ao ramo"
+
+#: builtin/show-branch.c:646
+msgid "show <n> more commits after the common ancestor"
+msgstr "mostrar mais <n> commits depois do antecessor comum"
+
+#: builtin/show-branch.c:648
+msgid "synonym to more=-1"
+msgstr "sinónimo de more=-1"
+
+#: builtin/show-branch.c:649
+msgid "suppress naming strings"
+msgstr "suprimir a cadeias de caracteres de nomes"
+
+#: builtin/show-branch.c:651
+msgid "include the current branch"
+msgstr "incluir o ramo atual"
+
+#: builtin/show-branch.c:653
+msgid "name commits with their object names"
+msgstr "designar commits pelos seus nomes de objeto"
+
+#: builtin/show-branch.c:655
+msgid "show possible merge bases"
+msgstr "mostrar possíveis bases de merge"
+
+#: builtin/show-branch.c:657
+msgid "show refs unreachable from any other ref"
+msgstr "mostrar referências inalcançáveis a partir de outras referências"
+
+#: builtin/show-branch.c:659
+msgid "show commits in topological order"
+msgstr "mostrar commits em ordem topológica"
+
+#: builtin/show-branch.c:662
+msgid "show only commits not on the first branch"
+msgstr "mostrar apenas commits não presentes no primeiro ramo"
+
+#: builtin/show-branch.c:664
+msgid "show merges reachable from only one tip"
+msgstr "mostrar merges alcançáveis a partir duma única ponta"
+
+#: builtin/show-branch.c:666
+msgid "topologically sort, maintaining date order where possible"
+msgstr ""
+"ordenar topologicamente, mantendo a ordenação por data sempre que possível"
+
+#: builtin/show-branch.c:669
+msgid "<n>[,<base>]"
+msgstr "<n>[,<base>]"
+
+#: builtin/show-branch.c:670
+msgid "show <n> most recent ref-log entries starting at base"
+msgstr "mostrar as <n> entradas de ref-log mais recente a partir da base"
+
+#: builtin/show-ref.c:10
+msgid ""
+"git show-ref [-q | --quiet] [--verify] [--head] [-d | --dereference] [-s | --"
+"hash[=<n>]] [--abbrev[=<n>]] [--tags] [--heads] [--] [<pattern>...]"
+msgstr ""
+"git show-ref [-q | --quiet] [--verify] [--head] [-d | --dereference] [-s | --"
+"hash[=<n>]] [--abbrev[=<n>]] [--tags] [--heads] [--] [<padrão>...]"
+
+#: builtin/show-ref.c:11
+msgid "git show-ref --exclude-existing[=<pattern>]"
+msgstr "git show-ref --exclude-existing[=<padrão>]"
+
+#: builtin/show-ref.c:165
+msgid "only show tags (can be combined with heads)"
+msgstr "mostrar apenas tags (pode ser combinado com heads)"
+
+#: builtin/show-ref.c:166
+msgid "only show heads (can be combined with tags)"
+msgstr "mostrar apenas cabeças (pode ser combinado com tags)"
+
+#: builtin/show-ref.c:167
+msgid "stricter reference checking, requires exact ref path"
+msgstr ""
+"verificação de referências mais rigorosa, requer o caminho exato da "
+"referência"
+
+#: builtin/show-ref.c:170 builtin/show-ref.c:172
+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
+msgid "dereference tags into object IDs"
+msgstr "desreferenciar tags em IDs de objeto"
+
+#: builtin/show-ref.c:176
+msgid "only show SHA1 hash using <n> digits"
+msgstr "mostrar hash SHA1 com <n> digitos"
+
+#: builtin/show-ref.c:180
+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
+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"
+
+#: builtin/stripspace.c:17
+msgid "git stripspace [-s | --strip-comments]"
+msgstr "git stripspace [-s | --strip-comments]"
+
+#: builtin/stripspace.c:18
+msgid "git stripspace [-c | --comment-lines]"
+msgstr "git stripspace [-c | --comment-lines]"
+
+#: builtin/stripspace.c:35
+msgid "skip and remove all lines starting with comment character"
+msgstr ""
+"ignorar e remover todas as linhas começadas com um carácter de comentário"
+
+#: builtin/stripspace.c:38
+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:73 builtin/submodule--helper.c:161
+msgid "alternative anchor for relative paths"
+msgstr "âncora alternativa para caminhos relativos"
+
+#: builtin/submodule--helper.c:78
+msgid "git submodule--helper list [--prefix=<path>] [<path>...]"
+msgstr "git submodule--helper list [--prefix=<caminho>] [<caminho>...]"
+
+#: builtin/submodule--helper.c:108
+msgid "git submodule--helper name <path>"
+msgstr "git submodule--helper name <caminho>"
+
+#: builtin/submodule--helper.c:114
+#, 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:164
+msgid "where the new submodule will be cloned to"
+msgstr "sítio para aonde o novo submódulo será clonado"
+
+#: builtin/submodule--helper.c:167
+msgid "name of the new submodule"
+msgstr "nome do novo submódulo"
+
+#: builtin/submodule--helper.c:170
+msgid "url where to clone the submodule from"
+msgstr "url donde clonar o submódulos"
+
+#: builtin/submodule--helper.c:176
+msgid "depth for shallow clones"
+msgstr "profundidade de clones rasos"
+
+#: builtin/submodule--helper.c:182
+msgid ""
+"git submodule--helper clone [--prefix=<path>] [--quiet] [--reference "
+"<repository>] [--name <name>] [--url <url>][--depth <depth>] [--] [<path>...]"
+msgstr ""
+"git submodule--helper clone [--prefix=<caminho>] [--quiet] [--reference "
+"<repositório>] [--name <nome>] [--url <url>][--depth <profundidade>] [--] "
+"[<caminho>...]"
+
+#: builtin/submodule--helper.c:196 builtin/submodule--helper.c:202
+#: builtin/submodule--helper.c:210
+#, c-format
+msgid "could not create directory '%s'"
+msgstr "não foi possível criar o diretório '%s'"
+
+#: builtin/submodule--helper.c:198
+#, c-format
+msgid "clone of '%s' into submodule path '%s' failed"
+msgstr "falha ao clonar '%s' no caminho do submódulo '%s'"
+
+#: builtin/submodule--helper.c:221
+#, c-format
+msgid "cannot open file '%s'"
+msgstr "não é possível abrir o ficheiro '%s'"
+
+#: builtin/submodule--helper.c:226
+#, c-format
+msgid "could not close file %s"
+msgstr "não é possível fechar o ficheiro %s"
+
+#: builtin/submodule--helper.c:241
+#, c-format
+msgid "could not get submodule directory for '%s'"
+msgstr "não foi possível obter o o diretório do submódulo de '%s'"
+
+#: builtin/submodule--helper.c:267
+msgid "fatal: submodule--helper subcommand must be called with a subcommand"
+msgstr ""
+"fatal: o subcomando submodule--helper deve ser invocado com um subcomando"
+
+#: builtin/submodule--helper.c:274
+#, c-format
+msgid "fatal: '%s' is not a valid submodule--helper subcommand"
+msgstr "fatal: '%s' não é um subcomando de submodule--helper válido"
+
+#: builtin/symbolic-ref.c:7
+msgid "git symbolic-ref [<options>] <name> [<ref>]"
+msgstr "git symbolic-ref [<opções>] <nome> [<referência>]"
+
+#: builtin/symbolic-ref.c:8
+msgid "git symbolic-ref -d [-q] <name>"
+msgstr "git symbolic-ref -d [-q] <nome>"
+
+#: builtin/symbolic-ref.c:40
+msgid "suppress error message for non-symbolic (detached) refs"
+msgstr ""
+"suprimir mensagens de erro sobre referências não-simbólicas (destacadas)"
+
+#: builtin/symbolic-ref.c:41
+msgid "delete symbolic ref"
+msgstr "eliminar referências simbólicas"
+
+#: builtin/symbolic-ref.c:42
+msgid "shorten ref output"
+msgstr "encurtar a apresentação de referências"
+
+#: builtin/symbolic-ref.c:43 builtin/update-ref.c:362
+msgid "reason"
+msgstr "razão"
+
+#: builtin/symbolic-ref.c:43 builtin/update-ref.c:362
+msgid "reason of the update"
+msgstr "razão da atualização"
+
+#: builtin/tag.c:23
+msgid ""
+"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>]"
+
+#: builtin/tag.c:24
+msgid "git tag -d <tagname>..."
+msgstr "git tag -d <nome-da-tag>..."
+
+#: builtin/tag.c:25
+msgid ""
+"git tag -l [-n[<num>]] [--contains <commit>] [--points-at <object>]\n"
+"\t\t[--format=<format>] [--[no-]merged [<commit>]] [<pattern>...]"
+msgstr ""
+"git tag -l [-n[<num>]] [--contains <commit>] [--points-at <objeto>]\n"
+"\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>..."
+
+#: builtin/tag.c:80
 #, c-format
 msgid "tag name too long: %.*s..."
-msgstr ""
+msgstr "o nome da tag é demasiado longo: %.*s..."
 
-#: builtin/tag.c:212
+#: builtin/tag.c:85
 #, c-format
 msgid "tag '%s' not found."
-msgstr "etiqueta '%s' não foi encontrada."
+msgstr "tag '%s' não encontrada."
 
-#: builtin/tag.c:227
+#: builtin/tag.c:100
 #, c-format
 msgid "Deleted tag '%s' (was %s)\n"
-msgstr ""
+msgstr "Tag '%s' eliminada (era %s)\n"
 
-#: builtin/tag.c:239
+#: builtin/tag.c:112
 #, c-format
 msgid "could not verify the tag '%s'"
-msgstr ""
+msgstr "não foi possível validar a tag '%s'"
 
-#: builtin/tag.c:249
+#: builtin/tag.c:122
+#, c-format
 msgid ""
 "\n"
-"#\n"
-"# Write a tag message\n"
-"# Lines starting with '#' will be ignored.\n"
-"#\n"
+"Write a message for tag:\n"
+"  %s\n"
+"Lines starting with '%c' will be ignored.\n"
 msgstr ""
+"\n"
+"Escreva a mensagem da tag:\n"
+"  %s\n"
+"Linha começadas com '%c' serão ignoradas.\n"
 
-#: builtin/tag.c:256
+#: builtin/tag.c:126
+#, c-format
 msgid ""
 "\n"
-"#\n"
-"# Write a tag message\n"
-"# Lines starting with '#' will be kept; you may remove them yourself if you want to.\n"
-"#\n"
+"Write a message for tag:\n"
+"  %s\n"
+"Lines starting with '%c' will be kept; you may remove them yourself if you "
+"want to.\n"
 msgstr ""
+"\n"
+"Escreva a mensagem da tag:\n"
+"  %s\n"
+"Linhas começadas com '%c' serão mantidas; pode removê-las se o desejar.\n"
 
-#: builtin/tag.c:298
+#: builtin/tag.c:199
 msgid "unable to sign the tag"
-msgstr ""
+msgstr "não foi possível assinar a tag"
 
-#: builtin/tag.c:300
+#: builtin/tag.c:201
 msgid "unable to write tag file"
-msgstr ""
+msgstr "não foi possível escrever o ficheiro da tag"
 
-#: builtin/tag.c:325
+#: builtin/tag.c:226
 msgid "bad object type."
-msgstr ""
+msgstr "tipo de objeto incorreto."
 
-#: builtin/tag.c:338
+#: builtin/tag.c:239
 msgid "tag header too big."
-msgstr ""
+msgstr "cabeçalho da tag demasiado longo."
 
-#: builtin/tag.c:370
+#: builtin/tag.c:275
 msgid "no tag message?"
-msgstr "nenhuma mensaje para a etiqueta?"
+msgstr "sem mensagem de tag?"
 
-#: builtin/tag.c:376
+#: builtin/tag.c:281
 #, c-format
 msgid "The tag message has been left in %s\n"
-msgstr ""
+msgstr "A mensagem da tag foi guardada em %s\n"
+
+#: builtin/tag.c:339
+msgid "list tag names"
+msgstr "listar os nomes das tag"
+
+#: builtin/tag.c:341
+msgid "print <n> lines of each tag message"
+msgstr "imprimir <n> linhas de cada mensagem de tag"
+
+#: builtin/tag.c:343
+msgid "delete tags"
+msgstr "eliminar tags"
+
+#: builtin/tag.c:344
+msgid "verify tags"
+msgstr "verificar tags"
+
+#: builtin/tag.c:346
+msgid "Tag creation options"
+msgstr "Opções de criação de tags"
+
+#: builtin/tag.c:348
+msgid "annotated tag, needs a message"
+msgstr "tag anotada, é necessário uma mensagem"
+
+#: builtin/tag.c:350
+msgid "tag message"
+msgstr "mensagem da tag"
+
+#: builtin/tag.c:352
+msgid "annotated and GPG-signed tag"
+msgstr "tag anotada e assinada com GPG"
+
+#: builtin/tag.c:356
+msgid "use another key to sign the tag"
+msgstr "usar outra chave para assinar a tag"
+
+#: builtin/tag.c:357
+msgid "replace the tag if exists"
+msgstr "substituir a tag se esta existir"
+
+#: builtin/tag.c:358 builtin/update-ref.c:368
+msgid "create a reflog"
+msgstr "criar um reflog"
+
+#: builtin/tag.c:360
+msgid "Tag listing options"
+msgstr "Opções de listagem de tags"
+
+#: builtin/tag.c:361
+msgid "show tag list in columns"
+msgstr "mostrar a lista de tags em colunas"
+
+#: builtin/tag.c:362 builtin/tag.c:363
+msgid "print only tags that contain the commit"
+msgstr "imprimir apenas tags que contenham o commit"
+
+#: builtin/tag.c:364
+msgid "print only tags that are merged"
+msgstr "imprimir apenas as tags que foram incorporadas"
+
+#: builtin/tag.c:365
+msgid "print only tags that are not merged"
+msgstr "imprimir apenas as tags que não foram incorporadas"
+
+#: builtin/tag.c:370
+msgid "print only tags of the object"
+msgstr "imprimir apenas as tags do objeto"
+
+#: builtin/tag.c:399
+msgid "--column and -n are incompatible"
+msgstr "--column e -n são incompatíveis"
+
+#: builtin/tag.c:419
+msgid "-n option is only allowed with -l."
+msgstr "a opção -n só é permitida com -l."
+
+#: builtin/tag.c:421
+msgid "--contains option is only allowed with -l."
+msgstr "a opção --contains só é permitida com -l."
+
+#: builtin/tag.c:423
+msgid "--points-at option is only allowed with -l."
+msgstr "a opção --points-at só é permitida com -l."
 
 #: builtin/tag.c:425
-msgid "switch 'points-at' requires an object"
-msgstr ""
+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:427
-#, c-format
-msgid "malformed object name '%s'"
-msgstr ""
-
-#: builtin/tag.c:506
-msgid "--column and -n are incompatible"
-msgstr "--column e -n are são incompatíveis"
-
-#: builtin/tag.c:523
-msgid "-n option is only allowed with -l."
-msgstr ""
-
-#: builtin/tag.c:525
-msgid "--contains option is only allowed with -l."
-msgstr ""
-
-#: builtin/tag.c:527
-msgid "--points-at option is only allowed with -l."
-msgstr ""
-
-#: builtin/tag.c:535
+#: builtin/tag.c:433
 msgid "only one -F or -m option is allowed."
-msgstr ""
+msgstr "só é permitido um opção -F ou -m."
 
-#: builtin/tag.c:555
+#: builtin/tag.c:453
 msgid "too many params"
-msgstr "demasiado parametros"
+msgstr "demasiado parâmetros"
 
-#: builtin/tag.c:561
+#: builtin/tag.c:459
 #, c-format
 msgid "'%s' is not a valid tag name."
-msgstr ""
+msgstr "'%s' não é um nome de tag válido."
 
-#: builtin/tag.c:566
+#: builtin/tag.c:464
 #, c-format
 msgid "tag '%s' already exists"
-msgstr "etiqueta '%s' já existe"
+msgstr "a tag '%s' já existe"
 
-#: builtin/tag.c:584
-#, c-format
-msgid "%s: cannot lock the ref"
-msgstr ""
-
-#: builtin/tag.c:586
-#, c-format
-msgid "%s: cannot update the ref"
-msgstr ""
-
-#: builtin/tag.c:588
+#: builtin/tag.c:489
 #, c-format
 msgid "Updated tag '%s' (was %s)\n"
-msgstr ""
+msgstr "Tag '%s' atualizada (era %s)\n"
 
-#: git.c:16
-msgid "See 'git help <command>' for more information on a specific command."
-msgstr ""
+#: builtin/unpack-objects.c:490
+msgid "Unpacking objects"
+msgstr "A descompactar objetos"
 
-#: common-cmds.h:8
-msgid "Add file contents to the index"
+#: builtin/update-index.c:79
+#, c-format
+msgid "failed to create directory %s"
+msgstr "falha ao criar o diretório %s"
+
+#: builtin/update-index.c:85
+#, c-format
+msgid "failed to stat %s"
+msgstr "falha ao efetuar stat de %s"
+
+#: builtin/update-index.c:95
+#, c-format
+msgid "failed to create file %s"
+msgstr "falha ao criar o ficheiro %s"
+
+#: builtin/update-index.c:103
+#, c-format
+msgid "failed to delete file %s"
+msgstr "falha ao eliminar o ficheiro %s"
+
+#: builtin/update-index.c:110 builtin/update-index.c:212
+#, c-format
+msgid "failed to delete directory %s"
+msgstr "falha ao criar o diretório %s"
+
+#: builtin/update-index.c:133
+#, c-format
+msgid "Testing mtime in '%s' "
+msgstr "A testar mtime em '%s' "
+
+#: builtin/update-index.c:145
+msgid "directory stat info does not change after adding a new file"
+msgstr ""
+"a informação de stat do diretório não mudou depois de adicionar um novo "
+"ficheiro"
+
+#: builtin/update-index.c:158
+msgid "directory stat info does not change after adding a new directory"
+msgstr ""
+"a informação de stat do diretório não mudou depois de adicionar um novo "
+"diretório"
+
+#: builtin/update-index.c:171
+msgid "directory stat info changes after updating a file"
+msgstr "a informação de stat mudou depois de atualizar um ficheiro"
+
+#: builtin/update-index.c:182
+msgid "directory stat info changes after adding a file inside subdirectory"
+msgstr ""
+"a informação de stat do diretório mudou depois de adicionar um ficheiro "
+"dentro dum subdiretório"
+
+#: builtin/update-index.c:193
+msgid "directory stat info does not change after deleting a file"
+msgstr ""
+"a informação de stat do diretório não mudou depois de eliminar um ficheiro"
+
+#: builtin/update-index.c:206
+msgid "directory stat info does not change after deleting a directory"
+msgstr ""
+"a informação de stat do diretório não mudou depois de eliminar um diretório"
+
+#: builtin/update-index.c:213
+msgid " OK"
+msgstr " OK"
+
+#: builtin/update-index.c:575
+msgid "git update-index [<options>] [--] [<file>...]"
+msgstr "git update-index [<opções>] [--] [<ficheiro>...]"
+
+#: builtin/update-index.c:930
+msgid "continue refresh even when index needs update"
+msgstr "continuar a refrescar mesmo quando o índice precise de ser atualizado"
+
+#: builtin/update-index.c:933
+msgid "refresh: ignore submodules"
+msgstr "refrescar: ignorar submódulos"
+
+#: builtin/update-index.c:936
+msgid "do not ignore new files"
+msgstr "não ignorar novos ficheiros"
+
+#: builtin/update-index.c:938
+msgid "let files replace directories and vice-versa"
+msgstr "deixar que os ficheiros substituam os diretórios e vice-versa"
+
+#: builtin/update-index.c:940
+msgid "notice files missing from worktree"
+msgstr "avisar sobre ficheiros que faltem na árvore de trabalho"
+
+#: builtin/update-index.c:942
+msgid "refresh even if index contains unmerged entries"
+msgstr "refrescar mesmo que o índice contenha entradas não incorporadas"
+
+#: builtin/update-index.c:945
+msgid "refresh stat information"
+msgstr "refrescar informação de stat"
+
+#: builtin/update-index.c:949
+msgid "like --refresh, but ignore assume-unchanged setting"
+msgstr "como --refresh, mas ignorar a definição assume-unchanged"
+
+#: builtin/update-index.c:953
+msgid "<mode>,<object>,<path>"
+msgstr "<modo>,<objeto>,<caminho>"
+
+#: builtin/update-index.c:954
+msgid "add the specified entry to the index"
+msgstr "adicionar o elemento especificado ao índice"
+
+#: builtin/update-index.c:958
+msgid "(+/-)x"
+msgstr "(+/-)x"
+
+#: builtin/update-index.c:959
+msgid "override the executable bit of the listed files"
+msgstr "substituir o bit executável dos ficheiros listados"
+
+#: builtin/update-index.c:963
+msgid "mark files as \"not changing\""
+msgstr "marcar ficheiros como \"não alterados\""
+
+#: builtin/update-index.c:966
+msgid "clear assumed-unchanged bit"
+msgstr "limpar o bit assumed-unchanged"
+
+#: builtin/update-index.c:969
+msgid "mark files as \"index-only\""
+msgstr "marcar ficheiros como \"únicos do índice\""
+
+#: builtin/update-index.c:972
+msgid "clear skip-worktree bit"
+msgstr "limpar o bit ignorar-árvore-de-trabalho"
+
+#: builtin/update-index.c:975
+msgid "add to index only; do not add content to object database"
+msgstr ""
+"só adicionar ao índice; não adicionar o conteúdo à base de dados de objetos"
+
+#: builtin/update-index.c:977
+msgid "remove named paths even if present in worktree"
+msgstr ""
+"remover os caminhos mencionado mesmo se estiverem presentes na árvore de "
+"trabalho"
+
+#: builtin/update-index.c:979
+msgid "with --stdin: input lines are terminated by null bytes"
+msgstr "com --stdin: as linhas da entrada são terminadas com bytes nulos"
+
+#: builtin/update-index.c:981
+msgid "read list of paths to be updated from standard input"
+msgstr "ler lista de caminho a atualizar da entrada padrão"
+
+#: builtin/update-index.c:985
+msgid "add entries from standard input to the index"
+msgstr "adicionar elementos da entrada padrão ao índice"
+
+#: builtin/update-index.c:989
+msgid "repopulate stages #2 and #3 for the listed paths"
+msgstr "repovoar as fases nº2 e nº3 dos caminhos listados"
+
+#: builtin/update-index.c:993
+msgid "only update entries that differ from HEAD"
+msgstr "atualizar apenas elementos que difiram de HEAD"
+
+#: builtin/update-index.c:997
+msgid "ignore files missing from worktree"
+msgstr "ignorar ficheiros não presentes na árvore de trabalho"
+
+#: builtin/update-index.c:1000
+msgid "report actions to standard output"
+msgstr "mostrar ações na saída padrão"
+
+#: builtin/update-index.c:1002
+msgid "(for porcelains) forget saved unresolved conflicts"
+msgstr ""
+"(para porcelanas) esquecer conflitos guardados que não foram resolvidos"
+
+#: builtin/update-index.c:1006
+msgid "write index in this format"
+msgstr "escrever o índice neste formato"
+
+#: builtin/update-index.c:1008
+msgid "enable or disable split index"
+msgstr "ativar ou desativar a divisão do índice"
+
+#: builtin/update-index.c:1010
+msgid "enable/disable untracked cache"
+msgstr "ativar ou desativar cache não controlada"
+
+#: builtin/update-index.c:1012
+msgid "test if the filesystem supports untracked cache"
+msgstr "testar se o sistema de ficheiros suporta cache não controlada"
+
+#: builtin/update-index.c:1014
+msgid "enable untracked cache without testing the filesystem"
+msgstr "ativar cache não controlada sem testar o sistema de ficheiros"
+
+#: builtin/update-index.c:1134
+msgid "Untracked cache disabled"
+msgstr "A cache não controlada está desativada"
+
+#: builtin/update-index.c:1146
+#, c-format
+msgid "Untracked cache enabled for '%s'"
+msgstr "A cache não controlada de '%s' foi ativada."
+
+#: builtin/update-ref.c:9
+msgid "git update-ref [<options>] -d <refname> [<old-val>]"
+msgstr "git update-ref [<opções>] -d <nome-da-referência> [<valor-antigo>]"
+
+#: builtin/update-ref.c:10
+msgid "git update-ref [<options>]    <refname> <new-val> [<old-val>]"
+msgstr ""
+"git update-ref [<opções>]    <nome-da-referência> <novo-valor> [<valor-"
+"antigo>]"
+
+#: builtin/update-ref.c:11
+msgid "git update-ref [<options>] --stdin [-z]"
+msgstr "git update-ref [<opções>] --stdin [-z]"
+
+#: builtin/update-ref.c:363
+msgid "delete the reference"
+msgstr "eliminar a referência"
+
+#: builtin/update-ref.c:365
+msgid "update <refname> not the one it points to"
+msgstr ""
+"atualizar a referência <nome-da-referência>, e não a referência aponta por "
+"esta"
+
+#: builtin/update-ref.c:366
+msgid "stdin has NUL-terminated arguments"
+msgstr "os argumentos da entrada padrão terminam em NUL"
+
+#: builtin/update-ref.c:367
+msgid "read updates from stdin"
+msgstr "ler atualizações da entrada padrão"
+
+#: builtin/update-server-info.c:6
+msgid "git update-server-info [--force]"
+msgstr "git update-server-info [--force]"
+
+#: builtin/update-server-info.c:14
+msgid "update the info files from scratch"
+msgstr "atualizar os ficheiros de informação do zero"
+
+#: builtin/verify-commit.c:17
+msgid "git verify-commit [-v | --verbose] <commit>..."
+msgstr "git verify-commit [-v | --verbose] <commit>..."
+
+#: builtin/verify-commit.c:72
+msgid "print commit contents"
+msgstr "imprimir conteúdo do commit"
+
+#: builtin/verify-commit.c:73 builtin/verify-tag.c:84
+msgid "print raw gpg status output"
+msgstr "imprimir informação do gpg em bruto"
+
+#: builtin/verify-pack.c:54
+msgid "git verify-pack [-v | --verbose] [-s | --stat-only] <pack>..."
+msgstr "git verify-pack [-v | --verbose] [-s | --stat-only] <pack>..."
+
+#: builtin/verify-pack.c:64
+msgid "verbose"
+msgstr "verboso"
+
+#: builtin/verify-pack.c:66
+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:83
+msgid "print tag contents"
+msgstr "imprimir conteúdo da tag"
+
+#: builtin/worktree.c:15
+msgid "git worktree add [<options>] <path> [<branch>]"
+msgstr "git worktree add [<opções>] <caminho> [<ramo>]"
+
+#: builtin/worktree.c:16
+msgid "git worktree prune [<options>]"
+msgstr "git worktree prune [<opções>]"
+
+#: builtin/worktree.c:17
+msgid "git worktree list [<options>]"
+msgstr "git worktree list [<opções>]"
+
+#: builtin/worktree.c:39
+#, c-format
+msgid "Removing worktrees/%s: not a valid directory"
+msgstr "A remover worktrees/%s: diretório inválido"
+
+#: builtin/worktree.c:45
+#, c-format
+msgid "Removing worktrees/%s: gitdir file does not exist"
+msgstr "A remover worktrees/%s: o ficheiro gitdir não existe"
+
+#: builtin/worktree.c:50
+#, c-format
+msgid "Removing worktrees/%s: unable to read gitdir file (%s)"
+msgstr "A remover worktrees/%s: não é possível ler o ficheiro gitdir (%s)"
+
+#: builtin/worktree.c:61
+#, c-format
+msgid "Removing worktrees/%s: invalid gitdir file"
+msgstr "A remover worktrees/%s: ficheiro gitdir inválido"
+
+#: builtin/worktree.c:77
+#, c-format
+msgid "Removing worktrees/%s: gitdir file points to non-existent location"
+msgstr ""
+"A remover worktrees/%s: o ficheiro gitdir aponta para uma localização "
+"inexistente"
+
+#: builtin/worktree.c:112
+#, c-format
+msgid "failed to remove: %s"
+msgstr "falha ao remover: %s"
+
+#: builtin/worktree.c:201
+#, c-format
+msgid "'%s' already exists"
+msgstr "'%s' já existe"
+
+#: builtin/worktree.c:233
+#, c-format
+msgid "could not create directory of '%s'"
+msgstr "não foi possível criar o diretório de '%s'"
+
+#: builtin/worktree.c:269
+#, c-format
+msgid "Preparing %s (identifier %s)"
+msgstr "A preparar %s (identificador %s)"
+
+#: builtin/worktree.c:317
+msgid "checkout <branch> even if already checked out in other worktree"
+msgstr ""
+"extrair o <ramo> mesmo se já tenha sido extraído noutra árvore de trabalho"
+
+#: builtin/worktree.c:319
+msgid "create a new branch"
+msgstr "criar um novo ramo"
+
+#: builtin/worktree.c:321
+msgid "create or reset a branch"
+msgstr "criar ou repor um ramo"
+
+#: builtin/worktree.c:322
+msgid "detach HEAD at named commit"
+msgstr "destacar HEAD no commit indicado"
+
+#: builtin/worktree.c:329
+msgid "-b, -B, and --detach are mutually exclusive"
+msgstr "-b, -B e --detach são mutuamente exclusivos"
+
+#: builtin/write-tree.c:13
+msgid "git write-tree [--missing-ok] [--prefix=<prefix>/]"
+msgstr "git write-tree [--missing-ok] [--prefix=<prefixo>/]"
+
+#: builtin/write-tree.c:26
+msgid "<prefix>/"
+msgstr "<prefixo>/"
+
+#: builtin/write-tree.c:27
+msgid "write tree object for a subdirectory <prefix>"
+msgstr "escrever objeto árvore do subdiretório <prefixo>"
+
+#: builtin/write-tree.c:30
+msgid "only useful for debugging"
+msgstr "apenas útil para depuração"
+
+#: credential-cache--daemon.c:262
+msgid "print debugging messages to stderr"
+msgstr "imprimir mensagens de depuração no stderr"
+
+#: git.c:14
+msgid ""
+"'git help -a' and 'git help -g' list available subcommands and some\n"
+"concept guides. See 'git help <command>' or 'git help <concept>'\n"
+"to read about a specific subcommand or concept."
+msgstr ""
+"'git help -a' e 'git help -g' listam os subcomandos disponíveis e alguns\n"
+"guias de conceitos. Consulte 'git help <comando>' ou 'git help <conceito>'\n"
+"para ler sobre um subcomando ou conceito específico."
+
+#: http.c:321
+msgid "Public key pinning not supported with cURL < 7.44.0"
 msgstr ""
 
 #: common-cmds.h:9
-msgid "Find by binary search the change that introduced a bug"
-msgstr ""
+msgid "start a working area (see also: git help tutorial)"
+msgstr "iniciar uma área de trabalho (consulte também: git help tutorial)"
 
 #: common-cmds.h:10
-msgid "List, create, or delete branches"
-msgstr "Listar, criar ou apagar ramas"
+msgid "work on the current change (see also: git help everyday)"
+msgstr "trabalhar na alteração atual (consulte também: git help everyday)"
 
 #: common-cmds.h:11
-msgid "Checkout a branch or paths to the working tree"
-msgstr ""
+msgid "examine the history and state (see also: git help revisions)"
+msgstr "examinar o histórico e estado (consulte também: git help revisions)"
 
 #: common-cmds.h:12
-msgid "Clone a repository into a new directory"
-msgstr ""
+msgid "grow, mark and tweak your common history"
+msgstr "aumentar, marcar e ajustar o seu histórico comum"
 
 #: common-cmds.h:13
-msgid "Record changes to the repository"
-msgstr "Gravar alterações para o repositório"
-
-#: common-cmds.h:14
-msgid "Show changes between commits, commit and working tree, etc"
-msgstr ""
-
-#: common-cmds.h:15
-msgid "Download objects and refs from another repository"
-msgstr ""
-
-#: common-cmds.h:16
-msgid "Print lines matching a pattern"
-msgstr ""
+msgid "collaborate (see also: git help workflows)"
+msgstr "colaborar (consulte também: git help workflows)"
 
 #: common-cmds.h:17
-msgid "Create an empty git repository or reinitialize an existing one"
-msgstr ""
+msgid "Add file contents to the index"
+msgstr "Adicionar conteúdos de ficheiros ao índice"
 
 #: common-cmds.h:18
+msgid "Use binary search to find the commit that introduced a bug"
+msgstr "Use procura binário para encontrar o commit que introduziu um bug"
+
+#: common-cmds.h:19
+msgid "List, create, or delete branches"
+msgstr "Listar, criar ou eliminar ramos"
+
+#: common-cmds.h:20
+msgid "Switch branches or restore working tree files"
+msgstr "Mudar de ramos ou restaurar os ficheiros da árvore de trabalho"
+
+#: common-cmds.h:21
+msgid "Clone a repository into a new directory"
+msgstr "Clonar um repositório num novo diretório"
+
+#: common-cmds.h:22
+msgid "Record changes to the repository"
+msgstr "Gravar alterações no repositório"
+
+#: common-cmds.h:23
+msgid "Show changes between commits, commit and working tree, etc"
+msgstr ""
+"Mostrar alterações entre commits, entre commit e árvore de trabalho, etc"
+
+#: common-cmds.h:24
+msgid "Download objects and refs from another repository"
+msgstr "Transferir objetos e referências doutro repositório"
+
+#: common-cmds.h:25
+msgid "Print lines matching a pattern"
+msgstr "Imprimir linhas que correspondam a um padrão"
+
+#: common-cmds.h:26
+msgid "Create an empty Git repository or reinitialize an existing one"
+msgstr "Criar um repositório Git vazio ou reinicializar um já existente"
+
+#: common-cmds.h:27
 msgid "Show commit logs"
 msgstr "Mostrado logs de commits"
 
-#: common-cmds.h:19
-msgid "Join two or more development histories together"
-msgstr ""
-
-#: common-cmds.h:20
-msgid "Move or rename a file, a directory, or a symlink"
-msgstr ""
-
-#: common-cmds.h:21
-msgid "Fetch from and merge with another repository or a local branch"
-msgstr ""
-
-#: common-cmds.h:22
-msgid "Update remote refs along with associated objects"
-msgstr ""
-
-#: common-cmds.h:23
-msgid "Forward-port local commits to the updated upstream head"
-msgstr ""
-
-#: common-cmds.h:24
-msgid "Reset current HEAD to the specified state"
-msgstr ""
-
-#: common-cmds.h:25
-msgid "Remove files from the working tree and from the index"
-msgstr ""
-
-#: common-cmds.h:26
-msgid "Show various types of objects"
-msgstr ""
-
-#: common-cmds.h:27
-msgid "Show the working tree status"
-msgstr "Mostrar o estado los ramos das árvores de trabalho"
-
 #: common-cmds.h:28
+msgid "Join two or more development histories together"
+msgstr "Juntar duas ou mais histórias de desenvolvimento numa só"
+
+#: common-cmds.h:29
+msgid "Move or rename a file, a directory, or a symlink"
+msgstr "Mover ou mudar o nome de um ficheiro, diretório ou ligação simbólica"
+
+#: common-cmds.h:30
+msgid "Fetch from and integrate with another repository or a local branch"
+msgstr "Obter e integrar com outro repositório ou outro ramo local"
+
+#: common-cmds.h:31
+msgid "Update remote refs along with associated objects"
+msgstr "Atualizar referências remotas juntamente com objetos associados"
+
+#: common-cmds.h:32
+msgid "Reapply commits on top of another base tip"
+msgstr "Reaplicar commits no topo de outra base"
+
+#: common-cmds.h:33
+msgid "Reset current HEAD to the specified state"
+msgstr "Repor a HEAD atual no estado especificado"
+
+#: common-cmds.h:34
+msgid "Remove files from the working tree and from the index"
+msgstr "Remover ficheiros da árvore de trabalho e do índice"
+
+#: common-cmds.h:35
+msgid "Show various types of objects"
+msgstr "Mostrar vários tipos objetos"
+
+#: common-cmds.h:36
+msgid "Show the working tree status"
+msgstr "Mostrar o estado da árvores de trabalho"
+
+#: common-cmds.h:37
 msgid "Create, list, delete or verify a tag object signed with GPG"
+msgstr "Criar, listar, eliminar ou verificar um objeto tag assinado com GPG"
+
+#: parse-options.h:145
+msgid "expiry-date"
+msgstr "data-de-validade"
+
+#: parse-options.h:160
+msgid "no-op (backward compatibility)"
+msgstr "sem-ação (retrocompatibilidade)"
+
+#: parse-options.h:237
+msgid "be more verbose"
+msgstr "ser mais verboso"
+
+#: parse-options.h:239
+msgid "be more quiet"
+msgstr "ser mais silencioso"
+
+#: parse-options.h:245
+msgid "use <n> digits to display SHA-1s"
+msgstr "usar <n> dígitos para mostrar SHA-1s"
+
+#: rerere.h:38
+msgid "update the index with reused conflict resolution if possible"
 msgstr ""
+"atualizar o índice com resoluções de conflitos reutilizadas se possível"
 
-#: git-am.sh:50
-msgid "You need to set your committer info first"
-msgstr "Necessitas primeiro de especificiar os teus dados de committer"
-
-#: git-am.sh:137
-msgid "Repository lacks necessary blobs to fall back on 3-way merge."
-msgstr ""
-
-#: git-am.sh:154
-msgid ""
-"Did you hand edit your patch?\n"
-"It does not apply to blobs recorded in its index."
-msgstr ""
-
-#: git-am.sh:163
-msgid "Falling back to patching base and 3-way merge..."
-msgstr ""
-
-#: git-am.sh:275
-msgid "Only one StGIT patch series can be applied at once"
-msgstr ""
-
-#: git-am.sh:362
-#, sh-format
-msgid "Patch format $patch_format is not supported."
-msgstr ""
-
-#: git-am.sh:364
-msgid "Patch format detection failed."
-msgstr "Falhou a detecção do formato do patch."
-
-#: git-am.sh:418
-msgid "-d option is no longer supported.  Do not use."
-msgstr ""
-
-#: git-am.sh:481
-#, sh-format
-msgid "previous rebase directory $dotest still exists but mbox given."
-msgstr ""
-
-#: git-am.sh:486
-msgid "Please make up your mind. --skip or --abort?"
-msgstr ""
-
-#: git-am.sh:513
-msgid "Resolve operation not in progress, we are not resuming."
-msgstr ""
-
-#: git-am.sh:579
-#, sh-format
-msgid "Dirty index: cannot apply patches (dirty: $files)"
-msgstr ""
-
-#: git-am.sh:755
-msgid "cannot be interactive without stdin connected to a terminal."
-msgstr ""
-
-#. TRANSLATORS: Make sure to include [y], [n], [e], [v] and [a]
-#. in your translation. The program will only accept English
-#. input at this point.
-#: git-am.sh:766
-msgid "Apply? [y]es/[n]o/[e]dit/[v]iew patch/[a]ccept all "
-msgstr "Aplicar? Sim[y]/[n]ão/[e]ditar/[v]er patch/[a]ceitar todos "
-
-#: git-am.sh:802
-#, sh-format
-msgid "Applying: $FIRSTLINE"
-msgstr "Aplicando: $FIRSTLINE"
-
-#: git-am.sh:847
-msgid "No changes -- Patch already applied."
-msgstr "Nenhuma mudança -- Já foi aplicado o patch."
-
-#: git-am.sh:873
-msgid "applying to an empty history"
-msgstr ""
+#: git-bisect.sh:55
+msgid "You need to start by \"git bisect start\""
+msgstr "Deve começar por executar \"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:54
+#: git-bisect.sh:61
 msgid "Do you want me to do it for you [Y/n]? "
-msgstr "Queres que eu faça por sí [Y/n]?"
+msgstr "Quer que o Git o faça por si [Y/n]? "
 
-#: git-bisect.sh:95
+#: git-bisect.sh:122
 #, sh-format
 msgid "unrecognised option: '$arg'"
-msgstr ""
+msgstr "opção não reconhecida: '$arg'"
 
-#: git-bisect.sh:99
+#: git-bisect.sh:126
 #, sh-format
 msgid "'$arg' does not appear to be a valid revision"
-msgstr ""
+msgstr "'$arg' não parecer ser uma revisão válida"
 
-#: git-bisect.sh:117
+#: git-bisect.sh:155
 msgid "Bad HEAD - I need a HEAD"
-msgstr ""
+msgstr "HEAD incorreta - é necessário uma HEAD"
 
-#: git-bisect.sh:130
+#: git-bisect.sh:168
 #, sh-format
-msgid "Checking out '$start_head' failed. Try 'git bisect reset <validbranch>'."
+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>'."
 
-#: git-bisect.sh:140
-msgid "won't bisect on seeked tree"
-msgstr ""
+#: git-bisect.sh:178
+msgid "won't bisect on cg-seek'ed tree"
+msgstr "não é possível bisseccionar numa árvore \"cg-seek'ed\""
 
-#: git-bisect.sh:144
+#: git-bisect.sh:182
 msgid "Bad HEAD - strange symbolic ref"
-msgstr ""
+msgstr "HEAD incorreta - referência simbólica desconhecida"
 
-#: git-bisect.sh:189
+#: git-bisect.sh:234
 #, sh-format
 msgid "Bad bisect_write argument: $state"
-msgstr ""
+msgstr "Argumento de bisect_write incorreto: $state"
 
-#: git-bisect.sh:218
+#: git-bisect.sh:263
 #, sh-format
 msgid "Bad rev input: $arg"
-msgstr ""
+msgstr "Revisão incorreta na entrada: $arg"
 
-#: git-bisect.sh:232
+#: git-bisect.sh:278
 msgid "Please call 'bisect_state' with at least one argument."
-msgstr ""
+msgstr "Invoque 'bisect_state' com pelo menos um argumento."
 
-#: git-bisect.sh:244
+#: git-bisect.sh:290
 #, sh-format
 msgid "Bad rev input: $rev"
-msgstr ""
+msgstr "Revisão incorreta na entrada: $rev"
 
-#: git-bisect.sh:250
-msgid "'git bisect bad' can take only one argument."
-msgstr ""
+#: git-bisect.sh:299
+#, sh-format
+msgid "'git bisect $TERM_BAD' can take only one argument."
+msgstr "'git bisect $TERM_BAD' só leva um argumento."
+
+#: git-bisect.sh:322
+#, sh-format
+msgid "Warning: bisecting only with a $TERM_BAD commit."
+msgstr "Aviso: a bisseccionar só com um commit $TERM_BAD."
 
 #. TRANSLATORS: Make sure to include [Y] and [n] in your
 #. translation. The program will only accept English input
 #. at this point.
-#: git-bisect.sh:279
+#: git-bisect.sh:328
 msgid "Are you sure [Y/n]? "
-msgstr "Tens a certeza [Y/n]? "
+msgstr "Tem a certeza [Y/n]? "
 
-#: git-bisect.sh:354
+#: git-bisect.sh:340
+#, sh-format
+msgid ""
+"You need to give me at least one $bad_syn and one $good_syn revision.\n"
+"(You can use \"git bisect $bad_syn\" and \"git bisect $good_syn\" for that.)"
+msgstr ""
+"Deve indicar pelo menos uma revisão $bad_syn e uma revisão $good_syn.\n"
+"(Pode usar \"git bisect $bad_syn\" e \"git bisect $good_syn\" para esse fim.)"
+
+#: git-bisect.sh:343
+#, sh-format
+msgid ""
+"You need to start by \"git bisect start\".\n"
+"You then need to give me at least one $good_syn and one $bad_syn revision.\n"
+"(You can use \"git bisect $bad_syn\" and \"git bisect $good_syn\" for that.)"
+msgstr ""
+"Deve começar por executar \"git bisect start\".\n"
+"Indique pelo menos uma revisão $good_syn e uma revisão $bad_syn.\n"
+"(Pode usar \"git bisect $bad_syn\" e \"git bisect $good_syn\" para esse fim.)"
+
+#: git-bisect.sh:414 git-bisect.sh:546
+msgid "We are not bisecting."
+msgstr "Não estamos a bisseccionar."
+
+#: git-bisect.sh:421
 #, sh-format
 msgid "'$invalid' is not a valid commit"
-msgstr ""
+msgstr "'$invalid' não é um commit válido"
 
-#: git-bisect.sh:363
+#: git-bisect.sh:430
 #, sh-format
 msgid ""
 "Could not check out original HEAD '$branch'.\n"
 "Try 'git bisect reset <commit>'."
 msgstr ""
+"Não foi possível extrair a HEAD original de '$branch'.\n"
+"Tente 'git bisect reset <commit>'."
 
-#: git-bisect.sh:390
+#: git-bisect.sh:458
 msgid "No logfile given"
-msgstr "Nenhum ficheiro de log dado"
+msgstr "Nenhum ficheiro de log fornecido"
 
-#: git-bisect.sh:391
+#: git-bisect.sh:459
 #, sh-format
 msgid "cannot read $file for replaying"
-msgstr ""
+msgstr "não é possível ler $file para reproduzir"
 
-#: git-bisect.sh:408
+#: git-bisect.sh:480
 msgid "?? what are you talking about?"
-msgstr ""
+msgstr "?? do que é que está a falar?"
 
-#: git-bisect.sh:474
-msgid "We are not bisecting."
-msgstr "Não estamos a bisseccionar."
+#: git-bisect.sh:492
+#, sh-format
+msgid "running $command"
+msgstr "a executar $command"
 
-#: git-pull.sh:21
+#: git-bisect.sh:499
+#, sh-format
 msgid ""
-"Pull is not possible because you have unmerged files.\n"
-"Please, fix them up in the work tree, and then use 'git add/rm <file>'\n"
-"as appropriate to mark resolution, or use 'git commit -a'."
+"bisect run failed:\n"
+"exit code $res from '$command' is < 0 or >= 128"
 msgstr ""
+"falha bisseccionar:\n"
+"código de saída $res de '$command' é < 0 ou >= 128"
 
-#: git-pull.sh:25
-msgid "Pull is not possible because you have unmerged files."
+#: git-bisect.sh:525
+msgid "bisect run cannot continue any more"
+msgstr "não é possível continuar a bisseccionar"
+
+#: git-bisect.sh:531
+#, sh-format
+msgid ""
+"bisect run failed:\n"
+"'bisect_state $state' exited with error code $res"
 msgstr ""
+"falha ao bisseccionar:\n"
+"'bisect_state $state' retornou com o código de erro $res"
 
-#: git-pull.sh:197
-msgid "updating an unborn branch with changes added to the index"
+#: git-bisect.sh:538
+msgid "bisect run success"
+msgstr "bissecção concluída com sucesso"
+
+#: git-bisect.sh:565
+msgid "please use two different terms"
+msgstr "use dois termos diferentes"
+
+#: git-bisect.sh:575
+#, sh-format
+msgid "'$term' is not a valid term"
+msgstr "'$term' não é um termo válido"
+
+#: git-bisect.sh:578
+#, sh-format
+msgid "can't use the builtin command '$term' as a term"
+msgstr "não é possível usar o comando '$term' como um termo"
+
+#: git-bisect.sh:587 git-bisect.sh:593
+#, sh-format
+msgid "can't change the meaning of term '$term'"
+msgstr "não é possível alterar o significado do termo '$term'"
+
+#: git-bisect.sh:606
+#, sh-format
+msgid "Invalid command: you're currently in a $TERM_BAD/$TERM_GOOD bisect."
 msgstr ""
+"Comando inválido: bissecção em curso usando os termo $TERM_BAD/$TERM_GOOD."
 
-#: git-pull.sh:253
-msgid "Cannot merge multiple branches into empty head"
+#: git-bisect.sh:636
+msgid "no terms defined"
+msgstr "nenhum termo definido"
+
+#: git-bisect.sh:653
+#, sh-format
+msgid ""
+"invalid argument $arg for 'git bisect terms'.\n"
+"Supported options are: --term-good|--term-old and --term-bad|--term-new."
 msgstr ""
+"argumento inválido $arg de 'git bisect terms'.\n"
+"Opções suportadas: --term-good|--term-old e --term-bad|--term-new."
 
-#: git-pull.sh:257
-msgid "Cannot rebase onto multiple branches"
-msgstr "Não é possível fazer rebase com várias ramas"
+#: 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"
+"To check out the original branch and stop rebasing, run \"git rebase --abort"
+"\"."
+msgstr ""
+"Depois de resolver este problema, execute \"git rebase --continue\".\n"
+"Se prefere ignorar este patch, execute \"git rebase --skip\".\n"
+"Para extrair o ramo original e interromper o rebase, execute \"git rebase --"
+"abort\"."
+
+#: git-rebase.sh:165
+msgid "Applied autostash."
+msgstr "Autostash aplicado."
+
+#: git-rebase.sh:168
+#, sh-format
+msgid "Cannot store $stash_sha1"
+msgstr "Não é possível guardar $stash_sha1"
+
+#: git-rebase.sh:169
+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 autostash.\n"
+"As suas alterações estão guardadas no stash.\n"
+"Pode executar \"git stash pop\" ou \"git stash drop\" oportunamente.\n"
+
+#: git-rebase.sh:208
+msgid "The pre-rebase hook refused to rebase."
+msgstr "Rebase recusado pelo hook pre-rebase."
+
+#: git-rebase.sh:213
+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:354
+msgid "The --exec option must be used with the --interactive option"
+msgstr "A opção --exec deve ser usada com a opção --interactive"
+
+#: git-rebase.sh:359
+msgid "No rebase in progress?"
+msgstr "Rebase não está em curso?"
+
+#: git-rebase.sh:370
+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:377
+msgid "Cannot read HEAD"
+msgstr "Não é possível ler HEAD"
+
+#: git-rebase.sh:380
+msgid ""
+"You must edit all merge conflicts and then\n"
+"mark them as resolved using git add"
+msgstr ""
+"Deve editar todos os conflitos do merge e\n"
+"marcá-los como resolvidos usando git add"
+
+#: git-rebase.sh:398
+#, sh-format
+msgid "Could not move back to $head_name"
+msgstr "Não foi possível voltar para $head_name"
+
+#: git-rebase.sh:417
+#, sh-format
+msgid ""
+"It seems that there is already a $state_dir_base directory, and\n"
+"I wonder if you are in the middle of another rebase.  If that is the\n"
+"case, please try\n"
+"\t$cmd_live_rebase\n"
+"If that is not the case, please\n"
+"\t$cmd_clear_stale_rebase\n"
+"and run me again.  I am stopping in case you still have something\n"
+"valuable there."
+msgstr ""
+"Parece que já existe um diretório $state_dir_base e\n"
+"é possível que outro processo de rebase já esteja em curso.\n"
+"Se for o caso, tente\n"
+"\t$cmd_live_rebase\n"
+"Se não for o caso,\n"
+"\t$cmd_clear_stale_rebase\n"
+"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:468
+#, sh-format
+msgid "invalid upstream $upstream_name"
+msgstr "$upstream_name a montante inválido"
+
+#: git-rebase.sh:492
+#, sh-format
+msgid "$onto_name: there are more than one merge bases"
+msgstr "$onto_name: há mais do que uma base de merge"
+
+#: git-rebase.sh:495 git-rebase.sh:499
+#, sh-format
+msgid "$onto_name: there is no merge base"
+msgstr "$onto_name: não há nenhuma base de merge"
+
+#: git-rebase.sh:504
+#, 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:527
+#, sh-format
+msgid "fatal: no such branch: $branch_name"
+msgstr "fatal: ramo inexistente: $branch_name"
+
+#: git-rebase.sh:560
+msgid "Cannot autostash"
+msgstr "Não é possível efetuar autostash"
+
+#: git-rebase.sh:565
+#, sh-format
+msgid "Created autostash: $stash_abbrev"
+msgstr "Autostash criado: $stash_abbrev"
+
+#: git-rebase.sh:569
+msgid "Please commit or stash them."
+msgstr "Faça commit ou stash delas."
+
+#: git-rebase.sh:589
+#, sh-format
+msgid "Current branch $branch_name is up to date."
+msgstr "O ramo atual $branch_name está atualizado."
+
+#: git-rebase.sh:593
+#, 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:604
+#, sh-format
+msgid "Changes from $mb to $onto:"
+msgstr "Alterações de $mb para $onto:"
+
+#: git-rebase.sh:613
+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 desta..."
+
+#: git-rebase.sh:623
+#, sh-format
+msgid "Fast-forwarded $branch_name to $onto_name."
+msgstr "$branch_name avançado rapidamente para $onto_name."
 
 #: git-stash.sh:51
 msgid "git stash clear with parameters is unimplemented"
-msgstr ""
+msgstr "não está implementado git stash clear com parâmetros"
 
 #: git-stash.sh:74
 msgid "You do not have the initial commit yet"
-msgstr "Tu ainda não tens o commit inicial"
+msgstr "O commit inicial ainda não existe"
 
 #: git-stash.sh:89
 msgid "Cannot save the current index state"
-msgstr ""
+msgstr "Não é possível guardar o estado atual do índice"
 
-#: git-stash.sh:123
-#: git-stash.sh:136
+#: git-stash.sh:124 git-stash.sh:137
 msgid "Cannot save the current worktree state"
-msgstr ""
+msgstr "Não é possível guardar o estado atual da árvore de trabalho"
 
-#: git-stash.sh:140
+#: git-stash.sh:141
 msgid "No changes selected"
-msgstr "Não há alterações seleccionadas"
+msgstr "Nenhuma alteração selecionada"
 
-#: git-stash.sh:143
+#: git-stash.sh:144
 msgid "Cannot remove temporary index (can't happen)"
-msgstr ""
+msgstr "Não é possível remover o índice temporário (não pode acontecer)"
 
-#: git-stash.sh:156
+#: git-stash.sh:157
 msgid "Cannot record working tree state"
+msgstr "Não é possível gravar o estado da árvore de trabalho"
+
+#: git-stash.sh:189
+#, sh-format
+msgid "Cannot update $ref_stash with $w_commit"
+msgstr "Não é possível atualizar $ref_stash com $w_commit"
+
+#. TRANSLATORS: $option is an invalid option, like
+#. `--blah-blah'. The 7 spaces at the beginning of the
+#. second line correspond to "error: ". So you should line
+#. up the second line with however many characters the
+#. translation of "error: " takes in your language. E.g. in
+#. English this is:
+#.
+#. $ 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
+#, sh-format
+msgid ""
+"error: unknown option for 'stash save': $option\n"
+"       To provide a message, use git stash save -- '$option'"
 msgstr ""
+"erro: opção desconhecida de 'stash save': $option\n"
+"      Para fornecer uma mensagem, use git stash save -- '$option'"
 
-#: git-stash.sh:223
+#: git-stash.sh:260
 msgid "No local changes to save"
-msgstr "Sem alterações locais para guardar"
+msgstr "Não há alterações locais para guardar"
 
-#: git-stash.sh:227
+#: git-stash.sh:264
 msgid "Cannot initialize stash"
 msgstr "Não é possível inicializar o stash"
 
-#: git-stash.sh:235
+#: git-stash.sh:268
 msgid "Cannot save the current status"
-msgstr ""
+msgstr "Não é possível guardar o estado atual"
 
-#: git-stash.sh:253
+#: git-stash.sh:286
 msgid "Cannot remove worktree changes"
-msgstr ""
+msgstr "Não é possível remover as alterações da árvore de trabalho"
 
-#: git-stash.sh:352
+#: git-stash.sh:405
+#, sh-format
+msgid "unknown option: $opt"
+msgstr "opção desconhecido: $opt"
+
+#: git-stash.sh:415
 msgid "No stash found."
-msgstr "nenhum stash encontrado."
+msgstr "Nenhum stash encontrado."
 
-#: git-stash.sh:359
+#: git-stash.sh:422
 #, sh-format
 msgid "Too many revisions specified: $REV"
-msgstr ""
+msgstr "Demasiadas revisões especificadas: $REV"
 
-#: git-stash.sh:365
+#: git-stash.sh:428
 #, sh-format
-msgid "$reference is not valid reference"
-msgstr ""
+msgid "$reference is not a valid reference"
+msgstr "$reference não é uma referência válida"
 
-#: git-stash.sh:393
+#: git-stash.sh:456
 #, sh-format
 msgid "'$args' is not a stash-like commit"
-msgstr ""
+msgstr "'$args' não é um commit do tipo stash"
 
-#: git-stash.sh:404
+#: git-stash.sh:467
 #, sh-format
 msgid "'$args' is not a stash reference"
-msgstr ""
+msgstr "'$args' não é uma referência de stash"
 
-#: git-stash.sh:412
+#: git-stash.sh:475
 msgid "unable to refresh index"
-msgstr ""
+msgstr "não foi possível refrescar o índice"
 
-#: git-stash.sh:416
+#: git-stash.sh:479
 msgid "Cannot apply a stash in the middle of a merge"
-msgstr ""
+msgstr "Não é possível aplicar um stash durante um merge"
 
-#: git-stash.sh:424
+#: git-stash.sh:487
 msgid "Conflicts in index. Try without --index."
-msgstr ""
+msgstr "Conflitos no índice. Tente sem --index."
 
-#: git-stash.sh:426
+#: git-stash.sh:489
 msgid "Could not save index tree"
-msgstr "Não foi posivel guardar o index tree"
+msgstr "Não foi possível guardar árvore do índice"
 
-#: git-stash.sh:460
+#: git-stash.sh:523
 msgid "Cannot unstage modified files"
-msgstr ""
+msgstr "Não é possível retirar os ficheiros modificado do índice"
 
-#: git-stash.sh:491
+#: git-stash.sh:538
+msgid "Index was not unstashed."
+msgstr "O índice não foi reposto."
+
+#: git-stash.sh:561
 #, sh-format
 msgid "Dropped ${REV} ($s)"
-msgstr "Deixado cair ${REV} ($s)"
+msgstr "A descartar ${REV} ($s)"
 
-#: git-stash.sh:492
+#: git-stash.sh:562
 #, sh-format
 msgid "${REV}: Could not drop stash entry"
-msgstr ""
-
-#: git-stash.sh:499
-msgid "No branch name specified"
-msgstr "Nenhum nome para a rama especificado"
+msgstr "${REV}: Não foi possível descartar elemento do stash"
 
 #: git-stash.sh:570
-msgid "(To restore them type \"git stash apply\")"
-msgstr ""
+msgid "No branch name specified"
+msgstr "Nenhum nome de ramo especificado"
 
-#: git-submodule.sh:56
+#: git-stash.sh:642
+msgid "(To restore them type \"git stash apply\")"
+msgstr "(Para os restaurar execute \"git stash apply\")"
+
+#: git-submodule.sh:104
 #, sh-format
 msgid "cannot strip one component off url '$remoteurl'"
-msgstr ""
+msgstr "não é possível tirar um componente do URL '$remoteurl'"
 
-#: git-submodule.sh:109
-#, sh-format
-msgid "No submodule mapping found in .gitmodules for path '$sm_path'"
+#: git-submodule.sh:281
+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:150
-#, sh-format
-msgid "Clone of '$url' into submodule path '$sm_path' failed"
-msgstr ""
-
-#: git-submodule.sh:160
-#, sh-format
-msgid "Gitdir '$a' is part of the submodule path '$b' or vice versa"
-msgstr ""
-
-#: git-submodule.sh:249
+#: git-submodule.sh:291
 #, sh-format
 msgid "repo URL: '$repo' must be absolute or begin with ./|../"
-msgstr ""
+msgstr "URL do repositório: '$repo' deve ser absoluto ou começar com ./|../"
 
-#: git-submodule.sh:266
+#: git-submodule.sh:308
 #, sh-format
 msgid "'$sm_path' already exists in the index"
-msgstr ""
+msgstr "'$sm_path' já existe no índice"
 
-#: git-submodule.sh:283
-#, sh-format
-msgid "'$sm_path' already exists and is not a valid git repo"
-msgstr ""
-
-#: git-submodule.sh:297
-#, sh-format
-msgid "Unable to checkout submodule '$sm_path'"
-msgstr ""
-
-#: git-submodule.sh:302
-#, sh-format
-msgid "Failed to add submodule '$sm_path'"
-msgstr ""
-
-#: git-submodule.sh:307
-#, sh-format
-msgid "Failed to register submodule '$sm_path'"
-msgstr ""
-
-#: git-submodule.sh:349
-#, sh-format
-msgid "Entering '$prefix$sm_path'"
-msgstr "Entrando '$prefix$sm_path'"
-
-#: git-submodule.sh:363
-#, sh-format
-msgid "Stopping at '$sm_path'; script returned non-zero status."
-msgstr ""
-
-#: git-submodule.sh:405
-#, sh-format
-msgid "No url found for submodule path '$sm_path' in .gitmodules"
-msgstr ""
-
-#: git-submodule.sh:414
-#, sh-format
-msgid "Failed to register url for submodule path '$sm_path'"
-msgstr ""
-
-#: git-submodule.sh:422
-#, sh-format
-msgid "Failed to register update mode for submodule path '$sm_path'"
-msgstr ""
-
-#: git-submodule.sh:424
-#, sh-format
-msgid "Submodule '$name' ($url) registered for path '$sm_path'"
-msgstr ""
-
-#: git-submodule.sh:523
+#: git-submodule.sh:312
 #, sh-format
 msgid ""
-"Submodule path '$sm_path' not initialized\n"
-"Maybe you want to use 'update --init'?"
+"The following path is ignored by one of your .gitignore files:\n"
+"$sm_path\n"
+"Use -f if you really want to add it."
 msgstr ""
+"O seguinte caminho foi ignorado por um ficheiro .gitignore:\n"
+"$sm_path\n"
+"Use -f se pretende mesmo adicioná-lo."
 
-#: git-submodule.sh:536
+#: git-submodule.sh:330
 #, sh-format
-msgid "Unable to find current revision in submodule path '$sm_path'"
-msgstr ""
+msgid "Adding existing repo at '$sm_path' to the index"
+msgstr "A adicionar repositório existente em '$sm_path' ao índice"
 
-#: git-submodule.sh:555
+#: git-submodule.sh:332
 #, sh-format
-msgid "Unable to fetch in submodule path '$sm_path'"
-msgstr ""
+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:569
+#: git-submodule.sh:340
 #, sh-format
-msgid "Unable to rebase '$sha1' in submodule path '$sm_path'"
+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:570
+#: git-submodule.sh:342
 #, sh-format
-msgid "Submodule path '$sm_path': rebased into '$sha1'"
+msgid ""
+"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"
 
-#: git-submodule.sh:575
+#: git-submodule.sh:344
 #, sh-format
-msgid "Unable to merge '$sha1' in submodule path '$sm_path'"
+msgid ""
+"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"
+
+#: git-submodule.sh:345
+#, sh-format
+msgid ""
+"or you are unsure what this means choose another name with the '--name' "
+"option."
+msgstr ""
+"ou não tem a certeza do que isto significa, escolha outro nome com a opção "
+"'--name'."
+
+#: git-submodule.sh:347
+#, 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:359
+#, sh-format
+msgid "Unable to checkout submodule '$sm_path'"
+msgstr "Não foi possível extrair o submódulo '$sm_path'"
+
+#: git-submodule.sh:364
+#, sh-format
+msgid "Failed to add submodule '$sm_path'"
+msgstr "Falha ao adicionar o submódulo '$sm_path'"
+
+#: git-submodule.sh:373
+#, sh-format
+msgid "Failed to register submodule '$sm_path'"
+msgstr "Falha ao registar o submódulo '$sm_path'"
+
+#: git-submodule.sh:417
+#, sh-format
+msgid "Entering '$prefix$displaypath'"
+msgstr "A entrar em '$prefix$displaypath'"
+
+#: git-submodule.sh:437
+#, sh-format
+msgid "Stopping at '$prefix$displaypath'; script returned non-zero status."
+msgstr ""
+"Interrompido em '$prefix$displaypath'; o script retornou um valor diferente "
+"de zero."
+
+#: git-submodule.sh:483
+#, sh-format
+msgid "No url found for submodule path '$displaypath' in .gitmodules"
+msgstr "Nenhum URL encontrado no submódulo '$displaypath' em .gitmodules"
+
+#: git-submodule.sh:492
+#, sh-format
+msgid "Failed to register url for submodule path '$displaypath'"
+msgstr "Falha ao registar o URL do submódulo '$displaypath'"
+
+#: git-submodule.sh:494
+#, sh-format
+msgid "Submodule '$name' ($url) registered for path '$displaypath'"
+msgstr "Submódulo '$name' ($url) registado em '$displaypath'"
+
+#: git-submodule.sh:511
+#, sh-format
+msgid "Failed to register update mode for submodule path '$displaypath'"
+msgstr "Falha ao registar o modo de atualização do submódulo em '$displaypath'"
+
+#: git-submodule.sh:549
+#, sh-format
+msgid "Use '.' if you really want to deinitialize all submodules"
+msgstr "Use '.' se pretende mesmo anular a inicialização todos os submódulos"
+
+#: git-submodule.sh:566
+#, sh-format
+msgid "Submodule work tree '$displaypath' contains a .git directory"
+msgstr ""
+"A árvore de trabalho do submódulo em '$displaypath' contém um diretório .git"
+
+#: git-submodule.sh:567
+#, sh-format
+msgid ""
+"(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)"
+
+#: git-submodule.sh:573
+#, sh-format
+msgid ""
+"Submodule work tree '$displaypath' contains local modifications; use '-f' to "
+"discard them"
+msgstr ""
+"A árvore de trabalho do submódulo em '$displaypath' contém alterações "
+"locais; use '-f' para as descartar"
 
 #: git-submodule.sh:576
 #, sh-format
-msgid "Submodule path '$sm_path': merged in '$sha1'"
-msgstr ""
+msgid "Cleared directory '$displaypath'"
+msgstr "Diretório '$displaypath' limpo"
 
-#: git-submodule.sh:581
+#: git-submodule.sh:577
 #, sh-format
-msgid "Unable to checkout '$sha1' in submodule path '$sm_path'"
+msgid "Could not remove submodule work tree '$displaypath'"
 msgstr ""
+"Não foi possível remover a árvore de trabalho do submódulo em '$displaypath'"
 
-#: git-submodule.sh:582
+#: git-submodule.sh:580
 #, sh-format
-msgid "Submodule path '$sm_path': checked out '$sha1'"
-msgstr ""
+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:604
-#: git-submodule.sh:927
+#: git-submodule.sh:589
 #, sh-format
-msgid "Failed to recurse into submodule path '$sm_path'"
+msgid "Submodule '$name' ($url) unregistered for path '$displaypath'"
 msgstr ""
+"O registo do submódulo '$name' ($url) foi removido do caminho '$displaypath'"
 
-#: git-submodule.sh:712
-msgid "--"
-msgstr "--"
-
-#: git-submodule.sh:770
+#: git-submodule.sh:723
 #, sh-format
-msgid "  Warn: $name doesn't contain commit $sha1_src"
+msgid ""
+"Submodule path '$displaypath' not initialized\n"
+"Maybe you want to use 'update --init'?"
 msgstr ""
+"Submódulo em '$displaypath' não inicializado\n"
+"Talvez queira usar 'update --init'?"
 
-#: git-submodule.sh:773
+#: git-submodule.sh:736
 #, sh-format
-msgid "  Warn: $name doesn't contain commit $sha1_dst"
+msgid "Unable to find current revision in submodule path '$displaypath'"
 msgstr ""
+"Não foi possível encontrar a revisão atual no submódulo em '$displaypath'"
 
-#: git-submodule.sh:776
+#: git-submodule.sh:745
 #, sh-format
-msgid "  Warn: $name doesn't contain commits $sha1_src and $sha1_dst"
-msgstr ""
+msgid "Unable to fetch in submodule path '$sm_path'"
+msgstr "Não foi possível obter no submódulo '$sm_path'"
 
-#: git-submodule.sh:801
+#: git-submodule.sh:768
+#, sh-format
+msgid "Unable to fetch in submodule path '$displaypath'"
+msgstr "Não é possível obter no submódulo '$displaypath'"
+
+#: git-submodule.sh:788
+#, sh-format
+msgid "Unable to checkout '$sha1' in submodule path '$displaypath'"
+msgstr "Não foi possível extrair '$sha1' no submódulo em '$displaypath'"
+
+#: git-submodule.sh:789
+#, sh-format
+msgid "Submodule path '$displaypath': checked out '$sha1'"
+msgstr "Submódulo em '$displaypath': '$sha1' extraído"
+
+#: git-submodule.sh:793
+#, sh-format
+msgid "Unable to rebase '$sha1' in submodule path '$displaypath'"
+msgstr ""
+"Não foi possível efetuar rebase de '$sha1' no submódulo em '$displaypath'"
+
+#: git-submodule.sh:794
+#, sh-format
+msgid "Submodule path '$displaypath': rebased into '$sha1'"
+msgstr "Submódulo em '$displaypath': rebase concluído em '$sha1'"
+
+#: git-submodule.sh:799
+#, sh-format
+msgid "Unable to merge '$sha1' in submodule path '$displaypath'"
+msgstr "Não é possível efetuar merge de '$sha1' no submódulo em '$displaypath'"
+
+#: git-submodule.sh:800
+#, sh-format
+msgid "Submodule path '$displaypath': merged in '$sha1'"
+msgstr "Submódulo em '$displaypath': merge em '$sha1' concluído"
+
+#: git-submodule.sh:805
+#, sh-format
+msgid ""
+"Execution of '$command $sha1' failed in submodule path '$prefix$sm_path'"
+msgstr "Falha ao executar '$command $sha1' no submódulo em '$prefix$sm_path'"
+
+#: git-submodule.sh:806
+#, sh-format
+msgid "Submodule path '$prefix$sm_path': '$command $sha1'"
+msgstr "Submódulo em '$prefix$sm_path': '$command $sha1'"
+
+#: git-submodule.sh:836
+#, sh-format
+msgid "Failed to recurse into submodule path '$displaypath'"
+msgstr "Falha ao percorrer o submódulo em '$displaypath'"
+
+#: git-submodule.sh:944
+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:996
+#, sh-format
+msgid "unexpected mode $mod_dst"
+msgstr "modo inesperado $mod_dst"
+
+#: git-submodule.sh:1016
+#, 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:1019
+#, 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:1022
+#, 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:1047
 msgid "blob"
 msgstr "blob"
 
-#: git-submodule.sh:802
-msgid "submodule"
-msgstr "submódulos"
-
-#: git-submodule.sh:973
+#: git-submodule.sh:1165
 #, sh-format
-msgid "Synchronizing submodule url for '$name'"
-msgstr ""
+msgid "Failed to recurse into submodule path '$sm_path'"
+msgstr "Falha ao percorrer recursivamente o submódulo em '$sm_path'"
+
+#: git-submodule.sh:1229
+#, sh-format
+msgid "Synchronizing submodule url for '$displaypath'"
+msgstr "A sincronizar o URL do submódulo em '$displaypath'"
+
+#~ msgid "unable to parse format"
+#~ msgstr "não foi possível analisar o formato"
+
+#~ msgid "improper format entered align:%s"
+#~ msgstr "formato impróprio introduzido align:%s"
+
+#~ msgid "Could not set core.worktree in %s"
+#~ msgstr "Não foi possível definir core.worktree em %s"
+
+#~ msgid ""
+#~ "push.default is unset; its implicit value has changed in\n"
+#~ "Git 2.0 from 'matching' to 'simple'. To squelch this message\n"
+#~ "and maintain the traditional behavior, use:\n"
+#~ "\n"
+#~ "  git config --global push.default matching\n"
+#~ "\n"
+#~ "To squelch this message and adopt the new behavior now, use:\n"
+#~ "\n"
+#~ "  git config --global push.default simple\n"
+#~ "\n"
+#~ "When push.default is set to 'matching', git will push local branches\n"
+#~ "to the remote branches that already exist with the same name.\n"
+#~ "\n"
+#~ "Since Git 2.0, Git defaults to the more conservative 'simple'\n"
+#~ "behavior, which only pushes the current branch to the corresponding\n"
+#~ "remote branch that 'git pull' uses to update the current branch.\n"
+#~ "\n"
+#~ "See 'git help config' and search for 'push.default' for further "
+#~ "information.\n"
+#~ "(the 'simple' mode was introduced in Git 1.7.11. Use the similar mode\n"
+#~ "'current' instead of 'simple' if you sometimes use older versions of Git)"
+#~ msgstr ""
+#~ "push.default não está definido; o seu valor implícito foi alterado\n"
+#~ "no Git 2.0 de 'matching' para 'simple'. Para suprimir esta mensagem\n"
+#~ "e manter o comportamento tradicional, use:\n"
+#~ "\n"
+#~ "  git config --global push.default matching\n"
+#~ "\n"
+#~ "Para suprimir esta mensagem e adotar o novo comportamento, use:\n"
+#~ "\n"
+#~ "  git config --global push.default simple\n"
+#~ "\n"
+#~ "Quando push.default está definido como 'matching', o Git publica\n"
+#~ "os ramos locais nos ramos remotos que já existam com o mesmo nome.\n"
+#~ "\n"
+#~ "Desde a versão 2.0, o Git assume o comportamento mais conservativo "
+#~ "'simple',\n"
+#~ "publicando só o ramo atual no ramo remoto correspondente, que é usado\n"
+#~ "para atualizar o ramo atual com 'git pull'.\n"
+#~ "Consulte 'git help config' e procure por 'push.default' para mais "
+#~ "informações.\n"
+#~ "(o modo 'simple' foi introduzido no Git 1.7.11. Use o modo semelhante\n"
+#~ "'current' em vez de 'simple' se por vezes usa versões anteriores do Git)"
+
+#~ msgid "check|on-demand|no"
+#~ msgstr "check|on-demand|no"
+
+#~ msgid "Could not append '%s'"
+#~ msgstr "Não foi possível acrescentar '%s'"
+
+#~ msgid "Could not set '%s'"
+#~ msgstr "Não foi possível definir '%s'"
+
+#~ msgid "Missing author: %s"
+#~ msgstr "Autor em falta: %s"
+
+#~ msgid "Testing "
+#~ msgstr "A testar "
+
+#~ msgid "Forward-port local commits to the updated upstream head"
+#~ msgstr ""
+#~ "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"
+#~ msgstr[1] " %d ficheiros modificados"
+
+#~ msgid ", %d insertion(+)"
+#~ msgid_plural ", %d insertions(+)"
+#~ msgstr[0] ", %d adição(+)"
+#~ msgstr[1] ", %d adições(+)"
+
+#~ msgid ", %d deletion(-)"
+#~ msgid_plural ", %d deletions(-)"
+#~ msgstr[0] ", %d eliminado(-)"
+#~ msgstr[1] ", %d eliminados(-)"
+
+#~ msgid "You do not have a valid HEAD"
+#~ msgstr "Você não tem uma HEAD válida"
+
+#~ msgid "bug"
+#~ msgstr "erro"
+
+#~ msgid "copied:     %s -> %s"
+#~ msgstr "copiado:     %s -> %s"
+
+#~ msgid "modified:   %s"
+#~ msgstr "modificado:   %s"
+
+#~ msgid "renamed:    %s -> %s"
+#~ msgstr "mudado de nome:    %s -> %s"
+
+#~ msgid ", behind "
+#~ msgstr ", atrás "
+
+#~ msgid "no files added"
+#~ msgstr "nenhum ficheiros adicionado"
+
+#~ msgid "Could not extract email from committer identity."
+#~ msgstr "Não foi possível extrair a identidade do committer do e-mail."
+
+#~ msgid "option %s does not accept negative form"
+#~ msgstr "opção %s não aceita formato negativo"
+
+#~ msgid "Applying: $FIRSTLINE"
+#~ msgstr "Aplicando: $FIRSTLINE"
+
+#~ msgid "--"
+#~ msgstr "--"
 
 #~ msgid "cherry-pick"
 #~ msgstr "cherry-pick"
 
 #~ msgid "Please enter the commit message for your changes."
 #~ msgstr "Por favor insira a mensagem de commit das suas alterações."
-
-#~ msgid "Too many options specified"
-#~ msgstr "Demasiadas opções especificadas"
diff --git a/po/vi.po b/po/vi.po
index 14f1859..edd8e29 100644
--- a/po/vi.po
+++ b/po/vi.po
@@ -8,10 +8,10 @@
 msgstr ""
 "Project-Id-Version: git v2.8.0-rc0\n"
 "Report-Msgid-Bugs-To: Git Mailing List <git@vger.kernel.org>\n"
-"POT-Creation-Date: 2016-02-28 20:31+0800\n"
-"PO-Revision-Date: 2016-02-29 07:44+0700\n"
+"POT-Creation-Date: 2016-03-16 00:16+0800\n"
+"PO-Revision-Date: 2016-03-21 07:14+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-Team: Vietnamese <gnome-vi-list@gnome.org>\n"
 "Language: vi\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -1124,6 +1124,16 @@
 msgid "unrecognized format: %%(%s)"
 msgstr "không nhận ra định dạng: %%(%s)"
 
+#: ref-filter.c:77
+#, c-format
+msgid "%%(body) does not take arguments"
+msgstr "%%(body) không nhận các đối số"
+
+#: ref-filter.c:84
+#, c-format
+msgid "%%(subject) does not take arguments"
+msgstr "%%(subject) không nhận các đối số"
+
 #: ref-filter.c:101
 #, c-format
 msgid "positive value expected contents:lines=%s"
@@ -1164,16 +1174,65 @@
 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
+#, c-format
+msgid "malformed field name: %.*s"
+msgstr "tên trường dị hình: %.*s"
+
+#: ref-filter.c:270
+#, c-format
+msgid "unknown field name: %.*s"
+msgstr "không hiểu tên trường: %.*s"
+
 #: ref-filter.c:372
 #, 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
+#, c-format
+msgid "malformed format string %s"
+msgstr "chuỗi định dạng dị hình %s"
+
+#: ref-filter.c:878
+msgid ":strip= requires a positive integer argument"
+msgstr ":strip= cần một đối số nguyên dương"
+
+#: ref-filter.c:883
+#, 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
+#, 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
+#, 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
+#, 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
 #, c-format
 msgid "malformed object at '%s'"
 msgstr "đối tượng dị hình tại “%s”"
 
+#: ref-filter.c:1373
+#, 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
+#, c-format
+msgid "ignoring broken ref %s"
+msgstr "đang lờ đi tham chiếu hỏng %s"
+
 #: ref-filter.c:1651
 #, c-format
 msgid "format: %%(end) atom missing"
@@ -1587,6 +1646,21 @@
 msgid "failed to read %s"
 msgstr "gặp lỗi khi đọc %s"
 
+#: sha1_file.c:1080
+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:2459
+#, 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:2463
+#, c-format
+msgid "offset beyond end of pack index for %s (truncated index?)"
+msgstr ""
+"vị trí tương đối vượt quá cuối của chỉ mục gói cho %s (mục lục bị cắt cụt à?)"
+
 #: sha1_name.c:462
 msgid ""
 "Git normally never creates a ref that ends with 40 hex characters\n"
@@ -1636,6 +1710,11 @@
 msgid "staging updated .gitmodules failed"
 msgstr "gặp lỗi khi tổ chức .gitmodules đã cập nhật"
 
+#: trailer.c:237
+#, c-format
+msgid "running trailer command '%s' failed"
+msgstr "chạy lệnh kéo theo “%s” gặp lỗi"
+
 #: trailer.c:492 trailer.c:496 trailer.c:500 trailer.c:554 trailer.c:558
 #: trailer.c:562
 #, c-format
@@ -2246,6 +2325,10 @@
 msgid "behind "
 msgstr "đằng sau "
 
+#: wt-status.c:1680 wt-status.c:1683
+msgid "ahead "
+msgstr "phía trước "
+
 #: compat/precompose_utf8.c:57 builtin/clone.c:413
 #, c-format
 msgid "failed to unlink '%s'"
@@ -4149,6 +4232,10 @@
 msgid "HEAD is now at"
 msgstr "HEAD hiện giờ tại"
 
+#: builtin/checkout.c:665 builtin/clone.c:659
+msgid "unable to update HEAD"
+msgstr "không thể cập nhật HEAD"
+
 #: builtin/checkout.c:669
 #, c-format
 msgid "Reset branch '%s'\n"
@@ -4667,6 +4754,14 @@
 msgid "use IPv6 addresses only"
 msgstr "chỉ dùng địa chỉ IPv6"
 
+#: builtin/clone.c:239
+msgid ""
+"No directory name could be guessed.\n"
+"Please specify a directory on the command line"
+msgstr ""
+"Không đoán được thư mục tên là gì.\n"
+"Vui lòng chỉ định tên một thư mục trên dòng lệnh"
+
 #: builtin/clone.c:305
 #, c-format
 msgid "reference repository '%s' as a linked checkout is not supported yet."
@@ -4741,6 +4836,11 @@
 msgid "remote did not send all necessary objects"
 msgstr "máy chủ đã không gửi tất cả các đối tượng cần thiết"
 
+#: builtin/clone.c:647
+#, c-format
+msgid "unable to update %s"
+msgstr "không thể cập nhật %s"
+
 #: builtin/clone.c:696
 msgid "remote HEAD refers to nonexistent ref, unable to checkout.\n"
 msgstr "refers HEAD máy chủ  chỉ đến ref không tồn tại, không thể lấy ra.\n"
@@ -4749,6 +4849,10 @@
 msgid "unable to checkout working tree"
 msgstr "không thể lấy ra (checkout) cây làm việc"
 
+#: builtin/clone.c:753
+msgid "unable to write parameters to config file"
+msgstr "không thể ghi các tham số vào tập tin cấu hình"
+
 #: builtin/clone.c:816
 msgid "cannot repack to clean up"
 msgstr "không thể đóng gói để dọn dẹp"
@@ -7018,53 +7122,53 @@
 msgid "bad pack.indexversion=%<PRIu32>"
 msgstr "sai pack.indexversion=%<PRIu32>"
 
-#: builtin/index-pack.c:1479 builtin/index-pack.c:1663
+#: builtin/index-pack.c:1479 builtin/index-pack.c:1664
 #, c-format
 msgid "no threads support, ignoring %s"
 msgstr "không hỗ trợ đa tuyến, bỏ qua %s"
 
-#: builtin/index-pack.c:1537
+#: builtin/index-pack.c:1538
 #, 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:1539
+#: builtin/index-pack.c:1540
 #, 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:1586
+#: builtin/index-pack.c:1587
 #, 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:1593
+#: builtin/index-pack.c:1594
 #, 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:1623
+#: builtin/index-pack.c:1624
 msgid "Cannot come back to cwd"
 msgstr "Không thể quay lại cwd"
 
-#: builtin/index-pack.c:1675 builtin/index-pack.c:1678
-#: builtin/index-pack.c:1690 builtin/index-pack.c:1694
+#: builtin/index-pack.c:1676 builtin/index-pack.c:1679
+#: builtin/index-pack.c:1691 builtin/index-pack.c:1695
 #, c-format
 msgid "bad %s"
 msgstr "%s sai"
 
-#: builtin/index-pack.c:1708
+#: builtin/index-pack.c:1709
 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:1712 builtin/index-pack.c:1721
+#: builtin/index-pack.c:1713 builtin/index-pack.c:1722
 #, 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:1729
+#: builtin/index-pack.c:1730
 msgid "--verify with no packfile name given"
 msgstr "dùng tùy chọn --verify mà không đưa ra tên packfile"
 
@@ -11254,7 +11358,7 @@
 "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:320
+#: http.c:321
 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"
 
@@ -11341,9 +11445,8 @@
 msgstr "Cập nhật th.chiếu máy chủ cùng với các đối tượng liên quan đến nó"
 
 #: common-cmds.h:32
-msgid "Forward-port local commits to the updated upstream head"
-msgstr ""
-"Chuyển tiếp những lần chuyển giao nội bộ tới head thượng nguồn đã cập nhật"
+msgid "Reapply commits on top of another base tip"
+msgstr "Thu hoạch các lần chuyển giao trên đỉnh của đầu mút cơ sở khác"
 
 #: common-cmds.h:33
 msgid "Reset current HEAD to the specified state"
@@ -12174,6 +12277,10 @@
 msgid "Synchronizing submodule url for '$displaypath'"
 msgstr "Url Mô-đun-con đồng bộ hóa cho “$displaypath”"
 
+#~ msgid "Forward-port local commits to the updated upstream head"
+#~ msgstr ""
+#~ "Chuyển tiếp những lần chuyển giao nội bộ tới head thượng nguồn đã cập nhật"
+
 #~ msgid "unable to parse format"
 #~ msgstr "không thể phân tích định dạng"
 
@@ -12311,9 +12418,6 @@
 #~ msgid "unable to parse value '%s' for option %s"
 #~ msgstr "không thể phân tích giá trị “%s” cho tùy chọn %s"
 
-#~ msgid "unable to resolve HEAD"
-#~ msgstr "không thể phân giải HEAD"
-
 #~ msgid "-b and -B are mutually exclusive"
 #~ msgstr "-b và -B loại từ lẫn nhau."
 
@@ -12383,9 +12487,6 @@
 #~ msgid "prune .git/worktrees"
 #~ msgstr "xén .git/worktrees"
 
-#~ msgid "--worktrees does not take extra arguments"
-#~ msgstr "--worktrees không nhận các đối số thêm"
-
 #~ msgid "The most commonly used git commands are:"
 #~ msgstr "Những lệnh git hay được dùng nhất là:"
 
@@ -12416,9 +12517,6 @@
 #~ msgid "force creation (when already exists)"
 #~ msgstr "ép buộc tạo (khi đã có nhánh cùng tên)"
 
-#~ msgid "Malformed ident string: '%s'"
-#~ msgstr "Chuỗi thụt lề đầu dòng dị hình: “%s”"
-
 #~ msgid "slot"
 #~ msgstr "khe"
 
@@ -12467,9 +12565,6 @@
 #~ msgid "bug"
 #~ msgstr "lỗi"
 
-#~ msgid "ahead "
-#~ msgstr "phía trước "
-
 #~ msgid ", behind "
 #~ msgstr ", đằng sau "
 
diff --git a/remote.c b/remote.c
index fc02698..28fd676 100644
--- a/remote.c
+++ b/remote.c
@@ -455,7 +455,6 @@
 {
 	static int loaded;
 	struct object_id oid;
-	const char *head_ref;
 	int flag;
 
 	if (loaded)
@@ -463,10 +462,12 @@
 	loaded = 1;
 
 	current_branch = NULL;
-	head_ref = resolve_ref_unsafe("HEAD", 0, oid.hash, &flag);
-	if (head_ref && (flag & REF_ISSYMREF) &&
-	    skip_prefix(head_ref, "refs/heads/", &head_ref)) {
-		current_branch = make_branch(head_ref, 0);
+	if (startup_info->have_repository) {
+		const char *head_ref = resolve_ref_unsafe("HEAD", 0, oid.hash, &flag);
+		if (head_ref && (flag & REF_ISSYMREF) &&
+		    skip_prefix(head_ref, "refs/heads/", &head_ref)) {
+			current_branch = make_branch(head_ref, 0);
+		}
 	}
 	git_config(handle_config, NULL);
 	alias_all_urls();
diff --git a/setup.c b/setup.c
index de1a2a7..3439ec6 100644
--- a/setup.c
+++ b/setup.c
@@ -7,6 +7,9 @@
 static int work_tree_config_is_bogus;
 static struct string_list unknown_extensions = STRING_LIST_INIT_DUP;
 
+static struct startup_info the_startup_info;
+struct startup_info *startup_info = &the_startup_info;
+
 /*
  * The input parameter must contain an absolute path, and it must already be
  * normalized.
@@ -905,10 +908,9 @@
 	else
 		setenv(GIT_PREFIX_ENVIRONMENT, "", 1);
 
-	if (startup_info) {
-		startup_info->have_repository = !nongit_ok || !*nongit_ok;
-		startup_info->prefix = prefix;
-	}
+	startup_info->have_repository = !nongit_ok || !*nongit_ok;
+	startup_info->prefix = prefix;
+
 	return prefix;
 }
 
@@ -984,7 +986,9 @@
 
 int check_repository_format(void)
 {
-	return check_repository_format_gently(get_git_dir(), NULL);
+	check_repository_format_gently(get_git_dir(), NULL);
+	startup_info->have_repository = 1;
+	return 0;
 }
 
 /*
diff --git a/sha1_name.c b/sha1_name.c
index 3acf221..776101e 100644
--- a/sha1_name.c
+++ b/sha1_name.c
@@ -1353,9 +1353,6 @@
 	if (!starts_with(rel, "./") && !starts_with(rel, "../"))
 		return NULL;
 
-	if (!startup_info)
-		die("BUG: startup_info struct is not initialized.");
-
 	if (!is_inside_work_tree())
 		die("relative path syntax can't be used outside working tree.");
 
diff --git a/strbuf.c b/strbuf.c
index f60e2ee..2c08dbb 100644
--- a/strbuf.c
+++ b/strbuf.c
@@ -481,9 +481,15 @@
 	if (errno == ENOMEM)
 		die("Out of memory, getdelim failed");
 
-	/* Restore slopbuf that we moved out of the way before */
+	/*
+	 * Restore strbuf invariants; if getdelim left us with a NULL pointer,
+	 * we can just re-init, but otherwise we should make sure that our
+	 * length is empty, and that the result is NUL-terminated.
+	 */
 	if (!sb->buf)
 		strbuf_init(sb, 0);
+	else
+		strbuf_reset(sb);
 	return EOF;
 }
 #else
diff --git a/submodule-config.c b/submodule-config.c
index 92502b5..8476e0f 100644
--- a/submodule-config.c
+++ b/submodule-config.c
@@ -392,8 +392,7 @@
 		struct hashmap_iter iter;
 		struct submodule_entry *entry;
 
-		hashmap_iter_init(&cache->for_name, &iter);
-		entry = hashmap_iter_next(&iter);
+		entry = hashmap_iter_first(&cache->for_name, &iter);
 		if (!entry)
 			return NULL;
 		return entry->config;
diff --git a/t/lib-httpd/apache.conf b/t/lib-httpd/apache.conf
index f667e7c..9317ba0 100644
--- a/t/lib-httpd/apache.conf
+++ b/t/lib-httpd/apache.conf
@@ -74,6 +74,7 @@
 PassEnv GNUPGHOME
 PassEnv ASAN_OPTIONS
 PassEnv GIT_TRACE
+PassEnv GIT_CONFIG_NOSYSTEM
 
 Alias /dumb/ www/
 Alias /auth/dumb/ www/auth/dumb/
diff --git a/t/t1300-repo-config.sh b/t/t1300-repo-config.sh
index 6767da8..3d6f1db 100755
--- a/t/t1300-repo-config.sh
+++ b/t/t1300-repo-config.sh
@@ -1144,6 +1144,9 @@
 		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://good.example.com >actual &&
 	test_cmp expect actual &&
diff --git a/t/t1506-rev-parse-diagnosis.sh b/t/t1506-rev-parse-diagnosis.sh
index 613d9bf..86c2ff2 100755
--- a/t/t1506-rev-parse-diagnosis.sh
+++ b/t/t1506-rev-parse-diagnosis.sh
@@ -166,11 +166,6 @@
 	grep "relative path syntax can.t be used outside working tree." error
 '
 
-test_expect_success 'relative path when startup_info is NULL' '
-	test_must_fail test-match-trees HEAD:./file.txt HEAD:./file.txt 2>error &&
-	grep "BUG: startup_info struct is not initialized." error
-'
-
 test_expect_success '<commit>:file correctly diagnosed after a pathname' '
 	test_must_fail git rev-parse file.txt HEAD:file.txt 1>actual 2>error &&
 	test_i18ngrep ! "exists on disk" error &&
diff --git a/t/t1515-rev-parse-outside-repo.sh b/t/t1515-rev-parse-outside-repo.sh
new file mode 100755
index 0000000..3ec2971
--- /dev/null
+++ b/t/t1515-rev-parse-outside-repo.sh
@@ -0,0 +1,45 @@
+#!/bin/sh
+
+test_description='check that certain rev-parse options work outside repo'
+. ./test-lib.sh
+
+test_expect_success 'set up non-repo directory' '
+	GIT_CEILING_DIRECTORIES=$(pwd) &&
+	export GIT_CEILING_DIRECTORIES &&
+	mkdir non-repo &&
+	cd non-repo &&
+	# confirm that git does not find a repo
+	test_must_fail git rev-parse --git-dir
+'
+
+# Rather than directly test the output of sq-quote directly,
+# make sure the shell can read back a tricky case, since
+# that's what we really care about anyway.
+tricky="really tricky with \\ and \" and '"
+dump_args () {
+	for i in "$@"; do
+		echo "arg: $i"
+	done
+}
+test_expect_success 'rev-parse --sq-quote' '
+	dump_args "$tricky" easy >expect &&
+	eval "dump_args $(git rev-parse --sq-quote "$tricky" easy)" >actual &&
+	test_cmp expect actual
+'
+
+test_expect_success 'rev-parse --local-env-vars' '
+	git rev-parse --local-env-vars >actual &&
+	# we do not want to depend on the complete list here,
+	# so just look for something plausible
+	grep ^GIT_DIR actual
+'
+
+test_expect_success 'rev-parse --resolve-git-dir' '
+	git init --separate-git-dir repo dir &&
+	test_must_fail git rev-parse --resolve-git-dir . &&
+	echo "$(pwd)/repo" >expect &&
+	git rev-parse --resolve-git-dir dir/.git >actual &&
+	test_cmp expect actual
+'
+
+test_done
diff --git a/t/t4001-diff-rename.sh b/t/t4001-diff-rename.sh
index 2f327b7..ed90c6c 100755
--- a/t/t4001-diff-rename.sh
+++ b/t/t4001-diff-rename.sh
@@ -77,6 +77,17 @@
 	git show HEAD:path1 | sed "s/15/16/" > subdir/path1 &&
 	git status | test_i18ngrep "renamed: .*path1 -> subdir/path1"'
 
+test_expect_success 'two files with same basename and same content' '
+	git reset --hard &&
+	mkdir -p dir/A dir/B &&
+	cp path1 dir/A/file &&
+	cp path1 dir/B/file &&
+	git add dir &&
+	git commit -m 2 &&
+	git mv dir other-dir &&
+	git status | test_i18ngrep "renamed: .*dir/A/file -> other-dir/A/file"
+'
+
 test_expect_success 'setup for many rename source candidates' '
 	git reset --hard &&
 	for i in 0 1 2 3 4 5 6 7 8 9;
diff --git a/t/t5300-pack-object.sh b/t/t5300-pack-object.sh
index fc2be63..899e52d 100755
--- a/t/t5300-pack-object.sh
+++ b/t/t5300-pack-object.sh
@@ -284,6 +284,12 @@
      git index-pack test-3.pack &&
      cmp test-3.idx test-3-${packname_3}.idx &&
 
+     cat test-1-${packname_1}.pack >test-4.pack &&
+     rm -f test-4.keep &&
+     git index-pack --keep=why test-4.pack &&
+     cmp test-1-${packname_1}.idx test-4.idx &&
+     test -f test-4.keep &&
+
      :'
 
 test_expect_success 'unpacking with --strict' '
diff --git a/t/t5400-send-pack.sh b/t/t5400-send-pack.sh
index 04cea97..305ca7a 100755
--- a/t/t5400-send-pack.sh
+++ b/t/t5400-send-pack.sh
@@ -128,6 +128,18 @@
 	test "$victim_orig" = "$victim_head"
 '
 
+test_expect_success 'send-pack --all sends all branches' '
+	# make sure we have at least 2 branches with different
+	# values, just to be thorough
+	git branch other-branch HEAD^ &&
+
+	git init --bare all.git &&
+	git send-pack --all all.git &&
+	git for-each-ref refs/heads >expect &&
+	git -C all.git for-each-ref refs/heads >actual &&
+	test_cmp expect actual
+'
+
 test_expect_success 'push --all excludes remote-tracking hierarchy' '
 	mkdir parent &&
 	(
diff --git a/t/t5500-fetch-pack.sh b/t/t5500-fetch-pack.sh
index e5f83bf..9b9bec4 100755
--- a/t/t5500-fetch-pack.sh
+++ b/t/t5500-fetch-pack.sh
@@ -531,6 +531,20 @@
 		git fsck
 	)
 '
+
+test_expect_success 'fetch-pack can fetch a raw sha1' '
+	git init hidden &&
+	(
+		cd hidden &&
+		test_commit 1 &&
+		test_commit 2 &&
+		git update-ref refs/hidden/one HEAD^ &&
+		git config transfer.hiderefs refs/hidden &&
+		git config uploadpack.allowtipsha1inwant true
+	) &&
+	git fetch-pack hidden $(git -C hidden rev-parse refs/hidden/one)
+'
+
 check_prot_path () {
 	cat >expected <<-EOF &&
 	Diag: url=$1
diff --git a/t/t5700-clone-reference.sh b/t/t5604-clone-reference.sh
similarity index 100%
rename from t/t5700-clone-reference.sh
rename to t/t5604-clone-reference.sh
diff --git a/t/t5701-clone-local.sh b/t/t5605-clone-local.sh
similarity index 100%
rename from t/t5701-clone-local.sh
rename to t/t5605-clone-local.sh
diff --git a/t/t5702-clone-options.sh b/t/t5606-clone-options.sh
similarity index 100%
rename from t/t5702-clone-options.sh
rename to t/t5606-clone-options.sh
diff --git a/t/t5704-bundle.sh b/t/t5607-clone-bundle.sh
similarity index 100%
rename from t/t5704-bundle.sh
rename to t/t5607-clone-bundle.sh
diff --git a/t/t5705-clone-2gb.sh b/t/t5608-clone-2gb.sh
similarity index 100%
rename from t/t5705-clone-2gb.sh
rename to t/t5608-clone-2gb.sh
diff --git a/t/t5706-clone-branch.sh b/t/t5609-clone-branch.sh
similarity index 100%
rename from t/t5706-clone-branch.sh
rename to t/t5609-clone-branch.sh
diff --git a/t/t5707-clone-detached.sh b/t/t5610-clone-detached.sh
similarity index 100%
rename from t/t5707-clone-detached.sh
rename to t/t5610-clone-detached.sh
diff --git a/t/t5708-clone-config.sh b/t/t5611-clone-config.sh
similarity index 100%
rename from t/t5708-clone-config.sh
rename to t/t5611-clone-config.sh
diff --git a/t/t5709-clone-refspec.sh b/t/t5612-clone-refspec.sh
similarity index 100%
rename from t/t5709-clone-refspec.sh
rename to t/t5612-clone-refspec.sh
diff --git a/t/t5710-info-alternate.sh b/t/t5613-info-alternate.sh
similarity index 100%
rename from t/t5710-info-alternate.sh
rename to t/t5613-info-alternate.sh
diff --git a/t/t7400-submodule-basic.sh b/t/t7400-submodule-basic.sh
index be82a75..e1abd19 100755
--- a/t/t7400-submodule-basic.sh
+++ b/t/t7400-submodule-basic.sh
@@ -849,6 +849,19 @@
 	git commit -m "submodule example2 added"
 '
 
+test_expect_success 'submodule deinit works on repository without submodules' '
+	test_when_finished "rm -rf newdirectory" &&
+	mkdir newdirectory &&
+	(
+		cd newdirectory &&
+		git init &&
+		>file &&
+		git add file &&
+		git commit -m "repo should not be empty"
+		git submodule deinit .
+	)
+'
+
 test_expect_success 'submodule deinit should remove the whole submodule section from .git/config' '
 	git config submodule.example.foo bar &&
 	git config submodule.example2.frotz nitfol &&
diff --git a/t/t7502-commit.sh b/t/t7502-commit.sh
index b39e313..725687d 100755
--- a/t/t7502-commit.sh
+++ b/t/t7502-commit.sh
@@ -527,11 +527,6 @@
 		test_i18ngrep "^# Changes to be committed:" .git/COMMIT_EDITMSG
 	'
 
-	test_expect_success 'commit' '
-		try_commit "" &&
-		test_i18ngrep "^# Changes to be committed:" .git/COMMIT_EDITMSG
-	'
-
 	test_expect_success 'commit --status' '
 		try_commit --status &&
 		test_i18ngrep "^# Changes to be committed:" .git/COMMIT_EDITMSG
diff --git a/t/t7600-merge.sh b/t/t7600-merge.sh
index 302e238..85248a1 100755
--- a/t/t7600-merge.sh
+++ b/t/t7600-merge.sh
@@ -33,9 +33,11 @@
 printf '%s\n' '1 X' 2 3 4 5 6 7 8 9 >file.1
 printf '%s\n' 1 2 3 4 '5 X' 6 7 8 9 >file.5
 printf '%s\n' 1 2 3 4 5 6 7 8 '9 X' >file.9
+printf '%s\n' 1 2 3 4 5 6 7 8 '9 Y' >file.9y
 printf '%s\n' '1 X' 2 3 4 5 6 7 8 9 >result.1
 printf '%s\n' '1 X' 2 3 4 '5 X' 6 7 8 9 >result.1-5
 printf '%s\n' '1 X' 2 3 4 '5 X' 6 7 8 '9 X' >result.1-5-9
+printf '%s\n' 1 2 3 4 5 6 7 8 '9 Z' >result.9z
 >empty
 
 create_merge_msgs () {
@@ -128,6 +130,12 @@
 	git tag c2 &&
 	c2=$(git rev-parse HEAD) &&
 	git reset --hard "$c0" &&
+	cp file.9y file &&
+	git add file &&
+	test_tick &&
+	git commit -m "commit 7" &&
+	git tag c7 &&
+	git reset --hard "$c0" &&
 	cp file.9 file &&
 	git add file &&
 	test_tick &&
@@ -218,6 +226,26 @@
 	verify_parents $c1 $c2
 '
 
+test_expect_success 'merge --squash c3 with c7' '
+	git reset --hard c3 &&
+	test_must_fail git merge --squash c7 &&
+	cat result.9z >file &&
+	git commit --no-edit -a &&
+
+	{
+		cat <<-EOF
+		Squashed commit of the following:
+
+		$(git show -s c7)
+
+		# Conflicts:
+		#	file
+		EOF
+	} >expect &&
+	git cat-file commit HEAD | sed -e '1,/^$/d' >actual &&
+	test_cmp expect actual
+'
+
 test_debug 'git log --graph --decorate --oneline --all'
 
 test_expect_success 'merge c1 with c2 and c3' '
@@ -725,4 +753,14 @@
 	test_must_fail git merge -s resolve master
 '
 
+test_expect_success 'merge nothing into void' '
+	git init void &&
+	(
+		cd void &&
+		git remote add up .. &&
+		git fetch up &&
+		test_must_fail git merge FETCH_HEAD
+	)
+'
+
 test_done
diff --git a/t/t7610-mergetool.sh b/t/t7610-mergetool.sh
index 6f12b23..76306cf 100755
--- a/t/t7610-mergetool.sh
+++ b/t/t7610-mergetool.sh
@@ -243,6 +243,70 @@
 	git reset --hard
 '
 
+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_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 &&
+	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 &&
+	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_expect_success 'mergetool produces no errors when keepBackup is used' '
+	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_expect_success 'mergetool honors tempfile config for deleted files' '
+	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_expect_success 'mergetool keeps tempfiles when aborting delete/delete' '
+	test_config mergetool.keepTemporaries true &&
+	test_must_fail git merge move-to-b &&
+	! (echo a; echo n) | git mergetool a/a/file.txt &&
+	test -d a/a &&
+	cat >expect <<-\EOF &&
+	file_BASE_.txt
+	file_LOCAL_.txt
+	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_expect_success 'deleted vs modified submodule' '
 	git checkout -b test6 branch1 &&
 	git submodule update -N &&
diff --git a/t/t7810-grep.sh b/t/t7810-grep.sh
index b540944..1e72971 100755
--- a/t/t7810-grep.sh
+++ b/t/t7810-grep.sh
@@ -905,6 +905,33 @@
 	)
 '
 
+test_expect_success 'grep --no-index descends into repos, but not .git' '
+	rm -fr non &&
+	mkdir -p non/git &&
+	(
+		GIT_CEILING_DIRECTORIES="$(pwd)/non" &&
+		export GIT_CEILING_DIRECTORIES &&
+		cd non/git &&
+
+		echo magic >file &&
+		git init repo &&
+		(
+			cd repo &&
+			echo magic >file &&
+			git add file &&
+			git commit -m foo &&
+			echo magic >.git/file
+		) &&
+
+		cat >expect <<-\EOF &&
+		file
+		repo/file
+		EOF
+		git grep -l --no-index magic >actual &&
+		test_cmp expect actual
+	)
+'
+
 test_expect_success 'setup double-dash tests' '
 cat >double-dash <<EOF &&
 --
diff --git a/t/t8003-blame-corner-cases.sh b/t/t8003-blame-corner-cases.sh
index 6568429..a9b266f 100755
--- a/t/t8003-blame-corner-cases.sh
+++ b/t/t8003-blame-corner-cases.sh
@@ -212,4 +212,18 @@
 	grep "A U Thor" actual
 '
 
+test_expect_success 'blame file with CRLF core.autocrlf=true' '
+	git config core.autocrlf false &&
+	printf "testcase\r\n" >crlfinrepo &&
+	>.gitattributes &&
+	git add crlfinrepo &&
+	git commit -m "add crlfinrepo" &&
+	git config core.autocrlf true &&
+	mv crlfinrepo tmp &&
+	git checkout crlfinrepo &&
+	rm tmp &&
+	git blame crlfinrepo >actual &&
+	grep "A U Thor" actual
+'
+
 test_done
diff --git a/t/t9300-fast-import.sh b/t/t9300-fast-import.sh
index 4c5f3c9..25bb60b 100755
--- a/t/t9300-fast-import.sh
+++ b/t/t9300-fast-import.sh
@@ -55,6 +55,10 @@
 	git fast-import </dev/null
 '
 
+test_expect_success 'truncated stream complains' '
+	echo "tag foo" | test_must_fail git fast-import
+'
+
 test_expect_success 'A: create pack from stdin' '
 	test_tick &&
 	cat >input <<-INPUT_END &&
diff --git a/test-match-trees.c b/test-match-trees.c
index 109f03e..4dad709 100644
--- a/test-match-trees.c
+++ b/test-match-trees.c
@@ -6,6 +6,8 @@
 	unsigned char hash1[20], hash2[20], shifted[20];
 	struct tree *one, *two;
 
+	setup_git_directory();
+
 	if (get_sha1(av[1], hash1))
 		die("cannot parse %s as an object name", av[1]);
 	if (get_sha1(av[2], hash2))
diff --git a/test-revision-walking.c b/test-revision-walking.c
index 285f06b..3d03133 100644
--- a/test-revision-walking.c
+++ b/test-revision-walking.c
@@ -50,6 +50,8 @@
 	if (argc < 2)
 		return 1;
 
+	setup_git_directory();
+
 	if (!strcmp(argv[1], "run-twice")) {
 		printf("1st\n");
 		if (!run_revision_walk())
diff --git a/upload-pack.c b/upload-pack.c
index b3f6653..dc802a0 100644
--- a/upload-pack.c
+++ b/upload-pack.c
@@ -90,35 +90,32 @@
 		"corruption on the remote side.";
 	int buffered = -1;
 	ssize_t sz;
-	const char *argv[13];
-	int i, arg = 0;
+	int i;
 	FILE *pipe_fd;
 
 	if (shallow_nr) {
-		argv[arg++] = "--shallow-file";
-		argv[arg++] = "";
+		argv_array_push(&pack_objects.args, "--shallow-file");
+		argv_array_push(&pack_objects.args, "");
 	}
-	argv[arg++] = "pack-objects";
-	argv[arg++] = "--revs";
+	argv_array_push(&pack_objects.args, "pack-objects");
+	argv_array_push(&pack_objects.args, "--revs");
 	if (use_thin_pack)
-		argv[arg++] = "--thin";
+		argv_array_push(&pack_objects.args, "--thin");
 
-	argv[arg++] = "--stdout";
+	argv_array_push(&pack_objects.args, "--stdout");
 	if (shallow_nr)
-		argv[arg++] = "--shallow";
+		argv_array_push(&pack_objects.args, "--shallow");
 	if (!no_progress)
-		argv[arg++] = "--progress";
+		argv_array_push(&pack_objects.args, "--progress");
 	if (use_ofs_delta)
-		argv[arg++] = "--delta-base-offset";
+		argv_array_push(&pack_objects.args, "--delta-base-offset");
 	if (use_include_tag)
-		argv[arg++] = "--include-tag";
-	argv[arg++] = NULL;
+		argv_array_push(&pack_objects.args, "--include-tag");
 
 	pack_objects.in = -1;
 	pack_objects.out = -1;
 	pack_objects.err = -1;
 	pack_objects.git_cmd = 1;
-	pack_objects.argv = argv;
 
 	if (start_command(&pack_objects))
 		die("git upload-pack: unable to fork git-pack-objects");
diff --git a/xdiff/xprepare.c b/xdiff/xprepare.c
index 63a22c6..13b55ab 100644
--- a/xdiff/xprepare.c
+++ b/xdiff/xprepare.c
@@ -301,10 +301,11 @@
 
 		xdl_free_ctx(&xe->xdf2);
 		xdl_free_ctx(&xe->xdf1);
+		xdl_free_classifier(&cf);
 		return -1;
 	}
 
-	if (!(xpp->flags & XDF_HISTOGRAM_DIFF))
+	if (XDF_DIFF_ALG(xpp->flags) != XDF_HISTOGRAM_DIFF)
 		xdl_free_classifier(&cf);
 
 	return 0;