トップ(最新) | <前

nDiki : svn

svn - Subversion コマンドラインクライアント

メモ

ディレクトリを非再帰的に追加svn --non-recursive dir
$Id$キーワード置換を有効にsvn propset svn:keywords "Id" file
$LastChangedRevision$ を…svn propset svn:keywords "LastChangedRevision" file
属性リスト表示(値つき)svn proplist -v file

関連情報

スポンサード リンク

Related term

2004年7月23日 (金)

TortoiseSVNsvn+ssh な svn:externals このエントリーを含むはてなブックマーク

以前 TortoiseSVN から svn+ssh で接続する際にユーザ名をURIに含めることで認証が通るようにしてみた。

しかし今日 svn:externals プロパティで外部定義の設定をしていてはたと困る。 svn:externals で指定するURI はリポジトリ利用者で共有するので、チェックアウトする時のURIのようにユーザ名を含める訳にはいかない。

で、さらっと調べたところ TortoiseSVNSSHクライアントの設定のところでユーザ名を指定できるようだ。 デフォルトで TortoisePlink.exe へのフルパスが設定されているが

 前略\TortoisePlink.exe -l ユーザ名

のようにすればユーザ名を指定できる。

一つのリポジトリにアクセスするだけならとりあえずこれでしのげそうだ。

それにしても更新をかけた際に外部定義毎にパスワードの問い合わせがあるので面倒(外部定義先が同じURIであっても)。

やはりきちんとセッションを保存しておくようにせねば。

それから、TortoiseSVN は 1.0.4 から 1.0.8 に上げておく。

スポンサード リンク


[ 7月23日全て ]

2004年7月26日 (月)

TortoiseSVNsvn+ssh このエントリーを含むはてなブックマーク

マニュアルを読んだら、SSHクライアントの設定のところでユーザ名だけでなくパスワードも指定する例が示されていた。

 前略\TortoisePlink.exe -l ユーザ名 -pw パスワード

なるほど。動いた。しかしかなり嫌な感じ。

ということで、「PC日記: svn+ssh on Windows」で紹介されている方法にしてみた。

@ 準備 (Windows 側)

  1. PuTTYインストール

@ SSH用の鍵ペアを作成 (Windows 側)

  1. PuTTYgen を実行。
    1. SSH2 RSA を選択。
    2. Generate マウスを適当に動かす。
    3. パスフレーズを入力。
    4. Save private key ボタンで PuTTY Private Key File (.ppk) として保存。
    5. 「Public key for pasting into OpenSSH authorized_keys file:」 覧に表示される文字列をコピーして、テキストファイルに保存(名前は任意)。

@ SSHの鍵をサーバ側に置く (サーバ側)

  1. そのファイルの中身を Subversion リポジトリのあるサーバの ~/.ssh/authorized_keys に追加。

@ 接続テスト (Windows 側)

  1. PuTTY を実行。
    1. Session - Host Name にリポジトリのあるホスト名を指定。
    2. Connection - Auto-login username にリポジトリのあるホスト上のアカウントを指定。
    3. Connection - SSH - Auth - Private key file for authentication: で 保存した ppk ファイルを指定。
    4. Session - Saved Sessions にホスト名を入力して Save。
    5. Open ボタンを押して接続確認。

@ TortoiseSVN でパスフレーズ入力を省略できるように Pagent を起動 (Windows 側)

  1. Pageant を起動。
    1. キーリストを開いて Add Key. 保存してある ppk ファイルを指定。パスフレーズを入力。

この状態で TortoiseSVN から接続できるようになった。

@ 追記

2005年8月4日に若干体裁を整理。


[ 7月26日全て ]

2004年8月2日 (月)

Subversion で大文字・小文字のみ違うファイル名へ変更 このエントリーを含むはてなブックマーク

Windows ユーザが拡張子を全て大文字にしたファイル名のファイル (hoge.PNG) を登録していた。Windows 上の挙動のチェックがてら Linux 側で

 svn move hoge.PNG hoge.png
 svn commit

してみた。

もちろん Linux 上では問題なし。

Windows 側で TortoiseSVN を使って更新をかけたらエラー。 hoge.PNG のみ先に単体でアップデートすることで作業コピーからの削除まではできるが、.svn の中のファイルのコピーだかで失敗する。

結局作業コピーを削除してチェックアウトしなおし。


[ 8月2日全て ]

2004年10月4日 (月)

仕事のファイルを順次 Subversion リポジトリに突っ込む このエントリーを含むはてなブックマーク

1本長めの文書を作ることになったので、(ドラフトを含む)版管理もかねて Subversion のリポジトリに突っ込む事にする。

@ 階層

以前は

 project -> trunk -> subproject

という階層にしていたのだが、プロジェクトをまたがるタグ打ちとかに向いていないので今回は

 trunk -> project -> subproject

という感じに。

@ LaTeX

texmf に関してはSubversionの外部定義機能の利用をやめ、Makefile で TEXINPUTS を相対指定するように。 それでも別の階層にある texmf 下の共通画像を includegraphics する場合は '../../texmf/logo.png' などとしないといけないのがちょっと気持ち悪い。

@ タグ打ちは

タグ打ちはどうしようかな。みんなは trunk 以下をごっそり、branches の下にコピーしているのだろうか。 trunk の中の特定プロジェクトディレクトリ + 共通ディレクトリのみをコピーするという手もあるかもしれないけど、それはそれで繁雑だしな。

@ svn.sty

rcs.sty でいけるかなと思っていたのだが、Subversion だと

  • $Date$ のフォーマットが違う
  • $Revision$ がなぜかうまく展開されない ($LastChangedRevision$ の方はOK。Date の方は LastChangedDate で無くても別名が効くのに)

という問題が。探したら svn.sty という rcs.sty 亜種があったのでこちらを入れて解決。

@ ついでに

過去のドキュメントとかも順次。


[ 10月4日全て ]

2005年7月26日 (火)

普通の人向けに svnserve を立ち上げるか このエントリーを含むはてなブックマーク

開発チームでは主に svn+ssh で Subversion を利用している。

Windows ユーザは

  1. 前準備「PuTTYgen で鍵ペアを生成し」「リポジトリのあるサーバ(Linux)側に公開鍵を登録」
  2. 前準備「Pagent を動かして秘密鍵を指定しておく」
  3. TortoiseSVN でリポジトリアクセス

という手順をとっている(参考記事)。 しかしこの方法は SSH に詳しくなかったり Linux のオペレーションとかに慣れていなかったりするユーザにはかなり敷居が高い。

最近ソフトウェア開発以外でのチームでも Subversion の利用を検討しているが、この手順だと多分萎えるはず。

SSH暗号化するほどのセキュリティが必要ない運用なので、svnserve を起動して運用した方が楽そうだ。まだ使ったことがないけれど。

svnserve を実行する権限を気にする必要がある以外は基本的には手間なしのはず。 しかし svnserve の組み込みの認証機能を使う場合には、平文パスワード文字列を含むパスワードファイルを使う必要があるのがちょっと嫌。


[ 7月26日全て ]

2005年8月24日 (水)

Module::Buildソースパッケージング このエントリーを含むはてなブックマーク

@ ExtUtils::MakeMaker

私が Perl が好きな理由の一つに、標準でExtUtils::MakeMakerという Makefile ジェネレータがついているところである。これを使って Makefile.PL を書くと

 perl Makefile.PL
 make manifest
 make
 make test
 make dist

で <pacakge>-<versionno>.tar.gz というソースパッケージを作ることができ、

 tar zxvf <pacakge>-<versionno>.tar.gz
 cd <pacakge>-<versionno>
 perl Makefile.PL
 make
 make test
 make install

という手順でインストールする事ができるようになる。 パッケージの作り方が確立されているので、容易に新しいパッケージを開発しはじめられる。

逆に Java でプログラムを書くのが億劫なのは、このあたりの準備が面倒だからである。 Ant を使っても結局ここら辺自分でやらなければならないし。

@ ちょっとしたアーカイブの作成

ちょっとしたパッケージを作りたいと思うことは良くある。 例えばいくつかのデータファイルと、READMEファイルなんかをひとまとめにしてアーカイブにするとか。

本当にちょっとしたであれば、手動でアーカイブすれば良いのだが、

  • アーカイブしたいファイル群がバージョン管理下にあって、CVS ディレクトリや .svn ディレクトリがある (除外してアーカイブする必要がある)
  • 同じディレクトリにある、作業用のファイルはアーカイブしたくない (除外してアーカイブする必要がある)
  • アーカイブする前に、チェック用のリグレッションテスト一式を走らせたい (リグレッションテストをかけられるようにする)
  • UNIX でも Windows でもアーカイブ化できるようにしたい。

あたりを考慮しなければならない時は面倒くさくなってくる。

自動化としては

あたりがぱっと思い浮かぶ。 しかし、最初の2つは毎回同じようなものを書くのが面倒だし保守もしにくい。 GNU Autotools はちょっとごっつすぎだし、Windows での環境構築も面倒。

@ ExtUtils::MakeMaker の欠点

ということで最初は ExtUtils::MakeMaker を使うという線で考えてみた。 もともと Perl モジュール用で汎用用途にはちょっと邪魔な振舞いもあるが、使えないことはないと思う。 しかし make (GNU Make あるいは nmake など) に依存しているという欠点がある。

@ Module::Build

ということで ExtUtils::MakeMaker の代替である Module::Build ベースで汎用用途に使えないか検討してみた。こちらは pure Perl で make を必要としない。

Module::BuildPerl モジュールビルドにあわせた振舞いがあるものの、ちょっとカスタマイズすれば使えそうだ。 で、いろいろいじった結果、次のような感じにすると使いやすそうだ。

 use Module::Build;
 my $class = Module::Build
   ->subclass(class => 'NonmoduleBuilder',
              code => q{
                        # Don't make blib
                        sub ACTION_code {};
                        # Don't make blib
                        sub ACTION_docs {};
                        # Don't make META.yml
                        sub ACTION_distmeta {
                          # no warning on ACTION_distdir
                          $_[0]->{metafile} = 'MANIFEST';
                        };
                        # Don't add MEATA.yml to MANIFEST
                        sub ACTION_manifest {
                          $_[0]->{metafile} = 'MANIFEST',
                          $_[0]->SUPER::ACTION_manifest(@_);
                        };
                       });

 # Set your archive name and version.
 $class->new(dist_name => 'mypackage',
             dist_version => '1.0.2',
             )->create_build_script;

カスタマイズした部分は以下(Module::Build 0.26 で動作確認)。

  • Perl モジュールビルドに特有の blib ディレクトリを作らないようにする。
  • META.yml を生成しないようにし、アーカイブに含まれないようにする。

上記のようなファイルを Build.PL という名前で作っておけば

 perl Build.PL
 ./Build manifest
 ./Build
 ./Build test
 ./Build dist

等として、アーカイブ作成が容易にできるようになる。

しばらくこの方法でいろいろ試してみることにしてみよう。


[ 8月24日全て ]

2006年2月3日 (金)

amaroK から Last.fm へ送信できるようになった このエントリーを含むはてなブックマーク

iTunesプラグイン iScrobbler For Windows 1.1.0 をインストールして、曲を再生してみたところ Last.fm へ曲情報をうまく送信できた。 アカウントの方は特に問題ないらしい。

やはり amaroK 側の問題か。

何度か amaroKsvn 版をコンパイルして試してみるうちに、そういえば configure した際にいくつか optional なライブラリが無くてそれらの機能が外されている旨の表示が出ていたことを思い出した。 apt-get build-dep amarok では全部入らないらしい。

README をみて必要なライブラリを確認。 libmp4v2 あたりが怪しい。ということで libmp4-dev パッケージをインストール。 また前回インストールされていなくて configure に --without-akode していたので aKode 関係のライブラリもあわせていれておく。

で再インストール

で再生してみたら、あっさりうまくいった。

よし。


[ 2月3日全て ]

2006年6月29日 (木)

SubversionSSH port forwarding 経由での svn+ssh このエントリーを含むはてなブックマーク

普段プライベートネットワーク内で、svn+ssh で接続している Subversion リポジトリSSH 経由で port fowarding して接続するようにする。

 [ノート PC] -- [ゲートウェイ] -- [リポジトリのあるサーバ]
                gw.example.com    192.168.0.x

@ ポートフォワーディング用 SSH ラッパー

例えば svn-gw-ssh という名前で以下のファイルを作成:

 #!/bin/sh
 HOST_NAME=$1
 shift 1
 ssh -f -L 8023:$HOST_NAME:22 gw.example.com sleep 10
 ssh -p 8023 -o HostKeyAlias=$HOST_NAME localhost $@

@ svn 用ラッパーも書いておく

例えば svn-gw という名前で以下のファイルを作成:

 #!/bin/sh
 SVN_SSH=svn-gw-ssh svn $@

@ 使う

これで例えば svn+ssh://192.168.0.x/var/repos でチェックアウトした作業ディレクトリ上をプライベートネットワーク内外で、更新したりコミットしたりできるようになる。

プライベートネットワーク内からは今まで通り。

 svn update

プライベートネットワーク外からは

 svn-gw update

のようにする。

これで

と合わせて随分外部で作業できるようになった。 それだけ、外部でもやれる仕事が増えたということでもあるが。


[ 6月29日全て ]

2007年1月6日 (土)

connect.c を使って SOCKS サーバ経由で社内サーバへ SSH 接続 このエントリーを含むはてなブックマーク

以前社外から社内 Web サイトへのアクセスは autossh + FoxyProxy を使って SOCKS 経由で直接できるように設定した (記事)。 また UnisonSubversion もそれぞれ SSH port forwarding 経由で直接アクセスできるようにしてある (Unison の記事Subversion の記事)。

しかし社外から社内サーバへの SSH 接続(やファイル転送)は、以前として一旦中継ホストに接続(転送)してから再度接続(転送)していて面倒であった。

調べたところ Shun-ichi GOTO氏の SSH プロキシコマンド connect.c を使うと SOCKS サーバ経由で直接接続できるようなので設定してみた。

 [クライアント:8090] -- SOCKS -- [ゲートウェイ] -- [社内サーバ]
                                 gw.example.com    192.168.1.x

@ インストール

Debian なので apt-get で。

 apt-get install connect-proxy

@ SSH の設定

~/.ssh/config に以下の行を追加。

 Host 192.168.1.*
   ProxyCommand /usr/bin/connect-proxy -S localhost:8090 %h %p

192.168.1.* に接続する際は、connect-proxy を使ってローカルホストの 8090 ポートの SOCKS を通るようにする設定。

@ SSHSOCKS サーバにする

autossh を使って SSHSOCKS サーバを立てる

 autossh -N -f -D8090 gw.example.com

これで準備 OK。

@ 使ってみる

@ SSH 接続
 ssh 192.168.1.x

で接続を確認。

@ Konqueror (KDE)
 fish://192.168.1.x/

で直接ブラウズ、読み書き可能なことを確認。

@ Unison

普通に 192.168.1.x と同期できることを確認。

@ CVS

普通に 192.168.1.x 上のリポジトリに対して cvs update できることを確認

@ Subversion

普通に 192.168.1.x 上のリポジトリに対して svn update をかけるとアップデートし終わって最後に

 FATAL: output (local) failed, errno=32

というエラーがでる。

@ 便利

Subversion だけちょっと気がかりだれど、その他はうまく行っている感じ。

これでかなり手軽に接続、転送できるようになった。 便利、便利。


[ 1月6日全て ]

2007年10月10日 (水)

今日のさえずり - Google カレンダーに初めてログイン。 このエントリーを含むはてなブックマーク

  • 16:19 この間ノート PC をシャットダウンしたので、autossh が止まっているのを忘れてた。どうりで svn でコミットできないわけだ。
  • 16:59 ちょっとだけオフィスが暑い時に、窓を開ければよいということを随分しばらく忘れていたようだ。空調より気持ちいい。*Tw*
  • 17:12 PStart から Twit が自動起動して、休暇前に使い始めたことを思い出した。*Tw*
  • 18:09 Google カレンダーに初めてログイン。 *Tw*
  • 21:50 ルービックキューブ、次は LBL をマスターする。
  • 24:20 F2L こんなに覚えるパターンがあるのか……。

[ 10月10日全て ]

Related web page

svnの衝突回避 - 自称中級プログラマの雑メモ
自分の変更を破棄 <strong>svn</strong> revert &#60;filename&#62; 相手の変更を破棄 cp &#60;filename&#62;.mine &#60;filename&#62; <strong>svn</strong> resolved &#60;filename&#62; 参考 http://www.naney.org/diki/dk/Subversion%20%E3%81%A7%E8%A1%9D%E7%AA%81%E3%81%8C%E8%B5%B7%E3%81%8D%E3%81%9F%E5%A0%B4%E5%90%88.html
http://d.hatena.ne.jp/hyokota/20080508/1210210372
SVNとSSHの連携 - 教えて!goo
<strong>SVN</strong>とSSHの連携についておしえていただきたく、質問させていただきます。 現在、AapacheのWebDavをつかって<strong>SVN</strong>を使っている状況です。 OSはwindows2000serverをつかっており、クライアントはTortoise<strong>SVN</strong>を使用しております。また、開発では、eclipseのSubclipseをつかっています。 この状況で<strong>SVN</strong>との通信にSSHを使いたいと思いますが、どのようにしたらよいでしょうか? わかる方おられましたら
http://oshiete1.goo.ne.jp/qa3480382.html
XREAでSubversion(SVN)を使ってソースコード管理を行う方法についてのメモ。 - Sticker@Something
接続方式については<strong>svn</strong>+sshとし、<strong>SVN</strong>クライアントについてはTortoise<strong>SVN</strong>を利用。 Subversion利用までの大まかな流れは以下の通り。 Tortoise<strong>SVN</strong>のインストール XREAサーバへのSSH接続許可ホスト登録 <strong>SVN</strong>がインストールされているかどうか確認 リポジトリの作成 <strong>SVN</strong>サーバへの接続(パスワード認証) サーバへの接続(鍵認証) 1.Tortoise<strong>SVN</strong>のインストール Tortoise<strong>SVN</strong>のインストールについては以下の
http://d.hatena.ne.jp/hikm/20071026/1193410361
svnseeds’ ghoti! - 日本語で上手な文章を書くには:10の「べからず」
やや唐突ですが僕の友人のユダヤ系アメリカ人から面白いメモをもらったので、本人了解のもと転載します(名前は一応仮名にしておきます)。原文は英語ですが適当に訳してみました。事実誤認など突っ込みどころ満載なんですがあまりに面白いのでそのままにしてあります。 僕から見ると皮肉が利きすぎているように思うのですけど、本人はいたって大真面目のようです(笑
http://d.hatena.ne.jp/svnseeds/20060908#p1
SVN::Web on FastCGI - Ogawa::Memoranda
半年くらい前からMovable TypeのPluginなどのsubversionリポジトリーを公開していたのだが、どうにも具合が良くなく、試行錯誤が続いていた。 Ogawa::Memoranda: <strong>SVN</strong>::Web導入 最初Perlベースの<strong>SVN</strong>::WebをCGI経由で動かしていたのだが、猛烈にパフォーマンスが悪く、私の借りているサーバーだと数秒待たされたりしていた。代わりにmod_perl環境にdeployしたりもしてみたのだが、Apache 1.3との組み合わ
http://as-is.net/blog/archives/001049.html
MOONGIFT オープンソース - RapidSVN - 専用の良さ
[ バージョン管理 ] ライセンス [ GNU General Public License ] OS [ Windows ] [ Linux ] 言語 [ C++ ] ユーザインタフェース [ GUI ] 環境 [ Tigris.org ] 専用の良さ 最近は自分の作業ファイルですらバージョン管理に入れ込むようになってきた。言わばバックアップ代わりだ。間違った修正も元に戻せるし、一日一回のコミットにしておけばその日の作業ファイルが一覧できる。 最近のバージョン管理
http://oss.moongift.jp/intro/i-959.html
ToytoiseSVN
Linux 用 Subversion クライアント
http://toytoisesvn.sourceforge.jp/
TSVN Menu Firefox Extension
http://www.pumacode.org/projects/tsvnmenu/
nDiki: TortoiseSVN - 普通の人向けに svnserve を立ち上げるか
トラックバックにあったのですが、スクリプト言語(perl)から使えたほうが便利だとのご意見をいただきました。さくっと SWIG で perl/ruby/pyt... ■きまぐれ日記: はてなキーワードを高速に付与 (SWIG を使って Perl モジュール) トラックバックにあったのですが、スクリプト言語(perl)から使えたほうが便利だとのご意見をいただきました。さくっと SWIG で perl/ruby/pyth... ■コーデックなし
http://www.naney.org/diki/dk/TortoiseSVN.html
nDiki: cvs2svn - cvs2svn (2004-02-24)
WEB標準化が進めばいろんなメディアがページにアクセスしてくる様になります。メディア毎にその性格にあったCSSを読み込ませて、気の利いたサイト作りをしてみましょ... ■付録:構文と組み込み関連の対応状況 - CSS2 リファレンス 外部ファイルが存在しない場合,「ページが見つかりません」と表示され,404エラーになる(Mac版は問題なし)。 外部スタイルシート内のurl()関数
http://www.naney.org/diki/dk/cvs2svn.html

■よく検索されるキーワード

torrent(173) expressions(80) 竹内まりや(58) x31(25) ドラマ(23) linux(23) 手帳(21) 壁紙(21) perl(21) windows(20) 動画(19) wiki(17) porter(17) debian(16) 使い方(16) 画像(15) thinkpad(15) 作り方(15) gmail(14) usb(14) 秋葉原(13) ヨドバシ(13) ほぼ日手帳(13) 提案書(12) 活用(12) 竹内(12) 古川小百合(12) 修理(12) ノート(11) 無印(11) ヨドバシカメラ(11) nikon(11) 書き方(10) ダイソー(10) 万年筆(10) 生年月日(10) 大井町(10) ミニ6穴(9) ほぼ日(9) tc-1(9) 冷蔵庫(9) 設定(9) ニコン(9) java(9) mp3(8) 故障(8) 方眼(8) xp(8) 日誌(8) 感想(8) カメラ(8) allinanchor:*.torrent(8) バッグ(8) firefox(7) インストール(7) キーボード(7) mixi(7) 無料(7) リフィル(7) 小林麻耶(7) nikkor(7) ジョイントラック(7) madwifi(7) 原田夏希(7) skype(6) 変更(6) 三条まゆみ(6) ペンケース(6) web(6) emacs(6) home(6) ポーター(6) 2009(6) itunes(6) a6(6) 無印良品(6) デジカメ(6) finepix(6) 無線lan(6) 評判(6)

この日記のはてなブックマーク数 Add to Google RSS

Process Time: 6.374637s / load averages: 0.55, 1.03, 1.21
nDiki by WATANABE Yoshimasa (profile)
Powered by DiKicker
Base theme by Nana (for tDiary)