Junio C Hamano [Mon, 17 Sep 2012 22:57:22 +0000 (15:57 -0700)]
Merge branch 'nd/maint-diffstat-summary'
Earlier we made the diffstat summary line that shows the number of
lines added/deleted localizable, but it was found irritating having
to see them in various languages on a list whose discussion language
is English.
The original had trivial thinko in reverting Q_(), which has been
fixed.
* nd/maint-diffstat-summary:
Revert diffstat back to English
Junio C Hamano [Mon, 17 Sep 2012 22:55:41 +0000 (15:55 -0700)]
Merge branch 'jk/config-warn-on-inaccessible-paths'
The attribute system may be asked for a path that itself or its
leading directories no longer exists in the working tree. Failure
to open per-directory .gitattributes with error status other than
ENOENT and ENOTDIR are diagnosed.
* jk/config-warn-on-inaccessible-paths:
attr: failure to open a .gitattributes file is OK with ENOTDIR
Junio C Hamano [Mon, 17 Sep 2012 22:53:39 +0000 (15:53 -0700)]
Merge branch 'jw/doc-commit-title'
Update parts of document that talked about "first line of commit
log" to say "title of commit" with definition of what that "title"
is.
* jw/doc-commit-title:
Documentation: describe subject more precisely
Junio C Hamano [Mon, 17 Sep 2012 22:53:31 +0000 (15:53 -0700)]
Merge branch 'mh/string-list'
* mh/string-list:
api-string-list.txt: initialize the string_list the easy way
string_list: add a function string_list_longest_prefix()
string_list: add a new function, string_list_remove_duplicates()
string_list: add a new function, filter_string_list()
string_list: add two new functions for splitting strings
string_list: add function string_list_append_nodup()
Junio C Hamano [Mon, 17 Sep 2012 22:52:32 +0000 (15:52 -0700)]
Merge branch 'jc/maint-blame-no-such-path'
"git blame MAKEFILE" run in a history that has "Makefile" but not
"MAKEFILE" should say "No such file MAKEFILE in HEAD", but got
confused on a case insensitive filesystem and failed to do so.
Even during a conflicted merge, "git blame $path" always meant to
blame uncommitted changes to the "working tree" version; make it
more useful by showing cleanly merged parts as coming from the other
branch that is being merged.
* jc/maint-blame-no-such-path:
blame: allow "blame file" in the middle of a conflicted merge
blame $path: avoid getting fooled by case insensitive filesystems
Junio C Hamano [Sat, 15 Sep 2012 04:44:37 +0000 (21:44 -0700)]
Draft release notes to 1.8.0
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Sat, 15 Sep 2012 04:39:56 +0000 (21:39 -0700)]
Merge branch 'jc/ll-merge-binary-ours'
"git merge -Xtheirs" did not help content-level merge of binary
files; it should just take their version. Also "*.jpg binary" in
the attributes did not imply they should use the binary ll-merge
driver.
* jc/ll-merge-binary-ours:
ll-merge: warn about inability to merge binary files only when we can't
attr: "binary" attribute should choose built-in "binary" merge driver
merge: teach -Xours/-Xtheirs to binary ll-merge driver
Junio C Hamano [Sat, 15 Sep 2012 04:39:47 +0000 (21:39 -0700)]
Merge branch 'cn/branch-set-upstream-to'
Finishing touches to the recently graduated topic to introduce
"git branch --set-upstream-to" option.
* cn/branch-set-upstream-to:
completion: complete branch name for "branch --set-upstream-to="
completion: add --set-upstream-to and --unset-upstream
Junio C Hamano [Sat, 15 Sep 2012 04:39:42 +0000 (21:39 -0700)]
Merge branch 'sl/autoconf'
Reduces repetition in configure.ac.
* sl/autoconf:
build: don't duplicate substitution of make variables
build: improve GIT_CONF_SUBST signature
Junio C Hamano [Sat, 15 Sep 2012 04:39:37 +0000 (21:39 -0700)]
Merge branch 'dg/run-command-child-cleanup'
The code to wait for subprocess and remove it from our internal queue
wasn't quite right.
* dg/run-command-child-cleanup:
run-command.c: fix broken list iteration in clear_child_for_cleanup
Junio C Hamano [Sat, 15 Sep 2012 04:39:27 +0000 (21:39 -0700)]
Merge branch 'jc/mailinfo-RE'
We strip the prefix from "Re: subject" and also from a less common
"re: subject", but left even less common "RE: subject" intact.
* jc/mailinfo-RE:
mailinfo: strip "RE: " prefix
Junio C Hamano [Sat, 15 Sep 2012 04:38:20 +0000 (21:38 -0700)]
Merge branch 'maint'
Junio C Hamano [Sat, 15 Sep 2012 04:37:51 +0000 (21:37 -0700)]
Draft release notes to 1.7.12.1
We are almost there...
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Sat, 15 Sep 2012 04:32:07 +0000 (21:32 -0700)]
Merge branch 'sb/send-email-reconfirm-fix' into maint
* sb/send-email-reconfirm-fix:
send-email: initial_to and initial_reply_to are both optional
Junio C Hamano [Sat, 15 Sep 2012 04:32:01 +0000 (21:32 -0700)]
Merge branch 'jc/send-email-reconfirm' into maint
* jc/send-email-reconfirm:
send-email: validate & reconfirm interactive responses
Junio C Hamano [Sat, 15 Sep 2012 04:24:18 +0000 (21:24 -0700)]
Merge branch 'mz/cherry-pick-cmdline-order' into maint
* mz/cherry-pick-cmdline-order:
cherry-pick/revert: respect order of revisions to pick
demonstrate broken 'git cherry-pick three one two'
teach log --no-walk=unsorted, which avoids sorting
Junio C Hamano [Sat, 15 Sep 2012 04:20:40 +0000 (21:20 -0700)]
Sync with 1.7.11.7
Junio C Hamano [Sat, 15 Sep 2012 03:57:23 +0000 (20:57 -0700)]
Git 1.7.11.7
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Sat, 15 Sep 2012 03:48:31 +0000 (20:48 -0700)]
Merge branch 'jk/maint-quiet-is-synonym-to-s-in-log' into maint-1.7.11
* jk/maint-quiet-is-synonym-to-s-in-log:
log: fix --quiet synonym for -s
Junio C Hamano [Sat, 15 Sep 2012 03:48:22 +0000 (20:48 -0700)]
Merge branch 'jc/maint-ident-missing-human-name' into maint-1.7.11
* jc/maint-ident-missing-human-name:
split_ident_line(): make best effort when parsing author/committer line
Junio C Hamano [Sat, 15 Sep 2012 03:46:39 +0000 (20:46 -0700)]
Merge branch 'rj/test-regex' into maint-1.7.11
* rj/test-regex:
test-regex: Add a test to check for a bug in the regex routines
Junio C Hamano [Sat, 15 Sep 2012 03:45:55 +0000 (20:45 -0700)]
Merge branch 'da/gitk-reload-tag-contents' into maint-1.7.11
* da/gitk-reload-tag-contents:
gitk: Rename 'tagcontents' to 'cached_tagcontent'
gitk: Teach "Reread references" to reload tags
gitk: Avoid Meta1-F5
Junio C Hamano [Sat, 15 Sep 2012 03:45:03 +0000 (20:45 -0700)]
Merge branch 'jc/maint-checkout-fileglob-doc' into maint-1.7.11
* jc/maint-checkout-fileglob-doc:
gitcli: contrast wildcard given to shell and to git
gitcli: formatting fix
Document file-glob for "git checkout -- '*.c'"
Junio C Hamano [Fri, 14 Sep 2012 19:34:11 +0000 (12:34 -0700)]
The sixth batch for 1.8.0
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Fri, 14 Sep 2012 18:54:34 +0000 (11:54 -0700)]
Merge branch 'nd/checkout-option-parsing-fix'
The option parsing of "git checkout" had error checking, dwim and
defaulting missing options, all mixed in the code, and issuing an
appropriate error message with useful context was getting harder.
Reorganize the code and allow giving a proper diagnosis when the
user says "git checkout -b -t foo bar" (e.g. "-t" is not a good name
for a branch).
* nd/checkout-option-parsing-fix:
checkout: reorder option handling
checkout: move more parameters to struct checkout_opts
checkout: pass "struct checkout_opts *" as const pointer
Junio C Hamano [Fri, 14 Sep 2012 18:54:28 +0000 (11:54 -0700)]
Merge branch 'mh/abspath'
* mh/abspath:
t0060: split absolute path test in two to exercise some of it on Windows
t0060: verify that real_path() removes extra slashes
real_path(): properly handle nonexistent top-level paths
t0060: verify that real_path() works correctly with absolute paths
real_path(): reject the empty string
t0060: verify that real_path() fails if passed the empty string
absolute_path(): reject the empty string
t0060: verify that absolute_path() fails if passed the empty string
t0060: move tests of real_path() from t0000 to here
Junio C Hamano [Fri, 14 Sep 2012 18:54:19 +0000 (11:54 -0700)]
Merge branch 'dj/fetch-all-tags'
"git fetch --all", when passed "--no-tags", did not honor the
"--no-tags" option while fetching from individual remotes (the same
issue existed with "--tags", but combination "--all --tags" makes
much less sense than "--all --no-tags").
* dj/fetch-all-tags:
fetch --all: pass --tags/--no-tags through to each remote
Junio C Hamano [Fri, 14 Sep 2012 18:54:12 +0000 (11:54 -0700)]
Merge branch 'sn/ls-remote-get-url-doc'
* sn/ls-remote-get-url-doc:
ls-remote: document the '--get-url' option
Junio C Hamano [Fri, 14 Sep 2012 18:54:04 +0000 (11:54 -0700)]
Merge branch 'nd/i18n-status'
* nd/i18n-status:
status: remove i18n legos
Junio C Hamano [Fri, 14 Sep 2012 18:53:53 +0000 (11:53 -0700)]
Merge branch 'rj/path-cleanup'
* rj/path-cleanup:
Call mkpathdup() rather than xstrdup(mkpath(...))
Call git_pathdup() rather than xstrdup(git_path("..."))
path.c: Use vsnpath() in the implementation of git_path()
path.c: Don't discard the return value of vsnpath()
path.c: Remove the 'git_' prefix from a file scope function
Junio C Hamano [Fri, 14 Sep 2012 18:53:45 +0000 (11:53 -0700)]
Merge branch 'rj/tap-fix'
* rj/tap-fix:
test-lib.sh: Suppress the "passed all ..." message if no tests run
test-lib.sh: Add check for invalid use of 'skip_all' facility
test-lib.sh: Fix some shell coding style violations
t4016-*.sh: Skip all tests rather than each test
t3902-*.sh: Skip all tests rather than each test
t3300-*.sh: Fix a TAP parse error
Nguyễn Thái Ngọc Duy [Thu, 13 Sep 2012 14:16:26 +0000 (21:16 +0700)]
Revert diffstat back to English
This reverts the i18n part of
7f81463 (Use correct grammar in diffstat
summary line - 2012-02-01) but still keeps the grammar correctness for
English. It also reverts
b354f11 (Fix tests under GETTEXT_POISON on
diffstat - 2012-08-27). The result is diffstat always in English
for all commands.
This helps stop users from accidentally sending localized
format-patch'd patches.
Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Thu, 13 Sep 2012 19:40:39 +0000 (12:40 -0700)]
attr: failure to open a .gitattributes file is OK with ENOTDIR
Often we consult an in-tree .gitattributes file that exists per
directory. Majority of directories do not usually have such a file,
and it is perfectly fine if we cannot open it because there is no
such file, but we do want to know when there is an I/O or permission
error. Earlier, we made the codepath warn when we fail to open it
for reasons other than ENOENT for that reason.
We however sometimes have to attempt to open the .gitattributes file
from a directory that does not exist in the commit that is currently
checked out. "git pack-objects" wants to know if a path is marked
with "-delta" attributes, and "git archive" wants to know about
export-ignore and export-subst attributes. Both commands may and do
need to ask the attributes system about paths in an arbitrary
commit. "git diff", after removing an entire directory, may want to
know textconv on paths that used to be in that directory.
Make sure we also ignore a failure to open per-directory attributes
file due to ENOTDIR.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Jeremy White [Thu, 13 Sep 2012 22:27:09 +0000 (17:27 -0500)]
Documentation: describe subject more precisely
The discussion of email subject throughout the documentation is
misleading; it indicates that the first line will always become
the subject. In fact, the subject is generally all lines up until
the first full blank line.
This patch refines that, and makes more use of the concept of a
commit title, with the title being all text up to the first blank line.
Signed-off-by: Jeremy White <jwhite@codeweavers.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Wed, 12 Sep 2012 23:14:14 +0000 (16:14 -0700)]
Merge git://github.com/git-l10n/git-po
* git://github.com/git-l10n/git-po:
l10n: Update Swedish translation (1166t0f0u)
l10n: vi.po: update to v1.7.12-146-g16d26
l10n: de.po: translate 2 new messages
l10n: zh_CN.po: translate 2 new messages
l10n: Update git.pot (2 new, 4 removed messages)
l10n: vi.po & TEAMS: review Vietnamese translation
Peter Krefting [Fri, 7 Sep 2012 09:10:23 +0000 (10:10 +0100)]
l10n: Update Swedish translation (1166t0f0u)
Signed-off-by: Peter Krefting <peter@softwolves.pp.se>
Jiang Xin [Wed, 12 Sep 2012 22:32:36 +0000 (06:32 +0800)]
Merge git://github.com/vnwildman/git
* git://github.com/vnwildman/git:
l10n: vi.po: update to v1.7.12-146-g16d26
Junio C Hamano [Wed, 12 Sep 2012 21:33:50 +0000 (14:33 -0700)]
Start merging the sixth batch for 1.8.0
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Wed, 12 Sep 2012 21:36:39 +0000 (14:36 -0700)]
Merge branch 'maint'
Junio C Hamano [Wed, 12 Sep 2012 21:22:08 +0000 (14:22 -0700)]
Merge branch 'jc/maint-checkout-fileglob-doc'
Updated with help from Peff.
* jc/maint-checkout-fileglob-doc:
gitcli: contrast wildcard given to shell and to git
gitcli: formatting fix
Document file-glob for "git checkout -- '*.c'"
Junio C Hamano [Wed, 12 Sep 2012 21:22:03 +0000 (14:22 -0700)]
Merge branch 'sb/send-email-reconfirm-fix'
* sb/send-email-reconfirm-fix:
send-email: initial_to and initial_reply_to are both optional
Junio C Hamano [Wed, 12 Sep 2012 21:21:58 +0000 (14:21 -0700)]
Merge branch 'nd/maint-remote-remove'
* nd/maint-remote-remove:
remote: prefer subcommand name 'remove' to 'rm'
Junio C Hamano [Wed, 12 Sep 2012 21:21:55 +0000 (14:21 -0700)]
Merge branch 'nd/log-n-doc'
* nd/log-n-doc:
doc: move rev-list option -<n> from git-log.txt to rev-list-options.txt
Junio C Hamano [Wed, 12 Sep 2012 21:21:50 +0000 (14:21 -0700)]
Merge branch 'kd/cvsimport-avoid-invalid-tag'
"cvsimport" tried to create a tag taken from CVS without
sufficiently sanitizing it, causing the import to fail when an
invalid character in the tagname made underlying "git tag" to fail.
* kd/cvsimport-avoid-invalid-tag:
cvsimport: strip all inappropriate tag strings
Junio C Hamano [Wed, 12 Sep 2012 21:21:44 +0000 (14:21 -0700)]
Merge branch 'js/compat-itimer'
Pieces to support compilation on __TANDEM.
* js/compat-itimer:
Add a no-op setitimer() wrapper
Junio C Hamano [Wed, 12 Sep 2012 21:21:39 +0000 (14:21 -0700)]
Merge branch 'js/compat-mkdir'
Finishing touches to recently added wrapper for mkdir() that do not
want to see trailing slashes.
* js/compat-mkdir:
Document MKDIR_WO_TRAILING_SLASH in Makefile
Junio C Hamano [Wed, 12 Sep 2012 21:10:54 +0000 (14:10 -0700)]
Further merging in preparation for 1.7.12.1
Describe the following in the draft release notes:
. jc/apply-binary-p0
. jc/dotdot-is-parent-directory
. jc/maint-doc-checkout-b-always-takes-branch-name
. jk/maint-http-half-auth-push
. kk/maint-for-each-ref-multi-sort
Yet to be merged before 1.7.12.1 are:
. jk/config-warn-on-inaccessible-paths
. jk/maint-quiet-is-synonym-to-s-in-log
. mz/cherry-pick-cmdline-order
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Wed, 12 Sep 2012 21:08:05 +0000 (14:08 -0700)]
Merge branch 'maint-1.7.11' into maint
Junio C Hamano [Wed, 12 Sep 2012 21:00:52 +0000 (14:00 -0700)]
Merge branch 'jc/apply-binary-p0' into maint-1.7.11
"git apply -p0" did not parse pathnames on "diff --git" line
correctly. This caused patches that had pathnames in no other
places to be mistakenly rejected (most notably, binary patch that
does not rename nor change mode). Textual patches, renames or mode
changes have preimage and postimage pathnames in different places in
a form that can be parsed unambiguously and did not suffer from this
problem.
* jc/apply-binary-p0:
apply: compute patch->def_name correctly under -p0
Junio C Hamano [Wed, 12 Sep 2012 21:00:34 +0000 (14:00 -0700)]
Merge branch 'jc/dotdot-is-parent-directory' into maint-1.7.11
"git log .." errored out saying it is both rev range and a path when
there is no disambiguating "--" is on the command line. Update the
command line parser to interpret ".." as a path in such a case.
* jc/dotdot-is-parent-directory:
specifying ranges: we did not mean to make ".." an empty set
Junio C Hamano [Wed, 12 Sep 2012 20:59:58 +0000 (13:59 -0700)]
Merge branch 'jc/maint-doc-checkout-b-always-takes-branch-name' into maint-1.7.11
The synopsis said "checkout [-B branch]" to make it clear the
branch name is a parameter to the option, but the heading for the
option description was "-B::", not "-B branch::", making the
documentation misleading.
* jc/maint-doc-checkout-b-always-takes-branch-name:
doc: "git checkout -b/-B/--orphan" always takes a branch name
Junio C Hamano [Wed, 12 Sep 2012 20:58:22 +0000 (13:58 -0700)]
Merge branch 'jk/maint-http-half-auth-push' into maint-1.7.11
Pushing to smart HTTP server with recent Git fails without having
the username in the URL to force authentication, if the server is
configured to allow GET anonymously, while requiring authentication
for POST.
* jk/maint-http-half-auth-push:
http: prompt for credentials on failed POST
http: factor out http error code handling
t: test http access to "half-auth" repositories
t: test basic smart-http authentication
t/lib-httpd: recognize */smart/* repos as smart-http
t/lib-httpd: only route auth/dumb to dumb repos
t5550: factor out http auth setup
t5550: put auth-required repo in auth/dumb
Junio C Hamano [Wed, 12 Sep 2012 20:57:43 +0000 (13:57 -0700)]
Merge branch 'kk/maint-for-each-ref-multi-sort' into maint-1.7.11
"git for-each-ref" did not honor multiple "--sort=<key>" arguments
correctly.
* kk/maint-for-each-ref-multi-sort:
for-each-ref: Fix sort with multiple keys
t6300: test sort with multiple keys
Michael Haggerty [Wed, 12 Sep 2012 14:04:47 +0000 (16:04 +0200)]
api-string-list.txt: initialize the string_list the easy way
In the demo code blurb, show how to initialize the string_list using
STRING_LIST_INIT_NODUP rather than memset().
Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Michael Haggerty [Wed, 12 Sep 2012 14:04:46 +0000 (16:04 +0200)]
string_list: add a function string_list_longest_prefix()
Add a function that finds the longest string from a string_list that
is a prefix of a given string.
Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Michael Haggerty [Wed, 12 Sep 2012 14:04:45 +0000 (16:04 +0200)]
string_list: add a new function, string_list_remove_duplicates()
Add a function that deletes duplicate entries from a sorted
string_list.
Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Michael Haggerty [Wed, 12 Sep 2012 14:04:44 +0000 (16:04 +0200)]
string_list: add a new function, filter_string_list()
This function allows entries that don't match a specified criterion to
be discarded from a string_list while preserving the order of the
remaining entries.
Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Michael Haggerty [Wed, 12 Sep 2012 14:04:43 +0000 (16:04 +0200)]
string_list: add two new functions for splitting strings
Add two new functions, string_list_split() and
string_list_split_in_place(). These split a string into a string_list
on a separator character. The first makes copies of the substrings
(leaving the input string untouched) and the second splits the
original string in place, overwriting the separator characters with
NULs and referring to the original string's memory.
These functions are similar to the strbuf_split_*() functions except
that they work with the more powerful string_list interface.
Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Michael Haggerty [Wed, 12 Sep 2012 14:04:42 +0000 (16:04 +0200)]
string_list: add function string_list_append_nodup()
Add a new function that appends a string to a string_list without
copying it. This can be used to pass ownership of an already-copied
string to a string_list that has strdup_strings set.
Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Wed, 12 Sep 2012 16:32:22 +0000 (09:32 -0700)]
Merge git://ozlabs.org/~paulus/gitk
* git://ozlabs.org/~paulus/gitk:
gitk: Fix GIT_TRACE issues
Junio C Hamano [Wed, 12 Sep 2012 16:32:03 +0000 (09:32 -0700)]
Merge branch 'da/gitk-reload-tag-contents'
After overwriting a tag with a new tag, "Reread references" action
in "gitk" correctly moved the marker in the display, but it failed
to discard a cached contents of the tag (even "Reload" didn't).
* da/gitk-reload-tag-contents:
gitk: Rename 'tagcontents' to 'cached_tagcontent'
gitk: Teach "Reread references" to reload tags
gitk: Avoid Meta1-F5
Paul Mackerras [Wed, 12 Sep 2012 12:34:24 +0000 (22:34 +1000)]
Merge branch 'da/gitk-reload-tag-contents' of git://github.com/gitster/git
to get two commits from David Aguilar.
Junio C Hamano [Wed, 12 Sep 2012 09:01:52 +0000 (02:01 -0700)]
ll-merge: warn about inability to merge binary files only when we can't
When a path being merged is auto detected to be a binary file, we
warned "Cannot merge binary files" before switching to activate the
binary ll-merge driver. When we are merging with the -Xours/theirs
option, however, we know what the "clean" merge result is, and the
warning is inappropriate.
In addition, when the path is explicitly marked as a binary file,
this warning was not issued, even though without -Xours/theirs, we
cannot cleanly automerge such a path, which was inconsistent.
Move the warning code from ll_xdl_merge() to ll_binary_merge(), and
issue the message only when we cannot cleanly automerge.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Tue, 11 Sep 2012 21:30:03 +0000 (14:30 -0700)]
blame: allow "blame file" in the middle of a conflicted merge
"git blame file" has always meant "find the origin of each line of
the file in the history leading to HEAD, oh by the way, blame the
lines that are modified locally to the working tree".
This teaches "git blame" that during a conflicted merge, some
uncommitted changes may have come from the other history that is
being merged.
The verify_working_tree_path() function introduced in the previous
patch to notice a typo in the filename (primarily on case insensitive
filesystems) has been updated to allow a filename that does not exist
in HEAD (i.e. the tip of our history) as long as it exists one of the
commits being merged, so that a "we deleted, the other side modified"
case tracks the history of the file in the history of the other side.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Nguyễn Thái Ngọc Duy [Thu, 30 Aug 2012 12:45:50 +0000 (19:45 +0700)]
checkout: reorder option handling
checkout operates in three different modes. On top of that it tries to
be smart by guessing the branch name for switching. This results in
messy option handling code. This patch reorders it so that
- cmd_checkout() is responsible for parsing, preparing input and
determining mode
- Code of each mode is in checkout_paths() and checkout_branch(),
where sanity checks are performed
Another slight improvement is always print branch name (or commit
name) when printing errors related ot them. This helps catch the case
where an option is mistaken as branch/commit.
Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Tue, 11 Sep 2012 18:41:35 +0000 (11:41 -0700)]
Second half of the fifth batch for 1.8.0
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Tue, 11 Sep 2012 18:36:25 +0000 (11:36 -0700)]
Merge branch 'rj/test-regex'
Git ships with a fall-back regexp implementation for platforms with
buggy regexp library; give people a tool to see if they should be
using it on their platform.
* rj/test-regex:
test-regex: Add a test to check for a bug in the regex routines
Junio C Hamano [Tue, 11 Sep 2012 18:36:18 +0000 (11:36 -0700)]
Merge branch 'jk/argv-array'
Use argv-array API in "git fetch" implementation.
* jk/argv-array:
submodule: use argv_array instead of hand-building arrays
fetch: use argv_array instead of hand-building arrays
argv-array: fix bogus cast when freeing array
argv-array: add pop function
Junio C Hamano [Tue, 11 Sep 2012 18:35:26 +0000 (11:35 -0700)]
Merge branch 'jc/merge-bases'
Optimise the "merge-base" computation a bit, and also update its
users that do not need the full merge-base information to call a
cheaper subset.
* jc/merge-bases:
reduce_heads(): reimplement on top of remove_redundant()
merge-base: "--is-ancestor A B"
get_merge_bases_many(): walk from many tips in parallel
in_merge_bases(): use paint_down_to_common()
merge_bases_many(): split out the logic to paint history
in_merge_bases(): omit unnecessary redundant common ancestor reduction
http-push: use in_merge_bases() for fast-forward check
receive-pack: use in_merge_bases() for fast-forward check
in_merge_bases(): support only one "other" commit
Junio C Hamano [Tue, 11 Sep 2012 18:35:22 +0000 (11:35 -0700)]
Merge branch 'nd/i18n-index-pack'
* nd/i18n-index-pack:
i18n: mark more index-pack strings for translation
Junio C Hamano [Tue, 11 Sep 2012 18:35:15 +0000 (11:35 -0700)]
Merge branch 'jc/maint-ident-missing-human-name'
"git show --format='%ci'" did not give timestamp correctly for
commits created without human readable name on "committer" line.
* jc/maint-ident-missing-human-name:
split_ident_line(): make best effort when parsing author/committer line
Junio C Hamano [Tue, 11 Sep 2012 18:31:26 +0000 (11:31 -0700)]
Sync with maint
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Tue, 11 Sep 2012 18:27:35 +0000 (11:27 -0700)]
Further merging down for 1.7.12.1
We will wait for a handful of other fixes that have graduated to the
'master' for 1.8.0 to be tested in the wild and then tag 1.7.12.1:
. mz/cherry-pick-cmdline-order
. jk/maint-quiet-is-synonym-to-s-in-log
. jk/maint-http-half-auth-push
. jc/apply-binary-p0
. jk/config-warn-on-inaccessible-paths
. kk/maint-for-each-ref-multi-sort
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Tue, 11 Sep 2012 18:23:45 +0000 (11:23 -0700)]
Sync with 1.7.11.6
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Tue, 11 Sep 2012 18:23:06 +0000 (11:23 -0700)]
Merge branch 'js/use-sc-open-max' into maint
* js/use-sc-open-max:
sha1_file.c: introduce get_max_fd_limit() helper
Junio C Hamano [Tue, 11 Sep 2012 18:22:58 +0000 (11:22 -0700)]
Merge branch 'js/no-curl-easy-strerror-on-old-curl' into maint
* js/no-curl-easy-strerror-on-old-curl:
http.c: don't use curl_easy_strerror prior to curl-7.12.0
Junio C Hamano [Tue, 11 Sep 2012 18:18:48 +0000 (11:18 -0700)]
Git 1.7.11.6
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Tue, 11 Sep 2012 18:10:23 +0000 (11:10 -0700)]
Merge branch 'jc/maint-mergetool-style-fix' into maint-1.7.11
* jc/maint-mergetool-style-fix:
mergetool: style fixes
Junio C Hamano [Tue, 11 Sep 2012 18:10:17 +0000 (11:10 -0700)]
Merge branch 'sz/submodule-force-update' into maint-1.7.11
* sz/submodule-force-update:
Make 'git submodule update --force' always check out submodules.
Junio C Hamano [Tue, 11 Sep 2012 18:10:12 +0000 (11:10 -0700)]
Merge branch 'ph/stash-rerere' into maint-1.7.11
* ph/stash-rerere:
stash: invoke rerere in case of conflict
test: git-stash conflict sets up rerere
Junio C Hamano [Tue, 11 Sep 2012 18:09:19 +0000 (11:09 -0700)]
Merge branch 'jc/maint-sane-execvp-notdir' into maint-1.7.11
* jc/maint-sane-execvp-notdir:
sane_execvp(): ignore non-directory on $PATH
Junio C Hamano [Tue, 11 Sep 2012 18:09:09 +0000 (11:09 -0700)]
Merge branch 'jc/maint-config-exit-status' into maint-1.7.11
* jc/maint-config-exit-status:
config: "git config baa" should exit with status 1
Junio C Hamano [Tue, 11 Sep 2012 18:09:01 +0000 (11:09 -0700)]
Merge branch 'mh/maint-config-doc-proxy-command' into maint-1.7.11
* mh/maint-config-doc-proxy-command:
git-config doc: unconfuse an example
git-config.txt: fix example
Junio C Hamano [Tue, 11 Sep 2012 18:08:55 +0000 (11:08 -0700)]
Merge branch 'hv/submodule-path-unmatch' into maint-1.7.11
* hv/submodule-path-unmatch:
Let submodule command exit with error status if path does not exist
Junio C Hamano [Tue, 11 Sep 2012 18:08:48 +0000 (11:08 -0700)]
Merge branch 'mz/empty-rebase-test' into maint-1.7.11
* mz/empty-rebase-test:
add tests for 'git rebase --keep-empty'
Junio C Hamano [Tue, 11 Sep 2012 18:08:40 +0000 (11:08 -0700)]
Merge branch 'jk/docs-docbook-monospace-display' into maint-1.7.11
* jk/docs-docbook-monospace-display:
docs: monospace listings in docbook output
Junio C Hamano [Tue, 11 Sep 2012 18:08:30 +0000 (11:08 -0700)]
Merge branch 'ab/diff-write-incomplete-line' into maint-1.7.11
* ab/diff-write-incomplete-line:
Fix '\ No newline...' annotation in rewrite diffs
Junio C Hamano [Tue, 11 Sep 2012 18:08:18 +0000 (11:08 -0700)]
Merge branch 'jc/maint-t7406-rev-parse-max-count-huh' into maint-1.7.11
* jc/maint-t7406-rev-parse-max-count-huh:
t7406: fix misleading "rev-parse --max-count=1 HEAD"
Junio C Hamano [Tue, 11 Sep 2012 18:07:14 +0000 (11:07 -0700)]
Merge branch 'rr/precompose-utf8-cleanup' into maint
* rr/precompose-utf8-cleanup:
precompose-utf8: do not call checks for non-ascii "utf8"
cleanup precompose_utf8
Junio C Hamano [Tue, 11 Sep 2012 18:06:45 +0000 (11:06 -0700)]
Merge branch 'jc/capabilities' into maint
* jc/capabilities:
fetch-pack: mention server version with verbose output
parse_feature_request: make it easier to see feature values
fetch-pack: do not ask for unadvertised capabilities
do not send client agent unless server does first
send-pack: fix capability-sending logic
include agent identifier in capability string
Junio C Hamano [Tue, 11 Sep 2012 18:06:19 +0000 (11:06 -0700)]
Merge branch 'jc/doc-git-updates' into maint
* jc/doc-git-updates:
Documentation: update the introductory section
Junio C Hamano [Tue, 11 Sep 2012 18:06:14 +0000 (11:06 -0700)]
Merge branch 'jk/check-docs-update' into maint
* jk/check-docs-update:
check-docs: get documented command list from Makefile
check-docs: drop git-help special-case
check-docs: list git-gui as a command
check-docs: factor out command-list
command-list: mention git-credential-* helpers
command-list: add git-sh-i18n
check-docs: update non-command documentation list
check-docs: mention gitweb specially
Junio C Hamano [Tue, 11 Sep 2012 17:53:40 +0000 (10:53 -0700)]
Merge branch 'tr/void-diff-setup-done' into maint-1.7.11
* tr/void-diff-setup-done:
diff_setup_done(): return void
Junio C Hamano [Tue, 11 Sep 2012 17:53:31 +0000 (10:53 -0700)]
Merge branch 'tr/merge-recursive-flush' into maint-1.7.11
* tr/merge-recursive-flush:
merge-recursive: eliminate flush_buffer() in favor of write_in_full()
Junio C Hamano [Tue, 11 Sep 2012 17:53:21 +0000 (10:53 -0700)]
Merge branch 'nd/index-errno' into maint-1.7.11
* nd/index-errno:
read_index_from: remove bogus errno assignments
Junio C Hamano [Tue, 11 Sep 2012 17:53:11 +0000 (10:53 -0700)]
Merge branch 'pg/maint-apply-remove-unused-variable' into maint-1.7.11
* pg/maint-apply-remove-unused-variable:
apply: delete unused deflate_origlen from patch struct
Junio C Hamano [Tue, 11 Sep 2012 17:51:58 +0000 (10:51 -0700)]
Merge branch 'jc/test-prereq' into maint
* jc/test-prereq:
t3910: use the UTF8_NFD_TO_NFC test prereq
test-lib: provide UTF8 behaviour as a prerequisite
t0050: use the SYMLINKS test prereq
t0050: use the CASE_INSENSITIVE_FS test prereq
test-lib: provide case insensitivity as a prerequisite
test: allow prerequisite to be evaluated lazily
test: rename $satisfied to $satisfied_prereq
David Gould [Tue, 11 Sep 2012 14:32:47 +0000 (15:32 +0100)]
run-command.c: fix broken list iteration in clear_child_for_cleanup
Iterate through children_to_clean using 'next' fields but with an
extra level of indirection. This allows us to update the chain when
we remove a child and saves us managing several variables around
the loop mechanism.
Signed-off-by: David Gould <david@optimisefitness.com>
Acked-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Stefano Lattarini [Tue, 11 Sep 2012 15:45:30 +0000 (17:45 +0200)]
build: don't duplicate substitution of make variables
Thanks to our 'GIT_CONF_SUBST' layer in configure.ac, a make variable 'VAR'
can be defined to a value 'VAL' at ./configure runtime in our build system
simply by using "GIT_CONF_SUBST([VAR], [VAL])" in configure.ac, rather than
having both to call "AC_SUBST([VAR], [VAL])" in configure.ac and adding the
'VAR = @VAR@' definition in config.mak.in. Less duplication, less margin
for error, less possibility of confusion.
While at it, fix some formatting issues in configure.ac that unnecessarily
obscured the code flow.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Stefano Lattarini [Tue, 11 Sep 2012 15:45:29 +0000 (17:45 +0200)]
build: improve GIT_CONF_SUBST signature
Now, in configure.ac, a call like:
GIT_CONF_SUBST([FOO])
will be considered equivalent to:
GIT_CONF_SUBST([FOO], [$FOO])
This is mostly a preparatory refactoring in view of future changes.
No semantic change to the generated configure or config.mak.auto is
intended.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>