mirror of
https://github.com/node-red/node-red.git
synced 2023-10-10 13:36:53 +02:00
Handle a local branch that does not yet track a remote
This commit is contained in:
parent
94eeaeb8d3
commit
a7e14f1093
@ -883,16 +883,32 @@ RED.projects = (function() {
|
||||
} else {
|
||||
branchPrefix = "";
|
||||
}
|
||||
$.getJSON(url,function(result) {
|
||||
branches = result.branches;
|
||||
result.branches.forEach(function(b) {
|
||||
branchList.editableList('addItem',b);
|
||||
});
|
||||
branchList.editableList('addItem',{});
|
||||
setTimeout(function() {
|
||||
spinner.remove();
|
||||
},Math.max(300-(Date.now() - start),0));
|
||||
});
|
||||
|
||||
|
||||
sendRequest({
|
||||
url: url,
|
||||
type: "GET",
|
||||
responses: {
|
||||
0: function(error) {
|
||||
console.log(error);
|
||||
},
|
||||
200: function(result) {
|
||||
branches = result.branches;
|
||||
result.branches.forEach(function(b) {
|
||||
branchList.editableList('addItem',b);
|
||||
});
|
||||
branchList.editableList('addItem',{});
|
||||
setTimeout(function() {
|
||||
spinner.remove();
|
||||
},Math.max(300-(Date.now() - start),0));
|
||||
},
|
||||
400: {
|
||||
'unexpected_error': function(error) {
|
||||
console.log(error);
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
||||
},
|
||||
addItem: function(data) { branchList.editableList('addItem',data) },
|
||||
filter: function() { branchList.editableList('filter') },
|
||||
|
@ -345,14 +345,16 @@ Project.prototype.status = function() {
|
||||
var fetchPromise;
|
||||
if (this.remotes) {
|
||||
fetchPromise = gitTools.getRemoteBranch(self.path).then(function(remoteBranch) {
|
||||
var allRemotes = Object.keys(self.remotes);
|
||||
var match = "";
|
||||
allRemotes.forEach(function(remote) {
|
||||
if (remoteBranch.indexOf(remote) === 0 && match.length < remote.length) {
|
||||
match = remote;
|
||||
}
|
||||
})
|
||||
return self.fetch(match);
|
||||
if (remoteBranch) {
|
||||
var allRemotes = Object.keys(self.remotes);
|
||||
var match = "";
|
||||
allRemotes.forEach(function(remote) {
|
||||
if (remoteBranch.indexOf(remote) === 0 && match.length < remote.length) {
|
||||
match = remote;
|
||||
}
|
||||
})
|
||||
return self.fetch(match);
|
||||
}
|
||||
});
|
||||
} else {
|
||||
fetchPromise = when.resolve();
|
||||
@ -390,7 +392,7 @@ Project.prototype.status = function() {
|
||||
|
||||
Project.prototype.push = function (remoteBranchName,setRemote) {
|
||||
var remote = this.parseRemoteBranch(remoteBranchName);
|
||||
return gitTools.push(this.path, remote.remote || this.currentRemote,remote.branch, setRemote, authCache.get(this.name,this.remotes[this.currentRemote].fetch));
|
||||
return gitTools.push(this.path, remote.remote || this.currentRemote,remote.branch, setRemote, authCache.get(this.name,this.remotes[remote.remote || this.currentRemote].fetch));
|
||||
};
|
||||
|
||||
Project.prototype.pull = function (remoteBranchName,setRemote) {
|
||||
|
@ -489,7 +489,12 @@ module.exports = {
|
||||
},
|
||||
getRemotes: getRemotes,
|
||||
getRemoteBranch: function(cwd) {
|
||||
return runGitCommand(['rev-parse','--abbrev-ref','--symbolic-full-name','@{u}'],cwd)
|
||||
return runGitCommand(['rev-parse','--abbrev-ref','--symbolic-full-name','@{u}'],cwd).catch(function(err) {
|
||||
if (/no upstream configured for branch/.test(err.message)) {
|
||||
return null;
|
||||
}
|
||||
throw err;
|
||||
})
|
||||
},
|
||||
getBranches: getBranches,
|
||||
getBranchInfo: getBranchInfo,
|
||||
|
Loading…
Reference in New Issue
Block a user