Apache Subversion


Apache_Subversion

Apache Subversion(コマンド名svnの後にSVNと略されることが多い)は、Apacheライセンスの下でオープンソースとして配布されているソフトウェアのバージョン管理およびリビジョン管理システムです。ソフトウェア開発者は、Subversionを使用して、ソースコード、Webページ、ドキュメントなどのファイルの現在および過去のバージョンを維持します。その目標は、広く使用されているConcurrent Versions System(CVS)のほぼ互換性のある後継者になることです。 Apache Subversion 原作者 CollabNet 開発者
Apache Software Foundation
初回リリース
2000年10月20日; 20年前 (2000-10-20)
安定した放出
1.10.x
1.10.7 / 2021年2月10日; 7か月前 (2021-02-10)
1.14.x
1.14.1 / 2021年2月10日; 7か月前 (2021-02-10)
プレビューリリース
リポジトリ
svn .apache .org / repos / asf / subversion / trunk /
で書かれている オペレーティング・システム
Centos、Debian、Fedora、FreeBSD、HP-UX、NetBSD、OpenBSD、openSUSE、OpenVMS、macOS、Red Hat Linux、Solaris、SUSE Linux、Ubuntu、Windows
タイプ
リビジョン管理
ライセンス
Apacheライセンス2.0
Webサイト
Subversion .apache .org 
オープンソースコミュニティは、広くSubversionを使用しています。たとえば、のようなプロジェクトでは、Apache Software Foundation、無料パスカル、FreeBSDでは、SourceForgeの、そして2006年から2019年まで、GCC。CodePlexは、以前はSubversionリポジトリの一般的なホストでした。
Subversionは、2000年にCollabNet Inc.によって作成され、現在、貢献者のグローバルコミュニティによって構築および使用されているトップレベルのApacheプロジェクトです。

コンテンツ
1 歴史
2 特徴
2.1 リポジトリタイプ
2.1.1 Berkeley DB(非推奨)
2.1.2 FSFS
2.1.3 FSX
2.2 リポジトリへのアクセス
3 レイヤー
4 ファイルシステム
5 プロパティ
6 分岐とタグ付け
7 制限と問題
7.1 Subversionタグとブランチ
8 開発と実装
9 も参照してください
10 参考文献
10.1 脚注 10.2 ソース
11 参考文献
12 外部リンク

歴史
CollabNetは、CVSとほとんど同じように動作するが、バグを修正し、CVSに欠けているいくつかの機能を提供するオープンソースのバージョン管理システムを作成する取り組みとして、2000年にSubversionプロジェクトを設立しました。 2001年までに、Subversionは十分に進んでいたホスト独自のソースコードを、及び2004年2月には、バージョン1.0がリリースされました。 2009年11月、SubversionはApache Incubatorに受け入れられました。これは、標準のトップレベルのApacheプロジェクトになるプロセスの始まりを示しました。 2010年2月17日にトップレベルのApacheプロジェクトになりました。
バージョン オリジナルのリリース日 最新バージョン 発売日 状態
古いバージョン、メンテナンスされていません: 1.0 2004-02-23 1.0.9 2004-10-13 サポートされなくなりました
古いバージョン、メンテナンスされていません: 1.1 2004-09-29
1.1.4 2005-04-01 サポートされなくなりました
古いバージョン、メンテナンスされていません: 1.2 2005-05-21
1.2.3 2005-08-19 サポートされなくなりました
古いバージョン、メンテナンスされていません: 1.3 2005-12-30
1.3.2 2006-05-23 サポートされなくなりました
古いバージョン、メンテナンスされていません: 1.4 2006-09-10
1.4.6 2007-12-21 サポートされなくなりました
古いバージョン、メンテナンスされていません: 1.5 2008-06-19
1.5.9 2010-12-06 サポートされなくなりました
古いバージョン、メンテナンスされていません: 1.6 2009-03-20
1.6.23 2013-05-30 サポートされなくなりました
古いバージョン、メンテナンスされていません: 1.7 2011-10-11
1.7.22 2015-08-12 サポートされなくなりました
古いバージョン、メンテナンスされていません: 1.8 2013-06-18
1.8.19 2017-08-10 サポートされなくなりました
古いバージョン、メンテナンスされていません: 1.9 2015-08-05
1.9.12 2019-07-24 サポートされなくなりました
古いバージョンですが、まだ維持されています: 1.10 2018-04-13
1.10.7 2021-02-10 部分的にサポート、LTS
古いバージョン、メンテナンスされていません: 1.11 2018-10-30
1.11.1 2019-01-11 サポートされなくなりました
古いバージョン、メンテナンスされていません: 1.12 2019-04-24
1.12.2 2019-07-24 サポートされなくなりました
古いバージョン、メンテナンスされていません: 1.13 2019-10-30
1.13.0 2019-10-30 サポートされなくなりました
現在の安定バージョン: 1.14 2020-05-27
1.14.1 2021-02-10 完全にサポートされている、LTS
伝説:
古いバージョン
古いバージョン、まだ維持されています
最新バージョン
最新のプレビューバージョン
将来のリリース
リリース日はCHANGES、すべてのリリース履歴を記録するApacheSubversionのファイルから抽出されます。

特徴
真のアトミック操作としてコミットします(CVSでコミット操作が中断されると、リポジトリの不整合や破損が発生します)。
名前が変更された/コピーされた/移動された/削除されたファイルは、完全な改訂履歴を保持します。
システムは、ディレクトリ、名前変更、およびファイルメタデータのバージョン管理を維持します(タイムスタンプは維持しません)。ユーザーは、完全な改訂履歴を保持しながら、ディレクトリツリー全体を非常に迅速に移動および/またはコピーできます。
シンボリックリンクのバージョン管理。
スペース効率の高いbinary-diffストレージを備えたバイナリファイルのネイティブサポート。
Apache HTTPサーバ、ネットワークサーバ、などのWebDAV /デルタ-Vのためのプロトコル。TCP / IPを介してカスタムプロトコルを使用するsvnserveと呼ばれる独立したサーバープロセスも
分岐は、ファイルサイズに関係なく、安価な操作です(ただし、Subversion自体は分岐とディレクトリを区別しません)
ネイティブにクライアントサーバー、階層化された ライブラリ設計。
クライアント/サーバープロトコルは、双方向に差分を送信します。
データサイズではなく、変更サイズに比例するコスト。
XMLログ出力を含む解析可能な出力。
オープンソースのライセンスを取得- Apacheライセンス1.7のリリース以降に、以前のバージョンでは、Apache Software License1.1の派生物を使用しています。
国際化されたプログラムメッセージ。
マージできないファイルのファイルロック(「予約済みチェックアウト」)。
パスベースの承認。
言語バインディングのためのC# 、PHP、Pythonの、Perlの、ルビー、およびJavaの。
完全なMIMEサポート–ユーザーは、各ファイルのMIMEタイプを表示または変更できます。ソフトウェアは、表示されている以前のバージョンとの違いがどのMIMEタイプであるかを認識しています。
マージの追跡–ブランチ間のマージが追跡されます。これにより、Subversionにマージするものとマージする必要がないものを通知せずに、ブランチ間の自動マージが可能になります。
コミットをコミットグループに編成するためのチェンジリスト。

リポジトリタイプ
Subversionは、2種類のリポジトリストレージを提供します。

Berkeley DB(非推奨)
Subversionの最初の開発では、BerkeleyDBパッケージを使用していました。Subversionには、データベースにアクセスするプログラムがクラッシュまたは強制終了した場合のBerkeleyDBの使用にいくつかの制限がデータの損失や破損は発生しませんが、Berkeley DBがジャーナルを再生し、未処理のロックをクリーンアップしている間、リポジトリはオフラインのままです。Berkeley DBリポジトリでSubversionを使用する最も安全な方法は、(共有ファイルシステムを介してではなく)1人のユーザーとして実行される単一のサーバープロセスを含みます。 BerkeleyDBバックエンドはバージョン1.8で非推奨になりました。

FSFS
「FSFS」はSkyからのFreesatサービスについては、SkyからのFreesatを参照してください
。リチャード・ストールマンの本については、Free Software、 FreeSocietyを参照してください 2004年に、新しいストレージサブシステムが開発され、FSFSという名前が付けられました。多数のファイルがあるディレクトリでは、Berkeley DBバックエンドよりも高速に動作し、ロギングが少ないため、必要なディスク容量が少なくなります。
Subversion 1.2以降、FSFSは新しいリポジトリのデフォルトのデータストアになりました。
「FSFS」の語源は、Subversionがリポジトリストレージシステムに「ファイルシステム」という用語を使用していることに基づいています。FSFSは、Berkeley DBのような構造化システムではなく、オペレーティングシステムのファイルシステム内にそのコンテンツを直接格納します。したがって、これは「 FileSystem top theFileSystem」です。

FSX
FSXと呼ばれる新しいファイルシステムは、FSFSのいくつかの制限を取り除くために開発中です。バージョン1.9の時点では、本番環境に対応しているとは見なされていませんでした。

リポジトリへのアクセス
Subversionクライアントの比較
Subversionリポジトリへのアクセスは、次の方法で実行できます。
ローカルファイルシステムまたはネットワークファイルシステムクライアントから直接アクセスされます。このモードでは、file:/// pathアクセススキームを使用します。
WebDAVの/デルタV(上HTTPまたはHTTPS)を使用して
mod_dav_svnのためのモジュールはApache 2。このモードでは、
sslを使用した安全な接続のためにhttp:// host / pathアクセススキームまたは
https:// host / pathを使用します。
プレーンテキストまたはTCP / IPを介したカスタム「svn」プロトコル(デフォルトポート3690)。このモードでは、暗号化されていないトランスポートにsvn:// host / pathアクセススキームを
使用するか、
sshを介したトンネリングにsvn + ssh:// host / pathスキームを使用します。
3つの手段すべてが、FSFSリポジトリとBerkeleyDBリポジトリの両方にアクセスできます。
クライアントの任意の1.xバージョンは、任意の1.xサーバーで動作できます。新しいクライアントとサーバーには追加の機能とパフォーマンス機能がありますが、古いクライアント/サーバーのフォールバックサポートが

レイヤー
内部的には、Subversionシステムはレイヤーとして配置されたいくつかのライブラリで構成されています。それぞれが特定のタスクを実行し、開発者が必要なレベルの複雑さと特異性で独自のツールを作成できるようにします。 Fs 最低レベル。これは、ユーザーデータを格納するバージョン管理されたファイルシステムを実装します。
レポ
ファイルシステムの周りに構築されたリポジトリに関係します。多くのヘルパー関数があり、アクションが実行されたときに実行されるスクリプトなど、リポジトリが持つ可能性のあるさまざまな「フック」を処理します。FsとReposは一緒になって、「ファイルシステムインターフェイス」を構成します。 mod_dav_svn Apache2を介してWebDAV / Delta-Vアクセスを提供します Ra
ローカルとリモートの両方の「リポジトリアクセス」を処理します。この時点から、リポジトリはURLを使用して参照されます。
ローカルアクセス用のfile:/// path /、
WebDAVアクセスの場合はhttp:// host / path /または https:// host / path /、または
SVNプロトコルの場合はsvn:// host / path /または svn + ssh:// host / path /。
クライアント、Wc
最高レベル。リポジトリアクセスを抽象化し、ユーザーの認証やバージョンの比較などの一般的なクライアントタスクを提供します。Subversionクライアントは、Wcライブラリを使用してローカルの作業コピーを管理します。

ファイルシステム
Svn
  Subversionファイルシステムは「2次元」と見なすことができます。ファイルシステムアイテムを明確にアドレス指定するために、次の2つの座標が使用されます。
パス(通常のパスのUnixライクなOSのファイルシステム)
リビジョン
Subversionファイルシステムの各リビジョンには、そのリビジョンのコンテンツにアクセスするために使用される独自のルートがファイルは最新の変更へのリンクとして保存されます。したがって、Subversionリポジトリは非常にコンパクトです。システムは、改訂の数ではなく、行われた変更の数に比例してストレージスペースを消費します。
Subversionファイルシステムは、トランザクションを使用して変更をアトミックに保ちます。トランザクションは、ファイルシステムの指定されたリビジョンで動作しますが、必ずしも最新である必要はありません。トランザクションには独自のルートがあり、そのルートで変更が行われます。その後、コミットされて最新のリビジョンになるか、中止されます。トランザクションは実際には長期間有効なファイルシステムオブジェクトです。クライアントは、トランザクション自体をコミットまたは中止する必要はありません。代わりに、トランザクションを開始して終了し、トランザクションを再度開いて使用を継続することもできます。潜在的に、複数のクライアントが同じトランザクションにアクセスし、アトミックな変更に協力して作業できますが、既存のクライアントはこの機能を公開し

プロパティ
Subversionファイルシステムの重要な機能の1つは、プロパティです。単純な名前=テキストの値ペアです。ほとんどのプロパティは、ファイルシステムエントリ(つまり、ファイルとディレクトリ)で発生します。これらは、ファイルシステムに対する他の変更と同じようにバージョン管理されます。Subversionクライアントは、組み込みプロパティ用に「svn:」プレフィックスを予約しますが、他の名前を使用してカスタムプロパティを定義することもできます。 svn:executable 上のファイルになり
Unixが、ファイルシステムによってサポートされている場合、実行可能な作業コピーを-hosted。
svn:mime-type
ファイルインターネットメディアタイプ(「MIMEタイプ」)を格納します。差分とマージの処理に影響します。 svn:ignore ディレクトリで無視するファイル名パターンのリスト。CVSの
.cvsignoreファイルに似てい svn:keywords
変更が加えられたときにファイルに置き換えるキーワード
のリスト
。ファイル自体もキーワードを$ keyword $または
$ keyword:… $として参照する必要があります
。これは、人間の介入なしにファイル内の特定の情報(作成者、最終変更日、リビジョン番号など)を維持するために使用されます。
キーワード置換メカニズムは、RCSとCVSに由来
します。
svn:eolスタイル
クライアントにテキストファイルの行末文字を変換させ特定のEOLスタイルで作業コピーが必要な場合に使用されます。EOLがユーザーのOSEOLスタイルと一致するように、「ネイティブ」が一般的に使用されます。リポジトリは、それ自体で問題を引き起こす可能性のある一貫性のない行末を防ぐために、すべてのファイルでこのプロパティを必要とする場合が svn:externals 他のリポジトリの一部をサブディレクトリに自動的にチェックアウトできるようにします。
svn:needs-lock
ファイルのアクセス許可を読み取り専用に設定してファイルをチェックアウトすることを指定します。これは、ロック機構で使用するために設計されています。読み取り専用権限は、ファイルを変更する前にロックを取得するように通知します。ロックを取得するとファイルは書き込み可能になり、ロックを解除すると再び読み取り専用になります。ロックは、コミット操作中にのみ適用されます。このプロパティを設定せずにロックを使用できます。ただし、ロックされたファイルを誰かが変更するリスクが生じるため、これはお勧めしません。コミットが失敗した場合にのみ、ロックされていることがわかります。 svn:special このプロパティは、ユーザーが直接設定または変更することを意図したものではありません。2010年現在
、リポジトリにシンボリックリンクを設定するためにのみ使用さシンボリックリンクがリポジトリに追加されると、リンクターゲットを含むファイルがこのプロパティセットで作成されます。Unixライクなシステムがこのファイルをチェックアウトすると、クライアントはそれをシンボリックリンクに変換します。 svn:mergeinfo Subversion 1.5(またはそれ以降)のマージデータ(リビジョン番号)を追跡するために使用されます。このプロパティはmergeコマンドによって自動的に維持されるため、
手動で値を変更することはお勧めしません。
Subversionは、リビジョン自体のプロパティも使用します。ファイルシステムエントリの上記のプロパティと同様に、名前は完全に任意であり、Subversionクライアントは「svn:」というプレフィックスが付いた特定のプロパティを使用します。ただし、これらのプロパティはバージョン管理されておらず、pre-revprop-changeフックで許可されている場合は後で変更できます。 svn:date 改訂の日付とタイムスタンプ。 svn:author 変更を送信したユーザーの名前。 svn:log ユーザーが入力した変更の説明。

分岐とタグ付け
Subversionは、Perforce のファイル間分岐モデルを使用して、分岐とタグ付けを実装します。ブランチは別の開発ラインです。タグ付けとは、特定の時点でリポジトリにラベルを付けて、将来簡単に見つけられるようにすることです。Subversionでは、ブランチとタグの唯一の違いは、それらの使用方法です。
「svncopy」コマンドを使用して新しいブランチまたはタグを設定し
ます。これは、ネイティブオペレーティングシステムメカニズムの代わりに使用する必要がコピーされたディレクトリは、その履歴を保持するためにリポジトリ内の元のディレクトリにリンクされており、コピーはリポジトリ内の余分なスペースをほとんど必要としません。
各ブランチのすべてのバージョンは、コピーの時点までのファイルの履歴と、それ以降に行われた変更を保持します。変更をトランクまたはブランチ間で「マージ」することができます。
alt text
単純なSubversionプロジェクトの視覚化

制限と問題
Subversionの既知の問題は、ファイルとディレクトリの名前変更操作の実装に影響します。2014年の時点で、Subversionは、ファイルとディレクトリの名前変更を、新しい名前への「コピー」とそれに続く古い名前の「削除」として実装しています。名前だけが変更され、編集履歴に関連するすべてのデータは同じままであり、Subversionは「ツリー」の古いリビジョンで古い名前を引き続き使用します。ただし、移動が他の場所で行われた編集と競合する場合、通常のコミットとブランチのマージの両方で、Subversionが混乱する可能性が Subversion 1.5リリースはこれらのシナリオのいくつかに対処しましたが、他のシナリオは依然として問題がありました。 Subversion 1.8リリースは、クライアントでファーストクラスの操作を移動することでこれらの問題のいくつかに対処しましたが、リポジトリではコピー+削除として扱われます。
2013年の時点で、Subversionにはいくつかのリポジトリ管理および管理機能がありません。たとえば、誰かがリポジトリを編集して、特定のデータのすべての履歴レコードを完全に削除したい場合がSubversionには、これを簡単に実現するためのサポートが組み込まれ
Subversionは、データの追加コピーをローカルマシンに保存します。これは、非常に大きなプロジェクトやファイルの場合、または開発者が複数のブランチで同時に作業する場合に問題になる可能性が1.7より前のバージョン.svnでは、クライアント側のこれらのディレクトリは、グローバル検索/置換操作などの不適切なユーザーアクティビティによって破損する可能性がありました。バージョン1.7以降、Subversionは作業領域ごとに1つの集中型.svnフォルダーを使用し
ます。
Subversionは、ファイルの変更時刻を保存しません。そのため、Subversionリポジトリからチェックアウトされたファイルには、(リポジトリ内の変更時刻ではなく)「現在の」日付が付けられ、リポジトリにチェックインされたファイルには、(変更ではなく)チェックイン日が付けられます。チェックインされているファイルの時刻)。これは必ずしも望まれるものではないかもしれません。これを軽減するために、変更時間やその他のファイルシステムのメタデータを保持できるサードパーティのツールが存在します。 ただし、チェックアウトしたファイルに現在の日付を与えることも重要です。これは、make(1)などのツールがファイルを再構築するために変更されたファイルを認識する方法です。
Subversionは、一元化されたリビジョン管理モデルを使用します。Subversionの設計者の1人であるBenCollins-Sussmanは、集中型モデルが「安全でないプログラマー」が他のチームメンバーから自分の作業を隠すのを防ぐのに役立つと信じています。バージョン管理システムの一部のユーザーは、集中型モデルを有害であると見なしています。有名なことに、LinusTorvaldsはSubversionのモデルとその開発者を攻撃しました。
Subversionは、HFS +ファイルシステムによって実行されるファイル名の正規化をうまく処理できないことがよくこれにより、名前にアクセント付き文字が含まれるファイルがHFS +以外のファイルシステムのリポジトリに追加され、そのリポジトリがHFS +で使用される場合に問題が発生する可能性が

Subversionタグとブランチ
どのバージョン管理システムでも、リビジョン番号を覚えるのは困難です。このため、ほとんどのシステムは、シンボリックタグをユーザーフレンドリーな参照として提供しています。Subversionにはそのような機能はなく、そのドキュメントで代わりに使用することが推奨されているものは、性質が大きく異なります。履歴内のポイントへの参照としてタグを実装する代わりに、Subversionは、リポジトリツリーのスペースにある既知のサブディレクトリ( “” “”)にスナップショットコピーを作成することをお勧めしtags/ます。ほんの数あらかじめ定義された参照は:利用可能なHEAD、BASE、PREVとCOMMITTED。
この履歴から空間への射影には、複数の問題が
スナップショットが作成されるとき、システムはタグ/スナップショットの名前に特別な意味を割り当てません。これは、コピーと参照の違いです。リビジョンが記録され、スナップショットにURLでアクセスできます。これにより、一部の操作が不便になり、他の操作が不可能になります。たとえば、ナイーブsvn diff -r tag1:tag2 myfileは機能しません。達成するよりも少し複雑で、ユーザーは名前だけでなく、スナップショットへのURL /パスを知って入力する必要がありますsvn diff /myfile /myfile。たとえば、他の操作svn log -r tag1:tag2 myfileは不可能です。
2つの(理想的には独立した)オブジェクトタイプがリポジトリツリーに存在する場合、「トップへの戦い」が発生する可能性がつまり、tags/サブディレクトリを作成するレベルを決定するのは難しい場合がよく
トランク/ / component foo / /コンポーネントバー/タグ/ /1.1/
/ component foo /
/コンポーネントバー/
 また 
コンポーネントfoo /
/トランク/
/タグ/
/1.1/コンポーネントバー/
/トランク/
/タグ/
/1.1/
タグは、従来の定義では、リポジトリとクライアント上で読み取り専用で軽量です。Subversionコピーは読み取り専用ではなく、リポジトリでは軽量ですが、クライアントでは非常に重量が
このような問題に対処するために、Subversionメーリングリストの投稿者は「ラベル」または「エイリアス」と呼ばれる新機能を提案しています。 SVNラベルは、CVSやGitなどの他のシステムの「タグ」により似ています。Subversionにグローバルなリビジョン番号があるという事実は、非常に単純なラベルリビジョンの実装への道を開きます。しかし、2013年の時点では、進展はなく、シンボリックタグは最も必要な機能のリストに含まれ

開発と実装
CollabNetはSubversionとの関わりを続けていますが、プロジェクトは独立したオープンソースコミュニティとして運営されています。2009年11月、このプロジェクトはApache Incubatorに受け入れられ、Apache SoftwareFoundationの取り組みの一部になることを目指しています。 2010年3月以降、このプロジェクトは正式にはApache Subversionとして知られており、Apacheトップレベルプロジェクトの一部となっています。
2009年10月、WANdiscoは、プロジェクトの主要な企業スポンサーになるために、コアSubversionコミッターの採用を発表しました。これには、SubversionCorporationの社長で2008年初頭からSubversionプロジェクトのリリースマネージャーであり、オープンソースチームを率いるために同社に加わったHyrumWrightが含まれていました。
Subversionオープンソースコミュニティはバイナリを提供していませんが、潜在的なユーザーはボランティアからバイナリをダウンロードできます。 Subversionプロジェクトには、Subversionで使用するための公式のグラフィカルユーザーインターフェイス(GUI)は含まれていませんが、サードパーティは、さまざまな追加の補助ソフトウェアとともに、さまざまなGUIを開発しています。
2009年に発表された作業には、Perforceによって提供されたものと同様のSubversionJ(Java API)とObliterateコマンドの実装が含まれていました。これらの機能強化は両方ともWANdiscoによって後援されました。
Subversionコミッターには通常、一度に少なくとも1つまたは2つの新機能が活発に開発されています。2011年10月のSubversionの1.7リリースには、パフォーマンスを向上させるための合理化されたHTTPトランスポートと、書き直された作業コピーライブラリが含まれていました。
2002年には、 Subversionのロゴを選択するためのデザインコンテストが開催されました。元のエントリと各ロゴの投票はここに現在のロゴはコンテストで最も多くの票を獲得しました。

も参照してください
image
 無料のオープンソースソフトウェアポータル
バージョン管理ソフトウェアのリスト
バージョン管理ソフトウェアの比較
Subversionクライアントの比較
Subversionを使用するソフトウェアのリスト
TortoiseSVN

参考文献

脚注
^ “”ApacheSubversion”” 。
^ 「Subversion」。directory.fsf.org。自由ソフトウェアディレクトリ。2013 。
^ コリンズ-サスマン、ベン; ブライアンW.フィッツパトリック; C. Michael Pilato(2011)。「Subversionとは?> Subversionの歴史」。Subversionを使用したバージョン管理(Subversion 1.7の場合)。
^ ベンジャミンツァイス(2004)。「subversion1.0がリリースされました」。Linuxウィークリーニュース。
^ Rubinstein、David「SubversionはApacheと力を合わせます」。SDタイムズ。
^ 「SubversionはApacheSubversionになりました」。
^ 「Subversion1.1リリースノート」。
^ 「Subversion1.2リリースノート」。
^ 「Subversion1.3リリースノート」。
^ 「Subversion1.4リリースノート」。
^ 「Subversion1.5リリースノート」。
^ 「ApacheSubversion1.6リリースノート」。
^ 「ApacheSubversion1.7リリースノート」。
^ 「ApacheSubversion1.8リリースノート」。
^ 「ApacheSubversion1.9リリースノート」。
^ 「ApacheSubversion1.10リリースノート」。
^ 「ApacheSubversion1.11リリースノート」。
^ 「ApacheSubversion1.12リリースノート」。
^ 「ApacheSubversion1.14リリースノート」。
^ 「ApacheSubversion1.14LTSリリースノート」。subversion.apache.org 。
^ 「ApacheSubversionのCHANGESファイル」。
^ ベン・コリンス・サスマン; ブライアンW.フィッツパトリック; C. Michael Pilato(2011)。「第5章:リポジトリ展開の戦略」。Subversionを使用したバージョン管理:Subversion1.7の場合。オライリー。
^ 「ApacheSubversion1.8リリースノート」。Apacheプロジェクト。
^ https://subversion.apache.org/docs/release-notes/1.9.html#fsx ^ Berkeley DBはファイルロックに依存しているため、それらを実装していない(ネットワーク)ファイルシステムでは使用しないで ^ SVN1.5リリースノート ^ 基本的なマージ ^ “”rcs(1)””。OpenBSDのマニュアルページ。
^ Subversionのプロパティ ^ pre-revprop-変更 ^ ファイル間分岐: ウェイバックマシンで2007-07-14にアーカイブされたバリアントを表現するための実用的な方法 ^ 分岐/タグ付け— TortoiseSVN ^ 真の名前変更を実装する ^ 高度なマージ ^ Subversion1.5でのコピー/移動関連の改善 ^ 作業コピーレコードは、Subversion1.8でファーストクラスの操作として移動します ^ svn obliterate ^ ^ 作業コピーメタデータストレージの改善(クライアント)
^ Tigris.orgで1256を発行 ^ FreezeAttrib(プロパティを使用してファイル属性を保存/復元します)
^ FSVS(高速システムバージョン管理)
^ プログラマーの不安@iBanjo ^ Google TechTalkビデオとそのトランスクリプト ^ subversion:問題2464 ^ 例:
Weintraub、David””Subversion ‘ラベル’ vs. ‘タグ’ “”。SVN Dev(メーリングリスト)。
^ 「ApacheSubversionロードマップ」。Apacheプロジェクト。
^ 「ApacheSoftwareFoundationのプロジェクトになるために提出されたSubversion」。
^ 「CollabNetはApacheトップレベルプロジェクトへのSubversionの卒業をサポートします」。コラブネット。1から2010年3月
^ WANdisco「WANdiscoがHyrumWrightにSubversionのオープンソースの取り組みを主導するように指名」。ニュースリリース。オープンソースマガジン。
^ 「ApacheSubversionバイナリパッケージ」。プロジェクトの公式ウェブサイト。
^ WANdisco「WANdiscoはSubversionオープンソースプロジェクトの新しいイニシアチブを提示します」。ニュースリリース。CMクロスロード。
^ 「ApacheSubversionロードマップ」。プロジェクトの公式ウェブサイト。

ソース
C. Michael Pilato、Ben Collins-Sussman、Brian W. Fitzpatrick; Subversionによるバージョン管理; オライリー;
ISBN 0-596-00448-6(第1版、ペーパーバック、2004年、オンラインの完全な本、ミラー) 
ギャレットルーニー; 実用的な転覆; エイプレス;
ISBN 1-59059-290-5(第1版、ペーパーバック、2005年) 
マイクメイソン; Subversionを使用した実用的なバージョン管理; 実用的な本棚;
ISBN 0-9745140-6-3(第1版、ペーパーバック、2005年) 
ウィリアム・ネーゲル; Subversionバージョン管理:開発プロジェクトでのSubversionバージョン管理システムの使用; プレンティスホール;
ISBN 0-13-185518-2(第1版、ペーパーバック、2005年) 

参考文献
Ben Collins-Sussman(Subversion開発者)によるSubversion FUDの駆除、2013年3月7日時点でリンクが壊れています(Internet Archive.org Wayback Machine 2011-07-18キャプチャバージョン、「最終更新日」2004-12-21)

外部リンク
公式サイト
image   SubversionのでCurlie
image