українська мова ▾
Localized versions of git-cvsimport manual
  1. English
  2. Français
  3. Português (Brasil)
  4. українська мова
  5. 简体中文
Topics ▾ Latest version ▾ git-cvsimport last updated in 2.43.1
Changes in the git-cvsimport manual
  1. 2.43.2 → 2.52.0 no changes
  2. 2.43.1 2024年02月09日
  3. 2.35.1 → 2.43.0 no changes
  4. 2.35.0 2022年01月24日
  5. 2.11.4 → 2.34.8 no changes
  6. 2.10.5 2017年09月22日
  7. 2.9.5 2017年07月30日
  8. 2.3.10 → 2.8.6 no changes
  9. 2.2.3 2015年09月04日
  10. 2.1.4 no changes
  11. 2.0.5 2014年12月17日

Check your version of git by running

git --version

НАЗВА

git-cvsimport - Врятуйте свої дані з чергового SCM, якого люди так люблять ненавидіти

СИНОПСИС

git cvsimport [-o <branch-for-HEAD>] [-h] [-v] [-d <CVSROOT>]
	 [-A <author-conv-file>] [-p <options-for-cvsps>] [-P <file>]
	 [-C <git-repository>] [-z <fuzz>] [-i] [-k] [-u] [-s <subst>]
	 [-a] [-m] [-M <regex>] [-S <regex>] [-L <commit-limit>]
	 [-r <remote>] [-R] [<CVS-module>]

ОПИС

ПОПЕРЕДЖЕННЯ: git cvsimport використовує cvsps версії 2, яка вважається застарілою; вона не працює з cvsps версії 3 та пізніших. Якщо ви виконуєте одноразовий імпорт репозиторію CVS, спробуйте скористатися cvs2git або cvs-fast-export.

Імпортує репозиторій CVS у Git. Він або створить новий репозиторій, або поступово імпортує дані у існуючий.

Розділення журналу CVS на набори патчів здійснюється за допомогою «cvsps». Потрібна щонайменше версія 2.1.

ПОПЕРЕДЖЕННЯ: у певних ситуаціях імпорт призводить до неправильних результатів. Будь ласка, дивіться розділ ПРОБЛЕМИ для отримання додаткової інформації.

Ви ніколи не повинні самостійно виконувати будь-яку роботу з гілками, створеними за допомогою git cvsimport. За замовчуванням початковий імпорт створить та заповнить гілку "master" з головної гілки репозиторію CVS, з якою ви можете вільно працювати; після цього вам потрібно самостійно виконати інкрементальний імпорт git merge або будь-які гілки CVS. Бажано вказати іменований віддалений об’єкт за допомогою -r, щоб відокремити та захистити вхідні гілки.

Якщо ви маєте намір створити спільний публічний репозиторій, який усі розробники зможуть читати/записувати, або якщо ви хочете використовувати git-cvsserver[1], тоді, ймовірно, вам варто створити чистий клон імпортованого репозиторію та використовувати цей клон як спільний репозиторій. Див. gitcvs-migration[7].

ОПЦІЇ

-v

Детальність: дозвольте «cvsimport» повідомляти про свої дії.

-d <CVSROOT>

Кореневий каталог архіву CVS. Може бути локальним (простий шлях) або віддаленим; наразі підтримуються лише методи доступу :local:, :ext: та :pserver:. Якщо не вказано, git cvsimport спробує прочитати його з CVS/Root. Якщо такого файлу не існує, він перевіряє наявність змінної середовища CVSROOT.

<CVS-module>

Модуль CVS, який ви хочете імпортувати. Відносно до <CVSROOT>. Якщо не вказано, git cvsimport спробує прочитати його з CVS/Repository.

-C <target-dir>

Репозиторій Git для імпорту. Якщо каталог не існує, його буде створено. За замовчуванням використовується поточний каталог.

-r <remote>

Віддалений Git для імпорту цього репозиторію CVS. Переміщує всі гілки CVS до remotes/<віддалений>/<гілка>, подібно до того, як «git clone» використовує «origin» за замовчуванням.

-o <branch-for-HEAD>

Якщо віддалений з’єднувач не вказано (через -r), гілка HEAD з CVS імпортується до гілки origin у репозиторії Git, оскільки HEAD вже має спеціальне значення для Git. Коли вказано віддалений з’єднувач, гілка HEAD називається remotes/<remote>/master, що відображає поведінку git clone. Використовуйте цю опцію, якщо ви хочете імпортувати в іншу гілку.

Використовуйте -o master для продовження імпорту, який спочатку було виконано старою утилітою cvs2git.

-i

Тільки імпорт: не виконувати вилучення після імпорту. Цей параметр гарантує, що робочий каталог та індекс залишаться недоторканими, і їх не буде створено, якщо вони не існують.

-k

Ключові слова Kill: витягне файли з параметром -kk з архіву CVS, щоб уникнути шумних наборів змін. Настійно рекомендується, але за замовчуванням вимкнено для збереження сумісності з раніше імпортованими деревами.

-u

Перетворити символи підкреслення в назвах тегів та гілок на крапки.

-s <subst>

Замініть символ "/" в іменах гілок на <subst>

-p <options-for-cvsps>

Додаткові опції для cvsps. Опції -u та -A є неявними та не повинні використовуватися тут.

Якщо вам потрібно передати кілька параметрів, розділіть їх комою.

-z <fuzz>

Передати коефіцієнт нечіткості позначки часу до cvsps у секундах. Якщо не встановлено, cvsps за замовчуванням має значення 300 секунд.

-P <cvsps-output-file>

Замість виклику cvsps, зчитайте наданий вихідний файл cvsps. Корисно для налагодження або коли cvsps обробляється поза cvsimport.

-m

Спробувати виявити злиття на основі повідомлення коміту. Ця опція вмикає регулярні вирази за замовчуванням, які намагаються отримати назву вихідної гілки з повідомлення коміту.

-M <regex>

Спробуйте виявити злиття на основі повідомлення коміту за допомогою власного регулярного виразу. Його можна використовувати з -m, щоб також увімкнути регулярні вирази за замовчуванням. Ви повинні екранувати скісну риску.

Регулярний вираз має фіксувати назву вихідної гілки в 1ドル.

Цей параметр можна використовувати кілька разів для забезпечення кількох регулярних виразів виявлення.

-S <regex>

Пропустити шляхи, що відповідають регулярному виразу.

-a

Імпортуйте всі коміти, включаючи нещодавні. cvsimport за замовчуванням пропускає коміти, час яких менше 10 хвилин тому.

-L <limit>

Обмеження кількості імпортованих комітів. Обхідний шлях для випадків, коли cvsimport призводить до витоку пам’яті.

-A <author-conv-file>

CVS за замовчуванням використовує ім’я користувача Unix під час запису журналів комітів. Використання цієї опції та файлу author-conv зіставляє ім’я, записане в CVS, з іменем автора, електронною поштою та (необов’язково) часовим поясом:

	exon=Andreas Ericsson <ae@op5.se>
	spawn=Simon Pawn <spawn@frog-pond.org> America/Chicago

Команда «git cvsimport» створить враження, що ці автори мали правильно налаштовані GIT_AUTHOR_NAME та GIT_AUTHOR_EMAIL з самого початку. Якщо вказано часовий пояс, до GIT_AUTHOR_DATE буде застосовано відповідне зміщення.

Для зручності ці дані зберігаються в $GIT_DIR/cvs-authors щоразу, коли надається параметр -A, і зчитуються з того ж файлу щоразу, коли виконується git cvsimport.

Не рекомендується використовувати цю функцію, якщо ви маєте намір експортувати зміни назад до CVS пізніше за допомогою git cvsexportcommit.

-R

Згенеруйте файл $GIT_DIR/cvs-revisions, що містить зіставлення номерів версій CVS з новоствореними ідентифікаторами комітів Git. Згенерований файл міститиме один рядок для кожної імпортованої пари (ім’я файлу, версія); кожен рядок виглядатиме так

src/widget.c 1.1 1d862f173cdc7325b6fa6d2ae1cfd61fd1b512b7

Дані про редакцію додаються до файлу, якщо він вже існує, для використання під час інкрементального імпорту.

Ця опція може бути корисною, якщо у вас є номери версій CVS, що зберігаються в повідомленнях комітів, системах відстеження помилок, архівах електронної пошти тощо.

-h

Вивести коротке повідомлення про використання та вийти.

ВИХІД

Якщо вказано -v, скрипт повідомляє про свої дії.

В іншому випадку, успіх позначається Unix-стилем, тобто простим виходом з нульовим статусом виходу.

ПРОБЛЕМИ

Проблеми, пов’язані з часовими мітками:

  • Якщо часові позначки комітів у репозиторії CVS недостатньо стабільні для використання для впорядкування комітів, зміни можуть відображатися в неправильному порядку.

  • Якщо будь-які файли були імпортовані за допомогою cvs більше одного разу (наприклад, імпорт релізів кількох постачальників), то HEAD містить неправильний вміст.

  • Якщо порядок позначок часу різних файлів перетинає порядок редагувань у межах часового вікна відповідності комітів, порядок комітів може бути неправильним.

Проблеми, пов’язані з філіями:

  • Гілки, на яких не було зроблено жодних комітів, не імпортуються.

  • Усі файли з точки розгалуження додаються до гілки, навіть якщо вони ніколи не додавались у CVS.

  • Це стосується файлів, доданих до вихідної гілки після створення дочірньої гілки: якщо раніше на дочірній гілці не було зроблено жодного коміту, вони будуть помилково додані до дочірньої гілки в git.

Проблеми, пов’язані з тегами:

  • Кілька тегів в одній редакції не імпортуються.

Якщо ви підозрюєте, що будь-яка з цих проблем може стосуватися репозиторію, який ви хочете імпортувати, розгляньте можливість використання cvs2git:

  • cvs2git (part of cvs2svn), https://subversion.apache.org/

GIT

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

AltStyle によって変換されたページ (->オリジナル) /