LINUX.ORG.RU
ФорумAdmin

Потрясающий косяк в UNISON

 , ,


0

2

Найденный потрясающий косяк в UNISON - это мое безапелляционное мнение. Хотя готов выслушать мнение других знатоков, прежде чем писать злобное иссуе его создателям, или же сборщикам, это будет зависеть от вас. Злобное - потому что не ожидая подвоха, засинхронизировал тысячи документов между двумя компами.
Раз, другой... как вдруг заметил, что даты и время документов поменялись!!!

Для меня это событие сродни настоящей IT-катастрофе, поскольку ДАТА и ВРЕМЯ для меня играет важнейшую роль (достаточно вспомнить TheirBirthday).
Они позволяют мне ориентироваться в тысячах документов, понимая, когда они были мною созданы или модифицированы и принимать соответствующие решения.
Может, для кого-то это и не важно, но для меня чрезвычайно критично для работы с ними.
В итоге пришлось доставать документы из бекапов, сравнивать, анализировать и восстанавливать, на что ушла уймища времени, вот поэтому сейчас я очень зол.

Итак, с преамбулой закончено, перехожу к сути.
Да, я в курсе, что UNISON создан не Васяном на коленках, а неким профессором, поэтому можно надеяться, что продукт достойный, достаточно вспомнить профессора Никлауса Вирта и его Pascal. Однако, как часто это бывает, дьявол кроется в мелочах.
В данном случае UNISON при репликации с какого-то, извините, хера, меняет оригинальную ДАТУ и ВРЕМЯ на момент репликации! Это звездец...

По моему стойкому убеждению, ДАТУ и ВРЕМЯ документов и файлов имеют право менять только те приложения, которые с ними непосредственно работают, т.е. их создают, редактируют и т.п.
За примером далеко ходить не надо - достаточно взглянуть на MC, который создали умные люди: при копировании в нем галочка "Сохранять атрибуты" по умолчанию взведена.
Взведена, а не сброшена, как в UNISON!

Поэтому при копировании или синхронизации ДАТА и ВРЕМЯ НЕ ДОЛЖНЫ меняться!!! (кроме особых случаев, определяемых нами, пользователями)
Иначе наступит временной хаос, как и случилось у меня. Из-за того, что UNISON, которым я пользуюсь в Manjaro ARM, ведет себя ровно наоборот.

Конечно, позже я отыскал ключик times и захерачил его в конфиг default.prf в виде -

times = true
и его благотворное действие глобально распространилось на все существующие и создаваемые профили.

Казалось, можно было бы успокоиться? Ну уж нет!
Идиотское дефолтовое поведение UNISON настолько потрепало мне нервы и сожрало драгоценное время, что у меня руки чешутся ткнуть, как котенка, проффесора или сборщика, мордой в этот алгоритмический косяк, вопрос только - кого?

Итак, что вы об этом всем думаете? И как ведет себя UNISON в ваших дистрибутивах, отличных от Manjaro?
Это и поможет выявить, кого надо ткнуть.




Перемещено hobbit из general

★★★★★

Но ты ещё не заметил кое-чего другого. Unison, к сожалению, настолько хитро запрограммирован, что там не удалось сделать так, чтобы синхронизировалось время каталогов.

Add option to synchronize directory timestamp (09.03.2018)

А хочешь ещё один сюрприз? Даже синхронизированное время файлов не будет идентично на современных ФС. Почему? Потому что в ocaml решили хранить время экономно во float. А секунды и суб-секунды туда плохо ужимаются.

gag ★★★★★
()

Итак, что вы об этом всем думаете?

Унисон мёртв, детка, лет 13 как. Старый, не значит хороший.

И как ведет себя UNISON в ваших дистрибутивах, отличных от Manjaro?

Что б он там делал.

Это и поможет выявить, кого надо ткнуть.

Себя ткни, лицом в syncthing.

t184256 ★★★★★
()
Последнее исправление: t184256 (всего исправлений: 1)
Ответ на: комментарий от gag

cp и rsync тоже по-умолчанию обновляют дату. Надо -a добавлять.

Рсинком всегда пользуюсь с ключом -avpH, так что не заметил.
Получается, и в нем такое же безобразие :evil:

Но ты ещё не заметил кое-чего другого. Unison, к сожалению, настолько хитро запрограммирован, что там не удалось сделать так, чтобы синхронизировалось время каталогов.

Как раз заметил :=) Но это особо не огорчило, поскольку временные атрибуты каталогов не настолько ценны, как файлов.

Потому что в ocaml решили хранить время экономно во float. А секунды и суб-секунды туда плохо ужимаются.

Ну и ладно. Тут надо сопоставлять эти секунды со скоростью работы человека. Не может же он «выстреливать» несколько документов в секунду, так ведь?
Поэтому секундная точность для них не важна.

Унисон мёртв, детка, лет 13 как. Старый, не значит хороший.

А я как раз думаю, что это хорошо. Раз он столько времени алгоритмически не обновлялся, но продолжает собираться для новых дистрибутивов, говорит (имхо) что он доведен до совершенства.
Бесит наоборот, другое - когда приложения постоянно обновляются. Поскольку это часто говорит о том, что их никак не доведут до ума и постоянно латают ошибки.

Себя ткни, лицом в syncthing.

Перебрал многие синхронизаторы, в том числе и этот. И что в нем хорошего по сравнению с UNISON? Подскажи, плиз.

Везде вроде так. Это частный случай, готовый должен ты сам проверять вручную,

Надо же! Значит, мне впервые «повезло» столкнуться с этим безобразием.

Воевать со всем миром из-за этого кретинизма не смогу, придется смириться :-(

chukcha ★★★★★
() автор топика
Последнее исправление: chukcha (всего исправлений: 2)

У меня к unison была другая претензия. Когда я обновил убунту на одном компьютере, и ещё не успел это сделать на других, то неожиданно обнаружил, что унисоны разных версий не могут работать друг с другом! Вот это было неожиданно.

Я тогда выковырял бинарник унисона из убунты 20.04, снёс его на всех остальных компах, и скопировал этот бинарник везде. Больше не планирую его обновлять вообще, во избежание, так сказать.

А в остальном я им доволен.

Beewek ★★
()
Ответ на: комментарий от Beewek

унисоны разных версий не могут работать друг с другом! Вот это было неожиданно.

Этот нюанс, в отличие от искажения времени, я выяснил заранее, поэтому поступил просто:
- использую единственный экземпляр UNISON для всех обслуживания всех компьютеров.

chukcha ★★★★★
() автор топика
Последнее исправление: chukcha (всего исправлений: 2)
Ответ на: комментарий от t184256

t184256 Себя ткни, лицом в syncthing.

> Перебрал многие синхронизаторы, в том числе и этот. И что в нем хорошего по сравнению с UNISON? Подскажи, плиз

Ну раз не отвечаешь, значит, он ничем не лучше.

chukcha ★★★★★
() автор топика
Ответ на: комментарий от rtxtxtrx

Чисто так пофлудть зашли? Раз ТС пишет, что у его устраивает ″rsync -a″, то ему важно только mtime, ни atime, ни crtime (btime время создания) его не волнует.

mky ★★★★★
()

Правильнее так:

потрясающий косяк - это мое безапелляционное мнение

Ключик есть? Есть. Можно написать в багтрекер и предложить сделать так, чтобы по умолчанию он считался установленным.

А подход

ткнуть, как котенка, проффесора или сборщика, мордой в этот алгоритмический косяк

очень некрасивый по отношению к тем, кто делает для нас открытый софт.

hobbit ★★★★★
()
Ответ на: комментарий от hobbit

Этот-этот, который с несовместимоыми протоколов между минорными версиями, застрявший на разных версиях в разных дистрах, более не компилирующийся, неисправимый и уходящий из дистров в забвение. И слава небесам. Я пользовался 15 лет назад unison, чтобы синхронизоваться ещё с Maemo, и уже тогда заставлять версии не разбегаться было больно.

t184256 ★★★★★
()
Ответ на: комментарий от hobbit

Ключик есть? Есть. Можно написать в багтрекер и предложить сделать так, чтобы по умолчанию он считался установленным.

Именно так я и хотел сделать, но сначала решил посоветоваться с нашим сообществом.
Но видя разнобойность мнений, понял, что шансов убедить создателя установить ключик в нормальное состояние, практически нет.
Тем более что надо убеждать на не нашем языке, в котором я не силен.

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

Михаил, вы опять пытаетесь воспитывать старого деда :=)
Бесполезно, время ушло, тем более что я очень обозлился из испорченной документации, поэтому позволил себе несколько непозволительное.
Лучше обсудите с сотоварищами следующую проблему с другой софтиной, о которой будет ниже.

Насчет бесплатного открытого софта - знаем, знаем, едали :=)
Типа жуйте, что дают. На это традиционно отвечу афоризмом в моей подписи.
Как уже надоели эти «as is».... А ведь я еще застал времена MS DOS, когда считалось, что ошибок в софте нет, а если кому-то померещилась ошибка, то сбегался весь народ, чтобы глянуть на нее...

chukcha ★★★★★
() автор топика
Последнее исправление: chukcha (всего исправлений: 1)
Ответ на: комментарий от chukcha

А ведь я еще застал времена MS DOS, когда считалось, что ошибок в софте нет

Не знаю что там во времена доса, но по воспоминаниям во времена вин 9х в софте мало чего было кроме ошибок. Может конечно я был криворук, но сейчас ситуация точно лучше. В по что я использую серьёзных ошибок не наблюдал уже много лет.

ddidwyll ★★★★
()
Ответ на: комментарий от hobbit

Да простят меня модераторы, что в одной теме две проблемы
Итак, о следующем, уже не косяке, а просто о юзабельной недоработке, которую очень легко исправить.
Долгое время пользовался редактором Medit, но увы, автор его забросил и в новых дистрах его нет.
На многочисленные просьбы пользователей продолжить его поддержку автор ответил предсказуемо - «Используйте другой редактор».

Ну что ж, пришлось отправиться на поиски нового редактора.
Нашел даже два - FeatherPad и FeatherNotes, оба от одного автора.
Оба мне очень понравились, так что теперь на них.

Но вот досада - автор в тулбаре не предусмотрел кнопки, обязательные в любом редакторе - Вырезать-Копировать-Вставить.
Без них пользоваться этими редактороми довольно некомфортно.

Естественно, я тут же сразу для обоих редакторов накатал вежливые иссуе, надеясь на понимание и скорое исправление недостатка.
К моему удивлению. автор заартачился и отверг мое предложение на том основании, что не хочет загромождать тулбар, а для этих действий можно использовать Ctrl+X, Ctrl+C и Ctrl+V.

Пока я затаился, готовя ответные аргументы :=)
Они таковы:
1. Данные редакторы гуишные, класса WISYWIG, а в таких редакторах всегда есть Cut-Copy-Paste, это классика жанра.
2. Поэтому Ctrl+X, Ctrl+C и Ctrl+V являются основными для консольных редакторов, а для WISYWIG могут быть лишь дублирующими.
3. Очень неудобно без этих кнопок работать по тексту мышкой, а для копирования и т.д. переходить на хоткеи, а потом обратно.
4. И наконец, какое там нагромождение тулбара? Он почти пустой. Вот в Libre Writer - это дааа, столпотворение всего и всякого.

Какие буду мммнения?

chukcha ★★★★★
() автор топика
Последнее исправление: chukcha (всего исправлений: 1)

Ого какая трагедия! Вот оно оказывается как работает, эти поиски по времени. Мне это никогда не было понятно, ибо живу в каком-то небольшом отрезке осознаваемого времени, и для меня совершенно немыслимо вспомнить что я сделал что-то когда-то. Хоть ты и называешь себя старым дедом, а бубен варит как надо. Я же тупо ориентируюсь по локациям.

papin-aziat ★★★★★
()

у меня руки чешутся ткнуть, как котенка, проффесора или сборщика, мордой в этот алгоритмический косяк, вопрос только - кого?

В этом случае вы можете ткнуть, как котенка, только самого себя в документацию, за то что недостаточно разобрались с используемым инструментом.

Поведение по умолчанию определяет разработчик инструмента, всем остальным даются ключи для изменения этого поведения.

Obezyan
()
Ответ на: комментарий от chukcha

Бесполезно, время ушло, тем более что я очень обозлился из испорченной документации, поэтому позволил себе несколько непозволительное.

Непозволительное здесь не то что вы проявили эмоции, все мы люди, а то что вы пытаетесь использовать время создания файлов как контроль версий на системах где время создания файлов не гарантирует буквально ничего. Есть же системы контроля версий, git на худой конец.

Мне в таких случаях молодежь говорит «дед пей таблетки, а то получишь по жопе».

Obezyan
()
Ответ на: комментарий от papin-aziat

Хоть ты и называешь себя старым дедом, а бубен варит как надо.

Может и варит, но только не в программирование, тут я давно утратил свои способности.
Я только пользователь. Пользователь, который обожает Linux, но не более того.
И когда мне советуют «Сделай сам», это непонимание вызывает только досаду.

chukcha ★★★★★
() автор топика
Ответ на: комментарий от Obezyan

недостаточно разобрались с используемым инструментом.

Согласен, вы правы, что я недостаточно полно изучил документацию, прошелся по верхам и только.
Потому что для использования UNISON этого было вполне достаточно.
Но уж никак не ожидал, что где-то там, в глубинах, его создатели заложили такую «мину».

Поведение по умолчанию определяет разработчик инструмента,

Вот об этом и толкую - разработчик заложил неправильное дефолтовое значение, повлекшее катастрофические последствия.

Непозволительное здесь....... что вы пытаетесь использовать время создания файлов как контроль версий на системах где время создания файлов не гарантирует буквально ничего. Есть же системы контроля версий, git на худой конец.

Знаю, знаю. Но только за >20 лет использования Linux ориентация на время создания/модификации файлов-документов меня никогда не подводила. Если, конечно, его намеренно не искажали.
А использования дополнительных инструментов усложняет работу, мне не понравилось.
ВРЕМЯ и ДАТА - что может быть проще? :=)

chukcha ★★★★★
() автор топика
Последнее исправление: chukcha (всего исправлений: 4)
Ответ на: комментарий от Obezyan

Cистемы контроля версий и системы синхронизаций файлов — немного разные классы ПО для слегка разных задач. Никто же ведь не требует выпилить rsync потому, что есть git.

ТСу как я понял, нужна именно синхронизация.

hobbit ★★★★★
()
Ответ на: комментарий от chukcha

Да простят меня модераторы

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

hobbit ★★★★★
()
Ответ на: комментарий от chukcha

Вот об этом и толкую - разработчик заложил неправильное дефолтовое значение, повлекшее катастрофические последствия.

Неправильное именно для вашего случая, но правильное для его случаев. Для вас он оставил ключ которым это поведение можно поменять.

ВРЕМЯ и ДАТА - что может быть проще?

«Что может быть проще времени?», Клиффард Саймак. I see a man of high culture :)

Obezyan
()
Ответ на: комментарий от hobbit

Cистемы контроля версий и системы синхронизаций файлов — немного разные классы ПО для слегка разных задач.

Именно так, ТС просто понадеялся что система контроля версий ему не понадобится. А система синхронизации файлов решила иначе.

Obezyan
()

у меня руки чешутся ткнуть, как котенка, проффесора или сборщика, мордой в этот алгоритмический косяк, вопрос только - кого?

По крайней мере «проффесор» ­— это вполне конкретная личность: https://neolurk.org/wiki/Проффесор

annulen ★★★★★
()
Ответ на: комментарий от chukcha

Очень неудобно без этих кнопок работать по тексту мышкой, а для копирования и т.д. переходить на хоткеи, а потом обратно.

По-моему, строго наоборот, с ТЕКСТОМ намного удобнее работать клавиатурой, а не мышью. И здесь нет особой разницы, консольный редактор или GUIшный.

Если б речь шла про мою программу, я бы, наверное, сделал панель инструментов, но сделал бы её отключаемой.

hobbit ★★★★★
()

Стоит пересмотреть свои рабочие процессы, чтобы не привязываться к mtime. Да, можно прилагать усилия для синхронизации даты, но лучше заменить на что-то более переносимое. Метаданные внутри документов, простая БД рядом с документами, descript.ion

anonymous
()
Ответ на: комментарий от chukcha

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

Хуже когда «не латают ошибки». Ну и в обновлениях часто не только быгфиксы, но и запиливание фич присутствует, вы видимо никогда не не читаете release notes.

anc ★★★★★
()
Ответ на: комментарий от chukcha

Но вот досада - автор в тулбаре не предусмотрел кнопки, обязательные в любом редакторе - Вырезать-Копировать-Вставить.

За любой редактор точно уверены? А то я уже несколько ( гуевых) нашел, в которых этого нэма.

anc ★★★★★
()
Ответ на: комментарий от anonymous

Стоит пересмотреть свои рабочие процессы, чтобы не привязываться к mtime.

Не хочу, привык :=)

... лучше заменить на что-то более переносимое. Метаданные внутри документов, простая БД рядом с документами, descript.ion

БД, descript.ion и прочие припарки - о, ноу! Это же лишние сущности и снижение надежности.

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

chukcha ★★★★★
() автор топика
Ответ на: комментарий от anc

За любой редактор точно уверены? А то я уже несколько ( гуевых) нашел, в которых этого нэма.

Ну уж, пристрастно придираетесь к каждому слову :=)
Конечно же, не во всех, это я чересчур сгустил краски. Поэтому поправлюсь -

- Во всех редакторах, создатели которых тщательно продумали все нюансы взаимодействия пользователей с их редакторами

chukcha ★★★★★
() автор топика
Последнее исправление: chukcha (всего исправлений: 1)
Ответ на: комментарий от chukcha

Знаю, знаю. Но только за >20 лет использования Linux ориентация на время создания/модификации файлов-документов меня никогда не подводила. Если, конечно, его намеренно не искажали.

...

ВРЕМЯ и ДАТА - что может быть проще? :=)

ВРЕМЯ и ДАТА - что может быть проще факапнее вы хотели сказать?

Знаю, знаю. Но только за >20 лет использования Linux ориентация на время создания/модификации файлов-документов меня никогда не подводила.

И онтопик тут не причем. Напевом «Села батарейка...» это только самое простое.

anc ★★★★★
()
Ответ на: комментарий от chukcha

- Во всех редакторах, создатели которых тщательно продумали все нюансы взаимодействия пользователей с их редакторами

Продумали. Например в текстовых Ctrl-C Ctrl-V гораздо эргономичнее, чем тянуться к мыше и потом кудато кликать.

anc ★★★★★
()