クライアントの DEV および UAT 環境にデプロイしたい Web サイトがあります。このサイトは Mercurial リポジトリの一部です。.hg フォルダーと同じレベルの Website フォルダーにあります。リポジトリ全体をプッシュできることはわかっていますが、クライアントが他のファイルやフォルダーを持たないように、Web サイト フォルダーのみをプッシュしたいと考えています。
レポは次のようになります。
- プロジェクトルート
- .hg
- データベース(SQL ソース管理はこれを使用)
- ドキュメント(すべての仕様、PDF、アートワークなど)
- Lib (Nuget より前のサードパーティ dll)
- パッケージ(Nuget のもの)
- ウェブサイト (これは私が展開したい唯一の領域です)
- .hgignore
- プロジェクト.sln
編集: クライアント サーバーはインターネットに直接接続されていません。それらへのアクセスは VPN 経由で行われ、次に RDP 経由で行われます。現在、サイトを圧縮して共有 ftp サーバーに配置し、ファイルがサーバーにコピーされるまで最大 3 日間待つ必要がある変更をデプロイする必要があります。この接続で Mercurial を使用できるように、ルールが構成されています。
編集 2 Website フォルダーとそのすべての内容を忘れて、変更をコミットしてからファイルを元に戻し、レポを作成して .hgsub ファイルをエコーアウトすることで、Web サイトフォルダーからサブレポを作成できました。これはローカルで機能します。追加のフォルダーを取得せずに、Web サイトのリポジトリからクローンを作成できます。ただし、レポサーバーでプロセスを繰り返しても、このバージョンのレポを使用できませんでした。ホストされているバージョンをローカルの作業コピーに複製しようとすると、404 エラーが発生しますが、ホスティング サーバーでホストされているバージョンを複製できます。
私の目標を達成する方法について、いくつかの段階的な指示 (必要に応じてダミーのガイド) をいただければ幸いです。これにより、Web サイト フォルダーのみをクライアント サーバーにプッシュできるようになります。レポのマスター コピーはレポ サーバーにあります。ローカル クローンがあり、コピーからバージョンをプッシュできる必要があります。
編集3 http://mercurial.aragost.com/kick-start/en/subrepositories/#converting-folder-into-a-subrepositoryで 説明されているように、フォルダーをサブレポに変換していた問題は、 convert コマンドは、2.1.0 以降のバージョンでは壊れており、2.3.1 でも壊れています。それを理解してそのバージョンの TortoiseHg にロールバックした後、フォルダーをサブレポに変換することができました。レポのルートには、Website = Website という .hgsub があります。私はそれをローカルで操作し、レポ全体、サブレポにコミットし、完全なレポまたはサブレポのいずれかを複製することができました(これが私が望むものです)が、マスターレポサーバーからこれを機能させることはできません。
すべてを圧縮して、リモートのマスター リポジトリ サーバーに 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 なのですか?