Использую CKAN для управления модами. Также акивно использую GIT для отслеживания истории изменения состава модов. После каждого добавления/удаления мода делаю экспорт модпака. Да я в курсе, что CKAN держит историю в папке с игрой, но лично мне удобней отслеживать историю каким-либо GUI Git-клиентом.
Проблема в том, что CKAN помещает моды в пак в каком-то произвольном порядке, скорее всего хронологическом в порядке удаления добавления, что дает полную кашу при сравнении файлов.
Решение - сортировать моды в алфавитном порядке, тогда сразу будет четко видно, что добавлено, и что удалено.
Простейший сортировщик написан на Powershell и составляет всего 12 строк:
Ему передается имя файла через параметр -FileName, скрипт этот файл сортирует и записывает туда же.
У меня настроен мониторинг папки специальной утилитой, как только файл изменяется - запускается скрипт.
[CmdletBinding()]
Param (
[Parameter (Mandatory=$true)]
[string]$FileName
)
$a = (Get-Content $FileName | ConvertFrom-Json)
$dep = ($a.depends|sort -Property Name)
$a.depends = $dep
$text = $a| ConvertTo-Json
$text| Out-File -Encoding utf8 "$FileName"