Устранить неоднозначность между блобами из заметок и другими блобами из файлов? - PullRequest
0 голосов
/ 03 июня 2019

Как я могу узнать, что следующие BLOB-объекты, например, такие как:

["text", "143e875f50d1f6b645750cfc3d146842a3644eaa",30,40,"89/accfaa73947d063acb5e4dccf6a4816226e1ec"]

, извлеченные с помощью

echo "Get all blobs > ${fileSizeThreshold} bytes."
git rev-list --objects "${what}" \
| git cat-file --batch-check='"%(objecttype)","%(objectname)",%(objectsize),%(objectsize:disk),"%(rest)"' \
| sed -n 's/^"blob",//p' \
| awk -F',' '$2'">= ${fileSizeThreshold}" \
| sort -t "," --numeric-sort --key=2 > ${outDir}/largeBlobs

, не являются BLOB-объектами из примечания раздел коммитов: я конвертировал с svn2git.Я вижу, что этот хэш sha1 содержится в git notes, который выводит все заметки BLOB-объектов ...

1 Ответ

0 голосов
/ 03 июня 2019

BLOB-объект - это просто способ хранения файловых данных в Git.

Предположим, вы делаете заметку, содержимое которой требует BLOB-объектов, содержащих 89/accfaa73947d063acb5e4dccf6a4816226e1ec, и по некоторым причинам I сохранить фактический файл , содержимое которого 89/accfaa73947d063acb5e4dccf6a4816226e1ec.Один объект большого двоичного объекта будет использоваться для хранения обоих элементов.

Следовательно, ключ состоит не в том, чтобы попытаться устранить неоднозначность, а в том, чтобы перечислить все, что представляет интерес.В частности:

git rev-list --objects "${what}"

должен отправить вас прямо в раздел git rev-list документации по --objects, где написано:

- объекты
Печать идентификаторов объектов любого объекта, на который ссылаются перечисленные коммиты.--objects foo ^bar означает «отправить мне все идентификаторы объектов, которые мне нужно загрузить, если у меня есть объект фиксации bar , но не foo ».

таким образом, список деревьев коммитов, по которым будет идти git rev-list, определяется аргументом ${what}, который вы не показали.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...