import org.tmatesoft.svn.core.SVNErrorCode;
import org.tmatesoft.svn.core.SVNErrorMessage;
import org.tmatesoft.svn.core.SVNException;
import org.tmatesoft.svn.core.SVNNodeKind;
import org.tmatesoft.svn.core.SVNURL;
import org.tmatesoft.svn.core.auth.ISVNAuthenticationManager;
import org.tmatesoft.svn.core.internal.io.dav.DAVRepositoryFactory;
import org.tmatesoft.svn.core.io.SVNRepository;
import org.tmatesoft.svn.core.io.SVNRepositoryFactory;
import org.tmatesoft.svn.core.wc.SVNWCUtil;
public class SvnUtil {
private static String STRING_EMPTY = "";
private static int NEGATIVE_ONE = -1;
/**
* 测试SVN地址是否正确
*
* @param svnUrl
* SVN地址
* @param svnUser
* SVN用户名
* @param strPassword
* SVN密码
* @throws SVNException
* SVNException
*/
public static boolean testConnection(String svnUrl, String svnUser,
String strPassword) throws SVNException {
DAVRepositoryFactory.setup(); // 对于通过使用 http:// 和 https:// 访问
SVNRepository repository = SVNRepositoryFactory.create(SVNURL
.parseURIEncoded(svnUrl));
ISVNAuthenticationManager auth = SVNWCUtil
.createDefaultAuthenticationManager(svnUser, strPassword);
repository.setAuthenticationManager(auth);
SVNNodeKind nodeKind = repository.checkPath(STRING_EMPTY, NEGATIVE_ONE);
if (nodeKind == SVNNodeKind.NONE) {
SVNErrorMessage err = SVNErrorMessage.create(SVNErrorCode.UNKNOWN,
"No project at URL");
throw new SVNException(err);
}
return true;
}
/**
* 测试SVN连接是否正常
*/
private static boolean testSvnConnection(String svnUrl, String svnUser,
String strPassword) {
try {
testConnection(svnUrl, svnUser, strPassword);
} catch (SVNException expection) {
if (expection.getMessage().startsWith(
"svn: Authentication required for")) {
System.out.println("用户名密码错误");
return false;
} else {
System.out.println("连接失败!");
return false;
}
}
System.out.println("连接成功!");
return true;
}
}
需要jar包:
svnkit-cli.jar
svnkit-javahl.jar
svnkit.jar
分享到:
相关推荐
在解决该错误时,需要检查svn账户名和密码的正确性,授予账户足够的权限,并检查svn服务器的配置是否正确。 在使用Jenkins配置svn拉取项目时,需要注意以下几点: 1. svn账户名和密码的正确性:svn账户名和密码是...
总之,Myeclipse 2017 SVN插件是提升团队开发效率、保证代码一致性的重要工具。正确安装和使用该插件,能够让你在Myeclipse环境中无缝地进行版本控制,更好地进行协同开发。在日常工作中,熟悉这些操作将有助于提高...
4. **运行与验证**:保存配置后,触发构建任务,查看构建日志以确认文件是否正确上传到SVN。 使用Jenkins SVN Publisher Plugin可以显著提升开发团队的协作效率,通过自动化流程减少手动操作,确保代码版本的一致性...
- 查看菜单栏:如果插件安装正确,你应该能在"Team"菜单下看到与SVN相关的选项。 - 查看透视图:在"Window" -> "Perspective" -> "Open Perspective"中,应有SVN相关的透视图,如"SVN"或"Version Control"。 - ...
- 在安装汉化包之前,请确保您的计算机上已经正确安装了相应版本的SVN客户端。 - 由于汉化包可能不是官方SVN项目的一部分,因此可能存在一定的风险。建议在可靠的来源下载汉化包,并注意备份原有配置以防万一。 - ...
总之,安装Linux版SVN全量包涉及到下载、解压、编译和安装,同时依赖于`zlib`、`openssl`和`expat`这些关键库,它们共同确保了SVN在Linux环境下的正常运行和安全性。了解这些基础知识,对于在Linux环境中高效地使用...
2. **设置JDK**: SVN操作可能涉及到Java环境,因此确保已经正确配置了Java Development Kit (JDK)。在系统环境变量中添加`JAVA_HOME`,指向JDK的安装路径,并将`%JAVA_HOME%\bin`添加到`PATH`变量中。 3. **获取SVN...
这样,每当操作系统启动时,SVN服务也会自动启动,从而确保项目的可用性。 #### 3. 创建SVN服务的命令解析 给定的内容中包含了一条创建SVN服务的命令,该命令格式如下: ``` sc createsvnservice binpath="D:\...
- 验证所有文件正确无误后,提交到SVN仓库。 5. **安装步骤(以Windows为例)** - 安装Apache HTTP Server,配置SVN模块及仓库路径。 - 安装SVN服务端软件,如VisualSVN Server,设置仓库权限和访问控制。 - ...
SVN的核心功能是跟踪和管理项目源代码的变更历史,允许团队成员协同工作,合并各自的修改,同时保持代码库的一致性和完整性。SVN服务器通常存放代码仓库,客户端通过连接服务器进行版本控制操作,如提交、更新、合并...
至于"之前的版本没试过,不知道能不能用",这暗示了证书可能只对特定版本的SmartSvn兼容,对于其他版本的软件,用户可能需要自行验证其适用性。 在标签中提到了"CYRUS_SASL_LICENSE",SASL(Simple Authentication ...
- `svnserve.conf`:这是SVN服务器的主要配置文件,可以设置服务器端的行为,如匿名访问、身份验证方法等。 - `authz`:这个文件用于定义用户和组对仓库及目录的访问权限,支持基于路径的权限控制。 - `passwd`:...
描述中提到"SVN客户端软件SmartSVN使用证书,Windows版本,适用于V11+版本,测试版本11.0.4",这进一步证实了这个版本的Smart SVN支持身份验证功能,可能包括SSL/TLS证书,确保数据传输的安全性,并且明确指出至少...
最后,验证Apache配置是否正确无误: ```bash sudo apache2ctl configtest ``` 如果一切正常,你应该看到“Syntax OK”的提示。现在,Subversion仓库已经可以通过HTTP/HTTPS协议访问了。 在提供的压缩包`linux_...
SmartSVN是一款功能强大的Subversion(SVN)客户端,专为macOS用户...总之,SmartSVN的注册文件是解锁其完整功能的关键,通过正确导入和激活,macOS用户可以充分利用这款优秀的SVN客户端进行高效的版本控制和团队协作。
在完成以上步骤后,就可以启动Apache服务器,测试SVN是否正确运行。测试可以包括使用SVN客户端软件来检出、提交和更新版本库中的文件。此外,监控服务器日志文件也是确保SVN服务器正常运行的一个重要手段。 总结来...
上述配置指定了基本的身份验证方式、用户文件路径、SVN仓库路径等关键信息。 #### 测试访问 1. **通过Web访问SVN仓库**: - 访问地址为`http://localhost/svn/test`,如果一切配置正确,应能正常访问SVN仓库。 ...
对于SVN来说,APR是其底层基础设施,使得SVN可以在多种操作系统上运行,确保了跨平台的兼容性和稳定性。 2. **apr-util**: 作为APR的扩展,apr-util提供了一系列高级功能,包括数据库接口(如SQLite和MySQL)、加密...
- **FSFS**:Filesystem-based storage format,自SVN 1.5起默认使用的存储方式,更适合大型仓库,提供了更好的性能和稳定性。 **5.2 FAQ** 常见问题解答部分提供了关于SVN安装、配置和使用过程中可能遇到的问题...
- 验证安装:安装完成后,通过执行 `svn --version` 命令检查 SVN 是否正确安装和配置。 4. 使用指南: - 创建仓库:使用 `svnadmin create` 命令创建一个新的 SVN 仓库。 - 检出(Checkout):使用 `svn ...