version-control - P4V 在提交前编辑集成文件的第一个修订版

标签 version-control perforce perforce-integrate

我想使用集成将一些为特定于客户的项目创建的新代码文件复制回我们的主代码库中。但是,我还想从主线第一次修订的代码中删除一些特定于客户端的功能。到目前为止,我不知道是否有一种方法可以让我一步集成和编辑代码,而无需先提交未编辑的代码,然后立即再次检查它进行编辑。我特别想在 P4V 的范围内执行此操作,但也会考虑命令行方法。感谢您的见解。

最佳答案

您当然可以在单个变更列表中进行集成和编辑。这种方法有利有弊:正如您所指出的,有些人欣赏提交回主代码库的代码立即包含所需的编辑,而不需要提交单独的修订,而另一些人则更喜欢代码的清晰度能够在自己的更改列表中明确地查看编辑。

无论如何,总体过程如下:

  1. 将文件重新集成到主文件中,并解决合并问题
  2. 打开main中的文件进行编辑
  3. 进行适当的编辑、编译、测试等。
  4. 提交您的更改

通过在提交之前重新打开文件进行编辑,您可以将简单的“分支”集成转换为“添加自”集成,其中文件被标记为从另一个文件分支已编辑。

通常,在考虑像这样的替代方法时,我喜欢有一个小型测试服务器,我可以在其中尝试不同的命令序列,以查看历史记录会是什么样子。

在这种特殊情况下,这是一个将新项目文件集成回主文件、在集成过程中对其进行编辑并显示结果的快速示例。一切都在命令行中,以使其更清晰

C:\Users\Bryan\perforce\client>p4 integrate project/b main/b
//depot/main/b#1 - branch/sync from //depot/project/b#1

C:\Users\Bryan\perforce\client>p4 opened
//depot/main/b#1 - branch default change (text)

C:\Users\Bryan\perforce\client>p4 edit main/b
//depot/main/b#1 - reopened for add

C:\Users\Bryan\perforce\client>p4 opened
//depot/main/b#1 - add default change (text)

C:\Users\Bryan\perforce\client>vim main/b

C:\Users\Bryan\perforce\client>p4 resolved
c:\Users\Bryan\perforce\client\main\b - branch from //depot/project/b#1

C:\Users\Bryan\perforce\client>p4 submit -d merge
Submitting change 4.
Locking 1 files ...
add //depot/main/b#1
Change 4 submitted.

C:\Users\Bryan\perforce\client>p4 filelog //depot/main/b
//depot/main/b
... #1 change 4 add on 2014/12/10 by Bryan@Dell660 (text) 'merge'
... ... branch from //depot/project/b#1

C:\Users\Bryan\perforce\client>p4 diff2 //depot/project/b //depot/main/b
==== //depot/project/b#1 (text) - //depot/main/b#1 (text) ==== content
1c1
< This is b in project
---
> This is b, which came from project but was edited into main.

关于version-control - P4V 在提交前编辑集成文件的第一个修订版,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27393874/

相关文章:

visual-studio - Visual Studio 2008 - 如何禁用挂起 checkin 处理

Git 交互式 merge ?

git p4 端口错误导致失败

git - 设置git pull 和推送所有分支

android - 在 Android Studio 的编辑器左侧显示 git 更改

macos - 如何在 Mac 上连接 Perforce 并执行同步

Perforce:如何获取修订图中的变更列表编号?

Perforce:从特定变更列表 perforce 分支

perforce - 无法使用集成在 P4 中创建新分支

强制 : can I change the comment associated with a p4 integrate?