Re: Keep dmclock as a git subtree or switch it to a git submodule?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 





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



[Index of Archives]     [CEPH Users]     [Ceph Large]     [Information on CEPH]     [Linux BTRFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux