commit/revisions: bookkeeping before refactoring
authorDerrick Stolee <stolee@gmail.com>
Thu, 1 Nov 2018 13:46:21 +0000 (13:46 +0000)
committerJunio C Hamano <gitster@pobox.com>
Fri, 2 Nov 2018 03:14:22 +0000 (12:14 +0900)
commit5284fc5cc9791b6526b36909373748bc14daef1a
tree8a9504d5cf8d3734f67d4cda075d19beb16baa71
parentf0d9cc4196a0188724866bc0b11a2e8e0f95ab36
commit/revisions: bookkeeping before refactoring

There are a few things that need to move around a little before
making a big refactoring in the topo-order logic:

1. We need access to record_author_date() and
   compare_commits_by_author_date() in revision.c. These are used
   currently by sort_in_topological_order() in commit.c.

2. Moving these methods to commit.h requires adding an author_date_slab
   declaration to commit.h. Consumers will need their own implementation.

3. The add_parents_to_list() method in revision.c performs logic
   around the UNINTERESTING flag and other special cases depending
   on the struct rev_info. Allow this method to ignore a NULL 'list'
   parameter, as we will not be populating the list for our walk.
   Also rename the method to the slightly more generic name
   process_parents() to make clear that this method does more than
   add to a list (and no list is required anymore).

Helped-by: Jeff King <peff@peff.net>
Signed-off-by: Derrick Stolee <dstolee@microsoft.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
commit.c
commit.h
revision.c