From: Junio C Hamano <gitster@pobox.com>
To: git@vger.kernel.org
Subject: [PATCH 04/10] revision.c: make save_parents() and free_saved_parents() static
Date: Wed, 14 Jan 2015 15:40:49 -0800 [thread overview]
Message-ID: <1421278855-8126-5-git-send-email-gitster@pobox.com> (raw)
In-Reply-To: <1421278855-8126-1-git-send-email-gitster@pobox.com>
No external callers exist.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
---
revision.c | 106 ++++++++++++++++++++++++++++++++-----------------------------
revision.h | 12 +++----
2 files changed, 59 insertions(+), 59 deletions(-)
diff --git a/revision.c b/revision.c
index 86406a2..0f4619c 100644
--- a/revision.c
+++ b/revision.c
@@ -2968,6 +2968,61 @@ enum commit_action get_commit_action(struct rev_info *revs, struct commit *commi
return commit_show;
}
+define_commit_slab(saved_parents, struct commit_list *);
+
+#define EMPTY_PARENT_LIST ((struct commit_list *)-1)
+
+/*
+ * You may only call save_parents() once per commit (this is checked
+ * for non-root commits).
+ */
+static void save_parents(struct rev_info *revs, struct commit *commit)
+{
+ struct commit_list **pp;
+
+ if (!revs->saved_parents_slab) {
+ revs->saved_parents_slab = xmalloc(sizeof(struct saved_parents));
+ init_saved_parents(revs->saved_parents_slab);
+ }
+
+ pp = saved_parents_at(revs->saved_parents_slab, commit);
+
+ /*
+ * When walking with reflogs, we may visit the same commit
+ * several times: once for each appearance in the reflog.
+ *
+ * In this case, save_parents() will be called multiple times.
+ * We want to keep only the first set of parents. We need to
+ * store a sentinel value for an empty (i.e., NULL) parent
+ * list to distinguish it from a not-yet-saved list, however.
+ */
+ if (*pp)
+ return;
+ if (commit->parents)
+ *pp = copy_commit_list(commit->parents);
+ else
+ *pp = EMPTY_PARENT_LIST;
+}
+
+static void free_saved_parents(struct rev_info *revs)
+{
+ if (revs->saved_parents_slab)
+ clear_saved_parents(revs->saved_parents_slab);
+}
+
+struct commit_list *get_saved_parents(struct rev_info *revs, const struct commit *commit)
+{
+ struct commit_list *parents;
+
+ if (!revs->saved_parents_slab)
+ return commit->parents;
+
+ parents = *saved_parents_at(revs->saved_parents_slab, commit);
+ if (parents == EMPTY_PARENT_LIST)
+ return NULL;
+ return parents;
+}
+
enum commit_action simplify_commit(struct rev_info *revs, struct commit *commit)
{
enum commit_action action = get_commit_action(revs, commit);
@@ -3267,54 +3322,3 @@ void put_revision_mark(const struct rev_info *revs, const struct commit *commit)
fputs(mark, stdout);
putchar(' ');
}
-
-define_commit_slab(saved_parents, struct commit_list *);
-
-#define EMPTY_PARENT_LIST ((struct commit_list *)-1)
-
-void save_parents(struct rev_info *revs, struct commit *commit)
-{
- struct commit_list **pp;
-
- if (!revs->saved_parents_slab) {
- revs->saved_parents_slab = xmalloc(sizeof(struct saved_parents));
- init_saved_parents(revs->saved_parents_slab);
- }
-
- pp = saved_parents_at(revs->saved_parents_slab, commit);
-
- /*
- * When walking with reflogs, we may visit the same commit
- * several times: once for each appearance in the reflog.
- *
- * In this case, save_parents() will be called multiple times.
- * We want to keep only the first set of parents. We need to
- * store a sentinel value for an empty (i.e., NULL) parent
- * list to distinguish it from a not-yet-saved list, however.
- */
- if (*pp)
- return;
- if (commit->parents)
- *pp = copy_commit_list(commit->parents);
- else
- *pp = EMPTY_PARENT_LIST;
-}
-
-struct commit_list *get_saved_parents(struct rev_info *revs, const struct commit *commit)
-{
- struct commit_list *parents;
-
- if (!revs->saved_parents_slab)
- return commit->parents;
-
- parents = *saved_parents_at(revs->saved_parents_slab, commit);
- if (parents == EMPTY_PARENT_LIST)
- return NULL;
- return parents;
-}
-
-void free_saved_parents(struct rev_info *revs)
-{
- if (revs->saved_parents_slab)
- clear_saved_parents(revs->saved_parents_slab);
-}
diff --git a/revision.h b/revision.h
index 033a244..07807e5 100644
--- a/revision.h
+++ b/revision.h
@@ -298,18 +298,14 @@ extern int rewrite_parents(struct rev_info *revs, struct commit *commit,
rewrite_parent_fn_t rewrite_parent);
/*
- * Save a copy of the parent list, and return the saved copy. This is
- * used by the log machinery to retrieve the original parents when
- * commit->parents has been modified by history simpification.
- *
- * You may only call save_parents() once per commit (this is checked
- * for non-root commits).
+ * The log machinery saves the original parent list so that
+ * get_saved_parents() can later tell what the real parents of the
+ * commits are, when commit->parents has been modified by history
+ * simpification.
*
* get_saved_parents() will transparently return commit->parents if
* history simplification is off.
*/
-extern void save_parents(struct rev_info *revs, struct commit *commit);
extern struct commit_list *get_saved_parents(struct rev_info *revs, const struct commit *commit);
-extern void free_saved_parents(struct rev_info *revs);
#endif
--
2.3.0-rc0-134-g109a908
next prev parent reply other threads:[~2015-01-14 23:41 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-01-14 23:40 [PATCH 00/10] mark private symbols static Junio C Hamano
2015-01-14 23:40 ` [PATCH 01/10] http.c: make finish_active_slot() and handle_curl_result() static Junio C Hamano
2015-01-15 6:41 ` Jeff King
2015-01-14 23:40 ` [PATCH 02/10] line-log.c: make line_log_data_init() static Junio C Hamano
2015-01-14 23:40 ` [PATCH 03/10] prompt.c: remove git_getpass() nobody uses Junio C Hamano
2015-01-15 6:47 ` Jeff King
2015-01-14 23:40 ` Junio C Hamano [this message]
2015-01-14 23:40 ` [PATCH 05/10] urlmatch.c: make match_urls() static Junio C Hamano
2015-01-15 6:49 ` Jeff King
2015-01-14 23:40 ` [PATCH 06/10] remote.c: make clear_cas_option() static Junio C Hamano
2015-01-14 23:40 ` [PATCH 07/10] shallow.c: make check_shallow_file_for_update() static Junio C Hamano
2015-01-14 23:40 ` [PATCH 08/10] pack-bitmap.c: make pack_bitmap_filename() static Junio C Hamano
2015-01-15 6:51 ` Jeff King
2015-01-14 23:40 ` [PATCH 09/10] read-cache.c: make fill/match_stat_data() static Junio C Hamano
2015-01-14 23:40 ` [PATCH 10/10] commit: show "Author:" hint when the ident is not given explicitly Junio C Hamano
2015-01-15 7:17 ` Jeff King
2015-01-15 0:07 ` [PATCH 00/10] mark private symbols static Stefan Beller
2015-01-15 7:18 ` Jeff King
2015-01-15 17:52 ` Junio C Hamano
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1421278855-8126-5-git-send-email-gitster@pobox.com \
--to=gitster@pobox.com \
--cc=git@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).