![]() |
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/ で公開されている内容です。 次にリポジトリを作成します。
これでリポジトリができました。名前は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のメニューがイネーブルになりました。 |