Godot 3.2 introduced the version control system(VCS). The initial project to integrate VCS (Version Control System) into Godot was created in GSoC 2019 by Twarit Waikar. It introduced in-editor GUI, an interface and git-plugin. The interface provides API points to communicate with the in-editor GUI. Any version control framework can be implemented on top of the interface API.
The project has three main goals.
Providing rich and yet simple API to plugins so many features and version control operations can be implimented.
Improving or adding VCS hooks into the editor, like Commit dock, Version Control Buttom Dock, Line change gutters in Script editor.
Also developing libgit2 based godot-git-plugin in parallel to the interface.
- PR submitted to Godot
- 3.2 branch godotengine/godot#39255
- 4.0/master godotengine/godot#40129
- PR submitted to git-plugin godotengine/godot-git-plugin#37
- Actual stage/unstage file
- Remaped commit dock UI
- List of previus commits
- New diff view with split and unified view for commit and status files
- Pull/push/fetch support
- Branch menegment
- Discard file change
- Line change gutters for the editor
- Added data stucuters to into the interface.
- Autoload once initilized
- Error popups
- Adding more advanced UI hooks for plugin and interface, like amend commit, revert commit, stash, multi remote support, Add branch.
- Integrating VCS into other editor modules like file system dock or having support for resolving merge conflicts.
- Autosync with a remote. They stash current changes pull from remote and unstash changes back.