українська мова ▾ Topics ▾ Latest version ▾ git-patch-id last updated in 2.52.0

НАЗВА

git-patch-id - Обчисліть унікальний ідентифікатор для патча

СИНОПСИС

git patch-id [--stable | --unstable | --verbatim]

ОПИС

Зчитати патч зі стандартного вводу та обчислити його ідентифікатор.

«Ідентифікатор патча» — це не що інше, як сума SHA-1 відмінностей файлів, пов’язаних із патчем, при цьому номери рядків ігноруються. Таким чином, він є «достатньо стабільним», але водночас і досить унікальним, тобто два патчі з однаковим «ідентифікатором патча» майже гарантовано є одним і тим самим.

Основне використання цієї команди — пошук ймовірних дублікатів комітів.

Під час роботи з виводом git diff-tree використовується той факт, що перед патчем починається назва об’єкта коміту, і виводиться два 40-байтові шістнадцяткові рядки. Перший рядок – це ідентифікатор патча, а другий рядок – ідентифікатор коміту. Це можна використовувати для зіставлення ідентифікатора патча з ідентифікатором коміту.

ОПЦІЇ

--verbatim

Обчислюйте patch-id вхідних даних так, як вони задані, не видаляючи пробіли.

Це значення за замовчуванням, якщо patchid.verbatim має значення true.

--stable

Використовуйте «стабільну» суму хешів як ідентифікатор патча. З цією опцією:

  • Зміна порядку різниці файлів, що складають патч, не впливає на ідентифікатор. Зокрема, два патчі, створені шляхом порівняння тих самих двох дерев з двома різними налаштуваннями для -O<файл_порядку>, призводять до однакового підпису ідентифікатора патча, що дозволяє використовувати обчислений результат як ключ для індексації деякої метаінформації про зміну між двома деревами;

  • Результат відрізняється від значення, отриманого git 1.9 та старішими версіями, або отриманого при налаштуванні "нестабільного" хешу (див. --unstable нижче) - навіть при використанні на виході diff, отриманому без використання -O<orderfile>, що робить існуючі бази даних, що зберігають такі "нестабільні" або історичні ідентифікатори патчів, непридатними для використання.

  • Усі пробіли всередині патча ігноруються та не впливають на ідентифікатор.

Це значення за замовчуванням, якщо для patchid.stable встановлено значення true.

--unstable

Використовуйте "нестабільний" хеш як ідентифікатор патча. З цією опцією отриманий результат сумісний зі значенням patch-id, створеним git 1.9 та старішими версіями, а пробіли ігноруються. Користувачі з попередніми базами даних, що зберігають patch-idents, створені git 1.9 та старішими версіями (які не мають справу з перевпорядкованими патчами), можуть захотіти скористатися цією опцією.

Це значення за замовчуванням.

GIT

Частина набору git[1]