What about custom websites built using the OpenACS toolkit, what
version control approaches have folks been using lately?
I may be starting a new (private) intranet soon, and I want to use Git
for that, not CVS. I'll have to think about how to best integrate
that with the OpenACS 5.10.x branch code, so I'm curious about others
experiences with custom sites and Git.
I am definitely inclined to have just one Git project, with everything
organized in directories underneath. In Git-land I think people call
this a "monorepo". This is apparently less common than using
lots of separate little Git projects, which I find strange, as lots of
separate little projects makes things like re-factoring code across
them much worse. But maybe they have some good reason for disliking
"monorepos"...
So far, my limited experience using Git (and previously Mercurial) with
Naviserver
is that these new-fangled distributed version control systems are
excellent if all your commits follow a nice clean tree
structure. If everything I've committed locally is suitable for
pushing upstream and merging, Git makes that easy, it's great.
But if I (foolishly?) commit a mix of good patches and private
local-only hacks in my same local Git repository,
sending only the good patches upstream for merging is a
confusing mess. So far I've avoided that by never committing
local-only customizations in the Git repository I use for pushing
patches upstream. But I'm sure I'll mess that up at some point, and
need to learn about whatever arcane tools Git provides for untangling
that, and what approaches expert users recommend.