repo-settings: create feature.experimental setting
The 'feature.experimental' setting includes config options that are not committed to become defaults, but could use additional testing. Update the following config settings to take new defaults, and to use the repo_settings struct if not already using them: * 'pack.useSparse=true' * 'fetch.negotiationAlgorithm=skipping' In the case of fetch.negotiationAlgorithm, the existing logic would load the config option only when about to use the setting, so had a die() statement on an unknown string value. This is removed as now the config is parsed under prepare_repo_settings(). In general, this die() is probably misplaced and not valuable. A test was removed that checked this die() statement executed. Signed-off-by: Derrick Stolee <dstolee@microsoft.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
committed by
Junio C Hamano
parent
c6cc4c5afd
commit
aaf633c2ad
@@ -2,19 +2,20 @@
|
||||
#include "fetch-negotiator.h"
|
||||
#include "negotiator/default.h"
|
||||
#include "negotiator/skipping.h"
|
||||
#include "repository.h"
|
||||
|
||||
void fetch_negotiator_init(struct fetch_negotiator *negotiator,
|
||||
const char *algorithm)
|
||||
void fetch_negotiator_init(struct repository *r,
|
||||
struct fetch_negotiator *negotiator)
|
||||
{
|
||||
if (algorithm) {
|
||||
if (!strcmp(algorithm, "skipping")) {
|
||||
skipping_negotiator_init(negotiator);
|
||||
return;
|
||||
} else if (!strcmp(algorithm, "default")) {
|
||||
/* Fall through to default initialization */
|
||||
} else {
|
||||
die("unknown fetch negotiation algorithm '%s'", algorithm);
|
||||
}
|
||||
prepare_repo_settings(r);
|
||||
switch(r->settings.fetch_negotiation_algorithm) {
|
||||
case FETCH_NEGOTIATION_SKIPPING:
|
||||
skipping_negotiator_init(negotiator);
|
||||
return;
|
||||
|
||||
case FETCH_NEGOTIATION_DEFAULT:
|
||||
default:
|
||||
default_negotiator_init(negotiator);
|
||||
return;
|
||||
}
|
||||
default_negotiator_init(negotiator);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user