JavaScriptで任意のリモートリポジトリの変更内容を所得したい
Q&A
Closed
実現したいこと
electronを使用して、git commit した差分だけオートタイピングするアプリケーションを作っています。アプリケーション名はAuto-Typing。
プログラミング動画教材を作成するにあたり、オートタイピングツールがあれば便利だな、git commit をしてその差分だけオートタイピングしてくれれば、動画作りに便利だなと思いました。
git データ取得には、”parse-git-diff”、’child_process’というライブラリを使用して、git diff コマンドにてgit データを取得しています。
そのAuto-Typingをバックグラウンドに起動させつつ、electronのグローバルショートカットキーにてgit commit の差分だけオートタイピングするという流れです。
前提
このAuto-Typingは実際のところgit diff でデータを取得し、オートタイピングしてくれるまで出来上がっております。
ただ、問題なのはgit データをvsコード上のワークスペース内の情報しか所得できないのです。
つまり、このAuto -Typing自体のgit データは所得できるのですが、他のリポジトリのgit データが取得できないのが問題になっています。
どのような動きになるかと言いますと、
例えば、LP作成動画教材を作成したとします。まず、LPのワークスペースを立ち上げ作業しgit commitします。一度、commit分だけ削除します。そこでAuto -typingをバックグランドで起動し録画開始。LPワークスペース内でグローバルショートカットキーを発動、先ほどのcommit分だけオートタイピングしてくれるという寸法です。
しかし、LPのgit commit 情報(LPのリポジトリ情報)がAuto -Typingワークスペース内では取得できないのです。
あくまで、ワークスペースに紐付いたリポジトリ情報しか所得できないのでしょうか?
該当するソースコード
const execSync = require("child_process").execSync;
const parseGitDiff = require("parse-git-diff").default;
const cmd = "git diff HEAD^"; // git commit
const gitdiff = execSync(cmd).toString();
const commitID = gitdiff;
if (!commitID) {
return;
}
const result = parseGitDiff(commitID);
console.log(result)
自分で試したこと
Auto-Typingワークスペースのgit リモートリポジトリをLPのリポジトリに変更すれば良いのか?
変更したけど変わらずAuto-Typingのgit データが返される。
つまり
JavaScriptで任意のリポジトリ情報を所得したいということですね。
どなたか、方法、ライブラリ等ご存知でしたら教えていただきたいです。
よろしくお願いします。