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:
parent
6e1c23442a
commit
1fc561d169
@ -565,23 +565,6 @@ static struct commit_list *find_bisection(struct commit_list *list,
|
|||||||
return best;
|
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)
|
int cmd_rev_list(int argc, const char **argv, const char *prefix)
|
||||||
{
|
{
|
||||||
struct commit_list *list;
|
struct commit_list *list;
|
||||||
|
17
revision.c
17
revision.c
@ -910,6 +910,23 @@ int handle_revision_arg(const char *arg, struct rev_info *revs,
|
|||||||
return 0;
|
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)
|
static void add_grep(struct rev_info *revs, const char *ptn, enum grep_pat_token what)
|
||||||
{
|
{
|
||||||
if (!revs->grep_filter) {
|
if (!revs->grep_filter) {
|
||||||
|
@ -111,6 +111,8 @@ struct rev_info {
|
|||||||
#define REV_TREE_DIFFERENT 2
|
#define REV_TREE_DIFFERENT 2
|
||||||
|
|
||||||
/* revision.c */
|
/* revision.c */
|
||||||
|
void read_revisions_from_stdin(struct rev_info *revs);
|
||||||
|
|
||||||
typedef void (*show_early_output_fn_t)(struct rev_info *, struct commit_list *);
|
typedef void (*show_early_output_fn_t)(struct rev_info *, struct commit_list *);
|
||||||
volatile show_early_output_fn_t show_early_output;
|
volatile show_early_output_fn_t show_early_output;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user