SVNKit ライブラリを使用して Java アプリケーションを作成すると、次の問題に直面しています。
_1. 専念
- クライアントは、時代遅れになる可能性のある作業コピーをコミットする必要があります
- コミット後、作業コピーが古くなっている場合でも、リポジトリにはコミット前の作業コピーとまったく同じコンテンツが含まれている必要があります
- 作業コピーが古い場合、サーバーの変更は失われます
_ 2.更新
- クライアントは、ローカルの変更を含む可能性のある作業コピーを更新する必要があります
- 更新後、作業コピーにはリポジトリとまったく同じコンテンツが含まれている必要があります
- 作業コピーにローカルの変更があった場合、それらは更新後に多くなければなりません
SVNKit ライブラリを使用して簡単に可能ですか?
«強制コミット»部分の私の実際のアイデア
を。リポジトリ側 : «作業コピー バージョン» への復帰を処理します
b. クライアント側: 競合するローカル変更を受け入れる更新を処理します
c. クライアント側: コミットを処理する
特に 2 番目の点が簡単かどうかはわかりませんが、それを行う高レベルの API メソッドはありますか? «Forced commit» の部分は私にとって最も急を要する..
«強制更新»部分の私の実際のアイデア
簡単な更新を処理していますが、ローカルの変更が失われるかどうかはわかりません
final File localProjectDirectory = new File(localProjectDirectoryPath); final SVNClientManager cm = SVNClientManager.newInstance(new DefaultSVNOptions()); final SVNUpdateClient uc = cm.getUpdateClient(); final SVNRevision svnHeadRevision = SVNRevision.HEAD; final SVNDepth svnRecursiveDepth = SVNDepth.fromRecurse(true); final boolean allowUnversionedObstructions = false; final boolean depthIsSticky = true; uc.doUpdate(localSyncProjectDirectory, svnHeadRevision, svnRecursiveDepth, allowUnversionedObstructions, depthIsSticky);
ありがとう!