Re: [RFC PATCH 00/19] Bring more repository handles into our code base
- From
- Jonathan Tan <jonathantanmy@google.com>
- Date
- Oct 11, 2018, 23:07 UTC
- Message-ID
- <20181011230748.201450-1-jonathantanmy@google.com>
- In-Reply-To
- <20181011211754.31369-1-sbeller@google.com>
Show 8 quoted lines
> 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/