LINUX.ORG.RU

Pijul 0.11

 , , ,


3

6

Вышла новая версия Pijul — свободной системы управления версиями, основанной на теории патчей и написанной на языке Rust.

Pijul развивает идеи Darcs — Pijul быстрее, лучше, в нём решена проблема экспоненциальной сложности слияния и поддерживаются ветки (для всех, кто спросил и еще спросит «чем оно лучше Git» - ссылка на FAQ)

Слово «Pijul» (произносится «пихуль») — это мексиканское названия Бороздчатоклювого ани, вида птиц семейства кукушковых, чьи особи совместно работают над строительством гнёзд.

Улучшения в версии 0.11:

  • Добавлено частичное клонирование подкаталогов: pijul clone --path и pijul pull --path. При этом скачиваются только те патчи, которые затрагивают указанный подкаталог.
  • Добавлен парсер ~/.ssh/config — теперь Pijul будет автоматически использовать настройки псевдонимов хостов, SSH-прокси, ключей и т. д.
  • Внутренняя архитектура переведена на использование библиотеки Tokio — де-факто стандарта для асинхронного программирования на языке Rust. Минус велосипеды, новичкам будет проще разобраться в коде Pijul.
  • Исправлено много мелких и две крупные ошибки. Одна из них приводила к падению производительности при использовании pijul record, другая в некоторых случаях приводила к изменении содержимого патчей и файлов после клонирования.

Для нужд Pijul автором также развиваются вспомогательные библиотеки:

  • Thrussh — реализация клиента и сервера SSH на языке Rust.
  • Pleingres — клиентская библиотека, реализующая сетевой протокол PostgreSQL на языке Rust.
  • Sanakirja — хранилище «ключ-значение» на языке Rust, основанное на B-деревьях и поддерживающее транзации (аналог LMDB). «Sanakirja» по-фински означает «словарь».

Автор также разрабатывает Pijul Nest — аналог GitHub на основе Pijul и Rust. К сожалению, Nest пока не является свободным проектом.

>>> Подробности



Проверено: Shaman007 ()
Последнее исправление: tailgunner (всего исправлений: 4)
Ответ на: комментарий от kirk_johnson

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

Сейчас есть ботинки с молнией и шнурками. Так что магия вечных узлов вполне актуальна

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

CreateProcess работает не через NtCreateProcess, а святым духом, раз у него получается подключиться к win32 subsystem?

А фиг его знает как он работает:

> using ZwCreateProcess, informing CSRSS and everything else necessary to create a process using the native API is pretty tedious - and all undocumented.

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

а в оставшихся 5%, даже если удалось зациклить Rc, обнаружить и разбить цикл не должно составить проблем.

Было бы кому обноружить. Это как с дырами в коде - дыра есть, но её никто не видит.

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

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

Зато как визжат люди, когда их браузер не может показать страницу со всего ничего несколькими тысячами комментариев. Обвиняют всех кого только можно и кого нельзя: и разработчиков винды, и разработчиков сайта, и разработчиков железа, и разработчиков браузера.

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

Если бы они более точно скопировали хаскель в области typeclassов, а может и всякие монадные и стрелочные штуки из него взяли

Зачем? Чтобы порог входа повыше был?

И чем хаскель сложнее си?

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

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

Какой неподъемный груз...

Хотя я не случайно вспомнил про луа. Бывает так что программу пишут на одном языке, но вот плагины начинают писать почему-то на луа.

Лучше бы они гуйней занялись, вот где реально востребованы все эти нанотехнологии без GC.

Что даст отказ от gc в gui?

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

Пока нельзя.

Что, ещё не дописали ту библиотеку?

И, если будет можно, это будет отвратительно, ибо фрагментация экосистемы.

Какая тебе разница есть ли gc в библиотеках или нет, если тебе не нужно в real time?

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

Никакой, конечно.

Вот именно.

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

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

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

Утечки отлавляваются на раз.

Это если кто-то сядет и будет их отлавливать. Вот к примеру sql инъекции, или bash инъекции, или ещё что-то там инъекции тоже отлавливаются на раз. Только вот сидишь и видишь как очередная такая примитивная уязвимость исправляется после очередной эпидемии. Почему её не поймали в момент написания?

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

Что даст отказ от gc в gui?
Какая тебе разница есть ли gc в библиотеках или нет, если тебе не нужно в real time?

гуй как раз требует отклик в реальном времени

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

гуй как раз требует отклик в реальном времени

Ты в аниме «Accel World» попал, где человеческое восприятие ускоряется в 1000 раз? Или прогрессбар копирования файлов в 59 fps причиняет тебе невыносимые муки?

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

Ты в аниме

нет, скорей ты

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

Примерно всем.

Школьнику всё равно что учить - хаскель или си, он не знает ни того ни другого.

Зато вот системщик выучивший си лет двадцать назад как раз таки на си может и напишет недолисп, а вот на хаскеле и привет мир не осилит. Но ему это стыдно признать, вот он и рассказывает какой хаскель сложный.

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

Школьнику всё равно что учить - хаскель или си, он не знает ни того ни другого.

Обучишь десяток школьников Хаскелу - возможно, твое мнение будет чего-то стоить.

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

Очевидные вещи, которые не все понимают.

Очевидные вещи на то и очевидные, что очевидны.

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

Видимо потому, что не написали тесты.

Например по тому что автор про тесты и не слышал. Про тесты не слышал, а про утечки слышал?

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

Обучишь десяток школьников Хаскелу - возможно, твое мнение будет чего-то стоить.

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

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

Или прогрессбар копирования файлов в 59 fps причиняет тебе невыносимые муки?

Мне - да.

Теперь вопрос: прогресбар находится в отдельном потоке, а то и процессе. Что нужно сделать для того чтобы этот поток тормозил? На 12309 напороться? Так 12309 написан без сборщика мусора.

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

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

А вот Хаскел - другое дело.

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

Теперь вопрос: прогресбар находится в отдельном потоке, а то и процессе.

Если что, прогрессбар отражает прогресс. Сам прогрессбар может быть хоть на отдельной машине.

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

Разве я утверждаю что случайный школьник осилит хаскель?

Ты утверждаешь, что осиливание Хаскеля и Си требует одинаковых усилий.

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

Теперь вопрос: прогресбар находится в отдельном потоке, а то и процессе.

Только в идеальном мире. Напоминаю, что веб в принципе однопоточный.

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

Если что, прогрессбар отражает прогресс. Сам прогрессбар может быть хоть на отдельной машине.

И как это опровергает мои слова?

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

Ты утверждаешь, что осиливание Хаскеля и Си требует одинаковых усилий.

Написание hello world не сильно отличается. Базу данных или веб фреймворк от школьников требовать не будут.

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

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

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

Только в идеальном мире. Напоминаю, что веб в принципе однопоточный.

Значит отображение страницы с несколькими тысячами комментариев тормозит только из-за однопотока? И курсор в vs code жрёт процессор тоже по этой же причине?

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

Значит отображение страницы с несколькими тысячами комментариев тормозит только из-за однопотока?

Не только. Но это одна из причин.

И курсор в vs code жрёт процессор тоже по этой же причине?

Нет. Это из-за убогости веба как архитектуры.

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

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

Каким образом медленное исполнение кода для которого рисуется прогресбар будет его тормозить? Или у тебя после замены hdd на ssd в файловом менеджере fps поднялся?

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

Каким образом медленное исполнение кода для которого рисуется прогресбар будет его тормозить?

Не тупи. Оно будет тормозить отображение прогресса. Сам прогрессбар будет молниеносным, только отображаемый им прогресс будет дерганым.

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

Случайный школьник осилит Haskell. Программист не осилит, потому что нинужен. Чего вы лезете со своим Haskell, который не имеет никакого отношения к теме. Rust предназначен для замены C/C++ , а не Haskell, который вообще не нужен.

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

Не только. Но это одна из причин

И какие же остальные?

Нет. Это из-за убогости веба как архитектуры.

Один баг в хроме и сразу убогость веба

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

Не тупи. Оно будет тормозить отображение прогресса. Сам прогрессбар будет молниеносным

Итог: что есть gc в gui, что нет - безразлично

только отображаемый им прогресс будет дерганым.

Прикрути анимацию. Заодно разбей задачу на подщадачи и показывай их прогресс. Вместо того чтобы скакать с 0 на 50 а потом и на 100 % при копировании двух больших файлов отобрази на прогресбаре какой процент уже скопировался

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

Не тупи. Оно будет тормозить отображение прогресса. Сам прогрессбар будет молниеносным

Итог: что есть gc в gui, что нет - безразлично

Окей, тупи дальше.

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

Программист не осилит, потому что нинужен.

А много сишников осиливает к примеру руби? А много яваскриптеров осиливают кресты?

Чего вы лезете со своим Haskell

Спроси у оратаров выше

NextGenenration ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.