package com.tool;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import org.apache.commons.io.FileUtils;
public class FileUtil {
public static void main(String[] args) {
start("E:\\web_space\\***", "E:\\g\\trunk\\***");
start("E:\\web_space\\***", "E:\\g\\trunk\\***");
}
private static void start(String fromDir, String toDir) {
List<String> fileNameList = getFile(fromDir);
for (String fileName : fileNameList) {
System.out.println("from : " + fileName);
String toFileName = fileName.replace(fromDir, toDir);
System.out.println("to : " + toFileName);
File from = new File(fileName);
File to = new File(toFileName);
moveFile(from, to);
}
}
private static boolean isSvn(String dir) {
if (dir.endsWith(".svn")) {
return true;
}
return false;
}
/**
* 获得所有文件名的list(不包括svn).
*
* @param path
* @return
*/
private static List<String> getFile(String path) {
File file = new File(path);
// 得到当前目录下的所有 文件/文件夹
File[] array = file.listFiles();
List<String> fileNameList = new ArrayList<String>();
for (int i = 0; i < array.length; i++) {
if (array[i].isFile()) {
fileNameList.add(array[i].getPath());
} else if (array[i].isDirectory()) {
if (isSvn(array[i].getPath())) {
continue;
}
// 如果是文件夹就继续添加
fileNameList.addAll(getFile(array[i].getPath()));
}
}
return fileNameList;
}
/**
* 移动文件from到to.
*
* @param from
* 源文件
* @param to
* 目标文件
* @throws IOException
*/
public static void moveFile(File from, File to) {
try {
FileUtils.copyFile(from, to);
} catch (IOException e) {
throw new RuntimeException("移动文件时出错", e);
}
}
}
分享到:
相关推荐
虽然Subversion本身没有提供内置的增量备份工具,但可以通过对比两次完全备份之间的差异,手动创建增量备份。通常情况下,结合版本控制系统(如Git)或者第三方工具(如rsync)来辅助完成这一过程是比较常见的做法。...
1. **手动备份**:最简单的备份方法是直接复制整个SVN仓库目录到另一位置。这可以通过Windows资源管理器完成,但需确保在执行备份时没有正在进行的SVN操作,以防止数据不一致。 2. **使用SVN命令行工具**:通过...
### 远程镜像与备份SVN服务器 #### 背景介绍 版本控制系统Subversion (SVN) 是一种常用的技术工具,用于管理代码库,支持团队协作开发。随着技术的发展,越来越多的企业采用SVN来确保项目的高效稳定运行。本文将...
总的来说,"SVN版本库备份操作脚本"是一个实用的工具,通过自动化流程提高了数据安全性,减少了手动操作的错误可能性,同时也方便了版本库的管理。了解并掌握如何编写和使用这样的脚本对于任何使用SVN的团队来说都是...
post-commit.bat和deltaBackup.bat用的svnadmin dump命令,可以增量备份。 请注意,back.bat 、simplebackup.bat、post-commit.bat这三个文件放在文件版本库父目录(一般是X:\Repositories下面),deltaBackup.bat...
“源码”标签可能意味着这个备份方法涉及到了编写或使用源代码,比如批处理脚本,它由开发者手动编写,包含特定的命令行指令。而“工具”则可能指的是使用到的辅助程序,如7-Zip或WinRAR,这些工具常用于创建和管理...
定期备份SVN仓库可以确保在出现问题时能够快速恢复到正常状态。 2. **备份过程**: - **全量备份**:通常通过`svnadmin dump`命令进行,该命令将整个仓库导出为一个文本文件,包含所有版本和元数据。 - **增量...
SVN备份脚本的主要目的是定期备份SVN仓库,防止数据丢失。这在团队协作中至关重要,因为代码和其他项目文件的更改频繁,一旦发生意外,如硬件故障或数据损坏,备份脚本能帮助迅速恢复到先前的状态,避免工作成果的...
2. **手动备份方法**: - `svnadmin dump`:这是最常用的命令行工具,用于创建一个配置库的完整转储文件,可进行离线备份。 - `svn export`:此命令可以导出配置库的一个特定版本,适用于快速获取工作副本,而非...
- **手动删除**:通过Windows资源管理器或者Linux的`rm`命令,逐个或批量删除目录下的`.svn`文件夹。但这需要小心操作,防止误删其他重要文件。 - **使用脚本**:提供名为“清楚当前目录下的.svn信息.bat”的...
第一种方法主要依靠脚本来自动完成备份与恢复的过程,而第二种方法则是通过手动操作来完成。这两种方法都需要一定的Linux操作技能,并且在执行任何删除操作前,一定要谨慎行事,以防误删重要的数据。在实际操作过程...
总结来说,删除SVN文件、清理SVN工作副本和删除SVN图标关联是版本控制管理的一部分,可以通过手动或自动化的方式来执行。批处理脚本作为一种有效的自动化工具,能够帮助开发者高效地完成这些任务,提升工作效率。
你可以手动删除这两个文件,然后运行`svn cleanup`命令,让svn重新生成它们。 3. **数据库修复**:如果数据库文件损坏,可以使用`sqlite3`命令行工具尝试修复。打开命令行,输入`sqlite3 wc.db .rebuild`,这会重建...
本篇文章将详细讲解如何手动安装MyEclipse 6.5的SVN插件,帮助开发者更好地理解和应用MyEclipse插件。 首先,安装SVN插件前,我们需要了解一些基础概念。MyEclipse是基于Eclipse开发的,它扩展了Eclipse的功能,...
如果不再需要这些连接,手动删除每个文件夹中的`.svn`目录可能会很繁琐。 描述中提到的"注册文件",很可能是一个Windows注册表脚本(`.reg`文件),其作用是在操作系统中添加或修改注册表项。在这种情况下,`断开...
5. **清理工作副本**:如果你的硬盘上还有SVN的工作副本(即从仓库克隆的本地文件),记得手动删除它们,因为这些文件不受卸载过程的影响。 6. **重启电脑**:完成上述步骤后,重启计算机以确保所有更改生效,并...
`clearSVN` 的使用对于那些频繁进行SVN操作的开发者来说,能够显著提高效率,避免手动清理的繁琐。但需要注意的是,任何自动化清理工具都可能存在风险,因此在使用前要确保了解其工作原理和可能的影响。在日常开发中...
这极大地提升了开发团队的工作效率,减少了手动部署的繁琐步骤,确保了版本控制的自动化。 **1. Jenkins与SVN的集成** Jenkins 是一个开源的持续集成服务器,用于自动化各种任务,包括构建、测试和部署软件。而...
然而,随着时间的推移,SVN的工作目录中可能会积累大量的临时文件、日志和备份,这些文件占用硬盘空间且不便于管理。"快速清理svn文件夹"这一主题,就是针对这个问题提出的一种解决方案。 标题所指的"快速清理svn...