Bug 12893 - gear-update -f не всегда работает
Summary: gear-update -f не всегда работает
Status: CLOSED FIXED
Alias: None
Product: Sisyphus
Classification: Development
Component: gear (show other bugs)
Version: unstable
Hardware: all Linux
: P2 normal
Assignee: Dmitry V. Levin
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-09-24 22:58 MSD by Anton Farygin
Modified: 2007-09-25 16:45 MSD (History)
4 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Anton Farygin 2007-09-24 22:58:02 MSD
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" &&
Comment 1 Alexey Gladkov 2007-09-25 16:45:27 MSD
Мне такой патч не нравится. Я сделал ключ --create, который создаёт "$destdir"
директорию.

Сейчас этот gear-update есть в:

git.alt:/people/legion/packages/gear.git .

Плюс там же исправления в работе с ключом --force.