blog/content/post/2007/12/12/2007-12-12-00000682.md

140 lines
7.8 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
title: MeadowでSubversionを使ってみた
author: kazu634
date: 2007-12-12
wordtwit_post_info:
- 'O:8:"stdClass":13:{s:6:"manual";b:0;s:11:"tweet_times";i:1;s:5:"delay";i:0;s:7:"enabled";i:1;s:10:"separation";s:2:"60";s:7:"version";s:3:"3.7";s:14:"tweet_template";b:0;s:6:"status";i:2;s:6:"result";a:0:{}s:13:"tweet_counter";i:2;s:13:"tweet_log_ids";a:1:{i:0;i:3451;}s:9:"hash_tags";a:0:{}s:8:"accounts";a:1:{i:0;s:7:"kazu634";}}'
categories:
- Emacs
---
<div class="section">
<p>
 現在修論を書いているわけですが、こいつをバージョンコントロールできたら幸せになれそうと思いSubversionを使ってみることを決意しました。Subversionの導入レポートです。
</p>
<p>
 想定する読者は
</p>
<ul>
<li>
なんとかMeadowを導入できて、指示に従って.emacsを編集はできる。でもそれ以上は無理な人
</li>
</ul>
<p>
です。<span class="footnote"><a href="/sirocco634/#f1" name="fn1" title="自分はこんな人な訳です。">*1</a></span>こういう人であれば、役に立つはず。
</p>
<h4>
Subversionの導入
</h4>
<p>
 <a href="http://www.cygwin.com/" onclick="__gaTracker('send', 'event', 'outbound-article', 'http://www.cygwin.com/', 'Cygwin');" target="_blank">Cygwin</a>上のSubversionは文字化けするから使わない。「<a href="http://subversion.tigris.org/" onclick="__gaTracker('send', 'event', 'outbound-article', 'http://subversion.tigris.org/', ' subversion.tigris.org ');" target="_blank"> subversion.tigris.org </a>」からWin32対応のヤツをダウンロードしてくる。
</p>
<p>
 仮に<a href="http://www.cygwin.com/" onclick="__gaTracker('send', 'event', 'outbound-article', 'http://www.cygwin.com/', 'Cygwin');" target="_blank">Cygwin</a>でSubversionを導入してしまっていて「<a href="http://subversion.tigris.org/" onclick="__gaTracker('send', 'event', 'outbound-article', 'http://subversion.tigris.org/', ' subversion.tigris.org ');" target="_blank"> subversion.tigris.org </a>」版を導入すると、Cygwin版のSubversionが優先して起動するようになっているので、<a href="http://www.cygwin.com/" onclick="__gaTracker('send', 'event', 'outbound-article', 'http://www.cygwin.com/', 'Cygwin');" target="_blank">Cygwin</a>版のSubversionを削除するなりなんなりする必要あり。こいつでちょっとはまった。つまり、Cygwinをインストールしたフォルダのbinフォルダの中にsvn.exeとかsvnadmin.exeとかあるはずなので、そいつを消す。
</p>
<h4>
Subversionを練習してみよふ
</h4>
<p>
 インストールできたら、「<a href="http://www.hyuki.com/techinfo/svninit.html" onclick="__gaTracker('send', 'event', 'outbound-article', 'http://www.hyuki.com/techinfo/svninit.html', 'Subversionの基礎練習');" target="_blank">Subversionの基礎練習</a>」に書かれているとおりにSubversionを使ってみると幸せになれるはず。最初はとりあえず
</p>
<ol>
<li>
svnadmin create
</li>
<li>
svn import
</li>
<li>
svn checkout
</li>
</ol>
<p>
この三つは必須。checkoutしないと後述するpsvn.elが動作しないので、checkoutすること。<span class="footnote"><a href="/sirocco634/#f2" name="fn2" title="厳密に言うと、checkoutすることで作成される「.svn」というフォルダが不可欠らしい">*2</a></span>
</p>
<p>
 Subversionのコマンドについて知りたければ、「<a href="http://ocean.moo.jp/pukiwiki/index.php?Subversion%2Fsvn#t61f021b" onclick="__gaTracker('send', 'event', 'outbound-article', 'http://ocean.moo.jp/pukiwiki/index.php?Subversion%2Fsvn#t61f021b', '404 Error &#8211; Not Found');" target="_blank">404 Error &#8211; Not Found</a>」を参照のこと。
</p>
<h4>
MeadowでSubversionを使ふ
</h4>
<p>
 ここら辺を参考にした:
</p>
<ul>
<li>
<a href="http://viz.is-a-geek.com/%7Eviz/cw/index.php?psvn" onclick="__gaTracker('send', 'event', 'outbound-article', 'http://viz.is-a-geek.com/%7Eviz/cw/index.php?psvn', 'no title');" target="_blank">no title</a>
</li>
<li>
<a href="http://d.hatena.ne.jp/gan2/20070705/1183636438" onclick="__gaTracker('send', 'event', 'outbound-article', 'http://d.hatena.ne.jp/gan2/20070705/1183636438', ' Meadow から Subversion を使ってみる &#8211; gan2 の Ruby 勉強日記');" target="_blank"> Meadow から Subversion を使ってみる &#8211; gan2 の Ruby 勉強日記</a>
</li>
<li>
<a href="http://d.hatena.ne.jp/gan2/20070706/1183650098" onclick="__gaTracker('send', 'event', 'outbound-article', 'http://d.hatena.ne.jp/gan2/20070706/1183650098', ' Meadow から Subversion を使ってみる その2 &#8211; gan2 の Ruby 勉強日記');" target="_blank"> Meadow から Subversion を使ってみる その2 &#8211; gan2 の Ruby 勉強日記</a>
</li>
<li>
<a href="http://d.hatena.ne.jp/webdoraku/20061013" onclick="__gaTracker('send', 'event', 'outbound-article', 'http://d.hatena.ne.jp/webdoraku/20061013', 'はてなダイアリー');" target="_blank">はてなダイアリー</a>
</li>
</ul>
<p>
とりあえず<a href="http://www.xsteve.at/prg/emacs/psvn.el" onclick="__gaTracker('send', 'event', 'outbound-article', 'http://www.xsteve.at/prg/emacs/psvn.el', 'psvn.el');" target="_blank">psvn.el</a>をダウンロードして、site-lispとかに保存する。後はEmacsに
</p>
<pre class="syntax-highlight">
<span class="synSpecial">(</span><span class="synStatement">require</span> <span class="synSpecial">'</span><span class="synIdentifier">psvn</span><span class="synSpecial">)</span>
<span class="synSpecial">(</span>add-hook <span class="synSpecial">'</span><span class="synIdentifier">svn-log-edit-mode-hook</span>
<span class="synSpecial">(</span><span class="synStatement">function</span> <span class="synSpecial">(</span><span class="synStatement">lambda</span> <span class="synSpecial">()</span>
<span class="synSpecial">(</span>set-buffer-file-coding-system <span class="synSpecial">'</span><span class="synIdentifier">japanese-shift-jis-unix</span><span class="synSpecial">))))</span>
<span class="synSpecial">(</span>defadvice svn-status-create-arg-file <span class="synSpecial">(</span>around bind-coding-system activate<span class="synSpecial">)</span>
<span class="synSpecial">(</span><span class="synStatement">let</span> <span class="synSpecial">((</span>coding-system-for-write
<span class="synSpecial">(</span><span class="synStatement">or</span> file-name-coding-system default-file-name-coding-system<span class="synSpecial">)))</span>
ad-do-it<span class="synSpecial">))</span>
</pre>
<p>
Emacsを再起動して、「.svn」のフォルダがあるフォルダ内のファイルを開いて編集、おもむろに
</p>
<blockquote>
<p>
M-x svn-status
</p>
</blockquote>
<p>
とすると<a href="http://www.xsteve.at/prg/emacs/psvn.el" onclick="__gaTracker('send', 'event', 'outbound-article', 'http://www.xsteve.at/prg/emacs/psvn.el', 'psvn.el');" target="_blank">psvn.el</a>が起動します。基本はcommitのはずなので、この画面でファイル上で「c」を押して、コメントを記入し「C-c C-c」とする。これでcommitできる。複数ある時は選択画面で「m」を押して、ファイルを複数選択する。
</p>
<h4>
後は実践あるのみ
</h4>
<p>
 後は実践あるのみ(何か参考になる書籍があれば誰か教えてください(__)
</p>
</div>
<div class="footnote">
<p class="footnote">
<a href="/sirocco634/#fn1" name="f1">*1</a>:自分はこんな人な訳です。
</p>
<p class="footnote">
<a href="/sirocco634/#fn2" name="f2">*2</a>厳密に言うと、checkoutすることで作成される「.svn」というフォルダが不可欠らしい
</p>
</div>