diff --no-index: clarify operation when not inside a repository

Clarify documentation for "diff --no-index".  State that when not
inside a repository, --no-index is implied and two arguments are
mandatory.

Clarify error message from diff-no-index to inform user that CWD is
not inside a repository and thus two arguments are mandatory.

Signed-off-by: Dale Worley <worley@ariadne.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Dale R. Worley 2013-08-22 16:31:21 -04:00 коммит произвёл Junio C Hamano
Родитель a3bc3d070c
Коммит b214eddfb2
2 изменённых файлов: 15 добавлений и 2 удалений

Просмотреть файл

@ -31,7 +31,8 @@ two blob objects, or changes between two files on disk.
+
If exactly two paths are given and at least one points outside
the current repository, 'git diff' will compare the two files /
directories. This behavior can be forced by --no-index.
directories. This behavior can be forced by --no-index or by
executing 'git diff' outside of a working tree.
'git diff' [--options] --cached [<commit>] [--] [<path>...]::

Просмотреть файл

@ -215,9 +215,21 @@ void diff_no_index(struct rev_info *revs,
path_inside_repo(prefix, argv[i+1])))
return;
}
if (argc != i + 2)
if (argc != i + 2) {
if (!no_index) {
/*
* There was no --no-index and there were not two
* paths. It is possible that the user intended
* to do an inside-repository operation.
*/
fprintf(stderr, "Not a git repository\n");
fprintf(stderr,
"To compare two paths outside a working tree:\n");
}
/* Give the usage message for non-repository usage and exit. */
usagef("git diff %s <path> <path>",
no_index ? "--no-index" : "[--no-index]");
}
diff_setup(&revs->diffopt);
for (i = 1; i < argc - 2; ) {