SVN 锁定无法提交命令执行失败

有个项目使用svn 高版本客户端作业,转换到低版本的环境下,出现锁定,命令执行失败.

使用cleanup 没有效果,

网上建议的svn无法Cleanup解决方法:

Step1:到 sqlite官网 (http://www.sqlite.org/download.html) 下载 sqlite3.exe;找到 Precompiled Binaries for Windows ,点击 sqlite-tools-win32-x86-xxxxxxx.zip 下载。

Step2:将下载到的 sqlite3.exe 文件复制到 本地磁盘的某个临时目录下(当然也可以不用)。

Step3:然后 设置 svn源代码 文件夹 及文件 显示 所有文件(包括隐藏文件),会发现 .svn/wc.db 文件, 将 其复* Step2 的临时目录下(sqlite3.exe 所在目录下)。

Step4:打开 wc.db(开始 -> 运行 -> 打开 cmd命令; 或者直接将wc.db拖入sqlite3.exe); 执行 delete from work_queue ;

Step5:将 wc.db 覆盖到 svn源代码目录的 .svn目录下。

Step6:对 svn源代码目录 右键, clean up, 稍等1至5分钟左右,然后会提示 清理成功。

我的目录下没有wc.db .这个就没有效果.执行也是找不到表.

最终决定删除svn 改用git 

static ArrayList Delsvn(DirectoryInfo dir)//搜索文件夹中的文件
        {
            ArrayList FileList = new ArrayList();
                        
            DirectoryInfo[] allDir = dir.GetDirectories();
            foreach (DirectoryInfo d in allDir)
            {
                if (d.Name == ".svn")
                {                    
                    Console.WriteLine("" + d.FullName + "
	");
                    //File.Delete(d.FullName);
                    DeleteFile(d.FullName);
                }
                else
                {
                    Delsvn(d);
                }
            }
            return FileList;
        }

        //创建方法,删除文件夹中的所有文件包括文件夹本身
        public static void DeleteFile(string file)
        {
            //去除文件夹和子文件的只读属性
            //去除文件夹的只读属性
            System.IO.DirectoryInfo fileInfo = new DirectoryInfo(file);
            fileInfo.Attributes = FileAttributes.Normal & FileAttributes.Directory;
            //去除文件的只读属性
            System.IO.File.SetAttributes(file, System.IO.FileAttributes.Normal);
            //判断文件夹是否还存在
            if (Directory.Exists(file))
            {
                foreach (string f in Directory.GetFileSystemEntries(file))
                {
                    if (File.Exists(f))
                    {
                        System.IO.File.SetAttributes(f, System.IO.FileAttributes.Normal);
                        //如果有子文件删除文件
                        File.Delete(f);
                    }
                    else
                    {
                        //循环递归删除子文件夹 
                        DeleteFile(f);
                    }
                }
                //删除空文件夹 
                Directory.Delete(file);
            }
        } 
原文地址:https://www.cnblogs.com/CoreXin/p/6047536.html