SVN小文件清除脚本

    技术2022-05-11  60

    关键字:   Python SVN

    隐士以前用惯了ClearCase,换到SVN有点不习惯。ClearCase下面的文件都可以直接Copy出来用,SVN下面的就麻烦了,每个目录下面一个.svn子目录,当你要把项目在Check In前拿去别用时,你就体会到你的项目不是一个项目,此刻SVN灵魂附体令你感觉别扭,当然,Check In后可以用SVN的Export来导出一个干净的项目。不爽,隐士整了个Python脚本,清除这些垃圾。

    闲话不多,看脚本:

    # !/usr/bin/python     #  -*- coding: utf8 -*-         # ################################     #    Written by caocao           #     #    http://www.caocao.mobi      #     #    http://www.caocao.name      #     # ################################         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  len(sys.argv) != 2 :         print   " Usage: python SVNClean.py path "         sys.exit( 1 )       walk(sys.argv[ 1 ])

    最新回复(0)