我如何在变更列表中签出一个强制搁置



我有一个强制货架,cl1000。它被某个不知名的CL x的其他人搁置了。

我在cl2000。我想要同步到X是什么,然后解架1000,这样我的代码就和它被搁置时完全一样了。我该怎么做呢?

不幸的是,当它们被搁置时,不能保证它们的整个客户端工作区只同步到一个更改列表。在极端情况下,他们可能以不同的更改号同步每个文件。

也就是说,它们可能是同步到一个时间点的,你可以从他们书架上文件的版本号推断出来。

$ p4 files @=1000
//depot/foo/bar.txt#3 - edit change 1000 (text)
//depot/baz/quux.c#5 - edit change 1000 (text)

文件名后面的版本号表示用户在打开文件进行编辑之前同步的每个搁置文件的版本。

然后,您可以对每个文件路径和修订版本运行p4 files,以获得更改编号:

$ p4 files //depot/foo/bar.txt#3 //depot/baz/quux.c#5
//depot/foo/bar.txt#3 - edit change 983 (text)
//depot/baz/quux.c#5 - edit change 998 (text)

从第二个命令中选择最大的,并尝试将您的客户端与之同步。

即使我们假设它们同步到一个时间点,上面也不是万无一失的。它只告诉我们它们同步到998之后或包括998和1000之前的变化。

假设他们同步到999。他们的客户端工作空间可能看起来像这样:

$ p4 have
//depot/an/otherfile#7 - /home/user/a/an/otherfile
//depot/foo/bar.txt#3 - /home/user/a/foo/bar.txt
//depot/baz/quux.c#5 - /home/user/a/baz/quux.c

让我们进一步假设是999号更改将otherfile更新为版本7,并且999号更改只包含otherfile。

由于otherfile从未被搁置,而上面最新的搁置版本来自于change 998,因此您无法根据shelf判断客户端工作区是同步到了change 998还是change 999。

更大的警告是,如果他们将不同的文件同步到不同的更改号,这一切都会崩溃,但通常人们不会这样做。

相关内容

  • 没有找到相关文章

最新更新