This is a followup from #38 (comment) as a new issue.
It would be great if wstool info could show more detailed information about divergence between local and tracked remote branch. At the moment, if there is any divergence, a C is shown in the status line. What I would like to have is a concise status information telling me if there are unpushed commits, unpulled commits, or both, for example something like <>, <, or > in the status line.
This information would be extremely valuable for my use case where I often have local commits across multiple repos lying around until all repos are ready and can be pushed at the same time. While I have the local commits unpushed, wstool info doesn't tell me if I need to pull / rebase one of my repos to test with the latest upstream changes.
There is a previous discussion about this here: #35 (comment)
Copy of @tkruse's answer in #38 (comment):
The reasons I gave for not (yet) supporting more detailed information about the divergence types were:
- would require extention to vcstools API
- the extended API would be even more complex difficult to support for SVN, HG, BZR
- It might be sufficient to suport C, then people can check for themselves
Of course the last point could be handled by just saying the other VCSes do not support a new method, and gracefully return None or something neutral. I understand most ROS code is now using git anyway.
So basically, it can be hacked rather quickly, but finding and implementing a clean solution would take some effort and thinking.
The computation time itself was not yet looked at. It would not make wstool info any faster, but probably also not significantly slower (2 shell comands to git per repo that work on local repository).
If you want to discuss this more, maybe open a new issue on that.
It might be interesting if something convenient can be hacked using wstool info --yaml or wstool foreach.
This is a followup from #38 (comment) as a new issue.
It would be great if
wstool infocould show more detailed information about divergence between local and tracked remote branch. At the moment, if there is any divergence, aCis shown in the status line. What I would like to have is a concise status information telling me if there are unpushed commits, unpulled commits, or both, for example something like<>,<, or>in the status line.This information would be extremely valuable for my use case where I often have local commits across multiple repos lying around until all repos are ready and can be pushed at the same time. While I have the local commits unpushed, wstool info doesn't tell me if I need to pull / rebase one of my repos to test with the latest upstream changes.
There is a previous discussion about this here: #35 (comment)
Copy of @tkruse's answer in #38 (comment):