Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Mercurial: Клонировать только один файл из одного репозитория в другой?

Автор вопроса: isyncОтветов: 1

У меня есть репозиторий проекта perl mercurial/hg с множеством модулей. Теперь я понял, что некоторые модули, ветвь модулей, больше не вписываются в этот проект, но лучше подходят для другого проекта.

Итак, возможно ли "клонировать" эти модули из репозитория 1 в мой другой репозиторий 2, сохраняя при этом историю изменений этих модулей и в то же время помечая модули в репозитории 1 как "удаленные"?

Я думаю, что это возможно с несколькими шагами. Но я думаю, что клонирование всего репозитория 1 и последующее удаление всех ненужных файлов загромождали бы мой новый репо 2 большим количеством несвязанной истории изменений. Тем не менее, насколько я понимаю, ни одна из команд "clone" и "pull" не подходит для клонирования только фрагмента другого репозитория, верно? Или можно "переместить" файл из одного репозитория в другой? Как я вижу, это аналогия того, что я хочу сделать.

mercurial

Ответы

Ответ 1 · рейтинг 5 · Niall C.

Абсолютно! Взгляните на расширение Convert, особенно на Mercurial-to-Mercurial, который должен делать именно то, что вы хотите.

После того, как вы отделите эти модули, вы можете использовать hg forget, hg remove, чтобы удалить их из исходного репозитория, или даже снова использовать hg convert, чтобы создать новый репозиторий без них.

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы