-
Notifications
You must be signed in to change notification settings - Fork 1
Configuration
All configuration happens on command line or in a property file. Command line has precedence over the property file, which has precedence over the build in defaults.
There are four fundamental configuration items you must set:
- cleartool command line executable installed elsewhere
- You need two more pieces of information:
- path of your git repository
- path of the source code directory within a ClearCase UCM view.
Plear note that it strongly recommended if both repository and view were dedicated exclusively to git-to-clearcase.
Absolute, full path to cleartool.exe.
Use --ct path
on command line or cleartool.exec=path
in the configuration file.
Absolute, full path to git.exe.
Use --git path
on command line or git.exec=path
in the configuration file.
Absolute, full path to the source code directory within the Clearcase view of the VOB.
Use --view path
on command line or vobview.dir=path
in the configuration file.
Absolute, full path to the git repository root.
Use --repo path
on command line or repository.dir=path
in the configuration file.
Before synchronizing, git-to-clearcase may run some additional Git repository maintenance. If you run git-to-clearcase on a exclusively dedicated repository, then you may safely leave out options 3 to 5.
Ensures the the local repository contains the latests commits from every developer. Automatic fetch requires a specific public/private key setup, thus this operation is turned off by default.
Useful for automation of the synchronization process. Add --fetch
to command line or fetchRemoteGitRepository=true
to the configuration file.
Ensures that the repository points to the latest commit of the branch. By default, git-to-clearcase synchronizes the Clearcase view to the current Git commit. This operation is turned off by default as it is left up to you to navigate the git history before synchronizing.
Useful for automation of the synchronization process. Add --forward
to command line or fastForwardLocalGitRepository=true
to the configuration file.
Ensures that there are no uncommitted changes that might be synchronized by accident. Turned off by default as git-to-clearcase expects a dedicated repository that should not get dirty local edits.
Add --reset
to command line or resetLocalGitRepository=true
to the configuration file.
Ensures that there are no unversioned files that my interfere the synchronization. Turned off by default as git-to-clearcase expects a dedicated repository that should not get dirty local edits.
Add --clean
to command line or cleanLocalGitRepository=true
to the configuration file.
Ensures that the repository contains properties that instruct git command line to behave as expected by git-to-clearcase. It frees your from the burden of configuring the repository properties by hand.
Useful only on the fist run. Add --configure
to command line or applyDefaultGitConfig=true
to the configuration file.
Before synchronizing, git-to-clearcase may run some additional Clearcase view maintenance. If you run git-to-clearcase on a exclusively dedicated view, then you may safely leave options 1. Please ensure that there are no other checkouts before synchronizing.
Ensures that the view shows the latest state of the VOB. By default, this feature is turned off. git-to-clearcase reproduces all commit changes since the last synchronization, regardless of the current view state. Actually, it runs all cleartoot commands requesting changes on the server, without even considering file from the local view.
In case of file comparisons, it may be useful to update the view. Take care that this operation may take several minutes, or even hours.
Add --update
to command line or vobview.update=true
to the configuration file.
After synchronizing, git-to-clearcase may run some additional Clearcase view maintenance.
Ensures that the view does not contain files or directories that missed their checkin. Experience has shown that cleartool may fail arbitrarily and files or directories may be left checked out. That leaves the view in a dangerous state that drives to confusion and errors that are time-consuming and difficult to understand. To avoid inconvenience, this operation looks for any lost checkouts and reports them.
Add check.checkout.forgotten=true
to the configuration file.
git-to-clearcase tracks the latest synchronization within the Clearcase VOB. That ensures that every developer may call git-to-clearcase, as its state is shared and versioned on the VOB.
By default, git-to-clearcase reads the commit hash from the latest synchronization from the commit stamp file located in the VOB. If you do not want the have a stamp file, or if the information within the stamp file is incorrent, you may specify your own commit hash.
Use --commit hash
on the command line or stamp.commit.override=hash
in the configuration file.
git-to-clearcase counts the number of synchronizations and reads the number of the latest one from the counter stamp file located in the VOB. If you do not want the have a stamp file, or if the information within the stamp file is incorrent, you may specify your own synchronization counter current value.
Use --counter number
on the command line or stamp.counter.override=hash
in the configuration file.
By default, git-to-clearcase stores latest synchronization commit and counter in sync-commit-stamp.txt
and sync-counter-stamp.txt
. You may override this default names by using the --commitstamp file-name
and --counterstamp file-name' command line options or in the configuration file options
stamp.commit.file=file-nameand
stamp.counter.file=file-name`