Signed-off-by: Fredrik Kuivinen <freku045@student.liu.se>
---
Documentation/git-ls-files.txt | 9 ++++++++- ls-files.c | 5 ++++- 2 files changed, 12 insertions(+), 2 deletions(-)
1d1f81648fe42497daff2e95320698fa22ca6440
Show changes to 2 files +12 −2
Documentation/git-ls-files.txt, ls-files.c
diff --git a/Documentation/git-ls-files.txt b/Documentation/git-ls-files.txt --- a/Documentation/git-ls-files.txt +++ b/Documentation/git-ls-files.txt @@ -13,7 +13,7 @@ SYNOPSIS (-[c|d|o|i|s|u|k|m])\* [-x <pattern>|--exclude=<pattern>] [-X <file>|--exclude-from=<file>] - [--exclude-per-directory=<file>] + [--exclude-per-directory=<file>] [--] [<file>]\* DESCRIPTION ----------- @@ -77,6 +77,13 @@ OPTIONS K to be killed ? other +--:: + Do not interpret any more arguments as options. + +<file>:: + Files to show. If no files are given all files which match the other + specified criteria are shown. + Output ------ show files just outputs the filename unless '--stage' is specified in diff --git a/ls-files.c b/ls-files.c --- a/ls-files.c +++ b/ls-files.c @@ -530,7 +530,7 @@ static void verify_pathspec(void) static const char ls_files_usage[] = "git-ls-files [-z] [-t] (--[cached|deleted|others|stage|unmerged|killed|modified])* " "[ --ignored ] [--exclude=<pattern>] [--exclude-from=<file>] " - "[ --exclude-per-directory=<filename> ]"; + "[ --exclude-per-directory=<filename> ] [--] [<file>]*"; int main(int argc, const char **argv) { @@ -544,6 +544,9 @@ int main(int argc, const char **argv) for (i = 1; i < argc; i++) { const char *arg = argv[i]; + if (!strcmp(arg, "--")) { + break; + } if (!strcmp(arg, "-z")) { line_terminator = 0; continue;