diff --git a/assets/coverage-badge.svg b/assets/coverage-badge.svg
index 718bd0e..ffdf7ae 100644
--- a/assets/coverage-badge.svg
+++ b/assets/coverage-badge.svg
@@ -11,7 +11,7 @@
coverage
coverage
- 19.5%
- 19.5%
+ 19.4%
+ 19.4%
diff --git a/assets/i18n-ru-badge.svg b/assets/i18n-ru-badge.svg
index a019f1e..b447b28 100644
--- a/assets/i18n-ru-badge.svg
+++ b/assets/i18n-ru-badge.svg
@@ -12,7 +12,7 @@
ru translate
ru translate
- 98.00%
- 98.00%
+ 97.00%
+ 97.00%
diff --git a/internal/config/config.go b/internal/config/config.go
index 0479a03..48fa6dc 100644
--- a/internal/config/config.go
+++ b/internal/config/config.go
@@ -171,7 +171,13 @@ func (c *ALRConfig) GetPaths() *Paths {
}
func (c *ALRConfig) initPaths() {
- err := os.MkdirAll(c.paths.RepoDir, 0o755)
+ err := os.MkdirAll(filepath.Dir(c.paths.UserConfigPath), 0o755)
+ if err != nil {
+ slog.Error(gotext.Get("Unable to create config directory"), "err", err)
+ os.Exit(1)
+ }
+
+ err = os.MkdirAll(c.paths.RepoDir, 0o755)
if err != nil {
slog.Error(gotext.Get("Unable to create repo cache directory"), "err", err)
os.Exit(1)
diff --git a/internal/translations/default.pot b/internal/translations/default.pot
index e891b6e..def4219 100644
--- a/internal/translations/default.pot
+++ b/internal/translations/default.pot
@@ -255,10 +255,14 @@ msgid "OPTIONS"
msgstr ""
#: internal/config/config.go:176
-msgid "Unable to create repo cache directory"
+msgid "Unable to create config directory"
msgstr ""
#: internal/config/config.go:182
+msgid "Unable to create repo cache directory"
+msgstr ""
+
+#: internal/config/config.go:188
msgid "Unable to create package cache directory"
msgstr ""
@@ -449,7 +453,7 @@ msgstr ""
msgid "URL of the new repo"
msgstr ""
-#: repo.go:86 repo.go:151
+#: repo.go:86 repo.go:156
msgid "Error saving config"
msgstr ""
@@ -461,19 +465,19 @@ msgstr ""
msgid "Name of the repo to be deleted"
msgstr ""
-#: repo.go:137
+#: repo.go:142
msgid "Repo does not exist"
msgstr ""
-#: repo.go:145
+#: repo.go:150
msgid "Error removing repo directory"
msgstr ""
-#: repo.go:162
+#: repo.go:167
msgid "Error removing packages from database"
msgstr ""
-#: repo.go:174
+#: repo.go:179
msgid "Pull all repositories that have changed"
msgstr ""
diff --git a/internal/translations/po/ru/default.po b/internal/translations/po/ru/default.po
index dc02aed..8060f94 100644
--- a/internal/translations/po/ru/default.po
+++ b/internal/translations/po/ru/default.po
@@ -263,10 +263,15 @@ msgid "OPTIONS"
msgstr "ПАРАМЕТРЫ"
#: internal/config/config.go:176
+#, fuzzy
+msgid "Unable to create config directory"
+msgstr "Не удалось создать каталог конфигурации ALR"
+
+#: internal/config/config.go:182
msgid "Unable to create repo cache directory"
msgstr "Не удалось создать каталог кэша репозитория"
-#: internal/config/config.go:182
+#: internal/config/config.go:188
msgid "Unable to create package cache directory"
msgstr "Не удалось создать каталог кэша пакетов"
@@ -466,7 +471,7 @@ msgstr "Название нового репозитория"
msgid "URL of the new repo"
msgstr "URL-адрес нового репозитория"
-#: repo.go:86 repo.go:151
+#: repo.go:86 repo.go:156
#, fuzzy
msgid "Error saving config"
msgstr "Ошибка при кодировании конфигурации"
@@ -479,19 +484,19 @@ msgstr "Удалить существующий репозиторий"
msgid "Name of the repo to be deleted"
msgstr "Название репозитория удалён"
-#: repo.go:137
+#: repo.go:142
msgid "Repo does not exist"
msgstr "Репозитория не существует"
-#: repo.go:145
+#: repo.go:150
msgid "Error removing repo directory"
msgstr "Ошибка при удалении каталога репозитория"
-#: repo.go:162
+#: repo.go:167
msgid "Error removing packages from database"
msgstr "Ошибка при удалении пакетов из базы данных"
-#: repo.go:174
+#: repo.go:179
msgid "Pull all repositories that have changed"
msgstr "Скачать все изменённые репозитории"
@@ -552,9 +557,6 @@ msgstr "Здесь нечего делать."
#~ msgid "Unable to detect user config directory"
#~ msgstr "Не удалось обнаружить каталог конфигурации пользователя"
-#~ msgid "Unable to create ALR config directory"
-#~ msgstr "Не удалось создать каталог конфигурации ALR"
-
#~ msgid "Unable to create ALR config file"
#~ msgstr "Не удалось создать конфигурационный файл ALR"
diff --git a/repo.go b/repo.go
index de0bbed..b3a6ed5 100644
--- a/repo.go
+++ b/repo.go
@@ -123,6 +123,11 @@ func RemoveRepoCmd() *cli.Command {
name := c.String("name")
cfg := config.New()
+ err := cfg.Load()
+ if err != nil {
+ slog.Error(gotext.Get("Error loading config"), "err", err)
+ os.Exit(1)
+ }
found := false
index := 0
@@ -140,7 +145,7 @@ func RemoveRepoCmd() *cli.Command {
cfg.SetRepos(slices.Delete(reposSlice, index, index+1))
- err := os.RemoveAll(filepath.Join(cfg.GetPaths().RepoDir, name))
+ err = os.RemoveAll(filepath.Join(cfg.GetPaths().RepoDir, name))
if err != nil {
slog.Error(gotext.Get("Error removing repo directory"), "err", err)
os.Exit(1)