summaryrefslogtreecommitdiff
path: root/diff-no-index.c
Commit message (Collapse)AuthorAgeFilesLines
* diff --no-index: use strbuf for temporary pathnamesJunio C Hamano2012-04-261-23/+17
| | | | | | | Instead of using limited-length buffers and risking of pathname truncation, we should be taking advantage of strbuf API nowadays. Signed-off-by: Junio C Hamano <gitster@pobox.com>
* diff: avoid stack-buffer-read-overrun for very long nameJim Meyering2012-04-161-0/+2
| | | | | | | | | | Due to the use of strncpy without explicit NUL termination, we could end up passing names n1 or n2 that are not NUL-terminated to queue_diff, which requires NUL-terminated strings. Ensure that each is NUL terminated. Signed-off-by: Jim Meyering <meyering@redhat.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* Convert struct diff_options to use struct pathspecNguyễn Thái Ngọc Duy2011-02-031-2/+2
| | | | | Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* diff-no-index: use diff_tree_setup_paths()Nguyễn Thái Ngọc Duy2011-02-031-4/+5
| | | | | | | | diff_options.{paths,nr_paths} will be removed later. Do not modify them directly. Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* string_list: Add STRING_LIST_INIT macro and make use of it.Thiago Farina2010-07-051-1/+2
| | | | | | Acked-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Thiago Farina <tfransosi@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* string_list: Fix argument order for string_list_insertJulian Phillips2010-06-271-1/+1
| | | | | | | | | Update the definition and callers of string_list_insert to use the string_list as the first argument. This helps make the string_list API easier to use by being more consistent. Signed-off-by: Julian Phillips <julian@quantumfyre.co.uk> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* test get_git_work_tree() return value for NULLClemens Buchacher2010-05-251-4/+2
| | | | | | | | | | | | If we are in a git directory, get_git_work_tree() can return NULL. While trying to determine whether or not the given paths are outside the work tree, the following command would read from it anyways and trigger a segmentation fault. git diff / / Signed-off-by: Clemens Buchacher <drizzd@aon.at> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* diff --no-index: make the usage string less scaryJonathan Nieder2009-11-101-2/+2
| | | | | | | | Start the diff --no-index usage string with "usage:" instead of "fatal:". Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* Fix a bunch of pointer declarations (codestyle)Felipe Contreras2009-05-011-1/+1
| | | | | | | Essentially; s/type* /type */ as per the coding guidelines. Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* Merge branch 'maint'Junio C Hamano2009-03-281-2/+2
|\ | | | | | | | | | | * maint: test-lib: Clean up comments and Makefile. diff --no-index: Do not generate patch output if other output is requested
| * Merge branch 'maint-1.6.1' into maintJunio C Hamano2009-03-281-2/+2
| |\ | | | | | | | | | | | | | | | * maint-1.6.1: test-lib: Clean up comments and Makefile. diff --no-index: Do not generate patch output if other output is requested
| | * diff --no-index: Do not generate patch output if other output is requestedJohannes Sixt2009-03-251-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, 'git diff --no-index --stat a b' generated patch output in addition to the --stat output (or whatever other output format was requested). Now only the requested output is generated, and patch output remains the default. Signed-off-by: Johannes Sixt <j6t@kdbg.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | | MinGW: fix diff --no-index /dev/null ...Johannes Schindelin2009-03-071-0/+4
|/ / | | | | | | | | | | | | When launching "diff --no-index" with a parameter "/dev/null", the MSys bash converts the "/dev/null" to a "nul", which usually makes sense. But Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | Merge branch 'maint'Junio C Hamano2009-02-181-0/+1
|\ \ | |/ | | | | | | | | | | * maint: tests: fix "export var=val" Skip timestamp differences for diff --no-index Documentation/git-push: --all, --mirror, --tags can not be combined
| * Skip timestamp differences for diff --no-indexMichael Spang2009-02-181-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We display empty diffs for files whose timestamps have changed. Usually, refreshing the index makes those empty diffs go away. However, when not using the index they are not very useful and there is no option to suppress them. This forces on the skip_stat_unmatch option for diff --no-index, suppressing any empty diffs. This option is also used for diffs against the index when "diff.autorefreshindex" is set, but that option does not apply to diff --no-index. Signed-off-by: Michael Spang <mspang@uwaterloo.ca> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | Fix 'git diff --no-index' with a non-existing symlink targetJohannes Schindelin2009-01-301-1/+1
|/ | | | | | | | | When trying to find out mode changes, we should not access the symlink targets using stat(); instead we use lstat() so that the diff does not fail trying to find a non-existing symlink target. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* diff --no-index -q: fix endless loopThomas Rast2009-01-071-1/+3
| | | | | | | | We forgot to move to the next argument when parsing -q, getting stuck in an endless loop. Signed-off-by: Thomas Rast <trast@student.ethz.ch> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* diff --no-index: test for pager after option parsingThomas Rast2009-01-061-7/+7
| | | | | | | | We need to parse options before we can see if --exit-code was provided. Signed-off-by: Thomas Rast <trast@student.ethz.ch> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* diff: accept -- when using --no-indexThomas Rast2009-01-061-3/+7
| | | | | | | | | | | | | | Accept -- as an "end of options" marker even when using --no-index. Previously, the -- triggered a "normal" index/tree diff and subsequently failed because of the unrecognized (in that mode) --no-index. Note that the second loop can treat '--' as a normal option, because the preceding checks ensure it is the third-to-last argument. While at it, fix the parsing of "-q" option in --no-index mode as well. Signed-off-by: Thomas Rast <trast@student.ethz.ch> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* diff: vary default prefix depending on what are comparedJunio C Hamano2008-08-301-0/+1
| | | | | | | | | | | | | | | | | | With a new configuration "diff.mnemonicprefix", "git diff" shows the differences between various combinations of preimage and postimage trees with prefixes different from the standard "a/" and "b/". Hopefully this will make the distinction stand out for some people. "git diff" compares the (i)ndex and the (w)ork tree; "git diff HEAD" compares a (c)ommit and the (w)ork tree; "git diff --cached" compares a (c)ommit and the (i)ndex; "git-diff HEAD:file1 file2" compares an (o)bject and a (w)ork tree entity; "git diff --no-index a b" compares two non-git things (1) and (2). Because these mnemonics now have meanings, they are swapped when reverse diff is in effect and this feature is enabled. Signed-off-by: Junio C Hamano <gitster@pobox.com>
* Rename path_list to string_listJohannes Schindelin2008-07-211-11/+11
| | | | | | | | | | | | | | | | | | | | | | | The name path_list was correct for the first usage of that data structure, but it really is a general-purpose string list. $ perl -i -pe 's/path-list/string-list/g' $(git grep -l path-list) $ perl -i -pe 's/path_list/string_list/g' $(git grep -l path_list) $ git mv path-list.h string-list.h $ git mv path-list.c string-list.c $ perl -i -pe 's/has_path/has_string/g' $(git grep -l has_path) $ perl -i -pe 's/path/string/g' string-list.[ch] $ git mv Documentation/technical/api-path-list.txt \ Documentation/technical/api-string-list.txt $ perl -i -pe 's/strdup_paths/strdup_strings/g' $(git grep -l strdup_paths) ... and then fix all users of string-list to access the member "string" instead of "path". Documentation/technical/api-string-list.txt needed some rewrapping, too. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* git diff --no-index: default to page like other diff frontendsJunio C Hamano2008-05-261-0/+7
| | | | Signed-off-by: Junio C Hamano <gitster@pobox.com>
* git-diff: allow --no-index semantics a bit moreJunio C Hamano2008-05-261-7/+32
| | | | | | | | Even when inside a git work tree, if two paths are given and at least one is clearly outside the work tree, it cannot be a request to diff a tracked path anyway; allow such an invocation to use --no-index semantics. Signed-off-by: Junio C Hamano <gitster@pobox.com>
* "git diff": do not ignore index without --no-indexJunio C Hamano2008-05-241-0/+231
Even if "foo" and/or "bar" does not exist in index, "git diff foo bar" should not change behaviour drastically from "git diff foo bar baz" or "git diff foo". A feature that "sometimes works and is handy" is an unreliable cute hack. "git diff foo bar" outside a git repository continues to work as a more colourful alternative to "diff -u" as before. Signed-off-by: Junio C Hamano <gitster@pobox.com>