Le 2020-01-13 12:52, Florian Weimer a écrit :
I have trouble matching this claim to my experience working on
redhat-rpm-config. Why is it painful to use Git as it was designed?
Because redhat-rpm-config is not "using Git as it was designed". It’s
using git as a centralized flat and linear SCM (à la SVN/CVS) without
putting the project info in the repository but in a static spec mapping.
In sane macro project that use separate sources you can do things like
"install rpm/macros.d/* to %{_rpmconfigdir}/macros.d/" (because if you
accepted a PR that puts things in rpm/macros.d and tagged the result you
*want* this result deployed in %{_rpmconfigdir}/macros.d/, right?). In
redhat-rpm-config that does not work. Every single file is a different
source with custom spec handling.
Apart from being inefficient this custom handling badly collides
whenever two PRs try to add new files. With a real detached source
project, with a real tree managed by git, all the eventual tree
collisions would be managed by git. With everything-is-a-separate-source
files collide (at the source number level) even when they have different
filenames, and will be deployed in different places.
Regards,
--
Nicolas Mailhot