diff options
author | René Scharfe <rene.scharfe@lsrfire.ath.cx> | 2012-04-25 22:35:27 +0200 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2012-04-25 14:51:17 -0700 |
commit | 89b5f1d9c5e64c9e232fa1ebe0ea407c8773b79a (patch) | |
tree | ad44ef41a6a12db2bb60945fea81d514afed71fe | |
parent | ba8e6326f16748d67fbeda65ffde4729760c64f0 (diff) | |
download | git-89b5f1d9c5e64c9e232fa1ebe0ea407c8773b79a.tar.gz git-89b5f1d9c5e64c9e232fa1ebe0ea407c8773b79a.tar.xz |
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>
-rw-r--r-- | commit.c | 27 | ||||
-rw-r--r-- | commit.h | 2 | ||||
-rw-r--r-- | sequencer.c | 27 |
3 files changed, 29 insertions, 27 deletions
@@ -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; +} @@ -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); diff --git a/sequencer.c b/sequencer.c index 4307364b2..ac6c8238e 100644 --- a/sequencer.c +++ b/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) { |