Files Required for Source Control - 2025.2 English - UG1400

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

Document ID
UG1400
Release Date
2025-11-20
Version
2025.2 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 committing 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: Ignore the '_ide' folders. When you load a new workspace in the Vitis Unified IDE, the system automatically generates these folders.

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. You can use it to manage compatibility across different IDE versions. Commit this file in 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, do not commit this file to source control.
Note: The .gitignore file specifies the files and directories that Git ignores in a project. Commit this file to source control. 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. It is not necessary to commit this file to 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. You can regenerate this file by clicking Switch/Re-read XSA File in the Platform Settings page. It is not necessary to commit this file 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, use the -f (force) option with Git:
git add build/* -f
Note: The compile_commands.json file contains the compiler commands used to build the application source files. The system automatically generates this file when the build process starts. You do not need to commit this file to source control.
Note: The launch.json file, located under the _ide/ folder, stores user-defined debug configurations. The file reflects personal preferences and environment-specific settings. Do not 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 is located under the _ide/ folder. The file stores user-defined debug configurations. It reflects personal preferences and environment-specific settings. Do not commit this file to source control.