`
metallica_1860
  • 浏览: 33591 次
  • 性别: Icon_minigender_1
  • 来自: 天津
社区版块
存档分类
最新评论

手动备份svn

    博客分类:
  • Java
阅读更多

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);
		}
	}
}
 
分享到:
评论

相关推荐

    SVN备份操作(包括完全备份,增量备份和同步版本库)

    虽然Subversion本身没有提供内置的增量备份工具,但可以通过对比两次完全备份之间的差异,手动创建增量备份。通常情况下,结合版本控制系统(如Git)或者第三方工具(如rsync)来辅助完成这一过程是比较常见的做法。...

    Windows下SVN的备份方案

    1. **手动备份**:最简单的备份方法是直接复制整个SVN仓库目录到另一位置。这可以通过Windows资源管理器完成,但需确保在执行备份时没有正在进行的SVN操作,以防止数据不一致。 2. **使用SVN命令行工具**:通过...

    远程镜像与备份SVN 服务器

    ### 远程镜像与备份SVN服务器 #### 背景介绍 版本控制系统Subversion (SVN) 是一种常用的技术工具,用于管理代码库,支持团队协作开发。随着技术的发展,越来越多的企业采用SVN来确保项目的高效稳定运行。本文将...

    SVN版本库备份操作脚本

    总的来说,"SVN版本库备份操作脚本"是一个实用的工具,通过自动化流程提高了数据安全性,减少了手动操作的错误可能性,同时也方便了版本库的管理。了解并掌握如何编写和使用这样的脚本对于任何使用SVN的团队来说都是...

    Windows下SVN备份脚本

    post-commit.bat和deltaBackup.bat用的svnadmin dump命令,可以增量备份。 请注意,back.bat 、simplebackup.bat、post-commit.bat这三个文件放在文件版本库父目录(一般是X:\Repositories下面),deltaBackup.bat...

    SVN 自动备份

    “源码”标签可能意味着这个备份方法涉及到了编写或使用源代码,比如批处理脚本,它由开发者手动编写,包含特定的命令行指令。而“工具”则可能指的是使用到的辅助程序,如7-Zip或WinRAR,这些工具常用于创建和管理...

    SVN备份恢复

    定期备份SVN仓库可以确保在出现问题时能够快速恢复到正常状态。 2. **备份过程**: - **全量备份**:通常通过`svnadmin dump`命令进行,该命令将整个仓库导出为一个文本文件,包含所有版本和元数据。 - **增量...

    SVN备份脚本.rar

    SVN备份脚本的主要目的是定期备份SVN仓库,防止数据丢失。这在团队协作中至关重要,因为代码和其他项目文件的更改频繁,一旦发生意外,如硬件故障或数据损坏,备份脚本能帮助迅速恢复到先前的状态,避免工作成果的...

    SVN配置库备份方案

    2. **手动备份方法**: - `svnadmin dump`:这是最常用的命令行工具,用于创建一个配置库的完整转储文件,可进行离线备份。 - `svn export`:此命令可以导出配置库的一个特定版本,适用于快速获取工作副本,而非...

    清楚svn目录下生成的.svn文件夹

    - **手动删除**:通过Windows资源管理器或者Linux的`rm`命令,逐个或批量删除目录下的`.svn`文件夹。但这需要小心操作,防止误删其他重要文件。 - **使用脚本**:提供名为“清楚当前目录下的.svn信息.bat”的...

    svn备份与恢复手册

    第一种方法主要依靠脚本来自动完成备份与恢复的过程,而第二种方法则是通过手动操作来完成。这两种方法都需要一定的Linux操作技能,并且在执行任何删除操作前,一定要谨慎行事,以防误删重要的数据。在实际操作过程...

    删除SVN 批处理,清理SVN文件 ,删除SVN图标

    总结来说,删除SVN文件、清理SVN工作副本和删除SVN图标关联是版本控制管理的一部分,可以通过手动或自动化的方式来执行。批处理脚本作为一种有效的自动化工具,能够帮助开发者高效地完成这些任务,提升工作效率。

    svn清理sqlite3

    你可以手动删除这两个文件,然后运行`svn cleanup`命令,让svn重新生成它们。 3. **数据库修复**:如果数据库文件损坏,可以使用`sqlite3`命令行工具尝试修复。打开命令行,输入`sqlite3 wc.db .rebuild`,这会重建...

    手动安装MyEclipse6..5的svn插件

    本篇文章将详细讲解如何手动安装MyEclipse 6.5的SVN插件,帮助开发者更好地理解和应用MyEclipse插件。 首先,安装SVN插件前,我们需要了解一些基础概念。MyEclipse是基于Eclipse开发的,它扩展了Eclipse的功能,...

    清理SVN、断开SVN连接,工具

    如果不再需要这些连接,手动删除每个文件夹中的`.svn`目录可能会很繁琐。 描述中提到的"注册文件",很可能是一个Windows注册表脚本(`.reg`文件),其作用是在操作系统中添加或修改注册表项。在这种情况下,`断开...

    DelSVN 删除svn

    5. **清理工作副本**:如果你的硬盘上还有SVN的工作副本(即从仓库克隆的本地文件),记得手动删除它们,因为这些文件不受卸载过程的影响。 6. **重启电脑**:完成上述步骤后,重启计算机以确保所有更改生效,并...

    clearSVN清除svn文件

    `clearSVN` 的使用对于那些频繁进行SVN操作的开发者来说,能够显著提高效率,避免手动清理的繁琐。但需要注意的是,任何自动化清理工具都可能存在风险,因此在使用前要确保了解其工作原理和可能的影响。在日常开发中...

    jenkins的svn publisher插件

    这极大地提升了开发团队的工作效率,减少了手动部署的繁琐步骤,确保了版本控制的自动化。 **1. Jenkins与SVN的集成** Jenkins 是一个开源的持续集成服务器,用于自动化各种任务,包括构建、测试和部署软件。而...

    快速清理svn文件夹

    然而,随着时间的推移,SVN的工作目录中可能会积累大量的临时文件、日志和备份,这些文件占用硬盘空间且不便于管理。"快速清理svn文件夹"这一主题,就是针对这个问题提出的一种解决方案。 标题所指的"快速清理svn...

Global site tag (gtag.js) - Google Analytics