svn delete svn add 处理空文件、空文件夹

svn delete svn add 处理空文件、空文件夹,第1张

文件文件夹是否为空,这不是重点,重点是你怎么新增的?

如果是用 *** 作系统的“新建文件夹”,然后想用svn delete删除,那肯定不行,因为这个文件夹还不在svn控制之下,你直接用 *** 作系统的删除就OK了,也不需要commit;

如果是用 *** 作系统的“新建文件夹”,然后又用了svn add把这个文件夹加入到SVN控制之下,但是还没有commit,那你可以之间svn revert还原此次add *** 作,然后用 *** 作系统的删除就OK了,也不需要commit;

如果是新建文件夹后,svn add了,也commit了,这时才需要用svn delete,然后commit。

在osc用svn提交项目代码的时候,发现项目包含空目录时会提交失败。

Error: Commit failed (details follow):

Error: svn: E200015: Empty directories is not supported: /lib

在开源社区问答处看到有人建议在空文件夹下建一个空的文件.keep。根据此方法写了个自动处理的方法。

功能:遍历jar所在目录的所有文件夹,对空的文件夹创建.keep文件。

使用前提:要装jvm

使用方法:把 createKeep.jar放在要上传项目的目录下,上传前双击运行即可(本人只在win7上测试)。

CreateKeep.Java

[java] view plain copy

import java.io.File

import java.io.IOException

public class CreateKeep {

public static final String packageFile = ".keep"

public static void main(String[] args) {

String path = getRealPath()

File file = new File(path)

try {

traversalAllFolder(file)

} catch (Exception e) {

e.printStackTrace()

}

}

/**

* 遍历当前文件夹下的所有文件夹,对空的文件夹创建.keep文件

*

* @param dir

* @throws Exception

*/

final static void traversalAllFolder(File dir) throws Exception {

File[] fs = dir.listFiles()

int fsLength = fs.length

if (fsLength == 0) {

createFile(dir.getAbsolutePath())

} else {

for (int i = 0i <fsLengthi++) {

if (fs[i].isDirectory()) {

try {

traversalAllFolder(fs[i])

} catch (Exception e) {

}

}

}

}

}

/**

* 创建.keep文件

*

* @param folderPath

*路径名

*/

public static void createFile(String folderPath) {

String fileName = folderPath + "/" + packageFile

File file = new File(fileName)

try {

file.createNewFile()

} catch (IOException e) {

e.printStackTrace()

}

}

/**

* 获取当前jar包所在路径

*

* @return

*/

public static String getRealPath() {

String realPath = CreateKeep.class.getClassLoader().getResource("")

.getFile()

java.io.File file = new java.io.File(realPath)

realPath = file.getAbsolutePath()

try {

realPath = java.net.URLDecoder.decode(realPath, "utf-8")

} catch (Exception e) {

e.printStackTrace()

}

return realPath

}

}

方法/步骤

TortoiseSVN下载和安装。在百度输入“TortoiseSVN”或者在其他网站上面下载TortoiseSVN。注意如果你只是本地使用svn服务器,这个软件就够了。如果是服务器上面搭建svn的应用环境就不能使用这个,关注我的其他文章有专门的介绍哦。这里我们下载“TortoiseSVN”的最新版本:1.8.10.26129。

注意:百度里面直接下载是32位版本,如果你是64位,则需要特别指定是64位哦。

如果下载到不是跟系统对应的版本,安装的时候会出现如下提示。

安装TortoiseSVN软件。我的系统是64位的,所以我这里的截图就64位版本的哦。根据 *** 作提示选择 *** 作,并且点击下一步执行安装。

创建准备存放svn服务器的目录。先在磁盘空间大一点的地方创建一个空目录,如:e:\localsvn

创建本地svn服务器。在刚刚创建目录图标上面,点击右键,选择菜单里面的“TortoiseSVN”下面的“在此创建版本库”项。创建好后,打开此目录,可以看到目录里面已经有很多的目录和文件了,这个就表示成功了。刚才创建的svn服务器路径或者管理地址:file:///E:\localsvn

在程序目录使用本地svn服务。在需要此svn服务的空白目录,导出此版本库。在空白目录图标上面右键,在d出的菜单里面选择导出。在导出窗口里面设置本地svn服务去路径:file:///E:\localsvn。确定后,导出完成。打开刚才导出的目录,看看已经和本地svn服务器关系上了。

更多关于svn使用方法,后面将有专门文章来介绍,敬请关注后续文章吧。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/tougao/11996934.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存