在unity開發過程當中,一般咱們習慣性地在Windows操做系統下使用svn進行版本管理,而每次提交更新,都須要回到文件夾下的這種操做讓人沒法忍受。是否是能夠集成svn到unity中呢?查了一圈unity store能夠看到不少svn的第三方插件。考慮到咱們只須要簡單的功能,並且不但願加入額外複雜的代碼,最後仍是本身寫一個插件。功能就是更新或者提交assets文件夾。svn
若是尚未svn對項目進行管理的,按照如下2步操做:spa
一、下載svn客戶端,安裝。操作系統
二、從svn版本庫checkout一個工程。
插件
具體svn操作這裏不作展開。code
查詢svn的文檔能夠知道svn提供各類命令符操做。所以,原理很是簡單,利用命令符操做調用svn便可。代碼也很是簡單:seo
更新:Process.Start("TortoiseProc.exe", "/command:update /path:" + Application.dataPath + " /closeonend:0");ci
提交:Process.Start("TortoiseProc.exe", "/command:commit /path:" + Application.dataPath + " /closeonend:0");開發
好,咱們寫一個cs文件以下:文檔
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
public
class
SvnOperater : MonoBehaviour
{
[MenuItem(
"SVN/Update"
)]
public
static
void
Update()
{
#if UNITY_STANDALONE_WIN||UNITY_EDITOR
Process.Start(
"TortoiseProc.exe"
,
"/command:update /path:"
+ Application.dataPath +
" /closeonend:0"
);
#endif
}
[MenuItem(
"SVN/Commit"
)]
public
static
void
Commit()
{
#if UNITY_STANDALONE_WIN||UNITY_EDITOR
Process.Start(
"TortoiseProc.exe"
,
"/command:commit /path:"
+ Application.dataPath +
" /closeonend:0"
);
#endif
}
}
|
好,注意文件名和類名相同,放在assets目錄下的任意一個Editor目錄下。回到unity,很快,上方的菜單裏就會出現「SVN」,二級菜單有「Update」和「Commit」,點擊一下,svn的界面就會出現了。it
愉快地使用吧。
以此類推,你能用開發集成不少svn的功能。