0

次の問題に直面しています。これは、変更が直接チェックインされないことを意味しますが、シェルフセットが作成され、そのシェルブに対してビルドが実行されます。ビルドが成功した場合にのみ、変更がチェックインされます。

ここで、実行に必要な時間を最小限に抑えたいので、ビルドに必要なものだけをマップするようにビルド定義をセットアップします。ここでの問題は、マップされていないものを変更に​​含めると、GetSourcesタスクでビルドが失敗し、シェルブ解除に失敗してフォルダー マッピング エラーが発生することです。

理解を深めるために、次の構造を想像してください。
- MyRepository
-- Sources
--- MyCodeFiles
-- Documents
--- SomeDocuments

BuildDefinition では、ビルドに必要なファイルが含まれているため、 Sourcesディレクトリのみをマップします。Documents内など、 Sourcesの外側に変更を含めないようにする必要があります。そうしないと、ビルドがすぐに失敗します。

unshelve コマンドの説明を既に検索して見つけました: https://docs.microsoft.com/en-us/vsts/tfvc/unshelve-command?view=vsts

この説明によれば、itemSpecを指定できるはずです。

Identifies the file or folder revisions to unshelve into the current workspace

そのため、unshelve コマンドは実際には「部分的に」unshelve をサポートしているようです。ただし、 GetSourcesタスクの動作に関する情報が見つからなかったため、vNext ビルドでそれを実現する方法はわかりませんでした。

私が見逃したものはありますか、それとも現在の実装では単に達成できないのでしょうか?

4

1 に答える 1