mirror of
https://github.com/pcottle/learnGitBranching.git
synced 2025-07-09 14:14:27 +02:00
Resolves #381 -- better validation of args for git fakeTeamwork
This commit is contained in:
parent
a90358ac1f
commit
d302887fd1
1 changed files with 41 additions and 8 deletions
|
@ -26,6 +26,10 @@ var validateBranchName = function(engine, name) {
|
||||||
return engine.validateBranchName(name);
|
return engine.validateBranchName(name);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
var validateOriginBranchName = function(engine, name) {
|
||||||
|
return engine.origin.validateBranchName(name);
|
||||||
|
};
|
||||||
|
|
||||||
var validateBranchNameIfNeeded = function(engine, name) {
|
var validateBranchNameIfNeeded = function(engine, name) {
|
||||||
if (engine.refs[name]) {
|
if (engine.refs[name]) {
|
||||||
return name;
|
return name;
|
||||||
|
@ -279,10 +283,39 @@ var commandConfig = {
|
||||||
}
|
}
|
||||||
|
|
||||||
command.validateArgBounds(generalArgs, 0, 2);
|
command.validateArgBounds(generalArgs, 0, 2);
|
||||||
// allow formats of: git Faketeamwork 2 or git Faketeamwork side 3
|
var branch;
|
||||||
var branch = (engine.origin.refs[generalArgs[0]]) ?
|
var numToMake;
|
||||||
generalArgs[0] : 'master';
|
|
||||||
var numToMake = parseInt(generalArgs[0], 10) || generalArgs[1] || 1;
|
// allow formats of: git fakeTeamwork 2 or git fakeTeamwork side 3
|
||||||
|
switch (generalArgs.length) {
|
||||||
|
// git fakeTeamwork
|
||||||
|
case 0:
|
||||||
|
branch = 'master';
|
||||||
|
numToMake = 1;
|
||||||
|
break;
|
||||||
|
|
||||||
|
// git fakeTeamwork 10 or git fakeTeamwork foo
|
||||||
|
case 1:
|
||||||
|
if (isNaN(parseInt(generalArgs[0], 10))) {
|
||||||
|
branch = validateOriginBranchName(engine, generalArgs[0]);
|
||||||
|
numToMake = 1;
|
||||||
|
} else {
|
||||||
|
numToMake = parseInt(generalArgs[0], 10);
|
||||||
|
branch = 'master';
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 2:
|
||||||
|
branch = validateOriginBranchName(engine, generalArgs[0]);
|
||||||
|
if (isNaN(parseInt(generalArgs[1], 10))) {
|
||||||
|
throw new GitError({
|
||||||
|
msg: 'Bad numeric argument: ' + generalArgs[1]
|
||||||
|
});
|
||||||
|
}
|
||||||
|
numToMake = parseInt(generalArgs[1], 10);
|
||||||
|
break;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
// make sure its a branch and exists
|
// make sure its a branch and exists
|
||||||
var destBranch = engine.origin.resolveID(branch);
|
var destBranch = engine.origin.resolveID(branch);
|
||||||
|
@ -291,7 +324,7 @@ var commandConfig = {
|
||||||
msg: intl.str('git-error-options')
|
msg: intl.str('git-error-options')
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
engine.fakeTeamwork(numToMake, branch);
|
engine.fakeTeamwork(numToMake, branch);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -583,7 +616,7 @@ var commandConfig = {
|
||||||
if (commandOptions['-i']) {
|
if (commandOptions['-i']) {
|
||||||
var args = commandOptions['-i'].concat(generalArgs);
|
var args = commandOptions['-i'].concat(generalArgs);
|
||||||
command.twoArgsImpliedHead(args, ' -i');
|
command.twoArgsImpliedHead(args, ' -i');
|
||||||
|
|
||||||
if (commandOptions['--interactive-test']) {
|
if (commandOptions['--interactive-test']) {
|
||||||
engine.rebaseInteractiveTest(
|
engine.rebaseInteractiveTest(
|
||||||
args[0],
|
args[0],
|
||||||
|
@ -766,7 +799,7 @@ var commandConfig = {
|
||||||
engine.describe(generalArgs[0]);
|
engine.describe(generalArgs[0]);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
tag: {
|
tag: {
|
||||||
regex: /^git +tag($|\s)/,
|
regex: /^git +tag($|\s)/,
|
||||||
execute: function(engine, command) {
|
execute: function(engine, command) {
|
||||||
|
@ -776,7 +809,7 @@ var commandConfig = {
|
||||||
engine.printTags(tags);
|
engine.printTags(tags);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
command.twoArgsImpliedHead(generalArgs);
|
command.twoArgsImpliedHead(generalArgs);
|
||||||
engine.tag(generalArgs[0], generalArgs[1]);
|
engine.tag(generalArgs[0], generalArgs[1]);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue