Subversion解説1-導入編  2022/03/30 更新
Subversionのインストール
複数のPCで開発するには全部のPCに同じバージョンをインストールしてください。
実際あった事例:
PC1にあるリポジトリからPC2がチェックアウトしてビルドがエラーになる。
念のためPC1とPC2のソースファイルと WinMergeで比較する。
同一!
PC2のソースをPC1にコピーしてビルドする。同じビルドエラーが出る。Subversionのせいではないらしい。プロジェクトの中にPC1で作ったぞ!みたいな情報は入ってなさそうなのだ。
PC1とPC2の違いを調べる。Android Studioの立ち上がりは同じに見える。バージョンを調べる。
PC1: 4.0
PC2: 3.6
PC2を4.0にアップデート。ビルドできた。

それではインストール:
MPLABで開発したとき問題のSilk-Subversionを使用しました。
バージョン:Slik-Subversion-1.8.9-x64.msi
2022/03/25時点の最新版をインストールしました。
ダウンロードサイト:https://subversion.apache.org/packages.html
Slik-Subversion-1.14.1-x64.zip
インストールで厄介なところはないので、操作等は割愛します。
リポジトリの設定
リポジトリとは、データを置いておく場所です。具体的事例をみればよくわかると思います。

前回の解説では、行き当たりばったりのフォルダーで統一感がありませんでした。
そこで今回は次のように定義します。

パソコン名
CF-SX2

アンドロイドの開発をするフォルダー
C:\android

Subversionで管理するリポジトリのフォルダー
C:\android_repos

対象とするプロジェクト名
MyProject

MyProjectの作成
C:\androidに作成してください。
分かりやすくするため何も変更しないで下さい。

.gitignoreの変更
プロジェクトをビルドして実行形式のファイルができますが、Subversionで管理する必要のないファイルが生成されます。これを無視するファイルを定義するのが、
.gitignore
です。プロジェクト直下のフォルダーに配置されています。Android Studioの
[File]-[Open]
でファイルを開いてください。

内容を全部消去してください。
以下をコピペしてください。
# Gradle files
.gradle/
build/

# Local configuration file (sdk path, etc)
local.properties

# Log/OS Files
*.log

# Android Studio generated files and folders
captures/
.externalNativeBuild/
.cxx/
*.apk
output.json

# IntelliJ
*.iml
.idea/
misc.xml
deploymentTargetDropDown.xml
render.experimental.xml

# Keystore files
*.jks
*.keystore

# Google Services (e.g. APIs or Firebase)
google-services.json

# Android Profiling
*.hprof
これは、
https://github.com/github/gitignore/blob/main/
で公開されている内容です。

次にリポジトリを作成します。
cd c:\android_repos
svnadmin create MyProject
これでリポジトリができました。
名前はMyProjectでなくても問題ありませんが、分かりやすさという点から同じ名前にしたほうがいいと思います。

更に重要なことです、
MyProjectを共有ホルダに設定してください。

プロジェクトをSubversionインポートする
管理ソフトをSubversionにします。
[VCS]-[Enable Version Control Integration]

Subversionを選択します。
メニューがVCSからSVNに変わりました。

プロジェクトのリポジトリを設定します。
[SVN]-[Brows VCS Repositor]2022/03/28 最新版

Browse Subversion Repositoryを選択します。

リポジトリの追加をします。

+ボタンをクリックします。


いきなりhttpで設定しろと言われても???????????????
リポジトリを設定してるLinuxのサーバーがあればここで設定します。Raspberry Piでも対応できます。いろいろ試した結果、

file://はネット上にあるパソコンのファイルにアクセスします。
CF-SX2はコンピュータ名です。
MyProjectはリポジトリです(共有フォルダになっています)。

コンピュータ名とは、エクスプローラーのネットワークで表示されるコンピュータの名前です。

 [OK]をクリックすればこのプロジェクトのリポジトリが完成です。



Subversionへインポートする
subversionからみたらインポートです。つまりデータをリポジトリに取り込みます。インポートはリポジトリに対して1回だけの操作です。ビルトに必要なデータがリポジトリに取り込まれます。2回やるとエラーになります。


import into Subversionをクリックします。

リポジトリを選択して[import]ボタンをクリックします。



プロジェクトのフォルダーを選択して[OK]ボタンをクリックします。

コメントは書いておいたほうがいいです。年月日何のためのインポートかがわかるように工夫をして記述してください。[OK]ボタンをクリックします。

インポートの状態を示Windowが表示され終了すると消えます

チェックアウト
チェックアウトも言語明瞭・意味不明な感じです。最初にSubversionのリポジトリからプロジェクトを取得する操作です。 2回目以降はアップデートです。新たに開発に参加する場面を考えるとわかりやすいと思います。


PC1は一人で開発していました。 ひとつの機能ができあがるとSubversionを更新しています。納期に間に合わない不安が出できて応援を頼みました。 応援者はPC2でPC1のリポジトリからチェックアウトをします。これだけでPC2にPC1と同じプロジェクトが構築れます。 更新の記録もわかりますのでPC1の開発者に教えてもらうことを最少にすることができます。

インポートしたPCはこれでSubversionが使えると思ってしまいがちですが、Subversionの機能が使えません。

Subversionのメニューがディスエーブルになっています。
インポートしたPCでもSubversionの機能を使えるようにするためチェックアウトします。
[SVN]-[Get form Version Control]

Version Control でSubversion を選択。
Repositoryを選択。
[CheckOut]ボタンをクリック。


展開するフォルダを指定します。
[OK]ボタンをクリックします。


ほとんど何もしないで[OK]ボタンをクリックしてます。

,
フォーマットを選択します。最近始めたので1.8だけで、選択の余地はありません。
[OK]をクリックします。


プロジェクトを開くか?好きなほうを選んで下さい。


Subversionのメニューがイネーブルになりました。