git fsck --unreachable | grep commit
должен показать sha1, хотя список, который он возвращает, мог бы быть довольно большим. git show <sha1>
покажет, является ли это фиксация, Вы хотите.
git cherry-pick -m 1 <sha1>
объединит фиксацию на текущее ответвление.
os.read
и os.write
на двух файловых дисках, возвращенных из os.pipe
является потокобезопасным, но вы, похоже, требуете большего чем это. Sub (1)
, да, нет никакой гарантии "атомарности" для одинарных чтений или записей - сценарий, который вы изображаете (одна короткая запись заканчивается двумя чтениями), вполне возможен. (В общем, os.with не является тонкой оболочкой для функциональности операционной системы, и именно ОС должна гарантировать или не обеспечивать требуемую функциональность; в этом случае стандарт Posix не требует наличия ОС чтобы обеспечить такую «атомарность»). Вы гарантированно получите все записанные данные в правильном порядке, но это все. Одна запись большого фрагмента данных может остановиться, как только