# Workflow Diff

> Comparing changes between a process, library, `project.json`, or `.txt` file in a local repository and the latest version from GIT, TFS, or SVN is done using **Workflow Diff** in Studio. It shows a side-by-side comparison between the two files, highlighting added or removed activities, packages, variables, arguments.

Comparing changes between a process, library, `project.json`, or `.txt` file in a local repository and the latest version from GIT, TFS, or SVN is done using **Workflow Diff** in Studio. It shows a side-by-side comparison between the two files, highlighting added or removed activities, packages, variables, arguments.

When comparing changes between two `.xaml` files, **Workflow Diff** shows added or removed activities, variables, arguments, or modified activity properties. Default values for properties are not visible in the **Show Changes** window.

**Workflow Diff** is used for comparing changes made in the `project.json` file, such as adding, updating or removing dependencies, modifying the runtime rule, making workflows private, or setting a **Global Exception Handler**.

:::note
**Workflow Diff** must be used after the file is saved, and before it's checked into the source control repository.
:::

## Comparing Workflow Versions

1. Check out a workflow or library from the GIT, TFS, or SVN repository, make modifications, and then save the file, but don’t check it in.
2. In the **Project** panel, right-click the `.xaml` file and click **Show changes**. The **Workflow Diff** window is displayed.

   ![docs image](https://dev-assets.cms.uipath.com/assets/images/studio/2024-10-docs-image-172596-772618b9.webp)

The **Remote** column on the left displays the `.xaml` structure for the file versioned under the GIT, TFS, or SVN repository, while the **Local** column on the right shows the file mapped locally.

The **Modified Properties** columns show the before and after states of activities properties, sequence display names and text boxes.

:::note
If the locally mapped `.xaml` file is corrupted, the **Workflow Diff** window is opened in the `project.json/.txt` view.
:::

## Comparing Project.json Versions

1. Check out the `project.json` file in Studio and open the [Manage Packages](https://docs.uipath.com/studio/standalone/2024.10/user-guide/managing-activities-packages#managing-activity-packages) window to install, update, and remove dependencies. Click on **Save** to update the `project.json`.
2. In the **Project** panel, right-click the `project.json` file and click **Show changes**. The **Workflow Diff** window is displayed.

   ![docs image](https://dev-assets.cms.uipath.com/assets/images/studio/2024-10-docs-image-166788-ad932133.webp)

The **Remote** column on the left displays the `project.json` structure for the file versioned under the GIT, TFS, or SVN repository, while the **Local** column on the right shows the file mapped locally.

Dependency names are arranged alphabetically to aid with the comparing process between the two files.

### Field Descriptions for the Workflow Diff Window

| Option | Description |
| --- | --- |
| **Previous** | Navigates to the previous change in the compared files. |
| **Next** | Navigates to the next change in the compared files. |
| **Collapse All** | Collapses all nodes in the `.xaml` files. |
| **Expand All** | Expands all nodes in the `.xaml` files. |

## Viewing the File History

Aside from **Workflow Diff**, **Show History** from the same context menu allows you to compare changes between two versions of the same file. This option is available for GIT, TFS, and SVN versioned files, either `.xaml` or `project.json`.

1. Check out your project from source control in Studio. Make sure that the project has multiple commits.
2. In the **Project** panel, right-click the `.xaml` file and click **Show History**. The **History** window is displayed.

   ![docs image](https://dev-assets.cms.uipath.com/assets/images/studio/2024-10-docs-image-167873-cf0e6faa.webp)

3. The **History** window displays the revisions made to the file, together with **Commit messages**, the author, and the date. Double-click a revision to open the **Workflow Diff** window and view changes between the selected file and the previous version.

The **Details** tab part of the **History** window displays the author, date, revision number, and commit message. The **Changes** tab reveals the files that were in during the selected commit. Double-click a file to open the **Workflow Diff** window and view changes between the selected file and the previous version.

### Context Menu for Show History

Right-click a revision entry in the **Show History** window to open the context menu with options.

| Option | Description |
| --- | --- |
| **Compare with Previous** | Compares the selected version of the file with the previous version. |
| **Compare with Local** | Compares the selected version from GIT, TFS, SVN with the local version. |
| **Compare with Latest** | Compares the selected version of the file with the latest version. |
| **Compare Selected** | Compares the selected two versions of the file. Use **Ctrl + Click** and then right click to compare the versions. When more than 2 versions are selected, the newest and oldest are compared. |
