mirror of
https://github.com/pcottle/learnGitBranching.git
synced 2025-06-28 00:40:07 +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);
|
||||
};
|
||||
|
||||
var validateOriginBranchName = function(engine, name) {
|
||||
return engine.origin.validateBranchName(name);
|
||||
};
|
||||
|
||||
var validateBranchNameIfNeeded = function(engine, name) {
|
||||
if (engine.refs[name]) {
|
||||
return name;
|
||||
|
@ -279,10 +283,39 @@ var commandConfig = {
|
|||
}
|
||||
|
||||
command.validateArgBounds(generalArgs, 0, 2);
|
||||
// allow formats of: git Faketeamwork 2 or git Faketeamwork side 3
|
||||
var branch = (engine.origin.refs[generalArgs[0]]) ?
|
||||
generalArgs[0] : 'master';
|
||||
var numToMake = parseInt(generalArgs[0], 10) || generalArgs[1] || 1;
|
||||
var branch;
|
||||
var numToMake;
|
||||
|
||||
// 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
|
||||
var destBranch = engine.origin.resolveID(branch);
|
||||
|
@ -291,7 +324,7 @@ var commandConfig = {
|
|||
msg: intl.str('git-error-options')
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
engine.fakeTeamwork(numToMake, branch);
|
||||
}
|
||||
},
|
||||
|
@ -583,7 +616,7 @@ var commandConfig = {
|
|||
if (commandOptions['-i']) {
|
||||
var args = commandOptions['-i'].concat(generalArgs);
|
||||
command.twoArgsImpliedHead(args, ' -i');
|
||||
|
||||
|
||||
if (commandOptions['--interactive-test']) {
|
||||
engine.rebaseInteractiveTest(
|
||||
args[0],
|
||||
|
@ -766,7 +799,7 @@ var commandConfig = {
|
|||
engine.describe(generalArgs[0]);
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
tag: {
|
||||
regex: /^git +tag($|\s)/,
|
||||
execute: function(engine, command) {
|
||||
|
@ -776,7 +809,7 @@ var commandConfig = {
|
|||
engine.printTags(tags);
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
command.twoArgsImpliedHead(generalArgs);
|
||||
engine.tag(generalArgs[0], generalArgs[1]);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue