class_editorvcsinterface.rst 39 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573
  1. :github_url: hide
  2. .. DO NOT EDIT THIS FILE!!!
  3. .. Generated automatically from Godot engine sources.
  4. .. Generator: https://github.com/godotengine/godot/tree/3.6/doc/tools/make_rst.py.
  5. .. XML source: https://github.com/godotengine/godot/tree/3.6/doc/classes/EditorVCSInterface.xml.
  6. .. _class_EditorVCSInterface:
  7. EditorVCSInterface
  8. ==================
  9. **Inherits:** :ref:`Object<class_Object>`
  10. Version Control System (VCS) interface, which reads and writes to the local VCS in use.
  11. .. rst-class:: classref-introduction-group
  12. Description
  13. -----------
  14. Defines the API that the editor uses to extract information from the underlying VCS. The implementation of this API is included in VCS plugins, which are scripts that inherit **EditorVCSInterface** and are attached (on demand) to the singleton instance of **EditorVCSInterface**. Instead of performing the task themselves, all the virtual functions listed below are calling the internally overridden functions in the VCS plugins to provide a plug-n-play experience. A custom VCS plugin is supposed to inherit from **EditorVCSInterface** and override these virtual functions.
  15. .. rst-class:: classref-reftable-group
  16. Methods
  17. -------
  18. .. table::
  19. :widths: auto
  20. +-------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  21. | :ref:`bool<class_bool>` | :ref:`_checkout_branch<class_EditorVCSInterface_method__checkout_branch>` **(** :ref:`String<class_String>` branch_name **)** |virtual| |
  22. +-------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  23. | void | :ref:`_commit<class_EditorVCSInterface_method__commit>` **(** :ref:`String<class_String>` msg **)** |virtual| |
  24. +-------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  25. | void | :ref:`_create_branch<class_EditorVCSInterface_method__create_branch>` **(** :ref:`String<class_String>` branch_name **)** |virtual| |
  26. +-------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  27. | void | :ref:`_create_remote<class_EditorVCSInterface_method__create_remote>` **(** :ref:`String<class_String>` remote_name, :ref:`String<class_String>` remote_url **)** |virtual| |
  28. +-------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  29. | void | :ref:`_discard_file<class_EditorVCSInterface_method__discard_file>` **(** :ref:`String<class_String>` file_path **)** |virtual| |
  30. +-------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  31. | void | :ref:`_fetch<class_EditorVCSInterface_method__fetch>` **(** :ref:`String<class_String>` remote **)** |virtual| |
  32. +-------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  33. | :ref:`Array<class_Array>` | :ref:`_get_branch_list<class_EditorVCSInterface_method__get_branch_list>` **(** **)** |virtual| |
  34. +-------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  35. | :ref:`String<class_String>` | :ref:`_get_current_branch_name<class_EditorVCSInterface_method__get_current_branch_name>` **(** **)** |virtual| |
  36. +-------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  37. | :ref:`Array<class_Array>` | :ref:`_get_diff<class_EditorVCSInterface_method__get_diff>` **(** :ref:`String<class_String>` identifier, :ref:`int<class_int>` area **)** |virtual| |
  38. +-------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  39. | :ref:`Array<class_Array>` | :ref:`_get_line_diff<class_EditorVCSInterface_method__get_line_diff>` **(** :ref:`String<class_String>` file_path, :ref:`String<class_String>` text **)** |virtual| |
  40. +-------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  41. | :ref:`Array<class_Array>` | :ref:`_get_modified_files_data<class_EditorVCSInterface_method__get_modified_files_data>` **(** **)** |virtual| |
  42. +-------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  43. | :ref:`Array<class_Array>` | :ref:`_get_previous_commits<class_EditorVCSInterface_method__get_previous_commits>` **(** :ref:`int<class_int>` max_commits **)** |virtual| |
  44. +-------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  45. | :ref:`Array<class_Array>` | :ref:`_get_remotes<class_EditorVCSInterface_method__get_remotes>` **(** **)** |virtual| |
  46. +-------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  47. | :ref:`String<class_String>` | :ref:`_get_vcs_name<class_EditorVCSInterface_method__get_vcs_name>` **(** **)** |virtual| |
  48. +-------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  49. | :ref:`bool<class_bool>` | :ref:`_initialize<class_EditorVCSInterface_method__initialize>` **(** :ref:`String<class_String>` project_path **)** |virtual| |
  50. +-------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  51. | void | :ref:`_pull<class_EditorVCSInterface_method__pull>` **(** :ref:`String<class_String>` remote **)** |virtual| |
  52. +-------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  53. | void | :ref:`_push<class_EditorVCSInterface_method__push>` **(** :ref:`String<class_String>` remote, :ref:`bool<class_bool>` force **)** |virtual| |
  54. +-------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  55. | void | :ref:`_remove_branch<class_EditorVCSInterface_method__remove_branch>` **(** :ref:`String<class_String>` branch_name **)** |virtual| |
  56. +-------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  57. | void | :ref:`_remove_remote<class_EditorVCSInterface_method__remove_remote>` **(** :ref:`String<class_String>` remote_name **)** |virtual| |
  58. +-------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  59. | void | :ref:`_set_credentials<class_EditorVCSInterface_method__set_credentials>` **(** :ref:`String<class_String>` username, :ref:`String<class_String>` password, :ref:`String<class_String>` ssh_public_key_path, :ref:`String<class_String>` ssh_private_key_path, :ref:`String<class_String>` ssh_passphrase **)** |virtual| |
  60. +-------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  61. | :ref:`bool<class_bool>` | :ref:`_shut_down<class_EditorVCSInterface_method__shut_down>` **(** **)** |virtual| |
  62. +-------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  63. | void | :ref:`_stage_file<class_EditorVCSInterface_method__stage_file>` **(** :ref:`String<class_String>` file_path **)** |virtual| |
  64. +-------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  65. | void | :ref:`_unstage_file<class_EditorVCSInterface_method__unstage_file>` **(** :ref:`String<class_String>` file_path **)** |virtual| |
  66. +-------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  67. | :ref:`Dictionary<class_Dictionary>` | :ref:`add_diff_hunks_into_diff_file<class_EditorVCSInterface_method_add_diff_hunks_into_diff_file>` **(** :ref:`Dictionary<class_Dictionary>` diff_file, :ref:`Array<class_Array>` diff_hunks **)** |
  68. +-------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  69. | :ref:`Dictionary<class_Dictionary>` | :ref:`add_line_diffs_into_diff_hunk<class_EditorVCSInterface_method_add_line_diffs_into_diff_hunk>` **(** :ref:`Dictionary<class_Dictionary>` diff_hunk, :ref:`Array<class_Array>` line_diffs **)** |
  70. +-------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  71. | :ref:`Dictionary<class_Dictionary>` | :ref:`create_commit<class_EditorVCSInterface_method_create_commit>` **(** :ref:`String<class_String>` msg, :ref:`String<class_String>` author, :ref:`String<class_String>` id, :ref:`int<class_int>` unix_timestamp, :ref:`int<class_int>` offset_minutes **)** |
  72. +-------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  73. | :ref:`Dictionary<class_Dictionary>` | :ref:`create_diff_file<class_EditorVCSInterface_method_create_diff_file>` **(** :ref:`String<class_String>` new_file, :ref:`String<class_String>` old_file **)** |
  74. +-------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  75. | :ref:`Dictionary<class_Dictionary>` | :ref:`create_diff_hunk<class_EditorVCSInterface_method_create_diff_hunk>` **(** :ref:`int<class_int>` old_start, :ref:`int<class_int>` new_start, :ref:`int<class_int>` old_lines, :ref:`int<class_int>` new_lines **)** |
  76. +-------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  77. | :ref:`Dictionary<class_Dictionary>` | :ref:`create_diff_line<class_EditorVCSInterface_method_create_diff_line>` **(** :ref:`int<class_int>` new_line_no, :ref:`int<class_int>` old_line_no, :ref:`String<class_String>` content, :ref:`String<class_String>` status **)** |
  78. +-------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  79. | :ref:`Dictionary<class_Dictionary>` | :ref:`create_status_file<class_EditorVCSInterface_method_create_status_file>` **(** :ref:`String<class_String>` file_path, :ref:`ChangeType<enum_EditorVCSInterface_ChangeType>` change_type, :ref:`TreeArea<enum_EditorVCSInterface_TreeArea>` area **)** |
  80. +-------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  81. | void | :ref:`popup_error<class_EditorVCSInterface_method_popup_error>` **(** :ref:`String<class_String>` msg **)** |
  82. +-------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  83. .. rst-class:: classref-section-separator
  84. ----
  85. .. rst-class:: classref-descriptions-group
  86. Enumerations
  87. ------------
  88. .. _enum_EditorVCSInterface_ChangeType:
  89. .. rst-class:: classref-enumeration
  90. enum **ChangeType**:
  91. .. _class_EditorVCSInterface_constant_CHANGE_TYPE_NEW:
  92. .. rst-class:: classref-enumeration-constant
  93. :ref:`ChangeType<enum_EditorVCSInterface_ChangeType>` **CHANGE_TYPE_NEW** = ``0``
  94. A new file has been added.
  95. .. _class_EditorVCSInterface_constant_CHANGE_TYPE_MODIFIED:
  96. .. rst-class:: classref-enumeration-constant
  97. :ref:`ChangeType<enum_EditorVCSInterface_ChangeType>` **CHANGE_TYPE_MODIFIED** = ``1``
  98. An earlier added file has been modified.
  99. .. _class_EditorVCSInterface_constant_CHANGE_TYPE_RENAMED:
  100. .. rst-class:: classref-enumeration-constant
  101. :ref:`ChangeType<enum_EditorVCSInterface_ChangeType>` **CHANGE_TYPE_RENAMED** = ``2``
  102. An earlier added file has been renamed.
  103. .. _class_EditorVCSInterface_constant_CHANGE_TYPE_DELETED:
  104. .. rst-class:: classref-enumeration-constant
  105. :ref:`ChangeType<enum_EditorVCSInterface_ChangeType>` **CHANGE_TYPE_DELETED** = ``3``
  106. An earlier added file has been deleted.
  107. .. _class_EditorVCSInterface_constant_CHANGE_TYPE_TYPECHANGE:
  108. .. rst-class:: classref-enumeration-constant
  109. :ref:`ChangeType<enum_EditorVCSInterface_ChangeType>` **CHANGE_TYPE_TYPECHANGE** = ``4``
  110. An earlier added file has been typechanged.
  111. .. _class_EditorVCSInterface_constant_CHANGE_TYPE_UNMERGED:
  112. .. rst-class:: classref-enumeration-constant
  113. :ref:`ChangeType<enum_EditorVCSInterface_ChangeType>` **CHANGE_TYPE_UNMERGED** = ``5``
  114. A file is left unmerged.
  115. .. rst-class:: classref-item-separator
  116. ----
  117. .. _enum_EditorVCSInterface_TreeArea:
  118. .. rst-class:: classref-enumeration
  119. enum **TreeArea**:
  120. .. _class_EditorVCSInterface_constant_TREE_AREA_COMMIT:
  121. .. rst-class:: classref-enumeration-constant
  122. :ref:`TreeArea<enum_EditorVCSInterface_TreeArea>` **TREE_AREA_COMMIT** = ``0``
  123. A commit is encountered from the commit area.
  124. .. _class_EditorVCSInterface_constant_TREE_AREA_STAGED:
  125. .. rst-class:: classref-enumeration-constant
  126. :ref:`TreeArea<enum_EditorVCSInterface_TreeArea>` **TREE_AREA_STAGED** = ``1``
  127. A file is encountered from the staged area.
  128. .. _class_EditorVCSInterface_constant_TREE_AREA_UNSTAGED:
  129. .. rst-class:: classref-enumeration-constant
  130. :ref:`TreeArea<enum_EditorVCSInterface_TreeArea>` **TREE_AREA_UNSTAGED** = ``2``
  131. A file is encountered from the unstaged area.
  132. .. rst-class:: classref-section-separator
  133. ----
  134. .. rst-class:: classref-descriptions-group
  135. Method Descriptions
  136. -------------------
  137. .. _class_EditorVCSInterface_method__checkout_branch:
  138. .. rst-class:: classref-method
  139. :ref:`bool<class_bool>` **_checkout_branch** **(** :ref:`String<class_String>` branch_name **)** |virtual|
  140. Checks out a ``branch_name`` in the VCS.
  141. .. rst-class:: classref-item-separator
  142. ----
  143. .. _class_EditorVCSInterface_method__commit:
  144. .. rst-class:: classref-method
  145. void **_commit** **(** :ref:`String<class_String>` msg **)** |virtual|
  146. Commits the currently staged changes and applies the commit ``msg`` to the resulting commit.
  147. .. rst-class:: classref-item-separator
  148. ----
  149. .. _class_EditorVCSInterface_method__create_branch:
  150. .. rst-class:: classref-method
  151. void **_create_branch** **(** :ref:`String<class_String>` branch_name **)** |virtual|
  152. Creates a new branch named ``branch_name`` in the VCS.
  153. .. rst-class:: classref-item-separator
  154. ----
  155. .. _class_EditorVCSInterface_method__create_remote:
  156. .. rst-class:: classref-method
  157. void **_create_remote** **(** :ref:`String<class_String>` remote_name, :ref:`String<class_String>` remote_url **)** |virtual|
  158. Creates a new remote destination with name ``remote_name`` and points it to ``remote_url``. This can be both an HTTPS remote or an SSH remote.
  159. .. rst-class:: classref-item-separator
  160. ----
  161. .. _class_EditorVCSInterface_method__discard_file:
  162. .. rst-class:: classref-method
  163. void **_discard_file** **(** :ref:`String<class_String>` file_path **)** |virtual|
  164. Discards the changes made in file present at ``file_path``.
  165. .. rst-class:: classref-item-separator
  166. ----
  167. .. _class_EditorVCSInterface_method__fetch:
  168. .. rst-class:: classref-method
  169. void **_fetch** **(** :ref:`String<class_String>` remote **)** |virtual|
  170. Fetches new changes from the remote, but doesn't write changes to the current working directory. Equivalent to ``git fetch``.
  171. .. rst-class:: classref-item-separator
  172. ----
  173. .. _class_EditorVCSInterface_method__get_branch_list:
  174. .. rst-class:: classref-method
  175. :ref:`Array<class_Array>` **_get_branch_list** **(** **)** |virtual|
  176. Gets an instance of an :ref:`Array<class_Array>` of :ref:`String<class_String>`\ s containing available branch names in the VCS.
  177. .. rst-class:: classref-item-separator
  178. ----
  179. .. _class_EditorVCSInterface_method__get_current_branch_name:
  180. .. rst-class:: classref-method
  181. :ref:`String<class_String>` **_get_current_branch_name** **(** **)** |virtual|
  182. Gets the current branch name defined in the VCS.
  183. .. rst-class:: classref-item-separator
  184. ----
  185. .. _class_EditorVCSInterface_method__get_diff:
  186. .. rst-class:: classref-method
  187. :ref:`Array<class_Array>` **_get_diff** **(** :ref:`String<class_String>` identifier, :ref:`int<class_int>` area **)** |virtual|
  188. Returns an :ref:`Array<class_Array>` of :ref:`Dictionary<class_Dictionary>` items (see :ref:`create_diff_file<class_EditorVCSInterface_method_create_diff_file>`, :ref:`create_diff_hunk<class_EditorVCSInterface_method_create_diff_hunk>`, :ref:`create_diff_line<class_EditorVCSInterface_method_create_diff_line>`, :ref:`add_line_diffs_into_diff_hunk<class_EditorVCSInterface_method_add_line_diffs_into_diff_hunk>` and :ref:`add_diff_hunks_into_diff_file<class_EditorVCSInterface_method_add_diff_hunks_into_diff_file>`), each containing information about a diff. If ``identifier`` is a file path, returns a file diff, and if it is a commit identifier, then returns a commit diff.
  189. .. rst-class:: classref-item-separator
  190. ----
  191. .. _class_EditorVCSInterface_method__get_line_diff:
  192. .. rst-class:: classref-method
  193. :ref:`Array<class_Array>` **_get_line_diff** **(** :ref:`String<class_String>` file_path, :ref:`String<class_String>` text **)** |virtual|
  194. Returns an :ref:`Array<class_Array>` of :ref:`Dictionary<class_Dictionary>` items (see :ref:`create_diff_hunk<class_EditorVCSInterface_method_create_diff_hunk>`), each containing a line diff between a file at ``file_path`` and the ``text`` which is passed in.
  195. .. rst-class:: classref-item-separator
  196. ----
  197. .. _class_EditorVCSInterface_method__get_modified_files_data:
  198. .. rst-class:: classref-method
  199. :ref:`Array<class_Array>` **_get_modified_files_data** **(** **)** |virtual|
  200. Returns an :ref:`Array<class_Array>` of :ref:`Dictionary<class_Dictionary>` items (see :ref:`create_status_file<class_EditorVCSInterface_method_create_status_file>`), each containing the status data of every modified file in the project folder.
  201. .. rst-class:: classref-item-separator
  202. ----
  203. .. _class_EditorVCSInterface_method__get_previous_commits:
  204. .. rst-class:: classref-method
  205. :ref:`Array<class_Array>` **_get_previous_commits** **(** :ref:`int<class_int>` max_commits **)** |virtual|
  206. Returns an :ref:`Array<class_Array>` of :ref:`Dictionary<class_Dictionary>` items (see :ref:`create_commit<class_EditorVCSInterface_method_create_commit>`), each containing the data for a past commit.
  207. .. rst-class:: classref-item-separator
  208. ----
  209. .. _class_EditorVCSInterface_method__get_remotes:
  210. .. rst-class:: classref-method
  211. :ref:`Array<class_Array>` **_get_remotes** **(** **)** |virtual|
  212. Returns an :ref:`Array<class_Array>` of :ref:`String<class_String>`\ s, each containing the name of a remote configured in the VCS.
  213. .. rst-class:: classref-item-separator
  214. ----
  215. .. _class_EditorVCSInterface_method__get_vcs_name:
  216. .. rst-class:: classref-method
  217. :ref:`String<class_String>` **_get_vcs_name** **(** **)** |virtual|
  218. Returns the name of the underlying VCS provider.
  219. .. rst-class:: classref-item-separator
  220. ----
  221. .. _class_EditorVCSInterface_method__initialize:
  222. .. rst-class:: classref-method
  223. :ref:`bool<class_bool>` **_initialize** **(** :ref:`String<class_String>` project_path **)** |virtual|
  224. Initializes the VCS plugin when called from the editor. Returns whether or not the plugin was successfully initialized. A VCS project is initialized at ``project_path``.
  225. .. rst-class:: classref-item-separator
  226. ----
  227. .. _class_EditorVCSInterface_method__pull:
  228. .. rst-class:: classref-method
  229. void **_pull** **(** :ref:`String<class_String>` remote **)** |virtual|
  230. Pulls changes from the remote. This can give rise to merge conflicts.
  231. .. rst-class:: classref-item-separator
  232. ----
  233. .. _class_EditorVCSInterface_method__push:
  234. .. rst-class:: classref-method
  235. void **_push** **(** :ref:`String<class_String>` remote, :ref:`bool<class_bool>` force **)** |virtual|
  236. Pushes changes to the ``remote``. Optionally, if ``force`` is set to true, a force push will override the change history already present on the remote.
  237. .. rst-class:: classref-item-separator
  238. ----
  239. .. _class_EditorVCSInterface_method__remove_branch:
  240. .. rst-class:: classref-method
  241. void **_remove_branch** **(** :ref:`String<class_String>` branch_name **)** |virtual|
  242. Remove a branch from the local VCS.
  243. .. rst-class:: classref-item-separator
  244. ----
  245. .. _class_EditorVCSInterface_method__remove_remote:
  246. .. rst-class:: classref-method
  247. void **_remove_remote** **(** :ref:`String<class_String>` remote_name **)** |virtual|
  248. Remove a remote from the local VCS.
  249. .. rst-class:: classref-item-separator
  250. ----
  251. .. _class_EditorVCSInterface_method__set_credentials:
  252. .. rst-class:: classref-method
  253. void **_set_credentials** **(** :ref:`String<class_String>` username, :ref:`String<class_String>` password, :ref:`String<class_String>` ssh_public_key_path, :ref:`String<class_String>` ssh_private_key_path, :ref:`String<class_String>` ssh_passphrase **)** |virtual|
  254. Set user credentials in the underlying VCS. ``username`` and ``password`` are used only during HTTPS authentication unless not already mentioned in the remote URL. ``ssh_public_key_path``, ``ssh_private_key_path``, and ``ssh_passphrase`` are only used during SSH authentication.
  255. .. rst-class:: classref-item-separator
  256. ----
  257. .. _class_EditorVCSInterface_method__shut_down:
  258. .. rst-class:: classref-method
  259. :ref:`bool<class_bool>` **_shut_down** **(** **)** |virtual|
  260. Shuts down VCS plugin instance. Called when the user either closes the editor or shuts down the VCS plugin through the editor UI.
  261. .. rst-class:: classref-item-separator
  262. ----
  263. .. _class_EditorVCSInterface_method__stage_file:
  264. .. rst-class:: classref-method
  265. void **_stage_file** **(** :ref:`String<class_String>` file_path **)** |virtual|
  266. Stages the file present at ``file_path`` to the staged area.
  267. .. rst-class:: classref-item-separator
  268. ----
  269. .. _class_EditorVCSInterface_method__unstage_file:
  270. .. rst-class:: classref-method
  271. void **_unstage_file** **(** :ref:`String<class_String>` file_path **)** |virtual|
  272. Unstages the file present at ``file_path`` from the staged area to the unstaged area.
  273. .. rst-class:: classref-item-separator
  274. ----
  275. .. _class_EditorVCSInterface_method_add_diff_hunks_into_diff_file:
  276. .. rst-class:: classref-method
  277. :ref:`Dictionary<class_Dictionary>` **add_diff_hunks_into_diff_file** **(** :ref:`Dictionary<class_Dictionary>` diff_file, :ref:`Array<class_Array>` diff_hunks **)**
  278. Helper function to add an array of ``diff_hunks`` into a ``diff_file``.
  279. .. rst-class:: classref-item-separator
  280. ----
  281. .. _class_EditorVCSInterface_method_add_line_diffs_into_diff_hunk:
  282. .. rst-class:: classref-method
  283. :ref:`Dictionary<class_Dictionary>` **add_line_diffs_into_diff_hunk** **(** :ref:`Dictionary<class_Dictionary>` diff_hunk, :ref:`Array<class_Array>` line_diffs **)**
  284. Helper function to add an array of ``line_diffs`` into a ``diff_hunk``.
  285. .. rst-class:: classref-item-separator
  286. ----
  287. .. _class_EditorVCSInterface_method_create_commit:
  288. .. rst-class:: classref-method
  289. :ref:`Dictionary<class_Dictionary>` **create_commit** **(** :ref:`String<class_String>` msg, :ref:`String<class_String>` author, :ref:`String<class_String>` id, :ref:`int<class_int>` unix_timestamp, :ref:`int<class_int>` offset_minutes **)**
  290. Helper function to create a commit :ref:`Dictionary<class_Dictionary>` item. ``msg`` is the commit message of the commit. ``author`` is a single human-readable string containing all the author's details, e.g. the email and name configured in the VCS. ``id`` is the identifier of the commit, in whichever format your VCS may provide an identifier to commits. ``unix_timestamp`` is the UTC Unix timestamp of when the commit was created. ``offset_minutes`` is the timezone offset in minutes, recorded from the system timezone where the commit was created.
  291. .. rst-class:: classref-item-separator
  292. ----
  293. .. _class_EditorVCSInterface_method_create_diff_file:
  294. .. rst-class:: classref-method
  295. :ref:`Dictionary<class_Dictionary>` **create_diff_file** **(** :ref:`String<class_String>` new_file, :ref:`String<class_String>` old_file **)**
  296. Helper function to create a ``Dictionary`` for storing old and new diff file paths.
  297. .. rst-class:: classref-item-separator
  298. ----
  299. .. _class_EditorVCSInterface_method_create_diff_hunk:
  300. .. rst-class:: classref-method
  301. :ref:`Dictionary<class_Dictionary>` **create_diff_hunk** **(** :ref:`int<class_int>` old_start, :ref:`int<class_int>` new_start, :ref:`int<class_int>` old_lines, :ref:`int<class_int>` new_lines **)**
  302. Helper function to create a ``Dictionary`` for storing diff hunk data. ``old_start`` is the starting line number in old file. ``new_start`` is the starting line number in new file. ``old_lines`` is the number of lines in the old file. ``new_lines`` is the number of lines in the new file.
  303. .. rst-class:: classref-item-separator
  304. ----
  305. .. _class_EditorVCSInterface_method_create_diff_line:
  306. .. rst-class:: classref-method
  307. :ref:`Dictionary<class_Dictionary>` **create_diff_line** **(** :ref:`int<class_int>` new_line_no, :ref:`int<class_int>` old_line_no, :ref:`String<class_String>` content, :ref:`String<class_String>` status **)**
  308. Helper function to create a ``Dictionary`` for storing a line diff. ``new_line_no`` is the line number in the new file (can be ``-1`` if the line is deleted). ``old_line_no`` is the line number in the old file (can be ``-1`` if the line is added). ``content`` is the diff text. ``status`` is a single character string which stores the line origin.
  309. .. rst-class:: classref-item-separator
  310. ----
  311. .. _class_EditorVCSInterface_method_create_status_file:
  312. .. rst-class:: classref-method
  313. :ref:`Dictionary<class_Dictionary>` **create_status_file** **(** :ref:`String<class_String>` file_path, :ref:`ChangeType<enum_EditorVCSInterface_ChangeType>` change_type, :ref:`TreeArea<enum_EditorVCSInterface_TreeArea>` area **)**
  314. Helper function to create a ``Dictionary`` used by editor to read the status of a file.
  315. .. rst-class:: classref-item-separator
  316. ----
  317. .. _class_EditorVCSInterface_method_popup_error:
  318. .. rst-class:: classref-method
  319. void **popup_error** **(** :ref:`String<class_String>` msg **)**
  320. Pops up an error message in the edior.
  321. .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
  322. .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
  323. .. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`
  324. .. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)`