WebIDE扩展-与外部git集成

2020-08-18 12:31发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


你好

我想为WebIDE创建一个Git插件。 插件(扩展名)应将项目与外部git连接起来。

在我们的例子中,我们使用gitlab。 可通过HTTP请求访问Gitlab API,并创建一个空的git存储库。 我们已经能够将其实现为插件。

但是之后,我们必须初始化现有项目的本地git存储库。 然后,应将此本地git存储库的远程源设置为创建的gitlab存储库。

对于这个插件(扩展名),我想使用WebIDE的两个现有功能。

1。 本地git存储库的初始化(见图1):

2。 将项目设置为远程(见图2):

这将打开一个对话框,您必须在其中输入Git存储库的URL(见图3)。

我想在后台在插件内部自动执行两个步骤,而无需打开对话框。

据我所知,这两个控件都在使用:

1。 Sap.watt.ideplatform.gitclient/command/InitRepository

2。 Sap.watt.ideplatform.gitclient/command/SetRemote

有人知道,是否有一种方法可以在没有对话框的情况下调用InitRepository和SetRemote这两个方法?

如果是,请给我发一个代码示例吗?

如果这不起作用,我想调用打开对话框的方法。 这可能吗?

或者可以执行git命令

-git add -A

-git remote add origin <存储库的URL>

通过Javascript

最好的问候

Kevin Kussyk

git-step-1.jpg (35.3 kB)

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


你好

我想为WebIDE创建一个Git插件。 插件(扩展名)应将项目与外部git连接起来。

在我们的例子中,我们使用gitlab。 可通过HTTP请求访问Gitlab API,并创建一个空的git存储库。 我们已经能够将其实现为插件。

但是之后,我们必须初始化现有项目的本地git存储库。 然后,应将此本地git存储库的远程源设置为创建的gitlab存储库。

对于这个插件(扩展名),我想使用WebIDE的两个现有功能。

1。 本地git存储库的初始化(见图1):

2。 将项目设置为远程(见图2):

这将打开一个对话框,您必须在其中输入Git存储库的URL(见图3)。

我想在后台在插件内部自动执行两个步骤,而无需打开对话框。

据我所知,这两个控件都在使用:

1。 Sap.watt.ideplatform.gitclient/command/InitRepository

2。 Sap.watt.ideplatform.gitclient/command/SetRemote

有人知道,是否有一种方法可以在没有对话框的情况下调用InitRepository和SetRemote这两个方法?

如果是,请给我发一个代码示例吗?

如果这不起作用,我想调用打开对话框的方法。 这可能吗?

或者可以执行git命令

-git add -A

-git remote add origin <存储库的URL>

通过Javascript

最好的问候

Kevin Kussyk

git-step-1.jpg (35.3 kB)
付费偷看设置
发送
2条回答
Baoming ROSE
1楼 · 2020-08-18 12:47.采纳回答

嗨,凯文,

恐怕git API不是公开API,您不应该使用它们。 但是由于sap.watt.ideplatform.gitclient/command/InitRepository和sap.watt.ideplatform.gitclient/command/SetRemote是命令,因此可以使用以下解决方法:

 execute:function(){
    var that = this;
    返回this.context.service.command.getCommand(" gitclient.initrepository")。然后(函数(oInitRepoCommand){
 返回oInitRepoCommand.getService()。execute()。then(function(){
 返回that.context.service.command.getCommand(" gitclient.setRemote")。then(function(oSetRemoteCommand){
 返回oSetRemoteCommand.getService()。execute()。then(function(){
//做一点事
 });
 });
 });
    });
 }
 

致谢,

Rima

haha101010
2楼-- · 2020-08-18 12:55

感谢代码段!

对我有很大帮助。 现在该插件可以使用了。

最好的问候

凯文

一周热门 更多>