Change sets

A change set is a repository object that collects a related group of file, folder, and symbolic link modifications within a component.

The change set is the fundamental unit of change in Engineering Workflow Management source control. The contents of any workspace, component, or stream can be expressed as a collection of change sets, beginning with the one that is created when the initial set of projects was checked in. A change set can include changes to the contents of individual files and changes to a component namespace (such as delete, rename, and move operations). A small change set might modify a few lines in a single file. A large one can include changes to the contents of many files, changes to file names, folder names, and folder contents. By grouping related changes and then applying them as a unit to a workspace or stream, Engineering Workflow Management source control ensures that such groups of changes are made together or not at all.

Change set scope and contents

A change set includes the changes made in a single component. A change set only includes checked in changes. Unchecked in changes accumulate in the Unresolved folder of the component, visible in the Pending Changes view, until you either check them in or undo them. Each component in a repository workspace has zero or more active change sets. If you have multiple components in a workspace, separate change sets are created for each component.

Each change set records the following two states of one or more files or folders in a repository workspace: the "before" state, and the "after" state, . The before state represents the item before any changes have been made. The after state represents the item after all of the changes have been made and the change set has been marked complete. Intermediate versions, such as changes that were checked in between the two states, cannot be retrieved from a change set. Applying a change set to a workspace or a stream changes all of the items in it from the before state to the after state.

A file or folder in a component cannot be part of more than one active change set. When a file or folder is included in an active change set, all changes to it become part of that change set whether or not the change set is current, and changes to that file or folder cannot be explicitly checked in to a new change set until the active change set that includes it is completed.

Change set life cycle

A change set is created implicitly the first time you check in a file or folder in a workspace where no change sets exist. You can also explicitly create an empty change set and add items to it by checking them in or moving them from other open change sets. Every component in a workspace has a notion of a current change set; or the change set in which all check-ins accumulate by default. Any change set that has not been completed can be modified by operations such as check in, move, undo, and remove; and is said to be an active change set. Active change sets cannot be shared with other repository workspaces because they are not stable. In any workspace, there can many active change sets for a component, but only one can be the current change set.

Every time you check in a change, the change becomes part of the current change set in your workspace. Unless you specify otherwise, all check-ins continue to accumulate in this change set until you complete it or make a different change set current. You can direct any check-in to a different change set (not the current one), however, changes to a given item (file or folder) can be displayed in only one active change set for a component. After an item has become part of an active change set, all changes to the item accumulate in that change set as long as it remains active.

An active change set remains open and able to accumulate new changes until you either deliver it or mark it complete. Delivering a change set automatically marks it complete. A completed change set cannot be reopened. Any time before a change set is completed, you can move individual changes into or out of it. Changes can be moved among existing change sets, or between existing change sets and new change sets. Change set metadata such as name and work item associations can be modified regardless of whether the change set is active or complete, because such changes do not affect the workspace configuration.

video icon Video channel
Software Education channel

learn icon Courses

IoT Academy
Skills Gateway

ask icon Community forums library

support icon Support

IBM Support Community
Deployment wiki