Разделение файлов в Mercurial и сохранение истории с обеих сторон - PullRequest
14 голосов
/ 11 ноября 2010

Мне нужно разделить несколько файлов, и я ищу варианты для сохранения полной истории файлов в разделенных файлах.

Фон ...

Я унаследовал проект, содержащий множество пакетов Oracle PL / SQL со спецификацией пакета и телом пакета, которые хранятся в одном файле ".sql".Я бы предпочел, чтобы спецификация пакета и тело пакета были в отдельных файлах.

то есть

Начиная с: myfile.sql

Я бы хотел разделить этот файл такчто первый бит (спецификация пакета) входит в:

myfile.pks

, а последний бит (тело пакета) входит в:

myfile.pkb

У меня нет проблем с выполнением самого разделения,но мне было интересно, есть ли у кого-нибудь идеи, как мне сохранить отображение истории файлов myfile.sql в myfile.pks и myfile.pkb.

Ответы [ 2 ]

18 голосов
/ 11 ноября 2010

Разделение файлов может быть смоделировано с помощью hg rename и hg copy для сохранения истории:

hg copy  myfile.sql myfile.pks
hg rename myfile.sql  myfile.pkb

Отредактируйте файл * .pks и * .pkb, чтобы удалить половину, которая там не принадлежит.

После редактирования передайте все это.

Чтобы увидеть копии и переименовать, вы должны использовать формат git diff:

hg diff -g

Поскольку это очень полезно, его часто устанавливают по умолчанию в файле .hgrc, добавив:

[diff]
    git=1
0 голосов
/ 23 марта 2017

IDE делают это еще проще.Например, в IntelliJ выберите файл и выполните Refactor> Copy.

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