問題タブ [fsfs]
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 - Subversionファイル内の長さの行を読み取れません
コミットしたとき、エラーはありませんでした。今、私はチェックアウトしようとしました、そして私はこのエラーを得ました
ファイル'c:\ svn \ db \ revs \ 0\14'の長さの行を読み取れません
古いリビジョンを試しましたが、どちらも機能しません。それは私が破壊ですべてを失ったことを意味しますか?
svn - CentOS5で使用するSubversionファイルシステムはどれですか?
Berkeley DBまたはFSFSのどちらを使用できますか?どちらを使用すればよいですか?また、WindowsXPマシンのリポジトリをTortoiseSVNで使用します
svn - Subversion リポジトリが BDB または fsfs バックエンドで作成されたかどうかを判断するにはどうすればよいですか?
既存の Subversion リポジトリにたどり着いた場合、それが BDB または fsfs バックエンド ストレージ メソッドで作成されたかどうかをどのように判断できますか?
svn - サーバー間でのSubversionリポジトリの移行
サーバーを移動中です。最後の項目の1つは、svnリポジトリーを移動しています。
さまざまなsvnリポジトリの約10ギガがあります。これらは、次のコマンドを使用して作成されました。
svnadmin create --fs-type fsfs
サーバーA(元の)にはsvn 1.4があり、サーバーB(ターゲット)にはsvn1.6があります。
私の考えではrsync
、リポジトリのセット全体を移行するために使用することでした(それらはすべてサーバー上の1つのフォルダーにあります)が、移行されないものがあるかrsync
、これを機能させるために特別なスイッチが必要になるのではないかと心配しています。
ほとんどのオンラインチュートリアルでは、たとえばを使用して、一度に1つのリポジトリを移動することについてのみ説明していますが、svnadmin hotcopy
約100程度を一緒に移動する必要があります。これはそれについて行く正しい方法ですか?
svn - What implications do large changesets have on Subversion?
I recently committed a large changeset (~7,000 files) to my svn repository. These 7,000 files only make up 5% of the overall size of the repository which uses FSFS backend and served with svnserve 1.7. Ever since, checkouts to revisions after this mega-commit take 20x longer.
What is Subversion doing internally that is causing the slowdown and is there a way to fix this?
Updates
While manually checking out the bad revision I can see the point at which the checkout starts to slow down. The checkout starts be adding files to the working copy very quickly (you can't read the tty output quickly enough). Once the checkout reaches a certain directory (bad revision adds 2,000 files to this directory (which contains 17,000 files already)) files are added to the working copy significantly slower (like 5 files a second) for the rest of the checkout. The revision just before the bad one adds files to the working copy very quickly the entire time. The files in this directory are about 1KB each.
I compiled my own version of
svnserve
for versions 1.6 and 1.7 --with-debuging and --with-gprof so that we could get some insight into what's going on. Some further poking shows that some enhancements made in svnadmin 1.7 related to in-memory caching are actually killing it at this revision. I.e., serving the repository with svnserve 1.6 makes this problem go away. I'm guessing it's the in-memory caching discussed at http://subversion.apache.org/docs/release-notes/1.7.html#server-performance-tuning based on the gprof profiles for checkout times at at the bad revision (and the one right before it). At rBAD, certain svn fsfs to memory cache functions are called about 2,000,000,000 times more than in rGOOD.
performance - SVN ls コマンドが超遅い
svn ls -vが通常のsvn lsよりも ~250 長く必要なのはどうしてでしょうか?
file:// スキーマを使用しても、どのトランスポートを使用しているかは問題ではないようです。違いはありません。また、memcached を有効にしてみましたが、改善もありませんでした。
面白いことに、最上位のディレクトリでは、このコマンドが最も遅くなり、深くなるほど速くなります。また、ディレクトリ内のアイテムの数は問題ではないようです。
クライアントとサーバーの両方に svn バージョン 1.7.1 を使用しています。そしてFSFSレポ形式。
ここでタイミング
svn - svn subversion コミットに失敗しました repoPath/db/transactions/nnn.n.txn/transactions を削除できません
リポジトリにコミットしようとすると、奇妙なエラー Can't remove 'repoPath/db/transactions/96479-3.txn/transactions' が表示されます。コミットは実際にはファイルの追加と更新の両方で発生しますが、クライアントはコミットが成功したことを知るために更新されません。クライアントでさらに更新を行うと、それ自体のファイルの競合が発生します。
Linux で動作するバージョン 1.4.2 (r22196)。Apacheフロントエンドv 2.2.3を使用
リポジトリは実際には、本番システムからのすべてのファイルのコピーです。rcp -rp sourceHost:/path ./localRepoOnQaBox を使用してファイルをコピーしました
コピー後、リポジトリパスで chown -R svn:svn を使用しました
この動作の理由は何か分かりますか?
このセットアップは本番環境で機能することを付け加えておきますが、レポをテスト環境にコピーした後、エラーが発生します。Prod はハードウェアで、QA は VM です。
svn - Subversion 1.7 で Berkeley DB を読む
形式に Berkeley DB を使用する古い Subversion データベースがあります。Subversion 用の現在の Windows バイナリ (1.7.x) をロードすると、Berkeley DB をすぐにサポートするディストリビューションはないようです。では、以前のバージョンの Subversion のコピーを持っていないので、どうすればデータを取得できますか? FSFS に変換してもかまいませんが、Subversion がそれを読み取ることができないため、初期ダンプを実行できません (エラー メッセージ「FS タイプ 'bdb' のモジュールをロードできませんでした。」)。
データを取得するためにダウンロードできるものについて何か提案はありますか? ありがとう。
svn - Subversionリポジトリに空または存在しない'/db /txn-current'
Apache Subversionリポジトリで問題が発生しましたが、最適な解決策を探しています。
Subversionリポジトリにコミットできず、エラーが発生します:
svn:E720002:コミットに失敗しました(詳細は次のとおりです):svn:E720002:ファイルを開くことができません'C:\ Repository \ myproject \ db \ txn-current':システムは指定されたファイルを見つけることができません。
空のtxn-current
ファイルを作成すると、コミット時に別のエラーが発生します。
svn:E070014:コミットに失敗しました(詳細は次のとおりです):svn:E070014:ファイルを読み取れません'C:\ Repository \ myproject \ db \ txn-current':ファイルの終わりが見つかりました
注:リポジトリのバックアップがないため、手動で問題を修正する必要があると想像してみてください。
同じ動作がStackOverflowですでに説明されています:svn commit問題、「d:\ UC \ db \ txn-current」を読み取れません:ファイルの終わりが見つかりました。しかし、そこにある答えが本当に役立つとは思えません。
\db\txn-current
手動で作成して0
そこ(または他の整数)を配置することは良い解決策ではないと思います。近い将来、予期しない動作が発生する可能性があると思いますが、svnadmin recover
および/またはsvnadmin verify
作成および/または入力しないでくださいtxn-current
。この場合、これらのコマンドは無力です。
FSFS記述 ファイルによると\db\txn-current
、次のトランザクションキー番号が含まれています。ファイルに整数を入れると、コミットでき、整数が1ずつ増えます。
ただし、無関係な整数を入力すると、レポで何かが壊れる可能性があるため、これが発生することは望ましくありません。
「txn-current」ファイルは、36進数のみを含む1行のテキストを含むファイルです。現在の値は、トランザクションのベースとなるリビジョン番号とともに、次のトランザクション名で使用されます。このシーケンス番号により、トランザクションが中止され、同じリビジョンに基づく新しいトランザクションが開始された場合でも、トランザクション名が再利用されないことが保証されます。FSFSがこのファイルに対して実行する唯一の操作は、「取得および増分」です。この操作中、「txn-current-lock」ファイルはロックされます。
\db\txn-current
問題を適切に修正するにはどうすればよいですか?ファイルにはどの整数を入れる必要がありますか?これを解決する他の方法はありますか?
編集:
db/current
同じ問題(存在しないか空の場合)をファイルで解決するにはどうすればよいですか?
svn - svnadmin が正しいリポジトリ バージョンを作成していない
svnadmin 1.7.7 で SVN リポジトリを作成しましたが、リポジトリの形式が間違っています。私は結局得ます
リポジトリをロードしようとすると。
私が読んだところによると、バージョン 1.7.7 はフォーマット 12 のリポジトリを作成するはずです。私は何が欠けていますか?