Просто попробуйте SmartSVN, установка HTTP-сервера только для этого кажется излишней.
Консоли иногда требуетсяreset(1)
(или какая-тоstty(1)
команда ), потому что состояние псевдо-терминала -не меняется, когда какой-либо процесс (, например. программа, запущенная вашей оболочкой ), завершается.
Прочтите демистифицированный tty .
(Я считаю работу с псевдо--терминалами и псевдотерминалом самой сложной частью Linux)
Is there a strategy how this problem is addressed in the major programming languages?
Хорошо -работающая программа, имеющая дело с терминалом и изменяющая его режим или линейную дисциплину, должна изо всех сил стараться избежать сбоев и выполнять соответствующие вызовы (см. termios (3))для установки терминал в правильном состоянии. Кстати, такие библиотеки, как ncurses или readline , полезны (, но вам нужно правильно вызывать их подпрограммы очистки ).
См. сигнал (7)и сигнал -безопасность (7). Избежать сбоев в вашем коде сложно. Читайте о неопределенном поведении .
Несовершенным обходным решением может быть определение функции оболочки, которая запускает вашу программу, а затем выполняетreset
(что иногда может быть неуместным ).