посетите все каталоги при управлении версиями

Я сделал некоторое тестирование, и оно походит в моей системе, эквивалент 100% buffercache составил бы приблизительно 2.8 ГБ (я попробовал 75%, и я использовал приблизительно 2.1 ГБ для кэша), таким образом, процент вынут из значения, подобного приблизительно 2,7 или 2.8 ГБ (оно могло бы зависеть от системы / BIOS и т.д.).

Казалось бы, что это связано с кэш-буфером, ограничиваемым 32 битами памяти DMA, и скорее всего даже при 100% установки, упомянутая память вынута из пула, который совместно используется с другими ресурсами ядра, таким образом, процент всегда был бы вне числа вполне значительно ниже 4 ГБ в любой системе, это кажется.

http://www.openbsd.org/cgi-bin/cvsweb/src/sys/kern/vfs_bio.c
http://marc.info/?l=openbsd-tech&m=130174663714841&w=2

1
08.01.2014, 01:25
2 ответа

С более старыми версиями svn где у Вас был a .svn каталог в каждом каталоге при управлении версиями, Вы могли сделать:

find . -name .svn -type d -prune -execdir bash -c '
  cd -P .. &&
    propset svn:ignore -F <(
      (svn propget svn:ignore; echo "new ignore pattern") | sort -u) .' bash {} \;

С более новыми, где у Вас только есть тот .svn и sqlite3 дб там:

find . -path '*/.svn/wc.db' -execdir bash -c '
  cd -P .. &&
    sqlite3 .svn/wc.db "select local_relpath from NODES where kind == \"dir\"" |
      while IFS= read -r dir; do
        [ -d "$dir" ] &&
          propset svn:ignore -F <(
            (svn propget svn:ignore "$dir"; echo "new ignore pattern") | sort -u
          )  "$dir"
      done' bash {} \;
2
27.01.2020, 23:28
  • 1
    я верю своему сценарию ниже, должен работать на старые и на новые клиенты SVN, хотя я только попробовал за 1.7.9 –  Marcus Junius Brutus 07.01.2014, 19:57
  • 2
    @MarcusJuniusBrutus, да использование svn info проверять, является ли каталог объектом управления версиями, - более универсальный/более нормальный подход (хотя у Вас есть проблемы с Вашим синтаксисом оболочки, для которого я добавляю, предложил альтернативу). Мой выше был бы немного более эффективным в этом, это постарается не выполнять a svn info команда на каталог. –  Stéphane Chazelas 07.01.2014, 20:05

В конце я использовал следующий сценарий. Папка .svn должен быть явно исключен как svn info .svn имеет код выхода 0 и путает сценарий.

#!/usr/bin/env bash
if [ $# -ne 1 ]
then
    echo "usage is $0 <new ignore pattern>"
else
    PATTERN=$1
    for d in $(find . ! -name ".svn" -type d)
    do
        svn info "$d" &> /dev/null
        if [ $? -eq 0 ]
        then
            svn -q propset svn:ignore -F <((svn propget svn:ignore ; echo "$PATTERN") | sort -u) "$d"
        fi
    done
fi
1
27.01.2020, 23:28

Теги

Похожие вопросы