2

私は SVN と、 SVNKit APIを使用して Java コードからリポジトリにアクセスする方法についてよく知っています。私はSVNでこれらの操作を行うことができます:

  • リポジトリを開く
  • リポジトリにアクセスする前のユーザーの認証チェック
  • SVN URL の検証
  • 特定の URL でプロジェクト リストを取得する
  • 特定のリビジョン番号でプロジェクト/ファイルをエクスポートします
  • リポジトリ/プロジェクト/ファイルの最新リビジョンを取得する
  • アップデートを取得する

ここで、 Gitのサポートも同じ機能で提供する必要があります。Git/EGit/JGit をインストールし、JGit API のサンプルもいくつか見ましたが、Java コードを使用して上記のタスクのほとんどを実行できません。SVNユーザーである私にとっては複雑すぎるようです。これに関するガイダンス/ヘルプはありますか?

4

2 に答える 2

2

私のプロジェクトjgit-cookbookは、多くの一般的なタスクのサンプルを提供しています。また、jgit ユーザーガイドでは、いくつかの基本的な概念について説明し、サンプルも提供しています。3番目に、APIが少し混乱している場合でも、かなり良い状態にあるクラスのjavadocを調べます。

于 2013-08-18T20:08:40.277 に答える
1

Sameer のコメントによると、Git の仕組みに慣れる必要があります。Pro Git bookを参照してください。

質問のリストには、概念が異なるため、必ずしも直接の同等物があるとは限りません。いくつかの質問へのヒント:

リポジトリを開く

File workTree = new File("/path/to/git-repository");
Repository repository = new FileRepositoryBuilder().setWorkTree(workTree).build();

特定のリビジョン番号でプロジェクト/ファイルをエクスポートします

JGit でファイルを「cat」する方法を 参照してください。.

リポジトリ/プロジェクト/ファイルの最新リビジョンを取得する

Git git = new Git(repository);
ObjectId head = repository.resolve(Constants.HEAD);
// All commits, use setMaxCount(1) for newest, use addPath for filtering to path
Iterable<RevCommit> commits = git.log().add(head).call();

アップデートを取得する

必要に応じてFetchCommand(を使用して)git.fetch()またはを使用し、Git の API ドキュメントを参照して、そこにあるコマンドに移動します。PullCommand

于 2013-08-16T13:30:07.630 に答える