Windowsのコマンドライン版Subversion(SVN)の外部DIFFツールにWinMergeを設定したが上手くいかなかった

WinMergeをSubversionのdiffとして使用する – てんぷらメモの方法でSubversionの外部DIFFツールにWinMergeを設定したけど上手くいかなかった。WinMergeに渡される比較用の一時ファイル(tmpfile.tmp)が存在しない為にWinMergeのファイル選択のダイアログが表示されてしまう。

色々と検索ワードを変えて調べてみたが解決せず。ふと”subversion diff tempfile.tmp”で検索したらドンピシャリ。Subversion r12がヒット。2ちゃんねるの過去ログでしょうか。

138デフォルトの名無しさんsage2009/12/02(水) 01:52:09

ttp://terai.xrea.jp/Subversion/WinMerge.html

このページを参考にWinMergeをSubversionのdiffとして使用する設定を行ったのですが

svn diff test.txt

はうまくいきますが

svn diff -r 100 test.txt

はWinMergeのファイル指定のダイアログが表示されうまくいきません。

どうもリビジョン100のファイルが取得できないようです。

どなたか原因がわかる方いらっしゃいませんか?

140デフォルトの名無しさんsage2009/12/02(水) 02:25:53

svn diff -r 100 test.txt .

じゃないの?

143デフォルトの名無しさんsage2009/12/02(水) 23:04:26

>>140

ダメでした。

“svn diff -r 100:101 test.txt”もダメです。

コマンドラインでは成功します。

ただ最新版がr102の場合、

“svn diff -r 102 test.txt”なら成功します。

ルーターのLEDが点滅しているので取りにはいっているようです。

考えられる原因は「OSがVista、ノートンを使っている」くらいでしょうか。

144デフォルトの名無しさんsage2009/12/03(木) 10:10:05

それぞれのバージョンは?

145デフォルトの名無しさんsage2009/12/03(木) 23:00:08

>>144

バッチファイルの

START “WinMerge” /B

を削除するとうまくいきました。

どうもこれがあると比較用のtempfile.tmpが消えてしまうようです。

ちなみにsvnクライアントのバージョンは1.6.6です。

サーバーはわかりません。

138さんは神ですね。

手順をまとめると…

以下のようなバッチファイルを作成して、そのパスを%APPDATA%\Subversion\configファイルのhelpersセクション→diff-cmdキーに設定する。

@ECHO OFF

[WinMergeU.exeのパス] /e /s /ub /dl %3 /dr %5 %6 %7

というわけでした。

常用してるGoogle Chromeの拡張機能

以前、Chromeの設定が吹っ飛んで再現するのに苦労したことがあるので紹介を兼ねてメモ。

Bubble Translate

テキストをCtrlキーを押しながらD&Dすると翻訳結果がバルーンで表示される。

ChromeReload

指定した間隔でページを更新する。

Create Link

表示しているページのタイトルとURLからHTMLのリンクタグ等を生成、クリップボードにコピーする。

生成する内容をカスタマイズ出来るのでHTMLのリンク生成以外にも色々出来る。例えば、Twitterに見ているページをポストするとか。

Docs PDF/PowerPoint Viewer(by Google)

PDF閲覧時の重いアド◯さんとおさらば出来る。かわりにGoogle Docs Viewerで表示される。

Input Focus

Ctrl+Alt+Lでテキスト入力欄にフォーカスする。

MigemoFindInPage

ページ内をMigemo検索出来る。Migemo検索はローマ字で日本語にHITする検索。例えば、”kensaku”と入力すると”検索”にHITする。

HITして単語がハイライトされている状態で検索欄を閉じると、ハイライトされている部分がリンクの場合にはフォーカスする。

キーボードだけでリンクを辿りたいときに非常に便利。

PBTweet+

TwitterのWebページが非常にリッチで便利になる。人によってはこれで専用クライアントがいらなくなるかも?

既存のローカルのbazaarのブランチをsourceforge.jpに移行する

CUIで利用しているBazaar 2.0.4で管理しているリポジトリをsourceforge.jpに移行したので、その手順をここにメモ

・Sourceforge.jpにプロジェクトを登録する

・管理→プロジェクト情報変更 で”Bazaar を利用”をチェック

・ソースコード→Bazaar管理 で”新規Bazaarリポジトリを作成”をクリック。名前には”trunk”とでも入れておく。

ここまで出来たらSSHを利用する準備。

・PuTTYごった煮版 をインストールする。

・PuTTYgen で鍵を生成。公開鍵をクリップボードにコピー。秘密鍵を保存。

・sourceforge.jpで ユーザ設定→[SSH公開鍵の登録/編集] からコピーした公開鍵をペーストして登録

・PuTTYごった煮版のPageantのショートカットを作り、リンク先の引数に秘密鍵のパスを加える。

これで準備完了

いよいよPushしますよ。

・コマンドラインでBazaarのリポジトリに移動

・先に作成したショートカットからPageantを起動

・sourceforge.jpのプロジェクトページの ソースコード→ガイド にある記述を参考に以下のコマンドを実行

bzr push bzr+ssh://<ユーザー名>@bzr.sourceforge.jp/bzrroot/<プロジェクト名>/<リポジトリ名>

あとはお好きに。

PuTTY無くても簡単に出来る手順があるような気がします。あったらタレコミよろしくです。

※2010/3/1追記

PuTTYgenで秘密鍵をファイル名”id_rsa”で”変換→OpenSSH形式へエクスポート”して”%HOME%\.ssh”に配置するとPageantが無くてもSSHでリポジトリにアクセス出来た。

%HOME%は例えばWindows XPだと”C:\Documents and Settings\<ユーザー名>”。

ファイル名はどうしてもid_rsaじゃないと駄目。”.ssh”という”.”を含むディレクトリはエクスプローラでは作成出来ないのでコマンドラインで作成する。

WindowsでHOME直下に設定の類のものを置くのは気持ち悪いからなんとかならないかな。

非常駐型付箋紙アプリSPD配布

SPDはSourceforge.JPで配布することにしました。

http://sourceforge.jp/projects/spd/

常駐せずに壁紙に付箋を埋め込む非常駐型付箋紙アプリSPDの配布エントリーです。

Vectorの新着ソフトレビューでSPDが紹介されました。

SPD_SS_0[1]

【特徴】

・常駐せずに付箋を壁紙に保持する

・壁紙の配置は拡大だけでなく並べて表示、中央に表示にも対応。

 拡大表示での画質の低下が気になる方にもご利用頂けます。

・付箋の半透明での描画に対応。デスクトップの圧迫感を和らげます。

・付箋ごとにフォントと文字色、背景色を指定可能。

・付箋の重ね貼りが可能。

・付箋の位置を決める為の面倒な操作がありません。付箋を編集しているウィンドウを張りたい位置にD&Dするだけ。見たままの状態で壁紙に張り付きます。

【動作環境】

Microsoft .NET Framework 2.0以上がインストールされたWindows

言語バー空気読め グローバルフックからポーリングに

ModestLangBar(http://yslab.atnifty.com/~yukimi_sake/diary/d?date=20100206)がグローバルフックだと問題があるってんでポーリングしてる。

言語バー空気読めも同様の問題を抱えていたので、参考に使ってみた。動作が確実で安心感が段違いだったので、言語バー空気読めもModestLangBarに習ってポーリングする実装に変えた。

暫く自分で使ってみて問題が無ければ公開しようと思います。Ver1.06からは誤動作が少なくなって、しかも副作用で64bit版でも動作するようになるかも知れません。(64bit版持ってないからテスト出来ないけど)

言語バー空気読め配布

言語バーって空気読まないですよね。

タスクバーに入れてると作業中の視線移動が多くなるし、デスクトップに置いとくと見失ってしまいます。

テキストボックスをクリックして、『さぁ文章を入力しよう』とタイピングを始めたら、IMEのモードが意図したものじゃなくてイライラ、なんてことがありませんか?

言語バー空気読めはそんな問題を解決します。

起動するとタスクトレイに常駐して、フォーカスが移ったタイミングで言語バーをキャレットの位置に移動し、数秒経ったらウィンドウの外に退避するように言語バーを調教するソフトです。

【動作環境】

Windows XP 32bit版

Microsoft .NET FrameWork 2.0以上

※Windows7 32bit版での動作報告を頂いてます。Windows Vista 32bit版でも動くと思われます。

airwife_ver_1_06_1.zip(9.21KB)

【更新履歴】

Ver 1.06 → 1.06.1

配布アーカイブ内に含めるファイルが不足していた為に差し替え。

Ver 1.05 → 1.06

ウィンドウの監視をグローバルフックからポーリングに変更。

メインウィンドウで現在のフォーカスウィンドウをコピペ出来るように修正。

Ver 1.04 → 1.05

アクティブウィンドウ内のドロップダウンメニューが言語バーで隠れてしまうことがあるため、

言語バーがウィンドウの外側に移動する際の位置を下側右端から上側左端に変更。

Ver 1.03 → 1.04

フォーカスがあるウィンドウクラス名が正しく表示されない不具合を修正。

Ver 1.03

完成

“誰か64bit版に対応したバージョン作って公開してくれないかなぁ…。FocusWindowHook.dllをビルドし直すだけでいいと思うんだけどなー”
そんな期待を込めてソースコードも公開します。

グローバルフックを廃止してポーリングするようにしました。これで64bit版Windowsでも動くような気がします。動作報告を頂けると嬉しいです。

ソースコード(Visual C# 2008 Express Edition、Visual C++ 2008 Express Edition)

airwife_src_ver_1_06.zip(18.0KB)

散らかすタスク管理

面倒臭がりで忘れっぽい僕が実践しているタスク管理の方法を書いてみようと思います。その方法はとても簡単です。

タスクが発生したらメモ用紙に殴り書きして決めた場所に放り込みます。揃えて仕舞ってはいけません。乱雑に放り込みます。

毎朝、そのメモを一枚一枚確認します。今日中に片付けたいタスクがあれば、そのメモをポケットに入れておくなり、目立つ場所に貼って置くなりします。

この方法の利点がいくつかあります。

タスクの追加にかかるコストが殴り書きのみであること。ちょっとした気付きも簡単にタスクとして追加出来るので、改善のチャンスを逃しません。

散らかり具合で直感的にタスクの量を把握出来る。多過ぎると感じたら優先度の低いタスクのメモは捨ててしまいましょう。

散らかっていると片付けたくなる、その方法はタスクを消化すること。散らかすことで自分に鞭を打ちます。

この方法はPCを使ったタスク管理でも同様に出来ます。その方法はもっと簡単です。デスクトップに付箋紙ソフトの付箋や関連ファイルへのショートカットを放り投げるだけです。

PCのデスクトップで管理する場合でかつPCでの作業時間が長い場合は、毎朝のタスクのチェックは必要ありません。いつも視界に入っているからです。

重要なものや緊急性の高いタスクの付箋やショートカットはデスクトップの端に置くようにします。周辺部分は作業中でもウィンドウの隙間から見えることが多いので忘れることがありません。

これらの方法には大きな欠点があります。それは、恥しいことです。紙屑が詰った引き出しとかアイコンで乱雑になったデスクトップとか、他人に見られたくありませんよね。恥を捨てられる方は是非お試し下さい。

bzr-svnでチェックアウト時にエラーになっちゃうよ><

PS C:\Documents and Settings\main\デスクトップ> bzr checkout http://svn.sourceforge.jp/svnroot/tween/
bzr: ERROR: [Error 5] アクセスが拒否されました。

ということで残念でした。何回も繰り返しやってるとたまに成功するから不思議。

svn使うと確実に成功するからbzr-svnに不具合があるのかな。

試した環境はこんな感じ。

Windows PowerShell
Copyright (C) 2009 Microsoft Corporation. All rights reserved.
PS C:\Documents and Settings\main> bzr --version
Bazaar (bzr) 2.0.2
Python interpreter: C:\Program Files\Bazaar\python25.dll 2.5.4
Python standard library: C:\Program Files\Bazaar\lib\library.zip
Platform: Windows-XP-5.1.2600-SP3
bzrlib: C:\Program Files\Bazaar\lib\library.zip\bzrlib
Bazaar configuration: C:\Documents and Settings\main\Application Data\bazaar\2.0
Bazaar log file: D:\User\main\My Documents\.bzr.log
Copyright 2005, 2006, 2007, 2008, 2009 Canonical Ltd.
http://bazaar-vcs.org/
bzr comes with ABSOLUTELY NO WARRANTY.  bzr is free software, and
you may use, modify and redistribute it under the terms of the GNU
General Public License version 2 or later.

黙れ 配布

【名前】黙れ Ver 0.3b

【動作環境】Windows XP

【開発環境】Windows XP SP3, Visual C++ 2008 ExpressEdition

実行すると通知領域の鬱陶しいバルーンが消えるよ。

デスクトップにショートカット作ってショートカットキーを設定するなりお好みのランチャーに設定するなり

好きな方法でキーボードから呼び出せるようにして使うと便利だよ。

ライセンスはNYSL(http://www.kmonos.net/nysl/)だよ。

shutup_ver_0_3b.zip(3.95KB)