Subversion (略して SVN) は、オープンソースのバージョン管理システムであり、RCS や CVS と比較してブランチ管理システムを採用しており、CVS を置き換えることを設計目標としています。

転覆

( SVN、略して svn) はオープンソースのバージョン管理システムであり、 RCSや CVSと比較してブランチ管理システムを採用しており、CVS を置き換えることを設計目標としています。インターネット上の多くのバージョン管理サービスは、CVS から Subversion に移行しました。

転覆
開発者 Apache ソフトウェア財団
初回リリース 2000 年 10 月 20 日
現行版 1.14.2 (2022 年 4 月 12 日) [±]
ソースコードリポジトリ
プログラミング言語 C
オペレーティング·システム クロスプラットフォーム
タイプ バージョン管理
合意 Apacheライセンス
Webサイト subversion.apache.org

歴史

CollabNet は、CVS の動作方法と同様のバージョン管理システムを作成することを目的として、2000 年に SVN プロジェクトを作成しました。ただし、本製品はCVSのバグや一部の機能不足を修正・補足しております。

2000 年 2 月、彼らは CVS によるオープンソース開発 (Coriolis、1999 年) の著者である Karl Fogel に連絡し、この新しいプロジェクトに取り組む意欲があるかどうか尋ねました。偶然にも、カールはすでに友人のジム ブランディと新しいバージョン管理システムの設計について話し合っていました。1995 年、二人は CVS 技術サポートを提供する Cyclic Software という会社を設立しました。会社は売却されましたが、依然として日常業務で CVS を使用しています。CVS の使用には制約があるため、Jim はバージョン管理されたデータを管理するより良い方法について慎重に検討する必要がありました。彼はすでに「Subversion」という名前を持っていただけでなく、Subvesion データベースの基本設計も持っていました。CollabNet が電話をかけると、カールはすぐにプロジェクトに取り組むことに同意しました。Jim は上司の RedHat Software に、期限なしでこのプロジェクトに取り組む許可を求めました。CollabNet はカール・コリンズ・サスマンとベン・コリンズ・サスマンを雇い、5 月に設計の詳細を開始しました。Greg Stein と CollabNet の Brian Behlendorf および Jason Robbins の適切な推進のおかげで、Subversion はすぐに活発な開発者コミュニティを惹きつけました。これは、多くの人が CVS に行き詰まった同じ経験をしていて、最終的にそれについて何かをする機会を歓迎していることを物語っています。

オリジナルの設計チームは、いくつかの単純な目標を設定しました。彼らはバージョン管理方法論において新境地を開拓したいわけではありません。彼らは CVS にパッチを当てたいだけなのです。彼らは、Subversion は CVS に似ていて、同じ開発モデルを維持しながらも、CVS の最も明らかな欠点を複製しないようにする必要があると決定しました。これは必ずしも CVS の完全な代替品ではありませんが、CVS ユーザーがほとんど手間をかけずに切り替えることができるように、CVS に似ている必要があります。

14 か月のコーディングを経て、2001 年 8 月 31 日、Subversion は「自己寄生」することができました。つまり、Subversion 開発者は、Subversion ソース コードの管理に CVS を使用するのをやめ、代わりに Subversion を使用し始めました。

CollabNet がプロジェクトを開始し、今でも作業の大部分に資金を提供しています (多数の熱心な Subversion 開発者に給料を支払っています)。しかし、Subversion はほとんどのオープンソース プロジェクトと同様に、より多くのことを実行できる人を奨励する、緩やかで透明なルールによって管理されています。CollabNet の著作権ライセンスは Debian FSG と完全に互換性があります。言い換えれば、CollabNet や他の誰かから許可を得る必要がなく、誰でも自由に Subversion をダウンロード、変更、再配布することができます。

2009 年 11 月に、Subversion はApache Incubatorプロジェクトに受け入れられました。

2010 年 1 月に、これは正式にApache Software Foundationのトップレベル プロジェクトになりました。

特性

  • 統一されたバージョン番号。CVS ではファイルごとにバージョン番号が順番に配置されており、ある時点における各ファイルのバージョン番号は異なります。Subversion では、送信に関与していないファイルも含め、すべてのファイルに同じ新しいバージョン番号が追加されます。したがって、各ファイルのバージョン番号はいつでも同じになります。同じバージョン番号のファイルは、ソフトウェアの 1 つのバージョンを構成します。
  • アトミックコミット。一度に単一のファイルを送信するか複数のファイルを送信するかにかかわらず、それらは全体として送信されます。通信途絶などの事故によるデータベース不備やデータ破損が発生することはありません。
  • ファイルの名前変更、コピー、削除などのアクションはバージョン履歴に保存されます。
  • バイナリファイルについては、省スペースな保存方法(簡単に言うと前バージョンとの差分だけを保存する)を採用しています。
  • ディレクトリにはバージョン履歴もあります。ディレクトリ ツリー全体を簡単に移動またはコピーでき、すべてのバージョン レコードを保持できます。
  • 分岐によるオーバーヘッドはほとんどありません。
  • 最適化されたデータベース アクセスにより、データベースにアクセスせずに一部の操作を実行できます。これにより、データベース ホストとデータベース ホスト間の不要なネットワーク トラフィックが大幅に削減されます。
  • メタデータ管理をサポートします。各ディレクトリまたはファイルは、いくつかの非表示のキーと値のペアであるプロパティ (プロパティ) を定義できます。ユーザーはプロパティの内容をカスタマイズでき、プロパティはファイルの内容と同様にバージョン管理の範囲内にあります。
  • FSFS とBerkeley DB の両方のデータベース形式をサポートします。

エンタープライズレベルの破壊

Subversion マルチサイト

エンタープライズレベルのアプリケーションの場合、Subversion には複数の場所での並行開発など、固有の欠点があります。Wandisco は、この目的のために Subversion マルチサイトを開発しました。これにより、リモート ピア サーバーの自動同期が可能になり、並行開発とリモート バックアップがサポートされます。

Subversion に基づく ALM プラットフォーム - UberSVN

ALM (Application Lifecycle Management) はソフトウェア構成管理の将来のトレンドであり、Subversion を含むさまざまなソフトウェア バージョン ツールをこれに統合する必要があります。現在、UberSVN は Subversion 上に構築された唯一の ALM プラットフォームであり、共同開発とソーシャル コーディングを実現します。

不十分

  • 設定できるのはディレクトリのアクセス権限のみであり、個別のファイルのアクセス権限は設定できません(現在、単一ファイルへのアクセスはwandiscoアクセス制御などの補助モジュールを介して実現できます)。
  • データベースはバイナリ形式であり、他のソフトウェアを使用してデータベースの内容を簡単に読み取ることはできません。

使用法

2006 年の Subversion のユーザー数は従来の CVS よりもはるかに少ないですが、多くのオープングループが CVS を Subversion に変換することを決定しました。Subversion に変換されたグループには、FreeBSDApache Software FoundationKDEGNOMEGCCPythonSambaMono、およびその他の多くのグループが含まれます。TracSourceForge 、 CollabNet、CodeBeamer などのプロジェクト コラボレーション ソフトウェア、およびEclipseNetBeansなどのIDE がSubversion のサポートと統合を提供するため、多くの開発チームが Subversion に切り替えますさらに、SourceForge.netなどの一部のフリー ソフトウェア開発コラボレーション ネットワークでは、CVS の提供に加えて、プロジェクト開発者がソース コード管理システムとして Subversion を使用できるようになりました。JavaForge、Google Code、および BountySource は、Subversion を公式のソース コード管理として使用します。システム、システム。

2009 年に、CVS サービスの大部分が SVN に切り替わりました。現時点では、CVS はすでにメンテナンスを停止しています。ただし、CVS には適切な代替手段もあります。

SVNクライアントグラフィックソフトウェア

TortoiseSVN

これは、Windows で非常に人気のあるクライアント ソフトウェアです。ファイル マネージャーと非常によく統合されています 。ファイルまたはディレクトリの右クリック メニューを使用して、ファイル マネージャーを通じて SVN 操作を完了できます。TortoiseSVN 公式ウェブサイト(ページ アーカイブ バックアップ、保存場所)

カタツムリSVN

Mac OS X プラットフォームの TortoiseSVN に似たグラフィカル SVN クライアントは、ファイルのステータスを自動的にマークし、右クリック メニューからさまざまな一般的な SVN 機能を提供できます。 SnailSVN をダウンロード (Mac App Store) (ページ アーカイブ バックアップ、保存場所)

アンクシュブン

Subversion 操作を Visual Studio の SVN クライアント ソフトウェアに統合します。 Ankhsvn 公式ウェブサイト(ページ アーカイブ バックアップ、保存場所)

サブクリプス

Subversion の操作を Eclipse の SVN クライアント ソフトウェアに統合します。 Subclipse公式サイトページアーカイブバックアップ、保存先)

破壊的

サブクリプスと同じ。 Subversive 公式 Web サイト(ページ アーカイブ バックアップ、保存場所)

SCPプラグイン

Mac OS 上の TortoiseSVN に似たソフトウェア。 SCPlugin 公式ウェブサイト(ページ アーカイブ バックアップ、保存場所)

SVNx

Mac OS X 上のクライアント ソフトウェア。 SVNx 公式ウェブサイト(ページ アーカイブ バックアップ、保存場所)

eSVN

Unix における TortoiseSVN に似たソフトウェア。 eSVN公式サイトページアーカイブバックアップ、保存先)

どこにでも

Linux では、KDE ​​デスクトップ管理で TortoiseSVN と同様のソフトウェアを使用します。 kdesvn公式ウェブサイト

うさぎVCS

Linux では、Gnome デスクトップ管理で TortoiseSVN と同様のソフトウェアを使用します。 RabbitVCS 公式ウェブサイト(ページ アーカイブ バックアップ、保存場所)

Gトークアバウト

Windows上でのディスカッション機能を統合したクライアントソフトウェア。 GTalkabout公式サイトページアーカイブバックアップ、保存先)

外部リンク

この記事は Wikipediaから引用しています。このテキストは、 クリエイティブ コモンズ - 表示 - 継承に基づいてライセンスされています。メディア ファイルには追加の規約が適用される場合があります。

おすすめ

転載: blog.csdn.net/weixin_40191861/article/details/133010849