macOS 中 Cornerstone 的"Clean"操作和终端的"svn cleanup"命令无效了怎么办?

Go语言面试:面试中经常被问到的50个经典面试题(附参考答案) Go语言核心知识点摘要 基础语法与数据结构 make和new区别:new分配零值内存返回指针,make初始化引用类型返回实例 Slice底层:包含指针、长度、容量的结构体,多个slice可共享底层数组 nil与空slice:nil指针为nil,空slice指针非nil但JSON编码不同 Map原理:哈希表实现,非线程安全,扩容策略影响性能 for range注意:循环变量是拷贝,map遍历无序 defer执行:LIFO顺序,函数返回前执行 Struct比较:仅当所有字段可比较时才可比较 参数传递:只有值传递 阅读详情

说明:下文中的
“工作拷贝” 即 “Working Copy”,
“仓库” 即 “Repository”,
“清理” 即 “Clean” 或 “Cleanup”

一、出现问题的场景描述

  1. 一次在无线网络条件不佳的环境中办公。
  2. 大约是我向“工作拷贝A”提交一些资源的操作尚未结束,又对同一仓库中的“工作拷贝B”进行了更新操作。
  3. “工作拷贝B”的更新迟迟不能完成,卡在了某个进度。
  4. 我决定强制重启 Cornerstone,然后重新更新“工作拷贝B”。
  5. 强制退出时,Cornerstone 给了我一段提示:

Canceling Activities...
Cornerstone is waiting for background activities to end.
Network issues might be causing activities to temporarily block while waiting for a response from the server.

大致意思是:

正在取消进程……
Cornerstone 正在等待后台进程结束。
网络问题可能造成进程临时阻塞,直到服务器出现响应。

我点击了“Quit Now”(“立即退出”),如下图:

 

screenshot-cornerstone-quit-now.png

  1. Cornerstone 进一步给了我一个警告:

Quitting without waiting for activities to complete may result in data loss and is not recommended.
Are you sure you want to quit?

大致意思是:

未等待进程结束的退出操作可能导致数据丢失,不建议这么做。
您确定要退出吗?

我点击了“Quit Anyway”(“确定退出”),如下图:

screenshot-cornerstone-quit-anyway.png

  1. 重新打开 Cornerstone 后,发现无法对“工作拷贝B”使用常用功能了,“更新”、“提交”、“解决冲突”等都不行了,连“清理”功能都禁用了,大约仅剩下“在访达中打开”和“删除”功能了。

二、尝试一些修复方法

说明:如果您只关心最终的解决方法,那么此小节对您无关紧要,请直接前往第三小节查看。

我曾在 Windows 操作系统中遇到过 SVN 被锁(locked)的情况,当时同事告诉我只要安装了 TortoiseSVN 软件,就能在工作拷贝的文件夹上右击,然后使用 “Clean up...” 功能清理后就没问题了;也告诉我常见的 SVN 被锁的问题,基本都可以用 “Clean up...” 方法解决。

不幸的是 Cornerstone 已经不允许我使用“清理”功能了,我想也许 mac 终端键入 svn “清理”命令的方式还能用,就决定试试。

我打开 mac 终端,切换到“工作拷贝B”的根目录下,键入了如下命令并执行:

 

svn cleanup

mac 终端给了我一些错误:

 

svn: E155037: Cleanup with an older 1.7 client before upgrading with this client
svn: E155037: Previous operation has not finished; run 'cleanup' if it was interrupted

大致意思是:

 

svn: E155037: 在升级客户端之前,使用早期 1.7 版本的客户端进行了清理操作
svn: E155037: 之前的操作尚未结束;如果之前的操作是意外中断,运行 'cleanup' 命令

看来使用 mac 终端执行 svn “清理”命令的方式也无效了。

当然还有一种粗暴的方式可以解决我的问题,那就是删除“工作拷贝B”,重新从仓库中拉取资源。

如果只针对我的“工作拷贝B”来说,这并不麻烦。工作拷贝中只是些项目上的文档,我基本也不会修改这些文档,只是查阅使用。

可是假如我以后又碰到了这个场景,且出现问题的是我频繁操作的用来存放代码的工作拷贝,那就比较麻烦了。我要把本地未提交的代码先做好备份,再从仓库重新拉取代码,然后把我未提交的代码放到新的工作拷贝中,想想就觉得麻烦。又或者这个工作拷贝资源量很多,重新拉取肯定很耗费时间。

抱着“怕麻烦”的心理,我开始在网络上查找类似的问题,终于发现了下面这个修复思路。👇

如果您的电脑可以显示隐藏文件夹和文件,您会发现工作拷贝的根目录下有一个 .svn 文件夹,里面有一个 wc.db 文件,如下图:

 

screenshot-svn-database-file.png

大约是这个文件记录了您的 SVN 操作,一些情况下(例如:强制退出 Cornerstone)会导致文件尚未记录完成,所以 SVN 决定上个锁,禁止您对这个工作拷贝的后续操作,其中也包括禁止您使用“清理”功能。

如果我能修改这个 wc.db 文件,删除那些未完成的记录,应该就能正常操作我的“工作拷贝B”了。

想要修改 wc.db 文件,您需要一个 SQLite 软件。如果您使用 macOS,那么系统本身已经帮您预安装了,可直接使用;如果您使用 Windows 操作系统,那么需要先下载适合您系统的安装包,然后安装此软件,官方下载地址是:https://www.sqlite.org/download.html

三、解决方法

  1. 假设您出问题的工作拷贝路径是:/Users/xiaoming/work/working-copy,打开 mac 终端,键入下面的命令并执行,进入此工作拷贝的根目录:

 

cd /Users/xiaoming/work/working-copy
  1. 键入下面的命令并执行,查找未完成的记录:

 

sqlite3 .svn/wc.db "select * from work_queue"

例如查找到的记录如下:

 

88|(file-install 63 path/to/fileA.rp 1 0 1 1)
89|(file-install 64 path/to/fileB.rp 1 0 1 1)

可以看出在此工作拷贝中,对“文件A”和“文件B”的操作尚未完成。

  1. 键入下面的命令并执行,删除未完成的记录:

 

sqlite3 .svn/wc.db "delete from work_queue"

如果一切顺利,mac 终端什么都不会输出,心安理得。


如果您使用 Windows 操作系统,解决方法与上述 macOS 的基本相同。在安装了 SQLite 软件后,只需要先通过 cmd 命令行工具切换到出问题的工作拷贝路径,然后依次键入并执行下面的命令即可:

 

sqlite3.exe .svn/wc.db "select * from work_queue"
sqlite3.exe .svn/wc.db "delete from work_queue"

说明:暂未验证 Windows 操作系统下上述方法是否有效,如果您验证有效,请告诉我。

四、问题已经解决了

此时回到 Cornerstone ,已经允许您对工作拷贝执行“更新”、“提交”、“解决冲突”、“清理”等操作了。

然而,如果您此时直接对工作拷贝执行“更新”等操作,Cornerstone 会提醒您当前工作拷贝仍然处于锁定的状态,所以记得先“清理”一下工作拷贝。

这个解决方法比从仓库中重新拉取资源好得多了,不是吗?

原文:https://www.jianshu.com/p/b7faf41d89a3

SAP RAP学习系列合集介绍 《SAP RAP学习系列合集:从入门到部署的完整指南》摘要: 本文介绍了作者创建的SAP RAP学习系列合集,涵盖RAP开发从基础概念到实战部署的全流程。系列目前包含17篇文章,系统讲解了RAP核心开发技术:从数据建模、UI构建到行为定义(包括并发控制、草稿功能、授权验证等),最后详细演示了应用部署到Fiori Launchpad的两种方案(OP版和ES版)。 阅读详情

相关推荐

无人机飞控算法开发实战:从零到一构建企业级飞控系统

本文系统介绍了无人机飞控算法开发的完整流程,包括飞行动力学模型建立、传感器校准与数据融合、主流控制算法实现(PID、ADRC、EKF)以及企业级飞控系统架构设计。通过结合开源飞控框架(如PX4)和实际工程经验,提供了完整的代码实现示例,帮助学者从零开始掌握无人机飞控开发的核心技术。文中详细讲解了四旋翼无人机的动力学模型、传感器校准方法、EKF状态估计算法、PID和ADRC控制算法的实现,以及MAVLink通信协议的集成。最后,总结了完整的飞控系统开发流程和未来发展趋势。

全栈 3398

cornerstone之文件被锁,clean up无效

cornerstone在更换时,由于电脑卡着不动了,一气之下关机重新了,然后在更新就提示被锁。然后就clean呀,clean之后仍然无效,又clean根目录依然无效。。。 然后就进行操作.svn文件,一般情况下.svn文件时不显示的,想要显示的快捷键:cmd + shift + . .svn目录下有个wc.db文件,用Navicat Premium或者其他数据库工具打开这个wc.db文件; ...

1805

Transformer模型详解(图解最完整版)

Transformer由论文提出,现在是谷歌云TPU推荐的参考模型。论文相关的Tensorflow的代码可以从GitHub获取,其作为Tensor2Tensor包的一部分。哈佛的NLP团队也实现了一个基于PyTorch的版本,并注释该论文。在本文中,我们将试图把模型简化一点,并逐一介绍里面的核心概念,希望让普通读者也能轻易理解。Transformer 与 RNN 不同,可以比较好地并行训练。

2501_91695094的博客 2698

如何在Mac上快速使用SVN

如何在Mac上快速使用SVN

m0_58019259的博客 2636

一文详解本地知识库RAG(检索增强):LangChain + Hugging Face 三件套 + 本地大模型 + MCP 协议 + Chroma + Agent 全流程实战

模型上下文协议(MCP)是 Anthropic 推出的开放标准,基于 JSON-RPC 2.0,为 AI 应用与外部工具/数据源之间提供统一的双向通信协议,被称为“AI 应用的 USB-C”。LangChain 是一个围绕 LLM、提示模板(Prompts)、记忆(Memory)、链(Chains)、工具(Tools)和代理(Agents)等组件打造的开源框架,旨在简化复杂自然语言应用的开发。:任意可调用的功能或服务(API、数据库查询、本地函数等),由 Agent 或 Chain 在推理过程中调用。

weixin_41645791的博客 1424

嵌入式设备电量显示实战:MCP3421 ADC采集从原理到代码全解析(附避坑指南)

本文详细解析了嵌入式设备中MCP3421 ADC芯片在电量显示应用中的硬件设计、寄存器配置、I2C通信调试及低功耗优化策略。通过实战代码和避坑指南,帮助开发者实现高精度电量监测,特别针对I2C时序和分压电路设计等常见问题提供解决方案,适用于物联网终端和移动设备开发。

weixin_42525632的博客 385

Mac电脑之批量删除.svn文件

在Mac系统下,要删除SVN项目工程的.svn文件夹,可以利用以下方法: 1、打开Terminal,进入项目工程目录  cd /Users/lvxiangan/Cornerstone/android 2、执行删除命令 find . -type d -name ".svn"|xargs rm -rf  3、ok!

LVXIANGAN的专栏 641

Latex | IEEE双栏排版中长公式的排版

IEEE双栏排版中,有时候公式过于长了,过宽,导致单栏排版不下。

qq_43466146的博客 1万+

SVN不能Cleanup的几种解决办法

SVN更新出错,提示需要Cleanup,但运行Cleanup也失败,可尝试以下几种解决办法: 1、在运行Cleanup的选项窗口中把 break lock 选中; 2、删除.svn隐藏目录下的.lock文件; 3、把自己所知道的出错目录删除,重新运行Cleanup,然后再Update; ...

楚游香的博客 3万+

遥感目标检测数据集汇总

文章目录1. 光学数据集1.1 DIOR1.2 LEVIR1.3 DOTA1.4 RSOD1.5 NWPU VHR-101.6 VEDAI1.7 COWC1.8 ITCVD1.9 DIUx xView 20181.10 HRSC20161.11 TAS1.12 SZTAKI‐INRIA1.13 UCAS AOD1.14 DLR 3K Vehicle2. SAR2.1 SSDD2.2 SSDD+2....

quanwei的博客 6万+

Python全栈入门到实战【基础篇 22】生成器与迭代器:底层逻辑与实战场景

Python迭代器与生成器:惰性求值的高效实践 摘要:本文深入解析Python中迭代器和生成器的核心机制与应用场景。迭代器通过实现__iter__()和__next__()方法实现惰性求值,适合处理大数据集和无限序列。生成器作为迭代器的简化实现,通过yield关键字自动实现迭代器协议,代码更简洁。文章详细对比了可迭代对象与迭代器的区别,演示了自定义迭代器和生成器函数的实现方式,并介绍了生成器表达式这一高效替代列表推导式的方案。通过斐波那契数列等实例,展示了惰性求值在内存优化方面的优势,以及生成器在流式数据处

那些看似不起波澜的日复一日,会在某天让你看到坚持的意义 3260

SVN报错Cleanup问题解决:Cleanup failed to process the following paths:Can‘t revert

工作的时候遇到SNV 的clean up 失败问题,尝试了很多方法,最后找到了有用的方法做个总结。

m0_49096264的博客 7253

【乐企】有关乐企能力测试接口对接-基础版(详细)

乐企能力测试接口对接详细代码以及步骤

九七的博客 7655

MAC下svn clean up出错 previous operation has not finished; run cleanup if it was interrupted

MAC下SVN cleanup出错 svn cleanup failed–previous operation has not finished; run cleanup if it was interrupted 报错描述 更新svn文档时文件名和其他用户提交的文件重复,导致出现了svn cleanup failed–previous operation has not finished; run cleanup if it was interrupted的问题 解决方法 下载sqlite3工具。下载

Evain_Wang的博客 548

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

SVN报错:Cleanup with an older 1.7 client before upgrading with this client Proevious operation...

这个问题应该是不太会SVN的小白有可能遇到的。 今天在使用SVN的时候做了一个错误操作导致了这个问题。 错误操作:右键SVN => TortoiseSVN => 导出 => 修改代码 => 增加 然后就报了以上错误,无论是执行清理、增加、提交还是在另一个文件重新导出代码,都会报这个错。 这就进入了 清理 => 清理不了提示“需要先清理” 的死循环。 解决办法: 先选择显示隐藏文件 再全局搜索“.svn” 把搜到的 “.svn” 文件夹删除(我的这个文件在Z盘根目录)再重新.

WYCWLMY的博客 898

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

Mac 上使用SVN 与 操作Homebrew 方法

在上安装的方法如下:打开终端。可以在Mac的“应用程序”文件夹中找到“实用工具”文件夹,然后打开其中的“终端”应用程序。12复制并粘贴安装命令。在终端中,粘贴以下命令并按回车键:`/bin/bash -c "$(curl -fsSL)"`。这个命令会从GitHub下载Homebrew安装脚本并执行安装。等待安装过程。安装过程中,终端会显示进度和提示信息,请按照屏幕上的指示操作。添加环境变量。

蛰伏--当你不够强大时,就不要放弃努力 4106

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

Mac上SVN相关内容之CornerStone和SnailSVN的使用

////////////////////////////////////////////////////////////////// 一、安装 CornerStone是收费,如果是公司需要使用到,建议让公司购买软件使用版权,支持正版,当然网上也是有破解版本的。破解版提取密码(v5vh),如果下载成功需要输入密码(www.ifunmac.com)。 二、配置SVN 首先,打开Cornerstone,点击"+"号,添加一个仓库,选中HTTP Server。 例如: http...

蛰伏--当你不够强大时,就不要放弃努力 4033

mac svn无法 cleanup

今天svn更新文件时中断了,执行其它svn命令时提示执行svn cleanup, 但执行svn cleanup也不好使,搞了半天终于搞定了。 步骤如下: 1.下载sqlite3工具,https://www.sqlite.org/download.html 2.下载完成后解压,放到项目svn目录下 3.寻找项目的.svn文件夹,并进入。 查找文件夹命令如下: sudo find ./ -name “.svn” 4.进入.svn目录后,执行: 执行sqlite3 wc.db “select * from wor

惊风无尘的专栏 693

mac 的cornerstone在update时提示the working copy is locked

mac 的cornerstone在update时提示the working copy is locked,点击项目鼠标右键clean

u010869754的专栏 3479

svn“Previous operation has not finished; run 'cleanup' if it was interrupted“报错的解决方法...

今天碰到了个郁闷的问题,svn执行clean up命令时报错“Previous operation has not finished; run 'cleanup' if it was interrupted”。无论你到那个父层次的目录执行“clean up“,都是报一样的错。执行cleanup时候,提示要cleanup。看来是进入死循环了。 可能是频繁做了一些改名,文件打开的时候更...

weixin_30352645的博客 1420

Cornerstone 报错或警告解决方式

SVN 源代码 The working copy is locked due to a previous error 解决方式 出现这种 错误 CornerStone 无法上传,也无法更新,错误提示被锁 在CornerStone找到本地代码工程—>右键—>点击clean 就可以了 项目 文件删除 后 “file missing”的警告解决方式:在Cornerstone 本地工程项目中

Locationluqc的博客 3046

mac os下svn无法cleanup的解决办法

因为在使用命令行进行项目更新时,按了control+c中断了正在进行更新的项目,就出现了svn无法再次提交和更新的问题,在svn的根目录下运行:svn cleanup也不行.会出现下边的错误提示:svn: E155037: Previous operation has not finished; run 'cleanup' if it was interrupted有人说再checkout一份出来

Mage的专栏 4176

解决MAC下svn run cleanup interrupted错误

在 mac 上 使用 svn 时,经常会因为打断 update 或者 commit 而出现 不能使用的情况,这个时候无论你怎么 cleanup 都没用,下面是针对 cleanup 失败的解决办法:1、首先,我们需要借助 EasyFind 这个 工具,在我们的项目工程的根目录下,搜索一个 叫 wc.db 的 隐藏的数据库文件; 2、接下来,我们使用 sqlite 打开这个 wc.db 数据库文件,

我的iOS王者之路 2901

mac下用cornerstone,在update时提示the working copy is locked

1.打开cornerStone   2. working copy- clean   3.搞定

零下7度的浪漫 682

SVN Working Copy xxx locked ,并且进行cleanup也还是不行

cd 到指定目录,然后执行如下命令 del lock /q/s   -------------------------------------------------------------------------------------------- 产生这种情况大多是因为上次svn命令执行失败且被锁定了。 如果cleanup没有效果的话只好手动删除锁定文件。 cd 到svn项目目录

岁寒松柏 3万+

SVN ---文件加锁,执行clean up命令

一、SVN 中 clean up 的功能     当Subversion改变你的工作拷贝(或是.svn中的任何信息),它会尽可能的小心,在修改任何事情之前,它把意图写到日志文件中去,然后执行log文件中的命令,并且执行过程中在工作拷贝的相关部分保存一个锁,防止Subversion客户端在变更过程中访问工作拷贝。如果Subversion的操作中断了(举个例子:进程被杀死了,机器死掉了),日

马兆娟 廊坊师范学院信息技术提高班第八期 9万+
上一篇: Mysql最全视频教学
下一篇: Docker秒搭建Php7开发环境
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值