Posts Tagged ‘ SVN

Delete SVN folder

เนื่องจากโปรเจคส่วนมากจะใช้ Subversion เป็น control version แต่เวลาส่ง source code ให้กับผู้ว่าจ้างนั้น เค้าบอกให้ลบ folder “.svn” ซึ่งซ่อนอยู่ออกให้หมด แรกๆไปเปิดไล่ลบออกที่ละ folder จนครบ (ถ้าลง TortoiseSVN ก็ใช้การ Export ได้เลยครับ) แต่พอไฟล์เยอะขึ้นมาก็ปวดหัวและเสียเวลาพอสมควรก็เลย เขียน Java มาเพื่อใช้ลบ folder “.svn” ดังนี้

/**
 * File Name : CleanSVNProject.java
 * Created Date : Mar 29, 2010 : 9:01:06 AM
 * Copyright © 2010 www.fun4station.com
 */
package com.fun4station.example;
import java.io.File;

/**
 * @Author Supot Saelao 
 * @Version 1.0
 */
public class CleanSVNProject {

	public static void main(String[] args) {
		deleteDir(new File("D:/AppSource/Project"), false);
	}

	public static void deleteDir(File dir, boolean isDelete) {
		if (dir.isDirectory()) {
			String[] childs = dir.list();
			for (int i = 0; i < childs.length; i++) {
				if (".svn".equalsIgnoreCase(childs[i])) {
					deleteDir(new File(dir, childs[i]), true);
				} else {
					if (dir.getPath().indexOf(".svn") != -1) {
						deleteDir(new File(dir, childs[i]), true);
					} else {
						deleteDir(new File(dir, childs[i]), false);
					}
				}
			}
		}

		if (isDelete) {
			System.out.println("Delete : " + dir.getPath() + "\\"+ dir.getName());
			dir.delete();
		}
	}
}

ใครมีวิธีการดีกว่านี้ก็แนะนำหน่อยครับ