i18n: New keywords for xgettext extraction from sh

Since we have additional shell wrappers (eval_gettextln and
gettextln) for gettext, we need to take into account these wrappers
when running 'make pot' to extract messages from shell scripts.

Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
i18n: rebase: mark strings for translation

Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
i18n: Rewrite gettext messages start with dash

Gettext message in a shell script should not start with '-', one
workaround is adding '--' between gettext and the message, like:

    gettext -- "--exec option ..."

But due to a bug in the xgettext extraction, xgettext can not
extract the actual message for this case. Rewriting the message
is a simpler and better solution in this case.

Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Remove obsolete LONG_USAGE which breaks xgettext

Since there is a modern OPTIONS_SPEC variable in use in this script,
it's safe to remove the USAGE and LONG_USAGE variables; they are no
longer used.

By the way, the obsolete LONG_USAGE variable has the following
message in it:

    A'\''--B'\''--C'\''

and such complex LONG_USAGE message will breaks xgettext when
extracting l10n messages. But if single quotes are removed from the
message, xgettext works fine on 'git-rebase.sh'.

Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
i18n: am: mark more strings for translation

Mark additional 3 strings for translation, and reduce one indentation
level for one gettextln clause introduced in commit de88c1c.

Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Remove unused and bad gettext block from git-am

Gettext message should not start with '-' nor '--'. Since the '-d' and
'--dotest' options do not exist in OPTIONS_SPEC variable, it's safe to
remove the block.

Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
i18n: merge-recursive: mark strings for translation

Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Merge branch 'mm/push-default-switch-warning' into jch

Will defer for another cycle.

* mm/push-default-switch-warning:
  push: start warning upcoming default change for push.default
Merge branch 'nk/maint-gitweb-log-by-lines' into jch

Teach gitweb to pay attention to various forms of credits that are
similar to "Signed-off-by:" lines.

Needs to be eyeballed for the correctness of the esc_html() in the tip one.

* nk/maint-gitweb-log-by-lines:
  gitweb: Add support to Link: tag
  gitweb: Handle other types of tag in git_print_log
  gitweb: Cleanup git_print_log()
Merge branch 'tg/ce-namelen-field' into jch

Split lower bits of ce_flags field and creates a new ce_namelen
field in the in-core index structure.

Will merge to 'next'.

* tg/ce-namelen-field:
  Strip namelen out of ce_flags into a ce_namelen field
Merge branch 'sn/doc-typofix' into jch

Will merge to 'next'.

* sn/doc-typofix:
  doc: A few minor copy edits.
Merge branch 'mm/mediawiki-usability' into jch

Will merge to 'next'.

* mm/mediawiki-usability:
  git-remote-mediawiki: allow page names with a ':'
  git-remote-mediawiki: fix incorrect test usage in test
  git-remote-mediawiki: properly deal with invalid remote revisions
  git-remote-mediawiki: show progress information when getting last remote revision
  git-remote-mediawiki: show progress information when listing pages
  git-remote-mediawiki: use --force when adding notes
  git-remote-mediawiki: get rid of O(N^2) loop
  git-remote-mediawiki: make mediafiles export optional
  git-remote-mediawiki: actually send empty comment when they're empty
  git-remote-mediawiki: don't split namespaces with spaces
Merge branch 'jv/maint-no-ext-diff' into jch

"git diff --no-ext-diff" did not output anything for a typechange
filepair when GIT_EXTERNAL_DIFF is in effect.

Will merge to 'next'.

* jv/maint-no-ext-diff:
  diff: test precedence of external diff drivers
  diff: correctly disable external_diff with --no-ext-diff
Merge branch 'kk/maint-commit-tree' into jch

Will merge to 'next'.

* kk/maint-commit-tree:
  Revert "git-commit-tree(1): update synopsis"
  commit-tree: resurrect command line parsing updates

Conflicts:
	builtin/commit-tree.c
Merge branch 'jk/mediawiki-credential' into jch

Will merge to 'next'.

* jk/mediawiki-credential:
  mw-to-git: use git-credential's URL parser
  credential: convert "url" attribute into its parsed subparts
  mw-to-git: check blank credential attributes via length
  docs/credential: minor clarity fixups
difftool: Simplify print_tool_help()

Eliminate a global variable and File::Find usage by building upon
basename() and glob() instead.

Signed-off-by: David Aguilar <davvid@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
difftool: Eliminate global variables

Organize the script so that it has a single main() function which
calls out to dir_diff() and file_diff() functions. This eliminates
"dir-diff"-specific variables that do not need to be calculated when
performing a regular file-diff.

Signed-off-by: David Aguilar <davvid@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
difftool: Move option values into a hash

Shorten the "my" declaration for all of the option-specific variables
by wrapping all of them in a hash.  This also gives us a place to
specify default values, should we need them.

Signed-off-by: David Aguilar <davvid@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
difftool: Call the temp directory "git-difftool"

The "diffall" name was left over from when this functionality was part of
the "git-diffall" script in contrib/.  Make the naming consistent.

Signed-off-by: David Aguilar <davvid@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
difftool: Use symlinks when diffing against the worktree

Teach difftool's --dir-diff mode to use symlinks to represent
files from the working copy, and make it the default behavior
for the non-Windows platforms.

Using symlinks is simpler and safer since we do not need to
worry about copying files back into the worktree.
The old behavior is still available as --no-symlinks.

Signed-off-by: David Aguilar <davvid@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>