зеркало из https://github.com/microsoft/git.git
sequencer: export commit_list_append()
This function can be used in other parts of git. Give it a new home in commit.c. Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Родитель
ba8e6326f1
Коммит
89b5f1d9c5
27
commit.c
27
commit.c
|
@ -1214,3 +1214,30 @@ struct commit *get_merge_parent(const char *name)
|
|||
}
|
||||
return commit;
|
||||
}
|
||||
|
||||
/*
|
||||
* Append a commit to the end of the commit_list.
|
||||
*
|
||||
* next starts by pointing to the variable that holds the head of an
|
||||
* empty commit_list, and is updated to point to the "next" field of
|
||||
* the last item on the list as new commits are appended.
|
||||
*
|
||||
* Usage example:
|
||||
*
|
||||
* struct commit_list *list;
|
||||
* struct commit_list **next = &list;
|
||||
*
|
||||
* next = commit_list_append(c1, next);
|
||||
* next = commit_list_append(c2, next);
|
||||
* assert(commit_list_count(list) == 2);
|
||||
* return list;
|
||||
*/
|
||||
struct commit_list **commit_list_append(struct commit *commit,
|
||||
struct commit_list **next)
|
||||
{
|
||||
struct commit_list *new = xmalloc(sizeof(struct commit_list));
|
||||
new->item = commit;
|
||||
*next = new;
|
||||
new->next = NULL;
|
||||
return &new->next;
|
||||
}
|
||||
|
|
2
commit.h
2
commit.h
|
@ -53,6 +53,8 @@ int find_commit_subject(const char *commit_buffer, const char **subject);
|
|||
|
||||
struct commit_list *commit_list_insert(struct commit *item,
|
||||
struct commit_list **list);
|
||||
struct commit_list **commit_list_append(struct commit *commit,
|
||||
struct commit_list **next);
|
||||
unsigned commit_list_count(const struct commit_list *l);
|
||||
struct commit_list *commit_list_insert_by_date(struct commit *item,
|
||||
struct commit_list **list);
|
||||
|
|
27
sequencer.c
27
sequencer.c
|
@ -468,33 +468,6 @@ static void read_and_refresh_cache(struct replay_opts *opts)
|
|||
rollback_lock_file(&index_lock);
|
||||
}
|
||||
|
||||
/*
|
||||
* Append a commit to the end of the commit_list.
|
||||
*
|
||||
* next starts by pointing to the variable that holds the head of an
|
||||
* empty commit_list, and is updated to point to the "next" field of
|
||||
* the last item on the list as new commits are appended.
|
||||
*
|
||||
* Usage example:
|
||||
*
|
||||
* struct commit_list *list;
|
||||
* struct commit_list **next = &list;
|
||||
*
|
||||
* next = commit_list_append(c1, next);
|
||||
* next = commit_list_append(c2, next);
|
||||
* assert(commit_list_count(list) == 2);
|
||||
* return list;
|
||||
*/
|
||||
static struct commit_list **commit_list_append(struct commit *commit,
|
||||
struct commit_list **next)
|
||||
{
|
||||
struct commit_list *new = xmalloc(sizeof(struct commit_list));
|
||||
new->item = commit;
|
||||
*next = new;
|
||||
new->next = NULL;
|
||||
return &new->next;
|
||||
}
|
||||
|
||||
static int format_todo(struct strbuf *buf, struct commit_list *todo_list,
|
||||
struct replay_opts *opts)
|
||||
{
|
||||
|
|
Загрузка…
Ссылка в новой задаче