<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Svn on ポンコツ地方エンジニアの技術ブログ</title><link>https://blog-0847c6.gitlab.io/tags/svn/</link><description>Recent content in Svn on ポンコツ地方エンジニアの技術ブログ</description><generator>Hugo -- gohugo.io</generator><language>ja-jp</language><lastBuildDate>Sat, 03 Jul 2021 00:00:00 +0900</lastBuildDate><atom:link href="https://blog-0847c6.gitlab.io/tags/svn/index.xml" rel="self" type="application/rss+xml"/><item><title>git-svn の使い方</title><link>https://blog-0847c6.gitlab.io/posts/2021/07/03/git-svn/</link><pubDate>Sat, 03 Jul 2021 00:00:00 +0900</pubDate><guid>https://blog-0847c6.gitlab.io/posts/2021/07/03/git-svn/</guid><description>&lt;p&gt;社内で未だに SVN で開発しているプロダクトがあるので、git-svn を使ってみました。&lt;/p&gt;
&lt;h2 id="環境"&gt;&lt;a href="#%e7%92%b0%e5%a2%83" class="header-anchor"&gt;&lt;/a&gt;環境
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;Ubuntu 20.04&lt;/li&gt;
&lt;li&gt;git 2.25.1&lt;/li&gt;
&lt;li&gt;svn 1.13.0&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="インストール"&gt;&lt;a href="#%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%bc%e3%83%ab" class="header-anchor"&gt;&lt;/a&gt;インストール
&lt;/h2&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;$ sudo apt install git-svn
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="クローン"&gt;&lt;a href="#%e3%82%af%e3%83%ad%e3%83%bc%e3%83%b3" class="header-anchor"&gt;&lt;/a&gt;クローン
&lt;/h2&gt;&lt;p&gt;SVN リポジトリを指定してクローンを行います。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;$ git svn clone --prefix=svn/ &amp;lt;SVNリポジトリのURL&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;code&gt;--prefix&lt;/code&gt; は SVN のブランチに接頭辞をつけるオプションで、一般的に付けたほうがよいとされています。&lt;/p&gt;
&lt;p&gt;SVN リポジトリが標準的な構成(trunk, branch, tag) になっている場合は &lt;code&gt;-s&lt;/code&gt; オプションを付けます。&lt;br&gt;
標準的な構成になっていない場合は &lt;code&gt;--trunk&lt;/code&gt; &lt;code&gt;branches&lt;/code&gt; &lt;code&gt;--tags&lt;/code&gt; を使用する。&lt;br&gt;
今回はルートが trunk になっており、ブランチも作成していなかったため、以下のように指定しました。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;$ git svn clone --trunk=/ --prefix=svn/ &amp;lt;SVNリポジトリのURL&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;試しにブランチを表示してみると、以下のようになっていました。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;$ git branch -a
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;* master
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; remotes/svn/trunk
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="コミット"&gt;&lt;a href="#%e3%82%b3%e3%83%9f%e3%83%83%e3%83%88" class="header-anchor"&gt;&lt;/a&gt;コミット
&lt;/h2&gt;&lt;p&gt;コミットは普通に git を使ってやるのと同じです。&lt;/p&gt;
&lt;h2 id="svn-リポジトリにコミットを反映する"&gt;&lt;a href="#svn-%e3%83%aa%e3%83%9d%e3%82%b8%e3%83%88%e3%83%aa%e3%81%ab%e3%82%b3%e3%83%9f%e3%83%83%e3%83%88%e3%82%92%e5%8f%8d%e6%98%a0%e3%81%99%e3%82%8b" class="header-anchor"&gt;&lt;/a&gt;SVN リポジトリにコミットを反映する
&lt;/h2&gt;&lt;p&gt;git でのプッシュに該当する操作として、SVNにコミットを行います。&lt;br&gt;
コミット前にリベースで git のコミットをまとめておいたほうがいいかもしれません。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;$ git svn dcommit
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="svn-リポジトリから最新のデータを取得"&gt;&lt;a href="#svn-%e3%83%aa%e3%83%9d%e3%82%b8%e3%83%88%e3%83%aa%e3%81%8b%e3%82%89%e6%9c%80%e6%96%b0%e3%81%ae%e3%83%87%e3%83%bc%e3%82%bf%e3%82%92%e5%8f%96%e5%be%97" class="header-anchor"&gt;&lt;/a&gt;SVN リポジトリから最新のデータを取得
&lt;/h2&gt;&lt;p&gt;リベースを行うことになるみたいです。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;$ git svn rebase
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;尚、これを行うにはワークディレクトリ内の全ての変更がコミットされている必要があるみたいです。
コミットしていない変更があった場合、以下のようなエラーが表示されます。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;/workspace/hoge: needs update
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;update-index --refresh: command returned error: 1
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="参考-url"&gt;&lt;a href="#%e5%8f%82%e8%80%83-url" class="header-anchor"&gt;&lt;/a&gt;参考 URL
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://blog.freks.jp/start-git-svn/" target="_blank" rel="noopener"
 &gt;https://blog.freks.jp/start-git-svn/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://www.wantanblog.com/entry/2019/10/15/220051" target="_blank" rel="noopener"
 &gt;https://www.wantanblog.com/entry/2019/10/15/220051&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>RabbitVCS のインストール</title><link>https://blog-0847c6.gitlab.io/posts/2021/07/01/rabbit-vcs/</link><pubDate>Thu, 01 Jul 2021 00:00:00 +0900</pubDate><guid>https://blog-0847c6.gitlab.io/posts/2021/07/01/rabbit-vcs/</guid><description>&lt;p&gt;Windows では TortoiseSVN と TortoiseGit を使っていたので、Linux でも GUI で良いのがないかなと探していたら、RabbitVCS というのが Tortoise に似た感じだったので、インストールしてみました。&lt;/p&gt;
&lt;h2 id="環境"&gt;&lt;a href="#%e7%92%b0%e5%a2%83" class="header-anchor"&gt;&lt;/a&gt;環境
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;Ubuntu 20.04&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="インストール"&gt;&lt;a href="#%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%bc%e3%83%ab" class="header-anchor"&gt;&lt;/a&gt;インストール
&lt;/h2&gt;&lt;p&gt;以下に説明があります。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="http://wiki.rabbitvcs.org/wiki/install/ubuntu" target="_blank" rel="noopener"
 &gt;http://wiki.rabbitvcs.org/wiki/install/ubuntu&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;以下のコマンドを実行するだけでインストールできました。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;$ sudo apt install rabbitvcs-nautilus
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;これ一つで &lt;code&gt;RabbitVCS SVN&lt;/code&gt; &lt;code&gt;RabbitVCS Git&lt;/code&gt; &lt;code&gt;RabbitVCS Hg&lt;/code&gt; が使えるようになるっぽい。&lt;/p&gt;
&lt;p&gt;あとはファイル比較用の Meld とかいうツールも勝手に入ってました。&lt;/p&gt;
&lt;p&gt;再起動後には Tortoise と同じように、フォルダにアイコンが表示されるようになっていました。&lt;/p&gt;
&lt;h2 id="所感"&gt;&lt;a href="#%e6%89%80%e6%84%9f" class="header-anchor"&gt;&lt;/a&gt;所感
&lt;/h2&gt;&lt;p&gt;まだ全然使っていませんが、とりあえず最新のコードをプルしたりだとか、コミットログを見たりだとか、ファイルの差分を閲覧する分には困っていません。&lt;/p&gt;
&lt;h2 id="参考-url"&gt;&lt;a href="#%e5%8f%82%e8%80%83-url" class="header-anchor"&gt;&lt;/a&gt;参考 URL
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="http://wiki.rabbitvcs.org/wiki/install/ubuntu" target="_blank" rel="noopener"
 &gt;http://wiki.rabbitvcs.org/wiki/install/ubuntu&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://ameblo.jp/mizuhokuzuhara/entry-12581847170.html" target="_blank" rel="noopener"
 &gt;https://ameblo.jp/mizuhokuzuhara/entry-12581847170.html&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description></item></channel></rss>