Question: In Bonobo Git server 5.2.0.0 I changed the "Repository directory" to something like `D:\Git_Repositories`. 

But, It will search for repositories only directly under that folder and will not propagate inside it for folders inside it.

For example:

```
D:\Git_Repositories\PROJECT_A_Repos\Repository_1
D:\Git_Repositories\PROJECT_A_Repos\Repository_2
etc.

```

Can that be done somehow?  

(Without creating a new Bonobo application for each repository directory)

Answer: 
> 
> Can that be done somehow ?
> 
> 
> 

Under the current implementation, no:  

The [`Bonobo.Git.Server/Git/IGitRepositoryLocator.cs#IGitRepositoryLocator`](https://github.com/jakubgarfield/Bonobo-Git-Server/blob/aa9c0806fa3c011bcd3b0ee38aa42a819b570bdf/Bonobo.Git.Server/Git/IGitRepositoryLocator.cs#L9-L11) is used in [`Bonobo.Git.Server/Git/GitService/GitServiceExecutor.cs#ExecuteServiceByName()`](https://github.com/jakubgarfield/Bonobo-Git-Server/blob/aa9c0806fa3c011bcd3b0ee38aa42a819b570bdf/Bonobo.Git.Server/Git/GitService/GitServiceExecutor.cs#L49) as so:

```
args += " \"" + repoLocator.GetRepositoryDirectoryPath(repositoryName).FullName + "\"";

```

But nothing prevent you to add more intelligence in [`Bonobo.Git.Server/Git/ConfigurationBasedRepositoryLocator.cs#GetRepositoryDirectoryPath()`](https://github.com/jakubgarfield/Bonobo-Git-Server/blob/aa9c0806fa3c011bcd3b0ee38aa42a819b570bdf/Bonobo.Git.Server/Git/ConfigurationBasedRepositoryLocator.cs#L18), making sure to find a subfolder name repository+".git" instead of blindly combining the name of the repo to a fixed base folder.

---

The [OP Elyahu](https://stackoverflow.com/users/1977045/elyahu) ended up ([in the comments](https://stackoverflow.com/questions/38685745/can-i-create-multiple-repository-directories-in-bonobo-git-server/38686089#comment65013934_38686089)) with:

> 
> I just created another Bonobo site that used the other folder as repositories container.  
> 
>  Bonobo basic site is less than 40MB
> 
> 
>
My problem required 3 separate repositories that could be locked down by AD group. These repositories also required both a physical separation and logical separation per company policy. The solution I came up with is as follows.

First and foremost, I did away with the whole "Virtual Application" implementation and opted to host each instances on IIS w/one IP address by creating new IIS web sites bound to the machines IP address using Site Bindings via host name so IIS could resolve to the proper instance. Accordingly - this required 3 internal DNS entries. If working locally you could probably get away with editing your LMHost file.

Example:

* Instance 1 = git1.domain.com
* Instance 2 = git2.domain.com
* Instance 3 = git3.domain.com

Once these 3 bindings were created, I simply modified the web.config for AD Windows authentication using our AD groups to map users to Teams. 

As for the repositories, I placed them in a completely different directory outside of the web apps and changed the settings in the Bonobo WebApp to point to the appropriate repository for that instance.

Example:

* Instance 1 = Repo Path: D:\Repositories\Repo1, Security (ADGroup1, GitAdmin)
* Instance 2 = Repo Path: D:\Repositories\Repo2, Security (ADGroup2, GitAdmin)
* Instance 3 = Repo Path: D:\Repositories\Repo3, Security (ADGroup3, GitAdmin)

The only draw back is that I am required to manage three websites versus just one. I'm actually not that concerned as it perfectly meets the requirements of company policies of having physical and logical isolation of the various repositories.

That said - I do think it would be wise for this project's sponser to consider supporting multiple repository paths because this is probably more common with organizations supporting multiple repository disk locations