Я собираюсь предположить, что вы недовольны эфемерной файловой системой кедра , в которой файлы теряются при каждой перезагрузке dyno и не видны кросс-dyno.Принятие этих ограничений, очевидно, было бы самым простым решением (каждому динамо, возможно, пришлось бы создавать свои собственные репозитории git, но это было бы так).
Вторым наиболее простым решением было бы вычисление журнала git в другом месте.Вы можете написать небольшое приложение, похожее на веб-сервис (возможно, с Sinatra), которое принимает два URL репозитория и возвращает их diff.И тогда вы можете запросить это из приложения heroku.Но я полагаю, что это исключено, поскольку вы просите сделать это «на Heroku».
Что приводит нас к последнему решению;это включает создание всего в памяти;исходная папка должна быть создана с чем-то вроде FakeFS , а управление git должно быть сделано из ruby изначально; Вилка Скотта Чакона делала нативные вызовы вместо обстрела, так что это может сработать (я не знаю, были ли изменения Чакона перенесены в основную дробь).Таким образом, весь доступ к файловой системе будет осуществляться из ruby, и все будет в памяти (кстати, вы можете обновить свою память)
Я лично не пробовал ничего из этого, я нене знаю, насколько хорошо они будут работать.
Если вам нужна настойчивость, возможно, вы можете собрать все это в своей базе данных или из нее, но это звучит как большая проблема.
Я надеюсь, что этопомогает.