Setup and Config
Getting and Creating Projects
Basic Snapshotting
Branching and Merging
Sharing and Updating Projects
Inspection and Comparison
Patching
Debugging
External Systems
Server Admin
Guides
- gitattributes
- Command-line interface conventions
- Everyday Git
- Frequently Asked Questions (FAQ)
- Glossary
- Hooks
- gitignore
- gitmodules
- Revisions
- Submodules
- Tutorial
- Workflows
- All guides...
Administration
Plumbing Commands
- 2.35.1 → 2.54.0 no changes
-
2.35.0
2022-01-24
- 2.1.4 → 2.34.8 no changes
-
2.0.5
2014-12-17
ОБЗОР
git cvsexportcommit [-h] [-u] [-v] [-c] [-P] [-p] [-a] [-d <cvsroot>] [-w <рабочий-каталог-cvs>] [-W] [-f] [-m <префикс-сообщения>] [<родитель-коммит>] <id-коммита>
ОПИСАНИЕ
Экспортирует коммит из Git в рабочую копию CVS, упрощая слияние патчей из репозитория Git в репозиторий CVS.
Укажите имя рабочей копии CVS с помощью переключателя -w или выполните её из корня рабочей копии CVS. В последнем случае GIT_DIR должен быть определён. См. примеры ниже.
Он делает всё возможное, чтобы быть безопасным: проверяет, что файлы в рабочей копии CVS не изменены и актуальны, и по умолчанию не выполняет автоматическую фиксацию.
Поддерживает добавление, удаление файлов и коммиты, затрагивающие двоичные файлы.
Если коммит является коммитом слияния, вы должны указать git cvsexportcommit, от какого родителя должен быть выполнен набор изменений.
ПАРАМЕТРЫ
- -c
-
Выполнить фиксацию автоматически, если патч применился чисто. Фиксация не будет выполнена, если какие-либо части не применились или были другие проблемы.
- -p
-
Быть педантичным (параноидальным) при применении патчей. Вызывает patch с --fuzz=0
- -a
-
Добавляет информацию об авторстве. Добавляет строку Author и Committer (если отличается от Author) в сообщение.
- -d
-
Устанавливает альтернативный CVSROOT для использования. Это соответствует параметру CVS -d. Обычно пользователи не хотят устанавливать это, за исключением случаев использования CVS асимметричным способом.
- -f
-
Принудительное слияние, даже если файлы не актуальны.
- -P
-
Принудительное указание родительского коммита, даже если он не является прямым родителем.
- -m
-
Добавляет указанный префикс в начало сообщения коммита. Полезно для серий патчей и тому подобного.
- -u
-
Обновить затронутые файлы из репозитория CVS перед попыткой экспорта.
- -k
-
Обратное раскрытие ключевых слов CVS (например, $Revision: 1.2.3.4$ становится $Revision$) в рабочей копии CVS перед применением патча.
- -w
-
Указывает местоположение рабочей копии CVS для использования при экспорте. Этот параметр не требует установки GIT_DIR перед выполнением, если текущий каталог находится в репозитории Git. По умолчанию используется значение cvsexportcommit.cvsdir.
- -W
-
Сообщает cvsexportcommit, что текущий рабочий каталог является не только рабочей копией Git, но и рабочей копией CVS. Поэтому Git сбросит рабочий каталог на родительский коммит перед продолжением.
- -v
-
Подробный.
ПРИМЕРЫ
- Слияние одного патча в CVS
-
$ export GIT_DIR=~/проект/.git $ cd ~/проект_рабочая_копия_cvs $ git cvsexportcommit -v <sha1-коммита> $ cvs commit -F .msg <файлы>
- Слияние одного патча в CVS (параметры -c и -w). Рабочий каталог находится внутри репозитория Git
-
$ git cvsexportcommit -v -c -w ~/проект_рабочая_копия_cvs <sha1-коммита>
- Автоматическое слияние ожидающих патчей в CVS — только если вы действительно знаете, что делаете
-
$ export GIT_DIR=~/проект/.git $ cd ~/проект_рабочая_копия_cvs $ git cherry cvshead myhead | sed -n 's/^+ //p' | xargs -l1 git cvsexportcommit -c -p -v
GIT
Является частью пакета git[1]