gitweb.git
i18n: git-submodule "Submodule change[...]" messagesÆvar Arnfjörð Bjarmason Sat, 21 May 2011 18:44:04 +0000 (18:44 +0000)

i18n: git-submodule "Submodule change[...]" messages

Gettextize the "Submodules changed but not updated" and "Submodule
changes to be committed" messages. This is explicitly tested for so we
need to skip a portion of a test with test_i18ncmp.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

i18n: git-submodule "cached cannot be used" messageÆvar Arnfjörð Bjarmason Sat, 21 May 2011 18:44:03 +0000 (18:44 +0000)

i18n: git-submodule "cached cannot be used" message

Gettextize the "--cached cannot be used with --files" message. Since
this message starts with "--" we have to pass "--" as the first
argument. This works with both GNU gettext 0.18.1 (as expected), and
the gettext(1) on Solaris 10.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

i18n: git-submodule $update_module say + die messagesÆvar Arnfjörð Bjarmason Sat, 21 May 2011 18:44:02 +0000 (18:44 +0000)

i18n: git-submodule $update_module say + die messages

Gettextize $update_module say and die messages. These messages needed
to be split up to make them translatable.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

i18n: git-submodule die + eval_gettext messagesÆvar Arnfjörð Bjarmason Sat, 21 May 2011 18:44:01 +0000 (18:44 +0000)

i18n: git-submodule die + eval_gettext messages

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

i18n: git-submodule say + eval_gettext messagesÆvar Arnfjörð Bjarmason Sat, 21 May 2011 18:44:00 +0000 (18:44 +0000)

i18n: git-submodule say + eval_gettext messages

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

i18n: git-submodule echo + eval_gettext messagesÆvar Arnfjörð Bjarmason Sat, 21 May 2011 18:43:59 +0000 (18:43 +0000)

i18n: git-submodule echo + eval_gettext messages

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

i18n: git-submodule add git-sh-i18nÆvar Arnfjörð Bjarmason Sat, 21 May 2011 18:43:58 +0000 (18:43 +0000)

i18n: git-submodule add git-sh-i18n

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

i18n: git-pull eval_gettext + warning messageÆvar Arnfjörð Bjarmason Sat, 21 May 2011 18:43:57 +0000 (18:43 +0000)

i18n: git-pull eval_gettext + warning message

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

i18n: git-pull eval_gettext + die messageÆvar Arnfjörð Bjarmason Sat, 21 May 2011 18:43:56 +0000 (18:43 +0000)

i18n: git-pull eval_gettext + die message

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

i18n: git-pull die messagesÆvar Arnfjörð Bjarmason Sat, 21 May 2011 18:43:55 +0000 (18:43 +0000)

i18n: git-pull die messages

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

i18n: git-pull add git-sh-i18nÆvar Arnfjörð Bjarmason Sat, 21 May 2011 18:43:54 +0000 (18:43 +0000)

i18n: git-pull add git-sh-i18n

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

i18n: git-am printf(1) message to eval_gettextÆvar Arnfjörð Bjarmason Sat, 21 May 2011 18:43:53 +0000 (18:43 +0000)

i18n: git-am printf(1) message to eval_gettext

Convert a message that used printf(1) format to use eval_gettext. It's
easier for translators to handle the latter, since the eval format
automatically gives them context via variable names.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

i18n: git-am core say messagesÆvar Arnfjörð Bjarmason Sat, 21 May 2011 18:43:52 +0000 (18:43 +0000)

i18n: git-am core say messages

Make the core git-am messages that use say() translatable. These are
visible on almost every git am invocation.

There are tests that depend on the "Applying" output that need to be
changed to use the test_i18* functions along with this translation.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

i18n: git-am "Falling back" say messageÆvar Arnfjörð Bjarmason Sat, 21 May 2011 18:43:51 +0000 (18:43 +0000)

i18n: git-am "Falling back" say message

Make the "Falling back to patching base and 3-way merge..." message
used by fall_back_3way() translatable.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

i18n: git-am "Apply?" messageÆvar Arnfjörð Bjarmason Sat, 21 May 2011 18:43:50 +0000 (18:43 +0000)

i18n: git-am "Apply?" message

Make the "Apply? [y]es/[n]o/[e]dit/[v]iew patch/[a]ccept all" message
translatable, and leave a note in a TRANSLATORS comment explaining
that translators have to preserve a mention of the y/n/e/v/a
characters since the program will expect them, and not their
localized equivalents.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

i18n: git-am clean_abort messagesÆvar Arnfjörð Bjarmason Sat, 21 May 2011 18:43:49 +0000 (18:43 +0000)

i18n: git-am clean_abort messages

Messages that used the clean_abort function needed both gettext(1) and
eval_gettext(). These need to be interpolated in a string like the die
and cannot_fallback messages.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

i18n: git-am cannot_fallback messagesÆvar Arnfjörð Bjarmason Sat, 21 May 2011 18:43:48 +0000 (18:43 +0000)

i18n: git-am cannot_fallback messages

Translate messages with gettext(1) before they're passed to the
cannot_fallback function, just like we handle the die function.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

i18n: git-am die messagesÆvar Arnfjörð Bjarmason Sat, 21 May 2011 18:43:47 +0000 (18:43 +0000)

i18n: git-am die messages

The die messages in git-am need to use:

die "$(gettext "string")"

Since gettext(1) emits the message instead of returning it like the C
equivalent, and our die() function in git-sh-setup needs to get a
string as an argument.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

i18n: git-am gettext + gettext to stderr messageÆvar Arnfjörð Bjarmason Sat, 21 May 2011 18:43:46 +0000 (18:43 +0000)

i18n: git-am gettext + gettext to stderr message

Signed-off-by: Junio C Hamano <gitster@pobox.com>

i18n: git-am eval_gettext messagesÆvar Arnfjörð Bjarmason Sat, 21 May 2011 18:43:45 +0000 (18:43 +0000)

i18n: git-am eval_gettext messages

Messages that use variables to be interpolated need to use
eval_gettext(), this wrapper will eval the message and expand the
variable for us.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

i18n: git-am multi-line getttext $msg; echoÆvar Arnfjörð Bjarmason Sat, 21 May 2011 18:43:44 +0000 (18:43 +0000)

i18n: git-am multi-line getttext $msg; echo

When we have multi-line `gettext $msg; echo' messages we can't
preserve the existing indenting because gettext(1) can't accept input
on stdin.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

i18n: git-am one-line gettext $msg; echoÆvar Arnfjörð Bjarmason Sat, 21 May 2011 18:43:43 +0000 (18:43 +0000)

i18n: git-am one-line gettext $msg; echo

One-line `gettext $msg; echo' messages are the simplest use case for
gettext(1).

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

i18n: git-am add git-sh-i18nÆvar Arnfjörð Bjarmason Sat, 21 May 2011 18:43:42 +0000 (18:43 +0000)

i18n: git-am add git-sh-i18n

Source git-sh-i18n in git-am.sh, it's needed to import the Git gettext
shell functions.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Makefile: add xgettext target for *.sh filesÆvar Arnfjörð Bjarmason Sat, 14 May 2011 13:47:45 +0000 (13:47 +0000)

Makefile: add xgettext target for *.sh files

Change the "pot" target to also extract strings from our $(SCRIPT_SH)
files with xgettext(1).

Note that due to Jonathan Nieder's trick of doing "mv $@+ $@" at the
end of the target the "pot" target will now warn:

$ make pot
XGETTEXT po/git.pot
po/git.pot+: warning: Charset "CHARSET" is not a portable encoding name.
Message conversion to user's charset might not work.

This warnings is emitted because xgettext is writing into a non-*.pot
file, it's harmless however. The content that's written out is
equivalent to what it would be if we were writing directly into an
existing POT file with --join-existing.

As part of this change I've eliminated the && chain between xgettext
calls, this is incompatible with $(QUIET_XGETTEXT), if the && is left
in it'll emit:

/bin/sh: @echo: not found

Since it's redundant (the Makefile will stop if there's an error) I've
removed it altogether.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

git-sh-i18n.sh: add GIT_GETTEXT_POISON supportÆvar Arnfjörð Bjarmason Sat, 14 May 2011 13:47:44 +0000 (13:47 +0000)

git-sh-i18n.sh: add GIT_GETTEXT_POISON support

Change git-sh-i18n.sh to support the GIT_GETTEXT_POISON environment
variable like gettext.c does, this ensures that tests that use
git-sh-i18n.sh will fail under GETTEXT_POISON=YesPlease if they rely
on Git's C locale messages without declaring that they do.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

git-sh-i18n.sh: add no-op gettext() and eval_gettext... Ævar Arnfjörð Bjarmason Sat, 14 May 2011 13:47:43 +0000 (13:47 +0000)

git-sh-i18n.sh: add no-op gettext() and eval_gettext() wrappers

Add a no-op wrapper library for Git's shell scripts. To split up the
gettext series I'm first submitting patches to gettextize the source
tree before I add any of the Makefile and Shell library changes needed
to actually use them.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

git-sh-i18n--envsubst: our own envsubst(1) for eval_get... Ævar Arnfjörð Bjarmason Sat, 14 May 2011 13:47:42 +0000 (13:47 +0000)

git-sh-i18n--envsubst: our own envsubst(1) for eval_gettext()

Add a git-sh-i18n--envsubst program which is a stripped-down version
of the GNU envsubst(1) program that comes with GNU gettext for use in
the eval_gettext() fallback.

We need a C helper program because implementing eval_gettext() purely
in shell turned out to be unworkable. Digging through the Git mailing
list archives will reveal two shell implementations of eval_gettext
that are almost good enough, but fail on an edge case which is tested
for in the tests which are part of this patch.

These are the modifications I made to envsubst.c as I turned it into
sh-i18n--envsubst.c:

* Added our git-compat-util.h header for xrealloc() and friends.

* Removed inclusion of gettext-specific headers.

* Removed most of main() and replaced it with my own. The modified
version only does option parsing for --variables. That's all it
needs.

* Modified error() invocations to use our error() instead of
error(3).

* Replaced the gettext XNMALLOC(n, size) macro with just
xmalloc(n). Since XNMALLOC() only allocated char's.

* Removed the string_list_destroy function. It's redundant (also in
the upstream code).

* Replaced the use of stdbool.h (a C99 header) by doing the following
replacements on the code:

* s/bool/unsigned short int/g
* s/true/1/g
* s/false/0/g

Reported-by: Johannes Sixt <j.sixt@viscovery.net>
Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Update draft release notes to 1.7.6Junio C Hamano Fri, 6 May 2011 18:13:08 +0000 (11:13 -0700)

Update draft release notes to 1.7.6

Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'jn/run-command-error-failure'Junio C Hamano Fri, 6 May 2011 18:01:04 +0000 (11:01 -0700)

Merge branch 'jn/run-command-error-failure'

* jn/run-command-error-failure:
run-command: handle short writes and EINTR in die_child
tests: check error message from run_command

Merge branch 'js/info-man-path'Junio C Hamano Fri, 6 May 2011 18:00:46 +0000 (11:00 -0700)

Merge branch 'js/info-man-path'

* js/info-man-path:
Documentation: clarify meaning of --html-path, --man-path, and --info-path
git: add --info-path and --man-path options

Conflicts:
Makefile

Merge branch 'im/hashcmp-optim'Junio C Hamano Fri, 6 May 2011 18:00:36 +0000 (11:00 -0700)

Merge branch 'im/hashcmp-optim'

* im/hashcmp-optim:
hashcmp(): inline memcmp() by hand to optimize

Merge branch 'jk/merge-one-file-working-tree'Junio C Hamano Fri, 6 May 2011 17:54:08 +0000 (10:54 -0700)

Merge branch 'jk/merge-one-file-working-tree'

* jk/merge-one-file-working-tree:
merge-one-file: fix broken merges with alternate work trees
add tests for merge-index / merge-one-file

Merge branch 'jc/fix-diff-files-unmerged'Junio C Hamano Fri, 6 May 2011 17:52:58 +0000 (10:52 -0700)

Merge branch 'jc/fix-diff-files-unmerged'

* jc/fix-diff-files-unmerged:
diff-files: show unmerged entries correctly
diff: remove often unused parameters from diff_unmerge()
diff.c: return filepair from diff_unmerge()
test: use $_z40 from test-lib

Merge branch 'cj/p4merge'Junio C Hamano Fri, 6 May 2011 17:52:16 +0000 (10:52 -0700)

Merge branch 'cj/p4merge'

* cj/p4merge:
Pass empty file to p4merge where no base is suitable.

Merge branch 'gr/cvsimport-alternative-cvspass-location'Junio C Hamano Fri, 6 May 2011 17:52:12 +0000 (10:52 -0700)

Merge branch 'gr/cvsimport-alternative-cvspass-location'

* gr/cvsimport-alternative-cvspass-location:
Look for password in both CVS and CVSNT password files.

Merge branch 'sg/completion-cleanup'Junio C Hamano Fri, 6 May 2011 17:52:03 +0000 (10:52 -0700)

Merge branch 'sg/completion-cleanup'

* sg/completion-cleanup:
completion: remove unnecessary _get_comp_words_by_ref() invocations
completion: don't modify the $cur variable in completion functions

Merge branch 'js/blame-parsename'Junio C Hamano Fri, 6 May 2011 17:50:32 +0000 (10:50 -0700)

Merge branch 'js/blame-parsename'

* js/blame-parsename:
t/annotate-tests: Use echo & cat instead of sed
blame: tolerate bogus e-mail addresses a bit better

Merge branch 'jk/format-patch-quote-special-in-from'Junio C Hamano Fri, 6 May 2011 17:50:18 +0000 (10:50 -0700)

Merge branch 'jk/format-patch-quote-special-in-from'

* jk/format-patch-quote-special-in-from:
pretty: quote rfc822 specials in email addresses

Conflicts:
pretty.c
t/t4014-format-patch.sh

Merge branch 'nd/struct-pathspec'Junio C Hamano Fri, 6 May 2011 17:50:06 +0000 (10:50 -0700)

Merge branch 'nd/struct-pathspec'

* nd/struct-pathspec:
pathspec: rename per-item field has_wildcard to use_wildcard
Improve tree_entry_interesting() handling code
Convert read_tree{,_recursive} to support struct pathspec
Reimplement read_tree_recursive() using tree_entry_interesting()

Merge branch 'aw/maint-rebase-i-p-no-ff'Junio C Hamano Fri, 6 May 2011 17:50:00 +0000 (10:50 -0700)

Merge branch 'aw/maint-rebase-i-p-no-ff'

* aw/maint-rebase-i-p-no-ff:
git-rebase--interactive.sh: preserve-merges fails on merges created with no-ff

Conflicts:
git-rebase--interactive.sh

Merge branch 'mg/alias-expose-prefix'Junio C Hamano Fri, 6 May 2011 17:49:57 +0000 (10:49 -0700)

Merge branch 'mg/alias-expose-prefix'

* mg/alias-expose-prefix:
handle_alias: provide GIT_PREFIX to !alias
t1020: test !alias in subdirectory

Merge branch 'mg/diff-uiconfig-doc'Junio C Hamano Fri, 6 May 2011 17:49:53 +0000 (10:49 -0700)

Merge branch 'mg/diff-uiconfig-doc'

* mg/diff-uiconfig-doc:
config.txt,diff-options.txt: porcelain vs. plumbing for color.diff

Merge branch 'maint'Junio C Hamano Fri, 6 May 2011 17:44:23 +0000 (10:44 -0700)

Merge branch 'maint'

* maint:
Remove duplicated "is a"

Remove duplicated "is a"João Britto Fri, 6 May 2011 04:16:17 +0000 (01:16 -0300)

Remove duplicated "is a"

Signed-off-by: João Britto <jabcalves@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'maint'Junio C Hamano Thu, 5 May 2011 21:43:45 +0000 (14:43 -0700)

Merge branch 'maint'

* maint:
t3701: fix here document
git-fast-import.txt: --relative-marks takes no parameter
shell: add missing initialization of argv0_path

t3701: fix here documentJunio C Hamano Thu, 5 May 2011 18:28:52 +0000 (11:28 -0700)

t3701: fix here document

A broken here-document was not caught because end of file is taken by
an implicit end of the here document (POSIX does not seem to say it is
an error to lack the delimiter), and everything in the test just turned
into a single "cat into a file".

Noticed-by: Kacper Kornet <draenog@pld-linux.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

git-fast-import.txt: --relative-marks takes no parameterMichael J Gruber Thu, 5 May 2011 09:13:38 +0000 (11:13 +0200)

git-fast-import.txt: --relative-marks takes no parameter

Remove spurious "=" after --relative-marks.

Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

shell: add missing initialization of argv0_pathDima Sharov Thu, 5 May 2011 06:40:17 +0000 (09:40 +0300)

shell: add missing initialization of argv0_path

According to c6dfb39 (remote-curl: add missing initialization of
argv0_path, 2009-10-13), stand-alone programs (non-builtins)
must call git_extract_argv0_path(argv[0]) in order to help builds
that derive the installation prefix at runtime. Without this call,
the program segfaults (or raises an assertion failure).

Signed-off-by: Dima Sharov <git.avalakvista@gmail.com>
Acked-by: Johannes Sixt <j6t@kdbg.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

t/annotate-tests: Use echo & cat instead of sedBrian Gernhardt Thu, 5 May 2011 04:43:37 +0000 (00:43 -0400)

t/annotate-tests: Use echo & cat instead of sed

The use of the sed command "1i No robots allowed" caused the version
of sed in OS X to die with

sed: 1: "1i "No robots allowed"\n": command i expects \ followed by
text

Since this command was just trying to add a single line to the
beginning of the file, do the same with "echo" followed by "cat".

Unbreaks t8001 and t8002 on OS X 10.6.7

Signed-off-by: Brian Gernhardt <brian@gernhardtsoftware.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Update draft release notes to 1.7.6Junio C Hamano Wed, 4 May 2011 23:02:17 +0000 (16:02 -0700)

Update draft release notes to 1.7.6

Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'ml/test-readme'Junio C Hamano Wed, 4 May 2011 22:52:00 +0000 (15:52 -0700)

Merge branch 'ml/test-readme'

* ml/test-readme:
t/README: unify documentation of test function args

Merge branch 'ft/gitweb-tar-with-gzip-n'Junio C Hamano Wed, 4 May 2011 22:51:57 +0000 (15:51 -0700)

Merge branch 'ft/gitweb-tar-with-gzip-n'

* ft/gitweb-tar-with-gzip-n:
gitweb: supply '-n' to gzip for identical output

Merge branch 'mg/rev-list-count-cherry'Junio C Hamano Wed, 4 May 2011 22:51:53 +0000 (15:51 -0700)

Merge branch 'mg/rev-list-count-cherry'

* mg/rev-list-count-cherry:
rev-list --count: separate count for --cherry-mark

Merge branch 'ss/doc-svn'Junio C Hamano Wed, 4 May 2011 22:51:43 +0000 (15:51 -0700)

Merge branch 'ss/doc-svn'

* ss/doc-svn:
remove noise and inaccuracies from git-svn docs

Merge branch 'jn/format-patch-doc'Junio C Hamano Wed, 4 May 2011 22:51:41 +0000 (15:51 -0700)

Merge branch 'jn/format-patch-doc'

* jn/format-patch-doc:
Documentation/format-patch: suggest Toggle Word Wrap add-on for Thunderbird
Documentation: publicize hints for sending patches with GMail
Documentation: publicize KMail hints for sending patches inline
Documentation: hints for sending patches inline with Thunderbird
Documentation: explain how to check for patch corruption

Merge branch 'vr/merge-base-doc'Junio C Hamano Wed, 4 May 2011 22:51:37 +0000 (15:51 -0700)

Merge branch 'vr/merge-base-doc'

* vr/merge-base-doc:
Restructure documentation for git-merge-base.
Documentation: update to git-merge-base --octopus

Merge branch 'ss/cherry-pick-x-doc'Junio C Hamano Wed, 4 May 2011 22:51:35 +0000 (15:51 -0700)

Merge branch 'ss/cherry-pick-x-doc'

* ss/cherry-pick-x-doc:
doc: Clarify that "cherry-pick -x" does not use "git notes"

Merge branch 'jn/maint-format-patch-doc'Junio C Hamano Wed, 4 May 2011 22:51:31 +0000 (15:51 -0700)

Merge branch 'jn/maint-format-patch-doc'

* jn/maint-format-patch-doc:
Documentation: describe the format of messages with inline patches

Merge branch 'jk/format-patch-multiline-header'Junio C Hamano Wed, 4 May 2011 22:51:27 +0000 (15:51 -0700)

Merge branch 'jk/format-patch-multiline-header'

* jk/format-patch-multiline-header:
format-patch: wrap email addresses after long names

Merge branch 'jm/mergetool-submodules'Junio C Hamano Wed, 4 May 2011 22:51:23 +0000 (15:51 -0700)

Merge branch 'jm/mergetool-submodules'

* jm/mergetool-submodules:
mergetool: Teach about submodules

Sync with 1.7.5.1Junio C Hamano Wed, 4 May 2011 22:49:04 +0000 (15:49 -0700)

Sync with 1.7.5.1

Signed-off-by: Junio C Hamano <gitster@pobox.com>

Git 1.7.5.1 v1.7.5.1Junio C Hamano Wed, 4 May 2011 22:47:40 +0000 (15:47 -0700)

Git 1.7.5.1

Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'jh/dirstat' into maintJunio C Hamano Wed, 4 May 2011 21:59:07 +0000 (14:59 -0700)

Merge branch 'jh/dirstat' into maint

* jh/dirstat:
--dirstat: In case of renames, use target filename instead of source filename
Teach --dirstat not to completely ignore rearranged lines within a file
--dirstat-by-file: Make it faster and more correct
--dirstat: Describe non-obvious differences relative to --stat or regular diff

Merge branch 'sp/maint-clear-postfields' into maintJunio C Hamano Wed, 4 May 2011 21:58:56 +0000 (14:58 -0700)

Merge branch 'sp/maint-clear-postfields' into maint

* sp/maint-clear-postfields:
http: clear POSTFIELDS when initializing a slot

Merge branch 'jk/maint-stash-oob' into maintJunio C Hamano Wed, 4 May 2011 21:58:42 +0000 (14:58 -0700)

Merge branch 'jk/maint-stash-oob' into maint

* jk/maint-stash-oob:
stash: fix false positive in the invalid ref test.
stash: fix accidental apply of non-existent stashes

Conflicts:
t/t3903-stash.sh

Merge branch 'jk/maint-upload-pack-shallow' into maintJunio C Hamano Wed, 4 May 2011 21:58:13 +0000 (14:58 -0700)

Merge branch 'jk/maint-upload-pack-shallow' into maint

* jk/maint-upload-pack-shallow:
upload-pack: start pack-objects before async rev-list

Merge branch 'dm/stash-k-i-p' into maintJunio C Hamano Wed, 4 May 2011 21:57:49 +0000 (14:57 -0700)

Merge branch 'dm/stash-k-i-p' into maint

* dm/stash-k-i-p:
stash: ensure --no-keep-index and --patch can be used in any order
stash: add two more tests for --no-keep-index

Merge branch 'jc/pack-objects-bigfile' into maintJunio C Hamano Wed, 4 May 2011 21:57:38 +0000 (14:57 -0700)

Merge branch 'jc/pack-objects-bigfile' into maint

* jc/pack-objects-bigfile:
Teach core.bigfilethreashold to pack-objects

Merge branch 'mg/reflog-with-options' into maintJunio C Hamano Wed, 4 May 2011 21:57:33 +0000 (14:57 -0700)

Merge branch 'mg/reflog-with-options' into maint

* mg/reflog-with-options:
reflog: fix overriding of command line options
t/t1411: test reflog with formats
builtin/log.c: separate default and setup of cmd_log_init()

Merge branch 'jk/stash-loosen-safety' into maintJunio C Hamano Wed, 4 May 2011 21:57:15 +0000 (14:57 -0700)

Merge branch 'jk/stash-loosen-safety' into maint

* jk/stash-loosen-safety:
stash: drop dirty worktree check on apply

Merge branch 'ar/clean-rmdir-empty' into maintJunio C Hamano Wed, 4 May 2011 21:57:06 +0000 (14:57 -0700)

Merge branch 'ar/clean-rmdir-empty' into maint

* ar/clean-rmdir-empty:
clean: unreadable directory may still be rmdir-able if it is empty

Merge branch 'mg/sha1-path-advise' into maintJunio C Hamano Wed, 4 May 2011 21:56:51 +0000 (14:56 -0700)

Merge branch 'mg/sha1-path-advise' into maint

* mg/sha1-path-advise:
sha1_name: Suggest commit:./file for path in subdir
t1506: factor out test for "Did you mean..."

git-add.txt: document 'add.ignoreErrors'Valentin Haenel Wed, 4 May 2011 19:58:17 +0000 (21:58 +0200)

git-add.txt: document 'add.ignoreErrors'

Signed-off-by: Valentin Haenel <valentin.haenel@gmx.de>
Noticed-by: Junio C Hamano <gitster@pobox.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Update draft release notes to 1.7.6Junio C Hamano Mon, 2 May 2011 23:10:50 +0000 (16:10 -0700)

Update draft release notes to 1.7.6

Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'jk/notes-ui-updates'Junio C Hamano Mon, 2 May 2011 22:58:50 +0000 (15:58 -0700)

Merge branch 'jk/notes-ui-updates'

* jk/notes-ui-updates:
contrib/completion: --notes, --no-notes
log/pretty-options: Document --[no-]notes and deprecate old notes options
revision.c: make --no-notes reset --notes list
revision.c: support --notes command-line option
notes: refactor display notes default handling
notes: refactor display notes extra refs field
revision.c: refactor notes ref expansion
notes: make expand_notes_ref globally accessible

Merge branch 'ab/i18n-fixup'Junio C Hamano Mon, 2 May 2011 22:58:40 +0000 (15:58 -0700)

Merge branch 'ab/i18n-fixup'

* ab/i18n-fixup: (24 commits)
i18n: use test_i18n{cmp,grep} in t7600, t7607, t7611 and t7811
i18n: use test_i18n{grep,cmp} in t7508
i18n: use test_i18ngrep in t7506
i18n: use test_i18ngrep and test_i18ncmp in t7502
i18n: use test_i18ngrep in t7501
i18n: use test_i18ncmp in t7500
i18n: use test_i18ngrep in t7201
i18n: use test_i18ncmp and test_i18ngrep in t7102 and t7110
i18n: use test_i18ncmp and test_i18ngrep in t5541, t6040, t6120, t7004, t7012 and t7060
i18n: use test_i18ncmp and test_i18ngrep in t3700, t4001 and t4014
i18n: use test_i18ncmp and test_i18ngrep in t3203, t3501 and t3507
i18n: use test_i18ngrep in t2020, t2204, t3030, and t3200
i18n: use test_i18ngrep in lib-httpd and t2019
i18n: do not overuse C_LOCALE_OUTPUT (grep)
i18n: use test_i18ncmp in t1200 and t2200
i18n: .git file is not a human readable message (t5601)
i18n: do not overuse C_LOCALE_OUTPUT
i18n: mark init-db messages for translation
i18n: mark checkout plural warning for translation
i18n: mark checkout --detach messages for translation
...

Merge branch 'nm/submodule-update-force'Junio C Hamano Mon, 2 May 2011 22:58:36 +0000 (15:58 -0700)

Merge branch 'nm/submodule-update-force'

* nm/submodule-update-force:
submodule: Add --force option for git submodule update

Conflicts:
t/t7406-submodule-update.sh

Merge branch 'jh/notes-add-ui'Junio C Hamano Mon, 2 May 2011 22:58:32 +0000 (15:58 -0700)

Merge branch 'jh/notes-add-ui'

* jh/notes-add-ui:
Make "git notes add" more user-friendly when there are existing notes

Conflicts:
builtin/notes.c

Merge branch 'nd/maint-setup'Junio C Hamano Mon, 2 May 2011 22:58:30 +0000 (15:58 -0700)

Merge branch 'nd/maint-setup'

* nd/maint-setup:
Kill off get_relative_cwd()
setup: return correct prefix if worktree is '/'

Conflicts:
dir.c
setup.c

Merge branch 'mz/maint-rename-unmerged'Junio C Hamano Mon, 2 May 2011 22:58:27 +0000 (15:58 -0700)

Merge branch 'mz/maint-rename-unmerged'

* mz/maint-rename-unmerged:
diffcore-rename: don't consider unmerged path as source

Documentation: clarify meaning of --html-path, --man... Jonathan Nieder Mon, 2 May 2011 06:07:45 +0000 (01:07 -0500)

Documentation: clarify meaning of --html-path, --man-path, and --info-path

These options tell UI programs where git put its documentation, so
"Help" actions can show the documentation for *this* version of git
without regard to how MANPATH and INFOPATH are set up. Details:

. Each variable tells where documentation is expected to be. They do
not indicate whether documentation was actually installed.

. The output of "git --html-path" is an absolute path and can be used
in "file://$(git --html-path)/git-add.html" to name the HTML file
documenting a particular command.

. --man-path names a manual page hierarchy (e.g.,
/home/user/share/man). Its output can be passed to "man -M" or put
at the beginning of $MANPATH.

. --info-path names a directory with info files (e.g.,
/home/user/share/info). Its output is suitable as an argument to
"info -d" or for inclusion in $INFOPATH.

Helped-by: Junio C Hamano <gitster@pobox.com>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

git: add --info-path and --man-path optionsJon Seymour Sun, 1 May 2011 08:16:25 +0000 (18:16 +1000)

git: add --info-path and --man-path options

Similar to the way the --html-path option lets UI programs learn where git
has its HTML documentation pages, expose the other two paths used to store
the documentation pages of these two types.

Signed-off-by: Jon Seymour <jon.seymour@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Update draft release notes to 1.7.6Junio C Hamano Sun, 1 May 2011 23:29:43 +0000 (16:29 -0700)

Update draft release notes to 1.7.6

Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'rs/strbuf-setlen-assert'Junio C Hamano Sun, 1 May 2011 23:25:04 +0000 (16:25 -0700)

Merge branch 'rs/strbuf-setlen-assert'

* rs/strbuf-setlen-assert:
strbuf: clarify assertion in strbuf_setlen()

Merge branch 'vh/git-svn-doc'Junio C Hamano Sun, 1 May 2011 23:25:01 +0000 (16:25 -0700)

Merge branch 'vh/git-svn-doc'

* vh/git-svn-doc:
git-svn.txt: small typeface improvements
git-svn.txt: move option descriptions
git-svn.txt: fix usage of --add-author-from

Pass empty file to p4merge where no base is suitable.Ciaran Jessup Sun, 1 May 2011 22:16:02 +0000 (23:16 +0100)

Pass empty file to p4merge where no base is suitable.

Modify the p4merge client command to pass a reference to an empty file
instead of the local file when no base revision available.

In the situation where a merge tries to add a file from one branch
into a branch that already contains that file (by name), p4merge
currently seems to have successfully automatically resolved the
'conflict' when it is opened (correctly if the files differed by
just whitespace for example) but leaves the save button disabled. This
means the user of the p4merge client cannot commit the resolved
changes back to disk and merely exits, leaving the original
(merge-conflicted) file intact on the disk.

Provide an empty base file to p4merge so that it leaves the save
button enabled. This will allow saving of the auto-resolution to
disk.

Signed-off-by: Ciaran Jessup <ciaranj@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Look for password in both CVS and CVSNT password files.Guy Rouillier Sun, 1 May 2011 05:33:52 +0000 (01:33 -0400)

Look for password in both CVS and CVSNT password files.

In conn, if password is not passed on command line, look for a password
entry in both the CVS password file and the CVSNT password file. If only
one file is found and the requested repository is in that file, or if both
files are found but the requested repository is found in only one file, use
the password from the single file containing the repository entry. If both
files are found and the requested repository is found in both files, then
produce an error message.

The CVS password file separates tokens with a space character, while
the CVSNT password file separates tokens with an equal (=) character.
Add a sub find_password_entry that accepts the password file name
and a delimiter to eliminate code duplication.

Signed-off-by: Guy Rouillier <guyr@burntmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

merge-one-file: fix broken merges with alternate work... Jeff King Fri, 29 Apr 2011 22:24:32 +0000 (18:24 -0400)

merge-one-file: fix broken merges with alternate work trees

The merge-one-file tool predates the invention of
GIT_WORK_TREE. By the time GIT_WORK_TREE was invented, most
people were using the merge-recursive strategy, which
handles resolving internally. Therefore these features have
had very little testing together.

For the most part, merge-one-file just works with
GIT_WORK_TREE; most of its heavy lifting is done by plumbing
commands which do respect GIT_WORK_TREE properly. The one
exception is a shell redirection which touches the worktree
directly, writing results to the wrong place in the presence
of a GIT_WORK_TREE variable.

This means that merges won't even fail; they will silently
produce incorrect results, throwing out the entire "theirs"
side of files which need content-level merging!

This patch makes merge-one-file chdir to the toplevel of the
working tree (and exit if we don't have one). This most
closely matches the assumption made by the original script
(before separate work trees were invented), and matches what
happens when the script is called as part of a merge
strategy.

While we're at it, we'll also error-check the call to cat.
Merging a file in a subdirectory could in fact fail, as the
redirection relies on the "checkout-index" call just prior
to create leading directories. But we never noticed, since
we ignored the error return from running cat.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

add tests for merge-index / merge-one-fileJeff King Fri, 29 Apr 2011 22:23:54 +0000 (18:23 -0400)

add tests for merge-index / merge-one-file

There were no tests for either, except a brief use in
t1200-tutorial.

These tools are not used much these days, as most people
use the merge-recursive strategy, which handles everything
internally. However, they are used by the "octopus" and
"resolve" strategies, as well as any custom strategies
or merge scripts people have built around them.

For example, together with read-tree, they are the simplest
way to do a basic content-level merge without checking out
the entire repository contents beforehand.

This script adds a basic test of the tools to perform one
content-level merge. It also shows a failure of the tools to
work properly in the face of GIT_WORK_TREE or core.worktree.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'maint'Junio C Hamano Fri, 29 Apr 2011 18:48:13 +0000 (11:48 -0700)

Merge branch 'maint'

* maint:
Start 1.7.5.1 maintenance track
git-send-email: fix missing space in error message

Conflicts:
RelNotes

Start 1.7.5.1 maintenance trackJunio C Hamano Fri, 29 Apr 2011 18:47:10 +0000 (11:47 -0700)

Start 1.7.5.1 maintenance track

Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'mg/x-years-12-months' into maintJunio C Hamano Fri, 29 Apr 2011 18:43:18 +0000 (11:43 -0700)

Merge branch 'mg/x-years-12-months' into maint

* mg/x-years-12-months:
date: avoid "X years, 12 months" in relative dates

git-send-email: fix missing space in error messageSylvain Rabot Fri, 29 Apr 2011 18:23:24 +0000 (20:23 +0200)

git-send-email: fix missing space in error message

When the command cannot make a connection to the SMTP server the error
message to diagnose the broken configuration is issued. However, when an
optional smtp-server-port is given and needs to be reported, the message
lacked a space between "hello=<smtp-domain>" and "port=<smtp-server-port>".

Signed-off-by: Sylvain Rabot <sylvain@abstraction.fr>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

blame: tolerate bogus e-mail addresses a bit betterJosh Stone Thu, 21 Apr 2011 22:07:36 +0000 (15:07 -0700)

blame: tolerate bogus e-mail addresses a bit better

The names and e-mails are sanitized by fmt_ident() when creating commits,
so that they do not contain "<" nor ">", and the "committer" and "author"
lines in the commit object will always be in the form:

("author" | "committer") name SP "<" email ">" SP timestamp SP zone

When parsing the email part out, the current code looks for SP starting
from the end of the email part, but the author could obfuscate the address
as "author at example dot com".

We should instead look for SP followed by "<", to match the logic of the
side that formats these lines.

Signed-off-by: Josh Stone <jistone@redhat.com>
Reviewed-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

t/test-lib.sh: minor readability improvementsMathias Lafeldt Fri, 29 Apr 2011 12:30:30 +0000 (14:30 +0200)

t/test-lib.sh: minor readability improvements

Apply parameter expansion. Also use here document to save
test results instead of appending each line with ">>".

Signed-off-by: Mathias Lafeldt <misfire@debugon.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

diffcore-rename.c: avoid set-but-not-used warningJim Meyering Fri, 29 Apr 2011 09:42:41 +0000 (11:42 +0200)

diffcore-rename.c: avoid set-but-not-used warning

Since 9d8a5a5 (diffcore-rename: refactor "too many candidates" logic,
2011-01-06), diffcore_rename() initializes num_src but does not use it
anymore. "-Wunused-but-set-variable" in gcc-4.6 complains about this.

Signed-off-by: Jim Meyering <meyering@redhat.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'jc/diff-irreversible-delete'Junio C Hamano Thu, 28 Apr 2011 21:11:47 +0000 (14:11 -0700)

Merge branch 'jc/diff-irreversible-delete'

* jc/diff-irreversible-delete:
git diff -D: omit the preimage of deletes

Merge branch 'jc/rename-degrade-cc-to-c'Junio C Hamano Thu, 28 Apr 2011 21:11:43 +0000 (14:11 -0700)

Merge branch 'jc/rename-degrade-cc-to-c'

* jc/rename-degrade-cc-to-c:
diffcore-rename: fall back to -C when -C -C busts the rename limit
diffcore-rename: record filepair for rename src
diffcore-rename: refactor "too many candidates" logic
builtin/diff.c: remove duplicated call to diff_result_code()

Merge branch 'mz/rebase'Junio C Hamano Thu, 28 Apr 2011 21:11:39 +0000 (14:11 -0700)

Merge branch 'mz/rebase'

* mz/rebase: (34 commits)
rebase: define options in OPTIONS_SPEC
Makefile: do not install sourced rebase scripts
rebase: use @{upstream} if no upstream specified
rebase -i: remove unnecessary state rebase-root
rebase -i: don't read unused variable preserve_merges
git-rebase--am: remove unnecessary --3way option
rebase -m: don't print exit code 2 when merge fails
rebase -m: remember allow_rerere_autoupdate option
rebase: remember strategy and strategy options
rebase: remember verbose option
rebase: extract code for writing basic state
rebase: factor out sub command handling
rebase: make -v a tiny bit more verbose
rebase -i: align variable names
rebase: show consistent conflict resolution hint
rebase: extract am code to new source file
rebase: extract merge code to new source file
rebase: remove $branch as synonym for $orig_head
rebase -i: support --stat
rebase: factor out call to pre-rebase hook
...

Merge branch 'en/merge-recursive'Junio C Hamano Thu, 28 Apr 2011 21:11:35 +0000 (14:11 -0700)

Merge branch 'en/merge-recursive'

* en/merge-recursive:
merge-recursive: tweak magic band-aid
merge-recursive: When we detect we can skip an update, actually skip it
t6022: New test checking for unnecessary updates of files in D/F conflicts
t6022: New test checking for unnecessary updates of renamed+modified files