private bool Compare(TfsTreeEntry tfsTreeEntry, GitTreeEntry gitTreeEntry) { var different = false; if (tfsTreeEntry.FullName != gitTreeEntry.FullName) { _stdout.WriteLine("Name case mismatch:"); _stdout.WriteLine(" TFS: " + tfsTreeEntry.FullName); _stdout.WriteLine(" git: " + gitTreeEntry.FullName); different = true; } if (Hash(tfsTreeEntry) != Hash(gitTreeEntry)) { _stdout.WriteLine(gitTreeEntry.FullName + " differs."); different = true; } return(different); }
private bool Compare(TfsTreeEntry tfsTreeEntry, GitTreeEntry gitTreeEntry, bool ignorePathCaseMismatch) { var different = false; if (!ignorePathCaseMismatch && tfsTreeEntry.FullName.Replace("/", @"\") != gitTreeEntry.FullName) { Trace.TraceInformation("Name case mismatch:"); Trace.TraceInformation(" TFS: " + tfsTreeEntry.FullName); Trace.TraceInformation(" git: " + gitTreeEntry.FullName); different = true; } if (Hash(tfsTreeEntry) != Hash(gitTreeEntry)) { Trace.TraceInformation(gitTreeEntry.FullName + " differs."); different = true; } return(different); }
private CloneVerb.Result HydrateRootGitAttributes_CanTimeout(GitObjects gitObjects, string branch) { using (GitCatFileBatchProcess catFile = new GitCatFileBatchProcess(this.tracer, this.enlistment)) { string treeSha = catFile.GetTreeSha_CanTimeout(branch); GitTreeEntry gitAttributes = catFile.GetTreeEntries_CanTimeout(treeSha).FirstOrDefault(entry => entry.Name.Equals(GVFSConstants.SpecialGitFiles.GitAttributes)); if (gitAttributes == null) { return(new CloneVerb.Result("This branch does not contain a " + GVFSConstants.SpecialGitFiles.GitAttributes + " file in the root folder. This file is required by GVFS clone")); } if (!gitObjects.TryDownloadAndSaveBlobs(new[] { gitAttributes.Sha })) { return(new CloneVerb.Result("Could not download " + GVFSConstants.SpecialGitFiles.GitAttributes + " file")); } } return(new CloneVerb.Result(true)); }
public GitTreeItem(string path, GitTreeEntry entry) : this() { Path = path; Entry = entry; }