= [[subversion]] / LM: [2025-01-16 20:07:10] ---- ====== - 概要 ====== バージョン管理ツール. [2023-09-10] 時点で,ソースコードのバージョンを管理する為に,新たに subversion を利用することはないと思う.git/github などを利用するのが一般的だろう. ホームディレクトリを複数のマシンで共有する際,git では一つのプロジェクトの中の特定ディレクトリのみローカルに持ってくることが出来ない.subversion は,特定のフォルダのみの update が可能な為,僕は今でもこちらを利用している.ただし,毎回 commit するのがめんどくさかったり,commit を忘れて別マシンにデータを持っていけないことなどがある為,[[owncloud|NextCloud]]に乗り換えることも検討中. [2025-01-16] すごく悩むけど,[[https://viewvc.org/|viewvc]]を入れたりしたら,見やすくなったし,コメントが見られるのって実は便利かも,という気もするので,どうにかスクリプトを充実させるなどで対応しても良いかな,という気がしてきてる. ====== - インストール ====== ===== - 2023 年 ===== * FreeBSD * ports の devel/subversion をデフォルトのままインストールすれば問題なし. * Linux/Ubuntu * apt でパッケージをインストール. ===== - 2010 年頃 ===== FreeBSD で.devel/subversion/ 以下で以下のコマンド. % make WITH_MOD_DAV_SVN=yes WITH_APACHE2_APR=yes WITHOUT_BDB=yes WITH_REPOSITORY_CREATION=yes BDB を使う場合は,apache2 の方でも BDB オプションをつけてコンパイルする必要がある. ====== - 使い方 ====== ===== - すでにレポジトリに入れてしまったファイルを,ローカルには残しつつ,SVN 管理から外す ===== [2025-01-16] http://blog.livedoor.jp/sasata299/archives/51275014.html このサイトに書かれてる通り,「このファイルは svn 管理にする必要なかった!」というものを,後から外す方法ですね. ''--keep-local'' をつければ良いだけみたいでした. % svn delete hoge.log --keep-local % svn commit -m "いらなかったよ" hoge.log ===== - svn add してしまったファイルを,やっぱり外す ===== [2025-01-16] 間違って svn add してしまったファイルを,add 状態から外す方法. % svn revert hoge.log ===== - あるフォルダの直下だけ checkout (co) ===== [2023-11-12] % svn co --non-recursive https://svnurl.com/svn . ===== - 特定ファイルを無視したい場合 ===== /.subversion/config の global-ignores のコメントアウトを外し,無視したいファイルを指定する. global-ignores = *.o *.lo *.la *.al .libs *.so *.so.[0-9]* *.a *.pyc *.pyo __pycache__ *:Zone.Identifier 上記では,Zone.Identifier という Windows 11 で生成されてしまうファイルを無視する指定を追加している. ====== - トラブルシューティング ====== ===== - 「URL スキームを認識できません」 [2009-10-01] ===== svn --version で利用可能な通信プロトコルを確認。 0:51 [0] skk@aries% svn --version svn, バージョン 1.6.5 (r38866) コンパイル日時: Oct 10 2009, 00:50:02 Copyright (C) 2000-2009 CollabNet. Subversion is open source software, see http://subversion.tigris.org/ This product includes software developed by CollabNet (http://www.Collab.Net/). 以下のリポジトリアクセス (RA) モジュールが利用できます: * ra_svn : svn ネットワークプロトコルを使ってリポジトリにアクセスするモジュール。 - 'svn' スキームを操作します * ra_local : ローカルディスク上のリポジトリにアクセスするモジュール。 - 'file' スキームを操作します * ra_serf : serf を利用して WebDAV (DeltaV) プロトコルでリポジトリにアクセスするモジュール。 - 'http' スキームを操作します - 'https' スキームを操作します 多分、http/https 用モジュールが入っていないのが原因のはずなので、neon or serf というのを入れる。 ====== - 参考資料 ====== * [[http://subversion.tigris.org/|subversion]] ; 本家 -- &new{2007-04-04 (水) 18:07:23}; * http://www.himajin2001.com/wiki.cgi?page=%B5%BB%BD%D1%C5%AA%BB%A8%C3%CC-FreeBSD%A4%CEPort%A4%C7mod_dav_svn.so%A4%F2%BA%EE%A4%EB%A4%CB%A4%CF -- &new{2007-08-14 (火) 22:26:02}; * apache と連携した subversion インストール方法について -- &new{2007-08-14 (火) 22:26:21}; * [[http://www.gfd-dennou.org/library/cc-env/subversion/svn-usage1.htm|コマンドの簡単な使い方]] -- &new{2008-01-04 (金) 23:52:54};