svn很好用,但是如果要删除svn文件夹的绑定是个很麻烦的事情,每个目录下都有.svn的文件夹,必须全部删掉才行。手动删除费时费力,一般都写段脚本搞定,不过网上搜索出来的python脚本都太冗长了,一点也体现不出python的优势。如下,网上搜索到得代码:

代码<!--<br/ /><br/ />Code highlighting produced by Actipro CodeHighlighter (freeware)<br/ />http://www.CodeHighlighter.com/<br/ /><br/ />--> 1 #coding=utf-8
2 import os
3 import shutil
4 import sys
5 import stat
6
7 def deleteSubFile(svnpath):
8 names = os.listdir(svnpath)
9 for name in names:
10
11 fp = os.path.join( svnpath, name)
12 if (os.path.isfile(fp)):
13 os.chmod( fp, stat.S_IWRITE)
14 os.remove(fp)
15 else:
16 deleteSubFile(fp)
17
18
19 def deleteSVN(parentPath = None, dir = None):
20 if (dir != None and dir == '.svn'):
21 deleteSubFile(os.path.join( parentPath, dir))
22 shutil.rmtree(os.path.join( parentPath, dir), True, False)
23 print 'deleted ', os.path.join( parentPath, dir)
24 else:
25 if (dir != None):
26 filePath = os.path.join( parentPath, dir)
27 else:
28 filePath = parentPath
29 names = os.listdir(filePath)
30 for name in names:
31 fp = os.path.join( filePath, name)
32 if (os.path.isdir(fp)):
33 deleteSVN(filePath, name)
34
35
36 if len(sys.argv) < 2:
37 print 'Usage: python % <file path>' % os.path.basename(sys.argv[0])
38 sys.exit(-1)
39
40 if os.path.isfile(sys.argv[1]):
41 print '请选择文件夹, 而不是文件'
42 else:
43 deleteSVN(parentPath = sys.argv[1])
其中实现功能的核心代码写得太过冗长,其实很简单的4行代码就能达到目的,如下:
1 import os
2 for (p,d,f) in os.walk("要删除的目录路径"):
3 if p.find('.svn')>0:
4 os.popen('rd /s /q %s'%p)
分享到:
相关推荐
### SVN清除.svn的Python代码解析与知识点 在软件开发领域,版本控制系统如Subversion(SVN)扮演着至关重要的角色,它帮助开发者们管理源代码的修改历史,实现多人协作开发。然而,在某些场景下,例如将项目迁移至...
4. **手动清除**:可以通过Windows资源管理器的搜索功能找到并删除.svn文件夹,或者在命令行使用`find`或`grep`命令(取决于操作系统)配合`rm`命令来删除。 5. **自动清除工具**:可以编写脚本,比如bash、Python...
4. **删除`.svn`**:如果找到`.svn`目录,安全地删除它。在编程环境中,应确保在删除前没有打开的文件或进程正在使用这些目录。 5. **错误处理**:添加适当的错误处理机制,以防止因无权限或其他问题导致的删除失败...
创建svn文件夹 并开始管理 2.status: 查看(现在与原来的)状态变更 无=已管理未修改 M=已管理修改 G=已管理丢失 ?=未管理 3.add filename: ?→ + 新增未受管理文件(已管理不操作) 4.delete filename: ...
如果你有大量文件夹需要处理,可以编写一个简单的批处理脚本或使用编程语言(如Python或PowerShell)来遍历文件夹结构,自动删除这些隐藏的版本控制目录。 在执行此操作前,请确保你已经备份了所有重要的数据,因为...
如果文件夹名称等于”.svn”,则修改文件夹的属性(因为”.svn”的文件都是只读的,你不能直接删除) 删除此文件夹 如果文件夹名称不等于”.svn”,则递归上面的方法 Python的实现 代码 import os import shutil ...
描述中提到的“简单的删除.svn文件的小程序”是一种自动化工具,可能是用某种编程语言(如Python、批处理脚本等)编写,它的主要功能是遍历项目文件夹,查找并移除所有.svn子目录,从而简化项目文件结构,方便进行...
3. 自己编写代码删除.SVN: - 你可以使用Python、批处理脚本或者其他编程语言编写简单的脚本来遍历目录并删除.SVN子目录。例如,在Python中,可以使用os和os.path模块来实现: ```python import os def remove_...
3. SVN的基本应用4 3.1. 客户端的安装4 3.2. 版本库浏览 Repo-browser6 3.3. 版本库的基本操作8 3.3.1. Add file(folder)添加文件(文件夹)8 3.3.2. commit 提交9 3.3.3. Show log 查看日志9 3.3.4. Export 导出11 ...
1. **手动删除**:在文件资源管理器中,可以通过显示隐藏文件和文件夹,然后逐个或批量删除`.svn`目录。但要注意不要误删其他重要文件。 2. **使用命令行**:在命令行界面,如Windows的CMD或Git Bash,可以使用`rm -...
### Python 实现 SVN 的目录周期性备份实例解析 #### 概述 在软件开发过程中,版本控制系统如Subversion (SVN) 和 Git 起着至关重要的作用。这些工具不仅帮助开发者追踪代码变更,还能有效地管理项目的多个版本。...
### Python技术中的代码版本控制方法 #### 一、引言 随着Python在软件开发领域的广泛应用,版本控制成为了不可或缺的一部分。版本控制系统(Version Control System, VCS)能够帮助开发者记录项目的演变历史,支持...
例如,Python通过`python-svn`库提供了一套完整的API接口,使得Python开发者可以轻松地与SVN交互。 ##### 4.4 代码样例 ###### 4.4.1 使用版本库层 ```c #include <svn_client.h> #include <svn_error.h> #include...
"delete-svn-folders.reg"这个文件名暗示可能是一个Windows注册表脚本,用于配置SVN客户端,可能是为了删除特定的svn文件夹或者设置一些客户端侧的提交规则。然而,通常svn的钩子脚本是在服务器端执行的,所以我们...
本文将深入探讨“python 文件实用包”所涵盖的四个主要功能:批量重命名、清除SVN相关文件、文件内容查找与替换以及按规则批量删除文件或目录。 1. 批量重命名: 在日常工作中,我们经常需要对大量文件进行重命名,...
当我启动Apache,mod_dav_svn抱怨说发现一个“bad database version”,它发现了db-3.X而不是db-4.X。 我在RedHat 9得到“Function not implemented”错误,无法工作,我如何修正这个问题? 为什么日志说通过...
这是一种快速去除不再需要的代码行的方法。 - **Ctrl+D**:复制当前行或选定的代码块。在编写相似的代码段时非常方便。 - **Ctrl+Shift+J**:合并行。如果需要将多行合并成一行,则可以使用此快捷键。 - **Ctrl+...
Eclipse是一款广泛使用的开源集成开发环境(IDE),它支持多种编程语言,如Java、Python、C++等。在软件开发过程中,版本控制是至关重要的,Subversion(SVN)就是一个流行的版本控制系统,它允许开发者追踪代码更改...
但由于 VSS 的文件夹是要完全共享给用户后,用户才能进入,所以用户对 VSS 的文件夹都可以删除。这一点也是 VSS 的一个比较大的缺点。总体成本:★★★★VSS 没有采用对许可证进行收费的方式,只要安装了 VSS ,对...