Put smart host detection behind a configuration, fixes #1764

This commit is contained in:
Adam Stankiewicz
2015-08-25 22:09:38 +02:00
parent fe9a1bb5fc
commit 26f80d25be
2 changed files with 14 additions and 9 deletions

View File

@@ -191,6 +191,11 @@ GitRemoteResolver.prototype._supportsShallowCloning = function () {
return Q.resolve(false);
}
if (!this._host || !this._config.shallowCloneHosts || this._config.shallowCloneHosts.indexOf(this._host) === -1) {
return Q.resolve(false);
}
// Check for protocol - the remote check for hosts supporting shallow cloning is only required for
// HTTP or HTTPS, not for Git or SSH.
// Also check for hosts that have been checked in a previous request and have been found to support

View File

@@ -285,7 +285,7 @@ describe('GitRemoteResolver', function () {
*/}))
);
var resolver = new MyGitRemoteResolver({ source: testSource }, defaultConfig(), logger);
var resolver = new MyGitRemoteResolver({ source: testSource }, defaultConfig({ shallowCloneHosts: ['foo'] }), logger);
resolver._shallowClone().then(function (shallowCloningSupported) {
expect(shallowCloningSupported).to.be(false);
@@ -305,7 +305,7 @@ describe('GitRemoteResolver', function () {
*/}))
);
var resolver = new MyGitRemoteResolver({ source: testSource }, defaultConfig(), logger);
var resolver = new MyGitRemoteResolver({ source: testSource }, defaultConfig({ shallowCloneHosts: ['foo'] }), logger);
resolver._shallowClone().then(function (shallowCloningSupported) {
expect(shallowCloningSupported).to.be(false);
@@ -347,7 +347,7 @@ describe('GitRemoteResolver', function () {
*/}))
);
var resolver = new MyGitRemoteResolver({ source: testSource }, defaultConfig(), logger);
var resolver = new MyGitRemoteResolver({ source: testSource }, defaultConfig({ shallowCloneHosts: ['foo'] }), logger);
resolver._shallowClone().then(function (shallowCloningSupported) {
expect(shallowCloningSupported).to.be(true);
@@ -383,12 +383,12 @@ describe('GitRemoteResolver', function () {
}
);
var resolver = new MyGitRemoteResolver({ source: testSource }, defaultConfig(), logger);
var resolver = new MyGitRemoteResolver({ source: testSource }, defaultConfig({ shallowCloneHosts: ['foo'] }), logger);
resolver._shallowClone().then(function (shallowCloningSupported) {
expect(shallowCloningSupported).to.be(true);
var resolver2 = new MyGitRemoteResolver({ source: testSource }, defaultConfig(), logger);
var resolver2 = new MyGitRemoteResolver({ source: testSource }, defaultConfig({ shallowCloneHosts: ['foo'] }), logger);
resolver2._shallowClone().then(function (shallowCloningSupported) {
expect(shallowCloningSupported).to.be(true);
@@ -428,12 +428,12 @@ describe('GitRemoteResolver', function () {
}
);
var resolver = new MyGitRemoteResolver({ source: testSource1 }, defaultConfig(), logger);
var resolver = new MyGitRemoteResolver({ source: testSource1 }, defaultConfig({ shallowCloneHosts: ['foo'] }), logger);
resolver._shallowClone().then(function (shallowCloningSupported) {
expect(shallowCloningSupported).to.be(true);
var resolver2 = new MyGitRemoteResolver({ source: testSource2 }, defaultConfig(), logger);
var resolver2 = new MyGitRemoteResolver({ source: testSource2 }, defaultConfig({ shallowCloneHosts: ['foo'] }), logger);
resolver2._shallowClone().then(function (shallowCloningSupported) {
expect(shallowCloningSupported).to.be(true);
@@ -482,12 +482,12 @@ describe('GitRemoteResolver', function () {
}
);
var resolver = new MyGitRemoteResolver({ source: testSource1 }, defaultConfig(), logger);
var resolver = new MyGitRemoteResolver({ source: testSource1 }, defaultConfig({ shallowCloneHosts: ['foo', 'foo.bar.baz'] }), logger);
resolver._shallowClone().then(function (shallowCloningSupported) {
expect(shallowCloningSupported).to.be(true);
var resolver2 = new MyGitRemoteResolver({ source: testSource2 }, defaultConfig(), logger);
var resolver2 = new MyGitRemoteResolver({ source: testSource2 }, defaultConfig({ shallowCloneHosts: ['foo', 'foo.bar.baz'] }), logger);
resolver2._shallowClone().then(function (shallowCloningSupported) {
expect(shallowCloningSupported).to.be(true);