Как я развернул бы 'объем' существующего репозитория мерзавца к родительскому каталогу?

На самом деле подсчет ссылок и стратегии, используемые JVM Sun, являются всеми различными типами алгоритмов сборки "мусора".

существует два широких подхода для того, чтобы разыскать мертвые объекты: трассировка и подсчет ссылок. В трассировке GC начинает с "корней" - вещи как ссылки стека и прослеживает все достижимые (живые) объекты. Что-либо, что не может быть достигнуто, считают мертвым. В подсчете ссылок каждый раз, когда ссылка изменяется, объект включил, обновили их количество. Любой объект, подсчет ссылок которого обнуляется, считают мертвым.

С в основном всеми реализациями GC существует торговля offs, но трассировка обычно хороша для высоко через помещенный (т.е. быстро) операция, но имеет более длительные времена паузы (большие разрывы, где UI или программа могут замерзнуть). Подсчет ссылок может работать в меньших блоках, но будет медленнее в целом. Это может означать меньше замораживаний, но более плохую производительность в целом.

Дополнительно GC подсчета ссылок требует, чтобы детектор цикла очистил любые объекты в цикле, который не будет пойман одним только их подсчетом ссылок. Perl 5 не имел детектора цикла в своей реализации GC и мог пропустить память, которая была циклической.

Исследование было также проведено для получения лучшего из обоих миров (низкие времена паузы, высокая пропускная способность): http://cs.anu.edu.au/~Steve.Blackburn/pubs/papers/urc-oopsla-2003.pdf

6
задан Ben Hymers 18 November 2009 в 14:37
поделиться

2 ответа

Переместите b в новое место, создайте в нем новый каталог с именем b и git mv его содержимое. Теперь cp материал из a (за исключением исходного b , конечно) сюда и git add их.

2
ответ дан 17 December 2019 в 18:17
поделиться

Попробуйте это, начиная с каталога репозитория git:

$ mkdir b
$ git mv * b/
$ git commit  # describe that contents have moved
$ cd ..
$ mv b/* .
$ rmdir b
1
ответ дан 17 December 2019 в 18:17
поделиться
Другие вопросы по тегам:

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