From e567b71fbc7bbeea538f517e3365c3e5b96c2a14 Mon Sep 17 00:00:00 2001 From: Dozed12 Date: Mon, 27 Nov 2017 15:59:05 +0000 Subject: [PATCH 1/4] Show remote branches Fixes #37492 --- extensions/git/src/commands.ts | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/extensions/git/src/commands.ts b/extensions/git/src/commands.ts index 46128ca252f..578d228ecf0 100644 --- a/extensions/git/src/commands.ts +++ b/extensions/git/src/commands.ts @@ -1249,25 +1249,24 @@ export class CommandCenter { return; } - const picks = remotes.map(r => ({ label: r.name, description: r.url })); + const remotePicks = remotes.map(r => ({ label: r.name, description: r.url })); const placeHolder = localize('pick remote pull repo', "Pick a remote to pull the branch from"); - const pick = await window.showQuickPick(picks, { placeHolder }); + const remotePick = await window.showQuickPick(remotePicks, { placeHolder }); - if (!pick) { + if (!remotePick) { return; } - const branchName = await window.showInputBox({ - placeHolder: localize('branch name', "Branch name"), - prompt: localize('provide branch name', "Please provide a branch name"), - ignoreFocusOut: true - }); + const remoteRefs = repository.refs; + const remoteRefsFiltered = remoteRefs.filter(r => (r.remote === remotePick.label)); + const branchPicks = remoteRefsFiltered.map(r => ({ label: r.name})) as {label : string; description : string}[]; + const branchPick = await window.showQuickPick(branchPicks, { placeHolder }); - if (!branchName) { + if (!branchPick) { return; } - repository.pull(false, pick.label, branchName); + repository.pull(false, remotePick.label, branchPick.label); } @command('git.pull', { repository: true }) From 87efd098686542d2acf42759d28b3594d7fb3b7a Mon Sep 17 00:00:00 2001 From: Dozed12 Date: Mon, 27 Nov 2017 16:04:47 +0000 Subject: [PATCH 2/4] Revert "Show remote branches" This reverts commit e567b71fbc7bbeea538f517e3365c3e5b96c2a14. --- extensions/git/src/commands.ts | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/extensions/git/src/commands.ts b/extensions/git/src/commands.ts index 578d228ecf0..46128ca252f 100644 --- a/extensions/git/src/commands.ts +++ b/extensions/git/src/commands.ts @@ -1249,24 +1249,25 @@ export class CommandCenter { return; } - const remotePicks = remotes.map(r => ({ label: r.name, description: r.url })); + const picks = remotes.map(r => ({ label: r.name, description: r.url })); const placeHolder = localize('pick remote pull repo', "Pick a remote to pull the branch from"); - const remotePick = await window.showQuickPick(remotePicks, { placeHolder }); + const pick = await window.showQuickPick(picks, { placeHolder }); - if (!remotePick) { + if (!pick) { return; } - const remoteRefs = repository.refs; - const remoteRefsFiltered = remoteRefs.filter(r => (r.remote === remotePick.label)); - const branchPicks = remoteRefsFiltered.map(r => ({ label: r.name})) as {label : string; description : string}[]; - const branchPick = await window.showQuickPick(branchPicks, { placeHolder }); + const branchName = await window.showInputBox({ + placeHolder: localize('branch name', "Branch name"), + prompt: localize('provide branch name', "Please provide a branch name"), + ignoreFocusOut: true + }); - if (!branchPick) { + if (!branchName) { return; } - repository.pull(false, remotePick.label, branchPick.label); + repository.pull(false, pick.label, branchName); } @command('git.pull', { repository: true }) From 7f2fd6b81e9cc9a4c457ddadf5f570deedfc19ff Mon Sep 17 00:00:00 2001 From: Dozed12 Date: Mon, 27 Nov 2017 16:09:25 +0000 Subject: [PATCH 3/4] Show remote branches in 'git pull from' As reequested in #37490 --- extensions/git/src/commands.ts | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/extensions/git/src/commands.ts b/extensions/git/src/commands.ts index 46128ca252f..578d228ecf0 100644 --- a/extensions/git/src/commands.ts +++ b/extensions/git/src/commands.ts @@ -1249,25 +1249,24 @@ export class CommandCenter { return; } - const picks = remotes.map(r => ({ label: r.name, description: r.url })); + const remotePicks = remotes.map(r => ({ label: r.name, description: r.url })); const placeHolder = localize('pick remote pull repo', "Pick a remote to pull the branch from"); - const pick = await window.showQuickPick(picks, { placeHolder }); + const remotePick = await window.showQuickPick(remotePicks, { placeHolder }); - if (!pick) { + if (!remotePick) { return; } - const branchName = await window.showInputBox({ - placeHolder: localize('branch name', "Branch name"), - prompt: localize('provide branch name', "Please provide a branch name"), - ignoreFocusOut: true - }); + const remoteRefs = repository.refs; + const remoteRefsFiltered = remoteRefs.filter(r => (r.remote === remotePick.label)); + const branchPicks = remoteRefsFiltered.map(r => ({ label: r.name})) as {label : string; description : string}[]; + const branchPick = await window.showQuickPick(branchPicks, { placeHolder }); - if (!branchName) { + if (!branchPick) { return; } - repository.pull(false, pick.label, branchName); + repository.pull(false, remotePick.label, branchPick.label); } @command('git.pull', { repository: true }) From f0e2c7d5c431da7c6e9a5c60649d266f66ebad7c Mon Sep 17 00:00:00 2001 From: Francisco Moreira Date: Mon, 27 Nov 2017 22:59:06 +0000 Subject: [PATCH 4/4] Fix pull --- extensions/git/src/commands.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/extensions/git/src/commands.ts b/extensions/git/src/commands.ts index 578d228ecf0..ae3461a2229 100644 --- a/extensions/git/src/commands.ts +++ b/extensions/git/src/commands.ts @@ -1266,7 +1266,9 @@ export class CommandCenter { return; } - repository.pull(false, remotePick.label, branchPick.label); + const remoteCharCnt = remotePick.label.length; + + repository.pull(false, remotePick.label, branchPick.label.slice(remoteCharCnt+1)); } @command('git.pull', { repository: true })