ソースコード管理システムサポート

nexacro platformでは、ソースコード管理システムと連携をサポートします。サポートするソリューションによって機能が異なる場合があります。

Subversion

Subversion使用設定

SubVersionクライアントモジュールをインストールした場合に nexacro studioの Tools > Options機能の Source Controlカテゴリーから‘SVN’を選択することができます。

옵션_Source-Control_화면

SVNでサポートするオプションは、下記の通りです。

Option

説明

General(必須)

Execute file path

SVNコマンドラインクライアント実行ファイルのパス

Project Repository

プロジェクトソースを管理するリモートリポジトリのアドレスとアカウント情報

Additional Repository

Interaction the generate path

Generate Pathのソース管理適用有無を設定

Generate Repository

ジェネレートされたソースを管理するリモートリポジトリのアドレスとアカウント情報

Project Management

Check SVN status when opened project

プロジェクトを開く時にファイルのステータスを自動的にチェックするオプション

Update file(s) when opening the project

プロジェクトを開く時にファイルの最新バージョンを取得するオプション

Commit file(s) when closing the project

プロジェクトを閉じる時にチェックアウト状態のファイルを コミットするオプション

Updated modification list after performing the command(削除済み)

コマンドを実行した後、修正項目のリストを自動更新するかを設定

File Management(xfdl, xjsファイルのみ適用)

Add file when inserted

新しいファイルを追加するときに自動的にAddコマンドを実行するかを設定

Update file when opening the file

ファイルを開くときに、最新バージョンのファイルを自動的に取得するかを設定

Commit file when saving the file

ファイルを保存するときに自動的にコミットするかを設定

Lock file when edited

ファイルの編集中には自動的にロック状態に設定して、他のユーザーが編集できないようにするかを設定

Externals

Diff Viewer execute file path

バージョンごとのファイルを比較するための外部プログラムを登録

Merge Tool execute file path

ファイルのマージ時に使用する外部プログラムを登録

下記の項目は、3つのオプションのいずれかを選択することができます。

Commit file(s) when closing the project

Add file when inserted

Commit file when saving the file

Lock file when edited


Commit Automatically:ユーザーの確認なしに自動的に実行

Prompt for Commit:ユーザー確認後処理

Do nothing:オプションを使用しない

nexacro StudioでSVNオプションが有効になるためには、Subversionクライアントをインストールする必要があります。

nexacro Studioでは、Windowsレジストリに登録された項目にSubversionクライアントがインストールされているかどうかを確認します。

「User execute file path」項目の右側に[?]ボタンをクリックすると、SVNクライアントのインストールに必要な情報を確認することができます。

サブバージョン1.6.0バージョン未満の場合、nexacro StudioでSVNオプションが表示されないか、一部の機能が動作しないことがあります。

Subversionクライアントのインストールについて関連情報は別途提供しません。インストール関連情報は、以下のリンクを参照してください。

http://subversion.apache.org/packages.html

ツールバー

nexacro studioでは、次のような SVN動作をサポートしております。

INCLUDE_ERROR(ELEMENT_REMOVED)


項目

説明

Update

最新バージョンのファイル内容をダウンロードします。

Commit

変更された内容をリポジトリに反映します。

Revert

以前に実施した作業をキャンセルしてファイルの状態を以前の状態に修復します。

Lock

指定されたファイルを他のユーザーが使用不可能なロック状態に変更します。

Unlock

設定されたロック設定状態を解除します。

Import

プロジェクトをリポジトリに登録します。

Add

新規ファイルを追加します。追加されたファイルは commitを実行してサーバーに反映することができます。

Delete

指定されたファイルを削除状態に変更します。Commitを実行してサーバーから削除することができ、ローカル作業位置で実際のファイルは削除されません。

Rename

指定されたファイルのファイル名を変更します。SVNは、変更されたファイル名で Add/Delete方式で進むことになります。

Edit Conflicts

競合状態のファイルを編集します。

Resolve

作業ファイルの競合を解消します。

Clean up

作業ファイルを再帰的に巡回しながら、失敗した作業を無効化処理します。

Refresh Status

ファイルの状態をリフレッシュします。

Show Log

ファイルのバージョンヒストリを確認することができます。

Compare with Previous Revision

以前のバージョンとは異なる部分を比較します。Optionsで、‘Diff Viewer execute file path’のプログラムが登録されている必要があります。

Repository Browser

リポジトリブラウザを起動します。

メニューバーでも同じ機能を提供します。ただし、メニューバーには[View]メニューがあって、SVNのOutputウィンドウとCheck for Modification(Project)ウィンドウを有効/無効にすることができます。

SVNのBarとMenuを有効にして使用するためには、サブバージョンのクライアントをインストールした後、nexacro studioの[Tools>Optionsウィンドウ]でSource Control項目を設定する必要があります。

認証(Authentication)

オプションにて、Project Repository、Generate Repository項目にリポジトリ情報とアカウント情報を通常に設定して保存する場合、リポジトリにアクセスして認証を処理します。正常に認証された場合には別のメッセージを出力せず、認証が失敗した場合には下記のようにメッセージを表示します。

リポジトリに接続されていないプロジェクトを実行した状態で、SVNを使用するオプションを変更した場合には、下記のようなリポジトリの登録有無を確認するポップアップメッセージが表示されます。「Yes」をクリックした場合は、Import機能を実行します。

import_repository_message

Project Repositoryのみ設定した場合には、Project Repositoryのみ表示され、Generate Repositoryまで設定した場合には、Project Repository、Generate Repositoryの2つの項目が表示されます。プロジェクトのパスは、デフォルトで設定されたパスの下位プロジェクト名でフォルダを生成し、Repositoryを自動的に指定します。

基本機能

プロジェクト新規登録(Import)

新規プロジェクトを生成するか、リポジトリに登録されていないプロジェクトを登録することができます。サブバージョンの使用設定をした状態で、新規プロジェクトを生成した場合、自動的に実行され、登録されていないプロジェクトは、メニューの[SVN>Import]を選択して実行することができます。

項目

説明

Project Repository

プロジェクトのソースを登録するリポジトリアドレスを指定します。

オプションで指定されたリポジトリアドレスの後ろにプロジェクト名のフォルダを生成します。

Generate Repository

ジェネレートされたソースを登録するリポジトリアドレスを指定します。

Import Message

Importメッセージを入力します。

Include Ignored Files

Subversionで設定された、無視されるファイルの格納の有無を決定します。

Importされたプロジェクトは、SVNと連動されるために自動的にチェックアウトが行われます。

import_and_checkout

コミット(Commit)

作業コピーの変更内容をリポジトリに反映します。

commit_popup

項目

説明

Message

コミットメッセージを入力します。

Path

コミットするファイルのリストを表示します。

Keep Locks

コミット対象のロック状態を維持するかを決定します。

該当機能は、対象ファイルがロック状態である場合にのみ有効になります。

ファイル追加(Add)

接続されたリポジトリに、新規ファイルを登録する時使用します。

add_popup

項目

説明

Path

対象ファイルリストを表示します。

リストからチェックされたファイルリストのみリポジトリに登録されるようにスケジュールされ、その後に別々に、"Commit"を実行するとリポジトリに実際に反映されます。

ファイル削除(Delete)

接続されたリポジトリで、ファイルを削除する時使用します。

delete_popup

項目

説明

Message

削除メッセージを入力します。

Path

削除するファイルを表示します。

指定された対象は、リポジトリで削除されるようにスケジュールされ、その後に別々に、"Commit"を実行するとリポジトリに実際に反映されます。

メニューの[Edit>Delete]を選択して削除しても、[Svn>Delete]を選択したのと同じ状態にファイルを処理します。ただし、[Svn>Delete]を選択した場合には、Delete状態に変更した理由をメッセージとして入力することができます。

nexacro studioではなくWindowsエクスプローラや他のツールでリポジトリに登録されたファイルをSVNツールを使用せずに削除した場合は、該当ファイルの状態がmissingで処理されます。状態がmissingで処理された場合には、updateを使用してファイルを復元することができます。


名前変更(Rename)

対象の名前を変更します。Rename機能は、対象ファイルのコピーを変更する名前にコピーして「Add」し、既存のファイルを「Delete」する方式で進行され、すぐにコミットコマンドを実行します。

名前を変更しても、メニューの[SVN>Show Log]で前の変更履歴をすべて確認することができます。

アップデート(Update)

ローカルの作業用コピーに接続されているリポジトリの最新バージョンに変更します。 Updateコマンドは、ファイルのSVNステータスが確認された後にのみ活性化され、別の入力ダイアログなく、コマンドの実行結果ダイアログのみが表示されます。

ファイルロック

ファイルロック(Lock)

Unlock状態の対象を、接続されたユーザーが先行獲得するLockの状態に変更します。

lock_popup

項目

説明

Message

ロックメッセージを入力します。

Path

ロック状態に変更する対象のファイルのリストを表示します。

ロック解除(UnLock)

接続されたユーザーの情報で、Lockされた対象を Unlock状態に変更します。

unlock_popup

項目

説明

Path

対象ファイルのリストを表示します。

変更記録活用

変更履歴(Show Log)

対象のログを表示します。

show_log_popup

以前のリビジョン比較(Compare with Previous Revision)

作業コピーと以前の revisionのれポジ取りの対象を比較して相違点を表示します。該当機能はオプションに、‘Diff Viewer execute file path’が設定されている状態で正常動作します。

次は、Compare with Previous Revisionを実行して、外部Diffツールを使用してmain.xfdlファイルの最終リビジョンとその前のリビジョンを比較する画面です。

compare_with_previous_revision

nexacro studioのインストール時にdiff、mergeツールを基本的には提供しておりません。現在常用しているツールを使用するか、オープンソースやフリーウェアを設置して使用することができます。

http://winmerge.org/(オープンソース)

https://sourcegear.com/diffmerge/(フリーウェア)

修正を元に戻す(Revert)

以前の作業内容をキャンセルして、作業コピーのステータスを戻します。

revert_popup

項目

説明

Path

対象ファイルリストを表示します。

リフレッシュ(Refresh Status)

作業コピーの SVN ステータス状態をリフレッシュする機能です。

リポジトリブラウザ

リポジトリのファイルリストを表示し、SVN機能をサポートする Subversion専用クライアントツールです。

repository_browser_popup

項目

説明

Folder Tree

接続されたリポジトリのフォルダをツリーに表示します。

File List

現在選択されたフォルダのファイルリストをリストに表示します。

リポジトリを選択した状態では、次のようなポップアップメニューがサポートされます。

repository_browser_context_menu

項目

説明

Check Out

選択されたリポジトリを、指定されたクライアント位置にチェックアウトします。

Export

選択されたリポジトリを指定されたクライアント位置にエクスポートします。エクスポートされたファイルは、チェックアウトされない状態でリポジトリと連動されません。

Show Log

選択された対象のログを表示します。

Refresh Status

フォルダの情報をリフレッシュします。

Create Folder

指定されたリポジトリに下位フォルダを生成します。

Add Folder

選択されたフォルダのファイルを指定されたリポジトリに追加します。

Add File

選択されたファイルを指定されたリポジトリに追加します。

Rename

対象リポジトリの名前を変更します。

Delete

対象リポジトリを削除します。

ファイルを選択した状態では、次のようなポップアップメニュをサポートします。

repository_browser_context_menu_file

項目

説明

Show Log

選択された対象のログを表示します。

Refresh Status

ファイル情報を最新の状態に変更します。

Rename

対象ファイルの名前を変更します。

Delete

対象ファイルを削除します。

Save as

対象ファイルのコピーを生成します。

チェックアウト(Check Out)

リポジトリブラウザでフォルダを選択し、目的の場所にチェックアウトすることができます。

ファイルエクスポート(Export)

リポジトブラウザでフォルダを選択した後、目的の場所にファイルをエクスポートすることができます。エクスポートされたファイルは、リポジトリと連動しません。

SVN Output

SVNの機能実行結果を表示するウィンドウ。

SVN_output_window

SVN Explorer

SVNで管理されるプロジェクトとリポジトリに属するディレクトリ/ファイルの状態情報を表示するウィンドウです。

Check_for_Modification_window

上部のメニューボタンをクリックすると、表示する情報を選択することができます。


項目

説明

Show unmodified

変更状態ではない項目も表示します。

Show unversioned

SVNに登録されていない項目も表示します。

Refresh list

現在のリストを最新の状態に更新します。

Subversion Status

Subversionの状態によって、nexacro studioのプロジェクトエクスプローラに、次のように表示されます。

項目

説明

added

ファイルがリポジトリに Addとして登録されていない状態です。

conflicted

Update中にトラブルが発生した状態です。

locked

ファイルがロックされた状態です。

modified

ファイルが修正された状態です。

nonversioned

Repositoryに登録されていないファイルです。

normal

修正された内容がない状態です。

ギット(Git)

ギット使用設定

Gitオプション設定

ギットクライアントをインストールすると、nexacro Studioメニュー[Tools>Options]ウィンドウで、[Source Control]項目を選択して、Source Control Management Typeリストで「Git」を選択します。

nexacro Studioでギット使用時にサポートするオプションは下記の通りです。

オプション

説明

General(必須)

Executable file path

ギットクライアント実行可能ファイルをインストールしたパスを入力します。

デフォルトパスにgit.exeファイルがインストールされている場合は、自動的にオプション値が指定されます。

User Name

ギットの動作に必要なユーザー名を入力します。

User E-mail

ギットの動作に必要なユーザーの電子メールアカウントを入力します。

Git Management

Interact with generate path

Generate Pathもソース管理の適用有無を設定します。

Push after commit

リモートリポジトリが接続されている場合は、Commitコマンドを実行した後に自動的にPushコマンドまで実行するかどうかを設定します。

Pull before push

リモートリポジトリが接続されている場合は、Pushコマンドを実行した後に自動的にPullコマンドまで実行するかどうかを設定します。

Project Management

Pull when opening the project

プロジェクトを開いたときにリモートリポジトリが接続されている場合は、最新項目を取得します。(Pull)

Push when closing the project

プロジェクトを閉じるときにリモートリポジトリが接続されている場合は、変更事項を発行します。(Pull→Push実行)

File Management(xfdl、xjsファイルのみ適用)

Commit added file

ファイルの追加時にCommitの実行有無を設定します。

Commit saved file

ファイルの保存時にCommitの実行有無を設定します。

Externals

Diff tool path

「Show Diff」コマンド時に使用する実行ファイルのパスを入力します。

該当オプションを設定しない場合は、「Show Diff」機能を使用することができません。

Merge tool path

「Edit Conflicted」コマンド時に使用する実行ファイルのパスを入力します。

該当オプションを設定しない場合は、「Edit Conflicted」機能を使用することができません。

Merge tool arguments

Merge Toolで使用するArgument値を入力します。

下記の項目は、3つのオプションのいずれかを選択することができます。

Commit added file

Commit saved file



Prompt for Commit:ユーザー確認後Commit実行

Commit Automatically:自動的にCommit実行

Do nothing:オプションを使用しない

「Executable file path」項目の右側に「?」ボタンをクリックすると、ギットクライアントのインストールに必要な情報を確認することができます。

ギットクライアントは2.13.0以降のバージョンをインストールする必要があります。

ギットクライアントのインストールに関連する案内は別途提供しません。インストール関連情報は、下記のリンクを参照してください。

https://git-scm.com/download/win

Merge tool arguments指定

[Edit Conflicted]コマンド時に使用するMerge Tool実行ファイルを指定した場合は、該当ツールに合ったarguments値を入力する必要があります。「Merge tool arguments」項目の右側に「?」ボタンをクリックすると、関連置換情報を表示します。

主に使用するMerge tool argumentsは下記のように入力することができます。

以下の内容は入力例として提供するのであり、当該ツールのバージョンによって異なる場合があります。

Merge tool

Arguments

WinMergeU.exe

$theirs$ $mine$ $merged$

TortoiseMerge.exe

/base:$base$ /their:$their$ /mine:$mine$ merged:$merged$

CodeMerge.exe

/tf=$theirs$ /mf=$mine$ /rf=$merged$ /bf=$base$

Meld.exe

$theirs$ $mine$ $merged$

p4Merge.exe

$base$ $theirs$ $mine$ $merged$

sgdm.exe

/t1="Mine" /t2="Base" /t3="Their" /r=$merged$ $mine$ $base$ $theirs$

kdiff3.exe

$base$ $mine$ $theirs$ -o $merged$ --L1 Base --L2 Mine --L3 Theirs

プロジェクト開始

ローカルリポジトリにプロジェクトを登録

ローカルリポジトリに管理されていないプロジェクトを開くと、登録有無を確認します。「Yes」ボタンをクリックすると、該当プロジェクトの「Init New Repository」コマンドを実行します。「No」ボタンをクリックしてもメニューの[Git>Init New Repository]を選択して、プロジェクトを登録することができます。

プロジェクトを登録すると、Gitローカルリポジトリが初期化(init)され、ファイルを追加(add)し、反映(commit)します。

リモートリポジトリにプロジェクトを登録

メニューの[Git>Set Remote Repository]を選択してリモートリポジトリの接続を設定することができます。Interact with generate pathオプションをTrueに設定した場合には、Generate Repositoryを指定することができます。

項目

説明

Remote Name

リモートリポジトリの別称を指定します。

デフォルト設定値は、「origin」です。

Remote URL

リモートリポジトリのパスを指定します。

Local、HTTP、SSH、Gitの4つのプロトコルを設定することができます。

Remote Branch Name

ローカル作業内容を発行するブランチを指定します。

デフォルト設定値は、「master」です。

リモートリポジトリからプロジェクトをダウンロード

メニューの[Git>Clone Repository]を選択すると、リモートリポジトリに登録されたプロジェクトをローカルにダウンロードして、プロジェクトを開始することができます。

項目

説明

Remote Repository

リモートリポジトリのパスを指定します。

Target Path

プロジェクトをダウンロードするローカルパスを指定します。

Open project after clone

Cloneコマンドを実行した後、プロジェクトファイル(xprj)がある場合は、プロジェクトを開くかどうかを設定します。

Cloneコマンドを実行した場合、Remote Repositoryに設定されたリモートリポジトリは、プロジェクトのリモートリポジトリに自動的に設定されます。

Target Pathディレクトリは空のディレクトリのみを使用することができます。ディレクトリ内にファイルや他のディレクトリがある場合には、Cloneコマンドを処理することができません。


モートリポジトリの登録情報を削除

メニューの[Git>Unset Remote Repository]を選択すると、ローカルリポジトリから追跡しているリモートリポジトリの情報を削除します。

変更項目処理

新しいファイルの追加、もしくは既存のファイルの編集

プロジェクトに新たに追加したファイルは、Project ExplorerもしくはResource Explorerウィンドウで、「unversioned」状態で表示されます。既存のファイルを編集した場合には、「modified」の状態で表示されます。Git Explorerで追加・変更されたファイルもしくは上位ディレクトリ情報のみを表示します。また、各ファイルの状態情報を確認することができます。

ローカルリポジトリに変更内容を反映

Project ExplorerもしくはResource Explorerウィンドウで変更されたファイルを反映するには、ファイルを選択して、コンテキストメニューの[Git>Commit]項目を選択します。Git Explorerウィンドウでは反映する対象ファイルを選択して、「Commit」ボタンをクリックすると、変更内容を反映することができます。

Commit Messageを作成しない場合はCommitできるボタンが有効になりません。メッセージ入力ウィンドウにCommit作業の説明を入力する必要があります。

リモートリポジトリに接続されている場合、Push after commit項目をチェックすると、Commit操作の後にリモートリポジトリのPush作業を進めます。該当項目のチェック時には、Gitに関する基本オプションも一緒に変更されます。

リモートリポジトリに変更内容を反映

リモートリポジトリに接続されている場合は、ローカルストレージにCommitした変更内容をPushコマンドで発行することができます。メニューの[Git>Push]もしくはGit Explorerウィンドウで「Push」ボタンをクリックします。

Git ExplorerウィンドウでCommit項目をダブルクリックするか、メニューの[Git>Push]ウィンドウを開くと、ファイルの変更内容を確認することができます。

衝突が発生したファイルの処理

他のユーザーと同じファイルを作業した場合には、衝突が発生することがあります。衝突が発生した場合、「unmerged」状態に表示されます。衝突が発生したファイルを直接開いてコードを変更することができます。Gitオプションで「Merge tool path」を登録した場合には、メニューの[Git>Edit Conflicted]項目を選択して、マージツールを実行してコードを変更することができます。

自動マージされる場合

ローカルリポジトリとリモートリポジトリのファイルが異なる場合には、ローカルリポジトリをCommitした後、Pushコマンドの実行時に下記のようなメッセージが表示されることがあります。このような場合には、先にPullコマンドを実行した後にPushコマンドを実行します。

Pullコマンドの実行時に自動マージが正常に処理される場合には、Git Outputウィンドウに該当情報を出力します。マージされたファイルが開いている場合には、ファイルをリロードします。

衝突が発生した場合

Pullコマンドの実行時に自動マージが処理されない場合には、下記のようなメッセージを出力して、ファイル内の衝突が発生した情報を表示します。

衝突が発生したファイルは、nexacro StudioのXMLエディタで開きます。「HEAD」の下にあるコードがPullコマンド実行前にLocal RepositoryにCommitされたコードです。「=======」の下にあるコードは、Remote Repositoryから取得したコードです。変更されたコードを確認して変更すると、衝突を解決することができます。

衝突が解決されると、Commit後Pushコマンドを実行します。

Merge toolを実行して衝突を解決

衝突が発生したコードが簡単な場合には、XMLエディタでも簡単に変更することができますが、衝突が発生したコードが複雑な場合には、外部Merge toolを使用して衝突を解決することができます。

Merge toolを使用している場合、ギットクライアントで一時ファイルを生成します。正常に衝突を解決して保存した場合には、一時ファイルを削除しますが、たまに削除できない場合があります。一時ファイルの制御はギットクライアントで処理しますので、nexacro Studioで強制的に一時ファイルを削除しません。必要な場合、該当フォルダ内の一時ファイルを直接削除する必要があります。


ブランチの生成・変更

メニュー[Git>Checkout Branch]を選択すると、ブランチを変更、もしくは新しいブランチを生成することができます。

新しいブランチを生成

既存のブランチリストにないブランチ名を入力すると、新しいブランチが生成されます。

ブランチの変更

ブランチリストから別のブランチを選択すると、ブランチを変更することができます。

ブランチの状態を確認

メニューの[Git>Show Project Log]もしくは[Git>Show File Log]で、Commitもしくはファイル単位でブランチの状態を確認することができます。

項目

説明

Commit

Commit SHA-1チェックサム情報

Message

Commitメッセージ

Author

作業者

Date

作業時間

Branch

Commit作業別のブランチ情報

黄:現在の作業ブランチ

緑:ローカルリポジトリブランチ

ピンク:リモートリポジトリブランチ

項目をダブルクリックするか、コンテキストメニューの[Show Commit]項目を選択すると、Commit情報ウィンドウを表示します。

作業ウィンドウ/ステータス情報

Git Output

Gitの機能の実行結果を表示するウィンドウです。実行中にエラーが発生した場合には、ハイライトカラーで表示されます。

Git Explorer

現在のプロジェクトで変更された内容を示して、必要な作業を処理することができます。Push領域とCommit領域の2つに区分することができます。Interact with generate pathオプションをTrueに設定した場合には、Project、Generateを区別する上部タブボタンが表示されます。

Push

リモートリポジトリが接続されている場合は、リモートリポジトリに発行されていないCommit項目を表示します。Pushボタンをクリックすると、リモートリポジトリで発行することがあります。

Commit

ローカルリポジトリからCommitできるリストを表示します。Commitメッセージを入力した後Commitボタンをクリックすると、ローカルリポジトリでCommitを実行します。

Project領域のGit Explorerで実行される動作は、Menuで実行するのと同様にGenerateパスの項目と関連して(Commitの実行時にGenerate項目もCommit実行)処理します。ただし、Project領域とGenerate領域の項目の状態が違って連携で処理できない場合、Generate領域のExplorerでGenerate領域の項目を制御することができます。Generate ExplorerはProject領域の項目と関連して処理されません。

Git Status

状態に応じてProject Explorer/Git Explorerにステータスアイコンが表示されます。

Gitはディレクトリが状態値を持っていないので、下位項目の状態値の優先順位に基づいてディレクトリにステータスアイコンが表示されます。上の画像でFrameBaseディレクトリは下位Form項目の状態値の優先順位に基づいてConflictedステータスアイコンを表示します。状態値の優先順位は下記の通りです。

Conflicted > Modified > Added > Unmodified > Unversioned

Project Explorerでプロジェクト名はxprjファイルとして管理されますが、最上位パスのディレクトリとして使用されいますので、下位項目の優先順位に基づいてステータスアイコンを表示します。