2016-07-19 5 views
2

Я хочу узнать, какой идентификатор был последней транзакции, которая изменила поток. Я понял, что могу использовать accurev hist -s NameOfStream -t now -fx, но я не уверен, что это также покажет изменения, которые я получаю от восходящего потока.Получить последний идентификатор транзакции для потока AccuRev

Давайте предположим, что у меня есть следующее дерево в AccuRev:

  • MyDepot
    • StreamA
      • StreamA1
      • StreamA2
    • StreamB

В случае я продвигаю переход от StreamB к MyDepot, что также влияет на StreamA и своих детей, я хочу видеть транзакцию при вызове accurev hist -s StreamA1 -t now -fx. Это происходит или мне нужна другая команда?

Обновление: Я проверил, и команда hist показывает только транзакции, которые произошли в конкретном потоке, о котором я упоминал, а не какие-либо восходящие изменения. Как определить изменение потока с помощью одной команды без локальной рабочей области?

ответ

1

Вы не можете сделать это с помощью Accurev, но я написал скрипт python, который может. Это часть моего AccuRev мерзавцу инструмент преобразования, который вы можете найти здесь:

https://github.com/NavicoOS/ac2git

Если вы клонировать этот репозиторий все, что вам нужно, это accurev.py сценарий и его deep-hist суб-команда. Используйте ./accurev.py -h и ./accurev.py deep-hist -h, чтобы ознакомиться с использованием.

Пример использования:

./accurev.py deep-hist -p MyDepot -s MyStream -t 20-highest 

Это будет рекурсивно запускать accurev hist команду на поток и его родителей и распечатать результат. Он показывает вам все транзакции, которые могут изменить ваш поток. Не все перечисленные транзакции изменили ваш поток, но вы можете использовать accurev diff -v MyStream -V MyStream -t 19-20, чтобы узнать, изменился ли ваш поток при транзакции 20, и применение к списку возвращенных транзакций должно дать вам только транзакции, которые что-то изменили в вашем потоке.