Как показать, что весь мерзавец файлов знает о?

Что касается конечного результата, они сделают то же. Различие находится в как dd обработал бы данные. И на самом деле, обоими Вашими примерами является вполне экстремальное значение в том отношении: bs параметр говорит dd сколько данных это должно буферизовать в память прежде, чем произвести его.

Так, по существу первая команда попыталась бы считать 2 ГБ в двух блоках 1 ГБ, и последний попытается считать целых 2 ГБ в, каждый идет и затем произвел ее к aa файл.

6
17.12.2012, 14:06
1 ответ

Наивное решение:

git rev-list --all | xargs -n1 git ls-tree --full-name -r --name-only  | sort -u

Это перечисляет все фиксации, затем использует это для списка всех файлов в каждой фиксации. вид дедуплицирует. Только работы для небольшого repos, хотя, как требуется много времени.

Лучшее решение состояло бы в том, чтобы использовать libgit2, чтобы сделать то же, должно быть быстрее, но требует некоторого программирования. Быстрый взлом, который реализует это, может быть найден на GitHub. Это использует pygit2 и является порядком величины быстрее, чем конвейер оболочки выше.

8
27.01.2020, 20:26

Теги

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