2013-05-28 10 views
9

私のMercurialプロジェクトリポジトリにプロジェクトの依存関係のサブリポジトリを設定しようとしています。Mercurial:Subrepoエラー - "中止:新しいサブペクトでコミット[パス]を除外しました"

abort: commit with new subrepo lib/dependency-dir excluded 

詳細:私は、私はこのエラーを取得しておく.hgsubファイルコミットしようとすると、しかし、(トップレベルの)私のプロジェクトのMercurialのリポジトリディレクトリ内

を、私はサブディレクトリを持っています、lib/、私の依存関係が含まれます。

それだけでもそうで(私は.hgsubファイルを作成し、それをリポジトリに追加https://github.com/mygithubaccount/forked-dependency

、すべての私の依存関係は、私が作成する各ライブラリをフォークしてきましたgithubの、例えば上で生きることが起こりますトップレベル)。

lib/dependency-dir = [git]https://github.com/mygithubaccount/forked-dependency.git 

それから私は私のプロジェクトリポジトリの作業で始まる、次のことをやった:;それは(どんな違いを確認していないようだ、私は次のように個別にそれぞれを分離しようとした)以下ののようなエントリが含まれていますディレクトリ:

$ cd lib 
$ git clone https://github.com/mygithubaccount/forked-dependency.git dependency-dir 
$ cd .. 
$ hg commit .hgsub 
abort: commit with new subrepo lib/dependency-dir excluded 

私が間違っていることは何ですか?

+0

私はこれまで仕事をしているとは思っていませんが、代わりにあきらめて別のルートに行きました。ここの答えはすべて潜在的に有用で、ちょっと遅かった。だから私はそれらをすべてアップしているが、カールを彼に受け入れてもらうのが一番早い対応だった。 –

答えて

1

この問題もありました。あなたの状況に合っているかどうかはわかりませんが、新しいリポジトリにサブリポジトリを追加しようとしていました。他のファイルを追加してコミットしたら、サブレポと.hgsubファイルを追加して、このエラーを出さずにコミットできました。

3

は、私は最初のファイルを追加することによって、問題を修正した後、コミット:

$ hg add .hgsub 
... 
$ hg commit .hgsub 
1

私にとっては、問題がgitが私のシステムパス上にないことでした。私のgitサブリポジトリをコミットすることができました(更新されたシステムパスを取得するためにTortoiseHg workbenchを再起動しなければならなかったことに注意してください)。

12

私はこの仕事を得た唯一の方法は、

+0

ありがとうございました。私はこのページの他の提案のほとんどを最初に試しました。私は新しいリポジトリをコミットしたくはありませんでした。なぜなら、指定しないでコミットすることは、両方をコミットするのと同じだと思われますが、メインリポジトリには存在しないように感じるからです。 – Ant

3

私は.hgsubと同時に新しいsubrepositoryの両方をコミットしなければならなかった

はHG -m「メッセージ」をコミット.hgsubファイルを指定せずにコミットしましたコミット・コマンドで明示的に選択することによって実行できます。私は進行中の作業を含む他のファイルを持っていたので、hg commitを避けました。

0

私がこの問題を抱えていたとき、問題は私がsubrepoディレクトリへのパスに2つのスラッシュがあることでした。

0

サブエラーのフォルダ名と.hgsubファイル内のパスの間に大文字と小文字の違いがある場合、このエラーメッセージも表示されます。

同じフォルダ構造を持つ別のレポから.hgsubをコピーすることでこれを体験しましたが、元のレポのフォルダはすべて小文字でしたが、新しいレポではフォルダ名にタイトルが使用されていました。

.hgsubまたはフォルダ名のいずれかを変更すると、問題が解決しました。

関連する問題