summaryrefslogtreecommitdiff
path: root/builtin-diff.c
diff options
context:
space:
mode:
authorJohannes Schindelin <Johannes.Schindelin@gmx.de>2007-02-25 22:35:27 (GMT)
committerJunio C Hamano <junkio@cox.net>2007-03-01 00:32:31 (GMT)
commitfcfa33ec905fcde1c16e7cbbe00d7147b89f1f01 (patch)
tree2de48ce64183245fd0beba56ef817dbc8e41d281 /builtin-diff.c
parent2eb06531e3d53c2604f20c32e5cb791d5044ff02 (diff)
downloadgit-fcfa33ec905fcde1c16e7cbbe00d7147b89f1f01.zip
git-fcfa33ec905fcde1c16e7cbbe00d7147b89f1f01.tar.gz
git-fcfa33ec905fcde1c16e7cbbe00d7147b89f1f01.tar.bz2
diff: make more cases implicit --no-index
When specifying an absolute path, or a relative path pointing outside the working tree, do not fail, but roll your own diffopt parsing, and execute a --no-index diff. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <junkio@cox.net>
Diffstat (limited to 'builtin-diff.c')
-rw-r--r--builtin-diff.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/builtin-diff.c b/builtin-diff.c
index 28b660a..4efbb82 100644
--- a/builtin-diff.c
+++ b/builtin-diff.c
@@ -215,7 +215,10 @@ int cmd_diff(int argc, const char **argv, const char *prefix)
git_config(git_diff_ui_config);
init_revisions(&rev, prefix);
- argc = setup_revisions(argc, argv, &rev, NULL);
+ if (!setup_diff_no_index(&rev, argc, argv, nongit, prefix))
+ argc = 0;
+ else
+ argc = setup_revisions(argc, argv, &rev, NULL);
if (!rev.diffopt.output_format) {
rev.diffopt.output_format = DIFF_FORMAT_PATCH;
if (diff_setup_done(&rev.diffopt) < 0)