SVN小檔案清除指令碼

來源:互聯網
上載者:User
關鍵字:   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])

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.