brg*_*ner 5 c# version-control perforce visual-studio-2010 visual-studio
我知道有一些关于使用版本控制系统重命名文件的问题.但我没有找到特殊版本控制系统Perforce的满意答案.
我的问题:当我在 Visual Studio中重命名时,是否有插件/解决方案可以保留我的C#代码文件的版本历史记录?
编辑:目前我正在使用VS2P4插件.
Edit2:我找到了一个更短的方法来重命名文件:
这种情况比在P4V中的Perforce Depot中导航要短,直到找到正确的文件.但当然我正在寻找一种更短的方式.
编辑3:有没有办法在VS中直接进行"在P4V中显示" 文件选择?
Perforce有一个新的Visual Studio插件即将推出测试阶段.它确实支持内置的Visual Studio重命名操作,并且也适用于Resharper.
直到它出来我害怕现有的解决方案有点笨拙.
我现在有一个很好的解决办法。只需处理宏事件 SolutionItemsEvents_ItemRenamed。
这是通过单击“工具”->“宏”->“宏 IDE”打开宏 IDE 来完成的。然后将以下事件处理程序添加到您的宏项目中:
Private Sub SolutionItemsEvents_ItemRenamed(ByVal ProjectItem As EnvDTE.ProjectItem,
ByVal OldName As String)
Handles SolutionItemsEvents.ItemRenamed
Dim process As System.Diagnostics.Process
process.Start("p4", "move -k " & ProjectItem.Properties.Parent.Document.Path &
"\\" & OldName & " " & ProjectItem.Document.Path)
End Sub
Run Code Online (Sandbox Code Playgroud)
看截图:

如您所见,它只是调用“p4 move -k”。需要“-k”选项,因为重命名后旧文件已被删除,因此如果没有“-k”,Perforce 将抛出错误。“-k”使 Perforce 仅重命名服务器上的文件。
如果出现 Perforce连接错误,您需要添加定义连接的 P4CONFIG 文件。这是通过以下方式完成的:
将文件p4config.txt添加到项目目录(或其任何父目录),内容如下:
P4CLIENT=您的工作空间
P4USER=用户
P4PORT=p4server:1234
设置环境变量 P4CONFIG=p4config.txt
现在,您可以通过任何方式更改文件(解决方案资源管理器项->重命名、解决方案资源管理器项->F2、ReSharper 的重命名文件以匹配类型名称、ReSharper 的类重命名(Ctrl+R,R),...)。
但请记住:如果我尝试在一次签入中编辑和重命名同一文件,或者在另一个人签出同一文件时重命名文件,则会遇到问题。
| 归档时间: |
|
| 查看次数: |
1544 次 |
| 最近记录: |