Пример #1
0
        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);
        }
Пример #2
0
        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);
        }
Пример #3
0
        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));
        }
Пример #4
0
 public GitTreeItem(string path, GitTreeEntry entry) : this()
 {
     Path  = path;
     Entry = entry;
 }