typechecker: (Default)
typechecker ([personal profile] typechecker) wrote2004-09-22 01:51 pm
Entry tags:

Затоваривание на диске

Начала было писать пост про [пока несделанную] оптимизацию хранения файлов. Меня в последнее время пробило на мысли в эту сторону. Пробило после одновременной работы над лингвистическими задачами, переводом одной книги и версткой другой книги, после разъездов между домом, дачей, родителями и работой. В результате бардак среди моих файлов, раскиданных по трем-четырем постоянным рабочим местам, достиг критической точки.
Так вот, пока что я хочу спросить вас: наблюдается ли у вас неразбериха в файлах, т.е. ситуации, когда на диске валяется много разных версий одного и того же, на разных рабочих местах (если они есть) лежат одни и те же файлы, и все это нужно свести воедино? Есть ли у вас трудности с переносом файлов из одного рабочего места в другое (типа, где-то есть usb и выделенка для почты, а где-то только неработающий дисковод)? Подчеркиваю, речь идет об индивидуальной работе, а не о совместной, в которой не грех и CVS'ом пользоваться.
И как вы выходите из такого бардака? (Возможные выходы мы недавно обсуждали с [livejournal.com profile] _af_ и [livejournal.com profile] gogabr, и каждый вариант мне казался по-своему плохим. Вот хочется услышать мнение широкой аудитории.)

[identity profile] max-ushakov.livejournal.com 2004-09-22 11:41 am (UTC)(link)
1. CVS (иногда не хватает организованности -- завести в CVS/svn модуль, да делать commit вовремя...)
2. visual diff (недавно вот нашёл meld)
3. для нескольких наборов файлов, например, запусков программы -- поддиректории с именами вроде 040922/{1-comment1,2-comment2}
4. для версий одного файла -- имена вроде prefixes-2004-04-33.tex

И большое спагетти из всех четырёх методов понемногу :)

Вот сейчас сюда придёт Беркгаут, и тотчас всё объяснит.

[identity profile] mashaaaa.livejournal.com 2004-09-22 12:26 pm (UTC)(link)
CVS на одну персону мне почему-то напоминает онанизм. (Да, я совершенно асексуальна и радости от онанизма не получаю!)
Нумерация версий, как у тебя и Мура_вья, хороша для организации пространства, но, мне кажется, забивает место и рябит в глазах. Оно конечно, диски у нас ныне просторные...
А как это -- Visual diff? Я знаю обычный дифф и diff3.

[identity profile] max-ushakov.livejournal.com 2004-09-22 12:42 pm (UTC)(link)
Да хоть монархизм! (Интересно, многопользовательский unix на одну персону тебе что-нибудь напоминает?)

CVS хорош и тем, что версии сохраняет -- не только удобным merge.

Место CVS тоже занимает, хотя меньше, чем нумерация версий.

visual diff -- это когда тебе цветами раскрашивают и линии рисуют, откуда какая строчка есть пошла. Как и всякий diff, плохо работает на jpg-файлах, не говоря уж о ворде. :)

Мечта, на самом деле -- persistent filesystem, которая хранит все версии прозрачно...

[identity profile] mashaaaa.livejournal.com 2004-09-22 12:49 pm (UTC)(link)
Многопользовательский Юникс на одну персону мне ничего не напоминает, потому что я такого не видела пока в лицо -- на всех знакомых машинах хоть два человечка были, а все ж мультиюзерность :)
CVS занимает не столько место, сколько твое время. Вопрос, стОит ли последующая неразбериха этого потраченного времени, -- кстати, не совсем уж бессмысленный.
Visual diff: то-то же! А авторы лингв. задач шлют задачи только в вордовых форматах, кстати. Да и работы с jpgами после появления цифрового фотоаппарата у меня прибавилось :)

[identity profile] gogabr.livejournal.com 2004-09-22 01:31 pm (UTC)(link)
Мечта, на самом деле -- persistent filesystem, которая хранит все версии прозрачно...
Насколько я понимаю, ты имеешь в виду то, что есть в Plan9.
Там можно обратиться к файлу <не помню префикс>/<дата>/<имя файла>.
Жалко, на самом деле, что Plan 9 по другим причинам не поставишь в качестве основной системы.

[identity profile] max-ushakov.livejournal.com 2004-09-22 02:06 pm (UTC)(link)
Вот-вот! Именно plan9 и не хватает :)
Интересно, plan 9 filesystem for linux -- может быть?

[identity profile] mashaaaa.livejournal.com 2004-09-22 02:12 pm (UTC)(link)
О! А все красивое -- от Гнома!

[identity profile] max-ushakov.livejournal.com 2004-09-22 02:19 pm (UTC)(link)
А гном красив? :)
Может, тогда от Mac OS X? :)

[identity profile] gogabr.livejournal.com 2004-09-22 03:05 pm (UTC)(link)
1. Тут существенна не сама файловая система (как способ раскидывания байтов по диску), а 9p, как протокол общения с этой системой. Кажется, кто-то типа Ron Minnich что-то пытался делать на тему драйвера 9p для Linux, но далеко не продвинулся.
2. Эта самая система в Plan 9 состоит из программы, которая раз в сутки делает инкрементальный бэкап, и файл-сервера, который по этому самому 9p составляет из бэкапов взгляд на файловую систему. В принципе, никто не мешает написать нечто подобное и под Linux (либо в виде драйвера fs, либо раздавать по какому-нибудь протоколу). Но пока что никто не написал.

[identity profile] max-ushakov.livejournal.com 2004-09-22 04:42 pm (UTC)(link)
Ну да, я не говорил о раскидывании байтов -- кстати, тут ведь проблем с раскидыванием нет, потому что ничего не удаляется :) -- а иметь именно нативно подключённую систему, которая сохраняет версии (а уж как при необходимости эти версии из неё добывать, не так важно...) Чтобы не делать commit руками каждый раз :)

А правильно я понимаю, что раз backup раз в сутки, то и версии сохраняются только те, что были в полночь?

[identity profile] gogabr.livejournal.com 2004-09-22 04:49 pm (UTC)(link)
Правильно.

[identity profile] gogabr.livejournal.com 2004-09-22 04:52 pm (UTC)(link)
А просто делать backup раз в сутки -- это вообще доблесть небольшая. Запустить tar с нужными ключами через cron -- и все. (Ну, еще потребуется несколько строчек шелла, чтобы отмечать удаленные файлы.)
Тут прелесть как раз в основном в легкости доступа.

[identity profile] max-ushakov.livejournal.com 2004-09-24 08:59 pm (UTC)(link)
Доблесть небольшая, это верно...
Да, в общем, доступ лёгкий получить не проблема. Либо программу написать, либо в midnight встроиться.

Мне-то хочется, чтобы автоматически все версии сохранялись (ну как если бы после каждого закрытия файла, открытого на запись, делался cvs commit).

[identity profile] gogabr.livejournal.com 2004-09-22 03:12 pm (UTC)(link)
Это именно тот проект, о котором я говорил. Последний релиз -- декабрь 2002 года. И, как я, пять же, писал, тут мало 9p (и он даже не очень существен), а нужен определенного вида сервер поверх.