API文档:
http://svnkit.com/javadoc/org/tmatesoft/svn/core/package-summary.html
例子路径:
https://wiki.svnkit.com/Managing_A_Working_Copy
别人写的例子:
http://eatsalt.blog.163.com/blog/static/879402662009102402949523/
public class DefaultSVNResourceGenerator extends AbstractLogEnabled implements SVNResourceGenerator {
private SVNClientManager svnClientManager;
private SVNURL repositoryURL;
private void init(String svnUrl, String svnUser, String svnPassword) throws SVNException {
DAVRepositoryFactory.setup();
repositoryURL = SVNURL.parseURIEncoded(svnUrl);
ISVNOptions options = SVNWCUtil.createDefaultOptions(true);
ISVNAuthenticationManager authManager = SVNWCUtil.createDefaultAuthenticationManager(
svnUser, svnPassword);
svnClientManager = SVNClientManager.newInstance(options, authManager);
}
public boolean resourceCheckout(String svnUrl, String projectPath, String svnUser,
String svnPassword) throws Exception {
File projectDir = new File(projectPath);
if (projectDir.exists())
deleteDir(projectDir);
if (!projectDir.exists())
projectDir.mkdirs();
init(svnUrl, svnUser, svnPassword);
SVNUpdateClient updateClient = svnClientManager.getUpdateClient();
updateClient.setIgnoreExternals(false);
updateClient.doCheckout(repositoryURL, projectDir, SVNRevision.HEAD, SVNRevision.HEAD,
SVNDepth.INFINITY, true);
deleteSvnDir(projectDir);
return true;
}
public void deleteSvnDir(File file) {
if (file.isDirectory()) {
File svnDir = new File(file, ".svn");
if (svnDir.exists() && svnDir.isDirectory())
deleteDir(svnDir);
File[] fileArray = file.listFiles();
for (File f : fileArray)
deleteSvnDir(f);
}
}
public void deleteDir(File file) {
if (file.isDirectory()) {
File[] files = file.listFiles();
for (File f : files)
deleteDir(f);
}
file.delete();
}
}
分享到:
相关推荐
svnkit 1.8.11- javadoc(svn java编程文档)
Eclipse是一款功能强大的集成开发环境(IDE),支持多种编程语言,如Java、Python等。在Eclipse中集成SVN客户端插件,可以方便地进行版本控制操作,如代码的提交、更新、合并等。 标题"svn 64 用于eclipse"指的是将...
Eclipse是一款强大的集成开发环境(IDE),支持多种编程语言,如Java、C++等。将SVN与Eclipse集成,可以方便开发者在Eclipse内直接进行版本控制操作,如提交、更新、合并等。 "svn1.1.9集合eclipse插件包"是指一个...
Eclipse是一款流行的开源集成开发环境(IDE),支持多种编程语言。为了在Eclipse中使用SVN,需要安装一个名为“Subversive”或“Subclipse”的插件。 1. **安装Subversive或Subclipse**:通过Eclipse的内置软件更新...
方便你在VS编程时添加提交更新文件,而无需在命令行模式手工提交, 作一一款开源的项目,方便你随时对项目进行开发,摆脱开发中的时间限制, 让修改冲突不再令人头疼。 VS2015 请安装AnkhSvn-2.5.12582.msi 亲测...
"SVN_Deleter"是一款专门设计用来批量删除指定目录下的`.svn`目录的工具,它由PHP编程语言编写。PHP是一种服务器端脚本语言,通常用于Web开发,但也可以用作命令行工具,这使得它适合于执行这种批处理任务。使用SVN_...
Eclipse是一款强大的开源IDE,广泛应用于Java、Python、C++等编程语言的开发,而SVN则是一种分布式版本控制系统,用于跟踪和管理项目文件的修改历史,便于团队协作和代码版本管理。 在Eclipse中安装SVN Connector是...
SVN,全称为Subversion,是一款广泛应用于软件开发领域的版本控制系统。它允许团队成员协同工作,跟踪文件和目录的变化,并管理项目的多个版本。本压缩包提供了丰富的 SVN 学习资源,包括安装教程、文档和视频,旨在...
本文将深入探讨SVN的基本概念、核心功能以及实用的操作指南,旨在帮助编程爱好者和专业开发者全面掌握SVN的使用技巧,提升团队协作效率和项目管理水平。 #### 一、SVN基本概念 **1.1 版本库(Repository)** SVN的...
Eclipse是一款强大的开源集成开发环境(IDE),支持多种编程语言。为了在Eclipse中利用SVN进行版本控制,需要进行集成安装。 首先,让我们详细了解SVN的基本概念。SVN的核心是仓库(Repository),它是存储项目文件...
在这个特定的上下文中,"SVNMerge源代码"指的是该工具的原始编程语言代码,可能是用C、C++或者Python等语言编写的,它允许开发者深入理解工具的工作原理并可能进行定制或扩展。 TortoiseMerge是与SVN协同使用的另一...
Eclipse是一款功能强大的集成开发环境,支持多种编程语言。为了在Eclipse中使用SVN,我们需要安装对应的插件。"SVN-site-1.8.22" 提供了这样的功能,它包含了所有必要的组件,允许用户在Eclipse内无缝地集成SVN工具...
Eclipse 是一个流行的开源集成开发环境(IDE),它支持多种编程语言。将 SVN 集成到 Eclipse 中,可以方便地在 Eclipse 内进行版本控制操作,如提交、更新、查看历史等。"svn+eclipseSvn插件.rar" 文件很可能是包含...
在编程领域,特别是Java开发环境中,MyEclipse是一款强大的集成开发环境(IDE),它支持多种开发工具和框架,包括对SVN的支持。在MyEclipse 10中加入SVN插件,可以让开发者直接在IDE内进行版本控制操作,如提交、...
这个过程需要一定的系统管理和编程知识,但遵循指南并逐步操作,大部分开发者都能顺利完成。提供的"几种SVN工具的安装使用.txt"、"简单方法实现SVN邮件通知.txt"和"windows下搭建SVN服务器.txt"文档应该包含了更详细...
- 你可以使用Python、批处理脚本或者其他编程语言编写简单的脚本来遍历目录并删除.SVN子目录。例如,在Python中,可以使用os和os.path模块来实现: ```python import os def remove_svn_folders(directory): ...
Eclipse 是一款强大的集成开发环境(IDE),广泛用于Java、Python等编程语言的开发。而SVN(Subversion)是一种版本控制系统,它帮助开发者管理代码的版本,追踪修改历史,协同多人合作。在Eclipse中集成SVN插件,...
Eclipse是一款强大的集成开发环境(IDE),支持多种编程语言。为了在Eclipse中使用SVN功能,需要安装相应的插件,本压缩包"svn_1.8插件完整离线安装包"正是为此目的而准备的。 这个安装包是针对Eclipse的Subclipse...
我喜欢的一系列编程工具,经过精心的整理,提供非常方便的用户使用接口。