- 追加された行はこの色です。
- 削除された行はこの色です。
[[戻る>DoldoWorkz#subversion]]
#author("2022-10-25T12:16:18+09:00","default:ahyahya2","ahyahya2")
-[[戻る>DoldoWorkz#subversion]]
--[[''Subversion''>Subversion]]
---[[Subversion/Windowsで使う(TortoiseSVN)]]&color(red){''✓''};
---[[Subversion/リポジトリをCORESERVER.JPに置く]]
*SubversionをWindowsで使う [#s3545e22]
Subversionを使った際のメモを書いていきます。
#hr
*目次 [#s3545e22]
WindowsでSubversion(TortoiseSVN)を使った際のメモを書いていきます。
#contents
#hr
*参考にした本 [#pa79299a]
-[[Amazon-入門Subversion―Windows/Linux対応 (単行本):http://www.amazon.co.jp/dp/4798013730]]~
WindowsでSubversionを使うなら必ず欲しいおすすめの1冊です。~
*参考にしたページ [#h341eb0a]
*SubversionをWindowsへインストールする[#yee5dc1d]
現在TortoiseSVNの最新バージョンは「1.7.1.22161」です(2011/11/29現在)
**1.TortoiseSVNをインストール [#e412a657]
本来「Subversion」はコマンドラインで使うものなのですが、それをWindowsのGUIで操作できるソフトが「TortoiseSVN」です。~
この中には既に必要最低限の「Subversion」のファイルが含まれていますので、これだけ入れれば使えるようになります。~
~
*SubversionをWindowsへインストールする方法[#yee5dc1d]
**「TortoiseSVN」をインストール [#e412a657]
まず、クライアント側には「TortoiseSVN」と「Language packs」をダウンロードしてインストールします。~
-[[tortoisesvn.tigris.org:http://tortoisesvn.tigris.org/]]~
&color(blue){''「TortoiseSVN」''};と&color(blue){''「Language packs(日本語化パッチ)」''};をダウンロードしてインストールする方法を説明していきます。~
+このページの左上にある「Download」を押します。~
--[[tortoisesvn.tigris.org:http://tortoisesvn.tigris.org/]]~
「TortoiseSVN」と「Language packs」が置いてあるページです~
ここのページの左上にある「Download」を押します。~
#ref(TortoiseSVN_Download.jpg)
出てくる以下のページでダウンロード出来ます。~
私は32bit版「&color(blue){''TortoiseSVN''};」の「&color(blue){''TortoiseSVN-1.4.8.12137-win32-svn-1.4.6.msi''};」をダウンロードしています。
#ref(TortoiseSVN_DL.jpg)
日本語化するための32bit版「&color(blue){''Language packs Japanese 32bit Setup''};」の「&color(blue){''LanguagePack-1.4.8.12137-win32-ja.exe''};」
#ref(Language packs_DL.jpg)
をインストールしています。~
「TortoiseSVN」には「Subversion」も含まれていますので、&color(blue){''ローカル環境で使う場合はこれだけでOK''};です。~
~
以上の2つをインストールして下さい。~
**TortoiseSVNに設定する [#zf540749]
#ref(tortoisesvn.tigris.org.jpg,,80%)
+出てくる以下のページで、TortoiseSVNのインストールファイルがダウンロード出来ます。~
お使いのOSが&color(blue){''32bitか64bitかでダウンロードするファイルが変わります''};。~
#ref(TortoiseSVN_downloads_TortoiseSVN1.jpg,,80%)
+さらに下にスクロールすると日本語化のインストールファイルがありますので、こちらもダウンロードします。~
お使いのOSが&color(blue){''32bitか64bitかでダウンロードするファイルが変わります''};。~
#ref(TortoiseSVN_downloads_TortoiseSVN2.jpg,,80%)
+TortoiseSVNのインストールファイル→日本語化のインストールファイルの順でインストールします。~
※TortoiseSVN(Subversion)1.6以前から1.7にすると、オーバーレイアイコンが表示されない、右クリックしてもコミット(Commit)・更新(Update)が出来ない…~
以上の症状が出るのは、TortoiseSVN(Subversion)1.7 から&color(blue){''作業コピーの形式が変わった事が原因''};です~
&color(red){''1.6以前から1.7以降のバージョンにした場合、作業コピーのアップグレード''};が必要になります~
[[TortoiseSVN(Subversion)1.6以前に作られた作業コピーを1.7形式へ>#svn1_6to1_7]]を参照してください~
**2.TortoiseSVN(Subversion)1.6以前に作られた作業コピーを1.7形式へ[#svn1_6to1_7]
1.6以前から1.7以降のバージョンにした場合、&color(red){''作業コピーのアップグレード''};が必要になります~
該当する方は、以下の手順で作業コピーをアップグレードして下さい。~
+作業コピーのルートフォルダを右クリック~
+[SVN Upgrade working copy]又は[SVN 作業コピーをアップグレード]を選択~
#ref(TorotiseSVN1_7_Work_Upgrade_Menu_EN.png,around,70%)
#ref(TorotiseSVN1_7_Work_Upgrade_Menu_JP.png,,70%)
#clear
+作業コピーの形式を新しい1.7形式にアップグレードして良いかどうかのダイアログが表示されるので[Upgrade the working copy to the new 1.7 format.]又は[作業コピーを新しい1.7形式にアップグレード]を選択します~
#ref(TorotiseSVN1_7_Work_Upgrade_Dialog_EN.png,around,60%)
#ref(TorotiseSVN1_7_Work_Upgrade_Dialog_JP.png,,60%)
#clear
+進捗状況のダイアログが表示されます~
#ref(TorotiseSVN1_7_Work_Upgrade_Run_JP.png,,70%)
+変換が完了します~
※この変更で「.svn」フォルダがルートフォルダのみ存在する様になります~
~
~
コマンドラインでアップグレードを行うには[svn upgrade]コマンドを使う様です~
svn upgrade (作業コピーのルートフォルダ)
例:Dドライブにある作業コピーのフォルダ「proj」をアップグレードする場合
svn upgrade D:\proj
詳しくは以下のWebページをご覧下さい~
-[[Apache Subversion 1.7 Release Notes>http://subversion.jp/index.php?option=com_content&view=article&id=74:apachesubversion17-releasenote&catid=25:subversion-article&Itemid=27]]~
-[[Subversion1.7はGitのような特徴を持つらしい - watawata日記>http://d.hatena.ne.jp/wyukawa/20100619/1276959188]]~
-[[「Apache Subversion 1.7」リリース、ワーキングコピーのメタデータ管理方法を変更 - SourceForge.JP Magazine : オープンソースの話題満載>http://sourceforge.jp/magazine/11/10/13/0641202]]~
-[[Subversion 1.7が出たので、TortoiseSVN 1.7でWC-NGやってみた - Linoブログ>http://d.hatena.ne.jp/lino/20111014/1318597181]]~
**3.TortoiseSVNに設定する [#zf540749]
インストールが終わったら、デスクトップを右クリック→[TortoiseSVN]→[Settings]~
~
以下のような設定ウインドウが開きます。
#ref(Language.jpg)
#ref(Language.jpg,,80%)
Languageを「日本語」に直します。~
ここで日本語に選択出来ない場合は前記の「LanguagePack」がインストールされていないのでインストールして下さい。~
[適用(A)]→[OK]を押して設定を一度終了します~
~
デスクトップを右クリック→[TortoiseSVN]→[設定(S)]~
~
以下のような設定ウインドウが開きます(さっきの設定ウインドウの日本語化したもの)~
#ref(Settings.jpg)
#ref(Settings.jpg,,80%)
「除外/無視するパターン(P)」でSubversionで無視する拡張子を指定します。~
ここで気をつけなければいけない事は、大文字・小文字を区別してしまう事です。~
通常は「*.bak *.Bak *.BAK」を指定しておけば良いでしょう。~
~
#ref(差分ビューア.jpg)
#ref(差分ビューア.jpg,,80%)
差分ビューアの設定は標準では「TortoiseMerge」がセットされています。~
自分は差分ビューアに「WinMerge」を使っているので、それに設定してあります~
#ref(WinMarge.jpg)
#ref(WinMerge.jpg)
-[[WinMerge 日本語版:http://www.geocities.co.jp/SiliconValley-SanJose/8165/winmerge.html]]~
テキストファイルの違いを表示する差分ビューア~
**使い続けてるとアイコンが変になるんですけど… [#of9c1450]
使っているうちに、チェックアイコンの表示がおかしくなる現象が起きます(Windows2000の場合は特に頻繁に起こります)~
これはアイコン表示をコロコロと変更するようなソフトの宿命で、修復をしてくれるソフトを入れておくと良いでしょう。~
私は以下のソフトを使っています。~
-[[KH Software Factory-KH DeskKeeper2007:http://www.khsoft.gr.jp/]]~
本来の使い方は、デスクトップアイコンの並びを記憶しておいて、誤って配置が崩れてしまったときに簡単に元の並び方に復元することができるソフトウェアです。~
初期設定で解像度が変わるたびにアイコン位置を保存&配置を修復してくれるため、例えばフルスクリーン表示するゲームの後でアイコンの配列が変わってしまうのを元に戻してくれます。~
**「Subversion」コマンドラインクライアントをインストール [#jd7774ee]
&color(blue){''通常使っている分には「TortoiseSVN」があればひとまず必要ない''};が、以下の場合は必要となる。~
**4.Subversion「コマンドラインクライアント」をインストール [#jd7774ee]
&color(blue){''通常使っている分には「TortoiseSVN」があればひとまず必要ない''};が、~
&color(red){''Subversionをコマンドラインで使いたい場合は必要''};となる。~
特にリポジトリのバックアップや移行をしたい時には「svnadmin hotcopy」や「svnadmin dump」コマンドを使わないといけないが、これは「コマンドラインクライアントをインストールする必要がある。~
~
&color(blue){''Subversionをコマンドラインで使いたい場合''};~
リポジトリのバックアップをしたい時に「svnadmin hotcopy」や「svnadmin dump」コマンドを使わないといけないが、これは「TortoiseSVN」では出来ない~
この場合はクライアントPCにインストールする。~
~
&color(blue){''リポジトリ(データ保管する場所)を別なPCにサーバーを立てて使う''};~
サーパーPCにインストールする…らしいです。~
こっちは私はやったこと無いので詳しい事はわかりません。~
以下のページで「Subversion」をダウンロード出来ます。
-[[subversion.tigris.org:http://subversion.tigris.org/]]~
「Subversion」が置いてあるページです~
ここのページの左上にある「Download」を押します。
#ref(SVN_Download.jpg)
出てくる以下のページでダウンロード出来ます。~
私は「&color(blue){''Win32 packages built against Apache 2.0''};」の...~
#ref(コマンドライン1.jpg)
~
「&color(blue){''svn-1.4.6-setup.exe''};」をダウンロードしています
#ref(コマンドライン2.jpg)
+既に別なSubversion「コマンドラインクライアント」(例えばSlikSVN等)を入れているのであればアンインストールします~
+TortoiseSVNのインストールファイルを実行します
+次へボタンでインストールを進めます~
+以下の画面で[Modify]ボタンを押します~
#ref(TortoiseSVN_Command_Line1.jpg)
+[Command line client tools]をクリックして[Will be installed on local hard drive]を選びます~
#ref(TortoiseSVN_Command_Line2.jpg)
+次へボタンでインストールを進めます~
+インストール終了後、コマンドプロンプトで以下のコマンドを打ち込みます
svn --version
+インストールしたバージョン番号(例では1.7.1)を含む以下の表示が出れば成功です
svn, version 1.7.1 (r1186859)
compiled Oct 22 2011, 10:53:27
Copyright (C) 2011 The Apache Software Foundation.
This software consists of contributions made by many people; see the NOTICE
file for more information.
Subversion is open source software, see http://subversion.apache.org/
The following repository access (RA) modules are available:
* ra_neon : Module for accessing a repository via WebDAV protocol using Neon.
- handles 'http' scheme
- handles 'https' scheme
* ra_svn : Module for accessing a repository using the svn network protocol.
- with Cyrus SASL authentication
- handles 'svn' scheme
* ra_local : Module for accessing a repository on local disk.
- handles 'file' scheme
* ra_serf : Module for accessing a repository via WebDAV protocol using serf.
- handles 'http' scheme
- handles 'https' scheme
*ローカル環境での使い方 [#c51c46e6]
*TortoiseSVN の使い方 [#c51c46e6]
**最初にやる事 [#sa3d81e3]
***リポジトリを作成する(ここにリポジトリを作成) [#g3dc083d]
***1.リポジトリを作成する(ここにリポジトリを作成) [#g3dc083d]
まずデータが格納される場所、「リポジトリ」というフォルダを作成しないといけません。~
&color(red){''この作業は新たなリポジトリを作成する時に1度しか行いません''};~
~
適当な名前のフォルダを作ります。~
+適当な名前のフォルダを作ります。~
例として「D:\repo」というフォルダを作成しました。~
~
「repo」フォルダを右クリック→[TortoiseSVN]→[ここにリポジトリを作成(Y)]~
~
そうすると以下のようなウインドウが開きます。
+「repo」フォルダを右クリック→[TortoiseSVN]→[ここにリポジトリを作成(Y)]~
+以下のようなウインドウが開きます。~
※現在のバージョンではこのウインドウが表示されず、FSFS固定となります。~
#ref(Repo_create.jpg)
[Native filesystem(FSFS)]→[OK]~
~
これでリポジトリが作成されます。~
+これでリポジトリが作成されます。~
以後はこのフォルダの内容を直接いじることはありません。~
***作業用フォルダの作成(SVN チェックアウト) [#bdb5e3cc]
次にSubversionで管理したいソースコードを置くためのフォルダを作成します。~
フォルダはリポジトリのフォルダと同じ名前でなくても構いません。~
***2.作業コピーの作成(SVN チェックアウト) [#bdb5e3cc]
+Subversionで管理したいソースコードを置くためのフォルダを作成します。~
ここでは例として「D:\proj」というフォルダを作成します。~
~
「proj」フォルダを右クリック→[SVN チェックアウト(T)]~
~
以下のようなウインドウが開きます~
#ref(チェックアウト.jpg)
+「proj」フォルダを右クリック→[SVN チェックアウト(T)]~
+以下のようなウインドウが開きます~
リポジトリのURLに先ほど登録したリポジトリのフォルダを登録します。~
これはプルダウンメニューで選べるはずです。&color(blue){''表記的には「file:///D:/repo」という感じになります''};
これはプルダウンメニューで選べるはずです。&color(blue){''表記的には「file:///D:/repo」という感じになります''};~
最後に[OK]ボタンを押します。~
~
以下のようなウインドウが開きます。
#ref(チェックアウト.jpg)
+以下のようなウインドウが開きます。
#ref(チェックアウト終了.jpg)
~
フォルダに以下のようなマークが付き、フォルダ内には「.svn」というフォルダが作成されます。~
+フォルダに以下のようなマークが付き、フォルダ内には「.svn」というフォルダが作成されます。~
#ref(チェックアウトフォルダ.jpg)~
#ref(SvnFolder.jpg)~
これはこのフォルダがSubversionの管理下に置かれたことを意味します。~
今後はこのフォルダの下位にファイルやフォルダを置いて管理していく事になります。~
***あれ?なんでここでインポートしないの? [#ccf5aa2a]
ここの説明では、リポジトリの作成後すぐに作業用フォルダの作成(SVN チェックアウト)しています。~
Subversionの本や、別のWebページを見ている方は「あれ?リポジトリの作成の後でインポートをしてから作業用フォルダの作成(SVN チェックアウト)をするんじゃないの?」とお思いでしょう。~
-あれ?なんでここでインポートしないの?~
ここの説明では、リポジトリの作成後すぐに作業コピーの作成(SVN チェックアウト)しています。~
Subversionの本や、別のWebページを見ている方は「あれ?リポジトリの作成の後でインポートをしてから作業コピーの作成(SVN チェックアウト)をするんじゃないの?」とお思いでしょう。~
この「インポート」と後に出る「追加」は意味が似ていてとても分かりずらいため、ここでは「インポート」をしなくても良い様に説明しています。~
**頻繁にやる事 [#ke2e186f]
***ファイルとフォルダを追加する(追加) [#kb1d291a]
先ほど作成した作業用フォルダ「D:\proj」内に登録したいファイルやフォルダをコピーします。~
***ファイルとフォルダを追加する(追加) [#kb1d291a]
先ほど作成した作業コピー「D:\proj」内に登録したいファイルやフォルダをコピーします。~
自分で作ったソース以外にも、他からダウンロードしてきた使っているソースも一緒に置いておくと良いと思います。~
また、プロジェクトごと、あるいはライブラリごとにフォルダ分けする事をお勧めします。~
#ref(Folderdivision.jpg)~
~
コピーが終わりましたら登録したいフォルダ又はファイルを右クリック→[TortoiseSVN]→[追加(A)]を押します。
~
追加ウインドウが出ますので、追加したいファイルを選んで[OK]ボタンを押します。~
#ref(SvnAdd.jpg)
~
フォルダ又はファイルに追加マークが付きます。~
エクスプローラの[表示(V)]→[最新の情報に表示(R)]をして表示を更新しないとマークが付かない場合があります。~
#ref(FolderAdd.jpg)~
~
追加の後は必ず&color(blue){''コミットをして''};、リポジトリ側に変更を登録する必要があります。~
~
#ref(CommitIcon.jpg)
~
間違って追加したフォルダやファイルは&color(blue){''コミット前であれば''};[右クリック]→[TortoiseSVN]→[元に戻す(V)]で解除する事が出来ます。~
ただし、この[元に戻す(V)]は&color(red){''不用意にフォルダ全体に対して行うと他の修正も全て元に戻してしまう''};ので注意してください。~
私はこれで&color(red){''変更中のコミットしていないファイルが元に戻って''};泣きました。~
&color(blue){''追加を実行する前に一度全体をコミットして''};おく癖をつけておくと、上記のような悲劇に見舞われずに済むとおもいます。~
~
***ファイルとフォルダを削除する(削除) [#w4d244ce]
登録済みのファイルはSubversionの管理下のリポジトリに置かれます。~
そのため、普通に削除をしてもSubversionの管理上は削除になりません。~
普通に削除をしてもリポジトリには情報が残っていますので、管理下のフォルダに対して右クリック→[SVN 更新(U)]をすると削除したファイルが復活してしまいます。~
~
リポジトリ内の情報にもファイルの削除を知らせたい場合は~
削除したいファイル・フォルダを選択後、右クリック→[TortoiseSVN]→[削除(D)]を押します。~
削除ウインドウが出ますので、削除する対象が間違っていないか確認してから[OK]ボタンを押します。~
~
#ref(DeleteIcon.jpg)
フォルダは上記のように×マークが付きますが、ファイルについては削除をした直後にファイル自体が見えなくなります。~
~
追加の後は必ず&color(blue){''コミットをして''};、リポジトリ側に変更を登録する必要があります。~
~
間違って削除してしまったフォルダは&color(blue){''コミット前であれば''};[右クリック]→[TortoiseSVN]→[元に戻す(V)]で解除する事が出来ます。~
ファイルについては、削除をした直後にファイル自体が無くなってしまうので、上位フォルダに対して右クリック→[TortoiseSVN]→[元に戻す(V)]を行う事によって解除する事が出来ます。~
ただし、この[元に戻す(V)]は&color(red){''不用意にフォルダ全体に対して行うと他の修正も全て元に戻してしまう''};ので注意してください。~
私はこれで&color(red){''変更中のコミットしていないファイルが元に戻って''};泣きました。~
&color(blue){''削除を実行する前に一度全体をコミットして''};おく癖をつけておくと、上記のような悲劇に見舞われずに済むとおもいます。~
***ファイルとフォルダの名前の変更(名前を変更) [#c57c5174]
登録済みのファイルはSubversionの管理下に置かれます。~
そのため、普通に名前の変更をしてもSubversionの管理上は名前の変更をした事になりません。~
~
名前の変更をしたいファイル・フォルダを1つ選択後、右クリック→[TortoiseSVN]→[名前を変更(N)]を押します。
~
#ref(名前の変更.jpg)
出てくるウインドウに変更したい名前を入力して[OK]ボタンを押します。
~
#ref(RenameIcon.jpg)
フォルダの場合はこのように古いフォルダ名に削除マークと、新しいフォルダ名に追加マークが見えます。~
ファイルの場合はただ単純に変更後のファイル名に追加マークが付きます。~
こういう見てくれでも、ただ単純に削除・追加をしたわけではなく&color(blue){''ちゃんと内部ではリネームしたという情報で記録されます''};のでご安心を。~
~
この後は必ず&color(blue){''コミットをする必要''};があります。~
***ファイルの内容を変更 [#qbda749e]
ファイルの内容を変更すると、Subversionは自動的に変更を検知し、赤いマークのついたアイコンが表示されます。~
#ref(EditIcon.jpg)~
記録したいタイミングで適度に&color(blue){''コミットをする必要''};があります。~
#ref(CommitIcon.jpg)
***ファイルとフォルダを記録する(SVN コミット) [#n16b1b97]
コミットをする前はあくまでもリポジトリに保管する予約をしてるに過ぎませんので、ファイルやフォルダに何らかの変更を加えた後は必ずコミットする必要があります。~
コミットをしたいファイル・フォルダを選択後、右クリック→[SVN 更新]を押します。~
ウインドウが表示されますのでコミット内容を確認後、メッセージにどんな変更をしたかのメモを書いてから[OK]ボタンを押します。~
#ref(SvnCommit.jpg)~
***ファイルとフォルダを取り出す(SVN 更新) [#v86a58aa]
ファイルを誤って削除してしまったので記録した内容から復元したい場合や、他の人が記録した内容を自分の作業フォルダに反映させたい場合に更新を行います。~
ファイルを誤って削除してしまったので記録した内容から復元したい場合や、他の人が記録した内容を自分の作業コピーに反映させたい場合に更新を行います。~
更新をしたいファイル・フォルダを選択後、右クリック→[SVN 更新]を押します。~
*** 「.svn」フォルダを抜いた状態でファイル・フォルダをコピーする(エクスポート) [#ge5b8618]
※TortoiseSVN(Subversion)1.7からは&color(blue){''「.svn」のフォルダは作業コピーのルートのみ存在する''};様になりましたので、ほとんどの場合は普通にコピーで済む様になりました~
以下の情報は1.6以前、あるいは作業コピーのルートフォルダごとコピーしたい場合の話です~
CVSの管理下におかれたフォルダには必ず「.svn」という管理情報が入っているフォルダが作成されます。~
ソースコード公開等で管理下のファイル・フォルダをコピーする際に、この管理フォルダが逆に邪魔になる事でしょう。~
コピー後に手で一つ一つ消すのでも良いのですが、コピーしたいファイル・フォルダを選択後、右クリック→[TortoiseSVN]→[エクスポート]を押すと、管理情報のない状態でコピーを行う事が出来ます。~
* Subversionのリポジトリ内の仮想フォルダと実際のフォルダの関係 [#i9512a30]
コピー後に手で一つ一つ消すのでも良いのですが、以下の方法で「.svn」を抜かしたファイルを取り出す事が出来ます~
+コピーしたいファイル・フォルダを選択
+右クリック→[TortoiseSVN]→[エクスポート]
** さらに理解を深めるための説明 [#t393e5a6]
*** Subversionのリポジトリ内の仮想フォルダと実際のフォルダの関係 [#i9512a30]
Subversionのリポジトリ内の仮想フォルダ構成は、普通に表示をしても見る事が出来ません。~
見るにはデスクトップを右クリック→[TortoiseSVN]→[リポジトリブラウザ]を押します。~
ウインドウが表示されますので、URLにポジトリのフォルダを登録します。~
これはプルダウンメニューで選べるはずです。&color(blue){''表記的には「file:///D:/repo」という感じになります''}; 最後に[OK]ボタンを押します。~
#ref(SVN仮想フォルダ構成.jpg)~
作業用フォルダ構成はこのような状態になります。~
このフォルダ構成では「D:\proj」が作業用フォルダのルートにしています。~
#ref(作業用フォルダ構成.jpg)~
作業コピー構成はこのような状態になります。~
このフォルダ構成では「D:\proj」が作業コピーのルートにしています。~
#ref(作業コピー構成.jpg)~
*リポジトリからリポジトリへの移行 [#w659f5c9]
projからproj2に内容を移す場合のコマンド~
**困った時の対処(FAQ) [#j49a7d04]
***TortoiseSVN(Subversion)1.6以前から1.7にすると作業コピーが使えなくなった[#m88c8ffa]
TortoiseSVN(Subversion)1.6以前から1.7にすると、オーバーレイアイコンが表示されない、右クリックしてもコミット(Commit)・更新(Update)が出来ない…~
以上の症状が出るのは、TortoiseSVN(Subversion)1.7 から&color(blue){''作業コピーの形式が変わった事が原因''};です~
&color(red){''1.6以前から1.7以降のバージョンにした場合、作業コピーのアップグレード''};が必要になります~
[[TortoiseSVN(Subversion)1.6以前に作られた作業コピーを1.7形式へ>#svn1_6to1_7]]を参照してください~
***作業コピーのフォルダにオーバーレイアイコンが表示されない [#n7d9cfaa]
TortoiseSVN 1.6.8.19260以降で確認されている症状です~
解決策としては以下の方法を試します~
+TortoiseSVNのインストールファイルを実行します
+次へボタンでインストールを進めます
+以下の画面で[Repair]ボタンを押します
#ref(TortoiseSVN_Install_Repair.jpg)
+次へボタンでインストールを進めます
+PCの再起動をします
svnadmin dump D:\svn\proj > d:\proj.dump
***使い続けてるとアイコンが変になるんですけど… [#n339fa7f]
svnadmin load D:\svn\proj2 < d:\proj.dump
使っているうちに、オーバーレイアイコンの表示がおかしくなる現象が起きます(Windows2000の場合は特に頻繁に起こります)~
これはアイコン表示をコロコロと変更するようなソフトの宿命で以下のコマンドで修正されます。
TortoiseProc.exe /command:rebuildiconcache
--[[TortoiseSVNのアイコンオーバレイがおかしくなった時 - RX-7乗りの適当な日々:http://d.hatena.ne.jp/rx7/20060210/p1]]~
情報元のWebページ~
※これやんなくても、リポジトリフォルダのコピーだけで行ける気がする~
もしくはアイコンの修復をしてくれるソフトを入れておいても良いでしょう。~
私は以下のソフトを使っています。~
-[[KH Software Factory-KH DeskKeeper2007:http://www.khsoft.gr.jp/]]~
本来の使い方は、デスクトップアイコンの並びを記憶しておいて、誤って配置が崩れてしまったときに簡単に元の並び方に復元することができるソフトウェアです。~
初期設定で解像度が変わるたびにアイコン位置を保存&配置を修復してくれるため、例えばフルスクリーン表示するゲームの後でアイコンの配列が変わってしまうのを元に戻してくれます。~
*リポジトリをWeb上のレンタルサーバに置く [#p7a2dac1]
**レンタルサーバーを探す [#kf776c78]
自分の家で作ったコードを会社でも見たい事があったので、リポジトリをインターネットからアクセスできる場所に置きたくなりました。~
Linuxの知識が乏しいのとメンテをするのが面倒なので、どこかのレンタルサーバー借りてSubversion入れて使おうかな…と思いながら情報収集していると以下のようなページが見つかりました。~
-[[さくらインターネットでSubversion (SaikyoLine.jp):http://saikyoline.jp/weblog/2005/10/subversion_2.html]]~
-[[suVeneのあれ:Subversionインストール(レンタルさくらサーバ):http://zeromemory.sblo.jp/article/1206848.html]]~
さくらインターネントのレンタルサーバで、Subversionをインストールする手順が書いてあります。~
~
***ネットワークドライブにあるファイルのアイコンがオーバーレイ表示しない [#td4e804c]
設定を変更します
+[TortoiseSVN]の[設定]を開きます。
+設定ダイアログ内のツリーの[アイコンオーバーレイ]を選び、[ドライブの種類]の[ネットワークドライブ(N)]にチェックを入れます。
#ref(icon_networkdrive.jpg,,70%)
さらに情報収集をしていると、最初からSubversionが標準で入っているレンタルサーバー「BLOCKGROUP - ブロックグループ」を見つけました。~
ラクなのでこれ使っていたのですが…あららー、最近BLOCKGROUPが潰れてしまった模様。~
-[[BLOCKGROUPの閉鎖アナウンス:http://www.blockgroup.jp/]]~
BLOCKGROUPのサービスの停止は2008年6月26日23時59分の様です~
しかも夜逃げ同然なスピード閉鎖…あ~ぁ&worried;~
~
次の移転先サーバーはどうしようかな~?と思っていたら、会社の同僚にCORESERVERというサーバを教えてもらいました。~
CGIもある程度揃っていて、容量も15ギガで良さげです。~
これの前身?のXREAというサーバーもやってるらしいので、実績もまずますです。~
-[[CORESERVER.JP コアサーバー:http://www.coreserver.jp/]]~
~
*「Subversionコマンドラインクライアント」の使い方 [#p1db0001]
とりあえず、サーバはここに決定!!~
しかし最初からSubversionが入っているのは良いが、バージョンが古いためBLOCKGROUPから移植してきたリポジトリが使えない!~
ということで、安定バージョンの中で新しいバージョン(1.4.6)をインストールして使うことにしました。~
**リポジトリからリポジトリへの移行 [#w659f5c9]
repoからrepo2に内容を移す場合のコマンド~
svnadmin dump D:\svn\repo > d:\repo.dump
svnadmin create D:\svn\repo2 --fs-type fsfs
svnadmin load D:\svn\repo2 < d:\repo.dump
***「CORESERVER.jp」に移転のために「BLOCKGROUP」からバックアップを取る [#s0cc4bdf]
-「BLOCKGROUP」のリポジトリフォルダをバックアップする~
FTPで接続して「repository」のフォルダをダウンロードしてください。~
~
-「BLOCKGROUP」の実体(ワーキングコピー)をバックアップする~
ホームページ等を作成されている場合、その場所で増えたデータに関してはSubversionの管轄外となっています。~
完全なバックアップを取るには、FTPで接続して「public_html」のフォルダをダウンロードして下さい。~
-この場合、repo2は作りたてのリポジトリである必要があります。~
-これやんなくても、リポジトリフォルダのコピーだけで移行できる気がするけど(汗)~
**リポジトリが壊れていないか調べる [#w1b278e2]
リポジトリが壊れていないかチェックするコマンド~
**「CORESERVER.jp」にSubversion安定版の新バージョン(1.4.6)をインストールする [#p850d54f]
以下の説明の元ソースです。~
Linux初心者には、こういう解説はものすご~くありがたいです。~
以下のWebページの作者に感謝⌣~
-[[CORESERVERにSubversionをインストールする:http://stickstack.org/coreserver/subversion]]~
-[[coreserverにSubversion入れようとしたのだが…:http://hemiolia.com/blog/200801/000138]]~
~
+作業用に「tmp」フォルダを作成~
mkdir ~/tmp
+「Oracle Berkeley DB」のファイルをダウンロード~
「Oracle Berkeley DB」のページから最新バージョンのBerkeley DB 4.7.25.tar.gz(db-4.7.25.tar.gz)をダウンロードして「tmp」フォルダに突っ込む~
+「Oracle Berkeley DB」をインストールする~
以下のコマンドを打ち込めばインストール出来ます。~
cd ~/tmp
tar xvzf db-4.7.25.tar.gz
cd db-4.3.29/build_unix/
../dist/configure --prefix=$HOME/packages --enable-compat185
make
make install
※「make」もしくは「make install」時に&color(red){''killされたりエラーが出たりして止まってしまった場合はもう一度''};行う。~
+「Subversion」のファイル2つをダウンロード~
のページからバージョン1.4.6ファイルを2つダウンロードする~
トップページから辿るとファイルのありかが分からなかったため、直指定でURLを叩く~
[[http://subversion.tigris.org/downloads/subversion-1.4.6.tar.gz>http://subversion.tigris.org/downloads/subversion-1.4.6.tar.gz]]~
[[http://subversion.tigris.org/downloads/subversion-deps-1.4.6.tar.gz>http://subversion.tigris.org/downloads/subversion-deps-1.4.6.tar.gz]]~
この2つのファイル(subversion-1.4.6.tar.gz と subversion-deps-1.4.6.tar.gz)を「tmp」フォルダに突っ込む~
+「Subversion」をインストールする~
以下のコマンドを打ち込めばインストール出来ます。~
cd ~/tmp
tar xvzf subversion-1.4.6.tar.gz
tar xvzf subversion-deps-1.4.6.tar.gz
cd subversion-1.4.6
./configure --prefix=$HOME/packages --with-ssl --with-berkeley-db=$HOME/packages
make
make install
※「make」もしくは「make install」時に&color(red){''killされたりエラーが出たりして止まってしまった場合はもう一度''};行う。~
+カレントフォルダに「.bashrc」ファイルを作成する~
「.bashrc」という名前(&color(blue){''ファイル名はとても重要''};なので間違えないようにしてください)のテキストファイルを作り、ファイルの内容を以下のようにする~
export PATH=/virtual/ユーザー名/packages/bin:$PATH
※当然、ユーザー名の所は自分のユーザー名を入れてね~
+「.bashrc」ファイルを認識させるためにコマンドを打つ~
cd ~
source .bashrc
+ログインし直して、以下の3つのコマンドとも、バージョンが1.4.6と出れば成功です。~
++「svn」コマンドのバージョン
svn --version
~
svn, version 1.4.6 (r28521)
compiled Jun 25 2008, 23:49:05
Copyright (C) 2000-2007 CollabNet.
Subversion is open source software, see http://subversion.tigris.org/
This product includes software developed by CollabNet (http://www.Collab.Net/).
The following repository access (RA) modules are available:
* ra_dav : Module for accessing a repository via WebDAV (DeltaV) protocol.
- handles 'http' scheme
- handles 'https' scheme
* ra_svn : Module for accessing a repository using the svn network protocol.
- handles 'svn' scheme
* ra_local : Module for accessing a repository on local disk.
- handles 'file' scheme
++「svnadmin」コマンドのバージョン
svnadmin --version
~
svnadmin, version 1.4.6 (r28521)
compiled Jun 25 2008, 23:49:05
Copyright (C) 2000-2007 CollabNet.
Subversion is open source software, see http://subversion.tigris.org/
This product includes software developed by CollabNet (http://www.Collab.Net/).
The following repository back-end (FS) modules are available:
* fs_base : Module for working with a Berkeley DB repository.
* fs_fs : Module for working with a plain file (FSFS) repository.
++「svnserve」コマンドのバージョン
svnserve --version
~
svnserve, version 1.4.6 (r28521)
compiled Jun 25 2008, 23:49:05
Copyright (C) 2000-2007 CollabNet.
Subversion is open source software, see http://subversion.tigris.org/
This product includes software developed by CollabNet (http://www.Collab.Net/).
The following repository back-end (FS) modules are available:
* fs_base : Module for working with a Berkeley DB repository.
* fs_fs : Module for working with a plain file (FSFS) repository.
svnadmin verify D:\svn\repo
***「BLOCKGROUP」から「CORESERVER.jp」にリポジトリを移行 [#p56b7067]
前記の「CORESERVERにSubversion安定版の新バージョン(1.4.6)をインストールする」を見て&color(blue){''Subversionを新しいバージョンにインストール''};しておく事。~
これを行わないとリポジトリのバージョン違いによって以下のエラーが出て使えません。~
svn: Expected format '3' of repository; found format '5'
新しいバージョンにインストールすると、BLOCKGROUPにあった「repository」フォルダを置くだけで使えるようになります。~
*リポジトリをWeb上のレンタルサーバに置く [#p7a2dac1]
別ページにまとめてあります。~
-[[Subversion/リポジトリをCORESERVER.JPに置く]]~
***TortoiseSVNの設定 [#n311d55b]
例えば、カレントにリポジトリのフォルダ「repository」を置いた場合、アクセスするURLは以下の通りです。
-puttyを使わない(こちらは毎回パスワードを聞かれます)~
svn+ssh://ユーザー名@http指定のサーバー名/virtual/ユーザー名/repository
--例
svn+ssh://username@s99.coreserver.jp/virtual/username/repository
-puttyの証明書形式を使って接続する~
[[秘密鍵によるSSH接続手順 Putty>http://www.mediaweb.biz/database/modules/cobalt/article.php?articleid=110]]~
svn+ssh://ユーザー名@puttyセッション名/virtual/ユーザー名/repository
--例
svn+ssh://username@coreserverhost/virtual/username/repository