1MBしか読み取れないのは、GetRawContentの仕様のようです。
blobsを使うと100MBまで出来るようになるよ、というご丁寧なエラーメッセージが出てきます。
131Cで問題を修正しました。
private DictionarySHA_MAP = new Dictionary (); public async void read_hiearachy() { try { SHA_MAP.Clear(); var github = new Octokit.GitHubClient(new Octokit.ProductHeaderValue("IshisakaSample")); string owner = richTextBox1.Text.Trim(); string repo = richTextBox2.Text.Trim(); treeView1.Nodes.Clear(); TreeNode rootNode = new TreeNode(repo); treeView1.Nodes.Add(rootNode); // ルート・ノードの追加 string branch_str = richTextBox3.Text.Trim(); var branch = await github.Repository.Branch.Get(owner, repo, branch_str);// "master"); var contents = await github.Git.Tree.GetRecursive(owner, repo, branch.Commit.Sha); foreach (var v in contents.Tree) { if (v.Path.Contains(".nurse3")) { if (v.Size >= 1024 * 1024) { SHA_MAP[v.Path] = v.Sha; } if (Thread.CurrentThread.CurrentUICulture.DisplayName.Contains("日本語")){ if (v.Path.Contains("Japanese")) { rootNode.Nodes.Add(v.Path); } }else if (v.Path.Contains("English")){ rootNode.Nodes.Add(v.Path); } } Debug.WriteLine(v.Path, v.Type); } rootNode.Expand(); } catch(Exception ex) { MessageBox.Show(ex.Message); } } private void button1_Click(object sender, EventArgs e) { read_hiearachy(); } private async void read(string filepath) { var github = new Octokit.GitHubClient(new Octokit.ProductHeaderValue("IshisakaSample")); string owner = richTextBox1.Text.Trim(); string repo = richTextBox2.Text.Trim(); if (SHA_MAP.ContainsKey(filepath)) { string sha = SHA_MAP[filepath]; var b64 = await github.Git.Blob.Get(owner, repo, sha); byte[] file=Convert.FromBase64String(b64.Content); form1.deserialize(file); } else { var file = await github.Repository.Content.GetRawContent(owner, repo, filepath); form1.deserialize(file); } }
0 件のコメント:
コメントを投稿