Is there and official UiPath docs describing what files and folder that are okay to ignore?
Currently my .gitignore file looks like this:
/.local/ /.settings/ /.objects/ /.tmh/
**/*.log
Anyone see any problems with this?
I have not had any issues as of yet.
Also when I open a project the .project file is created, containing the files:
“desing.json” and “PackageBindingsMetadata.json”
When I try to commit the “PackageBindingsMetadata.json”(can someone explain what this file is used for and if it is necessary?) says there have been changes.
This is not the only problem as usually there are a bunch of files that are being modified simply by opening a project, like the “container” size or something.
To “fix” this I have edited the attributes file: “.git\info\attributes”
Removing these values:
*.json binary
*.xaml binary
And then changing the attributes file attribute to Read-only solves my issue.
Is this an okay approach or do you think I will experience issues along the road?
I have had no issues as of yet, just trying to make sure.
.gitignore file: Your current .gitignore file seems appropriate for ignoring common files and folders in a UiPath project. However, it’s always a good practice to review and customize the .gitignore file based on your specific project requirements and preferences.
.project file: The .project file is automatically generated by UiPath Studio and contains metadata related to the project. It includes information like project settings, dependencies, and other project-specific configurations. It is generally recommended to include the .project file in version control to ensure consistent project settings across team members.
PackageBindingsMetadata.json file: The PackageBindingsMetadata.json file contains metadata related to the bindings of activities to specific packages in a project. It helps maintain the activity package versions used in the project. This file is automatically generated and updated by UiPath Studio. It is recommended to include the PackageBindingsMetadata.json file in version control to ensure the correct package versions are used consistently.
Modified files on project open: When you open a UiPath project, certain files may be modified due to updates or changes made by UiPath Studio. This can include changes to the container size or other internal settings. It is normal for these files to be modified, and they can be included in version control to track any changes made during development.
Hmm, starting to wonder if I should keep these values in the attributes file:
*.json binary
*.xaml binary
I want to avoid unnecassary clutter. I dont really know how important the binary data is that currently is being excluded by the values above.
Regarding the “PackageBindingsMetadata.json”, I mean this should not be a problem right?
I am saying this because everytime I open the project it is generated automatically and I publish the package to Orchestrator, I just dont include it when I commit and push my changes later on.
Also regarding your 2nd answer:
.project file: The .project file is automatically generated by UiPath Studio and contains metadata related to the project. It includes information like project settings, dependencies, and other project-specific configurations. It is generally recommended to include the .project file in version control to ensure consistent project settings across team members.
It is the .project folder not the project.json file located in the root of the project that I was wondering about. But maybe you meant this.
Although there isn’t an official UiPath documentation explicitly outlining files and folders to ignore, your current .gitignore configuration appears reasonable. It effectively excludes directories like /.local/, /.settings/, /.objects/, and /.tmh/ from version control, helping to avoid unnecessary files.
Regarding the files generated upon opening a project, the “design.json” file stores design-time settings, while the “PackageBindingsMetadata.json” file holds package binding metadata. These files are typically essential for proper project functionality and maintaining consistency.
However, modifying the attributes file to mark certain file types as read-only may lead to long-term issues. UiPath Studio relies on the ability to modify and update these files as part of its regular operation. By setting them as read-only, you may encounter problems during project work, publishing, or package updates.
Instead of altering the attributes file, a better approach is to exclude unnecessary or generated files using the .gitignore file. If you encounter specific issues related to file modifications or “container” size, it’s advisable to investigate the root cause and address it directly, rather than relying on read-only attributes.
Striking a balance between excluding unnecessary files and preserving project integrity is crucial. Regularly reviewing and updating your .gitignore file based on specific project requirements and any newly generated files will help maintain a clean and efficient version control workflow.