I am scratching my own itch by implementing a checkrepo command. It looks at the SVN directory and identifies local repos that have files that will overwrite each other when an SVN operation copies files to relay, scripts, etc. Comparison is forced to lower case so there is a slight chance of a false positive on an OS that is case sensitive. The copy code identifies a conflict and asks the user before overwriting but often users forget and it is quite possibly to not be sure which script was updated most recently and this wrote the file.
As a test, I installed everything in svnrepo.json. I found the following duplicates
I also found two scripts that had migrated from SVN to GitHub since their svnrepo entry was last updated.
Everything is derived from the SVN root. If "\" is a delimiter then the first field is KoLmafia's directory for a local repository. The second field is where KoLmafia will place the file and the last field is the file name. Note that a falls positive will be generated if the name is the same but the mafia directory is not.
For your amusement while I get the code to the point that I make a PR from it.
As a test, I installed everything in svnrepo.json. I found the following duplicates
Code:
***
bale-relay-topmenu\relay\topmenu.ash
ckbiconmenu\relay\topmenu.ash
***
***
eodascensionchecklist\data\EoDCommonListDefault.txt
eodscascension-0\data\EoDCommonListDefault.txt
***
***
batman-re\relay\fambattle.ash
Ezandora-Helix-Fossil-branches-Release\relay\fambattle.ash
***
***
autobhh\scripts\bounty.ash
guyymafia-buttonfrenzy\relay\bounty.ash
***
***
kolmafiascripts-mafiarecovery\relay\relay_Universal_Recovery.ash
mafiarecovery\relay\relay_Universal_Recovery.ash
***
***
kolmafiascripts-mafiarecovery\scripts\Universal_recovery.ash
mafiarecovery\scripts\Universal_recovery.ash
***
***
batman-re\relay\datatables.min.js
reference-plus\relay\datatables.min.js
***
***
guyymafia-buttonfrenzy\relay\shop.ash
relaywtf-shopwtf\relay\shop.ash
***
***
guyymafia-buttonfrenzy\relay\store.ash
relaywtf-shopwtf\relay\store.ash
***
***
relaywtf-inventorywtf\relay\inventory.ash
rlbond86-mafia-scripts-enhanced_inventory_spoilers-trunk\relay\inventory.ash
***
***
relaywtf-inventorywtf\relay\storage.ash
rlbond86-mafia-scripts-enhanced_inventory_spoilers-trunk\relay\storage.ash
***
***
relaywtf-vipwtf\relay\clan_viplounge.ash
rlbond86-mafia-scripts-fax_tell-trunk\relay\clan_viplounge.ash
***
***
Ezandora-Choice-Override-branches-Release\relay\choice.ash
rlbond86-mafia-scripts-modular_choice_override-trunk\relay\choice.ash
***
I also found two scripts that had migrated from SVN to GitHub since their svnrepo entry was last updated.
Everything is derived from the SVN root. If "\" is a delimiter then the first field is KoLmafia's directory for a local repository. The second field is where KoLmafia will place the file and the last field is the file name. Note that a falls positive will be generated if the name is the same but the mafia directory is not.
For your amusement while I get the code to the point that I make a PR from it.