git-apply: if no input files specified, apply stdin

This makes it act more like a traditional UNIX thing (eg "cat").
maint
Linus Torvalds 2005-05-23 16:42:21 -07:00
parent 9ab55bd29a
commit 4dfdbe10dc
1 changed files with 5 additions and 0 deletions

View File

@ -509,6 +509,7 @@ static int apply_patch(int fd)
int main(int argc, char **argv) int main(int argc, char **argv)
{ {
int i; int i;
int read_stdin = 1;


if (read_cache() < 0) if (read_cache() < 0)
die("unable to read index file"); die("unable to read index file");
@ -519,6 +520,7 @@ int main(int argc, char **argv)


if (!strcmp(arg, "-")) { if (!strcmp(arg, "-")) {
apply_patch(0); apply_patch(0);
read_stdin = 0;
continue; continue;
} }
if (!strcmp(arg, "--no-merge")) { if (!strcmp(arg, "--no-merge")) {
@ -528,8 +530,11 @@ int main(int argc, char **argv)
fd = open(arg, O_RDONLY); fd = open(arg, O_RDONLY);
if (fd < 0) if (fd < 0)
usage(apply_usage); usage(apply_usage);
read_stdin = 0;
apply_patch(fd); apply_patch(fd);
close(fd); close(fd);
} }
if (read_stdin)
apply_patch(0);
return 0; return 0;
} }