Текущая настройка
Я запускаю локальный репозиторий git параллельно с извлечением svn в той же папке. Всякий раз, когда на сервере svn происходит что-то новое, я запускаю svn update
, чтобы загрузить коммиты. Затем я git add && git commit
весь набор изменений в git хранилище.
Задача
Я хочу оформить каждый коммит отдельно, чтобы иметь возможность git add && git commit
внести изменения с соответствующим сообщением коммита от svn .
Идеи
Я уже обнаружил, что могу использовать svnversion
для получения номеров ревизий рабочей копии и сервера.
// svnversion -h
usage: svnversion [OPTIONS] [WC_PATH [TRAIL_URL]]
Produce a compact 'version number' for the working copy path
WC_PATH. TRAIL_URL is the trailing portion of the URL used to
determine if WC_PATH itself is switched (detection of switches
within WC_PATH does not rely on TRAIL_URL). The version number
is written to standard output. For example:
$ svnversion . /repos/svn/trunk
4168
The version number will be a single number if the working
copy is single revision, unmodified, not switched and with
an URL that matches the TRAIL_URL argument. If the working
copy is unusual the version number will be more complex:
4123:4168 mixed revision working copy
4168M modified working copy
4123S switched working copy
4123P partial working copy, from a sparse checkout
4123:4168MS mixed revision, modified, switched working copy
...
Примечание
Я был бы рад обсудить с вами идеи для решения задачи.
Более поздняя установка также будет включать svn externals , поэтому я не могу извлечь из хранилища svn через git-svn .