Найти в Дзене
Случайное

Flashbake - автосохранение в git

Собственно, по-хорошему, тут надо начинать с того, что есть целая тема - "системы управления версиями", предназначенные вообще-то для программистов, но я уверена, что пишущим - не менее нужные. Из них я уже который год использую git. Система управления версиями позволяет хранить несколько версий одного и того же документа, при необходимости возвращаться к более ранним версиям, определять, кто и когда сделал то или иное изменение при совместной работе, и многое другое. Хорошо работает с текстовой информацией, которая за один раз изменяется не очень сильно. Плохо — c двоичными файлами, и там, где происходят объёмные не-смысловые изменения, типа текста с постоянно заново происходящей разбивкой на строки. Понятно, что «текст в процессе написания» - это как раз та самая не очень изменяющаяся информация. И если получается хранить черновики так, что всё в целости и доступности, а я об этом даже не думаю, пока не занадобилось что-то в предыдущих версиях найти — так мне ровно это и нужно. Что

Собственно, по-хорошему, тут надо начинать с того, что есть целая тема - "системы управления версиями", предназначенные вообще-то для программистов, но я уверена, что пишущим - не менее нужные. Из них я уже который год использую git.

Система управления версиями позволяет хранить несколько версий одного и того же документа, при необходимости возвращаться к более ранним версиям, определять, кто и когда сделал то или иное изменение при совместной работе, и многое другое.

Хорошо работает с текстовой информацией, которая за один раз изменяется не очень сильно. Плохо — c двоичными файлами, и там, где происходят объёмные не-смысловые изменения, типа текста с постоянно заново происходящей разбивкой на строки.

Понятно, что «текст в процессе написания» - это как раз та самая не очень изменяющаяся информация. И если получается хранить черновики так, что всё в целости и доступности, а я об этом даже не думаю, пока не занадобилось что-то в предыдущих версиях найти — так мне ровно это и нужно.

Что я получаю заодно?

- Свободу устройства проекта. Работаю я с одним файлом или с сотней, в одном каталоге или у меня целое дерево подкаталогов, для git — неважно. И я могу указать, что вот такие-то файлы вообще игнорируем, меня в этом каталоге интересуют только вот эти. Как мне удобнее.

- Свободу минимализма и удаления. Можно спокойно держать проект в актуальном-минимальном состоянии, удалять всё, что захотелось удалить, просто потому, что в любом случае, ничего ж не пропадает. Если оно нужно, я потом достану из истории. А если нет — то и нет.

- Простоту сохранения в историю. Мне не надо измышлять, где хранить кучу версий, стоит ли вот это изменение копирования всего ещё раз туда, и вообще. Потому что сейчас любое мелкое исправление вполне стоит коммита, это почти не прибавляет объёма хранилищу, и делается в две привычные команды + описание изменения.

- Безопасность крупных замен, и подобных действий. Уже были ситуации, когда я нечаянно затирала что-то, ахала, обнаружив это даже не сразу, а через время... и с облегчением выдыхала, вспомнив про git. Ибо всего делов-то — найти последнюю хорошую версию, и достать её.

- Практически не использовала, но — удобство хранения «версий для других». Типа, что-то кому-то отправила и отметила, что "вот это". И если отправленное так и кануло, то оно не мозолит глаза и мозг, лежа в папке отдельным файлом, который ещё и фиг удалишь. А если там что-то потребовалось делать именно на основе той самой версии — несложно достать и делать. Заметим, никак не обижая текущую мою работу.

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

А дальше возникает ещё тема "автосохранения". Я временами просто забываю "коммитить" в git. И подолгу. Вот тут мне и помогает flashbake.

http://boingboing.net/2009/02/13/flashbake-free-versi.html - это текстик на английском про flashbake от Кори Доктороу, канадского фантаста. Там вообще занятная задумка. В описание коммита пишется, что было в блоге, что за погода и всякое прочее, что удалось добыть, чтоб охарактеризовать, при каких обстоятельствах были внесены изменения. У меня пишется только аптайм, потому что нельзя без описания вообще, а с погодой, блогами и чем там бишь ещё у меня не зашло. В любом случае, уйма коммитов с невнятными сообщениями, но по которым можно искать — гораздо лучше, чем ничего. Если разбавлять осмысленными - вообще клёво получается :)

Реагирует только на изменения в указанных файлах. Умеет проверять «время покоя», и если прямо сейчас идёт работа, последнее изменение совсем недавно - может не коммитить, подождать более удобного случая. Запускаю из крона.

Написано на питоне. https://github.com/commandline/flashbake Можно ставить через pip. Есть в репозитории дебиана. В разные времена лучше работало разное.

К сожалению, с цеттелькастеном - то есть, с большим количеством возникающих файлов flashbake не дружит, так что последнее время стараюсь не забывать коммитить сама. Снова.

А так хорошо было!

#linux #linux обычного пользователя #linux гуманитария #программы для пишущих

с openclipart.org
с openclipart.org