Есть способ сделать это без ветвления, но это не очень красиво.
sign = -(int)((unsigned int)((int)v) >> (sizeof(int) * CHAR_BIT - 1));
http://graphics.stanford.edu/~seander/bithacks.html
Множество других интересных, слишком умных вещей на этой странице, тоже .. .
Лично я использую
$ rm **/*.orig
, если мне надоели файлы .orig
. Это работает в Zsh и Bash 4 после запуска shopt -s globstar
.
Но если вы используете другую оболочку или хотите встроенное решение, то, возможно, вам понравится очистка extension (ссылка обновлена 25.08.2016). Это позволяет удалить все неотслеживаемые файлы с помощью
$ hg purge
. Вы можете удалить все неотслеживаемые и проигнорированные файлы с помощью
$ hg purge --all
. Преимущество использования hg purge
состоит в том, что при этом также будут очищены каталоги, которые становятся пустыми после удаления файлов. Командная строка rm
просто оставит пустые каталоги позади.
вы должны использовать ловушку обновления
update: запускается после обновления или merge рабочего каталога завершено