Captain Scotch
New member
This is facially similar to Irrat's post here, but different enough that I think it's worth a new topic.
Recently, my friend Beldur noticed that one of the scripts in svnrepo.json wasn't working. Being very detail-oriented weirdos, we wondered if there were any other scripts in Script Manager that do not work, so we took an opportunity to look at every script currently within svnrepo.json and test them to see if they are installable without modifications. A spreadsheet of our findings is located here. The majority of the scripts located in the manager still work quite well -- we found a handful of errors in dependencies.txt for the given scripts (noted in the linked sheet), but out of 124 scripts in svnrepo.json, only 14 actively do not install correctly as of r27226. That's basically only 11% -- ridiculous, not even funny.
As part of this exercise, we also looked at script activity for scripts where we knew more recent iterations/pulls exist; things like EatDrink vs Consume, cc_snapshot vs av_snapshot, etc. Obviously, a lot of the inactive scripts are totally fine -- for instance, Ezandora's Detective Solver.ash script really doesn't need to be updated at all. It works as perfectly well today as it did when the IOTM was released. On the other hand, we found several scripts in the script manager that have more-recently-updated versions that could probably do with being included over the old version, or scripts that would be great to have a more recent version of. (This is, for example, why we forked in and updated Bountiful; posters on the ASS Discord were having issues with the Script Manager's Bounty.ash script and we wanted to make sure we had something for them to use.)
I wanted to bring this to mafia dev attention for two reasons. First, interested parties could potentially fork and fix the issues with some of the inactive scripts. Some of them, like Bale's OCD Inventory Management, have already been forked with a new version that is more up-to-date. For those, we could just swap that out with their new maintained versions. Second, svnrepo.json currently uses SVN installation for all scripts; now that Mafia has native Git installation support, it would be nice if we could add a way to differentiate git scripts from svn scripts in Script Manager, so that we can have manager default to the correct installation protocol for the given script storage type. At this time, not every git script in Script Manager actually can properly use the normal git installation protocol for Mafia, but of the 27 I think 23 of them are trivial to add checkout statements for and 4 of them would require some sort of different git clone handling.
Anyway. Let me know what you all think. I am happy to do a dust-up of svnrepo.json that cleans up scripts however you all want. I think doing the SVN vs Git differentiation within ScriptManager.java is a bit beyond my scripting abilities, but I am always happy to do the boring paperwork while the better coders do the Java stuff. I think the basic thing is just making sure GitManager.java does the few remaining things that SVNManager.java does and incorporating it properly? I dunno.
Thanks for reading!
-- Scotch
Recently, my friend Beldur noticed that one of the scripts in svnrepo.json wasn't working. Being very detail-oriented weirdos, we wondered if there were any other scripts in Script Manager that do not work, so we took an opportunity to look at every script currently within svnrepo.json and test them to see if they are installable without modifications. A spreadsheet of our findings is located here. The majority of the scripts located in the manager still work quite well -- we found a handful of errors in dependencies.txt for the given scripts (noted in the linked sheet), but out of 124 scripts in svnrepo.json, only 14 actively do not install correctly as of r27226. That's basically only 11% -- ridiculous, not even funny.

As part of this exercise, we also looked at script activity for scripts where we knew more recent iterations/pulls exist; things like EatDrink vs Consume, cc_snapshot vs av_snapshot, etc. Obviously, a lot of the inactive scripts are totally fine -- for instance, Ezandora's Detective Solver.ash script really doesn't need to be updated at all. It works as perfectly well today as it did when the IOTM was released. On the other hand, we found several scripts in the script manager that have more-recently-updated versions that could probably do with being included over the old version, or scripts that would be great to have a more recent version of. (This is, for example, why we forked in and updated Bountiful; posters on the ASS Discord were having issues with the Script Manager's Bounty.ash script and we wanted to make sure we had something for them to use.)
I wanted to bring this to mafia dev attention for two reasons. First, interested parties could potentially fork and fix the issues with some of the inactive scripts. Some of them, like Bale's OCD Inventory Management, have already been forked with a new version that is more up-to-date. For those, we could just swap that out with their new maintained versions. Second, svnrepo.json currently uses SVN installation for all scripts; now that Mafia has native Git installation support, it would be nice if we could add a way to differentiate git scripts from svn scripts in Script Manager, so that we can have manager default to the correct installation protocol for the given script storage type. At this time, not every git script in Script Manager actually can properly use the normal git installation protocol for Mafia, but of the 27 I think 23 of them are trivial to add checkout statements for and 4 of them would require some sort of different git clone handling.
Anyway. Let me know what you all think. I am happy to do a dust-up of svnrepo.json that cleans up scripts however you all want. I think doing the SVN vs Git differentiation within ScriptManager.java is a bit beyond my scripting abilities, but I am always happy to do the boring paperwork while the better coders do the Java stuff. I think the basic thing is just making sure GitManager.java does the few remaining things that SVNManager.java does and incorporating it properly? I dunno.
Thanks for reading!
-- Scotch