mirror of
https://github.com/pcottle/learnGitBranching.git
synced 2025-07-03 19:24:29 +02:00
Add git switch -C
This commit is contained in:
parent
2edc86e9a0
commit
86bf7c7a71
2 changed files with 33 additions and 2 deletions
|
@ -89,6 +89,22 @@ describe('Git', function() {
|
||||||
'{"branches":{"main":{"target":"C1","id":"main"},"side":{"target":"C1","id":"side"}},"commits":{"C0":{"parents":[],"id":"C0","rootCommit":true},"C1":{"parents":["C0"],"id":"C1"}},"HEAD":{"target":"side","id":"HEAD"}}'
|
'{"branches":{"main":{"target":"C1","id":"main"},"side":{"target":"C1","id":"side"}},"commits":{"C0":{"parents":[],"id":"C0","rootCommit":true},"C1":{"parents":["C0"],"id":"C1"}},"HEAD":{"target":"side","id":"HEAD"}}'
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it('to a branch with -C option', function() {
|
||||||
|
return expectTreeAsync(
|
||||||
|
'git switch -C side',
|
||||||
|
'{"branches":{"main":{"target":"C1","id":"main"},"side":{"target":"C1","id":"side"}},"commits":{"C0":{"parents":[],"id":"C0","rootCommit":true},"C1":{"parents":["C0"],"id":"C1"}},"HEAD":{"target":"side","id":"HEAD"}}',
|
||||||
|
'{"branches":{"main":{"target":"C1","id":"main"},"side":{"target":"C0","id":"side"}},"commits":{"C0":{"parents":[],"id":"C0","rootCommit":true},"C1":{"parents":["C0"],"id":"C1"}},"HEAD":{"target":"main","id":"HEAD"}}'
|
||||||
|
);
|
||||||
|
});
|
||||||
|
|
||||||
|
it('to a branch with -C option and given base branch', function() {
|
||||||
|
return expectTreeAsync(
|
||||||
|
'git switch -C side main',
|
||||||
|
'{"branches":{"main":{"target":"C1","id":"main"},"side":{"target":"C1","id":"side"}},"commits":{"C0":{"parents":[],"id":"C0","rootCommit":true},"C1":{"parents":["C0"],"id":"C1"}},"HEAD":{"target":"side","id":"HEAD"}}',
|
||||||
|
'{"branches":{"main":{"target":"C1","id":"main"},"side":{"target":"C0","id":"side"}},"commits":{"C0":{"parents":[],"id":"C0","rootCommit":true},"C1":{"parents":["C0"],"id":"C1"}},"HEAD":{"target":"C0","id":"HEAD"}}'
|
||||||
|
);
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
it('Rebases', function() {
|
it('Rebases', function() {
|
||||||
|
|
|
@ -924,6 +924,7 @@ var commandConfig = {
|
||||||
options: [
|
options: [
|
||||||
'-c',
|
'-c',
|
||||||
'--create',
|
'--create',
|
||||||
|
'-C',
|
||||||
'-'
|
'-'
|
||||||
],
|
],
|
||||||
execute: function(engine, command) {
|
execute: function(engine, command) {
|
||||||
|
@ -935,16 +936,30 @@ var commandConfig = {
|
||||||
if (createOption) {
|
if (createOption) {
|
||||||
// the user is really trying to just make a
|
// the user is really trying to just make a
|
||||||
// branch and then switch to it. so first:
|
// branch and then switch to it. so first:
|
||||||
var args = createOption.concat(generalArgs)
|
let args = createOption.concat(generalArgs)
|
||||||
command.twoArgsImpliedHead(args, '-c');
|
command.twoArgsImpliedHead(args, '-c');
|
||||||
|
|
||||||
var validId = engine.validateBranchName(args[0]);
|
let validId = engine.validateBranchName(args[0]);
|
||||||
engine.branch(validId, args[1]);
|
engine.branch(validId, args[1]);
|
||||||
engine.checkout(validId);
|
engine.checkout(validId);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
let fc = '-C';
|
||||||
|
let fcOption = commandOptions[fc];
|
||||||
|
if (fcOption) {
|
||||||
|
let args = fcOption.concat(generalArgs);
|
||||||
|
command.twoArgsImpliedHead(args, fc);
|
||||||
|
|
||||||
|
let validId = engine.validateBranchName(args[0]);
|
||||||
|
engine.forceBranch(validId, args[1]);
|
||||||
|
engine.checkout(validId);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (commandOptions['-']) {
|
if (commandOptions['-']) {
|
||||||
// get the heads last location
|
// get the heads last location
|
||||||
var lastPlace = engine.HEAD.get('lastLastTarget');
|
var lastPlace = engine.HEAD.get('lastLastTarget');
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue