mirror of
https://github.com/tdurieux/anonymous_github.git
synced 2026-05-25 02:24:08 +02:00
wip handle empty repo
This commit is contained in:
+32
-24
@@ -92,7 +92,8 @@ export default class GitHubStream extends GitHubBase implements SourceBase {
|
|||||||
recursive: "1",
|
recursive: "1",
|
||||||
});
|
});
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
if (error.status == 409 && error.message == "Git Repository is empty.") {
|
console.log(error, error.status);
|
||||||
|
if (error.status == 409) {
|
||||||
return {};
|
return {};
|
||||||
}
|
}
|
||||||
await this.repository.resetSate("error", "repo_not_accessible");
|
await this.repository.resetSate("error", "repo_not_accessible");
|
||||||
@@ -124,33 +125,40 @@ export default class GitHubStream extends GitHubBase implements SourceBase {
|
|||||||
const octokit = new Octokit({
|
const octokit = new Octokit({
|
||||||
auth: await this.getToken(),
|
auth: await this.getToken(),
|
||||||
});
|
});
|
||||||
const ghRes = await octokit.git.getTree({
|
try {
|
||||||
owner: this.githubRepository.owner,
|
const ghRes = await octokit.git.getTree({
|
||||||
repo: this.githubRepository.repo,
|
owner: this.githubRepository.owner,
|
||||||
tree_sha: sha,
|
repo: this.githubRepository.repo,
|
||||||
});
|
tree_sha: sha,
|
||||||
const tree = ghRes.data.tree;
|
});
|
||||||
|
const tree = ghRes.data.tree;
|
||||||
for (let elem of tree) {
|
|
||||||
if (!elem.path) continue;
|
for (let elem of tree) {
|
||||||
if (elem.type == "tree") {
|
if (!elem.path) continue;
|
||||||
const elementPath = path.join(parentPath, elem.path);
|
if (elem.type == "tree") {
|
||||||
const paths = elementPath.split("/");
|
const elementPath = path.join(parentPath, elem.path);
|
||||||
|
const paths = elementPath.split("/");
|
||||||
let current = truncatedTree;
|
|
||||||
for (let i = 0; i < paths.length; i++) {
|
let current = truncatedTree;
|
||||||
let p = paths[i];
|
for (let i = 0; i < paths.length; i++) {
|
||||||
if (!current[p]) {
|
let p = paths[i];
|
||||||
if (elem.sha)
|
if (!current[p]) {
|
||||||
await this.getTree(elem.sha, truncatedTree, elementPath);
|
if (elem.sha)
|
||||||
break;
|
await this.getTree(elem.sha, truncatedTree, elementPath);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
current = current[p] as Tree;
|
||||||
}
|
}
|
||||||
current = current[p] as Tree;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
this.tree2Tree(ghRes.data.tree, truncatedTree, parentPath);
|
||||||
|
return truncatedTree;
|
||||||
|
} catch (error) {
|
||||||
|
console.log(error, error.status);
|
||||||
|
if (error.status == 409) {
|
||||||
|
}
|
||||||
|
return truncatedTree;
|
||||||
}
|
}
|
||||||
this.tree2Tree(ghRes.data.tree, truncatedTree, parentPath);
|
|
||||||
return truncatedTree;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private tree2Tree(
|
private tree2Tree(
|
||||||
|
|||||||
Reference in New Issue
Block a user