Description
The RetrieveStreamInfo()
function generates a sequence of commits which the RetrieveStreamData()
function then reads. The Git file IO here is small but still unnecessary as all of the information needed by RetrieveStreamData()
is available during the execution of RetrieveStreamInfo()
. They were separated originally because of the fact that they operate on two distinct Git refs which have completely different file contents. Using git worktree
command we could remove the need for this separation and process them one after the other.
This solution would be pretty good although placing these two items in a kind of pipeline may be an even better way of approaching it. Having two separate processes would ensure that we parallelize the retrieval of the meta data and actual stream contents and maximize the Accurev servers processing by operating more than one operation at a time.