Diff
1diff --git a/server/backend/sqlite/error.go b/server/backend/sqlite/error.go
2index 1422697a9ba60dd105fb31af5ed2f0d68c047f04..8476f640ccd3fb0728e5521e1e2db2d1ec268ce0 100644
3--- a/server/backend/sqlite/error.go
4+++ b/server/backend/sqlite/error.go
5@@ -14,4 +14,7 @@ var (
6
7 // ErrRepoNotExist is returned when a repository does not exist.
8 ErrRepoNotExist = fmt.Errorf("repository does not exist")
9+
10+ // ErrRepoExist is returned when a repository already exists.
11+ ErrRepoExist = fmt.Errorf("repository already exists")
12 )
13diff --git a/server/backend/sqlite/sqlite.go b/server/backend/sqlite/sqlite.go
14index 25d396a352f1911949db410f96182acf5351888b..d45a9f4052394438b56ac5719afb3e15c25d0eb8 100644
15--- a/server/backend/sqlite/sqlite.go
16+++ b/server/backend/sqlite/sqlite.go
17@@ -184,6 +184,10 @@ func (d *SqliteBackend) ImportRepository(name string, remote string, opts backen
18 repo := name + ".git"
19 rp := filepath.Join(d.reposPath(), repo)
20
21+ if _, err := os.Stat(rp); err == nil || os.IsExist(err) {
22+ return nil, ErrRepoExist
23+ }
24+
25 copts := git.CloneOptions{
26 Bare: true,
27 Mirror: opts.Mirror,