-
Notifications
You must be signed in to change notification settings - Fork 15
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Try and infer the source stream when it is unavailable #60
Comments
This would be solved by solving issue #51. |
These are the assumptions which should apply to the inferred source stream:
If these assumptions hold for a child stream and a basis stream where the child stream is assumed to be the source stream and the basis stream is assumed to be the destination stream then we can find the most likely source stream. If any of these are untrue we reduce the likelihood and should probably not continue. |
Good insight about source stream not changing but not sure the conclusion is valid. I'm pretty sure it is possible to promote from a time-locked child stream into a parent stream. |
Implemented new algorithm to infer the source stream of an Accurev promote transaction. This is done when this information is not available in the `accurev hist -fevx` output, which is the case for Accurev transactions recorded with old versions of accurev and affects depots which have gone through several upgrades. This new algorithm is experimental and is controlled via flags which default to being disabled and clearly state that it is an experimental feature.
That is correct and it won't be handled by the algorithm, which leaves us in the same position w.r.t. time locked streams but improves the situation for non-timelocked streams. |
Without recreating and tracking stream default sets there is little chance of having a perfect solution. |
Now there's a thought ... but no that's way too expensive for the benefit. |
Though this is a limited use case it is one of the more common ones, hence this solution, provided it is implemented correctly should be useful. |
For depots on old versions of Accurev or depots that have undergone an update/upgrade from old versions of Accurev there will be transactions for which the
fromStreamName
andfromStreamNumber
attributes of the<transaction />
element in the XML output of theaccurev hist
command is missing. This means that we can't perform a merge for a promote in these cases.It should be possible to try and infer, in a naive way, if the transaction came from one of the child streams of the stream on which the promote occurred.
If we find a child stream that was different from this stream (its basis stream) at the previous transaction (whatever it may be) and that at this transaction it becomes the same then it is extremely likely that the promote came from that stream.
Even if we are processing only a subset of streams this naive algorithm should work pretty well, even in the cases where the promote came via an untracked intermediate stream.
The text was updated successfully, but these errors were encountered: