まず第一に、私は決してsvnを選びません。いくつかのケースがあるかもしれませんが、一般的に git ははるかに柔軟です。
とはいえ、Continous Delivery (CD) について見てみましょう。私の見解では、これは頻繁に展開することを意味します。また、テストを実行し、バージョンが出荷されるかどうかを決定する、ある種の継続的インテグレーション (CI) が必要であることも意味します。また、どのバージョンをテストして出荷するかを決定する方法について、何らかのワークフローが必要であることも意味します。
svn の時代には、面倒だったのでブランチはありませんでした。全員がリポジトリにコミットし、出荷の責任者がすべて問題がないかどうかを確認し、自分のバージョンのリポジトリを使用して出荷します。
少なくとも 1 つの安定版ブランチが必要なため、これは明らかに CD では機能しません。このブランチには、本番環境に入るソフトウェアの安定したリリースのみを入力する必要があります。また、テストしてデプロイする準備が整った機能がマージされるテスト ブランチも必要です。そして、まだ準備ができていない機能が配置されている開発ブランチがいくつでも必要です。
間違いなく、svn で CD を実行できます。svn は誰もがコミットできる単一のリポジトリとして機能するように設計されているのに対し、git はさまざまなサーバー上の多くのブランチやリモート リポジトリでうまく機能するように設計されているだけです。
また、ユーザー管理で問題が発生する場合もあります。svnについてはわかりませんが、ブランチごとに異なる権限を持つことはできないと思います。これは、リポジトリへの書き込みアクセス権を持つすべての人がアプリケーションを壊して、このようなものをデプロイできることを意味します。一方、上級開発者のみが書き込みアクセス権を持ち、デプロイされるリポジトリをセットアップするのは簡単です。他のすべての開発者は、別のリモート リポジトリで作業します。担当者はすべてのものをプルし、それらを他のサーバーにプッシュして展開します。
これはすべて、git が、定期的にマージ、分岐、フォーク、パッチ適用される多くのリポジトリを持つように設計されているという事実に由来しています (オープンソース プロジェクト)。一方、svn は、ファイルのバージョン管理が必要な企業向けソフトウェアであり、ソフトウェアの異なるバージョン用に 1 つまたは 2 つのブランチを用意する必要がありますが、それ以上のものは必要ありません。
最後に: 私は毎日 svn よりも git を選びます。