Mercurial - добавить проект, который не находится в папке репозитория - PullRequest
3 голосов
/ 30 июня 2011

Я неопытный пользователь Mercurial.Я использую VS2010 с Mercurial.У меня все отлично работало с одним репозиторием, который содержал файл решения и два проекта, вложенных в папку «parent».Всякий раз, когда я изменял файл, процесс фиксации обнаруживал изменение и т. Д. И т. Д.

Затем я добавлял третий проект.Я добавил этот проект в новую папку, где новая папка была равноправной папкой верхнего уровня, содержащей исходный файл решения (с оригинальными 2 проектами, вложенными в него).Хотя третий файл был добавлен в файл решения, Mercurial не признает его «принадлежащим» решению с точки зрения контроля версий.Действительно, он вообще не отображается как находящийся под контролем источника.

Как добавить третий проект в тот же репозиторий, даже если он находится «вне» исходной папки, которая отображается в исходный репозиторий Mercurial?

Большое спасибо.

Ответы [ 3 ]

3 голосов
/ 30 июня 2011

Нет, вы не можете добавить что-либо, что не находится в корне хранилища. hg add будет прервано с сообщением X not under root. Переместите ваши файлы в хранилище или переместите хранилище так, чтобы все ваши файлы находились в корневом каталоге (обратите внимание, что это приведет к большому количеству перемещений файлов, и вам действительно не следует этого делать).

1 голос
/ 20 октября 2013

Я нашел лучший способ управлять несколькими папками в одном репо, просто создав символическую ссылку (mklink в windows). Я обычно работаю в Visual Studio, поэтому у меня обычно есть библиотека кода и каталог веб-сайта, но они не находятся в одной родительской папке.

Вы можете создать символическую ссылку в Windows следующим образом:

mklink /J "Target Path" "Source Path"

Итак, у меня будет такая структура:

project root
- Code Library
- Solution File
- Web Folder (symlink from locally-hosted website folder)
0 голосов
/ 30 июня 2011

Вы должны использовать разные репозитории для каждого проекта.Это потому, что когда вы делаете коммит в hg, коммит для всей иерархии, а не только для каталога (и ниже), в котором вы находитесь. Для более подробной информации посмотрите на Последнее большое концептуальное отличие раздел http://hginit.com/00.html

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