summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2012-03-01diff -p: squelch "diff --git" header for stat-dirty pathsLibravatar Junio C Hamano2-5/+2
The plumbing "diff" commands look at the working tree files without refreshing the index themselves for performance reasons (the calling script is expected to do that upfront just once, before calling one or more of them). In the early days of git, they showed the "diff --git" header before they actually ask the xdiff machinery to produce patches, and ended up showing only these headers if the real contents are the same and the difference they noticed was only because the stat info cached in the index did not match that of the working tree. It was too late for the implementation to take the header that it already emitted back. But 3e97c7c (No diff -b/-w output for all-whitespace changes, 2009-11-19) introduced necessary logic to keep the meta-information headers in a strbuf and delay their output until the xdiff machinery noticed actual changes. This was primarily in order to generate patches that ignore whitespaces. When operating under "-w" mode, we wouldn't know if the header is needed until we actually look at the resulting patch, so it was a sensible thing to do, but we did not realize that the same reasoning applies to stat-dirty paths. Later, 296c6bb (diff: fix "git show -C -C" output when renaming a binary file, 2010-05-26) generalized this machinery and added must_show_header toggle. This is turned on when the header must be shown even when there is no patch to be produced, e.g. only the mode was changed, or the path was renamed, without changing the contents. However, when it did so, it still kept the special case for the "-w" mode, which meant that the plumbing would keep showing these phantom changes. This corrects this historical inconsistency by allowing the plumbing to omit paths that are only stat-dirty from its output in the same way as it handles whitespace only changes under "-w" option. The change in the behaviour can be seen in the updated test. Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-03-01t4011: illustrate "diff-index -p" on stat-dirty pathsLibravatar Junio C Hamano1-7/+39
The plumbing that looks at the working tree, i.e. "diff-index" and "diff-files", always emit the "diff --git a/path b/path" header lines without anything else for paths that are only stat-dirty (i.e. different only because the cached stat information in the index no longer matches that of the working tree, but the real contents are the same), when these commands are run with "-p" option to produce patches. Illustrate this current behaviour. Also demonstrate that with the "-w" option, we (correctly) hold off showing a "diff --git" header until actual differences have been found. This also suppresses the header for merely stat-dirty files, which is inconsistent. Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-03-01t4011: modernise styleLibravatar Junio C Hamano1-86/+82
Match the style to more modern test scripts, namely: - The first line of each test has prereq, title and opening sq for the script body. This makes the test shorter while reducing the need for backslashes. - Be prepared for the case in which the previous test may have failed. If a test wants to start from not having "frotz" that the previous test may have created, write "rm -f frotz", not "rm frotz". - Prepare the expected output inside your own test. - The order of comparison to check the result is "diff expected actual", so that the output will show how the output from the git you just broke is different from what is expected. - Write no SP between redirection '>' (or '<' for that matter) and the filename. Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-11-17Merge branch 'jk/no-textconv-symlink'Libravatar Junio C Hamano2-3/+34
* jk/no-textconv-symlink: diff: don't use pathname-based diff drivers for symlinks
2010-11-17Merge branch 'dk/maint-blame-el'Libravatar Junio C Hamano1-0/+1
* dk/maint-blame-el: git-blame.el: Add (require 'format-spec)
2010-11-17Merge branch 'maint'Libravatar Junio C Hamano6-24/+88
* maint: clean: remove redundant variable baselen Documentation/git-pull: clarify configuration Document that rev-list --graph triggers parent rewriting. clean: avoid quoting twice document sigchain api Keep together options controlling the behaviour of diffcore-rename. t3402: test "rebase -s<strategy> -X<opt>"
2010-11-17clean: remove redundant variable baselenLibravatar Nguyễn Thái Ngọc Duy1-2/+2
baselen used to be the result of common_prefix() when it was made builtin. Since 1d8842d (Add 'fill_directory()' helper function for directory traversal - 2009-05-14), its value will always be zero. Remove it because it's no longer variable. Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-11-17Merge branch 'mz/maint-rebase-X-fix' into maintLibravatar Junio C Hamano1-0/+21
* mz/maint-rebase-X-fix: t3402: test "rebase -s<strategy> -X<opt>"
2010-11-17Documentation/git-pull: clarify configurationLibravatar Martin von Zweigbergk1-6/+8
The sentence about 'branch.<name>.rebase' refers to the first sentence in the paragraph and not to the sentence about avoiding rebasing non-local changes. Clarify this. Signed-off-by: Martin von Zweigbergk <martin.von.zweigbergk@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-11-17Document that rev-list --graph triggers parent rewriting.Libravatar Yann Dirson1-0/+2
This may help to understand why --graph causes more comments to be selected. Signed-off-by: Yann Dirson <ydirson@altern.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-11-16clean: avoid quoting twiceLibravatar Nguyễn Thái Ngọc Duy1-2/+2
qname is the result of quote_path_relative(), which does quote_c_style_counted() internally. Remove the hard-coded quotes. Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-11-16document sigchain apiLibravatar Jeff King1-0/+41
It's pretty straightforward, but a stripped-down example never hurts. And we should make clear that it is explicitly OK to use SIG_DFL and SIG_IGN. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-11-16Keep together options controlling the behaviour of diffcore-rename.Libravatar Yann Dirson1-14/+12
It makes little sense to have --diff-filter in the middle of them, and even spares an ifndef::git-format-patch. Signed-off-by: Yann Dirson <ydirson@altern.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-11-15Merge branch 'maint'Libravatar Junio C Hamano1-4/+0
* maint: rebase -X: do not clobber strategy
2010-11-14tests: use test_cmp instead of piping to diff(1)Libravatar Ævar Arnfjörð Bjarmason2-47/+94
Change submodule tests that piped to diff(1) to use test_cmp. The resulting unified diff is easier to read. Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com> Reviewed-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-11-14t7004-tag.sh: re-arrange git tag comment for clarityLibravatar Ævar Arnfjörð Bjarmason1-5/+15
Split the "message in editor has initial comment" test into three tests. The motivation is to be able to only skip the middle part under NO_GETTEXT_POISON. In addition the return value of 'git tag' was being returned. We now check that it's non-zero. I used ! instead of test_must_fail so that the GIT_EDITOR variable was only used in this command invocation, and because the surrounding tests use this style. Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com> Reviewed-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-11-11t3402: test "rebase -s<strategy> -X<opt>"Libravatar Junio C Hamano1-0/+21
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-11-10rebase -X: do not clobber strategyLibravatar Martin von Zweigbergk1-4/+0
If any strategy options are passed to -X, the strategy will always be set to 'recursive'. According to the documentation, it should default to 'recursive' if it is not set, but it should be possible to set it to other values. This fixes a regression introduced in v1.7.3-rc0~67^2 (2010-07-29). Signed-off-by: Martin von Zweigbergk <martin.von.zweigbergk@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-11-09Merge branch 'maint'Libravatar Junio C Hamano4-4/+16
* maint: Documentation: document show -s dir.c: fix EXC_FLAG_MUSTBEDIR match in sparse checkout
2010-11-09Documentation: document show -sLibravatar Jonathan Nieder2-0/+7
Git's diff machinery has supported a -s (silence diff output) option as far back as v0.99~900 (Silent flag for show-diff, 2005-04-13), but the option is only advertised in an odd corner of the git diff-tree manual. The main use is to retrieve basic metadata about a commit: git show -s rev Explain this in the 'git log' manual and provide an example in the 'git show' examples section. This is kind of a cop-out, since it would be more useful to explain it in the 'git show' manual proper, which says: The command takes options applicable to the git diff-tree command to control how the changes the commit introduces are shown. This manual page describes only the most frequently used options. Fixing that is a larger task for another day. Reported-by: Will Hall <will@gnatter.net> Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-11-08dir.c: fix EXC_FLAG_MUSTBEDIR match in sparse checkoutLibravatar Nguyễn Thái Ngọc Duy2-4/+9
Commit c84de70 (excluded_1(): support exclude files in index - 2009-08-20) tries to work around the fact that there is no directory/file information in index entries, therefore EXC_FLAG_MUSTBEDIR match would fail. Unfortunately the workaround is flawed. This fixes it. Reported-by: Thomas Rinderknecht <thomasr@sailguy.org> Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-11-05Merge branch 'aw/git-p4-deletion'Libravatar Junio C Hamano1-1/+3
* aw/git-p4-deletion: Fix handling of git-p4 on deleted files
2010-11-05Merge branch 'master' of git://repo.or.cz/git-guiLibravatar Junio C Hamano3-23/+90
* '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-05Merge branch 'maint'Libravatar Junio C Hamano1-7/+7
* maint: Fix a formatting error in git-merge.txt
2010-11-03git-blame.el: Add (require 'format-spec)Libravatar David Kågedal1-0/+1
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-10-29t0003: properly quote $HOMELibravatar Thomas Rast1-1/+1
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-29contrib/ciabot: git-describe commit instead of HEADLibravatar Sven Eckelmann1-1/+1
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-29Fix a formatting error in git-merge.txtLibravatar Nathan W. Panike1-7/+7
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-28completion: fix zsh check under bash with 'set -u'Libravatar Mark Lodato1-3/+3
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-27git-gui: apply color information from git diff outputLibravatar Pat Thoyts2-2/+42
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-27git-gui: use wordprocessor tab style to ensure tabs work as expectedLibravatar Pat Thoyts1-0/+1
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-26Merge branch 'ab/send-email-perl'Libravatar Junio C Hamano2-40/+36
* 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-26Merge branch 'sb/send-email-use-to-from-input'Libravatar Junio C Hamano2-8/+56
* 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-26Merge branch 'ab/require-perl-5.8'Libravatar Junio C Hamano16-13/+27
* 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-26Merge branch 'kb/merge-recursive-rename-threshold'Libravatar Junio C Hamano6-6/+41
* 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-26Merge branch 'jp/send-email-to-cmd'Libravatar Junio C Hamano3-18/+59
* jp/send-email-to-cmd: git-send-email.perl: Add --to-cmd Conflicts: git-send-email.perl
2010-10-26Merge branch 'as/daemon-multi-listen'Libravatar Junio C Hamano2-27/+54
* as/daemon-multi-listen: daemon: allow more than one host address given via --listen daemon: add helper function named_sock_setup
2010-10-26Merge branch 'dm/mergetool-vimdiff'Libravatar Junio C Hamano1-10/+16
* 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-26Merge branch 'kf/post-receive-sample-hook'Libravatar Junio C Hamano1-16/+31
* kf/post-receive-sample-hook: post-receive-email: ensure sent messages are not empty
2010-10-26Merge branch 'jf/merge-ignore-ws'Libravatar Junio C Hamano12-97/+351
* jf/merge-ignore-ws: merge-recursive: options to ignore whitespace changes merge-recursive --patience ll-merge: replace flag argument with options struct merge-recursive: expose merge options for builtin merge
2010-10-26Merge branch 'ml/completion-zsh'Libravatar Junio C Hamano1-4/+46
* ml/completion-zsh: completion: make compatible with zsh
2010-10-26Merge branch 'po/sendemail'Libravatar Junio C Hamano3-3/+19
* po/sendemail: New send-email option smtpserveroption. Remove @smtp_host_parts variable as not used. Minor indentation fix.
2010-10-26Merge branch 'en/tree-walk-optim'Libravatar Junio C Hamano1-14/+15
* en/tree-walk-optim: diff_tree(): Skip skip_uninteresting() when all remaining paths interesting tree_entry_interesting(): Make return value more specific tree-walk: Correct bitrotted comment about tree_entry() Document pre-condition for tree_entry_interesting
2010-10-26Merge branch 'maint'Libravatar Junio C Hamano1-2/+2
* maint: Fix copy-pasted comments related to tree diff handling.
2010-10-25Fix copy-pasted comments related to tree diff handling.Libravatar Yann Dirson1-2/+2
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-10-22Fix handling of git-p4 on deleted filesLibravatar Andrew Waters1-1/+3
Signed-off-by: Andrew Waters <apwaters@googlemail.com> Tested-by: Thomas Berg <merlin66b@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-10-21Sync with 1.7.3.2Libravatar Junio C Hamano57-158/+167
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-10-21Git 1.7.3.2Libravatar Junio C Hamano4-3/+9
2010-10-21Merge branch 'sn/doc-opt-notation' into maintLibravatar Junio C Hamano55-157/+157
* sn/doc-opt-notation: Fix {update,checkout}-index usage strings Put a space between `<' and argument in pack-objects usage string Remove stray quotes in --pretty and --format documentation Use parentheses and `...' where appropriate Fix odd markup in --diff-filter documentation Use angles for placeholders consistently
2010-10-21Merge branch 'mg/fix-build-remote-helpers' into maintLibravatar Junio C Hamano1-0/+3
* mg/fix-build-remote-helpers: remote-helpers: build in platform independent directory