Commit Graph

25605 Commits

Author SHA1 Message Date
Junio C Hamano
cc6c7e8298 Merge branch 'jl/submodule-conflicted-gitmodules' into next
* jl/submodule-conflicted-gitmodules:
  Submodules: Don't parse .gitmodules when it contains, merge conflicts
  test that git status works with merge conflict in, .gitmodules
2011-05-16 17:22:42 -07:00
Junio C Hamano
2a63845d0d Merge branch 'jk/cherry-pick-root-with-resolve' into next
* jk/cherry-pick-root-with-resolve:
  t3503: test cherry picking and reverting root commits
  revert: allow reverting a root commit
  cherry-pick: handle root commits with external strategies
2011-05-16 17:20:10 -07:00
Junio C Hamano
5d0b5840c7 Merge branch 'jc/replacing' into next
* jc/replacing:
  read_sha1_file(): allow selective bypassing of replacement mechanism
  inline lookup_replace_object() calls
  read_sha1_file(): get rid of read_sha1_file_repl() madness
  t6050: make sure we test not just commit replacement
  Declare lookup_replace_object() in cache.h, not in commit.h

Conflicts:
	environment.c
2011-05-16 17:20:10 -07:00
Junio C Hamano
33e6c11c91 Merge branch 'jk/git-connection-deadlock-fix' into next
* jk/git-connection-deadlock-fix:
  send-pack: avoid deadlock on git:// push with failed pack-objects
  connect: let callers know if connection is a socket
  connect: treat generic proxy processes like ssh processes

Conflicts:
	connect.c
2011-05-16 17:20:09 -07:00
Junio C Hamano
ad8347050b Merge branch 'js/maint-send-pack-stateless-rpc-deadlock-fix' into next
* js/maint-send-pack-stateless-rpc-deadlock-fix:
  sideband_demux(): fix decl-after-stmt
2011-05-16 17:20:09 -07:00
Junio C Hamano
c48bd56dd8 Merge branch 'master' into next
* master:
  Update release notes to 1.7.6
  Update draft release notes to 1.7.5.2
  Documentation/git-fsck.txt: fix typo: unreadable -> unreachable
2011-05-16 17:19:58 -07:00
Junio C Hamano
b602ed7dea Update release notes to 1.7.6
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-05-16 17:19:24 -07:00
Junio C Hamano
1c1f046c43 Merge branch 'js/maint-1.6.6-send-pack-stateless-rpc-deadlock-fix' into js/maint-send-pack-stateless-rpc-deadlock-fix
* js/maint-1.6.6-send-pack-stateless-rpc-deadlock-fix:
  sideband_demux(): fix decl-after-stmt
2011-05-16 17:01:03 -07:00
Junio C Hamano
fb53969686 Merge branch 'jc/convert'
* jc/convert:
  convert: make it harder to screw up adding a conversion attribute
  convert: make it safer to add conversion attributes
  convert: give saner names to crlf/eol variables, types and functions
  convert: rename the "eol" global variable to "core_eol"
2011-05-16 16:47:16 -07:00
Junio C Hamano
7a77754cf6 Merge branch 'ci/commit--interactive-atomic'
* ci/commit--interactive-atomic:
  Test atomic git-commit --interactive
  Add commit to list of config.singlekey commands
  Add support for -p/--patch to git-commit
  Allow git commit --interactive with paths
  t7501.8: feed a meaningful command
  Use a temporary index for git commit --interactive
2011-05-16 16:47:10 -07:00
Junio C Hamano
0184435268 Merge branch 'sg/completion-updates'
* sg/completion-updates:
  Revert "completion: don't declare 'local words' to make zsh happy"
  git-completion: fix regression in zsh support
  completion: move private shopt shim for zsh to __git_ namespace
  completion: don't declare 'local words' to make zsh happy
2011-05-16 16:47:00 -07:00
Junio C Hamano
8cee0f1d8a Merge branch 'kk/maint-prefix-in-config-mak'
* kk/maint-prefix-in-config-mak:
  Honor $(prefix) set in config.mak* when defining ETC_GIT*
  Revert "Honor $(prefix) set in config.mak* when defining ETC_GIT* and sysconfdir"
  Honor $(prefix) set in config.mak* when defining ETC_GIT* and sysconfdir
2011-05-16 16:46:53 -07:00
Junio C Hamano
36a45b4fa4 Merge branch 'mg/merge-ff-config'
* mg/merge-ff-config:
  tests: check git does not barf on merge.ff values for future versions of git
  merge: introduce merge.ff configuration variable

Conflicts:
	t/t7600-merge.sh
2011-05-16 16:46:23 -07:00
Junio C Hamano
6c7471bcf1 Merge branch 'maint'
* maint:
  Update draft release notes to 1.7.5.2
  Documentation/git-fsck.txt: fix typo: unreadable -> unreachable
2011-05-16 16:44:57 -07:00
Junio C Hamano
ea1ab4b280 Update draft release notes to 1.7.5.2
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-05-16 16:44:50 -07:00
Junio C Hamano
4bbfd8e3da Merge branch 'jn/maint-format-patch-doc' into maint
* jn/maint-format-patch-doc:
  Documentation: describe the format of messages with inline patches
2011-05-16 16:39:09 -07:00
Junio C Hamano
0f51322a6b Merge branch 'ss/cherry-pick-x-doc' into maint
* ss/cherry-pick-x-doc:
  doc: Clarify that "cherry-pick -x" does not use "git notes"
2011-05-16 16:38:56 -07:00
Junio C Hamano
8de4338650 Merge branch 'vr/merge-base-doc' into maint
* vr/merge-base-doc:
  Restructure documentation for git-merge-base.
  Documentation: update to git-merge-base --octopus
2011-05-16 16:38:46 -07:00
Junio C Hamano
f7045912f8 Merge branch 'sr/maint-fast-import-tighten-option-parsing' into maint
* sr/maint-fast-import-tighten-option-parsing:
  fast-import: fix option parser for no-arg options
2011-05-16 16:38:16 -07:00
Junio C Hamano
a8793d2178 Merge branch 'jc/t1506-shell-param-expansion-gotcha' into maint
* jc/t1506-shell-param-expansion-gotcha:
  t1507: avoid "${parameter<op>'word'}" inside double-quotes
2011-05-16 16:37:54 -07:00
Junio C Hamano
90e8b9b23d Merge branch 'jc/fix-add-u-unmerged' into maint
* jc/fix-add-u-unmerged:
  Fix "add -u" that sometimes fails to resolve unmerged paths

Conflicts:
	builtin/add.c
2011-05-16 16:37:33 -07:00
Junio C Hamano
81f90684bf Merge branch 'jn/gitweb-dependency' into maint
* jn/gitweb-dependency:
  Remove gitweb/gitweb.cgi and other legacy targets from main Makefile
  git-instaweb: Simplify build dependency on gitweb
2011-05-16 16:37:12 -07:00
Junio C Hamano
2f0db1d86b Merge branch 'jc/maint-branch-mergeoptions' into maint
* jc/maint-branch-mergeoptions:
  merge: make branch.<name>.mergeoptions correctly override merge.<option>

Conflicts:
	builtin/merge.c
2011-05-16 16:37:07 -07:00
Junio C Hamano
c69e8b6935 Merge branch 'jc/maint-add-p-overlapping-hunks' into maint
* jc/maint-add-p-overlapping-hunks:
  t3701: add-p-fix makes the last test to pass
  "add -p": work-around an old laziness that does not coalesce hunks
  add--interactive.perl: factor out repeated --recount option
  t3701: Editing a split hunk in an "add -p" session
  add -p: 'q' should really quit
2011-05-16 16:36:46 -07:00
Jim Meyering
43d532e6ba Documentation/git-fsck.txt: fix typo: unreadable -> unreachable
Signed-off-by: Jim Meyering <meyering@redhat.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-05-16 16:35:08 -07:00
Jeff King
a1a3fd1f40 send-pack: avoid deadlock on git:// push with failed pack-objects
Commit 09c9957c fixes a deadlock in which pack-objects
fails, the remote end is still waiting for pack data, and we
are still waiting for the remote end to say something (see
that commit for a much more in-depth explanation).

We solved the problem there by making sure the output pipe
is closed on error; thus the remote sees EOF, and proceeds
to complain and close its end of the connection.

However, in the special case of push over git://, we don't
have a pipe, but rather a full-duplex socket, with another
dup()-ed descriptor in place of the second half of the pipe.
In this case, closing the second descriptor signals nothing
to the remote end, and we still deadlock.

This patch calls shutdown() explicitly to signal EOF to the
other side.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-05-16 16:20:01 -07:00
Jeff King
7ffe853b10 connect: let callers know if connection is a socket
They might care because they want to do a half-duplex close.
With pipes, that means simply closing the output descriptor;
with a socket, you must actually call shutdown.

Instead of exposing the magic no_fork child_process struct,
let's encapsulate the test in a function.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-05-16 16:20:01 -07:00
Jeff King
5cbf8246d2 connect: treat generic proxy processes like ssh processes
The git_connect function returns two ends of a pipe for
talking with a remote, plus a struct child_process
representing the other end of the pipe. If we have a direct
socket connection, then this points to a special "no_fork"
child process.

The code path for doing git-over-pipes or git-over-ssh sets
up this child process to point to the child git command or
the ssh process. When we call finish_connect eventually, we
check wait() on the command and report its return value.

The code path for git://, on the other hand, always sets it
to no_fork. In the case of a direct TCP connection, this
makes sense; we have no child process. But in the case of a
proxy command (configured by core.gitproxy), we do have a
child process, but we throw away its pid, and therefore
ignore its return code.

Instead, let's keep that information in the proxy case, and
respect its return code, which can help catch some errors
(though depending on your proxy command, it will be errors
reported by the proxy command itself, and not propagated
from git commands. Still, it is probably better to propagate
such errors than to ignore them).

It also means that the child_process field can reliably be
used to determine whether the returned descriptors are
actually a full-duplex socket, which means we should be
using shutdown() instead of a simple close.

Signed-off-by: Jeff King <peff@peff.net>
Helped-by: Johannes Sixt <j6t@kdbg.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-05-16 16:20:01 -07:00
Junio C Hamano
61432146ad sideband_demux(): fix decl-after-stmt
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-05-16 16:19:49 -07:00
Jeff King
e9fe74cba4 t3503: test cherry picking and reverting root commits
We already tested cherry-picking a root commit, but only
with the internal merge-recursive strategy. Let's also test
the recently-allowed reverting of a root commit, as well as
testing with external strategies (which until recently
triggered a segfault).

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-05-16 13:05:03 -07:00
Jeff King
fad2652673 revert: allow reverting a root commit
Although it is probably an uncommon operation, there is no
reason to disallow it, as it works just fine. It is the
reverse of a cherry-pick of a root commit, which is already
allowed.

We do have to tweak one check on whether we have a merge
commit, which assumed we had at least one parent.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-05-16 13:01:45 -07:00
Jeff King
161807349a cherry-pick: handle root commits with external strategies
The merge-recursive strategy already handles root commits;
it cherry-picks the difference between the empty tree and
the root commit's tree.

However, for external strategies, we dereference NULL and
segfault while building the argument list. Instead, let's
handle this by passing the empty tree sha1 to the merge
script.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-05-16 13:00:30 -07:00
Junio C Hamano
0c6c25e550 Merge branch 'mk/grep-pcre' into next
* mk/grep-pcre:
  Makefile: Pass USE_LIBPCRE down in GIT-BUILD-OPTIONS
  git-grep: update tests now regexp type is "last one wins"
2011-05-16 00:13:23 -07:00
Junio C Hamano
a80dff2515 Makefile: Pass USE_LIBPCRE down in GIT-BUILD-OPTIONS
Otherwise we would fail to rebuild correctly when this option was
changed between $(MAKE) invocations, and more importantly, $(MAKE) test
would not pass it down and t/test-lib.sh would not set the LIBPCRE
prerequisite.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-05-16 00:11:53 -07:00
Junio C Hamano
dd0a21ede0 git-grep: update tests now regexp type is "last one wins"
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-05-16 00:10:14 -07:00
Junio C Hamano
1a857915d6 Merge branch 'nd/sparse-co-fix' into next
* nd/sparse-co-fix:
  sparse checkout: do not eagerly decide the fate for whole directory
  t1011: fix sparse-checkout initialization and add new file
2011-05-15 17:49:51 -07:00
Junio C Hamano
93232b3e02 Merge branch 'jk/blame-line-porcelain' into next
* jk/blame-line-porcelain:
  blame: add --line-porcelain output format
  blame: refactor porcelain output
  add tests for various blame formats
2011-05-15 17:49:50 -07:00
Junio C Hamano
bdedb602a0 Merge branch 'ld/p4-preserve-user-names' into next
* ld/p4-preserve-user-names:
  git-p4: warn if git authorship won't be retained
2011-05-15 17:41:22 -07:00
Junio C Hamano
0ee7144f85 Merge branch 'jc/bigfile' into next
* jc/bigfile:
  Bigfile: teach "git add" to send a large file straight to a pack
  index_fd(): split into two helper functions
  index_fd(): turn write_object and format_check arguments into one flag
2011-05-15 16:26:50 -07:00
Junio C Hamano
b4e3a75efa Merge branch 'jc/maint-pathspec-stdin-and-cmdline' into next
* jc/maint-pathspec-stdin-and-cmdline:
2011-05-15 16:26:50 -07:00
Junio C Hamano
7df0461c80 Merge branch 'ms/tagname-does-not-begin-with-dash' into next
* ms/tagname-does-not-begin-with-dash:
  tag: disallow '-' as tag name
2011-05-15 16:26:50 -07:00
Junio C Hamano
d110135444 Merge branch 'mk/grep-pcre' into next
* mk/grep-pcre:
  git-grep: do not die upon -F/-P when grep.extendedRegexp is set.
  git-grep: Bail out when -P is used with -F or -E
  grep: Add basic tests
  configure: Check for libpcre
  git-grep: Learn PCRE
  grep: Extract compile_regexp_failed() from compile_regexp()
  grep: Fix a typo in a comment
2011-05-15 16:26:49 -07:00
Junio C Hamano
9d35a6e977 Merge branch 'jc/convert' into next
* jc/convert:
  convert: make it harder to screw up adding a conversion attribute
  convert: make it safer to add conversion attributes
  convert: give saner names to crlf/eol variables, types and functions
  convert: rename the "eol" global variable to "core_eol"
2011-05-15 16:26:49 -07:00
Junio C Hamano
eef2d20dc8 Merge branch 'master' into next
* master:
  Sync release notes for 1.7.6 to exclude what are in maintenance track
  Update draft release notes to 1.7.5.2
  git_open_noatime(): drop unused parameter
  sha1_file: typofix
2011-05-15 16:19:34 -07:00
Junio C Hamano
c565cb452c Sync release notes for 1.7.6 to exclude what are in maintenance track
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-05-15 16:19:16 -07:00
Junio C Hamano
f574cb3404 Merge branch 'maint'
* maint:
  Update draft release notes to 1.7.5.2
  git_open_noatime(): drop unused parameter
  sha1_file: typofix
2011-05-15 16:16:56 -07:00
Junio C Hamano
96dbe93da5 Update draft release notes to 1.7.5.2
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-05-15 16:11:55 -07:00
Junio C Hamano
06c0f42f94 Merge branch 'cn/format-patch-quiet' into maint
* cn/format-patch-quiet:
  format-patch: document --quiet option
  format-patch: don't pass on the --quiet flag
2011-05-15 16:10:49 -07:00
Junio C Hamano
ab02095ccd Merge branch 'jm/mergetool-submodules' into maint
* jm/mergetool-submodules:
  mergetool: Teach about submodules
2011-05-15 15:57:16 -07:00
Junio C Hamano
92b501f2a0 Merge branch 'jk/format-patch-quote-special-in-from' into maint
* jk/format-patch-quote-special-in-from:
  pretty: quote rfc822 specials in email addresses
2011-05-15 15:56:44 -07:00