ClearCase洋文翻譯-deliver(交付)

英文:地址  Delivers changes in a source stream to the target stream within or across projects

英文: 地址2 (含PDF) Understanding ClearCase UCM Deliver Dependencies

英文:地址3 Workaround for UCM activity dependencies during a deliver

英文:地址4 Troubleshooting UCM deliver problems

 

Deliver   UCM的概念,是一個從開發流向 UCM Project 集成流或其他開發流提交工作的一個動作。

 

Description

 The deliver command lets you deliver work from a source stream to a target stream in the same or a different project. There may be several steps to delivering work:

交付命令讓你可以在相同或者不同的項目中從一個源流交付工作到一個目標流。交付可能有下面幾步:


  •  Previewing the changes to be delivered
  •  Identifying the activities, stream, or baselines you want to deliver
  •  Resolving merge conflicts
  •  Testing and building work in the target stream
  •  Completing a deliver operation, which checks in new versions and records other information
  • 預覽將要交付的變更
  •  確定要交付的活動,流,或者基線
  •  解決歸併衝突
  •  在目標流觴測試和構建
  •  檢查新的版本集和記錄其他信息,完成一個交付操作

 If a deliver operation is interrupted through a system interrupt or user action, you must explicitly resume or cancel it.

 In general, it is good practice to check in all work to your source stream before beginning a deliver operation.You may not deliver when a rebase operation is in progress.

如果一個交付操作被系統中斷或者人爲操作中斷,你必須明確地恢復或取消它。 一般來說,最佳實踐是,在你開始支付操作之前,檢入所有的工作到你的源流。 您可能無法交付當一個變基操作正在進行。

The integration activity

集成活動

The deliver operation creates a UCM activity called the integration activity, which records a change set for the deliver operation. The activity name is of the form deliver.stream-name.date-stamp . When the deliver operation begins, the integration activity becomes the current activity for the integration view in use.

交付操作創建一個名爲集成活動的UCM活動,該活動記錄了交付操作中的一個變更集。該活動的名稱是格式deliver.stream - name.date -stamp。當交付操作開始,集成活動成爲了使用中的集成視圖中的當前活動。

One-step deliver operation一步交付操作

 You can deliver your work in one step by specifying the –complete and –force options. The –force option suppresses prompting for user input during the deliver operation. The –complete option causes the deliver operation to continue to completion after the merge phase. Use this feature carefully to avoid the possibility of delivering merged files that may not compile.

你能夠選擇–complete –force來 一步交付你的工作, –force 選項取消用戶在交付操作中輸入提示。–complete 選項使得在歸併階段後,交付操作繼續完成。小心使用此功能,以避免交付歸併沒有編譯的文件的可能性。

Handling of elements of nondefault merge types

 In a deliver operation, automatic merging is the default behavior for elements, unless user or never merge types were set for the elements. For information about setting merge behavior for an element type, see mkeltype .

 For elements of the user merge type, you must invoke your own tool to merge from the source stream version to the integration view. The deliver operation checks out the elements, but you are responsible for merging and drawing merge arrows. Until merge arrows are drawn, the deliver operation will not proceed to the completion phase.

 A deliver operation ignores versions from the source stream for elements of the never merge type. If all other versions are properly merged, the deliver operation can proceed to the completion phase. No merging or merge arrows are required.

Setting policies

 UCM includes policies that you can set to affect the deliver operation. You can set policies at project or stream creation with mkproject or mkstream or at a later time with chproject or chstream . For information about project and stream policies, see the reference pages for mkproject and mkstream .

Delivering changes with MultiSite(不翻譯了)

 The deliver command determines whether the target stream and source stream are mastered at different replicas. If they are, a remote deliver operation is put into effect. The source stream is assigned a posted status.

 In a remote deliver operation, the source stream must be a development stream. If you want to deliver changes from an integration stream, you can do so by delivering to a development stream on the same replica, and then delivering from the development stream to the remotely mastered stream.

 After the stream is in the posted state, the deliver operation can be continued only by someone working at the target stream's replica. Generally, this is the team's project integrator. Also, after it is posted, the deliver operation can be canceled only by a user at the replica where the target stream resides.

 The option –to integration-view-tag is not accepted when starting a remote deliver operation. The remote post goes to the default target stream or an alternative target stream, if specified. The deliver –status command reports on any remote deliver operation in progress for the specified stream. The project integrator can then cancel or continue the deliver operation, using the –cancel option to halt it, or the –resume or –complete options to continue it. The project integrator must specify the integration view for the deliver operation.

 While the remote deliver is in progress, you can create activities and perform checkins and checkouts for your source stream, but you cannot perform any of these operations:


  •  Add, remove, or create baselines
  •  Add or remove components
  •  Rebase the source stream
  •  Post another deliver operation
  • Receive changes (as the target stream of a local deliver operation) from a development stream

Delivering selected activities to a nondefault target

Delivering selected activities to a nondefault target is subject to the following restrictions:

交付選定的活動到一個非默認的目標要受以下限制:


  •  If the full set of activities in the stream violates one of the policy settings, you will not be allowed to proceed with the selected activity delivery, even if the selected activities would not violate the policies.
  •  If the full set of activities in the stream contains changes from a foundation baseline, you will not be allowed to deliver selected activities from this stream, regardless of the deliver policy settings.
  •  If the set of activities you want to deliver contain versions in components that are not visible in the target stream or are not modifiable by the target stream, you will not be allowed to deliver the set of activities. Delivering an activity requires that you deliver all versions in all components in the change set. You can move the versions of the missing or nonmodifiable components into another activity.
  • 如果流中的活動集違反了策略設置中的一個,你將不能進行選定活動交付,即使選定的活動不會違反策略。
  • 如果在流活動集包含從基礎基線的更改,您將不能進行選定活動交付,即使交付策略設置允許了。 
  • 如果你想交付的活動集,包含構件中的版本集是在目標流不可見或不被修改目標流,你將不會被允許交付這個活動集。交付一個活動需要您交付變更集中所有構件中的所有版本。你可以移動丟失或未修改的構件的版本集到另一個活動的。

 


update:2010-08-03: 文章

在ClearCase 7.0文檔中的官方解釋如下(簡單的翻譯,不保證完全無誤,另需要注意的是這份文檔針對的ClearCase 7.0,並不一定對ClearCase 6.0兼容):

   1. 啓動Deliver操作後,將要Deliver的流的狀態將會被置爲deliver-in-progress,注意不是目標流。
   2. 檢查所有提交的活動之前的依賴關係
   3. 檢查所有的目錄配置項,如果發現提交流與目標流有不同,則在目標流上Checkout並進行Merge,如果由於目標流上已經對目標項進行了Reserved Check out ,Merge失敗,則提交停止;這時所有已經歸併成功的目錄配置項在目標流上保存Merge結果。
   4. 對所有需要歸併的配置項進行Checkout,如果不能進行Reserved類型的Check out,跳過該配置項,繼續嘗試對其他需要歸併的配置進行Check out
   5. 如果不能將所有的配置項Checkout,則以下步驟不會進行,有兩種選擇
         1. 回退你的Deliver
         2. 解決不能Checkout的問題,例如由於其他人正在進行Deliver操作,所以不能Checkout,則等其他人Deliver完成或回退後再執行Deliver
   6. 所有需要提交的配置項都要Checkout成功後,開始Merge,如果自動Merge不成功,則需要手工Merge
   7. 所有Merge成功後,建議在目標流是進行Build並測試
   8. Build沒有問題,Complete提交流,將提交流的狀態deliver-in-progress取消

從新的ClearCase文檔來看,我的描述基本正確,但是有些深層的,如提交流的狀態我沒有注意,還有許多需要學習

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章