Есть ли максимальное количество git-тайников? - PullRequest
12 голосов
/ 05 января 2011

Существует ли максимальное количество git-тайников или их может быть сколько угодно?

Я знаю, что

git stash list

не показывает столько результатов, сколько

git stash list --date=local

Но считает ли Линус Торвальдс, что любой, у кого больше x тайников, - идиот, который заслуживает потерять старые тайники?

Ответы [ 2 ]

19 голосов
/ 05 января 2011

Нет жестких ограничений на тайники. Stashes просто реализуются с помощью reflog специально названного ref под названием stash.

9 голосов
/ 05 января 2011

Нет, ограничений нет. Фактически, Git обрабатывает большое количество тайников довольно изящно:

$ du -sh .git; \
> for i in {1..10000}; do echo $i > README; git stash -q; done; \
> git gc -q; du -sh .git; time git stash list | wc -l
8.5M     .git
13M      .git        # space efficient
10000                # all there
real     0m0.212s    # listing 10,000 entries
$ echo foo > README; time git stash -q; time git stash pop -q
real     0m0.159s    # save still fast
real     0m0.146s    # pop still fast

Я не проверял больше, но я бы предположил, что он все равно будет работать на 100 000 или миллион. Так что да, количество тайников действительно не ограничено.

...