簡體   English   中英

P4擱置:實際上保存了什么?

[英]P4 Shelve: What is actually saved?

這些年來,我已經使用了許多版本控制系統,並且會說我已經掌握了SVN和Mercurial,但是現在我有了一份合同,要求我使用perforce。 我掌握了基本知識,但偶爾會發現一個不清楚perforce在做什么的區域。

擱置更改是其中之一。

本周,我處於一種工作狀態,需要改變重點,並為某人快速解決問題。 舊作品基於較舊的修訂版,對於新作品,我需要最遲進行。 所以我...

  • 擱置了我當前的變更列表。
  • 我的工作區已更新為最新版本
  • 我工作了嗎
  • 提交了。
  • 擱置了我的原始更改

當我擱置書架時,我知道我是最新版本,但是“沒關系,無論如何我都需要更新”。 令我驚訝的是,我不需要解析任何文件。 不確定為什么會這樣...

  • 恢復了我的工作區
  • 更新到我最初使用的修訂版
  • 再次取消擱置我的文件(我尚未刪除擱置的版本)
  • 更新到最新版本

在這一點上,perforce要求我解析文件,但這不是一個簡單的解決方案(即不是一個可以自動完成的解決方案)。

這給我帶來了疑問:

  • 擱置只是復制文件,然后再復制回去嗎? 還是存儲一個增量?
  • 是否可以通過擱置使其他更改撤消?
  • 將來出現這種情況時,我應該如何工作?

p4會將文件保存在Perforce服務器上,但不會從當前工作空間中刪除待處理的更改。 發出p4 shelve命令后,您可能已經發出了p4 revert命令將工作區恢復到文件的未修改版本,但是從您的描述看來,您似乎沒有這樣做。

因此,您對最新修訂步驟的更新(p4同步)使所有未打開的文件都達到了主要修訂版本,但保留了打開的文件,卻沒有擱置它們。

您的取消擱置命令沒有實際效果,因為文件已經處於擱置它們之前的狀態。

關於您的問題:

  • 擱置是將文件(可能是增量文件,但對我來說並不重要)復制到您(或您的同事)以后可以獲取文件的地方,但這並不是“妨礙”,因為它不會t自動還原本地工作區中擱置的更改

  • 擱置本身不會更改Perforce中文件的主修訂版。 它更像是一個微型分支。 但是,當您取消擱置文件時,可能必須將擱置文件之前所做的更改與文件擱置后對文件所做的更改集成在一起。 如果您不小心,可能導致其他人的更改被撤消。

  • 發奮。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM