Bug#845297: [www.debian.org] Website transition from CVS to Git - Perl scripts to compare revisions
I have started to work in the scripts that we would need to convert from
the CVS logic (centralized system, a CVS/ folder with the info of the
files, version numbers) into a Git logic (decentralized system, commit
hashes instead of version numbers).
Lev's approach of having a "database" of numeric, consecutive versions
for each web file
difficult for me to understand and implement, so for now I'm not using
it, just trying to think in commit hashes as revision numbers, and the
own git tools to compare (most important is the diff content, not the
_version_number_ of the revisions, I think. Translators just update
manually the version_number right now, so I guess copy-pasting a git
hash is not so pretty as writing a number, but could work in a similar way).
Thanks to previous web team members, the current code is quite
versioning-system-agnostic and it's very modular. So I've dared to try
to do something non-nonsense:
* in the Perl/Local folder I copied the existing VCS_CVS.pm and
Cvsinfo.pm files into 2 new files, VCS_git.pm and Gitinfo.pm
* I've done some search and replace for the variables and comments (CVS
* Inserted some "#FIXME" comments in the functions that I think need
* I've tried to convert some of the functions. Didn't test them, though.
Since the website uses the VCS_CVS.pm and the Cvsinfo.pm files, and I
didn't touch any file that calls them, I've committed my changes to the
CVS repo. See the current status:
OTOH, I have updated the webwml git repo
to include the last commits and these files too, so they can be tested.
If you can and want to help, please review my changes, checkout the git
repo and test the different functions, or go on with the conversion in
the rest of the functions. I'll try to come back to this before the end
of the month.
If you have changes to do on the Perl files that don't affect the
current way of working with the website, please commit them in the CVS
repo, and ping me if you need that I update the git repo afterwards.
Other way is to work in the githashes branch of the git repo. I guess
you need that branch to point to the current master HEAD first, and then
do your changes.
Laura Arjona Reina