問題タブ [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.

0 投票する
7 に答える
14586 参照

java - JGitでファイルを「キャット」する方法は?

しばらく前に、Javaに埋め込み可能な分散バージョン管理システムを探していましたが、それはgitの純粋なJava実装であるJGitで見つけたと思います。ただし、サンプルコードやチュートリアルの方法はあまりありません。

JGitを使用して特定のファイルのHEADバージョンを取得するにはどうすればよいですsvn catか(同じように、またはhg catそうするでしょう)?

これにはいくつかのrev-tree-walkingが含まれていると思い、コードサンプルを探しています。

0 投票する
3 に答える
11388 参照

java - リモートのgitリポジトリから単一のファイルを取得します

Javaでリモートgitリポジトリからプログラムで単一のファイルをダウンロードする方法はありますか?

  1. 私は、できるだけ少ない帯域幅を使用するソリューションを好みます。できれば、その単一のファイルのみをダウンロードすることをお勧めします。リポジトリを参照する必要はありません。すでにファイルのパスがあります。
  2. 私は他のアプリケーションに依存しないソリューションを好みます(たとえば、マシンへの別のgitクライアントのインストール)。gitクライアントの実装自体を含むJavaライブラリが最適です。

私はSVNKitを使用してSubversionと同様のことを行うことができ、同様のことを行うことができる可能性のあるgit( eclipseのJGit )の純粋なJava実装があることを確認したので、肯定的な答えがあることを願っています。ただし、gitがどのように機能するか(ローカルリポジトリからの更新のみを許可する)について私が理解していることから、これは問題になる可能性があります。

0 投票する
1 に答える
1491 参照

jgit - JGitファイルのステージング解除/インデックスからのファイルの削除とコミットの修正

ファイルのコミット、すべてのファイルのステータス (つまり、変更、変更、未追跡など) の確認など、JGit ライブラリで多くのことを行う方法を理解しましたが、ファイルのステージングを解除する方法がわかりません。インデックスに追加されました。誰かがこれを行う方法を教えてくれますか?Eclipseサイトにはドキュメントがなく、Googleで見つけることができないので、ドキュメントを教えてください。

また、誰かがコミットを修正する方法を知っている場合は、それも知っていただければ幸いです。

ありがとう。

0 投票する
4 に答える
13283 参照

java - jGit を使用したファイルのコミットのループ

リポジトリに接続し、ファイルのコミット メッセージを追加、コミット、さらにはループするという点で、jGit ファイルの基本を理解することができました。

次にやりたいことは、1 つのファイルのすべてのコミット メッセージを取得し、その 1 つのファイルを特定の参照/時点に戻すことができるようにすることです。

0 投票する
2 に答える
2024 参照

java - JGit Java Git ライブラリ アンステージング ファイル

JGit で正しく動作するようにリセットできません。すなわち。すべてのファイルをインデックスに追加できます。以下のコマンドを使用して、インデックスからそれらの一部を削除/リセット/ステージング解除できますが、すべてのファイルに対して機能するわけではありません。JGitでファイルをアンステージする適切な方法は何ですか?

また

0 投票する
2 に答える
915 参照

java - JGit/EGit翻訳バンドルの読み込みに失敗しましたen_US

JUnitテストで次のコードを実行して、gitリポジトリのフェッチをテストしています。JGitに必要な基本機能のそれぞれについてテストを作成しているので、アプリケーションにそれらを実装できます。問題は、以下のgit.fetch()呼び出しで次のエラーが発生し続けることです。

コードサンプルは以下のとおりです。リポジトリパスとすべてが正しいように見えることを確認しました。フェッチ呼び出しにブレークポイントを設定してから、MSysGitで同じコマンドを実行すると、機能します。

ありがとう!

0 投票する
5 に答える
4645 参照

java - Jgit javadocsはどこにありますか?

jgitのjavadocsが見つかりません。mavenでjgitをビルドしようとしましたが、ビルドが失敗するので、助けを求めます。jgitのjavadocsを見つけることができます。

0 投票する
6 に答える
45765 参照

java - JavaGit、JGit、EGit の選択における混乱

Gitを使ったJavaアプリケーションを作っています。JavaGitEGitJGitと呼ばれるものがあることがわかりました 。

JavaGit と EGit/JGit が異なることは知っています。私が理解していないのは、EGit と JGit の違いです。両方とも Eclipse プロジェクトでホストされていますが、一方は Eclipse 関連のようで、もう一方はそうではないようです。

私は Eclipse を使用していないし、する予定もないので、「Eclipse 統合」についてはあまり気にしません。

JGit は何とか Eclipse に接続されていますか? (これは www.eclipse.org でホストされており、JGitのドキュメントにも多くの「eclipse」キーワードが含まれています)

3 つのうち、(Eclipse で作成されていない) Java プログラムを接続して Git リポジトリを操作するには何が必要ですか?

スタンドアロンの Git ライブラリを使用したい (つまり、ローカルの Git インストールに依存しない)

編集:もう1つの質問:

編集:答えが見つかりました-そうです(まだ試していません)。とtransport呼ばれるクラスのパッケージに含まれていますBundleWriter

0 投票する
2 に答える
712 参照

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() に渡されるデータの範囲である場合、計算されたチェックサム全体が異なって見える可能性が高くなります。

何か案は?

0 投票する
1 に答える
952 参照

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 フォンで例外をスローします。

これを機能させるために何ができるかについてのアイデアはありますか?

よろしく、 アンダース