mirror of
https://github.com/pcottle/learnGitBranching.git
synced 2025-06-30 01:34:26 +02:00
Change fetch arguments up a bit, start migrating
This commit is contained in:
parent
e5b4ac5b1c
commit
7225e9b7e6
3 changed files with 15 additions and 6 deletions
|
@ -265,8 +265,20 @@ var commandConfig = {
|
|||
command.twoArgsImpliedOrigin(generalArgs);
|
||||
assertOriginSpecified(generalArgs);
|
||||
|
||||
if (generalArgs[1]) {
|
||||
var tracking = assertBranchIsRemoteTracking(engine, generalArgs[1]);
|
||||
var firstArg = generalArgs[1];
|
||||
if (firstArg && isColonRefspec(firstArg)) {
|
||||
var refspecParts = firstArg.split(':');
|
||||
options.source = refspecParts[0];
|
||||
options.destination = refspecParts[1];
|
||||
|
||||
// destination will be created by fetch, but check source
|
||||
assertIsRef(engine.origin, options.source);
|
||||
} else if (firstArg) {
|
||||
// here is the deal -- its JUST like git push. the first arg
|
||||
// is used as both the destination and the source, so we need
|
||||
// to make sure it exists as the source on REMOTE and then
|
||||
// the destination will be created locally
|
||||
var tracking = assertBranchIsRemoteTracking(engine, firstArg);
|
||||
options.branches = [engine.refs[tracking]];
|
||||
}
|
||||
|
||||
|
|
|
@ -1051,6 +1051,7 @@ GitEngine.prototype.fetch = function(options) {
|
|||
)
|
||||
));
|
||||
}, this);
|
||||
|
||||
if (!commitsToMake.length && !options.dontThrowOnNoFetch) {
|
||||
throw new GitError({
|
||||
msg: intl.str('git-error-origin-fetch-uptodate')
|
||||
|
|
4
todo.txt
4
todo.txt
|
@ -19,10 +19,6 @@ Argument things:
|
|||
|
||||
aka fetch + merge, just like expected. ill probably still update o/master just for sanity. master is the source on the remote and HEAD is the source on local (place to merge). o/master gets updated regardless
|
||||
|
||||
so "git push origin branchNotOnLocal" fails but "git push origin someBranch" will make the someBranch on remote.
|
||||
|
||||
3) HOWEVER if I'm git push-ing on banana and I say "git push origin master" then it pretends Im checked out on master. aka master is both source and destination, as expected. this is really 3
|
||||
|
||||
Cases to handle / things to edit
|
||||
=======================
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue