13

プロジェクトの依存関係のために、Mercurial プロジェクト リポジトリにサブリポジトリをセットアップしようとしています。しかし、.hgsubファイルをコミットしようとすると、次のエラーが発生し続けます。

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

詳細:

プロジェクトの Mercurial リポジトリ ディレクトリ (最上位) 内にlib/、依存関係を格納するサブディレクトリ があります。

たまたますべての依存関係がgithubに存在し、そこで各ライブラリをフォークして作成しました。たとえば、https://github.com/mygithubaccount/forked-dependency

ファイルを作成し、.hgsubそれをリポジトリに追加しました (これも最上位レベルにあります)。次のようなエントリが含まれています(次のようにそれぞれを個別に分離しようとしましたが、違いはないようです)

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

私が間違っていることはありますか?

4

8 に答える 8

15

この作業を行う唯一の方法は、.hgsub ファイルを指定せずにコミットすることでした

hg commit -m "メッセージ"

于 2013-11-19T19:16:29.300 に答える
3

最初にファイルを追加してからコミットすることで問題を修正しました:

$ hg add .hgsub
...
$ hg commit .hgsub
于 2013-07-18T20:36:30.030 に答える
1

私にとっての問題はgit、システムパスにないことでした。これを追加すると、git サブリポジトリをコミットできるようになりました (更新されたシステム パスを取得するには、TortoiseHg ワークベンチを再起動する必要があったことに注意してください)。

于 2013-11-10T18:36:18.617 に答える
0

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

于 2015-02-11T08:57:23.803 に答える
0

サブレポのフォルダー名と .hgsub ファイル内のパスに大文字と小文字の違いがある場合、これもこのエラー メッセージをトリガーします。

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

.hgsub またはフォルダー名自体を変更すると、問題が解決しました。

于 2016-08-31T14:55:46.560 に答える