This document assumes that you have:
- site-admin level permissions on your Sourcegraph instance
- access to your Sourcegraph deployment
Open the repository's Settings
page on Sourcegraph and from the Options
tab click Exclude repository
to exclude it from the specific code host.
Alternately, if a repository is synced from multiple code host connections you may exclude it from all code hosts by clicking the Exclude repository from all code hosts
button instead.
- Exclude the repository as shown above from your code host(s)
- Wait for the repository to disappear from the Repository Status Page located in your Site Admin panel.
- Once you have confirmed the previous step has been completed, you will then exec into Gitserver (for docker-compose and kubernetes deployments) to locate the files that are associated with the repository.
- Look for a directory with the name of the repository in the Gitserver. It should be located in the following file path:
data/repos/{name-of-code-host}/{name-of-repository}
- Delete the directory for that repository from the previous step.
Open the repository's Settings
page on Sourcegraph and from the Mirroring
tab click Reclone
.
After a repository is deleted from Sourcegraph in the database, its data still remains on disk on gitserver so that in the event the repository is added again it doesn't need to be recloned. These repos are automatically removed when disk space is low on gitserver. However, it is possible to manually trigger removal of deleted repos in the following way:
NOTE: This is not available on Docker Compose deployments.
- Browse to Site Admin -> Instrumentation -> Repo Updater -> Manual Repo Purge
- You'll be at a url similar to
https://sourcegraph-instance/-/debug/proxies/repo-updater/manual-purge
- You need to specify a limit parameter which specifies the upper limit to the number of repos that will be removed, for example:
https://sourcegraph-instance/-/debug/proxies/repo-updater/manual-purge?limit=1000
- This will trigger a background process to delete up to
limit
repos, rate limited at 1 per second.
It's possible to see the number of repos that can be cleaned up on disk in Grafana using this query:
max(src_repoupdater_purgeable_repos)