我在一家使用 Perforce 的公司工作,发现当我出于纯粹的本地目的在本地编辑某些内容时(也许我想更改路径以指向本地进行测试等),这真的很烦人,那更改会自动添加到我的待处理更改列表中,并最终将其弄得一团糟。直觉上,这看起来很奇怪,实际上它很烦人。它还让其他人看起来就像我正在编辑文件并计划将其上传回仓库,而这根本不是我的意图。综上所述,有没有一种简单的方法来区分我计划提交的编辑和我只想在本地存在的编辑?我正在为 Perforce 使用 eclipse 插件,所以如果有人可以给我一种轻松做到这一点的方法,那么可以加分。我知道这可能是一个愚蠢的问题,但我
3 回答
为什么不创建一个单独的更改列表,将不打算签入的文件放入其中?它仍然会显示为正在对其他人进行编辑,但这有什么关系呢?将这些文件作为 CL 中的更改进行跟踪,可以让您在需要时轻松恢复到 Perforce 副本,并与任何传入的更改合并。
Andy 已经提到了“使可写”的技巧。要从该位置恢复,您可以运行检查一致性操作。它将查找已修改但未检出的文件。这也是离线工作的好方法。使其可写,然后在重新联机时运行检查一致性。
另一种选择是将文件内容复制到剪贴板,告诉 perforce 删除该文件的本地副本,然后在其位置创建一个包含剪贴板内容的新文件。从 Perforce 的角度来看,此时的文件尚未同步到您的工作区。当您进行同步时,您将收到与现有本地文件冲突的通知,您必须通过强制同步或删除本地文件来解决这些冲突。
如果您经常编辑某个特定文件,另一种选择是使用您的客户规范将其完全映射出来。Perforce 不会尝试从 depot 同步它,您可以根据需要维护本地等效项。
在一个有点相关的注释上......如果您发现自己经常这样做,请考虑一下 Perforce 中的内容可能并不像它应该的那样通用。也许可以添加一个属性或环境变量,这样您就可以在不编辑文件的情况下覆盖某些设置。
好吧,我可以告诉您担心几件事-我不确定您是否可以切实解决其中任何一个问题而不会以其他方式给自己带来一些痛苦……
一个建议是为您的工作创建一个分支,然后将其集成回主线。这样你的小编辑就不会显示给其他人——除非他们出于某种原因使用你的分支。
我冒昧地猜测,您本地开发/测试的小修改可能更多地表明您的代码库中可以改进的东西。如果您正在调整文件以调整文件路径,那么让文件本身更智能:从数据库中读取值,根据主机名进行切换,使用环境变量......一些东西。我认为您可以找到既改进代码又不产生小烦恼的方法。
我发现 Perforce 非常灵活,真正的目的是帮助您提高工作效率并完成任务。如果你发现你正在与你的版本控制系统作斗争,那么你可能会做一些更好的事情。
一种方法是右键单击文件到“属性”,并清除“只读”标志。
它现在是可写的,但没有被检出。