From: Fredrik Kuivinen Date: Sun, 02 Oct 2005 15:33:38 GMT Subject: [PATCH] Teach git-ls-files about '--' to denote end of options. Message-ID: <20051002153338.GA1685@c165.ib.student.liu.se> Signed-off-by: Fredrik Kuivinen --- Documentation/git-ls-files.txt | 9 ++++++++- ls-files.c | 5 ++++- 2 files changed, 12 insertions(+), 2 deletions(-) 1d1f81648fe42497daff2e95320698fa22ca6440 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 |--exclude=] [-X |--exclude-from=] - [--exclude-per-directory=] + [--exclude-per-directory=] [--] []\* DESCRIPTION ----------- @@ -77,6 +77,13 @@ OPTIONS K to be killed ? other +--:: + Do not interpret any more arguments as options. + +:: + 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=] [--exclude-from=] " - "[ --exclude-per-directory= ]"; + "[ --exclude-per-directory= ] [--] []*"; 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;