‘Subversion’ カテゴリーのアーカイブ

Subversionのブランチ操作をgit並に簡単にする

svnとgit両方使うようになりました。するとgitの便利さに感嘆する一方、svnのブランチ操作の面倒臭さが際立ってきました。特に、ブランチ操作ではgitは素晴らしく例えば以下のような例をご覧いただくとその差は一目瞭然かと思います。

ブランチ一覧を得る

git branch
svn list http://example.com/svn/branches

ブランチを作る

git branch mybranch
svn cp http://example.com/svn/trunk http://example.com/svn/branches/mybranch -m 'create mybranch from trunk'

以上のように、svnはブランチをブランチとして扱っていないためとても面倒なコマンドを打たなくてはなりません。これではとてもsvnのブランチなんて使ってられないのでとっととgitに移動したいところです。しかしながら、諸処の都合によりまだ、しばらくは両方使い続けなくてはならないため、svnのブランチ操作を簡単にする、svnbrというRubyスクリプトを書きました。

(続きを読む…)

dsvn.el + subversion 1.6が変だったのでパッチを作りました

たかはらです、いつもながら小ネタですいません。

以前、arasho紹介してくれたdsvn.elを便利に使っていたのですが、先日Subversionを1.6.1にバージョンアップしたらステータスバッファのファイル名の認識を誤るようになり、先頭に空白が一つ入るようになりました。

dsvn.elが古いのか?と思い以下の最新版を試したのですが結果は同じでした。

wget http://svn.collab.net/repos/svn/trunk/contrib/client-side/emacs/dsvn.el

svn statusの出力の解釈に失敗しているようだったので、dsvn.elのファイルの中身を以下のように書き換えたところ動作するようになりました。

--- dsvn.el.orig        2008-12-02 23:46:43.000000000 +0900
+++ dsvn.el     2009-05-13 17:08:30.000000000 +0900
@@ -1041,7 +1041,7 @@
(insert str)
(goto-char svn-output-marker)
(while (cond ((looking-at
-                     "\\([ ACDGIMRX?!~][ CM][ L][ +][ S][ KOTB]\\) \\(.*\\)\n")
+                     "\\([ ACDGIMRX?!~][ CM][ L][ +][ S][ KOTB]\\) +\\(.*\\)\n")
(let ((status (match-string 1))
(filename (match-string 2)))

他に困っている方はどうぞ。

Emacsでシンボリックリンクを開いたときの質問を消す方法

今日はEmacsに関する小ネタです。英語の元ネタがusenetのcomp.emacsにありました。

Emacsを使っていると、下記のメッセージが出ることがあります。具体的には、シンボリックリンクをEmacsで開こうとして、なおかつシンボリックリンク先がSubversion管理されている場合に、以下のように質問されます。

"Symbolic link to SVN-controlled source file; follow link? (yes or no)"

これに毎回yesって答えるのがダルい、と思っていたんですが、解決方法を見つけました。.emacsに下記のように書けばOKです。

;; avoid "Symbolic link to SVN-controlled source file; follow link? (yes or no)"
(setq vc-follow-symlinks t)

もしくは、元ネタに書いてある通り、M-x customize-variable RET vc-follow-symlinks RET してもいいと思います。僕は古い人間なのでcustomizeはイマイチ慣れないんですよね…。

元ネタ:how to avoid “Symbolic link to SVN-controlled source file; follow link? (yes or no)”

余談:usenetってまだ機能してるんですね。ビックリです。Googleにリンクを貼るのが正しいのかどうかは疑問ですが、どうするのがベストなんでしょうね…?

Subversion設定の標準化

ディノ社内のバージョン管理は主にSubversionを利用しています。また、社内の開発環境はWindowsとMacとLinuxが入り乱れています。そんな環境で、一番問題が少なそうなSubversionの設定を考えてみました。現在これを社内標準として運用していますが、今のところ大きな問題は起きていません。

設定内容ですが、auto-propsとglobal-ignoresの設定です。各種ファイルについて、eol-style=nativeやkeywords=Idやsvn:mime-typeなどを設定します。

ちなみに、本設定はsymfonyの公式オススメ設定「Symfony Repository Tips」から大半を流用しています。

(続きを読む…)

MacユーザのためのSubversionTips

どうも初めましてchariです。
ディノオープンラボラトリがオープンして結構経ったのにやっと初記事です。

2年前はMacユーザが自分含め3人ぐらいしかいなかったディノですが、
気がつけば11人までMacユーザが増えました!Mac大好きな自分としてはすばらしいことです。

ぼちぼち新人メンバーなどがSubversionを使い始めたのもあって
次の新人さんが来たときなどにすぐに教えられたり自分が再セットアップするときに
また調べ直す手間を省くためにもmacでSubversionを利用する際の
ポイントやらGUIツールなどをまとめてみようかと思います。

(続きを読む…)

dsvn.elでemacsでsubversion

こんにちわ。arashoです。

emacs使いの皆さんはsubversionを使用するときは何を使っているのでしょうか?
シェルからコマンドラインベースでったりpsvn.elだったりでしょうか。
(続きを読む…)

Subversionでaddremove

たかはらです。

Subversionを使い始めた人からよく聞かれる事があります。

「大量のファイルをsvn addするにはどうするの」

「それはねー」といつも気持ち悪い呪文を教えていたのですが、最近最適解が見つかったので記事にしてみました。

今日も小ネタ&xargsネタです。

(続きを読む…)

svn diffで-wオプションを使う

こんにちは。hnwです。カレー部の部員が3日連続で同じカレー屋に行ったそうです。いくらカレーが好きでも限度があるだろう、と思いますね。私は常識人なので、せいぜい月・水・金と同じ店には1日おきにしか行きません(以上全て実話です)。

さて、今回はsvnコマンドの話題です。バージョン管理といえば昔はCVSで決まりでしたが、最近はSubversionが流行ですよね。この2、3年でCVSからSubversionに移行した方も多いのではないでしょうか。ディノでも2年ほど前に、それまでCVS管理していた全リポジトリをSubversionに移行しました。

Tracの導入やHTTPS+basic認証+クライアント証明書によるアカウント管理の導入など、移行についてはメリットの方が大きかったのですが、多少の戸惑いもありました。中でも私が一番精神的にダメージを受けたのは、私がcommitの前に必ず打つコマンド「cvs diff -w」の-wオプションがsvn diffコマンドでは利用できなかったことです。

念のため補足しておきますが、-wは空白文字列の個数の違いを無視して同一視するオプションです。複数人で開発しているとインデントがおかしい人が混ざっていてインデントを修正することがあるのですが、インデント修正にはたいした意味はありません。diffを取るときには意味のある変更箇所を確認したいので、インデント修正した場所は無視したいのです。本当ならプロジェクト内でインデントを統一すべきなのですが…

もっとも、しばらくしてsvn diffでも-wを実現する方法を知りました。そんなこと知ってるよ、という人も多いかと思いますが、移行したばかりで困っている人が私以外にいるかもしれませんので、念のため紹介します。

(続きを読む…)

TortoiseSVNでSSL証明書のパスフレーズが保存されない

はじめましてr_koikeです。

今日はTortoiseSVNのSubversionで悩んでいたネタです。

TortoiseSVNのsubversion設定を変えようとして、ファイル(configやservers)を編集したのに、subversionに変更内容が反映されない!

という状況に陥ったことはありませんか?

結論は、
Documents and Settingsにあるsubversion(TortoiseSVN)の設定ファイルだけでなく、レジストリも見ろ。
です。

(続きを読む…)