Files required for Source Control - 2025.1 English - UG1400

Vitis Unified Software Platform Documentation: Embedded Software Development (UG1400)

Document ID
UG1400
Release Date
2025-05-29
Version
2025.1 English

The Vitis workspace contains both metadata and source/build files; however, not all of these files need to be tracked in git. The workspace root requires the .gitignore file. This file specifies the following files and folders to ignore when commiting your workspace to git:

  • Build output directory
  • Object files
  • Dependent files
  • Logs folder and log files
  • Lock files

For more information on .gitignore, see https://git-scm.com/docs/gitignore

Note: The '_ide' folders should be ignored as these folders will be automatically generated when a new workspace is loaded within the Vitis Unified IDE.

Therefore, the recommended files to track in git are as follows:

Workspace Folder

Table 1. Files under workspace
Files Required for Source control
_ide/version.ini Yes
_ide/setting.json Depends on the user
_ide/worspace_journal.py No
.gitignore Yes
Note: The version.ini file contains version information for your workspace and is used to manage compatibility across different IDE versions. It should be committed for source control
Note: The settings.json file stores workspace-specific settings and preferences tailored to the workspace owner's environment. Because it reflects personal configurations, it is not recommended to commit this file to source control.
Note: The .gitignore file specifies which files and directories Git should ignore in a project. It should be committed to source control to ensure all team members follow the same rules for excluding temporary, build, or user-specific files from version tracking.
Note: The workspace journal file logs actions performed after opening the workspace. It serves as a reference for users to review the Python commands executed in the background. This file is not needed for source control.

Platform Folder

Table 2. Files under platform component folder
Files Required for Source control
export No
hw/hw.xsa Yes
hw/sdt No
resources No
vitis-comp.json Yes
.gitignore Yes
psu_cortexa53_0 (BSP) Yes
zynqmp_fsbl (BSP) Yes
Note: The export/ folder contains the output files generated during platform creation. By default, this folder is excluded from version control through the .gitignore file. If you need to commit the contents of the export/ folder (for example, for sharing or archiving purposes), use the -f (force) option with Git, as shown below:
git add export/* -f
Note: The hw/sdt/ folder contains the System Device Tree files used for BSP and device tree generation. This folder can be easily regenerated by clicking Switch/Re-read XSA File in the Platform Settings page. Therefore, it is not required to be committed to source control.
Note: psu_cortexa53_0 (BSP) is the standalone Board Support Package (BSP) for the Zynq UltraScale+ MPSoC A53 core. For Versal devices, the APU core name differs — take note when selecting or creating BSPs.

Applications Folder

Table 3. Files under application component
Files Required for Source control
src Yes
build No
vitis-comp.json Yes
compile_commands.json No
_ide/launch.json Depends on the user
.gitignore Yes
Note: The build/ folder contains the output files generated during application building. By default, this folder is excluded from version control through the .gitignore file. If you need to commit the contents of the export/ folder (for example, for sharing or archiving purposes), use the -f (force) option with Git, as shown below:
git add build/* -f
Note: The compile_commands.json file contains the compiler commands used to build the application source files. It is automatically generated when the build process starts and is not required to be committed to source control.
Note: The launch.json file, located under the _ide/ folder, stores user-defined debug configurations. Because it reflects personal preferences and environment-specific settings, it is typically not recommended to commit this file to source control.

System Project Folder

Table 4. Files under system project
Files Required for Source control
vitis-sys.json Yes
_ide/launch.json Depends on the user
.git ignore Yes
Note: The launch.json file, located under the _ide/ folder, stores user-defined debug configurations. Because it reflects personal preferences and environment-specific settings, it is typically not recommended to commit this file to source control.