static string CalcVcsPath(TrackBranch branch, string path) {
var root = path.Split(new[] { @"\", @"/" }, StringSplitOptions.RemoveEmptyEntries).FirstOrDefault();
var trackItem = branch.TrackItems.First(x => root == x.ProjectPath);
var resultPath = path.Remove(0, trackItem.ProjectPath.Length).TrimStart(@"\/".ToCharArray());
string trackPath = branch.GetTrackRoot(trackItem);
return Path.Combine(trackPath, resultPath).Replace("\\", "/");
}
static ProcessHistoryResult ProcessHistory(DXVcsWrapper vcsWrapper, GitWrapper gitWrapper, RegisteredUsers users, User defaultUser, string gitRepoPath, string localGitDir, TrackBranch branch, int commitsCount, SyncHistoryWrapper syncHistory, bool mergeCommits) {