Commit Graph

23694 Commits

Author SHA1 Message Date
Junio C Hamano
7413413d0a Merge branch 'il/remote-fd-ext' into next
* il/remote-fd-ext:
  git-remote-ext
  git-remote-fd
  Add bidirectional_transfer_loop()
2010-11-05 11:39:08 -07:00
Junio C Hamano
16902eb8c0 Merge branch 'en/merge-recursive' into next
* en/merge-recursive: (40 commits)
  merge-recursive:make_room_for_directories - work around dumb compilers
  merge-recursive: Remove redundant path clearing for D/F conflicts
  merge-recursive: Make room for directories in D/F conflicts
  handle_delete_modify(): Check whether D/F conflicts are still present
  merge_content(): Check whether D/F conflicts are still present
  conflict_rename_rename_1to2(): Fix checks for presence of D/F conflicts
  conflict_rename_delete(): Check whether D/F conflicts are still present
  merge-recursive: Delay modify/delete conflicts if D/F conflict present
  merge-recursive: Delay content merging for renames
  merge-recursive: Delay handling of rename/delete conflicts
  merge-recursive: Move handling of double rename of one file to other file
  merge-recursive: Move handling of double rename of one file to two
  merge-recursive: Avoid doubly merging rename/add conflict contents
  merge-recursive: Update merge_content() call signature
  merge-recursive: Update conflict_rename_rename_1to2() call signature
  merge-recursive: Structure process_df_entry() to handle more cases
  merge-recursive: Have process_entry() skip D/F or rename entries
  merge-recursive: New function to assist resolving renames in-core only
  merge-recursive: New data structures for deferring of D/F conflicts
  merge-recursive: Move process_entry's content merging into a function
  ...
2010-11-05 11:39:08 -07:00
Junio C Hamano
b3b09f3fb7 Merge branch 'cb/diff-fname-optim' into next
* cb/diff-fname-optim:
  diff: avoid repeated scanning while looking for funcname
  do not search functions for patch ID
  add rebase patch id tests
2010-11-05 11:39:08 -07:00
Junio C Hamano
5a2f940bfa Merge branch 'ak/submodule-sync' into next
* ak/submodule-sync:
  submodule sync: Update "submodule.<name>.url" for empty directories
2010-11-05 11:39:08 -07:00
Junio C Hamano
55ea322617 Merge branch 'cb/leading-path-removal' into next
* cb/leading-path-removal:
  do not overwrite files in leading path
  lstat_cache: optionally return match_len
  add function check_ok_to_remove()
  t7607: add leading-path tests
  t7607: use test-lib functions and check MERGE_HEAD
2010-11-05 11:39:08 -07:00
Junio C Hamano
9207c6d6da Merge branch 'jk/push-progress' into next
* jk/push-progress:
  push: pass --progress down to git-pack-objects
  t5523-push-upstream: test progress messages
  t5523-push-upstream: add function to ensure fresh upstream repo
  test_terminal: ensure redirections work reliably
  test_terminal: catch use without TTY prerequisite
  test-lib: allow test code to check the list of declared prerequisites
  tests: test terminal output to both stdout and stderr
  tests: factor out terminal handling from t7006
2010-11-05 11:39:07 -07:00
Junio C Hamano
ef559d4741 Merge branch 'jn/send-pack-error' into next
* jn/send-pack-error:
  send-pack: avoid redundant "pack-objects died with strange error"
2010-11-05 11:39:07 -07:00
Junio C Hamano
32f0580337 Merge branch 'ks/no-textconv-symlink' into next
* ks/no-textconv-symlink:
  blame,cat-file --textconv: Don't assume mode is ``S_IFREF | 0664''
  blame,cat-file: Demonstrate --textconv is wrongly running converter on symlinks
  blame,cat-file: Prepare --textconv tests for correctly-failing conversion program
2010-11-05 11:39:07 -07:00
Junio C Hamano
0a99e7584b Merge branch 'jk/no-textconv-symlink' into next
* jk/no-textconv-symlink:
  diff: don't use pathname-based diff drivers for symlinks
2010-11-05 11:39:07 -07:00
Junio C Hamano
6836d70a56 Merge branch 'kb/completion-checkout' into next
* kb/completion-checkout:
  completion: Support the DWIM mode for git checkout
2010-11-05 11:39:07 -07:00
Junio C Hamano
4967932f77 Merge branch 'sg/completion' into next
* sg/completion:
  bash: support pretty format aliases
  bash: support more 'git notes' subcommands and their options
  bash: not all 'git bisect' subcommands make sense when not bisecting
  bash: offer refs for 'git bisect start'
2010-11-05 11:39:07 -07:00
Junio C Hamano
4a8b88dc90 Merge branch 'sg/bisect' into next
* sg/bisect:
  bisect: check for mandatory argument of 'bisect replay'
  bisect: improve error msg of 'bisect reset' when original HEAD is deleted
  bisect: improve error message of 'bisect log' while not bisecting
2010-11-05 11:39:07 -07:00
Junio C Hamano
ef1e754695 Merge branch 'jm/mailmap' into next
* jm/mailmap:
  t4203: do not let "git shortlog" DWIM based on tty
  t4203 (mailmap): stop hardcoding commit ids and dates
  mailmap: fix use of freed memory
2010-11-05 11:39:07 -07:00
Junio C Hamano
31fda6993f Merge branch 'jk/missing-config' into next
* jk/missing-config:
  config: treat non-existent config files as empty
2010-11-05 11:39:06 -07:00
Junio C Hamano
9d1ec144ab Merge branch 'jk/diff-CBM' into next
* jk/diff-CBM:
  diff: report bogus input to -C/-M/-B
2010-11-05 11:39:06 -07:00
Junio C Hamano
389fee78b6 Merge branch 'jk/add-e-doc' into next
* jk/add-e-doc:
  docs: give more hints about how "add -e" works
2010-11-05 11:39:06 -07:00
Junio C Hamano
861d16a3c3 Merge branch 'jl/maint-pull-tags-doc' into next
* jl/maint-pull-tags-doc:
  pull: Remove --tags option from manpage
2010-11-05 11:39:06 -07:00
Junio C Hamano
10e1aebe42 Merge branch 'kb/maint-submodule-savearg' into next
* kb/maint-submodule-savearg:
  submodule: only preserve flags across recursive status/update invocations
  submodule: preserve all arguments exactly when recursing
2010-11-05 11:39:06 -07:00
Junio C Hamano
861b5ac0ec Merge branch 'kb/maint-diff-ws-check' into next
* kb/maint-diff-ws-check:
  diff: handle lines containing only whitespace and tabs better
  test-lib: extend test_decode_color to handle more color codes
2010-11-05 11:39:06 -07:00
Junio C Hamano
0ead869fcb Merge branch 'bg/maint-gitweb-test-lib' into next
* bg/maint-gitweb-test-lib:
  t/gitweb-lib: Don't pass constant to decode_utf8

Conflicts:
	t/gitweb-lib.sh
2010-11-05 11:39:06 -07:00
Junio C Hamano
a2873a4455 Merge branch 'tr/maint-merge-file-subdir' into next
* tr/maint-merge-file-subdir:
  merge-file: correctly find files when called in subdir
  prefix_filename(): safely handle the case where pfx_len=0
2010-11-05 11:39:06 -07:00
Junio C Hamano
80ad03a3b9 Merge branch 'tr/maint-git-repack-tmpfile' into next
* tr/maint-git-repack-tmpfile:
  repack: place temporary packs under .git/objects/pack/
2010-11-05 11:39:06 -07:00
Junio C Hamano
406cba15db Merge branch 'jk/maint-rev-list-nul' into next
* jk/maint-rev-list-nul:
  rev-list: handle %x00 NUL in user format
2010-11-05 11:39:06 -07:00
Junio C Hamano
8456c664a1 Merge branch 'dk/maint-blame-el' into next
* dk/maint-blame-el:
  git-blame.el: Add (require 'format-spec)
2010-11-05 11:39:05 -07:00
Junio C Hamano
8b7543a6a5 Merge branch 'jk/maint-apply-no-binary' into next
* jk/maint-apply-no-binary:
  apply: don't segfault on binary files with missing data
2010-11-05 11:39:05 -07:00
Junio C Hamano
bc8f2fb5be Merge branch 'master' into next
* master:
  t0003: properly quote $HOME
  contrib/ciabot: git-describe commit instead of HEAD
  Fix a formatting error in git-merge.txt
  git-gui: apply color information from git diff output
  git-gui: use wordprocessor tab style to ensure tabs work as expected
  git-gui: correct assignment of work-tree
  git-gui: use full dialog width for old name when renaming branch
  git-gui: generic version trimming
  git-gui: enable the Tk console when tracing/debugging on Windows
  git-gui: show command-line errors in a messagebox on Windows
  On Windows, avoid git-gui to call Cygwin's nice utility
2010-11-05 10:42:56 -07:00
Junio C Hamano
3089c2b97a Merge branch 'aw/git-p4-deletion'
* aw/git-p4-deletion:
  Fix handling of git-p4 on deleted files
2010-11-05 10:42:46 -07:00
Junio C Hamano
06cfa8a858 Merge branch 'master' of git://repo.or.cz/git-gui
* 'master' of git://repo.or.cz/git-gui:
  git-gui: apply color information from git diff output
  git-gui: use wordprocessor tab style to ensure tabs work as expected
  git-gui: correct assignment of work-tree
  git-gui: use full dialog width for old name when renaming branch
  git-gui: generic version trimming
  git-gui: enable the Tk console when tracing/debugging on Windows
  git-gui: show command-line errors in a messagebox on Windows
  On Windows, avoid git-gui to call Cygwin's nice utility
2010-11-05 10:41:09 -07:00
Junio C Hamano
31731b0ea4 Merge branch 'maint'
* maint:
  Fix a formatting error in git-merge.txt
2010-11-05 10:36:49 -07:00
Jens Lehmann
2e5955f328 pull: Remove --tags option from manpage
"Fetch all tags and merge them" does not make any sense as a request at
the logical level, even though it might be more convenient to type.

Signed-off-by: Jens Lehmann <Jens.Lehmann@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-11-03 15:20:33 -07:00
Kevin Ballard
98dbe63dbc submodule: only preserve flags across recursive status/update invocations
Recursive invocations of submodule update/status preserve all arguments,
so executing

        git submodule update --recursive -- foo

attempts to recursively update a submodule named "foo".

Naturally, this fails as one cannot have an infinitely-deep stack of
submodules each containing a submodule named "foo". The desired behavior
is instead to update foo and then recursively update all submodules
inside of foo.

This commit accomplishes that by only saving the flags for use in the
recursive invocation.

Signed-off-by: Kevin Ballard <kevin@sb.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-11-03 12:51:28 -07:00
Kevin Ballard
a7eff1a87a submodule: preserve all arguments exactly when recursing
Shell variables only hold strings, not lists of parameters,
so $orig_args after

        orig_args="$@"

fails to remember where each parameter starts and ends, if
some include whitespace.  So

        git submodule update \
                --reference='/var/lib/common objects.git' \
                --recursive --init

becomes

        git submodule update --reference=/var/lib/common \
                objects.git --recursive --init

in the inner repositories.  Use "git rev-parse --sq-quote" to
save parameters in quoted form ready for evaluation by the
shell, avoiding this problem.

Helped-By: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Kevin Ballard <kevin@sb.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-11-03 12:51:26 -07:00
David Kågedal
0cb3f80de0 git-blame.el: Add (require 'format-spec)
c5022f57 (git-blame.el: Change how blame information is shown,
2009-09-29) taught the "M-x git-blame" mode to format its output
in a more interesting way, making use of the format-spec function.

format-spec is included in Emacs 23 and is a useful function.
Older emacsen can get it from Gnus.  In all emacsen, we need
to 'require it before use to avoid warnings:

 git-blame.el:483:1:Warning: the function `format-spec' is not known to be
     defined.

Reported-by: Sergei Organov <osv@javad.com>
Reported-by: Kevin Ryde <user42@zip.com.au>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-11-03 12:32:09 -07:00
Jeff King
24305cd700 apply: don't segfault on binary files with missing data
Usually when applying a binary diff generated without
--binary, it will be rejected early, as we don't even have
the full sha1 of the pre- and post-images.

However, if the diff is generated with --full-index (but not
--binary), then we will actually try to apply it. If we have
the postimage blob, then we can take a shortcut and never
even look at the binary diff at all (e.g., this can happen
when rebasing changes within a repository).

If we don't have the postimage blob, though, we try to look
at the actual fragments, of which there are none, and get a
segfault. This patch checks explicitly for that case and
complains to the user instead of segfaulting. We need to
keep the check at a low level so that the "shortcut" case
above continues to work.

We also add a test that demonstrates the segfault. While
we're at it, let's also explicitly test the shortcut case.

Reported-by: Rafaël Carré <rafael.carre@gmail.com>
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-10-29 14:13:33 -07:00
Thomas Rast
e806c43537 t0003: properly quote $HOME
6df42ab (Add global and system-wide gitattributes, 2010-09-01) forgot
to quote one instance of $HOME in the tests.  This would be valid
according to POSIX, but bash 4 helpfully declines to execute the
command in question with an "ambiguous redirection" error.

Signed-off-by: Thomas Rast <trast@student.ethz.ch>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-10-29 14:12:31 -07:00
Sven Eckelmann
06ac01a46a contrib/ciabot: git-describe commit instead of HEAD
For each commit a shorter version of the name will be generated. This is
either the truncated hash or the output of git-describe. The
call to git-describe was only made with an empty shell variable instead
of an actual commit hash. Thus it only described the current HEAD and
not each commit we want to submit to cia.vc.

Signed-off-by: Sven Eckelmann <sven.eckelmann@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-10-29 14:09:48 -07:00
Nathan W. Panike
af77aee9ca Fix a formatting error in git-merge.txt
Inside an element of an enumerated list, the second and subsequent
paragraphs need to lose their indent and have to be strung together with a
line with a single '+' on it instead.  Otherwise the lines below are shown
in typewriter face, which just looks wrong.

Signed-off-by: Nathan W. Panike <nathan.panike@gmail.com>
Reviewed-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-10-29 10:16:35 -07:00
Junio C Hamano
78bbbf98d9 Merge branch 'master' into next
* master:
  completion: fix zsh check under bash with 'set -u'
2010-10-28 17:14:03 -07:00
Mark Lodato
ca209065f3 completion: fix zsh check under bash with 'set -u'
Commit 06f44c3 (completion: make compatible with zsh) broke bash
compatibility with 'set -u': a warning was generated when checking
$ZSH_VERSION.  The solution is to supply a default value, using
${ZSH_VERSION-}.  Thanks to SZEDER Gábor for the fix.

Signed-off-by: Mark Lodato <lodatom@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-10-28 11:45:00 -07:00
Pat Thoyts
8f85599aba git-gui: apply color information from git diff output
This patch extracts the ANSI color sequences from git diff output and
applies these to the diff view window. This ensures that the gui view
makes use of the current git configuration for whitespace display.

ANSI codes may include attributes, foreground and background in a single
sequence. Handle this and support bold and reverse attributes. Ignore
all other attributes.

Suggested-by: Tor Arvid Lund <torarvid@gmail.com>
Suggested-by: Junio C Hamano <gitster@pobox.com>
Tested-by: Tor Arvid Lund <torarvid@gmail.com>
Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
2010-10-27 23:47:28 +01:00
Pat Thoyts
c744086964 git-gui: use wordprocessor tab style to ensure tabs work as expected
The Tk text widget tab style is tabular where the first tab will align to
the first tabstop and if that position is left of the current location
then just a single character space is used. With the wordprocessor style
a tab moves the next character position to the next rightmost tabstop
as expected for viewing code.

Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
2010-10-27 23:37:31 +01:00
Junio C Hamano
2d0e57103f Merge branch 'master' into next
* master:
2010-10-26 22:03:44 -07:00
Junio C Hamano
7ebee44167 Merge branch 'ab/send-email-perl'
* ab/send-email-perl:
  send-email: extract_valid_address use qr// regexes
  send-email: is_rfc2047_quoted use qr// regexes
  send-email: use Perl idioms in while loop
  send-email: make_message_id use "require" instead of "use"
  send-email: send_message die on $!, not $?
  send-email: use (?:) instead of () if no match variables are needed
  send-email: sanitize_address use qq["foo"], not "\"foo\""
  send-email: sanitize_address use $foo, not "$foo"
  send-email: use \E***\Q instead of \*\*\*
  send-email: cleanup_compose_files doesn't need a prototype
  send-email: unique_email_list doesn't need a prototype
  send-email: file_declares_8bit_cte doesn't need a prototype
  send-email: get_patch_subject doesn't need a prototype
  send-email: use lexical filehandles during sending
  send-email: use lexical filehandles for $compose
  send-email: use lexical filehandle for opendir

Conflicts:
	git-send-email.perl
2010-10-26 22:02:52 -07:00
Junio C Hamano
8796ff7f3f Merge branch 'sb/send-email-use-to-from-input'
* sb/send-email-use-to-from-input:
  send-email: Don't leak To: headers between patches
  send-email: Use To: headers in patch files

Conflicts:
	git-send-email.perl
2010-10-26 22:02:03 -07:00
Junio C Hamano
9b73ce74e6 Merge branch 'ab/require-perl-5.8'
* ab/require-perl-5.8:
  perl: use "use warnings" instead of -w
  perl: bump the required Perl version to 5.8 from 5.6.[21]
2010-10-26 21:57:31 -07:00
Junio C Hamano
329351feeb Merge branch 'kb/merge-recursive-rename-threshold'
* kb/merge-recursive-rename-threshold:
  diff: add synonyms for -M, -C, -B
  merge-recursive: option to specify rename threshold

Conflicts:
	Documentation/diff-options.txt
	Documentation/merge-strategies.txt
2010-10-26 21:54:04 -07:00
Junio C Hamano
9b1054d93e Merge branch 'jp/send-email-to-cmd'
* jp/send-email-to-cmd:
  git-send-email.perl: Add --to-cmd

Conflicts:
	git-send-email.perl
2010-10-26 21:52:26 -07:00
Junio C Hamano
e6202dfe00 Merge branch 'as/daemon-multi-listen'
* as/daemon-multi-listen:
  daemon: allow more than one host address given via --listen
  daemon: add helper function named_sock_setup
2010-10-26 21:50:03 -07:00
Junio C Hamano
0141215c9b Merge branch 'dm/mergetool-vimdiff'
* dm/mergetool-vimdiff:
  mergetool-lib: make the three-way diff the default for vim/gvim
  mergetool-lib: add a three-way diff view for vim/gvim
  mergetool-lib: combine vimdiff and gvimdiff run blocks
2010-10-26 21:47:11 -07:00
Junio C Hamano
91e811e0e8 Merge branch 'kf/post-receive-sample-hook'
* kf/post-receive-sample-hook:
  post-receive-email: ensure sent messages are not empty
2010-10-26 21:41:18 -07:00