Switching PostgreSQL from CVS to Git

From PostgreSQL wiki

Revision as of 10:41, 4 March 2010 by Petere (Talk | contribs)

Jump to: navigation, search

The master PostgreSQL repository uses CVS. Some committers and many regular contributors are now using Git for version control instead. There's some evidence that switching the master repo over to git would be a productivity boost for the project. There are a few issues that need to be cleared before that is practical however.

[D] Completed itemGet a Windows-compatible version of Git
The currently available tools work well enough on Windows now
[D] Completed itemCheck on context diffs & Git
The extra tools described at Working with Git now do a reasonable job of handling this requirement
[D] Completed itemFix GitMirror script (Magnus)

Incomplete itemChange buildfarm scripts, client and server side, to add git as an SCM (Andrew Dunstan)

Incomplete itemCheck whether all the buildfarm machines can be made to work directly with Git (Andrew Dunstan)
If not, some sort of CVS emulator (such as git-cvsserver) will need to be setup. older buildfarm members that just can't compile and run git are a possibility.
Incomplete itemConfirm past releases can be built identically from Git, using binary diff
Initial testing suggests there are a few problem tags
Incomplete itemProvide backport examples
Tom requested suggestions for replacing tools used for backporting across multiple versions using a checkout per branch. Currently cvs2cl helps with this task, it needs to be replaced with a similarly friendly approach. One possibility is using multiple clones with hooks that copy revisions between each other when they are committed, which is complicated to setup. Among a list of several simpler alternatives, git-new-workdir seems to be the most straightforward to use. There needs to be a fully worked out example that everyone is happy with here though.
Incomplete itemDocumentation build
Developer documentation build (http://developer.postgresql.org/pgdocs/postgres/) scripts use CVS, need to be changed. (Peter E.)
Incomplete itemNLS
NLS service (http://babel.postgresql.org/) scripts rely on CVS, need to be changed. (Peter E.)
Incomplete itemCVS keywords
Remove all CVS keywords from the code

Personal tools