問題タブ [jgit]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - JGitでファイルを「キャット」する方法は?
しばらく前に、Javaに埋め込み可能な分散バージョン管理システムを探していましたが、それはgitの純粋なJava実装であるJGitで見つけたと思います。ただし、サンプルコードやチュートリアルの方法はあまりありません。
JGitを使用して特定のファイルのHEADバージョンを取得するにはどうすればよいですsvn cat
か(同じように、またはhg cat
そうするでしょう)?
これにはいくつかのrev-tree-walkingが含まれていると思い、コードサンプルを探しています。
java - リモートのgitリポジトリから単一のファイルを取得します
Javaでリモートgitリポジトリからプログラムで単一のファイルをダウンロードする方法はありますか?
- 私は、できるだけ少ない帯域幅を使用するソリューションを好みます。できれば、その単一のファイルのみをダウンロードすることをお勧めします。リポジトリを参照する必要はありません。すでにファイルのパスがあります。
- 私は他のアプリケーションに依存しないソリューションを好みます(たとえば、マシンへの別のgitクライアントのインストール)。gitクライアントの実装自体を含むJavaライブラリが最適です。
私はSVNKitを使用してSubversionと同様のことを行うことができ、同様のことを行うことができる可能性のあるgit( eclipseのJGit )の純粋なJava実装があることを確認したので、肯定的な答えがあることを願っています。ただし、gitがどのように機能するか(ローカルリポジトリからの更新のみを許可する)について私が理解していることから、これは問題になる可能性があります。
jgit - JGitファイルのステージング解除/インデックスからのファイルの削除とコミットの修正
ファイルのコミット、すべてのファイルのステータス (つまり、変更、変更、未追跡など) の確認など、JGit ライブラリで多くのことを行う方法を理解しましたが、ファイルのステージングを解除する方法がわかりません。インデックスに追加されました。誰かがこれを行う方法を教えてくれますか?Eclipseサイトにはドキュメントがなく、Googleで見つけることができないので、ドキュメントを教えてください。
また、誰かがコミットを修正する方法を知っている場合は、それも知っていただければ幸いです。
ありがとう。
java - jGit を使用したファイルのコミットのループ
リポジトリに接続し、ファイルのコミット メッセージを追加、コミット、さらにはループするという点で、jGit ファイルの基本を理解することができました。
次にやりたいことは、1 つのファイルのすべてのコミット メッセージを取得し、その 1 つのファイルを特定の参照/時点に戻すことができるようにすることです。
java - JGit Java Git ライブラリ アンステージング ファイル
JGit で正しく動作するようにリセットできません。すなわち。すべてのファイルをインデックスに追加できます。以下のコマンドを使用して、インデックスからそれらの一部を削除/リセット/ステージング解除できますが、すべてのファイルに対して機能するわけではありません。JGitでファイルをアンステージする適切な方法は何ですか?
また
java - JGit/EGit翻訳バンドルの読み込みに失敗しましたen_US
JUnitテストで次のコードを実行して、gitリポジトリのフェッチをテストしています。JGitに必要な基本機能のそれぞれについてテストを作成しているので、アプリケーションにそれらを実装できます。問題は、以下のgit.fetch()呼び出しで次のエラーが発生し続けることです。
コードサンプルは以下のとおりです。リポジトリパスとすべてが正しいように見えることを確認しました。フェッチ呼び出しにブレークポイントを設定してから、MSysGitで同じコマンドを実行すると、機能します。
ありがとう!
java - Jgit javadocsはどこにありますか?
jgitのjavadocsが見つかりません。mavenでjgitをビルドしようとしましたが、ビルドが失敗するので、助けを求めます。jgitのjavadocsを見つけることができます。
java - JavaGit、JGit、EGit の選択における混乱
Gitを使ったJavaアプリケーションを作っています。JavaGit、EGit、JGitと呼ばれるものがあることがわかりました 。
JavaGit と EGit/JGit が異なることは知っています。私が理解していないのは、EGit と JGit の違いです。両方とも Eclipse プロジェクトでホストされていますが、一方は Eclipse 関連のようで、もう一方はそうではないようです。
私は Eclipse を使用していないし、する予定もないので、「Eclipse 統合」についてはあまり気にしません。
JGit は何とか Eclipse に接続されていますか? (これは www.eclipse.org でホストされており、JGitのドキュメントにも多くの「eclipse」キーワードが含まれています)
3 つのうち、(Eclipse で作成されていない) Java プログラムを接続して Git リポジトリを操作するには何が必要ですか?
スタンドアロンの Git ライブラリを使用したい (つまり、ローカルの Git インストールに依存しない)
編集:もう1つの質問:
- JGit はGit バンドル コマンドをサポートしていますか?
編集:答えが見つかりました-そうです(まだ試していません)。とtransport
呼ばれるクラスのパッケージに含まれていますBundleWriter
git - Javaでgit packfile sha1チェックサムを計算する
私は Git パックファイルについて学んでおり、現在、パックファイル全体の SHA1 20 バイト チェックサムであると思われるものを (Java で) 再現しようとしています。「PACK」の 4 バイト ヘッダーから、最後にパッケージ化されたオブジェクトの圧縮データの末尾までのバイト配列を取得します。私が読んだものはすべて、次の 20 バイトがパックファイル全体の SHA1 チェックサムであることを示しています。
Git から受信したバイト配列の一部である 20 バイトのチェックサムは次のとおりです: B910248BF9B63AC53595E3835CA57BDAF08DA830
以下を使用して、独自の SHA1 チェックサムを計算します。
crypt = MessageDigest.getInstance("SHA-1");
crypt.reset();
crypt.update(testData);
byte [] result = crypt.digest();
私の結果は次のようになります: B910248BF9B63AC53595E3835CA57BDAF08DA813
結果の最後のバイトだけがGitのものと異なる可能性があることに困惑しています(バイトストリームの正しい部分を使用している場合)。唯一の問題が digest() に渡されるデータの範囲である場合、計算されたチェックサム全体が異なって見える可能性が高くなります。
何か案は?
android - Android での JGit コミットの問題
JGit ライブラリを使用して、Android フォンのドキュメントをサーバーに同期しようとしています。
それはほとんど機能します...しかし、コミットを機能させることができません。コミットを試みるたびに、「データ エラー」という例外が発生します。問題を org.eclipse.jgit.util.IO の次のステートメントまで追跡しました。
行 fd.read(dst, off, len) は実行をスローします。fd パラメータは InflaterInputStream だと思うので、このコードは圧縮されたアーカイブから読み取ろうとします。
Android 2.2 を搭載した HTC Desire Z でこれを実行しようとしています。
私は org.eclipse.jgit-0.12.1.jar と com.jcraft.jsch_0.1.31.jar を使用して jgit 機能にアクセスしています。
問題を理解するためにいくつかのテスト例を作成しました
次のコードは、私の Windows XP マシンで問題なく実行されます。
次のコードは、Android フォンで例外をスローします。
これを機能させるために何ができるかについてのアイデアはありますか?
よろしく、 アンダース