Bug 12893 - gear-update -f не всегда работает
: gear-update -f не всегда работает
Status: CLOSED FIXED
: Sisyphus
(All bugs in Sisyphus/gear)
: unstable
: all Linux
: P2 normal
Assigned To:
:
:
:
:
:
  Show dependency tree
 
Reported: 2007-09-24 22:58 by
Modified: 2007-09-25 16:45 (History)


Attachments


Note

You need to log in before you can comment on or make changes to this bug.


Description From 2007-09-24 22:58:02
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 From 2007-09-25 16:45:27 -------
Мне такой патч не нравится. Я сделал ключ --create, который создаёт "$destdir"
директорию.

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

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

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