将 Visual Studio 与 Perforce 结合使用时重命名类的工作流

发布于 2024-09-28 23:21:06 字数 308 浏览 2 评论 0原文

(我是 perforce 的新手,试图避免让自己陷入问题,我在使用其他源代码控制系统时遇到了问题)

当我重命名我的类时,我需要

  • 更改类名,它是自己的
  • 让 Visual Studio 重构所有使用类的代码
  • 在 Visual Studio 项目中重命名文件
  • 在 Perforce 中重命名文件
  • 将更改检查到 perforce
  • 然后也许将更改从我的工作分支合并到主分支

使用 perforce 执行上述操作的最佳方法是什么?我需要注意哪些问题?

(I am new to perforce and am trying to avoid getting myself into problems, I have hit problems doing this with other source code control systems)

When I rename I class I need to

  • Change the class name it’s self
  • Get Visual Studio to Refactor all the code that uses the class
  • Rename the file in the Visual Studio project
  • Rename the file in Perforce
  • Check the changes into perforce
  • Then maybe merge the change from my working branch into the main branch

What’s the best way to do the above with perforce? What issues to I need to be aware of?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

爱*していゐ 2024-10-05 23:21:06

不幸的是,这是一个多步骤的过程。您需要首先使用 resharper 移动它,然后使用 perforce 再次移动它。

我是这样做的(在 Perforce 9.2 及更高版本中):

  1. 首先,在 Perforce 中签出文件。这将清除这些文件的只读标志,并让 Resharper 在移动过程中修改文件。
  2. 使用 Resharper 的 Move 重构并将类移动到新目录。
  3. 上一步还将文件从旧文件夹移动到新文件夹。所以现在我们必须解决这个问题,以便我们也可以在 Perforce 中执行移动操作。使用 Windows 资源管理器(或您最喜欢的任何工具)将文件从位置移回位置。
  4. 转到 Perforce 并使用重命名/移动上下文菜单来移动文件。这将为每个文件在更改列表中创建一对条目;第一个条目用于从原始文件夹中删除文件,第二个条目用于将其添加到新文件夹中。

This is a multi-step process unfortunately. What you need to do move it first using resharper and then move it again using perforce.

This is how I do it (in Perforce 9.2 and above):

  1. First, checkout the files in Perforce. This will clear the readonly flags for those files and let Resharper modify the files as part of the move.
  2. Use Resharper's Move refactoring and move the classes to the new directory.
  3. The previous step also moved the files from the old folder to the new folder. So now we have to fix that so we can do also do the move operation in Perforce. Use Windows Explorer (or whatever is your favorite tool) to move the files from the new location back to the old location.
  4. Go to Perforce and using the Rename/Move context menu to move the files. This will create a pair entries in the changelist for each file; the first entry is for deleting the file from the original folder and the second entry is for adding it to the new one.
相权↑美人 2024-10-05 23:21:06

如果您有足够新的 Perforce 版本,它现在支持 move 命令,该命令将维护不同名称的文件历史记录。如果可用,您的步骤很简单并且应该可以正常工作(从 Perforce 方面;我对 VS 经验较少)。

如果您没有可用的移动命令,您可能需要查看 这个问题进一步讨论在 Perforce 中重命名/编辑文件。

If you have a new enough version of Perforce, it now supports the move command, which will maintain file history across different names. If this is available, your steps are straightforward and should work just fine (from the Perforce side; I'm less experienced with VS).

If you don't have the move command available, you might want to look at this question for a further discussion on renaming/editing files in Perforce.

热风软妹 2024-10-05 23:21:06

Have you had a look at the Visual Studio integration (P4SCC) that's available on the Perforce products page? I'd assume that it supports a rename rather nicely (disclaimer: I'm not using Visual Studio with Perforce myself, so I might be wrong).

眼泪淡了忧伤 2024-10-05 23:21:06

我编写了一个宏,用于将“p4 move -k”操作添加到 Visual Sudio 的重命名事件。
请参阅“如何使用 Perforce 在 Visual Studio 中重命名文件时保留更改历史记录”的答案

使用该宏,您可以通过在 Visual Studio 中重命名文件来至少同时执行步骤 3 和 4。

I have written a macro for adding a "p4 move -k" action to Visual Sudio's Rename event.
See answer of "How to keep change history while renaming files in Visual Studio using Perforce".

With that macro you can do at least steps 3 and 4 at once by renaming file in Visual Studio.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文