14

私はつい最近、SVN の WebDAV 用の自動バージョン管理機能について知りました。これが適切なバージョン管理の代わりになるものではないことは理解していますが、変更セットを文書化するメッセージを使用すると、Dropbox の堅固で安全な代わりになると思います (優れた GUI と Web ページを除く)。ただし、自動バージョン管理でのコミットは頻繁に行われるため、Git または Hg の方がデータベースがコンパクトであるという理由だけで、これにより適していると思います (ただし、物事の分散された性質により、自動化が解決しにくくなる可能性があるかどうかは疑問に思います)。競合)。

誰かが知っている限り、これは Git または Hg を使用して実装された機能ですか?

4

2 に答える 2

10

この問題に対して、市場には 1 つのオプションがあります。

WsgiDAVは、DVCS mercurialやその他のファッショナブルなストア (couchdb、mongodb、MySQL、App Engine)など、さまざまなバックエンドを提供する Python WebDAV サーバーです。現在のバージョンでは、「これは製品コードではありません」と主張されていることに注意してください。

SVN の WebDAV の自動バージョン管理とはバージョン管理が異なるようです。これにより、一度に複数の更新で構成される変更セットをコミットできます (「編集」フォルダーから「リリース済み」フォルダーにドラッグするなどにより)。一方、SVN + WebDAV の自動バージョン管理では、あまりにも多くのコミットが作成され、したがって、完全に自動バージョン管理というわけではありませんが、コマンドライン アクセスを必要とせず、IMO より優れたモデルです。

これをもっと一般的に考えてみると... 自動コミット WebDAV+SVN のことはまったくお勧めしません。あなたが言うように、「自動バージョン管理でのコミットは頻繁に行われます」。しかし、それらは非常に頻繁に発生し、通常は意味がありません。

私自身の解決策は、サーバー上で git または mercurial リポジトリを実行し、cron ジョブを使用して定期的にバージョン変更を行うことです。醜いですが、機能的で、特別なサーバーのセットアップや特別な apache モジュールなどは必要ありません。さらに良いことに、必要に応じて、WebDAV、SFTP、windows/apple ファイル共有、またはローカル DVCS ミラーを介して上記のリポジトリにアクセスでき、それらはすべてシームレスに機能します。

たとえば、Git は非常に優れたファイル移動検出機能を備えているため、WebDAV アクセス自体の必要性が軽減されます。一方、これをコマンドに変換するアクセス層を通過せずに SVN チェックアウトでディレクトリを移動するとsvn mv、恐ろしい破損が発生する可能性があります。AFAICT、WebDAV + SVN の主な利点は、この方法で自分のチェックアウトを壊すのを防ぐことです。

一方、この場合、git または mercurial の「コンパクトなデータベース」は、SVN よりもそれらを優先する本当の理由ではありません。ただし、実際の同期競合に対処する必要がある場合は、優れた競合解決と一般的な低レベルの大騒ぎ/柔軟性のために、Subversion よりもどちらかをお勧めします。

于 2011-01-21T00:05:57.027 に答える
3

SVN 以外の VCS 用の自動バージョン管理をまだ誰も書いていないようです。WebDAV/DeltaV サポートは SVN サーバーに実装されているため、VCS を SVN 以外に単に切り替えることはできません。

プレーンな WebDAV アクセスはほとんどすべての DVCS で可能ですが、WebDAV クライアントのリポジトリへのアクセスと DVCS 自身のクライアントのプッシュ操作のみを有効にしますが、自動バージョン管理はできません。

詳細については、次のリンクを参照してください。

于 2010-04-30T07:01:03.763 に答える