1

私は開発タスクに SVN を使用していますが、まだ多くのファイルを RCS で管理しています。なぜなら、プライベート SVN リポジトリの作業コピーでそれらを編集するのは合理的ではないように思われるからです (それらは多くの場合、その場でテストするのが最適な構成ファイルに過ぎないため) )。また、SVN の管理下に置くファイルがある場所にリポジトリの作業コピーを用意するのも合理的ではないように思われるので、代わりに RCS を使用します。

理想的には移動してはならない/インプレースで編集およびテストされるファイルを管理するためのアプローチは何ですか?

より正確に言うと:私は同等のものを持ちたいです

  • 書き込み保護された file.txt を持つ
  • 「co -l file.txt」(RCS) などのコマンドで編集可能にします
  • その場で編集してすぐにテストする機能
  • 「ci -u file.txt」(RCS) のようなコマンドで変更を記録し、コメントを追加して再度読み取り専用にします
  • 他のユーザーも同じ場所でこれを実行できる必要があります
  • ただし、バージョン情報は別のサーバー上の安全な場所 ​​(おそらく svn 担当者) に移動する必要があります
4

4 に答える 4

3

私はExt3cowなどのコピー オン ライト ファイル システム (CoW) (免責事項、私はその貢献者の 1 人です) を使用して、多くのものを管理しています。例えば:

  • スナップショットを使用して、種類に関係なく、リポジトリ全体をロールバックします。たとえば、git ツリーを完全に台無しにした場合、cp -dpfR ./@123456789 ./ を実行できます。これにより、エポック 123456789 と同じように、作業リポジトリがファイルに置き換えられます。
  • バージョニング/スナップショットを独自の不変 VCS として使用し、/etc などに最適です。過去のファイルは削除または変更できないため、各スナップショットは単一のファイルまたはツリー全体の不変のリビジョンです。

通常、私は分散型 VCS を好むため、Subversion ではなく Git または Mercurial を使用しますが、現在はリポジトリをローカルのバージョン管理 FS に保持することを主張しています。

Windows ユーザーの場合、Python で完全に実行された移植可能な実装がいくつかあると思いますが、確かではありません。

于 2009-01-02T06:16:29.880 に答える
3

前に述べたように、git や Mercurial などの DVCS を使用する必要があるものに SVN を使用しようとしています。

誰もが独自のリポジトリを持ち、それを mais の中央リポジトリ (SVN リポジトリなど) と同期できます。

これは実際に私自身のプロジェクトで使用するものです。

私が得られなかった唯一のことは、ロックが必要な理由です。ファイルは読み取り専用である必要はありません。SVN がマージを行う方法のために、おそらくそのように考えているでしょう (ほとんどの場合、手作業で行う必要があります)。Git は本当に魔法のように機能し[1]、ほとんどのマージは人間の介入なしで行われます。

[1] わかりました、それは魔法ではありません。SVN がファイルを気にするのに対し、Git はコードのチャンクを気にします。このようにして、コードのまったく同じチャンクを変更しない限り、同時に 2 回変更されたファイルをマージできます。

于 2009-01-03T14:06:54.243 に答える
2

このような状況では、Git、Mercurial、Bazaar などの最新の分散バージョン管理システムが最適なツールです。分散の側面 (ここでは明らかに重要ではありません) のためではなく、インプレースでリポジトリを作成するのが非常に簡単だからです。

Mercurial では、次のことを行うだけです。

cd ~/directory
hg init

Git の場合も同様です。

cd ~/directory
git init
git add .

すべての作業コピーは完全なリポジトリであり、必要に応じてバックアップとしてリモート サーバーにプッシュできます。さらに、すべてのリポジトリ データは 1 つの隠しディレクトリに格納されるため、大量の.svnディレクトリがあちこちに存在するという問題を回避できます。

Mercurial を使用/etcしてサーバーを管理していますが、非常に便利です。注意すべきことの 1 つは、(RCS のように) ファイルを読み取り専用としてマークしないことですが、これは利点だと思います。

于 2009-01-03T13:26:25.197 に答える
0

SVN リポジトリは無料であることを認識する必要があります。いくつでも作成できます。

また、リポジトリ全体をチェックアウトする必要がないことも理解する必要があります。あなたが言った:

また、SVN の管理下に置くファイルがある場所にリポジトリの作業コピーを用意するのも合理的ではないようです。

あなたが本当に何をしようとしているのかはわかりませんが、あなたが SVN を独特な方法で使用しているという印象を受けました。

于 2009-01-02T15:27:55.310 に答える