Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[WIP] Update VCS Integration UX and rework EditorVCSInterface for network features #53371

Closed
wants to merge 24 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
4d29a2d
Updated commit dock UI
Janglee123 Jun 25, 2020
319ca8c
improved diff view
Janglee123 Jul 15, 2020
4ade06f
Replaced Dictionary/Array with custom structure
Janglee123 Aug 12, 2020
c1ffe48
Added version control field in project settings
Janglee123 Aug 24, 2020
a720dae
Added error popup window
Janglee123 Aug 26, 2020
a302909
Fixed opened scene not reloading after changes on disk
Janglee123 Aug 27, 2020
e3fc4e2
Updated doc
Janglee123 Jun 13, 2021
e4ff13b
Refactor error state logs in EditorVCSInterface
twaritwaikar Jul 17, 2021
8a49f12
Hide API methods from gdscript
Janglee123 Jul 17, 2021
0511afa
Updated bindings
Janglee123 Jul 20, 2021
5ab7838
Merge branch '3.x' into update-vcs
twaritwaikar Oct 2, 2021
50fd45a
Make EditorVCSInterface store less amount of internal state
twaritwaikar Oct 3, 2021
645c040
Add force push checkbox + more frequent VCS updates
twaritwaikar Oct 6, 2021
0db7373
Fix script contents not being updated on merge conflict
twaritwaikar Oct 7, 2021
040674f
Add branch creation VCS interface calls
twaritwaikar Oct 7, 2021
e82ef29
Add VCS remote creation and remote selection menus
twaritwaikar Oct 8, 2021
60d260a
Show more commit information + Fix truncated commit offets
twaritwaikar Oct 9, 2021
0bc0235
Make VCS less noisy + Fix diff view refreshes
twaritwaikar Oct 9, 2021
2bd0330
Add support for SSH credentials for VCS remote auth
twaritwaikar Oct 10, 2021
d401385
Store VCS settings in Project and Editor Settings
twaritwaikar Oct 13, 2021
76b9d67
Do not strip VCS passwords with spaces when checking emptiness
twaritwaikar Oct 13, 2021
a51fdfa
Add commit list size button to control commit history depth
twaritwaikar Oct 14, 2021
efcd2cc
Add documentation for the new EditorVCSInterface
twaritwaikar Oct 14, 2021
a6d2b0e
Add options for deleting remotes and branches
twaritwaikar Oct 15, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions core/project_settings.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1031,6 +1031,9 @@ ProjectSettings::ProjectSettings() {
GLOBAL_DEF("editor/script_templates_search_path", "res://script_templates");
custom_prop_info["editor/script_templates_search_path"] = PropertyInfo(Variant::STRING, "editor/script_templates_search_path", PROPERTY_HINT_DIR);

GLOBAL_DEF("editor/version_control/autoload_on_startup", false);
GLOBAL_DEF("editor/version_control/plugin_name", "");

action = Dictionary();
action["deadzone"] = Variant(0.5f);
events = Array();
Expand Down
243 changes: 202 additions & 41 deletions doc/classes/EditorVCSInterface.xml

Large diffs are not rendered by default.

6 changes: 6 additions & 0 deletions doc/classes/ProjectSettings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -512,6 +512,12 @@
<member name="editor/search_in_file_extensions" type="PoolStringArray" setter="" getter="" default="PoolStringArray( &quot;gd&quot;, &quot;gdshader&quot;, &quot;shader&quot; )">
Text-based file extensions to include in the script editor's "Find in Files" feature. You can add e.g. [code]tscn[/code] if you wish to also parse your scene files, especially if you use built-in scripts which are serialized in the scene files.
</member>
<member name="editor/version_control/autoload_on_startup" type="bool" setter="" getter="" default="false">
Load the previously opened VCS plugin when the editor starts up. This is set to [code]true[/code] whenever a new VCS plugin is initialized.
</member>
<member name="editor/version_control/plugin_name" type="String" setter="" getter="" default="&quot;&quot;">
Last loaded VCS plugin name. Used to autoload the plugin when the editor starts up.
</member>
<member name="gui/common/default_scroll_deadzone" type="int" setter="" getter="" default="0">
Default value for [member ScrollContainer.scroll_deadzone], which will be used for all [ScrollContainer]s unless overridden.
</member>
Expand Down
6 changes: 6 additions & 0 deletions doc/classes/ScriptEditor.xml
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,12 @@
Opens the script create dialog. The script will extend [code]base_name[/code]. The file extension can be omitted from [code]base_path[/code]. It will be added based on the selected scripting language.
</description>
</method>
<method name="reload_scripts">
<return type="void" />
<description>
Reload all currently opened scripts from disk in case the file contents are newer.
</description>
</method>
</methods>
<signals>
<signal name="editor_script_changed">
Expand Down
5 changes: 5 additions & 0 deletions editor/editor_node.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -5926,6 +5926,11 @@ EditorNode::EditorNode() {
EDITOR_DEF("interface/inspector/default_color_picker_mode", 0);
EditorSettings::get_singleton()->add_property_hint(PropertyInfo(Variant::INT, "interface/inspector/default_color_picker_mode", PROPERTY_HINT_ENUM, "RGB,HSV,RAW", PROPERTY_USAGE_DEFAULT));
EDITOR_DEF("run/auto_save/save_before_running", true);
EDITOR_DEF("version_control/username", "");
EDITOR_DEF("version_control/ssh_public_key_path", "");
EditorSettings::get_singleton()->add_property_hint(PropertyInfo(Variant::STRING, "version_control/ssh_public_key_path", PROPERTY_HINT_GLOBAL_FILE));
EDITOR_DEF("version_control/ssh_private_key_path", "");
EditorSettings::get_singleton()->add_property_hint(PropertyInfo(Variant::STRING, "version_control/ssh_private_key_path", PROPERTY_HINT_GLOBAL_FILE));

theme_base = memnew(Control);
add_child(theme_base);
Expand Down
7 changes: 7 additions & 0 deletions editor/editor_settings.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -412,6 +412,13 @@ void EditorSettings::_load_defaults(Ref<ConfigFile> p_extra_config) {
_initial_set("docks/property_editor/subresource_hue_tint", 0.75);
hints["docks/property_editor/subresource_hue_tint"] = PropertyInfo(Variant::REAL, "docks/property_editor/subresource_hue_tint", PROPERTY_HINT_RANGE, "0,1,0.01", PROPERTY_USAGE_DEFAULT);

// Version Control
_initial_set("docks/version_control/username", "");
_initial_set("docks/version_control/ssh_public_key_path", "");
hints["docks/version_control/ssh_public_key_path"] = PropertyInfo(Variant::STRING, "docks/version_control/ssh_public_key_path", PROPERTY_HINT_GLOBAL_FILE);
_initial_set("docks/version_control/ssh_private_key_path", "");
hints["docks/version_control/ssh_private_key_path"] = PropertyInfo(Variant::STRING, "docks/version_control/ssh_private_key_path", PROPERTY_HINT_GLOBAL_FILE);

/* Text editor */

// Theme
Expand Down
Loading