VCS для DAW


Подумалось тут мне, что раз уж формат проектов Reaper‘а почти что человекочитаемый и, к примеру, если вырезать добавленную дорожку от руки, проект как ни в чём не бывало открывается уже без этой самой дорожки, то почему бы не устроить такие замечательные вещи, как версионирование и совместная работа удаленно?

Первоначальной мыслью был Fossil, который со всеми потрохами умещается в одном исполняемом файле, так что его даже не нужно устанавливать, но я оставил это, немного повозившись с ним.

Затем я пробовал делать это с Git, но доволен остался только с Mercurial. Естественно, далеко не мне одному такая идея пришла в голову, потому обнаружилась даже тема в архиве какого-то форума, где выложены были очевидные плюсы Mercurial перед Git:

  • Винда нам дом родной и потому никаких GNUшных приблуд, дабы устроить, как в случае с Git, подобие родного болота, не нужно. Только Python, причем, как я понимаю, в готовом пакете Mercurial все уже есть.
  • Git хуже дружит с бинарниками, а это и vst’шные настройки внутри проекта, и wav/flac. Вестимо, крайне важно, чтобы ничего из этого не побилось, а именно это, как утверждалось, делает иногда Git. Стоит, конечно, посомневаться, так как все аудиофайлы пишутся раз и больше не меняются, но в случае с настройками VSTшек я бы не стал ждать случая удостовериться. Mercurial де ничем таким не страдает.
  • Еще один недостаток Git (тема была год за 09’й или около того, так что это может быть не актуально) состоит в том, что он может принять за изменения в файле строки, сдвинутые новыми добавленными строками перед ними. То есть, скажем, есть у вас дорожки 1, 2 и 3. Добавляете где-нибудь в середине 1,5 и все, что окажется после, Git примет за новые строки, а не сдвинутые старые. Глупостью кажется такое в VCS, но опять же проверять не хочется.
  • От себя в пользу Mercurial немного вкусовщины, а именно удобство и инструменты. Да, команды в консоли почти одинаковы, но в случае с автодополнением zsh по tab’у вываливает для git столько всего, что я теряюсь и кажется, что в языке toki pona слов меньше, чем в git комманд.
    В случае же с Mercurial я нашел все, что мне было нужно. Zsh после push предлагает мне возможные направления для этого нехитрого движения.
    GUI же для Git либо слишком аскетичны, либо ужасно перегружены. Найденный для Mercurial TortoiseHG устроил сразу. Вроде есть TortoiseGIT, но с учетом всего остального смысла туда заглядывать нет.
    Bitbucket оказался вполне приятным сервисом и рядом с ним Github выглядит кое-где заваленным.

Я не знаю, есть ли какой-то бонус в том, что Reaper с Python’ом дружит, но скрипты на этом языке в нем довольно давно используются и вроде как через то возможно выполнять команды прямиком с панели Reaper’а. LICEcap же с нее запускается.

Собсно, чего не хватает для счастья? Кнопочек Commit, Push, Pull и, вероятно, еще пары-тройки пунктов где-нибудь в меню, чтобы все это происходило без необходимости сворачивать Reaper и как-то вообще отвлекаться лишний раз.

Самому мне ума запилить это не хватит, иначе я уже пилил бы. По меньшей мере я понятия не имею, откуда начать, так как с программированием в целом как-то не сложилось. С другой стороны, это всего лишь несколько комманд, а не полноценный интерфейс для Mercurial, для чего вполне есть уже упомянутый TortoiseHG.
Мысль же эту, полагаю, донес ясно, чем функцию свою выполнил, и с тем уповаю либо на чей-либо спортивный интерес, либо такую же нужду.

За сим все.

UPD:
Думал и подумал, что можно бы и попробовать донат собрать на такую штуку. Не уверен, осилю ли заплатить сам, а мне это не столь жизненно необходимо сейчас и, я прикидываю, цена для меня одного может быть великовата, но вот скинуться по 100-200р кодеру, который понимает примерно, за что он берется и зачем вообще это надо, было бы всем удобно.
С этим, ежели чего, прошу делиться соображениями где-нибудь в соцсетях (ссылки наверху) или прямиком на почту - nullnine at gmail.com

UPD2:
Какие-то еще доводы в пользу Mercurial могут быть найдены здесь.

UPD3:
И тут я вынужден признать, что ни Mercurial, ни Git для этого дела не годятся и дело все в бинарниках и невозможности удалять их из истории. Так директория .hg/.git с разными дописываемыми и заменяемыми дублями может распухнуть до размеров в несколько раз больше самого проекта.
Git вместе с Git-annex - да, но это еще более громоздко, чем сам Git, прикрученный к Reaper. Еще неясный момент в симлинках, на которых он работает, а в NTFS они не то есть, не то таки и нет.
Итак, Fossil? Какие VCS с доступными хостингами вообще позволяют удалять части истории?


comments powered by Disqus