Heads up on work in progress - was: [PATCH 2/2] Add support ... [rev 11]
- From
Jon Seymour <jon.seymour@gmail.com>
- Date
- Jun 11, 2005, 05:28 UTC
- Message-ID
- <2cfc4032050610222853a882b7@mail.gmail.com>
- In-Reply-To
- <20050610092343.3935.qmail@blackcubes.dyndns.org>
Folks,
Thought I'd just give you a heads up that I am presently undertaking a further substantial re factorisation and generalization of epoch.c. The changes in this work we be largely limited to epoch.c and epoch.c-related parts of rev-list.c.
The upcoming changes will not substantially change the existing tools interfaces, so it would be safe to apply the [rev 11] to the git HEAD provided there is agreement that the tools interfaces proposed in [rev 11] are acceptable.
However, if you want to perform a detailed review of epoch.c, it might be better to hold off until my next batch of changes are ready. That said, if you would like to provide feedback on what I have already done, please feel welcome to.
In my forthcoming changes I intend to:
1. rename epoch.c to commit-graph.c 2. improve separation of concerns between rev-list.c and commit-graph.c * commit-graph.c will understand everything about incremental graph traversals, including merge order search and "localized" perspectives * rev-list.c will be responsible for output limiting [ that is: stopping the traversal according to user-defined (e.g. parameterised criteria) ] 3. the epoch_methods structure in [rev11] will be generalized to a per-traversal "traversal object" (struct graph_traversal) that will have additional methods such as: * visit_edge - called on each edge * visit_commit - called on each visit to a commit * clean_commit - called to clean any resources allocated during a call to visit_edge, visit_commit
I'll try to do the right thing and break the changes into a series of small patches to rev11.
Please forgive me for my previous practice of submitting large changes - I am quite new to the development-by-patch style of development, and haven't quite got into the swing of it yet.
jon.