はじめに
とある支援先のプロジェクトにて、SVNを使いたいとの要望を受けたので、UiPath StudioにおけるSVNの仕様を確認してみました。
(令和になって、SVNですか!って思う人も少ないと思います。実際、私も長らくGitしか使っておらず、SVNを使ったのは10年以上前だったと思います。)
とんでもなく今更感のある情報で記事にしても役に立つ人が限られていると思いましたが、もったいないので記事にします。
使うもの
- UiPath Studio 2021.10.4
- Subversion ※今回はVisualSVN 5.0.1を使用します
StudioでSVNを使用できるようにする
デフォルトではGit機能しかオンになっていない模様。SVN機能がオフになっている場合は機能を有効化します。
プロキシサーバを経由してSVNリポジトリにアクセスする場合は、以下のファイルを修正します。C:\Users\[username]\AppData\Roaming\Subversion\servers
※デフォルト
空のリポジトリに新規プロジェクトをコミットする
まずは、空のリポジトリにプロジェクトをコミットしていきます。
Studioにてプロジェクトを開いて、Studio右下の「ソース管理に追加」から「SVNに追加」を選択します。
リポジトリのURLと資格情報を入力して、追加ボタンを押します。
※今回は空のリポジトリ「repo」を用意しています。
SVNサーバに自己証明書を使用していて、「信頼されたルート証明機関」ストアにインポートしていない場合は、以下のメッセージが出ますが、「はい」を押して次に進んでください。
次にコミットする資源を選択する画面が表示されるので、対象の選択とコミットログを入力して、チェックインボタンを押します(この操作はgitと同じですね)。
リポジトリにプロジェクトがコミットされました。
チェックアウト
SVNで構成管理されたプロジェクトを変更するには、チェックアウトする必要があります。
チェックアウトせず.xamlを開いたり、アクティビティパッケージを変更しようとすると、メッセージが表示されます。
チェックアウトするには、対象のファイルまたはフォルダを右クリックし、「編集用にチェックアウト」を選択します。
チェックアウトされた資源は「鍵」のアイコンがグレーから青に変わります。
チェックアウトされた資源は、他のユーザから見るとロックされています。
強制的にロックを横取りすることもできるのですが、奪われたユーザのローカルの作業が失われるので、運用上避けた方がよいです。
チェックイン(コミット)
ワークフローの修正が終わったらチェックインしてリポジトリに変更内容をコミットします。プロジェクトを右クリックして「チェックイン」を選択するか、Studio右下の「ペン」のアイコンをクリックします。
コミットする資材を選択できます。コミットログ(コミットメッセージ)を入れ、チェックインボタンを押します。
「変更を表示」をクリックすると、リポジトリとローカルの差分を確認することができます。
リポジトリに変更内容がコミットされたことが確認できました。
誰かがロックを奪いリポジトリを更新するなどして変更内容に競合が発生すると、コミットのエラーとなります。
さいごに
久しぶりSVNに触れましたが、「ローカルに資材を落として、ロックをして、修正したらリモートにアップする」だけなので、シンプルさが改めて分かりました。
UiPathの場合、1つのプロジェクトを複数人で同時に開発するケースがほとんどない(経験上)と思うので、SVNでもいいとは思いますが、私はこれからもGitを使い続けると思います。
役に立った方がいらっしゃれば、是非LGTMをお願いします。