Move read_revisions_from_stdin from builtin-rev-list.c to revision.c

Reading rev-list parameters from the command line can be reused by
commands other than rev-list.  Move this function to more "library-ish"
place to promote code reuse.

Signed-off-by: Adam Brewster <asb@bu.edu>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Adam Brewster 2008-07-05 17:26:39 -04:00 коммит произвёл Junio C Hamano
Родитель 6e1c23442a
Коммит 1fc561d169
3 изменённых файлов: 19 добавлений и 17 удалений

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

@ -565,23 +565,6 @@ static struct commit_list *find_bisection(struct commit_list *list,
return best;
}
static void read_revisions_from_stdin(struct rev_info *revs)
{
char line[1000];
while (fgets(line, sizeof(line), stdin) != NULL) {
int len = strlen(line);
if (len && line[len - 1] == '\n')
line[--len] = 0;
if (!len)
break;
if (line[0] == '-')
die("options not supported in --stdin mode");
if (handle_revision_arg(line, revs, 0, 1))
die("bad revision '%s'", line);
}
}
int cmd_rev_list(int argc, const char **argv, const char *prefix)
{
struct commit_list *list;

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

@ -910,6 +910,23 @@ int handle_revision_arg(const char *arg, struct rev_info *revs,
return 0;
}
void read_revisions_from_stdin(struct rev_info *revs)
{
char line[1000];
while (fgets(line, sizeof(line), stdin) != NULL) {
int len = strlen(line);
if (len && line[len - 1] == '\n')
line[--len] = '\0';
if (!len)
break;
if (line[0] == '-')
die("options not supported in --stdin mode");
if (handle_revision_arg(line, revs, 0, 1))
die("bad revision '%s'", line);
}
}
static void add_grep(struct rev_info *revs, const char *ptn, enum grep_pat_token what)
{
if (!revs->grep_filter) {

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

@ -111,6 +111,8 @@ struct rev_info {
#define REV_TREE_DIFFERENT 2
/* revision.c */
void read_revisions_from_stdin(struct rev_info *revs);
typedef void (*show_early_output_fn_t)(struct rev_info *, struct commit_list *);
volatile show_early_output_fn_t show_early_output;