PATCH
Generate and apply patch files with the Unity Version Control CLI.
Read time 1 minuteLast updated 11 days ago
Description
Generates a patch file from a spec or applies a generated patch to the current workspace.Usage
(Generates a patch file that contains the differences of a branch, a changeset, or the differences between changesets. It also tracks differences of text and binary files.)cm patch <source_spec> [<source_spec>] [--output=<output_file>] [--tool=<path_to_diff>]
(Allows to apply the contents of a generated patch file in the current workspace.)cm patch --apply <patch_file> [--tool=<path_to_patch>]
Options
Option / Argument | Description |
|---|---|
| --output | Sets the output file of the patch command. |
| --tool | Sets the application to use (diff or patch). |
| source_spec | Full spec of a changeset or a branch. (Use 'cm help objectspec' to learn more about specs.) |
| output_file | File to save the patch content. It no file is specified, the patch content will be printed on standard output. |
| patch_file | Patch file to apply in the current workspace. |
Help
Limitations
If the output patch file already exists, the command will not overwrite it. When applying a patch, the command will not apply changes to modified files if they are not present on disk.Important
This command requires Diff and Patch tools, publicly available at http://gnuwin32.sourceforge.net/packages/patch.htm and http://gnuwin32.sourceforge.net/packages/diffutils.htm Once installed, it's recommended to add their location to the PATH environment variable.Examples
(Prints on console the differences of cset 4 in unified format.)cm patch cs:4@default@localhost:8084
(Generates a patch file with the differences of branch "main".)cm patch br:/main --output=file.patch
(Same as above, using a custom exe.)cm patch br:/main --output=file.patch --tool=C:\gnu\diff.exe
(Prints on console the differences between csets 2 and 4 in unified format.)cm patch cs:2@default cs:4@default
(Applies the patch in 'file.patch' to the local workspace with a custom exe.)cm patch --apply file.patch --tool=C:\gnu\patch.exe