On 05/09/2018 04:42 PM, J. Eric Ivancich wrote:
A couple years ago we posed the question to ceph-devel of whether to
integrate the dmclock library into ceph as a git submodule or git
subtree, and we ended up choosing a git subtree.
As far as I know it is the only git subtree in the ceph repo. Every
other external library is brought into ceph as a git submodule.
git subtrees have some peculiarities that take some time to get used to
and invite a certain set of mistakes.
Danny Al-Gaaf has submitted a PR to switch dmclock to a git submodule.
[https://github.com/ceph/ceph/pull/21651]
I support it but thought it would be best to throw the issue back to
ceph-devel for comments.
Eric
--
To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Thanks Eric. I'd also prefer a switch to submodule.
As an upstream PR reviewer, I've caught several changes under
src/dmclock that have to go through the dmclock repo instead. Use of
subtrees makes it so easy to miss these. It may be possible to add
github checks to catch them, but we already have checks in place for
submodules.
And as someone who's recently been dabbling in the dmclock library
itself, I've found it very cumbersome to get a ceph branch to target a
different branch of dmclock. You have to use 'git subtree pull' to
create a merge commit that switches your dmclock branch - and because of
this merge commit, you aren't able to rebase the branch (this is
documented under WARNINGS in README.git-subtree). This workflow is much
simpler with submodules.
Casey
--
To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html