Одним из аргументов в пользу использования --no-metadata
является то, что он не меняет ваши сообщения коммита. Таким образом, даже если вы извлекаете данные из разных мест, сообщения о фиксации будут одинаковыми, и, следовательно, хэши фиксации будут одинаковыми.
В качестве примера, если я git svn init
сделаю репо с локального file:
URL-адреса, а затем извлеку из https:
URL-адрес, каждый коммит в репо будет дублироваться, поскольку все коммиты с git-svn-id: file:///
. .. будет выбран как git-svn-id: https:///
... и закодирован с новыми SHA1.
Если я укажу --no-metadata
, тогда сообщение коммита и этот sha1 будут одинаковыми, и я смогу извлечь их из локальной файловой системы или с сервера subversion, потому что в git будет только одна копия любого данного коммита svn Сделки рЕПО.
Лично я бы предпочел, если бы была опция минимальные метаданные , которая записывала идентификатор ревизии subversion, но не полные метаданные, но без возни с git-filter-branch
мы застряли со всеми или ничего .