Refactoring scenario: move a file

When you move a file in a Dimensions project with attached deployment areas, Dimensions CM also moves the file on disk in any default deployment areas associated with the first stage. The file continues to exist in its original location in areas associated with other stages.

When you promote this change to another stage, the move takes effect in the deployment areas for that stage. At that time the file is removed from the original folder and placed in the new folder in areas for the selected stage.

Imagine that a Dimensions CM project contains two folders. One folder is called src and contains two files (src/main.java and src/trace.java). The other folder is called utils and only contains the file logging.java, and there are various revisions of these files promoted to different stages.

The following table shows what is in the main project and each area:

Project DEV SIT QA LIVE
src/main.java;4 src/main.java;4 src/main.java;3 src/main.java;2 src/main.java;1
src/trace.java;2 src/trace.java;2 src/trace.java;2 src/trace.java;1 src/trace.java;1
utils/logging.java;7 utils/logging.java;7 utils/logging.java;6 utils/logging.java;5 utils/logging.java;4

The filenames and folder locations are currently all the same in each area and earlier revisions have generally progressed further along the stage lifecycle than newer revisions.

Imagine that the user then moves src/trace.java to the utils folder. Only the project and the initial area are affected:

Project DEV SIT QA LIVE
src/main.java;4 src/main.java;4 src/main.java;3 src/main.java;2 src/main.java;1
utils/trace.java;2 utils/trace.java;2 src/trace.java;2 src/trace.java;1 src/trace.java;1
utils/logging.java;7 utils/logging.java;7 utils/logging.java;6 utils/logging.java;5 utils/logging.java;4

Next, a request is used to track the move, and that request is promoted to SIT. The project and area contents now are:

Project DEV SIT QA LIVE
src/main.java;4 src/main.java;4 src/main.java;3 src/main.java;2 src/main.java;1
utils/trace.java;2 utils/trace.java;2 utils/trace.java;2 src/trace.java;1 src/trace.java;1
utils/logging.java;7 utils/logging.java;7 utils/logging.java;6 utils/logging.java;5 utils/logging.java;4

If all the files in the src folder are moved into the utils folder and promoted to SIT, then the empty folder src remains on disk in your deployment areas. There is no mechanism for the removal of empty folders from deployment areas.

Back to top