godaddy centos専用サーバーにsubversionをインストールした後、Subversionリポジトリを構成してアクセスするにはどうすればよいですか

StackOverflow https://stackoverflow.com/questions/8814659

質問

サーバーにSubversionを正常にインストールしました。コマンドを実行するとき:

which svn

応答が得られます:

/usr/bin/svn

次のコマンドを使用して、httpdocsフォルダーであるルートディレクトリ内にリポジトリを作成します。

svnadmin create ~/svn

次のファイルとフォルダーを正常に作成して構成し、SVNディレクトリ内に次のファイルとディレクトリが表示されます。

conf  db  format  hooks  locks  README.txt

しかし、トランク、ブランチ、タグディレクトリを作成することはできません。実際、ディレクトリ期間を作成することはできません。これが私が使用してきたコマンドです。

svn mkdir file:///httpdocs/svn/site

このコマンドを作成するとき、私が得るメッセージは次のとおりです。

svn: Could not use external editor to fetch log message; consider setting the
$SVN_EDITOR environment variable or using the --message (-m) or --file (-F) options
svn: None of the environment variables SVN_EDITOR, VISUAL or EDITOR are set, and no
'editor-cmd' run-time configuration option was found

また、URLを入力するとき:

http://mydomain.com/svn

次のメッセージが表示されます:

404 - Not Found 

リポジトリを構成するために何をする必要がありますか。リポジトリが実際に機能しているかどうかを確認してください。ああ、私は次のコマンドを実行しました:

svnserve -d
役に立ちましたか?

解決

ルートディレクトリ内にリポジトリを作成します。これは、次のコマンドを含むhttpdocsフォルダーです...

それがあなたがやろうとしていることであれば、それはあなたがapache httpdで作業するためにあなたがsubversionを得る方法ではありません。 Apacheには、mod_davおよびmod_dav_svnモジュールが必要です。これらを取得するには、Apacheを再コンパイルする必要があるかもしれません。

mod_davとmod_dav_svnがインストールされたら、httpd.confファイルを構成する必要があります(またはhttpdの下に構成ファイルを配置します conf.d システムでどのように構成されているかに応じて)機能するため。

最終的には、それほど難しいわけではありません。ほとんどのApacheインストールには、mod_davとmod_dav_svnが追加されており、http.confファイルが正しく構成されているかどうかを確認できます。オンラインSubversionマニュアルにはあります あなたが必要とするすべて それを機能させるために。

SVN:外部エディターを使用してログメッセージを取得できませんでした。 $ svn_editor環境変数の設定を検討するか、-message(-m)または - file(-f)options svnを使用してください:環境変数svn_editor、visualまたはeditorは設定されておらず、 'editor-cmd' run-はありません。時間構成オプションが見つかりました

メッセージを読んでください。それは言う 外部エディターを使用できませんでした あなたがそれを指定しなかったからです。繰り返しますが、ラインマニュアルのsubversionはそれを説明しています 詳細.

基本的に、Subversionの変更を犯した場合、コミットメッセージを作成する必要があります。これは2つの方法で実行できます。

  • あなたはを使用します -m のようなオプション svn commit -m "This is my commit message".
  • 変数を設定します SVN_EDITOR, VISUAL, 、 また EDITOR 使用するプログラムの名前に。たとえば、Windowsでは言うでしょう C:> set EDITOR=notepad.exe. 。 Unixで、あなたは次のようなことを言うでしょう $ export EDITOR=vi. 。 Subversionは最初にの値をチェックします SVN_EDITOR 変数、 VISUAL, 、 それから EDITOR. 。それらのどれも設定されていない場合、それはあなたが見たエラーを与えます。

なぜあなたはそれを手に入れたのですか svn mkdir 指図?

コマンドのURLフォームを使用すると、ディレクトリが作成され、変更がコミットされるため、コミットメッセージが必要になります。これは機能するはずです:

svn mkdir -m"Adding the site directory to my repository" file:///httpdocs/svn/site

これで、リポジトリをhttpdocsディレクトリから移動する必要があります。それはあなたのWebサーバーを傷つけるので、それは非常に悪いことです。

使用したくない場合 file:// プロトコル、使用できます svnserve. 。これは組み込みのsubversionリポジトリサーバーであり、 svn:// プロトコル。観察:

$ svnadmin create my_repos   #Creates the repository
$ vi my_repos/conf/svnserve.conf  #See footnote 1 below
$ vi my_repos/conf/passwd         #See footnote 1 below
$ svnserve -r my_repos -d
$ svn mkdir -m "Making basic directory layout svn://localhost/trunk \
> svn://localhost/tags svn://localhost/branches
$ export SVN_EDITOR="vi"

リポジトリは、ネットワーク上のすべてのマシンにもアクセスできるようになります。 SVNServeの使用はApache HTTPDよりもはるかに簡単ですが、いくつかの問題があります。

  • 複数のインスタンスを実行することはできません svnserve ポート3690を使用したいので、共有したくないからです。 Apache HTTPDを使用すると、複数のリポジトリを使用できます。
  • SVNServeを使用したセキュリティセットアップは限られています。 Apacheを使用すると、Windows Active DirectoryまたはLDAPを使用できます。または、手動で構成できます。
  • 一部のWebベースのSubversionリポジトリブラウザーは、SVNServeが好きではありません。

ちなみに、そうしていない場合は、 ラインマニュアル上の転覆. 。これは、オープンソースプロジェクトで見た中で最高のマニュアルの1つです。


1 リポジトリを使用してセットアップするとき svnserve, 、編集する必要があります svnserve.conf 行を有効にすることでファイルをファイルします password-db = passed これは、ファイルの行#20についてです。その後、編集する必要があります passed ユーザーとそのパスワードを構成するファイル(同じディレクトリにあります)。どちらも非常に簡単ですが、忘れがちです。そうしないと、リポジトリに何もコミットできません。

他のヒント

ダウンロードが必要な場合よりもトランクブランチとタグが必要な場合 import_dirs.copy

以下より cd /location/import_dirs.copy コマンドよりも実行するより

cd /data/svn/import_dirs.copy/ 
svn import  file:///location of repos/reposname/  -m "inital message"

これがその例です.....

cd /home/raj/import_dirs.copy/
svn import  file:///srv/svn/nmg/  -m "inital message"

トランクの枝とタグが行われたよりも

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top