On one hand, I don't know how I feel about including yet another SCM library in Mafia, because the problem then becomes where we draw the line. Do we include a Mercurial library? How about Darcs? Or Bazaar? Hell, there's even a version control system called
Veracity.
We have a lot of existing SVN-controlled scripts. We also have a few SVN-over-GIT scripts - Ezandora's Guide being the prime example - which have had repeated VC issues. It's those latter scripts that I'm thinking of; having native GIT support would (hopefully) fix the source control reliability issues. (Or, perhaps, the newer version of SVN we now support will make that work better, if the github hosted scripts can use that. I don't know.)
If we have an "svn" command to let you do svn-specific things, a "git" command to let you do git-specific things - and have a "vcs" or "script" command, say, to be the front end to either, depending on what the individual script needs - it would not be hard to add other VCSs, if needed - but I would be surprised if there was much call for anything else; I think people will be satisfied to use SVN at sourceforge or GIT at github
On the other hand, it could be an interesting project, but it'd probably take some significant effort to implement fully.
I think you are right. I have not looked at all at what we expose of SVN via CLI or ASH; I know we have a script registry - which assumes SVN - and that you can type "svn update" to update all of your registered scripts - and that is, literally, the only thing I ever use, other than following the published instructions for particular scripts that say "type this svn checkout command into the gCLI to install this script."
It would be a project to design a "vcs" or "script" command; perhaps you would use the "svn" or "git" command to actually install each individual script, but would use "script update" or "script synch" or whatever to do "operate over every installed script" operations.
A project that I will not be doing, although if somebody thinks it would be "fun", I'd certainly encourage the discussion.
For what it's worth, I'm currently using git-svn, which allows me to fetch SVN updates into a local git repository and even make commits from there. In fact, this is how hola mirrored Mafia's source code to github, apparently. This... could be a decent way to grasp the learning curve before committing to migrating, I guess.
Yeah, I saw that - and it would probably be adequate for our needs; the other tool preserves SVN branches and tags - but we don't use that. In retrospect, it would have been reasonable to tag all of the commits that go into a release with the release number, or something, but I don't think we really care; we have the "all development goes onto the trunk" super-simple approach to commits.
But, whether or not we move KoLmafia source to git is orthogonal to whether (and how) KoLmafia supports git for its script registry.