比較

比較兩個工作區/串流/基準線/Snapshot,以顯示不同的基準線與變更集。

用途

檢查一對流程元素,並顯示兩者間有哪些基準線與變更集不同。

依預設,顯示畫面會以項目階層方式呈現:

流程方向(送入/送出)
	元件
		基準線
			變更集
				工作項目
				檔案系統實體

工作項目在階層中的位置,可以利用 -w/--reroot 切換來上升或下降。

基準線與變更集具有作者與交付時間資訊。作者欄位的格式可使用 -C/--format-contributor 切換來變更,而交付時間的格式可使用 -D/--format-date 來變更。

用法概要

和別處相同。可以在登入模式、載入至本端的工作區,或是已卸載的工作區上執行。

選項和引數

-d  |  --dir ] workspace-path
scm loadscm share 所建立的本端工作區的路徑名稱。 這個次指令執行時,將 workspace-path 設為現行工作目錄。 如果現行工作目錄是在本端工作區中,您可以省略這個選項。
-P  |  --password ] password for user ID in repository
指名儲存庫中指定使用者 ID 的密碼。 如果指令行不含這個選項,系統會提示您輸入密碼。 如果您指定了已利用 scm login 指令來儲存認證的儲存庫 URI 或暱稱,便會忽略這個選項。
-r  |  --repository-uri ] 儲存庫 URI
指定要採取這個動作的儲存庫。 如果您已利用 scm login 指令來儲存儲存庫認證,您可以將提供的暱稱用於這些儲存認證。
-u  |  --username ] 儲存庫中的使用者 ID
指定在指名儲存庫中的使用者 ID。 如果您指定了已利用 scm login 指令來儲存認證的儲存庫 URI 或暱稱,便會忽略這個選項。
-c  |  --component ] arg ...
只在基準線引數是由名稱指定時使用。指出可在其中找到基準線的元件。
-C  |  --format-contributor ] arg
指定應如何列出貢獻者。單一的引數是一個字串,有下列被取代的欄位:
  • {userid} – 以唯一使用者的儲存庫使用者 ID 所取代。
  • {name} – 以儲存庫中所列出的使用者名稱所取代。
  • {email} – 以儲存庫中所列出的使用者電子郵件位址所取代。
  • {itemid} – 以儲存庫中的使用者唯一內部 ID 所取代。這個值對人來說是不具意義且無法讀懂的。
-D  |  --format-date ] arg
指定應如何顯示日期。 單一的引數是一個字串,透通於 Java 的 SimpleDateFormatter http://java.sun.com/j2se/1.5.0/docs/api/java/text/SimpleDateFormat.html.
-f  |  --flow-directions ] arg
限制顯示內容只限包含送入/送出的變更。必須是下列其中一項:
  • 'i' – 送入的變更
  • 'o' – 送出的變更
  • 'b' – 送入及送出的變更
-I  |  --include-types ] arg
只包含所列類型的項目。引數是一個字串,可包含下列任何字元:
  • 'd' – 流程方向。最上層元素。
  • 'c' – 元件。
  • 'b' – 基準線。
  • 'w' – 工作項目。
  • 's' – 變更集。
  • 'f' – 檔案系統變更。

依預設,會顯示檔案系統變更以外的所有類型 (亦即 "dcbws")。

-p  |  --prune ] arg
移除階層中的空節點。值可由內含下列字元的字串組成:
  • 'd' – 指出應該移除空的流程方向。
  • 'c' – 指出應移除未變更的元件。

依預設,不會刪改任何一項。

-S  |  --Show ] arg
控制要顯示哪些選項值/欄位。值可以包含下列:
  • 'c' – 指出應顯示貢獻者。作者貢獻者將顯示在基準線和變更集中。
  • 'd' – 指出應顯示日期。日期在變更集中會顯示成修改時間,在基準線中會顯示成建立時間。
  • 'i' – 指出應將工作項目顯示成變更集的子項。若未包含此項,工作項目只會顯示成變更集說明的一部分。

依預設,會顯示所有的欄位。

-w  |  --reroot ] arg
指出工作項目節點在顯示的階層中應該往上移。值必須是下列之一:
  • 'r' – 代表根位置,指出所有的項目類型都應該顯示在工作項目下。
  • d' – 指出工作項目應該顯示在流程方向下,表示所有的元件將顯示在工作項目下。
  • 'c' – 指出工作項目應該顯示在元件下,表示所有的變更集和基準線將顯示在元件下。
  • 'b' – 指出工作項目應該顯示在基準線下,表示所有的變更集將顯示在工作項目下。

依預設,工作項目顯示在變更集下。

範例

如果要產生最少量附加資訊的變更日誌,請使用:

$ scm compare -r blues ws eSCM-2.0 stream "Source Control 2.0" -I w -S "" -f i
工作項目 60074:容許在 Web 使用者介面中定義專案與團隊區域的許可權
工作項目 62945:設定某種程度的 Jazz Foundation 建置
工作項目 63040:TCT031b:Jazz 轉換 - 更多變數
工作項目 63053:Web 使用者介面範本匯入不容許對工作項目的自訂進行變更
工作項目 63091:在建立變更事件與呈現資訊來源時,會考量專案區域的語言環境
工作項目 63266:COM.IBM.TEAM.PROCESS.DEFINITIONS.SERVER 檔發生 CHKPII 錯誤
工作項目 63371:為配合轉換,應重新編寫 ProcessFeedRenderer.getProcessAreaChangeDetails

使用 "-I w" 會限制只顯示工作項目,"-S ''" 會阻止對工作項目行提出異議,"-f" i" 會確保送出的變更不會摻雜了送入的變更。
如果要產生變更日誌,且其中將檔案系統變更分組在工作項目與變更集下,並提供特定的日期格式,請輸入下列:

$ scm -u n -a n compare -r blues ws eSCM-2.0 stream "Source Control 2.0" -I wfs -w d -S d -D "EEE, d MMM yyyy HH:mm:ss Z" -f i
工作項目 63266:COM.IBM.TEAM.PROCESS.DEFINITIONS.SERVER 檔發生 CHKPII 錯誤
  無註解 Fri, 7 Nov 2008 16:52:24 -0500
    /com.ibm.team.process.definitions.server/data/agile/attachments/template.properties
    /com.ibm.team.process.definitions.server/data/eclipseway/attachments/template.properties
    /com.ibm.team.process.definitions.server/data/openup/attachments/template.properties
    /com.ibm.team.process.definitions.server/data/scrum/attachments/template.properties
    /com.ibm.team.process.definitions.server/data/simple/attachments/template.properties
工作項目 63371:為配合轉換,應重新編寫 ProcessFeedRenderer.getProcessAreaChangeDetails
  處理「已知種類,但卻沒有明確訊息」情況 Thu, 6 Nov 2008 16:49:09 -0500
    /com.ibm.team.process.service/src/com/ibm/team/process/internal/service/messages.properties
    /com.ibm.team.process.service/src/com/ibm/team/process/internal/service/ProcessFeedRenderer.java
  合併 Thu, 6 Nov 2008 19:50:52 -0500
    /com.ibm.team.process.service/src/com/ibm/team/process/internal/service/messages.properties
工作項目 63416:所宣告之網域配接器的可轉換屬性沒有提出的字串
  無註解 Fri, 7 Nov 2008 16:46:56 -0500
    /com.ibm.team.process.ide.ui/plugin.properties
    /com.ibm.team.process.ide.ui/plugin.xml

請注意,-w 用來為工作項目建立一個變更集母項,-D 用來設定日期格式。起始的 "-u" 與 "-a" 選項則是用來抑制別名與 UUID。

意見

以上說明對您有幫助嗎?您可以在 Jazz.net 網站中提供意見(需要登錄):在討論區中提供意見提交錯誤