Как показать историю ревизий как ревизии
Как переполнение стека показывает изменения ревизий в используемом ими разном формате?
Меня не волнует переполнение стека как таковое; это просто удобный способ описать мое требование. У меня есть история аудита изменений в текстовом поле. Я хотел бы показать изменения так же, как переполнение стека показывает изменения истории изменений. Я вспоминаю подкаст Stack Overflow, где его обсуждал Джефф Этвуд, но я не могу найти его в стенограммах и понятия не имею, что такое подкаст. IIRC, он не основан на.NET, может, Python?
Это для конечного пользователя, поэтому все, что выглядит как Unix-подобный diff, отсутствует. Соблазнительно показать два блока и текст, старый и новый, и дать им понять это, но история изменений переполнения стека ооочень приятнее.
3 ответа
Поскольку вы на самом деле не указали язык: я сделал это с помощью пакета PHP PEAR Text_Diff.
Питон difflib
Стандартная библиотека предоставляет такие возможности:
Этот модуль предоставляет классы и функции для сравнения последовательностей. Он может быть использован, например, для сравнения файлов и может генерировать информацию о различиях в различных форматах, включая HTML и контекст и унифицированные различия. Для сравнения каталогов и файлов см. Также
filecmp
модуль.
Они использовали Beyond Compare. Насколько я могу судить, это не нативная программа.NET, но вы можете использовать ее в качестве инструмента командной строки.