使用SVNKit库编写Java应用程序我面临以下问题
_1。提交
_ 2.更新
使用SVNKit库是否可以轻松实现?
我对“强制提交”部分的实际想法
一个。存储库方面:处理恢复为“工作副本版本”
湾客户端:处理更新,接受任何冲突本地更改
℃。客户端:处理提交
我不确定这是否容易,尤其是第二点,是否有任何高级API方法可以做到这一点? «强制提交»部分对我来说是最紧迫的..
我对“强制更新”部分的实际想法
我处理一个简单的更新,但我不确定会丢失本地更改
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);
谢谢!
答案 0 :(得分:1)
好的,这听起来有点乱。 svn的工作是多个程序员正在处理相同的源代码。所以说你希望repo成为你工作副本的精确副本意味着你要删除/恢复repo中其他人的更改。这没有意义。 你问的实际上是一个日常任务。你检查了代码,稍微改了一下,在那段时间,其他人检查了相同的代码,更改了代码,然后提交了更改
现在,您必须以不会“撤消”其他人的努力的方式提交您的更改,对吧? 使用eclipse或您正在使用的任何svn工具执行svn同步。 如果您不确定,请在继续下一部分之前备份整个项目
如果没有冲突并且这很重要,那么请首先检查存储库中的代码,然后检查代码中的SECOND。
如果存在冲突,在这种情况下你必须在更新和提交之前解决它们,所以逐个转到冲突的行,将它们集成到你的代码中,当你完成一个类/文件然后标记它就像“冲突得到解决”。
一旦解决了所有冲突,然后按照第一步中的说明进行操作,即从repo更新,然后提交代码
答案 1 :(得分:0)