問題タブ [svnserve]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
svn - SVN への接続時に不明なホスト名 localhost
SVN 1.6 をインストールした RedHat 6 エンタープライズ サーバーがあります。このマシンはネットワーク上になく、ネットワーク上にあったこともありません。最終的にはネットワークに追加される予定ですが、現時点では追加されません。
リポジトリへのアクセスを提供するために svnserve を実行しています。
svnserve は次のように開始されます。
コマンドを実行するとsvn co svn://localhost/<project name>
、「svn: E000111」というエラー メッセージが表示されます。ホスト 'localhost' に接続できません: 接続が拒否されました。
netstat は、svn が 0.0.0.0:3690 でリッスンしていることを確認します。
私は svnserve でより明示的にする方が良いと読んだので、次のように始めました。
チェックアウトしようとすると、同じ接続拒否エラー メッセージが表示されます。
次に、ホスト名ではなく IP アドレスで直接チェックアウトしてみましたが、
返されるエラー メッセージは、「svn: E670009: unknown hostname '127.0.0.1'」という意味のないものです。
この時点で私は困惑しています。「svn://」プロトコルを使用してチェックアウトを実行できないようです。ipv4 および ipv6 ファイアウォールは既に無効にしています。
何かご意見は?
svn - 不要なファイルをフィルタリングする Subversion pre-commit フック (ほとんどが quartus および nios によって生成されます)
svnserveで使用される pre-commit フックが、拡張子のリストに基づいてファイルを「フィルタリング」できる方法はあるのだろうか。"%APPDATA%/subversion/config"のように、Quartus および Nios プロジェクト用の *.cdf *.sof *.elf などの独自の追加パターンを使用して、グローバル無視リストに類似したリストを用意しました。私たちの主な目的は、コミット中に不要なファイルを除外してスペースを節約することです。つまり、「svn status」によって表示されないようにすることです。
Google で多くの検索を行いましたが、満足のいく解決策が見つかりませんでした。私が現在持っているアプローチの 1 つは、Windows バッチ ファイルを作成して、Subversion クライアント側のグローバル無視リストを自動的に有効にし、独自のリストに置き換えることです。問題は明らかです。単一のクライアントでしか機能しません。このフィルタリングをグローバルに適用したい場合は、リポジトリを使用するすべてのクライアントがバッチ ファイルを実行する必要があります。誰もが Windows プラットフォームを使用しているわけではないことは言うまでもありません。
私が見つけた次のアプローチは、svn:ignoreプロパティを再帰的に変更して、各パターンをグローバルに無視できるようにすることでした。繰り返しますが、この方法にはクライアント側の操作が必要であり、維持するのは簡単ではありません。リポジトリ内の現在のディレクトリにのみ適用されます。つまり、新しいディレクトリをインポートすると、無視リストは適用されません。
Python で pre-commit フックを作成しましたが、ログ メッセージの長さとコミットされるファイルのサイズをチェックするだけです。私の理解では、pre-commit フックはトランザクションに変更を加えることは想定されていません。そうしないと、クライアント側の作業キャッシュが一貫性を欠いて使用できなくなり、理解できるからです。フックは次の 2 つのことを行います。
(exit 1) コードでチェックが失敗した場合、コミットを拒否します
コミットをACCEPTして、トランザクションがリポジトリのリビジョンになるようにします
私が最初に考えたのは、このトランザクション内のファイルをフィルタリングする必要がある場合、コミットを拒否することでした。しかし、私の同僚は、プロジェクトを再構築するためにどのファイル拡張子が必要でないか見当がつかないことに加えて、それだけ多くのファイルを自分で管理するのは面倒だと言いました。
クライアント側の操作を伴わずに、フィルタリングのプロセスを自動化する方法が必要だと今でも感じています。今私が考えているのは、次の 2 つの pre-commit フックです。
コミットを拒否し、新しく追加されたプロジェクト プロパティを変更して特定のパターンを無視します (svn:ignore のように)
コミットを受け入れ、不要なファイル トランザクションを無視し、どのファイルが無視されたかをユーザーに通知し、クライアント側の作業キャッシュをリポジトリと一致させるように管理します。
オプション 1 よりもはるかに難しいように見えますが、オプション 2 をお勧めします。
さらに、どのファイルを Quartus II および Nios プロジェクト専用のバージョンに配置する必要があるかを提案してください。つまり、これらのファイルをチェックアウトした直後にプロジェクト全体を再構築できます。私が持っている現在のリストは次のとおりです: .vhd .v .qpf .qsf .bsf
svn - 復元された /svn ディレクトリ ツリーを svnserve で使用する方法
CentOS svn サーバーでマザーボードに障害が発生しましたが、/svn ディレクトリ ツリー全体を回復し、別のボックスに移動することができました。すべてのユーザーと認証情報がディレクトリ ツリーに含まれているにもかかわらず、リポジトリのルートとしてそのフォルダーを使用するように svnserve に指示するだけでは、コミットを許可するのに十分ではないようです。読み取りは正常に機能しますが、承認の問題によりコミットが失敗します。svnadduser で新しいユーザーを追加しようとしましたが、それも機能しません。svn がバックアップに相当するものから既存のリポジトリを「継承」できるようにするツールがある場合、私はそれを見つけていません。
コミットを有効にするには、何を確認する必要がありますか?
svn - SVNSERVE1.6.6 アップグレードまたは移行のアドバイス?
現在の svnserve (1.6.6 バージョン) セットアップから、LDAP 認証ときめ細かいレベルのセキュリティ (すべてかゼロかのアクセスではなく、フォルダー レベルの制限) を提供する別のものへのアップグレード ソリューションを探しています。
現状では、既存の svnserve はセキュリティの面でほとんど何も提供していません (ユーザー名とパスワードは同じです。SVN アクセス権を持つユーザーは、アクセスしてはならないプロジェクト/フォルダーに移動できます。私は完全に Collabnet Edge を見てきました。私たちの要件には合っていますが、残念ながら svnserve のサポートは提供していません。
明らかに、現在のリポジトリとそのすべてのチェックイン/チェックアウト履歴を保存する必要があります。どんなアドバイスでも大いに役立ちます。この種の移行を行ったことがあり、ドキュメントを共有してくれる人がいれば、それはすばらしいことです。ありがとう。カーシック
macos - Mac での Subversion EADDRINUSE
複数の Windows システムから何年も使用してきた Subversion サーバー (svn://server/directory でアクセス) があります。現在、Mac で開発を行っていますが、次のような単純なコマンドを使用しても、svn でそのサーバーにアクセスできません。
(有罪を保護するためにサーバーとディレクトリの名前が変更されます)
すべての svn コマンドがハングし、強制終了する必要があります。(^c は機能しません。^z して強制終了する必要があります...) コンソール ツールを確認すると、最後のメッセージは次のとおりです。
サーバーを確認すると、svnserve プロセスがポート 3690 でリッスンしています。そのため、Mac で netstat -a を実行しましたが、ポート 3690 には何もリストされていません。
数時間の検索で見つけたヒントはこれで終わりです。どんな助けでも大歓迎です!
ありがとう!
windows - Windows 64 ビットで DIGEST-MD5 を使用する SVN svnserve および SASL に関する問題。(Win 7 および Server 2008)
Subversion 1.8.5 + SASL2 を Windows 7 または Server 2008 で動作させようとしていますが、いずれも 64 ビットです。DIGEST-MD5 を使用した SASL からのローカル暗号化が必要なだけです。LDAP、AD、SSPI、またはその他の認証方法は必要ありません。
私はこれに 2 日間苦労してきたので、私が試したさまざまなことをすべて文書化することは、助けを求める価値のある方法ではありません。
私が見つけたすべてのリンク、チュートリアルなどは、これが XP マシン、Server 2003、または 32 ビット マシンでかなり簡単であることを示しているようです。しかし、私の環境は私を頭痛の種にするのに十分逸脱しているようです.
私の結論は、svnserve/sasl ライブラリは sasldb ファイルを読み取れないということです。これが私が行ったことと、その結論を引き出す方法です。
サーバーのセットアップに関する章の指示に従っています。これも役に立ちました: http://tortoisesvn.net/sasl_howto.html (そして、これの多くは「ネット全体で繰り返されています」)
(ドキュメントの多くは、レジストリの「キー」SearchPath および ConfFile を追加すると述べていますが、CollabNet および Cyrus インストーラーはこれらのキーの下に「文字列」を追加しました...ドキュメントで修正する必要がある可能性が高いものです。また、Wow6432Node についても認識しています。 64 ビット環境の 32 ビット アプリの場合)
Linux(Ubuntu)でセットアップ全体が機能するようになりました。だから、DIGEST-MD5 暗号化を設定してユーザーを追加する方法を知っています。(Windows が必要な理由は、マシン上で Windows ビルドも行っているため、Windows 環境が必要です)
私は CollabNet、Win32 ビルドを使用しています (ただし、x64 ビルドも試しました)。既に存在する Sasl ライブラリが付属していますが、sasldb を管理するための実行可能ファイルはありませんでした。そこで、sourceforge (cyrus-sasl-2.1.26-static-x86) から Sasl のバイナリもダウンロードして、sasldb ファイルを作成および管理できるようにしました。
背景は十分。私の問題は、エラーが発生していることです:
SASL(-13): ユーザーが見つかりません
ユーザーはDBファイルにあります。そこに置いて、sasldblistusers2 コマンドで見ることができます。
興味深いことに、これらは Windows バージョンで 3 回リストされています。
me@TheRealm: ユーザーパスワード
me@TheRealm: cmusaslsecretOTP
me@TheRealm: cmusaslsecretSRP
しかし、Linux マシンで作成した sasldb の最初の行に 1 回だけリストされています。
最初にコマンドラインから svnserve を実行しています。そして、物事が機能するようになり、サービスとしてインストールする準備が整うまで続けます。
残念ながら、実行が libSasl に入ったように見えた後、エラー メッセージは 1 つも報告されません。
ここに私が推測した流れは次のとおりです。
クライアント -> Svnserve ->libSasl -> SearchPath レジストリ -> ライブラリ -> ConfFile レジストリ -> Sasldb ファイル
そのため、上記のパスに沿っていくつかの設定を体系的に破損して、エラーの内容を確認しました。
パスワードファイルのみを使用するように subsersion.conf を変更しました。すべてが良いです。
libSasl を削除しました - 明らかに、サーバーは起動さえしませんでした。
SearchPath を変更しました - 「svn could not get list of...」で失敗しました。
私はそれを元に戻し、「ユーザーが見つかりません」になりました。Ok
svn.conf ファイルを削除しました。「svn could not get list...」を取得しました。
元に戻し、ConfFile の設定を変更しました。同じエラー:「svn はリストを取得できませんでした...」
svn.conf のエントリ「mech_list: DIGEST-MD5」を破損しました。同じエラー:「svn はリストを取得できませんでした...」
したがって、すべてが適切に設定されている場合、「ユーザーが見つかりません」というエラーが表示されます。
「sasldb_path:」エントリを削除または変更しても、「user not found」エラーが発生します。
私の結論は、server/sasl ライブラリは svn.conf ファイルに到達するためのすべてのステップを見つけており、そこから「mech_list:」行を読み取っているので、指定した sasldb ファイルの名前を見つけることができるはずです。 .
しかし、何らかの理由で、実際にはファイルを開くことができないか、開いたとしても、追加した名前が見つかりません。
ファイルを移動し、権限を変更しました。変わりはない。
sasldb ファイルを Linux マシンから Windows マシンにコピーしました (名前が 1 つしかないファイルを読み取ろうとしており、Linux インストールで動作することがわかっています)。しかし、違いはありませんでした。
誰かアドバイスはありますか?
これを 64 ビット システムで動作させた人はいますか?
助けてくれてありがとう。
-スコット
svn - Mac で svn://localhost にアクセスできない
Mac で (デーモン モードで) を使用して SVN サーバーを起動しましたが、またはsvnserve -d
を介してリポジトリにアクセスすると機能しません。svn://localhost
svn://192.168.0.1
リポジトリをセットアップしました/Projects/SVNRepostiries/MyProject
上記にフルパスを追加しようとしましたが、まだ機能しません。私が使用する場合
ユーザー名とパスワードの入力を求めるプロンプトが表示され、svn のユーザー名とパスワードは受け入れられません。これを引き起こす可能性のあるもの。マウンテンライオンを使用しています。
svn - svnsync スレーブからマスターへ
Hj、alll - 2 つのサーバー centos で svn 1.6 を実行する必要があります: マスター: 1.9、スレーブ: 1.12 - svnsync を使用して、マスター リポジトリのスレーブ リポジトリを作成します。- すべての svnsync マスター サーバーからスレーブ サーバーへの接続は非常に良好です。
- SVN マスターが死ぬという問題がありますか? 私は使用をスレーブサーバーに変更しています。
- しかし、svn Master = OK の後、db Slave を同期したい -->> Master????
そして、助けは大いに役立ちます、どうもありがとう。