2016-10-13 1 views
3

Я использую Darcs на работе в течение более года, но я постоянно задавал себе тот же вопрос:отслеживание зависимостей в Darcs

Каков наилучший способ отследить изменение строки кода/файл/кода, вызывает зависимость между двумя патчами? А пока мой способ сделать это состоит в следующем:

  1. проверить, какие файлы два пятна влияют используя darcs changes -i и набрав x для соответствующих участков.

  2. Я проверяю, на какие файлы влияют оба исправления.

  3. Я думаю, какой файл вызывает зависимость и с помощью darcs amend --unrecord Я удаляю изменения в этот файл из обоих патчей.

  4. Я проверяю, разрешена ли зависимость, и добавьте изменения обратно к исправлениям, при этом постоянно проверяя, была ли заново восстановлена ​​или нет зависимость и тем самым отслеживается часть кода, вызывающего зависимость.

Этот метод проб и ошибок поиска строки/файла кода, вызывающего зависимость, требует много времени. Должен быть более простой способ сделать это, я что-то упустил? Заранее спасибо!

ответ

1

Darcs показать зависимости:

начиная с Darcs 2.12 (release notes) вы можете генерировать граф зависимостей с помощью команды

darcs show dependencies 

Обратите внимание на Darcs версии

Я рекомендую при установке Darcs с стеком, как описано в примечаниях к выпуску.


Отображение выходного

Команда дает граф зависимостей в формате Graphviz точки. Вы должны сами позаботиться о том, чтобы выводить результат (нет никаких сюрпризов).

Простой способ будет трубе вывода непосредственно в dot, иметь его создать некоторый вывод с (например в PNG с помощью Tpng), а затем трубы, в Display @ ImageMagick:

darcs show dependencies --last 20 | head -n -1 | dot -Tpng | display 

Or вы можете написать материал в файл и открыть его с выказывают или любой зритель вы предпочитаете:

darcs show dependencies --last 20 | head -n -1 | dot -Tpdf > darcs-dependencies.pdf && xdg-open darcs-dependencies.pdf 

Графический интерфейс:

Я на самом деле написал gui, который автоматизирует этот процесс и выполняет некоторую цветопередачу.

show dependencies dialogue colored sample output

вы можете найти его здесь: iHateDarcs on github

(Отказ/Предупреждение: Я в настоящее время единственным пользователем данного графического интерфейса Он высоко настроен на мой рабочий процесс, включает в себя много других вещей. вас может не интересовать, например, интеграция с трекером по проблеме redmine и требует, чтобы некоторые настройки работали, но не были протестированы никем, кто не я на данный момент)

+0

wow такой отличный ответ – Janosch

 Смежные вопросы

  • Нет связанных вопросов^_^