I've done a git conversion of the GCC wwwdocs repository (from CVS, using cvs-fast-export), plus written a git post-receive hook intended to correspond to what the CVS hook does. (For the CVS hook, see loginfo in the CVSROOT, plus the scripts such as htdocs-checkout referenced from there.) To access the test conversion (given SSH access to gcc.gnu.org), do: git clone git+ssh://gcc.gnu.org/home/gccadmin/wwwdocs-test.git (This only needs the usual restricted SSH access used to commit to GCC, not shell access.) Note that the test repository does *not* have the post-receive hook enabled; pushing commits to it won't do anything useful; it's simply there to make it convenient to review the converted history. In practice, I expect the post-receive hook may need bugs ironed out once in use in production, because it's hard to test when not hooked up to the real website. I've attached the conversion scripts and proposed post-receive hook. do-download checks out cvs-fast-export and ESR's gcc-conversion repository (for the author map) and rsyncs the wwwdocs CVS repository. do-convert builds cvs-fast-export and does the conversion (with a few extra authors in the author map, where e.g. new since the last update to the author map or only ever committed to wwwdocs not GCC sources; the names for htdigid and www are somewhat arbitrary, www commits would actually have been some human or humans committing as that user by accident); once cvs-fast-export has been built, this takes about 15 seconds. All non-master tags and branches are removed, since they are clearly just accidents from tags / branches having been applied to the whole CVS repository rather than just to the GCC sources proper. post-receive is the proposed hook. It calls post-receive-email to send email (could no doubt be adjusted to use AdaCore hooks or any other email-sending system), then follows logic intended to replicate the old hooks to update a checkout of wwwdocs and call the preprocess script on new or modified files. I'd expect the post-receive script to go in wwwdocs/bin (with the hook directory having a symlink to there). There would of course be website changes needed to update the references to CVS, and the preprocess script would change to ignore .git when doing global preprocessing on the site. I don't know whether either the system for updating www.gnu.org's copy of the site, or Gerald's HTML validation system, would need updating for a move of wwwdocs to git. Any comments on the conversion or hook? -- Joseph S. Myers joseph@codesourcery.com