Remove the .pyc files from current directory tree and from svn (Python recipe) by Senthil Kumaran

Remove the .pyc files from current directory tree and from svn « Python recipes « ActiveState Code

0

I had mistakenly checked in .pyc files into svn, So I took this approach of deleting all the .pyc files in the current working copy directory tree and then using svn remove to the remove from the repository. The following is the snippet I wrote then to for the purpose.

Python, 31 lines
Copy to clipboard
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# Remove .pyc files from svn from the current directory tree.

import os
import subprocess

# Delete the files first.

for dirpath, dirnames, filenames in os.walk(os.getcwd()):
    for each_file in filenames:
        if each_file.endswith('.pyc'):
            if os.path.exists(os.path.join(dirpath, each_file)):
                os.remove(os.path.join(dirpath, each_file))

# Now, get the svn status and remove the deleted files.

cout, cerr  = subprocess.Popen('svn status .', shell=True,
                                   stdin=subprocess.PIPE,
                                   stdout=subprocess.PIPE,
                                   stderr=subprocess.PIPE).communicate()
files = cout.split('\n')
output = []

for fname in files:
    if fname.startswith('!'):
        output.append(fname.strip('!').strip())

for each in output:
    try:
        os.system('svn remove ' + each)
    except Exception, e:
        print e

你可能感兴趣的:(Directory)