我簽出一個PowerShell文件並簽名,如果它沒有被簽名,則返回簽入。如果Cleartool命令是相同的,那麼Cleartool命令是如何撤銷檢查的?
但我的登記失敗與前任相同。如果cleartool命令與以前的版本相同,那麼它是如何撤消簽出的?
我簽出一個PowerShell文件並簽名,如果它沒有被簽名,則返回簽入。如果Cleartool命令是相同的,那麼Cleartool命令是如何撤銷檢查的?
但我的登記失敗與前任相同。如果cleartool命令與以前的版本相同,那麼它是如何撤消簽出的?
你可以簡單地嘗試:
cleartool unco
這就是 「undo checkout
」
現在你不能做,在簽入命令本身。
你可以做的是cleartool diff
:如果沒有差異檢測,那麼你不合作,如果有,就在檢查
您有辦法詳細in this thread:
您可能需要與之前的版本進行比較,但是您可以使用類似
diff <file> <file>@@/main/branch/version
的東西,如果不同(或者差異如果不同則返回),然後允許簽入成功)。否則可能是unco -rm
該文件。
或者:
在我們的Makefile中,我們有基本遵循每個文件的格式如下一段:
call checkin_if_changed.bat "dir1\sub\file.h"
文件的內容 「
checkin_if_changed.bat
」如下:
cleartool diff -pre -dif %1
echo File: %1 diff result: %ERRORLEVEL%
goto diff%ERRORLEVEL%
:diff1
cleartool ci -c "Build box build." %1
goto end
:diff0
cleartool unco -rm %1
:end
基本上我們對文件的prev版本做一個cleartool diff。
如果cleartool diff
返回0,則表示文件完全相同,因此我們執行unco -rm
。 。
如果cleartool diff
找到差異則返回1,這意味着文件是不同的,而我們將其簽入
或者:
,我用了有點凌亂:
cleartool lsco -cvi -avo -fmt "ci -nc '%n'\nunco -rm '%n'" | cleartool
如果文件相同(並且簽入失敗),則取消選中它 了。
如果它不相同,它檢查它,然後unco命令 失敗(因爲它沒有檢出)與一個錯誤(但繼續)。如果您不想在命令行中看到它,可以將所有輸出轉儲到日誌文件。如果你需要,你可以改進。
如果您有一個強制您輸入評論的帖子簽入觸發器,則 改爲將-nc
更改爲-c 'some comment'
。
可能是我的意思。在簽入命令本身,如果完全相同,我需要執行撤銷簽出。因爲如果它是一個單獨的命令,那麼簽入已經失敗了,它將被CI工具視爲失敗。 – Samselvaprabu
我編輯了我的答案。 – VonC