| Summary: | gear-update -f не всегда работает | ||
|---|---|---|---|
| Product: | Sisyphus | Reporter: | Anton Farygin <rider> |
| Component: | gear | Assignee: | Dmitry V. Levin <ldv> |
| Status: | CLOSED FIXED | QA Contact: | qa-sisyphus |
| Severity: | normal | ||
| Priority: | P2 | CC: | glebfm, ldv, legion, placeholder |
| Version: | unstable | ||
| Hardware: | all | ||
| OS: | Linux | ||
Мне такой патч не нравится. Я сделал ключ --create, который создаёт "$destdir" директорию. Сейчас этот gear-update есть в: git.alt:/people/legion/packages/gear.git . Плюс там же исправления в работе с ключом --force. |
gear-update -f не работает в случае, если каталог для копирования исходников ещё не был в git репозитарии. Работает если запускать gear-update шеллом без параметра -e. Как воспроизвести: mkdit testgit cd testgit git-init-db mkdir testsource gear-update -f /tmp/testsource.tar.bz2 testsource Патч для исправления: diff --git a/gear-update b/gear-update index d61a561..0f7e917 100755 --- a/gear-update +++ b/gear-update @@ -314,7 +314,7 @@ destdir="${destdir#$topdir/}" [ -n "$destdir" ] && destdir="${destdir%/}" || destdir='.' -git rm -n -r -- "$destdir" >/dev/null +[ -d "$destdir" ] || git rm -n -r -- "$destdir" >/dev/null if [ -z "$force" ]; then out="$(git diff --name-only -- "$destdir" &&