svn で空のディレクトリが競合して困ったら

% svn status -q C share > local delete, incoming edit upon update % svn resolve --accept=working share 'share' の競合状態を解消しました 参考ツイート loading... if (localStorage.getItem("pref-theme") === "light") { const elements = document.getElementsByClassName('twitter-tweet'); for (let i = 0; i

2011-03-06 (Sun) · masutaka

Debian squeeze の subversion で http リポジトリにアクセスできなくなった

一ヶ月くらい前から、Debian squeeze で svn が使えなくなってしまいま した。 svn diff の実行は出来る。 file リポジトリへのアクセスも出来る。 http リポジトリへのアクセスは、内部外部問わず出来ない。 という状況で地味に困っていましたが、~/.subversion/servers に以下を 追加することで解決できました。 http-library = serf 今回お世話になったサイトです。 svn(subversion)が突然使えなくなった at 半歩先 犯人は Neon モジュールでした。WebDav へのアクセスモジュールを serf に変えることで回避できました。 世の中にはスゴイ人もいるものですね。私なんか、strace コマンドのログ から locale や gcov まわりのエラーなのかと思って調べていました…。 subversion はソースからインストールしたことがあるので、WebDav アク セスに Neon が使われていたことは知っていましたが、気づくことができ ませんでした。他に serf があることと、~/.subversion/servers で変更 が出来ることはもちろん知りませんでした。 % svn --version (snip) * ra_neon : Neon を利用して WebDAV (DeltaV) プロトコルでリポジトリにアクセスするモジュール。 - 'http' スキームを操作します - 'https' スキームを操作します (snip) * ra_serf : serf を利用して WebDAV (DeltaV) プロトコルでリポジトリにアクセスするモジュール。 - 'http' スキームを操作します - 'https' スキームを操作します 追記(2009-07-21):...

2009-06-15 (Mon) · masutaka

ファイルの MIME タイプの確認&設定&削除

ファイルの MIME タイプを確認 |% svn propget svn:mime-type hoge.pdf ファイルの MIME タイプをバイナリ(application/octet-stream)に設定 |% svn propset svn:mime-type application/octet-stream hoge.pdf ファイルの MIME タイプを application/pdf に設定 |% svn propset svn:mime-type application/pdf hoge.pdf ファイルの MIME タイプを削除 |% svn propdel svn:mime-type hoge.pdf 追記(2011-03-06): 似たような操作で svn:ignore 属性を追加したり、削除したり出来ます。 Subversionで無視パターンを指定 - てんぷらメモ 追記(2011-12-30): svn commit すると反映されます。svn revert すると、propset が破棄さ れます。svn revert と git checkout は似ていますね。

2009-03-14 (Sat) · masutaka

subversion の DB フォーマット変更

リポジトリは [2004-05-05-1] に作ったもので、DB のフォーマットは BerkeleyDB。BerkeleyDB は壊れやすく、データをメモリに配置するため 複数の CPU から書き込むのも NG らしい。そこで、最近のデフォルト fsfs 形式に変更した。 |# cd /usr/local |# svnadmin dump SVNROOT > SVNROOT.dump |# mv SVNROOT SVNROOT.bak |# svnadmin create SVNROOT |# svnadmin load SVNROOT < SVNROOT.dump |# chown -R www-data:www-data SVNROOT

2009-01-08 (Thu) · masutaka

svnserve を止めて、http 経由でアクセスする

[2008-01-12-1] の改良版。 http 経由でのアクセスのほうがカッコいい気がしたので、設定してみた。 mod_dav_svn をインストールした。 |# apt-get install libapache2-svn /etc/apache2/mods-available/dav_svn.conf に以下のみを記載した。 <Location /svn> DAV svn SVNPath /usr/local/SVNROOT AuthType Basic AuthName "Subversion Repository" AuthUserFile /usr/local/SVNROOT/conf/dav_svn.passwd <LimitExcept GET PROPFIND OPTIONS REPORT> Require valid-user </LimitExcept> </Location> ユーザ認証ファイルを作成した。 |# htpasswd2 -c /usr/local/SVNROOT/conf/dav_svn.passwd masutaka SVNROOT のオーナーとグループを、Apache を動かしている www-data さんにした。 |# chown -R www-data:www-data /usr/local/SVNROOT Apache を再起動した。 |# /etc/init.d/apache2 restart 後始末 6-1....

2008-01-23 (Wed) · masutaka

svnserve 経由でのアクセスに認証を付ける

[2005-11-07-2] の改良版。 svnserve 経由でアクセスすると、ユーザ名が残らなくて気持ち悪いので 簡易認証をすることにした。 /home/masutaka/SVNROOT/conf/svnserve.conf に以下を記載。 |[general] |anon-access = none |auth-access = write |password-db = passwd /home/masutaka/SVNROOT/conf/passwd にユーザ名とパスワードを記載。 |[users] |masutaka = XXXXXXXX

2008-01-12 (Sat) · masutaka

svn の commit ログ

svn log -v すると、今までの削除や更新の履歴が出力される。

2005-12-04 (Sun) · masutaka

svnserve 経由でコミットできないときは?

svnserveで動かす場合、特に何も設定しないとリポジトリが読み取り専用に なる。よって、変更をコミットしようとした場合 |svn: Commit failed (details follow): |svn: Connection is read-only というエラーになる。/home/masutaka/SVNROOT/conf/svnserve.conf に以下を 追加して解決した。(外部に公開しているわけではないので、セキュリティは甘々) |[general] |anon-access = write

2005-11-07 (Mon) · masutaka

Debian にサーバを立てて、Cygwin からアクセスできるようにした。

/etc/inetd.conf に以下を記述して、inetd 経由で使えるようにする。 この例だと、リモートから /home/masutaka/SVNROOT にアクセスできるようになる。 |svn stream tcp nowait masutaka /usr/sbin/tcpd /usr/bin/svnserve -i -r /home/masutaka/SVNROOT [2003-07-21-1] を参考にして、lokkit から svn:tcp のアクセスを許可する。 /etc/services でポート番号 3690 が svn に割り当てられているはず。 inetd を再起動する。 |# /etc/init.d/inetd restart Cygwin からは以下のコマンドで checkout できる。 |# 全部 |% svn co svn://dyna/SVNROOT/trunk . |# 第一階層だけ |% svn co -N svn://dyna/SVNROOT/trunk . |# misc だけ |% svn co svn://dyna/SVNROOT/trunk/misc .

2005-11-05 (Sat) · masutaka

commit に失敗したら?

svn commit すると、以下のメッセージが出て commit に失敗する。 |svn: コミットに失敗しました (詳しい理由は以下のとおりです): |svn: URL に対し ra_local セッションを開始できません |svn: リポジトリ ‘file:///home/masutaka/SVNROOT/trunk’ を開けませんでした |svn: Berkeley DB error while opening environment for filesystem /home/masutaka/SVNROOT/db: |?\204?\181?\184?\250?\164?\202?\176?\250?\191?\244?\164?\199?\164?\185 |svn: bdb: Program version 4.2 doesn’t match environment version DB のバージョンが違うみたい。以下のコマンドで復旧することができた。 |% svnadmin recover ~/SVNROOT URL: http://blog.twintail.tv/2005/06/24/42/

2005-11-05 (Sat) · masutaka