/// <summary>Create a repository using the local file system.</summary> /// <remarks>Create a repository using the local file system.</remarks> /// <param name="options">description of the repository's important paths.</param> /// <exception cref="System.IO.IOException"> /// the user configuration file or repository configuration file /// cannot be accessed. /// </exception> protected internal FileRepository(BaseRepositoryBuilder options) : base(options) { systemConfig = SystemReader.GetInstance().OpenSystemConfig(null, FileSystem); userConfig = SystemReader.GetInstance().OpenUserConfig(systemConfig, FileSystem); repoConfig = new FileBasedConfig(userConfig, FileSystem.Resolve(Directory, "config" ), FileSystem); // // LoadSystemConfig(); LoadUserConfig(); LoadRepoConfig(); repoConfig.AddChangeListener(new _ConfigChangedListener_168(this)); refs = new RefDirectory(this); objectDatabase = new ObjectDirectory(repoConfig, options.GetObjectDirectory(), options .GetAlternateObjectDirectories(), FileSystem); // // // if (objectDatabase.Exists()) { string repositoryFormatVersion = ((FileBasedConfig)GetConfig()).GetString(ConfigConstants .CONFIG_CORE_SECTION, null, ConfigConstants.CONFIG_KEY_REPO_FORMAT_VERSION); if (!"0".Equals(repositoryFormatVersion)) { throw new IOException(MessageFormat.Format(JGitText.Get().unknownRepositoryFormat2 , repositoryFormatVersion)); } } }
/// <summary>Create a repository using the local file system.</summary> /// <remarks>Create a repository using the local file system.</remarks> /// <param name="options">description of the repository's important paths.</param> /// <exception cref="System.IO.IOException"> /// the user configuration file or repository configuration file /// cannot be accessed. /// </exception> protected internal FileRepository(BaseRepositoryBuilder options) : base(options) { systemConfig = SystemReader.GetInstance().OpenSystemConfig(null, FileSystem); userConfig = SystemReader.GetInstance().OpenUserConfig(systemConfig, FileSystem); repoConfig = new FileBasedConfig(userConfig, FileSystem.Resolve(Directory, Constants .CONFIG), FileSystem); LoadSystemConfig(); LoadUserConfig(); LoadRepoConfig(); repoConfig.AddChangeListener(new _ConfigChangedListener_171(this)); refs = new RefDirectory(this); objectDatabase = new ObjectDirectory(repoConfig, options.GetObjectDirectory(), options .GetAlternateObjectDirectories(), FileSystem); // // // if (objectDatabase.Exists()) { long repositoryFormatVersion = ((FileBasedConfig)GetConfig()).GetLong(ConfigConstants .CONFIG_CORE_SECTION, null, ConfigConstants.CONFIG_KEY_REPO_FORMAT_VERSION, 0); if (repositoryFormatVersion > 0) { throw new IOException(MessageFormat.Format(JGitText.Get().unknownRepositoryFormat2 , Sharpen.Extensions.ValueOf(repositoryFormatVersion))); } } if (!IsBare) { snapshot = FileSnapshot.Save(GetIndexFile()); } }
/// <summary>Create a repository using the local file system.</summary> /// <remarks>Create a repository using the local file system.</remarks> /// <param name="options">description of the repository's important paths.</param> /// <exception cref="System.IO.IOException"> /// the user configuration file or repository configuration file /// cannot be accessed. /// </exception> protected internal FileRepository(BaseRepositoryBuilder options) : base(options) { userConfig = SystemReader.GetInstance().OpenUserConfig(FileSystem); repoConfig = new FileBasedConfig(userConfig, FileSystem.Resolve(Directory, "config" ), FileSystem); // // LoadUserConfig(); LoadRepoConfig(); ((FileBasedConfig)GetConfig()).AddChangeListener(new _ConfigChangedListener_163(this )); refs = new RefDirectory(this); objectDatabase = new ObjectDirectory(repoConfig, options.GetObjectDirectory(), options .GetAlternateObjectDirectories(), FileSystem); // // // if (objectDatabase.Exists()) { string repositoryFormatVersion = ((FileBasedConfig)GetConfig()).GetString(ConfigConstants .CONFIG_CORE_SECTION, null, ConfigConstants.CONFIG_KEY_REPO_FORMAT_VERSION); if (!"0".Equals(repositoryFormatVersion)) { throw new IOException(MessageFormat.Format(JGitText.Get().unknownRepositoryFormat2 , repositoryFormatVersion)); } } }