У меня есть веб-сайт, который я хочу развернуть на клиентских средах DEV и UAT, этот сайт является частью ртутного репозитория - он находится в папке Website на том же уровне, что и папка .hg. Я знаю, что может выдвинуть весь репозиторий, но предпочел бы только папку веб-сайта, чтобы у клиента не было других файлов и папок.
Репо выглядит так:
- Корень проекта
- .hg
- База данных (SQL Source Control использует это)
- Документация (Все спецификации, pdf, художественные работы и т. Д.)
- Lib (до Nuget сторонних dll)
- пакетов (Nuget stuff)
- Веб-сайт (это единственная область, которую я хочу развернуть)
- .hgignore
- Project.sln
Edit:
Клиентские серверы не подключены напрямую к Интернету, мой доступ к ним осуществляется через VPN и затем RDP. В настоящее время для развертывания любых изменений мне нужно заархивировать сайт, поместить его на общий FTP-сервер, затем подождать до 3 дней, пока файлы будут скопированы на серверы. Правила настроены так, что я могу использовать Mercurial через это соединение.
Редактировать 2
Мне удалось создать подпункт из папки «Веб-сайт», забыв папку «Веб-сайт» и все ее содержимое, зафиксировав изменение, затем вернув файлы обратно, создав репо и повторив файл .hgsub. Локально это работает для меня, я могу клонировать из репозитория сайта, не получая никаких дополнительных папок. Однако я не смог использовать эту версию репо, даже если я повторю процесс на нашем сервере репо. Когда я пытаюсь клонировать размещенную версию в свою локальную рабочую копию, я получаю 404 ошибки, но я могу клонировать размещенную версию на хост-сервере.
Буду признателен за некоторые пошаговые инструкции (руководство для чайников, если хотите) о том, как достичь моей цели; который должен иметь возможность отправлять только папку веб-сайта на серверы клиентов. Основная копия репо находится на нашем сервере репо, у меня есть локальный клон, и мне нужно иметь возможность выталкивать версии из моей копии.
Редактировать 3
Оказывается, проблема с преобразованием папки в подпункт, как описано в http://mercurial.aragost.com/kick-start/en/subrepositories/#converting-folder-into-a-subrepository, заключалась в том, что команда convert в версиях после 2.1.0 не работает и все еще не работает в 2.3.1. После того, как я понял это и откатился до этой версии TortoiseHg, я смог преобразовать папку в подпункт, в корне репозитория у меня есть .hgsub с надписью Website = Website. Я смог работать с этим локально, зафиксировать все репо, субрепо, клонировать либо полное репо, либо репо (что я и хочу), , однако я не могу заставить это работать из нашего главного репо сервер .
Я заархивировал все это и установил ftp на наш удаленный главный сервер репо, а затем настроил его, чтобы можно было клонировать с него. Непосредственно на сервере это работает нормально (hg clone --verbose - C: \ Repositories \ EM.), Однако, когда я пытаюсь клонировать с сервера на мою локальную машину разработки с помощью (hg clone --verbose - https://myserver.com/hg/EM/.) Происходит сбой с сообщением «Ошибка HTTP: 404 (не найдено)».
requesting all changes
adding changesets
adding manifests
adding file changes
added 628 changesets with 6002 changes to 4326 files
updating to branch default
resolving manifests
calling hook preupdate.eol: <function preupdate at 0x00000000035204A8>
getting .hgignore
getting .hgsub
getting .hgsubstate
HTTP Error: 404 (Not Found)
[command returned code 255 Fri Apr 20 10:51:23 2012]
Я не знаю, в чем проблема, файлы есть, так почему 404?