問題タブ [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 - SVN リポジトリ内の大きなバイナリ コミットを特定し、潜在的に削除する方法は?
私は、3 年以上経過し、6,100 件以上のコミットが含まれ、サイズが 1.5 GB を超える SVN リポジトリを使用しています。新しいサーバーに移動する前に、SVN リポジトリのサイズを縮小したい (完全な SVN エクスポートのサイズについて話しているのではなく、サーバー上に存在する完全なリポジトリを意味します)。
現在のリポジトリには、すべてのソフトウェア プロジェクトのソース コードが含まれていますが、次のような重要性のない比較的大きなバイナリ ファイルも含まれています。
- 多数のサードパーティ ツールのフル インストーラー。
- .jpg および .png ファイル (同じフォルダーにある PSD の未変更のエクスポート)。
- Bin および Obj フォルダー (これらは、次のコミットで「svn 無視」されます)。
- Resharper ディレクトリ。
これらの大きなファイルの多くは、追加されてから「SVN 削除」されており、最大の犯罪者を特定するというさらなる問題を引き起こしています。
次のいずれかを行います。
- すべてのソフトウェア プロジェクトのコードのみを含む新しい SVN リポジトリを作成します。コピーしたファイルが古いリポジトリからの SVN 履歴を維持することが非常に重要です。
- 大きなバイナリ コミットとファイルを既存のリポジトリから削除します。
これらのいずれかが可能ですか?
svn - 所有しているSVNリポジトリのタイプを確認するにはどうすればよいですか?
特定のSVNリポジトリで使用されているファイルシステムの種類を確認するにはどうすればよいですか?svnadminを使用して新しいリポジトリを作成したいのですが、サーバー上にすでに存在する他のリポジトリと一貫した設定で新しいリポジトリを作成していることを確認したいと思います。
他のすべてがシステム上でFSFSである場合、berkleydbリポジトリをセットアップしたくありません。
/ repositoryname / db / fs-typeを確実に調べることはできますか?
svn - Subversion はどのように正確にリポジトリにファイルを保存しますか?
Subversion book を読んだところ、Subversion は個々のファイルを保存するのではなく、ディスク容量を最小限に抑えるためにデルタのみを保存することが明らかでした。Subversion はバイナリ ファイルでも同じことを行います (これは以前は CVS の大きな弱点でした)。
しかし、私は正確なメカニズムを理解していません。ファイルをコミットするとどうなりますか?
- Subversion は差分のみを保存します (そして既に古いバージョンを持っています)
- Subversion は以前のバージョンを削除し、新しいファイルをそのまま保存し、必要に応じて古いバージョンを「再作成」するために逆差分を作成します。
- 私が考えていなかった他の何か。
最初のケースが最も論理的に見えるかもしれません。しかし、これは別の問題を提起します。Subversion リポジトリに 1000 件のコミットを含むファイルがあり、新しい開発者がクリーン コピーをチェックアウトした場合、Subversion は元のバージョンを取得し (初期インポート)、結果を返す前に 1000 の差分を適用する必要があります。これは正しいです?最新バージョンも保持されるファイルのキャッシュのようなものはありますか?
基本的に、svn リポジトリの内部に関する情報はどこで見つけることができますか?
更新:どうやら、Subversion のバックエンドがこれに大きな役割を果たしているようです。現在または執筆中、FSFS はオプション 1 を使用し、BDB はオプション 2 を使用します。ありがとう msemack!
svn - チェックインしたsvnフォルダーはサーバーのどこにありますか?
何かを理解しようとする。サーバーに ad:\svn\repository を作成しました。フォルダーをコミットしましたが、d:\svn\repository に戻ってもそれらが表示されません。それらはすべてデータベースにありますか?すべてのリポジトリはそのメイン フォルダに移動し、svn はそれらを追跡しますか? 2 つのプロジェクトがある場合はどうなりますか?
ありがとうございました。
svn - Windows 用の SubVersion 1.4 実行可能ファイルを入手する
db/format に含まれる古いリポジトリで作業する必要があります
この質問から、これはバージョン 1.4 であることを理解しています。
db/format を含む 1.5 の実行可能ファイルしかありません。
1.5 を使用して 1.4 リポジトリを検証しようとしましたsvnadmin
が、失敗します
誰かがこれを修正する方法についてアイデアを持っているなら、それは素晴らしいことです. 私の現在の作業計画は、1.4 の実行可能ファイルを入手することです。
私が抱えている問題は、かなりの量の検索を行ったにもかかわらず、SubVersion 1.4 の実行可能ファイルのダウンロードが見つからないことです。
どんな助けでも大歓迎です。
svn - Subversion リポジトリ タイプ
リポジトリが BerkeleyDB を使用しているか FSFS を使用しているかを確認するにはどうすればよいですか?
svn - バージョン1.6.2からのCollabnetSubversionアップグレードパス-FSFS形式を使用
Collabnet Subversionを使用しており、バージョン1.6.2で、FSFS形式のリポジトリを使用しています。Windows2003サーバーの場合。
Subversion Edgeにアップグレードしても、既存のFSFSリポジトリを保持できますか?
答えが「明らかなはい」であることを願っていますが、その答えはどこにも見つかりません。ありがとう。
PSこれは実際にはプログラミングの質問ではないので、serverfaultで質問しましたが、2日以内に受信して回答しなかったため、「実際の」開発者コミュニティに質問しました。
svn - Subversion FSFS - how are revisions stored in the repository?
I'd like to understand how subversion stores revisions in FSFS, and how a view/shapshot is constructed for a given revision number.
What I have gleaned from Googling is that FSFS is a simple directory structure, with sub-directories for each revision like:
Presumably only the changes (deltas) are recorded under each revision directory. So does this mean that when constructing the view/snapshot for revision N, all the deltas from 0 to N have to be looped over?
Any links to resources on this much appreciated.
Thanks
svn - 350GB SVN リポジトリは、ブランチ/タグなどの最も単純なタスクでも、少なくとも 1MB のリビジョンを作成します
これはすべて、リポジトリのサイズが 1 日あたり 1 GB ずつ増加していることに気付いたときに始まりました。簡単なテストをしました。サイズが 35KB の既存のフォルダーのブランチ/タグを作成しました。リビジョン番号をメモして、リビジョン$REPO/db/revs/<K-rev>/rev-number/
のサイズを確認しました。1メガバイトでした。それは怪しいですね。ここで何が間違っているのかについてのアイデア。私のリポジトリのサイズは約 350GB で、リビジョンは約 600,000 です。
PS私はすでにリポジトリ全体の再構築を開始して、それが違いを生むかどうかを確認していますが、完了するまでにおそらく数日かかるでしょう.
linux - 既存の大規模な SVN リポジトリをリシャーディングする
かなり大きな SVN リポジトリ (50 GB、100000 以上のリビジョン) があります。作業は非常に遅く、私の推測では、これは db/revs と db/revprops のフラットなディレクトリ構造 (各リビジョンが 1 つのファイル) にあると推測されます。
SVN 1.5 (Linux サーバー上) で FSFS 形式を使用していますが、リポジトリは古い SVN バージョンで作成されています。今、私はSVN 1.5が「シャーディング」をサポートしていることを読み、この機能がリビジョンを複数のディレクトリに配布するため、単一のディレクトリにそれほど多くのファイルが含まれないことを理解しました。これはかなり便利に思えますが、残念ながら、この機能は SVN 1.5 で新しく作成されたリポジトリでのみ使用されるようです。
大規模な既存のリニア リポジトリをシャード リポジトリに変換するにはどうすればよいですか? マニュアルには「fsfs-reshard.py」というツールが記載されていますが、このスクリプトには「このスクリプトは未完成であり、ライブ データで使用する準備ができていません。信頼してください。」と書かれています。だから絶対に使いたくない。代替手段はありますか?