Re: [RFC PATCH 00/19] Bring more repository handles into our code base
From: Jonathan Tan <hidden>
Date: 2018-10-11 23:07:53
This series takes another approach as it doesn't change the signature of functions, but introduces new functions that can deal with arbitrary repositories, keeping the old function signature around using a shallow wrapper. Additionally each patch adds a semantic patch, that would port from the old to the new function. These semantic patches are all applied in the very last patch, but we could omit applying the last patch if it causes too many merge conflicts and trickl in the semantic patches over time when there are no merge conflicts.
Thanks, this looks like a good plan.
One concern is that if we leave 2 versions of functions around, it will
be difficult to look at a function and see if it's truly
multi-repository-compatible (or making a call to a function that
internally uses the_repository, and is thus wrong). But with the plan
Stefan quoted [1], mentioned in commit e675765235 ("diff.c: remove
implicit dependency on the_index", 2018-09-21):
The plan is these macros will always be defined for all library files
and the macros are only accessible in builtin/
(The macros include NO_THE_REPOSITORY_COMPATIBILITY_MACROS, which
disables the single-repository function-like macros.) This mitigates the
concern somewhat.
[1] https://public-inbox.org/git/20181011211754.31369-1-sbeller@google.com/