`
cheer_nice
  • 浏览: 103169 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

远离 svn的花花绿绿

阅读更多

 

  1. import java.io.File;  
    import java.util.ArrayList;  
    import java.util.Collection;  
      
    public class CleanSVN {  
          
        public static void main(String[] args){  
              
            String testurlString="args[0]";  
              
            System.out.println(clean(testurlString));  
        }  
          
        public static String clean(String url){  
              
            File files=new File(url);  
              
            if(!files.exists())return "no such directory";  
              
            String str[]=files.list();  
              
            for(int i=0;i<str.length;i++){  
                  
                String cDIR=url+"\\"+str[i];  
                  
                File cstr=new File(cDIR);  
                  
                if(cstr.isDirectory()){  
                    if(str[i].endsWith(".svn")){  
                        deletedoc(cstr);  
                    }else{  
                        clean(cDIR);  
                    }  
                }  
            }  
            return "all '.svn' is cleaned";  
        }  
          
        public static void deletedoc(File cstr){  
              
            String dir=cstr.getAbsolutePath();  
              
            String[] dirs=cstr.list();  
              
            for(int i=0;i<dirs.length;i++){  
                  
                File sFile=new File(dir+"\\"+dirs[i]);  
                  
                if(sFile.isDirectory()){  
                    deletedoc(sFile);  
                }else{  
                    System.out.println(dir+"\\"+dirs[i]+"is deleting ****************");  
                    sFile.delete();  
                }  
            }  
            cstr.delete();  
        }  
    }  
    
    以上这段代码 清除了 SVN checkout出来的工程中的标记  工程地址由命令行参数 给出

    下面是 python 的写法 主要学会os模块





     
    1. #!/usr/bin/env python
    #-*-coding:utf-8-*-
    
    import sys,os,stat
    
    def walk(path):
        for item in os.listdir(path):
            subpath=os.path.join(path, item)
            mode=os.stat(subpath)[stat.ST_MODE]
            if stat.S_ISDIR(mode):
                if item==".svn":
                    print "Cleaning %s ..." %subpath
                    print "%d deleted" %purge(subpath)
                else:
                    walk(subpath)
    
    def purge(path):
        count=0
        for item in os.listdir(path):
            subpath=os.path.join(path, item)
            mode=os.stat(subpath)[stat.ST_MODE]
            if stat.S_ISDIR(mode):
                count+=purge(subpath)
            else:
                os.chmod(subpath, stat.S_IREAD|stat.S_IWRITE)
                os.unlink(subpath)
                count+=1
        os.rmdir(path)
        count+=1
        return count
    
    
    
    if __name__== '__main__':
        if len(sys.argv)!=2:
            print "Usage: python SVNClean.py path"
            sys.exit(1)
    
        walk(sys.argv[1])
     

 

分享到:
评论

相关推荐

    svn1.14.1、svn1.14.2

    svn1.14.1、svn1.14.2

    svn-win32-1.7.2.zip (win32svn) [SVN 绿色版]

    将文件解压缩到 C:\ 下,将解压缩后的 svn-win32-1.7.2 文件夹名改为 svn,然后将 C:\svn\bin 加入到系统的 PATH 环境变量中,即可开始使用。 将 svnserve.exe 设置为系统服务: sc create svn binpath= "C:\svn\...

    svn服务用svnsync命令双机热备

    ### SVN服务用svnsync命令实现双机热备 #### 概述 在软件开发过程中,版本控制系统(Version Control System, VCS)是必不可少的工具之一。Subversion(SVN)作为一款广受欢迎的集中式版本控制系统,在企业级项目...

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

    在使用Subversion(SVN)版本控制系统管理代码时,`.svn`文件夹是SVN用于存储元数据的地方,包括版本信息、工作副本配置等。这些文件夹对于SVN的正常运行至关重要,但有时它们可能会占用大量的磁盘空间,或者在不...

    svn插件myeclipse+svn插件

    【标题】:“svn插件myeclipse+svn插件” 【描述】:“svn 插件 myeclipse 插件文件+安装方法在压缩包内” 本文将深入探讨如何在MyEclipse集成开发环境中安装和使用Subversion(SVN)插件,以便更有效地进行版本...

    SVN中文手册 SVN中文手册

    SVN svn SVN中文手册 SVN资料 svn配置SVN svn SVN中文手册 SVN资料 svn配置SVN svn SVN中文手册 SVN资料 svn配置SVN svn SVN中文手册 SVN资料 svn配置SVN svn SVN中文手册 SVN资料 svn配置SVN svn SVN中文手册 SVN...

    获取svn最新版本号示例 以及svn常用命令

    在软件开发过程中,版本控制系统是不可或缺的工具,其中Subversion(简称svn)是广泛应用的一种集中式版本控制系统。本文将深入探讨如何获取svn的最新版本号,并介绍一些常用的svn命令。 首先,获取svn的最新版本号...

    如何去掉svn标记

    在软件开发过程中,版本控制系统扮演着至关重要的角色,其中Subversion(简称SVN)作为一款开源的集中式版本控制系统,被广泛应用于项目管理之中。然而,在使用SVN的过程中,用户可能会遇到一个常见的问题:如何去除...

    VS2022 SVN 插件

    **Visual Studio 2022 SVN 插件详解** 在软件开发过程中,版本控制是至关重要的环节,它帮助团队协作并跟踪代码的变化。Subversion(简称SVN)是一款流行的开源版本控制系统,而AnkhSVN则是一个针对Microsoft ...

    svn账号密码找回,本地svn账户查看

    在IT行业中,版本控制系统是开发团队协作的重要工具,其中Subversion(简称svn)是一种广泛应用的集中式版本控制系统。本文将详细讲解如何进行“svn账号密码找回”以及“本地svn账户查看”的操作。 首先,让我们来...

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

    在IT行业中,版本控制系统是开发团队协作的重要工具之一,Subversion(简称SVN)就是其中广泛应用的一款。SVN能够帮助开发者追踪代码的变化,合并不同人的修改,并管理项目的多个版本。然而,有时候我们可能需要断开...

    svn绿色windows版本,客户端,支持IntelliJ IDEA配置svn客户端环境

    SVN(Subversion)是一种广泛使用的版本控制系统,用于管理文件和目录的历史版本,便于团队协作和项目管理。在Windows平台上,有许多SVN客户端可供选择,其中SlikSVN是一款流行的轻量级绿色版本,尤其适合那些希望...

    RapidSVN:轻量级、可视化SVN客户端RapidSVN-0.13.0.8249-PortableSoft

    RapidSVN是一款轻量级且用户友好的可视化Subversion(SVN)客户端,专为开发者和团队协作设计。Subversion是一种版本控制系统,用于管理软件项目中的文件和目录的更改历史,使得多人协同开发变得更加高效和有序。...

    SVN中文教程 SVN简明教程 SVN学习笔记

    SVN,全称为Subversion,是一款广泛应用于软件开发领域的版本控制系统。它允许团队协作开发,管理项目中的文件和目录,并追踪每一次更改,确保代码的安全性和可追溯性。本教程将深入探讨SVN的基础知识,包括安装配置...

    SVNMANAGER SVN 代码管理 LINUX SVN管理

    【SVNMANAGER SVN 代码管理 LINUX SVN管理】 在软件开发过程中,版本控制是至关重要的一个环节,它能帮助团队协同工作,跟踪代码修改历史,以及有效地管理代码库。Subversion(简称SVN)就是这样一款广泛应用的版本...

    svn清理sqlite3

    在IT行业中,版本控制系统是开发团队协作的重要工具,Subversion(简称svn)就是其中的一款广泛应用的开源版本控制系统。本文将详细讲解如何解决“svn无法清理、上传、下载”的问题,以及涉及的SQLite3数据库相关...

    SVNClient华为工具

    【SVNClient华为工具】 SVNClient华为工具是一款专为华为公司内部开发和协作设计的版本控制系统客户端。Subversion(SVN)是一种广泛使用的集中式版本控制系统,它允许团队成员协同工作,跟踪代码更改,管理和恢复...

    .svn删除软件

    在IT行业中,版本控制系统是开发团队协作的重要工具,其中Subversion(简称SVN)是一种广泛应用的集中式版本控制系统。`.svn`文件是Subversion在本地工作副本中存储元数据的特殊文件,它记录了文件和目录的状态信息...

    svn1.8.3免安装版

    【标题】"svn1.8.3免安装版"指的是Subversion(SVN)版本控制系统的一个特定版本,1.8.3,它不需要通过传统的安装程序进行安装,而是可以直接使用解压缩的方式运行。Subversion是一种开源的版本控制系统,用于管理...

    myeclipse2017SVN插件

    【Myeclipse2017 SVN插件】是一款专为Myeclipse 2017集成开发环境设计的版本控制系统工具,它使得开发者能够在Myeclipse中直接进行SVN(Subversion)的操作,如代码的版本控制、提交、更新、解决冲突等。SVN是分布式...

Global site tag (gtag.js) - Google Analytics