extensions/git/src/repository.ts/ResourceCommandResolver/resolveChangeCommand
class ResourceCommandResolver:	resolveChangeCommand(resource: Resource): Command {
		const title = this.getTitle(resource);

		if (!resource.leftUri) {
			const bothModified = resource.type === Status.BOTH_MODIFIED;
			if (resource.rightUri && bothModified && workspace.getConfiguration('git').get<boolean>('mergeEditor', false)) {
				return {
					command: '_git.openMergeEditor',
					title: localize('open.merge', "Open Merge"),
					arguments: [resource.rightUri]
				};
			} else {
				return {
					command: 'vscode.open',
					title: localize('open', "Open"),
					arguments: [resource.rightUri, { override: bothModified ? false : undefined }, title]
				};
			}
		} else {
			return {
				command: 'vscode.diff',
				title: localize('open', "Open"),
				arguments: [resource.leftUri, resource.rightUri, title]
			};
		}
	}