Остановите подмодуль Мерзавца foreach от открытия меньше для каждого модуля

При установке ОС в chroot в каталоге глубоко в существующей файловой системе Вы не сможете загрузить ее без стычки. Возможно, если Вы работаете над ним, но это не хороший способ получить чистую установку.

Я рекомендую сначала делать чистую установку в собственном системном разделе. Уменьшите один из своих существующих разделов для создания места. Если необходимо сделать это снаружи установленной операционной системы, получить SystemRescueCD или Живой GParted.

После выполнения начальной установки можно начать выполнять новую установку в chroot. Когда Вы уверены, что это может сделать то, что Вы хотите, переключаете на выполнение Вашей новой установки. Смонтируйте свою старую установку где-нибудь и запустите свои старые программы в chroot при необходимости. Смонтируйте свои разделы данных под новой установкой. Наконец, оставьте старую установку.

Для большинства сервисов необходимо будет выбрать, выполнить ли сервис от chroot и сервис от основной установки. Рабочие сервисы в chroot будут более сложными для расположения. Обратите внимание, что Ubuntu запускает сервисы при установке их с dpkg или APT, поэтому при упаковке установок в chroot необходимо отключить это; см. “Сервисы в chroot” в этом ответе для того, как сделать это.

В Вашей новой установке следуйте этим рекомендациям содержать вещи в чистоте:

  • Никогда вручную измените файл под /bin, /sbin, /lib, /usr или /var, за исключением того, что /usr/local справедливая игра.
  • Установите etckeeper пакет. Все Ваши изменения в /etc будет прослежен при управлении версиями (Базар по умолчанию). Изменения будут фиксироваться автоматически каждую ночь и каждый раз, когда Вы выполняете APT по умолчанию, но стремитесь фиксировать свои изменения вручную со значимым сообщением.
  • Сделайте все модификации, которые являются персональными предпочтениями и не глубоко связанные с машиной в Вашем корневом каталоге, не в /etc.
  • Если Вам нужны и 64-разрядная среда и в 32-разрядная среда, это руководство должно помочь.

5
05.09.2014, 15:40
3 ответа

Попытайтесь изменить пейджер, который использует мерзавец:

GIT_PAGER="cat" git submodule foreach 'git grep x'

Или если Вы хотите, чтобы меньше использовался, но только когда произведенный убежит экрана:

GIT_PAGER="less -FX" git submodule foreach 'git grep x'

Можно установить пейджер на проект при помощи git config, или можно, конечно, установить переменные среды глобально.

3
27.01.2020, 20:39
  • 1
    пошла для последнего, точно что я хотел, Спасибо! –  Andy Smith 24.04.2013, 15:51

Только покрыть другие методы:

Метод № 1: --nopager

git submodule foreach 'git --nopager grep x'

Метод № 2: полностью отключите пейджер

git config --global core.pager cat

Из страницы справочника конфигурации мерзавца:

core.pager команда, которую мерзавец будет использовать для нумерации страниц вывода. Может быть переопределен с переменной среды GIT_PAGER. Обратите внимание, что мерзавец устанавливает МЕНЬШЕ переменной среды на FRSX, если это сброшено, когда это выполняет пейджер. Можно изменить эти настройки путем установки менее переменного на некоторое другое значение. Поочередно, эти настройки могут быть переопределены на или глобальной основе проекта путем установки core.pager опции. Установка core.pager не имеет никакого эффекта на МЕНЬШЕ поведения переменной среды выше, поэтому если Вы хотите переопределить настройки по умолчанию мерзавца этот путь, необходимо быть явными. Например, для отключения опции S обратно совместимым способом установите core.pager на менее - +S. Это будет передано оболочке мерзавцем, который переведет заключительную команду в менее LESS=FRSX - +S.

Метод № 3: pager.<cmd>

Можно также отключить подкачку страниц для единственных подкоманд мерзавца при помощи пейджера. при установке вместо core.pager и можно изменить настройки на репозиторий мерзавца (опустите - глобальный).

git config --global pager.grep cat

Из страницы справочника конфигурации мерзавца:

пейджер. Если значение является булевской переменной, включает или выключает разбиение на страницы вывода конкретной подкоманды мерзавца при записи в tty. Иначе, включает разбиение на страницы для подкоманды с помощью пейджера, указанного значением пейджера.. Если - нумеруют страницы, или - без пейджеров указан на командной строке, она имеет приоритет по этой опции. Для отключения разбиения на страницы для всех команд установите core.pager или GIT_PAGER кошке.

Метод № 4: Изменение поведения less' (-F -X)

Можно реконфигурировать меньше так, чтобы это "условно" разбило на страницы только для файлов, содержание которых больше, чем экранная ценность (-F), и отключите меньше от очистки экрана впоследствии (X).

git config --global core.pager less -F -X

Ссылки

2
27.01.2020, 20:39

В этом случае я перетаскивал всю команду

git submodule ... | less

, но мы теряем любое возможное форматирование из подкоманд.

Затем я понял, что у нас та же проблема с «git status», поэтому, прочитав ответ на вопрос « Как я могу включить пейджер для вывода git status? », я бы предложил

git config --global pager.submodule "less -FX"
0
27.01.2020, 20:39

Теги

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