2

I want to find out what the ID was of the latest transaction that changed a stream. I figured I could use accurev hist -s NameOfStream -t now -fx, but I am not sure if this would also show changes that I get from upstream.

Let's assume I have the following tree in AccuRev:

  • MyDepot
    • StreamA
      • StreamA1
      • StreamA2
    • StreamB

In case I promote a change from StreamB to MyDepot, that also affects StreamA and its children, I want to see the transaction when calling accurev hist -s StreamA1 -t now -fx. Does this happen or do I need a different command?

Update: I checked and the hist command only shows transactions that occured in the specific stream I mentioned and not any upstream changes. How can I detect a change in a stream with a single command, without having a local workspace?

Arno Moonen
  • 1,134
  • 2
  • 10
  • 28

1 Answers1

1

You can't do it with Accurev alone but I wrote a python script that can. It is a part of my Accurev to Git conversion tool which you can find here:

https://github.com/NavicoOS/ac2git

If you clone that repository all that you need is the accurev.py script and its deep-hist sub-command. Use ./accurev.py -h and ./accurev.py deep-hist -h to see the usage.

Example use:

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

This will recursively run the accurev hist command on the stream and its parents and will print out the result. It shows you all the transactions that have the potential to change your stream. Not all of these transactions listed will have changed your stream, but you can use accurev diff -v MyStream -V MyStream -t 19-20 to see if your stream has changed at transaction 20 and applying to list of returned transactions should give you only the transactions that have changed something in your stream.

nonsensickle
  • 4,438
  • 2
  • 34
  • 61