Understanding Jazz Source Control basic.

We have to learn some basic concepts of Jazz Source Control to understand what’s going on in JazzHub. These concepts are:

  •   Change Set
  •   Repository Workspace
  •   Stream

Overall flow of what’s happening in source control operations is depicted in this diagram.

20140130-scm_diagram
There are the notion of “Change Set”, “Repository Workspace”, and “Steam” in the figure.

 
Change Set:  A “Change set” is a collection of folders/files which have been checked in to workspace. Change set has a comment as it’s title of name.

Repository Workspace:  A “Repository Workspace” is a place holder of change set(s). When user check in the source codes, They move to workspace as a change set. This is also called repository workspace.

Steam:  A “Stream” is a place to share source codes. It can be though as “trunk” or “master” branch.  When change sets are verified, user issue “Deliver” operation. Then these change sets go to “Stream”. When change sets are moved to stream, the source codes can be shared with other developers though operation “Accept” and “Load”.

There is a notion of “Local Workspace(sandbox)” in the figure. This is the area where you work with Orion Editor. JazzHub Orion prepares disk space to work on source codes for you automatically as a sandbox.  A “Project area” is a project holder where you have created. A “Component” is a place to actually store source codes.

Jazz SCM has two steps to share codes. Namely, “Check in” and “Deliver”. The use of these two operations are probably well-known to Git users where they issue “commit” and “push” operations to share codes. Having of two steps are also well-known over years among source control management or software configuration management practitioners to manage source codes very well. For example, ClearCase has recommended to have development branches to commit or check in unstable codes. When it’s get tested, then the branch has been merged into main or integration branch.

The notion of “stream” is basically quite similar to notion of “branch”. But it has a capability to manage configuration of software by the support of components. But for now, I’ll recommend just to use one component (provided by JazzHub as default) to keep it simple enough.

The “Workspace” provides some mechanism to control a “Change Set”. These are “Deliver”, “Suspend” and “Discard”.

20140130-workspace options

The “Suspend” is very useful. For example, suppose you modified the source codes and checked in to workspace. And you realize something went wrong, but do not like to “Discard” everything (“Discard” completely discard every work you had done, this is useful sometimes though).  You can put a change set status to “Suspend”. As a result of this operation, your source code status will be back to original states as if there were no modification. This is really nice feature of Jazz Source Control, right ?

Advertisements
This entry was posted in JazzHub. Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s