From 445722e702baf44af6a3c91c8fc0e7e43fe4a323 Mon Sep 17 00:00:00 2001 From: Philippe Miossec Date: Sat, 27 Jan 2018 13:09:59 +0100 Subject: [PATCH] Add a method to set bool config and refactoring --- src/GitTfs/Commands/Clone.cs | 2 +- src/GitTfs/Commands/Fetch.cs | 2 +- src/GitTfs/Commands/Init.cs | 2 +- src/GitTfs/Commands/InitBranch.cs | 2 +- src/GitTfs/Core/GitRepository.cs | 5 +++++ src/GitTfs/Core/GitTfsRemote.cs | 2 +- src/GitTfs/Core/IGitRepository.cs | 1 + src/GitTfs/Util/ExportMetadatasInitializer.cs | 2 +- 8 files changed, 12 insertions(+), 6 deletions(-) diff --git a/src/GitTfs/Commands/Clone.cs b/src/GitTfs/Commands/Clone.cs index 3bee0ef6..8a7d5397 100644 --- a/src/GitTfs/Commands/Clone.cs +++ b/src/GitTfs/Commands/Clone.cs @@ -110,7 +110,7 @@ namespace GitTfs.Commands if (tfsRepositoryPath == GitTfsConstants.TfsRoot) _fetch.BranchStrategy = BranchStrategy.None; - _globals.Repository.SetConfig(GitTfsConstants.IgnoreBranches, (_fetch.BranchStrategy == BranchStrategy.None).ToString()); + _globals.Repository.SetConfig(GitTfsConstants.IgnoreBranches, _fetch.BranchStrategy == BranchStrategy.None); if (retVal == 0) { diff --git a/src/GitTfs/Commands/Fetch.cs b/src/GitTfs/Commands/Fetch.cs index bb78a738..fcfa1e93 100644 --- a/src/GitTfs/Commands/Fetch.cs +++ b/src/GitTfs/Commands/Fetch.cs @@ -123,7 +123,7 @@ namespace GitTfs.Commands private int Run(bool stopOnFailMergeCommit, params string[] args) { if (!FetchAll && BranchStrategy == BranchStrategy.None) - _globals.Repository.SetConfig(GitTfsConstants.IgnoreBranches, true.ToString()); + _globals.Repository.SetConfig(GitTfsConstants.IgnoreBranches, true); var remotesToFetch = GetRemotesToFetch(args).ToList(); foreach (var remote in remotesToFetch) diff --git a/src/GitTfs/Commands/Init.cs b/src/GitTfs/Commands/Init.cs index 3cd2e39f..55eb14a3 100644 --- a/src/GitTfs/Commands/Init.cs +++ b/src/GitTfs/Commands/Init.cs @@ -149,7 +149,7 @@ namespace GitTfs.Commands } } - _globals.Repository.SetConfig(GitTfsConstants.IgnoreBranches, false.ToString()); + _globals.Repository.SetConfig(GitTfsConstants.IgnoreBranches, false); } private string[] BuildInitCommand() diff --git a/src/GitTfs/Commands/InitBranch.cs b/src/GitTfs/Commands/InitBranch.cs index bdd4b6de..21c40f84 100644 --- a/src/GitTfs/Commands/InitBranch.cs +++ b/src/GitTfs/Commands/InitBranch.cs @@ -207,7 +207,7 @@ namespace GitTfs.Commands if (CloneAllBranches && NoFetch) throw new GitTfsException("error: --no-fetch cannot be used with --all"); - _globals.Repository.SetConfig(GitTfsConstants.IgnoreBranches, false.ToString()); + _globals.Repository.SetConfig(GitTfsConstants.IgnoreBranches, false); var defaultRemote = InitFromDefaultRemote(); diff --git a/src/GitTfs/Core/GitRepository.cs b/src/GitTfs/Core/GitRepository.cs index 7a6d8c72..ac961523 100644 --- a/src/GitTfs/Core/GitRepository.cs +++ b/src/GitTfs/Core/GitRepository.cs @@ -125,6 +125,11 @@ namespace GitTfs.Core _repository.Config.Set(key, value, ConfigurationLevel.Local); } + public void SetConfig(string key, bool value) + { + SetConfig(key, value.ToString().ToLower()); + } + public IEnumerable ReadAllTfsRemotes() { diff --git a/src/GitTfs/Core/GitTfsRemote.cs b/src/GitTfs/Core/GitTfsRemote.cs index 3b513e07..15bb1cb4 100644 --- a/src/GitTfs/Core/GitTfsRemote.cs +++ b/src/GitTfs/Core/GitTfsRemote.cs @@ -475,7 +475,7 @@ namespace GitTfs.Core if (isIgnoringBranchesDetected) Trace.TraceInformation(" if you want to enable branch support, use the command:" + Environment.NewLine + " git config --local " + GitTfsConstants.IgnoreBranches + " false"); - _globals.Repository.SetConfig(GitTfsConstants.IgnoreBranches, isIgnoringBranchesDetected.ToString()); + _globals.Repository.SetConfig(GitTfsConstants.IgnoreBranches, isIgnoringBranchesDetected); return isIgnoringBranchesDetected; } diff --git a/src/GitTfs/Core/IGitRepository.cs b/src/GitTfs/Core/IGitRepository.cs index f8e09175..64d9ca92 100644 --- a/src/GitTfs/Core/IGitRepository.cs +++ b/src/GitTfs/Core/IGitRepository.cs @@ -12,6 +12,7 @@ namespace GitTfs.Core T GetConfig(string key); T GetConfig(string key, T defaultValue); void SetConfig(string key, string value); + void SetConfig(string key, bool value); IEnumerable ReadAllTfsRemotes(); IGitTfsRemote ReadTfsRemote(string remoteId); IGitTfsRemote CreateTfsRemote(RemoteInfo remoteInfo, string autocrlf = null, string ignorecase = null); diff --git a/src/GitTfs/Util/ExportMetadatasInitializer.cs b/src/GitTfs/Util/ExportMetadatasInitializer.cs index e46cf8d9..8882eb66 100644 --- a/src/GitTfs/Util/ExportMetadatasInitializer.cs +++ b/src/GitTfs/Util/ExportMetadatasInitializer.cs @@ -25,7 +25,7 @@ namespace GitTfs.Util /// public void InitializeConfig(IGitRepository repository, string mappingFile = null) { - repository.SetConfig(GitTfsConstants.ExportMetadatasConfigKey, "true"); + repository.SetConfig(GitTfsConstants.ExportMetadatasConfigKey, true); if (!string.IsNullOrEmpty(mappingFile)) { if (File.Exists(mappingFile))