On Thu, May 10, 2018 at 5:04 AM, Casey Bodley <cbodley@xxxxxxxxxx> wrote: > > > 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 a reference, the discussion was https://www.spinics.net/lists/ceph-devel/msg36019.html . >> >> 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. i concur with Casey. and i'd like to quote Adam's reply If both submodules and subtrees have their own set of drawbacks, it seems like a bad idea for Ceph as a project to have to deal with /both/ sets of drawbacks instead of just one. > > 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. > -- Regards Kefu Chai -- 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