Forum OpenACS Q&A: git and openacs?
What is the status of git and openacs? Can I fork then clone, then install it?
Also, what about tying git and packages in the same way that was done in CVS?
> What is the status of git and openacs?
Currently, the git repositories on github are regenerated daily from CVS, producing one repository for the core packages (openacs-core), and individual repositories for non-core ones.
> Can I fork then clone, then install it?
> Also, what about tying git and packages in the same way that was done in CVS?
Once there is finally a migration towards git, this is a requirement.
> is openacs development proceeding on git now?
Development is still being done in CVS.
aside from using git, is pretty much like using CVS, but taking into account that the non-core packages are in different repositories.
So, for instance, one could clone openacs-core in, say, /openacs/, and then go to /openacs/packages/ and clone each non-core package required individually in its own directory.
/openacs/ $ git clone https://github.com/openacs/openacs-core.git .
Cloning into '.'...
/openacs/ $ cd packages/
/openacs/packages $ git clone https://github.com/openacs/news.git
Cloning into 'news'...
The main issue is how to manage all the repositories in an orchestrated way afterwards, for upgrades, branch management and such. There are some tools available out there, like myrepos, to achieve that.
Also, for local development purposes, it might be a good idea to use local branches in a separate remote, and merge/rebase upstream's code into those.
For instance, having a 'github' remote, and an 'origin' remote with the local branches, and daily merge 'github/master' into 'origin/development'. This is also nice in terms of git history, as it makes easy to distinguish between local code and upstream's new code.
thanks for the responses... it sounds to me like people are
committing to cvs, and git follows cvs at the moment.
Any chance of there being a way to get code into the core
starting with a fork of (say) openacs core, and a checkout