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

140 lines
7.8 KiB
Markdown
Raw Normal View History

2019-03-31 11:00:21 +00:00
---
title: MeadowでSubversionを使ってみた
author: kazu634
date: 2007-12-12
url: /2007/12/12/_730/
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>