新しいバージョンをSVNリポジトリにコミットしようとしていますが、次のエラーが発生します。
svn:コミットに失敗しました(詳細は次のとおりです):
svn:外部エディターを使用してログメッセージをフェッチできませんでした。 $ SVN_EDITOR環境変数を設定するか、-message(-m)または--file(-F)オプションを使用することを検討してください
svn:環境変数SVN_EDITOR、VISUAL、またはEDITORが設定されておらず、「editor-cmd」ランタイム構成オプションが見つかりませんでしたnew-computers-computer:trunk newcomputer $
どうしましたか?
ジャスティン、
Subversionでコミットするたびに、コミットされている内容の要約(つまり、コミットメッセージ)を書き込む必要があります。このエラーは、Subversionがコミットメッセージを記述できるようにテキストエディターを起動しようとしているが、エディターが起動されていないためです。 .bash_profileにSVN_EDITOR
を設定すると、うまくいきます。 svnで使用されるデフォルトのエディターとしてvimを設定する方法の詳細な手順は次のとおりです。 元のリンクが無効で、archive.isミラーに置き換えられました
または、エラーメッセージで示されているように、既存のファイルから-f
を使用してコミットメッセージをロードするか、-m
を使用してメッセージを渡すことができます。
例:
svn commit -m "Fixed a regression that prevented pigs from flying (resolves issue #123, but causes strange behavior elsewhere)"
svn commit -f /path/to/a/file/with/a/long/commit/message.txt
実行するたびに使用されるデフォルトのエディターを設定する場合
svn commit
シェルで次のコマンドを試してください。
export SVN_EDITOR=nano
これにより、nanoがコミットメッセージのテキストエディタとして設定されます。これ以降、svn commit
フラグなしで-m
を呼び出すと、nanoが開きます。 nanoを閉じると、SVNはコミットを継続します。
私も同じ問題を抱えていましたが、それはWindowsでした。 -m(-message)を使用し、コミットメッセージを提供することで、問題を解決できました。
また、コミットメッセージでcygwinを使用してみましたが、うまくいきました。
バージョン管理されていないコードを新しいリポジトリにインポートしようとしたときに同様の問題が発生しました。この質問に投稿された回答に基づいて、問題を解決できました(ありがとうございます)。
Apache/httpを使用してローカルプロジェクトをSVNにインポートするために使用したコマンドを共有しています:
TestCodeDirはプロジェクトであり、まだバージョン管理されていません。
svn import /var/svn/TestCodeDir http://localhost/svn/TestCodeDir -m "Initial Commit"
注:Apacheサーバーを適切に構成し、実行している必要があります。
これが誰かに役立つことを願っています。
私はやっている間同じ問題を抱えていました:
svn copy $svn_source_path $svn_destination_path
-m "logmsg"を追加できませんでした。
svn copy $svn_source_path $svn_destination_path -m -m "Test tag creation"