AllChange File System Plugin

The Merge plugin for AllChange enables Merge to access baselines and parts located within an AllChange database. The plugin is available for Merge (v6.5.1491 and later) and is supplied and installed with AllChange 6.1 or higher. Note that the plugins and supporting files supplied with AllChange up to and including 7.0 do not support subsystem/component comparison in Merge. More information on the features offered by the integration between AllChange and Merge can be found on the Intasoft website.

Using the plugin you can, for example, compare a release baseline with a previous release to view changes, or perform a folder comparison to compare your AllChange client workspace against the database. Alternatively, you could directly compare different branches (or the same branch at different points in time) within the database.

The plugin provides read-only access to the AllChange database. To modify baselines or parts within the database, you will need to use the AllChange application, or one of the applications into which AllChange fully integrates (i.e. Microsoft Word, Microsoft Visual Studio, etc).

Using the AllChange plugin

To specify a baseline or part within an AllChange project, prefix the baseline or the path to the part with acvfs:\ to form a URI. Identifiers to determine which versions of parts should be compared can be included in the URI, as shown in the examples below.

Examples for AllChange Version 6.1 and later

URI Description
acvfs:\Release;001 Specifies a baseline named Release;001.

Examples for AllChange Version 7.1 and later

URI Description
acvfs:\/notepad Specifies a subsystem named notepad, and retrieves component names. If the part is checked out for edit to the current workspace, the version checked out is used for the comparison.
acvfs:\/notepad:def As above, but gets all default versions. If the part is checked out for edit to the current workspace, then the contents of the workfile is used for the comparison.
acvfs:\/notepad:reg As above, but gets all registered versions.
acvfs:\/notepad:top As above, but gets all top versions.
acvfs:\/notepad:Test As above, but gets the top versions on branch Test.
acvfs:\/notepad:~Test As above, but specifies the predecessor versions of branch Test.
acvfs:\/notepad:2004/07/01 As above, but gets the latest versions created on or before 1 July 2004. Note that the date should be in the standard Intasoft format of YYYY/MM/DD.
acvfs:\/notepad:!Release;001 As above, but gets the versions appearing in baseline Release;001. Note that the baseline should be a release baseline, i.e. a baseline containing versions.
acvfs:\/notepad/notepad.cpp Specifies a part named notepad.cpp in subsystem notepad. If the part is checked out for edit to the current workspace, the version checked out is used for the comparison.
acvfs:\/notepad/notepad.cpp;043 Specifies version 043 of a part named notepad.cpp in subsystem notepad. If the part is checked out for edit to the current workspace, and the specified version is the new version, then the contents of the workfile is used for the comparison.
acvfs:\/notepad/notepad.cpp:def Specifies the default version of a part named notepad.cpp in subsystem notepad. If the part is checked out for edit to the current workspace, then the contents of the workfile is used for the comparison.
acvfs:\/notepad/notepad.cpp:reg As above, but specifies the registered version.
acvfs:\/notepad/notepad.cpp:top As above, but specifies the top version.
acvfs:\/notepad/notepad.cpp:Test As above, but specifies the top version on branch Test.
acvfs:\/notepad/notepad.cpp:~Test As above, but specifies the predecessor version of branch Test.
acvfs:\/notepad/notepad.cpp:2004/07/01 As above, but specifies the latest version created on or before 1 July 2004. Note that the date should be in the standard Intasoft format of YYYY/MM/DD.
acvfs:\/notepad/notepad.cpp:!Release;001 As above, but specifies the version appearing in baseline Release;001. Note that the baseline should be a release baseline, i.e. a baseline containing versions.

From version 7.1 of AllChange, any of the URIs may have extra information appended to them, joined by a ?. Currently, the extra information is limited to ?workfile for subsystem parts, and ?<path of workfile> for component parts. For subsystems, any extra information is passed back to AllChange when retrieving the contents of the subsystem and causes AllChange to supply the path of the workfile for the part as the components’ or versions’ extra information, providing the part is checked out for edit to the current workspace. Having a file path as the extra information for components or versions causes Merge to use that path when saving the file.

For example, supplying a subsystem URI of

acvfs:\/notepad:~Test?workfile

where the ‘notepad’ subsystem contains a part named ‘notepad.cpp’ which has two versions on branch ‘Test’ and is checked out for edit, will return the part as

acvfs:\/notepad/notepad.cpp;Test.002?c:\workspace\notepad\notepad.cpp

which causes Merge to save edits to the file in c:\workspace\notepad\notepad.cpp.

For more information on using AllChange with Merge, and how to invoke Merge from within AllChange, please see the documentation supplied with AllChange.