mrefal GitHub
Ссылка:
github.com
Таки выложил репозиторий Модульного Рефала на GitHub. На данный момент компилятор малоюзабелен (работает только под Windows, перед использованием в файле compile_mr.cfg следует прописать путь к текущей папке, нет руководства пользователя), но важен тут сам факт.
Репозиторий делал я долго, но он точно отображает ход развития проекта с 2007 года.
У коммитов с 2007 до 2011 года долгая история.
• В тот период я не пользовался системами контроля версий, но прилежно делал бекапы в виде архивов RAR.
• Потом я случайно убил раздел с этими бекапами.
• Восстановил (самописной утилитой), но имена файлов потерялись — пришлось вручную разбирать, какой из архивов полный, а какой разностный, а также восстанавливать временные штампы по содержимому. Хотя, полдюжины архивов сохранилось в другой папке, их коммиты в истории выделяются другим именем файла.
• Затем написал утилиту (велосипед № 2), которая из набора архивов строит репозиторий Git с линейной историей.
• Но на самом деле история нелинейная, ибо я писал компилятор то дома, то с работы, а затем все архивы скинул в одну кучу. Пришлось вручную перелопачивать историю, вставляя в нужных местах ветвления и слияния.
• Архивы представляли собой просто слепки файловой системы с кучей промежуточных и целевых файлов («объектные» файлы, exe-шники), которые можно перегенировать из исходников. Чтобы прояснить дифы коммитов и уменьшить объём хранилища, чистил историю от этих файлов (ещё одна кропотливая работа). Некоторые exe-шники для цельности картины пришлось оставить, поэтому размер хранилища получается около 90 Мбайт.
• В рамках Модульного Рефала жил форк Простого Рефала, поэтому старые коммиты последнего тоже вшиты в историю.
Начиная с 2011 года я уже начал использовать SVN (хранилище держал на флешке), а поддержка последнего есть в Git из коробки. Где-то с 2014 года уже коммитил в этот SVN через клиент Git (отсюда коммиты с файлами .gitignore).
В общем, поэтому так долго выкладывал Модульный Рефал на GitHub (
#2810159).
История развития Модульного Рефала начиная с 2007 года описана в журнале проекта
github.com , если это кому интересно.