public async Task <ContentChangeSet> GetChangeSet(string relativePath, IContentLoadCriteria criteria) { // try to get contents of the path first var result = await GetAllContents(GetFullPath(relativePath)); // return nothing if there is not result if (result == null || result.Count == 0) { return(null); } var sha1 = result[0].Sha; // get list of all sub trees var trees = await this._client.GitDatabase.Tree.GetRecursive(_ownerName, this._repositoryName, sha1); // get all blob entries var blobs = trees.Tree.Where(x => x.Type == TreeType.Blob); // TODO: sha1 here is incorrect, need to get the latest commit sha1 instead var items = blobs.Select(blob => blob.ToContentItem()).ToArray(); var changeSet = new ContentChangeSet(sha1, items.Select(x => new ContentItemInfo(x)).ToArray()); return(changeSet); }
public async Task<ContentChangeSet> GetChangeSet(string relativePath, IContentLoadCriteria criteria) { // try to get contents of the path first var result = await GetAllContents(GetFullPath(relativePath)); // return nothing if there is not result if (result == null || result.Count == 0) { return null; } var sha1 = result[0].Sha; // get list of all sub trees var trees = await this._client.GitDatabase.Tree.GetRecursive(_ownerName, this._repositoryName, sha1); // get all blob entries var blobs = trees.Tree.Where(x => x.Type == TreeType.Blob); // TODO: sha1 here is incorrect, need to get the latest commit sha1 instead var items = blobs.Select(blob => blob.ToContentItem()).ToArray(); var changeSet = new ContentChangeSet(sha1, items.Select(x => new ContentItemInfo(x)).ToArray()); return changeSet; }